From 97d07e6efd1b85eb4354c0efd1ea9f9c07c33ae4 Mon Sep 17 00:00:00 2001 From: Maks Boiar Date: Mon, 28 Jul 2025 14:32:22 +0200 Subject: [PATCH 1/4] fix tests and cmake version --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 292478f..ae27ce7 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -71,8 +71,8 @@ int main(int argc, char* argv[]) { device.connect(); device.streamon(); - std::string gesture_detector_path = "/home/mbcious/copter-gesture/resources/models/resnet18.onnx"; - std::string face_detector_path = "/home/mbcious/copter-gesture/resources/models/haarcascade_frontalface_default.xml"; + std::string gesture_detector_path = "../resources/models/resnet18.onnx"; + std::string face_detector_path = "../resources/models/haarcascade_frontalface_default.xml"; Controller controller = Controller(&device, true, face_detector_path, gesture_detector_path); controller.run(100); From 7a814e6537b09b5322d1a018d29307bc709ce04e Mon Sep 17 00:00:00 2001 From: Maks Boiar Date: Thu, 31 Jul 2025 14:42:07 +0200 Subject: [PATCH 2/4] Added robot control prototype --- CMakeLists.txt | 62 +- include/controller.h | 11 +- include/device.h | 127 +- include/face_detection.h | 2 +- include/gesture_detection.h | 2 +- include/open62541.h | 51804 +++++++ include/robot.h | 4 + lib/spdlogd.lib | Bin 19340824 -> 0 bytes src/controller.cpp | 148 +- src/device.cpp | 18 +- src/face_detection.cpp | 7 +- src/gesture_detection.cpp | 26 +- src/main.cpp | 75 +- src/open62541.c | 272925 +++++++++++++++++++++++++++++++++ 14 files changed, 325084 insertions(+), 127 deletions(-) create mode 100644 include/open62541.h create mode 100644 include/robot.h delete mode 100755 lib/spdlogd.lib create mode 100644 src/open62541.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e3a795..76f3660 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.30) set(PROJECT_ID gesture_controller) PROJECT (${PROJECT_ID}) @@ -21,16 +21,28 @@ if ((DEFINED USE_ASAN) AND (USE_ASAN STREQUAL "ON")) endif(UNIX) endif() -find_package(spdlog REQUIRED) -find_package(OpenCV REQUIRED PATHS /usr/local/debug/) +# find_package(spdlog REQUIRED) +# find_package(OpenCV REQUIRED PATHS /usr/local/debug/) +if (CMAKE_BUILD_TYPE STREQUAL "Release") + set(OpenCV_DIR "C:/Users/boiar/opencv_build_release/install") + set(open62541_DIR "C:/Users/boiar/open62541/INSTALL_RELEASE/lib/cmake/open62541") +else() + set(OpenCV_DIR "C:/opencv_build_debug/install") + set(open62541_DIR "C:/Users/boiar/open62541/out/install/x64-Debug/lib/cmake/open62541") +endif() + +find_package(OpenCV REQUIRED) +find_package(open62541 REQUIRED) + set( MAIN_SRC src/main.cpp src/controller.cpp - src/device.cpp + src/device.cpp src/face_detection.cpp src/gesture_detection.cpp - src/detection.cpp) + src/detection.cpp +) set(MAIN_EXEC ${PROJECT_ID}__main) # cmrc_add_resource_library(models ALIAS models::rc NAMESPACE models @@ -45,35 +57,19 @@ set(MAIN_EXEC ${PROJECT_ID}__main) # resources/models/resnet18.onnx # ) +include(FetchContent) +FetchContent_Declare( + spdlog + GIT_REPOSITORY https://github.com/gabime/spdlog.git + GIT_TAG v1.12.0 +) +FetchContent_MakeAvailable(spdlog) + + add_executable( ${MAIN_EXEC} ${MAIN_SRC} ) -target_link_libraries(${MAIN_EXEC} PUBLIC ${OpenCV_LIBS} spdlog::spdlog) -target_compile_options(${MAIN_EXEC} PRIVATE -Werror -Wall -Wextra) -INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include ${OpenCV_INCLUDE_DIRS}) +# target_compile_options(${MAIN_EXEC} PRIVATE -Werror -Wall -Wextra) +INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include ${OpenCV_INCLUDE_DIRS} ${open62541_INCLUDE_DIRS}) link_directories( ${CMAKE_BINARY_DIR}/bin) +target_link_libraries(${MAIN_EXEC} PUBLIC ${OpenCV_LIBS} spdlog::spdlog open62541::open62541) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) -if ((DEFINED BUILD_TESTS) AND (BUILD_TESTS STREQUAL "ON")) - include(FetchContent) - FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip - ) - FetchContent_MakeAvailable(googletest) - enable_testing() - - set(SOURCES_FILES_TESTS - test/test_gesture_detection.cpp - test/test_face_detection.cpp - test/test_controller.cpp) - set( TEST_SRC - src/controller.cpp - src/device.cpp - src/face_detection.cpp - src/gesture_detection.cpp - src/detection.cpp) - set(EXEC_TEST ${PROJECT_ID}__test) - add_executable(${EXEC_TEST} ${TEST_SRC} ${SOURCES_FILES_TESTS} test/main_gtest.cpp) - target_link_libraries(${EXEC_TEST} PRIVATE GTest::gtest_main ${OpenCV_LIBS} spdlog::spdlog) - include(GoogleTest) - gtest_discover_tests(${EXEC_TEST}) -endif() \ No newline at end of file diff --git a/include/controller.h b/include/controller.h index 1040bbc..6238a03 100755 --- a/include/controller.h +++ b/include/controller.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "spdlog/spdlog.h" @@ -61,10 +62,10 @@ class Buffer { * Device controller based on gesture recognition. */ class Controller { - constexpr static size_t buffer_len_ = 5; + constexpr static size_t buffer_len_ = 2; constexpr static int speed_increment_[3] = { 10, 10, 10 }; constexpr static milliseconds WAIT_RC_CONTROL_ = milliseconds(500); - constexpr static milliseconds WAIT_BATTERY_ = milliseconds(4000); + constexpr static milliseconds WAIT_BATTERY_ = milliseconds(100); constexpr static milliseconds FACE_TIMEOUT_ = milliseconds(1000); constexpr static milliseconds GESTURE_TIMEOUT_ = milliseconds(1000); @@ -74,6 +75,10 @@ class Controller { GestureDetector gesture_detector_; Buffer buffer_; atomic battery_stat_ = -1; + atomic servoOk = false; + std::mutex modeMutex; + string modeText = ""; + atomic RobotPos[3] = { 0,0,0 }; TimePoint last_gesture_ = TimePoint(); TimePoint last_face_ = TimePoint(); bool stop_device_ = false; @@ -115,7 +120,7 @@ class Controller { dry_run_(dry_run), face_detector_(face_detector_path), gesture_detector_(gesture_detector_path), - buffer_(buffer_len_, GestureCount), + buffer_(buffer_len_, 19), name_(name) { logger_ = spdlog::get(name_); if (!logger_) { diff --git a/include/device.h b/include/device.h index 9e0783c..33055f2 100755 --- a/include/device.h +++ b/include/device.h @@ -19,6 +19,12 @@ #include "spdlog/spdlog.h" #include "spdlog/sinks/stdout_color_sinks.h" +extern "C" { +#include +#include + +} + using std::string; using std::vector; using AsyncLogger = std::shared_ptr; @@ -29,16 +35,17 @@ using velocity_vector_ms_t = vector; * List of command names for device control. */ enum Command { - NoGesture = 0, - Left, - Right, - Up, - Down, - Forward, - Back, - Stop, - Land, - GestureCount + Idle, + JogXUp, // dislike + JogXDown, // fist + JogYUp, // four + JogYDown, // like + ToolOn, // ? + JogZDown, // ok + Stop, // mute + JogZUp, // palm + ToolOff, + NoGesture = 18 }; /** @@ -48,35 +55,107 @@ class Device { AsyncLogger logger_; bool simulate_; static const char STREAM_URL_[]; + UA_Client* client; + cv::VideoCapture cap; public: - explicit Device(bool simulate = true) : simulate_(simulate) { + Device(bool simulate = true): simulate_(simulate) { string name("DEVICE"); logger_ = spdlog::get(name); if (!logger_) { logger_ = spdlog::stdout_color_mt(name); } - logger_->set_level(spdlog::level::info); + //logger_->set_level(spdlog::level::info); } int get_battery(); + template + T get_opc_value(char * key) { + UA_Variant value; + UA_Variant_init(&value); + //logger_->info("Reading {}", key); + auto status = UA_Client_readValueAttribute(client, UA_NODEID_STRING(6, key), &value); + //logger_->info("Read {}", key); + if (status == UA_STATUSCODE_GOOD /* && + UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + logger_->debug("Read: {}\n", key); + return *(T*)value.data; + } + else { + logger_->error("Unable to read value"); + } + return T{}; + } + template + void set_opc_value(char* key, T value, const UA_DataType* type) { + UA_Variant valueVar; + UA_Variant_setScalar(&valueVar, &value, type); + auto status = UA_Client_writeValueAttribute(client, UA_NODEID_STRING(6, key), &valueVar); + if (status == UA_STATUSCODE_GOOD /* && + UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + logger_->debug("Written: {}\n", key); + } + else { + logger_->error("Unable to read value"); + } + } + //template + //void set_opc_array(char* key, T& value, size_t size, const UA_DataType* type) { + // UA_Variant valueVar; + // UA_Variant_init(&variant); + // UA_Variant_setArray(&variant, value, size, type); + + // auto status = UA_Client_writeValueAttribute(client, UA_NODEID_STRING(6, key), &valueVar); + // if (status == UA_STATUSCODE_GOOD /* && + // UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + // logger_->debug("Written: {}={}\n", key, *(bool*)value.data); + // } + // else { + // logger_->error("Unable to read value"); + // } + //} + void send_rc_control(const velocity_vector_ms_t& velocity); void land(); - /** - * Capture video stream. - * - * @param camera_id id of the camera whose stream will be captured - */ + // /** + // * Capture video stream. + // * + // * @param camera_id id of the camera whose stream will be captured + // */ cv::VideoCapture get_video_stream(int camera_id); - /** - * Enable video streaming. - */ + // /** + // * Enable video streaming. + // */ void streamon(){}; - /** - * Connect to a device. - */ - void connect(){}; + // /** + // * Connect to a device. + // */ + int connect(const std::string& server_name){ + std::string opc_ua_server_name(server_name); // 192.168.137.1 + logger_->info("Connecting to OPC UA server { }", opc_ua_server_name); + + client = UA_Client_new(); + UA_ClientConfig_setDefault(UA_Client_getConfig(client)); + UA_StatusCode retval = UA_Client_connect(client, opc_ua_server_name.c_str()); + if (retval != UA_STATUSCODE_GOOD) { + logger_->info("Unable to connect"); + UA_Client_delete(client); + return (int)retval; + } + logger_->info("Connected"); + + get_video_stream(0); + + return 0; + }; + + void get_frame(cv::Mat* frame) { cap >> *frame; } + + ~Device() { + UA_Client_disconnect(client); + UA_Client_delete(client); + } }; #endif \ No newline at end of file diff --git a/include/face_detection.h b/include/face_detection.h index d5a746a..b2da95f 100755 --- a/include/face_detection.h +++ b/include/face_detection.h @@ -49,7 +49,7 @@ class FaceDetector { * @param detection * @param color */ - static void visualize(image_t* frame, const DetectionResult& detection, const color_t& color = cv::Scalar(0, 255, 255)); + static void visualize(image_t* frame, const DetectionResult& detection, const color_t& color = cv::Scalar(0, 0, 0)); }; #endif \ No newline at end of file diff --git a/include/gesture_detection.h b/include/gesture_detection.h index acda35e..add25cd 100755 --- a/include/gesture_detection.h +++ b/include/gesture_detection.h @@ -41,7 +41,7 @@ class GestureDetector { GestureDetector(const string& detector_path); static void visualize( image_t* image, const ClassifierOutput& classified_gesture, - const bounding_box_t& gesture_box, const color_t& color = cv::Scalar(0, 255, 255) + const bounding_box_t& gesture_box, const color_t& color = cv::Scalar(0, 0, 0) ); ClassifierOutput detect(const cv::Mat&); static bounding_box_t get_detection_area(const bounding_box_t& face_box, int img_width, int img_height, int w, int h); diff --git a/include/open62541.h b/include/open62541.h new file mode 100644 index 0000000..c2e6d6b --- /dev/null +++ b/include/open62541.h @@ -0,0 +1,51804 @@ +/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES + * visit http://open62541.org/ for information about this software + * Git-Revision: v1.4.12 + */ + +/* + * Copyright (C) 2014-2021 the contributors as stated in the AUTHORS file + * + * This file is part of open62541. open62541 is free software: you can + * redistribute it and/or modify it under the terms of the Mozilla Public + * License v2.0 as stated in the LICENSE file provided with open62541. + * + * open62541 is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. + */ + +#ifndef OPEN62541_H_ +#define OPEN62541_H_ + +/**** amalgamated original file "/build/src_generated/open62541/config.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +/** + * open62541 Version + * ----------------- */ +#define UA_OPEN62541_VER_MAJOR 1 +#define UA_OPEN62541_VER_MINOR 4 +#define UA_OPEN62541_VER_PATCH 12 +#define UA_OPEN62541_VER_LABEL "" /* Release candidate label, etc. */ +#define UA_OPEN62541_VER_COMMIT "v1.4.12" +#define UA_OPEN62541_VERSION "v1.4.12" + +/** + * Architecture + * ------------ + * Define one of the following. */ + +/* #undef UA_ARCHITECTURE_WIN32 */ +#define UA_ARCHITECTURE_POSIX + +/* Select default architecture if none is selected */ +#if !defined(UA_ARCHITECTURE_WIN32) && !defined(UA_ARCHITECTURE_POSIX) +# ifdef _WIN32 +# define UA_ARCHITECTURE_WIN32 +# else +# define UA_ARCHITECTURE_POSIX +# endif +#endif + +/** + * Feature Options + * --------------- + * Changing the feature options has no effect on a pre-compiled library. */ + +#define UA_LOGLEVEL 100 +#ifndef UA_ENABLE_AMALGAMATION +#define UA_ENABLE_AMALGAMATION +#endif +#define UA_ENABLE_METHODCALLS +#define UA_ENABLE_NODEMANAGEMENT +#define UA_ENABLE_SUBSCRIPTIONS +#define UA_ENABLE_PUBSUB +#define UA_ENABLE_PUBSUB_ENCRYPTION +/* #undef UA_ENABLE_PUBSUB_FILE_CONFIG */ +#define UA_ENABLE_PUBSUB_INFORMATIONMODEL +#define UA_ENABLE_DA +#define UA_ENABLE_DIAGNOSTICS +#define UA_ENABLE_HISTORIZING +#define UA_ENABLE_PARSING +#define UA_ENABLE_SUBSCRIPTIONS_EVENTS +#define UA_ENABLE_JSON_ENCODING +/* #undef UA_ENABLE_XML_ENCODING */ +/* #undef UA_ENABLE_MQTT */ +/* #undef UA_ENABLE_NODESET_INJECTOR */ +/* #undef UA_INFORMATION_MODEL_AUTOLOAD */ +#define UA_ENABLE_ENCRYPTION_MBEDTLS +/* #undef UA_ENABLE_CERT_REJECTED_DIR */ +/* #undef UA_ENABLE_TPM2_SECURITY */ +/* #undef UA_ENABLE_ENCRYPTION_OPENSSL */ +/* #undef UA_ENABLE_ENCRYPTION_LIBRESSL */ +#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) || defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) +#define UA_ENABLE_ENCRYPTION +#endif +/* #undef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ + +/* Multithreading */ +/* #undef UA_ENABLE_IMMUTABLE_NODES */ +#define UA_MULTITHREADING 100 + +/* Advanced Options */ +#define UA_ENABLE_STATUSCODE_DESCRIPTIONS +#define UA_ENABLE_TYPEDESCRIPTION +/* #undef UA_ENABLE_INLINABLE_EXPORT */ +#define UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +/* #undef UA_ENABLE_DETERMINISTIC_RNG */ +#define UA_ENABLE_DISCOVERY +/* #undef UA_ENABLE_DISCOVERY_MULTICAST */ +/* #undef UA_ENABLE_QUERY */ +/* #undef UA_ENABLE_MALLOC_SINGLETON */ +#define UA_ENABLE_DISCOVERY_SEMAPHORE +#define UA_GENERATED_NAMESPACE_ZERO +#define UA_GENERATED_NAMESPACE_ZERO_FULL +/* #undef UA_ENABLE_PUBSUB_MONITORING */ +/* #undef UA_ENABLE_PUBSUB_BUFMALLOC */ +/* #undef UA_ENABLE_PUBSUB_SKS */ + +/* Options for Debugging */ +/* #undef UA_DEBUG */ +/* #undef UA_DEBUG_DUMP_PKGS */ +/* #undef UA_DEBUG_FILE_LINE_INFO */ + +/* Options for Tests */ +/* #undef UA_ENABLE_ALLOW_REUSEADDR */ + +/** + * Function Export + * --------------- + * On Win32: Define ``UA_DYNAMIC_LINKING`` and ``UA_DYNAMIC_LINKING_EXPORT`` in + * order to export symbols for a DLL. Define ``UA_DYNAMIC_LINKING`` only to + * import symbols from a DLL.*/ +/* #undef UA_DYNAMIC_LINKING */ + +/* Shortcuts for extern "C" declarations */ +#if !defined(_UA_BEGIN_DECLS) +# ifdef __cplusplus +# define _UA_BEGIN_DECLS extern "C" { +# else +# define _UA_BEGIN_DECLS +# endif +#endif +#if !defined(_UA_END_DECLS) +# ifdef __cplusplus +# define _UA_END_DECLS } +# else +# define _UA_END_DECLS +# endif +#endif + + +/** + * QNX Flags + * ------------------- + * Defining _QNX_SOURCE will ensure proper qnx types and other features + * are available. */ +#if defined(__QNX__) +# define _QNX_SOURCE 1 +#endif + +/** + * POSIX Feature Flags + * ------------------- + * These feature flags have to be set before including the first POSIX + * header. + * + * Special note for FreeBSD: Defining _XOPEN_SOURCE will hide lots of socket + * definitions as they are not defined by POSIX. Defining _BSD_SOURCE will + * not help as the symbols undergo a consistency check and get adjusted in + * the headers. */ +#ifdef UA_ARCHITECTURE_POSIX +# if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) +# define _XOPEN_SOURCE 600 +# endif +# ifndef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE +# endif + +/* On older systems we need to define _BSD_SOURCE. + * _DEFAULT_SOURCE is an alias for that. */ +# ifndef _BSD_SOURCE +# define _BSD_SOURCE +# endif + +/* Define _GNU_SOURCE to get functions like poll. Comment this out to + * only use standard POSIX definitions. */ +# ifndef _GNU_SOURCE +# define _GNU_SOURCE +# endif + +#define UA_HAS_GETIFADDR 1 +#endif + +/** + * C99 Definitions + * --------------- */ +#include +#include +#include +#include +#include +#include + +/** + * Inline Functions + * ---------------- */ +#ifdef _MSC_VER +# define UA_INLINE __inline +#else +# define UA_INLINE inline +#endif + +/* An inlinable method is typically defined as "static inline". Some + * applications, such as language bindings with a C FFI (foreign function + * interface), can however not work with static inline methods. These can set + * the global UA_ENABLE_INLINABLE_EXPORT macro which causes all inlinable + * methods to be exported as a regular public API method. + * + * Note that UA_ENABLE_INLINABLE_EXPORT has a negative impact for both size and + * performance of the library. */ +#if defined(UA_ENABLE_INLINABLE_EXPORT) && defined(UA_INLINABLE_IMPL) +# define UA_INLINABLE(decl, impl) UA_EXPORT decl; decl impl +#elif defined(UA_ENABLE_INLINABLE_EXPORT) +# define UA_INLINABLE(decl, impl) UA_EXPORT decl; +#else +# define UA_INLINABLE(decl, impl) static UA_INLINE decl impl +#endif + +/** + * Thread-local variables + * ---------------------- */ +#if UA_MULTITHREADING >= 100 +# if defined(__GNUC__) /* Also covers clang */ +# define UA_THREAD_LOCAL __thread +# elif defined(_MSC_VER) +# define UA_THREAD_LOCAL __declspec(thread) +# endif +#endif +#ifndef UA_THREAD_LOCAL +# define UA_THREAD_LOCAL +#endif + +/** + * Atomic Operations + * ----------------- + * + * Atomic operations synchronize across processor cores and enable lockless + * multi-threading. */ + +/* Intrinsic atomic operations are not available everywhere for MSVC. + * Use the win32 API. Prevent duplicate definitions by via winsock2. */ +#if UA_MULTITHREADING >= 100 && defined(_WIN32) +# ifndef _WINSOCKAPI_ +# define _NO_WINSOCKAPI_ +# endif +# define _WINSOCKAPI_ +# include +# ifdef _NO_WINSOCKAPI_ +# undef _WINSOCKAPI_ +# endif +#endif + +static UA_INLINE void * +UA_atomic_xchg(void * volatile * addr, void *newptr) { +#if UA_MULTITHREADING >= 100 && defined(_WIN32) /* Visual Studio */ + return InterlockedExchangePointer(addr, newptr); +#elif UA_MULTITHREADING >= 100 && defined(__GNUC__) /* GCC/Clang */ + return __sync_lock_test_and_set(addr, newptr); +#else +# if UA_MULTITHREADING >= 100 +# warning Atomic operations not implemented +# endif + void *old = *addr; + *addr = newptr; + return old; +#endif +} + +static UA_INLINE void * +UA_atomic_cmpxchg(void * volatile * addr, void *expected, void *newptr) { +#if UA_MULTITHREADING >= 100 && defined(_WIN32) /* Visual Studio */ + return InterlockedCompareExchangePointer(addr, newptr, expected); +#elif UA_MULTITHREADING >= 100 && defined(__GNUC__) /* GCC/Clang */ + return __sync_val_compare_and_swap(addr, expected, newptr); +#else + void *old = *addr; + if(old == expected) + *addr = newptr; + return old; +#endif +} + +/** + * Memory Management + * ----------------- + * + * The flag ``UA_ENABLE_MALLOC_SINGLETON`` enables singleton (global) variables + * with method pointers for memory management (malloc et al.). The method + * pointers can be switched out at runtime. Use-cases for this are testing of + * constrained memory conditions and arena-based custom memory management. + * + * If the flag is undefined, then ``UA_malloc`` etc. are set to the default + * malloc, as defined in ``/arch//ua_architecture.h``. + */ + +#ifdef UA_ENABLE_MALLOC_SINGLETON +extern UA_THREAD_LOCAL void * (*UA_mallocSingleton)(size_t size); +extern UA_THREAD_LOCAL void (*UA_freeSingleton)(void *ptr); +extern UA_THREAD_LOCAL void * (*UA_callocSingleton)(size_t nelem, size_t elsize); +extern UA_THREAD_LOCAL void * (*UA_reallocSingleton)(void *ptr, size_t size); +# define UA_malloc(size) UA_mallocSingleton(size) +# define UA_free(ptr) UA_freeSingleton(ptr) +# define UA_calloc(num, size) UA_callocSingleton(num, size) +# define UA_realloc(ptr, size) UA_reallocSingleton(ptr, size) +#else +# include +# define UA_free free +# define UA_malloc malloc +# define UA_calloc calloc +# define UA_realloc realloc +#endif + +/* Stack-allocation of memory. Use C99 variable-length arrays if possible. + * Otherwise revert to alloca. Note that alloca is not supported on some + * plattforms. */ +#ifndef UA_STACKARRAY +# if defined(__GNUC__) || defined(__clang__) +# define UA_STACKARRAY(TYPE, NAME, SIZE) TYPE NAME[SIZE] +# else +# if defined(__GNUC__) || defined(__clang__) +# define UA_alloca(size) __builtin_alloca (size) +# elif defined(_WIN32) +# define UA_alloca(SIZE) _alloca(SIZE) +# else +# include +# define UA_alloca(SIZE) alloca(SIZE) +# endif +# define UA_STACKARRAY(TYPE, NAME, SIZE) \ + /* cppcheck-suppress allocaCalled */ \ + TYPE *(NAME) = (TYPE*)UA_alloca(sizeof(TYPE) * (SIZE)) +# endif +#endif + +/** + * Assertions + * ---------- + * The assert macro is disabled by defining NDEBUG. It is often forgotten to + * include -DNDEBUG in the compiler flags when using the single-file release. So + * we make assertions dependent on the UA_DEBUG definition handled by CMake. */ +#ifdef UA_DEBUG +# include +# define UA_assert(ignore) assert(ignore) +#else +# define UA_assert(ignore) do {} while(0) +#endif + +/* Outputs an error message at compile time if the assert fails. + * Example usage: + * UA_STATIC_ASSERT(sizeof(long)==7, use_another_compiler_luke) + * See: https://stackoverflow.com/a/4815532/869402 */ +#if defined(__cplusplus) && __cplusplus >= 201103L /* C++11 or above */ +# define UA_STATIC_ASSERT(cond,msg) static_assert(cond, #msg) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L /* C11 or above */ +# define UA_STATIC_ASSERT(cond,msg) _Static_assert(cond, #msg) +#elif defined(__GNUC__) || defined(__clang__) || defined(_MSC_VER) /* GCC, Clang, MSC */ +# define UA_CTASTR2(pre,post) pre ## post +# define UA_CTASTR(pre,post) UA_CTASTR2(pre,post) +# ifndef __COUNTER__ /* PPC GCC fix */ +# define __COUNTER__ __LINE__ +# endif +# define UA_STATIC_ASSERT(cond,msg) \ + typedef struct { \ + unsigned int UA_CTASTR(static_assertion_failed_,msg) : !!(cond); \ + } UA_CTASTR(static_assertion_failed_,__COUNTER__) +#else /* Everybody else */ +# define UA_STATIC_ASSERT(cond,msg) typedef char static_assertion_##msg[(cond)?1:-1] +#endif + +/** + * Locking for Multithreading + * -------------------------- + * If locking is enabled, the locks must be reentrant. That is, the same thread + * must be able to take the same lock several times. This is required because we + * sometimes call a user-defined callback when the server-lock is still held. + * The user-defined code then should be able to call (public) methods which + * again take the server-lock. */ + +#if UA_MULTITHREADING < 100 + +# define UA_LOCK_INIT(lock) +# define UA_LOCK_DESTROY(lock) +# define UA_LOCK(lock) +# define UA_UNLOCK(lock) +# define UA_LOCK_ASSERT(lock, num) + +#elif defined(UA_ARCHITECTURE_WIN32) + +typedef struct { + /* Critical sections on win32 are always recursive */ + CRITICAL_SECTION mutex; + int mutexCounter; +} UA_Lock; + +static UA_INLINE void +UA_LOCK_INIT(UA_Lock *lock) { + InitializeCriticalSection(&lock->mutex); + lock->mutexCounter = 0; +} + +static UA_INLINE void +UA_LOCK_DESTROY(UA_Lock *lock) { + DeleteCriticalSection(&lock->mutex); +} + +static UA_INLINE void +UA_LOCK(UA_Lock *lock) { + EnterCriticalSection(&lock->mutex); + ++lock->mutexCounter; +} + +static UA_INLINE void +UA_UNLOCK(UA_Lock *lock) { + --lock->mutexCounter; + LeaveCriticalSection(&lock->mutex); +} + +static UA_INLINE void +UA_LOCK_ASSERT(UA_Lock *lock, int num) { + UA_assert(num <= 0 || lock->mutexCounter > 0); +} + +#elif defined(UA_ARCHITECTURE_POSIX) + +#include + +typedef struct { + pthread_mutex_t mutex; + int mutexCounter; +} UA_Lock; + +static UA_INLINE void +UA_LOCK_INIT(UA_Lock *lock) { + pthread_mutexattr_t mattr; + pthread_mutexattr_init(&mattr); + pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&lock->mutex, &mattr); + pthread_mutexattr_destroy(&mattr); + lock->mutexCounter = 0; +} + +static UA_INLINE void +UA_LOCK_DESTROY(UA_Lock *lock) { + pthread_mutex_destroy(&lock->mutex); +} + +static UA_INLINE void +UA_LOCK(UA_Lock *lock) { + pthread_mutex_lock(&lock->mutex); + lock->mutexCounter++; +} + +static UA_INLINE void +UA_UNLOCK(UA_Lock *lock) { + lock->mutexCounter--; + pthread_mutex_unlock(&lock->mutex); +} + +static UA_INLINE void +UA_LOCK_ASSERT(UA_Lock *lock, int num) { + UA_assert(num <= 0 || lock->mutexCounter > 0); +} + +#endif + +/** + * Dynamic Linking + * --------------- + * Explicit attribute for functions to be exported in a shared library. */ +#if defined(_WIN32) && defined(UA_DYNAMIC_LINKING) +# ifdef UA_DYNAMIC_LINKING_EXPORT /* export dll */ +# ifdef __GNUC__ +# define UA_EXPORT __attribute__ ((dllexport)) +# else +# define UA_EXPORT __declspec(dllexport) +# endif +# else /* import dll */ +# ifdef __GNUC__ +# define UA_EXPORT __attribute__ ((dllimport)) +# else +# define UA_EXPORT __declspec(dllimport) +# endif +# endif +#else /* non win32 */ +# if __GNUC__ || __clang__ +# define UA_EXPORT __attribute__ ((visibility ("default"))) +# endif +#endif +#ifndef UA_EXPORT +# define UA_EXPORT /* fallback to default */ +#endif + +/** + * Threadsafe functions + * -------------------- + * Functions that can be called from independent threads are marked with + * the UA_THREADSAFE macro. This is currently only an information for the + * developer. It can be used in the future for instrumentation and static + * code analysis. */ +#define UA_THREADSAFE + +/** + * Non-aliasing pointers + * -------------------- */ +#ifdef _MSC_VER +# define UA_RESTRICT __restrict +#elif defined(__GNUC__) +# define UA_RESTRICT __restrict__ +#elif defined(__CODEGEARC__) +# define UA_RESTRICT _RESTRICT +#else +# define UA_RESTRICT restrict +#endif + +/** + * Likely/Unlikely Conditions + * -------------------------- + * Condition is likely/unlikely, to help branch prediction. */ +#if defined(__GNUC__) || defined(__clang__) +# define UA_LIKELY(x) __builtin_expect((x), 1) +# define UA_UNLIKELY(x) __builtin_expect((x), 0) +#else +# define UA_LIKELY(x) x +# define UA_UNLIKELY(x) x +#endif + +/** + * Function attributes + * ------------------- */ +#if defined(__GNUC__) || defined(__clang__) +# define UA_FUNC_ATTR_MALLOC __attribute__((malloc)) +# define UA_FUNC_ATTR_PURE __attribute__ ((pure)) +# define UA_FUNC_ATTR_CONST __attribute__((const)) +# define UA_FUNC_ATTR_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# define UA_FORMAT(X,Y) __attribute__ ((format (printf, X, Y))) +#elif defined(_MSC_VER) && _MSC_VER >= 1800 +# include +# define UA_FUNC_ATTR_MALLOC +# define UA_FUNC_ATTR_PURE +# define UA_FUNC_ATTR_CONST +# define UA_FUNC_ATTR_WARN_UNUSED_RESULT _Check_return_ +# define UA_FORMAT(X,Y) +#else +# define UA_FUNC_ATTR_MALLOC +# define UA_FUNC_ATTR_PURE +# define UA_FUNC_ATTR_CONST +# define UA_FUNC_ATTR_WARN_UNUSED_RESULT +# define UA_FORMAT(X,Y) +#endif + +#if defined(__GNUC__) || defined(__clang__) +# define UA_DEPRECATED __attribute__((deprecated)) +#elif defined(_MSC_VER) +# define UA_DEPRECATED __declspec(deprecated) +#else +# define UA_DEPRECATED +#endif + +/** + * Internal Attributes + * ------------------- + * These attributes are only defined if the macro UA_INTERNAL is defined. That + * way public methods can be annotated (e.g. to warn for unused results) but + * warnings are only triggered for internal code. */ + +#if defined(UA_INTERNAL) && (defined(__GNUC__) || defined(__clang__)) +# define UA_INTERNAL_DEPRECATED \ + _Pragma ("GCC warning \"Macro is deprecated for internal use\"") +#else +# define UA_INTERNAL_DEPRECATED +#endif + +#if defined(UA_INTERNAL) && (defined(__GNUC__) || defined(__clang__)) +# define UA_INTERNAL_FUNC_ATTR_WARN_UNUSED_RESULT \ + __attribute__((warn_unused_result)) +#else +# define UA_INTERNAL_FUNC_ATTR_WARN_UNUSED_RESULT +#endif + +/** + * Detect Endianness and IEEE 754 floating point + * --------------------------------------------- + * Integers and floating point numbers are transmitted in little-endian (IEEE + * 754 for floating point) encoding. If the target architecture uses the same + * format, numeral datatypes can be memcpy'd (overlayed) on the network buffer. + * Otherwise, a slow default encoding routine is used that works for every + * architecture. + * + * Integer Endianness + * ^^^^^^^^^^^^^^^^^^ + * The definition ``UA_LITTLE_ENDIAN`` is true when the integer representation + * of the target architecture is little-endian. */ +#if defined(_WIN32) +# define UA_LITTLE_ENDIAN 1 +#elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) +# define UA_LITTLE_ENDIAN 1 +#elif (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ + (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) +# define UA_LITTLE_ENDIAN 1 +#elif defined(__linux__) /* Linux (including Android) */ +# include +# if __BYTE_ORDER == __LITTLE_ENDIAN +# define UA_LITTLE_ENDIAN 1 +# endif +#elif defined(__OpenBSD__) /* OpenBSD */ +# include +# if BYTE_ORDER == LITTLE_ENDIAN +# define UA_LITTLE_ENDIAN 1 +# endif +#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) /* Other BSD */ +# include +# if _BYTE_ORDER == _LITTLE_ENDIAN +# define UA_LITTLE_ENDIAN 1 +# endif +#elif defined(__APPLE__) /* Apple (MacOS, iOS) */ +# include +# if defined(__LITTLE_ENDIAN__) +# define UA_LITTLE_ENDIAN 1 +# endif +#elif defined(__QNX__) || defined(__QNXNTO__) /* QNX */ +# include +# if defined(__LITTLEENDIAN__) +# define UA_LITTLE_ENDIAN 1 +# endif +#elif defined(_OS9000) /* OS-9 */ +# if defined(_LIL_END) +# define UA_LITTLE_ENDIAN 1 +# endif +#endif +#ifndef UA_LITTLE_ENDIAN +# define UA_LITTLE_ENDIAN 0 +#endif + +/* Can the integers be memcpy'd onto the network buffer? Add additional checks + * here. Some platforms (e.g. QNX) have sizeof(bool) > 1. Manually disable + * overlayed integer encoding if that is the case. */ +#if (UA_LITTLE_ENDIAN == 1) +UA_STATIC_ASSERT(sizeof(bool) == 1, cannot_overlay_integers_with_large_bool); +# define UA_BINARY_OVERLAYABLE_INTEGER 1 +#else +# define UA_BINARY_OVERLAYABLE_INTEGER 0 +#endif + +/** + * Float Endianness + * ^^^^^^^^^^^^^^^^ + * The definition ``UA_FLOAT_IEEE754`` is set to true when the floating point + * number representation of the target architecture is IEEE 754. The definition + * ``UA_FLOAT_LITTLE_ENDIAN`` is set to true when the floating point number + * representation is in little-endian encoding. */ + +#ifndef UA_FLOAT_IEEE754 +#if defined(_WIN32) +# define UA_FLOAT_IEEE754 1 +#elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) || \ + defined(__ia64__) || defined(__powerpc__) || defined(__sparc__) || \ + defined(__arm__) +# define UA_FLOAT_IEEE754 1 +#elif defined(__STDC_IEC_559__) +# define UA_FLOAT_IEEE754 1 +#elif defined(ESP_PLATFORM) +# define UA_FLOAT_IEEE754 1 +#else +# define UA_FLOAT_IEEE754 0 +#endif +#endif + +/* Wikipedia says (https://en.wikipedia.org/wiki/Endianness): Although the + * ubiquitous x86 processors of today use little-endian storage for all types of + * data (integer, floating point, BCD), there are a number of hardware + * architectures where floating-point numbers are represented in big-endian form + * while integers are represented in little-endian form. */ +#if defined(_WIN32) +# define UA_FLOAT_LITTLE_ENDIAN 1 +#elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) +# define UA_FLOAT_LITTLE_ENDIAN 1 +#elif defined(__FLOAT_WORD_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ + (__FLOAT_WORD_ORDER__ == __ORDER_LITTLE_ENDIAN__) /* Defined only in GCC */ +# define UA_FLOAT_LITTLE_ENDIAN 1 +#elif defined(__FLOAT_WORD_ORDER) && defined(__LITTLE_ENDIAN) && \ + (__FLOAT_WORD_ORDER == __LITTLE_ENDIAN) /* Defined only in GCC */ +# define UA_FLOAT_LITTLE_ENDIAN 1 +#endif +#ifndef UA_FLOAT_LITTLE_ENDIAN +# define UA_FLOAT_LITTLE_ENDIAN 0 +#endif + +/* Only if the floating points are litle-endian **and** in IEEE 754 format can + * we memcpy directly onto the network buffer. */ +#if (UA_FLOAT_IEEE754 == 1) && (UA_FLOAT_LITTLE_ENDIAN == 1) +# define UA_BINARY_OVERLAYABLE_FLOAT 1 +#else +# define UA_BINARY_OVERLAYABLE_FLOAT 0 +#endif + + +/**** amalgamated original file "/build/src_generated/open62541/statuscodes.h" ****/ + +/** .. _statuscodes: + * + * StatusCodes + * =========== + * + * StatusCodes are extensively used in the OPC UA protocol and in the open62541 + * API. They are represented by the :ref:`statuscode` data type. The following + * definitions are autogenerated from the ``Opc.Ua.StatusCodes.csv`` file provided + * with the OPC UA standard. */ + +/* These StatusCodes are manually generated. */ +#define UA_STATUSCODE_INFOTYPE_DATAVALUE 0x00000400 +#define UA_STATUSCODE_INFOBITS_OVERFLOW 0x00000080 + +/* The operation succeeded. */ +#define UA_STATUSCODE_GOOD 0x00000000 + +/* The operation was uncertain. */ +#define UA_STATUSCODE_UNCERTAIN 0x40000000 + +/* The operation failed. */ +#define UA_STATUSCODE_BAD 0x80000000 + +/* An unexpected error occurred. */ +#define UA_STATUSCODE_BADUNEXPECTEDERROR 0x80010000 + +/* An internal error occurred as a result of a programming or configuration error. */ +#define UA_STATUSCODE_BADINTERNALERROR 0x80020000 + +/* Not enough memory to complete the operation. */ +#define UA_STATUSCODE_BADOUTOFMEMORY 0x80030000 + +/* An operating system resource is not available. */ +#define UA_STATUSCODE_BADRESOURCEUNAVAILABLE 0x80040000 + +/* A low level communication error occurred. */ +#define UA_STATUSCODE_BADCOMMUNICATIONERROR 0x80050000 + +/* Encoding halted because of invalid data in the objects being serialized. */ +#define UA_STATUSCODE_BADENCODINGERROR 0x80060000 + +/* Decoding halted because of invalid data in the stream. */ +#define UA_STATUSCODE_BADDECODINGERROR 0x80070000 + +/* The message encoding/decoding limits imposed by the stack have been exceeded. */ +#define UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED 0x80080000 + +/* The request message size exceeds limits set by the server. */ +#define UA_STATUSCODE_BADREQUESTTOOLARGE 0x80B80000 + +/* The response message size exceeds limits set by the client. */ +#define UA_STATUSCODE_BADRESPONSETOOLARGE 0x80B90000 + +/* An unrecognized response was received from the server. */ +#define UA_STATUSCODE_BADUNKNOWNRESPONSE 0x80090000 + +/* The operation timed out. */ +#define UA_STATUSCODE_BADTIMEOUT 0x800A0000 + +/* The server does not support the requested service. */ +#define UA_STATUSCODE_BADSERVICEUNSUPPORTED 0x800B0000 + +/* The operation was cancelled because the application is shutting down. */ +#define UA_STATUSCODE_BADSHUTDOWN 0x800C0000 + +/* The operation could not complete because the client is not connected to the server. */ +#define UA_STATUSCODE_BADSERVERNOTCONNECTED 0x800D0000 + +/* The server has stopped and cannot process any requests. */ +#define UA_STATUSCODE_BADSERVERHALTED 0x800E0000 + +/* No processing could be done because there was nothing to do. */ +#define UA_STATUSCODE_BADNOTHINGTODO 0x800F0000 + +/* The request could not be processed because it specified too many operations. */ +#define UA_STATUSCODE_BADTOOMANYOPERATIONS 0x80100000 + +/* The request could not be processed because there are too many monitored items in the subscription. */ +#define UA_STATUSCODE_BADTOOMANYMONITOREDITEMS 0x80DB0000 + +/* The extension object cannot be (de)serialized because the data type id is not recognized. */ +#define UA_STATUSCODE_BADDATATYPEIDUNKNOWN 0x80110000 + +/* The certificate provided as a parameter is not valid. */ +#define UA_STATUSCODE_BADCERTIFICATEINVALID 0x80120000 + +/* An error occurred verifying security. */ +#define UA_STATUSCODE_BADSECURITYCHECKSFAILED 0x80130000 + +/* The certificate does not meet the requirements of the security policy. */ +#define UA_STATUSCODE_BADCERTIFICATEPOLICYCHECKFAILED 0x81140000 + +/* The certificate has expired or is not yet valid. */ +#define UA_STATUSCODE_BADCERTIFICATETIMEINVALID 0x80140000 + +/* An issuer certificate has expired or is not yet valid. */ +#define UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID 0x80150000 + +/* The HostName used to connect to a server does not match a HostName in the certificate. */ +#define UA_STATUSCODE_BADCERTIFICATEHOSTNAMEINVALID 0x80160000 + +/* The URI specified in the ApplicationDescription does not match the URI in the certificate. */ +#define UA_STATUSCODE_BADCERTIFICATEURIINVALID 0x80170000 + +/* The certificate may not be used for the requested operation. */ +#define UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED 0x80180000 + +/* The issuer certificate may not be used for the requested operation. */ +#define UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED 0x80190000 + +/* The certificate is not trusted. */ +#define UA_STATUSCODE_BADCERTIFICATEUNTRUSTED 0x801A0000 + +/* It was not possible to determine if the certificate has been revoked. */ +#define UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN 0x801B0000 + +/* It was not possible to determine if the issuer certificate has been revoked. */ +#define UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN 0x801C0000 + +/* The certificate has been revoked. */ +#define UA_STATUSCODE_BADCERTIFICATEREVOKED 0x801D0000 + +/* The issuer certificate has been revoked. */ +#define UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED 0x801E0000 + +/* The certificate chain is incomplete. */ +#define UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE 0x810D0000 + +/* User does not have permission to perform the requested operation. */ +#define UA_STATUSCODE_BADUSERACCESSDENIED 0x801F0000 + +/* The user identity token is not valid. */ +#define UA_STATUSCODE_BADIDENTITYTOKENINVALID 0x80200000 + +/* The user identity token is valid but the server has rejected it. */ +#define UA_STATUSCODE_BADIDENTITYTOKENREJECTED 0x80210000 + +/* The specified secure channel is no longer valid. */ +#define UA_STATUSCODE_BADSECURECHANNELIDINVALID 0x80220000 + +/* The timestamp is outside the range allowed by the server. */ +#define UA_STATUSCODE_BADINVALIDTIMESTAMP 0x80230000 + +/* The nonce does appear to be not a random value or it is not the correct length. */ +#define UA_STATUSCODE_BADNONCEINVALID 0x80240000 + +/* The session id is not valid. */ +#define UA_STATUSCODE_BADSESSIONIDINVALID 0x80250000 + +/* The session was closed by the client. */ +#define UA_STATUSCODE_BADSESSIONCLOSED 0x80260000 + +/* The session cannot be used because ActivateSession has not been called. */ +#define UA_STATUSCODE_BADSESSIONNOTACTIVATED 0x80270000 + +/* The subscription id is not valid. */ +#define UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID 0x80280000 + +/* The header for the request is missing or invalid. */ +#define UA_STATUSCODE_BADREQUESTHEADERINVALID 0x802A0000 + +/* The timestamps to return parameter is invalid. */ +#define UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID 0x802B0000 + +/* The request was cancelled by the client. */ +#define UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT 0x802C0000 + +/* Too many arguments were provided. */ +#define UA_STATUSCODE_BADTOOMANYARGUMENTS 0x80E50000 + +/* The server requires a license to operate in general or to perform a service or operatio */ +#define UA_STATUSCODE_BADLICENSEEXPIRED 0x810E0000 + +/* The server has limits on number of allowed operations / object */ +#define UA_STATUSCODE_BADLICENSELIMITSEXCEEDED 0x810F0000 + +/* The server does not have a license which is required to operate in general or to perform a service or operation. */ +#define UA_STATUSCODE_BADLICENSENOTAVAILABLE 0x81100000 + +/* The subscription was transferred to another session. */ +#define UA_STATUSCODE_GOODSUBSCRIPTIONTRANSFERRED 0x002D0000 + +/* The processing will complete asynchronously. */ +#define UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY 0x002E0000 + +/* Sampling has slowed down due to resource limitations. */ +#define UA_STATUSCODE_GOODOVERLOAD 0x002F0000 + +/* The value written was accepted but was clamped. */ +#define UA_STATUSCODE_GOODCLAMPED 0x00300000 + +/* Communication with the data source is define */ +#define UA_STATUSCODE_BADNOCOMMUNICATION 0x80310000 + +/* Waiting for the server to obtain values from the underlying data source. */ +#define UA_STATUSCODE_BADWAITINGFORINITIALDATA 0x80320000 + +/* The syntax of the node id is not valid. */ +#define UA_STATUSCODE_BADNODEIDINVALID 0x80330000 + +/* The node id refers to a node that does not exist in the server address space. */ +#define UA_STATUSCODE_BADNODEIDUNKNOWN 0x80340000 + +/* The attribute is not supported for the specified Node. */ +#define UA_STATUSCODE_BADATTRIBUTEIDINVALID 0x80350000 + +/* The syntax of the index range parameter is invalid. */ +#define UA_STATUSCODE_BADINDEXRANGEINVALID 0x80360000 + +/* No data exists within the range of indexes specified. */ +#define UA_STATUSCODE_BADINDEXRANGENODATA 0x80370000 + +/* The data encoding is invalid. */ +#define UA_STATUSCODE_BADDATAENCODINGINVALID 0x80380000 + +/* The server does not support the requested data encoding for the node. */ +#define UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED 0x80390000 + +/* The access level does not allow reading or subscribing to the Node. */ +#define UA_STATUSCODE_BADNOTREADABLE 0x803A0000 + +/* The access level does not allow writing to the Node. */ +#define UA_STATUSCODE_BADNOTWRITABLE 0x803B0000 + +/* The value was out of range. */ +#define UA_STATUSCODE_BADOUTOFRANGE 0x803C0000 + +/* The requested operation is not supported. */ +#define UA_STATUSCODE_BADNOTSUPPORTED 0x803D0000 + +/* A requested item was not found or a search operation ended without success. */ +#define UA_STATUSCODE_BADNOTFOUND 0x803E0000 + +/* The object cannot be used because it has been deleted. */ +#define UA_STATUSCODE_BADOBJECTDELETED 0x803F0000 + +/* Requested operation is not implemented. */ +#define UA_STATUSCODE_BADNOTIMPLEMENTED 0x80400000 + +/* The monitoring mode is invalid. */ +#define UA_STATUSCODE_BADMONITORINGMODEINVALID 0x80410000 + +/* The monitoring item id does not refer to a valid monitored item. */ +#define UA_STATUSCODE_BADMONITOREDITEMIDINVALID 0x80420000 + +/* The monitored item filter parameter is not valid. */ +#define UA_STATUSCODE_BADMONITOREDITEMFILTERINVALID 0x80430000 + +/* The server does not support the requested monitored item filter. */ +#define UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED 0x80440000 + +/* A monitoring filter cannot be used in combination with the attribute specified. */ +#define UA_STATUSCODE_BADFILTERNOTALLOWED 0x80450000 + +/* A mandatory structured parameter was missing or null. */ +#define UA_STATUSCODE_BADSTRUCTUREMISSING 0x80460000 + +/* The event filter is not valid. */ +#define UA_STATUSCODE_BADEVENTFILTERINVALID 0x80470000 + +/* The content filter is not valid. */ +#define UA_STATUSCODE_BADCONTENTFILTERINVALID 0x80480000 + +/* An unrecognized operator was provided in a filter. */ +#define UA_STATUSCODE_BADFILTEROPERATORINVALID 0x80C10000 + +/* A valid operator was provide */ +#define UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED 0x80C20000 + +/* The number of operands provided for the filter operator was less then expected for the operand provided. */ +#define UA_STATUSCODE_BADFILTEROPERANDCOUNTMISMATCH 0x80C30000 + +/* The operand used in a content filter is not valid. */ +#define UA_STATUSCODE_BADFILTEROPERANDINVALID 0x80490000 + +/* The referenced element is not a valid element in the content filter. */ +#define UA_STATUSCODE_BADFILTERELEMENTINVALID 0x80C40000 + +/* The referenced literal is not a valid value. */ +#define UA_STATUSCODE_BADFILTERLITERALINVALID 0x80C50000 + +/* The continuation point provide is longer valid. */ +#define UA_STATUSCODE_BADCONTINUATIONPOINTINVALID 0x804A0000 + +/* The operation could not be processed because all continuation points have been allocated. */ +#define UA_STATUSCODE_BADNOCONTINUATIONPOINTS 0x804B0000 + +/* The reference type id does not refer to a valid reference type node. */ +#define UA_STATUSCODE_BADREFERENCETYPEIDINVALID 0x804C0000 + +/* The browse direction is not valid. */ +#define UA_STATUSCODE_BADBROWSEDIRECTIONINVALID 0x804D0000 + +/* The node is not part of the view. */ +#define UA_STATUSCODE_BADNODENOTINVIEW 0x804E0000 + +/* The number was not accepted because of a numeric overflow. */ +#define UA_STATUSCODE_BADNUMERICOVERFLOW 0x81120000 + +/* The ServerUri is not a valid URI. */ +#define UA_STATUSCODE_BADSERVERURIINVALID 0x804F0000 + +/* No ServerName was specified. */ +#define UA_STATUSCODE_BADSERVERNAMEMISSING 0x80500000 + +/* No DiscoveryUrl was specified. */ +#define UA_STATUSCODE_BADDISCOVERYURLMISSING 0x80510000 + +/* The semaphore file specified by the client is not valid. */ +#define UA_STATUSCODE_BADSEMPAHOREFILEMISSING 0x80520000 + +/* The security token request type is not valid. */ +#define UA_STATUSCODE_BADREQUESTTYPEINVALID 0x80530000 + +/* The security mode does not meet the requirements set by the server. */ +#define UA_STATUSCODE_BADSECURITYMODEREJECTED 0x80540000 + +/* The security policy does not meet the requirements set by the server. */ +#define UA_STATUSCODE_BADSECURITYPOLICYREJECTED 0x80550000 + +/* The server has reached its maximum number of sessions. */ +#define UA_STATUSCODE_BADTOOMANYSESSIONS 0x80560000 + +/* The user token signature is missing or invalid. */ +#define UA_STATUSCODE_BADUSERSIGNATUREINVALID 0x80570000 + +/* The signature generated with the client certificate is missing or invalid. */ +#define UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID 0x80580000 + +/* The client did not provide at least one software certificate that is valid and meets the profile requirements for the server. */ +#define UA_STATUSCODE_BADNOVALIDCERTIFICATES 0x80590000 + +/* The server does not support changing the user identity assigned to the session. */ +#define UA_STATUSCODE_BADIDENTITYCHANGENOTSUPPORTED 0x80C60000 + +/* The request was cancelled by the client with the Cancel service. */ +#define UA_STATUSCODE_BADREQUESTCANCELLEDBYREQUEST 0x805A0000 + +/* The parent node id does not to refer to a valid node. */ +#define UA_STATUSCODE_BADPARENTNODEIDINVALID 0x805B0000 + +/* The reference could not be created because it violates constraints imposed by the data model. */ +#define UA_STATUSCODE_BADREFERENCENOTALLOWED 0x805C0000 + +/* The requested node id was reject because it was either invalid or server does not allow node ids to be specified by the client. */ +#define UA_STATUSCODE_BADNODEIDREJECTED 0x805D0000 + +/* The requested node id is already used by another node. */ +#define UA_STATUSCODE_BADNODEIDEXISTS 0x805E0000 + +/* The node class is not valid. */ +#define UA_STATUSCODE_BADNODECLASSINVALID 0x805F0000 + +/* The browse name is invalid. */ +#define UA_STATUSCODE_BADBROWSENAMEINVALID 0x80600000 + +/* The browse name is not unique among nodes that share the same relationship with the parent. */ +#define UA_STATUSCODE_BADBROWSENAMEDUPLICATED 0x80610000 + +/* The node attributes are not valid for the node class. */ +#define UA_STATUSCODE_BADNODEATTRIBUTESINVALID 0x80620000 + +/* The type definition node id does not reference an appropriate type node. */ +#define UA_STATUSCODE_BADTYPEDEFINITIONINVALID 0x80630000 + +/* The source node id does not reference a valid node. */ +#define UA_STATUSCODE_BADSOURCENODEIDINVALID 0x80640000 + +/* The target node id does not reference a valid node. */ +#define UA_STATUSCODE_BADTARGETNODEIDINVALID 0x80650000 + +/* The reference type between the nodes is already defined. */ +#define UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED 0x80660000 + +/* The server does not allow this type of self reference on this node. */ +#define UA_STATUSCODE_BADINVALIDSELFREFERENCE 0x80670000 + +/* The reference type is not valid for a reference to a remote server. */ +#define UA_STATUSCODE_BADREFERENCELOCALONLY 0x80680000 + +/* The server will not allow the node to be deleted. */ +#define UA_STATUSCODE_BADNODELETERIGHTS 0x80690000 + +/* The server was not able to delete all target references. */ +#define UA_STATUSCODE_UNCERTAINREFERENCENOTDELETED 0x40BC0000 + +/* The server index is not valid. */ +#define UA_STATUSCODE_BADSERVERINDEXINVALID 0x806A0000 + +/* The view id does not refer to a valid view node. */ +#define UA_STATUSCODE_BADVIEWIDUNKNOWN 0x806B0000 + +/* The view timestamp is not available or not supported. */ +#define UA_STATUSCODE_BADVIEWTIMESTAMPINVALID 0x80C90000 + +/* The view parameters are not consistent with each other. */ +#define UA_STATUSCODE_BADVIEWPARAMETERMISMATCH 0x80CA0000 + +/* The view version is not available or not supported. */ +#define UA_STATUSCODE_BADVIEWVERSIONINVALID 0x80CB0000 + +/* The list of references may not be complete because the underlying system is not available. */ +#define UA_STATUSCODE_UNCERTAINNOTALLNODESAVAILABLE 0x40C00000 + +/* The server should have followed a reference to a node in a remote server but did not. The result set may be incomplete. */ +#define UA_STATUSCODE_GOODRESULTSMAYBEINCOMPLETE 0x00BA0000 + +/* The provided Nodeid was not a type definition nodeid. */ +#define UA_STATUSCODE_BADNOTTYPEDEFINITION 0x80C80000 + +/* One of the references to follow in the relative path references to a node in the address space in another server. */ +#define UA_STATUSCODE_UNCERTAINREFERENCEOUTOFSERVER 0x406C0000 + +/* The requested operation has too many matches to return. */ +#define UA_STATUSCODE_BADTOOMANYMATCHES 0x806D0000 + +/* The requested operation requires too many resources in the server. */ +#define UA_STATUSCODE_BADQUERYTOOCOMPLEX 0x806E0000 + +/* The requested operation has no match to return. */ +#define UA_STATUSCODE_BADNOMATCH 0x806F0000 + +/* The max age parameter is invalid. */ +#define UA_STATUSCODE_BADMAXAGEINVALID 0x80700000 + +/* The operation is not permitted over the current secure channel. */ +#define UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT 0x80E60000 + +/* The history details parameter is not valid. */ +#define UA_STATUSCODE_BADHISTORYOPERATIONINVALID 0x80710000 + +/* The server does not support the requested operation. */ +#define UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED 0x80720000 + +/* The defined timestamp to return was invalid. */ +#define UA_STATUSCODE_BADINVALIDTIMESTAMPARGUMENT 0x80BD0000 + +/* The server does not support writing the combination of valu */ +#define UA_STATUSCODE_BADWRITENOTSUPPORTED 0x80730000 + +/* The value supplied for the attribute is not of the same type as the attribute's value. */ +#define UA_STATUSCODE_BADTYPEMISMATCH 0x80740000 + +/* The method id does not refer to a method for the specified object. */ +#define UA_STATUSCODE_BADMETHODINVALID 0x80750000 + +/* The client did not specify all of the input arguments for the method. */ +#define UA_STATUSCODE_BADARGUMENTSMISSING 0x80760000 + +/* The executable attribute does not allow the execution of the method. */ +#define UA_STATUSCODE_BADNOTEXECUTABLE 0x81110000 + +/* The server has reached its maximum number of subscriptions. */ +#define UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS 0x80770000 + +/* The server has reached the maximum number of queued publish requests. */ +#define UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS 0x80780000 + +/* There is no subscription available for this session. */ +#define UA_STATUSCODE_BADNOSUBSCRIPTION 0x80790000 + +/* The sequence number is unknown to the server. */ +#define UA_STATUSCODE_BADSEQUENCENUMBERUNKNOWN 0x807A0000 + +/* The Server does not support retransmission queue and acknowledgement of sequence numbers is not available. */ +#define UA_STATUSCODE_GOODRETRANSMISSIONQUEUENOTSUPPORTED 0x00DF0000 + +/* The requested notification message is no longer available. */ +#define UA_STATUSCODE_BADMESSAGENOTAVAILABLE 0x807B0000 + +/* The client of the current session does not support one or more Profiles that are necessary for the subscription. */ +#define UA_STATUSCODE_BADINSUFFICIENTCLIENTPROFILE 0x807C0000 + +/* The sub-state machine is not currently active. */ +#define UA_STATUSCODE_BADSTATENOTACTIVE 0x80BF0000 + +/* An equivalent rule already exists. */ +#define UA_STATUSCODE_BADALREADYEXISTS 0x81150000 + +/* The server cannot process the request because it is too busy. */ +#define UA_STATUSCODE_BADTCPSERVERTOOBUSY 0x807D0000 + +/* The type of the message specified in the header invalid. */ +#define UA_STATUSCODE_BADTCPMESSAGETYPEINVALID 0x807E0000 + +/* The SecureChannelId and/or TokenId are not currently in use. */ +#define UA_STATUSCODE_BADTCPSECURECHANNELUNKNOWN 0x807F0000 + +/* The size of the message chunk specified in the header is too large. */ +#define UA_STATUSCODE_BADTCPMESSAGETOOLARGE 0x80800000 + +/* There are not enough resources to process the request. */ +#define UA_STATUSCODE_BADTCPNOTENOUGHRESOURCES 0x80810000 + +/* An internal error occurred. */ +#define UA_STATUSCODE_BADTCPINTERNALERROR 0x80820000 + +/* The server does not recognize the QueryString specified. */ +#define UA_STATUSCODE_BADTCPENDPOINTURLINVALID 0x80830000 + +/* The request could not be sent because of a network interruption. */ +#define UA_STATUSCODE_BADREQUESTINTERRUPTED 0x80840000 + +/* Timeout occurred while processing the request. */ +#define UA_STATUSCODE_BADREQUESTTIMEOUT 0x80850000 + +/* The secure channel has been closed. */ +#define UA_STATUSCODE_BADSECURECHANNELCLOSED 0x80860000 + +/* The token has expired or is not recognized. */ +#define UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN 0x80870000 + +/* The sequence number is not valid. */ +#define UA_STATUSCODE_BADSEQUENCENUMBERINVALID 0x80880000 + +/* The applications do not have compatible protocol versions. */ +#define UA_STATUSCODE_BADPROTOCOLVERSIONUNSUPPORTED 0x80BE0000 + +/* There is a problem with the configuration that affects the usefulness of the value. */ +#define UA_STATUSCODE_BADCONFIGURATIONERROR 0x80890000 + +/* The variable should receive its value from another variabl */ +#define UA_STATUSCODE_BADNOTCONNECTED 0x808A0000 + +/* There has been a failure in the device/data source that generates the value that has affected the value. */ +#define UA_STATUSCODE_BADDEVICEFAILURE 0x808B0000 + +/* There has been a failure in the sensor from which the value is derived by the device/data source. */ +#define UA_STATUSCODE_BADSENSORFAILURE 0x808C0000 + +/* The source of the data is not operational. */ +#define UA_STATUSCODE_BADOUTOFSERVICE 0x808D0000 + +/* The deadband filter is not valid. */ +#define UA_STATUSCODE_BADDEADBANDFILTERINVALID 0x808E0000 + +/* Communication to the data source has failed. The variable value is the last value that had a good quality. */ +#define UA_STATUSCODE_UNCERTAINNOCOMMUNICATIONLASTUSABLEVALUE 0x408F0000 + +/* Whatever was updating this value has stopped doing so. */ +#define UA_STATUSCODE_UNCERTAINLASTUSABLEVALUE 0x40900000 + +/* The value is an operational value that was manually overwritten. */ +#define UA_STATUSCODE_UNCERTAINSUBSTITUTEVALUE 0x40910000 + +/* The value is an initial value for a variable that normally receives its value from another variable. */ +#define UA_STATUSCODE_UNCERTAININITIALVALUE 0x40920000 + +/* The value is at one of the sensor limits. */ +#define UA_STATUSCODE_UNCERTAINSENSORNOTACCURATE 0x40930000 + +/* The value is outside of the range of values defined for this parameter. */ +#define UA_STATUSCODE_UNCERTAINENGINEERINGUNITSEXCEEDED 0x40940000 + +/* The value is derived from multiple sources and has less than the required number of Good sources. */ +#define UA_STATUSCODE_UNCERTAINSUBNORMAL 0x40950000 + +/* The value has been overridden. */ +#define UA_STATUSCODE_GOODLOCALOVERRIDE 0x00960000 + +/* This Condition refresh faile */ +#define UA_STATUSCODE_BADREFRESHINPROGRESS 0x80970000 + +/* This condition has already been disabled. */ +#define UA_STATUSCODE_BADCONDITIONALREADYDISABLED 0x80980000 + +/* This condition has already been enabled. */ +#define UA_STATUSCODE_BADCONDITIONALREADYENABLED 0x80CC0000 + +/* Property not availabl */ +#define UA_STATUSCODE_BADCONDITIONDISABLED 0x80990000 + +/* The specified event id is not recognized. */ +#define UA_STATUSCODE_BADEVENTIDUNKNOWN 0x809A0000 + +/* The event cannot be acknowledged. */ +#define UA_STATUSCODE_BADEVENTNOTACKNOWLEDGEABLE 0x80BB0000 + +/* The dialog condition is not active. */ +#define UA_STATUSCODE_BADDIALOGNOTACTIVE 0x80CD0000 + +/* The response is not valid for the dialog. */ +#define UA_STATUSCODE_BADDIALOGRESPONSEINVALID 0x80CE0000 + +/* The condition branch has already been acknowledged. */ +#define UA_STATUSCODE_BADCONDITIONBRANCHALREADYACKED 0x80CF0000 + +/* The condition branch has already been confirmed. */ +#define UA_STATUSCODE_BADCONDITIONBRANCHALREADYCONFIRMED 0x80D00000 + +/* The condition has already been shelved. */ +#define UA_STATUSCODE_BADCONDITIONALREADYSHELVED 0x80D10000 + +/* The condition is not currently shelved. */ +#define UA_STATUSCODE_BADCONDITIONNOTSHELVED 0x80D20000 + +/* The shelving time not within an acceptable range. */ +#define UA_STATUSCODE_BADSHELVINGTIMEOUTOFRANGE 0x80D30000 + +/* No data exists for the requested time range or event filter. */ +#define UA_STATUSCODE_BADNODATA 0x809B0000 + +/* No data found to provide upper or lower bound value. */ +#define UA_STATUSCODE_BADBOUNDNOTFOUND 0x80D70000 + +/* The server cannot retrieve a bound for the variable. */ +#define UA_STATUSCODE_BADBOUNDNOTSUPPORTED 0x80D80000 + +/* Data is missing due to collection started/stopped/lost. */ +#define UA_STATUSCODE_BADDATALOST 0x809D0000 + +/* Expected data is unavailable for the requested time range due to an un-mounted volum */ +#define UA_STATUSCODE_BADDATAUNAVAILABLE 0x809E0000 + +/* The data or event was not successfully inserted because a matching entry exists. */ +#define UA_STATUSCODE_BADENTRYEXISTS 0x809F0000 + +/* The data or event was not successfully updated because no matching entry exists. */ +#define UA_STATUSCODE_BADNOENTRYEXISTS 0x80A00000 + +/* The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp). */ +#define UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED 0x80A10000 + +/* The data or event was successfully inserted into the historical database. */ +#define UA_STATUSCODE_GOODENTRYINSERTED 0x00A20000 + +/* The data or event field was successfully replaced in the historical database. */ +#define UA_STATUSCODE_GOODENTRYREPLACED 0x00A30000 + +/* The value is derived from multiple values and has less than the required number of Good values. */ +#define UA_STATUSCODE_UNCERTAINDATASUBNORMAL 0x40A40000 + +/* No data exists for the requested time range or event filter. */ +#define UA_STATUSCODE_GOODNODATA 0x00A50000 + +/* More data is available in the time range beyond the number of values requested. */ +#define UA_STATUSCODE_GOODMOREDATA 0x00A60000 + +/* The requested number of Aggregates does not match the requested number of NodeIds. */ +#define UA_STATUSCODE_BADAGGREGATELISTMISMATCH 0x80D40000 + +/* The requested Aggregate is not support by the server. */ +#define UA_STATUSCODE_BADAGGREGATENOTSUPPORTED 0x80D50000 + +/* The aggregate value could not be derived due to invalid data inputs. */ +#define UA_STATUSCODE_BADAGGREGATEINVALIDINPUTS 0x80D60000 + +/* The aggregate configuration is not valid for specified node. */ +#define UA_STATUSCODE_BADAGGREGATECONFIGURATIONREJECTED 0x80DA0000 + +/* The request specifies fields which are not valid for the EventType or cannot be saved by the historian. */ +#define UA_STATUSCODE_GOODDATAIGNORED 0x00D90000 + +/* The request was rejected by the server because it did not meet the criteria set by the server. */ +#define UA_STATUSCODE_BADREQUESTNOTALLOWED 0x80E40000 + +/* The request has not been processed by the server yet. */ +#define UA_STATUSCODE_BADREQUESTNOTCOMPLETE 0x81130000 + +/* The operation is not allowed because a transaction is in progress. */ +#define UA_STATUSCODE_BADTRANSACTIONPENDING 0x80E80000 + +/* The device identity needs a ticket before it can be accepted. */ +#define UA_STATUSCODE_BADTICKETREQUIRED 0x811F0000 + +/* The device identity needs a ticket before it can be accepted. */ +#define UA_STATUSCODE_BADTICKETINVALID 0x81200000 + +/* The requested operation is not allowe */ +#define UA_STATUSCODE_BADLOCKED 0x80E90000 + +/* The value does not come from the real source and has been edited by the server. */ +#define UA_STATUSCODE_GOODEDITED 0x00DC0000 + +/* There was an error in execution of these post-actions. */ +#define UA_STATUSCODE_GOODPOSTACTIONFAILED 0x00DD0000 + +/* The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit. */ +#define UA_STATUSCODE_UNCERTAINDOMINANTVALUECHANGED 0x40DE0000 + +/* A dependent value has been changed but the change has not been applied to the device. */ +#define UA_STATUSCODE_GOODDEPENDENTVALUECHANGED 0x00E00000 + +/* 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. */ +#define UA_STATUSCODE_BADDOMINANTVALUECHANGED 0x80E10000 + +/* A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is uncertain. */ +#define UA_STATUSCODE_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 Bad. */ +#define UA_STATUSCODE_BADDEPENDENTVALUECHANGED 0x80E30000 + +/* It is delivered with a dominant Variable value when a dependent Variable has changed but the change has not been applied. */ +#define UA_STATUSCODE_GOODEDITED_DEPENDENTVALUECHANGED 0x01160000 + +/* It is delivered with a dependent Variable value when a dominant Variable has changed but the change has not been applied. */ +#define UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED 0x01170000 + +/* It is delivered with a dependent Variable value when a dominant or dependent Variable has changed but change has not been applied. */ +#define UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED 0x01180000 + +/* It is delivered with a Variable value when Variable has changed but the value is not legal. */ +#define UA_STATUSCODE_BADEDITED_OUTOFRANGE 0x81190000 + +/* It is delivered with a Variable value when a source Variable has changed but the value is not legal. */ +#define UA_STATUSCODE_BADINITIALVALUE_OUTOFRANGE 0x811A0000 + +/* It is delivered with a dependent Variable value when a dominant Variable has changed and the value is not legal. */ +#define UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED 0x811B0000 + +/* It is delivered with a dependent Variable value when a dominant Variable has change */ +#define UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED 0x811C0000 + +/* It is delivered with a dependent Variable value when a dominant or dependent Variable has changed and the value is not legal. */ +#define UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED 0x811D0000 + +/* It is delivered with a dependent Variable value when a dominant or dependent Variable has change */ +#define UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED 0x811E0000 + +/* The communication layer has raised an event. */ +#define UA_STATUSCODE_GOODCOMMUNICATIONEVENT 0x00A70000 + +/* The system is shutting down. */ +#define UA_STATUSCODE_GOODSHUTDOWNEVENT 0x00A80000 + +/* The operation is not finished and needs to be called again. */ +#define UA_STATUSCODE_GOODCALLAGAIN 0x00A90000 + +/* A non-critical timeout occurred. */ +#define UA_STATUSCODE_GOODNONCRITICALTIMEOUT 0x00AA0000 + +/* One or more arguments are invalid. */ +#define UA_STATUSCODE_BADINVALIDARGUMENT 0x80AB0000 + +/* Could not establish a network connection to remote server. */ +#define UA_STATUSCODE_BADCONNECTIONREJECTED 0x80AC0000 + +/* The server has disconnected from the client. */ +#define UA_STATUSCODE_BADDISCONNECT 0x80AD0000 + +/* The network connection has been closed. */ +#define UA_STATUSCODE_BADCONNECTIONCLOSED 0x80AE0000 + +/* The operation cannot be completed because the object is close */ +#define UA_STATUSCODE_BADINVALIDSTATE 0x80AF0000 + +/* Cannot move beyond end of the stream. */ +#define UA_STATUSCODE_BADENDOFSTREAM 0x80B00000 + +/* No data is currently available for reading from a non-blocking stream. */ +#define UA_STATUSCODE_BADNODATAAVAILABLE 0x80B10000 + +/* The asynchronous operation is waiting for a response. */ +#define UA_STATUSCODE_BADWAITINGFORRESPONSE 0x80B20000 + +/* The asynchronous operation was abandoned by the caller. */ +#define UA_STATUSCODE_BADOPERATIONABANDONED 0x80B30000 + +/* The stream did not return all data requested (possibly because it is a non-blocking stream). */ +#define UA_STATUSCODE_BADEXPECTEDSTREAMTOBLOCK 0x80B40000 + +/* Non blocking behaviour is required and the operation would block. */ +#define UA_STATUSCODE_BADWOULDBLOCK 0x80B50000 + +/* A value had an invalid syntax. */ +#define UA_STATUSCODE_BADSYNTAXERROR 0x80B60000 + +/* The operation could not be finished because all available connections are in use. */ +#define UA_STATUSCODE_BADMAXCONNECTIONSREACHED 0x80B70000 + +/* The value may not be accurate because the transducer is in manual mode. */ +#define UA_STATUSCODE_UNCERTAINTRANSDUCERINMANUAL 0x42080000 + +/* The value is simulated. */ +#define UA_STATUSCODE_UNCERTAINSIMULATEDVALUE 0x42090000 + +/* The value may not be accurate due to a sensor calibration fault. */ +#define UA_STATUSCODE_UNCERTAINSENSORCALIBRATION 0x420A0000 + +/* The value may not be accurate due to a configuration issue. */ +#define UA_STATUSCODE_UNCERTAINCONFIGURATIONERROR 0x420F0000 + +/* The value source supports cascade handshaking and the value has been Initialized based on an initialization request from a cascade secondary. */ +#define UA_STATUSCODE_GOODCASCADEINITIALIZATIONACKNOWLEDGED 0x04010000 + +/* The value source supports cascade handshaking and is requesting initialization of a cascade primary. */ +#define UA_STATUSCODE_GOODCASCADEINITIALIZATIONREQUEST 0x04020000 + +/* The value source supports cascade handshakin */ +#define UA_STATUSCODE_GOODCASCADENOTINVITED 0x04030000 + +/* The value source supports cascade handshakin */ +#define UA_STATUSCODE_GOODCASCADENOTSELECTED 0x04040000 + +/* There is a fault state condition active in the value source. */ +#define UA_STATUSCODE_GOODFAULTSTATEACTIVE 0x04070000 + +/* A fault state condition is being requested of the destination. */ +#define UA_STATUSCODE_GOODINITIATEFAULTSTATE 0x04080000 + +/* The value is accurat */ +#define UA_STATUSCODE_GOODCASCADE 0x04090000 + +/* The DataSet specified for the DataSetWriter creation is invalid. */ +#define UA_STATUSCODE_BADDATASETIDINVALID 0x80E70000 + +/* Depending on the version of the schema, the following might be already defined: */ +#ifndef UA_STATUSCODE_GOOD +# define UA_STATUSCODE_GOOD 0x00000000 +#endif +#ifndef UA_STATUSCODE_UNCERTAIN +# define UA_STATUSCODE_UNCERTAIN 0x40000000 +#endif +#ifndef UA_STATUSCODE_BAD +# define UA_STATUSCODE_BAD 0x80000000 +#endif + + +/**** amalgamated original file "/build/src_generated/open62541/nodeids.h" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + +#ifndef UA_NODEIDS_NS0_H_ +#define UA_NODEIDS_NS0_H_ + +/** + * Namespace Zero NodeIds + * ---------------------- + * Numeric identifiers of standard-defined nodes in namespace zero. The + * following definitions are autogenerated from a CSV file */ + +#define UA_NS0ID_BOOLEAN 1 /* DataType */ +#define UA_NS0ID_SBYTE 2 /* DataType */ +#define UA_NS0ID_BYTE 3 /* DataType */ +#define UA_NS0ID_INT16 4 /* DataType */ +#define UA_NS0ID_UINT16 5 /* DataType */ +#define UA_NS0ID_INT32 6 /* DataType */ +#define UA_NS0ID_UINT32 7 /* DataType */ +#define UA_NS0ID_INT64 8 /* DataType */ +#define UA_NS0ID_UINT64 9 /* DataType */ +#define UA_NS0ID_FLOAT 10 /* DataType */ +#define UA_NS0ID_DOUBLE 11 /* DataType */ +#define UA_NS0ID_STRING 12 /* DataType */ +#define UA_NS0ID_DATETIME 13 /* DataType */ +#define UA_NS0ID_GUID 14 /* DataType */ +#define UA_NS0ID_BYTESTRING 15 /* DataType */ +#define UA_NS0ID_XMLELEMENT 16 /* DataType */ +#define UA_NS0ID_NODEID 17 /* DataType */ +#define UA_NS0ID_EXPANDEDNODEID 18 /* DataType */ +#define UA_NS0ID_STATUSCODE 19 /* DataType */ +#define UA_NS0ID_QUALIFIEDNAME 20 /* DataType */ +#define UA_NS0ID_LOCALIZEDTEXT 21 /* DataType */ +#define UA_NS0ID_STRUCTURE 22 /* DataType */ +#define UA_NS0ID_DATAVALUE 23 /* DataType */ +#define UA_NS0ID_BASEDATATYPE 24 /* DataType */ +#define UA_NS0ID_DIAGNOSTICINFO 25 /* DataType */ +#define UA_NS0ID_NUMBER 26 /* DataType */ +#define UA_NS0ID_INTEGER 27 /* DataType */ +#define UA_NS0ID_UINTEGER 28 /* DataType */ +#define UA_NS0ID_ENUMERATION 29 /* DataType */ +#define UA_NS0ID_IMAGE 30 /* DataType */ +#define UA_NS0ID_REFERENCES 31 /* ReferenceType */ +#define UA_NS0ID_NONHIERARCHICALREFERENCES 32 /* ReferenceType */ +#define UA_NS0ID_HIERARCHICALREFERENCES 33 /* ReferenceType */ +#define UA_NS0ID_HASCHILD 34 /* ReferenceType */ +#define UA_NS0ID_ORGANIZES 35 /* ReferenceType */ +#define UA_NS0ID_HASEVENTSOURCE 36 /* ReferenceType */ +#define UA_NS0ID_HASMODELLINGRULE 37 /* ReferenceType */ +#define UA_NS0ID_HASENCODING 38 /* ReferenceType */ +#define UA_NS0ID_HASDESCRIPTION 39 /* ReferenceType */ +#define UA_NS0ID_HASTYPEDEFINITION 40 /* ReferenceType */ +#define UA_NS0ID_GENERATESEVENT 41 /* ReferenceType */ +#define UA_NS0ID_AGGREGATES 44 /* ReferenceType */ +#define UA_NS0ID_HASSUBTYPE 45 /* ReferenceType */ +#define UA_NS0ID_HASPROPERTY 46 /* ReferenceType */ +#define UA_NS0ID_HASCOMPONENT 47 /* ReferenceType */ +#define UA_NS0ID_HASNOTIFIER 48 /* ReferenceType */ +#define UA_NS0ID_HASORDEREDCOMPONENT 49 /* ReferenceType */ +#define UA_NS0ID_DECIMAL 50 /* DataType */ +#define UA_NS0ID_FROMSTATE 51 /* ReferenceType */ +#define UA_NS0ID_TOSTATE 52 /* ReferenceType */ +#define UA_NS0ID_HASCAUSE 53 /* ReferenceType */ +#define UA_NS0ID_HASEFFECT 54 /* ReferenceType */ +#define UA_NS0ID_HASHISTORICALCONFIGURATION 56 /* ReferenceType */ +#define UA_NS0ID_BASEOBJECTTYPE 58 /* ObjectType */ +#define UA_NS0ID_FOLDERTYPE 61 /* ObjectType */ +#define UA_NS0ID_BASEVARIABLETYPE 62 /* VariableType */ +#define UA_NS0ID_BASEDATAVARIABLETYPE 63 /* VariableType */ +#define UA_NS0ID_PROPERTYTYPE 68 /* VariableType */ +#define UA_NS0ID_DATATYPEDESCRIPTIONTYPE 69 /* VariableType */ +#define UA_NS0ID_DATATYPEDICTIONARYTYPE 72 /* VariableType */ +#define UA_NS0ID_DATATYPESYSTEMTYPE 75 /* ObjectType */ +#define UA_NS0ID_DATATYPEENCODINGTYPE 76 /* ObjectType */ +#define UA_NS0ID_MODELLINGRULETYPE 77 /* ObjectType */ +#define UA_NS0ID_MODELLINGRULE_MANDATORY 78 /* Object */ +#define UA_NS0ID_MODELLINGRULE_OPTIONAL 80 /* Object */ +#define UA_NS0ID_MODELLINGRULE_EXPOSESITSARRAY 83 /* Object */ +#define UA_NS0ID_ROOTFOLDER 84 /* Object */ +#define UA_NS0ID_OBJECTSFOLDER 85 /* Object */ +#define UA_NS0ID_TYPESFOLDER 86 /* Object */ +#define UA_NS0ID_VIEWSFOLDER 87 /* Object */ +#define UA_NS0ID_OBJECTTYPESFOLDER 88 /* Object */ +#define UA_NS0ID_VARIABLETYPESFOLDER 89 /* Object */ +#define UA_NS0ID_DATATYPESFOLDER 90 /* Object */ +#define UA_NS0ID_REFERENCETYPESFOLDER 91 /* Object */ +#define UA_NS0ID_XMLSCHEMA_TYPESYSTEM 92 /* Object */ +#define UA_NS0ID_OPCBINARYSCHEMA_TYPESYSTEM 93 /* Object */ +#define UA_NS0ID_PERMISSIONTYPE 94 /* DataType */ +#define UA_NS0ID_ACCESSRESTRICTIONTYPE 95 /* DataType */ +#define UA_NS0ID_ROLEPERMISSIONTYPE 96 /* DataType */ +#define UA_NS0ID_DATATYPEDEFINITION 97 /* DataType */ +#define UA_NS0ID_STRUCTURETYPE 98 /* DataType */ +#define UA_NS0ID_STRUCTUREDEFINITION 99 /* DataType */ +#define UA_NS0ID_ENUMDEFINITION 100 /* DataType */ +#define UA_NS0ID_STRUCTUREFIELD 101 /* DataType */ +#define UA_NS0ID_ENUMFIELD 102 /* DataType */ +#define UA_NS0ID_DATATYPEDESCRIPTIONTYPE_DATATYPEVERSION 104 /* Variable */ +#define UA_NS0ID_DATATYPEDESCRIPTIONTYPE_DICTIONARYFRAGMENT 105 /* Variable */ +#define UA_NS0ID_DATATYPEDICTIONARYTYPE_DATATYPEVERSION 106 /* Variable */ +#define UA_NS0ID_DATATYPEDICTIONARYTYPE_NAMESPACEURI 107 /* Variable */ +#define UA_NS0ID_HASSUBSTATEMACHINE 117 /* ReferenceType */ +#define UA_NS0ID_NAMINGRULETYPE 120 /* DataType */ +#define UA_NS0ID_DATATYPEDEFINITION_ENCODING_DEFAULTBINARY 121 /* Object */ +#define UA_NS0ID_STRUCTUREDEFINITION_ENCODING_DEFAULTBINARY 122 /* Object */ +#define UA_NS0ID_ENUMDEFINITION_ENCODING_DEFAULTBINARY 123 /* Object */ +#define UA_NS0ID_DATASETMETADATATYPE_ENCODING_DEFAULTBINARY 124 /* Object */ +#define UA_NS0ID_DATATYPEDESCRIPTION_ENCODING_DEFAULTBINARY 125 /* Object */ +#define UA_NS0ID_STRUCTUREDESCRIPTION_ENCODING_DEFAULTBINARY 126 /* Object */ +#define UA_NS0ID_ENUMDESCRIPTION_ENCODING_DEFAULTBINARY 127 /* Object */ +#define UA_NS0ID_ROLEPERMISSIONTYPE_ENCODING_DEFAULTBINARY 128 /* Object */ +#define UA_NS0ID_HASARGUMENTDESCRIPTION 129 /* ReferenceType */ +#define UA_NS0ID_HASOPTIONALINPUTARGUMENTDESCRIPTION 131 /* ReferenceType */ +#define UA_NS0ID_IDTYPE 256 /* DataType */ +#define UA_NS0ID_NODECLASS 257 /* DataType */ +#define UA_NS0ID_NODE 258 /* DataType */ +#define UA_NS0ID_NODE_ENCODING_DEFAULTXML 259 /* Object */ +#define UA_NS0ID_NODE_ENCODING_DEFAULTBINARY 260 /* Object */ +#define UA_NS0ID_OBJECTNODE 261 /* DataType */ +#define UA_NS0ID_OBJECTNODE_ENCODING_DEFAULTXML 262 /* Object */ +#define UA_NS0ID_OBJECTNODE_ENCODING_DEFAULTBINARY 263 /* Object */ +#define UA_NS0ID_OBJECTTYPENODE 264 /* DataType */ +#define UA_NS0ID_OBJECTTYPENODE_ENCODING_DEFAULTXML 265 /* Object */ +#define UA_NS0ID_OBJECTTYPENODE_ENCODING_DEFAULTBINARY 266 /* Object */ +#define UA_NS0ID_VARIABLENODE 267 /* DataType */ +#define UA_NS0ID_VARIABLENODE_ENCODING_DEFAULTXML 268 /* Object */ +#define UA_NS0ID_VARIABLENODE_ENCODING_DEFAULTBINARY 269 /* Object */ +#define UA_NS0ID_VARIABLETYPENODE 270 /* DataType */ +#define UA_NS0ID_VARIABLETYPENODE_ENCODING_DEFAULTXML 271 /* Object */ +#define UA_NS0ID_VARIABLETYPENODE_ENCODING_DEFAULTBINARY 272 /* Object */ +#define UA_NS0ID_REFERENCETYPENODE 273 /* DataType */ +#define UA_NS0ID_REFERENCETYPENODE_ENCODING_DEFAULTXML 274 /* Object */ +#define UA_NS0ID_REFERENCETYPENODE_ENCODING_DEFAULTBINARY 275 /* Object */ +#define UA_NS0ID_METHODNODE 276 /* DataType */ +#define UA_NS0ID_METHODNODE_ENCODING_DEFAULTXML 277 /* Object */ +#define UA_NS0ID_METHODNODE_ENCODING_DEFAULTBINARY 278 /* Object */ +#define UA_NS0ID_VIEWNODE 279 /* DataType */ +#define UA_NS0ID_VIEWNODE_ENCODING_DEFAULTXML 280 /* Object */ +#define UA_NS0ID_VIEWNODE_ENCODING_DEFAULTBINARY 281 /* Object */ +#define UA_NS0ID_DATATYPENODE 282 /* DataType */ +#define UA_NS0ID_DATATYPENODE_ENCODING_DEFAULTXML 283 /* Object */ +#define UA_NS0ID_DATATYPENODE_ENCODING_DEFAULTBINARY 284 /* Object */ +#define UA_NS0ID_REFERENCENODE 285 /* DataType */ +#define UA_NS0ID_REFERENCENODE_ENCODING_DEFAULTXML 286 /* Object */ +#define UA_NS0ID_REFERENCENODE_ENCODING_DEFAULTBINARY 287 /* Object */ +#define UA_NS0ID_INTEGERID 288 /* DataType */ +#define UA_NS0ID_COUNTER 289 /* DataType */ +#define UA_NS0ID_DURATION 290 /* DataType */ +#define UA_NS0ID_NUMERICRANGE 291 /* DataType */ +#define UA_NS0ID_UTCTIME 294 /* DataType */ +#define UA_NS0ID_LOCALEID 295 /* DataType */ +#define UA_NS0ID_ARGUMENT 296 /* DataType */ +#define UA_NS0ID_ARGUMENT_ENCODING_DEFAULTXML 297 /* Object */ +#define UA_NS0ID_ARGUMENT_ENCODING_DEFAULTBINARY 298 /* Object */ +#define UA_NS0ID_STATUSRESULT 299 /* DataType */ +#define UA_NS0ID_STATUSRESULT_ENCODING_DEFAULTXML 300 /* Object */ +#define UA_NS0ID_STATUSRESULT_ENCODING_DEFAULTBINARY 301 /* Object */ +#define UA_NS0ID_MESSAGESECURITYMODE 302 /* DataType */ +#define UA_NS0ID_USERTOKENTYPE 303 /* DataType */ +#define UA_NS0ID_USERTOKENPOLICY 304 /* DataType */ +#define UA_NS0ID_USERTOKENPOLICY_ENCODING_DEFAULTXML 305 /* Object */ +#define UA_NS0ID_USERTOKENPOLICY_ENCODING_DEFAULTBINARY 306 /* Object */ +#define UA_NS0ID_APPLICATIONTYPE 307 /* DataType */ +#define UA_NS0ID_APPLICATIONDESCRIPTION 308 /* DataType */ +#define UA_NS0ID_APPLICATIONDESCRIPTION_ENCODING_DEFAULTXML 309 /* Object */ +#define UA_NS0ID_APPLICATIONDESCRIPTION_ENCODING_DEFAULTBINARY 310 /* Object */ +#define UA_NS0ID_APPLICATIONINSTANCECERTIFICATE 311 /* DataType */ +#define UA_NS0ID_ENDPOINTDESCRIPTION 312 /* DataType */ +#define UA_NS0ID_ENDPOINTDESCRIPTION_ENCODING_DEFAULTXML 313 /* Object */ +#define UA_NS0ID_ENDPOINTDESCRIPTION_ENCODING_DEFAULTBINARY 314 /* Object */ +#define UA_NS0ID_SECURITYTOKENREQUESTTYPE 315 /* DataType */ +#define UA_NS0ID_USERIDENTITYTOKEN 316 /* DataType */ +#define UA_NS0ID_USERIDENTITYTOKEN_ENCODING_DEFAULTXML 317 /* Object */ +#define UA_NS0ID_USERIDENTITYTOKEN_ENCODING_DEFAULTBINARY 318 /* Object */ +#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN 319 /* DataType */ +#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN_ENCODING_DEFAULTXML 320 /* Object */ +#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN_ENCODING_DEFAULTBINARY 321 /* Object */ +#define UA_NS0ID_USERNAMEIDENTITYTOKEN 322 /* DataType */ +#define UA_NS0ID_USERNAMEIDENTITYTOKEN_ENCODING_DEFAULTXML 323 /* Object */ +#define UA_NS0ID_USERNAMEIDENTITYTOKEN_ENCODING_DEFAULTBINARY 324 /* Object */ +#define UA_NS0ID_X509IDENTITYTOKEN 325 /* DataType */ +#define UA_NS0ID_X509IDENTITYTOKEN_ENCODING_DEFAULTXML 326 /* Object */ +#define UA_NS0ID_X509IDENTITYTOKEN_ENCODING_DEFAULTBINARY 327 /* Object */ +#define UA_NS0ID_ENDPOINTCONFIGURATION 331 /* DataType */ +#define UA_NS0ID_ENDPOINTCONFIGURATION_ENCODING_DEFAULTXML 332 /* Object */ +#define UA_NS0ID_ENDPOINTCONFIGURATION_ENCODING_DEFAULTBINARY 333 /* Object */ +#define UA_NS0ID_BUILDINFO 338 /* DataType */ +#define UA_NS0ID_BUILDINFO_ENCODING_DEFAULTXML 339 /* Object */ +#define UA_NS0ID_BUILDINFO_ENCODING_DEFAULTBINARY 340 /* Object */ +#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE 344 /* DataType */ +#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE_ENCODING_DEFAULTXML 345 /* Object */ +#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE_ENCODING_DEFAULTBINARY 346 /* Object */ +#define UA_NS0ID_ATTRIBUTEWRITEMASK 347 /* DataType */ +#define UA_NS0ID_NODEATTRIBUTESMASK 348 /* DataType */ +#define UA_NS0ID_NODEATTRIBUTES 349 /* DataType */ +#define UA_NS0ID_NODEATTRIBUTES_ENCODING_DEFAULTXML 350 /* Object */ +#define UA_NS0ID_NODEATTRIBUTES_ENCODING_DEFAULTBINARY 351 /* Object */ +#define UA_NS0ID_OBJECTATTRIBUTES 352 /* DataType */ +#define UA_NS0ID_OBJECTATTRIBUTES_ENCODING_DEFAULTXML 353 /* Object */ +#define UA_NS0ID_OBJECTATTRIBUTES_ENCODING_DEFAULTBINARY 354 /* Object */ +#define UA_NS0ID_VARIABLEATTRIBUTES 355 /* DataType */ +#define UA_NS0ID_VARIABLEATTRIBUTES_ENCODING_DEFAULTXML 356 /* Object */ +#define UA_NS0ID_VARIABLEATTRIBUTES_ENCODING_DEFAULTBINARY 357 /* Object */ +#define UA_NS0ID_METHODATTRIBUTES 358 /* DataType */ +#define UA_NS0ID_METHODATTRIBUTES_ENCODING_DEFAULTXML 359 /* Object */ +#define UA_NS0ID_METHODATTRIBUTES_ENCODING_DEFAULTBINARY 360 /* Object */ +#define UA_NS0ID_OBJECTTYPEATTRIBUTES 361 /* DataType */ +#define UA_NS0ID_OBJECTTYPEATTRIBUTES_ENCODING_DEFAULTXML 362 /* Object */ +#define UA_NS0ID_OBJECTTYPEATTRIBUTES_ENCODING_DEFAULTBINARY 363 /* Object */ +#define UA_NS0ID_VARIABLETYPEATTRIBUTES 364 /* DataType */ +#define UA_NS0ID_VARIABLETYPEATTRIBUTES_ENCODING_DEFAULTXML 365 /* Object */ +#define UA_NS0ID_VARIABLETYPEATTRIBUTES_ENCODING_DEFAULTBINARY 366 /* Object */ +#define UA_NS0ID_REFERENCETYPEATTRIBUTES 367 /* DataType */ +#define UA_NS0ID_REFERENCETYPEATTRIBUTES_ENCODING_DEFAULTXML 368 /* Object */ +#define UA_NS0ID_REFERENCETYPEATTRIBUTES_ENCODING_DEFAULTBINARY 369 /* Object */ +#define UA_NS0ID_DATATYPEATTRIBUTES 370 /* DataType */ +#define UA_NS0ID_DATATYPEATTRIBUTES_ENCODING_DEFAULTXML 371 /* Object */ +#define UA_NS0ID_DATATYPEATTRIBUTES_ENCODING_DEFAULTBINARY 372 /* Object */ +#define UA_NS0ID_VIEWATTRIBUTES 373 /* DataType */ +#define UA_NS0ID_VIEWATTRIBUTES_ENCODING_DEFAULTXML 374 /* Object */ +#define UA_NS0ID_VIEWATTRIBUTES_ENCODING_DEFAULTBINARY 375 /* Object */ +#define UA_NS0ID_ADDNODESITEM 376 /* DataType */ +#define UA_NS0ID_ADDNODESITEM_ENCODING_DEFAULTXML 377 /* Object */ +#define UA_NS0ID_ADDNODESITEM_ENCODING_DEFAULTBINARY 378 /* Object */ +#define UA_NS0ID_ADDREFERENCESITEM 379 /* DataType */ +#define UA_NS0ID_ADDREFERENCESITEM_ENCODING_DEFAULTXML 380 /* Object */ +#define UA_NS0ID_ADDREFERENCESITEM_ENCODING_DEFAULTBINARY 381 /* Object */ +#define UA_NS0ID_DELETENODESITEM 382 /* DataType */ +#define UA_NS0ID_DELETENODESITEM_ENCODING_DEFAULTXML 383 /* Object */ +#define UA_NS0ID_DELETENODESITEM_ENCODING_DEFAULTBINARY 384 /* Object */ +#define UA_NS0ID_DELETEREFERENCESITEM 385 /* DataType */ +#define UA_NS0ID_DELETEREFERENCESITEM_ENCODING_DEFAULTXML 386 /* Object */ +#define UA_NS0ID_DELETEREFERENCESITEM_ENCODING_DEFAULTBINARY 387 /* Object */ +#define UA_NS0ID_SESSIONAUTHENTICATIONTOKEN 388 /* DataType */ +#define UA_NS0ID_REQUESTHEADER 389 /* DataType */ +#define UA_NS0ID_REQUESTHEADER_ENCODING_DEFAULTXML 390 /* Object */ +#define UA_NS0ID_REQUESTHEADER_ENCODING_DEFAULTBINARY 391 /* Object */ +#define UA_NS0ID_RESPONSEHEADER 392 /* DataType */ +#define UA_NS0ID_RESPONSEHEADER_ENCODING_DEFAULTXML 393 /* Object */ +#define UA_NS0ID_RESPONSEHEADER_ENCODING_DEFAULTBINARY 394 /* Object */ +#define UA_NS0ID_SERVICEFAULT 395 /* DataType */ +#define UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTXML 396 /* Object */ +#define UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTBINARY 397 /* Object */ +#define UA_NS0ID_FINDSERVERSREQUEST 420 /* DataType */ +#define UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTXML 421 /* Object */ +#define UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTBINARY 422 /* Object */ +#define UA_NS0ID_FINDSERVERSRESPONSE 423 /* DataType */ +#define UA_NS0ID_FINDSERVERSRESPONSE_ENCODING_DEFAULTXML 424 /* Object */ +#define UA_NS0ID_FINDSERVERSRESPONSE_ENCODING_DEFAULTBINARY 425 /* Object */ +#define UA_NS0ID_GETENDPOINTSREQUEST 426 /* DataType */ +#define UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTXML 427 /* Object */ +#define UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTBINARY 428 /* Object */ +#define UA_NS0ID_GETENDPOINTSRESPONSE 429 /* DataType */ +#define UA_NS0ID_GETENDPOINTSRESPONSE_ENCODING_DEFAULTXML 430 /* Object */ +#define UA_NS0ID_GETENDPOINTSRESPONSE_ENCODING_DEFAULTBINARY 431 /* Object */ +#define UA_NS0ID_REGISTEREDSERVER 432 /* DataType */ +#define UA_NS0ID_REGISTEREDSERVER_ENCODING_DEFAULTXML 433 /* Object */ +#define UA_NS0ID_REGISTEREDSERVER_ENCODING_DEFAULTBINARY 434 /* Object */ +#define UA_NS0ID_REGISTERSERVERREQUEST 435 /* DataType */ +#define UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTXML 436 /* Object */ +#define UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTBINARY 437 /* Object */ +#define UA_NS0ID_REGISTERSERVERRESPONSE 438 /* DataType */ +#define UA_NS0ID_REGISTERSERVERRESPONSE_ENCODING_DEFAULTXML 439 /* Object */ +#define UA_NS0ID_REGISTERSERVERRESPONSE_ENCODING_DEFAULTBINARY 440 /* Object */ +#define UA_NS0ID_CHANNELSECURITYTOKEN 441 /* DataType */ +#define UA_NS0ID_CHANNELSECURITYTOKEN_ENCODING_DEFAULTXML 442 /* Object */ +#define UA_NS0ID_CHANNELSECURITYTOKEN_ENCODING_DEFAULTBINARY 443 /* Object */ +#define UA_NS0ID_OPENSECURECHANNELREQUEST 444 /* DataType */ +#define UA_NS0ID_OPENSECURECHANNELREQUEST_ENCODING_DEFAULTXML 445 /* Object */ +#define UA_NS0ID_OPENSECURECHANNELREQUEST_ENCODING_DEFAULTBINARY 446 /* Object */ +#define UA_NS0ID_OPENSECURECHANNELRESPONSE 447 /* DataType */ +#define UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTXML 448 /* Object */ +#define UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTBINARY 449 /* Object */ +#define UA_NS0ID_CLOSESECURECHANNELREQUEST 450 /* DataType */ +#define UA_NS0ID_CLOSESECURECHANNELREQUEST_ENCODING_DEFAULTXML 451 /* Object */ +#define UA_NS0ID_CLOSESECURECHANNELREQUEST_ENCODING_DEFAULTBINARY 452 /* Object */ +#define UA_NS0ID_CLOSESECURECHANNELRESPONSE 453 /* DataType */ +#define UA_NS0ID_CLOSESECURECHANNELRESPONSE_ENCODING_DEFAULTXML 454 /* Object */ +#define UA_NS0ID_CLOSESECURECHANNELRESPONSE_ENCODING_DEFAULTBINARY 455 /* Object */ +#define UA_NS0ID_SIGNATUREDATA 456 /* DataType */ +#define UA_NS0ID_SIGNATUREDATA_ENCODING_DEFAULTXML 457 /* Object */ +#define UA_NS0ID_SIGNATUREDATA_ENCODING_DEFAULTBINARY 458 /* Object */ +#define UA_NS0ID_CREATESESSIONREQUEST 459 /* DataType */ +#define UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTXML 460 /* Object */ +#define UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTBINARY 461 /* Object */ +#define UA_NS0ID_CREATESESSIONRESPONSE 462 /* DataType */ +#define UA_NS0ID_CREATESESSIONRESPONSE_ENCODING_DEFAULTXML 463 /* Object */ +#define UA_NS0ID_CREATESESSIONRESPONSE_ENCODING_DEFAULTBINARY 464 /* Object */ +#define UA_NS0ID_ACTIVATESESSIONREQUEST 465 /* DataType */ +#define UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTXML 466 /* Object */ +#define UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTBINARY 467 /* Object */ +#define UA_NS0ID_ACTIVATESESSIONRESPONSE 468 /* DataType */ +#define UA_NS0ID_ACTIVATESESSIONRESPONSE_ENCODING_DEFAULTXML 469 /* Object */ +#define UA_NS0ID_ACTIVATESESSIONRESPONSE_ENCODING_DEFAULTBINARY 470 /* Object */ +#define UA_NS0ID_CLOSESESSIONREQUEST 471 /* DataType */ +#define UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTXML 472 /* Object */ +#define UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTBINARY 473 /* Object */ +#define UA_NS0ID_CLOSESESSIONRESPONSE 474 /* DataType */ +#define UA_NS0ID_CLOSESESSIONRESPONSE_ENCODING_DEFAULTXML 475 /* Object */ +#define UA_NS0ID_CLOSESESSIONRESPONSE_ENCODING_DEFAULTBINARY 476 /* Object */ +#define UA_NS0ID_CANCELREQUEST 477 /* DataType */ +#define UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTXML 478 /* Object */ +#define UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTBINARY 479 /* Object */ +#define UA_NS0ID_CANCELRESPONSE 480 /* DataType */ +#define UA_NS0ID_CANCELRESPONSE_ENCODING_DEFAULTXML 481 /* Object */ +#define UA_NS0ID_CANCELRESPONSE_ENCODING_DEFAULTBINARY 482 /* Object */ +#define UA_NS0ID_ADDNODESRESULT 483 /* DataType */ +#define UA_NS0ID_ADDNODESRESULT_ENCODING_DEFAULTXML 484 /* Object */ +#define UA_NS0ID_ADDNODESRESULT_ENCODING_DEFAULTBINARY 485 /* Object */ +#define UA_NS0ID_ADDNODESREQUEST 486 /* DataType */ +#define UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTXML 487 /* Object */ +#define UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTBINARY 488 /* Object */ +#define UA_NS0ID_ADDNODESRESPONSE 489 /* DataType */ +#define UA_NS0ID_ADDNODESRESPONSE_ENCODING_DEFAULTXML 490 /* Object */ +#define UA_NS0ID_ADDNODESRESPONSE_ENCODING_DEFAULTBINARY 491 /* Object */ +#define UA_NS0ID_ADDREFERENCESREQUEST 492 /* DataType */ +#define UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTXML 493 /* Object */ +#define UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTBINARY 494 /* Object */ +#define UA_NS0ID_ADDREFERENCESRESPONSE 495 /* DataType */ +#define UA_NS0ID_ADDREFERENCESRESPONSE_ENCODING_DEFAULTXML 496 /* Object */ +#define UA_NS0ID_ADDREFERENCESRESPONSE_ENCODING_DEFAULTBINARY 497 /* Object */ +#define UA_NS0ID_DELETENODESREQUEST 498 /* DataType */ +#define UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTXML 499 /* Object */ +#define UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTBINARY 500 /* Object */ +#define UA_NS0ID_DELETENODESRESPONSE 501 /* DataType */ +#define UA_NS0ID_DELETENODESRESPONSE_ENCODING_DEFAULTXML 502 /* Object */ +#define UA_NS0ID_DELETENODESRESPONSE_ENCODING_DEFAULTBINARY 503 /* Object */ +#define UA_NS0ID_DELETEREFERENCESREQUEST 504 /* DataType */ +#define UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTXML 505 /* Object */ +#define UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTBINARY 506 /* Object */ +#define UA_NS0ID_DELETEREFERENCESRESPONSE 507 /* DataType */ +#define UA_NS0ID_DELETEREFERENCESRESPONSE_ENCODING_DEFAULTXML 508 /* Object */ +#define UA_NS0ID_DELETEREFERENCESRESPONSE_ENCODING_DEFAULTBINARY 509 /* Object */ +#define UA_NS0ID_BROWSEDIRECTION 510 /* DataType */ +#define UA_NS0ID_VIEWDESCRIPTION 511 /* DataType */ +#define UA_NS0ID_VIEWDESCRIPTION_ENCODING_DEFAULTXML 512 /* Object */ +#define UA_NS0ID_VIEWDESCRIPTION_ENCODING_DEFAULTBINARY 513 /* Object */ +#define UA_NS0ID_BROWSEDESCRIPTION 514 /* DataType */ +#define UA_NS0ID_BROWSEDESCRIPTION_ENCODING_DEFAULTXML 515 /* Object */ +#define UA_NS0ID_BROWSEDESCRIPTION_ENCODING_DEFAULTBINARY 516 /* Object */ +#define UA_NS0ID_BROWSERESULTMASK 517 /* DataType */ +#define UA_NS0ID_REFERENCEDESCRIPTION 518 /* DataType */ +#define UA_NS0ID_REFERENCEDESCRIPTION_ENCODING_DEFAULTXML 519 /* Object */ +#define UA_NS0ID_REFERENCEDESCRIPTION_ENCODING_DEFAULTBINARY 520 /* Object */ +#define UA_NS0ID_CONTINUATIONPOINT 521 /* DataType */ +#define UA_NS0ID_BROWSERESULT 522 /* DataType */ +#define UA_NS0ID_BROWSERESULT_ENCODING_DEFAULTXML 523 /* Object */ +#define UA_NS0ID_BROWSERESULT_ENCODING_DEFAULTBINARY 524 /* Object */ +#define UA_NS0ID_BROWSEREQUEST 525 /* DataType */ +#define UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTXML 526 /* Object */ +#define UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTBINARY 527 /* Object */ +#define UA_NS0ID_BROWSERESPONSE 528 /* DataType */ +#define UA_NS0ID_BROWSERESPONSE_ENCODING_DEFAULTXML 529 /* Object */ +#define UA_NS0ID_BROWSERESPONSE_ENCODING_DEFAULTBINARY 530 /* Object */ +#define UA_NS0ID_BROWSENEXTREQUEST 531 /* DataType */ +#define UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTXML 532 /* Object */ +#define UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTBINARY 533 /* Object */ +#define UA_NS0ID_BROWSENEXTRESPONSE 534 /* DataType */ +#define UA_NS0ID_BROWSENEXTRESPONSE_ENCODING_DEFAULTXML 535 /* Object */ +#define UA_NS0ID_BROWSENEXTRESPONSE_ENCODING_DEFAULTBINARY 536 /* Object */ +#define UA_NS0ID_RELATIVEPATHELEMENT 537 /* DataType */ +#define UA_NS0ID_RELATIVEPATHELEMENT_ENCODING_DEFAULTXML 538 /* Object */ +#define UA_NS0ID_RELATIVEPATHELEMENT_ENCODING_DEFAULTBINARY 539 /* Object */ +#define UA_NS0ID_RELATIVEPATH 540 /* DataType */ +#define UA_NS0ID_RELATIVEPATH_ENCODING_DEFAULTXML 541 /* Object */ +#define UA_NS0ID_RELATIVEPATH_ENCODING_DEFAULTBINARY 542 /* Object */ +#define UA_NS0ID_BROWSEPATH 543 /* DataType */ +#define UA_NS0ID_BROWSEPATH_ENCODING_DEFAULTXML 544 /* Object */ +#define UA_NS0ID_BROWSEPATH_ENCODING_DEFAULTBINARY 545 /* Object */ +#define UA_NS0ID_BROWSEPATHTARGET 546 /* DataType */ +#define UA_NS0ID_BROWSEPATHTARGET_ENCODING_DEFAULTXML 547 /* Object */ +#define UA_NS0ID_BROWSEPATHTARGET_ENCODING_DEFAULTBINARY 548 /* Object */ +#define UA_NS0ID_BROWSEPATHRESULT 549 /* DataType */ +#define UA_NS0ID_BROWSEPATHRESULT_ENCODING_DEFAULTXML 550 /* Object */ +#define UA_NS0ID_BROWSEPATHRESULT_ENCODING_DEFAULTBINARY 551 /* Object */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST 552 /* DataType */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTXML 553 /* Object */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTBINARY 554 /* Object */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE 555 /* DataType */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE_ENCODING_DEFAULTXML 556 /* Object */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE_ENCODING_DEFAULTBINARY 557 /* Object */ +#define UA_NS0ID_REGISTERNODESREQUEST 558 /* DataType */ +#define UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTXML 559 /* Object */ +#define UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTBINARY 560 /* Object */ +#define UA_NS0ID_REGISTERNODESRESPONSE 561 /* DataType */ +#define UA_NS0ID_REGISTERNODESRESPONSE_ENCODING_DEFAULTXML 562 /* Object */ +#define UA_NS0ID_REGISTERNODESRESPONSE_ENCODING_DEFAULTBINARY 563 /* Object */ +#define UA_NS0ID_UNREGISTERNODESREQUEST 564 /* DataType */ +#define UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTXML 565 /* Object */ +#define UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTBINARY 566 /* Object */ +#define UA_NS0ID_UNREGISTERNODESRESPONSE 567 /* DataType */ +#define UA_NS0ID_UNREGISTERNODESRESPONSE_ENCODING_DEFAULTXML 568 /* Object */ +#define UA_NS0ID_UNREGISTERNODESRESPONSE_ENCODING_DEFAULTBINARY 569 /* Object */ +#define UA_NS0ID_QUERYDATADESCRIPTION 570 /* DataType */ +#define UA_NS0ID_QUERYDATADESCRIPTION_ENCODING_DEFAULTXML 571 /* Object */ +#define UA_NS0ID_QUERYDATADESCRIPTION_ENCODING_DEFAULTBINARY 572 /* Object */ +#define UA_NS0ID_NODETYPEDESCRIPTION 573 /* DataType */ +#define UA_NS0ID_NODETYPEDESCRIPTION_ENCODING_DEFAULTXML 574 /* Object */ +#define UA_NS0ID_NODETYPEDESCRIPTION_ENCODING_DEFAULTBINARY 575 /* Object */ +#define UA_NS0ID_FILTEROPERATOR 576 /* DataType */ +#define UA_NS0ID_QUERYDATASET 577 /* DataType */ +#define UA_NS0ID_QUERYDATASET_ENCODING_DEFAULTXML 578 /* Object */ +#define UA_NS0ID_QUERYDATASET_ENCODING_DEFAULTBINARY 579 /* Object */ +#define UA_NS0ID_NODEREFERENCE 580 /* DataType */ +#define UA_NS0ID_NODEREFERENCE_ENCODING_DEFAULTXML 581 /* Object */ +#define UA_NS0ID_NODEREFERENCE_ENCODING_DEFAULTBINARY 582 /* Object */ +#define UA_NS0ID_CONTENTFILTERELEMENT 583 /* DataType */ +#define UA_NS0ID_CONTENTFILTERELEMENT_ENCODING_DEFAULTXML 584 /* Object */ +#define UA_NS0ID_CONTENTFILTERELEMENT_ENCODING_DEFAULTBINARY 585 /* Object */ +#define UA_NS0ID_CONTENTFILTER 586 /* DataType */ +#define UA_NS0ID_CONTENTFILTER_ENCODING_DEFAULTXML 587 /* Object */ +#define UA_NS0ID_CONTENTFILTER_ENCODING_DEFAULTBINARY 588 /* Object */ +#define UA_NS0ID_FILTEROPERAND 589 /* DataType */ +#define UA_NS0ID_FILTEROPERAND_ENCODING_DEFAULTXML 590 /* Object */ +#define UA_NS0ID_FILTEROPERAND_ENCODING_DEFAULTBINARY 591 /* Object */ +#define UA_NS0ID_ELEMENTOPERAND 592 /* DataType */ +#define UA_NS0ID_ELEMENTOPERAND_ENCODING_DEFAULTXML 593 /* Object */ +#define UA_NS0ID_ELEMENTOPERAND_ENCODING_DEFAULTBINARY 594 /* Object */ +#define UA_NS0ID_LITERALOPERAND 595 /* DataType */ +#define UA_NS0ID_LITERALOPERAND_ENCODING_DEFAULTXML 596 /* Object */ +#define UA_NS0ID_LITERALOPERAND_ENCODING_DEFAULTBINARY 597 /* Object */ +#define UA_NS0ID_ATTRIBUTEOPERAND 598 /* DataType */ +#define UA_NS0ID_ATTRIBUTEOPERAND_ENCODING_DEFAULTXML 599 /* Object */ +#define UA_NS0ID_ATTRIBUTEOPERAND_ENCODING_DEFAULTBINARY 600 /* Object */ +#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND 601 /* DataType */ +#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND_ENCODING_DEFAULTXML 602 /* Object */ +#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND_ENCODING_DEFAULTBINARY 603 /* Object */ +#define UA_NS0ID_CONTENTFILTERELEMENTRESULT 604 /* DataType */ +#define UA_NS0ID_CONTENTFILTERELEMENTRESULT_ENCODING_DEFAULTXML 605 /* Object */ +#define UA_NS0ID_CONTENTFILTERELEMENTRESULT_ENCODING_DEFAULTBINARY 606 /* Object */ +#define UA_NS0ID_CONTENTFILTERRESULT 607 /* DataType */ +#define UA_NS0ID_CONTENTFILTERRESULT_ENCODING_DEFAULTXML 608 /* Object */ +#define UA_NS0ID_CONTENTFILTERRESULT_ENCODING_DEFAULTBINARY 609 /* Object */ +#define UA_NS0ID_PARSINGRESULT 610 /* DataType */ +#define UA_NS0ID_PARSINGRESULT_ENCODING_DEFAULTXML 611 /* Object */ +#define UA_NS0ID_PARSINGRESULT_ENCODING_DEFAULTBINARY 612 /* Object */ +#define UA_NS0ID_QUERYFIRSTREQUEST 613 /* DataType */ +#define UA_NS0ID_QUERYFIRSTREQUEST_ENCODING_DEFAULTXML 614 /* Object */ +#define UA_NS0ID_QUERYFIRSTREQUEST_ENCODING_DEFAULTBINARY 615 /* Object */ +#define UA_NS0ID_QUERYFIRSTRESPONSE 616 /* DataType */ +#define UA_NS0ID_QUERYFIRSTRESPONSE_ENCODING_DEFAULTXML 617 /* Object */ +#define UA_NS0ID_QUERYFIRSTRESPONSE_ENCODING_DEFAULTBINARY 618 /* Object */ +#define UA_NS0ID_QUERYNEXTREQUEST 619 /* DataType */ +#define UA_NS0ID_QUERYNEXTREQUEST_ENCODING_DEFAULTXML 620 /* Object */ +#define UA_NS0ID_QUERYNEXTREQUEST_ENCODING_DEFAULTBINARY 621 /* Object */ +#define UA_NS0ID_QUERYNEXTRESPONSE 622 /* DataType */ +#define UA_NS0ID_QUERYNEXTRESPONSE_ENCODING_DEFAULTXML 623 /* Object */ +#define UA_NS0ID_QUERYNEXTRESPONSE_ENCODING_DEFAULTBINARY 624 /* Object */ +#define UA_NS0ID_TIMESTAMPSTORETURN 625 /* DataType */ +#define UA_NS0ID_READVALUEID 626 /* DataType */ +#define UA_NS0ID_READVALUEID_ENCODING_DEFAULTXML 627 /* Object */ +#define UA_NS0ID_READVALUEID_ENCODING_DEFAULTBINARY 628 /* Object */ +#define UA_NS0ID_READREQUEST 629 /* DataType */ +#define UA_NS0ID_READREQUEST_ENCODING_DEFAULTXML 630 /* Object */ +#define UA_NS0ID_READREQUEST_ENCODING_DEFAULTBINARY 631 /* Object */ +#define UA_NS0ID_READRESPONSE 632 /* DataType */ +#define UA_NS0ID_READRESPONSE_ENCODING_DEFAULTXML 633 /* Object */ +#define UA_NS0ID_READRESPONSE_ENCODING_DEFAULTBINARY 634 /* Object */ +#define UA_NS0ID_HISTORYREADVALUEID 635 /* DataType */ +#define UA_NS0ID_HISTORYREADVALUEID_ENCODING_DEFAULTXML 636 /* Object */ +#define UA_NS0ID_HISTORYREADVALUEID_ENCODING_DEFAULTBINARY 637 /* Object */ +#define UA_NS0ID_HISTORYREADRESULT 638 /* DataType */ +#define UA_NS0ID_HISTORYREADRESULT_ENCODING_DEFAULTXML 639 /* Object */ +#define UA_NS0ID_HISTORYREADRESULT_ENCODING_DEFAULTBINARY 640 /* Object */ +#define UA_NS0ID_HISTORYREADDETAILS 641 /* DataType */ +#define UA_NS0ID_HISTORYREADDETAILS_ENCODING_DEFAULTXML 642 /* Object */ +#define UA_NS0ID_HISTORYREADDETAILS_ENCODING_DEFAULTBINARY 643 /* Object */ +#define UA_NS0ID_READEVENTDETAILS 644 /* DataType */ +#define UA_NS0ID_READEVENTDETAILS_ENCODING_DEFAULTXML 645 /* Object */ +#define UA_NS0ID_READEVENTDETAILS_ENCODING_DEFAULTBINARY 646 /* Object */ +#define UA_NS0ID_READRAWMODIFIEDDETAILS 647 /* DataType */ +#define UA_NS0ID_READRAWMODIFIEDDETAILS_ENCODING_DEFAULTXML 648 /* Object */ +#define UA_NS0ID_READRAWMODIFIEDDETAILS_ENCODING_DEFAULTBINARY 649 /* Object */ +#define UA_NS0ID_READPROCESSEDDETAILS 650 /* DataType */ +#define UA_NS0ID_READPROCESSEDDETAILS_ENCODING_DEFAULTXML 651 /* Object */ +#define UA_NS0ID_READPROCESSEDDETAILS_ENCODING_DEFAULTBINARY 652 /* Object */ +#define UA_NS0ID_READATTIMEDETAILS 653 /* DataType */ +#define UA_NS0ID_READATTIMEDETAILS_ENCODING_DEFAULTXML 654 /* Object */ +#define UA_NS0ID_READATTIMEDETAILS_ENCODING_DEFAULTBINARY 655 /* Object */ +#define UA_NS0ID_HISTORYDATA 656 /* DataType */ +#define UA_NS0ID_HISTORYDATA_ENCODING_DEFAULTXML 657 /* Object */ +#define UA_NS0ID_HISTORYDATA_ENCODING_DEFAULTBINARY 658 /* Object */ +#define UA_NS0ID_HISTORYEVENT 659 /* DataType */ +#define UA_NS0ID_HISTORYEVENT_ENCODING_DEFAULTXML 660 /* Object */ +#define UA_NS0ID_HISTORYEVENT_ENCODING_DEFAULTBINARY 661 /* Object */ +#define UA_NS0ID_HISTORYREADREQUEST 662 /* DataType */ +#define UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTXML 663 /* Object */ +#define UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTBINARY 664 /* Object */ +#define UA_NS0ID_HISTORYREADRESPONSE 665 /* DataType */ +#define UA_NS0ID_HISTORYREADRESPONSE_ENCODING_DEFAULTXML 666 /* Object */ +#define UA_NS0ID_HISTORYREADRESPONSE_ENCODING_DEFAULTBINARY 667 /* Object */ +#define UA_NS0ID_WRITEVALUE 668 /* DataType */ +#define UA_NS0ID_WRITEVALUE_ENCODING_DEFAULTXML 669 /* Object */ +#define UA_NS0ID_WRITEVALUE_ENCODING_DEFAULTBINARY 670 /* Object */ +#define UA_NS0ID_WRITEREQUEST 671 /* DataType */ +#define UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTXML 672 /* Object */ +#define UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTBINARY 673 /* Object */ +#define UA_NS0ID_WRITERESPONSE 674 /* DataType */ +#define UA_NS0ID_WRITERESPONSE_ENCODING_DEFAULTXML 675 /* Object */ +#define UA_NS0ID_WRITERESPONSE_ENCODING_DEFAULTBINARY 676 /* Object */ +#define UA_NS0ID_HISTORYUPDATEDETAILS 677 /* DataType */ +#define UA_NS0ID_HISTORYUPDATEDETAILS_ENCODING_DEFAULTXML 678 /* Object */ +#define UA_NS0ID_HISTORYUPDATEDETAILS_ENCODING_DEFAULTBINARY 679 /* Object */ +#define UA_NS0ID_UPDATEDATADETAILS 680 /* DataType */ +#define UA_NS0ID_UPDATEDATADETAILS_ENCODING_DEFAULTXML 681 /* Object */ +#define UA_NS0ID_UPDATEDATADETAILS_ENCODING_DEFAULTBINARY 682 /* Object */ +#define UA_NS0ID_UPDATEEVENTDETAILS 683 /* DataType */ +#define UA_NS0ID_UPDATEEVENTDETAILS_ENCODING_DEFAULTXML 684 /* Object */ +#define UA_NS0ID_UPDATEEVENTDETAILS_ENCODING_DEFAULTBINARY 685 /* Object */ +#define UA_NS0ID_DELETERAWMODIFIEDDETAILS 686 /* DataType */ +#define UA_NS0ID_DELETERAWMODIFIEDDETAILS_ENCODING_DEFAULTXML 687 /* Object */ +#define UA_NS0ID_DELETERAWMODIFIEDDETAILS_ENCODING_DEFAULTBINARY 688 /* Object */ +#define UA_NS0ID_DELETEATTIMEDETAILS 689 /* DataType */ +#define UA_NS0ID_DELETEATTIMEDETAILS_ENCODING_DEFAULTXML 690 /* Object */ +#define UA_NS0ID_DELETEATTIMEDETAILS_ENCODING_DEFAULTBINARY 691 /* Object */ +#define UA_NS0ID_DELETEEVENTDETAILS 692 /* DataType */ +#define UA_NS0ID_DELETEEVENTDETAILS_ENCODING_DEFAULTXML 693 /* Object */ +#define UA_NS0ID_DELETEEVENTDETAILS_ENCODING_DEFAULTBINARY 694 /* Object */ +#define UA_NS0ID_HISTORYUPDATERESULT 695 /* DataType */ +#define UA_NS0ID_HISTORYUPDATERESULT_ENCODING_DEFAULTXML 696 /* Object */ +#define UA_NS0ID_HISTORYUPDATERESULT_ENCODING_DEFAULTBINARY 697 /* Object */ +#define UA_NS0ID_HISTORYUPDATEREQUEST 698 /* DataType */ +#define UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTXML 699 /* Object */ +#define UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTBINARY 700 /* Object */ +#define UA_NS0ID_HISTORYUPDATERESPONSE 701 /* DataType */ +#define UA_NS0ID_HISTORYUPDATERESPONSE_ENCODING_DEFAULTXML 702 /* Object */ +#define UA_NS0ID_HISTORYUPDATERESPONSE_ENCODING_DEFAULTBINARY 703 /* Object */ +#define UA_NS0ID_CALLMETHODREQUEST 704 /* DataType */ +#define UA_NS0ID_CALLMETHODREQUEST_ENCODING_DEFAULTXML 705 /* Object */ +#define UA_NS0ID_CALLMETHODREQUEST_ENCODING_DEFAULTBINARY 706 /* Object */ +#define UA_NS0ID_CALLMETHODRESULT 707 /* DataType */ +#define UA_NS0ID_CALLMETHODRESULT_ENCODING_DEFAULTXML 708 /* Object */ +#define UA_NS0ID_CALLMETHODRESULT_ENCODING_DEFAULTBINARY 709 /* Object */ +#define UA_NS0ID_CALLREQUEST 710 /* DataType */ +#define UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTXML 711 /* Object */ +#define UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTBINARY 712 /* Object */ +#define UA_NS0ID_CALLRESPONSE 713 /* DataType */ +#define UA_NS0ID_CALLRESPONSE_ENCODING_DEFAULTXML 714 /* Object */ +#define UA_NS0ID_CALLRESPONSE_ENCODING_DEFAULTBINARY 715 /* Object */ +#define UA_NS0ID_MONITORINGMODE 716 /* DataType */ +#define UA_NS0ID_DATACHANGETRIGGER 717 /* DataType */ +#define UA_NS0ID_DEADBANDTYPE 718 /* DataType */ +#define UA_NS0ID_MONITORINGFILTER 719 /* DataType */ +#define UA_NS0ID_MONITORINGFILTER_ENCODING_DEFAULTXML 720 /* Object */ +#define UA_NS0ID_MONITORINGFILTER_ENCODING_DEFAULTBINARY 721 /* Object */ +#define UA_NS0ID_DATACHANGEFILTER 722 /* DataType */ +#define UA_NS0ID_DATACHANGEFILTER_ENCODING_DEFAULTXML 723 /* Object */ +#define UA_NS0ID_DATACHANGEFILTER_ENCODING_DEFAULTBINARY 724 /* Object */ +#define UA_NS0ID_EVENTFILTER 725 /* DataType */ +#define UA_NS0ID_EVENTFILTER_ENCODING_DEFAULTXML 726 /* Object */ +#define UA_NS0ID_EVENTFILTER_ENCODING_DEFAULTBINARY 727 /* Object */ +#define UA_NS0ID_AGGREGATEFILTER 728 /* DataType */ +#define UA_NS0ID_AGGREGATEFILTER_ENCODING_DEFAULTXML 729 /* Object */ +#define UA_NS0ID_AGGREGATEFILTER_ENCODING_DEFAULTBINARY 730 /* Object */ +#define UA_NS0ID_MONITORINGFILTERRESULT 731 /* DataType */ +#define UA_NS0ID_MONITORINGFILTERRESULT_ENCODING_DEFAULTXML 732 /* Object */ +#define UA_NS0ID_MONITORINGFILTERRESULT_ENCODING_DEFAULTBINARY 733 /* Object */ +#define UA_NS0ID_EVENTFILTERRESULT 734 /* DataType */ +#define UA_NS0ID_EVENTFILTERRESULT_ENCODING_DEFAULTXML 735 /* Object */ +#define UA_NS0ID_EVENTFILTERRESULT_ENCODING_DEFAULTBINARY 736 /* Object */ +#define UA_NS0ID_AGGREGATEFILTERRESULT 737 /* DataType */ +#define UA_NS0ID_AGGREGATEFILTERRESULT_ENCODING_DEFAULTXML 738 /* Object */ +#define UA_NS0ID_AGGREGATEFILTERRESULT_ENCODING_DEFAULTBINARY 739 /* Object */ +#define UA_NS0ID_MONITORINGPARAMETERS 740 /* DataType */ +#define UA_NS0ID_MONITORINGPARAMETERS_ENCODING_DEFAULTXML 741 /* Object */ +#define UA_NS0ID_MONITORINGPARAMETERS_ENCODING_DEFAULTBINARY 742 /* Object */ +#define UA_NS0ID_MONITOREDITEMCREATEREQUEST 743 /* DataType */ +#define UA_NS0ID_MONITOREDITEMCREATEREQUEST_ENCODING_DEFAULTXML 744 /* Object */ +#define UA_NS0ID_MONITOREDITEMCREATEREQUEST_ENCODING_DEFAULTBINARY 745 /* Object */ +#define UA_NS0ID_MONITOREDITEMCREATERESULT 746 /* DataType */ +#define UA_NS0ID_MONITOREDITEMCREATERESULT_ENCODING_DEFAULTXML 747 /* Object */ +#define UA_NS0ID_MONITOREDITEMCREATERESULT_ENCODING_DEFAULTBINARY 748 /* Object */ +#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST 749 /* DataType */ +#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTXML 750 /* Object */ +#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY 751 /* Object */ +#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE 752 /* DataType */ +#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTXML 753 /* Object */ +#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTBINARY 754 /* Object */ +#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST 755 /* DataType */ +#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST_ENCODING_DEFAULTXML 756 /* Object */ +#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST_ENCODING_DEFAULTBINARY 757 /* Object */ +#define UA_NS0ID_MONITOREDITEMMODIFYRESULT 758 /* DataType */ +#define UA_NS0ID_MONITOREDITEMMODIFYRESULT_ENCODING_DEFAULTXML 759 /* Object */ +#define UA_NS0ID_MONITOREDITEMMODIFYRESULT_ENCODING_DEFAULTBINARY 760 /* Object */ +#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST 761 /* DataType */ +#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTXML 762 /* Object */ +#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY 763 /* Object */ +#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE 764 /* DataType */ +#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE_ENCODING_DEFAULTXML 765 /* Object */ +#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE_ENCODING_DEFAULTBINARY 766 /* Object */ +#define UA_NS0ID_SETMONITORINGMODEREQUEST 767 /* DataType */ +#define UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTXML 768 /* Object */ +#define UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTBINARY 769 /* Object */ +#define UA_NS0ID_SETMONITORINGMODERESPONSE 770 /* DataType */ +#define UA_NS0ID_SETMONITORINGMODERESPONSE_ENCODING_DEFAULTXML 771 /* Object */ +#define UA_NS0ID_SETMONITORINGMODERESPONSE_ENCODING_DEFAULTBINARY 772 /* Object */ +#define UA_NS0ID_SETTRIGGERINGREQUEST 773 /* DataType */ +#define UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTXML 774 /* Object */ +#define UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTBINARY 775 /* Object */ +#define UA_NS0ID_SETTRIGGERINGRESPONSE 776 /* DataType */ +#define UA_NS0ID_SETTRIGGERINGRESPONSE_ENCODING_DEFAULTXML 777 /* Object */ +#define UA_NS0ID_SETTRIGGERINGRESPONSE_ENCODING_DEFAULTBINARY 778 /* Object */ +#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST 779 /* DataType */ +#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTXML 780 /* Object */ +#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY 781 /* Object */ +#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE 782 /* DataType */ +#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTXML 783 /* Object */ +#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTBINARY 784 /* Object */ +#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST 785 /* DataType */ +#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTXML 786 /* Object */ +#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY 787 /* Object */ +#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE 788 /* DataType */ +#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE_ENCODING_DEFAULTXML 789 /* Object */ +#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE_ENCODING_DEFAULTBINARY 790 /* Object */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST 791 /* DataType */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTXML 792 /* Object */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY 793 /* Object */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE 794 /* DataType */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE_ENCODING_DEFAULTXML 795 /* Object */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE_ENCODING_DEFAULTBINARY 796 /* Object */ +#define UA_NS0ID_SETPUBLISHINGMODEREQUEST 797 /* DataType */ +#define UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTXML 798 /* Object */ +#define UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTBINARY 799 /* Object */ +#define UA_NS0ID_SETPUBLISHINGMODERESPONSE 800 /* DataType */ +#define UA_NS0ID_SETPUBLISHINGMODERESPONSE_ENCODING_DEFAULTXML 801 /* Object */ +#define UA_NS0ID_SETPUBLISHINGMODERESPONSE_ENCODING_DEFAULTBINARY 802 /* Object */ +#define UA_NS0ID_NOTIFICATIONMESSAGE 803 /* DataType */ +#define UA_NS0ID_NOTIFICATIONMESSAGE_ENCODING_DEFAULTXML 804 /* Object */ +#define UA_NS0ID_NOTIFICATIONMESSAGE_ENCODING_DEFAULTBINARY 805 /* Object */ +#define UA_NS0ID_MONITOREDITEMNOTIFICATION 806 /* DataType */ +#define UA_NS0ID_MONITOREDITEMNOTIFICATION_ENCODING_DEFAULTXML 807 /* Object */ +#define UA_NS0ID_MONITOREDITEMNOTIFICATION_ENCODING_DEFAULTBINARY 808 /* Object */ +#define UA_NS0ID_DATACHANGENOTIFICATION 809 /* DataType */ +#define UA_NS0ID_DATACHANGENOTIFICATION_ENCODING_DEFAULTXML 810 /* Object */ +#define UA_NS0ID_DATACHANGENOTIFICATION_ENCODING_DEFAULTBINARY 811 /* Object */ +#define UA_NS0ID_STATUSCHANGENOTIFICATION 818 /* DataType */ +#define UA_NS0ID_STATUSCHANGENOTIFICATION_ENCODING_DEFAULTXML 819 /* Object */ +#define UA_NS0ID_STATUSCHANGENOTIFICATION_ENCODING_DEFAULTBINARY 820 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT 821 /* DataType */ +#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT_ENCODING_DEFAULTXML 822 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT_ENCODING_DEFAULTBINARY 823 /* Object */ +#define UA_NS0ID_PUBLISHREQUEST 824 /* DataType */ +#define UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTXML 825 /* Object */ +#define UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTBINARY 826 /* Object */ +#define UA_NS0ID_PUBLISHRESPONSE 827 /* DataType */ +#define UA_NS0ID_PUBLISHRESPONSE_ENCODING_DEFAULTXML 828 /* Object */ +#define UA_NS0ID_PUBLISHRESPONSE_ENCODING_DEFAULTBINARY 829 /* Object */ +#define UA_NS0ID_REPUBLISHREQUEST 830 /* DataType */ +#define UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTXML 831 /* Object */ +#define UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTBINARY 832 /* Object */ +#define UA_NS0ID_REPUBLISHRESPONSE 833 /* DataType */ +#define UA_NS0ID_REPUBLISHRESPONSE_ENCODING_DEFAULTXML 834 /* Object */ +#define UA_NS0ID_REPUBLISHRESPONSE_ENCODING_DEFAULTBINARY 835 /* Object */ +#define UA_NS0ID_TRANSFERRESULT 836 /* DataType */ +#define UA_NS0ID_TRANSFERRESULT_ENCODING_DEFAULTXML 837 /* Object */ +#define UA_NS0ID_TRANSFERRESULT_ENCODING_DEFAULTBINARY 838 /* Object */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST 839 /* DataType */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTXML 840 /* Object */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY 841 /* Object */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE 842 /* DataType */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTXML 843 /* Object */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTBINARY 844 /* Object */ +#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST 845 /* DataType */ +#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTXML 846 /* Object */ +#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY 847 /* Object */ +#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE 848 /* DataType */ +#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTXML 849 /* Object */ +#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTBINARY 850 /* Object */ +#define UA_NS0ID_REDUNDANCYSUPPORT 851 /* DataType */ +#define UA_NS0ID_SERVERSTATE 852 /* DataType */ +#define UA_NS0ID_REDUNDANTSERVERDATATYPE 853 /* DataType */ +#define UA_NS0ID_REDUNDANTSERVERDATATYPE_ENCODING_DEFAULTXML 854 /* Object */ +#define UA_NS0ID_REDUNDANTSERVERDATATYPE_ENCODING_DEFAULTBINARY 855 /* Object */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 856 /* DataType */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 857 /* Object */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 858 /* Object */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE 859 /* DataType */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE_ENCODING_DEFAULTXML 860 /* Object */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE_ENCODING_DEFAULTBINARY 861 /* Object */ +#define UA_NS0ID_SERVERSTATUSDATATYPE 862 /* DataType */ +#define UA_NS0ID_SERVERSTATUSDATATYPE_ENCODING_DEFAULTXML 863 /* Object */ +#define UA_NS0ID_SERVERSTATUSDATATYPE_ENCODING_DEFAULTBINARY 864 /* Object */ +#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE 865 /* DataType */ +#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 866 /* Object */ +#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 867 /* Object */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE 868 /* DataType */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 869 /* Object */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 870 /* Object */ +#define UA_NS0ID_SERVICECOUNTERDATATYPE 871 /* DataType */ +#define UA_NS0ID_SERVICECOUNTERDATATYPE_ENCODING_DEFAULTXML 872 /* Object */ +#define UA_NS0ID_SERVICECOUNTERDATATYPE_ENCODING_DEFAULTBINARY 873 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE 874 /* DataType */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 875 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 876 /* Object */ +#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE 877 /* DataType */ +#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTXML 878 /* Object */ +#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTBINARY 879 /* Object */ +#define UA_NS0ID_RANGE 884 /* DataType */ +#define UA_NS0ID_RANGE_ENCODING_DEFAULTXML 885 /* Object */ +#define UA_NS0ID_RANGE_ENCODING_DEFAULTBINARY 886 /* Object */ +#define UA_NS0ID_EUINFORMATION 887 /* DataType */ +#define UA_NS0ID_EUINFORMATION_ENCODING_DEFAULTXML 888 /* Object */ +#define UA_NS0ID_EUINFORMATION_ENCODING_DEFAULTBINARY 889 /* Object */ +#define UA_NS0ID_EXCEPTIONDEVIATIONFORMAT 890 /* DataType */ +#define UA_NS0ID_ANNOTATION 891 /* DataType */ +#define UA_NS0ID_ANNOTATION_ENCODING_DEFAULTXML 892 /* Object */ +#define UA_NS0ID_ANNOTATION_ENCODING_DEFAULTBINARY 893 /* Object */ +#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE 894 /* DataType */ +#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE_ENCODING_DEFAULTXML 895 /* Object */ +#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE_ENCODING_DEFAULTBINARY 896 /* Object */ +#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE 897 /* DataType */ +#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTXML 898 /* Object */ +#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTBINARY 899 /* Object */ +#define UA_NS0ID_EVENTNOTIFICATIONLIST 914 /* DataType */ +#define UA_NS0ID_EVENTNOTIFICATIONLIST_ENCODING_DEFAULTXML 915 /* Object */ +#define UA_NS0ID_EVENTNOTIFICATIONLIST_ENCODING_DEFAULTBINARY 916 /* Object */ +#define UA_NS0ID_EVENTFIELDLIST 917 /* DataType */ +#define UA_NS0ID_EVENTFIELDLIST_ENCODING_DEFAULTXML 918 /* Object */ +#define UA_NS0ID_EVENTFIELDLIST_ENCODING_DEFAULTBINARY 919 /* Object */ +#define UA_NS0ID_HISTORYEVENTFIELDLIST 920 /* DataType */ +#define UA_NS0ID_HISTORYEVENTFIELDLIST_ENCODING_DEFAULTXML 921 /* Object */ +#define UA_NS0ID_HISTORYEVENTFIELDLIST_ENCODING_DEFAULTBINARY 922 /* Object */ +#define UA_NS0ID_ISSUEDIDENTITYTOKEN 938 /* DataType */ +#define UA_NS0ID_ISSUEDIDENTITYTOKEN_ENCODING_DEFAULTXML 939 /* Object */ +#define UA_NS0ID_ISSUEDIDENTITYTOKEN_ENCODING_DEFAULTBINARY 940 /* Object */ +#define UA_NS0ID_NOTIFICATIONDATA 945 /* DataType */ +#define UA_NS0ID_NOTIFICATIONDATA_ENCODING_DEFAULTXML 946 /* Object */ +#define UA_NS0ID_NOTIFICATIONDATA_ENCODING_DEFAULTBINARY 947 /* Object */ +#define UA_NS0ID_AGGREGATECONFIGURATION 948 /* DataType */ +#define UA_NS0ID_AGGREGATECONFIGURATION_ENCODING_DEFAULTXML 949 /* Object */ +#define UA_NS0ID_AGGREGATECONFIGURATION_ENCODING_DEFAULTBINARY 950 /* Object */ +#define UA_NS0ID_IMAGEBMP 2000 /* DataType */ +#define UA_NS0ID_IMAGEGIF 2001 /* DataType */ +#define UA_NS0ID_IMAGEJPG 2002 /* DataType */ +#define UA_NS0ID_IMAGEPNG 2003 /* DataType */ +#define UA_NS0ID_SERVERTYPE 2004 /* ObjectType */ +#define UA_NS0ID_SERVERTYPE_SERVERARRAY 2005 /* Variable */ +#define UA_NS0ID_SERVERTYPE_NAMESPACEARRAY 2006 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS 2007 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVICELEVEL 2008 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES 2009 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS 2010 /* Object */ +#define UA_NS0ID_SERVERTYPE_VENDORSERVERINFO 2011 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERREDUNDANCY 2012 /* Object */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE 2013 /* ObjectType */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_SERVERPROFILEARRAY 2014 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_LOCALEIDARRAY 2016 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MINSUPPORTEDSAMPLERATE 2017 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MODELLINGRULES 2019 /* Object */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE 2020 /* ObjectType */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY 2021 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SAMPLINGINTERVALDIAGNOSTICSARRAY 2022 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SUBSCRIPTIONDIAGNOSTICSARRAY 2023 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_ENABLEDFLAG 2025 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE 2026 /* ObjectType */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_SESSIONDIAGNOSTICSARRAY 2027 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_SESSIONSECURITYDIAGNOSTICSARRAY 2028 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE 2029 /* ObjectType */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS 2030 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS 2031 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SUBSCRIPTIONDIAGNOSTICSARRAY 2032 /* Variable */ +#define UA_NS0ID_VENDORSERVERINFOTYPE 2033 /* ObjectType */ +#define UA_NS0ID_SERVERREDUNDANCYTYPE 2034 /* ObjectType */ +#define UA_NS0ID_SERVERREDUNDANCYTYPE_REDUNDANCYSUPPORT 2035 /* Variable */ +#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE 2036 /* ObjectType */ +#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE_CURRENTSERVERID 2037 /* Variable */ +#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE_REDUNDANTSERVERARRAY 2038 /* Variable */ +#define UA_NS0ID_NONTRANSPARENTREDUNDANCYTYPE 2039 /* ObjectType */ +#define UA_NS0ID_NONTRANSPARENTREDUNDANCYTYPE_SERVERURIARRAY 2040 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE 2041 /* ObjectType */ +#define UA_NS0ID_BASEEVENTTYPE_EVENTID 2042 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_EVENTTYPE 2043 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_SOURCENODE 2044 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_SOURCENAME 2045 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_TIME 2046 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_RECEIVETIME 2047 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_MESSAGE 2050 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_SEVERITY 2051 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE 2052 /* ObjectType */ +#define UA_NS0ID_AUDITEVENTTYPE_ACTIONTIMESTAMP 2053 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_STATUS 2054 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_SERVERID 2055 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_CLIENTAUDITENTRYID 2056 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_CLIENTUSERID 2057 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE 2058 /* ObjectType */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE 2059 /* ObjectType */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE 2060 /* ObjectType */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTCERTIFICATE 2061 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_REQUESTTYPE 2062 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SECURITYPOLICYURI 2063 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SECURITYMODE 2065 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_REQUESTEDLIFETIME 2066 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE 2069 /* ObjectType */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SESSIONID 2070 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE 2071 /* ObjectType */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SECURECHANNELID 2072 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTCERTIFICATE 2073 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_REVISEDSESSIONTIMEOUT 2074 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE 2075 /* ObjectType */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CLIENTSOFTWARECERTIFICATES 2076 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_USERIDENTITYTOKEN 2077 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE 2078 /* ObjectType */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_REQUESTHANDLE 2079 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE 2080 /* ObjectType */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CERTIFICATE 2081 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE 2082 /* ObjectType */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_INVALIDHOSTNAME 2083 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_INVALIDURI 2084 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE 2085 /* ObjectType */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE 2086 /* ObjectType */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE 2087 /* ObjectType */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE 2088 /* ObjectType */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE 2089 /* ObjectType */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE 2090 /* ObjectType */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE 2091 /* ObjectType */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_NODESTOADD 2092 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE 2093 /* ObjectType */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_NODESTODELETE 2094 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE 2095 /* ObjectType */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_REFERENCESTOADD 2096 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE 2097 /* ObjectType */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_REFERENCESTODELETE 2098 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE 2099 /* ObjectType */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE 2100 /* ObjectType */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_INDEXRANGE 2101 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_OLDVALUE 2102 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_NEWVALUE 2103 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE 2104 /* ObjectType */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE 2127 /* ObjectType */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_METHODID 2128 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_INPUTARGUMENTS 2129 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE 2130 /* ObjectType */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE 2131 /* ObjectType */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE 2132 /* ObjectType */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE 2133 /* ObjectType */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CHANGES 2134 /* Variable */ +#define UA_NS0ID_SERVERVENDORCAPABILITYTYPE 2137 /* VariableType */ +#define UA_NS0ID_SERVERSTATUSTYPE 2138 /* VariableType */ +#define UA_NS0ID_SERVERSTATUSTYPE_STARTTIME 2139 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_CURRENTTIME 2140 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_STATE 2141 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO 2142 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE 2150 /* VariableType */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SERVERVIEWCOUNT 2151 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CURRENTSESSIONCOUNT 2152 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CUMULATEDSESSIONCOUNT 2153 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SECURITYREJECTEDSESSIONCOUNT 2154 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_REJECTEDSESSIONCOUNT 2155 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SESSIONTIMEOUTCOUNT 2156 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SESSIONABORTCOUNT 2157 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_PUBLISHINGINTERVALCOUNT 2159 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CURRENTSUBSCRIPTIONCOUNT 2160 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CUMULATEDSUBSCRIPTIONCOUNT 2161 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SECURITYREJECTEDREQUESTSCOUNT 2162 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_REJECTEDREQUESTSCOUNT 2163 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE 2164 /* VariableType */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE 2165 /* VariableType */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_SAMPLINGINTERVAL 2166 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE 2171 /* VariableType */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE 2172 /* VariableType */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_SESSIONID 2173 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_SUBSCRIPTIONID 2174 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PRIORITY 2175 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PUBLISHINGINTERVAL 2176 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MAXKEEPALIVECOUNT 2177 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MAXNOTIFICATIONSPERPUBLISH 2179 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PUBLISHINGENABLED 2180 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MODIFYCOUNT 2181 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_ENABLECOUNT 2182 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DISABLECOUNT 2183 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_REPUBLISHREQUESTCOUNT 2184 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_REPUBLISHMESSAGEREQUESTCOUNT 2185 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_REPUBLISHMESSAGECOUNT 2186 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_TRANSFERREQUESTCOUNT 2187 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_TRANSFERREDTOALTCLIENTCOUNT 2188 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_TRANSFERREDTOSAMECLIENTCOUNT 2189 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PUBLISHREQUESTCOUNT 2190 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DATACHANGENOTIFICATIONSCOUNT 2191 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_NOTIFICATIONSCOUNT 2193 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE 2196 /* VariableType */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE 2197 /* VariableType */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SESSIONID 2198 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SESSIONNAME 2199 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CLIENTDESCRIPTION 2200 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SERVERURI 2201 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ENDPOINTURL 2202 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_LOCALEIDS 2203 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ACTUALSESSIONTIMEOUT 2204 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CLIENTCONNECTIONTIME 2205 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CLIENTLASTCONTACTTIME 2206 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CURRENTSUBSCRIPTIONSCOUNT 2207 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CURRENTMONITOREDITEMSCOUNT 2208 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CURRENTPUBLISHREQUESTSINQUEUE 2209 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_READCOUNT 2217 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_HISTORYREADCOUNT 2218 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_WRITECOUNT 2219 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_HISTORYUPDATECOUNT 2220 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CALLCOUNT 2221 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CREATEMONITOREDITEMSCOUNT 2222 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_MODIFYMONITOREDITEMSCOUNT 2223 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SETMONITORINGMODECOUNT 2224 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SETTRIGGERINGCOUNT 2225 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETEMONITOREDITEMSCOUNT 2226 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CREATESUBSCRIPTIONCOUNT 2227 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_MODIFYSUBSCRIPTIONCOUNT 2228 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SETPUBLISHINGMODECOUNT 2229 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_PUBLISHCOUNT 2230 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_REPUBLISHCOUNT 2231 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_TRANSFERSUBSCRIPTIONSCOUNT 2232 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETESUBSCRIPTIONSCOUNT 2233 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ADDNODESCOUNT 2234 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ADDREFERENCESCOUNT 2235 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETENODESCOUNT 2236 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETEREFERENCESCOUNT 2237 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_BROWSECOUNT 2238 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_BROWSENEXTCOUNT 2239 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 2240 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_QUERYFIRSTCOUNT 2241 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_QUERYNEXTCOUNT 2242 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE 2243 /* VariableType */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE 2244 /* VariableType */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_SESSIONID 2245 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_CLIENTUSERIDOFSESSION 2246 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_CLIENTUSERIDHISTORY 2247 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_AUTHENTICATIONMECHANISM 2248 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_ENCODING 2249 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_TRANSPORTPROTOCOL 2250 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_SECURITYMODE 2251 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_SECURITYPOLICYURI 2252 /* Variable */ +#define UA_NS0ID_SERVER 2253 /* Object */ +#define UA_NS0ID_SERVER_SERVERARRAY 2254 /* Variable */ +#define UA_NS0ID_SERVER_NAMESPACEARRAY 2255 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS 2256 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_STARTTIME 2257 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_CURRENTTIME 2258 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_STATE 2259 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO 2260 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME 2261 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI 2262 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME 2263 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION 2264 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER 2265 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE 2266 /* Variable */ +#define UA_NS0ID_SERVER_SERVICELEVEL 2267 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES 2268 /* Object */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_SERVERPROFILEARRAY 2269 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_LOCALEIDARRAY 2271 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MINSUPPORTEDSAMPLERATE 2272 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS 2274 /* Object */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY 2275 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT 2276 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT 2277 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT 2278 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT 2279 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT 2281 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT 2282 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT 2284 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT 2285 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT 2286 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT 2287 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT 2288 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SAMPLINGINTERVALDIAGNOSTICSARRAY 2289 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY 2290 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_ENABLEDFLAG 2294 /* Variable */ +#define UA_NS0ID_SERVER_VENDORSERVERINFO 2295 /* Object */ +#define UA_NS0ID_SERVER_SERVERREDUNDANCY 2296 /* Object */ +#define UA_NS0ID_STATEMACHINETYPE 2299 /* ObjectType */ +#define UA_NS0ID_STATETYPE 2307 /* ObjectType */ +#define UA_NS0ID_STATETYPE_STATENUMBER 2308 /* Variable */ +#define UA_NS0ID_INITIALSTATETYPE 2309 /* ObjectType */ +#define UA_NS0ID_TRANSITIONTYPE 2310 /* ObjectType */ +#define UA_NS0ID_TRANSITIONEVENTTYPE 2311 /* ObjectType */ +#define UA_NS0ID_TRANSITIONTYPE_TRANSITIONNUMBER 2312 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE 2315 /* ObjectType */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE 2318 /* ObjectType */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_STEPPED 2323 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_DEFINITION 2324 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_MAXTIMEINTERVAL 2325 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_MINTIMEINTERVAL 2326 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_EXCEPTIONDEVIATION 2327 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_EXCEPTIONDEVIATIONFORMAT 2328 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE 2330 /* ObjectType */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_ACCESSHISTORYDATACAPABILITY 2331 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_ACCESSHISTORYEVENTSCAPABILITY 2332 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_INSERTDATACAPABILITY 2334 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_REPLACEDATACAPABILITY 2335 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_UPDATEDATACAPABILITY 2336 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_DELETERAWCAPABILITY 2337 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_DELETEATTIMECAPABILITY 2338 /* Variable */ +#define UA_NS0ID_AGGREGATEFUNCTIONTYPE 2340 /* ObjectType */ +#define UA_NS0ID_AGGREGATEFUNCTION_INTERPOLATIVE 2341 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_AVERAGE 2342 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_TIMEAVERAGE 2343 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_TOTAL 2344 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUM 2346 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUM 2347 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUMACTUALTIME 2348 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUMACTUALTIME 2349 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_RANGE 2350 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_ANNOTATIONCOUNT 2351 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_COUNT 2352 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_NUMBEROFTRANSITIONS 2355 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_START 2357 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_END 2358 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_DELTA 2359 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONGOOD 2360 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONBAD 2361 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_PERCENTGOOD 2362 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_PERCENTBAD 2363 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_WORSTQUALITY 2364 /* Object */ +#define UA_NS0ID_DATAITEMTYPE 2365 /* VariableType */ +#define UA_NS0ID_DATAITEMTYPE_DEFINITION 2366 /* Variable */ +#define UA_NS0ID_DATAITEMTYPE_VALUEPRECISION 2367 /* Variable */ +#define UA_NS0ID_ANALOGITEMTYPE 2368 /* VariableType */ +#define UA_NS0ID_ANALOGITEMTYPE_EURANGE 2369 /* Variable */ +#define UA_NS0ID_ANALOGITEMTYPE_INSTRUMENTRANGE 2370 /* Variable */ +#define UA_NS0ID_ANALOGITEMTYPE_ENGINEERINGUNITS 2371 /* Variable */ +#define UA_NS0ID_DISCRETEITEMTYPE 2372 /* VariableType */ +#define UA_NS0ID_TWOSTATEDISCRETETYPE 2373 /* VariableType */ +#define UA_NS0ID_TWOSTATEDISCRETETYPE_FALSESTATE 2374 /* Variable */ +#define UA_NS0ID_TWOSTATEDISCRETETYPE_TRUESTATE 2375 /* Variable */ +#define UA_NS0ID_MULTISTATEDISCRETETYPE 2376 /* VariableType */ +#define UA_NS0ID_MULTISTATEDISCRETETYPE_ENUMSTRINGS 2377 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE 2378 /* ObjectType */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_INTERMEDIATERESULT 2379 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE 2380 /* VariableType */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_CREATESESSIONID 2381 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_CREATECLIENTNAME 2382 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_INVOCATIONCREATIONTIME 2383 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTTRANSITIONTIME 2384 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODCALL 2385 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODSESSIONID 2386 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODINPUTARGUMENTS 2387 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODOUTPUTARGUMENTS 2388 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODCALLTIME 2389 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODRETURNSTATUS 2390 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE 2391 /* ObjectType */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CREATABLE 2392 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_DELETABLE 2393 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_AUTODELETE 2394 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RECYCLECOUNT 2395 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_INSTANCECOUNT 2396 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_MAXINSTANCECOUNT 2397 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_MAXRECYCLECOUNT 2398 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC 2399 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READY 2400 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READY_STATENUMBER 2401 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNING 2402 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNING_STATENUMBER 2403 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDED 2404 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDED_STATENUMBER 2405 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTED 2406 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTED_STATENUMBER 2407 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTEDTOREADY 2408 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTEDTOREADY_TRANSITIONNUMBER 2409 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTORUNNING 2410 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTORUNNING_TRANSITIONNUMBER 2411 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOHALTED 2412 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOHALTED_TRANSITIONNUMBER 2413 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOREADY 2414 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOREADY_TRANSITIONNUMBER 2415 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOSUSPENDED 2416 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOSUSPENDED_TRANSITIONNUMBER 2417 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTORUNNING 2418 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTORUNNING_TRANSITIONNUMBER 2419 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOHALTED 2420 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOHALTED_TRANSITIONNUMBER 2421 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOREADY 2422 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOREADY_TRANSITIONNUMBER 2423 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTOHALTED 2424 /* Object */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTOHALTED_TRANSITIONNUMBER 2425 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_START 2426 /* Method */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPEND 2427 /* Method */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RESUME 2428 /* Method */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALT 2429 /* Method */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RESET 2430 /* Method */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_REGISTERNODESCOUNT 2730 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_UNREGISTERNODESCOUNT 2731 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXBROWSECONTINUATIONPOINTS 2732 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXQUERYCONTINUATIONPOINTS 2733 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXHISTORYCONTINUATIONPOINTS 2734 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBROWSECONTINUATIONPOINTS 2735 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXQUERYCONTINUATIONPOINTS 2736 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXHISTORYCONTINUATIONPOINTS 2737 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE 2738 /* ObjectType */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CHANGES 2739 /* Variable */ +#define UA_NS0ID_SERVERTYPE_AUDITING 2742 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SESSIONSDIAGNOSTICSSUMMARY 2744 /* Object */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SECURECHANNELID 2745 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTCERTIFICATETHUMBPRINT 2746 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTCERTIFICATETHUMBPRINT 2747 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE 2748 /* ObjectType */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_ENDPOINTURL 2749 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_ATTRIBUTEID 2750 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_PARAMETERDATATYPEID 2751 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_SECONDSTILLSHUTDOWN 2752 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_SHUTDOWNREASON 2753 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_AGGREGATEFUNCTIONS 2754 /* Object */ +#define UA_NS0ID_STATEVARIABLETYPE 2755 /* VariableType */ +#define UA_NS0ID_STATEVARIABLETYPE_ID 2756 /* Variable */ +#define UA_NS0ID_STATEVARIABLETYPE_NAME 2757 /* Variable */ +#define UA_NS0ID_STATEVARIABLETYPE_NUMBER 2758 /* Variable */ +#define UA_NS0ID_STATEVARIABLETYPE_EFFECTIVEDISPLAYNAME 2759 /* Variable */ +#define UA_NS0ID_FINITESTATEVARIABLETYPE 2760 /* VariableType */ +#define UA_NS0ID_FINITESTATEVARIABLETYPE_ID 2761 /* Variable */ +#define UA_NS0ID_TRANSITIONVARIABLETYPE 2762 /* VariableType */ +#define UA_NS0ID_TRANSITIONVARIABLETYPE_ID 2763 /* Variable */ +#define UA_NS0ID_TRANSITIONVARIABLETYPE_NAME 2764 /* Variable */ +#define UA_NS0ID_TRANSITIONVARIABLETYPE_NUMBER 2765 /* Variable */ +#define UA_NS0ID_TRANSITIONVARIABLETYPE_TRANSITIONTIME 2766 /* Variable */ +#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE 2767 /* VariableType */ +#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_ID 2768 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE 2769 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION 2770 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE 2771 /* ObjectType */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE 2772 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION 2773 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION 2774 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE 2775 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE 2776 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_OLDSTATEID 2777 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_NEWSTATEID 2778 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE 2782 /* ObjectType */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE 2787 /* ObjectType */ +#define UA_NS0ID_REFRESHENDEVENTTYPE 2788 /* ObjectType */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE 2789 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE 2790 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE 2803 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE 2829 /* ObjectType */ +#define UA_NS0ID_DIALOGCONDITIONTYPE 2830 /* ObjectType */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_PROMPT 2831 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE 2881 /* ObjectType */ +#define UA_NS0ID_ALARMCONDITIONTYPE 2915 /* ObjectType */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE 2929 /* ObjectType */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVED 2930 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVED 2932 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVED 2933 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOTIMEDSHELVED 2935 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOONESHOTSHELVED 2936 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOUNSHELVED 2940 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOONESHOTSHELVED 2942 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOUNSHELVED 2943 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOTIMEDSHELVED 2945 /* Object */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVE 2947 /* Method */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVE 2948 /* Method */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE 2949 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE 2955 /* ObjectType */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE_INPUTARGUMENTS 2991 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN 2992 /* Variable */ +#define UA_NS0ID_SERVER_SERVERSTATUS_SHUTDOWNREASON 2993 /* Variable */ +#define UA_NS0ID_SERVER_AUDITING 2994 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES 2996 /* Object */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_AGGREGATEFUNCTIONS 2997 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_EVENTNOTIFICATIONSCOUNT 2998 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE 2999 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_FILTER 3003 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE 3006 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE 3012 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE 3014 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_ISDELETEMODIFIED 3015 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_STARTTIME 3016 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_ENDTIME 3017 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE 3019 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_REQTIMES 3020 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_OLDVALUES 3021 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE 3022 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_EVENTIDS 3023 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_OLDVALUES 3024 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_UPDATEDNODE 3025 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_UPDATEDNODE 3026 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_UPDATEDNODE 3027 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_PERFORMINSERTREPLACE 3028 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_NEWVALUES 3029 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_OLDVALUES 3030 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_PERFORMINSERTREPLACE 3031 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_NEWVALUES 3032 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_OLDVALUES 3033 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_OLDVALUES 3034 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE 3035 /* ObjectType */ +#define UA_NS0ID_EVENTTYPESFOLDER 3048 /* Object */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_SOFTWARECERTIFICATES 3049 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_MAXRESPONSEMESSAGESIZE 3050 /* Variable */ +#define UA_NS0ID_BUILDINFOTYPE 3051 /* VariableType */ +#define UA_NS0ID_BUILDINFOTYPE_PRODUCTURI 3052 /* Variable */ +#define UA_NS0ID_BUILDINFOTYPE_MANUFACTURERNAME 3053 /* Variable */ +#define UA_NS0ID_BUILDINFOTYPE_PRODUCTNAME 3054 /* Variable */ +#define UA_NS0ID_BUILDINFOTYPE_SOFTWAREVERSION 3055 /* Variable */ +#define UA_NS0ID_BUILDINFOTYPE_BUILDNUMBER 3056 /* Variable */ +#define UA_NS0ID_BUILDINFOTYPE_BUILDDATE 3057 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_CLIENTCERTIFICATE 3058 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION 3059 /* Object */ +#define UA_NS0ID_DEFAULTBINARY 3062 /* Object */ +#define UA_NS0ID_DEFAULTXML 3063 /* Object */ +#define UA_NS0ID_ALWAYSGENERATESEVENT 3065 /* ReferenceType */ +#define UA_NS0ID_ICON 3067 /* Variable */ +#define UA_NS0ID_NODEVERSION 3068 /* Variable */ +#define UA_NS0ID_LOCALTIME 3069 /* Variable */ +#define UA_NS0ID_ALLOWNULLS 3070 /* Variable */ +#define UA_NS0ID_ENUMVALUES 3071 /* Variable */ +#define UA_NS0ID_INPUTARGUMENTS 3072 /* Variable */ +#define UA_NS0ID_OUTPUTARGUMENTS 3073 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_STARTTIME 3074 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_CURRENTTIME 3075 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_STATE 3076 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO 3077 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_PRODUCTURI 3078 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME 3079 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_PRODUCTNAME 3080 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION 3081 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_BUILDNUMBER 3082 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_BUILDDATE 3083 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_SECONDSTILLSHUTDOWN 3084 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_SHUTDOWNREASON 3085 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_SERVERPROFILEARRAY 3086 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_LOCALEIDARRAY 3087 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MINSUPPORTEDSAMPLERATE 3088 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXBROWSECONTINUATIONPOINTS 3089 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXQUERYCONTINUATIONPOINTS 3090 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXHISTORYCONTINUATIONPOINTS 3091 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_SOFTWARECERTIFICATES 3092 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MODELLINGRULES 3093 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_AGGREGATEFUNCTIONS 3094 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY 3095 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT 3096 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT 3097 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT 3098 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT 3099 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT 3100 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT 3101 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT 3102 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT 3104 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT 3105 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT 3106 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT 3107 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT 3108 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SAMPLINGINTERVALDIAGNOSTICSARRAY 3109 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY 3110 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY 3111 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY 3112 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY 3113 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_ENABLEDFLAG 3114 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERREDUNDANCY_REDUNDANCYSUPPORT 3115 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT 3116 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT 3117 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT 3118 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT 3119 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT 3120 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT 3121 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT 3122 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT 3124 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT 3125 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT 3126 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT 3127 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT 3128 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY 3129 /* Variable */ +#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY 3130 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SESSIONID 3131 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SESSIONNAME 3132 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CLIENTDESCRIPTION 3133 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SERVERURI 3134 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ENDPOINTURL 3135 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_LOCALEIDS 3136 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ACTUALSESSIONTIMEOUT 3137 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_MAXRESPONSEMESSAGESIZE 3138 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CLIENTCONNECTIONTIME 3139 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CLIENTLASTCONTACTTIME 3140 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CURRENTSUBSCRIPTIONSCOUNT 3141 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CURRENTMONITOREDITEMSCOUNT 3142 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CURRENTPUBLISHREQUESTSINQUEUE 3143 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_READCOUNT 3151 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_HISTORYREADCOUNT 3152 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_WRITECOUNT 3153 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_HISTORYUPDATECOUNT 3154 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CALLCOUNT 3155 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CREATEMONITOREDITEMSCOUNT 3156 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_MODIFYMONITOREDITEMSCOUNT 3157 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SETMONITORINGMODECOUNT 3158 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SETTRIGGERINGCOUNT 3159 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETEMONITOREDITEMSCOUNT 3160 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CREATESUBSCRIPTIONCOUNT 3161 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_MODIFYSUBSCRIPTIONCOUNT 3162 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SETPUBLISHINGMODECOUNT 3163 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_PUBLISHCOUNT 3164 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_REPUBLISHCOUNT 3165 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_TRANSFERSUBSCRIPTIONSCOUNT 3166 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETESUBSCRIPTIONSCOUNT 3167 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ADDNODESCOUNT 3168 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ADDREFERENCESCOUNT 3169 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETENODESCOUNT 3170 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETEREFERENCESCOUNT 3171 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_BROWSECOUNT 3172 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_BROWSENEXTCOUNT 3173 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 3174 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_QUERYFIRSTCOUNT 3175 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_QUERYNEXTCOUNT 3176 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_REGISTERNODESCOUNT 3177 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_UNREGISTERNODESCOUNT 3178 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_SESSIONID 3179 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDOFSESSION 3180 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDHISTORY 3181 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_AUTHENTICATIONMECHANISM 3182 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_ENCODING 3183 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_TRANSPORTPROTOCOL 3184 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYMODE 3185 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYPOLICYURI 3186 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTCERTIFICATE 3187 /* Variable */ +#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE_REDUNDANCYSUPPORT 3188 /* Variable */ +#define UA_NS0ID_NONTRANSPARENTREDUNDANCYTYPE_REDUNDANCYSUPPORT 3189 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_LOCALTIME 3190 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_EVENTID 3191 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_EVENTTYPE 3192 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_SOURCENODE 3193 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_SOURCENAME 3194 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_TIME 3195 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_RECEIVETIME 3196 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_LOCALTIME 3197 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_MESSAGE 3198 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_SEVERITY 3199 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_EVENTID 3200 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_EVENTTYPE 3201 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_SOURCENODE 3202 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_SOURCENAME 3203 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_TIME 3204 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_RECEIVETIME 3205 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_LOCALTIME 3206 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_MESSAGE 3207 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_SEVERITY 3208 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_EVENTID 3209 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_EVENTTYPE 3210 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SOURCENODE 3211 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SOURCENAME 3212 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_TIME 3213 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_RECEIVETIME 3214 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_LOCALTIME 3215 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_MESSAGE 3216 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SEVERITY 3217 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_ACTIONTIMESTAMP 3218 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_STATUS 3219 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SERVERID 3220 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CLIENTAUDITENTRYID 3221 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CLIENTUSERID 3222 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_EVENTID 3223 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_EVENTTYPE 3224 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SOURCENODE 3225 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SOURCENAME 3226 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_TIME 3227 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_RECEIVETIME 3228 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_LOCALTIME 3229 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_MESSAGE 3230 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SEVERITY 3231 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_ACTIONTIMESTAMP 3232 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_STATUS 3233 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SERVERID 3234 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CLIENTAUDITENTRYID 3235 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CLIENTUSERID 3236 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_EVENTID 3237 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_EVENTTYPE 3238 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SOURCENODE 3239 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SOURCENAME 3240 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_TIME 3241 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_RECEIVETIME 3242 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_LOCALTIME 3243 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_MESSAGE 3244 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SEVERITY 3245 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_ACTIONTIMESTAMP 3246 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_STATUS 3247 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SERVERID 3248 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTAUDITENTRYID 3249 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTUSERID 3250 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SECURECHANNELID 3251 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_EVENTID 3252 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_EVENTTYPE 3253 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SOURCENODE 3254 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SOURCENAME 3255 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_TIME 3256 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_RECEIVETIME 3257 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_LOCALTIME 3258 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_MESSAGE 3259 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SEVERITY 3260 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_ACTIONTIMESTAMP 3261 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_STATUS 3262 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SERVERID 3263 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CLIENTAUDITENTRYID 3264 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CLIENTUSERID 3265 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_EVENTID 3266 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_EVENTTYPE 3267 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SOURCENODE 3268 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SOURCENAME 3269 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_TIME 3270 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_RECEIVETIME 3271 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_LOCALTIME 3272 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_MESSAGE 3273 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SEVERITY 3274 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_ACTIONTIMESTAMP 3275 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_STATUS 3276 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SERVERID 3277 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTAUDITENTRYID 3278 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTUSERID 3279 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_EVENTID 3281 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_EVENTTYPE 3282 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SOURCENODE 3283 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SOURCENAME 3284 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_TIME 3285 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_RECEIVETIME 3286 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_LOCALTIME 3287 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_MESSAGE 3288 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SEVERITY 3289 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_ACTIONTIMESTAMP 3290 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_STATUS 3291 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SERVERID 3292 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTAUDITENTRYID 3293 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTUSERID 3294 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SECURECHANNELID 3296 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTCERTIFICATE 3297 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTCERTIFICATETHUMBPRINT 3298 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_REVISEDSESSIONTIMEOUT 3299 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_EVENTID 3300 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_EVENTTYPE 3301 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SOURCENODE 3302 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SOURCENAME 3303 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_TIME 3304 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_RECEIVETIME 3305 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_LOCALTIME 3306 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_MESSAGE 3307 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SEVERITY 3308 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_ACTIONTIMESTAMP 3309 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_STATUS 3310 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SERVERID 3311 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CLIENTAUDITENTRYID 3312 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CLIENTUSERID 3313 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SESSIONID 3314 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_EVENTID 3315 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_EVENTTYPE 3316 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_SOURCENODE 3317 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_SOURCENAME 3318 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_TIME 3319 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_RECEIVETIME 3320 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_LOCALTIME 3321 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_MESSAGE 3322 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_SEVERITY 3323 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_ACTIONTIMESTAMP 3324 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_STATUS 3325 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_SERVERID 3326 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_CLIENTAUDITENTRYID 3327 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_CLIENTUSERID 3328 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_SESSIONID 3329 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_EVENTID 3330 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_EVENTTYPE 3331 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SOURCENODE 3332 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SOURCENAME 3333 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_TIME 3334 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_RECEIVETIME 3335 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_LOCALTIME 3336 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_MESSAGE 3337 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SEVERITY 3338 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_ACTIONTIMESTAMP 3339 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_STATUS 3340 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SERVERID 3341 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CLIENTAUDITENTRYID 3342 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CLIENTUSERID 3343 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_EVENTID 3344 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_EVENTTYPE 3345 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SOURCENODE 3346 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SOURCENAME 3347 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_TIME 3348 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_RECEIVETIME 3349 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_LOCALTIME 3350 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_MESSAGE 3351 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SEVERITY 3352 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_ACTIONTIMESTAMP 3353 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_STATUS 3354 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SERVERID 3355 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CLIENTAUDITENTRYID 3356 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CLIENTUSERID 3357 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CERTIFICATE 3358 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_EVENTID 3359 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_EVENTTYPE 3360 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SOURCENODE 3361 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SOURCENAME 3362 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_TIME 3363 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_RECEIVETIME 3364 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_LOCALTIME 3365 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_MESSAGE 3366 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SEVERITY 3367 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_ACTIONTIMESTAMP 3368 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_STATUS 3369 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SERVERID 3370 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CLIENTAUDITENTRYID 3371 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CLIENTUSERID 3372 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CERTIFICATE 3373 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_EVENTID 3374 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_EVENTTYPE 3375 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SOURCENODE 3376 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SOURCENAME 3377 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_TIME 3378 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_RECEIVETIME 3379 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_LOCALTIME 3380 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_MESSAGE 3381 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SEVERITY 3382 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_ACTIONTIMESTAMP 3383 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_STATUS 3384 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SERVERID 3385 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CLIENTAUDITENTRYID 3386 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CLIENTUSERID 3387 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CERTIFICATE 3388 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_EVENTID 3389 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_EVENTTYPE 3390 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SOURCENODE 3391 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SOURCENAME 3392 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_TIME 3393 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_RECEIVETIME 3394 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_LOCALTIME 3395 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_MESSAGE 3396 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SEVERITY 3397 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_ACTIONTIMESTAMP 3398 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_STATUS 3399 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SERVERID 3400 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CLIENTAUDITENTRYID 3401 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CLIENTUSERID 3402 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CERTIFICATE 3403 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_EVENTID 3404 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_EVENTTYPE 3405 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SOURCENODE 3406 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SOURCENAME 3407 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_TIME 3408 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_RECEIVETIME 3409 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_LOCALTIME 3410 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_MESSAGE 3411 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SEVERITY 3412 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_ACTIONTIMESTAMP 3413 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_STATUS 3414 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SERVERID 3415 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CLIENTAUDITENTRYID 3416 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CLIENTUSERID 3417 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CERTIFICATE 3418 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_EVENTID 3419 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_EVENTTYPE 3420 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SOURCENODE 3421 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SOURCENAME 3422 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_TIME 3423 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_RECEIVETIME 3424 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_LOCALTIME 3425 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_MESSAGE 3426 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SEVERITY 3427 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_ACTIONTIMESTAMP 3428 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_STATUS 3429 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SERVERID 3430 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CLIENTAUDITENTRYID 3431 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CLIENTUSERID 3432 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CERTIFICATE 3433 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_EVENTID 3434 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_EVENTTYPE 3435 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SOURCENODE 3436 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SOURCENAME 3437 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_TIME 3438 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_RECEIVETIME 3439 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_LOCALTIME 3440 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_MESSAGE 3441 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SEVERITY 3442 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_ACTIONTIMESTAMP 3443 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_STATUS 3444 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SERVERID 3445 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CLIENTAUDITENTRYID 3446 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CLIENTUSERID 3447 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_EVENTID 3448 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_EVENTTYPE 3449 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SOURCENODE 3450 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SOURCENAME 3451 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_TIME 3452 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_RECEIVETIME 3453 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_LOCALTIME 3454 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_MESSAGE 3455 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SEVERITY 3456 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_ACTIONTIMESTAMP 3457 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_STATUS 3458 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SERVERID 3459 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CLIENTAUDITENTRYID 3460 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CLIENTUSERID 3461 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_EVENTID 3462 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_EVENTTYPE 3463 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SOURCENODE 3464 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SOURCENAME 3465 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_TIME 3466 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_RECEIVETIME 3467 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_LOCALTIME 3468 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_MESSAGE 3469 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SEVERITY 3470 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_ACTIONTIMESTAMP 3471 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_STATUS 3472 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SERVERID 3473 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CLIENTAUDITENTRYID 3474 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CLIENTUSERID 3475 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_EVENTID 3476 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_EVENTTYPE 3477 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SOURCENODE 3478 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SOURCENAME 3479 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_TIME 3480 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_RECEIVETIME 3481 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_LOCALTIME 3482 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_MESSAGE 3483 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SEVERITY 3484 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_ACTIONTIMESTAMP 3485 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_STATUS 3486 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SERVERID 3487 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CLIENTAUDITENTRYID 3488 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CLIENTUSERID 3489 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_EVENTID 3490 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_EVENTTYPE 3491 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SOURCENODE 3492 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SOURCENAME 3493 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_TIME 3494 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_RECEIVETIME 3495 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_LOCALTIME 3496 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_MESSAGE 3497 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SEVERITY 3498 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_ACTIONTIMESTAMP 3499 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_STATUS 3500 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SERVERID 3501 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CLIENTAUDITENTRYID 3502 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CLIENTUSERID 3503 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_EVENTID 3504 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_EVENTTYPE 3505 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SOURCENODE 3506 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SOURCENAME 3507 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_TIME 3508 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_RECEIVETIME 3509 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_LOCALTIME 3510 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_MESSAGE 3511 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SEVERITY 3512 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_ACTIONTIMESTAMP 3513 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_STATUS 3514 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SERVERID 3515 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3516 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CLIENTUSERID 3517 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_EVENTID 3518 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_EVENTTYPE 3519 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SOURCENODE 3520 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SOURCENAME 3521 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_TIME 3522 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_RECEIVETIME 3523 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_LOCALTIME 3524 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_MESSAGE 3525 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SEVERITY 3526 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_ACTIONTIMESTAMP 3527 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_STATUS 3528 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SERVERID 3529 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3530 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CLIENTUSERID 3531 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_EVENTID 3532 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_EVENTTYPE 3533 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SOURCENODE 3534 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SOURCENAME 3535 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_TIME 3536 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_RECEIVETIME 3537 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_LOCALTIME 3538 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_MESSAGE 3539 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SEVERITY 3540 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_ACTIONTIMESTAMP 3541 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_STATUS 3542 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SERVERID 3543 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3544 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CLIENTUSERID 3545 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_EVENTID 3546 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_EVENTTYPE 3547 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SOURCENODE 3548 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SOURCENAME 3549 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_TIME 3550 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_RECEIVETIME 3551 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_LOCALTIME 3552 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_MESSAGE 3553 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SEVERITY 3554 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_ACTIONTIMESTAMP 3555 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_STATUS 3556 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SERVERID 3557 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3558 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CLIENTUSERID 3559 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_PARAMETERDATATYPEID 3560 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_EVENTID 3561 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_EVENTTYPE 3562 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SOURCENODE 3563 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SOURCENAME 3564 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_TIME 3565 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_RECEIVETIME 3566 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_LOCALTIME 3567 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_MESSAGE 3568 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SEVERITY 3569 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_ACTIONTIMESTAMP 3570 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_STATUS 3571 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SERVERID 3572 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3573 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CLIENTUSERID 3574 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_PARAMETERDATATYPEID 3575 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_EVENTID 3576 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_EVENTTYPE 3577 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SOURCENODE 3578 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SOURCENAME 3579 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_TIME 3580 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_RECEIVETIME 3581 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_LOCALTIME 3582 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_MESSAGE 3583 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SEVERITY 3584 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_ACTIONTIMESTAMP 3585 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_STATUS 3586 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SERVERID 3587 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CLIENTAUDITENTRYID 3588 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CLIENTUSERID 3589 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_PARAMETERDATATYPEID 3590 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_EVENTID 3591 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_EVENTTYPE 3592 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SOURCENODE 3593 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SOURCENAME 3594 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_TIME 3595 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_RECEIVETIME 3596 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_LOCALTIME 3597 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_MESSAGE 3598 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SEVERITY 3599 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_ACTIONTIMESTAMP 3600 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_STATUS 3601 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SERVERID 3602 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CLIENTAUDITENTRYID 3603 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CLIENTUSERID 3604 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_PARAMETERDATATYPEID 3605 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_UPDATEDNODE 3606 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_EVENTID 3607 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_EVENTTYPE 3608 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SOURCENODE 3609 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SOURCENAME 3610 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_TIME 3611 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_RECEIVETIME 3612 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_LOCALTIME 3613 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_MESSAGE 3614 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SEVERITY 3615 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_ACTIONTIMESTAMP 3616 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_STATUS 3617 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SERVERID 3618 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CLIENTAUDITENTRYID 3619 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CLIENTUSERID 3620 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_PARAMETERDATATYPEID 3621 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_UPDATEDNODE 3622 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_EVENTID 3623 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_EVENTTYPE 3624 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SOURCENODE 3625 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SOURCENAME 3626 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_TIME 3627 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_RECEIVETIME 3628 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_LOCALTIME 3629 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_MESSAGE 3630 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SEVERITY 3631 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_ACTIONTIMESTAMP 3632 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_STATUS 3633 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SERVERID 3634 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CLIENTAUDITENTRYID 3635 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CLIENTUSERID 3636 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_PARAMETERDATATYPEID 3637 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_UPDATEDNODE 3638 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_EVENTID 3639 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_EVENTTYPE 3640 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SOURCENODE 3641 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SOURCENAME 3642 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_TIME 3643 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_RECEIVETIME 3644 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_LOCALTIME 3645 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_MESSAGE 3646 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SEVERITY 3647 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_ACTIONTIMESTAMP 3648 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_STATUS 3649 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SERVERID 3650 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CLIENTAUDITENTRYID 3651 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CLIENTUSERID 3652 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_EVENTID 3653 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_EVENTTYPE 3654 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_SOURCENODE 3655 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_SOURCENAME 3656 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_TIME 3657 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_RECEIVETIME 3658 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_LOCALTIME 3659 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_MESSAGE 3660 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_SEVERITY 3661 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_EVENTID 3662 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_EVENTTYPE 3663 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_SOURCENODE 3664 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_SOURCENAME 3665 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_TIME 3666 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_RECEIVETIME 3667 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_LOCALTIME 3668 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_MESSAGE 3669 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_SEVERITY 3670 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_EVENTID 3671 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_EVENTTYPE 3672 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_SOURCENODE 3673 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_SOURCENAME 3674 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_TIME 3675 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_RECEIVETIME 3676 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_LOCALTIME 3677 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_MESSAGE 3678 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_SEVERITY 3679 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_EVENTID 3680 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_EVENTTYPE 3681 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_SOURCENODE 3682 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_SOURCENAME 3683 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_TIME 3684 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_RECEIVETIME 3685 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_LOCALTIME 3686 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_MESSAGE 3687 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_SEVERITY 3688 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_EVENTID 3689 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_EVENTTYPE 3690 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_SOURCENODE 3691 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_SOURCENAME 3692 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_TIME 3693 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_RECEIVETIME 3694 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_LOCALTIME 3695 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_MESSAGE 3696 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_SEVERITY 3697 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_PRODUCTURI 3698 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_MANUFACTURERNAME 3699 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_PRODUCTNAME 3700 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_SOFTWAREVERSION 3701 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_BUILDNUMBER 3702 /* Variable */ +#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_BUILDDATE 3703 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_SOFTWARECERTIFICATES 3704 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT 3705 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY 3706 /* Object */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY 3707 /* Variable */ +#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY 3708 /* Variable */ +#define UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANCYSUPPORT 3709 /* Variable */ +#define UA_NS0ID_FINITESTATEVARIABLETYPE_NAME 3714 /* Variable */ +#define UA_NS0ID_FINITESTATEVARIABLETYPE_NUMBER 3715 /* Variable */ +#define UA_NS0ID_FINITESTATEVARIABLETYPE_EFFECTIVEDISPLAYNAME 3716 /* Variable */ +#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_NAME 3717 /* Variable */ +#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_NUMBER 3718 /* Variable */ +#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_TRANSITIONTIME 3719 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_ID 3720 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_NAME 3721 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_NUMBER 3722 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 3723 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_ID 3724 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_NAME 3725 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_NUMBER 3726 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 3727 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_ID 3728 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_NAME 3729 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_NUMBER 3730 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 3731 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_ID 3732 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_NAME 3733 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_NUMBER 3734 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 3735 /* Variable */ +#define UA_NS0ID_INITIALSTATETYPE_STATENUMBER 3736 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_EVENTID 3737 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_EVENTTYPE 3738 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_SOURCENODE 3739 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_SOURCENAME 3740 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TIME 3741 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_RECEIVETIME 3742 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_LOCALTIME 3743 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_MESSAGE 3744 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_SEVERITY 3745 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_ID 3746 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_NAME 3747 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_NUMBER 3748 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_EFFECTIVEDISPLAYNAME 3749 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_ID 3750 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_NAME 3751 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_NUMBER 3752 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_EFFECTIVEDISPLAYNAME 3753 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_ID 3754 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_NAME 3755 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_NUMBER 3756 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_TRANSITIONTIME 3757 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_EVENTID 3758 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_EVENTTYPE 3759 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SOURCENODE 3760 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SOURCENAME 3761 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_TIME 3762 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_RECEIVETIME 3763 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_LOCALTIME 3764 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_MESSAGE 3765 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SEVERITY 3766 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_ACTIONTIMESTAMP 3767 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_STATUS 3768 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SERVERID 3769 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CLIENTAUDITENTRYID 3770 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CLIENTUSERID 3771 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_METHODID 3772 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_INPUTARGUMENTS 3773 /* Variable */ +#define UA_NS0ID_ANALOGITEMTYPE_DEFINITION 3774 /* Variable */ +#define UA_NS0ID_ANALOGITEMTYPE_VALUEPRECISION 3775 /* Variable */ +#define UA_NS0ID_DISCRETEITEMTYPE_DEFINITION 3776 /* Variable */ +#define UA_NS0ID_DISCRETEITEMTYPE_VALUEPRECISION 3777 /* Variable */ +#define UA_NS0ID_TWOSTATEDISCRETETYPE_DEFINITION 3778 /* Variable */ +#define UA_NS0ID_TWOSTATEDISCRETETYPE_VALUEPRECISION 3779 /* Variable */ +#define UA_NS0ID_MULTISTATEDISCRETETYPE_DEFINITION 3780 /* Variable */ +#define UA_NS0ID_MULTISTATEDISCRETETYPE_VALUEPRECISION 3781 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_EVENTID 3782 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_EVENTTYPE 3783 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_SOURCENODE 3784 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_SOURCENAME 3785 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TIME 3786 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_RECEIVETIME 3787 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_LOCALTIME 3788 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_MESSAGE 3789 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_SEVERITY 3790 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE 3791 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_ID 3792 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_NAME 3793 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_NUMBER 3794 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_EFFECTIVEDISPLAYNAME 3795 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE 3796 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_ID 3797 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_NAME 3798 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_NUMBER 3799 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_EFFECTIVEDISPLAYNAME 3800 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION 3801 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_ID 3802 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_NAME 3803 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_NUMBER 3804 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_TRANSITIONTIME 3805 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE 3806 /* ObjectType */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_EVENTID 3807 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_EVENTTYPE 3808 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SOURCENODE 3809 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SOURCENAME 3810 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TIME 3811 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_RECEIVETIME 3812 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_LOCALTIME 3813 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_MESSAGE 3814 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SEVERITY 3815 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_ACTIONTIMESTAMP 3816 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_STATUS 3817 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SERVERID 3818 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CLIENTAUDITENTRYID 3819 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CLIENTUSERID 3820 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_METHODID 3821 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_INPUTARGUMENTS 3822 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_OLDSTATEID 3823 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_NEWSTATEID 3824 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION 3825 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_ID 3826 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_NAME 3827 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_NUMBER 3828 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_TRANSITIONTIME 3829 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE 3830 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_ID 3831 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_NAME 3832 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_NUMBER 3833 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 3834 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION 3835 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_ID 3836 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_NAME 3837 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_NUMBER 3838 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 3839 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_CREATESESSIONID 3840 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_CREATECLIENTNAME 3841 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_INVOCATIONCREATIONTIME 3842 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTTRANSITIONTIME 3843 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODCALL 3844 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODSESSIONID 3845 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODINPUTARGUMENTS 3846 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODOUTPUTARGUMENTS 3847 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODCALLTIME 3848 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODRETURNSTATUS 3849 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_FINALRESULTDATA 3850 /* Object */ +#define UA_NS0ID_ADDCOMMENTMETHODTYPE 3863 /* Method */ +#define UA_NS0ID_ADDCOMMENTMETHODTYPE_INPUTARGUMENTS 3864 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_EVENTID 3865 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_EVENTTYPE 3866 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_SOURCENODE 3867 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_SOURCENAME 3868 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_TIME 3869 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_RECEIVETIME 3870 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_LOCALTIME 3871 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_MESSAGE 3872 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_SEVERITY 3873 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_RETAIN 3874 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH 3875 /* Method */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 3876 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_EVENTID 3969 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_EVENTTYPE 3970 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_SOURCENODE 3971 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_SOURCENAME 3972 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_TIME 3973 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_RECEIVETIME 3974 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_LOCALTIME 3975 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_MESSAGE 3976 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_SEVERITY 3977 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_EVENTID 3978 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_EVENTTYPE 3979 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_SOURCENODE 3980 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_SOURCENAME 3981 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_TIME 3982 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_RECEIVETIME 3983 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_LOCALTIME 3984 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_MESSAGE 3985 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_SEVERITY 3986 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_EVENTID 3987 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_EVENTTYPE 3988 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_SOURCENODE 3989 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_SOURCENAME 3990 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_TIME 3991 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_RECEIVETIME 3992 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_LOCALTIME 3993 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_MESSAGE 3994 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_SEVERITY 3995 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_EVENTID 3996 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_EVENTTYPE 3997 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SOURCENODE 3998 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SOURCENAME 3999 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_TIME 4000 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_RECEIVETIME 4001 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_LOCALTIME 4002 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_MESSAGE 4003 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SEVERITY 4004 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_ACTIONTIMESTAMP 4005 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_STATUS 4006 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SERVERID 4007 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CLIENTAUDITENTRYID 4008 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CLIENTUSERID 4009 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_METHODID 4010 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_INPUTARGUMENTS 4011 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_EVENTID 4106 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_EVENTTYPE 4107 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SOURCENODE 4108 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SOURCENAME 4109 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_TIME 4110 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_RECEIVETIME 4111 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_LOCALTIME 4112 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_MESSAGE 4113 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SEVERITY 4114 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_ACTIONTIMESTAMP 4115 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_STATUS 4116 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SERVERID 4117 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CLIENTAUDITENTRYID 4118 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CLIENTUSERID 4119 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_METHODID 4120 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_INPUTARGUMENTS 4121 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_EVENTID 4170 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_EVENTTYPE 4171 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SOURCENODE 4172 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SOURCENAME 4173 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_TIME 4174 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_RECEIVETIME 4175 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_LOCALTIME 4176 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_MESSAGE 4177 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SEVERITY 4178 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_ACTIONTIMESTAMP 4179 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_STATUS 4180 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SERVERID 4181 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CLIENTAUDITENTRYID 4182 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CLIENTUSERID 4183 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_METHODID 4184 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_INPUTARGUMENTS 4185 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_EVENTID 4188 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_EVENTTYPE 4189 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_SOURCENODE 4190 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_SOURCENAME 4191 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_TIME 4192 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RECEIVETIME 4193 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_LOCALTIME 4194 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_MESSAGE 4195 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_SEVERITY 4196 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RETAIN 4197 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH 4198 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 4199 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_EVENTID 5113 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_EVENTTYPE 5114 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SOURCENODE 5115 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SOURCENAME 5116 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_TIME 5117 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_RECEIVETIME 5118 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_LOCALTIME 5119 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_MESSAGE 5120 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SEVERITY 5121 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_RETAIN 5122 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH 5123 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 5124 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_EVENTID 5540 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_EVENTTYPE 5541 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SOURCENODE 5542 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SOURCENAME 5543 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_TIME 5544 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_RECEIVETIME 5545 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LOCALTIME 5546 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_MESSAGE 5547 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SEVERITY 5548 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_RETAIN 5549 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH 5550 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 5551 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE 6088 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_ID 6089 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_NAME 6090 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_NUMBER 6091 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 6092 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION 6093 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_ID 6094 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_NAME 6095 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_NUMBER 6096 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 6097 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVED_STATENUMBER 6098 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVED_STATENUMBER 6100 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVED_STATENUMBER 6101 /* Variable */ +#define UA_NS0ID_TIMEDSHELVEMETHODTYPE 6102 /* Method */ +#define UA_NS0ID_TIMEDSHELVEMETHODTYPE_INPUTARGUMENTS 6103 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_EVENTID 6116 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_EVENTTYPE 6117 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SOURCENODE 6118 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SOURCENAME 6119 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_TIME 6120 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_RECEIVETIME 6121 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LOCALTIME 6122 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_MESSAGE 6123 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SEVERITY 6124 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_RETAIN 6125 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH 6126 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 6127 /* Variable */ +#define UA_NS0ID_IDTYPE_ENUMSTRINGS 7591 /* Variable */ +#define UA_NS0ID_ENUMVALUETYPE 7594 /* DataType */ +#define UA_NS0ID_MESSAGESECURITYMODE_ENUMSTRINGS 7595 /* Variable */ +#define UA_NS0ID_USERTOKENTYPE_ENUMSTRINGS 7596 /* Variable */ +#define UA_NS0ID_APPLICATIONTYPE_ENUMSTRINGS 7597 /* Variable */ +#define UA_NS0ID_SECURITYTOKENREQUESTTYPE_ENUMSTRINGS 7598 /* Variable */ +#define UA_NS0ID_BROWSEDIRECTION_ENUMSTRINGS 7603 /* Variable */ +#define UA_NS0ID_FILTEROPERATOR_ENUMSTRINGS 7605 /* Variable */ +#define UA_NS0ID_TIMESTAMPSTORETURN_ENUMSTRINGS 7606 /* Variable */ +#define UA_NS0ID_MONITORINGMODE_ENUMSTRINGS 7608 /* Variable */ +#define UA_NS0ID_DATACHANGETRIGGER_ENUMSTRINGS 7609 /* Variable */ +#define UA_NS0ID_DEADBANDTYPE_ENUMSTRINGS 7610 /* Variable */ +#define UA_NS0ID_REDUNDANCYSUPPORT_ENUMSTRINGS 7611 /* Variable */ +#define UA_NS0ID_SERVERSTATE_ENUMSTRINGS 7612 /* Variable */ +#define UA_NS0ID_EXCEPTIONDEVIATIONFORMAT_ENUMSTRINGS 7614 /* Variable */ +#define UA_NS0ID_ENUMVALUETYPE_ENCODING_DEFAULTXML 7616 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA 7617 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEVERSION 7618 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NAMESPACEURI 7619 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ARGUMENT 7650 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ARGUMENT_DATATYPEVERSION 7651 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ARGUMENT_DICTIONARYFRAGMENT 7652 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMVALUETYPE 7656 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMVALUETYPE_DATATYPEVERSION 7657 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMVALUETYPE_DICTIONARYFRAGMENT 7658 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STATUSRESULT 7659 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STATUSRESULT_DATATYPEVERSION 7660 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STATUSRESULT_DICTIONARYFRAGMENT 7661 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERTOKENPOLICY 7662 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERTOKENPOLICY_DATATYPEVERSION 7663 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERTOKENPOLICY_DICTIONARYFRAGMENT 7664 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_APPLICATIONDESCRIPTION 7665 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_APPLICATIONDESCRIPTION_DATATYPEVERSION 7666 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_APPLICATIONDESCRIPTION_DICTIONARYFRAGMENT 7667 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTDESCRIPTION 7668 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTDESCRIPTION_DATATYPEVERSION 7669 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTDESCRIPTION_DICTIONARYFRAGMENT 7670 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERIDENTITYTOKEN 7671 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERIDENTITYTOKEN_DATATYPEVERSION 7672 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERIDENTITYTOKEN_DICTIONARYFRAGMENT 7673 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANONYMOUSIDENTITYTOKEN 7674 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANONYMOUSIDENTITYTOKEN_DATATYPEVERSION 7675 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANONYMOUSIDENTITYTOKEN_DICTIONARYFRAGMENT 7676 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERNAMEIDENTITYTOKEN 7677 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERNAMEIDENTITYTOKEN_DATATYPEVERSION 7678 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERNAMEIDENTITYTOKEN_DICTIONARYFRAGMENT 7679 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_X509IDENTITYTOKEN 7680 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_X509IDENTITYTOKEN_DATATYPEVERSION 7681 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_X509IDENTITYTOKEN_DICTIONARYFRAGMENT 7682 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ISSUEDIDENTITYTOKEN 7683 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ISSUEDIDENTITYTOKEN_DATATYPEVERSION 7684 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ISSUEDIDENTITYTOKEN_DICTIONARYFRAGMENT 7685 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTCONFIGURATION 7686 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTCONFIGURATION_DATATYPEVERSION 7687 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTCONFIGURATION_DICTIONARYFRAGMENT 7688 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BUILDINFO 7692 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BUILDINFO_DATATYPEVERSION 7693 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BUILDINFO_DICTIONARYFRAGMENT 7694 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIGNEDSOFTWARECERTIFICATE 7698 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIGNEDSOFTWARECERTIFICATE_DATATYPEVERSION 7699 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIGNEDSOFTWARECERTIFICATE_DICTIONARYFRAGMENT 7700 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDNODESITEM 7728 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDNODESITEM_DATATYPEVERSION 7729 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDNODESITEM_DICTIONARYFRAGMENT 7730 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDREFERENCESITEM 7731 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDREFERENCESITEM_DATATYPEVERSION 7732 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDREFERENCESITEM_DICTIONARYFRAGMENT 7733 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETENODESITEM 7734 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETENODESITEM_DATATYPEVERSION 7735 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETENODESITEM_DICTIONARYFRAGMENT 7736 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETEREFERENCESITEM 7737 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETEREFERENCESITEM_DATATYPEVERSION 7738 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETEREFERENCESITEM_DICTIONARYFRAGMENT 7739 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REGISTEREDSERVER 7782 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REGISTEREDSERVER_DATATYPEVERSION 7783 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REGISTEREDSERVER_DICTIONARYFRAGMENT 7784 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTERELEMENT 7929 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTERELEMENT_DATATYPEVERSION 7930 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTERELEMENT_DICTIONARYFRAGMENT 7931 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTER 7932 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTER_DATATYPEVERSION 7933 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTER_DICTIONARYFRAGMENT 7934 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FILTEROPERAND 7935 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FILTEROPERAND_DATATYPEVERSION 7936 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FILTEROPERAND_DICTIONARYFRAGMENT 7937 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ELEMENTOPERAND 7938 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ELEMENTOPERAND_DATATYPEVERSION 7939 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ELEMENTOPERAND_DICTIONARYFRAGMENT 7940 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_LITERALOPERAND 7941 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_LITERALOPERAND_DATATYPEVERSION 7942 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_LITERALOPERAND_DICTIONARYFRAGMENT 7943 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ATTRIBUTEOPERAND 7944 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ATTRIBUTEOPERAND_DATATYPEVERSION 7945 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ATTRIBUTEOPERAND_DICTIONARYFRAGMENT 7946 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLEATTRIBUTEOPERAND 7947 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLEATTRIBUTEOPERAND_DATATYPEVERSION 7948 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLEATTRIBUTEOPERAND_DICTIONARYFRAGMENT 7949 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENT 8004 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENT_DATATYPEVERSION 8005 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENT_DICTIONARYFRAGMENT 8006 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MONITORINGFILTER 8067 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MONITORINGFILTER_DATATYPEVERSION 8068 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MONITORINGFILTER_DICTIONARYFRAGMENT 8069 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EVENTFILTER 8073 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EVENTFILTER_DATATYPEVERSION 8074 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EVENTFILTER_DICTIONARYFRAGMENT 8075 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_AGGREGATECONFIGURATION 8076 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_AGGREGATECONFIGURATION_DATATYPEVERSION 8077 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_AGGREGATECONFIGURATION_DICTIONARYFRAGMENT 8078 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENTFIELDLIST 8172 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENTFIELDLIST_DATATYPEVERSION 8173 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENTFIELDLIST_DICTIONARYFRAGMENT 8174 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REDUNDANTSERVERDATATYPE 8208 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REDUNDANTSERVERDATATYPE_DATATYPEVERSION 8209 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REDUNDANTSERVERDATATYPE_DICTIONARYFRAGMENT 8210 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 8211 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DATATYPEVERSION 8212 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8213 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE 8214 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DATATYPEVERSION 8215 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DICTIONARYFRAGMENT 8216 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERSTATUSDATATYPE 8217 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERSTATUSDATATYPE_DATATYPEVERSION 8218 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERSTATUSDATATYPE_DICTIONARYFRAGMENT 8219 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONDIAGNOSTICSDATATYPE 8220 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8221 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8222 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE 8223 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DATATYPEVERSION 8224 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8225 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVICECOUNTERDATATYPE 8226 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVICECOUNTERDATATYPE_DATATYPEVERSION 8227 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVICECOUNTERDATATYPE_DICTIONARYFRAGMENT 8228 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE 8229 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8230 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8231 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MODELCHANGESTRUCTUREDATATYPE 8232 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8233 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8234 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE 8235 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8236 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8237 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RANGE 8238 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RANGE_DATATYPEVERSION 8239 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RANGE_DICTIONARYFRAGMENT 8240 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EUINFORMATION 8241 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EUINFORMATION_DATATYPEVERSION 8242 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EUINFORMATION_DICTIONARYFRAGMENT 8243 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANNOTATION 8244 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANNOTATION_DATATYPEVERSION 8245 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANNOTATION_DICTIONARYFRAGMENT 8246 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTICDATATYPE 8247 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DATATYPEVERSION 8248 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DICTIONARYFRAGMENT 8249 /* Variable */ +#define UA_NS0ID_ENUMVALUETYPE_ENCODING_DEFAULTBINARY 8251 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA 8252 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEVERSION 8253 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NAMESPACEURI 8254 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ARGUMENT 8285 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ARGUMENT_DATATYPEVERSION 8286 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ARGUMENT_DICTIONARYFRAGMENT 8287 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMVALUETYPE 8291 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMVALUETYPE_DATATYPEVERSION 8292 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMVALUETYPE_DICTIONARYFRAGMENT 8293 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STATUSRESULT 8294 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STATUSRESULT_DATATYPEVERSION 8295 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STATUSRESULT_DICTIONARYFRAGMENT 8296 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERTOKENPOLICY 8297 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERTOKENPOLICY_DATATYPEVERSION 8298 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERTOKENPOLICY_DICTIONARYFRAGMENT 8299 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_APPLICATIONDESCRIPTION 8300 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_APPLICATIONDESCRIPTION_DATATYPEVERSION 8301 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_APPLICATIONDESCRIPTION_DICTIONARYFRAGMENT 8302 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTDESCRIPTION 8303 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTDESCRIPTION_DATATYPEVERSION 8304 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTDESCRIPTION_DICTIONARYFRAGMENT 8305 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERIDENTITYTOKEN 8306 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERIDENTITYTOKEN_DATATYPEVERSION 8307 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERIDENTITYTOKEN_DICTIONARYFRAGMENT 8308 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ANONYMOUSIDENTITYTOKEN 8309 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ANONYMOUSIDENTITYTOKEN_DATATYPEVERSION 8310 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ANONYMOUSIDENTITYTOKEN_DICTIONARYFRAGMENT 8311 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERNAMEIDENTITYTOKEN 8312 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERNAMEIDENTITYTOKEN_DATATYPEVERSION 8313 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERNAMEIDENTITYTOKEN_DICTIONARYFRAGMENT 8314 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_X509IDENTITYTOKEN 8315 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_X509IDENTITYTOKEN_DATATYPEVERSION 8316 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_X509IDENTITYTOKEN_DICTIONARYFRAGMENT 8317 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ISSUEDIDENTITYTOKEN 8318 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ISSUEDIDENTITYTOKEN_DATATYPEVERSION 8319 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ISSUEDIDENTITYTOKEN_DICTIONARYFRAGMENT 8320 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTCONFIGURATION 8321 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTCONFIGURATION_DATATYPEVERSION 8322 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTCONFIGURATION_DICTIONARYFRAGMENT 8323 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BUILDINFO 8327 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BUILDINFO_DATATYPEVERSION 8328 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BUILDINFO_DICTIONARYFRAGMENT 8329 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIGNEDSOFTWARECERTIFICATE 8333 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIGNEDSOFTWARECERTIFICATE_DATATYPEVERSION 8334 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIGNEDSOFTWARECERTIFICATE_DICTIONARYFRAGMENT 8335 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDNODESITEM 8363 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDNODESITEM_DATATYPEVERSION 8364 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDNODESITEM_DICTIONARYFRAGMENT 8365 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDREFERENCESITEM 8366 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDREFERENCESITEM_DATATYPEVERSION 8367 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDREFERENCESITEM_DICTIONARYFRAGMENT 8368 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETENODESITEM 8369 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETENODESITEM_DATATYPEVERSION 8370 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETENODESITEM_DICTIONARYFRAGMENT 8371 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETEREFERENCESITEM 8372 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETEREFERENCESITEM_DATATYPEVERSION 8373 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETEREFERENCESITEM_DICTIONARYFRAGMENT 8374 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REGISTEREDSERVER 8417 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REGISTEREDSERVER_DATATYPEVERSION 8418 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REGISTEREDSERVER_DICTIONARYFRAGMENT 8419 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTERELEMENT 8564 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTERELEMENT_DATATYPEVERSION 8565 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTERELEMENT_DICTIONARYFRAGMENT 8566 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTER 8567 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTER_DATATYPEVERSION 8568 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTER_DICTIONARYFRAGMENT 8569 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FILTEROPERAND 8570 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FILTEROPERAND_DATATYPEVERSION 8571 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FILTEROPERAND_DICTIONARYFRAGMENT 8572 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ELEMENTOPERAND 8573 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ELEMENTOPERAND_DATATYPEVERSION 8574 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ELEMENTOPERAND_DICTIONARYFRAGMENT 8575 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_LITERALOPERAND 8576 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_LITERALOPERAND_DATATYPEVERSION 8577 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_LITERALOPERAND_DICTIONARYFRAGMENT 8578 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ATTRIBUTEOPERAND 8579 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ATTRIBUTEOPERAND_DATATYPEVERSION 8580 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ATTRIBUTEOPERAND_DICTIONARYFRAGMENT 8581 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLEATTRIBUTEOPERAND 8582 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLEATTRIBUTEOPERAND_DATATYPEVERSION 8583 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLEATTRIBUTEOPERAND_DICTIONARYFRAGMENT 8584 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENT 8639 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENT_DATATYPEVERSION 8640 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENT_DICTIONARYFRAGMENT 8641 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MONITORINGFILTER 8702 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MONITORINGFILTER_DATATYPEVERSION 8703 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MONITORINGFILTER_DICTIONARYFRAGMENT 8704 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EVENTFILTER 8708 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EVENTFILTER_DATATYPEVERSION 8709 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EVENTFILTER_DICTIONARYFRAGMENT 8710 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_AGGREGATECONFIGURATION 8711 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_AGGREGATECONFIGURATION_DATATYPEVERSION 8712 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_AGGREGATECONFIGURATION_DICTIONARYFRAGMENT 8713 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENTFIELDLIST 8807 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENTFIELDLIST_DATATYPEVERSION 8808 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENTFIELDLIST_DICTIONARYFRAGMENT 8809 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REDUNDANTSERVERDATATYPE 8843 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REDUNDANTSERVERDATATYPE_DATATYPEVERSION 8844 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REDUNDANTSERVERDATATYPE_DICTIONARYFRAGMENT 8845 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 8846 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DATATYPEVERSION 8847 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8848 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE 8849 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DATATYPEVERSION 8850 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DICTIONARYFRAGMENT 8851 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERSTATUSDATATYPE 8852 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERSTATUSDATATYPE_DATATYPEVERSION 8853 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERSTATUSDATATYPE_DICTIONARYFRAGMENT 8854 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONDIAGNOSTICSDATATYPE 8855 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8856 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8857 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE 8858 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DATATYPEVERSION 8859 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8860 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVICECOUNTERDATATYPE 8861 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVICECOUNTERDATATYPE_DATATYPEVERSION 8862 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVICECOUNTERDATATYPE_DICTIONARYFRAGMENT 8863 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE 8864 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8865 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8866 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MODELCHANGESTRUCTUREDATATYPE 8867 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8868 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8869 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE 8870 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8871 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8872 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RANGE 8873 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RANGE_DATATYPEVERSION 8874 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RANGE_DICTIONARYFRAGMENT 8875 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EUINFORMATION 8876 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EUINFORMATION_DATATYPEVERSION 8877 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EUINFORMATION_DICTIONARYFRAGMENT 8878 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ANNOTATION 8879 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ANNOTATION_DATATYPEVERSION 8880 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ANNOTATION_DICTIONARYFRAGMENT 8881 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTICDATATYPE 8882 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DATATYPEVERSION 8883 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DICTIONARYFRAGMENT 8884 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MAXLIFETIMECOUNT 8888 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_LATEPUBLISHREQUESTCOUNT 8889 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_CURRENTKEEPALIVECOUNT 8890 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_CURRENTLIFETIMECOUNT 8891 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_UNACKNOWLEDGEDMESSAGECOUNT 8892 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DISCARDEDMESSAGECOUNT 8893 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MONITOREDITEMCOUNT 8894 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DISABLEDMONITOREDITEMCOUNT 8895 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MONITORINGQUEUEOVERFLOWCOUNT 8896 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_NEXTSEQUENCENUMBER 8897 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_TOTALREQUESTCOUNT 8898 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_TOTALREQUESTCOUNT 8900 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_EVENTQUEUEOVERFLOWCOUNT 8902 /* Variable */ +#define UA_NS0ID_TIMEZONEDATATYPE 8912 /* DataType */ +#define UA_NS0ID_TIMEZONEDATATYPE_ENCODING_DEFAULTXML 8913 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TIMEZONEDATATYPE 8914 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TIMEZONEDATATYPE_DATATYPEVERSION 8915 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TIMEZONEDATATYPE_DICTIONARYFRAGMENT 8916 /* Variable */ +#define UA_NS0ID_TIMEZONEDATATYPE_ENCODING_DEFAULTBINARY 8917 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TIMEZONEDATATYPE 8918 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TIMEZONEDATATYPE_DATATYPEVERSION 8919 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TIMEZONEDATATYPE_DICTIONARYFRAGMENT 8920 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE 8927 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_EVENTID 8928 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_EVENTTYPE 8929 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SOURCENODE 8930 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SOURCENAME 8931 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_TIME 8932 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_RECEIVETIME 8933 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_LOCALTIME 8934 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_MESSAGE 8935 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SEVERITY 8936 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_ACTIONTIMESTAMP 8937 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_STATUS 8938 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SERVERID 8939 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CLIENTAUDITENTRYID 8940 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CLIENTUSERID 8941 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_METHODID 8942 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_INPUTARGUMENTS 8943 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE 8944 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_EVENTID 8945 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_EVENTTYPE 8946 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SOURCENODE 8947 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SOURCENAME 8948 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_TIME 8949 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_RECEIVETIME 8950 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_LOCALTIME 8951 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_MESSAGE 8952 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SEVERITY 8953 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_ACTIONTIMESTAMP 8954 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_STATUS 8955 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SERVERID 8956 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CLIENTAUDITENTRYID 8957 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CLIENTUSERID 8958 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_METHODID 8959 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_INPUTARGUMENTS 8960 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE 8961 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_EVENTID 8962 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_EVENTTYPE 8963 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SOURCENODE 8964 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SOURCENAME 8965 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_TIME 8966 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_RECEIVETIME 8967 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_LOCALTIME 8968 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_MESSAGE 8969 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SEVERITY 8970 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_ACTIONTIMESTAMP 8971 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_STATUS 8972 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SERVERID 8973 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CLIENTAUDITENTRYID 8974 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CLIENTUSERID 8975 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_METHODID 8976 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_INPUTARGUMENTS 8977 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE 8995 /* VariableType */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_ID 8996 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_NAME 8997 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_NUMBER 8998 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_EFFECTIVEDISPLAYNAME 8999 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_TRANSITIONTIME 9000 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_EFFECTIVETRANSITIONTIME 9001 /* Variable */ +#define UA_NS0ID_CONDITIONVARIABLETYPE 9002 /* VariableType */ +#define UA_NS0ID_CONDITIONVARIABLETYPE_SOURCETIMESTAMP 9003 /* Variable */ +#define UA_NS0ID_HASTRUESUBSTATE 9004 /* ReferenceType */ +#define UA_NS0ID_HASFALSESUBSTATE 9005 /* ReferenceType */ +#define UA_NS0ID_HASCONDITION 9006 /* ReferenceType */ +#define UA_NS0ID_CONDITIONREFRESHMETHODTYPE 9007 /* Method */ +#define UA_NS0ID_CONDITIONREFRESHMETHODTYPE_INPUTARGUMENTS 9008 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONNAME 9009 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_BRANCHID 9010 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE 9011 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_ID 9012 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_NAME 9013 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_NUMBER 9014 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9015 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9016 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9017 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9018 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9019 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_QUALITY 9020 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9021 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_LASTSEVERITY 9022 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9023 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_COMMENT 9024 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9025 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CLIENTUSERID 9026 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_ENABLE 9027 /* Method */ +#define UA_NS0ID_CONDITIONTYPE_DISABLE 9028 /* Method */ +#define UA_NS0ID_CONDITIONTYPE_ADDCOMMENT 9029 /* Method */ +#define UA_NS0ID_CONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9030 /* Variable */ +#define UA_NS0ID_DIALOGRESPONSEMETHODTYPE 9031 /* Method */ +#define UA_NS0ID_DIALOGRESPONSEMETHODTYPE_INPUTARGUMENTS 9032 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONNAME 9033 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_BRANCHID 9034 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE 9035 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_ID 9036 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_NAME 9037 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_NUMBER 9038 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9039 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9040 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9041 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9042 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9043 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_QUALITY 9044 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9045 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_LASTSEVERITY 9046 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9047 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_COMMENT 9048 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9049 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CLIENTUSERID 9050 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLE 9051 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DISABLE 9052 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ADDCOMMENT 9053 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9054 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE 9055 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_ID 9056 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_NAME 9057 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_NUMBER 9058 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_EFFECTIVEDISPLAYNAME 9059 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_TRANSITIONTIME 9060 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_EFFECTIVETRANSITIONTIME 9061 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_TRUESTATE 9062 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_FALSESTATE 9063 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPONSEOPTIONSET 9064 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_DEFAULTRESPONSE 9065 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_OKRESPONSE 9066 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CANCELRESPONSE 9067 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_LASTRESPONSE 9068 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND 9069 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND_INPUTARGUMENTS 9070 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONNAME 9071 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_BRANCHID 9072 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE 9073 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_ID 9074 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_NAME 9075 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_NUMBER 9076 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9077 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9078 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9079 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9080 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9081 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_QUALITY 9082 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9083 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_LASTSEVERITY 9084 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9085 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_COMMENT 9086 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9087 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CLIENTUSERID 9088 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLE 9089 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_DISABLE 9090 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ADDCOMMENT 9091 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9092 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE 9093 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_ID 9094 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_NAME 9095 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_NUMBER 9096 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9097 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_TRANSITIONTIME 9098 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9099 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_TRUESTATE 9100 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_FALSESTATE 9101 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE 9102 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_ID 9103 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_NAME 9104 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_NUMBER 9105 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9106 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9107 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9108 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_TRUESTATE 9109 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_FALSESTATE 9110 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKNOWLEDGE 9111 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9112 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRM 9113 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRM_INPUTARGUMENTS 9114 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVETIME 9115 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONNAME 9116 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_BRANCHID 9117 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE 9118 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_ID 9119 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_NAME 9120 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_NUMBER 9121 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9122 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9123 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9124 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9125 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9126 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_QUALITY 9127 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9128 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LASTSEVERITY 9129 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9130 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_COMMENT 9131 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9132 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CLIENTUSERID 9133 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLE 9134 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_DISABLE 9135 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ADDCOMMENT 9136 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9137 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE 9138 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_ID 9139 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_NAME 9140 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_NUMBER 9141 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9142 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_TRANSITIONTIME 9143 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9144 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_TRUESTATE 9145 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_FALSESTATE 9146 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE 9147 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_ID 9148 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_NAME 9149 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_NUMBER 9150 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9151 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9152 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9153 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_TRUESTATE 9154 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_FALSESTATE 9155 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKNOWLEDGE 9156 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9157 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRM 9158 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRM_INPUTARGUMENTS 9159 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE 9160 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_ID 9161 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_NAME 9162 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_NUMBER 9163 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9164 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_TRANSITIONTIME 9165 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9166 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_TRUESTATE 9167 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_FALSESTATE 9168 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE 9169 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_ID 9170 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_NAME 9171 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_NUMBER 9172 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9173 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9174 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9175 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_TRUESTATE 9176 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_FALSESTATE 9177 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE 9178 /* Object */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE 9179 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9180 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9181 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9182 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9183 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION 9184 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9185 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9186 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9187 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9188 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVETIME 9189 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVE 9211 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_ONESHOTSHELVE 9212 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE 9213 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9214 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDORSHELVED 9215 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_MAXTIMESHELVED 9216 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONNAME 9217 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_BRANCHID 9218 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE 9219 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_ID 9220 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_NAME 9221 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_NUMBER 9222 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9223 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9224 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9225 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_TRUESTATE 9226 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_FALSESTATE 9227 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_QUALITY 9228 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_QUALITY_SOURCETIMESTAMP 9229 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LASTSEVERITY 9230 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9231 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_COMMENT 9232 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_COMMENT_SOURCETIMESTAMP 9233 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CLIENTUSERID 9234 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ENABLE 9235 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_DISABLE 9236 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_ADDCOMMENT 9237 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9238 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE 9239 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_ID 9240 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_NAME 9241 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_NUMBER 9242 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9243 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9244 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9245 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_TRUESTATE 9246 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_FALSESTATE 9247 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE 9248 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_ID 9249 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_NAME 9250 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_NUMBER 9251 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9252 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9253 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9254 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9255 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9256 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACKNOWLEDGE 9257 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9258 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRM 9259 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_CONFIRM_INPUTARGUMENTS 9260 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE 9261 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_ID 9262 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_NAME 9263 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_NUMBER 9264 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9265 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9266 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9267 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_TRUESTATE 9268 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_FALSESTATE 9269 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE 9270 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_ID 9271 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_NAME 9272 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_NUMBER 9273 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9274 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9275 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9276 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9277 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9278 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE 9279 /* Object */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9280 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9281 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9282 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9283 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9284 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9285 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9286 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9287 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9288 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9289 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9290 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVE 9312 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9313 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9314 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9315 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDORSHELVED 9316 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_MAXTIMESHELVED 9317 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE 9318 /* ObjectType */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE 9319 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_ID 9320 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_NAME 9321 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_NUMBER 9322 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9323 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION 9324 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_ID 9325 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_NAME 9326 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_NUMBER 9327 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 9328 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGH 9329 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGH_STATENUMBER 9330 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGH 9331 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGH_STATENUMBER 9332 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOW 9333 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOW_STATENUMBER 9334 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOW 9335 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOW_STATENUMBER 9336 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOWTOLOW 9337 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWTOLOWLOW 9338 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGHTOHIGH 9339 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHTOHIGHHIGH 9340 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE 9341 /* ObjectType */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_EVENTID 9342 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_EVENTTYPE 9343 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SOURCENODE 9344 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SOURCENAME 9345 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_TIME 9346 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RECEIVETIME 9347 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOCALTIME 9348 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_MESSAGE 9349 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITY 9350 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONNAME 9351 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BRANCHID 9352 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RETAIN 9353 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE 9354 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_ID 9355 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NAME 9356 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NUMBER 9357 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9358 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9359 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9360 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRUESTATE 9361 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_FALSESTATE 9362 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_QUALITY 9363 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_QUALITY_SOURCETIMESTAMP 9364 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LASTSEVERITY 9365 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9366 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_COMMENT 9367 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_COMMENT_SOURCETIMESTAMP 9368 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CLIENTUSERID 9369 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLE 9370 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_DISABLE 9371 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ADDCOMMENT 9372 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9373 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH 9374 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9375 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE 9376 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_ID 9377 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NAME 9378 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NUMBER 9379 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9380 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9381 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9382 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRUESTATE 9383 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_FALSESTATE 9384 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE 9385 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_ID 9386 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NAME 9387 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NUMBER 9388 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9389 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9390 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9391 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9392 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9393 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE 9394 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9395 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRM 9396 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRM_INPUTARGUMENTS 9397 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE 9398 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_ID 9399 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NAME 9400 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NUMBER 9401 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9402 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9403 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9404 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRUESTATE 9405 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_FALSESTATE 9406 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE 9407 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_ID 9408 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NAME 9409 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NUMBER 9410 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9411 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9412 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9413 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9414 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9415 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE 9416 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9417 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9418 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9419 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9420 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9421 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9422 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9423 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9424 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9425 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9426 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9427 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE 9449 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9450 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9451 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9452 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDORSHELVED 9453 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_MAXTIMESHELVED 9454 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE 9455 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE 9456 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9457 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9458 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9459 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9460 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION 9461 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9462 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9463 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9464 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9465 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHHIGHLIMIT 9478 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHLIMIT 9479 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWLIMIT 9480 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWLOWLIMIT 9481 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE 9482 /* ObjectType */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_EVENTID 9483 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_EVENTTYPE 9484 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SOURCENODE 9485 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SOURCENAME 9486 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_TIME 9487 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RECEIVETIME 9488 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOCALTIME 9489 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_MESSAGE 9490 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITY 9491 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONNAME 9492 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BRANCHID 9493 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RETAIN 9494 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE 9495 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_ID 9496 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NAME 9497 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NUMBER 9498 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9499 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9500 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9501 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRUESTATE 9502 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_FALSESTATE 9503 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_QUALITY 9504 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_QUALITY_SOURCETIMESTAMP 9505 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LASTSEVERITY 9506 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9507 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_COMMENT 9508 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_COMMENT_SOURCETIMESTAMP 9509 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CLIENTUSERID 9510 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLE 9511 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_DISABLE 9512 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ADDCOMMENT 9513 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9514 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH 9515 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9516 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE 9517 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_ID 9518 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NAME 9519 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NUMBER 9520 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9521 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9522 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9523 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRUESTATE 9524 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_FALSESTATE 9525 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE 9526 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_ID 9527 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NAME 9528 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NUMBER 9529 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9530 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9531 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9532 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9533 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9534 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE 9535 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9536 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRM 9537 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRM_INPUTARGUMENTS 9538 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE 9539 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_ID 9540 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NAME 9541 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NUMBER 9542 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9543 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9544 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9545 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRUESTATE 9546 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_FALSESTATE 9547 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE 9548 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_ID 9549 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NAME 9550 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NUMBER 9551 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9552 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9553 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9554 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9555 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9556 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE 9557 /* Object */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9558 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9559 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9560 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9561 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9562 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9563 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9564 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9565 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9566 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9567 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9568 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE 9590 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9591 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9592 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9593 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDORSHELVED 9594 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_MAXTIMESHELVED 9595 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE 9596 /* Object */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE 9597 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9598 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9599 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9600 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9601 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION 9602 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9603 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9604 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9605 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9606 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHHIGHLIMIT 9619 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHLIMIT 9620 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWLIMIT 9621 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWLOWLIMIT 9622 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE 9623 /* ObjectType */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_EVENTID 9624 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_EVENTTYPE 9625 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENODE 9626 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENAME 9627 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_TIME 9628 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RECEIVETIME 9629 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOCALTIME 9630 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_MESSAGE 9631 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITY 9632 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONNAME 9633 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BRANCHID 9634 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RETAIN 9635 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE 9636 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_ID 9637 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NAME 9638 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NUMBER 9639 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9640 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9641 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9642 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRUESTATE 9643 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_FALSESTATE 9644 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY 9645 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY_SOURCETIMESTAMP 9646 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY 9647 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9648 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT 9649 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT_SOURCETIMESTAMP 9650 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CLIENTUSERID 9651 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLE 9652 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_DISABLE 9653 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT 9654 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9655 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH 9656 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9657 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE 9658 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_ID 9659 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NAME 9660 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NUMBER 9661 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9662 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9663 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9664 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRUESTATE 9665 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_FALSESTATE 9666 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE 9667 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_ID 9668 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NAME 9669 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NUMBER 9670 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9671 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9672 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9673 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9674 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9675 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE 9676 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9677 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM 9678 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM_INPUTARGUMENTS 9679 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE 9680 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_ID 9681 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NAME 9682 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NUMBER 9683 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9684 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9685 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9686 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRUESTATE 9687 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_FALSESTATE 9688 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE 9689 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_ID 9690 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NAME 9691 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NUMBER 9692 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9693 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9694 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9695 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9696 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9697 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE 9698 /* Object */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9699 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9700 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9701 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9702 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9703 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9704 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9705 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9706 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9707 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9708 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9709 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE 9731 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9732 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9733 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9734 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDORSHELVED 9735 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_MAXTIMESHELVED 9736 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE 9737 /* Object */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE 9738 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9739 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9740 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9741 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9742 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION 9743 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9744 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9745 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9746 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9747 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHLIMIT 9760 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHLIMIT 9761 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWLIMIT 9762 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWLIMIT 9763 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE 9764 /* ObjectType */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_EVENTID 9765 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_EVENTTYPE 9766 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SOURCENODE 9767 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SOURCENAME 9768 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_TIME 9769 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RECEIVETIME 9770 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOCALTIME 9771 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_MESSAGE 9772 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITY 9773 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONNAME 9774 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BRANCHID 9775 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RETAIN 9776 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE 9777 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_ID 9778 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NAME 9779 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NUMBER 9780 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9781 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9782 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9783 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRUESTATE 9784 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_FALSESTATE 9785 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_QUALITY 9786 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_QUALITY_SOURCETIMESTAMP 9787 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY 9788 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9789 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_COMMENT 9790 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_COMMENT_SOURCETIMESTAMP 9791 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CLIENTUSERID 9792 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLE 9793 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_DISABLE 9794 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT 9795 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9796 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH 9797 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9798 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE 9799 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_ID 9800 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NAME 9801 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NUMBER 9802 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9803 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9804 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9805 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRUESTATE 9806 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_FALSESTATE 9807 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE 9808 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_ID 9809 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NAME 9810 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NUMBER 9811 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9812 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9813 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9814 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9815 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9816 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE 9817 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9818 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRM 9819 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRM_INPUTARGUMENTS 9820 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE 9821 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_ID 9822 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NAME 9823 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NUMBER 9824 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9825 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9826 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9827 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRUESTATE 9828 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_FALSESTATE 9829 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE 9830 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_ID 9831 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NAME 9832 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NUMBER 9833 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9834 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9835 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9836 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9837 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9838 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE 9839 /* Object */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9840 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9841 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9842 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9843 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9844 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9845 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9846 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9847 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9848 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9849 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9850 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE 9872 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9873 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9874 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9875 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDORSHELVED 9876 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_MAXTIMESHELVED 9877 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE 9878 /* Object */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE 9879 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9880 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9881 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9882 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9883 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION 9884 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9885 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9886 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9887 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9888 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHLIMIT 9901 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHLIMIT 9902 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWLIMIT 9903 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWLOWLIMIT 9904 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SETPOINTNODE 9905 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE 9906 /* ObjectType */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_EVENTID 9907 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_EVENTTYPE 9908 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SOURCENODE 9909 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SOURCENAME 9910 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_TIME 9911 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RECEIVETIME 9912 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOCALTIME 9913 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_MESSAGE 9914 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITY 9915 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONNAME 9916 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BRANCHID 9917 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RETAIN 9918 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE 9919 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_ID 9920 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NAME 9921 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NUMBER 9922 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9923 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9924 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9925 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRUESTATE 9926 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_FALSESTATE 9927 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_QUALITY 9928 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_QUALITY_SOURCETIMESTAMP 9929 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LASTSEVERITY 9930 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9931 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_COMMENT 9932 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_COMMENT_SOURCETIMESTAMP 9933 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CLIENTUSERID 9934 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLE 9935 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_DISABLE 9936 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ADDCOMMENT 9937 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9938 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH 9939 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9940 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE 9941 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_ID 9942 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NAME 9943 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NUMBER 9944 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9945 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9946 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9947 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRUESTATE 9948 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_FALSESTATE 9949 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE 9950 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_ID 9951 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NAME 9952 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NUMBER 9953 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9954 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9955 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9956 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9957 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9958 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE 9959 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9960 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRM 9961 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRM_INPUTARGUMENTS 9962 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE 9963 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_ID 9964 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NAME 9965 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NUMBER 9966 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9967 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9968 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9969 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRUESTATE 9970 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_FALSESTATE 9971 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE 9972 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_ID 9973 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NAME 9974 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NUMBER 9975 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9976 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9977 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9978 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9979 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9980 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE 9981 /* Object */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9982 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9983 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9984 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9985 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9986 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9987 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9988 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9989 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9990 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9991 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9992 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE 10014 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10015 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10016 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10017 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDORSHELVED 10018 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_MAXTIMESHELVED 10019 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE 10020 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_ID 10021 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_NAME 10022 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_NUMBER 10023 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10024 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10025 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10026 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10027 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10028 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE 10029 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_ID 10030 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_NAME 10031 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_NUMBER 10032 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10033 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_TRANSITIONTIME 10034 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10035 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_TRUESTATE 10036 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_FALSESTATE 10037 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE 10038 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_ID 10039 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_NAME 10040 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_NUMBER 10041 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10042 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_TRANSITIONTIME 10043 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10044 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_TRUESTATE 10045 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_FALSESTATE 10046 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE 10047 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_ID 10048 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_NAME 10049 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_NUMBER 10050 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10051 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10052 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10053 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_TRUESTATE 10054 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_FALSESTATE 10055 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHLIMIT 10056 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHLIMIT 10057 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLIMIT 10058 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWLIMIT 10059 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE 10060 /* ObjectType */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_EVENTID 10061 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_EVENTTYPE 10062 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SOURCENODE 10063 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SOURCENAME 10064 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_TIME 10065 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RECEIVETIME 10066 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOCALTIME 10067 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_MESSAGE 10068 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITY 10069 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONNAME 10070 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BRANCHID 10071 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RETAIN 10072 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE 10073 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_ID 10074 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NAME 10075 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NUMBER 10076 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10077 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10078 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10079 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRUESTATE 10080 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_FALSESTATE 10081 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_QUALITY 10082 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_QUALITY_SOURCETIMESTAMP 10083 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LASTSEVERITY 10084 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10085 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_COMMENT 10086 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_COMMENT_SOURCETIMESTAMP 10087 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CLIENTUSERID 10088 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLE 10089 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_DISABLE 10090 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ADDCOMMENT 10091 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10092 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH 10093 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10094 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE 10095 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_ID 10096 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NAME 10097 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NUMBER 10098 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10099 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10100 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10101 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRUESTATE 10102 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_FALSESTATE 10103 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE 10104 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_ID 10105 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NAME 10106 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NUMBER 10107 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10108 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10109 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10110 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10111 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10112 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE 10113 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10114 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRM 10115 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRM_INPUTARGUMENTS 10116 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE 10117 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_ID 10118 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NAME 10119 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NUMBER 10120 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10121 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10122 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10123 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRUESTATE 10124 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_FALSESTATE 10125 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE 10126 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_ID 10127 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NAME 10128 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NUMBER 10129 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10130 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10131 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10132 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10133 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10134 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE 10135 /* Object */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10136 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10137 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10138 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10139 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10140 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10141 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10142 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10143 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10144 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10145 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10146 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE 10168 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10169 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10170 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10171 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDORSHELVED 10172 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_MAXTIMESHELVED 10173 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE 10174 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_ID 10175 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_NAME 10176 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_NUMBER 10177 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10178 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10179 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10180 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10181 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10182 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE 10183 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_ID 10184 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_NAME 10185 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_NUMBER 10186 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10187 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_TRANSITIONTIME 10188 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10189 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_TRUESTATE 10190 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_FALSESTATE 10191 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE 10192 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_ID 10193 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_NAME 10194 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_NUMBER 10195 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10196 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_TRANSITIONTIME 10197 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10198 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_TRUESTATE 10199 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_FALSESTATE 10200 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE 10201 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_ID 10202 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_NAME 10203 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_NUMBER 10204 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10205 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10206 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10207 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_TRUESTATE 10208 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_FALSESTATE 10209 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHLIMIT 10210 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHLIMIT 10211 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLIMIT 10212 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWLIMIT 10213 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE 10214 /* ObjectType */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_EVENTID 10215 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_EVENTTYPE 10216 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENODE 10217 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENAME 10218 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_TIME 10219 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RECEIVETIME 10220 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOCALTIME 10221 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_MESSAGE 10222 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITY 10223 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONNAME 10224 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BRANCHID 10225 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RETAIN 10226 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE 10227 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_ID 10228 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NAME 10229 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NUMBER 10230 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10231 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10232 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10233 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRUESTATE 10234 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_FALSESTATE 10235 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY 10236 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY_SOURCETIMESTAMP 10237 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY 10238 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10239 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT 10240 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT_SOURCETIMESTAMP 10241 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CLIENTUSERID 10242 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLE 10243 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_DISABLE 10244 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT 10245 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10246 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH 10247 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10248 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE 10249 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_ID 10250 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NAME 10251 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NUMBER 10252 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10253 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10254 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10255 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRUESTATE 10256 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_FALSESTATE 10257 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE 10258 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_ID 10259 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NAME 10260 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NUMBER 10261 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10262 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10263 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10264 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10265 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10266 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE 10267 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10268 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM 10269 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM_INPUTARGUMENTS 10270 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE 10271 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_ID 10272 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NAME 10273 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NUMBER 10274 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10275 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10276 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10277 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRUESTATE 10278 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_FALSESTATE 10279 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE 10280 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_ID 10281 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NAME 10282 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NUMBER 10283 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10284 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10285 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10286 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10287 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10288 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE 10289 /* Object */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10290 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10291 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10292 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10293 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10294 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10295 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10296 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10297 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10298 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10299 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10300 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE 10322 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10323 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10324 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10325 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDORSHELVED 10326 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_MAXTIMESHELVED 10327 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE 10328 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_ID 10329 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_NAME 10330 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_NUMBER 10331 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10332 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10333 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10334 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10335 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10336 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE 10337 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_ID 10338 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_NAME 10339 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_NUMBER 10340 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10341 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_TRANSITIONTIME 10342 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10343 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_TRUESTATE 10344 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_FALSESTATE 10345 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE 10346 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_ID 10347 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_NAME 10348 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_NUMBER 10349 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10350 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_TRANSITIONTIME 10351 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10352 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_TRUESTATE 10353 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_FALSESTATE 10354 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE 10355 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_ID 10356 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_NAME 10357 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_NUMBER 10358 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10359 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10360 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10361 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_TRUESTATE 10362 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_FALSESTATE 10363 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHLIMIT 10364 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHLIMIT 10365 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLIMIT 10366 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWLIMIT 10367 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE 10368 /* ObjectType */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_EVENTID 10369 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_EVENTTYPE 10370 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SOURCENODE 10371 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SOURCENAME 10372 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_TIME 10373 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RECEIVETIME 10374 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOCALTIME 10375 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_MESSAGE 10376 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITY 10377 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONNAME 10378 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BRANCHID 10379 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RETAIN 10380 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE 10381 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_ID 10382 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NAME 10383 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NUMBER 10384 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10385 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10386 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10387 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRUESTATE 10388 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_FALSESTATE 10389 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_QUALITY 10390 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_QUALITY_SOURCETIMESTAMP 10391 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY 10392 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10393 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_COMMENT 10394 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_COMMENT_SOURCETIMESTAMP 10395 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CLIENTUSERID 10396 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLE 10397 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_DISABLE 10398 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT 10399 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10400 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH 10401 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10402 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE 10403 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_ID 10404 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NAME 10405 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NUMBER 10406 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10407 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10408 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10409 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRUESTATE 10410 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_FALSESTATE 10411 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE 10412 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_ID 10413 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NAME 10414 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NUMBER 10415 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10416 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10417 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10418 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10419 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10420 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE 10421 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10422 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRM 10423 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRM_INPUTARGUMENTS 10424 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE 10425 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_ID 10426 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NAME 10427 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NUMBER 10428 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10429 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10430 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10431 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRUESTATE 10432 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_FALSESTATE 10433 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE 10434 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_ID 10435 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NAME 10436 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NUMBER 10437 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10438 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10439 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10440 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10441 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10442 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE 10443 /* Object */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10444 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10445 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10446 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10447 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10448 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10449 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10450 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10451 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10452 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10453 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10454 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE 10476 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10477 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10478 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10479 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDORSHELVED 10480 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_MAXTIMESHELVED 10481 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE 10482 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_ID 10483 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_NAME 10484 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_NUMBER 10485 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10486 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10487 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10488 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10489 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10490 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE 10491 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_ID 10492 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_NAME 10493 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_NUMBER 10494 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10495 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_TRANSITIONTIME 10496 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10497 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_TRUESTATE 10498 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_FALSESTATE 10499 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE 10500 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_ID 10501 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_NAME 10502 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_NUMBER 10503 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10504 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_TRANSITIONTIME 10505 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10506 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_TRUESTATE 10507 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_FALSESTATE 10508 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE 10509 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_ID 10510 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_NAME 10511 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_NUMBER 10512 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10513 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10514 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10515 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_TRUESTATE 10516 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_FALSESTATE 10517 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHLIMIT 10518 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHLIMIT 10519 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLIMIT 10520 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWLIMIT 10521 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SETPOINTNODE 10522 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE 10523 /* ObjectType */ +#define UA_NS0ID_DISCRETEALARMTYPE_EVENTID 10524 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_EVENTTYPE 10525 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SOURCENODE 10526 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SOURCENAME 10527 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_TIME 10528 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_RECEIVETIME 10529 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LOCALTIME 10530 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_MESSAGE 10531 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SEVERITY 10532 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONNAME 10533 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_BRANCHID 10534 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_RETAIN 10535 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE 10536 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_ID 10537 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_NAME 10538 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_NUMBER 10539 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10540 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10541 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10542 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_TRUESTATE 10543 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_FALSESTATE 10544 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_QUALITY 10545 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_QUALITY_SOURCETIMESTAMP 10546 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LASTSEVERITY 10547 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10548 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_COMMENT 10549 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_COMMENT_SOURCETIMESTAMP 10550 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CLIENTUSERID 10551 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ENABLE 10552 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_DISABLE 10553 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_ADDCOMMENT 10554 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10555 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH 10556 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10557 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE 10558 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_ID 10559 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_NAME 10560 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_NUMBER 10561 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10562 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10563 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10564 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_TRUESTATE 10565 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_FALSESTATE 10566 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE 10567 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_ID 10568 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_NAME 10569 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_NUMBER 10570 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10571 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10572 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10573 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10574 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10575 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKNOWLEDGE 10576 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10577 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRM 10578 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRM_INPUTARGUMENTS 10579 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE 10580 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_ID 10581 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_NAME 10582 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_NUMBER 10583 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10584 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10585 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10586 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_TRUESTATE 10587 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_FALSESTATE 10588 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE 10589 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_ID 10590 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_NAME 10591 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_NUMBER 10592 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10593 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10594 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10595 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10596 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10597 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE 10598 /* Object */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10599 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10600 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10601 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10602 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10603 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10604 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10605 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10606 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10607 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10608 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10609 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVE 10631 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10632 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10633 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10634 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDORSHELVED 10635 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_MAXTIMESHELVED 10636 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE 10637 /* ObjectType */ +#define UA_NS0ID_OFFNORMALALARMTYPE_EVENTID 10638 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_EVENTTYPE 10639 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SOURCENODE 10640 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SOURCENAME 10641 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_TIME 10642 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_RECEIVETIME 10643 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LOCALTIME 10644 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_MESSAGE 10645 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SEVERITY 10646 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONNAME 10647 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_BRANCHID 10648 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_RETAIN 10649 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE 10650 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_ID 10651 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_NAME 10652 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_NUMBER 10653 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10654 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10655 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10656 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_TRUESTATE 10657 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_FALSESTATE 10658 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_QUALITY 10659 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_QUALITY_SOURCETIMESTAMP 10660 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LASTSEVERITY 10661 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10662 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_COMMENT 10663 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_COMMENT_SOURCETIMESTAMP 10664 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CLIENTUSERID 10665 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLE 10666 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_DISABLE 10667 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ADDCOMMENT 10668 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10669 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH 10670 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10671 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE 10672 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_ID 10673 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_NAME 10674 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_NUMBER 10675 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10676 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10677 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10678 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_TRUESTATE 10679 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_FALSESTATE 10680 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE 10681 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_ID 10682 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_NAME 10683 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_NUMBER 10684 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10685 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10686 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10687 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10688 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10689 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKNOWLEDGE 10690 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10691 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRM 10692 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRM_INPUTARGUMENTS 10693 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE 10694 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_ID 10695 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_NAME 10696 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_NUMBER 10697 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10698 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10699 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10700 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_TRUESTATE 10701 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_FALSESTATE 10702 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE 10703 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_ID 10704 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_NAME 10705 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_NUMBER 10706 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10707 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10708 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10709 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10710 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10711 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE 10712 /* Object */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10713 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10714 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10715 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10716 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10717 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10718 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10719 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10720 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10721 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10722 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10723 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE 10745 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10746 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10747 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10748 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDORSHELVED 10749 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_MAXTIMESHELVED 10750 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE 10751 /* ObjectType */ +#define UA_NS0ID_TRIPALARMTYPE_EVENTID 10752 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_EVENTTYPE 10753 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SOURCENODE 10754 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SOURCENAME 10755 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_TIME 10756 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_RECEIVETIME 10757 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LOCALTIME 10758 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_MESSAGE 10759 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SEVERITY 10760 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONNAME 10761 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_BRANCHID 10762 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_RETAIN 10763 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE 10764 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_ID 10765 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_NAME 10766 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_NUMBER 10767 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10768 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10769 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10770 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_TRUESTATE 10771 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_FALSESTATE 10772 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_QUALITY 10773 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_QUALITY_SOURCETIMESTAMP 10774 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LASTSEVERITY 10775 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10776 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_COMMENT 10777 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_COMMENT_SOURCETIMESTAMP 10778 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CLIENTUSERID 10779 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ENABLE 10780 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_DISABLE 10781 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_ADDCOMMENT 10782 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10783 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH 10784 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10785 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE 10786 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_ID 10787 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_NAME 10788 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_NUMBER 10789 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10790 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10791 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10792 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_TRUESTATE 10793 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_FALSESTATE 10794 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE 10795 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_ID 10796 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_NAME 10797 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_NUMBER 10798 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10799 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10800 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10801 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10802 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10803 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACKNOWLEDGE 10804 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10805 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRM 10806 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_CONFIRM_INPUTARGUMENTS 10807 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE 10808 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_ID 10809 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_NAME 10810 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_NUMBER 10811 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10812 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10813 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10814 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_TRUESTATE 10815 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_FALSESTATE 10816 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE 10817 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_ID 10818 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_NAME 10819 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_NUMBER 10820 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10821 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10822 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10823 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10824 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10825 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE 10826 /* Object */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10827 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10828 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10829 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10830 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10831 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10832 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10833 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10834 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10835 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10836 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10837 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVE 10859 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10860 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10861 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10862 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDORSHELVED 10863 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_MAXTIMESHELVED 10864 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE 11093 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_EVENTID 11094 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_EVENTTYPE 11095 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SOURCENODE 11096 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SOURCENAME 11097 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_TIME 11098 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_RECEIVETIME 11099 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_LOCALTIME 11100 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_MESSAGE 11101 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SEVERITY 11102 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_ACTIONTIMESTAMP 11103 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_STATUS 11104 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SERVERID 11105 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CLIENTAUDITENTRYID 11106 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CLIENTUSERID 11107 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_METHODID 11108 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_INPUTARGUMENTS 11109 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_TRUESTATE 11110 /* Variable */ +#define UA_NS0ID_TWOSTATEVARIABLETYPE_FALSESTATE 11111 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONCLASSID 11112 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONCLASSNAME 11113 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONCLASSID 11114 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONCLASSNAME 11115 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONCLASSID 11116 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONCLASSNAME 11117 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONCLASSID 11118 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONCLASSNAME 11119 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_INPUTNODE 11120 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONCLASSID 11121 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONCLASSNAME 11122 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_INPUTNODE 11123 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_HIGHHIGHLIMIT 11124 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_HIGHLIMIT 11125 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LOWLIMIT 11126 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LOWLOWLIMIT 11127 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONCLASSID 11128 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONCLASSNAME 11129 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_INPUTNODE 11130 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONCLASSID 11131 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONCLASSNAME 11132 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_INPUTNODE 11133 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSID 11134 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSNAME 11135 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_INPUTNODE 11136 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSID 11137 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSNAME 11138 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_INPUTNODE 11139 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONCLASSID 11140 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONCLASSNAME 11141 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_INPUTNODE 11142 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONCLASSID 11143 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONCLASSNAME 11144 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_INPUTNODE 11145 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSID 11146 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSNAME 11147 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_INPUTNODE 11148 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSID 11149 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSNAME 11150 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_INPUTNODE 11151 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONCLASSID 11152 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONCLASSNAME 11153 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_INPUTNODE 11154 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONCLASSID 11155 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONCLASSNAME 11156 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_INPUTNODE 11157 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_NORMALSTATE 11158 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONCLASSID 11159 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONCLASSNAME 11160 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_INPUTNODE 11161 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_NORMALSTATE 11162 /* Variable */ +#define UA_NS0ID_BASECONDITIONCLASSTYPE 11163 /* ObjectType */ +#define UA_NS0ID_PROCESSCONDITIONCLASSTYPE 11164 /* ObjectType */ +#define UA_NS0ID_MAINTENANCECONDITIONCLASSTYPE 11165 /* ObjectType */ +#define UA_NS0ID_SYSTEMCONDITIONCLASSTYPE 11166 /* ObjectType */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_TREATUNCERTAINASBAD 11168 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_PERCENTDATABAD 11169 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_PERCENTDATAGOOD 11170 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_USESLOPEDEXTRAPOLATION 11171 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_AGGREGATEFUNCTIONS 11172 /* Object */ +#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE 11187 /* ObjectType */ +#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_TREATUNCERTAINASBAD 11188 /* Variable */ +#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_PERCENTDATABAD 11189 /* Variable */ +#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_PERCENTDATAGOOD 11190 /* Variable */ +#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_USESLOPEDEXTRAPOLATION 11191 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES 11192 /* Object */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYDATACAPABILITY 11193 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTDATACAPABILITY 11196 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEDATACAPABILITY 11197 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEDATACAPABILITY 11198 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETERAWCAPABILITY 11199 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEATTIMECAPABILITY 11200 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_AGGREGATEFUNCTIONS 11201 /* Object */ +#define UA_NS0ID_HACONFIGURATION 11202 /* Object */ +#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION 11203 /* Object */ +#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_TREATUNCERTAINASBAD 11204 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_PERCENTDATABAD 11205 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_PERCENTDATAGOOD 11206 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_USESLOPEDEXTRAPOLATION 11207 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_STEPPED 11208 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_DEFINITION 11209 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_MAXTIMEINTERVAL 11210 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_MINTIMEINTERVAL 11211 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_EXCEPTIONDEVIATION 11212 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_EXCEPTIONDEVIATIONFORMAT 11213 /* Variable */ +#define UA_NS0ID_ANNOTATIONS 11214 /* Variable */ +#define UA_NS0ID_HISTORICALEVENTFILTER 11215 /* Variable */ +#define UA_NS0ID_MODIFICATIONINFO 11216 /* DataType */ +#define UA_NS0ID_HISTORYMODIFIEDDATA 11217 /* DataType */ +#define UA_NS0ID_MODIFICATIONINFO_ENCODING_DEFAULTXML 11218 /* Object */ +#define UA_NS0ID_HISTORYMODIFIEDDATA_ENCODING_DEFAULTXML 11219 /* Object */ +#define UA_NS0ID_MODIFICATIONINFO_ENCODING_DEFAULTBINARY 11226 /* Object */ +#define UA_NS0ID_HISTORYMODIFIEDDATA_ENCODING_DEFAULTBINARY 11227 /* Object */ +#define UA_NS0ID_HISTORYUPDATETYPE 11234 /* DataType */ +#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE 11238 /* VariableType */ +#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_DEFINITION 11239 /* Variable */ +#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_VALUEPRECISION 11240 /* Variable */ +#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_ENUMVALUES 11241 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYEVENTSCAPABILITY 11242 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_MAXRETURNDATAVALUES 11268 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_MAXRETURNEVENTVALUES 11269 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_INSERTANNOTATIONCAPABILITY 11270 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNDATAVALUES 11273 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNEVENTVALUES 11274 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTANNOTATIONCAPABILITY 11275 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_INSERTEVENTCAPABILITY 11278 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_REPLACEEVENTCAPABILITY 11279 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_UPDATEEVENTCAPABILITY 11280 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTEVENTCAPABILITY 11281 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEEVENTCAPABILITY 11282 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEEVENTCAPABILITY 11283 /* Variable */ +#define UA_NS0ID_AGGREGATEFUNCTION_TIMEAVERAGE2 11285 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUM2 11286 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUM2 11287 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_RANGE2 11288 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_WORSTQUALITY2 11292 /* Object */ +#define UA_NS0ID_PERFORMUPDATETYPE 11293 /* DataType */ +#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS 11295 /* DataType */ +#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS_ENCODING_DEFAULTXML 11296 /* Object */ +#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS_ENCODING_DEFAULTBINARY 11300 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_TOTAL2 11304 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUMACTUALTIME2 11305 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUMACTUALTIME2 11306 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONINSTATEZERO 11307 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONINSTATENONZERO 11308 /* Object */ +#define UA_NS0ID_SERVER_SERVERREDUNDANCY_CURRENTSERVERID 11312 /* Variable */ +#define UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANTSERVERARRAY 11313 /* Variable */ +#define UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERURIARRAY 11314 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOTIMEDSHELVED_TRANSITIONNUMBER 11322 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOONESHOTSHELVED_TRANSITIONNUMBER 11323 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOUNSHELVED_TRANSITIONNUMBER 11324 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOONESHOTSHELVED_TRANSITIONNUMBER 11325 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOUNSHELVED_TRANSITIONNUMBER 11326 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOTIMEDSHELVED_TRANSITIONNUMBER 11327 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOWTOLOW_TRANSITIONNUMBER 11340 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWTOLOWLOW_TRANSITIONNUMBER 11341 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGHTOHIGH_TRANSITIONNUMBER 11342 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHTOHIGHHIGH_TRANSITIONNUMBER 11343 /* Variable */ +#define UA_NS0ID_AGGREGATEFUNCTION_STANDARDDEVIATIONSAMPLE 11426 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_STANDARDDEVIATIONPOPULATION 11427 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_VARIANCESAMPLE 11428 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_VARIANCEPOPULATION 11429 /* Object */ +#define UA_NS0ID_ENUMSTRINGS 11432 /* Variable */ +#define UA_NS0ID_VALUEASTEXT 11433 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE 11436 /* ObjectType */ +#define UA_NS0ID_PROGRESSEVENTTYPE_EVENTID 11437 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_EVENTTYPE 11438 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_SOURCENODE 11439 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_SOURCENAME 11440 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_TIME 11441 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_RECEIVETIME 11442 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_LOCALTIME 11443 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_MESSAGE 11444 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_SEVERITY 11445 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE 11446 /* ObjectType */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_EVENTID 11447 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_EVENTTYPE 11448 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SOURCENODE 11449 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SOURCENAME 11450 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_TIME 11451 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_RECEIVETIME 11452 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_LOCALTIME 11453 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_MESSAGE 11454 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SEVERITY 11455 /* Variable */ +#define UA_NS0ID_TRANSITIONVARIABLETYPE_EFFECTIVETRANSITIONTIME 11456 /* Variable */ +#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_EFFECTIVETRANSITIONTIME 11457 /* Variable */ +#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11458 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11459 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_EFFECTIVETRANSITIONTIME 11460 /* Variable */ +#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_VALUEASTEXT 11461 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_EFFECTIVETRANSITIONTIME 11462 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_EFFECTIVETRANSITIONTIME 11463 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11464 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11465 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11466 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11467 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11468 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11469 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11470 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11471 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11472 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11473 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11474 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11475 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11476 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11477 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11478 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11479 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11480 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11481 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11482 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11483 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SECURECHANNELID 11485 /* Variable */ +#define UA_NS0ID_OPTIONSETTYPE 11487 /* VariableType */ +#define UA_NS0ID_OPTIONSETTYPE_OPTIONSETVALUES 11488 /* Variable */ +#define UA_NS0ID_SERVERTYPE_GETMONITOREDITEMS 11489 /* Method */ +#define UA_NS0ID_SERVERTYPE_GETMONITOREDITEMS_INPUTARGUMENTS 11490 /* Variable */ +#define UA_NS0ID_SERVERTYPE_GETMONITOREDITEMS_OUTPUTARGUMENTS 11491 /* Variable */ +#define UA_NS0ID_SERVER_GETMONITOREDITEMS 11492 /* Method */ +#define UA_NS0ID_SERVER_GETMONITOREDITEMS_INPUTARGUMENTS 11493 /* Variable */ +#define UA_NS0ID_SERVER_GETMONITOREDITEMS_OUTPUTARGUMENTS 11494 /* Variable */ +#define UA_NS0ID_GETMONITOREDITEMSMETHODTYPE 11495 /* Method */ +#define UA_NS0ID_GETMONITOREDITEMSMETHODTYPE_INPUTARGUMENTS 11496 /* Variable */ +#define UA_NS0ID_GETMONITOREDITEMSMETHODTYPE_OUTPUTARGUMENTS 11497 /* Variable */ +#define UA_NS0ID_MAXSTRINGLENGTH 11498 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_STARTOFARCHIVE 11499 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_STARTOFONLINEARCHIVE 11500 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_DELETEEVENTCAPABILITY 11501 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEEVENTCAPABILITY 11502 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_STARTOFARCHIVE 11503 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_STARTOFONLINEARCHIVE 11504 /* Variable */ +#define UA_NS0ID_AGGREGATEFUNCTION_STARTBOUND 11505 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_ENDBOUND 11506 /* Object */ +#define UA_NS0ID_AGGREGATEFUNCTION_DELTABOUNDS 11507 /* Object */ +#define UA_NS0ID_MODELLINGRULE_OPTIONALPLACEHOLDER 11508 /* Object */ +#define UA_NS0ID_MODELLINGRULE_MANDATORYPLACEHOLDER 11510 /* Object */ +#define UA_NS0ID_MAXARRAYLENGTH 11512 /* Variable */ +#define UA_NS0ID_ENGINEERINGUNITS 11513 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXARRAYLENGTH 11514 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSTRINGLENGTH 11515 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS 11516 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD 11517 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE 11519 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL 11521 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE 11522 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES 11523 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11524 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT 11525 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL 11526 /* Variable */ +#define UA_NS0ID_SERVERTYPE_NAMESPACES 11527 /* Object */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXARRAYLENGTH 11549 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSTRINGLENGTH 11550 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS 11551 /* Object */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERREAD 11552 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERWRITE 11554 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERMETHODCALL 11556 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERBROWSE 11557 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERREGISTERNODES 11558 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11559 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT 11560 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL 11561 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_VENDORCAPABILITY_PLACEHOLDER 11562 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE 11564 /* ObjectType */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERREAD 11565 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERWRITE 11567 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERMETHODCALL 11569 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERBROWSE 11570 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERREGISTERNODES 11571 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11572 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERNODEMANAGEMENT 11573 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXMONITOREDITEMSPERCALL 11574 /* Variable */ +#define UA_NS0ID_FILETYPE 11575 /* ObjectType */ +#define UA_NS0ID_FILETYPE_SIZE 11576 /* Variable */ +#define UA_NS0ID_FILETYPE_OPENCOUNT 11579 /* Variable */ +#define UA_NS0ID_FILETYPE_OPEN 11580 /* Method */ +#define UA_NS0ID_FILETYPE_OPEN_INPUTARGUMENTS 11581 /* Variable */ +#define UA_NS0ID_FILETYPE_OPEN_OUTPUTARGUMENTS 11582 /* Variable */ +#define UA_NS0ID_FILETYPE_CLOSE 11583 /* Method */ +#define UA_NS0ID_FILETYPE_CLOSE_INPUTARGUMENTS 11584 /* Variable */ +#define UA_NS0ID_FILETYPE_READ 11585 /* Method */ +#define UA_NS0ID_FILETYPE_READ_INPUTARGUMENTS 11586 /* Variable */ +#define UA_NS0ID_FILETYPE_READ_OUTPUTARGUMENTS 11587 /* Variable */ +#define UA_NS0ID_FILETYPE_WRITE 11588 /* Method */ +#define UA_NS0ID_FILETYPE_WRITE_INPUTARGUMENTS 11589 /* Variable */ +#define UA_NS0ID_FILETYPE_GETPOSITION 11590 /* Method */ +#define UA_NS0ID_FILETYPE_GETPOSITION_INPUTARGUMENTS 11591 /* Variable */ +#define UA_NS0ID_FILETYPE_GETPOSITION_OUTPUTARGUMENTS 11592 /* Variable */ +#define UA_NS0ID_FILETYPE_SETPOSITION 11593 /* Method */ +#define UA_NS0ID_FILETYPE_SETPOSITION_INPUTARGUMENTS 11594 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE 11595 /* ObjectType */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_SIZE 11596 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPENCOUNT 11599 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPEN 11600 /* Method */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPEN_INPUTARGUMENTS 11601 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPEN_OUTPUTARGUMENTS 11602 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_CLOSE 11603 /* Method */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_CLOSE_INPUTARGUMENTS 11604 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_READ 11605 /* Method */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_READ_INPUTARGUMENTS 11606 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_READ_OUTPUTARGUMENTS 11607 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_WRITE 11608 /* Method */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_WRITE_INPUTARGUMENTS 11609 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_GETPOSITION 11610 /* Method */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_GETPOSITION_INPUTARGUMENTS 11611 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_GETPOSITION_OUTPUTARGUMENTS 11612 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_SETPOSITION 11613 /* Method */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_SETPOSITION_INPUTARGUMENTS 11614 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_EXPORTNAMESPACE 11615 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE 11616 /* ObjectType */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEURI 11617 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEVERSION 11618 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEPUBLICATIONDATE 11619 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_ISNAMESPACESUBSET 11620 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_STATICNODEIDTYPES 11621 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_STATICNUMERICNODEIDRANGE 11622 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_STATICSTRINGNODEIDPATTERN 11623 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE 11624 /* Object */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_SIZE 11625 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPENCOUNT 11628 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPEN 11629 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPEN_INPUTARGUMENTS 11630 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPEN_OUTPUTARGUMENTS 11631 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_CLOSE 11632 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_CLOSE_INPUTARGUMENTS 11633 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_READ 11634 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_READ_INPUTARGUMENTS 11635 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_READ_OUTPUTARGUMENTS 11636 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_WRITE 11637 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_WRITE_INPUTARGUMENTS 11638 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_GETPOSITION 11639 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_GETPOSITION_INPUTARGUMENTS 11640 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_GETPOSITION_OUTPUTARGUMENTS 11641 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_SETPOSITION 11642 /* Method */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_SETPOSITION_INPUTARGUMENTS 11643 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_EXPORTNAMESPACE 11644 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE 11645 /* ObjectType */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER 11646 /* Object */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEURI 11647 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEVERSION 11648 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEPUBLICATIONDATE 11649 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_ISNAMESPACESUBSET 11650 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_STATICNODEIDTYPES 11651 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_STATICNUMERICNODEIDRANGE 11652 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_STATICSTRINGNODEIDPATTERN 11653 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE 11654 /* Object */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_SIZE 11655 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPENCOUNT 11658 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPEN 11659 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPEN_INPUTARGUMENTS 11660 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPEN_OUTPUTARGUMENTS 11661 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_CLOSE 11662 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_CLOSE_INPUTARGUMENTS 11663 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_READ 11664 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_READ_INPUTARGUMENTS 11665 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_READ_OUTPUTARGUMENTS 11666 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_WRITE 11667 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_WRITE_INPUTARGUMENTS 11668 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_GETPOSITION 11669 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_GETPOSITION_INPUTARGUMENTS 11670 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_GETPOSITION_OUTPUTARGUMENTS 11671 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_SETPOSITION 11672 /* Method */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_SETPOSITION_INPUTARGUMENTS 11673 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_EXPORTNAMESPACE 11674 /* Method */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SYSTEMSTATE 11696 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_SAMPLEDMONITOREDITEMSCOUNT 11697 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_MAXSAMPLEDMONITOREDITEMSCOUNT 11698 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_DISABLEDMONITOREDITEMSSAMPLINGCOUNT 11699 /* Variable */ +#define UA_NS0ID_OPTIONSETTYPE_BITMASK 11701 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXARRAYLENGTH 11702 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSTRINGLENGTH 11703 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS 11704 /* Object */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD 11705 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE 11707 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL 11709 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE 11710 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES 11711 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11712 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT 11713 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL 11714 /* Variable */ +#define UA_NS0ID_SERVER_NAMESPACES 11715 /* Object */ +#define UA_NS0ID_BITFIELDMASKDATATYPE 11737 /* DataType */ +#define UA_NS0ID_OPENMETHODTYPE 11738 /* Method */ +#define UA_NS0ID_OPENMETHODTYPE_INPUTARGUMENTS 11739 /* Variable */ +#define UA_NS0ID_OPENMETHODTYPE_OUTPUTARGUMENTS 11740 /* Variable */ +#define UA_NS0ID_CLOSEMETHODTYPE 11741 /* Method */ +#define UA_NS0ID_CLOSEMETHODTYPE_INPUTARGUMENTS 11742 /* Variable */ +#define UA_NS0ID_READMETHODTYPE 11743 /* Method */ +#define UA_NS0ID_READMETHODTYPE_INPUTARGUMENTS 11744 /* Variable */ +#define UA_NS0ID_READMETHODTYPE_OUTPUTARGUMENTS 11745 /* Variable */ +#define UA_NS0ID_WRITEMETHODTYPE 11746 /* Method */ +#define UA_NS0ID_WRITEMETHODTYPE_INPUTARGUMENTS 11747 /* Variable */ +#define UA_NS0ID_GETPOSITIONMETHODTYPE 11748 /* Method */ +#define UA_NS0ID_GETPOSITIONMETHODTYPE_INPUTARGUMENTS 11749 /* Variable */ +#define UA_NS0ID_GETPOSITIONMETHODTYPE_OUTPUTARGUMENTS 11750 /* Variable */ +#define UA_NS0ID_SETPOSITIONMETHODTYPE 11751 /* Method */ +#define UA_NS0ID_SETPOSITIONMETHODTYPE_INPUTARGUMENTS 11752 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE 11753 /* ObjectType */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_EVENTID 11754 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_EVENTTYPE 11755 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SOURCENODE 11756 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SOURCENAME 11757 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_TIME 11758 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RECEIVETIME 11759 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LOCALTIME 11760 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_MESSAGE 11761 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SEVERITY 11762 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONCLASSID 11763 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONCLASSNAME 11764 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONNAME 11765 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_BRANCHID 11766 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RETAIN 11767 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE 11768 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_ID 11769 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_NAME 11770 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_NUMBER 11771 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 11772 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 11773 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 11774 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_TRUESTATE 11775 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_FALSESTATE 11776 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_QUALITY 11777 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_QUALITY_SOURCETIMESTAMP 11778 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LASTSEVERITY 11779 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 11780 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_COMMENT 11781 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_COMMENT_SOURCETIMESTAMP 11782 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CLIENTUSERID 11783 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_DISABLE 11784 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLE 11785 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ADDCOMMENT 11786 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 11787 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH 11788 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 11789 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE 11790 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_ID 11791 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_NAME 11792 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_NUMBER 11793 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 11794 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_TRANSITIONTIME 11795 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 11796 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_TRUESTATE 11797 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_FALSESTATE 11798 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE 11799 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_ID 11800 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_NAME 11801 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_NUMBER 11802 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 11803 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 11804 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 11805 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_TRUESTATE 11806 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_FALSESTATE 11807 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKNOWLEDGE 11808 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 11809 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRM 11810 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRM_INPUTARGUMENTS 11811 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE 11812 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_ID 11813 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_NAME 11814 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_NUMBER 11815 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 11816 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_TRANSITIONTIME 11817 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 11818 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_TRUESTATE 11819 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_FALSESTATE 11820 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_INPUTNODE 11821 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE 11822 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_ID 11823 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_NAME 11824 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_NUMBER 11825 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 11826 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 11827 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 11828 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 11829 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 11830 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE 11831 /* Object */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE 11832 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 11833 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 11834 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 11835 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 11836 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION 11837 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 11838 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 11839 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 11840 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 11841 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11842 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVETIME 11843 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE 11844 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 11845 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 11846 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 11847 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDORSHELVED 11848 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_MAXTIMESHELVED 11849 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_NORMALSTATE 11850 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_COMMENT 11851 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SELECTEDRESPONSE 11852 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_COMMENT 11853 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_COMMENT 11854 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SHELVINGTIME 11855 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE 11856 /* ObjectType */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_EVENTID 11857 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_EVENTTYPE 11858 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SOURCENODE 11859 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SOURCENAME 11860 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_TIME 11861 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_RECEIVETIME 11862 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_LOCALTIME 11863 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_MESSAGE 11864 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SEVERITY 11865 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_ACTIONTIMESTAMP 11866 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_STATUS 11867 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SERVERID 11868 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CLIENTAUDITENTRYID 11869 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CLIENTUSERID 11870 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_METHODID 11871 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_INPUTARGUMENTS 11872 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_OLDSTATEID 11873 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_NEWSTATEID 11874 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_TRANSITIONNUMBER 11875 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATEFUNCTIONS 11876 /* Object */ +#define UA_NS0ID_HACONFIGURATION_AGGREGATEFUNCTIONS 11877 /* Object */ +#define UA_NS0ID_NODECLASS_ENUMVALUES 11878 /* Variable */ +#define UA_NS0ID_INSTANCENODE 11879 /* DataType */ +#define UA_NS0ID_TYPENODE 11880 /* DataType */ +#define UA_NS0ID_NODEATTRIBUTESMASK_ENUMVALUES 11881 /* Variable */ +#define UA_NS0ID_BROWSERESULTMASK_ENUMVALUES 11883 /* Variable */ +#define UA_NS0ID_HISTORYUPDATETYPE_ENUMVALUES 11884 /* Variable */ +#define UA_NS0ID_PERFORMUPDATETYPE_ENUMVALUES 11885 /* Variable */ +#define UA_NS0ID_INSTANCENODE_ENCODING_DEFAULTXML 11887 /* Object */ +#define UA_NS0ID_TYPENODE_ENCODING_DEFAULTXML 11888 /* Object */ +#define UA_NS0ID_INSTANCENODE_ENCODING_DEFAULTBINARY 11889 /* Object */ +#define UA_NS0ID_TYPENODE_ENCODING_DEFAULTBINARY 11890 /* Object */ +#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_UNAUTHORIZEDREQUESTCOUNT 11891 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_UNAUTHORIZEDREQUESTCOUNT 11892 /* Variable */ +#define UA_NS0ID_OPENFILEMODE 11939 /* DataType */ +#define UA_NS0ID_OPENFILEMODE_ENUMVALUES 11940 /* Variable */ +#define UA_NS0ID_MODELCHANGESTRUCTUREVERBMASK 11941 /* DataType */ +#define UA_NS0ID_MODELCHANGESTRUCTUREVERBMASK_ENUMVALUES 11942 /* Variable */ +#define UA_NS0ID_ENDPOINTURLLISTDATATYPE 11943 /* DataType */ +#define UA_NS0ID_NETWORKGROUPDATATYPE 11944 /* DataType */ +#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE 11945 /* ObjectType */ +#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE_REDUNDANCYSUPPORT 11946 /* Variable */ +#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE_SERVERURIARRAY 11947 /* Variable */ +#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE_SERVERNETWORKGROUPS 11948 /* Variable */ +#define UA_NS0ID_ENDPOINTURLLISTDATATYPE_ENCODING_DEFAULTXML 11949 /* Object */ +#define UA_NS0ID_NETWORKGROUPDATATYPE_ENCODING_DEFAULTXML 11950 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTURLLISTDATATYPE 11951 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTURLLISTDATATYPE_DATATYPEVERSION 11952 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTURLLISTDATATYPE_DICTIONARYFRAGMENT 11953 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKGROUPDATATYPE 11954 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKGROUPDATATYPE_DATATYPEVERSION 11955 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKGROUPDATATYPE_DICTIONARYFRAGMENT 11956 /* Variable */ +#define UA_NS0ID_ENDPOINTURLLISTDATATYPE_ENCODING_DEFAULTBINARY 11957 /* Object */ +#define UA_NS0ID_NETWORKGROUPDATATYPE_ENCODING_DEFAULTBINARY 11958 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTURLLISTDATATYPE 11959 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTURLLISTDATATYPE_DATATYPEVERSION 11960 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTURLLISTDATATYPE_DICTIONARYFRAGMENT 11961 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKGROUPDATATYPE 11962 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKGROUPDATATYPE_DATATYPEVERSION 11963 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKGROUPDATATYPE_DICTIONARYFRAGMENT 11964 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE 12021 /* VariableType */ +#define UA_NS0ID_ARRAYITEMTYPE_DEFINITION 12022 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE_VALUEPRECISION 12023 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE_INSTRUMENTRANGE 12024 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE_EURANGE 12025 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE_ENGINEERINGUNITS 12026 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE_TITLE 12027 /* Variable */ +#define UA_NS0ID_ARRAYITEMTYPE_AXISSCALETYPE 12028 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE 12029 /* VariableType */ +#define UA_NS0ID_YARRAYITEMTYPE_DEFINITION 12030 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_VALUEPRECISION 12031 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_INSTRUMENTRANGE 12032 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_EURANGE 12033 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_ENGINEERINGUNITS 12034 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_TITLE 12035 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_AXISSCALETYPE 12036 /* Variable */ +#define UA_NS0ID_YARRAYITEMTYPE_XAXISDEFINITION 12037 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE 12038 /* VariableType */ +#define UA_NS0ID_XYARRAYITEMTYPE_DEFINITION 12039 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_VALUEPRECISION 12040 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_INSTRUMENTRANGE 12041 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_EURANGE 12042 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_ENGINEERINGUNITS 12043 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_TITLE 12044 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_AXISSCALETYPE 12045 /* Variable */ +#define UA_NS0ID_XYARRAYITEMTYPE_XAXISDEFINITION 12046 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE 12047 /* VariableType */ +#define UA_NS0ID_IMAGEITEMTYPE_DEFINITION 12048 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_VALUEPRECISION 12049 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_INSTRUMENTRANGE 12050 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_EURANGE 12051 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_ENGINEERINGUNITS 12052 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_TITLE 12053 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_AXISSCALETYPE 12054 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_XAXISDEFINITION 12055 /* Variable */ +#define UA_NS0ID_IMAGEITEMTYPE_YAXISDEFINITION 12056 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE 12057 /* VariableType */ +#define UA_NS0ID_CUBEITEMTYPE_DEFINITION 12058 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_VALUEPRECISION 12059 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_INSTRUMENTRANGE 12060 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_EURANGE 12061 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_ENGINEERINGUNITS 12062 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_TITLE 12063 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_AXISSCALETYPE 12064 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_XAXISDEFINITION 12065 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_YAXISDEFINITION 12066 /* Variable */ +#define UA_NS0ID_CUBEITEMTYPE_ZAXISDEFINITION 12067 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE 12068 /* VariableType */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_DEFINITION 12069 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_VALUEPRECISION 12070 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_INSTRUMENTRANGE 12071 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_EURANGE 12072 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_ENGINEERINGUNITS 12073 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_TITLE 12074 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_AXISSCALETYPE 12075 /* Variable */ +#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_AXISDEFINITION 12076 /* Variable */ +#define UA_NS0ID_AXISSCALEENUMERATION 12077 /* DataType */ +#define UA_NS0ID_AXISSCALEENUMERATION_ENUMSTRINGS 12078 /* Variable */ +#define UA_NS0ID_AXISINFORMATION 12079 /* DataType */ +#define UA_NS0ID_XVTYPE 12080 /* DataType */ +#define UA_NS0ID_AXISINFORMATION_ENCODING_DEFAULTXML 12081 /* Object */ +#define UA_NS0ID_XVTYPE_ENCODING_DEFAULTXML 12082 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_AXISINFORMATION 12083 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_AXISINFORMATION_DATATYPEVERSION 12084 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_AXISINFORMATION_DICTIONARYFRAGMENT 12085 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_XVTYPE 12086 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_XVTYPE_DATATYPEVERSION 12087 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_XVTYPE_DICTIONARYFRAGMENT 12088 /* Variable */ +#define UA_NS0ID_AXISINFORMATION_ENCODING_DEFAULTBINARY 12089 /* Object */ +#define UA_NS0ID_XVTYPE_ENCODING_DEFAULTBINARY 12090 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_AXISINFORMATION 12091 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_AXISINFORMATION_DATATYPEVERSION 12092 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_AXISINFORMATION_DICTIONARYFRAGMENT 12093 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_XVTYPE 12094 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_XVTYPE_DATATYPEVERSION 12095 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_XVTYPE_DICTIONARYFRAGMENT 12096 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER 12097 /* Object */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS 12098 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SESSIONID 12099 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SESSIONNAME 12100 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CLIENTDESCRIPTION 12101 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SERVERURI 12102 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ENDPOINTURL 12103 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_LOCALEIDS 12104 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ACTUALSESSIONTIMEOUT 12105 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_MAXRESPONSEMESSAGESIZE 12106 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CLIENTCONNECTIONTIME 12107 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CLIENTLASTCONTACTTIME 12108 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CURRENTSUBSCRIPTIONSCOUNT 12109 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CURRENTMONITOREDITEMSCOUNT 12110 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CURRENTPUBLISHREQUESTSINQUEUE 12111 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_TOTALREQUESTCOUNT 12112 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_UNAUTHORIZEDREQUESTCOUNT 12113 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_READCOUNT 12114 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_HISTORYREADCOUNT 12115 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_WRITECOUNT 12116 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_HISTORYUPDATECOUNT 12117 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CALLCOUNT 12118 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CREATEMONITOREDITEMSCOUNT 12119 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_MODIFYMONITOREDITEMSCOUNT 12120 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SETMONITORINGMODECOUNT 12121 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SETTRIGGERINGCOUNT 12122 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETEMONITOREDITEMSCOUNT 12123 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CREATESUBSCRIPTIONCOUNT 12124 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_MODIFYSUBSCRIPTIONCOUNT 12125 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SETPUBLISHINGMODECOUNT 12126 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_PUBLISHCOUNT 12127 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_REPUBLISHCOUNT 12128 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_TRANSFERSUBSCRIPTIONSCOUNT 12129 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETESUBSCRIPTIONSCOUNT 12130 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ADDNODESCOUNT 12131 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ADDREFERENCESCOUNT 12132 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETENODESCOUNT 12133 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETEREFERENCESCOUNT 12134 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_BROWSECOUNT 12135 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_BROWSENEXTCOUNT 12136 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 12137 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_QUERYFIRSTCOUNT 12138 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_QUERYNEXTCOUNT 12139 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_REGISTERNODESCOUNT 12140 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_UNREGISTERNODESCOUNT 12141 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS 12142 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_SESSIONID 12143 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDOFSESSION 12144 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDHISTORY 12145 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_AUTHENTICATIONMECHANISM 12146 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_ENCODING 12147 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_TRANSPORTPROTOCOL 12148 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_SECURITYMODE 12149 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_SECURITYPOLICYURI 12150 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_CLIENTCERTIFICATE 12151 /* Variable */ +#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SUBSCRIPTIONDIAGNOSTICSARRAY 12152 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA 12153 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS 12154 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA 12155 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS 12156 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA 12157 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS 12158 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA 12159 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS 12160 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYREADDATA 12161 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYREADEVENTS 12162 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYUPDATEDATA 12163 /* Variable */ +#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYUPDATEEVENTS 12164 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA 12165 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS 12166 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA 12167 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS 12168 /* Variable */ +#define UA_NS0ID_NAMINGRULETYPE_ENUMVALUES 12169 /* Variable */ +#define UA_NS0ID_VIEWVERSION 12170 /* Variable */ +#define UA_NS0ID_COMPLEXNUMBERTYPE 12171 /* DataType */ +#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE 12172 /* DataType */ +#define UA_NS0ID_COMPLEXNUMBERTYPE_ENCODING_DEFAULTXML 12173 /* Object */ +#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE_ENCODING_DEFAULTXML 12174 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_COMPLEXNUMBERTYPE 12175 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_COMPLEXNUMBERTYPE_DATATYPEVERSION 12176 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_COMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12177 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DOUBLECOMPLEXNUMBERTYPE 12178 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DATATYPEVERSION 12179 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12180 /* Variable */ +#define UA_NS0ID_COMPLEXNUMBERTYPE_ENCODING_DEFAULTBINARY 12181 /* Object */ +#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE_ENCODING_DEFAULTBINARY 12182 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_COMPLEXNUMBERTYPE 12183 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_COMPLEXNUMBERTYPE_DATATYPEVERSION 12184 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_COMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12185 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DOUBLECOMPLEXNUMBERTYPE 12186 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DATATYPEVERSION 12187 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12188 /* Variable */ +#define UA_NS0ID_SERVERONNETWORK 12189 /* DataType */ +#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST 12190 /* DataType */ +#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE 12191 /* DataType */ +#define UA_NS0ID_REGISTERSERVER2REQUEST 12193 /* DataType */ +#define UA_NS0ID_REGISTERSERVER2RESPONSE 12194 /* DataType */ +#define UA_NS0ID_SERVERONNETWORK_ENCODING_DEFAULTXML 12195 /* Object */ +#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTXML 12196 /* Object */ +#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE_ENCODING_DEFAULTXML 12197 /* Object */ +#define UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTXML 12199 /* Object */ +#define UA_NS0ID_REGISTERSERVER2RESPONSE_ENCODING_DEFAULTXML 12200 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERONNETWORK 12201 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERONNETWORK_DATATYPEVERSION 12202 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERONNETWORK_DICTIONARYFRAGMENT 12203 /* Variable */ +#define UA_NS0ID_SERVERONNETWORK_ENCODING_DEFAULTBINARY 12207 /* Object */ +#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTBINARY 12208 /* Object */ +#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE_ENCODING_DEFAULTBINARY 12209 /* Object */ +#define UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTBINARY 12211 /* Object */ +#define UA_NS0ID_REGISTERSERVER2RESPONSE_ENCODING_DEFAULTBINARY 12212 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERONNETWORK 12213 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERONNETWORK_DATATYPEVERSION 12214 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERONNETWORK_DICTIONARYFRAGMENT 12215 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_CONTEXT 12502 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_PROGRESS 12503 /* Variable */ +#define UA_NS0ID_OPENWITHMASKSMETHODTYPE 12513 /* Method */ +#define UA_NS0ID_OPENWITHMASKSMETHODTYPE_INPUTARGUMENTS 12514 /* Variable */ +#define UA_NS0ID_OPENWITHMASKSMETHODTYPE_OUTPUTARGUMENTS 12515 /* Variable */ +#define UA_NS0ID_CLOSEANDUPDATEMETHODTYPE 12516 /* Method */ +#define UA_NS0ID_CLOSEANDUPDATEMETHODTYPE_OUTPUTARGUMENTS 12517 /* Variable */ +#define UA_NS0ID_ADDCERTIFICATEMETHODTYPE 12518 /* Method */ +#define UA_NS0ID_ADDCERTIFICATEMETHODTYPE_INPUTARGUMENTS 12519 /* Variable */ +#define UA_NS0ID_REMOVECERTIFICATEMETHODTYPE 12520 /* Method */ +#define UA_NS0ID_REMOVECERTIFICATEMETHODTYPE_INPUTARGUMENTS 12521 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE 12522 /* ObjectType */ +#define UA_NS0ID_TRUSTLISTTYPE_SIZE 12523 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_OPENCOUNT 12526 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_OPEN 12527 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_OPEN_INPUTARGUMENTS 12528 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_OPEN_OUTPUTARGUMENTS 12529 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_CLOSE 12530 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_CLOSE_INPUTARGUMENTS 12531 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_READ 12532 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_READ_INPUTARGUMENTS 12533 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_READ_OUTPUTARGUMENTS 12534 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_WRITE 12535 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_WRITE_INPUTARGUMENTS 12536 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_GETPOSITION 12537 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_GETPOSITION_INPUTARGUMENTS 12538 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_GETPOSITION_OUTPUTARGUMENTS 12539 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_SETPOSITION 12540 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_SETPOSITION_INPUTARGUMENTS 12541 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_LASTUPDATETIME 12542 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_OPENWITHMASKS 12543 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_OPENWITHMASKS_INPUTARGUMENTS 12544 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_OPENWITHMASKS_OUTPUTARGUMENTS 12545 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_CLOSEANDUPDATE 12546 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_CLOSEANDUPDATE_OUTPUTARGUMENTS 12547 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_ADDCERTIFICATE 12548 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_ADDCERTIFICATE_INPUTARGUMENTS 12549 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_REMOVECERTIFICATE 12550 /* Method */ +#define UA_NS0ID_TRUSTLISTTYPE_REMOVECERTIFICATE_INPUTARGUMENTS 12551 /* Variable */ +#define UA_NS0ID_TRUSTLISTMASKS 12552 /* DataType */ +#define UA_NS0ID_TRUSTLISTMASKS_ENUMVALUES 12553 /* Variable */ +#define UA_NS0ID_TRUSTLISTDATATYPE 12554 /* DataType */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE 12555 /* ObjectType */ +#define UA_NS0ID_CERTIFICATETYPE 12556 /* ObjectType */ +#define UA_NS0ID_APPLICATIONCERTIFICATETYPE 12557 /* ObjectType */ +#define UA_NS0ID_HTTPSCERTIFICATETYPE 12558 /* ObjectType */ +#define UA_NS0ID_RSAMINAPPLICATIONCERTIFICATETYPE 12559 /* ObjectType */ +#define UA_NS0ID_RSASHA256APPLICATIONCERTIFICATETYPE 12560 /* ObjectType */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE 12561 /* ObjectType */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_EVENTID 12562 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_EVENTTYPE 12563 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SOURCENODE 12564 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SOURCENAME 12565 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_TIME 12566 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_RECEIVETIME 12567 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_LOCALTIME 12568 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_MESSAGE 12569 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SEVERITY 12570 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_ACTIONTIMESTAMP 12571 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_STATUS 12572 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SERVERID 12573 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 12574 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CLIENTUSERID 12575 /* Variable */ +#define UA_NS0ID_UPDATECERTIFICATEMETHODTYPE 12578 /* Method */ +#define UA_NS0ID_UPDATECERTIFICATEMETHODTYPE_INPUTARGUMENTS 12579 /* Variable */ +#define UA_NS0ID_UPDATECERTIFICATEMETHODTYPE_OUTPUTARGUMENTS 12580 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE 12581 /* ObjectType */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_SUPPORTEDPRIVATEKEYFORMATS 12583 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_MAXTRUSTLISTSIZE 12584 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_MULTICASTDNSENABLED 12585 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_UPDATECERTIFICATE 12616 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_UPDATECERTIFICATE_INPUTARGUMENTS 12617 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_UPDATECERTIFICATE_OUTPUTARGUMENTS 12618 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE 12620 /* ObjectType */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_EVENTID 12621 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_EVENTTYPE 12622 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SOURCENODE 12623 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SOURCENAME 12624 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_TIME 12625 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_RECEIVETIME 12626 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_LOCALTIME 12627 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_MESSAGE 12628 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SEVERITY 12629 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_ACTIONTIMESTAMP 12630 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_STATUS 12631 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SERVERID 12632 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 12633 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CLIENTUSERID 12634 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION 12637 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_SUPPORTEDPRIVATEKEYFORMATS 12639 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_MAXTRUSTLISTSIZE 12640 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_MULTICASTDNSENABLED 12641 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 12642 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 12643 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 12646 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 12647 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 12648 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 12649 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 12650 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 12651 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 12652 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 12653 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 12654 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 12655 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 12656 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 12657 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 12658 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 12659 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 12660 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 12661 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 12662 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 12663 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 12664 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 12665 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 12666 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 12667 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 12668 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 12669 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 12670 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 12671 /* Variable */ +#define UA_NS0ID_TRUSTLISTDATATYPE_ENCODING_DEFAULTXML 12676 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRUSTLISTDATATYPE 12677 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRUSTLISTDATATYPE_DATATYPEVERSION 12678 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRUSTLISTDATATYPE_DICTIONARYFRAGMENT 12679 /* Variable */ +#define UA_NS0ID_TRUSTLISTDATATYPE_ENCODING_DEFAULTBINARY 12680 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRUSTLISTDATATYPE 12681 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRUSTLISTDATATYPE_DATATYPEVERSION 12682 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRUSTLISTDATATYPE_DICTIONARYFRAGMENT 12683 /* Variable */ +#define UA_NS0ID_FILETYPE_WRITABLE 12686 /* Variable */ +#define UA_NS0ID_FILETYPE_USERWRITABLE 12687 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_WRITABLE 12688 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_USERWRITABLE 12689 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_WRITABLE 12690 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_USERWRITABLE 12691 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_WRITABLE 12692 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_USERWRITABLE 12693 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_WRITABLE 12698 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_USERWRITABLE 12699 /* Variable */ +#define UA_NS0ID_CLOSEANDUPDATEMETHODTYPE_INPUTARGUMENTS 12704 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_CLOSEANDUPDATE_INPUTARGUMENTS 12705 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_SERVERCAPABILITIES 12708 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_SERVERCAPABILITIES 12710 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATHELEMENT 12712 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATHELEMENT_DATATYPEVERSION 12713 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATHELEMENT_DICTIONARYFRAGMENT 12714 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATH 12715 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATH_DATATYPEVERSION 12716 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATH_DICTIONARYFRAGMENT 12717 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATHELEMENT 12718 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATHELEMENT_DATATYPEVERSION 12719 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATHELEMENT_DICTIONARYFRAGMENT 12720 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATH 12721 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATH_DATATYPEVERSION 12722 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATH_DICTIONARYFRAGMENT 12723 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CREATESIGNINGREQUEST 12731 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CREATESIGNINGREQUEST_INPUTARGUMENTS 12732 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 12733 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_APPLYCHANGES 12734 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CREATESIGNINGREQUEST 12737 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CREATESIGNINGREQUEST_INPUTARGUMENTS 12738 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 12739 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_APPLYCHANGES 12740 /* Method */ +#define UA_NS0ID_CREATESIGNINGREQUESTMETHODTYPE 12741 /* Method */ +#define UA_NS0ID_CREATESIGNINGREQUESTMETHODTYPE_INPUTARGUMENTS 12742 /* Variable */ +#define UA_NS0ID_CREATESIGNINGREQUESTMETHODTYPE_OUTPUTARGUMENTS 12743 /* Variable */ +#define UA_NS0ID_OPTIONSETVALUES 12745 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SETSUBSCRIPTIONDURABLE 12746 /* Method */ +#define UA_NS0ID_SERVERTYPE_SETSUBSCRIPTIONDURABLE_INPUTARGUMENTS 12747 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SETSUBSCRIPTIONDURABLE_OUTPUTARGUMENTS 12748 /* Variable */ +#define UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE 12749 /* Method */ +#define UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE_INPUTARGUMENTS 12750 /* Variable */ +#define UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE_OUTPUTARGUMENTS 12751 /* Variable */ +#define UA_NS0ID_SETSUBSCRIPTIONDURABLEMETHODTYPE 12752 /* Method */ +#define UA_NS0ID_SETSUBSCRIPTIONDURABLEMETHODTYPE_INPUTARGUMENTS 12753 /* Variable */ +#define UA_NS0ID_SETSUBSCRIPTIONDURABLEMETHODTYPE_OUTPUTARGUMENTS 12754 /* Variable */ +#define UA_NS0ID_OPTIONSET 12755 /* DataType */ +#define UA_NS0ID_UNION 12756 /* DataType */ +#define UA_NS0ID_OPTIONSET_ENCODING_DEFAULTXML 12757 /* Object */ +#define UA_NS0ID_UNION_ENCODING_DEFAULTXML 12758 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_OPTIONSET 12759 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_OPTIONSET_DATATYPEVERSION 12760 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_OPTIONSET_DICTIONARYFRAGMENT 12761 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UNION 12762 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UNION_DATATYPEVERSION 12763 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UNION_DICTIONARYFRAGMENT 12764 /* Variable */ +#define UA_NS0ID_OPTIONSET_ENCODING_DEFAULTBINARY 12765 /* Object */ +#define UA_NS0ID_UNION_ENCODING_DEFAULTBINARY 12766 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_OPTIONSET 12767 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_OPTIONSET_DATATYPEVERSION 12768 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_OPTIONSET_DICTIONARYFRAGMENT 12769 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNION 12770 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNION_DATATYPEVERSION 12771 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNION_DICTIONARYFRAGMENT 12772 /* Variable */ +#define UA_NS0ID_GETREJECTEDLISTMETHODTYPE 12773 /* Method */ +#define UA_NS0ID_GETREJECTEDLISTMETHODTYPE_OUTPUTARGUMENTS 12774 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETREJECTEDLIST 12775 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETREJECTEDLIST_OUTPUTARGUMENTS 12776 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_GETREJECTEDLIST 12777 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_GETREJECTEDLIST_OUTPUTARGUMENTS 12778 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS 12779 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_SAMPLINGINTERVAL 12780 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_SAMPLEDMONITOREDITEMSCOUNT 12781 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_MAXSAMPLEDMONITOREDITEMSCOUNT 12782 /* Variable */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_DISABLEDMONITOREDITEMSSAMPLINGCOUNT 12783 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS 12784 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_SESSIONID 12785 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_SUBSCRIPTIONID 12786 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PRIORITY 12787 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PUBLISHINGINTERVAL 12788 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MAXKEEPALIVECOUNT 12789 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MAXLIFETIMECOUNT 12790 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MAXNOTIFICATIONSPERPUBLISH 12791 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PUBLISHINGENABLED 12792 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MODIFYCOUNT 12793 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_ENABLECOUNT 12794 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DISABLECOUNT 12795 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_REPUBLISHREQUESTCOUNT 12796 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_REPUBLISHMESSAGEREQUESTCOUNT 12797 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_REPUBLISHMESSAGECOUNT 12798 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_TRANSFERREQUESTCOUNT 12799 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_TRANSFERREDTOALTCLIENTCOUNT 12800 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_TRANSFERREDTOSAMECLIENTCOUNT 12801 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PUBLISHREQUESTCOUNT 12802 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DATACHANGENOTIFICATIONSCOUNT 12803 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_EVENTNOTIFICATIONSCOUNT 12804 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_NOTIFICATIONSCOUNT 12805 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_LATEPUBLISHREQUESTCOUNT 12806 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_CURRENTKEEPALIVECOUNT 12807 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_CURRENTLIFETIMECOUNT 12808 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_UNACKNOWLEDGEDMESSAGECOUNT 12809 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DISCARDEDMESSAGECOUNT 12810 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MONITOREDITEMCOUNT 12811 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DISABLEDMONITOREDITEMCOUNT 12812 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MONITORINGQUEUEOVERFLOWCOUNT 12813 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_NEXTSEQUENCENUMBER 12814 /* Variable */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_EVENTQUEUEOVERFLOWCOUNT 12815 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS 12816 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SESSIONID 12817 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SESSIONNAME 12818 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CLIENTDESCRIPTION 12819 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SERVERURI 12820 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ENDPOINTURL 12821 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_LOCALEIDS 12822 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ACTUALSESSIONTIMEOUT 12823 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_MAXRESPONSEMESSAGESIZE 12824 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CLIENTCONNECTIONTIME 12825 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CLIENTLASTCONTACTTIME 12826 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CURRENTSUBSCRIPTIONSCOUNT 12827 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CURRENTMONITOREDITEMSCOUNT 12828 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CURRENTPUBLISHREQUESTSINQUEUE 12829 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_TOTALREQUESTCOUNT 12830 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_UNAUTHORIZEDREQUESTCOUNT 12831 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_READCOUNT 12832 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_HISTORYREADCOUNT 12833 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_WRITECOUNT 12834 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_HISTORYUPDATECOUNT 12835 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CALLCOUNT 12836 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CREATEMONITOREDITEMSCOUNT 12837 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_MODIFYMONITOREDITEMSCOUNT 12838 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SETMONITORINGMODECOUNT 12839 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SETTRIGGERINGCOUNT 12840 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETEMONITOREDITEMSCOUNT 12841 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CREATESUBSCRIPTIONCOUNT 12842 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_MODIFYSUBSCRIPTIONCOUNT 12843 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SETPUBLISHINGMODECOUNT 12844 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_PUBLISHCOUNT 12845 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_REPUBLISHCOUNT 12846 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_TRANSFERSUBSCRIPTIONSCOUNT 12847 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETESUBSCRIPTIONSCOUNT 12848 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ADDNODESCOUNT 12849 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ADDREFERENCESCOUNT 12850 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETENODESCOUNT 12851 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETEREFERENCESCOUNT 12852 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_BROWSECOUNT 12853 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_BROWSENEXTCOUNT 12854 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 12855 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_QUERYFIRSTCOUNT 12856 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_QUERYNEXTCOUNT 12857 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_REGISTERNODESCOUNT 12858 /* Variable */ +#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_UNREGISTERNODESCOUNT 12859 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS 12860 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_SESSIONID 12861 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDOFSESSION 12862 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDHISTORY 12863 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_AUTHENTICATIONMECHANISM 12864 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_ENCODING 12865 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_TRANSPORTPROTOCOL 12866 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYMODE 12867 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYPOLICYURI 12868 /* Variable */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTCERTIFICATE 12869 /* Variable */ +#define UA_NS0ID_SERVERTYPE_RESENDDATA 12871 /* Method */ +#define UA_NS0ID_SERVERTYPE_RESENDDATA_INPUTARGUMENTS 12872 /* Variable */ +#define UA_NS0ID_SERVER_RESENDDATA 12873 /* Method */ +#define UA_NS0ID_SERVER_RESENDDATA_INPUTARGUMENTS 12874 /* Variable */ +#define UA_NS0ID_RESENDDATAMETHODTYPE 12875 /* Method */ +#define UA_NS0ID_RESENDDATAMETHODTYPE_INPUTARGUMENTS 12876 /* Variable */ +#define UA_NS0ID_NORMALIZEDSTRING 12877 /* DataType */ +#define UA_NS0ID_DECIMALSTRING 12878 /* DataType */ +#define UA_NS0ID_DURATIONSTRING 12879 /* DataType */ +#define UA_NS0ID_TIMESTRING 12880 /* DataType */ +#define UA_NS0ID_DATESTRING 12881 /* DataType */ +#define UA_NS0ID_SERVERTYPE_ESTIMATEDRETURNTIME 12882 /* Variable */ +#define UA_NS0ID_SERVERTYPE_REQUESTSERVERSTATECHANGE 12883 /* Method */ +#define UA_NS0ID_SERVERTYPE_REQUESTSERVERSTATECHANGE_INPUTARGUMENTS 12884 /* Variable */ +#define UA_NS0ID_SERVER_ESTIMATEDRETURNTIME 12885 /* Variable */ +#define UA_NS0ID_SERVER_REQUESTSERVERSTATECHANGE 12886 /* Method */ +#define UA_NS0ID_SERVER_REQUESTSERVERSTATECHANGE_INPUTARGUMENTS 12887 /* Variable */ +#define UA_NS0ID_REQUESTSERVERSTATECHANGEMETHODTYPE 12888 /* Method */ +#define UA_NS0ID_REQUESTSERVERSTATECHANGEMETHODTYPE_INPUTARGUMENTS 12889 /* Variable */ +#define UA_NS0ID_DISCOVERYCONFIGURATION 12890 /* DataType */ +#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION 12891 /* DataType */ +#define UA_NS0ID_DISCOVERYCONFIGURATION_ENCODING_DEFAULTXML 12892 /* Object */ +#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION_ENCODING_DEFAULTXML 12893 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DISCOVERYCONFIGURATION 12894 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DISCOVERYCONFIGURATION_DATATYPEVERSION 12895 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12896 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MDNSDISCOVERYCONFIGURATION 12897 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MDNSDISCOVERYCONFIGURATION_DATATYPEVERSION 12898 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_MDNSDISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12899 /* Variable */ +#define UA_NS0ID_DISCOVERYCONFIGURATION_ENCODING_DEFAULTBINARY 12900 /* Object */ +#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION_ENCODING_DEFAULTBINARY 12901 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DISCOVERYCONFIGURATION 12902 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DISCOVERYCONFIGURATION_DATATYPEVERSION 12903 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12904 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MDNSDISCOVERYCONFIGURATION 12905 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MDNSDISCOVERYCONFIGURATION_DATATYPEVERSION 12906 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_MDNSDISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12907 /* Variable */ +#define UA_NS0ID_MAXBYTESTRINGLENGTH 12908 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXBYTESTRINGLENGTH 12909 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXBYTESTRINGLENGTH 12910 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBYTESTRINGLENGTH 12911 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH2 12912 /* Method */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12913 /* Variable */ +#define UA_NS0ID_CONDITIONREFRESH2METHODTYPE 12914 /* Method */ +#define UA_NS0ID_CONDITIONREFRESH2METHODTYPE_INPUTARGUMENTS 12915 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH2 12916 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12917 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH2 12918 /* Method */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12919 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH2 12984 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12985 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH2 12986 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12987 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2 12988 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12989 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2 12990 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12991 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2 12992 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12993 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2 12994 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12995 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2 12996 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12997 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2 12998 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12999 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2 13000 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13001 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2 13002 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13003 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH2 13004 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13005 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH2 13006 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13007 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH2 13008 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13009 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH2 13010 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13011 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE 13225 /* ObjectType */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EVENTID 13226 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EVENTTYPE 13227 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SOURCENODE 13228 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SOURCENAME 13229 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_TIME 13230 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RECEIVETIME 13231 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LOCALTIME 13232 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_MESSAGE 13233 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SEVERITY 13234 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONCLASSID 13235 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONCLASSNAME 13236 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONNAME 13237 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_BRANCHID 13238 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RETAIN 13239 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE 13240 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_ID 13241 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_NAME 13242 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_NUMBER 13243 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 13244 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 13245 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 13246 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_TRUESTATE 13247 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_FALSESTATE 13248 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_QUALITY 13249 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_QUALITY_SOURCETIMESTAMP 13250 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LASTSEVERITY 13251 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 13252 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_COMMENT 13253 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_COMMENT_SOURCETIMESTAMP 13254 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CLIENTUSERID 13255 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_DISABLE 13256 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLE 13257 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ADDCOMMENT 13258 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 13259 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH 13260 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 13261 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH2 13262 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13263 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE 13264 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_ID 13265 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_NAME 13266 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_NUMBER 13267 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 13268 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_TRANSITIONTIME 13269 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 13270 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_TRUESTATE 13271 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_FALSESTATE 13272 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE 13273 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_ID 13274 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_NAME 13275 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_NUMBER 13276 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 13277 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 13278 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 13279 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_TRUESTATE 13280 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_FALSESTATE 13281 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKNOWLEDGE 13282 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 13283 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRM 13284 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRM_INPUTARGUMENTS 13285 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE 13286 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_ID 13287 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_NAME 13288 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_NUMBER 13289 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 13290 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_TRANSITIONTIME 13291 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 13292 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_TRUESTATE 13293 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_FALSESTATE 13294 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_INPUTNODE 13295 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE 13296 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_ID 13297 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_NAME 13298 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_NUMBER 13299 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 13300 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 13301 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 13302 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 13303 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 13304 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE 13305 /* Object */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE 13306 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 13307 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 13308 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 13309 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 13310 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION 13311 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 13312 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 13313 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 13314 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 13315 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 13316 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVETIME 13317 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVE 13318 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 13319 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 13320 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 13321 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDORSHELVED 13322 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_MAXTIMESHELVED 13323 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_NORMALSTATE 13324 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EXPIRATIONDATE 13325 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CERTIFICATETYPE 13326 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CERTIFICATE 13327 /* Variable */ +#define UA_NS0ID_FILETYPE_MIMETYPE 13341 /* Variable */ +#define UA_NS0ID_CREATEDIRECTORYMETHODTYPE 13342 /* Method */ +#define UA_NS0ID_CREATEDIRECTORYMETHODTYPE_INPUTARGUMENTS 13343 /* Variable */ +#define UA_NS0ID_CREATEDIRECTORYMETHODTYPE_OUTPUTARGUMENTS 13344 /* Variable */ +#define UA_NS0ID_CREATEFILEMETHODTYPE 13345 /* Method */ +#define UA_NS0ID_CREATEFILEMETHODTYPE_INPUTARGUMENTS 13346 /* Variable */ +#define UA_NS0ID_CREATEFILEMETHODTYPE_OUTPUTARGUMENTS 13347 /* Variable */ +#define UA_NS0ID_DELETEFILEMETHODTYPE 13348 /* Method */ +#define UA_NS0ID_DELETEFILEMETHODTYPE_INPUTARGUMENTS 13349 /* Variable */ +#define UA_NS0ID_MOVEORCOPYMETHODTYPE 13350 /* Method */ +#define UA_NS0ID_MOVEORCOPYMETHODTYPE_INPUTARGUMENTS 13351 /* Variable */ +#define UA_NS0ID_MOVEORCOPYMETHODTYPE_OUTPUTARGUMENTS 13352 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE 13353 /* ObjectType */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER 13354 /* Object */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY 13355 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_INPUTARGUMENTS 13356 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_OUTPUTARGUMENTS 13357 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE 13358 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_INPUTARGUMENTS 13359 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_OUTPUTARGUMENTS 13360 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY 13363 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_INPUTARGUMENTS 13364 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_OUTPUTARGUMENTS 13365 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER 13366 /* Object */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_SIZE 13367 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_WRITABLE 13368 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_USERWRITABLE 13369 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPENCOUNT 13370 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_MIMETYPE 13371 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPEN 13372 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPEN_INPUTARGUMENTS 13373 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPEN_OUTPUTARGUMENTS 13374 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_CLOSE 13375 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_CLOSE_INPUTARGUMENTS 13376 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_READ 13377 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_READ_INPUTARGUMENTS 13378 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_READ_OUTPUTARGUMENTS 13379 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_WRITE 13380 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_WRITE_INPUTARGUMENTS 13381 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_GETPOSITION 13382 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_GETPOSITION_INPUTARGUMENTS 13383 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_GETPOSITION_OUTPUTARGUMENTS 13384 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_SETPOSITION 13385 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_SETPOSITION_INPUTARGUMENTS 13386 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEDIRECTORY 13387 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEDIRECTORY_INPUTARGUMENTS 13388 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEDIRECTORY_OUTPUTARGUMENTS 13389 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEFILE 13390 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEFILE_INPUTARGUMENTS 13391 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEFILE_OUTPUTARGUMENTS 13392 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_DELETEFILESYSTEMOBJECT 13393 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 13394 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_MOVEORCOPY 13395 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_MOVEORCOPY_INPUTARGUMENTS 13396 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_MOVEORCOPY_OUTPUTARGUMENTS 13397 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_MIMETYPE 13398 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_MIMETYPE 13399 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_MIMETYPE 13400 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_MIMETYPE 13403 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST 13599 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_SIZE 13600 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_WRITABLE 13601 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_USERWRITABLE 13602 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENCOUNT 13603 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_MIMETYPE 13604 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPEN 13605 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPEN_INPUTARGUMENTS 13606 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13607 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSE 13608 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSE_INPUTARGUMENTS 13609 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_READ 13610 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_READ_INPUTARGUMENTS 13611 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_READ_OUTPUTARGUMENTS 13612 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_WRITE 13613 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_WRITE_INPUTARGUMENTS 13614 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_GETPOSITION 13615 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13616 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13617 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_SETPOSITION 13618 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13619 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_LASTUPDATETIME 13620 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENWITHMASKS 13621 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13622 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13623 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSEANDUPDATE 13624 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13625 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13626 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_ADDCERTIFICATE 13627 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13628 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_REMOVECERTIFICATE 13629 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13630 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATETYPES 13631 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CERTIFICATEGROUP 13735 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CERTIFICATETYPE 13736 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_UPDATECERTIFICATE 13737 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_UPDATECERTIFICATE_INPUTARGUMENTS 13738 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_UPDATECERTIFICATE_OUTPUTARGUMENTS 13739 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE 13813 /* ObjectType */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP 13814 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST 13815 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 13816 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 13817 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 13818 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 13819 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 13820 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 13821 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13822 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13823 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 13824 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13825 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 13826 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13827 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13828 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 13829 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13830 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 13831 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13832 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13833 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 13834 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13835 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 13836 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 13837 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13838 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13839 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 13840 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13841 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13842 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 13843 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13844 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 13845 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13846 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 13847 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP 13848 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST 13849 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 13850 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 13851 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 13852 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 13853 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 13854 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 13855 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13856 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13857 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 13858 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13859 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_READ 13860 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13861 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13862 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 13863 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13864 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 13865 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13866 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13867 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 13868 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13869 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 13870 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 13871 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13872 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13873 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 13874 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13875 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13876 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 13877 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13878 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 13879 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13880 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATETYPES 13881 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP 13882 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST 13883 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 13884 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 13885 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 13886 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 13887 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 13888 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 13889 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13890 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13891 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 13892 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13893 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 13894 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13895 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13896 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 13897 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13898 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 13899 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13900 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13901 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 13902 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13903 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 13904 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 13905 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13906 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13907 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 13908 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13909 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13910 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 13911 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13912 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 13913 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13914 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 13915 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER 13916 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST 13917 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_SIZE 13918 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_WRITABLE 13919 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_USERWRITABLE 13920 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENCOUNT 13921 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_MIMETYPE 13922 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPEN 13923 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPEN_INPUTARGUMENTS 13924 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13925 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSE 13926 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSE_INPUTARGUMENTS 13927 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_READ 13928 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_READ_INPUTARGUMENTS 13929 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_READ_OUTPUTARGUMENTS 13930 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_WRITE 13931 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_WRITE_INPUTARGUMENTS 13932 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_GETPOSITION 13933 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13934 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13935 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_SETPOSITION 13936 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13937 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_LASTUPDATETIME 13938 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENWITHMASKS 13939 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13940 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13941 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSEANDUPDATE 13942 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13943 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13944 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_ADDCERTIFICATE 13945 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13946 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_REMOVECERTIFICATE 13947 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13948 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATETYPES 13949 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS 13950 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 13951 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 13952 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 13953 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 13954 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 13955 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 13956 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 13957 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 13958 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13959 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13960 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 13961 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13962 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 13963 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13964 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13965 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 13966 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13967 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 13968 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13969 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13970 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 13971 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13972 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 13973 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 13974 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13975 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13976 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 13977 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13978 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13979 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 13980 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13981 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 13982 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13983 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 13984 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 13985 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 13986 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 13987 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 13988 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 13989 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 13990 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 13991 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 13992 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13993 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13994 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 13995 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13996 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 13997 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13998 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13999 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 14000 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14001 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 14002 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14003 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14004 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 14005 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14006 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 14007 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 14008 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14009 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14010 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 14011 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14012 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14013 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 14014 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14015 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 14016 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14017 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 14018 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 14019 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 14020 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 14021 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 14022 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 14023 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 14024 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 14025 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 14026 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 14027 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 14028 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 14029 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 14030 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 14031 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 14032 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 14033 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 14034 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14035 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 14036 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14037 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14038 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 14039 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14040 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 14041 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 14042 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14043 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14044 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 14045 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14046 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14047 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 14048 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14049 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 14050 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14051 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 14052 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS 14053 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 14088 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 14089 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 14090 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 14091 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 14092 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 14093 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 14094 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 14095 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 14096 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 14097 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 14098 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 14099 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 14100 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 14101 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 14102 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 14103 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14104 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 14105 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14106 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14107 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 14108 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14109 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 14110 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 14111 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14112 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14113 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 14114 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14115 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14116 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 14117 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14118 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 14119 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14120 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 14121 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 14122 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 14123 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 14124 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 14125 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 14126 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 14127 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 14128 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 14129 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 14130 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 14131 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 14132 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 14133 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 14134 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 14135 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 14136 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 14137 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14138 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 14139 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14140 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14141 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 14142 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14143 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 14144 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 14145 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14146 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14147 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 14148 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14149 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14150 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 14151 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14152 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 14153 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14154 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 14155 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 14156 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 14157 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 14158 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 14159 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14160 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 14161 /* Variable */ +#define UA_NS0ID_REMOVECONNECTIONMETHODTYPE 14183 /* Method */ +#define UA_NS0ID_REMOVECONNECTIONMETHODTYPE_INPUTARGUMENTS 14184 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE 14209 /* ObjectType */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS 14221 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP 14225 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP_INPUTARGUMENTS 14226 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE 14232 /* ObjectType */ +#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE 14273 /* DataType */ +#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE_ENCODING_DEFAULTXML 14319 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDVARIABLEDATATYPE 14320 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDVARIABLEDATATYPE_DATATYPEVERSION 14321 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDVARIABLEDATATYPE_DICTIONARYFRAGMENT 14322 /* Variable */ +#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE_ENCODING_DEFAULTBINARY 14323 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDVARIABLEDATATYPE 14324 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDVARIABLEDATATYPE_DATATYPEVERSION 14325 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDVARIABLEDATATYPE_DICTIONARYFRAGMENT 14326 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SESSIONID 14413 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SESSIONID 14414 /* Variable */ +#define UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERNETWORKGROUPS 14415 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE 14416 /* ObjectType */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER 14417 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_PUBLISHERID 14418 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS 14419 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS_STATE 14420 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS_ENABLE 14421 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS_DISABLE 14422 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS 14423 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP 14424 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP_INPUTARGUMENTS 14425 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_REMOVECONNECTION 14432 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_REMOVECONNECTION_INPUTARGUMENTS 14433 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS 14434 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS 14435 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 14436 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 14437 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS 14438 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 14439 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 14440 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET 14441 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 14442 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE 14443 /* Object */ +#define UA_NS0ID_HASPUBSUBCONNECTION 14476 /* ReferenceType */ +#define UA_NS0ID_DATASETFOLDERTYPE 14477 /* ObjectType */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER 14478 /* Object */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMS 14479 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 14480 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 14481 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTS 14482 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 14483 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 14484 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEPUBLISHEDDATASET 14485 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 14486 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER 14487 /* Object */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_CONFIGURATIONVERSION 14489 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS 14493 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 14494 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 14495 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTS 14496 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 14497 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 14498 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET 14499 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 14500 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDDATAITEMSMETHODTYPE 14501 /* Method */ +#define UA_NS0ID_ADDPUBLISHEDDATAITEMSMETHODTYPE_INPUTARGUMENTS 14502 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDDATAITEMSMETHODTYPE_OUTPUTARGUMENTS 14503 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDEVENTSMETHODTYPE 14504 /* Method */ +#define UA_NS0ID_ADDPUBLISHEDEVENTSMETHODTYPE_INPUTARGUMENTS 14505 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDEVENTSMETHODTYPE_OUTPUTARGUMENTS 14506 /* Variable */ +#define UA_NS0ID_REMOVEPUBLISHEDDATASETMETHODTYPE 14507 /* Method */ +#define UA_NS0ID_REMOVEPUBLISHEDDATASETMETHODTYPE_INPUTARGUMENTS 14508 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE 14509 /* ObjectType */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_CONFIGURATIONVERSION 14519 /* Variable */ +#define UA_NS0ID_DATASETMETADATATYPE 14523 /* DataType */ +#define UA_NS0ID_FIELDMETADATA 14524 /* DataType */ +#define UA_NS0ID_DATATYPEDESCRIPTION 14525 /* DataType */ +#define UA_NS0ID_STRUCTURETYPE_ENUMSTRINGS 14528 /* Variable */ +#define UA_NS0ID_KEYVALUEPAIR 14533 /* DataType */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE 14534 /* ObjectType */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CONFIGURATIONVERSION 14544 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_PUBLISHEDDATA 14548 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES 14555 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES_INPUTARGUMENTS 14556 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES_OUTPUTARGUMENTS 14557 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES 14558 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES_INPUTARGUMENTS 14559 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES_OUTPUTARGUMENTS 14560 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSADDVARIABLESMETHODTYPE 14564 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSADDVARIABLESMETHODTYPE_INPUTARGUMENTS 14565 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSADDVARIABLESMETHODTYPE_OUTPUTARGUMENTS 14566 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSREMOVEVARIABLESMETHODTYPE 14567 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSREMOVEVARIABLESMETHODTYPE_INPUTARGUMENTS 14568 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSREMOVEVARIABLESMETHODTYPE_OUTPUTARGUMENTS 14569 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE 14572 /* ObjectType */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_CONFIGURATIONVERSION 14582 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_PUBSUBEVENTNOTIFIER 14586 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_SELECTEDFIELDS 14587 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_FILTER 14588 /* Variable */ +#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE 14593 /* DataType */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_PUBLISHERID 14595 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS 14600 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS_STATE 14601 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS_ENABLE 14602 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS_DISABLE 14603 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPEREMOVEGROUPMETHODTYPE 14604 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPEREMOVEGROUPMETHODTYPE_INPUTARGUMENTS 14605 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEWRITERMETHODTYPE 14623 /* Method */ +#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEWRITERMETHODTYPE_INPUTARGUMENTS 14624 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEREADERMETHODTYPE 14625 /* Method */ +#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEREADERMETHODTYPE_INPUTARGUMENTS 14626 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSTYPE 14643 /* ObjectType */ +#define UA_NS0ID_PUBSUBSTATUSTYPE_STATE 14644 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSTYPE_ENABLE 14645 /* Method */ +#define UA_NS0ID_PUBSUBSTATUSTYPE_DISABLE 14646 /* Method */ +#define UA_NS0ID_PUBSUBSTATE 14647 /* DataType */ +#define UA_NS0ID_PUBSUBSTATE_ENUMSTRINGS 14648 /* Variable */ +#define UA_NS0ID_FIELDTARGETDATATYPE 14744 /* DataType */ +#define UA_NS0ID_DATASETMETADATATYPE_ENCODING_DEFAULTXML 14794 /* Object */ +#define UA_NS0ID_FIELDMETADATA_ENCODING_DEFAULTXML 14795 /* Object */ +#define UA_NS0ID_DATATYPEDESCRIPTION_ENCODING_DEFAULTXML 14796 /* Object */ +#define UA_NS0ID_DATATYPEDEFINITION_ENCODING_DEFAULTXML 14797 /* Object */ +#define UA_NS0ID_STRUCTUREDEFINITION_ENCODING_DEFAULTXML 14798 /* Object */ +#define UA_NS0ID_ENUMDEFINITION_ENCODING_DEFAULTXML 14799 /* Object */ +#define UA_NS0ID_STRUCTUREFIELD_ENCODING_DEFAULTXML 14800 /* Object */ +#define UA_NS0ID_ENUMFIELD_ENCODING_DEFAULTXML 14801 /* Object */ +#define UA_NS0ID_KEYVALUEPAIR_ENCODING_DEFAULTXML 14802 /* Object */ +#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE_ENCODING_DEFAULTXML 14803 /* Object */ +#define UA_NS0ID_FIELDTARGETDATATYPE_ENCODING_DEFAULTXML 14804 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETMETADATATYPE 14805 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETMETADATATYPE_DATATYPEVERSION 14806 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETMETADATATYPE_DICTIONARYFRAGMENT 14807 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDMETADATA 14808 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDMETADATA_DATATYPEVERSION 14809 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDMETADATA_DICTIONARYFRAGMENT 14810 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDESCRIPTION 14811 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDESCRIPTION_DATATYPEVERSION 14812 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDESCRIPTION_DICTIONARYFRAGMENT 14813 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMFIELD 14826 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMFIELD_DATATYPEVERSION 14827 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMFIELD_DICTIONARYFRAGMENT 14828 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_KEYVALUEPAIR 14829 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_KEYVALUEPAIR_DATATYPEVERSION 14830 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_KEYVALUEPAIR_DICTIONARYFRAGMENT 14831 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONFIGURATIONVERSIONDATATYPE 14832 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONFIGURATIONVERSIONDATATYPE_DATATYPEVERSION 14833 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONFIGURATIONVERSIONDATATYPE_DICTIONARYFRAGMENT 14834 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDTARGETDATATYPE 14835 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDTARGETDATATYPE_DATATYPEVERSION 14836 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDTARGETDATATYPE_DICTIONARYFRAGMENT 14837 /* Variable */ +#define UA_NS0ID_FIELDMETADATA_ENCODING_DEFAULTBINARY 14839 /* Object */ +#define UA_NS0ID_STRUCTUREFIELD_ENCODING_DEFAULTBINARY 14844 /* Object */ +#define UA_NS0ID_ENUMFIELD_ENCODING_DEFAULTBINARY 14845 /* Object */ +#define UA_NS0ID_KEYVALUEPAIR_ENCODING_DEFAULTBINARY 14846 /* Object */ +#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE_ENCODING_DEFAULTBINARY 14847 /* Object */ +#define UA_NS0ID_FIELDTARGETDATATYPE_ENCODING_DEFAULTBINARY 14848 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETMETADATATYPE 14849 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETMETADATATYPE_DATATYPEVERSION 14850 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETMETADATATYPE_DICTIONARYFRAGMENT 14851 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDMETADATA 14852 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDMETADATA_DATATYPEVERSION 14853 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDMETADATA_DICTIONARYFRAGMENT 14854 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDESCRIPTION 14855 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDESCRIPTION_DATATYPEVERSION 14856 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDESCRIPTION_DICTIONARYFRAGMENT 14857 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMFIELD 14870 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMFIELD_DATATYPEVERSION 14871 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMFIELD_DICTIONARYFRAGMENT 14872 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_KEYVALUEPAIR 14873 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_KEYVALUEPAIR_DATATYPEVERSION 14874 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_KEYVALUEPAIR_DICTIONARYFRAGMENT 14875 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONFIGURATIONVERSIONDATATYPE 14876 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONFIGURATIONVERSIONDATATYPE_DATATYPEVERSION 14877 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONFIGURATIONVERSIONDATATYPE_DICTIONARYFRAGMENT 14878 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDTARGETDATATYPE_DATATYPEVERSION 14880 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDTARGETDATATYPE_DICTIONARYFRAGMENT 14881 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EXPIRATIONLIMIT 14900 /* Variable */ +#define UA_NS0ID_DATASETTOWRITER 14936 /* ReferenceType */ +#define UA_NS0ID_DATATYPEDICTIONARYTYPE_DEPRECATED 15001 /* Variable */ +#define UA_NS0ID_MAXCHARACTERS 15002 /* Variable */ +#define UA_NS0ID_SERVERTYPE_URISVERSION 15003 /* Variable */ +#define UA_NS0ID_SERVER_URISVERSION 15004 /* Variable */ +#define UA_NS0ID_SIMPLETYPEDESCRIPTION 15005 /* DataType */ +#define UA_NS0ID_UABINARYFILEDATATYPE 15006 /* DataType */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE 15007 /* DataType */ +#define UA_NS0ID_BROKERTRANSPORTQUALITYOFSERVICE 15008 /* DataType */ +#define UA_NS0ID_BROKERTRANSPORTQUALITYOFSERVICE_ENUMSTRINGS 15009 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_KEYLIFETIME 15010 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYPOLICYURI 15011 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXFUTUREKEYCOUNT 15012 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE 15013 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_EVENTID 15014 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_EVENTTYPE 15015 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SOURCENODE 15016 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SOURCENAME 15017 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_TIME 15018 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_RECEIVETIME 15019 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_LOCALTIME 15020 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_MESSAGE 15021 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SEVERITY 15022 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_ACTIONTIMESTAMP 15023 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_STATUS 15024 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SERVERID 15025 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CLIENTAUDITENTRYID 15026 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CLIENTUSERID 15027 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_METHODID 15028 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_INPUTARGUMENTS 15029 /* Variable */ +#define UA_NS0ID_PERMISSIONTYPE_OPTIONSETVALUES 15030 /* Variable */ +#define UA_NS0ID_ACCESSLEVELTYPE 15031 /* DataType */ +#define UA_NS0ID_ACCESSLEVELTYPE_OPTIONSETVALUES 15032 /* Variable */ +#define UA_NS0ID_EVENTNOTIFIERTYPE 15033 /* DataType */ +#define UA_NS0ID_EVENTNOTIFIERTYPE_OPTIONSETVALUES 15034 /* Variable */ +#define UA_NS0ID_ACCESSRESTRICTIONTYPE_OPTIONSETVALUES 15035 /* Variable */ +#define UA_NS0ID_ATTRIBUTEWRITEMASK_OPTIONSETVALUES 15036 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DEPRECATED 15037 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODINPUTVALUES 15038 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DEPRECATED 15039 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODOUTPUTVALUES 15040 /* Variable */ +#define UA_NS0ID_KEYVALUEPAIR_ENCODING_DEFAULTJSON 15041 /* Object */ +#define UA_NS0ID_IDENTITYMAPPINGRULETYPE_ENCODING_DEFAULTJSON 15042 /* Object */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXPASTKEYCOUNT 15043 /* Variable */ +#define UA_NS0ID_TRUSTLISTDATATYPE_ENCODING_DEFAULTJSON 15044 /* Object */ +#define UA_NS0ID_DECIMALDATATYPE_ENCODING_DEFAULTJSON 15045 /* Object */ +#define UA_NS0ID_SECURITYGROUPTYPE_KEYLIFETIME 15046 /* Variable */ +#define UA_NS0ID_SECURITYGROUPTYPE_SECURITYPOLICYURI 15047 /* Variable */ +#define UA_NS0ID_SECURITYGROUPTYPE_MAXFUTUREKEYCOUNT 15048 /* Variable */ +#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE_ENCODING_DEFAULTJSON 15049 /* Object */ +#define UA_NS0ID_DATASETMETADATATYPE_ENCODING_DEFAULTJSON 15050 /* Object */ +#define UA_NS0ID_FIELDMETADATA_ENCODING_DEFAULTJSON 15051 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_MODIFYFIELDSELECTION 15052 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_MODIFYFIELDSELECTION_INPUTARGUMENTS 15053 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPEMODIFYFIELDSELECTIONMETHODTYPE 15054 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPEMODIFYFIELDSELECTIONMETHODTYPE_INPUTARGUMENTS 15055 /* Variable */ +#define UA_NS0ID_SECURITYGROUPTYPE_MAXPASTKEYCOUNT 15056 /* Variable */ +#define UA_NS0ID_DATATYPEDESCRIPTION_ENCODING_DEFAULTJSON 15057 /* Object */ +#define UA_NS0ID_STRUCTUREDESCRIPTION_ENCODING_DEFAULTJSON 15058 /* Object */ +#define UA_NS0ID_ENUMDESCRIPTION_ENCODING_DEFAULTJSON 15059 /* Object */ +#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE_ENCODING_DEFAULTJSON 15060 /* Object */ +#define UA_NS0ID_FIELDTARGETDATATYPE_ENCODING_DEFAULTJSON 15061 /* Object */ +#define UA_NS0ID_ROLEPERMISSIONTYPE_ENCODING_DEFAULTJSON 15062 /* Object */ +#define UA_NS0ID_DATATYPEDEFINITION_ENCODING_DEFAULTJSON 15063 /* Object */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE 15064 /* ObjectType */ +#define UA_NS0ID_STRUCTUREFIELD_ENCODING_DEFAULTJSON 15065 /* Object */ +#define UA_NS0ID_STRUCTUREDEFINITION_ENCODING_DEFAULTJSON 15066 /* Object */ +#define UA_NS0ID_ENUMDEFINITION_ENCODING_DEFAULTJSON 15067 /* Object */ +#define UA_NS0ID_NODE_ENCODING_DEFAULTJSON 15068 /* Object */ +#define UA_NS0ID_INSTANCENODE_ENCODING_DEFAULTJSON 15069 /* Object */ +#define UA_NS0ID_TYPENODE_ENCODING_DEFAULTJSON 15070 /* Object */ +#define UA_NS0ID_OBJECTNODE_ENCODING_DEFAULTJSON 15071 /* Object */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS 15072 /* Object */ +#define UA_NS0ID_OBJECTTYPENODE_ENCODING_DEFAULTJSON 15073 /* Object */ +#define UA_NS0ID_VARIABLENODE_ENCODING_DEFAULTJSON 15074 /* Object */ +#define UA_NS0ID_VARIABLETYPENODE_ENCODING_DEFAULTJSON 15075 /* Object */ +#define UA_NS0ID_REFERENCETYPENODE_ENCODING_DEFAULTJSON 15076 /* Object */ +#define UA_NS0ID_METHODNODE_ENCODING_DEFAULTJSON 15077 /* Object */ +#define UA_NS0ID_VIEWNODE_ENCODING_DEFAULTJSON 15078 /* Object */ +#define UA_NS0ID_DATATYPENODE_ENCODING_DEFAULTJSON 15079 /* Object */ +#define UA_NS0ID_REFERENCENODE_ENCODING_DEFAULTJSON 15080 /* Object */ +#define UA_NS0ID_ARGUMENT_ENCODING_DEFAULTJSON 15081 /* Object */ +#define UA_NS0ID_ENUMVALUETYPE_ENCODING_DEFAULTJSON 15082 /* Object */ +#define UA_NS0ID_ENUMFIELD_ENCODING_DEFAULTJSON 15083 /* Object */ +#define UA_NS0ID_OPTIONSET_ENCODING_DEFAULTJSON 15084 /* Object */ +#define UA_NS0ID_UNION_ENCODING_DEFAULTJSON 15085 /* Object */ +#define UA_NS0ID_TIMEZONEDATATYPE_ENCODING_DEFAULTJSON 15086 /* Object */ +#define UA_NS0ID_APPLICATIONDESCRIPTION_ENCODING_DEFAULTJSON 15087 /* Object */ +#define UA_NS0ID_REQUESTHEADER_ENCODING_DEFAULTJSON 15088 /* Object */ +#define UA_NS0ID_RESPONSEHEADER_ENCODING_DEFAULTJSON 15089 /* Object */ +#define UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTJSON 15090 /* Object */ +#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE_ENCODING_DEFAULTJSON 15091 /* Object */ +#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE_ENCODING_DEFAULTJSON 15092 /* Object */ +#define UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTJSON 15093 /* Object */ +#define UA_NS0ID_FINDSERVERSRESPONSE_ENCODING_DEFAULTJSON 15094 /* Object */ +#define UA_NS0ID_SERVERONNETWORK_ENCODING_DEFAULTJSON 15095 /* Object */ +#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTJSON 15096 /* Object */ +#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE_ENCODING_DEFAULTJSON 15097 /* Object */ +#define UA_NS0ID_USERTOKENPOLICY_ENCODING_DEFAULTJSON 15098 /* Object */ +#define UA_NS0ID_ENDPOINTDESCRIPTION_ENCODING_DEFAULTJSON 15099 /* Object */ +#define UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTJSON 15100 /* Object */ +#define UA_NS0ID_GETENDPOINTSRESPONSE_ENCODING_DEFAULTJSON 15101 /* Object */ +#define UA_NS0ID_REGISTEREDSERVER_ENCODING_DEFAULTJSON 15102 /* Object */ +#define UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTJSON 15103 /* Object */ +#define UA_NS0ID_REGISTERSERVERRESPONSE_ENCODING_DEFAULTJSON 15104 /* Object */ +#define UA_NS0ID_DISCOVERYCONFIGURATION_ENCODING_DEFAULTJSON 15105 /* Object */ +#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION_ENCODING_DEFAULTJSON 15106 /* Object */ +#define UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTJSON 15107 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETTYPE 15108 /* ObjectType */ +#define UA_NS0ID_CHOICESTATETYPE 15109 /* ObjectType */ +#define UA_NS0ID_CHOICESTATETYPE_STATENUMBER 15110 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPE 15111 /* ObjectType */ +#define UA_NS0ID_HASGUARD 15112 /* ReferenceType */ +#define UA_NS0ID_GUARDVARIABLETYPE 15113 /* VariableType */ +#define UA_NS0ID_TARGETVARIABLESTYPE_TARGETVARIABLES 15114 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPE_ADDTARGETVARIABLES 15115 /* Method */ +#define UA_NS0ID_TARGETVARIABLESTYPE_ADDTARGETVARIABLES_INPUTARGUMENTS 15116 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPE_ADDTARGETVARIABLES_OUTPUTARGUMENTS 15117 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPE_REMOVETARGETVARIABLES 15118 /* Method */ +#define UA_NS0ID_TARGETVARIABLESTYPE_REMOVETARGETVARIABLES_INPUTARGUMENTS 15119 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPE_REMOVETARGETVARIABLES_OUTPUTARGUMENTS 15120 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPEADDTARGETVARIABLESMETHODTYPE 15121 /* Method */ +#define UA_NS0ID_TARGETVARIABLESTYPEADDTARGETVARIABLESMETHODTYPE_INPUTARGUMENTS 15122 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPEADDTARGETVARIABLESMETHODTYPE_OUTPUTARGUMENTS 15123 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPEREMOVETARGETVARIABLESMETHODTYPE 15124 /* Method */ +#define UA_NS0ID_TARGETVARIABLESTYPEREMOVETARGETVARIABLESMETHODTYPE_INPUTARGUMENTS 15125 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESTYPEREMOVETARGETVARIABLESMETHODTYPE_OUTPUTARGUMENTS 15126 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORTYPE 15127 /* ObjectType */ +#define UA_NS0ID_EXPRESSIONGUARDVARIABLETYPE 15128 /* VariableType */ +#define UA_NS0ID_EXPRESSIONGUARDVARIABLETYPE_EXPRESSION 15129 /* Variable */ +#define UA_NS0ID_REGISTERSERVER2RESPONSE_ENCODING_DEFAULTJSON 15130 /* Object */ +#define UA_NS0ID_CHANNELSECURITYTOKEN_ENCODING_DEFAULTJSON 15131 /* Object */ +#define UA_NS0ID_OPENSECURECHANNELREQUEST_ENCODING_DEFAULTJSON 15132 /* Object */ +#define UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTJSON 15133 /* Object */ +#define UA_NS0ID_CLOSESECURECHANNELREQUEST_ENCODING_DEFAULTJSON 15134 /* Object */ +#define UA_NS0ID_CLOSESECURECHANNELRESPONSE_ENCODING_DEFAULTJSON 15135 /* Object */ +#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE_ENCODING_DEFAULTJSON 15136 /* Object */ +#define UA_NS0ID_SIGNATUREDATA_ENCODING_DEFAULTJSON 15137 /* Object */ +#define UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTJSON 15138 /* Object */ +#define UA_NS0ID_CREATESESSIONRESPONSE_ENCODING_DEFAULTJSON 15139 /* Object */ +#define UA_NS0ID_USERIDENTITYTOKEN_ENCODING_DEFAULTJSON 15140 /* Object */ +#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN_ENCODING_DEFAULTJSON 15141 /* Object */ +#define UA_NS0ID_USERNAMEIDENTITYTOKEN_ENCODING_DEFAULTJSON 15142 /* Object */ +#define UA_NS0ID_X509IDENTITYTOKEN_ENCODING_DEFAULTJSON 15143 /* Object */ +#define UA_NS0ID_ISSUEDIDENTITYTOKEN_ENCODING_DEFAULTJSON 15144 /* Object */ +#define UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTJSON 15145 /* Object */ +#define UA_NS0ID_ACTIVATESESSIONRESPONSE_ENCODING_DEFAULTJSON 15146 /* Object */ +#define UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTJSON 15147 /* Object */ +#define UA_NS0ID_CLOSESESSIONRESPONSE_ENCODING_DEFAULTJSON 15148 /* Object */ +#define UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTJSON 15149 /* Object */ +#define UA_NS0ID_CANCELRESPONSE_ENCODING_DEFAULTJSON 15150 /* Object */ +#define UA_NS0ID_NODEATTRIBUTES_ENCODING_DEFAULTJSON 15151 /* Object */ +#define UA_NS0ID_OBJECTATTRIBUTES_ENCODING_DEFAULTJSON 15152 /* Object */ +#define UA_NS0ID_VARIABLEATTRIBUTES_ENCODING_DEFAULTJSON 15153 /* Object */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE 15154 /* Variable */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTTYPE 15155 /* ObjectType */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTTYPE_RESOURCEURI 15156 /* Variable */ +#define UA_NS0ID_METHODATTRIBUTES_ENCODING_DEFAULTJSON 15157 /* Object */ +#define UA_NS0ID_OBJECTTYPEATTRIBUTES_ENCODING_DEFAULTJSON 15158 /* Object */ +#define UA_NS0ID_VARIABLETYPEATTRIBUTES_ENCODING_DEFAULTJSON 15159 /* Object */ +#define UA_NS0ID_REFERENCETYPEATTRIBUTES_ENCODING_DEFAULTJSON 15160 /* Object */ +#define UA_NS0ID_DATATYPEATTRIBUTES_ENCODING_DEFAULTJSON 15161 /* Object */ +#define UA_NS0ID_VIEWATTRIBUTES_ENCODING_DEFAULTJSON 15162 /* Object */ +#define UA_NS0ID_GENERICATTRIBUTEVALUE_ENCODING_DEFAULTJSON 15163 /* Object */ +#define UA_NS0ID_GENERICATTRIBUTES_ENCODING_DEFAULTJSON 15164 /* Object */ +#define UA_NS0ID_ADDNODESITEM_ENCODING_DEFAULTJSON 15165 /* Object */ +#define UA_NS0ID_ADDNODESRESULT_ENCODING_DEFAULTJSON 15166 /* Object */ +#define UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTJSON 15167 /* Object */ +#define UA_NS0ID_ADDNODESRESPONSE_ENCODING_DEFAULTJSON 15168 /* Object */ +#define UA_NS0ID_ADDREFERENCESITEM_ENCODING_DEFAULTJSON 15169 /* Object */ +#define UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTJSON 15170 /* Object */ +#define UA_NS0ID_ADDREFERENCESRESPONSE_ENCODING_DEFAULTJSON 15171 /* Object */ +#define UA_NS0ID_DELETENODESITEM_ENCODING_DEFAULTJSON 15172 /* Object */ +#define UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTJSON 15173 /* Object */ +#define UA_NS0ID_DELETENODESRESPONSE_ENCODING_DEFAULTJSON 15174 /* Object */ +#define UA_NS0ID_DELETEREFERENCESITEM_ENCODING_DEFAULTJSON 15175 /* Object */ +#define UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTJSON 15176 /* Object */ +#define UA_NS0ID_DELETEREFERENCESRESPONSE_ENCODING_DEFAULTJSON 15177 /* Object */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15178 /* Variable */ +#define UA_NS0ID_VIEWDESCRIPTION_ENCODING_DEFAULTJSON 15179 /* Object */ +#define UA_NS0ID_BROWSEDESCRIPTION_ENCODING_DEFAULTJSON 15180 /* Object */ +#define UA_NS0ID_USERCREDENTIALCERTIFICATETYPE 15181 /* ObjectType */ +#define UA_NS0ID_REFERENCEDESCRIPTION_ENCODING_DEFAULTJSON 15182 /* Object */ +#define UA_NS0ID_BROWSERESULT_ENCODING_DEFAULTJSON 15183 /* Object */ +#define UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTJSON 15184 /* Object */ +#define UA_NS0ID_BROWSERESPONSE_ENCODING_DEFAULTJSON 15185 /* Object */ +#define UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTJSON 15186 /* Object */ +#define UA_NS0ID_BROWSENEXTRESPONSE_ENCODING_DEFAULTJSON 15187 /* Object */ +#define UA_NS0ID_RELATIVEPATHELEMENT_ENCODING_DEFAULTJSON 15188 /* Object */ +#define UA_NS0ID_RELATIVEPATH_ENCODING_DEFAULTJSON 15189 /* Object */ +#define UA_NS0ID_BROWSEPATH_ENCODING_DEFAULTJSON 15190 /* Object */ +#define UA_NS0ID_BROWSEPATHTARGET_ENCODING_DEFAULTJSON 15191 /* Object */ +#define UA_NS0ID_BROWSEPATHRESULT_ENCODING_DEFAULTJSON 15192 /* Object */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTJSON 15193 /* Object */ +#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE_ENCODING_DEFAULTJSON 15194 /* Object */ +#define UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTJSON 15195 /* Object */ +#define UA_NS0ID_REGISTERNODESRESPONSE_ENCODING_DEFAULTJSON 15196 /* Object */ +#define UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTJSON 15197 /* Object */ +#define UA_NS0ID_UNREGISTERNODESRESPONSE_ENCODING_DEFAULTJSON 15198 /* Object */ +#define UA_NS0ID_ENDPOINTCONFIGURATION_ENCODING_DEFAULTJSON 15199 /* Object */ +#define UA_NS0ID_QUERYDATADESCRIPTION_ENCODING_DEFAULTJSON 15200 /* Object */ +#define UA_NS0ID_NODETYPEDESCRIPTION_ENCODING_DEFAULTJSON 15201 /* Object */ +#define UA_NS0ID_QUERYDATASET_ENCODING_DEFAULTJSON 15202 /* Object */ +#define UA_NS0ID_NODEREFERENCE_ENCODING_DEFAULTJSON 15203 /* Object */ +#define UA_NS0ID_CONTENTFILTERELEMENT_ENCODING_DEFAULTJSON 15204 /* Object */ +#define UA_NS0ID_CONTENTFILTER_ENCODING_DEFAULTJSON 15205 /* Object */ +#define UA_NS0ID_FILTEROPERAND_ENCODING_DEFAULTJSON 15206 /* Object */ +#define UA_NS0ID_ELEMENTOPERAND_ENCODING_DEFAULTJSON 15207 /* Object */ +#define UA_NS0ID_LITERALOPERAND_ENCODING_DEFAULTJSON 15208 /* Object */ +#define UA_NS0ID_ATTRIBUTEOPERAND_ENCODING_DEFAULTJSON 15209 /* Object */ +#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND_ENCODING_DEFAULTJSON 15210 /* Object */ +#define UA_NS0ID_CONTENTFILTERELEMENTRESULT_ENCODING_DEFAULTJSON 15211 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYKEYS 15212 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYKEYS_INPUTARGUMENTS 15213 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYKEYS_OUTPUTARGUMENTS 15214 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS 15215 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS_INPUTARGUMENTS 15216 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS_OUTPUTARGUMENTS 15217 /* Variable */ +#define UA_NS0ID_GETSECURITYKEYSMETHODTYPE 15218 /* Method */ +#define UA_NS0ID_GETSECURITYKEYSMETHODTYPE_INPUTARGUMENTS 15219 /* Variable */ +#define UA_NS0ID_GETSECURITYKEYSMETHODTYPE_OUTPUTARGUMENTS 15220 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_DATASETMETADATA 15221 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER 15222 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 15223 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 15224 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 15225 /* Method */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 15226 /* Method */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 15227 /* Object */ +#define UA_NS0ID_CONTENTFILTERRESULT_ENCODING_DEFAULTJSON 15228 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETMETADATA 15229 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER 15230 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 15231 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 15232 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 15233 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 15234 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 15235 /* Object */ +#define UA_NS0ID_PARSINGRESULT_ENCODING_DEFAULTJSON 15236 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETMETADATA 15237 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER 15238 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 15239 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 15240 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 15241 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 15242 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 15243 /* Object */ +#define UA_NS0ID_QUERYFIRSTREQUEST_ENCODING_DEFAULTJSON 15244 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETMETADATA 15245 /* Variable */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_RESOURCEURI 15246 /* Variable */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15247 /* Variable */ +#define UA_NS0ID_CREATECREDENTIALMETHODTYPE 15248 /* Method */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_REQUESTEDDELIVERYGUARANTEE 15249 /* Variable */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_RESOURCEURI 15250 /* Variable */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15251 /* Variable */ +#define UA_NS0ID_QUERYFIRSTRESPONSE_ENCODING_DEFAULTJSON 15252 /* Object */ +#define UA_NS0ID_CREATECREDENTIALMETHODTYPE_INPUTARGUMENTS 15253 /* Variable */ +#define UA_NS0ID_QUERYNEXTREQUEST_ENCODING_DEFAULTJSON 15254 /* Object */ +#define UA_NS0ID_QUERYNEXTRESPONSE_ENCODING_DEFAULTJSON 15255 /* Object */ +#define UA_NS0ID_READVALUEID_ENCODING_DEFAULTJSON 15256 /* Object */ +#define UA_NS0ID_READREQUEST_ENCODING_DEFAULTJSON 15257 /* Object */ +#define UA_NS0ID_READRESPONSE_ENCODING_DEFAULTJSON 15258 /* Object */ +#define UA_NS0ID_HISTORYREADVALUEID_ENCODING_DEFAULTJSON 15259 /* Object */ +#define UA_NS0ID_HISTORYREADRESULT_ENCODING_DEFAULTJSON 15260 /* Object */ +#define UA_NS0ID_HISTORYREADDETAILS_ENCODING_DEFAULTJSON 15261 /* Object */ +#define UA_NS0ID_READEVENTDETAILS_ENCODING_DEFAULTJSON 15262 /* Object */ +#define UA_NS0ID_READRAWMODIFIEDDETAILS_ENCODING_DEFAULTJSON 15263 /* Object */ +#define UA_NS0ID_READPROCESSEDDETAILS_ENCODING_DEFAULTJSON 15264 /* Object */ +#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS 15265 /* Object */ +#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS_STATE 15266 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS_ENABLE 15267 /* Method */ +#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS_DISABLE 15268 /* Method */ +#define UA_NS0ID_READATTIMEDETAILS_ENCODING_DEFAULTJSON 15269 /* Object */ +#define UA_NS0ID_HISTORYDATA_ENCODING_DEFAULTJSON 15270 /* Object */ +#define UA_NS0ID_MODIFICATIONINFO_ENCODING_DEFAULTJSON 15271 /* Object */ +#define UA_NS0ID_HISTORYMODIFIEDDATA_ENCODING_DEFAULTJSON 15272 /* Object */ +#define UA_NS0ID_HISTORYEVENT_ENCODING_DEFAULTJSON 15273 /* Object */ +#define UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTJSON 15274 /* Object */ +#define UA_NS0ID_HISTORYREADRESPONSE_ENCODING_DEFAULTJSON 15275 /* Object */ +#define UA_NS0ID_WRITEVALUE_ENCODING_DEFAULTJSON 15276 /* Object */ +#define UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTJSON 15277 /* Object */ +#define UA_NS0ID_WRITERESPONSE_ENCODING_DEFAULTJSON 15278 /* Object */ +#define UA_NS0ID_HISTORYUPDATEDETAILS_ENCODING_DEFAULTJSON 15279 /* Object */ +#define UA_NS0ID_UPDATEDATADETAILS_ENCODING_DEFAULTJSON 15280 /* Object */ +#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS_ENCODING_DEFAULTJSON 15281 /* Object */ +#define UA_NS0ID_UPDATEEVENTDETAILS_ENCODING_DEFAULTJSON 15282 /* Object */ +#define UA_NS0ID_DELETERAWMODIFIEDDETAILS_ENCODING_DEFAULTJSON 15283 /* Object */ +#define UA_NS0ID_DELETEATTIMEDETAILS_ENCODING_DEFAULTJSON 15284 /* Object */ +#define UA_NS0ID_DELETEEVENTDETAILS_ENCODING_DEFAULTJSON 15285 /* Object */ +#define UA_NS0ID_HISTORYUPDATERESULT_ENCODING_DEFAULTJSON 15286 /* Object */ +#define UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTJSON 15287 /* Object */ +#define UA_NS0ID_HISTORYUPDATERESPONSE_ENCODING_DEFAULTJSON 15288 /* Object */ +#define UA_NS0ID_CALLMETHODREQUEST_ENCODING_DEFAULTJSON 15289 /* Object */ +#define UA_NS0ID_CALLMETHODRESULT_ENCODING_DEFAULTJSON 15290 /* Object */ +#define UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTJSON 15291 /* Object */ +#define UA_NS0ID_CALLRESPONSE_ENCODING_DEFAULTJSON 15292 /* Object */ +#define UA_NS0ID_MONITORINGFILTER_ENCODING_DEFAULTJSON 15293 /* Object */ +#define UA_NS0ID_DATACHANGEFILTER_ENCODING_DEFAULTJSON 15294 /* Object */ +#define UA_NS0ID_EVENTFILTER_ENCODING_DEFAULTJSON 15295 /* Object */ +#define UA_NS0ID_HASDATASETWRITER 15296 /* ReferenceType */ +#define UA_NS0ID_HASDATASETREADER 15297 /* ReferenceType */ +#define UA_NS0ID_DATASETWRITERTYPE 15298 /* ObjectType */ +#define UA_NS0ID_DATASETWRITERTYPE_STATUS 15299 /* Object */ +#define UA_NS0ID_DATASETWRITERTYPE_STATUS_STATE 15300 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_STATUS_ENABLE 15301 /* Method */ +#define UA_NS0ID_DATASETWRITERTYPE_STATUS_DISABLE 15302 /* Method */ +#define UA_NS0ID_DATASETWRITERTYPE_TRANSPORTSETTINGS 15303 /* Object */ +#define UA_NS0ID_AGGREGATECONFIGURATION_ENCODING_DEFAULTJSON 15304 /* Object */ +#define UA_NS0ID_DATASETWRITERTRANSPORTTYPE 15305 /* ObjectType */ +#define UA_NS0ID_DATASETREADERTYPE 15306 /* ObjectType */ +#define UA_NS0ID_DATASETREADERTYPE_STATUS 15307 /* Object */ +#define UA_NS0ID_DATASETREADERTYPE_STATUS_STATE 15308 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_STATUS_ENABLE 15309 /* Method */ +#define UA_NS0ID_DATASETREADERTYPE_STATUS_DISABLE 15310 /* Method */ +#define UA_NS0ID_DATASETREADERTYPE_TRANSPORTSETTINGS 15311 /* Object */ +#define UA_NS0ID_AGGREGATEFILTER_ENCODING_DEFAULTJSON 15312 /* Object */ +#define UA_NS0ID_MONITORINGFILTERRESULT_ENCODING_DEFAULTJSON 15313 /* Object */ +#define UA_NS0ID_EVENTFILTERRESULT_ENCODING_DEFAULTJSON 15314 /* Object */ +#define UA_NS0ID_AGGREGATEFILTERRESULT_ENCODING_DEFAULTJSON 15315 /* Object */ +#define UA_NS0ID_DATASETREADERTYPE_SUBSCRIBEDDATASET 15316 /* Object */ +#define UA_NS0ID_ELSEGUARDVARIABLETYPE 15317 /* VariableType */ +#define UA_NS0ID_BASEANALOGTYPE 15318 /* VariableType */ +#define UA_NS0ID_DATASETREADERTRANSPORTTYPE 15319 /* ObjectType */ +#define UA_NS0ID_MONITORINGPARAMETERS_ENCODING_DEFAULTJSON 15320 /* Object */ +#define UA_NS0ID_MONITOREDITEMCREATEREQUEST_ENCODING_DEFAULTJSON 15321 /* Object */ +#define UA_NS0ID_MONITOREDITEMCREATERESULT_ENCODING_DEFAULTJSON 15322 /* Object */ +#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTJSON 15323 /* Object */ +#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTJSON 15324 /* Object */ +#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST_ENCODING_DEFAULTJSON 15325 /* Object */ +#define UA_NS0ID_MONITOREDITEMMODIFYRESULT_ENCODING_DEFAULTJSON 15326 /* Object */ +#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTJSON 15327 /* Object */ +#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE_ENCODING_DEFAULTJSON 15328 /* Object */ +#define UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTJSON 15329 /* Object */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_REQUESTEDDELIVERYGUARANTEE 15330 /* Variable */ +#define UA_NS0ID_SETMONITORINGMODERESPONSE_ENCODING_DEFAULTJSON 15331 /* Object */ +#define UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTJSON 15332 /* Object */ +#define UA_NS0ID_SETTRIGGERINGRESPONSE_ENCODING_DEFAULTJSON 15333 /* Object */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_RESOURCEURI 15334 /* Variable */ +#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTJSON 15335 /* Object */ +#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTJSON 15336 /* Object */ +#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTJSON 15337 /* Object */ +#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE_ENCODING_DEFAULTJSON 15338 /* Object */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTJSON 15339 /* Object */ +#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE_ENCODING_DEFAULTJSON 15340 /* Object */ +#define UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTJSON 15341 /* Object */ +#define UA_NS0ID_SETPUBLISHINGMODERESPONSE_ENCODING_DEFAULTJSON 15342 /* Object */ +#define UA_NS0ID_NOTIFICATIONMESSAGE_ENCODING_DEFAULTJSON 15343 /* Object */ +#define UA_NS0ID_NOTIFICATIONDATA_ENCODING_DEFAULTJSON 15344 /* Object */ +#define UA_NS0ID_DATACHANGENOTIFICATION_ENCODING_DEFAULTJSON 15345 /* Object */ +#define UA_NS0ID_MONITOREDITEMNOTIFICATION_ENCODING_DEFAULTJSON 15346 /* Object */ +#define UA_NS0ID_EVENTNOTIFICATIONLIST_ENCODING_DEFAULTJSON 15347 /* Object */ +#define UA_NS0ID_EVENTFIELDLIST_ENCODING_DEFAULTJSON 15348 /* Object */ +#define UA_NS0ID_HISTORYEVENTFIELDLIST_ENCODING_DEFAULTJSON 15349 /* Object */ +#define UA_NS0ID_STATUSCHANGENOTIFICATION_ENCODING_DEFAULTJSON 15350 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT_ENCODING_DEFAULTJSON 15351 /* Object */ +#define UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTJSON 15352 /* Object */ +#define UA_NS0ID_PUBLISHRESPONSE_ENCODING_DEFAULTJSON 15353 /* Object */ +#define UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTJSON 15354 /* Object */ +#define UA_NS0ID_REPUBLISHRESPONSE_ENCODING_DEFAULTJSON 15355 /* Object */ +#define UA_NS0ID_TRANSFERRESULT_ENCODING_DEFAULTJSON 15356 /* Object */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTJSON 15357 /* Object */ +#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTJSON 15358 /* Object */ +#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTJSON 15359 /* Object */ +#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTJSON 15360 /* Object */ +#define UA_NS0ID_BUILDINFO_ENCODING_DEFAULTJSON 15361 /* Object */ +#define UA_NS0ID_REDUNDANTSERVERDATATYPE_ENCODING_DEFAULTJSON 15362 /* Object */ +#define UA_NS0ID_ENDPOINTURLLISTDATATYPE_ENCODING_DEFAULTJSON 15363 /* Object */ +#define UA_NS0ID_NETWORKGROUPDATATYPE_ENCODING_DEFAULTJSON 15364 /* Object */ +#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15365 /* Object */ +#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE_ENCODING_DEFAULTJSON 15366 /* Object */ +#define UA_NS0ID_SERVERSTATUSDATATYPE_ENCODING_DEFAULTJSON 15367 /* Object */ +#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15368 /* Object */ +#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15369 /* Object */ +#define UA_NS0ID_SERVICECOUNTERDATATYPE_ENCODING_DEFAULTJSON 15370 /* Object */ +#define UA_NS0ID_STATUSRESULT_ENCODING_DEFAULTJSON 15371 /* Object */ +#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15372 /* Object */ +#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTJSON 15373 /* Object */ +#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTJSON 15374 /* Object */ +#define UA_NS0ID_RANGE_ENCODING_DEFAULTJSON 15375 /* Object */ +#define UA_NS0ID_EUINFORMATION_ENCODING_DEFAULTJSON 15376 /* Object */ +#define UA_NS0ID_COMPLEXNUMBERTYPE_ENCODING_DEFAULTJSON 15377 /* Object */ +#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE_ENCODING_DEFAULTJSON 15378 /* Object */ +#define UA_NS0ID_AXISINFORMATION_ENCODING_DEFAULTJSON 15379 /* Object */ +#define UA_NS0ID_XVTYPE_ENCODING_DEFAULTJSON 15380 /* Object */ +#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE_ENCODING_DEFAULTJSON 15381 /* Object */ +#define UA_NS0ID_ANNOTATION_ENCODING_DEFAULTJSON 15382 /* Object */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE 15383 /* VariableType */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_CREATESESSIONID 15384 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_CREATECLIENTNAME 15385 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_INVOCATIONCREATIONTIME 15386 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTTRANSITIONTIME 15387 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODCALL 15388 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODSESSIONID 15389 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODINPUTARGUMENTS 15390 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODOUTPUTARGUMENTS 15391 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODINPUTVALUES 15392 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODOUTPUTVALUES 15393 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODCALLTIME 15394 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODRETURNSTATUS 15395 /* Variable */ +#define UA_NS0ID_ACCESSLEVELEXTYPE 15406 /* DataType */ +#define UA_NS0ID_ACCESSLEVELEXTYPE_OPTIONSETVALUES 15407 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_APPLICATIONSEXCLUDE 15408 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ENDPOINTSEXCLUDE 15409 /* Variable */ +#define UA_NS0ID_ROLETYPE_APPLICATIONSEXCLUDE 15410 /* Variable */ +#define UA_NS0ID_ROLETYPE_ENDPOINTSEXCLUDE 15411 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_APPLICATIONSEXCLUDE 15412 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ENDPOINTSEXCLUDE 15413 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_APPLICATIONSEXCLUDE 15414 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ENDPOINTSEXCLUDE 15415 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_APPLICATIONSEXCLUDE 15416 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ENDPOINTSEXCLUDE 15417 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_APPLICATIONSEXCLUDE 15418 /* Variable */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15419 /* Variable */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_REQUESTEDDELIVERYGUARANTEE 15420 /* Variable */ +#define UA_NS0ID_SIMPLETYPEDESCRIPTION_ENCODING_DEFAULTBINARY 15421 /* Object */ +#define UA_NS0ID_UABINARYFILEDATATYPE_ENCODING_DEFAULTBINARY 15422 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ENDPOINTSEXCLUDE 15423 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_APPLICATIONSEXCLUDE 15424 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ENDPOINTSEXCLUDE 15425 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_APPLICATIONSEXCLUDE 15426 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ENDPOINTSEXCLUDE 15427 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_APPLICATIONSEXCLUDE 15428 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ENDPOINTSEXCLUDE 15429 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_APPLICATIONSEXCLUDE 15430 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYGROUP 15431 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYGROUP_INPUTARGUMENTS 15432 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYGROUP_OUTPUTARGUMENTS 15433 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS 15434 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUP 15435 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 15436 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 15437 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUP 15438 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 15439 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYGROUP 15440 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYGROUP_INPUTARGUMENTS 15441 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYGROUP_OUTPUTARGUMENTS 15442 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS 15443 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUP 15444 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 15445 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 15446 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUP 15447 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 15448 /* Variable */ +#define UA_NS0ID_GETSECURITYGROUPMETHODTYPE 15449 /* Method */ +#define UA_NS0ID_GETSECURITYGROUPMETHODTYPE_INPUTARGUMENTS 15450 /* Variable */ +#define UA_NS0ID_GETSECURITYGROUPMETHODTYPE_OUTPUTARGUMENTS 15451 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE 15452 /* ObjectType */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER 15453 /* Object */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUP 15454 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUP_INPUTARGUMENTS 15455 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUP_OUTPUTARGUMENTS 15456 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUP 15457 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUP_INPUTARGUMENTS 15458 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER 15459 /* Object */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYGROUPID 15460 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUP 15461 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUP_INPUTARGUMENTS 15462 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUP_OUTPUTARGUMENTS 15463 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUP 15464 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUP_INPUTARGUMENTS 15465 /* Variable */ +#define UA_NS0ID_ADDSECURITYGROUPMETHODTYPE 15466 /* Method */ +#define UA_NS0ID_ADDSECURITYGROUPMETHODTYPE_INPUTARGUMENTS 15467 /* Variable */ +#define UA_NS0ID_ADDSECURITYGROUPMETHODTYPE_OUTPUTARGUMENTS 15468 /* Variable */ +#define UA_NS0ID_REMOVESECURITYGROUPMETHODTYPE 15469 /* Method */ +#define UA_NS0ID_REMOVESECURITYGROUPMETHODTYPE_INPUTARGUMENTS 15470 /* Variable */ +#define UA_NS0ID_SECURITYGROUPTYPE 15471 /* ObjectType */ +#define UA_NS0ID_SECURITYGROUPTYPE_SECURITYGROUPID 15472 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS 15473 /* Object */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15474 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15475 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15476 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15477 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15478 /* Variable */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15479 /* Object */ +#define UA_NS0ID_WRITERGROUPDATATYPE 15480 /* DataType */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS 15481 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15482 /* Method */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15483 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15484 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15485 /* Method */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15486 /* Variable */ +#define UA_NS0ID_STRUCTUREDESCRIPTION 15487 /* DataType */ +#define UA_NS0ID_ENUMDESCRIPTION 15488 /* DataType */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE 15489 /* ObjectType */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE_EXTENSIONFIELDNAME_PLACEHOLDER 15490 /* Variable */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE_ADDEXTENSIONFIELD 15491 /* Method */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE_ADDEXTENSIONFIELD_INPUTARGUMENTS 15492 /* Variable */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15493 /* Variable */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE_REMOVEEXTENSIONFIELD 15494 /* Method */ +#define UA_NS0ID_EXTENSIONFIELDSTYPE_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15495 /* Variable */ +#define UA_NS0ID_ADDEXTENSIONFIELDMETHODTYPE 15496 /* Method */ +#define UA_NS0ID_ADDEXTENSIONFIELDMETHODTYPE_INPUTARGUMENTS 15497 /* Variable */ +#define UA_NS0ID_ADDEXTENSIONFIELDMETHODTYPE_OUTPUTARGUMENTS 15498 /* Variable */ +#define UA_NS0ID_REMOVEEXTENSIONFIELDMETHODTYPE 15499 /* Method */ +#define UA_NS0ID_REMOVEEXTENSIONFIELDMETHODTYPE_INPUTARGUMENTS 15500 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLETYPEDESCRIPTION 15501 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSDATATYPE 15502 /* DataType */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS 15503 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15504 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15505 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15506 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15507 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15508 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLETYPEDESCRIPTION_DATATYPEVERSION 15509 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSURLDATATYPE 15510 /* DataType */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS 15511 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15512 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15513 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15514 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15515 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15516 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_MODIFYFIELDSELECTION_OUTPUTARGUMENTS 15517 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPEMODIFYFIELDSELECTIONMETHODTYPE_OUTPUTARGUMENTS 15518 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLETYPEDESCRIPTION_DICTIONARYFRAGMENT 15519 /* Variable */ +#define UA_NS0ID_READERGROUPDATATYPE 15520 /* DataType */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UABINARYFILEDATATYPE 15521 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UABINARYFILEDATATYPE_DATATYPEVERSION 15522 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UABINARYFILEDATATYPE_DICTIONARYFRAGMENT 15523 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE 15524 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 15525 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15526 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ENDPOINTSEXCLUDE 15527 /* Variable */ +#define UA_NS0ID_ENDPOINTTYPE 15528 /* DataType */ +#define UA_NS0ID_SIMPLETYPEDESCRIPTION_ENCODING_DEFAULTXML 15529 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE 15530 /* DataType */ +#define UA_NS0ID_UABINARYFILEDATATYPE_ENCODING_DEFAULTXML 15531 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 15532 /* DataType */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE 15533 /* Variable */ +#define UA_NS0ID_DATATYPESCHEMAHEADER 15534 /* DataType */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE 15535 /* ObjectType */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_EVENTID 15536 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_EVENTTYPE 15537 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_SOURCENODE 15538 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_SOURCENAME 15539 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_TIME 15540 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_RECEIVETIME 15541 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_LOCALTIME 15542 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_MESSAGE 15543 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_SEVERITY 15544 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONNECTIONID 15545 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_GROUPID 15546 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_STATE 15547 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE 15548 /* ObjectType */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_EVENTID 15549 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_EVENTTYPE 15550 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_SOURCENODE 15551 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_SOURCENAME 15552 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_TIME 15553 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_RECEIVETIME 15554 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_LOCALTIME 15555 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_MESSAGE 15556 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_SEVERITY 15557 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONNECTIONID 15558 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_GROUPID 15559 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_STATE 15560 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_ACTUAL 15561 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_MAXIMUM 15562 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE 15563 /* ObjectType */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_EVENTID 15564 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_EVENTTYPE 15565 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_SOURCENODE 15566 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_SOURCENAME 15567 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_TIME 15568 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_RECEIVETIME 15569 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_LOCALTIME 15570 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_MESSAGE 15571 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_SEVERITY 15572 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONNECTIONID 15573 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_GROUPID 15574 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_STATE 15575 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_ERROR 15576 /* Variable */ +#define UA_NS0ID_DATASETFIELDFLAGS_OPTIONSETVALUES 15577 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETDATATYPE 15578 /* DataType */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15579 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE 15580 /* DataType */ +#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE 15581 /* DataType */ +#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE 15582 /* DataType */ +#define UA_NS0ID_DATASETFIELDCONTENTMASK 15583 /* DataType */ +#define UA_NS0ID_DATASETFIELDCONTENTMASK_OPTIONSETVALUES 15584 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLETYPEDESCRIPTION 15585 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLETYPEDESCRIPTION_DATATYPEVERSION 15586 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLETYPEDESCRIPTION_DICTIONARYFRAGMENT 15587 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UABINARYFILEDATATYPE 15588 /* Variable */ +#define UA_NS0ID_STRUCTUREDESCRIPTION_ENCODING_DEFAULTXML 15589 /* Object */ +#define UA_NS0ID_ENUMDESCRIPTION_ENCODING_DEFAULTXML 15590 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDESCRIPTION 15591 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDESCRIPTION_DATATYPEVERSION 15592 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDESCRIPTION_DICTIONARYFRAGMENT 15593 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDESCRIPTION 15594 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDESCRIPTION_DATATYPEVERSION 15595 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDESCRIPTION_DICTIONARYFRAGMENT 15596 /* Variable */ +#define UA_NS0ID_DATASETWRITERDATATYPE 15597 /* DataType */ +#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE 15598 /* DataType */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDESCRIPTION 15599 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDESCRIPTION_DATATYPEVERSION 15600 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDESCRIPTION_DICTIONARYFRAGMENT 15601 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDESCRIPTION 15602 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDESCRIPTION_DATATYPEVERSION 15603 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDESCRIPTION_DICTIONARYFRAGMENT 15604 /* Variable */ +#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE 15605 /* DataType */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET 15606 /* Object */ +#define UA_NS0ID_ROLESETTYPE 15607 /* ObjectType */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER 15608 /* Object */ +#define UA_NS0ID_PUBSUBGROUPDATATYPE 15609 /* DataType */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UABINARYFILEDATATYPE_DATATYPEVERSION 15610 /* Variable */ +#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE 15611 /* DataType */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDIDENTITY 15612 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDIDENTITY_INPUTARGUMENTS 15613 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEIDENTITY 15614 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEIDENTITY_INPUTARGUMENTS 15615 /* Variable */ +#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE 15616 /* DataType */ +#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE 15617 /* DataType */ +#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE 15618 /* DataType */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UABINARYFILEDATATYPE_DICTIONARYFRAGMENT 15619 /* Variable */ +#define UA_NS0ID_ROLETYPE 15620 /* ObjectType */ +#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE 15621 /* DataType */ +#define UA_NS0ID_READERGROUPMESSAGEDATATYPE 15622 /* DataType */ +#define UA_NS0ID_DATASETREADERDATATYPE 15623 /* DataType */ +#define UA_NS0ID_ROLETYPE_ADDIDENTITY 15624 /* Method */ +#define UA_NS0ID_ROLETYPE_ADDIDENTITY_INPUTARGUMENTS 15625 /* Variable */ +#define UA_NS0ID_ROLETYPE_REMOVEIDENTITY 15626 /* Method */ +#define UA_NS0ID_ROLETYPE_REMOVEIDENTITY_INPUTARGUMENTS 15627 /* Variable */ +#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE 15628 /* DataType */ +#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE 15629 /* DataType */ +#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE 15630 /* DataType */ +#define UA_NS0ID_TARGETVARIABLESDATATYPE 15631 /* DataType */ +#define UA_NS0ID_IDENTITYCRITERIATYPE 15632 /* DataType */ +#define UA_NS0ID_IDENTITYCRITERIATYPE_ENUMVALUES 15633 /* Variable */ +#define UA_NS0ID_IDENTITYMAPPINGRULETYPE 15634 /* DataType */ +#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE 15635 /* DataType */ +#define UA_NS0ID_ADDIDENTITYMETHODTYPE 15636 /* Method */ +#define UA_NS0ID_ADDIDENTITYMETHODTYPE_INPUTARGUMENTS 15637 /* Variable */ +#define UA_NS0ID_REMOVEIDENTITYMETHODTYPE 15638 /* Method */ +#define UA_NS0ID_REMOVEIDENTITYMETHODTYPE_INPUTARGUMENTS 15639 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE 15640 /* Variable */ +#define UA_NS0ID_DATASETORDERINGTYPE_ENUMSTRINGS 15641 /* Variable */ +#define UA_NS0ID_UADPNETWORKMESSAGECONTENTMASK 15642 /* DataType */ +#define UA_NS0ID_UADPNETWORKMESSAGECONTENTMASK_OPTIONSETVALUES 15643 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS 15644 /* Object */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE 15645 /* DataType */ +#define UA_NS0ID_UADPDATASETMESSAGECONTENTMASK 15646 /* DataType */ +#define UA_NS0ID_UADPDATASETMESSAGECONTENTMASK_OPTIONSETVALUES 15647 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDIDENTITY 15648 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDIDENTITY_INPUTARGUMENTS 15649 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEIDENTITY 15650 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEIDENTITY_INPUTARGUMENTS 15651 /* Variable */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE 15652 /* DataType */ +#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE 15653 /* DataType */ +#define UA_NS0ID_JSONNETWORKMESSAGECONTENTMASK 15654 /* DataType */ +#define UA_NS0ID_JSONNETWORKMESSAGECONTENTMASK_OPTIONSETVALUES 15655 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER 15656 /* Object */ +#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE 15657 /* DataType */ +#define UA_NS0ID_JSONDATASETMESSAGECONTENTMASK 15658 /* DataType */ +#define UA_NS0ID_JSONDATASETMESSAGECONTENTMASK_OPTIONSETVALUES 15659 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDIDENTITY 15660 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDIDENTITY_INPUTARGUMENTS 15661 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEIDENTITY 15662 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEIDENTITY_INPUTARGUMENTS 15663 /* Variable */ +#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE 15664 /* DataType */ +#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE 15665 /* DataType */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 15666 /* Variable */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE 15667 /* DataType */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER 15668 /* Object */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE 15669 /* DataType */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE 15670 /* DataType */ +#define UA_NS0ID_ENDPOINTTYPE_ENCODING_DEFAULTBINARY 15671 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDIDENTITY 15672 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDIDENTITY_INPUTARGUMENTS 15673 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEIDENTITY 15674 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEIDENTITY_INPUTARGUMENTS 15675 /* Variable */ +#define UA_NS0ID_DATATYPESCHEMAHEADER_ENCODING_DEFAULTBINARY 15676 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETDATATYPE_ENCODING_DEFAULTBINARY 15677 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE_ENCODING_DEFAULTBINARY 15678 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE_ENCODING_DEFAULTBINARY 15679 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR 15680 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE_ENCODING_DEFAULTBINARY 15681 /* Object */ +#define UA_NS0ID_DATASETWRITERDATATYPE_ENCODING_DEFAULTBINARY 15682 /* Object */ +#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15683 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDIDENTITY 15684 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDIDENTITY_INPUTARGUMENTS 15685 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEIDENTITY 15686 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEIDENTITY_INPUTARGUMENTS 15687 /* Variable */ +#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15688 /* Object */ +#define UA_NS0ID_PUBSUBGROUPDATATYPE_ENCODING_DEFAULTBINARY 15689 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15690 /* Variable */ +#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15691 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR 15692 /* Object */ +#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15693 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE_ENCODING_DEFAULTBINARY 15694 /* Object */ +#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15695 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDIDENTITY 15696 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDIDENTITY_INPUTARGUMENTS 15697 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEIDENTITY 15698 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEIDENTITY_INPUTARGUMENTS 15699 /* Variable */ +#define UA_NS0ID_SIMPLETYPEDESCRIPTION_ENCODING_DEFAULTJSON 15700 /* Object */ +#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15701 /* Object */ +#define UA_NS0ID_READERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15702 /* Object */ +#define UA_NS0ID_DATASETREADERDATATYPE_ENCODING_DEFAULTBINARY 15703 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN 15704 /* Object */ +#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15705 /* Object */ +#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15706 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTBINARY 15707 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDIDENTITY 15708 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDIDENTITY_INPUTARGUMENTS 15709 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEIDENTITY 15710 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEIDENTITY_INPUTARGUMENTS 15711 /* Variable */ +#define UA_NS0ID_TARGETVARIABLESDATATYPE_ENCODING_DEFAULTBINARY 15712 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE_ENCODING_DEFAULTBINARY 15713 /* Object */ +#define UA_NS0ID_UABINARYFILEDATATYPE_ENCODING_DEFAULTJSON 15714 /* Object */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15715 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN 15716 /* Object */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15717 /* Object */ +#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15718 /* Object */ +#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15719 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDIDENTITY 15720 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDIDENTITY_INPUTARGUMENTS 15721 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEIDENTITY 15722 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEIDENTITY_INPUTARGUMENTS 15723 /* Variable */ +#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15724 /* Object */ +#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15725 /* Object */ +#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 15726 /* Object */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15727 /* Object */ +#define UA_NS0ID_IDENTITYMAPPINGRULETYPE_ENCODING_DEFAULTXML 15728 /* Object */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15729 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_IDENTITYMAPPINGRULETYPE 15730 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_IDENTITYMAPPINGRULETYPE_DATATYPEVERSION 15731 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_IDENTITYMAPPINGRULETYPE_DICTIONARYFRAGMENT 15732 /* Variable */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15733 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTTYPE 15734 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTTYPE_DATATYPEVERSION 15735 /* Variable */ +#define UA_NS0ID_IDENTITYMAPPINGRULETYPE_ENCODING_DEFAULTBINARY 15736 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTTYPE_DICTIONARYFRAGMENT 15737 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_IDENTITYMAPPINGRULETYPE 15738 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_IDENTITYMAPPINGRULETYPE_DATATYPEVERSION 15739 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_IDENTITYMAPPINGRULETYPE_DICTIONARYFRAGMENT 15740 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPESCHEMAHEADER 15741 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPESCHEMAHEADER_DATATYPEVERSION 15742 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPESCHEMAHEADER_DICTIONARYFRAGMENT 15743 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE 15744 /* ObjectType */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLIENTPROCESSINGTIMEOUT 15745 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORREAD 15746 /* Method */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORREAD_INPUTARGUMENTS 15747 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORREAD_OUTPUTARGUMENTS 15748 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORWRITE 15749 /* Method */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORWRITE_OUTPUTARGUMENTS 15750 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLOSEANDCOMMIT 15751 /* Method */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLOSEANDCOMMIT_INPUTARGUMENTS 15752 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLOSEANDCOMMIT_OUTPUTARGUMENTS 15753 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER 15754 /* Object */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE 15755 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_ID 15756 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_NAME 15757 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_NUMBER 15758 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_EFFECTIVEDISPLAYNAME 15759 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION 15760 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_ID 15761 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_NAME 15762 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_NUMBER 15763 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_TRANSITIONTIME 15764 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_EFFECTIVETRANSITIONTIME 15765 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETDATATYPE 15766 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETDATATYPE_DATATYPEVERSION 15767 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETDATATYPE_DICTIONARYFRAGMENT 15768 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE 15769 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DATATYPEVERSION 15770 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DICTIONARYFRAGMENT 15771 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATAITEMSDATATYPE 15772 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DATATYPEVERSION 15773 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DICTIONARYFRAGMENT 15774 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDEVENTSDATATYPE 15775 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDEVENTSDATATYPE_DATATYPEVERSION 15776 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDEVENTSDATATYPE_DICTIONARYFRAGMENT 15777 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERDATATYPE 15778 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERDATATYPE_DATATYPEVERSION 15779 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERDATATYPE_DICTIONARYFRAGMENT 15780 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERTRANSPORTDATATYPE 15781 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 15782 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15783 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERMESSAGEDATATYPE 15784 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 15785 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15786 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBGROUPDATATYPE 15787 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBGROUPDATATYPE_DATATYPEVERSION 15788 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBGROUPDATATYPE_DICTIONARYFRAGMENT 15789 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER 15790 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_PUBLISHERID 15791 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI 15792 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPTRANSPORTDATATYPE 15793 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_RESET 15794 /* Method */ +#define UA_NS0ID_GENERATEFILEFORREADMETHODTYPE 15795 /* Method */ +#define UA_NS0ID_GENERATEFILEFORREADMETHODTYPE_INPUTARGUMENTS 15796 /* Variable */ +#define UA_NS0ID_GENERATEFILEFORREADMETHODTYPE_OUTPUTARGUMENTS 15797 /* Variable */ +#define UA_NS0ID_GENERATEFILEFORWRITEMETHODTYPE 15798 /* Method */ +#define UA_NS0ID_GENERATEFILEFORWRITEMETHODTYPE_OUTPUTARGUMENTS 15799 /* Variable */ +#define UA_NS0ID_CLOSEANDCOMMITMETHODTYPE 15800 /* Method */ +#define UA_NS0ID_CLOSEANDCOMMITMETHODTYPE_INPUTARGUMENTS 15801 /* Variable */ +#define UA_NS0ID_CLOSEANDCOMMITMETHODTYPE_OUTPUTARGUMENTS 15802 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE 15803 /* ObjectType */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE 15804 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_ID 15805 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_NAME 15806 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_NUMBER 15807 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 15808 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION 15809 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_ID 15810 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_NAME 15811 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_NUMBER 15812 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 15813 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 15814 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLE 15815 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLE_STATENUMBER 15816 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARE 15817 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARE_STATENUMBER 15818 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFER 15819 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFER_STATENUMBER 15820 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITE 15821 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITE_STATENUMBER 15822 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERROR 15823 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERROR_STATENUMBER 15824 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOREADPREPARE 15825 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOREADPREPARE_TRANSITIONNUMBER 15826 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOREADTRANSFER 15827 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOREADTRANSFER_TRANSITIONNUMBER 15828 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOIDLE 15829 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOIDLE_TRANSITIONNUMBER 15830 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOAPPLYWRITE 15831 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOAPPLYWRITE_TRANSITIONNUMBER 15832 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOIDLE 15833 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOIDLE_TRANSITIONNUMBER 15834 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOERROR 15835 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOERROR_TRANSITIONNUMBER 15836 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOERROR 15837 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOERROR_TRANSITIONNUMBER 15838 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOERROR 15839 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOERROR_TRANSITIONNUMBER 15840 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERRORTOIDLE 15841 /* Object */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERRORTOIDLE_TRANSITIONNUMBER 15842 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_RESET 15843 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS 15844 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS_STATE 15845 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS_ENABLE 15846 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS_DISABLE 15847 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONS 15848 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 15849 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_RESTRICTTOLIST 15850 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS 15851 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 15852 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15853 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPMESSAGEDATATYPE 15854 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15855 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15856 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONNECTIONDATATYPE 15857 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONNECTIONDATATYPE_DATATYPEVERSION 15858 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONNECTIONDATATYPE_DICTIONARYFRAGMENT 15859 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONNECTIONTRANSPORTDATATYPE 15860 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 15861 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15862 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE 15863 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTSETTINGS 15864 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS 15865 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPTRANSPORTDATATYPE 15866 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 15867 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15868 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPMESSAGEDATATYPE 15869 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15870 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15871 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERDATATYPE 15872 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERDATATYPE_DATATYPEVERSION 15873 /* Variable */ +#define UA_NS0ID_OVERRIDEVALUEHANDLING 15874 /* DataType */ +#define UA_NS0ID_OVERRIDEVALUEHANDLING_ENUMSTRINGS 15875 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERDATATYPE_DICTIONARYFRAGMENT 15876 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERTRANSPORTDATATYPE 15877 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 15878 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15879 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERMESSAGEDATATYPE 15880 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 15881 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15882 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETDATATYPE 15883 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 15884 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 15885 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TARGETVARIABLESDATATYPE 15886 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TARGETVARIABLESDATATYPE_DATATYPEVERSION 15887 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TARGETVARIABLESDATATYPE_DICTIONARYFRAGMENT 15888 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE 15889 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DATATYPEVERSION 15890 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DICTIONARYFRAGMENT 15891 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS_STATE 15892 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS_ENABLE 15893 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS_DISABLE 15894 /* Method */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE 15895 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15896 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15897 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE 15898 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 15899 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15900 /* Variable */ +#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE 15901 /* DataType */ +#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE_ENCODING_DEFAULTXML 15902 /* Object */ +#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE_ENCODING_DEFAULTBINARY 15903 /* Object */ +#define UA_NS0ID_DATASETFIELDFLAGS 15904 /* DataType */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTSETTINGS 15905 /* Object */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE 15906 /* ObjectType */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYKEYS 15907 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYKEYS_INPUTARGUMENTS 15908 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYKEYS_OUTPUTARGUMENTS 15909 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYGROUP 15910 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYGROUP_INPUTARGUMENTS 15911 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYGROUP_OUTPUTARGUMENTS 15912 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS 15913 /* Object */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUP 15914 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 15915 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 15916 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUP 15917 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 15918 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETREADERMESSAGEDATATYPE 15919 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 15920 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15921 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE 15922 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15923 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15924 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE 15925 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE_SECURITYMODE 15926 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE_SECURITYGROUPID 15927 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE_SECURITYKEYSERVICES 15928 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 15929 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15930 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETREADERMESSAGEDATATYPE 15931 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_SECURITYMODE 15932 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_SECURITYGROUPID 15933 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_SECURITYKEYSERVICES 15934 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 15935 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15936 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS 15937 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 15938 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 15939 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE 15940 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 15941 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15942 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE 15943 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 15944 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15945 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE 15946 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 15947 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15948 /* Variable */ +#define UA_NS0ID_ENDPOINTTYPE_ENCODING_DEFAULTXML 15949 /* Object */ +#define UA_NS0ID_DATATYPESCHEMAHEADER_ENCODING_DEFAULTXML 15950 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETDATATYPE_ENCODING_DEFAULTXML 15951 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE_ENCODING_DEFAULTXML 15952 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE_ENCODING_DEFAULTXML 15953 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE_ENCODING_DEFAULTXML 15954 /* Object */ +#define UA_NS0ID_DATASETWRITERDATATYPE_ENCODING_DEFAULTXML 15955 /* Object */ +#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15956 /* Object */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA 15957 /* Object */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEURI 15958 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEVERSION 15959 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEPUBLICATIONDATE 15960 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_ISNAMESPACESUBSET 15961 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_STATICNODEIDTYPES 15962 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_STATICNUMERICNODEIDRANGE 15963 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_STATICSTRINGNODEIDPATTERN 15964 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE 15965 /* Object */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_SIZE 15966 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_WRITABLE 15967 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_USERWRITABLE 15968 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPENCOUNT 15969 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_MIMETYPE 15970 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPEN 15971 /* Method */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPEN_INPUTARGUMENTS 15972 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPEN_OUTPUTARGUMENTS 15973 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_CLOSE 15974 /* Method */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_CLOSE_INPUTARGUMENTS 15975 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_READ 15976 /* Method */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_READ_INPUTARGUMENTS 15977 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_READ_OUTPUTARGUMENTS 15978 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_WRITE 15979 /* Method */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_WRITE_INPUTARGUMENTS 15980 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_GETPOSITION 15981 /* Method */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_GETPOSITION_INPUTARGUMENTS 15982 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_GETPOSITION_OUTPUTARGUMENTS 15983 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_SETPOSITION 15984 /* Method */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_SETPOSITION_INPUTARGUMENTS 15985 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_EXPORTNAMESPACE 15986 /* Method */ +#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTXML 15987 /* Object */ +#define UA_NS0ID_PUBSUBGROUPDATATYPE_ENCODING_DEFAULTXML 15988 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 15989 /* Variable */ +#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15990 /* Object */ +#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 15991 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE_ENCODING_DEFAULTXML 15992 /* Object */ +#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15993 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 15994 /* Variable */ +#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15995 /* Object */ +#define UA_NS0ID_READERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 15996 /* Object */ +#define UA_NS0ID_ROLESETTYPE_ADDROLE 15997 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ADDROLE_INPUTARGUMENTS 15998 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ADDROLE_OUTPUTARGUMENTS 15999 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_REMOVEROLE 16000 /* Method */ +#define UA_NS0ID_ROLESETTYPE_REMOVEROLE_INPUTARGUMENTS 16001 /* Variable */ +#define UA_NS0ID_ADDROLEMETHODTYPE 16002 /* Method */ +#define UA_NS0ID_ADDROLEMETHODTYPE_INPUTARGUMENTS 16003 /* Variable */ +#define UA_NS0ID_ADDROLEMETHODTYPE_OUTPUTARGUMENTS 16004 /* Variable */ +#define UA_NS0ID_REMOVEROLEMETHODTYPE 16005 /* Method */ +#define UA_NS0ID_REMOVEROLEMETHODTYPE_INPUTARGUMENTS 16006 /* Variable */ +#define UA_NS0ID_DATASETREADERDATATYPE_ENCODING_DEFAULTXML 16007 /* Object */ +#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16008 /* Object */ +#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16009 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTXML 16010 /* Object */ +#define UA_NS0ID_TARGETVARIABLESDATATYPE_ENCODING_DEFAULTXML 16011 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE_ENCODING_DEFAULTXML 16012 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 16013 /* Variable */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 16014 /* Object */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16015 /* Object */ +#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16016 /* Object */ +#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 16017 /* Object */ +#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16018 /* Object */ +#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16019 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 16020 /* Variable */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16021 /* Object */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16022 /* Object */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16023 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTTYPE 16024 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTTYPE_DATATYPEVERSION 16025 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTTYPE_DICTIONARYFRAGMENT 16026 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPESCHEMAHEADER 16027 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPESCHEMAHEADER_DATATYPEVERSION 16028 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPESCHEMAHEADER_DICTIONARYFRAGMENT 16029 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETDATATYPE 16030 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETDATATYPE_DATATYPEVERSION 16031 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETDATATYPE_DICTIONARYFRAGMENT 16032 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE 16033 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DATATYPEVERSION 16034 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DICTIONARYFRAGMENT 16035 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER 16036 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATAITEMSDATATYPE 16037 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DATATYPEVERSION 16038 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DICTIONARYFRAGMENT 16039 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDEVENTSDATATYPE 16040 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDIDENTITY 16041 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDIDENTITY_INPUTARGUMENTS 16042 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEIDENTITY 16043 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEIDENTITY_INPUTARGUMENTS 16044 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDEVENTSDATATYPE_DATATYPEVERSION 16045 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDEVENTSDATATYPE_DICTIONARYFRAGMENT 16046 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERDATATYPE 16047 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERDATATYPE_DATATYPEVERSION 16048 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERDATATYPE_DICTIONARYFRAGMENT 16049 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERTRANSPORTDATATYPE 16050 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 16051 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16052 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERMESSAGEDATATYPE 16053 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 16054 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16055 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBGROUPDATATYPE 16056 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBGROUPDATATYPE_DATATYPEVERSION 16057 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBGROUPDATATYPE_DICTIONARYFRAGMENT 16058 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 16059 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 16060 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 16061 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPTRANSPORTDATATYPE 16062 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 16063 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16064 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPMESSAGEDATATYPE 16065 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16066 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16067 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONNECTIONDATATYPE 16068 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONNECTIONDATATYPE_DATATYPEVERSION 16069 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONNECTIONDATATYPE_DICTIONARYFRAGMENT 16070 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONNECTIONTRANSPORTDATATYPE 16071 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 16072 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16073 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 16074 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 16075 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_RESET 16076 /* Method */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPTRANSPORTDATATYPE 16077 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 16078 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16079 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPMESSAGEDATATYPE 16080 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16081 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16082 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERDATATYPE 16083 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERDATATYPE_DATATYPEVERSION 16084 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERDATATYPE_DICTIONARYFRAGMENT 16085 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERTRANSPORTDATATYPE 16086 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 16087 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16088 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERMESSAGEDATATYPE 16089 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 16090 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16091 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETDATATYPE 16092 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 16093 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 16094 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TARGETVARIABLESDATATYPE 16095 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TARGETVARIABLESDATATYPE_DATATYPEVERSION 16096 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TARGETVARIABLESDATATYPE_DICTIONARYFRAGMENT 16097 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE 16098 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DATATYPEVERSION 16099 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DICTIONARYFRAGMENT 16100 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 16101 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 16102 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 16103 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE 16104 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16105 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16106 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE 16107 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 16108 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16109 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETREADERMESSAGEDATATYPE 16110 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 16111 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16112 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE 16113 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16114 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16115 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE 16116 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 16117 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16118 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETREADERMESSAGEDATATYPE 16119 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 16120 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16121 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 16122 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 16123 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 16124 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE 16125 /* Variable */ +#define UA_NS0ID_ROLEPERMISSIONTYPE_ENCODING_DEFAULTXML 16126 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ROLEPERMISSIONTYPE 16127 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ROLEPERMISSIONTYPE_DATATYPEVERSION 16128 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ROLEPERMISSIONTYPE_DICTIONARYFRAGMENT 16129 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 16130 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ROLEPERMISSIONTYPE 16131 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ROLEPERMISSIONTYPE_DATATYPEVERSION 16132 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ROLEPERMISSIONTYPE_DICTIONARYFRAGMENT 16133 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_DEFAULTROLEPERMISSIONS 16134 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_DEFAULTUSERROLEPERMISSIONS 16135 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_DEFAULTACCESSRESTRICTIONS 16136 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_DEFAULTROLEPERMISSIONS 16137 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_DEFAULTUSERROLEPERMISSIONS 16138 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_DEFAULTACCESSRESTRICTIONS 16139 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_DEFAULTROLEPERMISSIONS 16140 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_DEFAULTUSERROLEPERMISSIONS 16141 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_DEFAULTACCESSRESTRICTIONS 16142 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16143 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE 16144 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 16145 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16146 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE 16147 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 16148 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16149 /* Variable */ +#define UA_NS0ID_ENDPOINTTYPE_ENCODING_DEFAULTJSON 16150 /* Object */ +#define UA_NS0ID_DATATYPESCHEMAHEADER_ENCODING_DEFAULTJSON 16151 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETDATATYPE_ENCODING_DEFAULTJSON 16152 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE_ENCODING_DEFAULTJSON 16153 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE_ENCODING_DEFAULTJSON 16154 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE_ENCODING_DEFAULTJSON 16155 /* Object */ +#define UA_NS0ID_DATASETWRITERDATATYPE_ENCODING_DEFAULTJSON 16156 /* Object */ +#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16157 /* Object */ +#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16158 /* Object */ +#define UA_NS0ID_PUBSUBGROUPDATATYPE_ENCODING_DEFAULTJSON 16159 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 16160 /* Variable */ +#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16161 /* Object */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_IDENTITIES 16162 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_APPLICATIONS 16163 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ENDPOINTS 16164 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDAPPLICATION 16165 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDAPPLICATION_INPUTARGUMENTS 16166 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEAPPLICATION 16167 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEAPPLICATION_INPUTARGUMENTS 16168 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDENDPOINT 16169 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDENDPOINT_INPUTARGUMENTS 16170 /* Variable */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEENDPOINT 16171 /* Method */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEENDPOINT_INPUTARGUMENTS 16172 /* Variable */ +#define UA_NS0ID_ROLETYPE_IDENTITIES 16173 /* Variable */ +#define UA_NS0ID_ROLETYPE_APPLICATIONS 16174 /* Variable */ +#define UA_NS0ID_ROLETYPE_ENDPOINTS 16175 /* Variable */ +#define UA_NS0ID_ROLETYPE_ADDAPPLICATION 16176 /* Method */ +#define UA_NS0ID_ROLETYPE_ADDAPPLICATION_INPUTARGUMENTS 16177 /* Variable */ +#define UA_NS0ID_ROLETYPE_REMOVEAPPLICATION 16178 /* Method */ +#define UA_NS0ID_ROLETYPE_REMOVEAPPLICATION_INPUTARGUMENTS 16179 /* Variable */ +#define UA_NS0ID_ROLETYPE_ADDENDPOINT 16180 /* Method */ +#define UA_NS0ID_ROLETYPE_ADDENDPOINT_INPUTARGUMENTS 16181 /* Variable */ +#define UA_NS0ID_ROLETYPE_REMOVEENDPOINT 16182 /* Method */ +#define UA_NS0ID_ROLETYPE_REMOVEENDPOINT_INPUTARGUMENTS 16183 /* Variable */ +#define UA_NS0ID_ADDAPPLICATIONMETHODTYPE 16184 /* Method */ +#define UA_NS0ID_ADDAPPLICATIONMETHODTYPE_INPUTARGUMENTS 16185 /* Variable */ +#define UA_NS0ID_REMOVEAPPLICATIONMETHODTYPE 16186 /* Method */ +#define UA_NS0ID_REMOVEAPPLICATIONMETHODTYPE_INPUTARGUMENTS 16187 /* Variable */ +#define UA_NS0ID_ADDENDPOINTMETHODTYPE 16188 /* Method */ +#define UA_NS0ID_ADDENDPOINTMETHODTYPE_INPUTARGUMENTS 16189 /* Variable */ +#define UA_NS0ID_REMOVEENDPOINTMETHODTYPE 16190 /* Method */ +#define UA_NS0ID_REMOVEENDPOINTMETHODTYPE_INPUTARGUMENTS 16191 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_IDENTITIES 16192 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_APPLICATIONS 16193 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ENDPOINTS 16194 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDAPPLICATION 16195 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDAPPLICATION_INPUTARGUMENTS 16196 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEAPPLICATION 16197 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEAPPLICATION_INPUTARGUMENTS 16198 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDENDPOINT 16199 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDENDPOINT_INPUTARGUMENTS 16200 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEENDPOINT 16201 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEENDPOINT_INPUTARGUMENTS 16202 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_IDENTITIES 16203 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_APPLICATIONS 16204 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ENDPOINTS 16205 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDAPPLICATION 16206 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDAPPLICATION_INPUTARGUMENTS 16207 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEAPPLICATION 16208 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEAPPLICATION_INPUTARGUMENTS 16209 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDENDPOINT 16210 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDENDPOINT_INPUTARGUMENTS 16211 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEENDPOINT 16212 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEENDPOINT_INPUTARGUMENTS 16213 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_IDENTITIES 16214 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_APPLICATIONS 16215 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ENDPOINTS 16216 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDAPPLICATION 16217 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDAPPLICATION_INPUTARGUMENTS 16218 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEAPPLICATION 16219 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEAPPLICATION_INPUTARGUMENTS 16220 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDENDPOINT 16221 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDENDPOINT_INPUTARGUMENTS 16222 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEENDPOINT 16223 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEENDPOINT_INPUTARGUMENTS 16224 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_IDENTITIES 16225 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_APPLICATIONS 16226 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ENDPOINTS 16227 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDAPPLICATION 16228 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDAPPLICATION_INPUTARGUMENTS 16229 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEAPPLICATION 16230 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEAPPLICATION_INPUTARGUMENTS 16231 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDENDPOINT 16232 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDENDPOINT_INPUTARGUMENTS 16233 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEENDPOINT 16234 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEENDPOINT_INPUTARGUMENTS 16235 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_IDENTITIES 16236 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_APPLICATIONS 16237 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ENDPOINTS 16238 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDAPPLICATION 16239 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDAPPLICATION_INPUTARGUMENTS 16240 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEAPPLICATION 16241 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEAPPLICATION_INPUTARGUMENTS 16242 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDENDPOINT 16243 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDENDPOINT_INPUTARGUMENTS 16244 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEENDPOINT 16245 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEENDPOINT_INPUTARGUMENTS 16246 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_IDENTITIES 16247 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_APPLICATIONS 16248 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ENDPOINTS 16249 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDAPPLICATION 16250 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDAPPLICATION_INPUTARGUMENTS 16251 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEAPPLICATION 16252 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEAPPLICATION_INPUTARGUMENTS 16253 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDENDPOINT 16254 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDENDPOINT_INPUTARGUMENTS 16255 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEENDPOINT 16256 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEENDPOINT_INPUTARGUMENTS 16257 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_IDENTITIES 16258 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_APPLICATIONS 16259 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ENDPOINTS 16260 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDAPPLICATION 16261 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDAPPLICATION_INPUTARGUMENTS 16262 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEAPPLICATION 16263 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEAPPLICATION_INPUTARGUMENTS 16264 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDENDPOINT 16265 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDENDPOINT_INPUTARGUMENTS 16266 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEENDPOINT 16267 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEENDPOINT_INPUTARGUMENTS 16268 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_IDENTITIES 16269 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_APPLICATIONS 16270 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ENDPOINTS 16271 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDAPPLICATION 16272 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDAPPLICATION_INPUTARGUMENTS 16273 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEAPPLICATION 16274 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEAPPLICATION_INPUTARGUMENTS 16275 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDENDPOINT 16276 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDENDPOINT_INPUTARGUMENTS 16277 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEENDPOINT 16278 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEENDPOINT_INPUTARGUMENTS 16279 /* Variable */ +#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16280 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE_ENCODING_DEFAULTJSON 16281 /* Object */ +#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16282 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 16283 /* Variable */ +#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16284 /* Object */ +#define UA_NS0ID_READERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16285 /* Object */ +#define UA_NS0ID_DATASETREADERDATATYPE_ENCODING_DEFAULTJSON 16286 /* Object */ +#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16287 /* Object */ +#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16288 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET 16289 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_ADDROLE 16290 /* Method */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_ADDROLE_INPUTARGUMENTS 16291 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_ADDROLE_OUTPUTARGUMENTS 16292 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_REMOVEROLE 16293 /* Method */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_REMOVEROLE_INPUTARGUMENTS 16294 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET 16295 /* Object */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_ADDROLE 16296 /* Method */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_ADDROLE_INPUTARGUMENTS 16297 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_ADDROLE_OUTPUTARGUMENTS 16298 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_REMOVEROLE 16299 /* Method */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_REMOVEROLE_INPUTARGUMENTS 16300 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_ADDROLE 16301 /* Method */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_ADDROLE_INPUTARGUMENTS 16302 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_ADDROLE_OUTPUTARGUMENTS 16303 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_REMOVEROLE 16304 /* Method */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_REMOVEROLE_INPUTARGUMENTS 16305 /* Variable */ +#define UA_NS0ID_AUDIODATATYPE 16307 /* DataType */ +#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTJSON 16308 /* Object */ +#define UA_NS0ID_SELECTIONLISTTYPE 16309 /* VariableType */ +#define UA_NS0ID_TARGETVARIABLESDATATYPE_ENCODING_DEFAULTJSON 16310 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE_ENCODING_DEFAULTJSON 16311 /* Object */ +#define UA_NS0ID_SELECTIONLISTTYPE_RESTRICTTOLIST 16312 /* Variable */ +#define UA_NS0ID_ADDITIONALPARAMETERSTYPE 16313 /* DataType */ +#define UA_NS0ID_FILESYSTEM 16314 /* Object */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER 16315 /* Object */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY 16316 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_INPUTARGUMENTS 16317 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_OUTPUTARGUMENTS 16318 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE 16319 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_INPUTARGUMENTS 16320 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_OUTPUTARGUMENTS 16321 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 16322 /* Variable */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16323 /* Object */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY 16324 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_INPUTARGUMENTS 16325 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_OUTPUTARGUMENTS 16326 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER 16327 /* Object */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_SIZE 16328 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_WRITABLE 16329 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_USERWRITABLE 16330 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPENCOUNT 16331 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_MIMETYPE 16332 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPEN 16333 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPEN_INPUTARGUMENTS 16334 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPEN_OUTPUTARGUMENTS 16335 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_CLOSE 16336 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_CLOSE_INPUTARGUMENTS 16337 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_READ 16338 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_READ_INPUTARGUMENTS 16339 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_READ_OUTPUTARGUMENTS 16340 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_WRITE 16341 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_WRITE_INPUTARGUMENTS 16342 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_GETPOSITION 16343 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_GETPOSITION_INPUTARGUMENTS 16344 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_GETPOSITION_OUTPUTARGUMENTS 16345 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_SETPOSITION 16346 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_SETPOSITION_INPUTARGUMENTS 16347 /* Variable */ +#define UA_NS0ID_FILESYSTEM_CREATEDIRECTORY 16348 /* Method */ +#define UA_NS0ID_FILESYSTEM_CREATEDIRECTORY_INPUTARGUMENTS 16349 /* Variable */ +#define UA_NS0ID_FILESYSTEM_CREATEDIRECTORY_OUTPUTARGUMENTS 16350 /* Variable */ +#define UA_NS0ID_FILESYSTEM_CREATEFILE 16351 /* Method */ +#define UA_NS0ID_FILESYSTEM_CREATEFILE_INPUTARGUMENTS 16352 /* Variable */ +#define UA_NS0ID_FILESYSTEM_CREATEFILE_OUTPUTARGUMENTS 16353 /* Variable */ +#define UA_NS0ID_FILESYSTEM_DELETEFILESYSTEMOBJECT 16354 /* Method */ +#define UA_NS0ID_FILESYSTEM_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 16355 /* Variable */ +#define UA_NS0ID_FILESYSTEM_MOVEORCOPY 16356 /* Method */ +#define UA_NS0ID_FILESYSTEM_MOVEORCOPY_INPUTARGUMENTS 16357 /* Variable */ +#define UA_NS0ID_FILESYSTEM_MOVEORCOPY_OUTPUTARGUMENTS 16358 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORWRITE_INPUTARGUMENTS 16359 /* Variable */ +#define UA_NS0ID_GENERATEFILEFORWRITEMETHODTYPE_INPUTARGUMENTS 16360 /* Variable */ +#define UA_NS0ID_HASALARMSUPPRESSIONGROUP 16361 /* ReferenceType */ +#define UA_NS0ID_ALARMGROUPMEMBER 16362 /* ReferenceType */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONSUBCLASSID 16363 /* Variable */ +#define UA_NS0ID_CONDITIONTYPE_CONDITIONSUBCLASSNAME 16364 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONSUBCLASSID 16365 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONSUBCLASSNAME 16366 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONSUBCLASSID 16367 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONSUBCLASSNAME 16368 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONSUBCLASSID 16369 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONSUBCLASSNAME 16370 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE 16371 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_ID 16372 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_NAME 16373 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_NUMBER 16374 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16375 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16376 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16377 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_TRUESTATE 16378 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_FALSESTATE 16379 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE 16380 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_ID 16381 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_NAME 16382 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_NUMBER 16383 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16384 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_TRANSITIONTIME 16385 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16386 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_TRUESTATE 16387 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_FALSESTATE 16388 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLEENABLED 16389 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND 16390 /* Variable */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16391 /* Object */ +#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16392 /* Object */ +#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16393 /* Object */ +#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16394 /* Object */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ONDELAY 16395 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_OFFDELAY 16396 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_FIRSTINGROUPFLAG 16397 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_FIRSTINGROUP 16398 /* Object */ +#define UA_NS0ID_ALARMCONDITIONTYPE_ALARMGROUP_PLACEHOLDER 16399 /* Object */ +#define UA_NS0ID_ALARMCONDITIONTYPE_REALARMTIME 16400 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_REALARMREPEATCOUNT 16401 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCE 16402 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESS 16403 /* Method */ +#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16404 /* Object */ +#define UA_NS0ID_ALARMGROUPTYPE 16405 /* ObjectType */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER 16406 /* Object */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTID 16407 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTTYPE 16408 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENODE 16409 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENAME 16410 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_TIME 16411 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RECEIVETIME 16412 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LOCALTIME 16413 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MESSAGE 16414 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SEVERITY 16415 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSID 16416 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSNAME 16417 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSID 16418 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSNAME 16419 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONNAME 16420 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_BRANCHID 16421 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RETAIN 16422 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE 16423 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_ID 16424 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NAME 16425 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NUMBER 16426 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 16427 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRANSITIONTIME 16428 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 16429 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRUESTATE 16430 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_FALSESTATE 16431 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY 16432 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY_SOURCETIMESTAMP 16433 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY 16434 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY_SOURCETIMESTAMP 16435 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT 16436 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT_SOURCETIMESTAMP 16437 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CLIENTUSERID 16438 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_DISABLE 16439 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLE 16440 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT 16441 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT_INPUTARGUMENTS 16442 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE 16443 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_ID 16444 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NAME 16445 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NUMBER 16446 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVEDISPLAYNAME 16447 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRANSITIONTIME 16448 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVETRANSITIONTIME 16449 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRUESTATE 16450 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_FALSESTATE 16451 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE 16452 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_ID 16453 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NAME 16454 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NUMBER 16455 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 16456 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRANSITIONTIME 16457 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 16458 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRUESTATE 16459 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_FALSESTATE 16460 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE 16461 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE_INPUTARGUMENTS 16462 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM 16463 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM_INPUTARGUMENTS 16464 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE 16465 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_ID 16466 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NAME 16467 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NUMBER 16468 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVEDISPLAYNAME 16469 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRANSITIONTIME 16470 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVETRANSITIONTIME 16471 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRUESTATE 16472 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_FALSESTATE 16473 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_INPUTNODE 16474 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE 16475 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_ID 16476 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NAME 16477 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NUMBER 16478 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 16479 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRANSITIONTIME 16480 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 16481 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRUESTATE 16482 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_FALSESTATE 16483 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE 16484 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_ID 16485 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NAME 16486 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NUMBER 16487 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16488 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRANSITIONTIME 16489 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16490 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRUESTATE 16491 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_FALSESTATE 16492 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE 16493 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_ID 16494 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NAME 16495 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NUMBER 16496 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVEDISPLAYNAME 16497 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRANSITIONTIME 16498 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVETRANSITIONTIME 16499 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRUESTATE 16500 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_FALSESTATE 16501 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE 16502 /* Object */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE 16503 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_ID 16504 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NAME 16505 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NUMBER 16506 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 16507 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION 16508 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_ID 16509 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NAME 16510 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NUMBER 16511 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 16512 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 16513 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVETIME 16514 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE 16515 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE 16516 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE 16517 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 16518 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDORSHELVED 16519 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MAXTIMESHELVED 16520 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLEENABLED 16521 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND 16522 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 16523 /* Variable */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16524 /* Object */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16525 /* Object */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16526 /* Object */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ONDELAY 16527 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OFFDELAY 16528 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUPFLAG 16529 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUP 16530 /* Object */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMTIME 16531 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMREPEATCOUNT 16532 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCE 16533 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS 16534 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP 16535 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONSUBCLASSID 16536 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_CONDITIONSUBCLASSNAME 16537 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE 16538 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_ID 16539 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_NAME 16540 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_NUMBER 16541 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16542 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16543 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16544 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16545 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16546 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE 16547 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_ID 16548 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_NAME 16549 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_NUMBER 16550 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16551 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_TRANSITIONTIME 16552 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16553 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_TRUESTATE 16554 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_FALSESTATE 16555 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_AUDIBLEENABLED 16556 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND 16557 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_INPUTARGUMENTS 16558 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_OUTPUTARGUMENTS 16559 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP 16560 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_INPUTARGUMENTS 16561 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_ONDELAY 16562 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_OFFDELAY 16563 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_FIRSTINGROUPFLAG 16564 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_FIRSTINGROUP 16565 /* Object */ +#define UA_NS0ID_LIMITALARMTYPE_ALARMGROUP_PLACEHOLDER 16566 /* Object */ +#define UA_NS0ID_LIMITALARMTYPE_REALARMTIME 16567 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_REALARMREPEATCOUNT 16568 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SILENCE 16569 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESS 16570 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_OUTPUTARGUMENTS 16571 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_BASEHIGHHIGHLIMIT 16572 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_BASEHIGHLIMIT 16573 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_BASELOWLIMIT 16574 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_BASELOWLOWLIMIT 16575 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSID 16576 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSNAME 16577 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE 16578 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_ID 16579 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NAME 16580 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NUMBER 16581 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16582 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16583 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16584 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16585 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16586 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE 16587 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_ID 16588 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_NAME 16589 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_NUMBER 16590 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16591 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRANSITIONTIME 16592 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16593 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRUESTATE 16594 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_FALSESTATE 16595 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLEENABLED 16596 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND 16597 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_ADDCONNECTION 16598 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_ADDCONNECTION_INPUTARGUMENTS 16599 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_ADDCONNECTION_OUTPUTARGUMENTS 16600 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE 16601 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ONDELAY 16602 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OFFDELAY 16603 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_FIRSTINGROUPFLAG 16604 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_FIRSTINGROUP 16605 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ALARMGROUP_PLACEHOLDER 16606 /* Object */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REALARMTIME 16607 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REALARMREPEATCOUNT 16608 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCE 16609 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESS 16610 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 16611 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASEHIGHHIGHLIMIT 16612 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASEHIGHLIMIT 16613 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASELOWLIMIT 16614 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASELOWLOWLIMIT 16615 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSID 16616 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSNAME 16617 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE 16618 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_ID 16619 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NAME 16620 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NUMBER 16621 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16622 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16623 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16624 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16625 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16626 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE 16627 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_ID 16628 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_NAME 16629 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_NUMBER 16630 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16631 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRANSITIONTIME 16632 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16633 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRUESTATE 16634 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_FALSESTATE 16635 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLEENABLED 16636 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND 16637 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 16638 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE 16639 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 16640 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 16641 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ONDELAY 16642 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OFFDELAY 16643 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_FIRSTINGROUPFLAG 16644 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_FIRSTINGROUP 16645 /* Object */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ALARMGROUP_PLACEHOLDER 16646 /* Object */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REALARMTIME 16647 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REALARMREPEATCOUNT 16648 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCE 16649 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESS 16650 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDDATASETFOLDER 16651 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASEHIGHHIGHLIMIT 16652 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASEHIGHLIMIT 16653 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASELOWLIMIT 16654 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASELOWLOWLIMIT 16655 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSID 16656 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSNAME 16657 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE 16658 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_ID 16659 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NAME 16660 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NUMBER 16661 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16662 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16663 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16664 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16665 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16666 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE 16667 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_ID 16668 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_NAME 16669 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_NUMBER 16670 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16671 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRANSITIONTIME 16672 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16673 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRUESTATE 16674 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_FALSESTATE 16675 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLEENABLED 16676 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND 16677 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 16678 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 16679 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER 16680 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 16681 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ONDELAY 16682 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OFFDELAY 16683 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_FIRSTINGROUPFLAG 16684 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_FIRSTINGROUP 16685 /* Object */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ALARMGROUP_PLACEHOLDER 16686 /* Object */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REALARMTIME 16687 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REALARMREPEATCOUNT 16688 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCE 16689 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESS 16690 /* Method */ +#define UA_NS0ID_ADDCONNECTIONMETHODTYPE 16691 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASEHIGHHIGHLIMIT 16692 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASEHIGHLIMIT 16693 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASELOWLIMIT 16694 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASELOWLOWLIMIT 16695 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSID 16696 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSNAME 16697 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE 16698 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_ID 16699 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NAME 16700 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NUMBER 16701 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16702 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16703 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16704 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16705 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16706 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE 16707 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_ID 16708 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_NAME 16709 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_NUMBER 16710 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16711 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRANSITIONTIME 16712 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16713 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRUESTATE 16714 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_FALSESTATE 16715 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLEENABLED 16716 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND 16717 /* Variable */ +#define UA_NS0ID_ADDCONNECTIONMETHODTYPE_INPUTARGUMENTS 16718 /* Variable */ +#define UA_NS0ID_ADDCONNECTIONMETHODTYPE_OUTPUTARGUMENTS 16719 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 16720 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 16721 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ONDELAY 16722 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OFFDELAY 16723 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_FIRSTINGROUPFLAG 16724 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_FIRSTINGROUP 16725 /* Object */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ALARMGROUP_PLACEHOLDER 16726 /* Object */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REALARMTIME 16727 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REALARMREPEATCOUNT 16728 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCE 16729 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESS 16730 /* Method */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 16731 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASEHIGHHIGHLIMIT 16732 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASEHIGHLIMIT 16733 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASELOWLIMIT 16734 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASELOWLOWLIMIT 16735 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSID 16736 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSNAME 16737 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE 16738 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_ID 16739 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NAME 16740 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NUMBER 16741 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16742 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16743 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16744 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16745 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16746 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE 16747 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_ID 16748 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NAME 16749 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NUMBER 16750 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16751 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRANSITIONTIME 16752 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16753 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRUESTATE 16754 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_FALSESTATE 16755 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLEENABLED 16756 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND 16757 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 16758 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETCLASSID 16759 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 16760 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 16761 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ONDELAY 16762 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OFFDELAY 16763 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUPFLAG 16764 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUP 16765 /* Object */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ALARMGROUP_PLACEHOLDER 16766 /* Object */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REALARMTIME 16767 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REALARMREPEATCOUNT 16768 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCE 16769 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS 16770 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 16771 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHHIGHLIMIT 16772 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHLIMIT 16773 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASELOWLIMIT 16774 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASELOWLOWLIMIT 16775 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASESETPOINTNODE 16776 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSID 16777 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSNAME 16778 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE 16779 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_ID 16780 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NAME 16781 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NUMBER 16782 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16783 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16784 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16785 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16786 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16787 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE 16788 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_ID 16789 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NAME 16790 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NUMBER 16791 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16792 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRANSITIONTIME 16793 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16794 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRUESTATE 16795 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_FALSESTATE 16796 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLEENABLED 16797 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND 16798 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 16799 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETCLASSID 16800 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 16801 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 16802 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ONDELAY 16803 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OFFDELAY 16804 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUPFLAG 16805 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUP 16806 /* Object */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ALARMGROUP_PLACEHOLDER 16807 /* Object */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REALARMTIME 16808 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REALARMREPEATCOUNT 16809 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCE 16810 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS 16811 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 16812 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHHIGHLIMIT 16813 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHLIMIT 16814 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASELOWLIMIT 16815 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASELOWLOWLIMIT 16816 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASESETPOINTNODE 16817 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSID 16818 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSNAME 16819 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE 16820 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_ID 16821 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NAME 16822 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NUMBER 16823 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16824 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16825 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16826 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16827 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16828 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE 16829 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_ID 16830 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NAME 16831 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NUMBER 16832 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16833 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRANSITIONTIME 16834 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16835 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRUESTATE 16836 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_FALSESTATE 16837 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLEENABLED 16838 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND 16839 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 16840 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETCLASSID 16841 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMSTEMPLATE 16842 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 16843 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ONDELAY 16844 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OFFDELAY 16845 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUPFLAG 16846 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUP 16847 /* Object */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ALARMGROUP_PLACEHOLDER 16848 /* Object */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REALARMTIME 16849 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REALARMREPEATCOUNT 16850 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCE 16851 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS 16852 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 16853 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHHIGHLIMIT 16854 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHLIMIT 16855 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLIMIT 16856 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLOWLIMIT 16857 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENGINEERINGUNITS 16858 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSID 16859 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSNAME 16860 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE 16861 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_ID 16862 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NAME 16863 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NUMBER 16864 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16865 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16866 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16867 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16868 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16869 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE 16870 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_ID 16871 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NAME 16872 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NUMBER 16873 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16874 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRANSITIONTIME 16875 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16876 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRUESTATE 16877 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_FALSESTATE 16878 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLEENABLED 16879 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND 16880 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTSTEMPLATE 16881 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 16882 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 16883 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER 16884 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ONDELAY 16885 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OFFDELAY 16886 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUPFLAG 16887 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUP 16888 /* Object */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ALARMGROUP_PLACEHOLDER 16889 /* Object */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REALARMTIME 16890 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REALARMREPEATCOUNT 16891 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCE 16892 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS 16893 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_INPUTARGUMENTS 16894 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHHIGHLIMIT 16895 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHLIMIT 16896 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLIMIT 16897 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLOWLIMIT 16898 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENGINEERINGUNITS 16899 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONSUBCLASSID 16900 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONSUBCLASSNAME 16901 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE 16902 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_ID 16903 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_NAME 16904 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_NUMBER 16905 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16906 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16907 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16908 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16909 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16910 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE 16911 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_ID 16912 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_NAME 16913 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_NUMBER 16914 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16915 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_TRANSITIONTIME 16916 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16917 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_TRUESTATE 16918 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_FALSESTATE 16919 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLEENABLED 16920 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND 16921 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_OUTPUTARGUMENTS 16922 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER 16923 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER_INPUTARGUMENTS 16924 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_DATASETCLASSID 16925 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_ONDELAY 16926 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_OFFDELAY 16927 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_FIRSTINGROUPFLAG 16928 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_FIRSTINGROUP 16929 /* Object */ +#define UA_NS0ID_DISCRETEALARMTYPE_ALARMGROUP_PLACEHOLDER 16930 /* Object */ +#define UA_NS0ID_DISCRETEALARMTYPE_REALARMTIME 16931 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_REALARMREPEATCOUNT 16932 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SILENCE 16933 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESS 16934 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMSTEMPLATE 16935 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONSUBCLASSID 16936 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONSUBCLASSNAME 16937 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE 16938 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_ID 16939 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_NAME 16940 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_NUMBER 16941 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16942 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16943 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16944 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16945 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16946 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE 16947 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_ID 16948 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_NAME 16949 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_NUMBER 16950 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16951 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_TRANSITIONTIME 16952 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16953 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_TRUESTATE 16954 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_FALSESTATE 16955 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLEENABLED 16956 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND 16957 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 16958 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 16959 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTSTEMPLATE 16960 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 16961 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ONDELAY 16962 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_OFFDELAY 16963 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_FIRSTINGROUPFLAG 16964 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_FIRSTINGROUP 16965 /* Object */ +#define UA_NS0ID_OFFNORMALALARMTYPE_ALARMGROUP_PLACEHOLDER 16966 /* Object */ +#define UA_NS0ID_OFFNORMALALARMTYPE_REALARMTIME 16967 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_REALARMREPEATCOUNT 16968 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCE 16969 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESS 16970 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 16971 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONSUBCLASSID 16972 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONSUBCLASSNAME 16973 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE 16974 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_ID 16975 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_NAME 16976 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_NUMBER 16977 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16978 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16979 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16980 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16981 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16982 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE 16983 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_ID 16984 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_NAME 16985 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_NUMBER 16986 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16987 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_TRANSITIONTIME 16988 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16989 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_TRUESTATE 16990 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_FALSESTATE 16991 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLEENABLED 16992 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND 16993 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER 16994 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER_INPUTARGUMENTS 16995 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER_OUTPUTARGUMENTS 16996 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER 16997 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ONDELAY 16998 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OFFDELAY 16999 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_FIRSTINGROUPFLAG 17000 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_FIRSTINGROUP 17001 /* Object */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ALARMGROUP_PLACEHOLDER 17002 /* Object */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REALARMTIME 17003 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REALARMREPEATCOUNT 17004 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCE 17005 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESS 17006 /* Method */ +#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER_INPUTARGUMENTS 17007 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONSUBCLASSID 17008 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_CONDITIONSUBCLASSNAME 17009 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE 17010 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_ID 17011 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_NAME 17012 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_NUMBER 17013 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 17014 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 17015 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 17016 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 17017 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 17018 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE 17019 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_ID 17020 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_NAME 17021 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_NUMBER 17022 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 17023 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_TRANSITIONTIME 17024 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 17025 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_TRUESTATE 17026 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_FALSESTATE 17027 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_AUDIBLEENABLED 17028 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND 17029 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDDATAITEMSTEMPLATEMETHODTYPE 17030 /* Method */ +#define UA_NS0ID_ADDPUBLISHEDDATAITEMSTEMPLATEMETHODTYPE_INPUTARGUMENTS 17031 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDDATAITEMSTEMPLATEMETHODTYPE_OUTPUTARGUMENTS 17032 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDEVENTSTEMPLATEMETHODTYPE 17033 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_ONDELAY 17034 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_OFFDELAY 17035 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_FIRSTINGROUPFLAG 17036 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_FIRSTINGROUP 17037 /* Object */ +#define UA_NS0ID_TRIPALARMTYPE_ALARMGROUP_PLACEHOLDER 17038 /* Object */ +#define UA_NS0ID_TRIPALARMTYPE_REALARMTIME 17039 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_REALARMREPEATCOUNT 17040 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SILENCE 17041 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESS 17042 /* Method */ +#define UA_NS0ID_ADDPUBLISHEDEVENTSTEMPLATEMETHODTYPE_INPUTARGUMENTS 17043 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONSUBCLASSID 17044 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONSUBCLASSNAME 17045 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE 17046 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_ID 17047 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_NAME 17048 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_NUMBER 17049 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 17050 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 17051 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 17052 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 17053 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 17054 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE 17055 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_ID 17056 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_NAME 17057 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_NUMBER 17058 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 17059 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_TRANSITIONTIME 17060 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 17061 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_TRUESTATE 17062 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_FALSESTATE 17063 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLEENABLED 17064 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND 17065 /* Variable */ +#define UA_NS0ID_ADDPUBLISHEDEVENTSTEMPLATEMETHODTYPE_OUTPUTARGUMENTS 17066 /* Variable */ +#define UA_NS0ID_ADDDATASETFOLDERMETHODTYPE 17067 /* Method */ +#define UA_NS0ID_ADDDATASETFOLDERMETHODTYPE_INPUTARGUMENTS 17068 /* Variable */ +#define UA_NS0ID_ADDDATASETFOLDERMETHODTYPE_OUTPUTARGUMENTS 17069 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ONDELAY 17070 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OFFDELAY 17071 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_FIRSTINGROUPFLAG 17072 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_FIRSTINGROUP 17073 /* Object */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ALARMGROUP_PLACEHOLDER 17074 /* Object */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REALARMTIME 17075 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REALARMREPEATCOUNT 17076 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCE 17077 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESS 17078 /* Method */ +#define UA_NS0ID_REMOVEDATASETFOLDERMETHODTYPE 17079 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE 17080 /* ObjectType */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_EVENTID 17081 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_EVENTTYPE 17082 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SOURCENODE 17083 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SOURCENAME 17084 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_TIME 17085 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_RECEIVETIME 17086 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LOCALTIME 17087 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_MESSAGE 17088 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SEVERITY 17089 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONCLASSID 17090 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONCLASSNAME 17091 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONSUBCLASSID 17092 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONSUBCLASSNAME 17093 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONNAME 17094 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_BRANCHID 17095 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_RETAIN 17096 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE 17097 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_ID 17098 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_NAME 17099 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_NUMBER 17100 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 17101 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 17102 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 17103 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_TRUESTATE 17104 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_FALSESTATE 17105 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_QUALITY 17106 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_QUALITY_SOURCETIMESTAMP 17107 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LASTSEVERITY 17108 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 17109 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_COMMENT 17110 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_COMMENT_SOURCETIMESTAMP 17111 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CLIENTUSERID 17112 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_DISABLE 17113 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLE 17114 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ADDCOMMENT 17115 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 17116 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH 17117 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 17118 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH2 17119 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 17120 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE 17121 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_ID 17122 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_NAME 17123 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_NUMBER 17124 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 17125 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_TRANSITIONTIME 17126 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 17127 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_TRUESTATE 17128 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_FALSESTATE 17129 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE 17130 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_ID 17131 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_NAME 17132 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_NUMBER 17133 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 17134 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 17135 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 17136 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_TRUESTATE 17137 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_FALSESTATE 17138 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKNOWLEDGE 17139 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 17140 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRM 17141 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRM_INPUTARGUMENTS 17142 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE 17143 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_ID 17144 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_NAME 17145 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_NUMBER 17146 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 17147 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_TRANSITIONTIME 17148 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 17149 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_TRUESTATE 17150 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_FALSESTATE 17151 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_INPUTNODE 17152 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE 17153 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_ID 17154 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_NAME 17155 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_NUMBER 17156 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 17157 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 17158 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 17159 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 17160 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 17161 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE 17162 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_ID 17163 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_NAME 17164 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_NUMBER 17165 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 17166 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 17167 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 17168 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 17169 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 17170 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE 17171 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_ID 17172 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_NAME 17173 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_NUMBER 17174 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 17175 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_TRANSITIONTIME 17176 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 17177 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_TRUESTATE 17178 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_FALSESTATE 17179 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE 17180 /* Object */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE 17181 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 17182 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 17183 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 17184 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 17185 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION 17186 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 17187 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 17188 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 17189 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 17190 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 17191 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVETIME 17192 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVE 17193 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 17194 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 17195 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 17196 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDORSHELVED 17197 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_MAXTIMESHELVED 17198 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLEENABLED 17199 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND 17200 /* Variable */ +#define UA_NS0ID_REMOVEDATASETFOLDERMETHODTYPE_INPUTARGUMENTS 17201 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE 17202 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTSETTINGS 17203 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_MAXNETWORKMESSAGESIZE 17204 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ONDELAY 17205 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_OFFDELAY 17206 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_FIRSTINGROUPFLAG 17207 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_FIRSTINGROUP 17208 /* Object */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_ALARMGROUP_PLACEHOLDER 17209 /* Object */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_REALARMTIME 17210 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_REALARMREPEATCOUNT 17211 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCE 17212 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESS 17213 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_WRITERGROUPID 17214 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_TARGETVALUENODE 17215 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_EXPECTEDTIME 17216 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_TOLERANCE 17217 /* Variable */ +#define UA_NS0ID_SAFETYCONDITIONCLASSTYPE 17218 /* ObjectType */ +#define UA_NS0ID_HIGHLYMANAGEDALARMCONDITIONCLASSTYPE 17219 /* ObjectType */ +#define UA_NS0ID_TRAININGCONDITIONCLASSTYPE 17220 /* ObjectType */ +#define UA_NS0ID_TESTINGCONDITIONCLASSTYPE 17221 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONEVENTID 17222 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONEVENTID 17223 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONEVENTID 17224 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE 17225 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_EVENTID 17226 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_EVENTTYPE 17227 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SOURCENODE 17228 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SOURCENAME 17229 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_TIME 17230 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_RECEIVETIME 17231 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_LOCALTIME 17232 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_MESSAGE 17233 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SEVERITY 17234 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_ACTIONTIMESTAMP 17235 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_STATUS 17236 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SERVERID 17237 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CLIENTAUDITENTRYID 17238 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CLIENTUSERID 17239 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_METHODID 17240 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_INPUTARGUMENTS 17241 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE 17242 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_EVENTID 17243 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_EVENTTYPE 17244 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SOURCENODE 17245 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SOURCENAME 17246 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_TIME 17247 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_RECEIVETIME 17248 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_LOCALTIME 17249 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_MESSAGE 17250 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SEVERITY 17251 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_ACTIONTIMESTAMP 17252 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_STATUS 17253 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SERVERID 17254 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CLIENTAUDITENTRYID 17255 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CLIENTUSERID 17256 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_METHODID 17257 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_INPUTARGUMENTS 17258 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE 17259 /* ObjectType */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_EVENTID 17260 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_EVENTTYPE 17261 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SOURCENODE 17262 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SOURCENAME 17263 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_TIME 17264 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_RECEIVETIME 17265 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_LOCALTIME 17266 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_MESSAGE 17267 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SEVERITY 17268 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_ACTIONTIMESTAMP 17269 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_STATUS 17270 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SERVERID 17271 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CLIENTAUDITENTRYID 17272 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CLIENTUSERID 17273 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_METHODID 17274 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_INPUTARGUMENTS 17275 /* Variable */ +#define UA_NS0ID_HASEFFECTDISABLE 17276 /* ReferenceType */ +#define UA_NS0ID_ALARMRATEVARIABLETYPE 17277 /* VariableType */ +#define UA_NS0ID_ALARMRATEVARIABLETYPE_RATE 17278 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE 17279 /* ObjectType */ +#define UA_NS0ID_ALARMMETRICSTYPE_ALARMCOUNT 17280 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMACTIVESTATE 17281 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMUNACK 17282 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMREALARMCOUNT 17283 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_CURRENTALARMRATE 17284 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_CURRENTALARMRATE_RATE 17285 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMALARMRATE 17286 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMALARMRATE_RATE 17287 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_AVERAGEALARMRATE 17288 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_AVERAGEALARMRATE_RATE 17289 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_TRANSPORTSETTINGS 17290 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_MESSAGESETTINGS 17291 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI 17292 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_ADDDATASETWRITER 17293 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_ADDDATASETWRITER_INPUTARGUMENTS 17294 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_RESTRICTTOLIST 17295 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SETSECURITYKEYS 17296 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SETSECURITYKEYS_INPUTARGUMENTS 17297 /* Variable */ +#define UA_NS0ID_SETSECURITYKEYSMETHODTYPE 17298 /* Method */ +#define UA_NS0ID_SETSECURITYKEYSMETHODTYPE_INPUTARGUMENTS 17299 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17300 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_ADDDATASETWRITER_OUTPUTARGUMENTS 17301 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_MAXNETWORKMESSAGESIZE 17302 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17303 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17304 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17305 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI 17306 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_TRANSPORTSETTINGS 17307 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_MESSAGESETTINGS 17308 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI_RESTRICTTOLIST 17309 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER 17310 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_SECURITYMODE 17311 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_SECURITYGROUPID 17312 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_SECURITYKEYSERVICES 17313 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS 17314 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS_STATE 17315 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS_ENABLE 17316 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS_DISABLE 17317 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_PUBLISHINGINTERVAL 17318 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_KEEPALIVETIME 17319 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17320 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_PRIORITY 17321 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_LOCALEIDS 17322 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_REMOVEDATASETWRITER 17323 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_REMOVEDATASETWRITER_INPUTARGUMENTS 17324 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER 17325 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_SECURITYMODE 17326 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_SECURITYGROUPID 17327 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_SECURITYKEYSERVICES 17328 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS 17329 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS_STATE 17330 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS_ENABLE 17331 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS_DISABLE 17332 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_REMOVEDATASETREADER 17333 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_REMOVEDATASETREADER_INPUTARGUMENTS 17334 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17335 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17336 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17337 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17338 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17339 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17340 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17341 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17342 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17343 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17344 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17345 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17346 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17347 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17348 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17349 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17350 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17351 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 17352 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 17353 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 17354 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_ADDDATASETREADER 17355 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP 17356 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_INPUTARGUMENTS 17357 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_OUTPUTARGUMENTS 17358 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP 17359 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_INPUTARGUMENTS 17360 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_OUTPUTARGUMENTS 17361 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP 17362 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP_INPUTARGUMENTS 17363 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SETSECURITYKEYS 17364 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SETSECURITYKEYS_INPUTARGUMENTS 17365 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION 17366 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION_INPUTARGUMENTS 17367 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION_OUTPUTARGUMENTS 17368 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION 17369 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION_INPUTARGUMENTS 17370 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS 17371 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS 17372 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 17373 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 17374 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS 17375 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 17376 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 17377 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE 17378 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 17379 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 17380 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE 17381 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 17382 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 17383 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET 17384 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 17385 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_CREATETARGETVARIABLES 17386 /* Method */ +#define UA_NS0ID_DATASETREADERTYPE_CREATETARGETVARIABLES_INPUTARGUMENTS 17387 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_CREATETARGETVARIABLES_OUTPUTARGUMENTS 17388 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_CREATEDATASETMIRROR 17389 /* Method */ +#define UA_NS0ID_DATASETREADERTYPE_CREATEDATASETMIRROR_INPUTARGUMENTS 17390 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_CREATEDATASETMIRROR_OUTPUTARGUMENTS 17391 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPECREATETARGETVARIABLESMETHODTYPE 17392 /* Method */ +#define UA_NS0ID_DATASETREADERTYPECREATETARGETVARIABLESMETHODTYPE_INPUTARGUMENTS 17393 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPECREATETARGETVARIABLESMETHODTYPE_OUTPUTARGUMENTS 17394 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPECREATEDATASETMIRRORMETHODTYPE 17395 /* Method */ +#define UA_NS0ID_DATASETREADERTYPECREATEDATASETMIRRORMETHODTYPE_INPUTARGUMENTS 17396 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPECREATEDATASETMIRRORMETHODTYPE_OUTPUTARGUMENTS 17397 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDDATASETFOLDER 17398 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_ADDDATASETREADER_INPUTARGUMENTS 17399 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_ADDDATASETREADER_OUTPUTARGUMENTS 17400 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 17401 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 17402 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER 17403 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 17404 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS 17405 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS_STATE 17406 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS_ENABLE 17407 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS_DISABLE 17408 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS 17409 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_DIAGNOSTICSLEVEL 17410 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION 17411 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 17412 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 17413 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 17414 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 17415 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR 17416 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_ACTIVE 17417 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 17418 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 17419 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 17420 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_RESET 17421 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_SUBERROR 17422 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS 17423 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR 17424 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 17425 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 17426 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP 17427 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP_INPUTARGUMENTS 17428 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 17429 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 17430 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 17431 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 17432 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 17433 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17434 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17435 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17436 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17437 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17438 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17439 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17440 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17441 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17442 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17443 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17444 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17445 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17446 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17447 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17448 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17449 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17450 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17451 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17452 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17453 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17454 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17455 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP_OUTPUTARGUMENTS 17456 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES 17457 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 17458 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 17459 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 17460 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 17461 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 17462 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 17463 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 17464 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP 17465 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 17466 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE 17467 /* DataType */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 17468 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE 17469 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 17470 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 17471 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTXML 17472 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE 17473 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 17474 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 17475 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 17476 /* Object */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_DATASETOFFSET 17477 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_CONNECTIONPROPERTIES 17478 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUPPORTEDTRANSPORTPROFILES 17479 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_CONNECTIONPROPERTIES 17480 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUPPORTEDTRANSPORTPROFILES 17481 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17482 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17483 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17484 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_CONNECTIONPROPERTIES 17485 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_GROUPPROPERTIES 17486 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_GROUPPROPERTIES 17487 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE_GROUPPROPERTIES 17488 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_GROUPPROPERTIES 17489 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17490 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_GROUPPROPERTIES 17491 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETREADERPROPERTIES 17492 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERPROPERTIES 17493 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DATASETREADERPROPERTIES 17494 /* Variable */ +#define UA_NS0ID_CREATECREDENTIALMETHODTYPE_OUTPUTARGUMENTS 17495 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE 17496 /* ObjectType */ +#define UA_NS0ID_ANALOGUNITTYPE 17497 /* VariableType */ +#define UA_NS0ID_ANALOGUNITTYPE_DEFINITION 17498 /* Variable */ +#define UA_NS0ID_ANALOGUNITTYPE_VALUEPRECISION 17499 /* Variable */ +#define UA_NS0ID_ANALOGUNITTYPE_INSTRUMENTRANGE 17500 /* Variable */ +#define UA_NS0ID_ANALOGUNITTYPE_EURANGE 17501 /* Variable */ +#define UA_NS0ID_ANALOGUNITTYPE_ENGINEERINGUNITS 17502 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONS 17503 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17504 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17505 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONS 17506 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP_INPUTARGUMENTS 17507 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP_OUTPUTARGUMENTS 17508 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17509 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17510 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER 17511 /* Object */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_RESOURCEURI 17512 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_PROFILEURI 17513 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_ENDPOINTURLS 17514 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_SERVICESTATUS 17515 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY 17516 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_INPUTARGUMENTS 17517 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_OUTPUTARGUMENTS 17518 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL 17519 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL_INPUTARGUMENTS 17520 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_DELETECREDENTIAL 17521 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_CREATECREDENTIAL 17522 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_CREATECREDENTIAL_INPUTARGUMENTS 17523 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_CREATECREDENTIAL_OUTPUTARGUMENTS 17524 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY 17525 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_INPUTARGUMENTS 17526 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_OUTPUTARGUMENTS 17527 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_CREATECREDENTIAL 17528 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_CREATECREDENTIAL_INPUTARGUMENTS 17529 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_CREATECREDENTIAL_OUTPUTARGUMENTS 17530 /* Variable */ +#define UA_NS0ID_GETENCRYPTINGKEYMETHODTYPE 17531 /* Method */ +#define UA_NS0ID_GETENCRYPTINGKEYMETHODTYPE_INPUTARGUMENTS 17532 /* Variable */ +#define UA_NS0ID_GETENCRYPTINGKEYMETHODTYPE_OUTPUTARGUMENTS 17533 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_GETENCRYPTINGKEY 17534 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_GETENCRYPTINGKEY_INPUTARGUMENTS 17535 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_GETENCRYPTINGKEY_OUTPUTARGUMENTS 17536 /* Variable */ +#define UA_NS0ID_ADDITIONALPARAMETERSTYPE_ENCODING_DEFAULTBINARY 17537 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDITIONALPARAMETERSTYPE 17538 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDITIONALPARAMETERSTYPE_DATATYPEVERSION 17539 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDITIONALPARAMETERSTYPE_DICTIONARYFRAGMENT 17540 /* Variable */ +#define UA_NS0ID_ADDITIONALPARAMETERSTYPE_ENCODING_DEFAULTXML 17541 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDITIONALPARAMETERSTYPE 17542 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDITIONALPARAMETERSTYPE_DATATYPEVERSION 17543 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDITIONALPARAMETERSTYPE_DICTIONARYFRAGMENT 17544 /* Variable */ +#define UA_NS0ID_RSAENCRYPTEDSECRET 17545 /* DataType */ +#define UA_NS0ID_ECCENCRYPTEDSECRET 17546 /* DataType */ +#define UA_NS0ID_ADDITIONALPARAMETERSTYPE_ENCODING_DEFAULTJSON 17547 /* Object */ +#define UA_NS0ID_EPHEMERALKEYTYPE 17548 /* DataType */ +#define UA_NS0ID_EPHEMERALKEYTYPE_ENCODING_DEFAULTBINARY 17549 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EPHEMERALKEYTYPE 17550 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EPHEMERALKEYTYPE_DATATYPEVERSION 17551 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_EPHEMERALKEYTYPE_DICTIONARYFRAGMENT 17552 /* Variable */ +#define UA_NS0ID_EPHEMERALKEYTYPE_ENCODING_DEFAULTXML 17553 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EPHEMERALKEYTYPE 17554 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EPHEMERALKEYTYPE_DATATYPEVERSION 17555 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_EPHEMERALKEYTYPE_DICTIONARYFRAGMENT 17556 /* Variable */ +#define UA_NS0ID_EPHEMERALKEYTYPE_ENCODING_DEFAULTJSON 17557 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_HEADERLAYOUTURI 17558 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_HEADERLAYOUTURI 17559 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_KEYFRAMECOUNT 17560 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPEADDWRITERGROUPMETHODTYPE 17561 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_HEADERLAYOUTURI 17562 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_KEYFRAMECOUNT 17563 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_HEADERLAYOUTURI 17564 /* Variable */ +#define UA_NS0ID_BASEANALOGTYPE_DEFINITION 17565 /* Variable */ +#define UA_NS0ID_BASEANALOGTYPE_VALUEPRECISION 17566 /* Variable */ +#define UA_NS0ID_BASEANALOGTYPE_INSTRUMENTRANGE 17567 /* Variable */ +#define UA_NS0ID_BASEANALOGTYPE_EURANGE 17568 /* Variable */ +#define UA_NS0ID_BASEANALOGTYPE_ENGINEERINGUNITS 17569 /* Variable */ +#define UA_NS0ID_ANALOGUNITRANGETYPE 17570 /* VariableType */ +#define UA_NS0ID_ANALOGUNITRANGETYPE_DEFINITION 17571 /* Variable */ +#define UA_NS0ID_ANALOGUNITRANGETYPE_VALUEPRECISION 17572 /* Variable */ +#define UA_NS0ID_ANALOGUNITRANGETYPE_INSTRUMENTRANGE 17573 /* Variable */ +#define UA_NS0ID_ANALOGUNITRANGETYPE_EURANGE 17574 /* Variable */ +#define UA_NS0ID_ANALOGUNITRANGETYPE_ENGINEERINGUNITS 17575 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONS 17576 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17577 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17578 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE_SELECTIONS 17579 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17580 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17581 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE_SELECTIONS 17582 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17583 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE_RESTRICTTOLIST 17584 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE_SELECTIONS 17585 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17586 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE_RESTRICTTOLIST 17587 /* Variable */ +#define UA_NS0ID_INDEX 17588 /* DataType */ +#define UA_NS0ID_DICTIONARYENTRYTYPE 17589 /* ObjectType */ +#define UA_NS0ID_DICTIONARYENTRYTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17590 /* Object */ +#define UA_NS0ID_DICTIONARYFOLDERTYPE 17591 /* ObjectType */ +#define UA_NS0ID_DICTIONARYFOLDERTYPE_DICTIONARYFOLDERNAME_PLACEHOLDER 17592 /* Object */ +#define UA_NS0ID_DICTIONARYFOLDERTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17593 /* Object */ +#define UA_NS0ID_DICTIONARIES 17594 /* Object */ +#define UA_NS0ID_DICTIONARIES_DICTIONARYFOLDERNAME_PLACEHOLDER 17595 /* Object */ +#define UA_NS0ID_DICTIONARIES_DICTIONARYENTRYNAME_PLACEHOLDER 17596 /* Object */ +#define UA_NS0ID_HASDICTIONARYENTRY 17597 /* ReferenceType */ +#define UA_NS0ID_IRDIDICTIONARYENTRYTYPE 17598 /* ObjectType */ +#define UA_NS0ID_IRDIDICTIONARYENTRYTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17599 /* Object */ +#define UA_NS0ID_URIDICTIONARYENTRYTYPE 17600 /* ObjectType */ +#define UA_NS0ID_URIDICTIONARYENTRYTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17601 /* Object */ +#define UA_NS0ID_BASEINTERFACETYPE 17602 /* ObjectType */ +#define UA_NS0ID_HASINTERFACE 17603 /* ReferenceType */ +#define UA_NS0ID_HASADDIN 17604 /* ReferenceType */ +#define UA_NS0ID_DEFAULTINSTANCEBROWSENAME 17605 /* Variable */ +#define UA_NS0ID_GENERICATTRIBUTEVALUE 17606 /* DataType */ +#define UA_NS0ID_GENERICATTRIBUTES 17607 /* DataType */ +#define UA_NS0ID_GENERICATTRIBUTEVALUE_ENCODING_DEFAULTXML 17608 /* Object */ +#define UA_NS0ID_GENERICATTRIBUTES_ENCODING_DEFAULTXML 17609 /* Object */ +#define UA_NS0ID_GENERICATTRIBUTEVALUE_ENCODING_DEFAULTBINARY 17610 /* Object */ +#define UA_NS0ID_GENERICATTRIBUTES_ENCODING_DEFAULTBINARY 17611 /* Object */ +#define UA_NS0ID_SERVERTYPE_LOCALTIME 17612 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPEADDWRITERGROUPMETHODTYPE_INPUTARGUMENTS 17613 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPEADDWRITERGROUPMETHODTYPE_OUTPUTARGUMENTS 17614 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_STATUSCODEID 17615 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_STATUSCODEID 17616 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_STATUSCODEID 17617 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_STATUSCODEID 17618 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_STATUSCODEID 17619 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_STATUSCODEID 17620 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_STATUSCODEID 17621 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_STATUSCODEID 17622 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_STATUSCODEID 17623 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_STATUSCODEID 17624 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_STATUSCODEID 17625 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_STATUSCODEID 17626 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_STATUSCODEID 17627 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_STATUSCODEID 17628 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_STATUSCODEID 17629 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONADDREADERGROUPGROUPMETHODTYPE 17630 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONADDREADERGROUPGROUPMETHODTYPE_INPUTARGUMENTS 17631 /* Variable */ +#define UA_NS0ID_SELECTIONLISTTYPE_SELECTIONS 17632 /* Variable */ +#define UA_NS0ID_SELECTIONLISTTYPE_SELECTIONDESCRIPTIONS 17633 /* Variable */ +#define UA_NS0ID_SERVER_LOCALTIME 17634 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_AVAILABLESTATES 17635 /* Variable */ +#define UA_NS0ID_FINITESTATEMACHINETYPE_AVAILABLETRANSITIONS 17636 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_AVAILABLESTATES 17637 /* Variable */ +#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_AVAILABLETRANSITIONS 17638 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_AVAILABLESTATES 17639 /* Variable */ +#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_AVAILABLETRANSITIONS 17640 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE 17641 /* ObjectType */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_EVENTID 17642 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_EVENTTYPE 17643 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SOURCENODE 17644 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SOURCENAME 17645 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_TIME 17646 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_RECEIVETIME 17647 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_LOCALTIME 17648 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_MESSAGE 17649 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SEVERITY 17650 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_ACTIONTIMESTAMP 17651 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_STATUS 17652 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SERVERID 17653 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 17654 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CLIENTUSERID 17655 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_METHODID 17656 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_INPUTARGUMENTS 17657 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_AVAILABLESTATES 17658 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17659 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLESTATES 17660 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLETRANSITIONS 17661 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_AVAILABLESTATES 17662 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_AVAILABLETRANSITIONS 17663 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17664 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17665 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_AVAILABLESTATES 17666 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_AVAILABLETRANSITIONS 17667 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17668 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17669 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_AVAILABLESTATES 17670 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17671 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17672 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17673 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17674 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17675 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17676 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17677 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_AVAILABLESTATES 17678 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17679 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17680 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17681 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17682 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17683 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_AVAILABLESTATES 17684 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17685 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17686 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17687 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17688 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17689 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_AVAILABLESTATES 17690 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17691 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17692 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17693 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17694 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17695 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17696 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17697 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17698 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17699 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17700 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17701 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17702 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17703 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_AVAILABLESTATES 17704 /* Variable */ +#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_AVAILABLETRANSITIONS 17705 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONS 17706 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 17707 /* Variable */ +#define UA_NS0ID_INTERFACETYPES 17708 /* Object */ +#define UA_NS0ID_RATIONALNUMBERTYPE 17709 /* VariableType */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI_SELECTIONS 17710 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 17711 /* Variable */ +#define UA_NS0ID_RATIONALNUMBERTYPE_NUMERATOR 17712 /* Variable */ +#define UA_NS0ID_RATIONALNUMBERTYPE_DENOMINATOR 17713 /* Variable */ +#define UA_NS0ID_VECTORTYPE 17714 /* VariableType */ +#define UA_NS0ID_VECTORTYPE_VECTORUNIT 17715 /* Variable */ +#define UA_NS0ID_THREEDVECTORTYPE 17716 /* VariableType */ +#define UA_NS0ID_THREEDVECTORTYPE_VECTORUNIT 17717 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT 17718 /* Method */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 17719 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONADDREADERGROUPGROUPMETHODTYPE_OUTPUTARGUMENTS 17720 /* Variable */ +#define UA_NS0ID_CONNECTIONTRANSPORTTYPE 17721 /* ObjectType */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT 17722 /* Method */ +#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 17723 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPE_MAXNETWORKMESSAGESIZE 17724 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE 17725 /* ObjectType */ +#define UA_NS0ID_WRITERGROUPTYPE_SECURITYMODE 17726 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_SECURITYGROUPID 17727 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_SECURITYKEYSERVICES 17728 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_MAXNETWORKMESSAGESIZE 17729 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_STATUS 17730 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_STATUS_STATE 17731 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICES 17732 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_STATUS_ENABLE 17734 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_STATUS_DISABLE 17735 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_WRITERGROUPID 17736 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL 17737 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_KEEPALIVETIME 17738 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_PRIORITY 17739 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_LOCALEIDS 17740 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_TRANSPORTSETTINGS 17741 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_MESSAGESETTINGS 17742 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER 17743 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 17744 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 17745 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 17746 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 17747 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 17748 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 17749 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 17750 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 17751 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 17752 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 17753 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 17754 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 17755 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 17756 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 17757 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 17758 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 17759 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 17760 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 17761 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 17762 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 17763 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 17764 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 17765 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 17766 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 17767 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 17768 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 17769 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 17770 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 17771 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 17772 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 17773 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 17774 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 17775 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17776 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17777 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17778 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17779 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17780 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17781 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17782 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17783 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17784 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17785 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17786 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17787 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17788 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17789 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17790 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17791 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17792 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17793 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17794 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17795 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17796 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17797 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 17798 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 17799 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 17800 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 17801 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 17802 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 17803 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 17804 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 17805 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 17806 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 17807 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 17808 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 17809 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 17810 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 17811 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS 17812 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 17813 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION 17814 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 17815 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 17816 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 17817 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 17818 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR 17819 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 17820 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 17821 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 17822 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 17823 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_RESET 17824 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_SUBERROR 17825 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS 17826 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 17827 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 17828 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 17829 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 17830 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 17831 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 17832 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 17833 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 17834 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17835 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17836 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17837 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17838 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17839 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17840 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17841 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17842 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17843 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17844 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17845 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17846 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17847 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17848 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17849 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17850 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17851 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE 17852 /* ObjectType */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17853 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17854 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17855 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17856 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17857 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES 17858 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES 17859 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE_SERVICECERTIFICATE 17860 /* Variable */ +#define UA_NS0ID_DECIMALDATATYPE 17861 /* DataType */ +#define UA_NS0ID_DECIMALDATATYPE_ENCODING_DEFAULTXML 17862 /* Object */ +#define UA_NS0ID_DECIMALDATATYPE_ENCODING_DEFAULTBINARY 17863 /* Object */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_ACTIVE 17864 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND_LISTID 17865 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND_AGENCYID 17866 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND_VERSIONID 17867 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_UNSUPPRESS 17868 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_REMOVEFROMSERVICE 17869 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_PLACEINSERVICE 17870 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_CLASSIFICATION 17871 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_DIAGNOSTICSLEVEL 17872 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_TIMEFIRSTCHANGE 17873 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS 17874 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS 17875 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE 17876 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE 17877 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_ACTIVE 17878 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND_LISTID 17879 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND_AGENCYID 17880 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND_VERSIONID 17881 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_UNSUPPRESS 17882 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_REMOVEFROMSERVICE 17883 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_PLACEINSERVICE 17884 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_CLASSIFICATION 17885 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_LISTID 17886 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_AGENCYID 17887 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_VERSIONID 17888 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_UNSUPPRESS 17889 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE 17890 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_PLACEINSERVICE 17891 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_DIAGNOSTICSLEVEL 17892 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_LISTID 17893 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_AGENCYID 17894 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_VERSIONID 17895 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_UNSUPPRESS 17896 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE 17897 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_PLACEINSERVICE 17898 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_TIMEFIRSTCHANGE 17899 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS 17900 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_ACTIVE 17901 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_CLASSIFICATION 17902 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_DIAGNOSTICSLEVEL 17903 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE 17904 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_PLACEINSERVICE 17905 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_TIMEFIRSTCHANGE 17906 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_LISTID 17907 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_AGENCYID 17908 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_VERSIONID 17909 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_UNSUPPRESS 17910 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE 17911 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_PLACEINSERVICE 17912 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 17913 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_LISTID 17914 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_AGENCYID 17915 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_VERSIONID 17916 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS 17917 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE 17918 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE 17919 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 17920 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_LISTID 17921 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_AGENCYID 17922 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_VERSIONID 17923 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS 17924 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE 17925 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE 17926 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 17927 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_LISTID 17928 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_AGENCYID 17929 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_VERSIONID 17930 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS 17931 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE 17932 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE 17933 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 17934 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_LISTID 17935 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_AGENCYID 17936 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_VERSIONID 17937 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS 17938 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE 17939 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE 17940 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 17941 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND_LISTID 17942 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND_AGENCYID 17943 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND_VERSIONID 17944 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_UNSUPPRESS 17945 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_REMOVEFROMSERVICE 17946 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_PLACEINSERVICE 17947 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 17948 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND_LISTID 17949 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND_AGENCYID 17950 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND_VERSIONID 17951 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_UNSUPPRESS 17952 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_REMOVEFROMSERVICE 17953 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_PLACEINSERVICE 17954 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 17955 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND_LISTID 17956 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND_AGENCYID 17957 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND_VERSIONID 17958 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_UNSUPPRESS 17959 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REMOVEFROMSERVICE 17960 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_PLACEINSERVICE 17961 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 17962 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND_LISTID 17963 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND_AGENCYID 17964 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND_VERSIONID 17965 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_UNSUPPRESS 17966 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_REMOVEFROMSERVICE 17967 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_PLACEINSERVICE 17968 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER 17969 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND_LISTID 17970 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND_AGENCYID 17971 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND_VERSIONID 17972 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_UNSUPPRESS 17973 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REMOVEFROMSERVICE 17974 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_PLACEINSERVICE 17975 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER_INPUTARGUMENTS 17976 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND_LISTID 17977 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND_AGENCYID 17978 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND_VERSIONID 17979 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_UNSUPPRESS 17980 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_REMOVEFROMSERVICE 17981 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_PLACEINSERVICE 17982 /* Method */ +#define UA_NS0ID_HASEFFECTENABLE 17983 /* ReferenceType */ +#define UA_NS0ID_HASEFFECTSUPPRESSED 17984 /* ReferenceType */ +#define UA_NS0ID_HASEFFECTUNSUPPRESSED 17985 /* ReferenceType */ +#define UA_NS0ID_AUDIOVARIABLETYPE 17986 /* VariableType */ +#define UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER_OUTPUTARGUMENTS 17987 /* Variable */ +#define UA_NS0ID_AUDIOVARIABLETYPE_LISTID 17988 /* Variable */ +#define UA_NS0ID_AUDIOVARIABLETYPE_AGENCYID 17989 /* Variable */ +#define UA_NS0ID_AUDIOVARIABLETYPE_VERSIONID 17990 /* Variable */ +#define UA_NS0ID_ALARMMETRICSTYPE_STARTTIME 17991 /* Variable */ +#define UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER 17992 /* Method */ +#define UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER_INPUTARGUMENTS 17993 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPEADDWRITERMETHODTYPE 17994 /* Method */ +#define UA_NS0ID_PUBSUBGROUPTYPEADDWRITERMETHODTYPE_INPUTARGUMENTS 17995 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPEADDWRITERMETHODTYPE_OUTPUTARGUMENTS 17996 /* Variable */ +#define UA_NS0ID_WRITERGROUPTRANSPORTTYPE 17997 /* ObjectType */ +#define UA_NS0ID_WRITERGROUPMESSAGETYPE 17998 /* ObjectType */ +#define UA_NS0ID_READERGROUPTYPE 17999 /* ObjectType */ +#define UA_NS0ID_READERGROUPTYPE_SECURITYMODE 18000 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE 18001 /* ObjectType */ +#define UA_NS0ID_READERGROUPTYPE_SECURITYGROUPID 18002 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_SECURITYKEYSERVICES 18003 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_ENDPOINTURLS 18004 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_SERVICESTATUS 18005 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_UPDATECREDENTIAL 18006 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_UPDATECREDENTIAL_INPUTARGUMENTS 18007 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_DELETECREDENTIAL 18008 /* Method */ +#define UA_NS0ID_KEYCREDENTIALUPDATEMETHODTYPE 18009 /* Method */ +#define UA_NS0ID_KEYCREDENTIALUPDATEMETHODTYPE_INPUTARGUMENTS 18010 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE 18011 /* ObjectType */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_EVENTID 18012 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_EVENTTYPE 18013 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SOURCENODE 18014 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SOURCENAME 18015 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_TIME 18016 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_RECEIVETIME 18017 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_LOCALTIME 18018 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_MESSAGE 18019 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SEVERITY 18020 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_ACTIONTIMESTAMP 18021 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_STATUS 18022 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SERVERID 18023 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CLIENTAUDITENTRYID 18024 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CLIENTUSERID 18025 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_METHODID 18026 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_INPUTARGUMENTS 18027 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_RESOURCEURI 18028 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE 18029 /* ObjectType */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_EVENTID 18030 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_EVENTTYPE 18031 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SOURCENODE 18032 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SOURCENAME 18033 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_TIME 18034 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_RECEIVETIME 18035 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_LOCALTIME 18036 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_MESSAGE 18037 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SEVERITY 18038 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_ACTIONTIMESTAMP 18039 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_STATUS 18040 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SERVERID 18041 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 18042 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CLIENTUSERID 18043 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_METHODID 18044 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_INPUTARGUMENTS 18045 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_RESOURCEURI 18046 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE 18047 /* ObjectType */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_EVENTID 18048 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_EVENTTYPE 18049 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SOURCENODE 18050 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SOURCENAME 18051 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_TIME 18052 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_RECEIVETIME 18053 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_LOCALTIME 18054 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_MESSAGE 18055 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SEVERITY 18056 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_ACTIONTIMESTAMP 18057 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_STATUS 18058 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SERVERID 18059 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 18060 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CLIENTUSERID 18061 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_METHODID 18062 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_INPUTARGUMENTS 18063 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_RESOURCEURI 18064 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_MAXNETWORKMESSAGESIZE 18065 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_STATUS 18067 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_STATUS_STATE 18068 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_RESOURCEURI 18069 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE_SERVICEURI 18072 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE_ISSUERENDPOINTURL 18073 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_STATUS_ENABLE 18074 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_STATUS_DISABLE 18075 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER 18076 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_PUBLISHERID 18077 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_WRITERGROUPID 18078 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETWRITERID 18079 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETMETADATA 18080 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 18081 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_MESSAGERECEIVETIMEOUT 18082 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SECURITYMODE 18083 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SECURITYGROUPID 18084 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SECURITYKEYSERVICES 18085 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_TRANSPORTSETTINGS 18086 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_MESSAGESETTINGS 18087 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS 18088 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS_STATE 18089 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS_ENABLE 18090 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS_DISABLE 18091 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS 18092 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18093 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18094 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18095 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18096 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18097 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18098 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18099 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18100 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18101 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18102 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18103 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18104 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18105 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18106 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18107 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18108 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18109 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18110 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18111 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18112 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18113 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18114 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18115 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18116 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18117 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18118 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18119 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18120 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18121 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18122 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18123 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18124 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18125 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18126 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18127 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18128 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18129 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18130 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18131 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18132 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18133 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18134 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18135 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18136 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18137 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 18138 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 18139 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 18140 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 18141 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 18142 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 18143 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 18144 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 18145 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 18146 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 18147 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 18148 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 18149 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 18150 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 18151 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 18152 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 18153 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 18154 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION 18155 /* Object */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER 18156 /* Object */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_RESOURCEURI 18157 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 18158 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_ENDPOINTURLS 18159 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_SERVICESTATUS 18160 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL 18161 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL_INPUTARGUMENTS 18162 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_DELETECREDENTIAL 18163 /* Method */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_PROFILEURI 18164 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_PROFILEURI 18165 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDEFINITION 18166 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDEFINITION_DATATYPEVERSION 18167 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDEFINITION_DICTIONARYFRAGMENT 18168 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREFIELD 18169 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREFIELD_DATATYPEVERSION 18170 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREFIELD_DICTIONARYFRAGMENT 18171 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDEFINITION 18172 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDEFINITION_DATATYPEVERSION 18173 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDEFINITION_DICTIONARYFRAGMENT 18174 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDEFINITION 18175 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDEFINITION_DATATYPEVERSION 18176 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDEFINITION_DICTIONARYFRAGMENT 18177 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDEFINITION 18178 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDEFINITION_DATATYPEVERSION 18179 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDEFINITION_DICTIONARYFRAGMENT 18180 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREFIELD 18181 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREFIELD_DATATYPEVERSION 18182 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREFIELD_DICTIONARYFRAGMENT 18183 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDEFINITION 18184 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDEFINITION_DATATYPEVERSION 18185 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDEFINITION_DICTIONARYFRAGMENT 18186 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDEFINITION 18187 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDEFINITION_DATATYPEVERSION 18188 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDEFINITION_DICTIONARYFRAGMENT 18189 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE 18190 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_ID 18191 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_NAME 18192 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_NUMBER 18193 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18194 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_TRANSITIONTIME 18195 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18196 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_TRUESTATE 18197 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_FALSESTATE 18198 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_RESET 18199 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_LISTID 18200 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_AGENCYID 18201 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_VERSIONID 18202 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE 18203 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_ID 18204 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NAME 18205 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NUMBER 18206 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18207 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRANSITIONTIME 18208 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18209 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRUESTATE 18210 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_FALSESTATE 18211 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET 18212 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE 18213 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_ID 18214 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_NAME 18215 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_NUMBER 18216 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18217 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18218 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18219 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_TRUESTATE 18220 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_FALSESTATE 18221 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_RESET 18222 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE 18223 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_ID 18224 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NAME 18225 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NUMBER 18226 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18227 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18228 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18229 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRUESTATE 18230 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_FALSESTATE 18231 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RESET 18232 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE 18233 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_ID 18234 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NAME 18235 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NUMBER 18236 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18237 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18238 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18239 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRUESTATE 18240 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_FALSESTATE 18241 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RESET 18242 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_LISTID 18243 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_AGENCYID 18244 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_VERSIONID 18245 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE 18246 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_ID 18247 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NAME 18248 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NUMBER 18249 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18250 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18251 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18252 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRUESTATE 18253 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_FALSESTATE 18254 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_UNSUPPRESS 18255 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RESET 18256 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE 18257 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_ID 18258 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NAME 18259 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NUMBER 18260 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18261 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18262 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18263 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRUESTATE 18264 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_FALSESTATE 18265 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RESET 18266 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE 18267 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_ID 18268 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NAME 18269 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NUMBER 18270 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18271 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18272 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18273 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRUESTATE 18274 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_FALSESTATE 18275 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RESET 18276 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE 18277 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_ID 18278 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NAME 18279 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NUMBER 18280 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18281 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18282 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18283 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRUESTATE 18284 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_FALSESTATE 18285 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RESET 18286 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE 18287 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_ID 18288 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NAME 18289 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NUMBER 18290 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18291 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18292 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18293 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRUESTATE 18294 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_FALSESTATE 18295 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RESET 18296 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE 18297 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_ID 18298 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NAME 18299 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NUMBER 18300 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18301 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18302 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18303 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRUESTATE 18304 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_FALSESTATE 18305 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RESET 18306 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE 18307 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_ID 18308 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_NAME 18309 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_NUMBER 18310 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18311 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18312 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18313 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_TRUESTATE 18314 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_FALSESTATE 18315 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_RESET 18316 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE 18317 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_ID 18318 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_NAME 18319 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_NUMBER 18320 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18321 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18322 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18323 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_TRUESTATE 18324 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_FALSESTATE 18325 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_RESET 18326 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE 18327 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_ID 18328 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_NAME 18329 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_NUMBER 18330 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18331 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18332 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18333 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_TRUESTATE 18334 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_FALSESTATE 18335 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RESET 18336 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE 18337 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_ID 18338 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_NAME 18339 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_NUMBER 18340 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18341 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18342 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18343 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_TRUESTATE 18344 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_FALSESTATE 18345 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_RESET 18346 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE 18347 /* ObjectType */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_EVENTID 18348 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_EVENTTYPE 18349 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SOURCENODE 18350 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SOURCENAME 18351 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_TIME 18352 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RECEIVETIME 18353 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LOCALTIME 18354 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_MESSAGE 18355 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SEVERITY 18356 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONCLASSID 18357 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONCLASSNAME 18358 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSID 18359 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSNAME 18360 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONNAME 18361 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_BRANCHID 18362 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RETAIN 18363 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE 18364 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_ID 18365 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_NAME 18366 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_NUMBER 18367 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 18368 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 18369 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 18370 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRUESTATE 18371 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_FALSESTATE 18372 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_QUALITY 18373 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_QUALITY_SOURCETIMESTAMP 18374 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LASTSEVERITY 18375 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 18376 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_COMMENT 18377 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_COMMENT_SOURCETIMESTAMP 18378 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CLIENTUSERID 18379 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_DISABLE 18380 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLE 18381 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ADDCOMMENT 18382 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 18383 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH 18384 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 18385 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH2 18386 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 18387 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE 18388 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_ID 18389 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_NAME 18390 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_NUMBER 18391 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 18392 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_TRANSITIONTIME 18393 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 18394 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_TRUESTATE 18395 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_FALSESTATE 18396 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE 18397 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_ID 18398 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NAME 18399 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NUMBER 18400 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 18401 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 18402 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 18403 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRUESTATE 18404 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_FALSESTATE 18405 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKNOWLEDGE 18406 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 18407 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRM 18408 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRM_INPUTARGUMENTS 18409 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE 18410 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_ID 18411 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_NAME 18412 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_NUMBER 18413 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 18414 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_TRANSITIONTIME 18415 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 18416 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_TRUESTATE 18417 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_FALSESTATE 18418 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_INPUTNODE 18419 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE 18420 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_ID 18421 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NAME 18422 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NUMBER 18423 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 18424 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 18425 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 18426 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 18427 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 18428 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE 18429 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_ID 18430 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NAME 18431 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NUMBER 18432 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 18433 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 18434 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 18435 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 18436 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 18437 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE 18438 /* Object */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE 18439 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 18440 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 18441 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 18442 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 18443 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION 18444 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 18445 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 18446 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 18447 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 18448 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 18449 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 18450 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 18451 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVETIME 18452 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 18453 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 18454 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE 18455 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 18456 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDORSHELVED 18457 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_MAXTIMESHELVED 18458 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLEENABLED 18459 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND 18460 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND_LISTID 18461 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND_AGENCYID 18462 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND_VERSIONID 18463 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE 18464 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_ID 18465 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_NAME 18466 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_NUMBER 18467 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 18468 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_TRANSITIONTIME 18469 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 18470 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_TRUESTATE 18471 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_FALSESTATE 18472 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ONDELAY 18473 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OFFDELAY 18474 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_FIRSTINGROUPFLAG 18475 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_FIRSTINGROUP 18476 /* Object */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE 18477 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_ID 18478 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_NAME 18479 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_NUMBER 18480 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18481 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18482 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18483 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRUESTATE 18484 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_FALSESTATE 18485 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ALARMGROUP_PLACEHOLDER 18486 /* Object */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REALARMTIME 18487 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REALARMREPEATCOUNT 18488 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCE 18489 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESS 18490 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_UNSUPPRESS 18491 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE 18492 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_PLACEINSERVICE 18493 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RESET 18494 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_NORMALSTATE 18495 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE 18496 /* ObjectType */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_EVENTID 18497 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_EVENTTYPE 18498 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SOURCENODE 18499 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SOURCENAME 18500 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_TIME 18501 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RECEIVETIME 18502 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LOCALTIME 18503 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_MESSAGE 18504 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SEVERITY 18505 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONCLASSID 18506 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONCLASSNAME 18507 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSID 18508 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSNAME 18509 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONNAME 18510 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_BRANCHID 18511 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RETAIN 18512 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE 18513 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_ID 18514 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_NAME 18515 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_NUMBER 18516 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 18517 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 18518 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 18519 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRUESTATE 18520 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_FALSESTATE 18521 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_QUALITY 18522 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_QUALITY_SOURCETIMESTAMP 18523 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LASTSEVERITY 18524 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 18525 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_COMMENT 18526 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_COMMENT_SOURCETIMESTAMP 18527 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CLIENTUSERID 18528 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_DISABLE 18529 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLE 18530 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ADDCOMMENT 18531 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 18532 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH 18533 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 18534 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH2 18535 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 18536 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE 18537 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_ID 18538 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_NAME 18539 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_NUMBER 18540 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 18541 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_TRANSITIONTIME 18542 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 18543 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_TRUESTATE 18544 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_FALSESTATE 18545 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE 18546 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_ID 18547 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NAME 18548 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NUMBER 18549 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 18550 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 18551 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 18552 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRUESTATE 18553 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_FALSESTATE 18554 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKNOWLEDGE 18555 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 18556 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRM 18557 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRM_INPUTARGUMENTS 18558 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE 18559 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_ID 18560 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_NAME 18561 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_NUMBER 18562 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 18563 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_TRANSITIONTIME 18564 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 18565 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_TRUESTATE 18566 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_FALSESTATE 18567 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_INPUTNODE 18568 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE 18569 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_ID 18570 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NAME 18571 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NUMBER 18572 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 18573 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 18574 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 18575 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 18576 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 18577 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE 18578 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_ID 18579 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NAME 18580 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NUMBER 18581 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 18582 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 18583 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 18584 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 18585 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 18586 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE 18587 /* Object */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE 18588 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 18589 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 18590 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 18591 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 18592 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION 18593 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 18594 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 18595 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 18596 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 18597 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 18598 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 18599 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 18600 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVETIME 18601 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 18602 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 18603 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE 18604 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 18605 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDORSHELVED 18606 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_MAXTIMESHELVED 18607 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLEENABLED 18608 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND 18609 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND_LISTID 18610 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND_AGENCYID 18611 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND_VERSIONID 18612 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE 18613 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_ID 18614 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_NAME 18615 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_NUMBER 18616 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 18617 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_TRANSITIONTIME 18618 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 18619 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_TRUESTATE 18620 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_FALSESTATE 18621 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ONDELAY 18622 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OFFDELAY 18623 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_FIRSTINGROUPFLAG 18624 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_FIRSTINGROUP 18625 /* Object */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE 18626 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_ID 18627 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_NAME 18628 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_NUMBER 18629 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18630 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18631 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18632 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRUESTATE 18633 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_FALSESTATE 18634 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ALARMGROUP_PLACEHOLDER 18635 /* Object */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REALARMTIME 18636 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REALARMREPEATCOUNT 18637 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCE 18638 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESS 18639 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_UNSUPPRESS 18640 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE 18641 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_PLACEINSERVICE 18642 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RESET 18643 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_NORMALSTATE 18644 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE 18645 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_ID 18646 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_NAME 18647 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_NUMBER 18648 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18649 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18650 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18651 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_TRUESTATE 18652 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_FALSESTATE 18653 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RESET 18654 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE 18655 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_ID 18656 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_NAME 18657 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_NUMBER 18658 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18659 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18660 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18661 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_TRUESTATE 18662 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_FALSESTATE 18663 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_RESET 18664 /* Method */ +#define UA_NS0ID_STATISTICALCONDITIONCLASSTYPE 18665 /* ObjectType */ +#define UA_NS0ID_ALARMMETRICSTYPE_RESET 18666 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS 18667 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18668 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18669 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18670 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18671 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18672 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18673 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18674 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18675 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18676 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18677 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18678 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18679 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18680 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18681 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18682 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18683 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18684 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18685 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18686 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18687 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18688 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18689 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18690 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18691 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18692 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18693 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18694 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18695 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18696 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18697 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18698 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18699 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18700 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18701 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18702 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18703 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18704 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18705 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18706 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18707 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18708 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18709 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18710 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18711 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18712 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 18713 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 18714 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS 18715 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 18716 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION 18717 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18718 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18719 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18720 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18721 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR 18722 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 18723 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18724 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18725 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18726 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_RESET 18727 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_SUBERROR 18728 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS 18729 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR 18730 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18731 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18732 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18733 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18734 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18735 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18736 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18737 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18738 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18739 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18740 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18741 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18742 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18743 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18744 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18745 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18746 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18747 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18748 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18749 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18750 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18751 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18752 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18753 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18754 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18755 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18756 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18757 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18758 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18759 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES 18760 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 18761 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 18762 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 18763 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 18764 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 18765 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 18766 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 18767 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 18768 /* Variable */ +#define UA_NS0ID_THREEDVECTORTYPE_X 18769 /* Variable */ +#define UA_NS0ID_THREEDVECTORTYPE_Y 18770 /* Variable */ +#define UA_NS0ID_THREEDVECTORTYPE_Z 18771 /* Variable */ +#define UA_NS0ID_CARTESIANCOORDINATESTYPE 18772 /* VariableType */ +#define UA_NS0ID_CARTESIANCOORDINATESTYPE_LENGTHUNIT 18773 /* Variable */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE 18774 /* VariableType */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_LENGTHUNIT 18775 /* Variable */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_X 18776 /* Variable */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_Y 18777 /* Variable */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_Z 18778 /* Variable */ +#define UA_NS0ID_ORIENTATIONTYPE 18779 /* VariableType */ +#define UA_NS0ID_ORIENTATIONTYPE_ANGLEUNIT 18780 /* Variable */ +#define UA_NS0ID_THREEDORIENTATIONTYPE 18781 /* VariableType */ +#define UA_NS0ID_THREEDORIENTATIONTYPE_ANGLEUNIT 18782 /* Variable */ +#define UA_NS0ID_THREEDORIENTATIONTYPE_A 18783 /* Variable */ +#define UA_NS0ID_THREEDORIENTATIONTYPE_B 18784 /* Variable */ +#define UA_NS0ID_THREEDORIENTATIONTYPE_C 18785 /* Variable */ +#define UA_NS0ID_FRAMETYPE 18786 /* VariableType */ +#define UA_NS0ID_FRAMETYPE_ORIENTATION 18787 /* Variable */ +#define UA_NS0ID_FRAMETYPE_CONSTANT 18788 /* Variable */ +#define UA_NS0ID_FRAMETYPE_BASEFRAME 18789 /* Variable */ +#define UA_NS0ID_FRAMETYPE_FIXEDBASE 18790 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE 18791 /* VariableType */ +#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION 18792 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_CONSTANT 18793 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_BASEFRAME 18794 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_FIXEDBASE 18795 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES 18796 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_LENGTHUNIT 18797 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_X 18798 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_Y 18799 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_Z 18800 /* Variable */ +#define UA_NS0ID_FRAMETYPE_CARTESIANCOORDINATES 18801 /* Variable */ +#define UA_NS0ID_FRAMETYPE_CARTESIANCOORDINATES_LENGTHUNIT 18802 /* Variable */ +#define UA_NS0ID_FRAMETYPE_ORIENTATION_ANGLEUNIT 18803 /* Variable */ +#define UA_NS0ID_HASWRITERGROUP 18804 /* ReferenceType */ +#define UA_NS0ID_HASREADERGROUP 18805 /* ReferenceType */ +#define UA_NS0ID_RATIONALNUMBER 18806 /* DataType */ +#define UA_NS0ID_VECTOR 18807 /* DataType */ +#define UA_NS0ID_THREEDVECTOR 18808 /* DataType */ +#define UA_NS0ID_CARTESIANCOORDINATES 18809 /* DataType */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATES 18810 /* DataType */ +#define UA_NS0ID_ORIENTATION 18811 /* DataType */ +#define UA_NS0ID_THREEDORIENTATION 18812 /* DataType */ +#define UA_NS0ID_FRAME 18813 /* DataType */ +#define UA_NS0ID_THREEDFRAME 18814 /* DataType */ +#define UA_NS0ID_RATIONALNUMBER_ENCODING_DEFAULTBINARY 18815 /* Object */ +#define UA_NS0ID_VECTOR_ENCODING_DEFAULTBINARY 18816 /* Object */ +#define UA_NS0ID_THREEDVECTOR_ENCODING_DEFAULTBINARY 18817 /* Object */ +#define UA_NS0ID_CARTESIANCOORDINATES_ENCODING_DEFAULTBINARY 18818 /* Object */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATES_ENCODING_DEFAULTBINARY 18819 /* Object */ +#define UA_NS0ID_ORIENTATION_ENCODING_DEFAULTBINARY 18820 /* Object */ +#define UA_NS0ID_THREEDORIENTATION_ENCODING_DEFAULTBINARY 18821 /* Object */ +#define UA_NS0ID_FRAME_ENCODING_DEFAULTBINARY 18822 /* Object */ +#define UA_NS0ID_THREEDFRAME_ENCODING_DEFAULTBINARY 18823 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RATIONALNUMBER 18824 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RATIONALNUMBER_DATATYPEVERSION 18825 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RATIONALNUMBER_DICTIONARYFRAGMENT 18826 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_VECTOR 18827 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_VECTOR_DATATYPEVERSION 18828 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_VECTOR_DICTIONARYFRAGMENT 18829 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDVECTOR 18830 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDVECTOR_DATATYPEVERSION 18831 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDVECTOR_DICTIONARYFRAGMENT 18832 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CARTESIANCOORDINATES 18833 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CARTESIANCOORDINATES_DATATYPEVERSION 18834 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CARTESIANCOORDINATES_DICTIONARYFRAGMENT 18835 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDCARTESIANCOORDINATES 18836 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDCARTESIANCOORDINATES_DATATYPEVERSION 18837 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDCARTESIANCOORDINATES_DICTIONARYFRAGMENT 18838 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ORIENTATION 18839 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ORIENTATION_DATATYPEVERSION 18840 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ORIENTATION_DICTIONARYFRAGMENT 18841 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDORIENTATION 18842 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDORIENTATION_DATATYPEVERSION 18843 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDORIENTATION_DICTIONARYFRAGMENT 18844 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FRAME 18845 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FRAME_DATATYPEVERSION 18846 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FRAME_DICTIONARYFRAGMENT 18847 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDFRAME 18848 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDFRAME_DATATYPEVERSION 18849 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDFRAME_DICTIONARYFRAGMENT 18850 /* Variable */ +#define UA_NS0ID_RATIONALNUMBER_ENCODING_DEFAULTXML 18851 /* Object */ +#define UA_NS0ID_VECTOR_ENCODING_DEFAULTXML 18852 /* Object */ +#define UA_NS0ID_THREEDVECTOR_ENCODING_DEFAULTXML 18853 /* Object */ +#define UA_NS0ID_CARTESIANCOORDINATES_ENCODING_DEFAULTXML 18854 /* Object */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATES_ENCODING_DEFAULTXML 18855 /* Object */ +#define UA_NS0ID_ORIENTATION_ENCODING_DEFAULTXML 18856 /* Object */ +#define UA_NS0ID_THREEDORIENTATION_ENCODING_DEFAULTXML 18857 /* Object */ +#define UA_NS0ID_FRAME_ENCODING_DEFAULTXML 18858 /* Object */ +#define UA_NS0ID_THREEDFRAME_ENCODING_DEFAULTXML 18859 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RATIONALNUMBER 18860 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RATIONALNUMBER_DATATYPEVERSION 18861 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RATIONALNUMBER_DICTIONARYFRAGMENT 18862 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_VECTOR 18863 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_VECTOR_DATATYPEVERSION 18864 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_VECTOR_DICTIONARYFRAGMENT 18865 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDVECTOR 18866 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDVECTOR_DATATYPEVERSION 18867 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDVECTOR_DICTIONARYFRAGMENT 18868 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CARTESIANCOORDINATES 18869 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CARTESIANCOORDINATES_DATATYPEVERSION 18870 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 18871 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18872 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18873 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18874 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18875 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18876 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18877 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18878 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18879 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18880 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18881 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18882 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18883 /* Method */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18884 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18885 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18886 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18887 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18888 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18889 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18890 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18891 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18892 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18893 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18894 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18895 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18896 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18897 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18898 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18899 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18900 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18901 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18902 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18903 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18904 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18905 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18906 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18907 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18908 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18909 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18910 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18911 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18912 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18913 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18914 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18915 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18916 /* Object */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 18917 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 18918 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 18919 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 18920 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 18921 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 18922 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 18923 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 18924 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 18925 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 18926 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 18927 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 18928 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 18929 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 18930 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18931 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18932 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18933 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18934 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18935 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18936 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18937 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18938 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18939 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18940 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18941 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18942 /* Method */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18943 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18944 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18945 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18946 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18947 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18948 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18949 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18950 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18951 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18952 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18953 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18954 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18955 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18956 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18957 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18958 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18959 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18960 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18961 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18962 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18963 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18964 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18965 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18966 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18967 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18968 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18969 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18970 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18971 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18972 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18973 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18974 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18975 /* Object */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 18976 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 18977 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 18978 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 18979 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 18980 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 18981 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 18982 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 18983 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 18984 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 18985 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 18986 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 18987 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 18988 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 18989 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18990 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18991 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18992 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18993 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18994 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18995 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18996 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18997 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18998 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18999 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19000 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 19001 /* Method */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 19002 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 19003 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 19004 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19005 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19006 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19007 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19008 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19009 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19010 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19011 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19012 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19013 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19014 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19015 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19016 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19017 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19018 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19019 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19020 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19021 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19022 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19023 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19024 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19025 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19026 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19027 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19028 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19029 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19030 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19031 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19032 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19033 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 19034 /* Object */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 19035 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 19036 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 19037 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 19038 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 19039 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 19040 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 19041 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 19042 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 19043 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 19044 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 19045 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 19046 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 19047 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CARTESIANCOORDINATES_DICTIONARYFRAGMENT 19048 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDCARTESIANCOORDINATES 19049 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDCARTESIANCOORDINATES_DATATYPEVERSION 19050 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDCARTESIANCOORDINATES_DICTIONARYFRAGMENT 19051 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ORIENTATION 19052 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ORIENTATION_DATATYPEVERSION 19053 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ORIENTATION_DICTIONARYFRAGMENT 19054 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDORIENTATION 19055 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDORIENTATION_DATATYPEVERSION 19056 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDORIENTATION_DICTIONARYFRAGMENT 19057 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FRAME 19058 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FRAME_DATATYPEVERSION 19059 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_FRAME_DICTIONARYFRAGMENT 19060 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDFRAME 19061 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDFRAME_DATATYPEVERSION 19062 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDFRAME_DICTIONARYFRAGMENT 19063 /* Variable */ +#define UA_NS0ID_RATIONALNUMBER_ENCODING_DEFAULTJSON 19064 /* Object */ +#define UA_NS0ID_VECTOR_ENCODING_DEFAULTJSON 19065 /* Object */ +#define UA_NS0ID_THREEDVECTOR_ENCODING_DEFAULTJSON 19066 /* Object */ +#define UA_NS0ID_CARTESIANCOORDINATES_ENCODING_DEFAULTJSON 19067 /* Object */ +#define UA_NS0ID_THREEDCARTESIANCOORDINATES_ENCODING_DEFAULTJSON 19068 /* Object */ +#define UA_NS0ID_ORIENTATION_ENCODING_DEFAULTJSON 19069 /* Object */ +#define UA_NS0ID_THREEDORIENTATION_ENCODING_DEFAULTJSON 19070 /* Object */ +#define UA_NS0ID_FRAME_ENCODING_DEFAULTJSON 19071 /* Object */ +#define UA_NS0ID_THREEDFRAME_ENCODING_DEFAULTJSON 19072 /* Object */ +#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_ANGLEUNIT 19073 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_A 19074 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_B 19075 /* Variable */ +#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_C 19076 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE 19077 /* VariableType */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_DEFINITION 19078 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_VALUEPRECISION 19079 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_ENUMVALUES 19080 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_VALUEASTEXT 19081 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_ENUMDICTIONARYENTRIES 19082 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_VALUEASDICTIONARYENTRIES 19083 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE 19084 /* VariableType */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_DEFINITION 19085 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_VALUEPRECISION 19086 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_ENUMVALUES 19087 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_VALUEASTEXT 19088 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_ENUMDICTIONARYENTRIES 19089 /* Variable */ +#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_VALUEASDICTIONARYENTRIES 19090 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIES_SERVERTIMESTAMPSUPPORTED 19091 /* Variable */ +#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_SERVERTIMESTAMPSUPPORTED 19092 /* Variable */ +#define UA_NS0ID_HACONFIGURATION_SERVERTIMESTAMPSUPPORTED 19093 /* Variable */ +#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_SERVERTIMESTAMPSUPPORTED 19094 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE 19095 /* ObjectType */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_EVENTID 19096 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_EVENTTYPE 19097 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SOURCENODE 19098 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SOURCENAME 19099 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_TIME 19100 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_RECEIVETIME 19101 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_LOCALTIME 19102 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_MESSAGE 19103 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SEVERITY 19104 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_ACTIONTIMESTAMP 19105 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_STATUS 19106 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS 19107 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 19108 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 19109 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19110 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19111 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19112 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19113 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 19114 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 19115 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19116 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19117 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19118 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_RESET 19119 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 19120 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 19121 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 19122 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19123 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19124 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19125 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19126 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19127 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19128 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19129 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19130 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19131 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19132 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19133 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19134 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19135 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19136 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19137 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19138 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19139 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19140 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19141 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19142 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19143 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19144 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19145 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19146 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19147 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19148 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19149 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19150 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19151 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 19152 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES 19153 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_ACTIVE 19154 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_CLASSIFICATION 19155 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_DIAGNOSTICSLEVEL 19156 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_TIMEFIRSTCHANGE 19157 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS 19158 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_ACTIVE 19159 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_CLASSIFICATION 19160 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_DIAGNOSTICSLEVEL 19161 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_TIMEFIRSTCHANGE 19162 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS 19163 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_ACTIVE 19164 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_CLASSIFICATION 19165 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_DIAGNOSTICSLEVEL 19166 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_TIMEFIRSTCHANGE 19167 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 19168 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 19169 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 19170 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 19171 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 19172 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 19173 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 19174 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 19175 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS 19176 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 19177 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 19178 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19179 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19180 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19181 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19182 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 19183 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 19184 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19185 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19186 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19187 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_RESET 19188 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 19189 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 19190 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 19191 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19192 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19193 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19194 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19195 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19196 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19197 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19198 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19199 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19200 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19201 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19202 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19203 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19204 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19205 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19206 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19207 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19208 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19209 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19210 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19211 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19212 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19213 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19214 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19215 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19216 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19217 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19218 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19219 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19220 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 19221 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES 19222 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_ACTIVE 19223 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_CLASSIFICATION 19224 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19225 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_TIMEFIRSTCHANGE 19226 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES 19227 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_ACTIVE 19228 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_CLASSIFICATION 19229 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19230 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_TIMEFIRSTCHANGE 19231 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 19232 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 19233 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 19234 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 19235 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 19236 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 19237 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 19238 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 19239 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 19240 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS 19241 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 19242 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION 19243 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19244 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19245 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19246 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19247 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR 19248 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 19249 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19250 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19251 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19252 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_RESET 19253 /* Method */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_SUBERROR 19254 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS 19255 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 19256 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19257 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19258 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19259 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19260 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19261 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19262 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19263 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19264 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19265 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19266 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19267 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19268 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19269 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19270 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19271 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19272 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19273 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19274 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19275 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19276 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19277 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19278 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19279 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19280 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19281 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19282 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19283 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19284 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19285 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_LIVEVALUES 19286 /* Object */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 19287 /* Variable */ +#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 19288 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SERVERID 19289 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CLIENTAUDITENTRYID 19290 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CLIENTUSERID 19291 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_PARAMETERDATATYPEID 19292 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_PERFORMINSERTREPLACE 19293 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_NEWVALUES 19294 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_OLDVALUES 19295 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_UPDATEFREQUENCY 19296 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE 19297 /* ObjectType */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_EVENTID 19298 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_EVENTTYPE 19299 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SOURCENODE 19300 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SOURCENAME 19301 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_TIME 19302 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RECEIVETIME 19303 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LOCALTIME 19304 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_MESSAGE 19305 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SEVERITY 19306 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONCLASSID 19307 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONCLASSNAME 19308 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONSUBCLASSID 19309 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONSUBCLASSNAME 19310 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONNAME 19311 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_BRANCHID 19312 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RETAIN 19313 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE 19314 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_ID 19315 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_NAME 19316 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_NUMBER 19317 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 19318 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 19319 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 19320 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_TRUESTATE 19321 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_FALSESTATE 19322 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_QUALITY 19323 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_QUALITY_SOURCETIMESTAMP 19324 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LASTSEVERITY 19325 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 19326 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_COMMENT 19327 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_COMMENT_SOURCETIMESTAMP 19328 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CLIENTUSERID 19329 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_DISABLE 19330 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLE 19331 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ADDCOMMENT 19332 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 19333 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH 19334 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 19335 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH2 19336 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 19337 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE 19338 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_ID 19339 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_NAME 19340 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_NUMBER 19341 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 19342 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 19343 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 19344 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_TRUESTATE 19345 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_FALSESTATE 19346 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE 19347 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_ID 19348 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_NAME 19349 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_NUMBER 19350 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 19351 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 19352 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 19353 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 19354 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 19355 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKNOWLEDGE 19356 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 19357 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRM 19358 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRM_INPUTARGUMENTS 19359 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE 19360 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_ID 19361 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_NAME 19362 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_NUMBER 19363 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 19364 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 19365 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 19366 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_TRUESTATE 19367 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_FALSESTATE 19368 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_INPUTNODE 19369 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE 19370 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_ID 19371 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_NAME 19372 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_NUMBER 19373 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 19374 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 19375 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 19376 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 19377 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 19378 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE 19379 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_ID 19380 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_NAME 19381 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_NUMBER 19382 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 19383 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 19384 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 19385 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 19386 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 19387 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE 19388 /* Object */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 19389 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 19390 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 19391 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 19392 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 19393 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 19394 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 19395 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 19396 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 19397 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 19398 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 19399 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 19400 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 19401 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 19402 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 19403 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 19404 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVE 19405 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 19406 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDORSHELVED 19407 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_MAXTIMESHELVED 19408 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLEENABLED 19409 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND 19410 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND_LISTID 19411 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND_AGENCYID 19412 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND_VERSIONID 19413 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE 19414 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_ID 19415 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_NAME 19416 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_NUMBER 19417 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 19418 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_TRANSITIONTIME 19419 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 19420 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_TRUESTATE 19421 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_FALSESTATE 19422 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ONDELAY 19423 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OFFDELAY 19424 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_FIRSTINGROUPFLAG 19425 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_FIRSTINGROUP 19426 /* Object */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE 19427 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_ID 19428 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_NAME 19429 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_NUMBER 19430 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 19431 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 19432 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 19433 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_TRUESTATE 19434 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_FALSESTATE 19435 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ALARMGROUP_PLACEHOLDER 19436 /* Object */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REALARMTIME 19437 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REALARMREPEATCOUNT 19438 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCE 19439 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESS 19440 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UNSUPPRESS 19441 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REMOVEFROMSERVICE 19442 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_PLACEINSERVICE 19443 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RESET 19444 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_NORMALSTATE 19445 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_TRUSTLISTID 19446 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LASTUPDATETIME 19447 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UPDATEFREQUENCY 19448 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_UPDATEFREQUENCY 19449 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED 19450 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EVENTID 19451 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EVENTTYPE 19452 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SOURCENODE 19453 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SOURCENAME 19454 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_TIME 19455 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RECEIVETIME 19456 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LOCALTIME 19457 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_MESSAGE 19458 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SEVERITY 19459 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONCLASSID 19460 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 19461 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 19462 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 19463 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONNAME 19464 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_BRANCHID 19465 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RETAIN 19466 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE 19467 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 19468 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 19469 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 19470 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 19471 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 19472 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 19473 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 19474 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 19475 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_QUALITY 19476 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 19477 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LASTSEVERITY 19478 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 19479 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_COMMENT 19480 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 19481 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CLIENTUSERID 19482 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_DISABLE 19483 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLE 19484 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ADDCOMMENT 19485 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 19486 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE 19487 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_ID 19488 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 19489 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 19490 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 19491 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 19492 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 19493 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 19494 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 19495 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE 19496 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 19497 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 19498 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 19499 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 19500 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 19501 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 19502 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 19503 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 19504 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKNOWLEDGE 19505 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 19506 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRM 19507 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 19508 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE 19509 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_ID 19510 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 19511 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 19512 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 19513 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 19514 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 19515 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 19516 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 19517 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_INPUTNODE 19518 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 19519 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 19520 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 19521 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 19522 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 19523 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 19524 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 19525 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 19526 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 19527 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 19528 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 19529 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 19530 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 19531 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 19532 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 19533 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 19534 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 19535 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 19536 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE 19537 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 19538 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 19539 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 19540 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 19541 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 19542 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 19543 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 19544 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 19545 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 19546 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 19547 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 19548 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 19549 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS 19550 /* Object */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 19551 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION 19552 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19553 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19554 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19555 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19556 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR 19557 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 19558 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19559 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19560 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19561 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_RESET 19562 /* Method */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_SUBERROR 19563 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS 19564 /* Object */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 19565 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19566 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19567 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19568 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19569 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19570 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19571 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19572 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19573 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19574 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19575 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19576 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19577 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19578 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19579 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19580 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19581 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19582 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19583 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19584 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19585 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19586 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19587 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19588 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19589 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19590 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19591 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19592 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19593 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19594 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES 19595 /* Object */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 19596 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 19597 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 19598 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 19599 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 19600 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 19601 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 19602 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE 19603 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 19604 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 19605 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 19606 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION 19607 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 19608 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS 19609 /* Object */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 19610 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION 19611 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19612 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19613 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19614 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19615 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR 19616 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 19617 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19618 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19619 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19620 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_RESET 19621 /* Method */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_SUBERROR 19622 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS 19623 /* Object */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 19624 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19625 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19626 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19627 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19628 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19629 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19630 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19631 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19632 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19633 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19634 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19635 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19636 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19637 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19638 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19639 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19640 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19641 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19642 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19643 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19644 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19645 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19646 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19647 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19648 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19649 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19650 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19651 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19652 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19653 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES 19654 /* Object */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 19655 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 19656 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 19657 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 19658 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 19659 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 19660 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 19661 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 19662 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 19663 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 19664 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 19665 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 19666 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE 19667 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 19668 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 19669 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 19670 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION 19671 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 19672 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 19673 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 19674 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 19675 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 19676 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE 19677 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_DIAGNOSTICSLEVEL 19678 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION 19679 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_ACTIVE 19680 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_CLASSIFICATION 19681 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19682 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19683 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR 19684 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_ACTIVE 19685 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_CLASSIFICATION 19686 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19687 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_TIMEFIRSTCHANGE 19688 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_RESET 19689 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_SUBERROR 19690 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS 19691 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR 19692 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_ACTIVE 19693 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19694 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19695 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19696 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19697 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19698 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19699 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19700 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19701 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19702 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19703 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19704 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19705 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19706 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19707 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19708 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19709 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19710 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19711 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT 19712 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19713 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19714 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19715 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19716 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19717 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19718 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19719 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19720 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19721 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_LIVEVALUES 19722 /* Object */ +#define UA_NS0ID_DIAGNOSTICSLEVEL 19723 /* DataType */ +#define UA_NS0ID_DIAGNOSTICSLEVEL_ENUMSTRINGS 19724 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE 19725 /* VariableType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_ACTIVE 19726 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_CLASSIFICATION 19727 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_DIAGNOSTICSLEVEL 19728 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_TIMEFIRSTCHANGE 19729 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION 19730 /* DataType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_ENUMSTRINGS 19731 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE 19732 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_DIAGNOSTICSLEVEL 19733 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION 19734 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_ACTIVE 19735 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_CLASSIFICATION 19736 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19737 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19738 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR 19739 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_ACTIVE 19740 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_CLASSIFICATION 19741 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19742 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_TIMEFIRSTCHANGE 19743 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_RESET 19744 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_SUBERROR 19745 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS 19746 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR 19747 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_ACTIVE 19748 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19749 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19750 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19751 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19752 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19753 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19754 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19755 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19756 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19757 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19758 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19759 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19760 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19761 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19762 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19763 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19764 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19765 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19766 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT 19767 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19768 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19769 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19770 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19771 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19772 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19773 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19774 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19775 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19776 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES 19777 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS 19778 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 19779 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS 19780 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 19781 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS 19782 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 19783 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETREADERS 19784 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 19785 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE 19786 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_DIAGNOSTICSLEVEL 19787 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION 19788 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_ACTIVE 19789 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_CLASSIFICATION 19790 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19791 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19792 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR 19793 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_ACTIVE 19794 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_CLASSIFICATION 19795 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19796 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_TIMEFIRSTCHANGE 19797 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_RESET 19798 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_SUBERROR 19799 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS 19800 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR 19801 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_ACTIVE 19802 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19803 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19804 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19805 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19806 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19807 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19808 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19809 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19810 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19811 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19812 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19813 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19814 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19815 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19816 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19817 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19818 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19819 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19820 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT 19821 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19822 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19823 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19824 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19825 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19826 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19827 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19828 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19829 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19830 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_LIVEVALUES 19831 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_LIVEVALUES_RESOLVEDADDRESS 19832 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 19833 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE 19834 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_DIAGNOSTICSLEVEL 19835 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION 19836 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_ACTIVE 19837 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_CLASSIFICATION 19838 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19839 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19840 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR 19841 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_ACTIVE 19842 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_CLASSIFICATION 19843 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19844 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_TIMEFIRSTCHANGE 19845 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_RESET 19846 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_SUBERROR 19847 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS 19848 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR 19849 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_ACTIVE 19850 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19851 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19852 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19853 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19854 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19855 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19856 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19857 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19858 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19859 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19860 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19861 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19862 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19863 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19864 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19865 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19866 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19867 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19868 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT 19869 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19870 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19871 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19872 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19873 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19874 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19875 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19876 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19877 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19878 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES 19879 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES 19880 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_ACTIVE 19881 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_CLASSIFICATION 19882 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_DIAGNOSTICSLEVEL 19883 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_TIMEFIRSTCHANGE 19884 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS 19885 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_ACTIVE 19886 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_CLASSIFICATION 19887 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_DIAGNOSTICSLEVEL 19888 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_TIMEFIRSTCHANGE 19889 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS 19890 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_ACTIVE 19891 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_CLASSIFICATION 19892 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_DIAGNOSTICSLEVEL 19893 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_TIMEFIRSTCHANGE 19894 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS 19895 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 19896 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS 19897 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 19898 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_SECURITYTOKENID 19899 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 19900 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_TIMETONEXTTOKENID 19901 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 19902 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE 19903 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_DIAGNOSTICSLEVEL 19904 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION 19905 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_ACTIVE 19906 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_CLASSIFICATION 19907 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19908 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19909 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR 19910 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_ACTIVE 19911 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_CLASSIFICATION 19912 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19913 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_TIMEFIRSTCHANGE 19914 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_RESET 19915 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_SUBERROR 19916 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS 19917 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR 19918 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_ACTIVE 19919 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19920 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19921 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19922 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19923 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19924 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19925 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19926 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19927 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19928 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19929 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19930 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19931 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19932 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19933 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19934 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19935 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19936 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19937 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT 19938 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19939 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19940 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19941 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19942 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19943 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19944 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19945 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19946 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19947 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES 19948 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES 19949 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_ACTIVE 19950 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_CLASSIFICATION 19951 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19952 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_TIMEFIRSTCHANGE 19953 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES 19954 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_ACTIVE 19955 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_CLASSIFICATION 19956 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19957 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_TIMEFIRSTCHANGE 19958 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS 19959 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_ACTIVE 19960 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 19961 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 19962 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 19963 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS 19964 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 19965 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETREADERS 19966 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 19967 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE 19968 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_DIAGNOSTICSLEVEL 19969 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION 19970 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_ACTIVE 19971 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_CLASSIFICATION 19972 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19973 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19974 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR 19975 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_ACTIVE 19976 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_CLASSIFICATION 19977 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19978 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_TIMEFIRSTCHANGE 19979 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_RESET 19980 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_SUBERROR 19981 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS 19982 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR 19983 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_ACTIVE 19984 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19985 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19986 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19987 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19988 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19989 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19990 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19991 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19992 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19993 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19994 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19995 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19996 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19997 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19998 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19999 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 20000 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 20001 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 20002 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT 20003 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 20004 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 20005 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 20006 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 20007 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD 20008 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 20009 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 20010 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 20011 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 20012 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES 20013 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES 20014 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 20015 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 20016 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 20017 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 20018 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER 20019 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 20020 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_STATUSCODE 20021 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 20022 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MAJORVERSION 20023 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 20024 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MINORVERSION 20025 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 20026 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE 20027 /* ObjectType */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_DIAGNOSTICSLEVEL 20028 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION 20029 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_ACTIVE 20030 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_CLASSIFICATION 20031 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 20032 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 20033 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR 20034 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_ACTIVE 20035 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_CLASSIFICATION 20036 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_DIAGNOSTICSLEVEL 20037 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_TIMEFIRSTCHANGE 20038 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_RESET 20039 /* Method */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_SUBERROR 20040 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS 20041 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR 20042 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_ACTIVE 20043 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_CLASSIFICATION 20044 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 20045 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 20046 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 20047 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 20048 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 20049 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 20050 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 20051 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT 20052 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 20053 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 20054 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 20055 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 20056 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR 20057 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 20058 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 20059 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 20060 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 20061 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT 20062 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 20063 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 20064 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 20065 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 20066 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD 20067 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 20068 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 20069 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 20070 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 20071 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES 20072 /* Object */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES 20073 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 20074 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 20075 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 20076 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 20077 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS 20078 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_ACTIVE 20079 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 20080 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 20081 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 20082 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER 20083 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 20084 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_STATUSCODE 20085 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 20086 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MAJORVERSION 20087 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 20088 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MINORVERSION 20089 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 20090 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_SECURITYTOKENID 20091 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 20092 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_TIMETONEXTTOKENID 20093 /* Variable */ +#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 20094 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20095 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20096 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20097 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20098 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20099 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20100 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20101 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_MAXTIMESHELVED 20102 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLEENABLED 20103 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND 20104 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20105 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20106 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20107 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE 20108 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_ID 20109 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_NAME 20110 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 20111 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 20112 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 20113 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 20114 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 20115 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 20116 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ONDELAY 20117 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OFFDELAY 20118 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 20119 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_FIRSTINGROUP 20120 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE 20121 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 20122 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 20123 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 20124 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20125 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 20126 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20127 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 20128 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 20129 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REALARMTIME 20130 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 20131 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCE 20132 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESS 20133 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_UNSUPPRESS 20134 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 20135 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_PLACEINSERVICE 20136 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RESET 20137 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_NORMALSTATE 20138 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EXPIRATIONDATE 20139 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 20140 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CERTIFICATETYPE 20141 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CERTIFICATE 20142 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE 20143 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_EVENTID 20144 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_EVENTTYPE 20145 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SOURCENODE 20146 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SOURCENAME 20147 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_TIME 20148 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RECEIVETIME 20149 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LOCALTIME 20150 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_MESSAGE 20151 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SEVERITY 20152 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 20153 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 20154 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 20155 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 20156 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONNAME 20157 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_BRANCHID 20158 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RETAIN 20159 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE 20160 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 20161 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 20162 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 20163 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20164 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 20165 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20166 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 20167 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 20168 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_QUALITY 20169 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 20170 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LASTSEVERITY 20171 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 20172 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_COMMENT 20173 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 20174 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CLIENTUSERID 20175 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_DISABLE 20176 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLE 20177 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ADDCOMMENT 20178 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 20179 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE 20180 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 20181 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 20182 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 20183 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20184 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 20185 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20186 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 20187 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 20188 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 20189 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 20190 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 20191 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 20192 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20193 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 20194 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20195 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 20196 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 20197 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 20198 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 20199 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRM 20200 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 20201 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE 20202 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 20203 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 20204 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 20205 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20206 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 20207 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20208 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 20209 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 20210 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_INPUTNODE 20211 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 20212 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 20213 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 20214 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 20215 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20216 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 20217 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20218 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 20219 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 20220 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 20221 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 20222 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 20223 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 20224 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20225 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 20226 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20227 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 20228 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 20229 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE 20230 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 20231 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 20232 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 20233 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 20234 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20235 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 20236 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 20237 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 20238 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 20239 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20240 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20241 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 20242 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 20243 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 20244 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 20245 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20246 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 20247 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 20248 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 20249 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 20250 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 20251 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND 20252 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 20253 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 20254 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 20255 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE 20256 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 20257 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 20258 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 20259 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 20260 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 20261 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 20262 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 20263 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 20264 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ONDELAY 20265 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OFFDELAY 20266 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 20267 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_FIRSTINGROUP 20268 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE 20269 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 20270 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 20271 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 20272 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20273 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 20274 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20275 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 20276 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 20277 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REALARMTIME 20278 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 20279 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCE 20280 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESS 20281 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UNSUPPRESS 20282 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 20283 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_PLACEINSERVICE 20284 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RESET 20285 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_NORMALSTATE 20286 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_TRUSTLISTID 20287 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LASTUPDATETIME 20288 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 20289 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 20290 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 20291 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 20292 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 20293 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 20294 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 20295 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 20296 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 20297 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 20298 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 20299 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 20300 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 20301 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 20302 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 20303 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 20304 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 20305 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 20306 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 20307 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 20308 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 20309 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 20310 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 20311 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20312 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 20313 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20314 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 20315 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 20316 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 20317 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 20318 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 20319 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 20320 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 20321 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 20322 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 20323 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 20324 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 20325 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 20326 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 20327 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 20328 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 20329 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 20330 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 20331 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20332 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 20333 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20334 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 20335 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 20336 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 20337 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 20338 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 20339 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 20340 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20341 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 20342 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20343 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 20344 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 20345 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 20346 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 20347 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 20348 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 20349 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 20350 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 20351 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 20352 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 20353 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20354 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 20355 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20356 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 20357 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 20358 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 20359 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 20360 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 20361 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 20362 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 20363 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20364 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 20365 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20366 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 20367 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 20368 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 20369 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 20370 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 20371 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 20372 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20373 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 20374 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20375 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 20376 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 20377 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 20378 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 20379 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 20380 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 20381 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 20382 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20383 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 20384 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 20385 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 20386 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 20387 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20388 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20389 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 20390 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20391 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20392 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20393 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20394 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20395 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20396 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20397 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 20398 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 20399 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 20400 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20401 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20402 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20403 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 20404 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 20405 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 20406 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 20407 /* Variable */ +#define UA_NS0ID_DATASETORDERINGTYPE 20408 /* DataType */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 20409 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 20410 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 20411 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 20412 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 20413 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 20414 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 20415 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 20416 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 20417 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 20418 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 20419 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 20420 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 20421 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 20422 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20423 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 20424 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20425 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 20426 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 20427 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 20428 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 20429 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 20430 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 20431 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 20432 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 20433 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 20434 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 20435 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 20436 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 20437 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 20438 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 20439 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 20440 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 20441 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 20442 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 20443 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 20444 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 20445 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 20446 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 20447 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 20448 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 20449 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 20450 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 20451 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 20452 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 20453 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 20454 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 20455 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 20456 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 20457 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 20458 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 20459 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 20460 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 20461 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20462 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 20463 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20464 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 20465 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 20466 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 20467 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 20468 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 20469 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 20470 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 20471 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 20472 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 20473 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 20474 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 20475 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 20476 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 20477 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 20478 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 20479 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 20480 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 20481 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20482 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 20483 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20484 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 20485 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 20486 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 20487 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 20488 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 20489 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 20490 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20491 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 20492 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20493 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 20494 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 20495 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 20496 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 20497 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 20498 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 20499 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 20500 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 20501 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 20502 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 20503 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20504 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 20505 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20506 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 20507 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 20508 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 20509 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 20510 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 20511 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 20512 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 20513 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20514 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 20515 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20516 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 20517 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 20518 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 20519 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 20520 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 20521 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 20522 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20523 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 20524 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20525 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 20526 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 20527 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 20528 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 20529 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 20530 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 20531 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 20532 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20533 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 20534 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 20535 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 20536 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 20537 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20538 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20539 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 20540 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 20541 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 20542 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 20543 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20544 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 20545 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 20546 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 20547 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 20548 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 20549 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 20550 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 20551 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 20552 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 20553 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 20554 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 20555 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 20556 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 20557 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 20558 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 20559 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 20560 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 20561 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 20562 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 20563 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 20564 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 20565 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 20566 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 20567 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 20568 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 20569 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 20570 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20571 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 20572 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20573 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 20574 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 20575 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 20576 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 20577 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 20578 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 20579 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 20580 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 20581 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 20582 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 20583 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 20584 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 20585 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 20586 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 20587 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 20588 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 20589 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 20590 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 20591 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 20592 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 20593 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 20594 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 20595 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 20596 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 20597 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 20598 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 20599 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 20600 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 20601 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 20602 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 20603 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 20604 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 20605 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 20606 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 20607 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 20608 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 20609 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20610 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 20611 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20612 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 20613 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 20614 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 20615 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 20616 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 20617 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 20618 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 20619 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 20620 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 20621 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 20622 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 20623 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 20624 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 20625 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 20626 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 20627 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 20628 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 20629 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20630 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 20631 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20632 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 20633 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 20634 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 20635 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 20636 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 20637 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 20638 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20639 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 20640 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20641 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 20642 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 20643 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 20644 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 20645 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 20646 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 20647 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 20648 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 20649 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 20650 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 20651 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20652 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 20653 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20654 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 20655 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 20656 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 20657 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 20658 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 20659 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 20660 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 20661 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20662 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 20663 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20664 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 20665 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 20666 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 20667 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 20668 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 20669 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 20670 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20671 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 20672 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20673 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 20674 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 20675 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 20676 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 20677 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 20678 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 20679 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 20680 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20681 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 20682 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 20683 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 20684 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 20685 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20686 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20687 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 20688 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20689 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20690 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20691 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20692 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20693 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20694 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20695 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 20696 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 20697 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 20698 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20699 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20700 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20701 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 20702 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 20703 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 20704 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 20705 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 20706 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 20707 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 20708 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 20709 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 20710 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 20711 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 20712 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 20713 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 20714 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 20715 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 20716 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 20717 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 20718 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20719 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 20720 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20721 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 20722 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 20723 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 20724 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 20725 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 20726 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 20727 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 20728 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 20729 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 20730 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 20731 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 20732 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 20733 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 20734 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 20735 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 20736 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 20737 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 20738 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 20739 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 20740 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 20741 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 20742 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 20743 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 20744 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 20745 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 20746 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 20747 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 20748 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 20749 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 20750 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 20751 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 20752 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 20753 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 20754 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 20755 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 20756 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 20757 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20758 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 20759 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20760 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 20761 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 20762 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 20763 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 20764 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 20765 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 20766 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 20767 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 20768 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 20769 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 20770 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 20771 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 20772 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 20773 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 20774 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 20775 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 20776 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 20777 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20778 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 20779 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20780 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 20781 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 20782 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 20783 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 20784 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 20785 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 20786 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20787 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 20788 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20789 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 20790 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 20791 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 20792 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 20793 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 20794 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 20795 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 20796 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 20797 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 20798 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 20799 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20800 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 20801 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20802 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 20803 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 20804 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 20805 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 20806 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 20807 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 20808 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 20809 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20810 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 20811 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20812 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 20813 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 20814 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 20815 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 20816 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 20817 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 20818 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20819 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 20820 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20821 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 20822 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 20823 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 20824 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 20825 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 20826 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 20827 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 20828 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20829 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 20830 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 20831 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 20832 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 20833 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20834 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20835 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 20836 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 20837 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 20838 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 20839 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20840 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 20841 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 20842 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 20843 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 20844 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 20845 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 20846 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 20847 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 20848 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 20849 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 20850 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 20851 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 20852 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 20853 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 20854 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 20855 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 20856 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 20857 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 20858 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 20859 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 20860 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 20861 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 20862 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 20863 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 20864 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 20865 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 20866 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20867 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 20868 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20869 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 20870 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 20871 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 20872 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 20873 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 20874 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 20875 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 20876 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 20877 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 20878 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 20879 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 20880 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 20881 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 20882 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 20883 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 20884 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 20885 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 20886 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 20887 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 20888 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 20889 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 20890 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 20891 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 20892 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 20893 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 20894 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 20895 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 20896 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 20897 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 20898 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 20899 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 20900 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 20901 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 20902 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 20903 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 20904 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 20905 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20906 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 20907 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20908 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 20909 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 20910 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 20911 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 20912 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 20913 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 20914 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 20915 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 20916 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 20917 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 20918 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 20919 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 20920 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 20921 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 20922 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 20923 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 20924 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 20925 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20926 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 20927 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20928 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 20929 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 20930 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 20931 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 20932 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 20933 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 20934 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20935 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 20936 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20937 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 20938 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 20939 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 20940 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 20941 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 20942 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 20943 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 20944 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 20945 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 20946 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 20947 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20948 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 20949 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20950 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 20951 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 20952 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 20953 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 20954 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 20955 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 20956 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 20957 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20958 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 20959 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20960 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 20961 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 20962 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 20963 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 20964 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 20965 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 20966 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20967 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 20968 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20969 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 20970 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 20971 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 20972 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 20973 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 20974 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 20975 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 20976 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20977 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 20978 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 20979 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 20980 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 20981 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20982 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20983 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 20984 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20985 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20986 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20987 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20988 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20989 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20990 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20991 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 20992 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 20993 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 20994 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20995 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20996 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20997 /* Variable */ +#define UA_NS0ID_VERSIONTIME 20998 /* DataType */ +#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE 20999 /* DataType */ +#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE_ENCODING_DEFAULTXML 21000 /* Object */ +#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE_ENCODING_DEFAULTBINARY 21001 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDTARGETDATATYPE 21002 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 21003 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 21004 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 21005 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SUBSCRIBEDDATASET 21006 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 21007 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 21008 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATETARGETVARIABLES 21009 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATETARGETVARIABLES_INPUTARGUMENTS 21010 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATETARGETVARIABLES_OUTPUTARGUMENTS 21011 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATEDATASETMIRROR 21012 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATEDATASETMIRROR_INPUTARGUMENTS 21013 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATEDATASETMIRROR_OUTPUTARGUMENTS 21014 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS 21015 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 21016 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION 21017 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 21018 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 21019 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 21020 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 21021 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR 21022 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 21023 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 21024 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 21025 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 21026 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_RESET 21027 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_SUBERROR 21028 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS 21029 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 21030 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 21031 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 21032 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 21033 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 21034 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 21035 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 21036 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 21037 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 21038 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 21039 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 21040 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 21041 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 21042 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 21043 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 21044 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 21045 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 21046 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 21047 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 21048 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 21049 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 21050 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 21051 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 21052 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 21053 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 21054 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 21055 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 21056 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 21057 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 21058 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 21059 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES 21060 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES 21061 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_ACTIVE 21062 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_CLASSIFICATION 21063 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_DIAGNOSTICSLEVEL 21064 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_TIMEFIRSTCHANGE 21065 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES 21066 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_ACTIVE 21067 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_CLASSIFICATION 21068 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_DIAGNOSTICSLEVEL 21069 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_TIMEFIRSTCHANGE 21070 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 21071 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 21072 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 21073 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 21074 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 21075 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 21076 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 21077 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 21078 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 21079 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_TRANSPORTSETTINGS 21080 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_MESSAGESETTINGS 21081 /* Object */ +#define UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER 21082 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER_INPUTARGUMENTS 21083 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER_OUTPUTARGUMENTS 21084 /* Variable */ +#define UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER 21085 /* Method */ +#define UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER_INPUTARGUMENTS 21086 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPEADDREADERMETHODTYPE 21087 /* Method */ +#define UA_NS0ID_PUBSUBGROUPTYPEADDREADERMETHODTYPE_INPUTARGUMENTS 21088 /* Variable */ +#define UA_NS0ID_PUBSUBGROUPTYPEADDREADERMETHODTYPE_OUTPUTARGUMENTS 21089 /* Variable */ +#define UA_NS0ID_READERGROUPTRANSPORTTYPE 21090 /* ObjectType */ +#define UA_NS0ID_READERGROUPMESSAGETYPE 21091 /* ObjectType */ +#define UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERID 21092 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_DATASETFIELDCONTENTMASK 21093 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_KEYFRAMECOUNT 21094 /* Variable */ +#define UA_NS0ID_DATASETWRITERTYPE_MESSAGESETTINGS 21095 /* Object */ +#define UA_NS0ID_DATASETWRITERMESSAGETYPE 21096 /* ObjectType */ +#define UA_NS0ID_DATASETREADERTYPE_PUBLISHERID 21097 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_WRITERGROUPID 21098 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DATASETWRITERID 21099 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DATASETMETADATA 21100 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_DATASETFIELDCONTENTMASK 21101 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_MESSAGERECEIVETIMEOUT 21102 /* Variable */ +#define UA_NS0ID_DATASETREADERTYPE_MESSAGESETTINGS 21103 /* Object */ +#define UA_NS0ID_DATASETREADERMESSAGETYPE 21104 /* ObjectType */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE 21105 /* ObjectType */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_GROUPVERSION 21106 /* Variable */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_DATASETORDERING 21107 /* Variable */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21108 /* Variable */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_SAMPLINGOFFSET 21109 /* Variable */ +#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_PUBLISHINGOFFSET 21110 /* Variable */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE 21111 /* ObjectType */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21112 /* Variable */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_CONFIGUREDSIZE 21113 /* Variable */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_NETWORKMESSAGENUMBER 21114 /* Variable */ +#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_DATASETOFFSET 21115 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE 21116 /* ObjectType */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_GROUPVERSION 21117 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 21118 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_NETWORKMESSAGENUMBER 21119 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_DATASETCLASSID 21120 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21121 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21122 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_PUBLISHINGINTERVAL 21123 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_PROCESSINGOFFSET 21124 /* Variable */ +#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_RECEIVEOFFSET 21125 /* Variable */ +#define UA_NS0ID_JSONWRITERGROUPMESSAGETYPE 21126 /* ObjectType */ +#define UA_NS0ID_JSONWRITERGROUPMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21127 /* Variable */ +#define UA_NS0ID_JSONDATASETWRITERMESSAGETYPE 21128 /* ObjectType */ +#define UA_NS0ID_JSONDATASETWRITERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21129 /* Variable */ +#define UA_NS0ID_JSONDATASETREADERMESSAGETYPE 21130 /* ObjectType */ +#define UA_NS0ID_JSONDATASETREADERMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21131 /* Variable */ +#define UA_NS0ID_JSONDATASETREADERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21132 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE 21133 /* ObjectType */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_MESSAGEREPEATCOUNT 21134 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_MESSAGEREPEATDELAY 21135 /* Variable */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE 21136 /* ObjectType */ +#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_QUEUENAME 21137 /* Variable */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE 21138 /* ObjectType */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_QUEUENAME 21139 /* Variable */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_METADATAQUEUENAME 21140 /* Variable */ +#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_METADATAUPDATETIME 21141 /* Variable */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE 21142 /* ObjectType */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_QUEUENAME 21143 /* Variable */ +#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_METADATAQUEUENAME 21144 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSTYPE 21145 /* ObjectType */ +#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE 21146 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSURLTYPE 21147 /* ObjectType */ +#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE 21148 /* Variable */ +#define UA_NS0ID_NETWORKADDRESSURLTYPE_URL 21149 /* Variable */ +#define UA_NS0ID_WRITERGROUPDATATYPE_ENCODING_DEFAULTBINARY 21150 /* Object */ +#define UA_NS0ID_NETWORKADDRESSDATATYPE_ENCODING_DEFAULTBINARY 21151 /* Object */ +#define UA_NS0ID_NETWORKADDRESSURLDATATYPE_ENCODING_DEFAULTBINARY 21152 /* Object */ +#define UA_NS0ID_READERGROUPDATATYPE_ENCODING_DEFAULTBINARY 21153 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE_ENCODING_DEFAULTBINARY 21154 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 21155 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPDATATYPE 21156 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPDATATYPE_DATATYPEVERSION 21157 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPDATATYPE_DICTIONARYFRAGMENT 21158 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSDATATYPE 21159 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSDATATYPE_DATATYPEVERSION 21160 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSDATATYPE_DICTIONARYFRAGMENT 21161 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSURLDATATYPE 21162 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSURLDATATYPE_DATATYPEVERSION 21163 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSURLDATATYPE_DICTIONARYFRAGMENT 21164 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPDATATYPE 21165 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPDATATYPE_DATATYPEVERSION 21166 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPDATATYPE_DICTIONARYFRAGMENT 21167 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONDATATYPE 21168 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DATATYPEVERSION 21169 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DICTIONARYFRAGMENT 21170 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 21171 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 21172 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 21173 /* Variable */ +#define UA_NS0ID_WRITERGROUPDATATYPE_ENCODING_DEFAULTXML 21174 /* Object */ +#define UA_NS0ID_NETWORKADDRESSDATATYPE_ENCODING_DEFAULTXML 21175 /* Object */ +#define UA_NS0ID_NETWORKADDRESSURLDATATYPE_ENCODING_DEFAULTXML 21176 /* Object */ +#define UA_NS0ID_READERGROUPDATATYPE_ENCODING_DEFAULTXML 21177 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE_ENCODING_DEFAULTXML 21178 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 21179 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPDATATYPE 21180 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPDATATYPE_DATATYPEVERSION 21181 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPDATATYPE_DICTIONARYFRAGMENT 21182 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSDATATYPE 21183 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSDATATYPE_DATATYPEVERSION 21184 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSDATATYPE_DICTIONARYFRAGMENT 21185 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSURLDATATYPE 21186 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSURLDATATYPE_DATATYPEVERSION 21187 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSURLDATATYPE_DICTIONARYFRAGMENT 21188 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPDATATYPE 21189 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPDATATYPE_DATATYPEVERSION 21190 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPDATATYPE_DICTIONARYFRAGMENT 21191 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONDATATYPE 21192 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DATATYPEVERSION 21193 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DICTIONARYFRAGMENT 21194 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 21195 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 21196 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 21197 /* Variable */ +#define UA_NS0ID_WRITERGROUPDATATYPE_ENCODING_DEFAULTJSON 21198 /* Object */ +#define UA_NS0ID_NETWORKADDRESSDATATYPE_ENCODING_DEFAULTJSON 21199 /* Object */ +#define UA_NS0ID_NETWORKADDRESSURLDATATYPE_ENCODING_DEFAULTJSON 21200 /* Object */ +#define UA_NS0ID_READERGROUPDATATYPE_ENCODING_DEFAULTJSON 21201 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE_ENCODING_DEFAULTJSON 21202 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 21203 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 21204 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 21205 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 21206 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 21207 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 21208 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 21209 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 21210 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 21211 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 21212 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 21213 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 21214 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 21215 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 21216 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 21217 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21218 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 21219 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21220 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 21221 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 21222 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 21223 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 21224 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 21225 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 21226 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 21227 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 21228 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 21229 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 21230 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 21231 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 21232 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 21233 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 21234 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 21235 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 21236 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 21237 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 21238 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 21239 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 21240 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 21241 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 21242 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 21243 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 21244 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 21245 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 21246 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 21247 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 21248 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 21249 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 21250 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 21251 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 21252 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 21253 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 21254 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 21255 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 21256 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21257 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 21258 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21259 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 21260 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 21261 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 21262 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 21263 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 21264 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 21265 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 21266 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 21267 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 21268 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 21269 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 21270 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 21271 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 21272 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 21273 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 21274 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 21275 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 21276 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21277 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 21278 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21279 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 21280 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 21281 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 21282 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 21283 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 21284 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 21285 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21286 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 21287 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21288 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 21289 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 21290 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 21291 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 21292 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 21293 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 21294 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 21295 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 21296 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 21297 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 21298 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21299 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 21300 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21301 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 21302 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 21303 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 21304 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 21305 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 21306 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 21307 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 21308 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21309 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 21310 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21311 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 21312 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 21313 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 21314 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 21315 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 21316 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 21317 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21318 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 21319 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21320 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 21321 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 21322 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 21323 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 21324 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 21325 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 21326 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 21327 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21328 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 21329 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 21330 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 21331 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 21332 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21333 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21334 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 21335 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 21336 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 21337 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 21338 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21339 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 21340 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 21341 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 21342 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 21343 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 21344 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 21345 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 21346 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 21347 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 21348 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 21349 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 21350 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 21351 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 21352 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 21353 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 21354 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 21355 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 21356 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 21357 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 21358 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 21359 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 21360 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 21361 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 21362 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 21363 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 21364 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 21365 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21366 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 21367 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21368 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 21369 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 21370 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 21371 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 21372 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 21373 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 21374 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 21375 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 21376 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 21377 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 21378 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 21379 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 21380 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 21381 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 21382 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_UPDATEFREQUENCY 21383 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED 21384 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EVENTID 21385 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EVENTTYPE 21386 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SOURCENODE 21387 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SOURCENAME 21388 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_TIME 21389 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RECEIVETIME 21390 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LOCALTIME 21391 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_MESSAGE 21392 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SEVERITY 21393 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONCLASSID 21394 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 21395 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 21396 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 21397 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONNAME 21398 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_BRANCHID 21399 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RETAIN 21400 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE 21401 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 21402 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 21403 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 21404 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21405 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 21406 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21407 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 21408 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 21409 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_QUALITY 21410 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 21411 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LASTSEVERITY 21412 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 21413 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_COMMENT 21414 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 21415 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CLIENTUSERID 21416 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_DISABLE 21417 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLE 21418 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ADDCOMMENT 21419 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 21420 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE 21421 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_ID 21422 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 21423 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 21424 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21425 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 21426 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21427 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 21428 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 21429 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE 21430 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 21431 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 21432 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 21433 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21434 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 21435 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21436 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 21437 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 21438 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKNOWLEDGE 21439 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 21440 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRM 21441 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 21442 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE 21443 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_ID 21444 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 21445 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 21446 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21447 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 21448 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21449 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 21450 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 21451 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_INPUTNODE 21452 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 21453 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 21454 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 21455 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 21456 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21457 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 21458 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21459 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 21460 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 21461 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 21462 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 21463 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 21464 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 21465 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21466 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 21467 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21468 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 21469 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 21470 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE 21471 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 21472 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 21473 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 21474 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 21475 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21476 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 21477 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 21478 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 21479 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 21480 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21481 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21482 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 21483 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 21484 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 21485 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 21486 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21487 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 21488 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 21489 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 21490 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_MAXTIMESHELVED 21491 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLEENABLED 21492 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND 21493 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 21494 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 21495 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 21496 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE 21497 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_ID 21498 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_NAME 21499 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 21500 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 21501 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 21502 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 21503 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 21504 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 21505 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ONDELAY 21506 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OFFDELAY 21507 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 21508 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_FIRSTINGROUP 21509 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE 21510 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 21511 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 21512 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 21513 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21514 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 21515 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21516 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 21517 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 21518 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REALARMTIME 21519 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 21520 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCE 21521 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESS 21522 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_UNSUPPRESS 21523 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 21524 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_PLACEINSERVICE 21525 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RESET 21526 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_NORMALSTATE 21527 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EXPIRATIONDATE 21528 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 21529 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CERTIFICATETYPE 21530 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CERTIFICATE 21531 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE 21532 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_EVENTID 21533 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_EVENTTYPE 21534 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SOURCENODE 21535 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SOURCENAME 21536 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_TIME 21537 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RECEIVETIME 21538 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LOCALTIME 21539 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_MESSAGE 21540 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SEVERITY 21541 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 21542 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 21543 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 21544 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 21545 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONNAME 21546 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_BRANCHID 21547 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RETAIN 21548 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE 21549 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 21550 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 21551 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 21552 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21553 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 21554 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21555 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 21556 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 21557 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_QUALITY 21558 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 21559 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LASTSEVERITY 21560 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 21561 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_COMMENT 21562 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 21563 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CLIENTUSERID 21564 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_DISABLE 21565 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLE 21566 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ADDCOMMENT 21567 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 21568 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE 21569 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 21570 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 21571 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 21572 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21573 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 21574 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21575 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 21576 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 21577 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 21578 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 21579 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 21580 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 21581 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21582 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 21583 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21584 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 21585 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 21586 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 21587 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 21588 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRM 21589 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 21590 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE 21591 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 21592 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 21593 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 21594 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21595 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 21596 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21597 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 21598 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 21599 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_INPUTNODE 21600 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 21601 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 21602 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 21603 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 21604 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21605 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 21606 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21607 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 21608 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 21609 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 21610 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 21611 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 21612 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 21613 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21614 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 21615 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21616 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 21617 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 21618 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE 21619 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 21620 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 21621 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 21622 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 21623 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21624 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 21625 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 21626 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 21627 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 21628 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21629 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21630 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 21631 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 21632 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 21633 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 21634 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21635 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 21636 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 21637 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 21638 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 21639 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 21640 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND 21641 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 21642 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 21643 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 21644 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE 21645 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 21646 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 21647 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 21648 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 21649 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 21650 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 21651 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 21652 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 21653 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ONDELAY 21654 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OFFDELAY 21655 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 21656 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_FIRSTINGROUP 21657 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE 21658 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 21659 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 21660 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 21661 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21662 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 21663 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21664 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 21665 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 21666 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REALARMTIME 21667 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 21668 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCE 21669 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESS 21670 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UNSUPPRESS 21671 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 21672 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_PLACEINSERVICE 21673 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RESET 21674 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_NORMALSTATE 21675 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_TRUSTLISTID 21676 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LASTUPDATETIME 21677 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 21678 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 21679 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 21680 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 21681 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 21682 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 21683 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 21684 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 21685 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 21686 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 21687 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 21688 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 21689 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 21690 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 21691 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 21692 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 21693 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 21694 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 21695 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 21696 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 21697 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 21698 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 21699 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 21700 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21701 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 21702 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21703 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 21704 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 21705 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 21706 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 21707 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 21708 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 21709 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 21710 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 21711 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 21712 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 21713 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 21714 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 21715 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 21716 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 21717 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 21718 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 21719 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 21720 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21721 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 21722 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21723 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 21724 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 21725 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 21726 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 21727 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 21728 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 21729 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21730 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 21731 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21732 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 21733 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 21734 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 21735 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 21736 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 21737 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 21738 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 21739 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 21740 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 21741 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 21742 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21743 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 21744 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21745 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 21746 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 21747 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 21748 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 21749 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 21750 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 21751 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 21752 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21753 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 21754 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21755 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 21756 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 21757 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 21758 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 21759 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 21760 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 21761 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21762 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 21763 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21764 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 21765 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 21766 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 21767 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 21768 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 21769 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 21770 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 21771 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21772 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 21773 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 21774 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 21775 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 21776 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21777 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21778 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 21779 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 21780 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 21781 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 21782 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21783 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 21784 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 21785 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 21786 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 21787 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 21788 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 21789 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 21790 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 21791 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 21792 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 21793 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 21794 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 21795 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 21796 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 21797 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 21798 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 21799 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 21800 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 21801 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 21802 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 21803 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 21804 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 21805 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 21806 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 21807 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 21808 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 21809 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21810 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 21811 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21812 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 21813 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 21814 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 21815 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 21816 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 21817 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 21818 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 21819 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 21820 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 21821 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 21822 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 21823 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 21824 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 21825 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 21826 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 21827 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 21828 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 21829 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 21830 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 21831 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 21832 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 21833 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 21834 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 21835 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 21836 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 21837 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 21838 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 21839 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 21840 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 21841 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 21842 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 21843 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 21844 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 21845 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 21846 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 21847 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 21848 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21849 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 21850 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21851 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 21852 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 21853 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 21854 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 21855 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 21856 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 21857 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 21858 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 21859 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 21860 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 21861 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 21862 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 21863 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 21864 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 21865 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 21866 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 21867 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 21868 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21869 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 21870 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21871 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 21872 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 21873 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 21874 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 21875 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 21876 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 21877 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21878 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 21879 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21880 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 21881 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 21882 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 21883 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 21884 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 21885 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 21886 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 21887 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 21888 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 21889 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 21890 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21891 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 21892 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21893 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 21894 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 21895 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 21896 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 21897 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 21898 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 21899 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 21900 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21901 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 21902 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21903 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 21904 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 21905 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 21906 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 21907 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 21908 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 21909 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21910 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 21911 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21912 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 21913 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 21914 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 21915 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 21916 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 21917 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 21918 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 21919 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21920 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 21921 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 21922 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 21923 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 21924 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21925 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21926 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 21927 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 21928 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 21929 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 21930 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21931 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 21932 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 21933 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 21934 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 21935 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 21936 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 21937 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 21938 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 21939 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 21940 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 21941 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 21942 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 21943 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 21944 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 21945 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 21946 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 21947 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 21948 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 21949 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 21950 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 21951 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 21952 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 21953 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 21954 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 21955 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 21956 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 21957 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21958 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 21959 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21960 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 21961 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 21962 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 21963 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 21964 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 21965 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 21966 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 21967 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 21968 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 21969 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 21970 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 21971 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 21972 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 21973 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 21974 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 21975 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 21976 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 21977 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 21978 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 21979 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 21980 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 21981 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 21982 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 21983 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 21984 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 21985 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 21986 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 21987 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 21988 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 21989 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 21990 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 21991 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 21992 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 21993 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 21994 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 21995 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 21996 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21997 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 21998 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21999 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22000 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22001 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 22002 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22003 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22004 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22005 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 22006 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22007 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22008 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 22009 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 22010 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22011 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22012 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22013 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22014 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22015 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22016 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22017 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22018 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22019 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22020 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22021 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22022 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22023 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22024 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22025 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22026 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22027 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22028 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22029 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22030 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22031 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22032 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 22033 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22034 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22035 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22036 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22037 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22038 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22039 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22040 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22041 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22042 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22043 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 22044 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22045 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22046 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22047 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22048 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22049 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22050 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22051 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22052 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22053 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22054 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22055 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22056 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22057 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22058 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22059 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22060 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22061 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22062 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22063 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22064 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22065 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22066 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22067 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22068 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22069 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22070 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22071 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22072 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22073 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22074 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22075 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22076 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22077 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22078 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22079 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22080 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22081 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22082 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22083 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22084 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22085 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22086 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22087 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22088 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22089 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22090 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22091 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22092 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22093 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22094 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22095 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22096 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22097 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 22098 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 22099 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22100 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22101 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22102 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22103 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22104 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22105 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22106 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22107 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22108 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22109 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22110 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 22111 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 22112 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 22113 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 22114 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 22115 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 22116 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 22117 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 22118 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 22119 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 22120 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 22121 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 22122 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 22123 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 22124 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 22125 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 22126 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 22127 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 22128 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 22129 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 22130 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 22131 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 22132 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 22133 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 22134 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 22135 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 22136 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 22137 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 22138 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 22139 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 22140 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 22141 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 22142 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 22143 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 22144 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22145 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 22146 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22147 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 22148 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 22149 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 22150 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 22151 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 22152 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 22153 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 22154 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 22155 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 22156 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 22157 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 22158 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 22159 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 22160 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 22161 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 22162 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 22163 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 22164 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22165 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 22166 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22167 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 22168 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 22169 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 22170 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 22171 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 22172 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 22173 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22174 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 22175 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22176 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 22177 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 22178 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 22179 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 22180 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 22181 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 22182 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 22183 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 22184 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 22185 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 22186 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22187 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 22188 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22189 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 22190 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 22191 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 22192 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 22193 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 22194 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 22195 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 22196 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22197 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 22198 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22199 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 22200 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 22201 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 22202 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 22203 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 22204 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 22205 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22206 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 22207 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22208 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 22209 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 22210 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 22211 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 22212 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 22213 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 22214 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 22215 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22216 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 22217 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 22218 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 22219 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 22220 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22221 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22222 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 22223 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 22224 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 22225 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 22226 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22227 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 22228 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 22229 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 22230 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 22231 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 22232 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 22233 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 22234 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 22235 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 22236 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 22237 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 22238 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 22239 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 22240 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 22241 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 22242 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 22243 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 22244 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 22245 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 22246 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 22247 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 22248 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 22249 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 22250 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 22251 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 22252 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 22253 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22254 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 22255 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22256 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 22257 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 22258 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 22259 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 22260 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 22261 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 22262 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 22263 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 22264 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 22265 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 22266 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 22267 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 22268 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 22269 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 22270 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 22271 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 22272 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 22273 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 22274 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 22275 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 22276 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 22277 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 22278 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 22279 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 22280 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 22281 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 22282 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 22283 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 22284 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 22285 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 22286 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 22287 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 22288 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 22289 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 22290 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 22291 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 22292 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22293 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 22294 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22295 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22296 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22297 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 22298 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22299 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22300 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22301 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 22302 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22303 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22304 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 22305 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 22306 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22307 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22308 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22309 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22310 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22311 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22312 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22313 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22314 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22315 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22316 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22317 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22318 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22319 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22320 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22321 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22322 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22323 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22324 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22325 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22326 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22327 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22328 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 22329 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22330 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22331 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22332 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22333 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22334 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22335 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22336 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22337 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22338 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22339 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 22340 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22341 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22342 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22343 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22344 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22345 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22346 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22347 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22348 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22349 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22350 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22351 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22352 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22353 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22354 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22355 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22356 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22357 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22358 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22359 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22360 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22361 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22362 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22363 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22364 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22365 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22366 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22367 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22368 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22369 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22370 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22371 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22372 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22373 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22374 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22375 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22376 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22377 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22378 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22379 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22380 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22381 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22382 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22383 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22384 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22385 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22386 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22387 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22388 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22389 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22390 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22391 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22392 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22393 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 22394 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 22395 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22396 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22397 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22398 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22399 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22400 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22401 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22402 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22403 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22404 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22405 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22406 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 22407 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 22408 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 22409 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 22410 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 22411 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 22412 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 22413 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 22414 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 22415 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 22416 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 22417 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 22418 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 22419 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 22420 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 22421 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 22422 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 22423 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 22424 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 22425 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 22426 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 22427 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 22428 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 22429 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 22430 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 22431 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 22432 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 22433 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 22434 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 22435 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 22436 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 22437 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 22438 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 22439 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 22440 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22441 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 22442 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22443 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 22444 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 22445 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 22446 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 22447 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 22448 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 22449 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 22450 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 22451 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 22452 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 22453 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 22454 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 22455 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 22456 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 22457 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 22458 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 22459 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 22460 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22461 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 22462 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22463 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 22464 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 22465 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 22466 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 22467 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 22468 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 22469 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22470 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 22471 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22472 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 22473 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 22474 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 22475 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 22476 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 22477 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 22478 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 22479 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 22480 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 22481 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 22482 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22483 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 22484 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22485 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 22486 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 22487 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 22488 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 22489 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 22490 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 22491 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 22492 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22493 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 22494 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22495 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 22496 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 22497 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 22498 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 22499 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 22500 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 22501 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22502 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 22503 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22504 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 22505 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 22506 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 22507 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 22508 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 22509 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 22510 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 22511 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22512 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 22513 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 22514 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 22515 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 22516 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22517 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22518 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 22519 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 22520 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 22521 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 22522 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22523 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 22524 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 22525 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 22526 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 22527 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 22528 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 22529 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 22530 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 22531 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 22532 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 22533 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 22534 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 22535 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 22536 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 22537 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 22538 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 22539 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 22540 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 22541 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 22542 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 22543 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 22544 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 22545 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 22546 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 22547 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 22548 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 22549 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22550 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 22551 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22552 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 22553 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 22554 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 22555 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 22556 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 22557 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 22558 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 22559 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 22560 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 22561 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 22562 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 22563 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 22564 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 22565 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 22566 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 22567 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 22568 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 22569 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 22570 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 22571 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 22572 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 22573 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 22574 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 22575 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 22576 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 22577 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 22578 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 22579 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 22580 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 22581 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 22582 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 22583 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 22584 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 22585 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 22586 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 22587 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 22588 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22589 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 22590 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22591 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22592 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22593 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 22594 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22595 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22596 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22597 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 22598 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22599 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22600 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 22601 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 22602 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22603 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22604 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22605 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22606 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22607 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22608 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22609 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22610 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22611 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22612 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22613 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22614 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22615 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22616 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22617 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22618 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22619 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22620 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22621 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22622 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22623 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22624 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 22625 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22626 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22627 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22628 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22629 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22630 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22631 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22632 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22633 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22634 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22635 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 22636 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22637 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22638 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22639 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22640 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22641 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22642 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22643 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22644 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22645 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22646 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22647 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22648 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22649 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22650 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22651 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22652 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22653 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22654 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22655 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22656 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22657 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22658 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22659 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22660 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22661 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22662 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22663 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22664 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22665 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22666 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22667 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22668 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22669 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22670 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22671 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22672 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22673 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22674 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22675 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22676 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22677 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22678 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22679 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22680 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22681 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22682 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22683 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22684 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22685 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22686 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22687 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22688 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22689 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 22690 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 22691 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22692 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22693 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22694 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22695 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22696 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22697 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22698 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22699 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22700 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22701 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22702 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 22703 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 22704 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 22705 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 22706 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 22707 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 22708 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 22709 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 22710 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 22711 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 22712 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 22713 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 22714 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 22715 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 22716 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 22717 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 22718 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 22719 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 22720 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 22721 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 22722 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 22723 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 22724 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 22725 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 22726 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 22727 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 22728 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 22729 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 22730 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 22731 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 22732 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 22733 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 22734 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 22735 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 22736 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22737 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 22738 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22739 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 22740 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 22741 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 22742 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 22743 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 22744 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 22745 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 22746 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 22747 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 22748 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 22749 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 22750 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 22751 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 22752 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 22753 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 22754 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 22755 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 22756 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22757 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 22758 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22759 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 22760 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 22761 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 22762 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 22763 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 22764 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 22765 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22766 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 22767 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22768 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 22769 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 22770 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 22771 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 22772 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 22773 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 22774 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 22775 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 22776 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 22777 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 22778 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22779 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 22780 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22781 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 22782 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 22783 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 22784 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 22785 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 22786 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 22787 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 22788 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22789 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 22790 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22791 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 22792 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 22793 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 22794 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 22795 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 22796 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 22797 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22798 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 22799 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22800 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 22801 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 22802 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 22803 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 22804 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 22805 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 22806 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 22807 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22808 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 22809 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 22810 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 22811 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 22812 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22813 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22814 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 22815 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 22816 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 22817 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 22818 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22819 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 22820 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 22821 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 22822 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 22823 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 22824 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 22825 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 22826 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 22827 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 22828 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 22829 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 22830 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 22831 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 22832 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 22833 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 22834 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 22835 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 22836 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 22837 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 22838 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 22839 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 22840 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 22841 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 22842 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 22843 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 22844 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 22845 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22846 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 22847 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22848 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 22849 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 22850 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 22851 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 22852 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 22853 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 22854 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 22855 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 22856 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 22857 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 22858 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 22859 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 22860 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 22861 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 22862 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 22863 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 22864 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 22865 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 22866 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 22867 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 22868 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 22869 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 22870 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 22871 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 22872 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 22873 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 22874 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 22875 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 22876 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 22877 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 22878 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 22879 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 22880 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 22881 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 22882 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 22883 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 22884 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22885 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 22886 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22887 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22888 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22889 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 22890 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22891 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22892 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22893 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 22894 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22895 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22896 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 22897 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 22898 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22899 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22900 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22901 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22902 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22903 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22904 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22905 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22906 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22907 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22908 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22909 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22910 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22911 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22912 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22913 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22914 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22915 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22916 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22917 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22918 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22919 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22920 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 22921 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22922 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22923 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22924 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22925 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22926 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22927 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22928 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22929 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22930 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22931 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 22932 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22933 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22934 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22935 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22936 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22937 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22938 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22939 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22940 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22941 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22942 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22943 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22944 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22945 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22946 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22947 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22948 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22949 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22950 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22951 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22952 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22953 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22954 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22955 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22956 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22957 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22958 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22959 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22960 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22961 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22962 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22963 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22964 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22965 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22966 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22967 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22968 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22969 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22970 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22971 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22972 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22973 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22974 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22975 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22976 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22977 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22978 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22979 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22980 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22981 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22982 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22983 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22984 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22985 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 22986 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 22987 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22988 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22989 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22990 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22991 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22992 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22993 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22994 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22995 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22996 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22997 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22998 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 22999 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 23000 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 23001 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 23002 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 23003 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 23004 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 23005 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 23006 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 23007 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 23008 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 23009 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 23010 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 23011 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 23012 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 23013 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 23014 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 23015 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 23016 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 23017 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 23018 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 23019 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 23020 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 23021 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 23022 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 23023 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 23024 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 23025 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 23026 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 23027 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 23028 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 23029 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 23030 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 23031 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 23032 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 23033 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 23034 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 23035 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 23036 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 23037 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 23038 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 23039 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 23040 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 23041 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 23042 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 23043 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 23044 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 23045 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 23046 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 23047 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 23048 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 23049 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 23050 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 23051 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 23052 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 23053 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 23054 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 23055 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 23056 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 23057 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 23058 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 23059 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 23060 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 23061 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 23062 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 23063 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 23064 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 23065 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 23066 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 23067 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 23068 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 23069 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 23070 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 23071 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 23072 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 23073 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 23074 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 23075 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 23076 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 23077 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 23078 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 23079 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 23080 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 23081 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 23082 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 23083 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 23084 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 23085 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 23086 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 23087 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 23088 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 23089 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 23090 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 23091 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 23092 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 23093 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 23094 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 23095 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 23096 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 23097 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 23098 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 23099 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 23100 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 23101 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 23102 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 23103 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 23104 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 23105 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 23106 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 23107 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 23108 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 23109 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 23110 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 23111 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 23112 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 23113 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 23114 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 23115 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 23116 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 23117 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 23118 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 23119 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 23120 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 23121 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 23122 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 23123 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 23124 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 23125 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 23126 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 23127 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 23128 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 23129 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 23130 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 23131 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 23132 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 23133 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 23134 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 23135 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 23136 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 23137 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 23138 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 23139 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 23140 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 23141 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 23142 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 23143 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 23144 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 23145 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 23146 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 23147 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 23148 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 23149 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 23150 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 23151 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 23152 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 23153 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 23154 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 23155 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 23156 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 23157 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 23158 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 23159 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 23160 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 23161 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 23162 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 23163 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 23164 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 23165 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 23166 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 23167 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 23168 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 23169 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 23170 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 23171 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 23172 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 23173 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 23174 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 23175 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 23176 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 23177 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 23178 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 23179 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 23180 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 23181 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 23182 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 23183 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 23184 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 23185 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 23186 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 23187 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 23188 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 23189 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 23190 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 23191 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 23192 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 23193 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 23194 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 23195 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 23196 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 23197 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 23198 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 23199 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 23200 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 23201 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 23202 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 23203 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 23204 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 23205 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 23206 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 23207 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 23208 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 23209 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 23210 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 23211 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 23212 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 23213 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 23214 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 23215 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 23216 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 23217 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 23218 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 23219 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 23220 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 23221 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 23222 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 23223 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 23224 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 23225 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 23226 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 23227 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 23228 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 23229 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 23230 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 23231 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 23232 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 23233 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 23234 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 23235 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 23236 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 23237 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 23238 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 23239 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 23240 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 23241 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 23242 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 23243 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 23244 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 23245 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 23246 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 23247 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 23248 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 23249 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 23250 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 23251 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 23252 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 23253 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 23254 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 23255 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 23256 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 23257 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 23258 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 23259 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 23260 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 23261 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 23262 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 23263 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 23264 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 23265 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 23266 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 23267 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 23268 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 23269 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 23270 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 23271 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 23272 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 23273 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 23274 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 23275 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 23276 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 23277 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 23278 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 23279 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 23280 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 23281 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 23282 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 23283 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 23284 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 23285 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 23286 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 23287 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 23288 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 23289 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 23290 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 23291 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 23292 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 23293 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 23294 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 23295 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 23296 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 23297 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 23298 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 23299 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 23300 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 23301 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 23302 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 23303 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 23304 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 23305 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 23306 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 23307 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 23308 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 23309 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 23310 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 23311 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 23312 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 23313 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 23314 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 23315 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 23316 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 23317 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 23318 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 23319 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 23320 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 23321 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 23322 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 23323 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 23324 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 23325 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 23326 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 23327 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 23328 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 23329 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 23330 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 23331 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 23332 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 23333 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 23334 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 23335 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 23336 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 23337 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 23338 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 23339 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 23340 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 23341 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 23342 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 23343 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 23344 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 23345 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 23346 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 23347 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 23348 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 23349 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 23350 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 23351 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 23352 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 23353 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 23354 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 23355 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 23356 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 23357 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 23358 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 23359 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 23360 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 23361 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 23362 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 23363 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 23364 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 23365 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 23366 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 23367 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 23368 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 23369 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 23370 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 23371 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 23372 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 23373 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 23374 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 23375 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 23376 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 23377 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 23378 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 23379 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 23380 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 23381 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 23382 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 23383 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 23384 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 23385 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 23386 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 23387 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 23388 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 23389 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 23390 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 23391 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 23392 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 23393 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 23394 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 23395 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 23396 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 23397 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 23398 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 23399 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 23400 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 23401 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 23402 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 23403 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 23404 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 23405 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 23406 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 23407 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 23408 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 23409 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 23410 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 23411 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 23412 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 23413 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 23414 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 23415 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 23416 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 23417 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 23418 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 23419 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 23420 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 23421 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 23422 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 23423 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 23424 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 23425 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 23426 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 23427 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 23428 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 23429 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 23430 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 23431 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 23432 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 23433 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 23434 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 23435 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 23436 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 23437 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 23438 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 23439 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 23440 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 23441 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 23442 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 23443 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 23444 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 23445 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 23446 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 23447 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 23448 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 23449 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 23450 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 23451 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 23452 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 23453 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 23454 /* Variable */ +#define UA_NS0ID_ALIASNAMETYPE 23455 /* ObjectType */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE 23456 /* ObjectType */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_ALIAS_PLACEHOLDER 23457 /* Object */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER 23458 /* Object */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23459 /* Method */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23460 /* Variable */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23461 /* Variable */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_FINDALIAS 23462 /* Method */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_FINDALIAS_INPUTARGUMENTS 23463 /* Variable */ +#define UA_NS0ID_ALIASNAMECATEGORYTYPE_FINDALIAS_OUTPUTARGUMENTS 23464 /* Variable */ +#define UA_NS0ID_FINDALIASMETHODTYPE 23465 /* Method */ +#define UA_NS0ID_FINDALIASMETHODTYPE_INPUTARGUMENTS 23466 /* Variable */ +#define UA_NS0ID_FINDALIASMETHODTYPE_OUTPUTARGUMENTS 23467 /* Variable */ +#define UA_NS0ID_ALIASNAMEDATATYPE 23468 /* DataType */ +#define UA_NS0ID_ALIASFOR 23469 /* ReferenceType */ +#define UA_NS0ID_ALIASES 23470 /* Object */ +#define UA_NS0ID_ALIASES_ALIAS_PLACEHOLDER 23471 /* Object */ +#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER 23472 /* Object */ +#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23473 /* Method */ +#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23474 /* Variable */ +#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23475 /* Variable */ +#define UA_NS0ID_ALIASES_FINDALIAS 23476 /* Method */ +#define UA_NS0ID_ALIASES_FINDALIAS_INPUTARGUMENTS 23477 /* Variable */ +#define UA_NS0ID_ALIASES_FINDALIAS_OUTPUTARGUMENTS 23478 /* Variable */ +#define UA_NS0ID_TAGVARIABLES 23479 /* Object */ +#define UA_NS0ID_TAGVARIABLES_ALIAS_PLACEHOLDER 23480 /* Object */ +#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER 23481 /* Object */ +#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23482 /* Method */ +#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23483 /* Variable */ +#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23484 /* Variable */ +#define UA_NS0ID_TAGVARIABLES_FINDALIAS 23485 /* Method */ +#define UA_NS0ID_TAGVARIABLES_FINDALIAS_INPUTARGUMENTS 23486 /* Variable */ +#define UA_NS0ID_TAGVARIABLES_FINDALIAS_OUTPUTARGUMENTS 23487 /* Variable */ +#define UA_NS0ID_TOPICS 23488 /* Object */ +#define UA_NS0ID_TOPICS_ALIAS_PLACEHOLDER 23489 /* Object */ +#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER 23490 /* Object */ +#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23491 /* Method */ +#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23492 /* Variable */ +#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23493 /* Variable */ +#define UA_NS0ID_TOPICS_FINDALIAS 23494 /* Method */ +#define UA_NS0ID_TOPICS_FINDALIAS_INPUTARGUMENTS 23495 /* Variable */ +#define UA_NS0ID_TOPICS_FINDALIAS_OUTPUTARGUMENTS 23496 /* Variable */ +#define UA_NS0ID_READANNOTATIONDATADETAILS 23497 /* DataType */ +#define UA_NS0ID_CURRENCYUNITTYPE 23498 /* DataType */ +#define UA_NS0ID_ALIASNAMEDATATYPE_ENCODING_DEFAULTBINARY 23499 /* Object */ +#define UA_NS0ID_READANNOTATIONDATADETAILS_ENCODING_DEFAULTBINARY 23500 /* Object */ +#define UA_NS0ID_CURRENCYUNIT 23501 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ALIASNAMEDATATYPE 23502 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ALIASNAMEDATATYPE_DATATYPEVERSION 23503 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_ALIASNAMEDATATYPE_DICTIONARYFRAGMENT 23504 /* Variable */ +#define UA_NS0ID_ALIASNAMEDATATYPE_ENCODING_DEFAULTXML 23505 /* Object */ +#define UA_NS0ID_READANNOTATIONDATADETAILS_ENCODING_DEFAULTXML 23506 /* Object */ +#define UA_NS0ID_CURRENCYUNITTYPE_ENCODING_DEFAULTBINARY 23507 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ALIASNAMEDATATYPE 23508 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ALIASNAMEDATATYPE_DATATYPEVERSION 23509 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_ALIASNAMEDATATYPE_DICTIONARYFRAGMENT 23510 /* Variable */ +#define UA_NS0ID_ALIASNAMEDATATYPE_ENCODING_DEFAULTJSON 23511 /* Object */ +#define UA_NS0ID_READANNOTATIONDATADETAILS_ENCODING_DEFAULTJSON 23512 /* Object */ +#define UA_NS0ID_IORDEREDOBJECTTYPE 23513 /* ObjectType */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CURRENCYUNITTYPE 23514 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CURRENCYUNITTYPE_DATATYPEVERSION 23515 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_CURRENCYUNITTYPE_DICTIONARYFRAGMENT 23516 /* Variable */ +#define UA_NS0ID_IORDEREDOBJECTTYPE_NUMBERINLIST 23517 /* Variable */ +#define UA_NS0ID_ORDEREDLISTTYPE 23518 /* ObjectType */ +#define UA_NS0ID_ORDEREDLISTTYPE_ORDEREDOBJECT_PLACEHOLDER 23519 /* Object */ +#define UA_NS0ID_CURRENCYUNITTYPE_ENCODING_DEFAULTXML 23520 /* Object */ +#define UA_NS0ID_ORDEREDLISTTYPE_ORDEREDOBJECT_PLACEHOLDER_NUMBERINLIST 23521 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CURRENCYUNITTYPE 23522 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CURRENCYUNITTYPE_DATATYPEVERSION 23523 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_CURRENCYUNITTYPE_DICTIONARYFRAGMENT 23524 /* Variable */ +#define UA_NS0ID_ORDEREDLISTTYPE_NODEVERSION 23525 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_GETREJECTEDLIST 23526 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_GETREJECTEDLIST_OUTPUTARGUMENTS 23527 /* Variable */ +#define UA_NS0ID_CURRENCYUNITTYPE_ENCODING_DEFAULTJSON 23528 /* Object */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 23529 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23530 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_GETREJECTEDLIST 23531 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23532 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 23533 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23534 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_GETREJECTEDLIST 23535 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_GETREJECTEDLIST_OUTPUTARGUMENTS 23536 /* Variable */ +#define UA_NS0ID_ECCAPPLICATIONCERTIFICATETYPE 23537 /* ObjectType */ +#define UA_NS0ID_ECCNISTP256APPLICATIONCERTIFICATETYPE 23538 /* ObjectType */ +#define UA_NS0ID_ECCNISTP384APPLICATIONCERTIFICATETYPE 23539 /* ObjectType */ +#define UA_NS0ID_ECCBRAINPOOLP256R1APPLICATIONCERTIFICATETYPE 23540 /* ObjectType */ +#define UA_NS0ID_ECCBRAINPOOLP384R1APPLICATIONCERTIFICATETYPE 23541 /* ObjectType */ +#define UA_NS0ID_ECCCURVE25519APPLICATIONCERTIFICATETYPE 23542 /* ObjectType */ +#define UA_NS0ID_ECCCURVE448APPLICATIONCERTIFICATETYPE 23543 /* ObjectType */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 23544 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23545 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 23546 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23547 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 23548 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23549 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 23550 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23551 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 23552 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23553 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 23554 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23555 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE 23556 /* ObjectType */ +#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER 23557 /* Object */ +#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_SERVICEURI 23558 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_SERVICECERTIFICATE 23559 /* Variable */ +#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_ISSUERENDPOINTURL 23560 /* Variable */ +#define UA_NS0ID_ISDEPRECATED 23562 /* ReferenceType */ +#define UA_NS0ID_TRUSTLISTTYPE_DEFAULTVALIDATIONOPTIONS 23563 /* Variable */ +#define UA_NS0ID_TRUSTLISTVALIDATIONOPTIONS 23564 /* DataType */ +#define UA_NS0ID_TRUSTLISTVALIDATIONOPTIONS_OPTIONSETVALUES 23565 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23566 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23567 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23568 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23569 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23570 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23571 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23572 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23573 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23574 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23575 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23576 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_HASSECUREELEMENT 23593 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_HASSECUREELEMENT 23597 /* Variable */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE 23599 /* DataType */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE 23600 /* DataType */ +#define UA_NS0ID_SECURITYGROUPDATATYPE 23601 /* DataType */ +#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE 23602 /* DataType */ +#define UA_NS0ID_QOSDATATYPE 23603 /* DataType */ +#define UA_NS0ID_TRANSMITQOSDATATYPE 23604 /* DataType */ +#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE 23605 /* DataType */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE 23606 /* ObjectType */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_EVENTID 23607 /* Variable */ +#define UA_NS0ID_RECEIVEQOSDATATYPE 23608 /* DataType */ +#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE 23609 /* DataType */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_EVENTTYPE 23610 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SOURCENODE 23611 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 23612 /* DataType */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 23613 /* DataType */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE 23614 /* DataType */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS 23622 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER 23637 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 23638 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 23639 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER 23640 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 23641 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES 23642 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXPUBSUBCONNECTIONS 23643 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXWRITERGROUPS 23644 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXREADERGROUPS 23645 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXDATASETWRITERS 23646 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXDATASETREADERS 23647 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXFIELDSPERDATASET 23648 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DATASETCLASSES 23649 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS 23658 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER 23673 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 23674 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 23675 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER 23676 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 23677 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES 23678 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXPUBSUBCONNECTIONS 23679 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXWRITERGROUPS 23680 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXREADERGROUPS 23681 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXDATASETWRITERS 23682 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXDATASETREADERS 23683 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXFIELDSPERDATASET 23684 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DATASETCLASSES 23685 /* Object */ +#define UA_NS0ID_GETCONNECTIONMETHODTYPE 23726 /* Method */ +#define UA_NS0ID_GETCONNECTIONMETHODTYPE_INPUTARGUMENTS 23727 /* Variable */ +#define UA_NS0ID_GETCONNECTIONMETHODTYPE_OUTPUTARGUMENTS 23728 /* Variable */ +#define UA_NS0ID_MODIFYCONNECTIONMETHODTYPE 23729 /* Method */ +#define UA_NS0ID_MODIFYCONNECTIONMETHODTYPE_INPUTARGUMENTS 23730 /* Variable */ +#define UA_NS0ID_MODIFYCONNECTIONMETHODTYPE_OUTPUTARGUMENTS 23731 /* Variable */ +#define UA_NS0ID_GETWRITERGROUPMETHODTYPE 23745 /* Method */ +#define UA_NS0ID_GETWRITERGROUPMETHODTYPE_INPUTARGUMENTS 23746 /* Variable */ +#define UA_NS0ID_GETWRITERGROUPMETHODTYPE_OUTPUTARGUMENTS 23747 /* Variable */ +#define UA_NS0ID_MODIFYWRITERGROUPMETHODTYPE 23748 /* Method */ +#define UA_NS0ID_MODIFYWRITERGROUPMETHODTYPE_INPUTARGUMENTS 23749 /* Variable */ +#define UA_NS0ID_MODIFYWRITERGROUPMETHODTYPE_OUTPUTARGUMENTS 23750 /* Variable */ +#define UA_NS0ID_URISTRING 23751 /* DataType */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSESSIONS 23752 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSUBSCRIPTIONS 23753 /* Variable */ +#define UA_NS0ID_GETREADERGROUPMETHODTYPE 23767 /* Method */ +#define UA_NS0ID_GETREADERGROUPMETHODTYPE_INPUTARGUMENTS 23768 /* Variable */ +#define UA_NS0ID_GETREADERGROUPMETHODTYPE_OUTPUTARGUMENTS 23769 /* Variable */ +#define UA_NS0ID_MODIFYREADERGROUPMETHODTYPE 23770 /* Method */ +#define UA_NS0ID_MODIFYREADERGROUPMETHODTYPE_INPUTARGUMENTS 23771 /* Variable */ +#define UA_NS0ID_MODIFYREADERGROUPMETHODTYPE_OUTPUTARGUMENTS 23772 /* Variable */ +#define UA_NS0ID_GETDATASETWRITERMETHODTYPE 23779 /* Method */ +#define UA_NS0ID_GETDATASETWRITERMETHODTYPE_OUTPUTARGUMENTS 23780 /* Variable */ +#define UA_NS0ID_MODIFYDATASETWRITERMETHODTYPE 23781 /* Method */ +#define UA_NS0ID_MODIFYDATASETWRITERMETHODTYPE_INPUTARGUMENTS 23782 /* Variable */ +#define UA_NS0ID_MODIFYDATASETWRITERMETHODTYPE_OUTPUTARGUMENTS 23783 /* Variable */ +#define UA_NS0ID_GETDATASETREADERMETHODTYPE 23790 /* Method */ +#define UA_NS0ID_GETDATASETREADERMETHODTYPE_OUTPUTARGUMENTS 23791 /* Variable */ +#define UA_NS0ID_MODIFYDATASETREADERMETHODTYPE 23792 /* Method */ +#define UA_NS0ID_MODIFYDATASETREADERMETHODTYPE_INPUTARGUMENTS 23793 /* Variable */ +#define UA_NS0ID_MODIFYDATASETREADERMETHODTYPE_OUTPUTARGUMENTS 23794 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE 23795 /* ObjectType */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER 23796 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDSUBSCRIBEDDATASET 23797 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 23798 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 23799 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVESUBSCRIBEDDATASET 23800 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 23801 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER 23802 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_INPUTARGUMENTS 23803 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_OUTPUTARGUMENTS 23804 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER 23805 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER_INPUTARGUMENTS 23806 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER 23807 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER_SUBSCRIBEDDATASET 23808 /* Object */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER_DATASETMETADATA 23809 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER_ISCONNECTED 23810 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDSUBSCRIBEDDATASET 23811 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 23812 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 23813 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVESUBSCRIBEDDATASET 23814 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 23815 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDDATASETFOLDER 23816 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDDATASETFOLDER_INPUTARGUMENTS 23817 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDDATASETFOLDER_OUTPUTARGUMENTS 23818 /* Variable */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVEDATASETFOLDER 23819 /* Method */ +#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVEDATASETFOLDER_INPUTARGUMENTS 23820 /* Variable */ +#define UA_NS0ID_ADDSUBSCRIBEDDATASETMETHODTYPE 23821 /* Method */ +#define UA_NS0ID_ADDSUBSCRIBEDDATASETMETHODTYPE_INPUTARGUMENTS 23822 /* Variable */ +#define UA_NS0ID_ADDSUBSCRIBEDDATASETMETHODTYPE_OUTPUTARGUMENTS 23823 /* Variable */ +#define UA_NS0ID_REMOVESUBSCRIBEDDATASETMETHODTYPE 23824 /* Method */ +#define UA_NS0ID_REMOVESUBSCRIBEDDATASETMETHODTYPE_INPUTARGUMENTS 23825 /* Variable */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE 23828 /* ObjectType */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_SUBSCRIBEDDATASET 23829 /* Object */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_DATASETMETADATA 23830 /* Variable */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_ISCONNECTED 23831 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE 23832 /* ObjectType */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXPUBSUBCONNECTIONS 23833 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXWRITERGROUPS 23834 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXREADERGROUPS 23835 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXDATASETWRITERS 23836 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXDATASETREADERS 23837 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXFIELDSPERDATASET 23838 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYANNOUNCERATE 23839 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYMAXMESSAGESIZE 23840 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS 23842 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE 23843 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONS 23844 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 23845 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 23846 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_DATAGRAMQOS 23847 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_DISCOVERYANNOUNCERATE 23848 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_TOPIC 23849 /* Variable */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE_ENCODING_DEFAULTBINARY 23851 /* Object */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTBINARY 23852 /* Object */ +#define UA_NS0ID_SECURITYGROUPDATATYPE_ENCODING_DEFAULTBINARY 23853 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE_ENCODING_DEFAULTBINARY 23854 /* Object */ +#define UA_NS0ID_QOSDATATYPE_ENCODING_DEFAULTBINARY 23855 /* Object */ +#define UA_NS0ID_TRANSMITQOSDATATYPE_ENCODING_DEFAULTBINARY 23856 /* Object */ +#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE_ENCODING_DEFAULTBINARY 23857 /* Object */ +#define UA_NS0ID_RECEIVEQOSDATATYPE_ENCODING_DEFAULTBINARY 23860 /* Object */ +#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE_ENCODING_DEFAULTBINARY 23861 /* Object */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_ENCODING_DEFAULTBINARY 23864 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_ENCODING_DEFAULTBINARY 23865 /* Object */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 23866 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE 23870 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DATATYPEVERSION 23871 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DICTIONARYFRAGMENT 23872 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE 23873 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 23874 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 23875 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SECURITYGROUPDATATYPE 23876 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SECURITYGROUPDATATYPE_DATATYPEVERSION 23877 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_SECURITYGROUPDATATYPE_DICTIONARYFRAGMENT 23878 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATION2DATATYPE 23879 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DATATYPEVERSION 23880 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DICTIONARYFRAGMENT 23881 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_QOSDATATYPE 23882 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_QOSDATATYPE_DATATYPEVERSION 23883 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_QOSDATATYPE_DICTIONARYFRAGMENT 23884 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSDATATYPE 23885 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSDATATYPE_DATATYPEVERSION 23886 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSDATATYPE_DICTIONARYFRAGMENT 23887 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSPRIORITYDATATYPE 23888 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DATATYPEVERSION 23889 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23890 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SOURCENAME 23891 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_TIME 23892 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_RECEIVETIME 23893 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_LOCALTIME 23894 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_MESSAGE 23895 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SEVERITY 23896 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSDATATYPE 23897 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSDATATYPE_DATATYPEVERSION 23898 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSDATATYPE_DICTIONARYFRAGMENT 23899 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSPRIORITYDATATYPE 23900 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DATATYPEVERSION 23901 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23902 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_ACTIONTIMESTAMP 23903 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_STATUS 23904 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SERVERID 23905 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CLIENTAUDITENTRYID 23906 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CLIENTUSERID 23907 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SERVERURI 23908 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 23909 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DATATYPEVERSION 23910 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23911 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 23912 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DATATYPEVERSION 23913 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23914 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE 23915 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 23916 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 23917 /* Variable */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE_ENCODING_DEFAULTXML 23919 /* Object */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTXML 23920 /* Object */ +#define UA_NS0ID_SECURITYGROUPDATATYPE_ENCODING_DEFAULTXML 23921 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE_ENCODING_DEFAULTXML 23922 /* Object */ +#define UA_NS0ID_QOSDATATYPE_ENCODING_DEFAULTXML 23923 /* Object */ +#define UA_NS0ID_TRANSMITQOSDATATYPE_ENCODING_DEFAULTXML 23924 /* Object */ +#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE_ENCODING_DEFAULTXML 23925 /* Object */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE 23926 /* ObjectType */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_EVENTID 23927 /* Variable */ +#define UA_NS0ID_RECEIVEQOSDATATYPE_ENCODING_DEFAULTXML 23928 /* Object */ +#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE_ENCODING_DEFAULTXML 23929 /* Object */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_EVENTTYPE 23930 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SOURCENODE 23931 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_ENCODING_DEFAULTXML 23932 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_ENCODING_DEFAULTXML 23933 /* Object */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 23934 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE 23938 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DATATYPEVERSION 23939 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DICTIONARYFRAGMENT 23940 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE 23941 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 23942 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 23943 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SECURITYGROUPDATATYPE 23944 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SECURITYGROUPDATATYPE_DATATYPEVERSION 23945 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_SECURITYGROUPDATATYPE_DICTIONARYFRAGMENT 23946 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATION2DATATYPE 23947 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DATATYPEVERSION 23948 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DICTIONARYFRAGMENT 23949 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_QOSDATATYPE 23950 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_QOSDATATYPE_DATATYPEVERSION 23951 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_QOSDATATYPE_DICTIONARYFRAGMENT 23952 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSDATATYPE 23953 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSDATATYPE_DATATYPEVERSION 23954 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSDATATYPE_DICTIONARYFRAGMENT 23955 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSPRIORITYDATATYPE 23956 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DATATYPEVERSION 23957 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23958 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SOURCENAME 23959 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_TIME 23960 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_RECEIVETIME 23961 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_LOCALTIME 23962 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_MESSAGE 23963 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SEVERITY 23964 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSDATATYPE 23965 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSDATATYPE_DATATYPEVERSION 23966 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSDATATYPE_DICTIONARYFRAGMENT 23967 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSPRIORITYDATATYPE 23968 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DATATYPEVERSION 23969 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23970 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_ACTIONTIMESTAMP 23971 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_STATUS 23972 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SERVERID 23973 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CLIENTAUDITENTRYID 23974 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CLIENTUSERID 23975 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SERVERURI 23976 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 23977 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DATATYPEVERSION 23978 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23979 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 23980 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DATATYPEVERSION 23981 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23982 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE 23983 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 23984 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 23985 /* Variable */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE_ENCODING_DEFAULTJSON 23987 /* Object */ +#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTJSON 23988 /* Object */ +#define UA_NS0ID_SECURITYGROUPDATATYPE_ENCODING_DEFAULTJSON 23989 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE_ENCODING_DEFAULTJSON 23990 /* Object */ +#define UA_NS0ID_QOSDATATYPE_ENCODING_DEFAULTJSON 23991 /* Object */ +#define UA_NS0ID_TRANSMITQOSDATATYPE_ENCODING_DEFAULTJSON 23992 /* Object */ +#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE_ENCODING_DEFAULTJSON 23993 /* Object */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_OBJECTID 23994 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_METHODID 23995 /* Variable */ +#define UA_NS0ID_RECEIVEQOSDATATYPE_ENCODING_DEFAULTJSON 23996 /* Object */ +#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE_ENCODING_DEFAULTJSON 23997 /* Object */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_STATUSCODEID 23998 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_INPUTARGUMENTS 23999 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_ENCODING_DEFAULTJSON 24000 /* Object */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_ENCODING_DEFAULTJSON 24001 /* Object */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 24002 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET 24004 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 24005 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 24006 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET 24007 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 24008 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DATASETCLASSES_DATASETNAME_PLACEHOLDER 24009 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET 24010 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 24011 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 24012 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET 24013 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 24014 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DATASETCLASSES_DATASETNAME_PLACEHOLDER 24015 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE 24016 /* ObjectType */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS 24017 /* Object */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE 24018 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONS 24019 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 24020 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 24021 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_DATAGRAMQOS 24022 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_TOPIC 24023 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE 24033 /* DataType */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE_ENCODING_DEFAULTBINARY 24034 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE 24035 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DATATYPEVERSION 24036 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DICTIONARYFRAGMENT 24037 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE_ENCODING_DEFAULTXML 24038 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE 24039 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DATATYPEVERSION 24040 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DICTIONARYFRAGMENT 24041 /* Variable */ +#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE_ENCODING_DEFAULTJSON 24042 /* Object */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXMONITOREDITEMS 24083 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSUBSCRIPTIONSPERSESSION 24084 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSELECTCLAUSEPARAMETERS 24085 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXWHERECLAUSEPARAMETERS 24086 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_CONFORMANCEUNITS 24087 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSESSIONS 24088 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSUBSCRIPTIONS 24089 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXMONITOREDITEMS 24090 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSUBSCRIPTIONSPERSESSION 24091 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSELECTCLAUSEPARAMETERS 24092 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXWHERECLAUSEPARAMETERS 24093 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_CONFORMANCEUNITS 24094 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSESSIONS 24095 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONS 24096 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMS 24097 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONSPERSESSION 24098 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSELECTCLAUSEPARAMETERS 24099 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXWHERECLAUSEPARAMETERS 24100 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_CONFORMANCEUNITS 24101 /* Variable */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXMONITOREDITEMSPERSUBSCRIPTION 24102 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXMONITOREDITEMSPERSUBSCRIPTION 24103 /* Variable */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSPERSUBSCRIPTION 24104 /* Variable */ +#define UA_NS0ID_PORTABLEQUALIFIEDNAME 24105 /* DataType */ +#define UA_NS0ID_PORTABLENODEID 24106 /* DataType */ +#define UA_NS0ID_UNSIGNEDRATIONALNUMBER 24107 /* DataType */ +#define UA_NS0ID_PORTABLEQUALIFIEDNAME_ENCODING_DEFAULTBINARY 24108 /* Object */ +#define UA_NS0ID_PORTABLENODEID_ENCODING_DEFAULTBINARY 24109 /* Object */ +#define UA_NS0ID_UNSIGNEDRATIONALNUMBER_ENCODING_DEFAULTBINARY 24110 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLEQUALIFIEDNAME 24111 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLEQUALIFIEDNAME_DATATYPEVERSION 24112 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLEQUALIFIEDNAME_DICTIONARYFRAGMENT 24113 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLENODEID 24114 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLENODEID_DATATYPEVERSION 24115 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLENODEID_DICTIONARYFRAGMENT 24116 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNSIGNEDRATIONALNUMBER 24117 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNSIGNEDRATIONALNUMBER_DATATYPEVERSION 24118 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNSIGNEDRATIONALNUMBER_DICTIONARYFRAGMENT 24119 /* Variable */ +#define UA_NS0ID_PORTABLEQUALIFIEDNAME_ENCODING_DEFAULTXML 24120 /* Object */ +#define UA_NS0ID_PORTABLENODEID_ENCODING_DEFAULTXML 24121 /* Object */ +#define UA_NS0ID_UNSIGNEDRATIONALNUMBER_ENCODING_DEFAULTXML 24122 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLEQUALIFIEDNAME 24123 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLEQUALIFIEDNAME_DATATYPEVERSION 24124 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLEQUALIFIEDNAME_DICTIONARYFRAGMENT 24125 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLENODEID 24126 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLENODEID_DATATYPEVERSION 24127 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLENODEID_DICTIONARYFRAGMENT 24128 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UNSIGNEDRATIONALNUMBER 24129 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UNSIGNEDRATIONALNUMBER_DATATYPEVERSION 24130 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_UNSIGNEDRATIONALNUMBER_DICTIONARYFRAGMENT 24131 /* Variable */ +#define UA_NS0ID_PORTABLEQUALIFIEDNAME_ENCODING_DEFAULTJSON 24132 /* Object */ +#define UA_NS0ID_PORTABLENODEID_ENCODING_DEFAULTJSON 24133 /* Object */ +#define UA_NS0ID_UNSIGNEDRATIONALNUMBER_ENCODING_DEFAULTJSON 24134 /* Object */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CERTIFICATEERROREVENTID 24135 /* Variable */ +#define UA_NS0ID_HASSTRUCTUREDCOMPONENT 24136 /* ReferenceType */ +#define UA_NS0ID_ASSOCIATEDWITH 24137 /* ReferenceType */ +#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_CUSTOMCONFIGURATION 24138 /* Variable */ +#define UA_NS0ID_ROLETYPE_CUSTOMCONFIGURATION 24139 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_CUSTOMCONFIGURATION 24140 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_CUSTOMCONFIGURATION 24141 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_CUSTOMCONFIGURATION 24142 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_CUSTOMCONFIGURATION 24143 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_CUSTOMCONFIGURATION 24144 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_CUSTOMCONFIGURATION 24145 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_CUSTOMCONFIGURATION 24146 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_CUSTOMCONFIGURATION 24147 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE 24148 /* ObjectType */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_ADMINSTATUS 24149 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_OPERSTATUS 24150 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_PHYSADDRESS 24151 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED 24152 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_DEFINITION 24153 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_VALUEPRECISION 24154 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_INSTRUMENTRANGE 24155 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_EURANGE 24156 /* Variable */ +#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_ENGINEERINGUNITS 24157 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE 24158 /* ObjectType */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED 24159 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_DEFINITION 24160 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_VALUEPRECISION 24161 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_INSTRUMENTRANGE 24162 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_EURANGE 24163 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_ENGINEERINGUNITS 24164 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_DUPLEX 24165 /* Variable */ +#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_MAXFRAMELENGTH 24166 /* Variable */ +#define UA_NS0ID_IBASEETHERNETCAPABILITIESTYPE 24167 /* ObjectType */ +#define UA_NS0ID_IBASEETHERNETCAPABILITIESTYPE_VLANTAGCAPABLE 24168 /* Variable */ +#define UA_NS0ID_ISRCLASSTYPE 24169 /* ObjectType */ +#define UA_NS0ID_ISRCLASSTYPE_ID 24170 /* Variable */ +#define UA_NS0ID_ISRCLASSTYPE_PRIORITY 24171 /* Variable */ +#define UA_NS0ID_ISRCLASSTYPE_VID 24172 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE 24173 /* ObjectType */ +#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_STREAMID 24174 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_STREAMNAME 24175 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_STATE 24176 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_ACCUMULATEDLATENCY 24177 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_SRCLASSID 24178 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE 24179 /* ObjectType */ +#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE_MAXINTERVALFRAMES 24180 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE_MAXFRAMESIZE 24181 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE_INTERVAL 24182 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE 24183 /* ObjectType */ +#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_TALKERSTATUS 24184 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_LISTENERSTATUS 24185 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_FAILURECODE 24186 /* Variable */ +#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_FAILURESYSTEMIDENTIFIER 24187 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTYPE 24188 /* ObjectType */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTYPE_MACADDRESS 24189 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTYPE_INTERFACENAME 24190 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE 24191 /* ObjectType */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE_MACADDRESS 24192 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE_INTERFACENAME 24193 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE_TIMEAWAREOFFSET 24194 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE 24195 /* ObjectType */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE_MACADDRESS 24196 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE_INTERFACENAME 24197 /* Variable */ +#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE_RECEIVEOFFSET 24198 /* Variable */ +#define UA_NS0ID_IIEEETSNMACADDRESSTYPE 24199 /* ObjectType */ +#define UA_NS0ID_IIEEETSNMACADDRESSTYPE_DESTINATIONADDRESS 24200 /* Variable */ +#define UA_NS0ID_IIEEETSNMACADDRESSTYPE_SOURCEADDRESS 24201 /* Variable */ +#define UA_NS0ID_IIEEETSNVLANTAGTYPE 24202 /* ObjectType */ +#define UA_NS0ID_IIEEETSNVLANTAGTYPE_VLANID 24203 /* Variable */ +#define UA_NS0ID_IIEEETSNVLANTAGTYPE_PRIORITYCODEPOINT 24204 /* Variable */ +#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE 24205 /* ObjectType */ +#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_MAPPINGURI 24206 /* Variable */ +#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_PRIORITYLABEL 24207 /* Variable */ +#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_PRIORITYVALUE_PCP 24208 /* Variable */ +#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_PRIORITYVALUE_DSCP 24209 /* Variable */ +#define UA_NS0ID_DUPLEX 24210 /* DataType */ +#define UA_NS0ID_INTERFACEADMINSTATUS 24212 /* DataType */ +#define UA_NS0ID_INTERFACEOPERSTATUS 24214 /* DataType */ +#define UA_NS0ID_NEGOTIATIONSTATUS 24216 /* DataType */ +#define UA_NS0ID_TSNFAILURECODE 24218 /* DataType */ +#define UA_NS0ID_TSNSTREAMSTATE 24220 /* DataType */ +#define UA_NS0ID_TSNTALKERSTATUS 24222 /* DataType */ +#define UA_NS0ID_TSNLISTENERSTATUS 24224 /* DataType */ +#define UA_NS0ID_RESOURCES 24226 /* Object */ +#define UA_NS0ID_COMMUNICATION 24227 /* Object */ +#define UA_NS0ID_MAPPINGTABLES 24228 /* Object */ +#define UA_NS0ID_NETWORKINTERFACES 24229 /* Object */ +#define UA_NS0ID_STREAMS 24230 /* Object */ +#define UA_NS0ID_TALKERSTREAMS 24231 /* Object */ +#define UA_NS0ID_LISTENERSTREAMS 24232 /* Object */ +#define UA_NS0ID_IIEEEAUTONEGOTIATIONSTATUSTYPE 24233 /* ObjectType */ +#define UA_NS0ID_IIEEEAUTONEGOTIATIONSTATUSTYPE_NEGOTIATIONSTATUS 24234 /* Variable */ +#define UA_NS0ID_DUPLEX_ENUMVALUES 24235 /* Variable */ +#define UA_NS0ID_INTERFACEADMINSTATUS_ENUMVALUES 24236 /* Variable */ +#define UA_NS0ID_INTERFACEOPERSTATUS_ENUMVALUES 24237 /* Variable */ +#define UA_NS0ID_NEGOTIATIONSTATUS_ENUMVALUES 24238 /* Variable */ +#define UA_NS0ID_TSNFAILURECODE_ENUMVALUES 24239 /* Variable */ +#define UA_NS0ID_TSNSTREAMSTATE_ENUMVALUES 24240 /* Variable */ +#define UA_NS0ID_TSNTALKERSTATUS_ENUMVALUES 24241 /* Variable */ +#define UA_NS0ID_TSNLISTENERSTATUS_ENUMVALUES 24242 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_MAXBYTESTRINGLENGTH 24243 /* Variable */ +#define UA_NS0ID_FILETYPE_MAXBYTESTRINGLENGTH 24244 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_MAXBYTESTRINGLENGTH 24245 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_MAXBYTESTRINGLENGTH 24246 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_MAXBYTESTRINGLENGTH 24247 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_MAXBYTESTRINGLENGTH 24248 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_MAXBYTESTRINGLENGTH 24249 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_MAXBYTESTRINGLENGTH 24250 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_MAXBYTESTRINGLENGTH 24251 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24252 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24253 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24254 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_MAXBYTESTRINGLENGTH 24255 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24256 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24257 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24258 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24259 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24260 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24261 /* Variable */ +#define UA_NS0ID_SEMANTICVERSIONSTRING 24263 /* DataType */ +#define UA_NS0ID_USERMANAGEMENTTYPE 24264 /* ObjectType */ +#define UA_NS0ID_USERMANAGEMENTTYPE_USERS 24265 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_PASSWORDLENGTH 24266 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_PASSWORDOPTIONS 24267 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_PASSWORDRESTRICTIONS 24268 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_ADDUSER 24269 /* Method */ +#define UA_NS0ID_USERMANAGEMENTTYPE_ADDUSER_INPUTARGUMENTS 24270 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_MODIFYUSER 24271 /* Method */ +#define UA_NS0ID_USERMANAGEMENTTYPE_MODIFYUSER_INPUTARGUMENTS 24272 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_REMOVEUSER 24273 /* Method */ +#define UA_NS0ID_USERMANAGEMENTTYPE_REMOVEUSER_INPUTARGUMENTS 24274 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTTYPE_CHANGEPASSWORD 24275 /* Method */ +#define UA_NS0ID_USERMANAGEMENTTYPE_CHANGEPASSWORD_INPUTARGUMENTS 24276 /* Variable */ +#define UA_NS0ID_PASSWORDOPTIONSMASK 24277 /* DataType */ +#define UA_NS0ID_PASSWORDOPTIONSMASK_OPTIONSETVALUES 24278 /* Variable */ +#define UA_NS0ID_USERCONFIGURATIONMASK 24279 /* DataType */ +#define UA_NS0ID_USERCONFIGURATIONMASK_OPTIONSETVALUES 24280 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTDATATYPE 24281 /* DataType */ +#define UA_NS0ID_ADDUSERMETHODTYPE 24282 /* Method */ +#define UA_NS0ID_ADDUSERMETHODTYPE_INPUTARGUMENTS 24283 /* Variable */ +#define UA_NS0ID_MODIFYUSERMETHODTYPE 24284 /* Method */ +#define UA_NS0ID_MODIFYUSERMETHODTYPE_INPUTARGUMENTS 24285 /* Variable */ +#define UA_NS0ID_REMOVEUSERMETHODTYPE 24286 /* Method */ +#define UA_NS0ID_REMOVEUSERMETHODTYPE_INPUTARGUMENTS 24287 /* Variable */ +#define UA_NS0ID_CHANGEPASSWORDMETHODTYPE 24288 /* Method */ +#define UA_NS0ID_CHANGEPASSWORDMETHODTYPE_INPUTARGUMENTS 24289 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT 24290 /* Object */ +#define UA_NS0ID_USERMANAGEMENT_PASSWORDRESTRICTIONS 24291 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTDATATYPE_ENCODING_DEFAULTBINARY 24292 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERMANAGEMENTDATATYPE 24293 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERMANAGEMENTDATATYPE_DATATYPEVERSION 24294 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERMANAGEMENTDATATYPE_DICTIONARYFRAGMENT 24295 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTDATATYPE_ENCODING_DEFAULTXML 24296 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERMANAGEMENTDATATYPE 24297 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERMANAGEMENTDATATYPE_DATATYPEVERSION 24298 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_USERMANAGEMENTDATATYPE_DICTIONARYFRAGMENT 24299 /* Variable */ +#define UA_NS0ID_USERMANAGEMENTDATATYPE_ENCODING_DEFAULTJSON 24300 /* Object */ +#define UA_NS0ID_USERMANAGEMENT_USERS 24301 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT_PASSWORDLENGTH 24302 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT_PASSWORDOPTIONS 24303 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT_ADDUSER 24304 /* Method */ +#define UA_NS0ID_USERMANAGEMENT_ADDUSER_INPUTARGUMENTS 24305 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT_MODIFYUSER 24306 /* Method */ +#define UA_NS0ID_USERMANAGEMENT_MODIFYUSER_INPUTARGUMENTS 24307 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT_REMOVEUSER 24308 /* Method */ +#define UA_NS0ID_USERMANAGEMENT_REMOVEUSER_INPUTARGUMENTS 24309 /* Variable */ +#define UA_NS0ID_USERMANAGEMENT_CHANGEPASSWORD 24310 /* Method */ +#define UA_NS0ID_USERMANAGEMENT_CHANGEPASSWORD_INPUTARGUMENTS 24311 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND2 24312 /* Method */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND2_INPUTARGUMENTS 24313 /* Variable */ +#define UA_NS0ID_DIALOGRESPONSE2METHODTYPE 24314 /* Method */ +#define UA_NS0ID_DIALOGRESPONSE2METHODTYPE_INPUTARGUMENTS 24315 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESS2 24316 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESS2_INPUTARGUMENTS 24317 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_UNSUPPRESS2 24318 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_UNSUPPRESS2_INPUTARGUMENTS 24319 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_REMOVEFROMSERVICE2 24320 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24321 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_PLACEINSERVICE2 24322 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24323 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_RESET2 24324 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_RESET2_INPUTARGUMENTS 24325 /* Variable */ +#define UA_NS0ID_WITHCOMMENTMETHODTYPE 24326 /* Method */ +#define UA_NS0ID_WITHCOMMENTMETHODTYPE_INPUTARGUMENTS 24327 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2 24328 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2_INPUTARGUMENTS 24329 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2 24330 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2_INPUTARGUMENTS 24331 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2 24332 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2_INPUTARGUMENTS 24333 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2 24334 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2_INPUTARGUMENTS 24335 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2 24336 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2_INPUTARGUMENTS 24337 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESS2 24338 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24339 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_UNSUPPRESS2 24340 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24341 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_REMOVEFROMSERVICE2 24342 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24343 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_PLACEINSERVICE2 24344 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24345 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_RESET2 24346 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_RESET2_INPUTARGUMENTS 24347 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESS2 24348 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24349 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_UNSUPPRESS2 24350 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24351 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2 24352 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24353 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2 24354 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24355 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RESET2 24356 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RESET2_INPUTARGUMENTS 24357 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESS2 24358 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24359 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_UNSUPPRESS2 24360 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24361 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2 24362 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24363 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2 24364 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24365 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RESET2 24366 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RESET2_INPUTARGUMENTS 24367 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESS2 24368 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24369 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_UNSUPPRESS2 24370 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24371 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2 24372 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24373 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2 24374 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24375 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RESET2 24376 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RESET2_INPUTARGUMENTS 24377 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESS2 24378 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24379 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_UNSUPPRESS2 24380 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24381 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2 24382 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24383 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2 24384 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24385 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RESET2 24386 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RESET2_INPUTARGUMENTS 24387 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2 24388 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24389 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2 24390 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24391 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2 24392 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24393 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2 24394 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24395 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RESET2 24396 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RESET2_INPUTARGUMENTS 24397 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2 24398 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24399 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2 24400 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24401 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2 24402 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24403 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2 24404 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24405 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RESET2 24406 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RESET2_INPUTARGUMENTS 24407 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2 24408 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24409 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2 24410 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24411 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2 24412 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24413 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2 24414 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24415 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RESET2 24416 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RESET2_INPUTARGUMENTS 24417 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2 24418 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24419 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2 24420 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24421 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2 24422 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24423 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2 24424 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24425 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RESET2 24426 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RESET2_INPUTARGUMENTS 24427 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESS2 24428 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24429 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_UNSUPPRESS2 24430 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24431 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_REMOVEFROMSERVICE2 24432 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24433 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_PLACEINSERVICE2 24434 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24435 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_RESET2 24436 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_RESET2_INPUTARGUMENTS 24437 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESS2 24438 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24439 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_UNSUPPRESS2 24440 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24441 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_REMOVEFROMSERVICE2 24442 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24443 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_PLACEINSERVICE2 24444 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24445 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_RESET2 24446 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_RESET2_INPUTARGUMENTS 24447 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESS2 24448 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24449 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_UNSUPPRESS2 24450 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24451 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REMOVEFROMSERVICE2 24452 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24453 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_PLACEINSERVICE2 24454 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24455 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RESET2 24456 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RESET2_INPUTARGUMENTS 24457 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESS2 24458 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24459 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_UNSUPPRESS2 24460 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24461 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_REMOVEFROMSERVICE2 24462 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24463 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_PLACEINSERVICE2 24464 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24465 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_RESET2 24466 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_RESET2_INPUTARGUMENTS 24467 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESS2 24468 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24469 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_UNSUPPRESS2 24470 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24471 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2 24472 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24473 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_PLACEINSERVICE2 24474 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24475 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RESET2 24476 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RESET2_INPUTARGUMENTS 24477 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESS2 24478 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24479 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_UNSUPPRESS2 24480 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24481 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2 24482 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24483 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_PLACEINSERVICE2 24484 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24485 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RESET2 24486 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RESET2_INPUTARGUMENTS 24487 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESS2 24488 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24489 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_UNSUPPRESS2 24490 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24491 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REMOVEFROMSERVICE2 24492 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24493 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_PLACEINSERVICE2 24494 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24495 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RESET2 24496 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RESET2_INPUTARGUMENTS 24497 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESS2 24498 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24499 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_UNSUPPRESS2 24500 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24501 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_REMOVEFROMSERVICE2 24502 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24503 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_PLACEINSERVICE2 24504 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24505 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_RESET2 24506 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_RESET2_INPUTARGUMENTS 24507 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESS2 24508 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24509 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UNSUPPRESS2 24510 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24511 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REMOVEFROMSERVICE2 24512 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24513 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_PLACEINSERVICE2 24514 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24515 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RESET2 24516 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RESET2_INPUTARGUMENTS 24517 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESS2 24518 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24519 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_UNSUPPRESS2 24520 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24521 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24522 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24523 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_PLACEINSERVICE2 24524 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24525 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RESET2 24526 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24527 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESS2 24528 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24529 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24530 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24531 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24532 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24533 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24534 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24535 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RESET2 24536 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24537 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24538 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24539 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24540 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24541 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24542 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24543 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24544 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24545 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 24546 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24547 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24548 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24549 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24550 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24551 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24552 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24553 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24554 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24555 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 24556 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24557 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24558 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24559 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24560 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24561 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24562 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24563 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24564 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24565 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 24566 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24567 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24568 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24569 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24570 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24571 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24572 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24573 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24574 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24575 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 24576 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24577 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24578 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24579 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24580 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24581 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24582 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24583 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24584 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24585 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 24586 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24587 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24588 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24589 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24590 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24591 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24592 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24593 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24594 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24595 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 24596 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24597 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESS2 24598 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24599 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_UNSUPPRESS2 24600 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24601 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24602 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24603 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_PLACEINSERVICE2 24604 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24605 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RESET2 24606 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24607 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESS2 24608 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24609 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24610 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24611 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24612 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24613 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24614 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24615 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RESET2 24616 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24617 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24618 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24619 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24620 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24621 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24622 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24623 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24624 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24625 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 24626 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24627 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24628 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24629 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24630 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24631 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24632 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24633 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24634 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24635 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 24636 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24637 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24638 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24639 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24640 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24641 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24642 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24643 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24644 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24645 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 24646 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24647 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24648 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24649 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24650 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24651 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24652 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24653 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24654 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24655 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 24656 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24657 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24658 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24659 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24660 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24661 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24662 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24663 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24664 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24665 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 24666 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24667 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24668 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24669 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24670 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24671 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24672 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24673 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24674 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24675 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 24676 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24677 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24678 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24679 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24680 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24681 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24682 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24683 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24684 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24685 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 24686 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24687 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24688 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24689 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24690 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24691 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24692 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24693 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24694 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24695 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 24696 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24697 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24698 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24699 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24700 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24701 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24702 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24703 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24704 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24705 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 24706 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24707 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24708 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24709 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24710 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24711 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24712 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24713 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24714 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24715 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 24716 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24717 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24718 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24719 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24720 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24721 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24722 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24723 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24724 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24725 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 24726 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24727 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24728 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24729 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24730 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24731 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24732 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24733 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24734 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24735 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 24736 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24737 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE2 24738 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24739 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVE2 24740 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24741 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24742 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24743 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_GETGROUPMEMBERSHIPS 24744 /* Method */ +#define UA_NS0ID_GETGROUPMEMBERSHIPSMETHODTYPE 24746 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2 24748 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24749 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2 24750 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24751 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2 24752 /* Method */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24753 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS 24754 /* Method */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE2 24756 /* Method */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE2_INPUTARGUMENTS 24757 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVE2 24758 /* Method */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVE2_INPUTARGUMENTS 24759 /* Variable */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVE2 24760 /* Method */ +#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVE2_INPUTARGUMENTS 24761 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24762 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24763 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2 24764 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24765 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24766 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24767 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_GETGROUPMEMBERSHIPS 24768 /* Method */ +#define UA_NS0ID_LIMITALARMTYPE_SEVERITYHIGHHIGH 24770 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SEVERITYHIGH 24771 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SEVERITYLOW 24772 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SEVERITYLOWLOW 24773 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_HIGHHIGHDEADBAND 24774 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_HIGHDEADBAND 24775 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LOWDEADBAND 24776 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_LOWLOWDEADBAND 24777 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24778 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24779 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2 24780 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24781 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24782 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24783 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS 24784 /* Method */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYHIGHHIGH 24786 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYHIGH 24787 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYLOW 24788 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYLOWLOW 24789 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHHIGHDEADBAND 24790 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHDEADBAND 24791 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWDEADBAND 24792 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWLOWDEADBAND 24793 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24794 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24795 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2 24796 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24797 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24798 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24799 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS 24800 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYHIGHHIGH 24802 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYHIGH 24803 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYLOW 24804 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYLOWLOW 24805 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHDEADBAND 24806 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHDEADBAND 24807 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWDEADBAND 24808 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWDEADBAND 24809 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24810 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24811 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2 24812 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24813 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24814 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24815 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS 24816 /* Method */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYHIGHHIGH 24818 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYHIGH 24819 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYLOW 24820 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYLOWLOW 24821 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHDEADBAND 24822 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHDEADBAND 24823 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWDEADBAND 24824 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWDEADBAND 24825 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24826 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24827 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2 24828 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24829 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24830 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24831 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS 24832 /* Method */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYHIGHHIGH 24834 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYHIGH 24835 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYLOW 24836 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYLOWLOW 24837 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHHIGHDEADBAND 24838 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHDEADBAND 24839 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWDEADBAND 24840 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWLOWDEADBAND 24841 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24842 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24843 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2 24844 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24845 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24846 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24847 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS 24848 /* Method */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGHHIGH 24850 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGH 24851 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOW 24852 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOWLOW 24853 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHDEADBAND 24854 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHDEADBAND 24855 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWDEADBAND 24856 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWDEADBAND 24857 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24858 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24859 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24860 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24861 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24862 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24863 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS 24864 /* Method */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGHHIGH 24866 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGH 24867 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOW 24868 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOWLOW 24869 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHDEADBAND 24870 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHDEADBAND 24871 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWDEADBAND 24872 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWDEADBAND 24873 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24874 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24875 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2 24876 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24877 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24878 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24879 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS 24880 /* Method */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGHHIGH 24882 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGH 24883 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOW 24884 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOWLOW 24885 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHDEADBAND 24886 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHDEADBAND 24887 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWDEADBAND 24888 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWLOWDEADBAND 24889 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24890 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24891 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24892 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24893 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24894 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24895 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS 24896 /* Method */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGHHIGH 24898 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGH 24899 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOW 24900 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOWLOW 24901 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHDEADBAND 24902 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHDEADBAND 24903 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWDEADBAND 24904 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWDEADBAND 24905 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24906 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24907 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24908 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24909 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24910 /* Method */ +#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24911 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_GETGROUPMEMBERSHIPS 24912 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24914 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24915 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2 24916 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24917 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24918 /* Method */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24919 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS 24920 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24922 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24923 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2 24924 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24925 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24926 /* Method */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24927 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS 24928 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24930 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24931 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVE2 24932 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24933 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24934 /* Method */ +#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24935 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_GETGROUPMEMBERSHIPS 24936 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24938 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24939 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2 24940 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24941 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24942 /* Method */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24943 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS 24944 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24946 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24947 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2 24948 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24949 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24950 /* Method */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24951 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS 24952 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24954 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24955 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2 24956 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24957 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24958 /* Method */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24959 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_GETGROUPMEMBERSHIPS 24960 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24962 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24963 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVE2 24964 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24965 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24966 /* Method */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24967 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_GETGROUPMEMBERSHIPS 24968 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24970 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24971 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24972 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24973 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24974 /* Method */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24975 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_GETGROUPMEMBERSHIPS 24976 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 24978 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24979 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 24980 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24981 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 24982 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24983 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 24984 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 24986 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24987 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 24988 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24989 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 24990 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24991 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 24992 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 24994 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24995 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 24996 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24997 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 24998 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24999 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25000 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25002 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25003 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25004 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25005 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25006 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25007 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25008 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25010 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25011 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25012 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25013 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25014 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25015 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25016 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25018 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25019 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25020 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25021 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25022 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25023 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25024 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25026 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25027 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25028 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25029 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25030 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25031 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25032 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25034 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25035 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25036 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25037 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25038 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25039 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25040 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25042 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25043 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25044 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25045 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25046 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25047 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25048 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25050 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25051 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25052 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25053 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25054 /* Method */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25055 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25056 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25058 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25059 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25060 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25061 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25062 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25063 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25064 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25066 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25067 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25068 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25069 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25070 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25071 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25072 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25074 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25075 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25076 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25077 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25078 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25079 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25080 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25082 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25083 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25084 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25085 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25086 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25087 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25088 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25090 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25091 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25092 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25093 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25094 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25095 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25096 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25098 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25099 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25100 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25101 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25102 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25103 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25104 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25106 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25107 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25108 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25109 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25110 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25111 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25112 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25114 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25115 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25116 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25117 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25118 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25119 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25120 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25122 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25123 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25124 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25125 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25126 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25127 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25128 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25130 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25131 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25132 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25133 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25134 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25135 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25136 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25138 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25139 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25140 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25141 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25142 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25143 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25144 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25146 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25147 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25148 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25149 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25150 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25151 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25152 /* Method */ +#define UA_NS0ID_ALARMCONDITIONTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25154 /* Variable */ +#define UA_NS0ID_GETGROUPMEMBERSHIPSMETHODTYPE_OUTPUTARGUMENTS 25155 /* Variable */ +#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25156 /* Variable */ +#define UA_NS0ID_TIMEDSHELVE2METHODTYPE 25157 /* Method */ +#define UA_NS0ID_TIMEDSHELVE2METHODTYPE_INPUTARGUMENTS 25158 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25159 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25160 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25161 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25162 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25163 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25164 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25165 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25166 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25167 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25168 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25169 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25170 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25171 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25172 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25173 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25174 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25175 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25176 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25177 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25178 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25179 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25180 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25181 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25182 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25183 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25184 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25185 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25186 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25187 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25188 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25189 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25190 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25191 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25192 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25193 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25194 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25195 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25196 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25197 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25198 /* Variable */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_LASTMODIFIEDTIME 25199 /* Variable */ +#define UA_NS0ID_FILETYPE_LASTMODIFIEDTIME 25200 /* Variable */ +#define UA_NS0ID_ADDRESSSPACEFILETYPE_LASTMODIFIEDTIME 25201 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_LASTMODIFIEDTIME 25202 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_LASTMODIFIEDTIME 25203 /* Variable */ +#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_LASTMODIFIEDTIME 25204 /* Variable */ +#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_LASTMODIFIEDTIME 25205 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_LASTMODIFIEDTIME 25206 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_LASTMODIFIEDTIME 25207 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25208 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 25209 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 25210 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_LASTMODIFIEDTIME 25211 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25212 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 25213 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 25214 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25215 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 25216 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 25217 /* Variable */ +#define UA_NS0ID_IVLANIDTYPE 25218 /* ObjectType */ +#define UA_NS0ID_IVLANIDTYPE_VLANID 25219 /* Variable */ +#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE 25220 /* DataType */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE 25221 /* ObjectType */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_ADMINSTATUS 25222 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_OPERSTATUS 25223 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_PHYSADDRESS 25224 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED 25225 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_INTERFACENAME_PLACEHOLDER 25226 /* Object */ +#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE 25227 /* ObjectType */ +#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_PRIORITYMAPPPINGENTRIES 25228 /* Variable */ +#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_ADDPRIORITYMAPPINGENTRY 25229 /* Method */ +#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_ADDPRIORITYMAPPINGENTRY_INPUTARGUMENTS 25230 /* Variable */ +#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_DELETEPRIORITYMAPPINGENTRY 25231 /* Method */ +#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_DELETEPRIORITYMAPPINGENTRY_INPUTARGUMENTS 25232 /* Variable */ +#define UA_NS0ID_ADDPRIORITYMAPPINGENTRYMETHODTYPE 25233 /* Method */ +#define UA_NS0ID_ADDPRIORITYMAPPINGENTRYMETHODTYPE_INPUTARGUMENTS 25234 /* Variable */ +#define UA_NS0ID_DELETEPRIORITYMAPPINGENTRYMETHODTYPE 25235 /* Method */ +#define UA_NS0ID_DELETEPRIORITYMAPPINGENTRYMETHODTYPE_INPUTARGUMENTS 25236 /* Variable */ +#define UA_NS0ID_USESPRIORITYMAPPINGTABLE 25237 /* ReferenceType */ +#define UA_NS0ID_HASLOWERLAYERINTERFACE 25238 /* ReferenceType */ +#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE_ENCODING_DEFAULTBINARY 25239 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PRIORITYMAPPINGENTRYTYPE 25240 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PRIORITYMAPPINGENTRYTYPE_DATATYPEVERSION 25241 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PRIORITYMAPPINGENTRYTYPE_DICTIONARYFRAGMENT 25242 /* Variable */ +#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE_ENCODING_DEFAULTXML 25243 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PRIORITYMAPPINGENTRYTYPE 25244 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PRIORITYMAPPINGENTRYTYPE_DATATYPEVERSION 25245 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PRIORITYMAPPINGENTRYTYPE_DICTIONARYFRAGMENT 25246 /* Variable */ +#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE_ENCODING_DEFAULTJSON 25247 /* Object */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_DEFINITION 25248 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_VALUEPRECISION 25249 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_INSTRUMENTRANGE 25250 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_EURANGE 25251 /* Variable */ +#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_ENGINEERINGUNITS 25252 /* Variable */ +#define UA_NS0ID_ISEXECUTABLEON 25253 /* ReferenceType */ +#define UA_NS0ID_CONTROLS 25254 /* ReferenceType */ +#define UA_NS0ID_UTILIZES 25255 /* ReferenceType */ +#define UA_NS0ID_REQUIRES 25256 /* ReferenceType */ +#define UA_NS0ID_ISPHYSICALLYCONNECTEDTO 25257 /* ReferenceType */ +#define UA_NS0ID_REPRESENTSSAMEENTITYAS 25258 /* ReferenceType */ +#define UA_NS0ID_REPRESENTSSAMEHARDWAREAS 25259 /* ReferenceType */ +#define UA_NS0ID_REPRESENTSSAMEFUNCTIONALITYAS 25260 /* ReferenceType */ +#define UA_NS0ID_ISHOSTEDBY 25261 /* ReferenceType */ +#define UA_NS0ID_HASPHYSICALCOMPONENT 25262 /* ReferenceType */ +#define UA_NS0ID_HASCONTAINEDCOMPONENT 25263 /* ReferenceType */ +#define UA_NS0ID_HASATTACHEDCOMPONENT 25264 /* ReferenceType */ +#define UA_NS0ID_ISEXECUTINGON 25265 /* ReferenceType */ +#define UA_NS0ID_OPCUANAMESPACEMETADATA_CONFIGURATIONVERSION 25266 /* Variable */ +#define UA_NS0ID_NAMESPACEMETADATATYPE_CONFIGURATIONVERSION 25267 /* Variable */ +#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_CONFIGURATIONVERSION 25268 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 25269 /* DataType */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE 25270 /* DataType */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 25271 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25272 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25273 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 25274 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25275 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 25276 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS 25277 /* Object */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGET 25278 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 25279 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 25280 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET 25281 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 25282 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 25283 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25284 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25285 /* Variable */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 25286 /* Method */ +#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25287 /* Variable */ +#define UA_NS0ID_ADDSECURITYGROUPFOLDERMETHODTYPE 25288 /* Method */ +#define UA_NS0ID_ADDSECURITYGROUPFOLDERMETHODTYPE_INPUTARGUMENTS 25289 /* Variable */ +#define UA_NS0ID_ADDSECURITYGROUPFOLDERMETHODTYPE_OUTPUTARGUMENTS 25290 /* Variable */ +#define UA_NS0ID_REMOVESECURITYGROUPFOLDERMETHODTYPE 25291 /* Method */ +#define UA_NS0ID_REMOVESECURITYGROUPFOLDERMETHODTYPE_INPUTARGUMENTS 25292 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUPFOLDER 25293 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25294 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25295 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUPFOLDER 25296 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25297 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_SUPPORTEDSECURITYPOLICYURIS 25298 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUPFOLDER 25312 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25313 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25314 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUPFOLDER 25315 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25316 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SUPPORTEDSECURITYPOLICYURIS 25317 /* Variable */ +#define UA_NS0ID_CONNECTSECURITYGROUPSMETHODTYPE 25331 /* Method */ +#define UA_NS0ID_CONNECTSECURITYGROUPSMETHODTYPE_INPUTARGUMENTS 25332 /* Variable */ +#define UA_NS0ID_CONNECTSECURITYGROUPSMETHODTYPE_OUTPUTARGUMENTS 25333 /* Variable */ +#define UA_NS0ID_DISCONNECTSECURITYGROUPSMETHODTYPE 25334 /* Method */ +#define UA_NS0ID_DISCONNECTSECURITYGROUPSMETHODTYPE_INPUTARGUMENTS 25335 /* Variable */ +#define UA_NS0ID_DISCONNECTSECURITYGROUPSMETHODTYPE_OUTPUTARGUMENTS 25336 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE 25337 /* ObjectType */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYPOLICYURI 25340 /* Variable */ +#define UA_NS0ID_HASPUSHEDSECURITYGROUP 25345 /* ReferenceType */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE 25346 /* ObjectType */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER 25347 /* Object */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGET 25348 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGET_INPUTARGUMENTS 25349 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGET_OUTPUTARGUMENTS 25350 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGET 25351 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGET_INPUTARGUMENTS 25352 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGETFOLDER 25353 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25354 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25355 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGETFOLDER 25356 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25357 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER 25358 /* Object */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_SECURITYPOLICYURI 25361 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGET 25366 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGET_INPUTARGUMENTS 25367 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGET_OUTPUTARGUMENTS 25368 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGET 25369 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGET_INPUTARGUMENTS 25370 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGETFOLDER 25371 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25372 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25373 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGETFOLDER 25374 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25375 /* Variable */ +#define UA_NS0ID_ADDPUSHTARGETMETHODTYPE 25376 /* Method */ +#define UA_NS0ID_ADDPUSHTARGETMETHODTYPE_INPUTARGUMENTS 25377 /* Variable */ +#define UA_NS0ID_ADDPUSHTARGETMETHODTYPE_OUTPUTARGUMENTS 25378 /* Variable */ +#define UA_NS0ID_REMOVEPUSHTARGETMETHODTYPE 25379 /* Method */ +#define UA_NS0ID_REMOVEPUSHTARGETMETHODTYPE_INPUTARGUMENTS 25380 /* Variable */ +#define UA_NS0ID_ADDPUSHTARGETFOLDERMETHODTYPE 25381 /* Method */ +#define UA_NS0ID_ADDPUSHTARGETFOLDERMETHODTYPE_INPUTARGUMENTS 25382 /* Variable */ +#define UA_NS0ID_ADDPUSHTARGETFOLDERMETHODTYPE_OUTPUTARGUMENTS 25383 /* Variable */ +#define UA_NS0ID_REMOVEPUSHTARGETFOLDERMETHODTYPE 25384 /* Method */ +#define UA_NS0ID_REMOVEPUSHTARGETFOLDERMETHODTYPE_INPUTARGUMENTS 25385 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 25386 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25387 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25388 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 25389 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25390 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 25391 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS 25392 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGET 25393 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 25394 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 25395 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET 25396 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 25397 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 25398 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25399 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25400 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 25401 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25402 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION 25403 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_SIZE 25404 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_WRITABLE 25405 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_USERWRITABLE 25406 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPENCOUNT 25407 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_MIMETYPE 25408 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_MAXBYTESTRINGLENGTH 25409 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_LASTMODIFIEDTIME 25410 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPEN 25411 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPEN_INPUTARGUMENTS 25412 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPEN_OUTPUTARGUMENTS 25413 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSE 25414 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSE_INPUTARGUMENTS 25415 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_READ 25416 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_READ_INPUTARGUMENTS 25417 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_READ_OUTPUTARGUMENTS 25418 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_WRITE 25419 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_WRITE_INPUTARGUMENTS 25420 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_GETPOSITION 25421 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_GETPOSITION_INPUTARGUMENTS 25422 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_GETPOSITION_OUTPUTARGUMENTS 25423 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_SETPOSITION 25424 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_SETPOSITION_INPUTARGUMENTS 25425 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_RESERVEIDS 25426 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_RESERVEIDS_INPUTARGUMENTS 25427 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_RESERVEIDS_OUTPUTARGUMENTS 25428 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSEANDUPDATE 25429 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_INPUTARGUMENTS 25430 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_OUTPUTARGUMENTS 25431 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DEFAULTDATAGRAMPUBLISHERID 25432 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONFIGURATIONVERSION 25433 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 25434 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25435 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25436 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 25437 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25438 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 25439 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS 25440 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGET 25441 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 25442 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 25443 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGET 25444 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 25445 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 25446 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25447 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25448 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 25449 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25450 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION 25451 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_SIZE 25452 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_WRITABLE 25453 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_USERWRITABLE 25454 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPENCOUNT 25455 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_MIMETYPE 25456 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_MAXBYTESTRINGLENGTH 25457 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_LASTMODIFIEDTIME 25458 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPEN 25459 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPEN_INPUTARGUMENTS 25460 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPEN_OUTPUTARGUMENTS 25461 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSE 25462 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSE_INPUTARGUMENTS 25463 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_READ 25464 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_READ_INPUTARGUMENTS 25465 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_READ_OUTPUTARGUMENTS 25466 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_WRITE 25467 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_WRITE_INPUTARGUMENTS 25468 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_GETPOSITION 25469 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_GETPOSITION_INPUTARGUMENTS 25470 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_GETPOSITION_OUTPUTARGUMENTS 25471 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_SETPOSITION 25472 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_SETPOSITION_INPUTARGUMENTS 25473 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS 25474 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS_INPUTARGUMENTS 25475 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS_OUTPUTARGUMENTS 25476 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSEANDUPDATE 25477 /* Method */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_INPUTARGUMENTS 25478 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_OUTPUTARGUMENTS 25479 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DEFAULTDATAGRAMPUBLISHERID 25480 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONFIGURATIONVERSION 25481 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE 25482 /* ObjectType */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_SIZE 25483 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_WRITABLE 25484 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_USERWRITABLE 25485 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPENCOUNT 25486 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_MIMETYPE 25487 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_MAXBYTESTRINGLENGTH 25488 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_LASTMODIFIEDTIME 25489 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPEN 25490 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPEN_INPUTARGUMENTS 25491 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPEN_OUTPUTARGUMENTS 25492 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSE 25493 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSE_INPUTARGUMENTS 25494 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_READ 25495 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_READ_INPUTARGUMENTS 25496 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_READ_OUTPUTARGUMENTS 25497 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_WRITE 25498 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_WRITE_INPUTARGUMENTS 25499 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_GETPOSITION 25500 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_GETPOSITION_INPUTARGUMENTS 25501 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_GETPOSITION_OUTPUTARGUMENTS 25502 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_SETPOSITION 25503 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_SETPOSITION_INPUTARGUMENTS 25504 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_RESERVEIDS 25505 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_RESERVEIDS_INPUTARGUMENTS 25506 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_RESERVEIDS_OUTPUTARGUMENTS 25507 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSEANDUPDATE 25508 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSEANDUPDATE_INPUTARGUMENTS 25509 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSEANDUPDATE_OUTPUTARGUMENTS 25510 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPERESERVEIDSMETHODTYPE 25511 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPERESERVEIDSMETHODTYPE_INPUTARGUMENTS 25512 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPERESERVEIDSMETHODTYPE_OUTPUTARGUMENTS 25513 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPECLOSEANDUPDATEMETHODTYPE 25514 /* Method */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPECLOSEANDUPDATEMETHODTYPE_INPUTARGUMENTS 25515 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONTYPECLOSEANDUPDATEMETHODTYPE_OUTPUTARGUMENTS 25516 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONREFMASK 25517 /* DataType */ +#define UA_NS0ID_PUBSUBCONFIGURATIONREFMASK_OPTIONSETVALUES 25518 /* Variable */ +#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE 25519 /* DataType */ +#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE 25520 /* DataType */ +#define UA_NS0ID_PUBLISHEDDATASETTYPE_CYCLICDATASET 25521 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CYCLICDATASET 25522 /* Variable */ +#define UA_NS0ID_PUBLISHEDEVENTSTYPE_CYCLICDATASET 25523 /* Variable */ +#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_CYCLICDATASET 25524 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_QOSCATEGORY 25525 /* Variable */ +#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DATAGRAMQOS 25526 /* Variable */ +#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_QOSCATEGORY 25527 /* Variable */ +#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_QOSCATEGORY 25528 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_ENCODING_DEFAULTBINARY 25529 /* Object */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE_ENCODING_DEFAULTBINARY 25530 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE_ENCODING_DEFAULTBINARY 25531 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE_ENCODING_DEFAULTBINARY 25532 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 25533 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DATATYPEVERSION 25534 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DICTIONARYFRAGMENT 25535 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE 25536 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DATATYPEVERSION 25537 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DICTIONARYFRAGMENT 25538 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE 25539 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DATATYPEVERSION 25540 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DICTIONARYFRAGMENT 25541 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE 25542 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DATATYPEVERSION 25543 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DICTIONARYFRAGMENT 25544 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_ENCODING_DEFAULTXML 25545 /* Object */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE_ENCODING_DEFAULTXML 25546 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE_ENCODING_DEFAULTXML 25547 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE_ENCODING_DEFAULTXML 25548 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 25549 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DATATYPEVERSION 25550 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DICTIONARYFRAGMENT 25551 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE 25552 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DATATYPEVERSION 25553 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DICTIONARYFRAGMENT 25554 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE 25555 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DATATYPEVERSION 25556 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DICTIONARYFRAGMENT 25557 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE 25558 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DATATYPEVERSION 25559 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DICTIONARYFRAGMENT 25560 /* Variable */ +#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_ENCODING_DEFAULTJSON 25561 /* Object */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE_ENCODING_DEFAULTJSON 25562 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE_ENCODING_DEFAULTJSON 25563 /* Object */ +#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE_ENCODING_DEFAULTJSON 25564 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN 25565 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_IDENTITIES 25566 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_APPLICATIONSEXCLUDE 25567 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_APPLICATIONS 25568 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ENDPOINTSEXCLUDE 25569 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ENDPOINTS 25570 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_CUSTOMCONFIGURATION 25571 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDIDENTITY 25572 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDIDENTITY_INPUTARGUMENTS 25573 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEIDENTITY 25574 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEIDENTITY_INPUTARGUMENTS 25575 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDAPPLICATION 25576 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDAPPLICATION_INPUTARGUMENTS 25577 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEAPPLICATION 25578 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEAPPLICATION_INPUTARGUMENTS 25579 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDENDPOINT 25580 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDENDPOINT_INPUTARGUMENTS 25581 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEENDPOINT 25582 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEENDPOINT_INPUTARGUMENTS 25583 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH 25584 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_IDENTITIES 25585 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_APPLICATIONSEXCLUDE 25586 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_APPLICATIONS 25587 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ENDPOINTSEXCLUDE 25588 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ENDPOINTS 25589 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_CUSTOMCONFIGURATION 25590 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDIDENTITY 25591 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDIDENTITY_INPUTARGUMENTS 25592 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEIDENTITY 25593 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEIDENTITY_INPUTARGUMENTS 25594 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDAPPLICATION 25595 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDAPPLICATION_INPUTARGUMENTS 25596 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEAPPLICATION 25597 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEAPPLICATION_INPUTARGUMENTS 25598 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDENDPOINT 25599 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDENDPOINT_INPUTARGUMENTS 25600 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEENDPOINT 25601 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEENDPOINT_INPUTARGUMENTS 25602 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS 25603 /* Object */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_IDENTITIES 25604 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_APPLICATIONSEXCLUDE 25605 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_APPLICATIONS 25606 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ENDPOINTSEXCLUDE 25607 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ENDPOINTS 25608 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_CUSTOMCONFIGURATION 25609 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDIDENTITY 25610 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDIDENTITY_INPUTARGUMENTS 25611 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEIDENTITY 25612 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEIDENTITY_INPUTARGUMENTS 25613 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDAPPLICATION 25614 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDAPPLICATION_INPUTARGUMENTS 25615 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEAPPLICATION 25616 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEAPPLICATION_INPUTARGUMENTS 25617 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDENDPOINT 25618 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDENDPOINT_INPUTARGUMENTS 25619 /* Variable */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEENDPOINT 25620 /* Method */ +#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEENDPOINT_INPUTARGUMENTS 25621 /* Variable */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_INVALIDATEKEYS 25622 /* Method */ +#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_FORCEKEYROTATION 25623 /* Method */ +#define UA_NS0ID_SECURITYGROUPTYPE_INVALIDATEKEYS 25624 /* Method */ +#define UA_NS0ID_SECURITYGROUPTYPE_FORCEKEYROTATION 25625 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER 25626 /* Object */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYGROUPID 25627 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_KEYLIFETIME 25628 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYPOLICYURI 25629 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXFUTUREKEYCOUNT 25630 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXPASTKEYCOUNT 25631 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_INVALIDATEKEYS 25632 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_FORCEKEYROTATION 25633 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_APPLICATIONURI 25634 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_ENDPOINTURL 25635 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_USERTOKENTYPE 25636 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_REQUESTEDKEYCOUNT 25637 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_RETRYINTERVAL 25638 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_LASTPUSHEXECUTIONTIME 25639 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_LASTPUSHERRORTIME 25640 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_CONNECTSECURITYGROUPS 25641 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_CONNECTSECURITYGROUPS_INPUTARGUMENTS 25642 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_CONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25643 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_DISCONNECTSECURITYGROUPS 25644 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_DISCONNECTSECURITYGROUPS_INPUTARGUMENTS 25645 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_DISCONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25646 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_TRIGGERKEYUPDATE 25647 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_APPLICATIONURI 25648 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_ENDPOINTURL 25649 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_USERTOKENTYPE 25650 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_REQUESTEDKEYCOUNT 25651 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_RETRYINTERVAL 25652 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_LASTPUSHEXECUTIONTIME 25653 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_LASTPUSHERRORTIME 25654 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_CONNECTSECURITYGROUPS 25655 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_CONNECTSECURITYGROUPS_INPUTARGUMENTS 25656 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_CONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25657 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_DISCONNECTSECURITYGROUPS 25658 /* Method */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_DISCONNECTSECURITYGROUPS_INPUTARGUMENTS 25659 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_DISCONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25660 /* Variable */ +#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_TRIGGERKEYUPDATE 25661 /* Method */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_OUTPUTARGUMENTS 25684 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_APPLICATIONURI 25696 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_APPLICATIONTYPE 25697 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CANCELCHANGES 25698 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_RESETTOSERVERDEFAULTS 25699 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_APPLICATIONURI 25706 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_APPLICATIONTYPE 25707 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CANCELCHANGES 25708 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_RESETTOSERVERDEFAULTS 25709 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_SETADMINPASSWORD 25710 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_PRODUCTURI 25724 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_PRODUCTURI 25725 /* Variable */ +#define UA_NS0ID_ENCODEDTICKET 25726 /* DataType */ +#define UA_NS0ID_REQUESTTICKETSMETHODTYPE 25727 /* Method */ +#define UA_NS0ID_REQUESTTICKETSMETHODTYPE_OUTPUTARGUMENTS 25728 /* Variable */ +#define UA_NS0ID_SETREGISTRARENDPOINTSMETHODTYPE 25729 /* Method */ +#define UA_NS0ID_SETREGISTRARENDPOINTSMETHODTYPE_INPUTARGUMENTS 25730 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE 25731 /* ObjectType */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS 25732 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 25733 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 25734 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 25735 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 25736 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 25737 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 25738 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 25739 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 25740 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25741 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 25742 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 25743 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 25744 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 25745 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 25746 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 25747 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 25748 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 25749 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 25750 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 25751 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 25752 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 25753 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 25754 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 25755 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 25756 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 25757 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 25758 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 25759 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 25760 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 25761 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 25762 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 25763 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 25764 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 25765 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 25766 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 25767 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 25768 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 25769 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 25770 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 25772 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 25773 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 25774 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 25775 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 25776 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 25777 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 25778 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 25779 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 25780 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 25781 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 25782 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 25783 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 25784 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 25785 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 25786 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 25787 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 25788 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 25789 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 25790 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 25791 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 25792 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 25793 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 25794 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 25795 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 25796 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 25797 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 25798 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 25799 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 25800 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 25801 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 25802 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 25803 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 25804 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 25805 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 25806 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 25807 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 25808 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 25809 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 25810 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 25811 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 25812 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 25813 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 25814 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 25815 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 25816 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 25817 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 25818 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 25819 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 25820 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 25821 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 25822 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 25823 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 25824 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 25825 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 25826 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 25827 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 25828 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 25829 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 25830 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 25831 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 25832 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 25833 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 25834 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 25835 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 25836 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 25837 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 25838 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 25839 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 25840 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 25841 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 25842 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 25843 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 25844 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 25845 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 25846 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 25847 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 25848 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 25849 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 25850 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 25851 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 25852 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 25853 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 25854 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 25855 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 25856 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 25857 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 25858 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 25859 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 25860 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 25861 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 25862 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 25863 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 25864 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 25865 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 25866 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 25867 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 25868 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 25869 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 25870 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 25871 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 25872 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 25873 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 25874 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 25875 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 25876 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 25877 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25878 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25879 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 25880 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25881 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25882 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 25883 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25884 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25885 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 25886 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 25887 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 25888 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 25889 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 25890 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 25891 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 25892 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 25893 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 25894 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 25895 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 25896 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 25897 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 25898 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 25899 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 25900 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 25901 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 25902 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 25903 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 25904 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 25905 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 25906 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 25907 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 25908 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 25909 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 25910 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 25911 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 25912 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 25913 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 25914 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 25915 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 25916 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 25917 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 25918 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 25919 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 25920 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 25921 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 25922 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 25923 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 25924 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 25925 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 25926 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 25927 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 25928 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 25929 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 25930 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 25931 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 25932 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25933 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25934 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 25935 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 25936 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 25937 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 25938 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 25939 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 25940 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 25941 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 25942 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 25943 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 25944 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 25945 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 25946 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 25947 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 25948 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 25949 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 25950 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 25951 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 25952 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 25953 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 25954 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 25955 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 25956 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 25957 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 25958 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 25959 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 25960 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 25961 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 25962 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 25963 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 25964 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 25965 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 25966 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 25967 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 25968 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 25969 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 25970 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 25971 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 25972 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 25973 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 25974 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 25975 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 25976 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 25977 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 25978 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 25979 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 25980 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 25981 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 25982 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 25983 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 25984 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 25985 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 25986 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 25987 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 25988 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 25989 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 25990 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 25991 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 25992 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 25993 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 25994 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 25995 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 25996 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 25997 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 25998 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 25999 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 26000 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 26001 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 26002 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26003 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 26004 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26005 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 26006 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 26007 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 26008 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 26009 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 26010 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 26011 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 26012 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26013 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 26014 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26015 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 26016 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 26017 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 26018 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 26019 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 26020 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 26021 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26022 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 26023 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26024 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 26025 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 26026 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 26027 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 26028 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 26029 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 26030 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 26031 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26032 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 26033 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 26034 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 26035 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 26036 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26037 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26038 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 26039 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 26040 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 26041 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 26042 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26043 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 26044 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26045 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 26046 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 26047 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26048 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 26049 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 26050 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26051 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 26052 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 26053 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 26054 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 26055 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 26056 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 26057 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 26058 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 26059 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 26060 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 26061 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 26062 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 26063 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 26064 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 26065 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 26066 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 26067 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 26068 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 26069 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 26070 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 26071 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 26072 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 26073 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 26074 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 26075 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26076 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 26077 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26078 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 26079 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 26080 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 26081 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 26082 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 26083 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 26084 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 26085 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 26086 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 26087 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 26088 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 26089 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 26090 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 26091 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 26092 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 26093 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 26094 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 26095 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 26096 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 26097 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 26098 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 26099 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26100 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 26101 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 26102 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 26103 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 26104 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 26105 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 26106 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 26107 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 26108 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 26109 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 26110 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 26111 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 26112 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 26113 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 26114 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 26115 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 26116 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 26117 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 26118 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 26119 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 26120 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 26121 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 26122 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 26123 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 26124 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 26125 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 26126 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 26127 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 26128 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 26129 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 26130 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 26131 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 26132 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 26133 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 26134 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 26135 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 26136 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 26137 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 26138 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 26139 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 26140 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 26141 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 26142 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 26144 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 26145 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 26146 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 26147 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 26148 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 26149 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 26150 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 26151 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 26152 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 26153 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 26154 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 26155 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 26156 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 26157 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 26158 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 26159 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 26160 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 26161 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 26162 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 26163 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 26164 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 26165 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 26166 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26167 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 26168 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26169 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 26170 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 26171 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 26172 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 26173 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 26174 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 26175 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 26176 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 26177 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 26178 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 26179 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 26180 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 26181 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 26182 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 26183 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 26184 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 26185 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 26186 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26187 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 26188 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26189 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 26190 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 26191 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 26192 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 26193 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 26194 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 26195 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26196 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 26197 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26198 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 26199 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 26200 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 26201 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 26202 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 26203 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 26204 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 26205 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 26206 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 26207 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 26208 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26209 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 26210 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26211 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 26212 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 26213 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 26214 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 26215 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 26216 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 26217 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 26218 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26219 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 26220 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26221 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 26222 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 26223 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 26224 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 26225 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 26226 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 26227 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26228 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 26229 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26230 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 26231 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 26232 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 26233 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 26234 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 26235 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 26236 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 26237 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26238 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 26239 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 26240 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 26241 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 26242 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26243 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26244 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 26245 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 26246 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 26247 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 26248 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26249 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 26250 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26251 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 26252 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 26253 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26254 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 26255 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 26256 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26257 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 26258 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 26259 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 26260 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 26261 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 26262 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 26263 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 26264 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 26265 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 26266 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 26267 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 26268 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 26269 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 26270 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 26271 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 26272 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 26273 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 26274 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 26275 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 26276 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 26277 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 26278 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 26279 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 26280 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 26281 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26282 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 26283 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26284 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 26285 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 26286 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 26287 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 26288 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 26289 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 26290 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 26291 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 26292 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 26293 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 26294 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 26295 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 26296 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 26297 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 26298 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 26299 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 26300 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 26301 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 26302 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 26303 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 26304 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 26305 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26306 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 26307 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 26308 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 26309 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 26310 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 26311 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 26312 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 26313 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 26314 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 26315 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 26316 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 26317 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 26318 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 26319 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 26320 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 26321 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 26322 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 26323 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 26324 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 26325 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 26326 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 26327 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 26328 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 26329 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 26330 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 26331 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 26332 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26333 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 26334 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26335 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 26336 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 26337 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 26338 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 26339 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 26340 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 26341 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 26342 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 26343 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 26344 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 26345 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 26346 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 26347 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 26348 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 26349 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 26350 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 26351 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 26352 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26353 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 26354 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26355 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 26356 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 26357 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 26358 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 26359 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 26360 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 26361 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26362 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 26363 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26364 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 26365 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 26366 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 26367 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 26368 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 26369 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 26370 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 26371 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 26372 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 26373 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 26374 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26375 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 26376 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26377 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 26378 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 26379 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 26380 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 26381 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 26382 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 26383 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 26384 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26385 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 26386 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26387 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 26388 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 26389 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 26390 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 26391 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 26392 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 26393 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26394 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 26395 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26396 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 26397 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 26398 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 26399 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 26400 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 26401 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 26402 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 26403 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26404 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 26405 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 26406 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 26407 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 26408 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26409 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26410 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 26411 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 26412 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 26413 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 26414 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26415 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 26416 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26417 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 26418 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 26419 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26420 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 26421 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 26422 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26423 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 26424 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 26425 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 26426 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 26427 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 26428 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 26429 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 26430 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 26431 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 26432 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 26433 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 26434 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 26435 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 26436 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 26437 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 26438 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 26439 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 26440 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 26441 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 26442 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 26443 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 26444 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 26445 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 26446 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 26447 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26448 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 26449 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26450 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 26451 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 26452 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 26453 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 26454 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 26455 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 26456 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 26457 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 26458 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 26459 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 26460 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 26461 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 26462 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 26463 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 26464 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 26465 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 26466 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 26467 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 26468 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 26469 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 26470 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 26471 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26472 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 26473 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 26474 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 26475 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 26476 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 26477 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 26478 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 26479 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 26480 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 26481 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 26482 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 26483 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 26484 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 26485 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 26486 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 26487 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 26488 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 26489 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 26490 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 26491 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 26492 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 26493 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 26494 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 26495 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 26496 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 26497 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 26498 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 26499 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 26500 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 26501 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 26502 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 26503 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 26504 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 26505 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 26506 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 26507 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 26508 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 26509 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 26510 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 26511 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 26512 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 26513 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 26514 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 26516 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 26517 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 26518 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 26519 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 26520 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 26521 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 26522 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 26523 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 26524 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 26525 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 26526 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 26527 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 26528 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 26529 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 26530 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 26531 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 26532 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 26533 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 26534 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 26535 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 26536 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 26537 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 26538 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26539 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 26540 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26541 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 26542 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 26543 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 26544 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 26545 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 26546 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 26547 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 26548 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 26549 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 26550 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 26551 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 26552 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 26553 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 26554 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 26555 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 26556 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 26557 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 26558 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26559 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 26560 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26561 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 26562 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 26563 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 26564 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 26565 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 26566 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 26567 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26568 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 26569 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26570 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 26571 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 26572 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 26573 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 26574 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 26575 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 26576 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 26577 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 26578 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 26579 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 26580 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26581 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 26582 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26583 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 26584 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 26585 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 26586 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 26587 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 26588 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 26589 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 26590 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26591 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 26592 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26593 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 26594 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 26595 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 26596 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 26597 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 26598 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 26599 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26600 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 26601 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26602 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 26603 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 26604 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 26605 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 26606 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 26607 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 26608 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 26609 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26610 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 26611 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 26612 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 26613 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 26614 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26615 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26616 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 26617 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 26618 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 26619 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 26620 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26621 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 26622 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26623 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 26624 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 26625 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26626 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 26627 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 26628 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26629 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 26630 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 26631 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 26632 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 26633 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 26634 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 26635 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 26636 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 26637 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 26638 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 26639 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 26640 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 26641 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 26642 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 26643 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 26644 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 26645 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 26646 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 26647 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 26648 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 26649 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 26650 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 26651 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 26652 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 26653 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26654 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 26655 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26656 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 26657 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 26658 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 26659 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 26660 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 26661 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 26662 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 26663 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 26664 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 26665 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 26666 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 26667 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 26668 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 26669 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 26670 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 26671 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 26672 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 26673 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 26674 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 26675 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 26676 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 26677 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26678 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 26679 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 26680 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 26681 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 26682 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 26683 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 26684 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 26685 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 26686 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 26687 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 26688 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 26689 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 26690 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 26691 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 26692 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 26693 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 26694 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 26695 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 26696 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 26697 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 26698 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 26699 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 26700 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 26701 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 26702 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 26703 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 26704 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26705 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 26706 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26707 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 26708 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 26709 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 26710 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 26711 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 26712 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 26713 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 26714 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 26715 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 26716 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 26717 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 26718 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 26719 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 26720 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 26721 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 26722 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 26723 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 26724 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26725 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 26726 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26727 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 26728 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 26729 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 26730 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 26731 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 26732 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 26733 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26734 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 26735 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26736 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 26737 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 26738 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 26739 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 26740 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 26741 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 26742 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 26743 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 26744 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 26745 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 26746 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26747 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 26748 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26749 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 26750 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 26751 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 26752 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 26753 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 26754 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 26755 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 26756 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26757 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 26758 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26759 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 26760 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 26761 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 26762 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 26763 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 26764 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 26765 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26766 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 26767 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26768 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 26769 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 26770 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 26771 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 26772 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 26773 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 26774 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 26775 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26776 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 26777 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 26778 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 26779 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 26780 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26781 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26782 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 26783 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 26784 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 26785 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 26786 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26787 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 26788 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26789 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 26790 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 26791 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26792 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 26793 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 26794 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26795 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 26796 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 26797 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 26798 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 26799 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 26800 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 26801 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 26802 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 26803 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 26804 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 26805 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 26806 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 26807 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 26808 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 26809 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 26810 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 26811 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 26812 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 26813 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 26814 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 26815 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 26816 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 26817 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 26818 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 26819 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26820 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 26821 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26822 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 26823 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 26824 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 26825 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 26826 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 26827 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 26828 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 26829 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 26830 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 26831 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 26832 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 26833 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 26834 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 26835 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 26836 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 26837 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 26838 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 26839 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 26840 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 26841 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 26842 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 26843 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26844 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 26845 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 26846 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 26847 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 26848 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_ENABLED 26849 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_APPLICATIONURI 26850 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_PRODUCTURI 26851 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_APPLICATIONTYPE 26852 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_SERVERCAPABILITIES 26853 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_SUPPORTEDPRIVATEKEYFORMATS 26854 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_MAXTRUSTLISTSIZE 26855 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_MULTICASTDNSENABLED 26856 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_HASSECUREELEMENT 26857 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_UPDATECERTIFICATE 26858 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_UPDATECERTIFICATE_INPUTARGUMENTS 26859 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_UPDATECERTIFICATE_OUTPUTARGUMENTS 26860 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_APPLYCHANGES 26861 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CANCELCHANGES 26862 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CREATESIGNINGREQUEST 26863 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CREATESIGNINGREQUEST_INPUTARGUMENTS 26864 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 26865 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETREJECTEDLIST 26866 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETREJECTEDLIST_OUTPUTARGUMENTS 26867 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_RESETTOSERVERDEFAULTS 26868 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE 26871 /* ObjectType */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_ISSINGLETON 26872 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_REQUESTTICKETS 26873 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_REQUESTTICKETS_OUTPUTARGUMENTS 26874 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_SETREGISTRARENDPOINTS 26875 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_SETREGISTRARENDPOINTS_INPUTARGUMENTS 26876 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER 26878 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS 26879 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 26880 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 26881 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 26882 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 26883 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 26884 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 26885 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 26886 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 26887 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 26888 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 26889 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 26890 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 26891 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 26892 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 26893 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 26894 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 26895 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 26896 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 26897 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 26898 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 26899 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 26900 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 26901 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 26902 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 26903 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 26904 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 26905 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 26906 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 26907 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 26908 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 26909 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 26910 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 26911 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 26912 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 26913 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 26914 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 26915 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 26916 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 26917 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 26919 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 26920 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 26921 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 26922 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 26923 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 26924 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 26925 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 26926 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 26927 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 26928 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 26929 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 26930 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 26931 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 26932 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 26933 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 26934 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 26935 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 26936 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 26937 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 26938 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 26939 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 26940 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 26941 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26942 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 26943 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26944 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 26945 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 26946 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 26947 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 26948 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 26949 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 26950 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 26951 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 26952 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 26953 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 26954 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 26955 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 26956 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 26957 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 26958 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 26959 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 26960 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 26961 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26962 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 26963 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26964 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 26965 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 26966 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 26967 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 26968 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 26969 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 26970 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26971 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 26972 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26973 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 26974 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 26975 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 26976 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 26977 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 26978 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 26979 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 26980 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 26981 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 26982 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 26983 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26984 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 26985 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26986 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 26987 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 26988 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 26989 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 26990 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 26991 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 26992 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 26993 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26994 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 26995 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26996 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 26997 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 26998 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 26999 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 27000 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 27001 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 27002 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27003 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 27004 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27005 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 27006 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 27007 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 27008 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 27009 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 27010 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 27011 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 27012 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27013 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 27014 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 27015 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 27016 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 27017 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27018 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27019 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 27020 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 27021 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 27022 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 27023 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27024 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 27025 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27026 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 27027 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 27028 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27029 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 27030 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 27031 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27032 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 27033 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 27034 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 27035 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 27036 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 27037 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 27038 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 27039 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 27040 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 27041 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 27042 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 27043 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 27044 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 27045 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 27046 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 27047 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 27048 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 27049 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 27050 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 27051 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 27052 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 27053 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 27054 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 27055 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 27056 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27057 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 27058 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27059 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 27060 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 27061 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 27062 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 27063 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 27064 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 27065 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 27066 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 27067 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 27068 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 27069 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 27070 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 27071 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 27072 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 27073 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 27074 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 27075 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 27076 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 27077 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 27078 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 27079 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 27080 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27081 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 27082 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 27083 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 27084 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 27085 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 27086 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 27087 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 27088 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 27089 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 27090 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 27091 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 27092 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 27093 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 27094 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 27095 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 27096 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 27097 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 27098 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 27099 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 27100 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 27101 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 27102 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 27103 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 27104 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 27105 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 27106 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 27107 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27108 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 27109 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27110 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 27111 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 27112 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 27113 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 27114 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 27115 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 27116 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 27117 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 27118 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 27119 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 27120 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 27121 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 27122 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 27123 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 27124 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 27125 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 27126 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 27127 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27128 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 27129 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27130 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 27131 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 27132 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 27133 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 27134 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 27135 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 27136 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27137 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 27138 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27139 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 27140 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 27141 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 27142 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 27143 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 27144 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 27145 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 27146 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 27147 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 27148 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 27149 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27150 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 27151 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27152 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 27153 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 27154 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 27155 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 27156 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 27157 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 27158 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 27159 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27160 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 27161 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27162 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 27163 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 27164 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 27165 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 27166 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 27167 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 27168 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27169 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 27170 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27171 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 27172 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 27173 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 27174 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 27175 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 27176 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 27177 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 27178 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27179 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 27180 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 27181 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 27182 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 27183 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27184 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27185 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 27186 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 27187 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 27188 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 27189 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27190 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 27191 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27192 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 27193 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 27194 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27195 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 27196 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 27197 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27198 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 27199 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 27200 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 27201 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 27202 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 27203 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 27204 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 27205 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 27206 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 27207 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 27208 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 27209 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 27210 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 27211 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 27212 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 27213 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 27214 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 27215 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 27216 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 27217 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 27218 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 27219 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 27220 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 27221 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 27222 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27223 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 27224 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27225 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 27226 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 27227 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 27228 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 27229 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 27230 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 27231 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 27232 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 27233 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 27234 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 27235 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 27236 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 27237 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 27238 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 27239 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 27240 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 27241 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 27242 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 27243 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 27244 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 27245 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 27246 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27247 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 27248 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 27249 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 27250 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 27251 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 27252 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 27253 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 27254 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 27255 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 27256 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 27257 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 27258 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 27259 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 27260 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 27261 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 27262 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 27263 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 27264 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 27265 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 27266 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 27267 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 27268 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 27269 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 27270 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 27271 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 27272 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 27273 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 27274 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 27275 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 27276 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 27277 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 27278 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 27279 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 27280 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 27281 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 27282 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 27283 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 27284 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 27285 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 27286 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 27287 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 27288 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 27289 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 27291 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 27292 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 27293 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 27294 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 27295 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 27296 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 27297 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 27298 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 27299 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 27300 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 27301 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 27302 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 27303 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 27304 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 27305 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 27306 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 27307 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 27308 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 27309 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 27310 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 27311 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 27312 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 27313 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27314 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 27315 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27316 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 27317 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 27318 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 27319 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 27320 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 27321 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 27322 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 27323 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 27324 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 27325 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 27326 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 27327 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 27328 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 27329 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 27330 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 27331 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 27332 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 27333 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27334 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 27335 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27336 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 27337 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 27338 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 27339 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 27340 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 27341 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 27342 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27343 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 27344 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27345 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 27346 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 27347 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 27348 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 27349 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 27350 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 27351 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 27352 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 27353 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 27354 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 27355 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27356 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 27357 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27358 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 27359 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 27360 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 27361 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 27362 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 27363 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 27364 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 27365 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27366 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 27367 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27368 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 27369 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 27370 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 27371 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 27372 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 27373 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 27374 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27375 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 27376 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27377 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 27378 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 27379 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 27380 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 27381 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 27382 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 27383 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 27384 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27385 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 27386 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 27387 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 27388 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 27389 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27390 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27391 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 27392 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 27393 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 27394 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 27395 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27396 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 27397 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27398 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 27399 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 27400 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27401 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 27402 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 27403 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27404 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 27405 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 27406 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 27407 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 27408 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 27409 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 27410 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 27411 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 27412 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 27413 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 27414 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 27415 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 27416 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 27417 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 27418 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 27419 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 27420 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 27421 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 27422 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 27423 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 27424 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 27425 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 27426 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 27427 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 27428 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27429 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 27430 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27431 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 27432 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 27433 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 27434 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 27435 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 27436 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 27437 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 27438 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 27439 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 27440 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 27441 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 27442 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 27443 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 27444 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 27445 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 27446 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 27447 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 27448 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 27449 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 27450 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 27451 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 27452 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27453 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 27454 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 27455 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 27456 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 27457 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 27458 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 27459 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 27460 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 27461 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 27462 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 27463 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 27464 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 27465 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 27466 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 27467 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 27468 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 27469 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 27470 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 27471 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 27472 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 27473 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 27474 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 27475 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 27476 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 27477 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 27478 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 27479 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27480 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 27481 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27482 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 27483 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 27484 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 27485 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 27486 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 27487 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 27488 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 27489 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 27490 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 27491 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 27492 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 27493 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 27494 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 27495 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 27496 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 27497 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 27498 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 27499 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27500 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 27501 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27502 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 27503 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 27504 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 27505 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 27506 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 27507 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 27508 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27509 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 27510 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27511 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 27512 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 27513 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 27514 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 27515 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 27516 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 27517 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 27518 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 27519 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 27520 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 27521 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27522 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 27523 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27524 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 27525 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 27526 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 27527 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 27528 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 27529 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 27530 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 27531 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27532 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 27533 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27534 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 27535 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 27536 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 27537 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 27538 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 27539 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 27540 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27541 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 27542 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27543 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 27544 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 27545 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 27546 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 27547 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 27548 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 27549 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 27550 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27551 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 27552 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 27553 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 27554 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 27555 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27556 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27557 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 27558 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 27559 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 27560 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 27561 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27562 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 27563 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27564 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 27565 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 27566 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27567 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 27568 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 27569 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27570 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 27571 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 27572 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 27573 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 27574 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 27575 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 27576 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 27577 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 27578 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 27579 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 27580 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 27581 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 27582 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 27583 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 27584 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 27585 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 27586 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 27587 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 27588 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 27589 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 27590 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 27591 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 27592 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 27593 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 27594 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27595 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 27596 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27597 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 27598 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 27599 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 27600 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 27601 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 27602 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 27603 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 27604 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 27605 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 27606 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 27607 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 27608 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 27609 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 27610 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 27611 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 27612 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 27613 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 27614 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 27615 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 27616 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 27617 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 27618 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27619 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 27620 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 27621 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 27622 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 27623 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 27624 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 27625 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 27626 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 27627 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 27628 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 27629 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 27630 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 27631 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 27632 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 27633 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 27634 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 27635 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 27636 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 27637 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 27638 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 27639 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 27640 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 27641 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 27642 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 27643 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 27644 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 27645 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 27646 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 27647 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 27648 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 27649 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 27650 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 27651 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 27652 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 27653 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 27654 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 27655 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 27656 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 27657 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 27658 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 27659 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 27660 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 27661 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 27663 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 27664 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 27665 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 27666 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 27667 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 27668 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 27669 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 27670 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 27671 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 27672 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 27673 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 27674 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 27675 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 27676 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 27677 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 27678 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 27679 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 27680 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 27681 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 27682 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 27683 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 27684 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 27685 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27686 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 27687 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27688 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 27689 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 27690 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 27691 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 27692 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 27693 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 27694 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 27695 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 27696 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 27697 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 27698 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 27699 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 27700 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 27701 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 27702 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 27703 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 27704 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 27705 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27706 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 27707 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27708 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 27709 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 27710 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 27711 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 27712 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 27713 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 27714 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27715 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 27716 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27717 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 27718 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 27719 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 27720 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 27721 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 27722 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 27723 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 27724 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 27725 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 27726 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 27727 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27728 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 27729 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27730 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 27731 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 27732 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 27733 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 27734 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 27735 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 27736 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 27737 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27738 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 27739 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27740 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 27741 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 27742 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 27743 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 27744 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 27745 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 27746 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27747 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 27748 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27749 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 27750 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 27751 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 27752 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 27753 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 27754 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 27755 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 27756 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27757 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 27758 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 27759 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 27760 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 27761 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27762 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27763 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 27764 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 27765 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 27766 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 27767 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27768 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 27769 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27770 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 27771 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 27772 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27773 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 27774 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 27775 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27776 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 27777 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 27778 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 27779 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 27780 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 27781 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 27782 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 27783 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 27784 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 27785 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 27786 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 27787 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 27788 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 27789 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 27790 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 27791 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 27792 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 27793 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 27794 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 27795 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 27796 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 27797 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 27798 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 27799 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 27800 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27801 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 27802 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27803 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 27804 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 27805 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 27806 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 27807 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 27808 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 27809 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 27810 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 27811 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 27812 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 27813 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 27814 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 27815 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 27816 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 27817 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 27818 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 27819 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 27820 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 27821 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 27822 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 27823 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 27824 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27825 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 27826 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 27827 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 27828 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 27829 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 27830 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 27831 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 27832 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 27833 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 27834 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 27835 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 27836 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 27837 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 27838 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 27839 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 27840 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 27841 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 27842 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 27843 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 27844 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 27845 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 27846 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 27847 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 27848 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 27849 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 27850 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 27851 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27852 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 27853 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27854 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 27855 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 27856 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 27857 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 27858 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 27859 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 27860 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 27861 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 27862 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 27863 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 27864 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 27865 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 27866 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 27867 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 27868 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 27869 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 27870 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 27871 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27872 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 27873 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27874 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 27875 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 27876 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 27877 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 27878 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 27879 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 27880 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27881 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 27882 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27883 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 27884 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 27885 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 27886 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 27887 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 27888 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 27889 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 27890 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 27891 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 27892 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 27893 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27894 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 27895 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27896 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 27897 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 27898 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 27899 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 27900 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 27901 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 27902 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 27903 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27904 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 27905 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27906 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 27907 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 27908 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 27909 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 27910 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 27911 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 27912 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27913 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 27914 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27915 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 27916 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 27917 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 27918 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 27919 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 27920 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 27921 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 27922 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27923 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 27924 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 27925 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 27926 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 27927 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27928 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27929 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 27930 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 27931 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 27932 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 27933 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27934 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 27935 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27936 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 27937 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 27938 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27939 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 27940 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 27941 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27942 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 27943 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 27944 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 27945 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 27946 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 27947 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 27948 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 27949 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 27950 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 27951 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 27952 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 27953 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 27954 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 27955 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 27956 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 27957 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 27958 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 27959 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 27960 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 27961 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 27962 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 27963 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 27964 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 27965 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 27966 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27967 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 27968 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27969 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 27970 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 27971 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 27972 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 27973 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 27974 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 27975 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 27976 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 27977 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 27978 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 27979 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 27980 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 27981 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 27982 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 27983 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 27984 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 27985 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 27986 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 27987 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 27988 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 27989 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 27990 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27991 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 27992 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 27993 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 27994 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 27995 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_ENABLED 27996 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONURI 27997 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_PRODUCTURI 27998 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONTYPE 27999 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_SERVERCAPABILITIES 28000 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_SUPPORTEDPRIVATEKEYFORMATS 28001 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_MAXTRUSTLISTSIZE 28002 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_MULTICASTDNSENABLED 28003 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_HASSECUREELEMENT 28004 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE 28005 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_INPUTARGUMENTS 28006 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_OUTPUTARGUMENTS 28007 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_APPLYCHANGES 28008 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CANCELCHANGES 28009 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST 28010 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_INPUTARGUMENTS 28011 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 28012 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST 28013 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST_OUTPUTARGUMENTS 28014 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_RESETTOSERVERDEFAULTS 28015 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE 29878 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_ISSINGLETON 29879 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_REQUESTTICKETS 29880 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_REQUESTTICKETS_OUTPUTARGUMENTS 29881 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_SETREGISTRARENDPOINTS 29882 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_SETREGISTRARENDPOINTS_INPUTARGUMENTS 29883 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER 29885 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS 29886 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 29887 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 29888 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 29889 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 29890 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 29891 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 29892 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 29893 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 29894 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 29895 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 29896 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 29897 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 29898 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 29899 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 29900 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 29901 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 29902 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 29903 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 29904 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 29905 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 29906 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 29907 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 29908 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 29909 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 29910 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 29911 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 29912 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 29913 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 29914 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 29915 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 29916 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 29917 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 29918 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 29919 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 29920 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 29921 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 29922 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 29923 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 29924 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 29926 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 29927 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 29928 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 29929 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 29930 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 29931 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 29932 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 29933 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 29934 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 29935 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 29936 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 29937 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 29938 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 29939 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 29940 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 29941 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 29942 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 29943 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 29944 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 29945 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 29946 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 29947 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 29948 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 29949 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 29950 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 29951 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 29952 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 29953 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 29954 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 29955 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 29956 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 29957 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 29958 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 29959 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 29960 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 29961 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 29962 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 29963 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 29964 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 29965 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 29966 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 29967 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 29968 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 29969 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 29970 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 29971 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 29972 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 29973 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 29974 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 29975 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 29976 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 29977 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 29978 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 29979 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 29980 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 29981 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 29982 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 29983 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 29984 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 29985 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 29986 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 29987 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 29988 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 29989 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 29990 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 29991 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 29992 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 29993 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 29994 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 29995 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 29996 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 29997 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 29998 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 29999 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 30000 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30001 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 30002 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30003 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 30004 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 30005 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 30006 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 30007 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 30008 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 30009 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30010 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 30011 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30012 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 30013 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 30014 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 30015 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 30016 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 30017 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 30018 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 30019 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30020 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 30021 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 30022 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 30023 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 30024 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30025 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30026 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 30027 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 30028 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 30029 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 30030 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30031 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 30032 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30033 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 30034 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 30035 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30036 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 30037 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 30038 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30039 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 30040 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 30041 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 30042 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 30043 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 30044 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 30045 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 30046 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 30047 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 30048 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 30049 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 30050 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 30051 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 30052 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 30053 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 30054 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 30055 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 30056 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 30057 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 30058 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 30059 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 30060 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 30061 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 30062 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 30063 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30064 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 30065 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30066 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 30067 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 30068 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 30069 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 30070 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 30071 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 30072 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 30073 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 30074 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 30075 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 30076 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 30077 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 30078 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 30079 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 30080 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 30081 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 30082 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 30083 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 30084 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 30085 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 30086 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 30087 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30088 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 30089 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 30090 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 30091 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 30092 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 30093 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 30094 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 30095 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 30096 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 30097 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 30098 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 30099 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 30100 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 30101 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 30102 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 30103 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 30104 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 30105 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 30106 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 30107 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 30108 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 30109 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 30110 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 30111 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 30112 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 30113 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 30114 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30115 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 30116 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30117 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 30118 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 30119 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 30120 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 30121 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 30122 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 30123 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 30124 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 30125 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 30126 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 30127 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 30128 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 30129 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 30130 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 30131 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 30132 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 30133 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 30134 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30135 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 30136 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30137 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 30138 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 30139 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 30140 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 30141 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 30142 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 30143 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30144 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 30145 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30146 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 30147 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 30148 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 30149 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 30150 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 30151 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 30152 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 30153 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 30154 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 30155 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 30156 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30157 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 30158 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30159 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 30160 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 30161 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 30162 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 30163 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 30164 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 30165 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 30166 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30167 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 30168 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30169 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 30170 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 30171 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 30172 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 30173 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 30174 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 30175 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30176 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 30177 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30178 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 30179 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 30180 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 30181 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 30182 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 30183 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 30184 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 30185 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30186 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 30187 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 30188 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 30189 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 30190 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30191 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30192 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 30193 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 30194 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 30195 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 30196 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30197 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 30198 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30199 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 30200 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 30201 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30202 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 30203 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 30204 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30205 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 30206 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 30207 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 30208 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 30209 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 30210 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 30211 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 30212 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 30213 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 30214 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 30215 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 30216 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 30217 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 30218 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 30219 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 30220 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 30221 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 30222 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 30223 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 30224 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 30225 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 30226 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 30227 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 30228 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 30229 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30230 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 30231 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30232 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 30233 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 30234 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 30235 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 30236 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 30237 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 30238 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 30239 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 30240 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 30241 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 30242 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 30243 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 30244 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 30245 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 30246 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 30247 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 30248 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 30249 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 30250 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 30251 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 30252 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 30253 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30254 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 30255 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 30256 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 30257 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 30258 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 30259 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 30260 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 30261 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 30262 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 30263 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 30264 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 30265 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 30266 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 30267 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 30268 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 30269 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 30270 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 30271 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 30272 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 30273 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 30274 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 30275 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 30276 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 30277 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 30278 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 30279 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 30280 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 30281 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 30282 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 30283 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 30284 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 30285 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 30286 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 30287 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 30288 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 30289 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 30290 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 30291 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 30292 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 30293 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 30294 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 30295 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 30296 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 30298 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 30299 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 30300 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 30301 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 30302 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 30303 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 30304 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 30305 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 30306 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 30307 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 30308 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 30309 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 30310 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 30311 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 30312 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 30313 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 30314 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 30315 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 30316 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 30317 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 30318 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 30319 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 30320 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30321 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 30322 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30323 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 30324 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 30325 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 30326 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 30327 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 30328 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 30329 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 30330 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 30331 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 30332 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 30333 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 30334 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 30335 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 30336 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 30337 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 30338 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 30339 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 30340 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30341 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 30342 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30343 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 30344 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 30345 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 30346 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 30347 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 30348 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 30349 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30350 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 30351 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30352 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 30353 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 30354 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 30355 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 30356 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 30357 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 30358 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 30359 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 30360 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 30361 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 30362 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30363 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 30364 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30365 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 30366 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 30367 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 30368 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 30369 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 30370 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 30371 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 30372 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30373 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 30374 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30375 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 30376 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 30377 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 30378 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 30379 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 30380 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 30381 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30382 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 30383 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30384 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 30385 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 30386 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 30387 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 30388 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 30389 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 30390 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 30391 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30392 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 30393 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 30394 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 30395 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 30396 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30397 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30398 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 30399 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 30400 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 30401 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 30402 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30403 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 30404 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30405 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 30406 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 30407 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30408 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 30409 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 30410 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30411 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 30412 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 30413 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 30414 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 30415 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 30416 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 30417 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 30418 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 30419 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 30420 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 30421 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 30422 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 30423 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 30424 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 30425 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 30426 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 30427 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 30428 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 30429 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 30430 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 30431 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 30432 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 30433 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 30434 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 30435 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30436 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 30437 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30438 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 30439 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 30440 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 30441 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 30442 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 30443 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 30444 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 30445 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 30446 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 30447 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 30448 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 30449 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 30450 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 30451 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 30452 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 30453 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 30454 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 30455 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 30456 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 30457 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 30458 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 30459 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30460 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 30461 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 30462 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 30463 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 30464 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 30465 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 30466 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 30467 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 30468 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 30469 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 30470 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 30471 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 30472 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 30473 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 30474 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 30475 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 30476 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 30477 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 30478 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 30479 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 30480 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 30481 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 30482 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 30483 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 30484 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 30485 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 30486 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30487 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 30488 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30489 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 30490 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 30491 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 30492 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 30493 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 30494 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 30495 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 30496 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 30497 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 30498 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 30499 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 30500 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 30501 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 30502 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 30503 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 30504 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 30505 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 30506 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30507 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 30508 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30509 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 30510 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 30511 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 30512 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 30513 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 30514 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 30515 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30516 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 30517 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30518 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 30519 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 30520 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 30521 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 30522 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 30523 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 30524 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 30525 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 30526 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 30527 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 30528 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30529 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 30530 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30531 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 30532 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 30533 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 30534 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 30535 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 30536 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 30537 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 30538 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30539 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 30540 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30541 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 30542 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 30543 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 30544 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 30545 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 30546 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 30547 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30548 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 30549 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30550 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 30551 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 30552 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 30553 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 30554 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 30555 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 30556 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 30557 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30558 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 30559 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 30560 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 30561 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 30562 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30563 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30564 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 30565 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 30566 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 30567 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 30568 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30569 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 30570 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30571 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 30572 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 30573 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30574 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 30575 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 30576 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30577 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 30578 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 30579 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 30580 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 30581 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 30582 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 30583 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 30584 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 30585 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 30586 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 30587 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 30588 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 30589 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 30590 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 30591 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 30592 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 30593 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 30594 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 30595 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 30596 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 30597 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 30598 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 30599 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 30600 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 30601 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30602 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 30603 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30604 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 30605 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 30606 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 30607 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 30608 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 30609 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 30610 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 30611 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 30612 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 30613 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 30614 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 30615 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 30616 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 30617 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 30618 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 30619 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 30620 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 30621 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 30622 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 30623 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 30624 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 30625 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30626 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 30627 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 30628 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 30629 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 30630 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 30631 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 30632 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 30633 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 30634 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 30635 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 30636 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 30637 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 30638 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 30639 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 30640 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 30641 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 30642 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 30643 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 30644 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 30645 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 30646 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 30647 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 30648 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 30649 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 30650 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 30651 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 30652 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 30653 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 30654 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 30655 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 30656 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 30657 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 30658 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 30659 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 30660 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 30661 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 30662 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 30663 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 30664 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 30665 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 30666 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 30667 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 30668 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 30670 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 30671 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 30672 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 30673 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 30674 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 30675 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 30676 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 30677 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 30678 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 30679 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 30680 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 30681 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 30682 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 30683 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 30684 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 30685 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 30686 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 30687 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 30688 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 30689 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 30690 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 30691 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 30692 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30693 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 30694 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30695 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 30696 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 30697 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 30698 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 30699 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 30700 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 30701 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 30702 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 30703 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 30704 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 30705 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 30706 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 30707 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 30708 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 30709 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 30710 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 30711 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 30712 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30713 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 30714 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30715 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 30716 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 30717 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 30718 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 30719 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 30720 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 30721 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30722 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 30723 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30724 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 30725 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 30726 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 30727 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 30728 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 30729 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 30730 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 30731 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 30732 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 30733 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 30734 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30735 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 30736 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30737 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 30738 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 30739 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 30740 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 30741 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 30742 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 30743 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 30744 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30745 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 30746 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30747 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 30748 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 30749 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 30750 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 30751 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 30752 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 30753 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30754 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 30755 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30756 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 30757 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 30758 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 30759 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 30760 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 30761 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 30762 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 30763 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30764 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 30765 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 30766 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 30767 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 30768 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30769 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30770 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 30771 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 30772 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 30773 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 30774 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30775 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 30776 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30777 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 30778 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 30779 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30780 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 30781 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 30782 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30783 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 30784 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 30785 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 30786 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 30787 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 30788 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 30789 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 30790 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 30791 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 30792 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 30793 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 30794 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 30795 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 30796 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 30797 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 30798 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 30799 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 30800 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 30801 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 30802 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 30803 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 30804 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 30805 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 30806 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 30807 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30808 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 30809 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30810 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 30811 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 30812 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 30813 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 30814 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 30815 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 30816 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 30817 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 30818 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 30819 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 30820 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 30821 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 30822 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 30823 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 30824 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 30825 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 30826 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 30827 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 30828 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 30829 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 30830 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 30831 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30832 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 30833 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 30834 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 30835 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 30836 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 30837 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 30838 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 30839 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 30840 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 30841 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 30842 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 30843 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 30844 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 30845 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 30846 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 30847 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 30848 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 30849 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 30850 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 30851 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 30852 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 30853 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 30854 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 30855 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 30856 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 30857 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 30858 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30859 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 30860 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30861 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 30862 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 30863 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 30864 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 30865 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 30866 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 30867 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 30868 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 30869 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 30870 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 30871 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 30872 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 30873 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 30874 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 30875 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 30876 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 30877 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 30878 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30879 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 30880 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30881 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 30882 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 30883 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 30884 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 30885 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 30886 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 30887 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30888 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 30889 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30890 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 30891 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 30892 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 30893 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 30894 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 30895 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 30896 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 30897 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 30898 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 30899 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 30900 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30901 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 30902 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30903 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 30904 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 30905 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 30906 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 30907 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 30908 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 30909 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 30910 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30911 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 30912 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30913 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 30914 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 30915 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 30916 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 30917 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 30918 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 30919 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30920 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 30921 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30922 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 30923 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 30924 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 30925 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 30926 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 30927 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 30928 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 30929 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30930 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 30931 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 30932 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 30933 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 30934 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30935 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30936 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 30937 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 30938 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 30939 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 30940 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30941 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 30942 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30943 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 30944 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 30945 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30946 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 30947 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 30948 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30949 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 30950 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 30951 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 30952 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 30953 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 30954 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 30955 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 30956 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 30957 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 30958 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 30959 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 30960 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 30961 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 30962 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 30963 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 30964 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 30965 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 30966 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 30967 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 30968 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 30969 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 30970 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 30971 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 30972 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 30973 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30974 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 30975 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30976 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 30977 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 30978 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 30979 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 30980 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 30981 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 30982 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 30983 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 30984 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 30985 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 30986 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 30987 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 30988 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 30989 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 30990 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 30991 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 30992 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 30993 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 30994 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 30995 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 30996 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 30997 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30998 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 30999 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 31000 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 31001 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 31002 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_ENABLED 31375 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONURI 31376 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_PRODUCTURI 31377 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONTYPE 31378 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_SERVERCAPABILITIES 31379 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_SUPPORTEDPRIVATEKEYFORMATS 31380 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_MAXTRUSTLISTSIZE 31381 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_MULTICASTDNSENABLED 31382 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_HASSECUREELEMENT 31383 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE 31384 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_INPUTARGUMENTS 31385 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_OUTPUTARGUMENTS 31386 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_APPLYCHANGES 31387 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CANCELCHANGES 31388 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST 31389 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_INPUTARGUMENTS 31390 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 31391 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST 31392 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST_OUTPUTARGUMENTS 31393 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_RESETTOSERVERDEFAULTS 31394 /* Method */ +#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXMONITOREDITEMSQUEUESIZE 31769 /* Variable */ +#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXMONITOREDITEMSQUEUESIZE 31770 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_CONDITIONCLASSID 31771 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_CONDITIONCLASSNAME 31772 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_CONDITIONSUBCLASSID 31773 /* Variable */ +#define UA_NS0ID_BASEEVENTTYPE_CONDITIONSUBCLASSNAME 31774 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONCLASSID 31775 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONCLASSNAME 31776 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONSUBCLASSID 31777 /* Variable */ +#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONSUBCLASSNAME 31778 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONCLASSID 31779 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONCLASSNAME 31780 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONSUBCLASSID 31781 /* Variable */ +#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONSUBCLASSNAME 31782 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONCLASSID 31783 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONCLASSNAME 31784 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONSUBCLASSID 31785 /* Variable */ +#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONSUBCLASSNAME 31786 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONCLASSID 31787 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONCLASSNAME 31788 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONSUBCLASSID 31789 /* Variable */ +#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONSUBCLASSNAME 31790 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONCLASSID 31791 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONCLASSNAME 31792 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONSUBCLASSID 31793 /* Variable */ +#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31794 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONCLASSID 31795 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONCLASSNAME 31796 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONSUBCLASSID 31797 /* Variable */ +#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31798 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONCLASSID 31799 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONCLASSNAME 31800 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONSUBCLASSID 31801 /* Variable */ +#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONSUBCLASSNAME 31802 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONCLASSID 31803 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONCLASSNAME 31804 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONSUBCLASSID 31805 /* Variable */ +#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31806 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONCLASSID 31807 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONCLASSNAME 31808 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONSUBCLASSID 31809 /* Variable */ +#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONSUBCLASSNAME 31810 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONCLASSID 31811 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONCLASSNAME 31812 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONSUBCLASSID 31813 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONSUBCLASSNAME 31814 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONCLASSID 31815 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONCLASSNAME 31816 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONSUBCLASSID 31817 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONSUBCLASSNAME 31818 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONCLASSID 31819 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONCLASSNAME 31820 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONSUBCLASSID 31821 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONSUBCLASSNAME 31822 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONCLASSID 31823 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONCLASSNAME 31824 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONSUBCLASSID 31825 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONSUBCLASSNAME 31826 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONCLASSID 31827 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONCLASSNAME 31828 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONSUBCLASSID 31829 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONSUBCLASSNAME 31830 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONCLASSID 31831 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONCLASSNAME 31832 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONSUBCLASSID 31833 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONSUBCLASSNAME 31834 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONCLASSID 31835 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONCLASSNAME 31836 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONSUBCLASSID 31837 /* Variable */ +#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONSUBCLASSNAME 31838 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONCLASSID 31839 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONCLASSNAME 31840 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONSUBCLASSID 31841 /* Variable */ +#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONSUBCLASSNAME 31842 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONCLASSID 31843 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONCLASSNAME 31844 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONSUBCLASSID 31845 /* Variable */ +#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONSUBCLASSNAME 31846 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONCLASSID 31847 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONCLASSNAME 31848 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONSUBCLASSID 31849 /* Variable */ +#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONSUBCLASSNAME 31850 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONCLASSID 31851 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONCLASSNAME 31852 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONSUBCLASSID 31853 /* Variable */ +#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONSUBCLASSNAME 31854 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONCLASSID 31855 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONCLASSNAME 31856 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONSUBCLASSID 31857 /* Variable */ +#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONSUBCLASSNAME 31858 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONCLASSID 31859 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONCLASSNAME 31860 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONSUBCLASSID 31861 /* Variable */ +#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 31862 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONCLASSID 31863 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONCLASSNAME 31864 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONSUBCLASSID 31865 /* Variable */ +#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 31866 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONCLASSID 31867 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONCLASSNAME 31868 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONSUBCLASSID 31869 /* Variable */ +#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 31870 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONCLASSID 31871 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONCLASSNAME 31872 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONSUBCLASSID 31873 /* Variable */ +#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONSUBCLASSNAME 31874 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONCLASSID 31875 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONCLASSNAME 31876 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONSUBCLASSID 31877 /* Variable */ +#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONSUBCLASSNAME 31878 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONCLASSID 31879 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONCLASSNAME 31880 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONSUBCLASSID 31881 /* Variable */ +#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONSUBCLASSNAME 31882 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONCLASSID 31883 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONCLASSNAME 31884 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31885 /* Variable */ +#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31886 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONCLASSID 31887 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONCLASSNAME 31888 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31889 /* Variable */ +#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31890 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONCLASSID 31891 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONCLASSNAME 31892 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31893 /* Variable */ +#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31894 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONCLASSID 31895 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONCLASSNAME 31896 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31897 /* Variable */ +#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31898 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONCLASSID 31899 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONCLASSNAME 31900 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONSUBCLASSID 31901 /* Variable */ +#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONSUBCLASSNAME 31902 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONCLASSID 31903 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONCLASSNAME 31904 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONSUBCLASSID 31905 /* Variable */ +#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONSUBCLASSNAME 31906 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONCLASSID 31907 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONCLASSNAME 31908 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONSUBCLASSID 31909 /* Variable */ +#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONSUBCLASSNAME 31910 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONCLASSID 31911 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONCLASSNAME 31912 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONSUBCLASSID 31913 /* Variable */ +#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONSUBCLASSNAME 31914 /* Variable */ +#define UA_NS0ID_LOCATIONS 31915 /* Object */ +#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSQUEUESIZE 31916 /* Variable */ +#define UA_NS0ID_HANDLE 31917 /* DataType */ +#define UA_NS0ID_TRIMMEDSTRING 31918 /* DataType */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONCLASSID 31919 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONCLASSNAME 31920 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONSUBCLASSID 31921 /* Variable */ +#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31922 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONCLASSID 31923 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONCLASSNAME 31924 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONSUBCLASSID 31925 /* Variable */ +#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONSUBCLASSNAME 31926 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONCLASSID 31927 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONCLASSNAME 31928 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 31929 /* Variable */ +#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 31930 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONCLASSID 31931 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONCLASSNAME 31932 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONSUBCLASSID 31933 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31934 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONCLASSID 31935 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONCLASSNAME 31936 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONSUBCLASSID 31937 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONSUBCLASSNAME 31938 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONCLASSID 31939 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONCLASSNAME 31940 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONSUBCLASSID 31941 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONSUBCLASSNAME 31942 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONCLASSID 31943 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONCLASSNAME 31944 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONSUBCLASSID 31945 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONSUBCLASSNAME 31946 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONCLASSID 31947 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONCLASSNAME 31948 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONSUBCLASSID 31949 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONSUBCLASSNAME 31950 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONCLASSID 31951 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONCLASSNAME 31952 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONSUBCLASSID 31953 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONSUBCLASSNAME 31954 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONCLASSID 31955 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONCLASSNAME 31956 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONSUBCLASSID 31957 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONSUBCLASSNAME 31958 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONCLASSID 31959 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONCLASSNAME 31960 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONSUBCLASSID 31961 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31962 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONCLASSID 31963 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONCLASSNAME 31964 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONSUBCLASSID 31965 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONSUBCLASSNAME 31966 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONCLASSID 31967 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONCLASSNAME 31968 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONSUBCLASSID 31969 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONSUBCLASSNAME 31970 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONCLASSID 31971 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONCLASSNAME 31972 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONSUBCLASSID 31973 /* Variable */ +#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONSUBCLASSNAME 31974 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONCLASSID 31975 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONCLASSNAME 31976 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONSUBCLASSID 31977 /* Variable */ +#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONSUBCLASSNAME 31978 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONCLASSID 31979 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONCLASSNAME 31980 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONSUBCLASSID 31981 /* Variable */ +#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONSUBCLASSNAME 31982 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONCLASSID 31983 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONCLASSNAME 31984 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONSUBCLASSID 31985 /* Variable */ +#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONSUBCLASSNAME 31986 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSID 31987 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSNAME 31988 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSID 31989 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31990 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSID 31991 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSNAME 31992 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSID 31993 /* Variable */ +#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31994 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONCLASSID 31995 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONCLASSNAME 31996 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONSUBCLASSID 31997 /* Variable */ +#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 31998 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONCLASSID 31999 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONCLASSNAME 32000 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONSUBCLASSID 32001 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 32002 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONCLASSID 32003 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONCLASSNAME 32004 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONSUBCLASSID 32005 /* Variable */ +#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 32006 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONCLASSID 32007 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONCLASSNAME 32008 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONSUBCLASSID 32009 /* Variable */ +#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 32010 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONCLASSID 32011 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONCLASSNAME 32012 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONSUBCLASSID 32013 /* Variable */ +#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32014 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONCLASSID 32015 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONCLASSNAME 32016 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONSUBCLASSID 32017 /* Variable */ +#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32018 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONCLASSID 32019 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONCLASSNAME 32020 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONSUBCLASSID 32021 /* Variable */ +#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32022 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONCLASSID 32023 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONCLASSNAME 32024 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONSUBCLASSID 32025 /* Variable */ +#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32026 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONCLASSID 32027 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32028 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32029 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32030 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONCLASSID 32031 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32032 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32033 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32034 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONCLASSID 32035 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONCLASSNAME 32036 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONSUBCLASSID 32037 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32038 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONCLASSID 32039 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32040 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32041 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32042 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONCLASSID 32043 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32044 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32045 /* Variable */ +#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32046 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONCLASSID 32047 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONCLASSNAME 32048 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONSUBCLASSID 32049 /* Variable */ +#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONSUBCLASSNAME 32050 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONCLASSID 32051 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONCLASSNAME 32052 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONSUBCLASSID 32053 /* Variable */ +#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONSUBCLASSNAME 32054 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONCLASSID 32055 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONCLASSNAME 32056 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONSUBCLASSID 32057 /* Variable */ +#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONSUBCLASSNAME 32058 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPMEMBER 32059 /* ReferenceType */ +#define UA_NS0ID_CONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32060 /* Variable */ +#define UA_NS0ID_DIALOGCONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32061 /* Variable */ +#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32062 /* Variable */ +#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32063 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE 32064 /* ObjectType */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER 32065 /* Object */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTID 32066 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTTYPE 32067 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENODE 32068 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENAME 32069 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_TIME 32070 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RECEIVETIME 32071 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LOCALTIME 32072 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MESSAGE 32073 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SEVERITY 32074 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSID 32075 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSNAME 32076 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSID 32077 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSNAME 32078 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONNAME 32079 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_BRANCHID 32080 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RETAIN 32081 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE 32082 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_ID 32083 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NAME 32084 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NUMBER 32085 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 32086 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRANSITIONTIME 32087 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 32088 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRUESTATE 32089 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_FALSESTATE 32090 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY 32091 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY_SOURCETIMESTAMP 32092 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY 32093 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY_SOURCETIMESTAMP 32094 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT 32095 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT_SOURCETIMESTAMP 32096 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CLIENTUSERID 32097 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_DISABLE 32098 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLE 32099 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT 32100 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT_INPUTARGUMENTS 32101 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE 32102 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_ID 32103 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NAME 32104 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NUMBER 32105 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVEDISPLAYNAME 32106 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRANSITIONTIME 32107 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVETRANSITIONTIME 32108 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRUESTATE 32109 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_FALSESTATE 32110 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE 32111 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_ID 32112 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NAME 32113 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NUMBER 32114 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 32115 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRANSITIONTIME 32116 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 32117 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRUESTATE 32118 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_FALSESTATE 32119 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE 32120 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE_INPUTARGUMENTS 32121 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM 32122 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM_INPUTARGUMENTS 32123 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE 32124 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_ID 32125 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NAME 32126 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NUMBER 32127 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVEDISPLAYNAME 32128 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRANSITIONTIME 32129 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVETRANSITIONTIME 32130 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRUESTATE 32131 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_FALSESTATE 32132 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_INPUTNODE 32133 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE 32134 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_ID 32135 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NAME 32136 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NUMBER 32137 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 32138 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRANSITIONTIME 32139 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 32140 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRUESTATE 32141 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_FALSESTATE 32142 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE 32143 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_ID 32144 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NAME 32145 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NUMBER 32146 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 32147 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRANSITIONTIME 32148 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 32149 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRUESTATE 32150 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_FALSESTATE 32151 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE 32152 /* Object */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE 32153 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_ID 32154 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NAME 32155 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NUMBER 32156 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 32157 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION 32158 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_ID 32159 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NAME 32160 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NUMBER 32161 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 32162 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 32163 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLESTATES 32164 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLETRANSITIONS 32165 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVETIME 32166 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE 32167 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 32168 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2 32169 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 32170 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE 32171 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2 32172 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 32173 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE 32174 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2 32175 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 32176 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDORSHELVED 32177 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MAXTIMESHELVED 32178 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLEENABLED 32179 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND 32180 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_LISTID 32181 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_AGENCYID 32182 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_VERSIONID 32183 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE 32184 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_ID 32185 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NAME 32186 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NUMBER 32187 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVEDISPLAYNAME 32188 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRANSITIONTIME 32189 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVETRANSITIONTIME 32190 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRUESTATE 32191 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_FALSESTATE 32192 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ONDELAY 32193 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OFFDELAY 32194 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUPFLAG 32195 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUP 32196 /* Object */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE 32197 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_ID 32198 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NAME 32199 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NUMBER 32200 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 32201 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRANSITIONTIME 32202 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 32203 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRUESTATE 32204 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_FALSESTATE 32205 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMTIME 32206 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMREPEATCOUNT 32207 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCE 32208 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS 32209 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2 32210 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2_INPUTARGUMENTS 32211 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS 32212 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2 32213 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2_INPUTARGUMENTS 32214 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE 32215 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2 32216 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2_INPUTARGUMENTS 32217 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE 32218 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2 32219 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2_INPUTARGUMENTS 32220 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET 32221 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2 32222 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2_INPUTARGUMENTS 32223 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS 32224 /* Method */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 32225 /* Variable */ +#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_DIGITALVARIABLE_PLACEHOLDER 32226 /* Variable */ +#define UA_NS0ID_LIMITALARMTYPE_SUPPORTSFILTEREDRETAIN 32227 /* Variable */ +#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPORTSFILTEREDRETAIN 32228 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPORTSFILTEREDRETAIN 32229 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPORTSFILTEREDRETAIN 32230 /* Variable */ +#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPORTSFILTEREDRETAIN 32231 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPORTSFILTEREDRETAIN 32232 /* Variable */ +#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPORTSFILTEREDRETAIN 32233 /* Variable */ +#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPORTSFILTEREDRETAIN 32234 /* Variable */ +#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPORTSFILTEREDRETAIN 32235 /* Variable */ +#define UA_NS0ID_DISCRETEALARMTYPE_SUPPORTSFILTEREDRETAIN 32236 /* Variable */ +#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPORTSFILTEREDRETAIN 32237 /* Variable */ +#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPORTSFILTEREDRETAIN 32238 /* Variable */ +#define UA_NS0ID_TRIPALARMTYPE_SUPPORTSFILTEREDRETAIN 32239 /* Variable */ +#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPORTSFILTEREDRETAIN 32240 /* Variable */ +#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPORTSFILTEREDRETAIN 32241 /* Variable */ +#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPORTSFILTEREDRETAIN 32242 /* Variable */ +#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPORTSFILTEREDRETAIN 32243 /* Variable */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE 32244 /* VariableType */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE_HIGHESTACTIVESEVERITY 32245 /* Variable */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE_HIGHESTUNACKSEVERITY 32246 /* Variable */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE_ACTIVECOUNT 32247 /* Variable */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE_UNACKNOWLEDGEDCOUNT 32248 /* Variable */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE_UNCONFIRMEDCOUNT 32249 /* Variable */ +#define UA_NS0ID_ALARMSTATEVARIABLETYPE_FILTER 32250 /* Variable */ +#define UA_NS0ID_ALARMMASK 32251 /* DataType */ +#define UA_NS0ID_ALARMMASK_OPTIONSETVALUES 32252 /* Variable */ +#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPORTSFILTEREDRETAIN 32253 /* Variable */ +#define UA_NS0ID_TRUSTLISTTYPE_ACTIVITYTIMEOUT 32254 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_ACTIVITYTIMEOUT 32255 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32256 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32257 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32258 /* Variable */ +#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_ACTIVITYTIMEOUT 32259 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE 32260 /* ObjectType */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_EVENTID 32261 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_EVENTTYPE 32262 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENODE 32263 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENAME 32264 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_TIME 32265 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_RECEIVETIME 32266 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_LOCALTIME 32267 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_MESSAGE 32268 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SEVERITY 32269 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSID 32270 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32271 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32272 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32273 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_ACTIONTIMESTAMP 32274 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_STATUS 32275 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SERVERID 32276 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 32277 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTUSERID 32278 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_METHODID 32279 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_INPUTARGUMENTS 32280 /* Variable */ +#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_TRUSTLISTID 32281 /* Variable */ +#define UA_NS0ID_GETCERTIFICATESMETHODTYPE 32282 /* Method */ +#define UA_NS0ID_GETCERTIFICATESMETHODTYPE_INPUTARGUMENTS 32283 /* Variable */ +#define UA_NS0ID_GETCERTIFICATESMETHODTYPE_OUTPUTARGUMENTS 32284 /* Variable */ +#define UA_NS0ID_TRANSACTIONERRORTYPE 32285 /* DataType */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE 32286 /* ObjectType */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_STARTTIME 32287 /* Variable */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_ENDTIME 32288 /* Variable */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_RESULT 32289 /* Variable */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_AFFECTEDTRUSTLISTS 32290 /* Variable */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_AFFECTEDCERTIFICATEGROUPS 32291 /* Variable */ +#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_ERRORS 32292 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32293 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32294 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32295 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETCERTIFICATES 32296 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETCERTIFICATES_INPUTARGUMENTS 32297 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETCERTIFICATES_OUTPUTARGUMENTS 32298 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS 32299 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_STARTTIME 32300 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ENDTIME 32301 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_RESULT 32302 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32303 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32304 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ERRORS 32305 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE 32306 /* ObjectType */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_EVENTID 32307 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_EVENTTYPE 32308 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENODE 32309 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENAME 32310 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_TIME 32311 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_RECEIVETIME 32312 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_LOCALTIME 32313 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_MESSAGE 32314 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SEVERITY 32315 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSID 32316 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32317 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32318 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32319 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_ACTIONTIMESTAMP 32320 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_STATUS 32321 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SERVERID 32322 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 32323 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTUSERID 32324 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_METHODID 32325 /* Variable */ +#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_INPUTARGUMENTS 32326 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32330 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32331 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32332 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_GETCERTIFICATES 32333 /* Method */ +#define UA_NS0ID_SERVERCONFIGURATION_GETCERTIFICATES_INPUTARGUMENTS 32334 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_GETCERTIFICATES_OUTPUTARGUMENTS 32335 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS 32336 /* Object */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_STARTTIME 32337 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_ENDTIME 32338 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_RESULT 32339 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32340 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32341 /* Variable */ +#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_ERRORS 32342 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32343 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32344 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32345 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETCERTIFICATES 32346 /* Method */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETCERTIFICATES_INPUTARGUMENTS 32347 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETCERTIFICATES_OUTPUTARGUMENTS 32348 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS 32349 /* Object */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_STARTTIME 32350 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ENDTIME 32351 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_RESULT 32352 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32353 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32354 /* Variable */ +#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ERRORS 32355 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32356 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32357 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32358 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES 32359 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_INPUTARGUMENTS 32360 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_OUTPUTARGUMENTS 32361 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS 32362 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_STARTTIME 32363 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ENDTIME 32364 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_RESULT 32365 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32366 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32367 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ERRORS 32368 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32369 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32370 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32371 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES 32372 /* Method */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_INPUTARGUMENTS 32373 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_OUTPUTARGUMENTS 32374 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS 32375 /* Object */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_STARTTIME 32376 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ENDTIME 32377 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_RESULT 32378 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32379 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32380 /* Variable */ +#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ERRORS 32381 /* Variable */ +#define UA_NS0ID_TRANSACTIONERRORTYPE_ENCODING_DEFAULTBINARY 32382 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSACTIONERRORTYPE 32383 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSACTIONERRORTYPE_DATATYPEVERSION 32384 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSACTIONERRORTYPE_DICTIONARYFRAGMENT 32385 /* Variable */ +#define UA_NS0ID_TRANSACTIONERRORTYPE_ENCODING_DEFAULTXML 32386 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSACTIONERRORTYPE 32387 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSACTIONERRORTYPE_DATATYPEVERSION 32388 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSACTIONERRORTYPE_DICTIONARYFRAGMENT 32389 /* Variable */ +#define UA_NS0ID_TRANSACTIONERRORTYPE_ENCODING_DEFAULTJSON 32390 /* Object */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXDATASETWRITERSPERGROUP 32391 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEDATAGRAM 32392 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEBROKER 32393 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPULL 32394 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPUSH 32395 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DEFAULTSECURITYKEYSERVICES 32396 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONFIGURATIONPROPERTIES 32397 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXDATASETWRITERSPERGROUP 32398 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEDATAGRAM 32399 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEBROKER 32400 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPULL 32401 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPUSH 32402 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_DEFAULTSECURITYKEYSERVICES 32403 /* Variable */ +#define UA_NS0ID_PUBLISHSUBSCRIBE_CONFIGURATIONPROPERTIES 32404 /* Variable */ +#define UA_NS0ID_DATASETCLASSES 32405 /* Object */ +#define UA_NS0ID_DATASETCLASSES_GETSECURITYKEYS 32406 /* Method */ +#define UA_NS0ID_DATASETCLASSES_GETSECURITYKEYS_INPUTARGUMENTS 32407 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_GETSECURITYKEYS_OUTPUTARGUMENTS 32408 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_GETSECURITYGROUP 32409 /* Method */ +#define UA_NS0ID_DATASETCLASSES_GETSECURITYGROUP_INPUTARGUMENTS 32410 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_GETSECURITYGROUP_OUTPUTARGUMENTS 32411 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS 32412 /* Object */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUP 32413 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 32414 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 32415 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUP 32416 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 32417 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 32418 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 32419 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 32420 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 32421 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 32422 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 32423 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS 32424 /* Object */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGET 32425 /* Method */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 32426 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 32427 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGET 32428 /* Method */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 32429 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 32430 /* Method */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 32431 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 32432 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 32433 /* Method */ +#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 32434 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER 32435 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_PUBLISHERID 32436 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI 32437 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONS 32438 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 32439 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_RESTRICTTOLIST 32440 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_CONNECTIONPROPERTIES 32441 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS 32442 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE 32443 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONS 32444 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 32445 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 32446 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTSETTINGS 32447 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS 32448 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS_STATE 32449 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS_ENABLE 32450 /* Method */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS_DISABLE 32451 /* Method */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS 32452 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 32453 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 32454 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 32455 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 32456 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 32457 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 32458 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 32459 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 32460 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 32461 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 32462 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 32463 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_RESET 32464 /* Method */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 32465 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 32466 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 32467 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 32468 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 32469 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 32470 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 32471 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 32472 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 32473 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 32474 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 32475 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 32476 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 32477 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 32478 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 32479 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 32480 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 32481 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 32482 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 32483 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 32484 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 32485 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 32486 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 32487 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 32488 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 32489 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 32490 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 32491 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 32492 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 32493 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 32494 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 32495 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 32496 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 32497 /* Object */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 32498 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 32499 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP 32500 /* Method */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_INPUTARGUMENTS 32501 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_OUTPUTARGUMENTS 32502 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP 32503 /* Method */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_INPUTARGUMENTS 32504 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_OUTPUTARGUMENTS 32505 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP 32506 /* Method */ +#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP_INPUTARGUMENTS 32507 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SETSECURITYKEYS 32508 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SETSECURITYKEYS_INPUTARGUMENTS 32509 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_ADDCONNECTION 32510 /* Method */ +#define UA_NS0ID_DATASETCLASSES_ADDCONNECTION_INPUTARGUMENTS 32511 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_ADDCONNECTION_OUTPUTARGUMENTS 32512 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_REMOVECONNECTION 32513 /* Method */ +#define UA_NS0ID_DATASETCLASSES_REMOVECONNECTION_INPUTARGUMENTS 32514 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS 32515 /* Object */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS 32516 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 32517 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 32518 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS 32519 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 32520 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 32521 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE 32522 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 32523 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 32524 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE 32525 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 32526 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 32527 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET 32528 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 32529 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDDATASETFOLDER 32530 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 32531 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 32532 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEDATASETFOLDER 32533 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 32534 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS 32535 /* Object */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET 32536 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 32537 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 32538 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET 32539 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 32540 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDDATASETFOLDER 32541 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 32542 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 32543 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER 32544 /* Method */ +#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 32545 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION 32546 /* Object */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_SIZE 32547 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_WRITABLE 32548 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_USERWRITABLE 32549 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPENCOUNT 32550 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_MIMETYPE 32551 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_MAXBYTESTRINGLENGTH 32552 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_LASTMODIFIEDTIME 32553 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPEN 32554 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPEN_INPUTARGUMENTS 32555 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPEN_OUTPUTARGUMENTS 32556 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSE 32557 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSE_INPUTARGUMENTS 32558 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_READ 32559 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_READ_INPUTARGUMENTS 32560 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_READ_OUTPUTARGUMENTS 32561 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_WRITE 32562 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_WRITE_INPUTARGUMENTS 32563 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_GETPOSITION 32564 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_GETPOSITION_INPUTARGUMENTS 32565 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_GETPOSITION_OUTPUTARGUMENTS 32566 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_SETPOSITION 32567 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_SETPOSITION_INPUTARGUMENTS 32568 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_RESERVEIDS 32569 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_RESERVEIDS_INPUTARGUMENTS 32570 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_RESERVEIDS_OUTPUTARGUMENTS 32571 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSEANDUPDATE 32572 /* Method */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSEANDUPDATE_INPUTARGUMENTS 32573 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSEANDUPDATE_OUTPUTARGUMENTS 32574 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_STATUS 32575 /* Object */ +#define UA_NS0ID_DATASETCLASSES_STATUS_STATE 32576 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_STATUS_ENABLE 32577 /* Method */ +#define UA_NS0ID_DATASETCLASSES_STATUS_DISABLE 32578 /* Method */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS 32579 /* Object */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_DIAGNOSTICSLEVEL 32580 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION 32581 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 32582 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 32583 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 32584 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 32585 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR 32586 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_ACTIVE 32587 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 32588 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 32589 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 32590 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_RESET 32591 /* Method */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_SUBERROR 32592 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS 32593 /* Object */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR 32594 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 32595 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 32596 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 32597 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 32598 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 32599 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 32600 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 32601 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 32602 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 32603 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 32604 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 32605 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 32606 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 32607 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 32608 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 32609 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 32610 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 32611 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 32612 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 32613 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 32614 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 32615 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 32616 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 32617 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 32618 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 32619 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 32620 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 32621 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 32622 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 32623 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES 32624 /* Object */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 32625 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 32626 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 32627 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 32628 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 32629 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 32630 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 32631 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 32632 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES 32633 /* Object */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXPUBSUBCONNECTIONS 32634 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXWRITERGROUPS 32635 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXREADERGROUPS 32636 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXDATASETWRITERS 32637 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXDATASETREADERS 32638 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXDATASETWRITERSPERGROUP 32639 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEDATAGRAM 32640 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEBROKER 32641 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPULL 32642 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPUSH 32643 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DATASETCLASSES 32644 /* Object */ +#define UA_NS0ID_DATASETCLASSES_DATASETCLASSES_DATASETNAME_PLACEHOLDER 32645 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_SUPPORTEDTRANSPORTPROFILES 32646 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DEFAULTDATAGRAMPUBLISHERID 32647 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONFIGURATIONVERSION 32648 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_DEFAULTSECURITYKEYSERVICES 32649 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_CONFIGURATIONPROPERTIES 32650 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXDATASETWRITERSPERGROUP 32651 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXNETWORKMESSAGESIZEDATAGRAM 32652 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXNETWORKMESSAGESIZEBROKER 32653 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_SUPPORTSECURITYKEYPULL 32654 /* Variable */ +#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_SUPPORTSECURITYKEYPUSH 32655 /* Variable */ +#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXFIELDSPERDATASET 32656 /* Variable */ +#define UA_NS0ID_REFERENCEDESCRIPTIONVARIABLETYPE 32657 /* VariableType */ +#define UA_NS0ID_REFERENCEDESCRIPTIONVARIABLETYPE_REFERENCEREFINEMENT 32658 /* Variable */ +#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE 32659 /* DataType */ +#define UA_NS0ID_REFERENCELISTENTRYDATATYPE 32660 /* DataType */ +#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE_ENCODING_DEFAULTBINARY 32661 /* Object */ +#define UA_NS0ID_REFERENCELISTENTRYDATATYPE_ENCODING_DEFAULTBINARY 32662 /* Object */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCEDESCRIPTIONDATATYPE 32663 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DATATYPEVERSION 32664 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DICTIONARYFRAGMENT 32665 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCELISTENTRYDATATYPE 32666 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCELISTENTRYDATATYPE_DATATYPEVERSION 32667 /* Variable */ +#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCELISTENTRYDATATYPE_DICTIONARYFRAGMENT 32668 /* Variable */ +#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE_ENCODING_DEFAULTXML 32669 /* Object */ +#define UA_NS0ID_REFERENCELISTENTRYDATATYPE_ENCODING_DEFAULTXML 32670 /* Object */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCEDESCRIPTIONDATATYPE 32671 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DATATYPEVERSION 32672 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DICTIONARYFRAGMENT 32673 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCELISTENTRYDATATYPE 32674 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCELISTENTRYDATATYPE_DATATYPEVERSION 32675 /* Variable */ +#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCELISTENTRYDATATYPE_DICTIONARYFRAGMENT 32676 /* Variable */ +#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE_ENCODING_DEFAULTJSON 32677 /* Object */ +#define UA_NS0ID_REFERENCELISTENTRYDATATYPE_ENCODING_DEFAULTJSON 32678 /* Object */ +#define UA_NS0ID_HASREFERENCEDESCRIPTION 32679 /* ReferenceType */ +#define UA_NS0ID_OPTIONSETLENGTH 32750 /* Variable */ +#endif /* UA_NODEIDS_NS0_H_ */ + +/**** amalgamated original file "/include/open62541/common.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2016-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2016 (c) Sten Grüner + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Florian Palm + * Copyright 2020 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + + +_UA_BEGIN_DECLS + +/** + * Common Definitions + * ================== + * + * Common definitions for Client, Server and PubSub. + * + * .. _attribute-id: + * + * Attribute Id + * ------------ + * Every node in an OPC UA information model contains attributes depending on + * the node type. Possible attributes are as follows: */ + +typedef enum { + UA_ATTRIBUTEID_NODEID = 1, + UA_ATTRIBUTEID_NODECLASS = 2, + UA_ATTRIBUTEID_BROWSENAME = 3, + UA_ATTRIBUTEID_DISPLAYNAME = 4, + UA_ATTRIBUTEID_DESCRIPTION = 5, + UA_ATTRIBUTEID_WRITEMASK = 6, + UA_ATTRIBUTEID_USERWRITEMASK = 7, + UA_ATTRIBUTEID_ISABSTRACT = 8, + UA_ATTRIBUTEID_SYMMETRIC = 9, + UA_ATTRIBUTEID_INVERSENAME = 10, + UA_ATTRIBUTEID_CONTAINSNOLOOPS = 11, + UA_ATTRIBUTEID_EVENTNOTIFIER = 12, + UA_ATTRIBUTEID_VALUE = 13, + UA_ATTRIBUTEID_DATATYPE = 14, + UA_ATTRIBUTEID_VALUERANK = 15, + UA_ATTRIBUTEID_ARRAYDIMENSIONS = 16, + UA_ATTRIBUTEID_ACCESSLEVEL = 17, + UA_ATTRIBUTEID_USERACCESSLEVEL = 18, + UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL = 19, + UA_ATTRIBUTEID_HISTORIZING = 20, + UA_ATTRIBUTEID_EXECUTABLE = 21, + UA_ATTRIBUTEID_USEREXECUTABLE = 22, + UA_ATTRIBUTEID_DATATYPEDEFINITION = 23, + UA_ATTRIBUTEID_ROLEPERMISSIONS = 24, + UA_ATTRIBUTEID_USERROLEPERMISSIONS = 25, + UA_ATTRIBUTEID_ACCESSRESTRICTIONS = 26, + UA_ATTRIBUTEID_ACCESSLEVELEX = 27 +} UA_AttributeId; + +/** + * .. _access-level-mask: + * + * Access Level Masks + * ------------------ + * The access level to a node is given by the following constants that are ANDed + * with the overall access level. */ + +#define UA_ACCESSLEVELMASK_READ (0x01u << 0u) +#define UA_ACCESSLEVELMASK_WRITE (0x01u << 1u) +#define UA_ACCESSLEVELMASK_HISTORYREAD (0x01u << 2u) +#define UA_ACCESSLEVELMASK_HISTORYWRITE (0x01u << 3u) +#define UA_ACCESSLEVELMASK_SEMANTICCHANGE (0x01u << 4u) +#define UA_ACCESSLEVELMASK_STATUSWRITE (0x01u << 5u) +#define UA_ACCESSLEVELMASK_TIMESTAMPWRITE (0x01u << 6u) + +/** + * .. _write-mask: + * + * Write Masks + * ----------- + * The write mask and user write mask is given by the following constants that + * are ANDed for the overall write mask. Part 3: 5.2.7 Table 2 */ + +#define UA_WRITEMASK_ACCESSLEVEL (0x01u << 0u) +#define UA_WRITEMASK_ARRRAYDIMENSIONS (0x01u << 1u) +#define UA_WRITEMASK_BROWSENAME (0x01u << 2u) +#define UA_WRITEMASK_CONTAINSNOLOOPS (0x01u << 3u) +#define UA_WRITEMASK_DATATYPE (0x01u << 4u) +#define UA_WRITEMASK_DESCRIPTION (0x01u << 5u) +#define UA_WRITEMASK_DISPLAYNAME (0x01u << 6u) +#define UA_WRITEMASK_EVENTNOTIFIER (0x01u << 7u) +#define UA_WRITEMASK_EXECUTABLE (0x01u << 8u) +#define UA_WRITEMASK_HISTORIZING (0x01u << 9u) +#define UA_WRITEMASK_INVERSENAME (0x01u << 10u) +#define UA_WRITEMASK_ISABSTRACT (0x01u << 11u) +#define UA_WRITEMASK_MINIMUMSAMPLINGINTERVAL (0x01u << 12u) +#define UA_WRITEMASK_NODECLASS (0x01u << 13u) +#define UA_WRITEMASK_NODEID (0x01u << 14u) +#define UA_WRITEMASK_SYMMETRIC (0x01u << 15u) +#define UA_WRITEMASK_USERACCESSLEVEL (0x01u << 16u) +#define UA_WRITEMASK_USEREXECUTABLE (0x01u << 17u) +#define UA_WRITEMASK_USERWRITEMASK (0x01u << 18u) +#define UA_WRITEMASK_VALUERANK (0x01u << 19u) +#define UA_WRITEMASK_WRITEMASK (0x01u << 20u) +#define UA_WRITEMASK_VALUEFORVARIABLETYPE (0x01u << 21u) +#define UA_WRITEMASK_ACCESSLEVELEX (0x01u << 25u) + +/** + * .. _valuerank-defines: + * + * ValueRank + * --------- + * The following are the most common ValueRanks used for Variables, + * VariableTypes and method arguments. ValueRanks higher than 3 are valid as + * well (but less common). */ + +#define UA_VALUERANK_SCALAR_OR_ONE_DIMENSION -3 +#define UA_VALUERANK_ANY -2 +#define UA_VALUERANK_SCALAR -1 +#define UA_VALUERANK_ONE_OR_MORE_DIMENSIONS 0 +#define UA_VALUERANK_ONE_DIMENSION 1 +#define UA_VALUERANK_TWO_DIMENSIONS 2 +#define UA_VALUERANK_THREE_DIMENSIONS 3 + +/** + * .. _eventnotifier: + * + * EventNotifier + * ------------- + * The following are the available EventNotifier used for Nodes. + * The EventNotifier Attribute is used to indicate if the Node can be used + * to subscribe to Events or to read / write historic Events. + * Part 3: 5.4 Table 10 */ + +#define UA_EVENTNOTIFIER_SUBSCRIBE_TO_EVENT (0x01u << 0u) +#define UA_EVENTNOTIFIER_HISTORY_READ (0x01u << 2u) +#define UA_EVENTNOTIFIER_HISTORY_WRITE (0x01u << 3u) + +/** + * .. _rule-handling: + * + * Rule Handling + * ------------- + * + * The RuleHanding settings define how error cases that result from rules in the + * OPC UA specification shall be handled. The rule handling can be softened, + * e.g. to workaround misbehaving implementations or to mitigate the impact of + * additional rules that are introduced in later versions of the OPC UA + * specification. */ +typedef enum { + UA_RULEHANDLING_DEFAULT = 0, + UA_RULEHANDLING_ABORT, /* Abort the operation and return an error code */ + UA_RULEHANDLING_WARN, /* Print a message in the logs and continue */ + UA_RULEHANDLING_ACCEPT, /* Continue and disregard the broken rule */ +} UA_RuleHandling; + +/** + * Order + * ----- + * + * The Order enum is used to establish an absolute ordering between elements. + */ + +typedef enum { + UA_ORDER_LESS = -1, + UA_ORDER_EQ = 0, + UA_ORDER_MORE = 1 +} UA_Order; + +/** + * Connection State + * ---------------- */ + +typedef enum { + UA_CONNECTIONSTATE_CLOSED, /* The socket has been closed and the connection + * will be deleted */ + UA_CONNECTIONSTATE_OPENING, /* The socket is open, but the HEL/ACK handshake + * is not done */ + UA_CONNECTIONSTATE_ESTABLISHED,/* The socket is open and the connection + * configured */ + UA_CONNECTIONSTATE_CLOSING /* The socket is closing down */ +} UA_ConnectionState; + + +typedef enum { + UA_SECURECHANNELSTATE_CLOSED = 0, + UA_SECURECHANNELSTATE_REVERSE_LISTENING, + UA_SECURECHANNELSTATE_CONNECTING, + UA_SECURECHANNELSTATE_CONNECTED, + UA_SECURECHANNELSTATE_REVERSE_CONNECTED, + UA_SECURECHANNELSTATE_RHE_SENT, + UA_SECURECHANNELSTATE_HEL_SENT, + UA_SECURECHANNELSTATE_HEL_RECEIVED, + UA_SECURECHANNELSTATE_ACK_SENT, + UA_SECURECHANNELSTATE_ACK_RECEIVED, + UA_SECURECHANNELSTATE_OPN_SENT, + UA_SECURECHANNELSTATE_OPEN, + UA_SECURECHANNELSTATE_CLOSING, +} UA_SecureChannelState; + +typedef enum { + UA_SESSIONSTATE_CLOSED = 0, + UA_SESSIONSTATE_CREATE_REQUESTED, + UA_SESSIONSTATE_CREATED, + UA_SESSIONSTATE_ACTIVATE_REQUESTED, + UA_SESSIONSTATE_ACTIVATED, + UA_SESSIONSTATE_CLOSING +} UA_SessionState; + +/** + * Statistic Counters + * ------------------ + * + * The stack manages statistic counters for SecureChannels and Sessions. + * + * The Session layer counters are matching the counters of the + * ServerDiagnosticsSummaryDataType that are defined in the OPC UA Part 5 + * specification. The SecureChannel counters are not defined in the OPC UA spec, + * but are harmonized with the Session layer counters if possible. */ + +typedef enum { + UA_SHUTDOWNREASON_CLOSE = 0, + UA_SHUTDOWNREASON_REJECT, + UA_SHUTDOWNREASON_SECURITYREJECT, + UA_SHUTDOWNREASON_TIMEOUT, + UA_SHUTDOWNREASON_ABORT, + UA_SHUTDOWNREASON_PURGE +} UA_ShutdownReason; + +typedef struct { + size_t currentChannelCount; + size_t cumulatedChannelCount; + size_t rejectedChannelCount; + size_t channelTimeoutCount; /* only used by servers */ + size_t channelAbortCount; + size_t channelPurgeCount; /* only used by servers */ +} UA_SecureChannelStatistics; + +typedef struct { + size_t currentSessionCount; + size_t cumulatedSessionCount; + size_t securityRejectedSessionCount; /* only used by servers */ + size_t rejectedSessionCount; + size_t sessionTimeoutCount; /* only used by servers */ + size_t sessionAbortCount; /* only used by servers */ +} UA_SessionStatistics; + +/** + * Lifecycle States + * ---------------- + * + * Generic lifecycle states. The STOPPING state indicates that the lifecycle is + * being terminated. But it might take time to (asynchronously) perform a + * graceful shutdown. */ + +typedef enum { + UA_LIFECYCLESTATE_STOPPED = 0, + UA_LIFECYCLESTATE_STARTED, + UA_LIFECYCLESTATE_STOPPING +} UA_LifecycleState; + +/** + * Forward Declarations + * -------------------- + * Opaque pointers used in Client, Server and PubSub. */ + +struct UA_Server; +typedef struct UA_Server UA_Server; + +struct UA_ServerConfig; +typedef struct UA_ServerConfig UA_ServerConfig; + +typedef void (*UA_ServerCallback)(UA_Server *server, void *data); + +struct UA_Client; +typedef struct UA_Client UA_Client; + +/** + * .. include:: util.rst */ + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/types.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014 (c) Leon Urbas + * Copyright 2014, 2016-2017 (c) Florian Palm + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015 (c) Nick Goossens + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2023 (c) Fraunhofer IOSB (Author: Andreas Ebner) + */ + + + +_UA_BEGIN_DECLS + +/** + * .. _types: + * + * Data Types + * ========== + * + * The OPC UA protocol defines 25 builtin data types and three ways of combining + * them into higher-order types: arrays, structures and unions. In open62541, + * only the builtin data types are defined manually. All other data types are + * generated from standard XML definitions. Their exact definitions can be + * looked up at https://opcfoundation.org/UA/schemas/Opc.Ua.Types.bsd. + * + * For users that are new to open62541, take a look at the :ref:`tutorial for + * working with data types` before diving into the + * implementation details. + * + * Builtin Types + * ------------- + * + * Boolean + * ^^^^^^^ + * A two-state logical value (true or false). */ +typedef bool UA_Boolean; +#define UA_TRUE true UA_INTERNAL_DEPRECATED +#define UA_FALSE false UA_INTERNAL_DEPRECATED + +/** + * SByte + * ^^^^^ + * An integer value between -128 and 127. */ +typedef int8_t UA_SByte; +#define UA_SBYTE_MIN (-128) +#define UA_SBYTE_MAX 127 + +/** + * Byte + * ^^^^ + * An integer value between 0 and 255. */ +typedef uint8_t UA_Byte; +#define UA_BYTE_MIN 0 +#define UA_BYTE_MAX 255 + +/** + * Int16 + * ^^^^^ + * An integer value between -32 768 and 32 767. */ +typedef int16_t UA_Int16; +#define UA_INT16_MIN (-32768) +#define UA_INT16_MAX 32767 + +/** + * UInt16 + * ^^^^^^ + * An integer value between 0 and 65 535. */ +typedef uint16_t UA_UInt16; +#define UA_UINT16_MIN 0 +#define UA_UINT16_MAX 65535 + +/** + * Int32 + * ^^^^^ + * An integer value between -2 147 483 648 and 2 147 483 647. */ +typedef int32_t UA_Int32; +#define UA_INT32_MIN ((int32_t)-2147483648LL) +#define UA_INT32_MAX 2147483647L + +/** + * UInt32 + * ^^^^^^ + * An integer value between 0 and 4 294 967 295. */ +typedef uint32_t UA_UInt32; +#define UA_UINT32_MIN 0 +#define UA_UINT32_MAX 4294967295UL + +/** + * Int64 + * ^^^^^ + * An integer value between -9 223 372 036 854 775 808 and + * 9 223 372 036 854 775 807. */ +typedef int64_t UA_Int64; +#define UA_INT64_MAX (int64_t)9223372036854775807LL +#define UA_INT64_MIN ((int64_t)-UA_INT64_MAX-1LL) + +/** + * UInt64 + * ^^^^^^ + * An integer value between 0 and 18 446 744 073 709 551 615. */ +typedef uint64_t UA_UInt64; +#define UA_UINT64_MIN 0 +#define UA_UINT64_MAX (uint64_t)18446744073709551615ULL + +/** + * Float + * ^^^^^ + * An IEEE single precision (32 bit) floating point value. */ +typedef float UA_Float; +#define UA_FLOAT_MIN FLT_MIN +#define UA_FLOAT_MAX FLT_MAX + +/** + * Double + * ^^^^^^ + * An IEEE double precision (64 bit) floating point value. */ +typedef double UA_Double; +#define UA_DOUBLE_MIN DBL_MIN +#define UA_DOUBLE_MAX DBL_MAX + +/** + * .. _statuscode: + * + * StatusCode + * ^^^^^^^^^^ + * A numeric identifier for an error or condition that is associated with a + * value or an operation. See the section :ref:`statuscodes` for the meaning of + * a specific code. + * + * Each StatusCode has one of three "severity" bit-flags: + * Good, Uncertain, Bad. An additional reason is indicated by the SubCode + * bitfield. + * + * - A StatusCode with severity Good means that the value is of good quality. + * - A StatusCode with severity Uncertain means that the quality of the value is + * uncertain for reasons indicated by the SubCode. + * - A StatusCode with severity Bad means that the value is not usable for + * reasons indicated by the SubCode. */ +typedef uint32_t UA_StatusCode; + +/* Returns the human-readable name of the StatusCode. If no matching StatusCode + * is found, a default string for "Unknown" is returned. This feature might be + * disabled to create a smaller binary with the + * UA_ENABLE_STATUSCODE_DESCRIPTIONS build-flag. Then the function returns an + * empty string for every StatusCode. */ +UA_EXPORT const char * +UA_StatusCode_name(UA_StatusCode code); + +/* Extracts the severity from a StatusCode. See Part 4, Section 7.34 for + * details. */ +UA_INLINABLE(UA_Boolean + UA_StatusCode_isBad(UA_StatusCode code), { + return ((code >> 30) >= 0x02); +}) + +UA_INLINABLE(UA_Boolean + UA_StatusCode_isUncertain(UA_StatusCode code), { + return ((code >> 30) == 0x01); +}) + +UA_INLINABLE(UA_Boolean + UA_StatusCode_isGood(UA_StatusCode code), { + return ((code >> 30) == 0x00); +}) + +/* Compares the top 16 bits of two StatusCodes for equality. This should only + * be used when processing user-defined StatusCodes e.g when processing a ReadResponse. + * As a convention, the lower bits of StatusCodes should not be used internally, meaning + * can compare them without the use of this function. */ +UA_INLINABLE(UA_Boolean + UA_StatusCode_isEqualTop(UA_StatusCode s1, UA_StatusCode s2), { + return ((s1 & 0xFFFF0000) == (s2 & 0xFFFF0000)); +}) + +/** + * String + * ^^^^^^ + * A sequence of Unicode characters. Strings are just an array of UA_Byte. */ +typedef struct { + size_t length; /* The length of the string */ + UA_Byte *data; /* The content (not null-terminated) */ +} UA_String; + +/* Copies the content on the heap. Returns a null-string when alloc fails */ +UA_String UA_EXPORT +UA_String_fromChars(const char *src) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +UA_Boolean UA_EXPORT +UA_String_isEmpty(const UA_String *s); + +UA_EXPORT extern const UA_String UA_STRING_NULL; + +/** + * ``UA_STRING`` returns a string pointing to the original char-array. + * ``UA_STRING_ALLOC`` is shorthand for ``UA_String_fromChars`` and makes a copy + * of the char-array. */ +UA_INLINABLE(UA_String + UA_STRING(char *chars), { + UA_String s; + memset(&s, 0, sizeof(s)); + if(!chars) + return s; + s.length = strlen(chars); s.data = (UA_Byte*)chars; + return s; +}) + +#define UA_STRING_ALLOC(CHARS) UA_String_fromChars(CHARS) + +/* Define strings at compile time (in ROM) */ +#define UA_STRING_STATIC(CHARS) {sizeof(CHARS)-1, (UA_Byte*)CHARS} + +/** + * .. _datetime: + * + * DateTime + * ^^^^^^^^ + * An instance in time. A DateTime value is encoded as a 64-bit signed integer + * which represents the number of 100 nanosecond intervals since January 1, 1601 + * (UTC). + * + * The methods providing an interface to the system clock are architecture- + * specific. Usually, they provide a UTC clock that includes leap seconds. The + * OPC UA standard allows the use of International Atomic Time (TAI) for the + * DateTime instead. But this is still unusual and not implemented for most + * SDKs. Currently (2019), UTC and TAI are 37 seconds apart due to leap + * seconds. */ + +typedef int64_t UA_DateTime; + +/* Multiples to convert durations to DateTime */ +#define UA_DATETIME_USEC 10LL +#define UA_DATETIME_MSEC (UA_DATETIME_USEC * 1000LL) +#define UA_DATETIME_SEC (UA_DATETIME_MSEC * 1000LL) + +/* The current time in UTC time */ +UA_DateTime UA_EXPORT UA_DateTime_now(void); + +/* Offset between local time and UTC time */ +UA_Int64 UA_EXPORT UA_DateTime_localTimeUtcOffset(void); + +/* CPU clock invariant to system time changes. Use only to measure durations, + * not absolute time. */ +UA_DateTime UA_EXPORT UA_DateTime_nowMonotonic(void); + +/* Represents a Datetime as a structure */ +typedef struct UA_DateTimeStruct { + UA_UInt16 nanoSec; + UA_UInt16 microSec; + UA_UInt16 milliSec; + UA_UInt16 sec; + UA_UInt16 min; + UA_UInt16 hour; + UA_UInt16 day; /* From 1 to 31 */ + UA_UInt16 month; /* From 1 to 12 */ + UA_Int16 year; /* Can be negative (BC) */ +} UA_DateTimeStruct; + +UA_DateTimeStruct UA_EXPORT UA_DateTime_toStruct(UA_DateTime t); +UA_DateTime UA_EXPORT UA_DateTime_fromStruct(UA_DateTimeStruct ts); + +/* The C99 standard (7.23.1) says: "The range and precision of times + * representable in clock_t and time_t are implementation-defined." On most + * systems, time_t is a 4 or 8 byte integer counting seconds since the UTC Unix + * epoch. The following methods are used for conversion. */ + +/* Datetime of 1 Jan 1970 00:00 */ +#define UA_DATETIME_UNIX_EPOCH (11644473600LL * UA_DATETIME_SEC) + +UA_INLINABLE(UA_Int64 + UA_DateTime_toUnixTime(UA_DateTime date), { + return (date - UA_DATETIME_UNIX_EPOCH) / UA_DATETIME_SEC; +}) + +UA_INLINABLE(UA_DateTime + UA_DateTime_fromUnixTime(UA_Int64 unixDate), { + return (unixDate * UA_DATETIME_SEC) + UA_DATETIME_UNIX_EPOCH; +}) + +/** + * Guid + * ^^^^ + * A 16 byte value that can be used as a globally unique identifier. */ +typedef struct { + UA_UInt32 data1; + UA_UInt16 data2; + UA_UInt16 data3; + UA_Byte data4[8]; +} UA_Guid; + +UA_EXPORT extern const UA_Guid UA_GUID_NULL; + +/* Print a Guid in the human-readable format defined in Part 6, 5.1.3 + * + * Format: C496578A-0DFE-4B8F-870A-745238C6AEAE + * | | | | | | + * 0 8 13 18 23 36 + * + * This allocates memory if the output argument is an empty string. Tries to use + * the given buffer otherwise. */ +UA_StatusCode UA_EXPORT +UA_Guid_print(const UA_Guid *guid, UA_String *output); + +/* Parse the humand-readable Guid format */ +#ifdef UA_ENABLE_PARSING +UA_StatusCode UA_EXPORT +UA_Guid_parse(UA_Guid *guid, const UA_String str); + +UA_INLINABLE(UA_Guid + UA_GUID(const char *chars), { + UA_Guid guid; + UA_Guid_parse(&guid, UA_STRING((char*)(uintptr_t)chars)); + return guid; +}) +#endif + +/** + * ByteString + * ^^^^^^^^^^ + * A sequence of octets. */ +typedef UA_String UA_ByteString; + +UA_EXPORT extern const UA_ByteString UA_BYTESTRING_NULL; + +/* Allocates memory of size length for the bytestring. + * The content is not set to zero. */ +UA_StatusCode UA_EXPORT +UA_ByteString_allocBuffer(UA_ByteString *bs, size_t length); + +/* Converts a ByteString to the corresponding + * base64 representation */ +UA_StatusCode UA_EXPORT +UA_ByteString_toBase64(const UA_ByteString *bs, UA_String *output); + +/* Parse a ByteString from a base64 representation */ +UA_StatusCode UA_EXPORT +UA_ByteString_fromBase64(UA_ByteString *bs, + const UA_String *input); + +#define UA_BYTESTRING(chars) UA_STRING(chars) +#define UA_BYTESTRING_ALLOC(chars) UA_STRING_ALLOC(chars) + +/* Returns a non-cryptographic hash of a bytestring */ +UA_UInt32 UA_EXPORT +UA_ByteString_hash(UA_UInt32 initialHashValue, + const UA_Byte *data, size_t size); + +/** + * XmlElement + * ^^^^^^^^^^ + * An XML element. */ +typedef UA_String UA_XmlElement; + +/** + * .. _nodeid: + * + * NodeId + * ^^^^^^ + * An identifier for a node in the address space of an OPC UA Server. */ +enum UA_NodeIdType { + UA_NODEIDTYPE_NUMERIC = 0, /* In the binary encoding, this can also + * become 1 or 2 (two-byte and four-byte + * encoding of small numeric nodeids) */ + UA_NODEIDTYPE_STRING = 3, + UA_NODEIDTYPE_GUID = 4, + UA_NODEIDTYPE_BYTESTRING = 5 +}; + +typedef struct { + UA_UInt16 namespaceIndex; + enum UA_NodeIdType identifierType; + union { + UA_UInt32 numeric; + UA_String string; + UA_Guid guid; + UA_ByteString byteString; + } identifier; +} UA_NodeId; + +UA_EXPORT extern const UA_NodeId UA_NODEID_NULL; + +UA_Boolean UA_EXPORT UA_NodeId_isNull(const UA_NodeId *p); + +/* Print the NodeId in the human-readable format defined in Part 6, + * 5.3.1.10. + * + * Examples: + * UA_NODEID("i=13") + * UA_NODEID("ns=10;i=1") + * UA_NODEID("ns=10;s=Hello:World") + * UA_NODEID("g=09087e75-8e5e-499b-954f-f2a9603db28a") + * UA_NODEID("ns=1;b=b3BlbjYyNTQxIQ==") // base64 + * + * The method can either use a pre-allocated string buffer or allocates memory + * internally if called with an empty output string. */ +UA_StatusCode UA_EXPORT +UA_NodeId_print(const UA_NodeId *id, UA_String *output); + +/* Parse the human-readable NodeId format. Attention! String and + * ByteString NodeIds have their identifier malloc'ed and need to be + * cleaned up. */ +#ifdef UA_ENABLE_PARSING +UA_StatusCode UA_EXPORT +UA_NodeId_parse(UA_NodeId *id, const UA_String str); + +UA_INLINABLE(UA_NodeId + UA_NODEID(const char *chars), { + UA_NodeId id; + UA_NodeId_parse(&id, UA_STRING((char*)(uintptr_t)chars)); + return id; +}) +#endif + +/** The following methods are a shorthand for creating NodeIds. */ +UA_INLINABLE(UA_NodeId + UA_NODEID_NUMERIC(UA_UInt16 nsIndex, + UA_UInt32 identifier), { + UA_NodeId id; + memset(&id, 0, sizeof(UA_NodeId)); + id.namespaceIndex = nsIndex; + id.identifierType = UA_NODEIDTYPE_NUMERIC; + id.identifier.numeric = identifier; + return id; +}) + +UA_INLINABLE(UA_NodeId + UA_NODEID_STRING(UA_UInt16 nsIndex, char *chars), { + UA_NodeId id; + memset(&id, 0, sizeof(UA_NodeId)); + id.namespaceIndex = nsIndex; + id.identifierType = UA_NODEIDTYPE_STRING; + id.identifier.string = UA_STRING(chars); + return id; +}) + +UA_INLINABLE(UA_NodeId + UA_NODEID_STRING_ALLOC(UA_UInt16 nsIndex, + const char *chars), { + UA_NodeId id; + memset(&id, 0, sizeof(UA_NodeId)); + id.namespaceIndex = nsIndex; + id.identifierType = UA_NODEIDTYPE_STRING; + id.identifier.string = UA_STRING_ALLOC(chars); + return id; +}) + +UA_INLINABLE(UA_NodeId + UA_NODEID_GUID(UA_UInt16 nsIndex, UA_Guid guid), { + UA_NodeId id; + memset(&id, 0, sizeof(UA_NodeId)); + id.namespaceIndex = nsIndex; + id.identifierType = UA_NODEIDTYPE_GUID; + id.identifier.guid = guid; + return id; +}) + +UA_INLINABLE(UA_NodeId + UA_NODEID_BYTESTRING(UA_UInt16 nsIndex, char *chars), { + UA_NodeId id; + memset(&id, 0, sizeof(UA_NodeId)); + id.namespaceIndex = nsIndex; + id.identifierType = UA_NODEIDTYPE_BYTESTRING; + id.identifier.byteString = UA_BYTESTRING(chars); + return id; +}) + +UA_INLINABLE(UA_NodeId + UA_NODEID_BYTESTRING_ALLOC(UA_UInt16 nsIndex, + const char *chars), { + UA_NodeId id; + memset(&id, 0, sizeof(UA_NodeId)); + id.namespaceIndex = nsIndex; + id.identifierType = UA_NODEIDTYPE_BYTESTRING; + id.identifier.byteString = UA_BYTESTRING_ALLOC(chars); + return id; +}) + +/* Total ordering of NodeId */ +UA_Order UA_EXPORT +UA_NodeId_order(const UA_NodeId *n1, const UA_NodeId *n2); + +/* Returns a non-cryptographic hash for NodeId */ +UA_UInt32 UA_EXPORT UA_NodeId_hash(const UA_NodeId *n); + +/** + * .. _expandednodeid: + * + * ExpandedNodeId + * ^^^^^^^^^^^^^^ + * A NodeId that allows the namespace URI to be specified instead of an index. */ +typedef struct { + UA_NodeId nodeId; + UA_String namespaceUri; + UA_UInt32 serverIndex; +} UA_ExpandedNodeId; + +UA_EXPORT extern const UA_ExpandedNodeId UA_EXPANDEDNODEID_NULL; + +/* Print the ExpandedNodeId in the humand-readable format defined in Part 6, + * 5.3.1.11: + * + * svr=;ns=;= + * or + * svr=;nsu=;= + * + * The definitions for svr, ns and nsu is omitted if zero / the empty string. + * + * The method can either use a pre-allocated string buffer or allocates memory + * internally if called with an empty output string. */ +UA_StatusCode UA_EXPORT +UA_ExpandedNodeId_print(const UA_ExpandedNodeId *id, UA_String *output); + +/* Parse the human-readable NodeId format. Attention! String and + * ByteString NodeIds have their identifier malloc'ed and need to be + * cleaned up. */ +#ifdef UA_ENABLE_PARSING +UA_StatusCode UA_EXPORT +UA_ExpandedNodeId_parse(UA_ExpandedNodeId *id, const UA_String str); + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID(const char *chars), { + UA_ExpandedNodeId id; + UA_ExpandedNodeId_parse(&id, UA_STRING((char*)(uintptr_t)chars)); + return id; +}) +#endif + +/** The following functions are shorthand for creating ExpandedNodeIds. */ +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_NUMERIC(UA_UInt16 nsIndex, UA_UInt32 identifier), { + UA_ExpandedNodeId id; id.nodeId = UA_NODEID_NUMERIC(nsIndex, identifier); + id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; +}) + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_STRING(UA_UInt16 nsIndex, char *chars), { + UA_ExpandedNodeId id; id.nodeId = UA_NODEID_STRING(nsIndex, chars); + id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; +}) + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_STRING_ALLOC(UA_UInt16 nsIndex, const char *chars), { + UA_ExpandedNodeId id; id.nodeId = UA_NODEID_STRING_ALLOC(nsIndex, chars); + id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; +}) + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_STRING_GUID(UA_UInt16 nsIndex, UA_Guid guid), { + UA_ExpandedNodeId id; id.nodeId = UA_NODEID_GUID(nsIndex, guid); + id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; +}) + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_BYTESTRING(UA_UInt16 nsIndex, char *chars), { + UA_ExpandedNodeId id; id.nodeId = UA_NODEID_BYTESTRING(nsIndex, chars); + id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; +}) + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_BYTESTRING_ALLOC(UA_UInt16 nsIndex, const char *chars), { + UA_ExpandedNodeId id; id.nodeId = UA_NODEID_BYTESTRING_ALLOC(nsIndex, chars); + id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; +}) + +UA_INLINABLE(UA_ExpandedNodeId + UA_EXPANDEDNODEID_NODEID(UA_NodeId nodeId), { + UA_ExpandedNodeId id; memset(&id, 0, sizeof(UA_ExpandedNodeId)); + id.nodeId = nodeId; return id; +}) + +/* Does the ExpandedNodeId point to a local node? That is, are namespaceUri and + * serverIndex empty? */ +UA_Boolean UA_EXPORT +UA_ExpandedNodeId_isLocal(const UA_ExpandedNodeId *n); + +/* Total ordering of ExpandedNodeId */ +UA_Order UA_EXPORT +UA_ExpandedNodeId_order(const UA_ExpandedNodeId *n1, + const UA_ExpandedNodeId *n2); + +/* Returns a non-cryptographic hash for ExpandedNodeId. The hash of an + * ExpandedNodeId is identical to the hash of the embedded (simple) NodeId if + * the ServerIndex is zero and no NamespaceUri is set. */ +UA_UInt32 UA_EXPORT +UA_ExpandedNodeId_hash(const UA_ExpandedNodeId *n); + +/** + * .. _qualifiedname: + * + * QualifiedName + * ^^^^^^^^^^^^^ + * A name qualified by a namespace. */ +typedef struct { + UA_UInt16 namespaceIndex; + UA_String name; +} UA_QualifiedName; + +UA_INLINABLE(UA_Boolean + UA_QualifiedName_isNull(const UA_QualifiedName *q), { + return (q->namespaceIndex == 0 && q->name.length == 0); +}) + +/* Returns a non-cryptographic hash for QualifiedName */ +UA_UInt32 UA_EXPORT +UA_QualifiedName_hash(const UA_QualifiedName *q); + +UA_INLINABLE(UA_QualifiedName + UA_QUALIFIEDNAME(UA_UInt16 nsIndex, char *chars), { + UA_QualifiedName qn; + qn.namespaceIndex = nsIndex; + qn.name = UA_STRING(chars); + return qn; +}) + +UA_INLINABLE(UA_QualifiedName + UA_QUALIFIEDNAME_ALLOC(UA_UInt16 nsIndex, const char *chars), { + UA_QualifiedName qn; + qn.namespaceIndex = nsIndex; + qn.name = UA_STRING_ALLOC(chars); + return qn; +}) + +/** + * LocalizedText + * ^^^^^^^^^^^^^ + * Human readable text with an optional locale identifier. */ +typedef struct { + UA_String locale; + UA_String text; +} UA_LocalizedText; + +UA_INLINABLE(UA_LocalizedText + UA_LOCALIZEDTEXT(char *locale, char *text), { + UA_LocalizedText lt; + lt.locale = UA_STRING(locale); + lt.text = UA_STRING(text); + return lt; +}) + +UA_INLINABLE(UA_LocalizedText + UA_LOCALIZEDTEXT_ALLOC(const char *locale, const char *text), { + UA_LocalizedText lt; + lt.locale = UA_STRING_ALLOC(locale); + lt.text = UA_STRING_ALLOC(text); + return lt; +}) + +/** + * .. _numericrange: + * + * NumericRange + * ^^^^^^^^^^^^ + * + * NumericRanges are used to indicate subsets of a (multidimensional) array. + * They no official data type in the OPC UA standard and are transmitted only + * with a string encoding, such as "1:2,0:3,5". The colon separates min/max + * index and the comma separates dimensions. A single value indicates a range + * with a single element (min==max). */ +typedef struct { + UA_UInt32 min; + UA_UInt32 max; +} UA_NumericRangeDimension; + +typedef struct { + size_t dimensionsSize; + UA_NumericRangeDimension *dimensions; +} UA_NumericRange; + +UA_StatusCode UA_EXPORT +UA_NumericRange_parse(UA_NumericRange *range, const UA_String str); + +UA_INLINABLE(UA_NumericRange + UA_NUMERICRANGE(const char *s), { + UA_NumericRange nr; + memset(&nr, 0, sizeof(nr)); + UA_NumericRange_parse(&nr, UA_STRING((char*)(uintptr_t)s)); + return nr; +}) + +/** + * .. _variant: + * + * Variant + * ^^^^^^^ + * + * Variants may contain values of any type together with a description of the + * content. See the section on :ref:`generic-types` on how types are described. + * The standard mandates that variants contain built-in data types only. If the + * value is not of a builtin type, it is wrapped into an :ref:`extensionobject`. + * open62541 hides this wrapping transparently in the encoding layer. If the + * data type is unknown to the receiver, the variant contains the original + * ExtensionObject in binary or XML encoding. + * + * Variants may contain a scalar value or an array. For details on the handling + * of arrays, see the section on :ref:`array-handling`. Array variants can have + * an additional dimensionality (matrix, 3-tensor, ...) defined in an array of + * dimension lengths. The actual values are kept in an array of dimensions one. + * For users who work with higher-dimensions arrays directly, keep in mind that + * dimensions of higher rank are serialized first (the highest rank dimension + * has stride 1 and elements follow each other directly). Usually it is simplest + * to interact with higher-dimensional arrays via ``UA_NumericRange`` + * descriptions (see :ref:`array-handling`). + * + * To differentiate between scalar / array variants, the following definition is + * used. ``UA_Variant_isScalar`` provides simplified access to these checks. + * + * - ``arrayLength == 0 && data == NULL``: undefined array of length -1 + * - ``arrayLength == 0 && data == UA_EMPTY_ARRAY_SENTINEL``: array of length 0 + * - ``arrayLength == 0 && data > UA_EMPTY_ARRAY_SENTINEL``: scalar value + * - ``arrayLength > 0``: array of the given length + * + * Variants can also be *empty*. Then, the pointer to the type description is + * ``NULL``. */ +/* Forward declaration. See the section on Generic Type Handling */ +struct UA_DataType; +typedef struct UA_DataType UA_DataType; + +#define UA_EMPTY_ARRAY_SENTINEL ((void*)0x01) + +typedef enum { + UA_VARIANT_DATA, /* The data has the same lifecycle as the variant */ + UA_VARIANT_DATA_NODELETE /* The data is "borrowed" by the variant and is + * not deleted when the variant is cleared up. + * The array dimensions also borrowed. */ +} UA_VariantStorageType; + +typedef struct { + const UA_DataType *type; /* The data type description */ + UA_VariantStorageType storageType; + size_t arrayLength; /* The number of elements in the data array */ + void *data; /* Points to the scalar or array data */ + size_t arrayDimensionsSize; /* The number of dimensions */ + UA_UInt32 *arrayDimensions; /* The length of each dimension */ +} UA_Variant; + +/* Returns true if the variant has no value defined (contains neither an array + * nor a scalar value). + * + * @param v The variant + * @return Is the variant empty */ +UA_INLINABLE(UA_Boolean + UA_Variant_isEmpty(const UA_Variant *v), { + return v->type == NULL; +}) + +/* Returns true if the variant contains a scalar value. Note that empty variants + * contain an array of length -1 (undefined). + * + * @param v The variant + * @return Does the variant contain a scalar value */ +UA_INLINABLE(UA_Boolean + UA_Variant_isScalar(const UA_Variant *v), { + return (v->arrayLength == 0 && v->data > UA_EMPTY_ARRAY_SENTINEL); +}) + +/* Returns true if the variant contains a scalar value of the given type. + * + * @param v The variant + * @param type The data type + * @return Does the variant contain a scalar value of the given type */ +UA_INLINABLE(UA_Boolean + UA_Variant_hasScalarType(const UA_Variant *v, + const UA_DataType *type), { + return UA_Variant_isScalar(v) && type == v->type; +}) + +/* Returns true if the variant contains an array of the given type. + * + * @param v The variant + * @param type The data type + * @return Does the variant contain an array of the given type */ +UA_INLINABLE(UA_Boolean + UA_Variant_hasArrayType(const UA_Variant *v, + const UA_DataType *type), { + return (!UA_Variant_isScalar(v)) && type == v->type; +}) + +/* Set the variant to a scalar value that already resides in memory. The value + * takes on the lifecycle of the variant and is deleted with it. + * + * @param v The variant + * @param p A pointer to the value data + * @param type The datatype of the value in question */ +void UA_EXPORT +UA_Variant_setScalar(UA_Variant *v, void * UA_RESTRICT p, + const UA_DataType *type); + +/* Set the variant to a scalar value that is copied from an existing variable. + * @param v The variant + * @param p A pointer to the value data + * @param type The datatype of the value + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT +UA_Variant_setScalarCopy(UA_Variant *v, const void * UA_RESTRICT p, + const UA_DataType *type); + +/* Set the variant to an array that already resides in memory. The array takes + * on the lifecycle of the variant and is deleted with it. + * + * @param v The variant + * @param array A pointer to the array data + * @param arraySize The size of the array + * @param type The datatype of the array */ +void UA_EXPORT +UA_Variant_setArray(UA_Variant *v, void * UA_RESTRICT array, + size_t arraySize, const UA_DataType *type); + +/* Set the variant to an array that is copied from an existing array. + * + * @param v The variant + * @param array A pointer to the array data + * @param arraySize The size of the array + * @param type The datatype of the array + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT +UA_Variant_setArrayCopy(UA_Variant *v, const void * UA_RESTRICT array, + size_t arraySize, const UA_DataType *type); + +/* Copy the variant, but use only a subset of the (multidimensional) array into + * a variant. Returns an error code if the variant is not an array or if the + * indicated range does not fit. + * + * @param src The source variant + * @param dst The target variant + * @param range The range of the copied data + * @return Returns UA_STATUSCODE_GOOD or an error code */ +UA_StatusCode UA_EXPORT +UA_Variant_copyRange(const UA_Variant *src, UA_Variant * UA_RESTRICT dst, + const UA_NumericRange range); + +/* Insert a range of data into an existing variant. The data array cannot be + * reused afterwards if it contains types without a fixed size (e.g. strings) + * since the members are moved into the variant and take on its lifecycle. + * + * @param v The variant + * @param dataArray The data array. The type must match the variant + * @param dataArraySize The length of the data array. This is checked to match + * the range size. + * @param range The range of where the new data is inserted + * @return Returns UA_STATUSCODE_GOOD or an error code */ +UA_StatusCode UA_EXPORT +UA_Variant_setRange(UA_Variant *v, void * UA_RESTRICT array, + size_t arraySize, const UA_NumericRange range); + +/* Deep-copy a range of data into an existing variant. + * + * @param v The variant + * @param dataArray The data array. The type must match the variant + * @param dataArraySize The length of the data array. This is checked to match + * the range size. + * @param range The range of where the new data is inserted + * @return Returns UA_STATUSCODE_GOOD or an error code */ +UA_StatusCode UA_EXPORT +UA_Variant_setRangeCopy(UA_Variant *v, const void * UA_RESTRICT array, + size_t arraySize, const UA_NumericRange range); + +/** + * .. _extensionobject: + * + * ExtensionObject + * ^^^^^^^^^^^^^^^ + * + * ExtensionObjects may contain scalars of any data type. Even those that are + * unknown to the receiver. See the section on :ref:`generic-types` on how types + * are described. If the received data type is unknown, the encoded string and + * target NodeId is stored instead of the decoded value. */ +typedef enum { + UA_EXTENSIONOBJECT_ENCODED_NOBODY = 0, + UA_EXTENSIONOBJECT_ENCODED_BYTESTRING = 1, + UA_EXTENSIONOBJECT_ENCODED_XML = 2, + UA_EXTENSIONOBJECT_DECODED = 3, + UA_EXTENSIONOBJECT_DECODED_NODELETE = 4 /* Don't delete the content + together with the + ExtensionObject */ +} UA_ExtensionObjectEncoding; + +typedef struct { + UA_ExtensionObjectEncoding encoding; + union { + struct { + UA_NodeId typeId; /* The nodeid of the datatype */ + UA_ByteString body; /* The bytestring of the encoded data */ + } encoded; + struct { + const UA_DataType *type; + void *data; + } decoded; + } content; +} UA_ExtensionObject; + +/* Initialize the ExtensionObject and set the "decoded" value to the given + * pointer. The value will be deleted when the ExtensionObject is cleared. */ +void UA_EXPORT +UA_ExtensionObject_setValue(UA_ExtensionObject *eo, + void * UA_RESTRICT p, + const UA_DataType *type); + +/* Initialize the ExtensionObject and set the "decoded" value to the given + * pointer. The value will *not* be deleted when the ExtensionObject is + * cleared. */ +void UA_EXPORT +UA_ExtensionObject_setValueNoDelete(UA_ExtensionObject *eo, + void * UA_RESTRICT p, + const UA_DataType *type); + +/* Initialize the ExtensionObject and set the "decoded" value to a fresh copy of + * the given value pointer. The value will be deleted when the ExtensionObject + * is cleared. */ +UA_StatusCode UA_EXPORT +UA_ExtensionObject_setValueCopy(UA_ExtensionObject *eo, + void * UA_RESTRICT p, + const UA_DataType *type); + +/** + * .. _datavalue: + * + * DataValue + * ^^^^^^^^^ + * A data value with an associated status code and timestamps. */ +typedef struct { + UA_Variant value; + UA_DateTime sourceTimestamp; + UA_DateTime serverTimestamp; + UA_UInt16 sourcePicoseconds; + UA_UInt16 serverPicoseconds; + UA_StatusCode status; + UA_Boolean hasValue : 1; + UA_Boolean hasStatus : 1; + UA_Boolean hasSourceTimestamp : 1; + UA_Boolean hasServerTimestamp : 1; + UA_Boolean hasSourcePicoseconds : 1; + UA_Boolean hasServerPicoseconds : 1; +} UA_DataValue; + +/* Copy the DataValue, but use only a subset of the (multidimensional) array of + * of the variant of the source DataValue. Returns an error code if the variant + * of the DataValue is not an array or if the indicated range does not fit. + * + * @param src The source DataValue + * @param dst The target DataValue + * @param range The range of the variant of the DataValue to copy + * @return Returns UA_STATUSCODE_GOOD or an error code */ +UA_StatusCode UA_EXPORT +UA_DataValue_copyVariantRange(const UA_DataValue *src, UA_DataValue * UA_RESTRICT dst, + const UA_NumericRange range); + +/** + * DiagnosticInfo + * ^^^^^^^^^^^^^^ + * A structure that contains detailed error and diagnostic information + * associated with a StatusCode. */ +typedef struct UA_DiagnosticInfo { + UA_Boolean hasSymbolicId : 1; + UA_Boolean hasNamespaceUri : 1; + UA_Boolean hasLocalizedText : 1; + UA_Boolean hasLocale : 1; + UA_Boolean hasAdditionalInfo : 1; + UA_Boolean hasInnerStatusCode : 1; + UA_Boolean hasInnerDiagnosticInfo : 1; + UA_Int32 symbolicId; + UA_Int32 namespaceUri; + UA_Int32 localizedText; + UA_Int32 locale; + UA_String additionalInfo; + UA_StatusCode innerStatusCode; + struct UA_DiagnosticInfo *innerDiagnosticInfo; +} UA_DiagnosticInfo; + +/** + * .. _generic-types: + * + * Generic Type Handling + * --------------------- + * + * All information about a (builtin/structured) data type is stored in a + * ``UA_DataType``. The array ``UA_TYPES`` contains the description of all + * standard-defined types. This type description is used for the following + * generic operations that work on all types: + * + * - ``void T_init(T *ptr)``: Initialize the data type. This is synonymous with + * zeroing out the memory, i.e. ``memset(ptr, 0, sizeof(T))``. + * - ``T* T_new()``: Allocate and return the memory for the data type. The + * value is already initialized. + * - ``UA_StatusCode T_copy(const T *src, T *dst)``: Copy the content of the + * data type. Returns ``UA_STATUSCODE_GOOD`` or + * ``UA_STATUSCODE_BADOUTOFMEMORY``. + * - ``void T_clear(T *ptr)``: Delete the dynamically allocated content + * of the data type and perform a ``T_init`` to reset the type. + * - ``void T_delete(T *ptr)``: Delete the content of the data type and the + * memory for the data type itself. + * - ``void T_equal(T *p1, T *p2)``: Compare whether ``p1`` and ``p2`` have + * identical content. You can use ``UA_order`` if an absolute ordering + * is required. + * + * Specializations, such as ``UA_Int32_new()`` are derived from the generic + * type operations as static inline functions. */ + +typedef struct { +#ifdef UA_ENABLE_TYPEDESCRIPTION + const char *memberName; /* Human-readable member name */ +#endif + const UA_DataType *memberType;/* The member data type description */ + UA_Byte padding : 6; /* How much padding is there before this + member element? For arrays this is the + padding before the size_t length member. + (No padding between size_t and the + following ptr.) For unions, the padding + includes the size of the switchfield (the + offset from the start of the union + type). */ + UA_Byte isArray : 1; /* The member is an array */ + UA_Byte isOptional : 1; /* The member is an optional field */ +} UA_DataTypeMember; + +/* The DataType "kind" is an internal type classification. It is used to + * dispatch handling to the correct routines. */ +#define UA_DATATYPEKINDS 31 +typedef enum { + UA_DATATYPEKIND_BOOLEAN = 0, + UA_DATATYPEKIND_SBYTE = 1, + UA_DATATYPEKIND_BYTE = 2, + UA_DATATYPEKIND_INT16 = 3, + UA_DATATYPEKIND_UINT16 = 4, + UA_DATATYPEKIND_INT32 = 5, + UA_DATATYPEKIND_UINT32 = 6, + UA_DATATYPEKIND_INT64 = 7, + UA_DATATYPEKIND_UINT64 = 8, + UA_DATATYPEKIND_FLOAT = 9, + UA_DATATYPEKIND_DOUBLE = 10, + UA_DATATYPEKIND_STRING = 11, + UA_DATATYPEKIND_DATETIME = 12, + UA_DATATYPEKIND_GUID = 13, + UA_DATATYPEKIND_BYTESTRING = 14, + UA_DATATYPEKIND_XMLELEMENT = 15, + UA_DATATYPEKIND_NODEID = 16, + UA_DATATYPEKIND_EXPANDEDNODEID = 17, + UA_DATATYPEKIND_STATUSCODE = 18, + UA_DATATYPEKIND_QUALIFIEDNAME = 19, + UA_DATATYPEKIND_LOCALIZEDTEXT = 20, + UA_DATATYPEKIND_EXTENSIONOBJECT = 21, + UA_DATATYPEKIND_DATAVALUE = 22, + UA_DATATYPEKIND_VARIANT = 23, + UA_DATATYPEKIND_DIAGNOSTICINFO = 24, + UA_DATATYPEKIND_DECIMAL = 25, + UA_DATATYPEKIND_ENUM = 26, + UA_DATATYPEKIND_STRUCTURE = 27, + UA_DATATYPEKIND_OPTSTRUCT = 28, /* struct with optional fields */ + UA_DATATYPEKIND_UNION = 29, + UA_DATATYPEKIND_BITFIELDCLUSTER = 30 /* bitfields + padding */ +} UA_DataTypeKind; + +struct UA_DataType { +#ifdef UA_ENABLE_TYPEDESCRIPTION + const char *typeName; +#endif + UA_NodeId typeId; /* The nodeid of the type */ + UA_NodeId binaryEncodingId; /* NodeId of datatype when encoded as binary */ + //UA_NodeId xmlEncodingId; /* NodeId of datatype when encoded as XML */ + UA_UInt32 memSize : 16; /* Size of the struct in memory */ + UA_UInt32 typeKind : 6; /* Dispatch index for the handling routines */ + UA_UInt32 pointerFree : 1; /* The type (and its members) contains no + * pointers that need to be freed */ + UA_UInt32 overlayable : 1; /* The type has the identical memory layout + * in memory and on the binary stream. */ + UA_UInt32 membersSize : 8; /* How many members does the type have? */ + UA_DataTypeMember *members; +}; + +/* Datatype arrays with custom type definitions can be added in a linked list to + * the client or server configuration. */ +typedef struct UA_DataTypeArray { + const struct UA_DataTypeArray *next; + const size_t typesSize; + const UA_DataType *types; + UA_Boolean cleanup; /* Free the array structure and its content + when the client or server configuration + containing it is cleaned up */ +} UA_DataTypeArray; + +/* Returns the offset and type of a structure member. The return value is false + * if the member was not found. + * + * If the member is an array, the offset points to the (size_t) length field. + * (The array pointer comes after the length field without any padding.) */ +#ifdef UA_ENABLE_TYPEDESCRIPTION +UA_Boolean UA_EXPORT +UA_DataType_getStructMember(const UA_DataType *type, + const char *memberName, + size_t *outOffset, + const UA_DataType **outMemberType, + UA_Boolean *outIsArray); +#endif + +/* Test if the data type is a numeric builtin data type (via the typeKind field + * of UA_DataType). This includes integers and floating point numbers. Not + * included are Boolean, DateTime, StatusCode and Enums. */ +UA_Boolean UA_EXPORT +UA_DataType_isNumeric(const UA_DataType *type); + +/** + * Builtin data types can be accessed as UA_TYPES[UA_TYPES_XXX], where XXX is + * the name of the data type. If only the NodeId of a type is known, use the + * following method to retrieve the data type description. */ + +/* Returns the data type description for the type's identifier or NULL if no + * matching data type was found. */ +const UA_DataType UA_EXPORT * +UA_findDataType(const UA_NodeId *typeId); + +/* + * Add custom data types to the search scope of UA_findDataType. */ + +const UA_DataType UA_EXPORT * +UA_findDataTypeWithCustom(const UA_NodeId *typeId, + const UA_DataTypeArray *customTypes); + +/** The following functions are used for generic handling of data types. */ + +/* Allocates and initializes a variable of type dataType + * + * @param type The datatype description + * @return Returns the memory location of the variable or NULL if no + * memory could be allocated */ +void UA_EXPORT * UA_new(const UA_DataType *type) UA_FUNC_ATTR_MALLOC; + +/* Initializes a variable to default values + * + * @param p The memory location of the variable + * @param type The datatype description */ +UA_INLINABLE(void + UA_init(void *p, const UA_DataType *type), { + memset(p, 0, type->memSize); +}) + +/* Copies the content of two variables. If copying fails (e.g. because no memory + * was available for an array), then dst is emptied and initialized to prevent + * memory leaks. + * + * @param src The memory location of the source variable + * @param dst The memory location of the destination variable + * @param type The datatype description + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT +UA_copy(const void *src, void *dst, const UA_DataType *type); + +/* Deletes the dynamically allocated content of a variable (e.g. resets all + * arrays to undefined arrays). Afterwards, the variable can be safely deleted + * without causing memory leaks. But the variable is not initialized and may + * contain old data that is not memory-relevant. + * + * @param p The memory location of the variable + * @param type The datatype description of the variable */ +void UA_EXPORT UA_clear(void *p, const UA_DataType *type); + +#define UA_deleteMembers(p, type) UA_clear(p, type) + +/* Frees a variable and all of its content. + * + * @param p The memory location of the variable + * @param type The datatype description of the variable */ +void UA_EXPORT UA_delete(void *p, const UA_DataType *type); + +/* Pretty-print the value from the datatype. The output is pretty-printed JSON5. + * Note that this format is non-standard and should not be sent over the + * network. It can however be read by our own JSON decoding. + * + * @param p The memory location of the variable + * @param type The datatype description of the variable + * @param output A string that is used for the pretty-printed output. If the + * memory for string is already allocated, we try to use the existing + * string (the length is adjusted). If the string is empty, memory + * is allocated for it. + * @return Indicates whether the operation succeeded */ +#ifdef UA_ENABLE_JSON_ENCODING +UA_StatusCode UA_EXPORT +UA_print(const void *p, const UA_DataType *type, UA_String *output); +#endif + +/* Compare two values and return their order. + * + * For numerical types (including StatusCodes and Enums), their natural order is + * used. NaN is the "smallest" value for floating point values. Different bit + * representations of NaN are considered identical. + * + * All other types have *some* absolute ordering so that a < b, b < c -> a < c. + * + * The ordering of arrays (also strings) is in "shortlex": A shorter array is + * always smaller than a longer array. Otherwise the first different element + * defines the order. + * + * When members of different types are permitted (in Variants and + * ExtensionObjects), the memory address in the "UA_DataType*" pointer + * determines which variable is smaller. + * + * @param p1 The memory location of the first value + * @param p2 The memory location of the first value + * @param type The datatype description of both values */ +UA_Order UA_EXPORT +UA_order(const void *p1, const void *p2, const UA_DataType *type); + +/* Compare if two values have identical content. */ +UA_INLINABLE(UA_Boolean + UA_equal(const void *p1, const void *p2, const UA_DataType *type), { + return (UA_order(p1, p2, type) == UA_ORDER_EQ); +}) + +/** + * Binary Encoding/Decoding + * ------------------------ + * + * Encoding and decoding routines for the binary format. For the binary decoding + * additional data types can be forwarded. */ + +/* Returns the number of bytes the value p takes in binary encoding. Returns + * zero if an error occurs. */ +UA_EXPORT size_t +UA_calcSizeBinary(const void *p, const UA_DataType *type); + +/* Encodes a data-structure in the binary format. If outBuf has a length of + * zero, a buffer of the required size is allocated. Otherwise, encoding into + * the existing outBuf is attempted (and may fail if the buffer is too + * small). */ +UA_EXPORT UA_StatusCode +UA_encodeBinary(const void *p, const UA_DataType *type, + UA_ByteString *outBuf); + +/* The structure with the decoding options may be extended in the future. + * Zero-out the entire structure initially to ensure code-compatibility when + * more fields are added in a later release. */ +typedef struct { + const UA_DataTypeArray *customTypes; /* Begin of a linked list with custom + * datatype definitions */ +} UA_DecodeBinaryOptions; + +/* Decodes a data structure from the input buffer in the binary format. It is + * assumed that `p` points to valid memory (not necessarily zeroed out). The + * options can be NULL and will be disregarded in that case. */ +UA_EXPORT UA_StatusCode +UA_decodeBinary(const UA_ByteString *inBuf, + void *p, const UA_DataType *type, + const UA_DecodeBinaryOptions *options); + +/** + * JSON En/Decoding + * ---------------- + * + * The JSON decoding can parse the official encoding from the OPC UA + * specification. It further allows the following extensions: + * + * - The strict JSON format is relaxed to also allow the JSON5 extensions + * (https://json5.org/). This allows for more human-readable encoding and adds + * convenience features such as trailing commas in arrays and comments within + * JSON documents. + * - Int64/UInt64 don't necessarily have to be wrapped into a string. + * - If `UA_ENABLE_PARSING` is set, NodeIds and ExpandedNodeIds can be given in + * the string encoding (e.g. "ns=1;i=42", see `UA_NodeId_parse`). The standard + * encoding is to express NodeIds as JSON objects. + * + * These extensions are not intended to be used for the OPC UA protocol on the + * network. They were rather added to allow more convenient configuration file + * formats that also include data in the OPC UA type system. + */ + +#ifdef UA_ENABLE_JSON_ENCODING + +typedef struct { + const UA_String *namespaces; + size_t namespacesSize; + const UA_String *serverUris; + size_t serverUrisSize; + UA_Boolean useReversible; + + UA_Boolean prettyPrint; /* Add newlines and spaces for legibility */ + + /* Enabling the following options leads to non-standard compatible JSON5 + * encoding! Use it for pretty-printing, but not for sending messages over + * the network. (Our own decoding can still parse it.) */ + + UA_Boolean unquotedKeys; /* Don't print quotes around object element keys */ + UA_Boolean stringNodeIds; /* String encoding for NodeIds, like "ns=1;i=42" */ +} UA_EncodeJsonOptions; + +/* Returns the number of bytes the value src takes in json encoding. Returns + * zero if an error occurs. */ +UA_EXPORT size_t +UA_calcSizeJson(const void *src, const UA_DataType *type, + const UA_EncodeJsonOptions *options); + +/* Encodes the scalar value described by type to json encoding. + * + * @param src The value. Must not be NULL. + * @param type The value type. Must not be NULL. + * @param outBuf Pointer to ByteString containing the result if the encoding + * was successful + * @return Returns a statuscode whether encoding succeeded. */ +UA_StatusCode UA_EXPORT +UA_encodeJson(const void *src, const UA_DataType *type, UA_ByteString *outBuf, + const UA_EncodeJsonOptions *options); + +/* The structure with the decoding options may be extended in the future. + * Zero-out the entire structure initially to ensure code-compatibility when + * more fields are added in a later release. */ +typedef struct { + const UA_String *namespaces; + size_t namespacesSize; + const UA_String *serverUris; + size_t serverUrisSize; + const UA_DataTypeArray *customTypes; /* Begin of a linked list with custom + * datatype definitions */ +} UA_DecodeJsonOptions; + +/* Decodes a scalar value described by type from json encoding. + * + * @param src The buffer with the json encoded value. Must not be NULL. + * @param dst The target value. Must not be NULL. The target is assumed to have + * size type->memSize. The value is reset to zero before decoding. If + * decoding fails, members are deleted and the value is reset (zeroed) + * again. + * @param type The value type. Must not be NULL. + * @param options The options struct for decoding, currently unused + * @return Returns a statuscode whether decoding succeeded. */ +UA_StatusCode UA_EXPORT +UA_decodeJson(const UA_ByteString *src, void *dst, const UA_DataType *type, + const UA_DecodeJsonOptions *options); + +#endif /* UA_ENABLE_JSON_ENCODING */ + +/** + * XML En/Decoding + * ---------------- + * + * The XML decoding can parse the official encoding from the OPC UA + * specification. + * + * These extensions are not intended to be used for the OPC UA protocol on the + * network. They were rather added to allow more convenient configuration file + * formats that also include data in the OPC UA type system. + */ + +#ifdef UA_ENABLE_XML_ENCODING + +typedef struct { + UA_Boolean prettyPrint; /* Add newlines and spaces for legibility */ +} UA_EncodeXmlOptions; + +/* Returns the number of bytes the value src takes in xml encoding. Returns + * zero if an error occurs. */ +UA_EXPORT size_t +UA_calcSizeXml(const void *src, const UA_DataType *type, + const UA_EncodeXmlOptions *options); + +/* Encodes the scalar value described by type to xml encoding. + * + * @param src The value. Must not be NULL. + * @param type The value type. Must not be NULL. + * @param outBuf Pointer to ByteString containing the result if the encoding + * was successful + * @return Returns a statuscode whether encoding succeeded. */ +UA_StatusCode UA_EXPORT +UA_encodeXml(const void *src, const UA_DataType *type, UA_ByteString *outBuf, + const UA_EncodeXmlOptions *options); + +/* The structure with the decoding options may be extended in the future. + * Zero-out the entire structure initially to ensure code-compatibility when + * more fields are added in a later release. */ +typedef struct { + const UA_DataTypeArray *customTypes; /* Begin of a linked list with custom + * datatype definitions */ +} UA_DecodeXmlOptions; + +/* Decodes a scalar value described by type from xml encoding. + * + * @param src The buffer with the xml encoded value. Must not be NULL. + * @param dst The target value. Must not be NULL. The target is assumed to have + * size type->memSize. The value is reset to zero before decoding. If + * decoding fails, members are deleted and the value is reset (zeroed) + * again. + * @param type The value type. Must not be NULL. + * @param options The options struct for decoding, currently unused + * @return Returns a statuscode whether decoding succeeded. */ +UA_StatusCode UA_EXPORT +UA_decodeXml(const UA_ByteString *src, void *dst, const UA_DataType *type, + const UA_DecodeXmlOptions *options); + +#endif /* UA_ENABLE_XML_ENCODING */ + +/** + * .. _array-handling: + * + * Array handling + * -------------- + * In OPC UA, arrays can have a length of zero or more with the usual meaning. + * In addition, arrays can be undefined. Then, they don't even have a length. In + * the binary encoding, this is indicated by an array of length -1. + * + * In open62541 however, we use ``size_t`` for array lengths. An undefined array + * has length 0 and the data pointer is ``NULL``. An array of length 0 also has + * length 0 but a data pointer ``UA_EMPTY_ARRAY_SENTINEL``. */ + +/* Allocates and initializes an array of variables of a specific type + * + * @param size The requested array length + * @param type The datatype description + * @return Returns the memory location of the variable or NULL if no memory + * could be allocated */ +void UA_EXPORT * +UA_Array_new(size_t size, const UA_DataType *type) UA_FUNC_ATTR_MALLOC; + +/* Allocates and copies an array + * + * @param src The memory location of the source array + * @param size The size of the array + * @param dst The location of the pointer to the new array + * @param type The datatype of the array members + * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY */ +UA_StatusCode UA_EXPORT +UA_Array_copy(const void *src, size_t size, void **dst, + const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +/* Resizes (and reallocates) an array. The last entries are initialized to zero + * if the array length is increased. If the array length is decreased, the last + * entries are removed if the size is decreased. + * + * @param p Double pointer to the array memory. Can be overwritten by the result + * of a realloc. + * @param size The current size of the array. Overwritten in case of success. + * @param newSize The new size of the array + * @param type The datatype of the array members + * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY. The + * original array is left untouched in the failure case. */ +UA_StatusCode UA_EXPORT +UA_Array_resize(void **p, size_t *size, size_t newSize, + const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +/* Append the given element at the end of the array. The content is moved + * (shallow copy) and the original memory is _init'ed if appending is + * successful. + * + * @param p Double pointer to the array memory. Can be overwritten by the result + * of a realloc. + * @param size The current size of the array. Overwritten in case of success. + * @param newElem The element to be appended. The memory is reset upon success. + * @param type The datatype of the array members + * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY. The + * original array is left untouched in the failure case. */ +UA_StatusCode UA_EXPORT +UA_Array_append(void **p, size_t *size, void *newElem, + const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +/* Append a copy of the given element at the end of the array. + * + * @param p Double pointer to the array memory. Can be overwritten by the result + * of a realloc. + * @param size The current size of the array. Overwritten in case of success. + * @param newElem The element to be appended. + * @param type The datatype of the array members + * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY. The + * original array is left untouched in the failure case. */ + +UA_StatusCode UA_EXPORT +UA_Array_appendCopy(void **p, size_t *size, const void *newElem, + const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +/* Deletes an array. + * + * @param p The memory location of the array + * @param size The size of the array + * @param type The datatype of the array members */ +void UA_EXPORT +UA_Array_delete(void *p, size_t size, const UA_DataType *type); + +/** + * .. _generated-types: + * + * Generated Data Type Definitions + * ------------------------------- + * + * The following standard-defined datatypes are auto-generated from XML files + * that are part of the OPC UA standard. All datatypes are built up from the 25 + * builtin-in datatypes from the :ref:`types` section. + * + * .. include:: types_generated.rst */ + +/* stop-doc-generation */ + +/* Helper used to exclude type names in the definition of UA_DataType structures + * if the feature is disabled. */ +#ifdef UA_ENABLE_TYPEDESCRIPTION +# define UA_TYPENAME(name) name, +#else +# define UA_TYPENAME(name) +#endif + + +_UA_END_DECLS + + +/**** amalgamated original file "/build/src_generated/open62541/types_generated.h" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + +/* Must be before the include guards */ +#ifdef UA_ENABLE_AMALGAMATION +#else +#endif + + + +_UA_BEGIN_DECLS + +/** + * Every type is assigned an index in an array containing the type descriptions. + * These descriptions are used during type handling (copying, deletion, + * binary encoding, ...). */ +#define UA_TYPES_COUNT 394 +extern UA_EXPORT UA_DataType UA_TYPES[UA_TYPES_COUNT]; + +/* Boolean */ +#define UA_TYPES_BOOLEAN 0 + +/* SByte */ +#define UA_TYPES_SBYTE 1 + +/* Byte */ +#define UA_TYPES_BYTE 2 + +/* Int16 */ +#define UA_TYPES_INT16 3 + +/* UInt16 */ +#define UA_TYPES_UINT16 4 + +/* Int32 */ +#define UA_TYPES_INT32 5 + +/* UInt32 */ +#define UA_TYPES_UINT32 6 + +/* Int64 */ +#define UA_TYPES_INT64 7 + +/* UInt64 */ +#define UA_TYPES_UINT64 8 + +/* Float */ +#define UA_TYPES_FLOAT 9 + +/* Double */ +#define UA_TYPES_DOUBLE 10 + +/* String */ +#define UA_TYPES_STRING 11 + +/* DateTime */ +#define UA_TYPES_DATETIME 12 + +/* Guid */ +#define UA_TYPES_GUID 13 + +/* ByteString */ +#define UA_TYPES_BYTESTRING 14 + +/* XmlElement */ +#define UA_TYPES_XMLELEMENT 15 + +/* NodeId */ +#define UA_TYPES_NODEID 16 + +/* ExpandedNodeId */ +#define UA_TYPES_EXPANDEDNODEID 17 + +/* StatusCode */ +#define UA_TYPES_STATUSCODE 18 + +/* QualifiedName */ +#define UA_TYPES_QUALIFIEDNAME 19 + +/* LocalizedText */ +#define UA_TYPES_LOCALIZEDTEXT 20 + +/* ExtensionObject */ +#define UA_TYPES_EXTENSIONOBJECT 21 + +/* DataValue */ +#define UA_TYPES_DATAVALUE 22 + +/* Variant */ +#define UA_TYPES_VARIANT 23 + +/* DiagnosticInfo */ +#define UA_TYPES_DIAGNOSTICINFO 24 + +/* NamingRuleType */ +typedef enum { + UA_NAMINGRULETYPE_MANDATORY = 1, + UA_NAMINGRULETYPE_OPTIONAL = 2, + UA_NAMINGRULETYPE_CONSTRAINT = 3, + __UA_NAMINGRULETYPE_FORCE32BIT = 0x7fffffff +} UA_NamingRuleType; + +UA_STATIC_ASSERT(sizeof(UA_NamingRuleType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_NAMINGRULETYPE 25 + +/* Enumeration */ +typedef enum { + __UA_ENUMERATION_FORCE32BIT = 0x7fffffff +} UA_Enumeration; + +UA_STATIC_ASSERT(sizeof(UA_Enumeration) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_ENUMERATION 26 + +/* ImageBMP */ +typedef UA_ByteString UA_ImageBMP; + +#define UA_TYPES_IMAGEBMP 27 + +/* ImageGIF */ +typedef UA_ByteString UA_ImageGIF; + +#define UA_TYPES_IMAGEGIF 28 + +/* ImageJPG */ +typedef UA_ByteString UA_ImageJPG; + +#define UA_TYPES_IMAGEJPG 29 + +/* ImagePNG */ +typedef UA_ByteString UA_ImagePNG; + +#define UA_TYPES_IMAGEPNG 30 + +/* AudioDataType */ +typedef UA_ByteString UA_AudioDataType; + +#define UA_TYPES_AUDIODATATYPE 31 + +/* UriString */ +typedef UA_String UA_UriString; + +#define UA_TYPES_URISTRING 32 + +/* BitFieldMaskDataType */ +typedef UA_UInt64 UA_BitFieldMaskDataType; + +#define UA_TYPES_BITFIELDMASKDATATYPE 33 + +/* SemanticVersionString */ +typedef UA_String UA_SemanticVersionString; + +#define UA_TYPES_SEMANTICVERSIONSTRING 34 + +/* KeyValuePair */ +typedef struct { + UA_QualifiedName key; + UA_Variant value; +} UA_KeyValuePair; + +#define UA_TYPES_KEYVALUEPAIR 35 + +/* AdditionalParametersType */ +typedef struct { + size_t parametersSize; + UA_KeyValuePair *parameters; +} UA_AdditionalParametersType; + +#define UA_TYPES_ADDITIONALPARAMETERSTYPE 36 + +/* EphemeralKeyType */ +typedef struct { + UA_ByteString publicKey; + UA_ByteString signature; +} UA_EphemeralKeyType; + +#define UA_TYPES_EPHEMERALKEYTYPE 37 + +/* Handle */ +typedef UA_ByteString UA_Handle; + +#define UA_TYPES_HANDLE 38 + +/* TrimmedString */ +typedef UA_ByteString UA_TrimmedString; + +#define UA_TYPES_TRIMMEDSTRING 39 + +/* RationalNumber */ +typedef struct { + UA_Int32 numerator; + UA_UInt32 denominator; +} UA_RationalNumber; + +#define UA_TYPES_RATIONALNUMBER 40 + +/* ThreeDVector */ +typedef struct { + UA_Double x; + UA_Double y; + UA_Double z; +} UA_ThreeDVector; + +#define UA_TYPES_THREEDVECTOR 41 + +/* ThreeDCartesianCoordinates */ +typedef struct { + UA_Double x; + UA_Double y; + UA_Double z; +} UA_ThreeDCartesianCoordinates; + +#define UA_TYPES_THREEDCARTESIANCOORDINATES 42 + +/* ThreeDOrientation */ +typedef struct { + UA_Double a; + UA_Double b; + UA_Double c; +} UA_ThreeDOrientation; + +#define UA_TYPES_THREEDORIENTATION 43 + +/* ThreeDFrame */ +typedef struct { + UA_ThreeDCartesianCoordinates cartesianCoordinates; + UA_ThreeDOrientation orientation; +} UA_ThreeDFrame; + +#define UA_TYPES_THREEDFRAME 44 + +/* OpenFileMode */ +typedef enum { + UA_OPENFILEMODE_READ = 1, + UA_OPENFILEMODE_WRITE = 2, + UA_OPENFILEMODE_ERASEEXISTING = 4, + UA_OPENFILEMODE_APPEND = 8, + __UA_OPENFILEMODE_FORCE32BIT = 0x7fffffff +} UA_OpenFileMode; + +UA_STATIC_ASSERT(sizeof(UA_OpenFileMode) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_OPENFILEMODE 45 + +/* IdentityCriteriaType */ +typedef enum { + UA_IDENTITYCRITERIATYPE_USERNAME = 1, + UA_IDENTITYCRITERIATYPE_THUMBPRINT = 2, + UA_IDENTITYCRITERIATYPE_ROLE = 3, + UA_IDENTITYCRITERIATYPE_GROUPID = 4, + UA_IDENTITYCRITERIATYPE_ANONYMOUS = 5, + UA_IDENTITYCRITERIATYPE_AUTHENTICATEDUSER = 6, + UA_IDENTITYCRITERIATYPE_APPLICATION = 7, + UA_IDENTITYCRITERIATYPE_X509SUBJECT = 8, + __UA_IDENTITYCRITERIATYPE_FORCE32BIT = 0x7fffffff +} UA_IdentityCriteriaType; + +UA_STATIC_ASSERT(sizeof(UA_IdentityCriteriaType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_IDENTITYCRITERIATYPE 46 + +/* IdentityMappingRuleType */ +typedef struct { + UA_IdentityCriteriaType criteriaType; + UA_String criteria; +} UA_IdentityMappingRuleType; + +#define UA_TYPES_IDENTITYMAPPINGRULETYPE 47 + +/* CurrencyUnitType */ +typedef struct { + UA_Int16 numericCode; + UA_SByte exponent; + UA_String alphabeticCode; + UA_LocalizedText currency; +} UA_CurrencyUnitType; + +#define UA_TYPES_CURRENCYUNITTYPE 48 + +/* AlarmMask */ +typedef UA_UInt16 UA_AlarmMask; + +#define UA_ALARMMASK_NONE 0 +#define UA_ALARMMASK_ACTIVE 1 +#define UA_ALARMMASK_UNACKNOWLEDGED 2 +#define UA_ALARMMASK_UNCONFIRMED 4 + +#define UA_TYPES_ALARMMASK 49 + +/* TrustListValidationOptions */ +typedef UA_UInt32 UA_TrustListValidationOptions; + +#define UA_TRUSTLISTVALIDATIONOPTIONS_NONE 0 +#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSCERTIFICATEEXPIRED 1 +#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSHOSTNAMEINVALID 2 +#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSREVOCATIONSTATUSUNKNOWN 4 +#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSISSUERCERTIFICATEEXPIRED 8 +#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSISSUERREVOCATIONSTATUSUNKNOWN 16 +#define UA_TRUSTLISTVALIDATIONOPTIONS_CHECKREVOCATIONSTATUSONLINE 32 +#define UA_TRUSTLISTVALIDATIONOPTIONS_CHECKREVOCATIONSTATUSOFFLINE 64 + +#define UA_TYPES_TRUSTLISTVALIDATIONOPTIONS 50 + +/* TrustListMasks */ +typedef enum { + UA_TRUSTLISTMASKS_NONE = 0, + UA_TRUSTLISTMASKS_TRUSTEDCERTIFICATES = 1, + UA_TRUSTLISTMASKS_TRUSTEDCRLS = 2, + UA_TRUSTLISTMASKS_ISSUERCERTIFICATES = 4, + UA_TRUSTLISTMASKS_ISSUERCRLS = 8, + UA_TRUSTLISTMASKS_ALL = 15, + __UA_TRUSTLISTMASKS_FORCE32BIT = 0x7fffffff +} UA_TrustListMasks; + +UA_STATIC_ASSERT(sizeof(UA_TrustListMasks) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_TRUSTLISTMASKS 51 + +/* TrustListDataType */ +typedef struct { + UA_UInt32 specifiedLists; + size_t trustedCertificatesSize; + UA_ByteString *trustedCertificates; + size_t trustedCrlsSize; + UA_ByteString *trustedCrls; + size_t issuerCertificatesSize; + UA_ByteString *issuerCertificates; + size_t issuerCrlsSize; + UA_ByteString *issuerCrls; +} UA_TrustListDataType; + +#define UA_TYPES_TRUSTLISTDATATYPE 52 + +/* TransactionErrorType */ +typedef struct { + UA_NodeId targetId; + UA_StatusCode error; + UA_LocalizedText message; +} UA_TransactionErrorType; + +#define UA_TYPES_TRANSACTIONERRORTYPE 53 + +/* DataTypeDescription */ +typedef struct { + UA_NodeId dataTypeId; + UA_QualifiedName name; +} UA_DataTypeDescription; + +#define UA_TYPES_DATATYPEDESCRIPTION 54 + +/* SimpleTypeDescription */ +typedef struct { + UA_NodeId dataTypeId; + UA_QualifiedName name; + UA_NodeId baseDataType; + UA_Byte builtInType; +} UA_SimpleTypeDescription; + +#define UA_TYPES_SIMPLETYPEDESCRIPTION 55 + +/* PortableQualifiedName */ +typedef struct { + UA_String namespaceUri; + UA_String name; +} UA_PortableQualifiedName; + +#define UA_TYPES_PORTABLEQUALIFIEDNAME 56 + +/* PortableNodeId */ +typedef struct { + UA_String namespaceUri; + UA_NodeId identifier; +} UA_PortableNodeId; + +#define UA_TYPES_PORTABLENODEID 57 + +/* UnsignedRationalNumber */ +typedef struct { + UA_UInt32 numerator; + UA_UInt32 denominator; +} UA_UnsignedRationalNumber; + +#define UA_TYPES_UNSIGNEDRATIONALNUMBER 58 + +/* PubSubState */ +typedef enum { + UA_PUBSUBSTATE_DISABLED = 0, + UA_PUBSUBSTATE_PAUSED = 1, + UA_PUBSUBSTATE_OPERATIONAL = 2, + UA_PUBSUBSTATE_ERROR = 3, + UA_PUBSUBSTATE_PREOPERATIONAL = 4, + __UA_PUBSUBSTATE_FORCE32BIT = 0x7fffffff +} UA_PubSubState; + +UA_STATIC_ASSERT(sizeof(UA_PubSubState) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_PUBSUBSTATE 59 + +/* DataSetFieldFlags */ +typedef UA_UInt16 UA_DataSetFieldFlags; + +#define UA_DATASETFIELDFLAGS_NONE 0 +#define UA_DATASETFIELDFLAGS_PROMOTEDFIELD 1 + +#define UA_TYPES_DATASETFIELDFLAGS 60 + +/* ConfigurationVersionDataType */ +typedef struct { + UA_UInt32 majorVersion; + UA_UInt32 minorVersion; +} UA_ConfigurationVersionDataType; + +#define UA_TYPES_CONFIGURATIONVERSIONDATATYPE 61 + +/* PublishedVariableDataType */ +typedef struct { + UA_NodeId publishedVariable; + UA_UInt32 attributeId; + UA_Double samplingIntervalHint; + UA_UInt32 deadbandType; + UA_Double deadbandValue; + UA_String indexRange; + UA_Variant substituteValue; + size_t metaDataPropertiesSize; + UA_QualifiedName *metaDataProperties; +} UA_PublishedVariableDataType; + +#define UA_TYPES_PUBLISHEDVARIABLEDATATYPE 62 + +/* PublishedDataItemsDataType */ +typedef struct { + size_t publishedDataSize; + UA_PublishedVariableDataType *publishedData; +} UA_PublishedDataItemsDataType; + +#define UA_TYPES_PUBLISHEDDATAITEMSDATATYPE 63 + +/* PublishedDataSetCustomSourceDataType */ +typedef struct { + UA_Boolean cyclicDataSet; +} UA_PublishedDataSetCustomSourceDataType; + +#define UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 64 + +/* DataSetFieldContentMask */ +typedef UA_UInt32 UA_DataSetFieldContentMask; + +#define UA_DATASETFIELDCONTENTMASK_NONE 0 +#define UA_DATASETFIELDCONTENTMASK_STATUSCODE 1 +#define UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP 2 +#define UA_DATASETFIELDCONTENTMASK_SERVERTIMESTAMP 4 +#define UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS 8 +#define UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS 16 +#define UA_DATASETFIELDCONTENTMASK_RAWDATA 32 + +#define UA_TYPES_DATASETFIELDCONTENTMASK 65 + +/* DataSetWriterDataType */ +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_UInt16 dataSetWriterId; + UA_DataSetFieldContentMask dataSetFieldContentMask; + UA_UInt32 keyFrameCount; + UA_String dataSetName; + size_t dataSetWriterPropertiesSize; + UA_KeyValuePair *dataSetWriterProperties; + UA_ExtensionObject transportSettings; + UA_ExtensionObject messageSettings; +} UA_DataSetWriterDataType; + +#define UA_TYPES_DATASETWRITERDATATYPE 66 + +/* NetworkAddressDataType */ +typedef struct { + UA_String networkInterface; +} UA_NetworkAddressDataType; + +#define UA_TYPES_NETWORKADDRESSDATATYPE 67 + +/* NetworkAddressUrlDataType */ +typedef struct { + UA_String networkInterface; + UA_String url; +} UA_NetworkAddressUrlDataType; + +#define UA_TYPES_NETWORKADDRESSURLDATATYPE 68 + +/* OverrideValueHandling */ +typedef enum { + UA_OVERRIDEVALUEHANDLING_DISABLED = 0, + UA_OVERRIDEVALUEHANDLING_LASTUSABLEVALUE = 1, + UA_OVERRIDEVALUEHANDLING_OVERRIDEVALUE = 2, + __UA_OVERRIDEVALUEHANDLING_FORCE32BIT = 0x7fffffff +} UA_OverrideValueHandling; + +UA_STATIC_ASSERT(sizeof(UA_OverrideValueHandling) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_OVERRIDEVALUEHANDLING 69 + +/* StandaloneSubscribedDataSetRefDataType */ +typedef struct { + UA_String dataSetName; +} UA_StandaloneSubscribedDataSetRefDataType; + +#define UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE 70 + +/* DataSetOrderingType */ +typedef enum { + UA_DATASETORDERINGTYPE_UNDEFINED = 0, + UA_DATASETORDERINGTYPE_ASCENDINGWRITERID = 1, + UA_DATASETORDERINGTYPE_ASCENDINGWRITERIDSINGLE = 2, + __UA_DATASETORDERINGTYPE_FORCE32BIT = 0x7fffffff +} UA_DataSetOrderingType; + +UA_STATIC_ASSERT(sizeof(UA_DataSetOrderingType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_DATASETORDERINGTYPE 71 + +/* UadpNetworkMessageContentMask */ +typedef UA_UInt32 UA_UadpNetworkMessageContentMask; + +#define UA_UADPNETWORKMESSAGECONTENTMASK_NONE 0 +#define UA_UADPNETWORKMESSAGECONTENTMASK_PUBLISHERID 1 +#define UA_UADPNETWORKMESSAGECONTENTMASK_GROUPHEADER 2 +#define UA_UADPNETWORKMESSAGECONTENTMASK_WRITERGROUPID 4 +#define UA_UADPNETWORKMESSAGECONTENTMASK_GROUPVERSION 8 +#define UA_UADPNETWORKMESSAGECONTENTMASK_NETWORKMESSAGENUMBER 16 +#define UA_UADPNETWORKMESSAGECONTENTMASK_SEQUENCENUMBER 32 +#define UA_UADPNETWORKMESSAGECONTENTMASK_PAYLOADHEADER 64 +#define UA_UADPNETWORKMESSAGECONTENTMASK_TIMESTAMP 128 +#define UA_UADPNETWORKMESSAGECONTENTMASK_PICOSECONDS 256 +#define UA_UADPNETWORKMESSAGECONTENTMASK_DATASETCLASSID 512 +#define UA_UADPNETWORKMESSAGECONTENTMASK_PROMOTEDFIELDS 1024 + +#define UA_TYPES_UADPNETWORKMESSAGECONTENTMASK 72 + +/* UadpWriterGroupMessageDataType */ +typedef struct { + UA_UInt32 groupVersion; + UA_DataSetOrderingType dataSetOrdering; + UA_UadpNetworkMessageContentMask networkMessageContentMask; + UA_Double samplingOffset; + size_t publishingOffsetSize; + UA_Double *publishingOffset; +} UA_UadpWriterGroupMessageDataType; + +#define UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE 73 + +/* UadpDataSetMessageContentMask */ +typedef UA_UInt32 UA_UadpDataSetMessageContentMask; + +#define UA_UADPDATASETMESSAGECONTENTMASK_NONE 0 +#define UA_UADPDATASETMESSAGECONTENTMASK_TIMESTAMP 1 +#define UA_UADPDATASETMESSAGECONTENTMASK_PICOSECONDS 2 +#define UA_UADPDATASETMESSAGECONTENTMASK_STATUS 4 +#define UA_UADPDATASETMESSAGECONTENTMASK_MAJORVERSION 8 +#define UA_UADPDATASETMESSAGECONTENTMASK_MINORVERSION 16 +#define UA_UADPDATASETMESSAGECONTENTMASK_SEQUENCENUMBER 32 + +#define UA_TYPES_UADPDATASETMESSAGECONTENTMASK 74 + +/* UadpDataSetWriterMessageDataType */ +typedef struct { + UA_UadpDataSetMessageContentMask dataSetMessageContentMask; + UA_UInt16 configuredSize; + UA_UInt16 networkMessageNumber; + UA_UInt16 dataSetOffset; +} UA_UadpDataSetWriterMessageDataType; + +#define UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE 75 + +/* UadpDataSetReaderMessageDataType */ +typedef struct { + UA_UInt32 groupVersion; + UA_UInt16 networkMessageNumber; + UA_UInt16 dataSetOffset; + UA_Guid dataSetClassId; + UA_UadpNetworkMessageContentMask networkMessageContentMask; + UA_UadpDataSetMessageContentMask dataSetMessageContentMask; + UA_Double publishingInterval; + UA_Double receiveOffset; + UA_Double processingOffset; +} UA_UadpDataSetReaderMessageDataType; + +#define UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE 76 + +/* JsonNetworkMessageContentMask */ +typedef UA_UInt32 UA_JsonNetworkMessageContentMask; + +#define UA_JSONNETWORKMESSAGECONTENTMASK_NONE 0 +#define UA_JSONNETWORKMESSAGECONTENTMASK_NETWORKMESSAGEHEADER 1 +#define UA_JSONNETWORKMESSAGECONTENTMASK_DATASETMESSAGEHEADER 2 +#define UA_JSONNETWORKMESSAGECONTENTMASK_SINGLEDATASETMESSAGE 4 +#define UA_JSONNETWORKMESSAGECONTENTMASK_PUBLISHERID 8 +#define UA_JSONNETWORKMESSAGECONTENTMASK_DATASETCLASSID 16 +#define UA_JSONNETWORKMESSAGECONTENTMASK_REPLYTO 32 + +#define UA_TYPES_JSONNETWORKMESSAGECONTENTMASK 77 + +/* JsonWriterGroupMessageDataType */ +typedef struct { + UA_JsonNetworkMessageContentMask networkMessageContentMask; +} UA_JsonWriterGroupMessageDataType; + +#define UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE 78 + +/* JsonDataSetMessageContentMask */ +typedef UA_UInt32 UA_JsonDataSetMessageContentMask; + +#define UA_JSONDATASETMESSAGECONTENTMASK_NONE 0 +#define UA_JSONDATASETMESSAGECONTENTMASK_DATASETWRITERID 1 +#define UA_JSONDATASETMESSAGECONTENTMASK_METADATAVERSION 2 +#define UA_JSONDATASETMESSAGECONTENTMASK_SEQUENCENUMBER 4 +#define UA_JSONDATASETMESSAGECONTENTMASK_TIMESTAMP 8 +#define UA_JSONDATASETMESSAGECONTENTMASK_STATUS 16 +#define UA_JSONDATASETMESSAGECONTENTMASK_MESSAGETYPE 32 +#define UA_JSONDATASETMESSAGECONTENTMASK_DATASETWRITERNAME 64 +#define UA_JSONDATASETMESSAGECONTENTMASK_REVERSIBLEFIELDENCODING 128 + +#define UA_TYPES_JSONDATASETMESSAGECONTENTMASK 79 + +/* JsonDataSetWriterMessageDataType */ +typedef struct { + UA_JsonDataSetMessageContentMask dataSetMessageContentMask; +} UA_JsonDataSetWriterMessageDataType; + +#define UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE 80 + +/* JsonDataSetReaderMessageDataType */ +typedef struct { + UA_JsonNetworkMessageContentMask networkMessageContentMask; + UA_JsonDataSetMessageContentMask dataSetMessageContentMask; +} UA_JsonDataSetReaderMessageDataType; + +#define UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE 81 + +/* TransmitQosPriorityDataType */ +typedef struct { + UA_String priorityLabel; +} UA_TransmitQosPriorityDataType; + +#define UA_TYPES_TRANSMITQOSPRIORITYDATATYPE 82 + +/* ReceiveQosPriorityDataType */ +typedef struct { + UA_String priorityLabel; +} UA_ReceiveQosPriorityDataType; + +#define UA_TYPES_RECEIVEQOSPRIORITYDATATYPE 83 + +/* DatagramConnectionTransportDataType */ +typedef struct { + UA_ExtensionObject discoveryAddress; +} UA_DatagramConnectionTransportDataType; + +#define UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE 84 + +/* DatagramConnectionTransport2DataType */ +typedef struct { + UA_ExtensionObject discoveryAddress; + UA_UInt32 discoveryAnnounceRate; + UA_UInt32 discoveryMaxMessageSize; + UA_String qosCategory; + size_t datagramQosSize; + UA_ExtensionObject *datagramQos; +} UA_DatagramConnectionTransport2DataType; + +#define UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 85 + +/* DatagramWriterGroupTransportDataType */ +typedef struct { + UA_Byte messageRepeatCount; + UA_Double messageRepeatDelay; +} UA_DatagramWriterGroupTransportDataType; + +#define UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 86 + +/* DatagramWriterGroupTransport2DataType */ +typedef struct { + UA_Byte messageRepeatCount; + UA_Double messageRepeatDelay; + UA_ExtensionObject address; + UA_String qosCategory; + size_t datagramQosSize; + UA_ExtensionObject *datagramQos; + UA_UInt32 discoveryAnnounceRate; + UA_String topic; +} UA_DatagramWriterGroupTransport2DataType; + +#define UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 87 + +/* DatagramDataSetReaderTransportDataType */ +typedef struct { + UA_ExtensionObject address; + UA_String qosCategory; + size_t datagramQosSize; + UA_ExtensionObject *datagramQos; + UA_String topic; +} UA_DatagramDataSetReaderTransportDataType; + +#define UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE 88 + +/* BrokerConnectionTransportDataType */ +typedef struct { + UA_String resourceUri; + UA_String authenticationProfileUri; +} UA_BrokerConnectionTransportDataType; + +#define UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE 89 + +/* BrokerTransportQualityOfService */ +typedef enum { + UA_BROKERTRANSPORTQUALITYOFSERVICE_NOTSPECIFIED = 0, + UA_BROKERTRANSPORTQUALITYOFSERVICE_BESTEFFORT = 1, + UA_BROKERTRANSPORTQUALITYOFSERVICE_ATLEASTONCE = 2, + UA_BROKERTRANSPORTQUALITYOFSERVICE_ATMOSTONCE = 3, + UA_BROKERTRANSPORTQUALITYOFSERVICE_EXACTLYONCE = 4, + __UA_BROKERTRANSPORTQUALITYOFSERVICE_FORCE32BIT = 0x7fffffff +} UA_BrokerTransportQualityOfService; + +UA_STATIC_ASSERT(sizeof(UA_BrokerTransportQualityOfService) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE 90 + +/* BrokerWriterGroupTransportDataType */ +typedef struct { + UA_String queueName; + UA_String resourceUri; + UA_String authenticationProfileUri; + UA_BrokerTransportQualityOfService requestedDeliveryGuarantee; +} UA_BrokerWriterGroupTransportDataType; + +#define UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE 91 + +/* BrokerDataSetWriterTransportDataType */ +typedef struct { + UA_String queueName; + UA_String resourceUri; + UA_String authenticationProfileUri; + UA_BrokerTransportQualityOfService requestedDeliveryGuarantee; + UA_String metaDataQueueName; + UA_Double metaDataUpdateTime; +} UA_BrokerDataSetWriterTransportDataType; + +#define UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE 92 + +/* BrokerDataSetReaderTransportDataType */ +typedef struct { + UA_String queueName; + UA_String resourceUri; + UA_String authenticationProfileUri; + UA_BrokerTransportQualityOfService requestedDeliveryGuarantee; + UA_String metaDataQueueName; +} UA_BrokerDataSetReaderTransportDataType; + +#define UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE 93 + +/* PubSubConfigurationRefMask */ +typedef UA_UInt32 UA_PubSubConfigurationRefMask; + +#define UA_PUBSUBCONFIGURATIONREFMASK_NONE 0 +#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTADD 1 +#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTMATCH 2 +#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTMODIFY 4 +#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTREMOVE 8 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEWRITER 16 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEREADER 32 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEWRITERGROUP 64 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEREADERGROUP 128 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCECONNECTION 256 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEPUBDATASET 512 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCESUBDATASET 1024 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCESECURITYGROUP 2048 +#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEPUSHTARGET 4096 + +#define UA_TYPES_PUBSUBCONFIGURATIONREFMASK 94 + +/* PubSubConfigurationRefDataType */ +typedef struct { + UA_PubSubConfigurationRefMask configurationMask; + UA_UInt16 elementIndex; + UA_UInt16 connectionIndex; + UA_UInt16 groupIndex; +} UA_PubSubConfigurationRefDataType; + +#define UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE 95 + +/* PubSubConfigurationValueDataType */ +typedef struct { + UA_PubSubConfigurationRefDataType configurationElement; + UA_String name; + UA_Variant identifier; +} UA_PubSubConfigurationValueDataType; + +#define UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE 96 + +/* DiagnosticsLevel */ +typedef enum { + UA_DIAGNOSTICSLEVEL_BASIC = 0, + UA_DIAGNOSTICSLEVEL_ADVANCED = 1, + UA_DIAGNOSTICSLEVEL_INFO = 2, + UA_DIAGNOSTICSLEVEL_LOG = 3, + UA_DIAGNOSTICSLEVEL_DEBUG = 4, + __UA_DIAGNOSTICSLEVEL_FORCE32BIT = 0x7fffffff +} UA_DiagnosticsLevel; + +UA_STATIC_ASSERT(sizeof(UA_DiagnosticsLevel) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_DIAGNOSTICSLEVEL 97 + +/* PubSubDiagnosticsCounterClassification */ +typedef enum { + UA_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_INFORMATION = 0, + UA_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_ERROR = 1, + __UA_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_FORCE32BIT = 0x7fffffff +} UA_PubSubDiagnosticsCounterClassification; + +UA_STATIC_ASSERT(sizeof(UA_PubSubDiagnosticsCounterClassification) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION 98 + +/* AliasNameDataType */ +typedef struct { + UA_QualifiedName aliasName; + size_t referencedNodesSize; + UA_ExpandedNodeId *referencedNodes; +} UA_AliasNameDataType; + +#define UA_TYPES_ALIASNAMEDATATYPE 99 + +/* PasswordOptionsMask */ +typedef UA_UInt32 UA_PasswordOptionsMask; + +#define UA_PASSWORDOPTIONSMASK_NONE 0 +#define UA_PASSWORDOPTIONSMASK_SUPPORTINITIALPASSWORDCHANGE 1 +#define UA_PASSWORDOPTIONSMASK_SUPPORTDISABLEUSER 2 +#define UA_PASSWORDOPTIONSMASK_SUPPORTDISABLEDELETEFORUSER 4 +#define UA_PASSWORDOPTIONSMASK_SUPPORTNOCHANGEFORUSER 8 +#define UA_PASSWORDOPTIONSMASK_SUPPORTDESCRIPTIONFORUSER 16 +#define UA_PASSWORDOPTIONSMASK_REQUIRESUPPERCASECHARACTERS 32 +#define UA_PASSWORDOPTIONSMASK_REQUIRESLOWERCASECHARACTERS 64 +#define UA_PASSWORDOPTIONSMASK_REQUIRESDIGITCHARACTERS 128 +#define UA_PASSWORDOPTIONSMASK_REQUIRESSPECIALCHARACTERS 256 + +#define UA_TYPES_PASSWORDOPTIONSMASK 100 + +/* UserConfigurationMask */ +typedef UA_UInt32 UA_UserConfigurationMask; + +#define UA_USERCONFIGURATIONMASK_NONE 0 +#define UA_USERCONFIGURATIONMASK_NODELETE 1 +#define UA_USERCONFIGURATIONMASK_DISABLED 2 +#define UA_USERCONFIGURATIONMASK_NOCHANGEBYUSER 4 +#define UA_USERCONFIGURATIONMASK_MUSTCHANGEPASSWORD 8 + +#define UA_TYPES_USERCONFIGURATIONMASK 101 + +/* UserManagementDataType */ +typedef struct { + UA_String userName; + UA_UserConfigurationMask userConfiguration; + UA_String description; +} UA_UserManagementDataType; + +#define UA_TYPES_USERMANAGEMENTDATATYPE 102 + +/* EncodedTicket */ +typedef UA_ByteString UA_EncodedTicket; + +#define UA_TYPES_ENCODEDTICKET 103 + +/* Duplex */ +typedef enum { + UA_DUPLEX_FULL = 0, + UA_DUPLEX_HALF = 1, + UA_DUPLEX_UNKNOWN = 2, + __UA_DUPLEX_FORCE32BIT = 0x7fffffff +} UA_Duplex; + +UA_STATIC_ASSERT(sizeof(UA_Duplex) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_DUPLEX 104 + +/* InterfaceAdminStatus */ +typedef enum { + UA_INTERFACEADMINSTATUS_UP = 0, + UA_INTERFACEADMINSTATUS_DOWN = 1, + UA_INTERFACEADMINSTATUS_TESTING = 2, + __UA_INTERFACEADMINSTATUS_FORCE32BIT = 0x7fffffff +} UA_InterfaceAdminStatus; + +UA_STATIC_ASSERT(sizeof(UA_InterfaceAdminStatus) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_INTERFACEADMINSTATUS 105 + +/* InterfaceOperStatus */ +typedef enum { + UA_INTERFACEOPERSTATUS_UP = 0, + UA_INTERFACEOPERSTATUS_DOWN = 1, + UA_INTERFACEOPERSTATUS_TESTING = 2, + UA_INTERFACEOPERSTATUS_UNKNOWN = 3, + UA_INTERFACEOPERSTATUS_DORMANT = 4, + UA_INTERFACEOPERSTATUS_NOTPRESENT = 5, + UA_INTERFACEOPERSTATUS_LOWERLAYERDOWN = 6, + __UA_INTERFACEOPERSTATUS_FORCE32BIT = 0x7fffffff +} UA_InterfaceOperStatus; + +UA_STATIC_ASSERT(sizeof(UA_InterfaceOperStatus) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_INTERFACEOPERSTATUS 106 + +/* NegotiationStatus */ +typedef enum { + UA_NEGOTIATIONSTATUS_INPROGRESS = 0, + UA_NEGOTIATIONSTATUS_COMPLETE = 1, + UA_NEGOTIATIONSTATUS_FAILED = 2, + UA_NEGOTIATIONSTATUS_UNKNOWN = 3, + UA_NEGOTIATIONSTATUS_NONEGOTIATION = 4, + __UA_NEGOTIATIONSTATUS_FORCE32BIT = 0x7fffffff +} UA_NegotiationStatus; + +UA_STATIC_ASSERT(sizeof(UA_NegotiationStatus) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_NEGOTIATIONSTATUS 107 + +/* TsnFailureCode */ +typedef enum { + UA_TSNFAILURECODE_NOFAILURE = 0, + UA_TSNFAILURECODE_INSUFFICIENTBANDWIDTH = 1, + UA_TSNFAILURECODE_INSUFFICIENTRESOURCES = 2, + UA_TSNFAILURECODE_INSUFFICIENTTRAFFICCLASSBANDWIDTH = 3, + UA_TSNFAILURECODE_STREAMIDINUSE = 4, + UA_TSNFAILURECODE_STREAMDESTINATIONADDRESSINUSE = 5, + UA_TSNFAILURECODE_STREAMPREEMPTEDBYHIGHERRANK = 6, + UA_TSNFAILURECODE_LATENCYHASCHANGED = 7, + UA_TSNFAILURECODE_EGRESSPORTNOTAVBCAPABLE = 8, + UA_TSNFAILURECODE_USEDIFFERENTDESTINATIONADDRESS = 9, + UA_TSNFAILURECODE_OUTOFMSRPRESOURCES = 10, + UA_TSNFAILURECODE_OUTOFMMRPRESOURCES = 11, + UA_TSNFAILURECODE_CANNOTSTOREDESTINATIONADDRESS = 12, + UA_TSNFAILURECODE_PRIORITYISNOTANSRCCLASS = 13, + UA_TSNFAILURECODE_MAXFRAMESIZETOOLARGE = 14, + UA_TSNFAILURECODE_MAXFANINPORTSLIMITREACHED = 15, + UA_TSNFAILURECODE_FIRSTVALUECHANGEDFORSTREAMID = 16, + UA_TSNFAILURECODE_VLANBLOCKEDONEGRESS = 17, + UA_TSNFAILURECODE_VLANTAGGINGDISABLEDONEGRESS = 18, + UA_TSNFAILURECODE_SRCLASSPRIORITYMISMATCH = 19, + UA_TSNFAILURECODE_FEATURENOTPROPAGATED = 20, + UA_TSNFAILURECODE_MAXLATENCYEXCEEDED = 21, + UA_TSNFAILURECODE_BRIDGEDOESNOTPROVIDENETWORKID = 22, + UA_TSNFAILURECODE_STREAMTRANSFORMNOTSUPPORTED = 23, + UA_TSNFAILURECODE_STREAMIDTYPENOTSUPPORTED = 24, + UA_TSNFAILURECODE_FEATURENOTSUPPORTED = 25, + __UA_TSNFAILURECODE_FORCE32BIT = 0x7fffffff +} UA_TsnFailureCode; + +UA_STATIC_ASSERT(sizeof(UA_TsnFailureCode) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_TSNFAILURECODE 108 + +/* TsnStreamState */ +typedef enum { + UA_TSNSTREAMSTATE_DISABLED = 0, + UA_TSNSTREAMSTATE_CONFIGURING = 1, + UA_TSNSTREAMSTATE_READY = 2, + UA_TSNSTREAMSTATE_OPERATIONAL = 3, + UA_TSNSTREAMSTATE_ERROR = 4, + __UA_TSNSTREAMSTATE_FORCE32BIT = 0x7fffffff +} UA_TsnStreamState; + +UA_STATIC_ASSERT(sizeof(UA_TsnStreamState) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_TSNSTREAMSTATE 109 + +/* TsnTalkerStatus */ +typedef enum { + UA_TSNTALKERSTATUS_NONE = 0, + UA_TSNTALKERSTATUS_READY = 1, + UA_TSNTALKERSTATUS_FAILED = 2, + __UA_TSNTALKERSTATUS_FORCE32BIT = 0x7fffffff +} UA_TsnTalkerStatus; + +UA_STATIC_ASSERT(sizeof(UA_TsnTalkerStatus) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_TSNTALKERSTATUS 110 + +/* TsnListenerStatus */ +typedef enum { + UA_TSNLISTENERSTATUS_NONE = 0, + UA_TSNLISTENERSTATUS_READY = 1, + UA_TSNLISTENERSTATUS_PARTIALFAILED = 2, + UA_TSNLISTENERSTATUS_FAILED = 3, + __UA_TSNLISTENERSTATUS_FORCE32BIT = 0x7fffffff +} UA_TsnListenerStatus; + +UA_STATIC_ASSERT(sizeof(UA_TsnListenerStatus) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_TSNLISTENERSTATUS 111 + +/* PriorityMappingEntryType */ +typedef struct { + UA_String mappingUri; + UA_String priorityLabel; + UA_Byte priorityValue_PCP; + UA_UInt32 priorityValue_DSCP; +} UA_PriorityMappingEntryType; + +#define UA_TYPES_PRIORITYMAPPINGENTRYTYPE 112 + +/* ReferenceDescriptionDataType */ +typedef struct { + UA_NodeId sourceNode; + UA_NodeId referenceType; + UA_Boolean isForward; + UA_ExpandedNodeId targetNode; +} UA_ReferenceDescriptionDataType; + +#define UA_TYPES_REFERENCEDESCRIPTIONDATATYPE 113 + +/* ReferenceListEntryDataType */ +typedef struct { + UA_NodeId referenceType; + UA_Boolean isForward; + UA_ExpandedNodeId targetNode; +} UA_ReferenceListEntryDataType; + +#define UA_TYPES_REFERENCELISTENTRYDATATYPE 114 + +/* IdType */ +typedef enum { + UA_IDTYPE_NUMERIC = 0, + UA_IDTYPE_STRING = 1, + UA_IDTYPE_GUID = 2, + UA_IDTYPE_OPAQUE = 3, + __UA_IDTYPE_FORCE32BIT = 0x7fffffff +} UA_IdType; + +UA_STATIC_ASSERT(sizeof(UA_IdType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_IDTYPE 115 + +/* NodeClass */ +typedef enum { + UA_NODECLASS_UNSPECIFIED = 0, + UA_NODECLASS_OBJECT = 1, + UA_NODECLASS_VARIABLE = 2, + UA_NODECLASS_METHOD = 4, + UA_NODECLASS_OBJECTTYPE = 8, + UA_NODECLASS_VARIABLETYPE = 16, + UA_NODECLASS_REFERENCETYPE = 32, + UA_NODECLASS_DATATYPE = 64, + UA_NODECLASS_VIEW = 128, + __UA_NODECLASS_FORCE32BIT = 0x7fffffff +} UA_NodeClass; + +UA_STATIC_ASSERT(sizeof(UA_NodeClass) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_NODECLASS 116 + +/* PermissionType */ +typedef UA_UInt32 UA_PermissionType; + +#define UA_PERMISSIONTYPE_NONE 0 +#define UA_PERMISSIONTYPE_BROWSE 1 +#define UA_PERMISSIONTYPE_READROLEPERMISSIONS 2 +#define UA_PERMISSIONTYPE_WRITEATTRIBUTE 4 +#define UA_PERMISSIONTYPE_WRITEROLEPERMISSIONS 8 +#define UA_PERMISSIONTYPE_WRITEHISTORIZING 16 +#define UA_PERMISSIONTYPE_READ 32 +#define UA_PERMISSIONTYPE_WRITE 64 +#define UA_PERMISSIONTYPE_READHISTORY 128 +#define UA_PERMISSIONTYPE_INSERTHISTORY 256 +#define UA_PERMISSIONTYPE_MODIFYHISTORY 512 +#define UA_PERMISSIONTYPE_DELETEHISTORY 1024 +#define UA_PERMISSIONTYPE_RECEIVEEVENTS 2048 +#define UA_PERMISSIONTYPE_CALL 4096 +#define UA_PERMISSIONTYPE_ADDREFERENCE 8192 +#define UA_PERMISSIONTYPE_REMOVEREFERENCE 16384 +#define UA_PERMISSIONTYPE_DELETENODE 32768 +#define UA_PERMISSIONTYPE_ADDNODE 65536 + +#define UA_TYPES_PERMISSIONTYPE 117 + +/* AccessLevelType */ +typedef UA_Byte UA_AccessLevelType; + +#define UA_ACCESSLEVELTYPE_NONE 0 +#define UA_ACCESSLEVELTYPE_CURRENTREAD 1 +#define UA_ACCESSLEVELTYPE_CURRENTWRITE 2 +#define UA_ACCESSLEVELTYPE_HISTORYREAD 4 +#define UA_ACCESSLEVELTYPE_HISTORYWRITE 8 +#define UA_ACCESSLEVELTYPE_SEMANTICCHANGE 16 +#define UA_ACCESSLEVELTYPE_STATUSWRITE 32 +#define UA_ACCESSLEVELTYPE_TIMESTAMPWRITE 64 + +#define UA_TYPES_ACCESSLEVELTYPE 118 + +/* AccessLevelExType */ +typedef UA_UInt32 UA_AccessLevelExType; + +#define UA_ACCESSLEVELEXTYPE_NONE 0 +#define UA_ACCESSLEVELEXTYPE_CURRENTREAD 1 +#define UA_ACCESSLEVELEXTYPE_CURRENTWRITE 2 +#define UA_ACCESSLEVELEXTYPE_HISTORYREAD 4 +#define UA_ACCESSLEVELEXTYPE_HISTORYWRITE 8 +#define UA_ACCESSLEVELEXTYPE_SEMANTICCHANGE 16 +#define UA_ACCESSLEVELEXTYPE_STATUSWRITE 32 +#define UA_ACCESSLEVELEXTYPE_TIMESTAMPWRITE 64 +#define UA_ACCESSLEVELEXTYPE_NONATOMICREAD 256 +#define UA_ACCESSLEVELEXTYPE_NONATOMICWRITE 512 +#define UA_ACCESSLEVELEXTYPE_WRITEFULLARRAYONLY 1024 +#define UA_ACCESSLEVELEXTYPE_NOSUBDATATYPES 2048 +#define UA_ACCESSLEVELEXTYPE_NONVOLATILE 4096 +#define UA_ACCESSLEVELEXTYPE_CONSTANT 8192 + +#define UA_TYPES_ACCESSLEVELEXTYPE 119 + +/* EventNotifierType */ +typedef UA_Byte UA_EventNotifierType; + +#define UA_EVENTNOTIFIERTYPE_NONE 0 +#define UA_EVENTNOTIFIERTYPE_SUBSCRIBETOEVENTS 1 +#define UA_EVENTNOTIFIERTYPE_HISTORYREAD 4 +#define UA_EVENTNOTIFIERTYPE_HISTORYWRITE 8 + +#define UA_TYPES_EVENTNOTIFIERTYPE 120 + +/* AccessRestrictionType */ +typedef UA_UInt16 UA_AccessRestrictionType; + +#define UA_ACCESSRESTRICTIONTYPE_NONE 0 +#define UA_ACCESSRESTRICTIONTYPE_SIGNINGREQUIRED 1 +#define UA_ACCESSRESTRICTIONTYPE_ENCRYPTIONREQUIRED 2 +#define UA_ACCESSRESTRICTIONTYPE_SESSIONREQUIRED 4 +#define UA_ACCESSRESTRICTIONTYPE_APPLYRESTRICTIONSTOBROWSE 8 + +#define UA_TYPES_ACCESSRESTRICTIONTYPE 121 + +/* RolePermissionType */ +typedef struct { + UA_NodeId roleId; + UA_PermissionType permissions; +} UA_RolePermissionType; + +#define UA_TYPES_ROLEPERMISSIONTYPE 122 + +/* StructureType */ +typedef enum { + UA_STRUCTURETYPE_STRUCTURE = 0, + UA_STRUCTURETYPE_STRUCTUREWITHOPTIONALFIELDS = 1, + UA_STRUCTURETYPE_UNION = 2, + UA_STRUCTURETYPE_STRUCTUREWITHSUBTYPEDVALUES = 3, + UA_STRUCTURETYPE_UNIONWITHSUBTYPEDVALUES = 4, + __UA_STRUCTURETYPE_FORCE32BIT = 0x7fffffff +} UA_StructureType; + +UA_STATIC_ASSERT(sizeof(UA_StructureType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_STRUCTURETYPE 123 + +/* StructureField */ +typedef struct { + UA_String name; + UA_LocalizedText description; + UA_NodeId dataType; + UA_Int32 valueRank; + size_t arrayDimensionsSize; + UA_UInt32 *arrayDimensions; + UA_UInt32 maxStringLength; + UA_Boolean isOptional; +} UA_StructureField; + +#define UA_TYPES_STRUCTUREFIELD 124 + +/* StructureDefinition */ +typedef struct { + UA_NodeId defaultEncodingId; + UA_NodeId baseDataType; + UA_StructureType structureType; + size_t fieldsSize; + UA_StructureField *fields; +} UA_StructureDefinition; + +#define UA_TYPES_STRUCTUREDEFINITION 125 + +/* Argument */ +typedef struct { + UA_String name; + UA_NodeId dataType; + UA_Int32 valueRank; + size_t arrayDimensionsSize; + UA_UInt32 *arrayDimensions; + UA_LocalizedText description; +} UA_Argument; + +#define UA_TYPES_ARGUMENT 126 + +/* EnumValueType */ +typedef struct { + UA_Int64 value; + UA_LocalizedText displayName; + UA_LocalizedText description; +} UA_EnumValueType; + +#define UA_TYPES_ENUMVALUETYPE 127 + +/* EnumField */ +typedef struct { + UA_Int64 value; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_String name; +} UA_EnumField; + +#define UA_TYPES_ENUMFIELD 128 + +/* OptionSet */ +typedef struct { + UA_ByteString value; + UA_ByteString validBits; +} UA_OptionSet; + +#define UA_TYPES_OPTIONSET 129 + +/* NormalizedString */ +typedef UA_String UA_NormalizedString; + +#define UA_TYPES_NORMALIZEDSTRING 130 + +/* DecimalString */ +typedef UA_String UA_DecimalString; + +#define UA_TYPES_DECIMALSTRING 131 + +/* DurationString */ +typedef UA_String UA_DurationString; + +#define UA_TYPES_DURATIONSTRING 132 + +/* TimeString */ +typedef UA_String UA_TimeString; + +#define UA_TYPES_TIMESTRING 133 + +/* DateString */ +typedef UA_String UA_DateString; + +#define UA_TYPES_DATESTRING 134 + +/* Duration */ +typedef UA_Double UA_Duration; + +#define UA_TYPES_DURATION 135 + +/* UtcTime */ +typedef UA_DateTime UA_UtcTime; + +#define UA_TYPES_UTCTIME 136 + +/* LocaleId */ +typedef UA_String UA_LocaleId; + +#define UA_TYPES_LOCALEID 137 + +/* TimeZoneDataType */ +typedef struct { + UA_Int16 offset; + UA_Boolean daylightSavingInOffset; +} UA_TimeZoneDataType; + +#define UA_TYPES_TIMEZONEDATATYPE 138 + +/* Index */ +typedef UA_ByteString UA_Index; + +#define UA_TYPES_INDEX 139 + +/* IntegerId */ +typedef UA_UInt32 UA_IntegerId; + +#define UA_TYPES_INTEGERID 140 + +/* ApplicationType */ +typedef enum { + UA_APPLICATIONTYPE_SERVER = 0, + UA_APPLICATIONTYPE_CLIENT = 1, + UA_APPLICATIONTYPE_CLIENTANDSERVER = 2, + UA_APPLICATIONTYPE_DISCOVERYSERVER = 3, + __UA_APPLICATIONTYPE_FORCE32BIT = 0x7fffffff +} UA_ApplicationType; + +UA_STATIC_ASSERT(sizeof(UA_ApplicationType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_APPLICATIONTYPE 141 + +/* ApplicationDescription */ +typedef struct { + UA_String applicationUri; + UA_String productUri; + UA_LocalizedText applicationName; + UA_ApplicationType applicationType; + UA_String gatewayServerUri; + UA_String discoveryProfileUri; + size_t discoveryUrlsSize; + UA_String *discoveryUrls; +} UA_ApplicationDescription; + +#define UA_TYPES_APPLICATIONDESCRIPTION 142 + +/* RequestHeader */ +typedef struct { + UA_NodeId authenticationToken; + UA_DateTime timestamp; + UA_UInt32 requestHandle; + UA_UInt32 returnDiagnostics; + UA_String auditEntryId; + UA_UInt32 timeoutHint; + UA_ExtensionObject additionalHeader; +} UA_RequestHeader; + +#define UA_TYPES_REQUESTHEADER 143 + +/* ResponseHeader */ +typedef struct { + UA_DateTime timestamp; + UA_UInt32 requestHandle; + UA_StatusCode serviceResult; + UA_DiagnosticInfo serviceDiagnostics; + size_t stringTableSize; + UA_String *stringTable; + UA_ExtensionObject additionalHeader; +} UA_ResponseHeader; + +#define UA_TYPES_RESPONSEHEADER 144 + +/* VersionTime */ +typedef UA_ByteString UA_VersionTime; + +#define UA_TYPES_VERSIONTIME 145 + +/* ServiceFault */ +typedef struct { + UA_ResponseHeader responseHeader; +} UA_ServiceFault; + +#define UA_TYPES_SERVICEFAULT 146 + +/* SessionlessInvokeRequestType */ +typedef struct { + UA_UInt32 urisVersion; + size_t namespaceUrisSize; + UA_String *namespaceUris; + size_t serverUrisSize; + UA_String *serverUris; + size_t localeIdsSize; + UA_String *localeIds; + UA_UInt32 serviceId; +} UA_SessionlessInvokeRequestType; + +#define UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE 147 + +/* SessionlessInvokeResponseType */ +typedef struct { + size_t namespaceUrisSize; + UA_String *namespaceUris; + size_t serverUrisSize; + UA_String *serverUris; + UA_UInt32 serviceId; +} UA_SessionlessInvokeResponseType; + +#define UA_TYPES_SESSIONLESSINVOKERESPONSETYPE 148 + +/* FindServersRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_String endpointUrl; + size_t localeIdsSize; + UA_String *localeIds; + size_t serverUrisSize; + UA_String *serverUris; +} UA_FindServersRequest; + +#define UA_TYPES_FINDSERVERSREQUEST 149 + +/* FindServersResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t serversSize; + UA_ApplicationDescription *servers; +} UA_FindServersResponse; + +#define UA_TYPES_FINDSERVERSRESPONSE 150 + +/* ServerOnNetwork */ +typedef struct { + UA_UInt32 recordId; + UA_String serverName; + UA_String discoveryUrl; + size_t serverCapabilitiesSize; + UA_String *serverCapabilities; +} UA_ServerOnNetwork; + +#define UA_TYPES_SERVERONNETWORK 151 + +/* FindServersOnNetworkRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 startingRecordId; + UA_UInt32 maxRecordsToReturn; + size_t serverCapabilityFilterSize; + UA_String *serverCapabilityFilter; +} UA_FindServersOnNetworkRequest; + +#define UA_TYPES_FINDSERVERSONNETWORKREQUEST 152 + +/* FindServersOnNetworkResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_DateTime lastCounterResetTime; + size_t serversSize; + UA_ServerOnNetwork *servers; +} UA_FindServersOnNetworkResponse; + +#define UA_TYPES_FINDSERVERSONNETWORKRESPONSE 153 + +/* ApplicationInstanceCertificate */ +typedef UA_ByteString UA_ApplicationInstanceCertificate; + +#define UA_TYPES_APPLICATIONINSTANCECERTIFICATE 154 + +/* MessageSecurityMode */ +typedef enum { + UA_MESSAGESECURITYMODE_INVALID = 0, + UA_MESSAGESECURITYMODE_NONE = 1, + UA_MESSAGESECURITYMODE_SIGN = 2, + UA_MESSAGESECURITYMODE_SIGNANDENCRYPT = 3, + __UA_MESSAGESECURITYMODE_FORCE32BIT = 0x7fffffff +} UA_MessageSecurityMode; + +UA_STATIC_ASSERT(sizeof(UA_MessageSecurityMode) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_MESSAGESECURITYMODE 155 + +/* UserTokenType */ +typedef enum { + UA_USERTOKENTYPE_ANONYMOUS = 0, + UA_USERTOKENTYPE_USERNAME = 1, + UA_USERTOKENTYPE_CERTIFICATE = 2, + UA_USERTOKENTYPE_ISSUEDTOKEN = 3, + __UA_USERTOKENTYPE_FORCE32BIT = 0x7fffffff +} UA_UserTokenType; + +UA_STATIC_ASSERT(sizeof(UA_UserTokenType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_USERTOKENTYPE 156 + +/* UserTokenPolicy */ +typedef struct { + UA_String policyId; + UA_UserTokenType tokenType; + UA_String issuedTokenType; + UA_String issuerEndpointUrl; + UA_String securityPolicyUri; +} UA_UserTokenPolicy; + +#define UA_TYPES_USERTOKENPOLICY 157 + +/* EndpointDescription */ +typedef struct { + UA_String endpointUrl; + UA_ApplicationDescription server; + UA_ByteString serverCertificate; + UA_MessageSecurityMode securityMode; + UA_String securityPolicyUri; + size_t userIdentityTokensSize; + UA_UserTokenPolicy *userIdentityTokens; + UA_String transportProfileUri; + UA_Byte securityLevel; +} UA_EndpointDescription; + +#define UA_TYPES_ENDPOINTDESCRIPTION 158 + +/* GetEndpointsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_String endpointUrl; + size_t localeIdsSize; + UA_String *localeIds; + size_t profileUrisSize; + UA_String *profileUris; +} UA_GetEndpointsRequest; + +#define UA_TYPES_GETENDPOINTSREQUEST 159 + +/* GetEndpointsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t endpointsSize; + UA_EndpointDescription *endpoints; +} UA_GetEndpointsResponse; + +#define UA_TYPES_GETENDPOINTSRESPONSE 160 + +/* RegisteredServer */ +typedef struct { + UA_String serverUri; + UA_String productUri; + size_t serverNamesSize; + UA_LocalizedText *serverNames; + UA_ApplicationType serverType; + UA_String gatewayServerUri; + size_t discoveryUrlsSize; + UA_String *discoveryUrls; + UA_String semaphoreFilePath; + UA_Boolean isOnline; +} UA_RegisteredServer; + +#define UA_TYPES_REGISTEREDSERVER 161 + +/* RegisterServerRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_RegisteredServer server; +} UA_RegisterServerRequest; + +#define UA_TYPES_REGISTERSERVERREQUEST 162 + +/* RegisterServerResponse */ +typedef struct { + UA_ResponseHeader responseHeader; +} UA_RegisterServerResponse; + +#define UA_TYPES_REGISTERSERVERRESPONSE 163 + +/* MdnsDiscoveryConfiguration */ +typedef struct { + UA_String mdnsServerName; + size_t serverCapabilitiesSize; + UA_String *serverCapabilities; +} UA_MdnsDiscoveryConfiguration; + +#define UA_TYPES_MDNSDISCOVERYCONFIGURATION 164 + +/* RegisterServer2Request */ +typedef struct { + UA_RequestHeader requestHeader; + UA_RegisteredServer server; + size_t discoveryConfigurationSize; + UA_ExtensionObject *discoveryConfiguration; +} UA_RegisterServer2Request; + +#define UA_TYPES_REGISTERSERVER2REQUEST 165 + +/* RegisterServer2Response */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t configurationResultsSize; + UA_StatusCode *configurationResults; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_RegisterServer2Response; + +#define UA_TYPES_REGISTERSERVER2RESPONSE 166 + +/* SecurityTokenRequestType */ +typedef enum { + UA_SECURITYTOKENREQUESTTYPE_ISSUE = 0, + UA_SECURITYTOKENREQUESTTYPE_RENEW = 1, + __UA_SECURITYTOKENREQUESTTYPE_FORCE32BIT = 0x7fffffff +} UA_SecurityTokenRequestType; + +UA_STATIC_ASSERT(sizeof(UA_SecurityTokenRequestType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_SECURITYTOKENREQUESTTYPE 167 + +/* ChannelSecurityToken */ +typedef struct { + UA_UInt32 channelId; + UA_UInt32 tokenId; + UA_DateTime createdAt; + UA_UInt32 revisedLifetime; +} UA_ChannelSecurityToken; + +#define UA_TYPES_CHANNELSECURITYTOKEN 168 + +/* OpenSecureChannelRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 clientProtocolVersion; + UA_SecurityTokenRequestType requestType; + UA_MessageSecurityMode securityMode; + UA_ByteString clientNonce; + UA_UInt32 requestedLifetime; +} UA_OpenSecureChannelRequest; + +#define UA_TYPES_OPENSECURECHANNELREQUEST 169 + +/* OpenSecureChannelResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_UInt32 serverProtocolVersion; + UA_ChannelSecurityToken securityToken; + UA_ByteString serverNonce; +} UA_OpenSecureChannelResponse; + +#define UA_TYPES_OPENSECURECHANNELRESPONSE 170 + +/* CloseSecureChannelRequest */ +typedef struct { + UA_RequestHeader requestHeader; +} UA_CloseSecureChannelRequest; + +#define UA_TYPES_CLOSESECURECHANNELREQUEST 171 + +/* CloseSecureChannelResponse */ +typedef struct { + UA_ResponseHeader responseHeader; +} UA_CloseSecureChannelResponse; + +#define UA_TYPES_CLOSESECURECHANNELRESPONSE 172 + +/* SignedSoftwareCertificate */ +typedef struct { + UA_ByteString certificateData; + UA_ByteString signature; +} UA_SignedSoftwareCertificate; + +#define UA_TYPES_SIGNEDSOFTWARECERTIFICATE 173 + +/* SessionAuthenticationToken */ +typedef UA_NodeId UA_SessionAuthenticationToken; + +#define UA_TYPES_SESSIONAUTHENTICATIONTOKEN 174 + +/* SignatureData */ +typedef struct { + UA_String algorithm; + UA_ByteString signature; +} UA_SignatureData; + +#define UA_TYPES_SIGNATUREDATA 175 + +/* CreateSessionRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_ApplicationDescription clientDescription; + UA_String serverUri; + UA_String endpointUrl; + UA_String sessionName; + UA_ByteString clientNonce; + UA_ByteString clientCertificate; + UA_Double requestedSessionTimeout; + UA_UInt32 maxResponseMessageSize; +} UA_CreateSessionRequest; + +#define UA_TYPES_CREATESESSIONREQUEST 176 + +/* CreateSessionResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_NodeId sessionId; + UA_NodeId authenticationToken; + UA_Double revisedSessionTimeout; + UA_ByteString serverNonce; + UA_ByteString serverCertificate; + size_t serverEndpointsSize; + UA_EndpointDescription *serverEndpoints; + size_t serverSoftwareCertificatesSize; + UA_SignedSoftwareCertificate *serverSoftwareCertificates; + UA_SignatureData serverSignature; + UA_UInt32 maxRequestMessageSize; +} UA_CreateSessionResponse; + +#define UA_TYPES_CREATESESSIONRESPONSE 177 + +/* UserIdentityToken */ +typedef struct { + UA_String policyId; +} UA_UserIdentityToken; + +#define UA_TYPES_USERIDENTITYTOKEN 178 + +/* AnonymousIdentityToken */ +typedef struct { + UA_String policyId; +} UA_AnonymousIdentityToken; + +#define UA_TYPES_ANONYMOUSIDENTITYTOKEN 179 + +/* UserNameIdentityToken */ +typedef struct { + UA_String policyId; + UA_String userName; + UA_ByteString password; + UA_String encryptionAlgorithm; +} UA_UserNameIdentityToken; + +#define UA_TYPES_USERNAMEIDENTITYTOKEN 180 + +/* X509IdentityToken */ +typedef struct { + UA_String policyId; + UA_ByteString certificateData; +} UA_X509IdentityToken; + +#define UA_TYPES_X509IDENTITYTOKEN 181 + +/* IssuedIdentityToken */ +typedef struct { + UA_String policyId; + UA_ByteString tokenData; + UA_String encryptionAlgorithm; +} UA_IssuedIdentityToken; + +#define UA_TYPES_ISSUEDIDENTITYTOKEN 182 + +/* RsaEncryptedSecret */ +typedef UA_ByteString UA_RsaEncryptedSecret; + +#define UA_TYPES_RSAENCRYPTEDSECRET 183 + +/* EccEncryptedSecret */ +typedef UA_ByteString UA_EccEncryptedSecret; + +#define UA_TYPES_ECCENCRYPTEDSECRET 184 + +/* ActivateSessionRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_SignatureData clientSignature; + size_t clientSoftwareCertificatesSize; + UA_SignedSoftwareCertificate *clientSoftwareCertificates; + size_t localeIdsSize; + UA_String *localeIds; + UA_ExtensionObject userIdentityToken; + UA_SignatureData userTokenSignature; +} UA_ActivateSessionRequest; + +#define UA_TYPES_ACTIVATESESSIONREQUEST 185 + +/* ActivateSessionResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_ByteString serverNonce; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_ActivateSessionResponse; + +#define UA_TYPES_ACTIVATESESSIONRESPONSE 186 + +/* CloseSessionRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_Boolean deleteSubscriptions; +} UA_CloseSessionRequest; + +#define UA_TYPES_CLOSESESSIONREQUEST 187 + +/* CloseSessionResponse */ +typedef struct { + UA_ResponseHeader responseHeader; +} UA_CloseSessionResponse; + +#define UA_TYPES_CLOSESESSIONRESPONSE 188 + +/* CancelRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 requestHandle; +} UA_CancelRequest; + +#define UA_TYPES_CANCELREQUEST 189 + +/* CancelResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_UInt32 cancelCount; +} UA_CancelResponse; + +#define UA_TYPES_CANCELRESPONSE 190 + +/* NodeAttributesMask */ +typedef enum { + UA_NODEATTRIBUTESMASK_NONE = 0, + UA_NODEATTRIBUTESMASK_ACCESSLEVEL = 1, + UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS = 2, + UA_NODEATTRIBUTESMASK_BROWSENAME = 4, + UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS = 8, + UA_NODEATTRIBUTESMASK_DATATYPE = 16, + UA_NODEATTRIBUTESMASK_DESCRIPTION = 32, + UA_NODEATTRIBUTESMASK_DISPLAYNAME = 64, + UA_NODEATTRIBUTESMASK_EVENTNOTIFIER = 128, + UA_NODEATTRIBUTESMASK_EXECUTABLE = 256, + UA_NODEATTRIBUTESMASK_HISTORIZING = 512, + UA_NODEATTRIBUTESMASK_INVERSENAME = 1024, + UA_NODEATTRIBUTESMASK_ISABSTRACT = 2048, + UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL = 4096, + UA_NODEATTRIBUTESMASK_NODECLASS = 8192, + UA_NODEATTRIBUTESMASK_NODEID = 16384, + UA_NODEATTRIBUTESMASK_SYMMETRIC = 32768, + UA_NODEATTRIBUTESMASK_USERACCESSLEVEL = 65536, + UA_NODEATTRIBUTESMASK_USEREXECUTABLE = 131072, + UA_NODEATTRIBUTESMASK_USERWRITEMASK = 262144, + UA_NODEATTRIBUTESMASK_VALUERANK = 524288, + UA_NODEATTRIBUTESMASK_WRITEMASK = 1048576, + UA_NODEATTRIBUTESMASK_VALUE = 2097152, + UA_NODEATTRIBUTESMASK_DATATYPEDEFINITION = 4194304, + UA_NODEATTRIBUTESMASK_ROLEPERMISSIONS = 8388608, + UA_NODEATTRIBUTESMASK_ACCESSRESTRICTIONS = 16777216, + UA_NODEATTRIBUTESMASK_ALL = 33554431, + UA_NODEATTRIBUTESMASK_BASENODE = 26501220, + UA_NODEATTRIBUTESMASK_OBJECT = 26501348, + UA_NODEATTRIBUTESMASK_OBJECTTYPE = 26503268, + UA_NODEATTRIBUTESMASK_VARIABLE = 26571383, + UA_NODEATTRIBUTESMASK_VARIABLETYPE = 28600438, + UA_NODEATTRIBUTESMASK_METHOD = 26632548, + UA_NODEATTRIBUTESMASK_REFERENCETYPE = 26537060, + UA_NODEATTRIBUTESMASK_VIEW = 26501356, + __UA_NODEATTRIBUTESMASK_FORCE32BIT = 0x7fffffff +} UA_NodeAttributesMask; + +UA_STATIC_ASSERT(sizeof(UA_NodeAttributesMask) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_NODEATTRIBUTESMASK 191 + +/* NodeAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; +} UA_NodeAttributes; + +#define UA_TYPES_NODEATTRIBUTES 192 + +/* ObjectAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Byte eventNotifier; +} UA_ObjectAttributes; + +#define UA_TYPES_OBJECTATTRIBUTES 193 + +/* VariableAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Variant value; + UA_NodeId dataType; + UA_Int32 valueRank; + size_t arrayDimensionsSize; + UA_UInt32 *arrayDimensions; + UA_Byte accessLevel; + UA_Byte userAccessLevel; + UA_Double minimumSamplingInterval; + UA_Boolean historizing; +} UA_VariableAttributes; + +#define UA_TYPES_VARIABLEATTRIBUTES 194 + +/* MethodAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Boolean executable; + UA_Boolean userExecutable; +} UA_MethodAttributes; + +#define UA_TYPES_METHODATTRIBUTES 195 + +/* ObjectTypeAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Boolean isAbstract; +} UA_ObjectTypeAttributes; + +#define UA_TYPES_OBJECTTYPEATTRIBUTES 196 + +/* VariableTypeAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Variant value; + UA_NodeId dataType; + UA_Int32 valueRank; + size_t arrayDimensionsSize; + UA_UInt32 *arrayDimensions; + UA_Boolean isAbstract; +} UA_VariableTypeAttributes; + +#define UA_TYPES_VARIABLETYPEATTRIBUTES 197 + +/* ReferenceTypeAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Boolean isAbstract; + UA_Boolean symmetric; + UA_LocalizedText inverseName; +} UA_ReferenceTypeAttributes; + +#define UA_TYPES_REFERENCETYPEATTRIBUTES 198 + +/* DataTypeAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Boolean isAbstract; +} UA_DataTypeAttributes; + +#define UA_TYPES_DATATYPEATTRIBUTES 199 + +/* ViewAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + UA_Boolean containsNoLoops; + UA_Byte eventNotifier; +} UA_ViewAttributes; + +#define UA_TYPES_VIEWATTRIBUTES 200 + +/* GenericAttributeValue */ +typedef struct { + UA_UInt32 attributeId; + UA_Variant value; +} UA_GenericAttributeValue; + +#define UA_TYPES_GENERICATTRIBUTEVALUE 201 + +/* GenericAttributes */ +typedef struct { + UA_UInt32 specifiedAttributes; + UA_LocalizedText displayName; + UA_LocalizedText description; + UA_UInt32 writeMask; + UA_UInt32 userWriteMask; + size_t attributeValuesSize; + UA_GenericAttributeValue *attributeValues; +} UA_GenericAttributes; + +#define UA_TYPES_GENERICATTRIBUTES 202 + +/* AddNodesItem */ +typedef struct { + UA_ExpandedNodeId parentNodeId; + UA_NodeId referenceTypeId; + UA_ExpandedNodeId requestedNewNodeId; + UA_QualifiedName browseName; + UA_NodeClass nodeClass; + UA_ExtensionObject nodeAttributes; + UA_ExpandedNodeId typeDefinition; +} UA_AddNodesItem; + +#define UA_TYPES_ADDNODESITEM 203 + +/* AddNodesResult */ +typedef struct { + UA_StatusCode statusCode; + UA_NodeId addedNodeId; +} UA_AddNodesResult; + +#define UA_TYPES_ADDNODESRESULT 204 + +/* AddNodesRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t nodesToAddSize; + UA_AddNodesItem *nodesToAdd; +} UA_AddNodesRequest; + +#define UA_TYPES_ADDNODESREQUEST 205 + +/* AddNodesResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_AddNodesResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_AddNodesResponse; + +#define UA_TYPES_ADDNODESRESPONSE 206 + +/* AddReferencesItem */ +typedef struct { + UA_NodeId sourceNodeId; + UA_NodeId referenceTypeId; + UA_Boolean isForward; + UA_String targetServerUri; + UA_ExpandedNodeId targetNodeId; + UA_NodeClass targetNodeClass; +} UA_AddReferencesItem; + +#define UA_TYPES_ADDREFERENCESITEM 207 + +/* AddReferencesRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t referencesToAddSize; + UA_AddReferencesItem *referencesToAdd; +} UA_AddReferencesRequest; + +#define UA_TYPES_ADDREFERENCESREQUEST 208 + +/* AddReferencesResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_AddReferencesResponse; + +#define UA_TYPES_ADDREFERENCESRESPONSE 209 + +/* DeleteNodesItem */ +typedef struct { + UA_NodeId nodeId; + UA_Boolean deleteTargetReferences; +} UA_DeleteNodesItem; + +#define UA_TYPES_DELETENODESITEM 210 + +/* DeleteNodesRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t nodesToDeleteSize; + UA_DeleteNodesItem *nodesToDelete; +} UA_DeleteNodesRequest; + +#define UA_TYPES_DELETENODESREQUEST 211 + +/* DeleteNodesResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_DeleteNodesResponse; + +#define UA_TYPES_DELETENODESRESPONSE 212 + +/* DeleteReferencesItem */ +typedef struct { + UA_NodeId sourceNodeId; + UA_NodeId referenceTypeId; + UA_Boolean isForward; + UA_ExpandedNodeId targetNodeId; + UA_Boolean deleteBidirectional; +} UA_DeleteReferencesItem; + +#define UA_TYPES_DELETEREFERENCESITEM 213 + +/* DeleteReferencesRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t referencesToDeleteSize; + UA_DeleteReferencesItem *referencesToDelete; +} UA_DeleteReferencesRequest; + +#define UA_TYPES_DELETEREFERENCESREQUEST 214 + +/* DeleteReferencesResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_DeleteReferencesResponse; + +#define UA_TYPES_DELETEREFERENCESRESPONSE 215 + +/* AttributeWriteMask */ +typedef UA_UInt32 UA_AttributeWriteMask; + +#define UA_ATTRIBUTEWRITEMASK_NONE 0 +#define UA_ATTRIBUTEWRITEMASK_ACCESSLEVEL 1 +#define UA_ATTRIBUTEWRITEMASK_ARRAYDIMENSIONS 2 +#define UA_ATTRIBUTEWRITEMASK_BROWSENAME 4 +#define UA_ATTRIBUTEWRITEMASK_CONTAINSNOLOOPS 8 +#define UA_ATTRIBUTEWRITEMASK_DATATYPE 16 +#define UA_ATTRIBUTEWRITEMASK_DESCRIPTION 32 +#define UA_ATTRIBUTEWRITEMASK_DISPLAYNAME 64 +#define UA_ATTRIBUTEWRITEMASK_EVENTNOTIFIER 128 +#define UA_ATTRIBUTEWRITEMASK_EXECUTABLE 256 +#define UA_ATTRIBUTEWRITEMASK_HISTORIZING 512 +#define UA_ATTRIBUTEWRITEMASK_INVERSENAME 1024 +#define UA_ATTRIBUTEWRITEMASK_ISABSTRACT 2048 +#define UA_ATTRIBUTEWRITEMASK_MINIMUMSAMPLINGINTERVAL 4096 +#define UA_ATTRIBUTEWRITEMASK_NODECLASS 8192 +#define UA_ATTRIBUTEWRITEMASK_NODEID 16384 +#define UA_ATTRIBUTEWRITEMASK_SYMMETRIC 32768 +#define UA_ATTRIBUTEWRITEMASK_USERACCESSLEVEL 65536 +#define UA_ATTRIBUTEWRITEMASK_USEREXECUTABLE 131072 +#define UA_ATTRIBUTEWRITEMASK_USERWRITEMASK 262144 +#define UA_ATTRIBUTEWRITEMASK_VALUERANK 524288 +#define UA_ATTRIBUTEWRITEMASK_WRITEMASK 1048576 +#define UA_ATTRIBUTEWRITEMASK_VALUEFORVARIABLETYPE 2097152 +#define UA_ATTRIBUTEWRITEMASK_DATATYPEDEFINITION 4194304 +#define UA_ATTRIBUTEWRITEMASK_ROLEPERMISSIONS 8388608 +#define UA_ATTRIBUTEWRITEMASK_ACCESSRESTRICTIONS 16777216 +#define UA_ATTRIBUTEWRITEMASK_ACCESSLEVELEX 33554432 + +#define UA_TYPES_ATTRIBUTEWRITEMASK 216 + +/* BrowseDirection */ +typedef enum { + UA_BROWSEDIRECTION_FORWARD = 0, + UA_BROWSEDIRECTION_INVERSE = 1, + UA_BROWSEDIRECTION_BOTH = 2, + UA_BROWSEDIRECTION_INVALID = 3, + __UA_BROWSEDIRECTION_FORCE32BIT = 0x7fffffff +} UA_BrowseDirection; + +UA_STATIC_ASSERT(sizeof(UA_BrowseDirection) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_BROWSEDIRECTION 217 + +/* ViewDescription */ +typedef struct { + UA_NodeId viewId; + UA_DateTime timestamp; + UA_UInt32 viewVersion; +} UA_ViewDescription; + +#define UA_TYPES_VIEWDESCRIPTION 218 + +/* BrowseDescription */ +typedef struct { + UA_NodeId nodeId; + UA_BrowseDirection browseDirection; + UA_NodeId referenceTypeId; + UA_Boolean includeSubtypes; + UA_UInt32 nodeClassMask; + UA_UInt32 resultMask; +} UA_BrowseDescription; + +#define UA_TYPES_BROWSEDESCRIPTION 219 + +/* BrowseResultMask */ +typedef enum { + UA_BROWSERESULTMASK_NONE = 0, + UA_BROWSERESULTMASK_REFERENCETYPEID = 1, + UA_BROWSERESULTMASK_ISFORWARD = 2, + UA_BROWSERESULTMASK_NODECLASS = 4, + UA_BROWSERESULTMASK_BROWSENAME = 8, + UA_BROWSERESULTMASK_DISPLAYNAME = 16, + UA_BROWSERESULTMASK_TYPEDEFINITION = 32, + UA_BROWSERESULTMASK_ALL = 63, + UA_BROWSERESULTMASK_REFERENCETYPEINFO = 3, + UA_BROWSERESULTMASK_TARGETINFO = 60, + __UA_BROWSERESULTMASK_FORCE32BIT = 0x7fffffff +} UA_BrowseResultMask; + +UA_STATIC_ASSERT(sizeof(UA_BrowseResultMask) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_BROWSERESULTMASK 220 + +/* ReferenceDescription */ +typedef struct { + UA_NodeId referenceTypeId; + UA_Boolean isForward; + UA_ExpandedNodeId nodeId; + UA_QualifiedName browseName; + UA_LocalizedText displayName; + UA_NodeClass nodeClass; + UA_ExpandedNodeId typeDefinition; +} UA_ReferenceDescription; + +#define UA_TYPES_REFERENCEDESCRIPTION 221 + +/* ContinuationPoint */ +typedef UA_ByteString UA_ContinuationPoint; + +#define UA_TYPES_CONTINUATIONPOINT 222 + +/* BrowseResult */ +typedef struct { + UA_StatusCode statusCode; + UA_ByteString continuationPoint; + size_t referencesSize; + UA_ReferenceDescription *references; +} UA_BrowseResult; + +#define UA_TYPES_BROWSERESULT 223 + +/* BrowseRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_ViewDescription view; + UA_UInt32 requestedMaxReferencesPerNode; + size_t nodesToBrowseSize; + UA_BrowseDescription *nodesToBrowse; +} UA_BrowseRequest; + +#define UA_TYPES_BROWSEREQUEST 224 + +/* BrowseResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_BrowseResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_BrowseResponse; + +#define UA_TYPES_BROWSERESPONSE 225 + +/* BrowseNextRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_Boolean releaseContinuationPoints; + size_t continuationPointsSize; + UA_ByteString *continuationPoints; +} UA_BrowseNextRequest; + +#define UA_TYPES_BROWSENEXTREQUEST 226 + +/* BrowseNextResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_BrowseResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_BrowseNextResponse; + +#define UA_TYPES_BROWSENEXTRESPONSE 227 + +/* RelativePathElement */ +typedef struct { + UA_NodeId referenceTypeId; + UA_Boolean isInverse; + UA_Boolean includeSubtypes; + UA_QualifiedName targetName; +} UA_RelativePathElement; + +#define UA_TYPES_RELATIVEPATHELEMENT 228 + +/* RelativePath */ +typedef struct { + size_t elementsSize; + UA_RelativePathElement *elements; +} UA_RelativePath; + +#define UA_TYPES_RELATIVEPATH 229 + +/* BrowsePath */ +typedef struct { + UA_NodeId startingNode; + UA_RelativePath relativePath; +} UA_BrowsePath; + +#define UA_TYPES_BROWSEPATH 230 + +/* BrowsePathTarget */ +typedef struct { + UA_ExpandedNodeId targetId; + UA_UInt32 remainingPathIndex; +} UA_BrowsePathTarget; + +#define UA_TYPES_BROWSEPATHTARGET 231 + +/* BrowsePathResult */ +typedef struct { + UA_StatusCode statusCode; + size_t targetsSize; + UA_BrowsePathTarget *targets; +} UA_BrowsePathResult; + +#define UA_TYPES_BROWSEPATHRESULT 232 + +/* TranslateBrowsePathsToNodeIdsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t browsePathsSize; + UA_BrowsePath *browsePaths; +} UA_TranslateBrowsePathsToNodeIdsRequest; + +#define UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST 233 + +/* TranslateBrowsePathsToNodeIdsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_BrowsePathResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_TranslateBrowsePathsToNodeIdsResponse; + +#define UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE 234 + +/* RegisterNodesRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t nodesToRegisterSize; + UA_NodeId *nodesToRegister; +} UA_RegisterNodesRequest; + +#define UA_TYPES_REGISTERNODESREQUEST 235 + +/* RegisterNodesResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t registeredNodeIdsSize; + UA_NodeId *registeredNodeIds; +} UA_RegisterNodesResponse; + +#define UA_TYPES_REGISTERNODESRESPONSE 236 + +/* UnregisterNodesRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t nodesToUnregisterSize; + UA_NodeId *nodesToUnregister; +} UA_UnregisterNodesRequest; + +#define UA_TYPES_UNREGISTERNODESREQUEST 237 + +/* UnregisterNodesResponse */ +typedef struct { + UA_ResponseHeader responseHeader; +} UA_UnregisterNodesResponse; + +#define UA_TYPES_UNREGISTERNODESRESPONSE 238 + +/* Counter */ +typedef UA_UInt32 UA_Counter; + +#define UA_TYPES_COUNTER 239 + +/* OpaqueNumericRange */ +typedef UA_String UA_OpaqueNumericRange; + +#define UA_TYPES_OPAQUENUMERICRANGE 240 + +/* EndpointConfiguration */ +typedef struct { + UA_Int32 operationTimeout; + UA_Boolean useBinaryEncoding; + UA_Int32 maxStringLength; + UA_Int32 maxByteStringLength; + UA_Int32 maxArrayLength; + UA_Int32 maxMessageSize; + UA_Int32 maxBufferSize; + UA_Int32 channelLifetime; + UA_Int32 securityTokenLifetime; +} UA_EndpointConfiguration; + +#define UA_TYPES_ENDPOINTCONFIGURATION 241 + +/* QueryDataDescription */ +typedef struct { + UA_RelativePath relativePath; + UA_UInt32 attributeId; + UA_String indexRange; +} UA_QueryDataDescription; + +#define UA_TYPES_QUERYDATADESCRIPTION 242 + +/* NodeTypeDescription */ +typedef struct { + UA_ExpandedNodeId typeDefinitionNode; + UA_Boolean includeSubTypes; + size_t dataToReturnSize; + UA_QueryDataDescription *dataToReturn; +} UA_NodeTypeDescription; + +#define UA_TYPES_NODETYPEDESCRIPTION 243 + +/* FilterOperator */ +typedef enum { + UA_FILTEROPERATOR_EQUALS = 0, + UA_FILTEROPERATOR_ISNULL = 1, + UA_FILTEROPERATOR_GREATERTHAN = 2, + UA_FILTEROPERATOR_LESSTHAN = 3, + UA_FILTEROPERATOR_GREATERTHANOREQUAL = 4, + UA_FILTEROPERATOR_LESSTHANOREQUAL = 5, + UA_FILTEROPERATOR_LIKE = 6, + UA_FILTEROPERATOR_NOT = 7, + UA_FILTEROPERATOR_BETWEEN = 8, + UA_FILTEROPERATOR_INLIST = 9, + UA_FILTEROPERATOR_AND = 10, + UA_FILTEROPERATOR_OR = 11, + UA_FILTEROPERATOR_CAST = 12, + UA_FILTEROPERATOR_INVIEW = 13, + UA_FILTEROPERATOR_OFTYPE = 14, + UA_FILTEROPERATOR_RELATEDTO = 15, + UA_FILTEROPERATOR_BITWISEAND = 16, + UA_FILTEROPERATOR_BITWISEOR = 17, + __UA_FILTEROPERATOR_FORCE32BIT = 0x7fffffff +} UA_FilterOperator; + +UA_STATIC_ASSERT(sizeof(UA_FilterOperator) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_FILTEROPERATOR 244 + +/* QueryDataSet */ +typedef struct { + UA_ExpandedNodeId nodeId; + UA_ExpandedNodeId typeDefinitionNode; + size_t valuesSize; + UA_Variant *values; +} UA_QueryDataSet; + +#define UA_TYPES_QUERYDATASET 245 + +/* NodeReference */ +typedef struct { + UA_NodeId nodeId; + UA_NodeId referenceTypeId; + UA_Boolean isForward; + size_t referencedNodeIdsSize; + UA_NodeId *referencedNodeIds; +} UA_NodeReference; + +#define UA_TYPES_NODEREFERENCE 246 + +/* ContentFilterElement */ +typedef struct { + UA_FilterOperator filterOperator; + size_t filterOperandsSize; + UA_ExtensionObject *filterOperands; +} UA_ContentFilterElement; + +#define UA_TYPES_CONTENTFILTERELEMENT 247 + +/* ContentFilter */ +typedef struct { + size_t elementsSize; + UA_ContentFilterElement *elements; +} UA_ContentFilter; + +#define UA_TYPES_CONTENTFILTER 248 + +/* ElementOperand */ +typedef struct { + UA_UInt32 index; +} UA_ElementOperand; + +#define UA_TYPES_ELEMENTOPERAND 249 + +/* LiteralOperand */ +typedef struct { + UA_Variant value; +} UA_LiteralOperand; + +#define UA_TYPES_LITERALOPERAND 250 + +/* AttributeOperand */ +typedef struct { + UA_NodeId nodeId; + UA_String alias; + UA_RelativePath browsePath; + UA_UInt32 attributeId; + UA_String indexRange; +} UA_AttributeOperand; + +#define UA_TYPES_ATTRIBUTEOPERAND 251 + +/* SimpleAttributeOperand */ +typedef struct { + UA_NodeId typeDefinitionId; + size_t browsePathSize; + UA_QualifiedName *browsePath; + UA_UInt32 attributeId; + UA_String indexRange; +} UA_SimpleAttributeOperand; + +#define UA_TYPES_SIMPLEATTRIBUTEOPERAND 252 + +/* ContentFilterElementResult */ +typedef struct { + UA_StatusCode statusCode; + size_t operandStatusCodesSize; + UA_StatusCode *operandStatusCodes; + size_t operandDiagnosticInfosSize; + UA_DiagnosticInfo *operandDiagnosticInfos; +} UA_ContentFilterElementResult; + +#define UA_TYPES_CONTENTFILTERELEMENTRESULT 253 + +/* ContentFilterResult */ +typedef struct { + size_t elementResultsSize; + UA_ContentFilterElementResult *elementResults; + size_t elementDiagnosticInfosSize; + UA_DiagnosticInfo *elementDiagnosticInfos; +} UA_ContentFilterResult; + +#define UA_TYPES_CONTENTFILTERRESULT 254 + +/* ParsingResult */ +typedef struct { + UA_StatusCode statusCode; + size_t dataStatusCodesSize; + UA_StatusCode *dataStatusCodes; + size_t dataDiagnosticInfosSize; + UA_DiagnosticInfo *dataDiagnosticInfos; +} UA_ParsingResult; + +#define UA_TYPES_PARSINGRESULT 255 + +/* QueryFirstRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_ViewDescription view; + size_t nodeTypesSize; + UA_NodeTypeDescription *nodeTypes; + UA_ContentFilter filter; + UA_UInt32 maxDataSetsToReturn; + UA_UInt32 maxReferencesToReturn; +} UA_QueryFirstRequest; + +#define UA_TYPES_QUERYFIRSTREQUEST 256 + +/* QueryFirstResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t queryDataSetsSize; + UA_QueryDataSet *queryDataSets; + UA_ByteString continuationPoint; + size_t parsingResultsSize; + UA_ParsingResult *parsingResults; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; + UA_ContentFilterResult filterResult; +} UA_QueryFirstResponse; + +#define UA_TYPES_QUERYFIRSTRESPONSE 257 + +/* QueryNextRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_Boolean releaseContinuationPoint; + UA_ByteString continuationPoint; +} UA_QueryNextRequest; + +#define UA_TYPES_QUERYNEXTREQUEST 258 + +/* QueryNextResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t queryDataSetsSize; + UA_QueryDataSet *queryDataSets; + UA_ByteString revisedContinuationPoint; +} UA_QueryNextResponse; + +#define UA_TYPES_QUERYNEXTRESPONSE 259 + +/* TimestampsToReturn */ +typedef enum { + UA_TIMESTAMPSTORETURN_SOURCE = 0, + UA_TIMESTAMPSTORETURN_SERVER = 1, + UA_TIMESTAMPSTORETURN_BOTH = 2, + UA_TIMESTAMPSTORETURN_NEITHER = 3, + UA_TIMESTAMPSTORETURN_INVALID = 4, + __UA_TIMESTAMPSTORETURN_FORCE32BIT = 0x7fffffff +} UA_TimestampsToReturn; + +UA_STATIC_ASSERT(sizeof(UA_TimestampsToReturn) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_TIMESTAMPSTORETURN 260 + +/* ReadValueId */ +typedef struct { + UA_NodeId nodeId; + UA_UInt32 attributeId; + UA_String indexRange; + UA_QualifiedName dataEncoding; +} UA_ReadValueId; + +#define UA_TYPES_READVALUEID 261 + +/* ReadRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_Double maxAge; + UA_TimestampsToReturn timestampsToReturn; + size_t nodesToReadSize; + UA_ReadValueId *nodesToRead; +} UA_ReadRequest; + +#define UA_TYPES_READREQUEST 262 + +/* ReadResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_DataValue *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_ReadResponse; + +#define UA_TYPES_READRESPONSE 263 + +/* HistoryReadValueId */ +typedef struct { + UA_NodeId nodeId; + UA_String indexRange; + UA_QualifiedName dataEncoding; + UA_ByteString continuationPoint; +} UA_HistoryReadValueId; + +#define UA_TYPES_HISTORYREADVALUEID 264 + +/* HistoryReadResult */ +typedef struct { + UA_StatusCode statusCode; + UA_ByteString continuationPoint; + UA_ExtensionObject historyData; +} UA_HistoryReadResult; + +#define UA_TYPES_HISTORYREADRESULT 265 + +/* ReadRawModifiedDetails */ +typedef struct { + UA_Boolean isReadModified; + UA_DateTime startTime; + UA_DateTime endTime; + UA_UInt32 numValuesPerNode; + UA_Boolean returnBounds; +} UA_ReadRawModifiedDetails; + +#define UA_TYPES_READRAWMODIFIEDDETAILS 266 + +/* ReadAtTimeDetails */ +typedef struct { + size_t reqTimesSize; + UA_DateTime *reqTimes; + UA_Boolean useSimpleBounds; +} UA_ReadAtTimeDetails; + +#define UA_TYPES_READATTIMEDETAILS 267 + +/* ReadAnnotationDataDetails */ +typedef struct { + size_t reqTimesSize; + UA_DateTime *reqTimes; +} UA_ReadAnnotationDataDetails; + +#define UA_TYPES_READANNOTATIONDATADETAILS 268 + +/* HistoryData */ +typedef struct { + size_t dataValuesSize; + UA_DataValue *dataValues; +} UA_HistoryData; + +#define UA_TYPES_HISTORYDATA 269 + +/* HistoryReadRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_ExtensionObject historyReadDetails; + UA_TimestampsToReturn timestampsToReturn; + UA_Boolean releaseContinuationPoints; + size_t nodesToReadSize; + UA_HistoryReadValueId *nodesToRead; +} UA_HistoryReadRequest; + +#define UA_TYPES_HISTORYREADREQUEST 270 + +/* HistoryReadResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_HistoryReadResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_HistoryReadResponse; + +#define UA_TYPES_HISTORYREADRESPONSE 271 + +/* WriteValue */ +typedef struct { + UA_NodeId nodeId; + UA_UInt32 attributeId; + UA_String indexRange; + UA_DataValue value; +} UA_WriteValue; + +#define UA_TYPES_WRITEVALUE 272 + +/* WriteRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t nodesToWriteSize; + UA_WriteValue *nodesToWrite; +} UA_WriteRequest; + +#define UA_TYPES_WRITEREQUEST 273 + +/* WriteResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_WriteResponse; + +#define UA_TYPES_WRITERESPONSE 274 + +/* HistoryUpdateDetails */ +typedef struct { + UA_NodeId nodeId; +} UA_HistoryUpdateDetails; + +#define UA_TYPES_HISTORYUPDATEDETAILS 275 + +/* HistoryUpdateType */ +typedef enum { + UA_HISTORYUPDATETYPE_INSERT = 1, + UA_HISTORYUPDATETYPE_REPLACE = 2, + UA_HISTORYUPDATETYPE_UPDATE = 3, + UA_HISTORYUPDATETYPE_DELETE = 4, + __UA_HISTORYUPDATETYPE_FORCE32BIT = 0x7fffffff +} UA_HistoryUpdateType; + +UA_STATIC_ASSERT(sizeof(UA_HistoryUpdateType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_HISTORYUPDATETYPE 276 + +/* PerformUpdateType */ +typedef enum { + UA_PERFORMUPDATETYPE_INSERT = 1, + UA_PERFORMUPDATETYPE_REPLACE = 2, + UA_PERFORMUPDATETYPE_UPDATE = 3, + UA_PERFORMUPDATETYPE_REMOVE = 4, + __UA_PERFORMUPDATETYPE_FORCE32BIT = 0x7fffffff +} UA_PerformUpdateType; + +UA_STATIC_ASSERT(sizeof(UA_PerformUpdateType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_PERFORMUPDATETYPE 277 + +/* UpdateDataDetails */ +typedef struct { + UA_NodeId nodeId; + UA_PerformUpdateType performInsertReplace; + size_t updateValuesSize; + UA_DataValue *updateValues; +} UA_UpdateDataDetails; + +#define UA_TYPES_UPDATEDATADETAILS 278 + +/* UpdateStructureDataDetails */ +typedef struct { + UA_NodeId nodeId; + UA_PerformUpdateType performInsertReplace; + size_t updateValuesSize; + UA_DataValue *updateValues; +} UA_UpdateStructureDataDetails; + +#define UA_TYPES_UPDATESTRUCTUREDATADETAILS 279 + +/* DeleteRawModifiedDetails */ +typedef struct { + UA_NodeId nodeId; + UA_Boolean isDeleteModified; + UA_DateTime startTime; + UA_DateTime endTime; +} UA_DeleteRawModifiedDetails; + +#define UA_TYPES_DELETERAWMODIFIEDDETAILS 280 + +/* DeleteAtTimeDetails */ +typedef struct { + UA_NodeId nodeId; + size_t reqTimesSize; + UA_DateTime *reqTimes; +} UA_DeleteAtTimeDetails; + +#define UA_TYPES_DELETEATTIMEDETAILS 281 + +/* DeleteEventDetails */ +typedef struct { + UA_NodeId nodeId; + size_t eventIdsSize; + UA_ByteString *eventIds; +} UA_DeleteEventDetails; + +#define UA_TYPES_DELETEEVENTDETAILS 282 + +/* HistoryUpdateResult */ +typedef struct { + UA_StatusCode statusCode; + size_t operationResultsSize; + UA_StatusCode *operationResults; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_HistoryUpdateResult; + +#define UA_TYPES_HISTORYUPDATERESULT 283 + +/* HistoryUpdateRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t historyUpdateDetailsSize; + UA_ExtensionObject *historyUpdateDetails; +} UA_HistoryUpdateRequest; + +#define UA_TYPES_HISTORYUPDATEREQUEST 284 + +/* HistoryUpdateResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_HistoryUpdateResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_HistoryUpdateResponse; + +#define UA_TYPES_HISTORYUPDATERESPONSE 285 + +/* CallMethodRequest */ +typedef struct { + UA_NodeId objectId; + UA_NodeId methodId; + size_t inputArgumentsSize; + UA_Variant *inputArguments; +} UA_CallMethodRequest; + +#define UA_TYPES_CALLMETHODREQUEST 286 + +/* CallMethodResult */ +typedef struct { + UA_StatusCode statusCode; + size_t inputArgumentResultsSize; + UA_StatusCode *inputArgumentResults; + size_t inputArgumentDiagnosticInfosSize; + UA_DiagnosticInfo *inputArgumentDiagnosticInfos; + size_t outputArgumentsSize; + UA_Variant *outputArguments; +} UA_CallMethodResult; + +#define UA_TYPES_CALLMETHODRESULT 287 + +/* CallRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t methodsToCallSize; + UA_CallMethodRequest *methodsToCall; +} UA_CallRequest; + +#define UA_TYPES_CALLREQUEST 288 + +/* CallResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_CallMethodResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_CallResponse; + +#define UA_TYPES_CALLRESPONSE 289 + +/* MonitoringMode */ +typedef enum { + UA_MONITORINGMODE_DISABLED = 0, + UA_MONITORINGMODE_SAMPLING = 1, + UA_MONITORINGMODE_REPORTING = 2, + __UA_MONITORINGMODE_FORCE32BIT = 0x7fffffff +} UA_MonitoringMode; + +UA_STATIC_ASSERT(sizeof(UA_MonitoringMode) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_MONITORINGMODE 290 + +/* DataChangeTrigger */ +typedef enum { + UA_DATACHANGETRIGGER_STATUS = 0, + UA_DATACHANGETRIGGER_STATUSVALUE = 1, + UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP = 2, + __UA_DATACHANGETRIGGER_FORCE32BIT = 0x7fffffff +} UA_DataChangeTrigger; + +UA_STATIC_ASSERT(sizeof(UA_DataChangeTrigger) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_DATACHANGETRIGGER 291 + +/* DeadbandType */ +typedef enum { + UA_DEADBANDTYPE_NONE = 0, + UA_DEADBANDTYPE_ABSOLUTE = 1, + UA_DEADBANDTYPE_PERCENT = 2, + __UA_DEADBANDTYPE_FORCE32BIT = 0x7fffffff +} UA_DeadbandType; + +UA_STATIC_ASSERT(sizeof(UA_DeadbandType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_DEADBANDTYPE 292 + +/* DataChangeFilter */ +typedef struct { + UA_DataChangeTrigger trigger; + UA_UInt32 deadbandType; + UA_Double deadbandValue; +} UA_DataChangeFilter; + +#define UA_TYPES_DATACHANGEFILTER 293 + +/* EventFilter */ +typedef struct { + size_t selectClausesSize; + UA_SimpleAttributeOperand *selectClauses; + UA_ContentFilter whereClause; +} UA_EventFilter; + +#define UA_TYPES_EVENTFILTER 294 + +/* AggregateConfiguration */ +typedef struct { + UA_Boolean useServerCapabilitiesDefaults; + UA_Boolean treatUncertainAsBad; + UA_Byte percentDataBad; + UA_Byte percentDataGood; + UA_Boolean useSlopedExtrapolation; +} UA_AggregateConfiguration; + +#define UA_TYPES_AGGREGATECONFIGURATION 295 + +/* AggregateFilter */ +typedef struct { + UA_DateTime startTime; + UA_NodeId aggregateType; + UA_Double processingInterval; + UA_AggregateConfiguration aggregateConfiguration; +} UA_AggregateFilter; + +#define UA_TYPES_AGGREGATEFILTER 296 + +/* EventFilterResult */ +typedef struct { + size_t selectClauseResultsSize; + UA_StatusCode *selectClauseResults; + size_t selectClauseDiagnosticInfosSize; + UA_DiagnosticInfo *selectClauseDiagnosticInfos; + UA_ContentFilterResult whereClauseResult; +} UA_EventFilterResult; + +#define UA_TYPES_EVENTFILTERRESULT 297 + +/* AggregateFilterResult */ +typedef struct { + UA_DateTime revisedStartTime; + UA_Double revisedProcessingInterval; + UA_AggregateConfiguration revisedAggregateConfiguration; +} UA_AggregateFilterResult; + +#define UA_TYPES_AGGREGATEFILTERRESULT 298 + +/* MonitoringParameters */ +typedef struct { + UA_UInt32 clientHandle; + UA_Double samplingInterval; + UA_ExtensionObject filter; + UA_UInt32 queueSize; + UA_Boolean discardOldest; +} UA_MonitoringParameters; + +#define UA_TYPES_MONITORINGPARAMETERS 299 + +/* MonitoredItemCreateRequest */ +typedef struct { + UA_ReadValueId itemToMonitor; + UA_MonitoringMode monitoringMode; + UA_MonitoringParameters requestedParameters; +} UA_MonitoredItemCreateRequest; + +#define UA_TYPES_MONITOREDITEMCREATEREQUEST 300 + +/* MonitoredItemCreateResult */ +typedef struct { + UA_StatusCode statusCode; + UA_UInt32 monitoredItemId; + UA_Double revisedSamplingInterval; + UA_UInt32 revisedQueueSize; + UA_ExtensionObject filterResult; +} UA_MonitoredItemCreateResult; + +#define UA_TYPES_MONITOREDITEMCREATERESULT 301 + +/* CreateMonitoredItemsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + UA_TimestampsToReturn timestampsToReturn; + size_t itemsToCreateSize; + UA_MonitoredItemCreateRequest *itemsToCreate; +} UA_CreateMonitoredItemsRequest; + +#define UA_TYPES_CREATEMONITOREDITEMSREQUEST 302 + +/* CreateMonitoredItemsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_MonitoredItemCreateResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_CreateMonitoredItemsResponse; + +#define UA_TYPES_CREATEMONITOREDITEMSRESPONSE 303 + +/* MonitoredItemModifyRequest */ +typedef struct { + UA_UInt32 monitoredItemId; + UA_MonitoringParameters requestedParameters; +} UA_MonitoredItemModifyRequest; + +#define UA_TYPES_MONITOREDITEMMODIFYREQUEST 304 + +/* MonitoredItemModifyResult */ +typedef struct { + UA_StatusCode statusCode; + UA_Double revisedSamplingInterval; + UA_UInt32 revisedQueueSize; + UA_ExtensionObject filterResult; +} UA_MonitoredItemModifyResult; + +#define UA_TYPES_MONITOREDITEMMODIFYRESULT 305 + +/* ModifyMonitoredItemsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + UA_TimestampsToReturn timestampsToReturn; + size_t itemsToModifySize; + UA_MonitoredItemModifyRequest *itemsToModify; +} UA_ModifyMonitoredItemsRequest; + +#define UA_TYPES_MODIFYMONITOREDITEMSREQUEST 306 + +/* ModifyMonitoredItemsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_MonitoredItemModifyResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_ModifyMonitoredItemsResponse; + +#define UA_TYPES_MODIFYMONITOREDITEMSRESPONSE 307 + +/* SetMonitoringModeRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + UA_MonitoringMode monitoringMode; + size_t monitoredItemIdsSize; + UA_UInt32 *monitoredItemIds; +} UA_SetMonitoringModeRequest; + +#define UA_TYPES_SETMONITORINGMODEREQUEST 308 + +/* SetMonitoringModeResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_SetMonitoringModeResponse; + +#define UA_TYPES_SETMONITORINGMODERESPONSE 309 + +/* SetTriggeringRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + UA_UInt32 triggeringItemId; + size_t linksToAddSize; + UA_UInt32 *linksToAdd; + size_t linksToRemoveSize; + UA_UInt32 *linksToRemove; +} UA_SetTriggeringRequest; + +#define UA_TYPES_SETTRIGGERINGREQUEST 310 + +/* SetTriggeringResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t addResultsSize; + UA_StatusCode *addResults; + size_t addDiagnosticInfosSize; + UA_DiagnosticInfo *addDiagnosticInfos; + size_t removeResultsSize; + UA_StatusCode *removeResults; + size_t removeDiagnosticInfosSize; + UA_DiagnosticInfo *removeDiagnosticInfos; +} UA_SetTriggeringResponse; + +#define UA_TYPES_SETTRIGGERINGRESPONSE 311 + +/* DeleteMonitoredItemsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + size_t monitoredItemIdsSize; + UA_UInt32 *monitoredItemIds; +} UA_DeleteMonitoredItemsRequest; + +#define UA_TYPES_DELETEMONITOREDITEMSREQUEST 312 + +/* DeleteMonitoredItemsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_DeleteMonitoredItemsResponse; + +#define UA_TYPES_DELETEMONITOREDITEMSRESPONSE 313 + +/* CreateSubscriptionRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_Double requestedPublishingInterval; + UA_UInt32 requestedLifetimeCount; + UA_UInt32 requestedMaxKeepAliveCount; + UA_UInt32 maxNotificationsPerPublish; + UA_Boolean publishingEnabled; + UA_Byte priority; +} UA_CreateSubscriptionRequest; + +#define UA_TYPES_CREATESUBSCRIPTIONREQUEST 314 + +/* CreateSubscriptionResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_UInt32 subscriptionId; + UA_Double revisedPublishingInterval; + UA_UInt32 revisedLifetimeCount; + UA_UInt32 revisedMaxKeepAliveCount; +} UA_CreateSubscriptionResponse; + +#define UA_TYPES_CREATESUBSCRIPTIONRESPONSE 315 + +/* ModifySubscriptionRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + UA_Double requestedPublishingInterval; + UA_UInt32 requestedLifetimeCount; + UA_UInt32 requestedMaxKeepAliveCount; + UA_UInt32 maxNotificationsPerPublish; + UA_Byte priority; +} UA_ModifySubscriptionRequest; + +#define UA_TYPES_MODIFYSUBSCRIPTIONREQUEST 316 + +/* ModifySubscriptionResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_Double revisedPublishingInterval; + UA_UInt32 revisedLifetimeCount; + UA_UInt32 revisedMaxKeepAliveCount; +} UA_ModifySubscriptionResponse; + +#define UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE 317 + +/* SetPublishingModeRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_Boolean publishingEnabled; + size_t subscriptionIdsSize; + UA_UInt32 *subscriptionIds; +} UA_SetPublishingModeRequest; + +#define UA_TYPES_SETPUBLISHINGMODEREQUEST 318 + +/* SetPublishingModeResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_SetPublishingModeResponse; + +#define UA_TYPES_SETPUBLISHINGMODERESPONSE 319 + +/* NotificationMessage */ +typedef struct { + UA_UInt32 sequenceNumber; + UA_DateTime publishTime; + size_t notificationDataSize; + UA_ExtensionObject *notificationData; +} UA_NotificationMessage; + +#define UA_TYPES_NOTIFICATIONMESSAGE 320 + +/* MonitoredItemNotification */ +typedef struct { + UA_UInt32 clientHandle; + UA_DataValue value; +} UA_MonitoredItemNotification; + +#define UA_TYPES_MONITOREDITEMNOTIFICATION 321 + +/* EventFieldList */ +typedef struct { + UA_UInt32 clientHandle; + size_t eventFieldsSize; + UA_Variant *eventFields; +} UA_EventFieldList; + +#define UA_TYPES_EVENTFIELDLIST 322 + +/* HistoryEventFieldList */ +typedef struct { + size_t eventFieldsSize; + UA_Variant *eventFields; +} UA_HistoryEventFieldList; + +#define UA_TYPES_HISTORYEVENTFIELDLIST 323 + +/* StatusChangeNotification */ +typedef struct { + UA_StatusCode status; + UA_DiagnosticInfo diagnosticInfo; +} UA_StatusChangeNotification; + +#define UA_TYPES_STATUSCHANGENOTIFICATION 324 + +/* SubscriptionAcknowledgement */ +typedef struct { + UA_UInt32 subscriptionId; + UA_UInt32 sequenceNumber; +} UA_SubscriptionAcknowledgement; + +#define UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT 325 + +/* PublishRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t subscriptionAcknowledgementsSize; + UA_SubscriptionAcknowledgement *subscriptionAcknowledgements; +} UA_PublishRequest; + +#define UA_TYPES_PUBLISHREQUEST 326 + +/* PublishResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_UInt32 subscriptionId; + size_t availableSequenceNumbersSize; + UA_UInt32 *availableSequenceNumbers; + UA_Boolean moreNotifications; + UA_NotificationMessage notificationMessage; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_PublishResponse; + +#define UA_TYPES_PUBLISHRESPONSE 327 + +/* RepublishRequest */ +typedef struct { + UA_RequestHeader requestHeader; + UA_UInt32 subscriptionId; + UA_UInt32 retransmitSequenceNumber; +} UA_RepublishRequest; + +#define UA_TYPES_REPUBLISHREQUEST 328 + +/* RepublishResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + UA_NotificationMessage notificationMessage; +} UA_RepublishResponse; + +#define UA_TYPES_REPUBLISHRESPONSE 329 + +/* TransferResult */ +typedef struct { + UA_StatusCode statusCode; + size_t availableSequenceNumbersSize; + UA_UInt32 *availableSequenceNumbers; +} UA_TransferResult; + +#define UA_TYPES_TRANSFERRESULT 330 + +/* TransferSubscriptionsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t subscriptionIdsSize; + UA_UInt32 *subscriptionIds; + UA_Boolean sendInitialValues; +} UA_TransferSubscriptionsRequest; + +#define UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST 331 + +/* TransferSubscriptionsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_TransferResult *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_TransferSubscriptionsResponse; + +#define UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE 332 + +/* DeleteSubscriptionsRequest */ +typedef struct { + UA_RequestHeader requestHeader; + size_t subscriptionIdsSize; + UA_UInt32 *subscriptionIds; +} UA_DeleteSubscriptionsRequest; + +#define UA_TYPES_DELETESUBSCRIPTIONSREQUEST 333 + +/* DeleteSubscriptionsResponse */ +typedef struct { + UA_ResponseHeader responseHeader; + size_t resultsSize; + UA_StatusCode *results; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_DeleteSubscriptionsResponse; + +#define UA_TYPES_DELETESUBSCRIPTIONSRESPONSE 334 + +/* BuildInfo */ +typedef struct { + UA_String productUri; + UA_String manufacturerName; + UA_String productName; + UA_String softwareVersion; + UA_String buildNumber; + UA_DateTime buildDate; +} UA_BuildInfo; + +#define UA_TYPES_BUILDINFO 335 + +/* RedundancySupport */ +typedef enum { + UA_REDUNDANCYSUPPORT_NONE = 0, + UA_REDUNDANCYSUPPORT_COLD = 1, + UA_REDUNDANCYSUPPORT_WARM = 2, + UA_REDUNDANCYSUPPORT_HOT = 3, + UA_REDUNDANCYSUPPORT_TRANSPARENT = 4, + UA_REDUNDANCYSUPPORT_HOTANDMIRRORED = 5, + __UA_REDUNDANCYSUPPORT_FORCE32BIT = 0x7fffffff +} UA_RedundancySupport; + +UA_STATIC_ASSERT(sizeof(UA_RedundancySupport) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_REDUNDANCYSUPPORT 336 + +/* ServerState */ +typedef enum { + UA_SERVERSTATE_RUNNING = 0, + UA_SERVERSTATE_FAILED = 1, + UA_SERVERSTATE_NOCONFIGURATION = 2, + UA_SERVERSTATE_SUSPENDED = 3, + UA_SERVERSTATE_SHUTDOWN = 4, + UA_SERVERSTATE_TEST = 5, + UA_SERVERSTATE_COMMUNICATIONFAULT = 6, + UA_SERVERSTATE_UNKNOWN = 7, + __UA_SERVERSTATE_FORCE32BIT = 0x7fffffff +} UA_ServerState; + +UA_STATIC_ASSERT(sizeof(UA_ServerState) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_SERVERSTATE 337 + +/* RedundantServerDataType */ +typedef struct { + UA_String serverId; + UA_Byte serviceLevel; + UA_ServerState serverState; +} UA_RedundantServerDataType; + +#define UA_TYPES_REDUNDANTSERVERDATATYPE 338 + +/* EndpointUrlListDataType */ +typedef struct { + size_t endpointUrlListSize; + UA_String *endpointUrlList; +} UA_EndpointUrlListDataType; + +#define UA_TYPES_ENDPOINTURLLISTDATATYPE 339 + +/* NetworkGroupDataType */ +typedef struct { + UA_String serverUri; + size_t networkPathsSize; + UA_EndpointUrlListDataType *networkPaths; +} UA_NetworkGroupDataType; + +#define UA_TYPES_NETWORKGROUPDATATYPE 340 + +/* SamplingIntervalDiagnosticsDataType */ +typedef struct { + UA_Double samplingInterval; + UA_UInt32 monitoredItemCount; + UA_UInt32 maxMonitoredItemCount; + UA_UInt32 disabledMonitoredItemCount; +} UA_SamplingIntervalDiagnosticsDataType; + +#define UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 341 + +/* ServerDiagnosticsSummaryDataType */ +typedef struct { + UA_UInt32 serverViewCount; + UA_UInt32 currentSessionCount; + UA_UInt32 cumulatedSessionCount; + UA_UInt32 securityRejectedSessionCount; + UA_UInt32 rejectedSessionCount; + UA_UInt32 sessionTimeoutCount; + UA_UInt32 sessionAbortCount; + UA_UInt32 currentSubscriptionCount; + UA_UInt32 cumulatedSubscriptionCount; + UA_UInt32 publishingIntervalCount; + UA_UInt32 securityRejectedRequestsCount; + UA_UInt32 rejectedRequestsCount; +} UA_ServerDiagnosticsSummaryDataType; + +#define UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE 342 + +/* ServerStatusDataType */ +typedef struct { + UA_DateTime startTime; + UA_DateTime currentTime; + UA_ServerState state; + UA_BuildInfo buildInfo; + UA_UInt32 secondsTillShutdown; + UA_LocalizedText shutdownReason; +} UA_ServerStatusDataType; + +#define UA_TYPES_SERVERSTATUSDATATYPE 343 + +/* SessionSecurityDiagnosticsDataType */ +typedef struct { + UA_NodeId sessionId; + UA_String clientUserIdOfSession; + size_t clientUserIdHistorySize; + UA_String *clientUserIdHistory; + UA_String authenticationMechanism; + UA_String encoding; + UA_String transportProtocol; + UA_MessageSecurityMode securityMode; + UA_String securityPolicyUri; + UA_ByteString clientCertificate; +} UA_SessionSecurityDiagnosticsDataType; + +#define UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE 344 + +/* ServiceCounterDataType */ +typedef struct { + UA_UInt32 totalCount; + UA_UInt32 errorCount; +} UA_ServiceCounterDataType; + +#define UA_TYPES_SERVICECOUNTERDATATYPE 345 + +/* StatusResult */ +typedef struct { + UA_StatusCode statusCode; + UA_DiagnosticInfo diagnosticInfo; +} UA_StatusResult; + +#define UA_TYPES_STATUSRESULT 346 + +/* SubscriptionDiagnosticsDataType */ +typedef struct { + UA_NodeId sessionId; + UA_UInt32 subscriptionId; + UA_Byte priority; + UA_Double publishingInterval; + UA_UInt32 maxKeepAliveCount; + UA_UInt32 maxLifetimeCount; + UA_UInt32 maxNotificationsPerPublish; + UA_Boolean publishingEnabled; + UA_UInt32 modifyCount; + UA_UInt32 enableCount; + UA_UInt32 disableCount; + UA_UInt32 republishRequestCount; + UA_UInt32 republishMessageRequestCount; + UA_UInt32 republishMessageCount; + UA_UInt32 transferRequestCount; + UA_UInt32 transferredToAltClientCount; + UA_UInt32 transferredToSameClientCount; + UA_UInt32 publishRequestCount; + UA_UInt32 dataChangeNotificationsCount; + UA_UInt32 eventNotificationsCount; + UA_UInt32 notificationsCount; + UA_UInt32 latePublishRequestCount; + UA_UInt32 currentKeepAliveCount; + UA_UInt32 currentLifetimeCount; + UA_UInt32 unacknowledgedMessageCount; + UA_UInt32 discardedMessageCount; + UA_UInt32 monitoredItemCount; + UA_UInt32 disabledMonitoredItemCount; + UA_UInt32 monitoringQueueOverflowCount; + UA_UInt32 nextSequenceNumber; + UA_UInt32 eventQueueOverFlowCount; +} UA_SubscriptionDiagnosticsDataType; + +#define UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE 347 + +/* ModelChangeStructureVerbMask */ +typedef enum { + UA_MODELCHANGESTRUCTUREVERBMASK_NODEADDED = 1, + UA_MODELCHANGESTRUCTUREVERBMASK_NODEDELETED = 2, + UA_MODELCHANGESTRUCTUREVERBMASK_REFERENCEADDED = 4, + UA_MODELCHANGESTRUCTUREVERBMASK_REFERENCEDELETED = 8, + UA_MODELCHANGESTRUCTUREVERBMASK_DATATYPECHANGED = 16, + __UA_MODELCHANGESTRUCTUREVERBMASK_FORCE32BIT = 0x7fffffff +} UA_ModelChangeStructureVerbMask; + +UA_STATIC_ASSERT(sizeof(UA_ModelChangeStructureVerbMask) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_MODELCHANGESTRUCTUREVERBMASK 348 + +/* ModelChangeStructureDataType */ +typedef struct { + UA_NodeId affected; + UA_NodeId affectedType; + UA_Byte verb; +} UA_ModelChangeStructureDataType; + +#define UA_TYPES_MODELCHANGESTRUCTUREDATATYPE 349 + +/* SemanticChangeStructureDataType */ +typedef struct { + UA_NodeId affected; + UA_NodeId affectedType; +} UA_SemanticChangeStructureDataType; + +#define UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE 350 + +/* Range */ +typedef struct { + UA_Double low; + UA_Double high; +} UA_Range; + +#define UA_TYPES_RANGE 351 + +/* EUInformation */ +typedef struct { + UA_String namespaceUri; + UA_Int32 unitId; + UA_LocalizedText displayName; + UA_LocalizedText description; +} UA_EUInformation; + +#define UA_TYPES_EUINFORMATION 352 + +/* AxisScaleEnumeration */ +typedef enum { + UA_AXISSCALEENUMERATION_LINEAR = 0, + UA_AXISSCALEENUMERATION_LOG = 1, + UA_AXISSCALEENUMERATION_LN = 2, + __UA_AXISSCALEENUMERATION_FORCE32BIT = 0x7fffffff +} UA_AxisScaleEnumeration; + +UA_STATIC_ASSERT(sizeof(UA_AxisScaleEnumeration) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_AXISSCALEENUMERATION 353 + +/* ComplexNumberType */ +typedef struct { + UA_Float real; + UA_Float imaginary; +} UA_ComplexNumberType; + +#define UA_TYPES_COMPLEXNUMBERTYPE 354 + +/* DoubleComplexNumberType */ +typedef struct { + UA_Double real; + UA_Double imaginary; +} UA_DoubleComplexNumberType; + +#define UA_TYPES_DOUBLECOMPLEXNUMBERTYPE 355 + +/* AxisInformation */ +typedef struct { + UA_EUInformation engineeringUnits; + UA_Range eURange; + UA_LocalizedText title; + UA_AxisScaleEnumeration axisScaleType; + size_t axisStepsSize; + UA_Double *axisSteps; +} UA_AxisInformation; + +#define UA_TYPES_AXISINFORMATION 356 + +/* XVType */ +typedef struct { + UA_Double x; + UA_Float value; +} UA_XVType; + +#define UA_TYPES_XVTYPE 357 + +/* ProgramDiagnosticDataType */ +typedef struct { + UA_NodeId createSessionId; + UA_String createClientName; + UA_DateTime invocationCreationTime; + UA_DateTime lastTransitionTime; + UA_String lastMethodCall; + UA_NodeId lastMethodSessionId; + size_t lastMethodInputArgumentsSize; + UA_Argument *lastMethodInputArguments; + size_t lastMethodOutputArgumentsSize; + UA_Argument *lastMethodOutputArguments; + UA_DateTime lastMethodCallTime; + UA_StatusResult lastMethodReturnStatus; +} UA_ProgramDiagnosticDataType; + +#define UA_TYPES_PROGRAMDIAGNOSTICDATATYPE 358 + +/* ProgramDiagnostic2DataType */ +typedef struct { + UA_NodeId createSessionId; + UA_String createClientName; + UA_DateTime invocationCreationTime; + UA_DateTime lastTransitionTime; + UA_String lastMethodCall; + UA_NodeId lastMethodSessionId; + size_t lastMethodInputArgumentsSize; + UA_Argument *lastMethodInputArguments; + size_t lastMethodOutputArgumentsSize; + UA_Argument *lastMethodOutputArguments; + size_t lastMethodInputValuesSize; + UA_Variant *lastMethodInputValues; + size_t lastMethodOutputValuesSize; + UA_Variant *lastMethodOutputValues; + UA_DateTime lastMethodCallTime; + UA_StatusCode lastMethodReturnStatus; +} UA_ProgramDiagnostic2DataType; + +#define UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE 359 + +/* Annotation */ +typedef struct { + UA_String message; + UA_String userName; + UA_DateTime annotationTime; +} UA_Annotation; + +#define UA_TYPES_ANNOTATION 360 + +/* ExceptionDeviationFormat */ +typedef enum { + UA_EXCEPTIONDEVIATIONFORMAT_ABSOLUTEVALUE = 0, + UA_EXCEPTIONDEVIATIONFORMAT_PERCENTOFVALUE = 1, + UA_EXCEPTIONDEVIATIONFORMAT_PERCENTOFRANGE = 2, + UA_EXCEPTIONDEVIATIONFORMAT_PERCENTOFEURANGE = 3, + UA_EXCEPTIONDEVIATIONFORMAT_UNKNOWN = 4, + __UA_EXCEPTIONDEVIATIONFORMAT_FORCE32BIT = 0x7fffffff +} UA_ExceptionDeviationFormat; + +UA_STATIC_ASSERT(sizeof(UA_ExceptionDeviationFormat) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TYPES_EXCEPTIONDEVIATIONFORMAT 361 + +/* EndpointType */ +typedef struct { + UA_String endpointUrl; + UA_MessageSecurityMode securityMode; + UA_String securityPolicyUri; + UA_String transportProfileUri; +} UA_EndpointType; + +#define UA_TYPES_ENDPOINTTYPE 362 + +/* StructureDescription */ +typedef struct { + UA_NodeId dataTypeId; + UA_QualifiedName name; + UA_StructureDefinition structureDefinition; +} UA_StructureDescription; + +#define UA_TYPES_STRUCTUREDESCRIPTION 363 + +/* FieldMetaData */ +typedef struct { + UA_String name; + UA_LocalizedText description; + UA_DataSetFieldFlags fieldFlags; + UA_Byte builtInType; + UA_NodeId dataType; + UA_Int32 valueRank; + size_t arrayDimensionsSize; + UA_UInt32 *arrayDimensions; + UA_UInt32 maxStringLength; + UA_Guid dataSetFieldId; + size_t propertiesSize; + UA_KeyValuePair *properties; +} UA_FieldMetaData; + +#define UA_TYPES_FIELDMETADATA 364 + +/* PublishedEventsDataType */ +typedef struct { + UA_NodeId eventNotifier; + size_t selectedFieldsSize; + UA_SimpleAttributeOperand *selectedFields; + UA_ContentFilter filter; +} UA_PublishedEventsDataType; + +#define UA_TYPES_PUBLISHEDEVENTSDATATYPE 365 + +/* PubSubGroupDataType */ +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_MessageSecurityMode securityMode; + UA_String securityGroupId; + size_t securityKeyServicesSize; + UA_EndpointDescription *securityKeyServices; + UA_UInt32 maxNetworkMessageSize; + size_t groupPropertiesSize; + UA_KeyValuePair *groupProperties; +} UA_PubSubGroupDataType; + +#define UA_TYPES_PUBSUBGROUPDATATYPE 366 + +/* WriterGroupDataType */ +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_MessageSecurityMode securityMode; + UA_String securityGroupId; + size_t securityKeyServicesSize; + UA_EndpointDescription *securityKeyServices; + UA_UInt32 maxNetworkMessageSize; + size_t groupPropertiesSize; + UA_KeyValuePair *groupProperties; + UA_UInt16 writerGroupId; + UA_Double publishingInterval; + UA_Double keepAliveTime; + UA_Byte priority; + size_t localeIdsSize; + UA_String *localeIds; + UA_String headerLayoutUri; + UA_ExtensionObject transportSettings; + UA_ExtensionObject messageSettings; + size_t dataSetWritersSize; + UA_DataSetWriterDataType *dataSetWriters; +} UA_WriterGroupDataType; + +#define UA_TYPES_WRITERGROUPDATATYPE 367 + +/* FieldTargetDataType */ +typedef struct { + UA_Guid dataSetFieldId; + UA_String receiverIndexRange; + UA_NodeId targetNodeId; + UA_UInt32 attributeId; + UA_String writeIndexRange; + UA_OverrideValueHandling overrideValueHandling; + UA_Variant overrideValue; +} UA_FieldTargetDataType; + +#define UA_TYPES_FIELDTARGETDATATYPE 368 + +/* SubscribedDataSetMirrorDataType */ +typedef struct { + UA_String parentNodeName; + size_t rolePermissionsSize; + UA_RolePermissionType *rolePermissions; +} UA_SubscribedDataSetMirrorDataType; + +#define UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE 369 + +/* SecurityGroupDataType */ +typedef struct { + UA_String name; + size_t securityGroupFolderSize; + UA_String *securityGroupFolder; + UA_Double keyLifetime; + UA_String securityPolicyUri; + UA_UInt32 maxFutureKeyCount; + UA_UInt32 maxPastKeyCount; + UA_String securityGroupId; + size_t rolePermissionsSize; + UA_RolePermissionType *rolePermissions; + size_t groupPropertiesSize; + UA_KeyValuePair *groupProperties; +} UA_SecurityGroupDataType; + +#define UA_TYPES_SECURITYGROUPDATATYPE 370 + +/* PubSubKeyPushTargetDataType */ +typedef struct { + UA_String applicationUri; + size_t pushTargetFolderSize; + UA_String *pushTargetFolder; + UA_String endpointUrl; + UA_String securityPolicyUri; + UA_UserTokenPolicy userTokenType; + UA_UInt16 requestedKeyCount; + UA_Double retryInterval; + size_t pushTargetPropertiesSize; + UA_KeyValuePair *pushTargetProperties; + size_t securityGroupsSize; + UA_String *securityGroups; +} UA_PubSubKeyPushTargetDataType; + +#define UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE 371 + +/* EnumDefinition */ +typedef struct { + size_t fieldsSize; + UA_EnumField *fields; +} UA_EnumDefinition; + +#define UA_TYPES_ENUMDEFINITION 372 + +/* ReadEventDetails */ +typedef struct { + UA_UInt32 numValuesPerNode; + UA_DateTime startTime; + UA_DateTime endTime; + UA_EventFilter filter; +} UA_ReadEventDetails; + +#define UA_TYPES_READEVENTDETAILS 373 + +/* ReadProcessedDetails */ +typedef struct { + UA_DateTime startTime; + UA_DateTime endTime; + UA_Double processingInterval; + size_t aggregateTypeSize; + UA_NodeId *aggregateType; + UA_AggregateConfiguration aggregateConfiguration; +} UA_ReadProcessedDetails; + +#define UA_TYPES_READPROCESSEDDETAILS 374 + +/* ModificationInfo */ +typedef struct { + UA_DateTime modificationTime; + UA_HistoryUpdateType updateType; + UA_String userName; +} UA_ModificationInfo; + +#define UA_TYPES_MODIFICATIONINFO 375 + +/* HistoryModifiedData */ +typedef struct { + size_t dataValuesSize; + UA_DataValue *dataValues; + size_t modificationInfosSize; + UA_ModificationInfo *modificationInfos; +} UA_HistoryModifiedData; + +#define UA_TYPES_HISTORYMODIFIEDDATA 376 + +/* HistoryEvent */ +typedef struct { + size_t eventsSize; + UA_HistoryEventFieldList *events; +} UA_HistoryEvent; + +#define UA_TYPES_HISTORYEVENT 377 + +/* UpdateEventDetails */ +typedef struct { + UA_NodeId nodeId; + UA_PerformUpdateType performInsertReplace; + UA_EventFilter filter; + size_t eventDataSize; + UA_HistoryEventFieldList *eventData; +} UA_UpdateEventDetails; + +#define UA_TYPES_UPDATEEVENTDETAILS 378 + +/* DataChangeNotification */ +typedef struct { + size_t monitoredItemsSize; + UA_MonitoredItemNotification *monitoredItems; + size_t diagnosticInfosSize; + UA_DiagnosticInfo *diagnosticInfos; +} UA_DataChangeNotification; + +#define UA_TYPES_DATACHANGENOTIFICATION 379 + +/* EventNotificationList */ +typedef struct { + size_t eventsSize; + UA_EventFieldList *events; +} UA_EventNotificationList; + +#define UA_TYPES_EVENTNOTIFICATIONLIST 380 + +/* SessionDiagnosticsDataType */ +typedef struct { + UA_NodeId sessionId; + UA_String sessionName; + UA_ApplicationDescription clientDescription; + UA_String serverUri; + UA_String endpointUrl; + size_t localeIdsSize; + UA_String *localeIds; + UA_Double actualSessionTimeout; + UA_UInt32 maxResponseMessageSize; + UA_DateTime clientConnectionTime; + UA_DateTime clientLastContactTime; + UA_UInt32 currentSubscriptionsCount; + UA_UInt32 currentMonitoredItemsCount; + UA_UInt32 currentPublishRequestsInQueue; + UA_ServiceCounterDataType totalRequestCount; + UA_UInt32 unauthorizedRequestCount; + UA_ServiceCounterDataType readCount; + UA_ServiceCounterDataType historyReadCount; + UA_ServiceCounterDataType writeCount; + UA_ServiceCounterDataType historyUpdateCount; + UA_ServiceCounterDataType callCount; + UA_ServiceCounterDataType createMonitoredItemsCount; + UA_ServiceCounterDataType modifyMonitoredItemsCount; + UA_ServiceCounterDataType setMonitoringModeCount; + UA_ServiceCounterDataType setTriggeringCount; + UA_ServiceCounterDataType deleteMonitoredItemsCount; + UA_ServiceCounterDataType createSubscriptionCount; + UA_ServiceCounterDataType modifySubscriptionCount; + UA_ServiceCounterDataType setPublishingModeCount; + UA_ServiceCounterDataType publishCount; + UA_ServiceCounterDataType republishCount; + UA_ServiceCounterDataType transferSubscriptionsCount; + UA_ServiceCounterDataType deleteSubscriptionsCount; + UA_ServiceCounterDataType addNodesCount; + UA_ServiceCounterDataType addReferencesCount; + UA_ServiceCounterDataType deleteNodesCount; + UA_ServiceCounterDataType deleteReferencesCount; + UA_ServiceCounterDataType browseCount; + UA_ServiceCounterDataType browseNextCount; + UA_ServiceCounterDataType translateBrowsePathsToNodeIdsCount; + UA_ServiceCounterDataType queryFirstCount; + UA_ServiceCounterDataType queryNextCount; + UA_ServiceCounterDataType registerNodesCount; + UA_ServiceCounterDataType unregisterNodesCount; +} UA_SessionDiagnosticsDataType; + +#define UA_TYPES_SESSIONDIAGNOSTICSDATATYPE 381 + +/* EnumDescription */ +typedef struct { + UA_NodeId dataTypeId; + UA_QualifiedName name; + UA_EnumDefinition enumDefinition; + UA_Byte builtInType; +} UA_EnumDescription; + +#define UA_TYPES_ENUMDESCRIPTION 382 + +/* UABinaryFileDataType */ +typedef struct { + size_t namespacesSize; + UA_String *namespaces; + size_t structureDataTypesSize; + UA_StructureDescription *structureDataTypes; + size_t enumDataTypesSize; + UA_EnumDescription *enumDataTypes; + size_t simpleDataTypesSize; + UA_SimpleTypeDescription *simpleDataTypes; + UA_String schemaLocation; + size_t fileHeaderSize; + UA_KeyValuePair *fileHeader; + UA_Variant body; +} UA_UABinaryFileDataType; + +#define UA_TYPES_UABINARYFILEDATATYPE 383 + +/* DataSetMetaDataType */ +typedef struct { + size_t namespacesSize; + UA_String *namespaces; + size_t structureDataTypesSize; + UA_StructureDescription *structureDataTypes; + size_t enumDataTypesSize; + UA_EnumDescription *enumDataTypes; + size_t simpleDataTypesSize; + UA_SimpleTypeDescription *simpleDataTypes; + UA_String name; + UA_LocalizedText description; + size_t fieldsSize; + UA_FieldMetaData *fields; + UA_Guid dataSetClassId; + UA_ConfigurationVersionDataType configurationVersion; +} UA_DataSetMetaDataType; + +#define UA_TYPES_DATASETMETADATATYPE 384 + +/* PublishedDataSetDataType */ +typedef struct { + UA_String name; + size_t dataSetFolderSize; + UA_String *dataSetFolder; + UA_DataSetMetaDataType dataSetMetaData; + size_t extensionFieldsSize; + UA_KeyValuePair *extensionFields; + UA_ExtensionObject dataSetSource; +} UA_PublishedDataSetDataType; + +#define UA_TYPES_PUBLISHEDDATASETDATATYPE 385 + +/* DataSetReaderDataType */ +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_Variant publisherId; + UA_UInt16 writerGroupId; + UA_UInt16 dataSetWriterId; + UA_DataSetMetaDataType dataSetMetaData; + UA_DataSetFieldContentMask dataSetFieldContentMask; + UA_Double messageReceiveTimeout; + UA_UInt32 keyFrameCount; + UA_String headerLayoutUri; + UA_MessageSecurityMode securityMode; + UA_String securityGroupId; + size_t securityKeyServicesSize; + UA_EndpointDescription *securityKeyServices; + size_t dataSetReaderPropertiesSize; + UA_KeyValuePair *dataSetReaderProperties; + UA_ExtensionObject transportSettings; + UA_ExtensionObject messageSettings; + UA_ExtensionObject subscribedDataSet; +} UA_DataSetReaderDataType; + +#define UA_TYPES_DATASETREADERDATATYPE 386 + +/* TargetVariablesDataType */ +typedef struct { + size_t targetVariablesSize; + UA_FieldTargetDataType *targetVariables; +} UA_TargetVariablesDataType; + +#define UA_TYPES_TARGETVARIABLESDATATYPE 387 + +/* StandaloneSubscribedDataSetDataType */ +typedef struct { + UA_String name; + size_t dataSetFolderSize; + UA_String *dataSetFolder; + UA_DataSetMetaDataType dataSetMetaData; + UA_ExtensionObject subscribedDataSet; +} UA_StandaloneSubscribedDataSetDataType; + +#define UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE 388 + +/* DataTypeSchemaHeader */ +typedef struct { + size_t namespacesSize; + UA_String *namespaces; + size_t structureDataTypesSize; + UA_StructureDescription *structureDataTypes; + size_t enumDataTypesSize; + UA_EnumDescription *enumDataTypes; + size_t simpleDataTypesSize; + UA_SimpleTypeDescription *simpleDataTypes; +} UA_DataTypeSchemaHeader; + +#define UA_TYPES_DATATYPESCHEMAHEADER 389 + +/* ReaderGroupDataType */ +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_MessageSecurityMode securityMode; + UA_String securityGroupId; + size_t securityKeyServicesSize; + UA_EndpointDescription *securityKeyServices; + UA_UInt32 maxNetworkMessageSize; + size_t groupPropertiesSize; + UA_KeyValuePair *groupProperties; + UA_ExtensionObject transportSettings; + UA_ExtensionObject messageSettings; + size_t dataSetReadersSize; + UA_DataSetReaderDataType *dataSetReaders; +} UA_ReaderGroupDataType; + +#define UA_TYPES_READERGROUPDATATYPE 390 + +/* PubSubConnectionDataType */ +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_Variant publisherId; + UA_String transportProfileUri; + UA_ExtensionObject address; + size_t connectionPropertiesSize; + UA_KeyValuePair *connectionProperties; + UA_ExtensionObject transportSettings; + size_t writerGroupsSize; + UA_WriterGroupDataType *writerGroups; + size_t readerGroupsSize; + UA_ReaderGroupDataType *readerGroups; +} UA_PubSubConnectionDataType; + +#define UA_TYPES_PUBSUBCONNECTIONDATATYPE 391 + +/* PubSubConfigurationDataType */ +typedef struct { + size_t publishedDataSetsSize; + UA_PublishedDataSetDataType *publishedDataSets; + size_t connectionsSize; + UA_PubSubConnectionDataType *connections; + UA_Boolean enabled; +} UA_PubSubConfigurationDataType; + +#define UA_TYPES_PUBSUBCONFIGURATIONDATATYPE 392 + +/* PubSubConfiguration2DataType */ +typedef struct { + size_t publishedDataSetsSize; + UA_PublishedDataSetDataType *publishedDataSets; + size_t connectionsSize; + UA_PubSubConnectionDataType *connections; + UA_Boolean enabled; + size_t subscribedDataSetsSize; + UA_StandaloneSubscribedDataSetDataType *subscribedDataSets; + size_t dataSetClassesSize; + UA_DataSetMetaDataType *dataSetClasses; + size_t defaultSecurityKeyServicesSize; + UA_EndpointDescription *defaultSecurityKeyServices; + size_t securityGroupsSize; + UA_SecurityGroupDataType *securityGroups; + size_t pubSubKeyPushTargetsSize; + UA_PubSubKeyPushTargetDataType *pubSubKeyPushTargets; + UA_UInt32 configurationVersion; + size_t configurationPropertiesSize; + UA_KeyValuePair *configurationProperties; +} UA_PubSubConfiguration2DataType; + +#define UA_TYPES_PUBSUBCONFIGURATION2DATATYPE 393 + + +_UA_END_DECLS + + +/**** amalgamated original file "/build/src_generated/open62541/types_generated_handling.h" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + + + +_UA_BEGIN_DECLS + +#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wmissing-field-initializers" +# pragma GCC diagnostic ignored "-Wmissing-braces" +#endif + + +/* Boolean */ +static UA_INLINE void +UA_Boolean_init(UA_Boolean *p) { + memset(p, 0, sizeof(UA_Boolean)); +} + +static UA_INLINE UA_Boolean * +UA_Boolean_new(void) { + return (UA_Boolean*)UA_new(&UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Boolean_copy(const UA_Boolean *src, UA_Boolean *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Boolean_deleteMembers(UA_Boolean *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE void +UA_Boolean_clear(UA_Boolean *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE void +UA_Boolean_delete(UA_Boolean *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BOOLEAN]); +}static UA_INLINE UA_Boolean +UA_Boolean_equal(const UA_Boolean *p1, const UA_Boolean *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BOOLEAN]) == UA_ORDER_EQ); +} + + + +/* SByte */ +static UA_INLINE void +UA_SByte_init(UA_SByte *p) { + memset(p, 0, sizeof(UA_SByte)); +} + +static UA_INLINE UA_SByte * +UA_SByte_new(void) { + return (UA_SByte*)UA_new(&UA_TYPES[UA_TYPES_SBYTE]); +} + +static UA_INLINE UA_StatusCode +UA_SByte_copy(const UA_SByte *src, UA_SByte *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SBYTE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SByte_deleteMembers(UA_SByte *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SBYTE]); +} + +static UA_INLINE void +UA_SByte_clear(UA_SByte *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SBYTE]); +} + +static UA_INLINE void +UA_SByte_delete(UA_SByte *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SBYTE]); +}static UA_INLINE UA_Boolean +UA_SByte_equal(const UA_SByte *p1, const UA_SByte *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SBYTE]) == UA_ORDER_EQ); +} + + + +/* Byte */ +static UA_INLINE void +UA_Byte_init(UA_Byte *p) { + memset(p, 0, sizeof(UA_Byte)); +} + +static UA_INLINE UA_Byte * +UA_Byte_new(void) { + return (UA_Byte*)UA_new(&UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Byte_copy(const UA_Byte *src, UA_Byte *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BYTE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Byte_deleteMembers(UA_Byte *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE void +UA_Byte_clear(UA_Byte *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE void +UA_Byte_delete(UA_Byte *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BYTE]); +}static UA_INLINE UA_Boolean +UA_Byte_equal(const UA_Byte *p1, const UA_Byte *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BYTE]) == UA_ORDER_EQ); +} + + + +/* Int16 */ +static UA_INLINE void +UA_Int16_init(UA_Int16 *p) { + memset(p, 0, sizeof(UA_Int16)); +} + +static UA_INLINE UA_Int16 * +UA_Int16_new(void) { + return (UA_Int16*)UA_new(&UA_TYPES[UA_TYPES_INT16]); +} + +static UA_INLINE UA_StatusCode +UA_Int16_copy(const UA_Int16 *src, UA_Int16 *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INT16]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Int16_deleteMembers(UA_Int16 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INT16]); +} + +static UA_INLINE void +UA_Int16_clear(UA_Int16 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INT16]); +} + +static UA_INLINE void +UA_Int16_delete(UA_Int16 *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INT16]); +}static UA_INLINE UA_Boolean +UA_Int16_equal(const UA_Int16 *p1, const UA_Int16 *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INT16]) == UA_ORDER_EQ); +} + + + +/* UInt16 */ +static UA_INLINE void +UA_UInt16_init(UA_UInt16 *p) { + memset(p, 0, sizeof(UA_UInt16)); +} + +static UA_INLINE UA_UInt16 * +UA_UInt16_new(void) { + return (UA_UInt16*)UA_new(&UA_TYPES[UA_TYPES_UINT16]); +} + +static UA_INLINE UA_StatusCode +UA_UInt16_copy(const UA_UInt16 *src, UA_UInt16 *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UINT16]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UInt16_deleteMembers(UA_UInt16 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UINT16]); +} + +static UA_INLINE void +UA_UInt16_clear(UA_UInt16 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UINT16]); +} + +static UA_INLINE void +UA_UInt16_delete(UA_UInt16 *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UINT16]); +}static UA_INLINE UA_Boolean +UA_UInt16_equal(const UA_UInt16 *p1, const UA_UInt16 *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UINT16]) == UA_ORDER_EQ); +} + + + +/* Int32 */ +static UA_INLINE void +UA_Int32_init(UA_Int32 *p) { + memset(p, 0, sizeof(UA_Int32)); +} + +static UA_INLINE UA_Int32 * +UA_Int32_new(void) { + return (UA_Int32*)UA_new(&UA_TYPES[UA_TYPES_INT32]); +} + +static UA_INLINE UA_StatusCode +UA_Int32_copy(const UA_Int32 *src, UA_Int32 *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INT32]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Int32_deleteMembers(UA_Int32 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INT32]); +} + +static UA_INLINE void +UA_Int32_clear(UA_Int32 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INT32]); +} + +static UA_INLINE void +UA_Int32_delete(UA_Int32 *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INT32]); +}static UA_INLINE UA_Boolean +UA_Int32_equal(const UA_Int32 *p1, const UA_Int32 *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INT32]) == UA_ORDER_EQ); +} + + + +/* UInt32 */ +static UA_INLINE void +UA_UInt32_init(UA_UInt32 *p) { + memset(p, 0, sizeof(UA_UInt32)); +} + +static UA_INLINE UA_UInt32 * +UA_UInt32_new(void) { + return (UA_UInt32*)UA_new(&UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_UInt32_copy(const UA_UInt32 *src, UA_UInt32 *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UINT32]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UInt32_deleteMembers(UA_UInt32 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE void +UA_UInt32_clear(UA_UInt32 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE void +UA_UInt32_delete(UA_UInt32 *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UINT32]); +}static UA_INLINE UA_Boolean +UA_UInt32_equal(const UA_UInt32 *p1, const UA_UInt32 *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UINT32]) == UA_ORDER_EQ); +} + + + +/* Int64 */ +static UA_INLINE void +UA_Int64_init(UA_Int64 *p) { + memset(p, 0, sizeof(UA_Int64)); +} + +static UA_INLINE UA_Int64 * +UA_Int64_new(void) { + return (UA_Int64*)UA_new(&UA_TYPES[UA_TYPES_INT64]); +} + +static UA_INLINE UA_StatusCode +UA_Int64_copy(const UA_Int64 *src, UA_Int64 *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INT64]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Int64_deleteMembers(UA_Int64 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INT64]); +} + +static UA_INLINE void +UA_Int64_clear(UA_Int64 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INT64]); +} + +static UA_INLINE void +UA_Int64_delete(UA_Int64 *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INT64]); +}static UA_INLINE UA_Boolean +UA_Int64_equal(const UA_Int64 *p1, const UA_Int64 *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INT64]) == UA_ORDER_EQ); +} + + + +/* UInt64 */ +static UA_INLINE void +UA_UInt64_init(UA_UInt64 *p) { + memset(p, 0, sizeof(UA_UInt64)); +} + +static UA_INLINE UA_UInt64 * +UA_UInt64_new(void) { + return (UA_UInt64*)UA_new(&UA_TYPES[UA_TYPES_UINT64]); +} + +static UA_INLINE UA_StatusCode +UA_UInt64_copy(const UA_UInt64 *src, UA_UInt64 *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UINT64]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UInt64_deleteMembers(UA_UInt64 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UINT64]); +} + +static UA_INLINE void +UA_UInt64_clear(UA_UInt64 *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UINT64]); +} + +static UA_INLINE void +UA_UInt64_delete(UA_UInt64 *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UINT64]); +}static UA_INLINE UA_Boolean +UA_UInt64_equal(const UA_UInt64 *p1, const UA_UInt64 *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UINT64]) == UA_ORDER_EQ); +} + + + +/* Float */ +static UA_INLINE void +UA_Float_init(UA_Float *p) { + memset(p, 0, sizeof(UA_Float)); +} + +static UA_INLINE UA_Float * +UA_Float_new(void) { + return (UA_Float*)UA_new(&UA_TYPES[UA_TYPES_FLOAT]); +} + +static UA_INLINE UA_StatusCode +UA_Float_copy(const UA_Float *src, UA_Float *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FLOAT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Float_deleteMembers(UA_Float *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FLOAT]); +} + +static UA_INLINE void +UA_Float_clear(UA_Float *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FLOAT]); +} + +static UA_INLINE void +UA_Float_delete(UA_Float *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FLOAT]); +}static UA_INLINE UA_Boolean +UA_Float_equal(const UA_Float *p1, const UA_Float *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FLOAT]) == UA_ORDER_EQ); +} + + + +/* Double */ +static UA_INLINE void +UA_Double_init(UA_Double *p) { + memset(p, 0, sizeof(UA_Double)); +} + +static UA_INLINE UA_Double * +UA_Double_new(void) { + return (UA_Double*)UA_new(&UA_TYPES[UA_TYPES_DOUBLE]); +} + +static UA_INLINE UA_StatusCode +UA_Double_copy(const UA_Double *src, UA_Double *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DOUBLE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Double_deleteMembers(UA_Double *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLE]); +} + +static UA_INLINE void +UA_Double_clear(UA_Double *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLE]); +} + +static UA_INLINE void +UA_Double_delete(UA_Double *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DOUBLE]); +}static UA_INLINE UA_Boolean +UA_Double_equal(const UA_Double *p1, const UA_Double *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DOUBLE]) == UA_ORDER_EQ); +} + + + +/* String */ +static UA_INLINE void +UA_String_init(UA_String *p) { + memset(p, 0, sizeof(UA_String)); +} + +static UA_INLINE UA_String * +UA_String_new(void) { + return (UA_String*)UA_new(&UA_TYPES[UA_TYPES_STRING]); +} + +static UA_INLINE UA_StatusCode +UA_String_copy(const UA_String *src, UA_String *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_String_deleteMembers(UA_String *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRING]); +} + +static UA_INLINE void +UA_String_clear(UA_String *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRING]); +} + +static UA_INLINE void +UA_String_delete(UA_String *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STRING]); +}static UA_INLINE UA_Boolean +UA_String_equal(const UA_String *p1, const UA_String *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRING]) == UA_ORDER_EQ); +} + + + +/* DateTime */ +static UA_INLINE void +UA_DateTime_init(UA_DateTime *p) { + memset(p, 0, sizeof(UA_DateTime)); +} + +static UA_INLINE UA_DateTime * +UA_DateTime_new(void) { + return (UA_DateTime*)UA_new(&UA_TYPES[UA_TYPES_DATETIME]); +} + +static UA_INLINE UA_StatusCode +UA_DateTime_copy(const UA_DateTime *src, UA_DateTime *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATETIME]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DateTime_deleteMembers(UA_DateTime *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATETIME]); +} + +static UA_INLINE void +UA_DateTime_clear(UA_DateTime *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATETIME]); +} + +static UA_INLINE void +UA_DateTime_delete(UA_DateTime *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATETIME]); +}static UA_INLINE UA_Boolean +UA_DateTime_equal(const UA_DateTime *p1, const UA_DateTime *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATETIME]) == UA_ORDER_EQ); +} + + + +/* Guid */ +static UA_INLINE void +UA_Guid_init(UA_Guid *p) { + memset(p, 0, sizeof(UA_Guid)); +} + +static UA_INLINE UA_Guid * +UA_Guid_new(void) { + return (UA_Guid*)UA_new(&UA_TYPES[UA_TYPES_GUID]); +} + +static UA_INLINE UA_StatusCode +UA_Guid_copy(const UA_Guid *src, UA_Guid *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GUID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Guid_deleteMembers(UA_Guid *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GUID]); +} + +static UA_INLINE void +UA_Guid_clear(UA_Guid *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GUID]); +} + +static UA_INLINE void +UA_Guid_delete(UA_Guid *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_GUID]); +}static UA_INLINE UA_Boolean +UA_Guid_equal(const UA_Guid *p1, const UA_Guid *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GUID]) == UA_ORDER_EQ); +} + + + +/* ByteString */ +static UA_INLINE void +UA_ByteString_init(UA_ByteString *p) { + memset(p, 0, sizeof(UA_ByteString)); +} + +static UA_INLINE UA_ByteString * +UA_ByteString_new(void) { + return (UA_ByteString*)UA_new(&UA_TYPES[UA_TYPES_BYTESTRING]); +} + +static UA_INLINE UA_StatusCode +UA_ByteString_copy(const UA_ByteString *src, UA_ByteString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BYTESTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ByteString_deleteMembers(UA_ByteString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BYTESTRING]); +} + +static UA_INLINE void +UA_ByteString_clear(UA_ByteString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BYTESTRING]); +} + +static UA_INLINE void +UA_ByteString_delete(UA_ByteString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BYTESTRING]); +}static UA_INLINE UA_Boolean +UA_ByteString_equal(const UA_ByteString *p1, const UA_ByteString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BYTESTRING]) == UA_ORDER_EQ); +} + + + +/* XmlElement */ +static UA_INLINE void +UA_XmlElement_init(UA_XmlElement *p) { + memset(p, 0, sizeof(UA_XmlElement)); +} + +static UA_INLINE UA_XmlElement * +UA_XmlElement_new(void) { + return (UA_XmlElement*)UA_new(&UA_TYPES[UA_TYPES_XMLELEMENT]); +} + +static UA_INLINE UA_StatusCode +UA_XmlElement_copy(const UA_XmlElement *src, UA_XmlElement *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_XMLELEMENT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_XmlElement_deleteMembers(UA_XmlElement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_XMLELEMENT]); +} + +static UA_INLINE void +UA_XmlElement_clear(UA_XmlElement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_XMLELEMENT]); +} + +static UA_INLINE void +UA_XmlElement_delete(UA_XmlElement *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_XMLELEMENT]); +}static UA_INLINE UA_Boolean +UA_XmlElement_equal(const UA_XmlElement *p1, const UA_XmlElement *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_XMLELEMENT]) == UA_ORDER_EQ); +} + + + +/* NodeId */ +static UA_INLINE void +UA_NodeId_init(UA_NodeId *p) { + memset(p, 0, sizeof(UA_NodeId)); +} + +static UA_INLINE UA_NodeId * +UA_NodeId_new(void) { + return (UA_NodeId*)UA_new(&UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE UA_StatusCode +UA_NodeId_copy(const UA_NodeId *src, UA_NodeId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NodeId_deleteMembers(UA_NodeId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE void +UA_NodeId_clear(UA_NodeId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE void +UA_NodeId_delete(UA_NodeId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NODEID]); +}static UA_INLINE UA_Boolean +UA_NodeId_equal(const UA_NodeId *p1, const UA_NodeId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEID]) == UA_ORDER_EQ); +} + + + +/* ExpandedNodeId */ +static UA_INLINE void +UA_ExpandedNodeId_init(UA_ExpandedNodeId *p) { + memset(p, 0, sizeof(UA_ExpandedNodeId)); +} + +static UA_INLINE UA_ExpandedNodeId * +UA_ExpandedNodeId_new(void) { + return (UA_ExpandedNodeId*)UA_new(&UA_TYPES[UA_TYPES_EXPANDEDNODEID]); +} + +static UA_INLINE UA_StatusCode +UA_ExpandedNodeId_copy(const UA_ExpandedNodeId *src, UA_ExpandedNodeId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ExpandedNodeId_deleteMembers(UA_ExpandedNodeId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); +} + +static UA_INLINE void +UA_ExpandedNodeId_clear(UA_ExpandedNodeId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); +} + +static UA_INLINE void +UA_ExpandedNodeId_delete(UA_ExpandedNodeId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); +}static UA_INLINE UA_Boolean +UA_ExpandedNodeId_equal(const UA_ExpandedNodeId *p1, const UA_ExpandedNodeId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]) == UA_ORDER_EQ); +} + + + +/* StatusCode */ +static UA_INLINE void +UA_StatusCode_init(UA_StatusCode *p) { + memset(p, 0, sizeof(UA_StatusCode)); +} + +static UA_INLINE UA_StatusCode * +UA_StatusCode_new(void) { + return (UA_StatusCode*)UA_new(&UA_TYPES[UA_TYPES_STATUSCODE]); +} + +static UA_INLINE UA_StatusCode +UA_StatusCode_copy(const UA_StatusCode *src, UA_StatusCode *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StatusCode_deleteMembers(UA_StatusCode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +static UA_INLINE void +UA_StatusCode_clear(UA_StatusCode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +static UA_INLINE void +UA_StatusCode_delete(UA_StatusCode *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STATUSCODE]); +}static UA_INLINE UA_Boolean +UA_StatusCode_equal(const UA_StatusCode *p1, const UA_StatusCode *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STATUSCODE]) == UA_ORDER_EQ); +} + + + +/* QualifiedName */ +static UA_INLINE void +UA_QualifiedName_init(UA_QualifiedName *p) { + memset(p, 0, sizeof(UA_QualifiedName)); +} + +static UA_INLINE UA_QualifiedName * +UA_QualifiedName_new(void) { + return (UA_QualifiedName*)UA_new(&UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +} + +static UA_INLINE UA_StatusCode +UA_QualifiedName_copy(const UA_QualifiedName *src, UA_QualifiedName *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QualifiedName_deleteMembers(UA_QualifiedName *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +} + +static UA_INLINE void +UA_QualifiedName_clear(UA_QualifiedName *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +} + +static UA_INLINE void +UA_QualifiedName_delete(UA_QualifiedName *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +}static UA_INLINE UA_Boolean +UA_QualifiedName_equal(const UA_QualifiedName *p1, const UA_QualifiedName *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]) == UA_ORDER_EQ); +} + + + +/* LocalizedText */ +static UA_INLINE void +UA_LocalizedText_init(UA_LocalizedText *p) { + memset(p, 0, sizeof(UA_LocalizedText)); +} + +static UA_INLINE UA_LocalizedText * +UA_LocalizedText_new(void) { + return (UA_LocalizedText*)UA_new(&UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_LocalizedText_copy(const UA_LocalizedText *src, UA_LocalizedText *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_LocalizedText_deleteMembers(UA_LocalizedText *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE void +UA_LocalizedText_clear(UA_LocalizedText *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE void +UA_LocalizedText_delete(UA_LocalizedText *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +}static UA_INLINE UA_Boolean +UA_LocalizedText_equal(const UA_LocalizedText *p1, const UA_LocalizedText *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]) == UA_ORDER_EQ); +} + + + +/* ExtensionObject */ +static UA_INLINE void +UA_ExtensionObject_init(UA_ExtensionObject *p) { + memset(p, 0, sizeof(UA_ExtensionObject)); +} + +static UA_INLINE UA_ExtensionObject * +UA_ExtensionObject_new(void) { + return (UA_ExtensionObject*)UA_new(&UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); +} + +static UA_INLINE UA_StatusCode +UA_ExtensionObject_copy(const UA_ExtensionObject *src, UA_ExtensionObject *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ExtensionObject_deleteMembers(UA_ExtensionObject *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); +} + +static UA_INLINE void +UA_ExtensionObject_clear(UA_ExtensionObject *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); +} + +static UA_INLINE void +UA_ExtensionObject_delete(UA_ExtensionObject *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); +}static UA_INLINE UA_Boolean +UA_ExtensionObject_equal(const UA_ExtensionObject *p1, const UA_ExtensionObject *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) == UA_ORDER_EQ); +} + + + +/* DataValue */ +static UA_INLINE void +UA_DataValue_init(UA_DataValue *p) { + memset(p, 0, sizeof(UA_DataValue)); +} + +static UA_INLINE UA_DataValue * +UA_DataValue_new(void) { + return (UA_DataValue*)UA_new(&UA_TYPES[UA_TYPES_DATAVALUE]); +} + +static UA_INLINE UA_StatusCode +UA_DataValue_copy(const UA_DataValue *src, UA_DataValue *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAVALUE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataValue_deleteMembers(UA_DataValue *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAVALUE]); +} + +static UA_INLINE void +UA_DataValue_clear(UA_DataValue *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAVALUE]); +} + +static UA_INLINE void +UA_DataValue_delete(UA_DataValue *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATAVALUE]); +}static UA_INLINE UA_Boolean +UA_DataValue_equal(const UA_DataValue *p1, const UA_DataValue *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAVALUE]) == UA_ORDER_EQ); +} + + + +/* Variant */ +static UA_INLINE void +UA_Variant_init(UA_Variant *p) { + memset(p, 0, sizeof(UA_Variant)); +} + +static UA_INLINE UA_Variant * +UA_Variant_new(void) { + return (UA_Variant*)UA_new(&UA_TYPES[UA_TYPES_VARIANT]); +} + +static UA_INLINE UA_StatusCode +UA_Variant_copy(const UA_Variant *src, UA_Variant *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VARIANT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Variant_deleteMembers(UA_Variant *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VARIANT]); +} + +static UA_INLINE void +UA_Variant_clear(UA_Variant *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VARIANT]); +} + +static UA_INLINE void +UA_Variant_delete(UA_Variant *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_VARIANT]); +}static UA_INLINE UA_Boolean +UA_Variant_equal(const UA_Variant *p1, const UA_Variant *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VARIANT]) == UA_ORDER_EQ); +} + + + +/* DiagnosticInfo */ +static UA_INLINE void +UA_DiagnosticInfo_init(UA_DiagnosticInfo *p) { + memset(p, 0, sizeof(UA_DiagnosticInfo)); +} + +static UA_INLINE UA_DiagnosticInfo * +UA_DiagnosticInfo_new(void) { + return (UA_DiagnosticInfo*)UA_new(&UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); +} + +static UA_INLINE UA_StatusCode +UA_DiagnosticInfo_copy(const UA_DiagnosticInfo *src, UA_DiagnosticInfo *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DiagnosticInfo_deleteMembers(UA_DiagnosticInfo *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); +} + +static UA_INLINE void +UA_DiagnosticInfo_clear(UA_DiagnosticInfo *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); +} + +static UA_INLINE void +UA_DiagnosticInfo_delete(UA_DiagnosticInfo *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); +}static UA_INLINE UA_Boolean +UA_DiagnosticInfo_equal(const UA_DiagnosticInfo *p1, const UA_DiagnosticInfo *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]) == UA_ORDER_EQ); +} + + + +/* NamingRuleType */ +static UA_INLINE void +UA_NamingRuleType_init(UA_NamingRuleType *p) { + memset(p, 0, sizeof(UA_NamingRuleType)); +} + +static UA_INLINE UA_NamingRuleType * +UA_NamingRuleType_new(void) { + return (UA_NamingRuleType*)UA_new(&UA_TYPES[UA_TYPES_NAMINGRULETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_NamingRuleType_copy(const UA_NamingRuleType *src, UA_NamingRuleType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NamingRuleType_deleteMembers(UA_NamingRuleType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); +} + +static UA_INLINE void +UA_NamingRuleType_clear(UA_NamingRuleType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); +} + +static UA_INLINE void +UA_NamingRuleType_delete(UA_NamingRuleType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); +}static UA_INLINE UA_Boolean +UA_NamingRuleType_equal(const UA_NamingRuleType *p1, const UA_NamingRuleType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]) == UA_ORDER_EQ); +} + + + +/* Enumeration */ +static UA_INLINE void +UA_Enumeration_init(UA_Enumeration *p) { + memset(p, 0, sizeof(UA_Enumeration)); +} + +static UA_INLINE UA_Enumeration * +UA_Enumeration_new(void) { + return (UA_Enumeration*)UA_new(&UA_TYPES[UA_TYPES_ENUMERATION]); +} + +static UA_INLINE UA_StatusCode +UA_Enumeration_copy(const UA_Enumeration *src, UA_Enumeration *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMERATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Enumeration_deleteMembers(UA_Enumeration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMERATION]); +} + +static UA_INLINE void +UA_Enumeration_clear(UA_Enumeration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMERATION]); +} + +static UA_INLINE void +UA_Enumeration_delete(UA_Enumeration *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENUMERATION]); +}static UA_INLINE UA_Boolean +UA_Enumeration_equal(const UA_Enumeration *p1, const UA_Enumeration *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMERATION]) == UA_ORDER_EQ); +} + + + +/* ImageBMP */ +static UA_INLINE void +UA_ImageBMP_init(UA_ImageBMP *p) { + memset(p, 0, sizeof(UA_ImageBMP)); +} + +static UA_INLINE UA_ImageBMP * +UA_ImageBMP_new(void) { + return (UA_ImageBMP*)UA_new(&UA_TYPES[UA_TYPES_IMAGEBMP]); +} + +static UA_INLINE UA_StatusCode +UA_ImageBMP_copy(const UA_ImageBMP *src, UA_ImageBMP *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEBMP]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ImageBMP_deleteMembers(UA_ImageBMP *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEBMP]); +} + +static UA_INLINE void +UA_ImageBMP_clear(UA_ImageBMP *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEBMP]); +} + +static UA_INLINE void +UA_ImageBMP_delete(UA_ImageBMP *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEBMP]); +}static UA_INLINE UA_Boolean +UA_ImageBMP_equal(const UA_ImageBMP *p1, const UA_ImageBMP *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEBMP]) == UA_ORDER_EQ); +} + + + +/* ImageGIF */ +static UA_INLINE void +UA_ImageGIF_init(UA_ImageGIF *p) { + memset(p, 0, sizeof(UA_ImageGIF)); +} + +static UA_INLINE UA_ImageGIF * +UA_ImageGIF_new(void) { + return (UA_ImageGIF*)UA_new(&UA_TYPES[UA_TYPES_IMAGEGIF]); +} + +static UA_INLINE UA_StatusCode +UA_ImageGIF_copy(const UA_ImageGIF *src, UA_ImageGIF *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEGIF]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ImageGIF_deleteMembers(UA_ImageGIF *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEGIF]); +} + +static UA_INLINE void +UA_ImageGIF_clear(UA_ImageGIF *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEGIF]); +} + +static UA_INLINE void +UA_ImageGIF_delete(UA_ImageGIF *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEGIF]); +}static UA_INLINE UA_Boolean +UA_ImageGIF_equal(const UA_ImageGIF *p1, const UA_ImageGIF *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEGIF]) == UA_ORDER_EQ); +} + + + +/* ImageJPG */ +static UA_INLINE void +UA_ImageJPG_init(UA_ImageJPG *p) { + memset(p, 0, sizeof(UA_ImageJPG)); +} + +static UA_INLINE UA_ImageJPG * +UA_ImageJPG_new(void) { + return (UA_ImageJPG*)UA_new(&UA_TYPES[UA_TYPES_IMAGEJPG]); +} + +static UA_INLINE UA_StatusCode +UA_ImageJPG_copy(const UA_ImageJPG *src, UA_ImageJPG *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEJPG]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ImageJPG_deleteMembers(UA_ImageJPG *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEJPG]); +} + +static UA_INLINE void +UA_ImageJPG_clear(UA_ImageJPG *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEJPG]); +} + +static UA_INLINE void +UA_ImageJPG_delete(UA_ImageJPG *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEJPG]); +}static UA_INLINE UA_Boolean +UA_ImageJPG_equal(const UA_ImageJPG *p1, const UA_ImageJPG *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEJPG]) == UA_ORDER_EQ); +} + + + +/* ImagePNG */ +static UA_INLINE void +UA_ImagePNG_init(UA_ImagePNG *p) { + memset(p, 0, sizeof(UA_ImagePNG)); +} + +static UA_INLINE UA_ImagePNG * +UA_ImagePNG_new(void) { + return (UA_ImagePNG*)UA_new(&UA_TYPES[UA_TYPES_IMAGEPNG]); +} + +static UA_INLINE UA_StatusCode +UA_ImagePNG_copy(const UA_ImagePNG *src, UA_ImagePNG *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEPNG]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ImagePNG_deleteMembers(UA_ImagePNG *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEPNG]); +} + +static UA_INLINE void +UA_ImagePNG_clear(UA_ImagePNG *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEPNG]); +} + +static UA_INLINE void +UA_ImagePNG_delete(UA_ImagePNG *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEPNG]); +}static UA_INLINE UA_Boolean +UA_ImagePNG_equal(const UA_ImagePNG *p1, const UA_ImagePNG *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEPNG]) == UA_ORDER_EQ); +} + + + +/* AudioDataType */ +static UA_INLINE void +UA_AudioDataType_init(UA_AudioDataType *p) { + memset(p, 0, sizeof(UA_AudioDataType)); +} + +static UA_INLINE UA_AudioDataType * +UA_AudioDataType_new(void) { + return (UA_AudioDataType*)UA_new(&UA_TYPES[UA_TYPES_AUDIODATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_AudioDataType_copy(const UA_AudioDataType *src, UA_AudioDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AudioDataType_deleteMembers(UA_AudioDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); +} + +static UA_INLINE void +UA_AudioDataType_clear(UA_AudioDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); +} + +static UA_INLINE void +UA_AudioDataType_delete(UA_AudioDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); +}static UA_INLINE UA_Boolean +UA_AudioDataType_equal(const UA_AudioDataType *p1, const UA_AudioDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AUDIODATATYPE]) == UA_ORDER_EQ); +} + + + +/* UriString */ +static UA_INLINE void +UA_UriString_init(UA_UriString *p) { + memset(p, 0, sizeof(UA_UriString)); +} + +static UA_INLINE UA_UriString * +UA_UriString_new(void) { + return (UA_UriString*)UA_new(&UA_TYPES[UA_TYPES_URISTRING]); +} + +static UA_INLINE UA_StatusCode +UA_UriString_copy(const UA_UriString *src, UA_UriString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_URISTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UriString_deleteMembers(UA_UriString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_URISTRING]); +} + +static UA_INLINE void +UA_UriString_clear(UA_UriString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_URISTRING]); +} + +static UA_INLINE void +UA_UriString_delete(UA_UriString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_URISTRING]); +}static UA_INLINE UA_Boolean +UA_UriString_equal(const UA_UriString *p1, const UA_UriString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_URISTRING]) == UA_ORDER_EQ); +} + + + +/* BitFieldMaskDataType */ +static UA_INLINE void +UA_BitFieldMaskDataType_init(UA_BitFieldMaskDataType *p) { + memset(p, 0, sizeof(UA_BitFieldMaskDataType)); +} + +static UA_INLINE UA_BitFieldMaskDataType * +UA_BitFieldMaskDataType_new(void) { + return (UA_BitFieldMaskDataType*)UA_new(&UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_BitFieldMaskDataType_copy(const UA_BitFieldMaskDataType *src, UA_BitFieldMaskDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BitFieldMaskDataType_deleteMembers(UA_BitFieldMaskDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); +} + +static UA_INLINE void +UA_BitFieldMaskDataType_clear(UA_BitFieldMaskDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); +} + +static UA_INLINE void +UA_BitFieldMaskDataType_delete(UA_BitFieldMaskDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); +}static UA_INLINE UA_Boolean +UA_BitFieldMaskDataType_equal(const UA_BitFieldMaskDataType *p1, const UA_BitFieldMaskDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]) == UA_ORDER_EQ); +} + + + +/* SemanticVersionString */ +static UA_INLINE void +UA_SemanticVersionString_init(UA_SemanticVersionString *p) { + memset(p, 0, sizeof(UA_SemanticVersionString)); +} + +static UA_INLINE UA_SemanticVersionString * +UA_SemanticVersionString_new(void) { + return (UA_SemanticVersionString*)UA_new(&UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); +} + +static UA_INLINE UA_StatusCode +UA_SemanticVersionString_copy(const UA_SemanticVersionString *src, UA_SemanticVersionString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SemanticVersionString_deleteMembers(UA_SemanticVersionString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); +} + +static UA_INLINE void +UA_SemanticVersionString_clear(UA_SemanticVersionString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); +} + +static UA_INLINE void +UA_SemanticVersionString_delete(UA_SemanticVersionString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); +}static UA_INLINE UA_Boolean +UA_SemanticVersionString_equal(const UA_SemanticVersionString *p1, const UA_SemanticVersionString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]) == UA_ORDER_EQ); +} + + + +/* KeyValuePair */ +static UA_INLINE void +UA_KeyValuePair_init(UA_KeyValuePair *p) { + memset(p, 0, sizeof(UA_KeyValuePair)); +} + +static UA_INLINE UA_KeyValuePair * +UA_KeyValuePair_new(void) { + return (UA_KeyValuePair*)UA_new(&UA_TYPES[UA_TYPES_KEYVALUEPAIR]); +} + +static UA_INLINE UA_StatusCode +UA_KeyValuePair_copy(const UA_KeyValuePair *src, UA_KeyValuePair *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); +} + +UA_DEPRECATED static UA_INLINE void +UA_KeyValuePair_deleteMembers(UA_KeyValuePair *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); +} + +static UA_INLINE void +UA_KeyValuePair_clear(UA_KeyValuePair *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); +} + +static UA_INLINE void +UA_KeyValuePair_delete(UA_KeyValuePair *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); +}static UA_INLINE UA_Boolean +UA_KeyValuePair_equal(const UA_KeyValuePair *p1, const UA_KeyValuePair *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]) == UA_ORDER_EQ); +} + + + +/* AdditionalParametersType */ +static UA_INLINE void +UA_AdditionalParametersType_init(UA_AdditionalParametersType *p) { + memset(p, 0, sizeof(UA_AdditionalParametersType)); +} + +static UA_INLINE UA_AdditionalParametersType * +UA_AdditionalParametersType_new(void) { + return (UA_AdditionalParametersType*)UA_new(&UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_AdditionalParametersType_copy(const UA_AdditionalParametersType *src, UA_AdditionalParametersType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AdditionalParametersType_deleteMembers(UA_AdditionalParametersType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); +} + +static UA_INLINE void +UA_AdditionalParametersType_clear(UA_AdditionalParametersType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); +} + +static UA_INLINE void +UA_AdditionalParametersType_delete(UA_AdditionalParametersType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); +}static UA_INLINE UA_Boolean +UA_AdditionalParametersType_equal(const UA_AdditionalParametersType *p1, const UA_AdditionalParametersType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]) == UA_ORDER_EQ); +} + + + +/* EphemeralKeyType */ +static UA_INLINE void +UA_EphemeralKeyType_init(UA_EphemeralKeyType *p) { + memset(p, 0, sizeof(UA_EphemeralKeyType)); +} + +static UA_INLINE UA_EphemeralKeyType * +UA_EphemeralKeyType_new(void) { + return (UA_EphemeralKeyType*)UA_new(&UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_EphemeralKeyType_copy(const UA_EphemeralKeyType *src, UA_EphemeralKeyType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EphemeralKeyType_deleteMembers(UA_EphemeralKeyType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); +} + +static UA_INLINE void +UA_EphemeralKeyType_clear(UA_EphemeralKeyType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); +} + +static UA_INLINE void +UA_EphemeralKeyType_delete(UA_EphemeralKeyType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); +}static UA_INLINE UA_Boolean +UA_EphemeralKeyType_equal(const UA_EphemeralKeyType *p1, const UA_EphemeralKeyType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]) == UA_ORDER_EQ); +} + + + +/* Handle */ +static UA_INLINE void +UA_Handle_init(UA_Handle *p) { + memset(p, 0, sizeof(UA_Handle)); +} + +static UA_INLINE UA_Handle * +UA_Handle_new(void) { + return (UA_Handle*)UA_new(&UA_TYPES[UA_TYPES_HANDLE]); +} + +static UA_INLINE UA_StatusCode +UA_Handle_copy(const UA_Handle *src, UA_Handle *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HANDLE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Handle_deleteMembers(UA_Handle *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HANDLE]); +} + +static UA_INLINE void +UA_Handle_clear(UA_Handle *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HANDLE]); +} + +static UA_INLINE void +UA_Handle_delete(UA_Handle *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HANDLE]); +}static UA_INLINE UA_Boolean +UA_Handle_equal(const UA_Handle *p1, const UA_Handle *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HANDLE]) == UA_ORDER_EQ); +} + + + +/* TrimmedString */ +static UA_INLINE void +UA_TrimmedString_init(UA_TrimmedString *p) { + memset(p, 0, sizeof(UA_TrimmedString)); +} + +static UA_INLINE UA_TrimmedString * +UA_TrimmedString_new(void) { + return (UA_TrimmedString*)UA_new(&UA_TYPES[UA_TYPES_TRIMMEDSTRING]); +} + +static UA_INLINE UA_StatusCode +UA_TrimmedString_copy(const UA_TrimmedString *src, UA_TrimmedString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TrimmedString_deleteMembers(UA_TrimmedString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); +} + +static UA_INLINE void +UA_TrimmedString_clear(UA_TrimmedString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); +} + +static UA_INLINE void +UA_TrimmedString_delete(UA_TrimmedString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); +}static UA_INLINE UA_Boolean +UA_TrimmedString_equal(const UA_TrimmedString *p1, const UA_TrimmedString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]) == UA_ORDER_EQ); +} + + + +/* RationalNumber */ +static UA_INLINE void +UA_RationalNumber_init(UA_RationalNumber *p) { + memset(p, 0, sizeof(UA_RationalNumber)); +} + +static UA_INLINE UA_RationalNumber * +UA_RationalNumber_new(void) { + return (UA_RationalNumber*)UA_new(&UA_TYPES[UA_TYPES_RATIONALNUMBER]); +} + +static UA_INLINE UA_StatusCode +UA_RationalNumber_copy(const UA_RationalNumber *src, UA_RationalNumber *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RationalNumber_deleteMembers(UA_RationalNumber *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); +} + +static UA_INLINE void +UA_RationalNumber_clear(UA_RationalNumber *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); +} + +static UA_INLINE void +UA_RationalNumber_delete(UA_RationalNumber *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); +}static UA_INLINE UA_Boolean +UA_RationalNumber_equal(const UA_RationalNumber *p1, const UA_RationalNumber *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RATIONALNUMBER]) == UA_ORDER_EQ); +} + + + +/* ThreeDVector */ +static UA_INLINE void +UA_ThreeDVector_init(UA_ThreeDVector *p) { + memset(p, 0, sizeof(UA_ThreeDVector)); +} + +static UA_INLINE UA_ThreeDVector * +UA_ThreeDVector_new(void) { + return (UA_ThreeDVector*)UA_new(&UA_TYPES[UA_TYPES_THREEDVECTOR]); +} + +static UA_INLINE UA_StatusCode +UA_ThreeDVector_copy(const UA_ThreeDVector *src, UA_ThreeDVector *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDVECTOR]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ThreeDVector_deleteMembers(UA_ThreeDVector *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDVECTOR]); +} + +static UA_INLINE void +UA_ThreeDVector_clear(UA_ThreeDVector *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDVECTOR]); +} + +static UA_INLINE void +UA_ThreeDVector_delete(UA_ThreeDVector *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_THREEDVECTOR]); +}static UA_INLINE UA_Boolean +UA_ThreeDVector_equal(const UA_ThreeDVector *p1, const UA_ThreeDVector *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDVECTOR]) == UA_ORDER_EQ); +} + + + +/* ThreeDCartesianCoordinates */ +static UA_INLINE void +UA_ThreeDCartesianCoordinates_init(UA_ThreeDCartesianCoordinates *p) { + memset(p, 0, sizeof(UA_ThreeDCartesianCoordinates)); +} + +static UA_INLINE UA_ThreeDCartesianCoordinates * +UA_ThreeDCartesianCoordinates_new(void) { + return (UA_ThreeDCartesianCoordinates*)UA_new(&UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); +} + +static UA_INLINE UA_StatusCode +UA_ThreeDCartesianCoordinates_copy(const UA_ThreeDCartesianCoordinates *src, UA_ThreeDCartesianCoordinates *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ThreeDCartesianCoordinates_deleteMembers(UA_ThreeDCartesianCoordinates *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); +} + +static UA_INLINE void +UA_ThreeDCartesianCoordinates_clear(UA_ThreeDCartesianCoordinates *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); +} + +static UA_INLINE void +UA_ThreeDCartesianCoordinates_delete(UA_ThreeDCartesianCoordinates *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); +}static UA_INLINE UA_Boolean +UA_ThreeDCartesianCoordinates_equal(const UA_ThreeDCartesianCoordinates *p1, const UA_ThreeDCartesianCoordinates *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]) == UA_ORDER_EQ); +} + + + +/* ThreeDOrientation */ +static UA_INLINE void +UA_ThreeDOrientation_init(UA_ThreeDOrientation *p) { + memset(p, 0, sizeof(UA_ThreeDOrientation)); +} + +static UA_INLINE UA_ThreeDOrientation * +UA_ThreeDOrientation_new(void) { + return (UA_ThreeDOrientation*)UA_new(&UA_TYPES[UA_TYPES_THREEDORIENTATION]); +} + +static UA_INLINE UA_StatusCode +UA_ThreeDOrientation_copy(const UA_ThreeDOrientation *src, UA_ThreeDOrientation *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ThreeDOrientation_deleteMembers(UA_ThreeDOrientation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); +} + +static UA_INLINE void +UA_ThreeDOrientation_clear(UA_ThreeDOrientation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); +} + +static UA_INLINE void +UA_ThreeDOrientation_delete(UA_ThreeDOrientation *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); +}static UA_INLINE UA_Boolean +UA_ThreeDOrientation_equal(const UA_ThreeDOrientation *p1, const UA_ThreeDOrientation *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDORIENTATION]) == UA_ORDER_EQ); +} + + + +/* ThreeDFrame */ +static UA_INLINE void +UA_ThreeDFrame_init(UA_ThreeDFrame *p) { + memset(p, 0, sizeof(UA_ThreeDFrame)); +} + +static UA_INLINE UA_ThreeDFrame * +UA_ThreeDFrame_new(void) { + return (UA_ThreeDFrame*)UA_new(&UA_TYPES[UA_TYPES_THREEDFRAME]); +} + +static UA_INLINE UA_StatusCode +UA_ThreeDFrame_copy(const UA_ThreeDFrame *src, UA_ThreeDFrame *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDFRAME]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ThreeDFrame_deleteMembers(UA_ThreeDFrame *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDFRAME]); +} + +static UA_INLINE void +UA_ThreeDFrame_clear(UA_ThreeDFrame *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_THREEDFRAME]); +} + +static UA_INLINE void +UA_ThreeDFrame_delete(UA_ThreeDFrame *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_THREEDFRAME]); +}static UA_INLINE UA_Boolean +UA_ThreeDFrame_equal(const UA_ThreeDFrame *p1, const UA_ThreeDFrame *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDFRAME]) == UA_ORDER_EQ); +} + + + +/* OpenFileMode */ +static UA_INLINE void +UA_OpenFileMode_init(UA_OpenFileMode *p) { + memset(p, 0, sizeof(UA_OpenFileMode)); +} + +static UA_INLINE UA_OpenFileMode * +UA_OpenFileMode_new(void) { + return (UA_OpenFileMode*)UA_new(&UA_TYPES[UA_TYPES_OPENFILEMODE]); +} + +static UA_INLINE UA_StatusCode +UA_OpenFileMode_copy(const UA_OpenFileMode *src, UA_OpenFileMode *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPENFILEMODE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_OpenFileMode_deleteMembers(UA_OpenFileMode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPENFILEMODE]); +} + +static UA_INLINE void +UA_OpenFileMode_clear(UA_OpenFileMode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPENFILEMODE]); +} + +static UA_INLINE void +UA_OpenFileMode_delete(UA_OpenFileMode *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OPENFILEMODE]); +}static UA_INLINE UA_Boolean +UA_OpenFileMode_equal(const UA_OpenFileMode *p1, const UA_OpenFileMode *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPENFILEMODE]) == UA_ORDER_EQ); +} + + + +/* IdentityCriteriaType */ +static UA_INLINE void +UA_IdentityCriteriaType_init(UA_IdentityCriteriaType *p) { + memset(p, 0, sizeof(UA_IdentityCriteriaType)); +} + +static UA_INLINE UA_IdentityCriteriaType * +UA_IdentityCriteriaType_new(void) { + return (UA_IdentityCriteriaType*)UA_new(&UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_IdentityCriteriaType_copy(const UA_IdentityCriteriaType *src, UA_IdentityCriteriaType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_IdentityCriteriaType_deleteMembers(UA_IdentityCriteriaType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); +} + +static UA_INLINE void +UA_IdentityCriteriaType_clear(UA_IdentityCriteriaType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); +} + +static UA_INLINE void +UA_IdentityCriteriaType_delete(UA_IdentityCriteriaType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); +}static UA_INLINE UA_Boolean +UA_IdentityCriteriaType_equal(const UA_IdentityCriteriaType *p1, const UA_IdentityCriteriaType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]) == UA_ORDER_EQ); +} + + + +/* IdentityMappingRuleType */ +static UA_INLINE void +UA_IdentityMappingRuleType_init(UA_IdentityMappingRuleType *p) { + memset(p, 0, sizeof(UA_IdentityMappingRuleType)); +} + +static UA_INLINE UA_IdentityMappingRuleType * +UA_IdentityMappingRuleType_new(void) { + return (UA_IdentityMappingRuleType*)UA_new(&UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_IdentityMappingRuleType_copy(const UA_IdentityMappingRuleType *src, UA_IdentityMappingRuleType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_IdentityMappingRuleType_deleteMembers(UA_IdentityMappingRuleType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); +} + +static UA_INLINE void +UA_IdentityMappingRuleType_clear(UA_IdentityMappingRuleType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); +} + +static UA_INLINE void +UA_IdentityMappingRuleType_delete(UA_IdentityMappingRuleType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); +}static UA_INLINE UA_Boolean +UA_IdentityMappingRuleType_equal(const UA_IdentityMappingRuleType *p1, const UA_IdentityMappingRuleType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]) == UA_ORDER_EQ); +} + + + +/* CurrencyUnitType */ +static UA_INLINE void +UA_CurrencyUnitType_init(UA_CurrencyUnitType *p) { + memset(p, 0, sizeof(UA_CurrencyUnitType)); +} + +static UA_INLINE UA_CurrencyUnitType * +UA_CurrencyUnitType_new(void) { + return (UA_CurrencyUnitType*)UA_new(&UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_CurrencyUnitType_copy(const UA_CurrencyUnitType *src, UA_CurrencyUnitType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CurrencyUnitType_deleteMembers(UA_CurrencyUnitType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); +} + +static UA_INLINE void +UA_CurrencyUnitType_clear(UA_CurrencyUnitType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); +} + +static UA_INLINE void +UA_CurrencyUnitType_delete(UA_CurrencyUnitType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); +}static UA_INLINE UA_Boolean +UA_CurrencyUnitType_equal(const UA_CurrencyUnitType *p1, const UA_CurrencyUnitType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]) == UA_ORDER_EQ); +} + + + +/* AlarmMask */ +static UA_INLINE void +UA_AlarmMask_init(UA_AlarmMask *p) { + memset(p, 0, sizeof(UA_AlarmMask)); +} + +static UA_INLINE UA_AlarmMask * +UA_AlarmMask_new(void) { + return (UA_AlarmMask*)UA_new(&UA_TYPES[UA_TYPES_ALARMMASK]); +} + +static UA_INLINE UA_StatusCode +UA_AlarmMask_copy(const UA_AlarmMask *src, UA_AlarmMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ALARMMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AlarmMask_deleteMembers(UA_AlarmMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ALARMMASK]); +} + +static UA_INLINE void +UA_AlarmMask_clear(UA_AlarmMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ALARMMASK]); +} + +static UA_INLINE void +UA_AlarmMask_delete(UA_AlarmMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ALARMMASK]); +}static UA_INLINE UA_Boolean +UA_AlarmMask_equal(const UA_AlarmMask *p1, const UA_AlarmMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ALARMMASK]) == UA_ORDER_EQ); +} + + + +/* TrustListValidationOptions */ +static UA_INLINE void +UA_TrustListValidationOptions_init(UA_TrustListValidationOptions *p) { + memset(p, 0, sizeof(UA_TrustListValidationOptions)); +} + +static UA_INLINE UA_TrustListValidationOptions * +UA_TrustListValidationOptions_new(void) { + return (UA_TrustListValidationOptions*)UA_new(&UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); +} + +static UA_INLINE UA_StatusCode +UA_TrustListValidationOptions_copy(const UA_TrustListValidationOptions *src, UA_TrustListValidationOptions *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TrustListValidationOptions_deleteMembers(UA_TrustListValidationOptions *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); +} + +static UA_INLINE void +UA_TrustListValidationOptions_clear(UA_TrustListValidationOptions *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); +} + +static UA_INLINE void +UA_TrustListValidationOptions_delete(UA_TrustListValidationOptions *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); +}static UA_INLINE UA_Boolean +UA_TrustListValidationOptions_equal(const UA_TrustListValidationOptions *p1, const UA_TrustListValidationOptions *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]) == UA_ORDER_EQ); +} + + + +/* TrustListMasks */ +static UA_INLINE void +UA_TrustListMasks_init(UA_TrustListMasks *p) { + memset(p, 0, sizeof(UA_TrustListMasks)); +} + +static UA_INLINE UA_TrustListMasks * +UA_TrustListMasks_new(void) { + return (UA_TrustListMasks*)UA_new(&UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); +} + +static UA_INLINE UA_StatusCode +UA_TrustListMasks_copy(const UA_TrustListMasks *src, UA_TrustListMasks *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TrustListMasks_deleteMembers(UA_TrustListMasks *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); +} + +static UA_INLINE void +UA_TrustListMasks_clear(UA_TrustListMasks *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); +} + +static UA_INLINE void +UA_TrustListMasks_delete(UA_TrustListMasks *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); +}static UA_INLINE UA_Boolean +UA_TrustListMasks_equal(const UA_TrustListMasks *p1, const UA_TrustListMasks *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]) == UA_ORDER_EQ); +} + + + +/* TrustListDataType */ +static UA_INLINE void +UA_TrustListDataType_init(UA_TrustListDataType *p) { + memset(p, 0, sizeof(UA_TrustListDataType)); +} + +static UA_INLINE UA_TrustListDataType * +UA_TrustListDataType_new(void) { + return (UA_TrustListDataType*)UA_new(&UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_TrustListDataType_copy(const UA_TrustListDataType *src, UA_TrustListDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TrustListDataType_deleteMembers(UA_TrustListDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); +} + +static UA_INLINE void +UA_TrustListDataType_clear(UA_TrustListDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); +} + +static UA_INLINE void +UA_TrustListDataType_delete(UA_TrustListDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_TrustListDataType_equal(const UA_TrustListDataType *p1, const UA_TrustListDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* TransactionErrorType */ +static UA_INLINE void +UA_TransactionErrorType_init(UA_TransactionErrorType *p) { + memset(p, 0, sizeof(UA_TransactionErrorType)); +} + +static UA_INLINE UA_TransactionErrorType * +UA_TransactionErrorType_new(void) { + return (UA_TransactionErrorType*)UA_new(&UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_TransactionErrorType_copy(const UA_TransactionErrorType *src, UA_TransactionErrorType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TransactionErrorType_deleteMembers(UA_TransactionErrorType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); +} + +static UA_INLINE void +UA_TransactionErrorType_clear(UA_TransactionErrorType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); +} + +static UA_INLINE void +UA_TransactionErrorType_delete(UA_TransactionErrorType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); +}static UA_INLINE UA_Boolean +UA_TransactionErrorType_equal(const UA_TransactionErrorType *p1, const UA_TransactionErrorType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]) == UA_ORDER_EQ); +} + + + +/* DataTypeDescription */ +static UA_INLINE void +UA_DataTypeDescription_init(UA_DataTypeDescription *p) { + memset(p, 0, sizeof(UA_DataTypeDescription)); +} + +static UA_INLINE UA_DataTypeDescription * +UA_DataTypeDescription_new(void) { + return (UA_DataTypeDescription*)UA_new(&UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_DataTypeDescription_copy(const UA_DataTypeDescription *src, UA_DataTypeDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataTypeDescription_deleteMembers(UA_DataTypeDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); +} + +static UA_INLINE void +UA_DataTypeDescription_clear(UA_DataTypeDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); +} + +static UA_INLINE void +UA_DataTypeDescription_delete(UA_DataTypeDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_DataTypeDescription_equal(const UA_DataTypeDescription *p1, const UA_DataTypeDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* SimpleTypeDescription */ +static UA_INLINE void +UA_SimpleTypeDescription_init(UA_SimpleTypeDescription *p) { + memset(p, 0, sizeof(UA_SimpleTypeDescription)); +} + +static UA_INLINE UA_SimpleTypeDescription * +UA_SimpleTypeDescription_new(void) { + return (UA_SimpleTypeDescription*)UA_new(&UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_SimpleTypeDescription_copy(const UA_SimpleTypeDescription *src, UA_SimpleTypeDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SimpleTypeDescription_deleteMembers(UA_SimpleTypeDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); +} + +static UA_INLINE void +UA_SimpleTypeDescription_clear(UA_SimpleTypeDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); +} + +static UA_INLINE void +UA_SimpleTypeDescription_delete(UA_SimpleTypeDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_SimpleTypeDescription_equal(const UA_SimpleTypeDescription *p1, const UA_SimpleTypeDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* PortableQualifiedName */ +static UA_INLINE void +UA_PortableQualifiedName_init(UA_PortableQualifiedName *p) { + memset(p, 0, sizeof(UA_PortableQualifiedName)); +} + +static UA_INLINE UA_PortableQualifiedName * +UA_PortableQualifiedName_new(void) { + return (UA_PortableQualifiedName*)UA_new(&UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); +} + +static UA_INLINE UA_StatusCode +UA_PortableQualifiedName_copy(const UA_PortableQualifiedName *src, UA_PortableQualifiedName *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PortableQualifiedName_deleteMembers(UA_PortableQualifiedName *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); +} + +static UA_INLINE void +UA_PortableQualifiedName_clear(UA_PortableQualifiedName *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); +} + +static UA_INLINE void +UA_PortableQualifiedName_delete(UA_PortableQualifiedName *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); +}static UA_INLINE UA_Boolean +UA_PortableQualifiedName_equal(const UA_PortableQualifiedName *p1, const UA_PortableQualifiedName *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]) == UA_ORDER_EQ); +} + + + +/* PortableNodeId */ +static UA_INLINE void +UA_PortableNodeId_init(UA_PortableNodeId *p) { + memset(p, 0, sizeof(UA_PortableNodeId)); +} + +static UA_INLINE UA_PortableNodeId * +UA_PortableNodeId_new(void) { + return (UA_PortableNodeId*)UA_new(&UA_TYPES[UA_TYPES_PORTABLENODEID]); +} + +static UA_INLINE UA_StatusCode +UA_PortableNodeId_copy(const UA_PortableNodeId *src, UA_PortableNodeId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PORTABLENODEID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PortableNodeId_deleteMembers(UA_PortableNodeId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLENODEID]); +} + +static UA_INLINE void +UA_PortableNodeId_clear(UA_PortableNodeId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLENODEID]); +} + +static UA_INLINE void +UA_PortableNodeId_delete(UA_PortableNodeId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PORTABLENODEID]); +}static UA_INLINE UA_Boolean +UA_PortableNodeId_equal(const UA_PortableNodeId *p1, const UA_PortableNodeId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PORTABLENODEID]) == UA_ORDER_EQ); +} + + + +/* UnsignedRationalNumber */ +static UA_INLINE void +UA_UnsignedRationalNumber_init(UA_UnsignedRationalNumber *p) { + memset(p, 0, sizeof(UA_UnsignedRationalNumber)); +} + +static UA_INLINE UA_UnsignedRationalNumber * +UA_UnsignedRationalNumber_new(void) { + return (UA_UnsignedRationalNumber*)UA_new(&UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); +} + +static UA_INLINE UA_StatusCode +UA_UnsignedRationalNumber_copy(const UA_UnsignedRationalNumber *src, UA_UnsignedRationalNumber *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UnsignedRationalNumber_deleteMembers(UA_UnsignedRationalNumber *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); +} + +static UA_INLINE void +UA_UnsignedRationalNumber_clear(UA_UnsignedRationalNumber *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); +} + +static UA_INLINE void +UA_UnsignedRationalNumber_delete(UA_UnsignedRationalNumber *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); +}static UA_INLINE UA_Boolean +UA_UnsignedRationalNumber_equal(const UA_UnsignedRationalNumber *p1, const UA_UnsignedRationalNumber *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]) == UA_ORDER_EQ); +} + + + +/* PubSubState */ +static UA_INLINE void +UA_PubSubState_init(UA_PubSubState *p) { + memset(p, 0, sizeof(UA_PubSubState)); +} + +static UA_INLINE UA_PubSubState * +UA_PubSubState_new(void) { + return (UA_PubSubState*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBSTATE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubState_copy(const UA_PubSubState *src, UA_PubSubState *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubState_deleteMembers(UA_PubSubState *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); +} + +static UA_INLINE void +UA_PubSubState_clear(UA_PubSubState *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); +} + +static UA_INLINE void +UA_PubSubState_delete(UA_PubSubState *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); +}static UA_INLINE UA_Boolean +UA_PubSubState_equal(const UA_PubSubState *p1, const UA_PubSubState *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBSTATE]) == UA_ORDER_EQ); +} + + + +/* DataSetFieldFlags */ +static UA_INLINE void +UA_DataSetFieldFlags_init(UA_DataSetFieldFlags *p) { + memset(p, 0, sizeof(UA_DataSetFieldFlags)); +} + +static UA_INLINE UA_DataSetFieldFlags * +UA_DataSetFieldFlags_new(void) { + return (UA_DataSetFieldFlags*)UA_new(&UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); +} + +static UA_INLINE UA_StatusCode +UA_DataSetFieldFlags_copy(const UA_DataSetFieldFlags *src, UA_DataSetFieldFlags *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataSetFieldFlags_deleteMembers(UA_DataSetFieldFlags *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); +} + +static UA_INLINE void +UA_DataSetFieldFlags_clear(UA_DataSetFieldFlags *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); +} + +static UA_INLINE void +UA_DataSetFieldFlags_delete(UA_DataSetFieldFlags *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); +}static UA_INLINE UA_Boolean +UA_DataSetFieldFlags_equal(const UA_DataSetFieldFlags *p1, const UA_DataSetFieldFlags *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]) == UA_ORDER_EQ); +} + + + +/* ConfigurationVersionDataType */ +static UA_INLINE void +UA_ConfigurationVersionDataType_init(UA_ConfigurationVersionDataType *p) { + memset(p, 0, sizeof(UA_ConfigurationVersionDataType)); +} + +static UA_INLINE UA_ConfigurationVersionDataType * +UA_ConfigurationVersionDataType_new(void) { + return (UA_ConfigurationVersionDataType*)UA_new(&UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ConfigurationVersionDataType_copy(const UA_ConfigurationVersionDataType *src, UA_ConfigurationVersionDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ConfigurationVersionDataType_deleteMembers(UA_ConfigurationVersionDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); +} + +static UA_INLINE void +UA_ConfigurationVersionDataType_clear(UA_ConfigurationVersionDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); +} + +static UA_INLINE void +UA_ConfigurationVersionDataType_delete(UA_ConfigurationVersionDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ConfigurationVersionDataType_equal(const UA_ConfigurationVersionDataType *p1, const UA_ConfigurationVersionDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PublishedVariableDataType */ +static UA_INLINE void +UA_PublishedVariableDataType_init(UA_PublishedVariableDataType *p) { + memset(p, 0, sizeof(UA_PublishedVariableDataType)); +} + +static UA_INLINE UA_PublishedVariableDataType * +UA_PublishedVariableDataType_new(void) { + return (UA_PublishedVariableDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PublishedVariableDataType_copy(const UA_PublishedVariableDataType *src, UA_PublishedVariableDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishedVariableDataType_deleteMembers(UA_PublishedVariableDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); +} + +static UA_INLINE void +UA_PublishedVariableDataType_clear(UA_PublishedVariableDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); +} + +static UA_INLINE void +UA_PublishedVariableDataType_delete(UA_PublishedVariableDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PublishedVariableDataType_equal(const UA_PublishedVariableDataType *p1, const UA_PublishedVariableDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PublishedDataItemsDataType */ +static UA_INLINE void +UA_PublishedDataItemsDataType_init(UA_PublishedDataItemsDataType *p) { + memset(p, 0, sizeof(UA_PublishedDataItemsDataType)); +} + +static UA_INLINE UA_PublishedDataItemsDataType * +UA_PublishedDataItemsDataType_new(void) { + return (UA_PublishedDataItemsDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PublishedDataItemsDataType_copy(const UA_PublishedDataItemsDataType *src, UA_PublishedDataItemsDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishedDataItemsDataType_deleteMembers(UA_PublishedDataItemsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); +} + +static UA_INLINE void +UA_PublishedDataItemsDataType_clear(UA_PublishedDataItemsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); +} + +static UA_INLINE void +UA_PublishedDataItemsDataType_delete(UA_PublishedDataItemsDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PublishedDataItemsDataType_equal(const UA_PublishedDataItemsDataType *p1, const UA_PublishedDataItemsDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PublishedDataSetCustomSourceDataType */ +static UA_INLINE void +UA_PublishedDataSetCustomSourceDataType_init(UA_PublishedDataSetCustomSourceDataType *p) { + memset(p, 0, sizeof(UA_PublishedDataSetCustomSourceDataType)); +} + +static UA_INLINE UA_PublishedDataSetCustomSourceDataType * +UA_PublishedDataSetCustomSourceDataType_new(void) { + return (UA_PublishedDataSetCustomSourceDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PublishedDataSetCustomSourceDataType_copy(const UA_PublishedDataSetCustomSourceDataType *src, UA_PublishedDataSetCustomSourceDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishedDataSetCustomSourceDataType_deleteMembers(UA_PublishedDataSetCustomSourceDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); +} + +static UA_INLINE void +UA_PublishedDataSetCustomSourceDataType_clear(UA_PublishedDataSetCustomSourceDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); +} + +static UA_INLINE void +UA_PublishedDataSetCustomSourceDataType_delete(UA_PublishedDataSetCustomSourceDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PublishedDataSetCustomSourceDataType_equal(const UA_PublishedDataSetCustomSourceDataType *p1, const UA_PublishedDataSetCustomSourceDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DataSetFieldContentMask */ +static UA_INLINE void +UA_DataSetFieldContentMask_init(UA_DataSetFieldContentMask *p) { + memset(p, 0, sizeof(UA_DataSetFieldContentMask)); +} + +static UA_INLINE UA_DataSetFieldContentMask * +UA_DataSetFieldContentMask_new(void) { + return (UA_DataSetFieldContentMask*)UA_new(&UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); +} + +static UA_INLINE UA_StatusCode +UA_DataSetFieldContentMask_copy(const UA_DataSetFieldContentMask *src, UA_DataSetFieldContentMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataSetFieldContentMask_deleteMembers(UA_DataSetFieldContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); +} + +static UA_INLINE void +UA_DataSetFieldContentMask_clear(UA_DataSetFieldContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); +} + +static UA_INLINE void +UA_DataSetFieldContentMask_delete(UA_DataSetFieldContentMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); +}static UA_INLINE UA_Boolean +UA_DataSetFieldContentMask_equal(const UA_DataSetFieldContentMask *p1, const UA_DataSetFieldContentMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]) == UA_ORDER_EQ); +} + + + +/* DataSetWriterDataType */ +static UA_INLINE void +UA_DataSetWriterDataType_init(UA_DataSetWriterDataType *p) { + memset(p, 0, sizeof(UA_DataSetWriterDataType)); +} + +static UA_INLINE UA_DataSetWriterDataType * +UA_DataSetWriterDataType_new(void) { + return (UA_DataSetWriterDataType*)UA_new(&UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DataSetWriterDataType_copy(const UA_DataSetWriterDataType *src, UA_DataSetWriterDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataSetWriterDataType_deleteMembers(UA_DataSetWriterDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); +} + +static UA_INLINE void +UA_DataSetWriterDataType_clear(UA_DataSetWriterDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); +} + +static UA_INLINE void +UA_DataSetWriterDataType_delete(UA_DataSetWriterDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); +}static UA_INLINE UA_Boolean +UA_DataSetWriterDataType_equal(const UA_DataSetWriterDataType *p1, const UA_DataSetWriterDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]) == UA_ORDER_EQ); +} + + + +/* NetworkAddressDataType */ +static UA_INLINE void +UA_NetworkAddressDataType_init(UA_NetworkAddressDataType *p) { + memset(p, 0, sizeof(UA_NetworkAddressDataType)); +} + +static UA_INLINE UA_NetworkAddressDataType * +UA_NetworkAddressDataType_new(void) { + return (UA_NetworkAddressDataType*)UA_new(&UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_NetworkAddressDataType_copy(const UA_NetworkAddressDataType *src, UA_NetworkAddressDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NetworkAddressDataType_deleteMembers(UA_NetworkAddressDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); +} + +static UA_INLINE void +UA_NetworkAddressDataType_clear(UA_NetworkAddressDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); +} + +static UA_INLINE void +UA_NetworkAddressDataType_delete(UA_NetworkAddressDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_NetworkAddressDataType_equal(const UA_NetworkAddressDataType *p1, const UA_NetworkAddressDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* NetworkAddressUrlDataType */ +static UA_INLINE void +UA_NetworkAddressUrlDataType_init(UA_NetworkAddressUrlDataType *p) { + memset(p, 0, sizeof(UA_NetworkAddressUrlDataType)); +} + +static UA_INLINE UA_NetworkAddressUrlDataType * +UA_NetworkAddressUrlDataType_new(void) { + return (UA_NetworkAddressUrlDataType*)UA_new(&UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_NetworkAddressUrlDataType_copy(const UA_NetworkAddressUrlDataType *src, UA_NetworkAddressUrlDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NetworkAddressUrlDataType_deleteMembers(UA_NetworkAddressUrlDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); +} + +static UA_INLINE void +UA_NetworkAddressUrlDataType_clear(UA_NetworkAddressUrlDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); +} + +static UA_INLINE void +UA_NetworkAddressUrlDataType_delete(UA_NetworkAddressUrlDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); +}static UA_INLINE UA_Boolean +UA_NetworkAddressUrlDataType_equal(const UA_NetworkAddressUrlDataType *p1, const UA_NetworkAddressUrlDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]) == UA_ORDER_EQ); +} + + + +/* OverrideValueHandling */ +static UA_INLINE void +UA_OverrideValueHandling_init(UA_OverrideValueHandling *p) { + memset(p, 0, sizeof(UA_OverrideValueHandling)); +} + +static UA_INLINE UA_OverrideValueHandling * +UA_OverrideValueHandling_new(void) { + return (UA_OverrideValueHandling*)UA_new(&UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); +} + +static UA_INLINE UA_StatusCode +UA_OverrideValueHandling_copy(const UA_OverrideValueHandling *src, UA_OverrideValueHandling *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_OverrideValueHandling_deleteMembers(UA_OverrideValueHandling *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); +} + +static UA_INLINE void +UA_OverrideValueHandling_clear(UA_OverrideValueHandling *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); +} + +static UA_INLINE void +UA_OverrideValueHandling_delete(UA_OverrideValueHandling *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); +}static UA_INLINE UA_Boolean +UA_OverrideValueHandling_equal(const UA_OverrideValueHandling *p1, const UA_OverrideValueHandling *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]) == UA_ORDER_EQ); +} + + + +/* StandaloneSubscribedDataSetRefDataType */ +static UA_INLINE void +UA_StandaloneSubscribedDataSetRefDataType_init(UA_StandaloneSubscribedDataSetRefDataType *p) { + memset(p, 0, sizeof(UA_StandaloneSubscribedDataSetRefDataType)); +} + +static UA_INLINE UA_StandaloneSubscribedDataSetRefDataType * +UA_StandaloneSubscribedDataSetRefDataType_new(void) { + return (UA_StandaloneSubscribedDataSetRefDataType*)UA_new(&UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_StandaloneSubscribedDataSetRefDataType_copy(const UA_StandaloneSubscribedDataSetRefDataType *src, UA_StandaloneSubscribedDataSetRefDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StandaloneSubscribedDataSetRefDataType_deleteMembers(UA_StandaloneSubscribedDataSetRefDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); +} + +static UA_INLINE void +UA_StandaloneSubscribedDataSetRefDataType_clear(UA_StandaloneSubscribedDataSetRefDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); +} + +static UA_INLINE void +UA_StandaloneSubscribedDataSetRefDataType_delete(UA_StandaloneSubscribedDataSetRefDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); +}static UA_INLINE UA_Boolean +UA_StandaloneSubscribedDataSetRefDataType_equal(const UA_StandaloneSubscribedDataSetRefDataType *p1, const UA_StandaloneSubscribedDataSetRefDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DataSetOrderingType */ +static UA_INLINE void +UA_DataSetOrderingType_init(UA_DataSetOrderingType *p) { + memset(p, 0, sizeof(UA_DataSetOrderingType)); +} + +static UA_INLINE UA_DataSetOrderingType * +UA_DataSetOrderingType_new(void) { + return (UA_DataSetOrderingType*)UA_new(&UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DataSetOrderingType_copy(const UA_DataSetOrderingType *src, UA_DataSetOrderingType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataSetOrderingType_deleteMembers(UA_DataSetOrderingType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); +} + +static UA_INLINE void +UA_DataSetOrderingType_clear(UA_DataSetOrderingType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); +} + +static UA_INLINE void +UA_DataSetOrderingType_delete(UA_DataSetOrderingType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); +}static UA_INLINE UA_Boolean +UA_DataSetOrderingType_equal(const UA_DataSetOrderingType *p1, const UA_DataSetOrderingType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]) == UA_ORDER_EQ); +} + + + +/* UadpNetworkMessageContentMask */ +static UA_INLINE void +UA_UadpNetworkMessageContentMask_init(UA_UadpNetworkMessageContentMask *p) { + memset(p, 0, sizeof(UA_UadpNetworkMessageContentMask)); +} + +static UA_INLINE UA_UadpNetworkMessageContentMask * +UA_UadpNetworkMessageContentMask_new(void) { + return (UA_UadpNetworkMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); +} + +static UA_INLINE UA_StatusCode +UA_UadpNetworkMessageContentMask_copy(const UA_UadpNetworkMessageContentMask *src, UA_UadpNetworkMessageContentMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UadpNetworkMessageContentMask_deleteMembers(UA_UadpNetworkMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_UadpNetworkMessageContentMask_clear(UA_UadpNetworkMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_UadpNetworkMessageContentMask_delete(UA_UadpNetworkMessageContentMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); +}static UA_INLINE UA_Boolean +UA_UadpNetworkMessageContentMask_equal(const UA_UadpNetworkMessageContentMask *p1, const UA_UadpNetworkMessageContentMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]) == UA_ORDER_EQ); +} + + + +/* UadpWriterGroupMessageDataType */ +static UA_INLINE void +UA_UadpWriterGroupMessageDataType_init(UA_UadpWriterGroupMessageDataType *p) { + memset(p, 0, sizeof(UA_UadpWriterGroupMessageDataType)); +} + +static UA_INLINE UA_UadpWriterGroupMessageDataType * +UA_UadpWriterGroupMessageDataType_new(void) { + return (UA_UadpWriterGroupMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_UadpWriterGroupMessageDataType_copy(const UA_UadpWriterGroupMessageDataType *src, UA_UadpWriterGroupMessageDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UadpWriterGroupMessageDataType_deleteMembers(UA_UadpWriterGroupMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_UadpWriterGroupMessageDataType_clear(UA_UadpWriterGroupMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_UadpWriterGroupMessageDataType_delete(UA_UadpWriterGroupMessageDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_UadpWriterGroupMessageDataType_equal(const UA_UadpWriterGroupMessageDataType *p1, const UA_UadpWriterGroupMessageDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* UadpDataSetMessageContentMask */ +static UA_INLINE void +UA_UadpDataSetMessageContentMask_init(UA_UadpDataSetMessageContentMask *p) { + memset(p, 0, sizeof(UA_UadpDataSetMessageContentMask)); +} + +static UA_INLINE UA_UadpDataSetMessageContentMask * +UA_UadpDataSetMessageContentMask_new(void) { + return (UA_UadpDataSetMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); +} + +static UA_INLINE UA_StatusCode +UA_UadpDataSetMessageContentMask_copy(const UA_UadpDataSetMessageContentMask *src, UA_UadpDataSetMessageContentMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UadpDataSetMessageContentMask_deleteMembers(UA_UadpDataSetMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_UadpDataSetMessageContentMask_clear(UA_UadpDataSetMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_UadpDataSetMessageContentMask_delete(UA_UadpDataSetMessageContentMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); +}static UA_INLINE UA_Boolean +UA_UadpDataSetMessageContentMask_equal(const UA_UadpDataSetMessageContentMask *p1, const UA_UadpDataSetMessageContentMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]) == UA_ORDER_EQ); +} + + + +/* UadpDataSetWriterMessageDataType */ +static UA_INLINE void +UA_UadpDataSetWriterMessageDataType_init(UA_UadpDataSetWriterMessageDataType *p) { + memset(p, 0, sizeof(UA_UadpDataSetWriterMessageDataType)); +} + +static UA_INLINE UA_UadpDataSetWriterMessageDataType * +UA_UadpDataSetWriterMessageDataType_new(void) { + return (UA_UadpDataSetWriterMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_UadpDataSetWriterMessageDataType_copy(const UA_UadpDataSetWriterMessageDataType *src, UA_UadpDataSetWriterMessageDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UadpDataSetWriterMessageDataType_deleteMembers(UA_UadpDataSetWriterMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_UadpDataSetWriterMessageDataType_clear(UA_UadpDataSetWriterMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_UadpDataSetWriterMessageDataType_delete(UA_UadpDataSetWriterMessageDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_UadpDataSetWriterMessageDataType_equal(const UA_UadpDataSetWriterMessageDataType *p1, const UA_UadpDataSetWriterMessageDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* UadpDataSetReaderMessageDataType */ +static UA_INLINE void +UA_UadpDataSetReaderMessageDataType_init(UA_UadpDataSetReaderMessageDataType *p) { + memset(p, 0, sizeof(UA_UadpDataSetReaderMessageDataType)); +} + +static UA_INLINE UA_UadpDataSetReaderMessageDataType * +UA_UadpDataSetReaderMessageDataType_new(void) { + return (UA_UadpDataSetReaderMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_UadpDataSetReaderMessageDataType_copy(const UA_UadpDataSetReaderMessageDataType *src, UA_UadpDataSetReaderMessageDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UadpDataSetReaderMessageDataType_deleteMembers(UA_UadpDataSetReaderMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_UadpDataSetReaderMessageDataType_clear(UA_UadpDataSetReaderMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_UadpDataSetReaderMessageDataType_delete(UA_UadpDataSetReaderMessageDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_UadpDataSetReaderMessageDataType_equal(const UA_UadpDataSetReaderMessageDataType *p1, const UA_UadpDataSetReaderMessageDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* JsonNetworkMessageContentMask */ +static UA_INLINE void +UA_JsonNetworkMessageContentMask_init(UA_JsonNetworkMessageContentMask *p) { + memset(p, 0, sizeof(UA_JsonNetworkMessageContentMask)); +} + +static UA_INLINE UA_JsonNetworkMessageContentMask * +UA_JsonNetworkMessageContentMask_new(void) { + return (UA_JsonNetworkMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); +} + +static UA_INLINE UA_StatusCode +UA_JsonNetworkMessageContentMask_copy(const UA_JsonNetworkMessageContentMask *src, UA_JsonNetworkMessageContentMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_JsonNetworkMessageContentMask_deleteMembers(UA_JsonNetworkMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_JsonNetworkMessageContentMask_clear(UA_JsonNetworkMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_JsonNetworkMessageContentMask_delete(UA_JsonNetworkMessageContentMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); +}static UA_INLINE UA_Boolean +UA_JsonNetworkMessageContentMask_equal(const UA_JsonNetworkMessageContentMask *p1, const UA_JsonNetworkMessageContentMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]) == UA_ORDER_EQ); +} + + + +/* JsonWriterGroupMessageDataType */ +static UA_INLINE void +UA_JsonWriterGroupMessageDataType_init(UA_JsonWriterGroupMessageDataType *p) { + memset(p, 0, sizeof(UA_JsonWriterGroupMessageDataType)); +} + +static UA_INLINE UA_JsonWriterGroupMessageDataType * +UA_JsonWriterGroupMessageDataType_new(void) { + return (UA_JsonWriterGroupMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_JsonWriterGroupMessageDataType_copy(const UA_JsonWriterGroupMessageDataType *src, UA_JsonWriterGroupMessageDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_JsonWriterGroupMessageDataType_deleteMembers(UA_JsonWriterGroupMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_JsonWriterGroupMessageDataType_clear(UA_JsonWriterGroupMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_JsonWriterGroupMessageDataType_delete(UA_JsonWriterGroupMessageDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_JsonWriterGroupMessageDataType_equal(const UA_JsonWriterGroupMessageDataType *p1, const UA_JsonWriterGroupMessageDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* JsonDataSetMessageContentMask */ +static UA_INLINE void +UA_JsonDataSetMessageContentMask_init(UA_JsonDataSetMessageContentMask *p) { + memset(p, 0, sizeof(UA_JsonDataSetMessageContentMask)); +} + +static UA_INLINE UA_JsonDataSetMessageContentMask * +UA_JsonDataSetMessageContentMask_new(void) { + return (UA_JsonDataSetMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); +} + +static UA_INLINE UA_StatusCode +UA_JsonDataSetMessageContentMask_copy(const UA_JsonDataSetMessageContentMask *src, UA_JsonDataSetMessageContentMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_JsonDataSetMessageContentMask_deleteMembers(UA_JsonDataSetMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_JsonDataSetMessageContentMask_clear(UA_JsonDataSetMessageContentMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); +} + +static UA_INLINE void +UA_JsonDataSetMessageContentMask_delete(UA_JsonDataSetMessageContentMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); +}static UA_INLINE UA_Boolean +UA_JsonDataSetMessageContentMask_equal(const UA_JsonDataSetMessageContentMask *p1, const UA_JsonDataSetMessageContentMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]) == UA_ORDER_EQ); +} + + + +/* JsonDataSetWriterMessageDataType */ +static UA_INLINE void +UA_JsonDataSetWriterMessageDataType_init(UA_JsonDataSetWriterMessageDataType *p) { + memset(p, 0, sizeof(UA_JsonDataSetWriterMessageDataType)); +} + +static UA_INLINE UA_JsonDataSetWriterMessageDataType * +UA_JsonDataSetWriterMessageDataType_new(void) { + return (UA_JsonDataSetWriterMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_JsonDataSetWriterMessageDataType_copy(const UA_JsonDataSetWriterMessageDataType *src, UA_JsonDataSetWriterMessageDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_JsonDataSetWriterMessageDataType_deleteMembers(UA_JsonDataSetWriterMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_JsonDataSetWriterMessageDataType_clear(UA_JsonDataSetWriterMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_JsonDataSetWriterMessageDataType_delete(UA_JsonDataSetWriterMessageDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_JsonDataSetWriterMessageDataType_equal(const UA_JsonDataSetWriterMessageDataType *p1, const UA_JsonDataSetWriterMessageDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* JsonDataSetReaderMessageDataType */ +static UA_INLINE void +UA_JsonDataSetReaderMessageDataType_init(UA_JsonDataSetReaderMessageDataType *p) { + memset(p, 0, sizeof(UA_JsonDataSetReaderMessageDataType)); +} + +static UA_INLINE UA_JsonDataSetReaderMessageDataType * +UA_JsonDataSetReaderMessageDataType_new(void) { + return (UA_JsonDataSetReaderMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_JsonDataSetReaderMessageDataType_copy(const UA_JsonDataSetReaderMessageDataType *src, UA_JsonDataSetReaderMessageDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_JsonDataSetReaderMessageDataType_deleteMembers(UA_JsonDataSetReaderMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_JsonDataSetReaderMessageDataType_clear(UA_JsonDataSetReaderMessageDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); +} + +static UA_INLINE void +UA_JsonDataSetReaderMessageDataType_delete(UA_JsonDataSetReaderMessageDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_JsonDataSetReaderMessageDataType_equal(const UA_JsonDataSetReaderMessageDataType *p1, const UA_JsonDataSetReaderMessageDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* TransmitQosPriorityDataType */ +static UA_INLINE void +UA_TransmitQosPriorityDataType_init(UA_TransmitQosPriorityDataType *p) { + memset(p, 0, sizeof(UA_TransmitQosPriorityDataType)); +} + +static UA_INLINE UA_TransmitQosPriorityDataType * +UA_TransmitQosPriorityDataType_new(void) { + return (UA_TransmitQosPriorityDataType*)UA_new(&UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_TransmitQosPriorityDataType_copy(const UA_TransmitQosPriorityDataType *src, UA_TransmitQosPriorityDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TransmitQosPriorityDataType_deleteMembers(UA_TransmitQosPriorityDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); +} + +static UA_INLINE void +UA_TransmitQosPriorityDataType_clear(UA_TransmitQosPriorityDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); +} + +static UA_INLINE void +UA_TransmitQosPriorityDataType_delete(UA_TransmitQosPriorityDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); +}static UA_INLINE UA_Boolean +UA_TransmitQosPriorityDataType_equal(const UA_TransmitQosPriorityDataType *p1, const UA_TransmitQosPriorityDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ReceiveQosPriorityDataType */ +static UA_INLINE void +UA_ReceiveQosPriorityDataType_init(UA_ReceiveQosPriorityDataType *p) { + memset(p, 0, sizeof(UA_ReceiveQosPriorityDataType)); +} + +static UA_INLINE UA_ReceiveQosPriorityDataType * +UA_ReceiveQosPriorityDataType_new(void) { + return (UA_ReceiveQosPriorityDataType*)UA_new(&UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ReceiveQosPriorityDataType_copy(const UA_ReceiveQosPriorityDataType *src, UA_ReceiveQosPriorityDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReceiveQosPriorityDataType_deleteMembers(UA_ReceiveQosPriorityDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); +} + +static UA_INLINE void +UA_ReceiveQosPriorityDataType_clear(UA_ReceiveQosPriorityDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); +} + +static UA_INLINE void +UA_ReceiveQosPriorityDataType_delete(UA_ReceiveQosPriorityDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ReceiveQosPriorityDataType_equal(const UA_ReceiveQosPriorityDataType *p1, const UA_ReceiveQosPriorityDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DatagramConnectionTransportDataType */ +static UA_INLINE void +UA_DatagramConnectionTransportDataType_init(UA_DatagramConnectionTransportDataType *p) { + memset(p, 0, sizeof(UA_DatagramConnectionTransportDataType)); +} + +static UA_INLINE UA_DatagramConnectionTransportDataType * +UA_DatagramConnectionTransportDataType_new(void) { + return (UA_DatagramConnectionTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DatagramConnectionTransportDataType_copy(const UA_DatagramConnectionTransportDataType *src, UA_DatagramConnectionTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DatagramConnectionTransportDataType_deleteMembers(UA_DatagramConnectionTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_DatagramConnectionTransportDataType_clear(UA_DatagramConnectionTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_DatagramConnectionTransportDataType_delete(UA_DatagramConnectionTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_DatagramConnectionTransportDataType_equal(const UA_DatagramConnectionTransportDataType *p1, const UA_DatagramConnectionTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DatagramConnectionTransport2DataType */ +static UA_INLINE void +UA_DatagramConnectionTransport2DataType_init(UA_DatagramConnectionTransport2DataType *p) { + memset(p, 0, sizeof(UA_DatagramConnectionTransport2DataType)); +} + +static UA_INLINE UA_DatagramConnectionTransport2DataType * +UA_DatagramConnectionTransport2DataType_new(void) { + return (UA_DatagramConnectionTransport2DataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DatagramConnectionTransport2DataType_copy(const UA_DatagramConnectionTransport2DataType *src, UA_DatagramConnectionTransport2DataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DatagramConnectionTransport2DataType_deleteMembers(UA_DatagramConnectionTransport2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); +} + +static UA_INLINE void +UA_DatagramConnectionTransport2DataType_clear(UA_DatagramConnectionTransport2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); +} + +static UA_INLINE void +UA_DatagramConnectionTransport2DataType_delete(UA_DatagramConnectionTransport2DataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); +}static UA_INLINE UA_Boolean +UA_DatagramConnectionTransport2DataType_equal(const UA_DatagramConnectionTransport2DataType *p1, const UA_DatagramConnectionTransport2DataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]) == UA_ORDER_EQ); +} + + + +/* DatagramWriterGroupTransportDataType */ +static UA_INLINE void +UA_DatagramWriterGroupTransportDataType_init(UA_DatagramWriterGroupTransportDataType *p) { + memset(p, 0, sizeof(UA_DatagramWriterGroupTransportDataType)); +} + +static UA_INLINE UA_DatagramWriterGroupTransportDataType * +UA_DatagramWriterGroupTransportDataType_new(void) { + return (UA_DatagramWriterGroupTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DatagramWriterGroupTransportDataType_copy(const UA_DatagramWriterGroupTransportDataType *src, UA_DatagramWriterGroupTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DatagramWriterGroupTransportDataType_deleteMembers(UA_DatagramWriterGroupTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_DatagramWriterGroupTransportDataType_clear(UA_DatagramWriterGroupTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_DatagramWriterGroupTransportDataType_delete(UA_DatagramWriterGroupTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_DatagramWriterGroupTransportDataType_equal(const UA_DatagramWriterGroupTransportDataType *p1, const UA_DatagramWriterGroupTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DatagramWriterGroupTransport2DataType */ +static UA_INLINE void +UA_DatagramWriterGroupTransport2DataType_init(UA_DatagramWriterGroupTransport2DataType *p) { + memset(p, 0, sizeof(UA_DatagramWriterGroupTransport2DataType)); +} + +static UA_INLINE UA_DatagramWriterGroupTransport2DataType * +UA_DatagramWriterGroupTransport2DataType_new(void) { + return (UA_DatagramWriterGroupTransport2DataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DatagramWriterGroupTransport2DataType_copy(const UA_DatagramWriterGroupTransport2DataType *src, UA_DatagramWriterGroupTransport2DataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DatagramWriterGroupTransport2DataType_deleteMembers(UA_DatagramWriterGroupTransport2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); +} + +static UA_INLINE void +UA_DatagramWriterGroupTransport2DataType_clear(UA_DatagramWriterGroupTransport2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); +} + +static UA_INLINE void +UA_DatagramWriterGroupTransport2DataType_delete(UA_DatagramWriterGroupTransport2DataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); +}static UA_INLINE UA_Boolean +UA_DatagramWriterGroupTransport2DataType_equal(const UA_DatagramWriterGroupTransport2DataType *p1, const UA_DatagramWriterGroupTransport2DataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]) == UA_ORDER_EQ); +} + + + +/* DatagramDataSetReaderTransportDataType */ +static UA_INLINE void +UA_DatagramDataSetReaderTransportDataType_init(UA_DatagramDataSetReaderTransportDataType *p) { + memset(p, 0, sizeof(UA_DatagramDataSetReaderTransportDataType)); +} + +static UA_INLINE UA_DatagramDataSetReaderTransportDataType * +UA_DatagramDataSetReaderTransportDataType_new(void) { + return (UA_DatagramDataSetReaderTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DatagramDataSetReaderTransportDataType_copy(const UA_DatagramDataSetReaderTransportDataType *src, UA_DatagramDataSetReaderTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DatagramDataSetReaderTransportDataType_deleteMembers(UA_DatagramDataSetReaderTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_DatagramDataSetReaderTransportDataType_clear(UA_DatagramDataSetReaderTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_DatagramDataSetReaderTransportDataType_delete(UA_DatagramDataSetReaderTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_DatagramDataSetReaderTransportDataType_equal(const UA_DatagramDataSetReaderTransportDataType *p1, const UA_DatagramDataSetReaderTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* BrokerConnectionTransportDataType */ +static UA_INLINE void +UA_BrokerConnectionTransportDataType_init(UA_BrokerConnectionTransportDataType *p) { + memset(p, 0, sizeof(UA_BrokerConnectionTransportDataType)); +} + +static UA_INLINE UA_BrokerConnectionTransportDataType * +UA_BrokerConnectionTransportDataType_new(void) { + return (UA_BrokerConnectionTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_BrokerConnectionTransportDataType_copy(const UA_BrokerConnectionTransportDataType *src, UA_BrokerConnectionTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrokerConnectionTransportDataType_deleteMembers(UA_BrokerConnectionTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerConnectionTransportDataType_clear(UA_BrokerConnectionTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerConnectionTransportDataType_delete(UA_BrokerConnectionTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_BrokerConnectionTransportDataType_equal(const UA_BrokerConnectionTransportDataType *p1, const UA_BrokerConnectionTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* BrokerTransportQualityOfService */ +static UA_INLINE void +UA_BrokerTransportQualityOfService_init(UA_BrokerTransportQualityOfService *p) { + memset(p, 0, sizeof(UA_BrokerTransportQualityOfService)); +} + +static UA_INLINE UA_BrokerTransportQualityOfService * +UA_BrokerTransportQualityOfService_new(void) { + return (UA_BrokerTransportQualityOfService*)UA_new(&UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); +} + +static UA_INLINE UA_StatusCode +UA_BrokerTransportQualityOfService_copy(const UA_BrokerTransportQualityOfService *src, UA_BrokerTransportQualityOfService *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrokerTransportQualityOfService_deleteMembers(UA_BrokerTransportQualityOfService *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); +} + +static UA_INLINE void +UA_BrokerTransportQualityOfService_clear(UA_BrokerTransportQualityOfService *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); +} + +static UA_INLINE void +UA_BrokerTransportQualityOfService_delete(UA_BrokerTransportQualityOfService *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); +}static UA_INLINE UA_Boolean +UA_BrokerTransportQualityOfService_equal(const UA_BrokerTransportQualityOfService *p1, const UA_BrokerTransportQualityOfService *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]) == UA_ORDER_EQ); +} + + + +/* BrokerWriterGroupTransportDataType */ +static UA_INLINE void +UA_BrokerWriterGroupTransportDataType_init(UA_BrokerWriterGroupTransportDataType *p) { + memset(p, 0, sizeof(UA_BrokerWriterGroupTransportDataType)); +} + +static UA_INLINE UA_BrokerWriterGroupTransportDataType * +UA_BrokerWriterGroupTransportDataType_new(void) { + return (UA_BrokerWriterGroupTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_BrokerWriterGroupTransportDataType_copy(const UA_BrokerWriterGroupTransportDataType *src, UA_BrokerWriterGroupTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrokerWriterGroupTransportDataType_deleteMembers(UA_BrokerWriterGroupTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerWriterGroupTransportDataType_clear(UA_BrokerWriterGroupTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerWriterGroupTransportDataType_delete(UA_BrokerWriterGroupTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_BrokerWriterGroupTransportDataType_equal(const UA_BrokerWriterGroupTransportDataType *p1, const UA_BrokerWriterGroupTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* BrokerDataSetWriterTransportDataType */ +static UA_INLINE void +UA_BrokerDataSetWriterTransportDataType_init(UA_BrokerDataSetWriterTransportDataType *p) { + memset(p, 0, sizeof(UA_BrokerDataSetWriterTransportDataType)); +} + +static UA_INLINE UA_BrokerDataSetWriterTransportDataType * +UA_BrokerDataSetWriterTransportDataType_new(void) { + return (UA_BrokerDataSetWriterTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_BrokerDataSetWriterTransportDataType_copy(const UA_BrokerDataSetWriterTransportDataType *src, UA_BrokerDataSetWriterTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrokerDataSetWriterTransportDataType_deleteMembers(UA_BrokerDataSetWriterTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerDataSetWriterTransportDataType_clear(UA_BrokerDataSetWriterTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerDataSetWriterTransportDataType_delete(UA_BrokerDataSetWriterTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_BrokerDataSetWriterTransportDataType_equal(const UA_BrokerDataSetWriterTransportDataType *p1, const UA_BrokerDataSetWriterTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* BrokerDataSetReaderTransportDataType */ +static UA_INLINE void +UA_BrokerDataSetReaderTransportDataType_init(UA_BrokerDataSetReaderTransportDataType *p) { + memset(p, 0, sizeof(UA_BrokerDataSetReaderTransportDataType)); +} + +static UA_INLINE UA_BrokerDataSetReaderTransportDataType * +UA_BrokerDataSetReaderTransportDataType_new(void) { + return (UA_BrokerDataSetReaderTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_BrokerDataSetReaderTransportDataType_copy(const UA_BrokerDataSetReaderTransportDataType *src, UA_BrokerDataSetReaderTransportDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrokerDataSetReaderTransportDataType_deleteMembers(UA_BrokerDataSetReaderTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerDataSetReaderTransportDataType_clear(UA_BrokerDataSetReaderTransportDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); +} + +static UA_INLINE void +UA_BrokerDataSetReaderTransportDataType_delete(UA_BrokerDataSetReaderTransportDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_BrokerDataSetReaderTransportDataType_equal(const UA_BrokerDataSetReaderTransportDataType *p1, const UA_BrokerDataSetReaderTransportDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubConfigurationRefMask */ +static UA_INLINE void +UA_PubSubConfigurationRefMask_init(UA_PubSubConfigurationRefMask *p) { + memset(p, 0, sizeof(UA_PubSubConfigurationRefMask)); +} + +static UA_INLINE UA_PubSubConfigurationRefMask * +UA_PubSubConfigurationRefMask_new(void) { + return (UA_PubSubConfigurationRefMask*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubConfigurationRefMask_copy(const UA_PubSubConfigurationRefMask *src, UA_PubSubConfigurationRefMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubConfigurationRefMask_deleteMembers(UA_PubSubConfigurationRefMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); +} + +static UA_INLINE void +UA_PubSubConfigurationRefMask_clear(UA_PubSubConfigurationRefMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); +} + +static UA_INLINE void +UA_PubSubConfigurationRefMask_delete(UA_PubSubConfigurationRefMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); +}static UA_INLINE UA_Boolean +UA_PubSubConfigurationRefMask_equal(const UA_PubSubConfigurationRefMask *p1, const UA_PubSubConfigurationRefMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]) == UA_ORDER_EQ); +} + + + +/* PubSubConfigurationRefDataType */ +static UA_INLINE void +UA_PubSubConfigurationRefDataType_init(UA_PubSubConfigurationRefDataType *p) { + memset(p, 0, sizeof(UA_PubSubConfigurationRefDataType)); +} + +static UA_INLINE UA_PubSubConfigurationRefDataType * +UA_PubSubConfigurationRefDataType_new(void) { + return (UA_PubSubConfigurationRefDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubConfigurationRefDataType_copy(const UA_PubSubConfigurationRefDataType *src, UA_PubSubConfigurationRefDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubConfigurationRefDataType_deleteMembers(UA_PubSubConfigurationRefDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfigurationRefDataType_clear(UA_PubSubConfigurationRefDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfigurationRefDataType_delete(UA_PubSubConfigurationRefDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubConfigurationRefDataType_equal(const UA_PubSubConfigurationRefDataType *p1, const UA_PubSubConfigurationRefDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubConfigurationValueDataType */ +static UA_INLINE void +UA_PubSubConfigurationValueDataType_init(UA_PubSubConfigurationValueDataType *p) { + memset(p, 0, sizeof(UA_PubSubConfigurationValueDataType)); +} + +static UA_INLINE UA_PubSubConfigurationValueDataType * +UA_PubSubConfigurationValueDataType_new(void) { + return (UA_PubSubConfigurationValueDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubConfigurationValueDataType_copy(const UA_PubSubConfigurationValueDataType *src, UA_PubSubConfigurationValueDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubConfigurationValueDataType_deleteMembers(UA_PubSubConfigurationValueDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfigurationValueDataType_clear(UA_PubSubConfigurationValueDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfigurationValueDataType_delete(UA_PubSubConfigurationValueDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubConfigurationValueDataType_equal(const UA_PubSubConfigurationValueDataType *p1, const UA_PubSubConfigurationValueDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DiagnosticsLevel */ +static UA_INLINE void +UA_DiagnosticsLevel_init(UA_DiagnosticsLevel *p) { + memset(p, 0, sizeof(UA_DiagnosticsLevel)); +} + +static UA_INLINE UA_DiagnosticsLevel * +UA_DiagnosticsLevel_new(void) { + return (UA_DiagnosticsLevel*)UA_new(&UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); +} + +static UA_INLINE UA_StatusCode +UA_DiagnosticsLevel_copy(const UA_DiagnosticsLevel *src, UA_DiagnosticsLevel *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DiagnosticsLevel_deleteMembers(UA_DiagnosticsLevel *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); +} + +static UA_INLINE void +UA_DiagnosticsLevel_clear(UA_DiagnosticsLevel *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); +} + +static UA_INLINE void +UA_DiagnosticsLevel_delete(UA_DiagnosticsLevel *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); +}static UA_INLINE UA_Boolean +UA_DiagnosticsLevel_equal(const UA_DiagnosticsLevel *p1, const UA_DiagnosticsLevel *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]) == UA_ORDER_EQ); +} + + + +/* PubSubDiagnosticsCounterClassification */ +static UA_INLINE void +UA_PubSubDiagnosticsCounterClassification_init(UA_PubSubDiagnosticsCounterClassification *p) { + memset(p, 0, sizeof(UA_PubSubDiagnosticsCounterClassification)); +} + +static UA_INLINE UA_PubSubDiagnosticsCounterClassification * +UA_PubSubDiagnosticsCounterClassification_new(void) { + return (UA_PubSubDiagnosticsCounterClassification*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubDiagnosticsCounterClassification_copy(const UA_PubSubDiagnosticsCounterClassification *src, UA_PubSubDiagnosticsCounterClassification *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubDiagnosticsCounterClassification_deleteMembers(UA_PubSubDiagnosticsCounterClassification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); +} + +static UA_INLINE void +UA_PubSubDiagnosticsCounterClassification_clear(UA_PubSubDiagnosticsCounterClassification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); +} + +static UA_INLINE void +UA_PubSubDiagnosticsCounterClassification_delete(UA_PubSubDiagnosticsCounterClassification *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); +}static UA_INLINE UA_Boolean +UA_PubSubDiagnosticsCounterClassification_equal(const UA_PubSubDiagnosticsCounterClassification *p1, const UA_PubSubDiagnosticsCounterClassification *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]) == UA_ORDER_EQ); +} + + + +/* AliasNameDataType */ +static UA_INLINE void +UA_AliasNameDataType_init(UA_AliasNameDataType *p) { + memset(p, 0, sizeof(UA_AliasNameDataType)); +} + +static UA_INLINE UA_AliasNameDataType * +UA_AliasNameDataType_new(void) { + return (UA_AliasNameDataType*)UA_new(&UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_AliasNameDataType_copy(const UA_AliasNameDataType *src, UA_AliasNameDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AliasNameDataType_deleteMembers(UA_AliasNameDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); +} + +static UA_INLINE void +UA_AliasNameDataType_clear(UA_AliasNameDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); +} + +static UA_INLINE void +UA_AliasNameDataType_delete(UA_AliasNameDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_AliasNameDataType_equal(const UA_AliasNameDataType *p1, const UA_AliasNameDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PasswordOptionsMask */ +static UA_INLINE void +UA_PasswordOptionsMask_init(UA_PasswordOptionsMask *p) { + memset(p, 0, sizeof(UA_PasswordOptionsMask)); +} + +static UA_INLINE UA_PasswordOptionsMask * +UA_PasswordOptionsMask_new(void) { + return (UA_PasswordOptionsMask*)UA_new(&UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); +} + +static UA_INLINE UA_StatusCode +UA_PasswordOptionsMask_copy(const UA_PasswordOptionsMask *src, UA_PasswordOptionsMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PasswordOptionsMask_deleteMembers(UA_PasswordOptionsMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); +} + +static UA_INLINE void +UA_PasswordOptionsMask_clear(UA_PasswordOptionsMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); +} + +static UA_INLINE void +UA_PasswordOptionsMask_delete(UA_PasswordOptionsMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); +}static UA_INLINE UA_Boolean +UA_PasswordOptionsMask_equal(const UA_PasswordOptionsMask *p1, const UA_PasswordOptionsMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]) == UA_ORDER_EQ); +} + + + +/* UserConfigurationMask */ +static UA_INLINE void +UA_UserConfigurationMask_init(UA_UserConfigurationMask *p) { + memset(p, 0, sizeof(UA_UserConfigurationMask)); +} + +static UA_INLINE UA_UserConfigurationMask * +UA_UserConfigurationMask_new(void) { + return (UA_UserConfigurationMask*)UA_new(&UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); +} + +static UA_INLINE UA_StatusCode +UA_UserConfigurationMask_copy(const UA_UserConfigurationMask *src, UA_UserConfigurationMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UserConfigurationMask_deleteMembers(UA_UserConfigurationMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); +} + +static UA_INLINE void +UA_UserConfigurationMask_clear(UA_UserConfigurationMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); +} + +static UA_INLINE void +UA_UserConfigurationMask_delete(UA_UserConfigurationMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); +}static UA_INLINE UA_Boolean +UA_UserConfigurationMask_equal(const UA_UserConfigurationMask *p1, const UA_UserConfigurationMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]) == UA_ORDER_EQ); +} + + + +/* UserManagementDataType */ +static UA_INLINE void +UA_UserManagementDataType_init(UA_UserManagementDataType *p) { + memset(p, 0, sizeof(UA_UserManagementDataType)); +} + +static UA_INLINE UA_UserManagementDataType * +UA_UserManagementDataType_new(void) { + return (UA_UserManagementDataType*)UA_new(&UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_UserManagementDataType_copy(const UA_UserManagementDataType *src, UA_UserManagementDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UserManagementDataType_deleteMembers(UA_UserManagementDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); +} + +static UA_INLINE void +UA_UserManagementDataType_clear(UA_UserManagementDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); +} + +static UA_INLINE void +UA_UserManagementDataType_delete(UA_UserManagementDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_UserManagementDataType_equal(const UA_UserManagementDataType *p1, const UA_UserManagementDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* EncodedTicket */ +static UA_INLINE void +UA_EncodedTicket_init(UA_EncodedTicket *p) { + memset(p, 0, sizeof(UA_EncodedTicket)); +} + +static UA_INLINE UA_EncodedTicket * +UA_EncodedTicket_new(void) { + return (UA_EncodedTicket*)UA_new(&UA_TYPES[UA_TYPES_ENCODEDTICKET]); +} + +static UA_INLINE UA_StatusCode +UA_EncodedTicket_copy(const UA_EncodedTicket *src, UA_EncodedTicket *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EncodedTicket_deleteMembers(UA_EncodedTicket *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); +} + +static UA_INLINE void +UA_EncodedTicket_clear(UA_EncodedTicket *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); +} + +static UA_INLINE void +UA_EncodedTicket_delete(UA_EncodedTicket *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); +}static UA_INLINE UA_Boolean +UA_EncodedTicket_equal(const UA_EncodedTicket *p1, const UA_EncodedTicket *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENCODEDTICKET]) == UA_ORDER_EQ); +} + + + +/* Duplex */ +static UA_INLINE void +UA_Duplex_init(UA_Duplex *p) { + memset(p, 0, sizeof(UA_Duplex)); +} + +static UA_INLINE UA_Duplex * +UA_Duplex_new(void) { + return (UA_Duplex*)UA_new(&UA_TYPES[UA_TYPES_DUPLEX]); +} + +static UA_INLINE UA_StatusCode +UA_Duplex_copy(const UA_Duplex *src, UA_Duplex *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DUPLEX]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Duplex_deleteMembers(UA_Duplex *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DUPLEX]); +} + +static UA_INLINE void +UA_Duplex_clear(UA_Duplex *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DUPLEX]); +} + +static UA_INLINE void +UA_Duplex_delete(UA_Duplex *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DUPLEX]); +}static UA_INLINE UA_Boolean +UA_Duplex_equal(const UA_Duplex *p1, const UA_Duplex *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DUPLEX]) == UA_ORDER_EQ); +} + + + +/* InterfaceAdminStatus */ +static UA_INLINE void +UA_InterfaceAdminStatus_init(UA_InterfaceAdminStatus *p) { + memset(p, 0, sizeof(UA_InterfaceAdminStatus)); +} + +static UA_INLINE UA_InterfaceAdminStatus * +UA_InterfaceAdminStatus_new(void) { + return (UA_InterfaceAdminStatus*)UA_new(&UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); +} + +static UA_INLINE UA_StatusCode +UA_InterfaceAdminStatus_copy(const UA_InterfaceAdminStatus *src, UA_InterfaceAdminStatus *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_InterfaceAdminStatus_deleteMembers(UA_InterfaceAdminStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); +} + +static UA_INLINE void +UA_InterfaceAdminStatus_clear(UA_InterfaceAdminStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); +} + +static UA_INLINE void +UA_InterfaceAdminStatus_delete(UA_InterfaceAdminStatus *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); +}static UA_INLINE UA_Boolean +UA_InterfaceAdminStatus_equal(const UA_InterfaceAdminStatus *p1, const UA_InterfaceAdminStatus *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]) == UA_ORDER_EQ); +} + + + +/* InterfaceOperStatus */ +static UA_INLINE void +UA_InterfaceOperStatus_init(UA_InterfaceOperStatus *p) { + memset(p, 0, sizeof(UA_InterfaceOperStatus)); +} + +static UA_INLINE UA_InterfaceOperStatus * +UA_InterfaceOperStatus_new(void) { + return (UA_InterfaceOperStatus*)UA_new(&UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); +} + +static UA_INLINE UA_StatusCode +UA_InterfaceOperStatus_copy(const UA_InterfaceOperStatus *src, UA_InterfaceOperStatus *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_InterfaceOperStatus_deleteMembers(UA_InterfaceOperStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); +} + +static UA_INLINE void +UA_InterfaceOperStatus_clear(UA_InterfaceOperStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); +} + +static UA_INLINE void +UA_InterfaceOperStatus_delete(UA_InterfaceOperStatus *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); +}static UA_INLINE UA_Boolean +UA_InterfaceOperStatus_equal(const UA_InterfaceOperStatus *p1, const UA_InterfaceOperStatus *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]) == UA_ORDER_EQ); +} + + + +/* NegotiationStatus */ +static UA_INLINE void +UA_NegotiationStatus_init(UA_NegotiationStatus *p) { + memset(p, 0, sizeof(UA_NegotiationStatus)); +} + +static UA_INLINE UA_NegotiationStatus * +UA_NegotiationStatus_new(void) { + return (UA_NegotiationStatus*)UA_new(&UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); +} + +static UA_INLINE UA_StatusCode +UA_NegotiationStatus_copy(const UA_NegotiationStatus *src, UA_NegotiationStatus *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NegotiationStatus_deleteMembers(UA_NegotiationStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); +} + +static UA_INLINE void +UA_NegotiationStatus_clear(UA_NegotiationStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); +} + +static UA_INLINE void +UA_NegotiationStatus_delete(UA_NegotiationStatus *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); +}static UA_INLINE UA_Boolean +UA_NegotiationStatus_equal(const UA_NegotiationStatus *p1, const UA_NegotiationStatus *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]) == UA_ORDER_EQ); +} + + + +/* TsnFailureCode */ +static UA_INLINE void +UA_TsnFailureCode_init(UA_TsnFailureCode *p) { + memset(p, 0, sizeof(UA_TsnFailureCode)); +} + +static UA_INLINE UA_TsnFailureCode * +UA_TsnFailureCode_new(void) { + return (UA_TsnFailureCode*)UA_new(&UA_TYPES[UA_TYPES_TSNFAILURECODE]); +} + +static UA_INLINE UA_StatusCode +UA_TsnFailureCode_copy(const UA_TsnFailureCode *src, UA_TsnFailureCode *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TsnFailureCode_deleteMembers(UA_TsnFailureCode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); +} + +static UA_INLINE void +UA_TsnFailureCode_clear(UA_TsnFailureCode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); +} + +static UA_INLINE void +UA_TsnFailureCode_delete(UA_TsnFailureCode *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); +}static UA_INLINE UA_Boolean +UA_TsnFailureCode_equal(const UA_TsnFailureCode *p1, const UA_TsnFailureCode *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNFAILURECODE]) == UA_ORDER_EQ); +} + + + +/* TsnStreamState */ +static UA_INLINE void +UA_TsnStreamState_init(UA_TsnStreamState *p) { + memset(p, 0, sizeof(UA_TsnStreamState)); +} + +static UA_INLINE UA_TsnStreamState * +UA_TsnStreamState_new(void) { + return (UA_TsnStreamState*)UA_new(&UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); +} + +static UA_INLINE UA_StatusCode +UA_TsnStreamState_copy(const UA_TsnStreamState *src, UA_TsnStreamState *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TsnStreamState_deleteMembers(UA_TsnStreamState *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); +} + +static UA_INLINE void +UA_TsnStreamState_clear(UA_TsnStreamState *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); +} + +static UA_INLINE void +UA_TsnStreamState_delete(UA_TsnStreamState *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); +}static UA_INLINE UA_Boolean +UA_TsnStreamState_equal(const UA_TsnStreamState *p1, const UA_TsnStreamState *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]) == UA_ORDER_EQ); +} + + + +/* TsnTalkerStatus */ +static UA_INLINE void +UA_TsnTalkerStatus_init(UA_TsnTalkerStatus *p) { + memset(p, 0, sizeof(UA_TsnTalkerStatus)); +} + +static UA_INLINE UA_TsnTalkerStatus * +UA_TsnTalkerStatus_new(void) { + return (UA_TsnTalkerStatus*)UA_new(&UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); +} + +static UA_INLINE UA_StatusCode +UA_TsnTalkerStatus_copy(const UA_TsnTalkerStatus *src, UA_TsnTalkerStatus *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TsnTalkerStatus_deleteMembers(UA_TsnTalkerStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); +} + +static UA_INLINE void +UA_TsnTalkerStatus_clear(UA_TsnTalkerStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); +} + +static UA_INLINE void +UA_TsnTalkerStatus_delete(UA_TsnTalkerStatus *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); +}static UA_INLINE UA_Boolean +UA_TsnTalkerStatus_equal(const UA_TsnTalkerStatus *p1, const UA_TsnTalkerStatus *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]) == UA_ORDER_EQ); +} + + + +/* TsnListenerStatus */ +static UA_INLINE void +UA_TsnListenerStatus_init(UA_TsnListenerStatus *p) { + memset(p, 0, sizeof(UA_TsnListenerStatus)); +} + +static UA_INLINE UA_TsnListenerStatus * +UA_TsnListenerStatus_new(void) { + return (UA_TsnListenerStatus*)UA_new(&UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); +} + +static UA_INLINE UA_StatusCode +UA_TsnListenerStatus_copy(const UA_TsnListenerStatus *src, UA_TsnListenerStatus *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TsnListenerStatus_deleteMembers(UA_TsnListenerStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); +} + +static UA_INLINE void +UA_TsnListenerStatus_clear(UA_TsnListenerStatus *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); +} + +static UA_INLINE void +UA_TsnListenerStatus_delete(UA_TsnListenerStatus *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); +}static UA_INLINE UA_Boolean +UA_TsnListenerStatus_equal(const UA_TsnListenerStatus *p1, const UA_TsnListenerStatus *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]) == UA_ORDER_EQ); +} + + + +/* PriorityMappingEntryType */ +static UA_INLINE void +UA_PriorityMappingEntryType_init(UA_PriorityMappingEntryType *p) { + memset(p, 0, sizeof(UA_PriorityMappingEntryType)); +} + +static UA_INLINE UA_PriorityMappingEntryType * +UA_PriorityMappingEntryType_new(void) { + return (UA_PriorityMappingEntryType*)UA_new(&UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PriorityMappingEntryType_copy(const UA_PriorityMappingEntryType *src, UA_PriorityMappingEntryType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PriorityMappingEntryType_deleteMembers(UA_PriorityMappingEntryType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); +} + +static UA_INLINE void +UA_PriorityMappingEntryType_clear(UA_PriorityMappingEntryType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); +} + +static UA_INLINE void +UA_PriorityMappingEntryType_delete(UA_PriorityMappingEntryType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); +}static UA_INLINE UA_Boolean +UA_PriorityMappingEntryType_equal(const UA_PriorityMappingEntryType *p1, const UA_PriorityMappingEntryType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]) == UA_ORDER_EQ); +} + + + +/* ReferenceDescriptionDataType */ +static UA_INLINE void +UA_ReferenceDescriptionDataType_init(UA_ReferenceDescriptionDataType *p) { + memset(p, 0, sizeof(UA_ReferenceDescriptionDataType)); +} + +static UA_INLINE UA_ReferenceDescriptionDataType * +UA_ReferenceDescriptionDataType_new(void) { + return (UA_ReferenceDescriptionDataType*)UA_new(&UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ReferenceDescriptionDataType_copy(const UA_ReferenceDescriptionDataType *src, UA_ReferenceDescriptionDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReferenceDescriptionDataType_deleteMembers(UA_ReferenceDescriptionDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); +} + +static UA_INLINE void +UA_ReferenceDescriptionDataType_clear(UA_ReferenceDescriptionDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); +} + +static UA_INLINE void +UA_ReferenceDescriptionDataType_delete(UA_ReferenceDescriptionDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ReferenceDescriptionDataType_equal(const UA_ReferenceDescriptionDataType *p1, const UA_ReferenceDescriptionDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ReferenceListEntryDataType */ +static UA_INLINE void +UA_ReferenceListEntryDataType_init(UA_ReferenceListEntryDataType *p) { + memset(p, 0, sizeof(UA_ReferenceListEntryDataType)); +} + +static UA_INLINE UA_ReferenceListEntryDataType * +UA_ReferenceListEntryDataType_new(void) { + return (UA_ReferenceListEntryDataType*)UA_new(&UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ReferenceListEntryDataType_copy(const UA_ReferenceListEntryDataType *src, UA_ReferenceListEntryDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReferenceListEntryDataType_deleteMembers(UA_ReferenceListEntryDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); +} + +static UA_INLINE void +UA_ReferenceListEntryDataType_clear(UA_ReferenceListEntryDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); +} + +static UA_INLINE void +UA_ReferenceListEntryDataType_delete(UA_ReferenceListEntryDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ReferenceListEntryDataType_equal(const UA_ReferenceListEntryDataType *p1, const UA_ReferenceListEntryDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]) == UA_ORDER_EQ); +} + + + +/* IdType */ +static UA_INLINE void +UA_IdType_init(UA_IdType *p) { + memset(p, 0, sizeof(UA_IdType)); +} + +static UA_INLINE UA_IdType * +UA_IdType_new(void) { + return (UA_IdType*)UA_new(&UA_TYPES[UA_TYPES_IDTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_IdType_copy(const UA_IdType *src, UA_IdType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IDTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_IdType_deleteMembers(UA_IdType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IDTYPE]); +} + +static UA_INLINE void +UA_IdType_clear(UA_IdType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_IDTYPE]); +} + +static UA_INLINE void +UA_IdType_delete(UA_IdType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_IDTYPE]); +}static UA_INLINE UA_Boolean +UA_IdType_equal(const UA_IdType *p1, const UA_IdType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IDTYPE]) == UA_ORDER_EQ); +} + + + +/* NodeClass */ +static UA_INLINE void +UA_NodeClass_init(UA_NodeClass *p) { + memset(p, 0, sizeof(UA_NodeClass)); +} + +static UA_INLINE UA_NodeClass * +UA_NodeClass_new(void) { + return (UA_NodeClass*)UA_new(&UA_TYPES[UA_TYPES_NODECLASS]); +} + +static UA_INLINE UA_StatusCode +UA_NodeClass_copy(const UA_NodeClass *src, UA_NodeClass *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODECLASS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NodeClass_deleteMembers(UA_NodeClass *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODECLASS]); +} + +static UA_INLINE void +UA_NodeClass_clear(UA_NodeClass *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODECLASS]); +} + +static UA_INLINE void +UA_NodeClass_delete(UA_NodeClass *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NODECLASS]); +}static UA_INLINE UA_Boolean +UA_NodeClass_equal(const UA_NodeClass *p1, const UA_NodeClass *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODECLASS]) == UA_ORDER_EQ); +} + + + +/* PermissionType */ +static UA_INLINE void +UA_PermissionType_init(UA_PermissionType *p) { + memset(p, 0, sizeof(UA_PermissionType)); +} + +static UA_INLINE UA_PermissionType * +UA_PermissionType_new(void) { + return (UA_PermissionType*)UA_new(&UA_TYPES[UA_TYPES_PERMISSIONTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PermissionType_copy(const UA_PermissionType *src, UA_PermissionType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PermissionType_deleteMembers(UA_PermissionType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); +} + +static UA_INLINE void +UA_PermissionType_clear(UA_PermissionType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); +} + +static UA_INLINE void +UA_PermissionType_delete(UA_PermissionType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); +}static UA_INLINE UA_Boolean +UA_PermissionType_equal(const UA_PermissionType *p1, const UA_PermissionType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]) == UA_ORDER_EQ); +} + + + +/* AccessLevelType */ +static UA_INLINE void +UA_AccessLevelType_init(UA_AccessLevelType *p) { + memset(p, 0, sizeof(UA_AccessLevelType)); +} + +static UA_INLINE UA_AccessLevelType * +UA_AccessLevelType_new(void) { + return (UA_AccessLevelType*)UA_new(&UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_AccessLevelType_copy(const UA_AccessLevelType *src, UA_AccessLevelType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AccessLevelType_deleteMembers(UA_AccessLevelType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); +} + +static UA_INLINE void +UA_AccessLevelType_clear(UA_AccessLevelType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); +} + +static UA_INLINE void +UA_AccessLevelType_delete(UA_AccessLevelType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); +}static UA_INLINE UA_Boolean +UA_AccessLevelType_equal(const UA_AccessLevelType *p1, const UA_AccessLevelType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]) == UA_ORDER_EQ); +} + + + +/* AccessLevelExType */ +static UA_INLINE void +UA_AccessLevelExType_init(UA_AccessLevelExType *p) { + memset(p, 0, sizeof(UA_AccessLevelExType)); +} + +static UA_INLINE UA_AccessLevelExType * +UA_AccessLevelExType_new(void) { + return (UA_AccessLevelExType*)UA_new(&UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_AccessLevelExType_copy(const UA_AccessLevelExType *src, UA_AccessLevelExType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AccessLevelExType_deleteMembers(UA_AccessLevelExType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); +} + +static UA_INLINE void +UA_AccessLevelExType_clear(UA_AccessLevelExType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); +} + +static UA_INLINE void +UA_AccessLevelExType_delete(UA_AccessLevelExType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); +}static UA_INLINE UA_Boolean +UA_AccessLevelExType_equal(const UA_AccessLevelExType *p1, const UA_AccessLevelExType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]) == UA_ORDER_EQ); +} + + + +/* EventNotifierType */ +static UA_INLINE void +UA_EventNotifierType_init(UA_EventNotifierType *p) { + memset(p, 0, sizeof(UA_EventNotifierType)); +} + +static UA_INLINE UA_EventNotifierType * +UA_EventNotifierType_new(void) { + return (UA_EventNotifierType*)UA_new(&UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_EventNotifierType_copy(const UA_EventNotifierType *src, UA_EventNotifierType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EventNotifierType_deleteMembers(UA_EventNotifierType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); +} + +static UA_INLINE void +UA_EventNotifierType_clear(UA_EventNotifierType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); +} + +static UA_INLINE void +UA_EventNotifierType_delete(UA_EventNotifierType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); +}static UA_INLINE UA_Boolean +UA_EventNotifierType_equal(const UA_EventNotifierType *p1, const UA_EventNotifierType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]) == UA_ORDER_EQ); +} + + + +/* AccessRestrictionType */ +static UA_INLINE void +UA_AccessRestrictionType_init(UA_AccessRestrictionType *p) { + memset(p, 0, sizeof(UA_AccessRestrictionType)); +} + +static UA_INLINE UA_AccessRestrictionType * +UA_AccessRestrictionType_new(void) { + return (UA_AccessRestrictionType*)UA_new(&UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_AccessRestrictionType_copy(const UA_AccessRestrictionType *src, UA_AccessRestrictionType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AccessRestrictionType_deleteMembers(UA_AccessRestrictionType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); +} + +static UA_INLINE void +UA_AccessRestrictionType_clear(UA_AccessRestrictionType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); +} + +static UA_INLINE void +UA_AccessRestrictionType_delete(UA_AccessRestrictionType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); +}static UA_INLINE UA_Boolean +UA_AccessRestrictionType_equal(const UA_AccessRestrictionType *p1, const UA_AccessRestrictionType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]) == UA_ORDER_EQ); +} + + + +/* RolePermissionType */ +static UA_INLINE void +UA_RolePermissionType_init(UA_RolePermissionType *p) { + memset(p, 0, sizeof(UA_RolePermissionType)); +} + +static UA_INLINE UA_RolePermissionType * +UA_RolePermissionType_new(void) { + return (UA_RolePermissionType*)UA_new(&UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_RolePermissionType_copy(const UA_RolePermissionType *src, UA_RolePermissionType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RolePermissionType_deleteMembers(UA_RolePermissionType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); +} + +static UA_INLINE void +UA_RolePermissionType_clear(UA_RolePermissionType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); +} + +static UA_INLINE void +UA_RolePermissionType_delete(UA_RolePermissionType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); +}static UA_INLINE UA_Boolean +UA_RolePermissionType_equal(const UA_RolePermissionType *p1, const UA_RolePermissionType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]) == UA_ORDER_EQ); +} + + + +/* StructureType */ +static UA_INLINE void +UA_StructureType_init(UA_StructureType *p) { + memset(p, 0, sizeof(UA_StructureType)); +} + +static UA_INLINE UA_StructureType * +UA_StructureType_new(void) { + return (UA_StructureType*)UA_new(&UA_TYPES[UA_TYPES_STRUCTURETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_StructureType_copy(const UA_StructureType *src, UA_StructureType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StructureType_deleteMembers(UA_StructureType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); +} + +static UA_INLINE void +UA_StructureType_clear(UA_StructureType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); +} + +static UA_INLINE void +UA_StructureType_delete(UA_StructureType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); +}static UA_INLINE UA_Boolean +UA_StructureType_equal(const UA_StructureType *p1, const UA_StructureType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTURETYPE]) == UA_ORDER_EQ); +} + + + +/* StructureField */ +static UA_INLINE void +UA_StructureField_init(UA_StructureField *p) { + memset(p, 0, sizeof(UA_StructureField)); +} + +static UA_INLINE UA_StructureField * +UA_StructureField_new(void) { + return (UA_StructureField*)UA_new(&UA_TYPES[UA_TYPES_STRUCTUREFIELD]); +} + +static UA_INLINE UA_StatusCode +UA_StructureField_copy(const UA_StructureField *src, UA_StructureField *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StructureField_deleteMembers(UA_StructureField *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); +} + +static UA_INLINE void +UA_StructureField_clear(UA_StructureField *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); +} + +static UA_INLINE void +UA_StructureField_delete(UA_StructureField *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); +}static UA_INLINE UA_Boolean +UA_StructureField_equal(const UA_StructureField *p1, const UA_StructureField *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]) == UA_ORDER_EQ); +} + + + +/* StructureDefinition */ +static UA_INLINE void +UA_StructureDefinition_init(UA_StructureDefinition *p) { + memset(p, 0, sizeof(UA_StructureDefinition)); +} + +static UA_INLINE UA_StructureDefinition * +UA_StructureDefinition_new(void) { + return (UA_StructureDefinition*)UA_new(&UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); +} + +static UA_INLINE UA_StatusCode +UA_StructureDefinition_copy(const UA_StructureDefinition *src, UA_StructureDefinition *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StructureDefinition_deleteMembers(UA_StructureDefinition *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); +} + +static UA_INLINE void +UA_StructureDefinition_clear(UA_StructureDefinition *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); +} + +static UA_INLINE void +UA_StructureDefinition_delete(UA_StructureDefinition *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); +}static UA_INLINE UA_Boolean +UA_StructureDefinition_equal(const UA_StructureDefinition *p1, const UA_StructureDefinition *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]) == UA_ORDER_EQ); +} + + + +/* Argument */ +static UA_INLINE void +UA_Argument_init(UA_Argument *p) { + memset(p, 0, sizeof(UA_Argument)); +} + +static UA_INLINE UA_Argument * +UA_Argument_new(void) { + return (UA_Argument*)UA_new(&UA_TYPES[UA_TYPES_ARGUMENT]); +} + +static UA_INLINE UA_StatusCode +UA_Argument_copy(const UA_Argument *src, UA_Argument *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ARGUMENT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Argument_deleteMembers(UA_Argument *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ARGUMENT]); +} + +static UA_INLINE void +UA_Argument_clear(UA_Argument *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ARGUMENT]); +} + +static UA_INLINE void +UA_Argument_delete(UA_Argument *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ARGUMENT]); +}static UA_INLINE UA_Boolean +UA_Argument_equal(const UA_Argument *p1, const UA_Argument *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ARGUMENT]) == UA_ORDER_EQ); +} + + + +/* EnumValueType */ +static UA_INLINE void +UA_EnumValueType_init(UA_EnumValueType *p) { + memset(p, 0, sizeof(UA_EnumValueType)); +} + +static UA_INLINE UA_EnumValueType * +UA_EnumValueType_new(void) { + return (UA_EnumValueType*)UA_new(&UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_EnumValueType_copy(const UA_EnumValueType *src, UA_EnumValueType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EnumValueType_deleteMembers(UA_EnumValueType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +} + +static UA_INLINE void +UA_EnumValueType_clear(UA_EnumValueType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +} + +static UA_INLINE void +UA_EnumValueType_delete(UA_EnumValueType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +}static UA_INLINE UA_Boolean +UA_EnumValueType_equal(const UA_EnumValueType *p1, const UA_EnumValueType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]) == UA_ORDER_EQ); +} + + + +/* EnumField */ +static UA_INLINE void +UA_EnumField_init(UA_EnumField *p) { + memset(p, 0, sizeof(UA_EnumField)); +} + +static UA_INLINE UA_EnumField * +UA_EnumField_new(void) { + return (UA_EnumField*)UA_new(&UA_TYPES[UA_TYPES_ENUMFIELD]); +} + +static UA_INLINE UA_StatusCode +UA_EnumField_copy(const UA_EnumField *src, UA_EnumField *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMFIELD]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EnumField_deleteMembers(UA_EnumField *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMFIELD]); +} + +static UA_INLINE void +UA_EnumField_clear(UA_EnumField *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMFIELD]); +} + +static UA_INLINE void +UA_EnumField_delete(UA_EnumField *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENUMFIELD]); +}static UA_INLINE UA_Boolean +UA_EnumField_equal(const UA_EnumField *p1, const UA_EnumField *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMFIELD]) == UA_ORDER_EQ); +} + + + +/* OptionSet */ +static UA_INLINE void +UA_OptionSet_init(UA_OptionSet *p) { + memset(p, 0, sizeof(UA_OptionSet)); +} + +static UA_INLINE UA_OptionSet * +UA_OptionSet_new(void) { + return (UA_OptionSet*)UA_new(&UA_TYPES[UA_TYPES_OPTIONSET]); +} + +static UA_INLINE UA_StatusCode +UA_OptionSet_copy(const UA_OptionSet *src, UA_OptionSet *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPTIONSET]); +} + +UA_DEPRECATED static UA_INLINE void +UA_OptionSet_deleteMembers(UA_OptionSet *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPTIONSET]); +} + +static UA_INLINE void +UA_OptionSet_clear(UA_OptionSet *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPTIONSET]); +} + +static UA_INLINE void +UA_OptionSet_delete(UA_OptionSet *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OPTIONSET]); +}static UA_INLINE UA_Boolean +UA_OptionSet_equal(const UA_OptionSet *p1, const UA_OptionSet *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPTIONSET]) == UA_ORDER_EQ); +} + + + +/* NormalizedString */ +static UA_INLINE void +UA_NormalizedString_init(UA_NormalizedString *p) { + memset(p, 0, sizeof(UA_NormalizedString)); +} + +static UA_INLINE UA_NormalizedString * +UA_NormalizedString_new(void) { + return (UA_NormalizedString*)UA_new(&UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); +} + +static UA_INLINE UA_StatusCode +UA_NormalizedString_copy(const UA_NormalizedString *src, UA_NormalizedString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NormalizedString_deleteMembers(UA_NormalizedString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); +} + +static UA_INLINE void +UA_NormalizedString_clear(UA_NormalizedString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); +} + +static UA_INLINE void +UA_NormalizedString_delete(UA_NormalizedString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); +}static UA_INLINE UA_Boolean +UA_NormalizedString_equal(const UA_NormalizedString *p1, const UA_NormalizedString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]) == UA_ORDER_EQ); +} + + + +/* DecimalString */ +static UA_INLINE void +UA_DecimalString_init(UA_DecimalString *p) { + memset(p, 0, sizeof(UA_DecimalString)); +} + +static UA_INLINE UA_DecimalString * +UA_DecimalString_new(void) { + return (UA_DecimalString*)UA_new(&UA_TYPES[UA_TYPES_DECIMALSTRING]); +} + +static UA_INLINE UA_StatusCode +UA_DecimalString_copy(const UA_DecimalString *src, UA_DecimalString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DECIMALSTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DecimalString_deleteMembers(UA_DecimalString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DECIMALSTRING]); +} + +static UA_INLINE void +UA_DecimalString_clear(UA_DecimalString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DECIMALSTRING]); +} + +static UA_INLINE void +UA_DecimalString_delete(UA_DecimalString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DECIMALSTRING]); +}static UA_INLINE UA_Boolean +UA_DecimalString_equal(const UA_DecimalString *p1, const UA_DecimalString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DECIMALSTRING]) == UA_ORDER_EQ); +} + + + +/* DurationString */ +static UA_INLINE void +UA_DurationString_init(UA_DurationString *p) { + memset(p, 0, sizeof(UA_DurationString)); +} + +static UA_INLINE UA_DurationString * +UA_DurationString_new(void) { + return (UA_DurationString*)UA_new(&UA_TYPES[UA_TYPES_DURATIONSTRING]); +} + +static UA_INLINE UA_StatusCode +UA_DurationString_copy(const UA_DurationString *src, UA_DurationString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DURATIONSTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DurationString_deleteMembers(UA_DurationString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DURATIONSTRING]); +} + +static UA_INLINE void +UA_DurationString_clear(UA_DurationString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DURATIONSTRING]); +} + +static UA_INLINE void +UA_DurationString_delete(UA_DurationString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DURATIONSTRING]); +}static UA_INLINE UA_Boolean +UA_DurationString_equal(const UA_DurationString *p1, const UA_DurationString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DURATIONSTRING]) == UA_ORDER_EQ); +} + + + +/* TimeString */ +static UA_INLINE void +UA_TimeString_init(UA_TimeString *p) { + memset(p, 0, sizeof(UA_TimeString)); +} + +static UA_INLINE UA_TimeString * +UA_TimeString_new(void) { + return (UA_TimeString*)UA_new(&UA_TYPES[UA_TYPES_TIMESTRING]); +} + +static UA_INLINE UA_StatusCode +UA_TimeString_copy(const UA_TimeString *src, UA_TimeString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TIMESTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TimeString_deleteMembers(UA_TimeString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTRING]); +} + +static UA_INLINE void +UA_TimeString_clear(UA_TimeString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTRING]); +} + +static UA_INLINE void +UA_TimeString_delete(UA_TimeString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TIMESTRING]); +}static UA_INLINE UA_Boolean +UA_TimeString_equal(const UA_TimeString *p1, const UA_TimeString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TIMESTRING]) == UA_ORDER_EQ); +} + + + +/* DateString */ +static UA_INLINE void +UA_DateString_init(UA_DateString *p) { + memset(p, 0, sizeof(UA_DateString)); +} + +static UA_INLINE UA_DateString * +UA_DateString_new(void) { + return (UA_DateString*)UA_new(&UA_TYPES[UA_TYPES_DATESTRING]); +} + +static UA_INLINE UA_StatusCode +UA_DateString_copy(const UA_DateString *src, UA_DateString *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATESTRING]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DateString_deleteMembers(UA_DateString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATESTRING]); +} + +static UA_INLINE void +UA_DateString_clear(UA_DateString *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATESTRING]); +} + +static UA_INLINE void +UA_DateString_delete(UA_DateString *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATESTRING]); +}static UA_INLINE UA_Boolean +UA_DateString_equal(const UA_DateString *p1, const UA_DateString *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATESTRING]) == UA_ORDER_EQ); +} + + + +/* Duration */ +static UA_INLINE void +UA_Duration_init(UA_Duration *p) { + memset(p, 0, sizeof(UA_Duration)); +} + +static UA_INLINE UA_Duration * +UA_Duration_new(void) { + return (UA_Duration*)UA_new(&UA_TYPES[UA_TYPES_DURATION]); +} + +static UA_INLINE UA_StatusCode +UA_Duration_copy(const UA_Duration *src, UA_Duration *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DURATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Duration_deleteMembers(UA_Duration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DURATION]); +} + +static UA_INLINE void +UA_Duration_clear(UA_Duration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DURATION]); +} + +static UA_INLINE void +UA_Duration_delete(UA_Duration *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DURATION]); +}static UA_INLINE UA_Boolean +UA_Duration_equal(const UA_Duration *p1, const UA_Duration *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DURATION]) == UA_ORDER_EQ); +} + + + +/* UtcTime */ +static UA_INLINE void +UA_UtcTime_init(UA_UtcTime *p) { + memset(p, 0, sizeof(UA_UtcTime)); +} + +static UA_INLINE UA_UtcTime * +UA_UtcTime_new(void) { + return (UA_UtcTime*)UA_new(&UA_TYPES[UA_TYPES_UTCTIME]); +} + +static UA_INLINE UA_StatusCode +UA_UtcTime_copy(const UA_UtcTime *src, UA_UtcTime *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UTCTIME]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UtcTime_deleteMembers(UA_UtcTime *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UTCTIME]); +} + +static UA_INLINE void +UA_UtcTime_clear(UA_UtcTime *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UTCTIME]); +} + +static UA_INLINE void +UA_UtcTime_delete(UA_UtcTime *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UTCTIME]); +}static UA_INLINE UA_Boolean +UA_UtcTime_equal(const UA_UtcTime *p1, const UA_UtcTime *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UTCTIME]) == UA_ORDER_EQ); +} + + + +/* LocaleId */ +static UA_INLINE void +UA_LocaleId_init(UA_LocaleId *p) { + memset(p, 0, sizeof(UA_LocaleId)); +} + +static UA_INLINE UA_LocaleId * +UA_LocaleId_new(void) { + return (UA_LocaleId*)UA_new(&UA_TYPES[UA_TYPES_LOCALEID]); +} + +static UA_INLINE UA_StatusCode +UA_LocaleId_copy(const UA_LocaleId *src, UA_LocaleId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_LOCALEID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_LocaleId_deleteMembers(UA_LocaleId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_LOCALEID]); +} + +static UA_INLINE void +UA_LocaleId_clear(UA_LocaleId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_LOCALEID]); +} + +static UA_INLINE void +UA_LocaleId_delete(UA_LocaleId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_LOCALEID]); +}static UA_INLINE UA_Boolean +UA_LocaleId_equal(const UA_LocaleId *p1, const UA_LocaleId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_LOCALEID]) == UA_ORDER_EQ); +} + + + +/* TimeZoneDataType */ +static UA_INLINE void +UA_TimeZoneDataType_init(UA_TimeZoneDataType *p) { + memset(p, 0, sizeof(UA_TimeZoneDataType)); +} + +static UA_INLINE UA_TimeZoneDataType * +UA_TimeZoneDataType_new(void) { + return (UA_TimeZoneDataType*)UA_new(&UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_TimeZoneDataType_copy(const UA_TimeZoneDataType *src, UA_TimeZoneDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TimeZoneDataType_deleteMembers(UA_TimeZoneDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); +} + +static UA_INLINE void +UA_TimeZoneDataType_clear(UA_TimeZoneDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); +} + +static UA_INLINE void +UA_TimeZoneDataType_delete(UA_TimeZoneDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_TimeZoneDataType_equal(const UA_TimeZoneDataType *p1, const UA_TimeZoneDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* Index */ +static UA_INLINE void +UA_Index_init(UA_Index *p) { + memset(p, 0, sizeof(UA_Index)); +} + +static UA_INLINE UA_Index * +UA_Index_new(void) { + return (UA_Index*)UA_new(&UA_TYPES[UA_TYPES_INDEX]); +} + +static UA_INLINE UA_StatusCode +UA_Index_copy(const UA_Index *src, UA_Index *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INDEX]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Index_deleteMembers(UA_Index *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INDEX]); +} + +static UA_INLINE void +UA_Index_clear(UA_Index *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INDEX]); +} + +static UA_INLINE void +UA_Index_delete(UA_Index *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INDEX]); +}static UA_INLINE UA_Boolean +UA_Index_equal(const UA_Index *p1, const UA_Index *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INDEX]) == UA_ORDER_EQ); +} + + + +/* IntegerId */ +static UA_INLINE void +UA_IntegerId_init(UA_IntegerId *p) { + memset(p, 0, sizeof(UA_IntegerId)); +} + +static UA_INLINE UA_IntegerId * +UA_IntegerId_new(void) { + return (UA_IntegerId*)UA_new(&UA_TYPES[UA_TYPES_INTEGERID]); +} + +static UA_INLINE UA_StatusCode +UA_IntegerId_copy(const UA_IntegerId *src, UA_IntegerId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INTEGERID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_IntegerId_deleteMembers(UA_IntegerId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INTEGERID]); +} + +static UA_INLINE void +UA_IntegerId_clear(UA_IntegerId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_INTEGERID]); +} + +static UA_INLINE void +UA_IntegerId_delete(UA_IntegerId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_INTEGERID]); +}static UA_INLINE UA_Boolean +UA_IntegerId_equal(const UA_IntegerId *p1, const UA_IntegerId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INTEGERID]) == UA_ORDER_EQ); +} + + + +/* ApplicationType */ +static UA_INLINE void +UA_ApplicationType_init(UA_ApplicationType *p) { + memset(p, 0, sizeof(UA_ApplicationType)); +} + +static UA_INLINE UA_ApplicationType * +UA_ApplicationType_new(void) { + return (UA_ApplicationType*)UA_new(&UA_TYPES[UA_TYPES_APPLICATIONTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ApplicationType_copy(const UA_ApplicationType *src, UA_ApplicationType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ApplicationType_deleteMembers(UA_ApplicationType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); +} + +static UA_INLINE void +UA_ApplicationType_clear(UA_ApplicationType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); +} + +static UA_INLINE void +UA_ApplicationType_delete(UA_ApplicationType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); +}static UA_INLINE UA_Boolean +UA_ApplicationType_equal(const UA_ApplicationType *p1, const UA_ApplicationType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]) == UA_ORDER_EQ); +} + + + +/* ApplicationDescription */ +static UA_INLINE void +UA_ApplicationDescription_init(UA_ApplicationDescription *p) { + memset(p, 0, sizeof(UA_ApplicationDescription)); +} + +static UA_INLINE UA_ApplicationDescription * +UA_ApplicationDescription_new(void) { + return (UA_ApplicationDescription*)UA_new(&UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_ApplicationDescription_copy(const UA_ApplicationDescription *src, UA_ApplicationDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ApplicationDescription_deleteMembers(UA_ApplicationDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); +} + +static UA_INLINE void +UA_ApplicationDescription_clear(UA_ApplicationDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); +} + +static UA_INLINE void +UA_ApplicationDescription_delete(UA_ApplicationDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_ApplicationDescription_equal(const UA_ApplicationDescription *p1, const UA_ApplicationDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* RequestHeader */ +static UA_INLINE void +UA_RequestHeader_init(UA_RequestHeader *p) { + memset(p, 0, sizeof(UA_RequestHeader)); +} + +static UA_INLINE UA_RequestHeader * +UA_RequestHeader_new(void) { + return (UA_RequestHeader*)UA_new(&UA_TYPES[UA_TYPES_REQUESTHEADER]); +} + +static UA_INLINE UA_StatusCode +UA_RequestHeader_copy(const UA_RequestHeader *src, UA_RequestHeader *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REQUESTHEADER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RequestHeader_deleteMembers(UA_RequestHeader *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REQUESTHEADER]); +} + +static UA_INLINE void +UA_RequestHeader_clear(UA_RequestHeader *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REQUESTHEADER]); +} + +static UA_INLINE void +UA_RequestHeader_delete(UA_RequestHeader *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REQUESTHEADER]); +}static UA_INLINE UA_Boolean +UA_RequestHeader_equal(const UA_RequestHeader *p1, const UA_RequestHeader *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REQUESTHEADER]) == UA_ORDER_EQ); +} + + + +/* ResponseHeader */ +static UA_INLINE void +UA_ResponseHeader_init(UA_ResponseHeader *p) { + memset(p, 0, sizeof(UA_ResponseHeader)); +} + +static UA_INLINE UA_ResponseHeader * +UA_ResponseHeader_new(void) { + return (UA_ResponseHeader*)UA_new(&UA_TYPES[UA_TYPES_RESPONSEHEADER]); +} + +static UA_INLINE UA_StatusCode +UA_ResponseHeader_copy(const UA_ResponseHeader *src, UA_ResponseHeader *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ResponseHeader_deleteMembers(UA_ResponseHeader *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); +} + +static UA_INLINE void +UA_ResponseHeader_clear(UA_ResponseHeader *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); +} + +static UA_INLINE void +UA_ResponseHeader_delete(UA_ResponseHeader *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); +}static UA_INLINE UA_Boolean +UA_ResponseHeader_equal(const UA_ResponseHeader *p1, const UA_ResponseHeader *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RESPONSEHEADER]) == UA_ORDER_EQ); +} + + + +/* VersionTime */ +static UA_INLINE void +UA_VersionTime_init(UA_VersionTime *p) { + memset(p, 0, sizeof(UA_VersionTime)); +} + +static UA_INLINE UA_VersionTime * +UA_VersionTime_new(void) { + return (UA_VersionTime*)UA_new(&UA_TYPES[UA_TYPES_VERSIONTIME]); +} + +static UA_INLINE UA_StatusCode +UA_VersionTime_copy(const UA_VersionTime *src, UA_VersionTime *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VERSIONTIME]); +} + +UA_DEPRECATED static UA_INLINE void +UA_VersionTime_deleteMembers(UA_VersionTime *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VERSIONTIME]); +} + +static UA_INLINE void +UA_VersionTime_clear(UA_VersionTime *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VERSIONTIME]); +} + +static UA_INLINE void +UA_VersionTime_delete(UA_VersionTime *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_VERSIONTIME]); +}static UA_INLINE UA_Boolean +UA_VersionTime_equal(const UA_VersionTime *p1, const UA_VersionTime *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VERSIONTIME]) == UA_ORDER_EQ); +} + + + +/* ServiceFault */ +static UA_INLINE void +UA_ServiceFault_init(UA_ServiceFault *p) { + memset(p, 0, sizeof(UA_ServiceFault)); +} + +static UA_INLINE UA_ServiceFault * +UA_ServiceFault_new(void) { + return (UA_ServiceFault*)UA_new(&UA_TYPES[UA_TYPES_SERVICEFAULT]); +} + +static UA_INLINE UA_StatusCode +UA_ServiceFault_copy(const UA_ServiceFault *src, UA_ServiceFault *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVICEFAULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ServiceFault_deleteMembers(UA_ServiceFault *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVICEFAULT]); +} + +static UA_INLINE void +UA_ServiceFault_clear(UA_ServiceFault *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVICEFAULT]); +} + +static UA_INLINE void +UA_ServiceFault_delete(UA_ServiceFault *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SERVICEFAULT]); +}static UA_INLINE UA_Boolean +UA_ServiceFault_equal(const UA_ServiceFault *p1, const UA_ServiceFault *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVICEFAULT]) == UA_ORDER_EQ); +} + + + +/* SessionlessInvokeRequestType */ +static UA_INLINE void +UA_SessionlessInvokeRequestType_init(UA_SessionlessInvokeRequestType *p) { + memset(p, 0, sizeof(UA_SessionlessInvokeRequestType)); +} + +static UA_INLINE UA_SessionlessInvokeRequestType * +UA_SessionlessInvokeRequestType_new(void) { + return (UA_SessionlessInvokeRequestType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SessionlessInvokeRequestType_copy(const UA_SessionlessInvokeRequestType *src, UA_SessionlessInvokeRequestType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SessionlessInvokeRequestType_deleteMembers(UA_SessionlessInvokeRequestType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); +} + +static UA_INLINE void +UA_SessionlessInvokeRequestType_clear(UA_SessionlessInvokeRequestType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); +} + +static UA_INLINE void +UA_SessionlessInvokeRequestType_delete(UA_SessionlessInvokeRequestType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); +}static UA_INLINE UA_Boolean +UA_SessionlessInvokeRequestType_equal(const UA_SessionlessInvokeRequestType *p1, const UA_SessionlessInvokeRequestType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]) == UA_ORDER_EQ); +} + + + +/* SessionlessInvokeResponseType */ +static UA_INLINE void +UA_SessionlessInvokeResponseType_init(UA_SessionlessInvokeResponseType *p) { + memset(p, 0, sizeof(UA_SessionlessInvokeResponseType)); +} + +static UA_INLINE UA_SessionlessInvokeResponseType * +UA_SessionlessInvokeResponseType_new(void) { + return (UA_SessionlessInvokeResponseType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SessionlessInvokeResponseType_copy(const UA_SessionlessInvokeResponseType *src, UA_SessionlessInvokeResponseType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SessionlessInvokeResponseType_deleteMembers(UA_SessionlessInvokeResponseType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); +} + +static UA_INLINE void +UA_SessionlessInvokeResponseType_clear(UA_SessionlessInvokeResponseType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); +} + +static UA_INLINE void +UA_SessionlessInvokeResponseType_delete(UA_SessionlessInvokeResponseType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); +}static UA_INLINE UA_Boolean +UA_SessionlessInvokeResponseType_equal(const UA_SessionlessInvokeResponseType *p1, const UA_SessionlessInvokeResponseType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]) == UA_ORDER_EQ); +} + + + +/* FindServersRequest */ +static UA_INLINE void +UA_FindServersRequest_init(UA_FindServersRequest *p) { + memset(p, 0, sizeof(UA_FindServersRequest)); +} + +static UA_INLINE UA_FindServersRequest * +UA_FindServersRequest_new(void) { + return (UA_FindServersRequest*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_FindServersRequest_copy(const UA_FindServersRequest *src, UA_FindServersRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FindServersRequest_deleteMembers(UA_FindServersRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); +} + +static UA_INLINE void +UA_FindServersRequest_clear(UA_FindServersRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); +} + +static UA_INLINE void +UA_FindServersRequest_delete(UA_FindServersRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); +}static UA_INLINE UA_Boolean +UA_FindServersRequest_equal(const UA_FindServersRequest *p1, const UA_FindServersRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]) == UA_ORDER_EQ); +} + + + +/* FindServersResponse */ +static UA_INLINE void +UA_FindServersResponse_init(UA_FindServersResponse *p) { + memset(p, 0, sizeof(UA_FindServersResponse)); +} + +static UA_INLINE UA_FindServersResponse * +UA_FindServersResponse_new(void) { + return (UA_FindServersResponse*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_FindServersResponse_copy(const UA_FindServersResponse *src, UA_FindServersResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FindServersResponse_deleteMembers(UA_FindServersResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); +} + +static UA_INLINE void +UA_FindServersResponse_clear(UA_FindServersResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); +} + +static UA_INLINE void +UA_FindServersResponse_delete(UA_FindServersResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_FindServersResponse_equal(const UA_FindServersResponse *p1, const UA_FindServersResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* ServerOnNetwork */ +static UA_INLINE void +UA_ServerOnNetwork_init(UA_ServerOnNetwork *p) { + memset(p, 0, sizeof(UA_ServerOnNetwork)); +} + +static UA_INLINE UA_ServerOnNetwork * +UA_ServerOnNetwork_new(void) { + return (UA_ServerOnNetwork*)UA_new(&UA_TYPES[UA_TYPES_SERVERONNETWORK]); +} + +static UA_INLINE UA_StatusCode +UA_ServerOnNetwork_copy(const UA_ServerOnNetwork *src, UA_ServerOnNetwork *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ServerOnNetwork_deleteMembers(UA_ServerOnNetwork *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); +} + +static UA_INLINE void +UA_ServerOnNetwork_clear(UA_ServerOnNetwork *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); +} + +static UA_INLINE void +UA_ServerOnNetwork_delete(UA_ServerOnNetwork *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); +}static UA_INLINE UA_Boolean +UA_ServerOnNetwork_equal(const UA_ServerOnNetwork *p1, const UA_ServerOnNetwork *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERONNETWORK]) == UA_ORDER_EQ); +} + + + +/* FindServersOnNetworkRequest */ +static UA_INLINE void +UA_FindServersOnNetworkRequest_init(UA_FindServersOnNetworkRequest *p) { + memset(p, 0, sizeof(UA_FindServersOnNetworkRequest)); +} + +static UA_INLINE UA_FindServersOnNetworkRequest * +UA_FindServersOnNetworkRequest_new(void) { + return (UA_FindServersOnNetworkRequest*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_FindServersOnNetworkRequest_copy(const UA_FindServersOnNetworkRequest *src, UA_FindServersOnNetworkRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FindServersOnNetworkRequest_deleteMembers(UA_FindServersOnNetworkRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); +} + +static UA_INLINE void +UA_FindServersOnNetworkRequest_clear(UA_FindServersOnNetworkRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); +} + +static UA_INLINE void +UA_FindServersOnNetworkRequest_delete(UA_FindServersOnNetworkRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); +}static UA_INLINE UA_Boolean +UA_FindServersOnNetworkRequest_equal(const UA_FindServersOnNetworkRequest *p1, const UA_FindServersOnNetworkRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]) == UA_ORDER_EQ); +} + + + +/* FindServersOnNetworkResponse */ +static UA_INLINE void +UA_FindServersOnNetworkResponse_init(UA_FindServersOnNetworkResponse *p) { + memset(p, 0, sizeof(UA_FindServersOnNetworkResponse)); +} + +static UA_INLINE UA_FindServersOnNetworkResponse * +UA_FindServersOnNetworkResponse_new(void) { + return (UA_FindServersOnNetworkResponse*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_FindServersOnNetworkResponse_copy(const UA_FindServersOnNetworkResponse *src, UA_FindServersOnNetworkResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FindServersOnNetworkResponse_deleteMembers(UA_FindServersOnNetworkResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); +} + +static UA_INLINE void +UA_FindServersOnNetworkResponse_clear(UA_FindServersOnNetworkResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); +} + +static UA_INLINE void +UA_FindServersOnNetworkResponse_delete(UA_FindServersOnNetworkResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); +}static UA_INLINE UA_Boolean +UA_FindServersOnNetworkResponse_equal(const UA_FindServersOnNetworkResponse *p1, const UA_FindServersOnNetworkResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]) == UA_ORDER_EQ); +} + + + +/* ApplicationInstanceCertificate */ +static UA_INLINE void +UA_ApplicationInstanceCertificate_init(UA_ApplicationInstanceCertificate *p) { + memset(p, 0, sizeof(UA_ApplicationInstanceCertificate)); +} + +static UA_INLINE UA_ApplicationInstanceCertificate * +UA_ApplicationInstanceCertificate_new(void) { + return (UA_ApplicationInstanceCertificate*)UA_new(&UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); +} + +static UA_INLINE UA_StatusCode +UA_ApplicationInstanceCertificate_copy(const UA_ApplicationInstanceCertificate *src, UA_ApplicationInstanceCertificate *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ApplicationInstanceCertificate_deleteMembers(UA_ApplicationInstanceCertificate *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); +} + +static UA_INLINE void +UA_ApplicationInstanceCertificate_clear(UA_ApplicationInstanceCertificate *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); +} + +static UA_INLINE void +UA_ApplicationInstanceCertificate_delete(UA_ApplicationInstanceCertificate *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); +}static UA_INLINE UA_Boolean +UA_ApplicationInstanceCertificate_equal(const UA_ApplicationInstanceCertificate *p1, const UA_ApplicationInstanceCertificate *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]) == UA_ORDER_EQ); +} + + + +/* MessageSecurityMode */ +static UA_INLINE void +UA_MessageSecurityMode_init(UA_MessageSecurityMode *p) { + memset(p, 0, sizeof(UA_MessageSecurityMode)); +} + +static UA_INLINE UA_MessageSecurityMode * +UA_MessageSecurityMode_new(void) { + return (UA_MessageSecurityMode*)UA_new(&UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); +} + +static UA_INLINE UA_StatusCode +UA_MessageSecurityMode_copy(const UA_MessageSecurityMode *src, UA_MessageSecurityMode *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MessageSecurityMode_deleteMembers(UA_MessageSecurityMode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); +} + +static UA_INLINE void +UA_MessageSecurityMode_clear(UA_MessageSecurityMode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); +} + +static UA_INLINE void +UA_MessageSecurityMode_delete(UA_MessageSecurityMode *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); +}static UA_INLINE UA_Boolean +UA_MessageSecurityMode_equal(const UA_MessageSecurityMode *p1, const UA_MessageSecurityMode *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]) == UA_ORDER_EQ); +} + + + +/* UserTokenType */ +static UA_INLINE void +UA_UserTokenType_init(UA_UserTokenType *p) { + memset(p, 0, sizeof(UA_UserTokenType)); +} + +static UA_INLINE UA_UserTokenType * +UA_UserTokenType_new(void) { + return (UA_UserTokenType*)UA_new(&UA_TYPES[UA_TYPES_USERTOKENTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_UserTokenType_copy(const UA_UserTokenType *src, UA_UserTokenType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UserTokenType_deleteMembers(UA_UserTokenType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); +} + +static UA_INLINE void +UA_UserTokenType_clear(UA_UserTokenType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); +} + +static UA_INLINE void +UA_UserTokenType_delete(UA_UserTokenType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); +}static UA_INLINE UA_Boolean +UA_UserTokenType_equal(const UA_UserTokenType *p1, const UA_UserTokenType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERTOKENTYPE]) == UA_ORDER_EQ); +} + + + +/* UserTokenPolicy */ +static UA_INLINE void +UA_UserTokenPolicy_init(UA_UserTokenPolicy *p) { + memset(p, 0, sizeof(UA_UserTokenPolicy)); +} + +static UA_INLINE UA_UserTokenPolicy * +UA_UserTokenPolicy_new(void) { + return (UA_UserTokenPolicy*)UA_new(&UA_TYPES[UA_TYPES_USERTOKENPOLICY]); +} + +static UA_INLINE UA_StatusCode +UA_UserTokenPolicy_copy(const UA_UserTokenPolicy *src, UA_UserTokenPolicy *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UserTokenPolicy_deleteMembers(UA_UserTokenPolicy *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); +} + +static UA_INLINE void +UA_UserTokenPolicy_clear(UA_UserTokenPolicy *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); +} + +static UA_INLINE void +UA_UserTokenPolicy_delete(UA_UserTokenPolicy *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); +}static UA_INLINE UA_Boolean +UA_UserTokenPolicy_equal(const UA_UserTokenPolicy *p1, const UA_UserTokenPolicy *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]) == UA_ORDER_EQ); +} + + + +/* EndpointDescription */ +static UA_INLINE void +UA_EndpointDescription_init(UA_EndpointDescription *p) { + memset(p, 0, sizeof(UA_EndpointDescription)); +} + +static UA_INLINE UA_EndpointDescription * +UA_EndpointDescription_new(void) { + return (UA_EndpointDescription*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_EndpointDescription_copy(const UA_EndpointDescription *src, UA_EndpointDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EndpointDescription_deleteMembers(UA_EndpointDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); +} + +static UA_INLINE void +UA_EndpointDescription_clear(UA_EndpointDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); +} + +static UA_INLINE void +UA_EndpointDescription_delete(UA_EndpointDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_EndpointDescription_equal(const UA_EndpointDescription *p1, const UA_EndpointDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* GetEndpointsRequest */ +static UA_INLINE void +UA_GetEndpointsRequest_init(UA_GetEndpointsRequest *p) { + memset(p, 0, sizeof(UA_GetEndpointsRequest)); +} + +static UA_INLINE UA_GetEndpointsRequest * +UA_GetEndpointsRequest_new(void) { + return (UA_GetEndpointsRequest*)UA_new(&UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_GetEndpointsRequest_copy(const UA_GetEndpointsRequest *src, UA_GetEndpointsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_GetEndpointsRequest_deleteMembers(UA_GetEndpointsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); +} + +static UA_INLINE void +UA_GetEndpointsRequest_clear(UA_GetEndpointsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); +} + +static UA_INLINE void +UA_GetEndpointsRequest_delete(UA_GetEndpointsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); +}static UA_INLINE UA_Boolean +UA_GetEndpointsRequest_equal(const UA_GetEndpointsRequest *p1, const UA_GetEndpointsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]) == UA_ORDER_EQ); +} + + + +/* GetEndpointsResponse */ +static UA_INLINE void +UA_GetEndpointsResponse_init(UA_GetEndpointsResponse *p) { + memset(p, 0, sizeof(UA_GetEndpointsResponse)); +} + +static UA_INLINE UA_GetEndpointsResponse * +UA_GetEndpointsResponse_new(void) { + return (UA_GetEndpointsResponse*)UA_new(&UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_GetEndpointsResponse_copy(const UA_GetEndpointsResponse *src, UA_GetEndpointsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_GetEndpointsResponse_deleteMembers(UA_GetEndpointsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); +} + +static UA_INLINE void +UA_GetEndpointsResponse_clear(UA_GetEndpointsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); +} + +static UA_INLINE void +UA_GetEndpointsResponse_delete(UA_GetEndpointsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_GetEndpointsResponse_equal(const UA_GetEndpointsResponse *p1, const UA_GetEndpointsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* RegisteredServer */ +static UA_INLINE void +UA_RegisteredServer_init(UA_RegisteredServer *p) { + memset(p, 0, sizeof(UA_RegisteredServer)); +} + +static UA_INLINE UA_RegisteredServer * +UA_RegisteredServer_new(void) { + return (UA_RegisteredServer*)UA_new(&UA_TYPES[UA_TYPES_REGISTEREDSERVER]); +} + +static UA_INLINE UA_StatusCode +UA_RegisteredServer_copy(const UA_RegisteredServer *src, UA_RegisteredServer *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisteredServer_deleteMembers(UA_RegisteredServer *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); +} + +static UA_INLINE void +UA_RegisteredServer_clear(UA_RegisteredServer *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); +} + +static UA_INLINE void +UA_RegisteredServer_delete(UA_RegisteredServer *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); +}static UA_INLINE UA_Boolean +UA_RegisteredServer_equal(const UA_RegisteredServer *p1, const UA_RegisteredServer *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]) == UA_ORDER_EQ); +} + + + +/* RegisterServerRequest */ +static UA_INLINE void +UA_RegisterServerRequest_init(UA_RegisterServerRequest *p) { + memset(p, 0, sizeof(UA_RegisterServerRequest)); +} + +static UA_INLINE UA_RegisterServerRequest * +UA_RegisterServerRequest_new(void) { + return (UA_RegisterServerRequest*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_RegisterServerRequest_copy(const UA_RegisterServerRequest *src, UA_RegisterServerRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisterServerRequest_deleteMembers(UA_RegisterServerRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); +} + +static UA_INLINE void +UA_RegisterServerRequest_clear(UA_RegisterServerRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); +} + +static UA_INLINE void +UA_RegisterServerRequest_delete(UA_RegisterServerRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); +}static UA_INLINE UA_Boolean +UA_RegisterServerRequest_equal(const UA_RegisterServerRequest *p1, const UA_RegisterServerRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]) == UA_ORDER_EQ); +} + + + +/* RegisterServerResponse */ +static UA_INLINE void +UA_RegisterServerResponse_init(UA_RegisterServerResponse *p) { + memset(p, 0, sizeof(UA_RegisterServerResponse)); +} + +static UA_INLINE UA_RegisterServerResponse * +UA_RegisterServerResponse_new(void) { + return (UA_RegisterServerResponse*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_RegisterServerResponse_copy(const UA_RegisterServerResponse *src, UA_RegisterServerResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisterServerResponse_deleteMembers(UA_RegisterServerResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); +} + +static UA_INLINE void +UA_RegisterServerResponse_clear(UA_RegisterServerResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); +} + +static UA_INLINE void +UA_RegisterServerResponse_delete(UA_RegisterServerResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); +}static UA_INLINE UA_Boolean +UA_RegisterServerResponse_equal(const UA_RegisterServerResponse *p1, const UA_RegisterServerResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]) == UA_ORDER_EQ); +} + + + +/* MdnsDiscoveryConfiguration */ +static UA_INLINE void +UA_MdnsDiscoveryConfiguration_init(UA_MdnsDiscoveryConfiguration *p) { + memset(p, 0, sizeof(UA_MdnsDiscoveryConfiguration)); +} + +static UA_INLINE UA_MdnsDiscoveryConfiguration * +UA_MdnsDiscoveryConfiguration_new(void) { + return (UA_MdnsDiscoveryConfiguration*)UA_new(&UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); +} + +static UA_INLINE UA_StatusCode +UA_MdnsDiscoveryConfiguration_copy(const UA_MdnsDiscoveryConfiguration *src, UA_MdnsDiscoveryConfiguration *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MdnsDiscoveryConfiguration_deleteMembers(UA_MdnsDiscoveryConfiguration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); +} + +static UA_INLINE void +UA_MdnsDiscoveryConfiguration_clear(UA_MdnsDiscoveryConfiguration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); +} + +static UA_INLINE void +UA_MdnsDiscoveryConfiguration_delete(UA_MdnsDiscoveryConfiguration *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); +}static UA_INLINE UA_Boolean +UA_MdnsDiscoveryConfiguration_equal(const UA_MdnsDiscoveryConfiguration *p1, const UA_MdnsDiscoveryConfiguration *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]) == UA_ORDER_EQ); +} + + + +/* RegisterServer2Request */ +static UA_INLINE void +UA_RegisterServer2Request_init(UA_RegisterServer2Request *p) { + memset(p, 0, sizeof(UA_RegisterServer2Request)); +} + +static UA_INLINE UA_RegisterServer2Request * +UA_RegisterServer2Request_new(void) { + return (UA_RegisterServer2Request*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_RegisterServer2Request_copy(const UA_RegisterServer2Request *src, UA_RegisterServer2Request *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisterServer2Request_deleteMembers(UA_RegisterServer2Request *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); +} + +static UA_INLINE void +UA_RegisterServer2Request_clear(UA_RegisterServer2Request *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); +} + +static UA_INLINE void +UA_RegisterServer2Request_delete(UA_RegisterServer2Request *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); +}static UA_INLINE UA_Boolean +UA_RegisterServer2Request_equal(const UA_RegisterServer2Request *p1, const UA_RegisterServer2Request *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]) == UA_ORDER_EQ); +} + + + +/* RegisterServer2Response */ +static UA_INLINE void +UA_RegisterServer2Response_init(UA_RegisterServer2Response *p) { + memset(p, 0, sizeof(UA_RegisterServer2Response)); +} + +static UA_INLINE UA_RegisterServer2Response * +UA_RegisterServer2Response_new(void) { + return (UA_RegisterServer2Response*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_RegisterServer2Response_copy(const UA_RegisterServer2Response *src, UA_RegisterServer2Response *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisterServer2Response_deleteMembers(UA_RegisterServer2Response *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); +} + +static UA_INLINE void +UA_RegisterServer2Response_clear(UA_RegisterServer2Response *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); +} + +static UA_INLINE void +UA_RegisterServer2Response_delete(UA_RegisterServer2Response *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); +}static UA_INLINE UA_Boolean +UA_RegisterServer2Response_equal(const UA_RegisterServer2Response *p1, const UA_RegisterServer2Response *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]) == UA_ORDER_EQ); +} + + + +/* SecurityTokenRequestType */ +static UA_INLINE void +UA_SecurityTokenRequestType_init(UA_SecurityTokenRequestType *p) { + memset(p, 0, sizeof(UA_SecurityTokenRequestType)); +} + +static UA_INLINE UA_SecurityTokenRequestType * +UA_SecurityTokenRequestType_new(void) { + return (UA_SecurityTokenRequestType*)UA_new(&UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SecurityTokenRequestType_copy(const UA_SecurityTokenRequestType *src, UA_SecurityTokenRequestType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SecurityTokenRequestType_deleteMembers(UA_SecurityTokenRequestType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); +} + +static UA_INLINE void +UA_SecurityTokenRequestType_clear(UA_SecurityTokenRequestType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); +} + +static UA_INLINE void +UA_SecurityTokenRequestType_delete(UA_SecurityTokenRequestType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); +}static UA_INLINE UA_Boolean +UA_SecurityTokenRequestType_equal(const UA_SecurityTokenRequestType *p1, const UA_SecurityTokenRequestType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]) == UA_ORDER_EQ); +} + + + +/* ChannelSecurityToken */ +static UA_INLINE void +UA_ChannelSecurityToken_init(UA_ChannelSecurityToken *p) { + memset(p, 0, sizeof(UA_ChannelSecurityToken)); +} + +static UA_INLINE UA_ChannelSecurityToken * +UA_ChannelSecurityToken_new(void) { + return (UA_ChannelSecurityToken*)UA_new(&UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_ChannelSecurityToken_copy(const UA_ChannelSecurityToken *src, UA_ChannelSecurityToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ChannelSecurityToken_deleteMembers(UA_ChannelSecurityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); +} + +static UA_INLINE void +UA_ChannelSecurityToken_clear(UA_ChannelSecurityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); +} + +static UA_INLINE void +UA_ChannelSecurityToken_delete(UA_ChannelSecurityToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); +}static UA_INLINE UA_Boolean +UA_ChannelSecurityToken_equal(const UA_ChannelSecurityToken *p1, const UA_ChannelSecurityToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]) == UA_ORDER_EQ); +} + + + +/* OpenSecureChannelRequest */ +static UA_INLINE void +UA_OpenSecureChannelRequest_init(UA_OpenSecureChannelRequest *p) { + memset(p, 0, sizeof(UA_OpenSecureChannelRequest)); +} + +static UA_INLINE UA_OpenSecureChannelRequest * +UA_OpenSecureChannelRequest_new(void) { + return (UA_OpenSecureChannelRequest*)UA_new(&UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_OpenSecureChannelRequest_copy(const UA_OpenSecureChannelRequest *src, UA_OpenSecureChannelRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_OpenSecureChannelRequest_deleteMembers(UA_OpenSecureChannelRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); +} + +static UA_INLINE void +UA_OpenSecureChannelRequest_clear(UA_OpenSecureChannelRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); +} + +static UA_INLINE void +UA_OpenSecureChannelRequest_delete(UA_OpenSecureChannelRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); +}static UA_INLINE UA_Boolean +UA_OpenSecureChannelRequest_equal(const UA_OpenSecureChannelRequest *p1, const UA_OpenSecureChannelRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]) == UA_ORDER_EQ); +} + + + +/* OpenSecureChannelResponse */ +static UA_INLINE void +UA_OpenSecureChannelResponse_init(UA_OpenSecureChannelResponse *p) { + memset(p, 0, sizeof(UA_OpenSecureChannelResponse)); +} + +static UA_INLINE UA_OpenSecureChannelResponse * +UA_OpenSecureChannelResponse_new(void) { + return (UA_OpenSecureChannelResponse*)UA_new(&UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_OpenSecureChannelResponse_copy(const UA_OpenSecureChannelResponse *src, UA_OpenSecureChannelResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_OpenSecureChannelResponse_deleteMembers(UA_OpenSecureChannelResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); +} + +static UA_INLINE void +UA_OpenSecureChannelResponse_clear(UA_OpenSecureChannelResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); +} + +static UA_INLINE void +UA_OpenSecureChannelResponse_delete(UA_OpenSecureChannelResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); +}static UA_INLINE UA_Boolean +UA_OpenSecureChannelResponse_equal(const UA_OpenSecureChannelResponse *p1, const UA_OpenSecureChannelResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]) == UA_ORDER_EQ); +} + + + +/* CloseSecureChannelRequest */ +static UA_INLINE void +UA_CloseSecureChannelRequest_init(UA_CloseSecureChannelRequest *p) { + memset(p, 0, sizeof(UA_CloseSecureChannelRequest)); +} + +static UA_INLINE UA_CloseSecureChannelRequest * +UA_CloseSecureChannelRequest_new(void) { + return (UA_CloseSecureChannelRequest*)UA_new(&UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CloseSecureChannelRequest_copy(const UA_CloseSecureChannelRequest *src, UA_CloseSecureChannelRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CloseSecureChannelRequest_deleteMembers(UA_CloseSecureChannelRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); +} + +static UA_INLINE void +UA_CloseSecureChannelRequest_clear(UA_CloseSecureChannelRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); +} + +static UA_INLINE void +UA_CloseSecureChannelRequest_delete(UA_CloseSecureChannelRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); +}static UA_INLINE UA_Boolean +UA_CloseSecureChannelRequest_equal(const UA_CloseSecureChannelRequest *p1, const UA_CloseSecureChannelRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]) == UA_ORDER_EQ); +} + + + +/* CloseSecureChannelResponse */ +static UA_INLINE void +UA_CloseSecureChannelResponse_init(UA_CloseSecureChannelResponse *p) { + memset(p, 0, sizeof(UA_CloseSecureChannelResponse)); +} + +static UA_INLINE UA_CloseSecureChannelResponse * +UA_CloseSecureChannelResponse_new(void) { + return (UA_CloseSecureChannelResponse*)UA_new(&UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CloseSecureChannelResponse_copy(const UA_CloseSecureChannelResponse *src, UA_CloseSecureChannelResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CloseSecureChannelResponse_deleteMembers(UA_CloseSecureChannelResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); +} + +static UA_INLINE void +UA_CloseSecureChannelResponse_clear(UA_CloseSecureChannelResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); +} + +static UA_INLINE void +UA_CloseSecureChannelResponse_delete(UA_CloseSecureChannelResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CloseSecureChannelResponse_equal(const UA_CloseSecureChannelResponse *p1, const UA_CloseSecureChannelResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]) == UA_ORDER_EQ); +} + + + +/* SignedSoftwareCertificate */ +static UA_INLINE void +UA_SignedSoftwareCertificate_init(UA_SignedSoftwareCertificate *p) { + memset(p, 0, sizeof(UA_SignedSoftwareCertificate)); +} + +static UA_INLINE UA_SignedSoftwareCertificate * +UA_SignedSoftwareCertificate_new(void) { + return (UA_SignedSoftwareCertificate*)UA_new(&UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); +} + +static UA_INLINE UA_StatusCode +UA_SignedSoftwareCertificate_copy(const UA_SignedSoftwareCertificate *src, UA_SignedSoftwareCertificate *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SignedSoftwareCertificate_deleteMembers(UA_SignedSoftwareCertificate *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); +} + +static UA_INLINE void +UA_SignedSoftwareCertificate_clear(UA_SignedSoftwareCertificate *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); +} + +static UA_INLINE void +UA_SignedSoftwareCertificate_delete(UA_SignedSoftwareCertificate *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); +}static UA_INLINE UA_Boolean +UA_SignedSoftwareCertificate_equal(const UA_SignedSoftwareCertificate *p1, const UA_SignedSoftwareCertificate *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]) == UA_ORDER_EQ); +} + + + +/* SessionAuthenticationToken */ +static UA_INLINE void +UA_SessionAuthenticationToken_init(UA_SessionAuthenticationToken *p) { + memset(p, 0, sizeof(UA_SessionAuthenticationToken)); +} + +static UA_INLINE UA_SessionAuthenticationToken * +UA_SessionAuthenticationToken_new(void) { + return (UA_SessionAuthenticationToken*)UA_new(&UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_SessionAuthenticationToken_copy(const UA_SessionAuthenticationToken *src, UA_SessionAuthenticationToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SessionAuthenticationToken_deleteMembers(UA_SessionAuthenticationToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); +} + +static UA_INLINE void +UA_SessionAuthenticationToken_clear(UA_SessionAuthenticationToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); +} + +static UA_INLINE void +UA_SessionAuthenticationToken_delete(UA_SessionAuthenticationToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); +}static UA_INLINE UA_Boolean +UA_SessionAuthenticationToken_equal(const UA_SessionAuthenticationToken *p1, const UA_SessionAuthenticationToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]) == UA_ORDER_EQ); +} + + + +/* SignatureData */ +static UA_INLINE void +UA_SignatureData_init(UA_SignatureData *p) { + memset(p, 0, sizeof(UA_SignatureData)); +} + +static UA_INLINE UA_SignatureData * +UA_SignatureData_new(void) { + return (UA_SignatureData*)UA_new(&UA_TYPES[UA_TYPES_SIGNATUREDATA]); +} + +static UA_INLINE UA_StatusCode +UA_SignatureData_copy(const UA_SignatureData *src, UA_SignatureData *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SignatureData_deleteMembers(UA_SignatureData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); +} + +static UA_INLINE void +UA_SignatureData_clear(UA_SignatureData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); +} + +static UA_INLINE void +UA_SignatureData_delete(UA_SignatureData *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); +}static UA_INLINE UA_Boolean +UA_SignatureData_equal(const UA_SignatureData *p1, const UA_SignatureData *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIGNATUREDATA]) == UA_ORDER_EQ); +} + + + +/* CreateSessionRequest */ +static UA_INLINE void +UA_CreateSessionRequest_init(UA_CreateSessionRequest *p) { + memset(p, 0, sizeof(UA_CreateSessionRequest)); +} + +static UA_INLINE UA_CreateSessionRequest * +UA_CreateSessionRequest_new(void) { + return (UA_CreateSessionRequest*)UA_new(&UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CreateSessionRequest_copy(const UA_CreateSessionRequest *src, UA_CreateSessionRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CreateSessionRequest_deleteMembers(UA_CreateSessionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); +} + +static UA_INLINE void +UA_CreateSessionRequest_clear(UA_CreateSessionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); +} + +static UA_INLINE void +UA_CreateSessionRequest_delete(UA_CreateSessionRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); +}static UA_INLINE UA_Boolean +UA_CreateSessionRequest_equal(const UA_CreateSessionRequest *p1, const UA_CreateSessionRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]) == UA_ORDER_EQ); +} + + + +/* CreateSessionResponse */ +static UA_INLINE void +UA_CreateSessionResponse_init(UA_CreateSessionResponse *p) { + memset(p, 0, sizeof(UA_CreateSessionResponse)); +} + +static UA_INLINE UA_CreateSessionResponse * +UA_CreateSessionResponse_new(void) { + return (UA_CreateSessionResponse*)UA_new(&UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CreateSessionResponse_copy(const UA_CreateSessionResponse *src, UA_CreateSessionResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CreateSessionResponse_deleteMembers(UA_CreateSessionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); +} + +static UA_INLINE void +UA_CreateSessionResponse_clear(UA_CreateSessionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); +} + +static UA_INLINE void +UA_CreateSessionResponse_delete(UA_CreateSessionResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CreateSessionResponse_equal(const UA_CreateSessionResponse *p1, const UA_CreateSessionResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]) == UA_ORDER_EQ); +} + + + +/* UserIdentityToken */ +static UA_INLINE void +UA_UserIdentityToken_init(UA_UserIdentityToken *p) { + memset(p, 0, sizeof(UA_UserIdentityToken)); +} + +static UA_INLINE UA_UserIdentityToken * +UA_UserIdentityToken_new(void) { + return (UA_UserIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_UserIdentityToken_copy(const UA_UserIdentityToken *src, UA_UserIdentityToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UserIdentityToken_deleteMembers(UA_UserIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_UserIdentityToken_clear(UA_UserIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_UserIdentityToken_delete(UA_UserIdentityToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); +}static UA_INLINE UA_Boolean +UA_UserIdentityToken_equal(const UA_UserIdentityToken *p1, const UA_UserIdentityToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]) == UA_ORDER_EQ); +} + + + +/* AnonymousIdentityToken */ +static UA_INLINE void +UA_AnonymousIdentityToken_init(UA_AnonymousIdentityToken *p) { + memset(p, 0, sizeof(UA_AnonymousIdentityToken)); +} + +static UA_INLINE UA_AnonymousIdentityToken * +UA_AnonymousIdentityToken_new(void) { + return (UA_AnonymousIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_AnonymousIdentityToken_copy(const UA_AnonymousIdentityToken *src, UA_AnonymousIdentityToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AnonymousIdentityToken_deleteMembers(UA_AnonymousIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_AnonymousIdentityToken_clear(UA_AnonymousIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_AnonymousIdentityToken_delete(UA_AnonymousIdentityToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); +}static UA_INLINE UA_Boolean +UA_AnonymousIdentityToken_equal(const UA_AnonymousIdentityToken *p1, const UA_AnonymousIdentityToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) == UA_ORDER_EQ); +} + + + +/* UserNameIdentityToken */ +static UA_INLINE void +UA_UserNameIdentityToken_init(UA_UserNameIdentityToken *p) { + memset(p, 0, sizeof(UA_UserNameIdentityToken)); +} + +static UA_INLINE UA_UserNameIdentityToken * +UA_UserNameIdentityToken_new(void) { + return (UA_UserNameIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_UserNameIdentityToken_copy(const UA_UserNameIdentityToken *src, UA_UserNameIdentityToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UserNameIdentityToken_deleteMembers(UA_UserNameIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_UserNameIdentityToken_clear(UA_UserNameIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_UserNameIdentityToken_delete(UA_UserNameIdentityToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); +}static UA_INLINE UA_Boolean +UA_UserNameIdentityToken_equal(const UA_UserNameIdentityToken *p1, const UA_UserNameIdentityToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) == UA_ORDER_EQ); +} + + + +/* X509IdentityToken */ +static UA_INLINE void +UA_X509IdentityToken_init(UA_X509IdentityToken *p) { + memset(p, 0, sizeof(UA_X509IdentityToken)); +} + +static UA_INLINE UA_X509IdentityToken * +UA_X509IdentityToken_new(void) { + return (UA_X509IdentityToken*)UA_new(&UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_X509IdentityToken_copy(const UA_X509IdentityToken *src, UA_X509IdentityToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_X509IdentityToken_deleteMembers(UA_X509IdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); +} + +static UA_INLINE void +UA_X509IdentityToken_clear(UA_X509IdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); +} + +static UA_INLINE void +UA_X509IdentityToken_delete(UA_X509IdentityToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); +}static UA_INLINE UA_Boolean +UA_X509IdentityToken_equal(const UA_X509IdentityToken *p1, const UA_X509IdentityToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) == UA_ORDER_EQ); +} + + + +/* IssuedIdentityToken */ +static UA_INLINE void +UA_IssuedIdentityToken_init(UA_IssuedIdentityToken *p) { + memset(p, 0, sizeof(UA_IssuedIdentityToken)); +} + +static UA_INLINE UA_IssuedIdentityToken * +UA_IssuedIdentityToken_new(void) { + return (UA_IssuedIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); +} + +static UA_INLINE UA_StatusCode +UA_IssuedIdentityToken_copy(const UA_IssuedIdentityToken *src, UA_IssuedIdentityToken *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_IssuedIdentityToken_deleteMembers(UA_IssuedIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_IssuedIdentityToken_clear(UA_IssuedIdentityToken *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); +} + +static UA_INLINE void +UA_IssuedIdentityToken_delete(UA_IssuedIdentityToken *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); +}static UA_INLINE UA_Boolean +UA_IssuedIdentityToken_equal(const UA_IssuedIdentityToken *p1, const UA_IssuedIdentityToken *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) == UA_ORDER_EQ); +} + + + +/* RsaEncryptedSecret */ +static UA_INLINE void +UA_RsaEncryptedSecret_init(UA_RsaEncryptedSecret *p) { + memset(p, 0, sizeof(UA_RsaEncryptedSecret)); +} + +static UA_INLINE UA_RsaEncryptedSecret * +UA_RsaEncryptedSecret_new(void) { + return (UA_RsaEncryptedSecret*)UA_new(&UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); +} + +static UA_INLINE UA_StatusCode +UA_RsaEncryptedSecret_copy(const UA_RsaEncryptedSecret *src, UA_RsaEncryptedSecret *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RsaEncryptedSecret_deleteMembers(UA_RsaEncryptedSecret *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); +} + +static UA_INLINE void +UA_RsaEncryptedSecret_clear(UA_RsaEncryptedSecret *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); +} + +static UA_INLINE void +UA_RsaEncryptedSecret_delete(UA_RsaEncryptedSecret *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); +}static UA_INLINE UA_Boolean +UA_RsaEncryptedSecret_equal(const UA_RsaEncryptedSecret *p1, const UA_RsaEncryptedSecret *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]) == UA_ORDER_EQ); +} + + + +/* EccEncryptedSecret */ +static UA_INLINE void +UA_EccEncryptedSecret_init(UA_EccEncryptedSecret *p) { + memset(p, 0, sizeof(UA_EccEncryptedSecret)); +} + +static UA_INLINE UA_EccEncryptedSecret * +UA_EccEncryptedSecret_new(void) { + return (UA_EccEncryptedSecret*)UA_new(&UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); +} + +static UA_INLINE UA_StatusCode +UA_EccEncryptedSecret_copy(const UA_EccEncryptedSecret *src, UA_EccEncryptedSecret *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EccEncryptedSecret_deleteMembers(UA_EccEncryptedSecret *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); +} + +static UA_INLINE void +UA_EccEncryptedSecret_clear(UA_EccEncryptedSecret *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); +} + +static UA_INLINE void +UA_EccEncryptedSecret_delete(UA_EccEncryptedSecret *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); +}static UA_INLINE UA_Boolean +UA_EccEncryptedSecret_equal(const UA_EccEncryptedSecret *p1, const UA_EccEncryptedSecret *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]) == UA_ORDER_EQ); +} + + + +/* ActivateSessionRequest */ +static UA_INLINE void +UA_ActivateSessionRequest_init(UA_ActivateSessionRequest *p) { + memset(p, 0, sizeof(UA_ActivateSessionRequest)); +} + +static UA_INLINE UA_ActivateSessionRequest * +UA_ActivateSessionRequest_new(void) { + return (UA_ActivateSessionRequest*)UA_new(&UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_ActivateSessionRequest_copy(const UA_ActivateSessionRequest *src, UA_ActivateSessionRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ActivateSessionRequest_deleteMembers(UA_ActivateSessionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); +} + +static UA_INLINE void +UA_ActivateSessionRequest_clear(UA_ActivateSessionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); +} + +static UA_INLINE void +UA_ActivateSessionRequest_delete(UA_ActivateSessionRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); +}static UA_INLINE UA_Boolean +UA_ActivateSessionRequest_equal(const UA_ActivateSessionRequest *p1, const UA_ActivateSessionRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]) == UA_ORDER_EQ); +} + + + +/* ActivateSessionResponse */ +static UA_INLINE void +UA_ActivateSessionResponse_init(UA_ActivateSessionResponse *p) { + memset(p, 0, sizeof(UA_ActivateSessionResponse)); +} + +static UA_INLINE UA_ActivateSessionResponse * +UA_ActivateSessionResponse_new(void) { + return (UA_ActivateSessionResponse*)UA_new(&UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_ActivateSessionResponse_copy(const UA_ActivateSessionResponse *src, UA_ActivateSessionResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ActivateSessionResponse_deleteMembers(UA_ActivateSessionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); +} + +static UA_INLINE void +UA_ActivateSessionResponse_clear(UA_ActivateSessionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); +} + +static UA_INLINE void +UA_ActivateSessionResponse_delete(UA_ActivateSessionResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); +}static UA_INLINE UA_Boolean +UA_ActivateSessionResponse_equal(const UA_ActivateSessionResponse *p1, const UA_ActivateSessionResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]) == UA_ORDER_EQ); +} + + + +/* CloseSessionRequest */ +static UA_INLINE void +UA_CloseSessionRequest_init(UA_CloseSessionRequest *p) { + memset(p, 0, sizeof(UA_CloseSessionRequest)); +} + +static UA_INLINE UA_CloseSessionRequest * +UA_CloseSessionRequest_new(void) { + return (UA_CloseSessionRequest*)UA_new(&UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CloseSessionRequest_copy(const UA_CloseSessionRequest *src, UA_CloseSessionRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CloseSessionRequest_deleteMembers(UA_CloseSessionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); +} + +static UA_INLINE void +UA_CloseSessionRequest_clear(UA_CloseSessionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); +} + +static UA_INLINE void +UA_CloseSessionRequest_delete(UA_CloseSessionRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); +}static UA_INLINE UA_Boolean +UA_CloseSessionRequest_equal(const UA_CloseSessionRequest *p1, const UA_CloseSessionRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]) == UA_ORDER_EQ); +} + + + +/* CloseSessionResponse */ +static UA_INLINE void +UA_CloseSessionResponse_init(UA_CloseSessionResponse *p) { + memset(p, 0, sizeof(UA_CloseSessionResponse)); +} + +static UA_INLINE UA_CloseSessionResponse * +UA_CloseSessionResponse_new(void) { + return (UA_CloseSessionResponse*)UA_new(&UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CloseSessionResponse_copy(const UA_CloseSessionResponse *src, UA_CloseSessionResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CloseSessionResponse_deleteMembers(UA_CloseSessionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); +} + +static UA_INLINE void +UA_CloseSessionResponse_clear(UA_CloseSessionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); +} + +static UA_INLINE void +UA_CloseSessionResponse_delete(UA_CloseSessionResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CloseSessionResponse_equal(const UA_CloseSessionResponse *p1, const UA_CloseSessionResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]) == UA_ORDER_EQ); +} + + + +/* CancelRequest */ +static UA_INLINE void +UA_CancelRequest_init(UA_CancelRequest *p) { + memset(p, 0, sizeof(UA_CancelRequest)); +} + +static UA_INLINE UA_CancelRequest * +UA_CancelRequest_new(void) { + return (UA_CancelRequest*)UA_new(&UA_TYPES[UA_TYPES_CANCELREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CancelRequest_copy(const UA_CancelRequest *src, UA_CancelRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CANCELREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CancelRequest_deleteMembers(UA_CancelRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CANCELREQUEST]); +} + +static UA_INLINE void +UA_CancelRequest_clear(UA_CancelRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CANCELREQUEST]); +} + +static UA_INLINE void +UA_CancelRequest_delete(UA_CancelRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CANCELREQUEST]); +}static UA_INLINE UA_Boolean +UA_CancelRequest_equal(const UA_CancelRequest *p1, const UA_CancelRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CANCELREQUEST]) == UA_ORDER_EQ); +} + + + +/* CancelResponse */ +static UA_INLINE void +UA_CancelResponse_init(UA_CancelResponse *p) { + memset(p, 0, sizeof(UA_CancelResponse)); +} + +static UA_INLINE UA_CancelResponse * +UA_CancelResponse_new(void) { + return (UA_CancelResponse*)UA_new(&UA_TYPES[UA_TYPES_CANCELRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CancelResponse_copy(const UA_CancelResponse *src, UA_CancelResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CancelResponse_deleteMembers(UA_CancelResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); +} + +static UA_INLINE void +UA_CancelResponse_clear(UA_CancelResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); +} + +static UA_INLINE void +UA_CancelResponse_delete(UA_CancelResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CancelResponse_equal(const UA_CancelResponse *p1, const UA_CancelResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CANCELRESPONSE]) == UA_ORDER_EQ); +} + + + +/* NodeAttributesMask */ +static UA_INLINE void +UA_NodeAttributesMask_init(UA_NodeAttributesMask *p) { + memset(p, 0, sizeof(UA_NodeAttributesMask)); +} + +static UA_INLINE UA_NodeAttributesMask * +UA_NodeAttributesMask_new(void) { + return (UA_NodeAttributesMask*)UA_new(&UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); +} + +static UA_INLINE UA_StatusCode +UA_NodeAttributesMask_copy(const UA_NodeAttributesMask *src, UA_NodeAttributesMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NodeAttributesMask_deleteMembers(UA_NodeAttributesMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); +} + +static UA_INLINE void +UA_NodeAttributesMask_clear(UA_NodeAttributesMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); +} + +static UA_INLINE void +UA_NodeAttributesMask_delete(UA_NodeAttributesMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); +}static UA_INLINE UA_Boolean +UA_NodeAttributesMask_equal(const UA_NodeAttributesMask *p1, const UA_NodeAttributesMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]) == UA_ORDER_EQ); +} + + + +/* NodeAttributes */ +static UA_INLINE void +UA_NodeAttributes_init(UA_NodeAttributes *p) { + memset(p, 0, sizeof(UA_NodeAttributes)); +} + +static UA_INLINE UA_NodeAttributes * +UA_NodeAttributes_new(void) { + return (UA_NodeAttributes*)UA_new(&UA_TYPES[UA_TYPES_NODEATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_NodeAttributes_copy(const UA_NodeAttributes *src, UA_NodeAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NodeAttributes_deleteMembers(UA_NodeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); +} + +static UA_INLINE void +UA_NodeAttributes_clear(UA_NodeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); +} + +static UA_INLINE void +UA_NodeAttributes_delete(UA_NodeAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_NodeAttributes_equal(const UA_NodeAttributes *p1, const UA_NodeAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* ObjectAttributes */ +static UA_INLINE void +UA_ObjectAttributes_init(UA_ObjectAttributes *p) { + memset(p, 0, sizeof(UA_ObjectAttributes)); +} + +static UA_INLINE UA_ObjectAttributes * +UA_ObjectAttributes_new(void) { + return (UA_ObjectAttributes*)UA_new(&UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_ObjectAttributes_copy(const UA_ObjectAttributes *src, UA_ObjectAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ObjectAttributes_deleteMembers(UA_ObjectAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); +} + +static UA_INLINE void +UA_ObjectAttributes_clear(UA_ObjectAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); +} + +static UA_INLINE void +UA_ObjectAttributes_delete(UA_ObjectAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_ObjectAttributes_equal(const UA_ObjectAttributes *p1, const UA_ObjectAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* VariableAttributes */ +static UA_INLINE void +UA_VariableAttributes_init(UA_VariableAttributes *p) { + memset(p, 0, sizeof(UA_VariableAttributes)); +} + +static UA_INLINE UA_VariableAttributes * +UA_VariableAttributes_new(void) { + return (UA_VariableAttributes*)UA_new(&UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_VariableAttributes_copy(const UA_VariableAttributes *src, UA_VariableAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_VariableAttributes_deleteMembers(UA_VariableAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); +} + +static UA_INLINE void +UA_VariableAttributes_clear(UA_VariableAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); +} + +static UA_INLINE void +UA_VariableAttributes_delete(UA_VariableAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_VariableAttributes_equal(const UA_VariableAttributes *p1, const UA_VariableAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* MethodAttributes */ +static UA_INLINE void +UA_MethodAttributes_init(UA_MethodAttributes *p) { + memset(p, 0, sizeof(UA_MethodAttributes)); +} + +static UA_INLINE UA_MethodAttributes * +UA_MethodAttributes_new(void) { + return (UA_MethodAttributes*)UA_new(&UA_TYPES[UA_TYPES_METHODATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_MethodAttributes_copy(const UA_MethodAttributes *src, UA_MethodAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MethodAttributes_deleteMembers(UA_MethodAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); +} + +static UA_INLINE void +UA_MethodAttributes_clear(UA_MethodAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); +} + +static UA_INLINE void +UA_MethodAttributes_delete(UA_MethodAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_MethodAttributes_equal(const UA_MethodAttributes *p1, const UA_MethodAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* ObjectTypeAttributes */ +static UA_INLINE void +UA_ObjectTypeAttributes_init(UA_ObjectTypeAttributes *p) { + memset(p, 0, sizeof(UA_ObjectTypeAttributes)); +} + +static UA_INLINE UA_ObjectTypeAttributes * +UA_ObjectTypeAttributes_new(void) { + return (UA_ObjectTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_ObjectTypeAttributes_copy(const UA_ObjectTypeAttributes *src, UA_ObjectTypeAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ObjectTypeAttributes_deleteMembers(UA_ObjectTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_ObjectTypeAttributes_clear(UA_ObjectTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_ObjectTypeAttributes_delete(UA_ObjectTypeAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_ObjectTypeAttributes_equal(const UA_ObjectTypeAttributes *p1, const UA_ObjectTypeAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* VariableTypeAttributes */ +static UA_INLINE void +UA_VariableTypeAttributes_init(UA_VariableTypeAttributes *p) { + memset(p, 0, sizeof(UA_VariableTypeAttributes)); +} + +static UA_INLINE UA_VariableTypeAttributes * +UA_VariableTypeAttributes_new(void) { + return (UA_VariableTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_VariableTypeAttributes_copy(const UA_VariableTypeAttributes *src, UA_VariableTypeAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_VariableTypeAttributes_deleteMembers(UA_VariableTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_VariableTypeAttributes_clear(UA_VariableTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_VariableTypeAttributes_delete(UA_VariableTypeAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_VariableTypeAttributes_equal(const UA_VariableTypeAttributes *p1, const UA_VariableTypeAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* ReferenceTypeAttributes */ +static UA_INLINE void +UA_ReferenceTypeAttributes_init(UA_ReferenceTypeAttributes *p) { + memset(p, 0, sizeof(UA_ReferenceTypeAttributes)); +} + +static UA_INLINE UA_ReferenceTypeAttributes * +UA_ReferenceTypeAttributes_new(void) { + return (UA_ReferenceTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_ReferenceTypeAttributes_copy(const UA_ReferenceTypeAttributes *src, UA_ReferenceTypeAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReferenceTypeAttributes_deleteMembers(UA_ReferenceTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_ReferenceTypeAttributes_clear(UA_ReferenceTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_ReferenceTypeAttributes_delete(UA_ReferenceTypeAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_ReferenceTypeAttributes_equal(const UA_ReferenceTypeAttributes *p1, const UA_ReferenceTypeAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* DataTypeAttributes */ +static UA_INLINE void +UA_DataTypeAttributes_init(UA_DataTypeAttributes *p) { + memset(p, 0, sizeof(UA_DataTypeAttributes)); +} + +static UA_INLINE UA_DataTypeAttributes * +UA_DataTypeAttributes_new(void) { + return (UA_DataTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_DataTypeAttributes_copy(const UA_DataTypeAttributes *src, UA_DataTypeAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataTypeAttributes_deleteMembers(UA_DataTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_DataTypeAttributes_clear(UA_DataTypeAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); +} + +static UA_INLINE void +UA_DataTypeAttributes_delete(UA_DataTypeAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_DataTypeAttributes_equal(const UA_DataTypeAttributes *p1, const UA_DataTypeAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* ViewAttributes */ +static UA_INLINE void +UA_ViewAttributes_init(UA_ViewAttributes *p) { + memset(p, 0, sizeof(UA_ViewAttributes)); +} + +static UA_INLINE UA_ViewAttributes * +UA_ViewAttributes_new(void) { + return (UA_ViewAttributes*)UA_new(&UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_ViewAttributes_copy(const UA_ViewAttributes *src, UA_ViewAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ViewAttributes_deleteMembers(UA_ViewAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); +} + +static UA_INLINE void +UA_ViewAttributes_clear(UA_ViewAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); +} + +static UA_INLINE void +UA_ViewAttributes_delete(UA_ViewAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_ViewAttributes_equal(const UA_ViewAttributes *p1, const UA_ViewAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* GenericAttributeValue */ +static UA_INLINE void +UA_GenericAttributeValue_init(UA_GenericAttributeValue *p) { + memset(p, 0, sizeof(UA_GenericAttributeValue)); +} + +static UA_INLINE UA_GenericAttributeValue * +UA_GenericAttributeValue_new(void) { + return (UA_GenericAttributeValue*)UA_new(&UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); +} + +static UA_INLINE UA_StatusCode +UA_GenericAttributeValue_copy(const UA_GenericAttributeValue *src, UA_GenericAttributeValue *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_GenericAttributeValue_deleteMembers(UA_GenericAttributeValue *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); +} + +static UA_INLINE void +UA_GenericAttributeValue_clear(UA_GenericAttributeValue *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); +} + +static UA_INLINE void +UA_GenericAttributeValue_delete(UA_GenericAttributeValue *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); +}static UA_INLINE UA_Boolean +UA_GenericAttributeValue_equal(const UA_GenericAttributeValue *p1, const UA_GenericAttributeValue *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]) == UA_ORDER_EQ); +} + + + +/* GenericAttributes */ +static UA_INLINE void +UA_GenericAttributes_init(UA_GenericAttributes *p) { + memset(p, 0, sizeof(UA_GenericAttributes)); +} + +static UA_INLINE UA_GenericAttributes * +UA_GenericAttributes_new(void) { + return (UA_GenericAttributes*)UA_new(&UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); +} + +static UA_INLINE UA_StatusCode +UA_GenericAttributes_copy(const UA_GenericAttributes *src, UA_GenericAttributes *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); +} + +UA_DEPRECATED static UA_INLINE void +UA_GenericAttributes_deleteMembers(UA_GenericAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); +} + +static UA_INLINE void +UA_GenericAttributes_clear(UA_GenericAttributes *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); +} + +static UA_INLINE void +UA_GenericAttributes_delete(UA_GenericAttributes *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); +}static UA_INLINE UA_Boolean +UA_GenericAttributes_equal(const UA_GenericAttributes *p1, const UA_GenericAttributes *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]) == UA_ORDER_EQ); +} + + + +/* AddNodesItem */ +static UA_INLINE void +UA_AddNodesItem_init(UA_AddNodesItem *p) { + memset(p, 0, sizeof(UA_AddNodesItem)); +} + +static UA_INLINE UA_AddNodesItem * +UA_AddNodesItem_new(void) { + return (UA_AddNodesItem*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESITEM]); +} + +static UA_INLINE UA_StatusCode +UA_AddNodesItem_copy(const UA_AddNodesItem *src, UA_AddNodesItem *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESITEM]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddNodesItem_deleteMembers(UA_AddNodesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESITEM]); +} + +static UA_INLINE void +UA_AddNodesItem_clear(UA_AddNodesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESITEM]); +} + +static UA_INLINE void +UA_AddNodesItem_delete(UA_AddNodesItem *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESITEM]); +}static UA_INLINE UA_Boolean +UA_AddNodesItem_equal(const UA_AddNodesItem *p1, const UA_AddNodesItem *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESITEM]) == UA_ORDER_EQ); +} + + + +/* AddNodesResult */ +static UA_INLINE void +UA_AddNodesResult_init(UA_AddNodesResult *p) { + memset(p, 0, sizeof(UA_AddNodesResult)); +} + +static UA_INLINE UA_AddNodesResult * +UA_AddNodesResult_new(void) { + return (UA_AddNodesResult*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_AddNodesResult_copy(const UA_AddNodesResult *src, UA_AddNodesResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddNodesResult_deleteMembers(UA_AddNodesResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); +} + +static UA_INLINE void +UA_AddNodesResult_clear(UA_AddNodesResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); +} + +static UA_INLINE void +UA_AddNodesResult_delete(UA_AddNodesResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); +}static UA_INLINE UA_Boolean +UA_AddNodesResult_equal(const UA_AddNodesResult *p1, const UA_AddNodesResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESRESULT]) == UA_ORDER_EQ); +} + + + +/* AddNodesRequest */ +static UA_INLINE void +UA_AddNodesRequest_init(UA_AddNodesRequest *p) { + memset(p, 0, sizeof(UA_AddNodesRequest)); +} + +static UA_INLINE UA_AddNodesRequest * +UA_AddNodesRequest_new(void) { + return (UA_AddNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_AddNodesRequest_copy(const UA_AddNodesRequest *src, UA_AddNodesRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddNodesRequest_deleteMembers(UA_AddNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); +} + +static UA_INLINE void +UA_AddNodesRequest_clear(UA_AddNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); +} + +static UA_INLINE void +UA_AddNodesRequest_delete(UA_AddNodesRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); +}static UA_INLINE UA_Boolean +UA_AddNodesRequest_equal(const UA_AddNodesRequest *p1, const UA_AddNodesRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]) == UA_ORDER_EQ); +} + + + +/* AddNodesResponse */ +static UA_INLINE void +UA_AddNodesResponse_init(UA_AddNodesResponse *p) { + memset(p, 0, sizeof(UA_AddNodesResponse)); +} + +static UA_INLINE UA_AddNodesResponse * +UA_AddNodesResponse_new(void) { + return (UA_AddNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_AddNodesResponse_copy(const UA_AddNodesResponse *src, UA_AddNodesResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddNodesResponse_deleteMembers(UA_AddNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); +} + +static UA_INLINE void +UA_AddNodesResponse_clear(UA_AddNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); +} + +static UA_INLINE void +UA_AddNodesResponse_delete(UA_AddNodesResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); +}static UA_INLINE UA_Boolean +UA_AddNodesResponse_equal(const UA_AddNodesResponse *p1, const UA_AddNodesResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]) == UA_ORDER_EQ); +} + + + +/* AddReferencesItem */ +static UA_INLINE void +UA_AddReferencesItem_init(UA_AddReferencesItem *p) { + memset(p, 0, sizeof(UA_AddReferencesItem)); +} + +static UA_INLINE UA_AddReferencesItem * +UA_AddReferencesItem_new(void) { + return (UA_AddReferencesItem*)UA_new(&UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); +} + +static UA_INLINE UA_StatusCode +UA_AddReferencesItem_copy(const UA_AddReferencesItem *src, UA_AddReferencesItem *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddReferencesItem_deleteMembers(UA_AddReferencesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); +} + +static UA_INLINE void +UA_AddReferencesItem_clear(UA_AddReferencesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); +} + +static UA_INLINE void +UA_AddReferencesItem_delete(UA_AddReferencesItem *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); +}static UA_INLINE UA_Boolean +UA_AddReferencesItem_equal(const UA_AddReferencesItem *p1, const UA_AddReferencesItem *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]) == UA_ORDER_EQ); +} + + + +/* AddReferencesRequest */ +static UA_INLINE void +UA_AddReferencesRequest_init(UA_AddReferencesRequest *p) { + memset(p, 0, sizeof(UA_AddReferencesRequest)); +} + +static UA_INLINE UA_AddReferencesRequest * +UA_AddReferencesRequest_new(void) { + return (UA_AddReferencesRequest*)UA_new(&UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_AddReferencesRequest_copy(const UA_AddReferencesRequest *src, UA_AddReferencesRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddReferencesRequest_deleteMembers(UA_AddReferencesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); +} + +static UA_INLINE void +UA_AddReferencesRequest_clear(UA_AddReferencesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); +} + +static UA_INLINE void +UA_AddReferencesRequest_delete(UA_AddReferencesRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); +}static UA_INLINE UA_Boolean +UA_AddReferencesRequest_equal(const UA_AddReferencesRequest *p1, const UA_AddReferencesRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]) == UA_ORDER_EQ); +} + + + +/* AddReferencesResponse */ +static UA_INLINE void +UA_AddReferencesResponse_init(UA_AddReferencesResponse *p) { + memset(p, 0, sizeof(UA_AddReferencesResponse)); +} + +static UA_INLINE UA_AddReferencesResponse * +UA_AddReferencesResponse_new(void) { + return (UA_AddReferencesResponse*)UA_new(&UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_AddReferencesResponse_copy(const UA_AddReferencesResponse *src, UA_AddReferencesResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AddReferencesResponse_deleteMembers(UA_AddReferencesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); +} + +static UA_INLINE void +UA_AddReferencesResponse_clear(UA_AddReferencesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); +} + +static UA_INLINE void +UA_AddReferencesResponse_delete(UA_AddReferencesResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); +}static UA_INLINE UA_Boolean +UA_AddReferencesResponse_equal(const UA_AddReferencesResponse *p1, const UA_AddReferencesResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]) == UA_ORDER_EQ); +} + + + +/* DeleteNodesItem */ +static UA_INLINE void +UA_DeleteNodesItem_init(UA_DeleteNodesItem *p) { + memset(p, 0, sizeof(UA_DeleteNodesItem)); +} + +static UA_INLINE UA_DeleteNodesItem * +UA_DeleteNodesItem_new(void) { + return (UA_DeleteNodesItem*)UA_new(&UA_TYPES[UA_TYPES_DELETENODESITEM]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteNodesItem_copy(const UA_DeleteNodesItem *src, UA_DeleteNodesItem *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETENODESITEM]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteNodesItem_deleteMembers(UA_DeleteNodesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESITEM]); +} + +static UA_INLINE void +UA_DeleteNodesItem_clear(UA_DeleteNodesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESITEM]); +} + +static UA_INLINE void +UA_DeleteNodesItem_delete(UA_DeleteNodesItem *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETENODESITEM]); +}static UA_INLINE UA_Boolean +UA_DeleteNodesItem_equal(const UA_DeleteNodesItem *p1, const UA_DeleteNodesItem *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETENODESITEM]) == UA_ORDER_EQ); +} + + + +/* DeleteNodesRequest */ +static UA_INLINE void +UA_DeleteNodesRequest_init(UA_DeleteNodesRequest *p) { + memset(p, 0, sizeof(UA_DeleteNodesRequest)); +} + +static UA_INLINE UA_DeleteNodesRequest * +UA_DeleteNodesRequest_new(void) { + return (UA_DeleteNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETENODESREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteNodesRequest_copy(const UA_DeleteNodesRequest *src, UA_DeleteNodesRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteNodesRequest_deleteMembers(UA_DeleteNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); +} + +static UA_INLINE void +UA_DeleteNodesRequest_clear(UA_DeleteNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); +} + +static UA_INLINE void +UA_DeleteNodesRequest_delete(UA_DeleteNodesRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); +}static UA_INLINE UA_Boolean +UA_DeleteNodesRequest_equal(const UA_DeleteNodesRequest *p1, const UA_DeleteNodesRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]) == UA_ORDER_EQ); +} + + + +/* DeleteNodesResponse */ +static UA_INLINE void +UA_DeleteNodesResponse_init(UA_DeleteNodesResponse *p) { + memset(p, 0, sizeof(UA_DeleteNodesResponse)); +} + +static UA_INLINE UA_DeleteNodesResponse * +UA_DeleteNodesResponse_new(void) { + return (UA_DeleteNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteNodesResponse_copy(const UA_DeleteNodesResponse *src, UA_DeleteNodesResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteNodesResponse_deleteMembers(UA_DeleteNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); +} + +static UA_INLINE void +UA_DeleteNodesResponse_clear(UA_DeleteNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); +} + +static UA_INLINE void +UA_DeleteNodesResponse_delete(UA_DeleteNodesResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); +}static UA_INLINE UA_Boolean +UA_DeleteNodesResponse_equal(const UA_DeleteNodesResponse *p1, const UA_DeleteNodesResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]) == UA_ORDER_EQ); +} + + + +/* DeleteReferencesItem */ +static UA_INLINE void +UA_DeleteReferencesItem_init(UA_DeleteReferencesItem *p) { + memset(p, 0, sizeof(UA_DeleteReferencesItem)); +} + +static UA_INLINE UA_DeleteReferencesItem * +UA_DeleteReferencesItem_new(void) { + return (UA_DeleteReferencesItem*)UA_new(&UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteReferencesItem_copy(const UA_DeleteReferencesItem *src, UA_DeleteReferencesItem *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteReferencesItem_deleteMembers(UA_DeleteReferencesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); +} + +static UA_INLINE void +UA_DeleteReferencesItem_clear(UA_DeleteReferencesItem *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); +} + +static UA_INLINE void +UA_DeleteReferencesItem_delete(UA_DeleteReferencesItem *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); +}static UA_INLINE UA_Boolean +UA_DeleteReferencesItem_equal(const UA_DeleteReferencesItem *p1, const UA_DeleteReferencesItem *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]) == UA_ORDER_EQ); +} + + + +/* DeleteReferencesRequest */ +static UA_INLINE void +UA_DeleteReferencesRequest_init(UA_DeleteReferencesRequest *p) { + memset(p, 0, sizeof(UA_DeleteReferencesRequest)); +} + +static UA_INLINE UA_DeleteReferencesRequest * +UA_DeleteReferencesRequest_new(void) { + return (UA_DeleteReferencesRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteReferencesRequest_copy(const UA_DeleteReferencesRequest *src, UA_DeleteReferencesRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteReferencesRequest_deleteMembers(UA_DeleteReferencesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); +} + +static UA_INLINE void +UA_DeleteReferencesRequest_clear(UA_DeleteReferencesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); +} + +static UA_INLINE void +UA_DeleteReferencesRequest_delete(UA_DeleteReferencesRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); +}static UA_INLINE UA_Boolean +UA_DeleteReferencesRequest_equal(const UA_DeleteReferencesRequest *p1, const UA_DeleteReferencesRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]) == UA_ORDER_EQ); +} + + + +/* DeleteReferencesResponse */ +static UA_INLINE void +UA_DeleteReferencesResponse_init(UA_DeleteReferencesResponse *p) { + memset(p, 0, sizeof(UA_DeleteReferencesResponse)); +} + +static UA_INLINE UA_DeleteReferencesResponse * +UA_DeleteReferencesResponse_new(void) { + return (UA_DeleteReferencesResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteReferencesResponse_copy(const UA_DeleteReferencesResponse *src, UA_DeleteReferencesResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteReferencesResponse_deleteMembers(UA_DeleteReferencesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); +} + +static UA_INLINE void +UA_DeleteReferencesResponse_clear(UA_DeleteReferencesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); +} + +static UA_INLINE void +UA_DeleteReferencesResponse_delete(UA_DeleteReferencesResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); +}static UA_INLINE UA_Boolean +UA_DeleteReferencesResponse_equal(const UA_DeleteReferencesResponse *p1, const UA_DeleteReferencesResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]) == UA_ORDER_EQ); +} + + + +/* AttributeWriteMask */ +static UA_INLINE void +UA_AttributeWriteMask_init(UA_AttributeWriteMask *p) { + memset(p, 0, sizeof(UA_AttributeWriteMask)); +} + +static UA_INLINE UA_AttributeWriteMask * +UA_AttributeWriteMask_new(void) { + return (UA_AttributeWriteMask*)UA_new(&UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); +} + +static UA_INLINE UA_StatusCode +UA_AttributeWriteMask_copy(const UA_AttributeWriteMask *src, UA_AttributeWriteMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AttributeWriteMask_deleteMembers(UA_AttributeWriteMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); +} + +static UA_INLINE void +UA_AttributeWriteMask_clear(UA_AttributeWriteMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); +} + +static UA_INLINE void +UA_AttributeWriteMask_delete(UA_AttributeWriteMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); +}static UA_INLINE UA_Boolean +UA_AttributeWriteMask_equal(const UA_AttributeWriteMask *p1, const UA_AttributeWriteMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]) == UA_ORDER_EQ); +} + + + +/* BrowseDirection */ +static UA_INLINE void +UA_BrowseDirection_init(UA_BrowseDirection *p) { + memset(p, 0, sizeof(UA_BrowseDirection)); +} + +static UA_INLINE UA_BrowseDirection * +UA_BrowseDirection_new(void) { + return (UA_BrowseDirection*)UA_new(&UA_TYPES[UA_TYPES_BROWSEDIRECTION]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseDirection_copy(const UA_BrowseDirection *src, UA_BrowseDirection *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseDirection_deleteMembers(UA_BrowseDirection *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); +} + +static UA_INLINE void +UA_BrowseDirection_clear(UA_BrowseDirection *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); +} + +static UA_INLINE void +UA_BrowseDirection_delete(UA_BrowseDirection *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); +}static UA_INLINE UA_Boolean +UA_BrowseDirection_equal(const UA_BrowseDirection *p1, const UA_BrowseDirection *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]) == UA_ORDER_EQ); +} + + + +/* ViewDescription */ +static UA_INLINE void +UA_ViewDescription_init(UA_ViewDescription *p) { + memset(p, 0, sizeof(UA_ViewDescription)); +} + +static UA_INLINE UA_ViewDescription * +UA_ViewDescription_new(void) { + return (UA_ViewDescription*)UA_new(&UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_ViewDescription_copy(const UA_ViewDescription *src, UA_ViewDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ViewDescription_deleteMembers(UA_ViewDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); +} + +static UA_INLINE void +UA_ViewDescription_clear(UA_ViewDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); +} + +static UA_INLINE void +UA_ViewDescription_delete(UA_ViewDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_ViewDescription_equal(const UA_ViewDescription *p1, const UA_ViewDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* BrowseDescription */ +static UA_INLINE void +UA_BrowseDescription_init(UA_BrowseDescription *p) { + memset(p, 0, sizeof(UA_BrowseDescription)); +} + +static UA_INLINE UA_BrowseDescription * +UA_BrowseDescription_new(void) { + return (UA_BrowseDescription*)UA_new(&UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseDescription_copy(const UA_BrowseDescription *src, UA_BrowseDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseDescription_deleteMembers(UA_BrowseDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); +} + +static UA_INLINE void +UA_BrowseDescription_clear(UA_BrowseDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); +} + +static UA_INLINE void +UA_BrowseDescription_delete(UA_BrowseDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_BrowseDescription_equal(const UA_BrowseDescription *p1, const UA_BrowseDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* BrowseResultMask */ +static UA_INLINE void +UA_BrowseResultMask_init(UA_BrowseResultMask *p) { + memset(p, 0, sizeof(UA_BrowseResultMask)); +} + +static UA_INLINE UA_BrowseResultMask * +UA_BrowseResultMask_new(void) { + return (UA_BrowseResultMask*)UA_new(&UA_TYPES[UA_TYPES_BROWSERESULTMASK]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseResultMask_copy(const UA_BrowseResultMask *src, UA_BrowseResultMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseResultMask_deleteMembers(UA_BrowseResultMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); +} + +static UA_INLINE void +UA_BrowseResultMask_clear(UA_BrowseResultMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); +} + +static UA_INLINE void +UA_BrowseResultMask_delete(UA_BrowseResultMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); +}static UA_INLINE UA_Boolean +UA_BrowseResultMask_equal(const UA_BrowseResultMask *p1, const UA_BrowseResultMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]) == UA_ORDER_EQ); +} + + + +/* ReferenceDescription */ +static UA_INLINE void +UA_ReferenceDescription_init(UA_ReferenceDescription *p) { + memset(p, 0, sizeof(UA_ReferenceDescription)); +} + +static UA_INLINE UA_ReferenceDescription * +UA_ReferenceDescription_new(void) { + return (UA_ReferenceDescription*)UA_new(&UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_ReferenceDescription_copy(const UA_ReferenceDescription *src, UA_ReferenceDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReferenceDescription_deleteMembers(UA_ReferenceDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); +} + +static UA_INLINE void +UA_ReferenceDescription_clear(UA_ReferenceDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); +} + +static UA_INLINE void +UA_ReferenceDescription_delete(UA_ReferenceDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_ReferenceDescription_equal(const UA_ReferenceDescription *p1, const UA_ReferenceDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* ContinuationPoint */ +static UA_INLINE void +UA_ContinuationPoint_init(UA_ContinuationPoint *p) { + memset(p, 0, sizeof(UA_ContinuationPoint)); +} + +static UA_INLINE UA_ContinuationPoint * +UA_ContinuationPoint_new(void) { + return (UA_ContinuationPoint*)UA_new(&UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); +} + +static UA_INLINE UA_StatusCode +UA_ContinuationPoint_copy(const UA_ContinuationPoint *src, UA_ContinuationPoint *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ContinuationPoint_deleteMembers(UA_ContinuationPoint *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); +} + +static UA_INLINE void +UA_ContinuationPoint_clear(UA_ContinuationPoint *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); +} + +static UA_INLINE void +UA_ContinuationPoint_delete(UA_ContinuationPoint *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); +}static UA_INLINE UA_Boolean +UA_ContinuationPoint_equal(const UA_ContinuationPoint *p1, const UA_ContinuationPoint *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]) == UA_ORDER_EQ); +} + + + +/* BrowseResult */ +static UA_INLINE void +UA_BrowseResult_init(UA_BrowseResult *p) { + memset(p, 0, sizeof(UA_BrowseResult)); +} + +static UA_INLINE UA_BrowseResult * +UA_BrowseResult_new(void) { + return (UA_BrowseResult*)UA_new(&UA_TYPES[UA_TYPES_BROWSERESULT]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseResult_copy(const UA_BrowseResult *src, UA_BrowseResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSERESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseResult_deleteMembers(UA_BrowseResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULT]); +} + +static UA_INLINE void +UA_BrowseResult_clear(UA_BrowseResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULT]); +} + +static UA_INLINE void +UA_BrowseResult_delete(UA_BrowseResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSERESULT]); +}static UA_INLINE UA_Boolean +UA_BrowseResult_equal(const UA_BrowseResult *p1, const UA_BrowseResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSERESULT]) == UA_ORDER_EQ); +} + + + +/* BrowseRequest */ +static UA_INLINE void +UA_BrowseRequest_init(UA_BrowseRequest *p) { + memset(p, 0, sizeof(UA_BrowseRequest)); +} + +static UA_INLINE UA_BrowseRequest * +UA_BrowseRequest_new(void) { + return (UA_BrowseRequest*)UA_new(&UA_TYPES[UA_TYPES_BROWSEREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseRequest_copy(const UA_BrowseRequest *src, UA_BrowseRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseRequest_deleteMembers(UA_BrowseRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); +} + +static UA_INLINE void +UA_BrowseRequest_clear(UA_BrowseRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); +} + +static UA_INLINE void +UA_BrowseRequest_delete(UA_BrowseRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); +}static UA_INLINE UA_Boolean +UA_BrowseRequest_equal(const UA_BrowseRequest *p1, const UA_BrowseRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEREQUEST]) == UA_ORDER_EQ); +} + + + +/* BrowseResponse */ +static UA_INLINE void +UA_BrowseResponse_init(UA_BrowseResponse *p) { + memset(p, 0, sizeof(UA_BrowseResponse)); +} + +static UA_INLINE UA_BrowseResponse * +UA_BrowseResponse_new(void) { + return (UA_BrowseResponse*)UA_new(&UA_TYPES[UA_TYPES_BROWSERESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseResponse_copy(const UA_BrowseResponse *src, UA_BrowseResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseResponse_deleteMembers(UA_BrowseResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); +} + +static UA_INLINE void +UA_BrowseResponse_clear(UA_BrowseResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); +} + +static UA_INLINE void +UA_BrowseResponse_delete(UA_BrowseResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); +}static UA_INLINE UA_Boolean +UA_BrowseResponse_equal(const UA_BrowseResponse *p1, const UA_BrowseResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSERESPONSE]) == UA_ORDER_EQ); +} + + + +/* BrowseNextRequest */ +static UA_INLINE void +UA_BrowseNextRequest_init(UA_BrowseNextRequest *p) { + memset(p, 0, sizeof(UA_BrowseNextRequest)); +} + +static UA_INLINE UA_BrowseNextRequest * +UA_BrowseNextRequest_new(void) { + return (UA_BrowseNextRequest*)UA_new(&UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseNextRequest_copy(const UA_BrowseNextRequest *src, UA_BrowseNextRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseNextRequest_deleteMembers(UA_BrowseNextRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); +} + +static UA_INLINE void +UA_BrowseNextRequest_clear(UA_BrowseNextRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); +} + +static UA_INLINE void +UA_BrowseNextRequest_delete(UA_BrowseNextRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); +}static UA_INLINE UA_Boolean +UA_BrowseNextRequest_equal(const UA_BrowseNextRequest *p1, const UA_BrowseNextRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]) == UA_ORDER_EQ); +} + + + +/* BrowseNextResponse */ +static UA_INLINE void +UA_BrowseNextResponse_init(UA_BrowseNextResponse *p) { + memset(p, 0, sizeof(UA_BrowseNextResponse)); +} + +static UA_INLINE UA_BrowseNextResponse * +UA_BrowseNextResponse_new(void) { + return (UA_BrowseNextResponse*)UA_new(&UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_BrowseNextResponse_copy(const UA_BrowseNextResponse *src, UA_BrowseNextResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowseNextResponse_deleteMembers(UA_BrowseNextResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); +} + +static UA_INLINE void +UA_BrowseNextResponse_clear(UA_BrowseNextResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); +} + +static UA_INLINE void +UA_BrowseNextResponse_delete(UA_BrowseNextResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); +}static UA_INLINE UA_Boolean +UA_BrowseNextResponse_equal(const UA_BrowseNextResponse *p1, const UA_BrowseNextResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]) == UA_ORDER_EQ); +} + + + +/* RelativePathElement */ +static UA_INLINE void +UA_RelativePathElement_init(UA_RelativePathElement *p) { + memset(p, 0, sizeof(UA_RelativePathElement)); +} + +static UA_INLINE UA_RelativePathElement * +UA_RelativePathElement_new(void) { + return (UA_RelativePathElement*)UA_new(&UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); +} + +static UA_INLINE UA_StatusCode +UA_RelativePathElement_copy(const UA_RelativePathElement *src, UA_RelativePathElement *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RelativePathElement_deleteMembers(UA_RelativePathElement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); +} + +static UA_INLINE void +UA_RelativePathElement_clear(UA_RelativePathElement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); +} + +static UA_INLINE void +UA_RelativePathElement_delete(UA_RelativePathElement *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); +}static UA_INLINE UA_Boolean +UA_RelativePathElement_equal(const UA_RelativePathElement *p1, const UA_RelativePathElement *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]) == UA_ORDER_EQ); +} + + + +/* RelativePath */ +static UA_INLINE void +UA_RelativePath_init(UA_RelativePath *p) { + memset(p, 0, sizeof(UA_RelativePath)); +} + +static UA_INLINE UA_RelativePath * +UA_RelativePath_new(void) { + return (UA_RelativePath*)UA_new(&UA_TYPES[UA_TYPES_RELATIVEPATH]); +} + +static UA_INLINE UA_StatusCode +UA_RelativePath_copy(const UA_RelativePath *src, UA_RelativePath *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RELATIVEPATH]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RelativePath_deleteMembers(UA_RelativePath *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATH]); +} + +static UA_INLINE void +UA_RelativePath_clear(UA_RelativePath *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATH]); +} + +static UA_INLINE void +UA_RelativePath_delete(UA_RelativePath *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RELATIVEPATH]); +}static UA_INLINE UA_Boolean +UA_RelativePath_equal(const UA_RelativePath *p1, const UA_RelativePath *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RELATIVEPATH]) == UA_ORDER_EQ); +} + + + +/* BrowsePath */ +static UA_INLINE void +UA_BrowsePath_init(UA_BrowsePath *p) { + memset(p, 0, sizeof(UA_BrowsePath)); +} + +static UA_INLINE UA_BrowsePath * +UA_BrowsePath_new(void) { + return (UA_BrowsePath*)UA_new(&UA_TYPES[UA_TYPES_BROWSEPATH]); +} + +static UA_INLINE UA_StatusCode +UA_BrowsePath_copy(const UA_BrowsePath *src, UA_BrowsePath *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEPATH]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowsePath_deleteMembers(UA_BrowsePath *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATH]); +} + +static UA_INLINE void +UA_BrowsePath_clear(UA_BrowsePath *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATH]); +} + +static UA_INLINE void +UA_BrowsePath_delete(UA_BrowsePath *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEPATH]); +}static UA_INLINE UA_Boolean +UA_BrowsePath_equal(const UA_BrowsePath *p1, const UA_BrowsePath *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEPATH]) == UA_ORDER_EQ); +} + + + +/* BrowsePathTarget */ +static UA_INLINE void +UA_BrowsePathTarget_init(UA_BrowsePathTarget *p) { + memset(p, 0, sizeof(UA_BrowsePathTarget)); +} + +static UA_INLINE UA_BrowsePathTarget * +UA_BrowsePathTarget_new(void) { + return (UA_BrowsePathTarget*)UA_new(&UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); +} + +static UA_INLINE UA_StatusCode +UA_BrowsePathTarget_copy(const UA_BrowsePathTarget *src, UA_BrowsePathTarget *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowsePathTarget_deleteMembers(UA_BrowsePathTarget *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); +} + +static UA_INLINE void +UA_BrowsePathTarget_clear(UA_BrowsePathTarget *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); +} + +static UA_INLINE void +UA_BrowsePathTarget_delete(UA_BrowsePathTarget *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); +}static UA_INLINE UA_Boolean +UA_BrowsePathTarget_equal(const UA_BrowsePathTarget *p1, const UA_BrowsePathTarget *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]) == UA_ORDER_EQ); +} + + + +/* BrowsePathResult */ +static UA_INLINE void +UA_BrowsePathResult_init(UA_BrowsePathResult *p) { + memset(p, 0, sizeof(UA_BrowsePathResult)); +} + +static UA_INLINE UA_BrowsePathResult * +UA_BrowsePathResult_new(void) { + return (UA_BrowsePathResult*)UA_new(&UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_BrowsePathResult_copy(const UA_BrowsePathResult *src, UA_BrowsePathResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BrowsePathResult_deleteMembers(UA_BrowsePathResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); +} + +static UA_INLINE void +UA_BrowsePathResult_clear(UA_BrowsePathResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); +} + +static UA_INLINE void +UA_BrowsePathResult_delete(UA_BrowsePathResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); +}static UA_INLINE UA_Boolean +UA_BrowsePathResult_equal(const UA_BrowsePathResult *p1, const UA_BrowsePathResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]) == UA_ORDER_EQ); +} + + + +/* TranslateBrowsePathsToNodeIdsRequest */ +static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsRequest_init(UA_TranslateBrowsePathsToNodeIdsRequest *p) { + memset(p, 0, sizeof(UA_TranslateBrowsePathsToNodeIdsRequest)); +} + +static UA_INLINE UA_TranslateBrowsePathsToNodeIdsRequest * +UA_TranslateBrowsePathsToNodeIdsRequest_new(void) { + return (UA_TranslateBrowsePathsToNodeIdsRequest*)UA_new(&UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_TranslateBrowsePathsToNodeIdsRequest_copy(const UA_TranslateBrowsePathsToNodeIdsRequest *src, UA_TranslateBrowsePathsToNodeIdsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsRequest_deleteMembers(UA_TranslateBrowsePathsToNodeIdsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); +} + +static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsRequest_clear(UA_TranslateBrowsePathsToNodeIdsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); +} + +static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsRequest_delete(UA_TranslateBrowsePathsToNodeIdsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); +}static UA_INLINE UA_Boolean +UA_TranslateBrowsePathsToNodeIdsRequest_equal(const UA_TranslateBrowsePathsToNodeIdsRequest *p1, const UA_TranslateBrowsePathsToNodeIdsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]) == UA_ORDER_EQ); +} + + + +/* TranslateBrowsePathsToNodeIdsResponse */ +static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsResponse_init(UA_TranslateBrowsePathsToNodeIdsResponse *p) { + memset(p, 0, sizeof(UA_TranslateBrowsePathsToNodeIdsResponse)); +} + +static UA_INLINE UA_TranslateBrowsePathsToNodeIdsResponse * +UA_TranslateBrowsePathsToNodeIdsResponse_new(void) { + return (UA_TranslateBrowsePathsToNodeIdsResponse*)UA_new(&UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_TranslateBrowsePathsToNodeIdsResponse_copy(const UA_TranslateBrowsePathsToNodeIdsResponse *src, UA_TranslateBrowsePathsToNodeIdsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsResponse_deleteMembers(UA_TranslateBrowsePathsToNodeIdsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); +} + +static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsResponse_clear(UA_TranslateBrowsePathsToNodeIdsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); +} + +static UA_INLINE void +UA_TranslateBrowsePathsToNodeIdsResponse_delete(UA_TranslateBrowsePathsToNodeIdsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_TranslateBrowsePathsToNodeIdsResponse_equal(const UA_TranslateBrowsePathsToNodeIdsResponse *p1, const UA_TranslateBrowsePathsToNodeIdsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* RegisterNodesRequest */ +static UA_INLINE void +UA_RegisterNodesRequest_init(UA_RegisterNodesRequest *p) { + memset(p, 0, sizeof(UA_RegisterNodesRequest)); +} + +static UA_INLINE UA_RegisterNodesRequest * +UA_RegisterNodesRequest_new(void) { + return (UA_RegisterNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_RegisterNodesRequest_copy(const UA_RegisterNodesRequest *src, UA_RegisterNodesRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisterNodesRequest_deleteMembers(UA_RegisterNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); +} + +static UA_INLINE void +UA_RegisterNodesRequest_clear(UA_RegisterNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); +} + +static UA_INLINE void +UA_RegisterNodesRequest_delete(UA_RegisterNodesRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); +}static UA_INLINE UA_Boolean +UA_RegisterNodesRequest_equal(const UA_RegisterNodesRequest *p1, const UA_RegisterNodesRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]) == UA_ORDER_EQ); +} + + + +/* RegisterNodesResponse */ +static UA_INLINE void +UA_RegisterNodesResponse_init(UA_RegisterNodesResponse *p) { + memset(p, 0, sizeof(UA_RegisterNodesResponse)); +} + +static UA_INLINE UA_RegisterNodesResponse * +UA_RegisterNodesResponse_new(void) { + return (UA_RegisterNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_RegisterNodesResponse_copy(const UA_RegisterNodesResponse *src, UA_RegisterNodesResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RegisterNodesResponse_deleteMembers(UA_RegisterNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); +} + +static UA_INLINE void +UA_RegisterNodesResponse_clear(UA_RegisterNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); +} + +static UA_INLINE void +UA_RegisterNodesResponse_delete(UA_RegisterNodesResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); +}static UA_INLINE UA_Boolean +UA_RegisterNodesResponse_equal(const UA_RegisterNodesResponse *p1, const UA_RegisterNodesResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]) == UA_ORDER_EQ); +} + + + +/* UnregisterNodesRequest */ +static UA_INLINE void +UA_UnregisterNodesRequest_init(UA_UnregisterNodesRequest *p) { + memset(p, 0, sizeof(UA_UnregisterNodesRequest)); +} + +static UA_INLINE UA_UnregisterNodesRequest * +UA_UnregisterNodesRequest_new(void) { + return (UA_UnregisterNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_UnregisterNodesRequest_copy(const UA_UnregisterNodesRequest *src, UA_UnregisterNodesRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UnregisterNodesRequest_deleteMembers(UA_UnregisterNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); +} + +static UA_INLINE void +UA_UnregisterNodesRequest_clear(UA_UnregisterNodesRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); +} + +static UA_INLINE void +UA_UnregisterNodesRequest_delete(UA_UnregisterNodesRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); +}static UA_INLINE UA_Boolean +UA_UnregisterNodesRequest_equal(const UA_UnregisterNodesRequest *p1, const UA_UnregisterNodesRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]) == UA_ORDER_EQ); +} + + + +/* UnregisterNodesResponse */ +static UA_INLINE void +UA_UnregisterNodesResponse_init(UA_UnregisterNodesResponse *p) { + memset(p, 0, sizeof(UA_UnregisterNodesResponse)); +} + +static UA_INLINE UA_UnregisterNodesResponse * +UA_UnregisterNodesResponse_new(void) { + return (UA_UnregisterNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_UnregisterNodesResponse_copy(const UA_UnregisterNodesResponse *src, UA_UnregisterNodesResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UnregisterNodesResponse_deleteMembers(UA_UnregisterNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); +} + +static UA_INLINE void +UA_UnregisterNodesResponse_clear(UA_UnregisterNodesResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); +} + +static UA_INLINE void +UA_UnregisterNodesResponse_delete(UA_UnregisterNodesResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); +}static UA_INLINE UA_Boolean +UA_UnregisterNodesResponse_equal(const UA_UnregisterNodesResponse *p1, const UA_UnregisterNodesResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]) == UA_ORDER_EQ); +} + + + +/* Counter */ +static UA_INLINE void +UA_Counter_init(UA_Counter *p) { + memset(p, 0, sizeof(UA_Counter)); +} + +static UA_INLINE UA_Counter * +UA_Counter_new(void) { + return (UA_Counter*)UA_new(&UA_TYPES[UA_TYPES_COUNTER]); +} + +static UA_INLINE UA_StatusCode +UA_Counter_copy(const UA_Counter *src, UA_Counter *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_COUNTER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Counter_deleteMembers(UA_Counter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_COUNTER]); +} + +static UA_INLINE void +UA_Counter_clear(UA_Counter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_COUNTER]); +} + +static UA_INLINE void +UA_Counter_delete(UA_Counter *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_COUNTER]); +}static UA_INLINE UA_Boolean +UA_Counter_equal(const UA_Counter *p1, const UA_Counter *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_COUNTER]) == UA_ORDER_EQ); +} + + + +/* OpaqueNumericRange */ +static UA_INLINE void +UA_OpaqueNumericRange_init(UA_OpaqueNumericRange *p) { + memset(p, 0, sizeof(UA_OpaqueNumericRange)); +} + +static UA_INLINE UA_OpaqueNumericRange * +UA_OpaqueNumericRange_new(void) { + return (UA_OpaqueNumericRange*)UA_new(&UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); +} + +static UA_INLINE UA_StatusCode +UA_OpaqueNumericRange_copy(const UA_OpaqueNumericRange *src, UA_OpaqueNumericRange *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_OpaqueNumericRange_deleteMembers(UA_OpaqueNumericRange *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); +} + +static UA_INLINE void +UA_OpaqueNumericRange_clear(UA_OpaqueNumericRange *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); +} + +static UA_INLINE void +UA_OpaqueNumericRange_delete(UA_OpaqueNumericRange *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); +}static UA_INLINE UA_Boolean +UA_OpaqueNumericRange_equal(const UA_OpaqueNumericRange *p1, const UA_OpaqueNumericRange *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]) == UA_ORDER_EQ); +} + + + +/* EndpointConfiguration */ +static UA_INLINE void +UA_EndpointConfiguration_init(UA_EndpointConfiguration *p) { + memset(p, 0, sizeof(UA_EndpointConfiguration)); +} + +static UA_INLINE UA_EndpointConfiguration * +UA_EndpointConfiguration_new(void) { + return (UA_EndpointConfiguration*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); +} + +static UA_INLINE UA_StatusCode +UA_EndpointConfiguration_copy(const UA_EndpointConfiguration *src, UA_EndpointConfiguration *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EndpointConfiguration_deleteMembers(UA_EndpointConfiguration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); +} + +static UA_INLINE void +UA_EndpointConfiguration_clear(UA_EndpointConfiguration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); +} + +static UA_INLINE void +UA_EndpointConfiguration_delete(UA_EndpointConfiguration *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); +}static UA_INLINE UA_Boolean +UA_EndpointConfiguration_equal(const UA_EndpointConfiguration *p1, const UA_EndpointConfiguration *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]) == UA_ORDER_EQ); +} + + + +/* QueryDataDescription */ +static UA_INLINE void +UA_QueryDataDescription_init(UA_QueryDataDescription *p) { + memset(p, 0, sizeof(UA_QueryDataDescription)); +} + +static UA_INLINE UA_QueryDataDescription * +UA_QueryDataDescription_new(void) { + return (UA_QueryDataDescription*)UA_new(&UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_QueryDataDescription_copy(const UA_QueryDataDescription *src, UA_QueryDataDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QueryDataDescription_deleteMembers(UA_QueryDataDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); +} + +static UA_INLINE void +UA_QueryDataDescription_clear(UA_QueryDataDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); +} + +static UA_INLINE void +UA_QueryDataDescription_delete(UA_QueryDataDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_QueryDataDescription_equal(const UA_QueryDataDescription *p1, const UA_QueryDataDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* NodeTypeDescription */ +static UA_INLINE void +UA_NodeTypeDescription_init(UA_NodeTypeDescription *p) { + memset(p, 0, sizeof(UA_NodeTypeDescription)); +} + +static UA_INLINE UA_NodeTypeDescription * +UA_NodeTypeDescription_new(void) { + return (UA_NodeTypeDescription*)UA_new(&UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_NodeTypeDescription_copy(const UA_NodeTypeDescription *src, UA_NodeTypeDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NodeTypeDescription_deleteMembers(UA_NodeTypeDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); +} + +static UA_INLINE void +UA_NodeTypeDescription_clear(UA_NodeTypeDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); +} + +static UA_INLINE void +UA_NodeTypeDescription_delete(UA_NodeTypeDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_NodeTypeDescription_equal(const UA_NodeTypeDescription *p1, const UA_NodeTypeDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* FilterOperator */ +static UA_INLINE void +UA_FilterOperator_init(UA_FilterOperator *p) { + memset(p, 0, sizeof(UA_FilterOperator)); +} + +static UA_INLINE UA_FilterOperator * +UA_FilterOperator_new(void) { + return (UA_FilterOperator*)UA_new(&UA_TYPES[UA_TYPES_FILTEROPERATOR]); +} + +static UA_INLINE UA_StatusCode +UA_FilterOperator_copy(const UA_FilterOperator *src, UA_FilterOperator *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FilterOperator_deleteMembers(UA_FilterOperator *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); +} + +static UA_INLINE void +UA_FilterOperator_clear(UA_FilterOperator *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); +} + +static UA_INLINE void +UA_FilterOperator_delete(UA_FilterOperator *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); +}static UA_INLINE UA_Boolean +UA_FilterOperator_equal(const UA_FilterOperator *p1, const UA_FilterOperator *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FILTEROPERATOR]) == UA_ORDER_EQ); +} + + + +/* QueryDataSet */ +static UA_INLINE void +UA_QueryDataSet_init(UA_QueryDataSet *p) { + memset(p, 0, sizeof(UA_QueryDataSet)); +} + +static UA_INLINE UA_QueryDataSet * +UA_QueryDataSet_new(void) { + return (UA_QueryDataSet*)UA_new(&UA_TYPES[UA_TYPES_QUERYDATASET]); +} + +static UA_INLINE UA_StatusCode +UA_QueryDataSet_copy(const UA_QueryDataSet *src, UA_QueryDataSet *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYDATASET]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QueryDataSet_deleteMembers(UA_QueryDataSet *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATASET]); +} + +static UA_INLINE void +UA_QueryDataSet_clear(UA_QueryDataSet *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATASET]); +} + +static UA_INLINE void +UA_QueryDataSet_delete(UA_QueryDataSet *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUERYDATASET]); +}static UA_INLINE UA_Boolean +UA_QueryDataSet_equal(const UA_QueryDataSet *p1, const UA_QueryDataSet *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYDATASET]) == UA_ORDER_EQ); +} + + + +/* NodeReference */ +static UA_INLINE void +UA_NodeReference_init(UA_NodeReference *p) { + memset(p, 0, sizeof(UA_NodeReference)); +} + +static UA_INLINE UA_NodeReference * +UA_NodeReference_new(void) { + return (UA_NodeReference*)UA_new(&UA_TYPES[UA_TYPES_NODEREFERENCE]); +} + +static UA_INLINE UA_StatusCode +UA_NodeReference_copy(const UA_NodeReference *src, UA_NodeReference *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEREFERENCE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NodeReference_deleteMembers(UA_NodeReference *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEREFERENCE]); +} + +static UA_INLINE void +UA_NodeReference_clear(UA_NodeReference *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NODEREFERENCE]); +} + +static UA_INLINE void +UA_NodeReference_delete(UA_NodeReference *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NODEREFERENCE]); +}static UA_INLINE UA_Boolean +UA_NodeReference_equal(const UA_NodeReference *p1, const UA_NodeReference *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEREFERENCE]) == UA_ORDER_EQ); +} + + + +/* ContentFilterElement */ +static UA_INLINE void +UA_ContentFilterElement_init(UA_ContentFilterElement *p) { + memset(p, 0, sizeof(UA_ContentFilterElement)); +} + +static UA_INLINE UA_ContentFilterElement * +UA_ContentFilterElement_new(void) { + return (UA_ContentFilterElement*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); +} + +static UA_INLINE UA_StatusCode +UA_ContentFilterElement_copy(const UA_ContentFilterElement *src, UA_ContentFilterElement *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ContentFilterElement_deleteMembers(UA_ContentFilterElement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); +} + +static UA_INLINE void +UA_ContentFilterElement_clear(UA_ContentFilterElement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); +} + +static UA_INLINE void +UA_ContentFilterElement_delete(UA_ContentFilterElement *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); +}static UA_INLINE UA_Boolean +UA_ContentFilterElement_equal(const UA_ContentFilterElement *p1, const UA_ContentFilterElement *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]) == UA_ORDER_EQ); +} + + + +/* ContentFilter */ +static UA_INLINE void +UA_ContentFilter_init(UA_ContentFilter *p) { + memset(p, 0, sizeof(UA_ContentFilter)); +} + +static UA_INLINE UA_ContentFilter * +UA_ContentFilter_new(void) { + return (UA_ContentFilter*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTER]); +} + +static UA_INLINE UA_StatusCode +UA_ContentFilter_copy(const UA_ContentFilter *src, UA_ContentFilter *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ContentFilter_deleteMembers(UA_ContentFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTER]); +} + +static UA_INLINE void +UA_ContentFilter_clear(UA_ContentFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTER]); +} + +static UA_INLINE void +UA_ContentFilter_delete(UA_ContentFilter *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTER]); +}static UA_INLINE UA_Boolean +UA_ContentFilter_equal(const UA_ContentFilter *p1, const UA_ContentFilter *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTER]) == UA_ORDER_EQ); +} + + + +/* ElementOperand */ +static UA_INLINE void +UA_ElementOperand_init(UA_ElementOperand *p) { + memset(p, 0, sizeof(UA_ElementOperand)); +} + +static UA_INLINE UA_ElementOperand * +UA_ElementOperand_new(void) { + return (UA_ElementOperand*)UA_new(&UA_TYPES[UA_TYPES_ELEMENTOPERAND]); +} + +static UA_INLINE UA_StatusCode +UA_ElementOperand_copy(const UA_ElementOperand *src, UA_ElementOperand *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ElementOperand_deleteMembers(UA_ElementOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); +} + +static UA_INLINE void +UA_ElementOperand_clear(UA_ElementOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); +} + +static UA_INLINE void +UA_ElementOperand_delete(UA_ElementOperand *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); +}static UA_INLINE UA_Boolean +UA_ElementOperand_equal(const UA_ElementOperand *p1, const UA_ElementOperand *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]) == UA_ORDER_EQ); +} + + + +/* LiteralOperand */ +static UA_INLINE void +UA_LiteralOperand_init(UA_LiteralOperand *p) { + memset(p, 0, sizeof(UA_LiteralOperand)); +} + +static UA_INLINE UA_LiteralOperand * +UA_LiteralOperand_new(void) { + return (UA_LiteralOperand*)UA_new(&UA_TYPES[UA_TYPES_LITERALOPERAND]); +} + +static UA_INLINE UA_StatusCode +UA_LiteralOperand_copy(const UA_LiteralOperand *src, UA_LiteralOperand *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_LITERALOPERAND]); +} + +UA_DEPRECATED static UA_INLINE void +UA_LiteralOperand_deleteMembers(UA_LiteralOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_LITERALOPERAND]); +} + +static UA_INLINE void +UA_LiteralOperand_clear(UA_LiteralOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_LITERALOPERAND]); +} + +static UA_INLINE void +UA_LiteralOperand_delete(UA_LiteralOperand *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_LITERALOPERAND]); +}static UA_INLINE UA_Boolean +UA_LiteralOperand_equal(const UA_LiteralOperand *p1, const UA_LiteralOperand *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_LITERALOPERAND]) == UA_ORDER_EQ); +} + + + +/* AttributeOperand */ +static UA_INLINE void +UA_AttributeOperand_init(UA_AttributeOperand *p) { + memset(p, 0, sizeof(UA_AttributeOperand)); +} + +static UA_INLINE UA_AttributeOperand * +UA_AttributeOperand_new(void) { + return (UA_AttributeOperand*)UA_new(&UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); +} + +static UA_INLINE UA_StatusCode +UA_AttributeOperand_copy(const UA_AttributeOperand *src, UA_AttributeOperand *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AttributeOperand_deleteMembers(UA_AttributeOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); +} + +static UA_INLINE void +UA_AttributeOperand_clear(UA_AttributeOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); +} + +static UA_INLINE void +UA_AttributeOperand_delete(UA_AttributeOperand *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); +}static UA_INLINE UA_Boolean +UA_AttributeOperand_equal(const UA_AttributeOperand *p1, const UA_AttributeOperand *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]) == UA_ORDER_EQ); +} + + + +/* SimpleAttributeOperand */ +static UA_INLINE void +UA_SimpleAttributeOperand_init(UA_SimpleAttributeOperand *p) { + memset(p, 0, sizeof(UA_SimpleAttributeOperand)); +} + +static UA_INLINE UA_SimpleAttributeOperand * +UA_SimpleAttributeOperand_new(void) { + return (UA_SimpleAttributeOperand*)UA_new(&UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); +} + +static UA_INLINE UA_StatusCode +UA_SimpleAttributeOperand_copy(const UA_SimpleAttributeOperand *src, UA_SimpleAttributeOperand *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SimpleAttributeOperand_deleteMembers(UA_SimpleAttributeOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); +} + +static UA_INLINE void +UA_SimpleAttributeOperand_clear(UA_SimpleAttributeOperand *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); +} + +static UA_INLINE void +UA_SimpleAttributeOperand_delete(UA_SimpleAttributeOperand *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); +}static UA_INLINE UA_Boolean +UA_SimpleAttributeOperand_equal(const UA_SimpleAttributeOperand *p1, const UA_SimpleAttributeOperand *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]) == UA_ORDER_EQ); +} + + + +/* ContentFilterElementResult */ +static UA_INLINE void +UA_ContentFilterElementResult_init(UA_ContentFilterElementResult *p) { + memset(p, 0, sizeof(UA_ContentFilterElementResult)); +} + +static UA_INLINE UA_ContentFilterElementResult * +UA_ContentFilterElementResult_new(void) { + return (UA_ContentFilterElementResult*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_ContentFilterElementResult_copy(const UA_ContentFilterElementResult *src, UA_ContentFilterElementResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ContentFilterElementResult_deleteMembers(UA_ContentFilterElementResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); +} + +static UA_INLINE void +UA_ContentFilterElementResult_clear(UA_ContentFilterElementResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); +} + +static UA_INLINE void +UA_ContentFilterElementResult_delete(UA_ContentFilterElementResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); +}static UA_INLINE UA_Boolean +UA_ContentFilterElementResult_equal(const UA_ContentFilterElementResult *p1, const UA_ContentFilterElementResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]) == UA_ORDER_EQ); +} + + + +/* ContentFilterResult */ +static UA_INLINE void +UA_ContentFilterResult_init(UA_ContentFilterResult *p) { + memset(p, 0, sizeof(UA_ContentFilterResult)); +} + +static UA_INLINE UA_ContentFilterResult * +UA_ContentFilterResult_new(void) { + return (UA_ContentFilterResult*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_ContentFilterResult_copy(const UA_ContentFilterResult *src, UA_ContentFilterResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ContentFilterResult_deleteMembers(UA_ContentFilterResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); +} + +static UA_INLINE void +UA_ContentFilterResult_clear(UA_ContentFilterResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); +} + +static UA_INLINE void +UA_ContentFilterResult_delete(UA_ContentFilterResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); +}static UA_INLINE UA_Boolean +UA_ContentFilterResult_equal(const UA_ContentFilterResult *p1, const UA_ContentFilterResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]) == UA_ORDER_EQ); +} + + + +/* ParsingResult */ +static UA_INLINE void +UA_ParsingResult_init(UA_ParsingResult *p) { + memset(p, 0, sizeof(UA_ParsingResult)); +} + +static UA_INLINE UA_ParsingResult * +UA_ParsingResult_new(void) { + return (UA_ParsingResult*)UA_new(&UA_TYPES[UA_TYPES_PARSINGRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_ParsingResult_copy(const UA_ParsingResult *src, UA_ParsingResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PARSINGRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ParsingResult_deleteMembers(UA_ParsingResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PARSINGRESULT]); +} + +static UA_INLINE void +UA_ParsingResult_clear(UA_ParsingResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PARSINGRESULT]); +} + +static UA_INLINE void +UA_ParsingResult_delete(UA_ParsingResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PARSINGRESULT]); +}static UA_INLINE UA_Boolean +UA_ParsingResult_equal(const UA_ParsingResult *p1, const UA_ParsingResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PARSINGRESULT]) == UA_ORDER_EQ); +} + + + +/* QueryFirstRequest */ +static UA_INLINE void +UA_QueryFirstRequest_init(UA_QueryFirstRequest *p) { + memset(p, 0, sizeof(UA_QueryFirstRequest)); +} + +static UA_INLINE UA_QueryFirstRequest * +UA_QueryFirstRequest_new(void) { + return (UA_QueryFirstRequest*)UA_new(&UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_QueryFirstRequest_copy(const UA_QueryFirstRequest *src, UA_QueryFirstRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QueryFirstRequest_deleteMembers(UA_QueryFirstRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); +} + +static UA_INLINE void +UA_QueryFirstRequest_clear(UA_QueryFirstRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); +} + +static UA_INLINE void +UA_QueryFirstRequest_delete(UA_QueryFirstRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); +}static UA_INLINE UA_Boolean +UA_QueryFirstRequest_equal(const UA_QueryFirstRequest *p1, const UA_QueryFirstRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]) == UA_ORDER_EQ); +} + + + +/* QueryFirstResponse */ +static UA_INLINE void +UA_QueryFirstResponse_init(UA_QueryFirstResponse *p) { + memset(p, 0, sizeof(UA_QueryFirstResponse)); +} + +static UA_INLINE UA_QueryFirstResponse * +UA_QueryFirstResponse_new(void) { + return (UA_QueryFirstResponse*)UA_new(&UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_QueryFirstResponse_copy(const UA_QueryFirstResponse *src, UA_QueryFirstResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QueryFirstResponse_deleteMembers(UA_QueryFirstResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); +} + +static UA_INLINE void +UA_QueryFirstResponse_clear(UA_QueryFirstResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); +} + +static UA_INLINE void +UA_QueryFirstResponse_delete(UA_QueryFirstResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); +}static UA_INLINE UA_Boolean +UA_QueryFirstResponse_equal(const UA_QueryFirstResponse *p1, const UA_QueryFirstResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]) == UA_ORDER_EQ); +} + + + +/* QueryNextRequest */ +static UA_INLINE void +UA_QueryNextRequest_init(UA_QueryNextRequest *p) { + memset(p, 0, sizeof(UA_QueryNextRequest)); +} + +static UA_INLINE UA_QueryNextRequest * +UA_QueryNextRequest_new(void) { + return (UA_QueryNextRequest*)UA_new(&UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_QueryNextRequest_copy(const UA_QueryNextRequest *src, UA_QueryNextRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QueryNextRequest_deleteMembers(UA_QueryNextRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); +} + +static UA_INLINE void +UA_QueryNextRequest_clear(UA_QueryNextRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); +} + +static UA_INLINE void +UA_QueryNextRequest_delete(UA_QueryNextRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); +}static UA_INLINE UA_Boolean +UA_QueryNextRequest_equal(const UA_QueryNextRequest *p1, const UA_QueryNextRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]) == UA_ORDER_EQ); +} + + + +/* QueryNextResponse */ +static UA_INLINE void +UA_QueryNextResponse_init(UA_QueryNextResponse *p) { + memset(p, 0, sizeof(UA_QueryNextResponse)); +} + +static UA_INLINE UA_QueryNextResponse * +UA_QueryNextResponse_new(void) { + return (UA_QueryNextResponse*)UA_new(&UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_QueryNextResponse_copy(const UA_QueryNextResponse *src, UA_QueryNextResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_QueryNextResponse_deleteMembers(UA_QueryNextResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); +} + +static UA_INLINE void +UA_QueryNextResponse_clear(UA_QueryNextResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); +} + +static UA_INLINE void +UA_QueryNextResponse_delete(UA_QueryNextResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); +}static UA_INLINE UA_Boolean +UA_QueryNextResponse_equal(const UA_QueryNextResponse *p1, const UA_QueryNextResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]) == UA_ORDER_EQ); +} + + + +/* TimestampsToReturn */ +static UA_INLINE void +UA_TimestampsToReturn_init(UA_TimestampsToReturn *p) { + memset(p, 0, sizeof(UA_TimestampsToReturn)); +} + +static UA_INLINE UA_TimestampsToReturn * +UA_TimestampsToReturn_new(void) { + return (UA_TimestampsToReturn*)UA_new(&UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); +} + +static UA_INLINE UA_StatusCode +UA_TimestampsToReturn_copy(const UA_TimestampsToReturn *src, UA_TimestampsToReturn *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TimestampsToReturn_deleteMembers(UA_TimestampsToReturn *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); +} + +static UA_INLINE void +UA_TimestampsToReturn_clear(UA_TimestampsToReturn *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); +} + +static UA_INLINE void +UA_TimestampsToReturn_delete(UA_TimestampsToReturn *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); +}static UA_INLINE UA_Boolean +UA_TimestampsToReturn_equal(const UA_TimestampsToReturn *p1, const UA_TimestampsToReturn *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]) == UA_ORDER_EQ); +} + + + +/* ReadValueId */ +static UA_INLINE void +UA_ReadValueId_init(UA_ReadValueId *p) { + memset(p, 0, sizeof(UA_ReadValueId)); +} + +static UA_INLINE UA_ReadValueId * +UA_ReadValueId_new(void) { + return (UA_ReadValueId*)UA_new(&UA_TYPES[UA_TYPES_READVALUEID]); +} + +static UA_INLINE UA_StatusCode +UA_ReadValueId_copy(const UA_ReadValueId *src, UA_ReadValueId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READVALUEID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadValueId_deleteMembers(UA_ReadValueId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READVALUEID]); +} + +static UA_INLINE void +UA_ReadValueId_clear(UA_ReadValueId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READVALUEID]); +} + +static UA_INLINE void +UA_ReadValueId_delete(UA_ReadValueId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READVALUEID]); +}static UA_INLINE UA_Boolean +UA_ReadValueId_equal(const UA_ReadValueId *p1, const UA_ReadValueId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READVALUEID]) == UA_ORDER_EQ); +} + + + +/* ReadRequest */ +static UA_INLINE void +UA_ReadRequest_init(UA_ReadRequest *p) { + memset(p, 0, sizeof(UA_ReadRequest)); +} + +static UA_INLINE UA_ReadRequest * +UA_ReadRequest_new(void) { + return (UA_ReadRequest*)UA_new(&UA_TYPES[UA_TYPES_READREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_ReadRequest_copy(const UA_ReadRequest *src, UA_ReadRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadRequest_deleteMembers(UA_ReadRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READREQUEST]); +} + +static UA_INLINE void +UA_ReadRequest_clear(UA_ReadRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READREQUEST]); +} + +static UA_INLINE void +UA_ReadRequest_delete(UA_ReadRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READREQUEST]); +}static UA_INLINE UA_Boolean +UA_ReadRequest_equal(const UA_ReadRequest *p1, const UA_ReadRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READREQUEST]) == UA_ORDER_EQ); +} + + + +/* ReadResponse */ +static UA_INLINE void +UA_ReadResponse_init(UA_ReadResponse *p) { + memset(p, 0, sizeof(UA_ReadResponse)); +} + +static UA_INLINE UA_ReadResponse * +UA_ReadResponse_new(void) { + return (UA_ReadResponse*)UA_new(&UA_TYPES[UA_TYPES_READRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_ReadResponse_copy(const UA_ReadResponse *src, UA_ReadResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadResponse_deleteMembers(UA_ReadResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READRESPONSE]); +} + +static UA_INLINE void +UA_ReadResponse_clear(UA_ReadResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READRESPONSE]); +} + +static UA_INLINE void +UA_ReadResponse_delete(UA_ReadResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READRESPONSE]); +}static UA_INLINE UA_Boolean +UA_ReadResponse_equal(const UA_ReadResponse *p1, const UA_ReadResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READRESPONSE]) == UA_ORDER_EQ); +} + + + +/* HistoryReadValueId */ +static UA_INLINE void +UA_HistoryReadValueId_init(UA_HistoryReadValueId *p) { + memset(p, 0, sizeof(UA_HistoryReadValueId)); +} + +static UA_INLINE UA_HistoryReadValueId * +UA_HistoryReadValueId_new(void) { + return (UA_HistoryReadValueId*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryReadValueId_copy(const UA_HistoryReadValueId *src, UA_HistoryReadValueId *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryReadValueId_deleteMembers(UA_HistoryReadValueId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); +} + +static UA_INLINE void +UA_HistoryReadValueId_clear(UA_HistoryReadValueId *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); +} + +static UA_INLINE void +UA_HistoryReadValueId_delete(UA_HistoryReadValueId *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); +}static UA_INLINE UA_Boolean +UA_HistoryReadValueId_equal(const UA_HistoryReadValueId *p1, const UA_HistoryReadValueId *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]) == UA_ORDER_EQ); +} + + + +/* HistoryReadResult */ +static UA_INLINE void +UA_HistoryReadResult_init(UA_HistoryReadResult *p) { + memset(p, 0, sizeof(UA_HistoryReadResult)); +} + +static UA_INLINE UA_HistoryReadResult * +UA_HistoryReadResult_new(void) { + return (UA_HistoryReadResult*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryReadResult_copy(const UA_HistoryReadResult *src, UA_HistoryReadResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryReadResult_deleteMembers(UA_HistoryReadResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); +} + +static UA_INLINE void +UA_HistoryReadResult_clear(UA_HistoryReadResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); +} + +static UA_INLINE void +UA_HistoryReadResult_delete(UA_HistoryReadResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); +}static UA_INLINE UA_Boolean +UA_HistoryReadResult_equal(const UA_HistoryReadResult *p1, const UA_HistoryReadResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]) == UA_ORDER_EQ); +} + + + +/* ReadRawModifiedDetails */ +static UA_INLINE void +UA_ReadRawModifiedDetails_init(UA_ReadRawModifiedDetails *p) { + memset(p, 0, sizeof(UA_ReadRawModifiedDetails)); +} + +static UA_INLINE UA_ReadRawModifiedDetails * +UA_ReadRawModifiedDetails_new(void) { + return (UA_ReadRawModifiedDetails*)UA_new(&UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_ReadRawModifiedDetails_copy(const UA_ReadRawModifiedDetails *src, UA_ReadRawModifiedDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadRawModifiedDetails_deleteMembers(UA_ReadRawModifiedDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); +} + +static UA_INLINE void +UA_ReadRawModifiedDetails_clear(UA_ReadRawModifiedDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); +} + +static UA_INLINE void +UA_ReadRawModifiedDetails_delete(UA_ReadRawModifiedDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); +}static UA_INLINE UA_Boolean +UA_ReadRawModifiedDetails_equal(const UA_ReadRawModifiedDetails *p1, const UA_ReadRawModifiedDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]) == UA_ORDER_EQ); +} + + + +/* ReadAtTimeDetails */ +static UA_INLINE void +UA_ReadAtTimeDetails_init(UA_ReadAtTimeDetails *p) { + memset(p, 0, sizeof(UA_ReadAtTimeDetails)); +} + +static UA_INLINE UA_ReadAtTimeDetails * +UA_ReadAtTimeDetails_new(void) { + return (UA_ReadAtTimeDetails*)UA_new(&UA_TYPES[UA_TYPES_READATTIMEDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_ReadAtTimeDetails_copy(const UA_ReadAtTimeDetails *src, UA_ReadAtTimeDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadAtTimeDetails_deleteMembers(UA_ReadAtTimeDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); +} + +static UA_INLINE void +UA_ReadAtTimeDetails_clear(UA_ReadAtTimeDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); +} + +static UA_INLINE void +UA_ReadAtTimeDetails_delete(UA_ReadAtTimeDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); +}static UA_INLINE UA_Boolean +UA_ReadAtTimeDetails_equal(const UA_ReadAtTimeDetails *p1, const UA_ReadAtTimeDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]) == UA_ORDER_EQ); +} + + + +/* ReadAnnotationDataDetails */ +static UA_INLINE void +UA_ReadAnnotationDataDetails_init(UA_ReadAnnotationDataDetails *p) { + memset(p, 0, sizeof(UA_ReadAnnotationDataDetails)); +} + +static UA_INLINE UA_ReadAnnotationDataDetails * +UA_ReadAnnotationDataDetails_new(void) { + return (UA_ReadAnnotationDataDetails*)UA_new(&UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_ReadAnnotationDataDetails_copy(const UA_ReadAnnotationDataDetails *src, UA_ReadAnnotationDataDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadAnnotationDataDetails_deleteMembers(UA_ReadAnnotationDataDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); +} + +static UA_INLINE void +UA_ReadAnnotationDataDetails_clear(UA_ReadAnnotationDataDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); +} + +static UA_INLINE void +UA_ReadAnnotationDataDetails_delete(UA_ReadAnnotationDataDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); +}static UA_INLINE UA_Boolean +UA_ReadAnnotationDataDetails_equal(const UA_ReadAnnotationDataDetails *p1, const UA_ReadAnnotationDataDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]) == UA_ORDER_EQ); +} + + + +/* HistoryData */ +static UA_INLINE void +UA_HistoryData_init(UA_HistoryData *p) { + memset(p, 0, sizeof(UA_HistoryData)); +} + +static UA_INLINE UA_HistoryData * +UA_HistoryData_new(void) { + return (UA_HistoryData*)UA_new(&UA_TYPES[UA_TYPES_HISTORYDATA]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryData_copy(const UA_HistoryData *src, UA_HistoryData *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYDATA]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryData_deleteMembers(UA_HistoryData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYDATA]); +} + +static UA_INLINE void +UA_HistoryData_clear(UA_HistoryData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYDATA]); +} + +static UA_INLINE void +UA_HistoryData_delete(UA_HistoryData *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYDATA]); +}static UA_INLINE UA_Boolean +UA_HistoryData_equal(const UA_HistoryData *p1, const UA_HistoryData *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYDATA]) == UA_ORDER_EQ); +} + + + +/* HistoryReadRequest */ +static UA_INLINE void +UA_HistoryReadRequest_init(UA_HistoryReadRequest *p) { + memset(p, 0, sizeof(UA_HistoryReadRequest)); +} + +static UA_INLINE UA_HistoryReadRequest * +UA_HistoryReadRequest_new(void) { + return (UA_HistoryReadRequest*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryReadRequest_copy(const UA_HistoryReadRequest *src, UA_HistoryReadRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryReadRequest_deleteMembers(UA_HistoryReadRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); +} + +static UA_INLINE void +UA_HistoryReadRequest_clear(UA_HistoryReadRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); +} + +static UA_INLINE void +UA_HistoryReadRequest_delete(UA_HistoryReadRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); +}static UA_INLINE UA_Boolean +UA_HistoryReadRequest_equal(const UA_HistoryReadRequest *p1, const UA_HistoryReadRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]) == UA_ORDER_EQ); +} + + + +/* HistoryReadResponse */ +static UA_INLINE void +UA_HistoryReadResponse_init(UA_HistoryReadResponse *p) { + memset(p, 0, sizeof(UA_HistoryReadResponse)); +} + +static UA_INLINE UA_HistoryReadResponse * +UA_HistoryReadResponse_new(void) { + return (UA_HistoryReadResponse*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryReadResponse_copy(const UA_HistoryReadResponse *src, UA_HistoryReadResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryReadResponse_deleteMembers(UA_HistoryReadResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); +} + +static UA_INLINE void +UA_HistoryReadResponse_clear(UA_HistoryReadResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); +} + +static UA_INLINE void +UA_HistoryReadResponse_delete(UA_HistoryReadResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); +}static UA_INLINE UA_Boolean +UA_HistoryReadResponse_equal(const UA_HistoryReadResponse *p1, const UA_HistoryReadResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]) == UA_ORDER_EQ); +} + + + +/* WriteValue */ +static UA_INLINE void +UA_WriteValue_init(UA_WriteValue *p) { + memset(p, 0, sizeof(UA_WriteValue)); +} + +static UA_INLINE UA_WriteValue * +UA_WriteValue_new(void) { + return (UA_WriteValue*)UA_new(&UA_TYPES[UA_TYPES_WRITEVALUE]); +} + +static UA_INLINE UA_StatusCode +UA_WriteValue_copy(const UA_WriteValue *src, UA_WriteValue *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITEVALUE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_WriteValue_deleteMembers(UA_WriteValue *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITEVALUE]); +} + +static UA_INLINE void +UA_WriteValue_clear(UA_WriteValue *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITEVALUE]); +} + +static UA_INLINE void +UA_WriteValue_delete(UA_WriteValue *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_WRITEVALUE]); +}static UA_INLINE UA_Boolean +UA_WriteValue_equal(const UA_WriteValue *p1, const UA_WriteValue *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITEVALUE]) == UA_ORDER_EQ); +} + + + +/* WriteRequest */ +static UA_INLINE void +UA_WriteRequest_init(UA_WriteRequest *p) { + memset(p, 0, sizeof(UA_WriteRequest)); +} + +static UA_INLINE UA_WriteRequest * +UA_WriteRequest_new(void) { + return (UA_WriteRequest*)UA_new(&UA_TYPES[UA_TYPES_WRITEREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_WriteRequest_copy(const UA_WriteRequest *src, UA_WriteRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITEREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_WriteRequest_deleteMembers(UA_WriteRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITEREQUEST]); +} + +static UA_INLINE void +UA_WriteRequest_clear(UA_WriteRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITEREQUEST]); +} + +static UA_INLINE void +UA_WriteRequest_delete(UA_WriteRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_WRITEREQUEST]); +}static UA_INLINE UA_Boolean +UA_WriteRequest_equal(const UA_WriteRequest *p1, const UA_WriteRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITEREQUEST]) == UA_ORDER_EQ); +} + + + +/* WriteResponse */ +static UA_INLINE void +UA_WriteResponse_init(UA_WriteResponse *p) { + memset(p, 0, sizeof(UA_WriteResponse)); +} + +static UA_INLINE UA_WriteResponse * +UA_WriteResponse_new(void) { + return (UA_WriteResponse*)UA_new(&UA_TYPES[UA_TYPES_WRITERESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_WriteResponse_copy(const UA_WriteResponse *src, UA_WriteResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITERESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_WriteResponse_deleteMembers(UA_WriteResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITERESPONSE]); +} + +static UA_INLINE void +UA_WriteResponse_clear(UA_WriteResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITERESPONSE]); +} + +static UA_INLINE void +UA_WriteResponse_delete(UA_WriteResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_WRITERESPONSE]); +}static UA_INLINE UA_Boolean +UA_WriteResponse_equal(const UA_WriteResponse *p1, const UA_WriteResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITERESPONSE]) == UA_ORDER_EQ); +} + + + +/* HistoryUpdateDetails */ +static UA_INLINE void +UA_HistoryUpdateDetails_init(UA_HistoryUpdateDetails *p) { + memset(p, 0, sizeof(UA_HistoryUpdateDetails)); +} + +static UA_INLINE UA_HistoryUpdateDetails * +UA_HistoryUpdateDetails_new(void) { + return (UA_HistoryUpdateDetails*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryUpdateDetails_copy(const UA_HistoryUpdateDetails *src, UA_HistoryUpdateDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryUpdateDetails_deleteMembers(UA_HistoryUpdateDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); +} + +static UA_INLINE void +UA_HistoryUpdateDetails_clear(UA_HistoryUpdateDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); +} + +static UA_INLINE void +UA_HistoryUpdateDetails_delete(UA_HistoryUpdateDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); +}static UA_INLINE UA_Boolean +UA_HistoryUpdateDetails_equal(const UA_HistoryUpdateDetails *p1, const UA_HistoryUpdateDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]) == UA_ORDER_EQ); +} + + + +/* HistoryUpdateType */ +static UA_INLINE void +UA_HistoryUpdateType_init(UA_HistoryUpdateType *p) { + memset(p, 0, sizeof(UA_HistoryUpdateType)); +} + +static UA_INLINE UA_HistoryUpdateType * +UA_HistoryUpdateType_new(void) { + return (UA_HistoryUpdateType*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryUpdateType_copy(const UA_HistoryUpdateType *src, UA_HistoryUpdateType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryUpdateType_deleteMembers(UA_HistoryUpdateType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); +} + +static UA_INLINE void +UA_HistoryUpdateType_clear(UA_HistoryUpdateType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); +} + +static UA_INLINE void +UA_HistoryUpdateType_delete(UA_HistoryUpdateType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); +}static UA_INLINE UA_Boolean +UA_HistoryUpdateType_equal(const UA_HistoryUpdateType *p1, const UA_HistoryUpdateType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]) == UA_ORDER_EQ); +} + + + +/* PerformUpdateType */ +static UA_INLINE void +UA_PerformUpdateType_init(UA_PerformUpdateType *p) { + memset(p, 0, sizeof(UA_PerformUpdateType)); +} + +static UA_INLINE UA_PerformUpdateType * +UA_PerformUpdateType_new(void) { + return (UA_PerformUpdateType*)UA_new(&UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PerformUpdateType_copy(const UA_PerformUpdateType *src, UA_PerformUpdateType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PerformUpdateType_deleteMembers(UA_PerformUpdateType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); +} + +static UA_INLINE void +UA_PerformUpdateType_clear(UA_PerformUpdateType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); +} + +static UA_INLINE void +UA_PerformUpdateType_delete(UA_PerformUpdateType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); +}static UA_INLINE UA_Boolean +UA_PerformUpdateType_equal(const UA_PerformUpdateType *p1, const UA_PerformUpdateType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]) == UA_ORDER_EQ); +} + + + +/* UpdateDataDetails */ +static UA_INLINE void +UA_UpdateDataDetails_init(UA_UpdateDataDetails *p) { + memset(p, 0, sizeof(UA_UpdateDataDetails)); +} + +static UA_INLINE UA_UpdateDataDetails * +UA_UpdateDataDetails_new(void) { + return (UA_UpdateDataDetails*)UA_new(&UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_UpdateDataDetails_copy(const UA_UpdateDataDetails *src, UA_UpdateDataDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UpdateDataDetails_deleteMembers(UA_UpdateDataDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); +} + +static UA_INLINE void +UA_UpdateDataDetails_clear(UA_UpdateDataDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); +} + +static UA_INLINE void +UA_UpdateDataDetails_delete(UA_UpdateDataDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); +}static UA_INLINE UA_Boolean +UA_UpdateDataDetails_equal(const UA_UpdateDataDetails *p1, const UA_UpdateDataDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]) == UA_ORDER_EQ); +} + + + +/* UpdateStructureDataDetails */ +static UA_INLINE void +UA_UpdateStructureDataDetails_init(UA_UpdateStructureDataDetails *p) { + memset(p, 0, sizeof(UA_UpdateStructureDataDetails)); +} + +static UA_INLINE UA_UpdateStructureDataDetails * +UA_UpdateStructureDataDetails_new(void) { + return (UA_UpdateStructureDataDetails*)UA_new(&UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_UpdateStructureDataDetails_copy(const UA_UpdateStructureDataDetails *src, UA_UpdateStructureDataDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UpdateStructureDataDetails_deleteMembers(UA_UpdateStructureDataDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); +} + +static UA_INLINE void +UA_UpdateStructureDataDetails_clear(UA_UpdateStructureDataDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); +} + +static UA_INLINE void +UA_UpdateStructureDataDetails_delete(UA_UpdateStructureDataDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); +}static UA_INLINE UA_Boolean +UA_UpdateStructureDataDetails_equal(const UA_UpdateStructureDataDetails *p1, const UA_UpdateStructureDataDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]) == UA_ORDER_EQ); +} + + + +/* DeleteRawModifiedDetails */ +static UA_INLINE void +UA_DeleteRawModifiedDetails_init(UA_DeleteRawModifiedDetails *p) { + memset(p, 0, sizeof(UA_DeleteRawModifiedDetails)); +} + +static UA_INLINE UA_DeleteRawModifiedDetails * +UA_DeleteRawModifiedDetails_new(void) { + return (UA_DeleteRawModifiedDetails*)UA_new(&UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteRawModifiedDetails_copy(const UA_DeleteRawModifiedDetails *src, UA_DeleteRawModifiedDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteRawModifiedDetails_deleteMembers(UA_DeleteRawModifiedDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); +} + +static UA_INLINE void +UA_DeleteRawModifiedDetails_clear(UA_DeleteRawModifiedDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); +} + +static UA_INLINE void +UA_DeleteRawModifiedDetails_delete(UA_DeleteRawModifiedDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); +}static UA_INLINE UA_Boolean +UA_DeleteRawModifiedDetails_equal(const UA_DeleteRawModifiedDetails *p1, const UA_DeleteRawModifiedDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]) == UA_ORDER_EQ); +} + + + +/* DeleteAtTimeDetails */ +static UA_INLINE void +UA_DeleteAtTimeDetails_init(UA_DeleteAtTimeDetails *p) { + memset(p, 0, sizeof(UA_DeleteAtTimeDetails)); +} + +static UA_INLINE UA_DeleteAtTimeDetails * +UA_DeleteAtTimeDetails_new(void) { + return (UA_DeleteAtTimeDetails*)UA_new(&UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteAtTimeDetails_copy(const UA_DeleteAtTimeDetails *src, UA_DeleteAtTimeDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteAtTimeDetails_deleteMembers(UA_DeleteAtTimeDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); +} + +static UA_INLINE void +UA_DeleteAtTimeDetails_clear(UA_DeleteAtTimeDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); +} + +static UA_INLINE void +UA_DeleteAtTimeDetails_delete(UA_DeleteAtTimeDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); +}static UA_INLINE UA_Boolean +UA_DeleteAtTimeDetails_equal(const UA_DeleteAtTimeDetails *p1, const UA_DeleteAtTimeDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]) == UA_ORDER_EQ); +} + + + +/* DeleteEventDetails */ +static UA_INLINE void +UA_DeleteEventDetails_init(UA_DeleteEventDetails *p) { + memset(p, 0, sizeof(UA_DeleteEventDetails)); +} + +static UA_INLINE UA_DeleteEventDetails * +UA_DeleteEventDetails_new(void) { + return (UA_DeleteEventDetails*)UA_new(&UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteEventDetails_copy(const UA_DeleteEventDetails *src, UA_DeleteEventDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteEventDetails_deleteMembers(UA_DeleteEventDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); +} + +static UA_INLINE void +UA_DeleteEventDetails_clear(UA_DeleteEventDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); +} + +static UA_INLINE void +UA_DeleteEventDetails_delete(UA_DeleteEventDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); +}static UA_INLINE UA_Boolean +UA_DeleteEventDetails_equal(const UA_DeleteEventDetails *p1, const UA_DeleteEventDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]) == UA_ORDER_EQ); +} + + + +/* HistoryUpdateResult */ +static UA_INLINE void +UA_HistoryUpdateResult_init(UA_HistoryUpdateResult *p) { + memset(p, 0, sizeof(UA_HistoryUpdateResult)); +} + +static UA_INLINE UA_HistoryUpdateResult * +UA_HistoryUpdateResult_new(void) { + return (UA_HistoryUpdateResult*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryUpdateResult_copy(const UA_HistoryUpdateResult *src, UA_HistoryUpdateResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryUpdateResult_deleteMembers(UA_HistoryUpdateResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); +} + +static UA_INLINE void +UA_HistoryUpdateResult_clear(UA_HistoryUpdateResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); +} + +static UA_INLINE void +UA_HistoryUpdateResult_delete(UA_HistoryUpdateResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); +}static UA_INLINE UA_Boolean +UA_HistoryUpdateResult_equal(const UA_HistoryUpdateResult *p1, const UA_HistoryUpdateResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]) == UA_ORDER_EQ); +} + + + +/* HistoryUpdateRequest */ +static UA_INLINE void +UA_HistoryUpdateRequest_init(UA_HistoryUpdateRequest *p) { + memset(p, 0, sizeof(UA_HistoryUpdateRequest)); +} + +static UA_INLINE UA_HistoryUpdateRequest * +UA_HistoryUpdateRequest_new(void) { + return (UA_HistoryUpdateRequest*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryUpdateRequest_copy(const UA_HistoryUpdateRequest *src, UA_HistoryUpdateRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryUpdateRequest_deleteMembers(UA_HistoryUpdateRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); +} + +static UA_INLINE void +UA_HistoryUpdateRequest_clear(UA_HistoryUpdateRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); +} + +static UA_INLINE void +UA_HistoryUpdateRequest_delete(UA_HistoryUpdateRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); +}static UA_INLINE UA_Boolean +UA_HistoryUpdateRequest_equal(const UA_HistoryUpdateRequest *p1, const UA_HistoryUpdateRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]) == UA_ORDER_EQ); +} + + + +/* HistoryUpdateResponse */ +static UA_INLINE void +UA_HistoryUpdateResponse_init(UA_HistoryUpdateResponse *p) { + memset(p, 0, sizeof(UA_HistoryUpdateResponse)); +} + +static UA_INLINE UA_HistoryUpdateResponse * +UA_HistoryUpdateResponse_new(void) { + return (UA_HistoryUpdateResponse*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryUpdateResponse_copy(const UA_HistoryUpdateResponse *src, UA_HistoryUpdateResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryUpdateResponse_deleteMembers(UA_HistoryUpdateResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); +} + +static UA_INLINE void +UA_HistoryUpdateResponse_clear(UA_HistoryUpdateResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); +} + +static UA_INLINE void +UA_HistoryUpdateResponse_delete(UA_HistoryUpdateResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); +}static UA_INLINE UA_Boolean +UA_HistoryUpdateResponse_equal(const UA_HistoryUpdateResponse *p1, const UA_HistoryUpdateResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]) == UA_ORDER_EQ); +} + + + +/* CallMethodRequest */ +static UA_INLINE void +UA_CallMethodRequest_init(UA_CallMethodRequest *p) { + memset(p, 0, sizeof(UA_CallMethodRequest)); +} + +static UA_INLINE UA_CallMethodRequest * +UA_CallMethodRequest_new(void) { + return (UA_CallMethodRequest*)UA_new(&UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CallMethodRequest_copy(const UA_CallMethodRequest *src, UA_CallMethodRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CallMethodRequest_deleteMembers(UA_CallMethodRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); +} + +static UA_INLINE void +UA_CallMethodRequest_clear(UA_CallMethodRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); +} + +static UA_INLINE void +UA_CallMethodRequest_delete(UA_CallMethodRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); +}static UA_INLINE UA_Boolean +UA_CallMethodRequest_equal(const UA_CallMethodRequest *p1, const UA_CallMethodRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]) == UA_ORDER_EQ); +} + + + +/* CallMethodResult */ +static UA_INLINE void +UA_CallMethodResult_init(UA_CallMethodResult *p) { + memset(p, 0, sizeof(UA_CallMethodResult)); +} + +static UA_INLINE UA_CallMethodResult * +UA_CallMethodResult_new(void) { + return (UA_CallMethodResult*)UA_new(&UA_TYPES[UA_TYPES_CALLMETHODRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_CallMethodResult_copy(const UA_CallMethodResult *src, UA_CallMethodResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CallMethodResult_deleteMembers(UA_CallMethodResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); +} + +static UA_INLINE void +UA_CallMethodResult_clear(UA_CallMethodResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); +} + +static UA_INLINE void +UA_CallMethodResult_delete(UA_CallMethodResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); +}static UA_INLINE UA_Boolean +UA_CallMethodResult_equal(const UA_CallMethodResult *p1, const UA_CallMethodResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]) == UA_ORDER_EQ); +} + + + +/* CallRequest */ +static UA_INLINE void +UA_CallRequest_init(UA_CallRequest *p) { + memset(p, 0, sizeof(UA_CallRequest)); +} + +static UA_INLINE UA_CallRequest * +UA_CallRequest_new(void) { + return (UA_CallRequest*)UA_new(&UA_TYPES[UA_TYPES_CALLREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CallRequest_copy(const UA_CallRequest *src, UA_CallRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CallRequest_deleteMembers(UA_CallRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLREQUEST]); +} + +static UA_INLINE void +UA_CallRequest_clear(UA_CallRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLREQUEST]); +} + +static UA_INLINE void +UA_CallRequest_delete(UA_CallRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CALLREQUEST]); +}static UA_INLINE UA_Boolean +UA_CallRequest_equal(const UA_CallRequest *p1, const UA_CallRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLREQUEST]) == UA_ORDER_EQ); +} + + + +/* CallResponse */ +static UA_INLINE void +UA_CallResponse_init(UA_CallResponse *p) { + memset(p, 0, sizeof(UA_CallResponse)); +} + +static UA_INLINE UA_CallResponse * +UA_CallResponse_new(void) { + return (UA_CallResponse*)UA_new(&UA_TYPES[UA_TYPES_CALLRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CallResponse_copy(const UA_CallResponse *src, UA_CallResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CallResponse_deleteMembers(UA_CallResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLRESPONSE]); +} + +static UA_INLINE void +UA_CallResponse_clear(UA_CallResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CALLRESPONSE]); +} + +static UA_INLINE void +UA_CallResponse_delete(UA_CallResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CALLRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CallResponse_equal(const UA_CallResponse *p1, const UA_CallResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLRESPONSE]) == UA_ORDER_EQ); +} + + + +/* MonitoringMode */ +static UA_INLINE void +UA_MonitoringMode_init(UA_MonitoringMode *p) { + memset(p, 0, sizeof(UA_MonitoringMode)); +} + +static UA_INLINE UA_MonitoringMode * +UA_MonitoringMode_new(void) { + return (UA_MonitoringMode*)UA_new(&UA_TYPES[UA_TYPES_MONITORINGMODE]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoringMode_copy(const UA_MonitoringMode *src, UA_MonitoringMode *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITORINGMODE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoringMode_deleteMembers(UA_MonitoringMode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGMODE]); +} + +static UA_INLINE void +UA_MonitoringMode_clear(UA_MonitoringMode *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGMODE]); +} + +static UA_INLINE void +UA_MonitoringMode_delete(UA_MonitoringMode *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITORINGMODE]); +}static UA_INLINE UA_Boolean +UA_MonitoringMode_equal(const UA_MonitoringMode *p1, const UA_MonitoringMode *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITORINGMODE]) == UA_ORDER_EQ); +} + + + +/* DataChangeTrigger */ +static UA_INLINE void +UA_DataChangeTrigger_init(UA_DataChangeTrigger *p) { + memset(p, 0, sizeof(UA_DataChangeTrigger)); +} + +static UA_INLINE UA_DataChangeTrigger * +UA_DataChangeTrigger_new(void) { + return (UA_DataChangeTrigger*)UA_new(&UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); +} + +static UA_INLINE UA_StatusCode +UA_DataChangeTrigger_copy(const UA_DataChangeTrigger *src, UA_DataChangeTrigger *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataChangeTrigger_deleteMembers(UA_DataChangeTrigger *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); +} + +static UA_INLINE void +UA_DataChangeTrigger_clear(UA_DataChangeTrigger *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); +} + +static UA_INLINE void +UA_DataChangeTrigger_delete(UA_DataChangeTrigger *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); +}static UA_INLINE UA_Boolean +UA_DataChangeTrigger_equal(const UA_DataChangeTrigger *p1, const UA_DataChangeTrigger *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]) == UA_ORDER_EQ); +} + + + +/* DeadbandType */ +static UA_INLINE void +UA_DeadbandType_init(UA_DeadbandType *p) { + memset(p, 0, sizeof(UA_DeadbandType)); +} + +static UA_INLINE UA_DeadbandType * +UA_DeadbandType_new(void) { + return (UA_DeadbandType*)UA_new(&UA_TYPES[UA_TYPES_DEADBANDTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DeadbandType_copy(const UA_DeadbandType *src, UA_DeadbandType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeadbandType_deleteMembers(UA_DeadbandType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); +} + +static UA_INLINE void +UA_DeadbandType_clear(UA_DeadbandType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); +} + +static UA_INLINE void +UA_DeadbandType_delete(UA_DeadbandType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); +}static UA_INLINE UA_Boolean +UA_DeadbandType_equal(const UA_DeadbandType *p1, const UA_DeadbandType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DEADBANDTYPE]) == UA_ORDER_EQ); +} + + + +/* DataChangeFilter */ +static UA_INLINE void +UA_DataChangeFilter_init(UA_DataChangeFilter *p) { + memset(p, 0, sizeof(UA_DataChangeFilter)); +} + +static UA_INLINE UA_DataChangeFilter * +UA_DataChangeFilter_new(void) { + return (UA_DataChangeFilter*)UA_new(&UA_TYPES[UA_TYPES_DATACHANGEFILTER]); +} + +static UA_INLINE UA_StatusCode +UA_DataChangeFilter_copy(const UA_DataChangeFilter *src, UA_DataChangeFilter *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataChangeFilter_deleteMembers(UA_DataChangeFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); +} + +static UA_INLINE void +UA_DataChangeFilter_clear(UA_DataChangeFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); +} + +static UA_INLINE void +UA_DataChangeFilter_delete(UA_DataChangeFilter *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); +}static UA_INLINE UA_Boolean +UA_DataChangeFilter_equal(const UA_DataChangeFilter *p1, const UA_DataChangeFilter *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) == UA_ORDER_EQ); +} + + + +/* EventFilter */ +static UA_INLINE void +UA_EventFilter_init(UA_EventFilter *p) { + memset(p, 0, sizeof(UA_EventFilter)); +} + +static UA_INLINE UA_EventFilter * +UA_EventFilter_new(void) { + return (UA_EventFilter*)UA_new(&UA_TYPES[UA_TYPES_EVENTFILTER]); +} + +static UA_INLINE UA_StatusCode +UA_EventFilter_copy(const UA_EventFilter *src, UA_EventFilter *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTFILTER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EventFilter_deleteMembers(UA_EventFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTER]); +} + +static UA_INLINE void +UA_EventFilter_clear(UA_EventFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTER]); +} + +static UA_INLINE void +UA_EventFilter_delete(UA_EventFilter *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EVENTFILTER]); +}static UA_INLINE UA_Boolean +UA_EventFilter_equal(const UA_EventFilter *p1, const UA_EventFilter *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTFILTER]) == UA_ORDER_EQ); +} + + + +/* AggregateConfiguration */ +static UA_INLINE void +UA_AggregateConfiguration_init(UA_AggregateConfiguration *p) { + memset(p, 0, sizeof(UA_AggregateConfiguration)); +} + +static UA_INLINE UA_AggregateConfiguration * +UA_AggregateConfiguration_new(void) { + return (UA_AggregateConfiguration*)UA_new(&UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); +} + +static UA_INLINE UA_StatusCode +UA_AggregateConfiguration_copy(const UA_AggregateConfiguration *src, UA_AggregateConfiguration *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AggregateConfiguration_deleteMembers(UA_AggregateConfiguration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); +} + +static UA_INLINE void +UA_AggregateConfiguration_clear(UA_AggregateConfiguration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); +} + +static UA_INLINE void +UA_AggregateConfiguration_delete(UA_AggregateConfiguration *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); +}static UA_INLINE UA_Boolean +UA_AggregateConfiguration_equal(const UA_AggregateConfiguration *p1, const UA_AggregateConfiguration *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]) == UA_ORDER_EQ); +} + + + +/* AggregateFilter */ +static UA_INLINE void +UA_AggregateFilter_init(UA_AggregateFilter *p) { + memset(p, 0, sizeof(UA_AggregateFilter)); +} + +static UA_INLINE UA_AggregateFilter * +UA_AggregateFilter_new(void) { + return (UA_AggregateFilter*)UA_new(&UA_TYPES[UA_TYPES_AGGREGATEFILTER]); +} + +static UA_INLINE UA_StatusCode +UA_AggregateFilter_copy(const UA_AggregateFilter *src, UA_AggregateFilter *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AggregateFilter_deleteMembers(UA_AggregateFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); +} + +static UA_INLINE void +UA_AggregateFilter_clear(UA_AggregateFilter *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); +} + +static UA_INLINE void +UA_AggregateFilter_delete(UA_AggregateFilter *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); +}static UA_INLINE UA_Boolean +UA_AggregateFilter_equal(const UA_AggregateFilter *p1, const UA_AggregateFilter *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]) == UA_ORDER_EQ); +} + + + +/* EventFilterResult */ +static UA_INLINE void +UA_EventFilterResult_init(UA_EventFilterResult *p) { + memset(p, 0, sizeof(UA_EventFilterResult)); +} + +static UA_INLINE UA_EventFilterResult * +UA_EventFilterResult_new(void) { + return (UA_EventFilterResult*)UA_new(&UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_EventFilterResult_copy(const UA_EventFilterResult *src, UA_EventFilterResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EventFilterResult_deleteMembers(UA_EventFilterResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); +} + +static UA_INLINE void +UA_EventFilterResult_clear(UA_EventFilterResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); +} + +static UA_INLINE void +UA_EventFilterResult_delete(UA_EventFilterResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); +}static UA_INLINE UA_Boolean +UA_EventFilterResult_equal(const UA_EventFilterResult *p1, const UA_EventFilterResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]) == UA_ORDER_EQ); +} + + + +/* AggregateFilterResult */ +static UA_INLINE void +UA_AggregateFilterResult_init(UA_AggregateFilterResult *p) { + memset(p, 0, sizeof(UA_AggregateFilterResult)); +} + +static UA_INLINE UA_AggregateFilterResult * +UA_AggregateFilterResult_new(void) { + return (UA_AggregateFilterResult*)UA_new(&UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_AggregateFilterResult_copy(const UA_AggregateFilterResult *src, UA_AggregateFilterResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AggregateFilterResult_deleteMembers(UA_AggregateFilterResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); +} + +static UA_INLINE void +UA_AggregateFilterResult_clear(UA_AggregateFilterResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); +} + +static UA_INLINE void +UA_AggregateFilterResult_delete(UA_AggregateFilterResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); +}static UA_INLINE UA_Boolean +UA_AggregateFilterResult_equal(const UA_AggregateFilterResult *p1, const UA_AggregateFilterResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]) == UA_ORDER_EQ); +} + + + +/* MonitoringParameters */ +static UA_INLINE void +UA_MonitoringParameters_init(UA_MonitoringParameters *p) { + memset(p, 0, sizeof(UA_MonitoringParameters)); +} + +static UA_INLINE UA_MonitoringParameters * +UA_MonitoringParameters_new(void) { + return (UA_MonitoringParameters*)UA_new(&UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoringParameters_copy(const UA_MonitoringParameters *src, UA_MonitoringParameters *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoringParameters_deleteMembers(UA_MonitoringParameters *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); +} + +static UA_INLINE void +UA_MonitoringParameters_clear(UA_MonitoringParameters *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); +} + +static UA_INLINE void +UA_MonitoringParameters_delete(UA_MonitoringParameters *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); +}static UA_INLINE UA_Boolean +UA_MonitoringParameters_equal(const UA_MonitoringParameters *p1, const UA_MonitoringParameters *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]) == UA_ORDER_EQ); +} + + + +/* MonitoredItemCreateRequest */ +static UA_INLINE void +UA_MonitoredItemCreateRequest_init(UA_MonitoredItemCreateRequest *p) { + memset(p, 0, sizeof(UA_MonitoredItemCreateRequest)); +} + +static UA_INLINE UA_MonitoredItemCreateRequest * +UA_MonitoredItemCreateRequest_new(void) { + return (UA_MonitoredItemCreateRequest*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoredItemCreateRequest_copy(const UA_MonitoredItemCreateRequest *src, UA_MonitoredItemCreateRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoredItemCreateRequest_deleteMembers(UA_MonitoredItemCreateRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); +} + +static UA_INLINE void +UA_MonitoredItemCreateRequest_clear(UA_MonitoredItemCreateRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); +} + +static UA_INLINE void +UA_MonitoredItemCreateRequest_delete(UA_MonitoredItemCreateRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); +}static UA_INLINE UA_Boolean +UA_MonitoredItemCreateRequest_equal(const UA_MonitoredItemCreateRequest *p1, const UA_MonitoredItemCreateRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]) == UA_ORDER_EQ); +} + + + +/* MonitoredItemCreateResult */ +static UA_INLINE void +UA_MonitoredItemCreateResult_init(UA_MonitoredItemCreateResult *p) { + memset(p, 0, sizeof(UA_MonitoredItemCreateResult)); +} + +static UA_INLINE UA_MonitoredItemCreateResult * +UA_MonitoredItemCreateResult_new(void) { + return (UA_MonitoredItemCreateResult*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoredItemCreateResult_copy(const UA_MonitoredItemCreateResult *src, UA_MonitoredItemCreateResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoredItemCreateResult_deleteMembers(UA_MonitoredItemCreateResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); +} + +static UA_INLINE void +UA_MonitoredItemCreateResult_clear(UA_MonitoredItemCreateResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); +} + +static UA_INLINE void +UA_MonitoredItemCreateResult_delete(UA_MonitoredItemCreateResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); +}static UA_INLINE UA_Boolean +UA_MonitoredItemCreateResult_equal(const UA_MonitoredItemCreateResult *p1, const UA_MonitoredItemCreateResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]) == UA_ORDER_EQ); +} + + + +/* CreateMonitoredItemsRequest */ +static UA_INLINE void +UA_CreateMonitoredItemsRequest_init(UA_CreateMonitoredItemsRequest *p) { + memset(p, 0, sizeof(UA_CreateMonitoredItemsRequest)); +} + +static UA_INLINE UA_CreateMonitoredItemsRequest * +UA_CreateMonitoredItemsRequest_new(void) { + return (UA_CreateMonitoredItemsRequest*)UA_new(&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CreateMonitoredItemsRequest_copy(const UA_CreateMonitoredItemsRequest *src, UA_CreateMonitoredItemsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CreateMonitoredItemsRequest_deleteMembers(UA_CreateMonitoredItemsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); +} + +static UA_INLINE void +UA_CreateMonitoredItemsRequest_clear(UA_CreateMonitoredItemsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); +} + +static UA_INLINE void +UA_CreateMonitoredItemsRequest_delete(UA_CreateMonitoredItemsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); +}static UA_INLINE UA_Boolean +UA_CreateMonitoredItemsRequest_equal(const UA_CreateMonitoredItemsRequest *p1, const UA_CreateMonitoredItemsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]) == UA_ORDER_EQ); +} + + + +/* CreateMonitoredItemsResponse */ +static UA_INLINE void +UA_CreateMonitoredItemsResponse_init(UA_CreateMonitoredItemsResponse *p) { + memset(p, 0, sizeof(UA_CreateMonitoredItemsResponse)); +} + +static UA_INLINE UA_CreateMonitoredItemsResponse * +UA_CreateMonitoredItemsResponse_new(void) { + return (UA_CreateMonitoredItemsResponse*)UA_new(&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CreateMonitoredItemsResponse_copy(const UA_CreateMonitoredItemsResponse *src, UA_CreateMonitoredItemsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CreateMonitoredItemsResponse_deleteMembers(UA_CreateMonitoredItemsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE void +UA_CreateMonitoredItemsResponse_clear(UA_CreateMonitoredItemsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE void +UA_CreateMonitoredItemsResponse_delete(UA_CreateMonitoredItemsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CreateMonitoredItemsResponse_equal(const UA_CreateMonitoredItemsResponse *p1, const UA_CreateMonitoredItemsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* MonitoredItemModifyRequest */ +static UA_INLINE void +UA_MonitoredItemModifyRequest_init(UA_MonitoredItemModifyRequest *p) { + memset(p, 0, sizeof(UA_MonitoredItemModifyRequest)); +} + +static UA_INLINE UA_MonitoredItemModifyRequest * +UA_MonitoredItemModifyRequest_new(void) { + return (UA_MonitoredItemModifyRequest*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoredItemModifyRequest_copy(const UA_MonitoredItemModifyRequest *src, UA_MonitoredItemModifyRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoredItemModifyRequest_deleteMembers(UA_MonitoredItemModifyRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); +} + +static UA_INLINE void +UA_MonitoredItemModifyRequest_clear(UA_MonitoredItemModifyRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); +} + +static UA_INLINE void +UA_MonitoredItemModifyRequest_delete(UA_MonitoredItemModifyRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); +}static UA_INLINE UA_Boolean +UA_MonitoredItemModifyRequest_equal(const UA_MonitoredItemModifyRequest *p1, const UA_MonitoredItemModifyRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]) == UA_ORDER_EQ); +} + + + +/* MonitoredItemModifyResult */ +static UA_INLINE void +UA_MonitoredItemModifyResult_init(UA_MonitoredItemModifyResult *p) { + memset(p, 0, sizeof(UA_MonitoredItemModifyResult)); +} + +static UA_INLINE UA_MonitoredItemModifyResult * +UA_MonitoredItemModifyResult_new(void) { + return (UA_MonitoredItemModifyResult*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoredItemModifyResult_copy(const UA_MonitoredItemModifyResult *src, UA_MonitoredItemModifyResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoredItemModifyResult_deleteMembers(UA_MonitoredItemModifyResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); +} + +static UA_INLINE void +UA_MonitoredItemModifyResult_clear(UA_MonitoredItemModifyResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); +} + +static UA_INLINE void +UA_MonitoredItemModifyResult_delete(UA_MonitoredItemModifyResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); +}static UA_INLINE UA_Boolean +UA_MonitoredItemModifyResult_equal(const UA_MonitoredItemModifyResult *p1, const UA_MonitoredItemModifyResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]) == UA_ORDER_EQ); +} + + + +/* ModifyMonitoredItemsRequest */ +static UA_INLINE void +UA_ModifyMonitoredItemsRequest_init(UA_ModifyMonitoredItemsRequest *p) { + memset(p, 0, sizeof(UA_ModifyMonitoredItemsRequest)); +} + +static UA_INLINE UA_ModifyMonitoredItemsRequest * +UA_ModifyMonitoredItemsRequest_new(void) { + return (UA_ModifyMonitoredItemsRequest*)UA_new(&UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_ModifyMonitoredItemsRequest_copy(const UA_ModifyMonitoredItemsRequest *src, UA_ModifyMonitoredItemsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModifyMonitoredItemsRequest_deleteMembers(UA_ModifyMonitoredItemsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); +} + +static UA_INLINE void +UA_ModifyMonitoredItemsRequest_clear(UA_ModifyMonitoredItemsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); +} + +static UA_INLINE void +UA_ModifyMonitoredItemsRequest_delete(UA_ModifyMonitoredItemsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); +}static UA_INLINE UA_Boolean +UA_ModifyMonitoredItemsRequest_equal(const UA_ModifyMonitoredItemsRequest *p1, const UA_ModifyMonitoredItemsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]) == UA_ORDER_EQ); +} + + + +/* ModifyMonitoredItemsResponse */ +static UA_INLINE void +UA_ModifyMonitoredItemsResponse_init(UA_ModifyMonitoredItemsResponse *p) { + memset(p, 0, sizeof(UA_ModifyMonitoredItemsResponse)); +} + +static UA_INLINE UA_ModifyMonitoredItemsResponse * +UA_ModifyMonitoredItemsResponse_new(void) { + return (UA_ModifyMonitoredItemsResponse*)UA_new(&UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_ModifyMonitoredItemsResponse_copy(const UA_ModifyMonitoredItemsResponse *src, UA_ModifyMonitoredItemsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModifyMonitoredItemsResponse_deleteMembers(UA_ModifyMonitoredItemsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE void +UA_ModifyMonitoredItemsResponse_clear(UA_ModifyMonitoredItemsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE void +UA_ModifyMonitoredItemsResponse_delete(UA_ModifyMonitoredItemsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_ModifyMonitoredItemsResponse_equal(const UA_ModifyMonitoredItemsResponse *p1, const UA_ModifyMonitoredItemsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* SetMonitoringModeRequest */ +static UA_INLINE void +UA_SetMonitoringModeRequest_init(UA_SetMonitoringModeRequest *p) { + memset(p, 0, sizeof(UA_SetMonitoringModeRequest)); +} + +static UA_INLINE UA_SetMonitoringModeRequest * +UA_SetMonitoringModeRequest_new(void) { + return (UA_SetMonitoringModeRequest*)UA_new(&UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_SetMonitoringModeRequest_copy(const UA_SetMonitoringModeRequest *src, UA_SetMonitoringModeRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SetMonitoringModeRequest_deleteMembers(UA_SetMonitoringModeRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); +} + +static UA_INLINE void +UA_SetMonitoringModeRequest_clear(UA_SetMonitoringModeRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); +} + +static UA_INLINE void +UA_SetMonitoringModeRequest_delete(UA_SetMonitoringModeRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); +}static UA_INLINE UA_Boolean +UA_SetMonitoringModeRequest_equal(const UA_SetMonitoringModeRequest *p1, const UA_SetMonitoringModeRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]) == UA_ORDER_EQ); +} + + + +/* SetMonitoringModeResponse */ +static UA_INLINE void +UA_SetMonitoringModeResponse_init(UA_SetMonitoringModeResponse *p) { + memset(p, 0, sizeof(UA_SetMonitoringModeResponse)); +} + +static UA_INLINE UA_SetMonitoringModeResponse * +UA_SetMonitoringModeResponse_new(void) { + return (UA_SetMonitoringModeResponse*)UA_new(&UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_SetMonitoringModeResponse_copy(const UA_SetMonitoringModeResponse *src, UA_SetMonitoringModeResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SetMonitoringModeResponse_deleteMembers(UA_SetMonitoringModeResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); +} + +static UA_INLINE void +UA_SetMonitoringModeResponse_clear(UA_SetMonitoringModeResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); +} + +static UA_INLINE void +UA_SetMonitoringModeResponse_delete(UA_SetMonitoringModeResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); +}static UA_INLINE UA_Boolean +UA_SetMonitoringModeResponse_equal(const UA_SetMonitoringModeResponse *p1, const UA_SetMonitoringModeResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]) == UA_ORDER_EQ); +} + + + +/* SetTriggeringRequest */ +static UA_INLINE void +UA_SetTriggeringRequest_init(UA_SetTriggeringRequest *p) { + memset(p, 0, sizeof(UA_SetTriggeringRequest)); +} + +static UA_INLINE UA_SetTriggeringRequest * +UA_SetTriggeringRequest_new(void) { + return (UA_SetTriggeringRequest*)UA_new(&UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_SetTriggeringRequest_copy(const UA_SetTriggeringRequest *src, UA_SetTriggeringRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SetTriggeringRequest_deleteMembers(UA_SetTriggeringRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); +} + +static UA_INLINE void +UA_SetTriggeringRequest_clear(UA_SetTriggeringRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); +} + +static UA_INLINE void +UA_SetTriggeringRequest_delete(UA_SetTriggeringRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); +}static UA_INLINE UA_Boolean +UA_SetTriggeringRequest_equal(const UA_SetTriggeringRequest *p1, const UA_SetTriggeringRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]) == UA_ORDER_EQ); +} + + + +/* SetTriggeringResponse */ +static UA_INLINE void +UA_SetTriggeringResponse_init(UA_SetTriggeringResponse *p) { + memset(p, 0, sizeof(UA_SetTriggeringResponse)); +} + +static UA_INLINE UA_SetTriggeringResponse * +UA_SetTriggeringResponse_new(void) { + return (UA_SetTriggeringResponse*)UA_new(&UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_SetTriggeringResponse_copy(const UA_SetTriggeringResponse *src, UA_SetTriggeringResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SetTriggeringResponse_deleteMembers(UA_SetTriggeringResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); +} + +static UA_INLINE void +UA_SetTriggeringResponse_clear(UA_SetTriggeringResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); +} + +static UA_INLINE void +UA_SetTriggeringResponse_delete(UA_SetTriggeringResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); +}static UA_INLINE UA_Boolean +UA_SetTriggeringResponse_equal(const UA_SetTriggeringResponse *p1, const UA_SetTriggeringResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]) == UA_ORDER_EQ); +} + + + +/* DeleteMonitoredItemsRequest */ +static UA_INLINE void +UA_DeleteMonitoredItemsRequest_init(UA_DeleteMonitoredItemsRequest *p) { + memset(p, 0, sizeof(UA_DeleteMonitoredItemsRequest)); +} + +static UA_INLINE UA_DeleteMonitoredItemsRequest * +UA_DeleteMonitoredItemsRequest_new(void) { + return (UA_DeleteMonitoredItemsRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteMonitoredItemsRequest_copy(const UA_DeleteMonitoredItemsRequest *src, UA_DeleteMonitoredItemsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteMonitoredItemsRequest_deleteMembers(UA_DeleteMonitoredItemsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); +} + +static UA_INLINE void +UA_DeleteMonitoredItemsRequest_clear(UA_DeleteMonitoredItemsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); +} + +static UA_INLINE void +UA_DeleteMonitoredItemsRequest_delete(UA_DeleteMonitoredItemsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); +}static UA_INLINE UA_Boolean +UA_DeleteMonitoredItemsRequest_equal(const UA_DeleteMonitoredItemsRequest *p1, const UA_DeleteMonitoredItemsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]) == UA_ORDER_EQ); +} + + + +/* DeleteMonitoredItemsResponse */ +static UA_INLINE void +UA_DeleteMonitoredItemsResponse_init(UA_DeleteMonitoredItemsResponse *p) { + memset(p, 0, sizeof(UA_DeleteMonitoredItemsResponse)); +} + +static UA_INLINE UA_DeleteMonitoredItemsResponse * +UA_DeleteMonitoredItemsResponse_new(void) { + return (UA_DeleteMonitoredItemsResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteMonitoredItemsResponse_copy(const UA_DeleteMonitoredItemsResponse *src, UA_DeleteMonitoredItemsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteMonitoredItemsResponse_deleteMembers(UA_DeleteMonitoredItemsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE void +UA_DeleteMonitoredItemsResponse_clear(UA_DeleteMonitoredItemsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); +} + +static UA_INLINE void +UA_DeleteMonitoredItemsResponse_delete(UA_DeleteMonitoredItemsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_DeleteMonitoredItemsResponse_equal(const UA_DeleteMonitoredItemsResponse *p1, const UA_DeleteMonitoredItemsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* CreateSubscriptionRequest */ +static UA_INLINE void +UA_CreateSubscriptionRequest_init(UA_CreateSubscriptionRequest *p) { + memset(p, 0, sizeof(UA_CreateSubscriptionRequest)); +} + +static UA_INLINE UA_CreateSubscriptionRequest * +UA_CreateSubscriptionRequest_new(void) { + return (UA_CreateSubscriptionRequest*)UA_new(&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_CreateSubscriptionRequest_copy(const UA_CreateSubscriptionRequest *src, UA_CreateSubscriptionRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CreateSubscriptionRequest_deleteMembers(UA_CreateSubscriptionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); +} + +static UA_INLINE void +UA_CreateSubscriptionRequest_clear(UA_CreateSubscriptionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); +} + +static UA_INLINE void +UA_CreateSubscriptionRequest_delete(UA_CreateSubscriptionRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); +}static UA_INLINE UA_Boolean +UA_CreateSubscriptionRequest_equal(const UA_CreateSubscriptionRequest *p1, const UA_CreateSubscriptionRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]) == UA_ORDER_EQ); +} + + + +/* CreateSubscriptionResponse */ +static UA_INLINE void +UA_CreateSubscriptionResponse_init(UA_CreateSubscriptionResponse *p) { + memset(p, 0, sizeof(UA_CreateSubscriptionResponse)); +} + +static UA_INLINE UA_CreateSubscriptionResponse * +UA_CreateSubscriptionResponse_new(void) { + return (UA_CreateSubscriptionResponse*)UA_new(&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_CreateSubscriptionResponse_copy(const UA_CreateSubscriptionResponse *src, UA_CreateSubscriptionResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_CreateSubscriptionResponse_deleteMembers(UA_CreateSubscriptionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); +} + +static UA_INLINE void +UA_CreateSubscriptionResponse_clear(UA_CreateSubscriptionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); +} + +static UA_INLINE void +UA_CreateSubscriptionResponse_delete(UA_CreateSubscriptionResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); +}static UA_INLINE UA_Boolean +UA_CreateSubscriptionResponse_equal(const UA_CreateSubscriptionResponse *p1, const UA_CreateSubscriptionResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]) == UA_ORDER_EQ); +} + + + +/* ModifySubscriptionRequest */ +static UA_INLINE void +UA_ModifySubscriptionRequest_init(UA_ModifySubscriptionRequest *p) { + memset(p, 0, sizeof(UA_ModifySubscriptionRequest)); +} + +static UA_INLINE UA_ModifySubscriptionRequest * +UA_ModifySubscriptionRequest_new(void) { + return (UA_ModifySubscriptionRequest*)UA_new(&UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_ModifySubscriptionRequest_copy(const UA_ModifySubscriptionRequest *src, UA_ModifySubscriptionRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModifySubscriptionRequest_deleteMembers(UA_ModifySubscriptionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); +} + +static UA_INLINE void +UA_ModifySubscriptionRequest_clear(UA_ModifySubscriptionRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); +} + +static UA_INLINE void +UA_ModifySubscriptionRequest_delete(UA_ModifySubscriptionRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); +}static UA_INLINE UA_Boolean +UA_ModifySubscriptionRequest_equal(const UA_ModifySubscriptionRequest *p1, const UA_ModifySubscriptionRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]) == UA_ORDER_EQ); +} + + + +/* ModifySubscriptionResponse */ +static UA_INLINE void +UA_ModifySubscriptionResponse_init(UA_ModifySubscriptionResponse *p) { + memset(p, 0, sizeof(UA_ModifySubscriptionResponse)); +} + +static UA_INLINE UA_ModifySubscriptionResponse * +UA_ModifySubscriptionResponse_new(void) { + return (UA_ModifySubscriptionResponse*)UA_new(&UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_ModifySubscriptionResponse_copy(const UA_ModifySubscriptionResponse *src, UA_ModifySubscriptionResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModifySubscriptionResponse_deleteMembers(UA_ModifySubscriptionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); +} + +static UA_INLINE void +UA_ModifySubscriptionResponse_clear(UA_ModifySubscriptionResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); +} + +static UA_INLINE void +UA_ModifySubscriptionResponse_delete(UA_ModifySubscriptionResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); +}static UA_INLINE UA_Boolean +UA_ModifySubscriptionResponse_equal(const UA_ModifySubscriptionResponse *p1, const UA_ModifySubscriptionResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]) == UA_ORDER_EQ); +} + + + +/* SetPublishingModeRequest */ +static UA_INLINE void +UA_SetPublishingModeRequest_init(UA_SetPublishingModeRequest *p) { + memset(p, 0, sizeof(UA_SetPublishingModeRequest)); +} + +static UA_INLINE UA_SetPublishingModeRequest * +UA_SetPublishingModeRequest_new(void) { + return (UA_SetPublishingModeRequest*)UA_new(&UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_SetPublishingModeRequest_copy(const UA_SetPublishingModeRequest *src, UA_SetPublishingModeRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SetPublishingModeRequest_deleteMembers(UA_SetPublishingModeRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); +} + +static UA_INLINE void +UA_SetPublishingModeRequest_clear(UA_SetPublishingModeRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); +} + +static UA_INLINE void +UA_SetPublishingModeRequest_delete(UA_SetPublishingModeRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); +}static UA_INLINE UA_Boolean +UA_SetPublishingModeRequest_equal(const UA_SetPublishingModeRequest *p1, const UA_SetPublishingModeRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]) == UA_ORDER_EQ); +} + + + +/* SetPublishingModeResponse */ +static UA_INLINE void +UA_SetPublishingModeResponse_init(UA_SetPublishingModeResponse *p) { + memset(p, 0, sizeof(UA_SetPublishingModeResponse)); +} + +static UA_INLINE UA_SetPublishingModeResponse * +UA_SetPublishingModeResponse_new(void) { + return (UA_SetPublishingModeResponse*)UA_new(&UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_SetPublishingModeResponse_copy(const UA_SetPublishingModeResponse *src, UA_SetPublishingModeResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SetPublishingModeResponse_deleteMembers(UA_SetPublishingModeResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); +} + +static UA_INLINE void +UA_SetPublishingModeResponse_clear(UA_SetPublishingModeResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); +} + +static UA_INLINE void +UA_SetPublishingModeResponse_delete(UA_SetPublishingModeResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); +}static UA_INLINE UA_Boolean +UA_SetPublishingModeResponse_equal(const UA_SetPublishingModeResponse *p1, const UA_SetPublishingModeResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]) == UA_ORDER_EQ); +} + + + +/* NotificationMessage */ +static UA_INLINE void +UA_NotificationMessage_init(UA_NotificationMessage *p) { + memset(p, 0, sizeof(UA_NotificationMessage)); +} + +static UA_INLINE UA_NotificationMessage * +UA_NotificationMessage_new(void) { + return (UA_NotificationMessage*)UA_new(&UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); +} + +static UA_INLINE UA_StatusCode +UA_NotificationMessage_copy(const UA_NotificationMessage *src, UA_NotificationMessage *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NotificationMessage_deleteMembers(UA_NotificationMessage *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); +} + +static UA_INLINE void +UA_NotificationMessage_clear(UA_NotificationMessage *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); +} + +static UA_INLINE void +UA_NotificationMessage_delete(UA_NotificationMessage *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); +}static UA_INLINE UA_Boolean +UA_NotificationMessage_equal(const UA_NotificationMessage *p1, const UA_NotificationMessage *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]) == UA_ORDER_EQ); +} + + + +/* MonitoredItemNotification */ +static UA_INLINE void +UA_MonitoredItemNotification_init(UA_MonitoredItemNotification *p) { + memset(p, 0, sizeof(UA_MonitoredItemNotification)); +} + +static UA_INLINE UA_MonitoredItemNotification * +UA_MonitoredItemNotification_new(void) { + return (UA_MonitoredItemNotification*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); +} + +static UA_INLINE UA_StatusCode +UA_MonitoredItemNotification_copy(const UA_MonitoredItemNotification *src, UA_MonitoredItemNotification *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MonitoredItemNotification_deleteMembers(UA_MonitoredItemNotification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); +} + +static UA_INLINE void +UA_MonitoredItemNotification_clear(UA_MonitoredItemNotification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); +} + +static UA_INLINE void +UA_MonitoredItemNotification_delete(UA_MonitoredItemNotification *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); +}static UA_INLINE UA_Boolean +UA_MonitoredItemNotification_equal(const UA_MonitoredItemNotification *p1, const UA_MonitoredItemNotification *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]) == UA_ORDER_EQ); +} + + + +/* EventFieldList */ +static UA_INLINE void +UA_EventFieldList_init(UA_EventFieldList *p) { + memset(p, 0, sizeof(UA_EventFieldList)); +} + +static UA_INLINE UA_EventFieldList * +UA_EventFieldList_new(void) { + return (UA_EventFieldList*)UA_new(&UA_TYPES[UA_TYPES_EVENTFIELDLIST]); +} + +static UA_INLINE UA_StatusCode +UA_EventFieldList_copy(const UA_EventFieldList *src, UA_EventFieldList *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EventFieldList_deleteMembers(UA_EventFieldList *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); +} + +static UA_INLINE void +UA_EventFieldList_clear(UA_EventFieldList *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); +} + +static UA_INLINE void +UA_EventFieldList_delete(UA_EventFieldList *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); +}static UA_INLINE UA_Boolean +UA_EventFieldList_equal(const UA_EventFieldList *p1, const UA_EventFieldList *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]) == UA_ORDER_EQ); +} + + + +/* HistoryEventFieldList */ +static UA_INLINE void +UA_HistoryEventFieldList_init(UA_HistoryEventFieldList *p) { + memset(p, 0, sizeof(UA_HistoryEventFieldList)); +} + +static UA_INLINE UA_HistoryEventFieldList * +UA_HistoryEventFieldList_new(void) { + return (UA_HistoryEventFieldList*)UA_new(&UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryEventFieldList_copy(const UA_HistoryEventFieldList *src, UA_HistoryEventFieldList *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryEventFieldList_deleteMembers(UA_HistoryEventFieldList *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); +} + +static UA_INLINE void +UA_HistoryEventFieldList_clear(UA_HistoryEventFieldList *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); +} + +static UA_INLINE void +UA_HistoryEventFieldList_delete(UA_HistoryEventFieldList *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); +}static UA_INLINE UA_Boolean +UA_HistoryEventFieldList_equal(const UA_HistoryEventFieldList *p1, const UA_HistoryEventFieldList *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]) == UA_ORDER_EQ); +} + + + +/* StatusChangeNotification */ +static UA_INLINE void +UA_StatusChangeNotification_init(UA_StatusChangeNotification *p) { + memset(p, 0, sizeof(UA_StatusChangeNotification)); +} + +static UA_INLINE UA_StatusChangeNotification * +UA_StatusChangeNotification_new(void) { + return (UA_StatusChangeNotification*)UA_new(&UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); +} + +static UA_INLINE UA_StatusCode +UA_StatusChangeNotification_copy(const UA_StatusChangeNotification *src, UA_StatusChangeNotification *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StatusChangeNotification_deleteMembers(UA_StatusChangeNotification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); +} + +static UA_INLINE void +UA_StatusChangeNotification_clear(UA_StatusChangeNotification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); +} + +static UA_INLINE void +UA_StatusChangeNotification_delete(UA_StatusChangeNotification *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); +}static UA_INLINE UA_Boolean +UA_StatusChangeNotification_equal(const UA_StatusChangeNotification *p1, const UA_StatusChangeNotification *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]) == UA_ORDER_EQ); +} + + + +/* SubscriptionAcknowledgement */ +static UA_INLINE void +UA_SubscriptionAcknowledgement_init(UA_SubscriptionAcknowledgement *p) { + memset(p, 0, sizeof(UA_SubscriptionAcknowledgement)); +} + +static UA_INLINE UA_SubscriptionAcknowledgement * +UA_SubscriptionAcknowledgement_new(void) { + return (UA_SubscriptionAcknowledgement*)UA_new(&UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); +} + +static UA_INLINE UA_StatusCode +UA_SubscriptionAcknowledgement_copy(const UA_SubscriptionAcknowledgement *src, UA_SubscriptionAcknowledgement *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SubscriptionAcknowledgement_deleteMembers(UA_SubscriptionAcknowledgement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); +} + +static UA_INLINE void +UA_SubscriptionAcknowledgement_clear(UA_SubscriptionAcknowledgement *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); +} + +static UA_INLINE void +UA_SubscriptionAcknowledgement_delete(UA_SubscriptionAcknowledgement *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); +}static UA_INLINE UA_Boolean +UA_SubscriptionAcknowledgement_equal(const UA_SubscriptionAcknowledgement *p1, const UA_SubscriptionAcknowledgement *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]) == UA_ORDER_EQ); +} + + + +/* PublishRequest */ +static UA_INLINE void +UA_PublishRequest_init(UA_PublishRequest *p) { + memset(p, 0, sizeof(UA_PublishRequest)); +} + +static UA_INLINE UA_PublishRequest * +UA_PublishRequest_new(void) { + return (UA_PublishRequest*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_PublishRequest_copy(const UA_PublishRequest *src, UA_PublishRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishRequest_deleteMembers(UA_PublishRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); +} + +static UA_INLINE void +UA_PublishRequest_clear(UA_PublishRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); +} + +static UA_INLINE void +UA_PublishRequest_delete(UA_PublishRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); +}static UA_INLINE UA_Boolean +UA_PublishRequest_equal(const UA_PublishRequest *p1, const UA_PublishRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]) == UA_ORDER_EQ); +} + + + +/* PublishResponse */ +static UA_INLINE void +UA_PublishResponse_init(UA_PublishResponse *p) { + memset(p, 0, sizeof(UA_PublishResponse)); +} + +static UA_INLINE UA_PublishResponse * +UA_PublishResponse_new(void) { + return (UA_PublishResponse*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_PublishResponse_copy(const UA_PublishResponse *src, UA_PublishResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishResponse_deleteMembers(UA_PublishResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); +} + +static UA_INLINE void +UA_PublishResponse_clear(UA_PublishResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); +} + +static UA_INLINE void +UA_PublishResponse_delete(UA_PublishResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); +}static UA_INLINE UA_Boolean +UA_PublishResponse_equal(const UA_PublishResponse *p1, const UA_PublishResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]) == UA_ORDER_EQ); +} + + + +/* RepublishRequest */ +static UA_INLINE void +UA_RepublishRequest_init(UA_RepublishRequest *p) { + memset(p, 0, sizeof(UA_RepublishRequest)); +} + +static UA_INLINE UA_RepublishRequest * +UA_RepublishRequest_new(void) { + return (UA_RepublishRequest*)UA_new(&UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_RepublishRequest_copy(const UA_RepublishRequest *src, UA_RepublishRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RepublishRequest_deleteMembers(UA_RepublishRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); +} + +static UA_INLINE void +UA_RepublishRequest_clear(UA_RepublishRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); +} + +static UA_INLINE void +UA_RepublishRequest_delete(UA_RepublishRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); +}static UA_INLINE UA_Boolean +UA_RepublishRequest_equal(const UA_RepublishRequest *p1, const UA_RepublishRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]) == UA_ORDER_EQ); +} + + + +/* RepublishResponse */ +static UA_INLINE void +UA_RepublishResponse_init(UA_RepublishResponse *p) { + memset(p, 0, sizeof(UA_RepublishResponse)); +} + +static UA_INLINE UA_RepublishResponse * +UA_RepublishResponse_new(void) { + return (UA_RepublishResponse*)UA_new(&UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_RepublishResponse_copy(const UA_RepublishResponse *src, UA_RepublishResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RepublishResponse_deleteMembers(UA_RepublishResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); +} + +static UA_INLINE void +UA_RepublishResponse_clear(UA_RepublishResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); +} + +static UA_INLINE void +UA_RepublishResponse_delete(UA_RepublishResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); +}static UA_INLINE UA_Boolean +UA_RepublishResponse_equal(const UA_RepublishResponse *p1, const UA_RepublishResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]) == UA_ORDER_EQ); +} + + + +/* TransferResult */ +static UA_INLINE void +UA_TransferResult_init(UA_TransferResult *p) { + memset(p, 0, sizeof(UA_TransferResult)); +} + +static UA_INLINE UA_TransferResult * +UA_TransferResult_new(void) { + return (UA_TransferResult*)UA_new(&UA_TYPES[UA_TYPES_TRANSFERRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_TransferResult_copy(const UA_TransferResult *src, UA_TransferResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TransferResult_deleteMembers(UA_TransferResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); +} + +static UA_INLINE void +UA_TransferResult_clear(UA_TransferResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); +} + +static UA_INLINE void +UA_TransferResult_delete(UA_TransferResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); +}static UA_INLINE UA_Boolean +UA_TransferResult_equal(const UA_TransferResult *p1, const UA_TransferResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSFERRESULT]) == UA_ORDER_EQ); +} + + + +/* TransferSubscriptionsRequest */ +static UA_INLINE void +UA_TransferSubscriptionsRequest_init(UA_TransferSubscriptionsRequest *p) { + memset(p, 0, sizeof(UA_TransferSubscriptionsRequest)); +} + +static UA_INLINE UA_TransferSubscriptionsRequest * +UA_TransferSubscriptionsRequest_new(void) { + return (UA_TransferSubscriptionsRequest*)UA_new(&UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_TransferSubscriptionsRequest_copy(const UA_TransferSubscriptionsRequest *src, UA_TransferSubscriptionsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TransferSubscriptionsRequest_deleteMembers(UA_TransferSubscriptionsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); +} + +static UA_INLINE void +UA_TransferSubscriptionsRequest_clear(UA_TransferSubscriptionsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); +} + +static UA_INLINE void +UA_TransferSubscriptionsRequest_delete(UA_TransferSubscriptionsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); +}static UA_INLINE UA_Boolean +UA_TransferSubscriptionsRequest_equal(const UA_TransferSubscriptionsRequest *p1, const UA_TransferSubscriptionsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]) == UA_ORDER_EQ); +} + + + +/* TransferSubscriptionsResponse */ +static UA_INLINE void +UA_TransferSubscriptionsResponse_init(UA_TransferSubscriptionsResponse *p) { + memset(p, 0, sizeof(UA_TransferSubscriptionsResponse)); +} + +static UA_INLINE UA_TransferSubscriptionsResponse * +UA_TransferSubscriptionsResponse_new(void) { + return (UA_TransferSubscriptionsResponse*)UA_new(&UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_TransferSubscriptionsResponse_copy(const UA_TransferSubscriptionsResponse *src, UA_TransferSubscriptionsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TransferSubscriptionsResponse_deleteMembers(UA_TransferSubscriptionsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); +} + +static UA_INLINE void +UA_TransferSubscriptionsResponse_clear(UA_TransferSubscriptionsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); +} + +static UA_INLINE void +UA_TransferSubscriptionsResponse_delete(UA_TransferSubscriptionsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_TransferSubscriptionsResponse_equal(const UA_TransferSubscriptionsResponse *p1, const UA_TransferSubscriptionsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* DeleteSubscriptionsRequest */ +static UA_INLINE void +UA_DeleteSubscriptionsRequest_init(UA_DeleteSubscriptionsRequest *p) { + memset(p, 0, sizeof(UA_DeleteSubscriptionsRequest)); +} + +static UA_INLINE UA_DeleteSubscriptionsRequest * +UA_DeleteSubscriptionsRequest_new(void) { + return (UA_DeleteSubscriptionsRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteSubscriptionsRequest_copy(const UA_DeleteSubscriptionsRequest *src, UA_DeleteSubscriptionsRequest *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteSubscriptionsRequest_deleteMembers(UA_DeleteSubscriptionsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); +} + +static UA_INLINE void +UA_DeleteSubscriptionsRequest_clear(UA_DeleteSubscriptionsRequest *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); +} + +static UA_INLINE void +UA_DeleteSubscriptionsRequest_delete(UA_DeleteSubscriptionsRequest *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); +}static UA_INLINE UA_Boolean +UA_DeleteSubscriptionsRequest_equal(const UA_DeleteSubscriptionsRequest *p1, const UA_DeleteSubscriptionsRequest *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]) == UA_ORDER_EQ); +} + + + +/* DeleteSubscriptionsResponse */ +static UA_INLINE void +UA_DeleteSubscriptionsResponse_init(UA_DeleteSubscriptionsResponse *p) { + memset(p, 0, sizeof(UA_DeleteSubscriptionsResponse)); +} + +static UA_INLINE UA_DeleteSubscriptionsResponse * +UA_DeleteSubscriptionsResponse_new(void) { + return (UA_DeleteSubscriptionsResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); +} + +static UA_INLINE UA_StatusCode +UA_DeleteSubscriptionsResponse_copy(const UA_DeleteSubscriptionsResponse *src, UA_DeleteSubscriptionsResponse *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DeleteSubscriptionsResponse_deleteMembers(UA_DeleteSubscriptionsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); +} + +static UA_INLINE void +UA_DeleteSubscriptionsResponse_clear(UA_DeleteSubscriptionsResponse *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); +} + +static UA_INLINE void +UA_DeleteSubscriptionsResponse_delete(UA_DeleteSubscriptionsResponse *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); +}static UA_INLINE UA_Boolean +UA_DeleteSubscriptionsResponse_equal(const UA_DeleteSubscriptionsResponse *p1, const UA_DeleteSubscriptionsResponse *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]) == UA_ORDER_EQ); +} + + + +/* BuildInfo */ +static UA_INLINE void +UA_BuildInfo_init(UA_BuildInfo *p) { + memset(p, 0, sizeof(UA_BuildInfo)); +} + +static UA_INLINE UA_BuildInfo * +UA_BuildInfo_new(void) { + return (UA_BuildInfo*)UA_new(&UA_TYPES[UA_TYPES_BUILDINFO]); +} + +static UA_INLINE UA_StatusCode +UA_BuildInfo_copy(const UA_BuildInfo *src, UA_BuildInfo *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BUILDINFO]); +} + +UA_DEPRECATED static UA_INLINE void +UA_BuildInfo_deleteMembers(UA_BuildInfo *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BUILDINFO]); +} + +static UA_INLINE void +UA_BuildInfo_clear(UA_BuildInfo *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_BUILDINFO]); +} + +static UA_INLINE void +UA_BuildInfo_delete(UA_BuildInfo *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_BUILDINFO]); +}static UA_INLINE UA_Boolean +UA_BuildInfo_equal(const UA_BuildInfo *p1, const UA_BuildInfo *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BUILDINFO]) == UA_ORDER_EQ); +} + + + +/* RedundancySupport */ +static UA_INLINE void +UA_RedundancySupport_init(UA_RedundancySupport *p) { + memset(p, 0, sizeof(UA_RedundancySupport)); +} + +static UA_INLINE UA_RedundancySupport * +UA_RedundancySupport_new(void) { + return (UA_RedundancySupport*)UA_new(&UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); +} + +static UA_INLINE UA_StatusCode +UA_RedundancySupport_copy(const UA_RedundancySupport *src, UA_RedundancySupport *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RedundancySupport_deleteMembers(UA_RedundancySupport *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); +} + +static UA_INLINE void +UA_RedundancySupport_clear(UA_RedundancySupport *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); +} + +static UA_INLINE void +UA_RedundancySupport_delete(UA_RedundancySupport *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); +}static UA_INLINE UA_Boolean +UA_RedundancySupport_equal(const UA_RedundancySupport *p1, const UA_RedundancySupport *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]) == UA_ORDER_EQ); +} + + + +/* ServerState */ +static UA_INLINE void +UA_ServerState_init(UA_ServerState *p) { + memset(p, 0, sizeof(UA_ServerState)); +} + +static UA_INLINE UA_ServerState * +UA_ServerState_new(void) { + return (UA_ServerState*)UA_new(&UA_TYPES[UA_TYPES_SERVERSTATE]); +} + +static UA_INLINE UA_StatusCode +UA_ServerState_copy(const UA_ServerState *src, UA_ServerState *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERSTATE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ServerState_deleteMembers(UA_ServerState *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATE]); +} + +static UA_INLINE void +UA_ServerState_clear(UA_ServerState *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATE]); +} + +static UA_INLINE void +UA_ServerState_delete(UA_ServerState *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SERVERSTATE]); +}static UA_INLINE UA_Boolean +UA_ServerState_equal(const UA_ServerState *p1, const UA_ServerState *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERSTATE]) == UA_ORDER_EQ); +} + + + +/* RedundantServerDataType */ +static UA_INLINE void +UA_RedundantServerDataType_init(UA_RedundantServerDataType *p) { + memset(p, 0, sizeof(UA_RedundantServerDataType)); +} + +static UA_INLINE UA_RedundantServerDataType * +UA_RedundantServerDataType_new(void) { + return (UA_RedundantServerDataType*)UA_new(&UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_RedundantServerDataType_copy(const UA_RedundantServerDataType *src, UA_RedundantServerDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_RedundantServerDataType_deleteMembers(UA_RedundantServerDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); +} + +static UA_INLINE void +UA_RedundantServerDataType_clear(UA_RedundantServerDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); +} + +static UA_INLINE void +UA_RedundantServerDataType_delete(UA_RedundantServerDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); +}static UA_INLINE UA_Boolean +UA_RedundantServerDataType_equal(const UA_RedundantServerDataType *p1, const UA_RedundantServerDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]) == UA_ORDER_EQ); +} + + + +/* EndpointUrlListDataType */ +static UA_INLINE void +UA_EndpointUrlListDataType_init(UA_EndpointUrlListDataType *p) { + memset(p, 0, sizeof(UA_EndpointUrlListDataType)); +} + +static UA_INLINE UA_EndpointUrlListDataType * +UA_EndpointUrlListDataType_new(void) { + return (UA_EndpointUrlListDataType*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_EndpointUrlListDataType_copy(const UA_EndpointUrlListDataType *src, UA_EndpointUrlListDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EndpointUrlListDataType_deleteMembers(UA_EndpointUrlListDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); +} + +static UA_INLINE void +UA_EndpointUrlListDataType_clear(UA_EndpointUrlListDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); +} + +static UA_INLINE void +UA_EndpointUrlListDataType_delete(UA_EndpointUrlListDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); +}static UA_INLINE UA_Boolean +UA_EndpointUrlListDataType_equal(const UA_EndpointUrlListDataType *p1, const UA_EndpointUrlListDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]) == UA_ORDER_EQ); +} + + + +/* NetworkGroupDataType */ +static UA_INLINE void +UA_NetworkGroupDataType_init(UA_NetworkGroupDataType *p) { + memset(p, 0, sizeof(UA_NetworkGroupDataType)); +} + +static UA_INLINE UA_NetworkGroupDataType * +UA_NetworkGroupDataType_new(void) { + return (UA_NetworkGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_NetworkGroupDataType_copy(const UA_NetworkGroupDataType *src, UA_NetworkGroupDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_NetworkGroupDataType_deleteMembers(UA_NetworkGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); +} + +static UA_INLINE void +UA_NetworkGroupDataType_clear(UA_NetworkGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); +} + +static UA_INLINE void +UA_NetworkGroupDataType_delete(UA_NetworkGroupDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); +}static UA_INLINE UA_Boolean +UA_NetworkGroupDataType_equal(const UA_NetworkGroupDataType *p1, const UA_NetworkGroupDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]) == UA_ORDER_EQ); +} + + + +/* SamplingIntervalDiagnosticsDataType */ +static UA_INLINE void +UA_SamplingIntervalDiagnosticsDataType_init(UA_SamplingIntervalDiagnosticsDataType *p) { + memset(p, 0, sizeof(UA_SamplingIntervalDiagnosticsDataType)); +} + +static UA_INLINE UA_SamplingIntervalDiagnosticsDataType * +UA_SamplingIntervalDiagnosticsDataType_new(void) { + return (UA_SamplingIntervalDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SamplingIntervalDiagnosticsDataType_copy(const UA_SamplingIntervalDiagnosticsDataType *src, UA_SamplingIntervalDiagnosticsDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SamplingIntervalDiagnosticsDataType_deleteMembers(UA_SamplingIntervalDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SamplingIntervalDiagnosticsDataType_clear(UA_SamplingIntervalDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SamplingIntervalDiagnosticsDataType_delete(UA_SamplingIntervalDiagnosticsDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SamplingIntervalDiagnosticsDataType_equal(const UA_SamplingIntervalDiagnosticsDataType *p1, const UA_SamplingIntervalDiagnosticsDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ServerDiagnosticsSummaryDataType */ +static UA_INLINE void +UA_ServerDiagnosticsSummaryDataType_init(UA_ServerDiagnosticsSummaryDataType *p) { + memset(p, 0, sizeof(UA_ServerDiagnosticsSummaryDataType)); +} + +static UA_INLINE UA_ServerDiagnosticsSummaryDataType * +UA_ServerDiagnosticsSummaryDataType_new(void) { + return (UA_ServerDiagnosticsSummaryDataType*)UA_new(&UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ServerDiagnosticsSummaryDataType_copy(const UA_ServerDiagnosticsSummaryDataType *src, UA_ServerDiagnosticsSummaryDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ServerDiagnosticsSummaryDataType_deleteMembers(UA_ServerDiagnosticsSummaryDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); +} + +static UA_INLINE void +UA_ServerDiagnosticsSummaryDataType_clear(UA_ServerDiagnosticsSummaryDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); +} + +static UA_INLINE void +UA_ServerDiagnosticsSummaryDataType_delete(UA_ServerDiagnosticsSummaryDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ServerDiagnosticsSummaryDataType_equal(const UA_ServerDiagnosticsSummaryDataType *p1, const UA_ServerDiagnosticsSummaryDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ServerStatusDataType */ +static UA_INLINE void +UA_ServerStatusDataType_init(UA_ServerStatusDataType *p) { + memset(p, 0, sizeof(UA_ServerStatusDataType)); +} + +static UA_INLINE UA_ServerStatusDataType * +UA_ServerStatusDataType_new(void) { + return (UA_ServerStatusDataType*)UA_new(&UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ServerStatusDataType_copy(const UA_ServerStatusDataType *src, UA_ServerStatusDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ServerStatusDataType_deleteMembers(UA_ServerStatusDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); +} + +static UA_INLINE void +UA_ServerStatusDataType_clear(UA_ServerStatusDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); +} + +static UA_INLINE void +UA_ServerStatusDataType_delete(UA_ServerStatusDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ServerStatusDataType_equal(const UA_ServerStatusDataType *p1, const UA_ServerStatusDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* SessionSecurityDiagnosticsDataType */ +static UA_INLINE void +UA_SessionSecurityDiagnosticsDataType_init(UA_SessionSecurityDiagnosticsDataType *p) { + memset(p, 0, sizeof(UA_SessionSecurityDiagnosticsDataType)); +} + +static UA_INLINE UA_SessionSecurityDiagnosticsDataType * +UA_SessionSecurityDiagnosticsDataType_new(void) { + return (UA_SessionSecurityDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SessionSecurityDiagnosticsDataType_copy(const UA_SessionSecurityDiagnosticsDataType *src, UA_SessionSecurityDiagnosticsDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SessionSecurityDiagnosticsDataType_deleteMembers(UA_SessionSecurityDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SessionSecurityDiagnosticsDataType_clear(UA_SessionSecurityDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SessionSecurityDiagnosticsDataType_delete(UA_SessionSecurityDiagnosticsDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SessionSecurityDiagnosticsDataType_equal(const UA_SessionSecurityDiagnosticsDataType *p1, const UA_SessionSecurityDiagnosticsDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ServiceCounterDataType */ +static UA_INLINE void +UA_ServiceCounterDataType_init(UA_ServiceCounterDataType *p) { + memset(p, 0, sizeof(UA_ServiceCounterDataType)); +} + +static UA_INLINE UA_ServiceCounterDataType * +UA_ServiceCounterDataType_new(void) { + return (UA_ServiceCounterDataType*)UA_new(&UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ServiceCounterDataType_copy(const UA_ServiceCounterDataType *src, UA_ServiceCounterDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ServiceCounterDataType_deleteMembers(UA_ServiceCounterDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); +} + +static UA_INLINE void +UA_ServiceCounterDataType_clear(UA_ServiceCounterDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); +} + +static UA_INLINE void +UA_ServiceCounterDataType_delete(UA_ServiceCounterDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ServiceCounterDataType_equal(const UA_ServiceCounterDataType *p1, const UA_ServiceCounterDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]) == UA_ORDER_EQ); +} + + + +/* StatusResult */ +static UA_INLINE void +UA_StatusResult_init(UA_StatusResult *p) { + memset(p, 0, sizeof(UA_StatusResult)); +} + +static UA_INLINE UA_StatusResult * +UA_StatusResult_new(void) { + return (UA_StatusResult*)UA_new(&UA_TYPES[UA_TYPES_STATUSRESULT]); +} + +static UA_INLINE UA_StatusCode +UA_StatusResult_copy(const UA_StatusResult *src, UA_StatusResult *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STATUSRESULT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StatusResult_deleteMembers(UA_StatusResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STATUSRESULT]); +} + +static UA_INLINE void +UA_StatusResult_clear(UA_StatusResult *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STATUSRESULT]); +} + +static UA_INLINE void +UA_StatusResult_delete(UA_StatusResult *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STATUSRESULT]); +}static UA_INLINE UA_Boolean +UA_StatusResult_equal(const UA_StatusResult *p1, const UA_StatusResult *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STATUSRESULT]) == UA_ORDER_EQ); +} + + + +/* SubscriptionDiagnosticsDataType */ +static UA_INLINE void +UA_SubscriptionDiagnosticsDataType_init(UA_SubscriptionDiagnosticsDataType *p) { + memset(p, 0, sizeof(UA_SubscriptionDiagnosticsDataType)); +} + +static UA_INLINE UA_SubscriptionDiagnosticsDataType * +UA_SubscriptionDiagnosticsDataType_new(void) { + return (UA_SubscriptionDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SubscriptionDiagnosticsDataType_copy(const UA_SubscriptionDiagnosticsDataType *src, UA_SubscriptionDiagnosticsDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SubscriptionDiagnosticsDataType_deleteMembers(UA_SubscriptionDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SubscriptionDiagnosticsDataType_clear(UA_SubscriptionDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SubscriptionDiagnosticsDataType_delete(UA_SubscriptionDiagnosticsDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SubscriptionDiagnosticsDataType_equal(const UA_SubscriptionDiagnosticsDataType *p1, const UA_SubscriptionDiagnosticsDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ModelChangeStructureVerbMask */ +static UA_INLINE void +UA_ModelChangeStructureVerbMask_init(UA_ModelChangeStructureVerbMask *p) { + memset(p, 0, sizeof(UA_ModelChangeStructureVerbMask)); +} + +static UA_INLINE UA_ModelChangeStructureVerbMask * +UA_ModelChangeStructureVerbMask_new(void) { + return (UA_ModelChangeStructureVerbMask*)UA_new(&UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); +} + +static UA_INLINE UA_StatusCode +UA_ModelChangeStructureVerbMask_copy(const UA_ModelChangeStructureVerbMask *src, UA_ModelChangeStructureVerbMask *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModelChangeStructureVerbMask_deleteMembers(UA_ModelChangeStructureVerbMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); +} + +static UA_INLINE void +UA_ModelChangeStructureVerbMask_clear(UA_ModelChangeStructureVerbMask *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); +} + +static UA_INLINE void +UA_ModelChangeStructureVerbMask_delete(UA_ModelChangeStructureVerbMask *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); +}static UA_INLINE UA_Boolean +UA_ModelChangeStructureVerbMask_equal(const UA_ModelChangeStructureVerbMask *p1, const UA_ModelChangeStructureVerbMask *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]) == UA_ORDER_EQ); +} + + + +/* ModelChangeStructureDataType */ +static UA_INLINE void +UA_ModelChangeStructureDataType_init(UA_ModelChangeStructureDataType *p) { + memset(p, 0, sizeof(UA_ModelChangeStructureDataType)); +} + +static UA_INLINE UA_ModelChangeStructureDataType * +UA_ModelChangeStructureDataType_new(void) { + return (UA_ModelChangeStructureDataType*)UA_new(&UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ModelChangeStructureDataType_copy(const UA_ModelChangeStructureDataType *src, UA_ModelChangeStructureDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModelChangeStructureDataType_deleteMembers(UA_ModelChangeStructureDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); +} + +static UA_INLINE void +UA_ModelChangeStructureDataType_clear(UA_ModelChangeStructureDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); +} + +static UA_INLINE void +UA_ModelChangeStructureDataType_delete(UA_ModelChangeStructureDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ModelChangeStructureDataType_equal(const UA_ModelChangeStructureDataType *p1, const UA_ModelChangeStructureDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]) == UA_ORDER_EQ); +} + + + +/* SemanticChangeStructureDataType */ +static UA_INLINE void +UA_SemanticChangeStructureDataType_init(UA_SemanticChangeStructureDataType *p) { + memset(p, 0, sizeof(UA_SemanticChangeStructureDataType)); +} + +static UA_INLINE UA_SemanticChangeStructureDataType * +UA_SemanticChangeStructureDataType_new(void) { + return (UA_SemanticChangeStructureDataType*)UA_new(&UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SemanticChangeStructureDataType_copy(const UA_SemanticChangeStructureDataType *src, UA_SemanticChangeStructureDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SemanticChangeStructureDataType_deleteMembers(UA_SemanticChangeStructureDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); +} + +static UA_INLINE void +UA_SemanticChangeStructureDataType_clear(UA_SemanticChangeStructureDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); +} + +static UA_INLINE void +UA_SemanticChangeStructureDataType_delete(UA_SemanticChangeStructureDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SemanticChangeStructureDataType_equal(const UA_SemanticChangeStructureDataType *p1, const UA_SemanticChangeStructureDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]) == UA_ORDER_EQ); +} + + + +/* Range */ +static UA_INLINE void +UA_Range_init(UA_Range *p) { + memset(p, 0, sizeof(UA_Range)); +} + +static UA_INLINE UA_Range * +UA_Range_new(void) { + return (UA_Range*)UA_new(&UA_TYPES[UA_TYPES_RANGE]); +} + +static UA_INLINE UA_StatusCode +UA_Range_copy(const UA_Range *src, UA_Range *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RANGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Range_deleteMembers(UA_Range *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RANGE]); +} + +static UA_INLINE void +UA_Range_clear(UA_Range *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_RANGE]); +} + +static UA_INLINE void +UA_Range_delete(UA_Range *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_RANGE]); +}static UA_INLINE UA_Boolean +UA_Range_equal(const UA_Range *p1, const UA_Range *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RANGE]) == UA_ORDER_EQ); +} + + + +/* EUInformation */ +static UA_INLINE void +UA_EUInformation_init(UA_EUInformation *p) { + memset(p, 0, sizeof(UA_EUInformation)); +} + +static UA_INLINE UA_EUInformation * +UA_EUInformation_new(void) { + return (UA_EUInformation*)UA_new(&UA_TYPES[UA_TYPES_EUINFORMATION]); +} + +static UA_INLINE UA_StatusCode +UA_EUInformation_copy(const UA_EUInformation *src, UA_EUInformation *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EUINFORMATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EUInformation_deleteMembers(UA_EUInformation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EUINFORMATION]); +} + +static UA_INLINE void +UA_EUInformation_clear(UA_EUInformation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EUINFORMATION]); +} + +static UA_INLINE void +UA_EUInformation_delete(UA_EUInformation *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EUINFORMATION]); +}static UA_INLINE UA_Boolean +UA_EUInformation_equal(const UA_EUInformation *p1, const UA_EUInformation *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EUINFORMATION]) == UA_ORDER_EQ); +} + + + +/* AxisScaleEnumeration */ +static UA_INLINE void +UA_AxisScaleEnumeration_init(UA_AxisScaleEnumeration *p) { + memset(p, 0, sizeof(UA_AxisScaleEnumeration)); +} + +static UA_INLINE UA_AxisScaleEnumeration * +UA_AxisScaleEnumeration_new(void) { + return (UA_AxisScaleEnumeration*)UA_new(&UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); +} + +static UA_INLINE UA_StatusCode +UA_AxisScaleEnumeration_copy(const UA_AxisScaleEnumeration *src, UA_AxisScaleEnumeration *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AxisScaleEnumeration_deleteMembers(UA_AxisScaleEnumeration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); +} + +static UA_INLINE void +UA_AxisScaleEnumeration_clear(UA_AxisScaleEnumeration *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); +} + +static UA_INLINE void +UA_AxisScaleEnumeration_delete(UA_AxisScaleEnumeration *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); +}static UA_INLINE UA_Boolean +UA_AxisScaleEnumeration_equal(const UA_AxisScaleEnumeration *p1, const UA_AxisScaleEnumeration *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]) == UA_ORDER_EQ); +} + + + +/* ComplexNumberType */ +static UA_INLINE void +UA_ComplexNumberType_init(UA_ComplexNumberType *p) { + memset(p, 0, sizeof(UA_ComplexNumberType)); +} + +static UA_INLINE UA_ComplexNumberType * +UA_ComplexNumberType_new(void) { + return (UA_ComplexNumberType*)UA_new(&UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ComplexNumberType_copy(const UA_ComplexNumberType *src, UA_ComplexNumberType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ComplexNumberType_deleteMembers(UA_ComplexNumberType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); +} + +static UA_INLINE void +UA_ComplexNumberType_clear(UA_ComplexNumberType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); +} + +static UA_INLINE void +UA_ComplexNumberType_delete(UA_ComplexNumberType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); +}static UA_INLINE UA_Boolean +UA_ComplexNumberType_equal(const UA_ComplexNumberType *p1, const UA_ComplexNumberType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]) == UA_ORDER_EQ); +} + + + +/* DoubleComplexNumberType */ +static UA_INLINE void +UA_DoubleComplexNumberType_init(UA_DoubleComplexNumberType *p) { + memset(p, 0, sizeof(UA_DoubleComplexNumberType)); +} + +static UA_INLINE UA_DoubleComplexNumberType * +UA_DoubleComplexNumberType_new(void) { + return (UA_DoubleComplexNumberType*)UA_new(&UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DoubleComplexNumberType_copy(const UA_DoubleComplexNumberType *src, UA_DoubleComplexNumberType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DoubleComplexNumberType_deleteMembers(UA_DoubleComplexNumberType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); +} + +static UA_INLINE void +UA_DoubleComplexNumberType_clear(UA_DoubleComplexNumberType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); +} + +static UA_INLINE void +UA_DoubleComplexNumberType_delete(UA_DoubleComplexNumberType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); +}static UA_INLINE UA_Boolean +UA_DoubleComplexNumberType_equal(const UA_DoubleComplexNumberType *p1, const UA_DoubleComplexNumberType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]) == UA_ORDER_EQ); +} + + + +/* AxisInformation */ +static UA_INLINE void +UA_AxisInformation_init(UA_AxisInformation *p) { + memset(p, 0, sizeof(UA_AxisInformation)); +} + +static UA_INLINE UA_AxisInformation * +UA_AxisInformation_new(void) { + return (UA_AxisInformation*)UA_new(&UA_TYPES[UA_TYPES_AXISINFORMATION]); +} + +static UA_INLINE UA_StatusCode +UA_AxisInformation_copy(const UA_AxisInformation *src, UA_AxisInformation *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AXISINFORMATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AxisInformation_deleteMembers(UA_AxisInformation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AXISINFORMATION]); +} + +static UA_INLINE void +UA_AxisInformation_clear(UA_AxisInformation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_AXISINFORMATION]); +} + +static UA_INLINE void +UA_AxisInformation_delete(UA_AxisInformation *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_AXISINFORMATION]); +}static UA_INLINE UA_Boolean +UA_AxisInformation_equal(const UA_AxisInformation *p1, const UA_AxisInformation *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AXISINFORMATION]) == UA_ORDER_EQ); +} + + + +/* XVType */ +static UA_INLINE void +UA_XVType_init(UA_XVType *p) { + memset(p, 0, sizeof(UA_XVType)); +} + +static UA_INLINE UA_XVType * +UA_XVType_new(void) { + return (UA_XVType*)UA_new(&UA_TYPES[UA_TYPES_XVTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_XVType_copy(const UA_XVType *src, UA_XVType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_XVTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_XVType_deleteMembers(UA_XVType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_XVTYPE]); +} + +static UA_INLINE void +UA_XVType_clear(UA_XVType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_XVTYPE]); +} + +static UA_INLINE void +UA_XVType_delete(UA_XVType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_XVTYPE]); +}static UA_INLINE UA_Boolean +UA_XVType_equal(const UA_XVType *p1, const UA_XVType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_XVTYPE]) == UA_ORDER_EQ); +} + + + +/* ProgramDiagnosticDataType */ +static UA_INLINE void +UA_ProgramDiagnosticDataType_init(UA_ProgramDiagnosticDataType *p) { + memset(p, 0, sizeof(UA_ProgramDiagnosticDataType)); +} + +static UA_INLINE UA_ProgramDiagnosticDataType * +UA_ProgramDiagnosticDataType_new(void) { + return (UA_ProgramDiagnosticDataType*)UA_new(&UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ProgramDiagnosticDataType_copy(const UA_ProgramDiagnosticDataType *src, UA_ProgramDiagnosticDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ProgramDiagnosticDataType_deleteMembers(UA_ProgramDiagnosticDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); +} + +static UA_INLINE void +UA_ProgramDiagnosticDataType_clear(UA_ProgramDiagnosticDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); +} + +static UA_INLINE void +UA_ProgramDiagnosticDataType_delete(UA_ProgramDiagnosticDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ProgramDiagnosticDataType_equal(const UA_ProgramDiagnosticDataType *p1, const UA_ProgramDiagnosticDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]) == UA_ORDER_EQ); +} + + + +/* ProgramDiagnostic2DataType */ +static UA_INLINE void +UA_ProgramDiagnostic2DataType_init(UA_ProgramDiagnostic2DataType *p) { + memset(p, 0, sizeof(UA_ProgramDiagnostic2DataType)); +} + +static UA_INLINE UA_ProgramDiagnostic2DataType * +UA_ProgramDiagnostic2DataType_new(void) { + return (UA_ProgramDiagnostic2DataType*)UA_new(&UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ProgramDiagnostic2DataType_copy(const UA_ProgramDiagnostic2DataType *src, UA_ProgramDiagnostic2DataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ProgramDiagnostic2DataType_deleteMembers(UA_ProgramDiagnostic2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); +} + +static UA_INLINE void +UA_ProgramDiagnostic2DataType_clear(UA_ProgramDiagnostic2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); +} + +static UA_INLINE void +UA_ProgramDiagnostic2DataType_delete(UA_ProgramDiagnostic2DataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); +}static UA_INLINE UA_Boolean +UA_ProgramDiagnostic2DataType_equal(const UA_ProgramDiagnostic2DataType *p1, const UA_ProgramDiagnostic2DataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]) == UA_ORDER_EQ); +} + + + +/* Annotation */ +static UA_INLINE void +UA_Annotation_init(UA_Annotation *p) { + memset(p, 0, sizeof(UA_Annotation)); +} + +static UA_INLINE UA_Annotation * +UA_Annotation_new(void) { + return (UA_Annotation*)UA_new(&UA_TYPES[UA_TYPES_ANNOTATION]); +} + +static UA_INLINE UA_StatusCode +UA_Annotation_copy(const UA_Annotation *src, UA_Annotation *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ANNOTATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_Annotation_deleteMembers(UA_Annotation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ANNOTATION]); +} + +static UA_INLINE void +UA_Annotation_clear(UA_Annotation *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ANNOTATION]); +} + +static UA_INLINE void +UA_Annotation_delete(UA_Annotation *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ANNOTATION]); +}static UA_INLINE UA_Boolean +UA_Annotation_equal(const UA_Annotation *p1, const UA_Annotation *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ANNOTATION]) == UA_ORDER_EQ); +} + + + +/* ExceptionDeviationFormat */ +static UA_INLINE void +UA_ExceptionDeviationFormat_init(UA_ExceptionDeviationFormat *p) { + memset(p, 0, sizeof(UA_ExceptionDeviationFormat)); +} + +static UA_INLINE UA_ExceptionDeviationFormat * +UA_ExceptionDeviationFormat_new(void) { + return (UA_ExceptionDeviationFormat*)UA_new(&UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); +} + +static UA_INLINE UA_StatusCode +UA_ExceptionDeviationFormat_copy(const UA_ExceptionDeviationFormat *src, UA_ExceptionDeviationFormat *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ExceptionDeviationFormat_deleteMembers(UA_ExceptionDeviationFormat *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); +} + +static UA_INLINE void +UA_ExceptionDeviationFormat_clear(UA_ExceptionDeviationFormat *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); +} + +static UA_INLINE void +UA_ExceptionDeviationFormat_delete(UA_ExceptionDeviationFormat *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); +}static UA_INLINE UA_Boolean +UA_ExceptionDeviationFormat_equal(const UA_ExceptionDeviationFormat *p1, const UA_ExceptionDeviationFormat *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]) == UA_ORDER_EQ); +} + + + +/* EndpointType */ +static UA_INLINE void +UA_EndpointType_init(UA_EndpointType *p) { + memset(p, 0, sizeof(UA_EndpointType)); +} + +static UA_INLINE UA_EndpointType * +UA_EndpointType_new(void) { + return (UA_EndpointType*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_EndpointType_copy(const UA_EndpointType *src, UA_EndpointType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EndpointType_deleteMembers(UA_EndpointType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); +} + +static UA_INLINE void +UA_EndpointType_clear(UA_EndpointType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); +} + +static UA_INLINE void +UA_EndpointType_delete(UA_EndpointType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); +}static UA_INLINE UA_Boolean +UA_EndpointType_equal(const UA_EndpointType *p1, const UA_EndpointType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]) == UA_ORDER_EQ); +} + + + +/* StructureDescription */ +static UA_INLINE void +UA_StructureDescription_init(UA_StructureDescription *p) { + memset(p, 0, sizeof(UA_StructureDescription)); +} + +static UA_INLINE UA_StructureDescription * +UA_StructureDescription_new(void) { + return (UA_StructureDescription*)UA_new(&UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_StructureDescription_copy(const UA_StructureDescription *src, UA_StructureDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StructureDescription_deleteMembers(UA_StructureDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); +} + +static UA_INLINE void +UA_StructureDescription_clear(UA_StructureDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); +} + +static UA_INLINE void +UA_StructureDescription_delete(UA_StructureDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_StructureDescription_equal(const UA_StructureDescription *p1, const UA_StructureDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* FieldMetaData */ +static UA_INLINE void +UA_FieldMetaData_init(UA_FieldMetaData *p) { + memset(p, 0, sizeof(UA_FieldMetaData)); +} + +static UA_INLINE UA_FieldMetaData * +UA_FieldMetaData_new(void) { + return (UA_FieldMetaData*)UA_new(&UA_TYPES[UA_TYPES_FIELDMETADATA]); +} + +static UA_INLINE UA_StatusCode +UA_FieldMetaData_copy(const UA_FieldMetaData *src, UA_FieldMetaData *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FIELDMETADATA]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FieldMetaData_deleteMembers(UA_FieldMetaData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FIELDMETADATA]); +} + +static UA_INLINE void +UA_FieldMetaData_clear(UA_FieldMetaData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FIELDMETADATA]); +} + +static UA_INLINE void +UA_FieldMetaData_delete(UA_FieldMetaData *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FIELDMETADATA]); +}static UA_INLINE UA_Boolean +UA_FieldMetaData_equal(const UA_FieldMetaData *p1, const UA_FieldMetaData *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FIELDMETADATA]) == UA_ORDER_EQ); +} + + + +/* PublishedEventsDataType */ +static UA_INLINE void +UA_PublishedEventsDataType_init(UA_PublishedEventsDataType *p) { + memset(p, 0, sizeof(UA_PublishedEventsDataType)); +} + +static UA_INLINE UA_PublishedEventsDataType * +UA_PublishedEventsDataType_new(void) { + return (UA_PublishedEventsDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PublishedEventsDataType_copy(const UA_PublishedEventsDataType *src, UA_PublishedEventsDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishedEventsDataType_deleteMembers(UA_PublishedEventsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); +} + +static UA_INLINE void +UA_PublishedEventsDataType_clear(UA_PublishedEventsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); +} + +static UA_INLINE void +UA_PublishedEventsDataType_delete(UA_PublishedEventsDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PublishedEventsDataType_equal(const UA_PublishedEventsDataType *p1, const UA_PublishedEventsDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubGroupDataType */ +static UA_INLINE void +UA_PubSubGroupDataType_init(UA_PubSubGroupDataType *p) { + memset(p, 0, sizeof(UA_PubSubGroupDataType)); +} + +static UA_INLINE UA_PubSubGroupDataType * +UA_PubSubGroupDataType_new(void) { + return (UA_PubSubGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubGroupDataType_copy(const UA_PubSubGroupDataType *src, UA_PubSubGroupDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubGroupDataType_deleteMembers(UA_PubSubGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); +} + +static UA_INLINE void +UA_PubSubGroupDataType_clear(UA_PubSubGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); +} + +static UA_INLINE void +UA_PubSubGroupDataType_delete(UA_PubSubGroupDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubGroupDataType_equal(const UA_PubSubGroupDataType *p1, const UA_PubSubGroupDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]) == UA_ORDER_EQ); +} + + + +/* WriterGroupDataType */ +static UA_INLINE void +UA_WriterGroupDataType_init(UA_WriterGroupDataType *p) { + memset(p, 0, sizeof(UA_WriterGroupDataType)); +} + +static UA_INLINE UA_WriterGroupDataType * +UA_WriterGroupDataType_new(void) { + return (UA_WriterGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_WriterGroupDataType_copy(const UA_WriterGroupDataType *src, UA_WriterGroupDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_WriterGroupDataType_deleteMembers(UA_WriterGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); +} + +static UA_INLINE void +UA_WriterGroupDataType_clear(UA_WriterGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); +} + +static UA_INLINE void +UA_WriterGroupDataType_delete(UA_WriterGroupDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); +}static UA_INLINE UA_Boolean +UA_WriterGroupDataType_equal(const UA_WriterGroupDataType *p1, const UA_WriterGroupDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]) == UA_ORDER_EQ); +} + + + +/* FieldTargetDataType */ +static UA_INLINE void +UA_FieldTargetDataType_init(UA_FieldTargetDataType *p) { + memset(p, 0, sizeof(UA_FieldTargetDataType)); +} + +static UA_INLINE UA_FieldTargetDataType * +UA_FieldTargetDataType_new(void) { + return (UA_FieldTargetDataType*)UA_new(&UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_FieldTargetDataType_copy(const UA_FieldTargetDataType *src, UA_FieldTargetDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_FieldTargetDataType_deleteMembers(UA_FieldTargetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); +} + +static UA_INLINE void +UA_FieldTargetDataType_clear(UA_FieldTargetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); +} + +static UA_INLINE void +UA_FieldTargetDataType_delete(UA_FieldTargetDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); +}static UA_INLINE UA_Boolean +UA_FieldTargetDataType_equal(const UA_FieldTargetDataType *p1, const UA_FieldTargetDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]) == UA_ORDER_EQ); +} + + + +/* SubscribedDataSetMirrorDataType */ +static UA_INLINE void +UA_SubscribedDataSetMirrorDataType_init(UA_SubscribedDataSetMirrorDataType *p) { + memset(p, 0, sizeof(UA_SubscribedDataSetMirrorDataType)); +} + +static UA_INLINE UA_SubscribedDataSetMirrorDataType * +UA_SubscribedDataSetMirrorDataType_new(void) { + return (UA_SubscribedDataSetMirrorDataType*)UA_new(&UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SubscribedDataSetMirrorDataType_copy(const UA_SubscribedDataSetMirrorDataType *src, UA_SubscribedDataSetMirrorDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SubscribedDataSetMirrorDataType_deleteMembers(UA_SubscribedDataSetMirrorDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); +} + +static UA_INLINE void +UA_SubscribedDataSetMirrorDataType_clear(UA_SubscribedDataSetMirrorDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); +} + +static UA_INLINE void +UA_SubscribedDataSetMirrorDataType_delete(UA_SubscribedDataSetMirrorDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SubscribedDataSetMirrorDataType_equal(const UA_SubscribedDataSetMirrorDataType *p1, const UA_SubscribedDataSetMirrorDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]) == UA_ORDER_EQ); +} + + + +/* SecurityGroupDataType */ +static UA_INLINE void +UA_SecurityGroupDataType_init(UA_SecurityGroupDataType *p) { + memset(p, 0, sizeof(UA_SecurityGroupDataType)); +} + +static UA_INLINE UA_SecurityGroupDataType * +UA_SecurityGroupDataType_new(void) { + return (UA_SecurityGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SecurityGroupDataType_copy(const UA_SecurityGroupDataType *src, UA_SecurityGroupDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SecurityGroupDataType_deleteMembers(UA_SecurityGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); +} + +static UA_INLINE void +UA_SecurityGroupDataType_clear(UA_SecurityGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); +} + +static UA_INLINE void +UA_SecurityGroupDataType_delete(UA_SecurityGroupDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SecurityGroupDataType_equal(const UA_SecurityGroupDataType *p1, const UA_SecurityGroupDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubKeyPushTargetDataType */ +static UA_INLINE void +UA_PubSubKeyPushTargetDataType_init(UA_PubSubKeyPushTargetDataType *p) { + memset(p, 0, sizeof(UA_PubSubKeyPushTargetDataType)); +} + +static UA_INLINE UA_PubSubKeyPushTargetDataType * +UA_PubSubKeyPushTargetDataType_new(void) { + return (UA_PubSubKeyPushTargetDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubKeyPushTargetDataType_copy(const UA_PubSubKeyPushTargetDataType *src, UA_PubSubKeyPushTargetDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubKeyPushTargetDataType_deleteMembers(UA_PubSubKeyPushTargetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); +} + +static UA_INLINE void +UA_PubSubKeyPushTargetDataType_clear(UA_PubSubKeyPushTargetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); +} + +static UA_INLINE void +UA_PubSubKeyPushTargetDataType_delete(UA_PubSubKeyPushTargetDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubKeyPushTargetDataType_equal(const UA_PubSubKeyPushTargetDataType *p1, const UA_PubSubKeyPushTargetDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]) == UA_ORDER_EQ); +} + + + +/* EnumDefinition */ +static UA_INLINE void +UA_EnumDefinition_init(UA_EnumDefinition *p) { + memset(p, 0, sizeof(UA_EnumDefinition)); +} + +static UA_INLINE UA_EnumDefinition * +UA_EnumDefinition_new(void) { + return (UA_EnumDefinition*)UA_new(&UA_TYPES[UA_TYPES_ENUMDEFINITION]); +} + +static UA_INLINE UA_StatusCode +UA_EnumDefinition_copy(const UA_EnumDefinition *src, UA_EnumDefinition *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EnumDefinition_deleteMembers(UA_EnumDefinition *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); +} + +static UA_INLINE void +UA_EnumDefinition_clear(UA_EnumDefinition *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); +} + +static UA_INLINE void +UA_EnumDefinition_delete(UA_EnumDefinition *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); +}static UA_INLINE UA_Boolean +UA_EnumDefinition_equal(const UA_EnumDefinition *p1, const UA_EnumDefinition *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMDEFINITION]) == UA_ORDER_EQ); +} + + + +/* ReadEventDetails */ +static UA_INLINE void +UA_ReadEventDetails_init(UA_ReadEventDetails *p) { + memset(p, 0, sizeof(UA_ReadEventDetails)); +} + +static UA_INLINE UA_ReadEventDetails * +UA_ReadEventDetails_new(void) { + return (UA_ReadEventDetails*)UA_new(&UA_TYPES[UA_TYPES_READEVENTDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_ReadEventDetails_copy(const UA_ReadEventDetails *src, UA_ReadEventDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadEventDetails_deleteMembers(UA_ReadEventDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); +} + +static UA_INLINE void +UA_ReadEventDetails_clear(UA_ReadEventDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); +} + +static UA_INLINE void +UA_ReadEventDetails_delete(UA_ReadEventDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); +}static UA_INLINE UA_Boolean +UA_ReadEventDetails_equal(const UA_ReadEventDetails *p1, const UA_ReadEventDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READEVENTDETAILS]) == UA_ORDER_EQ); +} + + + +/* ReadProcessedDetails */ +static UA_INLINE void +UA_ReadProcessedDetails_init(UA_ReadProcessedDetails *p) { + memset(p, 0, sizeof(UA_ReadProcessedDetails)); +} + +static UA_INLINE UA_ReadProcessedDetails * +UA_ReadProcessedDetails_new(void) { + return (UA_ReadProcessedDetails*)UA_new(&UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_ReadProcessedDetails_copy(const UA_ReadProcessedDetails *src, UA_ReadProcessedDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReadProcessedDetails_deleteMembers(UA_ReadProcessedDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); +} + +static UA_INLINE void +UA_ReadProcessedDetails_clear(UA_ReadProcessedDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); +} + +static UA_INLINE void +UA_ReadProcessedDetails_delete(UA_ReadProcessedDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); +}static UA_INLINE UA_Boolean +UA_ReadProcessedDetails_equal(const UA_ReadProcessedDetails *p1, const UA_ReadProcessedDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]) == UA_ORDER_EQ); +} + + + +/* ModificationInfo */ +static UA_INLINE void +UA_ModificationInfo_init(UA_ModificationInfo *p) { + memset(p, 0, sizeof(UA_ModificationInfo)); +} + +static UA_INLINE UA_ModificationInfo * +UA_ModificationInfo_new(void) { + return (UA_ModificationInfo*)UA_new(&UA_TYPES[UA_TYPES_MODIFICATIONINFO]); +} + +static UA_INLINE UA_StatusCode +UA_ModificationInfo_copy(const UA_ModificationInfo *src, UA_ModificationInfo *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ModificationInfo_deleteMembers(UA_ModificationInfo *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); +} + +static UA_INLINE void +UA_ModificationInfo_clear(UA_ModificationInfo *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); +} + +static UA_INLINE void +UA_ModificationInfo_delete(UA_ModificationInfo *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); +}static UA_INLINE UA_Boolean +UA_ModificationInfo_equal(const UA_ModificationInfo *p1, const UA_ModificationInfo *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]) == UA_ORDER_EQ); +} + + + +/* HistoryModifiedData */ +static UA_INLINE void +UA_HistoryModifiedData_init(UA_HistoryModifiedData *p) { + memset(p, 0, sizeof(UA_HistoryModifiedData)); +} + +static UA_INLINE UA_HistoryModifiedData * +UA_HistoryModifiedData_new(void) { + return (UA_HistoryModifiedData*)UA_new(&UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryModifiedData_copy(const UA_HistoryModifiedData *src, UA_HistoryModifiedData *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryModifiedData_deleteMembers(UA_HistoryModifiedData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); +} + +static UA_INLINE void +UA_HistoryModifiedData_clear(UA_HistoryModifiedData *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); +} + +static UA_INLINE void +UA_HistoryModifiedData_delete(UA_HistoryModifiedData *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); +}static UA_INLINE UA_Boolean +UA_HistoryModifiedData_equal(const UA_HistoryModifiedData *p1, const UA_HistoryModifiedData *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]) == UA_ORDER_EQ); +} + + + +/* HistoryEvent */ +static UA_INLINE void +UA_HistoryEvent_init(UA_HistoryEvent *p) { + memset(p, 0, sizeof(UA_HistoryEvent)); +} + +static UA_INLINE UA_HistoryEvent * +UA_HistoryEvent_new(void) { + return (UA_HistoryEvent*)UA_new(&UA_TYPES[UA_TYPES_HISTORYEVENT]); +} + +static UA_INLINE UA_StatusCode +UA_HistoryEvent_copy(const UA_HistoryEvent *src, UA_HistoryEvent *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYEVENT]); +} + +UA_DEPRECATED static UA_INLINE void +UA_HistoryEvent_deleteMembers(UA_HistoryEvent *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENT]); +} + +static UA_INLINE void +UA_HistoryEvent_clear(UA_HistoryEvent *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENT]); +} + +static UA_INLINE void +UA_HistoryEvent_delete(UA_HistoryEvent *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYEVENT]); +}static UA_INLINE UA_Boolean +UA_HistoryEvent_equal(const UA_HistoryEvent *p1, const UA_HistoryEvent *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYEVENT]) == UA_ORDER_EQ); +} + + + +/* UpdateEventDetails */ +static UA_INLINE void +UA_UpdateEventDetails_init(UA_UpdateEventDetails *p) { + memset(p, 0, sizeof(UA_UpdateEventDetails)); +} + +static UA_INLINE UA_UpdateEventDetails * +UA_UpdateEventDetails_new(void) { + return (UA_UpdateEventDetails*)UA_new(&UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); +} + +static UA_INLINE UA_StatusCode +UA_UpdateEventDetails_copy(const UA_UpdateEventDetails *src, UA_UpdateEventDetails *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UpdateEventDetails_deleteMembers(UA_UpdateEventDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); +} + +static UA_INLINE void +UA_UpdateEventDetails_clear(UA_UpdateEventDetails *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); +} + +static UA_INLINE void +UA_UpdateEventDetails_delete(UA_UpdateEventDetails *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); +}static UA_INLINE UA_Boolean +UA_UpdateEventDetails_equal(const UA_UpdateEventDetails *p1, const UA_UpdateEventDetails *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]) == UA_ORDER_EQ); +} + + + +/* DataChangeNotification */ +static UA_INLINE void +UA_DataChangeNotification_init(UA_DataChangeNotification *p) { + memset(p, 0, sizeof(UA_DataChangeNotification)); +} + +static UA_INLINE UA_DataChangeNotification * +UA_DataChangeNotification_new(void) { + return (UA_DataChangeNotification*)UA_new(&UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); +} + +static UA_INLINE UA_StatusCode +UA_DataChangeNotification_copy(const UA_DataChangeNotification *src, UA_DataChangeNotification *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataChangeNotification_deleteMembers(UA_DataChangeNotification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); +} + +static UA_INLINE void +UA_DataChangeNotification_clear(UA_DataChangeNotification *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); +} + +static UA_INLINE void +UA_DataChangeNotification_delete(UA_DataChangeNotification *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); +}static UA_INLINE UA_Boolean +UA_DataChangeNotification_equal(const UA_DataChangeNotification *p1, const UA_DataChangeNotification *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]) == UA_ORDER_EQ); +} + + + +/* EventNotificationList */ +static UA_INLINE void +UA_EventNotificationList_init(UA_EventNotificationList *p) { + memset(p, 0, sizeof(UA_EventNotificationList)); +} + +static UA_INLINE UA_EventNotificationList * +UA_EventNotificationList_new(void) { + return (UA_EventNotificationList*)UA_new(&UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); +} + +static UA_INLINE UA_StatusCode +UA_EventNotificationList_copy(const UA_EventNotificationList *src, UA_EventNotificationList *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EventNotificationList_deleteMembers(UA_EventNotificationList *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); +} + +static UA_INLINE void +UA_EventNotificationList_clear(UA_EventNotificationList *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); +} + +static UA_INLINE void +UA_EventNotificationList_delete(UA_EventNotificationList *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); +}static UA_INLINE UA_Boolean +UA_EventNotificationList_equal(const UA_EventNotificationList *p1, const UA_EventNotificationList *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]) == UA_ORDER_EQ); +} + + + +/* SessionDiagnosticsDataType */ +static UA_INLINE void +UA_SessionDiagnosticsDataType_init(UA_SessionDiagnosticsDataType *p) { + memset(p, 0, sizeof(UA_SessionDiagnosticsDataType)); +} + +static UA_INLINE UA_SessionDiagnosticsDataType * +UA_SessionDiagnosticsDataType_new(void) { + return (UA_SessionDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_SessionDiagnosticsDataType_copy(const UA_SessionDiagnosticsDataType *src, UA_SessionDiagnosticsDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SessionDiagnosticsDataType_deleteMembers(UA_SessionDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SessionDiagnosticsDataType_clear(UA_SessionDiagnosticsDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); +} + +static UA_INLINE void +UA_SessionDiagnosticsDataType_delete(UA_SessionDiagnosticsDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); +}static UA_INLINE UA_Boolean +UA_SessionDiagnosticsDataType_equal(const UA_SessionDiagnosticsDataType *p1, const UA_SessionDiagnosticsDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); +} + + + +/* EnumDescription */ +static UA_INLINE void +UA_EnumDescription_init(UA_EnumDescription *p) { + memset(p, 0, sizeof(UA_EnumDescription)); +} + +static UA_INLINE UA_EnumDescription * +UA_EnumDescription_new(void) { + return (UA_EnumDescription*)UA_new(&UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); +} + +static UA_INLINE UA_StatusCode +UA_EnumDescription_copy(const UA_EnumDescription *src, UA_EnumDescription *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); +} + +UA_DEPRECATED static UA_INLINE void +UA_EnumDescription_deleteMembers(UA_EnumDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); +} + +static UA_INLINE void +UA_EnumDescription_clear(UA_EnumDescription *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); +} + +static UA_INLINE void +UA_EnumDescription_delete(UA_EnumDescription *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); +}static UA_INLINE UA_Boolean +UA_EnumDescription_equal(const UA_EnumDescription *p1, const UA_EnumDescription *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]) == UA_ORDER_EQ); +} + + + +/* UABinaryFileDataType */ +static UA_INLINE void +UA_UABinaryFileDataType_init(UA_UABinaryFileDataType *p) { + memset(p, 0, sizeof(UA_UABinaryFileDataType)); +} + +static UA_INLINE UA_UABinaryFileDataType * +UA_UABinaryFileDataType_new(void) { + return (UA_UABinaryFileDataType*)UA_new(&UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_UABinaryFileDataType_copy(const UA_UABinaryFileDataType *src, UA_UABinaryFileDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_UABinaryFileDataType_deleteMembers(UA_UABinaryFileDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); +} + +static UA_INLINE void +UA_UABinaryFileDataType_clear(UA_UABinaryFileDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); +} + +static UA_INLINE void +UA_UABinaryFileDataType_delete(UA_UABinaryFileDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); +}static UA_INLINE UA_Boolean +UA_UABinaryFileDataType_equal(const UA_UABinaryFileDataType *p1, const UA_UABinaryFileDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DataSetMetaDataType */ +static UA_INLINE void +UA_DataSetMetaDataType_init(UA_DataSetMetaDataType *p) { + memset(p, 0, sizeof(UA_DataSetMetaDataType)); +} + +static UA_INLINE UA_DataSetMetaDataType * +UA_DataSetMetaDataType_new(void) { + return (UA_DataSetMetaDataType*)UA_new(&UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DataSetMetaDataType_copy(const UA_DataSetMetaDataType *src, UA_DataSetMetaDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataSetMetaDataType_deleteMembers(UA_DataSetMetaDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); +} + +static UA_INLINE void +UA_DataSetMetaDataType_clear(UA_DataSetMetaDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); +} + +static UA_INLINE void +UA_DataSetMetaDataType_delete(UA_DataSetMetaDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); +}static UA_INLINE UA_Boolean +UA_DataSetMetaDataType_equal(const UA_DataSetMetaDataType *p1, const UA_DataSetMetaDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]) == UA_ORDER_EQ); +} + + + +/* PublishedDataSetDataType */ +static UA_INLINE void +UA_PublishedDataSetDataType_init(UA_PublishedDataSetDataType *p) { + memset(p, 0, sizeof(UA_PublishedDataSetDataType)); +} + +static UA_INLINE UA_PublishedDataSetDataType * +UA_PublishedDataSetDataType_new(void) { + return (UA_PublishedDataSetDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PublishedDataSetDataType_copy(const UA_PublishedDataSetDataType *src, UA_PublishedDataSetDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PublishedDataSetDataType_deleteMembers(UA_PublishedDataSetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); +} + +static UA_INLINE void +UA_PublishedDataSetDataType_clear(UA_PublishedDataSetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); +} + +static UA_INLINE void +UA_PublishedDataSetDataType_delete(UA_PublishedDataSetDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PublishedDataSetDataType_equal(const UA_PublishedDataSetDataType *p1, const UA_PublishedDataSetDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DataSetReaderDataType */ +static UA_INLINE void +UA_DataSetReaderDataType_init(UA_DataSetReaderDataType *p) { + memset(p, 0, sizeof(UA_DataSetReaderDataType)); +} + +static UA_INLINE UA_DataSetReaderDataType * +UA_DataSetReaderDataType_new(void) { + return (UA_DataSetReaderDataType*)UA_new(&UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_DataSetReaderDataType_copy(const UA_DataSetReaderDataType *src, UA_DataSetReaderDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataSetReaderDataType_deleteMembers(UA_DataSetReaderDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); +} + +static UA_INLINE void +UA_DataSetReaderDataType_clear(UA_DataSetReaderDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); +} + +static UA_INLINE void +UA_DataSetReaderDataType_delete(UA_DataSetReaderDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); +}static UA_INLINE UA_Boolean +UA_DataSetReaderDataType_equal(const UA_DataSetReaderDataType *p1, const UA_DataSetReaderDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]) == UA_ORDER_EQ); +} + + + +/* TargetVariablesDataType */ +static UA_INLINE void +UA_TargetVariablesDataType_init(UA_TargetVariablesDataType *p) { + memset(p, 0, sizeof(UA_TargetVariablesDataType)); +} + +static UA_INLINE UA_TargetVariablesDataType * +UA_TargetVariablesDataType_new(void) { + return (UA_TargetVariablesDataType*)UA_new(&UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_TargetVariablesDataType_copy(const UA_TargetVariablesDataType *src, UA_TargetVariablesDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TargetVariablesDataType_deleteMembers(UA_TargetVariablesDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); +} + +static UA_INLINE void +UA_TargetVariablesDataType_clear(UA_TargetVariablesDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); +} + +static UA_INLINE void +UA_TargetVariablesDataType_delete(UA_TargetVariablesDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); +}static UA_INLINE UA_Boolean +UA_TargetVariablesDataType_equal(const UA_TargetVariablesDataType *p1, const UA_TargetVariablesDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]) == UA_ORDER_EQ); +} + + + +/* StandaloneSubscribedDataSetDataType */ +static UA_INLINE void +UA_StandaloneSubscribedDataSetDataType_init(UA_StandaloneSubscribedDataSetDataType *p) { + memset(p, 0, sizeof(UA_StandaloneSubscribedDataSetDataType)); +} + +static UA_INLINE UA_StandaloneSubscribedDataSetDataType * +UA_StandaloneSubscribedDataSetDataType_new(void) { + return (UA_StandaloneSubscribedDataSetDataType*)UA_new(&UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_StandaloneSubscribedDataSetDataType_copy(const UA_StandaloneSubscribedDataSetDataType *src, UA_StandaloneSubscribedDataSetDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_StandaloneSubscribedDataSetDataType_deleteMembers(UA_StandaloneSubscribedDataSetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); +} + +static UA_INLINE void +UA_StandaloneSubscribedDataSetDataType_clear(UA_StandaloneSubscribedDataSetDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); +} + +static UA_INLINE void +UA_StandaloneSubscribedDataSetDataType_delete(UA_StandaloneSubscribedDataSetDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); +}static UA_INLINE UA_Boolean +UA_StandaloneSubscribedDataSetDataType_equal(const UA_StandaloneSubscribedDataSetDataType *p1, const UA_StandaloneSubscribedDataSetDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]) == UA_ORDER_EQ); +} + + + +/* DataTypeSchemaHeader */ +static UA_INLINE void +UA_DataTypeSchemaHeader_init(UA_DataTypeSchemaHeader *p) { + memset(p, 0, sizeof(UA_DataTypeSchemaHeader)); +} + +static UA_INLINE UA_DataTypeSchemaHeader * +UA_DataTypeSchemaHeader_new(void) { + return (UA_DataTypeSchemaHeader*)UA_new(&UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); +} + +static UA_INLINE UA_StatusCode +UA_DataTypeSchemaHeader_copy(const UA_DataTypeSchemaHeader *src, UA_DataTypeSchemaHeader *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_DataTypeSchemaHeader_deleteMembers(UA_DataTypeSchemaHeader *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); +} + +static UA_INLINE void +UA_DataTypeSchemaHeader_clear(UA_DataTypeSchemaHeader *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); +} + +static UA_INLINE void +UA_DataTypeSchemaHeader_delete(UA_DataTypeSchemaHeader *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); +}static UA_INLINE UA_Boolean +UA_DataTypeSchemaHeader_equal(const UA_DataTypeSchemaHeader *p1, const UA_DataTypeSchemaHeader *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]) == UA_ORDER_EQ); +} + + + +/* ReaderGroupDataType */ +static UA_INLINE void +UA_ReaderGroupDataType_init(UA_ReaderGroupDataType *p) { + memset(p, 0, sizeof(UA_ReaderGroupDataType)); +} + +static UA_INLINE UA_ReaderGroupDataType * +UA_ReaderGroupDataType_new(void) { + return (UA_ReaderGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ReaderGroupDataType_copy(const UA_ReaderGroupDataType *src, UA_ReaderGroupDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ReaderGroupDataType_deleteMembers(UA_ReaderGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); +} + +static UA_INLINE void +UA_ReaderGroupDataType_clear(UA_ReaderGroupDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); +} + +static UA_INLINE void +UA_ReaderGroupDataType_delete(UA_ReaderGroupDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); +}static UA_INLINE UA_Boolean +UA_ReaderGroupDataType_equal(const UA_ReaderGroupDataType *p1, const UA_ReaderGroupDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubConnectionDataType */ +static UA_INLINE void +UA_PubSubConnectionDataType_init(UA_PubSubConnectionDataType *p) { + memset(p, 0, sizeof(UA_PubSubConnectionDataType)); +} + +static UA_INLINE UA_PubSubConnectionDataType * +UA_PubSubConnectionDataType_new(void) { + return (UA_PubSubConnectionDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubConnectionDataType_copy(const UA_PubSubConnectionDataType *src, UA_PubSubConnectionDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubConnectionDataType_deleteMembers(UA_PubSubConnectionDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConnectionDataType_clear(UA_PubSubConnectionDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConnectionDataType_delete(UA_PubSubConnectionDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubConnectionDataType_equal(const UA_PubSubConnectionDataType *p1, const UA_PubSubConnectionDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubConfigurationDataType */ +static UA_INLINE void +UA_PubSubConfigurationDataType_init(UA_PubSubConfigurationDataType *p) { + memset(p, 0, sizeof(UA_PubSubConfigurationDataType)); +} + +static UA_INLINE UA_PubSubConfigurationDataType * +UA_PubSubConfigurationDataType_new(void) { + return (UA_PubSubConfigurationDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubConfigurationDataType_copy(const UA_PubSubConfigurationDataType *src, UA_PubSubConfigurationDataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubConfigurationDataType_deleteMembers(UA_PubSubConfigurationDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfigurationDataType_clear(UA_PubSubConfigurationDataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfigurationDataType_delete(UA_PubSubConfigurationDataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubConfigurationDataType_equal(const UA_PubSubConfigurationDataType *p1, const UA_PubSubConfigurationDataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]) == UA_ORDER_EQ); +} + + + +/* PubSubConfiguration2DataType */ +static UA_INLINE void +UA_PubSubConfiguration2DataType_init(UA_PubSubConfiguration2DataType *p) { + memset(p, 0, sizeof(UA_PubSubConfiguration2DataType)); +} + +static UA_INLINE UA_PubSubConfiguration2DataType * +UA_PubSubConfiguration2DataType_new(void) { + return (UA_PubSubConfiguration2DataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); +} + +static UA_INLINE UA_StatusCode +UA_PubSubConfiguration2DataType_copy(const UA_PubSubConfiguration2DataType *src, UA_PubSubConfiguration2DataType *dst) { + return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_PubSubConfiguration2DataType_deleteMembers(UA_PubSubConfiguration2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfiguration2DataType_clear(UA_PubSubConfiguration2DataType *p) { + UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); +} + +static UA_INLINE void +UA_PubSubConfiguration2DataType_delete(UA_PubSubConfiguration2DataType *p) { + UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); +}static UA_INLINE UA_Boolean +UA_PubSubConfiguration2DataType_equal(const UA_PubSubConfiguration2DataType *p1, const UA_PubSubConfiguration2DataType *p2) { + return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]) == UA_ORDER_EQ); +} + + + +#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 +# pragma GCC diagnostic pop +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/util.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Stefan Profanter, fortiss GmbH + */ + + + +_UA_BEGIN_DECLS + +/** + * Range Definition + * ---------------- */ + +typedef struct { + UA_UInt32 min; + UA_UInt32 max; +} UA_UInt32Range; + +typedef struct { + UA_Duration min; + UA_Duration max; +} UA_DurationRange; + +/** + * Random Number Generator + * ----------------------- + * If UA_MULTITHREADING is defined, then the seed is stored in thread + * local storage. The seed is initialized for every thread in the + * server/client. */ + +void UA_EXPORT +UA_random_seed(UA_UInt64 seed); + +UA_UInt32 UA_EXPORT +UA_UInt32_random(void); /* no cryptographic entropy */ + +UA_Guid UA_EXPORT +UA_Guid_random(void); /* no cryptographic entropy */ + +/** + * Key Value Map + * ------------- + * Helper functions to work with configuration parameters in an array of + * UA_KeyValuePair. Lookup is linear. So this is for small numbers of keys. The + * methods below that accept a `const UA_KeyValueMap` as an argument also accept + * NULL for that argument and treat it as an empty map. */ + +typedef struct { + size_t mapSize; + UA_KeyValuePair *map; +} UA_KeyValueMap; + +UA_EXPORT extern const UA_KeyValueMap UA_KEYVALUEMAP_NULL; + +UA_EXPORT UA_KeyValueMap * +UA_KeyValueMap_new(void); + +UA_EXPORT void +UA_KeyValueMap_clear(UA_KeyValueMap *map); + +UA_EXPORT void +UA_KeyValueMap_delete(UA_KeyValueMap *map); + +/* Is the map empty (or NULL)? */ +UA_EXPORT UA_Boolean +UA_KeyValueMap_isEmpty(const UA_KeyValueMap *map); + +/* Does the map contain an entry for the key? */ +UA_EXPORT UA_Boolean +UA_KeyValueMap_contains(const UA_KeyValueMap *map, const UA_QualifiedName key); + +/* Insert a copy of the value. Can reallocate the underlying array. This + * invalidates pointers into the previous array. If the key exists already, the + * value is overwritten (upsert semantics). */ +UA_EXPORT UA_StatusCode +UA_KeyValueMap_set(UA_KeyValueMap *map, + const UA_QualifiedName key, + const UA_Variant *value); + +/* Helper function for scalar insertion that internally calls + * `UA_KeyValueMap_set` */ +UA_EXPORT UA_StatusCode +UA_KeyValueMap_setScalar(UA_KeyValueMap *map, + const UA_QualifiedName key, + void * UA_RESTRICT p, + const UA_DataType *type); + +/* Returns a pointer to the value or NULL if the key is not found */ +UA_EXPORT const UA_Variant * +UA_KeyValueMap_get(const UA_KeyValueMap *map, + const UA_QualifiedName key); + +/* Returns NULL if the value for the key is not defined, not of the right + * datatype or not a scalar */ +UA_EXPORT const void * +UA_KeyValueMap_getScalar(const UA_KeyValueMap *map, + const UA_QualifiedName key, + const UA_DataType *type); + +/* Remove a single entry. To delete the entire map, use `UA_KeyValueMap_clear`. */ +UA_EXPORT UA_StatusCode +UA_KeyValueMap_remove(UA_KeyValueMap *map, + const UA_QualifiedName key); + +/* Create a deep copy of the given KeyValueMap */ +UA_EXPORT UA_StatusCode +UA_KeyValueMap_copy(const UA_KeyValueMap *src, UA_KeyValueMap *dst); + +/* Copy entries from the right-hand-side into the left-hand-size. Reallocates + * previous memory in the left-hand-side. If the operation fails, both maps are + * left untouched. */ +UA_EXPORT UA_StatusCode +UA_KeyValueMap_merge(UA_KeyValueMap *lhs, const UA_KeyValueMap *rhs); + +/** + * Binary Connection Config Parameters + * ----------------------------------- */ + +typedef struct { + UA_UInt32 protocolVersion; + UA_UInt32 recvBufferSize; + UA_UInt32 sendBufferSize; + UA_UInt32 localMaxMessageSize; /* (0 = unbounded) */ + UA_UInt32 remoteMaxMessageSize; /* (0 = unbounded) */ + UA_UInt32 localMaxChunkCount; /* (0 = unbounded) */ + UA_UInt32 remoteMaxChunkCount; /* (0 = unbounded) */ +} UA_ConnectionConfig; + +/** + * .. _default-node-attributes: + * + * Default Node Attributes + * ----------------------- + * Default node attributes to simplify the use of the AddNodes services. For + * example, Setting the ValueRank and AccessLevel to zero is often an unintended + * setting and leads to errors that are hard to track down. */ + +/* The default for variables is "BaseDataType" for the datatype, -2 for the + * valuerank and a read-accesslevel. */ +UA_EXPORT extern const UA_VariableAttributes UA_VariableAttributes_default; +UA_EXPORT extern const UA_VariableTypeAttributes UA_VariableTypeAttributes_default; + +/* Methods are executable by default */ +UA_EXPORT extern const UA_MethodAttributes UA_MethodAttributes_default; + +/* The remaining attribute definitions are currently all zeroed out */ +UA_EXPORT extern const UA_ObjectAttributes UA_ObjectAttributes_default; +UA_EXPORT extern const UA_ObjectTypeAttributes UA_ObjectTypeAttributes_default; +UA_EXPORT extern const UA_ReferenceTypeAttributes UA_ReferenceTypeAttributes_default; +UA_EXPORT extern const UA_DataTypeAttributes UA_DataTypeAttributes_default; +UA_EXPORT extern const UA_ViewAttributes UA_ViewAttributes_default; + +/** + * Endpoint URL Parser + * ------------------- + * The endpoint URL parser is generally useful for the implementation of network + * layer plugins. */ + +/* Split the given endpoint url into hostname, port and path. All arguments must + * be non-NULL. EndpointUrls have the form "opc.tcp://hostname:port/path", port + * and path may be omitted (together with the prefix colon and slash). + * + * @param endpointUrl The endpoint URL. + * @param outHostname Set to the parsed hostname. The string points into the + * original endpointUrl, so no memory is allocated. If an IPv6 address is + * given, hostname contains e.g. '[2001:0db8:85a3::8a2e:0370:7334]' + * @param outPort Set to the port of the url or left unchanged. + * @param outPath Set to the path if one is present in the endpointUrl. Can be + * NULL. Then not path is returned. Starting or trailing '/' are NOT + * included in the path. The string points into the original endpointUrl, + * so no memory is allocated. + * @return Returns UA_STATUSCODE_BADTCPENDPOINTURLINVALID if parsing failed. */ +UA_StatusCode UA_EXPORT +UA_parseEndpointUrl(const UA_String *endpointUrl, UA_String *outHostname, + UA_UInt16 *outPort, UA_String *outPath); + +/* Split the given endpoint url into hostname, vid and pcp. All arguments must + * be non-NULL. EndpointUrls have the form "opc.eth://[:[.PCP]]". + * The host is a MAC address, an IP address or a registered name like a + * hostname. The format of a MAC address is six groups of hexadecimal digits, + * separated by hyphens (e.g. 01-23-45-67-89-ab). A system may also accept + * hostnames and/or IP addresses if it provides means to resolve it to a MAC + * address (e.g. DNS and Reverse-ARP). + * + * Note: currently only parsing MAC address is supported. + * + * @param endpointUrl The endpoint URL. + * @param vid Set to VLAN ID. + * @param pcp Set to Priority Code Point. + * @return Returns UA_STATUSCODE_BADINTERNALERROR if parsing failed. */ +UA_StatusCode UA_EXPORT +UA_parseEndpointUrlEthernet(const UA_String *endpointUrl, UA_String *target, + UA_UInt16 *vid, UA_Byte *pcp); + +/* Convert given byte string to a positive number. Returns the number of valid + * digits. Stops if a non-digit char is found and returns the number of digits + * up to that point. */ +size_t UA_EXPORT +UA_readNumber(const UA_Byte *buf, size_t buflen, UA_UInt32 *number); + +/* Same as UA_ReadNumber but with a base parameter */ +size_t UA_EXPORT +UA_readNumberWithBase(const UA_Byte *buf, size_t buflen, + UA_UInt32 *number, UA_Byte base); + +#ifndef UA_MIN +#define UA_MIN(A, B) ((A) > (B) ? (B) : (A)) +#endif + +#ifndef UA_MAX +#define UA_MAX(A, B) ((A) > (B) ? (A) : (B)) +#endif + +/** + * Parse RelativePath Expressions + * ------------------------------ + * + * Parse a RelativePath according to the format defined in Part 4, A2. This is + * used e.g. for the BrowsePath structure. For now, only the standard + * ReferenceTypes from Namespace 0 are recognized (see Part 3). + * + * ``RelativePath := ( ReferenceType [BrowseName]? )*`` + * + * The ReferenceTypes have either of the following formats: + * + * - ``/``: *HierarchicalReferences* and subtypes + * - ``.``: *Aggregates* ReferenceTypesand subtypes + * - ``< [!#]* BrowseName >``: The ReferenceType is indicated by its BrowseName + * (a QualifiedName). Prefixed modifiers can be as follows: ``!`` switches to + * inverse References. ``#`` excludes subtypes of the ReferenceType. + * + * QualifiedNames consist of an optional NamespaceIndex and the nameitself: + * + * ``QualifiedName := ([0-9]+ ":")? Name`` + * + * The QualifiedName representation for RelativePaths uses ``&`` as the escape + * character. Occurences of the characters ``/.<>:#!&`` in a QualifiedName have + * to be escaped (prefixed with ``&``). + * + * Example RelativePaths + * ````````````````````` + * + * - ``/2:Block&.Output`` + * - ``/3:Truck.0:NodeVersion`` + * - ``<0:HasProperty>1:Boiler/1:HeatSensor`` + * - ``<0:HasChild>2:Wheel`` + * - ``<#Aggregates>1:Boiler/`` + * - ``Truck`` + * - ```` + */ +#ifdef UA_ENABLE_PARSING +UA_EXPORT UA_StatusCode +UA_RelativePath_parse(UA_RelativePath *rp, const UA_String str); +#endif + +/** + * Convenience macros for complex types + * ------------------------------------ */ +#define UA_PRINTF_GUID_FORMAT "%08" PRIx32 "-%04" PRIx16 "-%04" PRIx16 \ + "-%02" PRIx8 "%02" PRIx8 "-%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 +#define UA_PRINTF_GUID_DATA(GUID) (GUID).data1, (GUID).data2, (GUID).data3, \ + (GUID).data4[0], (GUID).data4[1], (GUID).data4[2], (GUID).data4[3], \ + (GUID).data4[4], (GUID).data4[5], (GUID).data4[6], (GUID).data4[7] + +#define UA_PRINTF_STRING_FORMAT "\"%.*s\"" +#define UA_PRINTF_STRING_DATA(STRING) (int)(STRING).length, (STRING).data + +/** + * Cryptography Helpers + * -------------------- */ + +/* Compare memory in constant time to mitigate timing attacks. + * Returns true if ptr1 and ptr2 are equal for length bytes. */ +UA_EXPORT UA_Boolean +UA_constantTimeEqual(const void *ptr1, const void *ptr2, size_t length); + +/* Zero-out memory in a way that is not removed by compiler-optimizations. Use + * this to ensure cryptographic secrets don't leave traces after the memory was + * freed. */ +UA_EXPORT void +UA_ByteString_memZero(UA_ByteString *bs); + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/log.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +#include + +_UA_BEGIN_DECLS + +/** + * .. _logging: + * + * Logging Plugin API + * ================== + * + * Servers and clients define a logger in their configuration. The logger is a + * plugin. A default plugin that logs to ``stdout`` is provided as an example. + * The logger plugin is stateful and can point to custom data. So it is possible + * to keep open file handlers in the logger context. + * + * Every log message consists of a log level, a log category and a string + * message content. The timestamp of the log message is created within the + * logger. */ + +typedef enum { + UA_LOGLEVEL_TRACE = 100, + UA_LOGLEVEL_DEBUG = 200, + UA_LOGLEVEL_INFO = 300, + UA_LOGLEVEL_WARNING = 400, + UA_LOGLEVEL_ERROR = 500, + UA_LOGLEVEL_FATAL = 600 +} UA_LogLevel; + +#define UA_LOGCATEGORIES 10 + +typedef enum { + UA_LOGCATEGORY_NETWORK = 0, + UA_LOGCATEGORY_SECURECHANNEL, + UA_LOGCATEGORY_SESSION, + UA_LOGCATEGORY_SERVER, + UA_LOGCATEGORY_CLIENT, + UA_LOGCATEGORY_USERLAND, + UA_LOGCATEGORY_SECURITYPOLICY, + UA_LOGCATEGORY_EVENTLOOP, + UA_LOGCATEGORY_PUBSUB, + UA_LOGCATEGORY_DISCOVERY +} UA_LogCategory; + +typedef struct UA_Logger { + /* Log a message. The message string and following varargs are formatted + * according to the rules of the printf command. Use the convenience macros + * below that take the minimum log level defined in ua_config.h into + * account. */ + void (*log)(void *logContext, UA_LogLevel level, UA_LogCategory category, + const char *msg, va_list args); + + void *context; /* Logger state */ + + void (*clear)(struct UA_Logger *logger); /* Clean up the logger plugin */ +} UA_Logger; + +static UA_INLINE UA_FORMAT(3,4) void +UA_LOG_TRACE(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { +#if UA_LOGLEVEL <= 100 + if(!logger || !logger->log) + return; + va_list args; va_start(args, msg); + logger->log(logger->context, UA_LOGLEVEL_TRACE, category, msg, args); + va_end(args); +#else + (void) logger; + (void) category; + (void) msg; +#endif +} + +static UA_INLINE UA_FORMAT(3,4) void +UA_LOG_DEBUG(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { +#if UA_LOGLEVEL <= 200 + if(!logger || !logger->log) + return; + va_list args; va_start(args, msg); + logger->log(logger->context, UA_LOGLEVEL_DEBUG, category, msg, args); + va_end(args); +#else + (void) logger; + (void) category; + (void) msg; +#endif +} + +static UA_INLINE UA_FORMAT(3,4) void +UA_LOG_INFO(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { +#if UA_LOGLEVEL <= 300 + if(!logger || !logger->log) + return; + va_list args; va_start(args, msg); + logger->log(logger->context, UA_LOGLEVEL_INFO, category, msg, args); + va_end(args); +#else + (void) logger; + (void) category; + (void) msg; +#endif +} + +static UA_INLINE UA_FORMAT(3,4) void +UA_LOG_WARNING(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { +#if UA_LOGLEVEL <= 400 + if(!logger || !logger->log) + return; + va_list args; va_start(args, msg); + logger->log(logger->context, UA_LOGLEVEL_WARNING, category, msg, args); + va_end(args); +#else + (void) logger; + (void) category; + (void) msg; +#endif +} + +static UA_INLINE UA_FORMAT(3,4) void +UA_LOG_ERROR(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { +#if UA_LOGLEVEL <= 500 + if(!logger || !logger->log) + return; + va_list args; va_start(args, msg); + logger->log(logger->context, UA_LOGLEVEL_ERROR, category, msg, args); + va_end(args); +#else + (void) logger; + (void) category; + (void) msg; +#endif +} + +static UA_INLINE UA_FORMAT(3,4) void +UA_LOG_FATAL(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { +#if UA_LOGLEVEL <= 600 + if(!logger || !logger->log) + return; + va_list args; va_start(args, msg); + logger->log(logger->context, UA_LOGLEVEL_FATAL, category, msg, args); + va_end(args); +#else + (void) logger; + (void) category; + (void) msg; +#endif +} + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/accesscontrol.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +_UA_BEGIN_DECLS + +struct UA_AccessControl; +typedef struct UA_AccessControl UA_AccessControl; + +/** + * .. _access-control: + * + * Access Control Plugin API + * ========================= + * The access control callback is used to authenticate sessions and grant access + * rights accordingly. + * + * The ``sessionId`` and ``sessionContext`` can be both NULL. This is the case + * when, for example, a MonitoredItem (the underlying Subscription) is detached + * from its Session but continues to run. */ + +struct UA_AccessControl { + void *context; + void (*clear)(UA_AccessControl *ac); + + /* Supported login mechanisms. The server endpoints are created from here. */ + size_t userTokenPoliciesSize; + UA_UserTokenPolicy *userTokenPolicies; + + /* Authenticate a session. The session context is attached to the session + * and later passed into the node-based access control callbacks. The new + * session is rejected if a StatusCode other than UA_STATUSCODE_GOOD is + * returned. + * + * Note that this callback can be called several times for a Session. For + * example when a Session is recovered (activated) on a new + * SecureChannel. */ + UA_StatusCode (*activateSession)(UA_Server *server, UA_AccessControl *ac, + const UA_EndpointDescription *endpointDescription, + const UA_ByteString *secureChannelRemoteCertificate, + const UA_NodeId *sessionId, + const UA_ExtensionObject *userIdentityToken, + void **sessionContext); + + /* Deauthenticate a session and cleanup */ + void (*closeSession)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext); + + /* Access control for all nodes*/ + UA_UInt32 (*getUserRightsMask)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext); + + /* Additional access control for variable nodes */ + UA_Byte (*getUserAccessLevel)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext); + + /* Additional access control for method nodes */ + UA_Boolean (*getUserExecutable)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *methodId, void *methodContext); + + /* Additional access control for calling a method node in the context of a + * specific object */ + UA_Boolean (*getUserExecutableOnObject)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext); + + /* Allow adding a node */ + UA_Boolean (*allowAddNode)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_AddNodesItem *item); + + /* Allow adding a reference */ + UA_Boolean (*allowAddReference)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_AddReferencesItem *item); + + /* Allow deleting a node */ + UA_Boolean (*allowDeleteNode)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_DeleteNodesItem *item); + + /* Allow deleting a reference */ + UA_Boolean (*allowDeleteReference)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_DeleteReferencesItem *item); + + /* Allow browsing a node */ + UA_Boolean (*allowBrowseNode)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* Allow transfer of a subscription to another session. The Server shall + * validate that the Client of that Session is operating on behalf of the + * same user */ + UA_Boolean (*allowTransferSubscription)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *oldSessionId, void *oldSessionContext, + const UA_NodeId *newSessionId, void *newSessionContext); +#endif + +#ifdef UA_ENABLE_HISTORIZING + /* Allow insert,replace,update of historical data */ + UA_Boolean (*allowHistoryUpdateUpdateData)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, + UA_PerformUpdateType performInsertReplace, + const UA_DataValue *value); + + /* Allow delete of historical data */ + UA_Boolean (*allowHistoryUpdateDeleteRawModified)(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, + UA_DateTime startTimestamp, + UA_DateTime endTimestamp, + bool isDeleteModified); +#endif +}; + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/pki.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + */ + + + +_UA_BEGIN_DECLS + +/** + * Public Key Infrastructure Integration + * ===================================== + * This file contains interface definitions for integration in a Public Key + * Infrastructure (PKI). Currently only one plugin interface is defined. + * + * Certificate Verification + * ------------------------ + * This plugin verifies that the origin of the certificate is trusted. It does + * not assign any access rights/roles to the holder of the certificate. + * + * Usually, implementations of the certificate verification plugin provide an + * initialization method that takes a trust-list and a revocation-list as input. + * The lifecycle of the plugin is attached to a server or client config. The + * ``clear`` method is called automatically when the config is destroyed. */ + +struct UA_CertificateVerification; +typedef struct UA_CertificateVerification UA_CertificateVerification; + +struct UA_CertificateVerification { + void *context; + + /* Verify the certificate against the configured policies and trust chain. */ + UA_StatusCode (*verifyCertificate)(const UA_CertificateVerification *cv, + const UA_ByteString *certificate); + + /* Verify that the certificate has the applicationURI in the subject name. */ + UA_StatusCode (*verifyApplicationURI)(const UA_CertificateVerification *cv, + const UA_ByteString *certificate, + const UA_String *applicationURI); + + /* Get the expire date from certificate */ + UA_StatusCode (*getExpirationDate)(UA_DateTime *expiryDateTime, + UA_ByteString *certificate); + + UA_StatusCode (*getSubjectName)(UA_String *subjectName, + UA_ByteString *certificate); + + /* Delete the certificate verification context */ + void (*clear)(UA_CertificateVerification *cv); + + /* Pointer to logging pointer in the server/client configuration. If the + * logging pointer is changed outside of the plugin, the new logger is used + * automatically*/ + const UA_Logger *logging; +}; + +/* Decrypt a private key in PEM format using a password. The output is the key + * in the binary DER format. Also succeeds if the PEM private key does not + * require a password or is already in the DER format. The outDerKey memory is + * allocated internally. + * + * Returns UA_STATUSCODE_BADSECURITYCHECKSFAILED if the password is wrong. */ +UA_EXPORT UA_StatusCode +UA_PKI_decryptPrivateKey(const UA_ByteString privateKey, + const UA_ByteString password, + UA_ByteString *outDerKey); + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/securitypolicy.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +_UA_BEGIN_DECLS + +extern UA_EXPORT const UA_String UA_SECURITY_POLICY_NONE_URI; + +struct UA_SecurityPolicy; +typedef struct UA_SecurityPolicy UA_SecurityPolicy; + +/** + * SecurityPolicy + * -------------- */ + +typedef struct { + UA_String uri; + + /* Verifies the signature of the message using the provided keys in the context. + * + * @param channelContext the channelContext that contains the key to verify + * the supplied message with. + * @param message the message to which the signature is supposed to belong. + * @param signature the signature of the message, that should be verified. */ + UA_StatusCode (*verify)(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Signs the given message using this policys signing algorithm and the + * provided keys in the context. + * + * @param channelContext the channelContext that contains the key to sign + * the supplied message with. + * @param message the message to sign. + * @param signature an output buffer to which the signature is written. The + * buffer needs to be allocated by the caller. The + * necessary size can be acquired with the signatureSize + * attribute of this module. */ + UA_StatusCode (*sign)(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Gets the signature size that depends on the local (private) key. + * + * @param channelContext the channelContext that contains the + * certificate/key. + * @return the size of the local signature. Returns 0 if no local + * certificate was set. */ + size_t (*getLocalSignatureSize)(const void *channelContext); + + /* Gets the signature size that depends on the remote (public) key. + * + * @param channelContext the context to retrieve data from. + * @return the size of the remote signature. Returns 0 if no + * remote certificate was set previousely. */ + size_t (*getRemoteSignatureSize)(const void *channelContext); + + /* Gets the local signing key length. + * + * @param channelContext the context to retrieve data from. + * @return the length of the signing key in bytes. Returns 0 if no length can be found. + */ + size_t (*getLocalKeyLength)(const void *channelContext); + + /* Gets the local signing key length. + * + * @param channelContext the context to retrieve data from. + * @return the length of the signing key in bytes. Returns 0 if no length can be found. + */ + size_t (*getRemoteKeyLength)(const void *channelContext); +} UA_SecurityPolicySignatureAlgorithm; + +typedef struct { + UA_String uri; + + /* Encrypt the given data in place. For asymmetric encryption, the block + * size for plaintext and cypher depend on the remote key (certificate). + * + * @param channelContext the channelContext which contains information about + * the keys to encrypt data. + * @param data the data that is encrypted. The encrypted data will overwrite + * the data that was supplied. */ + UA_StatusCode (*encrypt)(void *channelContext, + UA_ByteString *data) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Decrypts the given ciphertext in place. For asymmetric encryption, the + * block size for plaintext and cypher depend on the local private key. + * + * @param channelContext the channelContext which contains information about + * the keys needed to decrypt the message. + * @param data the data to decrypt. The decryption is done in place. */ + UA_StatusCode (*decrypt)(void *channelContext, + UA_ByteString *data) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Returns the length of the key used to encrypt messages in bits. For + * asymmetric encryption the key length is for the local private key. + * + * @param channelContext the context to retrieve data from. + * @return the length of the local key. Returns 0 if no + * key length is known. */ + size_t (*getLocalKeyLength)(const void *channelContext); + + /* Returns the length of the key to encrypt messages in bits. Depends on the + * key (certificate) from the remote side. + * + * @param channelContext the context to retrieve data from. + * @return the length of the remote key. Returns 0 if no + * key length is known. */ + size_t (*getRemoteKeyLength)(const void *channelContext); + + /* Returns the size of encrypted blocks for sending. For asymmetric + * encryption this depends on the remote key (certificate). For symmetric + * encryption the local and remote encrypted block size are identical. + * + * @param channelContext the context to retrieve data from. + * @return the size of encrypted blocks in bytes. Returns 0 if no key length is known. + */ + size_t (*getRemoteBlockSize)(const void *channelContext); + + /* Returns the size of plaintext blocks for sending. For asymmetric + * encryption this depends on the remote key (certificate). For symmetric + * encryption the local and remote plaintext block size are identical. + * + * @param channelContext the context to retrieve data from. + * @return the size of plaintext blocks in bytes. Returns 0 if no key length is known. + */ + size_t (*getRemotePlainTextBlockSize)(const void *channelContext); +} UA_SecurityPolicyEncryptionAlgorithm; + +typedef struct { + /* The algorithm used to sign and verify certificates. */ + UA_SecurityPolicySignatureAlgorithm signatureAlgorithm; + + /* The algorithm used to encrypt and decrypt messages. */ + UA_SecurityPolicyEncryptionAlgorithm encryptionAlgorithm; + +} UA_SecurityPolicyCryptoModule; + +typedef struct { + /* Generates a thumbprint for the specified certificate. + * + * @param certificate the certificate to make a thumbprint of. + * @param thumbprint an output buffer for the resulting thumbprint. Always + * has the length specified in the thumbprintLength in the + * asymmetricModule. */ + UA_StatusCode (*makeCertificateThumbprint)(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Compares the supplied certificate with the certificate in the endpoint context. + * + * @param securityPolicy the policy data that contains the certificate + * to compare to. + * @param certificateThumbprint the certificate thumbprint to compare to the + * one stored in the context. + * @return if the thumbprints match UA_STATUSCODE_GOOD is returned. If they + * don't match or an error occurred an error code is returned. */ + UA_StatusCode (*compareCertificateThumbprint)(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + UA_SecurityPolicyCryptoModule cryptoModule; +} UA_SecurityPolicyAsymmetricModule; + +typedef struct { + /* Pseudo random function that is used to generate the symmetric keys. + * + * For information on what parameters this function receives in what situation, + * refer to the OPC UA specification 1.03 Part6 Table 33 + * + * @param policyContext The context of the policy instance + * @param secret + * @param seed + * @param out an output to write the data to. The length defines the maximum + * number of output bytes that are produced. */ + UA_StatusCode (*generateKey)(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Random generator for generating nonces. + * + * @param policyContext The context of the policy instance + * @param out pointer to a buffer to store the nonce in. Needs to be + * allocated by the caller. The buffer is filled with random + * data. */ + UA_StatusCode (*generateNonce)(void *policyContext, UA_ByteString *out) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* + * The length of the nonce used in the SecureChannel as specified in the standard. + */ + size_t secureChannelNonceLength; + + UA_SecurityPolicyCryptoModule cryptoModule; +} UA_SecurityPolicySymmetricModule; + +typedef struct { + /* This method creates a new context data object. + * + * The caller needs to call delete on the received object to free allocated + * memory. Memory is only allocated if the function succeeds so there is no + * need to manually free the memory pointed to by *channelContext or to + * call delete in case of failure. + * + * @param securityPolicy the policy context of the endpoint that is connected + * to. It will be stored in the channelContext for + * further access by the policy. + * @param remoteCertificate the remote certificate contains the remote + * asymmetric key. The certificate will be verified + * and then stored in the context so that its + * details may be accessed. + * @param channelContext the initialized channelContext that is passed to + * functions that work on a context. */ + UA_StatusCode (*newContext)(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **channelContext) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Deletes the the security context. */ + void (*deleteContext)(void *channelContext); + + /* Sets the local encrypting key in the supplied context. + * + * @param channelContext the context to work on. + * @param key the local encrypting key to store in the context. */ + UA_StatusCode (*setLocalSymEncryptingKey)(void *channelContext, + const UA_ByteString *key) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Sets the local signing key in the supplied context. + * + * @param channelContext the context to work on. + * @param key the local signing key to store in the context. */ + UA_StatusCode (*setLocalSymSigningKey)(void *channelContext, + const UA_ByteString *key) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Sets the local initialization vector in the supplied context. + * + * @param channelContext the context to work on. + * @param iv the local initialization vector to store in the context. */ + UA_StatusCode (*setLocalSymIv)(void *channelContext, + const UA_ByteString *iv) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Sets the remote encrypting key in the supplied context. + * + * @param channelContext the context to work on. + * @param key the remote encrypting key to store in the context. */ + UA_StatusCode (*setRemoteSymEncryptingKey)(void *channelContext, + const UA_ByteString *key) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Sets the remote signing key in the supplied context. + * + * @param channelContext the context to work on. + * @param key the remote signing key to store in the context. */ + UA_StatusCode (*setRemoteSymSigningKey)(void *channelContext, + const UA_ByteString *key) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Sets the remote initialization vector in the supplied context. + * + * @param channelContext the context to work on. + * @param iv the remote initialization vector to store in the context. */ + UA_StatusCode (*setRemoteSymIv)(void *channelContext, + const UA_ByteString *iv) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* Compares the supplied certificate with the certificate in the channel + * context. + * + * @param channelContext the channel context data that contains the + * certificate to compare to. + * @param certificate the certificate to compare to the one stored in the context. + * @return if the certificates match UA_STATUSCODE_GOOD is returned. If they + * don't match or an errror occurred an error code is returned. */ + UA_StatusCode (*compareCertificate)(const void *channelContext, + const UA_ByteString *certificate) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; +} UA_SecurityPolicyChannelModule; + +struct UA_SecurityPolicy { + /* Additional data */ + void *policyContext; + + /* The policy uri that identifies the implemented algorithms */ + UA_String policyUri; + + /* The local certificate is specific for each SecurityPolicy since it + * depends on the used key length. */ + UA_ByteString localCertificate; + + /* Function pointers grouped into modules */ + UA_SecurityPolicyAsymmetricModule asymmetricModule; + UA_SecurityPolicySymmetricModule symmetricModule; + UA_SecurityPolicySignatureAlgorithm certificateSigningAlgorithm; + UA_SecurityPolicyChannelModule channelModule; + + const UA_Logger *logger; + + /* Updates the ApplicationInstanceCertificate and the corresponding private + * key at runtime. */ + UA_StatusCode (*updateCertificateAndPrivateKey)(UA_SecurityPolicy *policy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey); + + /* Deletes the dynamic content of the policy */ + void (*clear)(UA_SecurityPolicy *policy); +}; + +/** + * PubSub SecurityPolicy + * --------------------- + * + * For PubSub encryption, the message nonce is part of the (unencrypted) + * SecurityHeader. The nonce is required for the de- and encryption and has to + * be set in the channel context before de/encrypting. */ + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +struct UA_PubSubSecurityPolicy; +typedef struct UA_PubSubSecurityPolicy UA_PubSubSecurityPolicy; + +struct UA_PubSubSecurityPolicy { + UA_String policyUri; /* The policy uri that identifies the implemented + * algorithms */ + UA_SecurityPolicySymmetricModule symmetricModule; + + /* Create the context for the WriterGroup. The keys and nonce can be NULL + * here. Then they have to be set before the first encryption or signing + * operation. */ + UA_StatusCode + (*newContext)(void *policyContext, + const UA_ByteString *signingKey, + const UA_ByteString *encryptingKey, + const UA_ByteString *keyNonce, + void **wgContext); + + /* Delete the WriterGroup SecurityPolicy context */ + void (*deleteContext)(void *wgContext); + + /* Set the keys and nonce for the WriterGroup. This is returned from the + * GetSecurityKeys method of a Security Key Service (SKS). Otherwise, set + * manually via out-of-band transmission of the keys. */ + UA_StatusCode + (*setSecurityKeys)(void *wgContext, + const UA_ByteString *signingKey, + const UA_ByteString *encryptingKey, + const UA_ByteString *keyNonce) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + /* The nonce is contained in the NetworkMessage SecurityHeader. Set before + * each en-/decryption step. */ + UA_StatusCode + (*setMessageNonce)(void *wgContext, + const UA_ByteString *nonce) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + + const UA_Logger *logger; + + /* Deletes the dynamic content of the policy */ + void (*clear)(UA_PubSubSecurityPolicy *policy); + void *policyContext; +}; + +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/eventloop.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + + +_UA_BEGIN_DECLS + +struct UA_EventLoop; +typedef struct UA_EventLoop UA_EventLoop; + +struct UA_EventSource; +typedef struct UA_EventSource UA_EventSource; + +struct UA_ConnectionManager; +typedef struct UA_ConnectionManager UA_ConnectionManager; + +struct UA_InterruptManager; +typedef struct UA_InterruptManager UA_InterruptManager; + +/** + * Event Loop Subsystem + * ==================== + * An OPC UA-enabled application can have several clients and servers. And + * server can serve different transport-level protocols for OPC UA. The + * EventLoop is a central module that provides a unified control-flow for all of + * these. Hence, several applications can share an EventLoop. + * + * The EventLoop and the ConnectionManager implementation is + * architecture-specific. The goal is to have a single call to "poll" (epoll, + * kqueue, ...) in the EventLoop that covers all ConnectionManagers. Hence the + * EventLoop plugin implementation must know implementation details of the + * ConnectionManager implementations. So the EventLoop can extract socket + * information, etc. from the ConnectionManagers. + * + * Timer Policies + * -------------- + * A timer comes with a cyclic interval in which a callback is executed. If an + * application is congested the interval can be missed. Two different policies + * can be used when this happens. Either schedule the next execution after the + * interval has elapsed again from the current time onwards or stay within the + * regular interval with respect to the original basetime. */ + +typedef enum { + UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, + UA_TIMER_HANDLE_CYCLEMISS_WITH_BASETIME +} UA_TimerPolicy; + +/** + * Event Loop + * ---------- + * The EventLoop implementation is part of the selected architecture. For + * example, "Win32/POSIX" stands for a Windows environment with an EventLoop + * that uses the POSIX API. Several EventLoops can be instantiated in parallel. + * But the globally defined functions are the same everywhere. */ + +typedef void (*UA_Callback)(void *application, void *context); + +/* Delayed callbacks are executed not when they are registered, but in the + * following EventLoop cycle */ +typedef struct UA_DelayedCallback { + struct UA_DelayedCallback *next; /* Singly-linked list */ + UA_Callback callback; + void *application; + void *context; +} UA_DelayedCallback; + +typedef enum { + UA_EVENTLOOPSTATE_FRESH = 0, + UA_EVENTLOOPSTATE_STOPPED, + UA_EVENTLOOPSTATE_STARTED, + UA_EVENTLOOPSTATE_STOPPING /* Stopping in progress, needs EventLoop + * cycles to finish */ +} UA_EventLoopState; + +struct UA_EventLoop { + /* Configuration + * ~~~~~~~~~~~~~~~ + * The configuration should be set before the EventLoop is started */ + + const UA_Logger *logger; + UA_KeyValueMap *params; /* See the implementation-specific documentation */ + + /* EventLoop Lifecycle + * ~~~~~~~~~~~~~~~~~~~~ + * The EventLoop state also controls the state of the configured + * EventSources. Stopping the EventLoop gracefully closes e.g. the open + * network connections. The only way to process incoming events is to call + * the 'run' method. Events are then triggering their respective callbacks + * from within that method.*/ + + const volatile UA_EventLoopState state; /* Only read the state from outside */ + + /* Start the EventLoop and start all already registered EventSources */ + UA_StatusCode (*start)(UA_EventLoop *el); + + /* Stop all EventSources. This is asynchronous and might need a few + * iterations of the main-loop to succeed. */ + void (*stop)(UA_EventLoop *el); + + /* Process events for at most "timeout" ms or until an unrecoverable error + * occurs. If timeout==0, then only already received events are + * processed. */ + UA_StatusCode (*run)(UA_EventLoop *el, UA_UInt32 timeout); + + /* Clean up the EventLoop and free allocated memory. Can fail if the + * EventLoop is not stopped. */ + UA_StatusCode (*free)(UA_EventLoop *el); + + /* EventLoop Time Domain + * ~~~~~~~~~~~~~~~~~~~~~ + * Each EventLoop instance can manage its own time domain. This affects the + * execution of timed/cyclic callbacks and time-based sending of network + * packets (if this is implemented). Managing independent time domains is + * important when different parts of a system a synchronized to different + * external (network-wide) clocks. + * + * Note that the logger configured in the EventLoop generates timestamps + * internally as well. If the logger uses a different time domain than the + * EventLoop, discrepancies may appear in the logs. + * + * The time domain of the EventLoop is exposed via the following functons. + * See `open62541/types.h` for the documentation of their equivalent + * globally defined functions. */ + + UA_DateTime (*dateTime_now)(UA_EventLoop *el); + UA_DateTime (*dateTime_nowMonotonic)(UA_EventLoop *el); + UA_Int64 (*dateTime_localTimeUtcOffset)(UA_EventLoop *el); + + /* Timed Callbacks + * ~~~~~~~~~~~~~~~ + * Cyclic callbacks are executed regularly with an interval. + * A timed callback is executed only once. */ + + /* Time of the next cyclic callback. Returns the max DateTime if no cyclic + * callback is registered. */ + UA_DateTime (*nextCyclicTime)(UA_EventLoop *el); + + /* The execution interval is in ms. Returns the callbackId if the pointer is + * non-NULL. */ + UA_StatusCode + (*addCyclicCallback)(UA_EventLoop *el, UA_Callback cb, void *application, + void *data, UA_Double interval_ms, UA_DateTime *baseTime, + UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId); + + UA_StatusCode + (*modifyCyclicCallback)(UA_EventLoop *el, UA_UInt64 callbackId, + UA_Double interval_ms, UA_DateTime *baseTime, + UA_TimerPolicy timerPolicy); + + void (*removeCyclicCallback)(UA_EventLoop *el, UA_UInt64 callbackId); + + /* Like a cyclic callback, but executed only once */ + UA_StatusCode + (*addTimedCallback)(UA_EventLoop *el, UA_Callback cb, void *application, + void *data, UA_DateTime date, UA_UInt64 *callbackId); + + /* Delayed Callbacks + * ~~~~~~~~~~~~~~~~~ + * Delayed callbacks are executed once in the next iteration of the + * EventLoop and then deregistered automatically. A typical use case is to + * delay a resource cleanup to a point where it is known that the resource + * has no remaining users. + * + * The delayed callbacks are processed in each of the cycle of the EventLoop + * between the handling of timed cyclic callbacks and polling for (network) + * events. The memory for the delayed callback is *NOT* automatically freed + * after the execution. */ + + void (*addDelayedCallback)(UA_EventLoop *el, UA_DelayedCallback *dc); + void (*removeDelayedCallback)(UA_EventLoop *el, UA_DelayedCallback *dc); + + /* EventSources + * ~~~~~~~~~~~~ + * EventSources are stored in a singly-linked list for direct access. But + * only the below methods shall be used for adding and removing - this + * impacts the lifecycle of the EventSource. For example it may be + * auto-started if the EventLoop is already running. */ + + /* Linked list of EventSources */ + UA_EventSource *eventSources; + + /* Register the ES. Immediately starts the ES if the EventLoop is already + * started. Otherwise the ES is started together with the EventLoop. */ + UA_StatusCode + (*registerEventSource)(UA_EventLoop *el, UA_EventSource *es); + + /* Stops the EventSource before deregistrering it */ + UA_StatusCode + (*deregisterEventSource)(UA_EventLoop *el, UA_EventSource *es); + + /* Locking + * ~~~~~~~ + * + * For multi-threading the EventLoop is protected by a mutex. The mutex is + * expected to be recursive (can be taken more than once from the same + * thread). A common approach to avoid deadlocks is to establish an absolute + * ordering between the locks. Where the "lower" locks needs to be taken + * before the "upper" lock. The EventLoop-mutex is exposed here to allow it + * to be taken from the outside. */ + void (*lock)(UA_EventLoop *el); + void (*unlock)(UA_EventLoop *el); +}; + +/** + * Event Source + * ------------ + * Event Sources are attached to an EventLoop. Typically the event source and + * the EventLoop are developed together and share a private API in the + * background. */ + +typedef enum { + UA_EVENTSOURCESTATE_FRESH = 0, + UA_EVENTSOURCESTATE_STOPPED, /* Registered but stopped */ + UA_EVENTSOURCESTATE_STARTING, + UA_EVENTSOURCESTATE_STARTED, + UA_EVENTSOURCESTATE_STOPPING /* Stopping in progress, needs + * EventLoop cycles to finish */ +} UA_EventSourceState; + +/* Type-tag for proper casting of the difference EventSource (e.g. when they are + * looked up via UA_EventLoop_findEventSource). */ +typedef enum { + UA_EVENTSOURCETYPE_CONNECTIONMANAGER, + UA_EVENTSOURCETYPE_INTERRUPTMANAGER +} UA_EventSourceType; + +struct UA_EventSource { + struct UA_EventSource *next; /* Singly-linked list for use by the + * application that registered the ES */ + + UA_EventSourceType eventSourceType; + + /* Configuration + * ~~~~~~~~~~~~~ */ + UA_String name; /* Unique name of the ES */ + UA_EventLoop *eventLoop; /* EventLoop where the ES is registered */ + UA_KeyValueMap params; + + /* Lifecycle + * ~~~~~~~~~ */ + UA_EventSourceState state; + UA_StatusCode (*start)(UA_EventSource *es); + void (*stop)(UA_EventSource *es); /* Asynchronous. Iterate theven EventLoop + * until the EventSource is stopped. */ + UA_StatusCode (*free)(UA_EventSource *es); +}; + +/** + * Connection Manager + * ------------------ + * Every Connection is created by a ConnectionManager. Every ConnectionManager + * belongs to just one application. A ConnectionManager can act purely as a + * passive "Factory" for Connections. But it can also be stateful. For example, + * it can keep a session to an MQTT broker open which is used by individual + * connections that are each bound to an MQTT topic. */ + +/* The ConnectionCallback is the only interface from the connection back to + * the application. + * + * - The connectionId is initially unknown to the target application and + * "announced" to the application when first used first in this callback. + * + * - The context is attached to the connection. Initially a default context + * is set. The context can be replaced within the callback (via the + * double-pointer). + * + * - The state argument indicates the lifecycle of the connection. Every + * connection calls the callback a last time with UA_CONNECTIONSTATE_CLOSING. + * Protocols individually can forward diagnostic information relevant to the + * state as part of the key-value parameters. + * + * - The parameters are a key-value list with additional information. The + * possible keys and their meaning are documented for the individual + * ConnectionManager implementations. + * + * - The msg ByteString is the message (or packet) received on the + * connection. Can be empty. */ +typedef void +(*UA_ConnectionManager_connectionCallback) + (UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, UA_ConnectionState state, + const UA_KeyValueMap *params, UA_ByteString msg); + +struct UA_ConnectionManager { + /* Every ConnectionManager is treated like an EventSource from the + * perspective of the EventLoop. */ + UA_EventSource eventSource; + + /* Name of the protocol supported by the ConnectionManager. For example + * "mqtt", "udp", "mqtt". */ + UA_String protocol; + + /* Open a Connection + * ~~~~~~~~~~~~~~~~~ + * Connecting is asynchronous. The connection-callback is called when the + * connection is open (status=GOOD) or aborted (status!=GOOD) when + * connecting failed. + * + * Some ConnectionManagers can also passively listen for new connections. + * Configuration parameters for this are passed via the key-value list. The + * `context` pointer of the listening connection is also set as the initial + * context of newly opened connections. + * + * The parameters describe the connection. For example hostname and port + * (for TCP). Other protocols (e.g. MQTT, AMQP, etc.) may required + * additional arguments to open a connection in the key-value list. + * + * The provided context is set as the initial context attached to this + * connection. It is already set before the first call to + * connectionCallback. + * + * The connection can be opened synchronously or asynchronously. + * + * - For synchronous connection, the connectionCallback is called with the + * status UA_CONNECTIONSTATE_ESTABLISHED immediately from within the + * openConnection operation. + * + * - In the asynchronous case the connectionCallback is called immediately + * from within the openConnection operation with the status + * UA_CONNECTIONSTATE_OPENING. The connectionCallback is called with the + * status UA_CONNECTIONSTATE_ESTABLISHED once the connection has fully + * opened. + * + * Note that a single call to openConnection might open multiple + * connections. For example listening on IPv4 and IPv6 for a single + * hostname. Each protocol implementation documents whether multiple + * connections might be opened at once. */ + UA_StatusCode + (*openConnection)(UA_ConnectionManager *cm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback); + + /* Send a message over a Connection + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Sending is asynchronous. That is, the function returns before the message + * is ACKed from remote. The memory for the buffer is expected to be + * allocated with allocNetworkBuffer and is released internally (also if + * sending fails). + * + * Some ConnectionManagers can accept additional parameters for sending. For + * example a tx-time for sending in time-synchronized TSN settings. */ + UA_StatusCode + (*sendWithConnection)(UA_ConnectionManager *cm, uintptr_t connectionId, + const UA_KeyValueMap *params, UA_ByteString *buf); + + /* Close a Connection + * ~~~~~~~~~~~~~~~~~~ + * When a connection is closed its `connectionCallback` is called with + * (status=BadConnectionClosed, msg=empty). Then the connection is cleared + * up inside the ConnectionManager. This is the case both for connections + * that are actively closed and those that are closed remotely. The return + * code is non-good only if the connection is already closed. */ + UA_StatusCode + (*closeConnection)(UA_ConnectionManager *cm, uintptr_t connectionId); + + /* Buffer Management + * ~~~~~~~~~~~~~~~~~ + * Each ConnectionManager allocates and frees his own memory for the network + * buffers. This enables, for example, zero-copy neworking mechanisms. The + * connectionId is part of the API to enable cases where memory is + * statically allocated for every connection */ + UA_StatusCode + (*allocNetworkBuffer)(UA_ConnectionManager *cm, uintptr_t connectionId, + UA_ByteString *buf, size_t bufSize); + void + (*freeNetworkBuffer)(UA_ConnectionManager *cm, uintptr_t connectionId, + UA_ByteString *buf); +}; + +/** + * Interrupt Manager + * ----------------- + * The Interrupt Manager allows to register to listen for system interrupts. + * Triggering the interrupt calls the callback associated with it. + * + * The implementations of the interrupt manager for the different platforms + * shall be designed such that: + * + * - Registered interrupts are only intercepted from within the running EventLoop + * - Processing an interrupt in the EventLoop is handled similarly to handling a + * network event: all methods and also memory allocation are available from + * within the interrupt callback. */ + +/* Interrupts can have additional key-value 'instanceInfos' for each individual + * triggering. See the architecture-specific documentation. */ +typedef void +(*UA_InterruptCallback)(UA_InterruptManager *im, + uintptr_t interruptHandle, void *interruptContext, + const UA_KeyValueMap *instanceInfos); + +struct UA_InterruptManager { + /* Every InterruptManager is treated like an EventSource from the + * perspective of the EventLoop. */ + UA_EventSource eventSource; + + /* Register an interrupt. The handle and context information is passed + * through to the callback. + * + * The interruptHandle is a numerical identifier of the interrupt. In some + * cases, such as POSIX signals, this is enough information to register + * callback. For other interrupt systems (architectures) additional + * parameters may be required and can be passed in via the parameters + * key-value list. See the implementation-specific documentation. + * + * The interruptContext is opaque user-defined information and passed + * through to the callback without modification. */ + UA_StatusCode + (*registerInterrupt)(UA_InterruptManager *im, uintptr_t interruptHandle, + const UA_KeyValueMap *params, + UA_InterruptCallback callback, void *interruptContext); + + /* Remove a registered interrupt. Returns no error code if the interrupt is + * already deregistered. */ + void + (*deregisterInterrupt)(UA_InterruptManager *im, uintptr_t interruptHandle); +}; + +/** + * POSIX-Specific Implementation + * ----------------------------- + * The POSIX compatibility of WIN32 is 'close enough'. So a joint implementation + * is provided. */ + +#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) + +UA_EXPORT UA_EventLoop * +UA_EventLoop_new_POSIX(const UA_Logger *logger); + +/** + * TCP Connection Manager + * ~~~~~~~~~~~~~~~~~~~~~~ + * Listens on the network and manages TCP connections. This should be available + * for all architectures. + * + * The `openConnection` callback is used to create both client and server + * sockets. A server socket listens and accepts incoming connections (creates an + * active connection). This is distinguished by the key-value parameters passed + * to `openConnection`. Note that a single call to `openConnection` for a server + * connection may actually create multiple connections (one per hostname / + * device). + * + * The `connectionCallback` of the server socket and `context` of the server + * socket is reused for each new connection. But the key-value parameters for + * the first callback are different between server and client connections. + * + * The following list defines the parameters and their type. Note that some + * parameters are only set for the first callback when a new connection opens. + * + * **Configuration parameters for the entire ConnectionManager:** + * + * 0:recv-bufsize [uint32] + * Size of the buffer that is allocated for receiving messages (default 64kB). + * + * **Open Connection Parameters:** + * + * 0:address [string | array of string] + * Hostname or IPv4/v6 address for the connection (scalar parameter required + * for active connections). For listen-connections the address contains the + * local hostnames or IP addresses for listening. If undefined, listen on all + * interfaces INADDR_ANY. (default: undefined) + * + * 0:port [uint16] + * Port of the target host (required). + * + * 0:listen [boolean] + * Listen-connection or active-connection (default: false) + * + * 0:validate [boolean] + * If true, the connection setup will act as a dry-run without actually + * creating any connection but solely validating the provided parameters + * (default: false) + * + * **Active Connection Connection Callback Parameters (first callback only):** + * + * 0:remote-address [string] + * Address of the remote side (hostname or IP address). + * + * **Listen Connection Connection Callback Parameters (first callback only):** + * + * 0:listen-address [string] + * Local address (IP or hostname) for the new listen-connection. + * + * 0:listen-port [uint16] + * Port on which the new connection listens. + * + * **Send Parameters:** + * + * No additional parameters for sending over an established TCP socket + * defined. */ +UA_EXPORT UA_ConnectionManager * +UA_ConnectionManager_new_POSIX_TCP(const UA_String eventSourceName); + +/** + * UDP Connection Manager + * ~~~~~~~~~~~~~~~~~~~~~~ + * Manages UDP connections. This should be available for all architectures. The + * configuration parameters have to set before calling _start to take effect. + * + * **Configuration Parameters:** + * + * 0:recv-bufsize [uint32] + * Size of the buffer that is allocated for receiving messages (default + * 64kB). + * + * **Open Connection Parameters:** + * + * 0:listen [boolean] + * Use the connection for listening or for sending (default: false) + * + * 0:address [string | string array] + * Hostname (or IPv4/v6 address) for sending or receiving. A scalar is + * required for sending. For listening a string array for the list-hostnames + * is possible as well (default: list on all hostnames). + * + * 0:port [uint16] + * Port for sending or listening (required). + * + * 0:interface [string] + * Network interface for listening or sending (e.g. when using multicast + * addresses). Can be either the IP address of the network interface + * or the interface name (e.g. 'eth0'). + * + * 0:ttl [uint32] + * Multicast time to live, (optional, default: 1 - meaning multicast is + * available only to the local subnet). + * + * 0:loopback [boolean] + * Whether or not to use multicast loopback, enabling local interfaces + * belonging to the multicast group to receive packages. (default: enabled). + * + * 0:reuse [boolean] + * Enables sharing of the same listening address on different sockets + * (default: disabled). + * + * 0:sockpriority [uint32] + * The socket priority (optional) - only available on linux. packets with a + * higher priority may be processed first depending on the selected device + * queueing discipline. Setting a priority outside the range 0 to 6 requires + * the CAP_NET_ADMIN capability (on Linux). + * + * 0:validate [boolean] + * If true, the connection setup will act as a dry-run without actually + * creating any connection but solely validating the provided parameters + * (default: false) + * + * **Connection Callback Parameters:** + * + * 0:remote-address [string] + * Contains the remote IP address. + * + * 0:remote-port [uint16] + * Contains the remote port. + * + * **Send Parameters:** + * + * No additional parameters for sending over an UDP connection defined. */ +UA_EXPORT UA_ConnectionManager * +UA_ConnectionManager_new_POSIX_UDP(const UA_String eventSourceName); + +#if defined(__linux__) /* Linux only so far */ +/** + * Ethernet Connection Manager + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Listens on the network and manages UDP connections. This should be available + * for all architectures. The configuration parameters have to set before + * calling _start to take effect. + * + * **Open Connection Parameters:** + * + * 0:listen [bool] + * The connection is either for sending or for listening (default: false). + * + * 0:interface [string] + * The name of the Ethernet interface to use (required). + * + * 0:address [string] + * MAC target address consisting of six groups of hexadecimal digits + * separated by hyphens such as 01-23-45-67-89-ab. For sending this is a + * required parameter. For listening this is a multicast address that the + * connections tries to register for. + * + * 0:ethertype [uint16] + * EtherType for sending and receiving frames (optional). For listening + * connections, this filters out all frames with different EtherTypes. + * + * 0:promiscuous [bool] + * Receive frames also for different target addresses. Defined only for + * listening connections (default: false). + * + * 0:vid [uint16] + * 12-bit VLAN identifier (optional for send connections). + * + * 0:pcp [byte] + * 3-bit priority code point (optional for send connections). + * + * 0:dei [bool] + * 1-bit drop eligible indicator (optional for seond connections). + * + * 0:validate [boolean] + * If true, the connection setup will act as a dry-run without actually + * creating any connection but solely validating the provided parameters + * (default: false) + * + * **Send Parameters:** + * + * No additional parameters for sending over an Ethernet connection defined. */ +UA_EXPORT UA_ConnectionManager * +UA_ConnectionManager_new_POSIX_Ethernet(const UA_String eventSourceName); +#endif + +/** + * MQTT Connection Manager + * ~~~~~~~~~~~~~~~~~~~~~~~ + * The MQTT ConnectionManager reuses the TCP ConnectionManager that is + * configured in the EventLoop. Hence the MQTT ConnectionManager is platform + * agnostic and does not require porting. An MQTT connection is for a + * combination of broker and topic. The MQTT ConnectionManager can group + * connections to the same broker in the background. Hence adding multiple + * connections for the same broker is "cheap". To have individual control, + * separate connections are created for each topic and for each direction + * (publishing / subscribing). + * + * **Open Connection Parameters:** + * + * 0:address [string] + * Hostname or IPv4/v6 address of the MQTT broker (required). + * + * 0:port [uint16] + * Port of the MQTT broker (default: 1883). + * + * 0:username [string] + * Username to use (default: none) + * + * 0:password [string] + * Password to use (default: none) + * + * 0:keep-alive [uint16] + * Number of seconds for the keep-alive (ping) (default: 400). + * + * 0:validate [boolean] + * If true, the connection setup will act as a dry-run without actually + * creating any connection but solely validating the provided parameters + * (default: false) + * + * 0:topic [string] + * Topic to which the connection is associated (required). + * + * 0:subscribe [bool] + * Subscribe to the topic (default: false). Otherwise it is only possible to + * publish on the topic. Subscribed topics can also be published to. + * + * **Connection Callback Parameters:** + * + * 0:topic [string] + * The value set during connect. + * + * 0:subscribe [bool] + * The value set during connect. + * + * **Send Parameters:** + * + * No additional parameters for sending over an Ethernet connection defined. */ +UA_EXPORT UA_ConnectionManager * +UA_ConnectionManager_new_MQTT(const UA_String eventSourceName); + +/** + * Signal Interrupt Manager + * ~~~~~~~~~~~~~~~~~~~~~~~~ + * Create an instance of the interrupt manager that handles POSX signals. This + * interrupt manager takes the numerical interrupt identifiers from + * for the interruptHandle. */ +UA_EXPORT UA_InterruptManager * +UA_InterruptManager_new_POSIX(const UA_String eventSourceName); + +#endif /* defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) */ + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/nodestore.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + +/* !!! Warning !!! + * + * If you are not developing a nodestore plugin, then you should not work with + * the definitions from this file directly. The underlying node structures are + * not meant to be used directly by end users. Please use the public server API + * / OPC UA services to interact with the information model. */ + + +_UA_BEGIN_DECLS + +/* Forward declaration */ +#ifdef UA_ENABLE_SUBSCRIPTIONS +struct UA_MonitoredItem; +typedef struct UA_MonitoredItem UA_MonitoredItem; +#endif + +/** + * Node Store Plugin API + * ===================== + * + * **Warning!!** The structures defined in this section are only relevant for + * the developers of custom Nodestores. The interaction with the information + * model is possible only via the OPC UA :ref:`services`. So the following + * sections are purely informational so that users may have a clear mental + * model of the underlying representation. + * + * .. _node-lifecycle: + * + * Node Lifecycle: Constructors, Destructors and Node Contexts + * ----------------------------------------------------------- + * + * To finalize the instantiation of a node, a (user-defined) constructor + * callback is executed. There can be both a global constructor for all nodes + * and node-type constructor specific to the TypeDefinition of the new node + * (attached to an ObjectTypeNode or VariableTypeNode). + * + * In the hierarchy of ObjectTypes and VariableTypes, only the constructor of + * the (lowest) type defined for the new node is executed. Note that every + * Object and Variable can have only one ``isTypeOf`` reference. But type-nodes + * can technically have several ``hasSubType`` references to implement multiple + * inheritance. Issues of (multiple) inheritance in the constructor need to be + * solved by the user. + * + * When a node is destroyed, the node-type destructor is called before the + * global destructor. So the overall node lifecycle is as follows: + * + * 1. Global Constructor (set in the server config) + * 2. Node-Type Constructor (for VariableType or ObjectTypes) + * 3. (Usage-period of the Node) + * 4. Node-Type Destructor + * 5. Global Destructor + * + * The constructor and destructor callbacks can be set to ``NULL`` and are not + * used in that case. If the node-type constructor fails, the global destructor + * will be called before removing the node. The destructors are assumed to never + * fail. + * + * Every node carries a user-context and a constructor-context pointer. The + * user-context is used to attach custom data to a node. But the (user-defined) + * constructors and destructors may replace the user-context pointer if they + * wish to do so. The initial value for the constructor-context is ``NULL``. + * When the ``AddNodes`` service is used over the network, the user-context + * pointer of the new node is also initially set to ``NULL``. + * + * Global Node Lifecycle + * ~~~~~~~~~~~~~~~~~~~~~~ + * Global constructor and destructor callbacks used for every node type. + * To be set in the server config. + */ + +typedef struct { + /* Can be NULL. May replace the nodeContext */ + UA_StatusCode (*constructor)(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void **nodeContext); + + /* Can be NULL. The context cannot be replaced since the node is destroyed + * immediately afterwards anyway. */ + void (*destructor)(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext); + + /* Can be NULL. Called during recursive node instantiation. While mandatory + * child nodes are automatically created if not already present, optional child + * nodes are not. This callback can be used to define whether an optional child + * node should be created. + * + * @param server The server executing the callback + * @param sessionId The identifier of the session + * @param sessionContext Additional data attached to the session in the + * access control layer + * @param sourceNodeId Source node from the type definition. If the new node + * shall be created, it will be a copy of this node. + * @param targetParentNodeId Parent of the potential new child node + * @param referenceTypeId Identifies the reference type which that the parent + * node has to the new node. + * @return Return UA_TRUE if the child node shall be instantiated, + * UA_FALSE otherwise. */ + UA_Boolean (*createOptionalChild)(UA_Server *server, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *sourceNodeId, + const UA_NodeId *targetParentNodeId, + const UA_NodeId *referenceTypeId); + + /* Can be NULL. Called when a node is to be copied during recursive + * node instantiation. Allows definition of the NodeId for the new node. + * If the callback is set to NULL or the resulting NodeId is UA_NODEID_NUMERIC(X,0) + * an unused nodeid in namespace X will be used. E.g. passing UA_NODEID_NULL will + * result in a NodeId in namespace 0. + * + * @param server The server executing the callback + * @param sessionId The identifier of the session + * @param sessionContext Additional data attached to the session in the + * access control layer + * @param sourceNodeId Source node of the copy operation + * @param targetParentNodeId Parent node of the new node + * @param referenceTypeId Identifies the reference type which that the parent + * node has to the new node. */ + UA_StatusCode (*generateChildNodeId)(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *sourceNodeId, + const UA_NodeId *targetParentNodeId, + const UA_NodeId *referenceTypeId, + UA_NodeId *targetNodeId); +} UA_GlobalNodeLifecycle; + +/** + * Node Type Lifecycle + * ~~~~~~~~~~~~~~~~~~~ + * Constructor and destructors for specific object and variable types. */ +typedef struct { + /* Can be NULL. May replace the nodeContext */ + UA_StatusCode (*constructor)(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeNodeId, void *typeNodeContext, + const UA_NodeId *nodeId, void **nodeContext); + + /* Can be NULL. May replace the nodeContext. */ + void (*destructor)(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeNodeId, void *typeNodeContext, + const UA_NodeId *nodeId, void **nodeContext); +} UA_NodeTypeLifecycle; + +/** + * ReferenceType Bitfield Representation + * ------------------------------------- + * ReferenceTypes have an alternative represention as an index into a bitfield + * for fast comparison. The index is generated when the corresponding + * ReferenceTypeNode is added. By bounding the number of ReferenceTypes that can + * exist in the server, the bitfield can represent a set of an combination of + * ReferenceTypes. + * + * Every ReferenceTypeNode contains a bitfield with the set of all its subtypes. + * This speeds up the Browse services substantially. + * + * The following ReferenceTypes have a fixed index. The NS0 bootstrapping + * creates these ReferenceTypes in-order. */ +#define UA_REFERENCETYPEINDEX_REFERENCES 0 +#define UA_REFERENCETYPEINDEX_HASSUBTYPE 1 +#define UA_REFERENCETYPEINDEX_AGGREGATES 2 +#define UA_REFERENCETYPEINDEX_HIERARCHICALREFERENCES 3 +#define UA_REFERENCETYPEINDEX_NONHIERARCHICALREFERENCES 4 +#define UA_REFERENCETYPEINDEX_HASCHILD 5 +#define UA_REFERENCETYPEINDEX_ORGANIZES 6 +#define UA_REFERENCETYPEINDEX_HASEVENTSOURCE 7 +#define UA_REFERENCETYPEINDEX_HASMODELLINGRULE 8 +#define UA_REFERENCETYPEINDEX_HASENCODING 9 +#define UA_REFERENCETYPEINDEX_HASDESCRIPTION 10 +#define UA_REFERENCETYPEINDEX_HASTYPEDEFINITION 11 +#define UA_REFERENCETYPEINDEX_GENERATESEVENT 12 +#define UA_REFERENCETYPEINDEX_HASPROPERTY 13 +#define UA_REFERENCETYPEINDEX_HASCOMPONENT 14 +#define UA_REFERENCETYPEINDEX_HASNOTIFIER 15 +#define UA_REFERENCETYPEINDEX_HASORDEREDCOMPONENT 16 +#define UA_REFERENCETYPEINDEX_HASINTERFACE 17 + +/* The maximum number of ReferrenceTypes. Must be a multiple of 32. */ +#define UA_REFERENCETYPESET_MAX 128 +typedef struct { + UA_UInt32 bits[UA_REFERENCETYPESET_MAX / 32]; +} UA_ReferenceTypeSet; + +UA_EXPORT extern const UA_ReferenceTypeSet UA_REFERENCETYPESET_NONE; +UA_EXPORT extern const UA_ReferenceTypeSet UA_REFERENCETYPESET_ALL; + +static UA_INLINE void +UA_ReferenceTypeSet_init(UA_ReferenceTypeSet *set) { + memset(set, 0, sizeof(UA_ReferenceTypeSet)); +} + +static UA_INLINE UA_ReferenceTypeSet +UA_REFTYPESET(UA_Byte index) { + UA_Byte i = index / 32, j = index % 32; + UA_ReferenceTypeSet set; + UA_ReferenceTypeSet_init(&set); + set.bits[i] |= ((UA_UInt32)1) << j; + return set; +} + +static UA_INLINE UA_ReferenceTypeSet +UA_ReferenceTypeSet_union(const UA_ReferenceTypeSet setA, + const UA_ReferenceTypeSet setB) { + UA_ReferenceTypeSet set; + for(size_t i = 0; i < UA_REFERENCETYPESET_MAX / 32; i++) + set.bits[i] = setA.bits[i] | setB.bits[i]; + return set; +} + +static UA_INLINE UA_Boolean +UA_ReferenceTypeSet_contains(const UA_ReferenceTypeSet *set, UA_Byte index) { + UA_Byte i = index / 32, j = index % 32; + return !!(set->bits[i] & (((UA_UInt32)1) << j)); +} + +/** + * Node Pointer + * ------------ + * + * The "native" format for reference between nodes is the ExpandedNodeId. That + * is, references can also point to external servers. In practice, most + * references point to local nodes using numerical NodeIds from the + * standard-defined namespace zero. In order to save space (and time), + * pointer-tagging is used for compressed "NodePointer" representations. + * Numerical NodeIds are immediately contained in the pointer. Full NodeIds and + * ExpandedNodeIds are behind a pointer indirection. If the Nodestore supports + * it, a NodePointer can also be an actual pointer to the target node. + * + * Depending on the processor architecture, some numerical NodeIds don't fit + * into an immediate encoding and are kept as pointers. ExpandedNodeIds may be + * internally translated to "normal" NodeIds. Use the provided functions to + * generate NodePointers that fit the assumptions for the local architecture. */ + +/* Forward declaration. All node structures begin with the NodeHead. */ +struct UA_NodeHead; +typedef struct UA_NodeHead UA_NodeHead; + +/* Tagged Pointer structure. */ +typedef union { + uintptr_t immediate; /* 00: Small numerical NodeId */ + const UA_NodeId *id; /* 01: Pointer to NodeId */ + const UA_ExpandedNodeId *expandedId; /* 10: Pointer to ExternalNodeId */ + const UA_NodeHead *node; /* 11: Pointer to a node */ +} UA_NodePointer; + +/* Sets the pointer to an immediate NodeId "ns=0;i=0" similar to a freshly + * initialized UA_NodeId */ +static UA_INLINE void +UA_NodePointer_init(UA_NodePointer *np) { np->immediate = 0; } + +/* NodeId and ExpandedNodeId targets are freed */ +void UA_EXPORT +UA_NodePointer_clear(UA_NodePointer *np); + +/* Makes a deep copy */ +UA_StatusCode UA_EXPORT +UA_NodePointer_copy(UA_NodePointer in, UA_NodePointer *out); + +/* Test if an ExpandedNodeId or a local NodeId */ +UA_Boolean UA_EXPORT +UA_NodePointer_isLocal(UA_NodePointer np); + +UA_Order UA_EXPORT +UA_NodePointer_order(UA_NodePointer p1, UA_NodePointer p2); + +static UA_INLINE UA_Boolean +UA_NodePointer_equal(UA_NodePointer p1, UA_NodePointer p2) { + return (UA_NodePointer_order(p1, p2) == UA_ORDER_EQ); +} + +/* Cannot fail. The resulting NodePointer can point to the memory from the + * NodeId. Make a deep copy if required. */ +UA_NodePointer UA_EXPORT +UA_NodePointer_fromNodeId(const UA_NodeId *id); + +/* Cannot fail. The resulting NodePointer can point to the memory from the + * ExpandedNodeId. Make a deep copy if required. */ +UA_NodePointer UA_EXPORT +UA_NodePointer_fromExpandedNodeId(const UA_ExpandedNodeId *id); + +/* Can point to the memory from the NodePointer */ +UA_ExpandedNodeId UA_EXPORT +UA_NodePointer_toExpandedNodeId(UA_NodePointer np); + +/* Can point to the memory from the NodePointer. Discards the ServerIndex and + * NamespaceUri of a potential ExpandedNodeId inside the NodePointer. Test + * before if the NodePointer is local. */ +UA_NodeId UA_EXPORT +UA_NodePointer_toNodeId(UA_NodePointer np); + +/** + * Base Node Attributes + * -------------------- + * + * Nodes contain attributes according to their node type. The base node + * attributes are common to all node types. In the OPC UA :ref:`services`, + * attributes are referred to via the :ref:`nodeid` of the containing node and + * an integer :ref:`attribute-id`. + * + * Internally, open62541 uses ``UA_Node`` in places where the exact node type is + * not known or not important. The ``nodeClass`` attribute is used to ensure the + * correctness of casting from ``UA_Node`` to a specific node type. */ + +typedef struct { + UA_NodePointer targetId; /* Has to be the first entry */ + UA_UInt32 targetNameHash; /* Hash of the target's BrowseName. Set to zero + * if the target is remote. */ +} UA_ReferenceTarget; + +typedef struct UA_ReferenceTargetTreeElem { + UA_ReferenceTarget target; /* Has to be the first entry */ + UA_UInt32 targetIdHash; /* Hash of the targetId */ + struct { + struct UA_ReferenceTargetTreeElem *left; + struct UA_ReferenceTargetTreeElem *right; + } idTreeEntry; + struct { + struct UA_ReferenceTargetTreeElem *left; + struct UA_ReferenceTargetTreeElem *right; + } nameTreeEntry; +} UA_ReferenceTargetTreeElem; + + +/* List of reference targets with the same reference type and direction. Uses + * either an array or a tree structure. The SDK will not change the type of + * reference target structure internally. The nodestore implementations may + * switch internally when a node is updated. + * + * The recommendation is to switch to a tree once the number of refs > 8. */ +typedef struct { + union { + /* Organize the references in an array. Uses less memory, but incurs + * lookups in linear time. Recommended if the number of references is + * known to be small. */ + UA_ReferenceTarget *array; + + /* Organize the references in a tree for fast lookup. Use + * UA_Node_addReference and UA_Node_deleteReference to modify the + * tree-structure. The binary tree implementation (and absolute ordering + * / duplicate browseNames are allowed) are not exposed otherwise in the + * public API. */ + struct { + UA_ReferenceTargetTreeElem *idRoot; /* Lookup based on target id */ + UA_ReferenceTargetTreeElem *nameRoot; /* Lookup based on browseName*/ + } tree; + } targets; + size_t targetsSize; + UA_Boolean hasRefTree; /* RefTree or RefArray? */ + UA_Byte referenceTypeIndex; + UA_Boolean isInverse; +} UA_NodeReferenceKind; + +/* Iterate over the references. Aborts when the first callback return a non-NULL + * pointer and returns that pointer. Do not modify the reference targets during + * the iteration. */ +typedef void * +(*UA_NodeReferenceKind_iterateCallback)(void *context, UA_ReferenceTarget *target); + +UA_EXPORT void * +UA_NodeReferenceKind_iterate(UA_NodeReferenceKind *rk, + UA_NodeReferenceKind_iterateCallback callback, + void *context); + +/* Returns the entry for the targetId or NULL if not found */ +UA_EXPORT const UA_ReferenceTarget * +UA_NodeReferenceKind_findTarget(const UA_NodeReferenceKind *rk, + const UA_ExpandedNodeId *targetId); + +/* Switch between array and tree representation. Does nothing upon error (e.g. + * out-of-memory). */ +UA_EXPORT UA_StatusCode +UA_NodeReferenceKind_switch(UA_NodeReferenceKind *rk); + +/* Singly-linked LocalizedText list */ +typedef struct UA_LocalizedTextListEntry { + struct UA_LocalizedTextListEntry *next; + UA_LocalizedText localizedText; +} UA_LocalizedTextListEntry; + +/* Every Node starts with these attributes */ +struct UA_NodeHead { + UA_NodeId nodeId; + UA_NodeClass nodeClass; + UA_QualifiedName browseName; + + /* A node can have different localizations for displayName and description. + * The server selects a suitable localization depending on the locale ids + * that are set for the current session. + * + * Locales are added simply by writing a LocalizedText value with a new + * locale. A locale can be removed by writing a LocalizedText value of the + * corresponding locale with an empty text field. */ + UA_LocalizedTextListEntry *displayName; + UA_LocalizedTextListEntry *description; + + UA_UInt32 writeMask; + size_t referencesSize; + UA_NodeReferenceKind *references; + + /* Members specific to open62541 */ + void *context; + UA_Boolean constructed; /* Constructors were called */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_MonitoredItem *monitoredItems; /* MonitoredItems for Events and immediate + * DataChanges (no sampling interval). */ +#endif +}; + +/** + * VariableNode + * ------------ */ + +/* Indicates whether a variable contains data inline or whether it points to an + * external data source */ +typedef enum { + UA_VALUESOURCE_DATA, + UA_VALUESOURCE_DATASOURCE +} UA_ValueSource; + +typedef struct { + /* Called before the value attribute is read. It is possible to write into the + * value attribute during onRead (using the write service). The node is + * re-opened afterwards so that changes are considered in the following read + * operation. + * + * @param handle Points to user-provided data for the callback. + * @param nodeid The identifier of the node. + * @param data Points to the current node value. + * @param range Points to the numeric range the client wants to read from + * (or NULL). */ + void (*onRead)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeid, + void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *value); + + /* Called after writing the value attribute. The node is re-opened after + * writing so that the new value is visible in the callback. + * + * @param server The server executing the callback + * @sessionId The identifier of the session + * @sessionContext Additional data attached to the session + * in the access control layer + * @param nodeid The identifier of the node. + * @param nodeUserContext Additional data attached to the node by + * the user. + * @param nodeConstructorContext Additional data attached to the node + * by the type constructor(s). + * @param range Points to the numeric range the client wants to write to (or + * NULL). */ + void (*onWrite)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *data); +} UA_ValueCallback; + +typedef struct { + /* Copies the data from the source into the provided value. + * + * !! ZERO-COPY OPERATIONS POSSIBLE !! + * It is not required to return a copy of the actual content data. You can + * return a pointer to memory owned by the user. Memory can be reused + * between read callbacks of a DataSource, as the result is already encoded + * on the network buffer between each read operation. + * + * To use zero-copy reads, set the value of the `value->value` Variant + * without copying, e.g. with `UA_Variant_setScalar`. Then, also set + * `value->value.storageType` to `UA_VARIANT_DATA_NODELETE` to prevent the + * memory being cleaned up. Don't forget to also set `value->hasValue` to + * true to indicate the presence of a value. + * + * @param server The server executing the callback + * @param sessionId The identifier of the session + * @param sessionContext Additional data attached to the session in the + * access control layer + * @param nodeId The identifier of the node being read from + * @param nodeContext Additional data attached to the node by the user + * @param includeSourceTimeStamp If true, then the datasource is expected to + * set the source timestamp in the returned value + * @param range If not null, then the datasource shall return only a + * selection of the (nonscalar) data. Set + * UA_STATUSCODE_BADINDEXRANGEINVALID in the value if this does not + * apply + * @param value The (non-null) DataValue that is returned to the client. The + * data source sets the read data, the result status and optionally a + * sourcetimestamp. + * @return Returns a status code for logging. Error codes intended for the + * original caller are set in the value. If an error is returned, + * then no releasing of the value is done + */ + UA_StatusCode (*read)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, UA_DataValue *value); + + /* Write into a data source. This method pointer can be NULL if the + * operation is unsupported. + * + * @param server The server executing the callback + * @param sessionId The identifier of the session + * @param sessionContext Additional data attached to the session in the + * access control layer + * @param nodeId The identifier of the node being written to + * @param nodeContext Additional data attached to the node by the user + * @param range If not NULL, then the datasource shall return only a + * selection of the (nonscalar) data. Set + * UA_STATUSCODE_BADINDEXRANGEINVALID in the value if this does not + * apply + * @param value The (non-NULL) DataValue that has been written by the client. + * The data source contains the written data, the result status and + * optionally a sourcetimestamp + * @return Returns a status code for logging. Error codes intended for the + * original caller are set in the value. If an error is returned, + * then no releasing of the value is done + */ + UA_StatusCode (*write)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *value); +} UA_DataSource; + +/** + * .. _value-callback: + * + * Value Callback + * ~~~~~~~~~~~~~~ + * Value Callbacks can be attached to variable and variable type nodes. If + * not ``NULL``, they are called before reading and after writing respectively. */ +typedef struct { + /* Called before the value attribute is read. The external value source can be + * be updated and/or locked during this notification call. After this function returns + * to the core, the external value source is readed immediately. + */ + UA_StatusCode (*notificationRead)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeid, + void *nodeContext, const UA_NumericRange *range); + + /* Called after writing the value attribute. The node is re-opened after + * writing so that the new value is visible in the callback. + * + * @param server The server executing the callback + * @sessionId The identifier of the session + * @sessionContext Additional data attached to the session + * in the access control layer + * @param nodeid The identifier of the node. + * @param nodeUserContext Additional data attached to the node by + * the user. + * @param nodeConstructorContext Additional data attached to the node + * by the type constructor(s). + * @param range Points to the numeric range the client wants to write to (or + * NULL). */ + UA_StatusCode (*userWrite)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *data); +} UA_ExternalValueCallback; + +typedef enum { + UA_VALUEBACKENDTYPE_NONE, + UA_VALUEBACKENDTYPE_INTERNAL, + UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK, + UA_VALUEBACKENDTYPE_EXTERNAL +} UA_ValueBackendType; + +typedef struct { + UA_ValueBackendType backendType; + union { + struct { + UA_DataValue value; + UA_ValueCallback callback; + } internal; + UA_DataSource dataSource; + struct { + UA_DataValue **value; + UA_ExternalValueCallback callback; + } external; + } backend; +} UA_ValueBackend; + +#define UA_NODE_VARIABLEATTRIBUTES \ + /* Constraints on possible values */ \ + UA_NodeId dataType; \ + UA_Int32 valueRank; \ + size_t arrayDimensionsSize; \ + UA_UInt32 *arrayDimensions; \ + \ + UA_ValueBackend valueBackend; \ + \ + /* The current value */ \ + UA_ValueSource valueSource; \ + union { \ + struct { \ + UA_DataValue value; \ + UA_ValueCallback callback; \ + } data; \ + UA_DataSource dataSource; \ + } value; + +typedef struct { + UA_NodeHead head; + UA_NODE_VARIABLEATTRIBUTES + UA_Byte accessLevel; + UA_Double minimumSamplingInterval; + UA_Boolean historizing; + + /* Members specific to open62541 */ + UA_Boolean isDynamic; /* Some variables are "static" in the sense that they + * are not attached to a dynamic process in the + * background. Only dynamic variables conserve source + * and server timestamp for the value attribute. + * Static variables have timestamps of "now". */ +} UA_VariableNode; + +/** + * VariableTypeNode + * ---------------- */ + +typedef struct { + UA_NodeHead head; + UA_NODE_VARIABLEATTRIBUTES + UA_Boolean isAbstract; + + /* Members specific to open62541 */ + UA_NodeTypeLifecycle lifecycle; +} UA_VariableTypeNode; + +/** + * MethodNode + * ---------- */ + +typedef UA_StatusCode +(*UA_MethodCallback)(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *methodId, + void *methodContext, const UA_NodeId *objectId, + void *objectContext, size_t inputSize, + const UA_Variant *input, size_t outputSize, + UA_Variant *output); + +typedef struct { + UA_NodeHead head; + UA_Boolean executable; + + /* Members specific to open62541 */ + UA_MethodCallback method; +#if UA_MULTITHREADING >= 100 + UA_Boolean async; /* Indicates an async method call */ +#endif +} UA_MethodNode; + +/** + * ObjectNode + * ---------- */ + +typedef struct { + UA_NodeHead head; + UA_Byte eventNotifier; +} UA_ObjectNode; + +/** + * ObjectTypeNode + * -------------- */ + +typedef struct { + UA_NodeHead head; + UA_Boolean isAbstract; + + /* Members specific to open62541 */ + UA_NodeTypeLifecycle lifecycle; +} UA_ObjectTypeNode; + +/** + * ReferenceTypeNode + * ----------------- */ + +typedef struct { + UA_NodeHead head; + UA_Boolean isAbstract; + UA_Boolean symmetric; + UA_LocalizedText inverseName; + + /* Members specific to open62541 */ + UA_Byte referenceTypeIndex; + UA_ReferenceTypeSet subTypes; /* contains the type itself as well */ +} UA_ReferenceTypeNode; + +/** + * DataTypeNode + * ------------ */ + +typedef struct { + UA_NodeHead head; + UA_Boolean isAbstract; +} UA_DataTypeNode; + +/** + * ViewNode + * -------- */ + +typedef struct { + UA_NodeHead head; + UA_Byte eventNotifier; + UA_Boolean containsNoLoops; +} UA_ViewNode; + +/** + * Node Union + * ---------- + * + * A union that represents any kind of node. The node head can always be used. + * Check the NodeClass before accessing specific content. + */ + +typedef union { + UA_NodeHead head; + UA_VariableNode variableNode; + UA_VariableTypeNode variableTypeNode; + UA_MethodNode methodNode; + UA_ObjectNode objectNode; + UA_ObjectTypeNode objectTypeNode; + UA_ReferenceTypeNode referenceTypeNode; + UA_DataTypeNode dataTypeNode; + UA_ViewNode viewNode; +} UA_Node; + +/** + * Nodestore + * --------- + * + * The following definitions are used for implementing custom node storage + * backends. **Most users will want to use the default nodestore and don't need + * to work with the nodestore API**. + * + * Outside of custom nodestore implementations, users should not manually edit + * nodes. Please use the OPC UA services for that. Otherwise, all consistency + * checks are omitted. This can crash the application eventually. */ + +typedef void (*UA_NodestoreVisitor)(void *visitorCtx, const UA_Node *node); + +typedef struct { + /* Nodestore context and lifecycle */ + void *context; + void (*clear)(void *nsCtx); + + /* The following definitions are used to create empty nodes of the different + * node types. The memory is managed by the nodestore. Therefore, the node + * has to be removed via a special deleteNode function. (If the new node is + * not added to the nodestore.) */ + UA_Node * (*newNode)(void *nsCtx, UA_NodeClass nodeClass); + + void (*deleteNode)(void *nsCtx, UA_Node *node); + + /* ``Get`` returns a pointer to an immutable node. Call ``releaseNode`` to + * indicate when the pointer is no longer accessed. + * + * It can be indicated if only a subset of the attributes and referencs need + * to be accessed. That is relevant when the nodestore accesses a slow + * storage backend for the attributes. The attribute mask is a bitfield with + * ORed entries from UA_NodeAttributesMask. + * + * The returned node always contains the context-pointer and other fields + * specific to open626541 (not official attributes). + * + * The NodeStore does not complain if attributes and references that don't + * exist (for that node) are requested. Attributes and references in + * addition to those specified can be returned. For example, if the full + * node already is kept in memory by the Nodestore. */ + const UA_Node * (*getNode)(void *nsCtx, const UA_NodeId *nodeId, + UA_UInt32 attributeMask, + UA_ReferenceTypeSet references, + UA_BrowseDirection referenceDirections); + + /* Similar to the normal ``getNode``. But it can take advantage of the + * NodePointer structure, e.g. if it contains a direct pointer. */ + const UA_Node * (*getNodeFromPtr)(void *nsCtx, UA_NodePointer ptr, + UA_UInt32 attributeMask, + UA_ReferenceTypeSet references, + UA_BrowseDirection referenceDirections); + + /* Release a node that has been retrieved with ``getNode`` or + * ``getNodeFromPtr``. */ + void (*releaseNode)(void *nsCtx, const UA_Node *node); + + /* Returns an editable copy of a node (needs to be deleted with the + * deleteNode function or inserted / replaced into the nodestore). */ + UA_StatusCode (*getNodeCopy)(void *nsCtx, const UA_NodeId *nodeId, + UA_Node **outNode); + + /* Inserts a new node into the nodestore. If the NodeId is zero, then a + * fresh numeric NodeId is assigned. If insertion fails, the node is + * deleted. */ + UA_StatusCode (*insertNode)(void *nsCtx, UA_Node *node, + UA_NodeId *addedNodeId); + + /* To replace a node, get an editable copy of the node, edit and replace + * with this function. If the node was already replaced since the copy was + * made, UA_STATUSCODE_BADINTERNALERROR is returned. If the NodeId is not + * found, UA_STATUSCODE_BADNODEIDUNKNOWN is returned. In both error cases, + * the editable node is deleted. */ + UA_StatusCode (*replaceNode)(void *nsCtx, UA_Node *node); + + /* Removes a node from the nodestore. */ + UA_StatusCode (*removeNode)(void *nsCtx, const UA_NodeId *nodeId); + + /* Maps the ReferenceTypeIndex used for the references to the NodeId of the + * ReferenceType. The returned pointer is stable until the Nodestore is + * deleted. */ + const UA_NodeId * (*getReferenceTypeId)(void *nsCtx, UA_Byte refTypeIndex); + + /* Execute a callback for every node in the nodestore. */ + void (*iterate)(void *nsCtx, UA_NodestoreVisitor visitor, + void *visitorCtx); +} UA_Nodestore; + +/* Attributes must be of a matching type (VariableAttributes, ObjectAttributes, + * and so on). The attributes are copied. Note that the attributes structs do + * not contain NodeId, NodeClass and BrowseName. The NodeClass of the node needs + * to be correctly set before calling this method. UA_Node_clear is called on + * the node when an error occurs internally. */ +UA_StatusCode UA_EXPORT +UA_Node_setAttributes(UA_Node *node, const void *attributes, + const UA_DataType *attributeType); + +/* Reset the destination node and copy the content of the source */ +UA_StatusCode UA_EXPORT +UA_Node_copy(const UA_Node *src, UA_Node *dst); + +/* Allocate new node and copy the values from src */ +UA_EXPORT UA_Node * +UA_Node_copy_alloc(const UA_Node *src); + +/* Add a single reference to the node */ +UA_StatusCode UA_EXPORT +UA_Node_addReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, + const UA_ExpandedNodeId *targetNodeId, + UA_UInt32 targetBrowseNameHash); + +/* Delete a single reference from the node */ +UA_StatusCode UA_EXPORT +UA_Node_deleteReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, + const UA_ExpandedNodeId *targetNodeId); + +/* Deletes references from the node which are not matching any type in the given + * array. Could be used to e.g. delete all the references, except + * 'HASMODELINGRULE' */ +void UA_EXPORT +UA_Node_deleteReferencesSubset(UA_Node *node, const UA_ReferenceTypeSet *keepSet); + +/* Delete all references of the node */ +void UA_EXPORT +UA_Node_deleteReferences(UA_Node *node); + +/* Remove all malloc'ed members of the node and reset */ +void UA_EXPORT +UA_Node_clear(UA_Node *node); + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/plugin/historydatabase.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + */ + + + +_UA_BEGIN_DECLS + +typedef struct UA_HistoryDatabase UA_HistoryDatabase; + +struct UA_HistoryDatabase { + void *context; + + void (*clear)(UA_HistoryDatabase *hdb); + + /* This function will be called when a nodes value is set. + * Use this to insert data into your database(s) if polling is not suitable + * and you need to get all data changes. + * Set it to NULL if you do not need it. + * + * server is the server this node lives in. + * hdbContext is the context of the UA_HistoryDatabase. + * sessionId and sessionContext identify the session which set this value. + * nodeId is the node id for which data was set. + * historizing is the nodes boolean flag for historizing + * value is the new value. */ + void + (*setValue)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_Boolean historizing, + const UA_DataValue *value); + + /* This function will be called when an event is triggered. + * Use it to insert data into your event database. + * No default implementation is provided by UA_HistoryDatabase_default. + * + * server is the server this node lives in. + * hdbContext is the context of the UA_HistoryDatabase. + * originId is the node id of the event's origin. + * emitterId is the node id of the event emitter. + * historicalEventFilter is the value of the HistoricalEventFilter property of + * the emitter (OPC UA Part 11, 5.3.2), it is NULL if + * the property does not exist or is not set. + * fieldList is the event field list returned after application of + * historicalEventFilter to the event node. */ + void + (*setEvent)(UA_Server *server, + void *hdbContext, + const UA_NodeId *originId, + const UA_NodeId *emitterId, + const UA_EventFilter *historicalEventFilter, + UA_EventFieldList *fieldList); + + /* This function is called if a history read is requested with + * isRawReadModified set to false. Setting it to NULL will result in a + * response with statuscode UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED. + * + * server is the server this node lives in. + * hdbContext is the context of the UA_HistoryDatabase. + * sessionId and sessionContext identify the session which set this value. + * requestHeader, historyReadDetails, timestampsToReturn, releaseContinuationPoints + * nodesToReadSize and nodesToRead is the requested data from the client. It + * is from the request object. + * response the response to fill for the client. If the request is ok, there + * is no need to use it. Use this to set status codes other than + * "Good" or other data. You find an already allocated + * UA_HistoryReadResult array with an UA_HistoryData object in the + * extension object in the size of nodesToReadSize. If you are not + * willing to return data, you have to delete the results array, + * set it to NULL and set the resultsSize to 0. Do not access + * historyData after that. + * historyData is a proper typed pointer array pointing in the + * UA_HistoryReadResult extension object. use this to provide + * result data to the client. Index in the array is the same as + * in nodesToRead and the UA_HistoryReadResult array. */ + void + (*readRaw)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_ReadRawModifiedDetails *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + UA_HistoryData * const * const historyData); + + /* No default implementation is provided by UA_HistoryDatabase_default + * for the following function */ + void + (*readModified)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_ReadRawModifiedDetails *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + UA_HistoryModifiedData * const * const historyData); + + /* No default implementation is provided by UA_HistoryDatabase_default + * for the following function */ + void + (*readEvent)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_ReadEventDetails *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + UA_HistoryEvent * const * const historyData); + + /* No default implementation is provided by UA_HistoryDatabase_default + * for the following function */ + void + (*readProcessed)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_ReadProcessedDetails *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + UA_HistoryData * const * const historyData); + + /* No default implementation is provided by UA_HistoryDatabase_default + * for the following function */ + void + (*readAtTime)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_ReadAtTimeDetails *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + UA_HistoryData * const * const historyData); + + void + (*updateData)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_UpdateDataDetails *details, + UA_HistoryUpdateResult *result); + + void + (*deleteRawModified)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_DeleteRawModifiedDetails *details, + UA_HistoryUpdateResult *result); + + /* Add more function pointer here. + * For example for read_event, read_annotation, update_details */ +}; + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/server_pubsub.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + +#ifndef UA_SERVER_PUBSUB_H +#define UA_SERVER_PUBSUB_H + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_PUBSUB + +/** + * .. _pubsub: + * + * PubSub + * ====== + * + * In PubSub the participating OPC UA Applications take their roles as + * Publishers and Subscribers. Publishers are the sources of data, while + * Subscribers consume that data. Communication in PubSub is message-based. + * Publishers send messages to a Message Oriented Middleware, without knowledge + * of what, if any, Subscribers there may be. Similarly, Subscribers express + * interest in specific types of data, and process messages that contain this + * data, without knowledge of what Publishers there are. + * + * Message Oriented Middleware is software or hardware infrastructure that + * supports sending and receiving messages between distributed systems. OPC UA + * PubSub supports two different Message Oriented Middleware variants, namely + * the broker-less form and broker-based form. A broker-less form is where the + * Message Oriented Middleware is the network infrastructure that is able to + * route datagram-based messages. Subscribers and Publishers use datagram + * protocols like UDP. In a broker-based form, the core component of the Message + * Oriented Middleware is a message Broker. Subscribers and Publishers use + * standard messaging protocols like AMQP or MQTT to communicate with the + * Broker. + * + * This makes PubSub suitable for applications where location independence + * and/or scalability are required. + * + * The Publish/Subscribe (PubSub) extension for OPC UA enables fast and + * efficient 1:m communication. The PubSub extension is protocol agnostic and + * can be used with broker based protocols like MQTT and AMQP or brokerless + * implementations like UDP-Multicasting. + * + * The configuration model for PubSub uses the following components: */ + +typedef enum { + UA_PUBSUB_COMPONENT_CONNECTION, + UA_PUBSUB_COMPONENT_WRITERGROUP, + UA_PUBSUB_COMPONENT_DATASETWRITER, + UA_PUBSUB_COMPONENT_READERGROUP, + UA_PUBSUB_COMPONENT_DATASETREADER +} UA_PubSubComponentEnumType; + +/** + * The open62541 PubSub API uses the following scheme: + * + * 1. Create a configuration for the needed PubSub element. + * + * 2. Call the add[element] function and pass in the configuration. + * + * 3. The add[element] function returns the unique nodeId of the internally created element. + * + * Take a look on the PubSub Tutorials for more details about the API usage:: + * + * +-----------+ + * | UA_Server | + * +-----------+ + * | | + * | | + * | | + * | | +----------------------+ + * | +--> UA_PubSubConnection | UA_Server_addPubSubConnection + * | +----------------------+ + * | | | + * | | | +----------------+ + * | | +----> UA_WriterGroup | UA_PubSubConnection_addWriterGroup + * | | +----------------+ + * | | | + * | | | +------------------+ + * | | +----> UA_DataSetWriter | UA_WriterGroup_addDataSetWriter +-+ + * | | +------------------+ | + * | | | + * | | +----------------+ | r + * | +---------> UA_ReaderGroup | UA_PubSubConnection_addReaderGroup | e + * | +----------------+ | f + * | | | + * | | +------------------+ | + * | +----> UA_DataSetReader | UA_ReaderGroup_addDataSetReader | + * | +------------------+ | + * | | | + * | | +----------------------+ | + * | +----> UA_SubscribedDataSet | | + * | +----------------------+ | + * | | | + * | | +----------------------------+ | + * | +----> UA_TargetVariablesDataType | | + * | | +----------------------------+ | + * | | | + * | | +------------------------------------+ | + * | +----> UA_SubscribedDataSetMirrorDataType | | + * | +------------------------------------+ | + * | | + * | +---------------------------+ | + * +-------> UA_PubSubPublishedDataSet | UA_Server_addPublishedDataSet <-+ + * +---------------------------+ + * | + * | +-----------------+ + * +----> UA_DataSetField | UA_PublishedDataSet_addDataSetField + * +-----------------+ + * + * PubSub Information Model Representation + * --------------------------------------- + * .. _pubsub_informationmodel: + * + * The complete PubSub configuration is available inside the information model. + * The entry point is the node 'PublishSubscribe', located under the Server + * node. + * The standard defines for PubSub no new Service set. The configuration can + * optionally be done over methods inside the information model. + * The information model representation of the current PubSub configuration is + * generated automatically. This feature can be enabled/disabled by changing the + * UA_ENABLE_PUBSUB_INFORMATIONMODEL option. + * + * Connections + * ----------- + * The PubSub connections are the abstraction between the concrete transport protocol + * and the PubSub functionality. It is possible to create multiple connections with + * different transport protocols at runtime. + */ + +/* Valid PublisherId types from Part 14 */ +typedef enum { + UA_PUBLISHERIDTYPE_BYTE = 0, + UA_PUBLISHERIDTYPE_UINT16 = 1, + UA_PUBLISHERIDTYPE_UINT32 = 2, + UA_PUBLISHERIDTYPE_UINT64 = 3, + UA_PUBLISHERIDTYPE_STRING = 4 +} UA_PublisherIdType; + +/* Publisher Id + Valid types are defined in Part 14, 7.2.2.2.2 NetworkMessage Layout: + + Bit range 0-2: PublisherId Type + 000 The PublisherId is of DataType Byte This is the default value if ExtendedFlags1 is omitted + 001 The PublisherId is of DataType UInt16 + 010 The PublisherId is of DataType UInt32 + 011 The PublisherId is of DataType UInt64 + 100 The PublisherId is of DataType String +*/ +typedef union { + UA_Byte byte; + UA_UInt16 uint16; + UA_UInt32 uint32; + UA_UInt64 uint64; + UA_String string; +} UA_PublisherId; + +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_PublisherIdType publisherIdType; + UA_PublisherId publisherId; + UA_String transportProfileUri; + UA_Variant address; + UA_KeyValueMap connectionProperties; + UA_Variant connectionTransportSettings; + + UA_EventLoop *eventLoop; /* Use an external EventLoop (use the EventLoop of + * the server if this is NULL). Propagates to the + * ReaderGroup/WriterGroup attached to the + * Connection. */ +} UA_PubSubConnectionConfig; + +#ifdef UA_ENABLE_PUBSUB_MONITORING + +typedef enum { + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT + // extend as needed +} UA_PubSubMonitoringType; + +/* PubSub monitoring interface */ +typedef struct { + UA_StatusCode (*createMonitoring)(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, + void *data, UA_ServerCallback callback); + UA_StatusCode (*startMonitoring)(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data); + UA_StatusCode (*stopMonitoring)(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data); + UA_StatusCode (*updateMonitoringInterval)(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, + void *data); + UA_StatusCode (*deleteMonitoring)(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data); +} UA_PubSubMonitoringInterface; + +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + +/* General PubSub configuration */ +struct UA_PubSubConfiguration { + /* Callback for PubSub component state changes: If provided this callback + * informs the application about PubSub component state changes. E.g. state + * change from operational to error in case of a DataSetReader + * MessageReceiveTimeout. The status code provides additional + * information. */ + void (*stateChangeCallback)(UA_Server *server, UA_NodeId *id, + UA_PubSubState state, UA_StatusCode status); + + UA_Boolean enableDeltaFrames; + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + UA_Boolean enableInformationModelMethods; +#endif + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + /* PubSub security policies */ + size_t securityPoliciesSize; + UA_PubSubSecurityPolicy *securityPolicies; +#endif + +#ifdef UA_ENABLE_PUBSUB_MONITORING + UA_PubSubMonitoringInterface monitoringInterface; +#endif +}; + +/* Add a new PubSub connection to the given server and open it. + * @param server The server to add the connection to. + * @param connectionConfig The configuration for the newly added connection. + * @param connectionIdentifier If not NULL will be set to the identifier of the + * newly added connection. + * @return UA_STATUSCODE_GOOD if connection was successfully added, otherwise an + * error code. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addPubSubConnection(UA_Server *server, + const UA_PubSubConnectionConfig *connectionConfig, + UA_NodeId *connectionIdentifier); + +/* Returns a deep copy of the config */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_getPubSubConnectionConfig(UA_Server *server, + const UA_NodeId connection, + UA_PubSubConnectionConfig *config); + +/* Remove Connection, identified by the NodeId. Deletion of Connection + * removes all contained WriterGroups and Writers. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_removePubSubConnection(UA_Server *server, const UA_NodeId connection); + +/** + * PublishedDataSets + * ----------------- + * The PublishedDataSets (PDS) are containers for the published information. The + * PDS contain the published variables and meta information. The metadata is + * commonly autogenerated or given as constant argument as part of the template + * functions. The template functions are standard defined and intended for + * configuration tools. You should normally create an empty PDS and call the + * functions to add new fields. */ + +/* The UA_PUBSUB_DATASET_PUBLISHEDITEMS has currently no additional members and + * thus no dedicated config structure. */ + +typedef enum { + UA_PUBSUB_DATASET_PUBLISHEDITEMS, + UA_PUBSUB_DATASET_PUBLISHEDEVENTS, + UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE, + UA_PUBSUB_DATASET_PUBLISHEDEVENTS_TEMPLATE, +} UA_PublishedDataSetType; + +typedef struct { + UA_DataSetMetaDataType metaData; + size_t variablesToAddSize; + UA_PublishedVariableDataType *variablesToAdd; +} UA_PublishedDataItemsTemplateConfig; + +typedef struct { + UA_NodeId eventNotfier; + UA_ContentFilter filter; +} UA_PublishedEventConfig; + +typedef struct { + UA_DataSetMetaDataType metaData; + UA_NodeId eventNotfier; + size_t selectedFieldsSize; + UA_SimpleAttributeOperand *selectedFields; + UA_ContentFilter filter; +} UA_PublishedEventTemplateConfig; + +/* Configuration structure for PublishedDataSet */ +typedef struct { + UA_String name; + UA_PublishedDataSetType publishedDataSetType; + union { + /* The UA_PUBSUB_DATASET_PUBLISHEDITEMS has currently no additional members + * and thus no dedicated config structure.*/ + UA_PublishedDataItemsTemplateConfig itemsTemplate; + UA_PublishedEventConfig event; + UA_PublishedEventTemplateConfig eventTemplate; + } config; +} UA_PublishedDataSetConfig; + +void UA_EXPORT +UA_PublishedDataSetConfig_clear(UA_PublishedDataSetConfig *pdsConfig); + +typedef struct { + UA_StatusCode addResult; + size_t fieldAddResultsSize; + UA_StatusCode *fieldAddResults; + UA_ConfigurationVersionDataType configurationVersion; +} UA_AddPublishedDataSetResult; + +UA_EXPORT UA_AddPublishedDataSetResult UA_THREADSAFE +UA_Server_addPublishedDataSet(UA_Server *server, + const UA_PublishedDataSetConfig *publishedDataSetConfig, + UA_NodeId *pdsIdentifier); + +/* Returns a deep copy of the config */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, + UA_PublishedDataSetConfig *config); + +/* Returns a deep copy of the DataSetMetaData for an specific PDS */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_getPublishedDataSetMetaData(UA_Server *server, const UA_NodeId pds, + UA_DataSetMetaDataType *metaData); + +/* Remove PublishedDataSet, identified by the NodeId. Deletion of PDS removes + * all contained and linked PDS Fields. Connected WriterGroups will be also + * removed. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_removePublishedDataSet(UA_Server *server, const UA_NodeId pds); + +/** + * DataSetFields + * ------------- + * The description of published variables is named DataSetField. Each + * DataSetField contains the selection of one information model node. The + * DataSetField has additional parameters for the publishing, sampling and error + * handling process. */ + +typedef struct{ + UA_ConfigurationVersionDataType configurationVersion; + UA_String fieldNameAlias; + UA_Boolean promotedField; + UA_PublishedVariableDataType publishParameters; + + /* non std. field */ + struct { + UA_Boolean rtFieldSourceEnabled; + /* If the rtInformationModelNode is set, the nodeid in publishParameter must point + * to a node with external data source backend defined + * */ + UA_Boolean rtInformationModelNode; + //TODO -> decide if suppress C++ warnings and use 'UA_DataValue * * const staticValueSource;' + UA_DataValue ** staticValueSource; + } rtValueSource; + UA_UInt32 maxStringLength; + +} UA_DataSetVariableConfig; + +typedef enum { + UA_PUBSUB_DATASETFIELD_VARIABLE, + UA_PUBSUB_DATASETFIELD_EVENT +} UA_DataSetFieldType; + +typedef struct { + UA_DataSetFieldType dataSetFieldType; + union { + /* events need other config later */ + UA_DataSetVariableConfig variable; + } field; +} UA_DataSetFieldConfig; + +void UA_EXPORT +UA_DataSetFieldConfig_clear(UA_DataSetFieldConfig *dataSetFieldConfig); + +typedef struct { + UA_StatusCode result; + UA_ConfigurationVersionDataType configurationVersion; +} UA_DataSetFieldResult; + +UA_EXPORT UA_DataSetFieldResult UA_THREADSAFE +UA_Server_addDataSetField(UA_Server *server, + const UA_NodeId publishedDataSet, + const UA_DataSetFieldConfig *fieldConfig, + UA_NodeId *fieldIdentifier); + +/* Returns a deep copy of the config */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_getDataSetFieldConfig(UA_Server *server, const UA_NodeId dsf, + UA_DataSetFieldConfig *config); + +UA_EXPORT UA_DataSetFieldResult UA_THREADSAFE +UA_Server_removeDataSetField(UA_Server *server, const UA_NodeId dsf); + +/** + * Custom Callback Implementation + * ------------------------------ + * The user can use his own callback implementation for publishing + * and subscribing. The user must take care of the callback to call for + * every publishing or subscibing interval */ + +typedef struct { + /* User's callback implementation. The user configured base time and timer policy + * will be provided as an argument to this callback so that the user can + * implement his callback (thread) considering base time and timer policies */ + UA_StatusCode (*addCustomCallback)(UA_Server *server, UA_NodeId identifier, + UA_ServerCallback callback, + void *data, UA_Double interval_ms, + UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, + UA_UInt64 *callbackId); + + UA_StatusCode (*changeCustomCallback)(UA_Server *server, UA_NodeId identifier, + UA_UInt64 callbackId, UA_Double interval_ms, + UA_DateTime *baseTime, UA_TimerPolicy timerPolicy); + + void (*removeCustomCallback)(UA_Server *server, UA_NodeId identifier, UA_UInt64 callbackId); + +} UA_PubSub_CallbackLifecycle; + +/** + * WriterGroup + * ----------- + * All WriterGroups are created within a PubSubConnection and automatically + * deleted if the connection is removed. The WriterGroup is primary used as + * container for :ref:`dsw` and network message settings. The WriterGroup can be + * imagined as producer of the network messages. The creation of network + * messages is controlled by parameters like the publish interval, which is e.g. + * contained in the WriterGroup. */ + +typedef enum { + UA_PUBSUB_ENCODING_UADP = 0, + UA_PUBSUB_ENCODING_JSON = 1, + UA_PUBSUB_ENCODING_BINARY = 2 +} UA_PubSubEncodingType; + +/** + * WriterGroup + * ----------- + * The message publishing can be configured for realtime requirements. The RT-levels + * go along with different requirements. The below listed levels can be configured: + * + * UA_PUBSUB_RT_NONE + * No realtime-specific configuration. + * + * UA_PUBSUB_RT_DIRECT_VALUE_ACCESS + * All PublishedDataSets need to point to a variable with a + * ``UA_VALUEBACKENDTYPE_EXTERNAL`` value backend. The value backend gets + * cached when the configuration is frozen. No lookup of the variable from + * the information is performed afterwards. This enables also big data + * structures to be updated atomically with a compare-and-switch operation on + * the ``UA_DataValue`` double-pointer in the backend. + * + * UA_PUBSUB_RT_FIXED_SIZE + * Validate that the message constains only fields with a known size. + * Then the message fields have fixed offsets that are known ahead of time. + * + * UA_PUBSUB_RT_DETERMINISTIC + * Both direct-access and fixed-size is being used. The server pre-allocates + * buffers when the configuration is frozen and uses only memcpy operations + * to update the PubSub network messages for sending. + * + * WARNING! For hard real time requirements the underlying system must be + * RT-capable. Also note that each PubSubConnection can have a dedicated + * EventLoop. That way normal client/server operations can run independently + * from PubSub. The double-pointer in the ``UA_VALUEBACKENDTYPE_EXTERNAL`` value + * backend allows avoid race-condition with non-blocking atomic operations. */ + +typedef enum { + UA_PUBSUB_RT_NONE = 0, + UA_PUBSUB_RT_DIRECT_VALUE_ACCESS = 1, + UA_PUBSUB_RT_FIXED_SIZE = 2, + UA_PUBSUB_RT_DETERMINISTIC = 3, +} UA_PubSubRTLevel; + +typedef struct { + UA_String name; + UA_Boolean enabled; + UA_UInt16 writerGroupId; + UA_Duration publishingInterval; + UA_Double keepAliveTime; + UA_Byte priority; + UA_ExtensionObject transportSettings; + UA_ExtensionObject messageSettings; + UA_KeyValueMap groupProperties; + UA_PubSubEncodingType encodingMimeType; + /* PubSub Manager Callback */ + UA_PubSub_CallbackLifecycle pubsubManagerCallback; + /* non std. config parameter. maximum count of embedded DataSetMessage in + * one NetworkMessage */ + UA_UInt16 maxEncapsulatedDataSetMessageCount; + /* non std. field */ + UA_PubSubRTLevel rtLevel; + + /* Message are encrypted if a SecurityPolicy is configured and the + * securityMode set accordingly. The symmetric key is a runtime information + * and has to be set via UA_Server_setWriterGroupEncryptionKey. */ + UA_MessageSecurityMode securityMode; /* via the UA_WriterGroupDataType */ +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_PubSubSecurityPolicy *securityPolicy; + UA_String securityGroupId; +#endif +} UA_WriterGroupConfig; + +void UA_EXPORT +UA_WriterGroupConfig_clear(UA_WriterGroupConfig *writerGroupConfig); + +/* Add a new WriterGroup to an existing Connection */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_addWriterGroup(UA_Server *server, const UA_NodeId connection, + const UA_WriterGroupConfig *writerGroupConfig, + UA_NodeId *writerGroupIdentifier); + +/* Returns a deep copy of the config */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_getWriterGroupConfig(UA_Server *server, const UA_NodeId writerGroup, + UA_WriterGroupConfig *config); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_updateWriterGroupConfig(UA_Server *server, UA_NodeId writerGroupIdentifier, + const UA_WriterGroupConfig *config); + +/* Get state of WriterGroup */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_WriterGroup_getState(UA_Server *server, UA_NodeId writerGroupIdentifier, + UA_PubSubState *state); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_WriterGroup_publish(UA_Server *server, const UA_NodeId writerGroupIdentifier); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_WriterGroup_lastPublishTimestamp(UA_Server *server, const UA_NodeId writerGroupId, + UA_DateTime *timestamp); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_removeWriterGroup(UA_Server *server, const UA_NodeId writerGroup); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_freezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_unfreezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_setWriterGroupOperational(UA_Server *server, const UA_NodeId writerGroup); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_setWriterGroupDisabled(UA_Server *server, const UA_NodeId writerGroup); + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +/* Set the group key for the message encryption */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce); +#endif + +/** + * .. _dsw: + * + * DataSetWriter + * ------------- + * The DataSetWriters are the glue between the WriterGroups and the + * PublishedDataSets. The DataSetWriter contain configuration parameters and + * flags which influence the creation of DataSet messages. These messages are + * encapsulated inside the network message. The DataSetWriter must be linked + * with an existing PublishedDataSet and be contained within a WriterGroup. */ + +typedef struct { + UA_String name; + UA_UInt16 dataSetWriterId; + UA_DataSetFieldContentMask dataSetFieldContentMask; + UA_UInt32 keyFrameCount; + UA_ExtensionObject messageSettings; + UA_ExtensionObject transportSettings; + UA_String dataSetName; + UA_KeyValueMap dataSetWriterProperties; +} UA_DataSetWriterConfig; + +void UA_EXPORT +UA_DataSetWriterConfig_clear(UA_DataSetWriterConfig *pdsConfig); + +/* Add a new DataSetWriter to an existing WriterGroup. The DataSetWriter must be + * coupled with a PublishedDataSet on creation. + * + * Part 14, 7.1.5.2.1 defines: The link between the PublishedDataSet and + * DataSetWriter shall be created when an instance of the DataSetWriterType is + * created. */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_addDataSetWriter(UA_Server *server, + const UA_NodeId writerGroup, const UA_NodeId dataSet, + const UA_DataSetWriterConfig *dataSetWriterConfig, + UA_NodeId *writerIdentifier); + +/* Returns a deep copy of the config */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_getDataSetWriterConfig(UA_Server *server, const UA_NodeId dsw, + UA_DataSetWriterConfig *config); + +/* Get state of DataSetWriter */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_DataSetWriter_getState(UA_Server *server, UA_NodeId dataSetWriterIdentifier, + UA_PubSubState *state); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_removeDataSetWriter(UA_Server *server, const UA_NodeId dsw); + +/** + * SubscribedDataSet + * ----------------- + * SubscribedDataSet describes the processing of the received DataSet. + * SubscribedDataSet defines which field in the DataSet is mapped to which + * Variable in the OPC UA Application. SubscribedDataSet has two sub-types + * called the TargetVariablesType and SubscribedDataSetMirrorType. + * SubscribedDataSetMirrorType is currently not supported. SubscribedDataSet is + * set to TargetVariablesType and then the list of target Variables are created + * in the Subscriber AddressSpace. TargetVariables are a list of variables that + * are to be added in the Subscriber AddressSpace. It defines a list of Variable + * mappings between received DataSet fields and added Variables in the + * Subscriber AddressSpace. */ + +/* SubscribedDataSetDataType Definition */ +typedef enum { + UA_PUBSUB_SDS_TARGET, + UA_PUBSUB_SDS_MIRROR +} UA_SubscribedDataSetEnumType; + +typedef struct { + /* Standard-defined FieldTargetDataType */ + UA_FieldTargetDataType targetVariable; + + /* If realtime-handling is required, set this pointer non-NULL and it will be used + * to memcpy the value instead of using the Write service. + * If the beforeWrite method pointer is set, it will be called before a memcpy update + * to the value. + * If the afterWrite method pointer is set, it will be called after a memcpy update + * to the value. */ + UA_DataValue **externalDataValue; + void *targetVariableContext; /* user-defined pointer */ + void (*beforeWrite)(UA_Server *server, + const UA_NodeId *readerIdentifier, + const UA_NodeId *readerGroupIdentifier, + const UA_NodeId *targetVariableIdentifier, + void *targetVariableContext, + UA_DataValue **externalDataValue); + void (*afterWrite)(UA_Server *server, + const UA_NodeId *readerIdentifier, + const UA_NodeId *readerGroupIdentifier, + const UA_NodeId *targetVariableIdentifier, + void *targetVariableContext, + UA_DataValue **externalDataValue); +} UA_FieldTargetVariable; + +typedef struct { + size_t targetVariablesSize; + UA_FieldTargetVariable *targetVariables; +} UA_TargetVariables; + +/* Return Status Code after creating TargetVariables in Subscriber AddressSpace */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_DataSetReader_createTargetVariables(UA_Server *server, + UA_NodeId dataSetReaderIdentifier, + size_t targetVariablesSize, + const UA_FieldTargetVariable *targetVariables); + +/* To Do:Implementation of SubscribedDataSetMirrorType + * UA_StatusCode + * A_PubSubDataSetReader_createDataSetMirror(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + * UA_SubscribedDataSetMirrorDataType* mirror) */ + +/** + * DataSetReader + * ------------- + * DataSetReader can receive NetworkMessages with the DataSetMessage + * of interest sent by the Publisher. DataSetReaders represent + * the configuration necessary to receive and process DataSetMessages + * on the Subscriber side. DataSetReader must be linked with a + * SubscribedDataSet and be contained within a ReaderGroup. */ + +typedef enum { + UA_PUBSUB_RT_UNKNOWN = 0, + UA_PUBSUB_RT_VARIANT = 1, + UA_PUBSUB_RT_DATA_VALUE = 2, + UA_PUBSUB_RT_RAW = 4, +} UA_PubSubRtEncoding; + +/* Parameters for PubSub DataSetReader Configuration */ +typedef struct { + UA_String name; + UA_Variant publisherId; + UA_UInt16 writerGroupId; + UA_UInt16 dataSetWriterId; + UA_DataSetMetaDataType dataSetMetaData; + UA_DataSetFieldContentMask dataSetFieldContentMask; + UA_Double messageReceiveTimeout; + UA_ExtensionObject messageSettings; + UA_ExtensionObject transportSettings; + UA_SubscribedDataSetEnumType subscribedDataSetType; + /* TODO UA_SubscribedDataSetMirrorDataType subscribedDataSetMirror */ + union { + UA_TargetVariables subscribedDataSetTarget; + // UA_SubscribedDataSetMirrorDataType subscribedDataSetMirror; + } subscribedDataSet; + /* non std. fields */ + UA_String linkedStandaloneSubscribedDataSetName; + UA_PubSubRtEncoding expectedEncoding; +} UA_DataSetReaderConfig; + +/* Copy the configuration of DataSetReader */ +UA_EXPORT UA_StatusCode +UA_DataSetReaderConfig_copy(const UA_DataSetReaderConfig *src, + UA_DataSetReaderConfig *dst); + +/* Clear the configuration of a DataSetReader */ +UA_EXPORT void +UA_DataSetReaderConfig_clear(UA_DataSetReaderConfig *cfg); + +/* Update configuration to the DataSetReader */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_DataSetReader_updateConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + UA_NodeId readerGroupIdentifier, + const UA_DataSetReaderConfig *config); + +/* Get the configuration (copy) of the DataSetReader */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_DataSetReader_getConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + UA_DataSetReaderConfig *config); + +/* Get state of DataSetReader */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_DataSetReader_getState(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + UA_PubSubState *state); + +typedef struct { + UA_String name; + UA_SubscribedDataSetEnumType subscribedDataSetType; + union { + /* datasetmirror is currently not implemented */ + UA_TargetVariablesDataType target; + } subscribedDataSet; + UA_DataSetMetaDataType dataSetMetaData; + UA_Boolean isConnected; +} UA_StandaloneSubscribedDataSetConfig; + +void +UA_StandaloneSubscribedDataSetConfig_clear(UA_StandaloneSubscribedDataSetConfig *sdsConfig); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_addStandaloneSubscribedDataSet(UA_Server *server, + const UA_StandaloneSubscribedDataSetConfig *subscribedDataSetConfig, + UA_NodeId *sdsIdentifier); + +/* Remove StandaloneSubscribedDataSet, identified by the NodeId. */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds); + +/** + * ReaderGroup + * ----------- + * + * ReaderGroup is used to group a list of DataSetReaders. All ReaderGroups are + * created within a PubSubConnection and automatically deleted if the connection + * is removed. All network message related filters are only available in the + * DataSetReader. + * + * The RT-levels go along with different requirements. The below listed levels + * can be configured for a ReaderGroup. + * + * - UA_PUBSUB_RT_NONE: RT applied to this level + * - PUBSUB_CONFIG_FASTPATH_FIXED_OFFSETS: Extends PubSub RT functionality and + * implements fast path message decoding in the Subscriber. Uses a buffered + * network message and only decodes the necessary offsets stored in an offset + * buffer. */ + +/* ReaderGroup configuration */ +typedef struct { + UA_String name; + + /* non std. field */ + UA_PubSubRTLevel rtLevel; + UA_KeyValueMap groupProperties; + UA_PubSubEncodingType encodingMimeType; + UA_ExtensionObject transportSettings; + + /* Messages are decrypted if a SecurityPolicy is configured and the + * securityMode set accordingly. The symmetric key is a runtime information + * and has to be set via UA_Server_setReaderGroupEncryptionKey. */ + UA_MessageSecurityMode securityMode; +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_PubSubSecurityPolicy *securityPolicy; + UA_String securityGroupId; +#endif +} UA_ReaderGroupConfig; + +void UA_EXPORT +UA_ReaderGroupConfig_clear(UA_ReaderGroupConfig *readerGroupConfig); + +/* Add DataSetReader to the ReaderGroup */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_addDataSetReader(UA_Server *server, UA_NodeId readerGroupIdentifier, + const UA_DataSetReaderConfig *dataSetReaderConfig, + UA_NodeId *readerIdentifier); + +/* Remove DataSetReader from ReaderGroup */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_removeDataSetReader(UA_Server *server, UA_NodeId readerIdentifier); + +/* To Do: Update Configuration of ReaderGroup + * UA_StatusCode UA_EXPORT + * UA_Server_ReaderGroup_updateConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, + * const UA_ReaderGroupConfig *config); + */ + +/* Get configuraiton of ReaderGroup */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_ReaderGroup_getConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, + UA_ReaderGroupConfig *config); + +/* Get state of ReaderGroup */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_ReaderGroup_getState(UA_Server *server, UA_NodeId readerGroupIdentifier, + UA_PubSubState *state); + +/* Add ReaderGroup to the created connection */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_addReaderGroup(UA_Server *server, UA_NodeId connectionIdentifier, + const UA_ReaderGroupConfig *readerGroupConfig, + UA_NodeId *readerGroupIdentifier); + +/* Remove ReaderGroup from connection */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_removeReaderGroup(UA_Server *server, UA_NodeId groupIdentifier); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_freezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_unfreezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_setReaderGroupOperational(UA_Server *server, const UA_NodeId readerGroupId); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_setReaderGroupDisabled(UA_Server *server, const UA_NodeId readerGroupId); + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +/* Set the group key for the message encryption */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_setReaderGroupEncryptionKeys(UA_Server *server, UA_NodeId readerGroup, + UA_UInt32 securityTokenId, + UA_ByteString signingKey, + UA_ByteString encryptingKey, + UA_ByteString keyNonce); +#endif + +#ifdef UA_ENABLE_PUBSUB_SKS + +/** + * SecurityGroup + * ------------- + * + * A SecurityGroup is an abstraction that represents the message security settings and + * security keys for a subset of NetworkMessages exchanged between Publishers and + * Subscribers. The SecurityGroup objects are created on a Security Key Service (SKS). The + * SKS manages the access to the keys based on the role permission for a user assigned to + * a SecurityGroup Object. A SecurityGroup is identified with a unique identifier called + * the SecurityGroupId. It is unique within the SKS. + * + * .. note:: The access to the SecurityGroup and therefore the securitykeys managed by SKS + * requires management of Roles and Permissions in the SKS. The Role Permission + * model is not supported at the time of writing. However, the access control plugin can + * be used to create and manage role permission on SecurityGroup object. + */ + +typedef struct { + UA_String securityGroupName; + UA_Duration keyLifeTime; + UA_String securityPolicyUri; + UA_UInt32 maxFutureKeyCount; + UA_UInt32 maxPastKeyCount; +} UA_SecurityGroupConfig; + +/** + * @brief Creates a SecurityGroup object and add it to the list in PubSub Manager. If the + * information model is enabled then the SecurityGroup object Node is also created in the + * server. A keyStorage with initial list of keys is created with a SecurityGroup. A + * callback is added to new SecurityGroup which updates the keys periodically at each + * KeyLifeTime expire. + * + * @param server The server instance + * @param securityGroupFolderNodeId The parent node of the SecurityGroup. It must be of + * SecurityGroupFolderType + * @param securityGroupConfig The security settings of a SecurityGroup + * @param securityGroupNodeId The output nodeId of the new SecurityGroup + * @return UA_StatusCode The return status code + */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_addSecurityGroup(UA_Server *server, UA_NodeId securityGroupFolderNodeId, + const UA_SecurityGroupConfig *securityGroupConfig, + UA_NodeId *securityGroupNodeId); + +/** + * @brief Removes the SecurityGroup from PubSub Manager. It removes the KeyStorage + * associated with the SecurityGroup from the server. + * + * @param server The server instance + * @param securityGroup The nodeId of the securityGroup to be removed + * @return UA_StatusCode The returned status code. + */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_removeSecurityGroup(UA_Server *server, const UA_NodeId securityGroup); + +/** + * @brief This is a repeated callback which is triggered on each iteration of SKS Pull request. + * The server uses this callback to notify user about the status of current Pull request iteration. + * The period is calculated based on the KeylifeTime of specified in the SecurityGroup object node on + * the SKS server. + * + * @param server The server instance managing the publisher/subscriber. + * @param sksPullRequestStatus The current status of sks pull request. + * @param context The pointer to user defined data passed to this callback. + */ +typedef void +(*UA_Server_sksPullRequestCallback)(UA_Server *server, UA_StatusCode sksPullRequestStatus, void* context); + +/** + * @brief Sets the SKS client config used to call the GetSecurityKeys Method on SKS and get the + * initial set of keys for a SecurityGroupId and adds timedCallback for the next GetSecurityKeys + * method Call. This uses async Client API for SKS Pull request. The SKS Client instance is created and destroyed at + * runtime on each iteration of SKS Pull request by the server. The key Rollover mechanism will check if the new + * keys are needed then it will call the getSecurityKeys Method on SKS Server. At the end of SKS Pull request + * iteration, the sks client will be deleted by a delayed callback (in next server iteration). + * + * @note It is be called before setting Reader/Writer Group into Operational because this also allocates + * a channel context for the pubsub security policy. + * + * @note the stateCallback of sksClientConfig will be overwritten by an internal callback. + * + * @param server the server instance + * @param clientConfig holds the required configuration to make encrypted connection with + * SKS Server. The input client config takes the lifecycle as long as SKS request are made. + * It is deleted with its plugins when the server is deleted or the last Reader/Writer + * Group of the securityGroupId is deleted. The input config is copied to an internal + * config object and the content of input config object will be reset to zero. + * @param endpointUrl holds the endpointUrl of the SKS server + * @param securityGroupId the SecurityGroupId of the securityGroup on SKS and + * reader/writergroups + * @param callback the user defined callback to notify the user about the status of SKS + * Pull request. + * @param context passed to the callback function + * @return UA_StatusCode the retuned status + */ +UA_StatusCode UA_EXPORT +UA_Server_setSksClient(UA_Server *server, UA_String securityGroupId, + UA_ClientConfig *clientConfig, const char *endpointUrl, + UA_Server_sksPullRequestCallback callback, void *context); + +#endif /* UA_ENABLE_PUBSUB_SKS */ + +#endif /* UA_ENABLE_PUBSUB */ + +_UA_END_DECLS + +#endif /* UA_SERVER_PUBSUB_H */ + +/**** amalgamated original file "/include/open62541/client.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015-2017 (c) Florian Palm + * Copyright 2015 (c) Holger Jeromin + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Kalycito Infotech Private Limited + * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart + * Copyright 2022 (c) Linutronix GmbH (Author: Muddasir Shakil) + */ + + + + +/* Forward declarations */ +struct UA_ClientConfig; +typedef struct UA_ClientConfig UA_ClientConfig; + +_UA_BEGIN_DECLS + +/** + * .. _client: + * + * Client + * ====== + * + * The client implementation allows remote access to all OPC UA services. For + * convenience, some functionality has been wrapped in :ref:`high-level + * abstractions `. + * + * **However**: At this time, the client does not yet contain its own thread or + * event-driven main-loop, meaning that the client will not perform any actions + * automatically in the background. This is especially relevant for + * connection/session management and subscriptions. The user will have to + * periodically call `UA_Client_run_iterate` to ensure that asynchronous events + * are handled, including keeping a secure connection established. + * See more about :ref:`asynchronicity` and + * :ref:`subscriptions`. + * + * .. _client-config: + * + * Client Configuration + * -------------------- + * + * The client configuration is used for setting connection parameters and + * additional settings used by the client. + * The configuration should not be modified after it is passed to a client. + * Currently, only one client can use a configuration at a time. + * + * Examples for configurations are provided in the ``/plugins`` folder. + * The usual usage is as follows: + * + * 1. Create a client configuration with default settings as a starting point + * 2. Modifiy the configuration, e.g. modifying the timeout + * 3. Instantiate a client with it + * 4. After shutdown of the client, clean up the configuration (free memory) + * + * The :ref:`tutorials` provide a good starting point for this. */ + +struct UA_ClientConfig { + void *clientContext; /* User-defined pointer attached to the client */ + UA_Logger *logging; /* Plugin for log output */ + + /* Response timeout in ms (0 -> no timeout). If the server does not answer a + * request within this time a StatusCode UA_STATUSCODE_BADTIMEOUT is + * returned. This timeout can be overridden for individual requests by + * setting a non-null "timeoutHint" in the request header. */ + UA_UInt32 timeout; + + /* The description must be internally consistent. + * - The ApplicationUri set in the ApplicationDescription must match the + * URI set in the certificate */ + UA_ApplicationDescription clientDescription; + + /* The endpoint for the client to connect to. + * Such as "opc.tcp://host:port". */ + UA_String endpointUrl; + + /** + * Connection configuration + * ~~~~~~~~~~~~~~~~~~~~~~~~ + * + * The following configuration elements reduce the "degrees of freedom" the + * client has when connecting to a server. If no connection can be made + * under these restrictions, then the connection will abort with an error + * message. */ + UA_ExtensionObject userIdentityToken; /* Configured User-Identity Token */ + UA_MessageSecurityMode securityMode; /* None, Sign, SignAndEncrypt. The + * default is "invalid". This + * indicates the client to select any + * matching endpoint. */ + UA_String securityPolicyUri; /* SecurityPolicy for the SecureChannel. An + * empty string indicates the client to select + * any matching SecurityPolicy. */ + + UA_Boolean noSession; /* Only open a SecureChannel, but no Session */ + UA_Boolean noReconnect; /* Don't reconnect SecureChannel when the connection + * is lost without explicitly closing. */ + UA_Boolean noNewSession; /* Don't automatically create a new Session when + * the intial one is lost. Instead abort the + * connection when the Session is lost. */ + + /** + * If either endpoint or userTokenPolicy has been set, then they are used + * directly. Otherwise this information comes from the GetEndpoints response + * from the server (filtered and selected for the SecurityMode, etc.). */ + UA_EndpointDescription endpoint; + UA_UserTokenPolicy userTokenPolicy; + + /** + * If the EndpointDescription has not been defined, the ApplicationURI + * filters the servers considered in the FindServers service and the + * Endpoints considered in the GetEndpoints service. */ + UA_String applicationUri; + + /** + * Custom Data Types + * ~~~~~~~~~~~~~~~~~ + * The following is a linked list of arrays with custom data types. All data + * types that are accessible from here are automatically considered for the + * decoding of received messages. Custom data types are not cleaned up + * together with the configuration. So it is possible to allocate them on + * ROM. + * + * See the section on :ref:`generic-types`. Examples for working with custom + * data types are provided in ``/examples/custom_datatype/``. */ + const UA_DataTypeArray *customDataTypes; + + /** + * Advanced Client Configuration + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + + UA_UInt32 secureChannelLifeTime; /* Lifetime in ms (then the channel needs + to be renewed) */ + UA_UInt32 requestedSessionTimeout; /* Session timeout in ms */ + UA_ConnectionConfig localConnectionConfig; + UA_UInt32 connectivityCheckInterval; /* Connectivity check interval in ms. + * 0 = background task disabled */ + + /* EventLoop */ + UA_EventLoop *eventLoop; + UA_Boolean externalEventLoop; /* The EventLoop is not deleted with the config */ + + /* Available SecurityPolicies */ + size_t securityPoliciesSize; + UA_SecurityPolicy *securityPolicies; + + /* Certificate Verification Plugin */ + UA_CertificateVerification certificateVerification; + + /* Available SecurityPolicies for Authentication. The policy defined by the + * AccessControl is selected. If no policy is defined, the policy of the + * secure channel is selected.*/ + size_t authSecurityPoliciesSize; + UA_SecurityPolicy *authSecurityPolicies; + + /* SecurityPolicyUri for the Authentication. */ + UA_String authSecurityPolicyUri; + + /* Callback for state changes. The client state is differentated into the + * SecureChannel state and the Session state. The connectStatus is set if + * the client connection (including reconnects) has failed and the client + * has to "give up". If the connectStatus is not set, the client still has + * hope to connect or recover. */ + void (*stateCallback)(UA_Client *client, + UA_SecureChannelState channelState, + UA_SessionState sessionState, + UA_StatusCode connectStatus); + + /* When connectivityCheckInterval is greater than 0, every + * connectivityCheckInterval (in ms), an async read request is performed on + * the server. inactivityCallback is called when the client receive no + * response for this read request The connection can be closed, this in an + * attempt to recreate a healthy connection. */ + void (*inactivityCallback)(UA_Client *client); + + /* Number of PublishResponse queued up in the server */ + UA_UInt16 outStandingPublishRequests; + + /* If the client does not receive a PublishResponse after the defined delay + * of ``(sub->publishingInterval * sub->maxKeepAliveCount) + + * client->config.timeout)``, then subscriptionInactivityCallback is called + * for the subscription.. */ + void (*subscriptionInactivityCallback)(UA_Client *client, + UA_UInt32 subscriptionId, + void *subContext); + + /* Session config */ + UA_String sessionName; + UA_LocaleId *sessionLocaleIds; + size_t sessionLocaleIdsSize; + +#ifdef UA_ENABLE_ENCRYPTION + /* If the private key is in PEM format and password protected, this callback + * is called during initialization to get the password to decrypt the + * private key. The memory containing the password is freed by the client + * after use. The callback should be set early, other parts of the client + * config setup may depend on it. */ + UA_StatusCode (*privateKeyPasswordCallback)(UA_ClientConfig *cc, + UA_ByteString *password); +#endif +}; + +/** + * @brief It makes a partial deep copy of the clientconfig. It makes a shallow + * copies of the plugins (logger, eventloop, securitypolicy). + * + * NOTE: It makes a shallow copy of all the plugins from source to destination. + * Therefore calling _clear on the dst object will also delete the plugins in src + * object. + */ +UA_EXPORT UA_StatusCode +UA_ClientConfig_copy(UA_ClientConfig const *src, UA_ClientConfig *dst); + +/** + * @brief It cleans the client config and frees the pointer. + */ +UA_EXPORT void +UA_ClientConfig_delete(UA_ClientConfig *config); + +/** + * @brief It cleans the client config and deletes the plugins, whereas + * _copy makes a shallow copy of the plugins. + */ +UA_EXPORT void +UA_ClientConfig_clear(UA_ClientConfig *config); + +/* Configure Username/Password for the Session authentication. Also see + * UA_ClientConfig_setAuthenticationCert for x509-based authentication, which is + * implemented as a plugin (as it can be based on different crypto + * libraries). */ +static UA_INLINE UA_StatusCode +UA_ClientConfig_setAuthenticationUsername(UA_ClientConfig *config, + const char *username, + const char *password) { + UA_UserNameIdentityToken* identityToken = UA_UserNameIdentityToken_new(); + if(!identityToken) + return UA_STATUSCODE_BADOUTOFMEMORY; + identityToken->userName = UA_STRING_ALLOC(username); + identityToken->password = UA_STRING_ALLOC(password); + + UA_ExtensionObject_clear(&config->userIdentityToken); + UA_ExtensionObject_setValue(&config->userIdentityToken, identityToken, + &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); + return UA_STATUSCODE_GOOD; +} + +/** + * Client Lifecycle + * ---------------- */ + +/* Create a new client with a default configuration that adds plugins for + * networking, security, logging and so on. See `client_config_default.h` for + * more detailed options. + * + * The default configuration can be used as the starting point to adjust the + * client configuration to individual needs. UA_Client_new is implemented in the + * /plugins folder under the CC0 license. Furthermore the client confiugration + * only uses the public server API. + * + * @return Returns the configured client or NULL if an error occurs. */ +UA_EXPORT UA_Client * UA_Client_new(void); + +/* Creates a new client. Moves the config into the client with a shallow copy. + * The config content is cleared together with the client. */ +UA_Client UA_EXPORT * +UA_Client_newWithConfig(const UA_ClientConfig *config); + +/* Returns the current state. All arguments except ``client`` can be NULL. */ +void UA_EXPORT UA_THREADSAFE +UA_Client_getState(UA_Client *client, + UA_SecureChannelState *channelState, + UA_SessionState *sessionState, + UA_StatusCode *connectStatus); + +/* Get the client configuration */ +UA_EXPORT UA_ClientConfig * +UA_Client_getConfig(UA_Client *client); + +/* Get the client context */ +static UA_INLINE void * +UA_Client_getContext(UA_Client *client) { + return UA_Client_getConfig(client)->clientContext; /* Cannot fail */ +} + +/* (Disconnect and) delete the client */ +void UA_EXPORT +UA_Client_delete(UA_Client *client); + +/** + * Connection Attrbiutes + * --------------------- + * + * Besides the client configuration, some attributes of the connection are + * defined only at runtime. For example the choice of SecurityPolicy or the + * ApplicationDescripton from the server. This API allows to access such + * connection attributes. + * + * The currently defined connection attributes are: + * + * - 0:serverDescription [UA_ApplicationDescription]: Server description + * - 0:securityPolicyUri [UA_String]: Uri of the SecurityPolicy used + * - 0:securityMode [UA_MessageSecurityMode]: SecurityMode of the SecureChannel + */ + +/* Returns a shallow copy of the attribute. Don't _clear or _delete the value + * variant. Don't use the value after returning the control flow to the client. + * Also don't use this in a multi-threaded application. */ +UA_EXPORT UA_StatusCode +UA_Client_getConnectionAttribute(UA_Client *client, const UA_QualifiedName key, + UA_Variant *outValue); + +/* Return a deep copy of the attribute */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Client_getConnectionAttributeCopy(UA_Client *client, const UA_QualifiedName key, + UA_Variant *outValue); + +/* Returns NULL if the attribute is not defined or not a scalar or not of the + * right datatype. Otherwise a shallow copy of the scalar value is created at + * the target location of the void pointer. Hence don't use this in a + * multi-threaded application. */ +UA_EXPORT UA_StatusCode +UA_Client_getConnectionAttribute_scalar(UA_Client *client, + const UA_QualifiedName key, + const UA_DataType *type, + void *outValue); + +/** + * Connect to a Server + * ------------------- + * + * Once a client is connected to an endpointUrl, it is not possible to switch to + * another server. A new client has to be created for that. + * + * Once a connection is established, the client keeps the connection open and + * reconnects if necessary. + * + * If the connection fails unrecoverably (state->connectStatus is set to an + * error), the client is no longer usable. Create a new client if required. */ + +/* Connect with the client configuration. For the async connection, finish + * connecting via UA_Client_run_iterate (or manually running a configured + * external EventLoop). */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +__UA_Client_connect(UA_Client *client, UA_Boolean async); + +/* Connect to the server. First a SecureChannel is opened, then a Session. The + * client configuration restricts the SecureChannel selection and contains the + * UserIdentityToken for the Session. + * + * @param client to use + * @param endpointURL to connect (for example "opc.tcp://localhost:4840") + * @return Indicates whether the operation succeeded or returns an error code */ +static UA_INLINE UA_StatusCode +UA_Client_connect(UA_Client *client, const char *endpointUrl) { + /* Update the configuration */ + UA_ClientConfig *cc = UA_Client_getConfig(client); + cc->noSession = false; /* Open a Session */ + UA_String_clear(&cc->endpointUrl); + cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); + + /* Connect */ + return __UA_Client_connect(client, false); +} + +/* Connect async (non-blocking) to the server. After initiating the connection, + * call UA_Client_run_iterate repeatedly until the connection is fully + * established. You can set a callback to client->config.stateCallback to be + * notified when the connection status changes. Or use UA_Client_getState to get + * the state manually. */ +static UA_INLINE UA_StatusCode +UA_Client_connectAsync(UA_Client *client, const char *endpointUrl) { + /* Update the configuration */ + UA_ClientConfig *cc = UA_Client_getConfig(client); + cc->noSession = false; /* Open a Session */ + UA_String_clear(&cc->endpointUrl); + cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); + + /* Connect */ + return __UA_Client_connect(client, true); +} + +/* Connect to the server without creating a session + * + * @param client to use + * @param endpointURL to connect (for example "opc.tcp://localhost:4840") + * @return Indicates whether the operation succeeded or returns an error code */ +static UA_INLINE UA_StatusCode +UA_Client_connectSecureChannel(UA_Client *client, const char *endpointUrl) { + /* Update the configuration */ + UA_ClientConfig *cc = UA_Client_getConfig(client); + cc->noSession = true; /* Don't open a Session */ + UA_String_clear(&cc->endpointUrl); + cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); + + /* Connect */ + return __UA_Client_connect(client, false); +} + +/* Connect async (non-blocking) only the SecureChannel */ +static UA_INLINE UA_StatusCode +UA_Client_connectSecureChannelAsync(UA_Client *client, const char *endpointUrl) { + /* Update the configuration */ + UA_ClientConfig *cc = UA_Client_getConfig(client); + cc->noSession = true; /* Don't open a Session */ + UA_String_clear(&cc->endpointUrl); + cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); + + /* Connect */ + return __UA_Client_connect(client, true); +} + +/* Connect to the server and create+activate a Session with the given username + * and password. This first set the UserIdentityToken in the client config and + * then calls the regular connect method. */ +static UA_INLINE UA_StatusCode +UA_Client_connectUsername(UA_Client *client, const char *endpointUrl, + const char *username, const char *password) { + /* Set the user identity token */ + UA_ClientConfig *cc = UA_Client_getConfig(client); + UA_StatusCode res = + UA_ClientConfig_setAuthenticationUsername(cc, username, password); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Connect */ + return UA_Client_connect(client, endpointUrl); +} + +/* Sets up a listening socket for incoming reverse connect requests by OPC UA + * servers. After the first server has connected, the listening socket is + * removed. The client state callback is also used for reverse connect. An + * implementation could for example issue a new call to + * UA_Client_startListeningForReverseConnect after the server has closed the + * connection. If the client is connected to any server while + * UA_Client_startListeningForReverseConnect is called, the connection will be + * closed. + * + * The reverse connect is closed by calling the standard disconnect functions + * like for a "normal" connection that was initiated by the client. Calling one + * of the connect methods will also close the listening socket and the + * connection to the remote server. */ +UA_StatusCode UA_EXPORT +UA_Client_startListeningForReverseConnect( + UA_Client *client, const UA_String *listenHostnames, + size_t listenHostnamesLength, UA_UInt16 port); + +/* Disconnect and close a connection to the selected server. Disconnection is + * always performed async (without blocking). */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_disconnect(UA_Client *client); + +/* Disconnect async. Run UA_Client_run_iterate until the callback notifies that + * all connections are closed. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_disconnectAsync(UA_Client *client); + +/* Disconnect the SecureChannel but keep the Session intact (if it exists). */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_disconnectSecureChannel(UA_Client *client); + +/* Disconnect the SecureChannel but keep the Session intact (if it exists). This + * is an async operation. Iterate the client until the SecureChannel was fully + * cleaned up. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_disconnectSecureChannelAsync(UA_Client *client); + +/* Get the AuthenticationToken and ServerNonce required to activate the current + * Session on a different SecureChannel. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_getSessionAuthenticationToken( + UA_Client *client, UA_NodeId *authenticationToken, UA_ByteString *serverNonce); + +/* Re-activate the current session. A change of prefered locales can be done by + * updating the client configuration. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_activateCurrentSession(UA_Client *client); + +/* Async version of UA_Client_activateCurrentSession */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_activateCurrentSessionAsync(UA_Client *client); + +/* Activate an already created Session. This allows a Session to be transferred + * from a different client instance. The AuthenticationToken and ServerNonce + * must be provided for this. Both can be retrieved for an activated Session + * with UA_Client_getSessionAuthenticationToken. + * + * The UserIdentityToken used for authentication must be identical to the + * original activation of the Session. The UserIdentityToken is set in the + * client configuration. + * + * Note the noNewSession option if there should not be a new Session + * automatically created when this one closes. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_activateSession(UA_Client *client, + const UA_NodeId authenticationToken, + const UA_ByteString serverNonce); + +/* Async version of UA_Client_activateSession */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_activateSessionAsync(UA_Client *client, + const UA_NodeId authenticationToken, + const UA_ByteString serverNonce); + +/** + * Discovery + * --------- */ + +/* Gets a list of endpoints of a server + * + * @param client to use. Must be connected to the same endpoint given in + * serverUrl or otherwise in disconnected state. + * @param serverUrl url to connect (for example "opc.tcp://localhost:4840") + * @param endpointDescriptionsSize size of the array of endpoint descriptions + * @param endpointDescriptions array of endpoint descriptions that is allocated + * by the function (you need to free manually) + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_getEndpoints(UA_Client *client, const char *serverUrl, + size_t* endpointDescriptionsSize, + UA_EndpointDescription** endpointDescriptions); + +/* Gets a list of all registered servers at the given server. + * + * You can pass an optional filter for serverUris. If the given server is not + * registered, an empty array will be returned. If the server is registered, + * only that application description will be returned. + * + * Additionally you can optionally indicate which locale you want for the server + * name in the returned application description. The array indicates the order + * of preference. A server may have localized names. + * + * @param client to use. Must be connected to the same endpoint given in + * serverUrl or otherwise in disconnected state. + * @param serverUrl url to connect (for example "opc.tcp://localhost:4840") + * @param serverUrisSize Optional filter for specific server uris + * @param serverUris Optional filter for specific server uris + * @param localeIdsSize Optional indication which locale you prefer + * @param localeIds Optional indication which locale you prefer + * @param registeredServersSize size of returned array, i.e., number of + * found/registered servers + * @param registeredServers array containing found/registered servers + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_findServers(UA_Client *client, const char *serverUrl, + size_t serverUrisSize, UA_String *serverUris, + size_t localeIdsSize, UA_String *localeIds, + size_t *registeredServersSize, + UA_ApplicationDescription **registeredServers); + +/* Get a list of all known server in the network. Only supported by LDS servers. + * + * @param client to use. Must be connected to the same endpoint given in + * serverUrl or otherwise in disconnected state. + * @param serverUrl url to connect (for example "opc.tcp://localhost:4840") + * @param startingRecordId optional. Only return the records with an ID higher + * or equal the given. Can be used for pagination to only get a subset of + * the full list + * @param maxRecordsToReturn optional. Only return this number of records + + * @param serverCapabilityFilterSize optional. Filter the returned list to only + * get servers with given capabilities, e.g. "LDS" + * @param serverCapabilityFilter optional. Filter the returned list to only get + * servers with given capabilities, e.g. "LDS" + * @param serverOnNetworkSize size of returned array, i.e., number of + * known/registered servers + * @param serverOnNetwork array containing known/registered servers + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_findServersOnNetwork(UA_Client *client, const char *serverUrl, + UA_UInt32 startingRecordId, + UA_UInt32 maxRecordsToReturn, + size_t serverCapabilityFilterSize, + UA_String *serverCapabilityFilter, + size_t *serverOnNetworkSize, + UA_ServerOnNetwork **serverOnNetwork); + +/** + * .. _client-services: + * + * Services + * -------- + * + * The raw OPC UA services are exposed to the client. But most of the time, it + * is better to use the convenience functions from ``ua_client_highlevel.h`` + * that wrap the raw services. */ +/* Don't use this function. Use the type versions below instead. */ +void UA_EXPORT UA_THREADSAFE +__UA_Client_Service(UA_Client *client, const void *request, + const UA_DataType *requestType, void *response, + const UA_DataType *responseType); + +/* + * Attribute Service Set + * ^^^^^^^^^^^^^^^^^^^^^ */ +static UA_INLINE UA_THREADSAFE UA_ReadResponse +UA_Client_Service_read(UA_Client *client, const UA_ReadRequest request) { + UA_ReadResponse response; + __UA_Client_Service(client, &request, &UA_TYPES[UA_TYPES_READREQUEST], + &response, &UA_TYPES[UA_TYPES_READRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_WriteResponse +UA_Client_Service_write(UA_Client *client, const UA_WriteRequest request) { + UA_WriteResponse response; + __UA_Client_Service(client, &request, &UA_TYPES[UA_TYPES_WRITEREQUEST], + &response, &UA_TYPES[UA_TYPES_WRITERESPONSE]); + return response; +} + +/* + * Historical Access Service Set + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ +static UA_INLINE UA_THREADSAFE UA_HistoryReadResponse +UA_Client_Service_historyRead(UA_Client *client, + const UA_HistoryReadRequest request) { + UA_HistoryReadResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST], + &response, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_HistoryUpdateResponse +UA_Client_Service_historyUpdate(UA_Client *client, + const UA_HistoryUpdateRequest request) { + UA_HistoryUpdateResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST], + &response, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); + return response; +} + +/* + * Method Service Set + * ^^^^^^^^^^^^^^^^^^ */ +static UA_INLINE UA_THREADSAFE UA_CallResponse +UA_Client_Service_call(UA_Client *client, + const UA_CallRequest request) { + UA_CallResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_CALLREQUEST], + &response, &UA_TYPES[UA_TYPES_CALLRESPONSE]); + return response; +} + +/* + * NodeManagement Service Set + * ^^^^^^^^^^^^^^^^^^^^^^^^^^ */ +static UA_INLINE UA_THREADSAFE UA_AddNodesResponse +UA_Client_Service_addNodes(UA_Client *client, + const UA_AddNodesRequest request) { + UA_AddNodesResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_ADDNODESREQUEST], + &response, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_AddReferencesResponse +UA_Client_Service_addReferences(UA_Client *client, + const UA_AddReferencesRequest request) { + UA_AddReferencesResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST], + &response, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_DeleteNodesResponse +UA_Client_Service_deleteNodes(UA_Client *client, + const UA_DeleteNodesRequest request) { + UA_DeleteNodesResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_DELETENODESREQUEST], + &response, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_DeleteReferencesResponse +UA_Client_Service_deleteReferences( + UA_Client *client, const UA_DeleteReferencesRequest request) { + UA_DeleteReferencesResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST], + &response, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); + return response; +} + +/* + * View Service Set + * ^^^^^^^^^^^^^^^^ */ +static UA_INLINE UA_THREADSAFE UA_BrowseResponse +UA_Client_Service_browse(UA_Client *client, + const UA_BrowseRequest request) { + UA_BrowseResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_BROWSEREQUEST], + &response, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_BrowseNextResponse +UA_Client_Service_browseNext(UA_Client *client, + const UA_BrowseNextRequest request) { + UA_BrowseNextResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST], + &response, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_TranslateBrowsePathsToNodeIdsResponse +UA_Client_Service_translateBrowsePathsToNodeIds( + UA_Client *client, + const UA_TranslateBrowsePathsToNodeIdsRequest request) { + UA_TranslateBrowsePathsToNodeIdsResponse response; + __UA_Client_Service( + client, &request, + &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST], + &response, + &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_RegisterNodesResponse +UA_Client_Service_registerNodes(UA_Client *client, + const UA_RegisterNodesRequest request) { + UA_RegisterNodesResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST], + &response, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_UnregisterNodesResponse +UA_Client_Service_unregisterNodes( + UA_Client *client, const UA_UnregisterNodesRequest request) { + UA_UnregisterNodesResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST], + &response, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); + return response; +} + +/* + * Query Service Set + * ^^^^^^^^^^^^^^^^^ */ +#ifdef UA_ENABLE_QUERY + +static UA_INLINE UA_THREADSAFE UA_QueryFirstResponse +UA_Client_Service_queryFirst(UA_Client *client, + const UA_QueryFirstRequest request) { + UA_QueryFirstResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST], + &response, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); + return response; +} + +static UA_INLINE UA_THREADSAFE UA_QueryNextResponse +UA_Client_Service_queryNext(UA_Client *client, + const UA_QueryNextRequest request) { + UA_QueryNextResponse response; + __UA_Client_Service( + client, &request, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST], + &response, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); + return response; +} + +#endif + +/** + * .. _client-async-services: + * + * Asynchronous Services + * --------------------- + * All OPC UA services are asynchronous in nature. So several service calls can + * be made without waiting for the individual responses. Depending on the + * server's priorities responses may come in a different ordering than sent. Use + * the typed wrappers for async service requests instead of + * `__UA_Client_AsyncService` directly. See :ref:`client_async`. However, the + * general mechanism of async service calls is explained here. + * + * Connection and session management are performed in `UA_Client_run_iterate`, + * so to keep a connection healthy any client needs to consider how and when it + * is appropriate to do the call. This is especially true for the periodic + * renewal of a SecureChannel's SecurityToken which is designed to have a + * limited lifetime and will invalidate the connection if not renewed. + * + * We say that an async service call has been dispatched once + * __UA_Client_AsyncService returns UA_STATUSCODE_GOOD. If there is an error + * after an async service has been dispatched, the callback is called with an + * "empty" response where the StatusCode has been set accordingly. This is also + * done if the client is shutting down and the list of dispatched async services + * is emptied. + * + * The StatusCode received when the client is shutting down is + * UA_STATUSCODE_BADSHUTDOWN. The StatusCode received when the client doesn't + * receive response after the specified in config->timeout (can be overridden + * via the "timeoutHint" in the request header) is UA_STATUSCODE_BADTIMEOUT. + * + * The userdata and requestId arguments can be NULL. The (optional) requestId + * output can be used to cancel the service while it is still pending. The + * requestId is unique for each service request. Alternatively the requestHandle + * can be manually set (non necessarily unique) in the request header for full + * service call. This can be used to cancel all outstanding requests using that + * handle together. Note that the client will auto-generate a requestHandle + * >100,000 if none is defined. Avoid these when manually setting a requetHandle + * in the requestHeader to avoid clashes. */ + +typedef void +(*UA_ClientAsyncServiceCallback)(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +__UA_Client_AsyncService(UA_Client *client, const void *request, + const UA_DataType *requestType, + UA_ClientAsyncServiceCallback callback, + const UA_DataType *responseType, + void *userdata, UA_UInt32 *requestId); + +/* Cancel all dispatched requests with the given requestHandle. + * The number if cancelled requests is returned by the server. + * The output argument cancelCount is not set if NULL. */ +UA_EXPORT UA_THREADSAFE UA_StatusCode +UA_Client_cancelByRequestHandle(UA_Client *client, UA_UInt32 requestHandle, + UA_UInt32 *cancelCount); + +/* Map the requestId to the requestHandle used for that request and call the + * Cancel service for that requestHandle. */ +UA_EXPORT UA_THREADSAFE UA_StatusCode +UA_Client_cancelByRequestId(UA_Client *client, UA_UInt32 requestId, + UA_UInt32 *cancelCount); + +/* Set new userdata and callback for an existing request. + * + * @param client Pointer to the UA_Client + * @param requestId RequestId of the request, which was returned by + * __UA_Client_AsyncService before + * @param userdata The new userdata + * @param callback The new callback + * @return UA_StatusCode UA_STATUSCODE_GOOD on success + * UA_STATUSCODE_BADNOTFOUND when no request with requestId is found. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_modifyAsyncCallback(UA_Client *client, UA_UInt32 requestId, + void *userdata, UA_ClientAsyncServiceCallback callback); + +/* Listen on the network and process arriving asynchronous responses in the + * background. Internal housekeeping, renewal of SecureChannels and subscription + * management is done as well. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_run_iterate(UA_Client *client, UA_UInt32 timeout); + +/* Force the manual renewal of the SecureChannel. This is useful to renew the + * SecureChannel during a downtime when no time-critical operations are + * performed. This method is asynchronous. The renewal is triggered (the OPN + * message is sent) but not completed. The OPN response is handled with + * ``UA_Client_run_iterate`` or a synchronous service-call operation. + * + * @return The return value is UA_STATUSCODE_GOODCALLAGAIN if the SecureChannel + * has not elapsed at least 75% of its lifetime. Otherwise the + * ``connectStatus`` is returned. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_renewSecureChannel(UA_Client *client); + +/** + * Timed Callbacks + * --------------- + * Repeated callbacks can be attached to a client and will be executed in the + * defined interval. */ + +typedef void (*UA_ClientCallback)(UA_Client *client, void *data); + +/* Add a callback for execution at a specified time. If the indicated time lies + * in the past, then the callback is executed at the next iteration of the + * server's main loop. + * + * @param client The client object. + * @param callback The callback that shall be added. + * @param data Data that is forwarded to the callback. + * @param date The timestamp for the execution time. + * @param callbackId Set to the identifier of the repeated callback. This can + * be used to cancel the callback later on. If the pointer is null, the + * identifier is not set. + * @return Upon success, UA_STATUSCODE_GOOD is returned. An error code + * otherwise. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_addTimedCallback(UA_Client *client, UA_ClientCallback callback, + void *data, UA_DateTime date, UA_UInt64 *callbackId); + +/* Add a callback for cyclic repetition to the client. + * + * @param client The client object. + * @param callback The callback that shall be added. + * @param data Data that is forwarded to the callback. + * @param interval_ms The callback shall be repeatedly executed with the given + * interval (in ms). The interval must be positive. The first execution + * occurs at now() + interval at the latest. + * @param callbackId Set to the identifier of the repeated callback. This can + * be used to cancel the callback later on. If the pointer is null, the + * identifier is not set. + * @return Upon success, UA_STATUSCODE_GOOD is returned. An error code + * otherwise. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_addRepeatedCallback(UA_Client *client, UA_ClientCallback callback, + void *data, UA_Double interval_ms, + UA_UInt64 *callbackId); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Client_changeRepeatedCallbackInterval(UA_Client *client, + UA_UInt64 callbackId, + UA_Double interval_ms); + +void UA_EXPORT UA_THREADSAFE +UA_Client_removeCallback(UA_Client *client, UA_UInt64 callbackId); + +#define UA_Client_removeRepeatedCallback(server, callbackId) \ + UA_Client_removeCallback(server, callbackId); + +/** + * Client Utility Functions + * ------------------------ */ + +/* Lookup a datatype by its NodeId. Takes the custom types in the client + * configuration into account. Return NULL if none found. */ +UA_EXPORT const UA_DataType * +UA_Client_findDataType(UA_Client *client, const UA_NodeId *typeId); + +/** + * .. toctree:: + * + * client_highlevel + * client_highlevel_async + * client_subscriptions */ + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/server.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2024 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2014-2015, 2017 (c) Florian Palm + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Henrik Norrman + * Copyright 2018 (c) Fabian Arndt, Root-Core + * Copyright 2017-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2020-2022 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + */ + + + + + +#ifdef UA_ENABLE_PUBSUB +#endif + +#ifdef UA_ENABLE_HISTORIZING +#endif + +_UA_BEGIN_DECLS + +/* Forward declarations */ +struct UA_PubSubConfiguration; +typedef struct UA_PubSubConfiguration UA_PubSubConfiguration; +typedef void (*UA_Server_AsyncOperationNotifyCallback)(UA_Server *server); + +/** + * .. _server: + * + * Server + * ====== + * + * .. _server-configuration: + * + * Server Configuration + * -------------------- + * The configuration structure is passed to the server during initialization. + * The server expects that the configuration is not modified during runtime. + * Currently, only one server can use a configuration at a time. During + * shutdown, the server will clean up the parts of the configuration that are + * modified at runtime through the provided API. + * + * Examples for configurations are provided in the ``/plugins`` folder. + * The usual usage is as follows: + * + * 1. Create a server configuration with default settings as a starting point + * 2. Modifiy the configuration, e.g. by adding a server certificate + * 3. Instantiate a server with it + * 4. After shutdown of the server, clean up the configuration (free memory) + * + * The :ref:`tutorials` provide a good starting point for this. */ + +struct UA_ServerConfig { + void *context; /* Used to attach custom data to a server config. This can + * then be retrieved e.g. in a callback that forwards a + * pointer to the server. */ + UA_Logger *logging; /* Plugin for log output */ + + /** + * Server Description + * ^^^^^^^^^^^^^^^^^^ + * The description must be internally consistent. The ApplicationUri set in + * the ApplicationDescription must match the URI set in the server + * certificate. + * The applicationType is not just descriptive, it changes the actual + * functionality of the server. The RegisterServer service is available only + * if the server is a DiscoveryServer and the applicationType is set to the + * appropriate value.*/ + UA_BuildInfo buildInfo; + UA_ApplicationDescription applicationDescription; + + /** + * Server Lifecycle + * ^^^^^^^^^^^^^^^^ */ + /* Delay in ms from the shutdown signal (ctrl-c) until the actual shutdown. + * Clients need to be able to get a notification ahead of time. */ + UA_Double shutdownDelay; + + /* If an asynchronous server shutdown is used, this callback notifies about + * the current lifecycle state (notably the STOPPING -> STOPPED + * transition). */ + void (*notifyLifecycleState)(UA_Server *server, UA_LifecycleState state); + + /** + * Rule Handling + * ^^^^^^^^^^^^^ + * Override the handling of standard-defined behavior. These settings are + * used to balance the following contradicting requirements: + * + * - Strict conformance with the standard (for certification). + * - Ensure interoperability with old/non-conforming implementations + * encountered in the wild. + * + * The defaults are set for compatibility with the largest number of OPC UA + * vendors (with log warnings activated). Cf. Postel's Law "be conservative + * in what you send, be liberal in what you accept". + * + * See the section :ref:`rule-handling` for the possible settings. */ + + /* Verify that the server sends a timestamp in the request header */ + UA_RuleHandling verifyRequestTimestamp; + + /* Variables (that don't have a DataType of BaseDataType) must not have an + * empty variant value. The default behaviour is to auto-create a matching + * zeroed-out value for empty VariableNodes when they are added. */ + UA_RuleHandling allowEmptyVariables; + + /** + * Custom Data Types + * ^^^^^^^^^^^^^^^^^ + * The following is a linked list of arrays with custom data types. All data + * types that are accessible from here are automatically considered for the + * decoding of received messages. Custom data types are not cleaned up + * together with the configuration. So it is possible to allocate them on + * ROM. + * + * See the section on :ref:`generic-types`. Examples for working with custom + * data types are provided in ``/examples/custom_datatype/``. */ + const UA_DataTypeArray *customDataTypes; + + /** + * .. note:: See the section on :ref:`generic-types`. Examples for working + * with custom data types are provided in + * ``/examples/custom_datatype/``. */ + + /** + * EventLoop + * ^^^^^^^^^ + * The sever can be plugged into an external EventLoop. Otherwise the + * EventLoop is considered to be attached to the server's lifecycle and will + * be destroyed when the config is cleaned up. */ + UA_EventLoop *eventLoop; + UA_Boolean externalEventLoop; /* The EventLoop is not deleted with the config */ + + /** + * Networking + * ^^^^^^^^^^ + * The `severUrls` array contains the server URLs like + * `opc.tcp://my-server:4840` or `opc.wss://localhost:443`. The URLs are + * used both for discovery and to set up the server sockets based on the + * defined hostnames (and ports). + * + * - If the list is empty: Listen on all network interfaces with TCP port 4840. + * - If the hostname of a URL is empty: Use the define protocol and port and + * listen on all interfaces. */ + UA_String *serverUrls; + size_t serverUrlsSize; + + /** + * The following settings are specific to OPC UA with TCP transport. */ + UA_Boolean tcpEnabled; + UA_UInt32 tcpBufSize; /* Max length of sent and received chunks (packets) + * (default: 64kB) */ + UA_UInt32 tcpMaxMsgSize; /* Max length of messages + * (default: 0 -> unbounded) */ + UA_UInt32 tcpMaxChunks; /* Max number of chunks per message + * (default: 0 -> unbounded) */ + UA_Boolean tcpReuseAddr; + + /** + * Security and Encryption + * ^^^^^^^^^^^^^^^^^^^^^^^ */ + size_t securityPoliciesSize; + UA_SecurityPolicy* securityPolicies; + + /* Endpoints with combinations of SecurityPolicy and SecurityMode. If the + * UserIdentityToken array of the Endpoint is not set, then it will be + * filled by the server for all UserTokenPolicies that are configured in the + * AccessControl plugin. */ + size_t endpointsSize; + UA_EndpointDescription *endpoints; + + /* Only allow the following discovery services to be executed on a + * SecureChannel with SecurityPolicyNone: GetEndpointsRequest, + * FindServersRequest and FindServersOnNetworkRequest. + * + * Only enable this option if there is no endpoint with SecurityPolicy#None + * in the endpoints list. The SecurityPolicy#None must be present in the + * securityPolicies list. */ + UA_Boolean securityPolicyNoneDiscoveryOnly; + + /* Allow clients without encryption support to connect with username and password. + * This requires to transmit the password in plain text over the network which is + * why this option is disabled by default. + * Make sure you really need this before enabling plain text passwords. */ + UA_Boolean allowNonePolicyPassword; + + /* Different sets of certificates are trusted for SecureChannel / Session */ + UA_CertificateVerification secureChannelPKI; + UA_CertificateVerification sessionPKI; + + /** + * See the section for :ref:`access-control + * handling`. */ + UA_AccessControl accessControl; + + /** + * Nodes and Node Lifecycle + * ^^^^^^^^^^^^^^^^^^^^^^^^ + * See the section for :ref:`node lifecycle handling`. */ + UA_Nodestore nodestore; + UA_GlobalNodeLifecycle nodeLifecycle; + + /** + * Copy the HasModellingRule reference in instances from the type + * definition in UA_Server_addObjectNode and UA_Server_addVariableNode. + * + * Part 3 - 6.4.4: [...] it is not required that newly created or referenced + * instances based on InstanceDeclarations have a ModellingRule, however, it + * is allowed that they have any ModellingRule independent of the + * ModellingRule of their InstanceDeclaration */ + UA_Boolean modellingRulesOnInstances; + + /** + * Limits + * ^^^^^^ */ + /* Limits for SecureChannels */ + UA_UInt16 maxSecureChannels; + UA_UInt32 maxSecurityTokenLifetime; /* in ms */ + + /* Limits for Sessions */ + UA_UInt16 maxSessions; + UA_Double maxSessionTimeout; /* in ms */ + + /* Operation limits */ + UA_UInt32 maxNodesPerRead; + UA_UInt32 maxNodesPerWrite; + UA_UInt32 maxNodesPerMethodCall; + UA_UInt32 maxNodesPerBrowse; + UA_UInt32 maxNodesPerRegisterNodes; + UA_UInt32 maxNodesPerTranslateBrowsePathsToNodeIds; + UA_UInt32 maxNodesPerNodeManagement; + UA_UInt32 maxMonitoredItemsPerCall; + + /* Limits for Requests */ + UA_UInt32 maxReferencesPerNode; + + /** + * Async Operations + * ^^^^^^^^^^^^^^^^ + * See the section for :ref:`async operations`. */ +#if UA_MULTITHREADING >= 100 + UA_Double asyncOperationTimeout; /* in ms, 0 => unlimited */ + size_t maxAsyncOperationQueueSize; /* 0 => unlimited */ + /* Notify workers when an async operation was enqueued */ + UA_Server_AsyncOperationNotifyCallback asyncOperationNotifyCallback; +#endif + + /** + * Discovery + * ^^^^^^^^^ */ +#ifdef UA_ENABLE_DISCOVERY + /* Timeout in seconds when to automatically remove a registered server from + * the list, if it doesn't re-register within the given time frame. A value + * of 0 disables automatic removal. Default is 60 Minutes (60*60). Must be + * bigger than 10 seconds, because cleanup is only triggered approximately + * every 10 seconds. The server will still be removed depending on the + * state of the semaphore file. */ + UA_UInt32 discoveryCleanupTimeout; + +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_Boolean mdnsEnabled; + UA_MdnsDiscoveryConfiguration mdnsConfig; + UA_String mdnsInterfaceIP; +# if !defined(UA_HAS_GETIFADDR) + size_t mdnsIpAddressListSize; + UA_UInt32 *mdnsIpAddressList; +# endif +# endif +#endif + + /** + * Subscriptions + * ^^^^^^^^^^^^^ */ + UA_Boolean subscriptionsEnabled; +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* Limits for Subscriptions */ + UA_UInt32 maxSubscriptions; + UA_UInt32 maxSubscriptionsPerSession; + UA_DurationRange publishingIntervalLimits; /* in ms (must not be less than 5) */ + UA_UInt32Range lifeTimeCountLimits; + UA_UInt32Range keepAliveCountLimits; + UA_UInt32 maxNotificationsPerPublish; + UA_Boolean enableRetransmissionQueue; + UA_UInt32 maxRetransmissionQueueSize; /* 0 -> unlimited size */ +# ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + UA_UInt32 maxEventsPerNode; /* 0 -> unlimited size */ +# endif + + /* Limits for MonitoredItems */ + UA_UInt32 maxMonitoredItems; + UA_UInt32 maxMonitoredItemsPerSubscription; + UA_DurationRange samplingIntervalLimits; /* in ms (must not be less than 5) */ + UA_UInt32Range queueSizeLimits; /* Negotiated with the client */ + + /* Limits for PublishRequests */ + UA_UInt32 maxPublishReqPerSession; + + /* Register MonitoredItem in Userland + * + * @param server Allows the access to the server object + * @param sessionId The session id, represented as an node id + * @param sessionContext An optional pointer to user-defined data for the + * specific data source + * @param nodeid Id of the node in question + * @param nodeidContext An optional pointer to user-defined data, associated + * with the node in the nodestore. Note that, if the node has already + * been removed, this value contains a NULL pointer. + * @param attributeId Identifies which attribute (value, data type etc.) is + * monitored + * @param removed Determines if the MonitoredItem was removed or created. */ + void (*monitoredItemRegisterCallback)(UA_Server *server, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + void *nodeContext, + UA_UInt32 attibuteId, + UA_Boolean removed); +#endif + + /** + * PubSub + * ^^^^^^ */ + UA_Boolean pubsubEnabled; +#ifdef UA_ENABLE_PUBSUB + UA_PubSubConfiguration pubSubConfig; +#endif + + /** + * Historical Access + * ^^^^^^^^^^^^^^^^^ */ + UA_Boolean historizingEnabled; +#ifdef UA_ENABLE_HISTORIZING + UA_HistoryDatabase historyDatabase; + + UA_Boolean accessHistoryDataCapability; + UA_UInt32 maxReturnDataValues; /* 0 -> unlimited size */ + + UA_Boolean accessHistoryEventsCapability; + UA_UInt32 maxReturnEventValues; /* 0 -> unlimited size */ + + UA_Boolean insertDataCapability; + UA_Boolean insertEventCapability; + UA_Boolean insertAnnotationsCapability; + + UA_Boolean replaceDataCapability; + UA_Boolean replaceEventCapability; + + UA_Boolean updateDataCapability; + UA_Boolean updateEventCapability; + + UA_Boolean deleteRawCapability; + UA_Boolean deleteEventCapability; + UA_Boolean deleteAtTimeDataCapability; +#endif + + /** + * Reverse Connect + * ^^^^^^^^^^^^^^^ */ + UA_UInt32 reverseReconnectInterval; /* Default is 15000 ms */ + + /** + * Certificate Password Callback + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ +#ifdef UA_ENABLE_ENCRYPTION + /* If the private key is in PEM format and password protected, this callback + * is called during initialization to get the password to decrypt the + * private key. The memory containing the password is freed by the client + * after use. The callback should be set early, other parts of the client + * config setup may depend on it. */ + UA_StatusCode (*privateKeyPasswordCallback)(UA_ServerConfig *sc, + UA_ByteString *password); +#endif +}; + +void UA_EXPORT +UA_ServerConfig_clean(UA_ServerConfig *config); + +/** + * .. _server-lifecycle: + * + * Server Lifecycle + * ---------------- */ + +/* Create a new server with a default configuration that adds plugins for + * networking, security, logging and so on. See `server_config_default.h` for + * more detailed options. + * + * The default configuration can be used as the starting point to adjust the + * server configuration to individual needs. UA_Server_new is implemented in the + * /plugins folder under the CC0 license. Furthermore the server confiugration + * only uses the public server API. + * + * @return Returns the configured server or NULL if an error occurs. */ +UA_EXPORT UA_Server * +UA_Server_new(void); + +/* Creates a new server. Moves the config into the server with a shallow copy. + * The config content is cleared together with the server. */ +UA_EXPORT UA_Server * +UA_Server_newWithConfig(UA_ServerConfig *config); + +/* Delete the server. */ +UA_EXPORT UA_StatusCode +UA_Server_delete(UA_Server *server); + +/* Get the configuration. Always succeeds as this simplfy resolves a pointer. + * Attention! Do not adjust the configuration while the server is running! */ +UA_EXPORT UA_ServerConfig * +UA_Server_getConfig(UA_Server *server); + +/* Get the current server lifecycle state */ +UA_EXPORT UA_LifecycleState +UA_Server_getLifecycleState(UA_Server *server); + +/* Runs the server until interrupted. On Unix/Windows this registers an + * interrupt for SIGINT (ctrl-c). The method only returns after having received + * the interrupt. The logical sequence is as follows: + * + * - UA_Server_run_startup + * - Loop until interrupt: UA_Server_run_iterate + * - UA_Server_run_shutdown + * + * @param server The server object. + * @return Returns a bad statuscode if an error occurred internally. */ +UA_EXPORT UA_StatusCode +UA_Server_run(UA_Server *server, const volatile UA_Boolean *running); + +/* Runs the server until interrupted. On Unix/Windows this registers an + * interrupt for SIGINT (ctrl-c). The method only returns after having received + * the interrupt or upon an error condition. The logical sequence is as follows: + * + * - Register the interrupt + * - UA_Server_run_startup + * - Loop until interrupt: UA_Server_run_iterate + * - UA_Server_run_shutdown + * - Deregister the interrupt + * + * Attention! This method is implemented individually for the different + * platforms (POSIX/Win32/etc.). The default implementation is in + * /plugins/ua_config_default.c under the CC0 license. Adjust as needed. + * + * @param server The server object. + * @return Returns a bad statuscode if an error occurred internally. */ +UA_EXPORT UA_StatusCode +UA_Server_runUntilInterrupt(UA_Server *server); + +/* The prologue part of UA_Server_run (no need to use if you call + * UA_Server_run or UA_Server_runUntilInterrupt) */ +UA_EXPORT UA_StatusCode +UA_Server_run_startup(UA_Server *server); + +/* Executes a single iteration of the server's main loop. + * + * @param server The server object. + * @param waitInternal Should we wait for messages in the networklayer? + * Otherwise, the timouts for the networklayers are set to zero. + * The default max wait time is 200ms. + * @return Returns how long we can wait until the next scheduled + * callback (in ms) */ +UA_EXPORT UA_UInt16 +UA_Server_run_iterate(UA_Server *server, UA_Boolean waitInternal); + +/* The epilogue part of UA_Server_run (no need to use if you call + * UA_Server_run or UA_Server_runUntilInterrupt) */ +UA_EXPORT UA_StatusCode +UA_Server_run_shutdown(UA_Server *server); + +/** + * Timed Callbacks + * --------------- + * Add a callback to the server that is executed at a defined time. + * The callback can also be registered with a cyclic interval. */ + +/* Add a callback for execution at a specified time. If the indicated time lies + * in the past, then the callback is executed at the next iteration of the + * server's main loop. + * + * @param server The server object. + * @param callback The callback that shall be added. + * @param data Data that is forwarded to the callback. + * @param date The timestamp for the execution time. + * @param callbackId Set to the identifier of the repeated callback . This can + * be used to cancel the callback later on. If the pointer is null, the + * identifier is not set. + * @return Upon success, ``UA_STATUSCODE_GOOD`` is returned. An error code + * otherwise. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addTimedCallback(UA_Server *server, UA_ServerCallback callback, + void *data, UA_DateTime date, UA_UInt64 *callbackId); + +/* Add a callback for cyclic repetition to the server. + * + * @param server The server object. + * @param callback The callback that shall be added. + * @param data Data that is forwarded to the callback. + * @param interval_ms The callback shall be repeatedly executed with the given + * interval (in ms). The interval must be positive. The first execution + * occurs at now() + interval at the latest. + * @param callbackId Set to the identifier of the repeated callback . This can + * be used to cancel the callback later on. If the pointer is null, the + * identifier is not set. + * @return Upon success, ``UA_STATUSCODE_GOOD`` is returned. An error code + * otherwise. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, + void *data, UA_Double interval_ms, + UA_UInt64 *callbackId); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, + UA_Double interval_ms); + +/* Remove a repeated callback. Does nothing if the callback is not found. + * + * @param server The server object. + * @param callbackId The id of the callback */ +void UA_EXPORT UA_THREADSAFE +UA_Server_removeCallback(UA_Server *server, UA_UInt64 callbackId); + +#define UA_Server_removeRepeatedCallback(server, callbackId) \ + UA_Server_removeCallback(server, callbackId); + +/** + * Session Handling + * ---------------- + * A new session is announced via the AccessControl plugin. The session + * identifier is forwarded to the relevant callbacks back into userland. The + * following methods enable an interaction with a particular session. */ + +/* Manually close a session */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_closeSession(UA_Server *server, const UA_NodeId *sessionId); + +/** + * Session attributes: Besides the user-definable session context pointer (set + * by the AccessControl plugin when the Session is created), a session carries + * attributes in a key-value list. Some attributes are present in every session + * and shown in the list below. Additional attributes can be manually set as + * meta-data. + * + * Always present as session attributes are: + * + * - 0:localeIds [UA_String]: List of preferred languages (read-only) + * - 0:clientDescription [UA_ApplicationDescription]: Client description (read-only) + * - 0:sessionName [String] Client-defined name of the session (read-only) + * - 0:clientUserId [String] User identifier used to activate the session (read-only) */ + +/* Returns a shallow copy of the attribute. Don't _clear or _delete the value + * variant. Don't use the value once the Session could be already closed in the + * background or the attribute of the session replaced. Hence don't use this in a + * multi-threaded application. */ +UA_EXPORT UA_StatusCode +UA_Server_getSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, UA_Variant *outValue); + +/* Return a deep copy of the attribute */ +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_getSessionAttributeCopy(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, UA_Variant *outValue); + +/* Returns NULL if the attribute is not defined or not a scalar or not of the + * right datatype. Otherwise a shallow copy of the scalar value is created at + * the target location of the void pointer. Hence don't use this in a + * multi-threaded application. */ +UA_EXPORT UA_StatusCode +UA_Server_getSessionAttribute_scalar(UA_Server *server, + const UA_NodeId *sessionId, + const UA_QualifiedName key, + const UA_DataType *type, + void *outValue); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_setSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, + const UA_Variant *value); + +UA_EXPORT UA_StatusCode UA_THREADSAFE +UA_Server_deleteSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key); + +/** + * Reading and Writing Node Attributes + * ----------------------------------- + * The functions for reading and writing node attributes call the regular read + * and write service in the background that are also used over the network. + * + * The following attributes cannot be read, since the local "admin" user always + * has full rights. + * + * - UserWriteMask + * - UserAccessLevel + * - UserExecutable */ + +/* Read an attribute of a node. The specialized functions below provide a more + * concise syntax. + * + * @param server The server object. + * @param item ReadValueIds contain the NodeId of the target node, the id of the + * attribute to read and (optionally) an index range to read parts + * of an array only. See the section on NumericRange for the format + * used for array ranges. + * @param timestamps Which timestamps to return for the attribute. + * @return Returns a DataValue that contains either an error code, or a variant + * with the attribute value and the timestamps. */ +UA_DataValue UA_EXPORT UA_THREADSAFE +UA_Server_read(UA_Server *server, const UA_ReadValueId *item, + UA_TimestampsToReturn timestamps); + +/* Don't use this function. There are typed versions for every supported + * attribute. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +__UA_Server_read(UA_Server *server, const UA_NodeId *nodeId, + UA_AttributeId attributeId, void *v); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readNodeId(UA_Server *server, const UA_NodeId nodeId, + UA_NodeId *outNodeId) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_NODEID, outNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readNodeClass(UA_Server *server, const UA_NodeId nodeId, + UA_NodeClass *outNodeClass) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_NODECLASS, + outNodeClass); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readBrowseName(UA_Server *server, const UA_NodeId nodeId, + UA_QualifiedName *outBrowseName) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_BROWSENAME, + outBrowseName); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readDisplayName(UA_Server *server, const UA_NodeId nodeId, + UA_LocalizedText *outDisplayName) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, + outDisplayName); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readDescription(UA_Server *server, const UA_NodeId nodeId, + UA_LocalizedText *outDescription) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, + outDescription); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readWriteMask(UA_Server *server, const UA_NodeId nodeId, + UA_UInt32 *outWriteMask) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_WRITEMASK, + outWriteMask); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readIsAbstract(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean *outIsAbstract) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, + outIsAbstract); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readSymmetric(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean *outSymmetric) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, + outSymmetric); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readInverseName(UA_Server *server, const UA_NodeId nodeId, + UA_LocalizedText *outInverseName) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_INVERSENAME, + outInverseName); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readContainsNoLoops(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean *outContainsNoLoops) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, + outContainsNoLoops); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readEventNotifier(UA_Server *server, const UA_NodeId nodeId, + UA_Byte *outEventNotifier) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, + outEventNotifier); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readValue(UA_Server *server, const UA_NodeId nodeId, + UA_Variant *outValue) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_VALUE, outValue); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readDataType(UA_Server *server, const UA_NodeId nodeId, + UA_NodeId *outDataType) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_DATATYPE, + outDataType); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readValueRank(UA_Server *server, const UA_NodeId nodeId, + UA_Int32 *outValueRank) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_VALUERANK, + outValueRank); +} + +/* Returns a variant with an int32 array */ +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readArrayDimensions(UA_Server *server, const UA_NodeId nodeId, + UA_Variant *outArrayDimensions) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ARRAYDIMENSIONS, + outArrayDimensions); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readAccessLevel(UA_Server *server, const UA_NodeId nodeId, + UA_Byte *outAccessLevel) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, + outAccessLevel); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readAccessLevelEx(UA_Server *server, const UA_NodeId nodeId, + UA_UInt32 *outAccessLevelEx) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, + outAccessLevelEx); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readMinimumSamplingInterval(UA_Server *server, const UA_NodeId nodeId, + UA_Double *outMinimumSamplingInterval) { + return __UA_Server_read(server, &nodeId, + UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + outMinimumSamplingInterval); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readHistorizing(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean *outHistorizing) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_HISTORIZING, + outHistorizing); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_readExecutable(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean *outExecutable) { + return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, + outExecutable); +} + +/** + * The following node attributes cannot be changed once a node has been created: + * + * - NodeClass + * - NodeId + * - Symmetric + * - ContainsNoLoops + * + * The following attributes cannot be written from the server, as they are + * specific to the different users and set by the access control callback: + * + * - UserWriteMask + * - UserAccessLevel + * - UserExecutable + */ + +/* Overwrite an attribute of a node. The specialized functions below provide a + * more concise syntax. + * + * @param server The server object. + * @param value WriteValues contain the NodeId of the target node, the id of the + * attribute to overwritten, the actual value and (optionally) an + * index range to replace parts of an array only. of an array only. + * See the section on NumericRange for the format used for array + * ranges. + * @return Returns a status code. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_write(UA_Server *server, const UA_WriteValue *value); + +/* Don't use this function. There are typed versions with no additional + * overhead. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +__UA_Server_write(UA_Server *server, const UA_NodeId *nodeId, + const UA_AttributeId attributeId, + const UA_DataType *attr_type, const void *attr); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeBrowseName(UA_Server *server, const UA_NodeId nodeId, + const UA_QualifiedName browseName) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_BROWSENAME, + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], &browseName); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeDisplayName(UA_Server *server, const UA_NodeId nodeId, + const UA_LocalizedText displayName) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], &displayName); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeDescription(UA_Server *server, const UA_NodeId nodeId, + const UA_LocalizedText description) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], &description); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeWriteMask(UA_Server *server, const UA_NodeId nodeId, + const UA_UInt32 writeMask) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_WRITEMASK, + &UA_TYPES[UA_TYPES_UINT32], &writeMask); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeIsAbstract(UA_Server *server, const UA_NodeId nodeId, + const UA_Boolean isAbstract) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, + &UA_TYPES[UA_TYPES_BOOLEAN], &isAbstract); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeInverseName(UA_Server *server, const UA_NodeId nodeId, + const UA_LocalizedText inverseName) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_INVERSENAME, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], &inverseName); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeEventNotifier(UA_Server *server, const UA_NodeId nodeId, + const UA_Byte eventNotifier) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, + &UA_TYPES[UA_TYPES_BYTE], &eventNotifier); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeValue(UA_Server *server, const UA_NodeId nodeId, + const UA_Variant value) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_VALUE, + &UA_TYPES[UA_TYPES_VARIANT], &value); +} + +/* Writes an UA_DataValue to a variable/variableType node. In contrast to + * UA_Server_writeValue, this functions can also write SourceTimestamp, + * ServerTimestamp and StatusCode. */ +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeDataValue(UA_Server *server, const UA_NodeId nodeId, + const UA_DataValue value) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_VALUE, + &UA_TYPES[UA_TYPES_DATAVALUE], &value); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeDataType(UA_Server *server, const UA_NodeId nodeId, + const UA_NodeId dataType) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_DATATYPE, + &UA_TYPES[UA_TYPES_NODEID], &dataType); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeValueRank(UA_Server *server, const UA_NodeId nodeId, + const UA_Int32 valueRank) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_VALUERANK, + &UA_TYPES[UA_TYPES_INT32], &valueRank); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeArrayDimensions(UA_Server *server, const UA_NodeId nodeId, + const UA_Variant arrayDimensions) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ARRAYDIMENSIONS, + &UA_TYPES[UA_TYPES_VARIANT], &arrayDimensions); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeAccessLevel(UA_Server *server, const UA_NodeId nodeId, + const UA_Byte accessLevel) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, + &UA_TYPES[UA_TYPES_BYTE], &accessLevel); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeAccessLevelEx(UA_Server *server, const UA_NodeId nodeId, + const UA_UInt32 accessLevelEx) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, + &UA_TYPES[UA_TYPES_UINT32], &accessLevelEx); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeMinimumSamplingInterval(UA_Server *server, const UA_NodeId nodeId, + const UA_Double miniumSamplingInterval) { + return __UA_Server_write(server, &nodeId, + UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + &UA_TYPES[UA_TYPES_DOUBLE], + &miniumSamplingInterval); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeHistorizing(UA_Server *server, const UA_NodeId nodeId, + const UA_Boolean historizing) { + return __UA_Server_write(server, &nodeId, + UA_ATTRIBUTEID_HISTORIZING, + &UA_TYPES[UA_TYPES_BOOLEAN], + &historizing); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_writeExecutable(UA_Server *server, const UA_NodeId nodeId, + const UA_Boolean executable) { + return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, + &UA_TYPES[UA_TYPES_BOOLEAN], &executable); } + +/** + * Browsing + * -------- */ + +/* Browse the references of a particular node. See the definition of + * BrowseDescription structure for details. */ +UA_BrowseResult UA_EXPORT UA_THREADSAFE +UA_Server_browse(UA_Server *server, UA_UInt32 maxReferences, + const UA_BrowseDescription *bd); + +UA_BrowseResult UA_EXPORT UA_THREADSAFE +UA_Server_browseNext(UA_Server *server, UA_Boolean releaseContinuationPoint, + const UA_ByteString *continuationPoint); + +/* Non-standard version of the Browse service that recurses into child nodes. + * + * Possible loops (that can occur for non-hierarchical references) are handled + * internally. Every node is added at most once to the results array. + * + * Nodes are only added if they match the NodeClassMask in the + * BrowseDescription. However, child nodes are still recursed into if the + * NodeClass does not match. So it is possible, for example, to get all + * VariableNodes below a certain ObjectNode, with additional objects in the + * hierarchy below. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_browseRecursive(UA_Server *server, const UA_BrowseDescription *bd, + size_t *resultsSize, UA_ExpandedNodeId **results); + +UA_BrowsePathResult UA_EXPORT UA_THREADSAFE +UA_Server_translateBrowsePathToNodeIds(UA_Server *server, + const UA_BrowsePath *browsePath); + +/* A simplified TranslateBrowsePathsToNodeIds based on the + * SimpleAttributeOperand type (Part 4, 7.4.4.5). + * + * This specifies a relative path using a list of BrowseNames instead of the + * RelativePath structure. The list of BrowseNames is equivalent to a + * RelativePath that specifies forward references which are subtypes of the + * HierarchicalReferences ReferenceType. All Nodes followed by the browsePath + * shall be of the NodeClass Object or Variable. */ +UA_BrowsePathResult UA_EXPORT UA_THREADSAFE +UA_Server_browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, + size_t browsePathSize, + const UA_QualifiedName *browsePath); + +#ifndef HAVE_NODEITER_CALLBACK +#define HAVE_NODEITER_CALLBACK +/* Iterate over all nodes referenced by parentNodeId by calling the callback + * function for each child node (in ifdef because GCC/CLANG handle include order + * differently) */ +typedef UA_StatusCode +(*UA_NodeIteratorCallback)(UA_NodeId childId, UA_Boolean isInverse, + UA_NodeId referenceTypeId, void *handle); +#endif + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_forEachChildNodeCall(UA_Server *server, UA_NodeId parentNodeId, + UA_NodeIteratorCallback callback, void *handle); + +#ifdef UA_ENABLE_DISCOVERY + +/** + * Discovery + * --------- + * + * Registering at a Discovery Server + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ + +/* Register the given server instance at the discovery server. This should be + * called periodically, for example every 10 minutes, depending on the + * configuration of the discovery server. You should also call + * _unregisterDiscovery when the server shuts down. + * + * The supplied client configuration is used to create a new client to connect + * to the discovery server. The client configuration is moved over to the server + * and eventually cleaned up internally. The structure pointed at by `cc` is + * zeroed to avoid accessing outdated information. + * + * The eventloop and logging plugins in the client configuration are replaced by + * those configured in the server. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_registerDiscovery(UA_Server *server, UA_ClientConfig *cc, + const UA_String discoveryServerUrl, + const UA_String semaphoreFilePath); + +/* Deregister the given server instance from the discovery server. + * This should be called when the server is shutting down. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_deregisterDiscovery(UA_Server *server, UA_ClientConfig *cc, + const UA_String discoveryServerUrl); + +/** + * Operating a Discovery Server + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ + +/* Callback for RegisterServer. Data is passed from the register call */ +typedef void +(*UA_Server_registerServerCallback)(const UA_RegisteredServer *registeredServer, + void* data); + +/* Set the callback which is called if another server registeres or unregisters + * with this instance. This callback is called every time the server gets a + * register call. This especially means that for every periodic server register + * the callback will be called. + * + * @param server + * @param cb the callback + * @param data data passed to the callback + * @return ``UA_STATUSCODE_SUCCESS`` on success */ +void UA_EXPORT UA_THREADSAFE +UA_Server_setRegisterServerCallback(UA_Server *server, + UA_Server_registerServerCallback cb, void* data); + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + +/* Callback for server detected through mDNS. Data is passed from the register + * call + * + * @param isServerAnnounce indicates if the server has just been detected. If + * set to false, this means the server is shutting down. + * @param isTxtReceived indicates if we already received the corresponding TXT + * record with the path and caps data */ +typedef void +(*UA_Server_serverOnNetworkCallback)(const UA_ServerOnNetwork *serverOnNetwork, + UA_Boolean isServerAnnounce, + UA_Boolean isTxtReceived, void* data); + +/* Set the callback which is called if another server is found through mDNS or + * deleted. It will be called for any mDNS message from the remote server, thus + * it may be called multiple times for the same instance. Also the SRV and TXT + * records may arrive later, therefore for the first call the server + * capabilities may not be set yet. If called multiple times, previous data will + * be overwritten. + * + * @param server + * @param cb the callback + * @param data data passed to the callback + * @return ``UA_STATUSCODE_SUCCESS`` on success */ +void UA_EXPORT UA_THREADSAFE +UA_Server_setServerOnNetworkCallback(UA_Server *server, + UA_Server_serverOnNetworkCallback cb, + void* data); + +#endif /* UA_ENABLE_DISCOVERY_MULTICAST */ + +#endif /* UA_ENABLE_DISCOVERY */ + +/** + * Information Model Callbacks + * --------------------------- + * There are three places where a callback from an information model to + * user-defined code can happen. + * + * - Custom node constructors and destructors + * - Linking VariableNodes with an external data source + * - MethodNode callbacks */ + +void UA_EXPORT +UA_Server_setAdminSessionContext(UA_Server *server, + void *context); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, + UA_NodeTypeLifecycle lifecycle); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_getNodeContext(UA_Server *server, UA_NodeId nodeId, + void **nodeContext); + +/* Careful! The user has to ensure that the destructor callbacks still work. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setNodeContext(UA_Server *server, UA_NodeId nodeId, + void *nodeContext); + +/** + * .. _datasource: + * + * Data Source Callback + * ^^^^^^^^^^^^^^^^^^^^ + * The server has a unique way of dealing with the content of variables. Instead + * of storing a variant attached to the variable node, the node can point to a + * function with a local data provider. Whenever the value attribute is read, + * the function will be called and asked to provide a UA_DataValue return value + * that contains the value content and additional timestamps. + * + * It is expected that the read callback is implemented. The write callback can + * be set to a null-pointer. */ + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, + const UA_DataSource dataSource); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setVariableNode_valueCallback(UA_Server *server, + const UA_NodeId nodeId, + const UA_ValueCallback callback); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setVariableNode_valueBackend(UA_Server *server, + const UA_NodeId nodeId, + const UA_ValueBackend valueBackend); + +/** + * .. _local-monitoreditems: + * + * Local MonitoredItems + * ^^^^^^^^^^^^^^^^^^^^ + * MonitoredItems are used with the Subscription mechanism of OPC UA to + * transported notifications for data changes and events. MonitoredItems can + * also be registered locally. Notifications are then forwarded to a + * user-defined callback instead of a remote client. */ + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +typedef void (*UA_Server_DataChangeNotificationCallback) + (UA_Server *server, UA_UInt32 monitoredItemId, void *monitoredItemContext, + const UA_NodeId *nodeId, void *nodeContext, UA_UInt32 attributeId, + const UA_DataValue *value); + +typedef void (*UA_Server_EventNotificationCallback) + (UA_Server *server, UA_UInt32 monId, void *monContext, + size_t nEventFields, const UA_Variant *eventFields); + +/* Create a local MonitoredItem with a sampling interval that detects data + * changes. + * + * @param server The server executing the MonitoredItem + * @timestampsToReturn Shall timestamps be added to the value for the callback? + * @item The parameters of the new MonitoredItem. Note that the attribute of the + * ReadValueId (the node that is monitored) can not be + * ``UA_ATTRIBUTEID_EVENTNOTIFIER``. A different callback type needs to be + * registered for event notifications. + * @monitoredItemContext A pointer that is forwarded with the callback + * @callback The callback that is executed on detected data changes + * + * @return Returns a description of the created MonitoredItem. The structure + * also contains a StatusCode (in case of an error) and the identifier of the + * new MonitoredItem. */ +UA_MonitoredItemCreateResult UA_EXPORT UA_THREADSAFE +UA_Server_createDataChangeMonitoredItem(UA_Server *server, + UA_TimestampsToReturn timestampsToReturn, + const UA_MonitoredItemCreateRequest item, + void *monitoredItemContext, + UA_Server_DataChangeNotificationCallback callback); + +/* UA_MonitoredItemCreateResult UA_EXPORT */ +/* UA_Server_createEventMonitoredItem(UA_Server *server, */ +/* UA_TimestampsToReturn timestampsToReturn, */ +/* const UA_MonitoredItemCreateRequest item, void *context, */ +/* UA_Server_EventNotificationCallback callback); */ + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_deleteMonitoredItem(UA_Server *server, UA_UInt32 monitoredItemId); + +#endif + +/** + * Method Callbacks + * ^^^^^^^^^^^^^^^^ + * Method callbacks are set to `NULL` (not executable) when a method node is + * added over the network. In theory, it is possible to add a callback via + * ``UA_Server_setMethodNode_callback`` within the global constructor when + * adding methods over the network is really wanted. See the Section + * :ref:`object-interaction` for calling methods on an object. */ + +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setMethodNodeCallback(UA_Server *server, + const UA_NodeId methodNodeId, + UA_MethodCallback methodCallback); + +/* Backwards compatibility definition */ +#define UA_Server_setMethodNode_callback(server, methodNodeId, methodCallback) \ + UA_Server_setMethodNodeCallback(server, methodNodeId, methodCallback) + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_getMethodNodeCallback(UA_Server *server, + const UA_NodeId methodNodeId, + UA_MethodCallback *outMethodCallback); + +UA_CallMethodResult UA_EXPORT UA_THREADSAFE +UA_Server_call(UA_Server *server, const UA_CallMethodRequest *request); +#endif + +/** + * .. _object-interaction: + * + * Interacting with Objects + * ------------------------ + * Objects in the information model are represented as ObjectNodes. Some + * convenience functions are provided to simplify the interaction with objects. */ + +/* Write an object property. The property is represented as a VariableNode with + * a ``HasProperty`` reference from the ObjectNode. The VariableNode is + * identified by its BrowseName. Writing the property sets the value attribute + * of the VariableNode. + * + * @param server The server object + * @param objectId The identifier of the object (node) + * @param propertyName The name of the property + * @param value The value to be set for the event attribute + * @return The StatusCode for setting the event attribute */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_writeObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const UA_Variant value); + +/* Directly point to the scalar value instead of a variant */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const void *value, const UA_DataType *type); + +/* Read an object property. + * + * @param server The server object + * @param objectId The identifier of the object (node) + * @param propertyName The name of the property + * @param value Contains the property value after reading. Must not be NULL. + * @return The StatusCode for setting the event attribute */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_readObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + UA_Variant *value); + +/** + * .. _addnodes: + * + * Node Addition and Deletion + * -------------------------- + * When creating dynamic node instances at runtime, chances are that you will + * not care about the specific NodeId of the new node, as long as you can + * reference it later. When passing numeric NodeIds with a numeric identifier 0, + * the stack evaluates this as "select a random unassigned numeric NodeId in + * that namespace". To find out which NodeId was actually assigned to the new + * node, you may pass a pointer `outNewNodeId`, which will (after a successful + * node insertion) contain the nodeId of the new node. You may also pass a + * ``NULL`` pointer if this result is not needed. + * + * See the Section :ref:`node-lifecycle` on constructors and on attaching + * user-defined data to nodes. + * + * The Section :ref:`default-node-attributes` contains useful starting points + * for defining node attributes. Forgetting to set the ValueRank or the + * AccessLevel leads to errors that can be hard to track down for new users. The + * default attributes have a high likelihood to "do the right thing". + * + * The methods for node addition and deletion take mostly const arguments that + * are not modified. When creating a node, a deep copy of the node identifier, + * node attributes, etc. is created. Therefore, it is possible to call for + * example ``UA_Server_addVariablenode`` with a value attribute (a + * :ref:`variant`) pointing to a memory location on the stack. If you need + * changes to a variable value to manifest at a specific memory location, please + * use a :ref:`datasource` or a :ref:`value-callback`. */ + +/* Don't use this function. There are typed versions as inline functions. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +__UA_Server_addNode(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId *requestedNewNodeId, + const UA_NodeId *parentNodeId, + const UA_NodeId *referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId *typeDefinition, + const UA_NodeAttributes *attr, + const UA_DataType *attributeType, + void *nodeContext, UA_NodeId *outNewNodeId); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addVariableNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_VariableAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_VARIABLE, &requestedNewNodeId, + &parentNodeId, &referenceTypeId, browseName, + &typeDefinition, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], + nodeContext, outNewNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addVariableTypeNode(UA_Server *server, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_VariableTypeAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_VARIABLETYPE, + &requestedNewNodeId, &parentNodeId, &referenceTypeId, + browseName, &typeDefinition, + (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], + nodeContext, outNewNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addObjectNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_ObjectAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_OBJECT, &requestedNewNodeId, + &parentNodeId, &referenceTypeId, browseName, + &typeDefinition, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + nodeContext, outNewNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addObjectTypeNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ObjectTypeAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_OBJECTTYPE, &requestedNewNodeId, + &parentNodeId, &referenceTypeId, browseName, + &UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], + nodeContext, outNewNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addViewNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ViewAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_VIEW, &requestedNewNodeId, + &parentNodeId, &referenceTypeId, browseName, + &UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], + nodeContext, outNewNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addReferenceTypeNode(UA_Server *server, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ReferenceTypeAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_REFERENCETYPE, + &requestedNewNodeId, &parentNodeId, &referenceTypeId, + browseName, &UA_NODEID_NULL, + (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], + nodeContext, outNewNodeId); +} + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addDataTypeNode(UA_Server *server, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_DataTypeAttributes attr, + void *nodeContext, UA_NodeId *outNewNodeId) { + return __UA_Server_addNode(server, UA_NODECLASS_DATATYPE, &requestedNewNodeId, + &parentNodeId, &referenceTypeId, browseName, + &UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES], + nodeContext, outNewNodeId); +} + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addDataSourceVariableNode(UA_Server *server, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_VariableAttributes attr, + const UA_DataSource dataSource, + void *nodeContext, UA_NodeId *outNewNodeId); + +/* VariableNodes that are "dynamic" (default for user-created variables) receive + * and store a SourceTimestamp. For non-dynamic VariableNodes the current time + * is used for the SourceTimestamp. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setVariableNodeDynamic(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean isDynamic); + +#ifdef UA_ENABLE_METHODCALLS + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addMethodNodeEx(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_MethodAttributes attr, UA_MethodCallback method, + size_t inputArgumentsSize, const UA_Argument *inputArguments, + const UA_NodeId inputArgumentsRequestedNewNodeId, + UA_NodeId *inputArgumentsOutNewNodeId, + size_t outputArgumentsSize, const UA_Argument *outputArguments, + const UA_NodeId outputArgumentsRequestedNewNodeId, + UA_NodeId *outputArgumentsOutNewNodeId, + void *nodeContext, UA_NodeId *outNewNodeId); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Server_addMethodNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_MethodAttributes attr, + UA_MethodCallback method, + size_t inputArgumentsSize, const UA_Argument *inputArguments, + size_t outputArgumentsSize, const UA_Argument *outputArguments, + void *nodeContext, UA_NodeId *outNewNodeId) { + return UA_Server_addMethodNodeEx(server, requestedNewNodeId, parentNodeId, + referenceTypeId, browseName, attr, method, + inputArgumentsSize, inputArguments, + UA_NODEID_NULL, NULL, + outputArgumentsSize, outputArguments, + UA_NODEID_NULL, NULL, + nodeContext, outNewNodeId); +} + +#endif + + +/** + * The method pair UA_Server_addNode_begin and _finish splits the AddNodes + * service in two parts. This is useful if the node shall be modified before + * finish the instantiation. For example to add children with specific NodeIds. + * Otherwise, mandatory children (e.g. of an ObjectType) are added with + * pseudo-random unique NodeIds. Existing children are detected during the + * _finish part via their matching BrowseName. + * + * The _begin method: + * - prepares the node and adds it to the nodestore + * - copies some unassigned attributes from the TypeDefinition node internally + * - adds the references to the parent (and the TypeDefinition if applicable) + * - performs type-checking of variables. + * + * You can add an object node without a parent if you set the parentNodeId and + * referenceTypeId to UA_NODE_ID_NULL. Then you need to add the parent reference + * and hasTypeDef reference yourself before calling the _finish method. + * Not that this is only allowed for object nodes. + * + * The _finish method: + * - copies mandatory children + * - calls the node constructor(s) at the end + * - may remove the node if it encounters an error. + * + * The special UA_Server_addMethodNode_finish method needs to be used for method + * nodes, since there you need to explicitly specifiy the input and output + * arguments which are added in the finish step (if not yet already there) */ + +/* The ``attr`` argument must have a type according to the NodeClass. + * ``VariableAttributes`` for variables, ``ObjectAttributes`` for objects, and + * so on. Missing attributes are taken from the TypeDefinition node if + * applicable. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const void *attr, const UA_DataType *attributeType, + void *nodeContext, UA_NodeId *outNewNodeId); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addNode_finish(UA_Server *server, const UA_NodeId nodeId); + +#ifdef UA_ENABLE_METHODCALLS + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addMethodNode_finish(UA_Server *server, const UA_NodeId nodeId, + UA_MethodCallback method, + size_t inputArgumentsSize, const UA_Argument *inputArguments, + size_t outputArgumentsSize, const UA_Argument *outputArguments); + +#endif + +/* Deletes a node and optionally all references leading to the node. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_deleteNode(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean deleteReferences); + +/** + * Reference Management + * -------------------- */ + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_addReference(UA_Server *server, const UA_NodeId sourceId, + const UA_NodeId refTypeId, + const UA_ExpandedNodeId targetId, UA_Boolean isForward); + +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_ExpandedNodeId targetNodeId, + UA_Boolean deleteBidirectional); + +/** + * .. _events: + * + * Events + * ------ + * The method ``UA_Server_createEvent`` creates an event and represents it as + * node. The node receives a unique `EventId` which is automatically added to + * the node. The method returns a `NodeId` to the object node which represents + * the event through ``outNodeId``. The `NodeId` can be used to set the + * attributes of the event. The generated `NodeId` is always numeric. + * ``outNodeId`` cannot be ``NULL``. + * + * Note: In order to see an event in UAExpert, the field `Time` must be given a + * value! + * + * The method ``UA_Server_triggerEvent`` "triggers" an event by adding it to all + * monitored items of the specified origin node and those of all its parents. + * Any filters specified by the monitored items are automatically applied. Using + * this method deletes the node generated by ``UA_Server_createEvent``. The + * `EventId` for the new event is generated automatically and is returned + * through ``outEventId``. ``NULL`` can be passed if the `EventId` is not + * needed. ``deleteEventNode`` specifies whether the node representation of the + * event should be deleted after invoking the method. This can be useful if + * events with the similar attributes are triggered frequently. ``UA_TRUE`` + * would cause the node to be deleted. */ + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + +/* Creates a node representation of an event + * + * @param server The server object + * @param eventType The type of the event for which a node should be created + * @param outNodeId The NodeId of the newly created node for the event + * @return The StatusCode of the UA_Server_createEvent method */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_createEvent(UA_Server *server, const UA_NodeId eventType, + UA_NodeId *outNodeId); + +/* Triggers a node representation of an event by applying EventFilters and + * adding the event to the appropriate queues. + * + * @param server The server object + * @param eventNodeId The NodeId of the node representation of the event which + * should be triggered + * @param outEvent the EventId of the new event + * @param deleteEventNode Specifies whether the node representation of the event + * should be deleted + * @return The StatusCode of the UA_Server_triggerEvent method */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, + const UA_NodeId originId, UA_ByteString *outEventId, + const UA_Boolean deleteEventNode); + +#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ + +/** + * Alarms & Conditions (Experimental) + * ---------------------------------- */ + +#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS +typedef enum UA_TwoStateVariableCallbackType { + UA_ENTERING_ENABLEDSTATE, + UA_ENTERING_ACKEDSTATE, + UA_ENTERING_CONFIRMEDSTATE, + UA_ENTERING_ACTIVESTATE +} UA_TwoStateVariableCallbackType; + +/* Callback prototype to set user specific callbacks */ +typedef UA_StatusCode +(*UA_TwoStateVariableChangeCallback)(UA_Server *server, const UA_NodeId *condition); + +/* Create condition instance. The function checks first whether the passed + * conditionType is a subType of ConditionType. Then checks whether the + * condition source has HasEventSource reference to its parent. If not, a + * HasEventSource reference will be created between condition source and server + * object. To expose the condition in address space, a hierarchical + * ReferenceType should be passed to create the reference to condition source. + * Otherwise, UA_NODEID_NULL should be passed to make the condition not exposed. + * + * @param server The server object + * @param conditionId The NodeId of the requested Condition Object. When passing + * UA_NODEID_NUMERIC(X,0) an unused nodeid in namespace X will be used. + * E.g. passing UA_NODEID_NULL will result in a NodeId in namespace 0. + * @param conditionType The NodeId of the node representation of the ConditionType + * @param conditionName The name of the condition to be created + * @param conditionSource The NodeId of the Condition Source (Parent of the Condition) + * @param hierarchialReferenceType The NodeId of Hierarchical ReferenceType + * between Condition and its source + * @param outConditionId The NodeId of the created Condition + * @return The StatusCode of the UA_Server_createCondition method */ +UA_StatusCode UA_EXPORT +UA_Server_createCondition(UA_Server *server, + const UA_NodeId conditionId, + const UA_NodeId conditionType, + const UA_QualifiedName conditionName, + const UA_NodeId conditionSource, + const UA_NodeId hierarchialReferenceType, + UA_NodeId *outConditionId); + +/* The method pair UA_Server_addCondition_begin and _finish splits the + * UA_Server_createCondtion in two parts similiar to the + * UA_Server_addNode_begin / _finish pair. This is useful if the node shall be + * modified before finish the instantiation. For example to add children with + * specific NodeIds. + * For details refer to the UA_Server_addNode_begin / _finish methods. + * + * Additionally to UA_Server_addNode_begin UA_Server_addCondition_begin checks + * if the passed condition type is a subtype of the OPC UA ConditionType. + * + * @param server The server object + * @param conditionId The NodeId of the requested Condition Object. When passing + * UA_NODEID_NUMERIC(X,0) an unused nodeid in namespace X will be used. + * E.g. passing UA_NODEID_NULL will result in a NodeId in namespace 0. + * @param conditionType The NodeId of the node representation of the ConditionType + * @param conditionName The name of the condition to be added + * @param outConditionId The NodeId of the added Condition + * @return The StatusCode of the UA_Server_addCondition_begin method */ +UA_StatusCode UA_EXPORT +UA_Server_addCondition_begin(UA_Server *server, + const UA_NodeId conditionId, + const UA_NodeId conditionType, + const UA_QualifiedName conditionName, + UA_NodeId *outConditionId); + +/* Second call of the UA_Server_addCondition_begin and _finish pair. + * Additionally to UA_Server_addNode_finish UA_Server_addCondition_finish: + * - checks whether the condition source has HasEventSource reference to its + * parent. If not, a HasEventSource reference will be created between + * condition source and server object + * - exposes the condition in the address space if hierarchialReferenceType is + * not UA_NODEID_NULL by adding a reference of this type from the condition + * source to the condition instance + * - initializes the standard condition fields and callbacks + * + * @param server The server object + * @param conditionId The NodeId of the unfinished Condition Object + * @param conditionSource The NodeId of the Condition Source (Parent of the Condition) + * @param hierarchialReferenceType The NodeId of Hierarchical ReferenceType + * between Condition and its source + * @return The StatusCode of the UA_Server_addCondition_finish method */ + +UA_StatusCode UA_EXPORT +UA_Server_addCondition_finish(UA_Server *server, + const UA_NodeId conditionId, + const UA_NodeId conditionSource, + const UA_NodeId hierarchialReferenceType); + +/* Set the value of condition field. + * + * @param server The server object + * @param condition The NodeId of the node representation of the Condition Instance + * @param value Variant Value to be written to the Field + * @param fieldName Name of the Field in which the value should be written + * @return The StatusCode of the UA_Server_setConditionField method*/ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_setConditionField(UA_Server *server, + const UA_NodeId condition, + const UA_Variant *value, + const UA_QualifiedName fieldName); + +/* Set the value of property of condition field. + * + * @param server The server object + * @param condition The NodeId of the node representation of the Condition + * Instance + * @param value Variant Value to be written to the Field + * @param variableFieldName Name of the Field which has a property + * @param variablePropertyName Name of the Field Property in which the value + * should be written + * @return The StatusCode of the UA_Server_setConditionVariableFieldProperty*/ +UA_StatusCode UA_EXPORT +UA_Server_setConditionVariableFieldProperty(UA_Server *server, + const UA_NodeId condition, + const UA_Variant *value, + const UA_QualifiedName variableFieldName, + const UA_QualifiedName variablePropertyName); + +/* Triggers an event only for an enabled condition. The condition list is + * updated then with the last generated EventId. + * + * @param server The server object + * @param condition The NodeId of the node representation of the Condition Instance + * @param conditionSource The NodeId of the node representation of the Condition Source + * @param outEventId last generated EventId + * @return The StatusCode of the UA_Server_triggerConditionEvent method */ +UA_StatusCode UA_EXPORT +UA_Server_triggerConditionEvent(UA_Server *server, + const UA_NodeId condition, + const UA_NodeId conditionSource, + UA_ByteString *outEventId); + +/* Add an optional condition field using its name. (TODO Adding optional methods + * is not implemented yet) + * + * @param server The server object + * @param condition The NodeId of the node representation of the Condition Instance + * @param conditionType The NodeId of the node representation of the Condition Type + * from which the optional field comes + * @param fieldName Name of the optional field + * @param outOptionalVariable The NodeId of the created field (Variable Node) + * @return The StatusCode of the UA_Server_addConditionOptionalField method */ +UA_StatusCode UA_EXPORT +UA_Server_addConditionOptionalField(UA_Server *server, + const UA_NodeId condition, + const UA_NodeId conditionType, + const UA_QualifiedName fieldName, + UA_NodeId *outOptionalVariable); + +/* Function used to set a user specific callback to TwoStateVariable Fields of a + * condition. The callbacks will be called before triggering the events when + * transition to true State of EnabledState/Id, AckedState/Id, ConfirmedState/Id + * and ActiveState/Id occurs. + * + * @param server The server object + * @param condition The NodeId of the node representation of the Condition Instance + * @param conditionSource The NodeId of the node representation of the Condition Source + * @param removeBranch (Not Implemented yet) + * @param callback User specific callback function + * @param callbackType Callback function type, indicates where it should be called + * @return The StatusCode of the UA_Server_setConditionTwoStateVariableCallback method */ +UA_StatusCode UA_EXPORT +UA_Server_setConditionTwoStateVariableCallback(UA_Server *server, + const UA_NodeId condition, + const UA_NodeId conditionSource, + UA_Boolean removeBranch, + UA_TwoStateVariableChangeCallback callback, + UA_TwoStateVariableCallbackType callbackType); + +/* Delete a condition from the address space and the internal lists. + * + * @param server The server object + * @param condition The NodeId of the node representation of the Condition Instance + * @param conditionSource The NodeId of the node representation of the Condition Source + * @return ``UA_STATUSCODE_GOOD`` on success */ +UA_StatusCode UA_EXPORT +UA_Server_deleteCondition(UA_Server *server, + const UA_NodeId condition, + const UA_NodeId conditionSource); + +/* Set the LimitState of the LimitAlarmType + * + * @param server The server object + * @param conditionId NodeId of the node representation of the Condition Instance + * @param limitValue The value from the trigger node */ +UA_StatusCode UA_EXPORT +UA_Server_setLimitState(UA_Server *server, const UA_NodeId conditionId, + UA_Double limitValue); + +/* Parse the certifcate and set Expiration date + * + * @param server The server object + * @param conditionId NodeId of the node representation of the Condition Instance + * @param cert The certificate for parsing */ +UA_StatusCode UA_EXPORT +UA_Server_setExpirationDate(UA_Server *server, const UA_NodeId conditionId, + UA_ByteString cert); + +#endif /* UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ + +/** + * Update the Server Certificate at Runtime + * ---------------------------------------- */ + +UA_StatusCode UA_EXPORT +UA_Server_updateCertificate(UA_Server *server, + const UA_ByteString *oldCertificate, + const UA_ByteString *newCertificate, + const UA_ByteString *newPrivateKey, + UA_Boolean closeSessions, + UA_Boolean closeSecureChannels); + +/** + * Utility Functions + * ----------------- */ + +/* Lookup a datatype by its NodeId. Takes the custom types in the server + * configuration into account. Return NULL if none found. */ +UA_EXPORT const UA_DataType * +UA_Server_findDataType(UA_Server *server, const UA_NodeId *typeId); + +/* Add a new namespace to the server. Returns the index of the new namespace */ +UA_UInt16 UA_EXPORT UA_THREADSAFE +UA_Server_addNamespace(UA_Server *server, const char* name); + +/* Get namespace by name from the server. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_getNamespaceByName(UA_Server *server, const UA_String namespaceUri, + size_t* foundIndex); + +/* Get namespace by id from the server. */ +UA_StatusCode UA_EXPORT UA_THREADSAFE +UA_Server_getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, + UA_String *foundUri); + +/** + * .. _async-operations: + * + * Async Operations + * ---------------- + * Some operations (such as reading out a sensor that needs to warm up) can take + * quite some time. In order not to block the server during such an operation, it + * can be "outsourced" to a worker thread. + * + * Take the example of a CallRequest. It is split into the individual method call + * operations. If the method is marked as async, then the operation is put into a + * queue where it is be retrieved by a worker. The worker returns the result when + * ready. See the examples in ``/examples/tutorial_server_method_async.c`` for + * the usage. + * + * Note that the operation can time out (see the asyncOperationTimeout setting in + * the server config) also when it has been retrieved by the worker. */ + +#if UA_MULTITHREADING >= 100 + +/* Set the async flag in a method node */ +UA_StatusCode UA_EXPORT +UA_Server_setMethodNodeAsync(UA_Server *server, const UA_NodeId id, + UA_Boolean isAsync); + +typedef enum { + UA_ASYNCOPERATIONTYPE_INVALID, /* 0, the default */ + UA_ASYNCOPERATIONTYPE_CALL + /* UA_ASYNCOPERATIONTYPE_READ, */ + /* UA_ASYNCOPERATIONTYPE_WRITE, */ +} UA_AsyncOperationType; + +typedef union { + UA_CallMethodRequest callMethodRequest; + /* UA_ReadValueId readValueId; */ + /* UA_WriteValue writeValue; */ +} UA_AsyncOperationRequest; + +typedef union { + UA_CallMethodResult callMethodResult; + /* UA_DataValue readResult; */ + /* UA_StatusCode writeResult; */ +} UA_AsyncOperationResponse; + +/* Get the next async operation without blocking + * + * @param server The server object + * @param type The type of the async operation + * @param request Receives pointer to the operation + * @param context Receives the pointer to the operation context + * @param timeout The timestamp when the operation times out and can + * no longer be returned to the client. The response has to + * be set in UA_Server_setAsyncOperationResult in any case. + * @return false if queue is empty, true else */ +UA_Boolean UA_EXPORT +UA_Server_getAsyncOperationNonBlocking(UA_Server *server, + UA_AsyncOperationType *type, + const UA_AsyncOperationRequest **request, + void **context, UA_DateTime *timeout); + +/* UA_Boolean UA_EXPORT */ +/* UA_Server_getAsyncOperationBlocking(UA_Server *server, */ +/* UA_AsyncOperationType *type, */ +/* const UA_AsyncOperationRequest **request, */ +/* void **context, UA_DateTime *timeout); */ + +/* Submit an async operation result + * + * @param server The server object + * @param response Pointer to the operation result + * @param context Pointer to the operation context */ +void UA_EXPORT +UA_Server_setAsyncOperationResult(UA_Server *server, + const UA_AsyncOperationResponse *response, + void *context); + +#endif /* !UA_MULTITHREADING >= 100 */ + +/** + * Statistics + * ---------- + * Statistic counters keeping track of the current state of the stack. Counters + * are structured per OPC UA communication layer. */ + +typedef struct { + UA_SecureChannelStatistics scs; + UA_SessionStatistics ss; +} UA_ServerStatistics; + +UA_ServerStatistics UA_EXPORT UA_THREADSAFE +UA_Server_getStatistics(UA_Server *server); + +/** + * Reverse Connect + * --------------- + * The reverse connect feature of OPC UA permits the server instead of the + * client to establish the connection. The client must expose the listening port + * so the server is able to reach it. */ + +/* The reverse connect state change callback is called whenever the state of a + * reverse connect is changed by a connection attempt, a successful connection + * or a connection loss. + * + * The reverse connect states reflect the state of the secure channel currently + * associated with a reverse connect. The state will remain + * UA_SECURECHANNELSTATE_CONNECTING while the server attempts repeatedly to + * establish a connection. */ +typedef void (*UA_Server_ReverseConnectStateCallback)(UA_Server *server, + UA_UInt64 handle, + UA_SecureChannelState state, + void *context); + +/* Registers a reverse connect in the server. The server periodically attempts + * to establish a connection if the initial connect fails or if the connection + * breaks. + * + * @param server The server object + * @param url The URL of the remote client + * @param stateCallback The callback which will be called on state changes + * @param callbackContext The context for the state callback + * @param handle Is set to the handle of the reverse connect if not NULL + * @return Returns UA_STATUSCODE_GOOD if the reverse connect has been registered */ +UA_StatusCode UA_EXPORT +UA_Server_addReverseConnect(UA_Server *server, UA_String url, + UA_Server_ReverseConnectStateCallback stateCallback, + void *callbackContext, UA_UInt64 *handle); + +/* Removes a reverse connect from the server and closes the connection if it is + * currently open. + * + * @param server The server object + * @param handle The handle of the reverse connect to remove + * @return Returns UA_STATUSCODE_GOOD if the reverse connect has been + * successfully removed */ +UA_StatusCode UA_EXPORT +UA_Server_removeReverseConnect(UA_Server *server, UA_UInt64 handle); + +_UA_END_DECLS + +#ifdef UA_ENABLE_PUBSUB +#endif + + +/**** amalgamated original file "/include/open62541/client_highlevel.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Florian Palm + * Copyright 2016 (c) Chris Iatrou + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Frank Meerkötter + * Copyright 2018 (c) Fabian Arndt + * Copyright 2018 (c) Peter Rustler, basyskom GmbH + */ + + + +_UA_BEGIN_DECLS + +/** + * .. _client-highlevel: + * + * Highlevel Client Functionality + * ------------------------------ + * + * The following definitions are convenience functions making use of the + * standard OPC UA services in the background. This is a less flexible way of + * handling the stack, because at many places sensible defaults are presumed; at + * the same time using these functions is the easiest way of implementing an OPC + * UA application, as you will not have to consider all the details that go into + * the OPC UA services. If more flexibility is needed, you can always achieve + * the same functionality using the raw :ref:`OPC UA services + * `. + * + * Read Attributes + * ^^^^^^^^^^^^^^^ + * The following functions can be used to retrieve a single node attribute. Use + * the regular service to read several attributes at once. */ + +/* Don't call this function, use the typed versions */ +UA_StatusCode UA_EXPORT +__UA_Client_readAttribute(UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, void *out, + const UA_DataType *outDataType); + +static UA_INLINE UA_StatusCode +UA_Client_readNodeIdAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_NodeId *outNodeId) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_NODEID, + outNodeId, &UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readNodeClassAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_NodeClass *outNodeClass) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_NODECLASS, + outNodeClass, &UA_TYPES[UA_TYPES_NODECLASS]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readBrowseNameAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_QualifiedName *outBrowseName) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, + outBrowseName, + &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readDisplayNameAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_LocalizedText *outDisplayName) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, + outDisplayName, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readDescriptionAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_LocalizedText *outDescription) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, + outDescription, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_UInt32 *outWriteMask) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, + outWriteMask, &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readUserWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_UInt32 *outUserWriteMask) { + return __UA_Client_readAttribute(client, &nodeId, + UA_ATTRIBUTEID_USERWRITEMASK, + outUserWriteMask, + &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readIsAbstractAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean *outIsAbstract) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, + outIsAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readSymmetricAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean *outSymmetric) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, + outSymmetric, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readInverseNameAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_LocalizedText *outInverseName) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, + outInverseName, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readContainsNoLoopsAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean *outContainsNoLoops) { + return __UA_Client_readAttribute(client, &nodeId, + UA_ATTRIBUTEID_CONTAINSNOLOOPS, + outContainsNoLoops, + &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readEventNotifierAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Byte *outEventNotifier) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, + outEventNotifier, &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readValueAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Variant *outValue) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, + outValue, &UA_TYPES[UA_TYPES_VARIANT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readDataTypeAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_NodeId *outDataType) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_DATATYPE, + outDataType, &UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readValueRankAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Int32 *outValueRank) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUERANK, + outValueRank, &UA_TYPES[UA_TYPES_INT32]); +} + +UA_StatusCode UA_EXPORT +UA_Client_readArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, + size_t *outArrayDimensionsSize, + UA_UInt32 **outArrayDimensions); + +static UA_INLINE UA_StatusCode +UA_Client_readAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Byte *outAccessLevel) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, + outAccessLevel, &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readAccessLevelExAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_UInt32 *outAccessLevelEx) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, + outAccessLevelEx, &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readUserAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Byte *outUserAccessLevel) { + return __UA_Client_readAttribute(client, &nodeId, + UA_ATTRIBUTEID_USERACCESSLEVEL, + outUserAccessLevel, + &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readMinimumSamplingIntervalAttribute(UA_Client *client, + const UA_NodeId nodeId, + UA_Double *outMinSamplingInterval) { + return __UA_Client_readAttribute(client, &nodeId, + UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + outMinSamplingInterval, + &UA_TYPES[UA_TYPES_DOUBLE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readHistorizingAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean *outHistorizing) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, + outHistorizing, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean *outExecutable) { + return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, + outExecutable, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_readUserExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean *outUserExecutable) { + return __UA_Client_readAttribute(client, &nodeId, + UA_ATTRIBUTEID_USEREXECUTABLE, + outUserExecutable, + &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +/** + * Historical Access + * ^^^^^^^^^^^^^^^^^ + * The following functions can be used to read a single node historically. + * Use the regular service to read several nodes at once. */ + +typedef UA_Boolean +(*UA_HistoricalIteratorCallback)( + UA_Client *client, const UA_NodeId *nodeId, UA_Boolean moreDataAvailable, + const UA_ExtensionObject *data, void *callbackContext); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryRead_events( + UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, + UA_DateTime endTime, UA_String indexRange, const UA_EventFilter filter, + UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, + void *callbackContext); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryRead_raw( + UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, + UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds, + UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, + void *callbackContext); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryRead_modified( + UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, + UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds, + UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, + void *callbackContext); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryUpdate_insert( + UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryUpdate_replace( + UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryUpdate_update( + UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value); + +UA_StatusCode UA_EXPORT +UA_Client_HistoryUpdate_deleteRaw( + UA_Client *client, const UA_NodeId *nodeId, + UA_DateTime startTimestamp, UA_DateTime endTimestamp); + +/** + * Write Attributes + * ^^^^^^^^^^^^^^^^ + * + * The following functions can be use to write a single node attribute at a + * time. Use the regular write service to write several attributes at once. */ + +/* Don't call this function, use the typed versions */ +UA_StatusCode UA_EXPORT +__UA_Client_writeAttribute(UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, const void *in, + const UA_DataType *inDataType); + +static UA_INLINE UA_StatusCode +UA_Client_writeNodeIdAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_NodeId *newNodeId) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_NODEID, + newNodeId, &UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeNodeClassAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_NodeClass *newNodeClass) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_NODECLASS, + newNodeClass, &UA_TYPES[UA_TYPES_NODECLASS]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeBrowseNameAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_QualifiedName *newBrowseName) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, + newBrowseName, + &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeDisplayNameAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_LocalizedText *newDisplayName) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, + newDisplayName, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeDescriptionAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_LocalizedText *newDescription) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, + newDescription, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_UInt32 *newWriteMask) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, + newWriteMask, &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeUserWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_UInt32 *newUserWriteMask) { + return __UA_Client_writeAttribute(client, &nodeId, + UA_ATTRIBUTEID_USERWRITEMASK, + newUserWriteMask, + &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeIsAbstractAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *newIsAbstract) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, + newIsAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeSymmetricAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *newSymmetric) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, + newSymmetric, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeInverseNameAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_LocalizedText *newInverseName) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, + newInverseName, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeContainsNoLoopsAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *newContainsNoLoops) { + return __UA_Client_writeAttribute(client, &nodeId, + UA_ATTRIBUTEID_CONTAINSNOLOOPS, + newContainsNoLoops, + &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeEventNotifierAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Byte *newEventNotifier) { + return __UA_Client_writeAttribute(client, &nodeId, + UA_ATTRIBUTEID_EVENTNOTIFIER, + newEventNotifier, + &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeValueAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Variant *newValue) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, + newValue, &UA_TYPES[UA_TYPES_VARIANT]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeValueAttribute_scalar(UA_Client *client, const UA_NodeId nodeId, + const void *newValue, + const UA_DataType *valueType) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, + newValue, valueType); +} + +/* Write a DataValue that can include timestamps and status codes */ +static UA_INLINE UA_StatusCode +UA_Client_writeValueAttributeEx(UA_Client *client, const UA_NodeId nodeId, + const UA_DataValue *newValue) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, + newValue, &UA_TYPES[UA_TYPES_DATAVALUE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeDataTypeAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_NodeId *newDataType) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_DATATYPE, + newDataType, &UA_TYPES[UA_TYPES_NODEID]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeValueRankAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Int32 *newValueRank) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUERANK, + newValueRank, &UA_TYPES[UA_TYPES_INT32]); +} + +UA_StatusCode UA_EXPORT +UA_Client_writeArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, + size_t newArrayDimensionsSize, + const UA_UInt32 *newArrayDimensions); + +static UA_INLINE UA_StatusCode +UA_Client_writeAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Byte *newAccessLevel) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, + newAccessLevel, &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeAccessLevelExAttribute(UA_Client *client, const UA_NodeId nodeId, + UA_UInt32 *newAccessLevelEx) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, + newAccessLevelEx, &UA_TYPES[UA_TYPES_UINT32]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeUserAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Byte *newUserAccessLevel) { + return __UA_Client_writeAttribute(client, &nodeId, + UA_ATTRIBUTEID_USERACCESSLEVEL, + newUserAccessLevel, + &UA_TYPES[UA_TYPES_BYTE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeMinimumSamplingIntervalAttribute(UA_Client *client, + const UA_NodeId nodeId, + const UA_Double *newMinInterval) { + return __UA_Client_writeAttribute(client, &nodeId, + UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + newMinInterval, &UA_TYPES[UA_TYPES_DOUBLE]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeHistorizingAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *newHistorizing) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, + newHistorizing, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *newExecutable) { + return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, + newExecutable, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeUserExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *newUserExecutable) { + return __UA_Client_writeAttribute(client, &nodeId, + UA_ATTRIBUTEID_USEREXECUTABLE, + newUserExecutable, + &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +/** + * Method Calling + * ^^^^^^^^^^^^^^ */ + +UA_StatusCode UA_EXPORT +UA_Client_call(UA_Client *client, + const UA_NodeId objectId, const UA_NodeId methodId, + size_t inputSize, const UA_Variant *input, + size_t *outputSize, UA_Variant **output); + +/** + * Node Management + * ^^^^^^^^^^^^^^^ + * See the section on :ref:`server-side node management `. */ + +UA_StatusCode UA_EXPORT +UA_Client_addReference(UA_Client *client, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_String targetServerUri, + const UA_ExpandedNodeId targetNodeId, + UA_NodeClass targetNodeClass); + +UA_StatusCode UA_EXPORT +UA_Client_deleteReference(UA_Client *client, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_ExpandedNodeId targetNodeId, + UA_Boolean deleteBidirectional); + +UA_StatusCode UA_EXPORT +UA_Client_deleteNode(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean deleteTargetReferences); + +/* Don't call this function, use the typed versions */ +UA_StatusCode UA_EXPORT +__UA_Client_addNode(UA_Client *client, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, + const UA_DataType *attributeType, UA_NodeId *outNewNodeId); + +static UA_INLINE UA_StatusCode +UA_Client_addVariableNode(UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_VariableAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_VARIABLE, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + typeDefinition, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], + outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addVariableTypeNode(UA_Client *client, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_VariableTypeAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_VARIABLETYPE, + requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], + outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addObjectNode(UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_ObjectAttributes attr, UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_OBJECT, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + typeDefinition, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addObjectTypeNode(UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ObjectTypeAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_OBJECTTYPE, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], + outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addViewNode(UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ViewAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_VIEW, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addReferenceTypeNode(UA_Client *client, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ReferenceTypeAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_REFERENCETYPE, + requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], + outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addDataTypeNode(UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_DataTypeAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_DATATYPE, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES], + outNewNodeId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addMethodNode(UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_MethodAttributes attr, + UA_NodeId *outNewNodeId) { + return __UA_Client_addNode(client, UA_NODECLASS_METHOD, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_METHODATTRIBUTES], outNewNodeId); +} + +/** + * Misc Highlevel Functionality + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ + +/* Get the namespace-index of a namespace-URI + * + * @param client The UA_Client struct for this connection + * @param namespaceUri The interested namespace URI + * @param namespaceIndex The namespace index of the URI. The value is unchanged + * in case of an error + * @return Indicates whether the operation succeeded or returns an error code */ +UA_StatusCode UA_EXPORT +UA_Client_NamespaceGetIndex(UA_Client *client, UA_String *namespaceUri, + UA_UInt16 *namespaceIndex); + +#ifndef HAVE_NODEITER_CALLBACK +#define HAVE_NODEITER_CALLBACK +/* Iterate over all nodes referenced by parentNodeId by calling the callback + * function for each child node */ +typedef UA_StatusCode +(*UA_NodeIteratorCallback)(UA_NodeId childId, UA_Boolean isInverse, + UA_NodeId referenceTypeId, void *handle); +#endif + +UA_StatusCode UA_EXPORT +UA_Client_forEachChildNodeCall( + UA_Client *client, UA_NodeId parentNodeId, + UA_NodeIteratorCallback callback, void *handle); + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/client_subscriptions.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +_UA_BEGIN_DECLS + +/** + * .. _client-subscriptions: + * + * Subscriptions + * ------------- + * + * Subscriptions in OPC UA are asynchronous. That is, the client sends several + * PublishRequests to the server. The server returns PublishResponses with + * notifications. But only when a notification has been generated. The client + * does not wait for the responses and continues normal operations. + * + * Note the difference between Subscriptions and MonitoredItems. Subscriptions + * are used to report back notifications. MonitoredItems are used to generate + * notifications. Every MonitoredItem is attached to exactly one Subscription. + * And a Subscription can contain many MonitoredItems. + * + * The client automatically processes PublishResponses (with a callback) in the + * background and keeps enough PublishRequests in transit. The PublishResponses + * may be recieved during a synchronous service call or in + * ``UA_Client_run_iterate``. See more about + * :ref:`asynchronicity`. + */ + +/* Callbacks defined for Subscriptions */ +typedef void (*UA_Client_DeleteSubscriptionCallback) + (UA_Client *client, UA_UInt32 subId, void *subContext); + +typedef void (*UA_Client_StatusChangeNotificationCallback) + (UA_Client *client, UA_UInt32 subId, void *subContext, + UA_StatusChangeNotification *notification); + +/* Provides default values for a new subscription. + * + * RequestedPublishingInterval: 500.0 [ms] + * RequestedLifetimeCount: 10000 + * RequestedMaxKeepAliveCount: 10 + * MaxNotificationsPerPublish: 0 (unlimited) + * PublishingEnabled: true + * Priority: 0 */ +static UA_INLINE UA_CreateSubscriptionRequest +UA_CreateSubscriptionRequest_default(void) { + UA_CreateSubscriptionRequest request; + UA_CreateSubscriptionRequest_init(&request); + + request.requestedPublishingInterval = 500.0; + request.requestedLifetimeCount = 10000; + request.requestedMaxKeepAliveCount = 10; + request.maxNotificationsPerPublish = 0; + request.publishingEnabled = true; + request.priority = 0; + return request; +} + +UA_CreateSubscriptionResponse UA_EXPORT +UA_Client_Subscriptions_create(UA_Client *client, + const UA_CreateSubscriptionRequest request, + void *subscriptionContext, + UA_Client_StatusChangeNotificationCallback statusChangeCallback, + UA_Client_DeleteSubscriptionCallback deleteCallback); + +UA_StatusCode UA_EXPORT +UA_Client_Subscriptions_create_async(UA_Client *client, + const UA_CreateSubscriptionRequest request, + void *subscriptionContext, + UA_Client_StatusChangeNotificationCallback statusChangeCallback, + UA_Client_DeleteSubscriptionCallback deleteCallback, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId); + +UA_ModifySubscriptionResponse UA_EXPORT +UA_Client_Subscriptions_modify(UA_Client *client, + const UA_ModifySubscriptionRequest request); + +UA_StatusCode UA_EXPORT +UA_Client_Subscriptions_modify_async(UA_Client *client, + const UA_ModifySubscriptionRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId); + +UA_DeleteSubscriptionsResponse UA_EXPORT +UA_Client_Subscriptions_delete(UA_Client *client, + const UA_DeleteSubscriptionsRequest request); + +UA_StatusCode UA_EXPORT +UA_Client_Subscriptions_delete_async(UA_Client *client, + const UA_DeleteSubscriptionsRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Delete a single subscription */ +UA_StatusCode UA_EXPORT +UA_Client_Subscriptions_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId); + +static UA_INLINE UA_SetPublishingModeResponse +UA_Client_Subscriptions_setPublishingMode(UA_Client *client, + const UA_SetPublishingModeRequest request) { + UA_SetPublishingModeResponse response; + __UA_Client_Service(client, + &request, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST], + &response, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); + return response; +} + +/** + * MonitoredItems + * -------------- + * + * MonitoredItems for Events indicate the ``EventNotifier`` attribute. This + * indicates to the server not to monitor changes of the attribute, but to + * forward Event notifications from that node. + * + * During the creation of a MonitoredItem, the server may return changed + * adjusted parameters. Check the returned ``UA_CreateMonitoredItemsResponse`` + * to get the current parameters. */ + +/* Provides default values for a new monitored item. */ +static UA_INLINE UA_MonitoredItemCreateRequest +UA_MonitoredItemCreateRequest_default(UA_NodeId nodeId) { + UA_MonitoredItemCreateRequest request; + UA_MonitoredItemCreateRequest_init(&request); + request.itemToMonitor.nodeId = nodeId; + request.itemToMonitor.attributeId = UA_ATTRIBUTEID_VALUE; + request.monitoringMode = UA_MONITORINGMODE_REPORTING; + request.requestedParameters.samplingInterval = 250; + request.requestedParameters.discardOldest = true; + request.requestedParameters.queueSize = 1; + return request; +} + +/** + * The clientHandle parameter cannot be set by the user, any value will be replaced + * by the client before sending the request to the server. */ + +/* Callback for the deletion of a MonitoredItem */ +typedef void (*UA_Client_DeleteMonitoredItemCallback) + (UA_Client *client, UA_UInt32 subId, void *subContext, + UA_UInt32 monId, void *monContext); + +/* Callback for DataChange notifications */ +typedef void (*UA_Client_DataChangeNotificationCallback) + (UA_Client *client, UA_UInt32 subId, void *subContext, + UA_UInt32 monId, void *monContext, + UA_DataValue *value); + +/* Callback for Event notifications */ +typedef void (*UA_Client_EventNotificationCallback) + (UA_Client *client, UA_UInt32 subId, void *subContext, + UA_UInt32 monId, void *monContext, + size_t nEventFields, UA_Variant *eventFields); + +/* Don't use to monitor the EventNotifier attribute */ +UA_CreateMonitoredItemsResponse UA_EXPORT +UA_Client_MonitoredItems_createDataChanges(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, void **contexts, + UA_Client_DataChangeNotificationCallback *callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks); + +UA_StatusCode UA_EXPORT +UA_Client_MonitoredItems_createDataChanges_async(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, void **contexts, + UA_Client_DataChangeNotificationCallback *callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + UA_ClientAsyncServiceCallback createCallback, + void *userdata, UA_UInt32 *requestId); + +UA_MonitoredItemCreateResult UA_EXPORT +UA_Client_MonitoredItems_createDataChange(UA_Client *client, + UA_UInt32 subscriptionId, + UA_TimestampsToReturn timestampsToReturn, + const UA_MonitoredItemCreateRequest item, + void *context, UA_Client_DataChangeNotificationCallback callback, + UA_Client_DeleteMonitoredItemCallback deleteCallback); + +/* Monitor the EventNotifier attribute only */ +UA_CreateMonitoredItemsResponse UA_EXPORT +UA_Client_MonitoredItems_createEvents(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, void **contexts, + UA_Client_EventNotificationCallback *callback, + UA_Client_DeleteMonitoredItemCallback *deleteCallback); + +/* Monitor the EventNotifier attribute only */ +UA_StatusCode UA_EXPORT +UA_Client_MonitoredItems_createEvents_async(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, void **contexts, + UA_Client_EventNotificationCallback *callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + UA_ClientAsyncServiceCallback createCallback, + void *userdata, UA_UInt32 *requestId); + +UA_MonitoredItemCreateResult UA_EXPORT +UA_Client_MonitoredItems_createEvent(UA_Client *client, + UA_UInt32 subscriptionId, + UA_TimestampsToReturn timestampsToReturn, + const UA_MonitoredItemCreateRequest item, + void *context, UA_Client_EventNotificationCallback callback, + UA_Client_DeleteMonitoredItemCallback deleteCallback); + +UA_DeleteMonitoredItemsResponse UA_EXPORT +UA_Client_MonitoredItems_delete(UA_Client *client, + const UA_DeleteMonitoredItemsRequest); + +UA_StatusCode UA_EXPORT +UA_Client_MonitoredItems_delete_async(UA_Client *client, + const UA_DeleteMonitoredItemsRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId); + +UA_StatusCode UA_EXPORT +UA_Client_MonitoredItems_deleteSingle(UA_Client *client, + UA_UInt32 subscriptionId, UA_UInt32 monitoredItemId); + +/* The clientHandle parameter will be filled automatically */ +UA_ModifyMonitoredItemsResponse UA_EXPORT +UA_Client_MonitoredItems_modify(UA_Client *client, + const UA_ModifyMonitoredItemsRequest request); + +UA_StatusCode UA_EXPORT +UA_Client_MonitoredItems_modify_async(UA_Client *client, + const UA_ModifyMonitoredItemsRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId); + +/** + * The following service calls go directly to the server. The MonitoredItem + * settings are not stored in the client. */ + +static UA_INLINE UA_SetMonitoringModeResponse +UA_Client_MonitoredItems_setMonitoringMode(UA_Client *client, + const UA_SetMonitoringModeRequest request) { + UA_SetMonitoringModeResponse response; + __UA_Client_Service(client, + &request, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST], + &response, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); + return response; +} + +static UA_INLINE UA_StatusCode +UA_Client_MonitoredItems_setMonitoringMode_async(UA_Client *client, + const UA_SetMonitoringModeRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId) { + return __UA_Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST], callback, + &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE], + userdata, requestId); +} + +static UA_INLINE UA_SetTriggeringResponse +UA_Client_MonitoredItems_setTriggering(UA_Client *client, + const UA_SetTriggeringRequest request) { + UA_SetTriggeringResponse response; + __UA_Client_Service(client, + &request, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST], + &response, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); + return response; +} + +static UA_INLINE UA_StatusCode +UA_Client_MonitoredItems_setTriggering_async(UA_Client *client, + const UA_SetTriggeringRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId) { + return __UA_Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST], callback, + &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE], + userdata, requestId); +} + +_UA_END_DECLS + + +/**** amalgamated original file "/include/open62541/client_highlevel_async.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + + +_UA_BEGIN_DECLS + +/** + * .. _client_async: + * + * Async Services + * ^^^^^^^^^^^^^^ + * + * Call OPC UA Services asynchronously with a callback. The (optional) requestId + * output can be used to cancel the service while it is still pending. */ + +typedef void +(*UA_ClientAsyncReadCallback)( + UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_ReadResponse *rr); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Client_sendAsyncReadRequest( + UA_Client *client, UA_ReadRequest *request, + UA_ClientAsyncReadCallback readCallback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_AsyncService( + client, request, &UA_TYPES[UA_TYPES_READREQUEST], + (UA_ClientAsyncServiceCallback)readCallback, + &UA_TYPES[UA_TYPES_READRESPONSE], userdata, reqId); +} + +typedef void +(*UA_ClientAsyncWriteCallback)( + UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_WriteResponse *wr); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Client_sendAsyncWriteRequest( + UA_Client *client, UA_WriteRequest *request, + UA_ClientAsyncWriteCallback writeCallback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_AsyncService( + client, request, &UA_TYPES[UA_TYPES_WRITEREQUEST], + (UA_ClientAsyncServiceCallback)writeCallback, + &UA_TYPES[UA_TYPES_WRITERESPONSE], userdata, reqId); +} + +typedef void +(*UA_ClientAsyncBrowseCallback)( + UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_BrowseResponse *wr); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Client_sendAsyncBrowseRequest( + UA_Client *client, UA_BrowseRequest *request, + UA_ClientAsyncBrowseCallback browseCallback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_AsyncService( + client, request, &UA_TYPES[UA_TYPES_BROWSEREQUEST], + (UA_ClientAsyncServiceCallback)browseCallback, + &UA_TYPES[UA_TYPES_BROWSERESPONSE], userdata, reqId); +} + +typedef void +(*UA_ClientAsyncBrowseNextCallback)( + UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_BrowseNextResponse *wr); + +static UA_INLINE UA_THREADSAFE UA_StatusCode +UA_Client_sendAsyncBrowseNextRequest( + UA_Client *client, UA_BrowseNextRequest *request, + UA_ClientAsyncBrowseNextCallback browseNextCallback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_AsyncService( + client, request, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST], + (UA_ClientAsyncServiceCallback)browseNextCallback, + &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE], userdata, reqId); +} + +/** + * Asynchronous Operations + * ^^^^^^^^^^^^^^^^^^^^^^^ + * + * Many Services can be called with an array of operations. For example, a + * request to the Read Service contains an array of ReadValueId, each + * corresponding to a single read operation. For convenience, wrappers are + * provided to call single operations for the most common Services. + * + * All async operations have a callback of the following structure: The returned + * StatusCode is split in two parts. The status indicates the overall success of + * the request and the operation. The result argument is non-NULL only if the + * status is no good. */ +typedef void +(*UA_ClientAsyncOperationCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, void *result); + +/** + * Read Attribute + * ^^^^^^^^^^^^^^ + * + * Asynchronously read a single attribute. The attribute is unpacked from the + * response as the datatype of the attribute is known ahead of time. Value + * attributes are variants. + * + * Note that the last argument (value pointer) of the callbacks can be NULL if + * the status of the operation is not good. */ + +/* Reading a single attribute */ +typedef void +(*UA_ClientAsyncReadAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_DataValue *attribute); + +UA_StatusCode UA_EXPORT +UA_Client_readAttribute_async( + UA_Client *client, const UA_ReadValueId *rvi, + UA_TimestampsToReturn timestampsToReturn, + UA_ClientAsyncReadAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single Value attribute */ +typedef void +(*UA_ClientAsyncReadValueAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_DataValue *value); + +UA_StatusCode UA_EXPORT +UA_Client_readValueAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadValueAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single DataType attribute */ +typedef void +(*UA_ClientAsyncReadDataTypeAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_NodeId *dataType); + +UA_StatusCode UA_EXPORT +UA_Client_readDataTypeAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadDataTypeAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single ArrayDimensions attribute. If the status is good, the variant + * carries an UInt32 array. */ +typedef void +(*UA_ClientReadArrayDimensionsAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Variant *arrayDimensions); + +UA_StatusCode UA_EXPORT +UA_Client_readArrayDimensionsAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientReadArrayDimensionsAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single NodeClass attribute */ +typedef void +(*UA_ClientAsyncReadNodeClassAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_NodeClass *nodeClass); + +UA_StatusCode UA_EXPORT +UA_Client_readNodeClassAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadNodeClassAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single BrowseName attribute */ +typedef void +(*UA_ClientAsyncReadBrowseNameAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_QualifiedName *browseName); + +UA_StatusCode UA_EXPORT +UA_Client_readBrowseNameAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadBrowseNameAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single DisplayName attribute */ +typedef void +(*UA_ClientAsyncReadDisplayNameAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_LocalizedText *displayName); + +UA_StatusCode UA_EXPORT +UA_Client_readDisplayNameAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadDisplayNameAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single Description attribute */ +typedef void +(*UA_ClientAsyncReadDescriptionAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_LocalizedText *description); + +UA_StatusCode UA_EXPORT +UA_Client_readDescriptionAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadDescriptionAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single WriteMask attribute */ +typedef void +(*UA_ClientAsyncReadWriteMaskAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_UInt32 *writeMask); + +UA_StatusCode UA_EXPORT +UA_Client_readWriteMaskAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadWriteMaskAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single UserWriteMask attribute */ +typedef void +(*UA_ClientAsyncReadUserWriteMaskAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_UInt32 *writeMask); + +UA_StatusCode UA_EXPORT +UA_Client_readUserWriteMaskAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadUserWriteMaskAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single IsAbstract attribute */ +typedef void +(*UA_ClientAsyncReadIsAbstractAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Boolean *isAbstract); + +UA_StatusCode UA_EXPORT +UA_Client_readIsAbstractAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadIsAbstractAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single Symmetric attribute */ +typedef void +(*UA_ClientAsyncReadSymmetricAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Boolean *symmetric); + +UA_StatusCode UA_EXPORT +UA_Client_readSymmetricAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadSymmetricAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single InverseName attribute */ +typedef void +(*UA_ClientAsyncReadInverseNameAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_LocalizedText *inverseName); + +UA_StatusCode UA_EXPORT +UA_Client_readInverseNameAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadInverseNameAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single ContainsNoLoops attribute */ +typedef void +(*UA_ClientAsyncReadContainsNoLoopsAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Boolean *containsNoLoops); + +UA_StatusCode UA_EXPORT +UA_Client_readContainsNoLoopsAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadContainsNoLoopsAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single EventNotifier attribute */ +typedef void +(*UA_ClientAsyncReadEventNotifierAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Byte *eventNotifier); + +UA_StatusCode UA_EXPORT +UA_Client_readEventNotifierAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadEventNotifierAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single ValueRank attribute */ +typedef void +(*UA_ClientAsyncReadValueRankAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Int32 *valueRank); + +UA_StatusCode UA_EXPORT +UA_Client_readValueRankAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadValueRankAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single AccessLevel attribute */ +typedef void +(*UA_ClientAsyncReadAccessLevelAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Byte *accessLevel); + +UA_StatusCode UA_EXPORT +UA_Client_readAccessLevelAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadAccessLevelAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single AccessLevelEx attribute */ +typedef void +(*UA_ClientAsyncReadAccessLevelExAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_UInt32 *accessLevelEx); + +UA_StatusCode UA_EXPORT +UA_Client_readAccessLevelExAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadAccessLevelExAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single UserAccessLevel attribute */ +typedef void +(*UA_ClientAsyncReadUserAccessLevelAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Byte *userAccessLevel); + +UA_StatusCode UA_EXPORT +UA_Client_readUserAccessLevelAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadUserAccessLevelAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single MinimumSamplingInterval attribute */ +typedef void +(*UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Double *minimumSamplingInterval); + +UA_StatusCode UA_EXPORT +UA_Client_readMinimumSamplingIntervalAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single Historizing attribute */ +typedef void +(*UA_ClientAsyncReadHistorizingAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Boolean *historizing); + +UA_StatusCode UA_EXPORT +UA_Client_readHistorizingAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadHistorizingAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single Executable attribute */ +typedef void +(*UA_ClientAsyncReadExecutableAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Boolean *executable); + +UA_StatusCode UA_EXPORT +UA_Client_readExecutableAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadExecutableAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/* Read a single UserExecutable attribute */ +typedef void +(*UA_ClientAsyncReadUserExecutableAttributeCallback)( + UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_StatusCode status, UA_Boolean *userExecutable); + +UA_StatusCode UA_EXPORT +UA_Client_readUserExecutableAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadUserExecutableAttributeCallback callback, + void *userdata, UA_UInt32 *requestId); + +/** + * Write Attribute + * ^^^^^^^^^^^^^^^ */ + +UA_StatusCode UA_EXPORT +__UA_Client_writeAttribute_async( + UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, const void *in, + const UA_DataType *inDataType, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId); + +static UA_INLINE UA_StatusCode +UA_Client_writeValueAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Variant *attr, UA_ClientAsyncWriteCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_VALUE, attr, + &UA_TYPES[UA_TYPES_VARIANT], + (UA_ClientAsyncServiceCallback)callback, + userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeNodeIdAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_NODEID, attr, + &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeNodeClassAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_NodeClass *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_NODECLASS, attr, + &UA_TYPES[UA_TYPES_NODECLASS], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeBrowseNameAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_QualifiedName *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, attr, + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeDisplayNameAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_LocalizedText *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, attr, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeDescriptionAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_LocalizedText *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, attr, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeWriteMaskAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, attr, + &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeUserWriteMaskAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_USERWRITEMASK, attr, + &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeIsAbstractAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, attr, + &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeSymmetricAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, attr, + &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeInverseNameAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_LocalizedText *attr, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, attr, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeContainsNoLoopsAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, attr, + &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeEventNotifierAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Byte *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, attr, + &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeDataTypeAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_DATATYPE, attr, + &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeValueRankAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Int32 *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_VALUERANK, attr, + &UA_TYPES[UA_TYPES_INT32], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeAccessLevelAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Byte *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, attr, + &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeAccessLevelExAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, attr, + &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeUserAccessLevelAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Byte *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_USERACCESSLEVEL, attr, + &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeMinimumSamplingIntervalAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Double *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + attr, &UA_TYPES[UA_TYPES_DOUBLE], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeHistorizingAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, attr, + &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeExecutableAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, attr, + &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_writeUserExecutableAttribute_async( + UA_Client *client, const UA_NodeId nodeId, + const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_writeAttribute_async( + client, &nodeId, UA_ATTRIBUTEID_USEREXECUTABLE, attr, + &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); +} + +/** + * Method Calling + * ^^^^^^^^^^^^^^ */ +UA_StatusCode UA_EXPORT +__UA_Client_call_async( + UA_Client *client, + const UA_NodeId objectId, const UA_NodeId methodId, + size_t inputSize, const UA_Variant *input, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId); + +typedef void +(*UA_ClientAsyncCallCallback)( + UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_CallResponse *cr); + +static UA_INLINE UA_StatusCode +UA_Client_call_async( + UA_Client *client, + const UA_NodeId objectId, const UA_NodeId methodId, + size_t inputSize, const UA_Variant *input, + UA_ClientAsyncCallCallback callback, void *userdata, + UA_UInt32 *reqId) { + return __UA_Client_call_async( + client, objectId, methodId, inputSize, input, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +/** + * Node Management + * ^^^^^^^^^^^^^^^ */ +typedef void +(*UA_ClientAsyncAddNodesCallback)( + UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_AddNodesResponse *ar); + +UA_StatusCode UA_EXPORT +__UA_Client_addNode_async( + UA_Client *client, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, + const UA_DataType *attributeType, UA_NodeId *outNewNodeId, + UA_ClientAsyncServiceCallback callback, void *userdata, + UA_UInt32 *reqId); + +static UA_INLINE UA_StatusCode +UA_Client_addVariableNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_NodeId typeDefinition, + const UA_VariableAttributes attr, UA_NodeId *outNewNodeId, + UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_VARIABLE, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + typeDefinition, (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addVariableTypeNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_VariableTypeAttributes attr, + UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_VARIABLETYPE, + requestedNewNodeId, parentNodeId, + referenceTypeId, browseName, UA_NODEID_NULL, + (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], + outNewNodeId, (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addObjectNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_NodeId typeDefinition, + const UA_ObjectAttributes attr, UA_NodeId *outNewNodeId, + UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_OBJECT, requestedNewNodeId, + parentNodeId, referenceTypeId, + browseName, typeDefinition, (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addObjectTypeNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ObjectTypeAttributes attr, + UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_OBJECTTYPE, requestedNewNodeId, parentNodeId, + referenceTypeId, browseName, UA_NODEID_NULL, + (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addViewNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_ViewAttributes attr, + UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_VIEW, requestedNewNodeId, + parentNodeId, referenceTypeId, + browseName, UA_NODEID_NULL, (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addReferenceTypeNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_ReferenceTypeAttributes attr, + UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_REFERENCETYPE, requestedNewNodeId, parentNodeId, + referenceTypeId, browseName, UA_NODEID_NULL, + (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addDataTypeNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_DataTypeAttributes attr, + UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_DATATYPE, requestedNewNodeId, + parentNodeId, referenceTypeId, browseName, + UA_NODEID_NULL, (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +static UA_INLINE UA_StatusCode +UA_Client_addMethodNode_async( + UA_Client *client, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_MethodAttributes attr, + UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, + void *userdata, UA_UInt32 *reqId) { + return __UA_Client_addNode_async( + client, UA_NODECLASS_METHOD, requestedNewNodeId, parentNodeId, + referenceTypeId, browseName, UA_NODEID_NULL, + (const UA_NodeAttributes *)&attr, + &UA_TYPES[UA_TYPES_METHODATTRIBUTES], outNewNodeId, + (UA_ClientAsyncServiceCallback)callback, userdata, reqId); +} + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/accesscontrol_default.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +_UA_BEGIN_DECLS + +typedef struct { + UA_String username; + UA_String password; +} UA_UsernamePasswordLogin; + +typedef UA_StatusCode (*UA_UsernamePasswordLoginCallback) + (const UA_String *userName, const UA_ByteString *password, + size_t usernamePasswordLoginSize, const UA_UsernamePasswordLogin + *usernamePasswordLogin, void **sessionContext, void *loginContext); + +/* Default access control. The login can be anonymous, username-password or + * certificate-based. A logged-in user has all access rights. + * + * The plugin stores the UserIdentityToken in the session context. So that + * cannot be used for other purposes. + * + * The certificate verification plugin lifecycle is moved to the access control + * system. So it is cleared up eventually together with the AccessControl. */ +UA_EXPORT UA_StatusCode +UA_AccessControl_default(UA_ServerConfig *config, + UA_Boolean allowAnonymous, + const UA_ByteString *userTokenPolicyUri, + size_t usernamePasswordLoginSize, + const UA_UsernamePasswordLogin *usernamePasswordLogin); + +UA_EXPORT UA_StatusCode +UA_AccessControl_defaultWithLoginCallback(UA_ServerConfig *config, + UA_Boolean allowAnonymous, + const UA_ByteString *userTokenPolicyUri, + size_t usernamePasswordLoginSize, + const UA_UsernamePasswordLogin *usernamePasswordLogin, + UA_UsernamePasswordLoginCallback loginCallback, + void *loginContext); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/pki_default.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2019 (c) Kalycito Infotech Private Limited + */ + + + +_UA_BEGIN_DECLS + +/* Default implementation that accepts all certificates */ +UA_EXPORT void +UA_CertificateVerification_AcceptAll(UA_CertificateVerification *cv); + +#ifdef UA_ENABLE_ENCRYPTION + +/* Accept certificates based on a trust-list and a revocation-list. Based on + * mbedTLS. */ +UA_EXPORT UA_StatusCode +UA_CertificateVerification_Trustlist(UA_CertificateVerification *cv, + const UA_ByteString *certificateTrustList, + size_t certificateTrustListSize, + const UA_ByteString *certificateIssuerList, + size_t certificateIssuerListSize, + const UA_ByteString *certificateRevocationList, + size_t certificateRevocationListSize); + +#ifdef __linux__ /* Linux only so far */ + +#ifdef UA_ENABLE_CERT_REJECTED_DIR +UA_EXPORT UA_StatusCode +UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, + const char *trustListFolder, + const char *issuerListFolder, + const char *revocationListFolder, + const char *rejectedListFolder); +#else +UA_EXPORT UA_StatusCode +UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, + const char *trustListFolder, + const char *issuerListFolder, + const char *revocationListFolder); +#endif +#endif + +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/log_stdout.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016, 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + + +_UA_BEGIN_DECLS + +extern UA_EXPORT const UA_Logger UA_Log_Stdout_; /* Logger structure */ +extern UA_EXPORT const UA_Logger *UA_Log_Stdout; /* Shorthand pointer */ + +/* Returns a logger for messages up to the specified level */ +UA_EXPORT UA_Logger +UA_Log_Stdout_withLevel(UA_LogLevel minlevel); + +/* Allocates memory for the logger. Automatically cleared up via _clear. */ +UA_EXPORT UA_Logger * +UA_Log_Stdout_new(UA_LogLevel minlevel); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/nodestore_default.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2019 (c) Julius Pfrommer, Fraunhofer IOSB + */ + + + +_UA_BEGIN_DECLS + +/* The HashMap Nodestore holds all nodes in RAM in single hash-map. Lookip is + * done based on hashing/comparison of the NodeId with close to O(1) lookup + * time. However, sometimes the underlying array has to be resized when nodes + * are added/removed. This can take O(n) time. */ +UA_EXPORT UA_StatusCode +UA_Nodestore_HashMap(UA_Nodestore *ns); + +/* The ZipTree Nodestore holds all nodes in RAM in a tree structure. The lookup + * time is about O(log n). Adding/removing nodes does not require resizing of + * the underlying array with the linear overhead. + * + * For most usage scenarios the hash-map Nodestore will be faster. + */ +UA_EXPORT UA_StatusCode +UA_Nodestore_ZipTree(UA_Nodestore *ns); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/server_config_default.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2019 (c) Kalycito Infotech Private Limited + */ + + + +_UA_BEGIN_DECLS + +/**********************/ +/* Default Connection */ +/**********************/ + +extern const UA_EXPORT +UA_ConnectionConfig UA_ConnectionConfig_default; + +/*************************/ +/* Default Server Config */ +/*************************/ + +/* Creates a new server config with one endpoint and custom buffer size. + * + * The config will set the tcp network layer to the given port and adds a single + * endpoint with the security policy ``SecurityPolicy#None`` to the server. + * If the port is set to 0, it will be dynamically assigned. + * A server certificate may be supplied but is optional. + * Additionally you can define a custom buffer size for send and receive buffer. + * + * @param portNumber The port number for the tcp network layer + * @param certificate Optional certificate for the server endpoint. Can be + * ``NULL``. + * @param sendBufferSize The size in bytes for the network send buffer + * @param recvBufferSize The size in bytes for the network receive buffer + * + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_setMinimalCustomBuffer(UA_ServerConfig *config, + UA_UInt16 portNumber, + const UA_ByteString *certificate, + UA_UInt32 sendBufferSize, + UA_UInt32 recvBufferSize); + +/* Creates a new server config with one endpoint. + * + * The config will set the tcp network layer to the given port and adds a single + * endpoint with the security policy ``SecurityPolicy#None`` to the server. A + * server certificate may be supplied but is optional. */ +static UA_INLINE UA_StatusCode +UA_ServerConfig_setMinimal(UA_ServerConfig *config, UA_UInt16 portNumber, + const UA_ByteString *certificate) { + return UA_ServerConfig_setMinimalCustomBuffer(config, portNumber, + certificate, 0, 0); +} + +#ifdef UA_ENABLE_ENCRYPTION + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setDefaultWithSecurityPolicies(UA_ServerConfig *conf, + UA_UInt16 portNumber, + const UA_ByteString *certificate, + const UA_ByteString *privateKey, + const UA_ByteString *trustList, + size_t trustListSize, + const UA_ByteString *issuerList, + size_t issuerListSize, + const UA_ByteString *revocationList, + size_t revocationListSize); + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setDefaultWithSecureSecurityPolicies(UA_ServerConfig *conf, + UA_UInt16 portNumber, + const UA_ByteString *certificate, + const UA_ByteString *privateKey, + const UA_ByteString *trustList, + size_t trustListSize, + const UA_ByteString *issuerList, + size_t issuerListSize, + const UA_ByteString *revocationList, + size_t revocationListSize); + +#endif + +/* Creates a server config on the default port 4840 with no server + * certificate. */ +static UA_INLINE UA_StatusCode +UA_ServerConfig_setDefault(UA_ServerConfig *config) { + return UA_ServerConfig_setMinimal(config, 4840, NULL); +} + +/* Creates a new server config with no security policies and no endpoints. + * + * It initializes reasonable defaults for many things, but does not + * add any security policies and endpoints. + * Use the various UA_ServerConfig_addXxx functions to add them. + * The config will set the tcp network layer to the default port 4840 if the + * eventloop is not already set. + * + * @param conf The configuration to manipulate + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_setBasics(UA_ServerConfig *conf); + +/* Creates a new server config with no security policies and no endpoints. + * + * It initializes reasonable defaults for many things, but does not + * add any security policies and endpoints. + * Use the various UA_ServerConfig_addXxx functions to add them. + * The config will set the tcp network layer to the given port if the + * eventloop is not already set. + * If the port is set to 0, it will be dynamically assigned. + * + * @param conf The configuration to manipulate + * @param portNumber The port number for the tcp network layer + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_setBasics_withPort(UA_ServerConfig *conf, + UA_UInt16 portNumber); + +/* Adds the security policy ``SecurityPolicy#None`` to the server. A + * server certificate may be supplied but is optional. + * + * @param config The configuration to manipulate + * @param certificate The optional server certificate. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyNone(UA_ServerConfig *config, + const UA_ByteString *certificate); + +#ifdef UA_ENABLE_ENCRYPTION + +/* Adds the security policy ``SecurityPolicy#Basic128Rsa15`` to the server. A + * server certificate may be supplied but is optional. + * + * Certificate verification should be configured before calling this + * function. See PKI plugin. + * + * @param config The configuration to manipulate + * @param certificate The server certificate. + * @param privateKey The private key that corresponds to the certificate. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyBasic128Rsa15(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +/* Adds the security policy ``SecurityPolicy#Basic256`` to the server. A + * server certificate may be supplied but is optional. + * + * Certificate verification should be configured before calling this + * function. See PKI plugin. + * + * @param config The configuration to manipulate + * @param certificate The server certificate. + * @param privateKey The private key that corresponds to the certificate. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyBasic256(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +/* Adds the security policy ``SecurityPolicy#Basic256Sha256`` to the server. A + * server certificate may be supplied but is optional. + * + * Certificate verification should be configured before calling this + * function. See PKI plugin. + * + * @param config The configuration to manipulate + * @param certificate The server certificate. + * @param privateKey The private key that corresponds to the certificate. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyBasic256Sha256(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +/* Adds the security policy ``SecurityPolicy#Aes128Sha256RsaOaep`` to the server. A + * server certificate may be supplied but is optional. + * + * Certificate verification should be configured before calling this + * function. See PKI plugin. + * + * @param config The configuration to manipulate + * @param certificate The server certificate. + * @param privateKey The private key that corresponds to the certificate. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +/* Adds the security policy ``SecurityPolicy#Aes256Sha256RsaPss`` to the server. A + * server certificate may be supplied but is optional. + * + * Certificate verification should be configured before calling this + * function. See PKI plugin. + * + * @param config The configuration to manipulate + * @param certificate The server certificate. + * @param privateKey The private key that corresponds to the certificate. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +/* Adds all supported security policies and sets up certificate + * validation procedures. + * + * Certificate verification should be configured before calling this + * function. See PKI plugin. + * + * @param config The configuration to manipulate + * @param certificate The server certificate. + * @param privateKey The private key that corresponds to the certificate. + * @param trustList The trustList for client certificate validation. + * @param trustListSize The trustList size. + * @param revocationList The revocationList for client certificate validation. + * @param revocationListSize The revocationList size. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addAllSecurityPolicies(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addAllSecureSecurityPolicies(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey); + +#endif + +/* Adds an endpoint for the given security policy and mode. The security + * policy has to be added already. See UA_ServerConfig_addXxx functions. + * + * @param config The configuration to manipulate + * @param securityPolicyUri The security policy for which to add the endpoint. + * @param securityMode The security mode for which to add the endpoint. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addEndpoint(UA_ServerConfig *config, const UA_String securityPolicyUri, + UA_MessageSecurityMode securityMode); + +/* Adds endpoints for all configured security policies in each mode. + * + * @param config The configuration to manipulate + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addAllEndpoints(UA_ServerConfig *config); + +/* Adds endpoints for all secure configured security policies in each mode. + * + * @param config The configuration to manipulate + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_addAllSecureEndpoints(UA_ServerConfig *config); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/client_config_default.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + */ + + + +_UA_BEGIN_DECLS + +UA_StatusCode UA_EXPORT +UA_ClientConfig_setDefault(UA_ClientConfig *config); + +/* If certificates are used for authentication, this is only possible when + * openssl or mbedtls is used. Libressl is currently not supported.*/ +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_MBEDTLS) +UA_StatusCode UA_EXPORT +UA_ClientConfig_setAuthenticationCert(UA_ClientConfig *config, + UA_ByteString certificateAuth, UA_ByteString privateKeyAuth); +#endif + +#ifdef UA_ENABLE_ENCRYPTION +UA_StatusCode UA_EXPORT +UA_ClientConfig_setDefaultEncryption(UA_ClientConfig *config, + UA_ByteString localCertificate, UA_ByteString privateKey, + const UA_ByteString *trustList, size_t trustListSize, + const UA_ByteString *revocationList, size_t revocationListSize); +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/securitypolicy_default.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG + */ + + + +_UA_BEGIN_DECLS + +UA_EXPORT UA_StatusCode +UA_SecurityPolicy_None(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_Logger *logger); + +#ifdef UA_ENABLE_ENCRYPTION + +UA_EXPORT UA_StatusCode +UA_SecurityPolicy_Basic128Rsa15(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger); + +UA_EXPORT UA_StatusCode +UA_SecurityPolicy_Basic256(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger); + +UA_EXPORT UA_StatusCode +UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger); + +UA_EXPORT UA_StatusCode +UA_SecurityPolicy_Aes128Sha256RsaOaep(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger); + +UA_EXPORT UA_StatusCode +UA_SecurityPolicy_Aes256Sha256RsaPss(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger); + +#endif + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + +UA_EXPORT UA_StatusCode +UA_PubSubSecurityPolicy_Aes128Ctr(UA_PubSubSecurityPolicy *policy, + const UA_Logger *logger); +UA_EXPORT UA_StatusCode +UA_PubSubSecurityPolicy_Aes256Ctr(UA_PubSubSecurityPolicy *policy, + const UA_Logger *logger); + +#endif + +#ifdef UA_ENABLE_TPM2_SECURITY + +UA_EXPORT UA_StatusCode +UA_PubSubSecurityPolicy_Aes128CtrTPM(UA_PubSubSecurityPolicy *policy, char *userpin, unsigned long slotId, + char *encryptionKeyLabel, char *signingKeyLabel, const UA_Logger *logger); +UA_EXPORT UA_StatusCode +UA_PubSubSecurityPolicy_Aes256CtrTPM(UA_PubSubSecurityPolicy *policy, char *userpin, unsigned long slotId, + char *encryptionKeyLabel, char *signingKeyLabel, const UA_Logger *logger); + +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/server_config_file_based.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2023 (c) Fraunhofer IOSB (Author: Noel Graf) + */ + +#ifndef UA_SERVER_CONFIG_FILE_BASED_H +#define UA_SERVER_CONFIG_FILE_BASED_H + +#include +#include + +_UA_BEGIN_DECLS + +/* Loads the server configuration from a Json5 file into the server. + * + * @param json The configuration in json5 format. + */ +UA_EXPORT UA_Server * +UA_Server_newFromFile(const UA_ByteString json_config); + +/* Loads the server configuration from a Json5 file into the server. + * + * @param config The server configuration. + * @param json The configuration in json5 format. + */ +UA_EXPORT UA_StatusCode +UA_ServerConfig_updateFromFile(UA_ServerConfig *config, const UA_ByteString json_config); + +_UA_END_DECLS + +#endif //UA_SERVER_CONFIG_FILE_BASED_H + +/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_backend.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + */ + + + +_UA_BEGIN_DECLS + +typedef enum { + MATCH_EQUAL, /* Match with the exact timestamp. */ + MATCH_AFTER, /* Match the value with the timestamp in the + database that is the first later in time from the provided timestamp. */ + MATCH_EQUAL_OR_AFTER, /* Match exactly if possible, or the first timestamp + later in time from the provided timestamp. */ + MATCH_BEFORE, /* Match the first timestamp in the database that is earlier + in time from the provided timestamp. */ + MATCH_EQUAL_OR_BEFORE /* Match exactly if possible, or the first timestamp + that is earlier in time from the provided timestamp. */ +} MatchStrategy; + +typedef struct UA_HistoryDataBackend UA_HistoryDataBackend; + +struct UA_HistoryDataBackend { + void *context; + + void + (*deleteMembers)(UA_HistoryDataBackend *backend); + + /* This function sets a DataValue for a node in the historical data storage. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node for which the value shall be stored. + * value is the value which shall be stored. + * historizing is the historizing flag of the node identified by nodeId. + * If sessionId is NULL, the historizing flag is invalid and must not be used. */ + UA_StatusCode + (*serverSetHistoryData)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_Boolean historizing, + const UA_DataValue *value); + + /* This function is the high level interface for the ReadRaw operation. Set + * it to NULL if you use the low level API for your plugin. It should be + * used if the low level interface does not suite your database. It is more + * complex to implement the high level interface but it also provide more + * freedom. If you implement this, then set all low level api function + * pointer to NULL. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * backend is the HistoryDataBackend whose storage is to be queried. + * start is the start time of the HistoryRead request. + * end is the end time of the HistoryRead request. + * nodeId is the node id of the node for which historical data is requested. + * maxSizePerResponse is the maximum number of items per response the server can provide. + * numValuesPerNode is the maximum number of items per response the client wants to receive. + * returnBounds determines if the client wants to receive bounding values. + * timestampsToReturn contains the time stamps the client is interested in. + * range is the numeric range the client wants to read. + * releaseContinuationPoints determines if the continuation points shall be released. + * continuationPoint is the continuation point the client wants to release or start from. + * outContinuationPoint is the continuation point that gets passed to the + * client by the HistoryRead service. + * result contains the result histoy data that gets passed to the client. */ + UA_StatusCode + (*getHistoryData)(UA_Server *server, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_HistoryDataBackend *backend, + const UA_DateTime start, + const UA_DateTime end, + const UA_NodeId *nodeId, + size_t maxSizePerResponse, + UA_UInt32 numValuesPerNode, + UA_Boolean returnBounds, + UA_TimestampsToReturn timestampsToReturn, + UA_NumericRange range, + UA_Boolean releaseContinuationPoints, + const UA_ByteString *continuationPoint, + UA_ByteString *outContinuationPoint, + UA_HistoryData *result); + + /* This function is part of the low level HistoryRead API. It returns the + * index of a value in the database which matches certain criteria. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the matching value shall be found. + * timestamp is the timestamp of the requested index. + * strategy is the matching strategy which shall be applied in finding the index. */ + size_t + (*getDateTimeMatch)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DateTime timestamp, + const MatchStrategy strategy); + + /* This function is part of the low level HistoryRead API. It returns the + * index of the element after the last valid entry in the database for a + * node. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the end of storage shall be returned. */ + size_t + (*getEnd)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId); + + /* This function is part of the low level HistoryRead API. It returns the + * index of the last element in the database for a node. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the index of the last element + * shall be returned. */ + size_t + (*lastIndex)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId); + + /* This function is part of the low level HistoryRead API. It returns the + * index of the first element in the database for a node. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the index of the first + * element shall be returned. */ + size_t + (*firstIndex)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId); + + /* This function is part of the low level HistoryRead API. It returns the + * number of elements between startIndex and endIndex including both. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the number of elements shall be returned. + * startIndex is the index of the first element in the range. + * endIndex is the index of the last element in the range. */ + size_t + (*resultSize)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + size_t startIndex, + size_t endIndex); + + /* This function is part of the low level HistoryRead API. It copies data + * values inside a certain range into a buffer. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the data values shall be copied. + * startIndex is the index of the first value in the range. + * endIndex is the index of the last value in the range. + * reverse determines if the values shall be copied in reverse order. + * valueSize is the maximal number of data values to copy. + * range is the numeric range which shall be copied for every data value. + * releaseContinuationPoints determines if the continuation points shall be released. + * continuationPoint is a continuation point the client wants to release or start from. + * outContinuationPoint is a continuation point which will be passed to the client. + * providedValues contains the number of values that were copied. + * values contains the values that have been copied from the database. */ + UA_StatusCode + (*copyDataValues)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + size_t startIndex, + size_t endIndex, + UA_Boolean reverse, + size_t valueSize, + UA_NumericRange range, + UA_Boolean releaseContinuationPoints, + const UA_ByteString *continuationPoint, + UA_ByteString *outContinuationPoint, + size_t *providedValues, + UA_DataValue *values); + + /* This function is part of the low level HistoryRead API. It returns the + * data value stored at a certain index in the database. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the data value shall be returned. + * index is the index in the database for which the data value is requested. */ + const UA_DataValue* + (*getDataValue)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + size_t index); + + /* This function returns UA_TRUE if the backend supports returning bounding + * values for a node. This function is mandatory. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read + * historical data. + * nodeId is the node id of the node for which the capability to return + * bounds shall be queried. */ + UA_Boolean + (*boundSupported)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId); + + /* This function returns UA_TRUE if the backend supports returning the + * requested timestamps for a node. This function is mandatory. + * + * server is the server the node lives in. + * hdbContext is the context of the UA_HistoryDataBackend. + * sessionId and sessionContext identify the session that wants to read historical data. + * nodeId is the node id of the node for which the capability to return + * certain timestamps shall be queried. */ + UA_Boolean + (*timestampsToReturnSupported)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_TimestampsToReturn timestampsToReturn); + + UA_StatusCode + (*insertDataValue)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DataValue *value); + UA_StatusCode + (*replaceDataValue)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DataValue *value); + UA_StatusCode + (*updateDataValue)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DataValue *value); + UA_StatusCode + (*removeDataValue)(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_DateTime startTimestamp, + UA_DateTime endTimestamp); +}; + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_gathering.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + */ + + + +_UA_BEGIN_DECLS + +typedef enum { + UA_HISTORIZINGUPDATESTRATEGY_USER = 0x00, /* The user of the api stores the values to the database himself. + The api will not store any value to the database. */ + UA_HISTORIZINGUPDATESTRATEGY_VALUESET = 0x01, /* Values will be stored when a node's value is set. + The values will be stored when a node is updated via write service.*/ + UA_HISTORIZINGUPDATESTRATEGY_POLL = 0x02 /* The value of the node will be read periodically. + This is mainly relevant for datasource nodes which do + not use the write service. + Values will not be stored if the value is + equal to the old value. */ +} UA_HistorizingUpdateStrategy; + +typedef struct { + UA_HistoryDataBackend historizingBackend; /* The database backend used for this node. */ + size_t maxHistoryDataResponseSize; /* The maximum number of values returned by the server in one response. + If the result has more values, continuation points will be used. */ + UA_HistorizingUpdateStrategy historizingUpdateStrategy; /* Defines how the values in the database will be updated. + See UA_HistorizingUpdateStrategy for details. */ + size_t pollingInterval; /* The polling interval for UA_HISTORIZINGUPDATESTRATEGY_POLL. */ + void *userContext; /* A pointer to store your own settings. */ +} UA_HistorizingNodeIdSettings; + +typedef struct UA_HistoryDataGathering UA_HistoryDataGathering; +struct UA_HistoryDataGathering { + void *context; + + void + (*deleteMembers)(UA_HistoryDataGathering *gathering); + + /* This function registers a node for the gathering of historical data. + * + * server is the server the node lives in. + * hdgContext is the context of the UA_HistoryDataGathering. + * nodeId is the node id of the node to register. + * setting contains the gatering settings for the node to register. */ + UA_StatusCode + (*registerNodeId)(UA_Server *server, + void *hdgContext, + const UA_NodeId *nodeId, + const UA_HistorizingNodeIdSettings setting); + + /* This function stops polling a node for value changes. + * + * server is the server the node lives in. + * hdgContext is the context of the UA_HistoryDataGathering. + * nodeId is id of the node for which polling shall be stopped. + * setting contains the gatering settings for the node. */ + UA_StatusCode + (*stopPoll)(UA_Server *server, + void *hdgContext, + const UA_NodeId *nodeId); + + /* This function starts polling a node for value changes. + * + * server is the server the node lives in. + * hdgContext is the context of the UA_HistoryDataGathering. + * nodeId is the id of the node for which polling shall be started. */ + UA_StatusCode + (*startPoll)(UA_Server *server, + void *hdgContext, + const UA_NodeId *nodeId); + + /* This function modifies the gathering settings for a node. + * + * server is the server the node lives in. + * hdgContext is the context of the UA_HistoryDataGathering. + * nodeId is the node id of the node for which gathering shall be modified. + * setting contains the new gatering settings for the node. */ + UA_Boolean + (*updateNodeIdSetting)(UA_Server *server, + void *hdgContext, + const UA_NodeId *nodeId, + const UA_HistorizingNodeIdSettings setting); + + /* Returns the gathering settings for a node. + * + * server is the server the node lives in. + * hdgContext is the context of the UA_HistoryDataGathering. + * nodeId is the node id of the node for which the gathering settings shall + * be retrieved. */ + const UA_HistorizingNodeIdSettings* + (*getHistorizingSetting)(UA_Server *server, + void *hdgContext, + const UA_NodeId *nodeId); + + /* Sets a DataValue for a node in the historical data storage. + * + * server is the server the node lives in. + * hdgContext is the context of the UA_HistoryDataGathering. + * sessionId and sessionContext identify the session which wants to set this value. + * nodeId is the node id of the node for which a value shall be set. + * historizing is the historizing flag of the node identified by nodeId. + * value is the value to set in the history data storage. */ + void + (*setValue)(UA_Server *server, + void *hdgContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_Boolean historizing, + const UA_DataValue *value); +}; + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_database_default.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + */ + + + + +_UA_BEGIN_DECLS + +UA_HistoryDatabase UA_EXPORT +UA_HistoryDatabase_default(UA_HistoryDataGathering gathering); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_gathering_default.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) + */ + + + +_UA_BEGIN_DECLS + +UA_HistoryDataGathering UA_EXPORT +UA_HistoryDataGathering_Default(size_t initialNodeIdStoreSize); + +/* This function construct a UA_HistoryDataGathering which implements a circular buffer in memory. + * + * initialNodeIdStoreSize is the maximum number of NodeIds for which the data will be gathered. This number cannot be overcomed. + */ +UA_HistoryDataGathering UA_EXPORT +UA_HistoryDataGathering_Circular(size_t initialNodeIdStoreSize); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_backend_memory.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) + */ + + + +_UA_BEGIN_DECLS + +#define INITIAL_MEMORY_STORE_SIZE 1000 + +UA_HistoryDataBackend UA_EXPORT +UA_HistoryDataBackend_Memory(size_t initialNodeIdStoreSize, size_t initialDataStoreSize); + +/* This function construct a UA_HistoryDataBackend which implements a circular buffer in memory. + * + * initialNodeIdStoreSize is the maximum number of NodeIds that will be historized. This number cannot be overcomed. + * initialDataStoreSize is the maximum number of UA_DataValueMemoryStoreItem that will be saved in the circular buffer for a particular NodeId. + * Subsequent UA_DataValueMemoryStoreItem will be saved replacing the oldest ones following the logic of circular buffers. + */ +UA_HistoryDataBackend UA_EXPORT +UA_HistoryDataBackend_Memory_Circular(size_t initialNodeIdStoreSize, size_t initialDataStoreSize); + +void UA_EXPORT +UA_HistoryDataBackend_Memory_clear(UA_HistoryDataBackend *backend); + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/log_syslog.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + + +_UA_BEGIN_DECLS + +/* Syslog-logging is available only for Linux/Unices. + * + * open62541 log levels are translated to syslog levels as follows: + * + * UA_LOGLEVEL_TRACE => not available for syslog + * UA_LOGLEVEL_DEBUG => LOG_DEBUG + * UA_LOGLEVEL_INFO => LOG_INFO + * UA_LOGLEVEL_WARNING => LOG_WARNING + * UA_LOGLEVEL_ERROR => LOG_ERR + * UA_LOGLEVEL_FATAL => LOG_CRIT + */ + +#if defined(__linux__) || defined(__unix__) + +/* Returns a syslog-logger for messages up to the specified level. + * The programm must call openlog(3) before using this logger. */ +UA_EXPORT UA_Logger +UA_Log_Syslog_withLevel(UA_LogLevel minlevel); + +/* Allocates memory for the logger. Automatically cleared up via _clear. */ +UA_EXPORT UA_Logger * +UA_Log_Syslog_new(UA_LogLevel minlevel); + +/* Log all warning levels supported by syslog (no trace-warnings). + * The programm must call openlog(3) before using this logger. */ +UA_EXPORT UA_Logger +UA_Log_Syslog(void); + +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/plugins/include/open62541/plugin/create_certificate.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + */ + + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_ENCRYPTION +typedef enum { + UA_CERTIFICATEFORMAT_DER, + UA_CERTIFICATEFORMAT_PEM +} UA_CertificateFormat; + +/** + * Create a self-signed certificate + * + * It is recommended to store the generated certificate on disk for reuse, so the + * application can be recognized across several executions. + * + * \param subject Elements for the subject, + * e.g. ["C=DE", "O=SampleOrganization", "CN=Open62541Server@localhost"] + * \param subjectAltName Elements for SubjectAltName, + * e.g. ["DNS:localhost", "URI:urn:open62541.server.application"] + * \param params key value map with optional parameters: + * - expires-in-days after these the cert expires default: 365 + * - key-size-bits Size of the generated key in bits. Possible values are: + * [0, 1024 (deprecated), 2048, 4096] default: 4096 + */ +UA_StatusCode UA_EXPORT +UA_CreateCertificate(const UA_Logger *logger, const UA_String *subject, + size_t subjectSize, const UA_String *subjectAltName, + size_t subjectAltNameSize, UA_CertificateFormat certFormat, + UA_KeyValueMap *params, UA_ByteString *outPrivateKey, + UA_ByteString *outCertificate); +#endif + +_UA_END_DECLS + +#endif /* OPEN62541_H_ */ diff --git a/include/robot.h b/include/robot.h new file mode 100644 index 0000000..231ea13 --- /dev/null +++ b/include/robot.h @@ -0,0 +1,4 @@ +#pragma once + +#include "device.h" + diff --git a/lib/spdlogd.lib b/lib/spdlogd.lib deleted file mode 100755 index 2e2edb9d8d90a06d94a3015285ffc1868992ca25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19340824 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 z�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͞t$0Ct08u)*P( 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%0Db!-sDF+tV23!Y?js^$4+M``QN9Sk4&kwrA0|X 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

O5)Mt3& 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
|dMm-L3DKi*;zlsv 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%0ACa#cNkCa63y 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

lnG@)$dMrBs@IAyU-!m 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 NYO_xA^)S;(dzs-*t4& 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

    irJuC3<13+MiJvKbfkqlX$tV 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 HUWB3|9&naup?)%#Dem5APhI6f)#0MlQK# zGwQNYN+Cn8^T;LFZ0CmSsDDQ*g$%jQCzo8a8I|KvrH~<4adJr?9to~oW0gXNTqVdQ z*K9_8`Iu73km~|+$=rB0jMwXrD}@ZXE+m)y{SBkqPf!XOa+M^Pv}<2*<)5S!GUO^n zE;+u8>i(2c$dIdahBNyg;XxC-WDTNHVE{$dIc%xn#Un1!}6NkRjJ4adV#pH!X4f7N-loLWW#dkW2c|s8yaqhFn)h zuA;$JZo1YG8FF0}xs2NADP+i1g;s_ zKe$HER0tQ0cjszI*n4(;F7JoMrDuPB8KxoVQ@;QlT*8CCaHrH~<4EpiQB zeXw|)(5^0XltPAFwaGQN>gUUhx_GWq$dIcJxn$kg9NP7xr;s66U2@5@FQewpR~Itm zsz)w4mWzjW-LpU`WXN?rx#U=_J@4Chg!EulVwu9%zE*Y><-xz-06 zYDJ?!$$Jx5|Ml`fqYk{S6f)F`#?*?7%0FA{j?jvHE0jV8tytko9JB@a?I#=Mt-Q&&W_Knouhyjh~pysEwXNhQ_@qxnzzV3gbTTU3DQtu4d$t zIc8M#)k+~luG=El&fxmzeWj2gSM$ha)CX&nLWV}?c2LQCqu0%!SWRb}4925tm6A*j zqFR7T-fzOdVUEhbW_n68Otl0h-eNWHF@R^)A?R(nb^>}nq*Xnrnh}|gi$#+XbmO9RJTBBzX_Wh-Q^r5N4I2{>i$2d2A+}(Q}=+nJY_J~ zSWiiYsUDyjJL)v|Ki!fV&i0gKnCkgIsI8uo3{$=S2X*>J?G4E=b?^V6Zt|35nCksM zsK-4e8K(OD59&itNrtJuppx0U>6%Yd$7#Ngb#6$8srx`Bvv<^kpKp|eZuLDS8K(My zy2|IyyrN8Zqvm)@GEDUc)yq?*k9K&&sJ)(&3{wL@$+=0ks--^|Xw*%gXuBlC)Id=A z6w1t=Uw(p713V=ertSxIg{Qu2*4Rztq&J@Nlw_EC093NtoZF?<(?)Iflw_D11ge8~ z9e-i=0i%w4N-|762x^U|2EW#QtWlLd)!vW{Q-eX3@zl3H4=guolBXoY)I*@I_Ef$z z^UpWxxThq;)DTcfyLR2&^*N(1+oUy=3{ww-O4@aB>V%Jsy4zEdVQMI-e!hkcfBJm0 zQR_V=8K#DTN@j2I`Aw!9b@^vnL&-2T98@xU``7K5x*ogBQ<7oo5l~fp4gYf&sAoMT8Ky>qDy&du*OHg+GAhUCT0_Y&H3n4D^S3tJ`lL}6JtdihDuph16jUka zl1g6Gsr17}P4bjvm>LVJfFqQ%bk_=OmK*_bbpTO>4 zNeiF%lw_EC3RKdr`pdrEW7H~7NrtJX0~NRHM^8z{QF?{nN5*6_sN@R&qlY*2HCLXk zI$n}t*A!4mZ}9A`7*t)cimt26L6&p}ip)rd|Ujy%CRcb5BWz+qD2x6W^|v z*UQ40SfBNjWZ3mOsH9yy%HMfPGE6N5_1~jh_DgM-WSCk6O4=p$;!*DIDakPP22ni9 zZ+S{Gj!KR4Vo*2x-Z=37!dhx|1)0oOT0_aOYYC{NH+Yn5drC4)y&0&azs)toQ<7n7 zDJbcUc$8OoN-|8n^*^YeJtY~Ymi-T^!cOfC$v7(2hs#0Lb2XH6%Gzb68cIU9&YqGC zyWR$s^dZlv8J?01Q}2NK?-{k-Q<7n71*rd?QD^Sbc1eb*m4S+TzOknyPb?>r?Lrrrbf-@Q?Ox3)_%Osxj>-@Vb>Q<4#?Z--Jh zHf$xee;<@QtBSA8-}4kQN;OmJga1Ko^As}l{BR8@t$!xdZ}Hy8q&B+!>?z4;*+0HS zUeA$fdsp|q_x0)2(Z{6~9XqwZuXCxUQt~18EH5Ve>wc>I)>JyP7MUwjnU+!JqbPGn zlv#&N&D4HcN164=$XO<-&plCQ12VEkC7B*kW+O6dTQv2y0Wj00o=@Vr>L#A$OKixFb;qGpIu9E(Df8i9F$#RKC+nHbI%GBuC>8^J7 zb?@7@Q_t=-d-kc>u~Xl6UAp(F*{4^>?mau#tXcWidbR7;tDUJ)qivmLy+|{#t$4(y$}wn5ES?msKL|7;QdyKUPp_w;fe;)mFRM}G^0qhk?9i=C-bc}%30V6IUp=1yv zAtJMmuI5lg9(8rrrLM}NS_AWlig=kBRAfYS995OQnvs}~OB@5Uh=m#W77${&kJ%B7 zb~zUW2o^2UB7G7_Tv{;*kOm>rsQc0r4OJ?XK(>(2FqVgIhPIk zywRIT*q+S}_+MhEgAcZZ#^yHY=F-oyCz zCWr2@({j3oL+qT1{JM6l z*><3={TAnYgXj|9oGahA9#?gLJEnMghn#bkwxrLJt;nxA`r)v7-ic(VFmItY6S}8*$PY;1MJ5`is=!~Ddq}w#<|J+=$l3~$}|$r&HiNU^!J=$v$yYZ zK`?6~zTTh_Y>wTAvn}i$8&iDZjE7B9Z)P5@Y4*t3Xn)ycGi1x7doZ7aVgKHd z0%`!|uJ$$ISX*z1$)GnB-ze+Gq;+LDIB51raT`G_9xRvawY$v$r|&d-Z3h;B@r@a; z*z;4N?(TviCVNH9;kL+aJ9mzUHK!RAP1wT{i6VppGMjnna~w&j*H>XdAZ_R!8#QC# zAtNU4)z#}#W2`{62KqzatkoK;tC)GzfE4>tx9ei?8_s5P1Y_JXHO3i?hmr(MS0-2} zRxI!ZvSXwwWVd1Lu@p6jaxTCqtLd-}y!dZ(o2&O>|BjmmUYI6OxZK1Fc-MibEQFjL zX;k+*y*3eu1gCk=d4f%47N9vAVP3{IB*op9ZQRFW;hoC_T;nzdeZc}Z?DY2KSPFU9 zSA{vj3ct<2W5$yN+;*j@0WmAsO_DH|ZX75yBnauZX|OrMsNJwo)Q1+r@PVv1#4tDS z!Pj|$4Yki?CPVM+&}wJW=k{U*jc&nMlg}W{A88@|6Vjcu$e*Br$wapv>=7|?oYSt? zfcF|3LI;jzW0(F3N3)A{;Ar5E(-ly}gk;PR)&Q`kk9tuv0a@ zCKivaZWH^15jxOOnwnyCAdnqrhfQp?d{*c^ao1MM)D{j1?Kn!H8R< zZRoLKSGoQMr=PdN5OepDS@TjblPoAcotI&?s0-&RSNCZRqeUI@8tJSRg3mo1u;nl>GUjm% zg+reg*^Y3037ykzVrSmp%Rd}kak$Srn%u&Anja@zP|Qu?TsT|JZfnvdk82;>A4F+# z>HHRVTlj{gSky363_08DT<^3gw28QBE_RvWXMQI`XzYb@D1<^A8obEQwy?2G9On=g z@8%Z;q4aNwm~;xkzlmibxaE@g5u6{6n4`YcKO79*5zcoIR__cOK9-n|h|i=O61h)W zZ>-j|;8s)zr@%nC1js8uJgc;hGk@B-NpZ}*Nsnz|9XjUVj<^V7c1C=U+w9@I1!A4R zDzrslzj5c`#@^w$fkP1IvU6E1zE~rjJsijcfhdf)eO~NepzM4nx9taHaULEuVD2K{ zt3^T65sWaka*YbX4evuNK&|GW+3N5$BNkY$qoIH-kjysDv7l-_^}F)UosN4K+j%Kg z=GVz^vBazGp@Q%Vx0FK+IA4tK?DdC-IFpcsAKPFdi5%7rb5U#K;i^@lEEwRBM2 zz^DA^&_fPTm?I87W@ljhOc7^B-svKT@p_SIH_Hx?A_(NePVfvgmdeLd>J{J{kC zh<6DBCu?i&bKyq8Z78Q-@*L$Nj<(1-DT4}g3c2*)qfn%@L_%13Fk5*yps;QcGi{x( z%-48~vV<{bzGyj|OXIUAJPMo)ZJf$CqnUHpc!g$w$Uevb-e!HZJX&%Zk}Fmo6)i+s z?0mow?>e16T&G4u6Cb(P#oKQivD~)YKuT?h-0lEdTz?*`t}~S>4#A{4=ps${))8VHW4AY=JeDZB*LY}XJVE}6 z3fp9&&Q3qYxg@+9esG%eCfLGz(I`AIqY=1 zoe<`D=CPbG&bUw6CH8*gjcC$pHCJ!L?n(4e=d>KSi%6$^FW>{3olHY1CP4Q!9jlh7#ASe(NqzZQ0>k6 zVHC%?x_YC*-Fvp{y-p^VWdP=!jcibqn};2Bv3=mttAa(O77OBB7gJ7YCM_IUp z;GGhw%PMQ5PVaVueyKf{`j&EgH^%)#mKWI{B1^V$ezkU783cCoiy!9*xDJlS_J@d` zCk4c5Y^&J@VjEUm_W*I*cNV^t(QwXLzV_dzi3PzKlDx~;Mus)+y4(ngQgV%0BGw`s z0If=}Vv}Cy@rg^<3v6hRZkm*qq$u{w`!M#LJxa7GfeNfyGVX+}+A4tyIytrpm$nE) zai60Evh3X4GNzm?Klv{~;t`s}*7nf6lVsz>R#>|{{i!F(5Q>4XIhW{OCA*%bDJj2? zxMu&7BuSTp8rH8_TD-W884iHE1c&2$K@1eIVg4b%ZVCg~L+&kIf<;mY5w6$xMNq%X zVf_@gkQjCLC(U8IaYKXA`bsN5|3)43#<$|UV6Q_g(yjv84!XH!hArPR^+hKndK@|O zs~O04t^w%;Ne8%YjMSyW=Ag07K2escg$sNAL)>0(?pqkMs7G`IE-L;TjSrfm17wt} z)2$Kraa;<-9*O-MT&RmZ_>yH+t*&luPLV&sD?(Yvxnp0GA`BTJyNvUV8|^5J;H46a zZ=`%f8cnH_g*!hpPUgI_AQ=GfxwJ>BZ{8T6^UCDTn!(~n-ZCkLai@xABZ@E z8zOJpPI0v-)k!H7mMyB5h*`TStF;Y%-QeMpw0%-H0;|$7b0rj9(Jg9&LFXdQ2%KIY zfrOck1NIv?#mx5@r#%R?t4bV7*UE4$6J8ImT3?u)b(!NrvwxwiCeL);u(GN_$q6{w z8qan<8H?piXEt`J+A_$kt6_p>xJT834a*TjQ8Hl-j1gnb>u#?_1;P;Q;FpG%3QjfL zEaGD4(R|55sb2vf0`;(#w9#cCPAc0{4357J512mJwH5>^&QZUB1R2x>@Stf)O zq&8R^Sp?LG$Ee+`7cxkf#IbPFAd7b2X+TW8VqvU2*Lo4?kd|&4=n!`V3JG+00Y^F` zUgi&L7i&apNVmL!Lr8uZWSMmB-9}0#wD9C>bzjLj7Y#+(Is7#sC@$5*Lh2f>Kbgt= z#$70->M$jVT6o;hYhNkaP=SM8v~dnc`(CjHo_Wrz5TwCHZXQ);6XHnA2Nr{D*WJ0| z3*stGJ`L-jZRBVMZbKllp6;p?yRfZ<;Utv?tJJ~cvPDWG9sP2|fi&I}W1^;wb0$+W zKHG4MkkxKTH0N^5o!vfl?OG*3SzlSMpO=7A_9StkK8}YQC?}lrLRZoGz>%HH~r^J!U>ZipWwF;!g zm3ux)D{NmC(y~*IS=5$H(@LjcPfpQ-*U)_Ylp`)V^MxCgLP%B{kQa?*l}W)8vkAGi zJjbe&ir4a2p%m;$l~21Wr6m!zN~OT#*=?!2#;TPPky?m^UsMb-=<%>WZXyE@cW$W` zULuDnpS{8JP;sh@lE~bFW5tEi@+c~E14@( zmH1-KTv{#CA@C9zc~vj2c$u&iQ1(d_E=k)5b8@Hae{e<0)80OXQjcvm~wIxqnTxFfLuHc#Xcvab5j=ii^t`0aedhAj7Msv^#OX7#8r zpEe$Wwc-h2=jnIgTGS<+HMv8S(`1iRa)>#&+P3Rl5Nxxmf;I2nC7I3!nP%DDij@9X z15;$5=0U<@@>w)yE_H>Q?4@FKWj)voxnA5|5sG1{f1BjG6I~-<6-;A*$q7MHjh^fg z-2!vnpZF2ofNO-N7ZeSN&V9{D1C}V}2BGJPk%D4XNKZ(mG|sNl2%B9bMRt5LTRtFj zk<3M#POPc@BWKv`p++^0hBU$RekqB~Na_&1C(HhUt??ptkZs?U@9LZ#x-JTN^_&B@ zi8{N6Yb^)0B8xq@mi%`WS(}?eSmZTr$hW#6Nzwrtr6@r+x8pC(IUL+I#r;iM{pH?Ne*D6Azz0wZ3=iM0@Y_ z$@RUx+RGaBRLcg%3h@>@?a0K2?@?Fm#9b`x?JVF-Y4NU@?2hE+!s0ljU9=e9I4#G@rK zAmWpIpKK9CV&c3b-sT;FXH9c}m??~0KE=QJDKic|cyv(@$S}yMgd`#YCPB7jxWw7* z?KOL?Bh*S4eWLz(lLAk=pd7vzj{_cOhy4;ghPxzn9#IZV3RTI1I~VeOLM?zt4%M~s zkaALF+~AsC@5_i%Xpc71Y0@h5uyu~yE|+S25uV@J!xBFo9(%-x$bSM?Vq$M;^Io1 zu|w>2#+_!j^8^a_vB&1=OK4USKBO)tmNf~j#@uaYRJ53Ej^riDg$#mbL*<(!@+bq6 z$cB%*uEK;A%9=E)IrySQkr}39UI0@YC^j{?am~h_jAgG&d(6(wv*BXGFSo1t1{SY` za5q7l2zty0O6Ys8#1h&F0`Uo<{}#t@Q0C&$`z8!K3--s5!gv$9R~$2JsG0Kd5fN__ zi)Dh-Y1|0E!Inp58Et);XXa4vTR2_Ic!mRu5#=jtR=Xq)vMd3}IKp1=F#?dxx-ak; z4xOd*YM^QH3xA-iB&u+4({arsi}rW4O5zan37n{ppU(kQ^3_ z{_!kb-yw^Ztf*xKn>)2YT3lHEV{~#ZrJf*WJ4ULoJ9HQ|dLS1=2OU=N*f8Ww+m)pi z6EeOX(_9@XRDzN+#r&qCK?QQfwa^RM>U0D0eT-+H`lw^%;Jog7`F+G4CN+}ORGd2m zEw$4+BRZ-bB||%P0M3zkF5BLiZ_ZE~czB!g2}OMMR%guK4>kN~=Q5oQ$io&i86(X! zvdt!K#!s2+~}{Q%~$ysyg`INo>`4lxfiF42h;1UniJ> zpVD|yIv^w1`zNO=T#e#A!UPbrZ1sETREKCQtC`HAAmA?Cu_&sw@x2FeH!QF59?V1{E&PdegW5!s8jL;c%7Z{ z&dC##7ky#p6?(WO<|$}f)Fk@pWj+Mrx32lRat7QV8S*mb3jQ%YR)q^_i9E-MhNaW{PtEB)+CZ230YUA!N_(k{Hj zWS*tNMvpmAY+E3A=CqPcygUovo}s?sT$dm573l)-xAEX3Qh|7i9IcytLQ)jTxhlY| z=&{W5Axx4)fgBLQGUtMZK4Ck~>TV#11059@*mAG4PJh#Xv}2OIvkVfMfs&BAj#ES| zk}%BzCaf*v9f!uwnR`uaw#8L8CJBfZT<}z!db^oT%VP@0NXkiNQvOHN6sO}L9%u}$30a7 z162414|CG4W;AG1t-=PyU$*e>J6+60Iu*Oak&G9nV0NU&;@*hA2AYhZ2;tjFidZV$ z?)RUlh97+L5fC#^UoOL&WWdj< zcOzgbIx!+R)+R^<6kEkq1Ob*>*ZiP`uxNY`h!3Uyn}t>iMb5@ts4A`m$8StEyS2OGL{0$go^c)ZwhciWJsFa^GxFRBnIRg$oxm34*kV7he>Fo!n2u9^>IsuDqItu8r`;U0$|=Rs$NBs^vjD!R zFU8bykI4G*6D)W{wM*N4qE5db8z?YzonixYQp(BWuK`SgC-xLmQfis57%J>O?u)z+ zF@#vu6YWiX!nb6jNS%Oo=h;^>!=O39@!VkpDrY=59g-7W0!8seL*$K0CQBt&Gny;~ zk8)_v3rohyzSTE|Bwy!Y@oB>#$4jk2IW07^eq8Mo&RMT(($4dc7+oX9jR=``RovPR zGI}OcV5U-t%gi(~ocsrjaK{oI~4%XD$0h zKW|#MR}ECPFqP~g35RCvU@)`;SN{QXJWh(~2ccx(8#>0)ReV4g8n3#X95m+f+u_)l z&{y6;v&4%jhN1`oN%znu zl$YuOZ*tNb@#eNf4&`@xd5*B%Mwlr&UjTE(AH|J34d&j8_FJw`(;&+-GF50wPWh>J zI`IsjDp%ToSeE0dvcl%$lqkyS=ib9cMi!w856YSamLrY`;6`9&qc9^|$Eh7#eGNL? zi}NLzPwGZzMQRZ!RENw-`<}uiSsRJRmMXaA3B;3uW`#p z?NZ43??H2PAmPilt1YoJ z+TinzmF_}TSRvW^Tumn_aBbxw&j+VREZFWUky*6sde z%<_-9?3mh8JJy0O0w-$0E>=8>hmR0`C;vK0BcdYm#LpbEDyMkjpmm#)vgtvQL^$Zg zN8X%L2Lhg`WaOW2{(GH5jT&EmFw+{WAlc4!$d~8Y^+l#D3IE>6yB52K9GuGi1~*LE z`YX+_bA2+v+pM(UX6A_FV!t(mnT;>CK;>iyx>rKim@a1KOmHn71Ohg|(M0?S)KQyg(T50vqH9>Lisf=9qKI%2*+8f3 zr7$AVqrvTju51y)W}~a#4vWyFpz_%)F`#nH6Kd_hT#^SP>m4ER{0qBj&O>7j*_2FW zrNq&Ho}Wt5UB-biwT-WhyaIZ{G7l%Rw>+7WXRz=XH|31YI?u$H=agMdR5yi3CI!!B zr^1@Tm5|a8e(jUK!b4d|3J>P!43EMM4XW0rgyg4%w&pfAg3(@}P%77V>eCH=bS}dx zM#=Lh>7#e*&H{!0>-Y=PO=B9U+5!vHKanXL z8TDJ3&T50ntTRo~Me)dlZI2AbE=*_r1DQCoyr>dbBu$nTX&qm{pZ3a&w0lBtLQg;z ztgCFklF7wU%;F5Abf?uF7)--T9)3zU9Q;*~MYee$zP#Ke$A1y1f?R8B5KE~S)i0|y z{{E{_*n?GFnAK#_qNVZy&XBTYkTWaJ#iRDl^}Zu4g?5x~R3J0M`w)Y7MooXSf3pJs zTiyl#nkgkuZIGw`_JeGrh=g~3U_Z17u!W9AoZm=e!-p{fPyo;-**Mq0=UD%;o$ng6 zG7lm)+$x*WF2y_qf*ApMuxb6a4`LqVa-l2W)QHYT)wy{dru;q5gG+Xh6-vYr7OKwG zJQYMRi!LfBsZg?7yG)rWUeoM1;se)~*==?N*s~Vfs9~DrW{uC&{8Bm&PMjTE84FQK zA%90@eiSR>n**J1AaGwF8{e6WWy$b-(&BkF)i_FAQUe@CnKkxz3`&VY=$ zPh?n*a3AXYdG7k>FzY}dUr?bVC#_;A*j}Wap+3)4~m2#WIki?XoNUaF0P zBdfIrE?v|qC)1wiNAvfyu!xl7B5yQ63q^Ea>eV>`Jp~ zi|~JNNJDprXlaO}w>AZO<`G$oZZdf{wd0;du<&2mr!cbf$~RIu#+=1r*yxMs%cR$N zeB#m@lTpuwq`OhTtvPo=vuY@vWmx0{c9&%f+H+czLBIDN99zmuI!`q>$g9~!flyhS zZ5toxYTBBhYV)DvtA-_CbFiptbOU~d!GAN-RQLlS;KM-^rJ=WhPp<@me`+;2uzU2s z%sSJ&e!5OBZ;tXFU7!NaBL1?Qu4nRPJ8#dcn;{&%#wdQ$D z(YG{U3MaRpyt17$f~Cd7?Og}PmOtK(9aF>|C0e!3HQ%(};tLPon`gAhO((XnVGansDE z1N10co*vQ61rFzMwC_!AdaWa{{Q3#S^)fNyKHjxy#CDxK2|1QS=dz_!Y}&X^?gU3{nrGZ$=Jai%LMj&p%hoUmBz^sHn=SPI;AA+v5q)QKWNPe* z$_%+=nOiq4nn|Lw@fIhzl6j%2qBeXf%;zPQ=%A?bJhPCJ;et8u>g8DfuGE7TCKd+?W+;6KQ!C4`(#!Vzh4^Ie4PYMTL9p-lA5r zYj{=}mW>xD!5=whg1SPRXU5}IwctuWI_k9|yFvQ}n=f*A*crzO(!1)y`;Ovk{o#>= zo#GxAG`!(;b;n-kS{5%c_+1kxgb5EX@<@v94^_Nyz77P0oR&f3KtZeI(Qe`D+)qJc zr8a!BGSikRbewzUB@WAk^Bl2U$N)$_lbo5y?D5QuK}RK|e5*N=TTY>+2)RYF9XGtw zXOm4A-+_YMT}h1#gxq)^Tg@&%5h*0RBixQ0-UiKIJi+SAeMrn}#MqR}+a3$fM7d-^ zUxxQ;Hc<&qJ2GmJVjmHVA|${cF;-#t!ngS;n4QM9pLai;-H5(Vk-hZpH}BWf-S73K z`%Qr_tSsupV4Kd2efc;-PH?~HYPpSMJ7TI#*(;E2W?F7}v5C}Z z{;z8XlX1I$7x0AR><~#-=Xp->34C+20(9?RK5y5vpVdRrZ|o8zYS8`+4n?rb?jcRU&P_?g6G8|Tk!%_CtX zqHZ5=1@$J~uETS-gIRr>bj0WJlo(zTnDi1i5#3JFLJ~P_-a|e@Z*qv57cHmTIqZx_ z4d)RqmTMc%BU%pwDKJF+u z)zJD{4+W4Y?jAJ9jR2NSltA00XQiYn#(_z6brd@`1x759USH5OGX}~-R=d?~|{T_Bg9Y0(q#`e5itw3Ip&^_z5vp&_+eh+Bi55p>xhc(;}-VC=VH@Ivh5S zoSu8vK|<*M_(0QHZ7_w%qG3J6Tyj?65FtjxdWhpV4i&8xzkf75GD6DMMj^_{1Rmc& zl5p7Cf@jyDtkza2@S}-8DY%DzgJwVz85Pd9yVsm_$9zuU6M5N-B_&*A^Ndw2kkeMa z9iFDCBHR8l+!=EYn>{=_-aT^e@HZ@)-Ohf`ZFAM)mGnqwF*kjrvo+Vq_Xp#Ka{&pC zO}avXQ!BTo6dIS^H}%C51@n`^O9J&8T@4;Lk$OH9Y3J&i1bVcqeND7cxQSIkld{d+ z-pYWWpg7PJ#-L;clqj7m!vXFrk$yCS?0d)!ZA{U`BXjL8E*cJo{d-3&X&>1>Y>cqx zDv|mbB@JP(OR81H$&1HhNOc02pUL5H+s>WiVeAOs&|5<^v88J6kq_&Khb@wm6oN^M zu&#G4sa#fvbX%~AV&lU+7gh;a7S{0eC2ccFj=kiYo?O~ylALh2LGUtM!2VtA^=;jB zc6_^+)a@j}J;V-3oRQ>c6UQYAUz%!>N#7-7Ye~F08o>vQCC{D}_EFB#RFZWck0r@c z?^t1H+0}H7Bq`@6Mn>K*W;*Kg;lsX{2VD)Ic0Z!FM5{e@O3u#hG-oQe_znOuHKOQzIaO2CPVB*&e1^gu+$U4hN^LnrG zRR$H=8AOs$Kmk_l|HCcX~649i4+5uxA!`rWH3zeM)aBzwFK5Yu6a#zK{n~g)x6Vj_SL@I`^ znci>K_8tRU-R9xI8R6`j>W}! zWI-5<6d`#N{?oJk1EXOrR-hVUCe&Sa2z;qIC`P&(`eKJoLo7#6FU?wjVt5o-!3k+d z%OxVaQiNg){zJ=Hd27RTh?SzY5uGbhnLPa|DxEdKB$v>8(O7s97ozuPfJ^w_SD?g|e`tLOQbH??{Oxl&N=0 zq@qk}iB#(KwOnc>LY#)bR~Sa+%@l^x=A#sXTzMV^p_6l^IIH4C-xRNf*+UJtWV|^* ztyen7%VDKRy~yIiNYSp*IG`#Ge~BH?ENuzw6LybznZ8q&^vl98JJ9Kk+#wxe7SjQq zm8GBGl}Dh|E@&!LN)L1;qC=*n`WnD}1DS$Ex9k>=+Oqr>OT-(zqR~n{a}NjXd_M0e>e(uV;*^XIMgC`AMt96rw`jDIUEcx#C?!(xI&ro!+hGy z0wQ_}VbOR^hK=Oy95&j{cH!9dkO#@TZ~}U?qZ9(3_`@zI6`($1tEx|c=}_}Jcg`In zu{oC+Cyk)&j(7`N)ls-UE+}mKMi)zkzaDc z+l(HiG)*KKo?|axv#=3D{Q}=@s#I+}Lj3+w7$rnT;dg2FOa?AOM4;d$fmU-pHL#Kj*NccB}I$GL_$MSp=_xZl8FC6)w$Dg@8S-i)MbiXMK zBQsSSNk|GnOG6LRQv8Jn*`iuWVp4Nrh*`BQQ5#99d8+v9czc29(HZRbqICF@(9PQ%~EYHJz>(4UgoHY8P8mYGU><;IcG!&w2WR|ptVeo zjZTT0*SSYsdNDv&Bq%|iOC519Aw+uik_IMMYncnYVE&pO?XFQCMHHH};FuBB^4p)9k1%r+8XDR>9zD z_E@TuFOPUSoen0<*1W>j)8s%3p}tw>obow&(;?<{4IX)^BGnuo^2$r6<#nv^jVKnM zU8mDWPzXYL$sCOlD;vRMtGubI?xHpvlmy$+YNg$+`k*5)~ive)Ud zHlcRn__XNloIz+h8*GClv)DAG)9ITxaAoXUZ5=CT6K+s4?_e!l$K;Tev70mGIQ>m~ z67uD4;FEALjm>-#KFZzLC*eS%$Pi}qzPIZa_*|cq1VPCQG@yv-(%MA&rO-EccX5~bS-!6rpSS}uuPSv(%Gq! z^_#S*5?9l1s$`|@(M;tO>4%xssk2~+fqU*#=OMUxm^urF82G+n>OAOTm=Ozx7>>{6 z&3Rcnjm^s$v0#Yd#O%c|BNhxXoSeNFX2gON!_ZA;5{wHZ=^9B=d)>+Cpb_Wh>aPK& zXrY{p6pj2YLW-tpfltv$N$lDCmU&{QF5<1kG~*WO@&k7GInK|M&~x9Bu8s!X&e*wiMs-pz zwY?af(PryH3{Jq1EJUv~8@CYskp@9GzYEZ@(3N3f`eqCq4|^_x9SjcKqV>%fI3B27 z%z<09z8M3@L(7XfaEsPAIdJvW`uS};V@K~H<=ot$<++UG|1~ZLdE(Y>vlB|CVXr zyOj2=MUIjE8xErojXJ&C4f>@L$b*=ofIL)Gpk!m*KkT%e5iYDW_ua<%)!K1w(Lb*p zP}1FnB;Ypmo!;2pAHp3;h(8iOih#4%Y&F~HM}kgBBB5<`LQN*8NW5Vn3XNq{XhAoW zpcVz>p>obyz(@^nv+m{vebnM1J*23<(suWnlkOO=7<65ne%}acq!cV_z<`zwz^vy| z5JrzltoD;$=kbZ_4Dh6kg+4ZfNomTy_=ccF60#fnD5c3|JjAx7gbu+;OeP4!1*{rd zQe5?|5`@IdG6XeTH_6kcD?2>I{G-B>C3KtF2+O?Dx;-Q6s`DdOIkJRl5pT1wWuF0Y z+4bo67Lv_q<_y|xv;QrOWC#rtQDF|H5bHJP(q!!3a}eiqH5+ewGZ8QzqBT2^HdX2o zAQDZt-@4tfV$w5LW1u9mNiPOaB*MhPNrcX&qr>sNAb)gYm)+C9G`@#dq~N*s@V+*x z(mLaY?y+QUFBz!U4r#Qsfzst`{nBf?7S+`HrPmbhEJ@PYpEQT<#tjXT#tFq*_%~*S z^-PUD(r_^1N$WyL+(0EAP*@}x5p@Kfyp8ONagAHuOUACwFy7tfzM~de{@j4JeX)3K z(JlB0>A%U3zKLH`qD-$4YF_qzE(Z2i`W?50O(X@Jr#AGUH6xwFt!%c;itU?zEtMwG z{VogduIy46BPDjyF^}a=RYoa-jyxkXU~@T@}#L12ZBkPEJX7ioAQ!939{( zxx+zo=r$;YlRl8SoA{^u_yn=WaUUP~cG_y^K*!O!5J{F;MEkIbaPg#d8|QNDwpkA3 zFo2hQD}qx3ddWVQ=wTCaS&;(ko2RV_PWKO;Ju{@{Wg!HEZ_y3(!6h4(atzkVu&JmG z2AjR{y}G)!xjj9`HG{XIhjMs!Q`$ZSV#Chvay*bdkX(_<7!Q4dR7K(RprK*Ps>z@f zq2P|rqYXx#i=ENf>GhFuGt-GoSueU>qOdHTUBNt6i9_G1!BVRJM4hw-gN?hCs#I3v zFvi&y8BLzv%4O2O3{^@~n4Qoy`Wn65Xl`<=rrn(9bt-3DHP)nx4Cu}H)%sFHrtWHK z7P`_JB8>=n)mGB-!;#FM+po=KgpkQxE^dpU69wtSY-+(1`w;8^m& za>T+$?B*-{$puSUMa#-aK3EDXT38{;2}`ksi%sp@DaCH-BZMq9#tG$auXW%ey4rT! zUK>$_rPxCBi`C`gThWOpGZdm6;&u^BuH)a))oyQ-HPVlb@aYV_M19|Cp5QDsKt|m4 zZN2zgKjc_A4Uk(ZnY6K-`xQ4%Y(@mmz7n2$>OCpX4OV5^?s?18MRUFgSFDkONGp) zkin|L{5964JoCs?DyVmdVHtb~2|mE}_8-kxFn!1jz{*QP%Rya$L6uXLC4XO}B+NND z5n!n!T4wxwGA~8Xt_|#UhODr#vxUnHC>=Dy2^TwlnFI5{&T7EtJe(-S+)VP0!YY-D z9I(F$@1j++H%oO1R_DxfcZNsyjJ!zw$ebC+^K>nWrs(oM300#^n;wqbx7C`w-^1m7 z0q1O@hH?5^J{8QKlg~si)g}L2ydTs>g%y_?v(y-^8nxx1iRV@OgQ!crS?Wy^y-^|K zrN%5ZCW*$#owXJqU#iYhb>dYg>^NYlJxlFLsy&AB;m?;Z)n}QZ~U z{rv{rPsn?}fAM$ZeCd+L$GH?NL$r(m8ZXim6a&Nwu2H0EDR}d3s?z4J6ueYRHw0;4b3eN~$frN+-DQWx*=u-Iuch?~dxFE9e=u`&ka&wg3BF5SFX^_p?a6>-YD!5Tr-N&hcZO z+F7^=wTzx1-CYZwEJa~Ho0jlK&cf^?weTAC>Ass3G55$8Y@D-RKwB^|Fr{Cr`^JX< z+WLZxGgo(S)t8%t1~*AjPEDAGX~g?wI3wvBnhN z@IWfx0e_)yoznV@=lNhnRN4-{oMH80y^OBk>s`t&I+ZmbJ5TX2!I#2IDLj!5O#APp z>{7~3Dc+z-Nr^p6y{%ok#;xyb*Al>bh@ErM&~z#Pf_C6mPu##G0c(A$IdbusXzzC8 z#^Ge_-jg>h@rimW)wA#U)+tjyMH@T?LZ9u_YWrx#)_5~(FzTNHXP^jRE2 zHNlF*>7RJTVOA5eIGl1`XcM(4$Av?ZN=JD)8Z1;DJb^GCc6$5lE%nwx zb0{A<-R4e*u}4#Hs+-HkjM?z!%8dE2Ot~3yFZ`KxrOwG_@@cCzBF<8~i zD+ZrsmKA|GY(^D^J2WRTt%~LjJ|xRgoDo~zT-MHKj1$Hg@ntay72?pdES2I(8K_FJ z<+pQ{VosUMO0i|Jx)tIt%y?Ig#fY5Av}Uc0lVAPD6N%0{{LN*6%i`2nDXPtC$l_65 zrj7Na%50iTOqDsctvXfa*IbCI%xTElR9%*%maD3BZ3sIqTe1p^T2R>Y!?hH)=Es{o|7)5uqcFRA!iD78xJ7PKibIi)jDJ%ytsJjv zbrDCrMjAln*!3?ubHTJ)i{^q|IoGr$Y7Y1gTe;?jbwljoiKZ2sl0mW08S7H)5!tG# zL_W0~+8J;al~bF79l2r4lVe*XITddW&s!{#o-JrvK4s;JPJ@>6DS5=a7s%T3>HCYW?MXJoLAzZbqsh*|=gw;M4*gUH~ zw}xUk*&3r zs!7X>qf|^>mUv5rIP~H&mEuY5A}Ym}f9p^w=G1)WU zay$mz)T*&q*UnkeE$%Nzc0u0d-FHh*l}VWuE8db>0kK$?$r*FyEsZnhLoJ6hXT`q+ z&YU5&?9H4N!$$LSiW&11T;8g~mVTU@&H!dP!7Z4AXF0Vqu!2cg3}QLNJUdqwdS$-K zqTshmWzkW_rYs5;8&VFbFw;;bHQ71uFg3%Jv7Mi0LsMtXTsqWEhX9WgZ`?GUxuQ@Z ztWp3f&pH)=%VLIdV)g7zZam7cE=qBYn(Sq{4eqBYp%=PQLvw?MR# z-65+F%d=`St-dTtCf`|0O}lbe8GfXID2a;=Wa8u_FVRX^$s8CwCMc~cJr~yOtQ=@O zcI^2?DRRdshS$iaHMtYCD#xz!p+YhsD#x+kRht*Sl}9))9LuSvIiB;udYFGZPuv^A zk4&km*bEH{fBv{Pgddr5Re9mhANPjv`Ceq6Ca%6uoj>jk;YX%yRbKPwj{77jRVk!C z%Y?LWiL2Z_7dQsX0SrW74(-Hx$FvnhWxzaqUU00>q^l!B)&8*sARhms>f#sfY zh4~G0<}1&#A!hCaSDt6xbDR&BV-o68EL#+un`VODOjz@l{OG)(neb*=<}1dfx3pJ| zFSVRkjy3-hUO5KUvRygWj5Q=l=G@dLZg6?7E}Jn4e<@^FPy%3)6g|rxoj+A1NsGar z4sp*8Pm7!~uhXLFx0=(UtBm2aC|YdXbV!Gpu4z)2osUXLOgm*0CMae=8=V@M0%6(& z#vG^-hKtNd$%fjqwk6=UnAL)*c=oe!yvk4(j@oY#3n!pVU*V|bG}q3t3#Jif%t|3+ zbSFV3WcoQ4>`sYfjPCHTM=4?pMpsH9V|0g~|CK^V?@ozijP4}Jv@Al|N+e@+CqX7= z5#1?~jM1G0nVLm(r$jQcJMjsbDLXRtgwYxCCj}Ui{+WWSgbAftFnUaeB$%eenKa=v zD_Y5Jv)k>rnqwCk%i_=eu(9iG^?T!Hr{@lx!LWbts4*J18x8)OV%p#?2(!*=ym)?K z3793*_0@U}DX-4O&S>mRdaVPub=z$_ov}M?j={h8-JNE)u`2;box?%bb;d^ncSN5K znw?=|b#-fV8}O4}=kbZ_48~~PnvBN%LuaqsM3Kb)@US@s;)Z-}9WC4LUUSkNJ8ie? zLUb_=bm4{mol5)-UT-HVP=|>amc6t){knuXWJu?Yj-Dkzs~t zb@e)*NRQbqQ4JG>eX~}>1c$+*2CwieQ+>5W8mc4CHZu>-pbJatbb2r%J=h~-EQ3~5 zv$V30H_@9!t!fSQHHfliPN$0Tr36;5dA7ROZ@aU#(X;>yYpqYdpmenXqopxmo2%KU zfQhXpn~N)YrS@PB{l3n$7gr;DZKvCW&)(l7<8IOH z)mlvo+}U~gnayq7O{=Y$l_Lv7=mp#h!)OV!7lK=JT?!E93U)hpF&3-Z*bLd=v<^bX zB`_%4hJBDsWx}E{gKg&>cQ|%NohMxECQ&n#t*(!4u)lQ=j;2dAs6yLpw}t5NWs3;r+{R7rQUv^o zsgOd}z_fa`J{3~B|5UaF?VeScRCS-LTskVjp=A9CKI&CEL6rbeIw@&WwSSME&S+*d9YXI3c^P~)4}`p=u;IgwBFDpIOn~PgF%WgyUb6UT2_D?PdJpkJX?OqZeP$(Br3#` zC#F^8(BW*Nf8-2hs-m~QS%?%|vMxwL@lJH<-*N*t?;T`Wl7W-d<%rI23cWF++9W+Y zbX}*{?>PrR&8k#(%)U0cRd)io8u3QJ@0~i)-aCDAeQ&S!vIZ{pZEn!*K3s^P97f%_&4-5ah#qz2 zWo^3e+_;f~uVS)}C?6UwyR(y;^ea|}XEuDcXsnC7}qu?A{xdlzD;=D0te!O|{< zps0f8o?+H9uS{GSqqy>yXGK4@gARBkm_m2hyhnwKgqA>X&JO!!>PaM&LWWZ#={n<<5?u7v+JhwY5;%aH5q+Bg#5Lh8LST8W zNrY#=5vznSbsm%;4m-UhGb9R1A>)bGtVCDCx!h>Gs4LcO+;999~F>-WjRzrlzXil5~OH2+e*||#}ia7rA&o9=)7D$=1lP2Vm5rT z9LIXd1~VI0rZ#iaX?>`34os=zoNxZEp=yujZt|MDl^xzf`l|1`SuLE!?yep%xDUFk zrmeOT!-Mh)KVxl)FZLV+;y#1^TT~o`Z72?XtWQxKDeEF$9D1WCYEW4DSN~O*Flmd$ zu{fq!pV{ijEr~yaw36H@;juUcmqz2pfK@E-S&EnES^1fS^!O&*V(KFhPS&VK zBpxBl>i766m@eg`mvzI<4lW;k!CQ*RDxzRPkforkg3`T-rHHH|lJ?ptQMHtnMONX3 zW0v9y6_=r2{Bg7T>QY{z@*42F0Bklc#l>SVdc}QKTAmyQJ{t}7;&0k5)hj|?x_T|e zl~}#%mVy*1TeU%?vUytKT% zpx0p}b)^%SQNv+v z(3WiS4YMK8BE*?-XpzCpI6P6TjyuJrLp-*@4l#I+1*v(~;|6Az2?1qV@B^-_sA|4* z_xq&3a)6mLgm-2rCAFY&;qDwwYCgmqExmIRbi<}gxx`LOWz@G$Q17BdTDIh-!oCzg zyx0@@rhXuIiECPp{1K}FC|!u&GV}&AC)Z@H{0`auE(xU++|v@Tb>$mMx@5!`2X*y< zEj>BVdSlP|^d1c@LiH5CP&q=lew_Y?=NOHgu%(1(xwlBjQ=(1j29!ETQmH5o8c-|e zPRG5Ai!qq&x=UC+&OD(Z*Kl=p^Re1P+hVKBXUUXA$R2Ut0Cl>9Wt7^e8ef{g&L?{- z7{;DC1j6ynW_`q~>U4$Amm)e#E|f5|OP2igbzh-3x&(}CXgzl*-sxo`5ot$4Ji&5@ zA*~WWx-O0(-5Il_ZRqsds59nD+agwoD^I1c!S@fpGZ+tHQLzZC^X2F#o;^=I@cw65 zJGQXsUt+$})6k~NR!QbO(P775r0Db&tOV2^+pFHSb6x&}VgKHdX((_?5QM0)Dy05r z)Qdx@v1uu25afrco{v+ZOK@N`lNW3%jJ>_FFUyh!n!nkpsw)IBmdlJ3jdQ6vyp0%w zyv2R1Gd^q%8t^E@6XO&Qa4u8L7+*!L3@tUHV?3fANp%xcb*}>ClDCnB*qc`3p1HMW zhO0*wA{N*~o$kSQRqw!fv0b|#C|?Ip^!|G&I>jE`z`GR3HB7I3Syixe z-xSx=l)|dQSmaF09V`CkzBRA>r#sO}8z>Uajee(16_My6M%usoC{dLk_K{8|O(R80 z?m2Lxq7xDSl%MK!61T7sp`v8^Mu_c^qzw6$Q2lFu@zNi>P#okzr`S^iq(=xuP{QC4 zBC>$6B#T`?mxW?g%sLxgq|Y?RF0b;piwN^xbAnpwLT;`z9yUAU5f>^uv=AFnFdwJ^ zSO7AOHF{legj!LksKAPo^2LRGq0!397)v|c^-z2nVOr<%7;Q7z@#L#I#g9bY?H zJKnx^`uOS7D60IhUe=vgR9;7HSDW>@F~!wXPQanFQ(jf&#N;8B@H+2-qPB_ALa*iN zETWd3-hLz5A({-C!cen}A{+o~rRx)u7roLdjOms5=e=9jdS#2!K|Q*u6@s7VG1F_Q zv0^a#ZJxbub6+bb!3{K4yFt6#-)}T*S<2BZ_zER{>)wgJ(g#jkC}fYrGt&Wqb2B|w z&677?6KQ(X=T1;+Q4GFv9HUcQH@u5|anSm*IR#o?$8ZKYwee@_?>hjUK5^Og)VG%6 zhLCy8aO7^p02(KFSc5ZIA0rcL{yQRvq)v||PgNr@T*2p>XTyOf1pn*I#_o5jtA(+R zrTD>=sCy6MVs^}~_hGRy{$}><_*#z2%BpcVB!iaAftmeuF%D~%0|S?b(o8F0$JFwY zu%Zs`7wLh((yQg^j$zWOKeOObH$4>=W#+nXvyiE7H7YDqIft^;KbyW-bJrl770Xi0 z$f(+Acbz-@p%1>gQ=pvwlSc%|b7xs)W+H#eb{auCjle&}Qyv1jBv#*WuFH?K4f`tF zfhBFF5xaoiwL6%pJ@G`V-ZK!pYVTaCW*Rx8Z#Wp?t5T9zIq+nPI1l0?Ag?@OyKp&8 zj{`bK*bO{Of^imoU=Nh&vX@$h<(nR0^9AqoqS7Pgd2!jp)OoP#vEh7p^p!G~{8v_k zt65Hj`iheim7HP5s*nq3xaBSYtz;K-g1z%2ZC%1Ctxpqi$tZ~>UHxx^?;cyVg3sUpra(cS?JZ(TDr zHUeA^>{-V+qAgR`N_Ay^hK27Kki;K9%PKSi2G>g15f(d+`8dlR(LVL+5rHewDiYD& z;6({0(~OFlu@zliB7~!@G7(U@Ez$ieH>GguDk9uheR&DGDVAj=2&6A3a;lP?i$u;d zt->!=7D~*R=%w~V4GO)@P9n<|9nx3Xf(j`UJGk}72b6gUc^C}7*_{X5ymZ%$Pu&ka zHX|+fLyy%ImL3jfaS?~Zx>;54b{B%#ZcXQue>DJkYo!|}`?+;jSx!O)FJ2x16f%VV zO+n7$==0ZgHS8>}l)EJ?z(F;|_%bR!Y@w>IdvDyh(HsoiUK>R;WLfHM@2}j$4FtS4 z`H7Pa538tVte8VB^!`wLCL{%iUavA;3CBHfVoa0-mjcR!iuKe?%UlitE3zSyS20q0 z*%IkQl`;h0G(ag$L+L5$Dbq~wlo#W?f%*X`vw#lWX?7>s^j4PWAZJqBzs(E3x`6Ww zK^h+BP@6SSAdphsYDH4kyxF{A!$Y^<(c*DfPfgBd9rssYWF6@Lxjqj*Z5 z!bgy{RyQ-gl0l`@ksZP=s4t#=5rzTLq}D-mC`(d>u9m(jWqA@pS{ke=c`{ddphsJj z=7?n_W)?t>7c6!R(na8IpA@35ECq|RdaNn2(M0g(SSCkUY?^3+DR|C?K9$2>JIbCE z9#r`IS_(=TSYe?Yu~+!^bWSHHnA-5=^ua~ol}23Qob@Ks=gIS8LrdY|B`Y?+Fjf)U zKOsD&dhC*os9`0aN-HiJ0do3_Re`0IZu(eXl&Th6N?gY2RSu=&WAzx-InBHZ*yE^` zkJycvYL^Vr=J~8{gQHf%Jg;^p;BiK44dd0qTwck2qIUIUyT{Fe} zB{o(X^57Z$~gOxD*)F;-AmkwU8eo1H$c7$`oIPah*Ig*LIywa($73up3Z z;Ev>B0z#!Ju66Qr1D!3O)t)=fmC&VQ-XD$}_i=dU8HI%`*jDVRBAfOE!{PC>Z z7!{KwUz6-?Ln>S=Yk0gG`gOiJI-t#rDL7I@7EJM~CbEa-n%MFXApcIPC<7endRl@0 z87rWs1z0qKud>XRU(0k{s>{T624g5&bl3v}*UrAp*VJO})Wv^|XsIzvjbYDQSu~j& z82>e_rN%5ZCR$^37iQOag*)uqONTH!ddcSG!ag6s!H|wCxek6m7$D4ZbH;rMc8R>( zppP5QfUI3Yl~}1*+$F=oN5bLUF|Uh0OtMz7v9VxIPE@BuNxYrqX5H)`S zIp6gBDhmuqk8&ZrO?5*W+fR&y=P%ED@32*(jSP!{n?=%>!`iwHeWtg#=WmPTA6Bhk z{c>CvXk4w22P{W;K}J}6$YD9A3p1wrE`K?!3p1?2lDx~oU6{eu<1EWzU6^5&J948u z@^X9^WPHPmJTHfMp@vvaW89rwMxSKdZ5~c?^)Q9D*;$UF7hjyeQB;$$nmG~)GIwx% zQPpcFbD|i*gPw>Q_0`IxnTyPgr4pBaztM79IcG|&n_}3sncnzQ349f{uJe#cwj4-N zt6EQr@n4Lq>_Dn1$(|e^;mq9W@8Kcs)!IY6Lyw`ns8JmO&IrBx9SN$T-Rk#n$9IC~ za63I`&~5UE$tyYOcq;uaRZ3wg4m`CRV_7wB0|~`TA*%}!7_7Ycnr!+CA#1AaSNkob zHw#6HpCcAv4fPFo*x5UBhU^}TSFHi59h>xAytWs0;vhAoTm8Y2bLbu(_V2LEG27^u zhnxPU|Bwb{;7`%WBZU&8zIViLHCwm)lQCu92#U-EvVUsiQaAKSt|cX@6<(~TY9vWH zkK%STs(w)J*{+dWWbY*PQ6rkQxg-y&XK+0OcGDqxD3k|@CS-+*ENz>^n;(~A4A*UB zi4;$*WG$3!ZcI(;NgF5u9sYKEFdOc z#W1^#NUTIW`32>&q>=kQ%LoLl+tEb)H!P#F&qZG%22ra#RYbo2xiI)XZTxsA;|ivOZ(UbX14z&NsNq zyr!+u_T>g$q2X79`IAI>FtS-q2)w9`-5bwCW392~pD~tANj?hHdQRn{6h>+$^n;Hq z)g@pfWGvRk*Q_#Npy*LrJmn41Q5$Qzc$d>*sI(LKkq5rK|s8Gata)fXnjU@DTWw1{?>?bxfR0-8BpY5naP=$3R}$azuOVJ+gT&yh5RCZIV(F z8~!<@$6nhM&sZb{HVklm!@0g-{qsK!upG>}zBp=3&B$EHg;`>>8Oof#MRF0$+@Ixm z&U-OBUmPGZdw5|dsFuncoj<+M5|9p5qHOL(mBb?1>h*@E*vnB}kOM3}s&cX-^x(Vh zK*x)VbX14lgkDKmu&y%4kz7VxYFV6NG+oA}zS85W^X@kKwm1u@ugbux7og!B;DDg2 zbxPQ?m=$D^odFPE{#PHDf^{-Hs>-Gw#Ca3%Z{Z+A6Rc9%z)SQMR13|7@CRMNV+Gmt zha+$FJ8ingOhwA+>Td;Eo-4^JrIm+pLaD24XsgMh-yRJ7w<)U0wxO=oWYI5KrL=gj z8l^w_vaA8Dfl-0rCVc>p-n=88rjbVKdfyRCrdD&{u??I7UFBy$J}SxJ6#;DmdUxG1 z9(2v!#2g2xP~v`Jpfn1{$3~r3AMuxeNZv*fvftw|uHbkVHCRyIch}svNht=MVo#G8 zG$QIwrjQGt2N8e*fKKZ5OOa(0vUUmE@H}_bRhKg(ViPpwDWtu_aRaY#N*mr#LQ<+kFE~2A<{|PfG43N}c(I@C^!6Lu2sO73l3vYqc39G` zPrtCgT3x+<{yaZU%Hg8}fwN;)2$)m;)c}}f1~Cg3>C}|@MHqfmS6rB$1yZ+-I*|+0 zO>LL4m;?>7adH zF2~fJ>w6QLtyL3MWlVSnG<3j(y}Nlp69cCZ1`-8yyzKDGI9*5tj`!)=-ah-LGJhy3 zun($8gv)&IeJQ4p*cORNdp~_CrwBP&-y>g2EJR{jO{=Ah!ems41xL8IEGtZrfLkJ1rB2)FcdSa27^owa$C#)(g|QxFqd`>FDB*V!iHc zHJsY|_RiMMg$tMI9jL9dqs9vVd~NOGm92AEE~D5U`{*I}UdtVfJN+K7@N{ZZLe@67 z8fUIt+1|K#=3-;Fce~fW+pC{c;Dqp@TTL9kcDwzS(VBle95#=fo_p8ny1o7JfdN4r zZk}!IT)4coedh8b4dAJtY*LH*Ni?aS6m3?V>lcnA^uXv?5w18}*EeE7!0Ds4NGy%h zgeM7Hy)tx8sM*3KS455l$D$;(hOQ5rjk8;q&TgK&a;eejVU6mrG25RUy1lWdHRrY(S1zABf9}lrOO37i@%sAJ zVSj(vJglEQ+v&Qa`ue3#YuF$4_r~>;H#(z-767{TkA*KKg^1zdH1*OTS!?#MZgSBbP6p-MoD6G9!VR!Kg6U z9>LzBUko2>%D!mRXB;#8hOxk?Pv{#)*rQR~+-N*<_VR@*7dLjG@sx;AKRNFAq0xQh zB(OANpP5nMotA_5?Nc@q;Jdv^x9f01d_SvrN=!2ol3{<` z9Af~|@@{FDo<3PP%!SP}J3HqtJaRVmT)2GU?B(-kx6YO{7i!z*8awCCgE^Ra8ln2h zLBE3>%3=LvtJ&-IF+JG_q`ffB^^@K#I=|64yRo&kbMD-EV-~Rq#HIwBJM0&qHUpX` zY|^TkHm1*9`o-oG2W&|qwap8St+Q7zZf;yTuZ)eHPlNub!Q36O_&_nT+1SA# zo;!bb2aJr}eUcE~${g->`*%I4bK8wac6QF5y|T5Pa-?CB9@)Hdb>rM-Nh7@mt9SVl zR{V=QSB&wpjRiAn{!w8g$1J1zW{*a$>-B&8k;a8f+n2UCu{KEc8M*FlDANHyMq-OQ zyY$!eT0v@8E}gq@5$7+drG_qTTsnJot1PLVKi4>Wb)2mOOyAir zCLpHJT#ZMbZZm=1rhf_rr#}xo0bmlI+u69XeQEP@aQH z=IYfmn+?ktj{9UN#N8y>pSAN_jq_(WF7Mz(%}_Nav;$8n?4L|3Og?OZb?95QzA~f0 z{&_@SIFdwd6Mn^&Gv^-J*xcN1Jl3Bma|Lc%&9U3Ve=u4H_%%XuplrCdy>X>+=F-It z_?zbH{}>TqL&%JmHc&Cc%(}rE_9T_s<|B>s8;`*I!DJibrQQ*2l?y+~Gp_vgUSXBi zpa5qdxv+ET+*$I|p(Vm2ValXrz_g5Ml`^GD$utK=ecfR!J$l0D?+FLt(c`|)PZLLv zu3JA{!(iemrZXE2>(?jjn}A1;`#u*Wte+|p)~`7UtN-tHh&8l==!7Exd^|)zo{06} znA0B)1^=JK4d+(6c79J#@EixAc#eZS5$+N)W-VV!E-haP_Cmi=e1(FL5St@-mRX%# zDdTKNWalz-p++bh1H8QwR8B@bai($94G|`4=oed}Mm|xcXcH7q_Qvts7tSX|3fN%8 zH!!3T53b80DYRu=({DyX#yJHdqo>ApFa;95|M_r4=|yUWe8|Meq(1L(B zt}AT{;(S!Np2cgWTyG8d6x6i#mVI`7KtiZ;y0%Kb>DqY;o28kqR$1CZ!j@(kM9md5 zAFfCVrr;?`qN&luNH`Tf=h5q1&IMd4+H8*8mm+;?^}?lBtguh79Zbe;M8Dam*XdJd z=;Da(_}=Ln{ovmtw>24d#z(k^+P~d#SDya4YY#pAeC=oL)I%pvJp9o5!>6?m@#k8t zcIwnA{QvmL)A+$BU;6a+SN(^Nee~mhxAhyJ_4Ji*`s@|<^V0SZ4{hCX`M*|HUiL97 zE8EX|lKdzC|I;5_d1>3dHQ8UiCck*&w|~sazyI_nt$f~3J-|NtXZYP%d2my}U6*ie z{BcLX$j=zukPc_%Co3z@2g%2$Ydna4Sn&M@VE#$Kh2eWM@ICwI zA6R+!{}qkzIOsg^3lFTE!hiHb{k8G;N_^1(%uoMfJihk<=3l%i8sF=I?*)MQrC*B1 z_iw<@2LZG5%L>lM-y0!_5nx{Ys~nE$fhWIv)HU|=Lj2wb%-0GyufIMy6W!MW=EDMx z#=}PU&7k|qzxKe&dw)Hi?(^RAz{&>xqn{|cJAnBC0T)J>`ujG(yymU(bbkpj?-y`U zbUzH3t8e4@!st?e?*XRq_ISFl1k85|xG=h#ki`!G=1&D2VYSKmIbi5%?|5M4(|$|w zXPX~{?+jqRTEK____4SH3qI-$}H8 zJz#!Iz(Jf=d^LRWLBM?4A4cPQ0`1QL=H~=l7=P!1@6Q4A@cTKwsQEDg%(n@+uyK19 z=)O+C;7|5r8@G?(n>PUNhyOUbA0(Hz1LkRe!r?r+K70QneDQ3+eEy$C<9j;bT7WtH z0EheMz;EMk47t1;FjxMJ!w)j1fceUgM&l#?egrVT zE8xQT`x<=le!vX=E*jqz;QKbf{E>hoXd8cT0=_5z{R1n%`VZ0gHqrji0dxExIULl& zitl~EcMdQwUZIhIPl5kz<3ZzlO~4Qw{n+?B03jD}Z+TKYzP}PM9Ge~ATY>K>4;)*0 z=aZxHy&OpX2{2dx8HWp#-y6{19$-G>snPhTzmEu*DE{6Ed|wQ>=R7?cAK8~L0L@e|_dJ_?wLfD5Bb{e2Z+J}ThC`nv+U zFaE@1D=+?}c)I(5`C0)NMwj~gTELwBWR5SazqAy6Jz&Pqi>LeJfcZ@U7e<%*`#XU7 zqEF}e!um_&`x?M}`Det_{TaagzJLp(Oa1*5zwom=6oMsPR4hImcF>zZOsT zivja00T)L1S)ltG0Ym)JkIkMw7YM!`aQ}6k)1}{G_W9ich9L{VcN6$N2)HvRqVat` z+8+Yu`vn}tZsl(q_H5r3cbdB;|opC6C!HGp}OfD6O-4B&e&VE)G!MB}4<@+W@bv6Tz> zkAA||55o5)fa$y}9^Zci%$o#U7{2EK-@5?wfqFE)F9c7|X&hU5IsS{{kNjsBFyF8d zjgRKXPY4)>5Wj5m<3Zs26~Mi7GalbR379y1&)kB&+K$HeD3DwL%(rWBHvVWm|3$!@ zI~$FU#!+`lC0f%N*{@#zz{~R#Cbuk*>zXIIHT*A7K z|L7+S-+S=gNx(eway-6=0n-w2Vfelj19b?Pw_J_K_g8@V^p{8TNAu&e0rT=lqw#H_ zA4h=sX#p3;AL+|41LnimqVctX?~|_|TlshRkAA|&w*h?L0hssfayZkURQorw2hY86 zY-Jb!(NCB@)B4r{%$I)=hcox93f}{OdmCWhev`w6?SEejxYLgvTlw`@MC1DyF!ZVa z`q;{+eF=wqHh8qnkJAvuy8-j;rlPCXU(HZpEJ}BVA=w1SyzX8nl0mnzbZTR?%M$K z-vwM4zP|+A$9>tcl_%Yf$M-V8e7%4R!}k&3djnv8xEqh}{eU@j$l=29JqSJcH-PE& zqw!q@-5&(Z-wL=e|CH9tmkf@rG#-z}NAi0mV17-&h4FU}{CyZOUp9`$NAZLI4KRNt z;KKN$`TJRuV=Mc2;_-bCU_LD1!tjxQwR-p1%E7&Oe6I)0UkJD`e8k^p9vxe8pNPlz z-GKR!fD6M%{C&p%gn9JJXndanxYq&ZXZ|gR3yasi1mp4Ie}{e9tK;!~Ghlx7%cJp8 zob^-x{jrscUlEV*YXI{-Um1;$_Cm?82rh8Z2Y|o-@FcRPrQ!PrQeD_g>Qr40Q3I|IFCQy zx=QNz9$~vXTBbG1OL%a7`|uViveI>`MvS@UJsZ*6mVhqX#Myzz&!AM@%Ua0 zn67{e!}lV5aR)H}>-R_F`)>5{mjSc?0}9SI9&ZJ{Zv>3L2;zzYUn5{NZSPF9zK20_JHy!r{XDOa8{Q0rQj}jmEbMxX%U5H31ifkNk}<0nF}? zMdKrT@^1wU{$xKk`MnX}d?nz%@WGN&Cz3L6|_#vd z{I_U)p9&=Z2{1n);LyxE9&g3xKL?m^d?Uw4zisp51^E2G2^jpzer)3X^JihBN z6fXkYD}R>5hT$WB_w|7J3jr5qUsfTAr~Dk^0zV&*?;2oUC*Z>H9RS}?0_J(Y5RH${ zqs{{6TLoMgzUKqq4*}-?{>5l~XMpc70CW0H94-vs-vjOgvnzB_<Yf1+@Qaz`Rw!h4J@P;QJqd`Rm_^=5Gu5p7&P7f$<;xgyEyW$EyJIs{c0{-zNdb z_X!w=5Wj5m?fv-t=K=TqzZs2>_!{+;pob^!Br0xk;Qw*clX?~2CvAozRQZ*ds>$$o6|dmp~}B*6WHfTb2T z`%L&g^S9&iy$Nt90ryb>8-?!$?~cd!6%fQ4;C|vg95xEy?+6&Mz<$E|`$53H?RTQ_ zy%QKd3YfS4E{6+?ue}=lo%p?DD{uIH1!t4r^MUWVf52fFbNFTBkJh8pfP3)0(fpk! zH~|xdkNA5v!M!gY--`rH6uzs#Hvrtv|6x47_Y0UPd|v~6wf}x><&A$7kMH*dOcXw{ zr!RUx*2_PR$M<>x6NQiD_W{6l|1=)oYXwXcK9b*i0QZs)#^bv#V50Dm{JsNltA7@c z@1lT-!bkFZE#Th&p?G``{yB$>TwAH~PtPjG)3kMBhSCJNtk zfNub}ulTEYd_OE;qVRnx@ckv=9{ihle5VCW6uuhpy&7;o{*h>WF9DKw0p{38IUJT* zt9_yU;Bx`_c?$&Az<()`?1+8(!VC){`l|W@jdhJIZPD3ZvwuT0q+0#hj@H{ zEnuSX5q~fIN8|gnB`@`5tRazg~#{-T;_)3OIC&kB9GkkjD29 z0P`)+;`qYyk=_af?*_~dJtv;-9|7j+pTOb5=)M+op97fh7jP8Mvgyl*@cBmo^Zrld z_z2FXe}wP!zj*S>uj4=Z3B&gWF!ZUQJifC6CJNt0^!FOz zzVp-L@%@T`iNg2m`10+5`>yB5<9oA!iNZ(scHRNFmw!e)z9Rt>h3`H1@~Z%M>xJ?7 zzE;3Q;iGuTw*u~)SL5;hlz@rCw}Sq@8E|j@%y@hs5-?Hth`)aT+(-XqJiZrv7Ke$# zNBq4Ma4&sPJiZ$OCJGLlYy<8^|0*8eRRI%)@9p^VO8~d_ z;%IynuX_wIKPccJCaXPoKE8MZVBY?cczk~km`k6-;ll9M@WmGa=Br;CjgRchj|mw3 z$$o71>V5d;rvdj}pBsqWCv-bCm`0^cq`-WOPzMl{9@x5BWMB)4Y+4~RZsLD2c^d3q`0=)Dl(tGb9 zy|++9?}RiU5R#CDDvAPv0wPEiM2es^5fudmm8O8A(xi!if}ntcD2ffvbwZD2`|=zE6~WE*OZMZkM_R^xOR>0d1Kg^^6ufq$#AJn?0L)CnDVH8ufx6C z)SmY_8&e+D?+o10X7;>$Y)pAnzmVo3o=h$5d6n6i@@PIcfV(fqtI*OZ)0DRdFV=d{vAJi5QH1b2_EF0U(Gsn#K$F*xZUr`k^!VSOxysod6af%o_R-#f@vX)o|+P`ty18zM=(8jKC$r zykK!u?n^Kq3*2FtTT18emky}-Uob6u_}i=MXS@aQ9D%vg*Ks*f4_&_u?ib>jhLa9c zzs!YsQ{di*Id5^)FIQo5_E(kbZ!gV*LNGH2I!-qac48hZ8WiH`65}}2JU9b$pPi|_ zVX+~esyJ=^QXi(j#Zh}>V4fAY7h!fPoxfjb9_)h&kN3A%H4o^vYB9{-QI0dsgGQr6 zJW)7p?M;B0D{xC--nTgFm;Eq5DV@K)G!K4*iA{3qr<(_~AB;^7@#G!vIMX~>3A3M_ zX&!t5b6ep4hABS5+<(;GiZERTt{==3O6Ttvng_FBzMSZ9uWBC9elTznuG3FC&NL6M z!{nK2ZU^m?MPZr=TnCs@7DxS(4zpb8{OzTAunwlcG^c*Lc|iL?ndu>(bI&=>G!KT) z#(c&}hiM)xfq7rx_QPDYIBM^0m_l>R<&rA}(_ZQP{X+8~5@zXKe|uH)fcAs3&xd%r zzvwvAJU9sRGdoki{0UQZp}8G2U&_IBusCXO510u`=WlOmxTj&(x}EFy6SHEzY=POf z*r}iH{)O_+!2HF|*Irj%OT3U}Nrn|kHfvN(w?`2jV~Q9+Ugin-T}P$DBMN1y8VyZ8~Ua_?+9E0xJztJd12e^dG!9bAl$cXO?e@2 z+4J@wFCW}-wx+zl1$p#&d+6JEfBBA6wkdBj8&tu2sOB^M`I((?|8BSEm3!CT-kT_? zHeB)d?0N0jaP^ey?L1!W30Gr>J+ChtQyz_PEL_!{_PkzfOnJNU;xM>k@7wd*vN7dt z$BRASLO!tPRcB+$qy42Z+#Nw)(OpiNrabDuig35sn&w~O-S#|MzvbX=vo+-v`Ouz6 z^QAmorjP9XSDB5ey=U-Z1Grot+w&T*G38yti*4Y_?y=`}W@E~u&%^q|RoZLMi)3TU zJAfC5z?I%-&x>GV%A@8{rR5VaECsz=iO#w z%A@-I2N!bCo>!fXDUa&c7_R*xdtMS7Q{E-K_&D64!}h%CY)pCd^SAkMai5vTFC3@)eUN&%KP~!Yh^O08 z$5Ffd_mlq5cPruRufTlD&R0Lz?}JdeM`4a1Gnd;G%N-(mjv z+FUNRci<`9XP>c`djTffS;v{m%>$F~oVi?T?|7KE&)dt*{B4M*3Qjt7cPBu z!Etndsk$GczgD#N#SqWk@9pKbyNvf`IBn%lfVp$UTrU0fp6Nf}bM&9=<<5uM$<5l&mVZD8WEnaid29*5Z%ZZ9`q_H3TUIBn&&g^AB$ zF1HBEJpps$fA(^lul;503`{z|QraZcz{0(kL0ejv>HnzN* zaN7#n^Ukm_<09WY0Ux#*|0zKd!>8S{r4x_t|Iol%WO<}bU%I@ z?#d(fyqrZHW6H~ldH)Dp@ki}>?bw*|=>EAU+`wY?ylHGqc~rj_;1(9Q=j~!+%A@)n zf;(Emo_CLpDUa4~NXcxTvpDI{tzTMinMyf^9386tfZh-0g1f-hl$WivJ&)>_AMP4k zQ(o>e_B>i2#o+F-HRY8mYtOrfyy|e}%Q;q;w+OB)%y$`_s{d$xgqP2T-^n!Rjesj( zA)99|PC9VeQH}@wKJ{vt`4!E1RKJ}tT`KvVu72q-BP;uz|NV#m^K7c$e3(Dknd+CL zN;c0wIO#C;U)ieI$8kP%y82y&IZ@5;boKiOCZ@XMO!XTNGrWd5kNR&OOqrT~r>kEl znC7+oPFKI-Fki4U)$co)W3|nB<59oAV3O-Nj_v|g_48nVSp&1Cu08KCOpAK)Z2Qg2~;$oJad#E0~DK%z5~OoUY%hJj_6f|&hUUCK$ieJt>jPk( zay!@0byvg9hN;rV$)owFnx~Z4944NfuUuE&2DoIH!fnlY#o(&4!Bg*{nx|LrN(Z>A z?VLQ_zEK>m7aJ!{Jr5`^1+I5{bKWetDKJ?&I8L{YQqU3gVb*ta96hS~uQa~?9Zcp3 z$Labn4lm?{N$KP`U3=;Ct7R~~J3B5E|F7!58JNJ!VM_FIoNivx_$I+DX6LJ)>-Pl7 zt%CVf>HOD)CU8e#a`ZK~_gPH1f-o!lo7+o&ujwZ+_t^RB=bC@F@j~VS**td!I(fSJ z+z5Hu24P>rNrx`)3|@$UDLuqozY55RVB-zMgK9h?k(Uhj@lbo-H8!Ta{>b}Z6xQW1 zd*1VGOnFqlci^(b*z>BgG38PHdcbXrwdWmUW6GoZoIl~N#o6<6$2-Q9NBcp2xJQQD z^IEYn<!Thn;FsYFC!6!CBcTNwj#Jj}N4%H_*E_|Y zH-(KUkN%#Rjc^6i%y}&l(u|EMkM{c~;J!;Y=e0*j_&8kmanhk15BhgA2Ego{V9)yr zrshO*UL_RN2qt=xJ?}Y~uh{A8R}3$lg}FP~oJa3Ni$CrdZ-eomnlC%?^(t`Rv(;TM zDKGmJd)_+KuQ1%MC+zjR%*Iqddf#{(?#CzXd3mPV>qq-bak%iO%z1R3t_{tP` z8IIH454Ai%*B3>lMY?Eeeha!m}ze3zQ2N-3p3?;Cr`KD z==08XFe&pK7l!{=wWA{{vvq<}G%yD%r&>FP)0djY1PP*TcO5?WS#Qpx`n?3R zlbx=9)PMV6{(jAzNA)Z7dN$7xoOI~wNB#FW%;gQ{JgQ%gjrbe{Cmp)_QUBG0N#A77 zqx!uJbDEv5epJw1n7fJ7I3H)3ulK9>DzbjyaF&S9W_g&rqCn=<1gT13v|3?z`qZs^4~) zYwUFOqr87$a_lhY(RkE_>B&wv|7gD-4AXX}Ij;>|BFvlYbnT_zqxb^m-CgFq&dB=~ zrqXV|Q(Z6nqvDY;8$R?q)%`{k+)p#WkYyDxSDxLp+i0bzo%#R1m^`n1xB>fXyFAv%4_b*Jz!}j`BhKW=URlW?+sV)Yja*xxWO>X*y;Aa zlW<#Lo;qdDD-XAU4W4=rRsHDa;$Oh6JZ;Wv5BCX7jx&za&F4dKm0^BmryGyvaF3kL z=IMu%4qbcCsf%^<*?YHLk_9q8Z=7PUmRsATh0Zguo=DY}UFjLuK*(>KWeV+Xs z%%n@^JnEMG0Lh^?5{Ayf6qR z>WbrZzyEiDuG26Jt~o9zGIiyK|A^}<&fszb>(>Y-%Hn7qB*47F&Nok8*VPJeZ^N8X z=J~HPrQyDZ$?}t{ey-0Mw!r-l=6!a$b@>?FcQ8e+J9)nPx$o`eFgx#<+dBt&M_~H><~ZFtT7-gD!qoo5T))c58vrwn zovwae(B365-~VaP%YHALr!G!9ba}mz*8yh5U-rEHFgMxh@~D2EzcCN~vFD}3tYoLl zqx!uC6Y`%uuR2U$cDlTqsNN`Y_w9L4!o1E-mv;$yyI@v4u;=ZExyeqKNAL4+hvoSf zCmp)=Q5vt6%M|Kqhm#KKcGY!e55C?VCU<7XQMs!1TM1t;3)7jME^jqn=mT>%i@AOk zkXJlwsHY81I&^vTKCdfG{SbTJ5SZ!gbb0i1tLI_vhMMzgqTJ$Pp`I={>ColTeC`Xg zHr$+71sR{g{LW4{zH}W7%O2{qq;2NS;tnNt|@(@|xm>$}sVH z&Gkz~#w3^<>}YkW`tK$hSTSFyCx1b6{Yv2bo4^cUr>oyRxLBA$h3t9LVb-wI<3VyxIOO!n3L>uc~rj(FjY$0^LoN0veV^J{l>$5 zR?41t2PS7}b9-rg3&CVAW6!Gs)0UmCewUEf4W>p}dtP6d6n45i+V3aB#FVq=&4yXW zPM1g5%dIe*%A4~V!X1anUcqs?{W%c@m4KOD(Vq7<%yo9UymaKAh1r^}=Dy9DM=HFKVKy;aA0!$}9eO}U@$K|#%7?$>l2m8-hncotvJ zS1Z)B948(0sM?>Gp`c4J6YDrmcRxgVt6?hDHRr8Hg_2-$HL&M3fcc1>u6|FUepw$2 z^~`8!&ZGX@0`n<5UH{SgI100~kv;Dc%-`&Ed2~I>+8FnfIO)*!AAQbRu1TmT0p~-f z8V~xMe*w&zrhcayU&=cSldGBEsq%^-uK`TA=6Be^k^0Iae z^*oD{4qg3dKEDj}9y?v$%W!*O21l6lYQd$ztj^$6vXG``E&;Hmde z<Rj@qHB-v)gB7|f)u=K9fitby6Z zPFKGvaG$`m>SnHA3|t?W9qdBz|El^e!`FX;dAhqfkH%v$8$9(Ms=O_DWhGohq`AHM z;Ks6X($w`kfETC3b?9Nv>j;+&vm=93)sL=k7hz8KH0Qkn_W)*PFUL{)ReALO{AZY7 zd;6Vg{pP{y`q9sw$FgzK^!3{fx2K4$im)8wuP6nr{AGLQCOy?2yyeOEL zGdNWqt&eRmt4G@Nw!{3I!Kw0Se-25&=SVo|FpbBzFhxiCoht7TGHSs5k-_QuFZ*a* z7jQl-SCw}JFAjpKnCN%9ye2RcGdNY=QRK~q89c_Gmjd%f2B*rS`t5~zKFOZ92IfKr zr^=)H-GSMcY|lFdlRw4pRC#p&R}p4^2B+)4(=Y|bn)B#>qY})X3{IDK5+-k|Id3)c z%ENq;!RhkO!W2p~=TZHt!0gN5ba|&>@~4~gHXyGe%vTwlF7Gl-sd45!s$V^rBN?17 z?-ES$@#ehM$g2%=EQ8bK{Qy&Df;o@oO9PnW8JsTfDoojl=Dc;tdkp5A49=f7DGo1t zk0N-y1rs{SoVN|`QJBv&IDel1=iOm&7uk3Vz=LXioX6L%!R?>yl$#a*ugY75>%t9~ zsZ$)6N0YY)uH+N=Imwfb%c;quKUdUms$=lfd#LJ1`*R#zrKimG%Yt$vVR}97INk4C z{EIindtp9&#&Oh7{`O9EDuTzdIR7^@)Kd#59f)`O&-HsA^uDJtOmDYy{ayj>lS5&u z%rdv501D~}GyGY9{Z##O1Q)9JV5ZISJAXU;^Pn-xJr0v|uH$r{3$#VKRbY~yH`kBW z?-H0A^BhOlOI7`TL|$u{D)SwuyKkr8Lm3XUf}Jjp`sGcS{R_4fPaUX3uK|GlHEikLouTX3|UcyfrYNv(x2K{l13zZn-@#d_}0IE>1dhd1vri zGnj%e+w+>ij9{nBqx+JvFs)YF^AcbdveV^J{Z_(^d&Qo&66PQ~UEU?+9fNsml{v2s z+*z1ns~u;`s{oU2jpKCdm*#V8m_&BEJZkTFm~Ly$^`pG;Fss?=@-D$`f|>oQIgj?g zx7pyS_fYLuRKJ^W2iBR}+kq0+JH{J^2UT7%RJ;RR>}&SCRcuUorI2?OF53osUTZd{ zJgVPwaO*eP^S)za%A@*K+7#;PxY?dJgN-TgCSLp;ZpRjT-fwJ7c~|ga<2OP*CAQl0 z2C^~b(eHVzfm{5hIj=O_F_=5-&`rwuLi_2zFj?Pn@^trMlvfR=D?42t?Wg@2M&r5+>z)qJ( z`~3=-(L3yU3t_gi)8$=4-bXO6>@?@m-^=tV%)jh(dDMT|-VgQU`@o!+8+nb{;Hmde z?N{_ZAOf!ZE^{8;w|8aZq^ajK{hV_kT7Jd2pkC6Yk#w z_PlbRIL4GW7kRbeK0Ij8`+XQ#`f-!u9hX6_k#-gcN{>~wjwUws2}`K&pQJ}=2}&N1E&#DnU3MEhxZ zxcc9i^XUD;5SUr)boHbAg9R`N=k0k5V0N+7<{oeiFP57l_=!7HucGJR*ytIWnpQ;#p@HG})ll2;3^ z{P#|oraZd8?*rH9vblcr=f$I8US_B3Kf1qq4d(4D<~-W}&cXc2PL~&k>szKDLOtQv z%z5;C8MR?%vD1Bi)gJ||hxzYEa~|EVmH){xc4)pN>M_VweZ)boDER7s7Ah`g_~S(|ul226^#p@YH*##)I~QS#VLmn%hfxv)DLk z>h(tZ{YJP}zuEH=*qHLD|K`9g{oR~L`^(2{OnLPA_zAdGcg=b9=f)1QG3C*Ia2xLA zALhJraR0I~<4$ znDZ*awT4Mxhh{0Szx4hs4Q9^2<~-`ZcVJGl)8+jL_Z`gP|IB%DaKFOzx$ijL`mKh7 zX2HDkz;U|un})nB9(vV(sMcFOA+dPQp!v=@nwm ztBCJ^9A+&$-G09fZVyaKHgjGQ+%lMKp?;^TAN5}in1NxA)9qJtk+%eLFwAMXHDvY_9o@(!VX9bj@7_B&PH=g4~uCUX(T(d<{{twvr) zm>(Z;oNjz$@%`nBhIwY;q(isAR6^bgnEj8M>qqx%H((wu<~V$tvVI5fLV1{VL2yHS3kUk_!2HclS3lbS%2W*VMBt=DS3kO+90C(v$#J^*OnEC|4zSbZ zU4c6Tv%9iA?;cFaD(3p7qkeT^UaxA;y9|@PnmO+t>Q@4$P<4A=Pnb#UbnV@M`aKU* zzotEJEX*=?x;%QnzXfJ{EpuKmwBt4#JoO%`^+Ds2vv!#0HcmQp^M%$|kvfj?LOkg5 zD#7KfYtAc;@2|(kl(z`&?F08yJ#$`OgygMnuis9%GH~bE>e@?xA6e!G7&n}Bpc=~d z(tK$F^Vnnd`bDv!JUUeUw;f+kfh*V0p4WwqH_VVX1TJqQb6$0Pe~!s=_cJLl zVNL9LwP1#@)8*067e>HLZ)(olhWc%W8Pv>i_-6u?{Z{~a@4_5z?l^i>?e{zI^+#HS zd5+?wLzhSQFI8IN`qs*vN8{G5HSQ1EnDgo(Z!paKw&pyl-zAu(?aX=U$omy0zJopQ zU6{m<<~+JT{S@X-ggLJ#>esqcm}e1AI&}BXbp3c6=Dp62)2%mJzZcke1M#3*AGBZH zf;-X0oJYUk^bbs}u8u=BlzB(-^~NySyP5Oo)jDkO)O)DvM?cSN3|FYTJ+C<%j#Jj} z5?*W%S0U1zNBeU(Hl{qfUmFTnr-wO@K3^LMGl8A1|LA)3G|Y27&3VV+-h!Fl+i}^E zuj;=maMxfy@9Q|-{RZ8~h4ym{o_Y^e9*u8)xXWyH^UwSFc>gd@d7O0U+DmygVIHv4 z<oj=t<~$nDcs8ayTE7$ErY4&6Rv_ecnAT$)r+fcP*SBY3b|;zh z+92-=OvPlsQ}tf~yo^r)&I{a$qb^e|5eoOI~wNBc`9n0xGW``as+n`q8kguDtcA51dmRYhL*$+&;UNr$ezzvHzQFm)eyoNj$k z-XNHn>~wi_zcC+X(G+uDH{|Vx$^L}nu#G6kw-WLy!9+f3&ZG4p2-R|9S<8z)U&KkC@?aOa;g=S@aP)~B&g;-tg$`R+ED^V0-*(~*bMlvfM&+Xi!K zhBjhM`f~(S?$gi zTFthX`vlBtcDi!cqTEd|UFJA>y7@N)0i$4knd>-uRP8U6*Zg_(Gfp~mdCwy6KFrJ) z%z0apaSCR}e8*8gtLF0tf_3Kh-bQ=#uMhKN*=TR?3ovi9Gqra&%oU5H_WlA>V3WE3$d!O;t91VMmWJ!b z22Z_*YQ53*JQ?o6W~W@;^^)FCSKQ(lj#I8*dcV*R?j~DZUOBh|Z-jXo;-tgZf3Ewh zn|Q4?OpUGP`cYnAn91yPd6(d3z{I_2&MN~q7iKFv-Te^#zQsP6C%2jN=+)QQ;Hmde zjR*DLR=AkA%y~`WX2X2SPS;+#|2qn^`fYPwW4J>wncs1oE^jAXPM8DibmKc6?j}s~ zb|+7Fe~^fR*1-JlJ;%{?!N0%w=QHI+z#L(x%S%DteVC-3uDpqH(dp3$;e%e?#OC4G zTIQ+MvPMdvqt6B2hWm&uwg=P?PLX$Bn0E#4wjeLp`%W8d^(zEdhOMc7Erod<;d%@5 zQiXYw;bsc*)(P{r!0i;|of76a2*AC!-aWCaFYdj%Y=EW;kF3! zJ`?60hr1xi`&XEkb$6I24^BEv<57c+ZU1Wk*IJM_Oqe$kE?toKqA+hc+-rio1H!x` zaAyR0e+cvL!)5=_J|30W*v6w4TvI{bKw(}CT#`F4HSjt;43(M-bCVt2ueHn*sk}~m zK9cPlVQ>Z5`sS&k+&VBXvNM(Y8XH^xZH4=Qt*>0g{l*z#-X*x3g1qb>%laiBTnV$p6=7={j|RfL=5U<^ zc_W2+DR5H+dCP@)YvHyE@{S1ePQqOhZfE8jo6RZ2Lh&xVD147-8Nh zxbcF#MZ&z7;Wh~JJ{9JD33pDAcTbq-*@xdB!f6|iDr{`yQ3tNMAaAfRFAgq6kT*}5 zw*+pjAa9Q_?-1NcOI{vy+8vn8`<;Gvu7m3L(}iHlu+yy%`u&-fFcATHd4jIz^m)M$ zm{@l7xdlEy2y*m!?ieOEAB-tVUeIdwapf}6|M*N*YYiRm$kT!Qm+v`wx&PtiOc z_vZ)He_P;ovo-bKQJC}WeC4|C52*kChRJdu<9G!33-w=NnBweA{a2CA!^Y|QuSSql z_g`bU_H2FaQ1oA%D^J&d!{NrWHTB!|h~ix-UKw zl&5aTNw`aFeeF<`dmm=#ry2VtGH5@bS5w*e+o3LZGTcnIrgGQ8WIbpvw+I_sxuxK$ zvGtYfnx|A+Ct+SsxS@i)DZ;!NaPuvBG*7p}e8kSQE|0@pu;kG^{TC+FA*Y{B^E3w= ze?R9@&VyV*PCX9_!Ifca8jqI3ypC|a1$n8$yvcAg1$pa)d0XIi3i3_~^De+$7vzN< zcE;8}ZtC&K16Pc#X*?PW^IF4o6XYcd^U~p-66C!i%zF*)Z9(2qVcr?IEABkk^_SLH z=FbAhLv{Tnk;Ub7KTpX4SD3AD+!W>3cjf8IZQydca+||-5|lgAm8UB=!R2)2j)i+d zQ0@v>p03=NT~1f-I=F4_auwH)FNJxh;Jz2+c|H%EFS`1L!4+WZn+J;e)e+`3hHEd# zixcK0!c7$9EfMCu0=G$!cSx9b6z;qr?{8sV<|FuhTby*5#-kb=FT{gxeCxrr6yyyR z<_(8SwdB$L#(bF7>`eC?+hO)t^5}l!0?cK0ru&Vb+4%cKeZO%#$f>Vy_u#UAVIPk& zZ2aY_^Qyo#5ajh1<_(4$Dae~C%$oE}Fz*iBeL-HaFJ=2*Ik;ME zP3x_jFt0CMj3DnRVcxTFiv)RZ3-dmJ`&5v3MVNOJ?w%m8&{wkYC;?Z6t!X?u3iBf2 z1`F~g3-hMI%@gEp5$0`&+at)kAk4c8cSn$y=csHviolg)YZ{N%!n{s!eFb^x!n`SP z&kFKh6XtD&`#_L)MwoXA?xrP=KJUzaOg0{c;L5NyjYmsiUPrjzmOQ$ir@~BQXS$v* zfmv(GqwDz|m`~W5uIFE|@n2Wf*Yo2+PJR772X~dNssFMbmyJhGxFT##c@2bl&EYx; z@`J%Fnru2jywzDcn`Ix^_^%WIc)ZZ#d~N^-Cp~dhB$0)Gs|@ z`mrDBO8L-rvH!%wJT5D(h-d2lTSc|(PH!{Jf|dGm#N%iz{o@(Q4R`(RG7GtKAgFn?I`=;v<* zPT}WjIO%Zm@&v6*`g6jyVLG#;b)cHh^yf34V1uXLL*?jtK0C;%=lv46wQP0sfb#YT z^Nzrs5#;?L%*%Wl^Asl?rutQ5p?kKp)Y)$iY9?Wufy8feix)Ww^Kwj`XrJoaj4f72<-Tq9Y^#dC`^&Yx;`g4#| z&(pu)Le9A6fnq$$vUymp?(@^~E~lF>)!`bs%XN(h)vBK`FA8q7An!S0-U7Ilg1lYA zy!~)r3G#jx=G}$Mbk;R)iu;$6FjLt%^EonTpQMz9Y#xrUZroPDz0OuQ?nPbVL>(oY=t?YFB0rme* zHvV=5?=RFFyMmm0KiCiV6S*L0k2nOkT*e?Hx+J}rJHdZ;seO*(R)7{6m zg^OhCtDhn-NtibtZkix(wJ>i3+;&0Uabey$xT}J^tl!DTHz!;Xwx<4TAk1qH*GZ5! zQka(lH${-QT$r~OZmS^gh%oOY+$BNYePLd<@A2niaMEEKk6LWJ5D&Wb(Gae!ATLIk zHwtdNAa9W{?`60Rg1k?Kd0)bv6Xe|!=6NpT&&A-R!!#aM*mxlxbmLJ6uDKv@urMzU zE=7j^hhkT*q`Hv?|IAaAQM?>)GEg1k$@ zydU9y7v$x;CL52Ua242^#-pt;uM1p%LEd;_-ji^%1$i5UdE4N23-Znh^S+1sMUa>C zN7;B3fGfq;G#<@`dF|nP3i48fc@yDg2=dkn^ESb~C&)V~%sUVFqaZKaPqOjI1y_`< zX*?PV^IF1n5#)^$=B2_tDad$33(gDb$+G#+(?d5z)P z3-aQGd5Lfn-Fb?izb%3JgPrN;Z`p6i`XwJ+3AVa^q0g_H!gOJ0`uu7bOrj-^ejYU& z<^^`9pGUpK#(#eh{5co3^yMI@{##m1+$2qX}{V4vz?u;9rXG5ahPuc@`Cpv`n{W5Fn8JM_BHzZ zEgrDJQ}3bsygl1(*?8oGE5X*+4#nr=O>l%oTQ~`Em~?>#yehfaXgXn5yiYyx{plKc8s<)5+o}Zzvl)^&YzU zG9t*SuY+lDQ`!3Fi)-BI=QAsXc^l#0b>}JO-w9Wq?&mXKtDLKTGzzC(PB%|4!rfr2 zYcJ)6-;u4iyl}~#Axeg7~vR4yIf_2#-B4a3)C;r6q2>KA-H^3Kzs zJoUP~2zP_6t{vWa`nzzR!WCz0%4;IbYXjF^kT*t{HxBM;LEb81-s^Dh2=a~z^UlKk zAjr#dS2i9w;0m)fjYoZ9UNg7|OCGJG5ik?jnby%9n5C9Hx*oj?^HD&a`ucVp=39%S ze-G?eHhAhibl10kf}DCCh5mtk11BB2ex~bNZ8lzr2i^6f8C--rPjP)4;mXrp-x5^L zb$z388x8k3Thq9`0JDOfuD!JXy$|ydJJbGmh>gErFuscY?{m1Se>(ka+W%Ux@#m?> ztpi*yw!U__%H4*Lu`s3YWgOqgp!Weq;99`+V`u8W(J&JN@=!n5c+k9G4D(7r9{R=Q z=)Uf4m=7(E=HD?kc;O?^Z^`EPLRBryiWcyV~xTBurIyzH(jdpm`Mm(=#A1cwQBR8xHe0JO1|^g61Fn`ya2e!Bg*{n^)U| zoVp!*;Eu4>wS(r>bz$BgaGC$fxPDQtt6wOu6dR`%`u({YTth)#UtwMhT#`FaF;C~Z z@^t(CJfWK}bT6u$Vm>c|`<<|cDIgOd)^K3NT>Av@hXp!wVvCMqB=cs|qT zC225|*y*lE^m)m2HhAhibn|(3kWx24v2F&vTdFp;%1M@mNQ$N4O#_45#-{UHm*5%G1r*6jq zxT9=+?NIddFRnaQKc}GF+i=6~+xs~kW(GT_z3TeSgIUhbRKJ~U9`=j3ey)C@T7BSh zy6e$CxG&x1D(2Nqm@W^@?WI?Tv3XcOUAZIS(%Jgjt0?zHm^BS^IF1nvE!;PpoLe_z8~vN(F* z^E(?n^&Yx??S7C`&*$u!!aap>(xK~TTEF$!cp)Bi^Q9$R7k8dw{f=_w>8^u`D(9L9 zG;T?7PqH*Gtf8kwDbHm#4=Z2WoZ zaq9%vm#wcIu5z~_Bps$)mW<;Y8FZbY_dTs)2C_5tUlPpZfIQUCH6B#jGMF_1d3k~y z&HHy@_E;Rvzmsh6)O+aW{iPtM?!TLG_t^US&(#hpw@_B6@3>g)ye|V+gRL*mHSg*E zyNfGN_r51G$f@7=^i(-lJ80kS?Q**HI~Z;xTVFd|^J*CKX2M)$r<>38zUOb4Tp=0f zy?Q*#z|>&pE7#QyO6daACm=6)UeWuW1ehn;ncnxj#s=TwJ#_PGN03vuV?W$iY<2CR zdG)g}?=QHJY)=1~^2)N|W@zVWO}Hk4yaB?zc(}3dJlDLZ`SF4)Pq*JM5W0mzw^-#A z^LZ)UpKNvWnXWTALc=|e;-tg0Pu7HK!cI4ClrjJ&CLk|(KGXZ2@i0@^>8?lgzGo&I zJoO&B`TTs4Q_ts@;MTMCwL>w!`(1ge`|)9@(I;@_!!q_?WYBei`neHIM1WJ*ZwO2R zJ74`2`^GGo`2l(AeqIN&iJhsRx3lqfG9GmOyer75+i?)?1Y2J_6#e|GD^JzWDX7nH zaIxX`ex3j`i=F9x&jOg0>`e9B#pYqZcvj(Qp&k`r4}~cQMRecDj9o$_>xq)Xi3IUby0HedQ|puZb|P4P19Y-WXxt zIJl<;d8>qZufx3~$U7#?I}7)NATLW!*?8oDE6mn39`%KJ&EO&gc_V~*$#9Pg@?H|= zt$}+(koUPT?*!aMLEeADypaEed-CF>!!#Z>+1S?GV{mN*dC|hW1h{d6yoJKN6>zT$ z@;(vfeF1k?koTuB?*UwnT=wy(%*Hkzwc(lx@&*a>V&RendCv>;7Q?L(byRpA~Jzg1j5Tyx-s+ z2=a>OkzJ3^ZLQX3i6&7<~;|uSdjOQFmD&!K|$UR!n~j1{u1OB&MO;_ zl5kbon#LnSnAZbth#>EAVcvAO7X*242=m^B+bhVsD9pPC_nROuZ$8<0JOWpqt!X^k z2=h9_^%LZc6Xrbu_naW_bz$C{aJvL~XN7s+!Ts#cbG`4mjf+N({NbK|aMIy?z83sG zo<9F8TL9M&oOGBzFX;@^kDYGZC}kYXlL2|^_wg^nEMup8A5VYp>RL8bKRR^pi6-x;106&wL|ef{s&i{>U})*^EJ5B1?~O(049GSdp}o%smsn+KiB(9O6dVJFd$Fe z&q*-p>`eXqBpd2uI&}R!C&;P$c`4khY<=xe^z&XIA{Vu2bT;OxK)9!Lz{YUTj z?+Ww&g9|V0jGM0=ioA+!yq)LmKXt#bDSP89P(`*0M3xkM@`KK~B9NyaD$3<8 z*Do(zaki%VH4)~uf$MI`qwyUB^8`E7_%481Y00Dcw+m(uJJa}n#>U?-!Rv#@+z;h0A=_UH!pw+aD`8#)TpvMRnlSHi zxLJa{^}@V2;NBPHofhU@gu5Zg3oj`fkGycj+3LoF-ZwUZ>CVoyKgYr(Tk@!8&%-PU z$jcKnujuFOn_#xF)9vH*bM_C|;Hmde-AB-R+Z*ICpHt$Z)1&zt@gH(uz@265>lelQ znLk~5y7x1GxtwmDXDWsL1t%T8auw^NDjP4vgD$TwTnj03&OmmaIXsT z_6qY3!+kBt`%Rel4_s(z`*@URV;hg^aE%0c{e*c@aH9oz&k6Guz^xSI?GonghxnXE?lNE=JBBW$&xTN*_rmMHZa{Sd2~NH1}2rAZXcrcI)#mY9$;T{-5+eji&Noh zmd)6X$e{g?_T8>9(dvrRD!F=)|A&%m^Tz|lpya}VcsIR z)$TmSeE!Ilr<>1vgl?bE9Z)&NeEt+}d=>kAUIep&ooPPrhB*|Fr=HJOVQvNFspoT+ zs^Oj@IO#CW=ay`|5D&WjxmS==&*vz((QHlg?>S-KVz@PeypM%>pTnINGUyoi}v%43UGDUn%WyF%o_|h(w(PR zA2VHfy7lp_(9IUQxk5Kj#|XhQ?K)O za6Q=S+Ch2A!o0`fW(o4v3-jKB`%sYgjWF*T+;4)symj6EtnRpVi}ItyJ_q3f=4ignZjZb3c!I@%9&nw@DK-GKR%ov;5~`wNv;uzt9w1Wr0k*ULIE zUD%n{(UWYvfq2keFP8*4^*mS$x0S7~9kh;)2=mUsT@mDEZXlbdx!{VjHPx@7Ft06K zq#!Rzm^T@2raMouj@G&IbnECfq1zyIn}lwQ$|=^-R=8gtv#+C44RPJVNr!12b%g27 zPB*@kk_z*9Kwj|mgRVy}z-(k^T1Vfoq59FGTSvbIIrTbv0GFeY(_URWXdP8%<1N%% zt~#$iTq{9dlrV2J+yp`1VqxAIxHklOp9}L&!(DdgDb`V@#!eqU>_6Q)$|7_jLKiA@ z;VS34F3`_sa=<;x*0erq!Zcy0n^!c?2fz$vXZrcfNH!1qPc`r9K6Z4FQ_s^hxT$P) z^`pF%!o2lxZwd0g66T$TyDZ4d)Fg0T>D~u~!xdy}YHwX(UK6+ug1mTP-Wa$^g1n`| zyj5_UEqOGb55t^gXPVDH!~A8*qxoF8X}G5tPC88UxdIz6#Di`=R}OOO`CJ>W8C%o% z4ie_Y!X*pxo)_jVhFc@Z`&gKF5blH^?^j{oUvMGK%-2EM56ZIfkDGcts=_@c$m=7_ z8v>Ug$eSh1djW2RAn$!)-d?yb1bH`vdB4Fu5abnaF5Cag!_{VMS|8nodHvvG1$j>k z^PYoSEXaFDn70e=pe2v?zaL=kvNP>};Vp3ez)6R$|7icK3)7IDY5!}@#v6zS-Tv1u z$f?&`SGWOeb@ik5J3*K?6>g3@&-K1y81gp4gtv71#p%DupwF|ZpNqp(4{+*sw1Vl% zPS*}9Z8S`JKwh4pa_RT*o`spmPB$L(dw9#(;HmdejR(CCSQX^d?br;rgRQR}iu>ZP zU3uR7V%L2qjoWFL)7|G>guCG`SCJRqO15w0g)7e1*A7Kq6JcH(xbA|yF~YoYa8C>J zRtfW7hkHkmcTAXf7VZZ@UY6Ff@yG#Jn5}6%>I?Il!9@u2MhNqg;T{*{y(G+A1NVj{ zkM@_(VZLE!+Q)Cf{A0t7|Z~1M<|@t*q_BJ=t;6VVZvh*mxlxRP&FnTZMz1x*cWVYO?jU zLvh{e>dMnyx4OHW?z+_vF4kSHtN&;nJuS?84sNj^?;T;@F1Uk&ydQ*lKg0bc$Sd65 znFIduRgYUqxTD0J72l3c~7;v1#>STFL>Xe_m??4hkNqjq(gU| zruUb{*mxlxbo)!$Ag69eO}Hj(eeF=}2LoJry6f~Hm(#8DSh!?&xvu`Bb^g3CZ!z2& zLEgv0yn}Ej1bM#-^ZtSh>EfEFiuRUe;~!u3xK)LFOpw<{m^TD2!JVgAN3&qAu`{is ze_(QSb=qsXPM3tK%FZ|cT>U~R5imUi^3>~SI7}it(>fZ@#^2Aud30TUBFL%7<2ks+ zY<=xetfO~adERxT=;wFg3UUQja+t1e54n;qI=gQOVSC?H*w_n|W`_o;ntN&=fD%jl_ zGk<&4?I;dcnXRuKio6cOyzX#=1bLH$c~8SVFUZ?0%zFp!V?o}x!n_~ges$+5)=}JN>T!D=<{fsraih|X!JG@oQ?H|6V18$3T1WTUcpHKT-E}{thiv}k zg)7e1*AB%xYU0Y%?N`mUpqb%UI`9WCHGv-Pz@(a#C4Jl%dZ+U0cnRT|t>ce$?qqy1{7FmFBFTY|i= zgn6goE(`K9^^(o!aJYhOef_LxZ(U(t6Sxk7ym(>W7`RF9JjH&s6y{HMrgfB~H-3Kz zCmp8ytC}!P*y;L(QU<`p1mvmL(Ri3C>`d!uCL3=B@u1tUo)2>Bb@US4dbYlHDAv(_ zSDtRa`UI|gpN#z%sl2~x1QQY9)b$$zlfcebKiB-D(q_TT56DyZ^E#MK>`eW~gT-&{_&U;P6Y+SeHmU%9USqy4Hp8-IJ%?WhjdNRZc0 zm=^^%T9EggFmD0eNUDG!=T0w7Xo_I->WDQ(<0UXS#m83iGBVkABYi1T);2yvxp4uB)G^v=cDr1M-6B6}_Ln z4f6*(UH{SNf1ZI(8|Wz=s{W&S8XDx(?Z^*TlC7^Dih0`1m8ZL|wt!p3R@cw;bDVcz z4hA@N{l0;@#?DtiML&lO!oTZ=lMbg`bw8JZsl-m#&ouw)u<-`sLD$cXgPgh@?csW| z^|eFM&nd1v-F}eja=QIsGTcmexr+6%4kqj1jQtlGbU#GnRs^P6fK#`(B}^A~zV<4{ zZ4^veK%RQsX2Cqq&NOaI+1SQyRghD+V>8?iw!U^K#_elYo^E}dhI?#?y`MY7LH0Z4 z+$grDedtM;7XzHSey_p2&CXXpML!>fIUA6t?&qIjeq(3q=l|H)`Z**juwQihL0-7x zY<=xe^m7weo^Bs%=5o4n+rjm4m+R_3+IN$Mc@yBK3-ZYtVcu-GC4#)| z!o1yZhXi?7g?Ycg{Vm8VGCFYFbmLJ9t{Pj@cytox^@JNL$eSX}n*ldpkhfKs_a59n zOCIe9mtbzQbM80P>nLktxF-)zI&}Rio>DmJFs+YzFfG~X#)DFZ!i)&WQ?HN5 zVV-7ZS|4-Rcq@np-THVj$f?)ID{!0G`r4sbABS9dy7lpy%jwp~akvZaauxIWUtwO> zvAEyBNr$f;io6LPC-XDD*Jeq&s!`xwKnt$2SaKDC=4qgAztF>Snv2*f*=L_AB zcZKQ2&NTmqu%UA4(Ct@oK~6pYQsAbr^|eDW|CYP*bo1|Jm($I^b#U9<+2WAe7Ww*)6JKgE~guh-^q=0#?Du+Ydq-Z0VUXY8|!Va zx*ZkZ>Im{8g?atq;sklqgn6^!mRRy={%wajz|J)P&cIx;bqgc%f&r{1rUVaBmD&6lZcycNWQ zZobS6a_af=BHSx%eeF=pm))*B-F*4T<#hAqQ@G>qa$WsL`_*k>-aWXi6PT1eAfjz_4sas+s)S3FN*O! z=gQNK?|GNgjqeq>+wO8*<3Zz_Ymzf&++56Obvp{dm0{~^ha#_~Fs~zAZ$VzFFmE#4 zOhMi{Vcr(For1hm!n_M`*DZOpKEfvB-!H>ShiQFOgK5Z4Hy)JI7bYqoPrW|UU?#CM zt&iz!ycNWQZhg!Sa_V`t1a2)`Upo}*V~;COw?6i{oNhjU26xI`u3|p_F3kHEF6?n< z+JJa~CVPhNL4M9#lzT4sUu=Vwe zVtg;S@>JtX{dWoOHd|BwWu1c0hj7y2E7vt1^lA;5$JjY}>i+8t(}SI<{|2$~7K{ho z`iKc~>i$cDo6OeN4n_YhbLHv!Z#mp1wx<632<9_(zH$})_an@&0eR~F3wZ+f?KtT$ z^{}l^z>i(+)SC6f)9g6B>{}A6+kdyPR%+84NelU9PMDC~u}PZywxo zLEcVb-X6Fkg1qa(ygP9B1$o7ubmoA6eAVMt4z3nk-?%CIubVKhFIZH4UD;Ho$Ec`&5|sCEPhd-aTQSX9j+M2&Zj4s<5$*M;*B4 zg1o`Pyg0ZNLEb!J-V(UAmOT2o_#R>25x6s!Ji5RCLzs6TF8ed~@uWg^d^DLHB;J0bFZK z9?h3w!n~1i>4Ll$g?Y>2UK8XU5au0$J0r;ZLzs6TF8eI=cu@aUVq+VRT5wGTc>{%c zF>pzOyt%@>MR2PHc^?V$K7~6j$h$4fy9bx`S^IdDVPhMQDsT-1dA)^sgW*OB@@5M2 z=D{r&#jYlQ8dhR^eIx2#Yo-m^VT+5a#D`xih9{50J;v7A4^Tga>kKo3owLs2;-b@|%cVYy z^VGz%XJEFob3T`ExyPMX4(=nE@7ejvb>)%!1E%QnPFqZQ%o9Am)L$op96qOZ<;B3A3Ub(=UG4x}!+GxU4R+KI{|33>ax1{y z4|2inpr4nOd%<0<+SP+=%hop@u69sff0&ULR|#$k%sO`T_ZoWpIVLR)Pkl$E@0tI} zQ+Xoy)NncacZ}S}Q+a9yIht?oK0C+-w_^|7b%ARRw`qyHy}|8h1oxxBQ9qYn>dp(UANBJLfg2CkX_-Bb z=INdw7u*h-r+);w;QBoVH~b}cxxsmKn^)v^ z!dw!#d@FDti<1shULwpQf%_EZ7lAAFGOqhLP37jni<8-SAs+ne!+!%q_Zzd}wzBoz z=Xlqf-_hT$Km|=Q-D5{;)VI*Rv8of5S;f;Puj`dkEfw>}Z_h5>>;PO>S45pIBQT^(`^kwI(pKD%`8wE3uov;5~ z?V$VYEim7(GqvLfn7;y@a-L>cjlahRCmp)>QvDu*X~xdfjvg@M*y-9q`^!R@UF=Nl z_yp!`pi{QvGR!TDqjvlSQ+$nmz14>4!%o+ZZpcf6*~`vp2ktvv<4g1EbC`<(?%{PI zaQ^)S^B+4?Kj&Q=?x~NH4wH+38N*K34(gXVFmJLmjmP^iUj#bkc$|j0Y;jcX&oFsk zwYQ@@Oawb!I|d?e1k7G`#_@o;7~q1(gZ81HU_#b8_4AeM8eeKhS(py&Oye;KW~$q{ z)_E`FErhws&eV?EFj?0-_2Y318V{O(xnRn$Gu5vF%s_U&_PXjf6nPV2PO&r9?-I=K z0Z!e|_hE{@X7A^QFoW5d+K~dY$n9M1=!bS}fO){q)Q<4iv2Wm{!_?0eVVbZr)vr5D z8arJ-(|le4bAz3!es^KQH<;^3^Ep3EO?JL=74x|(%vg4&c02>K(Vge&XPPeuVajjJ zSU>eXSrevBfK$(xt}qGgOzoHjvzeW#9UsG77UX5xgm&Ph!&Gh?m=SL0>X%N)cn0Px zcBb(?3-fb;3+@+M=YPWF*zDBL)ZUUXZ3M0#%;W5Q?RB+-ZnR#4$+^WozJ*|_1UPj& z>cMnmXKKe_n5P785zJ0@x^^@}J5Isme2TInC|RM?TCe$ zC2%WXK4zzD#{|^xTbSNkGqyv$-iE@Y1~~P2Oo5rt&eV=|Foy*0JefD0`svz1^Qr{Q z0(PeLu>$7J0HEw{Y>r=m}cyB?V#}(1aq97sU7EGZU;DZJN|~r z^_IPUWnkJ1+(4Ko+3DKR2JLtm<{~>&JAQ)sFTknW5&Aa%-87tZnEJUUOs^o99$PM= zD_thNM;IPQz$CMC>PO|m^$v8CV4eixZpxcHcHBg)Zjn)jH2 z#~0x8zmu^Yd0N+Sxq5IFVFn3YGR&(M7m2(bFrnMc<+g--6lRdc^@mG_IcRZh;l6<> z`L4O#IJmknO9gH-Oz!v0c_Wcm7G{pcCBm(O$+5$nN1yAJgn7Z@DDPF6+&k@gWnmUt z9L7^?5tX!&l3c5RCGMZbeP4bu&#HV`l zdCKLDiW(mq6`hWbh#8k2pXMomuZ@gPOo>m;_|%ViHeI)k4{L$yeXGAH9j#aIVH`D(^G4Ea^q_$iP5p~Ba;*3;#1Q+Iq-$V zg!K5-=)^Q{C7f}H3iw*=$kgPdWdGOjL2O>~ao&=Lk4eWz z-sSR+Z{#h)sb5t5#FXUJ^!T{II#4z@ASXRdjUJJl6q7vB<9#7vL_&I+Ck!vdCyg89 zJc~|D7?I=&#n;m42|4sj{KRzUsdsd}o#Di$d8?A_e6M!^y?Kf8gej0Y zH1At<`|3efxZ1aTX&5R$Xg*h|i{{i!t zCT~Jg!kBSmqPR8*$w_#My>d)^Qo84mvBptd64KJ6l9J#R^M72qZGsgr0e@r11cB?k^PgL)bsc}(h<6>ju@w-cf z`Rkea>vW$QhdVXgSvlX3g=5`h;wSNR|f^e6238tJSWL!5AN%I4<5hbQHr^ zg#X`Sd@0n6Yf#IF*OiEFeOq;jXdBh4XNNvr+jZ;hDZwB!UwFE8kLuOu|6=bcz@s|4 zy$~cg!6iTl5FFx02=Nez5g}+Vo6ROHkqx^WqeyUfcPSK#TX88AcP;L&1&S7X=ghrx zS8{hZfl&Eh`@a9R*?VT@%$YOCXU4ZR8y*qn>mM0OSQynl%6To1N#lR%eo@sK}2$pR3=erzzT_jL2rnk&|6_~FqNz)D^;lldYOFzPdNzmLTP|3#jjx03A>Wnfb_!+$2_@71m|Jn8-%Gf7OnkZ9q+JZ6)Z}*@>`X8gH{xg!P)yBpW zW>GP<^&IQ}7=^?XjKvE6UwBg-qYy8fD!?LNphlf@D8Qm$(2GlsUU<2dCpGFS^kNMv zeF>;hKAI$I|4147GVE3~xZ_z~~!1 zP@#cAnLJU)O`y&hpbo~`sF4w+l&8zl6ql&EV2?L~Jpcf% zbZ6`V)J=9y04{DGpX!kVlQfXtcJ{7pJVXg&CDKHg6+}Qlv?Zj-2g8yRi3n!ZYON^j0voj509*uw-gVENF8Ti5we-l&8c)YEGR+;`fHZ zAfyd(wopkZ)5z$+#FR{ex)K75GZF6-sxxAdFkmXwHU=cilt|T3!eXQ!xlHQhiE@WgThyNkMf8n)o_kA&K2m>B}Fvn3284w5X%WVwD! zf?;V*3T_rmVH)m@f*J2moO!cP)2K^yH#RpbO;^dhmU;Y%1?IMCmcxpNz$$($@ zEvLn(^-KYB%xbbf%8ZRo^{359$hkNhA^oOU;I(7Iv*@ix}K)*4W;XK0E5%FBaXK=PZpsp;XhR{{l~miQ(cQJWgt z+YvXd{;KJ~5>CV(5sIHw3M3hokfTh35kO(1_L zIKSNug7dPEV!}r(#ld+@XtJN@NMo?D8y$6ttOw1lgjEjo?Rd(Fli&=|tD5UbVw3biLt>%o15Ag%64sZy>6 zr#(q%4#9L?2t|Cn&>U7+_hSl6JZ=?(JfI~V^vH!vV&}|aZ3=Kbzbwt52~xN$7dbNA zgkKR9SqRSuqfNoXVwgtC!QKE;RtAyco9H3MN472m5$K zIYoFxP*_AzR7a@8hzRixCh8rb%*3Ji!VgAIjOz`bfppiKAj%rURM)iN=hxgQ(e=S$ zdbp~F8G-n692f9%9d#Vy!`Ij7&49x5*ihufSwI&UaM4qVdVPb2*TDo89AZ*Sbm=*0 z9uJDN_^NAz0v1%diz^Ovadpt3(p?-49-PO6N_TNQbYKAy`rMSzX11Bxxl| z5={#|W+|5|aKH$yFpTyxWw`*Zk32!U_z+9OVNsLf1VDaUg6FIQs3{ObuMc}{&Y{4D zLJeaYL`%8q17uG8S}gld{vXkC(L}L32>X)5tbdq)0e%*_NXrPd`*} z*h-we4YUF>*8K~sZ;bo-|3zI1Luo>Km=-PF`e+kDHqoBz1vU&SS)=!Qn8#jP1ZM+wFiZ|vLis!iOk)@#PA zL#jl@tsBucpbT^AC2H(0JulG&hB`(SL%l>3DC#r<9NltfS7;0@jb%Y?1TRq=OCXA- zDNjtyN1$y{K5y*+S!(Q75p78VC15o2!%z#IugTIgxpje|ZyGufrym8^iD=G+iJ%R~ zt1*pyB|^7f0w()XZri{})Xi`b zMGwwdKv{~01*l&y?$PN%Yt6&Lc<(w)Ak4jx*ffMObcjsFiDQ9Ww*l;Es{+|(AB?xt zrZe581+tHR%5^I(N;BD?a}-|4Q=qg(&ZWQPkd(<3c8~bFpwO`rNWt$<%4y<@Bi014 zLN^GxMtp^I8|f?)ZODi&Q_hCMhCl&{BZ{w;;f8=LZE9%2^crigS_^(uL#t-EDUAEh zs9gGIRxTMgz=*WVP2G}S%m;M8-We&3jyKU%auYk|Yq1%mVp@ z^$Qg`iR1wt_i?}iw5K@dRa-19e`1}S&ZIy&8%rz~$@>Kq@^%7O(COg{33nB*(mQo1|!7?UeqW!clI_6F{d4VRa^; z4;vW;$a@Eeh5EDY!-C;-D^cv&OlJ=I%>u&klxlQnP!#L!i$`8r$gnWp{D|h-^D*5N zj>SfX1w=uXCY+e)1IXEJzo5wQVDFBwDgi-(Y^1MuXmAi<85ZH^9}yH9$OeVNg*w6B zzHp4TDO1v-9DgNU5j($$O#*u{yzt2xSJ97& zz|})+vI=T2)8gad3L;bb8}q8Sp`er6%0VgVibTlB#ltxcIJ*JOBcV6~T!t(XXh2XZ z#3*QLay)N>YeTD{W3B8Qt9^1xkdz=qn;85YE!GN0wt0*@0}WZF5si9*wP99+2| zipw29osU22bS{F+Czz?0C#q)<=bzL5SDT(FOY#3q?ac^-^Vi?>5>-|T+{mHAVg=(D z1<|B_vFv(vtOwnm_2Mw+sRo3$XQ7x#1trROx<~~EJxBcF+3N~`bb$Y908^E4gA3Eu zAbNOk!o+b;)3f(A+C6tMoyqAkBv#Q2ut)O^9Th%M&IVvrCstYG;WK*K8;xnRA#iz& zT&0q5rR=mVwJ40Y_2=t$xwd}%xcw;oOpKdJE_sTTr@$?aniw=5;e2T81II^ zD@wl`I+5HVqcstUN{BP^r7tE37zroN;BbgM9`8)Tc+m}50~*4soGV%g!*ksr?$dw- zpYzr@S)xiLr!ui^q3q9}bJso;GZ9H_GUWr(O(2f~c9T02`jMjsIXY@1bi^=TxtdQT zR}s&qKrl`hDIdNsvuvPpc5b*M5|;&zYG9EUbO!VZ(84FXUtap4L1C^RzyQ~Jr`B5Y z;cszv5dz?P8;&vxf4JCGV}Vo1*+#loKARbti1x_hTMic+w_Jhjf?RIF6c+S?HvLUU zCzDHjv?c?)j%Eg18RHVoWVE)O2amsF?pg}N@|zad@r)U_XHf}%E}AQ93f&OCLO#dF z#c|)kKecj)i|FPH*6WK;l9*Z*13NHG=ndux{}>hRTJ$xz4Ut`Ns>QNNf5x|>R);zE zVp~1To*CPZIXjY3?L!tIgzqe;-+(%r^;M+6Ewd?L@24sinOP>)sXc^DaFX0VIYK5h zT*8?nJ-M>Js(``}h|QQW;ff5IG8*drLL_9%G039WT@LKfA~T6hE50>f#)pmy>T}Hz z^GNN}<)lk4RuCP)Mh12ACxIs%o^n!dJAj~7m@nK67}=KTpo_y-UT6v{;zN<^#P`f2 z_w_w%VU2q`0q#-$4#v>((Y}5RU(`;rWGP%a0n5Nh_&M+d{&a2+yy^E+rMNJjQr5t{Sz-z3~=MROjHYOA=%r zuC`6^(i%1ZZ-~T#Wf5Qk)P%$vNqUFC8t9mVC1teSd2s@)f8vP8f&)gsUehnJ3GTvW zc<3%_A;aB14X#3#N-ayqn-ipoT!FJ1E}hOI#rR%8dOqL)VF);)E%y)15mJ8S zd>}#<%FdoLjpG6lNI3J!P=S#{+-NH0jXO`6ew=TCL2gbLl1o4pDN-3!XTz18@o-@` zWH$|vQCJ@r`&_IK0_Apn2yAZGhXCuY4_c5~V%UTrrNq*erRe5hAN(<+y!4?Zn2ZSw zeq1j9hn!2DHj0pb(v<$Li>Oo=QJpRMbwg;)BLN06Bv`+05IqUoLwD)&aW*+cEuNkd z+m8G`?9QViCW*gp&RVDtk!%DJ+~zbcAu4sh3KJrJ(WccR0~>*23C{GU%jxyXg81Rf z0EEA(;36CunrY93@_lK^t}pJ-5BftJIVWz(7(z}>%HnR`5wOw4j>ioOL3r%!^07C+ zOgkfTS~D~!(NWB5&4Nc*8w!^>+#v0~Y`*zPJzNX4yi!tVl+ zJ*vxs@wzOSzoTgJC>m;pEJBL&7tcn|C`|sAl+!ZCxO@?l$PXuG_jD}bn$k)Cs zAk@3dQ{ZYM8DCw%1^Dom7*wqu+RnGLMzPZGI*OJ5j%qa@66iKMRRkuM8Tr)^t+Y!G zbo$i!12{?>kQ+~Y>Cr3thJ$G>7Wxu~MnWFrq6zq4fIjyxu%irLeT(+%7xX7ihSp!# znbtH#%``43#G8c_;y#!E(KZPI!lWU`UkPE{ki(!hS}v}9Bq$PYKjUr?CRP^ajm&f2 z+bO(*hR2=oQX#xK#Dn}NDMtnLgz!B{WnpB7>Gk?5#ITs&&3%g6P}w&WGH!>eGx)<7$%X46%e`d zC5Vu)8{|*W4N`))!>Z*nxHJwD9prT&_zV{$e2X#CQt?Sa%_R)DU6G(Aa!U&?btKMr zbag~-uNCKE-Of113*s@lZUN^dd318Q=3(8gbXkw)hYMt1{`5tdam+_)6rfR# z#u-=_Cyx810{5-^B2;q4e&1veeg3NhGcoM6^P;&v4^$}I%ZE>FX^UrY33v(J3;RZJgG^YPp>tz1b%*#F=5SPSKH?4pnW=to91Q>w5>R)DCqe#>qD3Q& z2odqm>Cc?&3%_X9&ztg|zH0J$^q#(IEG>5?m)=u;4M)5u*iV@IjfMZ2^hv&EVB(W- zW9?qYFr^uD@^&69D)!1$gujP^U%~oH)WC>vKsgGE@ZbtHb8`6>D|Yu5Tq!+oeU&2j;JdkJ&eZy z=`lh{{)QJW@o#5G_!}oY*i=7GTt8+-V8W5f@X(+dP8*wB41%f-c*r_9n2mrVQKaiS z&^0{G2M=keA=_(iaha!)*4xKm$BY_7rG-4)ye%raI6 z7d@C;oX$g2Qt~NdJfYc1v1U2mYX&uA2X|kov7rXz0BC>Y%iF`XgIIbhBQrmk%YM>S zkmA>%-~%Y^{i3Gs?xZUiz7h1XTdWVR#ujR7G~>Ad?AF}D!t}`F(O8osBh0W#tf3?! zK`Bd+s8I@N#=#X`lWTB+lFgynO0i}f%fZ8uGI%ypsTl|7vnUS@gpuk)!v$gu$%Q3a zGeMN5=K@gZ8FyqMQ#;b$fhh%WA>IrV9vu@I6+s9*o-_mbs3TXsl}bsLjsSD8hisfV zIYg*+ATY;~M(*%n8G!VMal9koRd_h@$W($Krr?ZpMI;d=>822OaD;Lza|;wfaC|V3 z4F}YV!4LhxOj0K^W#K%lKaK_XMJkB_b6Z6IOf(04HRAh$i~G(w;T>kD<> z<`$*!2UI4({@$U{;cQ?;Sadj3627E@C=2&(?Hxh>n&Soi2Sx|^!38Yl7VbWPTX-0} z02}Nb9u5Zuz2V2P{1S5NB&V=9AgHO_M~$~1M)8ga0kInp9vJ~LGmwyMwkeW1*@07M zZc!V^5(DQL$;^oM)L&?#S2t>n;>(SK>X*>Qmtz&=u+gSQwR0obWrB=1s$<+ZxGYos z+2gzQ+~VRRB}Dn)Cc;CbT1=SZ+$TA}in?K>i51Y(<&^R@p(&OhveA+L5pe7@DyTi) zv}kk7)e zTqQxi-<(GV5ji*lXWA0rEE{)f23{dDw@CRijPviz5J5GEdnE3FiRPkkHk@(DH8M4A ze)2!TH2|NlJ-X2bk?? z^+l48EV))lhtt~M^r|CX(xOsj1O{A*ug*XGl=Rtzj+~TSYWl9sXHfkM7fm0fP0jH!uz2V>nOGbd^`e}PK;hVw8@zGMP|jsVR#-*T+TmZiwxCclVaB!SjK#S*ubZk# zjw^EXww+ZYbmEJG5HBx`tbJX5z6f#S>;9h%Cqx!l{2Mt-#uot`C6wURfdx-N*)zdN z>vks4rZVO>d@Lz&iD=*{-xa3#Hppi+Dr91CFN}s+7NoQM+ZTn|3Fy3_R;GZCX)*YZ zF)mrq(KqM>#FtZ;7RUOW&-4u^U}7t1Y-3(D{c}Tn$gmfILoQGPi<0u6rV@#CF>KUR za|cu+)?D`!u?e+&5T*<;*ls%iZy5A4#Wnv7DGo%#inFs&oJA0lr=+GqT{wLhM=eQU zI>Yz&lwkQRN||Wr{Ao+7L3qckyF#HNcig6^&_hd+W|7Bdxa~!B1|~N7G9>{c?zeP> zJkApyjyAVgQH^#B*9OMH%jAj_V0XBrHU(>U<5L?V6i zr31z&C8@&mZz_38BD~FzAy1Jik|03{bcR>d;lxZzq5va25r-vK3aFij*Nc*p)6}v| z?7S9q-j1$-B2ArRiLeaxfuM(>$TU%|W-7yvV`}jzso@6XIF|ItRD~Vz9nC81?SQ{J zW6Z6oo*4T3a@V(kG@ae)GK$(Pdbs9a4EV1mJ(Zih*2+cZ;NL%2&R0Y=@yJ$KWsoJ* zK*BX>0y4pqQ36b%h7=|MbRu~r%md{MN3pLA8S&MWHceQ$0vb`a7cW;QfJO>IAIUnA%&AC4>5xoGMMY>|dW)If4xWB=+49`hKI~b_uX^28;B~ zxmQusMMH@=p)%P4q*e~JGKlljZj|K>FfQ5ir0F-Uj^bwjzw*Q$ED(yLH9B&K2+peT z^GMCQfs}%uIZ4$RK1~yhqzG9&C*1I%4ts%b_~LnD%X?I(YZuAgxylPQeBec)%wm>8 zhuKtJ>+K3rw-DD_r;PoZE;)z+R2LxHfn12|K5BIdxKd^&{3raX71Q~vF-GA<6v9Bd zhTPR3a1RMQF#yJE7AgeTSJ5;BL|IzIYR?a`$L$-9Ui)e(`b|VLS!hp24uqLU8S=}c z7k~AlYuJ>RQh5kr{MEP;?FueiZP-uFU@Z|IW5d--&ORf5a-I`8^&C$9CSh|K*m7FV zTm|Sll)6)~k~mf>QK=aP{Muh&dLuq%zHmLv5D&T@hGTU4GvqT|ykCj`@?^RI?4NKD zkid$>O1{Vm6&z3r^nSSo-@Ay&OqJjx=qb5;4?PDoik#nJh)}v#{||CjM8B=3G8V4T zfc&NuPUR=VE$ANH)hnDskWCqph06d^SfyGm=U=uW2eBVEq6}g{p9-M`uI>v?xG9m?dr}z6t?L59j&eUIh=2BuR2?oP@QDbG3DK zu(gkijg{F++?*U7W8K^&Qm1$~dr6$cF^)4mxD?HD%4RG&jhsFwt|J=GgR1g~g5d?k zCKeV`4L-!tW#I2|U{#WM8N8>Bg4c=eRFwWypyGeyeHor`VTZYe10{gC8YBuGTkx)u zIF#T(agg)~42JBiV2sgpVtV@rZ`<)?<^qJ0atNEJiW?CbC+wpK+oXSQ5(S@L@jQb)eK6-r!id#AK+9SVv$MC7HUB9MdCvl2{9;27fTH(86s* zJyVd7IhI(&(1D1#iDI|-*}*uo~}IJCxFM`Sc+8ZSx0gce>J zg)!bCRGM+BSP2ncd=3XaYgDek)#R5#lVoyakNLjeBhL}x7;UW?u zy2x9&knJM!(+Y0-h?7Z^8ek-%A$NGRIo*Ati}p{*q{E{aP#f5spAZ|JqA~E|z|WH= z;-04W2S0a-992mJ*Aaj}$6AraF%e!Kw!?Uw~3t zPGvFJCFtC9QW|}V8q`9Bce&v;GxDw(*7W0TTS{`}P^D&cSWyK+{UJ=fc83o4P-QRf zi)z#iax!srxdqR~VDl7K~i(NlU9da@?N`MF7Cz9z;yS5TP(ccgp<25QcnI6Yd@KhjRW>S-K&3*Nkpk zk0eD(0y<}yqPs$u&jc-ruX&DAA@{q0X$gZY6I|K6TwCmu2>~b+ZC!=tCW>^lv`#KC zM1>D~bODSIE=CB`HW5z7kf_zQLq)XkFVa|LQ6sCwHA(hk5jG7YDeCfnb6k~$|W2FsI*^^CbH@8 z%H>oC!q8G3{^YY}Y+@VWpZbN1JHa*RfL&G!(7aY_NZg7M%FOU!7t3=$6119xOU_l(O-hHheL zmZ37gJrs85|^Ka8UO*jQEob@Dy5jBI8%Lw16Np;yzWl~z%g zZpoAOQ5w_9J)NKxRxl=C z5kG=mpTlG!&MMIb`eqBkL4S`6$iXBqMD&Nj5Yd-+EFL0qfzifM9u|a-0Trr^CO+_S zkH!^JBq<6~oU%@^^L66)w&Xy}7&?x48o_|!9uL*^q>2_yFkagUKXJEi;DtB-0vGw} z*@+}tC*%hCawufZP;1^R(-z2DF+x;VLnzAn%g81FdH~2kS|5_9S>>!65oVX;6E{md z%6f`AlIk?b=6G64GMFWLe|cr%aS9{#9@H($E}_;D3K!X3EgXF#zdWEqgK6W z3-nfyiEdLl0SU=;1zb|4se#1ji-uAwiPA#f;Df(C;SEMOJ|zUa^rSyxZwE)EaQg~U zjQbO|C5=jRu}DCwC^)>Slty~Ke|}i-9I5hgPjDUPvrEfs%=MI=^echMO#@JMPjasj zlw1ONjVK9R_`a}S!PLJL8gXm#7r2t7U~DFxnqH|0uLZECyo=ye8L26EvX|P$#oI|` zQde2Lz057n-rh~>EOl|Tw~x1Vixq0hac3*(&gLhH87OYneC`QN&9#)}p@Ij_GJ6mX zM{B5$kghS25Hl_9u;8`0kPS4QOe87|77mk;Kj*z2*cT)TiRZ&FP}!0vohU9t1idKw znbVEoFlIPqP@2t@q9_-V9K0|vO$HK(Al#EEI8%`zw;^c-LWWhP!i&|ortl6oh%R`I zi3kkp;2B>QeY=kuG=c}IS9}bskq)CA{33D+o$3Z>G-i|m0FI=nfBKi_XNO0<$QC9> zo)uN0P@|$#iH$k(Db%XU8Klt7OLPI?adh)(n_xT%zs`xr{NWWE#KBOABA!)BQW9iD z`_4BY7lg_&Y`&x{Kl@}ERC;Hzq_m4L#yYyiH6_^E*NC81XeoF;M65{hebfBEBEgeU z!&r3$>*bq{1sgmP>J8!9O5)pD(}jk8#@(bK+>5|UQnHBS+=T8)&ZBm4wzb6!JzlJ{ zLNM^CO`w#i`GXB8Ml+~{)He!HR$@U00-dHyM1iOkMXNSY*6yM}oUDaoKH%-e!-s}~ zkTX%pK-1ma_NDSg6V1>$B}Rd{VgzKQXLP@)w9aaiQvlWQeVMt z(}bmT&bI4{1~hWdQJWE*y$mSy5(GJmS1;k>H>Sb^Za|P^Y2M!^%DssTmmdCu$^a!? z76MoO@R3{`VTz7)!#>y)Sq95Re3=0N;VqQOMako`Siay4ZA>ce@xKkrE>hu=L+0nA z4VOD(?g9?Ky7N+q3!!O(LZa&JpME@|eg3co+1%VI#?3xQBh+4ZI}l#LF8t7YI3dpP#3AazwXbk-OSF?8o25(Dis8wig` zsOv87!u|CQJ#T!OaEnp78Z)MJeWBdhQo3!3f5;hkXcGxBaKYq(><{-3XEZ&bMw5nQ zNM~;EVR65_@NA}2co;o~2I2MW@~c>LTDu{@dn(9sdf@P7-3 zlU$!!0bV}{nvK*+UZU#=vO5lHmnBjuylblKm7ufdt1%YhSbF4y+}XC+fNB)17f!vS zo}Dfja=MNd2Z7E{;TqI5z{@YdK2T~LAYujKiTNPPPeS0BTQbap2sbBW@V1;I{ODYV z?^VR75jPA`l|L1DFZZfEj~qB1hPk5a3F)22#hLw;nQnSB6r%#vI@aXrrf-*X3g#>A zMv)TPJ}_u;VbkeZ``>6#Egu3cz3~RvStUf=HY zMOQQjq5>{JDQyCfavT`n85-s2QD`JiIixu5Q#*Z3NJxlWy=B(!oVZoTazJo_LNYvo$iXVf@}wj=r6ZDLmj2WPM7e`A zVx&auUh21lbd*wHr4|5Dj5_!^NRYE0=@V2~2t9`8qv3$5D>S=mu$dt$;~dd{$T47d1>6fm z!o4{bSHQ&>^{``{$-2Cugw1d!J@e2^Ljw#J9k3U6ie9ZZxpym-y3a&|2zEB{N^a;K zT|z&Qj~t%O?NdT*GMI3f&%nWlQXd>H)kxzWtXE2s$&qP11N|nqehq2~;@oj; zM9qE!*#ZHY^He&+NH+yfC4WqLjtsCk7=rMok)~uxCZzO0SHsmFUhp9^&nis|btV#e z=ps-k7e2a(3g!boBxp{ACmIi@soTM7jvaY2w(zBtfUqx6oMtb0`$2P1j8F9=KewRf zhKV(yHVBXmb0$0T+zc!wk_tZpt&izit^eK#HA(ta7lEA@6THsY9(MbOkrw#;@%@SS3>@V z3o$Y!;5(SqOmJ9eAPJjP10#-&3TJ)2gM)p%ecQ7Bq3wer!a~{h4#YC5YxujnJA?^S zz^sjHifN{%X`YM^bl)g1E%f_PaW_|P0@HwHBch^$eBi*5FBUxc$y8FMJQaeIB!v0^ zAnLMFFs|l9T{w;og(p5)5Sw6K?U+*hWT9Rw9xT(+@Mj&Edo)ho*^zXU>Sv-G7p@y@ z7a7#apN%3UoMwUBQ=(?dK%e8vG7P$cs#KYjj9D9i;U*e508jq3flM0f3zrY7NvX*s z7&1bZnk0dkudhPcI!+nN-AfJOA35Z`nUc^aFfHR36Bgk|68YtTq~Y3&6cid633by4tim<)n62!`Qf zcvp+R%UEUAhzmFJ_sIJ&jBi+IWLU628|fS2?;pzgLXC59A6c!N_)scXEAUHp!nlN8l9#F>Z#)m@%JTXQw9fS}+ZI~}aM#ywc zPSukT7qjoM@zEnvlf3&h_yw+?f{+=^37$hsiA#cuvrtDWaU7K%n|ovJ5Ls4VV5_7! zc{=oioNEoM930N^1g3fSYcE3gQ z8`T|arI2wkf&3fkSrlQNooDYzJnV`*(?$k`gu{wc0YglGTVRE7BfNkK2RJAR2ujqj zOz=Ds?sSeeh^-Z1=Mx5uIIA~h5MY*hF-+L4i~gCs`L2*MytLc;0F;3z_G zdzcst6yypF$n@AaiCRLalW2-M_AX2X80Z8n49*_7Opy_U6heWGtHldw6s{43^u8SJ zsbnM)oFGE>kglTOxCGY}sfJuawDbtDNOgo1;>)I{#U{z6geRSmI7WC9`K}BQD>&R& zV1xlcE5D$~@L=zb&@vz>5CofdXmC)dKMNbnKOzXUEN-2Wgd{N6ocyf6bud5L0kRyz z&1GCljZK%!GDs5m1vsq2M{P5hfY9sqxI5w|8;2z~1PFa`&V;)=%0=LO;9IURHb5I2 zZa}^OlGwvst&R@LIk6(94HE%#yK9*PeZD4|znV?k#A@PTukX=me@0`;7y29yDo>aO zH@I$}ID8X(CtLl_2wKny%9|bFY6zWhW+X5+chAL1?QgMYUl303p*GXvpO1^7A+l23f!PJxbfSZ3U%5waBzgr~ zQJ^%1;^MGWKcbK;Yh-8|RwGyGl@gnNygU;M2)VI&--%?-yNUHmp8ta@o`n=VAz56m zK%sya^HgNRkm;F;p`(ikPA^%kckY&I;bJXv<+Ma><@i?xS-A8%32#0mEG)`rz=Ig# zY$G-t7@SaKsgg=SNAauA?Nr=VOGOuxa&3+U)W?X6`_BZ2DhDXPyXY>_8X0{m^kLSC zVGBD8HzXE{J`-ah6j|il_A|)!<{T8VT&$WGS!gNs6dQxvUGDB2P9z&_l>Tb6L^dGb za}3A{B2+W{Q3RY=Z869=I0yk(XkjJLP0__x$AdstuxaXeJ7)rRR%~t3;*#)s9)60L z&UvCurew$q6U&+jf=_j{XD=o*Y4qC(&ROV%LFn!S$%%3GM%oN7NllgEQ692P%d}_1 zuR7W2M11~93`(@@H0F-3I&>nFC1w&)@&=70wCd1uU|IBhz>!fCtFAQ|dI3Sf{$#k< zCWmt-7RY_jCTxfr4R}l{TfmALa|d{0P*1{BaAcA>KL)x%yX62{JK-S#q2xRIlel5P zE`{%C_w*$8J+Um%?jeq9P-qkz4mKzLP=Ysc!_lBY_kq~Qq9z6D4=v4L&eTL(XpR@d z1V)41iM0?#p)b}qIx;FOgpKSN8RZ|s`nUIo!J;C90t3Mzpr*wuEIDHIUXgh{laSJ3TPQSHx zs2{97R(qG`sppF>Lv%PB7!d~lA8a*W|6q-4f}!unRxn?_+KnsZAc;{@1kV2)FNbp- z5chzU!?g5nycJx(c2Fu;O4E`cm()|Zl#~hc8rnS^n$wI7UWWn^}!lJmaEPuh9~Bldx`Oe zz(2&X`CMD1FMhQMJ?j}9j6)rHu%*}<=_VqGX6>j2Cz_`rN9#YrZllxtidZ<8sMlH` zt*kELf~UsD$>q!MlFKNN3I1WM zliVPrH9_2??@%jfi9=SF4tD}lr-UmTL$8d&XxuRnnrH`++spY5$g%>`X< zYMlgAOmcT8|6n!exC#Z49A_{U3 zxE3LZj6f16YBg77rEoP%X)3VzNhidWSSwBdG{z7ixfp=&nnRllNseftX(i-K z$ZW1_EvpJDf8c}_h*J`2d7OjXymrL6$TBpUNVJd}`KTAec!&6b9Tw8Tmk&;&H+h?w zV5UQeuEd78m`i8~;h}|v5lt?ji3R|m%c$U~Lf*VW568;^hEOfek+!CcY?depWhae`=l;@K`@ETWyv zT@Xmj=2ZAjf`;g7`QtaS=sp0wg#UF10bKz8ZDm%h)r>CQk{0(8{)1M9axsn{5FZ$;BSeXdH?oln2&1ePx#Xk|7tWqZGk>zdztnCNj&(c9+9r1$}r zbtUh6ruN!>b5c^#E(|k?z{Oe?j99Y7uD{cSJwJU{#l2atJKw$E{{4vaLss<}*7HM1 zIK$i^aO}hP%J;X%W`26o*sZ$HoLat>R(4-7R{GLM*0w>dEo~s}6I>9-4G3=S@6-Nz zwYV`Ew@$yxIJjs#6S=EbrLD@-)`MoYQ7IT^8i8wDs>LqXhs#DEyyCTUO|e&>79Kuz zXw`(@+=E{iA9MMAX(+z9PvE>xIQ-gZ+r*V=ejYo1J81UfhCiq7{qD}mX&u6PwO-I= z%xZ?IV}|2C7<98p|Bo&2dE98TdUo3E&S9&}-u%`hvs=>z%O^Ol4S~f|5IEV96Y@`v zPE{8_E;8-Ns!j^CVb51pDKUBGfS%(TPxDwkonbZ+xX{~`)}9LWKfd>LmpkiPJ8Wp{ z_;H5YeD3YwS@!Pe%^Orf6b#~pFV5W zcV%s`%nKoYgR%!zxcH)fI$M(+`u*wU83oT&88~|G0(Ieg(SQ_xNSYit;_)RXxox7YN+;MMY1BHS;Ri(lL0m@8Jt0 zUL@aN*snzycDX#ns$S1(&l#q1VH|f;VA{lKE$ci9edpo%VcDiS6VraKvZccenZxL{ zGgn`>c43&l1n$N4@q;WqKQ*t?@1EJbSFuO#MjaY(ca)>^wACs5`pujNrqC$@cQf<% z?HRM~l-|eozO+TXZu5}vp6wdG+%YN1>hAD>j#q%`U18H&nT=K7j2hl;(htKzuFeN`^py8YU$wRyIKp>A zqGQW^tsihajk4;esS`4Aj7O9a3um($wocAe&p=y$T9KD zEB0%;L+VyE^YEmfmRE6;b&p!lFa^!Azam!;mNd`E+T48X@6E#&$|m0};E)(FeaR+f zT0z0&`3CXEztT`?~UN;Fsb! zZl9hTueUq6x7o2NyY7v>H+|~|vwLf;4iCRS?EBvHOFv%-y!SnUTYG)yyVVoMJ*wQh zmF0``s=0@5PL(x{wy)?q>B-r+VD%9gm%v?F|90W}#p_CiJ@4q|{c1v1x1{t97dku& zwtc++^1K>zVJ(`Jz;TPMdAjVnO^^K>3wExucI32(dEIY}9`tg{x}x8eYaMW<5$yBv z1a4}Lszn3b4m+1`yS`}p;pY8&M;<=WRXs8yU~EiP`>jWU80H#*JHF&rZ1NV1?$f89 z|L|MquJ2!N`+fBF+2?NG@1H)q^-0+Rm~TlO*EXv3x~@yJ_Afd-t?(quayle(?9;j&zHL$?PYUGRyTan`VhaTpf`3A zIM>f3H}B~E=j<#=leK{#KD+dOxUgAF{E5NeXQwT(Oq+I@Vak-kakn=seY5Yx>HWr^ z9v8mYBka++qa$05a=X`M`z}BC3l6WYGK`YIMa(|dbI+7>-yt_RkNW9lToaIU*@D zy^Pzg?~4B7{yd~xPuRc3%iy@HBMQClA5!D{-isTqui-u6#O)00=dr)6Ic@!J(#|R2 ztE3E*LEwh&k`~|DXU~(Y%olquEq__%^|p7xn*(lU99D*BlsMx9I`BAwGrza^QHhd$ zx1YQ7=iC{x*EX*f*V`~GywR@ALkSMP4K_`KF@ZK#W}C}Jm_6DR@v`2D5(jI#-sqzG z{d%vZ_2;xcSH-@pt4G3Gh?x<%b@Jc*M?Mc;Xm+w#-RX}bUk;57?@@75>4^Dep1s1o z&76QP1n%P-i`vDf|5UKmM*CXdpNbj!^MeuHmoH5$wRU%O)14Ce7KT|w;Eoo&wcCOz zVZOVy<-#(|%q>AlX2o2R8wL)DSy9OLcIRFUSR07niJoQey_q)S>6@qL`mi0sJnxoy zaje6(YAzwE6{}TQ|6?4(bRcj8s}zmTc)uY1_M|7j&RDvu*7lkEEEk+k+%WR;kyG6s zKgeL1`2=qI>XQd9T2A;mHYn1wS@rvOoJwA~P|~&1=uf7&ZG* zc>0}c&#FkxedgESv3-1@qA3jXfWZB9+oq>w=v1jP zwOt0aj0L?_0mlveV``&v7Pl5Hw_h`MWwikztA}3hvp4o+#DgQtW;X1%@)^SnA#e{O zybmSB4*se`XCkzr@{Hn=M9JfK6z4GeRRz^!Qb-K=+?N_1PW^!4q1 z#oT)&+)MSTYEz)+g0A&l{geDR0z+5Caf8-0n6|$0@yI)G->2QZRIO{P_r2!2g@#{q zXm@=;NSl$s_#FtGGBfsVY~Sh!9Ljxef8S~DfY%#a74o+2RQi=DTaAQ;CgIHf4KE=Y~PEQ7AounwPtNde z{-A@ed{@JYjjvsDK0JEOz;4pUB@W!)!7!r<++j(V*rLm}-`*SI*=NY1Yigg*Go%Z8 z90aq9qb!)<>W!8MEI5;*MJRy z2~aDu552cUJ~%tHiF?!ZXHyp6YFBHP>THk5(Is!(`01BhR?XTn%ya@5a`e&BBJv4| zZ7m|JRr%AU-HxHQw}u`s_HbJC`c54klGP0JCxLs`t?Js1X^A(xdJn7nthj$=@9t%+ ztlJNkI@zx))@s|^qYTrz8jfo=Go)z5;rUnXT|Fw-3mo;K)pyqeCwv~z?&F7=8?O&M z4)YyP;ChsO@GQLZ@MNdtX~_we6KD2Y-OZ}pZK++@o1G`BG#Uc_!bJk7nECtdKPJ~3 zaOKLt*E?$8kyq<}^TVwAb4UH)=30J|&1AsMy*iHjJUDsQu)FFH!IH8b_Ip#KHkMnv zeDV0FjbiVA=gqp|#rLBK+`TScuGRHQy>e{JfeEF~9GUWK%hI(!zCTbm;1`#m@CSp2 zGR$=XSE=3OIyD-uy;wo9?z#1qgcre)wG-;LcKK*$ zL;AKojne;czR+sU+K8G{msM@L;KrMdmnwnIUr6BmcDD>0`pd`&U1-DYAln)3GL-#W1S~+_u^lNHST(cVek%XE3+{r zD$VZfyzYJ5KMEJxJm}z-GaEL#Z1b9HzTEywNcy^C-N5|^Ua&GNX&%sOTclYR?yZzxOw?;9OnyzG+c?7P?p@>42V#W{L<~*zTnCOlbE_F%EDB5{q z$I7ktZS(IK4gI|!aAkH5jcii5MZDbW$H;CkT956Vxb|)VX*2tI&zH>0JpU2+xrG&u zYag>>#4C>u#dd^rt^B0S$B{w)HCol*^--Va8sl#o{ z?*=&BzkE;aZ@p#AwAtfACr+tQubt{dz`gnKt znZU8Tu56p0#WIW|_=Hww=PmsY|5^LZcC$%kCU|$bv!p`&?)z<&_hVXjsoQ>>XToZR znLywk)adgx#QM;nF?MAa?q%(7j30eK7C6y&c#p?3Hbg#c2e!s-0@qtz?pk>B4G-N) zPC0k*ZQ%tAEV|8{yy@e5bz!eJ!!PVP#xTu5w*vpUul(Jz+OP3cH+DE*RyW zkd$^{c==05Z2ZiWI~ZmMfxDBa`hEG@rRzGz)||S;a=^xGJzvGF+%sy$Dz{J9XR5}5 z{ZgzhjyvQ1<9(7DXU3}kc)MW7#l5?B5A^uq&g&AF8#(n(d=j_&SBCK*aO3WkpIp{r z-qzh?+Dxe|IdFA#RQeg8MioyUJl{6`aQ)qhz<&g;`v+;?rObNwiSccY{Bn4OR~_@+ zNwXR^9{=Qts``KtnUlf3s)yrd3|=v_LAQnT53f?RDp2B9p&$E{Irrkxf%t0!GVZuM zs{fo}VhNn`OvQ}kD^<+9SFlSORMgX@XOzAUn)TaSoF zyYD!1-X?N!Syu=D<$eW&3rEch>02vgT+wYW93U=0;NF)w8oY0n)v?PhFBjZ?<=lfV zSHHX3rAwRN7h9z^YLph;i(zVmEn#K$)>>_|pzy0}_TN3WR{71F=wRD^?#^D_R6j3% zVzqi>^eTuI61bP8OS`r#dZ%DLzuMVTpSCJLu)@S{dtYsx`0MJa@-bspzhaml2;9hz z)iRIRZaD2R?AGgQHKc7y4u3sYsQ1U)(G(%v+~W>s)Jt*x^EjL4f1vT5WVzl^0Yg1Q~~up z9xs1etrNum2;B8|b6DT1KGJ$ucD6|ltSf*c;Kw({aTk>;{p$FGWN91kr!%Ii zXI1Dadn-%2_N42p7Q2H-Tq+0hDvN__k=5~-V*jcB?T=;L*tB6yK+WM@>rc8W_wT*C zK%dJ_=NRTPfqT&9)sy-TQ|=bXwt3opV$#BGBj^3va9QPjjjdxUzs^uZgPv}J<8Gbg zR=ulj{jE%a*$d{5i#QZh?AhnK!}r%4*Fx4lVdLN!hFL@4qAF$7FYBf|%Qb+dI zzZZ4g<6N0+uaLdhGn+gb7Q7Vp5$rkekA5EP!8Z4tbatqn_n3&DI zL(PWPN*V=nlE4+;7BNwtIMV;esFoj>o%v4k=fI|``d?h1+NJfN2Zz{Lkdc=O+*#-M zEj#XdT6=uS3PpeEJTG#&$6cp;BgWnID0ViZ!>jivpvblvj+;5UTv{n+ck9)kcb zG-LSl{w?fWy@%HtxJw-=iE8&d!;Bzs9e=xbX2vOt*~)v}Z=7`8+o#s(f?LMFTe<02 zl@pu265E3=dP?BN&A1X|wNN_w{`rmFA29AiZrnX-8+QCdy;he8bPfH%Wj7QSG{^rw~%csun-*x!ohg7B4g$)-+FD#n5ZG6n3QS*+Q?<&MFa|vAO8fULI>9wHY;6bY^ zzUX4Lrbu=FKO#Ss*cMW#tJ`@eDey{RTkOxVgV)FY)vs^be8s7D{ZsKX*SK~lULoty zu-}T5avgYe#w~_PByb~+U*G?Odq}67^;-2zc-OeJa`eL?Z|#R4dvJE(p3ap!r!dUV z1n%hdie0abwy0Svpq_p43YSY}l=Nu2>g?DZi{wM6R9G};0>iu_aMzjL_ntPKSoQZ> z-Tn7Tj=c-(U*Y2Yv-5T|X*4%U^1$~5!+6>uertAISTy2J-==nt22D?X{Hassq4Q7n z&$lf7V)oi5YaAQ30K1OBjjXeJxx=P01>(kDYO{Mr@9VT=vwd1Gc zag`H)+md~42y_nAjNI^8bCFntJ|TXyeM*O?J@reD~;^vV2plS&;p z+GWFrJB@c7JDWbOYN28bv!1~9SfocAQO+a~6b?}O@VJ*tPFzZud{9{suH!li@nWcf2pM*`t_zyTBya%wu=~M1%bQsw&05f3vaKwxYm49$ODhI z?srZ^JgT+0>DX=;i`Lou41Bfrllppqw|vtoo09hC;Li{^uc~MJ zfB(2)OjO4EjYoF9O}<&M!P2Y~qhfcxitl#H%4;CQd?0WIlG|iWjoZ7(zO%L0pV0>n zG#|R|ZQc9LBf7^lc|PPh9(#~G;kduPig@-Somnxx+L=x3W?L89(7DZrXXTs_S%|k2xT`n&)i1aCUX#TmyjnY|BF#=FUaEaysr!}Xi!U9rj`s)IT;Cb{E40r0 zM2UylH|>A)HUB=Q{eaI|+a@%MFSw~t+Q*6K3st)d{t9J@7_+JCdc+)lRYIqA@|i8e34Z#WkAkt>c{e_ZIeVy^00eh*zE*v)62wG_HMs4|26f3M}c;of9$z)T-!;*np>?r zSbfTb%}qc??jUewHr1UkS-g16gkokbSM2ohzvEM}S#sxSSF4-FE?Tx%Rb!a91nzv} zm&;?7zpR(tIa8%q{c3xEZ8yHa&U3FXNxWNTuSpxc6Z|N5#IL{kr&h(LcPkL)d~)qY zpH2e@JUH)m)iL8yk>~vz%qTMW0QgY^E`HPI$xEZ86B^fvs^!pWvLpM_-133tfOPNu z%MOgabq#o+ILIO^v%yEoKS^ycrNp^+y~n>BIb}fSfR~%Lx%PO{yit#tM|L3JcO!7e zew;e(T=^>p*4J{Vu-Btu(WZT89&S3nmFL7GW&d<;*%9J@O9@vxdEj&7F@l( z`fJ8Av#tAuPwRsv7ZN+{RmJa74Q#Sx?Zd9uJ7la+1-(V!3LRG$o^)wslJlMdNezEq zzq3NRWa`=t6`5UrZdXpss8kLT!z~fN##7IYQy(o=xmeXYRRhmNu4*2* zL(k{_Py=-DIs#WQ{p0%5YwKNm|#Qc|V+BQ{G9 zpT9BEZ+DG=tjC^{#!tC%vdO7^XMmpxocZ=y4ZA$}eDP3~=yD6zRau`}e|7Dc^%Kha z*#3T?_WK2}7NuKZe^-_)n&IE^#E_IC1{r!G0!i ze%q`6T;-namJ-+fU$zN!8ZyWH&Dl1ax-=Y+nqgkj4LUHR zk=3Llzy2|-;hOWiroKL=9{BK7gJ9q*FC2Gutw{&G=Y|%vIOyOocI=h{59gNhUNLCY zys&dFR}cU4_yg!^0_R_JXVAPtE+wy5PB=36^oPO6ZZ*$3I&9qPq_fLL7vAg#@_7@1 zD{^?5dwBUGA1_qy!7TCYyt&!Jb3;5n#!I8sPW6vZf3gq!Bk&2W%o3Y#v2uA|VasnT z4$a;%so%{(e?~lLRXW6e{+Uyeea;7T2m6`8xtF|NKIzz!kST#v*WX-cqu8Sw9T7M> z!{)9<{k46H?@M5qIRtKgiJbun>y}=0EuNTtZE&l(+b?_U8-FOqb!Ll%j?b&!sR;2- z0#~We1N%m2F8}F1#qLDC?R!3$9X{YR|5DS`gGX#rirx1BUEbaY@na6CH}{`kx7qDS zyKDA%&_jN1X=;4a0VRKbzwG$K!86TnGt7?!Zt)E!*4Jvu^>VJ@bB;W0-G5hokHyD2 zuQ@gK-O!IavgSellE59E7uWHSYxgS5vG1m(dc;QttCyH9l{G%It+8X#EB;Rc80I@) z9Jl6A3vM-1yqLBktB|DR{;~}Y{j^5uHX~-%PsPiXs$T6e@clso*Y*0vafh|MObnF4h-AaDgpH+#V-M^no-2YRv*?+be)O%mKwJz6Q z?Qd9P?zkFm>lfVt`IklDMyHo&Ul#D%_gkA{CsjAjI{tn_p_!1s1X}{~Od-c7Hwd+y z`110OeSrsxj<*@}*s1BUkGJOsgpN9Tq(K*u8w76JhDLke`;4DrS@rR&U2E@puXlM@ z$SUgjqLl3)OFioOcs|5!3EY^cDcc`)*!Q%Z=iO!Z8!o)xaeIH?0qd7qm$N#$r27q3 zJj5A*hE`_#S*+NH~7HbL0t>gy~Qxe1g_!xApHk>OU{Ivt5B1^IvcDTXAOK z(fB8IGYdXw(REvoUe{nf>ICAr*H)=I7hGAS%EyT}Ly89`{cgTF(0WV#8ZCod&mBvz zcDF0Tv?FkXTO#zzue{f zS0C2)9w1pWf0n)HnTegSxCP->?nx}!dc@D0dfMFB_e#~eY3HSX+)S)*;n*u};DqMc z|Ht0907g+={SOc|E>?n1tgi)9jTkjNL`0-PqAnUGDk`n1OGq{l$;)KJ!}m9ee`OW!VKl}TugF+`fdfi8_md?K9 z<{vJFf1vXHt!?y>Up;^0oi`8s@PB9gW4F(=e($c6_dNO0R~9^U%ZfJ+KK5daH=@k& zfT#cShvQBhvh;5^oqOReGxsas=eBY6M;)}wlV?r;P4TM_kK4G$vT9Ynju%R*7cV}g zsPmjRV?UnsO81c`mppmPl&`$`hwCbe-kWjEZ5Urr`M&ni`d?jg&#jdg-Z=W|DTnvG za@O#NKXd-06Tfialb_q?dw*@Z4*gY?ul@GHhgl~~i%(en?2Q#~EWiJyk4}I27sCha zbL`l=8sB*6&~I8+#c6!MgWr1Q(0|_b+OL0dX)Jo#Z8P?7dUo?=2YvINv)*a>{8?M~ zZQ6|S1(k30@Spwc!k<2W%3?DngMd3E2L@XdFxD!Oi3Tg^AFJ`i?G<$LDz zWB&Ba4=WdJ4DWGN&)>hk>WIf~p0@kr;Xi-eaOj(R{r-LUR#Q*sbFWzWn`4%({mYGa ztgU+YwXYmG$&ui-Js%s9P6YpwhYO5VpF=|vTj$~-Tjso!owdYN)oz~XYjQr;S969Fb z(fB{|_|cSqSH}f8mZ+4NQ5v!;F`q?ZR(O5;f~cQlRa1oUreYoC^UB$j2D6N#S-C{hpI=#)g(Gx2eU)xD z<>(sDiMNo)xzY+{rV!=ury^2ucf0d(&QTRPO@<6EFl)|oiNv^mzG44MzM^2ZwcK)T$# zvzA(|B^x_%m_mCVnqX?Jo4>lNy$5ouI3)(hXV!8vjDqqB`zByN4xdM4rHAa-&4=yK zmWbhkSYwVa=C<2oaxBf=*Q{q{b1YH6A9mg=Ky}CE=jFIaQ`9THf@HPj(K2coao(Sd zb+8>x^@VK;t{tNTRupTGXU+2M?Pb$`v=}%jjZ-82r9XdKYCgBA&RorWR>K1$|ExV}exi#aD1IT&{56sJLc=5m=kE!v*qJz| zfOSi4A~ckrppeX(h{fm4$&uw+wCA<9`nh^pNuhctOc%)UjS!ak1Q6fx!R8woS z&l_eciL<8xvit+D1*L9$*H zh@G=z@y>=E-wrli9i-IW)Se&5vLQCJE5(F`UR1KZt(`;jK9$U$6wgl;?8@IG(0)_; zAo+WWRzMu1i&F9VYM%T(4m%=af>i+>f_dA7YHEvdPH{`BNjCC|b_4^4jjjtSs;%3E zB4%UKB#PuucskS6BulzOMPtY9js=D7%*NBaaQ?{Bp5`f8k%f*W&Vj*{ZU|&R#{n&Y z`$H$Zu+DtAVX9%!SQWHo#2kd{b#;B-Fe{>~31AE)$6Dv+SeEu0AltC=^>A`nV8)8s zPLcH0a2j5lpBJ4!ah;zH)$Nz_*-|=3VnO-pPE`KfHU>M?_`Me0z_jjS){L$Y* zes7;Pe-BYdI{L++^7n|Q&bnyb+`6V_^p`m9SWu!RdMyYa;=nBUt3J=mrs3+RixtJm}T}&u7HrFgW2ix|n74 zu~02q&t3ilP1&*aZQ=kEAG+mFFr|Z2QP5{#GC{PiwUb@)jQZFGq%pkbFKhWDh#U~*b!xMETc?#bUE!Qd6h;+X z7@Cp;Ygtv^xjfu2Fp^baq$KKHU^huE9Mpl!%;w#;)avXqB`rQY$-0*Ic+tGVSJyc5 zxxRNxEtZNk>+KNy+hwompvVB8v^F;Rb&~Se-aG3G8>v7Q;BR!qTI(11KPoE{!O?1) zH+IZ6(1UZa)-E4i2UNVdZf=Spp8T<~v8%P7YsKrDgSX(eoO?!2P0yB#NsvB`Du1=? zs6!o-Olkhgr#FCZK>?p25AY#UR?Waece(~BGGot7#{2o#=LPadMU3}1#|lWp`SFgC zve+PVm3!3*O&p3^P&&=U!EkLINrcKq670EZ?8J4nu^*RF2yFXppAG9%#cbXHeIPm6 z4mvrT$G68in%Wwg>Z9}8Ixs|^<6CGtz)P-cZkm;c`F3_MnL%i&nb(2MUweUxY-pnL zj?S&?XsVl8(8ePZ){=xSkF}vgWLfWE%dTR4cD1SpUwtt4UB#E?!?8b|wM;`H>xce87f&z$eQ) zhSIQFqp7)}cK+BgM^!P*Ts!%Ux;Zh~HcS@!9*wPS^ae{uw>QkR-f3#Z_8CnLVXWTl zYQe##DBAj5C(d87nygl9u2p9>18T6sfI6&MR+rUc#c(H%9J~rA9`uxYLH;O8Mt#>_}@2j(r}j|Bked2Rs_NNx6FD z<}+gWK3~zS1toN#Ou1~jH#E&^isM9eY<{C|B=gn1F!C5I$~i_a$~nd?%E5ldnveM^ z4`fo;D*W9CpMKV7Le`RLr6rN2)uqMfM;2`jM|!GDD>gG%q^GL1BGR+o@nzAvaC9wy zc>F*Mf;<$^=M_YuW+VArKOB-|oyvA#F6`lrQ#`SWBt8?dX{Wy6Jd7V7#nyK19USXy zh_=@?bxcrLHR6o6-7$e@tWPYLtmmkx0n|#fTRXx89`vLZg&u;3(DNut4V+Ukw&0$1Eql&Z5R)1?M z3G^;LVSMb1KORy-rU-M0pRtS8js20WE^M|t5F#y5$eMsmf~(X}@A%kb_{gL9ij;C9 zAFn~Fll!ISV_BAb6g@S5ytdakhPZ7O_G+4?L*q7!&r?oBDi&udBp~-Q6{E#15APCK zW){JgZAGy*rdh}51x|-t{N^OqC69?ZLpBFNs&w@6n@Q5_c zy|?8}@Oe!5u%NB~Yp8g7PVNV#Pzh=jVK3>a{U$`ut7{$=#bMf_6}(D;bWEibHX8;L z3R$(_gWzUpsMies9~XmLQCzV{8}P;U#)k~rojOBG({%rsFdhPPV>8qRx&rB7g{gD%v*lqEUuLDhM!sd}7u=#>hKl zj~tW7*c^0CxYcP?#d#-&=_nMU*a@-Lu9mQ^MPwcvhuhQ3PDSNl<3juz+ktB(LTy18 zq6#~XQ%ELt%<4>N3*|$Q;`T)vhOvS50HmcF`Q~m`H})vD{*LqH1}YKSclzO`z8=hDM2i}bu5={ZCD*o)ScMZdIm2#UW@HJ@$SOiO*5 z>7A}-It7*ZAWbvfuaM1@V=@J5s?MTwZ?11`ljeF9c(MC-Ypza;ch=;h)=V<#no&xSyvugs;_JnJEwNj=;qnF1}`>^ zgrw=9JFV*_+oZV`(z*txR#r_lc(G}i(A#EurfH^x#JUQO)>Uw{uD@6LXk7{Q;bwY> zPcyw0ubgm#Gg;R?3fWAZS~t&9;w(Ciqy%iP_iU5qT1e}fxm`Iawtbk<+h#jcHAi+q z2#IwS9IdP1XkDLI`Dk4UW!Y>qM5#6=y058X)(l!5j0YE42*p~zR=rY2F!ooF9lid` z030nlz#a8Oze~kA(4DuY2a0nfqSsC2ue4w>69+q$;j(5TG zvuJx9A#fe$s_*KIx3xqYo9kvtm6y?uKbpk5ID$s1CCkr1X<63wRH@!?4^UO zoyRLQVyq)m1X$U=y#dyk9(8#J+Ck!KghJMP&<}!pUqcxKtXb=(LzR}IZW`v&P0v9| zbrhx6O_%guH(|Eb>=+O2iP{@8>j5^U75c7{P?9W4Aj4pd8fsLv*^%oSbbM>)sBN%e zxSgY}inBYiMn1pS8reJGl};ZYqMS%Nn}kBvX6Qu0ZPgGROXoO81zp3)X8Z!v8LCSw zt9#ZAx_??}SYxV6D-#nOHb$0Lmkv$jwZ}Q=Q&vV6t*eNx<*2u~kr=R5k1oPI5u6vP zRP`i44GQ9bN3%3-bvyq07mLpw{79#EyAv9;S5y5TMP)7I4e})o!dlOA>?-tk0mJiScz1}mH zeJt{GEc+OIHtdH#a*1n^VTO{*Br`T$y*E8F$t2P13gD(>EGio>AY);{jcmrEQroc1 zKh4truTGvWlfwW1IGoA$8N+@JuG|&>F zSq{-OgX=Y7a4-)?O}%s2s)!nEhq0>edEB-|x&&p6%20@mxw8&iK$9ZtBtVxd$v+Fw zWeU0o&^-#W;~e{<4cy@w*1H6`II}N~&%pr$k7i`uu~SHzQFY(!6S}Yxdsb_#Asof& zpYgF{bXerDa&rUd^eRh6&MWceuVa#-W8|DF>jDgiJ4enrqFw|1DJrh0N7P5!^KX(y z)JYe=5p~9cIHKN$)E-fP1@I$Q9!AuCDU~`f=$kztVS5|+y8;p=%9~KgDu+yIoQ7l` z$_pwV=b;cv75LK=&eDyB!wV~kuC+z@F_5~`Bf?-bUP&e}98XtGE~TNpLAlBHYVj!c ze3`!hQkyA<%rI4^(=M55vH4<80xbdN7B%D3OakTj{$+S0M}#89Bv97DtB#HvAojAu zs3Srl>qX=h+)EnDXfH9L@1KK8tbYy~?48m#6x>M+O}vK!zwRL~wTx{go4xL;ua%5l zjFYUR@isk;S8ZXPX2xEM>=V@Qf=<9YQ%$Qgl;_+T&-7b+0^YGIr+Wh4yT~5K$G%u+ zFFWixxlbE*5DH<2oMj1a4-JtW)zIIZWa%^!3%7Qo+{p4vOT!ORG*)lG_0OM1dX|;0 z;EkTeDy>Gk3g6jdnQi(h%dah6$xO?am0pi@Gd`X#cw8B8uQa!Ti9~v)@lSPWnfwH} z>HIp~e4W7#kTyWL+s>~#GxD`p_dJE}6N{N)zp4CGziy=G{YcM-$a2;4^qnUo3)gky zHKJ?TC8F&t!X$djdRam3fHo=UN&|fx&?^e}V?Y-x=w3j7RnS@kZ36VF!u<=-9gxQ& zOjWV0@tA6!kmFrpr-ysIJ-DA1`PvWZ0FSqa4i~4L2XX4eb@FJ9%&rbJ%{F*Qpc-gP zJHqY}bb~1NRcr%RSWir&WcC|s%IJt;(H|z)n`n zFZyHAPGV{;e`H^jgBOR12Cvr0`}#{4<$k2IfO`Px0;H>v^4Sj|{Q=USBfSIZ!$@C4 z`V7)?q}M41>iueVC4=#_Ynx0C;;tzTB&w4C77|M1~s9kS-%+xQWfG@Gwq>WeX!F<|JI#x7c$;P!6h|X zLyBRf1cGAStz6Qh0o|jzV4vr&6m%M(?=) z13FznwlDBUU@r0)t7m~@H}F^Zyt@zn$YqbMVfg`0=2FWLkY?3dg1Vx&hD}@H(hv%K zJ5=M;e%vWnwUip5r1{K@&1z~@ErkLqxL9k0LvWebzF4;*pulcOt27d6H=EB%NQr}U z+uek;4t?z_kj_NOh!_8CSZCf`x zLf6B4c_~IT zcE;z~o=t^a5v0WiwmWQ28&ipQmZZd6b?pf?l*lVF|f z>gAn_ciG+3(9cFLNFSjhG-c&Az7GC~(I6DEXch$5t|1?3fyb7y!E+H%qQRfz z!)|ATpZF=e!6fp@F$m&dx9!F~BJA#!VtCE4nvnPcf+N!fmk1i9UYWU(`a!QDarobU z3pNiyjYI=btFOdki&X#j6qj&ZjmPin(FIeHe+WKP@R{Th4*!+gnKiQQoEf9gn>Bsr z$BDIk2Bpf&w)NX@m82LjXHNM6VUWPSk}U}Bi_gl>6oV4qI#Ia?YElw|Q4#$5+Y09n zMkVPG#SgfiV3n~r_FSbmjbIT9SwBK1!L8DevzM7#uo8W_^s-cjcW_J4&+wdMJracO zh>{>i%R6(Cpd`j5IG=Q@HxiXpNT%|)gM|4kDb2TpDSoApF!~N+r3i(rb>O$))@#UZ zrQDs0G3eI3;gJqFPbg73aV;L{@C4TSSl=LdxIoRw=res6k+yU0`RnWE#A&_zKcbVr_Fm_n#`P1!?*oJA}xfl$c06S6J1do`5O8$ig}IVhw$qIT?+ z%N2o(elgb37LCu2>0QvcH5~Th>Ws$A9fO&fqY}rcAxbltNk`FVFtY~eF)C-mf23c@ zSh8!7)68;s7k9$=*q5Te$L!m~oKG30N+@Jq3;qf2dJUyhs*8}v>l8Yb>N5q6CGN!fWh9JBN9K=%E(ZCov$Fyb-P1BMS$MHrwwoK z-Mi=#;5jB3$7kPwbKPXnE6waSok0u$cG`r>mwoP)nUeS=Ss%r=o=x#ir}6SgEoM?G zkx4z7pm+P-XqodjJN63sO3>t+2o-x~(Je*u^P5HY>PZf~ZC|KtoKGRW8T%Z7l#yv( z+?9q=0q-2T6Tq+i^RdmvPQftOFl3;;YRW;=i_rqa`y(Xt@C3I6)D;}(Bm6<-+oU0y zalf5vQq0XuL@C{4Q8kgCOG{_CX1~r*o+2g+RAK6nV=lw8(r&!1x*35zQJ&{~^K~2@ z(RT9{o@aIGZ21akhCMyDf{%xnI<0hEbqDk#}89bnQ`im`s?3fwT@UqY~jv zgs*}OMHZ)*T&1AdfJCv(10;&&W7qah$?Ocladw8_W&`@8%Ga!+R0>qopPqoh zZmw+g)%U!qFDnJ-_NMMqI9us;LU8x+C_Se)_1S<*FQdBayWW&@uZ}`^RQo!WO+GxT z&x2@}cZL6`%mFdG8b{dw}9y z5elgpuYwx_PfBp~sa{g~+BK9)k?t_w)pVuk+}_nHg|oe@OtGrn11i5hYp65tgl2E} zS_sc-!AXwpT|PXkoj+EU4a0h;48EWmIlU@E5~~s%{VTySR`q9*RLbBJ=~anh zaeGzwf=G!m*G#dha6rYfLm0*2GP@&qR9>aE%{{75R;+4!3QzA8=n|zEsXz%ytV(c< zRSAxBhN#$d# zicl&=n!>wsPM~nFn)oXoe643z++M)ht0q3@nH86qNn}rwYmL|OJmuiq9A%h#q&Kwd z{p`e#!;HeXXD24DbYdO7Gu7<5&2!95H9{fledHC~M;apeQ!Q>Ug{^x&4Mm4|rXS~v zqCRV9&5VdFws=qR8?2+%{vAkQuEazMdqraj?)l6Z{R3uVd3f?Ja)wPwmX(epzcCyk z6tc#F#)6xmAvZ@BxsRDmoG`c1xvG&9f)??>S<3jmkoY3&P(c0BzKX1JKpPZfyZiqI z=57yTPXLaKnUBS1vd0>yo?WLzeEj$f8O%QYdZ)+U%*nG?9f$FL_La;uYM;}Gl0#}H zI9DBy14?GGxK8OmP#&2W zGE98N#l-%2)ct9gSk0|m#6fE^UV-cMl z+Te}qucb*QZq_j6mn3bh(OVmL8w6cOo(YAlmp~W6ZPHL$)rcv^DIFAH0;*t*%}9El z?m@TYD17cc2!G^C<#}%x(tl4#KNXAE^!_)p0?|o&*2C*wgtdDy3~3qe57+L+?S}M( zg!F>jgj|A4(+<*+{&6MsB>it(q<;pOg&wJQl7965$RL*@{k&M+9M>M+PC3TPkM#F* zl>WiV(%)MaEE^~u-g2a5!Pk+NBV7&Zi1ZT*S+5z~W)10eT`Bp%%>>m7Q2%!DSrjA8 z;HH1;UCej|m_;6DoCqA(;T(t0tDc=WebkJH9hq|YG9>7-tLv5cyZmj<4pBzj)v^+= zeYG@`n)%Lsf1GWEb@aB8610g!fZq%0D5QJqHgdmV5FzQ=3XVNn!8v*3julXudH3vP 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 z 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ⅈ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

    O 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

    cM;*FZZgW zmu~`Izu`g~zRmUiMmr|LOq^((?eXmgeE)VBze#eBUe5%;q?s)D==nftHu%)Dxt$NT zVowdYcvJLVE;gKVT`#@fF9!F@hhE@RGp5wrjhz|b9CFFzZpM~|1K;6~5Vdz;uuy^`qdg^M{y?`35p z^@^ca2(IT`y|<8!)T4jzw-#>EJiT{>jnsRAofqK_&DVQ>vypl`OSbE^Q+$5%tq?b{Pw|Z zSgQ9fvypl4y)jac z<`)c?Y=hn_%tq?b{K~-<*r@lKu#tK+zxHrVH|f0*Y@{B|Zz|l-&3bPQ8>vV0+X1(B zi{87yM(WZ0?!ukjs`vh7BlT#0akm9IpK+m0dOnoyH)A{yAKae*(fo43g>Bb+71&5U znqO_WiaYdPXEsug=GPyt@cPkd4%%`L%(ow_ooKWFz%xe&gT<{h{|( zvXOc;zin{K4(Pp;Y@{B|?;6~xKlR=RHd2q~7wce<^A;D{r1L@AL&kU@KDeC^=zXNj zaJB!^d;Qo*J$fH$G~AxUdha0{sYmbczJW`3RPR-0BlT#0_29-H(|cRkNIiPrVn5uI z<9aXI31g%ltv3X&+DX0FgN@Xq>vss;`cr!E5*w{|A1>(`y;q2h)T8@HS-8Sy^qxGJ^-MFatVqY>w>e2B_ z4j1FH-pj&9>e2Bl2$%DU-mA+->e2CQ1y}E?-W$k9>y3jObWQKAWFz%Fj~{T$uIs&% zY@{9?ziV*kZs@(wY@{9?zj!x;oG-Z0COv+9d&?LP#0R&>59;NHOMhGMRb?af==e2& zt8_>2bzvj*=>5|Ha6|6uz13`_-Y4wb4!7l=-n-65>N%L-6Syb$^vUvZ!5TFFZA9>Hd2q~Hw|vq-+FI98>vUf?~ zO=ctYXnqUero7X8JK0D*n%`l#?eF#8Z8lQx0(QQDJNQBGy;ibTRZEtv453w3x<9y-aNIEuPKo`rVB^`QhIA&`+x)V? z{mWLG-#4-K-VV$!C)_i(QZGdu-+Ezi*V#(FSaJ1UGCW=;gG(RJSgBW)jpxe12ix`0 z04^xL-YdmM>e25@Rfn6CK<^!3BlYO#)2HE5C(?T**hsw_*jW`WyPw{x%|`0c{i6k3 zp2T{u0UN1D=YyZ%iX_o{E!jxD8`#+iu0~S5*OQIZ>xJuM7+mz^dM`5@tychUQwqIz zm5tP+-*Ga+hHd1dZcFu&W@vYwL$wumVjvrj%^m?y38>zP&J3GSV$e{P?u#tLnerXA}Jfq$_ z#YXDU`Qd3>&F;5IZB_0<-A7l5C{jE9|TWS1POCYsW_Fy}-_2;C{-c_a?BB zdNjYea1*oZz3ptI9?kC{+}0d=?*<#GNAr6McQdEni<8S3sYmlm0T(m3-pk5H>e2iP z!DY*%_iC|`dNjZ0a1nX+UN1IMkLEWVu6I7Yx0sF8qxr3eTaaJx{l!M=(frQC9WJ2v zUb2yTG(V?c8s`Nrv`Mc&QWY}B1M$J_^#{%G8#w>MdapPesYmmx3|Hhkz1NbB)T8-z zf@@Vo?~P?6^=N*x;6@eIdmGtEJ(}MhxJ||M-c>eIkLLFX?ox5R7xjB%q#n&L5nQwq zdM^_jsYmn650}2A-mA(+>e2ifz*Q@y_j<6AdNjWwa9vC5y*X^89?fqB+}tvH?@u;T zkLGsGo_X@I+dNjW>aD^)By=H8r9?h=< zT;oc5Zx|b?NAsHuH@vdmTgOJ~(foG8t*)Z?&ashtXRz}&+?J|(?>ZZ)N9%n8ccYr# zi(TCqsYmNg4i}?_-pj&9>e2iP!ex!ndo|feJ(^!LxEep`y`F5O9?fqUT(6pXZxI`* zNAp_;H@}wNJH$rn(eDqPgNs^6?`32o_2~Dn^1-#KtM?|dk$N=0d2mPS>AhEMq#phL zRh0U8{nkM5)nOy`!qIC9H=?25ThB)7(foG7J#VDe277g~L^BqW3zpk$QA} z^oLv3RPUW-BlYP1aSQHTGrjkjjnt$2N4(}~oR7HBCOzK`YhjEB;)C1s-FNtUcDVE{ z^*^gYiy(*&F?YX<)8Ilv`)rIJ$gUZ5AFe5>GtB+ zS?@VG{{_JXbvV4-;Ho9yX(C(Y@{9? zzngG3d+5D5zZfI+==i08OVU&C6=WmzXntkj%JkBEk!++M&94_+_uhJM9vi7g^IHYC zs*m0~%SP(a{BFTr>#O%-_A^H6(fpFaCGD^G3bB!TG{3TNB?suewrr#xov(VpwHv7S zCbN-xbiP^uH(`+8`;Cp%qxt;_w|%hQyUj-G(fnS(-58?xVh=S&>e2j?!^Ih<_j0h2 zdNjWxa9M}zy_#&K9-Z%-!4(>z_nNVhdMB{616;9@dapGbsYmnc0#|92-s{3f>kWXb zJ6i7zU?cTty<_1TjnR8U*=W5d|^9z%?DO_eQXh zdY<1ufNM5E?~P<5^{!y&G`P+a_1-KtQZF{n&&%M}P11W8*+@P5{o;FYk0$HABvXu$ zdNjYZaNkbVdsWy-J(^#AxW?1;-Y_;&kLEWSZuWG&_XiuPNAo)ccW#E>`^-k_(fs1g z#N+QQy;q2h)T8;8g{wGQ?{#J)^=N+m;fBxAd+XRpJ(}N6xV>}r-Xk_rkLLFl?#n#A z_w9URq#n&LH(dS&dap4XsYml`2iIkx-kZ%v>e2j`!>wMV_s+4AdNjY=aE}-3y`)Qw zk$N=0V7TyK^Fdy*HeV)T8-Lft#^R@9kwH^=N*_;m$ADdtcZ{J(^$q z6=@v5m3l8f8>vV0D+O0+mEP;ZM(WZ02EYwjt@l>5k$N=0?Qr|n=)K2mq#n)h9o(n2 zdM|vPF;b7_mjkZAdcD_#jnt$0wTJt8gWj9LM(WZ0euZ1JQSY5+BlT#0civV0n+P{^o8H^UM(WZ0PQab{P49hTBlT#0 zaki&%67SG^1=vVEnqO(S^1ti7pV>$~nqObIp*!{78a7go=C=cG_b$EnfQ{5EhTdzq zJbUzB12$5xEP6k|t>3HnF0qk%CDFSNmubJ=tHDO=HHKUChu%BFM(P#D{4T;J|5NXM z$42VWddtI&IjHwGvypl2sq=d8 z0~@JF$1m0ey#BqY_X@F*dNjYXa1}4(;f7z)VsKTj>%H!5q#n(0Fx>PTdT$RKsYkb$V{n&l>b0iH+2w`OSyhc31D+WFz%xe$U`O-_v{P?i(ZZ==#kC zSLT7JvzUPgPZhB@9khC^=N*F;7&f*d+*suJ(^$47ipZhf9t)RY@{B|uP9uZfAn4? z8>vV0>jl^ErQTc0M(WYO&)Wny|CQc5#764f!OnAVzrEIbx7bKMn%{G{%Ww2vw714+ zJwLclY^C4d2!E&dXuUb$lE2sI_Z=H)e$*=um-U0*tI0;{d47HgSLmbOYsN-8`wDX)+dKzwlfeY5@e`X;y@QS{z?Hc~GF=ays`)7eNp`uCwr;M&L6dsEm*J-R*?!mUW4 z_fE5sdh~ql2Hd-ZdM`MUF;ededRgG&B-VR5*hsyN*jWVbA0K)FN%Z+GMekd<<7{o` zs~m7|VbUixP1}Dzh0dpiVPYqf*Gs+ZFiqImdh~j$3rzpydT$xbC3dzR-9Mhe{F6fN zEyMf*Ql@qG;X<43zfYGLy_+xz{N>(sH1fb4V`uyCN2NzEZa`WmXKJ}e_shC4DFThN z^-7{w9cD_9+{=vKPMAmR@NKS-M}gS!3dS$3+zZ9`=ZC4w&eo&%JDbBS3f6l^V4ktF z^}?~^9ZX=T+-rpSm4sQy&UXApp?4joO}O5h2=fm+TaO+uvwoA-*_=-9m4~|qlRmxI zxjjGV2Uiv5LN8SwS^8Phs>aG?#~=6d}$#*U&eb2E9zb?XJ<`~QTw&Cb@N z^TAV?ZJFgB{Ux%SFrV2;z1UgOI%ja9&33*@ksAM9bC@LMjLU?e+wq%L27fOyBCS(< zmT>`a-t~6(j6om5aH;=mTBk2AwEf@wI=ATFIs9uk9A>5B(xI^#=86yQ9!&hD^0?GX z0aMrqR~n|R53VcBEFatwm?J*8b10m1Q;A+D3^1%&(S?Pn@40FW?cMm513Vj_ZU<&)-O2f4E!F7e1 z<%3%SbHoRC4(5{&F6K(y{%}!me=zlZa4lg*`QWC&?C`-IfO+DBdjk`=N?%7hn2J8Q znlQb5a6@2L`rtOhT=Bu(gNeUdUq=d0OpAg?hQ=fW_=y$U@H3H zYQpsL!3}{~>4V!0bHxXD4<`N=eH|%a3j5$n!?g9mb%mLwIC@>S1m=+9==H*BnD;)o zXj{`d8F0~Vf4N}l_~4qs40mMb zGMM8&xQj4fd~k7c20Phsq0M%jX}twt8u{RUgc<9Dn+~(f2X_eOxex9=Oxj$*vuD-26Np9_YfvgZham8FhzZEuD- z26Np9_YfvgK7AejFhzZEKU`=NZ+|e2d~iR) zjP=1yhuP(WI|TFG2lpN(Z2^598DOgT;OfBi^}!8?S>uD-26Np9_YfvgL46(mFhzZE zuD-26Np9_Yfx0cltW~VT$_T%E3hX;CjH!^}#KJIqrkI z2=m1U7pDkrf4I;l-u_@3`QUzp8S8_a4ztS#cL?UW5AHoo+M@b8GQd>v!PSB3>w_B( zv&ILv4d%KJ?jcN~V){D#VT$_T%E3hX;CjH!RUEzES_X4OarAoO9Ly&lT+HIZPG($a zi-L>i=bZofxg_=S77upn<3gL{S{4s>M&Ux+*UtNTH752=DIScE-p%djt6Q;qR`Fmb z;`?9^wEeu6dcD|qAU@c71Ku4J%>*?K9kw=x?K z#0R$?9kAwb%}WJ)nA97^M(UMCZvot+(sC~ZktAh|k$U~m%LTWgtg&?5y+7~vUcce^ z`g541<&49(xvrOfA3X>rOL^mL>#czA|A7rY^=xj(Z$I|TgKJ(P*kf$HAFy{68xO<> zTkj^^;)=l@X6t3d-lJ?h5Fgxn2l4f{aJwo6dzh^k2Yc_c@j!fV>z%>ZU%>6J9PDAX zUS{ll!o~yf!L4@$Ur$vf*tvrXZMI%q?2BJDn8^QaZoLcGn*#0`TU)O>xoW{qYg}lH zhKpP81-?E6rfc}{OI~^22-nn+@tyRh1tx` zHouKe+1bOWritIg1NzwjRyzUzj}2f{8h{`O)=J6y_y6 zTaV_Kx_K}@dN;TE(fPSDT#6RK9%$>)@52>=X~oVqzfW)-VcNCSdy`>yva|K*_fHSP z9BHNZUcm&lHqO?g-+%rVCfkpCuNF){cD5eH@DL=`*ybgX}6y_B>Tkj0qXP8rM z^xg-U>}`#cdIez;w$pogVcN2@^{!xkU16%XmwR-3`2}VnJ6n%#FRNgdMasSJ;7-CM z>|mU&N6-IK!8Gou_lCjz!OqsBfB$hDCaja(dy4s0fXUz4xH$O#Zuhq*=uLp>)77}x zaNg&W-SPj-mLC6e4CW2H|C^uZb&B_SX9(@+7VLy{5B7XxJbZK;w^vlh84DAyr*YD_ z^Q6FEX(?+Tb-N9p6fg-JVFUvCDON9?5arW+INWE`iD`wPqhcG7xR!n7N& zuXh>D;)(jWuVI2F>FfO#<^eltz2TFCo%B=nal6CJV<)Y5IZT^r`g(tbSvW%<_a#i~ znfiLafw{*{T5sqqyw5O4AGa&a9Cp%rm%{uwS6}a9nECVdasP(#UtpXxZWzoRcG7x- z7X~}wi}i6k!^~nQjk^S<)e_UQjZ5dNg)noM>f=6#Nx4j4ZwSmScD8Zpe3fQ-uoJpc zANOaN8SJF>E`n*XN?-4MnAvOeai78@U#qV-EzAve(s~2e1v|kT^l>}DOk*dlcL7YZ zjrw}$!pz*PkNX%V=@xyxK`__YN$U;R8tkO`O&_;C%oKLgdgsA3*{-j5Hq7+j^>H7< zB;Kj7H#N)^cG7xN?Fx1R_vqucg_*=oTJIc~Mte=qHZI+NXTnU~Z(MB0{(SO2Ork%G zlg9Ojxx~&kF5Q1q90+y-4(j9n1T%r1H0~^z28T?~HZHAqI?Uw5`nY#t5**Rjn-b;% zJKMOl-egCEom9v5aa+TTV<)Y5228yZ`g*6rOgyEJdmAR+X??xPVa~CW)|=!E-WNEh zkJ}Pv3_EGP(_reH*Vj84X8c8c+?z0QF6rw{3Uh{?v|hi!xwixQSs-v6I%D@K&&s}=!G{Wt!@V8`#VK5k=}VeF)FC&1KrqOW%>%*bc@xR+s~ zJ=fQp0OlAwX}xh@;Qf++^l=-)3}Gj&cN|Q$m->1~!wi3|k9!d&${T&X@nDXylhzyi zZLkyny*_Szm_h8M^^Sq5@5XOBE(>uC8?opW6?4)tO!0e78kJ}yNeuC*7TOW5n z%oBFfxNl&##F59P_sw3yM8?<0-34=>oiy&>FzXY@}Q&tPi$>EkYeImS*J_X5oH z#PYbb-m@^(lIi2lhdIPf8uv8Jq~!9rZ87c%n8K;_aYw;yWG9Wg6Q-}fJTBdjw!>r# z)W_`$^D8@P+;uQN2g&2o%YVF$z*!cxWB>d%%YE*Fl&gD7Z+{4#bBajlgFj&_dA#ZIrMRd z!>nV6Z?mp{UqL}`88i7?yQ;oGe1{R3u58F^gK z^$T;LoIY-f^0(`ZatXD2z}gLF!$L-5!U-R%=#bXaZ_R3XD~5q>*Lmh>BCMM zcNk2$I`X)5o*WD_zMekrO_(_Kjg!Vr3Uh{??eQoWDg_g>xjZhd_j{P8E%kBN!(3t)MYvtvfmz&29+%d8 z6Xx}g`naWj3US)uqOG?ZO#U|VxOD&R3^T5sKJE>e*zNUklfay2CtbgZB14?8j{3Nr zU}mz5A{^(%FfD&JJ=?f+{Vssn+gTqsNtY0(ATHW*E(sH(t2{1Uzr|sG=&p~u80ILu zD8hQr!%XWTk4uk7XJ9V$)W=QVE5xaai?-gnFsXaX|%Etnd8^>G)%9A<}avp)Ww zg_+V%9+%d83g+AZecW^dL!8REXzQ&F<3C6qm)83OOtm5UxbtBSvBS4n*Lxaf(olI^ zTJH&%GsE?9!$*WT6>-tlTN5VbNO@dZZw;6#qxEs;!u-h&-{!jBN%;Cnm=(ki?L&6&0fxJ-qK9BUli&%M6~<^BDp1^D_3m`dZk&h7V%24OL*PI^DA z0nA`__%_#d?7`Q^!c?7Tdbab>5d=oT)ShgdH11NE6YTJ9)^RVv%$%Z+dmd)tG=1Ec zFsY{-Cyo0J%sqCt_3lO>bVi7CYo(~wRfZf;QetmuX1C#1^)BDJu3UjdVEx7WE{Z(Gr81e0>F*SYm*ennvp{*QC(ZA9+{%%c5rkLGs-ruH9R z=hoYSUO$+^e|nwU{4S%{9H!_&<7|&d!_eyp^Zt-=bRM$x^86Lz_#KvelhFGf=G+mv z7auOk(GVxiF}XJit}4ux<9aXEi4Z6Jq}-c^UQL*1r{rE$9EXgjL!4i5p$*^WdOv@M zuMdLhb;dZ`?XNuCA~yKcv$!a;y_0aoZ|S`s*+@OQzjcKxe_QYU%tq?%$IiZRCGP0GHf*Hc3GD0+ zSN5*n>%d0p?Z(dDaNph2do9>Vy(8H9GhC7TdaorLskZ|=JHcgpp!aIAk$P9KvpHO` zhkCCy8>x2zJG;PDdZhQdu#tMnqTs(%4L9Yn-rLDW>e21*Fx=QDdT$FGsYloEez7kY0m8>u%4z2k5-{?U6q*+{*9=naF5{Yvj; zXCw9QVCQ#mA+PmbIW|)726onj%lk&}HDn|8o?vGixLR-ZUSBp+?-O>8f*bZu@2zDc z^%EI?q#mvJ9^9!9dhY`psh27W{yU=|@$;ikdan!{sTUo+2)Nq+>b-t! zq#ivUjfQLRS?>*IBlYOvU<`e2ZsW};9hji25t%|`0QN3RB4qr`e|C>yCq&tE3N zHBO@UhOv=)bpD$R*CMIj8_h=Q?Z(a-aCMW(y=_tPJQ1c)O5+0YeQvkE^l&v&g*rV0 zjQjfiV(!n@|m}Tsw-tRCy!sT9X^yb5)`NlZg?SRgc zg<*21lY4#O>cd=OXY0}Z{2fg6^m1<+dYNJNv$OT+ap4xsn+$TV7kX(jhB`BFq0QE# z=ZRZkR%ViWbo|c1RLd;)=y4$urdt-dHx<3PFnP1eJ$hV?fN7ph?$P^yqhJbW_d2)x z2lbl6bk5;*ZtnwUKyMbzAMEgLuJ?~S`1)~}4LSARWtix>jFWl^Vg6xfyT3KXxBz@3f&X$65uMy_-5~g|~ zNd*0JDRgtv3z56ELld%e_DZ z#=)#CVO(;|(e3uv7_LuATpy*4O9kh4`-_1q^jMit=X81Fl3IEP(HmbO)TvY1INRgk z_i)Q#9#=Ikp`~{Lu3NQGr%HrzU;iA;dwZ#eJj$g5;_!&jrP^Wl(<7~I*Q1p7k%xz#?O3QjTqBpo1WzdN#Kn zov$*%C2D7^?fRhOl@F#eJ51Mge)PJwHcaOBaxWcR1k5k&qFQ?NJa!CB-AKJR0A?vW zskZ}WSO>kg7Umo~TaVWJ2xezTxtAOF-+M3tU5vBc{^j(3O zovpVPz4ZM;oeTZ-o--iS>52<&w%$tgmcm2~(tEvN{$Xe9(esV)!FWD7MDNvyImOP_ zbI^-E6wf1u>AlP_3)tCu^nCXW%#q=G?-k5XBaE~4==t9)m_;MyULf2Nm8kW>VfgqxObd4SHq-mh>oU6CN5b4?XIlpymz3jho*XZ) z<2YPCn3xlcqsL#jbAj0E{ie&k!ss1nH@*5@tR-TaVr!+66Oqq1?+0w*}@YJ6rDp zT)ai0&TU+1vpsITA-6cxiL%5v+i|AHt$Hx$f7N?mU|uhkdvyP;vMkj3bGhDo4s&;f z+#7{n(Uqaj;Z<_)G1mJM=GtoG==S1vyIP7~z?x8J?^?OH4&VO>X68D1eyMPWcnyte zn_(BuyZiNVd&A6QXB)RTb}WZ^{DNs@{;C+UJ`nbstg*y3hq0Kh#2JHAA z=Jj93*iO-TrE$HyY;dapP?F-*-3xBsdZ3 z#5iMII`rLoccNl`XYqJ`!Ry>!CqIC@c`?*Ebj9mzy;9dgoeVd<&aFrDTYL+zL+^Q= zTaU)|e}MDQW3O}Tk?Z{g>v-;UZasPf=jMx0=jKbVv-KLh4s}Ys^E$WQCycx2eW>&M zC$Dqs&BF07@Hx~uiwkYG$9?+wVCpZSPFl}@`Q3hg-iJmRn7C2GJUuMS_4=jfiRodo zM>WoNdl`!FuMKnkf1KNTX@0Syg*ow}%f0k)xnSzWFwS;9jSn{!W?@XZR}J$!3=jkBE(?x5E$L6}o5 zk=*Ns`SpN#!47%X>zCfAj_w!cq)IIJ90ZEN6iaFxJx?LY7qv7AjXAE;ce4J9dWDTyo-ypj@sB+5M}~9Cn9nqrrnS7|y4_BL(HjA?ytdc5Jr2_RPQhHNE6?u*de!TNIo~(X=hp|O zY(ww3Zu6tZqYg0B8hM@D{OJAm-7u+}c*k|?(RsHPOq-^1uNjWtM3^`1qFJur2=tOQ z3v*gG*L&k&Ub2&ViCcs@En3RGrI^oXm^`h#&TYLNFuw*cM_YTH+wr@P-fNgEKN@Fy zKAs!B@;`++ecH&qx9BZ_ncY_Il|(OIyD+Cpd$~vR>ju*>Qtr|Gj*#gn_h^3UVbcCA z_h^2jVNQ0EdvW02!$j?3obCO(VsL|C_IH(g-@rYAN!(rTRfU@fbGwJ!D+m|wmoTSP zPvdOYFP*P8z#Q)-_X2Sudkd4azj5I>o^H24dVb$?K$z2PuyLv2+-`p*(W@~e%$Yhu z?$Pu1FC)X8k7MNCGOXkA*f3|(c;jr>$2hnY6T+M&6OFT-PdCHef|)j1?#+V>n1aWd zsdBG3*6{|W(+uPMEyr&fdhKS0IWcC-y~+6g;xOmfMYHr;qxTA?{#?_uJsweS5RCsk zTsfBWHHzxi8=C`HBeQR0o6}V!{@%m$pacSV(ZhwLF zd}wW$(|nWMyMf-L&0)@8+vVOatmDm&FlWm*H%f z^WdD`YkWS;S$k3MIhVqmU6=J;Cii6oL`B0Q2sNypF~+&eJfbA1<{0-?;zjg=5DEnAOkZo*&kG4(8qq<7|(s z@!=x=4s#m6lzY+OhQW+{E%(CV-opgF(|e_0%6`y$n_(_}(tA<=#pBTzz1In5YLsx# zakkyA=>4HxFn&>uvt1vBu_FMcW;D4+$FC1e{}{&Et`9nX&ta0rmU}e6LNKG)N%NZm zb1IJB`v6lRu5nWD2bl5kS7;ntHDg%y+f* z-U^uGb@kp`nD_PdUaJP-&d5f3Zv)JxCVDTdX}D9Sx!j}sTO`bGcGCUrFPNAu|r#owVL49dJA7DEDZ+Enr%8(&u*; z=6x5v7t$5?^X__YJj|wF^xjpN>%H_|rQYFA$G&opj^A{cN9?5I_X;L^f4N7;uQp8G zf%^Oo!aNzQ_mT|>cTx<~dxKz>j?jB2U`~zFd&NeFJI%-Hy-_e@#_PRLFu{}L9$g=0 zVWzW_u8)N<*C)$8x;|n}!TElgKEG}-GiT_%eK3E_(tEjP<9t6?@AZZ0KVR=Xhe^6f z?-hdiZi(Jo0dst*-g^u4e!1RjwF2k+ReEm&%%(MZFKjK&_v`guBuvMRdha?+v@LRv zZhx6zda;vke?wsQZq<8_UHnMFTL$xioz#oIJ=`g_L+`bQ*~U)l?SuL9 z{}{UyIGgJK@#Dw7WUC0F1~X&KjC~2&lbw()A^VmrSsD_uCkYAJl0B)Ad~GpAgzS|f zCR-Astl9pr_ngnad-FJ-_vd#WkK;RE_vv-tXSwIzxpV0&cdyW#e|CIOgtU|0UAv z%<9^Iy)mC0clQoqB2Tz`MKL{++`TE7Q^slAdl6Ikq`TJ`Gv7F^w;Xfsl)IPhbfnjw z)wTa##wEC5_+Hwl{y;C~sYQ_x)bOG!(=mnnCYw=s|Ves5y(8*NOX`k4alFbiYBzBO~`)6jLtBcee9c_R9s#>=@r^ zkE0`)+s4_Bhum+P!cktC z4YSTT?S8+;d{wziYYQZk0GstGe&EHD;J` z+Wo$Td9S*DzdO0#TF-DE)O6o(Jxnj-Z1=mB$3p_9Lak6Q=(;A4$Qpb0;>($rv z%3^LAC+B@oZ#KO$b)&ok_4J+1|%mx#yGDr=R1xw$^)3(tFn!Z9X|)KEo|* zqxWRKgT`n**?%v$jq*yh(|gT{yl9NpD^71E?$`EuPv*r& z(R%Xu$lN)~+tNkv$@%iTFuDLN%n|n^LO>0%s12+*L4 zUg{5`ys9(xUK1kSjL~{>y&bjcxNINl zJ-PmsGe+yl`LYi;_9ML~kB`rd(R%XuJ%hVDU+>BJ61BiLT2IcG`MAo9^q$Pu#Tc!Z zo!)HRip6?Q&X*&`XgxU|u}gUUyj1VW@f~4|t9JyKewp4YNu;k4SA}T)p>jUw@|eC#k zbCup}fa_(9){9}j4Y*TZ=smgKKeXC6T2G#T7vg%Z(R=dvm}-pHlgIBa+{ypxy@o_G zuH}7YR#|vEEAai7czQiCGuF9#iI^+`S%{wZ>`l?ZMpK=)#rtrq z+V;wPBQWzfxqG`Xxi;%P*?;kvmWl4(aLiugY}+gIoy4Tv>h8s25{$F;WWEWQwO_k? zNtmMB^zD`Ts$)8AclX9)ju@xScL9@Yhr3r5GtoF(Pv)DC*}Bu+JC7;%t-igo|LS8B zcDZ}=Fqe$e=1aMopO@`%_v&J17-#Fre9JLMzH|4yz5G0i)%E!3fElsR-CKsaX`D7+ zrv2>a1MXfs%xA{gdUAZXVon}(_c9*hamlJ}uk62`m>GxNy+llw@AaO{R{&G}2Y0Ur zX036y?UniVU~c~C?nNBo`p2qmugo_BGyf-dZx<%l&w5Yhi^sG)>h2B4>^07|y)xfP zOv+!}y;w|wakie!HvzNuxVx8xDSATRUYV~trbCjuHy(4uIBmWQm|Q2_y{edr#@Tu@ z-+av0Q+h9+ljOWH$tMiI1pT}xf;)Qbbd*>2th?9N7_BFtFBy+pd`|Dl-^1UFxn>-j z6*%8Ke*Zq^!{7a$?3bXQCrj@O%+JQzdh+j~oW@KzulMre<{876$xG1wJIyT{ar6Gr zw>KYdr!jslczdOH2KVg+y*Czj1(R^mcWL zUnVa>J$b*qBkrZk`h3zGYm8qDp06qMO~swNqWAI>$@W*2SAta*+wslB4Nqfg{q64c z#!NEK)|1aO%*5Qgs`v8YqOV2q87JS_{vC(ee9&tHriB-sydD4jcN{{W3zGAB31+Wx z|IU~Ed8GfkBbfVvE_8f1(#wz{+S|@5OFGt|<2#D^9!eSQz59@Rz7v?VnS7_smksk& zp!@H9)i8IBv(0yb6YH7G(O$7U?)ipc78|F{w*vEHp!@H9zhdU()%V{K<~xPi5bK`r zp}1(TB&#gid=)Vr16^poQZ!z{%zMy1@Oi0o+|e@3lp_B9+ODV4Ta5Y1xPRw+pm&-Z zPGNQwbN7y7vJ`({dmrc}(aVLoS;F1RR5IGD!YYexzGK`_2NPA=-7AmjX`HQhgc}B8 z8kTkUI$+*6&el834Ig6qmD79j?@5ovY&Fi-8^;0NgK7G--?M$bq$a%~n61Xic@T6x zklqiNww3js%r^$J#W>r1!|CnD)T^fVWWIiwb;jA|8^sOZVH(%adotf3%xdFo^9`Z5 z2~(k#-jn${V3rzZn@_fPBc@_qy(f>iPMGP&+2*^<4Ig19*Y|sJzd^5uq_+rj#5h~; z0ymt*>}}}ooy6pL&Udz+Twk8Vq-(7A$}?XcOjF}*J$byf#gu*C@7d00>9xg7H_q0R z$J2ZPqPus}7_BE4?)0srz4UGLUIdZi#%R6S+}H?r!C2elL#_v2+i34; zR#|MvHybxRi)r?f@3dZb%tGU|-e;Ii?etzvW;%$;)js5c&X?BQQ9Nc`2jAHqA9d-i z!2DyJY)4Q}Uf*Zw80}^3r1vV|N@98%XWL$RJw6aKqO-fV40GBzTW=DBU&0LSruQP4 zZ?Q3anY;vTZ|PM0cQbJRyzK53=;<4+x10k|9e1gZyZ2aMcW)uRvbdiI=)EEgm2#lF zcMew!m-97uuZl6+_DZiOu4#h1H^dmNCqM7`828a2ckf$cw4VHT0j}dZ3~~3y8>96) z(fc1R&oFoI8Dq3wJ9>R^``^@iRf*g*M(fGD9*cHO@9)4Q_ZHvw5OEpY#r4?ii=_(!Lw*)t#jG zV?`*wp9MEEz=~I1Y+kevAj7jsp-jl~~R!qO? z?%piSug2NtlgIBLn0hnyUQ6cdhuLkMttXG)?=j_P>%E%v+GCa&XY0jq!%ECgbKJcY zbECaltg_g8%ekR3=I)2?Uevs3?`2l4mzUlE%;b;sp8ULf9VXp;-^t@V=$cvAeh37_B#t-a*`}pSXK7jnR7Yd6gx& zXFhfJUN%PS$?KN{T%XU}y&1-6y&=rE2$z3_yI02;tta2VHOEz7srTgl=N_2J#xX|V z`8}AZOn|$~0_CE0UvAg5)Va6CIy`b&5%I|N*tl8}MY}d&?xZ{|HiN3S-5*TPaCgs+U zvu#IZOnc*O+fkJJeHrt?gYJR%$K`xpfZ6x8z8&)U#2d!&W%3fVU*z?8;ce00o7?rC zJU%`)#^eI`v%LPhfh)8_@5$@&=Zw*M?dXlio!_bVrVx4LTi$0``=h-E2lSrIHvsduaoT)Q2cx|G!?flkJ^_xf$kywpYI2iufVg>-3}ElldlKvLDgslb?6j#LWCj@Aaj(6;tYG-`Rd1 zD)SA(e05asb)$C%)8LpsUnEbY!!Qeu`z|ei&URfpfk}D7cZ}gb-X6F3;le$8NKG1PmHsj2lD*!3nug5{{7mXr^nJOgV`A7f{w2| z@1MpTxvKZ%`O>@Q8~IX}pq~8q4NBq)T-SSYYh7ccB}-6m55M0BSMi44ll|8Tv(C7G zkH-VA4`jZtF<;!&dzElUF}ZH}&eq$HD}edSINR}%`5yl#+Uw0Ki>)W~4Z?K4tFb6Wbd$%yPviQ!{lk??8%4i@6uZK zUn0Gsn97fYT9xar zW}K}j`(-QUWDdP2--l*=tdQ58RTh4{7kFMRr8gE+ESJ020<*?ATW=%1!4&;}h>v$%5562hs@)gm0^0}L5jnR5jxp64& zk)nQ2wj*>M3Ox_X`vTFJ_Qu(c$2jI2hDldkpD&VLG0gME@y7zUSKiNQgZaLM-YdhO zzl$kZGPE5*`%nH|tD2a5rF|#Y=g{_suDb>K{R(9Yd2Lu_`FFktuDkN@=XAx4dC)!Z z`mY^s_YT7t_9y-jn&>!u)8Q?QtaUAN+xNvWmM`3-i8lww}CS@-gN>RlO(Y z{Vh!CYQD4e4s%0oOx_yqUJcAJ<7~a1-0&Xe#aiy(NX#bVY`sKoIEa~2SMQZ(d)H$w z8OLr4Jpbf6bQ6=hzPlHXX=j|RcaHn%foamf-5ZSg%s5+5-v3*RS=~_Y$@zB-6Z@R+ zZ2M217b;_VG;;T*V3Lfp^&;q9#bj^d?p4H$H_p~8PH!$|@AK~7bxe(>`u57>qa|i| zGk0$(=DKmV`DFiPY+lGK+rr&zi&<`*ttb005tG!?-An&MA+I^BEViEPzaE&Gt=zq> zm~1cVJ^B795>vai-jnB#KE@;u$S*HC-Ysx6z<|X+kCRUwJ=Y2)qC=~sUv2raklwR<0fMUbklqC z`Jp+O{l?jjugrHEbELc8ll|xQ;CY%=7TbLCzDi-tHREjWAISd8_i`bxC95p9{U_J^ zftXi&>hsC=&cu9YoNarh_bcX?SM;9Dm!?-CuPUo7w)wKLBidqm_11eb-!#m(#@XhR z-Y=Moee|9jj~sn@{lY4X?Rd!ZZ)HsMt9nnaFAXuXjkC=s@8_(*TF3nB_y=y~CIS!}OlaR~GZ?aCdJe=A3c1 z?UnQI4yNh|cdr{}jd8Y~%(n}Zc9gqU6f?v)TTk}iB+QY~?w&WMkk^n^J03D$2h7~D zdQbj-z&B#X`Hnvp`1~uqjF_5l>AmOp^Sv-%8E5OI=Y}1aedG0B19~?wHQv_eTZ?Om zNjt%JvY$iW$A{jxkn7*$#_(nG67>2?o-fPe^1Y+aR{-~{F@7z0|4FYauHHnwC)d+{ zm@UTH&KG&T_B|%WBzLbc<~8GNy$E`5V?LRz_hfqyVXhfxJH9J$_c5PO@q2Q=LB~US zUmL@h$xG1jkoSGg;Mz=e&o>&g#5mi0J-J~eCf_u@m;AmNW~gztUVUyDhdDf5?>)j6 z-Z92(Zs6lBksGtj;QKdLS!}O|WWMW|VjuX#KA0HenXeclY*U9$w%(TQ7+liea)Y zard6W3^vZzJHib!FnvDJdvZOPfjMiOZU4#j;2%u%r|w=u%xvRqJ-HsN!0i7_@8xB_ zo5t{E@)Gp;mG7ssf6jG$h2E=9p(o}um#4f!Tfvaf@ zUnVa>J^6mW3$EmDy(h=Fl`(!Tc)nbmNP}>bzjOE28Kd>&{re-h<@@!X?7zdtXg%59 zi@0?M^jYo{J|h& z_%eA3I==FGqz`euzt?*eanmt}jI&)2PZy{foV#_(nG5;R|N?x^68{M_m% zckgv$wB7}J8*odGxqJJJ(R%XwCF?JRyc;LXh}F&>UKQL)O#aipv%S8O$6FQ5Lud4!{Qb*PnAXPG9v`D{ zT`=d3lk+s_`dpLWzlW)DR-bPtt^+3aH+{a!xF(oM#>xE#ozKVk{e_s}=k#7V+)_-E zakkzJ+*Qnk-~FC#d!;uIb0o|K%_rXvUck&gulMBV_A4-FjI$lzBe+z56!MO;%3{0z z$@{UXF7SC8R#|M@EAutMq`av2&>M$?N;km_x?ddRKA3VUGUk z?xniSb(~cet=Adz!WF$I&u?!UlN{uipyMm&^GsZazw};9+<44M<81TE@x6}O`?ubk zC=N5~YRCo6C)bzdn5EZ3F6i-F2e%)S`?~LJ*MrNrf|y5d=so%V_i0Q|<7~Z+xPh3G zH}#%8-dbU%7-#Fr`}eakqi*RvdAu#h{A!%-cqHPkVZQuF@5y|>U~=5{ovkO==faq4 z#@Qaf(#v?@Z(dxs z)G=N>t1PzOIBqM8*<_rY2SJbDxA^^om>1LdJ=^zNA4o$rCqeaY*vp~jd$8hD+Q_q`Y3K1uK2uWi4`b@z}lT5l~kUcfEPp!de%_F$T3 z47s4|)K()IGkLcCtJI4GUV`Qllf!`+Rt)49>aZO ztnEC_kGq7)`q%^8`@rWNm*a9{wi{>b$@So(F?^Z41kES!=VZtkNj+yG3De16Y%Jx%Um+K0KI<004k0hnq}==0shb;ophGUNh#?1+h& zR{4GR-^Y3Ae3s)o4fCCGw(T8-`xVoR%#{GM~Jn(!Z+cCx%zD!<%w&NVPti{cX z4!YmacEsa$8spc3uNz0W@hWalA-(swI82rp-~GEC51gk-xLlZ<#@WtO>18S$<3+Q| zV(ZEKNX0R!V|}Ofa$!muXX_==tBA=P=k689)HTl5llhurV&dJsikRlc*?KZxJ51Fg z?p{+&FXL=InJ)oTzo@&{4l~#|TTkX2h3Qnx-AlksG0xVL`DSDK6nFPVVdffV>&bje zG2=?Od$TcXjI;G*zC_H_lJ4G8%vR%UJ(+J0W_c-hFA?*zakie!cN(*{w7a(lbJjRp zPv*Of*0!BnES@rdP&@n;pG_b z_nz+FT};kbe5dvDV^Z{X_i|v08E5Mq;fC^aluHeh!fZGi{vSllPT3VNM%o z+un1yOPC+ta`*0GBFF3Vou*e5^T^xoUIk1$<81TYq}Kz}VS>9i9<#zYTdx}jbUmiP zyY60HOdsQHy-xH7V~$UD_tH+`=T@w;*m~{gmBmb(s`upYL2klaG|twO$L|fyGt=C? zmoYPqv-S3K!$M5|8SdU}%x>dsy{g>sJtoIYy(ia$N|+YL*?RK#PTFJU%<_A-$FKBO zVs;y6>&ffq?=flSxO=%VrHr%nl4LtD`R2NNB{21jv-RZrqh^@GAG&*$FfEL;^<=*G zm}>Lfy=Iu+#@Tu@-ylqbkMv%g+%INAm@l||00p!wwIgS9dB7rA@=F>{U6daE#N7Q1`LG3l4+^T~xL zFDCC&cdrJfmvOfFbbt_q6Lld(7*`*?Mw5kH)<4ncmAU_lucmoYtFx>G`?dlkFXjnQ5G@mxNo0 z8MVUQn}JznoUJF@yAd;KrQVbGHx^>H7-#D(#qGxQTc!78d&govGS1dZ!hM2y`wMsP zL(DqkY(3fDuQAhCyL+Etwi{>b$@A|%OrACFUNKA^<7~Zl-0(c+i~qTMJ21Z*XY0w| z%lZRTWu3eCJmwYSY(4qB#cP;->)pLmn7hW=dNsHq-3FcqH@bT-VFnpz>&feB{L3FiyMvJ+w8( zi(-|o$d9D^yXl) z?$LWm^y*>a_PKk{W40S-o9_s{6#HYmpAPE1CzvnAAAsG3kExovkO2kB2cAjnlR_#ZjJDS!J>HlDI7j zljfLvzTB8n#@TwZ|0-b~{zdQQm;1%kG|tv*%?*t(%a7~5qVy6mm%?1o^+29~Q=Z^+ zP)T}EUa$4SyltFqK6$=;AM^XKdQZ;hyO^9OeP`>*`H~-#=9Iga8&k?STTdRpl`uI@ zyL*K(&lqRxCDChuDRRc$tA=^eI9pH7m(G~-XWhL9n6Adzdh&X*FXpS?{GRQ4FUR8y z=Du;Zo@{T1a~xk*S+w56zw^AnDvPamj@!y$@|}10p2fUmoUJGC?{>#@{=?mS2eZUD zTTh-pR$@NB;PeLf4O__V3rtX>&bj8F`xeJ z?rp&wHO|(P`OaXzzv}M&j!AXRceb9Kf0;39uDg4=F{O;N^<=(Em?Agay=s^jjkEP+ z|8>T+zv=D`z`Sdmttaz+fO+edyEg~(KjUn@BzjvgAN}L*eTms;oUJF<=btd2-qw5a ze7Oa4+&EirHSQc{_8q-f4z~hxF3bfzpUVZ{4(851zh}EXOE2<1pGRkvMXnn`y$cN9 zM_dZ|iJkp=FTGKijmFt}a!30y`%}4lH!;Oi`_9&r`D$Q_r*-#QVkQ}9>&bizF$>eX zdwVdcGq~r=g-QL8yBCk?WSll%0wy7|yEhMW#5h||_TL3@S=~J^TVbypt1Pyj+)y7= z{}FeuKW4dcww}zFC@#CZcNmi?hkL#VOhit1uQq15aoT)S#pQPQmSU2Ov-M>EUBz6@ z3nTi9#LsvQs6f8E4A;qDE=tTs-YZzpDFgu8bc6O-RPUqwtzL3ghaW}I=_e6umL zqujl1m^;SVdb0nrMdJ#&dyz4Pz1FPS@sQ)&2h%6k-J5~gZ=5#YX>sxH-c3yLBJTNW zU}_X|_j+O$8mG;-R$K{pZx1GQN%wrYFu6**dsQ(B#%c3S5LedSn}<1KoUJFv_X6fZ zId?C6d9IVJ+W8{qUpsM6yLh9IX3^z`jZz^VL zb$4$g=BjbFp6tK$&){mfdwHMbI?1XX4>`WwFx_gody_Cbjnn2kCa#XVcNr5?*F9fF zOvU={UMI|KKXZNuC#&eoItm+iU2Ube>WUO7x3<7_=SzN5rF@9xdO>^IKV zJH`#CF^SFHy>pm|7QVCfmx(*7im5-$-RqB8Zk%nto6MJpS^K8DmxReRLZ46eUpyv$l)KjyGr>69 ze6s)Mi5uhYt;Sq1&elsWH;gUprGLxaD~{=AoUM12`G#QnyzTDI!0b29)|35r8gu#` zcQ4aKUT3pv=dHnj6+)E=+OvvcJc9%Bsy5L9ZQV`1|hOQcRL@ zw)tYX;VLHY40o>vW{7dNUUqJngjqP#-P?mnJxkx-a`bXx8qIO{5-=-_v&|=;=ii1o z_o2I&ZC+uoHmi0#WWLszsq@{vjhL&(Y4fFD!1Z8}yVn#m!8lt_&cAt>!%N(~JDAc- z_3f4OuQsOJGIwthW~Xts`DFhc!({)|-K&V{Z=9_s$9EiN`RDH5VN9kK`u588B?1$% z%H6At8E%|yKDoY36}Q^mTZ&0C&eoIpu41mParg56kMFlwwewl#>n3iUyEg>0+Bj{# zotT{)+`Y?~n2qlFDq>aFfxJf@Rz zw%#Oq37GWT+`ZzMZpPVq6X*@Wr2pps(8F{y&eoId9fCQx!`;ialj|v~cK-FJ*BZ0` zTX*j!ruZ(sC!aT~ff>Hr-CK%DGS0TWGT&89x9{A&Ntm6+*?RK%l4F>1``o>Dm>I^| zdh+?~<(S9=dQU!oP#@F9IR04R&!ZB#qdu78hy9-1Z_wYjl3oo=TjOlKwS0fx4HI$1 z-7Af0Xq>ILnqEsxrep421g3&@7?3d$yl9O79@1)vvy@_2zLv=V7XzcK5nrE*od-4QIZxX9|03&gwlm zUyfsL8fV*oNw}2174}ZD%A%cr*D=}7`Oemp2HO34#&eq#c zZ#<^e4R>z@W~FgjZv*D-fApT5e_t5Gm&r@e{#(l}8*u$@>pl7VTeC3V7-u^k3voYV zhTide;)1UC@_EN8n8Yv_G~ZO*VNAEXdQZ;3A(&~#+4kQk+&oO=J$J7hripR3-fViU zF*hAO`Fu&H`@$t4Xe3`ri^|o=# zd$<;<^`0D$VVDn$vu&?D-WFh9Or!T?zLCc8W%3d<-wJMd8~1cty(f>~j+lwY*&e@g zKF`NgPUrV*=U;wY6HGtjY}+fnH!!)=>%Hc-URB2Ia`gJ(j$;~T@$c96_jTjBqn?--+B!+}pFEBdVjOZVmrQ*xh+qDSZ_J&|93&>pZt3YhcT%meP?_8)+bUGGr>5y-=LoS z{m|8zn^B?r4SGFUTmF1>tk;cI7F+Kew@tz%6biYZURB&YOpy`BGVa~?rJ(({{ z;aIOZt1PzpZgSgD%)r=?3!1MIZZ77iakk^T8g~ZsL7d-{^D3w(=ijH8<6$o7c=RFg z7p6l|eZG**U@jKddvodKD8b{LRTkUhcQ(Bw5sjyjldi*&eki<4M#Cq>$-bS8KZ6Qer_CtYhF+9HNy?X95T)} z-%i{wm__yVUUl4en5+$aXX}mPhTNDr4c)!%m~_wSz2Wp8#!PPH?ybYzHqJJm^wKnr z^+q>w_ddn^X`HPm=kqPhoTl#Hc1*fv`u58C{4i!^b9e72Or92cFB82eOo^86-V2yn z#@V)4zF$~`Iq-tJcMJ1$D}6pWpP$9#cv0`k^HC+tQRCz~8FYO~&3tjKW4&T+{GRQ4 zD!pNtd~HL{)_Voh_oa{vx?aimgIkQ@%j6}fm&7ecaU0s{+biGyo-!sm#xFrV*?(U9 zSZ_b8EVk>Z^lloH4EZIfm&EVq=n(5&W0l3$E6#2CI>vepSY@%DFPFKY1*TSKy;qJ# zZ_EE8pp>BFl=6en^%sAV8(t8VYt%u&*OE2HcvECo7ve?eQPTbMcJ!8EO zUkSOO^F>|{{fWud%XhZzJ%WqJr0%WHC*M!UV_F!e^g`}Z#!!d zx0$%Pef6IF_nE#i#^eIezti0K2X5c1?%oY!w4R)pdHcnBdHcJ2HH^`Eay{*i8!$lc z$@x47^SyEWvB2%k%MB+mw+HIIjQsh6ulYusPp$_=aCeQhJ$|JZmGFP-6~o;(*48Ua zuh1Y~ce2W2+g_QkE9R-ezO(h@@$r%|(vv0V{EOg@#^IK}uJ`2eu^)5WINRexj&If> zJg>f?_X^N^2GiL%Tdy0vL6~2Mx_cRh#d>k9vS__3m?gvAy?vM~#@Tvuy-M?Dtk->n z-iyUe#%vhryKKxDbUY$)FOK56JKA@da6#9MrMV7zZ_=b!Yp7-MpQ+nbHv0o<=|yL%ZXxaX7aKXT)WyyNaQGe(j?FN0Vc{H{SD|?R=5mHB6!R_1+QO z0nEqK-M#!X__@Xh?%rL@_p|h#y#8x2JJ##UDhp!-Zm(Pq`eJ^X<2&2=C%qJNxel?) zV(ZD{HwyFChwk1=%x>ef-uIaDAL+g9%+%hP98c(W`{p zzEJPU{=0}tx5#(4?d{JE4`W6zcK1HT>@d#O>%$EPFx8goy_2}^n0m{6m&daIcH&<6 zB-YFSsqf^v6m&hUiQ9rn_qp$EkGD~{m6$RseP?^T$^QEkv%@(4Sm5zZzW!l;UFG*| z=X3IZ_wWnfkV;;H&X;rC@)+)(v9_Mf7ri>xtI8^iZN9_YRu}Wcm->9ttBGl6oUJE6 zpXq_Axkm5F>y2K<@MZE6w7nO&{rsshel7TTBy!_H+?2I?uQP5v=E-%w zv%Nmpi7SPb)n4#9`_hXFFepa6?nf{w?m_O-#4NAAGI%L zFqO9X&i32yc0`}AG`+e% z#d<@3*5`|0zU#*DW%3fVz4HFXV@G4XORTckjz=MJ$9$6v`6Z|)*Q-jnG{5M*UbrHd zS;pD+pS<2(huLym??ur2-59=1UV`S6?agq4=Sx;uY}=b(T#|cxUx*-usF_|21a#Y2VrQpZvURE@sLZz1IS_9`o>7-!Vque0%u)Jec2% zv+cjJxU9eVExt@%g0@$B({LTm>GRdVjmPXY&NiRCemR0k{9W(0!=1y_KJPo*{!7gr zb;0!bL+{D^O;e2F%j6|!d*ynt3wQE@-s_CZc#+Q?Uh zcg&)DzRO54s3*rG!+jp-p1eY~U;p}YTY1bf<7|%)dH&srIg&!}$?@<~#(C>g`A$1u zvZs#o@}|*yGG7hMm&V!Vll^xH^JqG~w~5}T+ zJw6U$?#KAf_V|$V{^`PTUX@tirKcY>Uvb>Kn9Xr|Pp;3mF<%z(opycBS~SkfSx=w6s){kmJI^wo9FGCGHpTUxoX?{%n@adjJDsT|+8(B;5$@TOTOtw0{)2^rW zF*WMyz2xh?F|PUU;PTejd+mtSz$`S5ajnPqGt9IGdQXn;Cd@w#eWxAYw$H_RT^i{< znQtQIl5yI6H!(?#^`1Q5(l?3osy**J?eVq_^KDbT_YU)2!3=HYJKOukmvK`tBbw_y zc|KZ(>DIz`+Vjy&%r`B4XL~-9$8X9PxbCvbqV2y%m~yS$^R>e~@uGXaMwlV3_4(v{ zS&O;a#&_EJ(z0!w*X|{KzMgF3ILuY!Y{x@hucdECtG(Wn$6Jgse3`u1t_N#zM>^;| zIsd$lTz5P9PCNfrVzzYFd+(C_9h1-{RwWulA5nDGLyfAW4^ z$zE|@bZ>pWinxZxXg%59@woYY^qw4#U6^rw-P^k!bM{qzd+XCH&@ayG#VU)OjzPym zp3f67?fUEU$@x4Evt@wqwDYx(|hv$TVKqj1mD@7FXj8U*g-rW4c2?|_}zqQ z_`2_G=d)a&hhzE-(R=cGV+N+lP~T~hV*7qUdU;0jx|mfKTTkA9se$P;O7FF&F#~fe%mtl) z<>=)f9p}9;#_!p#FVcG-bKN-Ej-XyAdQXhy`FEV&>&c(rgo%C2ceeB80=?Fl+Hd<# zp0`5R(**vXzZB$umSgrA#~<_O>)$z{f8;Cjs9IGt0 z<5ry8vb_`MRb`ds-}~*jhyV8|36F6af_kX8#jH5Z*Av+^bQ%L^&;s#@m`!)eX8E8Nn|Kyn{oWHz~dp; z@x7R{@B2O5@sM7YX>ndtR#|Ml?A*{6^XhbWZzd+mI9pHVJC8~Efx8!r>0_L&C-V)) zOq}WNt-;(e&eoIp($3=bHyLS+iYp(BXJ(;fnroxBrUI)xl z<7_>dZx!a7dG6jNOzDr@^Hs()pYQGs#cVT9n{O}XPHd3BMy zHxrX&oHpNi%)Q0#Ui6YUuP3W(zJZvDOWnOSm^;R4^QHYb&U<{ByH_1E&Ny37_TLoD zvQON-gP2^)_3f4OuK=d(r|w=`%tGU|`98yZ^O?JM2~+xW_k5KxO;)&jgE5K5Y4h#E zoLuSdWn9Ji%&MI)vj19PdVS&UO~V{BPMhy6=H6;|FZxT)XI9sI12N;*xO=NGH;vQg zOZh*}=e6!$b<8;9Y(3e3Q!tCyxqEvt+1KmaE02#SFl9Hmdu=fbjnn4)46}8kyLTQ_ z{44i-6);UUxqE{#iNQIul-uLH$G&m*Dq}_&XY0xSn}}Jw!`<79$-YzHUU_^x zfhqZ|yVnXc&p6wBjksYM=AT{eUV+^l4_57Xw50bcX4f8f?=MWb@AO_%det%0_PTqU zFsb*sds#3Y_PcxIG5d|P?Z5im@G~a*pu5))Gu1d-Pque1=C4EU-s6XP|AkdM9x`7K z%$o1rz2lh3AM~D_FGVp!e{}a2V=fqH+g^EmT*qYj$=xf98DgBRCy$RYn3+Gjds{K- zkLuf-m);|oqQ~65=9t;W+2)h&U5wfEi@SFg6MtNvPkLoB4Ntgx12G$ov&|>_?;Fg| zN$y_CUwMCnRXhJ=|24t%I_d6B!yGftHlJ+oS!IJ=z3P~8#@TwZ|E6F*JLm5GfXVy2zP&PEG^WCNcdr9xsd2XXWdE(g z?E1sq`wLUw+eI9 zIBmX^S9t#T%iU{;nQEM^C+Evt%=*9Gy_1-jtNQlJ`)egJt**IyBQQISv&|>_?;z%{ z>+as;H#i=w+VPP2dSIs9bobVaxuy4HzKodIf84z$m>I^|wpY%-`Iv8RyL*=~rSG`s ztBh%T*WDX~*<+k-KG}aiVD8;>_oDA}J!RF7hwQ(Bm}y>oveVx0+=NM;!gsd$Y2Ta?C+`TcFJ;vGQlb^%>fZ3JF-TMnu zF0*^S>X^z|+`TTC<;L0OlkHuDS(R1q)x-U43|}TMK|lXU%^gK$i}wmY?Dw>ve{?p+ z)mwpE{fN7F*%+-SKbL&^(Ri;^cD*M*|LBeR(m31xljFM?^F&f=Mhj}}f-m8xL!Wh0xUV@JA1#Y>9`!%=TD~!wVc)VAVRTkTP z@^iY1m~MIW-Z0iWmwx4&erMDjQYBAs0uFuuz zeTMndINN;k__&2BQ$n9lt_N)}V~n%)q=l3ro_{}vwe9_j)sPG7$$aI+R0}!VeAzLL!(32L=Ie|pT;1KPgc%&> zf_gIFL`?H%+`S%{C1Eb8C-ZH<46EVpy@%N!=7M@M-)YS9XWhL-%-t{-)RXxht{Lxr z&nk;{e1FG8*9y6yp3GMPld^Wm*^cjHnCHV>P*3LTiixY^?p47I33EX`nQs!NWnFi# zC+6cY7u1vazQVj&&)s_;b1=*W^<=)Yn9u6Fds{L0!(32L=6ke3y!RukEZXt?0~6CQ z;N<4Kp;%1@&aUDVSD`-MwCzPr_VKPv+Z< z8QH|$n~pgg=7M@M-#N^R=iR++m=sMzE~qE-<-q(D=4{8~A||$(-jn$%W70McIa}{> zOp7pQo9|^zu@>&$GnnCFE~qE-O~tfs>F)Kxd>ZD0db0nvU`D^-?tOsyAdF4wfqA=~yZ0gHSeOgy$$XbFYumefdoUR~gj`Th z=F5lqHO$$L$2CmJj(Tq+y_%SmokGsmdkph@mdF3Fgz4VZ-FpMGKFkI6WWK$aY2DntWtiW>Tu@KuyN%i0-Q7Ec$<`y} zf_gGvB<4bxvmIaW<#?|Wt1R-oAJmii8e?+w3^`k`Fs4hG3+l-?+JiBJUvc*)Vs?kQ zpk8`PsrJ}w-e^0Fc;L5`M$(_)z{rSfXVV|$OZM} z{o(?cC;Ek)ZN8G2-eE4NC)+y`Gq%6GHw$wl%mwx2_+G$V7~t-C13CX#WwD)q(rb)q z{94G_wzo58ewYiIPaYp@FhdjEy(yS|VJ@gAkB?KBC4=0(4Var@E~vMMUZ%n9XI5FX z*W(v3gm<#I3{+o_@aj3i38?!vj z1@-pOOTQ%)jJ_)>*d5W4Rb-gBlNmqs!nwGnqnr0 zxuD*DdW$dv-gWoh!h93vf_jJP{fzl+lDoGRb3e=l^<=(BC-d_PR#~*;djnH?O2`HE zWdGI1M7$Srw&PJ6(>Kfo^<;ZTV_ul*?!AIp7UqI_GT$c5wD;Y;WtiW>Tu@KuyN%g5 z&D}eNiI^U8K|PtTG$zxGkhAT-2uzzW7u1vE+ZR*q19z_(W=fa~>dAbIF+*p%ds8s` z!dy^K_TMSY|7N*+yD{l!hg?uku77zkr^B3W|J}rtnWOjQdQ}ILd2YzrdigPJ!(7mO z^7H*yF&#d1_Xc9V2y;O_+1?$Pcjvi#3ouDxE~qEldlj?xBX@5PCd2%Y3+l;y`7md~ zoNfQz!jxU0_hi1hm@ErJ&ekh{c`3{V&9|IhKg^Sh+`UqmK4C7XH-p|NOy0%rUUAGT zVJ@gQkKUV@{7c-uGMHDxTu^Tzy)l^BrS4v3%hAT% zEDv)*J=xwwOv}&Qy`Gql!(32Lw)ZPc=g-}}L6|jR&eq$7d3A-mHwN={m<#I3_Wp?J zz0%zqiAfA|LA`nO4rBVSa`(nzwuiZ(p6tJ$FmHb0?!AvW80La{a=x6!j9BgNO~V`t zbGF`Zn2}$)d($z8!(32Lj>kF7@HIibL7licdCA4EQ!&fKTu@K0SBaQT|8w^eFq6Vu zP*1K`3o%XC2K7RpXGo9hW(;2@FG0Oy+|mbEf1Te;&HoR2KAI}u*J9Fd@Le`sP%ja; z6w~c1-(|A&FG0O++;S1Oa+5w^B%da6WmxmTogY?_rh2w!NLW zEmdN?*OgTk+rLX9pV#{UvvP~?WWNXPzp?y&immb9I96F~@7L9!Hye}mwLV`eT>5SC z-b34c_YlpX{db2C?hL{V_%>+1gydP|7x{Nnwqwp2_wW9D;NMM=`~3@ZZI^z(m$~1L zyZQOYKKK1DzO;^oDc8c}$O=^q&0pVisc(jkERk;C5lA{p|N_=e>NM ze-q~5QQyh=9CTjo;RG&lEZ)0xJmiATd+Aj^5$`og3OQSEKBm{HkhAqRVGf=SxuD)o znePmrtN$(Jf_m~euW*jnO{}tLkMsSQbHD37`R^TlPt3v_dT$1eJ(x~6eP=tq=jbJ1+Wq4@+x1`; zz1f(jZtJ~c^y*;>-PL<#=yk-*FwQogJT8}G67Tsv+xfSd-Z{*Y`@Xa7zfSbFV+yB` zPmfEL^Fd+1XS<$C zZwuxR<7~bCxNDg0vF_eQOwKsp*?LFl<;UDIPMa@(d=al6t1Px&61O$OlqsUm_YAHL zW}b0cZy9EMQNL$99`gF&8)Nt~c?o*_%JzE2ig-s@WwG_-SuJ~Ut{bef*yfY-r7q@V z34MEO(a2cRH_1VM37Sv--cw`TE2Z@Lr1!BgTJJPBUdA0Rt@qx=Wh+y}`;b)@IS+#7 zo5TZW2c|{2kPCV~lHM>(mhvGN)T__+uPkOn#gGf?<)^m{v)ee^@sP*c_n2QQxqE3U z7xAK5WwG_-@m5?+6}?v+7lUbOobCEDfjjDnxmi{3$@gy&)rxo(SY@%zm&k23FsZBS zz4EwtOlRY4&%bgBu3R^MKE-YSKuQq$e* zikV}aHs2D=*jjo|{-M^-F)3^N&bI$jb4L-F$U1tjKE3*w8OGUqay-^x*3{K|+vpuP zhA)$spvT)n?r46!B3{ks{GRRl*OI~r%+JQz&gUfDCCuJN`g}ui*Nx%J zC+`FI#Wi?Y@5y`vjL~}X{on}P*`DrRmREeE^;*))gX`DJ-J4~M)|2^`;xhGd_evY1 z^<=(kxDWceds~drdNSW$T*-d!UMpj?p3K)3x4FN&_nR?VPv*OdYdO%}8*Yr&llk7k zoq5gO%begFttaz6jvG42-CJyo)|2_Zz&-T3yI0B>ttazU#Vs7-?(H!~>&bjS;Ytj3 z_g*kY>&bjwaJz=Ndw&_D^<=*LxE61^d&7*;dNSVx+~pDOUapb8(Rwmp6z+{t?%pC} zw4Thj3isF;cdxQBT2JPyhg&e#-P>)9)|2^;;3~f5?sYOo>&bk5ao>)2_pTVD^<=(# zxDFHCz469qJ(+Jh?$3AJy_^$$qxEFINZh!0-MtmYXg!(lD_oAr?p`Hhw4TgY7x&o| zckc&dw4Tg&3itF>cdw%{T2JQdgFF1byLZPJttazkm{!DVKi%DX%NVUE^G(D3GsE30 z@PTi%p3GMaH+H7G_qj1zPv+Z*i&gD>hui&? zyZ5&-TCW>DZ&MMk+h%ufk}+CO_TL=b-9&dUYKw2Qp6tJpxM^G6y-mhwJ=uS|aRs-z zd-aUbdb0mo;u5#Jd*_VNdadbQ!!_RF?hP_V>&gBbgFC;|-FxI)-)KGAe^26G+vVf$!YCTgGU;1bS)r^8Ud-cW<#VT2HQ5U*MiR;O^Bj zM(Yiy*A#d7pu2a+7_BG!FT)|e|2^#PEiy*y$$YDDC4X@DS{bADWWKJrqd&TPsgC$Y z>&f|-4L9K@cW<>ZT2JQNf-7^>-D_iv)|36$19$$IyZ6X1?(LQNp2WR(+}+z?j5eQK zUv}c+liaQ&iF>_$$Z&y z31{8CdB$ixneS6vnse@65o5Go4801t4!^s5yI0B>t>@9JimQ6X-RowI z)|2@L;3og&?yWOM>t&<&4ep1(-MxFpXuSw}4_z(d#a(mvo;OD8C2?arT-EFDUN>X3 zp3FA@_x=rc?<-@pUV3`Fa0hR?d;b`t^(N3ucZ=tbf84zd#%Mj6Zzpd5ZFldcF|J;k zJ4L+Acip`*#%R54{2;tKuE~9OZ?G}0-dNo96h)Jn_VeG(#%R4v%(n-3B$d18rS^@h zml>Bkt-Dvv7_FC{`5NMyr+4>;8l&|l(0dz~^C5SyiZQNUecX}E?w*&$H(GBL^JT_O z&gSl|Gse~X23Pk{ckfkWwBB&$8-}}|!`&{U^PTaKAk1?xl%v z&nKU!egu~>zq?n`7;Qf3Rlz+~z}pl7VJvA`xjkEPG<6g$R80+qh#LP2J>n+2~jC1$4Von%m>uuzQ z-!Y4dxO?AW&Ksxou3}acbN7y5t{G?R$@y|0^S=`A-U-YdWA+$l>&@VXA27Wt zxO>wuUl^zLzQQ!C=SBd%aoy(gb9u4hbgj9-F!r}_QPxH{F`y}rh1J^B9aZQQKt?%vnNXg!(l7u=R- z^q&0vir+Dh*6^L}c*y6y^Io!SplE)=Q%I z2Bu9dy_X#~+8Dk}UV@HqBDZ{id!e@8TfjhXVj}B?Tu^T~pQEjh+0!88f&)*kp>YL<^<(HtIoG;Jgo@%D|p2od|nQ5GMJQiX`HFx)x zV}3Kv*2}~VS1@;5=so%GW<<3t>UCt5g_jk9+k2SaYnXbi+`WF7mB!h6^7(`9nD<+| zdtYI08)xgu>+!5@ih4)e>b>f0U#gdUBik!W(D6-8?^#@(c6v{)e|?Qfj#+y0_f7c6ayc zW4ars_4;9+>gn#igc)L-t(VArV=y&)>%Hde|6Z7F#&KB+JRU8%qm!5lef6IF`!pRe z_l&dsdjRtHlZ(Gv)a%yY@7ex-h4dC;st)j-t#_5)tC%hcdapLU`Iz&@*|t|+U!@?hnkf!+mEvzH+^P4Kwmh-`W0tN)LL6 zFqKC5&Ng2JH`Ky(9qBvU`6u%&z}z*?HlMuSEjEhB?`VC#TlD@PV|M{3Rk_A-{2&b? zOSiO?u)FNiUD72WARt`=(t^~|AuS+X(%k~m(p}Om4bmVXasSVp=kBm)-+0dFGkf-Z7ZOL;X&5JwJ$EGnl|(uA}`*)uZFBHq7YZu8RYw z>pg?nI>O$&1@rl6d#^uC&^8wqFPI;!n=ygyBYuZhz^86VED`oYP(RDXhQO-S@Nf zB@=G*VD_^MUq8>kD>MP_BpdoUT2%W%7i^bSGjcf>XSt87+wXhh=abLI^B3G`A*bq{ zMejJwqPec4`S6dU-4FD$w9t9&I85?+uEUQhd!=#5moOa`*n5*;uCUYf=pQV32J>vO zxfh7_Nwoy;7vn}t_;&XEyFzVoM@^XROYOZoFv*sgd#%t*4>N4Jxt9U!w2F;y1@T2W zANcc=a7$L$dnei0dN1G(ueA4Gurc+n;?88Nayc(?qeZvB(0J3Xc8w3>i)y@doh|`) zZjHScWv#t89=(ik>(|+PSJ;@=k9tvl$8ogY-rK^))T8U*6}bBw?7c)A?c=S4ULLr9 zf7pAA*qGLjo|hbiJG#l-qu1Rp*_e8VaA(}jxtue&(W2X5n&Q3>Fip0&PWQa7IM%N( z%=WFW)1Ck3qW2bN);8DC^9|MhN5}7Dm^wSmJ^Jroj%R~!eT%Ah1NUr!oBgNT(~XyY ztGb_!TT`ze_5OuBzti6PWS479y?=0LAY7{5=3XYaQfy4U=eV;aT)jQ^-T*eHUOLRj z0=T_<&AmKuk6<$GcU?k6Rr5jb3!H^ndeC*c=ba_+^KW5_9CDrRdPMV49VX9V^ZHS* z0n7|`x*l!6)iCpqn0u4qj=;1$>N?%^oL=Y6f%)&4xt9|wl<{~jr`k!^B|=}d{pfY* zXMg2#j+}O#Zu@1y&wqXfuLE$S1*@U#CC43AVOpLwuOIDyqhZ#t)AjDaZGoA0&fIGT zcNix4yz6w&>%PPTHH8^{!F9Uvc1G_C8+_|qRNF5Uy{|9kat2>AuOB^MTMm=svfrtC zcQ79{UX%j z$f08D=3n-THOM z9jjrozcBaceDF2QPwaHtZzbGBn6m$xdq2Rnhq?5TQ;nB4Z1k78oanFIp6>Yp^-933 zU>6PlU)7`Y!5NsSZ_K?B`1xWm2ifU*8_;_Ov*fMYBd0n(sCN>k;XA)mt>0SohQJj1 z;CH%SQAr`JHP0s5cAd^+!(C zbI?m4J&G)q9KWcK~KjY;*4f*6$(A_Bej0>e2Cb2WIo9ey18Q^=`oY z9?$Poy*e20WthAHey8fu`}g0$9C$^uAOTm=uX!7Zd+q)tiN0 zLzoXqT&FwUn&RgRB@J|D;6@9ErR>r9el^VbWajmw--CUUJkZIF8!h-TWsiOjQ5dFl zN_(#@%rthU-h7zlsqMYfFfr1Y*N=V=5dia7T5~T1<9iDen9kgz`7HnwC4;?}4W>Rj z-FT_j0wz}`d+!^VVeE9h?YLtcOpPzhy#yFSczxo8R6`P$1ALftzVQ zXn(E<6St7P7Xs6ioo@Z;b7bvcvK2A+==iA4#e2DB9I%g)GJvb(AiSi?^NSWj0;enDuGV))j*E7GsEbrht-Sbl#?`fEXoz3ePgg_mbq20{u zHxcWXwYzIf`yZ{}Hnp57zsW4N=*?T)- zF0j+}2BP-}rt<`QZz{|hcDmjxjAJj%wqNbN+b|#4>3ZAIOEeMBOK_t_xBY1U{SPMb zB-deB%K6xbKmQ!&7CT*!J{S4f(>(ltN^onn(K7`J)5C8 zafeI~bT-X$o$md~E_mFyvjd$l+-T9g-`N2xz6vJ&9M?sB{np+0v-Bk+ZVh1ivI`%t z=l9t3I^}1WEnesOJuJQNy%%QFT=#Kx+nN47^Xo7f=DALH-HL@3Dh^X_zPXnSt^>@F z1+LRwr+dL2hAF?ubrH8qyC1MxzJ=cB8U(YHoo+vkhTe9VU5o8KXGx%w1vgquy+Sa> zmfCwgVSZz$>wSv#`yJ-bW%k~Cn9R$~>vsd|UH~S|3VW|EOkZ}o_3MK58xIp}mAzLQ zrVTq?kM{d8m`AJay&P)-ov(2-%?I^bz?@!d?z0)x7*y(z7K1i?y?_X`T z_iDlPVyEksLvIYs*=_b-;_ZP>A>2&!OBal)FjaS$dj${~4zr7$?)*o+zhVCV)9vZb zr*F`Uvop|%w#)BS&%@GTLwpHSX^(mRDxxN24ud9Y$ntg#z zJKSi&k14OykMZZ-U|Q}s_X@&|hS|?f*Q4jfCt+3`F!xHpoq^!MDCe)!Tr3Ucs$AZSF0GI}6kQjO$|K|Eqe5v3?g}9-sA(Lv_6QUay^Vjc?^N zy+io(YH+E~o7b-g9=9~i)(futOw*&^TUEFi=)AvVUO(zpxg6;1yJGIGgsXWK=e57h zJ$jv76Q(0O{Frk4(fOq(Oq=U&Pj^180XGij)<;e?AOFC8b_4H+;YN$DNAr>4rfYl< zUsOHXUvk6UW2@`Y@tg3Ltd|k)0$W{=)-UR9d+!EZBDj}qb-mJXY46~DQQT>m5RG z6-@7^<{r)OJT|obXi@Di^n2Lf;r@7T@BPijt*Lw4(R&8B=B2%NfsLuR8NGkt7QQj} z==ePb^MIXh`_b|C66X4U=3aWZxNlu!TEFplpfBOJzq9x5urc+9Nf{ zdOo?EjW38Vs`+)$I{|khj=47vKmP`1W?a|l-bWgUktFu$iVuOIa;!_-P`?mb7ZGfd0R?Y+@3G18iQ zkI~BnlQ_M(HyG!e8D>&ubC0&) zc9?u$*n6#E%49M3mY~-TCV5uZ>Bid%+b=K7jBKvc9dGn{>paZA?C@jC^8vl@?PL#f z_Tfg0ZhxjvnLUR2JcsLay|-{#VKRMb?j3=v1d}qSx%VaQFEG_|nR{j6y2ESDF!l49dja_Qfo$-tZ&989&f=c&aBcJ3d*j(~PPu+p zapzpPfd%ZnrEE++-|-7Ksi3{LosFqS>vs%pWg&a-EE`+z4&1)N_TFPQrru_{vq+G$ z88=#V$8Rw1y8)A=sOxn5Grisqf%(8r*9(QqQY^@+hZ`-X-cK-PiksJO5*qDbqL*-; z?)-cR`*S{+sHI#N@%%?et-EBz{}h91!Y=%H^Zee5-lu5GhJRGKpWeZpJ*ZdOJPvxD z@-xf=cHxif`8^oDPFV#ry^OgR0JobBzV$7t<8lM;IR!WJD|3%t2drb`*3{>XwYYN+ zT#vH$-fwJdy)|$x%h`LQ+1Prs;A)n)_j<80_2@Vn30J;?z1NYAt=Au}Xhn06p0~GP zW9rd-bcV}P$=sv)t;)vKTZ%gy!F^iU+@rs*77Ejtoo;`ggge^6M6GJ?<$$Tf&eUrH z^QM};m!W!)Qx!K_bUk_owywR`9_EX0%{>}#Uzln2%stvq|ACoR-`typ z-W!-H-`RWjU}iM5_g=wFYHaS&_PYZ!vx&L)7uN4J%;9GCUYh1X&R@9EqMP4i=;dk= ztJhpuOUoe8*`85BMc^_t+^M9^&1JZqn)`&+b_Wnc>aPLExPe`K`%r5 zAm`T(_TDX+=^f2IdY=6fCSzxF?`y16XPDjWbk9rZ_mbCPZg+8ey5~96i{BOJKip_B z^}=8V{AlkjfqBQy)JxS3$8UFguPn@DcDi0-jCVcE!Jo{%iH1;-acucAm_UfgZ0^zXm&t5QJ$m0_ zF}DgdKiNIlqVS=VxK&&NTNj!5xBm%ud&%-|N1CIq;jgml?gMZ1Amb zQSE6++(L3?{m24 zFn8vgdwmfISPTw4mkZ2W--_`cVy$us*jq7xedl`?D80INE-TXE~pyb*hXZ||>c2Vum zkI_20U3;-ll7J+E#zv(kJd*%{=d*=-+3U6@|%bmO4U*A0egyvOb7=7aXna2?et^rK*{jSr^ zM^=nu8_ey4_Hkr96y$t`8!ftV?8JT5U=kg69evJEH6POus0;Jri0gFw6%;X2cPwFBk`JKZ>@*7{{1xKalQrSDm&dc!tl8FU|OH^ub*lhbbO43d2!zF{EzE@Jvaru zG#7%L^|;YuIzH~gJh@~aN6yRm{UvU+=*BSs_k9aC0ZX7fpw_uvz@UNfhacLYQVV>OdJOATGoR1W@ zf}AzD(W2WfG>)4v5AN8rC^}2&UC@`#9#p>}97L#{oR`e2KE?ru^Z#I? z#2;~XCKE}m^18jyl}Dt>Bs@4R#JBw~r%6ieM)jZnWse zLD!EEnAPk|$H#e?qN&W|pzC=HGO1l>IzDp46#U$Ersr2b!c1nT8^<&}?i`q6Y5hIb zeDp$~C(O%quG1YK^m~`I>4TlqxY44!ex$>Eq|OlR6wc&-T-|Zr9cC&!-8eGgj(ITq zGrPSwcx=@;=>5~2UtoT-n#V!C>M&iinR|4cpM$xU!`_SiWw4Vor@7~#Hx_1WpuM*d z=2DQkN1v-N5ghE42{HHReY18j(?eaS`}^I0p%*t#uyZA!>rDG!s{GjRaiax!cRoDt zAJF5LgXvzt{J3}UxVK=A6t+KZoFdrHxY-^zA56=l=EuE=$2|qJs)YSW=e^Fdx|I#zDWIiCsC^*^L`5x^d9;JW7>dr+HQLIQ~LoBuwLK z=5f$}&vgOJny>wjs~g87n1nT4ryB>oj!F$Plbz}Mu@@#sE%P|&byN+QC+tkukBr}- zSI0h%mM}lF(~V;p9(O!UiMno2_qe4I=nS*|Tk|-!p?3vlMm_)fsm|j!&^r&awSnL1 z=Hm@an(thv8^?A$ZWfr^>`ePr#)iSpkVfWloJDU1%#g;e(;Xjl{WuJBs;PY(37Q2v zp}5ha8^uCGw_NyeF zf}Q-h(Sp44`c@Zrl!Teu*>$?-CCA`Cz#Q$WdR+he4D>!%+#fM--CU>poI)>*<3E^g zJzPhxdvxR23v-X1ZX74^^Uq=S_H=u?{kbgy@p=V2KlOH_X=j=K-J^==c5DM4VapPU8j5A z)ClAF6DGqj*O}&{6U+p5rg6-Kx%abu9HoZ`JI_bh#}PCV*XdFAaeOv9*!f|seH>e1 zuCddNV;|<~KFpe5+@5Z~qWO3YvuM0|9RH$s6XwDM*Xib$<|EIq*v^yetBV6w3!Or~|uG5{bhGHDuX5x9%Y}c9g ztE#^RJDqT&MK_M0abGW(7;{{wyPh{fAV18cxvtY4=L^x>4%2F$>vY#6dYv*CX5j+A z)19wwz{FhWI^8(d;c*kd>|v)HM{xvR!Q@|T9>-qv8o^{);$J`2`HG&GG=(X<%~!O3j_r35ro``V4|(PFJOF`OFwNJS$B_p=KN99ocHxif`TGm>`?o_de{C@La-;Va zCf7#S>3W~yj{GpC|FHMk!pvZ2>Mev>yUE~-b(dl8~a>Lxqj`f=XvyYvwcLVMO%8*dXYQ59$pkPSx9j z-fu7spSvz9{=cd>3BBGhN&YqW==d!H^DR64n6gLvOEZ}5FYUcMFwtMRPS>l3JL1DM zd~NRyftkxr*Q51Y4io1;doMRkRd%`_tzTW3MQ`oB<1i1|>3Xz&uV8AvxA%I%OlGI+ z(fZASdG^8HOXcKt^5aH}u1D)v5@tpe*XhoGw7=|uxz0}4qxE|LQzWXr*BqulJ6(^~ zZv@PpX!c$}^xRHP+)U%8^~(n{B!<1W0_G4q)B2r;$sNny`xd4fJ6(^~uOH0u*!JFQ zn51#c`d$T45m~{d#?@5P&1r*qPSvB250Y_Ff~H-t2TeTE8JMXVTewA7E0aH;1B&^qK6v@-Qvf>3Xz&9bgV+w)dXHB>2KSUfO=CVA^D{_r}4j zWM^8xKVXt(v-gU^)MKaX(fT!qS(n}3y9D!wovugQFIosJM4aiG0-0_G7r)B3%JDIaX_b%YtkPS@LqJ0`(23bFTw!pvi* z>s`bhD`1A_vG>-%9Al^J9m5^xVHW4J_fEh(VyEl`rcHEH~ z=3*gxFIr)oH*hoUFErj9F#i>?_c9jE?G(q&)Z2w#1(?r@+k1IoYOvFdm;N1=1~A!5 z+I!Vueqg8T(ecq8=C4xr-dmUyrOo4|<2NHr=Q8%*RG1CybnDj)cl-(SMOk~V3QQYz zx*oj`(iP@#IeYH~Ov3W!@zVB74b#1Xy*CSH3p?HV(e~R5ldO`xR}7{;J6*34?q~tC zr?S2G5GHOF^LT0dC4p&I)!v%`vznc5{b>7bhDl!C-YX8%fSs;K+pi_e`mgQ1D==@_ z>3X#NV${I%h?@4^D3~SebiJCmV;xNFZ|uEbm@4daJ=%VCVAj^Q_b$S`W~b}X_KR8v z=b^gxUQd`w>~y^@xZ^jNr1k8*qA>N?>3a10_~tOj>)U&;VUjj*ovzmbccgG<*r|bE)AI$FW?Y##u zaoV^}*Yj;Zm=SI5y|pmM+39+|?FUo#2YatQ%m{Y69-Uu)g?ZZE-b>jbx04Sy)AJ!Z zzm$L(+tJ?J2y>d9Y5lIk6z**AHG}ELPS>OL8xC`!i@g`MYi=hUZl>|l_R9`4_(ywh zIm|(Jru91olexRSR~hDecDi0V+|dPQ{7?4YW|(vAbiDxFaUJGa4|^|FPrPq|n`!%H zLa!uDi(dBLD3~Sebn8dsT?ccjx4ricCS@P<`q6kZ!Gwm{d-Y*{Vy9cb#JFPs%*4L- z-Zq$v>~y_X*toY~F88zdV)W1LWW>!hAGCfsVM+|J_gcdYW~W;}`aHuJm`MZ8y_9g< zVa^Y7o$hlZU&4hB#_Q=J<{tgNb|@R)fbm83`!f1{?IgJRL(RPn_&mcvn8Kr6mrc`q zgO|M+KG$*suJokbPSz=|)BQf4dd*<+PP6x> z!1S46?j1w#515~4nR{2^9>N^?&EAVM2lG4E+nbe`+X=q zUpoPlcahuE{eG(`df&0Zx4uQSzeGcC8r-bK=3Ye<_Q51t;yV18a{t?hKTiX5lbvq; z=(m0Gmbxu`>swUoNBeV8xKEau*N;B$mz|AUQ?K7K+?f|H#&UCy)-M+uQ*S%&YzUWj zg}F!bQI?IV=U~GQf*Z8b+@s@W85>iNKL57{uHGthkN&--0Wj0q>E@TV-vXF!tIfR| za5G^BtZ`ie{D0N__QC_@T$|fjw9a*Oo>QG)=-%?b=XQGHMvHF!==?kgX5@O;>GnVR zT*f+>=^I>UTEDUzb2~f#aGh@bGNRXXlWS=GXi<%qw%=g5Z#J9PkIu(^U>2~`oews^ z?S|>S#oUVpH;)az^)0IPTZ?;^!8P7$?sbG42J_}4r|e-qGHk>1;_Ysa*26!)-F@pp zUugS%u>yP{CfVr8a-|em|g5>epQb<9)W*g`tGzp?lG8W>~xPy^Zt$vzV$7t z$9;=?;_brwCA-brFCkno8@Hw&$ER4KQgBuGn0s_S=*Gs>TZ%h-!)4oR?$Ps=>TGPi zZ{cF>GxzB8)4AA~dMj~fVYq)Rz0cti@5kp9aHA!B-aMbzqrcx%7^d_=^ZHS*EzHmC zbUpff=XjVpN6fwW==Eho>qm=ff1&f_Xt>Tt&Ao(hQ`u097F}-{+}LCG-bOZVP2Ho< z!ySZMf85@?!p792_cxxvH9u+Zjbvl$bwF<>T>Mk^UOqOa-a_=s!#z1|@1;278dGmB zdO6^Zp0)R0vN84O`WE{fey@Ap-YdYy)GLQxMYwSn?7dBFOg%af55pb4XzqQ5$P1W4 zm;6q(Kht@Vx9z>2Fk3%z zs@?|lZo$mBYwzuWiG9!SRK3LL1;doN?{}*Cpz*eYS^1Gu^(LWr7N)}kdv6lVg^!%7 zN5@;#hxk3yBXf`b{lpNM7VPk2%Ke4j-{=6->an?34}mc-_n){<_xIWc!qt76+qv}2 z-i!Vm?=!qG_vm;#0@LKBxpxcW_!*|dE7#HU57qXg^XXEUnr~be@%f+s_@(VUmkmswUg{R{ULg-iIUxz`x3 zAk0*Dy7@?r_1g$@DxSGVuUFr}eDRs4e?c%=CC+;*x{bTjLPUb-M`~?5fAizrV!_=FU&pK|9*h^g`IAHrsH=$%#1ANUV6Aa zZ1AmbQJt^0z9KKzV$7t_1lGeD!~Qh zF!xfy!Idg#?$LiAtPRX0 zcDnVW^XYFew+fki&(QmBd_ecZ`NPTEgCY36r3t>vX-sxFZ!z?Nat$7|djLrrsQwE2Ygn z`uoW-%eV&L`WDsxLeGbS;Zl5M?sbDJ!N#qr_vfp)a|7I@vgY0nxa~0g%K4pY{pjBr zTLiPNg6nk8{~Dq91g3gL*Xgz&jkg|5sY?FGRqcNb;o86)V5jTRb>T0V4VCS^t1!i? znAh(ydgWmXR5kbL-`{8qleL=bbjJsspTC0nzPh>hC3?TWY-OiA|1CxD1WcbA=3Wl; z=EEFkr`vvYaK{ChkXrU$J($7lbUk`LIR@t9H}+n%+96ILZnWrnw0;F(#@4a-Hp1Ls zr|Z%BJ%lOvt-aR-W+XdZkJfJ@%%ghtUb6ZjPD$KMR{lLvMUfO;&V3sto_fEpRXJ=Z!SWQEmn$7IJUN8&T z>3Xz&t6*Zcu=j#t>a)}JX#2H*S>4j!I}a1RmFsjpTEF-(EnC}rqhbDFr|Z%B?Sctt zWAEjMY06I5qxEYCv%9Um_W&k&JM(yH{W8G(@PobgE6fgdru91rld*%nR}tn%cDf#| zUtgF*9qqm6FljrP$4lEU8%)2>_TD0xzu1}9?=npGuJ+#7FumF7dbEB+V6OaV@5SsE z;^fB7bUvW%R~Tk!cYALo%msF)^}7jEq=&uN9A*qVU60mp3e2sZ_TFc`@H_%H(|Bq7 zm4cbt+uqv=^N^is{a(S84zu^#!c1hR>(TnnhI!rB-b>#v#HoavX}q-kzJd9zzrA+= z<^?;``h9?@J<#3@gIUZ@*Q51YOJ=aWmldW4J6(^qUjvwRL+rgvFtLWZPS>OLO9=Db zFnez>%qn)e9sIH$`pGq=2Toia5J4>XuO4CVokUAf?(>g z)2-ij+|e8+^GtiMGE8@Ny52tA(I2M5Y(Tb>40CXi zz4r{}^Tn>y^=SKLh3T@y-kS!qmz}OxA9oyw$+^tls|C}SovugQ?`N3H%k8}wD?*%L z+)VomZNEY=<5t>xn_zCS)2$zEzsE3zSKE8dU`Dgk^=SJ|hIz5Z-b=F<@1x^p8gDi9 zzJ~d2oxOJe<^?<5`qB3L08@Lty%z?vn4PXi+ixwIjrLwvm>TSKy$-me0nFh)?7bH- z={C7e*Q58Jv%~zd+1~pD<|aE`uPyF)1XFLTy*B`6IXhjC&Q}{?l5e;7io>*Fr|WgW z9bIAW?y&a~{E7V@H`D${+wUuw~uZa|7OD^*l+I@fN91~*Q53O0p|1pd+$9=wu7$I^=SKrz$`dq?;VAC!%o+u z^^0~m#A$oP-Ww0Ijh(JX=a>C3>5tiasJtF@L79rIm|hB zy7fzqJFdfgIA`x=IgjUmxS7`PQ}pV?w7OvLje*(3PPcyPaK~<#n-}f9c$Y$){J5Fc zkH%XP=DW-G-e8zj>~!l#(IAw4%%||r!s>0N`Y3?;cq$kXkkDTiFjr9Bdn76P$ z<3@|__sNBEUzXdh@j-l1_2~DFP2nouG56@-Z|@AVke%-Ld9g6wJupY^ntLVD`xhqv zJ=f`a`{2HT`TV}U_Z7@gcDf#Yo?$*rpMT7~D&%0Ev(xpeVY~?+gg8we+Iv64oMor$ z6-V!1n7ohez3*U_veWglqIUr1=@WY|>+oaB z{f|E1lnEx_g}s*_ran7ekB*NPFyH-a?j?j9%m&~37S-`VpAVY^H~yu)x0wy+l;frI z{Sml_ugpFA`=v==yT;Vpg*&sr-Dj&iAJFI96TPwb=<_*g;O?^3^>V=__|M*RFy3Nt z#on67OTCtC@U3sr&Bp||vG44?jciOkI$zy}d-UGi`wfv~A3~gsxY45fyjfp-FyRAC z*e9VrN88>1`Hk+rKcg=hak~x^BdY7d_h-+4FM(VDOo-C?|2_n*UlEuq>~!l_8ta!i zTBy@HhJF1G!#rkZTE90iX=19z;a|UkSidYVjoInWFLb>OgBcLZ?dkSE>Men}$xhdM z4i`0csPhsxT6DckxG!xS*Z3g5sP;d)UY3H(5!c-F{k>zDT^~7BZy(0{56s$lZZ8)4 zy8R{EXQ56O+-Qk7AO7u3j~fj08#@}W>Twq$Z~&%LfcFvGph^Y@AW zf|~%-I+@$k?SJ{<#=`7p7yh`O-UhgnFvF9(J>BQc(!=d#gKvF{YCoXuatE$^O7r?r zZx$QQDfg=p=C0_T@5&bPSHVp_i+VETu;PIq3TaV&<}n#a6;OW}Iu4Rx~SH?JRk?)4%} zp#tXhOO9Sun3e_2>sJkKG|ZJkuA})??FZfA+7u3Tt`~8g?!4OyKcBW}s51mNT6Ej* zOZ29~>@8+qKiZ!k!7M56I(j~-TEFq=#V--+%qeMJzfAb~D=<+@xeh<3>}ACr@nG_l zHm@J`8o=~pr|VsW8xGU5jJ-D+W(_-CkIv&;U>1F4?lp!x4wJjA>vVsQB@_?T3}#X} zb1wsW+u7h--=dn2bm;vJ_elkFkN#e2b~c<-&IkRyn1XO|Dw=zAZ*G_t>~zn==zW!e zFqJBqdj;USu)(*!MK#`6xMvyMyvlA*cYILq8XLE!-v6kVvI?$SRqeehY)m}|^DzW& zNHue>J|a6|(pGmJeoQ$Z^g19LOoFdnr#t^quK>&hcDf#Yu6`!W=o;o8?Jw)u;9K9K znh#pPy>KgPntSEo&aiQ7>hYGwil?m=>NNev+@s@TILtD3y7M2M*LJ}4u5Iqcf}6+2 zw0>)G=Q6m)bswU&3(dz2xNn=7d;Q@0!$fWBI+`CKXZRQ9O$&3c2YPv1 zhB_;8qeXWH(uDA2Debq+av59fjckgy%P4E@A0|< zH(E^dk)4eX;)`y6bHf!C^y&+H&EPs%dO=AXXB5oVFn1jNvELSVBJY1+;tj+Tqe7kc z6I^%j|4y<0{j#x~yUaCrs2n!;XvxK@JRU}0|*+!R4?gRr+9?vS8& zPuP13_g>ITy~Ld}+k9k#3u0^9|EdUk-@r8y^!f^WL*d2?daH%KKj8KVdN+i}*Z*QBK&a23KFu>mls*hZ`m6Efx0G!fhAyE(?3N;GPP40n23bksK}) zThn}$6!t2>eIw{~5%zk)4fXaE*RA<5F_ybyHeI(;vay{vGQj0xYuYZAguR+@jRd_u z!roxGUj)6C!rlhBU4q`tzdjtP5b;cf_epRAV6 zM;y4MY)$hKD(n@8D<|l+5cYn6>mle(682`nE%o*k*XaW=+1I$+&~%+H%Eoq`{tE7E zw&B}Z@wgpejmNod=8hLt*KW|*sBItU(o9z?DdBm zCFm^`_SV8}7xXR*d$-`83VH$SWb=_6E)!eRe3TUSD!_f??J4%tE--(wGwr8$*x2^d z$8c}in#PgxciDEy0GEqxcuz5oN-#^=nZ~i5jcpwJ;QnG8{HBf;;Q&{n);3mnLohzp3cg)6T!1o|7`bQN7Rl(&Kc$ zU-$qQccW+C6px#YP58=a9yhzk=^i&XTv5T}*7x*u<89z^y2ot}*U|g9isNXsus0EI zj-aeNXy1HA6ei+1ik9QUR}86g5CgOZ#djUL2sR~w*_v$pm$r? zdj$8NpqFB^J7>1}NDr5jt?4>gQP`^i*HF;wE$j_~8!PCo5cbx??G*H`343?pUI==L zw#eoq6{W)VE9i9-_QK$X3wn!$y;X2q1icHw-gUS~f?m9>viV2?m!7R@ zK8gu@W#MXAdh~g?jxhb$xzESdzjvMhGuzUm&x37)*~N~Ym*I0uk$&Gz<2%9z-})An zqxCxuca5!S{a(OC*=D|e(0^wyElgH+ZZGos(dVNI!<1yF8wdS8u}W<4t#46{gMM#c zBa%~Z=Z0`?*oN;1p68vk-ordS)$>2ve#7CWvNdhL6)>CFg+H$6`4DZtb1;8L=&85g zzc6pvnYLey?cU=fa*wuOyhu*H{ZhbXW*a^Z#r7-Z>FKs#8Ms<(P1~s%-_WJ-Ae}_BA zrtOyzCXikD<0`gaWteXw^wit$dzcRFOxv#q8{78l7s;u&-$=O0Y{SQ)*naChJ>B-( z2)CcDY5QG*xyvs6aXs6Q&d)Lb#OLsEqeZt}=;xEN@j-m??N^@na~|W*Q^3XE>Gs^u zZB~nPzE2Dn3{!@kX&iN7nzPf5gU&+(U`9mfMcxnS^RcsFmRKB}U$(Kqx4uPp93710 z)ce61xa(|njnXMds3+ZOUT-Rs{{ za8=ocub-mVPT1=T*U!?U>)TA273@s=)lQhBmL44+4`80MGaVmq+4$!T`=96dXoNdI zz%|_M&au0Gk&h4B&Yju#d+PnFC)^OWrtLgW*jom-QP4Xh>|KGoFX+YIBirv2z@=ep z8gC(CuM}KWL9d;#*A=dxpf^+4TL8C4&^s>dorAk6=tbQtn~%6~$=I6aBag6G1g^ZG z*HYMP57*P%QyiC*VP3N{9hdR;$+k-pxb$pI+ohPWR~D{@x2G6KN0{U6Oyju8#&&*r z0QZ`0_&7X|yAqLP`|g^Qv4#J%g^j-*i@8Dt|^vs)Q`_cMkVS{gdi|%edVU32v+-GMxjy|w)M?v$ep0}8XLY+jo(PEmnU^cd10k|@PUQ=PO4O}-%kB*}W zF!R`%j-!n*yDdFBj;_PpVP`syp0e?8mw-sGD`>xZ5y`3N;~iY=!}j^e!p8r&>RupR zAwjRMu-6!_ouD^d*c%5oQ_$NY?Cpj-F6ccH_Flq8Jz}4a^lWVNkqs`7pjSiKs|VLo z&>JM|jf9&l=&cv_w!s|~^zI6KPvG7OdZ~`Ob7q^5jBtT$P3OPL!d@-7#)4j$ur~y5 zoS?T#*xLxVThO~M?A?cZDd;6RCYz5maM{?J=A*2zR~4?Fp!buo*AH%_ptnTWTLZUE z(7Pn;-GqB0=*2%Sn~!908QGfVqlB2{%O0nnG^V6!sRttr7H&3w!6_ZVGx)Ps-*aE?hFU zruoPt>=l74FX*)t_S(bs6!azwd$Zw|33>;Gy_0ZP1ig2{Ui824@3r7Yi)lUr+1Q>R zf*n0;T`?P&NvaqquM<84wL9ec`*BGvypf_CD z8wWR2(Ay&H?S?zhF)z8>kltrj{X08}@#h6#Dzh{FKB_iMQ+DCoS@HX*er*1~ z-}`O8gLGM3dFX}b?z8g1MO!JYGjctDOz?Bg68VY+Y;W`U?V}-rR zaPtJcoxUGb2c&;CfFbU~l`mr-zS0}Ks&D(6aWo&iFC0(Zv3VUbZt_ylmZphB# z@!(Rh)vX_0xAF;l#o#J>d!Fq)3%%Abv2T7nAL{FL7MMcpOxNi$Fx4aU)Ys|uY_JOM zqPb3Y_Bh>juqWIQ@8c@2)ANMAWpEn>y)(kz6}bD}o@YK9VN1lmh5s%JZnWt3d)g0r zv++TE(QTJOaAVn;_Nx`b-g>y5g5EV@?=IX6K`+s5*>RK#E(=@Jc*_WTmEr0NdfkM* zFu37@-XdXd72Fm+|$C2YgT;dz}*+hM<_r}}$Jbe%cqak}fwNw_QC$5mW^-wAus z@8f+C+-Nb4Ban>`(ii%7Iy}d3aZErkT*rUhp6-1l+Rk&>{J*Cg?+Un0Y{S=2G2U~+ z-Zi)ff?nJQ?ig(Amk2H`Thsa#5%$W!RTuQy3wzz*1_*kyg}p^^>jb@%!rleA+k#&7 zhqC#I2bY4aX+H7^d&S@?3VN-Dy^e6b1-+@l-W<3Ug5F_a?-blMLGOdG7xNK5$Bi2; zruhhFV>{joz?Bj7nhJYu;JOKV6NJ6#aEmNGI{)nz_D;fGvGnNr@lM!_{ut+b+-T9w z2VKttVT!RcUC(R4G_>^SI?x-YKRexZn$~9o8+_|qbl2(8k(~NEJr!;NThn-V!<=Gg z8t+}07nUB4H_?+&Cpm7kn8urdjSu3BYP>YRnIk#%cyq!PV5=K1^=b=y4dL1ddc%ah zv2fD`y-mX2PPn6j-UDIp1zeP;=Hr95Us^W!*0<=Mzhr?6@%B8=n;M}|9cC3fcmJyv z>G>`_?rt`|2gMiN;~s`P$2NRFP(1ESnA*?W@tPjD4IA6zc7_XM8~(V8=WEl2y?Jn} zEIm4(9u@X3z}>d=Xgf!L?rsy?c;msPU>iPO#dgjIGm)KXJ1=2ld)zf}+t`Lbu3|f1 z683JwJ@NKD<9LjfivJ?i`G6ZOx__^L<|E6$vh5cFSB$M`91VoM=5QUoJJf!}-}WAN0C*4$RUBy?{uLUe|7i*~3nE{h@9`cAn2VI_AbNS6ZB%ekb23KFu>mls* zhZ`m6Efx0G!fp5VJllB|w%=u#K5yM^=x&$D*FoCO)7ao!-=aGoEQDJdp%?i&NayDh z!rpnfTY_G+ce4H9Q@G@8P5VJ!VXr7$1wpTsu-5^um!LOA*!vA`xuADQ*!v6as-X8? z*o*NV|D93XXfe%45E~!F7v27sAFi~w=h^R9;^&*dB>eF4<3`@^>3xtOnBweA&;M$| zG>XuRyx-IFzdkTSBJ={3&;O>v%w}hL{?3(eql>=St~$_IjA3>`dGFI?N+>;p^vl{zuz6-Y0pSq`1-I z_9Aa*{O3rW>@daHxvys;JK9THvY{R=y6rqQl2dQz1#oNF>c&Cm-Q&XECAhnSUd*WO zHt`L@HxBjsC4x)K*0g>_guU``wY)vgens2Av!|zfUC}L)!|Mu9kLLX+q3bDhy;aV$ z|Izg=%;R+Dt08dX*qXNUDq(L6+TnGNy`I9}0JzbD z-ZEit9o!BRvlvW8cDf!t?`#dzDMByu^GSLhJQ!vKJKghp`rOj5 zZ1Amb(LL{+9?7Yn*DZou$2NQ%o_V9~aMIJ$eQxQL$LZ$d65L(y<0|Gi<`=U0jSrWK zZTL78y#m5s3AoCFUK?SrGhCRUH(l792e(SlJ1Xp*fx9l~Mad$YkJxZY*qY`eMA$0? zS60w#F6^~~`$^E7DD2IITjK3`-e+ip<7hujwyYnYU#dlVy`LDa2uyW$?)gA{{MLhM z$u4|5dyZdv9W{szzI7MP=l+LzobLD?3pd^SxQgR#ld!iF?x>*mK-hZ$7bTm!ox`__ zV*S#x`Tu6ojW-Kih@e+p*sBZI+|r}#(Eyln>`d3A1u$zYJ-QwphdCdir@kINgn7=+ zbUk{{#=rd{_vra)^z5?pMgq7rY{Tcxvp>^zDCFtsu17^YPB*`0;HrBcSFyje7xucr z4G{EZ3ww*;)(Ltig}n=Kw*|fEIb`z|4=x4U@Oe{gzkI@8F}RAB9_?4Hg}ttD{VY9t z-ab>~zN^ZU0gdu|>gJcm+Y+W5JJWcF!%VdFXuRuS{$OVs?=Cj(Xw~n>()#U%JHytre)nNsveS*1 z)-OrUJWfj7Xfdr{CN@5ZFRJ;V{Vz)-r=E{MxI%1o>qou1!d_#zc7on;VQ(DVOhIpp zu(uoTxS;n)*n0^VHJAB#qwSZT4Zig)y6ZX^ z{(P`3l2e}#*1_#y8$Mpe>yIli#e&>z=#IBqq}Ly`-`8N{UqAKZ)`M%wHvDlF*Zo1l z-blE~g5G*zZyVe}LGP}x_XO^ppqDCGxSzrWvNdhL%EDePxW7 zw_DJ=F6`ZhdnxE8$t|0YG;rD2n&zXduvZnXo}l-Wu-6Z6q@cG%*jod)P0+g}?A?TW zBIv~rkEUv+HEoxQ z!d?xyhJs#iVQ&!JSV3=vu(uv=r=WLD*t-k&LeNW;N4B4)g3H3zG#_Pzy~=QPy*JjNjV!F0^$uA}=o zp2*L0=zZ47Fw5APp8xHDIm}Ks4tjs>KFsq7y?{v1ujuzZvGV6}KEsU`-Sb5HeNS>W zK8P=>*NyZ(NZLqF{d_G4Tt2qp<50Z6R?E}Vy}wr5<8-f&8p5^lKCa?<;xJ)vEZlTK zZ+^+;Tzhkg)d`+*NN+asGP`^IegTkE3dluB)`4c4C8XeT!~C=mYmNThqKP z6!uoaZMO92{Bj=V9y`qqZ5WrfMfPWL>5em)-?-$ua~-+4o^oeRQE zVQae1ERWPvpI?55`;)D19CW;07547HJs0#67Ly&nDdE0gYg)h3!d@k~I)dJh!d@S^ zp9Q^z!rn@_&4S)}VefCahu)rNzoO6me_A|`Gp&R>C%Vu5)A4(jjekE??^ieA9Sx_-=!)KeelOW`)K)s2I$AE$-A%W(Guy;x<0`zc&%wx;zf zDD0Jlt0L&N752Ko^%eAH2z&G4RttK^guSzHHw3*;zLL#H9Jr)xP4f{d>=lM9C+M{h z_I`ltA?QsK_GZB?74!}Wdne#73wm#by=Z0gI03lPVw#U!YUGfWi#o;Omdfy9so#6Tideelxxo|7J zJ;ioD0+Xw}yA4g-xg;Cg{!#(%8@8tH+(p>y1vgaCn=kAwhx^0Z^K2J-Kl?1qz6$Pk zF}gV!*$>D{tG>yZwS+zo$h%Ay`SBl4Zig) zy7#YsjO5hg=nprFZTL78?;|bs^mOlMFZVdzdFXezKfRCZ*)G1M!EAgGUv%Rb1viCl`1VtbV}r1_9qy2&N6%yL!MtJTjzc}apH;?r z5;t0O>qq-(ewY&M++O7Ul-_5p1=GmlsMm!JzV$7-{j_%^ryj>JxCv}^1rdSB%f`@sW`)9qI;;G$G9&l?>dY1z12S-+oVfeR7zstbE{;hGD2 z1BAWda1#Z+b;8~jxc!3OZDH>b+<$^zimL9M+2$iXTu!#(`?KPFRS{+hJKgz;_WNyY zY>#^o?hM=T$Mx)|bbfgO6TRBU=SlT(nF1y=J6(@nCzpaL$4+;Bqo4npjei`G&qK7| z*NWuS>(>CTHCx^KQE!N_HyUoLptn)j+W~i2(7P|}J%jro=%uMH+fOsY1+z76zpBDs zZMdd_UO!=P7~BL)kM`#^Fgw|qu9s(Eu3LJvKS%jGj}rqoT1@+M02?2~7v1j-62Wz5 zt2@qp`)Q<}dcPkHHfxo+wC_S2f!PjREgxSz7|L3~j?U!(mmQ6#6{|5CwaVQZR? zGQwVExVnN~H(@UfZn&VgNZ4Biw?)vqAnaX-dnD+^t0g-=lE9^BYnqQ@!d_Xp8iHO& zVeconL4w{KVQ&fCdO`1$uy+aWuAmq58`*rshfBrQG#>?oy%KPh1-&-HUT3&4L2tUS zHxF)=pm$W*I|FxJ(2G)AHXpI!lCU++M~JXj2(GN4*Id|Z2ltbpH&NJ|3AaSh+b`@L zhr1-`{U_{2t&_)zj~gwf`N+w}2k}MsdO8nW2|=%+u-6i>Y$V zBj~*l_TIt8u4|u^=nWV4#=*@L^tK3lyWx%tdXI#?mvB+P zwa-U-Hn#c52A47w_DJ=F6`ZhdnxE8sV|$4G;rD2n&zXduvZnX zo}l-Wu-6Z6q_^jJKbv0vE%EepzsFhXak}g3TDa|&$EDY?mpwh*<6iYR-Q(VYdv1AL z8gIe|5$9L;xQRSY_qeIxvamJn2W5o4%5ZfBy>7x@7~F6{Z;`OK3T}&_cR|>@4);jV zi}zi`dDG2D61enib@M^*s}zH&%Fgt@N>iBjmL9#YG7{z&cBc1Lrm?|~_!iy!Dl;QF z_4_Id;MTC!jhEi1IWFv-gS+YNDSi(TwISXQ!;Kcx`;*<+_#nRM<}D0vI9t;=772T+ z;I;^Q7lgg*aE}DNc#VYnDO`HCrtuaN_R7N55cE0drRQf3wo!7y-RR+ z1-+P!W%CgqE)`qde9(EL08Dvyrt?MvnAVmaoi~QSj9_OvZ~V%}e;frw`rHT|=aVBj z^?749+%mSh@lx-guy+#filFyS*o)pIkCOm5T1@K~$i@fpMR$J52UkkaYb@-whU+Tm zjT82!!YvT=b_;ul;m!$qFNM7iaB-X3=OY^%+k6DW6%q96342Z9+6#Ikg}n)Ivjx3v z!rorElY-t8Ved6u^k(+?$jHVvA35Oi33|1Jy#{ct1-&7{-e|a~g5E}9ZwK6ALGQk> z_YCfXpqHk(?0S?LE|{(E{6~M^zA8*pcBbo5H<$sI9(_)0Hq7D(y~x*@lyF;N&a$KH znCf|KJp6f_7T)nj?$PH}l0|ar>sCg%K(@N=LcPkuUR}86g5CgOZ#3LgL2sk5w;S%b zx952sPxJoB)6;z}?TOGm6S@~Fr}+HPOSqUV-F?BdpQeJz!cI58w4auNsS=?VdB391 z(Kdl;#ZLG9ik|0mVuNpei)w$S{i;VKr`}Ho!~McGd>o2-Tj}ZP-j7)Aak}R@f57eW zKCWjzXuLOsy?@|d33^Fed5?4TcKIAGJKON>qFBFj!d^AF`hs2$VXr^jC_!(ju(uX& zyP$Vj*t-SyRL~1(Et`+zaGBWZ=7V1Ml!W=3o$2^(0n^FSqwB>Omkl_d&|50( zt%chz=v@}}Zoxej^a9!l_fxn`Y)$h~QrN2i_l=;}McC^FH&oD@FYGOc`@_~(_c zBj`;N_U6K^6!eY=d#B<47WABUvg0EbTw=DS?U!5FD+u?Mpw~>;YYW$1(EC-`n*q02 z(Ay{M9fP|l=)Dp4KKTLv9vN=5gwKcP`5zr$U$XH*`jS%p-|x=pak}S!dEiP|9+%D& z4Lv>G<2Lp<-Q%`~>uPyi8t*tyPxrXvJx=$y)8G~g9(RwYr+eJJ9;bWUqi`1lkNeuw z(>?ARkJCNwC+)Fc;YLgNex-Q+{3RP7#1~yJ6t1|S_nolU0gUh*;a;-UZ5Mj~DoJPAc1{nMlWlm<^ZbRjYei4bcYRa1$||S0ZdLU--F2%r zTvN8;>!;}T6ZVF|O%U|f2z#60_6mA8g}n!GuLZqiU1al{7A^-{)AlPb>{W+rAn5fJ z_6ER>7W9@0d+XqK2zpn9z1wil1ib`ZW%H2&E;C!xe3TOQD#Fzk^tuXrz2SxldJBZT z6>ysby>r6eHMj?YUfdsL^N|QHEnCxk6cP5yz*V>O=(^P&CXAiwx-|}Frlm*k=WK!b zlbz}PoI`BzBfdrVKI>7qz;5m~bl0z%@_nCDZ2Ud-b*my=ZMLTE+*R1?4L3~CTOjPM zfZHVKofG!1!95W4;&vDAr*LW6nzmmNVXq8abwRJau-6T4fS@;9*jog*PS86k>|KDn zZRyc*8T}{xeK6c;F&&rLVDhlj%?BNqHDKznGaZ*r*!Uh8UsTT%>3z}Wk(~N?YX|oe zTiyCmZ=$d_6K;vOr}+KMewb`MKHh$j&l|Lzi@;Ql;MC)24AYLCZXEPHdpOMa2)%$v z=PUX>@j{s8>~!-%|K8FDHu%=JsOE#7XK#z-)Z;h^cZO~FI26yHUwC@D_mN(DobLJa z2e`OB-T4TAT*dR}Y;1VA+V_!y;fe@)^@P2qaP0-Xk;2{txY>f-Og0}W;4-rfpAW_Jh*B_f*qL5` ztY>38F1NuQWE=jtitFHAVebjtJ3%j1U)gra2p7oKw0@O^y;^XM1-&p~ZwTBtL2s3? zw-Ii)pm$x^yAStL&`Z)!HXmu=vat=H55<037G?oE(|)>%jcq^O33rrj_~R<}(+9%d z3%Dr#-7%YbY1!D;FAH3Vx98a|j}fU3Q(}PoxTb%1wKYs{cBa=`V_~MV(~W~(2W*1b z6``ko9dH)rGCR}jfIDpb+a+?3UI#piBdXjxdKd$2tD<@wS?(padFTa%m&~37Tvs!iR9Gt zHVtkeTirNl-u4K4C*Ur7dy08`>*?v{?Y+u*=8euT&QN#Gd>aK{bmyyBaEaOK#!J22 z!d^kRuLQkj!d_dr?tu7x@vcb2$#djW3Y?mo;Z`kU#3mtEt4VP_~q;MJ7>b48@{>Ru^KwD9@ zVfZ2;f^iK(+HvK7025V&6)xgyud>u(&H*g;izOP8%H{gCCe1DL> zec(N!&U~&FN34bp#KkBs*kyO9{`s{S#Ms;eW4ubs{$^O z@UEFjLHW25=h?@;A#-QHl*)Oa6Jg$Skm_; zxS51+J?Z-$++T$62I)&RyhPjsIAjFHqp&g&5GU93Uny`^2ww}*_Zqmj2;T_O_Zhfp zgl{eB+X!wK;k!!u;y%IqUmP-m;*n382#Av_9!0@DLHHVzzL&whN%%e{eWSpAN%(#w zeLsWyJ;Wz{{5+UDMuhkA^k8x*=Zc4X&QK9d^%$T3a|U_tdI?NR;E}D4%mH6U}DnSAL(oKY!fE+4H#+xGKteakJ!e3&ZF7oa<#9XUT(C49=DJ?Z9}}S2#Aww{}RAeCVb6EUmI|p z3EyziHx}F!!nd0Atp~S*@LeW-H^8O&G&~-8l?jVSVQ}RLUqjN@0$e-7H;D9&05^f~ zEhBwv!EGgcXGz~xa4E(Z@i0E8X@(%=0P~)5uJ>>9{4xs6lo-z5Cl`TPtDLJYrQaU{ zb1KH?@6Yo5l58w~|BFLLP`|%lnFxrJtKVnzarSlO0#{gBZylC?|D54-J-;LxoU0Gj z2lui$uceQ_NBRbU8%6l$k-jD1ekOcJNZ)C2{}8^6RQ`&WbX zy#TI>>9f>P4={U_3#y~D!h9B8OVD%ELtwHg=URu<(Gy^*#`x@Y)Cf#-<$~&{tunXw z+3%C*rj9<&9*8l2=4&m!a`nrMpfbe}q`o0181L6CF^z8$8g7BsOoQp?1xXj81#iI=A zs|@Zr!uLAq>kO_B;rpEQO#wHD@NFi2JHQ{=2e*UpT_$}uz@?cO9*?}rgvFyUxN?NAA?a%Yt{veUMEXX6n?U%M zk-oLywi3Rxr0*)Y6kmqNBZo3!@yG`*f$-HKeT~7j3GvDMybr*PQZDHE^lLElLwxf4 z#^1s0RL=F>DgET2GPn1||J*6R_dDX_?9ZL2!TqCbP`}DJiMtO75he7d8t4vsY@AYx^_@)P!L)oBs zR3v@Xz||pq9Z6p|a32u9uSnlF;C>){e~`X?;7$;})RVdThzFNh*`RooA$^s>JxBOn zCw-m4^&xzplfEh7<`BNkq;ChfLxk^+DO^0#fJ?7zP&|s0zH;EIh4`euyaMJe<%0Ul z05GFMeDe9mJTOaReE$1_d``Fp%y#8meMo-KxnCK)j11T3gvWfGy$@X!ZfZ0p-acDC z-^ilOt$AIaZ)7t#*Yk5;aK+7eEuSB}K>8Yjdxh}5Px=Od`;_p_CwVj)Q`1+8(kHC!}d~-65Q1gpL`D>{nz+= z@Hk{d`>wrD76(&NIWHcTKG{T>h)_Sk}oGn-+6F12w&z|WPN}utgNd(Zt>%N-mJ8qvJ0GCBsZ=WsCSLF;}H#iF2VE}acc%i9We8hi{^cz@9+A_^W@K9b|@G0+2%ciWi&qlt;{pblW zFDMsuKY9gB#}J>~kA{L76XT2b<-L3^`Yo8b$_3qzmMViEi452MXtj?+eBXSzdFST0 zeljjj@?|r)J<59fV(AOe$b4cGJaBB(QA<}me z+*QJtehC+kEa37f8x)Ufq%RR%W5U;s^t}h}W5V|h>6-`cN5Z#{^c?|rp76yl<>HYM zTrOpU;!&CO)c{wQ@O37AJ-~fL_@_J>&*+UxUxa( zeS!2f0rwi=`-t?705^f~EhBxufct~+T_k;R8}awAaL5SSzkJF>K%899R|()M6TW7o z?{#qR5WZ2Q?@Mqq3Ez6sw*%ZE!gt3eE}!oOmr2>6c$6Z2Rlp?@zILRq8@LY$-&dsX zJ8(+~-!9U31l)PT7r&W{M`mz&l?{r=)1>bOa7_qb57PG$xDkYJ4(VG4?ia#$jPzX; zZcBK7$)ZeHf5`_ff$-HKea*nVPWT3pzER-5Bz!-TzV+aC5WdT#?~bkbd#X5O1m*MN z%7n$E6u2scuLbFA2d*38`;_#31@1e-w~_Si0(XS)rTC5OFY(|qD;pG#GNkWma4!(P zH%VU)a32xADWq=>xMhTI59vDw?jqrP;CC(_S-|B}HYgs|NM9Xr%?MvF(l-FyD8e_7 z^!*5KJ>fe+`YwaJV_SHC$)-$Le|a2SDZ*Em^tAxjj_?g4eV>B+itw!@eH+2;B79d# zUy48QeGnWng7UebGGXy31MX?U_cG~w6I>6%HBYpG0{Yd!sk-ih)E)%|oc5v~?2JUfXgW^$x^wkB| zg7EbreS^S#O8DlJzLnrM626n9?<%+yJHz`+4rRjnOF?jD2w#2D_cFLQ3E#)0Z!EYe zgl{$J+YD|G;roa5rP_tRFONe;P(Bw{CM+K1z*QrBuaLfu;Cd0h&q&`iaPtV?R?@c* z+zG;$dNt&YeV`vgX=^1 zJ|}%&gPTwIekXl@fjdd~()`Kwm-OIrC>s=yilpxuaPwB%p{kEaz#n5ILRfDTq%+(LvrOv?g^5sNOF})t_sOLO>)&pt_I0HLvqiN zTq4Q6Kyr0Rt}e;dC%J|s*O=s*kX$p8Ye8}^liVvL*M{U?Be~Z}t{us}Npc-Yt~1HK zMRMUZigTxKV^}9_jlL+&*8*HS!Z(QYeG2X?!ncz2Z3MTA@LeT+DNf@1AUI?M#iO7y5fCR= zJj#H3n()0$`rZWBgYbMjITp7YwpY**9?oGn?G3gr%ZVKUBP5L&2+e7&NA$_UN z;`<;tWCZ1NVP(SNQ4U-+!uJa4>j&{YCmtg1bui(x2zzkpo;oWrO1J4C$*6?q$OF z9_jlS+*rc*1L<20ZZqLKP5S-;m+C@zf61jxSbr%Dt{mZONcvs@*OBlIC4HZPn@0H7 zlD@6r_7T2+Nnh%V_&x{@8A176RGF}NJOQo-;cG+sI)m#&_&z6nUxS-Z_247mD)?=8~z9=MMQ-#4W12XLzi-vQEh8r(mGFXLq{9=X63 zRyHUe&yl`{;9eno?~}fv;65XKi%8#Ea9auASBDIRs4Mm95RCPxwtZ6@u&#y8N&A(>3a*@dxUQS z>H7xU4}|Xz(suydX~K8+HLky81eZ(Mpm@kk_njls1cd>@d$;ov?ed`n2*&)|M1eCJ8u4RC3$hxeDf z%7pco;@~P0z9yvaHE?ecz7eEv0=RDo-!G)^4{!$vU);Z3KHm*4qq0HyoIv_2gL{tf zy-xbx0r$S?vwR=;OT*{--sV>%H-+S;k=)lL_YKL-B)RWMZVt)KBf0q`_XEi-BDp0b zw~XX|B)OF&x0>YElHAWE_Y29bC%KIzx0&R&lHBhk_Xo-CAh}&6w}<5Rk=$P-cYx#$ zk=zlIJ4SLRNbV%bohG@nBzKk!sM@cR($>k%t$4Rar z$rUEKq9j+Gq#xpE};1j$t-xymG0h2)+lxoRX=gXEqex#vhOk>p+=xjH0Q zm*nc(ILqI^Z)k9?@2|B0*G^g2`)T?6_k&2^2yhb!-!js-7Ti|Ccb4>B1()JR@aH+Q z-Wlk8iuKE}aZj!Rz^;zm|1?gJ{ZX4mdK>DtOyE85!5{sbg z%dJcV#L2bZ0^mv$zIvpuDY&+TuRrM<25vmzTTJ>^f!jp*PLaM#;F2W^k4IKz!s3w! zTrt8|i}W=B*NX7xA#&JEAcQi$`{F1(Xe{x0}?|HW-|%-){rA-<;R*$^S>o9y0k6K_F#`yg4NDHnVn63mj zSeZyLaB{`tQy*uK$5-IKQ`WT(`FCR*N#8DTM@*k3z9~}1_955jSE+2AvCs0HliJ{1 zc@PgSv$EcLEzhxKz>HPS^&BhpI}^;Z7|y=WTfyv8&YRa*hvdt@U{a<^nt%R$k@|fY zOjhNB>i02a@FS7o%9p}E&c2Rv;HoL>t-})ER}7!4e%lzFD{gOs>tW7o?4Q){STHk{ zi|&hk9Y26sZTc+hIG~JfUz}?lhYZfOj+5Z7n)4d#kbF*mXKa1Ad|ANdQ`U=z;gfx- z2BxucLHqIwn2x5;vM)oG3EP+92IpGGSa4I!d5v|*zN{vF>%r{^@k#w&29qjv(t5M! zOC~UnD(Bi~soyGKo{jO@>$f?W*2)FdZwF;=?X#wRxiznApR1zw_ZPRCo+epI~ ziJOHRZR3o6mOeBF+;nAw`u$Qc>y&e?SNi=?FlS?Y{&>jy#uV|08x9#k_3@B05fCR= z+#d09_PFH%S4>%N9hUv8W%wfdZ0w)B52$T$uKRu?aIMXGExvxFZ!owqAwG%k0x&-* z7Zl&!V2+0PB)%!{Pl&r0hm5Gt9^V{b@+ub;-=fMyggCk4TiVCj5EK)8g4^}G^mIuH3IQu%bgFC3Kw+>64Cwnlucemzs-3OC{YpHC| zeei8CAI5O@>l+7Vs&d}-S@wAin2j+$`#v84b4tWuT>+Cky^#l& zea;RhpK`AIhdkFk0j4^^y`)UoKDY64_H}dy*GE}zpN)0MbKU2p?`v@LO`j!hzZ7xIKHyp zyvp2;hkc(5gDXe)8j`*i;Mx(sL8Na4xCw-B8R=UKZY$wCOZu*YOYv}cJaQ-#7LR=3 z5(r-%($^SV8^ZSi>H8SmSi<)M>H87fdct>t^qmKHgYad}6pdL}JaU06tgP3EEdAg) z(pMK;3&Pij^nC&H>Znk)(N==zCuwzt8IfW`uG<_nB#6=EeBXUyOZ` z_Z3^g?2hrp`#8DJoB?x5IoEwgd^eTB%gAs&ho#QU#rGj_*_8F-Yq`%nVfbA4nTiJI zy3bStSI3;!*gxsx9Z6p|a32u9uSnlF;C>){e~`X?;7$;})c@n+77s47vR>Sb{gdaW zGGJ;b7nILUz`PdXO9|gcU<&~ zuy{NQuBhoVp2N;Uk_e_^j_ABW|DS<2V0tJQbl(~Z<}>A7buQ0Mi@>ak@%f*_n%h2Dua8D z@V!p@I)m#&_&z6nQ^3t3e49z%4seGE-yONRc%%WBUfG~{6eoSPsYW`eP$)NjmmoQu-rdR8otQ=!?Mq(!F`@Le4m$q*{od9 zJ|6;eHpXY)=X)PZh|7ROM$~8D=lo!bC>ONPWtE8tadPc*6(48c=R|Ogl?~eGZidhG z`AZLjbJfTD;D(y>8hI-B-H?=RAK4BSP+_dvdAY;VWIzR#J!J*up?&zAL8 zA$`w)t55jeB7MEU4Iq5eNZ)thmJq&Or0)Q@(}eHt{9HU90+&tMpm;n%`kn^&0^xg; z^t}V_ebZ<3wPr}VFTvdLc+&oo=UB^xCC=v zi?0spYYeUp;roE}eGG0a;roH~{RnP7;X6V4&V#!__%avd>Ngj-!peGiV2Q_bq^~Zx z7KE=4>H7%W2*Njq^eqCnmhc@SeJ8++nx60h=2d?L)MLy2nC)a}8s;svTqfg2{ zoHcy5=Tq6|^WY8?3E$^5MHAw(;E)lt&qcvJp`3SpMt#UWHwM!x#%JH>u3&mA7qrj) zm5E#+POg0(<>T!8{3W=V%6jXt?DKlV=XyTfXmGB6{|C4O=Df!K$@6JkF|J>w2KSJ% z-a0J4qNJ}3xTgu<%cSphaPJVlQKav4a9fKcw%D;`rV*4jDo5cwCtX zh?6T{ii4|2_?nQuSHN`)@x|kMhJu-(Tu?ul2j<5RpZtDxADDy6x$0c@>y$Eh85y=Z zm-;yCpcSIvT{M|O_PAnCvnJd`DDGt!IV}mXuVG=6A|L% z%9p2ooPE8|forI&>-uE>-XVQ`zzrgNUz5H$;Fg&_R@- zk*Ew_Muw{o)d%;ovaWrRJa`YxaOHyXU<#NyAwJ22&0w}E7nBEoDid9WI}Z-{IC~zP z0C!p0p!Ggf3jdB2hm4^0mI6~nIhRk?+X75$<$~7RL7B+JIJxq^vyZc{w+Fb7l=ZI9 z$g8uMX9}26rK9T&dTw6^W~*{R`*H-#dF8x$jprA6o{TS(5ce<+8Bt%nFQ4W2oCUy? zBDiOii3oAB?Vo&JT+heZ_pc?m_R6}}A-=(+Zw$D}rqA+xy2|iHo=+{@8XITqv-E?X z49?XLHi6r%tZTjEyGHtwl}(7d2ZxLxUw&mGAWp99D+aCt;d_bnwF1|H@C_k-qrpuI z@ku{j0cMMGL3MN(%()Ps^q2d};r#**8A1Iei!u=qCtH0;e6#yFdwo0xu7t9#_{w@~ zgK4Q;(0bnn(>KH?>zxQ@igH2g{Z1MDNMyLyJJ-kA*Si?pPs+O1EBkkt^qm5CjqqhC zAC0Xp!&x6$!R1#r==!RYzFOd3B7EIRUte%T2;aA)?|X17LVS{ce}XxqTu}ZceU=xt`xD&Xgzv7(Ts-av_djJ_@sRbFC4E)F)eiB=dOMK5uHgC+zDcBS z2Dk-;ZyV{`3+}k-v()9CPvU(t4jHbxlzr*0Oa#QqRhNCi4N=yMn`Pc_!Q4|NeBSKJ zgw6XHxDv{G^IG1Q)h2z7z_m7gmUZ+4b67do{z;x*QzmR3DW5`r#vvnU9fgz$^OXem zr0KJ)qdAxr$_1@sn=)bZ?gw{D*`Rf#eVXeB4}#08Y>=-!>3a%XEyCBH^t}zPFX5X= z`lf^X-t<}G_8XXDRm1D3sxo15dmdaPWxaj2%-a>rPUT$rBG1LA!2B1(*`GV_uZDh) zLxwl6QNQx}Rar1ql#9+A?|Y7r-#ga_(?mJf^RxV&?KaBbWn|diFG&5i_i^@hbO-mL zvfer@pCe5+e6HVzPBl1J-<<_+u{p1?f6~WylD_@mPKEd+zGGweJKQ{ zta9GI7}qE7dm4agqMR#k^7Cz!k$Gj<;wI~D>*MU#*9ly2WxeaOj|zu;hReOW`SEw_;!-M{oqcSK1h0^;PVw-3R6qO2D;%e=F}-2Y7Yyt$PLo3{YC(#i(STMx_v<$~7xt1@Bp z{s!((WrODZ56nx?2Cp~rc?po+Vjs!DNId5L0KIFcz9L&!#zIf|>VGo!C%DMWB z+!szNb9-O>KDjSk@NxEa+ys~Qx#+%l>#*Dx9#iJlysrB~euH!6X)$mW%z2Idlm7A& z>1ze91K}G&`bLABMEF*azIEWX5xxtg?>e|UpEu%Wsq@@m`YGqCH_7`kV5Y}#_Iz0i zW}R|gz8GdyJr}8|MA`yQV2ZxNHynjfU2#AyIzAAbDh>x?cBM-P@%6jXt zPmlbKw3Xe2>(M=D_Xv z+T)fJTp?w>xLNk^SuQM)+!x zz6Ri05x%~pZy>nQgztOOw-nqu(`U)6qhPAm3D2uW%7pE6OK|O#4a%#*q;Dj+i6K6@ zUoHo;Nx5i!*!$H%FlR!1^8WIk7x8ykaL91o2W5Skm5G2j+3tfoS?=ZM?%6j`} z^q~px-B&LmZWaz1Q7+LpuRKp~P$mN6UnDmVVH<9oyCw)JG`;G9O zBYoGvrEHjV|FB-mKIa6pDu%P?^L}N*_W2aJYcW3iK4)me<#SeW`IQaI=jx=d7PyxP zUw6{i7u*oS_buuB9^4AT_b2H)3hn~oyT36PkB7nKRyHUePm;cx;Odz^BTt(l>AHZ~ zrd-hbisQ@(a|0x@^jz?bN_9Z8{LdpjDo+W)Rf@@CrdXv5n!F@vbW|O{!;MNen zgQV|oa90Rlx+Yva{s-*)JRenz zxA*6JnsNK`Fu2^x2JOp}q^~BpdLce}9_m8+-UT<9@Xa873&5>1ea1dd!1e71^KSF# z9!B@YzRzDMgCB_u*K^$ra0_C5xDQ(9-3F#hi{N?XIrbA}bXw>0{NzdBWF-^tA-np70GOeIvn5Bz((B-%sFvBYfvb z-!*V4Uk;B)PG!R4ksn;i5TEpe7fD}paBqb8q&^0czE8k?LHL%EzBS;s5WX{{?+Uo& zt-|AxU74_WJO-`=;j2yh8i8v~`1+B)!QjS(_~dhj1z>(sF6eWH-C&M}_~iFYDPO_A z$HpNe>WlZi@0Q;)tH%67gWDJl!;s*POkdx>*MTsH3Zx^WxaJ+>UW{xbJg!+gLBpI zDsY?3c`f;Tiu7Fqm+aN>`%zY9ZttIcU-Ez}M)+!xz6Ri05x%~pZy>nQgztOOw-nqu z(`UR7XogKY3a097N$VrgcR!N*MH8JjcEWdw z^!*3!uD0QMnn#(i{VN2nEa7WF`kI4#!}MA5U?7;km2-X0C3$dDnXq-FeI36Kz#$_j z4@xK#<|_}bI^k8k*)CgFRP^mPE&lkklreUre=B77T2-!^dj3Exf9cW1kVxCe2_2#QA$Wy0cH8r)Na zuO;bg3+`>gHGpzcOL*Clj@_*!A57E}gR8zF4lW z80jkut}5YcMf%OAV2UW`?Th98 z*7M3lgmTIhA7_hiErWBt-)aD^l{v2^9(_sQKyaf8-}j_%DY$in?Z#wCl4Q?sn+fDiof;&U_?s=rXl?{qV1=3d)Ty4VF zf%J6+*N^Z`B7HN!Eg*c`NZ(#?#|ht^Z*%du58NZl2F0T^>8k|pS;E(r^mPK)oA8Y% zeUrh>CVZPn-*#{Z316~zxOm(JE}gPL@hC?6%7Uv(_*#*^H^6lze4|O<7vN?PzICK; z3%I?6?>gyA-W7lU3WtoKcoa}30^;O)zA6E(QixCfe-ll?bW$$p_X{6_`6R?Azh9UQ zW>JhU-uFI0em}So%P2+VNhg7)t-Wum+1{{74(A7|gcS>P5c z>#f7Ge>)AIZU5x`VCE|4 ziksBY7BIVFeD*pz4d$Y9L3MOP8Ci!6S075*lgq#R!TnEJZylC8Dr@*$byVKqTzUT# zxLW4Cmb`CI`rZcDm+(y_ebd2xPxyW#eY?RO4e?3-rR;^@FW`_7)W-{eDXp9rH)H=K z|LTEh7UQ$$UuQ7glnctg_mzoUAWp9Q8|dTgbu=2>BxSvISn_X$;dABRDuZ+7->=}d zoAVm`Cw=@9>H81dUA?1m^VVVUJA~q>fsH=^n$`_jw4Iamu;kCUvwB%*q&Fyl-B4p8NyM z9_3thBzbj28N7@PR~?=9arSlm11{COM*dmqD3>y~=5^K4qXy@yqk`bdnDbilzCP(| z2JUsjH-PjF2lqMQTSEF)gWDY9ll(gk=8pH0=BYhy>A~bsE-3#hf~g+kv*+JSU|K5Y z%0KzO;~UD{$^%#ab@p-gb@Tx@NLg(x#d3X>NnZ_cbqQZ*($@prMe?C9>zXPA3q7^Qj9O&$4MW*s~ZtEB~hYID7uh1-D$;p#0lw_+0t-r@^`M?-DJx3buVL#3y}xC+Ry3?wsi}`gk+=?)wP;-U^2d*XJtoJ%GMo zK8fM%`8O5JT;*JGlRDZ0W><{QUPq_FTvRToj&3L;>yY89qm=!*{JS6A|CIICVd>*# z4WFxy${U=kj-CQn%beGe_w7mF+u-^VzKNu7I=Jr%-*2REH@KrAKI!8r2jFuR95RCX zcmXh_mGk0e?4RUcJuuB;eD?h745piMLHYN-GLZ|!$(4TteVo0HMuVHAthWwJ{;e>4 zuKZhNaIXCO72I}nUSt0vpR16*|G?cfFd8>+9Ts06Wp3}EeP0TJD@*tqkiO>N-XMGf zN#7^nz6kL}K35@q>%eU@eU?6c0Zi>dN$Vrg_gpM>)EZ3p7|y=WL%@tv&J{PQqlI8r z#`xlW^F}^b0kcQBpgKCD%NA}uPbva4_tk`laI5nqc^yL%6jXtSzp@ZCM`wY&Ne@DQbH|MqFU;HOr-^~av zm$KeEEWXO5uLiifgs(H{>jCZ~!Z(HV%>=h7#3y}x2kAQm?yTvv^znN~;B#*rGNSvO z=23$Z*wBZ69Z^ zqo&~6D(mH+rH}VFe6BhgXmGAN`UKn;=De1?UrPGcfZIa&&XB$<;F6CDj<3WcyD}OM z+*j@U{1~_rAwJ2!+F)8M7nFb9!F(9vll+?uW@e1fo_{OB{H&ZS|D=y^Rp$13{XVJR zoj%UKFNeXMQ#L67?i(GA#jSZ=`FFp;x#ICKxZKKm^IG!nNzzvnTs^|qh4l3V*PrlB zC4IBNEhcY-KZZ-R_VJrw9vl;$JE)HG zfGMV&H?NTgQb)DGG>q~2^Io3E+kxqKuAD3Xq>rZ@XV#_PC-r-`kF)1rMsT^54a&dD zhR>CMRSeFRf6sucZ_aDUzqd$VFK`10-!#(q9k?ZgZx`u10PZy5yZbXUzV^611TLGh zUfhiRlRS8W^wj`Y*YsKXcxNyVjZa$ViPk<|6wK4g1=UeQFt5b;uwG*wQb+HD864w_ z_i@t4CxV%(oU4wcugz8lFC)X%#~1oIdpy>F+oG%&4@)0EWB6Qkbk5*hb#x6}%FmO= z!@qyB-ki$la-DrQKe&>F??ux061Z0h--o1c2)J<}KI!8N!E8`2DF60@IThlQ{7d@< z@*anbsL!5%dBGG^&Xs@C$4e;_5#r>^zY0Fio_{sL)l)Vo|GF4HSN^?iaIXC84Q`-0 zuTj5}f740dY;a2n-)_=(5ZoEUch3Z_@1_HnU0H9RE$gj7`l^Df9paNd-huS>1lQm6 z8GXDNd{e>PIWcKIC;IxS)X^hg3dL~t{Cg72^UAsQMe67cFmJ{9>~%B%%uwZAbtHK; zRvEmE3|Ad}>ErC{mukEjJa-z(rcnm$V(9}4EIa?$!o z^!0K1-eHQ#cz(elBdCt@f+?}UI5c5#%Hgi_F%dw7gR^Rm5E#+POduoz{lC+ zF&y0I%6jXt)X@^d=c=P+2Is1ywcxgz^IG!iEa|%nF2$7aJk6oZ?ftXwOFnQ3gs%?i zYYeVUh%fTF3Yf9V1?AsNFpENbl7BnE?2qx;^Y0Rv>&gY?U&^V`J-)qveqZEs6(48c z=ZxTTDI1i3l?|UO|Ed_AEB~GWSKpl1l7DZJzFy!45WZ=o?>lfy2;VN!cL3aJ!gu#H zGrsn?Jp?YBvR>Sb{fm6ALi%cet84l!eY`W6-<1pMdgR7U2N;p*eB`8fMJ-U9cYvfer@eSCu9bJfw82Is1y zuffeX=QZ*`-hcc~`u2c3M)*>F&E@I6;4&%e?Th95N|C;b;GPNbNgsa=OfThv`uK1# zpNIG)|CWGR6XUbz-%c=pDi@T0$CZIPGFKYr$Z zD;@>Gl`(ymK3*Tp56T7g@%3Q##BlcfI}7Gt_xb(HB_{2msEjG#VV5=?pJTy-RU zt*SB+Ax^G3dfvy`*U<=EYh}H4Sn8;s;d9l|hX&`0+YoT$%z2GGko7JkeJj9iAbfw5 zz6;=P62AY<5v ze6F%l8N7@PSN?7DarXS%5AKw*-o9A!FYT<@eRk#FJqG8>zjWZTE9=c`#6$A00_m#? zt~TN8K>E6Z>qqz|k-iz=77)H|q;D^{;~_rj<9B`+8#h-x9t4+FSuY-zK3*Qoc;$ln z_-rsMVmN#LZ3DAkId5Jg52TK6f=N9)ypLxFlS8?nI(l50ND<-Ws-t2)&c2Qc;A$%C zt;14BuNppA9kn$$SKK;*>ut_!?4Q)pc+xi++-$+Q3# zUg_h-z*JQ(sE;=S(>lZ_`PUE3$1y&8AO8}}H06TwZ;mohM}{l^7Wz1Q{;dJGMOklO zEctiF@VWBuoWZ&B?;5z2bEC2I<~8CW`Il1}T`ua)zK;ChN)o;oN#9H0UL|}VlD;9} z#u2`Sq;Cbd4Iw`1l13}=tqLNIHTbLD~5(LpdL zV|?~Hiu)dauL_5ZpgM|ICIaH*s-p}(&c2SE;0h`0t;14B&l)~g9X)SwuDq`YuBADz zrHK+??0g zKk4IlE{MkB_ImB>xDVVT%6jXt_)3$$O5mO)d~HczCvd$9-+0nD8Qkm;pY-ufq;EI4 zqo&W&$5Z}*|33*189{x#E13Q5SSCn1=Z0-Wg-i~ z$yGOxf30I9 z3CtTYoIU^E1v6MV*FH-f%>Xkm#%HgipTTTYE~t)nC#f65 zN9mTv=AWyMG8mkzjj18&vfer@ z`8Uq+x$9h3l4PXlV7~aP#fvFY4+4HXzm=4Oh_F3v^2$)Y}eD*r} z2Fx7gg6e3AGGTSJ%E#H)u?gI6WxaJ+>gbx`bJfvxgLCC+@)daQ#393**OI3Nl)1fL z`#MU1t3>#klD^j9IuX8Mq;Cwk$ss=J>$Qi^2Uw z_zsi4Q{b)+^VSFePF*d;V1i^P+ODeUUoq1g1xfFWxt=eD825m{H0F)zJiH@FS7os-vks&c2Sh z;Fc@vt;14Bdkvqfj{Y<_R~;P%cfp+3l2`Yy;qvrhaJiNB)?x8IN&0Gnt4H{{kiMSa z`iJ~r_=0zS^3f2F}a zrK}e>Oa8Sqe6IX!WpJ+idjniob6!inj3#|wfSW=1){(v~;Pw)}>!dIFPk3&^A;a5e z%X$kab34BFxRn4`Da0pzyea8x3+`>xXY}z2@Qnmh;^(C6Nc8nn`FB9I!L(E^sE*zS z(>KP4^&0ykbu-1SS+e75Ib9x#QK3wj=}0;Yy?LHSolnP~R8`*>?fy^sc}KaR{CiIsxjq@L=ZOA34)yWo%gsACkN%vTB~M3!o2aa}4oe?jZungJx5D6D z`L_<-HgjHM|D;b|Abr=t-MJ}gf5Cb!zTC>l`enGTuK>8xgs&dyYYMI{;p66PRqu1=UeLW$+`B;i{t|J`UGssiX4Xsw*2*N39K?tBzhZI9Hx_0N2x;*OK?+ zNZ%xIvk2b?(zgxVe!_Q?^xe4?zn8=z!`o+Lz0${vfO$%}p!{n9rd5bf@~Eqdz zi7YmEp*q-z9L#emCM_^zrZD z%L-;w443HZr&33!z$Dw2wC~#EmJUpI<-Ghe>Qd^c0+?zszIflf(#IQvX`x(D9lfp$ zek3wnb=1kn+1Jq<+(2c$by(_Xy5V!x(F}ug)zMsV%guR>{gXP{OZpCjJ4g8L`y(1# z-9G2@PzG>0mG$<;a($IZUv+RVhWI4^I)V96xu8Bi4$RaLpXA>fFdJih_WU~l=9qFp z`FCEK+xzGDN&Q~)arXR6xgEc^!Xd-kXG{JSQYHe*$??6{A_nKmztZ5IGUv6#wgHm`gmV3LqdF#f8T&{YCnYfxAff9@xj_X(n)wD(mgD zv0mxpRlw9&E~t;c4(6Q@pXA>tFki&@{C!uRBj$oxsGKYRTPvfjQ}@-Obs*nM{8-yH_$%D*(=(ktuDYs5qHuQ=%|2d*07dxiA11J{l4eMy&Ypk2fcZl? zZ(bu0q>e6v`7g$2ucQ0-*MU}C=RZovfer@b=1W0x$3By z!MW`4vVh_>3acO6T;Vn^t}&mDB+t)`sRaM8RC;Z{uk*x z3GS-tv-I)whw%S%z#${3j}HJdHion3-%K!zlyk*R>Sza;{V_g!9bE!*UAdq-N_p7K zE5A?n?`|JwUq?o8xs>(RVd>+Q4WFxysu-Lr@1Frz-<;Qy_ivHDUf>20zG#*eC&xX&Hf4>-1zY7GvOOf`o@Br65^9Sw3_s72DiubS^D@tU>Y7vS|5qN z&&TC?yd9WcF`PaBhJ*QBIal1Ij+TH~6XUbj(M~XbD(9*r$*bea;ALdE>gb%0v#;Yn zaCaRy^3PI7d6c;|ud9w8GdNeC76Dh@oY#`~jYwZhaP0}-VA3}d+(g2+ob>$!?l;1B zj`Upvm-2)WH)H?gzK|14N#%m>3pK&i3-L)lcLCEY#%Isx;b1;h&Xv#dIn9^K+{!Cg zK2P^?_I&;x+zMsAy0ql;pN7ws&-)F|mCwh)T{7o2;vx0>;NQ`h-CnPK9gl#^qpY_M zi|;AY_bj*ugzs(A*BjhG!Z)4t%?7tL#3%QK-K6g*xC^Gwa$mUrB>r7K4jDnu_x-?( zjN$BYn-1oC)-I{FRFo*19Kj?RL)tXxnX#ho(q%I}l?yVJ+n*YO~@tjc=pu+&j` z!{@4_3I^w@qpIL)oAX-oz60s&3a%gFn?(9%fLlQLwvoQQ;Esp*q>tZu8vi~3hm4>; zUIyzQ?RN&0B}X_n0z~&5P`xeP4=zD^K_uk-nDT z+7rIPq;Dj+iG*)C>H7)XZ-nn0>AMCl<=NnPM4p?#lvFOL-fDuW7vhUNH-YID za4?@L7gTRwDswwu{66XT(|w#huf7MjLRl|QE%o-N;d9m7euHz>+i`H0%y}*K@!&c0 z{$^jtBjEBV>#f7$dy4cu3$6j-dz`Y5DK1jNbZD+%sN!q=Siy$Y@i;roR2 zjRQB8@U0|byObA)5=AC_Bv_^rkQfCIuhS&%E-JjTy@mR$Jy(sH@Jbydh4*% z(R9P-s-qbO=gRxJ;Fg>78v7^DiF--kVQ}XN-+h<4zMBDDPG!A)v0Psz(pMeaiy=PA zzfNF2R4yq0#(|j{;*)$?17>54&z^q=z#LP~m4EVi(|Kj^GBRBGcg@Gy^DpHU^iv!% zynVLhUm;~8pqyOa(>FL*{*?yzlsT^@zAZ^#TX1g^zLBJFJhW!_hn!OO^S z&D#asyUKd&Fy@^A!xvyG{F8LO{&}T-UjoxXxuE*(2WD7|5A|W}pVaRxFh9ij;(eSv zhph**RXJDvNZtt9}ppI9#9Q-|LlqoIU^E0{5P>-a0J#H^K0^^6yK7bLHRH z;O3k2TJrCA(zgfPF~XPXzt}o*UEjUnGAZlri{<)Ck-m!Ho*{g%k-m=LdWHC;kAFt` zrh%Jh`Ye5XE0~TqlIDG)ub)aC4F&U+azSsm^$xFs%!675)d8jCu zQp&mNNb;((G7%w8t~#pWPBJHTF-|JCF1& z0rxZEJ3{(SgZqc@WlX`pEv0ll)8ep0z7nFY;!So98N&bBXW^#-#-j}EH z9I+70a^+n4Cw+XKGI$vouKe5VGY6YgPa;`d(yy~J1 zUPgwij(Yky`#SoA8>y_f4oe-)HGHl*`rhDNaa#&*ojI?uf3n`Ar0)#4>xA#&)LdR= z2UkE@Z(l6eSCjPB2G=yiC*N!C31+ZzL4AB8m~TUTl7GK~`8~#G&%a|}PAliiKk4IF zmBGu%aOK}kA7{_Mw0D(^%YZ|Mx6hXRE1^sTl#}Cg`H}|b%D)QWYMS#};`=J;>j17N z;TuQ#CV`tp_%@KfZQ%A3zMG`)&NLgKTi<@QtiYOBSadO3@G`Ob-UrW;07Tnt* zKI!)(!Aw^!sNR->Sr_7ydOHf{Y>dxdZzP`y2*Oa#QqRd0{@ID5V20ar{} zFK(84t7Z6H^;X;9T=8uLuC+O@C13iHzQN$e5WWSZZ#lSM3Ey$jcMjZtgzu5Nx%*L0 zaD|lh;%4lhJU2Z{`Wk?1W%`WgrnB(%1=H!C=ry{24<>aq4$Lg&g6e1$m`%#L)**Ft z3e4pgpS_OK+*>j(9)}E99m#VZrcqbJbBpgLBnU z3vlhsd5t`f^$sF^Bfw1{e9K7RT5wwl-&xXk6 ze3E~i!Ssyr+4FB0n9<6)@=uSd}X+F-LfAhfosI0dymi*gi_+0t-m%+L6 z?-;m?=DbEcB>x_W=lWVEaE~hMt;6E0Li(NoSD)~`Mf!Sy8$kG`k-qQ1EeY{SAKyj# zj(|IF`Ye4s{(i*cfoM#E`gmS2<&+DmqeL)`m2<^S>Zlu-zA-*~9gPMvUO87CNnTA= z1}`JSRY$XYoV|_~gZoKYZylC8I&An{b#&C=Ty=B?+;wwaOWr^HAXi7(!4*)}TZhG0 zll0XF*Oc(}Bz^tB4GZx}AD;zgm2yG(w;jyE5TE2jLgwb6!ind_nrAf}2bDwvfJ^ z;0_bMr(94S z?FDmOIoG~O9o?A$&)GO+1l3V4F!_{o)sgh^;>tvXIJxSmoR72DQ8jRNl=aqOsiTgD z&s9gA4bD|ZJ-~fr&TGl5DWq>ExJ86-2kH9@+)2WhCL>oz4}i;}thdj`dZmw-1Cyv+ zQ2xCP=FJeFdo2Iej0ym^g0kUAOx zW_*m#UPrUREKtr>N0L`7l#%tyaMjT|A7`(lZQ%AR>#f65M>h?htB#Uo=K9)Q;L<7U z&1>wRthX5HD+{hF;cG?u-T>E?@Qo&YUx1rI_|}oWE#UTs_~gED9n5|Ii^e1Oxm9t>`bvfer@`MkjJx$=3T z!MXbQ3UC|Dc`f<;H|e_o?k3^;Uly+3a)T?PthXwBK`)dSa(@V!g=`hy!8;*Lz1S(DaBqVIbOGVe>u;ALdE^59i)U6c*l=TAuAIB-)5-x|`l z0o+c)cZKxb1eZ2jbpL|Z`1!FX$MyqPUwhc#T=|?GTmfahc`bdT zCh4mUt|{T`N&5PM8%FqMk-i1sRuR7ar0+PmOCdhVg9mfO#?2Lvtl;u1>&3&;*Q$e= zu3WS}?0s#iGPm>8o`37WZBy2p*OCVpNZ)mEcjgT58@ZJUyS@V8N)x_%q^~KswuG-g z=^F-ae27o_+F~%9lnd%>2f>^P@kw91Cs)b1^f+Whef~Zq-z&`rrm%8BeXWc#5g|^l z=e0^c&YoA#f@`3xmsgg)_O{`3^|h`B=c=Q3!3{R&wdC^*(l-~}a>BQl^c@Cwj_}== zo9i1Hz~xld+h@yqE0MnH;9d;zNnh(k`g(&KX!?x4HUYlrV5&cwv~Sq^T5DzSBaz|C zgHGUj$M}$^mVFsd`X+;$P53sEzU|-+624@4xIDNETsmcg@}L;$D+{h_h)?=jD==M^ z3+iiw!Hfy$+&xP z$O!V~S0)1D>sIOI2CL+Yi^}JTq$JzT@ZE#JM_42^d*LoU0S6}OGaISp$5Zou` zyq0{PP5KssTSNE`lD@yeT_Jqw9_RYT|G+(_thdjW^;RW)&x30e;*-ACmGt!kH_Y@| z`r0fo_Z3K*&xyY0E15T^GPm>8o_~eFl~p!qUmB3U=HT8Sd;>|}C*Zyyd`n5+8gN?( z-x<<(1zhri!F^o%T6Qoclnd%>)xo?N;*-AC2~3X|U%W35T45}xt%Y5 zpXAk4A7{_2x!{&7>*bZDukAH_uDp%HUl-EX6I_47H5eA3tcR}|l;#vvol9~wSaU+Zshu6!N_ZoE0KC7&0QzE$8h5x!HT?-ICV#gf*qz234ab2}dPea-`} z7~!i$`Wk?172=cr(wFoN0XNR{S^C;SFb#?)-IqjPACh_BRwis;`hpu0n1@xDBe=e0v%PAC`D*Dfk^J74@h$*b!=4*6pF`-FEU;NQdIkm2pKrLPrHCIZUI z@$Z<68Jw%Hl?7MToYxZHR;2F@a9s)CXwvruxEX|R9qHQwZZF}xPWqCU#QQ-UGQ7AM z`zLu&K$!@LlPeyj!98XAEPbsdnB=9B&YS4VXPGyRl(E_@kw9n0H#}v zFWwh7>1!W@8KGQIU;A7c{77WDp4TS(IIP#w*JguTs;pNZmcF*z@VWZhUW0Sh(P41s z%y}*Od|#Pp%xF;6MgwC^Zu$#1jNae2iw6NjPW79mbfJ=$K}CY;L<4@ln2E~ zUs-Tf312JH_XfDGgl{zI`vTmI5TEq5bzt@?7u46zf%z}QCw=Xa^7!|3IAjF94=n}e z3FU(NS~X=NLY!QE?Rg((?+1;*wN}>41501)XZT!w?L&ieKAKGcQu^#s?S@J%Isv%oDTd^<_sesHG8lRzMbl^LYn{OSrd&{8JE{yWAu?Qfa0c9UWnJr#zVYzW+`eQ7S3ubyUro|i8(dSu z*OT=112>HD%_4mZz^w}LNnhI!=8|$jeeJHQcpr~LhHL+%uN4DRPPwSh--qOREfGvz z<%0TJGi7968LsEG);`W&ADzJUR@PgGrLT=Qe6GIsg~7S{Ty?_Nn)I~?*FD51eQgZsn+$HY>9h2;O<)RDkM3bm zUwcv+$x#`uJg5n-p0Yvv+=cY@1lOPNO(lJ^z%3?xJ4xSuaHj}g+8SJ*J_s(WvabD; zzE&PgE#-pxS}QOeLVVKKhJg7r#%J$q-+-B;Tu@(IqKxE<3|C)U<>TyqZ41)>vpR2E3H#k>5C$EX$=i!jy&1>l!1(b<^IJtZ!z*QoAO-WyCaGeO>Fw!>$++@PH ziuC;oZhMGN`r0MZm+TpQPalU2FCLb@mLJSO<%0U!7s^D0IJx3B72I59y?HHpu!Z#P z1b3M5C4ZLd8)?C1P&VlLN|3(t;Hne8)}*gJxb7i7>1$)ae5+hgUt0lYLx@lM+TUO< z#`x@gE%kHwyGJ-=1ogFy%0xh%TzxI8kF)o+{NPF|>&4B|*IqPyuD({!;9U9K6kOZ? zGjDx_G4JOa+EeSfdx$gN9|PgWhz*>FVP9LO^=$jv3eDN}wGD8) z^y3=V^Hs8U7w$RHi~qHMw(qZ>`MM;7%OEyzT@0_U6xpi;SC{B@CwqP2MtJnpI#^8h z*1_%2dxm}OGEC9R|GhsdhWt60`uRb1F<#fX9$ZVYuIoIQ?2Uq(O7u36y=`!Zh~8bY z_ZTjG74LmKnHaC@mj*7IM^Ei*m0+5PbM0$gVfuUY)V?+gW>HWtbRSYbU)ut+Q=DsG zJ1pk?`G)q?dOjKA%=hnQxO-v)>&mdNeONVkKd|jN;DK>Ci!@g0N?3IG6 zO7uFAz3y-WiQXKtw-|06(K|`@F2LRP=&5xOty=KhZ1acL z#Jpdp=JmG$ZkO1=aSiL>D%raW_nhd(ug+bUWN;b8x?W!?vR4VNF45~w_WHt&@aU<1 zZ86MNajt#sILt+lp4!*m!bGj%zlQ!^=su+OwInbp#JTph&&9l7FQGlPp0kBG^SUYs zS4M1LZiaoWh1Rp}Yb`ZryN^1+_0*4RSkF_*-W<4PMDGyUI|+B0=!LJz-5=55;))Gi zXT$ksBYXMaN_h0tI%q=n+QIeEdxm{&3d~D!u6^yJTHJMs50_G`>$(&sd!^v261@&& zuRGj8qBn=^Erwf1^iGn!3vjnRdTL*bRy$X?qQ$U<;9%^5!4bwQN7rGCr zeXR@3kK$bW+8{CN^{I#L=W8QEoOxfH0yj@=;5-cb+77K}+t+q!&bF@|f;*!h*KnUd zCwt-R;OE|Wsz=~F4806ud=Ou3uP+;1L84ce>@|UFNAyOJy$Nu$JbG$h+e-Ehz@656 zhJEcRO!d0|y+0}%zYlFG#_KwFfa@vNHMgl`Zw}ltqIZbworJqg^um9`?c>ql;)->h zZ#J@*53YnqPwi_>V7iKP?Q6qeCVBMKzP1KtOHj|eul))0mpIqHc16tl^%B}s>-lzw zGw*9p;Ud)2_5;JdmR!ucBlwfLsiLMUAPuRZy?zl0XK!{ts{F| z;SLbJ+hp$%+*^;HS_et%bN5?1xEx{w_nWq_%|Nd*%%dP@-q&I^;EtORF16UeaSiLB zDA_9mSDol}B6~gH1{1w`WN!)F2BLSG>|KPr>(NvDT8xJHeGoj=!?mwvgDEJ^HV?J0 z)rDyq)C=8*)aSKsFulaN_O+kHsMn_+w$E#$LY#SDn+i8yY~VZ$``Rw8XWQ5IXwJ5; z9f3QiAJ?#+Uy{8DjqvAcc&bO>JPf^zVtf!^Y_Bf|Tw$VDkL)#r>p=8Ik-bT9b3A%# zU)x6Z4#Az#dxm}OIn1QS|Gm!UeQk{xuj{-SZeLIj>(nr}n`G|++-stjxCyuKri9BZ z*0rw6k-e&L4TxS(vNsTJj7LxHYs+AEh;!|0r(v#o^who}##Ho^4-it2x`g(HX9uBE z$H?9pxa&kOQZw%U_z*6k*uZr*oNq3&R}ij@M^Ei*Ey!LcxZZltu&+&rDcIb5U#lzT z{W>+Tzb0_)f_mnCZ3Nky05^;1Z6$kq;Eof$M`Z6MT$C37y?*BNO)bXj`elU6@4OwiLZ$Fpq;=#gO%^e$OLzEAqH-X~YJO zYgh-x$X+?PnnbTN+3N{6gy_vDd&}T961_8I?=svykDl7sK5UIY@5WO-T>DxMn8M<0 z^HBR*J(%V}z0iF~?Q1{4^bzOU*M^EwuTMQ}pV!8OIP<rJ$hpqXvf!jAegi9#a)yqZp3c{5kdM(IaJGdT1ZwlF)1-Hbb zr}ni2Fc-zS_O-__;XAt5mD<;m!K4-E@0s_t{4hntx%RcPV&1Qp(4Jb)l|!6)U#kb# zQfy!y81}WnTF!3f`8wEF2?-};B4KRtn_g@#=zNW5AW-(sZB^O*#v4Qnx zSO*QrUJJNRL~jh)n*ukF=`Ek2Dn{f1MAALuU*x8wtelo=4|`g zJ-C~VN z$=+SK=X%euuf^|*|Na`D>fzeghKTV&e6g*AF>uqxy5_c#?CpR%LiFyDy{B*yy1Dla z-}{>wuk%d@mxJh4CVREvntAlpzSbXRk~r7CwisreM^Ei*Ct>~$>V@t@YG3;o=7l)d zz80~&exHZ-)OwB);>`O&e7KZi1MAALuNBsMwtcOr=4|V^3|w{nxQ2bG6WQwlH<;+n zBYR8WHW0njWbY!}U7{D`2YtTgxy6P{CN?lP?fR*8P=M@}f~%_c4EtIKm}BBx``UFe zcnQ9TZ5`Z$dnwj-9%|o6*n_(+$>B1Jb@j@Sy~=R)h+Yq}*B@>a(OW|H*1&BedKbyw zO}NJ%J+)89{tI)-|_zWN!)F2BLSG>|KPrOY~y&=GJL!xMX5o=Uag66@#nf(Np_cTbRD$T>IJt zm{}e@wXbc3*&Ea|?`!8_u84E(YyXIOzg|LnYCS&=aprw3d>{P#On9nC;5r-jwG3i> zP<^rd{Z<(@XIsxX;0o)!;R18ZqzYW}8PgxPp35+t+3wQWxfRkgFK-dn4+&iTiQ)c^bHEVgu_>I}i2#R*CG@ zglj_d`jWjNa1)5$Dzdi`ZV%DBPWJA>z4Yj*eJx>sd@jaQJzV=*VVH8_Z1Yh2T1%LY zLA}s@NPS)#1T$QmYhRlvM!i1uuzg;e9^%aV+CsQBVgu)4*w>D0J=?x^QggQZ=mOkr z{kVqp9Blx1f5d`IDmHK)hF(6hR}`)S(Q8fiI>GfOdeh0?Jh&A^?+DpD4R@93MHtA< zBL-Z2v9@`r`z;4dDRHj*tu9OpkDj{U2EvRC>Y4Ai*)R*lx$d`>V${8+9=7{!Lx?lq zZ@b`*i49yA!~OO^>)GzNN1C(UZ!h7Z4D!z|a9qRvky?!ZZ0(=3Gs5K|dezBZJ-C)c zZ!p;#1vi!GZ6JHw;0}58)cg5eviBS=(qL^KhR+cxVYUUiipI|o7sYtZ?JnH&pdQw# zVI9Q(iM!8}!DSHZT34mWUM0A?M6Wy9>kBu6=q)CDtKhbJ^whp~0p^i7*S;2I2>#w& zJk`T?{nWme6(+AZf6u(Hm4~S!&b6<7BgS`Ne6j6oO+uV`Uuy@~Lu}wY4Ex#?t!LZU zrfSZ%ug!s5rXSa^o)3||lW>=bUihKh{Sgf=uGqkJF}%KPWG^3F38L48?6rpL>d{mC z+61yU3vP+tGwf>zU|J9R@464&*VOkjL&Usar{?uH25x##56*C%Hse@seSDv%-=!1u#ma= z{@f4dg*ex~7IB1rUxxP7dX5p|Fb~7OFBBgxrP#pzYuMKcYdzb(R#bDgeXR^!b^W-8 z_1uZ<^?(~p^yZPhC2$*v-f6OT5$-P0i!oB4uX%2<;gX3B%uTy~Y8@0Hd!^v2>OI50 z)&VB=sQ=#Q6+_muI&M}m_($Kvwhjuwl?v+Ne6{mX`(!h+*A}ij(VIl}X2LBddi%)U zF}Mpv?={(rG#dXt37+ab#R;PJ%x)fQJaThUrP=XYm)cAmPd@&+={_f5*t{5hJCFq+3O6~ zm*~wTd-LH|5xrw%?+n~^q8Dj0x37H&mr$(j`l)>_7fcy(u6?Z@OiPcR+Sdldj1KCB z?nCPH+FY1L;#~XMYBBHEOK4B6=ZzuGydUg=J1#bGT@3r$BdurK*B)!mwy(X0i#A2O zj|}TMjhOf6Yd(+6aQTQ{O|sVjt~JpcLiWbMO(%LA$=(jQBOX1q4(^e?mvB*j*5+Z@ z*HXj8o$9@>6%gY!w^DFb#Rk@&VI6cJd)?s%61_QOZ!z3DqIZ()U4Xky^rB7U_O)1W zNyXZ(pW4^*!Bi0E+SeMvwDstzeQg-b_@G|sKBV@w1u#p+x%Rd7V&1Qp(4Jb)TSJ_A zKR5t)T5RCD81}WNTF2UN*RbM6WK{YXaAf z=#3zI6X0eMy{%+#58QE&o>~Ww$lhDH7&Eka81}VvFbQXR?`ws{c+IUGTurgAbB6f=evcHIF=GuP|IWk6svVvX(I2#kt34(UDZeL?+q+U~+ko%7#$R1EofyZX8E z1~KpEVY|-T;0^`#unr8@`7YUe3>SXxe_tPZhVw`Ub12A}&*QEbuk&~e7k-|0T*G-J z6XVrO1DB2HRU&&e;hGS=zGQC*+ysxF`kcKAW{)`6esvD!rbkchS5bb=6)p@<_3-z? zLe`7guTsIJ7w6iqvWxKr@x}J%J^4Z$)|KJUu}i>J78`h9Fzi?Dw4Q0dQrE8o+(5Ce z>o)~vp18nqwe_d2-wv3ALA}uHr`~5S!8{D=g}M*n!sh#Dfq(QpY}YSoh%;ZmbZ|Mu z+Rj70e^e%W_260(y}@K}9NbL3XPED1t>>Gs!EGhoHj~rltM=U;nzQY@2jEVNwOwbm z4xYk9S@7Tc%{;fnFlofudXdm822)y`?Y>n1`zm7akG_X*T^aWA>TppO{&(N47_uLz z>ylcGAX?=IPU3>SXUf9GMo ze#yjm%_9w5HlkOF?A3&8LiGBQy&-TDh~6r)w-Ig+(YsFe?!mnzdI=Zn`?&c&PY#z+ ztnEHm`$id<+TvXATWw*wd-T-4F$rdxIM=@MtC;ueDlFvwRj+R$+y=3(*LMi!j5yo* zs@L}%=8ZVl>x=rEex1#)F9uv<_rmpJ%F}|VUi)n7^`V9_o=DCf6n<_RiH^cSY zK=!u59U^*n$=+kQ@JrqEQ0JRW%=_zNKHoHO**tn`zLj7ah;z-i6HIT9p8A|U9cEFG z3%!5U_1`Pz{dt5sb-oASj*GRe7j>UsfVt-3)c$f`jO)1SbNllUXTHvnmf`mW@Kle$ zx-#qsnZ@{^`eOO_z_V)3wjbnyE2baUu$~){y_RsDiQYJ}Hx+I^(c4A#4#Axvde6yT z_~rQX9z4|}FgNXUdwu->Wq=tX&VPSYG`>$yhglNj%+~+nlb~Mc z{h{6mqp!fv8SqpO+x?;LqeNnS5MNCDsap3bLY(+%`g7eucj*{cE9nCSH(dq2UACweQ%-tTa`iQYA`_Yd3)kDmIxkzh6cJIr{h zhwFaJ4^vWHV4Z67Ri7uD!n71;yN}fWzLOYrT=g*BN9y%;fg2>&_4`Bj|j_3eb& zC(iZyj*IcVILGTd1$RTN>-D{YiMqypf2jAF&tNi(^Y_gARZ*By;%w)k_N&TbT<4+Q zXKIBw^L^PAuD#g6bvEo*BekAwzZ$JM+kQ0}Zmxb@ZT+eJYCGB64|j^_Jt2E<;G(Z} z&sVMIv@p5FxzM2EwO+o5=^4~Bua_|}lf=2!%PcWS`yQtIQmvN-AS=v z*0o;#)_S(}a!GTx^>PdDiGEzedWo~nKQlR9>_g`BNCKBuY~VZ$z2aoAJX|fJ*M;o$ zf*VTo7LdK=aGQwUS+aKp?mp3rxt^OxJh&8MUGpeJ_DaH4A$sk}UN^V_L~l0PTLib3 z=$#;Y=izPqUb0sNt~}9eMfN(v^&)!H$lhGIs&1E#S@PksLD12a&Z?R`eQo>5}n@4KPzTk8FMY=|@O z&p*TcD%N(ss<)Hu9fbRf=shEQ;Wpy$6UI|LT(2*^7$3wJ+xyWMa9E8 zIN2Ky_Y2Y6LiTpU{Yms5lD!vjkvDnIBb6Ahd3+9+Tkjcu4pI$fwK)I%R?+zLtGzIP z1v&G&{|DxUINQ2XpA!>o#_xgRsUEKHD{{c(6KA`B)%O*}#Q1{vV*8v}HpH3FqXt}K zv4Qh2d|%N=>)Adh_S2m0J{k%)Q9rKXbKPpPw+U`9(YrzR?!&zzdWp7h?+Yp5GKmdb zXT$lHC3{ui>Jz;m$=(3C(L`@4*;@;@o#=c?3IM8LiE~`y>4&=h~8|n zw+L=6(K|u*&codzdQrD=^9X}WBGxsJykxHkTzR6`itKfS>qYdYk-fQa%Zc7$vUdvZ z3eo#uJ2#K$aPh>t=8>K3<%cUt^qP{rHgMgD-bAuD18xz~+e`M2!ks62ugG4+9r*Jy zJk`TBk4$2G5MOMchjPLdA$s-6UURsPL~k_Nn+!LX=xrx^`{7Ozy(eVv4P5k{-t$N+ z#%mr~;PMl_T4b*wTpOY{l+(HlVahQm!JdTYtv7P$RH?-tp62=|8QCE3lrAEkoJBG$G4l_z`E;2ILWUSw|& z+*qQwob0WK+e!4Uki9!_&xl^UJ={D#flDveHII^HuOeI>qSuY=^?@5s^cIo5m2g{# z-g&Zj4elY)3){=hBLQ40v95U(A$z6asu8`8WbX&KK}2sZ+4~J{z1}nY9PSiM?tT7i z==wQaS(rNF{67yf|NN>cOnY&G>umV>)krb#-e+t-zZ$JM+vl~(aC7zJ8h)O$o$T$0 zJ4N)Kki9o>(f9kWbKtrdUSC=<@2-pOe6zsi*L#Nf)`D3t&NbhIFz3a&=6eI?UvYu+ zFwFPk1Ht#DZ@${=TZ)s61GinQzZd#*VD;w}m$aVky4-?$64b*wHC*R72ZLXqt(OEY zt=Pc%8qT9Q%#$EzK94wu$m7DL6&pCN;XI0yz4CCih+Y@6*9&ea(OW?Fmcwl#dS}Vr z6}bCEFXmxx9`WE(h;_}Q5ZNmUSB2=cCwtxC1`xg3WN#7NTB3J??45_ZMf9Q`;pPzr zmqe^<9(l=L5xDY1uNB$r2-l0~O(T1A;g%D`jK7OZ2vrz5Q^fh~5*j_XaNdpWgFGE5>UcS>W;$y;@|iAzT}xH2+4b{{L@?=tocZThU&53YXS*)y_sE*V zvV+t1++ zYtHsL@f6$@{kVpoTYT^rw@#zO#S2^^y~=2+^xg_L{?WBzmLC-ekDBL~lFU+Yfh2 z?-};BCot8{dhcuB!gLFA=KWwe%w%!4xv70^EzH)So_Sw84s%AFYhSx6=KVSd?Wuo{ z>PCn&pU1z-ozvEzVPE@1%)8^-_O(wnXIrOf;j-(;HS9xQlf7DSO^IGVvNsfNBGFq- z_BO%oC3-i=-hH@NL@&{K|7_pQ%{Gq|aGAsg*0XjW-AAM>O#Tc0rtR+oQvaR6#xPyP z`9DXP*WXZ>iQ)ps)z*Q!k5h*gMairY@ZL_ggEngME@J_ zt9Yu1?L5?Rvy1UTe6h`=5L{WkXSgrF)q1}B(%@Q|oOYenp9{6oobB~}57$Sm?R-^l z2HE=+ZY9w>O7{MOyGHaPUgYkN|G^~?Ydc@{?>*&&DK5^n?rXs`_2{X8@2MZmU~#VZ zg)w6AKk+?G>sifXe26oz=V@>Y#M;hR^>&lJ!*FMb-V3t#!KGZ`V&bVDuGjau7$3wJ z+j`CpSBU6+L-v}&wI_Nb$=*b`*+lOTvbPuR1kwAK?7f1Edf7b>^}g^KOkQ!W`=dNe zEsvghU+4nUJE#}>zM#Hu90xN+ob5hR|NhY&G5AN{!*n01eSA@fGv7yR;kJtntW(4O zd`ausK3`qYoNYbdfqSMO*RbEmyTa{%pTMOT8#oU`uO!*42v>*bbt8Ly;D!^uMPzR! z+!msDp6p$Ndr0)cu5$B80GCRvYaT_&UTL^$M6V;+`vGnc(VI*5euG<2^iGkzzv1o> zz3A7td3+4_iP*qAw9n5ouy5ptIUD3EhWwmM?JqCH;2(Vt+kGDSdaiIENkzR}s z;)`t_U%-7y^y-kk#&F*ez2RhUJlrotZwuMm4fiL}dr0lZoD1vbP0pKhe8I_8!8$A$mz}`)B4gk5q73#Jcvs@?@_XTtlMQi|h@8 z8%y+-lfCtDJBi*EvUdmW8PSV(hnvSIaOuU`=AnLWQ4*$xIM?@Otzf!%^wiHS#=}ez zXZwCjy`DK@-mk0B@88t^@@t4Qf4{X9?su`a^HsgS$lfKme~8}y?sD^p1NW&|*X#R| z>=lRmn&^E;_PW6JBYMA(y#;WqiQb=N?=0L6q8IreZXPk=5{Y%qBRAPA1Xq^meM|P* z!~IC~ekOaf;g%A;gJkan+$EwH?jARfsBm$_y5{i(*~<%8oai+sd#&KQ5WVqaZyMYJ zqPLsu9fmtg^j?s?5ANgVtaz%2YaXAA@j-mCeLs^Ot`O1thU_(kYftn>lD&y=vx(jx zWN$Cr38MEe*?R>S^?~<1J`>|Lk4$iRiCzt|S0Anw(ff()jfR^>^nNFM+u;rqy?@Bw z6Sxl^de7riF<$dX3zwbfeNFai!8Ij%{m9->xQRq>HQCz)x0mSMAba=WUJ<=SkGS`v z6mXfuy7s@aWUmTbeWLdx*&6^in&>Shdu!pg6TM4h?-tw>q8I01ZXQYC(u#G>qd3_s z4_Axmbs>Ab;D!>t1!QkI+$N%Tmh4@DyHE6DKIY~T4=#mR*E|Z5y^?TMh+ccL*9~p} z(VI>77QwA0dMC)nC`E}mG|JhGF${BR|SUQ@Ey2Cf^?n@IL%z%3$rd&%BWxbsBs71@jU z48L!Sr+T>Nkx7i#=e3-0MTlN~vez80Bhed8_9ny4C3@S*-hQ}KMDGdNdjl8!x%WKM zit(C97P$OGuNK*B2-k+_4JCVH;bsuMO=NE;+)<);pX@z@i}=EO9x23l%_BWrPNG+Z z?A3v5PV@$lz2R_^iQZbWw*_uL(YrTpLdP!b#??(k-fj+?hw7` zZ@77U4EKpx*F5r*y|3UZ61_HL?|ZmDL~jP!`xR~_(K|}^{(`$k^di3H=J7wc1Y%wD z$Vv9Tgey(-nv=cn;C>)_lgZvMaK90~{bcV?xW9?s8?qNUT<&lm?pvZai0qAo z`1Cemcso`^!_4ym*D;(djE^e%_9!n zr(#|6_>$}uhx?l7eMk1X!1W_~zmUBJaI1;lpJeYW+zp}^ISMzAm~e^2y5^Ca>=lA5 zOZ2`ad+p(VBzixSz1eU}iQYl7cLMGb(F+%qn@3c*IAUG%_=4=^g)2_<8k4N@wphU&j;Dz3K6|;$X-*p_C#+a*_#MA zo9O*P_V&V^AbS6jy;pEiqkGTeGcjKC$OM;{=+z*5_2F6(y`RY5Xt-%a?{~7d9qusE z`-kj3f%_na_dGro<28@8aM_98*JQ62TvMXgkL(SFn@IFllf6xFdx_o+vUeZu712xd zKkoe~1zaYvuKlkp*{cFqpXmKa_6ER>CVETB-decrMDG&Wy9M`z=*9Vvn@1A3v|?TJ zC{Fgu!_^{sUC3T9xS>RE0ohv)w~6STC3{!k?i0P3F}ZofgG(XSHIG7MuOwU*qSv16 zb%Pr~^k$R2MR040-U+gI9_|*=i~12ak1)6-VqNpdOZJMul_z?w$X-XdUPNyi*_#Wu zoah}Ud#B*85WNq=xOqf}izn7KkL+YGKU_(o*OctFf$K)}CX&4waEplEUb1%-?mW?Z zMfM`b${j8YPxWxkBa;}f&ucm1iV(f}WUo0~N1`{H>`jK7OZ2vrz5Q^fh~5*j_XaNd z$KLZuE5>UcS>W;$y;@|iAzT}xHm%_9L^DzUD46d`-1;i?h6j%4o#xIsj3F4_AHZavXEMfU!N zyF>J%$LHqpG2AC&UGvCK_P&CvNc7r}z3<`r5WN{>?^n2$MDHls`wQ+G(TkXXo5%m) z5{PxpBPZGW60S7SYfkpQgZqK#O(uK4!2L$__LIFo;r=FiZ^&Ncg!uhGJk`TBk1S%m zKCk75`-j;Jze! zb;w?0xbKMGaI!ZZ?iZrBh3xHy`;+KBBzrI5A}98qM=CL1^Y|PtH_@v`_P&Apmgo&4 zdn4g~CVK11-XCxWiQXNu_pfqEyyx+W7_WJJ2KNQgt4Q{0z%?d%eaPNVaN~*IO0xGm z+-{WqW1&Y>jyWI=>10aR>S>4^!_G$ zH{kvydLMtn%_9-qXJTFR_=@b6g{wjIz9)M>!u>?_ekFTL;eIE2f04aQaQ_g!|0Uz* z5eM#5v95W1N%o4veNFVfBYR!o`VqZf$le0D)kN=4vUe8l2GNWBDL0RpaEZja=8>E1 z6@n{E^u8r~?cshTdOwrB*>FpV-a)c=0`3yg3zwXmM^v~tVqNq2g6!pmD^Bzplf71O zU5MUzvNsKG0nyt{_720HC3-K&-Uli0`+s<D_b=Id1s64?_dGrm<28>=aCwPd4YF4st`*VyiR_Jrn@040CwtrB z4imk9$lepU4^ny0<5MwS^GFMqo#=f{_G-a3C3^kH-cY!SL~k|O+XT0l=-nWD_u*a< zy+o61@dvZ#mp1qIZ_;U4gq#^kSyr<`EArg;>`-3X#2%a8-z2 zd$QLJZUE7nP4*VSttEOV$liIlTSPBvT5cX;a7o0v=8>1|6@e>H^jeXB6@qt-ch*o zMDG>ZibhUg6?dt>2d5WP)gZztSQqIaL{J%fw*x%WI$i1C_7 zdbpfKuL{|#1J|7B4Iq2N;U*KkwPbG#+)QXylf7zi z4T)YavNs5BEYVv|_SVDgBzjlK-W|ASL@!<@ZXTb&r5Ed(M@h0*5v~r=>qhqazzrvQ zi^$$exGhBQJlVSj_mJp?W#;CQ04|kS*F1`lz0z>iJbLQy-|7g{Pn_%T-A|5fd(vSXVDM*((HBmgs#; z_S(b!Nc4Utd$Zw|61{_D?*!Z>q8BbJH;<@ram2dj@deq-3s+q4X@75SeJsw#Fx$oX z?~jThe{Zh3k50kd2y*6i`U)oM7yfg$orn7S#Xp0|EY5%2(ECIE{o+MoN{O@GZ|d(C zuPg@t=zG}ye(_o%&U_wC;o6H0oQL7>7aythY=6J_XwBLF9;eB0bM@mI{@&s3WN$y* zDWdm;?7e}Dp3Oa9_4fd#6(i%Y{=HRM;PMl_T4b*wTpOY{lk_&Tsr7s<#F_Vvf8bt-4eT3+`!_)j?tS4?xX;D9dZo$U*Kpr>^wd0lfEg;z zHIErEi#&R29(!R9iF3{4v>2~>oDFg2d0c_JFV=PaV&>%L5f3hfSXZwQ*((WGh3K^> zd)?p$5WU%CZxP&DqIZJqork+c^rGhC<`D*$M67EbdC6W8xbj4=71`?u*Nf;)BYSh< zmJ_|hWbYK*6{7b+Zf+jY;o^yP%_BS6%MVwQ=rtvKZQ!~Qy@_OR2HYZ|x0mc4g*#95 zUXi_sdGK?2Jk`TBk4$3T@4M#xG$&jUqF0~nHHYg+^hT4t$#8Rt-gdILAMO;eDD{{1#zy=2RFsM zzb@v_Yj;ANc|HHDTt4r4d?M!kam~HY;JzSw70F%=xW+`U583+(ZamRjN%nq++fDSY zk-dN5UJ$(m`TaBVn#ZSbpNnDly8txCG_cz(Q0rxM_ z`?vr%k3?{viFM86E3#J>t_IQjp6vYy_Y=|kmFz8r`<>|hMfNVi{X_Kr_a!%vIB=he zb^|!!0Fx2g%+ExJyJYTp?~AQQ_iXGIMHiN_FBPpA$sG< z-ZZ!cL~l3QI}CT0=)E9&9~8#FH-V>mxaRS>7_ZL<+2INiy>G}~Q@Hj-ZzS292sfMP z{XzEj!kr*`|B}5|a8ZkR&*L*OUh~KVmzU_(Aba)US`odU$lhqUX+-aLvbP=XFwy&m z>^*_|ps4peJ{99NkF;>viQd;_uNGWWqSue?4TYOX^j4F-O>ldO-VL&MAMO>=OY{}@ zev|?(lUUdOSC;HmfvZpSek6MX;6@X@rDSg{+;*aOiR|5idqVW$6yxTR1TL*u*F1`o zz4CCih+Y@6*9&ea(OW?Fmcwl#dS}Vr6}bCEFJ^IW9`WE(h;_}Q5ZNmUSB2=cCwtxC z1`xg3WN#7NTB3J??45_ZMf9SU;N}qqmqe^<9(l=L5xDY1uNB$r2-l0~O(T1A;g%D< z!({Ii+!dntK}l{N(c$8Wb(Mx;J zBdr*(d1QghPxNY$y@qgYh~7}LHx_ON(c47!cETMcdiTlRGq{LlyyuZZjMqHU!{sD; zRmff)xaLG}0NEQ3H<{?IC3{=o_7lBZWbYx|8={w_Ecbqt3NDLS*Zx{WwnNc4J< zy+LqeiQaOuw;paM(Yr$S?!Y}GdhyC}^Y{cVy;#>gN|L>baCL}YH?r3UZaC3fMD|v~ zZ6SK+$=)@%heR)|JU5R7aH+()=23*~m4>TE^g5EgAK(TNy}4xXH@Njg?-bel8}1I# zi(Y}7$H#D=h;_{)KiT^Vt|HNEL-xLh>!bG!zxO{wnTq~%_W%AyMdR=N$AL)||JaOa5LOR^W?>)hc!!c#q5^T;U12l2(WUUI+{CVKVAUNg83 zdQaOomg4n{f+<}2zvodgAbZ{6272_=`OYDG%iuQZJ;QZA1Cy_s{~Efka|JPY z3BHGIz0`(lCN^-Lwc}>N8*YD?Rn`5+RllEEC@l0okAwgB>o70H`QN9_@2in&2b&w6Nphr)gZ(Xw20T~NLHe52XwsoN9QGo0fgR4aJ+LFD_aD9p1OtLp0ZWYlxM)uCYT_<{x8gTRY z5H6uu*F18Oy@GIMh+Ye_*AA`+(VIf{X2C5XdI!kfakz^_?=9Jj(lB?p*m$akYaUs} z_#nR6_NzQ_#fV-bvey!>GtnDI_NKzkCwjZc-XXX%MDID-3*QKz+woKn*E}+a@j-mC z%_AFJL84ce>@|UFNAyOJy$Nu$h~8GRw+HSx(R)PpUcyCb>^+avV!Y;&5iSqWt4{Xn z!L=lMgUQ|~xT!>M1KHaKcZlfSC3}zI!Z-1rM=~*9^GE}ijp$V(do|&j5WT)+ZwTB3 zqPL3dZG_uH^sbY=dvGs_Uc#pSnR(44Ib24uuKlkJ*{cj!kLdLvd;Q@?5xpg3Zw=fw zqIZ$(-GqBg^kO&T=8+gKjab(_ijlo?a5afuXR_B5ZV1tvPxh9N~z2X~X`MQOp!<0H7lVqNpd zL-q>8l_PpB$zBJzo} z4cC?EO(1*I;T96TJ!J0)+&QB6lI%rjiQiMeQ$1Ys$SB6^^Fa={!bGng*=q*Zf#{7Q zdz0Yi5WQ_=Zy(%AqW75Wy@rd{%6lGZ#CXjkGh9BRSCi~DfNM?khLF86aMOw2MzXg9 z?g-JlNA{k=MQH6kkK|&!=8+CA2hpoc_G-g5BYOSG-Y~dHL~jk*+YGml=-niH58z%C zy~J&}_oI|>nZ>&Hzj9=+DqI7i*OTlGgd0QjmXW=6a65?JWwLi0?kUlW+m@S0Qn++t zUGpeG_A0>DCVE}TUT?TzL~kM4TLHJ3=$#{bSK%HIy^p@*<`Ew*rC8TI3X{E3a8-$3 z2eQ{4ZXnT{L-rQKts{CT$=(IH+e9x~J8mAa;F5}U%_AS#D+*VE=(Q$$o#1*Cz3F6c z9^49|cZBSnhPz7iBDCk`5d$v1Sl2vqki7zMrHEcLvey=_JJFj&_GZE@CVKnG-Z8if zMDI1(i_`(XcZjEYxaN^rjMwM2TyRB+UIVh%0)QV+kiF_~ zjfh@vvNsrR9MM}r_BO!nB6?TJ-d(uoL@$14ZXU_tGKh7}qZHYz1Xq{nbtij$;YJX> z#bj?4+*YD@f$Uv}dqnhNb>Zfb5H7V?*F1`ny)tmsiC!nN*8^@a(VIv1mcVTwdZ)?W zMYy{}FGg2x9wpNy%uDz9b6BhH-+rYf?GoL4v@X$a2JW*Te26WJAVHUPxWxkBdZv% z&ue+$iV?j=WUnP$XQDTb>`jH6PxN+?y+d$kh~9Iu7ybwQ{vV!R^T;5^YaZF)3KG4# zWUmQaJEAv&>`j21MfA3ky*+TpiQXf!_Yy8j5AS)T7UMOKjBt5~UUjlp53VKA8%*{_ z!A&K48_3=^xI;wmF4=nw7yd`@c_b6#HIFoK*@#{xvR4zX3DN6I_J+VsAbP9F-bT1R zMDIG;y9f7@=q2pwpPAP@lEY;b>v}&bL-s1e)gyX6$X=k?3IA4O!V53y{>TmiQX)-w-9a((K}A|&cWRzdQtjt^Y{oZu~^qU@{qm4aOH?z zOS0Dit|!r(O7`Z!EhBn|$lgh~%S11HUv3`J;NpsP%_AGx%LiA2=rtjGt>L;7y$NJ* zI^05{w}M$zE-^W<;+)*&7BoiRi5%dz<0*5xtva?*ZIvqL+9e_kNTT zF0)wI{#TCdRfTIn^m>xLfpBAp-ZHYc4sHk0yG-_O!#yQ>aR+hpND7xutZN=6$X*4w z+C;A_+3O8AjOZ;Sdn@2J6TNd}?<(8_qW95YZXWUBQi^rWqcGVk1y_~mbs&4);RX`D zIb?4!+&ZFnlI&f8yG`_>{lv{97F<%Xu6g7mdqv?Y5WUu9uM=EvqBouF&4XJ(^p23d z({NXbUW6gsJYvAb7weiw4zgDOt`yO0M)ummbtih0$lgr2#YAr(**gYzf#|&^dy$6X z_y6!z57#_0i}CurmJ6;Z(Q82VTEKN8dSl4m6u5arZwJ{s0C$?`Jtcc@;bIK)o<}+{ zUh~KbSAgi%CVP$G+7i8CWN#eYOrp1$?CpX(M)V$#z2|U|hI`K=r5LYyWPr;>^s17* zx^OLs-axW90&WV?TSxY`!W|%bx5?fkxVJN%rQ$ts;8I$le*a>qIZo7;YXP!X*^znny0O zR}iiY(Q85W+QIc8dQ-^WEVv~^?*Q354tJ60y(N25#^U$?@Kg`iJhF=M`n;A0t{Bm4 zMD|+3btZb_$lg@A`9yCQ**gSxhUh&fd*R37_y6$pnnwmPUh~KXSCHt{C3{Wa+7Z1G zWN!l8ETXrS?CpU&PV^p;y_axN#(U2rwHU8?WQ5B@^s1A+dT=d0dg{M(Jecf_gPZBm zQ~$l(&17#E+%cl}fb2boi!{M|9x26m%_9R`E}~bJ?A3*9LG%Way%BIzh~7G~w-xRH z(YsCd9>KjOdPyhxXXZ7J)NonFy55f}kiF_~jfh@vvNsrR9MM}r_BO!nB6?TJ-d(uo zdQbcBl-I`);!nc+DxT`$`g=l#i19&uvHf>u$G}Y&>zdm}vbO{72+_Mo_MXB;nC!i8 zBp2g#zUkm{5WUJ|uQpsWkDl7c`;)yPw=qkiWl2okup!+16=3xDxtt4S%mp6SCJDt}D@-K=!7? zEhKt-$lejSb42eY*^BTqexD0Z^$5&OyMAh&W)$Ot_+pz!9=Kv2J+-bH!E_MkT30<_ z2J1b;x|%2E-RrZhtNEI!Q}_8M1d7?jF(maH@Y6@6N;a`r^VR7i*iF zdVK}SUJ1C$M6Vs$>k8MO=*=Q~3*pufz2ju>9NbN!7iAhZkB{IIi*?N-57{dWSB~hl zBzqm;dJ?^Zi$Kfs#y|-j9$_#uyz*9Y3^T;a32l2(W|K))zM)Vqyy_RsDiQYJ} zHx+KaM^DXn7uh=ocfq5l=KGrLMVg7fFx)^J^k z-UPBY3vLO~J3#hM!(H|0sd+^Bh1;)Uz{MA9n}@o7ImljNxN;sn_4-f6hiC$;2*As3C(VI{9mceZ#dS}SqWw?7p@56cAJmSJ77weiwL9$l@t}@YUNA|kH z^(T6>$lgM@HAL??**gb!ljueHm7B*$aEZmb=8=c&6^1KE^jea=4sbn*-c+(T2W}bB zJ4E(Q!d)hM;pcPnhz1u|tZN?G$X-6U5=5^F*=r5gmFP_%d(+_-61_cS?+DyEqW6;Q zMOc8Ji{hysu6bk>HnO)5?j+HBO!i*GMO)}S zk2GSu=8+jLAJMBx_8P#oCVE52-Wa&)L~kS6+W~ik=-nfGPvIgg@}5U>F<$dX2bY8B zRVI72;hGV>{$y_$+$5s6hU{&I+eh?nlD!9TuZdpb#oYT*O1R8oUHe}-vR4(Z0nzJ8 z_6EX@A$rTm-a5D)MDH@$yAAi0=*9hwn@3W(bYfleC_(lrz||&tUCCZ=xM4(ZA=z62 zx0&djBYRij9uU2cmT>ck50_G`YaWHkUMaY$M6Uzc>kc=N=*=N}i{aK0y_00`0^Dt) z7i}pwk63U?#k%H^kL(qNt3dQxlf6!Gy@}p*vNsQI1<^Y~_D;iHC3+E-ar1})7hkMv z9y!Qf0k~2`uNm2E3)h|KO(J_U;T99UePr(#+y$cdn(Redjz90gQ$1Ys$SlU|^I9&r zqC~F&*=qsUiRg_XdsE=%5xpH`?*QCsqW6^Sy@iXh!h0U+#CXjkD_jA+XZUlH+Atf$ zx&EBwkQlGyo`kzBHn6S?#|^&{pa1Yw57%)!iSasa54gc%UB{gV6J?e6aTAO2I&Mn1 z%whw_HT=0yIkHz3t^v{ON%jW9jUjr=$lf}*9YpUk*}Dz*l<37>?Vp*~Jd(nt6YH8s z39?rKt~Sx@O7?og4I_FB$=(XM%|!1U*}Dq&fara+hMPxxxRhdD^C(RAO2JhndL77K zcesIi&#+(3fr+%%y>F;L$4)55Yn`Ts%PQ7(T~x0E*{coL%%i9Nyt_Zy8wNLt=&d1p zo8k5my_;n30o-e%mv|kwPE*2V7HgY_x_;%zURAgTM6V~=8wfXs=q)3A>)>|iJ;S=c z3{!Ny_qwkx#%tX-f@>=_aGedu9R_n(obB_0x7gu6@hVr&hbo9%pK!zB|NxX#-7s{5?~*((KC)uX58 z(ShuBha2e8Q?G9h*;@v;k?5Tvd)MI}5xrP{aPvqCmrks09_sp)AbS)>Q%{`heWnFWC%vb=Ppi*KW5nPe z{SU*x$ES`v4sO0!*Kt?CY!(+d55sZKiFtQe+rQ^^L36hK{yN+v{kYoajVyTKv3B71 zH+K4G5(x)4eI81H|Mw0sL&W(%Pi85U>AS`aIyMNr;&AHzm=3d0T;P1Q_nByLdtiioA5ZrgWz31@@%zAOIc^riKOI+YQ4D)yf6Mm2Xxc*+~^;7eR3zJx! zYaXe^;D6$K*yfQf#APwAtAcQ4#0JhoyUuDJEwr9(9<4*1c^+-yrtkHh#}SyD;#~81 z4HIpjzZWh#F^*O2Ckdfz2Xlw}7*F+Z%_EB#AH)~ievljP zE27ts?0pOOz24K_&+Fs$jD`7EoPQs$81gwseV&YZ2%k6bR1g0?Zr(ROgZV;S;JRr0 zt~yRdF}|SsV)z`Z*7Mhzvt7Sha832&YUitdzSa+><6-}K*nYmI_O+kI;2(Vt+i`z| zTPZehzS?o?qi_`FizEKy+OD(u?=uvKsV2^Ko$JH25*IkG;X3~$#&;6xi{&~G)tv2o z$HL9fk860}+C=tt!W|`g_sQNfxQIu!`_eFv6fk|n+2*0v{dkxK;#~7s3A067iDf*Y&%wDVB=-*T8=j{DEUwg2rE z<8>Y<;4X=EokzG6-1>_O7e}nC_XXL@3s;=zH70wl;JOgK@nmlr+ycF)&8TSUyRq>zJjYL)^(lRkiGBW`VhStWbaqFl|=6-+4~Fb8qte*id(1ugG(SbaQzH( z%Ly}Hob7!^?Hdckc+G7&+$OPs;~Mtovt;iI+rx12hB()C zSt-Wry8I5eTdeK4OA)ySGyX6Cx%ge^=Uw&rZ>1Qo<8Fc5AJoI=V#7Rck-dj-Z-`!! zGu%8d{l{xgXgZ3OCWCr(WM`viAqvLA_^Ke|KQYp7mct z+xk_&h#a4ATCG`aEuUeRJU=pL4%H_4zarOeS%z*OwdS zD{-#Z*HFy6muLEZLCvGF=4_uQzk~ZhKd#|?C&RoDXPbvQ-7JuJipICbu}( z`BoF-3#u=c?~iI|&UU`_;acg(HJtBHFt^0n&R5+>Z^XQNeYWF9zJQ-c;He&g^EDhd z3(QDyuH()Y<8|CcaBIZ|j;rl2>O4-6z4LIlh+fpc{pafS`oiFnh;_ZbykxHkTzR6` zitKfS>qYdYk-fQa%RPGP{yj|g&cfaB=&AWezR1lZCR`%1wt1+1H#ba4asG8`{&`a! znC2cm_2-5IV1|hE?;Bwu@6+n_j1z-@^gT>}4x!F>Vu&-pz8P?f#0JjSa9{3)Nq@k>i4P)_wP@dv+YBp;il=wHS~Tb zd)wg->pkuI&A+QJ2p5uw1_{ zHD|ki#o@lzk88Mo-;up8aQ%qhFJx~4+-jotC)qm-cZ29fzE18haEZhQ=4QBlxyfE3 zxUxj=Te8<4?nk2cGufLBx0L7|Bzq^|E)l(OH@JC3g^MHBHIFaIUS7E3M6WT~YX#Ru z?`iu>ecagNVV;Py?a%6cA^J`3x_k`xiCEipQSa0F$zDmgDjq%c`r4DdZg2zip5eO8 zhKYE~f6lh+qRu0M82qE}VcY*w!DSI^yDsWH%9Fina1DuGFS0iXZmixjT$klAAK&)A zE}w~!%VPcW!7t#x6l=RK>N?jUd(GiGdi2zF9!>Tp!_C!uhU>B&CeylfH*LC>{ zuAb4a`Atu624zjMs7hfqNm=cHAsDP=dSo9DC1yzUq3KK9{JuO%&sG+}UtT z#RiURcz-)c_D;ZEB6{KO`_IAa^+kn?Bi8l$z94&f;ffQz#$>M*ToY&EPtS4O|z)dL9LHBtjnFWpS-vp?n=00I+zl`< zqq&c(*7K6+dBW|&Q$1Yk`3%f;ae?D%*H5kINHOw+i;3s^o_Rf|fXV3L)Os!~#uvmF z+j_1T;>_!>4qS7ww)0Tyc>viP4L42iY3on@eB*bmXIsx(LY#R$|6y|4Jk)yLt~uL! z-Vb+5tnIp}-V?I-1}^&l{OiEgODhIx-^2F$vcTond)ob0AB9>l>&5xkbH$LKuc@Ew z9fUbA&h_(`8!-Qh3!H~xz8`<+KUd#Ls4teEzr@p=?R-ChOD{HXT*G`zlD&#>b%MzOSe+M%^0fVY|+);JS!)UFY#+ZyMYJqPLsu z9fmtg^j?s?4?f2GC7$ZxI^WO5_#nR6u3vVzLPYNyvey)@J<%IU_9nv3CVGF6y}fWJ zh~B?s?-g9s*xvK_OpMn&GQs5~dNs&ieYjRc?N$sMnWPjMqG}!xi%AseSAlvey)@z24LIN%ej0NSMP3{paEOKA>MBzwtVck#IkY z4eT3+)E~!*c{@_ z-v?|pIc*;5Jho}h_Wp4Q?u=O5by4@nbFvpc1=azc>f!2T5aWaRVtakr;0hAGx@4~j zTsys|-A6Orf7UFULQ@Q=QS?L2D2H3{lrof?kY7bayY@8cF0<8|C} za5aN^IIgx{)OnDOFlzn2jOZiX2AqwitchvtPi^Lea*+blM49@@U4_TzI} z&-eRb26w^awE3!adQo$>b$S=>x!Az#(|T&X#Q)4cTi->&7h5kGTn4d$p0-|Q;D28V z=4Ox!T`%f9qNL%D8yhZ}*uZfO=TU&{6@#lp^xBfW&TxH+-b}JLA8wW2)2?%UT)$&5 z+0wf2OZD@T5-`=pxqe>K0H(FLz;)Kvsrq@?5Ha{i|HJb0k`bD-t*Z%ev-IO?=Q{&O z+6vPko&S9Oug|=$dWw-(XI;-j;3fq1aGx92)he>L5pECByH57*!M!AU3Da};QF6G9 zVgvKlu5*1{v@$RY#kqbCw;AS;IM=#54Rcjo;JAi$6(K|LdDwmq7e#Znb@dTkVzGha zYUeux=bH!SbdWQztEXb{Kk+?m$BpoLo^T)GsUCsj8rD@tF+PYdwq6dn!bGng*=q*Z zf#{7Qdz0Yi=soQ^*T?y7gGrgue_dSbDi=%%ajtb$38t>Nz;!mPtL|dnU1!_6>Zv)~ zJO;vz(T}U0?+hGl8BC>2|6K>>b=6kPyVqwsZg;qWK|SnO+Hvb6G6yD7X7_bg@4pGf zcpW!2TvoAx>ugxh706z7xJG)H-22b^Hoks>SUcGE^ z1&Ll=veyKz9nl*>_9np1B6?fN-X6H)MDG#VdkGgMtM@!oi}9LAMz}nB&#kc! zTUY9H(>|Cp;#~XCRhS3j0_#fKhtzRC`oe#%@6N;a?}^0HoNYfy2$x!H;JDg-sqT-W zWUm5TZI7P%exWPb>kT)I=q)6BE8sR0y>n#mD%=C2_ffXsx!L9sA1+dS0uD@^uE z!Br)C9mrmHxPcx$wO;0sy=8D4^`7B=I|Gw1yZ;*6?l<-Gg9kBtR?-|zL zVwewedau9aFnNNUd2Z!kYKpU67qwnG!}JR3g{~{L{>H*g7Ux=jv&HxpAHLYu-{KHw zK96;9JH!Ug!?6A?YdzcgyB^}q>+h!KZ0qj<+-tFc*JoINiE{eu) zDqI7Pp4v})lD#2t6FhqA{#`}(Hp1;8de_O`J-C-dFJW$O9?9V{ignGS4B4v;SC8oR zAbb7cMiIRwWN!`JHllZt?A?TWO!Q*s;pUMTE{#~%Jc^OMa&R??UT3n`6K)96n@{$Z z!EN;Dsej+^49q=o{?9Mw{WL;e{M-jm^{`z(^}di1CZ{-m&-}hn8m6K++xvq0bB$VJ z)N$3r_P)>{#F@{dHC$J*f%DMb7u4&Xp!IBjt})5v4Ey*L&Dr+xS#V3l240`xeg6PV z#(e&H*gkiv@AC@7R0?wD>(T_Kow&epwewK(9RV{jsArzR@KdyQGm4>M(&b9t(iSZp6Uu^5IQHV32M_ah=Vgu)4SbvkWo^Ab24RPl6 zH(hhK`Obq|AvW;(4D0U***gt)mFPt%ukP$G2r5hb-lhEWUl~RDWcbm?6rmK zPV^>`y_s-}iQYc4cMR?V(R)qyA{EXPE*75Z;hINgF<$e{1y_{lH6VK};5z9&!+tde z=8-ttex*K#MJa;yho^e@_YLzpO%9V$T;RHB_qjSw88N<~`eOO-GL_Su?f$I_*FZn6 z;r{JO_6EX@A$rTm-a5D)9zFH*h|6T}9^6a4XP9roqWFFRPxY|PSA8BD1~VtfndiF> zW{0@Ie6{PW-j6QB+zIN18GpVT?yEfEBIBtZuJ@xbF+PYdw)dliA%z4V8+d)%bylCp2a>%Ja8rohIedRUmDHX)?a40d}0Hy&#?Y#lD!6St%=?cvNr~9x<^m# zryI%M9=PKkJ$1i5B6~04qLk3)Yq)-?#k`xZZ5|on@({i1WUn4vOQJWJ?2Uq(O7u36 zy=`!Zh~8bY_ZTjGN$+_i6XP|HG;rC7UL~?u6RwHgGwi2*VJ?evy`MjY`KZ)?_g(Wo zloBShINN=$_S14O)q;BF{q$Ry@5H(G({5tkU+2)Cx_|qIIP-aofSV#Va2|&Jbe-0- z?WY?<16X-gCG}rM=g4N-^)Rv-$dEfXk)#4C}8d%qnrN z^|uG+VvsW*_c2WPGVb$G>n|BhT5O9(t z!9V&Qw$HoW;RXiv@Hx@&d3O%kTMW03=$#~c7vOH|J;Qa0Rt0}q_=|!wn;P3(4LJxXpS`yUz7- zozKA(sNuhcwsoccJhT!_197f()e@$&xWIKbtgCTikoG?;|K9c_&DrKV6K=77T9Bw-(v>D4 zV$1HbyRa+U++CU)y;!kh?>&~Ni5mSz4HjaFCi*qT5;fMu7&RJ8j6KHx`!jRqmNRo_ z&LaB#{m+ZTGkfNJ&v~A6o>S(`+_?q$(ci3ctH|U*nC%aVuV;<-0}Yc@?r6CE4V$g! zh;kcXerLF1?W=NMHB3^u@4|g**lf8G{bZ5o8^$-k&gK-gFDF~ zzv~?Hy9MrUhy0#*%x?CTK~irJxk@4+zp7|t)ZB(#pzzV}R+xrU3|_nv1Mm8($fKK8;8 z7j4H9xDyPUwIgDFyT;0|*uMAmAuf8~`$mf^HV@tgx5}_t{UXNammKr^3*0{)^6OFQ z=FgkLZEx7Dei8mR3g!yK#rfYIFuyC{qTB6Nn0F1AE!V0S`QQ3gyoZ#i5a)k=VRkcI zoc|3njF%z*74yGQAuigE$#4f6Hfu+O|Fv8B74yF(AuihgmRVde|62}sreU-CS@o>z zqgx#FyA$p~hx}f3%Uz1~gi{O?!0emBD1 zY3CO)p8gT0e@*_lHX}5zYCazib9ez4Jq{fS^Ap1rt7na;m%;qBAit7Oxth=KfqB4i zapURZhT$V#C^nw{F~mjN@haTAhRxa$F`lkpTj+nq#?u}lE_yuO$l{8Pr<=p|F>F@9 zi1Bo^V}29iW;x_{q+@=|;7+phi}1heV7k^N``?x@dlzug?KT!>y5Wk|i~O$%W^qA& z(f)TD%u2(>`QN36G45A%KEE!+McZ*3+$zIn?TGNdm#qAX`QNJ{F53TIx42^d_cq)o zhRy01;eVy`3;Rd0{CdOfWZ1a;#yaM=KiokM`7LtH?hAY-T^!?u_4U^PAo(*x) zcDxSvo?)|gSp7rm^bP6@{jb>fe|to65&pc9#TE1C&EfhOHmhGm`;LaW%5cT5XS6Q9 z(=fUEi>{YdaE}=_uH3g^#y7V>Cn4JulE!Xk`eScxBVFEk6aWbMkCc@ol*kbyrURGK874w6K;r?LQtbP&Y{u5^E z!sPa-HcVhgv2q*W78y3K-1A^QFFYt{4Z6muNR-c7z8zJ4=8>rQVxg{d}NoV^QSmK5ZNpIY|H|1L0$ zO!Y#s`x+Kk%-(C@er}f=Fc z#yaFz?U-K!+#-kk&U4J~GPoNZ@_W=VzyF1M$sxbb9rODZu18C9d+chMr1t0!H_9Qu zLml(0fopNd?@Y)1E`YnnA-@M5^Lq^LS%>^ScFgZfxNfb=u~23i2xntzYzeu8+e!o4~0by=@o{y-;l5?2`}|ZO6B8 zJr?`*Qp^sOyQ^VLu|?C@!MEEr5H>uyOwP zvXx)4b5n{ z_cTmWxx?Yc8#b=o8kmO-7iaGahDj>-O}GyY8&~c|M>9?m72?WWZkVKU&xE_guyN(y z4YTDj$>r{Dn51%t!i_a-T)EXSzcE~#z0VsasocN7{nM~<<@Wdq&$$s5;>tbFFiGW} z4tJ4Zv*lXzmi9~j$1%VA;eO|k-`kG)eF*opLw>!F_3I?b-ac@98aB?}{T=h01y|{i z-%lL#I|=R_hx~4H%Ztbx-Tpz<`+aqHAG8*P8!^Mq5cN!+C zUp@%;gkj^#eHUi(^5pUFaKj{(+W@!7uyN&{2lI*H;_O}jc(;1q6mEON#+5q?<_g2b zm3xO_lI*=7?stZbEB9@fi6&V zxzTWO<*qVJQvE#!_pD*#%KaGTfECH@R%e)`a*u@jiDBc)y$t4S!^PRV$*FGjyfxe| zhK(zCJk0fmi!1kD!z9`JDBK?nn=Ln@zkTSK-{){$PxEb#%dd}NlJwgZZm>gsvmEm~ z6mEe-ekVERcP88=4*A{fnBRkNPdMcFu48^5!+qnB-`1zQ`RR^udmA>ceWyC+cOYD~ zLw?6O=64F*c@FvA;h5jOaE~VBr~Sk?9rODT?(2m7biLa947c{^1GlGPi?xUDpYIQI zsNwu^BYOX|1?K34{P?-|)Fm)i8m`!LH`3=O!*J+@sQq2pdrOFm*6&WZ2MwFGH)1|| z6=u|#ejUb*lLr{as8@7<@^H8Y!^V|+3e4Mvi!1kQ!z7iv{#m>~o2U?1Zhx3_3>R1K z^@d3*_YS!G4I5YP%P=F(POj(ahDj>-P`Cw#&6XQ6AD!fw-ihw zyN>yN4EK#gep|0}8xMAb+uN{l^*7ZqzXRc_9r8QQF~3vb&U47`4#)iNg?rQ?zc(H8 zdk^k&J3niDxf&u~QC*fcg zaN8O-&JRX7<~J5@x{;i@*4~{#v#8-$NUz+wL9c@ zj$?k8z+LZ<-@}giJpuQELw=t+=JyTU1{Wl^$1a9RYLC6)MmXemuw#DJa7_;Ro$i?5 zd2m-b-%F3@A?urmMBg8!f_g@E2>*duK`E|^p7rgPsDt9l=JQU)vV_ti^ z`IskkJ!6MVNyTd04n3dq5&3n$IKO?v_0kh=XTt>fR+NM}iX^^%J2lv7~Z&?5O1N|bncVW6+V%b|;-BI1QEyymlH%B|d%ru-o4^n?t zetqE%gUJ{!TdtL#xbtD|ameo>n7=#Z_Z7@`m-=?Z>DLctis7>QS$aQ8cKL*V}8z-fK;qsx=a6}JuC9)>Mee`&Z1 zhy3LCRd7oU>#sMk*YcNsa2LWnV7R#UeH`X}!xhs{pHE$3+glPEuT+0sLR`2#WXDjr z>4wePVfoeX;F?1Dh5e-hZpf9keqrt=xWx{fzM!$)Rmu6?LxpX3bu#x0%Kg)|$=ua& zCtjD#X*})wQ=1Fdb8omI4xIdSI$Wh;i}``Lc9;_qIO%thVL0?c)Oa92_!-=93|q_( zRPO6A9~!Qheww$sUY}eq>K{Ge1{zlTfl>OUNw0%B$#DL2s^NN;9Y2S8)NsY@kbZ9( zhC?qDEB8IP9yj>5WXn}Q4?c+Og`Wzv@nh~03lwNZa_uq&L+4{5QBYkh@ zJeV78&Kh5Kfm;RhSHo$1z>ZM4nz!DEDfyXIuGP=W;QGSMHk_^_y?U|MCB3A$6*48* zYjLVCJ7h}AR`1o(*e;!dp!Qg4$_&yxJ1kE5T^!=b&$2^$UmoT{8Nz>2elR0A znI}8t2bRCc5A2YUKf7|4A4tD}*l~ifWkdedH`;VpZjIz@(Xh#Ir&_O3y*&T;YxmC=NIPY!Ho@Z;c_2=yWW920MxzfV(in zh4rh4dpyL2^V=1!>~6c(4i0hQ{070@7UIJBHNw3a;==jqdUg6e$@;1P9vkAq z`Kf*12ytQkD&YPb;==h&hTG>}TfZ=OIov4@oW`pie{JU%)=%ThoDdf-cPF^jAugQX zG`P1yTsS{nM-5z+tY0f!Lx>CKr}e>0Aug=nCU74+aPq&@eG&Ru>q*U9gWzTub{+oq z=B)^>7A9l3?E1x8cWT_d66SHkF?=b%$aUv4FrOJNTdp<#YTshR`y=eIxEi>vLtMC? ze+zf41E+n9aStSy+YjytxN{9#>^eoZ2LI}PSq z2W~aYiw@jpFdMH<)^87(aSq%(n4=uHi(zhe;GTl{y92lGZ-%F~Atu#xIm}E4t`%m5 z19t<=0}k9PF#mSodOpPa7>P-COoFL$;Esj4(1E)P=1B+cA291YoUC6OW|#vv2d3G9 zI|JsY4%|a9e|F%$fGK$-*^a$nCOB}lFvmD>m%{wgfqNR}9S3f`N7+{$d|;xdS&B zrqzKv3+4s~?h%+*9JsGwdOn_PM;Xi{2W~#hu@2njFn2j{&%pe{f$RRe;i)t+$zS$? znd889z?|X0-3;@P1NR2Z7Y^JOzaO63i9k_d7o_63qfLZT}Wc~WW zjC9}*foXH#R>Ium!2K5HH3#lLFq=J@Y{vkY{T#S@n2ZB=CCslJxaVNrci=Ys-{Gkp zh)MoZ0W;TuTMToS19vOTBM#hOVZL(UdObBfRYpv*V;anS2ku0e%N@91!#tC~^+BnR z4C5)te^L8?6G$)pgKtBQ3ty)U<>WyjE_^+x>z=bhTsS{n_k8TY=??kbPbcfQHQcU$ zw7IZ;BE~szi{X9};=*?5y8Dw57cN)V-Mcle;%U${#gxD{|OJ8=EsYM!;r4eK`_ z?)(rJ)^8l#R}S16aQi%GmmAJ+FSy@_xUhaza9@PDaDLmu&3)c3H#)yXAugQXYVv#D zf!hb}fIB>n;o^#;TZvS-PHig^p#pHSxv8@BQCEOebPUB0H1GhWe3I|T@b|>6>hRwE{ zwSQFs*Z(EHA4*j4_pi8rY3;vgpX+GDcp(3I?Ple7FzMIB{Wl@Mjo`Zf*{z;8ci_~| zr#Wy{aL0tWaKF_4_$whU+|TF0b$i*iBb=Z1*A5MF;rwR6Ee~2CzYB5Udai(bJH&NkJyqer@;)XeJ+Hariz-gSE>%eIoU+BQ;xya=X zoc#Vm2Tp!)8{C72E#?Q}o`rcclFL0nsb@4khuQiyzpe}SsdJp3R~Zg7)o|v1fbr)X zr{@X|f~iU1RBjW@Ifg5=BbT4J>tTLpxH$dZhWXlX#q^UM-CpN?RYZlja`%Kez=5lS zIn{7+`rQb#%5cT>(>U}f%wH1nQ@wl(v*R0<9sa!4F546|zYT?{Hk>Kf%!9dlR=q5Q zIj)e4Y~NF1E=b^{-&HUV8!oP%Ux4}AaM}8^?9hGF-hW|Vil`80$4r>{gGgz4sX3tSkI}yvL8Xrvm>OR+G9JI0fvh!cLK~24&1RY*BUOX zpH2@c#vFslrgwIiaQUxN9k z;o|z+=P;Z8&9}E$e)5Cs#^aB=!ghG}x(mcv|cbCwS4~XIm-?`XL&Qs9}O30$ICDu7ILBfD?7e~>GpQKy|QByn1P0iYqyCo3k{dG*Rn(R zr%#2s!*FqStb+MNAs1=KOE7OGaI)h=m`&gD?Txcz7nuDGSIiFej|P~#4d>et-9LT< z^LzmpJr2DN^NHc&^jrU3exIGF5XX&%sWDvEj)-w+Im`uyGwl(oXZ7E!VD2;o-kaT9k0W5eb3h~TYr`v z%C8U1c*Di{^K_V+LM~L#vZD!RSpuhWPk_16aB+65f_dF=#q1bFe&4|Ke?PxHc%CN0 zUq--8FXSTaI2fibfs-9AFy|RA&W;;lo-kZ7J2c+E3)AbL$#(1jGo+9U*&)BLfSGN$ zIQ{Bj&agSlU&fQ))i7@vE^gfT5T@$~1$Kn=lfP^P(>sAvJ?{uJ(Qt8g913%s;fmF> zo{PK!<`0I8^ZS=z{#nR{>`*;_4%6d9-`+U=wuc$(z#Rm0wBd@`q0%madB$*YcDw@f zQ6U#;$5${Lf0S&;4lolOxI%#}1M{-s;_P?}=F37Z(vGhGVtqv+<|-c0|u_y~ggLH&i?-ubm@5nyXU82d&pUAM!ff<~uU|1cMq$V9F!hFu>*sASCl_*& zezg+jr-qBO;~tn-9Jr5QHv2N(4&6@~0JFkyasB*Um>UYX==QiB<`Kii+3_OGe;l}y zuZE`v5fzHH$3dK%3G*|<#o2Ku%wq*yv>kthdCPEdc6EB| z9p-7n#o6&^m=6lLXgj`u`O$xp^-IHybKvH}9Amg*cFe+#OJV+LxHvmLhw1T+ubgLrCKxWxjzeIMb>Pm0 z`IX_~?061lmv58p=npf#fQz;_O%gbD0Bo8_ctYi?icnm~kns7=wMs==PWf zGp~S)wxbayW4Jgw&WE|jfqN3>Bg4hnv2mC3R5dZlj)gGC6>!mZoCIT*75a=vtxIdV+|MA&sV@)Ucg1$aRbb+4Hsv}Q!xK>;MVI}p4yG55NF3En9B?o zXUFw0_ZD!`c03I8g5l!qcn@Zib$$KfxE*088ZOR`I+%M57iY&qFn=oGqV0GC=HG^k z)31BC^3)zgg*dJPrq*zAb{r4$yy4>Pcpc`G0xsH)Z(vH-OV)2En8^;@;V{b$7iY&+ zF#j@KoE`sxDOumw&*!4;*a~JZ!^PF}zA*D0xT9dMG+dk=_rYw^Jzu}*akn?jo&{XA z9YbOEH(Z<@l`tnba2LU>GF+S;FTw1wL9!h~VD>BEqV1RsQ*XF9JC1?5+JU1ZMZl)ZiacFfQz={ahO*O7iY&uFq>`c>lerMgPCHuI6IDjx!-Vcc0302 zasd}@$6GL88ZJ)1jW#Jy^(QLCapPec3>Rm|DKLLFT$~+$gZZL>i?(B(lJe9R#3cQ8 zgPG>Q&4W4FaB+706y|fo#o5uNv^=#rQNib;?bse>pyA@`c_Pe02ktnS>kJoX$8TUZ z>zS`#^gOs7%zy$e+K!PhGYl7JM=i_>2kvs1)rO0+<29K6na0%m#v7j4JEFinPw zvtv2T^$y&Rm|i!lFj;7YbEPYog}#MvM}p!v$Ql9sdjS7sJKb@hMF2UcP>D+@3H8 z7_OKddT&n)%p-=2v*Rh4zZP)OcDyg9cd~w)!3=ZYroglsu9zLw*l`xjhlY!@<4c&0 zw(|A!xoA7KgxTG2arHbJrpAF=0&|(+irG?9yMGsJJcR;!i?J{*^X&2^9s0VI~rj!hKsY~e3*M2xF=ygGF&k`)E*me zTb^nrD#ZEKQkXLexM({rgt^&padtca^H&G%GnlQm^YtrchuUKp%q514v*S9Ly9>Bz zJAMQ6yy4>Pco$})?S1{?xIQrB4Oh&LbFiZZ=HG^kv*W)oJ=6K^7H!8iFlB~|({CJ1 zy#sd)%+-b~X2)6B@c_(}KKc4Z_wzY0M-*_;c67k3FkGA+m&2@f;GTo|!f?gxI0HMj z*n#V5qC#AI+zPY0fQz={_b{&+F3ygB!ECW(vR~~6GtF?t>^K$O8(}^*T$~->!fe_% z-`;3DwuR|$xHvn;!!$T>KY_W%aK-F66gwV-*=nbJ{i6Mh+Pyl=QT{ZhM?r}`2V z;<#ZjhZ!!;j-z0nFA8ompU*|xu?$5+2W~aY-wYRL$2xnLrw$=1 z#Q9Y%%+dlb+K%I4E;L-69XG=~<-q+FX1y|Bzc@Sk!W?6`I6F>;xwL?bw&SNT_ZTkD zjwfM0a^TkOU!LkmREV=<0?d_$i?ibuU#`zZ z+p!_cc7}`7Zvf032kr=%vkVt!$E`5y4$jvvdfeR@W`_bU+KxS7DhwBA$84CT4%`_q zw;L|bj;COD9+GTF8O*o>F4~T1F!Kx-XUAfgOC7jhz&vBPI6FRqnKU%nj+rp?3%F=I zT47E!T$~*j!`$bVP13K{spte za9_VTI|jj=VYoOuE`+(cfQz={E||v+7iY&SV#6Gy!t5|2*^VJFhZru-j-@b98!pa{Kf`=bz(w2f1adun^^Do22+3_Ekl2N{XJ{N7rRxo=RF0MWHg_-Zb9R+ix;o|JL4`#D{^7V_J zKemGzP{2joF%o8m;o|J5g<0XiT@JI_aB+6L1~X)IvKt7jV&bJOcBg;o|Ig zAEsoiuU{P37iN;-;_R3Y^MK*v?06jJl>#o>j=#fvWw^K+ZR}S3o zVLmWiF+22q&L2%GPaR2Ai1VwXVa_h#qV2c@=I4fsv*R}~Z#i&Z!fZR)*RPlz@~aUr z*BCC&j$2?JEa0N;_#MovhKsY~W0=kN^Yx44c7>U0xMFr(h#d=Iy6m6a9z9^TFW{o> z*cE1!;o|f=0A`T`cPh-!4Oh&L^RVLym>*9`wxb^Am;x@^j+0?7HC&t>zkqqhf%`km zhEwDHO81@n!Q5-OIKO%r=7j<-+K#`#d}_EjJ2sfc^YTQ6IBpC~o#BeLhweL{08=_W zxjnXq*}H&?wqrQVRKvyTR}FKL19u6`{e~-MM+Q4yhBmt6yNpPB70JF3zuBh55LEi?-uym`!FT`^%0n6CJoiVU9CgvGzC$ zJFbA)a#nJC^nn>%z(w0J8fKQ^;@V>Y%;^r?RWJ`5u9zKqkKA8i%4R3qQ4TY$fQz|KhI)Z zE!-@ayAwE-`vlCux$*h^6mBBSdkLJ%{T8O?;Q0Jh?h=^S6F8Oo3Cu-@#OJ4SZ-Lq5 z(0ESoAKww?&;(BUwZOcPz+DaZ9?a>7#g{Anu7c@$cs!?aw}d$^fm43x!F-;;DZd^+ zE>E=+6^i+b>g5!e2NO7z`z*}R%J}@m?GJNX0w?_*hS|L;Ils{`*ClYu?{1jwtK;+2 z`-cX?EO6kChPf?)tB@TqUFXG@t9scI=I8|OBe=6+j;o2!PxhV%^K}BJayO~P4~PoI z{6P7g0`p-4mx1eA$9P3lD3+hfy$I&(1Wxbm*(M}a5EY8qtNc!Zc`t#JKYt4|@QC>QRPIEW z+Y&gH`!LKd3zPF30drjfr~K}Q*}5?~zrA5DO5ikJ-2(Gw0yhcnbC}Uh@#RXtSul4e zaH_v2U!^KO`-i{kT>e*43$O5o&I ze}EadI6gnmUtn%a;8gCzFawvw=cjTf!rYR;soV!)c3B#qpWY8Q0%l19r*cn+`7nV~ zxm}m>JwBpBvGK2hbH~9vn85uM?pc^6N5$vo=?C*+0_W*>H2M)0is^SX=Z=Hf{+M`9 zYy##J4+_x}Gj*rhz<(>|+%L(z^O1Kd)Pb6^C?{%25C&uR| z?jV>|37p#P4=`Jw6rZ2!d2g7@5;)b%Z7{o>9G_nY+z6Q461Z`255uf~N_>9ewuY%p z;8ZW|FfSxWRaeyYC~m^%|V)!$<ToT57{oDxFU6Jz>n` zDU&BmojhymnAu||mG4kFb=KI*Ipb%J>OZ`!Y=?;RlV^{gIcE0snU&+l?|b0H$|>XL zjGr=UKm<8+QFBK_Q{9w?d2Q8g%SKHdS6ex5S#xz$L(MpC5Alg{<0p(caLVi{llLv( zp{adwO>0|6ZA3X!5x6m9u7yA3J%%<|YYqjEv-F%kW!$teQ^(KRA-yhD`7v=Y*}zv%c73M<}GSytUYY$kU@KTmLE2DYW2dp2@Q>P z0kv0cL)&5PZ8hdYdy&UpE%S~@m8V9QcBx9Go=$C=+9CCuW9U{!PHm`ZYiVzp-;wS& zbJz6rR%*K8C@f8nZE0#H=eAVORNvCd%EdL6)g9EqyhR;#?WxU3tFLQpt!v9qU60i2 zj>eQ^dq-_*OMP-ub$jKQaZ@VWmsGb_*4A}YH#FiheM{Tw8Y^2`+da6Wt$%70(pnp< zYwGG-8f)v?+EYD9Xl&@HYpZT-_muFPpt2yXroOGExh0pj0Uz?y!WnMNxsLjV_R5a> zwz}$CujKhn9jR`lFXl(15x#zvbxT`Y+B)iL3w2Q5#(*E`u&sJQOY^*zr77=3!-9s6 zc6OHgmew^dYVwb&8yglhr`9K}T?gW*m%61L{-M{fUS;^%wx>3NK&48*ZavLf{H)p= zniu*-K<{T_laZbs` zGz&GKdMGUiYxJGTZUdG3;s%Aj)GL+BNEg~KBYn0)%9o<_)~|MomCtpL)w`ZvURfjk z*M{CI*VY?bJiYnlK(7zrKc3zv!H%-(`ySHNUw%pa-#+~32dlp4x3x57H7*MvWUi)5 zsOeH_x`Nb`sfFoXm@Vt*U!|pKk|t4!)4Mcun6B*kO+D#BkRGx_x*TQ_cR+9by(4lA zl0Kf9job;@g6xMp1&PaN^whu}$QzJ*A%BiU(Twcsk5s#<@9b;YKbJK1vzf#V!tLhQ z17mY}dG;`7Tu3pVsS;F0yI|h*E*kq&8Y+g7)aunsQ~QEwACxY3Tk>n18SG3AMvg`5 zZ`txF(Y9q6J0$y(zCH3sov`I<_#ku-4pJrKOG`FPm6u-3+38)nq-59a99wqXLz3U# zvTIAA)ud>#NMEaN@2IS6Yin*{>i28qRGe~p7uFT?7R}H1g^Fysyaj>`R1fM;!8(w4 z{$|wgMj_8d^6SQ#JCUQ2pCiX0RWFN(2Uz3d&ZLzPHIC+ms=&#!Et}WKyOft#_2<7@ z7FT`Cye3yO1VP!EaD2}ae|kz4DFUwSI#Uj6|0^40M6 z7}JL|^<#~p8^!wNlKScnudFm^5OOZ5(LCs01M0KgOV$4`X!W`vs7$*rjl)Nz$9SZ4 znP7b8432G`@i$f>>s(r*{@+S!VLw?)N~oVi z*&0}?a8l=hq&1|7DRKD>w^BuEj z-I5?DvHdu44Feg2YfH_-+&nTY$Q~)3%YNiP(ZQVPg`w1~?10ON)p**Bxu=g*Az6epxTCV1*UoCR@PN!aS7Dx|DZ8r|Ycc zMup`g@~^X2m{bYbD}T~>!&ST&G!Lr|G!KtKY94+K$#Ldu{~9<-pB>S$ zgjj5z?X*5lUit&-(}{J!4^lsay}`8~RUQOYzX^rwvinFKXZ7Rv@yjyO-$eFx8rv7t z`OA~1gF=wqv&Whq)%o5aC9mi9BIzTN{Mp~16)L@pqlliWJp}qnYNH1A)cGxonrpp5 zUhA6*Vh}vt>66_^2-e64(^u%ksY8$lAP+@qfpHk}DQr9(sWDCK=vh`@S_9vuGCJRT zRQ@Hz=~i2uLE28llZm@IwMA{+{OU!G9R&j_9}YsUS%QnQ8Jx;%mWawX>v+|5{(LIk z?D@2cy4;iWY9wPHztWM)9Eq$kb*$@Bdo7_l*7{RZ#_mowQpIdv`gXQe`x_l;J{^Rx zk@Dv}BRz{`kJ5u6J!DT;Bx?*W9D&}_Z6Q+nH5xk};CPnRRz2}0wbhT1dpOzAo@Yni zvZ#Vgf{-&M=tfq1ZBNgb3!R$)gPJip7Hv@3uTKU+`pbS5ImIN>cHa7^4XL)L-*|fs zi;*Yr_fq7A$fJ>W9(CZGuw$TuYp2`H|)b z`O$I2e!ck54>9W~RZmB&H|kdeI5N?9v__H#Y=G;t%5KfBk;aTwLT)MT?MtcsgCHI4 zzMrAZrT22=DCF@-#@ZBq;`stT!n&n!f1H9lyEgERUBmW2hw|+DK9@A- zi91Z@Ds45N4?@_bp5|2E$f_mvizF>&#??d}WE3$9ZJz2{8sxh*`qlY==sHiX)}6h* z>0L&)RW~oF+o$i8GH(-Y5+^FWHNePuTv|4JCpPC3^|=#u&9x>um;ZyD)>?<4eeb2n zrK}J9eed;HN~}lv@Y2mtLm|89*BGe*HwdavwafY>uy5jpGpT=7?ODh%$g`2MWhL?n zByE{Fn$Mkw)SCZ%r277H;^9_**qO8v;`YS6klmAtSSzbPWb1hix`j6`M(MJKeKT4Y zw;{2pE^D=3IW$PHJ|2W{ zx59byyOlb{#U!as*!-w$s%vkrUclYogno4r{9Gd8d+AqYWPFR4ebIiEU2DzoIq!ef zq1}%zqF<;wvD52EtcNqw{W9dQkyjvJMqY`06?qj>{pdtumDP{dz<2FN>U39zeK)-WN+K^74?UMzxx=HZJagrk#c-wa*U7k zck+?>jf>jrD_fd7KhOOC+(o>8lt0fz`N*$mbNR^K$O_~=NcjkJjOQb(kn$1Mi=L0% zk5vEV+LpQWJ72#9jniotkq%=b=9fvN$t^}B2RQkM+?4yzEp3(c)y=hfuuNmg)8r9^ z@L2K&r}EbMn=zKWL(*5;TxVmJc|5;zkiGD#pfS0=~45}8m?ap8mZF`gKqMfD1Fvo9t=56 zfj*sB-w&p)?0Ik_(p1;$A_qG8a5ax)E~~6=Z1jBhYCao;u&bHIe7HPa)ss z?>`{lL(<>Z=G>QUkOIHx#4{p0VvFq;FQcdW&NIY8PJZDJuYq4=_*@XeezB5Md1G3_ z=%qD+spId(3;L1&*}k%|qnFl-`97dJvVGuL+E(@U98x+zkL0>3^#YQ4FZCkwUL352Rr#dZClG4?1t)w)LhDNx*?T!Pb9xBq^sQ) zuTaO*|5fBLB=>_entNVHa*dn%3zGF}>P@7^>!rlm-+i5-O6YVmsC=!(?KS8U($d5u zi9?**AUix)@UbA|x?#dDY1H!^6+tdY>7=^uh8$$l|4tpIIer^C0QnAbJd$zG+e`Qd zQZ~{iAsgj;X`<%%p-wio*Dva*ZCT>4v#a=65W+ULaw>1A$=~~ApVKQB5itU3Ytp7G z{c=Rh`3km^wVCNZ_f_Rn-v6>qb+rLk&(d)hrQBh`EQ+(OTKW_ZgOY(|N#4hU>C~)V#V3 z>@Catl**UAU6FlF`ZuU5o&JlIUf&x1nJ>8~JW)y6P{)xzC;NxF`2uU|>O~zbY@9dL zRGR0WI5t;d6=W2IuthUCm1oh8W+akD)4LSOHPTmt?*nL@34&}g)?Jwi$Zklr>0Mp)EJ|UWG_FHFoU1`T)rSK=#I$Mla@haUz#G9wkhwYt?rVNT zYF-`a$yhutHEcg`vqI11wDZV$X=w`8?%F|#3mRMIRW}yj#85SAVDPIkpQe3|TvXSt zua)HYt;5Osbv{7&US@b67fuZ!5@enRdUF@Te zc{eUJLio||_dJx<{Ki9;O`zt%}3n7&ZrhPMoNPcokx}; zA4P78{2Iy4lFT>A&5`Tj6I&v8L-t1M+qqjIw@m%0v_`ej$xNUlBDejqDQX3vUb|KQ6t= zE45qdz7gi3NR3i{qIV`GyVOPq6!inG?p=TGfP7=C+&S&JFz#dyK`un;kTvp& zC>?e~H;sweUcxaUZcL2S!DS>WRu9yjr-S-PUg)$AE~C)*t;0aCtH_swpxQOTJO=rF z>oDj$=%8Ui8VBoFqj{&>!sT($@4Fs`eusKkTRu7L{{bC_JL;glCi{NW+Ny{Co!FE6 zUiEMpsHg||W|STpC)GcKd4@xUPWO-gE`t>rfA4y@3>HR@!Fp6VZ|920V?2Vd2Ehcj9a6@Eu+n77-a6-S;~+5^<`DZB^h8?5zC z{+d*J+iOzxu`{x%FY;dG&d8x~{gCpZ6Nzi#c@?`N)@U8_L+Ikty;LvUKMVQCUr8HE z_zGdm?r1vKR6uV-Yt(6hYPk;WxP>T=@Fz4*@$q3c%~tdcKg^X3HqAZ}VVUtg&pt55r=wY@K| z>!H(0B)wN^9H7#BsfX?@&LH`XZT;jL)bTI5=Jr-fwfSO(f3YRH3i_e6M=x$2#Z|{7k&epp+SP)8r1Nx8uwV|s?$*Xr& zka|a91>a6eu?oJ2bA=VWI!gx?to~X?41(;*uMeefhyAjVn7PdSt@_ZsX4l8>d@l7M zvLj~PiuA*a`A`tT^&wO9>O<}&3yWF5nsbHLKc1xn>&^3Lqz6Iz+xG8Z?57WS_Yn2B z>_3Nih_zSz3TZuv+;>bZO}4+1*B;ETYb!5b)XLl8gEu^RZ!z(=j+c^85W-cml2c34 z>Ox-E%v+lb3qFLDPW8;g>mv6s=~|mePwv5F4nwjRo{`S<8_%}uI6ly_?P1cS!+pfv zd-0ziij6T@+e}-Vzr7Jh14s~ZW(7OqRh-H*D|pQP^0X{%X>0I?FuF6F{_@`$#2`pV z*}6V*oJrgSn^XvU!5P|6@AvS&r$L(c-jGt{t)y$*xErZ)L+z{XS!?az?n0XKN)z)! zc6(oxT|RB8~H_R#pMI%Eam zwTJ#5#oxG;*B%;g)gBt7)gBt7|Nqh+2cxfSn@L>!-P)rcSp-2@`XT?lI(dCW?V(P! zVLIF%`D20fv&RCB?00YJAXVE+;POgq^}d7ip@aUl4mb)=}YjR>3EO;M~3MVmx9=7u&rU!!r$H@wqMARW#p+I!jy zNJ|r|iJLjrz4^jc%w(Itva%{aqNX*ksxJjWI;o!XuOqciN|Vk#TyH&vs+mdry$4dZ zEhpNxseZLzPv1=K(u@E65L!RwPfvdJ)_S(3gHIs4=Z?*`Nf{{@r?ZZgcTKD_L68oz zr7IHO@WS5cEWO||(yhO-LF0`*UcNxuD5Ca2Hg{~FR(&~1MtN4e(S?tikh3D#x_^ z$l4tzqxEneC(osBCRuZ5D`{!s5yUMVeW9+YwPRUKPt9Kz=XrCHmJUBNB%SQGE~ibU z=LqCLB-aO-gOIep*H@3`_@K2hCwj)MSv$Xq4)(hoeo30<_FIWtI@T{=#;>ccsjqBx zejwiJVRI?$lzMeKhwsVIYl2-UeUVUu=0<7nv%DF+LmTdFj`$BKb4vYE*#|-PsjV~$ zOfiXLXcO7IFH+f!Mb1EuN6tr1Kx$nx5qUCl5^@D{GBOxiQ(FB0Jxr z{=MVnl=;2t;?#S6T~0xlkyihGgEX%1Qhz4y*^B@D5X?txmGRz2ZwD`Ue`7jekZLtQ z1bw!QKW|QF$7}6ds0nZLlKi!9cJDIZ58eQ}r$?b5XkE+N)mzgKM{dsFvyocUFF|gJ zycCJrng2odMm~?!=i~=1#Qm*4y$fmbgETQOWUo^T4eorae-Gt4wea^)uFGYoH$O%B z)qkj5`PFB{W#MtFu$p66Ho4c_M)=h&X}MaAUr7(!uNVtFzhW%NRB(P<@RRNrz|A~L3+!6rWNm* zW~J|8?AJaZHfQ$%`}4QPp#eyZDXa}LXCRr?yge`KD6^Wssb6nwDMxWZcpw-6=}dAMBDO2T8ii0z*Af1>#Q#Qx(wo_bz!IumXn+LQeT$YSv>*H>b1p zt*@KvCA#LNUCgezH)rYXv!=52y10I1y2V0$()-Z@|Fv07a4tM^8{xbJ!fy{nZRZcb-= zmtK{jImv$&e2|UC>kO&S`=EYWr(;=b9V=G9lf6RU@n3VE>)5%z!yJ?ivO#@kT_kgx z7v|&hvTFfS{fy{+|GNPxU)1C|!|Ds2@kL`rr+dQpRkq6lRb^jDoM8C?>i};~(DlHI z;yz%%AIuwO(|jff-GhTvu)kPFN}eMG-zii@7rewR*RJ|R5TutqcQny{nlqY_(znI5 z=dm2y&mgH7ji;IyPc3d&=>1lmH!NCzm2d0cj=s_f|MTYSMMnRlNweQW&9$4S|7OV3 zV)S3s)M~w2FU=={kk~4o^7dLoW!t*bhdtewA*It%M)%`6w%12#(qyOdIlZ{<-un_d zU*DQjwDF-JYU`{rZT~+D9i_+FNa?cDQRlPQj?OoyvomV+coU`b zc}C~+jm{Sso%uU7UY3(4y9N14OVCB~LZ zk-KsJGGo&<9NXj2{iKPxo48jm{_}&qzNu+!Y4+brIwL@kIXi-tO%DY_!tFRSDSO6y@vQE;RR-rZiv;!kcG{ms z)HeD|5M-0uM*W`s4KLhC-OJ9KkUJo6MzS}e`x2Q74bYF72EWXd;+L8F53>>mlzI0Jtt(>PT+|h@ zU)QSV{A=R>L33$O(3(zF|L3%dx87Dgj1!;uCko$IU6DHx^|tCdPOl&mbf-%V@>yE> zdtby3-uIyPds7Udj((=U`=GPJs&uYB)kA}z`c`}Lk7s)Qa3}2~Ywkjxi~JRm=)Di| zZR7_Z{?~hN*nOnGXa4>t@&W#qzpO^`t_bh_czuzN@VDBX-x}o}R$<@VkMkO*#~|}U z_syk}x`})_Ks_r1dH$0BclTss_?sgg+KIFR7@Q|X3X3% z{M@nWNEPPQ+7$yTDh}bN?Q(9TAN0bH)DnT0Ow0X%Vc;dxy2wlN-C{J8&X! zhx~S*=C^yk2lAaV@A*CIA$W;@*``!?7ha%~&pivUvtL;Uq`H?*T^Mm~YpS}uyt1;f z|Df{nk&V?&^J=Rrht8ijxU6Q#fB}OB)s_t!IAGZD;RE{D)s+pZ9Z+2}ta{)+=4PJ1 z2ehqel2NE3Pn2gU=L+$@7eI{5_ zr2~_ZRm9Ht-FIqxmyHSZQQOa^?d^NAeq?H@<#TKGw%=0MGT_aL9*?_Zn08Kb;+ zXfpq0-=X;m6=VN4<7K3k!kmlD3!#4NH(uvvx&aY0ou5zSJU2HyqtWK7$Dl>cjF#VY z-{<_bggP-}e(e0E_nVrP)^z5t_K5k*H`|}R`sZe^K{fNs>IRj~E9+l9bjX0g^Q-&U z45%3}u)2=p!Sja?E}Xp%F%1;VUSmz01+$lCvvgh~s%`BtL_VT^+(NXUHE^A~3Vp$S z<|b&pUGt&?6`@uMrrV@fs#X)C$ z=sUEf(=4R6ETJv!_pes4j^CJbLy(v3&Ve87IjFW^AJ)IV{etX*kXv>H*SGvYbg|jw z?|g8E|H*^s_a{d5d#gNe02rL>{{x2(8B#W+|9~O$>&k`=sUA=^WYGNDvLVCg4;eOK zXx;Gne*f1>mG|0t;qA1)avg|T3i>-}H(i1SLG___TaSd1CXscvw-5O|QhL9D+>Cr* zM7AJbLaP2=Myj4~AlmnO4Tj}>$Z^|zVP-Je(4{EuB z)SJ`UIa^n@vgUFxDcC{a5A#5UpRfJwz%b4SL3+ymb&5r3i^5&`y z`=b6c&K%|Et0_qqn@8>!GFADv@Rm~^Yo8|nyZ+nq>N-w)oey0_J}wzTo%VBF5* zI?Vsg%a>VX@UAs|uUWtD-iuFZI`D(6tKsJ?^x|;RJ4>UdwXve`)S_)Y6G>U>hTPd{x{l8?eZ4#U?h70 z-ZPf(AXP!{BVR;*i2MigBjmr4v~#8#3NTk@s*t34zW*8WX#V~jsr&R_B0oZYgPc$K z-y&P3sCnPTA`b1}s&}0~^PMGFQMu2e{yKayT0?rJL=8%zhc^n?^3;d>_-6jigPo_5-!fC?RHNOpXcJYYesJcX>`Fs?2^A zpfb@bKO~mv(ux`rqRL!TJ6#t2#mY$@h8##Z}zgB?gyKc@etJ`4M5C!fCw zb~0p1_+cA+JXG1XFEZbH)zRCY$C@#m0|11 zGZ7h;OOY9s&C|<)xJjOu|{Xs zOI|%MgSGqqY|=I&?oa$Cth0Qh;CH;d>dpWMA*a07Lz-zbtY+?2z(nxF*syRn+qm8@Ix+t=#(`UYQJ01K{pvp)`% zCNT&(X9_N&q^flhMT$M%Md>=n=z5UR760~p=@33|k9YZVUKb{B6Y_P<{)kdKIEyUQ z*RM!hH|1@Q4a~dVdf_mn)(eL_>b6c;w}Kx(N|RR*)>OADqg%DnZJyEX95S}QYp(UT z=C-YgT_bd3%q{Y>Il9bA^Qj;dYO9}&QOhe9{pFn^ek+~q`sPUoev>Z~e=9B(-kXrota<@H(5c3__tDQqlGY)NFGC2T~er0rD?J~`H zWz)Aq*MGW>R~^X*MuywYJfBrw-qK!Pu1)W_o_vmXg%TdGRmK-TD%_XU`bg!@M5=7o zR9@R$#{-zC{WX|Nd(k#td$A7l+N%wz_M)$P_Q_V;zWny8 zaJTQfH5Pi<_C&Rp#yPbYd&pjUEk(+PWyYR6IJWN#c96CiQTwR3Y0~sVc1={*QQgqU z7@%=rKHs8muJqp#To#bX+$gT~ocd1%sXxQLc#%n~cWZ7E3H}0aenTUhOWd*3J;NE< zvB0X(8 z@5CC{fn&{@N)uh0f_5OX(C+AHYna#W zSsJ+I@}Rfbm?dL82OxpHD$vYD4)ezymjZahg z)qEfbxt0wcK+qJVX|C|sMuze?Pup>>+?(3xvxVSK>YI9eTb)16r};~R3By#aR~_~I zq3~;l8}(X7R4;7A)ULl7O}wyfN#Gc&ui#TUCHqugsvoZVyzngbBHN!s?uPsmvI_YU zvJLq%QtRtikf$PFL#{-Ai+m8Nd-cDOF!$`GmHpj%jUOn5e-wo5K1soXE~wywrL5C( zGNpO{OQQX*UOm^NF+g{l+e?CiW->uilsUB|WG-sn)+M8}T zH-sLir$xN=+uzV)2XdRlR3@`Sd%UHzD;qp1(or zcRU|P>bDm02k$o)-$YK}Z`FN6|gPoy4*I{?3u4X>J`tyfeYJV2N4T z(Nfvo(H1*rmU@e}N#t6%5HMzh{7ib-cASCUnn=$?O24y=9U9y1`>tD&CO?zEj!*Ej z*4WOW_d7**4$VpVb+0mQoq0~)>l+s!rOPEo=T?sG_l`M3-uxh2H%ffb=$Io)_W-BibCB;~-I}pJbzk+F=ONDyYMY?uY!-Sv3lQTS@ z_Q343c)`=+K3&(+$jdGLn;PYKFE3|U)ZWq3RJo{~-%Om}SiQg>NXba!LMt%{vbCgF z;Wfp2>-z6dW`Om^(k{q_d|(~q5@c6o2DvWsYNYtPklm2aBG*U0kL-@@O8y%l zzJc*+Q_^dYmwtz_zKT48kXrx*W4%V)ys=&@IxT*pM)eHoxl!F)*=x+MCk8<}Ys}Vs zc9==*$r!sQ#~UFhAU8(VAvZxDi7Y`Lg)BvCz8C)xa#Q5X$jy)kkniTmVr{oGoEp2> z{!gd-n#(2-b0)VcO0wN zx<7x%v3jlR(}}VAV8$YQzhy2PGrA<3j%*5Fn?(#ixmTc7kY5nOdt z*elC=htT7>6Tv%#^7Gd~emjw%YpEBJ3%&f!Yn+2`kp9O**Z|>V-d<6aNtRIEYEIdJ zl(idR)ZgpLIN5N~a&L*#e{Om>c<8bqy zBHQa~bbY&C0j+-Vcb`_@tK#q@uZLTGubvbC>z^ome^+bnL{#6a=JY_6CFmybQsmQK zHuF7Ig06RtkEDi~u4i9=tM2XV?|$?fwa2bV8N53(gWLmoEpjj9GswM>GI1bs6y*#? zo{t=Yybw7I`95+uQvL7}qP^#S2x;0{R-bQiYI{AYXogzP0n&Uj2;GB&RIu_bBPFlV zwaYP#q{3Z}yfLXFn}hd!n^!m8NE>9*M`DZg9fj2Vy$^CAax`*3WCc>T9!Ko#Zy-iY zAbG}iewQJr^Xb<9Qg3wIkf<&ER;M~|uB)r9EPV8k&t^le+Jgt(OE{NT?dmTK?q-uw zx#iCTYNH@XH~C{%WM7jwmO7QbIJWPf^~B%QE?*Fjbh1rf0rQ@TbQn%v zB-fbXM1x0eILTf+Rq&}GNI%(^?^BboM>Wj7tnuo z-KF0sXmhgH|MCxAsJ6YeuEu}+g~pm7%@jQ)Rt2f%Ws|XOQF9HqFuYA@K5K3#_^A9tJ!~6BDZPA)XXNtN z8LAv^6e;wCoQu@jkTJSpLEbM$@a%yXbW2Ki41b;Xw;DrZ-#b3y{ja)HTWrN&ubA`^ z-Tdp=eUMsvj7H8xjzOM|9FM#WISF|;ax(G}kTUTwyUb<%zWfvWCK!bo`uMx zkc~+B%n8IwYwfcJ>ki9l)@&@=89NTJ#-dU>`X1=GKC<1(e`{KrTDd71%mKawPa^9e z;D#mylYs7y->}@gb;WjfG`kr;~5%Mf==enl8x~-i{e1Ec^;dKFde1UIL z*;Rgd>MKh*^g$dmpHpMYaR@5^Cge_@x6=`88=8Y3u?v34PQLmEF$k(B`Krdp=S*S? zZLGR$MUF-uiQEs_hO9!iBQHTNLaOK`$koVY$n{a@800MEvB)N52Du!0JaRSi1mr`= zlaXC8a|N<1@^oZ3nCkmn+~zmqy2c{K6@WCnR5@-*Z{$jgwIAm2n@hLn$< zNUXAabVt(EklPURLfqbp?HHYQ(jQ6}mnHiTrHjiJPcdEAU>u2UBbUpFA4(UOtqbXL z9?^crN_|q#VX1zu2#;yrJN3)UCHSA!hs&3|HA8A5tzl7Q?$~J;cNj?zrInQMy>IEX zbi=}RRZqIS^xPCFT{lC@rX@uC-mCf}ANQUizcRt5&e(HA&YtXgNp=Q7<=T3)2K3g0 z42RzH;*5!&-si*G&sdBjO*ZOTlpXni3Bhy!g>6yz<@J0ux(6SmW^%Vr^OO%Bv-TT< ztI51C;cG0<&rCYmHt}Sc*B0oSk*-{0cs8xzc#JhR>b%-QjXx>e76p$eG%eJVG2YTP zUxjFUvJ+xGb(Z`rzx1&0bMvgJ*EU>NdTZIOkn*V(;t0!*p`^)<{=_*kc2qaDHhC75 z00yDZ0$l>9Ic1)X^{+1MdRKXxL%SkzJ1<;KJxhmckkaE?Q}3-DkF@k{sZdQKw(>7m1paFz0vmur1ZGa=&SqO_Vp(H+j~}5)pkx!U*}hG^KF>cy0+?$ zmbQModghQ%HstC*ZF+=?DO;Ewo?3Xt;-35&bT$9QUjDeJ*Y9`!)!^mj{dV;}HK4qF z!qnN7W2aA@F?q`P%2~5#PM$U~*XHT0lHU8kymy^ZJsRJcsn>xzN7Y{ElpI6=9P@@MqSq)Y$Zm3%_QtQusyqZs= zQV_y5U&g83ay1`Z>!gEEAZ3c)`4&|VJQ)=0I~U~YA*hDL7vbg%boQM&ISZQbomu>8 z`;Pyrj?TZ9*Tr-EXH)X)O#R2Mv!@(==fYf_WqqepmG(pW&Wv2myZTO04|h>V_P8T= zR3F-ncxkR40^dn|iE7Aq(qt5bXzyQ~vp|K19&``lw#3WU$VTVta2$G%%2k0jNtowSH>WikSI*Y+UEb;{?BlYd znBA(Q3oW~KovF6f+_Y4c=7;uZuN%s``uo6xkgAIzNUd|C>P*F|&h{lP$z}XQ z*4fnHOP#sm^XsgPXY6%_QGtf%t(7{H&32s)Gj%o+sk+$5)Y&^6Ut;;0^bE$3#W|&a z$T}O>!q2@l`VaP}Q6~u9gM(DyYSJ&S+JXx+e*_v?Ii_tvdu5s44IO@ehCXW7Q-!Ig zF-VP}`&kaAozCl)QFS7l z>^d1o9mviJNPP=uKT{`9a(sbRCw)lUkf_J0I{t6!WTN@5Um6vH5Uva9mQWY6#jcAf z*e?5~B4y(=Qy1@XZ2L$4UPSx$^vSr>8bv0ZGQA#2@oJ)dJQE&AhZMsy%Pe28VH0EAV8=A41^X4 z<^O$eX7+aX=C+*9GW`BH9|uc2_08+=&6|9uueMD;STlW3B1RR??bFZE?!3Df6;pb; z`aJh8cMg!qy%!@^t%GAeqg5{}4s$B%6kLa+R#sB5u?WOtvyV)oM+PLQjnmt0q3@bm zhtaM<-_cI!X~t~FO_Ij!*-e2k`M}wZu|LzSQiHLDJmeBwRV@_C%vu%>|9o(!xR6Wh z3x8~$%Omm#bq=1R5fT(`G$N5ur|P*joN56F>tpu(7DU%t8f4e-M-pEo8EovCcxY!b z(uM1+u&^TWbeRc>lAbbYe6iXI+*6UR-YCl#p*gk5gh(36tCN-#P53|v84Ey-I2zES@2QvrkN1r zv2;p^Yw>HB3@<8|w&wUKcwUh*NI9laTFU>yW2e2{V8-HqkUyS6e^0sfjpPwQmtY5< zwV!7DR@mjo5~#9urrBJ(Uk%*<0(KjQ9H3&(oQ5j1uA+HwMw1)h{*)R)+rnfbo`5Sh zjnV{tCXx!<5Q@T;X7LLYPZcxDCHE7a0Fbqp{hWL0|H!sY9)z)No9zGCRgt*a9qn%G z=`(?S28qS?g7|dQCY+ zkwBk-Lpl`1cjA%-S4U5bj?_42m!QN#jsp@llXN;d!ls;E;yr75tYz6 zv^sKtQAtP`42SpDAits*f1?d-hd*)3gb7eC1&XK^a!&%4tQLeAO>zw9u5;)_+7*gl z+V$DF*1p}!dH&;)=-$y9*Mg@c4r>i!+uJ)gmEDMTzOAvzur#14{+P9K#EN7k61;=d zwh&KQGs}BW_1yt7&Y{EmR6Q2`O9Y;hq z=M4NE>D;J1S};e6@#?!A-tnDIoyLj4!P@K`M*=K7T>_RFf}bY`T{FXx`#&%pFJV5Z zHES>5Vf#_XzIow)9upeN%=)>K{hGuCQ_K>m;X2E28ibwVZ>C{Sk{#_;sA)7g&DAhTRccIHhpw&fCeuL1xQ3MgSxz;gqUlLqEe z)C&Oz&^i7Ptk&#UXHM)kEC9<04Nd zWewpF$uNO<2trMR;r0~ddnslk$J`c*h`SQ-ry*#ch6`L-7#;LWFh8>nHdQQ@ikJ&v zcvyX|3*}ClQC|Q1q>q^Bx&+-ev5GT!89C$v)Io6hk3HO1Tw}mORLF3Cgx{ z52Jt(Y%#WtL{cc;DVDHppp7)ceQKr_#yZl-AQBxn57g0`RCJ~lpNnJrK3wPS2p$L~ zpi$p7mw*3#u>SRlWH+qpZgu)R%q-h5!2nksjq3&?7q3_kiQgdS*ojSE`AA5VUs88qhH`R$epZyM8{SIBD=R&y1$B^6${QxXtHiDWzCYsqL=WErl4sWwvdI@*v|vKQ*H zY9r%Njy93D#l10PbEq~lSmbDfxuTI&rVVrqN?CEV!8o)gYaAItaI{H97n^Ok7^>`< zGBJ+OIHqJQeD&R-PRQ@1O^^;2g$_ozZgX0hElGsw$Qv6;m%#=bFaH*ep?`_|mu6HI z2gf}$YDVJiaNBm{-e3%T5cg_Bk5w5m%V2lrfpR9T7qegI$L`FdXTIW* zEZjzmCdYHofd5~{F2*^30P7HL7@8wx9Itk`T9!by>^X5E1(IaCM9oY#zlhKq4YMx2 zj3Q9DlLtPC*a-7FB?pkcOFUm{nkop2K7{$PA zn{`+Nbc_ho^h793W~f!ZD>T)NPt6K1496-zDkeB12{Z{ky|=9`no8lWqxk(A^7nNA z8LB`USAoQb!Scg`-c%pzA`BUJF&x}zO=pu%_VEDpD`ODuTy-Sb$RlmDp0>U^cf_%{CjG z8melVn>pG;-=(5pHZ;~WRkYML)SLAUEhc`bt8Hnispg~zYNyf-nrfOGTAQkB%<7to zY6Rf+Hs>|8&Z#yVs;XL>aIIj-uzSUURG>g2^8Fp!h0=&rvq6TbYo?SU)eHxtYo_!f z)eMKKYo=5q)oe|DGo>A=W!b;+~40RNqVsfnJm z3;>cj#Zye-;_|Wp$oZ}vLHY6Ax!xvf&UQqTzNQ7!`pH;hm2(Elp!12a^TM54Ta6qf zn5Jp%o(Hk%Wu#{ghdgU{uF0XVsLt7nrurh&@|>v&nniaw7hTv{Y`Y>Q&_-#6oyVnc zcCSjvW$T=aPa_JL zNlxQ&`o`RdHNEkqmWZ}F1{Q5o3lqt-t?|Kf^IBcEzq@C3mvU=un4|V7mP5QbvvP*b zFF-#^1JB|)Yy+micmSxLG_rkUB*1oyR|Nf((^?XcGYgkA$xDZ2Bs)i#6Y;hv)J4Ra zJMa(~lq>upTD}2)bAZ%3tEnXc&WaiZJu7bOKC4`i_a^s`(3FG?r(~W| zPyJ;c?^!SNRCaZkL2S~2d=Vt!ZTl^dE#%s?5)CMOqb|)Bd?K59s${r?ahB90i0VZH z!`kgFBD&HXf|B9#5DGhs?UZ&f)*JR}BT$t8Fe~keMcblFW2tDy|HqCNL5Hgb#u@X~ zPpRk^cta``{hG@r<>gBneo955rpx5t{SK!}Dl8qH)G3mP%O`QRRyM7T%a0>{p*2p| zH_W9A@t{X<9F1dm5~AJkRSNpEdR7XsLgJN=Lr=a#u36dXcKM{ldkzC3=Vei8K=^%! zPu*t*A4~97C%hfLd!Ld0X7>9YbnSXs`^O*8!fg^=`PEmIm|+JJB?*u$lWrjhAXj$0 zV-GIM!atyuxiu=oPJT@Cg0IVmOSk_0B=&7$VtxUkUyE>08duIxBKJDgM)x`>veKR?}RW z%VZj=;iOA8zbr#BTqdV@N5rit-kiP8kO{B$#6Xp3X}b!NUxt|)lu`nV3@6__n?mL&^o%a#a0yJ8r|8WP zEPk*bdgb!Ss5rRmzfeo%Z+ui|3JUadY`w;^DF!BAje_vp%G#D@PcN8j3z-dM{zWR9 zn$D)?kPh+j5Y(*q*o>tv0_ct?lj8@#&EC)lcw}AX0-k*s$C!>EwDYMQI%7|ic(Dp6 zvw`#ZLAhsQ{9ffENJy^#E7KH>fq^?PqTAbB{H#1!73*-=_ye-Q0fNH-O*7C3t7i;P z|8%NR*zsMkU<;%F4luc@Q?+qmGDLFmdU77xf<`AqAVScmTFR)}M$3*HNt=V}F+_@DpT_4k^wdhh3cuK{AkSMsbh!ND`54 z(p%q!PicyaqH1N?4Z5=$osc^~a1;9Fb`-28^zrke>MOzowbF&}PxvV4GN~#`ux79u z#ZGHoWxiohF=A+^l5;$scZGwpbF|n z5c^YpMgo6fH&>Fw3!LBj;8;*z;6lJ2{=9O4o*Y#+2zs0F0$`RQPxRi2T#&~+=~mR$ zi6>NzxYa_(Tm`mhoFEHNXJD-aiW9~m=s82o>bTZiZq={wa@;$KMGdo0;@78Ux4ymYA_;Zohi9Ls-#Djk9wF<`Y@@XTt2D zo!M<$$-^_IBQ<~w6s-*rJd=`7khPEN#ugQ1khCv18CIIQx;N2|3si~tg2XZk%%BJtuJv>z%J`p5MKHyzA}0&zdKHzsps{R;r6I;z zglqT_PL!cB+A~)ZLX5Ehc_8GvNF|b-#r^RX^!f=COSZ+wb&0cfO|{3y7f-hAOa-8I z@>)=euehis(Pb0boU#1%ta$@KyE_&)7gBb-IiH2_l`7~mBDpmfGk-wJoe))A9`iH>F6pb!<+e)L43 z&UlUd1`||3PB~i9yMqHBk8?$KGEkcfOi<3DoCr)eBWPWNmcRU6UMmwQtY9=VqXc;q zxpPedhbfI+5YtV0EhP{VkH93yOdy8IOa$qUs3K=Z7EnrG(6`xEt-6b0qX)A!(#nT-AI zonSKSahZ>TU!|omBu%kqejtO?D5Y@d8i9+TtOk`v$lVfRh%T7+acPO%%}~n<4yO7@ zeb%*K=fqqi2^x4Ox22uv$HaxJ1q5E)?4hLCoQh^VO5?s3>irRE|gWBeXrWT~8>}z3g z&H;D_AiSOZmSjhFq8);gRRzbfekY{l8zZ40HN`qOy1s6c2TTq^JAN$s^%vpN?C2@8l4Ios2rMp+4HJ*R)yFm}r^g1tcnt{M6KB{oxue}U;BM_? z*6yqPgf;daHoO_@GdP+`t{kAHWQIz1%2Fqx4s@z@pcI+%+BQ~Z$Fy;1ZWHKP=Wl0< z#5&zrX@`#!FQrpI)HbNLhNFf(y%$GIq-iCI0X1+Xw$1E{b%Ozy(d9bylI)mpGyxn{ zuv|M2Yi+u#- zfkn?V`pJ!|16n_yHD~NVy7rnI zUhXxExor^JAfMSYh6x>TZuB5P$!dAfizKjil?#^7thsmuPqiY9GPT2OxNvA4ry z4_mQW<*>@X5)my-hCaOO%o6VJ2>#;_8mcG)Ldyn?w1YHTm0et*k!qM*@C6WF=%*KKh`!pw#VVYS69^;~!Y$4CJQ8Ln8rL*g8Jxf?9ddP4lQUhp9dM=RF zQSOZ7DfQA*U5;MZpen%PvrLN)rDUPU+-N#I`?RLBQyE_pr#^aI(DuOsiN{aF-+&53 z23zGysec##D#gKP#SWBY=mc1@qmx|oE_f$>I-r!B&ssaqplJpR)OpU(VydRA!~^vn z%O>IaVbO|T%15VMw87pHumL%ZV)D{u=h+xzE9F#w^lEH}6IpdxuHA^ei{$`TM?5BQ z7c5O-va$RaX3jabLh(6kB1NLc@_z*FgP9aBlrIjsCK8dn41|^LrkA;{*0y~N({A2s z?|`wj_ce9faP-OA`=mjE`(SknVuO|s7LOI>+PwqLiUAba@#Z6al{Dc{Fy7(|EejwQR?=G%Y;WA2G3sA`7aLk`&VF&so<6 z8zkXEd`W-U&Q6XKR~-%QiD!4Tj-6N;&8R>2+#Ru4)iu}IyE@yB(t3_97Xsw&ig`z& zc31Urgaz~`t1?)7q%Vb&^=#A8i#n{_kUYlKNKe$D3M~T9$D!~sKfY&kvt}y^ZpO_; zsT_Xd7m-6f8mrnN_sY9b-)&(E8p(RYiWZ99W%lQIM_iVHT@s5fO&P;n9=(F+;Ig+w z!P&76`XcnzpAxgX@ECdoMYzSSnS!URdLIHM&~rg-k(RBJ^;OL8CzPOSA^+F1vIC-o zm6N@bH~V3xD0vW-Q>@J5RFd|YCyM7!@hW6@)OwHS3oxzg!BBHs+yhS*env9I;k4_u zSh_HFd`fMyJ@X;RGUW+lJJIDRZ9E2T@k)x(cFacr5I&PLM> zvj-+sAk#d>>dHto%{&R1H99Pk-ni_8;aQOzi!SRdmx5_VWP#lG*g_3{njCYN#|DD)*|XYBB3;T1-6VQ)5;&)VDM> z%rR@~D=O#Iu(3gn*YIqNYz(uqqP}`wZFS3Rj+RiLH9h-OH&->9Efup2aywG23ONp_tz#?hw#_ZrM#Y?l`Wka?!yLSe#L6Ib zbL__5ZDs?#Z`4{}+hSH!(PK#_^16)*Ipa|K&iuQg@=9~V%ogN^HyTf32%ACfET~MZ zf8bL4W$7%R34N|AJSO)8^^aEnW7$uo_EAWKdBj)1N4hIR$MhrJmhGZ~a;?gpv@J{~ z;t8NxUn(8#Hrt>IE)tQ^bTra#y`8S^fNSMVFfqfh90LfF;bN;1;HXoIoAGcsKsQG_ z;%DRVm$H1s-Sg#VpDWNx(}&8Niaw2l41?+&9k45Ykr6puX%b_T`K&(MY$y4-D~dO_ zDUptP+pKH(IT`C*C{lUpyDi2fzqcXN7YS)p6qp*UnLWM8u;FLnP3Hp1foxkJeYLGm ze1$WjH)VCUtxtUJ>B3jq9Cfy>PJB(#WqWoz9?hkos%x7Y=TyvxM3`AS%WSTysGm~{ zzSz)IUDH%sKg+DGZ>edTQ&EK{-{>sX23%Q3fUvbKOhwm_=iH9B6;im+L1=`BEJcPV zTHDsCT6e^j_4Zf|Y;dwQKyIq4O)jxDfccs!46r}oKn{ZCnL|*6Tj_CGszNWOC@z_X zCvm#E7U0c6fsNVuauV0>zH*Q;dH^$-yp@HY3|baC8Ec7u9C*zg25nXvlfn`i&oftL z_R>#SlFW5kKa&&ngTazI_!k#&jg6Es(&Z8R2}>vsm2++cbIY6>|1xu&KhhL8Z&DS` zF-Ob-wqx2=2UBLOxhJo@tm3Y?1?{O z(sBmCHNF6tI0?nphYsrsu{qNu7?3lzOIC5gV@9|DZ)_|#X}WfK7S7Ilm(%#nu?9MG z%EscKHxWNinIwN6ycVF)+)WQ1^Y`uX9d8>SiWgHDn&v|PHd(Uy~(y{h59|L?xDk;3*5Z4G|__xn`uQ+gusUm`&)>vbWIrD%F*p< zUAKkNF1o5}U-Ob;6thoL$IOanqW|Oh_b)A#>!6+gCEz%{DLjmsSwbbc{yDF%c+7%^ z0vN_&j0bdMP|1E=6N-0c=9`MPcLr;V?Wz8lgplDjUB^ggXENFuNfWQh%tI%7L*V8X zBzHr%>vi1(%Hf6XDBkBzX6B*&ToIy!H52i?-{?AWN{4MHw50O_G_*!0X0@g-8Ba9U zN4q+BsTy17HMcY|fKTIYV6G1CU6D*i`W(D?VhK#>q3nY5atI37+lFXagLx{NOt{Kg zYK-Cd#o4qYC%0$5u*7fSV1l&4%l!Dqq=|424;@B)39h+WW+S$^1AcL0j3x$CH>>B@ zSJc&3nfsCFuC^ZjxH^8C9JxC~haCkgFWt>kt?2Y&iPI+_k7?*IVsWjGxt@T?P@<|T z(cRM(O-CCR91?9y&k^CV5?*7IbqHpau?0q2pMF7-a!yS}eQTpRtEr*2(O3^(dcam2 zt7ca;@lO}c!1%LTYpYp+oa6_RVo0b8405W(CLtEHB~%Wfp@bEQ_=hobMN=Kv{mjPZ zCbOw#7Vggv9kv}nFb~E)?}F6;H!iV)aI39%mFP`+1jC_9U?ZLJul#VKcsd`@GPoW* zW!7}juFr40l42h3ggt%6n=EjP4xEg87J5X_B zJfWvldKe{_`=aE;VrD!?1!O$MQy9;R0Qt)KU?s%EHUz0QRxuB|2|qrF(-V&3>S#v< zg}KxtGH@cvvf?>SdYf)0Yy-_J7TQvKqIDisrHjgqGqC7sKnStu<{0q_lO%g;6-Cc^ zB8^YpmQ!n-hD9Z(4B(=CtroaYq2B>dc=@q-PcIZ}RckvP=`^0g_XC%!B@@3zje`_D zavh1uM1&j%Bz$;KEbYNuk=l<5vR~ao4f`%L)t2bt!Q1hW9$8f?DWnjijYH0iu|GC6 zce312fsIk46@#yY4_;uMEPcN)0VgX_NgR${GLQP$P!`yYkf%o(d{Ga@_!EZRHmrW>c8e!wS9l}IFDky_i*F3P&ZL!jQ6ip<0(^*`A&aM{mUY-Hx zLuEAZ%q3pkBV*snV^HbH#=&U+>|p`7-VB-Ez>-VFxL}N*beWB?B!q1ucLNDcdFBRBHG2$y_twn9H~i$FUOH*_!!}f3Mgr^cS*SZ#h7oG92V7i1jj&!$01heQq3t zhKm)^`soR^p~;i|`|nS%(9KmXdpyK>xp5WNa5^qKW!S!r3V#qPzX^M zqn`-|!sVaJsA8{JcVSF{G2_ixVnJ^Q1wppKoTK1M5C~L}PIRMCO&iL*!RkYtf*f7H zw6L)r<%O^Wx==H8*zL+XU^9UG^W_*~{=!%&H~P?Sos=BiOEG9mbip@~N+)_U=Pb7D zM`F63BwTOA)L$(NF!iCC8MCFlMx70|tgxf9La;TcC4o>P1Jes!s~RtvAcAdlK$c>u zOJ5wRP&F@J5(#D$4i$4INIuvOAK~OVMk?vlOO(R_)-OLs6=UDna9O` zs2R$1v*;a)LNZ3K0b}zuh7SAZB-L|Ord#mZa(gudbbh*ww2Chy`J4i)l$540qX+$$dxJh1HzN4E>vz79vWjONT@F}>S-jIOe{6sAQLtdc^g|1CS$Z` zl~vRhFmAzz?U0hsAH0;V@Saa`Bz_uf_;Fb}-+*;5JXVoNUh2?%FI~f7RDpMAJC4G1 z7ttK(w||?imYhQ^pyLyO(;P}> zaF6z5nVAi)(pCLm1Fl;<#Q^KppI}{DS~z;N5E-zxvv?D1?z!1+wiXq=1hrB)^yAH@$N zNricFw4c0Kq^;0vi?|G201+haA0RIyuK}4ClNqz=F$(wdGGk_X?Zn@V3DcdIyg6xq z6V;M)=ZzJD5(V>RYorjvDZ|AwX9_eZg{aE$w9L?9uQp1+^x!#(=+YRH>6n=$d)v|o zD3RuTi4v=Njl#t%eqh2@nl>S_*#=rMU`-k!Z90u9i0$zan~mwDh$ixnoM=^UJb@+$ z^e;RsSwKFiaM>P({0C#gq`PO0Dl^VPqa1?BmQhDMXwokfr1IiHo>3ux9u%fKZ*@~F zxn5<|Er=lHCW6PzC^2AWQf|ac5o`+1G6ll>Ik7?v$Z~iqtn?zKvRd3ouo2qD5sL%t zqNC8e2r(e| zlqF89RQ3Sq*Oh8q2w6qBK6F{{vF#MOXBeZ**|Wd#YZRevNsVfY7)86;n?xPRj${G~ z6jC&d2wJ?ndv0v)iKLNB5znBiCqZSk28@l5Fh#xMYvzDvWfcPE${QNUnqayjEdJ}! z3hH?=WLqMM<<_w5V1FzQ)19%Hd6 zSMtEb{qDG#Os8Yy)19 zSs&e)C@x{qwrdcf&>S3Yo|I@IONap(dCvo^Z&k4N@G=a%UdZ>upDvf+&Vhhhmu|T+ z0=v3a;kWD2HRBKXILoq{t3zKpDr471E){U>-+le`mXsWZ8-0%#nQ+M&4u#9klG* z($4M4;e|+<9&l75niq`Z$19lw(F|=ATZIC(1J3ttrS|HLct4U_rOGhXyOXQUy07Of25ChVoaPn}Sn~T_T?8nQ*3^Ebh zm2S|Jpo?rs5sq|3@$xnKHYO{Lm;|XZ^6B6Fq7x_TA9%R8tg|@0r?RExsm1~+Qg{ptD9bwy?+{%U+S=)-hpsJ{W2 z9@?ZdYIaj*#43AY`*AO;kis>9H7Lbu)|IU7vBwtc3hlfq7ya}5czkwK`WILTw@sWj-?pbPJu zhpqF2xTdEJmk`mcLW+PuW(Vm(g!8vAl?UK;=ANY(H0&=J&W9b9ah}RF{7XeR(v-JW zM!ZitLy>q!-2MV}lQchWKf3_jKJ*yO?dclqdrDOK=|G->P;)Baa+5(;-&&XQwJrp| zSp!&l*>fu)CF-}Y^4p^YTmTs) zPwJ%22hr;2AQx9v#5zEJV?MTZ-osmBw{ENwyA5&FHCh;ri)(uAa7jjzohjsGP}n@V zqikjqus$^`jB4~-6K@GH8y6ZC-jPc}SHi1%X|CDAdXseVY4a@0`NDgT6^)ZOkZ}_@ ziOQN~F#5+&DreQKSZD4lO_ANx!?%@dL5<2@R9amUl?7$?$3mA?s)c5$A2Q&#G!|Ev zi4m}YVi=1r$~M`^gi0U>S!7UvQ&F_~qJ$jWi{wHCMuU+}hyfWLXr+G-;v!0WiIsfN zIK+Uw($BEcj#71C0~+wO@d0rPnj_VQNIcI>+e3O8Xve&3lBo?!A@GxKp{uq)rege` zmr1DR7(YAyjK>*=4*N%&I*jUo!5vDX2X&C6ZnoRmC+liRKi?~8(xeXC#(wyv8pB%+|4Z--us$U25l?MQ; zt3w!00j>@>z#~0Yen=(>KlJFl2M# z&6L@NFxHrttwI;157V;UU86*t&398Gqcy0XJdm6M=lUOpk6SD}sPbw9QYLtozwTKO zX2r3)B7rL!2`zo-boA|y+;GAQ!%Fc#vLQ0Os)D+?z#!)-aR>`@5<|$ak~+U537@Nwtr&$KgO7v?LXEIkN;_VUp?7r_!G*Lb>b0z^ z6v94&UVTHSv2D#dw3868DziB2& zEuhL6et72V-PpyEdjyb0&P1bNOLO)CdEv#_p~HTs3^G@4m6eHL6?iB6Y!8)2<_Cu= zFXyjDSYkD#6yMSlVDp}_#(ebr5Cift(Z!N``j-^sS<~0K2c6R?Om`N#m00q3%BSLY zcq)KF&-_^#a3a+FWdF2|nVIpjgCbhA$ksYSkHG+-Fw=3WIs%a=Jw(Apaf|Rw6JAH| z8k;L^Mg`kr#*X*j*{L=q31(7ObY9wE84yOgo%3E9Zm-1xgyIW7h*t$If;{p6gTnXNTF$7yav^MwiG8S@!S4x)qv}>D3nc` zURT-Dewz-TFl10*;ZBvgVOI3#)u4e!;EXp11W5%{o>9J9UpTGu#E;BX5Wao6wYnPZ zw=z$kg_FpzY07WJgOIAQ5YkDLkuFj9A`(xRQMNm!u~A%X&eA`#^c4%{qDxM^s#=JlHRTXvu90GlDu8`P+LCOMMJeJ*X6p{9F{lYjn9mnXNSB zJr*kuUtu#7rYMkC2Mk^dE45&;XCAJfs)Le9zNWVjCpbs)*2I)g2KY`7C<$*3;o&wa zS;nkIAuKb2r=ftb;(^X2dk*^)x62O)JQdx53S;Oo_{?{~_J;4O&RpwKww}BOXD6HB zKk8O?etWIS&|J21?2qDMy7LYfV#yDx=&gRq8TE|B0bhv{?7(csE7GW7U=>kxUI({Y z!*~J9Iu%_-k%MCFguau&yXXu^xsu%(l*!;Pb zoYy8jk_C{02wy?q;RPkgzdi%-mfe3eIqwoOC%Je`fS@)Mqdhi2<%X`ET?<=>G zoinzkdc37QT5eQf{FU3uCYhTn_80gxmYFL_gd%%qTeq}AiC*8qA>JsGa*eV=@b0R;Far z{cAF7%IK;#C1n!<9^XF#3@-(*e z37J)$$il>!Q#lzdI(Qf0H+m3)e%+I0GgrIK%XG5@f3Wiaj^c2uTQvOd>PAj?mU z3FW`dW}soZGw&qEKcjz)KYR{q_PRrl!HXxQX6+z$Us%U=FdPXxD&xr8Saa7tN*?PS z8q84&_Zlk?H=r&ncw!#MKI44>=r_1eP{XH!9aO)j;8UZd=|xJ5Vmr%LgrrjC=-(Wu6rY@uls|w8cVXULSHZygstMO%wrNTnX96=ntg6lGIa+dj zo@&Wxso3^J+S{Y;?4&O@Zbyr|`gbuUv=NZa+QJUOoQ)hR9m)zwC;QBFLOFbi=@kcI zdSR{EV6+r=R3;y)()#`)Ngv55sxIJ`iIsy(lptN=U>sBs=DZxied~%SIT5e4oQNm@ zBCAY-_M#Jvv+y-Bph3r6I-sRm()+xm9(>$C^&pg&w|io%wg(63m5R@3NrAX+2I7%sQ7G+26;)gi zYmebxGv&S@w5aI7Oh-D|WE-nkusIVMGNRJEcsJVZ1efN%N{tb@WPcdrJ{1Z744H7C zQpCZ}P>~@&cZFwqmPRy7r_<{}bodUhn2Tm?&%?LeLSaW`oSGY1R=Jcbij$4E5-9n`582Gam9^uC@GT*c5(rOX`zhs)cRWUA zT!2rX|DbXyZ0QtK-SX7KL1gMhky`h1YdO*z)SloFEHC22l-i~*(5^>IXvF-pX=ddg1Wr9HOu1zGG&_fl` zWo^+O9)ZdU-=_qRxnDGy(AOt90_{e`W5ffs8s_4Zqtt1UO?CLR z9@pK+fhI18O4)(U+!Zte6r7Vfr76gHGt6`N77DQ@mdLBj@8Q=6E4z{JZkbD>Z34Ts z>i7@sN@VbqC}L<=StcNtc(itC)PwFeS3z~h6(zzBK?EArMr${Cl8m+oMK^>GPd+Gy zT&ze^)Ql4!*o9={Xx7~^{+;S>?MECSv&(_TZmb2IpX}`$Q~){_M{Y-~ok~vOZH#!@ zcoJW01Nr*oqjib42uY2Q3YOou75>(%aqEzaklW$@ixf(z7SZm0DD< z%t8j4^;@AR1rWJRbB`#;oFC1Fa!hfu{=-UH!dvN`>4mbubRV{oR9p0*#=@AxV=O}y zG<+MTzQVebG@Ce8M+{Y;y71PdnT)1-yV3%9Kd@+Dx$!PmzD#+}a(HAJ3x1dpb6%PT zBQv2PL6UGNN3hc)s}!qfigrMl^u}?aW5FRM7O$7NKzUX;rDX2wb41r<4Mz$v#)5e5 z>%1gUHaC~bfFG@e9hFs4^4fo(;#8(9%hBwJv_;yZoa`uK^`}}uo|mNSz*6h%A83bR z4MUVh$5~7UJ%_o!%1neIj!L+JIFw-Qd2qEmG2tdhC=AjjuKB?~8uC=Nk~ZuZmZbcH zB6QznuJY@KN>Y-e;Q;HVUxq3v)@=0P-v zJnu{;yzw|kEKxRP0;PU#0-bWLsd5`#v6PfP1=mD;*{_z?27VdL#wdRDd*xuaoa^*z zCVOB`cLK6_e6dh^MI`qtMfZNBQyrE%%MFV5Pf)4&Le8qNwOwoY;UXeX@jL9{(*F3F z3*jprc=sJ479-d0*#B+HUE_x%PQQylu$zM-m}eHMMlrzQP%QmFijQhy>C@nZq??kh z%J1X10pVNE%ReJ-%e>etnUj}2=9y5V*=aC~E$pa#ymf%iwN@~^I#d|Nof(1yp?f3e zLa{1~Ath?hXOl;NAj77w=elW2FPD$dWMp!j%wcqE=M?#FK~Rj8VubGtyP z3Hc1e`ZV#>o7@+7Wxalt#z#4chbT8le%tiSlW|ZeC@$N>AErBRi}dlEtiYe+0{H~v zFZeh^`8$8q4guqL*vc_VLl#>Jre86hXA!Ytk4^%XM!AzJh%*Mws9@Pcc~u)JV)2vA zo^Q-*WG2XyiiV$}=sFaZW(ucSm}mV;M3ag!c8w)Bt6U6@bN8(zGFB?ejs4MOJ4G~p z+wDQ5)SA+AHCP^9H-T_*q7#mk;>d6CO0S{yuq28<^cW@X@^TS0d(G)y099<6*vTpWE1yJ|$P1p#g_T@V|lOQqs`cZNZc6X!ePF*C3S{s%`gY7Tu zsJt)oM*c3yb%(H5$bzjo?5MnEaQdW0B|fp`d3dQ4e9!YlhREK4wDeG-ZRy%=+xCn~xU4+m85%48iHn_!{O zs9Zqtq>6ava2ta!`=WG}UJ!|I?u6?YPoyryG{nk--k9DV*;DPex>Kb-zZ*l>yRy~Gj}d2ZuG zl{c)LPQZo~suAXX-f>nm9!=s=N$I+wH?c>aR%tb9gh=0(02 ztFj~>ESC>$kwQMRf7b#%J^KC%d6@1@7j*ab;vA<+7o&wgw@>kxtg2Juz)7utKB!vn z$p`dWPYmPVS)LnLw7I*UIH2u8^i21|-&Fo1RAF3_SVWYeo}(X&&&R7cutII?o`nog z^9`lF(DJ06GXhRsY_(pmFGePS^T7e38)Z1WxZHAo z2NfnGv2==SAjOs8ouA}t^Ac8CB(;7$udFdVU)qNSL z-zYmLKcIS=5CMT2dJG0C6{BoY1Y{W_9`0mf1(cn9c9WuD4#+dKtb4xU1EvFdWGt#k zCSBVg*%zJ4)U z-|zy($6POkNY^A)Pe>{yN^YAfED1Qs+DhA^(LVDfimEqV#dBQZN!Rg^98(U>EjcYf z1h7-HDOA8Xc%V+@^aeYd0bLRk3z^RyJprKQslzx)BG_I-49F{`Y@8dF9ui3>x?^qh zEPFYpF`a*+Vp?2wAcp$UW;|gsDV3FVMY_^EK2FXUNhTwG9FS9WK*mokH~xwy=c*>67J_q8 zgseql<-;N4b{bniJ~?J5xe?N}3KL7g1EmzBKisNW<8yh)--@KVfa_QV`uwZzsj5O$ z7x3or{Zw7R*U|kiDs|lLl>3p%IzeZqGm0qe^L2vW$nY$#=Ok-s`X8-CtDos#<)u(& z4V}cnyr>MGP|B9xu(8Nk`&oF&PQ{!FrFgo;?&`>*Ga9j=My0f=Vwqa3^d}f0+5e0Y zKV7Jp;}1@wW3Fe9_(;a#N-*bI(Tl7+)@Jxz@EQ_Q3(ZtdEY8)XjCSnw_#(Mem9Om0 zhXeuH4&J*tX~=YM@Gp6xsik+g6fg@>b2JdBO8%FlHj%rd@&&wVu8dHm9A`thmSz*6OG_gjD7 zu5eMs=wy}f5K6FE1nC(_bxX2rdJfZ_%|WVM_KLcMmFUGKnhrA=iFZc1z}%%dtSIZ5 z#YfQn^5FV`F}#Ev|C<@n!f93ZnZ0_XG*?g$Jvu*x-!TkBO&xm&vjYk9%4W~cOuuTHj?z#9qmTA$>bLs4GQ^gJyKC3o2G5J zw3y;oBgJA0W}l@o*Y;MJY?aOhKGBTpU=c7RGKFtaJ{!~p>`kU(cug!F>!#-_>D@3+ z7b#V4)PRhh?w980XQEu9Q7V@RnuMqlg%@3tvB-k1s2M?FU%IL?Ua8sQV$Z}W6ZmS+ z#rRaVLY-J^JQMzDM=`^;MZ}Hq_JEFeYKX%^DW}dC3=N%qm_VRZjKl)3v%J>Qv%fU zD&GgUJC;V0?N)%F3wi$wEhgu>h@?FzwjML86aP2>IUFo}aw|&2OO>{e6(;G#CSO&A z>nCiL|0zIWzASi8$3!JTCvrT3%zFCH%7Z8ZjaK3z2hAzeNN&cz2aWgmNu;dRZ;8=A zRlcYsD!Rb3lll!I(%BB5G=)OVcyy^LDhC9}*ijj#Zv&=(DpeTBd?`~3p}(wbz-`~$+>ES{&y*iVW=Bxo zv8aA9BB&pKentt(zV4?vIfxUwf_{z_5o^_XOzc@>8R-Amig1wUVQXyme$CAU&RaEh zgD&`zDguJsk-E^t(s34ab zJ?}?lqftO95O!4F3X$!#5XCQUFT2|Fr-XDoJjh4LG@ax*P`lU*v5s%-?-Wd{IZB`4$O zsa{j&QhuD*6LJnpXDRGX6$#Uwc^{=I@7up6+gujeT+e^WVY>5@cf^wKI6zW@%DuHc zCOBSI=GYqzONPsa{q%+#2V=0`s@$J`4yG@?LYxlV!4OtOIvI_0CptQemmn(kQqoC} zR4$9eoluy+io;9k=Vn#tHh?pg*nnU#s$_h|n0LfMcwIm0ZDONv9Fl*fC#cb!_R@;o zbjAUJ&4)>BlB&44SoSfIg+eF`b^P<03ZXNv284of@HlpSPoIQ^m+`F}EdKXq^VS^t zH3iGbG1$#e<%P~fhLdI&)qo^xP*fJ9cHb!vo3@=Oq_6|peU`JGichk`E~&zundlq= zf>I!n0#A(j#vB6N#-By4sEbsvif`Bc99`cGl47HBP9jMgIRsNmv|Yh**rTx1k^txt zHoq+3y1eLGgJ+Bc^kB%_Ay7KcREA(XkT{*^9K4_5*bhpx3gO4t#Q{O)kjJXLIX~Mh zOp2R`-%n9k$cb&zqe#BGCxiIvYP?R)$&rHrGQ@xu)H;>TK>4`ozMd!wzVCt^yst<) z2h^;JO1NSU72~!ay2n5&+1Y7m0TldfDiY@r&<81|X62I{(T6Dym)Tm2+Tu__55;S3 z2EC<-bYX$QP}F474CRMG~2<`L+#}JP%wyTyrI~! z9f8Y@)A8v&#RD>^%g4z1ECcV|=UCO;Ao4GS=^pF^Lk!4gRu1UJt$RgT*`{vqNY)j~ z+35ec^Q~xmW~^U-TLvoWV`qoa$MUO077UC^AIonJhAiFKI$v3)dfAjiuduRBMKM0# zS}$&D$rkYW4aDM_oT{(sD37FvxI6TFm101NwPq}yio&$8TqYgeX@rQUs~fB`uUeEL zVgWP0Wby=YDjDi!)s?|m0ujH#p#fOqs#jt%@{(2-43P$URSYw_LibgZ(xX~>DgD** z0~N*@1vQO)$j2+4L66{>169wPShy`YiK<5>py{VHjtE^#;Bqw|6kraA*7_B*xW;)t7*%Z_69=ukRqN|IMn0!se zN{(gJ9WN>wKt-i6%P)h}y9|4^D;WNT9hLEC8P>e5rR-_bul-n;JII&KlUyxC79JUn z4+Xg_;^|0mGQ?nj3NawVh$=uoqV6YT@Lbs3ba`PxnL#y+(!u)vD*uJe|QK+CyqPmRiW$PYrESAYV- zB=i^z1rq-wEsp>vtdOCR-vzEh+9W)dCQZw_s;#UNM)RYvjmMRCy;{_1elB3}AW2Mg zX6!6A-o(oOZfULs&IlS%fD@pl{BzWRC@v{yOJc1cmPCjY?_dlu#DI(`H{(2ZQhvt# zs5RtOO^r+mRp*@Pl)|@j`=_RR)|7V2B06X{&kfU^mrP-ae<;lbZrAoiw;5?`gGOR$ z-K@2c>M=ct>R}56WXGR1TrwB}g&mc#h>|q!_6kiq!XQi0`t~5n+?uriV4Ki%1hsN( zuqqSFZa0@kBa8TrEGjm7WsVSzm4hL|h(s~hb}KDmcF5;22b4uwG6A`B~b{)-z9)k&&u512m8@c$5&S;?pr{<9E zxPz)Vr7229Qh{{G;|roYcI4~f$mV1H^qDY(w!+40m7(P{sf;1GthtG0m9#>ac0}C! zY1fYT_99F9{L@`cB+elhLK?jp^S7VS51iscH#Moc^ryom87-CRj3mcTR9q=P^}|!q z_m|^gx-+s*!jh+KFZZF*$Sq%qBk}b-^m@ga3Ga$vkcFuL%2GlTXVMmL@Dz#K9*~7# zk6Z%}k|Bkq%^#_lbCxri?uQfxPcpAcmm7y;(se9zb6_U5xvdHBF6>|WUnosGo9~9{ z&Ui;zCa2|4QBtwac(lDpxH0H5!ujgX5VXt)YIJcqcCJ^ItFk|rHYie3JR|0;JQ$MU zpB%2xBrh4>;gvTKP=<#dgMmkG!ztEPs8;PY2_`_$1C?I7Ol{Q9nd6zcpxqJ|?YN;z z0n+h|w6x}pJ+Oo!&iD*SFlsAYqG3FiD}ZZ$+@KT6ahNptdS&zaooX2KRJglu2x4=37Od2uyQgfjBxTr9 z+2$m0+@e^xA2@2gIFI|R*j8Ggki&22mQX{J7vRg$l2~#Ru`vVf&Qn+G{g$9Jci9IO zPs*7zx`YM&5E}?~oFN9}lO%?FwelGI?KS)hx9oFV&oV)@l8f_`3SyfppP+Uc%Qh;| zR4QIYkqMH|gA^3=Q>8s?S!k$RXJdyRgLxZWWQ83Iu1)Z`+v^wcGK>f(FDR!@fuh4TrEpahc?FaF$ z2yV!?(H%3f2=&EhCTD^Hd&8bCaUHXLaBlHrRtr(Ph^OZkS*X$->q4fxJa7WZh3>6c z3zbjx+KyC#k_hcHcRv(!PgaL6K<)S zaA5+a|F{BG*5O)f@q(V($xY#wMBQj7i$iqFz<`pJ9x1U7+x5J#L0-ikm8b4}PmEtp zdVQSiY6=^Q92N2!DAh$AW+js}+scBO-3Yi)=|nOBmMLvIKXK_9Dsd~7*&cu}-C0Ny zypC5{?`CVfSLCuJBi+$-G-)iv=P!e1_K;BJ9ASa^DwD>_H!>af&aBpu_)s;7$|EX$ zOgyh(Pan)tQ6yuZQu^ToPV+WQf14lYR~TsxrP^8IRxtK~cXP7q;Ip8Hcj%Xe%8h%m z-TzFMXm4%T;ZV1JYcKoYay1r2`{bmnB7r`+4VjFe(K6az2&%<}xzvlCMx-3Ru3)1l z=z)e!P=AE788{sxLxTL{0Mv2vStcDEQT$xpt{4QYNpu^Ul!Unu<=W_%bx9@T^8Oyk}YjQkHI46KY&Y*s!C~{xj)1C(PDyB zu%gP^F>97Z+E8>j*_i@1kP*6TQ1<2NsdlReMl*&!z>?kpO7Cg#+FgIk*bqGN0Y$Pf z9@48vG72GKq0j1B1k*V^L%Y63&Q(x?6fVm+$9T)Em(QZnk@0W zt>3Oj8AW2DJcwBEbhSJ2I~WOv7?4kBBGikm6h`*O`PB`2ctYKmV32AAn>H!MbBWp> zWS8(19K9h-l|Nf_YWtn;WLF1r8=vBMr>oq2dl6O*psX03^TN6(sB-kNfaLu>6Ma zZXrb|Rm-4)CFxiqj(c@oU3}NAZ%F{H!SnLBM!yP%reQ~Ad?N4d=>Fvmc87`EXCFnF z?tBWAzxABuvTllY;Hn}DI-7|FhsZ~vr1P4bd@m~}qFxd4qadFv8Je>qR_eaukjE&z z(<`xo+SMy(19^V<(aP^tX1D25B?^@DC<60aC_5&<^YqN-33!^J$KbPk7-#vc71d^s zWFZVBKA*xs*e3;CdHAMcBM+)zlO+RlD1W3Fs3(t~K*zV00g~VGg-Ee;OP*}1%zrRG zP|_~P1i7ml3Cc}hp3>(5kT04ezV-Xe5Malh197vGVgVa#c$pT&9pTOrnEwltbm z6?5iPR#fe6*3{3fZEC1D=T0=pMLs(B_tMg`-Z=UC+IOL%d%N_O8<)g^;6XWv7M(Pj(g&3qVbMwg|Nk;*=#x|!38 zx!o~9LC)=#;D7az~X4FW46VQRdLihWOw12n6fF# z&&sB%63N-^$@<=Iykyr_9qm9F*OW0DeNKd*ta^TZMO|%`*-~3qWA4{bUt`wR&unO_ zt7xfhs5jO_t5KM!dR{|QHP5p()-k8Cs=1|!-&@!i2is^zmD>8|mWukS8g4vnEqraB z-O$v+BmD{2h?dbNjA3$I^qgDM)J#*+CTUN-;1r}>@v~yL&cLoJn(C%ZGG{hcHJME{ zvy3`4Yy@abb4eQ<0YC#PO|&Fp0#;O`C}qYIX)_t^h$f>b6_3nAYDQPwP%%e7m6<9U zC)g{>4Pv-c{Z4Y~WNvquU%P1~#zq+L5?Wr}0y?~Cnlm1^0G#Y#YHX@)XsT_Q&&|uI zxm;kH>7_Ts{%me4Yg3e^cOJx-gb{#4;XQ(lFI>v`B#@+M;27u36uR75#PNt!3+qRa|pY@mqJjh(d$Pqz#XR!} z$P!}i;65D*ChWmP=W`ostNFwq1XLAJnN81*MU#dj0dLwA5Gb*s!!Oy|D zYno~y+6m*=Wv!_ir6Winp0X06gP zsRS&c=~ZBm);8PRxzWoQ$QP*Z|$7wwf%?EUrcUw+(v&ItPlG0K_ z9PmwWJ@G*IOgrWXkjVG<#5o%KW8Zh84v0091U_I1R+LCa^Mfeixd>(KxU+3=$Dv?~ zRDPr5yhy}4$U+Qlho&IgCNz9|>#Q|6aoui}j-OcKMtS>Z!rKuT)3L7%&{F)c_yKmJ zQ%QJ4b-#paX@OcS*|`#?{Mp8Zg24<89v@;O>beQ&B1`$Xt%+ zu?A7-Bl6Rw)>O{bub#F~wt&nNwhI^8cc{9z_ravX6V!@;ZM>HR<01BAP<e(wnyh(&tS3FyVfg=o;co2CKFd$Vm}v<;7-XU^LK zgv3zMOd@)Av$jNc4~o;E#AaBUVP_;=d;Q2ROw{y}Fw_~KkY{g~M&l@FVX>AD0E)rU zZ8gclDJF0%T%Q*Ds@a_Am5rCP(Q!-vQ?bU)!D7J>i7H0wP$-QnJt-JrDKi!Afl~1o65#WB)cPN*o+dK zlwWfnY9LwLR^U`_HtFXRxizbx?6BZAS<{QE#WK`WZcx_Qv@JEulmk+qKmaB_aed@wK)X2rSXNh)e%5On!>Q-8L}g^8eA zq&Ut&rq0L%HTVEuS4RXsFP8pg^2#LcsgQ!(t%Dx;BHX9#F}xZ{*)L3gb9KUo-P@G& z&#nZ?-N^8a=!l&CnI+S(n655jYOHB$H63Va1g=UQ(l|v9Q#^U%_tI?y4qm*VnQDu` zMdOeRq$pplC2pl-Wl@!T_2mW;%nLgFAb?0Juy{WC{zvVnKOJuluT(`b;fDTbAs$pF zUV8yTWmy~1YY2p<6fGmv+ruC3+}uJvimTkDI{>KOI3aeiM|HT*C@EpZUi6Q342_IU zR@;~AOaex~c5@NVnkV{L*9e6GyG-%;S-H`J<$kDB?j>lX2BcIx+Uxi%Fgmy_3skK` zMwqET$Bb1v04RIL$uqJh>yNg`?Cww^_QtYpoBScwo6)*_Tqb{OU#JP`9UZ?LA9rYl`OSYse&Cnjo5 zE;#Dxn0uMd3Mw=XSo*BAR;_ioKa?BGv8F)-0T1_5EJON4tN;mu*>Yx;K?M>e8zQU- zB(WAmtXKV7XbJ3TFE^H9&dCEcr;xaEX3{^t*EzDBDiSN8tc35XTV_Uw6AmoVoW>rn zYwptTN%>@*;ar^}q%ul@X|?JEX66_xg0tUK`+d%H?-<)x&wakgxQ#f;DB48#0&3`X%LjJw`0 znw{jYA{gY}Db_(JW5nYGHEu`3lDl*V?^I_5N|9#yxj(vEJdU?ZM()S6h%!UjOuNR; z0Oj#ApX5w}uQ{2d1y)-o&A}N{pUg%Hr$=xWK+fa{%I2Wd0@I{yDI`CoIh$iP5=(;zh$ivtC(2@&wf3idU&ApQ&4{}fpa(&RGBWMyW444$f;Q#f%&w@f25OKWY6A(}D#|2kZ8T>!HQ@h|4^mY#CzG|b z8Crf&gl)?FV{sFf3y75r&-~hYOdxGEqDRkBnNPy|nJO(+mk#_Nh0h;m(`7!}7#u7kQEHH&=%{!3kD(aF- zTx%oJFVTU@^SOH6a;Ru!8zfBDa+1+bWW6T)_*fp&k#yLyN1Q-Zsyh}>YIJR#WY{}Y zqreTn?A;j@j#<21)7JL_boOB7Y@c1@g%APWpw^8`7%@hN5g~4M@hMH!os#Dx9J=L@ z8QSNuO-rU_G}-`XQEpI>bt~QJ``m?foj;*|txoEBzWSisD8YS%O@><%xh+M4Q zqQ%*de>wT9h={Gdg9gQ1uX!@^cj@Gr=f!i^=6``DuUtJm+A2f~^MV51J51MYI?~?G z;a1A=r5uN?{aTfl_TW-YD%Kul6#l*LWO1wBN{0x9YIL%P9jjTNCo#BSO^CLmZaJO@ zmJ87y&|<#V#x%>>NXPP9yav%Nhmtfd*Wo<{6>;6C4R;gBXH>7_oBpbytH9agO2DF9h358uC5gwjX@q?ZA?lW5(Ry3)JqKTNBfcT6Kh#`uu z8v9_7Gd#@2AX3C;4T-7mbgH8L_API>MaNh@Ej!(I5665j3^>w>^6rqzgm-V~_^ao;9xf!IL8j>j z2~og`S8|9>qxHP-?^+4jU(eC4Vz;6%L{Ja{&>a$q^~-ha+Y?HFC^(?Yefk z7Y2DkMw1)heZYY^gtFL>}lN-Sk> zy@!gZ8M5AENGjpv$CX?|666=@Sf;15N(XsjZ7=G0mSaX{TA%7B^dwW=gyfgJMGFls z6&8fd97_{?Xt)k}JmrUGkhOHg<>?G^4KfRRyIzNZzV^Rspc63AFddZ!P$#m1o`>pb zG5I>IHF<8$0&U#%)H*vX}`APhSalXDzc_p8jCAdgER_U>e0@sVk~lEI?N}$#tJeB;ptb~WEMp7*^Dkh(t^6z zCSEL~JDrM;W-HaVWQE#)sNkFxVB{?q|UhqbSKy9!WX#traGW890T5H>n4^Vs&<@cLz0YmpoEauYzLsCK?zY? z;2LaO6v_~TKQY5FD(b3{hETU}m8`@;QST3ngH_K!UKpu_$3P`)^e#6;k@q(PjyjEn z;!6QrqaFqY%C|QF#n_>^5o48a5J%3LFtaJC0iqYTCziEEdsrvuLJ`!J%ZIc_sXWQ% z_>q8Ox}idWouA>@8v`UK&>>J!m0nz_!+qW~@)A^46)Mg_)h|@>3re^EUpGW09s0Tn z0{)G%@C5x#wNp%4Dq~~(d>Z{sJEI&h)IXt=3rZ-lax_Q|{I=Ss-p7=wTx)_l+H*Gu z5|r&Ru|$HA@>0xL0{4hGSEC2txr)cun52fj=_>G`k?|S+&K_eJgYe&?!T&40{-ct; z4>X=!=aAPoU*qLJ-T!Lz>vcAI^y)uOTy)OguKVl^1CBy!ckaKY7Jc=>sjt2;^qMn2 z8Ft&m1K0h{x1(lWaoshg*NlIyb?}RZfu?Bp@FBNd(Y94d`5$ih^~$|pdiu{_9(Y69 zE}xx0>a?XD-@UN^o;ashx!se$J?Gr#H+kieKW;m5(?6H(G-Q_}E_iI0OZO~4e>b^ANuGg7hkpw(jE6$gXVo}QR<^>Z@l`Z`3pv#bJf;I z-}=wRpU=Dg!IQ81{q*l%yCAjV&xUaVx2qiga?^;u$~SKMsP>g>U*2ci2cy^j?Ve}1 zxx3@VDZl%5WAYut_&2xfz4W8<=@(axSo7Yef7i9(oSz^1)DbryasQVq9^3BW)9<|Z z$UU&%!8GsCzG?9%p55x1&%38?Ja+T;wUZ~@^+fM4FTZ)Ozijj1qsP>sgzG8XZqIFx zSo!rcJ*OXE`^fp@iq3rePoJK!(+w}&f6f0w_qZr^_WY{U2^x4Z4LMSGS^zi+oc^}JX%XrKLmyZGJ}d!Kp2ZbjGs zWyIO1-##9hYxi)wq3>Mz{<`ZOarg6YeSPuy(J#h)e&r6goX|M#{$-DLPOKVx+qs6Z z;m>H^QFTw9HMV~1Gd_Fyo`+^VGUT)|r+hGZmnXk{^U|61CqMD{*aL7L+-{w_n$CzV zI;rNjEqi=>&9etZzCLD`-yikTAA1g%ee8RWnhQo5#--eDWNOYfV|I9F%gb91jW@I( zdcv=k*Ny+~^OdE)c%*pC%55(E#4uKJyNA|}*9_b2gT}?XUvt?RW469!^zc(&{osM+ z&(1pa{#Wigug?UjgWQV-zp!=9V_$Fg<=unN-0<{@1Kzr7(~bw;-7ER-yx9kgp1Y#F z^ACn`J-0h^mvxuFfA|*h_a=Yy?pkx6c;erswKrYx_~6f*hTi(8BgUT7XBeMyJM-WF zOaAX)r!M>M!=0y(sJv*~s^Ql!{LQItpH)Wp9=q)wdu?kN2MwWl|2rx@<~Kk4{GTNU zeK0CjeaRUUC(OP0-a`*g-F)STMSr-p_4kHx1-Cot+pU&8KH-+Xm7VafFSdH)+V+J{ zzIJe`Y2~lhUUbFO{p)6IZ5aRMcJEd{ob0Mhb$?l1b5q+sFAsX-g2z`LKJVW}r!M_s ztIHp_;WTg?&{EOhQ?CE=&MklO`LXX#Xlbjhn)FTU)z5XG`_@INnLCz!aP5D$!nLxq zx!r4DU1U~mS=qM3EBEfzUBCTKr+j$9(6v6Q{jlq->wf*gJL?~97;kdBDc`Pn$JDEz znlb0LUBAEmvg0P*yvBKnA?FX;?)rc4bK2*hjsBlu?7BA1d&T-2eE!sX-EDhStUUjm z^o5%)j{Y~=_0JCv{CxKZ=A8JCjlo)fF52zhH~-1R!_OQw_sONN-*(FlGe`dNz#Y$g zHCA)j1A`8KdGhn%FWhcS%g*;8*(xa$vpdv3Q~x9a>H z(KfX5(jD))`?NKO#0_Hwx4Ut|)-f5>n`_3Vs{wEN8IkA zO}4rIk`L<-zRh^Q>b(&+mW^n9;f=bTVy)lrarxE1c&o1l=dm8G?};`3^}sM=-JuW6 z-um(ljSKFm?HauH)b5>T9X;>5H7C5e|DlF)8n=6H%K!G5fB(wuPFru&A@}WnN%OU3 zZ%=;b#1(Ipt^M56eLw%-Uk&3$ZujN7yZ!o|%6SLO_}$WP&RBWE>-&tk?)0KxTsHF9 zweLLb-Oe>H09@9mdEZ#}(cMcgd~1V;%)|b1NBXAQk851K&rYA+b7oi3+rOMS|CJ8I zxSZRa_|WrL-|^l4r3dZ%>1931886=Q(yuNbvh1$Y<~@4yB~J~#A3W$IZg=d|9rwMs zdFG-&Ha=#&*ZtKe5J>A$1j z-K}Ziyz!qL_X(AMTWdoa@0CCP_wqkpdDHq0pUj_L@%ia}2X`&G<;8v9pEKcuhhM&A zn~On{`*6G0j0fIXxzib2ezfhvnuj7!e${Z)rZ2tw+$HynA9rzAszz=!KI`x9st6C%*}pOa(0!4Xzn-#cL0Kw#}ATt-o2-F?(+H>lHix z{7*}&N9?%l*gMzU{f)h^FpQJ9-CO@%<3D3BfAjY*-8l5jy7$WVE`95-P491eylHutwz)=i`@9=RY<1Zgk6rxy&&L_Ym)tIK!AEa?de#m{ zzw*j4U);0ZTd}PczVXe4J6?S9Wz(l^a^{$`V2I3vN?0`bsG;BOx%PPn4{Dh5^o=i7 z?sv@5@4Ybn)k#a=U+a^j#-6{{FCHwR7AHS@1pC>Q) zuJs=e8%8lIxdC5xocrnDhj$Hs_r%-V9(&>Sld2!sW@g_9}5Coxyw5XV;P?VO}^gVl>efB-~<|=98{r%tX z`{#Y@KIb`W@4fcgYp*?=snf#m+UeWbx-nM2Ixlxd&TBV9?LV)0;=$z49wdA|eOQmX z=^2h=ZnS7TW>L;I=U9vjBv)?#>W*%&m3#bajWH~>%djoYSDg6B>G3F^_afRhJhb4( zZpN}mZdt|cJw|U>^_!z^Z1kBKUBBFV%4zp!`-V6!>NI-j?Kdt$=5^eMt1r`I%iy+u z-;Q`3)S>0rurGVOy18`P)=I1Uus0rOS8!{&1LMa?lAGMs@5_`8w*CyWh39!r{-66#2hnWf8CfJ4V}I@IBeaK`42vRylvuA%u8x;{YJh0aL603 z?|z-s_u-bc^UlqxwA*vnJ=;$P-CULa+wkPkA&gBWIqR*98+l%R`rAI+_o^=6V7oE2 zVcOe6HqN$r$Kj9cw;wL=#8?i=buYiY*HWwYmGWzh&iV3}M>7tdZ!z&ed~#agvDHas zx42*|e*;f5=*zUeJ~J%-e%YVO<_?S3yCp8Jb2!CKP`z*9I-!SqwT^uJI=djO`rHR;tR>K?1(Kf%j}w8xW4nPF;~X~ zoLCh)s@e2Pe>_}$=-P}$We|5yl3cCw?uY*H-$|)iJ^yCc*J7*9@!ECor#U~T%@3G0EA1X*eM#=Y zUsD~1Ef`eIt|B&vE_w)8=P)VE#vP zuP$q=zoC!Xe6sV6H97H(FTHuJ#>rpS#@3oO{y!IUzRGrhUyk2*7b!o~L28{TH@m0G;qp~o*DU3jF*lCaDEXAig8HKk5c=^sCP z@O}D0+uSYAV+ZRQ8%J{GTpG{Y^1fS( zmE_*8IWZvV?*Tu)mo@*b^cAn?b;_vG`TXxa8}1JG9vR!E-8{4#$$fGtf6rGP`@Vm! ze%EoMA2fM2Ea}=u_gl?8c=cFp*037GFwd!vIjX+Q`uyz=(q<=LuQ9o6?K^qlU+z0M z->=zwt*SfDy>ZOfH6jQ8LULAzBFfG^nGo16t5jg4A2x2UHr{*w`c2i@4wnw6a~Hmj zSbBrxZo398j=vP~$kp4%snxDf_svz;uleS)n~g_a`Jmf~4&Pw6r7JdL^kstV0s?C7 zzxCDljI74v|7`bb*Dux&d~5#dH<~R!`}fe3ucQAiBe|O)t!?)oUy`=G;=>zWx5~c~ zyl7qbSG#XJJMqVFk}tj4b{ys#B=<04VseGriNXEyHXhpe>fwIh{Sw);db{%7zgY77 z-?e>jV4P`>vh`(>FTXa=rpnTvcFyYkc@6LE-_zX3AAP5B^}~Df`i$S-aOYUY7LnZ4 z&pNhtzB#A$&~Lstv@10{yWPV@GnTwp|L-Y=yf2O{f9S*5b&}iqQ%=(both+H^QxWJ zI<)o|$2W!eef33|H~sVxz9%Yt&=m6=tS$6q!cN$@#>Mrp3LkXYZ)LZ$(M`JB?D?kG zjLW~ycd)wa)nX0i8zh(4wtpl0asvWlIuOahkKhUPOW#Bxi}!PXTz$euKa%O z?QYY(*DYJzs>{(i?=yCg%&p@!$~5aZZukqTsF5Hg9Ng`Px{g%OR5++?YFR zdTl%JhvPyg?L0R(u)HT@jj$Hgml;{R^uW~AmN9K-XMOvDZO7)5E`IQE>xZA@eYAE; z{J2MbF}{r_xy&&&8qOIx=-0$0-Ku_m`}D6D8*Ti)ck;YhLr$J-(=53!=830C&UuAX z-tiwA-M(hHMu6VW$Y7@t3IOtcDG@M_nMvmXrJw)Md=S>s=x8q@%>{m zfBf#XF%RDOg|S~q?o0#62f8*R_D3$bcIaxEWwYDv%#YqQ_297Y3U0fd*`0yEVuZpJ{x1BuphVRaw8GEZf zFE{LH^$9_zZLR&QwG50a-=%%CshG*V?ef~GIp0<;b;++8V=*N6$g}@P_bTgyYUywG z{PE(rI!Ag8pY`cic0SYkpF5NJWXNI0ZjqdGZtI^LXUzFN(#2`p@x5if-t?dOyFR#h zIK`v?B*SvgS!tM0VrTW&S=sCd#YX@-?&DtnYgl zT9BMyPHw=HHf`Vdrl4F(&f51w%EaGZYg=*NqUqz3o1{3UVf@G>xqcU3Uw@=u_d~mW z@w~Xf(0Ws!Hjfu}m^XRUiT5h}^-KDLFviL@&$;Cy-Rr~Eu%=i&+jrjP(U)D@0ebhEK>C5F2W#8KMb=0C6 zTNz6sxjnwO#y9Zm{aZq(uv(|yf8Tod@~Q*tyVdobk-aN!xRu>`#{NTcTUVAp+`qYV z>CSCjx4gUm*H7*QU0E@$Q{@qB0{ZIfkE@CC$km?fS7F`F)%gv^?Acs;nC<$6lz~hA z&nCs){c%J252_k^oNf&Jts^=2*C#ZzX}!`g_F}JBa&|Sm?4Iv*qH?rz-(C4pO|Qqh zuEMyFKCCa(=wVQwmFKJE`%my%tY4PVYxjYN;gtuUuDp2A*LJm?SHn*uN$%5#bM7;} z=6)65FCg-<-G*L{Jq9@Y-JQ~4)R{pCu60kp#@K$6EBE`}O4bu5ZfWu9A1(T?@SAt3 zRO_)l7Nn-L%@>z^)&HB}jJ3ktU0~18ZHLE-0UwU6-1YRjRl#>UF?OEhri|O1 zKVa{!<_ACDarx8B3x0Z3=JI;|{+UdVZ3^NsR7I_z)vTAz*O z$M0_uGkMVd+~E-k1ABZrz zFEhsG>MgfnGlSX&r38(xJ!jFhG%tPC3qCFT|Ghoew(&<8J0_5vgZrx+hOe5qXXXBs zvU45I7+(G8hhCdgO82x+N?jgZ^EAfF?Ih=aBrb`4-`c*#dcXL}F{AGMaLVhzqy{Jb z?A%sv?CWx~3g$29oBA@2PZPFmoBW?86TO?R@A>Fy`^nclyfm^_HG>e{A?>=U$E{4vw#R3GFtMq}o8nzirAQ2l}{V+>V3`=wdyRo$#NeE;^iQA;NMvz@qoU%B6?My)>jYR0J0`(Mt8U)&;Q!TmA^7c=&13tsM-E!X!PYxwgk<8GG?Iz8ij z*DWp24C&PEoj&VME;Mxi@cIeZh2%co;iKC=CF{n-s5@CF*W9)JE8~IdmLBIO><@FB zQ1R$HjIj+Qm%uzy+Z!CSM>uuvvgVXm^qW)HEv$E?UGL-Tc6@K|{|MuG0m+3IEcvt9 z`)7LZNa^*#jylyoE)%$9-QIQe|9Wj}=ARATUWR#gT?ek;tee4GuY2siIiSm>)mIv= zxH5EW%)8S!uBuyAe<0QWZ1^a~rjy*y_Xgg&GoF37pytu^4NK};Z5r15(XFa&t!{OR zs@~()EgQz}ketBNlLjYpMEw~Bl`C(o+pCB{5k@^W*> z*`#!eY?@nvTu&eN*aQ7 zN*iA8=wlE6>bRr9hr_e7c9(5`ENppV$I*e2*)v}|nbW|fOxQM*OLDIdD5&>lqxHX4 z3)yhH?&;BYTnD{9+Ro7a+ugNSwci~TaFelol8fFuWy)(;jt@Q;pPn%^IkacM-=PQ2 zSI&q^tJeLmnLFS5kg@JNh#i_{b}j-)B)9MJukAbA z&b+zoy$`+_`Fhi8YaD%=)h@edfX5;0^BIo0nON_)rZ<%OgKBBUdAg!wsjd=Yft@Zi_Qhi$MqSK>$T24 zWn+^=gD&2G7rPo`#_Jh^Odo)-u$18hr`Tf2Vycapmx$}|L zeD@Hy*`H!fc7o(8bY1A#&AZd((E;mDx_Q)({Ia2K-URo%D|cS0cdS|Ibc{z%j=bD4 zKaRilQ^CloznxsUx{*WQFIwEazGRu-QIX8h?6B|D#)4)LXNy@&*4k zOMe)?_drCwcJPDuI`DFHrgypfAh=5 z%vMFLeB(QdJB)_X&%o%D>HP=45)p*6bh z&gee$J*;PDlU&PFra`k<$k3o!aa4;k~S)+mBzb!@kr>l55_) z;ecUJdf2tSS65&6;@VSjD=Sy%`tf(?rlhakcTL}PGv+T{c)343sblqBnUilM40tzi z*H67hSFU0kvb*BB201H-Hqk9g$K20@c!&+;>19e@b$9 z@;{5K-Q`IO+i91}EWI}}=aT!r>6a4Qv`a|~-aT#6QncG3%n@)szTyGb-D~v+Pjx<3 zdh6*ES3Q6K;CD~Y-hX_f4{h8y^1Vse_a?dQQw#0pXMC?qj=Nq(e`m1Q%E&$QCeC-L z-M`edEZ5{u-4WNEd4AWH?Cn^+lIw);cMRU&xo5+{heI~^y8K^$vS|F6JBSNN#t(qz55or~RH` z6|r@^=gp31r=0KIq|V;M^M{7Nedq9no>&Kv+$S-AHwmiRZE3lb&E@*-*}b~nFMsc= zd^3L2uIP_Fzx>wz2>h=b*YDBf9|v7M_HomW&BovQ{G0Ow>MRaFHfB&#rL$+h%{;Gf z-iNV|NUme0{MP~xruO~3=lqT5HZ%yy3Qro?GigGDOH~@KpQ776nz0O$bJ<$!2iwaI zKUU1|ez$kewjX_A{r9on>7I?Ihfc7r`sisi=1qtR`Z9Kbo4m6|2|F)Ovvj^*wZcIr<*^{sQc z>aqKXr6)-)ukPpdM<40hgQi zet*TZX4iiG?bj}6PX+B_+n!msZNQ?(jD10Jvnsy6WLUcm5BvOC)@n=K z-XD){+T1?F`Ah3HtxoqHzu}-4{EFnpw)j!s{$aHrkAJss$+o%E&c*#_;MK0L_HDK7 z=#fEF@_P8=wJL~h7(cduJg8~ePNM>xzaHdu$MET}vFk6D@@d{`>Fv~|QF)IKFt(QD zUY~NcRpX&nHpl}`U!$?^51e8-Uwj{VkR3f5aBcVMaS(0z{nw(Q^sDWOiI2DwJ0mRaT3 z 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 Vsi(`65>l)$NQl@GU7$F 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

    5Mo~Z=dY+P?|618>pPLY#@Pu)oql|YLK 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

    V&FdQG5aOYrx*%wS?HuO-|-lc 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ǥT0^KM^Kz?0O0~dHYbdp3UgvFH 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 Awh6jD$WUWd$R#VGnyrL- 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

    _(fttS&IY%5|eRt*jfJ8ypb+5G0%H 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

    ig21lFYp{Tw+bY_pkoobH&B|p|G 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%0D6WuV_ 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

      -R@r1O9`+`grY+1g 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 #include "controller.h" +extern "C" { +#include +#include + +} + using std::chrono::system_clock; using std::chrono::milliseconds; using std::string; @@ -19,6 +25,19 @@ const string Controller::cv_window_name_ = "Device camera"; void Controller::update_battery_stat_() { while (true) { battery_stat_ = device_->get_battery(); + servoOk = device_->get_opc_value("::AsGlobalPV:gMainInterface.Robot.Status.ServoOK"); + RobotPos[0].store(device_->get_opc_value("::AsGlobalPV:MpDelta4Axis_0.X")); + RobotPos[1].store(device_->get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Y")); + RobotPos[2].store(device_->get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Z")); + UA_String uastr = device_->get_opc_value("::AsGlobalPV:gModeText"); + char* modeTextVal = (char*)malloc(uastr.length + 1); + memcpy(modeTextVal, uastr.data, uastr.length); + modeTextVal[uastr.length] = '\0'; + //logger_->info("Read {}", modeTextVal); + //std::lock_guard lock(modeMutex); + modeText = modeTextVal; + free(modeTextVal); + //std::lock_guard unlock(modeMutex); std::this_thread::sleep_for(WAIT_BATTERY_); } } @@ -29,7 +48,6 @@ void Controller::run(interval_ms_t frame_refresh_rate) { std::thread battery_thread(&Controller::update_battery_stat_, this); battery_thread.detach(); - cv::VideoCapture cap = device_->get_video_stream(0); cv::Mat frame; cv::namedWindow(cv_window_name_); @@ -40,7 +58,7 @@ void Controller::run(interval_ms_t frame_refresh_rate) { logger_->info("Starting detection"); while (true) { - cap >> frame; + device_->get_frame(&frame); if (frame.empty()) { logger_->info("Skipping empty frame"); continue; @@ -52,11 +70,29 @@ void Controller::run(interval_ms_t frame_refresh_rate) { start_time = end_time; frame_count = 0; } - detect(&frame); + if (modeText != "AUTO") { + try { + detect(&frame); + } + catch (const std::exception& e) { + std::cerr << "[DETECT] Caught exception: " << e.what() << std::endl; + } + } + //std::cout << "Detection successful" << std::endl; + try { + put_info_on_frame_(&frame, fps); + } + catch (const std::exception& e) { + std::cerr << "[PUT INFO] Caught exception: " << e.what() << std::endl; + } + //std::cout << "Visualization successful" << std::endl; - put_info_on_frame_(&frame, fps); - - cv::imshow(cv_window_name_, frame); + try { + cv::imshow(cv_window_name_, frame); + } + catch (const std::exception& e) { + std::cerr << "[IMSHOW] Caught exception: " << e.what() << std::endl; + } char key = (char)cv::waitKey(frame_refresh_rate); if (key == 27 || key == 'q' || (int)key == -29) { @@ -68,13 +104,15 @@ void Controller::run(interval_ms_t frame_refresh_rate) { } void Controller::detect(cv::Mat* img) { + //std::cout << "0 "; DetectionResult face_detection = face_detector_.detect(*img); + //std::cout << "1 "; if (face_detection.score > 0) { last_face_ = system_clock::now(); color_t color = cv::Scalar(0, 0, 255); FaceDetector::visualize(img, face_detection); - bounding_box_t gesture_box = gesture_detector_.get_detection_area(face_detection.box, img->rows, img->cols, 256, 256); + bounding_box_t gesture_box = gesture_detector_.get_detection_area(face_detection.box, img->cols, img->rows, 256, 256); cv::rectangle(*img, gesture_box, color, 2); cv::Mat gesture_detection_region = (*img)(gesture_box); @@ -82,11 +120,15 @@ void Controller::detect(cv::Mat* img) { ClassifierOutput classified_gesture = gesture_detector_.detect(gesture_detection_region); - if (classified_gesture.score > 0) { + //std::cout << "3 "; + + if (classified_gesture.score > 0 && classified_gesture.class_id != 18) { last_gesture_ = system_clock::now(); stop_device_ = false; buffer_.add(classified_gesture.class_id); + //std::cout << "4 "; gesture_detector_.visualize(img, classified_gesture, gesture_box); + //std::cout << "5 " << std::endl; } } } @@ -96,7 +138,7 @@ void Controller::send_command() { if (!stop_device_) { if ((system_clock::now() - last_face_) > FACE_TIMEOUT_ || (system_clock::now() - last_gesture_) > GESTURE_TIMEOUT_) { - logger_->info("No face or gesture: stopping drone"); + logger_->info("No face or gesture: stopping"); stop(); } else { @@ -104,43 +146,92 @@ void Controller::send_command() { auto command = static_cast(buffer_.get()); if (command != NoGesture) { - logger_->debug("Received command {}", static_cast(command)); + logger_->info("Received command {}", static_cast(command)); if (!is_busy_) { switch (command) { case NoGesture: + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; case Stop: + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); stop(); break; - case Left: + case JogYUp: velocity[0] = -1*speed_increment_[0]; velocity[3] = 0; + device_->set_opc_value("::Manual:JogYUp", true, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; - case Right: + case JogYDown: velocity[0] = speed_increment_[0]; velocity[3] = 0; + device_->set_opc_value("::Manual:JogYDown", true, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; - case Up: + case JogXUp: velocity[2] = speed_increment_[2]; velocity[3] = 0; + device_->set_opc_value("::Manual:JogXUp", true, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; - case Down: + case JogXDown: velocity[2] = -1*speed_increment_[2]; velocity[3] = 0; + device_->set_opc_value("::Manual:JogXDown", true, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; - case Forward: + case JogZUp: velocity[1] = speed_increment_[1]; velocity[3] = 0; + device_->set_opc_value("::Manual:JogZUp", true, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; - case Back: + case JogZDown: velocity[1] = -1*speed_increment_[1]; velocity[3] = 0; + device_->set_opc_value("::Manual:JogZDown", true, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); break; - case Land: + case ToolOn: device_->land(); - is_busy_ = true; + //is_busy_ = true; break; + case ToolOff: default: break; } @@ -160,23 +251,30 @@ void Controller::send_command() { } void Controller::stop() { + device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); velocity_ = { 0, 0, 0, 0 }; stop_device_ = true; device_->send_rc_control(velocity_); } void Controller::put_info_on_frame_(cv::Mat* frame, double fps/*, TODO bool verbose*/) { - string battery_text("No battery info"); - if (battery_stat_ > 0) { - battery_text = std::to_string(battery_stat_) + "%"; - } - cv::putText(*frame, battery_text, cv::Point(20, 100), 1, 2, cv::Scalar(0, 255, 255), 2); - - cv::putText(*frame, std::to_string((int)fps)+" fps", cv::Point(20, 50), 1, 2, cv::Scalar(0, 255, 255), 2); + cv::putText(*frame, "ServoOK: "+std::to_string(servoOk), cv::Point(20, 100), 1, 1, cv::Scalar(0, 0, 0), 2); + //std::lock_guard lock(modeMutex); + cv::putText(*frame, "Mode: " + modeText, cv::Point(20, 120), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "PosX: " + std::to_string(RobotPos[0].load()), cv::Point(20, 200), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "PosY: " + std::to_string(RobotPos[1].load()), cv::Point(20, 220), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "PosZ: " + std::to_string(RobotPos[2].load()), cv::Point(20, 240), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, std::to_string((int)fps)+" fps", cv::Point(20, 80), 1, 2, cv::Scalar(0, 0, 0), 2); } void Buffer::add(class_id_t class_id) { + //std::cout << buffer_.size() << " " << class_id << std::endl; buffer_.at(class_id)++; } diff --git a/src/device.cpp b/src/device.cpp index 5cccd42..aba0b34 100755 --- a/src/device.cpp +++ b/src/device.cpp @@ -2,12 +2,11 @@ using std::vector; using std::string; - +// const char Device::STREAM_URL_[] = "udp://0.0.0.0:11111"; void Device::send_rc_control(const velocity_vector_ms_t& vel) { logger_->info("rc {} {} {} {}", vel.at(0), vel.at(1), vel.at(2), vel.at(3)); - // TODO } void Device::land() { @@ -16,21 +15,30 @@ void Device::land() { } int Device::get_battery() { - logger_->info("Battery: {}%", 100); + //logger_->info("Battery: {}%", 100); return 100; // TODO } cv::VideoCapture Device::get_video_stream(int camera_id) { - cv::VideoCapture cap; + if (simulate_) { - cap = cv::VideoCapture(camera_id); + logger_->info("Opening stream {}", camera_id); + //while (true) { + // if (cap.open(camera_id++)) { + // logger_->info("Opened {}", camera_id); + // } + //} + cap = cv::VideoCapture(camera_id, cv::CAP_MSMF); + logger_->info(cap.getBackendName()); } else { + logger_->info("Opening stream... {}", STREAM_URL_); cap = cv::VideoCapture(STREAM_URL_, cv::CAP_FFMPEG); } if (!cap.isOpened()) { logger_->error("Unable to get video stream"); // TODO handle error } + logger_->info("Done"); return cap; } \ No newline at end of file diff --git a/src/face_detection.cpp b/src/face_detection.cpp index 1a2e87d..6fc4ad4 100755 --- a/src/face_detection.cpp +++ b/src/face_detection.cpp @@ -14,7 +14,7 @@ FaceDetector::FaceDetector(const std::string& detector_path) { if (!logger_) { logger_ = spdlog::stdout_color_mt(name); } - logger_->set_level(spdlog::level::info); + //logger_->set_level(spdlog::level::info); detector_ = cv::CascadeClassifier(); string detector_name = cv::samples::findFileOrKeep(detector_path); @@ -27,6 +27,8 @@ FaceDetector::FaceDetector(const std::string& detector_path) { DetectionResult FaceDetector::detect(const image_t &image) { + auto start = std::chrono::high_resolution_clock::now(); + vector faces; image_t gray; cv::cvtColor(image, gray, cv::COLOR_RGBA2GRAY, 0); @@ -45,7 +47,8 @@ DetectionResult FaceDetector::detect(const image_t &image) { DetectionResult detection = DetectionResult(max_face, score); rescale_box(detection.box, detection.box, scale_); - logger_->debug("Detected face: {:03.1f}% at ({} {} {} {})", score*100, max_face.x, max_face.y, max_face.x+max_face.width, max_face.y+max_face.height); + auto stop = std::chrono::high_resolution_clock::now(); + logger_->debug("Detected face: {:03.1f}% at ({} {} {} {}) duration: {}", score*100, max_face.x, max_face.y, max_face.x+max_face.width, max_face.y+max_face.height, std::chrono::duration_cast(stop - start).count()); return detection; } diff --git a/src/gesture_detection.cpp b/src/gesture_detection.cpp index 60c9c92..2d13bf0 100755 --- a/src/gesture_detection.cpp +++ b/src/gesture_detection.cpp @@ -5,14 +5,14 @@ using cv::dnn::Net; using std::string; std::map gesture_map = { - { 1, "Left"}, - { 2, "Right"}, - { 3, "Up"}, - { 4, "Down"}, - { 5, "Forward"}, - { 6, "Back"}, + { 1, "JogXUp"}, + { 2, "JogXDown"}, + { 3, "JogYUp"}, + { 4, "JogYDown"}, + { 5, "JogZUp"}, + { 6, "JogZDown"}, { 7, "Stop"}, - { 8, "Land"}, + { 8, "ToolOn"}, }; GestureDetector::GestureDetector(const string &detector_path) { @@ -21,12 +21,14 @@ GestureDetector::GestureDetector(const string &detector_path) { if (!logger_) { logger_ = spdlog::stdout_color_mt(name); } - logger_->set_level(spdlog::level::debug); + //logger_->set_level(spdlog::level::debug); detector_ = cv::dnn::readNet(detector_path); } ClassifierOutput GestureDetector::detect(const image_t& img) { + auto start = std::chrono::high_resolution_clock::now(); + cv::Mat blob = preprocess_image(img); detector_.setInput(blob); std::vector outNames = detector_.getUnconnectedOutLayersNames(); @@ -39,10 +41,14 @@ ClassifierOutput GestureDetector::detect(const image_t& img) { score_t confidence_leading_hand; cv::Point classIdPoint_gesture; score_t confidence_gesture; + //for (auto& val : outs) { + // std::cout << val << std::endl; + //} + auto stop = std::chrono::high_resolution_clock::now(); cv::minMaxLoc(outs.at(1).reshape(1, 1), nullptr, &confidence_gesture, nullptr, &classIdPoint_gesture); - logger_->info("Gesture class: {} conf: {:.2f}", classIdPoint_gesture.x, confidence_gesture); + logger_->debug("Gesture class: {} conf: {:.2f} duration {}", classIdPoint_gesture.x, confidence_gesture, std::chrono::duration_cast(stop-start).count()); cv::minMaxLoc(outs.at(0).reshape(1, 1), nullptr, &confidence_leading_hand, nullptr, &classIdPoint_leading_hand); - logger_->info("Leading hand: {} conf: {:.2f}", classIdPoint_leading_hand.x, confidence_leading_hand); + logger_->debug("Leading hand: {} conf: {:.2f}", classIdPoint_leading_hand.x, confidence_leading_hand); ClassifierOutput classified_gesture = ClassifierOutput(confidence_gesture, classIdPoint_gesture.x); return classified_gesture; diff --git a/src/main.cpp b/src/main.cpp index ae27ce7..a307630 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,10 +6,18 @@ #include #include #include "spdlog/spdlog.h" -#include "controller.h" #include #include +#include "controller.h" + +extern "C" { +#include +#include + +} + + using std::cerr; using std::cout; using std::endl; @@ -18,22 +26,28 @@ using std::string; int main(int argc, char* argv[]) { - argparse::ArgumentParser parser("controller"); + + std::cout << "test" << std::endl; + + auto logger_ = spdlog::get("MAIN"); + + if (!logger_) { + logger_ = spdlog::stdout_color_mt("MAIN"); + } + logger_->set_level(spdlog::level::info); + + logger_->info("Parsing input arguments"); + + argparse::ArgumentParser parser("controller"); parser.add_argument("-v", "--verbose") .help("Display additional information during execution") .default_value(false) .implicit_value(true); parser.add_argument("--log-level") - .help("Choose logging level") - .default_value(string("DEBUG")) - .action([](const string& value) { - static const vector choices = { "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" }; - if (std::find(choices.begin(), choices.end(), value) != choices.end()) { - return value; - } - return string{ "DEBUG" }; - }); + .help("Choose logging level") + .scan<'d', int>() + .default_value(0); parser.add_argument("--save-video") .help("Save video feed to a specified file") @@ -49,34 +63,49 @@ int main(int argc, char* argv[]) { throw std::invalid_argument("Choose a valid mode option."); }); + parser.add_argument("--server-path") + .help("Save video feed to a specified file") + .default_value(string{"127.0.0.1:4840" }); + + parser.add_description("Control a drone with gestures."); + try { parser.parse_args(argc, argv); } catch (const std::runtime_error& err) { - cerr << err.what() << endl; - cerr << parser; - std::exit(1); + logger_->error(err.what()); + return EXIT_FAILURE; } // auto verbose = parser.get("--verbose"); - auto mode = parser.get("mode"); - auto log_level = parser.get("--log-level"); - auto video_filepath = parser.get("--save-video"); - parser.add_description("Control a drone with gestures."); + string mode = parser.get("mode"); + string server_addr = parser.get("--server-path"); + int log_level = parser.get("--log-level"); + string video_filepath = parser.get("--save-video"); + + spdlog::set_level(static_cast(log_level)); - spdlog::set_level(spdlog::level::debug); - Device device; - device.connect(); + logger_->info("Connecting to device"); + std::string opc_ua_server_name = "opc.tcp://" + server_addr; + Device device = Device{}; + if (device.connect(opc_ua_server_name) < 0) { + logger_->info("Program exited with status {}", EXIT_FAILURE); + return EXIT_FAILURE; + } device.streamon(); + //std::cout << cv::getBuildInformation() << std::endl; + std::string gesture_detector_path = "../resources/models/resnet18.onnx"; std::string face_detector_path = "../resources/models/haarcascade_frontalface_default.xml"; Controller controller = Controller(&device, true, face_detector_path, gesture_detector_path); - controller.run(100); + logger_->info("Running"); + controller.run(50); - return 0; + logger_->info("Program exited with status {}", EXIT_SUCCESS); + return EXIT_SUCCESS; } \ No newline at end of file diff --git a/src/open62541.c b/src/open62541.c new file mode 100644 index 0000000..bb44f14 --- /dev/null +++ b/src/open62541.c @@ -0,0 +1,272925 @@ +/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES + * visit http://open62541.org/ for information about this software + * Git-Revision: v1.4.12 + */ + +/* + * Copyright (C) 2014-2021 the contributors as stated in the AUTHORS file + * + * This file is part of open62541. open62541 is free software: you can + * redistribute it and/or modify it under the terms of the Mozilla Public + * License v2.0 as stated in the LICENSE file provided with open62541. + * + * open62541 is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. + */ + +#ifndef UA_DYNAMIC_LINKING_EXPORT +# define UA_DYNAMIC_LINKING_EXPORT +# define MDNSD_DYNAMIC_LINKING +#endif + +#define UA_INLINABLE_IMPL 1 + +/* Disable security warnings for BSD sockets on MSVC */ +#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) +# define _CRT_SECURE_NO_WARNINGS +#endif + +#include "open62541.h" + +/**** amalgamated original file "/arch/win32/ua_architecture.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + */ + +#ifdef UA_ARCHITECTURE_WIN32 + +#ifndef PLUGINS_ARCH_WIN32_UA_ARCHITECTURE_H_ +#define PLUGINS_ARCH_WIN32_UA_ARCHITECTURE_H_ + +/* Disable some security warnings on MSVC */ +#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) +# define _CRT_SECURE_NO_WARNINGS +#endif + + +#include +#include +#include +#include +#include +#include +#include + +#ifndef _SSIZE_T_DEFINED +typedef SSIZE_T ssize_t; +#endif + +#define UA_IPV6 1 +#define UA_SOCKET SOCKET +#define UA_INVALID_SOCKET INVALID_SOCKET +#define UA_ERRNO WSAGetLastError() +#define UA_INTERRUPTED WSAEINTR +#define UA_AGAIN EAGAIN /* the same as wouldblock on nearly every system */ +#define UA_INPROGRESS WSAEINPROGRESS +#define UA_WOULDBLOCK WSAEWOULDBLOCK +#define UA_POLLIN POLLRDNORM +#define UA_POLLOUT POLLWRNORM +#define UA_SHUT_RDWR SD_BOTH + +#define UA_getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) \ + getnameinfo(sa, (socklen_t)salen, host, (DWORD)hostlen, serv, (DWORD)servlen, flags) +#define UA_poll(fds,nfds,timeout) WSAPoll((LPWSAPOLLFD)fds, nfds, timeout) +#define UA_send(sockfd, buf, len, flags) send(sockfd, buf, (int)(len), flags) +#define UA_recv(sockfd, buf, len, flags) recv(sockfd, buf, (int)(len), flags) +#define UA_sendto(sockfd, buf, len, flags, dest_addr, addrlen) \ + sendto(sockfd, (const char*)(buf), (int)(len), flags, dest_addr, (int) (addrlen)) +#define UA_close closesocket +#define UA_select(nfds, readfds, writefds, exceptfds, timeout) \ + select((int)(nfds), readfds, writefds, exceptfds, timeout) +#define UA_connect(sockfd, addr, addrlen) connect(sockfd, addr, (int)(addrlen)) +#define UA_getsockopt(sockfd, level, optname, optval, optlen) \ + getsockopt(sockfd, level, optname, (char*) (optval), optlen) +#define UA_setsockopt(sockfd, level, optname, optval, optlen) \ + setsockopt(sockfd, level, optname, (const char*) (optval), optlen) +#define UA_inet_pton InetPton + +#if UA_IPV6 +# define UA_if_nametoindex if_nametoindex + +# include + +#endif + +#ifdef maxStringLength //defined in mingw64 +# undef maxStringLength +#endif + +#define UA_LOG_SOCKET_ERRNO_WRAP(LOG) { \ + char *errno_str = NULL; \ + FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, \ + NULL, WSAGetLastError(), \ + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), \ + (LPSTR)&errno_str, 0, NULL); \ + LOG; \ + LocalFree(errno_str); \ +} +#define UA_LOG_SOCKET_ERRNO_GAI_WRAP UA_LOG_SOCKET_ERRNO_WRAP + +/* Fix redefinition of SLIST_ENTRY on mingw winnt.h */ +#if !defined(_SYS_QUEUE_H_) && defined(SLIST_ENTRY) +# undef SLIST_ENTRY +#endif + +#endif /* PLUGINS_ARCH_WIN32_UA_ARCHITECTURE_H_ */ + +#endif /* UA_ARCHITECTURE_WIN32 */ + +/**** amalgamated original file "/arch/posix/ua_architecture.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + +#ifdef UA_ARCHITECTURE_POSIX + + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) +# include +# if defined(BSD) +# include +# endif +#endif + +#define UA_IPV6 1 +#define UA_SOCKET int +#define UA_INVALID_SOCKET -1 +#define UA_ERRNO errno +#define UA_INTERRUPTED EINTR +#define UA_AGAIN EAGAIN /* the same as wouldblock on nearly every system */ +#define UA_INPROGRESS EINPROGRESS +#define UA_WOULDBLOCK EWOULDBLOCK +#define UA_POLLIN POLLIN +#define UA_POLLOUT POLLOUT +#define UA_SHUT_RDWR SHUT_RDWR + +#define UA_getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) \ + getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) +#define UA_poll poll +#define UA_send send +#define UA_recv recv +#define UA_sendto sendto +#define UA_close close +#define UA_select select +#define UA_connect connect +#define UA_getsockopt getsockopt +#define UA_setsockopt setsockopt +#define UA_inet_pton inet_pton +#define UA_if_nametoindex if_nametoindex + +#define UA_clean_errno(STR_FUN) (errno == 0 ? (char*) "None" : (STR_FUN)(errno)) + +#define UA_LOG_SOCKET_ERRNO_WRAP(LOG) { \ + char *errno_str = UA_clean_errno(strerror); \ + LOG; \ + errno = 0; \ +} +#define UA_LOG_SOCKET_ERRNO_GAI_WRAP(LOG) { \ + const char *errno_str = UA_clean_errno(gai_strerror); \ + LOG; \ + errno = 0; \ +} + +#if defined(__APPLE__) && defined(_SYS_QUEUE_H_) +// in some compilers there's already a _SYS_QUEUE_H_ which is included first and doesn't +// have all functions + +#undef SLIST_HEAD +#undef SLIST_HEAD_INITIALIZER +#undef SLIST_ENTRY +#undef SLIST_FIRST +#undef SLIST_END +#undef SLIST_EMPTY +#undef SLIST_NEXT +#undef SLIST_FOREACH +#undef SLIST_FOREACH_SAFE +#undef SLIST_INIT +#undef SLIST_INSERT_AFTER +#undef SLIST_INSERT_HEAD +#undef SLIST_REMOVE_AFTER +#undef SLIST_REMOVE_HEAD +#undef SLIST_REMOVE +#undef LIST_HEAD +#undef LIST_HEAD_INITIALIZER +#undef LIST_ENTRY +#undef LIST_FIRST +#undef LIST_END +#undef LIST_EMPTY +#undef LIST_NEXT +#undef LIST_FOREACH +#undef LIST_FOREACH_SAFE +#undef LIST_INIT +#undef LIST_INSERT_AFTER +#undef LIST_INSERT_BEFORE +#undef LIST_INSERT_HEAD +#undef LIST_REMOVE +#undef LIST_REPLACE +#undef SIMPLEQ_HEAD +#undef SIMPLEQ_HEAD_INITIALIZER +#undef SIMPLEQ_ENTRY +#undef SIMPLEQ_FIRST +#undef SIMPLEQ_END +#undef SIMPLEQ_EMPTY +#undef SIMPLEQ_NEXT +#undef SIMPLEQ_FOREACH +#undef SIMPLEQ_FOREACH_SAFE +#undef SIMPLEQ_INIT +#undef SIMPLEQ_INSERT_HEAD +#undef SIMPLEQ_INSERT_TAIL +#undef SIMPLEQ_INSERT_AFTER +#undef SIMPLEQ_REMOVE_HEAD +#undef SIMPLEQ_REMOVE_AFTER +#undef XSIMPLEQ_HEAD +#undef XSIMPLEQ_ENTRY +#undef XSIMPLEQ_XOR +#undef XSIMPLEQ_FIRST +#undef XSIMPLEQ_END +#undef XSIMPLEQ_EMPTY +#undef XSIMPLEQ_NEXT +#undef XSIMPLEQ_FOREACH +#undef XSIMPLEQ_FOREACH_SAFE +#undef XSIMPLEQ_INIT +#undef XSIMPLEQ_INSERT_HEAD +#undef XSIMPLEQ_INSERT_TAIL +#undef XSIMPLEQ_INSERT_AFTER +#undef XSIMPLEQ_REMOVE_HEAD +#undef XSIMPLEQ_REMOVE_AFTER +#undef TAILQ_HEAD +#undef TAILQ_HEAD_INITIALIZER +#undef TAILQ_ENTRY +#undef TAILQ_FIRST +#undef TAILQ_END +#undef TAILQ_NEXT +#undef TAILQ_LAST +#undef TAILQ_PREV +#undef TAILQ_EMPTY +#undef TAILQ_FOREACH +#undef TAILQ_FOREACH_SAFE +#undef TAILQ_FOREACH_REVERSE +#undef TAILQ_FOREACH_REVERSE_SAFE +#undef TAILQ_INIT +#undef TAILQ_INSERT_HEAD +#undef TAILQ_INSERT_TAIL +#undef TAILQ_INSERT_AFTER +#undef TAILQ_INSERT_BEFORE +#undef TAILQ_REMOVE +#undef TAILQ_REPLACE +#undef CIRCLEQ_HEAD +#undef CIRCLEQ_HEAD_INITIALIZER +#undef CIRCLEQ_ENTRY +#undef CIRCLEQ_FIRST +#undef CIRCLEQ_LAST +#undef CIRCLEQ_END +#undef CIRCLEQ_NEXT +#undef CIRCLEQ_PREV +#undef CIRCLEQ_EMPTY +#undef CIRCLEQ_FOREACH +#undef CIRCLEQ_FOREACH_SAFE +#undef CIRCLEQ_FOREACH_REVERSE +#undef CIRCLEQ_FOREACH_REVERSE_SAFE +#undef CIRCLEQ_INIT +#undef CIRCLEQ_INSERT_AFTER +#undef CIRCLEQ_INSERT_BEFORE +#undef CIRCLEQ_INSERT_HEAD +#undef CIRCLEQ_INSERT_TAIL +#undef CIRCLEQ_REMOVE +#undef CIRCLEQ_REPLACE + +#undef _SYS_QUEUE_H_ + +#endif /* defined(__APPLE__) && defined(_SYS_QUEUE_H_) */ + + +#endif /* UA_ARCHITECTURE_POSIX */ + +/**** amalgamated original file "/deps/open62541_queue.h" ****/ + +/* $OpenBSD: queue.h,v 1.38 2013/07/03 15:05:21 fgsch Exp $ */ +/* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */ + +/* + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)queue.h 8.5 (Berkeley) 8/20/94 + */ + + +/* + * This file defines five types of data structures: singly-linked lists, + * lists, simple queues, tail queues, and circular queues. + * + * + * A singly-linked list is headed by a single forward pointer. The elements + * are singly linked for minimum space and pointer manipulation overhead at + * the expense of O(n) removal for arbitrary elements. New elements can be + * added to the list after an existing element or at the head of the list. + * Elements being removed from the head of the list should use the explicit + * macro for this purpose for optimum efficiency. A singly-linked list may + * only be traversed in the forward direction. Singly-linked lists are ideal + * for applications with large datasets and few or no removals or for + * implementing a LIFO queue. + * + * A list is headed by a single forward pointer (or an array of forward + * pointers for a hash table header). The elements are doubly linked + * so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before + * or after an existing element or at the head of the list. A list + * may only be traversed in the forward direction. + * + * A simple queue is headed by a pair of pointers, one the head of the + * list and the other to the tail of the list. The elements are singly + * linked to save space, so elements can only be removed from the + * head of the list. New elements can be added to the list before or after + * an existing element, at the head of the list, or at the end of the + * list. A simple queue may only be traversed in the forward direction. + * + * A tail queue is headed by a pair of pointers, one to the head of the + * list and the other to the tail of the list. The elements are doubly + * linked so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before or + * after an existing element, at the head of the list, or at the end of + * the list. A tail queue may be traversed in either direction. + * + * A circle queue is headed by a pair of pointers, one to the head of the + * list and the other to the tail of the list. The elements are doubly + * linked so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before or after + * an existing element, at the head of the list, or at the end of the list. + * A circle queue may be traversed in either direction, but has a more + * complex end of list detection. + * + * For details on the use of these macros, see the queue(3) manual page. + */ + +#if defined(QUEUE_MACRO_DEBUG) || (defined(_KERNEL) && defined(DIAGNOSTIC)) +#define _Q_INVALIDATE(a) (a) = ((void *)-1) +#else +#define _Q_INVALIDATE(a) +#endif + +/* + * Singly-linked List definitions. + */ +#define SLIST_HEAD(name, type) \ +struct name { \ + struct type *slh_first; /* first element */ \ +} + +#define SLIST_HEAD_INITIALIZER(head) \ + { NULL } + +#define SLIST_ENTRY(type) \ +struct { \ + struct type *sle_next; /* next element */ \ +} + +/* + * Singly-linked List access methods. + */ +#define SLIST_FIRST(head) ((head)->slh_first) +#define SLIST_END(head) NULL +#define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head)) +#define SLIST_NEXT(elm, field) ((elm)->field.sle_next) + +#define SLIST_FOREACH(var, head, field) \ + for((var) = SLIST_FIRST(head); \ + (var) != SLIST_END(head); \ + (var) = SLIST_NEXT(var, field)) + +#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = SLIST_FIRST(head); \ + (var) && ((tvar) = SLIST_NEXT(var, field), 1); \ + (var) = (tvar)) + +/* + * Singly-linked List functions. + */ +#define SLIST_INIT(head) do { \ + SLIST_FIRST(head) = SLIST_END(head); \ +} while(0) + +#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ + (elm)->field.sle_next = (slistelm)->field.sle_next; \ + (slistelm)->field.sle_next = (elm); \ +} while (0) + +#define SLIST_INSERT_HEAD(head, elm, field) do { \ + (elm)->field.sle_next = (head)->slh_first; \ + (head)->slh_first = (elm); \ +} while (0) + +#define SLIST_REMOVE_AFTER(elm, field) do { \ + (elm)->field.sle_next = (elm)->field.sle_next->field.sle_next; \ +} while (0) + +#define SLIST_REMOVE_HEAD(head, field) do { \ + (head)->slh_first = (head)->slh_first->field.sle_next; \ +} while (0) + +#define SLIST_REMOVE(head, elm, type, field) do { \ + if ((head)->slh_first == (elm)) { \ + SLIST_REMOVE_HEAD((head), field); \ + } else { \ + struct type *curelm = (head)->slh_first; \ + \ + while (curelm->field.sle_next != (elm)) \ + curelm = curelm->field.sle_next; \ + curelm->field.sle_next = \ + curelm->field.sle_next->field.sle_next; \ + _Q_INVALIDATE((elm)->field.sle_next); \ + } \ +} while (0) + +/* + * List definitions. + */ +#define LIST_HEAD(name, type) \ +struct name { \ + struct type *lh_first; /* first element */ \ +} + +#define LIST_HEAD_INITIALIZER(head) \ + { NULL } + +#define LIST_ENTRY(type) \ +struct { \ + struct type *le_next; /* next element */ \ + struct type **le_prev; /* address of previous next element */ \ +} + +/* + * List access methods + */ +#define LIST_FIRST(head) ((head)->lh_first) +#define LIST_END(head) NULL +#define LIST_EMPTY(head) (LIST_FIRST(head) == LIST_END(head)) +#define LIST_NEXT(elm, field) ((elm)->field.le_next) + +#define LIST_FOREACH(var, head, field) \ + for((var) = LIST_FIRST(head); \ + (var)!= LIST_END(head); \ + (var) = LIST_NEXT(var, field)) + +#define LIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = LIST_FIRST(head); \ + (var) && ((tvar) = LIST_NEXT(var, field), 1); \ + (var) = (tvar)) + +/* + * List functions. + */ +#define LIST_INIT(head) do { \ + LIST_FIRST(head) = LIST_END(head); \ +} while (0) + +#define LIST_INSERT_AFTER(listelm, elm, field) do { \ + if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ + (listelm)->field.le_next->field.le_prev = \ + &(elm)->field.le_next; \ + (listelm)->field.le_next = (elm); \ + (elm)->field.le_prev = &(listelm)->field.le_next; \ +} while (0) + +#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ + (elm)->field.le_prev = (listelm)->field.le_prev; \ + (elm)->field.le_next = (listelm); \ + *(listelm)->field.le_prev = (elm); \ + (listelm)->field.le_prev = &(elm)->field.le_next; \ +} while (0) + +#define LIST_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.le_next = (head)->lh_first) != NULL) \ + (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ + (head)->lh_first = (elm); \ + (elm)->field.le_prev = &(head)->lh_first; \ +} while (0) + +#define LIST_REMOVE(elm, field) do { \ + if ((elm)->field.le_next != NULL) \ + (elm)->field.le_next->field.le_prev = \ + (elm)->field.le_prev; \ + *(elm)->field.le_prev = (elm)->field.le_next; \ + _Q_INVALIDATE((elm)->field.le_prev); \ + _Q_INVALIDATE((elm)->field.le_next); \ +} while (0) + +#define LIST_REPLACE(elm, elm2, field) do { \ + if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \ + (elm2)->field.le_next->field.le_prev = \ + &(elm2)->field.le_next; \ + (elm2)->field.le_prev = (elm)->field.le_prev; \ + *(elm2)->field.le_prev = (elm2); \ + _Q_INVALIDATE((elm)->field.le_prev); \ + _Q_INVALIDATE((elm)->field.le_next); \ +} while (0) + +/* + * Simple queue definitions. + */ +#define SIMPLEQ_HEAD(name, type) \ +struct name { \ + struct type *sqh_first; /* first element */ \ + struct type **sqh_last; /* addr of last next element */ \ +} + +#define SIMPLEQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).sqh_first } + +#define SIMPLEQ_ENTRY(type) \ +struct { \ + struct type *sqe_next; /* next element */ \ +} + +/* + * Simple queue access methods. + */ +#define SIMPLEQ_FIRST(head) ((head)->sqh_first) +#define SIMPLEQ_END(head) NULL +#define SIMPLEQ_EMPTY(head) (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head)) +#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) + +#define SIMPLEQ_FOREACH(var, head, field) \ + for((var) = SIMPLEQ_FIRST(head); \ + (var) != SIMPLEQ_END(head); \ + (var) = SIMPLEQ_NEXT(var, field)) + +#define SIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = SIMPLEQ_FIRST(head); \ + (var) && ((tvar) = SIMPLEQ_NEXT(var, field), 1); \ + (var) = (tvar)) + +/* + * Simple queue functions. + */ +#define SIMPLEQ_INIT(head) do { \ + (head)->sqh_first = NULL; \ + (head)->sqh_last = &(head)->sqh_first; \ +} while (0) + +#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ + (head)->sqh_last = &(elm)->field.sqe_next; \ + (head)->sqh_first = (elm); \ +} while (0) + +#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.sqe_next = NULL; \ + *(head)->sqh_last = (elm); \ + (head)->sqh_last = &(elm)->field.sqe_next; \ +} while (0) + +#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ + (head)->sqh_last = &(elm)->field.sqe_next; \ + (listelm)->field.sqe_next = (elm); \ +} while (0) + +#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ + if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ + (head)->sqh_last = &(head)->sqh_first; \ +} while (0) + +#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do { \ + if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \ + == NULL) \ + (head)->sqh_last = &(elm)->field.sqe_next; \ +} while (0) + +/* + * XOR Simple queue definitions. + */ +#define XSIMPLEQ_HEAD(name, type) \ +struct name { \ + struct type *sqx_first; /* first element */ \ + struct type **sqx_last; /* addr of last next element */ \ + unsigned long sqx_cookie; \ +} + +#define XSIMPLEQ_ENTRY(type) \ +struct { \ + struct type *sqx_next; /* next element */ \ +} + +/* + * XOR Simple queue access methods. + */ +#define XSIMPLEQ_XOR(head, ptr) ((__typeof(ptr))((head)->sqx_cookie ^ \ + (unsigned long)(ptr))) +#define XSIMPLEQ_FIRST(head) XSIMPLEQ_XOR(head, ((head)->sqx_first)) +#define XSIMPLEQ_END(head) NULL +#define XSIMPLEQ_EMPTY(head) (XSIMPLEQ_FIRST(head) == XSIMPLEQ_END(head)) +#define XSIMPLEQ_NEXT(head, elm, field) XSIMPLEQ_XOR(head, ((elm)->field.sqx_next)) + + +#define XSIMPLEQ_FOREACH(var, head, field) \ + for ((var) = XSIMPLEQ_FIRST(head); \ + (var) != XSIMPLEQ_END(head); \ + (var) = XSIMPLEQ_NEXT(head, var, field)) + +#define XSIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = XSIMPLEQ_FIRST(head); \ + (var) && ((tvar) = XSIMPLEQ_NEXT(head, var, field), 1); \ + (var) = (tvar)) + +/* + * XOR Simple queue functions. + */ +#define XSIMPLEQ_INIT(head) do { \ + arc4random_buf(&(head)->sqx_cookie, sizeof((head)->sqx_cookie)); \ + (head)->sqx_first = XSIMPLEQ_XOR(head, NULL); \ + (head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \ +} while (0) + +#define XSIMPLEQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.sqx_next = (head)->sqx_first) == \ + XSIMPLEQ_XOR(head, NULL)) \ + (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ + (head)->sqx_first = XSIMPLEQ_XOR(head, (elm)); \ +} while (0) + +#define XSIMPLEQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.sqx_next = XSIMPLEQ_XOR(head, NULL); \ + *(XSIMPLEQ_XOR(head, (head)->sqx_last)) = XSIMPLEQ_XOR(head, (elm)); \ + (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ +} while (0) + +#define XSIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.sqx_next = (listelm)->field.sqx_next) == \ + XSIMPLEQ_XOR(head, NULL)) \ + (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ + (listelm)->field.sqx_next = XSIMPLEQ_XOR(head, (elm)); \ +} while (0) + +#define XSIMPLEQ_REMOVE_HEAD(head, field) do { \ + if (((head)->sqx_first = XSIMPLEQ_XOR(head, \ + (head)->sqx_first)->field.sqx_next) == XSIMPLEQ_XOR(head, NULL)) \ + (head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \ +} while (0) + +#define XSIMPLEQ_REMOVE_AFTER(head, elm, field) do { \ + if (((elm)->field.sqx_next = XSIMPLEQ_XOR(head, \ + (elm)->field.sqx_next)->field.sqx_next) \ + == XSIMPLEQ_XOR(head, NULL)) \ + (head)->sqx_last = \ + XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ +} while (0) + + +/* + * Tail queue definitions. + */ +#define TAILQ_HEAD(name, type) \ +struct name { \ + struct type *tqh_first; /* first element */ \ + struct type **tqh_last; /* addr of last next element */ \ +} + +#define TAILQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).tqh_first } + +#define TAILQ_ENTRY(type) \ +struct { \ + struct type *tqe_next; /* next element */ \ + struct type **tqe_prev; /* address of previous next element */ \ +} + +/* + * tail queue access methods + */ +#define TAILQ_FIRST(head) ((head)->tqh_first) +#define TAILQ_END(head) NULL +#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) +#define TAILQ_LAST(head, headname) \ + (*(((struct headname *)((head)->tqh_last))->tqh_last)) +/* XXX */ +#define TAILQ_PREV(elm, headname, field) \ + (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) +#define TAILQ_EMPTY(head) \ + (TAILQ_FIRST(head) == TAILQ_END(head)) + +#define TAILQ_FOREACH(var, head, field) \ + for((var) = TAILQ_FIRST(head); \ + (var) != TAILQ_END(head); \ + (var) = TAILQ_NEXT(var, field)) + +#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = TAILQ_FIRST(head); \ + (var) != TAILQ_END(head) && \ + ((tvar) = TAILQ_NEXT(var, field), 1); \ + (var) = (tvar)) + + +#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ + for((var) = TAILQ_LAST(head, headname); \ + (var) != TAILQ_END(head); \ + (var) = TAILQ_PREV(var, headname, field)) + +#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ + for ((var) = TAILQ_LAST(head, headname); \ + (var) != TAILQ_END(head) && \ + ((tvar) = TAILQ_PREV(var, headname, field), 1); \ + (var) = (tvar)) + +/* + * Tail queue functions. + */ +#define TAILQ_INIT(head) do { \ + (head)->tqh_first = NULL; \ + (head)->tqh_last = &(head)->tqh_first; \ +} while (0) + +#define TAILQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ + (head)->tqh_first->field.tqe_prev = \ + &(elm)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm)->field.tqe_next; \ + (head)->tqh_first = (elm); \ + (elm)->field.tqe_prev = &(head)->tqh_first; \ +} while (0) + +#define TAILQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.tqe_next = NULL; \ + (elm)->field.tqe_prev = (head)->tqh_last; \ + *(head)->tqh_last = (elm); \ + (head)->tqh_last = &(elm)->field.tqe_next; \ +} while (0) + +#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ + (elm)->field.tqe_next->field.tqe_prev = \ + &(elm)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm)->field.tqe_next; \ + (listelm)->field.tqe_next = (elm); \ + (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ +} while (0) + +#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ + (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ + (elm)->field.tqe_next = (listelm); \ + *(listelm)->field.tqe_prev = (elm); \ + (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ +} while (0) + +#define TAILQ_REMOVE(head, elm, field) do { \ + if (((elm)->field.tqe_next) != NULL) \ + (elm)->field.tqe_next->field.tqe_prev = \ + (elm)->field.tqe_prev; \ + else \ + (head)->tqh_last = (elm)->field.tqe_prev; \ + *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ + _Q_INVALIDATE((elm)->field.tqe_prev); \ + _Q_INVALIDATE((elm)->field.tqe_next); \ +} while (0) + +#define TAILQ_REPLACE(head, elm, elm2, field) do { \ + if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL) \ + (elm2)->field.tqe_next->field.tqe_prev = \ + &(elm2)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm2)->field.tqe_next; \ + (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \ + *(elm2)->field.tqe_prev = (elm2); \ + _Q_INVALIDATE((elm)->field.tqe_prev); \ + _Q_INVALIDATE((elm)->field.tqe_next); \ +} while (0) + +/* + * Circular queue definitions. + */ +#define CIRCLEQ_HEAD(name, type) \ +struct name { \ + struct type *cqh_first; /* first element */ \ + struct type *cqh_last; /* last element */ \ +} + +#define CIRCLEQ_HEAD_INITIALIZER(head) \ + { CIRCLEQ_END(&head), CIRCLEQ_END(&head) } + +#define CIRCLEQ_ENTRY(type) \ +struct { \ + struct type *cqe_next; /* next element */ \ + struct type *cqe_prev; /* previous element */ \ +} + +/* + * Circular queue access methods + */ +#define CIRCLEQ_FIRST(head) ((head)->cqh_first) +#define CIRCLEQ_LAST(head) ((head)->cqh_last) +#define CIRCLEQ_END(head) ((void *)(head)) +#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) +#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) +#define CIRCLEQ_EMPTY(head) \ + (CIRCLEQ_FIRST(head) == CIRCLEQ_END(head)) + +#define CIRCLEQ_FOREACH(var, head, field) \ + for((var) = CIRCLEQ_FIRST(head); \ + (var) != CIRCLEQ_END(head); \ + (var) = CIRCLEQ_NEXT(var, field)) + +#define CIRCLEQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = CIRCLEQ_FIRST(head); \ + (var) != CIRCLEQ_END(head) && \ + ((tvar) = CIRCLEQ_NEXT(var, field), 1); \ + (var) = (tvar)) + +#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ + for((var) = CIRCLEQ_LAST(head); \ + (var) != CIRCLEQ_END(head); \ + (var) = CIRCLEQ_PREV(var, field)) + +#define CIRCLEQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ + for ((var) = CIRCLEQ_LAST(head, headname); \ + (var) != CIRCLEQ_END(head) && \ + ((tvar) = CIRCLEQ_PREV(var, headname, field), 1); \ + (var) = (tvar)) + +/* + * Circular queue functions. + */ +#define CIRCLEQ_INIT(head) do { \ + (head)->cqh_first = CIRCLEQ_END(head); \ + (head)->cqh_last = CIRCLEQ_END(head); \ +} while (0) + +#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + (elm)->field.cqe_next = (listelm)->field.cqe_next; \ + (elm)->field.cqe_prev = (listelm); \ + if ((listelm)->field.cqe_next == CIRCLEQ_END(head)) \ + (head)->cqh_last = (elm); \ + else \ + (listelm)->field.cqe_next->field.cqe_prev = (elm); \ + (listelm)->field.cqe_next = (elm); \ +} while (0) + +#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ + (elm)->field.cqe_next = (listelm); \ + (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ + if ((listelm)->field.cqe_prev == CIRCLEQ_END(head)) \ + (head)->cqh_first = (elm); \ + else \ + (listelm)->field.cqe_prev->field.cqe_next = (elm); \ + (listelm)->field.cqe_prev = (elm); \ +} while (0) + +#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ + (elm)->field.cqe_next = (head)->cqh_first; \ + (elm)->field.cqe_prev = CIRCLEQ_END(head); \ + if ((head)->cqh_last == CIRCLEQ_END(head)) \ + (head)->cqh_last = (elm); \ + else \ + (head)->cqh_first->field.cqe_prev = (elm); \ + (head)->cqh_first = (elm); \ +} while (0) + +#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.cqe_next = CIRCLEQ_END(head); \ + (elm)->field.cqe_prev = (head)->cqh_last; \ + if ((head)->cqh_first == CIRCLEQ_END(head)) \ + (head)->cqh_first = (elm); \ + else \ + (head)->cqh_last->field.cqe_next = (elm); \ + (head)->cqh_last = (elm); \ +} while (0) + +#define CIRCLEQ_REMOVE(head, elm, field) do { \ + if ((elm)->field.cqe_next == CIRCLEQ_END(head)) \ + (head)->cqh_last = (elm)->field.cqe_prev; \ + else \ + (elm)->field.cqe_next->field.cqe_prev = \ + (elm)->field.cqe_prev; \ + if ((elm)->field.cqe_prev == CIRCLEQ_END(head)) \ + (head)->cqh_first = (elm)->field.cqe_next; \ + else \ + (elm)->field.cqe_prev->field.cqe_next = \ + (elm)->field.cqe_next; \ + _Q_INVALIDATE((elm)->field.cqe_prev); \ + _Q_INVALIDATE((elm)->field.cqe_next); \ +} while (0) + +#define CIRCLEQ_REPLACE(head, elm, elm2, field) do { \ + if (((elm2)->field.cqe_next = (elm)->field.cqe_next) == \ + CIRCLEQ_END(head)) \ + (head)->cqh_last = (elm2); \ + else \ + (elm2)->field.cqe_next->field.cqe_prev = (elm2); \ + if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \ + CIRCLEQ_END(head)) \ + (head)->cqh_first = (elm2); \ + else \ + (elm2)->field.cqe_prev->field.cqe_next = (elm2); \ + _Q_INVALIDATE((elm)->field.cqe_prev); \ + _Q_INVALIDATE((elm)->field.cqe_next); \ +} while (0) + + +/**** amalgamated original file "/deps/pcg_basic.h" ****/ + +/* + * PCG Random Number Generation for C. + * + * Copyright 2014 Melissa O'Neill + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * For additional information about the PCG random number generation scheme, + * including its license and other licensing options, visit + * + * http://www.pcg-random.org + */ + + +#if defined(UNDER_CE) || !defined(_MSC_VER) || _MSC_VER >= 1800 +# include +#else +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct pcg_state_setseq_64 { + uint64_t state; /* RNG state. All values are possible. */ + uint64_t inc; /* Controls which RNG sequence (stream) is selected. Must + * *always* be odd. */ +} pcg32_random_t; + +#define PCG32_INITIALIZER { 0x853c49e6748fea9bULL, 0xda3e39cb94b95bdbULL } + +void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initial_state, uint64_t initseq); +uint32_t pcg32_random_r(pcg32_random_t* rng); + +#ifdef __cplusplus +} +#endif + + +/**** amalgamated original file "/deps/libc_time.h" ****/ + + +struct musl_tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + /* int tm_isdst; */ + /* long __tm_gmtoff; */ + /* const char *__tm_zone; */ +}; + +int musl_secs_to_tm(long long t, struct musl_tm *tm); +long long musl_tm_to_secs(const struct musl_tm *tm); + + +/**** amalgamated original file "/deps/base64.h" ****/ + +#ifndef UA_BASE64_H_ +#define UA_BASE64_H_ + + +_UA_BEGIN_DECLS + +#include + +/** + * base64_encode - Base64 encode + * @src: Data to be encoded + * @len: Length of the data to be encoded + * @out_len: Pointer to output length variable + * Returns: Allocated buffer of out_len bytes of encoded data, + * or %NULL on failure. The output is NOT Null-terminated. */ +unsigned char * +UA_base64(const unsigned char *src, size_t len, size_t *out_len); + +/* Requires as input a buffer of length at least 4*((len + 2) / 3). + * Returns the actual size */ +size_t +UA_base64_buf(const unsigned char *src, size_t len, unsigned char *out); + +/** + * base64_decode - Base64 decode + * @src: Data to be decoded + * @len: Length of the data to be decoded + * @out_len: Pointer to output length variable + * Returns: Allocated buffer of out_len bytes of decoded data, + * or %NULL on failure. */ +unsigned char * +UA_unbase64(const unsigned char *src, size_t len, size_t *out_len); + +_UA_END_DECLS + +#endif /* UA_BASE64_H_ */ + +/**** amalgamated original file "/deps/dtoa.h" ****/ + +// Copyright 2013, Andreas Samoljuk +// Copyright 2023, Julius Pfrommer +// +// Boost Software License - Version 1.0 - August 17th, 2003 +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +#ifndef DTOA_H +#define DTOA_H + +#ifdef __cplusplus +extern "C" { +#endif + +// Prints a double-value as a readable string. The buffer must be at least 24 +// chars wide. Returns the number of printed characters. Does not +// null-terminate. +unsigned dtoa(double d, char* buffer); + +#ifdef __cplusplus +} +#endif + +#endif // DTOA_H + +/**** amalgamated original file "/deps/mp_printf.h" ****/ + +/** + * @author (c) Eyal Rozenberg + * 2021-2023, Haifa, Palestine/Israel + * @author (c) Marco Paland (info@paland.com) + * 2014-2019, PALANDesign Hannover, Germany + * + * @note Others have made smaller contributions to this file: see the + * contributors page at https://github.com/eyalroz/printf/graphs/contributors + * or ask one of the authors. + * + * @brief Small stand-alone implementation of the printf family of functions + * (`(v)printf`, `(v)s(n)printf` etc., geared towards use on embedded systems with + * a very limited resources. + * + * @note the implementations are thread-safe; re-entrant; use no functions from + * the standard library; and do not dynamically allocate any memory. + * + * @license The MIT License (MIT) + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MP_PRINTF_H +#define MP_PRINTF_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __GNUC__ +# if ((__GNUC__ == 4 && __GNUC_MINOR__>= 4) || __GNUC__ > 4) +# define ATTR_PRINTF(one_based_format_index, first_arg) \ +__attribute__((format(gnu_printf, (one_based_format_index), (first_arg)))) +# else +# define ATTR_PRINTF(one_based_format_index, first_arg) \ +__attribute__((format(printf, (one_based_format_index), (first_arg)))) +# endif +# define ATTR_VPRINTF(one_based_format_index) ATTR_PRINTF((one_based_format_index), 0) +#else +# define ATTR_PRINTF(one_based_format_index, first_arg) +# define ATTR_VPRINTF(one_based_format_index) +#endif + +/** + * An implementation of the C standard's snprintf/vsnprintf + * + * @param s An array in which to store the formatted string. It must be large + * enough to fit either the entire formatted output, or at least @p n + * characters. Alternatively, it can be NULL, in which case nothing will be + * printed, and only the number of characters which _could_ have been printed is + * tallied and returned. + * @param n The maximum number of characters to write to the array, including a + * terminating null character + * @param format A string specifying the format of the output, with %-marked + * specifiers of how to interpret additional arguments. + * @param arg Additional arguments to the function, one for each specifier in @p + * format + * @return The number of characters that COULD have been written into @p s, not + * counting the terminating null character. A value equal or larger than @p n + * indicates truncation. Only when the returned value is non-negative and less + * than @p n, the null-terminated string has been fully and successfully + * printed. + */ +int mp_snprintf(char* s, size_t count, const char* format, ...) ATTR_PRINTF(3, 4); +int mp_vsnprintf(char* s, size_t count, const char* format, va_list arg) ATTR_VPRINTF(3); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // MP_PRINTF_H + +/**** amalgamated original file "/deps/itoa.h" ****/ + +/* + * Copyright 2017 Techie Delight + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef ITOA_H +#define ITOA_H + +#ifdef __cplusplus +extern "C" { +#endif + + +UA_UInt16 itoaUnsigned(UA_UInt64 value, char* buffer, UA_Byte base); +UA_UInt16 itoaSigned(UA_Int64 value, char* buffer); + +#ifdef __cplusplus +} +#endif + +#endif /* ITOA_H */ + + +/**** amalgamated original file "/deps/ziptree.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018, 2021-2022 (c) Julius Pfrommer + */ + + +#include + +#ifdef _MSC_VER +# define ZIP_INLINE __inline +#else +# define ZIP_INLINE inline +#endif + +#if defined(__GNUC__) || defined(__clang__) +# define ZIP_UNUSED __attribute__((unused)) +#else +# define ZIP_UNUSED +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Reusable zip tree implementation. The style is inspired by the BSD + * sys/queue.h linked list definition. + * + * Zip trees were developed in: Tarjan, R. E., Levy, C. C., and Timmel, S. "Zip + * Trees." arXiv preprint arXiv:1806.06726 (2018). The original definition was + * modified in two ways: + * + * - Multiple elements with the same key can be inserted. These appear adjacent + * in the tree. ZIP_FIND will return the topmost of these elements. + * - The pointer-value of the elements are used as the rank. This simplifies the + * code and is (empirically) faster. + * + * The ZIP_ENTRY definitions are to be contained in the tree entries themselves. + * Use ZIP_FUNCTIONS to define the signature of the zip tree functions. */ + +#define ZIP_HEAD(name, type) \ +struct name { \ + struct type *root; \ +} + +#define ZIP_ENTRY(type) \ +struct { \ + struct type *left; \ + struct type *right; \ +} + +enum ZIP_CMP { + ZIP_CMP_LESS = -1, + ZIP_CMP_EQ = 0, + ZIP_CMP_MORE = 1 +}; + +/* The comparison method "cmp" for a zip tree has the signature. + * Provide this to the ZIP_FUNCTIONS macro. + * + * enum ZIP_CMP cmpMethod(const keytype *a, const keytype *b); + */ +typedef enum ZIP_CMP (*zip_cmp_cb)(const void *key1, const void *key2); + +#define ZIP_INIT(head) do { (head)->root = NULL; } while (0) +#define ZIP_ROOT(head) (head)->root +#define ZIP_LEFT(elm, field) (elm)->field.left +#define ZIP_RIGHT(elm, field) (elm)->field.right +#define ZIP_INSERT(name, head, elm) name##_ZIP_INSERT(head, elm) +#define ZIP_FIND(name, head, key) name##_ZIP_FIND(head, key) +#define ZIP_MIN(name, head) name##_ZIP_MIN(head) +#define ZIP_MAX(name, head) name##_ZIP_MAX(head) + +/* Returns the element if it was found in the tree. Returns NULL otherwise. */ +#define ZIP_REMOVE(name, head, elm) name##_ZIP_REMOVE(head, elm) + +/* Split (_UNZIP) and merge (_ZIP) trees. _UNZIP splits at the key and moves + * elements <= into the left output (right otherwise). */ +#define ZIP_ZIP(name, left, right) name##_ZIP_ZIP(left, right) +#define ZIP_UNZIP(name, head, key, left, right) \ + name##_ZIP_UNZIP(head, key, left, right) + +/* ZIP_ITER uses in-order traversal of the tree (in the order of the keys). The + * memory if a node is not accessed by ZIP_ITER after the callback has been + * executed for it. So a tree can be cleaned by calling free on each node from + * within the iteration callback. + * + * ZIP_ITER returns a void pointer. The first callback to return non-NULL aborts + * the iteration. This pointer is then returned. */ +typedef void * (*zip_iter_cb)(void *context, void *elm); +#define ZIP_ITER(name, head, cb, ctx) name##_ZIP_ITER(head, cb, ctx) + +/* Same as _ITER, but only visits elements with the given key */ +#define ZIP_ITER_KEY(name, head, key, cb, ctx) name##_ZIP_ITER_KEY(head, key, cb, ctx) + +/* Macro to generate typed ziptree methods */ +#define ZIP_FUNCTIONS(name, type, field, keytype, keyfield, cmp) \ + \ +ZIP_UNUSED static ZIP_INLINE void \ +name##_ZIP_INSERT(struct name *head, struct type *el) { \ + __ZIP_INSERT(head, (zip_cmp_cb)cmp, offsetof(struct type, field), \ + offsetof(struct type, keyfield), el); \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE struct type * \ +name##_ZIP_REMOVE(struct name *head, struct type *elm) { \ + return (struct type*) \ + __ZIP_REMOVE(head, (zip_cmp_cb)cmp, \ + offsetof(struct type, field), \ + offsetof(struct type, keyfield), elm); \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE struct type * \ +name##_ZIP_FIND(struct name *head, const keytype *key) { \ + struct type *cur = ZIP_ROOT(head); \ + while(cur) { \ + enum ZIP_CMP eq = cmp(key, &cur->keyfield); \ + if(eq == ZIP_CMP_EQ) \ + break; \ + if(eq == ZIP_CMP_LESS) \ + cur = ZIP_LEFT(cur, field); \ + else \ + cur = ZIP_RIGHT(cur, field); \ + } \ + return cur; \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE struct type * \ +name##_ZIP_MIN(struct name *head) { \ + struct type *cur = ZIP_ROOT(head); \ + if(!cur) \ + return NULL; \ + while(ZIP_LEFT(cur, field)) { \ + cur = ZIP_LEFT(cur, field); \ + } \ + return cur; \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE struct type * \ +name##_ZIP_MAX(struct name *head) { \ + struct type *cur = ZIP_ROOT(head); \ + if(!cur) \ + return NULL; \ + while(ZIP_RIGHT(cur, field)) { \ + cur = ZIP_RIGHT(cur, field); \ + } \ + return cur; \ +} \ + \ +typedef void * (*name##_cb)(void *context, struct type *elm); \ + \ +ZIP_UNUSED static ZIP_INLINE void * \ +name##_ZIP_ITER(struct name *head, name##_cb cb, void *context) { \ + return __ZIP_ITER(offsetof(struct type, field), (zip_iter_cb)cb, \ + context, ZIP_ROOT(head)); \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE void * \ +name##_ZIP_ITER_KEY(struct name *head, const keytype *key, \ + name##_cb cb, void *context) { \ + return __ZIP_ITER_KEY((zip_cmp_cb)cmp, offsetof(struct type, field), \ + offsetof(struct type, keyfield), key, \ + (zip_iter_cb)cb, context, ZIP_ROOT(head)); \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE struct type * \ +name##_ZIP_ZIP(struct type *left, struct type *right) { \ + return (struct type*) \ + __ZIP_ZIP(offsetof(struct type, field), left, right); \ +} \ + \ +ZIP_UNUSED static ZIP_INLINE void \ +name##_ZIP_UNZIP(struct name *head, const keytype *key, \ + struct name *left, struct name *right) { \ + __ZIP_UNZIP((zip_cmp_cb)cmp, offsetof(struct type, field), \ + offsetof(struct type, keyfield), key, \ + head, left, right); \ +} + +/* Internal definitions. Don't use directly. */ + +void +__ZIP_INSERT(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, void *elm); + +void * +__ZIP_REMOVE(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, void *elm); + +void * +__ZIP_ITER(unsigned short fieldoffset, zip_iter_cb cb, + void *context, void *elm); + +void * +__ZIP_ITER_KEY(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *key, + zip_iter_cb cb, void *context, void *elm); + +void * +__ZIP_ZIP(unsigned short fieldoffset, void *left, void *right); + +void +__ZIP_UNZIP(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *key, + void *h, void *l, void *r); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +/**** amalgamated original file "/src/ua_types_encoding_binary.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Sten Grüner + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + */ + + + +_UA_BEGIN_DECLS + +typedef UA_StatusCode (*UA_exchangeEncodeBuffer)(void *handle, UA_Byte **bufPos, + const UA_Byte **bufEnd); + +/* Encodes the scalar value described by type in the binary encoding. Encoding + * is thread-safe if thread-local variables are enabled. Encoding is also + * reentrant and can be safely called from signal handlers or interrupts. + * + * @param src The value. Must not be NULL. + * @param type The value type. Must not be NULL. + * @param bufPos Points to a pointer to the current position in the encoding + * buffer. Must not be NULL. The pointer is advanced by the number of + * encoded bytes, or, if the buffer is exchanged, to the position in the + * new buffer. + * @param bufEnd Points to a pointer to the end of the encoding buffer (encoding + * always stops before *buf_end). Must not be NULL. The pointer is + * changed when the buffer is exchanged. + * @param exchangeCallback Called when the end of the buffer is reached. This is + used to send out a message chunk before continuing with the encoding. + Is ignored if NULL. + * @param exchangeHandle Custom data passed into the exchangeCallback. + * @return Returns a statuscode whether encoding succeeded. */ +UA_StatusCode +UA_encodeBinaryInternal(const void *src, const UA_DataType *type, + UA_Byte **bufPos, const UA_Byte **bufEnd, + UA_exchangeEncodeBuffer exchangeCallback, + void *exchangeHandle) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +/* Decodes a scalar value described by type from binary encoding. Decoding + * is thread-safe if thread-local variables are enabled. Decoding is also + * reentrant and can be safely called from signal handlers or interrupts. + * + * @param src The buffer with the binary encoded value. Must not be NULL. + * @param offset The current position in the buffer. Must not be NULL. The value + * is advanced as decoding progresses. + * @param dst The target value. Must not be NULL. The target is assumed to have + * size type->memSize. The value is reset to zero before decoding. If + * decoding fails, members are deleted and the value is reset (zeroed) + * again. + * @param type The value type. Must not be NULL. + * @param customTypesSize The number of non-standard datatypes contained in the + * customTypes array. + * @param customTypes An array of non-standard datatypes (not included in + * UA_TYPES). Can be NULL if customTypesSize is zero. + * @return Returns a statuscode whether decoding succeeded. */ +UA_StatusCode +UA_decodeBinaryInternal(const UA_ByteString *src, size_t *offset, + void *dst, const UA_DataType *type, + const UA_DataTypeArray *customTypes) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +const UA_DataType * +UA_findDataTypeByBinary(const UA_NodeId *typeId); + +_UA_END_DECLS + + +/**** amalgamated original file "/src/ua_util_internal.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2015 (c) LEvertz + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + +#define UA_INTERNAL + + +_UA_BEGIN_DECLS + +/* Macro-Expand for MSVC workarounds */ +#define UA_MACRO_EXPAND(x) x + +/* Try if the type of the value can be adjusted "in situ" to the target type. + * That can be done, for example, to map between int32 and an enum. + * + * This can also "unwrap" a type. For example: string -> array of bytes + * + * If value->data is changed during adjustType, free the pointer afterwards (if + * you did not keep the original variant for _clear). */ +void +adjustType(UA_Variant *value, const UA_DataType *targetType); + +/* Print a NodeId in logs */ +#define UA_LOG_NODEID_INTERNAL(NODEID, LEVEL, LOG) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String nodeIdStr = UA_STRING_NULL; \ + UA_NodeId_print(NODEID, &nodeIdStr); \ + LOG; \ + UA_String_clear(&nodeIdStr); \ + } + +#define UA_LOG_NODEID_TRACE(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, TRACE, LOG) +#define UA_LOG_NODEID_DEBUG(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, DEBUG, LOG) +#define UA_LOG_NODEID_INFO(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, INFO, LOG) +#define UA_LOG_NODEID_WARNING(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, WARNING, LOG) +#define UA_LOG_NODEID_ERROR(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, ERROR, LOG) +#define UA_LOG_NODEID_FATAL(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, FATAL, LOG) + +/* Short names for integer. These are not exposed on the public API, since many + * user-applications make the same definitions in their headers. */ +typedef UA_Byte u8; +typedef UA_SByte i8; +typedef UA_UInt16 u16; +typedef UA_Int16 i16; +typedef UA_UInt32 u32; +typedef UA_Int32 i32; +typedef UA_UInt64 u64; +typedef UA_Int64 i64; +typedef UA_StatusCode status; + +/** + * Error checking macros + */ + +static UA_INLINE UA_Boolean +isGood(UA_StatusCode code) { + return code == UA_STATUSCODE_GOOD; +} + +static UA_INLINE UA_Boolean +isNonNull(const void *ptr) { + return ptr != NULL; +} + +static UA_INLINE UA_Boolean +isTrue(uint8_t expr) { + return expr; +} + +#define UA_CHECK(A, EVAL_ON_ERROR) \ + do { \ + if(UA_UNLIKELY(!isTrue(A))) { \ + EVAL_ON_ERROR; \ + } \ + } while(0) + +#define UA_CHECK_STATUS(STATUSCODE, EVAL_ON_ERROR) \ + UA_CHECK(isGood(STATUSCODE), EVAL_ON_ERROR) + +#define UA_CHECK_MEM(STATUSCODE, EVAL_ON_ERROR) \ + UA_CHECK(isNonNull(STATUSCODE), EVAL_ON_ERROR) + +#ifdef UA_DEBUG_FILE_LINE_INFO +#define UA_CHECK_LOG_INTERNAL(A, STATUSCODE, EVAL, LOG, LOGGER, CAT, MSG, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK(A, LOG(LOGGER, CAT, "" MSG "%s (%s:%d: StatusCode: %s)", __VA_ARGS__, \ + __FILE__, __LINE__, UA_StatusCode_name(STATUSCODE)); \ + EVAL)) +#else +#define UA_CHECK_LOG_INTERNAL(A, STATUSCODE, EVAL, LOG, LOGGER, CAT, MSG, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK(A, LOG(LOGGER, CAT, "" MSG "%s (StatusCode: %s)", __VA_ARGS__, \ + UA_StatusCode_name(STATUSCODE)); \ + EVAL)) +#endif + +#define UA_CHECK_LOG(A, EVAL, LEVEL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG_INTERNAL(A, UA_STATUSCODE_BAD, EVAL, UA_LOG_##LEVEL, \ + LOGGER, CAT, __VA_ARGS__, "")) + +#define UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, LEVEL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG_INTERNAL(isGood(STATUSCODE), STATUSCODE, \ + EVAL, UA_LOG_##LEVEL, LOGGER, CAT, \ + __VA_ARGS__, "")) + +#define UA_CHECK_MEM_LOG(PTR, EVAL, LEVEL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG_INTERNAL(isNonNull(PTR), UA_STATUSCODE_BADOUTOFMEMORY, \ + EVAL, UA_LOG_##LEVEL, LOGGER, CAT, \ + __VA_ARGS__, "")) + +/** + * Check Macros + * Usage examples: + * + * void *data = malloc(...); + * UA_CHECK(data, return error); + * + * UA_StatusCode rv = some_func(...); + * UA_CHECK_STATUS(rv, return rv); + * + * UA_Logger *logger = &server->config.logger; + * rv = bar_func(...); + * UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SERVER, "msg & args %s", "arg"); + */ +#define UA_CHECK_FATAL(A, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, FATAL, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_ERROR(A, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, ERROR, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_WARN(A, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, WARNING, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_INFO(A, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, INFO, LOGGER, CAT, __VA_ARGS__)) + +#define UA_CHECK_STATUS_FATAL(STATUSCODE, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, FATAL, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_STATUS_ERROR(STATUSCODE, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, ERROR, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_STATUS_WARN(STATUSCODE, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, WARNING, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_STATUS_INFO(STATUSCODE, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, INFO, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_STATUS_DEBUG(STATUSCODE, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, DEBUG, LOGGER, CAT, __VA_ARGS__)) + +#define UA_CHECK_MEM_FATAL(PTR, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_MEM_LOG(PTR, EVAL, FATAL, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_MEM_ERROR(PTR, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_MEM_LOG(PTR, EVAL, ERROR, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_MEM_WARN(PTR, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_MEM_LOG(PTR, EVAL, WARNING, LOGGER, CAT, __VA_ARGS__)) +#define UA_CHECK_MEM_INFO(PTR, EVAL, LOGGER, CAT, ...) \ + UA_MACRO_EXPAND( \ + UA_CHECK_MEM_LOG(PTR, EVAL, INFO, LOGGER, CAT, __VA_ARGS__)) + +/** + * Utility Functions + * ----------------- */ + +#ifdef UA_ENABLE_DISCOVERY_SEMAPHORE +# ifdef UA_ARCHITECTURE_WIN32 +# include +# define UA_fileExists(X) ( _access(X, 0) == 0) +# else +# include +# define UA_fileExists(X) ( access(X, 0) == 0) +# endif +#endif + +void +UA_cleanupDataTypeWithCustom(const UA_DataTypeArray *customTypes); + +/* Get the number of optional fields contained in an structure type */ +size_t UA_EXPORT +getCountOfOptionalFields(const UA_DataType *type); + +/* Dump packet for debugging / fuzzing */ +#ifdef UA_DEBUG_DUMP_PKGS +void UA_EXPORT +UA_dump_hex_pkg(UA_Byte* buffer, size_t bufferLen); +#endif + +/* Get pointer to leaf certificate of a specified valid chain of DER encoded + * certificates */ +UA_ByteString getLeafCertificate(UA_ByteString chain); + +/* Unions that represent any of the supported request or response message */ +typedef union { + UA_RequestHeader requestHeader; + UA_FindServersRequest findServersRequest; + UA_GetEndpointsRequest getEndpointsRequest; +#ifdef UA_ENABLE_DISCOVERY +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_FindServersOnNetworkRequest findServersOnNetworkRequest; +# endif + UA_RegisterServerRequest registerServerRequest; + UA_RegisterServer2Request registerServer2Request; +#endif + UA_OpenSecureChannelRequest openSecureChannelRequest; + UA_CreateSessionRequest createSessionRequest; + UA_ActivateSessionRequest activateSessionRequest; + UA_CloseSessionRequest closeSessionRequest; + UA_AddNodesRequest addNodesRequest; + UA_AddReferencesRequest addReferencesRequest; + UA_DeleteNodesRequest deleteNodesRequest; + UA_DeleteReferencesRequest deleteReferencesRequest; + UA_BrowseRequest browseRequest; + UA_BrowseNextRequest browseNextRequest; + UA_TranslateBrowsePathsToNodeIdsRequest translateBrowsePathsToNodeIdsRequest; + UA_RegisterNodesRequest registerNodesRequest; + UA_UnregisterNodesRequest unregisterNodesRequest; + UA_ReadRequest readRequest; + UA_WriteRequest writeRequest; +#ifdef UA_ENABLE_HISTORIZING + UA_HistoryReadRequest historyReadRequest; + UA_HistoryUpdateRequest historyUpdateRequest; +#endif +#ifdef UA_ENABLE_METHODCALLS + UA_CallRequest callRequest; +#endif +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_CreateMonitoredItemsRequest createMonitoredItemsRequest; + UA_DeleteMonitoredItemsRequest deleteMonitoredItemsRequest; + UA_ModifyMonitoredItemsRequest modifyMonitoredItemsRequest; + UA_SetMonitoringModeRequest setMonitoringModeRequest; + UA_CreateSubscriptionRequest createSubscriptionRequest; + UA_ModifySubscriptionRequest modifySubscriptionRequest; + UA_SetPublishingModeRequest setPublishingModeRequest; + UA_PublishRequest publishRequest; + UA_RepublishRequest republishRequest; + UA_DeleteSubscriptionsRequest deleteSubscriptionsRequest; +#endif +} UA_Request; + +typedef union { + UA_ResponseHeader responseHeader; + UA_FindServersResponse findServersResponse; + UA_GetEndpointsResponse getEndpointsResponse; +#ifdef UA_ENABLE_DISCOVERY +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_FindServersOnNetworkResponse findServersOnNetworkResponse; +# endif + UA_RegisterServerResponse registerServerResponse; + UA_RegisterServer2Response registerServer2Response; +#endif + UA_OpenSecureChannelResponse openSecureChannelResponse; + UA_CreateSessionResponse createSessionResponse; + UA_ActivateSessionResponse activateSessionResponse; + UA_CloseSessionResponse closeSessionResponse; + UA_AddNodesResponse addNodesResponse; + UA_AddReferencesResponse addReferencesResponse; + UA_DeleteNodesResponse deleteNodesResponse; + UA_DeleteReferencesResponse deleteReferencesResponse; + UA_BrowseResponse browseResponse; + UA_BrowseNextResponse browseNextResponse; + UA_TranslateBrowsePathsToNodeIdsResponse translateBrowsePathsToNodeIdsResponse; + UA_RegisterNodesResponse registerNodesResponse; + UA_UnregisterNodesResponse unregisterNodesResponse; + UA_ReadResponse readResponse; + UA_WriteResponse writeResponse; +#ifdef UA_ENABLE_HISTORIZING + UA_HistoryReadResponse historyReadResponse; + UA_HistoryUpdateResponse historyUpdateResponse; +#endif +#ifdef UA_ENABLE_METHODCALLS + UA_CallResponse callResponse; +#endif +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_CreateMonitoredItemsResponse createMonitoredItemsResponse; + UA_DeleteMonitoredItemsResponse deleteMonitoredItemsResponse; + UA_ModifyMonitoredItemsResponse modifyMonitoredItemsResponse; + UA_SetMonitoringModeResponse setMonitoringModeResponse; + UA_CreateSubscriptionResponse createSubscriptionResponse; + UA_ModifySubscriptionResponse modifySubscriptionResponse; + UA_SetPublishingModeResponse setPublishingModeResponse; + UA_PublishResponse publishResponse; + UA_RepublishResponse republishResponse; + UA_DeleteSubscriptionsResponse deleteSubscriptionsResponse; +#endif +} UA_Response; + +/* Do not expose UA_String_equal_ignorecase to public API as it currently only handles + * ASCII strings, and not UTF8! */ +UA_Boolean UA_EXPORT +UA_String_equal_ignorecase(const UA_String *s1, const UA_String *s2); + +/********************/ +/* Encoding Helpers */ +/********************/ + +/* out must be a buffer with at least 36 elements, the length of every guid */ +void UA_Guid_to_hex(const UA_Guid *guid, u8* out, UA_Boolean lower); + +#define UA_ENCODING_HELPERS(TYPE, UPCASE_TYPE) \ + static UA_INLINE size_t \ + UA_##TYPE##_calcSizeBinary(const UA_##TYPE *src) { \ + return UA_calcSizeBinary(src, &UA_TYPES[UA_TYPES_##UPCASE_TYPE]); \ + } \ + static UA_INLINE UA_StatusCode \ + UA_##TYPE##_encodeBinary(const UA_##TYPE *src, UA_Byte **bufPos, const UA_Byte *bufEnd) { \ + return UA_encodeBinaryInternal(src, &UA_TYPES[UA_TYPES_##UPCASE_TYPE], \ + bufPos, &bufEnd, NULL, NULL); \ + } \ + static UA_INLINE UA_StatusCode \ + UA_##TYPE##_decodeBinary(const UA_ByteString *src, size_t *offset, UA_##TYPE *dst) { \ + return UA_decodeBinaryInternal(src, offset, dst, \ + &UA_TYPES[UA_TYPES_##UPCASE_TYPE], NULL); \ + } + +UA_ENCODING_HELPERS(Boolean, BOOLEAN) +UA_ENCODING_HELPERS(SByte, SBYTE) +UA_ENCODING_HELPERS(Byte, BYTE) +UA_ENCODING_HELPERS(Int16, INT16) +UA_ENCODING_HELPERS(UInt16, UINT16) +UA_ENCODING_HELPERS(Int32, INT32) +UA_ENCODING_HELPERS(UInt32, UINT32) +UA_ENCODING_HELPERS(Int64, INT64) +UA_ENCODING_HELPERS(UInt64, UINT64) +UA_ENCODING_HELPERS(Float, FLOAT) +UA_ENCODING_HELPERS(Double, DOUBLE) +UA_ENCODING_HELPERS(String, STRING) +UA_ENCODING_HELPERS(DateTime, DATETIME) +UA_ENCODING_HELPERS(Guid, GUID) +UA_ENCODING_HELPERS(ByteString, BYTESTRING) +UA_ENCODING_HELPERS(XmlElement, XMLELEMENT) +UA_ENCODING_HELPERS(NodeId, NODEID) +UA_ENCODING_HELPERS(ExpandedNodeId, EXPANDEDNODEID) +UA_ENCODING_HELPERS(StatusCode, STATUSCODE) +UA_ENCODING_HELPERS(QualifiedName, QUALIFIEDNAME) +UA_ENCODING_HELPERS(LocalizedText, LOCALIZEDTEXT) +UA_ENCODING_HELPERS(ExtensionObject, EXTENSIONOBJECT) +UA_ENCODING_HELPERS(DataValue, DATAVALUE) +UA_ENCODING_HELPERS(Variant, VARIANT) +UA_ENCODING_HELPERS(DiagnosticInfo, DIAGNOSTICINFO) + +_UA_END_DECLS + + +/**** amalgamated original file "/build/src_generated/open62541/transport_generated.h" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + +/* Must be before the include guards */ +#ifdef UA_ENABLE_AMALGAMATION +#else +#endif + + + +_UA_BEGIN_DECLS + +/** + * Every type is assigned an index in an array containing the type descriptions. + * These descriptions are used during type handling (copying, deletion, + * binary encoding, ...). */ +#define UA_TRANSPORT_COUNT 9 +extern UA_EXPORT UA_DataType UA_TRANSPORT[UA_TRANSPORT_COUNT]; + +/* MessageType: Message Type and whether the message contains an intermediate chunk */ +typedef enum { + UA_MESSAGETYPE_ACK = 0x4B4341, + UA_MESSAGETYPE_HEL = 0x4C4548, + UA_MESSAGETYPE_MSG = 0x47534D, + UA_MESSAGETYPE_OPN = 0x4E504F, + UA_MESSAGETYPE_CLO = 0x4F4C43, + UA_MESSAGETYPE_ERR = 0x525245, + UA_MESSAGETYPE_RHE = 0x454852, + UA_MESSAGETYPE_INVALID = 0x0, + __UA_MESSAGETYPE_FORCE32BIT = 0x7fffffff +} UA_MessageType; + +UA_STATIC_ASSERT(sizeof(UA_MessageType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TRANSPORT_MESSAGETYPE 0 + +/* ChunkType: Type of the chunk */ +typedef enum { + UA_CHUNKTYPE_FINAL = 0x46000000, + UA_CHUNKTYPE_INTERMEDIATE = 0x43000000, + UA_CHUNKTYPE_ABORT = 0x41000000, + __UA_CHUNKTYPE_FORCE32BIT = 0x7fffffff +} UA_ChunkType; + +UA_STATIC_ASSERT(sizeof(UA_ChunkType) == sizeof(UA_Int32), enum_must_be_32bit); + +#define UA_TRANSPORT_CHUNKTYPE 1 + +/* TcpMessageHeader: TCP Header */ +typedef struct { + UA_UInt32 messageTypeAndChunkType; + UA_UInt32 messageSize; +} UA_TcpMessageHeader; + +#define UA_TRANSPORT_TCPMESSAGEHEADER 2 + +/* TcpHelloMessage: Hello Message */ +typedef struct { + UA_UInt32 protocolVersion; + UA_UInt32 receiveBufferSize; + UA_UInt32 sendBufferSize; + UA_UInt32 maxMessageSize; + UA_UInt32 maxChunkCount; + UA_String endpointUrl; +} UA_TcpHelloMessage; + +#define UA_TRANSPORT_TCPHELLOMESSAGE 3 + +/* TcpReverseHelloMessage */ +typedef struct { + UA_String serverUri; + UA_String endpointUrl; +} UA_TcpReverseHelloMessage; + +#define UA_TRANSPORT_TCPREVERSEHELLOMESSAGE 4 + +/* TcpAcknowledgeMessage: Acknowledge Message */ +typedef struct { + UA_UInt32 protocolVersion; + UA_UInt32 receiveBufferSize; + UA_UInt32 sendBufferSize; + UA_UInt32 maxMessageSize; + UA_UInt32 maxChunkCount; +} UA_TcpAcknowledgeMessage; + +#define UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE 5 + +/* TcpErrorMessage: Error Message */ +typedef struct { + UA_UInt32 error; + UA_String reason; +} UA_TcpErrorMessage; + +#define UA_TRANSPORT_TCPERRORMESSAGE 6 + +/* AsymmetricAlgorithmSecurityHeader: Asymmetric Security Header */ +typedef struct { + UA_ByteString securityPolicyUri; + UA_ByteString senderCertificate; + UA_ByteString receiverCertificateThumbprint; +} UA_AsymmetricAlgorithmSecurityHeader; + +#define UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER 7 + +/* SequenceHeader: Secure Layer Sequence Header */ +typedef struct { + UA_UInt32 sequenceNumber; + UA_UInt32 requestId; +} UA_SequenceHeader; + +#define UA_TRANSPORT_SEQUENCEHEADER 8 + + +_UA_END_DECLS + + +/**** amalgamated original file "/build/src_generated/open62541/transport_generated_handling.h" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + + + +_UA_BEGIN_DECLS + +#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wmissing-field-initializers" +# pragma GCC diagnostic ignored "-Wmissing-braces" +#endif + + +/* MessageType */ +static UA_INLINE void +UA_MessageType_init(UA_MessageType *p) { + memset(p, 0, sizeof(UA_MessageType)); +} + +static UA_INLINE UA_MessageType * +UA_MessageType_new(void) { + return (UA_MessageType*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); +} + +static UA_INLINE UA_StatusCode +UA_MessageType_copy(const UA_MessageType *src, UA_MessageType *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_MessageType_deleteMembers(UA_MessageType *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); +} + +static UA_INLINE void +UA_MessageType_clear(UA_MessageType *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); +} + +static UA_INLINE void +UA_MessageType_delete(UA_MessageType *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); +}static UA_INLINE UA_Boolean +UA_MessageType_equal(const UA_MessageType *p1, const UA_MessageType *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]) == UA_ORDER_EQ); +} + + + +/* ChunkType */ +static UA_INLINE void +UA_ChunkType_init(UA_ChunkType *p) { + memset(p, 0, sizeof(UA_ChunkType)); +} + +static UA_INLINE UA_ChunkType * +UA_ChunkType_new(void) { + return (UA_ChunkType*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); +} + +static UA_INLINE UA_StatusCode +UA_ChunkType_copy(const UA_ChunkType *src, UA_ChunkType *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_ChunkType_deleteMembers(UA_ChunkType *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); +} + +static UA_INLINE void +UA_ChunkType_clear(UA_ChunkType *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); +} + +static UA_INLINE void +UA_ChunkType_delete(UA_ChunkType *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); +}static UA_INLINE UA_Boolean +UA_ChunkType_equal(const UA_ChunkType *p1, const UA_ChunkType *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]) == UA_ORDER_EQ); +} + + + +/* TcpMessageHeader */ +static UA_INLINE void +UA_TcpMessageHeader_init(UA_TcpMessageHeader *p) { + memset(p, 0, sizeof(UA_TcpMessageHeader)); +} + +static UA_INLINE UA_TcpMessageHeader * +UA_TcpMessageHeader_new(void) { + return (UA_TcpMessageHeader*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); +} + +static UA_INLINE UA_StatusCode +UA_TcpMessageHeader_copy(const UA_TcpMessageHeader *src, UA_TcpMessageHeader *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TcpMessageHeader_deleteMembers(UA_TcpMessageHeader *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); +} + +static UA_INLINE void +UA_TcpMessageHeader_clear(UA_TcpMessageHeader *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); +} + +static UA_INLINE void +UA_TcpMessageHeader_delete(UA_TcpMessageHeader *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); +}static UA_INLINE UA_Boolean +UA_TcpMessageHeader_equal(const UA_TcpMessageHeader *p1, const UA_TcpMessageHeader *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]) == UA_ORDER_EQ); +} + + + +/* TcpHelloMessage */ +static UA_INLINE void +UA_TcpHelloMessage_init(UA_TcpHelloMessage *p) { + memset(p, 0, sizeof(UA_TcpHelloMessage)); +} + +static UA_INLINE UA_TcpHelloMessage * +UA_TcpHelloMessage_new(void) { + return (UA_TcpHelloMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); +} + +static UA_INLINE UA_StatusCode +UA_TcpHelloMessage_copy(const UA_TcpHelloMessage *src, UA_TcpHelloMessage *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TcpHelloMessage_deleteMembers(UA_TcpHelloMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); +} + +static UA_INLINE void +UA_TcpHelloMessage_clear(UA_TcpHelloMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); +} + +static UA_INLINE void +UA_TcpHelloMessage_delete(UA_TcpHelloMessage *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); +}static UA_INLINE UA_Boolean +UA_TcpHelloMessage_equal(const UA_TcpHelloMessage *p1, const UA_TcpHelloMessage *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]) == UA_ORDER_EQ); +} + + + +/* TcpReverseHelloMessage */ +static UA_INLINE void +UA_TcpReverseHelloMessage_init(UA_TcpReverseHelloMessage *p) { + memset(p, 0, sizeof(UA_TcpReverseHelloMessage)); +} + +static UA_INLINE UA_TcpReverseHelloMessage * +UA_TcpReverseHelloMessage_new(void) { + return (UA_TcpReverseHelloMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); +} + +static UA_INLINE UA_StatusCode +UA_TcpReverseHelloMessage_copy(const UA_TcpReverseHelloMessage *src, UA_TcpReverseHelloMessage *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TcpReverseHelloMessage_deleteMembers(UA_TcpReverseHelloMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); +} + +static UA_INLINE void +UA_TcpReverseHelloMessage_clear(UA_TcpReverseHelloMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); +} + +static UA_INLINE void +UA_TcpReverseHelloMessage_delete(UA_TcpReverseHelloMessage *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); +}static UA_INLINE UA_Boolean +UA_TcpReverseHelloMessage_equal(const UA_TcpReverseHelloMessage *p1, const UA_TcpReverseHelloMessage *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]) == UA_ORDER_EQ); +} + + + +/* TcpAcknowledgeMessage */ +static UA_INLINE void +UA_TcpAcknowledgeMessage_init(UA_TcpAcknowledgeMessage *p) { + memset(p, 0, sizeof(UA_TcpAcknowledgeMessage)); +} + +static UA_INLINE UA_TcpAcknowledgeMessage * +UA_TcpAcknowledgeMessage_new(void) { + return (UA_TcpAcknowledgeMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); +} + +static UA_INLINE UA_StatusCode +UA_TcpAcknowledgeMessage_copy(const UA_TcpAcknowledgeMessage *src, UA_TcpAcknowledgeMessage *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TcpAcknowledgeMessage_deleteMembers(UA_TcpAcknowledgeMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); +} + +static UA_INLINE void +UA_TcpAcknowledgeMessage_clear(UA_TcpAcknowledgeMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); +} + +static UA_INLINE void +UA_TcpAcknowledgeMessage_delete(UA_TcpAcknowledgeMessage *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); +}static UA_INLINE UA_Boolean +UA_TcpAcknowledgeMessage_equal(const UA_TcpAcknowledgeMessage *p1, const UA_TcpAcknowledgeMessage *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]) == UA_ORDER_EQ); +} + + + +/* TcpErrorMessage */ +static UA_INLINE void +UA_TcpErrorMessage_init(UA_TcpErrorMessage *p) { + memset(p, 0, sizeof(UA_TcpErrorMessage)); +} + +static UA_INLINE UA_TcpErrorMessage * +UA_TcpErrorMessage_new(void) { + return (UA_TcpErrorMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); +} + +static UA_INLINE UA_StatusCode +UA_TcpErrorMessage_copy(const UA_TcpErrorMessage *src, UA_TcpErrorMessage *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); +} + +UA_DEPRECATED static UA_INLINE void +UA_TcpErrorMessage_deleteMembers(UA_TcpErrorMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); +} + +static UA_INLINE void +UA_TcpErrorMessage_clear(UA_TcpErrorMessage *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); +} + +static UA_INLINE void +UA_TcpErrorMessage_delete(UA_TcpErrorMessage *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); +}static UA_INLINE UA_Boolean +UA_TcpErrorMessage_equal(const UA_TcpErrorMessage *p1, const UA_TcpErrorMessage *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]) == UA_ORDER_EQ); +} + + + +/* AsymmetricAlgorithmSecurityHeader */ +static UA_INLINE void +UA_AsymmetricAlgorithmSecurityHeader_init(UA_AsymmetricAlgorithmSecurityHeader *p) { + memset(p, 0, sizeof(UA_AsymmetricAlgorithmSecurityHeader)); +} + +static UA_INLINE UA_AsymmetricAlgorithmSecurityHeader * +UA_AsymmetricAlgorithmSecurityHeader_new(void) { + return (UA_AsymmetricAlgorithmSecurityHeader*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); +} + +static UA_INLINE UA_StatusCode +UA_AsymmetricAlgorithmSecurityHeader_copy(const UA_AsymmetricAlgorithmSecurityHeader *src, UA_AsymmetricAlgorithmSecurityHeader *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_AsymmetricAlgorithmSecurityHeader_deleteMembers(UA_AsymmetricAlgorithmSecurityHeader *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); +} + +static UA_INLINE void +UA_AsymmetricAlgorithmSecurityHeader_clear(UA_AsymmetricAlgorithmSecurityHeader *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); +} + +static UA_INLINE void +UA_AsymmetricAlgorithmSecurityHeader_delete(UA_AsymmetricAlgorithmSecurityHeader *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); +}static UA_INLINE UA_Boolean +UA_AsymmetricAlgorithmSecurityHeader_equal(const UA_AsymmetricAlgorithmSecurityHeader *p1, const UA_AsymmetricAlgorithmSecurityHeader *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]) == UA_ORDER_EQ); +} + + + +/* SequenceHeader */ +static UA_INLINE void +UA_SequenceHeader_init(UA_SequenceHeader *p) { + memset(p, 0, sizeof(UA_SequenceHeader)); +} + +static UA_INLINE UA_SequenceHeader * +UA_SequenceHeader_new(void) { + return (UA_SequenceHeader*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); +} + +static UA_INLINE UA_StatusCode +UA_SequenceHeader_copy(const UA_SequenceHeader *src, UA_SequenceHeader *dst) { + return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); +} + +UA_DEPRECATED static UA_INLINE void +UA_SequenceHeader_deleteMembers(UA_SequenceHeader *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); +} + +static UA_INLINE void +UA_SequenceHeader_clear(UA_SequenceHeader *p) { + UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); +} + +static UA_INLINE void +UA_SequenceHeader_delete(UA_SequenceHeader *p) { + UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); +}static UA_INLINE UA_Boolean +UA_SequenceHeader_equal(const UA_SequenceHeader *p1, const UA_SequenceHeader *p2) { + return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]) == UA_ORDER_EQ); +} + + + +#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 +# pragma GCC diagnostic pop +#endif + +_UA_END_DECLS + + +/**** amalgamated original file "/src/ua_securechannel.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Florian Palm + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + */ + + + + +_UA_BEGIN_DECLS + +struct UA_SecureChannel; +typedef struct UA_SecureChannel UA_SecureChannel; + +/* The message header of the OPC UA binary protocol is structured as follows: + * + * - MessageType (3 Byte) + * - IsFinal (1 Byte) + * - MessageSize (4 Byte) + * *** UA_SECURECHANNEL_MESSAGEHEADER_LENGTH *** + * - SecureChannelId (4 Byte) + * *** UA_SECURECHANNEL_CHANNELHEADER_LENGTH *** + * - SecurityHeader (4 Byte TokenId for symmetric, otherwise dynamic length) + * - SequenceHeader (8 Byte) + * - SequenceNumber + * - RequestId + */ + +#define UA_SECURECHANNEL_MESSAGEHEADER_LENGTH 8 +#define UA_SECURECHANNEL_CHANNELHEADER_LENGTH 12 +#define UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH 4 +#define UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH 8 +#define UA_SECURECHANNEL_SYMMETRIC_HEADER_UNENCRYPTEDLENGTH \ + (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + \ + UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH) +#define UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH \ + (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + \ + UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH + \ + UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH) + +/* Minimum length of a valid message (ERR message with an empty reason) */ +#define UA_SECURECHANNEL_MESSAGE_MIN_LENGTH 16 + +/* The Session implementation differs between client and server. Still, it is + * expected that the Session structure begins with the SessionHeader. This is + * the interface that will be used by the SecureChannel. The lifecycle of + * Sessions is independent of the underlying SecureChannel. But every Session + * can be attached to only one SecureChannel. */ +typedef struct UA_SessionHeader { + SLIST_ENTRY(UA_SessionHeader) next; + UA_NodeId authenticationToken; + UA_Boolean serverSession; /* Disambiguate client and server session */ + UA_SecureChannel *channel; /* The pointer back to the SecureChannel in the session. */ +} UA_SessionHeader; + +/* For chunked requests */ +typedef struct UA_Chunk { + TAILQ_ENTRY(UA_Chunk) pointers; + UA_ByteString bytes; + UA_MessageType messageType; + UA_ChunkType chunkType; + UA_UInt32 requestId; + UA_Boolean copied; /* Do the bytes point to a buffer from the network or was + * memory allocated for the chunk separately */ +} UA_Chunk; + +typedef TAILQ_HEAD(UA_ChunkQueue, UA_Chunk) UA_ChunkQueue; + +typedef enum { + UA_SECURECHANNELRENEWSTATE_NORMAL, + + /* Client has sent an OPN, but not received a response so far. */ + UA_SECURECHANNELRENEWSTATE_SENT, + + /* The server waits for the first request with the new token for the rollover. + * The new token is stored in the altSecurityToken. The configured local and + * remote symmetric encryption keys are the old ones. */ + UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER, + + /* The client already uses the new token. But he waits for the server to respond + * with the new token to complete the rollover. The old token is stored in + * altSecurityToken. The local symmetric encryption key is new. The remote + * encryption key is the old one. */ + UA_SECURECHANNELRENEWSTATE_NEWTOKEN_CLIENT +} UA_SecureChannelRenewState; + +struct UA_SecureChannel { + UA_SecureChannelState state; + UA_SecureChannelRenewState renewState; + UA_MessageSecurityMode securityMode; + UA_ShutdownReason shutdownReason; + UA_ConnectionConfig config; + + UA_String endpointUrl; + + /* Connection handling in the EventLoop */ + UA_ConnectionManager *connectionManager; + uintptr_t connectionId; + + /* Rules for revolving the token with a renew OPN request: The client is + * allowed to accept messages with the old token until the OPN response has + * arrived. The server accepts the old token until one message secured with + * the new token has arrived. + * + * We recognize whether nextSecurityToken contains a valid next token if the + * ChannelId is not 0. */ + UA_ChannelSecurityToken securityToken; /* Also contains the channelId */ + UA_ChannelSecurityToken altSecurityToken; /* Alternative token for the rollover. + * See the renewState. */ + + /* The endpoint and context of the channel */ + UA_SecurityPolicy *securityPolicy; + void *channelContext; /* For interaction with the security policy */ + + /* Asymmetric encryption info */ + UA_ByteString remoteCertificate; + UA_Byte remoteCertificateThumbprint[20]; /* The thumbprint of the remote certificate */ + + /* Symmetric encryption nonces. These are used to generate the key material + * and must not be reused once the keys are in place. + * + * Nonces are also used during the CreateSession / ActivateSession + * handshake. These are not handled here, as the Session handling can + * overlap with a RenewSecureChannel. */ + UA_ByteString remoteNonce; + UA_ByteString localNonce; + + UA_UInt32 receiveSequenceNumber; + UA_UInt32 sendSequenceNumber; + + /* Sessions that are bound to the SecureChannel */ + SLIST_HEAD(, UA_SessionHeader) sessions; + + /* (Decrypted) chunks waiting to be processed */ + UA_ChunkQueue chunks; + size_t chunksCount; + size_t chunksLength; + + /* Received buffer from which no chunks have been extracted so far */ + UA_ByteString unprocessed; + size_t unprocessedOffset; + UA_Boolean unprocessedCopied; + UA_DelayedCallback unprocessedDelayed; + + UA_CertificateVerification *certificateVerification; + void *processOPNHeaderApplication; + UA_StatusCode (*processOPNHeader)(void *application, UA_SecureChannel *channel, + const UA_AsymmetricAlgorithmSecurityHeader *asymHeader); +}; + +void UA_SecureChannel_init(UA_SecureChannel *channel); + +/* Trigger the shutdown */ +void UA_SecureChannel_shutdown(UA_SecureChannel *channel, + UA_ShutdownReason shutdownReason); + +/* Eventual cleanup after the channel has closed. It is possible to call _init + * on the channel afterwards to reset it to the fresh status. */ +void UA_SecureChannel_clear(UA_SecureChannel *channel); + +/* Process the remote configuration in the HEL/ACK handshake. The connection + * config is initialized with the local settings. */ +UA_StatusCode +UA_SecureChannel_processHELACK(UA_SecureChannel *channel, + const UA_TcpAcknowledgeMessage *remoteConfig); + +UA_StatusCode +UA_SecureChannel_setSecurityPolicy(UA_SecureChannel *channel, + UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate); + +UA_Boolean +UA_SecureChannel_isConnected(UA_SecureChannel *channel); + +/* When a fatal error occurs the Server shall send an Error Message to the + * Client and close the socket. When a Client encounters one of these errors, it + * shall also close the socket but does not send an Error Message. After the + * socket is closed a Client shall try to reconnect automatically using the + * mechanisms described in [...]. */ +void +UA_SecureChannel_sendError(UA_SecureChannel *channel, UA_TcpErrorMessage *error); + +/* Remove (partially) received unprocessed chunks */ +void +UA_SecureChannel_deleteBuffered(UA_SecureChannel *channel); + +/* Wrapper function for generating a local nonce for the supplied channel. Uses + * the random generator of the channels security policy to allocate and generate + * a nonce with the specified length. */ +UA_StatusCode +UA_SecureChannel_generateLocalNonce(UA_SecureChannel *channel); + +UA_StatusCode +UA_SecureChannel_generateLocalKeys(const UA_SecureChannel *channel); + +UA_StatusCode +generateRemoteKeys(const UA_SecureChannel *channel); + +/** + * Sending Messages + * ---------------- */ + +UA_StatusCode +UA_SecureChannel_sendAsymmetricOPNMessage(UA_SecureChannel *channel, UA_UInt32 requestId, + const void *content, const UA_DataType *contentType); + +UA_StatusCode +UA_SecureChannel_sendSymmetricMessage(UA_SecureChannel *channel, UA_UInt32 requestId, + UA_MessageType messageType, void *payload, + const UA_DataType *payloadType); + +/* The MessageContext is forwarded into the encoding layer so that we can send + * chunks before continuing to encode. This lets us reuse a fixed chunk-sized + * messages buffer. */ +typedef struct { + UA_SecureChannel *channel; + UA_UInt32 requestId; + UA_UInt32 messageType; + + UA_UInt16 chunksSoFar; + size_t messageSizeSoFar; + + UA_ByteString messageBuffer; + UA_Byte *buf_pos; + const UA_Byte *buf_end; + + UA_Boolean final; +} UA_MessageContext; + +/* Start the context of a new symmetric message. */ +UA_StatusCode +UA_MessageContext_begin(UA_MessageContext *mc, UA_SecureChannel *channel, + UA_UInt32 requestId, UA_MessageType messageType); + +/* Encode the content and send out full chunks. If the return code is good, then + * the ChunkInfo contains encoded content that has not been sent. If the return + * code is bad, then the ChunkInfo has been cleaned up internally. */ +UA_StatusCode +UA_MessageContext_encode(UA_MessageContext *mc, const void *content, + const UA_DataType *contentType); + +/* Sends a symmetric message already encoded in the context. The context is + * cleaned up, also in case of errors. */ +UA_StatusCode +UA_MessageContext_finish(UA_MessageContext *mc); + +/* To be used when a failure occures when a MessageContext is open. Note that + * the _encode and _finish methods will clean up internally. _abort can be run + * on a MessageContext that has already been cleaned up before. */ +void +UA_MessageContext_abort(UA_MessageContext *mc); + +/** + * Receive Message + * --------------- */ + +/* Process a received buffer. This always has these three steps: + * + * 1. loadBuffer: The chunks in the SecureChannel are cut into chunks. + * The chunks can still point to the buffer. + * 2. getCompleteMessage: Assemble chunks into a complete message. This is + * repeated until an error occours or an empty message is returned. + * 3. persistBuffer: Make a copy of the remaining unpprocessed bytestring. So + * that the NetworkManager can reuse or free the packet memory. + * + * Note that only MSG and CLO messages are decrypted. HEL/ACK/OPN/... are + * forwarded verbatim to the application. */ +UA_StatusCode +UA_SecureChannel_loadBuffer(UA_SecureChannel *channel, const UA_ByteString buffer); + +UA_StatusCode +UA_SecureChannel_getCompleteMessage(UA_SecureChannel *channel, + UA_MessageType *messageType, UA_UInt32 *requestId, + UA_ByteString *payload, UA_Boolean *copied); + +UA_StatusCode +UA_SecureChannel_persistBuffer(UA_SecureChannel *channel); + +/* Internal methods in ua_securechannel_crypto.h */ + +void +hideBytesAsym(const UA_SecureChannel *channel, UA_Byte **buf_start, + const UA_Byte **buf_end); + +/* Decrypt and verify via the signature. The chunk buffer is reused to hold the + * decrypted data after the MessageHeader and SecurityHeader. The chunk length + * is reduced by the signature, padding and encryption overhead. + * + * The offset argument points to the start of the encrypted content (beginning + * with the SequenceHeader).*/ +UA_StatusCode +decryptAndVerifyChunk(const UA_SecureChannel *channel, + const UA_SecurityPolicyCryptoModule *cryptoModule, + UA_MessageType messageType, UA_ByteString *chunk, + size_t offset); + +size_t +calculateAsymAlgSecurityHeaderLength(const UA_SecureChannel *channel); + +UA_StatusCode +prependHeadersAsym(UA_SecureChannel *const channel, UA_Byte *header_pos, + const UA_Byte *buf_end, size_t totalLength, + size_t securityHeaderLength, UA_UInt32 requestId, + size_t *const finalLength); + +void +setBufPos(UA_MessageContext *mc); + +UA_StatusCode +checkSymHeader(UA_SecureChannel *channel, const UA_UInt32 tokenId); + +UA_StatusCode +checkAsymHeader(UA_SecureChannel *channel, + const UA_AsymmetricAlgorithmSecurityHeader *asymHeader); + +void +padChunk(UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cm, + const UA_Byte *start, UA_Byte **pos); + +UA_StatusCode +signAndEncryptAsym(UA_SecureChannel *channel, size_t preSignLength, + UA_ByteString *buf, size_t securityHeaderLength, + size_t totalLength); + +UA_StatusCode +signAndEncryptSym(UA_MessageContext *messageContext, + size_t preSigLength, size_t totalLength); + +/** + * Log Helper + * ---------- + * C99 requires at least one element for the variadic argument. If the log + * statement has no variable arguments, supply an additional NULL. It will be + * ignored by printf. + * + * We have to jump through some hoops to enable the use of format strings + * without arguments since (pedantic) C99 does not allow variadic macros with + * zero arguments. So we add a dummy argument that is not printed (%.0s is + * string of length zero). */ + +#define UA_LOG_CHANNEL_INTERNAL(LOGGER, LEVEL, CHANNEL, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_SECURECHANNEL, \ + "TCP %lu\t| SC %" PRIu32 "\t| " MSG "%.0s", \ + (long unsigned)(CHANNEL)->connectionId, \ + (CHANNEL)->securityToken.channelId, __VA_ARGS__); \ + } + +#define UA_LOG_TRACE_CHANNEL(LOGGER, CHANNEL, ...) \ + UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, TRACE, CHANNEL, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_CHANNEL(LOGGER, CHANNEL, ...) \ + UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, DEBUG, CHANNEL, __VA_ARGS__, "")) +#define UA_LOG_INFO_CHANNEL(LOGGER, CHANNEL, ...) \ + UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, INFO, CHANNEL, __VA_ARGS__, "")) +#define UA_LOG_WARNING_CHANNEL(LOGGER, CHANNEL, ...) \ + UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, WARNING, CHANNEL, __VA_ARGS__, "")) +#define UA_LOG_ERROR_CHANNEL(LOGGER, CHANNEL, ...) \ + UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, ERROR, CHANNEL, __VA_ARGS__, "")) +#define UA_LOG_FATAL_CHANNEL(LOGGER, CHANNEL, ...) \ + UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, FATAL, CHANNEL, __VA_ARGS__, "")) + +_UA_END_DECLS + + +/**** amalgamated original file "/src/server/ua_session.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + + + +_UA_BEGIN_DECLS + +#define UA_MAXCONTINUATIONPOINTS 5 + +struct ContinuationPoint; +typedef struct ContinuationPoint ContinuationPoint; + +/* Returns the next entry in the linked list */ +ContinuationPoint * +ContinuationPoint_clear(ContinuationPoint *cp); + +struct UA_Subscription; +typedef struct UA_Subscription UA_Subscription; + +#ifdef UA_ENABLE_SUBSCRIPTIONS +typedef struct UA_PublishResponseEntry { + SIMPLEQ_ENTRY(UA_PublishResponseEntry) listEntry; + UA_UInt32 requestId; + UA_DateTime maxTime; /* Based on the TimeoutHint of the request */ + UA_PublishResponse response; +} UA_PublishResponseEntry; +#endif + +typedef struct { + UA_SessionHeader header; + UA_ApplicationDescription clientDescription; + UA_String sessionName; + UA_Boolean activated; + void *sessionHandle; /* pointer assigned in userland-callback */ + UA_NodeId sessionId; + UA_String clientUserIdOfSession; + UA_UInt32 maxRequestMessageSize; + UA_UInt32 maxResponseMessageSize; + UA_Double timeout; /* in ms */ + UA_DateTime validTill; + UA_ByteString serverNonce; + + UA_UInt16 availableContinuationPoints; + ContinuationPoint *continuationPoints; + + UA_KeyValueMap *attributes; + + /* Localization information */ + size_t localeIdsSize; + UA_String *localeIds; + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* The queue is ordered according to the priority byte (higher bytes come + * first). When a late subscription finally publishes, then it is pushed to + * the back within the sub-set of subscriptions that has the same priority + * (round-robin scheduling). */ + size_t subscriptionsSize; + TAILQ_HEAD(, UA_Subscription) subscriptions; + + size_t responseQueueSize; + SIMPLEQ_HEAD(, UA_PublishResponseEntry) responseQueue; + + size_t totalRetransmissionQueueSize; /* Retransmissions of all subscriptions */ +#endif + +#ifdef UA_ENABLE_DIAGNOSTICS + UA_SessionSecurityDiagnosticsDataType securityDiagnostics; + UA_SessionDiagnosticsDataType diagnostics; +#endif +} UA_Session; + +/** + * Session Lifecycle + * ----------------- */ + +void UA_Session_init(UA_Session *session); +void UA_Session_clear(UA_Session *session, UA_Server *server); +void UA_Session_attachToSecureChannel(UA_Session *session, UA_SecureChannel *channel); +void UA_Session_detachFromSecureChannel(UA_Session *session); +UA_StatusCode UA_Session_generateNonce(UA_Session *session); + +/* If any activity on a session happens, the timeout is extended */ +void UA_Session_updateLifetime(UA_Session *session); + +/** + * Subscription handling + * --------------------- */ + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +void +UA_Session_attachSubscription(UA_Session *session, UA_Subscription *sub); + +/* If releasePublishResponses is true and the last subscription is removed, all + * outstanding PublishResponse are sent with a StatusCode. But we don't do that + * if a Subscription is only detached for modification. */ +void +UA_Session_detachSubscription(UA_Server *server, UA_Session *session, + UA_Subscription *sub, UA_Boolean releasePublishResponses); + +UA_Subscription * +UA_Session_getSubscriptionById(UA_Session *session, + UA_UInt32 subscriptionId); + + +void +UA_Session_queuePublishReq(UA_Session *session, + UA_PublishResponseEntry* entry, + UA_Boolean head); + +UA_PublishResponseEntry * +UA_Session_dequeuePublishReq(UA_Session *session); + +#endif + +/** + * Log Helper + * ---------- + * We have to jump through some hoops to enable the use of format strings + * without arguments since (pedantic) C99 does not allow variadic macros with + * zero arguments. So we add a dummy argument that is not printed (%.0s is + * string of length zero). */ + +#define UA_LOG_SESSION_INTERNAL(LOGGER, LEVEL, SESSION, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + int nameLen = (SESSION) ? (int)(SESSION)->sessionName.length : 0; \ + const char *nameStr = (SESSION) ? \ + (const char*)(SESSION)->sessionName.data : ""; \ + unsigned long sockId = ((SESSION) && (SESSION)->header.channel) ? \ + (unsigned long)(SESSION)->header.channel->connectionId : 0; \ + UA_UInt32 chanId = ((SESSION) && (SESSION)->header.channel) ? \ + (SESSION)->header.channel->securityToken.channelId : 0; \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_SESSION, \ + "TCP %lu\t| SC %" PRIu32 "\t| Session \"%.*s\"\t| " MSG "%.0s", \ + sockId, chanId, nameLen, nameStr, __VA_ARGS__); \ + } + +#define UA_LOG_TRACE_SESSION(LOGGER, SESSION, ...) \ + UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, TRACE, SESSION, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_SESSION(LOGGER, SESSION, ...) \ + UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, DEBUG, SESSION, __VA_ARGS__, "")) +#define UA_LOG_INFO_SESSION(LOGGER, SESSION, ...) \ + UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, INFO, SESSION, __VA_ARGS__, "")) +#define UA_LOG_WARNING_SESSION(LOGGER, SESSION, ...) \ + UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, WARNING, SESSION, __VA_ARGS__, "")) +#define UA_LOG_ERROR_SESSION(LOGGER, SESSION, ...) \ + UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, ERROR, SESSION, __VA_ARGS__, "")) +#define UA_LOG_FATAL_SESSION(LOGGER, SESSION, ...) \ + UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, FATAL, SESSION, __VA_ARGS__, "")) + +_UA_END_DECLS + + +/**** amalgamated original file "/src/server/ua_subscription.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2018, 2021-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Florian Palm + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Mattias Bornhager + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +/* MonitoredItems create Notifications. Subscriptions collect Notifications from + * (several) MonitoredItems and publish them to the client. + * + * Notifications are put into two queues at the same time. One for the + * MonitoredItem that generated the notification. Here we can remove it if the + * space reserved for the MonitoredItem runs full. The second queue is the + * "global" queue for all Notifications generated in a Subscription. For + * publication, the notifications are taken out of the "global" queue in the + * order of their creation. */ + +/*****************/ +/* Notifications */ +/*****************/ + +/* Set to the TAILQ_NEXT pointer of a notification, the sentinel that the + * notification was not added to the global queue */ +#define UA_SUBSCRIPTION_QUEUE_SENTINEL ((UA_Notification*)0x01) + +typedef struct UA_Notification { + TAILQ_ENTRY(UA_Notification) localEntry; /* Notification list for the MonitoredItem */ + TAILQ_ENTRY(UA_Notification) globalEntry; /* Notification list for the Subscription */ + UA_MonitoredItem *mon; /* Always set */ + + /* The event field is used if mon->attributeId is the EventNotifier */ + union { + UA_MonitoredItemNotification dataChange; +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + UA_EventFieldList event; +#endif + } data; + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + UA_Boolean isOverflowEvent; /* Counted manually */ +#endif +} UA_Notification; + +/* Initializes and sets the sentinel pointers */ +UA_Notification * UA_Notification_new(void); + +/* Notifications are always added to the queue of the MonitoredItem. That queue + * can overflow. If Notifications are reported, they are also added to the + * global queue of the Subscription. There they are picked up by the publishing + * callback. + * + * There are two ways Notifications can be put into the global queue of the + * Subscription: They are added because the MonitoringMode of the MonitoredItem + * is "reporting". Or the MonitoringMode is "sampling" and a link is trigered + * that puts the last Notification into the global queue. */ +void UA_Notification_enqueueAndTrigger(UA_Server *server, + UA_Notification *n); + +/* Dequeue and delete the notification */ +void UA_Notification_delete(UA_Notification *n); + +/* A NotificationMessage contains an array of notifications. + * Sent NotificationMessages are stored for the republish service. */ +typedef struct UA_NotificationMessageEntry { + TAILQ_ENTRY(UA_NotificationMessageEntry) listEntry; + UA_NotificationMessage message; +} UA_NotificationMessageEntry; + +/* Queue Definitions */ +typedef TAILQ_HEAD(NotificationQueue, UA_Notification) NotificationQueue; +typedef TAILQ_HEAD(NotificationMessageQueue, UA_NotificationMessageEntry) + NotificationMessageQueue; + +/*****************/ +/* MonitoredItem */ +/*****************/ + +/* The type of sampling for MonitoredItems depends on the sampling interval. + * + * >0: Cyclic callback + * =0: Attached to the node. Sampling is triggered after every "write". + * <0: Attached to the subscription. Triggered just before every "publish". */ +typedef enum { + UA_MONITOREDITEMSAMPLINGTYPE_NONE = 0, + UA_MONITOREDITEMSAMPLINGTYPE_CYCLIC, /* Cyclic callback */ + UA_MONITOREDITEMSAMPLINGTYPE_EVENT, /* Attached to the node. Can be a "write + * event" for DataChange MonitoredItems + * with a zero sampling interval .*/ + UA_MONITOREDITEMSAMPLINGTYPE_PUBLISH /* Attached to the subscription */ +} UA_MonitoredItemSamplingType; + +struct UA_MonitoredItem { + UA_DelayedCallback delayedFreePointers; + LIST_ENTRY(UA_MonitoredItem) listEntry; /* Linked list in the Subscription */ + UA_Subscription *subscription; /* If NULL, then this is a Local MonitoredItem */ + UA_UInt32 monitoredItemId; + + /* Status and Settings */ + UA_ReadValueId itemToMonitor; + UA_MonitoringMode monitoringMode; + UA_TimestampsToReturn timestampsToReturn; + UA_Boolean registered; /* Registered in the server / Subscription */ + UA_DateTime triggeredUntil; /* If the MonitoringMode is SAMPLING, + * triggering the MonitoredItem puts the latest + * Notification into the publishing queue (of + * the Subscription). In addition, the first + * new sample is also published (and not just + * sampled) if it occurs within the duration of + * one publishing cycle after the triggering. */ + + /* If the filter is a UA_DataChangeFilter: The DataChangeFilter always + * contains an absolute deadband definition. Part 8, §6.2 gives the + * following formula to test for percentage deadbands: + * + * DataChange if (absolute value of (last cached value - current value) + * > (deadbandValue/100.0) * ((high–low) of EURange))) + * + * So we can convert from a percentage to an absolute deadband and keep + * the hot code path simple. + * + * TODO: Store the percentage deadband to recompute when the UARange is + * changed at runtime of the MonitoredItem */ + UA_MonitoringParameters parameters; + + /* Sampling */ + UA_MonitoredItemSamplingType samplingType; + union { + UA_UInt64 callbackId; + UA_MonitoredItem *nodeListNext; /* Event-Based: Attached to Node */ + LIST_ENTRY(UA_MonitoredItem) subscriptionSampling; /* Linked to publish + * interval */ + } sampling; + UA_DataValue lastValue; + + /* Triggering Links */ + size_t triggeringLinksSize; + UA_UInt32 *triggeringLinks; + + /* Notification Queue */ + NotificationQueue queue; + size_t queueSize; /* This is the current size. See also the configured + * (maximum) queueSize in the parameters. */ + size_t eventOverflows; /* Separate counter for the queue. Can at most double + * the queue size */ +}; + +void UA_MonitoredItem_init(UA_MonitoredItem *mon); +void UA_MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *mon); +void UA_MonitoredItem_removeOverflowInfoBits(UA_MonitoredItem *mon); +void UA_MonitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon); +void UA_Server_registerMonitoredItem(UA_Server *server, UA_MonitoredItem *mon); + +/* Register sampling. Either by adding a repeated callback or by adding the + * MonitoredItem to a linked list in the node. */ +UA_StatusCode +UA_MonitoredItem_registerSampling(UA_Server *server, UA_MonitoredItem *mon); + +void +UA_MonitoredItem_unregisterSampling(UA_Server *server, UA_MonitoredItem *mon); + +UA_StatusCode +UA_MonitoredItem_setMonitoringMode(UA_Server *server, UA_MonitoredItem *mon, + UA_MonitoringMode monitoringMode); + + +/* Do not use the value after calling this. It will be moved to mon or freed. */ +void +UA_MonitoredItem_processSampledValue(UA_Server *server, UA_MonitoredItem *mon, + UA_DataValue *value); + +UA_StatusCode +UA_MonitoredItem_removeLink(UA_Subscription *sub, UA_MonitoredItem *mon, + UA_UInt32 linkId); + +UA_StatusCode +UA_MonitoredItem_addLink(UA_Subscription *sub, UA_MonitoredItem *mon, + UA_UInt32 linkId); + +UA_StatusCode +UA_MonitoredItem_createDataChangeNotification(UA_Server *server, UA_MonitoredItem *mon, + const UA_DataValue *value); + +/* Remove entries until mon->maxQueueSize is reached. Sets infobits for lost + * data if required. */ +void UA_MonitoredItem_ensureQueueSpace(UA_Server *server, UA_MonitoredItem *mon); + +/****************/ +/* Subscription */ +/****************/ + +/* We use only a subset of the states defined in the standard */ +typedef enum { + UA_SUBSCRIPTIONSTATE_STOPPED = 0, + UA_SUBSCRIPTIONSTATE_REMOVING, + UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH, /* only keepalive */ + UA_SUBSCRIPTIONSTATE_ENABLED +} UA_SubscriptionState; + +/* Subscriptions are managed in a server-wide linked list. If they are attached + * to a Session, then they are additionaly in the per-Session linked-list. A + * subscription is always generated for a Session. But the CloseSession Service + * may keep Subscriptions intact beyond the Session lifetime. They can then be + * re-bound to a new Session with the TransferSubscription Service. */ +struct UA_Subscription { + UA_DelayedCallback delayedFreePointers; + LIST_ENTRY(UA_Subscription) serverListEntry; + /* Ordered according to the priority byte and round-robin scheduling for + * late subscriptions. See ua_session.h. Only set if session != NULL. */ + TAILQ_ENTRY(UA_Subscription) sessionListEntry; + UA_Session *session; /* May be NULL if no session is attached. */ + UA_UInt32 subscriptionId; + + /* Settings */ + UA_UInt32 lifeTimeCount; + UA_UInt32 maxKeepAliveCount; + UA_Double publishingInterval; /* in ms */ + UA_UInt32 notificationsPerPublish; + UA_Byte priority; + + /* Runtime information */ + UA_SubscriptionState state; + UA_Boolean late; + UA_StatusCode statusChange; /* If set, a notification is generated and the + * Subscription is deleted within + * UA_Subscription_publish. */ + UA_UInt32 nextSequenceNumber; + UA_UInt32 currentKeepAliveCount; + UA_UInt32 currentLifetimeCount; + + /* Publish Callback. Registered if id > 0. */ + UA_UInt64 publishCallbackId; + + /* Delayed callback to schedule publication of more notifications */ + UA_Boolean delayedCallbackRegistered; + UA_DelayedCallback delayedMoreNotifications; + + /* MonitoredItems */ + UA_UInt32 lastMonitoredItemId; /* increase the identifiers */ + LIST_HEAD(, UA_MonitoredItem) monitoredItems; + UA_UInt32 monitoredItemsSize; + + /* MonitoredItems that are sampled in every publish callback (with the + * publish interval of the subscription) */ + LIST_HEAD(, UA_MonitoredItem) samplingMonitoredItems; + + /* Global list of notifications from the MonitoredItems */ + TAILQ_HEAD(, UA_Notification) notificationQueue; + UA_UInt32 notificationQueueSize; /* Total queue size */ + UA_UInt32 dataChangeNotifications; + UA_UInt32 eventNotifications; + + /* Retransmission Queue */ + NotificationMessageQueue retransmissionQueue; + size_t retransmissionQueueSize; + + /* Statistics for the server diagnostics. The fields are defined according + * to the SubscriptionDiagnosticsDataType (Part 5, §12.15). */ +#ifdef UA_ENABLE_DIAGNOSTICS + UA_NodeId ns0Id; /* Representation in the Session object */ + + UA_UInt32 modifyCount; + UA_UInt32 enableCount; + UA_UInt32 disableCount; + UA_UInt32 republishRequestCount; + UA_UInt32 republishMessageCount; + UA_UInt32 transferRequestCount; + UA_UInt32 transferredToAltClientCount; + UA_UInt32 transferredToSameClientCount; + UA_UInt32 publishRequestCount; + UA_UInt32 dataChangeNotificationsCount; + UA_UInt32 eventNotificationsCount; + UA_UInt32 notificationsCount; + UA_UInt32 latePublishRequestCount; + UA_UInt32 discardedMessageCount; + UA_UInt32 monitoringQueueOverflowCount; + UA_UInt32 eventQueueOverFlowCount; +#endif +}; + +UA_Subscription * UA_Subscription_new(void); + +void +UA_Subscription_delete(UA_Server *server, UA_Subscription *sub); + +UA_StatusCode +Subscription_setState(UA_Server *server, UA_Subscription *sub, + UA_SubscriptionState state); + +void +Subscription_resetLifetime(UA_Subscription *sub); + +UA_MonitoredItem * +UA_Subscription_getMonitoredItem(UA_Subscription *sub, + UA_UInt32 monitoredItemId); + +void +UA_Subscription_publish(UA_Server *server, UA_Subscription *sub); + +void +UA_Subscription_resendData(UA_Server *server, UA_Subscription *sub); + +UA_StatusCode +UA_Subscription_removeRetransmissionMessage(UA_Subscription *sub, + UA_UInt32 sequenceNumber); + +void +UA_Session_ensurePublishQueueSpace(UA_Server *server, UA_Session *session); + +/* Forward declaration for A&C used in ua_server_internal.h" */ +struct UA_ConditionSource; +typedef struct UA_ConditionSource UA_ConditionSource; + +/* Event Handling */ +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + +#define UA_EVENTFILTER_MAXELEMENTS 64 /* Max operator elements */ +#define UA_EVENTFILTER_MAXOPERANDS 64 /* Max operands per operator */ +#define UA_EVENTFILTER_MAXSELECT 64 /* Max select clauses */ + +UA_StatusCode +UA_MonitoredItem_addEvent(UA_Server *server, UA_MonitoredItem *mon, + const UA_NodeId *event); + +UA_StatusCode +generateEventId(UA_ByteString *generatedId); + +/* Static validation when the filter is registered */ +UA_StatusCode +UA_SimpleAttributeOperandValidation(UA_Server *server, + const UA_SimpleAttributeOperand *sao); + +/* Static validation when the filter is registered */ +UA_ContentFilterElementResult +UA_ContentFilterElementValidation(UA_Server *server, size_t operatorIndex, + size_t operatorsCount, + const UA_ContentFilterElement *ef); + +/* Evaluate content filter, exported only for unit testing */ +UA_StatusCode +evaluateWhereClause(UA_Server *server, UA_Session *session, const UA_NodeId *eventNode, + const UA_ContentFilter *contentFilter, + UA_ContentFilterResult *contentFilterResult); + +#endif + +/***********/ +/* Helpers */ +/***********/ + +/* Setting an integer value within bounds */ +#define UA_BOUNDEDVALUE_SETWBOUNDS(BOUNDS, SRC, DST) { \ + if(SRC > BOUNDS.max) DST = BOUNDS.max; \ + else if(SRC < BOUNDS.min) DST = BOUNDS.min; \ + else DST = SRC; \ + } + +/* Logging + * See a description of the tricks used in ua_session.h */ +#define UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, LEVEL, SUB, MSG, ...) \ + do { \ + if((SUB) && (SUB)->session) { \ + UA_LOG_##LEVEL##_SESSION(LOGGER, (SUB)->session, \ + "Subscription %" PRIu32 " | " MSG "%.0s", \ + (SUB)->subscriptionId, __VA_ARGS__); \ + } else { \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_SERVER, \ + "Subscription %" PRIu32 " | " MSG "%.0s", \ + (SUB) ? (SUB)->subscriptionId : 0, __VA_ARGS__); \ + } \ + } while(0) + +#if UA_LOGLEVEL <= 100 +# define UA_LOG_TRACE_SUBSCRIPTION(LOGGER, SUB, ...) \ + UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, TRACE, SUB, __VA_ARGS__, "")) +#else +# define UA_LOG_TRACE_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) +#endif + +#if UA_LOGLEVEL <= 200 +# define UA_LOG_DEBUG_SUBSCRIPTION(LOGGER, SUB, ...) \ + UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, DEBUG, SUB, __VA_ARGS__, "")) +#else +# define UA_LOG_DEBUG_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) +#endif + +#if UA_LOGLEVEL <= 300 +# define UA_LOG_INFO_SUBSCRIPTION(LOGGER, SUB, ...) \ + UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, INFO, SUB, __VA_ARGS__, "")) +#else +# define UA_LOG_INFO_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) +#endif + +#if UA_LOGLEVEL <= 400 +# define UA_LOG_WARNING_SUBSCRIPTION(LOGGER, SUB, ...) \ + UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, WARNING, SUB, __VA_ARGS__, "")) +#else +# define UA_LOG_WARNING_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) +#endif + +#if UA_LOGLEVEL <= 500 +# define UA_LOG_ERROR_SUBSCRIPTION(LOGGER, SUB, ...) \ + UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, ERROR, SUB, __VA_ARGS__, "")) +#else +# define UA_LOG_ERROR_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) +#endif + +#if UA_LOGLEVEL <= 600 +# define UA_LOG_FATAL_SUBSCRIPTION(LOGGER, SUB, ...) \ + UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, FATAL, SUB, __VA_ARGS__, "")) +#else +# define UA_LOG_FATAL_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) +#endif + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +_UA_END_DECLS + + +/**** amalgamated original file "/src/pubsub/ua_pubsub_networkmessage.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017 - 2018 Fraunhofer IOSB (Author: Tino Bischoff) + * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) + */ + + + +#ifdef UA_ENABLE_PUBSUB + +_UA_BEGIN_DECLS + +#define UA_NETWORKMESSAGE_MAX_NONCE_LENGTH 16 + +/* DataSet Payload Header */ +typedef struct { + UA_Byte count; + UA_UInt16* dataSetWriterIds; +} UA_DataSetPayloadHeader; + +/* FieldEncoding Enum */ +typedef enum { + UA_FIELDENCODING_VARIANT = 0, + UA_FIELDENCODING_RAWDATA = 1, + UA_FIELDENCODING_DATAVALUE = 2, + UA_FIELDENCODING_UNKNOWN = 3 +} UA_FieldEncoding; + +/* DataSetMessage Type */ +typedef enum { + UA_DATASETMESSAGE_DATAKEYFRAME = 0, + UA_DATASETMESSAGE_DATADELTAFRAME = 1, + UA_DATASETMESSAGE_EVENT = 2, + UA_DATASETMESSAGE_KEEPALIVE = 3 +} UA_DataSetMessageType; + +/* DataSetMessage Header */ +typedef struct { + UA_Boolean dataSetMessageValid; + UA_FieldEncoding fieldEncoding; + UA_Boolean dataSetMessageSequenceNrEnabled; + UA_Boolean timestampEnabled; + UA_Boolean statusEnabled; + UA_Boolean configVersionMajorVersionEnabled; + UA_Boolean configVersionMinorVersionEnabled; + UA_DataSetMessageType dataSetMessageType; + UA_Boolean picoSecondsIncluded; + UA_UInt16 dataSetMessageSequenceNr; + UA_UtcTime timestamp; + UA_UInt16 picoSeconds; + UA_UInt16 status; + UA_UInt32 configVersionMajorVersion; + UA_UInt32 configVersionMinorVersion; +} UA_DataSetMessageHeader; + +/** + * DataSetMessage + * ^^^^^^^^^^^^^^ */ + +typedef struct { + UA_UInt16 fieldCount; + UA_DataValue* dataSetFields; + UA_ByteString rawFields; + /* Json keys for the dataSetFields: TODO: own dataSetMessageType for json? */ + UA_String* fieldNames; + /* This information is for proper en- and decoding needed */ + UA_DataSetMetaDataType *dataSetMetaDataType; +} UA_DataSetMessage_DataKeyFrameData; + +typedef struct { + UA_UInt16 fieldIndex; + UA_DataValue fieldValue; +} UA_DataSetMessage_DeltaFrameField; + +typedef struct { + UA_UInt16 fieldCount; + UA_DataSetMessage_DeltaFrameField* deltaFrameFields; +} UA_DataSetMessage_DataDeltaFrameData; + +typedef struct { + UA_DataSetMessageHeader header; + union { + UA_DataSetMessage_DataKeyFrameData keyFrameData; + UA_DataSetMessage_DataDeltaFrameData deltaFrameData; + } data; + size_t configuredSize; +} UA_DataSetMessage; + +typedef struct { + UA_UInt16* sizes; + UA_DataSetMessage* dataSetMessages; +} UA_DataSetPayload; + +typedef enum { + UA_NETWORKMESSAGE_DATASET = 0, + UA_NETWORKMESSAGE_DISCOVERY_REQUEST = 1, + UA_NETWORKMESSAGE_DISCOVERY_RESPONSE = 2 +} UA_NetworkMessageType; + +/** + * UA_NetworkMessageGroupHeader + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ +typedef struct { + UA_Boolean writerGroupIdEnabled; + UA_Boolean groupVersionEnabled; + UA_Boolean networkMessageNumberEnabled; + UA_Boolean sequenceNumberEnabled; + UA_UInt16 writerGroupId; + UA_UInt32 groupVersion; // spec: type "VersionTime" + UA_UInt16 networkMessageNumber; + UA_UInt16 sequenceNumber; +} UA_NetworkMessageGroupHeader; + +/** + * UA_NetworkMessageSecurityHeader + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ +typedef struct { + UA_Boolean networkMessageSigned; + UA_Boolean networkMessageEncrypted; + UA_Boolean securityFooterEnabled; + UA_Boolean forceKeyReset; + UA_UInt32 securityTokenId; // spec: IntegerId + UA_Byte messageNonce[UA_NETWORKMESSAGE_MAX_NONCE_LENGTH]; + UA_UInt16 messageNonceSize; + UA_UInt16 securityFooterSize; +} UA_NetworkMessageSecurityHeader; + +/** + * UA_NetworkMessage + * ^^^^^^^^^^^^^^^^^ */ +typedef struct { + UA_Byte version; + UA_Boolean messageIdEnabled; + UA_String messageId; /* For Json NetworkMessage */ + UA_Boolean publisherIdEnabled; + UA_Boolean groupHeaderEnabled; + UA_Boolean payloadHeaderEnabled; + UA_Boolean dataSetClassIdEnabled; + UA_Boolean securityEnabled; + UA_Boolean timestampEnabled; + UA_Boolean picosecondsEnabled; + UA_Boolean chunkMessage; + UA_Boolean promotedFieldsEnabled; + UA_NetworkMessageType networkMessageType; + UA_PublisherIdType publisherIdType; + UA_PublisherId publisherId; + UA_Guid dataSetClassId; + + UA_NetworkMessageGroupHeader groupHeader; + + union { + UA_DataSetPayloadHeader dataSetPayloadHeader; + } payloadHeader; + + UA_DateTime timestamp; + UA_UInt16 picoseconds; + UA_UInt16 promotedFieldsSize; + UA_Variant* promotedFields; /* BaseDataType */ + + UA_NetworkMessageSecurityHeader securityHeader; + + union { + UA_DataSetPayload dataSetPayload; + } payload; + + UA_ByteString securityFooter; +} UA_NetworkMessage; + +/**********************************************/ +/* Network Message Offsets */ +/**********************************************/ + +/* Offsets for buffered messages in the PubSub fast path. */ +typedef enum { + UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER, + UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER, + UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING, + UA_PUBSUB_OFFSETTYPE_TIMESTAMP_PICOSECONDS, + UA_PUBSUB_OFFSETTYPE_TIMESTAMP, /* source pointer */ + UA_PUBSUB_OFFSETTYPE_TIMESTAMP_NOW, /* no source */ + UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE, + UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL, + UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT, + UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL, + UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW, + UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL, + /* For subscriber RT */ + UA_PUBSUB_OFFSETTYPE_PUBLISHERID, + UA_PUBSUB_OFFSETTYPE_WRITERGROUPID, + UA_PUBSUB_OFFSETTYPE_DATASETWRITERID + /* Add more offset types as needed */ +} UA_NetworkMessageOffsetType; + +typedef struct { + UA_NetworkMessageOffsetType contentType; + union { + UA_UInt16 sequenceNumber; + UA_DataValue **externalValue; + UA_DataValue value; + } content; + size_t offset; +} UA_NetworkMessageOffset; + +typedef struct { + UA_ByteString buffer; /* The precomputed message buffer */ + UA_NetworkMessageOffset *offsets; /* Offsets for changes in the message buffer */ + size_t offsetsSize; + UA_NetworkMessage *nm; /* The precomputed NetworkMessage for subscriber */ + size_t rawMessageLength; +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_ByteString encryptBuffer; /* The precomputed message buffer is copied + * into the encrypt buffer for encryption and + * signing*/ + UA_Byte *payloadPosition; /* Payload Position of the message to encrypt*/ +#endif +} UA_NetworkMessageOffsetBuffer; + +void +UA_NetworkMessageOffsetBuffer_clear(UA_NetworkMessageOffsetBuffer *nmob); + +UA_StatusCode +UA_NetworkMessage_updateBufferedMessage(UA_NetworkMessageOffsetBuffer *buffer); + +UA_StatusCode +UA_NetworkMessage_updateBufferedNwMessage(UA_NetworkMessageOffsetBuffer *buffer, + const UA_ByteString *src, size_t *bufferPosition); + +/** + * DataSetMessage + * ^^^^^^^^^^^^^^ */ + +UA_StatusCode +UA_DataSetMessageHeader_encodeBinary(const UA_DataSetMessageHeader* src, + UA_Byte **bufPos, const UA_Byte *bufEnd); + +UA_StatusCode +UA_DataSetMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_DataSetMessageHeader* dst); + +UA_StatusCode +UA_DataSetMessage_encodeBinary(const UA_DataSetMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd); + +UA_StatusCode +UA_DataSetMessage_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_DataSetMessage* dst, UA_UInt16 dsmSize, + const UA_DataTypeArray *customTypes, + UA_DataSetMetaDataType *dsm); + +size_t +UA_DataSetMessage_calcSizeBinary(UA_DataSetMessage *p, + UA_NetworkMessageOffsetBuffer *offsetBuffer, + size_t currentOffset); + +void UA_DataSetMessage_clear(UA_DataSetMessage* p); + +/** + * NetworkMessage Encoding + * ^^^^^^^^^^^^^^^^^^^^^^^ */ + +/* If dataToEncryptStart not-NULL, then it will be set to the start-position of + * the payload in the buffer. */ +UA_StatusCode +UA_NetworkMessage_encodeBinary(const UA_NetworkMessage* src, + UA_Byte **bufPos, const UA_Byte *bufEnd, + UA_Byte **dataToEncryptStart); + +UA_StatusCode +UA_NetworkMessage_encodeHeaders(const UA_NetworkMessage* src, + UA_Byte **bufPos, const UA_Byte *bufEnd); + +UA_StatusCode +UA_NetworkMessage_encodePayload(const UA_NetworkMessage* src, + UA_Byte **bufPos, const UA_Byte *bufEnd); + +UA_StatusCode +UA_NetworkMessage_encodeFooters(const UA_NetworkMessage* src, + UA_Byte **bufPos, const UA_Byte *bufEnd); + +/** + * NetworkMessage Decoding + * ^^^^^^^^^^^^^^^^^^^^^^^ */ + +UA_StatusCode +UA_NetworkMessage_decodeHeaders(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage *dst); + +UA_StatusCode +UA_NetworkMessage_decodePayload(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage *dst, const UA_DataTypeArray *customTypes, + UA_DataSetMetaDataType *dsm); + +UA_StatusCode +UA_NetworkMessage_decodeFooters(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage *dst); + +UA_StatusCode +UA_NetworkMessage_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage* dst, const UA_DataTypeArray *customTypes); + +UA_StatusCode +UA_NetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage *dst); + +/* Also stores the offset if offsetBuffer != NULL */ +size_t +UA_NetworkMessage_calcSizeBinary(UA_NetworkMessage *p, + UA_NetworkMessageOffsetBuffer *offsetBuffer); + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + +UA_StatusCode +UA_NetworkMessage_signEncrypt(UA_NetworkMessage *nm, UA_MessageSecurityMode securityMode, + UA_PubSubSecurityPolicy *policy, void *policyContext, + UA_Byte *messageStart, UA_Byte *encryptStart, + UA_Byte *sigStart); +#endif + +void +UA_NetworkMessage_clear(UA_NetworkMessage* p); + +#ifdef UA_ENABLE_JSON_ENCODING +UA_StatusCode +UA_NetworkMessage_encodeJson(const UA_NetworkMessage *src, + UA_Byte **bufPos, const UA_Byte **bufEnd, UA_String *namespaces, + size_t namespaceSize, UA_String *serverUris, + size_t serverUriSize, UA_Boolean useReversible); + +size_t +UA_NetworkMessage_calcSizeJson(const UA_NetworkMessage *src, + UA_String *namespaces, size_t namespaceSize, + UA_String *serverUris, size_t serverUriSize, + UA_Boolean useReversible); + +UA_StatusCode UA_NetworkMessage_decodeJson(UA_NetworkMessage *dst, const UA_ByteString *src); +#endif + +_UA_END_DECLS + +#endif /* UA_ENABLE_PUBSUB */ + + +/**** amalgamated original file "/src/pubsub/ua_pubsub.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2020 Yannick Wallerer, Siemens AG + * Copyright (c) 2020, 2022 Thomas Fischer, Siemens AG + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) + * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + + +#define UA_INTERNAL + + +#ifdef UA_ENABLE_PUBSUB_SKS +#endif + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_PUBSUB + +/* Max number of underlying for sending and receiving */ +#define UA_PUBSUB_MAXCHANNELS 8 + +struct UA_WriterGroup; +typedef struct UA_WriterGroup UA_WriterGroup; + +struct UA_ReaderGroup; +typedef struct UA_ReaderGroup UA_ReaderGroup; + +struct UA_SecurityGroup; +typedef struct UA_SecurityGroup UA_SecurityGroup; + +/**********************************************/ +/* PublishedDataSet */ +/**********************************************/ + +typedef struct UA_PublishedDataSet { + UA_PublishedDataSetConfig config; + UA_DataSetMetaDataType dataSetMetaData; + TAILQ_HEAD(, UA_DataSetField) fields; + UA_UInt16 fieldSize; + UA_NodeId identifier; + UA_UInt16 promotedFieldsCount; + UA_UInt16 configurationFreezeCounter; + TAILQ_ENTRY(UA_PublishedDataSet) listEntry; +} UA_PublishedDataSet; + +UA_StatusCode +UA_PublishedDataSetConfig_copy(const UA_PublishedDataSetConfig *src, + UA_PublishedDataSetConfig *dst); + +UA_PublishedDataSet * +UA_PublishedDataSet_findPDSbyId(UA_Server *server, UA_NodeId identifier); + +UA_PublishedDataSet * +UA_PublishedDataSet_findPDSbyName(UA_Server *server, UA_String name); + +UA_AddPublishedDataSetResult +UA_PublishedDataSet_create(UA_Server *server, + const UA_PublishedDataSetConfig *publishedDataSetConfig, + UA_NodeId *pdsIdentifier); + +void +UA_PublishedDataSet_clear(UA_Server *server, + UA_PublishedDataSet *publishedDataSet); + +UA_StatusCode +UA_PublishedDataSet_remove(UA_Server *server, UA_PublishedDataSet *publishedDataSet); + +UA_StatusCode +getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, + UA_PublishedDataSetConfig *config); + +typedef struct UA_StandaloneSubscribedDataSet{ + UA_StandaloneSubscribedDataSetConfig config; + UA_NodeId identifier; + TAILQ_ENTRY(UA_StandaloneSubscribedDataSet) listEntry; + UA_NodeId connectedReader; +} UA_StandaloneSubscribedDataSet; + +UA_StatusCode +UA_StandaloneSubscribedDataSetConfig_copy(const UA_StandaloneSubscribedDataSetConfig *src, + UA_StandaloneSubscribedDataSetConfig *dst); +UA_StandaloneSubscribedDataSet * +UA_StandaloneSubscribedDataSet_findSDSbyId(UA_Server *server, UA_NodeId identifier); +UA_StandaloneSubscribedDataSet * +UA_StandaloneSubscribedDataSet_findSDSbyName(UA_Server *server, UA_String identifier); +void +UA_StandaloneSubscribedDataSet_clear(UA_Server *server, + UA_StandaloneSubscribedDataSet *subscribedDataSet); + +#define UA_LOG_PDS_INTERNAL(LOGGER, LEVEL, PDS, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String idStr = UA_STRING_NULL; \ + if(PDS) \ + UA_NodeId_print(&(PDS)->identifier, &idStr); \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ + "DataSet %.*s\t| " MSG "%.0s", (int)idStr.length, \ + (char*)idStr.data, __VA_ARGS__); \ + UA_String_clear(&idStr); \ + } + +#define UA_LOG_TRACE_DATASET(LOGGER, PDS, ...) \ + UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, TRACE, PDS, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_DATASET(LOGGER, PDS, ...) \ + UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, DEBUG, PDS, __VA_ARGS__, "")) +#define UA_LOG_INFO_DATASET(LOGGER, PDS, ...) \ + UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, INFO, PDS, __VA_ARGS__, "")) +#define UA_LOG_WARNING_DATASET(LOGGER, PDS, ...) \ + UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, WARNING, PDS, __VA_ARGS__, "")) +#define UA_LOG_ERROR_DATASET(LOGGER, PDS, ...) \ + UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, ERROR, PDS, __VA_ARGS__, "")) +#define UA_LOG_FATAL_DATASET(LOGGER, PDS, ...) \ + UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, FATAL, PDS, __VA_ARGS__, "")) + +/**********************************************/ +/* Connection */ +/**********************************************/ + +typedef struct UA_PubSubConnection { + UA_PubSubComponentEnumType componentType; + + TAILQ_ENTRY(UA_PubSubConnection) listEntry; + UA_NodeId identifier; + + /* The send/recv connections are only opened if the state is operational */ + UA_PubSubState state; + UA_PubSubConnectionConfig config; + UA_Boolean json; /* Extracted from the TransportProfileUrl */ + + /* Channels belonging to the PubSubConnection. Send channels belong to + * WriterGroups, recv channels belong to ReaderGroups. We only open channels + * if there is at least one WriterGroup/ReaderGroup respectively. + * + * Some channels belong exclusively to just one WriterGroup/ReaderGroup that + * defines additional connection properties. For example an MQTT topic name + * or QoS parameters. In that case a dedicated NetworkCallback is used that + * takes this ReaderGroup/WriterGroup directly as context. */ + UA_ConnectionManager *cm; + uintptr_t recvChannels[UA_PUBSUB_MAXCHANNELS]; + size_t recvChannelsSize; + uintptr_t sendChannel; + + size_t writerGroupsSize; + LIST_HEAD(, UA_WriterGroup) writerGroups; + + size_t readerGroupsSize; + LIST_HEAD(, UA_ReaderGroup) readerGroups; + + UA_UInt16 configurationFreezeCounter; + + UA_DateTime silenceErrorUntil; /* Avoid generating too many logs */ + + UA_Boolean deleteFlag; /* To be deleted - in addition to the PubSubState */ + UA_DelayedCallback dc; /* For delayed freeing */ +} UA_PubSubConnection; + +UA_StatusCode +UA_PubSubConnectionConfig_copy(const UA_PubSubConnectionConfig *src, + UA_PubSubConnectionConfig *dst); + +UA_PubSubConnection * +UA_PubSubConnection_findConnectionbyId(UA_Server *server, + UA_NodeId connectionIdentifier); + +UA_StatusCode +UA_PubSubConnection_create(UA_Server *server, + const UA_PubSubConnectionConfig *connectionConfig, + UA_NodeId *connectionIdentifier); + +void +UA_PubSubConnectionConfig_clear(UA_PubSubConnectionConfig *connectionConfig); + +void +UA_PubSubConnection_delete(UA_Server *server, UA_PubSubConnection *c); + +UA_StatusCode +UA_PubSubConnection_connect(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate); + +void +UA_PubSubConnection_disconnect(UA_PubSubConnection *c); + +/* Returns either the eventloop configured in the connection or, in its absence, + * for the server */ +UA_EventLoop * +UA_PubSubConnection_getEL(UA_Server *server, UA_PubSubConnection *c); + +UA_StatusCode +UA_PubSubConnection_setPubSubState(UA_Server *server, + UA_PubSubConnection *connection, + UA_PubSubState state, + UA_StatusCode cause); + +#define UA_LOG_CONNECTION_INTERNAL(LOGGER, LEVEL, CONNECTION, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String idStr = UA_STRING_NULL; \ + if(CONNECTION) \ + UA_NodeId_print(&(CONNECTION)->identifier, &idStr); \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ + "Connection %.*s\t| " MSG "%.0s", (int)idStr.length, \ + (char*)idStr.data, __VA_ARGS__); \ + UA_String_clear(&idStr); \ + } + +#define UA_LOG_TRACE_CONNECTION(LOGGER, CONNECTION, ...) \ + UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, TRACE, CONNECTION, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_CONNECTION(LOGGER, CONNECTION, ...) \ + UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, DEBUG, CONNECTION, __VA_ARGS__, "")) +#define UA_LOG_INFO_CONNECTION(LOGGER, CONNECTION, ...) \ + UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, INFO, CONNECTION, __VA_ARGS__, "")) +#define UA_LOG_WARNING_CONNECTION(LOGGER, CONNECTION, ...) \ + UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, WARNING, CONNECTION, __VA_ARGS__, "")) +#define UA_LOG_ERROR_CONNECTION(LOGGER, CONNECTION, ...) \ + UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, ERROR, CONNECTION, __VA_ARGS__, "")) +#define UA_LOG_FATAL_CONNECTION(LOGGER, CONNECTION, ...) \ + UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, FATAL, CONNECTION, __VA_ARGS__, "")) + +/**********************************************/ +/* DataSetWriter */ +/**********************************************/ + +typedef struct UA_DataSetWriterSample { + UA_Boolean valueChanged; + UA_DataValue value; +} UA_DataSetWriterSample; + +typedef struct UA_DataSetWriter { + UA_PubSubComponentEnumType componentType; + UA_DataSetWriterConfig config; + LIST_ENTRY(UA_DataSetWriter) listEntry; + UA_NodeId identifier; + UA_NodeId linkedWriterGroup; + UA_NodeId connectedDataSet; + UA_ConfigurationVersionDataType connectedDataSetVersion; + UA_PubSubState state; + + /* Deltaframes */ + UA_UInt16 deltaFrameCounter; /* count of sent deltaFrames */ + size_t lastSamplesCount; + UA_DataSetWriterSample *lastSamples; + + UA_UInt16 actualDataSetMessageSequenceCount; + UA_Boolean configurationFrozen; +} UA_DataSetWriter; + +UA_StatusCode +UA_DataSetWriterConfig_copy(const UA_DataSetWriterConfig *src, + UA_DataSetWriterConfig *dst); + +UA_DataSetWriter * +UA_DataSetWriter_findDSWbyId(UA_Server *server, UA_NodeId identifier); + +UA_StatusCode +UA_DataSetWriter_setPubSubState(UA_Server *server, + UA_DataSetWriter *dataSetWriter, + UA_PubSubState state, + UA_StatusCode cause); + +UA_StatusCode +UA_DataSetWriter_generateDataSetMessage(UA_Server *server, + UA_DataSetMessage *dataSetMessage, + UA_DataSetWriter *dataSetWriter); + +UA_StatusCode +UA_DataSetWriter_prepareDataSet(UA_Server *server, UA_DataSetWriter *dsw, + UA_DataSetMessage *dsm); + +void +UA_DataSetWriter_freezeConfiguration(UA_Server *server, UA_DataSetWriter *dsw); + +void +UA_DataSetWriter_unfreezeConfiguration(UA_Server *server, UA_DataSetWriter *dsw); + +UA_StatusCode +UA_DataSetWriter_create(UA_Server *server, + const UA_NodeId writerGroup, const UA_NodeId dataSet, + const UA_DataSetWriterConfig *dataSetWriterConfig, + UA_NodeId *writerIdentifier); + + +UA_StatusCode +UA_DataSetWriter_remove(UA_Server *server, UA_DataSetWriter *dataSetWriter); + +#define UA_LOG_WRITER_INTERNAL(LOGGER, LEVEL, WRITER, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String idStr = UA_STRING_NULL; \ + UA_String groupIdStr = UA_STRING_NULL; \ + if(WRITER) { \ + UA_NodeId_print(&(WRITER)->identifier, &idStr); \ + UA_NodeId_print(&(WRITER)->linkedWriterGroup, &groupIdStr); \ + } \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ + "WriterGroup %.*s\t| Writer %.*s\t| " MSG "%.0s", \ + (int)groupIdStr.length, (char*)groupIdStr.data, \ + (int)idStr.length, (char*)idStr.data, \ + __VA_ARGS__); \ + UA_String_clear(&idStr); \ + UA_String_clear(&groupIdStr); \ + } + +#define UA_LOG_TRACE_WRITER(LOGGER, WRITER, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, TRACE, WRITER, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_WRITER(LOGGER, WRITER, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, DEBUG, WRITER, __VA_ARGS__, "")) +#define UA_LOG_INFO_WRITER(LOGGER, WRITER, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, INFO, WRITER, __VA_ARGS__, "")) +#define UA_LOG_WARNING_WRITER(LOGGER, WRITER, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, WARNING, WRITER, __VA_ARGS__, "")) +#define UA_LOG_ERROR_WRITER(LOGGER, WRITER, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, ERROR, WRITER, __VA_ARGS__, "")) +#define UA_LOG_FATAL_WRITER(LOGGER, WRITER, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, FATAL, WRITER, __VA_ARGS__, "")) + +/**********************************************/ +/* WriterGroup */ +/**********************************************/ + +struct UA_WriterGroup { + UA_PubSubComponentEnumType componentType; + UA_WriterGroupConfig config; + LIST_ENTRY(UA_WriterGroup) listEntry; + UA_NodeId identifier; + + LIST_HEAD(, UA_DataSetWriter) writers; + UA_UInt32 writersCount; + + UA_UInt64 publishCallbackId; /* registered if != 0 */ + UA_PubSubState state; + UA_NetworkMessageOffsetBuffer bufferedMessage; + UA_UInt16 sequenceNumber; /* Increased after every succressuly sent message */ + UA_Boolean configurationFrozen; + UA_DateTime lastPublishTimeStamp; + + /* The ConnectionManager pointer is stored in the Connection. The channels + * are either stored here or in the Connection, but never both. */ + UA_PubSubConnection *linkedConnection; + uintptr_t sendChannel; + UA_Boolean deleteFlag; + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_UInt32 securityTokenId; + UA_UInt32 nonceSequenceNumber; /* To be part of the MessageNonce */ + void *securityPolicyContext; +#ifdef UA_ENABLE_PUBSUB_SKS + UA_PubSubKeyStorage *keyStorage; /* non-owning pointer to keyStorage*/ +#endif +#endif +}; + +UA_StatusCode +UA_WriterGroup_create(UA_Server *server, const UA_NodeId connection, + const UA_WriterGroupConfig *writerGroupConfig, + UA_NodeId *writerGroupIdentifier); + +UA_StatusCode +UA_WriterGroup_remove(UA_Server *server, UA_WriterGroup *wg); + +void +UA_WriterGroup_disconnect(UA_WriterGroup *wg); + +UA_StatusCode +UA_WriterGroup_connect(UA_Server *server, UA_WriterGroup *wg, + UA_Boolean validate); + +UA_StatusCode +setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce); + +UA_StatusCode +UA_WriterGroupConfig_copy(const UA_WriterGroupConfig *src, + UA_WriterGroupConfig *dst); + +UA_WriterGroup * +UA_WriterGroup_findWGbyId(UA_Server *server, UA_NodeId identifier); + +UA_StatusCode +UA_WriterGroup_freezeConfiguration(UA_Server *server, UA_WriterGroup *wg); + +UA_StatusCode +UA_WriterGroup_unfreezeConfiguration(UA_Server *server, UA_WriterGroup *wg); + +UA_StatusCode +UA_WriterGroup_setPubSubState(UA_Server *server, + UA_WriterGroup *writerGroup, + UA_PubSubState state, + UA_StatusCode cause); + +UA_StatusCode +UA_WriterGroup_addPublishCallback(UA_Server *server, UA_WriterGroup *writerGroup); + +void +UA_WriterGroup_publishCallback(UA_Server *server, + UA_WriterGroup *writerGroup); + +UA_StatusCode +UA_WriterGroup_updateConfig(UA_Server *server, UA_WriterGroup *wg, + const UA_WriterGroupConfig *config); + +#define UA_LOG_WRITERGROUP_INTERNAL(LOGGER, LEVEL, WRITERGROUP, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String idStr = UA_STRING_NULL; \ + if(WRITERGROUP) \ + UA_NodeId_print(&(WRITERGROUP)->identifier, &idStr); \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ + "WriterGroup %.*s\t| " MSG "%.0s", \ + (int)idStr.length, (char*)idStr.data, \ + __VA_ARGS__); \ + UA_String_clear(&idStr); \ + } + +#define UA_LOG_TRACE_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, TRACE, WRITERGROUP, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, DEBUG, WRITERGROUP, __VA_ARGS__, "")) +#define UA_LOG_INFO_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, INFO, WRITERGROUP, __VA_ARGS__, "")) +#define UA_LOG_WARNING_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, WARNING, WRITERGROUP, __VA_ARGS__, "")) +#define UA_LOG_ERROR_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, ERROR, WRITERGROUP, __VA_ARGS__, "")) +#define UA_LOG_FATAL_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, FATAL, WRITERGROUP, __VA_ARGS__, "")) + +/**********************************************/ +/* DataSetField */ +/**********************************************/ + +typedef struct UA_DataSetField { + UA_DataSetFieldConfig config; + TAILQ_ENTRY(UA_DataSetField) listEntry; + UA_NodeId identifier; + UA_NodeId publishedDataSet; /* parent pds */ + UA_FieldMetaData fieldMetaData; /* contains the dataSetFieldId */ + UA_UInt64 sampleCallbackId; + UA_Boolean sampleCallbackIsRegistered; + UA_Boolean configurationFrozen; +} UA_DataSetField; + +UA_StatusCode +UA_DataSetFieldConfig_copy(const UA_DataSetFieldConfig *src, + UA_DataSetFieldConfig *dst); + +UA_DataSetField * +UA_DataSetField_findDSFbyId(UA_Server *server, UA_NodeId identifier); + +UA_DataSetFieldResult +UA_DataSetField_remove(UA_Server *server, UA_DataSetField *currentField); + +UA_DataSetFieldResult +UA_DataSetField_create(UA_Server *server, const UA_NodeId publishedDataSet, + const UA_DataSetFieldConfig *fieldConfig, + UA_NodeId *fieldIdentifier); + +void +UA_PubSubDataSetField_sampleValue(UA_Server *server, UA_DataSetField *field, + UA_DataValue *value); + +/**********************************************/ +/* DataSetReader */ +/**********************************************/ + +/* DataSetReader Type definition */ +typedef struct UA_DataSetReader { + UA_PubSubComponentEnumType componentType; + UA_DataSetReaderConfig config; + UA_NodeId identifier; + UA_NodeId linkedReaderGroup; + LIST_ENTRY(UA_DataSetReader) listEntry; + + UA_PubSubState state; /* non std */ + UA_Boolean configurationFrozen; + UA_NetworkMessageOffsetBuffer bufferedMessage; + +#ifdef UA_ENABLE_PUBSUB_MONITORING + /* MessageReceiveTimeout handling */ + UA_ServerCallback msgRcvTimeoutTimerCallback; + UA_UInt64 msgRcvTimeoutTimerId; + UA_Boolean msgRcvTimeoutTimerRunning; +#endif + UA_DateTime lastHeartbeatReceived; +} UA_DataSetReader; + +/* Process Network Message using DataSetReader */ +void +UA_DataSetReader_process(UA_Server *server, + UA_ReaderGroup *readerGroup, + UA_DataSetReader *dataSetReader, + UA_DataSetMessage *dataSetMsg); + +UA_StatusCode +UA_DataSetReader_checkIdentifier(UA_Server *server, UA_NetworkMessage *msg, + UA_DataSetReader *reader, + UA_ReaderGroupConfig readerGroupConfig); + +UA_StatusCode +UA_DataSetReader_create(UA_Server *server, UA_NodeId readerGroupIdentifier, + const UA_DataSetReaderConfig *dataSetReaderConfig, + UA_NodeId *readerIdentifier); + +UA_StatusCode +UA_DataSetReader_remove(UA_Server *server, UA_DataSetReader *dsr); + +/* Copy the configuration of Target Variables */ +UA_StatusCode UA_TargetVariables_copy(const UA_TargetVariables *src, + UA_TargetVariables *dst); + +/* Clear the Target Variables configuration */ +void UA_TargetVariables_clear(UA_TargetVariables *subscribedDataSetTarget); + +/* Copy the configuration of Field Target Variables */ +UA_StatusCode UA_FieldTargetVariable_copy(const UA_FieldTargetVariable *src, + UA_FieldTargetVariable *dst); + +UA_StatusCode +DataSetReader_createTargetVariables(UA_Server *server, UA_DataSetReader *dsr, + size_t targetVariablesSize, + const UA_FieldTargetVariable *targetVariables); + +UA_StatusCode +UA_DataSetReader_setPubSubState(UA_Server *server, + UA_DataSetReader *dataSetReader, + UA_PubSubState state, + UA_StatusCode cause); + +#define UA_LOG_READER_INTERNAL(LOGGER, LEVEL, READER, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String idStr = UA_STRING_NULL; \ + UA_String groupIdStr = UA_STRING_NULL; \ + if(READER) { \ + UA_NodeId_print(&(READER)->identifier, &idStr); \ + UA_NodeId_print(&(READER)->linkedReaderGroup, &groupIdStr); \ + } \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ + "ReaderGroup %.*s\t| Reader %.*s\t| " MSG "%.0s", \ + (int)groupIdStr.length, (char*)groupIdStr.data, \ + (int)idStr.length, (char*)idStr.data, \ + __VA_ARGS__); \ + UA_String_clear(&idStr); \ + UA_String_clear(&groupIdStr); \ + } + +#define UA_LOG_TRACE_READER(LOGGER, READER, ...) \ + UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, TRACE, READER, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_READER(LOGGER, READER, ...) \ + UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, DEBUG, READER, __VA_ARGS__, "")) +#define UA_LOG_INFO_READER(LOGGER, READER, ...) \ + UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, INFO, READER, __VA_ARGS__, "")) +#define UA_LOG_WARNING_READER(LOGGER, READER, ...) \ + UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, WARNING, READER, __VA_ARGS__, "")) +#define UA_LOG_ERROR_READER(LOGGER, READER, ...) \ + UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, ERROR, READER, __VA_ARGS__, "")) +#define UA_LOG_FATAL_READER(LOGGER, READER, ...) \ + UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, FATAL, READER, __VA_ARGS__, "")) + +/**********************************************/ +/* ReaderGroup */ +/**********************************************/ + +struct UA_ReaderGroup { + UA_PubSubComponentEnumType componentType; + UA_ReaderGroupConfig config; + UA_NodeId identifier; + LIST_ENTRY(UA_ReaderGroup) listEntry; + + LIST_HEAD(, UA_DataSetReader) readers; + UA_UInt32 readersCount; + + UA_PubSubState state; + UA_Boolean configurationFrozen; + + /* The ConnectionManager pointer is stored in the Connection. The channels + * are either stored here or in the Connection, but never both. */ + UA_PubSubConnection *linkedConnection; + uintptr_t recvChannels[UA_PUBSUB_MAXCHANNELS]; + size_t recvChannelsSize; + UA_Boolean deleteFlag; + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_UInt32 securityTokenId; + UA_UInt32 nonceSequenceNumber; /* To be part of the MessageNonce */ + void *securityPolicyContext; +#ifdef UA_ENABLE_PUBSUB_SKS + UA_PubSubKeyStorage *keyStorage; +#endif +#endif +}; + +UA_StatusCode +UA_ReaderGroup_create(UA_Server *server, UA_NodeId connectionId, + const UA_ReaderGroupConfig *rgc, + UA_NodeId *readerGroupId); + +UA_StatusCode +UA_ReaderGroup_remove(UA_Server *server, UA_ReaderGroup *rg); + +UA_StatusCode +UA_ReaderGroup_connect(UA_Server *server, UA_ReaderGroup *rg, UA_Boolean validate); + +void +UA_ReaderGroup_disconnect(UA_ReaderGroup *rg); + +UA_StatusCode +setReaderGroupEncryptionKeys(UA_Server *server, const UA_NodeId readerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce); + +UA_StatusCode +UA_ReaderGroupConfig_copy(const UA_ReaderGroupConfig *src, + UA_ReaderGroupConfig *dst); + +/* Prototypes for internal util functions - some functions maybe removed later + * (currently moved from public to internal) */ +UA_ReaderGroup * +UA_ReaderGroup_findRGbyId(UA_Server *server, UA_NodeId identifier); + +UA_DataSetReader * +UA_ReaderGroup_findDSRbyId(UA_Server *server, UA_NodeId identifier); + +UA_StatusCode +UA_ReaderGroup_freezeConfiguration(UA_Server *server, UA_ReaderGroup *rg); + +UA_StatusCode +UA_ReaderGroup_unfreezeConfiguration(UA_Server *server, UA_ReaderGroup *rg); + +UA_StatusCode +UA_ReaderGroup_setPubSubState(UA_Server *server, + UA_ReaderGroup *readerGroup, + UA_PubSubState state, + UA_StatusCode cause); + +UA_Boolean +UA_ReaderGroup_decodeAndProcessRT(UA_Server *server, UA_ReaderGroup *readerGroup, + UA_ByteString *buf); + +UA_Boolean +UA_ReaderGroup_process(UA_Server *server, UA_ReaderGroup *readerGroup, + UA_NetworkMessage *nm); + +#define UA_LOG_READERGROUP_INTERNAL(LOGGER, LEVEL, RG, MSG, ...) \ + if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ + UA_String idStr = UA_STRING_NULL; \ + if(RG) \ + UA_NodeId_print(&(RG)->identifier, &idStr); \ + UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ + "ReaderGroup %.*s\t| " MSG "%.0s", (int)idStr.length, \ + (char*)idStr.data, __VA_ARGS__); \ + UA_String_clear(&idStr); \ + } + +#define UA_LOG_TRACE_READERGROUP(LOGGER, READERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, TRACE, READERGROUP, __VA_ARGS__, "")) +#define UA_LOG_DEBUG_READERGROUP(LOGGER, READERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, DEBUG, READERGROUP, __VA_ARGS__, "")) +#define UA_LOG_INFO_READERGROUP(LOGGER, READERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, INFO, READERGROUP, __VA_ARGS__, "")) +#define UA_LOG_WARNING_READERGROUP(LOGGER, READERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, WARNING, READERGROUP, __VA_ARGS__, "")) +#define UA_LOG_ERROR_READERGROUP(LOGGER, READERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, ERROR, READERGROUP, __VA_ARGS__, "")) +#define UA_LOG_FATAL_READERGROUP(LOGGER, READERGROUP, ...) \ + UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, FATAL, READERGROUP, __VA_ARGS__, "")) + +/*********************************************************/ +/* Reading Message handling */ +/*********************************************************/ + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +UA_StatusCode +verifyAndDecrypt(const UA_Logger *logger, UA_ByteString *buffer, + const size_t *currentPosition, const UA_NetworkMessage *nm, + UA_Boolean doValidate, UA_Boolean doDecrypt, + void *channelContext, UA_PubSubSecurityPolicy *securityPolicy); + +UA_StatusCode +verifyAndDecryptNetworkMessage(const UA_Logger *logger, UA_ByteString *buffer, + size_t *currentPosition, UA_NetworkMessage *nm, + UA_ReaderGroup *readerGroup); +#endif + +/* Takes a value (and not a pointer) to the buffer. The original buffer is + const. Internally we may adjust the length during decryption. */ +UA_StatusCode +decodeNetworkMessage(UA_Server *server, UA_ByteString *buffer, size_t *pos, + UA_NetworkMessage *nm, UA_PubSubConnection *connection); + +#ifdef UA_ENABLE_PUBSUB_SKS +/*********************************************************/ +/* SecurityGroup */ +/*********************************************************/ +struct UA_SecurityGroup { + UA_String securityGroupId; + UA_SecurityGroupConfig config; + UA_PubSubKeyStorage *keyStorage; + UA_NodeId securityGroupNodeId; + UA_UInt64 callbackId; + UA_DateTime baseTime; +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + UA_NodeId securityGroupFolderId; +#endif + TAILQ_ENTRY(UA_SecurityGroup) listEntry; +}; + +UA_StatusCode +UA_SecurityGroupConfig_copy(const UA_SecurityGroupConfig *src, + UA_SecurityGroupConfig *dst); + +/* finds the SecurityGroup within the server by SecurityGroup Name/Id*/ +UA_SecurityGroup * +UA_SecurityGroup_findSGbyName(UA_Server *server, UA_String securityGroupName); + +/* finds the SecurityGroup within the server by NodeId*/ +UA_SecurityGroup * +UA_SecurityGroup_findSGbyId(UA_Server *server, UA_NodeId identifier); + +void +UA_SecurityGroup_delete(UA_SecurityGroup *securityGroup); + +void +removeSecurityGroup(UA_Server *server, UA_SecurityGroup *securityGroup); + +#endif /* UA_ENABLE_PUBSUB_SKS */ + +/******************/ +/* PubSub Manager */ +/******************/ + +typedef struct UA_TopicAssign { + UA_ReaderGroup *rgIdentifier; + UA_String topic; + TAILQ_ENTRY(UA_TopicAssign) listEntry; +} UA_TopicAssign; + +typedef enum { + UA_WRITER_GROUP = 0, + UA_DATA_SET_WRITER = 1, +} UA_ReserveIdType; + +typedef struct UA_ReserveId { + UA_UInt16 id; + UA_ReserveIdType reserveIdType; + UA_String transportProfileUri; + UA_NodeId sessionId; + ZIP_ENTRY(UA_ReserveId) treeEntry; +} UA_ReserveId; + +typedef ZIP_HEAD(UA_ReserveIdTree, UA_ReserveId) UA_ReserveIdTree; + +typedef struct UA_PubSubManager { + UA_UInt64 defaultPublisherId; + /* Connections and PublishedDataSets can exist alone (own lifecycle) -> top + * level components */ + size_t connectionsSize; + TAILQ_HEAD(, UA_PubSubConnection) connections; + + size_t publishedDataSetsSize; + TAILQ_HEAD(, UA_PublishedDataSet) publishedDataSets; + + size_t subscribedDataSetsSize; + TAILQ_HEAD(, UA_StandaloneSubscribedDataSet) subscribedDataSets; + + size_t topicAssignSize; + TAILQ_HEAD(, UA_TopicAssign) topicAssign; + + size_t reserveIdsSize; + UA_ReserveIdTree reserveIds; + +#ifdef UA_ENABLE_PUBSUB_SKS + LIST_HEAD(, UA_PubSubKeyStorage) pubSubKeyList; + + size_t securityGroupsSize; + TAILQ_HEAD(, UA_SecurityGroup) securityGroups; +#endif + +#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL + UA_UInt32 uniqueIdCount; +#endif +} UA_PubSubManager; + +UA_StatusCode +UA_PubSubManager_addPubSubTopicAssign(UA_Server *server, UA_ReaderGroup *readerGroup, + UA_String topic); + +UA_StatusCode +UA_PubSubManager_reserveIds(UA_Server *server, UA_NodeId sessionId, UA_UInt16 numRegWriterGroupIds, + UA_UInt16 numRegDataSetWriterIds, UA_String transportProfileUri, + UA_UInt16 **writerGroupIds, UA_UInt16 **dataSetWriterIds); + +void +UA_PubSubManager_freeIds(UA_Server *server); + +void +UA_PubSubManager_init(UA_Server *server, UA_PubSubManager *pubSubManager); + +void +UA_PubSubManager_shutdown(UA_Server *server, UA_PubSubManager *pubSubManager); + +void +UA_PubSubManager_delete(UA_Server *server, UA_PubSubManager *pubSubManager); + +#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL +void +UA_PubSubManager_generateUniqueNodeId(UA_PubSubManager *psm, UA_NodeId *nodeId); +#endif + +#ifdef UA_ENABLE_PUBSUB_FILE_CONFIG +/* Decodes the information from the ByteString. If the decoded content is a + * PubSubConfiguration in a UABinaryFileDataType-object. It will overwrite the + * current PubSub configuration from the server. */ +UA_StatusCode +UA_PubSubManager_loadPubSubConfigFromByteString(UA_Server *server, + const UA_ByteString buffer); + +/* Saves the current PubSub configuration of a server in a byteString. */ +UA_StatusCode +UA_PubSubManager_getEncodedPubSubConfiguration(UA_Server *server, + UA_ByteString *buffer); +#endif + +UA_Guid +UA_PubSubManager_generateUniqueGuid(UA_Server *server); + +UA_UInt32 +UA_PubSubConfigurationVersionTimeDifference(void); + +/*************************************************/ +/* PubSub component monitoring */ +/*************************************************/ + +#ifdef UA_ENABLE_PUBSUB_MONITORING + +UA_StatusCode +UA_PubSubManager_setDefaultMonitoringCallbacks(UA_PubSubMonitoringInterface *monitoringInterface); + +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + +#endif /* UA_ENABLE_PUBSUB */ + +_UA_END_DECLS + + +/**** amalgamated original file "/src/pubsub/ua_pubsub_ns0.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2018 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + +#ifndef UA_PUBSUB_NS0_H_ +#define UA_PUBSUB_NS0_H_ + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL /* conditional compilation */ + +UA_StatusCode +initPubSubNS0(UA_Server *server); + +UA_StatusCode +addPubSubConnectionRepresentation(UA_Server *server, UA_PubSubConnection *connection); + +UA_StatusCode +addWriterGroupRepresentation(UA_Server *server, UA_WriterGroup *writerGroup); + +UA_StatusCode +addReaderGroupRepresentation(UA_Server *server, UA_ReaderGroup *readerGroup); + +UA_StatusCode +addDataSetWriterRepresentation(UA_Server *server, UA_DataSetWriter *dataSetWriter); + +UA_StatusCode +addPublishedDataItemsRepresentation(UA_Server *server, UA_PublishedDataSet *publishedDataSet); + +UA_StatusCode +addStandaloneSubscribedDataSetRepresentation(UA_Server *server, UA_StandaloneSubscribedDataSet *subscribedDataSet); + +UA_StatusCode +addDataSetReaderRepresentation(UA_Server *server, UA_DataSetReader *dataSetReader); + +UA_StatusCode +connectDataSetReaderToDataSet(UA_Server *server, UA_NodeId dsrId, UA_NodeId standaloneSdsId); + +#ifdef UA_ENABLE_PUBSUB_SKS +UA_StatusCode +addSecurityGroupRepresentation(UA_Server *server, UA_SecurityGroup *securityGroup); +#endif /* UA_ENABLE_PUBSUB_SKS */ + +#endif /* UA_ENABLE_PUBSUB_INFORMATIONMODEL */ + +_UA_END_DECLS + +#endif /* UA_PUBSUB_NS0_H_ */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_keystorage.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2019 ifak e.V. Magdeburg (Holger Zipper) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + +#ifndef UA_PUBSUB_KEYSTORAGE +#define UA_PUBSUB_KEYSTORAGE + + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_PUBSUB_SKS + +/** + * PubSubKeyStorage + * ================ + * A PubSubKeyStorage provides a linked list to store all the keys used to + * secure the messages. It keeps the records of old keys (past keys), current + * key, new keys (futurekeys), time to move to next key and callback id. + * + * PubSubKeyListItem is the basic item stored in the KeyList of KeyStorage. It + * provides keyId, Key, and pointer to the next key in KeyList. The KeyId is used + * to identify and update currentKey in the keystorage. The KeyId is the SecurityTokenId + * that appears in the header of messages secured with the CurrentKey. + * + * Working + * ======= + * +------------------------------+ + * |AddReaderGroup/AddWriterGroup | + * +------------------------------+ + * | + * V + * +--------------------+ + * |CheckSecurityGroupId| + * +--------------------+ + * |Yes + * V + * +--------------------+ + * |InitializeKeyStorage| + * +--------------------+ + * | + * V + * +----------------------------+ + * |store/updateKeysInKeyStorage| + * +----------------------------+ + * | + * V + * +------------------------------------------+ + * |activateKeysToAllPubSubGroupChannelContext| + * +------------------------------------------+ + * | Ʌ + * V | + * +-----------------------+ | + * |addKeyRolloverCallbacks| | + * +-----------------------+ | + * | | + * V | + * +-------------------+ | + * |keyRolloverCallback| | + * +-------------------+ | + * |CurrentKey!=LastItem | + * -------------------------+ + * + * A KeyStorage is created and initialized when a ReaderGroup or WriterGroup is + * created with securityGroupId and SecurityMode SignAndEncrypt. The new + * KeyStorage is added to the server KeyStorageList. At this time KeyList is empty. + * + * UA_PubSubKeyStorage_storeSecurityKeys is used to push the keys into existing + * keystorage. In order to update the KeyList of an existing keyStorage, + * UA_PubSubKeyStorage_update is called. + * + * After adding/updating the keys to keystorage, the current key should be + * activated to the associated PubSub Group's ChannelContext in the server. The + * security Policy associated with PubSub Group will take the keys from + * channel context and use them to secure the messages. + * The UA_PubSubKeyStorage_storeSecurityKeys and UA_PubSubKeyStorage_update + * method will be used by setSecurityKeysAction and getSecurityKeysAction to + * retrieve the keys from SKS server and store keys in local storage. + * + * Each key has a life time, after which the current key is expired and move to + * next key in the existing list. For this a callback function is added to the + * server. The callback function keyRolloverCallback is added to the server as a + * timed callback. The addKeyRolloverCallbacks function calculates the time + * stamp to trigger the callback when the current Key expires and roll + * over to the next key in existing list. + * + */ + +/** + * @brief This structure holds the information about the keys + */ +typedef struct UA_PubSubKeyListItem { + /* The SecurityTokenId associated with Key*/ + UA_UInt32 keyID; + + /* This key is not used directly since the protocol associated with the PubSubGroup(s) + * specifies an algorithm to generate distinct keys for different types of + * cryptography operations*/ + UA_ByteString key; + + /* Pointers to the key list entries*/ + TAILQ_ENTRY(UA_PubSubKeyListItem) keyListEntry; +} UA_PubSubKeyListItem; + +/* Queue Definition*/ +typedef TAILQ_HEAD(keyListItems, UA_PubSubKeyListItem) keyListItems; + +/** + * @brief It is used to hold configuration information required to connect an SKS server + * and fetch the security keys + */ +typedef struct UA_PubSubSKSConfig { + UA_ClientConfig clientConfig; + const char *endpointUrl; + UA_Server_sksPullRequestCallback userNotifyCallback; + void *context; + UA_UInt32 reqId; +} UA_PubSubSKSConfig; + +/** + * @brief This structure holds all info and keys related to one SecurityGroup. + * it is used as a list. + */ +typedef struct UA_PubSubKeyStorage { + + /** + * security group id of the security group related to this storage + */ + UA_String securityGroupID; + + /** + * none-owning pointer to the security policy related to this storage + */ + UA_PubSubSecurityPolicy *policy; + + /** + * in case of the SKS server, the key storage structure is deleted when removing the + * security group. + * in case of publisher / subscriber, one key storage structure is + * referenced by multiple reader / writer groups have a reference count to manage free + */ + UA_UInt32 referenceCount; + + /** + * array of keys. the elements inside this array have a next pointer. + * keyList can therefore be used as linked list. + */ + keyListItems keyList; + + /** + * size of the keyList + */ + size_t keyListSize; + + /** + * The maximum number of Past keys a keystorage is allowed to store + */ + UA_UInt32 maxPastKeyCount; + + /** + * The maximum number of Future keys a keyStorage is allowed to store + */ + UA_UInt32 maxFutureKeyCount; + + /* + * The maximum keylist size, calculated from maxPastKeyCount and maxFutureKeyCount + */ + UA_UInt32 maxKeyListSize; + + /** + * The SecurityTokenId that appears in the header of messages secured with the + * CurrentKey. It starts at 1 and is incremented by 1 each time the KeyLifetime + * elapses even if no keys are requested. If the CurrentTokenId increments past the + * maximum value of UInt32 it restarts a 1. + */ + UA_UInt32 currentTokenId; + + /** + * the current key used to secure the messages + */ + UA_PubSubKeyListItem *currentItem; + + /** + * keyLifeTime used to update the CurrentKey from the Local KeyStorage + */ + UA_Duration keyLifeTime; + + /** + * id used to register the callback to retrieve the keys related to this security + * group + */ + UA_UInt64 callBackId; + + /** + * used to store the sks related information to connect with SKS server and fetch security keys. + */ + UA_PubSubSKSConfig sksConfig; + + /** + * Pointer to the key storage list + */ + LIST_ENTRY(UA_PubSubKeyStorage) keyStorageList; + +} UA_PubSubKeyStorage; + +/** + * @brief Find the Keystorage from the Server KeyStorageList and returns the pointer to + * the keystorage + * + * @param server holds the keystoragelist + * @param securityGroupId of the keystorage to be found + * @return Pointer to the keystorage on success, null pointer on failure + */ +UA_PubSubKeyStorage * +UA_PubSubKeyStorage_findKeyStorage(UA_Server *server, UA_String securityGroupId); + +/** + * @brief retreives the security policy pointer from the PubSub configuration by + * SecurityPolicyUri + * + * @param server the server object + * @param securityPolicyUri the URI of the security policy + * @param policy the pointer to the security policy + * @return UA_StatusCode return status code + */ +UA_PubSubSecurityPolicy * +findPubSubSecurityPolicy(UA_Server *server, const UA_String *securityPolicyUri); + +/** + * @brief Deletes the keystorage from the server and its members + * + * @param server where the keystorage is created + * @param keyStorage pointer to the keystorage + */ +void +UA_PubSubKeyStorage_delete(UA_Server *server, UA_PubSubKeyStorage *keyStorage); + +/** + * @brief Initializes an empty Keystorage for the SecurityGroupId and add it to the Server + * KeyStorageList + * + * @param server The server object + * @param keyStorage Pointer to the keystorage to be initialized + * @param securityGroupId The identifier of the SecurityGroup + * @param policy The security policy assocaited with the security algorithm + * @param maxPastKeyCount maximum number of past keys a keystorage is allowed to store + * @param maxFutureKeyCount maximum number of future keys a keystorage is allowed to store + * @return UA_StatusCode return status code + */ +UA_StatusCode +UA_PubSubKeyStorage_init(UA_Server *server, UA_PubSubKeyStorage *keyStorage, + const UA_String *securityGroupId, + UA_PubSubSecurityPolicy *policy, + UA_UInt32 maxPastKeyCount, UA_UInt32 maxFutureKeyCount); + +/** + * @brief After Keystorage is initialized and added to the server, this method is called + * to store the current Keys and futurekeys. + * + * @param server the server object + * @param keyStorage pointer to the keyStorage + * @param currentTokenId The token Id of the current key it starts with 1 and increaments + * each time keylifetime expires + * @param currentKey the key used for encrypt the current messages + * @param futureKeys pointer to the future keys + * @param futureKeyCount the number future keys provided + * @param keyLifeTime the time period when the key expires and move to next future key in + * milli seconds + * @return UA_StatusCode the return status + */ +UA_StatusCode +UA_PubSubKeyStorage_storeSecurityKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage, + UA_UInt32 currentTokenId, const UA_ByteString *currentKey, + UA_ByteString *futureKeys, size_t futureKeyCount, + UA_Duration msKeyLifeTime); + +/** + * @brief Finds the KeyItem from the KeyList by KeyId + * + * @param keyId the identifier of the Key + * @param keyStorage pointer to the keystorage + * @param keyItem returned pointer to the keyItem in the KeyList + * @return UA_StatusCode return status code + */ +UA_StatusCode +UA_PubSubKeyStorage_getKeyByKeyID(const UA_UInt32 keyId, UA_PubSubKeyStorage *keyStorage, + UA_PubSubKeyListItem **keyItem); + +/** + * @brief Adds a new KeyItem at the end of the KeyList + * to the new KeyListItem. + * + * @param keyStorage pointer to the keystorage + * @param key the key to be added + * @param keyID the keyID associated with the key to be added + */ +UA_PubSubKeyListItem * +UA_PubSubKeyStorage_push(UA_PubSubKeyStorage *keyStorage, const UA_ByteString *key, + UA_UInt32 keyID); + +/** + * @brief It calculates the time to trigger the callback to update current key, adds the + * callback to the server and returns the callbackId. + * + * @param server the server object + * @param keyStorage the pointer to the existing keystorage in the server + * @param callback the callback function to be added to the server + * @param timeToNextMs time in milli seconds to trigger the callback function + * @param callbackID the returned callbackId of the added callback function + * @return UA_StatusCode the return status + */ +UA_StatusCode +UA_PubSubKeyStorage_addKeyRolloverCallback(UA_Server *server, + UA_PubSubKeyStorage *keyStorage, + UA_ServerCallback callback, + UA_Duration timeToNextMs, + UA_UInt64 *callbackID); + +/** + * @brief It takes the current Key data, divide it into signing key, encrypting key and + * keyNonce according to security policy associated with PubSub Group and set it in + * channel context of the assocaited PubSub Group. In case of pubSubGroupId is + * UA_NODEID_NULL, all the Reader/WriterGroup's channelcontext are updated with matching + * SecurityGroupId. + * + * @param server The server object + * @param pubSubGroupId the nodeId of the Reader/WirterGroup whose channel context to be + * updated + * @param securityGroupId The identifier for the SecurityGroup + * @return UA_StatusCode return status code + */ +UA_StatusCode +UA_PubSubKeyStorage_activateKeyToChannelContext(UA_Server *server, const UA_NodeId pubSubGroupId, + const UA_String securityGroupId); + +/** + * @brief The callback function to update the current key from keystorage in the server + * and activate the current key into channel context of the associated PubSub Group + * + * @param server the server object + * @param keyStorage the pointer to the keystorage + */ +void +UA_PubSubKeyStorage_keyRolloverCallback(UA_Server *server, UA_PubSubKeyStorage *keyStorage); + +/** + * @brief It updates/adds the current and future keys into the existing KeyStorage. + * If the currentKeyID is known to existing keyStorage, then it is set as the currentKey + * and any future keys are appended to the existing list. If the currentKeyId is not know + * then, existing keyList is discarded and replaced with the new list. + * + * @param server the server object + * @param keyStorage pointer to the keystorage + * @param currentKey the currentKey data + * @param currentKeyID the identifier of the current Key + * @param futureKeySize the size of the future key list + * @param futureKeys the pointer to the future keys list + * @param msKeyLifeTime the updated time to move to next key + * @return UA_StatusCode the return status + */ +UA_StatusCode +UA_PubSubKeyStorage_update(UA_Server *server, UA_PubSubKeyStorage *keyStorage, + const UA_ByteString *currentKey, UA_UInt32 currentKeyID, + const size_t futureKeySize, UA_ByteString *futureKeys, + UA_Duration msKeyLifeTime); + +/* KeyStorage must be referenced by atleast one PubSubGroup. This method reduces + * the reference count by one. If no PubSubGroup uses the key storage, then it + * is deleted. */ +void +UA_PubSubKeyStorage_detachKeyStorage(UA_Server *server, UA_PubSubKeyStorage *keyStorage); + +/*Calls get SecurityKeys Method and Store the returned keys into KeyStorage*/ +UA_StatusCode +getSecurityKeysAndStoreFetchedKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage); + +#endif + +_UA_END_DECLS + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/server/ua_server_async.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2019 (c) Fraunhofer IOSB (Author: Klaus Schick) + * based on + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2015 (c) Sten Grüner + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + + +_UA_BEGIN_DECLS + +#if UA_MULTITHREADING >= 100 + +struct UA_AsyncResponse; +typedef struct UA_AsyncResponse UA_AsyncResponse; + +/* A single operation (of a larger request) */ +typedef struct UA_AsyncOperation { + TAILQ_ENTRY(UA_AsyncOperation) pointers; + UA_CallMethodRequest request; + UA_CallMethodResult response; + size_t index; /* Index of the operation in the array of ops in + * request/response */ + UA_AsyncResponse *parent; /* Always non-NULL. The parent is only removed + * when its operations are removed */ +} UA_AsyncOperation; + +struct UA_AsyncResponse { + TAILQ_ENTRY(UA_AsyncResponse) pointers; /* Insert new at the end */ + UA_UInt32 requestId; + UA_NodeId sessionId; + UA_UInt32 requestHandle; + UA_DateTime timeout; + UA_AsyncOperationType operationType; + union { + UA_CallResponse callResponse; + UA_ReadResponse readResponse; + UA_WriteResponse writeResponse; + } response; + UA_UInt32 opCountdown; /* Counter for outstanding operations. The AR can + * only be deleted when all have returned. */ +}; + +typedef TAILQ_HEAD(UA_AsyncOperationQueue, UA_AsyncOperation) UA_AsyncOperationQueue; + +typedef struct { + /* Requests / Responses */ + TAILQ_HEAD(, UA_AsyncResponse) asyncResponses; + size_t asyncResponsesCount; + + /* Operations for the workers. The queues are all FIFO: Put in at the tail, + * take out at the head.*/ + UA_Lock queueLock; /* Either take this lock free-standing (with no other + * locks). Or take server->serviceMutex first and then + * the queueLock. Never take the server->serviceMutex + * when the queueLock is already acquired (deadlock)! */ + UA_AsyncOperationQueue newQueue; /* New operations for the workers */ + UA_AsyncOperationQueue dispatchedQueue; /* Operations taken by a worker. When a result is + * returned, we search for the op here to see if it + * is still "alive" (not timed out). */ + UA_AsyncOperationQueue resultQueue; /* Results to be integrated */ + size_t opsCount; /* How many operations are transient (in one of the three queues)? */ + + UA_UInt64 checkTimeoutCallbackId; /* Registered repeated callbacks */ +} UA_AsyncManager; + +void UA_AsyncManager_init(UA_AsyncManager *am, UA_Server *server); +void UA_AsyncManager_clear(UA_AsyncManager *am, UA_Server *server); + +UA_StatusCode +UA_AsyncManager_createAsyncResponse(UA_AsyncManager *am, UA_Server *server, + const UA_NodeId *sessionId, + const UA_UInt32 requestId, + const UA_UInt32 requestHandle, + const UA_AsyncOperationType operationType, + UA_AsyncResponse **outAr); + +/* Only remove the AsyncResponse when the operation count is zero */ +void +UA_AsyncManager_removeAsyncResponse(UA_AsyncManager *am, UA_AsyncResponse *ar); + +UA_StatusCode +UA_AsyncManager_createAsyncOp(UA_AsyncManager *am, UA_Server *server, + UA_AsyncResponse *ar, size_t opIndex, + const UA_CallMethodRequest *opRequest); + +/* Send out the response with status set. Also removes all outstanding + * operations from the dispatch queue. The queuelock needs to be taken before + * calling _cancel. */ +UA_UInt32 +UA_AsyncManager_cancel(UA_Server *server, UA_Session *session, UA_UInt32 requestHandle); + +typedef void (*UA_AsyncServiceOperation)(UA_Server *server, UA_Session *session, + UA_UInt32 requestId, UA_UInt32 requestHandle, + size_t opIndex, const void *requestOperation, + void *responseOperation, UA_AsyncResponse **ar); + +/* Creates an AsyncResponse in-situ when an async operation is encountered. If + * that is the case, the sync responses are moved to the AsyncResponse. */ +UA_StatusCode +UA_Server_processServiceOperationsAsync(UA_Server *server, UA_Session *session, + UA_UInt32 requestId, UA_UInt32 requestHandle, + UA_AsyncServiceOperation operationCallback, + const size_t *requestOperations, + const UA_DataType *requestOperationsType, + size_t *responseOperations, + const UA_DataType *responseOperationsType, + UA_AsyncResponse **ar) +UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +#endif /* UA_MULTITHREADING >= 100 */ + +_UA_END_DECLS + + +/**** amalgamated original file "/src/server/ua_server_internal.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2019 (c) Fraunhofer IOSB (Author: Klaus Schick) + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Julian Grothoff + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright 2022 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + */ + + +#define UA_INTERNAL + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_PUBSUB +#endif + +#ifdef UA_ENABLE_DISCOVERY +struct UA_DiscoveryManager; +typedef struct UA_DiscoveryManager UA_DiscoveryManager; +#endif + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +typedef struct { + UA_MonitoredItem monitoredItem; + void *context; + union { + UA_Server_DataChangeNotificationCallback dataChangeCallback; + /* UA_Server_EventNotificationCallback eventCallback; */ + } callback; +} UA_LocalMonitoredItem; + +#endif /* !UA_ENABLE_SUBSCRIPTIONS */ + +/********************/ +/* Server Component */ +/********************/ + +/* ServerComponents have an explicit lifecycle. But they can only be started + * when the underlying server is started. The starting/stopping of + * ServerComponents is asynchronous. That is, they might require several + * iterations of the EventLoop to finish starting/stopping. + * + * ServerComponents can only be deleted when they are STOPPED. The server will + * not fully shut down as long as there is a component remaining. */ + +typedef struct UA_ServerComponent { + UA_UInt64 identifier; + UA_String name; + ZIP_ENTRY(UA_ServerComponent) treeEntry; + UA_LifecycleState state; + + /* Starting fails if the server is not also already started */ + UA_StatusCode (*start)(UA_Server *server, + struct UA_ServerComponent *sc); + + /* Stopping is asynchronous and might need a few iterations of the main-loop + * to succeed. */ + void (*stop)(UA_Server *server, + struct UA_ServerComponent *sc); + + /* Clean up the ServerComponent. Can fail if it is not stopped. */ + UA_StatusCode (*free)(UA_Server *server, + struct UA_ServerComponent *sc); + + /* To be set by the server. So the component can notify the server about + * asynchronous state changes. */ + void (*notifyState)(UA_Server *server, struct UA_ServerComponent *sc, + UA_LifecycleState state); +} UA_ServerComponent; + +enum ZIP_CMP +cmpServerComponent(const UA_UInt64 *a, const UA_UInt64 *b); + +typedef ZIP_HEAD(UA_ServerComponentTree, UA_ServerComponent) UA_ServerComponentTree; + +ZIP_FUNCTIONS(UA_ServerComponentTree, UA_ServerComponent, treeEntry, + UA_UInt64, identifier, cmpServerComponent) + +/* Assigns the identifier if the pointer is non-NULL. + * Starts the component if the server is started. */ +void +addServerComponent(UA_Server *server, UA_ServerComponent *sc, + UA_UInt64 *identifier); + +UA_ServerComponent * +getServerComponentByName(UA_Server *server, UA_String name); + +/********************/ +/* Server Structure */ +/********************/ + +typedef struct session_list_entry { + UA_DelayedCallback cleanupCallback; + LIST_ENTRY(session_list_entry) pointers; + UA_Session session; +} session_list_entry; + +struct UA_Server { + /* Config */ + UA_ServerConfig config; + + /* Runtime state */ + UA_DateTime startTime; + UA_DateTime endTime; /* Zeroed out. If a time is set, then the server shuts + * down once the time has been reached */ + + UA_LifecycleState state; + UA_UInt64 houseKeepingCallbackId; + + UA_UInt64 serverComponentIds; /* Counter to assign ids from */ + UA_ServerComponentTree serverComponents; + +#if UA_MULTITHREADING >= 100 + UA_AsyncManager asyncManager; +#endif + + /* Session Management */ + LIST_HEAD(session_list, session_list_entry) sessions; + UA_UInt32 sessionCount; + UA_UInt32 activeSessionCount; + UA_Session adminSession; /* Local access to the services (for startup and + * maintenance) uses this Session with all possible + * access rights (Session Id: 1) */ + + /* Namespaces */ + size_t namespacesSize; + UA_String *namespaces; + + /* For bootstrapping, omit some consistency checks, creating a reference to + * the parent and member instantiation */ + UA_Boolean bootstrapNS0; + + /* Subscriptions */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + size_t subscriptionsSize; /* Number of active subscriptions */ + size_t monitoredItemsSize; /* Number of active monitored items */ + LIST_HEAD(, UA_Subscription) subscriptions; /* All subscriptions in the + * server. They may be detached + * from a session. */ + UA_UInt32 lastSubscriptionId; /* To generate unique SubscriptionIds */ + + /* To be cast to UA_LocalMonitoredItem to get the callback and context */ + LIST_HEAD(, UA_MonitoredItem) localMonitoredItems; + UA_UInt32 lastLocalMonitoredItemId; + +# ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS + LIST_HEAD(, UA_ConditionSource) conditionSources; + UA_NodeId refreshEvents[2]; +# endif +#endif + + /* Publish/Subscribe */ +#ifdef UA_ENABLE_PUBSUB + UA_PubSubManager pubSubManager; +#endif + +#if UA_MULTITHREADING >= 100 + UA_Lock serviceMutex; +#endif + + /* Statistics */ + UA_SecureChannelStatistics secureChannelStatistics; + UA_ServerDiagnosticsSummaryDataType serverDiagnosticsSummary; +}; + +/***********************/ +/* References Handling */ +/***********************/ + +enum ZIP_CMP +cmpRefTargetId(const void *a, const void *b); + +enum ZIP_CMP +cmpRefTargetName(const void *a, const void *b); + +/* Static inline methods for tree handling */ +typedef ZIP_HEAD(UA_ReferenceIdTree, UA_ReferenceTargetTreeElem) UA_ReferenceIdTree; +ZIP_FUNCTIONS(UA_ReferenceIdTree, UA_ReferenceTargetTreeElem, idTreeEntry, + UA_ReferenceTargetTreeElem, target, cmpRefTargetId) + +typedef ZIP_HEAD(UA_ReferenceNameTree, UA_ReferenceTargetTreeElem) UA_ReferenceNameTree; +ZIP_FUNCTIONS(UA_ReferenceNameTree, UA_ReferenceTargetTreeElem, nameTreeEntry, + UA_ReferenceTarget, target, cmpRefTargetName) + +/**************************/ +/* SecureChannel Handling */ +/**************************/ + +void +serverNetworkCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, + const UA_KeyValueMap *params, + UA_ByteString msg); + +UA_StatusCode +sendServiceFault(UA_SecureChannel *channel, UA_UInt32 requestId, + UA_UInt32 requestHandle, UA_StatusCode statusCode); + +/* Gets the a pointer to the context of a security policy supported by the + * server matched by the security policy uri. */ +UA_SecurityPolicy * +getSecurityPolicyByUri(const UA_Server *server, + const UA_ByteString *securityPolicyUri); + +UA_UInt32 +generateSecureChannelTokenId(UA_Server *server); + +/********************/ +/* Session Handling */ +/********************/ + +UA_StatusCode +getNamespaceByName(UA_Server *server, const UA_String namespaceUri, + size_t *foundIndex); + +UA_StatusCode +getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, + UA_String *foundUri); + +UA_StatusCode +getBoundSession(UA_Server *server, const UA_SecureChannel *channel, + const UA_NodeId *token, UA_Session **session); + +UA_StatusCode +UA_Server_createSession(UA_Server *server, UA_SecureChannel *channel, + const UA_CreateSessionRequest *request, UA_Session **session); + +void +UA_Server_removeSession(UA_Server *server, session_list_entry *sentry, + UA_ShutdownReason shutdownReason); + +UA_StatusCode +UA_Server_removeSessionByToken(UA_Server *server, const UA_NodeId *token, + UA_ShutdownReason shutdownReason); + +void +UA_Server_cleanupSessions(UA_Server *server, UA_DateTime nowMonotonic); + +UA_Session * +getSessionByToken(UA_Server *server, const UA_NodeId *token); + +UA_Session * +getSessionById(UA_Server *server, const UA_NodeId *sessionId); + +/*****************/ +/* Node Handling */ +/*****************/ + +/* Calls the callback with the node retrieved from the nodestore on top of the + * stack. Either a copy or the original node for in-situ editing. Depends on + * multithreading and the nodestore.*/ +typedef UA_StatusCode (*UA_EditNodeCallback)(UA_Server*, UA_Session*, + UA_Node *node, void*); +UA_StatusCode UA_Server_editNode(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, + UA_EditNodeCallback callback, + void *data); + +/*********************/ +/* Utility Functions */ +/*********************/ + +void setServerLifecycleState(UA_Server *server, UA_LifecycleState state); + +void setupNs1Uri(UA_Server *server); +UA_UInt16 addNamespace(UA_Server *server, const UA_String name); + +UA_Boolean +UA_Node_hasSubTypeOrInstances(const UA_NodeHead *head); + +/* Recursively searches "upwards" in the tree following specific reference types */ +UA_Boolean +isNodeInTree(UA_Server *server, const UA_NodeId *leafNode, + const UA_NodeId *nodeToFind, const UA_ReferenceTypeSet *relevantRefs); + +/* Convenience function with just a single ReferenceTypeIndex */ +UA_Boolean +isNodeInTree_singleRef(UA_Server *server, const UA_NodeId *leafNode, + const UA_NodeId *nodeToFind, const UA_Byte relevantRefTypeIndex); + +/* Returns an array with the hierarchy of nodes. The start nodes can be returned + * as well. The returned array starts at the leaf and continues "upwards" or + * "downwards". Duplicate entries are removed. */ +UA_StatusCode +browseRecursive(UA_Server *server, size_t startNodesSize, const UA_NodeId *startNodes, + UA_BrowseDirection browseDirection, const UA_ReferenceTypeSet *refTypes, + UA_UInt32 nodeClassMask, UA_Boolean includeStartNodes, + size_t *resultsSize, UA_ExpandedNodeId **results); + +/* Get the bitfield indices of a ReferenceType and possibly its subtypes. + * refType must point to a ReferenceTypeNode. */ +UA_StatusCode +referenceTypeIndices(UA_Server *server, const UA_NodeId *refType, + UA_ReferenceTypeSet *indices, UA_Boolean includeSubtypes); + +/* Returns the recursive type and interface hierarchy of the node */ +UA_StatusCode +getParentTypeAndInterfaceHierarchy(UA_Server *server, const UA_NodeId *typeNode, + UA_NodeId **typeHierarchy, size_t *typeHierarchySize); + +/* Returns the recursive interface hierarchy of the node */ +UA_StatusCode +getAllInterfaceChildNodeIds(UA_Server *server, const UA_NodeId *objectNode, const UA_NodeId *objectTypeNode, + UA_NodeId **interfaceChildNodes, size_t *interfaceChildNodesSize); + +#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS + +UA_StatusCode +UA_getConditionId(UA_Server *server, const UA_NodeId *conditionNodeId, + UA_NodeId *outConditionId); + +void +UA_ConditionList_delete(UA_Server *server); + +UA_Boolean +isConditionOrBranch(UA_Server *server, + const UA_NodeId *condition, + const UA_NodeId *conditionSource, + UA_Boolean *isCallerAC); + +#endif /* UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ + +/* Returns the type node from the node on the stack top. The type node is pushed + * on the stack and returned. */ +const UA_Node * +getNodeType(UA_Server *server, const UA_NodeHead *nodeHead); + +UA_StatusCode +sendResponse(UA_Server *server, UA_Session *session, UA_SecureChannel *channel, + UA_UInt32 requestId, UA_Response *response, const UA_DataType *responseType); + +/* Many services come as an array of operations. This function generalizes the + * processing of the operations. */ +typedef void (*UA_ServiceOperation)(UA_Server *server, UA_Session *session, + const void *context, + const void *requestOperation, + void *responseOperation); + +UA_StatusCode +UA_Server_processServiceOperations(UA_Server *server, UA_Session *session, + UA_ServiceOperation operationCallback, + const void *context, + const size_t *requestOperations, + const UA_DataType *requestOperationsType, + size_t *responseOperations, + const UA_DataType *responseOperationsType) + UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +/*********************/ +/* Locking/Unlocking */ +/*********************/ + +/* In order to prevent deadlocks between the EventLoop mutex and the + * server-mutex, we always take the EventLoop mutex first. */ + +void lockServer(UA_Server *server); +void unlockServer(UA_Server *server); + +/******************************************/ +/* Internal function calls, without locks */ +/******************************************/ +UA_StatusCode +deleteNode(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean deleteReferences); + +UA_StatusCode +addRef(UA_Server *server, const UA_NodeId sourceId, + const UA_NodeId referenceTypeId, const UA_NodeId targetId, + UA_Boolean forward); + +UA_StatusCode +deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_ExpandedNodeId targetNodeId, + UA_Boolean deleteBidirectional); + +UA_StatusCode +addRefWithSession(UA_Server *server, UA_Session *session, const UA_NodeId *sourceId, + const UA_NodeId *referenceTypeId, const UA_NodeId *targetId, + UA_Boolean forward); + +UA_StatusCode +setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, + const UA_DataSource dataSource); + +UA_StatusCode +setVariableNode_valueCallback(UA_Server *server, const UA_NodeId nodeId, + const UA_ValueCallback callback); + +UA_StatusCode +setMethodNode_callback(UA_Server *server, const UA_NodeId methodNodeId, + UA_MethodCallback methodCallback); + +UA_StatusCode +setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, + UA_NodeTypeLifecycle lifecycle); + +void +Operation_Write(UA_Server *server, UA_Session *session, void *context, + const UA_WriteValue *wv, UA_StatusCode *result); + +UA_StatusCode +writeAttribute(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, const UA_AttributeId attributeId, + const void *attr, const UA_DataType *attr_type); + +#define UA_WRITEATTRIBUTEFUNCS(ATTR, ATTRID, TYPE, TYPENAME) \ + static UA_INLINE UA_StatusCode \ + write##ATTR##Attribute(UA_Server *server, const UA_NodeId nodeId, \ + const TYPE value) { \ + return writeAttribute(server, &server->adminSession, &nodeId, \ + ATTRID, &value, &UA_TYPES[UA_TYPES_##TYPENAME]); \ + } \ + static UA_INLINE UA_StatusCode \ + write##ATTR##AttributeWithSession(UA_Server *server, UA_Session *session, \ + const UA_NodeId nodeId, const TYPE value) { \ + return writeAttribute(server, session, &nodeId, ATTRID, &value, \ + &UA_TYPES[UA_TYPES_##TYPENAME]); \ + } + +static UA_INLINE UA_StatusCode +writeValueAttribute(UA_Server *server, const UA_NodeId nodeId, + const UA_Variant *value) { + return writeAttribute(server, &server->adminSession, &nodeId, + UA_ATTRIBUTEID_VALUE, value, &UA_TYPES[UA_TYPES_VARIANT]); +} + +UA_WRITEATTRIBUTEFUNCS(IsAbstract, UA_ATTRIBUTEID_ISABSTRACT, UA_Boolean, BOOLEAN) +UA_WRITEATTRIBUTEFUNCS(ValueRank, UA_ATTRIBUTEID_VALUERANK, UA_Int32, INT32) +UA_WRITEATTRIBUTEFUNCS(AccessLevel, UA_ATTRIBUTEID_ACCESSLEVEL, UA_Byte, BYTE) +UA_WRITEATTRIBUTEFUNCS(MinimumSamplingInterval, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + UA_Double, DOUBLE) + +void +Operation_Read(UA_Server *server, UA_Session *session, UA_TimestampsToReturn *ttr, + const UA_ReadValueId *rvi, UA_DataValue *dv); + +UA_DataValue +readWithSession(UA_Server *server, UA_Session *session, + const UA_ReadValueId *item, + UA_TimestampsToReturn timestampsToReturn); + +UA_StatusCode +readWithReadValue(UA_Server *server, const UA_NodeId *nodeId, + const UA_AttributeId attributeId, void *v); + +UA_StatusCode +readObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + UA_Variant *value); + +UA_BrowsePathResult +translateBrowsePathToNodeIds(UA_Server *server, const UA_BrowsePath *browsePath); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +void monitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon); + +UA_Subscription * +getSubscriptionById(UA_Server *server, UA_UInt32 subscriptionId); + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + +UA_StatusCode +createEvent(UA_Server *server, const UA_NodeId eventType, + UA_NodeId *outNodeId); + +UA_StatusCode +triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, + const UA_NodeId origin, UA_ByteString *outEventId, + const UA_Boolean deleteEventNode); + +/* Filters the given event with the given filter and writes the results into a + * notification */ +UA_StatusCode +filterEvent(UA_Server *server, UA_Session *session, + const UA_NodeId *eventNode, UA_EventFilter *filter, + UA_EventFieldList *efl, UA_EventFilterResult *result); + +#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +/* Returns a configured SecurityPolicy with encryption. Use Basic256Sha256 if + * available. Otherwise use any encrypted SecurityPolicy. */ +UA_SecurityPolicy * +getDefaultEncryptedSecurityPolicy(UA_Server *server); + +UA_StatusCode +setCurrentEndPointsArray(UA_Server *server, const UA_String endpointURL, + UA_String *profileUris, size_t profileUrisSize, + UA_EndpointDescription **arr, size_t *arrSize); + +UA_BrowsePathResult +browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, + size_t browsePathSize, const UA_QualifiedName *browsePath); + +UA_StatusCode +writeObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, const UA_Variant value); + +UA_StatusCode +writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const void *value, const UA_DataType *type); + +UA_StatusCode +getNodeContext(UA_Server *server, UA_NodeId nodeId, void **nodeContext); + +UA_StatusCode +setNodeContext(UA_Server *server, UA_NodeId nodeId, void *nodeContext); + +void +removeCallback(UA_Server *server, UA_UInt64 callbackId); + +UA_StatusCode +changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, + UA_Double interval_ms); + +UA_StatusCode +addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, + void *data, UA_Double interval_ms, UA_UInt64 *callbackId); + +#ifdef UA_ENABLE_DISCOVERY +UA_ServerComponent * +UA_DiscoveryManager_new(UA_Server *server); +#endif + +UA_String +securityPolicyUriPostfix(const UA_String uri); + +UA_ServerComponent * +UA_BinaryProtocolManager_new(UA_Server *server); + +/***********/ +/* RefTree */ +/***********/ + +/* A RefTree is a sorted set of NodeIds that ensures we consider each node just + * once. It holds a single array for both the ExpandedNodeIds and the entries of + * a tree-structure for fast lookup. A single realloc operation (with some + * pointer repairing) can be used to increase the capacity of the RefTree. + * + * When the RefTree is complete, the tree-part at the end of the targets array + * can be ignored / cut away to use it as a simple ExpandedNodeId array. + * + * The layout of the targets array is as follows: + * + * | Targets [ExpandedNodeId, n times] | Tree [RefEntry, n times] | */ + +#define UA_REFTREE_INITIAL_SIZE 16 + +typedef struct RefEntry { + ZIP_ENTRY(RefEntry) zipfields; + const UA_ExpandedNodeId *target; + UA_UInt32 targetHash; /* Hash of the target nodeid */ +} RefEntry; + +ZIP_HEAD(RefHead, RefEntry); +typedef struct RefHead RefHead; + +typedef struct { + UA_ExpandedNodeId *targets; + RefHead head; + size_t capacity; /* available space */ + size_t size; /* used space */ +} RefTree; + +UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT +RefTree_init(RefTree *rt); + +void RefTree_clear(RefTree *rt); + +UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT +RefTree_addNodeId(RefTree *rt, const UA_NodeId *target, UA_Boolean *duplicate); + +UA_Boolean +RefTree_contains(RefTree *rt, const UA_ExpandedNodeId *target); + +UA_Boolean +RefTree_containsNodeId(RefTree *rt, const UA_NodeId *target); + +/***************************************/ +/* Check Information Model Consistency */ +/***************************************/ + +/* Read a node attribute in the context of a "checked-out" node. So the + * attribute will not be copied when possible. The variant then points into the + * node and has UA_VARIANT_DATA_NODELETE set. */ +void +ReadWithNode(const UA_Node *node, UA_Server *server, UA_Session *session, + UA_TimestampsToReturn timestampsToReturn, + const UA_ReadValueId *id, UA_DataValue *v); + +UA_StatusCode +readValueAttribute(UA_Server *server, UA_Session *session, + const UA_VariableNode *vn, UA_DataValue *v); + +/* Test whether the value matches a variable definition given by + * - datatype + * - valuerank + * - array dimensions. + * Sometimes it can be necessary to transform the content of the value, e.g. + * byte array to bytestring or uint32 to some enum. If editableValue is non-NULL, + * we try to create a matching variant that points to the original data. + * + * The reason is set whenever the return value is false */ +UA_Boolean +compatibleValue(UA_Server *server, UA_Session *session, const UA_NodeId *targetDataTypeId, + UA_Int32 targetValueRank, size_t targetArrayDimensionsSize, + const UA_UInt32 *targetArrayDimensions, const UA_Variant *value, + const UA_NumericRange *range, const char **reason); + +/* Is the DataType compatible */ +UA_Boolean +compatibleDataTypes(UA_Server *server, const UA_NodeId *dataType, + const UA_NodeId *constraintDataType); + +/* Set to the target type if compatible */ +void +adjustValueType(UA_Server *server, UA_Variant *value, + const UA_NodeId *targetDataTypeId); + +/* Is the Value compatible with the DataType? Can perform additional checks + * compared to compatibleDataTypes. */ +UA_Boolean +compatibleValueDataType(UA_Server *server, const UA_DataType *dataType, + const UA_NodeId *constraintDataType); + + +UA_Boolean +compatibleArrayDimensions(size_t constraintArrayDimensionsSize, + const UA_UInt32 *constraintArrayDimensions, + size_t testArrayDimensionsSize, + const UA_UInt32 *testArrayDimensions); + +UA_Boolean +compatibleValueArrayDimensions(const UA_Variant *value, size_t targetArrayDimensionsSize, + const UA_UInt32 *targetArrayDimensions); + +UA_Boolean +compatibleValueRankArrayDimensions(UA_Server *server, UA_Session *session, + UA_Int32 valueRank, size_t arrayDimensionsSize); + +UA_Boolean +compatibleValueRanks(UA_Int32 valueRank, UA_Int32 constraintValueRank); + +struct BrowseOpts { + UA_UInt32 maxReferences; + UA_Boolean recursive; +}; + +void +Operation_Browse(UA_Server *server, UA_Session *session, const UA_UInt32 *maxrefs, + const UA_BrowseDescription *descr, UA_BrowseResult *result); + +/************/ +/* AddNodes */ +/************/ + +UA_StatusCode +addNode(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_NodeId typeDefinition, + const void *attr, const UA_DataType *attributeType, + void *nodeContext, UA_NodeId *outNewNodeId); + +UA_StatusCode +addMethodNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_MethodAttributes *attr, UA_MethodCallback method, + size_t inputArgumentsSize, const UA_Argument *inputArguments, + const UA_NodeId inputArgumentsRequestedNewNodeId, + UA_NodeId *inputArgumentsOutNewNodeId, + size_t outputArgumentsSize, const UA_Argument *outputArguments, + const UA_NodeId outputArgumentsRequestedNewNodeId, + UA_NodeId *outputArgumentsOutNewNodeId, + void *nodeContext, UA_NodeId *outNewNodeId); + +UA_StatusCode +addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const void *attr, + const UA_DataType *attributeType, void *nodeContext, + UA_NodeId *outNewNodeId); + +/* Creates a new node in the nodestore. */ +UA_StatusCode +addNode_raw(UA_Server *server, UA_Session *session, void *nodeContext, + const UA_AddNodesItem *item, UA_NodeId *outNewNodeId); + +/* Check the reference to the parent node; Add references. */ +UA_StatusCode +addNode_addRefs(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId, + const UA_NodeId *parentNodeId, const UA_NodeId *referenceTypeId, + const UA_NodeId *typeDefinitionId); + +/* Type-check type-definition; Run the constructors */ +UA_StatusCode +addNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId); + +/**********************/ +/* Create Namespace 0 */ +/**********************/ + +UA_StatusCode initNS0(UA_Server *server); + +#ifdef UA_ENABLE_DIAGNOSTICS +void createSessionObject(UA_Server *server, UA_Session *session); + +void createSubscriptionObject(UA_Server *server, UA_Session *session, + UA_Subscription *sub); + +UA_StatusCode +readDiagnostics(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value); + +UA_StatusCode +readSubscriptionDiagnosticsArray(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value); + +UA_StatusCode +readSessionDiagnosticsArray(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value); + +UA_StatusCode +readSessionSecurityDiagnostics(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value); +#endif + +/***************************/ +/* Nodestore Access Macros */ +/***************************/ + +#define UA_NODESTORE_NEW(server, nodeClass) \ + server->config.nodestore.newNode(server->config.nodestore.context, nodeClass) + +#define UA_NODESTORE_DELETE(server, node) \ + server->config.nodestore.deleteNode(server->config.nodestore.context, node) + +/* Get the node with all attributes and references */ +static UA_INLINE const UA_Node * +UA_NODESTORE_GET(UA_Server *server, const UA_NodeId *nodeId) { + return server->config.nodestore. + getNode(server->config.nodestore.context, nodeId, UA_NODEATTRIBUTESMASK_ALL, + UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); +} + +/* Get the node with all attributes and references */ +static UA_INLINE const UA_Node * +UA_NODESTORE_GETFROMREF(UA_Server *server, UA_NodePointer target) { + return server->config.nodestore. + getNodeFromPtr(server->config.nodestore.context, target, UA_NODEATTRIBUTESMASK_ALL, + UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); +} + +#define UA_NODESTORE_GET_SELECTIVE(server, nodeid, attrMask, refs, refDirs) \ + server->config.nodestore.getNode(server->config.nodestore.context, \ + nodeid, attrMask, refs, refDirs) + +#define UA_NODESTORE_GETFROMREF_SELECTIVE(server, target, attrMask, refs, refDirs) \ + server->config.nodestore.getNodeFromPtr(server->config.nodestore.context, \ + target, attrMask, refs, refDirs) + +#define UA_NODESTORE_RELEASE(server, node) \ + server->config.nodestore.releaseNode(server->config.nodestore.context, node) + +#define UA_NODESTORE_GETCOPY(server, nodeid, outnode) \ + server->config.nodestore.getNodeCopy(server->config.nodestore.context, \ + nodeid, outnode) + +#define UA_NODESTORE_INSERT(server, node, addedNodeId) \ + server->config.nodestore.insertNode(server->config.nodestore.context, \ + node, addedNodeId) + +#define UA_NODESTORE_REPLACE(server, node) \ + server->config.nodestore.replaceNode(server->config.nodestore.context, node) + +#define UA_NODESTORE_REMOVE(server, nodeId) \ + server->config.nodestore.removeNode(server->config.nodestore.context, nodeId) + +#define UA_NODESTORE_GETREFERENCETYPEID(server, index) \ + server->config.nodestore.getReferenceTypeId(server->config.nodestore.context, \ + index) + +/* Handling of Locales */ + +/* Returns a shallow copy */ +UA_LocalizedText +UA_Session_getNodeDisplayName(const UA_Session *session, + const UA_NodeHead *head); + +UA_LocalizedText +UA_Session_getNodeDescription(const UA_Session *session, + const UA_NodeHead *head); + +UA_StatusCode +UA_Node_insertOrUpdateDisplayName(UA_NodeHead *head, + const UA_LocalizedText *value); + +UA_StatusCode +UA_Node_insertOrUpdateDescription(UA_NodeHead *head, + const UA_LocalizedText *value); + +_UA_END_DECLS + + +/**** amalgamated original file "/src/server/ua_services.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017, 2024 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2015 (c) Sten Grüner + * Copyright 2014 (c) LEvertz + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015 (c) Christian Fimmers + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +_UA_BEGIN_DECLS + +typedef void (*UA_Service)(UA_Server*, UA_Session*, + const void *request, void *response); + +typedef void (*UA_ChannelService)(UA_Server*, UA_SecureChannel*, + const void *request, void *response); + +/** Discovery Service Set **/ +void Service_FindServers(UA_Server *server, UA_Session *session, + const UA_FindServersRequest *request, + UA_FindServersResponse *response); + +void Service_GetEndpoints(UA_Server *server, UA_Session *session, + const UA_GetEndpointsRequest *request, + UA_GetEndpointsResponse *response); + +#ifdef UA_ENABLE_DISCOVERY + +void Service_RegisterServer(UA_Server *server, UA_Session *session, + const UA_RegisterServerRequest *request, + UA_RegisterServerResponse *response); + +void Service_RegisterServer2(UA_Server *server, UA_Session *session, + const UA_RegisterServer2Request *request, + UA_RegisterServer2Response *response); + +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + +void Service_FindServersOnNetwork(UA_Server *server, UA_Session *session, + const UA_FindServersOnNetworkRequest *request, + UA_FindServersOnNetworkResponse *response); + +# endif /* UA_ENABLE_DISCOVERY_MULTICAST */ + +#endif /* UA_ENABLE_DISCOVERY */ + +/** SecureChannel Service Set **/ +void Service_OpenSecureChannel(UA_Server *server, UA_SecureChannel* channel, + UA_OpenSecureChannelRequest *request, + UA_OpenSecureChannelResponse *response); + +void Service_CloseSecureChannel(UA_Server *server, UA_SecureChannel *channel); + +/** Session Service Set **/ +void Service_CreateSession(UA_Server *server, UA_SecureChannel *channel, + const UA_CreateSessionRequest *request, + UA_CreateSessionResponse *response); + +void Service_ActivateSession(UA_Server *server, UA_SecureChannel *channel, + const UA_ActivateSessionRequest *request, + UA_ActivateSessionResponse *response); + +void Service_CloseSession(UA_Server *server, UA_SecureChannel *channel, + const UA_CloseSessionRequest *request, + UA_CloseSessionResponse *response); + +void Service_Cancel(UA_Server *server, UA_Session *session, + const UA_CancelRequest *request, + UA_CancelResponse *response); + +/** NodeManagement Service Set **/ +void Service_AddNodes(UA_Server *server, UA_Session *session, + const UA_AddNodesRequest *request, + UA_AddNodesResponse *response); + +void Service_AddReferences(UA_Server *server, UA_Session *session, + const UA_AddReferencesRequest *request, + UA_AddReferencesResponse *response); + +void Service_DeleteNodes(UA_Server *server, UA_Session *session, + const UA_DeleteNodesRequest *request, + UA_DeleteNodesResponse *response); + +void Service_DeleteReferences(UA_Server *server, UA_Session *session, + const UA_DeleteReferencesRequest *request, + UA_DeleteReferencesResponse *response); + +/** View Service Set **/ +void Service_Browse(UA_Server *server, UA_Session *session, + const UA_BrowseRequest *request, + UA_BrowseResponse *response); + +void Service_BrowseNext(UA_Server *server, UA_Session *session, + const UA_BrowseNextRequest *request, + UA_BrowseNextResponse *response); + +void Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *session, + const UA_TranslateBrowsePathsToNodeIdsRequest *request, + UA_TranslateBrowsePathsToNodeIdsResponse *response); + +void Service_RegisterNodes(UA_Server *server, UA_Session *session, + const UA_RegisterNodesRequest *request, + UA_RegisterNodesResponse *response); + +void Service_UnregisterNodes(UA_Server *server, UA_Session *session, + const UA_UnregisterNodesRequest *request, + UA_UnregisterNodesResponse *response); + +/** Query Service Set (not implemented) **/ + +/** Attribute Service Set **/ +void Service_Read(UA_Server *server, UA_Session *session, + const UA_ReadRequest *request, + UA_ReadResponse *response); + +void Service_Write(UA_Server *server, UA_Session *session, + const UA_WriteRequest *request, + UA_WriteResponse *response); + +#ifdef UA_ENABLE_HISTORIZING +void Service_HistoryRead(UA_Server *server, UA_Session *session, + const UA_HistoryReadRequest *request, + UA_HistoryReadResponse *response); + +void Service_HistoryUpdate(UA_Server *server, UA_Session *session, + const UA_HistoryUpdateRequest *request, + UA_HistoryUpdateResponse *response); +#endif + +/** Method Service Set **/ +#ifdef UA_ENABLE_METHODCALLS +void Service_Call(UA_Server *server, UA_Session *session, + const UA_CallRequest *request, + UA_CallResponse *response); + +# if UA_MULTITHREADING >= 100 +void Service_CallAsync(UA_Server *server, UA_Session *session, UA_UInt32 requestId, + const UA_CallRequest *request, UA_CallResponse *response, + UA_Boolean *finished); +#endif +#endif + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +/** MonitoredItem Service Set **/ +void Service_CreateMonitoredItems(UA_Server *server, UA_Session *session, + const UA_CreateMonitoredItemsRequest *request, + UA_CreateMonitoredItemsResponse *response); + +void Service_DeleteMonitoredItems(UA_Server *server, UA_Session *session, + const UA_DeleteMonitoredItemsRequest *request, + UA_DeleteMonitoredItemsResponse *response); + +void Service_ModifyMonitoredItems(UA_Server *server, UA_Session *session, + const UA_ModifyMonitoredItemsRequest *request, + UA_ModifyMonitoredItemsResponse *response); + +void Service_SetMonitoringMode(UA_Server *server, UA_Session *session, + const UA_SetMonitoringModeRequest *request, + UA_SetMonitoringModeResponse *response); + +void Service_SetTriggering(UA_Server *server, UA_Session *session, + const UA_SetTriggeringRequest *request, + UA_SetTriggeringResponse *response); + +/** Subscription Service Set **/ +void Service_CreateSubscription(UA_Server *server, UA_Session *session, + const UA_CreateSubscriptionRequest *request, + UA_CreateSubscriptionResponse *response); + +void Service_ModifySubscription(UA_Server *server, UA_Session *session, + const UA_ModifySubscriptionRequest *request, + UA_ModifySubscriptionResponse *response); + +void Service_SetPublishingMode(UA_Server *server, UA_Session *session, + const UA_SetPublishingModeRequest *request, + UA_SetPublishingModeResponse *response); + +/* Special async service. Do not answer if StatusCode == Good. */ +UA_StatusCode +Service_Publish(UA_Server *server, UA_Session *session, + const UA_PublishRequest *request, UA_UInt32 requestId); + +void Service_Republish(UA_Server *server, UA_Session *session, + const UA_RepublishRequest *request, + UA_RepublishResponse *response); + +void Service_DeleteSubscriptions(UA_Server *server, UA_Session *session, + const UA_DeleteSubscriptionsRequest *request, + UA_DeleteSubscriptionsResponse *response); + +void Service_TransferSubscriptions(UA_Server *server, UA_Session *session, + const UA_TransferSubscriptionsRequest *request, + UA_TransferSubscriptionsResponse *response); + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +_UA_END_DECLS + + +/**** amalgamated original file "/src/client/ua_client_internal.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Florian Palm + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + */ + + +#define UA_INTERNAL + + +_UA_BEGIN_DECLS + +/**************************/ +/* Subscriptions Handling */ +/**************************/ + +typedef struct UA_Client_NotificationsAckNumber { + LIST_ENTRY(UA_Client_NotificationsAckNumber) listEntry; + UA_SubscriptionAcknowledgement subAck; +} UA_Client_NotificationsAckNumber; + +typedef struct UA_Client_MonitoredItem { + ZIP_ENTRY(UA_Client_MonitoredItem) zipfields; + UA_UInt32 monitoredItemId; + UA_UInt32 clientHandle; + void *context; + UA_Client_DeleteMonitoredItemCallback deleteCallback; + union { + UA_Client_DataChangeNotificationCallback dataChangeCallback; + UA_Client_EventNotificationCallback eventCallback; + } handler; + UA_Boolean isEventMonitoredItem; /* Otherwise a DataChange MoniitoredItem */ +} UA_Client_MonitoredItem; + +ZIP_HEAD(MonitorItemsTree, UA_Client_MonitoredItem); +typedef struct MonitorItemsTree MonitorItemsTree; + +typedef struct UA_Client_Subscription { + LIST_ENTRY(UA_Client_Subscription) listEntry; + UA_UInt32 subscriptionId; + void *context; + UA_Double publishingInterval; + UA_UInt32 maxKeepAliveCount; + UA_Client_StatusChangeNotificationCallback statusChangeCallback; + UA_Client_DeleteSubscriptionCallback deleteCallback; + UA_UInt32 sequenceNumber; + UA_DateTime lastActivity; + MonitorItemsTree monitoredItems; +} UA_Client_Subscription; + +void +__Client_Subscriptions_clean(UA_Client *client); + +/* Exposed for fuzzing */ +UA_StatusCode +__Client_preparePublishRequest(UA_Client *client, UA_PublishRequest *request); + +void +__Client_Subscriptions_backgroundPublish(UA_Client *client); + +void +__Client_Subscriptions_backgroundPublishInactivityCheck(UA_Client *client); + +/**********/ +/* Client */ +/**********/ + +typedef struct AsyncServiceCall { + LIST_ENTRY(AsyncServiceCall) pointers; + UA_UInt32 requestId; /* Unique id */ + UA_UInt32 requestHandle; /* Potentially non-unique if manually defined in + * the request header*/ + UA_ClientAsyncServiceCallback callback; + const UA_DataType *responseType; + void *userdata; + UA_DateTime start; + UA_UInt32 timeout; + UA_Response *syncResponse; /* If non-null, then this is the synchronous + * response to be filled. Set back to null to + * indicate that the response was filled. */ +} AsyncServiceCall; + +typedef LIST_HEAD(UA_AsyncServiceList, AsyncServiceCall) UA_AsyncServiceList; + +void +__Client_AsyncService_removeAll(UA_Client *client, UA_StatusCode statusCode); + +typedef struct CustomCallback { + UA_UInt32 callbackId; + + UA_ClientAsyncServiceCallback userCallback; + void *userData; + + void *clientData; +} CustomCallback; + +struct UA_Client { + UA_ClientConfig config; + + /* Callback ID to remove it from the EventLoop */ + UA_UInt64 houseKeepingCallbackId; + + /* Overall connection status */ + UA_StatusCode connectStatus; + + /* Old status to notify only changes */ + UA_SecureChannelState oldChannelState; + UA_SessionState oldSessionState; + UA_StatusCode oldConnectStatus; + + UA_Boolean findServersHandshake; /* Ongoing FindServers */ + UA_Boolean endpointsHandshake; /* Ongoing GetEndpoints */ + + /* The discoveryUrl can be different from the EndpointUrl in the client + * configuration. The EndpointUrl is used to connect initially, then the + * DiscoveryUrl is selected via FindServers. This triggers a reconnect if + * EndpointUrl != DiscoveryUrl. */ + UA_String discoveryUrl; + + /* Contains the Server description, etc. */ + UA_EndpointDescription endpoint; + + /* SecureChannel */ + UA_SecureChannel channel; + UA_UInt32 requestId; /* Unique, internally defined for each request */ + UA_DateTime nextChannelRenewal; + + /* Reverse connect (listen) connections */ + UA_ConnectionManager *reverseConnectionCM; + uintptr_t reverseConnectionIds[16]; + + /* Session */ + UA_SessionState sessionState; + UA_NodeId authenticationToken; + UA_UInt32 requestHandle; /* Unique handles >100,000 are generated if the + * request header contains a zero-handle. */ + UA_ByteString serverSessionNonce; + UA_ByteString clientSessionNonce; + + /* Connectivity check */ + UA_DateTime lastConnectivityCheck; + UA_Boolean pendingConnectivityCheck; + + /* Async Service */ + UA_AsyncServiceList asyncServiceCalls; + + /* Subscriptions */ + LIST_HEAD(, UA_Client_NotificationsAckNumber) pendingNotificationsAcks; + LIST_HEAD(, UA_Client_Subscription) subscriptions; + UA_UInt32 monitoredItemHandles; + UA_UInt16 currentlyOutStandingPublishRequests; + + /* Internal locking for thread-safety. Methods starting with UA_Client_ that + * are marked with UA_THREADSAFE take the lock. The lock is released before + * dropping into the EventLoop and before calling user-defined callbacks. + * That way user-defined callbacks can themselves call thread-safe client + * methods. */ +#if UA_MULTITHREADING >= 100 + UA_Lock clientMutex; +#endif +}; + +/* In order to prevent deadlocks between the EventLoop mutex and the + * client-mutex, we always take the EventLoop mutex first. */ + +void lockClient(UA_Client *client); +void unlockClient(UA_Client *client); + +UA_StatusCode +__Client_AsyncService(UA_Client *client, const void *request, + const UA_DataType *requestType, + UA_ClientAsyncServiceCallback callback, + const UA_DataType *responseType, + void *userdata, UA_UInt32 *requestId); + +void +__Client_Service(UA_Client *client, const void *request, + const UA_DataType *requestType, void *response, + const UA_DataType *responseType); + +UA_StatusCode +__UA_Client_startup(UA_Client *client); + +UA_StatusCode +__Client_renewSecureChannel(UA_Client *client); + +UA_StatusCode +processServiceResponse(UA_Client *client, UA_SecureChannel *channel, + UA_MessageType messageType, UA_UInt32 requestId, + UA_ByteString *message); + +UA_StatusCode connectInternal(UA_Client *client, UA_Boolean async); +UA_StatusCode connectSecureChannel(UA_Client *client, const char *endpointUrl); +UA_Boolean isFullyConnected(UA_Client *client); +void connectSync(UA_Client *client); +void notifyClientState(UA_Client *client); +void processRHEMessage(UA_Client *client, const UA_ByteString *chunk); +void processERRResponse(UA_Client *client, const UA_ByteString *chunk); +void processACKResponse(UA_Client *client, const UA_ByteString *chunk); +void processOPNResponse(UA_Client *client, const UA_ByteString *message); +void closeSecureChannel(UA_Client *client); +void cleanupSession(UA_Client *client); + +void +Client_warnEndpointsResult(UA_Client *client, + const UA_GetEndpointsResponse *response, + const UA_String *endpointUrl); + +_UA_END_DECLS + + +/**** amalgamated original file "/build/src_generated/open62541/namespace0_generated.h" ****/ + +/* WARNING: This is a generated file. + * Any manual changes will be overwritten. */ + +#ifndef NAMESPACE0_GENERATED_H_ +#define NAMESPACE0_GENERATED_H_ + + +#ifdef UA_ENABLE_AMALGAMATION + +/* The following declarations are in the open62541.c file so here's needed when compiling nodesets externally */ + +# ifndef UA_INTERNAL //this definition is needed to hide this code in the amalgamated .c file + +typedef UA_StatusCode (*UA_exchangeEncodeBuffer)(void *handle, UA_Byte **bufPos, + const UA_Byte **bufEnd); + +UA_StatusCode +UA_encodeBinary(const void *src, const UA_DataType *type, + UA_Byte **bufPos, const UA_Byte **bufEnd, + UA_exchangeEncodeBuffer exchangeCallback, + void *exchangeHandle) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +UA_StatusCode +UA_decodeBinary(const UA_ByteString *src, size_t *offset, void *dst, + const UA_DataType *type, size_t customTypesSize, + const UA_DataType *customTypes) UA_FUNC_ATTR_WARN_UNUSED_RESULT; + +size_t +UA_calcSizeBinary(void *p, const UA_DataType *type); + +const UA_DataType * +UA_findDataTypeByBinary(const UA_NodeId *typeId); + +# endif // UA_INTERNAL + +#else // UA_ENABLE_AMALGAMATION +#endif + + + + +_UA_BEGIN_DECLS + +extern UA_StatusCode namespace0_generated(UA_Server *server); + +_UA_END_DECLS + +#endif /* NAMESPACE0_GENERATED_H_ */ + +/**** amalgamated original file "/deps/cj5.h" ****/ + +// MIT License +// +// Copyright (c) 2020 Sepehr Taghdisian +// Copyright (c) 2022 Julius Pfrommer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// Very minimal single header JSON5 parser in C99, dervied from jsmn This is the +// modified version of jsmn library Thus main parts of the code is taken from +// jsmn project (https://github.com/zserge/jsmn). +// +// Compliance with JSON5: +// [x] Object keys may be an ECMAScript 5.1 IdentifierName. +// [x] Objects may have a single trailing comma. +// [x] Strings may be single quoted. +// [x] Strings may span multiple lines by escaping new line characters. +// [x] Strings may include character escapes. +// [x] Numbers may be hexadecimal. +// [x] Numbers may have a leading or trailing decimal point. +// [x] Numbers may be IEEE 754 positive infinity, negative infinity, and NaN. +// [x] Numbers may begin with an explicit plus sign. +// [x] Single and multi-line comments are allowed. +// [x] Additional white space characters are allowed. +// +// Extensions to JSON5 (more permissive): +// [x] Root objects can be an array or a primitive value +// [x] The root object may omit the surrounding brackets +// [x] Hash ('#') comments out until the end of the line. +// [x] Strings may include unescaped utf8 bytes +// [x] Optionally: Stop early when the first encountered JSON element (object, +// array, value) has been successfully parsed. Do not return an error when +// the input string was not processed to its full length. This allows the +// detection of JSON sub-strings as part of an input "lexer". +// +// Usage: +// The main function to parse json is `cj5_parse`. Like in jsmn, you provide +// all tokens to be filled as an array and provide the maximum count The result +// will be return in `cj5_result` struct, and `num_tokens` will represent the +// actual token count that is parsed. In case of errors, cj_result.error will +// be set to an error code Here's a quick example of the usage. +// +// #include "cj5.h" +// +// cj5_token tokens[32]; +// cj5_result r = cj5_parse(g_json, (int)strlen(g_json), tokens, 32, NULL); +// if(r.error != CJ5_ERROR_NONE) { +// if(r.error == CJ5_ERROR_OVERFLOW) { +// // you can use r.num_tokens to determine the actual token count and reparse +// printf("Error: line: %d, col: %d\n", r.error_line, r.error_code); +// } +// } + +#ifndef __CJ5_H_ +#define __CJ5_H_ + +#ifdef __cplusplus +# define CJ5_API extern "C" +#else +# define CJ5_API +#endif + +#if !defined(_MSC_VER) || _MSC_VER >= 1800 +# include +# include +#else +# if !defined(__bool_true_false_are_defined) +# define bool unsigned char +# define true 1 +# define false 0 +# define __bool_true_false_are_defined +# endif +#endif + +typedef enum cj5_token_type { + CJ5_TOKEN_OBJECT = 0, + CJ5_TOKEN_ARRAY, + CJ5_TOKEN_NUMBER, + CJ5_TOKEN_STRING, + CJ5_TOKEN_BOOL, + CJ5_TOKEN_NULL +} cj5_token_type; + +typedef enum cj5_error_code { + CJ5_ERROR_NONE = 0, + CJ5_ERROR_INVALID, // Invalid character/syntax + CJ5_ERROR_INCOMPLETE, // Incomplete JSON string + CJ5_ERROR_OVERFLOW, // Token buffer overflow (see cj5_result.num_tokens) + CJ5_ERROR_NOTFOUND +} cj5_error_code; + +typedef struct cj5_token { + cj5_token_type type; + unsigned int start; // Start position in the json5 string + unsigned int end; // Position of the last character (included) + unsigned int size; // For objects and arrays the number of direct + // children. Note that this is *not* the number of + // overall (recursively nested) child tokens. For + // other tokens the length of token in the json + // encoding. + unsigned int parent_id; // The root object is at position zero. It is an + // object that has itself as parent. +} cj5_token; + +typedef struct cj5_result { + cj5_error_code error; + unsigned int error_line; + unsigned int error_col; + unsigned int num_tokens; + const cj5_token* tokens; + const char* json5; +} cj5_result; + +typedef struct cj5_options { + bool stop_early; /* Return when the first element was parsed. Otherwise an + * error is returned if the input was not fully + * processed. (default: false) */ +} cj5_options; + +/* Options can be NULL */ +CJ5_API cj5_result +cj5_parse(const char *json5, unsigned int len, + cj5_token *tokens, unsigned int max_tokens, + cj5_options *options); + +CJ5_API cj5_error_code +cj5_get_bool(const cj5_result *r, unsigned int tok_index, bool *out); + +CJ5_API cj5_error_code +cj5_get_float(const cj5_result *r, unsigned int tok_index, double *out); + +CJ5_API cj5_error_code +cj5_get_int(const cj5_result *r, unsigned int tok_index, int64_t *out); + +CJ5_API cj5_error_code +cj5_get_uint(const cj5_result *r, unsigned int tok_index, uint64_t *out); + +// Replaces escape characters, utf8 codepoints, etc. +// The buffer shall have a length of at least token->size + 1. +// Upon success, the length is written to buflen. +// The output string is terminated with \0. +CJ5_API cj5_error_code +cj5_get_str(const cj5_result *r, unsigned int tok_index, + char *buf, unsigned int *buflen); + +// Skips the (nested) structure that starts at the current index. The index is +// updated accordingly. Afterwards it points to the beginning of the following +// structure. +// +// Attention! The index can point to the first element after the token array if +// the root object is skipped. +// +// Cannot fail as long as the token array is the result of cj5_parse. +CJ5_API void +cj5_skip(const cj5_result *r, unsigned int *tok_index); + +// Lookup of a key within an object (linear search). +// The current token (index) must point to an object. +// The error code CJ5_ERROR_NOTFOUND is returned if the key is not present. +// Otherwise the index is updated to point to the value associated with the key. +CJ5_API cj5_error_code +cj5_find(const cj5_result *r, unsigned int *tok_index, const char *key); + +#endif /* __CJ5_H_ */ + +/**** amalgamated original file "/deps/parse_num.h" ****/ + +#ifndef ATOI_H +#define ATOI_H + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(_MSC_VER) || _MSC_VER >= 1800 +# include +# include +# include /* C99 Boolean */ +#else +# if !defined(__bool_true_false_are_defined) +# define bool unsigned char +# define true 1 +# define false 0 +# define __bool_true_false_are_defined +# endif +#endif + +/* Parse integer numbers. Returns the number of parsed digits until the first + * non-valid character. Returns 0 upon failure. + * + * Hex numbers start with 0x. + * Signed numbers may have a +/- prefix. */ + +size_t parseUInt64(const char *str, size_t size, uint64_t *result); +size_t parseInt64(const char *str, size_t size, int64_t *result); +size_t parseDouble(const char *str, size_t size, double *result); + +#ifdef __cplusplus +} +#endif + +#endif /* ATOI_H */ + + +/**** amalgamated original file "/src/ua_types_encoding_json.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2018 (c) Fraunhofer IOSB (Author: Lukas Meling) + */ + + + + + +_UA_BEGIN_DECLS + +#define UA_JSON_MAXTOKENCOUNT 256 +#define UA_JSON_ENCODING_MAX_RECURSION 100 + +typedef struct { + uint8_t *pos; + const uint8_t *end; + + uint16_t depth; /* How often did we en-/decoding recurse? */ + UA_Boolean commaNeeded[UA_JSON_ENCODING_MAX_RECURSION]; + UA_Boolean useReversible; + UA_Boolean calcOnly; /* Only compute the length of the decoding */ + + size_t namespacesSize; + const UA_String *namespaces; + + size_t serverUrisSize; + const UA_String *serverUris; + + UA_Boolean prettyPrint; + UA_Boolean unquotedKeys; + UA_Boolean stringNodeIds; +} CtxJson; + +UA_StatusCode writeJsonObjStart(CtxJson *ctx); +UA_StatusCode writeJsonObjElm(CtxJson *ctx, const char *key, + const void *value, const UA_DataType *type); +UA_StatusCode writeJsonObjEnd(CtxJson *ctx); + +UA_StatusCode writeJsonArrStart(CtxJson *ctx); +UA_StatusCode writeJsonArrElm(CtxJson *ctx, const void *value, + const UA_DataType *type); +UA_StatusCode writeJsonArrEnd(CtxJson *ctx); + +UA_StatusCode writeJsonKey(CtxJson *ctx, const char* key); + +/* Adds a comma if needed. Distinct elements go on a new line if pretty-printing + * is enabled. */ +UA_StatusCode writeJsonBeforeElement(CtxJson *ctx, UA_Boolean distinct); + +typedef struct { + const char *json5; + cj5_token *tokens; + size_t tokensSize; + size_t index; + UA_Byte depth; + + size_t namespacesSize; + const UA_String *namespaces; + + size_t serverUrisSize; + const UA_String *serverUris; + + const UA_DataTypeArray *customTypes; + + /* Additonal data for special cases such as networkmessage/datasetmessage + * Currently only used for dataSetWriterIds */ + size_t numCustom; + void * custom; + size_t currentCustomIndex; +} ParseCtx; + +typedef UA_StatusCode +(*encodeJsonSignature)(CtxJson *ctx, const void *src, const UA_DataType *type); + +typedef UA_StatusCode +(*decodeJsonSignature)(ParseCtx *ctx, void *dst, const UA_DataType *type); + +/* Map for decoding a Json Object. An array of this is passed to the + * decodeFields function. If the key "fieldName" is found in the json object + * (mark as found and) decode the value with the "function" and write result + * into "fieldPointer" (destination). */ +typedef struct { + const char *fieldName; + void *fieldPointer; + decodeJsonSignature function; + UA_Boolean found; + const UA_DataType *type; /* Must be set for values that can be "null". If + * the function is not set, decode via the + * type->typeKind. */ +} DecodeEntry; + +UA_StatusCode decodeFields(ParseCtx *ctx, DecodeEntry *entries, size_t entryCount); + +/* Expose the jump tables and some methods for PubSub JSON decoding */ +extern const encodeJsonSignature encodeJsonJumpTable[UA_DATATYPEKINDS]; +extern const decodeJsonSignature decodeJsonJumpTable[UA_DATATYPEKINDS]; + +UA_StatusCode lookAheadForKey(ParseCtx *ctx, const char *search, size_t *resultIndex); +UA_StatusCode tokenize(ParseCtx *ctx, const UA_ByteString *src, size_t tokensSize); + +static UA_INLINE +cj5_token_type currentTokenType(const ParseCtx *ctx) { + return ctx->tokens[ctx->index].type; +} + +static UA_INLINE +size_t getTokenLength(const cj5_token *t) { + return (size_t)(1u + t->end - t->start); +} + +_UA_END_DECLS + + +/**** amalgamated original file "/src/server/ua_discovery.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Julian Grothoff + */ + + + +_UA_BEGIN_DECLS + +#ifdef UA_ENABLE_DISCOVERY + +typedef struct registeredServer_list_entry { + LIST_ENTRY(registeredServer_list_entry) pointers; + UA_RegisteredServer registeredServer; + UA_DateTime lastSeen; +} registeredServer_list_entry; + +/* Store async register service calls. So we can cancel outstanding requests + * during shutdown. */ +typedef struct { + UA_DelayedCallback cleanupCallback; /* delayed cleanup */ + UA_Server *server; + UA_DiscoveryManager *dm; + UA_Client *client; + UA_String semaphoreFilePath; + UA_Boolean unregister; + + UA_Boolean register2; + UA_Boolean shutdown; + UA_Boolean connectSuccess; +} asyncRegisterRequest; +#define UA_MAXREGISTERREQUESTS 4 + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + +#define UA_MAXMDNSRECVSOCKETS 8 + +/** + * TXT record: + * [servername]-[hostname]._opcua-tcp._tcp.local. TXT path=/ caps=NA,DA,... + * + * A/AAAA record for all ip addresses: + * [servername]-[hostname]._opcua-tcp._tcp.local. A [ip]. + * [hostname]. A [ip]. + */ + +typedef struct serverOnNetwork_list_entry { + LIST_ENTRY(serverOnNetwork_list_entry) pointers; + UA_ServerOnNetwork serverOnNetwork; + UA_DateTime created; + UA_DateTime lastSeen; + UA_Boolean txtSet; + UA_Boolean srvSet; + char* pathTmp; +} serverOnNetwork_list_entry; + +#define SERVER_ON_NETWORK_HASH_SIZE 1000 +typedef struct serverOnNetwork_hash_entry { + serverOnNetwork_list_entry* entry; + struct serverOnNetwork_hash_entry* next; +} serverOnNetwork_hash_entry; + +#endif + +struct UA_DiscoveryManager { + UA_ServerComponent sc; + + UA_UInt64 discoveryCallbackId; + + /* Taken from the server config during startup */ + const UA_Logger *logging; + UA_ServerConfig *serverConfig; + + /* Outstanding requests. So they can be cancelled during shutdown. */ + asyncRegisterRequest registerRequests[UA_MAXREGISTERREQUESTS]; + + LIST_HEAD(, registeredServer_list_entry) registeredServers; + size_t registeredServersSize; + UA_Server_registerServerCallback registerServerCallback; + void* registerServerCallbackData; + +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + mdns_daemon_t *mdnsDaemon; + UA_ConnectionManager *cm; + uintptr_t mdnsSendConnection; + uintptr_t mdnsRecvConnections[UA_MAXMDNSRECVSOCKETS]; + size_t mdnsRecvConnectionsSize; + UA_Boolean mdnsMainSrvAdded; + + /* Full Domain Name of server itself. Used to detect if received mDNS + * message was from itself */ + UA_String selfFqdnMdnsRecord; + + LIST_HEAD(, serverOnNetwork_list_entry) serverOnNetwork; + + UA_UInt32 serverOnNetworkRecordIdCounter; + UA_DateTime serverOnNetworkRecordIdLastReset; + + /* hash mapping domain name to serverOnNetwork list entry */ + struct serverOnNetwork_hash_entry* serverOnNetworkHash[SERVER_ON_NETWORK_HASH_SIZE]; + + UA_Server_serverOnNetworkCallback serverOnNetworkCallback; + void *serverOnNetworkCallbackData; + + UA_UInt64 mdnsCallbackId; +# endif /* UA_ENABLE_DISCOVERY_MULTICAST */ +}; + +void +UA_DiscoveryManager_setState(UA_Server *server, + UA_DiscoveryManager *dm, + UA_LifecycleState state); + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + +/* Sends out a new mDNS package for the given server data. This Method is + * normally called when another server calls the RegisterServer Service on this + * server. Then this server is responsible to send out a new mDNS package to + * announce it. + * + * Additionally this method also adds the given server to the internal + * serversOnNetwork list so that a client finds it when calling + * FindServersOnNetwork. */ +void +UA_Discovery_updateMdnsForDiscoveryUrl(UA_DiscoveryManager *dm, const UA_String *serverName, + const UA_MdnsDiscoveryConfiguration *mdnsConfig, + const UA_String *discoveryUrl, UA_Boolean isOnline, + UA_Boolean updateTxt); + +void mdns_record_received(const struct resource *r, void *data); + +void mdns_create_txt(UA_DiscoveryManager *dm, const char *fullServiceDomain, + const char *path, const UA_String *capabilites, + const size_t capabilitiesSize, + void (*conflict)(char *host, int type, void *arg)); + +void mdns_set_address_record(UA_DiscoveryManager *dm, const char *fullServiceDomain, + const char *localDomain); + +mdns_record_t * +mdns_find_record(mdns_daemon_t *mdnsDaemon, unsigned short type, + const char *host, const char *rdname); + +void startMulticastDiscoveryServer(UA_Server *server); +void stopMulticastDiscoveryServer(UA_Server *server); +void sendMulticastMessages(UA_DiscoveryManager *dm); + +UA_StatusCode +UA_DiscoveryManager_addEntryToServersOnNetwork(UA_DiscoveryManager *dm, + const char *fqdnMdnsRecord, + const char *serverName, + size_t serverNameLen, + struct serverOnNetwork_list_entry **addedEntry); + +UA_StatusCode +UA_DiscoveryManager_removeEntryFromServersOnNetwork(UA_DiscoveryManager *dm, + const char *fqdnMdnsRecord, + const char *serverName, + size_t serverNameLen); + +#endif /* UA_ENABLE_DISCOVERY_MULTICAST */ + +#endif /* UA_ENABLE_DISCOVERY */ + +_UA_END_DECLS + + +/**** amalgamated original file "/src/ua_types.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2016-2017 (c) Florian Palm + * Copyright 2014-2016 (c) Sten Grüner + * Copyright 2014 (c) Leon Urbas + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015 (c) Markus Graube + * Copyright 2015 (c) Reza Ebrahimi + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) Lorenz Haas + */ + + + +#define UA_MAX_ARRAY_DIMS 100 /* Max dimensions of an array */ + +/* Datatype Handling + * ----------------- + * This file contains handling functions for the builtin types and functions + * handling of structured types and arrays. These need type descriptions in a + * UA_DataType structure. The UA_DataType structures as well as all non-builtin + * datatypes are autogenerated. */ + +/* Global definition of NULL type instances. These are always zeroed out, as + * mandated by the C/C++ standard for global values with no initializer. */ +const UA_String UA_STRING_NULL = {0, NULL}; +const UA_ByteString UA_BYTESTRING_NULL = {0, NULL}; +const UA_Guid UA_GUID_NULL = {0, 0, 0, {0,0,0,0,0,0,0,0}}; +const UA_NodeId UA_NODEID_NULL = {0, UA_NODEIDTYPE_NUMERIC, {0}}; +const UA_ExpandedNodeId UA_EXPANDEDNODEID_NULL = {{0, UA_NODEIDTYPE_NUMERIC, {0}}, {0, NULL}, 0}; + +typedef UA_StatusCode +(*UA_copySignature)(const void *src, void *dst, const UA_DataType *type); +extern const UA_copySignature copyJumpTable[UA_DATATYPEKINDS]; + +typedef void (*UA_clearSignature)(void *p, const UA_DataType *type); +extern const UA_clearSignature clearJumpTable[UA_DATATYPEKINDS]; + +typedef UA_Order +(*UA_orderSignature)(const void *p1, const void *p2, const UA_DataType *type); +extern const UA_orderSignature orderJumpTable[UA_DATATYPEKINDS]; + +static UA_Order +nodeIdOrder(const UA_NodeId *p1, const UA_NodeId *p2, const UA_DataType *_); +static UA_Order +expandedNodeIdOrder(const UA_ExpandedNodeId *p1, const UA_ExpandedNodeId *p2, + const UA_DataType *_); +static UA_Order +guidOrder(const UA_Guid *p1, const UA_Guid *p2, const UA_DataType *_); + +const UA_DataType * +UA_findDataTypeWithCustom(const UA_NodeId *typeId, + const UA_DataTypeArray *customTypes) { + /* Always look in built-in types first (may contain data types from all + * namespaces). + * + * TODO: The standard-defined types are ordered. See if binary search is + * more efficient. */ + for(size_t i = 0; i < UA_TYPES_COUNT; ++i) { + if(nodeIdOrder(&UA_TYPES[i].typeId, typeId, NULL) == UA_ORDER_EQ) + return &UA_TYPES[i]; + } + + /* Search in the customTypes */ + while(customTypes) { + for(size_t i = 0; i < customTypes->typesSize; ++i) { + if(nodeIdOrder(&customTypes->types[i].typeId, typeId, NULL) == UA_ORDER_EQ) + return &customTypes->types[i]; + } + customTypes = customTypes->next; + } + + return NULL; +} + +const UA_DataType * +UA_findDataType(const UA_NodeId *typeId) { + return UA_findDataTypeWithCustom(typeId, NULL); +} + +void +UA_cleanupDataTypeWithCustom(const UA_DataTypeArray *customTypes) { + while (customTypes) { + const UA_DataTypeArray *next = customTypes->next; + if (customTypes->cleanup) { + for(size_t i = 0; i < customTypes->typesSize; ++i) { + const UA_DataType *type = &customTypes->types[i]; + UA_free((void*)(uintptr_t)type->typeName); + for(size_t j = 0; j < type->membersSize; ++j) { + const UA_DataTypeMember *m = &type->members[j]; + UA_free((void*)(uintptr_t)m->memberName); + } + UA_free((void*)type->members); + } + UA_free((void*)(uintptr_t)customTypes->types); + UA_free((void*)(uintptr_t)customTypes); + } + customTypes = next; + } +} + +/*****************/ +/* Builtin Types */ +/*****************/ + +UA_String +UA_String_fromChars(const char *src) { + UA_String s; s.length = 0; s.data = NULL; + if(!src) + return s; + s.length = strlen(src); + if(s.length > 0) { + s.data = (u8*)UA_malloc(s.length); + if(UA_UNLIKELY(!s.data)) { + s.length = 0; + return s; + } + memcpy(s.data, src, s.length); + } else { + s.data = (u8*)UA_EMPTY_ARRAY_SENTINEL; + } + return s; +} + +UA_Boolean +UA_String_isEmpty(const UA_String *s) { + return (s->length == 0 || s->data == NULL); +} + +static UA_Byte +lowercase(UA_Byte c) { + if(((int)c) - 'A' < 26) return c | 32; + return c; +} + +static int +casecmp(const UA_Byte *l, const UA_Byte *r, size_t n) { + if(!n--) return 0; + for(; *l && *r && n && (*l == *r || lowercase(*l) == lowercase(*r)); l++, r++, n--); + return lowercase(*l) - lowercase(*r); +} + +/* Do not expose UA_String_equal_ignorecase to public API as it currently only handles + * ASCII strings, and not UTF8! */ +UA_Boolean +UA_String_equal_ignorecase(const UA_String *s1, const UA_String *s2) { + if(s1->length != s2->length) + return false; + if(s1->length == 0) + return true; + if(s2->data == NULL) + return false; + + return casecmp(s1->data, s2->data, s1->length) == 0; +} + +static UA_StatusCode +String_copy(UA_String const *src, UA_String *dst, const UA_DataType *_) { + UA_StatusCode res = + UA_Array_copy(src->data, src->length, (void**)&dst->data, + &UA_TYPES[UA_TYPES_BYTE]); + if(res == UA_STATUSCODE_GOOD) + dst->length = src->length; + return res; +} + +static void +String_clear(UA_String *s, const UA_DataType *_) { + UA_Array_delete(s->data, s->length, &UA_TYPES[UA_TYPES_BYTE]); +} + +/* QualifiedName */ +static UA_StatusCode +QualifiedName_copy(const UA_QualifiedName *src, UA_QualifiedName *dst, + const UA_DataType *_) { + dst->namespaceIndex = src->namespaceIndex; + return String_copy(&src->name, &dst->name, NULL); +} + +static void +QualifiedName_clear(UA_QualifiedName *p, const UA_DataType *_) { + String_clear(&p->name, NULL); +} + +u32 +UA_QualifiedName_hash(const UA_QualifiedName *q) { + return UA_ByteString_hash(q->namespaceIndex, + q->name.data, q->name.length); +} + +/* DateTime */ +UA_DateTimeStruct +UA_DateTime_toStruct(UA_DateTime t) { + /* Divide, then subtract -> avoid underflow. Also, negative numbers are + * rounded up, not down. */ + long long secSinceUnixEpoch = (long long)(t / UA_DATETIME_SEC) + - (long long)(UA_DATETIME_UNIX_EPOCH / UA_DATETIME_SEC); + + /* Negative fractions of a second? Remove one full second from the epoch + * distance and allow only a positive fraction. */ + UA_DateTime frac = t % UA_DATETIME_SEC; + if(frac < 0) { + secSinceUnixEpoch--; + frac += UA_DATETIME_SEC; + } + + struct musl_tm ts; + memset(&ts, 0, sizeof(struct musl_tm)); + musl_secs_to_tm(secSinceUnixEpoch, &ts); + + UA_DateTimeStruct dateTimeStruct; + dateTimeStruct.year = (i16)(ts.tm_year + 1900); + dateTimeStruct.month = (u16)(ts.tm_mon + 1); + dateTimeStruct.day = (u16)ts.tm_mday; + dateTimeStruct.hour = (u16)ts.tm_hour; + dateTimeStruct.min = (u16)ts.tm_min; + dateTimeStruct.sec = (u16)ts.tm_sec; + dateTimeStruct.milliSec = (u16)((frac % 10000000) / 10000); + dateTimeStruct.microSec = (u16)((frac % 10000) / 10); + dateTimeStruct.nanoSec = (u16)((frac % 10) * 100); + return dateTimeStruct; +} + +UA_DateTime +UA_DateTime_fromStruct(UA_DateTimeStruct ts) { + /* Seconds since the Unix epoch */ + struct musl_tm tm; + memset(&tm, 0, sizeof(struct musl_tm)); + tm.tm_year = ts.year - 1900; + tm.tm_mon = ts.month - 1; + tm.tm_mday = ts.day; + tm.tm_hour = ts.hour; + tm.tm_min = ts.min; + tm.tm_sec = ts.sec; + long long sec_epoch = musl_tm_to_secs(&tm); + + UA_DateTime t = UA_DATETIME_UNIX_EPOCH; + t += sec_epoch * UA_DATETIME_SEC; + t += ts.milliSec * UA_DATETIME_MSEC; + t += ts.microSec * UA_DATETIME_USEC; + t += ts.nanoSec / 100; + return t; +} + +/* Guid */ +static const u8 hexmapLower[16] = + {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; +static const u8 hexmapUpper[16] = + {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; + +void +UA_Guid_to_hex(const UA_Guid *guid, u8* out, UA_Boolean lower) { + const u8 *hexmap = (lower) ? hexmapLower : hexmapUpper; + size_t i = 0, j = 28; + for(; i<8;i++,j-=4) /* pos 0-7, 4byte, (a) */ + out[i] = hexmap[(guid->data1 >> j) & 0x0Fu]; + out[i++] = '-'; /* pos 8 */ + for(j=12; i<13;i++,j-=4) /* pos 9-12, 2byte, (b) */ + out[i] = hexmap[(uint16_t)(guid->data2 >> j) & 0x0Fu]; + out[i++] = '-'; /* pos 13 */ + for(j=12; i<18;i++,j-=4) /* pos 14-17, 2byte (c) */ + out[i] = hexmap[(uint16_t)(guid->data3 >> j) & 0x0Fu]; + out[i++] = '-'; /* pos 18 */ + for(j=0;i<23;i+=2,j++) { /* pos 19-22, 2byte (d) */ + out[i] = hexmap[(guid->data4[j] & 0xF0u) >> 4u]; + out[i+1] = hexmap[guid->data4[j] & 0x0Fu]; + } + out[i++] = '-'; /* pos 23 */ + for(j=2; i<36;i+=2,j++) { /* pos 24-35, 6byte (e) */ + out[i] = hexmap[(guid->data4[j] & 0xF0u) >> 4u]; + out[i+1] = hexmap[guid->data4[j] & 0x0Fu]; + } +} + +UA_StatusCode +UA_Guid_print(const UA_Guid *guid, UA_String *output) { + if(output->length == 0) { + UA_StatusCode res = + UA_ByteString_allocBuffer((UA_ByteString*)output, 36); + if(res != UA_STATUSCODE_GOOD) + return res; + } else { + if(output->length < 36) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + output->length = 36; + } + UA_Guid_to_hex(guid, output->data, true); + return UA_STATUSCODE_GOOD; +} + +/* ByteString */ +UA_StatusCode +UA_ByteString_allocBuffer(UA_ByteString *bs, size_t length) { + UA_ByteString_init(bs); + if(length == 0) + return UA_STATUSCODE_GOOD; + bs->data = (u8*)UA_malloc(length); + if(UA_UNLIKELY(!bs->data)) + return UA_STATUSCODE_BADOUTOFMEMORY; + bs->length = length; + return UA_STATUSCODE_GOOD; +} + +/* NodeId */ +static void +NodeId_clear(UA_NodeId *p, const UA_DataType *_) { + switch(p->identifierType) { + case UA_NODEIDTYPE_STRING: + case UA_NODEIDTYPE_BYTESTRING: + String_clear(&p->identifier.string, NULL); + break; + default: break; + } +} + +static UA_StatusCode +NodeId_copy(UA_NodeId const *src, UA_NodeId *dst, const UA_DataType *_) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + switch(src->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + *dst = *src; + return UA_STATUSCODE_GOOD; + case UA_NODEIDTYPE_STRING: + case UA_NODEIDTYPE_BYTESTRING: + retval |= String_copy(&src->identifier.string, + &dst->identifier.string, NULL); + break; + case UA_NODEIDTYPE_GUID: + dst->identifier.guid = src->identifier.guid; + break; + default: + return UA_STATUSCODE_BADINTERNALERROR; + } + dst->namespaceIndex = src->namespaceIndex; + dst->identifierType = src->identifierType; + return retval; +} + +UA_Boolean +UA_NodeId_isNull(const UA_NodeId *p) { + if(p->namespaceIndex != 0) + return false; + switch (p->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + return (p->identifier.numeric == 0); + case UA_NODEIDTYPE_STRING: + case UA_NODEIDTYPE_BYTESTRING: + return (p->identifier.string.length == 0); /* Null and empty string */ + case UA_NODEIDTYPE_GUID: + return (guidOrder(&p->identifier.guid, &UA_GUID_NULL, NULL) == UA_ORDER_EQ); + } + return false; +} + +UA_Order +UA_NodeId_order(const UA_NodeId *n1, const UA_NodeId *n2) { + return nodeIdOrder(n1, n2, NULL); +} + +/* sdbm-hash (http://www.cse.yorku.ca/~oz/hash.html) */ +u32 +UA_ByteString_hash(u32 initialHashValue, + const u8 *data, size_t size) { + u32 h = initialHashValue; + for(size_t i = 0; i < size; i++) + h = data[i] + (h << 6) + (h << 16) - h; + return h; +} + +u32 +UA_NodeId_hash(const UA_NodeId *n) { + switch(n->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + default: + return UA_ByteString_hash(n->namespaceIndex, (const u8*)&n->identifier.numeric, + sizeof(UA_UInt32)); + case UA_NODEIDTYPE_STRING: + case UA_NODEIDTYPE_BYTESTRING: + return UA_ByteString_hash(n->namespaceIndex, n->identifier.string.data, + n->identifier.string.length); + case UA_NODEIDTYPE_GUID: + return UA_ByteString_hash(n->namespaceIndex, (const u8*)&n->identifier.guid, + sizeof(UA_Guid)); + } +} + +/* Computes length for the encoding size and pre-encodes the numeric values */ +static size_t +nodeIdSize(const UA_NodeId *id, + char *nsStr, size_t *nsStrSize, + char *numIdStr, size_t *numIdStrSize) { + /* Namespace length */ + size_t len = 0; + if(id->namespaceIndex != 0) { + len += 4; /* ns=; */ + *nsStrSize = itoaUnsigned(id->namespaceIndex, nsStr, 10); + len += *nsStrSize; + } + + switch (id->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + *numIdStrSize = itoaUnsigned(id->identifier.numeric, numIdStr, 10); + len += 2 + *numIdStrSize; + break; + case UA_NODEIDTYPE_STRING: + len += 2 + id->identifier.string.length; + break; + case UA_NODEIDTYPE_GUID: + len += 2 + 36; + break; + case UA_NODEIDTYPE_BYTESTRING: + len += 2 + (4*((id->identifier.byteString.length + 2) / 3)); + break; + default: + len = 0; + } + return len; +} + +#define PRINT_NODEID \ + /* Encode the namespace */ \ + if(id->namespaceIndex != 0) { \ + memcpy(pos, "ns=", 3); \ + pos += 3; \ + memcpy(pos, nsStr, nsStrSize); \ + pos += nsStrSize; \ + *pos++ = ';'; \ + } \ + \ + /* Encode the identifier */ \ + switch(id->identifierType) { \ + case UA_NODEIDTYPE_NUMERIC: \ + memcpy(pos, "i=", 2); \ + pos += 2; \ + memcpy(pos, numIdStr, numIdStrSize); \ + pos += numIdStrSize; \ + break; \ + case UA_NODEIDTYPE_STRING: \ + memcpy(pos, "s=", 2); \ + pos += 2; \ + memcpy(pos, id->identifier.string.data, \ + id->identifier.string.length); \ + pos += id->identifier.string.length; \ + break; \ + case UA_NODEIDTYPE_GUID: \ + memcpy(pos, "g=", 2); \ + pos += 2; \ + UA_Guid_to_hex(&id->identifier.guid, \ + (unsigned char*)pos, true); \ + pos += 36; \ + break; \ + case UA_NODEIDTYPE_BYTESTRING: \ + memcpy(pos, "b=", 2); \ + pos += 2; \ + pos += UA_base64_buf(id->identifier.byteString.data, \ + id->identifier.byteString.length, \ + (unsigned char*)pos); \ + break; \ + } \ + do { } while(false) + +UA_StatusCode +UA_NodeId_print(const UA_NodeId *id, UA_String *output) { + /* Compute the string length */ + char nsStr[6]; + size_t nsStrSize = 0; + char numIdStr[11]; + size_t numIdStrSize = 0; + size_t idLen = nodeIdSize(id, nsStr, &nsStrSize, numIdStr, &numIdStrSize); + if(idLen == 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate memory if required */ + if(output->length == 0) { + UA_StatusCode res = UA_ByteString_allocBuffer((UA_ByteString*)output, idLen); + if(res != UA_STATUSCODE_GOOD) + return res; + } else { + if(output->length < idLen) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + output->length = idLen; + } + + /* Print the NodeId */ + char *pos = (char*)output->data; + PRINT_NODEID; + + UA_assert(output->length == (size_t)((UA_Byte*)pos - output->data)); + return UA_STATUSCODE_GOOD; +} + +/* ExpandedNodeId */ +static void +ExpandedNodeId_clear(UA_ExpandedNodeId *p, const UA_DataType *_) { + NodeId_clear(&p->nodeId, _); + String_clear(&p->namespaceUri, NULL); +} + +static UA_StatusCode +ExpandedNodeId_copy(UA_ExpandedNodeId const *src, UA_ExpandedNodeId *dst, + const UA_DataType *_) { + UA_StatusCode retval = NodeId_copy(&src->nodeId, &dst->nodeId, NULL); + retval |= String_copy(&src->namespaceUri, &dst->namespaceUri, NULL); + dst->serverIndex = src->serverIndex; + return retval; +} + +UA_Boolean +UA_ExpandedNodeId_isLocal(const UA_ExpandedNodeId *n) { + return (n->namespaceUri.length == 0 && n->serverIndex == 0); +} + +UA_Order +UA_ExpandedNodeId_order(const UA_ExpandedNodeId *n1, + const UA_ExpandedNodeId *n2) { + return expandedNodeIdOrder(n1, n2, NULL); +} + +u32 +UA_ExpandedNodeId_hash(const UA_ExpandedNodeId *n) { + u32 h = UA_NodeId_hash(&n->nodeId); + if(n->serverIndex != 0) + h = UA_ByteString_hash(h, (const UA_Byte*)&n->serverIndex, 4); + if(n->namespaceUri.length != 0) + h = UA_ByteString_hash(h, n->namespaceUri.data, n->namespaceUri.length); + return h; +} + +UA_StatusCode +UA_ExpandedNodeId_print(const UA_ExpandedNodeId *eid, UA_String *output) { + /* Don't print the namespace-index if a NamespaceUri is set */ + UA_NodeId stackid = eid->nodeId; + UA_NodeId *id = &stackid; /* for the print-macro below */ + if(eid->namespaceUri.data != NULL) + id->namespaceIndex = 0; + + /* Compute the string length */ + char nsStr[6]; + size_t nsStrSize = 0; + char numIdStr[11]; + size_t numIdStrSize = 0; + size_t idLen = nodeIdSize(id, nsStr, &nsStrSize, numIdStr, &numIdStrSize); + if(idLen == 0) + return UA_STATUSCODE_BADINTERNALERROR; + + char srvIdxStr[11]; + size_t srvIdxSize = 0; + if(eid->serverIndex != 0) { + idLen += 5; /* svr=; */ + srvIdxSize = itoaUnsigned(eid->serverIndex, srvIdxStr, 10); + idLen += srvIdxSize; + } + + if(eid->namespaceUri.data != NULL) { + idLen += 5; /* nsu=; */ + idLen += eid->namespaceUri.length; + } + + /* Allocate memory if required */ + if(output->length == 0) { + UA_StatusCode res = UA_ByteString_allocBuffer((UA_ByteString*)output, idLen); + if(res != UA_STATUSCODE_GOOD) + return res; + } else { + if(output->length < idLen) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + output->length = idLen; + } + + /* Encode the ServerIndex */ + char *pos = (char*)output->data; + if(eid->serverIndex != 0) { + memcpy(pos, "svr=", 4); + pos += 4; + memcpy(pos, srvIdxStr, srvIdxSize); + pos += srvIdxSize; + *pos++ = ';'; + } + + /* Encode the NamespaceUri */ + if(eid->namespaceUri.data != NULL) { + memcpy(pos, "nsu=", 4); + pos += 4; + memcpy(pos, eid->namespaceUri.data, eid->namespaceUri.length); + pos += eid->namespaceUri.length; + *pos++ = ';'; + } + + /* Print the NodeId */ + PRINT_NODEID; + + UA_assert(output->length == (size_t)((UA_Byte*)pos - output->data)); + return UA_STATUSCODE_GOOD; +} + +/* ExtensionObject */ +static void +ExtensionObject_clear(UA_ExtensionObject *p, const UA_DataType *_) { + switch(p->encoding) { + case UA_EXTENSIONOBJECT_ENCODED_NOBODY: + case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: + case UA_EXTENSIONOBJECT_ENCODED_XML: + NodeId_clear(&p->content.encoded.typeId, NULL); + String_clear(&p->content.encoded.body, NULL); + break; + case UA_EXTENSIONOBJECT_DECODED: + if(p->content.decoded.data) + UA_delete(p->content.decoded.data, p->content.decoded.type); + break; + default: + break; + } +} + +static UA_StatusCode +ExtensionObject_copy(UA_ExtensionObject const *src, UA_ExtensionObject *dst, + const UA_DataType *_) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + switch(src->encoding) { + case UA_EXTENSIONOBJECT_ENCODED_NOBODY: + case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: + case UA_EXTENSIONOBJECT_ENCODED_XML: + dst->encoding = src->encoding; + retval = NodeId_copy(&src->content.encoded.typeId, + &dst->content.encoded.typeId, NULL); + /* ByteString -> copy as string */ + retval |= String_copy(&src->content.encoded.body, + &dst->content.encoded.body, NULL); + break; + case UA_EXTENSIONOBJECT_DECODED: + case UA_EXTENSIONOBJECT_DECODED_NODELETE: + if(!src->content.decoded.type || !src->content.decoded.data) + return UA_STATUSCODE_BADINTERNALERROR; + dst->encoding = UA_EXTENSIONOBJECT_DECODED; + dst->content.decoded.type = src->content.decoded.type; + retval = UA_Array_copy(src->content.decoded.data, 1, + &dst->content.decoded.data, src->content.decoded.type); + break; + default: + break; + } + return retval; +} + +void +UA_ExtensionObject_setValue(UA_ExtensionObject *eo, + void * UA_RESTRICT p, + const UA_DataType *type) { + UA_ExtensionObject_init(eo); + eo->content.decoded.data = p; + eo->content.decoded.type = type; + eo->encoding = UA_EXTENSIONOBJECT_DECODED; +} + +void +UA_ExtensionObject_setValueNoDelete(UA_ExtensionObject *eo, + void * UA_RESTRICT p, + const UA_DataType *type) { + UA_ExtensionObject_init(eo); + eo->content.decoded.data = p; + eo->content.decoded.type = type; + eo->encoding = UA_EXTENSIONOBJECT_DECODED_NODELETE; +} + +UA_StatusCode +UA_ExtensionObject_setValueCopy(UA_ExtensionObject *eo, + void * UA_RESTRICT p, + const UA_DataType *type) { + UA_ExtensionObject_init(eo); + + /* Make a copy of the value */ + void *val = UA_malloc(type->memSize); + if(UA_UNLIKELY(!val)) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_StatusCode res = UA_copy(p, val, type); + if(UA_UNLIKELY(res != UA_STATUSCODE_GOOD)) { + UA_free(val); + return res; + } + + /* Set the ExtensionObject */ + eo->content.decoded.data = val; + eo->content.decoded.type = type; + eo->encoding = UA_EXTENSIONOBJECT_DECODED; + return UA_STATUSCODE_GOOD; +} + +/* Variant */ +static void +Variant_clear(UA_Variant *p, const UA_DataType *_) { + /* The content is "borrowed" */ + if(p->storageType == UA_VARIANT_DATA_NODELETE) + return; + + /* Delete the value */ + if(p->type && p->data > UA_EMPTY_ARRAY_SENTINEL) { + if(p->arrayLength == 0) + p->arrayLength = 1; + UA_Array_delete(p->data, p->arrayLength, p->type); + p->data = NULL; + } + + /* Delete the array dimensions */ + if((void*)p->arrayDimensions > UA_EMPTY_ARRAY_SENTINEL) + UA_free(p->arrayDimensions); +} + +static UA_StatusCode +Variant_copy(UA_Variant const *src, UA_Variant *dst, const UA_DataType *_) { + size_t length = src->arrayLength; + if(UA_Variant_isScalar(src)) + length = 1; + UA_StatusCode retval = UA_Array_copy(src->data, length, + &dst->data, src->type); + if(retval != UA_STATUSCODE_GOOD) + return retval; + dst->arrayLength = src->arrayLength; + dst->type = src->type; + if(src->arrayDimensions) { + retval = UA_Array_copy(src->arrayDimensions, src->arrayDimensionsSize, + (void**)&dst->arrayDimensions, &UA_TYPES[UA_TYPES_INT32]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + dst->arrayDimensionsSize = src->arrayDimensionsSize; + } + return UA_STATUSCODE_GOOD; +} + +void +UA_Variant_setScalar(UA_Variant *v, void * UA_RESTRICT p, + const UA_DataType *type) { + UA_Variant_init(v); + v->type = type; + v->arrayLength = 0; + v->data = p; +} + +UA_StatusCode +UA_Variant_setScalarCopy(UA_Variant *v, const void * UA_RESTRICT p, + const UA_DataType *type) { + void *n = UA_malloc(type->memSize); + if(UA_UNLIKELY(!n)) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_StatusCode retval = UA_copy(p, n, type); + if(UA_UNLIKELY(retval != UA_STATUSCODE_GOOD)) { + UA_free(n); + //cppcheck-suppress memleak + return retval; + } + UA_Variant_setScalar(v, n, type); + //cppcheck-suppress memleak + return UA_STATUSCODE_GOOD; +} + +void UA_Variant_setArray(UA_Variant *v, void * UA_RESTRICT array, + size_t arraySize, const UA_DataType *type) { + UA_Variant_init(v); + v->data = array; + v->arrayLength = arraySize; + v->type = type; +} + +UA_StatusCode +UA_Variant_setArrayCopy(UA_Variant *v, const void * UA_RESTRICT array, + size_t arraySize, const UA_DataType *type) { + UA_Variant_init(v); + UA_StatusCode retval = UA_Array_copy(array, arraySize, &v->data, type); + if(retval != UA_STATUSCODE_GOOD) + return retval; + v->arrayLength = arraySize; + v->type = type; + return UA_STATUSCODE_GOOD; +} + +/* Test if a range is compatible with a variant. This may adjust the upper bound + * (max) in order to fit the variant. */ +static UA_StatusCode +checkAdjustRange(const UA_Variant *v, UA_NumericRange *range) { + /* Test for max array size (64bit only) */ +#if (SIZE_MAX > 0xffffffff) + if(v->arrayLength > UA_UINT32_MAX) + return UA_STATUSCODE_BADINTERNALERROR; +#endif + u32 arrayLength = (u32)v->arrayLength; + + /* Assume one array dimension if none defined */ + const u32 *dims = v->arrayDimensions; + size_t dims_count = v->arrayDimensionsSize; + if(v->arrayDimensionsSize == 0) { + dims_count = 1; + dims = &arrayLength; + } + + /* Does the range match the dimension of the variant? */ + if(range->dimensionsSize != dims_count) + return UA_STATUSCODE_BADINDEXRANGENODATA; + + /* Check that the number of elements in the variant matches the array + * dimensions */ + size_t elements = 1; + for(size_t i = 0; i < dims_count; ++i) + elements *= dims[i]; + if(elements != v->arrayLength) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Test the integrity of the range and compute the max index used for every + * dimension. The standard says in Part 4, Section 7.22: + * + * When reading a value, the indexes may not specify a range that is within + * the bounds of the array. The Server shall return a partial result if some + * elements exist within the range. */ + for(size_t i = 0; i < dims_count; ++i) { + if(range->dimensions[i].min > range->dimensions[i].max) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + if(range->dimensions[i].min >= dims[i]) + return UA_STATUSCODE_BADINDEXRANGENODATA; + + /* Reduce the max to fit the variant */ + if(range->dimensions[i].max >= dims[i]) + range->dimensions[i].max = dims[i] - 1; + } + + return UA_STATUSCODE_GOOD; +} + +/* Computes the stride for copying the range elements. + * - total: how many elements are in the range + * - block: how big is each contiguous block of elements in the variant that + * maps into the range + * - stride: how many elements are between the blocks (beginning to beginning) + * - first: where does the first block begin */ +static void +computeStrides(const UA_Variant *v, const UA_NumericRange range, + size_t *total, size_t *block, size_t *stride, size_t *first) { + /* Number of total elements to be copied */ + size_t count = 1; + for(size_t i = 0; i < range.dimensionsSize; ++i) + count *= (range.dimensions[i].max - range.dimensions[i].min) + 1; + *total = count; + + /* Assume one array dimension if none defined */ + u32 arrayLength = (u32)v->arrayLength; + const u32 *dims = v->arrayDimensions; + size_t dims_count = v->arrayDimensionsSize; + if(v->arrayDimensionsSize == 0) { + dims_count = 1; + dims = &arrayLength; + } + + /* Compute the stride length and the position of the first element */ + *block = count; /* Assume the range describes the entire array. */ + *stride = v->arrayLength; /* So it can be copied as a contiguous block. */ + *first = 0; + size_t running_dimssize = 1; + UA_Boolean found_contiguous = false; + for(size_t k = dims_count; k > 0;) { + --k; + size_t dimrange = 1 + range.dimensions[k].max - range.dimensions[k].min; + if(!found_contiguous && dimrange != dims[k]) { + /* Found the maximum block that can be copied contiguously */ + found_contiguous = true; + *block = running_dimssize * dimrange; + *stride = running_dimssize * dims[k]; + } + *first += running_dimssize * range.dimensions[k].min; + running_dimssize *= dims[k]; + } +} + +/* Is the type string-like? */ +static UA_Boolean +isStringLike(const UA_DataType *type) { + if(type == &UA_TYPES[UA_TYPES_STRING] || + type == &UA_TYPES[UA_TYPES_BYTESTRING] || + type == &UA_TYPES[UA_TYPES_XMLELEMENT]) + return true; + return false; +} + +/* Returns the part of the string that lies within the rangedimension */ +static UA_StatusCode +copySubString(const UA_String *src, UA_String *dst, + const UA_NumericRangeDimension *dim) { + if(dim->min > dim->max) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + if(dim->min >= src->length) + return UA_STATUSCODE_BADINDEXRANGENODATA; + + size_t length; + if(dim->max < src->length) + length = dim->max - dim->min + 1; + else + length = src->length - dim->min; + + UA_StatusCode retval = UA_ByteString_allocBuffer(dst, length); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + memcpy(dst->data, &src->data[dim->min], length); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Variant_copyRange(const UA_Variant *src, UA_Variant * UA_RESTRICT dst, + const UA_NumericRange range) { + if(!src->type) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_Boolean isScalar = UA_Variant_isScalar(src); + UA_Boolean stringLike = isStringLike(src->type); + + /* Upper bound of the dimensions for stack-allocation */ + if(range.dimensionsSize > UA_MAX_ARRAY_DIMS) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Copy the const range to a mutable stack location */ + UA_NumericRangeDimension thisrangedims[UA_MAX_ARRAY_DIMS]; + memcpy(thisrangedims, range.dimensions, sizeof(UA_NumericRangeDimension) * range.dimensionsSize); + UA_NumericRange thisrange = {range.dimensionsSize, thisrangedims}; + + UA_NumericRangeDimension scalarThisDimension = {0,0}; /* a single entry */ + UA_NumericRange nextrange = {0, NULL}; + + /* Extract the range for copying at this level. The remaining range is dealt + * with in the "scalar" type that may define an array by itself (string, + * variant, ...). */ + UA_Variant arraySrc; + if(isScalar) { + /* Replace scalar src with array of length 1 */ + arraySrc = *src; + arraySrc.arrayLength = 1; + src = &arraySrc; + /* Deal with all range dimensions within the scalar */ + thisrange.dimensions = &scalarThisDimension; + thisrange.dimensionsSize = 1; + nextrange = range; + } else { + /* Deal with as many range dimensions as possible right now */ + size_t dims = src->arrayDimensionsSize; + if(dims == 0) + dims = 1; + if(dims > range.dimensionsSize) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + thisrange.dimensionsSize = dims; + nextrange.dimensions = &range.dimensions[dims]; + nextrange.dimensionsSize = range.dimensionsSize - dims; + } + + UA_StatusCode retval = checkAdjustRange(src, &thisrange); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Compute the strides */ + size_t count, block, stride, first; + computeStrides(src, thisrange, &count, &block, &stride, &first); + UA_assert(block > 0); + + /* Allocate the array */ + UA_Variant_init(dst); + dst->data = UA_Array_new(count, src->type); + if(!dst->data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Copy the range */ + size_t block_count = count / block; + size_t elem_size = src->type->memSize; + uintptr_t nextdst = (uintptr_t)dst->data; + uintptr_t nextsrc = (uintptr_t)src->data + (elem_size * first); + if(nextrange.dimensionsSize == 0) { + /* no nextrange */ + if(src->type->pointerFree) { + for(size_t i = 0; i < block_count; ++i) { + memcpy((void*)nextdst, (void*)nextsrc, elem_size * block); + nextdst += block * elem_size; + nextsrc += stride * elem_size; + } + } else { + for(size_t i = 0; i < block_count; ++i) { + for(size_t j = 0; j < block; ++j) { + retval = UA_copy((const void*)nextsrc, + (void*)nextdst, src->type); + nextdst += elem_size; + nextsrc += elem_size; + } + nextsrc += (stride - block) * elem_size; + } + } + } else { + /* nextrange can only be used for variants and stringlike with remaining + * range of dimension 1 */ + if(src->type != &UA_TYPES[UA_TYPES_VARIANT]) { + if(!stringLike) + retval = UA_STATUSCODE_BADINDEXRANGENODATA; + if(nextrange.dimensionsSize != 1) + retval = UA_STATUSCODE_BADINDEXRANGENODATA; + } + + /* Copy the content */ + for(size_t i = 0; i < block_count; ++i) { + for(size_t j = 0; j < block && retval == UA_STATUSCODE_GOOD; ++j) { + if(stringLike) + retval = copySubString((const UA_String*)nextsrc, + (UA_String*)nextdst, + nextrange.dimensions); + else + retval = UA_Variant_copyRange((const UA_Variant*)nextsrc, + (UA_Variant*)nextdst, + nextrange); + nextdst += elem_size; + nextsrc += elem_size; + } + nextsrc += (stride - block) * elem_size; + } + } + + /* Clean up if copying failed */ + if(retval != UA_STATUSCODE_GOOD) { + UA_Array_delete(dst->data, count, src->type); + dst->data = NULL; + return retval; + } + + /* Done if scalar */ + dst->type = src->type; + if(isScalar) + return retval; + + /* Copy array dimensions */ + dst->arrayLength = count; + if(src->arrayDimensionsSize > 0) { + dst->arrayDimensions = + (u32*)UA_Array_new(thisrange.dimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); + if(!dst->arrayDimensions) { + Variant_clear(dst, NULL); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + dst->arrayDimensionsSize = thisrange.dimensionsSize; + for(size_t k = 0; k < thisrange.dimensionsSize; ++k) + dst->arrayDimensions[k] = + thisrange.dimensions[k].max - thisrange.dimensions[k].min + 1; + } + return UA_STATUSCODE_GOOD; +} + +/* TODO: Allow ranges to reach inside a scalars that are array-like, e.g. + * variant and strings. This is already possible for reading... */ +static UA_StatusCode +Variant_setRange(UA_Variant *v, void *array, size_t arraySize, + const UA_NumericRange range, UA_Boolean copy) { + if(!v->type) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Upper bound of the dimensions for stack-allocation */ + if(range.dimensionsSize > UA_MAX_ARRAY_DIMS) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Copy the const range to a mutable stack location */ + UA_NumericRangeDimension thisrangedims[UA_MAX_ARRAY_DIMS]; + memcpy(thisrangedims, range.dimensions, sizeof(UA_NumericRangeDimension) * range.dimensionsSize); + UA_NumericRange thisrange = {range.dimensionsSize, thisrangedims}; + + UA_StatusCode retval = checkAdjustRange(v, &thisrange); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Compute the strides */ + size_t count, block, stride, first; + computeStrides(v, range, &count, &block, &stride, &first); + if(count != arraySize) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + + /* Move/copy the elements */ + size_t block_count = count / block; + size_t elem_size = v->type->memSize; + uintptr_t nextdst = (uintptr_t)v->data + (first * elem_size); + uintptr_t nextsrc = (uintptr_t)array; + if(v->type->pointerFree || !copy) { + for(size_t i = 0; i < block_count; ++i) { + memcpy((void*)nextdst, (void*)nextsrc, elem_size * block); + nextsrc += block * elem_size; + nextdst += stride * elem_size; + } + } else { + for(size_t i = 0; i < block_count; ++i) { + for(size_t j = 0; j < block; ++j) { + clearJumpTable[v->type->typeKind]((void*)nextdst, v->type); + retval |= UA_copy((void*)nextsrc, (void*)nextdst, v->type); + nextdst += elem_size; + nextsrc += elem_size; + } + nextdst += (stride - block) * elem_size; + } + } + + /* If members were moved, initialize original array to prevent reuse */ + if(!copy && !v->type->pointerFree) + memset(array, 0, sizeof(elem_size)*arraySize); + + return retval; +} + +UA_StatusCode +UA_Variant_setRange(UA_Variant *v, void * UA_RESTRICT array, + size_t arraySize, const UA_NumericRange range) { + return Variant_setRange(v, array, arraySize, range, false); +} + +UA_StatusCode +UA_Variant_setRangeCopy(UA_Variant *v, const void * UA_RESTRICT array, + size_t arraySize, const UA_NumericRange range) { + return Variant_setRange(v, (void*)(uintptr_t)array, + arraySize, range, true); +} + +/* LocalizedText */ +static void +LocalizedText_clear(UA_LocalizedText *p, const UA_DataType *_) { + String_clear(&p->locale, NULL); + String_clear(&p->text, NULL); +} + +static UA_StatusCode +LocalizedText_copy(UA_LocalizedText const *src, UA_LocalizedText *dst, + const UA_DataType *_) { + UA_StatusCode retval = String_copy(&src->locale, &dst->locale, NULL); + retval |= String_copy(&src->text, &dst->text, NULL); + return retval; +} + +/* DataValue */ +static void +DataValue_clear(UA_DataValue *p, const UA_DataType *_) { + Variant_clear(&p->value, NULL); +} + +static UA_StatusCode +DataValue_copy(UA_DataValue const *src, UA_DataValue *dst, + const UA_DataType *_) { + memcpy(dst, src, sizeof(UA_DataValue)); + UA_Variant_init(&dst->value); + UA_StatusCode retval = Variant_copy(&src->value, &dst->value, NULL); + if(retval != UA_STATUSCODE_GOOD) + DataValue_clear(dst, NULL); + return retval; +} + +UA_StatusCode +UA_DataValue_copyVariantRange(const UA_DataValue *src, UA_DataValue * UA_RESTRICT dst, + const UA_NumericRange range) { + memcpy(dst, src, sizeof(UA_DataValue)); + UA_Variant_init(&dst->value); + UA_StatusCode retval = UA_Variant_copyRange(&src->value, &dst->value, range); + if(retval != UA_STATUSCODE_GOOD) + DataValue_clear(dst, NULL); + return retval; +} + +/* DiagnosticInfo */ +static void +DiagnosticInfo_clear(UA_DiagnosticInfo *p, const UA_DataType *_) { + String_clear(&p->additionalInfo, NULL); + if(p->hasInnerDiagnosticInfo && p->innerDiagnosticInfo) { + DiagnosticInfo_clear(p->innerDiagnosticInfo, NULL); + UA_free(p->innerDiagnosticInfo); + } +} + +static UA_StatusCode +DiagnosticInfo_copy(UA_DiagnosticInfo const *src, UA_DiagnosticInfo *dst, + const UA_DataType *_) { + memcpy(dst, src, sizeof(UA_DiagnosticInfo)); + UA_String_init(&dst->additionalInfo); + dst->innerDiagnosticInfo = NULL; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(src->hasAdditionalInfo) + retval = String_copy(&src->additionalInfo, &dst->additionalInfo, NULL); + if(src->hasInnerDiagnosticInfo && src->innerDiagnosticInfo) { + dst->innerDiagnosticInfo = (UA_DiagnosticInfo*) + UA_malloc(sizeof(UA_DiagnosticInfo)); + if(UA_LIKELY(dst->innerDiagnosticInfo != NULL)) { + retval |= DiagnosticInfo_copy(src->innerDiagnosticInfo, + dst->innerDiagnosticInfo, NULL); + dst->hasInnerDiagnosticInfo = true; + } else { + dst->hasInnerDiagnosticInfo = false; + retval |= UA_STATUSCODE_BADOUTOFMEMORY; + } + } + return retval; +} + +/********************/ +/* Structured Types */ +/********************/ + +void * +UA_new(const UA_DataType *type) { + void *p = UA_calloc(1, type->memSize); + return p; +} + +static UA_StatusCode +copyByte(const u8 *src, u8 *dst, const UA_DataType *_) { + *dst = *src; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copy2Byte(const u16 *src, u16 *dst, const UA_DataType *_) { + *dst = *src; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copy4Byte(const u32 *src, u32 *dst, const UA_DataType *_) { + *dst = *src; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copy8Byte(const u64 *src, u64 *dst, const UA_DataType *_) { + *dst = *src; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copyGuid(const UA_Guid *src, UA_Guid *dst, const UA_DataType *_) { + *dst = *src; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copyStructure(const void *src, void *dst, const UA_DataType *type) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + uintptr_t ptrs = (uintptr_t)src; + uintptr_t ptrd = (uintptr_t)dst; + for(size_t i = 0; i < type->membersSize; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + ptrs += m->padding; + ptrd += m->padding; + if(!m->isOptional) { + if(!m->isArray) { + retval |= copyJumpTable[mt->typeKind]((const void *)ptrs, (void *)ptrd, mt); + ptrs += mt->memSize; + ptrd += mt->memSize; + } else { + size_t *dst_size = (size_t*)ptrd; + const size_t size = *((const size_t*)ptrs); + ptrs += sizeof(size_t); + ptrd += sizeof(size_t); + retval |= UA_Array_copy(*(void* const*)ptrs, size, (void**)ptrd, mt); + if(retval == UA_STATUSCODE_GOOD) + *dst_size = size; + else + *dst_size = 0; + ptrs += sizeof(void*); + ptrd += sizeof(void*); + } + } else { + if(!m->isArray) { + if(*(void* const*)ptrs != NULL) + retval |= UA_Array_copy(*(void* const*)ptrs, 1, (void**)ptrd, mt); + } else { + if(*(void* const*)(ptrs+sizeof(size_t)) != NULL) { + size_t *dst_size = (size_t*)ptrd; + const size_t size = *((const size_t*)ptrs); + ptrs += sizeof(size_t); + ptrd += sizeof(size_t); + retval |= UA_Array_copy(*(void* const*)ptrs, size, (void**)ptrd, mt); + if(retval == UA_STATUSCODE_GOOD) + *dst_size = size; + else + *dst_size = 0; + } else { + ptrs += sizeof(size_t); + ptrd += sizeof(size_t); + } + } + ptrs += sizeof(void*); + ptrd += sizeof(void*); + } + } + return retval; +} + +static UA_StatusCode +copyUnion(const void *src, void *dst, const UA_DataType *type) { + uintptr_t ptrs = (uintptr_t) src; + uintptr_t ptrd = (uintptr_t) dst; + UA_UInt32 selection = *(UA_UInt32 *)ptrs; + UA_copy((const UA_UInt32 *) ptrs, (UA_UInt32 *) ptrd, &UA_TYPES[UA_TYPES_UINT32]); + if(selection == 0) + return UA_STATUSCODE_GOOD; + const UA_DataTypeMember *m = &type->members[selection-1]; + const UA_DataType *mt = m->memberType; + ptrs += m->padding; + ptrd += m->padding; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + if (m->isArray) { + size_t *dst_size = (size_t*)ptrd; + const size_t size = *((const size_t*)ptrs); + ptrs += sizeof(size_t); + ptrd += sizeof(size_t); + retval = UA_Array_copy(*(void* const*)ptrs, size, (void**)ptrd, mt); + if(retval == UA_STATUSCODE_GOOD) + *dst_size = size; + else + *dst_size = 0; + } else { + retval = copyJumpTable[mt->typeKind]((const void *)ptrs, (void *)ptrd, mt); + } + + return retval; +} + +static UA_StatusCode +copyNotImplemented(const void *src, void *dst, const UA_DataType *type) { + return UA_STATUSCODE_BADNOTIMPLEMENTED; +} + +const UA_copySignature copyJumpTable[UA_DATATYPEKINDS] = { + (UA_copySignature)copyByte, /* Boolean */ + (UA_copySignature)copyByte, /* SByte */ + (UA_copySignature)copyByte, /* Byte */ + (UA_copySignature)copy2Byte, /* Int16 */ + (UA_copySignature)copy2Byte, /* UInt16 */ + (UA_copySignature)copy4Byte, /* Int32 */ + (UA_copySignature)copy4Byte, /* UInt32 */ + (UA_copySignature)copy8Byte, /* Int64 */ + (UA_copySignature)copy8Byte, /* UInt64 */ + (UA_copySignature)copy4Byte, /* Float */ + (UA_copySignature)copy8Byte, /* Double */ + (UA_copySignature)String_copy, + (UA_copySignature)copy8Byte, /* DateTime */ + (UA_copySignature)copyGuid, /* Guid */ + (UA_copySignature)String_copy, /* ByteString */ + (UA_copySignature)String_copy, /* XmlElement */ + (UA_copySignature)NodeId_copy, + (UA_copySignature)ExpandedNodeId_copy, + (UA_copySignature)copy4Byte, /* StatusCode */ + (UA_copySignature)QualifiedName_copy, + (UA_copySignature)LocalizedText_copy, + (UA_copySignature)ExtensionObject_copy, + (UA_copySignature)DataValue_copy, + (UA_copySignature)Variant_copy, + (UA_copySignature)DiagnosticInfo_copy, + (UA_copySignature)copyNotImplemented, /* Decimal */ + (UA_copySignature)copy4Byte, /* Enumeration */ + (UA_copySignature)copyStructure, + (UA_copySignature)copyStructure, /* Structure with Optional Fields */ + (UA_copySignature)copyUnion, /* Union */ + (UA_copySignature)copyNotImplemented /* BitfieldCluster*/ +}; + +UA_StatusCode +UA_copy(const void *src, void *dst, const UA_DataType *type) { + memset(dst, 0, type->memSize); /* init */ + UA_StatusCode retval = copyJumpTable[type->typeKind](src, dst, type); + if(retval != UA_STATUSCODE_GOOD) + UA_clear(dst, type); + return retval; +} + +static void +clearStructure(void *p, const UA_DataType *type) { + uintptr_t ptr = (uintptr_t)p; + for(size_t i = 0; i < type->membersSize; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + if(!m->isOptional) { + if(!m->isArray) { + clearJumpTable[mt->typeKind]((void*)ptr, mt); + ptr += mt->memSize; + } else { + size_t length = *(size_t*)ptr; + ptr += sizeof(size_t); + UA_Array_delete(*(void**)ptr, length, mt); + ptr += sizeof(void*); + } + } else { /* field is optional */ + if(!m->isArray) { + /* optional scalar field is contained */ + if((*(void *const *)ptr != NULL)) + UA_Array_delete(*(void **)ptr, 1, mt); + ptr += sizeof(void *); + } else { + /* optional array field is contained */ + if((*(void *const *)(ptr + sizeof(size_t)) != NULL)) { + size_t length = *(size_t *)ptr; + ptr += sizeof(size_t); + UA_Array_delete(*(void **)ptr, length, mt); + ptr += sizeof(void *); + } else { /* optional array field not contained */ + ptr += sizeof(size_t); + ptr += sizeof(void *); + } + } + } + } +} + +static void +clearUnion(void *p, const UA_DataType *type) { + uintptr_t ptr = (uintptr_t) p; + UA_UInt32 selection = *(UA_UInt32 *)ptr; + if(selection == 0) + return; + const UA_DataTypeMember *m = &type->members[selection-1]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + if (m->isArray) { + size_t length = *(size_t *)ptr; + ptr += sizeof(size_t); + UA_Array_delete(*(void **)ptr, length, mt); + } else { + UA_clear((void *) ptr, mt); + } +} + +static void nopClear(void *p, const UA_DataType *type) { } + +const +UA_clearSignature clearJumpTable[UA_DATATYPEKINDS] = { + (UA_clearSignature)nopClear, /* Boolean */ + (UA_clearSignature)nopClear, /* SByte */ + (UA_clearSignature)nopClear, /* Byte */ + (UA_clearSignature)nopClear, /* Int16 */ + (UA_clearSignature)nopClear, /* UInt16 */ + (UA_clearSignature)nopClear, /* Int32 */ + (UA_clearSignature)nopClear, /* UInt32 */ + (UA_clearSignature)nopClear, /* Int64 */ + (UA_clearSignature)nopClear, /* UInt64 */ + (UA_clearSignature)nopClear, /* Float */ + (UA_clearSignature)nopClear, /* Double */ + (UA_clearSignature)String_clear, /* String */ + (UA_clearSignature)nopClear, /* DateTime */ + (UA_clearSignature)nopClear, /* Guid */ + (UA_clearSignature)String_clear, /* ByteString */ + (UA_clearSignature)String_clear, /* XmlElement */ + (UA_clearSignature)NodeId_clear, + (UA_clearSignature)ExpandedNodeId_clear, + (UA_clearSignature)nopClear, /* StatusCode */ + (UA_clearSignature)QualifiedName_clear, + (UA_clearSignature)LocalizedText_clear, + (UA_clearSignature)ExtensionObject_clear, + (UA_clearSignature)DataValue_clear, + (UA_clearSignature)Variant_clear, + (UA_clearSignature)DiagnosticInfo_clear, + (UA_clearSignature)nopClear, /* Decimal, not implemented */ + (UA_clearSignature)nopClear, /* Enumeration */ + (UA_clearSignature)clearStructure, + (UA_clearSignature)clearStructure, /* Struct with Optional Fields*/ + (UA_clearSignature)clearUnion, /* Union*/ + (UA_clearSignature)nopClear /* BitfieldCluster, not implemented*/ +}; + +void +UA_clear(void *p, const UA_DataType *type) { + clearJumpTable[type->typeKind](p, type); + memset(p, 0, type->memSize); /* init */ +} + +void +UA_delete(void *p, const UA_DataType *type) { + clearJumpTable[type->typeKind](p, type); + UA_free(p); +} + +/******************/ +/* Value Ordering */ +/******************/ + +#define UA_NUMERICORDER(NAME, TYPE) \ + static UA_Order \ + NAME(const TYPE *p1, const TYPE *p2, const UA_DataType *type) { \ + if(*p1 != *p2) \ + return (*p1 < *p2) ? UA_ORDER_LESS : UA_ORDER_MORE; \ + return UA_ORDER_EQ; \ + } + +UA_NUMERICORDER(booleanOrder, UA_Boolean) +UA_NUMERICORDER(sByteOrder, UA_SByte) +UA_NUMERICORDER(byteOrder, UA_Byte) +UA_NUMERICORDER(int16Order, UA_Int16) +UA_NUMERICORDER(uInt16Order, UA_UInt16) +UA_NUMERICORDER(int32Order, UA_Int32) +UA_NUMERICORDER(uInt32Order, UA_UInt32) +UA_NUMERICORDER(int64Order, UA_Int64) +UA_NUMERICORDER(uInt64Order, UA_UInt64) + +#define UA_FLOATORDER(NAME, TYPE) \ + static UA_Order \ + NAME(const TYPE *p1, const TYPE *p2, const UA_DataType *type) { \ + if(*p1 != *p2) { \ + /* p1 is NaN */ \ + if(*p1 != *p1) { \ + if(*p2 != *p2) \ + return UA_ORDER_EQ; \ + return UA_ORDER_LESS; \ + } \ + /* p2 is NaN */ \ + if(*p2 != *p2) \ + return UA_ORDER_MORE; \ + return (*p1 < *p2) ? UA_ORDER_LESS : UA_ORDER_MORE; \ + } \ + return UA_ORDER_EQ; \ + } + +UA_FLOATORDER(floatOrder, UA_Float) +UA_FLOATORDER(doubleOrder, UA_Double) + +static UA_Order +guidOrder(const UA_Guid *p1, const UA_Guid *p2, const UA_DataType *type) { + if(p1->data1 != p2->data1) + return (p1->data1 < p2->data1) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->data2 != p2->data2) + return (p1->data2 < p2->data2) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->data3 != p2->data3) + return (p1->data3 < p2->data3) ? UA_ORDER_LESS : UA_ORDER_MORE; + int cmp = memcmp(p1->data4, p2->data4, 8); + if(cmp != 0) + return (cmp < 0) ? UA_ORDER_LESS : UA_ORDER_MORE; + return UA_ORDER_EQ; +} + +static UA_Order +stringOrder(const UA_String *p1, const UA_String *p2, const UA_DataType *type) { + if(p1->length != p2->length) + return (p1->length < p2->length) ? UA_ORDER_LESS : UA_ORDER_MORE; + /* For zero-length arrays, every pointer not NULL is considered a + * UA_EMPTY_ARRAY_SENTINEL. */ + if(p1->data == p2->data) return UA_ORDER_EQ; + if(p1->data == NULL) return UA_ORDER_LESS; + if(p2->data == NULL) return UA_ORDER_MORE; + int cmp = memcmp((const char*)p1->data, (const char*)p2->data, p1->length); + if(cmp != 0) + return (cmp < 0) ? UA_ORDER_LESS : UA_ORDER_MORE; + return UA_ORDER_EQ; +} + +static UA_Order +nodeIdOrder(const UA_NodeId *p1, const UA_NodeId *p2, const UA_DataType *_) { + /* Compare namespaceIndex */ + if(p1->namespaceIndex != p2->namespaceIndex) + return (p1->namespaceIndex < p2->namespaceIndex) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* Compare identifierType */ + if(p1->identifierType != p2->identifierType) + return (p1->identifierType < p2->identifierType) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* Compare the identifier */ + switch(p1->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + default: + if(p1->identifier.numeric != p2->identifier.numeric) + return (p1->identifier.numeric < p2->identifier.numeric) ? + UA_ORDER_LESS : UA_ORDER_MORE; + return UA_ORDER_EQ; + case UA_NODEIDTYPE_GUID: + return guidOrder(&p1->identifier.guid, &p2->identifier.guid, NULL); + case UA_NODEIDTYPE_STRING: + case UA_NODEIDTYPE_BYTESTRING: + return stringOrder(&p1->identifier.string, &p2->identifier.string, NULL); + } +} + +static UA_Order +expandedNodeIdOrder(const UA_ExpandedNodeId *p1, const UA_ExpandedNodeId *p2, + const UA_DataType *_) { + if(p1->serverIndex != p2->serverIndex) + return (p1->serverIndex < p2->serverIndex) ? UA_ORDER_LESS : UA_ORDER_MORE; + UA_Order o = stringOrder(&p1->namespaceUri, &p2->namespaceUri, NULL); + if(o != UA_ORDER_EQ) + return o; + return nodeIdOrder(&p1->nodeId, &p2->nodeId, NULL); +} + +static UA_Order +qualifiedNameOrder(const UA_QualifiedName *p1, const UA_QualifiedName *p2, + const UA_DataType *_) { + if(p1->namespaceIndex != p2->namespaceIndex) + return (p1->namespaceIndex < p2->namespaceIndex) ? UA_ORDER_LESS : UA_ORDER_MORE; + return stringOrder(&p1->name, &p2->name, NULL); +} + +static UA_Order +localizedTextOrder(const UA_LocalizedText *p1, const UA_LocalizedText *p2, + const UA_DataType *_) { + UA_Order o = stringOrder(&p1->locale, &p2->locale, NULL); + if(o != UA_ORDER_EQ) + return o; + return stringOrder(&p1->text, &p2->text, NULL); +} + +static UA_Order +extensionObjectOrder(const UA_ExtensionObject *p1, const UA_ExtensionObject *p2, + const UA_DataType *_) { + UA_ExtensionObjectEncoding enc1 = p1->encoding; + UA_ExtensionObjectEncoding enc2 = p2->encoding; + if(enc1 > UA_EXTENSIONOBJECT_DECODED) + enc1 = UA_EXTENSIONOBJECT_DECODED; + if(enc2 > UA_EXTENSIONOBJECT_DECODED) + enc2 = UA_EXTENSIONOBJECT_DECODED; + if(enc1 != enc2) + return (enc1 < enc2) ? UA_ORDER_LESS : UA_ORDER_MORE; + + switch(enc1) { + case UA_EXTENSIONOBJECT_ENCODED_NOBODY: + return UA_ORDER_EQ; + + case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: + case UA_EXTENSIONOBJECT_ENCODED_XML: { + UA_Order o = nodeIdOrder(&p1->content.encoded.typeId, + &p2->content.encoded.typeId, NULL); + if(o != UA_ORDER_EQ) + return o; + return stringOrder((const UA_String*)&p1->content.encoded.body, + (const UA_String*)&p2->content.encoded.body, NULL); + } + + case UA_EXTENSIONOBJECT_DECODED: + default: { + const UA_DataType *type1 = p1->content.decoded.type; + const UA_DataType *type2 = p2->content.decoded.type; + if(type1 != type2) + return ((uintptr_t)type1 < (uintptr_t)type2) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(!type1) + return UA_ORDER_EQ; + return orderJumpTable[type1->typeKind] + (p1->content.decoded.data, p2->content.decoded.data, type1); + } + } +} + +/* Part 4: When testing for equality, a Server shall treat null and empty arrays + * as equal. + * + * Don't compare overlayable types as "binary blobs". We have specific order + * rules also for some overlayable types. For example how NaN floats are + * compared. */ +static UA_Order +arrayOrder(const void *p1, size_t p1Length, + const void *p2, size_t p2Length, + const UA_DataType *type) { + if(p1Length != p2Length) + return (p1Length < p2Length) ? UA_ORDER_LESS : UA_ORDER_MORE; + uintptr_t u1 = (uintptr_t)p1; + uintptr_t u2 = (uintptr_t)p2; + for(size_t i = 0; i < p1Length; i++) { + UA_Order o = orderJumpTable[type->typeKind]((const void*)u1, (const void*)u2, type); + if(o != UA_ORDER_EQ) + return o; + u1 += type->memSize; + u2 += type->memSize; + } + return UA_ORDER_EQ; +} + +static UA_Order +variantOrder(const UA_Variant *p1, const UA_Variant *p2, const UA_DataType *_) { + if(p1->type != p2->type) + return ((uintptr_t)p1->type < (uintptr_t)p2->type) ? UA_ORDER_LESS : UA_ORDER_MORE; + + UA_Order o; + if(p1->type != NULL) { + /* Check if both variants are scalars or arrays */ + UA_Boolean s1 = UA_Variant_isScalar(p1); + UA_Boolean s2 = UA_Variant_isScalar(p2); + if(s1 != s2) + return s1 ? UA_ORDER_LESS : UA_ORDER_MORE; + if(s1) { + o = orderJumpTable[p1->type->typeKind](p1->data, p2->data, p1->type); + } else { + /* Mismatching array length? */ + if(p1->arrayLength != p2->arrayLength) + return (p1->arrayLength < p2->arrayLength) ? UA_ORDER_LESS : UA_ORDER_MORE; + o = arrayOrder(p1->data, p1->arrayLength, p2->data, p2->arrayLength, p1->type); + } + if(o != UA_ORDER_EQ) + return o; + } + + if(p1->arrayDimensionsSize != p2->arrayDimensionsSize) + return (p1->arrayDimensionsSize < p2->arrayDimensionsSize) ? + UA_ORDER_LESS : UA_ORDER_MORE; + o = UA_ORDER_EQ; + if(p1->arrayDimensionsSize > 0) + o = arrayOrder(p1->arrayDimensions, p1->arrayDimensionsSize, + p2->arrayDimensions, p2->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_UINT32]); + return o; +} + +static UA_Order +dataValueOrder(const UA_DataValue *p1, const UA_DataValue *p2, const UA_DataType *_) { + /* Value */ + if(p1->hasValue != p2->hasValue) + return (!p1->hasValue) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasValue) { + UA_Order o = variantOrder(&p1->value, &p2->value, NULL); + if(o != UA_ORDER_EQ) + return o; + } + + /* Status */ + if(p1->hasStatus != p2->hasStatus) + return (!p1->hasStatus) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasStatus && p1->status != p2->status) + return (p1->status < p2->status) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* SourceTimestamp */ + if(p1->hasSourceTimestamp != p2->hasSourceTimestamp) + return (!p1->hasSourceTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasSourceTimestamp && p1->sourceTimestamp != p2->sourceTimestamp) + return (p1->sourceTimestamp < p2->sourceTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* ServerTimestamp */ + if(p1->hasServerTimestamp != p2->hasServerTimestamp) + return (!p1->hasServerTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasServerTimestamp && p1->serverTimestamp != p2->serverTimestamp) + return (p1->serverTimestamp < p2->serverTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* SourcePicoseconds */ + if(p1->hasSourcePicoseconds != p2->hasSourcePicoseconds) + return (!p1->hasSourcePicoseconds) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasSourcePicoseconds && p1->sourcePicoseconds != p2->sourcePicoseconds) + return (p1->sourcePicoseconds < p2->sourcePicoseconds) ? + UA_ORDER_LESS : UA_ORDER_MORE; + + /* ServerPicoseconds */ + if(p1->hasServerPicoseconds != p2->hasServerPicoseconds) + return (!p1->hasServerPicoseconds) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasServerPicoseconds && p1->serverPicoseconds != p2->serverPicoseconds) + return (p1->serverPicoseconds < p2->serverPicoseconds) ? + UA_ORDER_LESS : UA_ORDER_MORE; + + return UA_ORDER_EQ; +} + +static UA_Order +diagnosticInfoOrder(const UA_DiagnosticInfo *p1, const UA_DiagnosticInfo *p2, + const UA_DataType *_) { + /* SymbolicId */ + if(p1->hasSymbolicId != p2->hasSymbolicId) + return (!p1->hasSymbolicId) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasSymbolicId && p1->symbolicId != p2->symbolicId) + return (p1->symbolicId < p2->symbolicId) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* NamespaceUri */ + if(p1->hasNamespaceUri != p2->hasNamespaceUri) + return (!p1->hasNamespaceUri) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasNamespaceUri && p1->namespaceUri != p2->namespaceUri) + return (p1->namespaceUri < p2->namespaceUri) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* LocalizedText */ + if(p1->hasLocalizedText != p2->hasLocalizedText) + return (!p1->hasLocalizedText) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasLocalizedText && p1->localizedText != p2->localizedText) + return (p1->localizedText < p2->localizedText) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* Locale */ + if(p1->hasLocale != p2->hasLocale) + return (!p1->hasLocale) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasLocale && p1->locale != p2->locale) + return (p1->locale < p2->locale) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* AdditionalInfo */ + if(p1->hasAdditionalInfo != p2->hasAdditionalInfo) + return (!p1->hasAdditionalInfo) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasAdditionalInfo) { + UA_Order o = stringOrder(&p1->additionalInfo, &p2->additionalInfo, NULL); + if(o != UA_ORDER_EQ) + return o; + } + + /* InnerStatusCode */ + if(p1->hasInnerStatusCode != p2->hasInnerStatusCode) + return (!p1->hasInnerStatusCode) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->hasInnerStatusCode && p1->innerStatusCode != p2->innerStatusCode) + return (p1->innerStatusCode < p2->innerStatusCode) ? UA_ORDER_LESS : UA_ORDER_MORE; + + /* InnerDiagnosticInfo */ + if(p1->hasInnerDiagnosticInfo != p2->hasInnerDiagnosticInfo) + return (!p1->hasInnerDiagnosticInfo) ? UA_ORDER_LESS : UA_ORDER_MORE; + if(p1->innerDiagnosticInfo == p2->innerDiagnosticInfo) + return UA_ORDER_EQ; + if(!p1->innerDiagnosticInfo || !p2->innerDiagnosticInfo) + return (!p1->innerDiagnosticInfo) ? UA_ORDER_LESS : UA_ORDER_MORE; + return diagnosticInfoOrder(p1->innerDiagnosticInfo, p2->innerDiagnosticInfo, NULL); +} + +static UA_Order +structureOrder(const void *p1, const void *p2, const UA_DataType *type) { + uintptr_t u1 = (uintptr_t)p1; + uintptr_t u2 = (uintptr_t)p2; + UA_Order o = UA_ORDER_EQ; + for(size_t i = 0; i < type->membersSize; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + u1 += m->padding; + u2 += m->padding; + if(!m->isOptional) { + if(!m->isArray) { + o = orderJumpTable[mt->typeKind]((const void *)u1, (const void *)u2, mt); + u1 += mt->memSize; + u2 += mt->memSize; + } else { + size_t size1 = *(size_t*)u1; + size_t size2 = *(size_t*)u2; + u1 += sizeof(size_t); + u2 += sizeof(size_t); + o = arrayOrder(*(void* const*)u1, size1, *(void* const*)u2, size2, mt); + u1 += sizeof(void*); + u2 += sizeof(void*); + } + } else { + if(!m->isArray) { + const void *pp1 = *(void* const*)u1; + const void *pp2 = *(void* const*)u2; + if(pp1 == pp2) { + o = UA_ORDER_EQ; + } else if(pp1 == NULL) { + o = UA_ORDER_LESS; + } else if(pp2 == NULL) { + o = UA_ORDER_MORE; + } else { + o = orderJumpTable[mt->typeKind](pp1, pp2, mt); + } + } else { + size_t sa1 = *(size_t*)u1; + size_t sa2 = *(size_t*)u2; + u1 += sizeof(size_t); + u2 += sizeof(size_t); + o = arrayOrder(*(void* const*)u1, sa1, *(void* const*)u2, sa2, mt); + } + u1 += sizeof(void*); + u2 += sizeof(void*); + } + + if(o != UA_ORDER_EQ) + break; + } + return o; +} + +static UA_Order +unionOrder(const void *p1, const void *p2, const UA_DataType *type) { + UA_UInt32 sel1 = *(const UA_UInt32 *)p1; + UA_UInt32 sel2 = *(const UA_UInt32 *)p2; + if(sel1 != sel2) + return (sel1 < sel2) ? UA_ORDER_LESS : UA_ORDER_MORE; + + if(sel1 == 0) { + return UA_ORDER_EQ; + } + + const UA_DataTypeMember *m = &type->members[sel1-1]; + const UA_DataType *mt = m->memberType; + + uintptr_t u1 = ((uintptr_t)p1) + m->padding; /* includes switchfield length */ + uintptr_t u2 = ((uintptr_t)p2) + m->padding; + if(m->isArray) { + size_t sa1 = *(size_t*)u1; + size_t sa2 = *(size_t*)u2; + u1 += sizeof(size_t); + u2 += sizeof(size_t); + return arrayOrder(*(void* const*)u1, sa1, *(void* const*)u2, sa2, mt); + } + return orderJumpTable[mt->typeKind]((const void*)u1, (const void*)u2, mt); +} + +static UA_Order +notImplementedOrder(const void *p1, const void *p2, const UA_DataType *type) { + return UA_ORDER_EQ; +} + +const +UA_orderSignature orderJumpTable[UA_DATATYPEKINDS] = { + (UA_orderSignature)booleanOrder, + (UA_orderSignature)sByteOrder, + (UA_orderSignature)byteOrder, + (UA_orderSignature)int16Order, + (UA_orderSignature)uInt16Order, + (UA_orderSignature)int32Order, + (UA_orderSignature)uInt32Order, + (UA_orderSignature)int64Order, + (UA_orderSignature)uInt64Order, + (UA_orderSignature)floatOrder, + (UA_orderSignature)doubleOrder, + (UA_orderSignature)stringOrder, + (UA_orderSignature)int64Order, /* DateTime */ + (UA_orderSignature)guidOrder, + (UA_orderSignature)stringOrder, /* ByteString */ + (UA_orderSignature)stringOrder, /* XmlElement */ + (UA_orderSignature)nodeIdOrder, + (UA_orderSignature)expandedNodeIdOrder, + (UA_orderSignature)uInt32Order, /* StatusCode */ + (UA_orderSignature)qualifiedNameOrder, + (UA_orderSignature)localizedTextOrder, + (UA_orderSignature)extensionObjectOrder, + (UA_orderSignature)dataValueOrder, + (UA_orderSignature)variantOrder, + (UA_orderSignature)diagnosticInfoOrder, + notImplementedOrder, /* Decimal, not implemented */ + (UA_orderSignature)uInt32Order, /* Enumeration */ + (UA_orderSignature)structureOrder, + (UA_orderSignature)structureOrder, /* Struct with Optional Fields*/ + (UA_orderSignature)unionOrder, /* Union*/ + notImplementedOrder /* BitfieldCluster, not implemented */ +}; + +UA_Order UA_order(const void *p1, const void *p2, const UA_DataType *type) { + return orderJumpTable[type->typeKind](p1, p2, type); +} + +/******************/ +/* Array Handling */ +/******************/ + +void * +UA_Array_new(size_t size, const UA_DataType *type) { + if(size > UA_INT32_MAX) + return NULL; + if(size == 0) + return UA_EMPTY_ARRAY_SENTINEL; + return UA_calloc(size, type->memSize); +} + +UA_StatusCode +UA_Array_copy(const void *src, size_t size, + void **dst, const UA_DataType *type) { + if(size == 0) { + if(src == NULL) + *dst = NULL; + else + *dst= UA_EMPTY_ARRAY_SENTINEL; + return UA_STATUSCODE_GOOD; + } + + /* Check the array consistency -- defensive programming in case the user + * manually created an inconsistent array */ + if(UA_UNLIKELY(!type || !src)) + return UA_STATUSCODE_BADINTERNALERROR; + + /* calloc, so we don't have to check retval in every iteration of copying */ + *dst = UA_calloc(size, type->memSize); + if(!*dst) + return UA_STATUSCODE_BADOUTOFMEMORY; + + if(type->pointerFree) { + memcpy(*dst, src, type->memSize * size); + return UA_STATUSCODE_GOOD; + } + + uintptr_t ptrs = (uintptr_t)src; + uintptr_t ptrd = (uintptr_t)*dst; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < size; ++i) { + retval |= UA_copy((void*)ptrs, (void*)ptrd, type); + ptrs += type->memSize; + ptrd += type->memSize; + } + if(retval != UA_STATUSCODE_GOOD) { + UA_Array_delete(*dst, size, type); + *dst = NULL; + } + return retval; +} + +UA_StatusCode +UA_Array_resize(void **p, size_t *size, size_t newSize, + const UA_DataType *type) { + if(*size == newSize) + return UA_STATUSCODE_GOOD; + + /* Empty array? */ + if(newSize == 0) { + UA_Array_delete(*p, *size, type); + *p = UA_EMPTY_ARRAY_SENTINEL; + *size = 0; + return UA_STATUSCODE_GOOD; + } + + /* Make a copy of the members that shall be removed. Realloc can fail during + * trimming. So we cannot clear the members already here. */ + void *deleteMembers = NULL; + if(newSize < *size && !type->pointerFree) { + size_t deleteSize = *size - newSize; + deleteMembers = UA_malloc(deleteSize * type->memSize); + if(!deleteMembers) + return UA_STATUSCODE_BADOUTOFMEMORY; + memcpy(deleteMembers, (void*)((uintptr_t)*p + (newSize * type->memSize)), + deleteSize * type->memSize); /* shallow copy */ + } + + void *oldP = *p; + if(oldP == UA_EMPTY_ARRAY_SENTINEL) + oldP = NULL; + + /* Realloc */ + void *newP = UA_realloc(oldP, newSize * type->memSize); + if(!newP) { + if(deleteMembers) + UA_free(deleteMembers); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Clear removed members or initialize the new ones. Note that deleteMembers + * depends on type->pointerFree. */ + if(newSize > *size) + memset((void*)((uintptr_t)newP + (*size * type->memSize)), 0, + (newSize - *size) * type->memSize); + else if(deleteMembers) + UA_Array_delete(deleteMembers, *size - newSize, type); + + /* Set the new array */ + *p = newP; + *size = newSize; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Array_append(void **p, size_t *size, void *newElem, + const UA_DataType *type) { + /* Resize the array */ + size_t oldSize = *size; + UA_StatusCode res = UA_Array_resize(p, size, oldSize+1, type); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Move the value */ + memcpy((void*)((uintptr_t)*p + (oldSize * type->memSize)), + newElem, type->memSize); + UA_init(newElem, type); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Array_appendCopy(void **p, size_t *size, const void *newElem, + const UA_DataType *type) { + char scratch[512]; + if(type->memSize > 512) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Copy the value */ + UA_StatusCode res = UA_copy(newElem, (void*)scratch, type); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Append */ + res = UA_Array_append(p, size, (void*)scratch, type); + if(res != UA_STATUSCODE_GOOD) + UA_clear((void*)scratch, type); + return res; +} + +void +UA_Array_delete(void *p, size_t size, const UA_DataType *type) { + if(!type->pointerFree) { + uintptr_t ptr = (uintptr_t)p; + for(size_t i = 0; i < size; ++i) { + UA_clear((void*)ptr, type); + ptr += type->memSize; + } + } + UA_free((void*)((uintptr_t)p & ~(uintptr_t)UA_EMPTY_ARRAY_SENTINEL)); +} + +#ifdef UA_ENABLE_TYPEDESCRIPTION +UA_Boolean +UA_DataType_getStructMember(const UA_DataType *type, const char *memberName, + size_t *outOffset, const UA_DataType **outMemberType, + UA_Boolean *outIsArray) { + if(type->typeKind != UA_DATATYPEKIND_STRUCTURE && + type->typeKind != UA_DATATYPEKIND_OPTSTRUCT) + return false; + + size_t offset = 0; + for(size_t i = 0; i < type->membersSize; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + offset += m->padding; + + if(strcmp(memberName, m->memberName) == 0) { + *outOffset = offset; + *outMemberType = mt; + *outIsArray = m->isArray; + return true; + } + + if(!m->isOptional) { + if(!m->isArray) { + offset += mt->memSize; + } else { + offset += sizeof(size_t); + offset += sizeof(void*); + } + } else { /* field is optional */ + if(!m->isArray) { + offset += sizeof(void *); + } else { + offset += sizeof(size_t); + offset += sizeof(void *); + } + } + } + + return false; +} +#endif + +UA_Boolean +UA_DataType_isNumeric(const UA_DataType *type) { + switch(type->typeKind) { + case UA_DATATYPEKIND_SBYTE: + case UA_DATATYPEKIND_BYTE: + case UA_DATATYPEKIND_INT16: + case UA_DATATYPEKIND_UINT16: + case UA_DATATYPEKIND_INT32: + case UA_DATATYPEKIND_UINT32: + case UA_DATATYPEKIND_INT64: + case UA_DATATYPEKIND_UINT64: + case UA_DATATYPEKIND_FLOAT: + case UA_DATATYPEKIND_DOUBLE: + /* not implemented: UA_DATATYPEKIND_DECIMAL */ + return true; + default: + return false; + } +} + +/**********************/ +/* Parse NumericRange */ +/**********************/ + +static size_t +readDimension(UA_Byte *buf, size_t buflen, UA_NumericRangeDimension *dim) { + size_t progress = UA_readNumber(buf, buflen, &dim->min); + if(progress == 0) + return 0; + if(buflen <= progress + 1 || buf[progress] != ':') { + dim->max = dim->min; + return progress; + } + + ++progress; + size_t progress2 = UA_readNumber(&buf[progress], buflen - progress, &dim->max); + if(progress2 == 0) + return 0; + + /* invalid range */ + if(dim->min >= dim->max) + return 0; + + return progress + progress2; +} + +UA_StatusCode +UA_NumericRange_parse(UA_NumericRange *range, const UA_String str) { + size_t idx = 0; + size_t dimensionsMax = 0; + UA_NumericRangeDimension *dimensions = NULL; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + size_t offset = 0; + while(true) { + /* alloc dimensions */ + if(idx >= dimensionsMax) { + UA_NumericRangeDimension *newds; + size_t newdssize = sizeof(UA_NumericRangeDimension) * (dimensionsMax + 2); + newds = (UA_NumericRangeDimension*)UA_realloc(dimensions, newdssize); + if(!newds) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + break; + } + dimensions = newds; + dimensionsMax = dimensionsMax + 2; + } + + /* read the dimension */ + size_t progress = readDimension(&str.data[offset], str.length - offset, + &dimensions[idx]); + if(progress == 0) { + retval = UA_STATUSCODE_BADINDEXRANGEINVALID; + break; + } + offset += progress; + ++idx; + + /* loop into the next dimension */ + if(offset >= str.length) + break; + + if(str.data[offset] != ',') { + retval = UA_STATUSCODE_BADINDEXRANGEINVALID; + break; + } + ++offset; + } + + if(retval == UA_STATUSCODE_GOOD && idx > 0) { + range->dimensions = dimensions; + range->dimensionsSize = idx; + } else { + UA_free(dimensions); + } + + return retval; +} + +/**** amalgamated original file "/src/ua_types_encoding_binary.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright 2020 (c) Grigory Friedman + * Copyright 2014-2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2014-2016 (c) Sten Grüner + * Copyright 2014 (c) Leon Urbas + * Copyright 2015 (c) LEvertz + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) Lorenz Haas + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2017 (c) Henrik Norrman + */ + + + +/** + * Type Encoding and Decoding + * -------------------------- + * The following methods contain encoding and decoding functions for the builtin + * data types and generic functions that operate on all types and arrays. This + * requires the type description from a UA_DataType structure. + * + * Breaking a message up into chunks is integrated with the encoding. When the + * end of a buffer is reached, a callback is executed that sends the current + * buffer as a chunk and exchanges the encoding buffer "underneath" the ongoing + * encoding. This reduces the RAM requirements and unnecessary copying. */ + +/* Part 6 §5.1.5: Decoders shall support at least 100 nesting levels */ +#define UA_ENCODING_MAX_RECURSION 100 + +typedef struct { + /* Pointers to the current and last buffer position */ + u8 *pos; + const u8 *end; + + /* How often did we en-/decoding recurse? */ + u16 depth; + + const UA_DataTypeArray *customTypes; + UA_exchangeEncodeBuffer exchangeBufferCallback; + void *exchangeBufferCallbackHandle; +} Ctx; + +typedef status +(*encodeBinarySignature)(const void *UA_RESTRICT src, const UA_DataType *type, + Ctx *UA_RESTRICT ctx); +typedef status +(*decodeBinarySignature)(void *UA_RESTRICT dst, const UA_DataType *type, + Ctx *UA_RESTRICT ctx); +typedef size_t +(*calcSizeBinarySignature)(const void *UA_RESTRICT p, const UA_DataType *type); + +#define ENCODE_BINARY(TYPE) static status \ + TYPE##_encodeBinary(const UA_##TYPE *UA_RESTRICT src, \ + const UA_DataType *type, Ctx *UA_RESTRICT ctx) +#define DECODE_BINARY(TYPE) static status \ + TYPE##_decodeBinary(UA_##TYPE *UA_RESTRICT dst, \ + const UA_DataType *type, Ctx *UA_RESTRICT ctx) +#define CALCSIZE_BINARY(TYPE) static size_t \ + TYPE##_calcSizeBinary(const UA_##TYPE *UA_RESTRICT src, const UA_DataType *_) +#define ENCODE_DIRECT(SRC, TYPE) TYPE##_encodeBinary((const UA_##TYPE*)SRC, NULL, ctx) +#define DECODE_DIRECT(DST, TYPE) TYPE##_decodeBinary((UA_##TYPE*)DST, NULL, ctx) + +/* Jumptables for de-/encoding and computing the buffer length. The methods in + * the decoding jumptable do not all clean up their allocated memory when an + * error occurs. So a final _clear needs to be called before returning to the + * user. */ +extern const encodeBinarySignature encodeBinaryJumpTable[UA_DATATYPEKINDS]; +extern const decodeBinarySignature decodeBinaryJumpTable[UA_DATATYPEKINDS]; +extern const calcSizeBinarySignature calcSizeBinaryJumpTable[UA_DATATYPEKINDS]; + +/* Send the current chunk and replace the buffer */ +static status exchangeBuffer(Ctx *ctx) { + if(!ctx->exchangeBufferCallback) + return UA_STATUSCODE_BADENCODINGERROR; + return ctx->exchangeBufferCallback(ctx->exchangeBufferCallbackHandle, + &ctx->pos, &ctx->end); +} + +/* If encoding fails, exchange the buffer and try again. */ +static status +encodeWithExchangeBuffer(const void *ptr, const UA_DataType *type, Ctx *ctx) { + u8 *oldpos = ctx->pos; /* Last known good position */ +#ifndef NDEBUG + /* We have to ensure that the buffer was not exchanged AND + * BADENCODINGLIMITSEXCEEDED was returned. If that were the case, oldpos + * would be invalid. That means, a type encoding must never return + * BADENCODINGLIMITSEXCEEDED once the buffer could have been exchanged. This + * is achieved by the use of encodeWithExchangeBuffer. */ + const u8 *oldend = ctx->end; + (void)oldend; /* For compilers who don't understand NDEBUG... */ +#endif + status ret = encodeBinaryJumpTable[type->typeKind](ptr, type, ctx); + if(ret == UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED) { + UA_assert(ctx->end == oldend); + ctx->pos = oldpos; /* Set to the last known good position and exchange */ + ret = exchangeBuffer(ctx); + UA_CHECK_STATUS(ret, return ret); + ret = encodeBinaryJumpTable[type->typeKind](ptr, type, ctx); + } + return ret; +} + +/*****************/ +/* Integer Types */ +/*****************/ + +#if !UA_BINARY_OVERLAYABLE_INTEGER + +#pragma message "Integer endianness could not be detected to be little endian. Use slow generic encoding." + +/* These en/decoding functions are only used when the architecture isn't little-endian. */ +static void +UA_encode16(const u16 v, u8 buf[2]) { + buf[0] = (u8)v; + buf[1] = (u8)(v >> 8); +} + +static void +UA_decode16(const u8 buf[2], u16 *v) { + *v = (u16)((u16)buf[0] + (((u16)buf[1]) << 8)); +} + +static void +UA_encode32(const u32 v, u8 buf[4]) { + buf[0] = (u8)v; + buf[1] = (u8)(v >> 8); + buf[2] = (u8)(v >> 16); + buf[3] = (u8)(v >> 24); +} + +static void +UA_decode32(const u8 buf[4], u32 *v) { + *v = (u32)((u32)buf[0] + (((u32)buf[1]) << 8) + + (((u32)buf[2]) << 16) + (((u32)buf[3]) << 24)); +} + +static void +UA_encode64(const u64 v, u8 buf[8]) { + buf[0] = (u8)v; + buf[1] = (u8)(v >> 8); + buf[2] = (u8)(v >> 16); + buf[3] = (u8)(v >> 24); + buf[4] = (u8)(v >> 32); + buf[5] = (u8)(v >> 40); + buf[6] = (u8)(v >> 48); + buf[7] = (u8)(v >> 56); +} + +static void +UA_decode64(const u8 buf[8], u64 *v) { + *v = (u64)((u64)buf[0] + (((u64)buf[1]) << 8) + + (((u64)buf[2]) << 16) + (((u64)buf[3]) << 24) + + (((u64)buf[4]) << 32) + (((u64)buf[5]) << 40) + + (((u64)buf[6]) << 48) + (((u64)buf[7]) << 56)); +} + +#endif /* !UA_BINARY_OVERLAYABLE_INTEGER */ + +/* Boolean */ +/* Note that sizeof(bool) != 1 on some platforms. Overlayable integer encoding + * is disabled in those cases. */ +ENCODE_BINARY(Boolean) { + UA_CHECK(ctx->pos + 1 <= ctx->end, return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + *ctx->pos = *(const u8*)src; + ++ctx->pos; + return UA_STATUSCODE_GOOD; +} + +DECODE_BINARY(Boolean) { + UA_CHECK(ctx->pos + 1 <= ctx->end, return UA_STATUSCODE_BADDECODINGERROR); + *dst = (*ctx->pos > 0) ? true : false; + ++ctx->pos; + return UA_STATUSCODE_GOOD; +} + +/* Byte */ +ENCODE_BINARY(Byte) { + UA_CHECK(ctx->pos + sizeof(u8) <= ctx->end, + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + *ctx->pos = *(const u8*)src; + ++ctx->pos; + return UA_STATUSCODE_GOOD; +} + +DECODE_BINARY(Byte) { + UA_CHECK(ctx->pos + sizeof(u8) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); + *dst = *ctx->pos; + ++ctx->pos; + return UA_STATUSCODE_GOOD; +} + +/* UInt16 */ +ENCODE_BINARY(UInt16) { + UA_CHECK(ctx->pos + sizeof(u16) <= ctx->end, + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); +#if UA_BINARY_OVERLAYABLE_INTEGER + memcpy(ctx->pos, src, sizeof(u16)); +#else + UA_encode16(*src, ctx->pos); +#endif + ctx->pos += 2; + return UA_STATUSCODE_GOOD; +} + +DECODE_BINARY(UInt16) { + UA_CHECK(ctx->pos + sizeof(u16) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); +#if UA_BINARY_OVERLAYABLE_INTEGER + memcpy(dst, ctx->pos, sizeof(u16)); +#else + UA_decode16(ctx->pos, dst); +#endif + ctx->pos += 2; + return UA_STATUSCODE_GOOD; +} + +/* UInt32 */ +ENCODE_BINARY(UInt32) { + UA_CHECK(ctx->pos + sizeof(u32) <= ctx->end, + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); +#if UA_BINARY_OVERLAYABLE_INTEGER + memcpy(ctx->pos, src, sizeof(u32)); +#else + UA_encode32(*src, ctx->pos); +#endif + ctx->pos += 4; + return UA_STATUSCODE_GOOD; +} + +DECODE_BINARY(UInt32) { + UA_CHECK(ctx->pos + sizeof(u32) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); +#if UA_BINARY_OVERLAYABLE_INTEGER + memcpy(dst, ctx->pos, sizeof(u32)); +#else + UA_decode32(ctx->pos, dst); +#endif + ctx->pos += 4; + return UA_STATUSCODE_GOOD; +} + +/* UInt64 */ +ENCODE_BINARY(UInt64) { + UA_CHECK(ctx->pos + sizeof(u64) <= ctx->end, + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); +#if UA_BINARY_OVERLAYABLE_INTEGER + memcpy(ctx->pos, src, sizeof(u64)); +#else + UA_encode64(*src, ctx->pos); +#endif + ctx->pos += 8; + return UA_STATUSCODE_GOOD; +} + +DECODE_BINARY(UInt64) { + UA_CHECK(ctx->pos + sizeof(u64) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); +#if UA_BINARY_OVERLAYABLE_INTEGER + memcpy(dst, ctx->pos, sizeof(u64)); +#else + UA_decode64(ctx->pos, dst); +#endif + ctx->pos += 8; + return UA_STATUSCODE_GOOD; +} + +/************************/ +/* Floating Point Types */ +/************************/ + +/* Can we reuse the integer encoding mechanism by casting floating point + * values? */ +#if (UA_FLOAT_IEEE754 == 1) && (UA_LITTLE_ENDIAN == UA_FLOAT_LITTLE_ENDIAN) +# define Float_encodeBinary UInt32_encodeBinary +# define Float_decodeBinary UInt32_decodeBinary +# define Double_encodeBinary UInt64_encodeBinary +# define Double_decodeBinary UInt64_decodeBinary +#else + +#include + +#pragma message "No native IEEE 754 format detected. Use slow generic encoding." + +/* Handling of IEEE754 floating point values was taken from Beej's Guide to + * Network Programming (http://beej.us/guide/bgnet/) and enhanced to cover the + * edge cases +/-0, +/-inf and nan. */ +static uint64_t +pack754(long double f, unsigned bits, unsigned expbits) { + unsigned significandbits = bits - expbits - 1; + long double fnorm; + long long sign; + if(f < 0) { sign = 1; fnorm = -f; } + else { sign = 0; fnorm = f; } + int shift = 0; + while(fnorm >= 2.0) { fnorm /= 2.0; ++shift; } + while(fnorm < 1.0) { fnorm *= 2.0; --shift; } + fnorm = fnorm - 1.0; + long long significand = (long long)(fnorm * ((float)(1LL<>significandbits) & (uint64_t)((1LL< 0) { result *= 2.0; --shift; } + while(shift < 0) { result /= 2.0; ++shift; } + result *= ((i>>(bits-1))&1)? -1.0: 1.0; + return result; +} + +/* Float */ +#define FLOAT_NAN 0xffc00000 +#define FLOAT_INF 0x7f800000 +#define FLOAT_NEG_INF 0xff800000 +#define FLOAT_NEG_ZERO 0x80000000 + +ENCODE_BINARY(Float) { + UA_Float f = *src; + u32 encoded; + /* cppcheck-suppress duplicateExpression */ + if(f != f) encoded = FLOAT_NAN; + else if(f == 0.0f) encoded = signbit(f) ? FLOAT_NEG_ZERO : 0; + else if(f/f != f/f) encoded = f > 0 ? FLOAT_INF : FLOAT_NEG_INF; + else encoded = (u32)pack754(f, 32, 8); + return ENCODE_DIRECT(&encoded, UInt32); +} + +DECODE_BINARY(Float) { + u32 decoded; + status ret = DECODE_DIRECT(&decoded, UInt32); + if(ret != UA_STATUSCODE_GOOD) + return ret; + if(decoded == 0) *dst = 0.0f; + else if(decoded == FLOAT_NEG_ZERO) *dst = -0.0f; + else if(decoded == FLOAT_INF) *dst = INFINITY; + else if(decoded == FLOAT_NEG_INF) *dst = -INFINITY; + else if((decoded >= 0x7f800001 && decoded <= 0x7fffffff) || + (decoded >= 0xff800001)) *dst = NAN; + else *dst = (UA_Float)unpack754(decoded, 32, 8); + return UA_STATUSCODE_GOOD; +} + +/* Double */ +#define DOUBLE_NAN 0xfff8000000000000L +#define DOUBLE_INF 0x7ff0000000000000L +#define DOUBLE_NEG_INF 0xfff0000000000000L +#define DOUBLE_NEG_ZERO 0x8000000000000000L + +ENCODE_BINARY(Double) { + UA_Double d = *src; + u64 encoded; + /* cppcheck-suppress duplicateExpression */ + if(d != d) encoded = DOUBLE_NAN; + else if(d == 0.0) encoded = signbit(d) ? DOUBLE_NEG_ZERO : 0; + else if(d/d != d/d) encoded = d > 0 ? DOUBLE_INF : DOUBLE_NEG_INF; + else encoded = pack754(d, 64, 11); + return ENCODE_DIRECT(&encoded, UInt64); +} + +DECODE_BINARY(Double) { + u64 decoded; + status ret = DECODE_DIRECT(&decoded, UInt64); + UA_CHECK_STATUS(ret, return ret); + if(decoded == 0) *dst = 0.0; + else if(decoded == DOUBLE_NEG_ZERO) *dst = -0.0; + else if(decoded == DOUBLE_INF) *dst = INFINITY; + else if(decoded == DOUBLE_NEG_INF) *dst = -INFINITY; + else if((decoded >= 0x7ff0000000000001L && decoded <= 0x7fffffffffffffffL) || + (decoded >= 0xfff0000000000001L)) *dst = NAN; + else *dst = (UA_Double)unpack754(decoded, 64, 11); + return UA_STATUSCODE_GOOD; +} + +#endif + +/******************/ +/* Array Handling */ +/******************/ + +static status +Array_encodeBinaryOverlayable(uintptr_t ptr, size_t memSize, Ctx *ctx) { + /* Loop as long as more elements remain than fit into the chunk */ + while(ctx->end < ctx->pos + memSize) { + size_t possible = ((uintptr_t)ctx->end - (uintptr_t)ctx->pos); + memcpy(ctx->pos, (void*)ptr, possible); + ctx->pos += possible; + ptr += possible; + status ret = exchangeBuffer(ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + memSize -= possible; + } + + /* Encode the remaining elements */ + memcpy(ctx->pos, (void*)ptr, memSize); + ctx->pos += memSize; + return UA_STATUSCODE_GOOD; +} + +static status +Array_encodeBinaryComplex(uintptr_t ptr, size_t length, + const UA_DataType *type, Ctx *ctx) { + /* Encode every element */ + for(size_t i = 0; i < length; ++i) { + status ret = encodeWithExchangeBuffer((const void*)ptr, type, ctx); + ptr += type->memSize; + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); /* Unrecoverable fail */ + } + return UA_STATUSCODE_GOOD; +} + +static status +Array_encodeBinary(const void *src, size_t length, const UA_DataType *type, Ctx *ctx) { + /* Check and convert the array length to int32 */ + i32 signed_length = -1; + if(length > UA_INT32_MAX) + return UA_STATUSCODE_BADINTERNALERROR; + if(length > 0) + signed_length = (i32)length; + else if(src >= UA_EMPTY_ARRAY_SENTINEL) /* src != NULL */ + signed_length = 0; + + /* Encode the array length */ + status ret = encodeWithExchangeBuffer(&signed_length, &UA_TYPES[UA_TYPES_INT32], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the content */ + if(length > 0) { + if(type->overlayable) + ret = Array_encodeBinaryOverlayable((uintptr_t)src, length * type->memSize, ctx); + else + ret = Array_encodeBinaryComplex((uintptr_t)src, length, type, ctx); + } + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; +} + +static status +Array_decodeBinary(void *UA_RESTRICT *UA_RESTRICT dst, size_t *out_length, + const UA_DataType *type, Ctx *ctx) { + /* Decode the length */ + i32 signed_length; + status ret = DECODE_DIRECT(&signed_length, UInt32); /* Int32 */ + UA_CHECK_STATUS(ret, return ret); + + /* Return early for empty arrays */ + if(signed_length <= 0) { + *out_length = 0; + if(signed_length < 0) + *dst = NULL; + else + *dst = UA_EMPTY_ARRAY_SENTINEL; + return UA_STATUSCODE_GOOD; + } + + /* Filter out arrays that can obviously not be decoded, because the message + * is too small for the array length. This prevents the allocation of very + * long arrays for bogus messages. + * + * The worst known case (so far) is UA_DataValue. It has + * sizeof(UA_DataValue) == 80 and an empty DataValue is encoded with just + * one byte. We use 128 as the smallest power of 2 larger than 80. */ + size_t length = (size_t)signed_length; + UA_CHECK(ctx->pos + ((type->memSize * length) / 128) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); + + /* Allocate memory */ + *dst = UA_calloc(length, type->memSize); + UA_CHECK_MEM(*dst, return UA_STATUSCODE_BADOUTOFMEMORY); + + if(type->overlayable) { + /* memcpy overlayable array */ + UA_CHECK(ctx->pos + (type->memSize * length) <= ctx->end, + UA_free(*dst); *dst = NULL; return UA_STATUSCODE_BADDECODINGERROR); + memcpy(*dst, ctx->pos, type->memSize * length); + ctx->pos += type->memSize * length; + } else { + /* Decode array members */ + uintptr_t ptr = (uintptr_t)*dst; + for(size_t i = 0; i < length; ++i) { + ret = decodeBinaryJumpTable[type->typeKind]((void*)ptr, type, ctx); + UA_CHECK_STATUS(ret, /* +1 because last element is also already initialized */ + UA_Array_delete(*dst, i+1, type); *dst = NULL; return ret); + ptr += type->memSize; + } + } + *out_length = length; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* Builtin Types */ +/*****************/ + +ENCODE_BINARY(String) { + return Array_encodeBinary(src->data, src->length, &UA_TYPES[UA_TYPES_BYTE], ctx); +} + +DECODE_BINARY(String) { + return Array_decodeBinary((void**)&dst->data, &dst->length, &UA_TYPES[UA_TYPES_BYTE], ctx); +} + +/* Guid */ +ENCODE_BINARY(Guid) { + status ret = UA_STATUSCODE_GOOD; + ret |= ENCODE_DIRECT(&src->data1, UInt32); + ret |= ENCODE_DIRECT(&src->data2, UInt16); + ret |= ENCODE_DIRECT(&src->data3, UInt16); + UA_CHECK(ctx->pos + (8*sizeof(u8)) <= ctx->end, + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + memcpy(ctx->pos, src->data4, 8*sizeof(u8)); + ctx->pos += 8; + return ret; +} + +DECODE_BINARY(Guid) { + status ret = UA_STATUSCODE_GOOD; + ret |= DECODE_DIRECT(&dst->data1, UInt32); + ret |= DECODE_DIRECT(&dst->data2, UInt16); + ret |= DECODE_DIRECT(&dst->data3, UInt16); + UA_CHECK(ctx->pos + (8*sizeof(u8)) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); + memcpy(dst->data4, ctx->pos, 8*sizeof(u8)); + ctx->pos += 8; + return ret; +} + +/* NodeId */ +#define UA_NODEIDTYPE_NUMERIC_TWOBYTE 0u +#define UA_NODEIDTYPE_NUMERIC_FOURBYTE 1u +#define UA_NODEIDTYPE_NUMERIC_COMPLETE 2u + +#define UA_EXPANDEDNODEID_SERVERINDEX_FLAG 0x40u +#define UA_EXPANDEDNODEID_NAMESPACEURI_FLAG 0x80u + +/* For ExpandedNodeId, we prefill the encoding mask. */ +static status +NodeId_encodeBinaryWithEncodingMask(UA_NodeId const *src, u8 encoding, Ctx *ctx) { + status ret = UA_STATUSCODE_GOOD; + switch(src->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + if(src->identifier.numeric > UA_UINT16_MAX || src->namespaceIndex > UA_BYTE_MAX) { + encoding |= UA_NODEIDTYPE_NUMERIC_COMPLETE; + ret |= ENCODE_DIRECT(&encoding, Byte); + ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); + ret |= ENCODE_DIRECT(&src->identifier.numeric, UInt32); + } else if(src->identifier.numeric > UA_BYTE_MAX || src->namespaceIndex > 0) { + encoding |= UA_NODEIDTYPE_NUMERIC_FOURBYTE; + ret |= ENCODE_DIRECT(&encoding, Byte); + u8 nsindex = (u8)src->namespaceIndex; + ret |= ENCODE_DIRECT(&nsindex, Byte); + u16 identifier16 = (u16)src->identifier.numeric; + ret |= ENCODE_DIRECT(&identifier16, UInt16); + } else { + encoding |= UA_NODEIDTYPE_NUMERIC_TWOBYTE; + ret |= ENCODE_DIRECT(&encoding, Byte); + u8 identifier8 = (u8)src->identifier.numeric; + ret |= ENCODE_DIRECT(&identifier8, Byte); + } + break; + case UA_NODEIDTYPE_STRING: + encoding |= (u8)UA_NODEIDTYPE_STRING; + ret |= ENCODE_DIRECT(&encoding, Byte); + ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); + UA_CHECK_STATUS(ret, return ret); + /* Can exchange the buffer */ + ret = ENCODE_DIRECT(&src->identifier.string, String); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + break; + case UA_NODEIDTYPE_GUID: + encoding |= (u8)UA_NODEIDTYPE_GUID; + ret |= ENCODE_DIRECT(&encoding, Byte); + ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); + ret |= ENCODE_DIRECT(&src->identifier.guid, Guid); + break; + case UA_NODEIDTYPE_BYTESTRING: + encoding |= (u8)UA_NODEIDTYPE_BYTESTRING; + ret |= ENCODE_DIRECT(&encoding, Byte); + ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); + UA_CHECK_STATUS(ret, return ret); + /* Can exchange the buffer */ + ret = ENCODE_DIRECT(&src->identifier.byteString, String); /* ByteString */ + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + break; + default: + return UA_STATUSCODE_BADINTERNALERROR; + } + return ret; +} + +ENCODE_BINARY(NodeId) { + return NodeId_encodeBinaryWithEncodingMask(src, 0, ctx); +} + +DECODE_BINARY(NodeId) { + u8 dstByte = 0, encodingByte = 0; + u16 dstUInt16 = 0; + + /* Decode the encoding bitfield */ + status ret = DECODE_DIRECT(&encodingByte, Byte); + UA_CHECK_STATUS(ret, return ret); + + /* Filter out the bits used only for ExpandedNodeIds */ + encodingByte &= (u8)~(u8)(UA_EXPANDEDNODEID_SERVERINDEX_FLAG | + UA_EXPANDEDNODEID_NAMESPACEURI_FLAG); + + /* Decode the namespace and identifier */ + switch(encodingByte) { + case UA_NODEIDTYPE_NUMERIC_TWOBYTE: + dst->identifierType = UA_NODEIDTYPE_NUMERIC; + ret = DECODE_DIRECT(&dstByte, Byte); + dst->identifier.numeric = dstByte; + dst->namespaceIndex = 0; + break; + case UA_NODEIDTYPE_NUMERIC_FOURBYTE: + dst->identifierType = UA_NODEIDTYPE_NUMERIC; + ret |= DECODE_DIRECT(&dstByte, Byte); + dst->namespaceIndex = dstByte; + ret |= DECODE_DIRECT(&dstUInt16, UInt16); + dst->identifier.numeric = dstUInt16; + break; + case UA_NODEIDTYPE_NUMERIC_COMPLETE: + dst->identifierType = UA_NODEIDTYPE_NUMERIC; + ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); + ret |= DECODE_DIRECT(&dst->identifier.numeric, UInt32); + break; + case UA_NODEIDTYPE_STRING: + dst->identifierType = UA_NODEIDTYPE_STRING; + ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); + ret |= DECODE_DIRECT(&dst->identifier.string, String); + break; + case UA_NODEIDTYPE_GUID: + dst->identifierType = UA_NODEIDTYPE_GUID; + ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); + ret |= DECODE_DIRECT(&dst->identifier.guid, Guid); + break; + case UA_NODEIDTYPE_BYTESTRING: + dst->identifierType = UA_NODEIDTYPE_BYTESTRING; + ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); + ret |= DECODE_DIRECT(&dst->identifier.byteString, String); /* ByteString */ + break; + default: + ret |= UA_STATUSCODE_BADINTERNALERROR; + break; + } + return ret; +} + +/* ExpandedNodeId */ +ENCODE_BINARY(ExpandedNodeId) { + /* Set up the encoding mask */ + u8 encoding = 0; + if((void*)src->namespaceUri.data > UA_EMPTY_ARRAY_SENTINEL) + encoding |= UA_EXPANDEDNODEID_NAMESPACEURI_FLAG; + if(src->serverIndex > 0) + encoding |= UA_EXPANDEDNODEID_SERVERINDEX_FLAG; + + /* Encode the NodeId. Can exchange the buffer. */ + status ret = NodeId_encodeBinaryWithEncodingMask(&src->nodeId, encoding, ctx); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the namespace. Internally uses encodeWithExchangeBuffer + * everywhere. So it will never return + * UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED. */ + if((void*)src->namespaceUri.data > UA_EMPTY_ARRAY_SENTINEL) { + ret = ENCODE_DIRECT(&src->namespaceUri, String); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + } + + /* Encode the serverIndex */ + if(src->serverIndex > 0) + ret = encodeWithExchangeBuffer(&src->serverIndex, &UA_TYPES[UA_TYPES_UINT32], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; +} + +DECODE_BINARY(ExpandedNodeId) { + /* Decode the encoding mask */ + UA_CHECK(ctx->pos + 1 <= ctx->end, return UA_STATUSCODE_BADDECODINGERROR); + u8 encoding = *ctx->pos; + + /* Decode the NodeId */ + status ret = DECODE_DIRECT(&dst->nodeId, NodeId); + + /* Decode the NamespaceUri */ + if(encoding & UA_EXPANDEDNODEID_NAMESPACEURI_FLAG) { + dst->nodeId.namespaceIndex = 0; + ret |= DECODE_DIRECT(&dst->namespaceUri, String); + } + + /* Decode the ServerIndex */ + if(encoding & UA_EXPANDEDNODEID_SERVERINDEX_FLAG) + ret |= DECODE_DIRECT(&dst->serverIndex, UInt32); + return ret; +} + +/* QualifiedName */ +ENCODE_BINARY(QualifiedName) { + status ret = ENCODE_DIRECT(&src->namespaceIndex, UInt16); + /* Must check here so we can exchange the buffer in the string encoding */ + UA_CHECK_STATUS(ret, return ret); + ret |= ENCODE_DIRECT(&src->name, String); + return ret; +} + +DECODE_BINARY(QualifiedName) { + status ret = DECODE_DIRECT(&dst->namespaceIndex, UInt16); + ret |= DECODE_DIRECT(&dst->name, String); + return ret; +} + +/* LocalizedText */ +#define UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE 0x01u +#define UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT 0x02u + +ENCODE_BINARY(LocalizedText) { + /* Set up the encoding mask */ + u8 encoding = 0; + if(src->locale.data) + encoding |= UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE; + if(src->text.data) + encoding |= UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT; + + /* Encode the encoding byte */ + status ret = ENCODE_DIRECT(&encoding, Byte); + /* Must check here so we can exchange the buffer in the string encoding */ + UA_CHECK_STATUS(ret, return ret); + + /* Encode the strings */ + if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE) + ret |= ENCODE_DIRECT(&src->locale, String); + if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT) + ret |= ENCODE_DIRECT(&src->text, String); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; +} + +DECODE_BINARY(LocalizedText) { + /* Decode the encoding mask */ + u8 encoding = 0; + status ret = DECODE_DIRECT(&encoding, Byte); + + /* Decode the content */ + if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE) + ret |= DECODE_DIRECT(&dst->locale, String); + if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT) + ret |= DECODE_DIRECT(&dst->text, String); + return ret; +} + +/* The binary encoding has a different nodeid from the data type. So it is not + * possible to reuse UA_findDataType */ +static const UA_DataType * +UA_findDataTypeByBinaryInternal(const UA_NodeId *typeId, Ctx *ctx) { + /* Always look in the built-in types first. Assume that only numeric + * identifiers are used for the builtin types. (They may contain data types + * from all namespaces though.) */ + if(typeId->identifierType == UA_NODEIDTYPE_NUMERIC) { + for(size_t i = 0; i < UA_TYPES_COUNT; ++i) { + if(UA_TYPES[i].binaryEncodingId.identifier.numeric == typeId->identifier.numeric && + UA_TYPES[i].binaryEncodingId.namespaceIndex == typeId->namespaceIndex) + return &UA_TYPES[i]; + } + } + + const UA_DataTypeArray *customTypes = ctx->customTypes; + while(customTypes) { + for(size_t i = 0; i < customTypes->typesSize; ++i) { + if(UA_NodeId_equal(typeId, &customTypes->types[i].binaryEncodingId)) + return &customTypes->types[i]; + } + customTypes = customTypes->next; + } + + return NULL; +} + +const UA_DataType * +UA_findDataTypeByBinary(const UA_NodeId *typeId) { + Ctx ctx; + ctx.customTypes = NULL; + return UA_findDataTypeByBinaryInternal(typeId, &ctx); +} + +/* ExtensionObject */ +ENCODE_BINARY(ExtensionObject) { + u8 encoding = (u8)src->encoding; + + /* No content or already encoded content. */ + if(encoding <= UA_EXTENSIONOBJECT_ENCODED_XML) { + /* Can exchange the buffer */ + status ret = ENCODE_DIRECT(&src->content.encoded.typeId, NodeId); + UA_CHECK_STATUS(ret, return ret); + ret = encodeWithExchangeBuffer(&encoding, &UA_TYPES[UA_TYPES_BYTE], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + switch(src->encoding) { + case UA_EXTENSIONOBJECT_ENCODED_NOBODY: + break; + case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: + case UA_EXTENSIONOBJECT_ENCODED_XML: + /* ByteString in disguise. Array encoding can exchange the buffer */ + ret = ENCODE_DIRECT(&src->content.encoded.body, String); + break; + default: + ret = UA_STATUSCODE_BADINTERNALERROR; + } + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; + } + + /* Cannot encode with no data or no type description */ + if(!src->content.decoded.type || !src->content.decoded.data) + return UA_STATUSCODE_BADENCODINGERROR; + + /* Write the NodeId for the binary encoded type. This could perform a buffer + * exchange, but can also return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED. */ + status ret = ENCODE_DIRECT(&src->content.decoded.type->binaryEncodingId, NodeId); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the encoding byte */ + encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; + ret = encodeWithExchangeBuffer(&encoding, &UA_TYPES[UA_TYPES_BYTE], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the content length */ + const UA_DataType *contentType = src->content.decoded.type; + size_t len = UA_calcSizeBinary(src->content.decoded.data, contentType); + UA_CHECK(len <= UA_INT32_MAX, return UA_STATUSCODE_BADENCODINGERROR); + i32 signed_len = (i32)len; + ret = encodeWithExchangeBuffer(&signed_len, &UA_TYPES[UA_TYPES_INT32], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the content */ + ret = encodeWithExchangeBuffer(src->content.decoded.data, contentType, ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; +} + +static status +ExtensionObject_decodeBinaryContent(UA_ExtensionObject *dst, const UA_NodeId *typeId, + Ctx *ctx) { + /* Lookup the datatype */ + const UA_DataType *type = UA_findDataTypeByBinaryInternal(typeId, ctx); + + /* Unknown type, just take the binary content */ + if(!type) { + dst->encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; + UA_NodeId_copy(typeId, &dst->content.encoded.typeId); + return DECODE_DIRECT(&dst->content.encoded.body, String); /* ByteString */ + } + + /* Allocate memory */ + dst->content.decoded.data = UA_new(type); + UA_CHECK_MEM(dst->content.decoded.data, return UA_STATUSCODE_BADOUTOFMEMORY); + + /* Jump over the length field (TODO: check if the decoded length matches) */ + ctx->pos += 4; + + /* Decode */ + dst->encoding = UA_EXTENSIONOBJECT_DECODED; + dst->content.decoded.type = type; + return decodeBinaryJumpTable[type->typeKind](dst->content.decoded.data, type, ctx); +} + +DECODE_BINARY(ExtensionObject) { + u8 encoding = 0; + UA_NodeId binTypeId; + UA_NodeId_init(&binTypeId); + + status ret = UA_STATUSCODE_GOOD; + ret |= DECODE_DIRECT(&binTypeId, NodeId); + ret |= DECODE_DIRECT(&encoding, Byte); + UA_CHECK_STATUS(ret, UA_NodeId_clear(&binTypeId); return ret); + + switch(encoding) { + case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: + ret = ExtensionObject_decodeBinaryContent(dst, &binTypeId, ctx); + UA_NodeId_clear(&binTypeId); + break; + case UA_EXTENSIONOBJECT_ENCODED_NOBODY: + dst->encoding = (UA_ExtensionObjectEncoding)encoding; + dst->content.encoded.typeId = binTypeId; /* move to dst */ + dst->content.encoded.body = UA_BYTESTRING_NULL; + break; + case UA_EXTENSIONOBJECT_ENCODED_XML: + dst->encoding = (UA_ExtensionObjectEncoding)encoding; + dst->content.encoded.typeId = binTypeId; /* move to dst */ + ret = DECODE_DIRECT(&dst->content.encoded.body, String); /* ByteString */ + UA_CHECK_STATUS(ret, UA_NodeId_clear(&dst->content.encoded.typeId)); + break; + default: + UA_NodeId_clear(&binTypeId); + ret = UA_STATUSCODE_BADDECODINGERROR; + break; + } + + return ret; +} + +/* Variant */ + +static status +Variant_encodeBinaryWrapExtensionObject(const UA_Variant *src, + const UA_Boolean isArray, Ctx *ctx) { + size_t length = 1; /* Default to 1 for a scalar. */ + + /* Encode the array length if required */ + status ret = UA_STATUSCODE_GOOD; + if(isArray) { + UA_CHECK(src->arrayLength <= UA_INT32_MAX, return UA_STATUSCODE_BADENCODINGERROR); + length = src->arrayLength; + + i32 encodedLength = (i32)src->arrayLength; + ret = encodeWithExchangeBuffer(&encodedLength, &UA_TYPES[UA_TYPES_INT32], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + } + + /* Set up the ExtensionObject */ + UA_ExtensionObject eo; + UA_ExtensionObject_init(&eo); + eo.encoding = UA_EXTENSIONOBJECT_DECODED; + eo.content.decoded.type = src->type; + const u16 memSize = src->type->memSize; + uintptr_t ptr = (uintptr_t)src->data; + + /* Iterate over the array */ + for(size_t i = 0; i < length && ret == UA_STATUSCODE_GOOD; ++i) { + eo.content.decoded.data = (void*)ptr; + ret = encodeWithExchangeBuffer(&eo, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + ptr += memSize; + } + return ret; +} + +enum UA_VARIANT_ENCODINGMASKTYPE { + UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK = 0x3Fu, /* bits 0:5 */ + UA_VARIANT_ENCODINGMASKTYPE_DIMENSIONS = (u8)(0x01u << 6u), /* bit 6 */ + UA_VARIANT_ENCODINGMASKTYPE_ARRAY = (u8)(0x01u << 7u) /* bit 7 */ +}; + +ENCODE_BINARY(Variant) { + /* Quit early for the empty variant */ + u8 encoding = 0; + if(!src->type) + return ENCODE_DIRECT(&encoding, Byte); + + /* Set the content type in the encoding mask */ + const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + const UA_Boolean isEnum = (src->type->typeKind == UA_DATATYPEKIND_ENUM); + if(isBuiltin) + encoding = (u8)(encoding | (u8)((u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK & (u8)(src->type->typeKind + 1u))); + else if(isEnum) + encoding = (u8)(encoding | (u8)((u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK & (u8)(UA_TYPES_INT32 + 1u))); + else + encoding = (u8)(encoding | (u8)((u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK & (u8)(UA_TYPES_EXTENSIONOBJECT + 1u))); + + /* Set the array type in the encoding mask */ + const UA_Boolean isArray = src->arrayLength > 0 || src->data <= UA_EMPTY_ARRAY_SENTINEL; + const UA_Boolean hasDimensions = isArray && src->arrayDimensionsSize > 0; + if(isArray) { + encoding |= (u8)UA_VARIANT_ENCODINGMASKTYPE_ARRAY; + if(hasDimensions) { + encoding |= (u8)UA_VARIANT_ENCODINGMASKTYPE_DIMENSIONS; + size_t totalRequiredSize = 1; + for(size_t i = 0; i < src->arrayDimensionsSize; ++i) + totalRequiredSize *= src->arrayDimensions[i]; + if(totalRequiredSize != src->arrayLength) return UA_STATUSCODE_BADENCODINGERROR; + } + } + + /* Encode the encoding byte */ + status ret = ENCODE_DIRECT(&encoding, Byte); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the content. This can exchange the buffer. */ + if(!isBuiltin && !isEnum) { + /* This could return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED. But we + * have not exchanged the buffer so far. */ + ret = Variant_encodeBinaryWrapExtensionObject(src, isArray, ctx); + } else if(!isArray) { + ret = encodeWithExchangeBuffer(src->data, src->type, ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + } else { + ret = Array_encodeBinary(src->data, src->arrayLength, src->type, ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + } + UA_CHECK_STATUS(ret, return ret); + + /* Encode the array dimensions */ + if(hasDimensions && ret == UA_STATUSCODE_GOOD) + ret = Array_encodeBinary(src->arrayDimensions, src->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_INT32], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; +} + +static status +Variant_decodeBinaryUnwrapExtensionObject(UA_Variant *dst, Ctx *ctx) { + /* Save the position in the ByteString. If unwrapping is not possible, start + * from here to decode a normal ExtensionObject. */ + u8 *old_pos = ctx->pos; + + /* Decode the DataType */ + UA_NodeId typeId; + UA_NodeId_init(&typeId); + status ret = DECODE_DIRECT(&typeId, NodeId); + UA_CHECK_STATUS(ret, return ret); + + /* Decode the EncodingByte */ + u8 encoding; + ret = DECODE_DIRECT(&encoding, Byte); + UA_CHECK_STATUS(ret, UA_NodeId_clear(&typeId); return ret); + + /* Search for the datatype. Default to ExtensionObject. */ + if(encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING && + (dst->type = UA_findDataTypeByBinaryInternal(&typeId, ctx)) != NULL) { + /* Jump over the length field (TODO: check if length matches) */ + ctx->pos += 4; + } else { + /* Reset and decode as ExtensionObject */ + dst->type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; + ctx->pos = old_pos; + } + UA_NodeId_clear(&typeId); + + /* Allocate memory */ + dst->data = UA_new(dst->type); + UA_CHECK_MEM(dst->data, return UA_STATUSCODE_BADOUTOFMEMORY); + + /* Decode the content */ + return decodeBinaryJumpTable[dst->type->typeKind](dst->data, dst->type, ctx); +} + +/* Unwraps all ExtensionObjects in an array if they have the same type. + * For that we check whether all ExtensionObjects have the same header. */ +static status +Variant_decodeBinaryUnwrapExtensionObjectArray(void *UA_RESTRICT *UA_RESTRICT dst, + size_t *out_length, const UA_DataType **type, + Ctx *ctx) { + u8 *orig_pos = ctx->pos; + + /* Decode the length */ + i32 signed_length; + status ret = DECODE_DIRECT(&signed_length, UInt32); /* Int32 */ + UA_CHECK_STATUS(ret, return ret); + + /* Return early for empty arrays */ + if(signed_length <= 0) { + *out_length = 0; + if(signed_length < 0) + *dst = NULL; + else + *dst = UA_EMPTY_ARRAY_SENTINEL; + /* The *type field stays an ExtensionObject, as we did not decode any + * member who's type is known. */ + return UA_STATUSCODE_GOOD; + } + + /* Protect against memory exhaustion by unrealistic array lengths. An + * ExtensionObject is at least 4 byte long (3 byte NodeId + 1 Byte encoding + * field). */ + size_t length = (size_t)signed_length; + UA_CHECK(ctx->pos + ((4 * length) / 32) <= ctx->end, + return UA_STATUSCODE_BADDECODINGERROR); + + /* Decode the type NodeId of the first member */ + UA_NodeId binTypeId; + UA_NodeId_init(&binTypeId); + ret |= DECODE_DIRECT(&binTypeId, NodeId); + UA_CHECK_STATUS(ret, return ret); + + /* Lookup the data type */ + const UA_DataType *contentType = UA_findDataTypeByBinaryInternal(&binTypeId, ctx); + UA_NodeId_clear(&binTypeId); + if(!contentType) { + /* DataType unknown, decode as ExtensionObject array */ + ctx->pos = orig_pos; + return Array_decodeBinary(dst, out_length, *type, ctx); + } + + /* Check that the encoding is binary */ + u8 encoding = 0; + ret |= DECODE_DIRECT(&encoding, Byte); + UA_CHECK_STATUS(ret, return ret); + if(encoding != UA_EXTENSIONOBJECT_ENCODED_BYTESTRING) { + /* Encoding format is not automatically decoded, decode as + * ExtensionObject array */ + ctx->pos = orig_pos; + return Array_decodeBinary(dst, out_length, *type, ctx); + } + + /* Compare the header of all array members if the array can be unwrapped */ + UA_ByteString header = {(uintptr_t)ctx->pos - (uintptr_t)orig_pos - 4, &orig_pos[4]}; + UA_ByteString compare_header = header; + ctx->pos = &orig_pos[4]; + + for(size_t i = 0; i < length; i++) { + compare_header.data = ctx->pos; + UA_CHECK(compare_header.data + compare_header.length <= ctx->end, + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + if(!UA_ByteString_equal(&header, &compare_header)) { + /* Different member types, decode as ExtensionObject array */ + ctx->pos = orig_pos; + return Array_decodeBinary(dst, out_length, *type, ctx); + } + + /* Decode the length field and jump to the next element */ + ctx->pos += header.length; + u32 member_length = 0; + ret = DECODE_DIRECT(&member_length, UInt32); + UA_CHECK_STATUS(ret, return ret); + ctx->pos += member_length; + } + + /* Allocate memory for the unwrapped members */ + *dst = UA_calloc(length, contentType->memSize); + UA_CHECK_MEM(*dst, return UA_STATUSCODE_BADOUTOFMEMORY); + *out_length = length; + *type = contentType; + + /* Decode unwrapped members */ + uintptr_t array_pos = (uintptr_t)*dst; + ctx->pos = &orig_pos[4]; + for(size_t i = 0; i < length && ret == UA_STATUSCODE_GOOD; i++) { + ctx->pos += header.length + 4; /* Jump over the header and length field */ + ret = decodeBinaryJumpTable[contentType->typeKind] + ((void*)array_pos, contentType, ctx); + array_pos += contentType->memSize; + } + return ret; +} + +/* The resulting variant always has the storagetype UA_VARIANT_DATA. */ +DECODE_BINARY(Variant) { + /* Decode the encoding byte */ + u8 encodingByte; + status ret = DECODE_DIRECT(&encodingByte, Byte); + UA_CHECK_STATUS(ret, return ret); + + /* Return early for an empty variant (was already _inited) */ + if(encodingByte == 0) + return UA_STATUSCODE_GOOD; + + /* Does the variant contain an array? */ + const UA_Boolean isArray = (encodingByte & (u8)UA_VARIANT_ENCODINGMASKTYPE_ARRAY) > 0; + + /* Get the datatype of the content. The type must be a builtin data type. + * All not-builtin types are wrapped in an ExtensionObject. The "type kind" + * for types up to DiagnsticInfo equals to the index in the encoding + * byte. */ + size_t typeKind = (size_t)((encodingByte & (u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK) - 1); + UA_CHECK(typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO, return UA_STATUSCODE_BADDECODINGERROR); + + /* A variant cannot contain a variant. But it can contain an array of + * variants */ + UA_CHECK(typeKind != UA_DATATYPEKIND_VARIANT || isArray, + return UA_STATUSCODE_BADDECODINGERROR); + + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, return UA_STATUSCODE_BADENCODINGERROR); + ctx->depth++; + + /* Decode the content */ + dst->type = &UA_TYPES[typeKind]; + if(!isArray) { + /* Decode scalar */ + if(typeKind != UA_DATATYPEKIND_EXTENSIONOBJECT) { + dst->data = UA_new(dst->type); + UA_CHECK_MEM(dst->data, ctx->depth--; return UA_STATUSCODE_BADOUTOFMEMORY); + ret = decodeBinaryJumpTable[typeKind](dst->data, dst->type, ctx); + } else { + ret = Variant_decodeBinaryUnwrapExtensionObject(dst, ctx); + } + } else { + /* Decode array */ + if(typeKind != UA_DATATYPEKIND_EXTENSIONOBJECT) { + ret = Array_decodeBinary(&dst->data, &dst->arrayLength, dst->type, ctx); + } else { + ret = Variant_decodeBinaryUnwrapExtensionObjectArray(&dst->data, &dst->arrayLength, + &dst->type, ctx); + } + + /* Decode array dimensions */ + if((encodingByte & (u8)UA_VARIANT_ENCODINGMASKTYPE_DIMENSIONS) > 0) { + ret |= Array_decodeBinary((void**)&dst->arrayDimensions, &dst->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_INT32], ctx); + /* Validate array length against array dimensions */ + size_t totalSize = 1; + for(size_t i = 0; i < dst->arrayDimensionsSize; ++i) { + if(dst->arrayDimensions[i] == 0) + ret = UA_STATUSCODE_BADDECODINGERROR; + totalSize *= dst->arrayDimensions[i]; + } + UA_CHECK(totalSize == dst->arrayLength, ret = UA_STATUSCODE_BADDECODINGERROR); + } + } + + ctx->depth--; + return ret; +} + +/* DataValue */ +ENCODE_BINARY(DataValue) { + /* Set up the encoding mask */ + u8 encodingMask = src->hasValue; + encodingMask |= (u8)(src->hasStatus << 1u); + encodingMask |= (u8)(src->hasSourceTimestamp << 2u); + encodingMask |= (u8)(src->hasServerTimestamp << 3u); + encodingMask |= (u8)(src->hasSourcePicoseconds << 4u); + encodingMask |= (u8)(src->hasServerPicoseconds << 5u); + + /* Encode the encoding byte */ + status ret = ENCODE_DIRECT(&encodingMask, Byte); + UA_CHECK_STATUS(ret, return ret); + + /* Encode the variant. */ + if(src->hasValue) { + ret = ENCODE_DIRECT(&src->value, Variant); + if(ret != UA_STATUSCODE_GOOD) + return ret; + } + + if(src->hasStatus) + ret |= encodeWithExchangeBuffer(&src->status, &UA_TYPES[UA_TYPES_STATUSCODE], ctx); + if(src->hasSourceTimestamp) + ret |= encodeWithExchangeBuffer(&src->sourceTimestamp, &UA_TYPES[UA_TYPES_DATETIME], ctx); + if(src->hasSourcePicoseconds) + ret |= encodeWithExchangeBuffer(&src->sourcePicoseconds, &UA_TYPES[UA_TYPES_UINT16], ctx); + if(src->hasServerTimestamp) + ret |= encodeWithExchangeBuffer(&src->serverTimestamp, &UA_TYPES[UA_TYPES_DATETIME], ctx); + if(src->hasServerPicoseconds) + ret |= encodeWithExchangeBuffer(&src->serverPicoseconds, &UA_TYPES[UA_TYPES_UINT16], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + return ret; +} + +#define MAX_PICO_SECONDS 9999 + +DECODE_BINARY(DataValue) { + /* Decode the encoding mask */ + u8 encodingMask; + status ret = DECODE_DIRECT(&encodingMask, Byte); + UA_CHECK_STATUS(ret, return ret); + + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, return UA_STATUSCODE_BADENCODINGERROR); + ctx->depth++; + + /* Decode the content */ + if(encodingMask & 0x01u) { + dst->hasValue = true; + ret |= DECODE_DIRECT(&dst->value, Variant); + } + if(encodingMask & 0x02u) { + dst->hasStatus = true; + ret |= DECODE_DIRECT(&dst->status, UInt32); /* StatusCode */ + } + if(encodingMask & 0x04u) { + dst->hasSourceTimestamp = true; + ret |= DECODE_DIRECT(&dst->sourceTimestamp, UInt64); /* DateTime */ + } + if(encodingMask & 0x10u) { + dst->hasSourcePicoseconds = true; + ret |= DECODE_DIRECT(&dst->sourcePicoseconds, UInt16); + if(dst->sourcePicoseconds > MAX_PICO_SECONDS) + dst->sourcePicoseconds = MAX_PICO_SECONDS; + } + if(encodingMask & 0x08u) { + dst->hasServerTimestamp = true; + ret |= DECODE_DIRECT(&dst->serverTimestamp, UInt64); /* DateTime */ + } + if(encodingMask & 0x20u) { + dst->hasServerPicoseconds = true; + ret |= DECODE_DIRECT(&dst->serverPicoseconds, UInt16); + if(dst->serverPicoseconds > MAX_PICO_SECONDS) + dst->serverPicoseconds = MAX_PICO_SECONDS; + } + + ctx->depth--; + return ret; +} + +/* DiagnosticInfo */ +ENCODE_BINARY(DiagnosticInfo) { + /* Set up the encoding mask */ + u8 encodingMask = src->hasSymbolicId; + encodingMask |= (u8)(src->hasNamespaceUri << 1u); + encodingMask |= (u8)(src->hasLocalizedText << 2u); + encodingMask |= (u8)(src->hasLocale << 3u); + encodingMask |= (u8)(src->hasAdditionalInfo << 4u); + encodingMask |= (u8)(src->hasInnerStatusCode << 5u); + encodingMask |= (u8)(src->hasInnerDiagnosticInfo << 6u); + + /* Encode the numeric content */ + status ret = ENCODE_DIRECT(&encodingMask, Byte); + if(src->hasSymbolicId) + ret |= ENCODE_DIRECT(&src->symbolicId, UInt32); /* Int32 */ + if(src->hasNamespaceUri) + ret |= ENCODE_DIRECT(&src->namespaceUri, UInt32); /* Int32 */ + if(src->hasLocale) + ret |= ENCODE_DIRECT(&src->locale, UInt32); /* Int32 */ + if(src->hasLocalizedText) + ret |= ENCODE_DIRECT(&src->localizedText, UInt32); /* Int32 */ + if(ret != UA_STATUSCODE_GOOD) + return ret; + + /* Encode the additional info. Can exchange the buffer. */ + if(src->hasAdditionalInfo) { + ret = ENCODE_DIRECT(&src->additionalInfo, String); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + } + + /* Encode the inner status code */ + if(src->hasInnerStatusCode) { + ret = encodeWithExchangeBuffer(&src->innerStatusCode, &UA_TYPES[UA_TYPES_UINT32], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + UA_CHECK_STATUS(ret, return ret); + } + + /* Encode the inner diagnostic info */ + if(src->hasInnerDiagnosticInfo) { + ret = encodeWithExchangeBuffer(src->innerDiagnosticInfo, + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + } + + return ret; +} + +DECODE_BINARY(DiagnosticInfo) { + /* Decode the encoding mask */ + u8 encodingMask; + status ret = DECODE_DIRECT(&encodingMask, Byte); + UA_CHECK_STATUS(ret, return ret); + + /* Decode the content */ + if(encodingMask & 0x01u) { + dst->hasSymbolicId = true; + ret |= DECODE_DIRECT(&dst->symbolicId, UInt32); /* Int32 */ + } + if(encodingMask & 0x02u) { + dst->hasNamespaceUri = true; + ret |= DECODE_DIRECT(&dst->namespaceUri, UInt32); /* Int32 */ + } + if(encodingMask & 0x08u) { + dst->hasLocale = true; + ret |= DECODE_DIRECT(&dst->locale, UInt32); /* Int32 */ + } + if(encodingMask & 0x04u) { + dst->hasLocalizedText = true; + ret |= DECODE_DIRECT(&dst->localizedText, UInt32); /* Int32 */ + } + if(encodingMask & 0x10u) { + dst->hasAdditionalInfo = true; + ret |= DECODE_DIRECT(&dst->additionalInfo, String); + } + if(encodingMask & 0x20u) { + dst->hasInnerStatusCode = true; + ret |= DECODE_DIRECT(&dst->innerStatusCode, UInt32); /* StatusCode */ + } + if(encodingMask & 0x40u) { + /* innerDiagnosticInfo is allocated on the heap */ + dst->innerDiagnosticInfo = (UA_DiagnosticInfo*) + UA_calloc(1, sizeof(UA_DiagnosticInfo)); + UA_CHECK_MEM(dst->innerDiagnosticInfo, return UA_STATUSCODE_BADOUTOFMEMORY); + dst->hasInnerDiagnosticInfo = true; + + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, + return UA_STATUSCODE_BADENCODINGERROR); + + ctx->depth++; + ret |= DECODE_DIRECT(dst->innerDiagnosticInfo, DiagnosticInfo); + ctx->depth--; + } + return ret; +} + +/********************/ +/* Structured Types */ +/********************/ + +static status +encodeBinaryStruct(const void *src, const UA_DataType *type, Ctx *ctx) { + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, + return UA_STATUSCODE_BADENCODINGERROR); + ctx->depth++; + + /* Loop over members */ + uintptr_t ptr = (uintptr_t)src; + status ret = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < type->membersSize && ret == UA_STATUSCODE_GOOD; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + + /* Array. Buffer-exchange is done inside Array_encodeBinary if required. */ + if(m->isArray) { + const size_t length = *((const size_t*)ptr); + ptr += sizeof(size_t); + ret = Array_encodeBinary(*(void *UA_RESTRICT const *)ptr, length, mt, ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + ptr += sizeof(void*); + continue; + } + + /* Scalar */ + ret = encodeWithExchangeBuffer((const void*)ptr, mt, ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + ptr += mt->memSize; + } + + ctx->depth--; + return ret; +} + +static status +encodeBinaryStructWithOptFields(const void *src, const UA_DataType *type, Ctx *ctx) { + /* Check the recursion limit */ + if(ctx->depth > UA_ENCODING_MAX_RECURSION) + return UA_STATUSCODE_BADENCODINGERROR; + ctx->depth++; + + /* Creating the encoding mask, marking the available optional fields */ + uintptr_t ptr = (uintptr_t)src; + size_t optFieldCounter = 0; + UA_UInt32 encodingMask = 0; + for(size_t j = 0; j < type->membersSize; ++j) { + const UA_DataTypeMember *m = &type->members[j]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + if(m->isOptional) { + if(m->isArray) + ptr += sizeof(size_t); + if(*(void* const*)ptr != NULL) + encodingMask |= (UA_UInt32) 1 << optFieldCounter; + ptr += sizeof(void *); + optFieldCounter++; + } else if (m->isArray) { + ptr += sizeof(size_t); + ptr += sizeof(void *); + } else { + ptr += mt->memSize; + } + } + + /* Encode the mask */ + status ret = ENCODE_DIRECT(&encodingMask, UInt32); + UA_CHECK_STATUS(ret, ctx->depth--; return ret); + + /* Loop over members */ + ptr = (uintptr_t)src; + for(size_t i = 0, o = 0; i < type->membersSize && UA_LIKELY(ret == UA_STATUSCODE_GOOD); ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + + if(m->isOptional) { + if(!(encodingMask & (UA_UInt32) ( (UA_UInt32) 1<<(o++)))) { + /* Optional and not contained */ + if(m->isArray) + ptr += sizeof(size_t); + } else if(m->isArray) { + /* Optional Array */ + const size_t length = *((const size_t *) ptr); + ptr += sizeof(size_t); + ret = Array_encodeBinary(*(void *UA_RESTRICT const *) ptr, length, mt, ctx); + } else { + /* Optional Scalar */ + ret = encodeWithExchangeBuffer(*(void* const*) ptr, mt, ctx); + } + ptr += sizeof(void *); + continue; + } + + /* Mandatory Array */ + if(m->isArray) { + const size_t length = *((const size_t *) ptr); + ptr += sizeof(size_t); + ret = Array_encodeBinary(*(void *UA_RESTRICT const *) ptr, length, mt, ctx); + ptr += sizeof(void *); + continue; + } + + /* Mandatory Scalar */ + ret = encodeWithExchangeBuffer((const void*)ptr, mt, ctx); + ptr += mt->memSize; + } + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + + ctx->depth--; + return ret; +} + +static status +encodeBinaryUnion(const void *src, const UA_DataType *type, Ctx *ctx) { + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, + return UA_STATUSCODE_BADENCODINGERROR); + ctx->depth++; + + /* Encode the selection */ + const UA_UInt32 selection = *(const UA_UInt32*)src; + status ret = ENCODE_DIRECT(&selection, UInt32); + if(UA_UNLIKELY(ret != UA_STATUSCODE_GOOD) || selection == 0) { + ctx->depth--; + return ret; + } + + /* Select the member */ + const UA_DataTypeMember *m = &type->members[selection-1]; + const UA_DataType *mt = m->memberType; + + /* Encode the member */ + uintptr_t ptr = ((uintptr_t)src) + m->padding; /* includes the switchfield length */ + if(!m->isArray) { + ret = encodeWithExchangeBuffer((const void*)ptr, mt, ctx); + } else { + const size_t length = *((const size_t*)ptr); + ptr += sizeof(size_t); + ret = Array_encodeBinary(*(void *UA_RESTRICT const *)ptr, length, mt, ctx); + } + + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + + ctx->depth--; + return ret; +} + +static status +encodeBinaryNotImplemented(const void *src, const UA_DataType *type, Ctx *ctx) { + (void)src, (void)type, (void)ctx; + return UA_STATUSCODE_BADNOTIMPLEMENTED; +} + +const encodeBinarySignature encodeBinaryJumpTable[UA_DATATYPEKINDS] = { + (encodeBinarySignature)Boolean_encodeBinary, + (encodeBinarySignature)Byte_encodeBinary, /* SByte */ + (encodeBinarySignature)Byte_encodeBinary, + (encodeBinarySignature)UInt16_encodeBinary, /* Int16 */ + (encodeBinarySignature)UInt16_encodeBinary, + (encodeBinarySignature)UInt32_encodeBinary, /* Int32 */ + (encodeBinarySignature)UInt32_encodeBinary, + (encodeBinarySignature)UInt64_encodeBinary, /* Int64 */ + (encodeBinarySignature)UInt64_encodeBinary, + (encodeBinarySignature)Float_encodeBinary, + (encodeBinarySignature)Double_encodeBinary, + (encodeBinarySignature)String_encodeBinary, + (encodeBinarySignature)UInt64_encodeBinary, /* DateTime */ + (encodeBinarySignature)Guid_encodeBinary, + (encodeBinarySignature)String_encodeBinary, /* ByteString */ + (encodeBinarySignature)String_encodeBinary, /* XmlElement */ + (encodeBinarySignature)NodeId_encodeBinary, + (encodeBinarySignature)ExpandedNodeId_encodeBinary, + (encodeBinarySignature)UInt32_encodeBinary, /* StatusCode */ + (encodeBinarySignature)QualifiedName_encodeBinary, + (encodeBinarySignature)LocalizedText_encodeBinary, + (encodeBinarySignature)ExtensionObject_encodeBinary, + (encodeBinarySignature)DataValue_encodeBinary, + (encodeBinarySignature)Variant_encodeBinary, + (encodeBinarySignature)DiagnosticInfo_encodeBinary, + (encodeBinarySignature)encodeBinaryNotImplemented, /* Decimal */ + (encodeBinarySignature)UInt32_encodeBinary, /* Enumeration */ + (encodeBinarySignature)encodeBinaryStruct, + (encodeBinarySignature)encodeBinaryStructWithOptFields, /* Structure with Optional Fields */ + (encodeBinarySignature)encodeBinaryUnion, /* Union */ + (encodeBinarySignature)encodeBinaryStruct /* BitfieldCluster */ +}; + +status +UA_encodeBinaryInternal(const void *src, const UA_DataType *type, + u8 **bufPos, const u8 **bufEnd, + UA_exchangeEncodeBuffer exchangeCallback, + void *exchangeHandle) { + if(!type || !src) + return UA_STATUSCODE_BADENCODINGERROR; + + /* Set up the context */ + Ctx ctx; + ctx.pos = *bufPos; + ctx.end = *bufEnd; + ctx.depth = 0; + ctx.exchangeBufferCallback = exchangeCallback; + ctx.exchangeBufferCallbackHandle = exchangeHandle; + + UA_CHECK_MEM(ctx.pos, return UA_STATUSCODE_BADINVALIDARGUMENT); + + /* Encode */ + status ret = encodeWithExchangeBuffer(src, type, &ctx); + UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); + + /* Set the new buffer position for the output. Beware that the buffer might + * have been exchanged internally. */ + *bufPos = ctx.pos; + *bufEnd = ctx.end; + return ret; +} + +UA_StatusCode +UA_encodeBinary(const void *p, const UA_DataType *type, + UA_ByteString *outBuf) { + /* Allocate buffer */ + UA_Boolean allocated = false; + status res = UA_STATUSCODE_GOOD; + if(outBuf->length == 0) { + size_t len = UA_calcSizeBinary(p, type); + res = UA_ByteString_allocBuffer(outBuf, len); + if(res != UA_STATUSCODE_GOOD) + return res; + allocated = true; + } + + /* Encode */ + u8 *pos = outBuf->data; + const u8 *posEnd = &outBuf->data[outBuf->length]; + res = UA_encodeBinaryInternal(p, type, &pos, &posEnd, NULL, NULL); + + /* Clean up */ + if(res == UA_STATUSCODE_GOOD) { + outBuf->length = (size_t)((uintptr_t)pos - (uintptr_t)outBuf->data); + } else if(allocated) { + UA_ByteString_clear(outBuf); + } + return res; +} + +static status +decodeBinaryNotImplemented(void *dst, const UA_DataType *type, Ctx *ctx) { + (void)dst, (void)type, (void)ctx; + return UA_STATUSCODE_BADNOTIMPLEMENTED; +} + +static status +decodeBinaryStructure(void *dst, const UA_DataType *type, Ctx *ctx) { + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, + return UA_STATUSCODE_BADENCODINGERROR); + ctx->depth++; + + uintptr_t ptr = (uintptr_t)dst; + status ret = UA_STATUSCODE_GOOD; + u8 membersSize = type->membersSize; + + /* Loop over members */ + for(size_t i = 0; i < membersSize && ret == UA_STATUSCODE_GOOD; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + + /* Array */ + if(m->isArray) { + size_t *length = (size_t*)ptr; + ptr += sizeof(size_t); + ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt , ctx); + ptr += sizeof(void*); + continue; + } + + /* Scalar */ + ret = decodeBinaryJumpTable[mt->typeKind]((void *UA_RESTRICT)ptr, mt, ctx); + ptr += mt->memSize; + } + + ctx->depth--; + return ret; +} + +static status +decodeBinaryStructureWithOptFields(void *dst, const UA_DataType *type, Ctx *ctx) { + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, return UA_STATUSCODE_BADENCODINGERROR); + ctx->depth++; + + uintptr_t ptr = (uintptr_t)dst; + UA_UInt32 encodingMask = 0; + status ret = UInt32_decodeBinary(&encodingMask, &UA_TYPES[UA_TYPES_UINT32], ctx); + UA_CHECK_STATUS(ret, ctx->depth--; return ret); + + /* Loop over members */ + for(size_t i = 0, o = 0; i < type->membersSize && ret == UA_STATUSCODE_GOOD; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + ptr += m->padding; + if(m->isOptional) { + if(!(encodingMask & (UA_UInt32) ( (UA_UInt32) 1<<(o++)))) { + /* Optional field is not contained */ + if(m->isArray) + ptr += sizeof(size_t); + } else if(m->isArray) { + /* Optional Array */ + size_t *length = (size_t*)ptr; + ptr += sizeof(size_t); + ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt , ctx); + } else { + /* Optional Scalar */ + *(void *UA_RESTRICT *UA_RESTRICT) ptr = UA_calloc(1, mt->memSize); + UA_CHECK_MEM(*(void *UA_RESTRICT *UA_RESTRICT) ptr, return UA_STATUSCODE_BADOUTOFMEMORY); + ret = decodeBinaryJumpTable[mt->typeKind](*(void *UA_RESTRICT *UA_RESTRICT) ptr, mt, ctx); + } + ptr += sizeof(void *); + continue; + } + + /* Array */ + if(m->isArray) { + size_t *length = (size_t *)ptr; + ptr += sizeof(size_t); + ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt, ctx); + ptr += sizeof(void *); + continue; + } + + /* Scalar */ + ret = decodeBinaryJumpTable[mt->typeKind]((void *UA_RESTRICT)ptr, mt, ctx); + ptr += mt->memSize; + } + ctx->depth--; + return ret; +} + +static status +decodeBinaryUnion(void *UA_RESTRICT dst, const UA_DataType *type, Ctx *ctx) { + /* Check the recursion limit */ + UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, + return UA_STATUSCODE_BADENCODINGERROR); + + /* Decode the selection directly into the switchfield */ + status ret = DECODE_DIRECT(dst, UInt32); + UA_CHECK_STATUS(ret, return ret); + + /* No content? */ + UA_UInt32 selection = *(UA_UInt32*)dst; + if(selection == 0) + return UA_STATUSCODE_GOOD; + + /* Sanity check the selection */ + UA_CHECK(selection-1 < type->membersSize, + return UA_STATUSCODE_BADDECODINGERROR); + + /* Select the member */ + const UA_DataTypeMember *m = &type->members[selection-1]; + const UA_DataType *mt = m->memberType; + + /* Decode */ + ctx->depth++; + uintptr_t ptr = ((uintptr_t)dst) + m->padding; /* includes the switchfield */ + if(!m->isArray) { + ret = decodeBinaryJumpTable[mt->typeKind]((void *UA_RESTRICT)ptr, mt, ctx); + } else { + size_t *length = (size_t *)ptr; + ptr += sizeof(size_t); + ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt, ctx); + } + ctx->depth--; + return ret; +} + +const decodeBinarySignature decodeBinaryJumpTable[UA_DATATYPEKINDS] = { + (decodeBinarySignature)Boolean_decodeBinary, + (decodeBinarySignature)Byte_decodeBinary, /* SByte */ + (decodeBinarySignature)Byte_decodeBinary, + (decodeBinarySignature)UInt16_decodeBinary, /* Int16 */ + (decodeBinarySignature)UInt16_decodeBinary, + (decodeBinarySignature)UInt32_decodeBinary, /* Int32 */ + (decodeBinarySignature)UInt32_decodeBinary, + (decodeBinarySignature)UInt64_decodeBinary, /* Int64 */ + (decodeBinarySignature)UInt64_decodeBinary, + (decodeBinarySignature)Float_decodeBinary, + (decodeBinarySignature)Double_decodeBinary, + (decodeBinarySignature)String_decodeBinary, + (decodeBinarySignature)UInt64_decodeBinary, /* DateTime */ + (decodeBinarySignature)Guid_decodeBinary, + (decodeBinarySignature)String_decodeBinary, /* ByteString */ + (decodeBinarySignature)String_decodeBinary, /* XmlElement */ + (decodeBinarySignature)NodeId_decodeBinary, + (decodeBinarySignature)ExpandedNodeId_decodeBinary, + (decodeBinarySignature)UInt32_decodeBinary, /* StatusCode */ + (decodeBinarySignature)QualifiedName_decodeBinary, + (decodeBinarySignature)LocalizedText_decodeBinary, + (decodeBinarySignature)ExtensionObject_decodeBinary, + (decodeBinarySignature)DataValue_decodeBinary, + (decodeBinarySignature)Variant_decodeBinary, + (decodeBinarySignature)DiagnosticInfo_decodeBinary, + (decodeBinarySignature)decodeBinaryNotImplemented, /* Decimal */ + (decodeBinarySignature)UInt32_decodeBinary, /* Enumeration */ + (decodeBinarySignature)decodeBinaryStructure, + (decodeBinarySignature)decodeBinaryStructureWithOptFields, /* Structure with optional fields */ + (decodeBinarySignature)decodeBinaryUnion, /* Union */ + (decodeBinarySignature)decodeBinaryNotImplemented /* BitfieldCluster */ +}; + +status +UA_decodeBinaryInternal(const UA_ByteString *src, size_t *offset, + void *dst, const UA_DataType *type, + const UA_DataTypeArray *customTypes) { + /* Set up the context */ + Ctx ctx; + ctx.pos = &src->data[*offset]; + ctx.end = &src->data[src->length]; + ctx.depth = 0; + ctx.customTypes = customTypes; + + /* Decode */ + memset(dst, 0, type->memSize); /* Initialize the value */ + status ret = decodeBinaryJumpTable[type->typeKind](dst, type, &ctx); + + if(UA_LIKELY(ret == UA_STATUSCODE_GOOD)) { + /* Set the new offset */ + *offset = (size_t)(ctx.pos - src->data) / sizeof(u8); + } else { + /* Clean up */ + UA_clear(dst, type); + memset(dst, 0, type->memSize); + } + return ret; +} + +UA_StatusCode +UA_decodeBinary(const UA_ByteString *inBuf, + void *p, const UA_DataType *type, + const UA_DecodeBinaryOptions *options) { + size_t offset = 0; + const UA_DataTypeArray *customTypes = options ? options->customTypes : NULL; + return UA_decodeBinaryInternal(inBuf, &offset, p, type, customTypes); +} + +/** + * Compute the Message Size + * ------------------------ + * The following methods are used to compute the length of a datum in binary + * encoding. */ + +static size_t +Array_calcSizeBinary(const void *src, size_t length, const UA_DataType *type) { + size_t s = 4; /* length */ + if(type->overlayable) { + s += type->memSize * length; + return s; + } + uintptr_t ptr = (uintptr_t)src; + for(size_t i = 0; i < length; ++i) { + s += calcSizeBinaryJumpTable[type->typeKind]((const void*)ptr, type); + ptr += type->memSize; + } + return s; +} + +static size_t calcSizeBinary1(const void *_, const UA_DataType *__) { (void)_, (void)__; return 1; } +static size_t calcSizeBinary2(const void *_, const UA_DataType *__) { (void)_, (void)__; return 2; } +static size_t calcSizeBinary4(const void *_, const UA_DataType *__) { (void)_, (void)__; return 4; } +static size_t calcSizeBinary8(const void *_, const UA_DataType *__) { (void)_, (void)__; return 8; } + +CALCSIZE_BINARY(String) { return 4 + src->length; } + +CALCSIZE_BINARY(Guid) { return 16; } + +CALCSIZE_BINARY(NodeId) { + size_t s = 1; /* Encoding byte */ + switch(src->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + if(src->identifier.numeric > UA_UINT16_MAX || src->namespaceIndex > UA_BYTE_MAX) { + s += 6; + } else if(src->identifier.numeric > UA_BYTE_MAX || src->namespaceIndex > 0) { + s += 3; + } else { + s += 1; + } + break; + case UA_NODEIDTYPE_BYTESTRING: + case UA_NODEIDTYPE_STRING: + s += 2; + s += String_calcSizeBinary(&src->identifier.string, NULL); + break; + case UA_NODEIDTYPE_GUID: + s += 18; + break; + default: + return 0; + } + return s; +} + +CALCSIZE_BINARY(ExpandedNodeId) { + size_t s = NodeId_calcSizeBinary(&src->nodeId, NULL); + if(src->namespaceUri.length > 0) + s += String_calcSizeBinary(&src->namespaceUri, NULL); + if(src->serverIndex > 0) + s += 4; + return s; +} + +CALCSIZE_BINARY(QualifiedName) { + return 2 + String_calcSizeBinary(&src->name, NULL); +} + +CALCSIZE_BINARY(LocalizedText) { + size_t s = 1; /* Encoding byte */ + if(src->locale.data) + s += String_calcSizeBinary(&src->locale, NULL); + if(src->text.data) + s += String_calcSizeBinary(&src->text, NULL); + return s; +} + +CALCSIZE_BINARY(ExtensionObject) { + size_t s = 1; /* Encoding byte */ + + /* Encoded content */ + if(src->encoding <= UA_EXTENSIONOBJECT_ENCODED_XML) { + s += NodeId_calcSizeBinary(&src->content.encoded.typeId, NULL); + switch(src->encoding) { + case UA_EXTENSIONOBJECT_ENCODED_NOBODY: + break; + case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: + case UA_EXTENSIONOBJECT_ENCODED_XML: + s += String_calcSizeBinary(&src->content.encoded.body, NULL); + break; + default: + return 0; + } + return s; + } + + /* Decoded content */ + if(!src->content.decoded.type || !src->content.decoded.data) + return 0; + if(src->content.decoded.type->typeId.identifierType != UA_NODEIDTYPE_NUMERIC) + return 0; + + s += NodeId_calcSizeBinary(&src->content.decoded.type->binaryEncodingId, NULL); /* Type encoding length */ + s += 4; /* Encoding length field */ + const UA_DataType *type = src->content.decoded.type; + s += calcSizeBinaryJumpTable[type->typeKind](src->content.decoded.data, type); /* Encoding length */ + return s; +} + +CALCSIZE_BINARY(Variant) { + size_t s = 1; /* Encoding byte */ + if(!src->type) + return s; + + const UA_Boolean isArray = src->arrayLength > 0 || src->data <= UA_EMPTY_ARRAY_SENTINEL; + if(isArray) + s += Array_calcSizeBinary(src->data, src->arrayLength, src->type); + else + s += calcSizeBinaryJumpTable[src->type->typeKind](src->data, src->type); + + const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + const UA_Boolean isEnum = (src->type->typeKind == UA_DATATYPEKIND_ENUM); + if(!isBuiltin && !isEnum) { + /* The type is wrapped inside an extensionobject */ + /* (NodeId + encoding byte + extension object length) * array length */ + size_t length = isArray ? src->arrayLength : 1; + s += (NodeId_calcSizeBinary(&src->type->binaryEncodingId, NULL) + 1 + 4) * length; + } + + const UA_Boolean hasDimensions = isArray && src->arrayDimensionsSize > 0; + if(hasDimensions) + s += Array_calcSizeBinary(src->arrayDimensions, src->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_INT32]); + return s; +} + +CALCSIZE_BINARY(DataValue) { + size_t s = 1; /* Encoding byte */ + if(src->hasValue) + s += Variant_calcSizeBinary(&src->value, NULL); + if(src->hasStatus) + s += 4; + if(src->hasSourceTimestamp) + s += 8; + if(src->hasSourcePicoseconds) + s += 2; + if(src->hasServerTimestamp) + s += 8; + if(src->hasServerPicoseconds) + s += 2; + return s; +} + +CALCSIZE_BINARY(DiagnosticInfo) { + size_t s = 1; /* Encoding byte */ + if(src->hasSymbolicId) + s += 4; + if(src->hasNamespaceUri) + s += 4; + if(src->hasLocalizedText) + s += 4; + if(src->hasLocale) + s += 4; + if(src->hasAdditionalInfo) + s += String_calcSizeBinary(&src->additionalInfo, NULL); + if(src->hasInnerStatusCode) + s += 4; + if(src->hasInnerDiagnosticInfo) + s += DiagnosticInfo_calcSizeBinary(src->innerDiagnosticInfo, NULL); + return s; +} + +static size_t +calcSizeBinaryStructure(const void *p, const UA_DataType *type) { + size_t s = 0; + uintptr_t ptr = (uintptr_t)p; + u8 membersSize = type->membersSize; + + /* Loop over members */ + for(size_t i = 0; i < membersSize; ++i) { + const UA_DataTypeMember *member = &type->members[i]; + const UA_DataType *membertype = member->memberType; + ptr += member->padding; + + /* Array */ + if(member->isArray) { + const size_t length = *((const size_t*)ptr); + ptr += sizeof(size_t); + s += Array_calcSizeBinary(*(void *UA_RESTRICT const *)ptr, length, membertype); + ptr += sizeof(void*); + continue; + } + + /* Scalar */ + s += calcSizeBinaryJumpTable[membertype->typeKind]((const void*)ptr, membertype); + ptr += membertype->memSize; + } + + return s; +} + +static size_t +calcSizeBinaryStructureWithOptFields(const void *p, const UA_DataType *type) { + /* Start with the size of the encoding mask */ + size_t s = sizeof(UA_UInt32); + + /* Loop over members */ + uintptr_t ptr = (uintptr_t)p; + for(size_t i = 0; i < type->membersSize; ++i) { + const UA_DataTypeMember *member = &type->members[i]; + const UA_DataType *membertype = member->memberType; + ptr += member->padding; + if(member->isOptional) { + if((member->isArray && ((*(void* const*)(ptr+sizeof(size_t))) == NULL)) || + (!member->isArray && (*(void* const*)ptr == NULL))) { + /* Optional member not contained */ + if(member->isArray) + ptr += sizeof(size_t); + ptr += sizeof(void *); + continue; + } + /* Fallthrough to take the size into account */ + } + /* Array */ + if(member->isArray) { + const size_t length = *((const size_t*)ptr); + ptr += sizeof(size_t); + s += Array_calcSizeBinary(*(void *UA_RESTRICT const *)ptr, length, membertype); + ptr += sizeof(void*); + continue; + } + /* Scalar */ + if (member->isOptional) { + s += calcSizeBinaryJumpTable[membertype->typeKind](*(void* const*)ptr, membertype); + ptr += sizeof(void *); + } else { + s += calcSizeBinaryJumpTable[membertype->typeKind]((const void*)ptr, membertype); + ptr += membertype->memSize; + } + } + return s; +} + +static size_t +calcSizeBinaryUnion(const void *p, const UA_DataType *type) { + size_t s = 4; /* UA_TYPES[UA_TYPES_UINT32].memSize; */ + const UA_UInt32 selection = *(const UA_UInt32 *)p; + if(selection == 0) + return s; + + const UA_DataTypeMember *m = &type->members[selection-1]; + const UA_DataType *mt = m->memberType; + + uintptr_t ptr = ((uintptr_t)p) + m->padding; /* includes switchfield length */ + if(!m->isArray) { + s += UA_calcSizeBinary((const void*)ptr, mt); + } else { + const size_t length = *((const size_t*)ptr); + ptr += sizeof(size_t); + s += Array_calcSizeBinary(*(void *UA_RESTRICT const *)ptr, length, mt); + } + return s; +} + +static size_t +calcSizeBinaryNotImplemented(const void *p, const UA_DataType *type) { + (void)p, (void)type; + return 0; +} + +const calcSizeBinarySignature calcSizeBinaryJumpTable[UA_DATATYPEKINDS] = { + (calcSizeBinarySignature)calcSizeBinary1, /* Boolean */ + (calcSizeBinarySignature)calcSizeBinary1, /* SByte */ + (calcSizeBinarySignature)calcSizeBinary1, /* Byte */ + (calcSizeBinarySignature)calcSizeBinary2, /* Int16 */ + (calcSizeBinarySignature)calcSizeBinary2, /* UInt16 */ + (calcSizeBinarySignature)calcSizeBinary4, /* Int32 */ + (calcSizeBinarySignature)calcSizeBinary4, /* UInt32 */ + (calcSizeBinarySignature)calcSizeBinary8, /* Int64 */ + (calcSizeBinarySignature)calcSizeBinary8, /* UInt64 */ + (calcSizeBinarySignature)calcSizeBinary4, /* Float */ + (calcSizeBinarySignature)calcSizeBinary8, /* Double */ + (calcSizeBinarySignature)String_calcSizeBinary, + (calcSizeBinarySignature)calcSizeBinary8, /* DateTime */ + (calcSizeBinarySignature)Guid_calcSizeBinary, + (calcSizeBinarySignature)String_calcSizeBinary, /* ByteString */ + (calcSizeBinarySignature)String_calcSizeBinary, /* XmlElement */ + (calcSizeBinarySignature)NodeId_calcSizeBinary, + (calcSizeBinarySignature)ExpandedNodeId_calcSizeBinary, + (calcSizeBinarySignature)calcSizeBinary4, /* StatusCode */ + (calcSizeBinarySignature)QualifiedName_calcSizeBinary, + (calcSizeBinarySignature)LocalizedText_calcSizeBinary, + (calcSizeBinarySignature)ExtensionObject_calcSizeBinary, + (calcSizeBinarySignature)DataValue_calcSizeBinary, + (calcSizeBinarySignature)Variant_calcSizeBinary, + (calcSizeBinarySignature)DiagnosticInfo_calcSizeBinary, + (calcSizeBinarySignature)calcSizeBinaryNotImplemented, /* Decimal */ + (calcSizeBinarySignature)calcSizeBinary4, /* Enumeration */ + (calcSizeBinarySignature)calcSizeBinaryStructure, + (calcSizeBinarySignature)calcSizeBinaryStructureWithOptFields, /* Structure with Optional Fields */ + (calcSizeBinarySignature)calcSizeBinaryUnion, /* Union */ + (calcSizeBinarySignature)calcSizeBinaryNotImplemented /* BitfieldCluster */ +}; + +size_t +UA_calcSizeBinary(const void *p, const UA_DataType *type) { + return calcSizeBinaryJumpTable[type->typeKind](p, type); +} + +/**** amalgamated original file "/build/src_generated/open62541/types_generated.c" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + + +/* Boolean */ +#define Boolean_members NULL + +/* SByte */ +#define SByte_members NULL + +/* Byte */ +#define Byte_members NULL + +/* Int16 */ +#define Int16_members NULL + +/* UInt16 */ +#define UInt16_members NULL + +/* Int32 */ +#define Int32_members NULL + +/* UInt32 */ +#define UInt32_members NULL + +/* Int64 */ +#define Int64_members NULL + +/* UInt64 */ +#define UInt64_members NULL + +/* Float */ +#define Float_members NULL + +/* Double */ +#define Double_members NULL + +/* String */ +#define String_members NULL + +/* DateTime */ +#define DateTime_members NULL + +/* Guid */ +#define Guid_members NULL + +/* ByteString */ +#define ByteString_members NULL + +/* XmlElement */ +#define XmlElement_members NULL + +/* NodeId */ +#define NodeId_members NULL + +/* ExpandedNodeId */ +#define ExpandedNodeId_members NULL + +/* StatusCode */ +#define StatusCode_members NULL + +/* QualifiedName */ +#define QualifiedName_members NULL + +/* LocalizedText */ +#define LocalizedText_members NULL + +/* ExtensionObject */ +#define ExtensionObject_members NULL + +/* DataValue */ +#define DataValue_members NULL + +/* Variant */ +#define Variant_members NULL + +/* DiagnosticInfo */ +#define DiagnosticInfo_members NULL + +/* NamingRuleType */ +#define NamingRuleType_members NULL + +/* Enumeration */ +#define Enumeration_members NULL + +/* ImageBMP */ +#define ImageBMP_members NULL + +/* ImageGIF */ +#define ImageGIF_members NULL + +/* ImageJPG */ +#define ImageJPG_members NULL + +/* ImagePNG */ +#define ImagePNG_members NULL + +/* AudioDataType */ +#define AudioDataType_members NULL + +/* UriString */ +#define UriString_members NULL + +/* BitFieldMaskDataType */ +#define BitFieldMaskDataType_members NULL + +/* SemanticVersionString */ +#define SemanticVersionString_members NULL + +/* KeyValuePair */ +static UA_DataTypeMember KeyValuePair_members[2] = { +{ + UA_TYPENAME("Key") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_KeyValuePair, value) - offsetof(UA_KeyValuePair, key) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AdditionalParametersType */ +static UA_DataTypeMember AdditionalParametersType_members[1] = { +{ + UA_TYPENAME("Parameters") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* EphemeralKeyType */ +static UA_DataTypeMember EphemeralKeyType_members[2] = { +{ + UA_TYPENAME("PublicKey") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Signature") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_EphemeralKeyType, signature) - offsetof(UA_EphemeralKeyType, publicKey) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* Handle */ +#define Handle_members NULL + +/* TrimmedString */ +#define TrimmedString_members NULL + +/* RationalNumber */ +static UA_DataTypeMember RationalNumber_members[2] = { +{ + UA_TYPENAME("Numerator") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Denominator") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_RationalNumber, denominator) - offsetof(UA_RationalNumber, numerator) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ThreeDVector */ +static UA_DataTypeMember ThreeDVector_members[3] = { +{ + UA_TYPENAME("X") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Y") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ThreeDVector, y) - offsetof(UA_ThreeDVector, x) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Z") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ThreeDVector, z) - offsetof(UA_ThreeDVector, y) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ThreeDCartesianCoordinates */ +static UA_DataTypeMember ThreeDCartesianCoordinates_members[3] = { +{ + UA_TYPENAME("X") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Y") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ThreeDCartesianCoordinates, y) - offsetof(UA_ThreeDCartesianCoordinates, x) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Z") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ThreeDCartesianCoordinates, z) - offsetof(UA_ThreeDCartesianCoordinates, y) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ThreeDOrientation */ +static UA_DataTypeMember ThreeDOrientation_members[3] = { +{ + UA_TYPENAME("A") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("B") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ThreeDOrientation, b) - offsetof(UA_ThreeDOrientation, a) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("C") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ThreeDOrientation, c) - offsetof(UA_ThreeDOrientation, b) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ThreeDFrame */ +static UA_DataTypeMember ThreeDFrame_members[2] = { +{ + UA_TYPENAME("CartesianCoordinates") /* .memberName */ + &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Orientation") /* .memberName */ + &UA_TYPES[UA_TYPES_THREEDORIENTATION], /* .memberType */ + offsetof(UA_ThreeDFrame, orientation) - offsetof(UA_ThreeDFrame, cartesianCoordinates) - sizeof(UA_ThreeDCartesianCoordinates), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* OpenFileMode */ +#define OpenFileMode_members NULL + +/* IdentityCriteriaType */ +#define IdentityCriteriaType_members NULL + +/* IdentityMappingRuleType */ +static UA_DataTypeMember IdentityMappingRuleType_members[2] = { +{ + UA_TYPENAME("CriteriaType") /* .memberName */ + &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Criteria") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_IdentityMappingRuleType, criteria) - offsetof(UA_IdentityMappingRuleType, criteriaType) - sizeof(UA_IdentityCriteriaType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CurrencyUnitType */ +static UA_DataTypeMember CurrencyUnitType_members[4] = { +{ + UA_TYPENAME("NumericCode") /* .memberName */ + &UA_TYPES[UA_TYPES_INT16], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Exponent") /* .memberName */ + &UA_TYPES[UA_TYPES_SBYTE], /* .memberType */ + offsetof(UA_CurrencyUnitType, exponent) - offsetof(UA_CurrencyUnitType, numericCode) - sizeof(UA_Int16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AlphabeticCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_CurrencyUnitType, alphabeticCode) - offsetof(UA_CurrencyUnitType, exponent) - sizeof(UA_SByte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Currency") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_CurrencyUnitType, currency) - offsetof(UA_CurrencyUnitType, alphabeticCode) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AlarmMask */ +#define AlarmMask_members NULL + +/* TrustListValidationOptions */ +#define TrustListValidationOptions_members NULL + +/* TrustListMasks */ +#define TrustListMasks_members NULL + +/* TrustListDataType */ +static UA_DataTypeMember TrustListDataType_members[5] = { +{ + UA_TYPENAME("SpecifiedLists") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TrustedCertificates") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_TrustListDataType, trustedCertificatesSize) - offsetof(UA_TrustListDataType, specifiedLists) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TrustedCrls") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_TrustListDataType, trustedCrlsSize) - offsetof(UA_TrustListDataType, trustedCertificates) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IssuerCertificates") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_TrustListDataType, issuerCertificatesSize) - offsetof(UA_TrustListDataType, trustedCrls) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IssuerCrls") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_TrustListDataType, issuerCrlsSize) - offsetof(UA_TrustListDataType, issuerCertificates) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* TransactionErrorType */ +static UA_DataTypeMember TransactionErrorType_members[3] = { +{ + UA_TYPENAME("TargetId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Error") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_TransactionErrorType, error) - offsetof(UA_TransactionErrorType, targetId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Message") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_TransactionErrorType, message) - offsetof(UA_TransactionErrorType, error) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataTypeDescription */ +static UA_DataTypeMember DataTypeDescription_members[2] = { +{ + UA_TYPENAME("DataTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_DataTypeDescription, name) - offsetof(UA_DataTypeDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SimpleTypeDescription */ +static UA_DataTypeMember SimpleTypeDescription_members[4] = { +{ + UA_TYPENAME("DataTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_SimpleTypeDescription, name) - offsetof(UA_SimpleTypeDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BaseDataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_SimpleTypeDescription, baseDataType) - offsetof(UA_SimpleTypeDescription, name) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BuiltInType") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_SimpleTypeDescription, builtInType) - offsetof(UA_SimpleTypeDescription, baseDataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PortableQualifiedName */ +static UA_DataTypeMember PortableQualifiedName_members[2] = { +{ + UA_TYPENAME("NamespaceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PortableQualifiedName, name) - offsetof(UA_PortableQualifiedName, namespaceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PortableNodeId */ +static UA_DataTypeMember PortableNodeId_members[2] = { +{ + UA_TYPENAME("NamespaceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Identifier") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_PortableNodeId, identifier) - offsetof(UA_PortableNodeId, namespaceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* UnsignedRationalNumber */ +static UA_DataTypeMember UnsignedRationalNumber_members[2] = { +{ + UA_TYPENAME("Numerator") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Denominator") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_UnsignedRationalNumber, denominator) - offsetof(UA_UnsignedRationalNumber, numerator) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubState */ +#define PubSubState_members NULL + +/* DataSetFieldFlags */ +#define DataSetFieldFlags_members NULL + +/* ConfigurationVersionDataType */ +static UA_DataTypeMember ConfigurationVersionDataType_members[2] = { +{ + UA_TYPENAME("MajorVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MinorVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ConfigurationVersionDataType, minorVersion) - offsetof(UA_ConfigurationVersionDataType, majorVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishedVariableDataType */ +static UA_DataTypeMember PublishedVariableDataType_members[8] = { +{ + UA_TYPENAME("PublishedVariable") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PublishedVariableDataType, attributeId) - offsetof(UA_PublishedVariableDataType, publishedVariable) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SamplingIntervalHint") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_PublishedVariableDataType, samplingIntervalHint) - offsetof(UA_PublishedVariableDataType, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeadbandType") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PublishedVariableDataType, deadbandType) - offsetof(UA_PublishedVariableDataType, samplingIntervalHint) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeadbandValue") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_PublishedVariableDataType, deadbandValue) - offsetof(UA_PublishedVariableDataType, deadbandType) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PublishedVariableDataType, indexRange) - offsetof(UA_PublishedVariableDataType, deadbandValue) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubstituteValue") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_PublishedVariableDataType, substituteValue) - offsetof(UA_PublishedVariableDataType, indexRange) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MetaDataProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_PublishedVariableDataType, metaDataPropertiesSize) - offsetof(UA_PublishedVariableDataType, substituteValue) - sizeof(UA_Variant), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishedDataItemsDataType */ +static UA_DataTypeMember PublishedDataItemsDataType_members[1] = { +{ + UA_TYPENAME("PublishedData") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishedDataSetCustomSourceDataType */ +static UA_DataTypeMember PublishedDataSetCustomSourceDataType_members[1] = { +{ + UA_TYPENAME("CyclicDataSet") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataSetFieldContentMask */ +#define DataSetFieldContentMask_members NULL + +/* DataSetWriterDataType */ +static UA_DataTypeMember DataSetWriterDataType_members[9] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DataSetWriterDataType, enabled) - offsetof(UA_DataSetWriterDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetWriterId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_DataSetWriterDataType, dataSetWriterId) - offsetof(UA_DataSetWriterDataType, enabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetFieldContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK], /* .memberType */ + offsetof(UA_DataSetWriterDataType, dataSetFieldContentMask) - offsetof(UA_DataSetWriterDataType, dataSetWriterId) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("KeyFrameCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DataSetWriterDataType, keyFrameCount) - offsetof(UA_DataSetWriterDataType, dataSetFieldContentMask) - sizeof(UA_DataSetFieldContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DataSetWriterDataType, dataSetName) - offsetof(UA_DataSetWriterDataType, keyFrameCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetWriterProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_DataSetWriterDataType, dataSetWriterPropertiesSize) - offsetof(UA_DataSetWriterDataType, dataSetName) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DataSetWriterDataType, transportSettings) - offsetof(UA_DataSetWriterDataType, dataSetWriterProperties) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DataSetWriterDataType, messageSettings) - offsetof(UA_DataSetWriterDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* NetworkAddressDataType */ +static UA_DataTypeMember NetworkAddressDataType_members[1] = { +{ + UA_TYPENAME("NetworkInterface") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* NetworkAddressUrlDataType */ +static UA_DataTypeMember NetworkAddressUrlDataType_members[2] = { +{ + UA_TYPENAME("NetworkInterface") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Url") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_NetworkAddressUrlDataType, url) - offsetof(UA_NetworkAddressUrlDataType, networkInterface) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* OverrideValueHandling */ +#define OverrideValueHandling_members NULL + +/* StandaloneSubscribedDataSetRefDataType */ +static UA_DataTypeMember StandaloneSubscribedDataSetRefDataType_members[1] = { +{ + UA_TYPENAME("DataSetName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataSetOrderingType */ +#define DataSetOrderingType_members NULL + +/* UadpNetworkMessageContentMask */ +#define UadpNetworkMessageContentMask_members NULL + +/* UadpWriterGroupMessageDataType */ +static UA_DataTypeMember UadpWriterGroupMessageDataType_members[5] = { +{ + UA_TYPENAME("GroupVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetOrdering") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE], /* .memberType */ + offsetof(UA_UadpWriterGroupMessageDataType, dataSetOrdering) - offsetof(UA_UadpWriterGroupMessageDataType, groupVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK], /* .memberType */ + offsetof(UA_UadpWriterGroupMessageDataType, networkMessageContentMask) - offsetof(UA_UadpWriterGroupMessageDataType, dataSetOrdering) - sizeof(UA_DataSetOrderingType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SamplingOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_UadpWriterGroupMessageDataType, samplingOffset) - offsetof(UA_UadpWriterGroupMessageDataType, networkMessageContentMask) - sizeof(UA_UadpNetworkMessageContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_UadpWriterGroupMessageDataType, publishingOffsetSize) - offsetof(UA_UadpWriterGroupMessageDataType, samplingOffset) - sizeof(UA_Double), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* UadpDataSetMessageContentMask */ +#define UadpDataSetMessageContentMask_members NULL + +/* UadpDataSetWriterMessageDataType */ +static UA_DataTypeMember UadpDataSetWriterMessageDataType_members[4] = { +{ + UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConfiguredSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_UadpDataSetWriterMessageDataType, configuredSize) - offsetof(UA_UadpDataSetWriterMessageDataType, dataSetMessageContentMask) - sizeof(UA_UadpDataSetMessageContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NetworkMessageNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_UadpDataSetWriterMessageDataType, networkMessageNumber) - offsetof(UA_UadpDataSetWriterMessageDataType, configuredSize) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_UadpDataSetWriterMessageDataType, dataSetOffset) - offsetof(UA_UadpDataSetWriterMessageDataType, networkMessageNumber) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* UadpDataSetReaderMessageDataType */ +static UA_DataTypeMember UadpDataSetReaderMessageDataType_members[9] = { +{ + UA_TYPENAME("GroupVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NetworkMessageNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageNumber) - offsetof(UA_UadpDataSetReaderMessageDataType, groupVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, dataSetOffset) - offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageNumber) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetClassId") /* .memberName */ + &UA_TYPES[UA_TYPES_GUID], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, dataSetClassId) - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetOffset) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageContentMask) - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetClassId) - sizeof(UA_Guid), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, dataSetMessageContentMask) - offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageContentMask) - sizeof(UA_UadpNetworkMessageContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, publishingInterval) - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetMessageContentMask) - sizeof(UA_UadpDataSetMessageContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReceiveOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, receiveOffset) - offsetof(UA_UadpDataSetReaderMessageDataType, publishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProcessingOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_UadpDataSetReaderMessageDataType, processingOffset) - offsetof(UA_UadpDataSetReaderMessageDataType, receiveOffset) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* JsonNetworkMessageContentMask */ +#define JsonNetworkMessageContentMask_members NULL + +/* JsonWriterGroupMessageDataType */ +static UA_DataTypeMember JsonWriterGroupMessageDataType_members[1] = { +{ + UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* JsonDataSetMessageContentMask */ +#define JsonDataSetMessageContentMask_members NULL + +/* JsonDataSetWriterMessageDataType */ +static UA_DataTypeMember JsonDataSetWriterMessageDataType_members[1] = { +{ + UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* JsonDataSetReaderMessageDataType */ +static UA_DataTypeMember JsonDataSetReaderMessageDataType_members[2] = { +{ + UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK], /* .memberType */ + offsetof(UA_JsonDataSetReaderMessageDataType, dataSetMessageContentMask) - offsetof(UA_JsonDataSetReaderMessageDataType, networkMessageContentMask) - sizeof(UA_JsonNetworkMessageContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TransmitQosPriorityDataType */ +static UA_DataTypeMember TransmitQosPriorityDataType_members[1] = { +{ + UA_TYPENAME("PriorityLabel") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReceiveQosPriorityDataType */ +static UA_DataTypeMember ReceiveQosPriorityDataType_members[1] = { +{ + UA_TYPENAME("PriorityLabel") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DatagramConnectionTransportDataType */ +static UA_DataTypeMember DatagramConnectionTransportDataType_members[1] = { +{ + UA_TYPENAME("DiscoveryAddress") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DatagramConnectionTransport2DataType */ +static UA_DataTypeMember DatagramConnectionTransport2DataType_members[5] = { +{ + UA_TYPENAME("DiscoveryAddress") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryAnnounceRate") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DatagramConnectionTransport2DataType, discoveryAnnounceRate) - offsetof(UA_DatagramConnectionTransport2DataType, discoveryAddress) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryMaxMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DatagramConnectionTransport2DataType, discoveryMaxMessageSize) - offsetof(UA_DatagramConnectionTransport2DataType, discoveryAnnounceRate) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QosCategory") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DatagramConnectionTransport2DataType, qosCategory) - offsetof(UA_DatagramConnectionTransport2DataType, discoveryMaxMessageSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DatagramQos") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DatagramConnectionTransport2DataType, datagramQosSize) - offsetof(UA_DatagramConnectionTransport2DataType, qosCategory) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DatagramWriterGroupTransportDataType */ +static UA_DataTypeMember DatagramWriterGroupTransportDataType_members[2] = { +{ + UA_TYPENAME("MessageRepeatCount") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageRepeatDelay") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransportDataType, messageRepeatDelay) - offsetof(UA_DatagramWriterGroupTransportDataType, messageRepeatCount) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DatagramWriterGroupTransport2DataType */ +static UA_DataTypeMember DatagramWriterGroupTransport2DataType_members[7] = { +{ + UA_TYPENAME("MessageRepeatCount") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageRepeatDelay") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransport2DataType, messageRepeatDelay) - offsetof(UA_DatagramWriterGroupTransport2DataType, messageRepeatCount) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Address") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransport2DataType, address) - offsetof(UA_DatagramWriterGroupTransport2DataType, messageRepeatDelay) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QosCategory") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransport2DataType, qosCategory) - offsetof(UA_DatagramWriterGroupTransport2DataType, address) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DatagramQos") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransport2DataType, datagramQosSize) - offsetof(UA_DatagramWriterGroupTransport2DataType, qosCategory) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryAnnounceRate") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransport2DataType, discoveryAnnounceRate) - offsetof(UA_DatagramWriterGroupTransport2DataType, datagramQos) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Topic") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DatagramWriterGroupTransport2DataType, topic) - offsetof(UA_DatagramWriterGroupTransport2DataType, discoveryAnnounceRate) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DatagramDataSetReaderTransportDataType */ +static UA_DataTypeMember DatagramDataSetReaderTransportDataType_members[4] = { +{ + UA_TYPENAME("Address") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QosCategory") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DatagramDataSetReaderTransportDataType, qosCategory) - offsetof(UA_DatagramDataSetReaderTransportDataType, address) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DatagramQos") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DatagramDataSetReaderTransportDataType, datagramQosSize) - offsetof(UA_DatagramDataSetReaderTransportDataType, qosCategory) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Topic") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DatagramDataSetReaderTransportDataType, topic) - offsetof(UA_DatagramDataSetReaderTransportDataType, datagramQos) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrokerConnectionTransportDataType */ +static UA_DataTypeMember BrokerConnectionTransportDataType_members[2] = { +{ + UA_TYPENAME("ResourceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerConnectionTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerConnectionTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrokerTransportQualityOfService */ +#define BrokerTransportQualityOfService_members NULL + +/* BrokerWriterGroupTransportDataType */ +static UA_DataTypeMember BrokerWriterGroupTransportDataType_members[4] = { +{ + UA_TYPENAME("QueueName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ResourceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerWriterGroupTransportDataType, resourceUri) - offsetof(UA_BrokerWriterGroupTransportDataType, queueName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerWriterGroupTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerWriterGroupTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedDeliveryGuarantee") /* .memberName */ + &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE], /* .memberType */ + offsetof(UA_BrokerWriterGroupTransportDataType, requestedDeliveryGuarantee) - offsetof(UA_BrokerWriterGroupTransportDataType, authenticationProfileUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrokerDataSetWriterTransportDataType */ +static UA_DataTypeMember BrokerDataSetWriterTransportDataType_members[6] = { +{ + UA_TYPENAME("QueueName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ResourceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerDataSetWriterTransportDataType, resourceUri) - offsetof(UA_BrokerDataSetWriterTransportDataType, queueName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerDataSetWriterTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerDataSetWriterTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedDeliveryGuarantee") /* .memberName */ + &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE], /* .memberType */ + offsetof(UA_BrokerDataSetWriterTransportDataType, requestedDeliveryGuarantee) - offsetof(UA_BrokerDataSetWriterTransportDataType, authenticationProfileUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MetaDataQueueName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerDataSetWriterTransportDataType, metaDataQueueName) - offsetof(UA_BrokerDataSetWriterTransportDataType, requestedDeliveryGuarantee) - sizeof(UA_BrokerTransportQualityOfService), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MetaDataUpdateTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_BrokerDataSetWriterTransportDataType, metaDataUpdateTime) - offsetof(UA_BrokerDataSetWriterTransportDataType, metaDataQueueName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrokerDataSetReaderTransportDataType */ +static UA_DataTypeMember BrokerDataSetReaderTransportDataType_members[5] = { +{ + UA_TYPENAME("QueueName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ResourceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerDataSetReaderTransportDataType, resourceUri) - offsetof(UA_BrokerDataSetReaderTransportDataType, queueName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerDataSetReaderTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerDataSetReaderTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedDeliveryGuarantee") /* .memberName */ + &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE], /* .memberType */ + offsetof(UA_BrokerDataSetReaderTransportDataType, requestedDeliveryGuarantee) - offsetof(UA_BrokerDataSetReaderTransportDataType, authenticationProfileUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MetaDataQueueName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BrokerDataSetReaderTransportDataType, metaDataQueueName) - offsetof(UA_BrokerDataSetReaderTransportDataType, requestedDeliveryGuarantee) - sizeof(UA_BrokerTransportQualityOfService), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubConfigurationRefMask */ +#define PubSubConfigurationRefMask_members NULL + +/* PubSubConfigurationRefDataType */ +static UA_DataTypeMember PubSubConfigurationRefDataType_members[4] = { +{ + UA_TYPENAME("ConfigurationMask") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ElementIndex") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_PubSubConfigurationRefDataType, elementIndex) - offsetof(UA_PubSubConfigurationRefDataType, configurationMask) - sizeof(UA_PubSubConfigurationRefMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConnectionIndex") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_PubSubConfigurationRefDataType, connectionIndex) - offsetof(UA_PubSubConfigurationRefDataType, elementIndex) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GroupIndex") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_PubSubConfigurationRefDataType, groupIndex) - offsetof(UA_PubSubConfigurationRefDataType, connectionIndex) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubConfigurationValueDataType */ +static UA_DataTypeMember PubSubConfigurationValueDataType_members[3] = { +{ + UA_TYPENAME("ConfigurationElement") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubConfigurationValueDataType, name) - offsetof(UA_PubSubConfigurationValueDataType, configurationElement) - sizeof(UA_PubSubConfigurationRefDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Identifier") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_PubSubConfigurationValueDataType, identifier) - offsetof(UA_PubSubConfigurationValueDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DiagnosticsLevel */ +#define DiagnosticsLevel_members NULL + +/* PubSubDiagnosticsCounterClassification */ +#define PubSubDiagnosticsCounterClassification_members NULL + +/* AliasNameDataType */ +static UA_DataTypeMember AliasNameDataType_members[2] = { +{ + UA_TYPENAME("AliasName") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferencedNodes") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_AliasNameDataType, referencedNodesSize) - offsetof(UA_AliasNameDataType, aliasName) - sizeof(UA_QualifiedName), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PasswordOptionsMask */ +#define PasswordOptionsMask_members NULL + +/* UserConfigurationMask */ +#define UserConfigurationMask_members NULL + +/* UserManagementDataType */ +static UA_DataTypeMember UserManagementDataType_members[3] = { +{ + UA_TYPENAME("UserName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserConfiguration") /* .memberName */ + &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK], /* .memberType */ + offsetof(UA_UserManagementDataType, userConfiguration) - offsetof(UA_UserManagementDataType, userName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UserManagementDataType, description) - offsetof(UA_UserManagementDataType, userConfiguration) - sizeof(UA_UserConfigurationMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EncodedTicket */ +#define EncodedTicket_members NULL + +/* Duplex */ +#define Duplex_members NULL + +/* InterfaceAdminStatus */ +#define InterfaceAdminStatus_members NULL + +/* InterfaceOperStatus */ +#define InterfaceOperStatus_members NULL + +/* NegotiationStatus */ +#define NegotiationStatus_members NULL + +/* TsnFailureCode */ +#define TsnFailureCode_members NULL + +/* TsnStreamState */ +#define TsnStreamState_members NULL + +/* TsnTalkerStatus */ +#define TsnTalkerStatus_members NULL + +/* TsnListenerStatus */ +#define TsnListenerStatus_members NULL + +/* PriorityMappingEntryType */ +static UA_DataTypeMember PriorityMappingEntryType_members[4] = { +{ + UA_TYPENAME("MappingUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PriorityLabel") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PriorityMappingEntryType, priorityLabel) - offsetof(UA_PriorityMappingEntryType, mappingUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PriorityValue_PCP") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_PriorityMappingEntryType, priorityValue_PCP) - offsetof(UA_PriorityMappingEntryType, priorityLabel) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PriorityValue_DSCP") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PriorityMappingEntryType, priorityValue_DSCP) - offsetof(UA_PriorityMappingEntryType, priorityValue_PCP) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReferenceDescriptionDataType */ +static UA_DataTypeMember ReferenceDescriptionDataType_members[4] = { +{ + UA_TYPENAME("SourceNode") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferenceType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_ReferenceDescriptionDataType, referenceType) - offsetof(UA_ReferenceDescriptionDataType, sourceNode) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsForward") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReferenceDescriptionDataType, isForward) - offsetof(UA_ReferenceDescriptionDataType, referenceType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetNode") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_ReferenceDescriptionDataType, targetNode) - offsetof(UA_ReferenceDescriptionDataType, isForward) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReferenceListEntryDataType */ +static UA_DataTypeMember ReferenceListEntryDataType_members[3] = { +{ + UA_TYPENAME("ReferenceType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsForward") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReferenceListEntryDataType, isForward) - offsetof(UA_ReferenceListEntryDataType, referenceType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetNode") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_ReferenceListEntryDataType, targetNode) - offsetof(UA_ReferenceListEntryDataType, isForward) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* IdType */ +#define IdType_members NULL + +/* NodeClass */ +#define NodeClass_members NULL + +/* PermissionType */ +#define PermissionType_members NULL + +/* AccessLevelType */ +#define AccessLevelType_members NULL + +/* AccessLevelExType */ +#define AccessLevelExType_members NULL + +/* EventNotifierType */ +#define EventNotifierType_members NULL + +/* AccessRestrictionType */ +#define AccessRestrictionType_members NULL + +/* RolePermissionType */ +static UA_DataTypeMember RolePermissionType_members[2] = { +{ + UA_TYPENAME("RoleId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Permissions") /* .memberName */ + &UA_TYPES[UA_TYPES_PERMISSIONTYPE], /* .memberType */ + offsetof(UA_RolePermissionType, permissions) - offsetof(UA_RolePermissionType, roleId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* StructureType */ +#define StructureType_members NULL + +/* StructureField */ +static UA_DataTypeMember StructureField_members[7] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_StructureField, description) - offsetof(UA_StructureField, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_StructureField, dataType) - offsetof(UA_StructureField, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ValueRank") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_StructureField, valueRank) - offsetof(UA_StructureField, dataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ArrayDimensions") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_StructureField, arrayDimensionsSize) - offsetof(UA_StructureField, valueRank) - sizeof(UA_Int32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxStringLength") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_StructureField, maxStringLength) - offsetof(UA_StructureField, arrayDimensions) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsOptional") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_StructureField, isOptional) - offsetof(UA_StructureField, maxStringLength) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* StructureDefinition */ +static UA_DataTypeMember StructureDefinition_members[4] = { +{ + UA_TYPENAME("DefaultEncodingId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BaseDataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_StructureDefinition, baseDataType) - offsetof(UA_StructureDefinition, defaultEncodingId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StructureType") /* .memberName */ + &UA_TYPES[UA_TYPES_STRUCTURETYPE], /* .memberType */ + offsetof(UA_StructureDefinition, structureType) - offsetof(UA_StructureDefinition, baseDataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Fields") /* .memberName */ + &UA_TYPES[UA_TYPES_STRUCTUREFIELD], /* .memberType */ + offsetof(UA_StructureDefinition, fieldsSize) - offsetof(UA_StructureDefinition, structureType) - sizeof(UA_StructureType), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* Argument */ +static UA_DataTypeMember Argument_members[5] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_Argument, dataType) - offsetof(UA_Argument, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ValueRank") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_Argument, valueRank) - offsetof(UA_Argument, dataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ArrayDimensions") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_Argument, arrayDimensionsSize) - offsetof(UA_Argument, valueRank) - sizeof(UA_Int32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_Argument, description) - offsetof(UA_Argument, arrayDimensions) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EnumValueType */ +static UA_DataTypeMember EnumValueType_members[3] = { +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_INT64], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_EnumValueType, displayName) - offsetof(UA_EnumValueType, value) - sizeof(UA_Int64), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_EnumValueType, description) - offsetof(UA_EnumValueType, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EnumField */ +static UA_DataTypeMember EnumField_members[4] = { +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_INT64], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_EnumField, displayName) - offsetof(UA_EnumField, value) - sizeof(UA_Int64), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_EnumField, description) - offsetof(UA_EnumField, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_EnumField, name) - offsetof(UA_EnumField, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* OptionSet */ +static UA_DataTypeMember OptionSet_members[2] = { +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ValidBits") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_OptionSet, validBits) - offsetof(UA_OptionSet, value) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* NormalizedString */ +#define NormalizedString_members NULL + +/* DecimalString */ +#define DecimalString_members NULL + +/* DurationString */ +#define DurationString_members NULL + +/* TimeString */ +#define TimeString_members NULL + +/* DateString */ +#define DateString_members NULL + +/* Duration */ +#define Duration_members NULL + +/* UtcTime */ +#define UtcTime_members NULL + +/* LocaleId */ +#define LocaleId_members NULL + +/* TimeZoneDataType */ +static UA_DataTypeMember TimeZoneDataType_members[2] = { +{ + UA_TYPENAME("Offset") /* .memberName */ + &UA_TYPES[UA_TYPES_INT16], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DaylightSavingInOffset") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_TimeZoneDataType, daylightSavingInOffset) - offsetof(UA_TimeZoneDataType, offset) - sizeof(UA_Int16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* Index */ +#define Index_members NULL + +/* IntegerId */ +#define IntegerId_members NULL + +/* ApplicationType */ +#define ApplicationType_members NULL + +/* ApplicationDescription */ +static UA_DataTypeMember ApplicationDescription_members[7] = { +{ + UA_TYPENAME("ApplicationUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProductUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ApplicationDescription, productUri) - offsetof(UA_ApplicationDescription, applicationUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ApplicationName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ApplicationDescription, applicationName) - offsetof(UA_ApplicationDescription, productUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ApplicationType") /* .memberName */ + &UA_TYPES[UA_TYPES_APPLICATIONTYPE], /* .memberType */ + offsetof(UA_ApplicationDescription, applicationType) - offsetof(UA_ApplicationDescription, applicationName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GatewayServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ApplicationDescription, gatewayServerUri) - offsetof(UA_ApplicationDescription, applicationType) - sizeof(UA_ApplicationType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ApplicationDescription, discoveryProfileUri) - offsetof(UA_ApplicationDescription, gatewayServerUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryUrls") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ApplicationDescription, discoveryUrlsSize) - offsetof(UA_ApplicationDescription, discoveryProfileUri) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RequestHeader */ +static UA_DataTypeMember RequestHeader_members[7] = { +{ + UA_TYPENAME("AuthenticationToken") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Timestamp") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_RequestHeader, timestamp) - offsetof(UA_RequestHeader, authenticationToken) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestHandle") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_RequestHeader, requestHandle) - offsetof(UA_RequestHeader, timestamp) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReturnDiagnostics") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_RequestHeader, returnDiagnostics) - offsetof(UA_RequestHeader, requestHandle) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuditEntryId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_RequestHeader, auditEntryId) - offsetof(UA_RequestHeader, returnDiagnostics) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TimeoutHint") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_RequestHeader, timeoutHint) - offsetof(UA_RequestHeader, auditEntryId) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AdditionalHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_RequestHeader, additionalHeader) - offsetof(UA_RequestHeader, timeoutHint) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ResponseHeader */ +static UA_DataTypeMember ResponseHeader_members[6] = { +{ + UA_TYPENAME("Timestamp") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestHandle") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ResponseHeader, requestHandle) - offsetof(UA_ResponseHeader, timestamp) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServiceResult") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_ResponseHeader, serviceResult) - offsetof(UA_ResponseHeader, requestHandle) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServiceDiagnostics") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ResponseHeader, serviceDiagnostics) - offsetof(UA_ResponseHeader, serviceResult) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StringTable") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ResponseHeader, stringTableSize) - offsetof(UA_ResponseHeader, serviceDiagnostics) - sizeof(UA_DiagnosticInfo), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AdditionalHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_ResponseHeader, additionalHeader) - offsetof(UA_ResponseHeader, stringTable) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* VersionTime */ +#define VersionTime_members NULL + +/* ServiceFault */ +static UA_DataTypeMember ServiceFault_members[1] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SessionlessInvokeRequestType */ +static UA_DataTypeMember SessionlessInvokeRequestType_members[5] = { +{ + UA_TYPENAME("UrisVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NamespaceUris") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionlessInvokeRequestType, namespaceUrisSize) - offsetof(UA_SessionlessInvokeRequestType, urisVersion) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerUris") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionlessInvokeRequestType, serverUrisSize) - offsetof(UA_SessionlessInvokeRequestType, namespaceUris) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LocaleIds") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionlessInvokeRequestType, localeIdsSize) - offsetof(UA_SessionlessInvokeRequestType, serverUris) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServiceId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionlessInvokeRequestType, serviceId) - offsetof(UA_SessionlessInvokeRequestType, localeIds) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SessionlessInvokeResponseType */ +static UA_DataTypeMember SessionlessInvokeResponseType_members[3] = { +{ + UA_TYPENAME("NamespaceUris") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerUris") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionlessInvokeResponseType, serverUrisSize) - offsetof(UA_SessionlessInvokeResponseType, namespaceUris) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServiceId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionlessInvokeResponseType, serviceId) - offsetof(UA_SessionlessInvokeResponseType, serverUris) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* FindServersRequest */ +static UA_DataTypeMember FindServersRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_FindServersRequest, endpointUrl) - offsetof(UA_FindServersRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LocaleIds") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_FindServersRequest, localeIdsSize) - offsetof(UA_FindServersRequest, endpointUrl) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerUris") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_FindServersRequest, serverUrisSize) - offsetof(UA_FindServersRequest, localeIds) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* FindServersResponse */ +static UA_DataTypeMember FindServersResponse_members[2] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Servers") /* .memberName */ + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ + offsetof(UA_FindServersResponse, serversSize) - offsetof(UA_FindServersResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ServerOnNetwork */ +static UA_DataTypeMember ServerOnNetwork_members[4] = { +{ + UA_TYPENAME("RecordId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ServerOnNetwork, serverName) - offsetof(UA_ServerOnNetwork, recordId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ServerOnNetwork, discoveryUrl) - offsetof(UA_ServerOnNetwork, serverName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerCapabilities") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ServerOnNetwork, serverCapabilitiesSize) - offsetof(UA_ServerOnNetwork, discoveryUrl) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* FindServersOnNetworkRequest */ +static UA_DataTypeMember FindServersOnNetworkRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StartingRecordId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_FindServersOnNetworkRequest, startingRecordId) - offsetof(UA_FindServersOnNetworkRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxRecordsToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_FindServersOnNetworkRequest, maxRecordsToReturn) - offsetof(UA_FindServersOnNetworkRequest, startingRecordId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerCapabilityFilter") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_FindServersOnNetworkRequest, serverCapabilityFilterSize) - offsetof(UA_FindServersOnNetworkRequest, maxRecordsToReturn) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* FindServersOnNetworkResponse */ +static UA_DataTypeMember FindServersOnNetworkResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastCounterResetTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_FindServersOnNetworkResponse, lastCounterResetTime) - offsetof(UA_FindServersOnNetworkResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Servers") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVERONNETWORK], /* .memberType */ + offsetof(UA_FindServersOnNetworkResponse, serversSize) - offsetof(UA_FindServersOnNetworkResponse, lastCounterResetTime) - sizeof(UA_DateTime), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ApplicationInstanceCertificate */ +#define ApplicationInstanceCertificate_members NULL + +/* MessageSecurityMode */ +#define MessageSecurityMode_members NULL + +/* UserTokenType */ +#define UserTokenType_members NULL + +/* UserTokenPolicy */ +static UA_DataTypeMember UserTokenPolicy_members[5] = { +{ + UA_TYPENAME("PolicyId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TokenType") /* .memberName */ + &UA_TYPES[UA_TYPES_USERTOKENTYPE], /* .memberType */ + offsetof(UA_UserTokenPolicy, tokenType) - offsetof(UA_UserTokenPolicy, policyId) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IssuedTokenType") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UserTokenPolicy, issuedTokenType) - offsetof(UA_UserTokenPolicy, tokenType) - sizeof(UA_UserTokenType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IssuerEndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UserTokenPolicy, issuerEndpointUrl) - offsetof(UA_UserTokenPolicy, issuedTokenType) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UserTokenPolicy, securityPolicyUri) - offsetof(UA_UserTokenPolicy, issuerEndpointUrl) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EndpointDescription */ +static UA_DataTypeMember EndpointDescription_members[8] = { +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Server") /* .memberName */ + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ + offsetof(UA_EndpointDescription, server) - offsetof(UA_EndpointDescription, endpointUrl) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerCertificate") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_EndpointDescription, serverCertificate) - offsetof(UA_EndpointDescription, server) - sizeof(UA_ApplicationDescription), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_EndpointDescription, securityMode) - offsetof(UA_EndpointDescription, serverCertificate) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_EndpointDescription, securityPolicyUri) - offsetof(UA_EndpointDescription, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserIdentityTokens") /* .memberName */ + &UA_TYPES[UA_TYPES_USERTOKENPOLICY], /* .memberType */ + offsetof(UA_EndpointDescription, userIdentityTokensSize) - offsetof(UA_EndpointDescription, securityPolicyUri) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_EndpointDescription, transportProfileUri) - offsetof(UA_EndpointDescription, userIdentityTokens) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityLevel") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_EndpointDescription, securityLevel) - offsetof(UA_EndpointDescription, transportProfileUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* GetEndpointsRequest */ +static UA_DataTypeMember GetEndpointsRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_GetEndpointsRequest, endpointUrl) - offsetof(UA_GetEndpointsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LocaleIds") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_GetEndpointsRequest, localeIdsSize) - offsetof(UA_GetEndpointsRequest, endpointUrl) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProfileUris") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_GetEndpointsRequest, profileUrisSize) - offsetof(UA_GetEndpointsRequest, localeIds) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* GetEndpointsResponse */ +static UA_DataTypeMember GetEndpointsResponse_members[2] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Endpoints") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_GetEndpointsResponse, endpointsSize) - offsetof(UA_GetEndpointsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisteredServer */ +static UA_DataTypeMember RegisteredServer_members[8] = { +{ + UA_TYPENAME("ServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProductUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_RegisteredServer, productUri) - offsetof(UA_RegisteredServer, serverUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerNames") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_RegisteredServer, serverNamesSize) - offsetof(UA_RegisteredServer, productUri) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerType") /* .memberName */ + &UA_TYPES[UA_TYPES_APPLICATIONTYPE], /* .memberType */ + offsetof(UA_RegisteredServer, serverType) - offsetof(UA_RegisteredServer, serverNames) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GatewayServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_RegisteredServer, gatewayServerUri) - offsetof(UA_RegisteredServer, serverType) - sizeof(UA_ApplicationType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryUrls") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_RegisteredServer, discoveryUrlsSize) - offsetof(UA_RegisteredServer, gatewayServerUri) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SemaphoreFilePath") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_RegisteredServer, semaphoreFilePath) - offsetof(UA_RegisteredServer, discoveryUrls) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsOnline") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_RegisteredServer, isOnline) - offsetof(UA_RegisteredServer, semaphoreFilePath) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisterServerRequest */ +static UA_DataTypeMember RegisterServerRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Server") /* .memberName */ + &UA_TYPES[UA_TYPES_REGISTEREDSERVER], /* .memberType */ + offsetof(UA_RegisterServerRequest, server) - offsetof(UA_RegisterServerRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisterServerResponse */ +static UA_DataTypeMember RegisterServerResponse_members[1] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* MdnsDiscoveryConfiguration */ +static UA_DataTypeMember MdnsDiscoveryConfiguration_members[2] = { +{ + UA_TYPENAME("MdnsServerName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerCapabilities") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_MdnsDiscoveryConfiguration, serverCapabilitiesSize) - offsetof(UA_MdnsDiscoveryConfiguration, mdnsServerName) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisterServer2Request */ +static UA_DataTypeMember RegisterServer2Request_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Server") /* .memberName */ + &UA_TYPES[UA_TYPES_REGISTEREDSERVER], /* .memberType */ + offsetof(UA_RegisterServer2Request, server) - offsetof(UA_RegisterServer2Request, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscoveryConfiguration") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_RegisterServer2Request, discoveryConfigurationSize) - offsetof(UA_RegisterServer2Request, server) - sizeof(UA_RegisteredServer), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisterServer2Response */ +static UA_DataTypeMember RegisterServer2Response_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConfigurationResults") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_RegisterServer2Response, configurationResultsSize) - offsetof(UA_RegisterServer2Response, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_RegisterServer2Response, diagnosticInfosSize) - offsetof(UA_RegisterServer2Response, configurationResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SecurityTokenRequestType */ +#define SecurityTokenRequestType_members NULL + +/* ChannelSecurityToken */ +static UA_DataTypeMember ChannelSecurityToken_members[4] = { +{ + UA_TYPENAME("ChannelId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TokenId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ChannelSecurityToken, tokenId) - offsetof(UA_ChannelSecurityToken, channelId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CreatedAt") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ChannelSecurityToken, createdAt) - offsetof(UA_ChannelSecurityToken, tokenId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedLifetime") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ChannelSecurityToken, revisedLifetime) - offsetof(UA_ChannelSecurityToken, createdAt) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* OpenSecureChannelRequest */ +static UA_DataTypeMember OpenSecureChannelRequest_members[6] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientProtocolVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_OpenSecureChannelRequest, clientProtocolVersion) - offsetof(UA_OpenSecureChannelRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestType") /* .memberName */ + &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE], /* .memberType */ + offsetof(UA_OpenSecureChannelRequest, requestType) - offsetof(UA_OpenSecureChannelRequest, clientProtocolVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_OpenSecureChannelRequest, securityMode) - offsetof(UA_OpenSecureChannelRequest, requestType) - sizeof(UA_SecurityTokenRequestType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientNonce") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_OpenSecureChannelRequest, clientNonce) - offsetof(UA_OpenSecureChannelRequest, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedLifetime") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_OpenSecureChannelRequest, requestedLifetime) - offsetof(UA_OpenSecureChannelRequest, clientNonce) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* OpenSecureChannelResponse */ +static UA_DataTypeMember OpenSecureChannelResponse_members[4] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerProtocolVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_OpenSecureChannelResponse, serverProtocolVersion) - offsetof(UA_OpenSecureChannelResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityToken") /* .memberName */ + &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN], /* .memberType */ + offsetof(UA_OpenSecureChannelResponse, securityToken) - offsetof(UA_OpenSecureChannelResponse, serverProtocolVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerNonce") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_OpenSecureChannelResponse, serverNonce) - offsetof(UA_OpenSecureChannelResponse, securityToken) - sizeof(UA_ChannelSecurityToken), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CloseSecureChannelRequest */ +static UA_DataTypeMember CloseSecureChannelRequest_members[1] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CloseSecureChannelResponse */ +static UA_DataTypeMember CloseSecureChannelResponse_members[1] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SignedSoftwareCertificate */ +static UA_DataTypeMember SignedSoftwareCertificate_members[2] = { +{ + UA_TYPENAME("CertificateData") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Signature") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_SignedSoftwareCertificate, signature) - offsetof(UA_SignedSoftwareCertificate, certificateData) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SessionAuthenticationToken */ +#define SessionAuthenticationToken_members NULL + +/* SignatureData */ +static UA_DataTypeMember SignatureData_members[2] = { +{ + UA_TYPENAME("Algorithm") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Signature") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_SignatureData, signature) - offsetof(UA_SignatureData, algorithm) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CreateSessionRequest */ +static UA_DataTypeMember CreateSessionRequest_members[9] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientDescription") /* .memberName */ + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ + offsetof(UA_CreateSessionRequest, clientDescription) - offsetof(UA_CreateSessionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_CreateSessionRequest, serverUri) - offsetof(UA_CreateSessionRequest, clientDescription) - sizeof(UA_ApplicationDescription), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_CreateSessionRequest, endpointUrl) - offsetof(UA_CreateSessionRequest, serverUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SessionName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_CreateSessionRequest, sessionName) - offsetof(UA_CreateSessionRequest, endpointUrl) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientNonce") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_CreateSessionRequest, clientNonce) - offsetof(UA_CreateSessionRequest, sessionName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientCertificate") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_CreateSessionRequest, clientCertificate) - offsetof(UA_CreateSessionRequest, clientNonce) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedSessionTimeout") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_CreateSessionRequest, requestedSessionTimeout) - offsetof(UA_CreateSessionRequest, clientCertificate) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxResponseMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSessionRequest, maxResponseMessageSize) - offsetof(UA_CreateSessionRequest, requestedSessionTimeout) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CreateSessionResponse */ +static UA_DataTypeMember CreateSessionResponse_members[10] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_CreateSessionResponse, sessionId) - offsetof(UA_CreateSessionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuthenticationToken") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_CreateSessionResponse, authenticationToken) - offsetof(UA_CreateSessionResponse, sessionId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedSessionTimeout") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_CreateSessionResponse, revisedSessionTimeout) - offsetof(UA_CreateSessionResponse, authenticationToken) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerNonce") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_CreateSessionResponse, serverNonce) - offsetof(UA_CreateSessionResponse, revisedSessionTimeout) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerCertificate") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_CreateSessionResponse, serverCertificate) - offsetof(UA_CreateSessionResponse, serverNonce) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerEndpoints") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_CreateSessionResponse, serverEndpointsSize) - offsetof(UA_CreateSessionResponse, serverCertificate) - sizeof(UA_ByteString), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerSoftwareCertificates") /* .memberName */ + &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE], /* .memberType */ + offsetof(UA_CreateSessionResponse, serverSoftwareCertificatesSize) - offsetof(UA_CreateSessionResponse, serverEndpoints) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerSignature") /* .memberName */ + &UA_TYPES[UA_TYPES_SIGNATUREDATA], /* .memberType */ + offsetof(UA_CreateSessionResponse, serverSignature) - offsetof(UA_CreateSessionResponse, serverSoftwareCertificates) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxRequestMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSessionResponse, maxRequestMessageSize) - offsetof(UA_CreateSessionResponse, serverSignature) - sizeof(UA_SignatureData), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* UserIdentityToken */ +static UA_DataTypeMember UserIdentityToken_members[1] = { +{ + UA_TYPENAME("PolicyId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AnonymousIdentityToken */ +static UA_DataTypeMember AnonymousIdentityToken_members[1] = { +{ + UA_TYPENAME("PolicyId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* UserNameIdentityToken */ +static UA_DataTypeMember UserNameIdentityToken_members[4] = { +{ + UA_TYPENAME("PolicyId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UserNameIdentityToken, userName) - offsetof(UA_UserNameIdentityToken, policyId) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Password") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_UserNameIdentityToken, password) - offsetof(UA_UserNameIdentityToken, userName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EncryptionAlgorithm") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UserNameIdentityToken, encryptionAlgorithm) - offsetof(UA_UserNameIdentityToken, password) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* X509IdentityToken */ +static UA_DataTypeMember X509IdentityToken_members[2] = { +{ + UA_TYPENAME("PolicyId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CertificateData") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_X509IdentityToken, certificateData) - offsetof(UA_X509IdentityToken, policyId) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* IssuedIdentityToken */ +static UA_DataTypeMember IssuedIdentityToken_members[3] = { +{ + UA_TYPENAME("PolicyId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TokenData") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_IssuedIdentityToken, tokenData) - offsetof(UA_IssuedIdentityToken, policyId) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EncryptionAlgorithm") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_IssuedIdentityToken, encryptionAlgorithm) - offsetof(UA_IssuedIdentityToken, tokenData) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* RsaEncryptedSecret */ +#define RsaEncryptedSecret_members NULL + +/* EccEncryptedSecret */ +#define EccEncryptedSecret_members NULL + +/* ActivateSessionRequest */ +static UA_DataTypeMember ActivateSessionRequest_members[6] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientSignature") /* .memberName */ + &UA_TYPES[UA_TYPES_SIGNATUREDATA], /* .memberType */ + offsetof(UA_ActivateSessionRequest, clientSignature) - offsetof(UA_ActivateSessionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientSoftwareCertificates") /* .memberName */ + &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE], /* .memberType */ + offsetof(UA_ActivateSessionRequest, clientSoftwareCertificatesSize) - offsetof(UA_ActivateSessionRequest, clientSignature) - sizeof(UA_SignatureData), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LocaleIds") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ActivateSessionRequest, localeIdsSize) - offsetof(UA_ActivateSessionRequest, clientSoftwareCertificates) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserIdentityToken") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_ActivateSessionRequest, userIdentityToken) - offsetof(UA_ActivateSessionRequest, localeIds) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserTokenSignature") /* .memberName */ + &UA_TYPES[UA_TYPES_SIGNATUREDATA], /* .memberType */ + offsetof(UA_ActivateSessionRequest, userTokenSignature) - offsetof(UA_ActivateSessionRequest, userIdentityToken) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ActivateSessionResponse */ +static UA_DataTypeMember ActivateSessionResponse_members[4] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerNonce") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_ActivateSessionResponse, serverNonce) - offsetof(UA_ActivateSessionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_ActivateSessionResponse, resultsSize) - offsetof(UA_ActivateSessionResponse, serverNonce) - sizeof(UA_ByteString), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ActivateSessionResponse, diagnosticInfosSize) - offsetof(UA_ActivateSessionResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CloseSessionRequest */ +static UA_DataTypeMember CloseSessionRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteSubscriptions") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_CloseSessionRequest, deleteSubscriptions) - offsetof(UA_CloseSessionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CloseSessionResponse */ +static UA_DataTypeMember CloseSessionResponse_members[1] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CancelRequest */ +static UA_DataTypeMember CancelRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestHandle") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CancelRequest, requestHandle) - offsetof(UA_CancelRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CancelResponse */ +static UA_DataTypeMember CancelResponse_members[2] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CancelCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CancelResponse, cancelCount) - offsetof(UA_CancelResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* NodeAttributesMask */ +#define NodeAttributesMask_members NULL + +/* NodeAttributes */ +static UA_DataTypeMember NodeAttributes_members[5] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_NodeAttributes, displayName) - offsetof(UA_NodeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_NodeAttributes, description) - offsetof(UA_NodeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_NodeAttributes, writeMask) - offsetof(UA_NodeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_NodeAttributes, userWriteMask) - offsetof(UA_NodeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ObjectAttributes */ +static UA_DataTypeMember ObjectAttributes_members[6] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ObjectAttributes, displayName) - offsetof(UA_ObjectAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ObjectAttributes, description) - offsetof(UA_ObjectAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ObjectAttributes, writeMask) - offsetof(UA_ObjectAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ObjectAttributes, userWriteMask) - offsetof(UA_ObjectAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventNotifier") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_ObjectAttributes, eventNotifier) - offsetof(UA_ObjectAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* VariableAttributes */ +static UA_DataTypeMember VariableAttributes_members[13] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_VariableAttributes, displayName) - offsetof(UA_VariableAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_VariableAttributes, description) - offsetof(UA_VariableAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_VariableAttributes, writeMask) - offsetof(UA_VariableAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_VariableAttributes, userWriteMask) - offsetof(UA_VariableAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_VariableAttributes, value) - offsetof(UA_VariableAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_VariableAttributes, dataType) - offsetof(UA_VariableAttributes, value) - sizeof(UA_Variant), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ValueRank") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_VariableAttributes, valueRank) - offsetof(UA_VariableAttributes, dataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ArrayDimensions") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_VariableAttributes, arrayDimensionsSize) - offsetof(UA_VariableAttributes, valueRank) - sizeof(UA_Int32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AccessLevel") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_VariableAttributes, accessLevel) - offsetof(UA_VariableAttributes, arrayDimensions) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserAccessLevel") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_VariableAttributes, userAccessLevel) - offsetof(UA_VariableAttributes, accessLevel) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MinimumSamplingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_VariableAttributes, minimumSamplingInterval) - offsetof(UA_VariableAttributes, userAccessLevel) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Historizing") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_VariableAttributes, historizing) - offsetof(UA_VariableAttributes, minimumSamplingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* MethodAttributes */ +static UA_DataTypeMember MethodAttributes_members[7] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_MethodAttributes, displayName) - offsetof(UA_MethodAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_MethodAttributes, description) - offsetof(UA_MethodAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_MethodAttributes, writeMask) - offsetof(UA_MethodAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_MethodAttributes, userWriteMask) - offsetof(UA_MethodAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Executable") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_MethodAttributes, executable) - offsetof(UA_MethodAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserExecutable") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_MethodAttributes, userExecutable) - offsetof(UA_MethodAttributes, executable) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ObjectTypeAttributes */ +static UA_DataTypeMember ObjectTypeAttributes_members[6] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ObjectTypeAttributes, displayName) - offsetof(UA_ObjectTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ObjectTypeAttributes, description) - offsetof(UA_ObjectTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ObjectTypeAttributes, writeMask) - offsetof(UA_ObjectTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ObjectTypeAttributes, userWriteMask) - offsetof(UA_ObjectTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsAbstract") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ObjectTypeAttributes, isAbstract) - offsetof(UA_ObjectTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* VariableTypeAttributes */ +static UA_DataTypeMember VariableTypeAttributes_members[10] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_VariableTypeAttributes, displayName) - offsetof(UA_VariableTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_VariableTypeAttributes, description) - offsetof(UA_VariableTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_VariableTypeAttributes, writeMask) - offsetof(UA_VariableTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_VariableTypeAttributes, userWriteMask) - offsetof(UA_VariableTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_VariableTypeAttributes, value) - offsetof(UA_VariableTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_VariableTypeAttributes, dataType) - offsetof(UA_VariableTypeAttributes, value) - sizeof(UA_Variant), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ValueRank") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_VariableTypeAttributes, valueRank) - offsetof(UA_VariableTypeAttributes, dataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ArrayDimensions") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_VariableTypeAttributes, arrayDimensionsSize) - offsetof(UA_VariableTypeAttributes, valueRank) - sizeof(UA_Int32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsAbstract") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_VariableTypeAttributes, isAbstract) - offsetof(UA_VariableTypeAttributes, arrayDimensions) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReferenceTypeAttributes */ +static UA_DataTypeMember ReferenceTypeAttributes_members[8] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, displayName) - offsetof(UA_ReferenceTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, description) - offsetof(UA_ReferenceTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, writeMask) - offsetof(UA_ReferenceTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, userWriteMask) - offsetof(UA_ReferenceTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsAbstract") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, isAbstract) - offsetof(UA_ReferenceTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Symmetric") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, symmetric) - offsetof(UA_ReferenceTypeAttributes, isAbstract) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("InverseName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ReferenceTypeAttributes, inverseName) - offsetof(UA_ReferenceTypeAttributes, symmetric) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataTypeAttributes */ +static UA_DataTypeMember DataTypeAttributes_members[6] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_DataTypeAttributes, displayName) - offsetof(UA_DataTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_DataTypeAttributes, description) - offsetof(UA_DataTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DataTypeAttributes, writeMask) - offsetof(UA_DataTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DataTypeAttributes, userWriteMask) - offsetof(UA_DataTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsAbstract") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DataTypeAttributes, isAbstract) - offsetof(UA_DataTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ViewAttributes */ +static UA_DataTypeMember ViewAttributes_members[7] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ViewAttributes, displayName) - offsetof(UA_ViewAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ViewAttributes, description) - offsetof(UA_ViewAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ViewAttributes, writeMask) - offsetof(UA_ViewAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ViewAttributes, userWriteMask) - offsetof(UA_ViewAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContainsNoLoops") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ViewAttributes, containsNoLoops) - offsetof(UA_ViewAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventNotifier") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_ViewAttributes, eventNotifier) - offsetof(UA_ViewAttributes, containsNoLoops) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* GenericAttributeValue */ +static UA_DataTypeMember GenericAttributeValue_members[2] = { +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_GenericAttributeValue, value) - offsetof(UA_GenericAttributeValue, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* GenericAttributes */ +static UA_DataTypeMember GenericAttributes_members[6] = { +{ + UA_TYPENAME("SpecifiedAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_GenericAttributes, displayName) - offsetof(UA_GenericAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_GenericAttributes, description) - offsetof(UA_GenericAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_GenericAttributes, writeMask) - offsetof(UA_GenericAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserWriteMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_GenericAttributes, userWriteMask) - offsetof(UA_GenericAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeValues") /* .memberName */ + &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE], /* .memberType */ + offsetof(UA_GenericAttributes, attributeValuesSize) - offsetof(UA_GenericAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddNodesItem */ +static UA_DataTypeMember AddNodesItem_members[7] = { +{ + UA_TYPENAME("ParentNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_AddNodesItem, referenceTypeId) - offsetof(UA_AddNodesItem, parentNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedNewNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_AddNodesItem, requestedNewNodeId) - offsetof(UA_AddNodesItem, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowseName") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_AddNodesItem, browseName) - offsetof(UA_AddNodesItem, requestedNewNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodeClass") /* .memberName */ + &UA_TYPES[UA_TYPES_NODECLASS], /* .memberType */ + offsetof(UA_AddNodesItem, nodeClass) - offsetof(UA_AddNodesItem, browseName) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodeAttributes") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_AddNodesItem, nodeAttributes) - offsetof(UA_AddNodesItem, nodeClass) - sizeof(UA_NodeClass), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TypeDefinition") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_AddNodesItem, typeDefinition) - offsetof(UA_AddNodesItem, nodeAttributes) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddNodesResult */ +static UA_DataTypeMember AddNodesResult_members[2] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AddedNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_AddNodesResult, addedNodeId) - offsetof(UA_AddNodesResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddNodesRequest */ +static UA_DataTypeMember AddNodesRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToAdd") /* .memberName */ + &UA_TYPES[UA_TYPES_ADDNODESITEM], /* .memberType */ + offsetof(UA_AddNodesRequest, nodesToAddSize) - offsetof(UA_AddNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddNodesResponse */ +static UA_DataTypeMember AddNodesResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_ADDNODESRESULT], /* .memberType */ + offsetof(UA_AddNodesResponse, resultsSize) - offsetof(UA_AddNodesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_AddNodesResponse, diagnosticInfosSize) - offsetof(UA_AddNodesResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddReferencesItem */ +static UA_DataTypeMember AddReferencesItem_members[6] = { +{ + UA_TYPENAME("SourceNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_AddReferencesItem, referenceTypeId) - offsetof(UA_AddReferencesItem, sourceNodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsForward") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_AddReferencesItem, isForward) - offsetof(UA_AddReferencesItem, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_AddReferencesItem, targetServerUri) - offsetof(UA_AddReferencesItem, isForward) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_AddReferencesItem, targetNodeId) - offsetof(UA_AddReferencesItem, targetServerUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetNodeClass") /* .memberName */ + &UA_TYPES[UA_TYPES_NODECLASS], /* .memberType */ + offsetof(UA_AddReferencesItem, targetNodeClass) - offsetof(UA_AddReferencesItem, targetNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddReferencesRequest */ +static UA_DataTypeMember AddReferencesRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferencesToAdd") /* .memberName */ + &UA_TYPES[UA_TYPES_ADDREFERENCESITEM], /* .memberType */ + offsetof(UA_AddReferencesRequest, referencesToAddSize) - offsetof(UA_AddReferencesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* AddReferencesResponse */ +static UA_DataTypeMember AddReferencesResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_AddReferencesResponse, resultsSize) - offsetof(UA_AddReferencesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_AddReferencesResponse, diagnosticInfosSize) - offsetof(UA_AddReferencesResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteNodesItem */ +static UA_DataTypeMember DeleteNodesItem_members[2] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteTargetReferences") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DeleteNodesItem, deleteTargetReferences) - offsetof(UA_DeleteNodesItem, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteNodesRequest */ +static UA_DataTypeMember DeleteNodesRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToDelete") /* .memberName */ + &UA_TYPES[UA_TYPES_DELETENODESITEM], /* .memberType */ + offsetof(UA_DeleteNodesRequest, nodesToDeleteSize) - offsetof(UA_DeleteNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteNodesResponse */ +static UA_DataTypeMember DeleteNodesResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_DeleteNodesResponse, resultsSize) - offsetof(UA_DeleteNodesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_DeleteNodesResponse, diagnosticInfosSize) - offsetof(UA_DeleteNodesResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteReferencesItem */ +static UA_DataTypeMember DeleteReferencesItem_members[5] = { +{ + UA_TYPENAME("SourceNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_DeleteReferencesItem, referenceTypeId) - offsetof(UA_DeleteReferencesItem, sourceNodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsForward") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DeleteReferencesItem, isForward) - offsetof(UA_DeleteReferencesItem, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_DeleteReferencesItem, targetNodeId) - offsetof(UA_DeleteReferencesItem, isForward) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteBidirectional") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DeleteReferencesItem, deleteBidirectional) - offsetof(UA_DeleteReferencesItem, targetNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteReferencesRequest */ +static UA_DataTypeMember DeleteReferencesRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferencesToDelete") /* .memberName */ + &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM], /* .memberType */ + offsetof(UA_DeleteReferencesRequest, referencesToDeleteSize) - offsetof(UA_DeleteReferencesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteReferencesResponse */ +static UA_DataTypeMember DeleteReferencesResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_DeleteReferencesResponse, resultsSize) - offsetof(UA_DeleteReferencesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_DeleteReferencesResponse, diagnosticInfosSize) - offsetof(UA_DeleteReferencesResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* AttributeWriteMask */ +#define AttributeWriteMask_members NULL + +/* BrowseDirection */ +#define BrowseDirection_members NULL + +/* ViewDescription */ +static UA_DataTypeMember ViewDescription_members[3] = { +{ + UA_TYPENAME("ViewId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Timestamp") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ViewDescription, timestamp) - offsetof(UA_ViewDescription, viewId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ViewVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ViewDescription, viewVersion) - offsetof(UA_ViewDescription, timestamp) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowseDescription */ +static UA_DataTypeMember BrowseDescription_members[6] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowseDirection") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSEDIRECTION], /* .memberType */ + offsetof(UA_BrowseDescription, browseDirection) - offsetof(UA_BrowseDescription, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_BrowseDescription, referenceTypeId) - offsetof(UA_BrowseDescription, browseDirection) - sizeof(UA_BrowseDirection), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IncludeSubtypes") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_BrowseDescription, includeSubtypes) - offsetof(UA_BrowseDescription, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodeClassMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_BrowseDescription, nodeClassMask) - offsetof(UA_BrowseDescription, includeSubtypes) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ResultMask") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_BrowseDescription, resultMask) - offsetof(UA_BrowseDescription, nodeClassMask) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowseResultMask */ +#define BrowseResultMask_members NULL + +/* ReferenceDescription */ +static UA_DataTypeMember ReferenceDescription_members[7] = { +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsForward") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReferenceDescription, isForward) - offsetof(UA_ReferenceDescription, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_ReferenceDescription, nodeId) - offsetof(UA_ReferenceDescription, isForward) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowseName") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_ReferenceDescription, browseName) - offsetof(UA_ReferenceDescription, nodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ReferenceDescription, displayName) - offsetof(UA_ReferenceDescription, browseName) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodeClass") /* .memberName */ + &UA_TYPES[UA_TYPES_NODECLASS], /* .memberType */ + offsetof(UA_ReferenceDescription, nodeClass) - offsetof(UA_ReferenceDescription, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TypeDefinition") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_ReferenceDescription, typeDefinition) - offsetof(UA_ReferenceDescription, nodeClass) - sizeof(UA_NodeClass), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ContinuationPoint */ +#define ContinuationPoint_members NULL + +/* BrowseResult */ +static UA_DataTypeMember BrowseResult_members[3] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_BrowseResult, continuationPoint) - offsetof(UA_BrowseResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("References") /* .memberName */ + &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION], /* .memberType */ + offsetof(UA_BrowseResult, referencesSize) - offsetof(UA_BrowseResult, continuationPoint) - sizeof(UA_ByteString), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowseRequest */ +static UA_DataTypeMember BrowseRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("View") /* .memberName */ + &UA_TYPES[UA_TYPES_VIEWDESCRIPTION], /* .memberType */ + offsetof(UA_BrowseRequest, view) - offsetof(UA_BrowseRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedMaxReferencesPerNode") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_BrowseRequest, requestedMaxReferencesPerNode) - offsetof(UA_BrowseRequest, view) - sizeof(UA_ViewDescription), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToBrowse") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION], /* .memberType */ + offsetof(UA_BrowseRequest, nodesToBrowseSize) - offsetof(UA_BrowseRequest, requestedMaxReferencesPerNode) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowseResponse */ +static UA_DataTypeMember BrowseResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSERESULT], /* .memberType */ + offsetof(UA_BrowseResponse, resultsSize) - offsetof(UA_BrowseResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_BrowseResponse, diagnosticInfosSize) - offsetof(UA_BrowseResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowseNextRequest */ +static UA_DataTypeMember BrowseNextRequest_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReleaseContinuationPoints") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_BrowseNextRequest, releaseContinuationPoints) - offsetof(UA_BrowseNextRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContinuationPoints") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_BrowseNextRequest, continuationPointsSize) - offsetof(UA_BrowseNextRequest, releaseContinuationPoints) - sizeof(UA_Boolean), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowseNextResponse */ +static UA_DataTypeMember BrowseNextResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSERESULT], /* .memberType */ + offsetof(UA_BrowseNextResponse, resultsSize) - offsetof(UA_BrowseNextResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_BrowseNextResponse, diagnosticInfosSize) - offsetof(UA_BrowseNextResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RelativePathElement */ +static UA_DataTypeMember RelativePathElement_members[4] = { +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsInverse") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_RelativePathElement, isInverse) - offsetof(UA_RelativePathElement, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IncludeSubtypes") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_RelativePathElement, includeSubtypes) - offsetof(UA_RelativePathElement, isInverse) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetName") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_RelativePathElement, targetName) - offsetof(UA_RelativePathElement, includeSubtypes) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* RelativePath */ +static UA_DataTypeMember RelativePath_members[1] = { +{ + UA_TYPENAME("Elements") /* .memberName */ + &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowsePath */ +static UA_DataTypeMember BrowsePath_members[2] = { +{ + UA_TYPENAME("StartingNode") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RelativePath") /* .memberName */ + &UA_TYPES[UA_TYPES_RELATIVEPATH], /* .memberType */ + offsetof(UA_BrowsePath, relativePath) - offsetof(UA_BrowsePath, startingNode) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowsePathTarget */ +static UA_DataTypeMember BrowsePathTarget_members[2] = { +{ + UA_TYPENAME("TargetId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RemainingPathIndex") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_BrowsePathTarget, remainingPathIndex) - offsetof(UA_BrowsePathTarget, targetId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* BrowsePathResult */ +static UA_DataTypeMember BrowsePathResult_members[2] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Targets") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSEPATHTARGET], /* .memberType */ + offsetof(UA_BrowsePathResult, targetsSize) - offsetof(UA_BrowsePathResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* TranslateBrowsePathsToNodeIdsRequest */ +static UA_DataTypeMember TranslateBrowsePathsToNodeIdsRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowsePaths") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSEPATH], /* .memberType */ + offsetof(UA_TranslateBrowsePathsToNodeIdsRequest, browsePathsSize) - offsetof(UA_TranslateBrowsePathsToNodeIdsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* TranslateBrowsePathsToNodeIdsResponse */ +static UA_DataTypeMember TranslateBrowsePathsToNodeIdsResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_BROWSEPATHRESULT], /* .memberType */ + offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, resultsSize) - offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, diagnosticInfosSize) - offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisterNodesRequest */ +static UA_DataTypeMember RegisterNodesRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToRegister") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_RegisterNodesRequest, nodesToRegisterSize) - offsetof(UA_RegisterNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RegisterNodesResponse */ +static UA_DataTypeMember RegisterNodesResponse_members[2] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RegisteredNodeIds") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_RegisterNodesResponse, registeredNodeIdsSize) - offsetof(UA_RegisterNodesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* UnregisterNodesRequest */ +static UA_DataTypeMember UnregisterNodesRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToUnregister") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_UnregisterNodesRequest, nodesToUnregisterSize) - offsetof(UA_UnregisterNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* UnregisterNodesResponse */ +static UA_DataTypeMember UnregisterNodesResponse_members[1] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* Counter */ +#define Counter_members NULL + +/* OpaqueNumericRange */ +#define OpaqueNumericRange_members NULL + +/* EndpointConfiguration */ +static UA_DataTypeMember EndpointConfiguration_members[9] = { +{ + UA_TYPENAME("OperationTimeout") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UseBinaryEncoding") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_EndpointConfiguration, useBinaryEncoding) - offsetof(UA_EndpointConfiguration, operationTimeout) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxStringLength") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, maxStringLength) - offsetof(UA_EndpointConfiguration, useBinaryEncoding) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxByteStringLength") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, maxByteStringLength) - offsetof(UA_EndpointConfiguration, maxStringLength) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxArrayLength") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, maxArrayLength) - offsetof(UA_EndpointConfiguration, maxByteStringLength) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, maxMessageSize) - offsetof(UA_EndpointConfiguration, maxArrayLength) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxBufferSize") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, maxBufferSize) - offsetof(UA_EndpointConfiguration, maxMessageSize) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ChannelLifetime") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, channelLifetime) - offsetof(UA_EndpointConfiguration, maxBufferSize) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityTokenLifetime") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EndpointConfiguration, securityTokenLifetime) - offsetof(UA_EndpointConfiguration, channelLifetime) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* QueryDataDescription */ +static UA_DataTypeMember QueryDataDescription_members[3] = { +{ + UA_TYPENAME("RelativePath") /* .memberName */ + &UA_TYPES[UA_TYPES_RELATIVEPATH], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_QueryDataDescription, attributeId) - offsetof(UA_QueryDataDescription, relativePath) - sizeof(UA_RelativePath), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_QueryDataDescription, indexRange) - offsetof(UA_QueryDataDescription, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* NodeTypeDescription */ +static UA_DataTypeMember NodeTypeDescription_members[3] = { +{ + UA_TYPENAME("TypeDefinitionNode") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IncludeSubTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_NodeTypeDescription, includeSubTypes) - offsetof(UA_NodeTypeDescription, typeDefinitionNode) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION], /* .memberType */ + offsetof(UA_NodeTypeDescription, dataToReturnSize) - offsetof(UA_NodeTypeDescription, includeSubTypes) - sizeof(UA_Boolean), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* FilterOperator */ +#define FilterOperator_members NULL + +/* QueryDataSet */ +static UA_DataTypeMember QueryDataSet_members[3] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TypeDefinitionNode") /* .memberName */ + &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ + offsetof(UA_QueryDataSet, typeDefinitionNode) - offsetof(UA_QueryDataSet, nodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Values") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_QueryDataSet, valuesSize) - offsetof(UA_QueryDataSet, typeDefinitionNode) - sizeof(UA_ExpandedNodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* NodeReference */ +static UA_DataTypeMember NodeReference_members[4] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferenceTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_NodeReference, referenceTypeId) - offsetof(UA_NodeReference, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsForward") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_NodeReference, isForward) - offsetof(UA_NodeReference, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReferencedNodeIds") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_NodeReference, referencedNodeIdsSize) - offsetof(UA_NodeReference, isForward) - sizeof(UA_Boolean), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ContentFilterElement */ +static UA_DataTypeMember ContentFilterElement_members[2] = { +{ + UA_TYPENAME("FilterOperator") /* .memberName */ + &UA_TYPES[UA_TYPES_FILTEROPERATOR], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("FilterOperands") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_ContentFilterElement, filterOperandsSize) - offsetof(UA_ContentFilterElement, filterOperator) - sizeof(UA_FilterOperator), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ContentFilter */ +static UA_DataTypeMember ContentFilter_members[1] = { +{ + UA_TYPENAME("Elements") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ElementOperand */ +static UA_DataTypeMember ElementOperand_members[1] = { +{ + UA_TYPENAME("Index") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* LiteralOperand */ +static UA_DataTypeMember LiteralOperand_members[1] = { +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AttributeOperand */ +static UA_DataTypeMember AttributeOperand_members[5] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Alias") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_AttributeOperand, alias) - offsetof(UA_AttributeOperand, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowsePath") /* .memberName */ + &UA_TYPES[UA_TYPES_RELATIVEPATH], /* .memberType */ + offsetof(UA_AttributeOperand, browsePath) - offsetof(UA_AttributeOperand, alias) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_AttributeOperand, attributeId) - offsetof(UA_AttributeOperand, browsePath) - sizeof(UA_RelativePath), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_AttributeOperand, indexRange) - offsetof(UA_AttributeOperand, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SimpleAttributeOperand */ +static UA_DataTypeMember SimpleAttributeOperand_members[4] = { +{ + UA_TYPENAME("TypeDefinitionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowsePath") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_SimpleAttributeOperand, browsePathSize) - offsetof(UA_SimpleAttributeOperand, typeDefinitionId) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SimpleAttributeOperand, attributeId) - offsetof(UA_SimpleAttributeOperand, browsePath) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SimpleAttributeOperand, indexRange) - offsetof(UA_SimpleAttributeOperand, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ContentFilterElementResult */ +static UA_DataTypeMember ContentFilterElementResult_members[3] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("OperandStatusCodes") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_ContentFilterElementResult, operandStatusCodesSize) - offsetof(UA_ContentFilterElementResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("OperandDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ContentFilterElementResult, operandDiagnosticInfosSize) - offsetof(UA_ContentFilterElementResult, operandStatusCodes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ContentFilterResult */ +static UA_DataTypeMember ContentFilterResult_members[2] = { +{ + UA_TYPENAME("ElementResults") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ElementDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ContentFilterResult, elementDiagnosticInfosSize) - offsetof(UA_ContentFilterResult, elementResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ParsingResult */ +static UA_DataTypeMember ParsingResult_members[3] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataStatusCodes") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_ParsingResult, dataStatusCodesSize) - offsetof(UA_ParsingResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ParsingResult, dataDiagnosticInfosSize) - offsetof(UA_ParsingResult, dataStatusCodes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* QueryFirstRequest */ +static UA_DataTypeMember QueryFirstRequest_members[6] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("View") /* .memberName */ + &UA_TYPES[UA_TYPES_VIEWDESCRIPTION], /* .memberType */ + offsetof(UA_QueryFirstRequest, view) - offsetof(UA_QueryFirstRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodeTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION], /* .memberType */ + offsetof(UA_QueryFirstRequest, nodeTypesSize) - offsetof(UA_QueryFirstRequest, view) - sizeof(UA_ViewDescription), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Filter") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTER], /* .memberType */ + offsetof(UA_QueryFirstRequest, filter) - offsetof(UA_QueryFirstRequest, nodeTypes) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxDataSetsToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_QueryFirstRequest, maxDataSetsToReturn) - offsetof(UA_QueryFirstRequest, filter) - sizeof(UA_ContentFilter), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxReferencesToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_QueryFirstRequest, maxReferencesToReturn) - offsetof(UA_QueryFirstRequest, maxDataSetsToReturn) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* QueryFirstResponse */ +static UA_DataTypeMember QueryFirstResponse_members[6] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QueryDataSets") /* .memberName */ + &UA_TYPES[UA_TYPES_QUERYDATASET], /* .memberType */ + offsetof(UA_QueryFirstResponse, queryDataSetsSize) - offsetof(UA_QueryFirstResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_QueryFirstResponse, continuationPoint) - offsetof(UA_QueryFirstResponse, queryDataSets) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ParsingResults") /* .memberName */ + &UA_TYPES[UA_TYPES_PARSINGRESULT], /* .memberType */ + offsetof(UA_QueryFirstResponse, parsingResultsSize) - offsetof(UA_QueryFirstResponse, continuationPoint) - sizeof(UA_ByteString), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_QueryFirstResponse, diagnosticInfosSize) - offsetof(UA_QueryFirstResponse, parsingResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("FilterResult") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT], /* .memberType */ + offsetof(UA_QueryFirstResponse, filterResult) - offsetof(UA_QueryFirstResponse, diagnosticInfos) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* QueryNextRequest */ +static UA_DataTypeMember QueryNextRequest_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReleaseContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_QueryNextRequest, releaseContinuationPoint) - offsetof(UA_QueryNextRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_QueryNextRequest, continuationPoint) - offsetof(UA_QueryNextRequest, releaseContinuationPoint) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* QueryNextResponse */ +static UA_DataTypeMember QueryNextResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QueryDataSets") /* .memberName */ + &UA_TYPES[UA_TYPES_QUERYDATASET], /* .memberType */ + offsetof(UA_QueryNextResponse, queryDataSetsSize) - offsetof(UA_QueryNextResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_QueryNextResponse, revisedContinuationPoint) - offsetof(UA_QueryNextResponse, queryDataSets) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TimestampsToReturn */ +#define TimestampsToReturn_members NULL + +/* ReadValueId */ +static UA_DataTypeMember ReadValueId_members[4] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ReadValueId, attributeId) - offsetof(UA_ReadValueId, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ReadValueId, indexRange) - offsetof(UA_ReadValueId, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataEncoding") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_ReadValueId, dataEncoding) - offsetof(UA_ReadValueId, indexRange) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadRequest */ +static UA_DataTypeMember ReadRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxAge") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ReadRequest, maxAge) - offsetof(UA_ReadRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TimestampsToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ + offsetof(UA_ReadRequest, timestampsToReturn) - offsetof(UA_ReadRequest, maxAge) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToRead") /* .memberName */ + &UA_TYPES[UA_TYPES_READVALUEID], /* .memberType */ + offsetof(UA_ReadRequest, nodesToReadSize) - offsetof(UA_ReadRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadResponse */ +static UA_DataTypeMember ReadResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + offsetof(UA_ReadResponse, resultsSize) - offsetof(UA_ReadResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ReadResponse, diagnosticInfosSize) - offsetof(UA_ReadResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryReadValueId */ +static UA_DataTypeMember HistoryReadValueId_members[4] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_HistoryReadValueId, indexRange) - offsetof(UA_HistoryReadValueId, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataEncoding") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_HistoryReadValueId, dataEncoding) - offsetof(UA_HistoryReadValueId, indexRange) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_HistoryReadValueId, continuationPoint) - offsetof(UA_HistoryReadValueId, dataEncoding) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryReadResult */ +static UA_DataTypeMember HistoryReadResult_members[3] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ContinuationPoint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_HistoryReadResult, continuationPoint) - offsetof(UA_HistoryReadResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HistoryData") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_HistoryReadResult, historyData) - offsetof(UA_HistoryReadResult, continuationPoint) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadRawModifiedDetails */ +static UA_DataTypeMember ReadRawModifiedDetails_members[5] = { +{ + UA_TYPENAME("IsReadModified") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ReadRawModifiedDetails, startTime) - offsetof(UA_ReadRawModifiedDetails, isReadModified) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ReadRawModifiedDetails, endTime) - offsetof(UA_ReadRawModifiedDetails, startTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NumValuesPerNode") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ReadRawModifiedDetails, numValuesPerNode) - offsetof(UA_ReadRawModifiedDetails, endTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReturnBounds") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReadRawModifiedDetails, returnBounds) - offsetof(UA_ReadRawModifiedDetails, numValuesPerNode) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadAtTimeDetails */ +static UA_DataTypeMember ReadAtTimeDetails_members[2] = { +{ + UA_TYPENAME("ReqTimes") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UseSimpleBounds") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReadAtTimeDetails, useSimpleBounds) - offsetof(UA_ReadAtTimeDetails, reqTimes) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadAnnotationDataDetails */ +static UA_DataTypeMember ReadAnnotationDataDetails_members[1] = { +{ + UA_TYPENAME("ReqTimes") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryData */ +static UA_DataTypeMember HistoryData_members[1] = { +{ + UA_TYPENAME("DataValues") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryReadRequest */ +static UA_DataTypeMember HistoryReadRequest_members[5] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HistoryReadDetails") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_HistoryReadRequest, historyReadDetails) - offsetof(UA_HistoryReadRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TimestampsToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ + offsetof(UA_HistoryReadRequest, timestampsToReturn) - offsetof(UA_HistoryReadRequest, historyReadDetails) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReleaseContinuationPoints") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_HistoryReadRequest, releaseContinuationPoints) - offsetof(UA_HistoryReadRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToRead") /* .memberName */ + &UA_TYPES[UA_TYPES_HISTORYREADVALUEID], /* .memberType */ + offsetof(UA_HistoryReadRequest, nodesToReadSize) - offsetof(UA_HistoryReadRequest, releaseContinuationPoints) - sizeof(UA_Boolean), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryReadResponse */ +static UA_DataTypeMember HistoryReadResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_HISTORYREADRESULT], /* .memberType */ + offsetof(UA_HistoryReadResponse, resultsSize) - offsetof(UA_HistoryReadResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_HistoryReadResponse, diagnosticInfosSize) - offsetof(UA_HistoryReadResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* WriteValue */ +static UA_DataTypeMember WriteValue_members[4] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_WriteValue, attributeId) - offsetof(UA_WriteValue, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_WriteValue, indexRange) - offsetof(UA_WriteValue, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + offsetof(UA_WriteValue, value) - offsetof(UA_WriteValue, indexRange) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* WriteRequest */ +static UA_DataTypeMember WriteRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NodesToWrite") /* .memberName */ + &UA_TYPES[UA_TYPES_WRITEVALUE], /* .memberType */ + offsetof(UA_WriteRequest, nodesToWriteSize) - offsetof(UA_WriteRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* WriteResponse */ +static UA_DataTypeMember WriteResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_WriteResponse, resultsSize) - offsetof(UA_WriteResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_WriteResponse, diagnosticInfosSize) - offsetof(UA_WriteResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryUpdateDetails */ +static UA_DataTypeMember HistoryUpdateDetails_members[1] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryUpdateType */ +#define HistoryUpdateType_members NULL + +/* PerformUpdateType */ +#define PerformUpdateType_members NULL + +/* UpdateDataDetails */ +static UA_DataTypeMember UpdateDataDetails_members[3] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PerformInsertReplace") /* .memberName */ + &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE], /* .memberType */ + offsetof(UA_UpdateDataDetails, performInsertReplace) - offsetof(UA_UpdateDataDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UpdateValues") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + offsetof(UA_UpdateDataDetails, updateValuesSize) - offsetof(UA_UpdateDataDetails, performInsertReplace) - sizeof(UA_PerformUpdateType), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* UpdateStructureDataDetails */ +static UA_DataTypeMember UpdateStructureDataDetails_members[3] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PerformInsertReplace") /* .memberName */ + &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE], /* .memberType */ + offsetof(UA_UpdateStructureDataDetails, performInsertReplace) - offsetof(UA_UpdateStructureDataDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UpdateValues") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + offsetof(UA_UpdateStructureDataDetails, updateValuesSize) - offsetof(UA_UpdateStructureDataDetails, performInsertReplace) - sizeof(UA_PerformUpdateType), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteRawModifiedDetails */ +static UA_DataTypeMember DeleteRawModifiedDetails_members[4] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("IsDeleteModified") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DeleteRawModifiedDetails, isDeleteModified) - offsetof(UA_DeleteRawModifiedDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_DeleteRawModifiedDetails, startTime) - offsetof(UA_DeleteRawModifiedDetails, isDeleteModified) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_DeleteRawModifiedDetails, endTime) - offsetof(UA_DeleteRawModifiedDetails, startTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteAtTimeDetails */ +static UA_DataTypeMember DeleteAtTimeDetails_members[2] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReqTimes") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_DeleteAtTimeDetails, reqTimesSize) - offsetof(UA_DeleteAtTimeDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteEventDetails */ +static UA_DataTypeMember DeleteEventDetails_members[2] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventIds") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_DeleteEventDetails, eventIdsSize) - offsetof(UA_DeleteEventDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryUpdateResult */ +static UA_DataTypeMember HistoryUpdateResult_members[3] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("OperationResults") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_HistoryUpdateResult, operationResultsSize) - offsetof(UA_HistoryUpdateResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_HistoryUpdateResult, diagnosticInfosSize) - offsetof(UA_HistoryUpdateResult, operationResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryUpdateRequest */ +static UA_DataTypeMember HistoryUpdateRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HistoryUpdateDetails") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_HistoryUpdateRequest, historyUpdateDetailsSize) - offsetof(UA_HistoryUpdateRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryUpdateResponse */ +static UA_DataTypeMember HistoryUpdateResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT], /* .memberType */ + offsetof(UA_HistoryUpdateResponse, resultsSize) - offsetof(UA_HistoryUpdateResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_HistoryUpdateResponse, diagnosticInfosSize) - offsetof(UA_HistoryUpdateResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CallMethodRequest */ +static UA_DataTypeMember CallMethodRequest_members[3] = { +{ + UA_TYPENAME("ObjectId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MethodId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_CallMethodRequest, methodId) - offsetof(UA_CallMethodRequest, objectId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("InputArguments") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_CallMethodRequest, inputArgumentsSize) - offsetof(UA_CallMethodRequest, methodId) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CallMethodResult */ +static UA_DataTypeMember CallMethodResult_members[4] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("InputArgumentResults") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_CallMethodResult, inputArgumentResultsSize) - offsetof(UA_CallMethodResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("InputArgumentDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_CallMethodResult, inputArgumentDiagnosticInfosSize) - offsetof(UA_CallMethodResult, inputArgumentResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("OutputArguments") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_CallMethodResult, outputArgumentsSize) - offsetof(UA_CallMethodResult, inputArgumentDiagnosticInfos) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CallRequest */ +static UA_DataTypeMember CallRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MethodsToCall") /* .memberName */ + &UA_TYPES[UA_TYPES_CALLMETHODREQUEST], /* .memberType */ + offsetof(UA_CallRequest, methodsToCallSize) - offsetof(UA_CallRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CallResponse */ +static UA_DataTypeMember CallResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_CALLMETHODRESULT], /* .memberType */ + offsetof(UA_CallResponse, resultsSize) - offsetof(UA_CallResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_CallResponse, diagnosticInfosSize) - offsetof(UA_CallResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoringMode */ +#define MonitoringMode_members NULL + +/* DataChangeTrigger */ +#define DataChangeTrigger_members NULL + +/* DeadbandType */ +#define DeadbandType_members NULL + +/* DataChangeFilter */ +static UA_DataTypeMember DataChangeFilter_members[3] = { +{ + UA_TYPENAME("Trigger") /* .memberName */ + &UA_TYPES[UA_TYPES_DATACHANGETRIGGER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeadbandType") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DataChangeFilter, deadbandType) - offsetof(UA_DataChangeFilter, trigger) - sizeof(UA_DataChangeTrigger), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeadbandValue") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_DataChangeFilter, deadbandValue) - offsetof(UA_DataChangeFilter, deadbandType) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EventFilter */ +static UA_DataTypeMember EventFilter_members[2] = { +{ + UA_TYPENAME("SelectClauses") /* .memberName */ + &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WhereClause") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTER], /* .memberType */ + offsetof(UA_EventFilter, whereClause) - offsetof(UA_EventFilter, selectClauses) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AggregateConfiguration */ +static UA_DataTypeMember AggregateConfiguration_members[5] = { +{ + UA_TYPENAME("UseServerCapabilitiesDefaults") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TreatUncertainAsBad") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_AggregateConfiguration, treatUncertainAsBad) - offsetof(UA_AggregateConfiguration, useServerCapabilitiesDefaults) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PercentDataBad") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_AggregateConfiguration, percentDataBad) - offsetof(UA_AggregateConfiguration, treatUncertainAsBad) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PercentDataGood") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_AggregateConfiguration, percentDataGood) - offsetof(UA_AggregateConfiguration, percentDataBad) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UseSlopedExtrapolation") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_AggregateConfiguration, useSlopedExtrapolation) - offsetof(UA_AggregateConfiguration, percentDataGood) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AggregateFilter */ +static UA_DataTypeMember AggregateFilter_members[4] = { +{ + UA_TYPENAME("StartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AggregateType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_AggregateFilter, aggregateType) - offsetof(UA_AggregateFilter, startTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProcessingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_AggregateFilter, processingInterval) - offsetof(UA_AggregateFilter, aggregateType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AggregateConfiguration") /* .memberName */ + &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION], /* .memberType */ + offsetof(UA_AggregateFilter, aggregateConfiguration) - offsetof(UA_AggregateFilter, processingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EventFilterResult */ +static UA_DataTypeMember EventFilterResult_members[3] = { +{ + UA_TYPENAME("SelectClauseResults") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SelectClauseDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_EventFilterResult, selectClauseDiagnosticInfosSize) - offsetof(UA_EventFilterResult, selectClauseResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WhereClauseResult") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT], /* .memberType */ + offsetof(UA_EventFilterResult, whereClauseResult) - offsetof(UA_EventFilterResult, selectClauseDiagnosticInfos) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AggregateFilterResult */ +static UA_DataTypeMember AggregateFilterResult_members[3] = { +{ + UA_TYPENAME("RevisedStartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedProcessingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_AggregateFilterResult, revisedProcessingInterval) - offsetof(UA_AggregateFilterResult, revisedStartTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedAggregateConfiguration") /* .memberName */ + &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION], /* .memberType */ + offsetof(UA_AggregateFilterResult, revisedAggregateConfiguration) - offsetof(UA_AggregateFilterResult, revisedProcessingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoringParameters */ +static UA_DataTypeMember MonitoringParameters_members[5] = { +{ + UA_TYPENAME("ClientHandle") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SamplingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_MonitoringParameters, samplingInterval) - offsetof(UA_MonitoringParameters, clientHandle) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Filter") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_MonitoringParameters, filter) - offsetof(UA_MonitoringParameters, samplingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QueueSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_MonitoringParameters, queueSize) - offsetof(UA_MonitoringParameters, filter) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscardOldest") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_MonitoringParameters, discardOldest) - offsetof(UA_MonitoringParameters, queueSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoredItemCreateRequest */ +static UA_DataTypeMember MonitoredItemCreateRequest_members[3] = { +{ + UA_TYPENAME("ItemToMonitor") /* .memberName */ + &UA_TYPES[UA_TYPES_READVALUEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoringMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITORINGMODE], /* .memberType */ + offsetof(UA_MonitoredItemCreateRequest, monitoringMode) - offsetof(UA_MonitoredItemCreateRequest, itemToMonitor) - sizeof(UA_ReadValueId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedParameters") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS], /* .memberType */ + offsetof(UA_MonitoredItemCreateRequest, requestedParameters) - offsetof(UA_MonitoredItemCreateRequest, monitoringMode) - sizeof(UA_MonitoringMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoredItemCreateResult */ +static UA_DataTypeMember MonitoredItemCreateResult_members[5] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoredItemId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_MonitoredItemCreateResult, monitoredItemId) - offsetof(UA_MonitoredItemCreateResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedSamplingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_MonitoredItemCreateResult, revisedSamplingInterval) - offsetof(UA_MonitoredItemCreateResult, monitoredItemId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedQueueSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_MonitoredItemCreateResult, revisedQueueSize) - offsetof(UA_MonitoredItemCreateResult, revisedSamplingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("FilterResult") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_MonitoredItemCreateResult, filterResult) - offsetof(UA_MonitoredItemCreateResult, revisedQueueSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CreateMonitoredItemsRequest */ +static UA_DataTypeMember CreateMonitoredItemsRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateMonitoredItemsRequest, subscriptionId) - offsetof(UA_CreateMonitoredItemsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TimestampsToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ + offsetof(UA_CreateMonitoredItemsRequest, timestampsToReturn) - offsetof(UA_CreateMonitoredItemsRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ItemsToCreate") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST], /* .memberType */ + offsetof(UA_CreateMonitoredItemsRequest, itemsToCreateSize) - offsetof(UA_CreateMonitoredItemsRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CreateMonitoredItemsResponse */ +static UA_DataTypeMember CreateMonitoredItemsResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT], /* .memberType */ + offsetof(UA_CreateMonitoredItemsResponse, resultsSize) - offsetof(UA_CreateMonitoredItemsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_CreateMonitoredItemsResponse, diagnosticInfosSize) - offsetof(UA_CreateMonitoredItemsResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoredItemModifyRequest */ +static UA_DataTypeMember MonitoredItemModifyRequest_members[2] = { +{ + UA_TYPENAME("MonitoredItemId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedParameters") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS], /* .memberType */ + offsetof(UA_MonitoredItemModifyRequest, requestedParameters) - offsetof(UA_MonitoredItemModifyRequest, monitoredItemId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoredItemModifyResult */ +static UA_DataTypeMember MonitoredItemModifyResult_members[4] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedSamplingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_MonitoredItemModifyResult, revisedSamplingInterval) - offsetof(UA_MonitoredItemModifyResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedQueueSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_MonitoredItemModifyResult, revisedQueueSize) - offsetof(UA_MonitoredItemModifyResult, revisedSamplingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("FilterResult") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_MonitoredItemModifyResult, filterResult) - offsetof(UA_MonitoredItemModifyResult, revisedQueueSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ModifyMonitoredItemsRequest */ +static UA_DataTypeMember ModifyMonitoredItemsRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifyMonitoredItemsRequest, subscriptionId) - offsetof(UA_ModifyMonitoredItemsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TimestampsToReturn") /* .memberName */ + &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ + offsetof(UA_ModifyMonitoredItemsRequest, timestampsToReturn) - offsetof(UA_ModifyMonitoredItemsRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ItemsToModify") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST], /* .memberType */ + offsetof(UA_ModifyMonitoredItemsRequest, itemsToModifySize) - offsetof(UA_ModifyMonitoredItemsRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ModifyMonitoredItemsResponse */ +static UA_DataTypeMember ModifyMonitoredItemsResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT], /* .memberType */ + offsetof(UA_ModifyMonitoredItemsResponse, resultsSize) - offsetof(UA_ModifyMonitoredItemsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_ModifyMonitoredItemsResponse, diagnosticInfosSize) - offsetof(UA_ModifyMonitoredItemsResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SetMonitoringModeRequest */ +static UA_DataTypeMember SetMonitoringModeRequest_members[4] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetMonitoringModeRequest, subscriptionId) - offsetof(UA_SetMonitoringModeRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoringMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITORINGMODE], /* .memberType */ + offsetof(UA_SetMonitoringModeRequest, monitoringMode) - offsetof(UA_SetMonitoringModeRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoredItemIds") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetMonitoringModeRequest, monitoredItemIdsSize) - offsetof(UA_SetMonitoringModeRequest, monitoringMode) - sizeof(UA_MonitoringMode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SetMonitoringModeResponse */ +static UA_DataTypeMember SetMonitoringModeResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_SetMonitoringModeResponse, resultsSize) - offsetof(UA_SetMonitoringModeResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_SetMonitoringModeResponse, diagnosticInfosSize) - offsetof(UA_SetMonitoringModeResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SetTriggeringRequest */ +static UA_DataTypeMember SetTriggeringRequest_members[5] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetTriggeringRequest, subscriptionId) - offsetof(UA_SetTriggeringRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TriggeringItemId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetTriggeringRequest, triggeringItemId) - offsetof(UA_SetTriggeringRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LinksToAdd") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetTriggeringRequest, linksToAddSize) - offsetof(UA_SetTriggeringRequest, triggeringItemId) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LinksToRemove") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetTriggeringRequest, linksToRemoveSize) - offsetof(UA_SetTriggeringRequest, linksToAdd) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SetTriggeringResponse */ +static UA_DataTypeMember SetTriggeringResponse_members[5] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AddResults") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_SetTriggeringResponse, addResultsSize) - offsetof(UA_SetTriggeringResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AddDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_SetTriggeringResponse, addDiagnosticInfosSize) - offsetof(UA_SetTriggeringResponse, addResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RemoveResults") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_SetTriggeringResponse, removeResultsSize) - offsetof(UA_SetTriggeringResponse, addDiagnosticInfos) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RemoveDiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_SetTriggeringResponse, removeDiagnosticInfosSize) - offsetof(UA_SetTriggeringResponse, removeResults) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteMonitoredItemsRequest */ +static UA_DataTypeMember DeleteMonitoredItemsRequest_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DeleteMonitoredItemsRequest, subscriptionId) - offsetof(UA_DeleteMonitoredItemsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoredItemIds") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DeleteMonitoredItemsRequest, monitoredItemIdsSize) - offsetof(UA_DeleteMonitoredItemsRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteMonitoredItemsResponse */ +static UA_DataTypeMember DeleteMonitoredItemsResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_DeleteMonitoredItemsResponse, resultsSize) - offsetof(UA_DeleteMonitoredItemsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_DeleteMonitoredItemsResponse, diagnosticInfosSize) - offsetof(UA_DeleteMonitoredItemsResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* CreateSubscriptionRequest */ +static UA_DataTypeMember CreateSubscriptionRequest_members[7] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedPublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_CreateSubscriptionRequest, requestedPublishingInterval) - offsetof(UA_CreateSubscriptionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedLifetimeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSubscriptionRequest, requestedLifetimeCount) - offsetof(UA_CreateSubscriptionRequest, requestedPublishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedMaxKeepAliveCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSubscriptionRequest, requestedMaxKeepAliveCount) - offsetof(UA_CreateSubscriptionRequest, requestedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxNotificationsPerPublish") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSubscriptionRequest, maxNotificationsPerPublish) - offsetof(UA_CreateSubscriptionRequest, requestedMaxKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingEnabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_CreateSubscriptionRequest, publishingEnabled) - offsetof(UA_CreateSubscriptionRequest, maxNotificationsPerPublish) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Priority") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_CreateSubscriptionRequest, priority) - offsetof(UA_CreateSubscriptionRequest, publishingEnabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* CreateSubscriptionResponse */ +static UA_DataTypeMember CreateSubscriptionResponse_members[5] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSubscriptionResponse, subscriptionId) - offsetof(UA_CreateSubscriptionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedPublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_CreateSubscriptionResponse, revisedPublishingInterval) - offsetof(UA_CreateSubscriptionResponse, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedLifetimeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSubscriptionResponse, revisedLifetimeCount) - offsetof(UA_CreateSubscriptionResponse, revisedPublishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedMaxKeepAliveCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_CreateSubscriptionResponse, revisedMaxKeepAliveCount) - offsetof(UA_CreateSubscriptionResponse, revisedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ModifySubscriptionRequest */ +static UA_DataTypeMember ModifySubscriptionRequest_members[7] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifySubscriptionRequest, subscriptionId) - offsetof(UA_ModifySubscriptionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedPublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ModifySubscriptionRequest, requestedPublishingInterval) - offsetof(UA_ModifySubscriptionRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedLifetimeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifySubscriptionRequest, requestedLifetimeCount) - offsetof(UA_ModifySubscriptionRequest, requestedPublishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedMaxKeepAliveCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifySubscriptionRequest, requestedMaxKeepAliveCount) - offsetof(UA_ModifySubscriptionRequest, requestedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxNotificationsPerPublish") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifySubscriptionRequest, maxNotificationsPerPublish) - offsetof(UA_ModifySubscriptionRequest, requestedMaxKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Priority") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_ModifySubscriptionRequest, priority) - offsetof(UA_ModifySubscriptionRequest, maxNotificationsPerPublish) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ModifySubscriptionResponse */ +static UA_DataTypeMember ModifySubscriptionResponse_members[4] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedPublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ModifySubscriptionResponse, revisedPublishingInterval) - offsetof(UA_ModifySubscriptionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedLifetimeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifySubscriptionResponse, revisedLifetimeCount) - offsetof(UA_ModifySubscriptionResponse, revisedPublishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RevisedMaxKeepAliveCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ModifySubscriptionResponse, revisedMaxKeepAliveCount) - offsetof(UA_ModifySubscriptionResponse, revisedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SetPublishingModeRequest */ +static UA_DataTypeMember SetPublishingModeRequest_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingEnabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_SetPublishingModeRequest, publishingEnabled) - offsetof(UA_SetPublishingModeRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionIds") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SetPublishingModeRequest, subscriptionIdsSize) - offsetof(UA_SetPublishingModeRequest, publishingEnabled) - sizeof(UA_Boolean), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SetPublishingModeResponse */ +static UA_DataTypeMember SetPublishingModeResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_SetPublishingModeResponse, resultsSize) - offsetof(UA_SetPublishingModeResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_SetPublishingModeResponse, diagnosticInfosSize) - offsetof(UA_SetPublishingModeResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* NotificationMessage */ +static UA_DataTypeMember NotificationMessage_members[3] = { +{ + UA_TYPENAME("SequenceNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_NotificationMessage, publishTime) - offsetof(UA_NotificationMessage, sequenceNumber) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NotificationData") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_NotificationMessage, notificationDataSize) - offsetof(UA_NotificationMessage, publishTime) - sizeof(UA_DateTime), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* MonitoredItemNotification */ +static UA_DataTypeMember MonitoredItemNotification_members[2] = { +{ + UA_TYPENAME("ClientHandle") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + offsetof(UA_MonitoredItemNotification, value) - offsetof(UA_MonitoredItemNotification, clientHandle) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EventFieldList */ +static UA_DataTypeMember EventFieldList_members[2] = { +{ + UA_TYPENAME("ClientHandle") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventFields") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_EventFieldList, eventFieldsSize) - offsetof(UA_EventFieldList, clientHandle) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryEventFieldList */ +static UA_DataTypeMember HistoryEventFieldList_members[1] = { +{ + UA_TYPENAME("EventFields") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* StatusChangeNotification */ +static UA_DataTypeMember StatusChangeNotification_members[2] = { +{ + UA_TYPENAME("Status") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfo") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_StatusChangeNotification, diagnosticInfo) - offsetof(UA_StatusChangeNotification, status) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SubscriptionAcknowledgement */ +static UA_DataTypeMember SubscriptionAcknowledgement_members[2] = { +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SequenceNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionAcknowledgement, sequenceNumber) - offsetof(UA_SubscriptionAcknowledgement, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishRequest */ +static UA_DataTypeMember PublishRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionAcknowledgements") /* .memberName */ + &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT], /* .memberType */ + offsetof(UA_PublishRequest, subscriptionAcknowledgementsSize) - offsetof(UA_PublishRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishResponse */ +static UA_DataTypeMember PublishResponse_members[7] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PublishResponse, subscriptionId) - offsetof(UA_PublishResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AvailableSequenceNumbers") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PublishResponse, availableSequenceNumbersSize) - offsetof(UA_PublishResponse, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MoreNotifications") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_PublishResponse, moreNotifications) - offsetof(UA_PublishResponse, availableSequenceNumbers) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NotificationMessage") /* .memberName */ + &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE], /* .memberType */ + offsetof(UA_PublishResponse, notificationMessage) - offsetof(UA_PublishResponse, moreNotifications) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_PublishResponse, resultsSize) - offsetof(UA_PublishResponse, notificationMessage) - sizeof(UA_NotificationMessage), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_PublishResponse, diagnosticInfosSize) - offsetof(UA_PublishResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* RepublishRequest */ +static UA_DataTypeMember RepublishRequest_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_RepublishRequest, subscriptionId) - offsetof(UA_RepublishRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RetransmitSequenceNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_RepublishRequest, retransmitSequenceNumber) - offsetof(UA_RepublishRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* RepublishResponse */ +static UA_DataTypeMember RepublishResponse_members[2] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NotificationMessage") /* .memberName */ + &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE], /* .memberType */ + offsetof(UA_RepublishResponse, notificationMessage) - offsetof(UA_RepublishResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TransferResult */ +static UA_DataTypeMember TransferResult_members[2] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AvailableSequenceNumbers") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TransferResult, availableSequenceNumbersSize) - offsetof(UA_TransferResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* TransferSubscriptionsRequest */ +static UA_DataTypeMember TransferSubscriptionsRequest_members[3] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionIds") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TransferSubscriptionsRequest, subscriptionIdsSize) - offsetof(UA_TransferSubscriptionsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SendInitialValues") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_TransferSubscriptionsRequest, sendInitialValues) - offsetof(UA_TransferSubscriptionsRequest, subscriptionIds) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TransferSubscriptionsResponse */ +static UA_DataTypeMember TransferSubscriptionsResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_TRANSFERRESULT], /* .memberType */ + offsetof(UA_TransferSubscriptionsResponse, resultsSize) - offsetof(UA_TransferSubscriptionsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_TransferSubscriptionsResponse, diagnosticInfosSize) - offsetof(UA_TransferSubscriptionsResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteSubscriptionsRequest */ +static UA_DataTypeMember DeleteSubscriptionsRequest_members[2] = { +{ + UA_TYPENAME("RequestHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionIds") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DeleteSubscriptionsRequest, subscriptionIdsSize) - offsetof(UA_DeleteSubscriptionsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DeleteSubscriptionsResponse */ +static UA_DataTypeMember DeleteSubscriptionsResponse_members[3] = { +{ + UA_TYPENAME("ResponseHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Results") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_DeleteSubscriptionsResponse, resultsSize) - offsetof(UA_DeleteSubscriptionsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_DeleteSubscriptionsResponse, diagnosticInfosSize) - offsetof(UA_DeleteSubscriptionsResponse, results) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* BuildInfo */ +static UA_DataTypeMember BuildInfo_members[6] = { +{ + UA_TYPENAME("ProductUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ManufacturerName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BuildInfo, manufacturerName) - offsetof(UA_BuildInfo, productUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProductName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BuildInfo, productName) - offsetof(UA_BuildInfo, manufacturerName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SoftwareVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BuildInfo, softwareVersion) - offsetof(UA_BuildInfo, productName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BuildNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_BuildInfo, buildNumber) - offsetof(UA_BuildInfo, softwareVersion) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BuildDate") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_BuildInfo, buildDate) - offsetof(UA_BuildInfo, buildNumber) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* RedundancySupport */ +#define RedundancySupport_members NULL + +/* ServerState */ +#define ServerState_members NULL + +/* RedundantServerDataType */ +static UA_DataTypeMember RedundantServerDataType_members[3] = { +{ + UA_TYPENAME("ServerId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServiceLevel") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_RedundantServerDataType, serviceLevel) - offsetof(UA_RedundantServerDataType, serverId) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerState") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVERSTATE], /* .memberType */ + offsetof(UA_RedundantServerDataType, serverState) - offsetof(UA_RedundantServerDataType, serviceLevel) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EndpointUrlListDataType */ +static UA_DataTypeMember EndpointUrlListDataType_members[1] = { +{ + UA_TYPENAME("EndpointUrlList") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* NetworkGroupDataType */ +static UA_DataTypeMember NetworkGroupDataType_members[2] = { +{ + UA_TYPENAME("ServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NetworkPaths") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE], /* .memberType */ + offsetof(UA_NetworkGroupDataType, networkPathsSize) - offsetof(UA_NetworkGroupDataType, serverUri) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SamplingIntervalDiagnosticsDataType */ +static UA_DataTypeMember SamplingIntervalDiagnosticsDataType_members[4] = { +{ + UA_TYPENAME("SamplingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoredItemCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SamplingIntervalDiagnosticsDataType, monitoredItemCount) - offsetof(UA_SamplingIntervalDiagnosticsDataType, samplingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxMonitoredItemCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SamplingIntervalDiagnosticsDataType, maxMonitoredItemCount) - offsetof(UA_SamplingIntervalDiagnosticsDataType, monitoredItemCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisabledMonitoredItemCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SamplingIntervalDiagnosticsDataType, disabledMonitoredItemCount) - offsetof(UA_SamplingIntervalDiagnosticsDataType, maxMonitoredItemCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ServerDiagnosticsSummaryDataType */ +static UA_DataTypeMember ServerDiagnosticsSummaryDataType_members[12] = { +{ + UA_TYPENAME("ServerViewCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentSessionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, currentSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, serverViewCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CumulatedSessionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, currentSessionCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityRejectedSessionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSessionCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RejectedSessionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, rejectedSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedSessionCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SessionTimeoutCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, sessionTimeoutCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, rejectedSessionCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SessionAbortCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, sessionAbortCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, sessionTimeoutCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentSubscriptionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, currentSubscriptionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, sessionAbortCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CumulatedSubscriptionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSubscriptionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, currentSubscriptionCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingIntervalCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, publishingIntervalCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSubscriptionCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityRejectedRequestsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedRequestsCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, publishingIntervalCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RejectedRequestsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerDiagnosticsSummaryDataType, rejectedRequestsCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedRequestsCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ServerStatusDataType */ +static UA_DataTypeMember ServerStatusDataType_members[6] = { +{ + UA_TYPENAME("StartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ServerStatusDataType, currentTime) - offsetof(UA_ServerStatusDataType, startTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("State") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVERSTATE], /* .memberType */ + offsetof(UA_ServerStatusDataType, state) - offsetof(UA_ServerStatusDataType, currentTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BuildInfo") /* .memberName */ + &UA_TYPES[UA_TYPES_BUILDINFO], /* .memberType */ + offsetof(UA_ServerStatusDataType, buildInfo) - offsetof(UA_ServerStatusDataType, state) - sizeof(UA_ServerState), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecondsTillShutdown") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServerStatusDataType, secondsTillShutdown) - offsetof(UA_ServerStatusDataType, buildInfo) - sizeof(UA_BuildInfo), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ShutdownReason") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_ServerStatusDataType, shutdownReason) - offsetof(UA_ServerStatusDataType, secondsTillShutdown) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SessionSecurityDiagnosticsDataType */ +static UA_DataTypeMember SessionSecurityDiagnosticsDataType_members[9] = { +{ + UA_TYPENAME("SessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientUserIdOfSession") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdOfSession) - offsetof(UA_SessionSecurityDiagnosticsDataType, sessionId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientUserIdHistory") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdHistorySize) - offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdOfSession) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AuthenticationMechanism") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, authenticationMechanism) - offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdHistory) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Encoding") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, encoding) - offsetof(UA_SessionSecurityDiagnosticsDataType, authenticationMechanism) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportProtocol") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, transportProtocol) - offsetof(UA_SessionSecurityDiagnosticsDataType, encoding) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, securityMode) - offsetof(UA_SessionSecurityDiagnosticsDataType, transportProtocol) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, securityPolicyUri) - offsetof(UA_SessionSecurityDiagnosticsDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientCertificate") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_SessionSecurityDiagnosticsDataType, clientCertificate) - offsetof(UA_SessionSecurityDiagnosticsDataType, securityPolicyUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ServiceCounterDataType */ +static UA_DataTypeMember ServiceCounterDataType_members[2] = { +{ + UA_TYPENAME("TotalCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ErrorCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ServiceCounterDataType, errorCount) - offsetof(UA_ServiceCounterDataType, totalCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* StatusResult */ +static UA_DataTypeMember StatusResult_members[2] = { +{ + UA_TYPENAME("StatusCode") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfo") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_StatusResult, diagnosticInfo) - offsetof(UA_StatusResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SubscriptionDiagnosticsDataType */ +static UA_DataTypeMember SubscriptionDiagnosticsDataType_members[31] = { +{ + UA_TYPENAME("SessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscriptionId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, subscriptionId) - offsetof(UA_SubscriptionDiagnosticsDataType, sessionId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Priority") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, priority) - offsetof(UA_SubscriptionDiagnosticsDataType, subscriptionId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, publishingInterval) - offsetof(UA_SubscriptionDiagnosticsDataType, priority) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxKeepAliveCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, maxKeepAliveCount) - offsetof(UA_SubscriptionDiagnosticsDataType, publishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxLifetimeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, maxLifetimeCount) - offsetof(UA_SubscriptionDiagnosticsDataType, maxKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxNotificationsPerPublish") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, maxNotificationsPerPublish) - offsetof(UA_SubscriptionDiagnosticsDataType, maxLifetimeCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingEnabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, publishingEnabled) - offsetof(UA_SubscriptionDiagnosticsDataType, maxNotificationsPerPublish) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ModifyCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, modifyCount) - offsetof(UA_SubscriptionDiagnosticsDataType, publishingEnabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EnableCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, enableCount) - offsetof(UA_SubscriptionDiagnosticsDataType, modifyCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisableCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, disableCount) - offsetof(UA_SubscriptionDiagnosticsDataType, enableCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RepublishRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, republishRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, disableCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RepublishMessageRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, republishRequestCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RepublishMessageCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageCount) - offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageRequestCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransferRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, transferRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransferredToAltClientCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, transferredToAltClientCount) - offsetof(UA_SubscriptionDiagnosticsDataType, transferRequestCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransferredToSameClientCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, transferredToSameClientCount) - offsetof(UA_SubscriptionDiagnosticsDataType, transferredToAltClientCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, publishRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, transferredToSameClientCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataChangeNotificationsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, dataChangeNotificationsCount) - offsetof(UA_SubscriptionDiagnosticsDataType, publishRequestCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventNotificationsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, eventNotificationsCount) - offsetof(UA_SubscriptionDiagnosticsDataType, dataChangeNotificationsCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NotificationsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, notificationsCount) - offsetof(UA_SubscriptionDiagnosticsDataType, eventNotificationsCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LatePublishRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, latePublishRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, notificationsCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentKeepAliveCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, currentKeepAliveCount) - offsetof(UA_SubscriptionDiagnosticsDataType, latePublishRequestCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentLifetimeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, currentLifetimeCount) - offsetof(UA_SubscriptionDiagnosticsDataType, currentKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UnacknowledgedMessageCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, unacknowledgedMessageCount) - offsetof(UA_SubscriptionDiagnosticsDataType, currentLifetimeCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiscardedMessageCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, discardedMessageCount) - offsetof(UA_SubscriptionDiagnosticsDataType, unacknowledgedMessageCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoredItemCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, monitoredItemCount) - offsetof(UA_SubscriptionDiagnosticsDataType, discardedMessageCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisabledMonitoredItemCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, disabledMonitoredItemCount) - offsetof(UA_SubscriptionDiagnosticsDataType, monitoredItemCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MonitoringQueueOverflowCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, monitoringQueueOverflowCount) - offsetof(UA_SubscriptionDiagnosticsDataType, disabledMonitoredItemCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("NextSequenceNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, nextSequenceNumber) - offsetof(UA_SubscriptionDiagnosticsDataType, monitoringQueueOverflowCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventQueueOverFlowCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SubscriptionDiagnosticsDataType, eventQueueOverFlowCount) - offsetof(UA_SubscriptionDiagnosticsDataType, nextSequenceNumber) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ModelChangeStructureVerbMask */ +#define ModelChangeStructureVerbMask_members NULL + +/* ModelChangeStructureDataType */ +static UA_DataTypeMember ModelChangeStructureDataType_members[3] = { +{ + UA_TYPENAME("Affected") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AffectedType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_ModelChangeStructureDataType, affectedType) - offsetof(UA_ModelChangeStructureDataType, affected) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Verb") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_ModelChangeStructureDataType, verb) - offsetof(UA_ModelChangeStructureDataType, affectedType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SemanticChangeStructureDataType */ +static UA_DataTypeMember SemanticChangeStructureDataType_members[2] = { +{ + UA_TYPENAME("Affected") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AffectedType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_SemanticChangeStructureDataType, affectedType) - offsetof(UA_SemanticChangeStructureDataType, affected) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* Range */ +static UA_DataTypeMember Range_members[2] = { +{ + UA_TYPENAME("Low") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("High") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_Range, high) - offsetof(UA_Range, low) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EUInformation */ +static UA_DataTypeMember EUInformation_members[4] = { +{ + UA_TYPENAME("NamespaceUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UnitId") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_EUInformation, unitId) - offsetof(UA_EUInformation, namespaceUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DisplayName") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_EUInformation, displayName) - offsetof(UA_EUInformation, unitId) - sizeof(UA_Int32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_EUInformation, description) - offsetof(UA_EUInformation, displayName) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AxisScaleEnumeration */ +#define AxisScaleEnumeration_members NULL + +/* ComplexNumberType */ +static UA_DataTypeMember ComplexNumberType_members[2] = { +{ + UA_TYPENAME("Real") /* .memberName */ + &UA_TYPES[UA_TYPES_FLOAT], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Imaginary") /* .memberName */ + &UA_TYPES[UA_TYPES_FLOAT], /* .memberType */ + offsetof(UA_ComplexNumberType, imaginary) - offsetof(UA_ComplexNumberType, real) - sizeof(UA_Float), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DoubleComplexNumberType */ +static UA_DataTypeMember DoubleComplexNumberType_members[2] = { +{ + UA_TYPENAME("Real") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Imaginary") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_DoubleComplexNumberType, imaginary) - offsetof(UA_DoubleComplexNumberType, real) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AxisInformation */ +static UA_DataTypeMember AxisInformation_members[5] = { +{ + UA_TYPENAME("EngineeringUnits") /* .memberName */ + &UA_TYPES[UA_TYPES_EUINFORMATION], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EURange") /* .memberName */ + &UA_TYPES[UA_TYPES_RANGE], /* .memberType */ + offsetof(UA_AxisInformation, eURange) - offsetof(UA_AxisInformation, engineeringUnits) - sizeof(UA_EUInformation), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Title") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_AxisInformation, title) - offsetof(UA_AxisInformation, eURange) - sizeof(UA_Range), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AxisScaleType") /* .memberName */ + &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION], /* .memberType */ + offsetof(UA_AxisInformation, axisScaleType) - offsetof(UA_AxisInformation, title) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AxisSteps") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_AxisInformation, axisStepsSize) - offsetof(UA_AxisInformation, axisScaleType) - sizeof(UA_AxisScaleEnumeration), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* XVType */ +static UA_DataTypeMember XVType_members[2] = { +{ + UA_TYPENAME("X") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Value") /* .memberName */ + &UA_TYPES[UA_TYPES_FLOAT], /* .memberType */ + offsetof(UA_XVType, value) - offsetof(UA_XVType, x) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ProgramDiagnosticDataType */ +static UA_DataTypeMember ProgramDiagnosticDataType_members[10] = { +{ + UA_TYPENAME("CreateSessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CreateClientName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, createClientName) - offsetof(UA_ProgramDiagnosticDataType, createSessionId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("InvocationCreationTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, invocationCreationTime) - offsetof(UA_ProgramDiagnosticDataType, createClientName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastTransitionTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastTransitionTime) - offsetof(UA_ProgramDiagnosticDataType, invocationCreationTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodCall") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastMethodCall) - offsetof(UA_ProgramDiagnosticDataType, lastTransitionTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodSessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastMethodSessionId) - offsetof(UA_ProgramDiagnosticDataType, lastMethodCall) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodInputArguments") /* .memberName */ + &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastMethodInputArgumentsSize) - offsetof(UA_ProgramDiagnosticDataType, lastMethodSessionId) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodOutputArguments") /* .memberName */ + &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastMethodOutputArgumentsSize) - offsetof(UA_ProgramDiagnosticDataType, lastMethodInputArguments) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodCallTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastMethodCallTime) - offsetof(UA_ProgramDiagnosticDataType, lastMethodOutputArguments) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodReturnStatus") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSRESULT], /* .memberType */ + offsetof(UA_ProgramDiagnosticDataType, lastMethodReturnStatus) - offsetof(UA_ProgramDiagnosticDataType, lastMethodCallTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ProgramDiagnostic2DataType */ +static UA_DataTypeMember ProgramDiagnostic2DataType_members[12] = { +{ + UA_TYPENAME("CreateSessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CreateClientName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, createClientName) - offsetof(UA_ProgramDiagnostic2DataType, createSessionId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("InvocationCreationTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, invocationCreationTime) - offsetof(UA_ProgramDiagnostic2DataType, createClientName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastTransitionTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastTransitionTime) - offsetof(UA_ProgramDiagnostic2DataType, invocationCreationTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodCall") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodCall) - offsetof(UA_ProgramDiagnostic2DataType, lastTransitionTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodSessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodSessionId) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodCall) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodInputArguments") /* .memberName */ + &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputArgumentsSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodSessionId) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodOutputArguments") /* .memberName */ + &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputArgumentsSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputArguments) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodInputValues") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputValuesSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputArguments) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodOutputValues") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputValuesSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputValues) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodCallTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodCallTime) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputValues) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LastMethodReturnStatus") /* .memberName */ + &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ + offsetof(UA_ProgramDiagnostic2DataType, lastMethodReturnStatus) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodCallTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* Annotation */ +static UA_DataTypeMember Annotation_members[3] = { +{ + UA_TYPENAME("Message") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_Annotation, userName) - offsetof(UA_Annotation, message) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AnnotationTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_Annotation, annotationTime) - offsetof(UA_Annotation, userName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ExceptionDeviationFormat */ +#define ExceptionDeviationFormat_members NULL + +/* EndpointType */ +static UA_DataTypeMember EndpointType_members[4] = { +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_EndpointType, securityMode) - offsetof(UA_EndpointType, endpointUrl) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_EndpointType, securityPolicyUri) - offsetof(UA_EndpointType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_EndpointType, transportProfileUri) - offsetof(UA_EndpointType, securityPolicyUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* StructureDescription */ +static UA_DataTypeMember StructureDescription_members[3] = { +{ + UA_TYPENAME("DataTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_StructureDescription, name) - offsetof(UA_StructureDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StructureDefinition") /* .memberName */ + &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION], /* .memberType */ + offsetof(UA_StructureDescription, structureDefinition) - offsetof(UA_StructureDescription, name) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* FieldMetaData */ +static UA_DataTypeMember FieldMetaData_members[10] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_FieldMetaData, description) - offsetof(UA_FieldMetaData, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("FieldFlags") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS], /* .memberType */ + offsetof(UA_FieldMetaData, fieldFlags) - offsetof(UA_FieldMetaData, description) - sizeof(UA_LocalizedText), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BuiltInType") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_FieldMetaData, builtInType) - offsetof(UA_FieldMetaData, fieldFlags) - sizeof(UA_DataSetFieldFlags), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_FieldMetaData, dataType) - offsetof(UA_FieldMetaData, builtInType) - sizeof(UA_Byte), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ValueRank") /* .memberName */ + &UA_TYPES[UA_TYPES_INT32], /* .memberType */ + offsetof(UA_FieldMetaData, valueRank) - offsetof(UA_FieldMetaData, dataType) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ArrayDimensions") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_FieldMetaData, arrayDimensionsSize) - offsetof(UA_FieldMetaData, valueRank) - sizeof(UA_Int32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxStringLength") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_FieldMetaData, maxStringLength) - offsetof(UA_FieldMetaData, arrayDimensions) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetFieldId") /* .memberName */ + &UA_TYPES[UA_TYPES_GUID], /* .memberType */ + offsetof(UA_FieldMetaData, dataSetFieldId) - offsetof(UA_FieldMetaData, maxStringLength) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Properties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_FieldMetaData, propertiesSize) - offsetof(UA_FieldMetaData, dataSetFieldId) - sizeof(UA_Guid), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishedEventsDataType */ +static UA_DataTypeMember PublishedEventsDataType_members[3] = { +{ + UA_TYPENAME("EventNotifier") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SelectedFields") /* .memberName */ + &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND], /* .memberType */ + offsetof(UA_PublishedEventsDataType, selectedFieldsSize) - offsetof(UA_PublishedEventsDataType, eventNotifier) - sizeof(UA_NodeId), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Filter") /* .memberName */ + &UA_TYPES[UA_TYPES_CONTENTFILTER], /* .memberType */ + offsetof(UA_PublishedEventsDataType, filter) - offsetof(UA_PublishedEventsDataType, selectedFields) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubGroupDataType */ +static UA_DataTypeMember PubSubGroupDataType_members[7] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_PubSubGroupDataType, enabled) - offsetof(UA_PubSubGroupDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_PubSubGroupDataType, securityMode) - offsetof(UA_PubSubGroupDataType, enabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubGroupDataType, securityGroupId) - offsetof(UA_PubSubGroupDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityKeyServices") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_PubSubGroupDataType, securityKeyServicesSize) - offsetof(UA_PubSubGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxNetworkMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PubSubGroupDataType, maxNetworkMessageSize) - offsetof(UA_PubSubGroupDataType, securityKeyServices) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GroupProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_PubSubGroupDataType, groupPropertiesSize) - offsetof(UA_PubSubGroupDataType, maxNetworkMessageSize) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* WriterGroupDataType */ +static UA_DataTypeMember WriterGroupDataType_members[16] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_WriterGroupDataType, enabled) - offsetof(UA_WriterGroupDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_WriterGroupDataType, securityMode) - offsetof(UA_WriterGroupDataType, enabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_WriterGroupDataType, securityGroupId) - offsetof(UA_WriterGroupDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityKeyServices") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_WriterGroupDataType, securityKeyServicesSize) - offsetof(UA_WriterGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxNetworkMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_WriterGroupDataType, maxNetworkMessageSize) - offsetof(UA_WriterGroupDataType, securityKeyServices) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GroupProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_WriterGroupDataType, groupPropertiesSize) - offsetof(UA_WriterGroupDataType, maxNetworkMessageSize) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriterGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_WriterGroupDataType, writerGroupId) - offsetof(UA_WriterGroupDataType, groupProperties) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_WriterGroupDataType, publishingInterval) - offsetof(UA_WriterGroupDataType, writerGroupId) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("KeepAliveTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_WriterGroupDataType, keepAliveTime) - offsetof(UA_WriterGroupDataType, publishingInterval) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Priority") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_WriterGroupDataType, priority) - offsetof(UA_WriterGroupDataType, keepAliveTime) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LocaleIds") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_WriterGroupDataType, localeIdsSize) - offsetof(UA_WriterGroupDataType, priority) - sizeof(UA_Byte), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HeaderLayoutUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_WriterGroupDataType, headerLayoutUri) - offsetof(UA_WriterGroupDataType, localeIds) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_WriterGroupDataType, transportSettings) - offsetof(UA_WriterGroupDataType, headerLayoutUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_WriterGroupDataType, messageSettings) - offsetof(UA_WriterGroupDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetWriters") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE], /* .memberType */ + offsetof(UA_WriterGroupDataType, dataSetWritersSize) - offsetof(UA_WriterGroupDataType, messageSettings) - sizeof(UA_ExtensionObject), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* FieldTargetDataType */ +static UA_DataTypeMember FieldTargetDataType_members[7] = { +{ + UA_TYPENAME("DataSetFieldId") /* .memberName */ + &UA_TYPES[UA_TYPES_GUID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReceiverIndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_FieldTargetDataType, receiverIndexRange) - offsetof(UA_FieldTargetDataType, dataSetFieldId) - sizeof(UA_Guid), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TargetNodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_FieldTargetDataType, targetNodeId) - offsetof(UA_FieldTargetDataType, receiverIndexRange) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AttributeId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_FieldTargetDataType, attributeId) - offsetof(UA_FieldTargetDataType, targetNodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteIndexRange") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_FieldTargetDataType, writeIndexRange) - offsetof(UA_FieldTargetDataType, attributeId) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("OverrideValueHandling") /* .memberName */ + &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING], /* .memberType */ + offsetof(UA_FieldTargetDataType, overrideValueHandling) - offsetof(UA_FieldTargetDataType, writeIndexRange) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("OverrideValue") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_FieldTargetDataType, overrideValue) - offsetof(UA_FieldTargetDataType, overrideValueHandling) - sizeof(UA_OverrideValueHandling), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SubscribedDataSetMirrorDataType */ +static UA_DataTypeMember SubscribedDataSetMirrorDataType_members[2] = { +{ + UA_TYPENAME("ParentNodeName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RolePermissions") /* .memberName */ + &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE], /* .memberType */ + offsetof(UA_SubscribedDataSetMirrorDataType, rolePermissionsSize) - offsetof(UA_SubscribedDataSetMirrorDataType, parentNodeName) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SecurityGroupDataType */ +static UA_DataTypeMember SecurityGroupDataType_members[9] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroupFolder") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SecurityGroupDataType, securityGroupFolderSize) - offsetof(UA_SecurityGroupDataType, name) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("KeyLifetime") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_SecurityGroupDataType, keyLifetime) - offsetof(UA_SecurityGroupDataType, securityGroupFolder) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SecurityGroupDataType, securityPolicyUri) - offsetof(UA_SecurityGroupDataType, keyLifetime) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxFutureKeyCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SecurityGroupDataType, maxFutureKeyCount) - offsetof(UA_SecurityGroupDataType, securityPolicyUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxPastKeyCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SecurityGroupDataType, maxPastKeyCount) - offsetof(UA_SecurityGroupDataType, maxFutureKeyCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SecurityGroupDataType, securityGroupId) - offsetof(UA_SecurityGroupDataType, maxPastKeyCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RolePermissions") /* .memberName */ + &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE], /* .memberType */ + offsetof(UA_SecurityGroupDataType, rolePermissionsSize) - offsetof(UA_SecurityGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GroupProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_SecurityGroupDataType, groupPropertiesSize) - offsetof(UA_SecurityGroupDataType, rolePermissions) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubKeyPushTargetDataType */ +static UA_DataTypeMember PubSubKeyPushTargetDataType_members[9] = { +{ + UA_TYPENAME("ApplicationUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PushTargetFolder") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, pushTargetFolderSize) - offsetof(UA_PubSubKeyPushTargetDataType, applicationUri) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, endpointUrl) - offsetof(UA_PubSubKeyPushTargetDataType, pushTargetFolder) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, securityPolicyUri) - offsetof(UA_PubSubKeyPushTargetDataType, endpointUrl) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserTokenType") /* .memberName */ + &UA_TYPES[UA_TYPES_USERTOKENPOLICY], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, userTokenType) - offsetof(UA_PubSubKeyPushTargetDataType, securityPolicyUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestedKeyCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, requestedKeyCount) - offsetof(UA_PubSubKeyPushTargetDataType, userTokenType) - sizeof(UA_UserTokenPolicy), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RetryInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, retryInterval) - offsetof(UA_PubSubKeyPushTargetDataType, requestedKeyCount) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PushTargetProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, pushTargetPropertiesSize) - offsetof(UA_PubSubKeyPushTargetDataType, retryInterval) - sizeof(UA_Double), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroups") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubKeyPushTargetDataType, securityGroupsSize) - offsetof(UA_PubSubKeyPushTargetDataType, pushTargetProperties) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* EnumDefinition */ +static UA_DataTypeMember EnumDefinition_members[1] = { +{ + UA_TYPENAME("Fields") /* .memberName */ + &UA_TYPES[UA_TYPES_ENUMFIELD], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadEventDetails */ +static UA_DataTypeMember ReadEventDetails_members[4] = { +{ + UA_TYPENAME("NumValuesPerNode") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ReadEventDetails, startTime) - offsetof(UA_ReadEventDetails, numValuesPerNode) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ReadEventDetails, endTime) - offsetof(UA_ReadEventDetails, startTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Filter") /* .memberName */ + &UA_TYPES[UA_TYPES_EVENTFILTER], /* .memberType */ + offsetof(UA_ReadEventDetails, filter) - offsetof(UA_ReadEventDetails, endTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReadProcessedDetails */ +static UA_DataTypeMember ReadProcessedDetails_members[5] = { +{ + UA_TYPENAME("StartTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_ReadProcessedDetails, endTime) - offsetof(UA_ReadProcessedDetails, startTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ProcessingInterval") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_ReadProcessedDetails, processingInterval) - offsetof(UA_ReadProcessedDetails, endTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AggregateType") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + offsetof(UA_ReadProcessedDetails, aggregateTypeSize) - offsetof(UA_ReadProcessedDetails, processingInterval) - sizeof(UA_Double), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AggregateConfiguration") /* .memberName */ + &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION], /* .memberType */ + offsetof(UA_ReadProcessedDetails, aggregateConfiguration) - offsetof(UA_ReadProcessedDetails, aggregateType) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* ModificationInfo */ +static UA_DataTypeMember ModificationInfo_members[3] = { +{ + UA_TYPENAME("ModificationTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UpdateType") /* .memberName */ + &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE], /* .memberType */ + offsetof(UA_ModificationInfo, updateType) - offsetof(UA_ModificationInfo, modificationTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UserName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ModificationInfo, userName) - offsetof(UA_ModificationInfo, updateType) - sizeof(UA_HistoryUpdateType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryModifiedData */ +static UA_DataTypeMember HistoryModifiedData_members[2] = { +{ + UA_TYPENAME("DataValues") /* .memberName */ + &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ModificationInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_MODIFICATIONINFO], /* .memberType */ + offsetof(UA_HistoryModifiedData, modificationInfosSize) - offsetof(UA_HistoryModifiedData, dataValues) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* HistoryEvent */ +static UA_DataTypeMember HistoryEvent_members[1] = { +{ + UA_TYPENAME("Events") /* .memberName */ + &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* UpdateEventDetails */ +static UA_DataTypeMember UpdateEventDetails_members[4] = { +{ + UA_TYPENAME("NodeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PerformInsertReplace") /* .memberName */ + &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE], /* .memberType */ + offsetof(UA_UpdateEventDetails, performInsertReplace) - offsetof(UA_UpdateEventDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Filter") /* .memberName */ + &UA_TYPES[UA_TYPES_EVENTFILTER], /* .memberType */ + offsetof(UA_UpdateEventDetails, filter) - offsetof(UA_UpdateEventDetails, performInsertReplace) - sizeof(UA_PerformUpdateType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EventData") /* .memberName */ + &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST], /* .memberType */ + offsetof(UA_UpdateEventDetails, eventDataSize) - offsetof(UA_UpdateEventDetails, filter) - sizeof(UA_EventFilter), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataChangeNotification */ +static UA_DataTypeMember DataChangeNotification_members[2] = { +{ + UA_TYPENAME("MonitoredItems") /* .memberName */ + &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DiagnosticInfos") /* .memberName */ + &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ + offsetof(UA_DataChangeNotification, diagnosticInfosSize) - offsetof(UA_DataChangeNotification, monitoredItems) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* EventNotificationList */ +static UA_DataTypeMember EventNotificationList_members[1] = { +{ + UA_TYPENAME("Events") /* .memberName */ + &UA_TYPES[UA_TYPES_EVENTFIELDLIST], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* SessionDiagnosticsDataType */ +static UA_DataTypeMember SessionDiagnosticsDataType_members[43] = { +{ + UA_TYPENAME("SessionId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SessionName") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, sessionName) - offsetof(UA_SessionDiagnosticsDataType, sessionId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientDescription") /* .memberName */ + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, clientDescription) - offsetof(UA_SessionDiagnosticsDataType, sessionName) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, serverUri) - offsetof(UA_SessionDiagnosticsDataType, clientDescription) - sizeof(UA_ApplicationDescription), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, endpointUrl) - offsetof(UA_SessionDiagnosticsDataType, serverUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("LocaleIds") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, localeIdsSize) - offsetof(UA_SessionDiagnosticsDataType, endpointUrl) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ActualSessionTimeout") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, actualSessionTimeout) - offsetof(UA_SessionDiagnosticsDataType, localeIds) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxResponseMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, maxResponseMessageSize) - offsetof(UA_SessionDiagnosticsDataType, actualSessionTimeout) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientConnectionTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, clientConnectionTime) - offsetof(UA_SessionDiagnosticsDataType, maxResponseMessageSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ClientLastContactTime") /* .memberName */ + &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, clientLastContactTime) - offsetof(UA_SessionDiagnosticsDataType, clientConnectionTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentSubscriptionsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, currentSubscriptionsCount) - offsetof(UA_SessionDiagnosticsDataType, clientLastContactTime) - sizeof(UA_DateTime), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentMonitoredItemsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, currentMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, currentSubscriptionsCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CurrentPublishRequestsInQueue") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, currentPublishRequestsInQueue) - offsetof(UA_SessionDiagnosticsDataType, currentMonitoredItemsCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TotalRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, totalRequestCount) - offsetof(UA_SessionDiagnosticsDataType, currentPublishRequestsInQueue) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UnauthorizedRequestCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, unauthorizedRequestCount) - offsetof(UA_SessionDiagnosticsDataType, totalRequestCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReadCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, readCount) - offsetof(UA_SessionDiagnosticsDataType, unauthorizedRequestCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HistoryReadCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, historyReadCount) - offsetof(UA_SessionDiagnosticsDataType, readCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriteCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, writeCount) - offsetof(UA_SessionDiagnosticsDataType, historyReadCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HistoryUpdateCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, historyUpdateCount) - offsetof(UA_SessionDiagnosticsDataType, writeCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CallCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, callCount) - offsetof(UA_SessionDiagnosticsDataType, historyUpdateCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CreateMonitoredItemsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, createMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, callCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ModifyMonitoredItemsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, modifyMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, createMonitoredItemsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SetMonitoringModeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, setMonitoringModeCount) - offsetof(UA_SessionDiagnosticsDataType, modifyMonitoredItemsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SetTriggeringCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, setTriggeringCount) - offsetof(UA_SessionDiagnosticsDataType, setMonitoringModeCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteMonitoredItemsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, deleteMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, setTriggeringCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("CreateSubscriptionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, createSubscriptionCount) - offsetof(UA_SessionDiagnosticsDataType, deleteMonitoredItemsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ModifySubscriptionCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, modifySubscriptionCount) - offsetof(UA_SessionDiagnosticsDataType, createSubscriptionCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SetPublishingModeCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, setPublishingModeCount) - offsetof(UA_SessionDiagnosticsDataType, modifySubscriptionCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublishCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, publishCount) - offsetof(UA_SessionDiagnosticsDataType, setPublishingModeCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RepublishCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, republishCount) - offsetof(UA_SessionDiagnosticsDataType, publishCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransferSubscriptionsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, transferSubscriptionsCount) - offsetof(UA_SessionDiagnosticsDataType, republishCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteSubscriptionsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, deleteSubscriptionsCount) - offsetof(UA_SessionDiagnosticsDataType, transferSubscriptionsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AddNodesCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, addNodesCount) - offsetof(UA_SessionDiagnosticsDataType, deleteSubscriptionsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("AddReferencesCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, addReferencesCount) - offsetof(UA_SessionDiagnosticsDataType, addNodesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteNodesCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, deleteNodesCount) - offsetof(UA_SessionDiagnosticsDataType, addReferencesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DeleteReferencesCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, deleteReferencesCount) - offsetof(UA_SessionDiagnosticsDataType, deleteNodesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowseCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, browseCount) - offsetof(UA_SessionDiagnosticsDataType, deleteReferencesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BrowseNextCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, browseNextCount) - offsetof(UA_SessionDiagnosticsDataType, browseCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TranslateBrowsePathsToNodeIdsCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, translateBrowsePathsToNodeIdsCount) - offsetof(UA_SessionDiagnosticsDataType, browseNextCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QueryFirstCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, queryFirstCount) - offsetof(UA_SessionDiagnosticsDataType, translateBrowsePathsToNodeIdsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("QueryNextCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, queryNextCount) - offsetof(UA_SessionDiagnosticsDataType, queryFirstCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RegisterNodesCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, registerNodesCount) - offsetof(UA_SessionDiagnosticsDataType, queryNextCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("UnregisterNodesCount") /* .memberName */ + &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ + offsetof(UA_SessionDiagnosticsDataType, unregisterNodesCount) - offsetof(UA_SessionDiagnosticsDataType, registerNodesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* EnumDescription */ +static UA_DataTypeMember EnumDescription_members[4] = { +{ + UA_TYPENAME("DataTypeId") /* .memberName */ + &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ + offsetof(UA_EnumDescription, name) - offsetof(UA_EnumDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EnumDefinition") /* .memberName */ + &UA_TYPES[UA_TYPES_ENUMDEFINITION], /* .memberType */ + offsetof(UA_EnumDescription, enumDefinition) - offsetof(UA_EnumDescription, name) - sizeof(UA_QualifiedName), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("BuiltInType") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ + offsetof(UA_EnumDescription, builtInType) - offsetof(UA_EnumDescription, enumDefinition) - sizeof(UA_EnumDefinition), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* UABinaryFileDataType */ +static UA_DataTypeMember UABinaryFileDataType_members[7] = { +{ + UA_TYPENAME("Namespaces") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StructureDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION], /* .memberType */ + offsetof(UA_UABinaryFileDataType, structureDataTypesSize) - offsetof(UA_UABinaryFileDataType, namespaces) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EnumDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_ENUMDESCRIPTION], /* .memberType */ + offsetof(UA_UABinaryFileDataType, enumDataTypesSize) - offsetof(UA_UABinaryFileDataType, structureDataTypes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SimpleDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION], /* .memberType */ + offsetof(UA_UABinaryFileDataType, simpleDataTypesSize) - offsetof(UA_UABinaryFileDataType, enumDataTypes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SchemaLocation") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_UABinaryFileDataType, schemaLocation) - offsetof(UA_UABinaryFileDataType, simpleDataTypes) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("FileHeader") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_UABinaryFileDataType, fileHeaderSize) - offsetof(UA_UABinaryFileDataType, schemaLocation) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Body") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_UABinaryFileDataType, body) - offsetof(UA_UABinaryFileDataType, fileHeader) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataSetMetaDataType */ +static UA_DataTypeMember DataSetMetaDataType_members[9] = { +{ + UA_TYPENAME("Namespaces") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StructureDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION], /* .memberType */ + offsetof(UA_DataSetMetaDataType, structureDataTypesSize) - offsetof(UA_DataSetMetaDataType, namespaces) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EnumDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_ENUMDESCRIPTION], /* .memberType */ + offsetof(UA_DataSetMetaDataType, enumDataTypesSize) - offsetof(UA_DataSetMetaDataType, structureDataTypes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SimpleDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION], /* .memberType */ + offsetof(UA_DataSetMetaDataType, simpleDataTypesSize) - offsetof(UA_DataSetMetaDataType, enumDataTypes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DataSetMetaDataType, name) - offsetof(UA_DataSetMetaDataType, simpleDataTypes) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Description") /* .memberName */ + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ + offsetof(UA_DataSetMetaDataType, description) - offsetof(UA_DataSetMetaDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Fields") /* .memberName */ + &UA_TYPES[UA_TYPES_FIELDMETADATA], /* .memberType */ + offsetof(UA_DataSetMetaDataType, fieldsSize) - offsetof(UA_DataSetMetaDataType, description) - sizeof(UA_LocalizedText), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetClassId") /* .memberName */ + &UA_TYPES[UA_TYPES_GUID], /* .memberType */ + offsetof(UA_DataSetMetaDataType, dataSetClassId) - offsetof(UA_DataSetMetaDataType, fields) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConfigurationVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE], /* .memberType */ + offsetof(UA_DataSetMetaDataType, configurationVersion) - offsetof(UA_DataSetMetaDataType, dataSetClassId) - sizeof(UA_Guid), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PublishedDataSetDataType */ +static UA_DataTypeMember PublishedDataSetDataType_members[5] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetFolder") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PublishedDataSetDataType, dataSetFolderSize) - offsetof(UA_PublishedDataSetDataType, name) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetMetaData") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ + offsetof(UA_PublishedDataSetDataType, dataSetMetaData) - offsetof(UA_PublishedDataSetDataType, dataSetFolder) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ExtensionFields") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_PublishedDataSetDataType, extensionFieldsSize) - offsetof(UA_PublishedDataSetDataType, dataSetMetaData) - sizeof(UA_DataSetMetaDataType), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetSource") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_PublishedDataSetDataType, dataSetSource) - offsetof(UA_PublishedDataSetDataType, extensionFields) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataSetReaderDataType */ +static UA_DataTypeMember DataSetReaderDataType_members[17] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_DataSetReaderDataType, enabled) - offsetof(UA_DataSetReaderDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublisherId") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_DataSetReaderDataType, publisherId) - offsetof(UA_DataSetReaderDataType, enabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriterGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_DataSetReaderDataType, writerGroupId) - offsetof(UA_DataSetReaderDataType, publisherId) - sizeof(UA_Variant), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetWriterId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ + offsetof(UA_DataSetReaderDataType, dataSetWriterId) - offsetof(UA_DataSetReaderDataType, writerGroupId) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetMetaData") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ + offsetof(UA_DataSetReaderDataType, dataSetMetaData) - offsetof(UA_DataSetReaderDataType, dataSetWriterId) - sizeof(UA_UInt16), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetFieldContentMask") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK], /* .memberType */ + offsetof(UA_DataSetReaderDataType, dataSetFieldContentMask) - offsetof(UA_DataSetReaderDataType, dataSetMetaData) - sizeof(UA_DataSetMetaDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageReceiveTimeout") /* .memberName */ + &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ + offsetof(UA_DataSetReaderDataType, messageReceiveTimeout) - offsetof(UA_DataSetReaderDataType, dataSetFieldContentMask) - sizeof(UA_DataSetFieldContentMask), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("KeyFrameCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_DataSetReaderDataType, keyFrameCount) - offsetof(UA_DataSetReaderDataType, messageReceiveTimeout) - sizeof(UA_Double), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("HeaderLayoutUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DataSetReaderDataType, headerLayoutUri) - offsetof(UA_DataSetReaderDataType, keyFrameCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_DataSetReaderDataType, securityMode) - offsetof(UA_DataSetReaderDataType, headerLayoutUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_DataSetReaderDataType, securityGroupId) - offsetof(UA_DataSetReaderDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityKeyServices") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_DataSetReaderDataType, securityKeyServicesSize) - offsetof(UA_DataSetReaderDataType, securityGroupId) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetReaderProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_DataSetReaderDataType, dataSetReaderPropertiesSize) - offsetof(UA_DataSetReaderDataType, securityKeyServices) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DataSetReaderDataType, transportSettings) - offsetof(UA_DataSetReaderDataType, dataSetReaderProperties) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DataSetReaderDataType, messageSettings) - offsetof(UA_DataSetReaderDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscribedDataSet") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_DataSetReaderDataType, subscribedDataSet) - offsetof(UA_DataSetReaderDataType, messageSettings) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TargetVariablesDataType */ +static UA_DataTypeMember TargetVariablesDataType_members[1] = { +{ + UA_TYPENAME("TargetVariables") /* .memberName */ + &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* StandaloneSubscribedDataSetDataType */ +static UA_DataTypeMember StandaloneSubscribedDataSetDataType_members[4] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetFolder") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetFolderSize) - offsetof(UA_StandaloneSubscribedDataSetDataType, name) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetMetaData") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ + offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetMetaData) - offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetFolder) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscribedDataSet") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_StandaloneSubscribedDataSetDataType, subscribedDataSet) - offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetMetaData) - sizeof(UA_DataSetMetaDataType), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* DataTypeSchemaHeader */ +static UA_DataTypeMember DataTypeSchemaHeader_members[4] = { +{ + UA_TYPENAME("Namespaces") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("StructureDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION], /* .memberType */ + offsetof(UA_DataTypeSchemaHeader, structureDataTypesSize) - offsetof(UA_DataTypeSchemaHeader, namespaces) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EnumDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_ENUMDESCRIPTION], /* .memberType */ + offsetof(UA_DataTypeSchemaHeader, enumDataTypesSize) - offsetof(UA_DataTypeSchemaHeader, structureDataTypes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SimpleDataTypes") /* .memberName */ + &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION], /* .memberType */ + offsetof(UA_DataTypeSchemaHeader, simpleDataTypesSize) - offsetof(UA_DataTypeSchemaHeader, enumDataTypes) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* ReaderGroupDataType */ +static UA_DataTypeMember ReaderGroupDataType_members[10] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_ReaderGroupDataType, enabled) - offsetof(UA_ReaderGroupDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityMode") /* .memberName */ + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ + offsetof(UA_ReaderGroupDataType, securityMode) - offsetof(UA_ReaderGroupDataType, enabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroupId") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_ReaderGroupDataType, securityGroupId) - offsetof(UA_ReaderGroupDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityKeyServices") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_ReaderGroupDataType, securityKeyServicesSize) - offsetof(UA_ReaderGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxNetworkMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_ReaderGroupDataType, maxNetworkMessageSize) - offsetof(UA_ReaderGroupDataType, securityKeyServices) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("GroupProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_ReaderGroupDataType, groupPropertiesSize) - offsetof(UA_ReaderGroupDataType, maxNetworkMessageSize) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_ReaderGroupDataType, transportSettings) - offsetof(UA_ReaderGroupDataType, groupProperties) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_ReaderGroupDataType, messageSettings) - offsetof(UA_ReaderGroupDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetReaders") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE], /* .memberType */ + offsetof(UA_ReaderGroupDataType, dataSetReadersSize) - offsetof(UA_ReaderGroupDataType, messageSettings) - sizeof(UA_ExtensionObject), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubConnectionDataType */ +static UA_DataTypeMember PubSubConnectionDataType_members[9] = { +{ + UA_TYPENAME("Name") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, enabled) - offsetof(UA_PubSubConnectionDataType, name) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PublisherId") /* .memberName */ + &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, publisherId) - offsetof(UA_PubSubConnectionDataType, enabled) - sizeof(UA_Boolean), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportProfileUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, transportProfileUri) - offsetof(UA_PubSubConnectionDataType, publisherId) - sizeof(UA_Variant), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Address") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, address) - offsetof(UA_PubSubConnectionDataType, transportProfileUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConnectionProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, connectionPropertiesSize) - offsetof(UA_PubSubConnectionDataType, address) - sizeof(UA_ExtensionObject), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("TransportSettings") /* .memberName */ + &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, transportSettings) - offsetof(UA_PubSubConnectionDataType, connectionProperties) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("WriterGroups") /* .memberName */ + &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, writerGroupsSize) - offsetof(UA_PubSubConnectionDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReaderGroups") /* .memberName */ + &UA_TYPES[UA_TYPES_READERGROUPDATATYPE], /* .memberType */ + offsetof(UA_PubSubConnectionDataType, readerGroupsSize) - offsetof(UA_PubSubConnectionDataType, writerGroups) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubConfigurationDataType */ +static UA_DataTypeMember PubSubConfigurationDataType_members[3] = { +{ + UA_TYPENAME("PublishedDataSets") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Connections") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE], /* .memberType */ + offsetof(UA_PubSubConfigurationDataType, connectionsSize) - offsetof(UA_PubSubConfigurationDataType, publishedDataSets) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_PubSubConfigurationDataType, enabled) - offsetof(UA_PubSubConfigurationDataType, connections) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* PubSubConfiguration2DataType */ +static UA_DataTypeMember PubSubConfiguration2DataType_members[10] = { +{ + UA_TYPENAME("PublishedDataSets") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE], /* .memberType */ + 0, /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Connections") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, connectionsSize) - offsetof(UA_PubSubConfiguration2DataType, publishedDataSets) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Enabled") /* .memberName */ + &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, enabled) - offsetof(UA_PubSubConfiguration2DataType, connections) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SubscribedDataSets") /* .memberName */ + &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, subscribedDataSetsSize) - offsetof(UA_PubSubConfiguration2DataType, enabled) - sizeof(UA_Boolean), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DataSetClasses") /* .memberName */ + &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, dataSetClassesSize) - offsetof(UA_PubSubConfiguration2DataType, subscribedDataSets) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("DefaultSecurityKeyServices") /* .memberName */ + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, defaultSecurityKeyServicesSize) - offsetof(UA_PubSubConfiguration2DataType, dataSetClasses) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SecurityGroups") /* .memberName */ + &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, securityGroupsSize) - offsetof(UA_PubSubConfiguration2DataType, defaultSecurityKeyServices) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("PubSubKeyPushTargets") /* .memberName */ + &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, pubSubKeyPushTargetsSize) - offsetof(UA_PubSubConfiguration2DataType, securityGroups) - sizeof(void *), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConfigurationVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, configurationVersion) - offsetof(UA_PubSubConfiguration2DataType, pubSubKeyPushTargets) - sizeof(void *), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ConfigurationProperties") /* .memberName */ + &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ + offsetof(UA_PubSubConfiguration2DataType, configurationPropertiesSize) - offsetof(UA_PubSubConfiguration2DataType, configurationVersion) - sizeof(UA_UInt32), /* .padding */ + true, /* .isArray */ + false /* .isOptional */ +},}; +UA_DataType UA_TYPES[UA_TYPES_COUNT] = { +/* Boolean */ +{ + UA_TYPENAME("Boolean") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {1LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Boolean), /* .memSize */ + UA_DATATYPEKIND_BOOLEAN, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + Boolean_members /* .members */ +}, +/* SByte */ +{ + UA_TYPENAME("SByte") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {2LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_SByte), /* .memSize */ + UA_DATATYPEKIND_SBYTE, /* .typeKind */ + true, /* .pointerFree */ + true, /* .overlayable */ + 0, /* .membersSize */ + SByte_members /* .members */ +}, +/* Byte */ +{ + UA_TYPENAME("Byte") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {3LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Byte), /* .memSize */ + UA_DATATYPEKIND_BYTE, /* .typeKind */ + true, /* .pointerFree */ + true, /* .overlayable */ + 0, /* .membersSize */ + Byte_members /* .members */ +}, +/* Int16 */ +{ + UA_TYPENAME("Int16") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {4LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Int16), /* .memSize */ + UA_DATATYPEKIND_INT16, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + Int16_members /* .members */ +}, +/* UInt16 */ +{ + UA_TYPENAME("UInt16") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {5LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UInt16), /* .memSize */ + UA_DATATYPEKIND_UINT16, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UInt16_members /* .members */ +}, +/* Int32 */ +{ + UA_TYPENAME("Int32") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {6LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Int32), /* .memSize */ + UA_DATATYPEKIND_INT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + Int32_members /* .members */ +}, +/* UInt32 */ +{ + UA_TYPENAME("UInt32") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {7LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UInt32), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UInt32_members /* .members */ +}, +/* Int64 */ +{ + UA_TYPENAME("Int64") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {8LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Int64), /* .memSize */ + UA_DATATYPEKIND_INT64, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + Int64_members /* .members */ +}, +/* UInt64 */ +{ + UA_TYPENAME("UInt64") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {9LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UInt64), /* .memSize */ + UA_DATATYPEKIND_UINT64, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UInt64_members /* .members */ +}, +/* Float */ +{ + UA_TYPENAME("Float") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {10LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Float), /* .memSize */ + UA_DATATYPEKIND_FLOAT, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_FLOAT, /* .overlayable */ + 0, /* .membersSize */ + Float_members /* .members */ +}, +/* Double */ +{ + UA_TYPENAME("Double") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Double), /* .memSize */ + UA_DATATYPEKIND_DOUBLE, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_FLOAT, /* .overlayable */ + 0, /* .membersSize */ + Double_members /* .members */ +}, +/* String */ +{ + UA_TYPENAME("String") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_String), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + String_members /* .members */ +}, +/* DateTime */ +{ + UA_TYPENAME("DateTime") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {13LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DateTime), /* .memSize */ + UA_DATATYPEKIND_DATETIME, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DateTime_members /* .members */ +}, +/* Guid */ +{ + UA_TYPENAME("Guid") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Guid), /* .memSize */ + UA_DATATYPEKIND_GUID, /* .typeKind */ + true, /* .pointerFree */ + (UA_BINARY_OVERLAYABLE_INTEGER && offsetof(UA_Guid, data2) == sizeof(UA_UInt32) && offsetof(UA_Guid, data3) == (sizeof(UA_UInt16) + sizeof(UA_UInt32)) && offsetof(UA_Guid, data4) == (2*sizeof(UA_UInt32))), /* .overlayable */ + 0, /* .membersSize */ + Guid_members /* .members */ +}, +/* ByteString */ +{ + UA_TYPENAME("ByteString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ByteString), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ByteString_members /* .members */ +}, +/* XmlElement */ +{ + UA_TYPENAME("XmlElement") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {16LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_XmlElement), /* .memSize */ + UA_DATATYPEKIND_XMLELEMENT, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + XmlElement_members /* .members */ +}, +/* NodeId */ +{ + UA_TYPENAME("NodeId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_NodeId), /* .memSize */ + UA_DATATYPEKIND_NODEID, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + NodeId_members /* .members */ +}, +/* ExpandedNodeId */ +{ + UA_TYPENAME("ExpandedNodeId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {18LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ExpandedNodeId), /* .memSize */ + UA_DATATYPEKIND_EXPANDEDNODEID, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ExpandedNodeId_members /* .members */ +}, +/* StatusCode */ +{ + UA_TYPENAME("StatusCode") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {19LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_StatusCode), /* .memSize */ + UA_DATATYPEKIND_STATUSCODE, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + StatusCode_members /* .members */ +}, +/* QualifiedName */ +{ + UA_TYPENAME("QualifiedName") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {20LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_QualifiedName), /* .memSize */ + UA_DATATYPEKIND_QUALIFIEDNAME, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + QualifiedName_members /* .members */ +}, +/* LocalizedText */ +{ + UA_TYPENAME("LocalizedText") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {21LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_LocalizedText), /* .memSize */ + UA_DATATYPEKIND_LOCALIZEDTEXT, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + LocalizedText_members /* .members */ +}, +/* ExtensionObject */ +{ + UA_TYPENAME("ExtensionObject") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {22LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ExtensionObject), /* .memSize */ + UA_DATATYPEKIND_EXTENSIONOBJECT, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ExtensionObject_members /* .members */ +}, +/* DataValue */ +{ + UA_TYPENAME("DataValue") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DataValue), /* .memSize */ + UA_DATATYPEKIND_DATAVALUE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + DataValue_members /* .members */ +}, +/* Variant */ +{ + UA_TYPENAME("Variant") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Variant), /* .memSize */ + UA_DATATYPEKIND_VARIANT, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + Variant_members /* .members */ +}, +/* DiagnosticInfo */ +{ + UA_TYPENAME("DiagnosticInfo") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DiagnosticInfo), /* .memSize */ + UA_DATATYPEKIND_DIAGNOSTICINFO, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + DiagnosticInfo_members /* .members */ +}, +/* NamingRuleType */ +{ + UA_TYPENAME("NamingRuleType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {120LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_NamingRuleType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + NamingRuleType_members /* .members */ +}, +/* Enumeration */ +{ + UA_TYPENAME("Enumeration") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {29LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Enumeration), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + Enumeration_members /* .members */ +}, +/* ImageBMP */ +{ + UA_TYPENAME("ImageBMP") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {2000LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ImageBMP), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ImageBMP_members /* .members */ +}, +/* ImageGIF */ +{ + UA_TYPENAME("ImageGIF") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {2001LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ImageGIF), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ImageGIF_members /* .members */ +}, +/* ImageJPG */ +{ + UA_TYPENAME("ImageJPG") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {2002LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ImageJPG), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ImageJPG_members /* .members */ +}, +/* ImagePNG */ +{ + UA_TYPENAME("ImagePNG") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {2003LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ImagePNG), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ImagePNG_members /* .members */ +}, +/* AudioDataType */ +{ + UA_TYPENAME("AudioDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {16307LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AudioDataType), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + AudioDataType_members /* .members */ +}, +/* UriString */ +{ + UA_TYPENAME("UriString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23751LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UriString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + UriString_members /* .members */ +}, +/* BitFieldMaskDataType */ +{ + UA_TYPENAME("BitFieldMaskDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11737LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_BitFieldMaskDataType), /* .memSize */ + UA_DATATYPEKIND_UINT64, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + BitFieldMaskDataType_members /* .members */ +}, +/* SemanticVersionString */ +{ + UA_TYPENAME("SemanticVersionString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24263LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_SemanticVersionString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + SemanticVersionString_members /* .members */ +}, +/* KeyValuePair */ +{ + UA_TYPENAME("KeyValuePair") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14533LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14846LU}}, /* .binaryEncodingId */ + sizeof(UA_KeyValuePair), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + KeyValuePair_members /* .members */ +}, +/* AdditionalParametersType */ +{ + UA_TYPENAME("AdditionalParametersType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {16313LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {17537LU}}, /* .binaryEncodingId */ + sizeof(UA_AdditionalParametersType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + AdditionalParametersType_members /* .members */ +}, +/* EphemeralKeyType */ +{ + UA_TYPENAME("EphemeralKeyType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17548LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {17549LU}}, /* .binaryEncodingId */ + sizeof(UA_EphemeralKeyType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + EphemeralKeyType_members /* .members */ +}, +/* Handle */ +{ + UA_TYPENAME("Handle") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {31917LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Handle), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + Handle_members /* .members */ +}, +/* TrimmedString */ +{ + UA_TYPENAME("TrimmedString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {31918LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TrimmedString), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + TrimmedString_members /* .members */ +}, +/* RationalNumber */ +{ + UA_TYPENAME("RationalNumber") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {18806LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {18815LU}}, /* .binaryEncodingId */ + sizeof(UA_RationalNumber), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + RationalNumber_members /* .members */ +}, +/* ThreeDVector */ +{ + UA_TYPENAME("ThreeDVector") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {18808LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {18817LU}}, /* .binaryEncodingId */ + sizeof(UA_ThreeDVector), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ThreeDVector_members /* .members */ +}, +/* ThreeDCartesianCoordinates */ +{ + UA_TYPENAME("ThreeDCartesianCoordinates") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {18810LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {18819LU}}, /* .binaryEncodingId */ + sizeof(UA_ThreeDCartesianCoordinates), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ThreeDCartesianCoordinates_members /* .members */ +}, +/* ThreeDOrientation */ +{ + UA_TYPENAME("ThreeDOrientation") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {18812LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {18821LU}}, /* .binaryEncodingId */ + sizeof(UA_ThreeDOrientation), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ThreeDOrientation_members /* .members */ +}, +/* ThreeDFrame */ +{ + UA_TYPENAME("ThreeDFrame") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {18814LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {18823LU}}, /* .binaryEncodingId */ + sizeof(UA_ThreeDFrame), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ThreeDFrame_members /* .members */ +}, +/* OpenFileMode */ +{ + UA_TYPENAME("OpenFileMode") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11939LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_OpenFileMode), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + OpenFileMode_members /* .members */ +}, +/* IdentityCriteriaType */ +{ + UA_TYPENAME("IdentityCriteriaType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15632LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_IdentityCriteriaType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + IdentityCriteriaType_members /* .members */ +}, +/* IdentityMappingRuleType */ +{ + UA_TYPENAME("IdentityMappingRuleType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15634LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15736LU}}, /* .binaryEncodingId */ + sizeof(UA_IdentityMappingRuleType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + IdentityMappingRuleType_members /* .members */ +}, +/* CurrencyUnitType */ +{ + UA_TYPENAME("CurrencyUnitType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23498LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23507LU}}, /* .binaryEncodingId */ + sizeof(UA_CurrencyUnitType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + CurrencyUnitType_members /* .members */ +}, +/* AlarmMask */ +{ + UA_TYPENAME("AlarmMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {32251LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AlarmMask), /* .memSize */ + UA_DATATYPEKIND_UINT16, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + AlarmMask_members /* .members */ +}, +/* TrustListValidationOptions */ +{ + UA_TYPENAME("TrustListValidationOptions") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23564LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TrustListValidationOptions), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TrustListValidationOptions_members /* .members */ +}, +/* TrustListMasks */ +{ + UA_TYPENAME("TrustListMasks") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12552LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TrustListMasks), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TrustListMasks_members /* .members */ +}, +/* TrustListDataType */ +{ + UA_TYPENAME("TrustListDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12554LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12680LU}}, /* .binaryEncodingId */ + sizeof(UA_TrustListDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + TrustListDataType_members /* .members */ +}, +/* TransactionErrorType */ +{ + UA_TYPENAME("TransactionErrorType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {32285LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {32382LU}}, /* .binaryEncodingId */ + sizeof(UA_TransactionErrorType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + TransactionErrorType_members /* .members */ +}, +/* DataTypeDescription */ +{ + UA_TYPENAME("DataTypeDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14525LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {125LU}}, /* .binaryEncodingId */ + sizeof(UA_DataTypeDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DataTypeDescription_members /* .members */ +}, +/* SimpleTypeDescription */ +{ + UA_TYPENAME("SimpleTypeDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15005LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15421LU}}, /* .binaryEncodingId */ + sizeof(UA_SimpleTypeDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + SimpleTypeDescription_members /* .members */ +}, +/* PortableQualifiedName */ +{ + UA_TYPENAME("PortableQualifiedName") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24105LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {24108LU}}, /* .binaryEncodingId */ + sizeof(UA_PortableQualifiedName), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + PortableQualifiedName_members /* .members */ +}, +/* PortableNodeId */ +{ + UA_TYPENAME("PortableNodeId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24106LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {24109LU}}, /* .binaryEncodingId */ + sizeof(UA_PortableNodeId), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + PortableNodeId_members /* .members */ +}, +/* UnsignedRationalNumber */ +{ + UA_TYPENAME("UnsignedRationalNumber") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24107LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {24110LU}}, /* .binaryEncodingId */ + sizeof(UA_UnsignedRationalNumber), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + UnsignedRationalNumber_members /* .members */ +}, +/* PubSubState */ +{ + UA_TYPENAME("PubSubState") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14647LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_PubSubState), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + PubSubState_members /* .members */ +}, +/* DataSetFieldFlags */ +{ + UA_TYPENAME("DataSetFieldFlags") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15904LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DataSetFieldFlags), /* .memSize */ + UA_DATATYPEKIND_UINT16, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DataSetFieldFlags_members /* .members */ +}, +/* ConfigurationVersionDataType */ +{ + UA_TYPENAME("ConfigurationVersionDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14593LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14847LU}}, /* .binaryEncodingId */ + sizeof(UA_ConfigurationVersionDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ConfigurationVersionDataType_members /* .members */ +}, +/* PublishedVariableDataType */ +{ + UA_TYPENAME("PublishedVariableDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14273LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14323LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishedVariableDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 8, /* .membersSize */ + PublishedVariableDataType_members /* .members */ +}, +/* PublishedDataItemsDataType */ +{ + UA_TYPENAME("PublishedDataItemsDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15581LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15679LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishedDataItemsDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + PublishedDataItemsDataType_members /* .members */ +}, +/* PublishedDataSetCustomSourceDataType */ +{ + UA_TYPENAME("PublishedDataSetCustomSourceDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25269LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {25529LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishedDataSetCustomSourceDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + PublishedDataSetCustomSourceDataType_members /* .members */ +}, +/* DataSetFieldContentMask */ +{ + UA_TYPENAME("DataSetFieldContentMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15583LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DataSetFieldContentMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DataSetFieldContentMask_members /* .members */ +}, +/* DataSetWriterDataType */ +{ + UA_TYPENAME("DataSetWriterDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15597LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15682LU}}, /* .binaryEncodingId */ + sizeof(UA_DataSetWriterDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + DataSetWriterDataType_members /* .members */ +}, +/* NetworkAddressDataType */ +{ + UA_TYPENAME("NetworkAddressDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15502LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21151LU}}, /* .binaryEncodingId */ + sizeof(UA_NetworkAddressDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + NetworkAddressDataType_members /* .members */ +}, +/* NetworkAddressUrlDataType */ +{ + UA_TYPENAME("NetworkAddressUrlDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15510LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21152LU}}, /* .binaryEncodingId */ + sizeof(UA_NetworkAddressUrlDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + NetworkAddressUrlDataType_members /* .members */ +}, +/* OverrideValueHandling */ +{ + UA_TYPENAME("OverrideValueHandling") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15874LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_OverrideValueHandling), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + OverrideValueHandling_members /* .members */ +}, +/* StandaloneSubscribedDataSetRefDataType */ +{ + UA_TYPENAME("StandaloneSubscribedDataSetRefDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23599LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23851LU}}, /* .binaryEncodingId */ + sizeof(UA_StandaloneSubscribedDataSetRefDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + StandaloneSubscribedDataSetRefDataType_members /* .members */ +}, +/* DataSetOrderingType */ +{ + UA_TYPENAME("DataSetOrderingType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {20408LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DataSetOrderingType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DataSetOrderingType_members /* .members */ +}, +/* UadpNetworkMessageContentMask */ +{ + UA_TYPENAME("UadpNetworkMessageContentMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15642LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UadpNetworkMessageContentMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UadpNetworkMessageContentMask_members /* .members */ +}, +/* UadpWriterGroupMessageDataType */ +{ + UA_TYPENAME("UadpWriterGroupMessageDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15645LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15715LU}}, /* .binaryEncodingId */ + sizeof(UA_UadpWriterGroupMessageDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + UadpWriterGroupMessageDataType_members /* .members */ +}, +/* UadpDataSetMessageContentMask */ +{ + UA_TYPENAME("UadpDataSetMessageContentMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15646LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UadpDataSetMessageContentMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UadpDataSetMessageContentMask_members /* .members */ +}, +/* UadpDataSetWriterMessageDataType */ +{ + UA_TYPENAME("UadpDataSetWriterMessageDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15652LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15717LU}}, /* .binaryEncodingId */ + sizeof(UA_UadpDataSetWriterMessageDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + UadpDataSetWriterMessageDataType_members /* .members */ +}, +/* UadpDataSetReaderMessageDataType */ +{ + UA_TYPENAME("UadpDataSetReaderMessageDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15653LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15718LU}}, /* .binaryEncodingId */ + sizeof(UA_UadpDataSetReaderMessageDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + UadpDataSetReaderMessageDataType_members /* .members */ +}, +/* JsonNetworkMessageContentMask */ +{ + UA_TYPENAME("JsonNetworkMessageContentMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15654LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_JsonNetworkMessageContentMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + JsonNetworkMessageContentMask_members /* .members */ +}, +/* JsonWriterGroupMessageDataType */ +{ + UA_TYPENAME("JsonWriterGroupMessageDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15657LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15719LU}}, /* .binaryEncodingId */ + sizeof(UA_JsonWriterGroupMessageDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + JsonWriterGroupMessageDataType_members /* .members */ +}, +/* JsonDataSetMessageContentMask */ +{ + UA_TYPENAME("JsonDataSetMessageContentMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15658LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_JsonDataSetMessageContentMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + JsonDataSetMessageContentMask_members /* .members */ +}, +/* JsonDataSetWriterMessageDataType */ +{ + UA_TYPENAME("JsonDataSetWriterMessageDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15664LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15724LU}}, /* .binaryEncodingId */ + sizeof(UA_JsonDataSetWriterMessageDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + JsonDataSetWriterMessageDataType_members /* .members */ +}, +/* JsonDataSetReaderMessageDataType */ +{ + UA_TYPENAME("JsonDataSetReaderMessageDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15665LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15725LU}}, /* .binaryEncodingId */ + sizeof(UA_JsonDataSetReaderMessageDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + JsonDataSetReaderMessageDataType_members /* .members */ +}, +/* TransmitQosPriorityDataType */ +{ + UA_TYPENAME("TransmitQosPriorityDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23605LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23857LU}}, /* .binaryEncodingId */ + sizeof(UA_TransmitQosPriorityDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + TransmitQosPriorityDataType_members /* .members */ +}, +/* ReceiveQosPriorityDataType */ +{ + UA_TYPENAME("ReceiveQosPriorityDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23609LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23861LU}}, /* .binaryEncodingId */ + sizeof(UA_ReceiveQosPriorityDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + ReceiveQosPriorityDataType_members /* .members */ +}, +/* DatagramConnectionTransportDataType */ +{ + UA_TYPENAME("DatagramConnectionTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17467LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {17468LU}}, /* .binaryEncodingId */ + sizeof(UA_DatagramConnectionTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + DatagramConnectionTransportDataType_members /* .members */ +}, +/* DatagramConnectionTransport2DataType */ +{ + UA_TYPENAME("DatagramConnectionTransport2DataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23612LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23864LU}}, /* .binaryEncodingId */ + sizeof(UA_DatagramConnectionTransport2DataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + DatagramConnectionTransport2DataType_members /* .members */ +}, +/* DatagramWriterGroupTransportDataType */ +{ + UA_TYPENAME("DatagramWriterGroupTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15532LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21155LU}}, /* .binaryEncodingId */ + sizeof(UA_DatagramWriterGroupTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DatagramWriterGroupTransportDataType_members /* .members */ +}, +/* DatagramWriterGroupTransport2DataType */ +{ + UA_TYPENAME("DatagramWriterGroupTransport2DataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23613LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23865LU}}, /* .binaryEncodingId */ + sizeof(UA_DatagramWriterGroupTransport2DataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + DatagramWriterGroupTransport2DataType_members /* .members */ +}, +/* DatagramDataSetReaderTransportDataType */ +{ + UA_TYPENAME("DatagramDataSetReaderTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23614LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23866LU}}, /* .binaryEncodingId */ + sizeof(UA_DatagramDataSetReaderTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + DatagramDataSetReaderTransportDataType_members /* .members */ +}, +/* BrokerConnectionTransportDataType */ +{ + UA_TYPENAME("BrokerConnectionTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15007LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15479LU}}, /* .binaryEncodingId */ + sizeof(UA_BrokerConnectionTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + BrokerConnectionTransportDataType_members /* .members */ +}, +/* BrokerTransportQualityOfService */ +{ + UA_TYPENAME("BrokerTransportQualityOfService") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15008LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_BrokerTransportQualityOfService), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + BrokerTransportQualityOfService_members /* .members */ +}, +/* BrokerWriterGroupTransportDataType */ +{ + UA_TYPENAME("BrokerWriterGroupTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15667LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15727LU}}, /* .binaryEncodingId */ + sizeof(UA_BrokerWriterGroupTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + BrokerWriterGroupTransportDataType_members /* .members */ +}, +/* BrokerDataSetWriterTransportDataType */ +{ + UA_TYPENAME("BrokerDataSetWriterTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15669LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15729LU}}, /* .binaryEncodingId */ + sizeof(UA_BrokerDataSetWriterTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + BrokerDataSetWriterTransportDataType_members /* .members */ +}, +/* BrokerDataSetReaderTransportDataType */ +{ + UA_TYPENAME("BrokerDataSetReaderTransportDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15670LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15733LU}}, /* .binaryEncodingId */ + sizeof(UA_BrokerDataSetReaderTransportDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + BrokerDataSetReaderTransportDataType_members /* .members */ +}, +/* PubSubConfigurationRefMask */ +{ + UA_TYPENAME("PubSubConfigurationRefMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25517LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_PubSubConfigurationRefMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + PubSubConfigurationRefMask_members /* .members */ +}, +/* PubSubConfigurationRefDataType */ +{ + UA_TYPENAME("PubSubConfigurationRefDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25519LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {25531LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubConfigurationRefDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + PubSubConfigurationRefDataType_members /* .members */ +}, +/* PubSubConfigurationValueDataType */ +{ + UA_TYPENAME("PubSubConfigurationValueDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25520LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {25532LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubConfigurationValueDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + PubSubConfigurationValueDataType_members /* .members */ +}, +/* DiagnosticsLevel */ +{ + UA_TYPENAME("DiagnosticsLevel") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {19723LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DiagnosticsLevel), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DiagnosticsLevel_members /* .members */ +}, +/* PubSubDiagnosticsCounterClassification */ +{ + UA_TYPENAME("PubSubDiagnosticsCounterClassification") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {19730LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_PubSubDiagnosticsCounterClassification), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + PubSubDiagnosticsCounterClassification_members /* .members */ +}, +/* AliasNameDataType */ +{ + UA_TYPENAME("AliasNameDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23468LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23499LU}}, /* .binaryEncodingId */ + sizeof(UA_AliasNameDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + AliasNameDataType_members /* .members */ +}, +/* PasswordOptionsMask */ +{ + UA_TYPENAME("PasswordOptionsMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24277LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_PasswordOptionsMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + PasswordOptionsMask_members /* .members */ +}, +/* UserConfigurationMask */ +{ + UA_TYPENAME("UserConfigurationMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24279LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UserConfigurationMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UserConfigurationMask_members /* .members */ +}, +/* UserManagementDataType */ +{ + UA_TYPENAME("UserManagementDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24281LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {24292LU}}, /* .binaryEncodingId */ + sizeof(UA_UserManagementDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + UserManagementDataType_members /* .members */ +}, +/* EncodedTicket */ +{ + UA_TYPENAME("EncodedTicket") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25726LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_EncodedTicket), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + EncodedTicket_members /* .members */ +}, +/* Duplex */ +{ + UA_TYPENAME("Duplex") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24210LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Duplex), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + Duplex_members /* .members */ +}, +/* InterfaceAdminStatus */ +{ + UA_TYPENAME("InterfaceAdminStatus") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24212LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_InterfaceAdminStatus), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + InterfaceAdminStatus_members /* .members */ +}, +/* InterfaceOperStatus */ +{ + UA_TYPENAME("InterfaceOperStatus") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24214LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_InterfaceOperStatus), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + InterfaceOperStatus_members /* .members */ +}, +/* NegotiationStatus */ +{ + UA_TYPENAME("NegotiationStatus") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24216LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_NegotiationStatus), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + NegotiationStatus_members /* .members */ +}, +/* TsnFailureCode */ +{ + UA_TYPENAME("TsnFailureCode") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24218LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TsnFailureCode), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TsnFailureCode_members /* .members */ +}, +/* TsnStreamState */ +{ + UA_TYPENAME("TsnStreamState") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24220LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TsnStreamState), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TsnStreamState_members /* .members */ +}, +/* TsnTalkerStatus */ +{ + UA_TYPENAME("TsnTalkerStatus") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24222LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TsnTalkerStatus), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TsnTalkerStatus_members /* .members */ +}, +/* TsnListenerStatus */ +{ + UA_TYPENAME("TsnListenerStatus") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24224LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TsnListenerStatus), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TsnListenerStatus_members /* .members */ +}, +/* PriorityMappingEntryType */ +{ + UA_TYPENAME("PriorityMappingEntryType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25220LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {25239LU}}, /* .binaryEncodingId */ + sizeof(UA_PriorityMappingEntryType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + PriorityMappingEntryType_members /* .members */ +}, +/* ReferenceDescriptionDataType */ +{ + UA_TYPENAME("ReferenceDescriptionDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {32659LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {32661LU}}, /* .binaryEncodingId */ + sizeof(UA_ReferenceDescriptionDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ReferenceDescriptionDataType_members /* .members */ +}, +/* ReferenceListEntryDataType */ +{ + UA_TYPENAME("ReferenceListEntryDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {32660LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {32662LU}}, /* .binaryEncodingId */ + sizeof(UA_ReferenceListEntryDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ReferenceListEntryDataType_members /* .members */ +}, +/* IdType */ +{ + UA_TYPENAME("IdType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {256LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_IdType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + IdType_members /* .members */ +}, +/* NodeClass */ +{ + UA_TYPENAME("NodeClass") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {257LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_NodeClass), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + NodeClass_members /* .members */ +}, +/* PermissionType */ +{ + UA_TYPENAME("PermissionType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {94LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_PermissionType), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + PermissionType_members /* .members */ +}, +/* AccessLevelType */ +{ + UA_TYPENAME("AccessLevelType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15031LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AccessLevelType), /* .memSize */ + UA_DATATYPEKIND_BYTE, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + AccessLevelType_members /* .members */ +}, +/* AccessLevelExType */ +{ + UA_TYPENAME("AccessLevelExType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15406LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AccessLevelExType), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + AccessLevelExType_members /* .members */ +}, +/* EventNotifierType */ +{ + UA_TYPENAME("EventNotifierType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15033LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_EventNotifierType), /* .memSize */ + UA_DATATYPEKIND_BYTE, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + EventNotifierType_members /* .members */ +}, +/* AccessRestrictionType */ +{ + UA_TYPENAME("AccessRestrictionType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {95LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AccessRestrictionType), /* .memSize */ + UA_DATATYPEKIND_UINT16, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + AccessRestrictionType_members /* .members */ +}, +/* RolePermissionType */ +{ + UA_TYPENAME("RolePermissionType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {96LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {128LU}}, /* .binaryEncodingId */ + sizeof(UA_RolePermissionType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + RolePermissionType_members /* .members */ +}, +/* StructureType */ +{ + UA_TYPENAME("StructureType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {98LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_StructureType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + StructureType_members /* .members */ +}, +/* StructureField */ +{ + UA_TYPENAME("StructureField") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {101LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14844LU}}, /* .binaryEncodingId */ + sizeof(UA_StructureField), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + StructureField_members /* .members */ +}, +/* StructureDefinition */ +{ + UA_TYPENAME("StructureDefinition") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {99LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {122LU}}, /* .binaryEncodingId */ + sizeof(UA_StructureDefinition), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + StructureDefinition_members /* .members */ +}, +/* Argument */ +{ + UA_TYPENAME("Argument") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {296LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {298LU}}, /* .binaryEncodingId */ + sizeof(UA_Argument), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + Argument_members /* .members */ +}, +/* EnumValueType */ +{ + UA_TYPENAME("EnumValueType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {7594LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {8251LU}}, /* .binaryEncodingId */ + sizeof(UA_EnumValueType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + EnumValueType_members /* .members */ +}, +/* EnumField */ +{ + UA_TYPENAME("EnumField") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {102LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14845LU}}, /* .binaryEncodingId */ + sizeof(UA_EnumField), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + EnumField_members /* .members */ +}, +/* OptionSet */ +{ + UA_TYPENAME("OptionSet") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12755LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12765LU}}, /* .binaryEncodingId */ + sizeof(UA_OptionSet), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + OptionSet_members /* .members */ +}, +/* NormalizedString */ +{ + UA_TYPENAME("NormalizedString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12877LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_NormalizedString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + NormalizedString_members /* .members */ +}, +/* DecimalString */ +{ + UA_TYPENAME("DecimalString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12878LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DecimalString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + DecimalString_members /* .members */ +}, +/* DurationString */ +{ + UA_TYPENAME("DurationString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12879LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DurationString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + DurationString_members /* .members */ +}, +/* TimeString */ +{ + UA_TYPENAME("TimeString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12880LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TimeString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + TimeString_members /* .members */ +}, +/* DateString */ +{ + UA_TYPENAME("DateString") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12881LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DateString), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + DateString_members /* .members */ +}, +/* Duration */ +{ + UA_TYPENAME("Duration") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {290LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Duration), /* .memSize */ + UA_DATATYPEKIND_DOUBLE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + Duration_members /* .members */ +}, +/* UtcTime */ +{ + UA_TYPENAME("UtcTime") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {294LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UtcTime), /* .memSize */ + UA_DATATYPEKIND_DATETIME, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + UtcTime_members /* .members */ +}, +/* LocaleId */ +{ + UA_TYPENAME("LocaleId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {295LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_LocaleId), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + LocaleId_members /* .members */ +}, +/* TimeZoneDataType */ +{ + UA_TYPENAME("TimeZoneDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {8912LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {8917LU}}, /* .binaryEncodingId */ + sizeof(UA_TimeZoneDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + TimeZoneDataType_members /* .members */ +}, +/* Index */ +{ + UA_TYPENAME("Index") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17588LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Index), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + Index_members /* .members */ +}, +/* IntegerId */ +{ + UA_TYPENAME("IntegerId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {288LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_IntegerId), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + IntegerId_members /* .members */ +}, +/* ApplicationType */ +{ + UA_TYPENAME("ApplicationType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {307LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ApplicationType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + ApplicationType_members /* .members */ +}, +/* ApplicationDescription */ +{ + UA_TYPENAME("ApplicationDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {308LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {310LU}}, /* .binaryEncodingId */ + sizeof(UA_ApplicationDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + ApplicationDescription_members /* .members */ +}, +/* RequestHeader */ +{ + UA_TYPENAME("RequestHeader") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {389LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {391LU}}, /* .binaryEncodingId */ + sizeof(UA_RequestHeader), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + RequestHeader_members /* .members */ +}, +/* ResponseHeader */ +{ + UA_TYPENAME("ResponseHeader") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {392LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {394LU}}, /* .binaryEncodingId */ + sizeof(UA_ResponseHeader), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + ResponseHeader_members /* .members */ +}, +/* VersionTime */ +{ + UA_TYPENAME("VersionTime") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {20998LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_VersionTime), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + VersionTime_members /* .members */ +}, +/* ServiceFault */ +{ + UA_TYPENAME("ServiceFault") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {395LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {397LU}}, /* .binaryEncodingId */ + sizeof(UA_ServiceFault), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + ServiceFault_members /* .members */ +}, +/* SessionlessInvokeRequestType */ +{ + UA_TYPENAME("SessionlessInvokeRequestType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15901LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15903LU}}, /* .binaryEncodingId */ + sizeof(UA_SessionlessInvokeRequestType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + SessionlessInvokeRequestType_members /* .members */ +}, +/* SessionlessInvokeResponseType */ +{ + UA_TYPENAME("SessionlessInvokeResponseType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {20999LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21001LU}}, /* .binaryEncodingId */ + sizeof(UA_SessionlessInvokeResponseType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + SessionlessInvokeResponseType_members /* .members */ +}, +/* FindServersRequest */ +{ + UA_TYPENAME("FindServersRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {420LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {422LU}}, /* .binaryEncodingId */ + sizeof(UA_FindServersRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + FindServersRequest_members /* .members */ +}, +/* FindServersResponse */ +{ + UA_TYPENAME("FindServersResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {423LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {425LU}}, /* .binaryEncodingId */ + sizeof(UA_FindServersResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + FindServersResponse_members /* .members */ +}, +/* ServerOnNetwork */ +{ + UA_TYPENAME("ServerOnNetwork") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12189LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12207LU}}, /* .binaryEncodingId */ + sizeof(UA_ServerOnNetwork), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ServerOnNetwork_members /* .members */ +}, +/* FindServersOnNetworkRequest */ +{ + UA_TYPENAME("FindServersOnNetworkRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12190LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12208LU}}, /* .binaryEncodingId */ + sizeof(UA_FindServersOnNetworkRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + FindServersOnNetworkRequest_members /* .members */ +}, +/* FindServersOnNetworkResponse */ +{ + UA_TYPENAME("FindServersOnNetworkResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12191LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12209LU}}, /* .binaryEncodingId */ + sizeof(UA_FindServersOnNetworkResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + FindServersOnNetworkResponse_members /* .members */ +}, +/* ApplicationInstanceCertificate */ +{ + UA_TYPENAME("ApplicationInstanceCertificate") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {311LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ApplicationInstanceCertificate), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ApplicationInstanceCertificate_members /* .members */ +}, +/* MessageSecurityMode */ +{ + UA_TYPENAME("MessageSecurityMode") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {302LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_MessageSecurityMode), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + MessageSecurityMode_members /* .members */ +}, +/* UserTokenType */ +{ + UA_TYPENAME("UserTokenType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {303LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_UserTokenType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + UserTokenType_members /* .members */ +}, +/* UserTokenPolicy */ +{ + UA_TYPENAME("UserTokenPolicy") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {304LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {306LU}}, /* .binaryEncodingId */ + sizeof(UA_UserTokenPolicy), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + UserTokenPolicy_members /* .members */ +}, +/* EndpointDescription */ +{ + UA_TYPENAME("EndpointDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {312LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {314LU}}, /* .binaryEncodingId */ + sizeof(UA_EndpointDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 8, /* .membersSize */ + EndpointDescription_members /* .members */ +}, +/* GetEndpointsRequest */ +{ + UA_TYPENAME("GetEndpointsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {426LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {428LU}}, /* .binaryEncodingId */ + sizeof(UA_GetEndpointsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + GetEndpointsRequest_members /* .members */ +}, +/* GetEndpointsResponse */ +{ + UA_TYPENAME("GetEndpointsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {429LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {431LU}}, /* .binaryEncodingId */ + sizeof(UA_GetEndpointsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + GetEndpointsResponse_members /* .members */ +}, +/* RegisteredServer */ +{ + UA_TYPENAME("RegisteredServer") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {432LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {434LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisteredServer), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 8, /* .membersSize */ + RegisteredServer_members /* .members */ +}, +/* RegisterServerRequest */ +{ + UA_TYPENAME("RegisterServerRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {435LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {437LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisterServerRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + RegisterServerRequest_members /* .members */ +}, +/* RegisterServerResponse */ +{ + UA_TYPENAME("RegisterServerResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {438LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {440LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisterServerResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + RegisterServerResponse_members /* .members */ +}, +/* MdnsDiscoveryConfiguration */ +{ + UA_TYPENAME("MdnsDiscoveryConfiguration") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12891LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12901LU}}, /* .binaryEncodingId */ + sizeof(UA_MdnsDiscoveryConfiguration), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + MdnsDiscoveryConfiguration_members /* .members */ +}, +/* RegisterServer2Request */ +{ + UA_TYPENAME("RegisterServer2Request") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12193LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12211LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisterServer2Request), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + RegisterServer2Request_members /* .members */ +}, +/* RegisterServer2Response */ +{ + UA_TYPENAME("RegisterServer2Response") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12194LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12212LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisterServer2Response), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + RegisterServer2Response_members /* .members */ +}, +/* SecurityTokenRequestType */ +{ + UA_TYPENAME("SecurityTokenRequestType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {315LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_SecurityTokenRequestType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + SecurityTokenRequestType_members /* .members */ +}, +/* ChannelSecurityToken */ +{ + UA_TYPENAME("ChannelSecurityToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {441LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {443LU}}, /* .binaryEncodingId */ + sizeof(UA_ChannelSecurityToken), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ChannelSecurityToken_members /* .members */ +}, +/* OpenSecureChannelRequest */ +{ + UA_TYPENAME("OpenSecureChannelRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {444LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {446LU}}, /* .binaryEncodingId */ + sizeof(UA_OpenSecureChannelRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + OpenSecureChannelRequest_members /* .members */ +}, +/* OpenSecureChannelResponse */ +{ + UA_TYPENAME("OpenSecureChannelResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {447LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {449LU}}, /* .binaryEncodingId */ + sizeof(UA_OpenSecureChannelResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + OpenSecureChannelResponse_members /* .members */ +}, +/* CloseSecureChannelRequest */ +{ + UA_TYPENAME("CloseSecureChannelRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {450LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {452LU}}, /* .binaryEncodingId */ + sizeof(UA_CloseSecureChannelRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + CloseSecureChannelRequest_members /* .members */ +}, +/* CloseSecureChannelResponse */ +{ + UA_TYPENAME("CloseSecureChannelResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {453LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {455LU}}, /* .binaryEncodingId */ + sizeof(UA_CloseSecureChannelResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + CloseSecureChannelResponse_members /* .members */ +}, +/* SignedSoftwareCertificate */ +{ + UA_TYPENAME("SignedSoftwareCertificate") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {344LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {346LU}}, /* .binaryEncodingId */ + sizeof(UA_SignedSoftwareCertificate), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + SignedSoftwareCertificate_members /* .members */ +}, +/* SessionAuthenticationToken */ +{ + UA_TYPENAME("SessionAuthenticationToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {388LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_SessionAuthenticationToken), /* .memSize */ + UA_DATATYPEKIND_NODEID, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + SessionAuthenticationToken_members /* .members */ +}, +/* SignatureData */ +{ + UA_TYPENAME("SignatureData") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {456LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {458LU}}, /* .binaryEncodingId */ + sizeof(UA_SignatureData), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + SignatureData_members /* .members */ +}, +/* CreateSessionRequest */ +{ + UA_TYPENAME("CreateSessionRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {459LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {461LU}}, /* .binaryEncodingId */ + sizeof(UA_CreateSessionRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + CreateSessionRequest_members /* .members */ +}, +/* CreateSessionResponse */ +{ + UA_TYPENAME("CreateSessionResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {462LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {464LU}}, /* .binaryEncodingId */ + sizeof(UA_CreateSessionResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 10, /* .membersSize */ + CreateSessionResponse_members /* .members */ +}, +/* UserIdentityToken */ +{ + UA_TYPENAME("UserIdentityToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {316LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {318LU}}, /* .binaryEncodingId */ + sizeof(UA_UserIdentityToken), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + UserIdentityToken_members /* .members */ +}, +/* AnonymousIdentityToken */ +{ + UA_TYPENAME("AnonymousIdentityToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {319LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {321LU}}, /* .binaryEncodingId */ + sizeof(UA_AnonymousIdentityToken), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + AnonymousIdentityToken_members /* .members */ +}, +/* UserNameIdentityToken */ +{ + UA_TYPENAME("UserNameIdentityToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {322LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {324LU}}, /* .binaryEncodingId */ + sizeof(UA_UserNameIdentityToken), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + UserNameIdentityToken_members /* .members */ +}, +/* X509IdentityToken */ +{ + UA_TYPENAME("X509IdentityToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {325LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {327LU}}, /* .binaryEncodingId */ + sizeof(UA_X509IdentityToken), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + X509IdentityToken_members /* .members */ +}, +/* IssuedIdentityToken */ +{ + UA_TYPENAME("IssuedIdentityToken") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {938LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {940LU}}, /* .binaryEncodingId */ + sizeof(UA_IssuedIdentityToken), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + IssuedIdentityToken_members /* .members */ +}, +/* RsaEncryptedSecret */ +{ + UA_TYPENAME("RsaEncryptedSecret") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17545LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_RsaEncryptedSecret), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + RsaEncryptedSecret_members /* .members */ +}, +/* EccEncryptedSecret */ +{ + UA_TYPENAME("EccEncryptedSecret") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17546LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_EccEncryptedSecret), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + EccEncryptedSecret_members /* .members */ +}, +/* ActivateSessionRequest */ +{ + UA_TYPENAME("ActivateSessionRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {465LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {467LU}}, /* .binaryEncodingId */ + sizeof(UA_ActivateSessionRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + ActivateSessionRequest_members /* .members */ +}, +/* ActivateSessionResponse */ +{ + UA_TYPENAME("ActivateSessionResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {468LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {470LU}}, /* .binaryEncodingId */ + sizeof(UA_ActivateSessionResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ActivateSessionResponse_members /* .members */ +}, +/* CloseSessionRequest */ +{ + UA_TYPENAME("CloseSessionRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {471LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {473LU}}, /* .binaryEncodingId */ + sizeof(UA_CloseSessionRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + CloseSessionRequest_members /* .members */ +}, +/* CloseSessionResponse */ +{ + UA_TYPENAME("CloseSessionResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {474LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {476LU}}, /* .binaryEncodingId */ + sizeof(UA_CloseSessionResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + CloseSessionResponse_members /* .members */ +}, +/* CancelRequest */ +{ + UA_TYPENAME("CancelRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {477LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {479LU}}, /* .binaryEncodingId */ + sizeof(UA_CancelRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + CancelRequest_members /* .members */ +}, +/* CancelResponse */ +{ + UA_TYPENAME("CancelResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {480LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {482LU}}, /* .binaryEncodingId */ + sizeof(UA_CancelResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + CancelResponse_members /* .members */ +}, +/* NodeAttributesMask */ +{ + UA_TYPENAME("NodeAttributesMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {348LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_NodeAttributesMask), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + NodeAttributesMask_members /* .members */ +}, +/* NodeAttributes */ +{ + UA_TYPENAME("NodeAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {349LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {351LU}}, /* .binaryEncodingId */ + sizeof(UA_NodeAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + NodeAttributes_members /* .members */ +}, +/* ObjectAttributes */ +{ + UA_TYPENAME("ObjectAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {352LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {354LU}}, /* .binaryEncodingId */ + sizeof(UA_ObjectAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + ObjectAttributes_members /* .members */ +}, +/* VariableAttributes */ +{ + UA_TYPENAME("VariableAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {355LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {357LU}}, /* .binaryEncodingId */ + sizeof(UA_VariableAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 13, /* .membersSize */ + VariableAttributes_members /* .members */ +}, +/* MethodAttributes */ +{ + UA_TYPENAME("MethodAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {358LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {360LU}}, /* .binaryEncodingId */ + sizeof(UA_MethodAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + MethodAttributes_members /* .members */ +}, +/* ObjectTypeAttributes */ +{ + UA_TYPENAME("ObjectTypeAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {361LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {363LU}}, /* .binaryEncodingId */ + sizeof(UA_ObjectTypeAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + ObjectTypeAttributes_members /* .members */ +}, +/* VariableTypeAttributes */ +{ + UA_TYPENAME("VariableTypeAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {364LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {366LU}}, /* .binaryEncodingId */ + sizeof(UA_VariableTypeAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 10, /* .membersSize */ + VariableTypeAttributes_members /* .members */ +}, +/* ReferenceTypeAttributes */ +{ + UA_TYPENAME("ReferenceTypeAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {367LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {369LU}}, /* .binaryEncodingId */ + sizeof(UA_ReferenceTypeAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 8, /* .membersSize */ + ReferenceTypeAttributes_members /* .members */ +}, +/* DataTypeAttributes */ +{ + UA_TYPENAME("DataTypeAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {370LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {372LU}}, /* .binaryEncodingId */ + sizeof(UA_DataTypeAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + DataTypeAttributes_members /* .members */ +}, +/* ViewAttributes */ +{ + UA_TYPENAME("ViewAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {373LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {375LU}}, /* .binaryEncodingId */ + sizeof(UA_ViewAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + ViewAttributes_members /* .members */ +}, +/* GenericAttributeValue */ +{ + UA_TYPENAME("GenericAttributeValue") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17606LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {17610LU}}, /* .binaryEncodingId */ + sizeof(UA_GenericAttributeValue), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + GenericAttributeValue_members /* .members */ +}, +/* GenericAttributes */ +{ + UA_TYPENAME("GenericAttributes") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {17607LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {17611LU}}, /* .binaryEncodingId */ + sizeof(UA_GenericAttributes), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + GenericAttributes_members /* .members */ +}, +/* AddNodesItem */ +{ + UA_TYPENAME("AddNodesItem") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {376LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {378LU}}, /* .binaryEncodingId */ + sizeof(UA_AddNodesItem), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + AddNodesItem_members /* .members */ +}, +/* AddNodesResult */ +{ + UA_TYPENAME("AddNodesResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {483LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {485LU}}, /* .binaryEncodingId */ + sizeof(UA_AddNodesResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + AddNodesResult_members /* .members */ +}, +/* AddNodesRequest */ +{ + UA_TYPENAME("AddNodesRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {486LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {488LU}}, /* .binaryEncodingId */ + sizeof(UA_AddNodesRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + AddNodesRequest_members /* .members */ +}, +/* AddNodesResponse */ +{ + UA_TYPENAME("AddNodesResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {489LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {491LU}}, /* .binaryEncodingId */ + sizeof(UA_AddNodesResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + AddNodesResponse_members /* .members */ +}, +/* AddReferencesItem */ +{ + UA_TYPENAME("AddReferencesItem") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {379LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {381LU}}, /* .binaryEncodingId */ + sizeof(UA_AddReferencesItem), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + AddReferencesItem_members /* .members */ +}, +/* AddReferencesRequest */ +{ + UA_TYPENAME("AddReferencesRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {492LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {494LU}}, /* .binaryEncodingId */ + sizeof(UA_AddReferencesRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + AddReferencesRequest_members /* .members */ +}, +/* AddReferencesResponse */ +{ + UA_TYPENAME("AddReferencesResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {495LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {497LU}}, /* .binaryEncodingId */ + sizeof(UA_AddReferencesResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + AddReferencesResponse_members /* .members */ +}, +/* DeleteNodesItem */ +{ + UA_TYPENAME("DeleteNodesItem") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {382LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {384LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteNodesItem), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DeleteNodesItem_members /* .members */ +}, +/* DeleteNodesRequest */ +{ + UA_TYPENAME("DeleteNodesRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {498LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {500LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteNodesRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DeleteNodesRequest_members /* .members */ +}, +/* DeleteNodesResponse */ +{ + UA_TYPENAME("DeleteNodesResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {501LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {503LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteNodesResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + DeleteNodesResponse_members /* .members */ +}, +/* DeleteReferencesItem */ +{ + UA_TYPENAME("DeleteReferencesItem") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {385LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {387LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteReferencesItem), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + DeleteReferencesItem_members /* .members */ +}, +/* DeleteReferencesRequest */ +{ + UA_TYPENAME("DeleteReferencesRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {504LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {506LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteReferencesRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DeleteReferencesRequest_members /* .members */ +}, +/* DeleteReferencesResponse */ +{ + UA_TYPENAME("DeleteReferencesResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {507LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {509LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteReferencesResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + DeleteReferencesResponse_members /* .members */ +}, +/* AttributeWriteMask */ +{ + UA_TYPENAME("AttributeWriteMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {347LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AttributeWriteMask), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + AttributeWriteMask_members /* .members */ +}, +/* BrowseDirection */ +{ + UA_TYPENAME("BrowseDirection") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {510LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_BrowseDirection), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + BrowseDirection_members /* .members */ +}, +/* ViewDescription */ +{ + UA_TYPENAME("ViewDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {511LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {513LU}}, /* .binaryEncodingId */ + sizeof(UA_ViewDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ViewDescription_members /* .members */ +}, +/* BrowseDescription */ +{ + UA_TYPENAME("BrowseDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {514LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {516LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowseDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + BrowseDescription_members /* .members */ +}, +/* BrowseResultMask */ +{ + UA_TYPENAME("BrowseResultMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {517LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_BrowseResultMask), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + BrowseResultMask_members /* .members */ +}, +/* ReferenceDescription */ +{ + UA_TYPENAME("ReferenceDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {518LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {520LU}}, /* .binaryEncodingId */ + sizeof(UA_ReferenceDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + ReferenceDescription_members /* .members */ +}, +/* ContinuationPoint */ +{ + UA_TYPENAME("ContinuationPoint") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {521LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ContinuationPoint), /* .memSize */ + UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + ContinuationPoint_members /* .members */ +}, +/* BrowseResult */ +{ + UA_TYPENAME("BrowseResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {522LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {524LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowseResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + BrowseResult_members /* .members */ +}, +/* BrowseRequest */ +{ + UA_TYPENAME("BrowseRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {525LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {527LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowseRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + BrowseRequest_members /* .members */ +}, +/* BrowseResponse */ +{ + UA_TYPENAME("BrowseResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {528LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {530LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowseResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + BrowseResponse_members /* .members */ +}, +/* BrowseNextRequest */ +{ + UA_TYPENAME("BrowseNextRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {531LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {533LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowseNextRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + BrowseNextRequest_members /* .members */ +}, +/* BrowseNextResponse */ +{ + UA_TYPENAME("BrowseNextResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {534LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {536LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowseNextResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + BrowseNextResponse_members /* .members */ +}, +/* RelativePathElement */ +{ + UA_TYPENAME("RelativePathElement") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {537LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {539LU}}, /* .binaryEncodingId */ + sizeof(UA_RelativePathElement), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + RelativePathElement_members /* .members */ +}, +/* RelativePath */ +{ + UA_TYPENAME("RelativePath") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {540LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {542LU}}, /* .binaryEncodingId */ + sizeof(UA_RelativePath), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + RelativePath_members /* .members */ +}, +/* BrowsePath */ +{ + UA_TYPENAME("BrowsePath") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {543LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {545LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowsePath), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + BrowsePath_members /* .members */ +}, +/* BrowsePathTarget */ +{ + UA_TYPENAME("BrowsePathTarget") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {546LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {548LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowsePathTarget), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + BrowsePathTarget_members /* .members */ +}, +/* BrowsePathResult */ +{ + UA_TYPENAME("BrowsePathResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {549LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {551LU}}, /* .binaryEncodingId */ + sizeof(UA_BrowsePathResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + BrowsePathResult_members /* .members */ +}, +/* TranslateBrowsePathsToNodeIdsRequest */ +{ + UA_TYPENAME("TranslateBrowsePathsToNodeIdsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {552LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {554LU}}, /* .binaryEncodingId */ + sizeof(UA_TranslateBrowsePathsToNodeIdsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + TranslateBrowsePathsToNodeIdsRequest_members /* .members */ +}, +/* TranslateBrowsePathsToNodeIdsResponse */ +{ + UA_TYPENAME("TranslateBrowsePathsToNodeIdsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {555LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {557LU}}, /* .binaryEncodingId */ + sizeof(UA_TranslateBrowsePathsToNodeIdsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + TranslateBrowsePathsToNodeIdsResponse_members /* .members */ +}, +/* RegisterNodesRequest */ +{ + UA_TYPENAME("RegisterNodesRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {558LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {560LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisterNodesRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + RegisterNodesRequest_members /* .members */ +}, +/* RegisterNodesResponse */ +{ + UA_TYPENAME("RegisterNodesResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {561LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {563LU}}, /* .binaryEncodingId */ + sizeof(UA_RegisterNodesResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + RegisterNodesResponse_members /* .members */ +}, +/* UnregisterNodesRequest */ +{ + UA_TYPENAME("UnregisterNodesRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {564LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {566LU}}, /* .binaryEncodingId */ + sizeof(UA_UnregisterNodesRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + UnregisterNodesRequest_members /* .members */ +}, +/* UnregisterNodesResponse */ +{ + UA_TYPENAME("UnregisterNodesResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {567LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {569LU}}, /* .binaryEncodingId */ + sizeof(UA_UnregisterNodesResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + UnregisterNodesResponse_members /* .members */ +}, +/* Counter */ +{ + UA_TYPENAME("Counter") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {289LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_Counter), /* .memSize */ + UA_DATATYPEKIND_UINT32, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + Counter_members /* .members */ +}, +/* OpaqueNumericRange */ +{ + UA_TYPENAME("OpaqueNumericRange") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {291LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_OpaqueNumericRange), /* .memSize */ + UA_DATATYPEKIND_STRING, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 0, /* .membersSize */ + OpaqueNumericRange_members /* .members */ +}, +/* EndpointConfiguration */ +{ + UA_TYPENAME("EndpointConfiguration") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {331LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {333LU}}, /* .binaryEncodingId */ + sizeof(UA_EndpointConfiguration), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + EndpointConfiguration_members /* .members */ +}, +/* QueryDataDescription */ +{ + UA_TYPENAME("QueryDataDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {570LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {572LU}}, /* .binaryEncodingId */ + sizeof(UA_QueryDataDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + QueryDataDescription_members /* .members */ +}, +/* NodeTypeDescription */ +{ + UA_TYPENAME("NodeTypeDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {573LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {575LU}}, /* .binaryEncodingId */ + sizeof(UA_NodeTypeDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + NodeTypeDescription_members /* .members */ +}, +/* FilterOperator */ +{ + UA_TYPENAME("FilterOperator") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {576LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_FilterOperator), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + FilterOperator_members /* .members */ +}, +/* QueryDataSet */ +{ + UA_TYPENAME("QueryDataSet") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {577LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {579LU}}, /* .binaryEncodingId */ + sizeof(UA_QueryDataSet), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + QueryDataSet_members /* .members */ +}, +/* NodeReference */ +{ + UA_TYPENAME("NodeReference") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {580LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {582LU}}, /* .binaryEncodingId */ + sizeof(UA_NodeReference), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + NodeReference_members /* .members */ +}, +/* ContentFilterElement */ +{ + UA_TYPENAME("ContentFilterElement") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {583LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {585LU}}, /* .binaryEncodingId */ + sizeof(UA_ContentFilterElement), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ContentFilterElement_members /* .members */ +}, +/* ContentFilter */ +{ + UA_TYPENAME("ContentFilter") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {586LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {588LU}}, /* .binaryEncodingId */ + sizeof(UA_ContentFilter), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + ContentFilter_members /* .members */ +}, +/* ElementOperand */ +{ + UA_TYPENAME("ElementOperand") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {592LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {594LU}}, /* .binaryEncodingId */ + sizeof(UA_ElementOperand), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + ElementOperand_members /* .members */ +}, +/* LiteralOperand */ +{ + UA_TYPENAME("LiteralOperand") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {595LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {597LU}}, /* .binaryEncodingId */ + sizeof(UA_LiteralOperand), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + LiteralOperand_members /* .members */ +}, +/* AttributeOperand */ +{ + UA_TYPENAME("AttributeOperand") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {598LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {600LU}}, /* .binaryEncodingId */ + sizeof(UA_AttributeOperand), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + AttributeOperand_members /* .members */ +}, +/* SimpleAttributeOperand */ +{ + UA_TYPENAME("SimpleAttributeOperand") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {601LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {603LU}}, /* .binaryEncodingId */ + sizeof(UA_SimpleAttributeOperand), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + SimpleAttributeOperand_members /* .members */ +}, +/* ContentFilterElementResult */ +{ + UA_TYPENAME("ContentFilterElementResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {604LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {606LU}}, /* .binaryEncodingId */ + sizeof(UA_ContentFilterElementResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ContentFilterElementResult_members /* .members */ +}, +/* ContentFilterResult */ +{ + UA_TYPENAME("ContentFilterResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {607LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {609LU}}, /* .binaryEncodingId */ + sizeof(UA_ContentFilterResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ContentFilterResult_members /* .members */ +}, +/* ParsingResult */ +{ + UA_TYPENAME("ParsingResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {610LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {612LU}}, /* .binaryEncodingId */ + sizeof(UA_ParsingResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ParsingResult_members /* .members */ +}, +/* QueryFirstRequest */ +{ + UA_TYPENAME("QueryFirstRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {613LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {615LU}}, /* .binaryEncodingId */ + sizeof(UA_QueryFirstRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + QueryFirstRequest_members /* .members */ +}, +/* QueryFirstResponse */ +{ + UA_TYPENAME("QueryFirstResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {616LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {618LU}}, /* .binaryEncodingId */ + sizeof(UA_QueryFirstResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + QueryFirstResponse_members /* .members */ +}, +/* QueryNextRequest */ +{ + UA_TYPENAME("QueryNextRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {619LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {621LU}}, /* .binaryEncodingId */ + sizeof(UA_QueryNextRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + QueryNextRequest_members /* .members */ +}, +/* QueryNextResponse */ +{ + UA_TYPENAME("QueryNextResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {622LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {624LU}}, /* .binaryEncodingId */ + sizeof(UA_QueryNextResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + QueryNextResponse_members /* .members */ +}, +/* TimestampsToReturn */ +{ + UA_TYPENAME("TimestampsToReturn") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {625LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TimestampsToReturn), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + TimestampsToReturn_members /* .members */ +}, +/* ReadValueId */ +{ + UA_TYPENAME("ReadValueId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {626LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {628LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadValueId), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ReadValueId_members /* .members */ +}, +/* ReadRequest */ +{ + UA_TYPENAME("ReadRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {629LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {631LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ReadRequest_members /* .members */ +}, +/* ReadResponse */ +{ + UA_TYPENAME("ReadResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {632LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {634LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ReadResponse_members /* .members */ +}, +/* HistoryReadValueId */ +{ + UA_TYPENAME("HistoryReadValueId") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {635LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {637LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryReadValueId), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + HistoryReadValueId_members /* .members */ +}, +/* HistoryReadResult */ +{ + UA_TYPENAME("HistoryReadResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {638LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {640LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryReadResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + HistoryReadResult_members /* .members */ +}, +/* ReadRawModifiedDetails */ +{ + UA_TYPENAME("ReadRawModifiedDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {647LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {649LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadRawModifiedDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + ReadRawModifiedDetails_members /* .members */ +}, +/* ReadAtTimeDetails */ +{ + UA_TYPENAME("ReadAtTimeDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {653LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {655LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadAtTimeDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ReadAtTimeDetails_members /* .members */ +}, +/* ReadAnnotationDataDetails */ +{ + UA_TYPENAME("ReadAnnotationDataDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23497LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23500LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadAnnotationDataDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + ReadAnnotationDataDetails_members /* .members */ +}, +/* HistoryData */ +{ + UA_TYPENAME("HistoryData") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {656LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {658LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryData), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + HistoryData_members /* .members */ +}, +/* HistoryReadRequest */ +{ + UA_TYPENAME("HistoryReadRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {662LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {664LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryReadRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + HistoryReadRequest_members /* .members */ +}, +/* HistoryReadResponse */ +{ + UA_TYPENAME("HistoryReadResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {665LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {667LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryReadResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + HistoryReadResponse_members /* .members */ +}, +/* WriteValue */ +{ + UA_TYPENAME("WriteValue") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {668LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {670LU}}, /* .binaryEncodingId */ + sizeof(UA_WriteValue), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + WriteValue_members /* .members */ +}, +/* WriteRequest */ +{ + UA_TYPENAME("WriteRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {671LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {673LU}}, /* .binaryEncodingId */ + sizeof(UA_WriteRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + WriteRequest_members /* .members */ +}, +/* WriteResponse */ +{ + UA_TYPENAME("WriteResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {674LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {676LU}}, /* .binaryEncodingId */ + sizeof(UA_WriteResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + WriteResponse_members /* .members */ +}, +/* HistoryUpdateDetails */ +{ + UA_TYPENAME("HistoryUpdateDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {677LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {679LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryUpdateDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + HistoryUpdateDetails_members /* .members */ +}, +/* HistoryUpdateType */ +{ + UA_TYPENAME("HistoryUpdateType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11234LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_HistoryUpdateType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + HistoryUpdateType_members /* .members */ +}, +/* PerformUpdateType */ +{ + UA_TYPENAME("PerformUpdateType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11293LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_PerformUpdateType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + PerformUpdateType_members /* .members */ +}, +/* UpdateDataDetails */ +{ + UA_TYPENAME("UpdateDataDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {680LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {682LU}}, /* .binaryEncodingId */ + sizeof(UA_UpdateDataDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + UpdateDataDetails_members /* .members */ +}, +/* UpdateStructureDataDetails */ +{ + UA_TYPENAME("UpdateStructureDataDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11295LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {11300LU}}, /* .binaryEncodingId */ + sizeof(UA_UpdateStructureDataDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + UpdateStructureDataDetails_members /* .members */ +}, +/* DeleteRawModifiedDetails */ +{ + UA_TYPENAME("DeleteRawModifiedDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {686LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {688LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteRawModifiedDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + DeleteRawModifiedDetails_members /* .members */ +}, +/* DeleteAtTimeDetails */ +{ + UA_TYPENAME("DeleteAtTimeDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {689LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {691LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteAtTimeDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DeleteAtTimeDetails_members /* .members */ +}, +/* DeleteEventDetails */ +{ + UA_TYPENAME("DeleteEventDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {692LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {694LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteEventDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DeleteEventDetails_members /* .members */ +}, +/* HistoryUpdateResult */ +{ + UA_TYPENAME("HistoryUpdateResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {695LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {697LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryUpdateResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + HistoryUpdateResult_members /* .members */ +}, +/* HistoryUpdateRequest */ +{ + UA_TYPENAME("HistoryUpdateRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {698LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {700LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryUpdateRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + HistoryUpdateRequest_members /* .members */ +}, +/* HistoryUpdateResponse */ +{ + UA_TYPENAME("HistoryUpdateResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {701LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {703LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryUpdateResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + HistoryUpdateResponse_members /* .members */ +}, +/* CallMethodRequest */ +{ + UA_TYPENAME("CallMethodRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {704LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {706LU}}, /* .binaryEncodingId */ + sizeof(UA_CallMethodRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + CallMethodRequest_members /* .members */ +}, +/* CallMethodResult */ +{ + UA_TYPENAME("CallMethodResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {707LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {709LU}}, /* .binaryEncodingId */ + sizeof(UA_CallMethodResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + CallMethodResult_members /* .members */ +}, +/* CallRequest */ +{ + UA_TYPENAME("CallRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {710LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {712LU}}, /* .binaryEncodingId */ + sizeof(UA_CallRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + CallRequest_members /* .members */ +}, +/* CallResponse */ +{ + UA_TYPENAME("CallResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {713LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {715LU}}, /* .binaryEncodingId */ + sizeof(UA_CallResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + CallResponse_members /* .members */ +}, +/* MonitoringMode */ +{ + UA_TYPENAME("MonitoringMode") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {716LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_MonitoringMode), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + MonitoringMode_members /* .members */ +}, +/* DataChangeTrigger */ +{ + UA_TYPENAME("DataChangeTrigger") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {717LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DataChangeTrigger), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DataChangeTrigger_members /* .members */ +}, +/* DeadbandType */ +{ + UA_TYPENAME("DeadbandType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {718LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_DeadbandType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + DeadbandType_members /* .members */ +}, +/* DataChangeFilter */ +{ + UA_TYPENAME("DataChangeFilter") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {722LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {724LU}}, /* .binaryEncodingId */ + sizeof(UA_DataChangeFilter), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + DataChangeFilter_members /* .members */ +}, +/* EventFilter */ +{ + UA_TYPENAME("EventFilter") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {725LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {727LU}}, /* .binaryEncodingId */ + sizeof(UA_EventFilter), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + EventFilter_members /* .members */ +}, +/* AggregateConfiguration */ +{ + UA_TYPENAME("AggregateConfiguration") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {948LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {950LU}}, /* .binaryEncodingId */ + sizeof(UA_AggregateConfiguration), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + AggregateConfiguration_members /* .members */ +}, +/* AggregateFilter */ +{ + UA_TYPENAME("AggregateFilter") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {728LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {730LU}}, /* .binaryEncodingId */ + sizeof(UA_AggregateFilter), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + AggregateFilter_members /* .members */ +}, +/* EventFilterResult */ +{ + UA_TYPENAME("EventFilterResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {734LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {736LU}}, /* .binaryEncodingId */ + sizeof(UA_EventFilterResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + EventFilterResult_members /* .members */ +}, +/* AggregateFilterResult */ +{ + UA_TYPENAME("AggregateFilterResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {737LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {739LU}}, /* .binaryEncodingId */ + sizeof(UA_AggregateFilterResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + AggregateFilterResult_members /* .members */ +}, +/* MonitoringParameters */ +{ + UA_TYPENAME("MonitoringParameters") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {740LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {742LU}}, /* .binaryEncodingId */ + sizeof(UA_MonitoringParameters), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + MonitoringParameters_members /* .members */ +}, +/* MonitoredItemCreateRequest */ +{ + UA_TYPENAME("MonitoredItemCreateRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {743LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {745LU}}, /* .binaryEncodingId */ + sizeof(UA_MonitoredItemCreateRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + MonitoredItemCreateRequest_members /* .members */ +}, +/* MonitoredItemCreateResult */ +{ + UA_TYPENAME("MonitoredItemCreateResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {746LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {748LU}}, /* .binaryEncodingId */ + sizeof(UA_MonitoredItemCreateResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + MonitoredItemCreateResult_members /* .members */ +}, +/* CreateMonitoredItemsRequest */ +{ + UA_TYPENAME("CreateMonitoredItemsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {749LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {751LU}}, /* .binaryEncodingId */ + sizeof(UA_CreateMonitoredItemsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + CreateMonitoredItemsRequest_members /* .members */ +}, +/* CreateMonitoredItemsResponse */ +{ + UA_TYPENAME("CreateMonitoredItemsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {752LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {754LU}}, /* .binaryEncodingId */ + sizeof(UA_CreateMonitoredItemsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + CreateMonitoredItemsResponse_members /* .members */ +}, +/* MonitoredItemModifyRequest */ +{ + UA_TYPENAME("MonitoredItemModifyRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {755LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {757LU}}, /* .binaryEncodingId */ + sizeof(UA_MonitoredItemModifyRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + MonitoredItemModifyRequest_members /* .members */ +}, +/* MonitoredItemModifyResult */ +{ + UA_TYPENAME("MonitoredItemModifyResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {758LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {760LU}}, /* .binaryEncodingId */ + sizeof(UA_MonitoredItemModifyResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + MonitoredItemModifyResult_members /* .members */ +}, +/* ModifyMonitoredItemsRequest */ +{ + UA_TYPENAME("ModifyMonitoredItemsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {761LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {763LU}}, /* .binaryEncodingId */ + sizeof(UA_ModifyMonitoredItemsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ModifyMonitoredItemsRequest_members /* .members */ +}, +/* ModifyMonitoredItemsResponse */ +{ + UA_TYPENAME("ModifyMonitoredItemsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {764LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {766LU}}, /* .binaryEncodingId */ + sizeof(UA_ModifyMonitoredItemsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ModifyMonitoredItemsResponse_members /* .members */ +}, +/* SetMonitoringModeRequest */ +{ + UA_TYPENAME("SetMonitoringModeRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {767LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {769LU}}, /* .binaryEncodingId */ + sizeof(UA_SetMonitoringModeRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + SetMonitoringModeRequest_members /* .members */ +}, +/* SetMonitoringModeResponse */ +{ + UA_TYPENAME("SetMonitoringModeResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {770LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {772LU}}, /* .binaryEncodingId */ + sizeof(UA_SetMonitoringModeResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + SetMonitoringModeResponse_members /* .members */ +}, +/* SetTriggeringRequest */ +{ + UA_TYPENAME("SetTriggeringRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {773LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {775LU}}, /* .binaryEncodingId */ + sizeof(UA_SetTriggeringRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + SetTriggeringRequest_members /* .members */ +}, +/* SetTriggeringResponse */ +{ + UA_TYPENAME("SetTriggeringResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {776LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {778LU}}, /* .binaryEncodingId */ + sizeof(UA_SetTriggeringResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + SetTriggeringResponse_members /* .members */ +}, +/* DeleteMonitoredItemsRequest */ +{ + UA_TYPENAME("DeleteMonitoredItemsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {779LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {781LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteMonitoredItemsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + DeleteMonitoredItemsRequest_members /* .members */ +}, +/* DeleteMonitoredItemsResponse */ +{ + UA_TYPENAME("DeleteMonitoredItemsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {782LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {784LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteMonitoredItemsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + DeleteMonitoredItemsResponse_members /* .members */ +}, +/* CreateSubscriptionRequest */ +{ + UA_TYPENAME("CreateSubscriptionRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {785LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {787LU}}, /* .binaryEncodingId */ + sizeof(UA_CreateSubscriptionRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + CreateSubscriptionRequest_members /* .members */ +}, +/* CreateSubscriptionResponse */ +{ + UA_TYPENAME("CreateSubscriptionResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {788LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {790LU}}, /* .binaryEncodingId */ + sizeof(UA_CreateSubscriptionResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + CreateSubscriptionResponse_members /* .members */ +}, +/* ModifySubscriptionRequest */ +{ + UA_TYPENAME("ModifySubscriptionRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {791LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {793LU}}, /* .binaryEncodingId */ + sizeof(UA_ModifySubscriptionRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + ModifySubscriptionRequest_members /* .members */ +}, +/* ModifySubscriptionResponse */ +{ + UA_TYPENAME("ModifySubscriptionResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {794LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {796LU}}, /* .binaryEncodingId */ + sizeof(UA_ModifySubscriptionResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ModifySubscriptionResponse_members /* .members */ +}, +/* SetPublishingModeRequest */ +{ + UA_TYPENAME("SetPublishingModeRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {797LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {799LU}}, /* .binaryEncodingId */ + sizeof(UA_SetPublishingModeRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + SetPublishingModeRequest_members /* .members */ +}, +/* SetPublishingModeResponse */ +{ + UA_TYPENAME("SetPublishingModeResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {800LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {802LU}}, /* .binaryEncodingId */ + sizeof(UA_SetPublishingModeResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + SetPublishingModeResponse_members /* .members */ +}, +/* NotificationMessage */ +{ + UA_TYPENAME("NotificationMessage") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {803LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {805LU}}, /* .binaryEncodingId */ + sizeof(UA_NotificationMessage), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + NotificationMessage_members /* .members */ +}, +/* MonitoredItemNotification */ +{ + UA_TYPENAME("MonitoredItemNotification") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {806LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {808LU}}, /* .binaryEncodingId */ + sizeof(UA_MonitoredItemNotification), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + MonitoredItemNotification_members /* .members */ +}, +/* EventFieldList */ +{ + UA_TYPENAME("EventFieldList") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {917LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {919LU}}, /* .binaryEncodingId */ + sizeof(UA_EventFieldList), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + EventFieldList_members /* .members */ +}, +/* HistoryEventFieldList */ +{ + UA_TYPENAME("HistoryEventFieldList") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {920LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {922LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryEventFieldList), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + HistoryEventFieldList_members /* .members */ +}, +/* StatusChangeNotification */ +{ + UA_TYPENAME("StatusChangeNotification") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {818LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {820LU}}, /* .binaryEncodingId */ + sizeof(UA_StatusChangeNotification), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + StatusChangeNotification_members /* .members */ +}, +/* SubscriptionAcknowledgement */ +{ + UA_TYPENAME("SubscriptionAcknowledgement") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {821LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {823LU}}, /* .binaryEncodingId */ + sizeof(UA_SubscriptionAcknowledgement), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + SubscriptionAcknowledgement_members /* .members */ +}, +/* PublishRequest */ +{ + UA_TYPENAME("PublishRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {824LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {826LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + PublishRequest_members /* .members */ +}, +/* PublishResponse */ +{ + UA_TYPENAME("PublishResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {827LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {829LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + PublishResponse_members /* .members */ +}, +/* RepublishRequest */ +{ + UA_TYPENAME("RepublishRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {830LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {832LU}}, /* .binaryEncodingId */ + sizeof(UA_RepublishRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + RepublishRequest_members /* .members */ +}, +/* RepublishResponse */ +{ + UA_TYPENAME("RepublishResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {833LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {835LU}}, /* .binaryEncodingId */ + sizeof(UA_RepublishResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + RepublishResponse_members /* .members */ +}, +/* TransferResult */ +{ + UA_TYPENAME("TransferResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {836LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {838LU}}, /* .binaryEncodingId */ + sizeof(UA_TransferResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + TransferResult_members /* .members */ +}, +/* TransferSubscriptionsRequest */ +{ + UA_TYPENAME("TransferSubscriptionsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {839LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {841LU}}, /* .binaryEncodingId */ + sizeof(UA_TransferSubscriptionsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + TransferSubscriptionsRequest_members /* .members */ +}, +/* TransferSubscriptionsResponse */ +{ + UA_TYPENAME("TransferSubscriptionsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {842LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {844LU}}, /* .binaryEncodingId */ + sizeof(UA_TransferSubscriptionsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + TransferSubscriptionsResponse_members /* .members */ +}, +/* DeleteSubscriptionsRequest */ +{ + UA_TYPENAME("DeleteSubscriptionsRequest") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {845LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {847LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteSubscriptionsRequest), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DeleteSubscriptionsRequest_members /* .members */ +}, +/* DeleteSubscriptionsResponse */ +{ + UA_TYPENAME("DeleteSubscriptionsResponse") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {848LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {850LU}}, /* .binaryEncodingId */ + sizeof(UA_DeleteSubscriptionsResponse), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + DeleteSubscriptionsResponse_members /* .members */ +}, +/* BuildInfo */ +{ + UA_TYPENAME("BuildInfo") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {338LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {340LU}}, /* .binaryEncodingId */ + sizeof(UA_BuildInfo), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + BuildInfo_members /* .members */ +}, +/* RedundancySupport */ +{ + UA_TYPENAME("RedundancySupport") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {851LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_RedundancySupport), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + RedundancySupport_members /* .members */ +}, +/* ServerState */ +{ + UA_TYPENAME("ServerState") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {852LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ServerState), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + ServerState_members /* .members */ +}, +/* RedundantServerDataType */ +{ + UA_TYPENAME("RedundantServerDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {853LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {855LU}}, /* .binaryEncodingId */ + sizeof(UA_RedundantServerDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + RedundantServerDataType_members /* .members */ +}, +/* EndpointUrlListDataType */ +{ + UA_TYPENAME("EndpointUrlListDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11943LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {11957LU}}, /* .binaryEncodingId */ + sizeof(UA_EndpointUrlListDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + EndpointUrlListDataType_members /* .members */ +}, +/* NetworkGroupDataType */ +{ + UA_TYPENAME("NetworkGroupDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11944LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {11958LU}}, /* .binaryEncodingId */ + sizeof(UA_NetworkGroupDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + NetworkGroupDataType_members /* .members */ +}, +/* SamplingIntervalDiagnosticsDataType */ +{ + UA_TYPENAME("SamplingIntervalDiagnosticsDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {856LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {858LU}}, /* .binaryEncodingId */ + sizeof(UA_SamplingIntervalDiagnosticsDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + SamplingIntervalDiagnosticsDataType_members /* .members */ +}, +/* ServerDiagnosticsSummaryDataType */ +{ + UA_TYPENAME("ServerDiagnosticsSummaryDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {859LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {861LU}}, /* .binaryEncodingId */ + sizeof(UA_ServerDiagnosticsSummaryDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 12, /* .membersSize */ + ServerDiagnosticsSummaryDataType_members /* .members */ +}, +/* ServerStatusDataType */ +{ + UA_TYPENAME("ServerStatusDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {862LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {864LU}}, /* .binaryEncodingId */ + sizeof(UA_ServerStatusDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + ServerStatusDataType_members /* .members */ +}, +/* SessionSecurityDiagnosticsDataType */ +{ + UA_TYPENAME("SessionSecurityDiagnosticsDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {868LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {870LU}}, /* .binaryEncodingId */ + sizeof(UA_SessionSecurityDiagnosticsDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + SessionSecurityDiagnosticsDataType_members /* .members */ +}, +/* ServiceCounterDataType */ +{ + UA_TYPENAME("ServiceCounterDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {871LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {873LU}}, /* .binaryEncodingId */ + sizeof(UA_ServiceCounterDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ServiceCounterDataType_members /* .members */ +}, +/* StatusResult */ +{ + UA_TYPENAME("StatusResult") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {299LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {301LU}}, /* .binaryEncodingId */ + sizeof(UA_StatusResult), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + StatusResult_members /* .members */ +}, +/* SubscriptionDiagnosticsDataType */ +{ + UA_TYPENAME("SubscriptionDiagnosticsDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {874LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {876LU}}, /* .binaryEncodingId */ + sizeof(UA_SubscriptionDiagnosticsDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 31, /* .membersSize */ + SubscriptionDiagnosticsDataType_members /* .members */ +}, +/* ModelChangeStructureVerbMask */ +{ + UA_TYPENAME("ModelChangeStructureVerbMask") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11941LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ModelChangeStructureVerbMask), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + ModelChangeStructureVerbMask_members /* .members */ +}, +/* ModelChangeStructureDataType */ +{ + UA_TYPENAME("ModelChangeStructureDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {877LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {879LU}}, /* .binaryEncodingId */ + sizeof(UA_ModelChangeStructureDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ModelChangeStructureDataType_members /* .members */ +}, +/* SemanticChangeStructureDataType */ +{ + UA_TYPENAME("SemanticChangeStructureDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {897LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {899LU}}, /* .binaryEncodingId */ + sizeof(UA_SemanticChangeStructureDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + SemanticChangeStructureDataType_members /* .members */ +}, +/* Range */ +{ + UA_TYPENAME("Range") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {884LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {886LU}}, /* .binaryEncodingId */ + sizeof(UA_Range), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + Range_members /* .members */ +}, +/* EUInformation */ +{ + UA_TYPENAME("EUInformation") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {887LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {889LU}}, /* .binaryEncodingId */ + sizeof(UA_EUInformation), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + EUInformation_members /* .members */ +}, +/* AxisScaleEnumeration */ +{ + UA_TYPENAME("AxisScaleEnumeration") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12077LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AxisScaleEnumeration), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + AxisScaleEnumeration_members /* .members */ +}, +/* ComplexNumberType */ +{ + UA_TYPENAME("ComplexNumberType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12171LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12181LU}}, /* .binaryEncodingId */ + sizeof(UA_ComplexNumberType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + ComplexNumberType_members /* .members */ +}, +/* DoubleComplexNumberType */ +{ + UA_TYPENAME("DoubleComplexNumberType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12172LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12182LU}}, /* .binaryEncodingId */ + sizeof(UA_DoubleComplexNumberType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DoubleComplexNumberType_members /* .members */ +}, +/* AxisInformation */ +{ + UA_TYPENAME("AxisInformation") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12079LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12089LU}}, /* .binaryEncodingId */ + sizeof(UA_AxisInformation), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + AxisInformation_members /* .members */ +}, +/* XVType */ +{ + UA_TYPENAME("XVType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {12080LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {12090LU}}, /* .binaryEncodingId */ + sizeof(UA_XVType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + XVType_members /* .members */ +}, +/* ProgramDiagnosticDataType */ +{ + UA_TYPENAME("ProgramDiagnosticDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {894LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {896LU}}, /* .binaryEncodingId */ + sizeof(UA_ProgramDiagnosticDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 10, /* .membersSize */ + ProgramDiagnosticDataType_members /* .members */ +}, +/* ProgramDiagnostic2DataType */ +{ + UA_TYPENAME("ProgramDiagnostic2DataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {24033LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {24034LU}}, /* .binaryEncodingId */ + sizeof(UA_ProgramDiagnostic2DataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 12, /* .membersSize */ + ProgramDiagnostic2DataType_members /* .members */ +}, +/* Annotation */ +{ + UA_TYPENAME("Annotation") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {891LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {893LU}}, /* .binaryEncodingId */ + sizeof(UA_Annotation), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + Annotation_members /* .members */ +}, +/* ExceptionDeviationFormat */ +{ + UA_TYPENAME("ExceptionDeviationFormat") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {890LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ExceptionDeviationFormat), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + ExceptionDeviationFormat_members /* .members */ +}, +/* EndpointType */ +{ + UA_TYPENAME("EndpointType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15528LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15671LU}}, /* .binaryEncodingId */ + sizeof(UA_EndpointType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + EndpointType_members /* .members */ +}, +/* StructureDescription */ +{ + UA_TYPENAME("StructureDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15487LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {126LU}}, /* .binaryEncodingId */ + sizeof(UA_StructureDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + StructureDescription_members /* .members */ +}, +/* FieldMetaData */ +{ + UA_TYPENAME("FieldMetaData") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14524LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14839LU}}, /* .binaryEncodingId */ + sizeof(UA_FieldMetaData), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 10, /* .membersSize */ + FieldMetaData_members /* .members */ +}, +/* PublishedEventsDataType */ +{ + UA_TYPENAME("PublishedEventsDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15582LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15681LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishedEventsDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + PublishedEventsDataType_members /* .members */ +}, +/* PubSubGroupDataType */ +{ + UA_TYPENAME("PubSubGroupDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15609LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15689LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubGroupDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + PubSubGroupDataType_members /* .members */ +}, +/* WriterGroupDataType */ +{ + UA_TYPENAME("WriterGroupDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15480LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21150LU}}, /* .binaryEncodingId */ + sizeof(UA_WriterGroupDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 16, /* .membersSize */ + WriterGroupDataType_members /* .members */ +}, +/* FieldTargetDataType */ +{ + UA_TYPENAME("FieldTargetDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14744LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {14848LU}}, /* .binaryEncodingId */ + sizeof(UA_FieldTargetDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + FieldTargetDataType_members /* .members */ +}, +/* SubscribedDataSetMirrorDataType */ +{ + UA_TYPENAME("SubscribedDataSetMirrorDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15635LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15713LU}}, /* .binaryEncodingId */ + sizeof(UA_SubscribedDataSetMirrorDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + SubscribedDataSetMirrorDataType_members /* .members */ +}, +/* SecurityGroupDataType */ +{ + UA_TYPENAME("SecurityGroupDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23601LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23853LU}}, /* .binaryEncodingId */ + sizeof(UA_SecurityGroupDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + SecurityGroupDataType_members /* .members */ +}, +/* PubSubKeyPushTargetDataType */ +{ + UA_TYPENAME("PubSubKeyPushTargetDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {25270LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {25530LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubKeyPushTargetDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + PubSubKeyPushTargetDataType_members /* .members */ +}, +/* EnumDefinition */ +{ + UA_TYPENAME("EnumDefinition") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {100LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {123LU}}, /* .binaryEncodingId */ + sizeof(UA_EnumDefinition), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + EnumDefinition_members /* .members */ +}, +/* ReadEventDetails */ +{ + UA_TYPENAME("ReadEventDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {644LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {646LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadEventDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + ReadEventDetails_members /* .members */ +}, +/* ReadProcessedDetails */ +{ + UA_TYPENAME("ReadProcessedDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {650LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {652LU}}, /* .binaryEncodingId */ + sizeof(UA_ReadProcessedDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + ReadProcessedDetails_members /* .members */ +}, +/* ModificationInfo */ +{ + UA_TYPENAME("ModificationInfo") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11216LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {11226LU}}, /* .binaryEncodingId */ + sizeof(UA_ModificationInfo), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + ModificationInfo_members /* .members */ +}, +/* HistoryModifiedData */ +{ + UA_TYPENAME("HistoryModifiedData") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {11217LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {11227LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryModifiedData), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + HistoryModifiedData_members /* .members */ +}, +/* HistoryEvent */ +{ + UA_TYPENAME("HistoryEvent") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {659LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {661LU}}, /* .binaryEncodingId */ + sizeof(UA_HistoryEvent), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + HistoryEvent_members /* .members */ +}, +/* UpdateEventDetails */ +{ + UA_TYPENAME("UpdateEventDetails") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {683LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {685LU}}, /* .binaryEncodingId */ + sizeof(UA_UpdateEventDetails), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + UpdateEventDetails_members /* .members */ +}, +/* DataChangeNotification */ +{ + UA_TYPENAME("DataChangeNotification") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {809LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {811LU}}, /* .binaryEncodingId */ + sizeof(UA_DataChangeNotification), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + DataChangeNotification_members /* .members */ +}, +/* EventNotificationList */ +{ + UA_TYPENAME("EventNotificationList") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {914LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {916LU}}, /* .binaryEncodingId */ + sizeof(UA_EventNotificationList), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + EventNotificationList_members /* .members */ +}, +/* SessionDiagnosticsDataType */ +{ + UA_TYPENAME("SessionDiagnosticsDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {865LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {867LU}}, /* .binaryEncodingId */ + sizeof(UA_SessionDiagnosticsDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 43, /* .membersSize */ + SessionDiagnosticsDataType_members /* .members */ +}, +/* EnumDescription */ +{ + UA_TYPENAME("EnumDescription") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15488LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {127LU}}, /* .binaryEncodingId */ + sizeof(UA_EnumDescription), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + EnumDescription_members /* .members */ +}, +/* UABinaryFileDataType */ +{ + UA_TYPENAME("UABinaryFileDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15006LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15422LU}}, /* .binaryEncodingId */ + sizeof(UA_UABinaryFileDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 7, /* .membersSize */ + UABinaryFileDataType_members /* .members */ +}, +/* DataSetMetaDataType */ +{ + UA_TYPENAME("DataSetMetaDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {14523LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {124LU}}, /* .binaryEncodingId */ + sizeof(UA_DataSetMetaDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + DataSetMetaDataType_members /* .members */ +}, +/* PublishedDataSetDataType */ +{ + UA_TYPENAME("PublishedDataSetDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15578LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15677LU}}, /* .binaryEncodingId */ + sizeof(UA_PublishedDataSetDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + PublishedDataSetDataType_members /* .members */ +}, +/* DataSetReaderDataType */ +{ + UA_TYPENAME("DataSetReaderDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15623LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15703LU}}, /* .binaryEncodingId */ + sizeof(UA_DataSetReaderDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 17, /* .membersSize */ + DataSetReaderDataType_members /* .members */ +}, +/* TargetVariablesDataType */ +{ + UA_TYPENAME("TargetVariablesDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15631LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15712LU}}, /* .binaryEncodingId */ + sizeof(UA_TargetVariablesDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 1, /* .membersSize */ + TargetVariablesDataType_members /* .members */ +}, +/* StandaloneSubscribedDataSetDataType */ +{ + UA_TYPENAME("StandaloneSubscribedDataSetDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23600LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23852LU}}, /* .binaryEncodingId */ + sizeof(UA_StandaloneSubscribedDataSetDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + StandaloneSubscribedDataSetDataType_members /* .members */ +}, +/* DataTypeSchemaHeader */ +{ + UA_TYPENAME("DataTypeSchemaHeader") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15534LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15676LU}}, /* .binaryEncodingId */ + sizeof(UA_DataTypeSchemaHeader), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 4, /* .membersSize */ + DataTypeSchemaHeader_members /* .members */ +}, +/* ReaderGroupDataType */ +{ + UA_TYPENAME("ReaderGroupDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15520LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21153LU}}, /* .binaryEncodingId */ + sizeof(UA_ReaderGroupDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 10, /* .membersSize */ + ReaderGroupDataType_members /* .members */ +}, +/* PubSubConnectionDataType */ +{ + UA_TYPENAME("PubSubConnectionDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15617LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {15694LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubConnectionDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 9, /* .membersSize */ + PubSubConnectionDataType_members /* .members */ +}, +/* PubSubConfigurationDataType */ +{ + UA_TYPENAME("PubSubConfigurationDataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {15530LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {21154LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubConfigurationDataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + PubSubConfigurationDataType_members /* .members */ +}, +/* PubSubConfiguration2DataType */ +{ + UA_TYPENAME("PubSubConfiguration2DataType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {23602LU}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {23854LU}}, /* .binaryEncodingId */ + sizeof(UA_PubSubConfiguration2DataType), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 10, /* .membersSize */ + PubSubConfiguration2DataType_members /* .members */ +}, +}; + + +/**** amalgamated original file "/build/src_generated/open62541/transport_generated.c" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + + +/* MessageType */ +#define MessageType_members NULL + +/* ChunkType */ +#define ChunkType_members NULL + +/* TcpMessageHeader */ +static UA_DataTypeMember TcpMessageHeader_members[2] = { +{ + UA_TYPENAME("MessageTypeAndChunkType") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpMessageHeader, messageSize) - offsetof(UA_TcpMessageHeader, messageTypeAndChunkType) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TcpHelloMessage */ +static UA_DataTypeMember TcpHelloMessage_members[6] = { +{ + UA_TYPENAME("ProtocolVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReceiveBufferSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpHelloMessage, receiveBufferSize) - offsetof(UA_TcpHelloMessage, protocolVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SendBufferSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpHelloMessage, sendBufferSize) - offsetof(UA_TcpHelloMessage, receiveBufferSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpHelloMessage, maxMessageSize) - offsetof(UA_TcpHelloMessage, sendBufferSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxChunkCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpHelloMessage, maxChunkCount) - offsetof(UA_TcpHelloMessage, maxMessageSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_TcpHelloMessage, endpointUrl) - offsetof(UA_TcpHelloMessage, maxChunkCount) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TcpReverseHelloMessage */ +static UA_DataTypeMember TcpReverseHelloMessage_members[2] = { +{ + UA_TYPENAME("ServerUri") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("EndpointUrl") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_TcpReverseHelloMessage, endpointUrl) - offsetof(UA_TcpReverseHelloMessage, serverUri) - sizeof(UA_String), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TcpAcknowledgeMessage */ +static UA_DataTypeMember TcpAcknowledgeMessage_members[5] = { +{ + UA_TYPENAME("ProtocolVersion") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReceiveBufferSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpAcknowledgeMessage, receiveBufferSize) - offsetof(UA_TcpAcknowledgeMessage, protocolVersion) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SendBufferSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpAcknowledgeMessage, sendBufferSize) - offsetof(UA_TcpAcknowledgeMessage, receiveBufferSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxMessageSize") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpAcknowledgeMessage, maxMessageSize) - offsetof(UA_TcpAcknowledgeMessage, sendBufferSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("MaxChunkCount") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_TcpAcknowledgeMessage, maxChunkCount) - offsetof(UA_TcpAcknowledgeMessage, maxMessageSize) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* TcpErrorMessage */ +static UA_DataTypeMember TcpErrorMessage_members[2] = { +{ + UA_TYPENAME("Error") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("Reason") /* .memberName */ + &UA_TYPES[UA_TYPES_STRING], /* .memberType */ + offsetof(UA_TcpErrorMessage, reason) - offsetof(UA_TcpErrorMessage, error) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* AsymmetricAlgorithmSecurityHeader */ +static UA_DataTypeMember AsymmetricAlgorithmSecurityHeader_members[3] = { +{ + UA_TYPENAME("SecurityPolicyUri") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("SenderCertificate") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_AsymmetricAlgorithmSecurityHeader, senderCertificate) - offsetof(UA_AsymmetricAlgorithmSecurityHeader, securityPolicyUri) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("ReceiverCertificateThumbprint") /* .memberName */ + &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ + offsetof(UA_AsymmetricAlgorithmSecurityHeader, receiverCertificateThumbprint) - offsetof(UA_AsymmetricAlgorithmSecurityHeader, senderCertificate) - sizeof(UA_ByteString), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; + +/* SequenceHeader */ +static UA_DataTypeMember SequenceHeader_members[2] = { +{ + UA_TYPENAME("SequenceNumber") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + 0, /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +}, +{ + UA_TYPENAME("RequestId") /* .memberName */ + &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ + offsetof(UA_SequenceHeader, requestId) - offsetof(UA_SequenceHeader, sequenceNumber) - sizeof(UA_UInt32), /* .padding */ + false, /* .isArray */ + false /* .isOptional */ +},}; +UA_DataType UA_TRANSPORT[UA_TRANSPORT_COUNT] = { +/* MessageType */ +{ + UA_TYPENAME("MessageType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_MessageType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + MessageType_members /* .members */ +}, +/* ChunkType */ +{ + UA_TYPENAME("ChunkType") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_ChunkType), /* .memSize */ + UA_DATATYPEKIND_ENUM, /* .typeKind */ + true, /* .pointerFree */ + UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ + 0, /* .membersSize */ + ChunkType_members /* .members */ +}, +/* TcpMessageHeader */ +{ + UA_TYPENAME("TcpMessageHeader") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TcpMessageHeader), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + TcpMessageHeader_members /* .members */ +}, +/* TcpHelloMessage */ +{ + UA_TYPENAME("TcpHelloMessage") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TcpHelloMessage), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 6, /* .membersSize */ + TcpHelloMessage_members /* .members */ +}, +/* TcpReverseHelloMessage */ +{ + UA_TYPENAME("TcpReverseHelloMessage") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TcpReverseHelloMessage), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + TcpReverseHelloMessage_members /* .members */ +}, +/* TcpAcknowledgeMessage */ +{ + UA_TYPENAME("TcpAcknowledgeMessage") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TcpAcknowledgeMessage), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 5, /* .membersSize */ + TcpAcknowledgeMessage_members /* .members */ +}, +/* TcpErrorMessage */ +{ + UA_TYPENAME("TcpErrorMessage") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_TcpErrorMessage), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + TcpErrorMessage_members /* .members */ +}, +/* AsymmetricAlgorithmSecurityHeader */ +{ + UA_TYPENAME("AsymmetricAlgorithmSecurityHeader") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_AsymmetricAlgorithmSecurityHeader), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + false, /* .pointerFree */ + false, /* .overlayable */ + 3, /* .membersSize */ + AsymmetricAlgorithmSecurityHeader_members /* .members */ +}, +/* SequenceHeader */ +{ + UA_TYPENAME("SequenceHeader") /* .typeName */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ + {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ + sizeof(UA_SequenceHeader), /* .memSize */ + UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ + true, /* .pointerFree */ + false, /* .overlayable */ + 2, /* .membersSize */ + SequenceHeader_members /* .members */ +}, +}; + + +/**** amalgamated original file "/build/src_generated/open62541/statuscodes.c" ****/ + +/********************************** + * Autogenerated -- do not modify * + **********************************/ + + +typedef struct { + UA_StatusCode code; + const char *name; +} UA_StatusCodeName; + +#ifndef UA_ENABLE_STATUSCODE_DESCRIPTIONS +static const char * emptyStatusCodeName = ""; +const char * UA_StatusCode_name(UA_StatusCode code) { + return emptyStatusCodeName; +} +#else +static const size_t statusCodeDescriptionsSize = 266; +static const UA_StatusCodeName statusCodeDescriptions[266] = { + {UA_STATUSCODE_GOOD, "Good"}, + {UA_STATUSCODE_GOOD, "Good"}, + {UA_STATUSCODE_UNCERTAIN, "Uncertain"}, + {UA_STATUSCODE_BAD, "Bad"}, + {UA_STATUSCODE_BADUNEXPECTEDERROR, "BadUnexpectedError"}, + {UA_STATUSCODE_BADINTERNALERROR, "BadInternalError"}, + {UA_STATUSCODE_BADOUTOFMEMORY, "BadOutOfMemory"}, + {UA_STATUSCODE_BADRESOURCEUNAVAILABLE, "BadResourceUnavailable"}, + {UA_STATUSCODE_BADCOMMUNICATIONERROR, "BadCommunicationError"}, + {UA_STATUSCODE_BADENCODINGERROR, "BadEncodingError"}, + {UA_STATUSCODE_BADDECODINGERROR, "BadDecodingError"}, + {UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED, "BadEncodingLimitsExceeded"}, + {UA_STATUSCODE_BADREQUESTTOOLARGE, "BadRequestTooLarge"}, + {UA_STATUSCODE_BADRESPONSETOOLARGE, "BadResponseTooLarge"}, + {UA_STATUSCODE_BADUNKNOWNRESPONSE, "BadUnknownResponse"}, + {UA_STATUSCODE_BADTIMEOUT, "BadTimeout"}, + {UA_STATUSCODE_BADSERVICEUNSUPPORTED, "BadServiceUnsupported"}, + {UA_STATUSCODE_BADSHUTDOWN, "BadShutdown"}, + {UA_STATUSCODE_BADSERVERNOTCONNECTED, "BadServerNotConnected"}, + {UA_STATUSCODE_BADSERVERHALTED, "BadServerHalted"}, + {UA_STATUSCODE_BADNOTHINGTODO, "BadNothingToDo"}, + {UA_STATUSCODE_BADTOOMANYOPERATIONS, "BadTooManyOperations"}, + {UA_STATUSCODE_BADTOOMANYMONITOREDITEMS, "BadTooManyMonitoredItems"}, + {UA_STATUSCODE_BADDATATYPEIDUNKNOWN, "BadDataTypeIdUnknown"}, + {UA_STATUSCODE_BADCERTIFICATEINVALID, "BadCertificateInvalid"}, + {UA_STATUSCODE_BADSECURITYCHECKSFAILED, "BadSecurityChecksFailed"}, + {UA_STATUSCODE_BADCERTIFICATEPOLICYCHECKFAILED, "BadCertificatePolicyCheckFailed"}, + {UA_STATUSCODE_BADCERTIFICATETIMEINVALID, "BadCertificateTimeInvalid"}, + {UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID, "BadCertificateIssuerTimeInvalid"}, + {UA_STATUSCODE_BADCERTIFICATEHOSTNAMEINVALID, "BadCertificateHostNameInvalid"}, + {UA_STATUSCODE_BADCERTIFICATEURIINVALID, "BadCertificateUriInvalid"}, + {UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED, "BadCertificateUseNotAllowed"}, + {UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED, "BadCertificateIssuerUseNotAllowed"}, + {UA_STATUSCODE_BADCERTIFICATEUNTRUSTED, "BadCertificateUntrusted"}, + {UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN, "BadCertificateRevocationUnknown"}, + {UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN, "BadCertificateIssuerRevocationUnknown"}, + {UA_STATUSCODE_BADCERTIFICATEREVOKED, "BadCertificateRevoked"}, + {UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED, "BadCertificateIssuerRevoked"}, + {UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE, "BadCertificateChainIncomplete"}, + {UA_STATUSCODE_BADUSERACCESSDENIED, "BadUserAccessDenied"}, + {UA_STATUSCODE_BADIDENTITYTOKENINVALID, "BadIdentityTokenInvalid"}, + {UA_STATUSCODE_BADIDENTITYTOKENREJECTED, "BadIdentityTokenRejected"}, + {UA_STATUSCODE_BADSECURECHANNELIDINVALID, "BadSecureChannelIdInvalid"}, + {UA_STATUSCODE_BADINVALIDTIMESTAMP, "BadInvalidTimestamp"}, + {UA_STATUSCODE_BADNONCEINVALID, "BadNonceInvalid"}, + {UA_STATUSCODE_BADSESSIONIDINVALID, "BadSessionIdInvalid"}, + {UA_STATUSCODE_BADSESSIONCLOSED, "BadSessionClosed"}, + {UA_STATUSCODE_BADSESSIONNOTACTIVATED, "BadSessionNotActivated"}, + {UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID, "BadSubscriptionIdInvalid"}, + {UA_STATUSCODE_BADREQUESTHEADERINVALID, "BadRequestHeaderInvalid"}, + {UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID, "BadTimestampsToReturnInvalid"}, + {UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT, "BadRequestCancelledByClient"}, + {UA_STATUSCODE_BADTOOMANYARGUMENTS, "BadTooManyArguments"}, + {UA_STATUSCODE_BADLICENSEEXPIRED, "BadLicenseExpired"}, + {UA_STATUSCODE_BADLICENSELIMITSEXCEEDED, "BadLicenseLimitsExceeded"}, + {UA_STATUSCODE_BADLICENSENOTAVAILABLE, "BadLicenseNotAvailable"}, + {UA_STATUSCODE_GOODSUBSCRIPTIONTRANSFERRED, "GoodSubscriptionTransferred"}, + {UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY, "GoodCompletesAsynchronously"}, + {UA_STATUSCODE_GOODOVERLOAD, "GoodOverload"}, + {UA_STATUSCODE_GOODCLAMPED, "GoodClamped"}, + {UA_STATUSCODE_BADNOCOMMUNICATION, "BadNoCommunication"}, + {UA_STATUSCODE_BADWAITINGFORINITIALDATA, "BadWaitingForInitialData"}, + {UA_STATUSCODE_BADNODEIDINVALID, "BadNodeIdInvalid"}, + {UA_STATUSCODE_BADNODEIDUNKNOWN, "BadNodeIdUnknown"}, + {UA_STATUSCODE_BADATTRIBUTEIDINVALID, "BadAttributeIdInvalid"}, + {UA_STATUSCODE_BADINDEXRANGEINVALID, "BadIndexRangeInvalid"}, + {UA_STATUSCODE_BADINDEXRANGENODATA, "BadIndexRangeNoData"}, + {UA_STATUSCODE_BADDATAENCODINGINVALID, "BadDataEncodingInvalid"}, + {UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED, "BadDataEncodingUnsupported"}, + {UA_STATUSCODE_BADNOTREADABLE, "BadNotReadable"}, + {UA_STATUSCODE_BADNOTWRITABLE, "BadNotWritable"}, + {UA_STATUSCODE_BADOUTOFRANGE, "BadOutOfRange"}, + {UA_STATUSCODE_BADNOTSUPPORTED, "BadNotSupported"}, + {UA_STATUSCODE_BADNOTFOUND, "BadNotFound"}, + {UA_STATUSCODE_BADOBJECTDELETED, "BadObjectDeleted"}, + {UA_STATUSCODE_BADNOTIMPLEMENTED, "BadNotImplemented"}, + {UA_STATUSCODE_BADMONITORINGMODEINVALID, "BadMonitoringModeInvalid"}, + {UA_STATUSCODE_BADMONITOREDITEMIDINVALID, "BadMonitoredItemIdInvalid"}, + {UA_STATUSCODE_BADMONITOREDITEMFILTERINVALID, "BadMonitoredItemFilterInvalid"}, + {UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED, "BadMonitoredItemFilterUnsupported"}, + {UA_STATUSCODE_BADFILTERNOTALLOWED, "BadFilterNotAllowed"}, + {UA_STATUSCODE_BADSTRUCTUREMISSING, "BadStructureMissing"}, + {UA_STATUSCODE_BADEVENTFILTERINVALID, "BadEventFilterInvalid"}, + {UA_STATUSCODE_BADCONTENTFILTERINVALID, "BadContentFilterInvalid"}, + {UA_STATUSCODE_BADFILTEROPERATORINVALID, "BadFilterOperatorInvalid"}, + {UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED, "BadFilterOperatorUnsupported"}, + {UA_STATUSCODE_BADFILTEROPERANDCOUNTMISMATCH, "BadFilterOperandCountMismatch"}, + {UA_STATUSCODE_BADFILTEROPERANDINVALID, "BadFilterOperandInvalid"}, + {UA_STATUSCODE_BADFILTERELEMENTINVALID, "BadFilterElementInvalid"}, + {UA_STATUSCODE_BADFILTERLITERALINVALID, "BadFilterLiteralInvalid"}, + {UA_STATUSCODE_BADCONTINUATIONPOINTINVALID, "BadContinuationPointInvalid"}, + {UA_STATUSCODE_BADNOCONTINUATIONPOINTS, "BadNoContinuationPoints"}, + {UA_STATUSCODE_BADREFERENCETYPEIDINVALID, "BadReferenceTypeIdInvalid"}, + {UA_STATUSCODE_BADBROWSEDIRECTIONINVALID, "BadBrowseDirectionInvalid"}, + {UA_STATUSCODE_BADNODENOTINVIEW, "BadNodeNotInView"}, + {UA_STATUSCODE_BADNUMERICOVERFLOW, "BadNumericOverflow"}, + {UA_STATUSCODE_BADSERVERURIINVALID, "BadServerUriInvalid"}, + {UA_STATUSCODE_BADSERVERNAMEMISSING, "BadServerNameMissing"}, + {UA_STATUSCODE_BADDISCOVERYURLMISSING, "BadDiscoveryUrlMissing"}, + {UA_STATUSCODE_BADSEMPAHOREFILEMISSING, "BadSempahoreFileMissing"}, + {UA_STATUSCODE_BADREQUESTTYPEINVALID, "BadRequestTypeInvalid"}, + {UA_STATUSCODE_BADSECURITYMODEREJECTED, "BadSecurityModeRejected"}, + {UA_STATUSCODE_BADSECURITYPOLICYREJECTED, "BadSecurityPolicyRejected"}, + {UA_STATUSCODE_BADTOOMANYSESSIONS, "BadTooManySessions"}, + {UA_STATUSCODE_BADUSERSIGNATUREINVALID, "BadUserSignatureInvalid"}, + {UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID, "BadApplicationSignatureInvalid"}, + {UA_STATUSCODE_BADNOVALIDCERTIFICATES, "BadNoValidCertificates"}, + {UA_STATUSCODE_BADIDENTITYCHANGENOTSUPPORTED, "BadIdentityChangeNotSupported"}, + {UA_STATUSCODE_BADREQUESTCANCELLEDBYREQUEST, "BadRequestCancelledByRequest"}, + {UA_STATUSCODE_BADPARENTNODEIDINVALID, "BadParentNodeIdInvalid"}, + {UA_STATUSCODE_BADREFERENCENOTALLOWED, "BadReferenceNotAllowed"}, + {UA_STATUSCODE_BADNODEIDREJECTED, "BadNodeIdRejected"}, + {UA_STATUSCODE_BADNODEIDEXISTS, "BadNodeIdExists"}, + {UA_STATUSCODE_BADNODECLASSINVALID, "BadNodeClassInvalid"}, + {UA_STATUSCODE_BADBROWSENAMEINVALID, "BadBrowseNameInvalid"}, + {UA_STATUSCODE_BADBROWSENAMEDUPLICATED, "BadBrowseNameDuplicated"}, + {UA_STATUSCODE_BADNODEATTRIBUTESINVALID, "BadNodeAttributesInvalid"}, + {UA_STATUSCODE_BADTYPEDEFINITIONINVALID, "BadTypeDefinitionInvalid"}, + {UA_STATUSCODE_BADSOURCENODEIDINVALID, "BadSourceNodeIdInvalid"}, + {UA_STATUSCODE_BADTARGETNODEIDINVALID, "BadTargetNodeIdInvalid"}, + {UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED, "BadDuplicateReferenceNotAllowed"}, + {UA_STATUSCODE_BADINVALIDSELFREFERENCE, "BadInvalidSelfReference"}, + {UA_STATUSCODE_BADREFERENCELOCALONLY, "BadReferenceLocalOnly"}, + {UA_STATUSCODE_BADNODELETERIGHTS, "BadNoDeleteRights"}, + {UA_STATUSCODE_UNCERTAINREFERENCENOTDELETED, "UncertainReferenceNotDeleted"}, + {UA_STATUSCODE_BADSERVERINDEXINVALID, "BadServerIndexInvalid"}, + {UA_STATUSCODE_BADVIEWIDUNKNOWN, "BadViewIdUnknown"}, + {UA_STATUSCODE_BADVIEWTIMESTAMPINVALID, "BadViewTimestampInvalid"}, + {UA_STATUSCODE_BADVIEWPARAMETERMISMATCH, "BadViewParameterMismatch"}, + {UA_STATUSCODE_BADVIEWVERSIONINVALID, "BadViewVersionInvalid"}, + {UA_STATUSCODE_UNCERTAINNOTALLNODESAVAILABLE, "UncertainNotAllNodesAvailable"}, + {UA_STATUSCODE_GOODRESULTSMAYBEINCOMPLETE, "GoodResultsMayBeIncomplete"}, + {UA_STATUSCODE_BADNOTTYPEDEFINITION, "BadNotTypeDefinition"}, + {UA_STATUSCODE_UNCERTAINREFERENCEOUTOFSERVER, "UncertainReferenceOutOfServer"}, + {UA_STATUSCODE_BADTOOMANYMATCHES, "BadTooManyMatches"}, + {UA_STATUSCODE_BADQUERYTOOCOMPLEX, "BadQueryTooComplex"}, + {UA_STATUSCODE_BADNOMATCH, "BadNoMatch"}, + {UA_STATUSCODE_BADMAXAGEINVALID, "BadMaxAgeInvalid"}, + {UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT, "BadSecurityModeInsufficient"}, + {UA_STATUSCODE_BADHISTORYOPERATIONINVALID, "BadHistoryOperationInvalid"}, + {UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED, "BadHistoryOperationUnsupported"}, + {UA_STATUSCODE_BADINVALIDTIMESTAMPARGUMENT, "BadInvalidTimestampArgument"}, + {UA_STATUSCODE_BADWRITENOTSUPPORTED, "BadWriteNotSupported"}, + {UA_STATUSCODE_BADTYPEMISMATCH, "BadTypeMismatch"}, + {UA_STATUSCODE_BADMETHODINVALID, "BadMethodInvalid"}, + {UA_STATUSCODE_BADARGUMENTSMISSING, "BadArgumentsMissing"}, + {UA_STATUSCODE_BADNOTEXECUTABLE, "BadNotExecutable"}, + {UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS, "BadTooManySubscriptions"}, + {UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS, "BadTooManyPublishRequests"}, + {UA_STATUSCODE_BADNOSUBSCRIPTION, "BadNoSubscription"}, + {UA_STATUSCODE_BADSEQUENCENUMBERUNKNOWN, "BadSequenceNumberUnknown"}, + {UA_STATUSCODE_GOODRETRANSMISSIONQUEUENOTSUPPORTED, "GoodRetransmissionQueueNotSupported"}, + {UA_STATUSCODE_BADMESSAGENOTAVAILABLE, "BadMessageNotAvailable"}, + {UA_STATUSCODE_BADINSUFFICIENTCLIENTPROFILE, "BadInsufficientClientProfile"}, + {UA_STATUSCODE_BADSTATENOTACTIVE, "BadStateNotActive"}, + {UA_STATUSCODE_BADALREADYEXISTS, "BadAlreadyExists"}, + {UA_STATUSCODE_BADTCPSERVERTOOBUSY, "BadTcpServerTooBusy"}, + {UA_STATUSCODE_BADTCPMESSAGETYPEINVALID, "BadTcpMessageTypeInvalid"}, + {UA_STATUSCODE_BADTCPSECURECHANNELUNKNOWN, "BadTcpSecureChannelUnknown"}, + {UA_STATUSCODE_BADTCPMESSAGETOOLARGE, "BadTcpMessageTooLarge"}, + {UA_STATUSCODE_BADTCPNOTENOUGHRESOURCES, "BadTcpNotEnoughResources"}, + {UA_STATUSCODE_BADTCPINTERNALERROR, "BadTcpInternalError"}, + {UA_STATUSCODE_BADTCPENDPOINTURLINVALID, "BadTcpEndpointUrlInvalid"}, + {UA_STATUSCODE_BADREQUESTINTERRUPTED, "BadRequestInterrupted"}, + {UA_STATUSCODE_BADREQUESTTIMEOUT, "BadRequestTimeout"}, + {UA_STATUSCODE_BADSECURECHANNELCLOSED, "BadSecureChannelClosed"}, + {UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN, "BadSecureChannelTokenUnknown"}, + {UA_STATUSCODE_BADSEQUENCENUMBERINVALID, "BadSequenceNumberInvalid"}, + {UA_STATUSCODE_BADPROTOCOLVERSIONUNSUPPORTED, "BadProtocolVersionUnsupported"}, + {UA_STATUSCODE_BADCONFIGURATIONERROR, "BadConfigurationError"}, + {UA_STATUSCODE_BADNOTCONNECTED, "BadNotConnected"}, + {UA_STATUSCODE_BADDEVICEFAILURE, "BadDeviceFailure"}, + {UA_STATUSCODE_BADSENSORFAILURE, "BadSensorFailure"}, + {UA_STATUSCODE_BADOUTOFSERVICE, "BadOutOfService"}, + {UA_STATUSCODE_BADDEADBANDFILTERINVALID, "BadDeadbandFilterInvalid"}, + {UA_STATUSCODE_UNCERTAINNOCOMMUNICATIONLASTUSABLEVALUE, "UncertainNoCommunicationLastUsableValue"}, + {UA_STATUSCODE_UNCERTAINLASTUSABLEVALUE, "UncertainLastUsableValue"}, + {UA_STATUSCODE_UNCERTAINSUBSTITUTEVALUE, "UncertainSubstituteValue"}, + {UA_STATUSCODE_UNCERTAININITIALVALUE, "UncertainInitialValue"}, + {UA_STATUSCODE_UNCERTAINSENSORNOTACCURATE, "UncertainSensorNotAccurate"}, + {UA_STATUSCODE_UNCERTAINENGINEERINGUNITSEXCEEDED, "UncertainEngineeringUnitsExceeded"}, + {UA_STATUSCODE_UNCERTAINSUBNORMAL, "UncertainSubNormal"}, + {UA_STATUSCODE_GOODLOCALOVERRIDE, "GoodLocalOverride"}, + {UA_STATUSCODE_BADREFRESHINPROGRESS, "BadRefreshInProgress"}, + {UA_STATUSCODE_BADCONDITIONALREADYDISABLED, "BadConditionAlreadyDisabled"}, + {UA_STATUSCODE_BADCONDITIONALREADYENABLED, "BadConditionAlreadyEnabled"}, + {UA_STATUSCODE_BADCONDITIONDISABLED, "BadConditionDisabled"}, + {UA_STATUSCODE_BADEVENTIDUNKNOWN, "BadEventIdUnknown"}, + {UA_STATUSCODE_BADEVENTNOTACKNOWLEDGEABLE, "BadEventNotAcknowledgeable"}, + {UA_STATUSCODE_BADDIALOGNOTACTIVE, "BadDialogNotActive"}, + {UA_STATUSCODE_BADDIALOGRESPONSEINVALID, "BadDialogResponseInvalid"}, + {UA_STATUSCODE_BADCONDITIONBRANCHALREADYACKED, "BadConditionBranchAlreadyAcked"}, + {UA_STATUSCODE_BADCONDITIONBRANCHALREADYCONFIRMED, "BadConditionBranchAlreadyConfirmed"}, + {UA_STATUSCODE_BADCONDITIONALREADYSHELVED, "BadConditionAlreadyShelved"}, + {UA_STATUSCODE_BADCONDITIONNOTSHELVED, "BadConditionNotShelved"}, + {UA_STATUSCODE_BADSHELVINGTIMEOUTOFRANGE, "BadShelvingTimeOutOfRange"}, + {UA_STATUSCODE_BADNODATA, "BadNoData"}, + {UA_STATUSCODE_BADBOUNDNOTFOUND, "BadBoundNotFound"}, + {UA_STATUSCODE_BADBOUNDNOTSUPPORTED, "BadBoundNotSupported"}, + {UA_STATUSCODE_BADDATALOST, "BadDataLost"}, + {UA_STATUSCODE_BADDATAUNAVAILABLE, "BadDataUnavailable"}, + {UA_STATUSCODE_BADENTRYEXISTS, "BadEntryExists"}, + {UA_STATUSCODE_BADNOENTRYEXISTS, "BadNoEntryExists"}, + {UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED, "BadTimestampNotSupported"}, + {UA_STATUSCODE_GOODENTRYINSERTED, "GoodEntryInserted"}, + {UA_STATUSCODE_GOODENTRYREPLACED, "GoodEntryReplaced"}, + {UA_STATUSCODE_UNCERTAINDATASUBNORMAL, "UncertainDataSubNormal"}, + {UA_STATUSCODE_GOODNODATA, "GoodNoData"}, + {UA_STATUSCODE_GOODMOREDATA, "GoodMoreData"}, + {UA_STATUSCODE_BADAGGREGATELISTMISMATCH, "BadAggregateListMismatch"}, + {UA_STATUSCODE_BADAGGREGATENOTSUPPORTED, "BadAggregateNotSupported"}, + {UA_STATUSCODE_BADAGGREGATEINVALIDINPUTS, "BadAggregateInvalidInputs"}, + {UA_STATUSCODE_BADAGGREGATECONFIGURATIONREJECTED, "BadAggregateConfigurationRejected"}, + {UA_STATUSCODE_GOODDATAIGNORED, "GoodDataIgnored"}, + {UA_STATUSCODE_BADREQUESTNOTALLOWED, "BadRequestNotAllowed"}, + {UA_STATUSCODE_BADREQUESTNOTCOMPLETE, "BadRequestNotComplete"}, + {UA_STATUSCODE_BADTRANSACTIONPENDING, "BadTransactionPending"}, + {UA_STATUSCODE_BADTICKETREQUIRED, "BadTicketRequired"}, + {UA_STATUSCODE_BADTICKETINVALID, "BadTicketInvalid"}, + {UA_STATUSCODE_BADLOCKED, "BadLocked"}, + {UA_STATUSCODE_GOODEDITED, "GoodEdited"}, + {UA_STATUSCODE_GOODPOSTACTIONFAILED, "GoodPostActionFailed"}, + {UA_STATUSCODE_UNCERTAINDOMINANTVALUECHANGED, "UncertainDominantValueChanged"}, + {UA_STATUSCODE_GOODDEPENDENTVALUECHANGED, "GoodDependentValueChanged"}, + {UA_STATUSCODE_BADDOMINANTVALUECHANGED, "BadDominantValueChanged"}, + {UA_STATUSCODE_UNCERTAINDEPENDENTVALUECHANGED, "UncertainDependentValueChanged"}, + {UA_STATUSCODE_BADDEPENDENTVALUECHANGED, "BadDependentValueChanged"}, + {UA_STATUSCODE_GOODEDITED_DEPENDENTVALUECHANGED, "GoodEdited_DependentValueChanged"}, + {UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED, "GoodEdited_DominantValueChanged"}, + {UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED, "GoodEdited_DominantValueChanged_DependentValueChanged"}, + {UA_STATUSCODE_BADEDITED_OUTOFRANGE, "BadEdited_OutOfRange"}, + {UA_STATUSCODE_BADINITIALVALUE_OUTOFRANGE, "BadInitialValue_OutOfRange"}, + {UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED, "BadOutOfRange_DominantValueChanged"}, + {UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED, "BadEdited_OutOfRange_DominantValueChanged"}, + {UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED, "BadOutOfRange_DominantValueChanged_DependentValueChanged"}, + {UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED, "BadEdited_OutOfRange_DominantValueChanged_DependentValueChanged"}, + {UA_STATUSCODE_GOODCOMMUNICATIONEVENT, "GoodCommunicationEvent"}, + {UA_STATUSCODE_GOODSHUTDOWNEVENT, "GoodShutdownEvent"}, + {UA_STATUSCODE_GOODCALLAGAIN, "GoodCallAgain"}, + {UA_STATUSCODE_GOODNONCRITICALTIMEOUT, "GoodNonCriticalTimeout"}, + {UA_STATUSCODE_BADINVALIDARGUMENT, "BadInvalidArgument"}, + {UA_STATUSCODE_BADCONNECTIONREJECTED, "BadConnectionRejected"}, + {UA_STATUSCODE_BADDISCONNECT, "BadDisconnect"}, + {UA_STATUSCODE_BADCONNECTIONCLOSED, "BadConnectionClosed"}, + {UA_STATUSCODE_BADINVALIDSTATE, "BadInvalidState"}, + {UA_STATUSCODE_BADENDOFSTREAM, "BadEndOfStream"}, + {UA_STATUSCODE_BADNODATAAVAILABLE, "BadNoDataAvailable"}, + {UA_STATUSCODE_BADWAITINGFORRESPONSE, "BadWaitingForResponse"}, + {UA_STATUSCODE_BADOPERATIONABANDONED, "BadOperationAbandoned"}, + {UA_STATUSCODE_BADEXPECTEDSTREAMTOBLOCK, "BadExpectedStreamToBlock"}, + {UA_STATUSCODE_BADWOULDBLOCK, "BadWouldBlock"}, + {UA_STATUSCODE_BADSYNTAXERROR, "BadSyntaxError"}, + {UA_STATUSCODE_BADMAXCONNECTIONSREACHED, "BadMaxConnectionsReached"}, + {UA_STATUSCODE_UNCERTAINTRANSDUCERINMANUAL, "UncertainTransducerInManual"}, + {UA_STATUSCODE_UNCERTAINSIMULATEDVALUE, "UncertainSimulatedValue"}, + {UA_STATUSCODE_UNCERTAINSENSORCALIBRATION, "UncertainSensorCalibration"}, + {UA_STATUSCODE_UNCERTAINCONFIGURATIONERROR, "UncertainConfigurationError"}, + {UA_STATUSCODE_GOODCASCADEINITIALIZATIONACKNOWLEDGED, "GoodCascadeInitializationAcknowledged"}, + {UA_STATUSCODE_GOODCASCADEINITIALIZATIONREQUEST, "GoodCascadeInitializationRequest"}, + {UA_STATUSCODE_GOODCASCADENOTINVITED, "GoodCascadeNotInvited"}, + {UA_STATUSCODE_GOODCASCADENOTSELECTED, "GoodCascadeNotSelected"}, + {UA_STATUSCODE_GOODFAULTSTATEACTIVE, "GoodFaultStateActive"}, + {UA_STATUSCODE_GOODINITIATEFAULTSTATE, "GoodInitiateFaultState"}, + {UA_STATUSCODE_GOODCASCADE, "GoodCascade"}, + {UA_STATUSCODE_BADDATASETIDINVALID, "BadDataSetIdInvalid"}, + {0xffffffff, "Unknown StatusCode"} +}; + +const char * UA_StatusCode_name(UA_StatusCode code) { + for (size_t i = 0; i < statusCodeDescriptionsSize; ++i) { + if (UA_StatusCode_isEqualTop(statusCodeDescriptions[i].code,code)) + return statusCodeDescriptions[i].name; + } + return statusCodeDescriptions[statusCodeDescriptionsSize-1].name; +} + +#endif + +/**** amalgamated original file "/src/ua_util.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014, 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014 (c) Florian Palm + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + +/* If UA_ENABLE_INLINABLE_EXPORT is enabled, then this file is the compilation + * unit for the generated code from UA_INLINABLE definitions. */ +#define UA_INLINABLE_IMPL 1 + + + +static UA_DataTypeKind +typeEquivalence(const UA_DataType *t) { + UA_DataTypeKind k = (UA_DataTypeKind)t->typeKind; + if(k == UA_DATATYPEKIND_ENUM) + return UA_DATATYPEKIND_INT32; + return k; +} + +void +adjustType(UA_Variant *value, const UA_DataType *targetType) { + /* If the value is empty, there is nothing we can do here */ + const UA_DataType *type = value->type; + if(!type || !targetType) + return; + + /* A string is written to a byte array. the valuerank and array dimensions + * are checked later */ + if(targetType == &UA_TYPES[UA_TYPES_BYTE] && + type == &UA_TYPES[UA_TYPES_BYTESTRING] && + UA_Variant_isScalar(value)) { + UA_ByteString *str = (UA_ByteString*)value->data; + value->type = &UA_TYPES[UA_TYPES_BYTE]; + value->arrayLength = str->length; + value->data = str->data; + return; + } + + /* An enum was sent as an int32, or an opaque type as a bytestring. This + * is detected with the typeKind indicating the "true" datatype. */ + UA_DataTypeKind te1 = typeEquivalence(targetType); + UA_DataTypeKind te2 = typeEquivalence(type); + if(te1 == te2 && te1 <= UA_DATATYPEKIND_ENUM) { + value->type = targetType; + return; + } + + /* Add more possible type adjustments here. What are they? */ +} + +size_t +UA_readNumberWithBase(const UA_Byte *buf, size_t buflen, UA_UInt32 *number, UA_Byte base) { + UA_assert(buf); + UA_assert(number); + u32 n = 0; + size_t progress = 0; + /* read numbers until the end or a non-number character appears */ + while(progress < buflen) { + u8 c = buf[progress]; + if(c >= '0' && c <= '9' && c <= '0' + (base-1)) + n = (n * base) + c - '0'; + else if(base > 9 && c >= 'a' && c <= 'z' && c <= 'a' + (base-11)) + n = (n * base) + c-'a' + 10; + else if(base > 9 && c >= 'A' && c <= 'Z' && c <= 'A' + (base-11)) + n = (n * base) + c-'A' + 10; + else + break; + ++progress; + } + *number = n; + return progress; +} + +size_t +UA_readNumber(const UA_Byte *buf, size_t buflen, UA_UInt32 *number) { + return UA_readNumberWithBase(buf, buflen, number, 10); +} + +struct urlSchema { + const char *schema; +}; + +static const struct urlSchema schemas[] = { + {"opc.tcp://"}, + {"opc.udp://"}, + {"opc.eth://"}, + {"opc.mqtt://"} +}; + +static const unsigned scNumSchemas = sizeof(schemas) / sizeof(schemas[0]); +static const unsigned scEthSchemaIdx = 2; + +UA_StatusCode +UA_parseEndpointUrl(const UA_String *endpointUrl, UA_String *outHostname, + UA_UInt16 *outPort, UA_String *outPath) { + /* Url must begin with "opc.tcp://" or opc.udp:// (if pubsub enabled) */ + if(endpointUrl->length < 11) { + return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; + } + + /* Which type of schema is this? */ + unsigned schemaType = 0; + for(; schemaType < scNumSchemas; schemaType++) { + if(strncmp((char*)endpointUrl->data, + schemas[schemaType].schema, + strlen(schemas[schemaType].schema)) == 0) + break; + } + if(schemaType == scNumSchemas) + return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; + + /* Forward the current position until the first colon or slash */ + size_t start = strlen(schemas[schemaType].schema); + size_t curr = start; + UA_Boolean ipv6 = false; + if(endpointUrl->length > curr && endpointUrl->data[curr] == '[') { + /* IPv6: opc.tcp://[2001:0db8:85a3::8a2e:0370:7334]:1234/path */ + for(; curr < endpointUrl->length; ++curr) { + if(endpointUrl->data[curr] == ']') + break; + } + if(curr == endpointUrl->length) + return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; + curr++; + ipv6 = true; + } else { + /* IPv4 or hostname: opc.tcp://something.something:1234/path */ + for(; curr < endpointUrl->length; ++curr) { + if(endpointUrl->data[curr] == ':' || endpointUrl->data[curr] == '/') + break; + } + } + + /* Set the hostname */ + if(ipv6) { + /* Skip the ipv6 '[]' container for getaddrinfo() later */ + outHostname->data = &endpointUrl->data[start+1]; + outHostname->length = curr - (start+2); + } else { + outHostname->data = &endpointUrl->data[start]; + outHostname->length = curr - start; + } + + /* Empty string? */ + if(outHostname->length == 0) + outHostname->data = NULL; + + /* Already at the end */ + if(curr == endpointUrl->length) + return UA_STATUSCODE_GOOD; + + /* Set the port - and for ETH set the VID.PCP postfix in the outpath string. + * We have to parse that externally. */ + if(endpointUrl->data[curr] == ':') { + if(++curr == endpointUrl->length) + return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; + + /* ETH schema */ + if(schemaType == scEthSchemaIdx) { + if(outPath != NULL) { + outPath->data = &endpointUrl->data[curr]; + outPath->length = endpointUrl->length - curr; + } + return UA_STATUSCODE_GOOD; + } + + u32 largeNum; + size_t progress = UA_readNumber(&endpointUrl->data[curr], + endpointUrl->length - curr, &largeNum); + if(progress == 0 || largeNum > 65535) + return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; + /* Test if the end of a valid port was reached */ + curr += progress; + if(curr == endpointUrl->length || endpointUrl->data[curr] == '/') + *outPort = (u16)largeNum; + if(curr == endpointUrl->length) + return UA_STATUSCODE_GOOD; + } + + /* Set the path */ + UA_assert(curr < endpointUrl->length); + if(endpointUrl->data[curr] != '/') + return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; + if(++curr == endpointUrl->length) + return UA_STATUSCODE_GOOD; + if(outPath != NULL) { + outPath->data = &endpointUrl->data[curr]; + outPath->length = endpointUrl->length - curr; + + /* Remove trailing slash from the path */ + if(endpointUrl->data[endpointUrl->length - 1] == '/') + outPath->length--; + + /* Empty string? */ + if(outPath->length == 0) + outPath->data = NULL; + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_parseEndpointUrlEthernet(const UA_String *endpointUrl, UA_String *target, + UA_UInt16 *vid, UA_Byte *pcp) { + /* Url must begin with "opc.eth://" */ + if(endpointUrl->length < 11) { + return UA_STATUSCODE_BADINTERNALERROR; + } + if(strncmp((char*) endpointUrl->data, "opc.eth://", 10) != 0) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Where does the host address end? */ + size_t curr = 10; + for(; curr < endpointUrl->length; ++curr) { + if(endpointUrl->data[curr] == ':') { + break; + } + } + + /* set host address */ + target->data = &endpointUrl->data[10]; + target->length = curr - 10; + if(curr == endpointUrl->length) { + return UA_STATUSCODE_GOOD; + } + + /* Set VLAN */ + u32 value = 0; + curr++; /* skip ':' */ + size_t progress = UA_readNumber(&endpointUrl->data[curr], + endpointUrl->length - curr, &value); + if(progress == 0 || value > 4096) { + return UA_STATUSCODE_BADINTERNALERROR; + } + curr += progress; + if(curr == endpointUrl->length || endpointUrl->data[curr] == '.') { + *vid = (UA_UInt16) value; + } + if(curr == endpointUrl->length) { + return UA_STATUSCODE_GOOD; + } + + /* Set priority */ + if(endpointUrl->data[curr] != '.') { + return UA_STATUSCODE_BADINTERNALERROR; + } + curr++; /* skip '.' */ + progress = UA_readNumber(&endpointUrl->data[curr], + endpointUrl->length - curr, &value); + if(progress == 0 || value > 7) { + return UA_STATUSCODE_BADINTERNALERROR; + } + curr += progress; + if(curr != endpointUrl->length) { + return UA_STATUSCODE_BADINTERNALERROR; + } + *pcp = (UA_Byte) value; + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_ByteString_toBase64(const UA_ByteString *byteString, + UA_String *str) { + UA_String_init(str); + if(!byteString || !byteString->data) + return UA_STATUSCODE_GOOD; + + str->data = (UA_Byte*) + UA_base64(byteString->data, byteString->length, &str->length); + if(!str->data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_ByteString_fromBase64(UA_ByteString *bs, + const UA_String *input) { + UA_ByteString_init(bs); + if(input->length == 0) + return UA_STATUSCODE_GOOD; + bs->data = UA_unbase64((const unsigned char*)input->data, + input->length, &bs->length); + /* TODO: Differentiate between encoding and memory errors */ + if(!bs->data) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +/* Key Value Map */ + +const UA_KeyValueMap UA_KEYVALUEMAP_NULL = {0, NULL}; + +UA_KeyValueMap * +UA_KeyValueMap_new(void) { + return (UA_KeyValueMap*)UA_calloc(1, sizeof(UA_KeyValueMap)); +} + +UA_StatusCode +UA_KeyValueMap_set(UA_KeyValueMap *map, + const UA_QualifiedName key, + const UA_Variant *value) { + if(map == NULL || value == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Key exists already */ + const UA_Variant *v = UA_KeyValueMap_get(map, key); + if(v) { + UA_Variant copyV; + UA_StatusCode res = UA_Variant_copy(value, ©V); + if(res != UA_STATUSCODE_GOOD) + return res; + UA_Variant *target = (UA_Variant*)(uintptr_t)v; + UA_Variant_clear(target); + *target = copyV; + return UA_STATUSCODE_GOOD; + } + + /* Append to the array */ + UA_KeyValuePair pair; + pair.key = key; + pair.value = *value; + return UA_Array_appendCopy((void**)&map->map, &map->mapSize, &pair, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); +} + +UA_StatusCode +UA_KeyValueMap_setScalar(UA_KeyValueMap *map, + const UA_QualifiedName key, + void * UA_RESTRICT p, + const UA_DataType *type) { + if(p == NULL || type == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + UA_Variant v; + UA_Variant_init(&v); + v.type = type; + v.arrayLength = 0; + v.data = p; + return UA_KeyValueMap_set(map, key, &v); +} + +const UA_Variant * +UA_KeyValueMap_get(const UA_KeyValueMap *map, + const UA_QualifiedName key) { + if(!map) + return NULL; + for(size_t i = 0; i < map->mapSize; i++) { + if(map->map[i].key.namespaceIndex == key.namespaceIndex && + UA_String_equal(&map->map[i].key.name, &key.name)) + return &map->map[i].value; + + } + return NULL; +} + +UA_Boolean +UA_KeyValueMap_isEmpty(const UA_KeyValueMap *map) { + if(!map) + return true; + return map->mapSize == 0; +} + +const void * +UA_KeyValueMap_getScalar(const UA_KeyValueMap *map, + const UA_QualifiedName key, + const UA_DataType *type) { + const UA_Variant *v = UA_KeyValueMap_get(map, key); + if(!v || !UA_Variant_hasScalarType(v, type)) + return NULL; + return v->data; +} + +void +UA_KeyValueMap_clear(UA_KeyValueMap *map) { + if(!map) + return; + if(map->mapSize > 0) { + UA_Array_delete(map->map, map->mapSize, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + map->mapSize = 0; + } +} + +void +UA_KeyValueMap_delete(UA_KeyValueMap *map) { + UA_KeyValueMap_clear(map); + UA_free(map); +} + +UA_StatusCode +UA_KeyValueMap_remove(UA_KeyValueMap *map, + const UA_QualifiedName key) { + if(!map) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_KeyValuePair *m = map->map; + size_t s = map->mapSize; + size_t i = 0; + for(; i < s; i++) { + if(m[i].key.namespaceIndex == key.namespaceIndex && + UA_String_equal(&m[i].key.name, &key.name)) + break; + } + if(i == s) + return UA_STATUSCODE_BADNOTFOUND; + + /* Clean the slot and move the last entry to fill the slot */ + UA_KeyValuePair_clear(&m[i]); + if(s > 1 && i < s - 1) { + m[i] = m[s-1]; + UA_KeyValuePair_init(&m[s-1]); + } + + /* Ignore the result. In case resize fails, keep the longer original array + * around. Resize never fails when reducing the size to zero. */ + UA_StatusCode res = + UA_Array_resize((void**)&map->map, &map->mapSize, map->mapSize - 1, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + /* Adjust map->mapSize only when UA_Array_resize() failed. On success, the + * value has already been decremented by UA_Array_resize(). */ + if(res != UA_STATUSCODE_GOOD) + map->mapSize--; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_KeyValueMap_copy(const UA_KeyValueMap *src, UA_KeyValueMap *dst) { + if(!dst) + return UA_STATUSCODE_BADINVALIDARGUMENT; + if(!src) { + dst->map = NULL; + dst->mapSize = 0; + return UA_STATUSCODE_GOOD; + } + UA_StatusCode res = UA_Array_copy(src->map, src->mapSize, (void**)&dst->map, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + if(res == UA_STATUSCODE_GOOD) + dst->mapSize = src->mapSize; + return res; +} + +UA_Boolean +UA_KeyValueMap_contains(const UA_KeyValueMap *map, const UA_QualifiedName key) { + if(!map) + return false; + for(size_t i = 0; i < map->mapSize; ++i) { + if(UA_QualifiedName_equal(&map->map[i].key, &key)) + return true; + } + return false; +} + +UA_StatusCode +UA_KeyValueMap_merge(UA_KeyValueMap *lhs, const UA_KeyValueMap *rhs) { + if(!lhs) + return UA_STATUSCODE_BADINVALIDARGUMENT; + if(!rhs) + return UA_STATUSCODE_GOOD; + + UA_KeyValueMap merge; + UA_StatusCode res = UA_KeyValueMap_copy(lhs, &merge); + if(res != UA_STATUSCODE_GOOD) + return res; + + for(size_t i = 0; i < rhs->mapSize; ++i) { + res = UA_KeyValueMap_set(&merge, rhs->map[i].key, &rhs->map[i].value); + if(res != UA_STATUSCODE_GOOD) { + UA_KeyValueMap_clear(&merge); + return res; + } + } + + UA_KeyValueMap_clear(lhs); + *lhs = merge; + return UA_STATUSCODE_GOOD; +} + +/***************************/ +/* Random Number Generator */ +/***************************/ + +/* TODO is this safe for multithreading? */ +static pcg32_random_t UA_rng = PCG32_INITIALIZER; + +void +UA_random_seed(u64 seed) { + pcg32_srandom_r(&UA_rng, seed, (u64)UA_DateTime_now()); +} + +u32 +UA_UInt32_random(void) { + return (u32)pcg32_random_r(&UA_rng); +} + +UA_Guid +UA_Guid_random(void) { + UA_Guid result; + result.data1 = (u32)pcg32_random_r(&UA_rng); + u32 r = (u32)pcg32_random_r(&UA_rng); + result.data2 = (u16) r; + result.data3 = (u16) (r >> 16); + r = (u32)pcg32_random_r(&UA_rng); + result.data4[0] = (u8)r; + result.data4[1] = (u8)(r >> 4); + result.data4[2] = (u8)(r >> 8); + result.data4[3] = (u8)(r >> 12); + r = (u32)pcg32_random_r(&UA_rng); + result.data4[4] = (u8)r; + result.data4[5] = (u8)(r >> 4); + result.data4[6] = (u8)(r >> 8); + result.data4[7] = (u8)(r >> 12); + return result; +} + +/********************/ +/* Malloc Singleton */ +/********************/ + +#ifdef UA_ENABLE_MALLOC_SINGLETON +# include +UA_EXPORT UA_THREAD_LOCAL void * (*UA_mallocSingleton)(size_t size) = malloc; +UA_EXPORT UA_THREAD_LOCAL void (*UA_freeSingleton)(void *ptr) = free; +UA_EXPORT UA_THREAD_LOCAL void * (*UA_callocSingleton)(size_t nelem, size_t elsize) = calloc; +UA_EXPORT UA_THREAD_LOCAL void * (*UA_reallocSingleton)(void *ptr, size_t size) = realloc; +#endif + +/************************/ +/* Cryptography Helpers */ +/************************/ + +UA_ByteString +getLeafCertificate(UA_ByteString chain) { + /* Detect DER encoded X.509 v3 certificate. If the DER detection fails, + * return the entire chain. + * + * The OPC UA standard requires this to be DER. But we also allow other + * formats like PEM. Afterwards it depends on the crypto backend to parse + * it. mbedTLS and OpenSSL detect the format automatically. */ + if(chain.length < 4 || chain.data[0] != 0x30 || chain.data[1] != 0x82) + return chain; + + /* The certificate length is encoded in the next 2 bytes. */ + size_t leafLen = 4; /* Magic numbers + length bytes */ + leafLen += (size_t)(((uint16_t)chain.data[2]) << 8); + leafLen += chain.data[3]; + + /* Consistency check */ + if(leafLen > chain.length) + return UA_BYTESTRING_NULL; + + /* Adjust the length and return */ + chain.length = leafLen; + return chain; +} + +UA_Boolean +UA_constantTimeEqual(const void *ptr1, const void *ptr2, size_t length) { + volatile const UA_Byte *a = (volatile const UA_Byte *)ptr1; + volatile const UA_Byte *b = (volatile const UA_Byte *)ptr2; + volatile UA_Byte c = 0; + for(size_t i = 0; i < length; ++i) { + UA_Byte x = a[i], y = b[i]; + c = c | (x ^ y); + } + return !c; +} + +void +UA_ByteString_memZero(UA_ByteString *bs) { +#if defined(__STDC_LIB_EXT1__) + memset_s(bs->data, bs->length, 0, bs->length); +#elif defined(UA_ARCHITECTURE_WIN32) + SecureZeroMemory(bs->data, bs->length); +#else + volatile unsigned char *volatile ptr = + (volatile unsigned char *)bs->data; + size_t i = 0; + size_t maxLen = bs->length; + while(i < maxLen) { + ptr[i++] = 0; + } +#endif +} + +/**** amalgamated original file "/src/ua_securechannel.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2016-2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016 (c) TorbenD + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018-2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + + +#define UA_BITMASK_MESSAGETYPE 0x00ffffffu +#define UA_BITMASK_CHUNKTYPE 0xff000000u + +const UA_String UA_SECURITY_POLICY_NONE_URI = + {47, (UA_Byte *)"http://opcfoundation.org/UA/SecurityPolicy#None"}; + +void +UA_SecureChannel_init(UA_SecureChannel *channel) { + /* Normal linked lists are initialized by zeroing out */ + memset(channel, 0, sizeof(UA_SecureChannel)); + TAILQ_INIT(&channel->chunks); +} + +UA_StatusCode +UA_SecureChannel_setSecurityPolicy(UA_SecureChannel *channel, + UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate) { + /* Is a policy already configured? */ + UA_CHECK_ERROR(!channel->securityPolicy, return UA_STATUSCODE_BADINTERNALERROR, + securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Security policy already configured"); + + /* Create the context */ + UA_StatusCode res = securityPolicy->channelModule. + newContext(securityPolicy, remoteCertificate, &channel->channelContext); + res |= UA_ByteString_copy(remoteCertificate, &channel->remoteCertificate); + UA_CHECK_STATUS_WARN(res, return res, securityPolicy->logger, + UA_LOGCATEGORY_SECURITYPOLICY, + "Could not set up the SecureChannel context"); + + /* Compute the certificate thumbprint */ + UA_ByteString remoteCertificateThumbprint = + {20, channel->remoteCertificateThumbprint}; + res = securityPolicy->asymmetricModule. + makeCertificateThumbprint(securityPolicy, &channel->remoteCertificate, + &remoteCertificateThumbprint); + UA_CHECK_STATUS_WARN(res, return res, securityPolicy->logger, + UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create the certificate thumbprint"); + + /* Set the policy */ + channel->securityPolicy = securityPolicy; + return UA_STATUSCODE_GOOD; +} + +/* Hides some errors before sending them to a client according to the + * standard. */ +static void +hideErrors(UA_TcpErrorMessage *const error) { + switch(error->error) { + case UA_STATUSCODE_BADCERTIFICATEUNTRUSTED: + case UA_STATUSCODE_BADCERTIFICATEREVOKED: + case UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED: + case UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE: + case UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED: + error->error = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + error->reason = UA_STRING_NULL; + break; + // TODO: Check if these are all cases that need to be covered. + default: + break; + } +} + +UA_Boolean +UA_SecureChannel_isConnected(UA_SecureChannel *channel) { + return (channel->state > UA_SECURECHANNELSTATE_CLOSED && + channel->state < UA_SECURECHANNELSTATE_CLOSING); +} + +void +UA_SecureChannel_sendError(UA_SecureChannel *channel, UA_TcpErrorMessage *error) { + if(!UA_SecureChannel_isConnected(channel)) + return; + + hideErrors(error); + + UA_TcpMessageHeader header; + header.messageTypeAndChunkType = UA_MESSAGETYPE_ERR + UA_CHUNKTYPE_FINAL; + /* Header + ErrorMessage (error + reasonLength_field + length) */ + header.messageSize = 8 + (4 + 4 + (UA_UInt32)error->reason.length); + + /* Get the send buffer from the network layer */ + UA_ConnectionManager *cm = channel->connectionManager; + UA_ByteString msg = UA_BYTESTRING_NULL; + UA_StatusCode retval = cm->allocNetworkBuffer(cm, channel->connectionId, + &msg, header.messageSize); + if(retval != UA_STATUSCODE_GOOD) + return; + + /* Encode and send the response */ + UA_Byte *bufPos = msg.data; + const UA_Byte *bufEnd = &msg.data[msg.length]; + retval |= UA_encodeBinaryInternal(&header, + &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], + &bufPos, &bufEnd, NULL, NULL); + retval |= UA_encodeBinaryInternal(error, + &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE], + &bufPos, &bufEnd, NULL, NULL); + (void)retval; /* Encoding of these cannot fail */ + msg.length = header.messageSize; + cm->sendWithConnection(cm, channel->connectionId, &UA_KEYVALUEMAP_NULL, &msg); +} + +static void +UA_Chunk_delete(UA_Chunk *chunk) { + if(chunk->copied) + UA_ByteString_clear(&chunk->bytes); + UA_free(chunk); +} + +static void +deleteChunks(UA_SecureChannel *channel) { + UA_Chunk *chunk, *chunk_tmp; + TAILQ_FOREACH_SAFE(chunk, &channel->chunks, pointers, chunk_tmp) { + TAILQ_REMOVE(&channel->chunks, chunk, pointers); + UA_Chunk_delete(chunk); + } + channel->chunksCount = 0; + channel->chunksLength = 0; +} + +void +UA_SecureChannel_deleteBuffered(UA_SecureChannel *channel) { + deleteChunks(channel); + if(channel->unprocessedCopied) + UA_ByteString_clear(&channel->unprocessed); +} + +void +UA_SecureChannel_shutdown(UA_SecureChannel *channel, + UA_ShutdownReason shutdownReason) { + /* No open socket or already closing -> nothing to do */ + if(!UA_SecureChannel_isConnected(channel)) + return; + + /* Set the shutdown event for diagnostics */ + channel->shutdownReason= shutdownReason; + + /* Trigger the async closing of the connection */ + UA_ConnectionManager *cm = channel->connectionManager; + cm->closeConnection(cm, channel->connectionId); + channel->state = UA_SECURECHANNELSTATE_CLOSING; +} + +void +UA_SecureChannel_clear(UA_SecureChannel *channel) { + /* Detach Sessions from the SecureChannel. This also removes outstanding + * Publish requests whose RequestId is valid only for the SecureChannel. */ + UA_SessionHeader *sh, *sh_tmp; + SLIST_FOREACH_SAFE(sh, &channel->sessions, next, sh_tmp) { + if(sh->serverSession) { + UA_Session_detachFromSecureChannel((UA_Session *)sh); + } else { + sh->channel = NULL; + SLIST_REMOVE_HEAD(&channel->sessions, next); + } + } + + /* Delete the channel context for the security policy */ + if(channel->securityPolicy) { + channel->securityPolicy->channelModule.deleteContext(channel->channelContext); + channel->securityPolicy = NULL; + channel->channelContext = NULL; + } + + /* Remove remaining delayed callback */ + if(channel->connectionManager && + channel->connectionManager->eventSource.eventLoop) { + UA_EventLoop *el = channel->connectionManager->eventSource.eventLoop; + el->removeDelayedCallback(el, &channel->unprocessedDelayed); + } + + /* The EventLoop connection is no longer valid */ + channel->connectionId = 0; + channel->connectionManager = NULL; + + /* Clean up the SecurityToken */ + UA_ChannelSecurityToken_clear(&channel->securityToken); + UA_ChannelSecurityToken_clear(&channel->altSecurityToken); + + /* Clean up certificate and nonces */ + UA_ByteString_clear(&channel->remoteCertificate); + UA_ByteString_clear(&channel->localNonce); + UA_ByteString_clear(&channel->remoteNonce); + + /* Clean up endpointUrl */ + UA_String_clear(&channel->endpointUrl); + + /* Delete remaining chunks */ + UA_SecureChannel_deleteBuffered(channel); + + /* Reset the SecureChannel for reuse (in the client) */ + channel->securityMode = UA_MESSAGESECURITYMODE_INVALID; + channel->shutdownReason = UA_SHUTDOWNREASON_CLOSE; + memset(&channel->config, 0, sizeof(UA_ConnectionConfig)); + channel->receiveSequenceNumber = 0; + channel->sendSequenceNumber = 0; + + /* Set the state to closed */ + channel->state = UA_SECURECHANNELSTATE_CLOSED; + channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; +} + +UA_StatusCode +UA_SecureChannel_processHELACK(UA_SecureChannel *channel, + const UA_TcpAcknowledgeMessage *remoteConfig) { + /* The lowest common version is used by both sides */ + if(channel->config.protocolVersion > remoteConfig->protocolVersion) + channel->config.protocolVersion = remoteConfig->protocolVersion; + + /* Can we receive the max send size? */ + if(channel->config.sendBufferSize > remoteConfig->receiveBufferSize) + channel->config.sendBufferSize = remoteConfig->receiveBufferSize; + + /* Can we send the max receive size? */ + if(channel->config.recvBufferSize > remoteConfig->sendBufferSize) + channel->config.recvBufferSize = remoteConfig->sendBufferSize; + + channel->config.remoteMaxMessageSize = remoteConfig->maxMessageSize; + channel->config.remoteMaxChunkCount = remoteConfig->maxChunkCount; + + /* Chunks of at least 8192 bytes must be permissible. + * See Part 6, Clause 6.7.1 */ + if(channel->config.recvBufferSize < 8192 || + channel->config.sendBufferSize < 8192 || + (channel->config.remoteMaxMessageSize != 0 && + channel->config.remoteMaxMessageSize < 8192)) + return UA_STATUSCODE_BADINTERNALERROR; + + return UA_STATUSCODE_GOOD; +} + +/* Sends an OPN message using asymmetric encryption if defined */ +UA_StatusCode +UA_SecureChannel_sendAsymmetricOPNMessage(UA_SecureChannel *channel, + UA_UInt32 requestId, const void *content, + const UA_DataType *contentType) { + UA_CHECK(channel->securityMode != UA_MESSAGESECURITYMODE_INVALID, + return UA_STATUSCODE_BADSECURITYMODEREJECTED); + + /* Can we use the connection manager? */ + UA_ConnectionManager *cm = channel->connectionManager; + if(!UA_SecureChannel_isConnected(channel)) + return UA_STATUSCODE_BADCONNECTIONCLOSED; + + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); + + /* Allocate the message buffer */ + UA_ByteString buf = UA_BYTESTRING_NULL; + UA_StatusCode res = cm->allocNetworkBuffer(cm, channel->connectionId, &buf, + channel->config.sendBufferSize); + UA_CHECK_STATUS(res, return res); + + /* Restrict buffer to the available space for the payload */ + UA_Byte *buf_pos = buf.data; + const UA_Byte *buf_end = &buf.data[buf.length]; + hideBytesAsym(channel, &buf_pos, &buf_end); + + /* Define variables here to pacify some compilers wrt goto */ + size_t securityHeaderLength, pre_sig_length, total_length, encryptedLength; + + /* Encode the message type and content */ + res |= UA_NodeId_encodeBinary(&contentType->binaryEncodingId, &buf_pos, buf_end); + res |= UA_encodeBinaryInternal(content, contentType, &buf_pos, &buf_end, NULL, NULL); + UA_CHECK_STATUS(res, goto error); + + /* Compute the header length */ + securityHeaderLength = calculateAsymAlgSecurityHeaderLength(channel); + + /* Add padding to the chunk. Also pad if the securityMode is SIGN_ONLY, + * since we are using asymmetric communication to exchange keys and thus + * need to encrypt. */ +#ifdef UA_ENABLE_ENCRYPTION + if(channel->securityMode != UA_MESSAGESECURITYMODE_NONE) + padChunk(channel, &channel->securityPolicy->asymmetricModule.cryptoModule, + &buf.data[UA_SECURECHANNEL_CHANNELHEADER_LENGTH + securityHeaderLength], + &buf_pos); +#endif + + /* The total message length */ + pre_sig_length = (uintptr_t)buf_pos - (uintptr_t)buf.data; + total_length = pre_sig_length; + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || + channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + total_length += sp->asymmetricModule.cryptoModule.signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + + /* The total message length is known here which is why we encode the headers + * at this step and not earlier. */ + res = prependHeadersAsym(channel, buf.data, buf_end, total_length, + securityHeaderLength, requestId, &encryptedLength); + UA_CHECK_STATUS(res, goto error); + +#ifdef UA_ENABLE_ENCRYPTION + res = signAndEncryptAsym(channel, pre_sig_length, &buf, + securityHeaderLength, total_length); + UA_CHECK_STATUS(res, goto error); +#endif + + /* Send the message, the buffer is freed in the network layer */ + buf.length = encryptedLength; + return cm->sendWithConnection(cm, channel->connectionId, &UA_KEYVALUEMAP_NULL, &buf); + + error: + cm->freeNetworkBuffer(cm, channel->connectionId, &buf); + return res; +} + +/* Will this chunk surpass the capacity of the SecureChannel for the message? */ +static UA_StatusCode +adjustCheckMessageLimitsSym(UA_MessageContext *mc, size_t bodyLength) { + mc->messageSizeSoFar += bodyLength; + mc->chunksSoFar++; + + UA_SecureChannel *channel = mc->channel; + if(mc->messageSizeSoFar > channel->config.localMaxMessageSize && + channel->config.localMaxMessageSize != 0) + return UA_STATUSCODE_BADRESPONSETOOLARGE; + + if(mc->chunksSoFar > channel->config.localMaxChunkCount && + channel->config.localMaxChunkCount != 0) + return UA_STATUSCODE_BADRESPONSETOOLARGE; + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +encodeHeadersSym(UA_MessageContext *mc, size_t totalLength) { + UA_SecureChannel *channel = mc->channel; + UA_Byte *header_pos = mc->messageBuffer.data; + + UA_TcpMessageHeader header; + header.messageTypeAndChunkType = mc->messageType; + header.messageSize = (UA_UInt32)totalLength; + if(mc->final) + header.messageTypeAndChunkType += UA_CHUNKTYPE_FINAL; + else + header.messageTypeAndChunkType += UA_CHUNKTYPE_INTERMEDIATE; + + /* Increase the sequence number in the channel */ + channel->sendSequenceNumber++; + + UA_SequenceHeader seqHeader; + seqHeader.requestId = mc->requestId; + seqHeader.sequenceNumber = channel->sendSequenceNumber; + + UA_StatusCode res = UA_STATUSCODE_GOOD; + res |= UA_encodeBinaryInternal(&header, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], + &header_pos, &mc->buf_end, NULL, NULL); + res |= UA_UInt32_encodeBinary(&channel->securityToken.channelId, + &header_pos, mc->buf_end); + res |= UA_UInt32_encodeBinary(&channel->securityToken.tokenId, + &header_pos, mc->buf_end); + res |= UA_encodeBinaryInternal(&seqHeader, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], + &header_pos, &mc->buf_end, NULL, NULL); + return res; +} + +static UA_StatusCode +sendSymmetricChunk(UA_MessageContext *mc) { + UA_SecureChannel *channel = mc->channel; + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_ConnectionManager *cm = channel->connectionManager; + if(!UA_SecureChannel_isConnected(channel)) + return UA_STATUSCODE_BADCONNECTIONCLOSED; + + /* The size of the message payload */ + size_t bodyLength = (uintptr_t)mc->buf_pos - + (uintptr_t)&mc->messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]; + + /* Early-declare variables so we can use a goto in the error case */ + size_t total_length = 0; + size_t pre_sig_length = 0; + + /* Check if chunk exceeds the limits for the overall message */ + UA_StatusCode res = adjustCheckMessageLimitsSym(mc, bodyLength); + UA_CHECK_STATUS(res, goto error); + + UA_LOG_TRACE_CHANNEL(sp->logger, channel, + "Send from a symmetric message buffer of length %lu " + "a message of header+payload length of %lu", + (long unsigned int)mc->messageBuffer.length, + (long unsigned int) + ((uintptr_t)mc->buf_pos - (uintptr_t)mc->messageBuffer.data)); + +#ifdef UA_ENABLE_ENCRYPTION + /* Add padding if the message is encrypted */ + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + padChunk(channel, &sp->symmetricModule.cryptoModule, + &mc->messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_UNENCRYPTEDLENGTH], + &mc->buf_pos); +#endif + + /* Compute the total message length */ + pre_sig_length = (uintptr_t)mc->buf_pos - (uintptr_t)mc->messageBuffer.data; + total_length = pre_sig_length; + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || + channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + total_length += sp->symmetricModule.cryptoModule.signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + + UA_LOG_TRACE_CHANNEL(sp->logger, channel, + "Send from a symmetric message buffer of length %lu " + "a message of length %lu", + (long unsigned int)mc->messageBuffer.length, + (long unsigned int)total_length); + + /* Space for the padding and the signature have been reserved in setBufPos() */ + UA_assert(total_length <= channel->config.sendBufferSize); + + /* Adjust the buffer size of the network layer */ + mc->messageBuffer.length = total_length; + + /* Generate and encode the header for symmetric messages */ + res = encodeHeadersSym(mc, total_length); + UA_CHECK_STATUS(res, goto error); + +#ifdef UA_ENABLE_ENCRYPTION + /* Sign and encrypt the messge */ + res = signAndEncryptSym(mc, pre_sig_length, total_length); + UA_CHECK_STATUS(res, goto error); +#endif + + /* Send the chunk. The buffer is freed in the network layer. If sending goes + * wrong, the connection is removed in the next iteration of the + * SecureChannel. Set the SecureChannel to closing already. */ + res = cm->sendWithConnection(cm, channel->connectionId, + &UA_KEYVALUEMAP_NULL, &mc->messageBuffer); + if(res != UA_STATUSCODE_GOOD && UA_SecureChannel_isConnected(channel)) + channel->state = UA_SECURECHANNELSTATE_CLOSING; + + error: + /* Free the unused message buffer */ + cm->freeNetworkBuffer(cm, channel->connectionId, &mc->messageBuffer); + return res; +} + +/* Callback from the encoding layer. Send the chunk and replace the buffer. */ +static UA_StatusCode +sendSymmetricEncodingCallback(void *data, UA_Byte **buf_pos, + const UA_Byte **buf_end) { + /* Set buf values from encoding in the messagecontext */ + UA_MessageContext *mc = (UA_MessageContext *)data; + mc->buf_pos = *buf_pos; + mc->buf_end = *buf_end; + + /* Send out */ + UA_StatusCode res = sendSymmetricChunk(mc); + UA_CHECK_STATUS(res, return res); + + /* Set a new buffer for the next chunk */ + UA_ConnectionManager *cm = mc->channel->connectionManager; + if(!UA_SecureChannel_isConnected(mc->channel)) + return UA_STATUSCODE_BADCONNECTIONCLOSED; + + res = cm->allocNetworkBuffer(cm, mc->channel->connectionId, + &mc->messageBuffer, + mc->channel->config.sendBufferSize); + UA_CHECK_STATUS(res, return res); + + /* Hide bytes for header, padding and signature */ + setBufPos(mc); + *buf_pos = mc->buf_pos; + *buf_end = mc->buf_end; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_MessageContext_begin(UA_MessageContext *mc, UA_SecureChannel *channel, + UA_UInt32 requestId, UA_MessageType messageType) { + UA_CHECK(messageType == UA_MESSAGETYPE_MSG || messageType == UA_MESSAGETYPE_CLO, + return UA_STATUSCODE_BADINTERNALERROR); + + UA_ConnectionManager *cm = channel->connectionManager; + if(!UA_SecureChannel_isConnected(channel)) + return UA_STATUSCODE_BADCONNECTIONCLOSED; + + /* Create the chunking info structure */ + mc->channel = channel; + mc->requestId = requestId; + mc->chunksSoFar = 0; + mc->messageSizeSoFar = 0; + mc->final = false; + mc->messageBuffer = UA_BYTESTRING_NULL; + mc->messageType = messageType; + + /* Allocate the message buffer */ + UA_StatusCode res = + cm->allocNetworkBuffer(cm, channel->connectionId, + &mc->messageBuffer, + channel->config.sendBufferSize); + UA_CHECK_STATUS(res, return res); + + /* Hide bytes for header, padding and signature */ + setBufPos(mc); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_MessageContext_encode(UA_MessageContext *mc, const void *content, + const UA_DataType *contentType) { + UA_StatusCode res = + UA_encodeBinaryInternal(content, contentType, &mc->buf_pos, &mc->buf_end, + sendSymmetricEncodingCallback, mc); + if(res != UA_STATUSCODE_GOOD && mc->messageBuffer.length > 0) + UA_MessageContext_abort(mc); + return res; +} + +UA_StatusCode +UA_MessageContext_finish(UA_MessageContext *mc) { + mc->final = true; + return sendSymmetricChunk(mc); +} + +void +UA_MessageContext_abort(UA_MessageContext *mc) { + UA_ConnectionManager *cm = mc->channel->connectionManager; + if(!UA_SecureChannel_isConnected(mc->channel)) + return; + cm->freeNetworkBuffer(cm, mc->channel->connectionId, &mc->messageBuffer); +} + +UA_StatusCode +UA_SecureChannel_sendSymmetricMessage(UA_SecureChannel *channel, UA_UInt32 requestId, + UA_MessageType messageType, void *payload, + const UA_DataType *payloadType) { + if(!channel || !payload || !payloadType) + return UA_STATUSCODE_BADINTERNALERROR; + + if(channel->state != UA_SECURECHANNELSTATE_OPEN) + return UA_STATUSCODE_BADCONNECTIONCLOSED; + + UA_MessageContext mc; + UA_StatusCode res = UA_MessageContext_begin(&mc, channel, requestId, messageType); + UA_CHECK_STATUS(res, return res); + + /* Assert's required for clang-analyzer */ + UA_assert(mc.buf_pos == + &mc.messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]); + UA_assert(mc.buf_end <= &mc.messageBuffer.data[mc.messageBuffer.length]); + + res = UA_MessageContext_encode(&mc, &payloadType->binaryEncodingId, + &UA_TYPES[UA_TYPES_NODEID]); + UA_CHECK_STATUS(res, return res); + + res = UA_MessageContext_encode(&mc, payload, payloadType); + UA_CHECK_STATUS(res, return res); + + return UA_MessageContext_finish(&mc); +} + +/********************************/ +/* Receive and Process Messages */ +/********************************/ + +/* Does the sequence number match? Otherwise try to rollover. See Part 6, + * Section 6.7.2.4 of the standard. */ +#define UA_SEQUENCENUMBER_ROLLOVER 4294966271 + +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +static UA_StatusCode +processSequenceNumberSym(UA_SecureChannel *channel, UA_UInt32 sequenceNumber) { + if(sequenceNumber != channel->receiveSequenceNumber + 1) { + if(channel->receiveSequenceNumber + 1 <= UA_SEQUENCENUMBER_ROLLOVER || + sequenceNumber >= 1024) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + channel->receiveSequenceNumber = sequenceNumber - 1; /* Roll over */ + } + ++channel->receiveSequenceNumber; + return UA_STATUSCODE_GOOD; +} +#endif + +static UA_StatusCode +unpackPayloadOPN(UA_SecureChannel *channel, UA_Chunk *chunk) { + UA_assert(chunk->bytes.length >= UA_SECURECHANNEL_MESSAGE_MIN_LENGTH); + size_t offset = UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; /* Skip the message header */ + UA_UInt32 secureChannelId; + UA_StatusCode res = UA_UInt32_decodeBinary(&chunk->bytes, &offset, &secureChannelId); + UA_assert(res == UA_STATUSCODE_GOOD); + + UA_AsymmetricAlgorithmSecurityHeader asymHeader; + res = UA_decodeBinaryInternal(&chunk->bytes, &offset, &asymHeader, + &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER], NULL); + UA_CHECK_STATUS(res, return res); + + if(asymHeader.senderCertificate.length > 0) { + if(channel->certificateVerification && channel->certificateVerification->verifyCertificate) + res = channel->certificateVerification-> + verifyCertificate(channel->certificateVerification, + &asymHeader.senderCertificate); + else + res = UA_STATUSCODE_BADINTERNALERROR; + UA_CHECK_STATUS(res, goto error); + } + + /* New channel, create a security policy context and attach */ + UA_assert(channel->processOPNHeader); + res = channel->processOPNHeader(channel->processOPNHeaderApplication, + channel, &asymHeader); + UA_CHECK_STATUS(res, goto error); + + /* On the client side, take the SecureChannelId from the first response */ + if(secureChannelId != 0 && channel->securityToken.channelId == 0) + channel->securityToken.channelId = secureChannelId; + + /* Check the ChannelId */ +#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) + if(secureChannelId != channel->securityToken.channelId) { + /* Allow the channel id to be different if the sent channel id is zero + * and the SecurityToken is not initialized. This only happens on the + * server side before we had a chance to tell the client which ChannelId + * to use. */ + if(secureChannelId != 0 || channel->securityToken.tokenId != 0) { + res = UA_STATUSCODE_BADSECURECHANNELIDINVALID; + goto error; + } + } +#endif + + /* Check the header for the channel's security policy */ + res = checkAsymHeader(channel, &asymHeader); + UA_AsymmetricAlgorithmSecurityHeader_clear(&asymHeader); + UA_CHECK_STATUS(res, return res); + + /* Decrypt the chunk payload */ + res = decryptAndVerifyChunk(channel, + &channel->securityPolicy->asymmetricModule.cryptoModule, + chunk->messageType, &chunk->bytes, offset); + UA_CHECK_STATUS(res, return res); + + /* Decode the SequenceHeader */ + UA_SequenceHeader sequenceHeader; + res = UA_decodeBinaryInternal(&chunk->bytes, &offset, &sequenceHeader, + &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], NULL); + UA_CHECK_STATUS(res, return res); + + /* Set the sequence number for the channel from which to count up */ + channel->receiveSequenceNumber = sequenceHeader.sequenceNumber; + chunk->requestId = sequenceHeader.requestId; /* Set the RequestId of the chunk */ + + /* Use only the payload */ + chunk->bytes.data += offset; + chunk->bytes.length -= offset; + return UA_STATUSCODE_GOOD; + +error: + UA_AsymmetricAlgorithmSecurityHeader_clear(&asymHeader); + return res; +} + +static UA_StatusCode +unpackPayloadMSG(UA_SecureChannel *channel, UA_Chunk *chunk) { + UA_CHECK_MEM(channel->securityPolicy, return UA_STATUSCODE_BADINTERNALERROR); + + UA_assert(chunk->bytes.length >= UA_SECURECHANNEL_MESSAGE_MIN_LENGTH); + size_t offset = UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; /* Skip the message header */ + UA_UInt32 secureChannelId; + UA_UInt32 tokenId; /* SymmetricAlgorithmSecurityHeader */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + res |= UA_UInt32_decodeBinary(&chunk->bytes, &offset, &secureChannelId); + res |= UA_UInt32_decodeBinary(&chunk->bytes, &offset, &tokenId); + UA_assert(offset == UA_SECURECHANNEL_MESSAGE_MIN_LENGTH); + UA_assert(res == UA_STATUSCODE_GOOD); + +#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) + /* Check the ChannelId. Non-opened channels have the id zero. */ + if(secureChannelId != channel->securityToken.channelId) + return UA_STATUSCODE_BADSECURECHANNELIDINVALID; +#endif + + /* Check (and revolve) the SecurityToken */ + res = checkSymHeader(channel, tokenId); + UA_CHECK_STATUS(res, return res); + + /* Decrypt the chunk payload */ + res = decryptAndVerifyChunk(channel, + &channel->securityPolicy->symmetricModule.cryptoModule, + chunk->messageType, &chunk->bytes, offset); + UA_CHECK_STATUS(res, return res); + + /* Check the sequence number. Skip sequence number checking for fuzzer to + * improve coverage */ + UA_SequenceHeader sequenceHeader; + res = UA_decodeBinaryInternal(&chunk->bytes, &offset, &sequenceHeader, + &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], NULL); +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + res |= processSequenceNumberSym(channel, sequenceHeader.sequenceNumber); +#endif + UA_CHECK_STATUS(res, return res); + + chunk->requestId = sequenceHeader.requestId; /* Set the RequestId of the chunk */ + + /* Use only the payload */ + chunk->bytes.data += offset; + chunk->bytes.length -= offset; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +extractCompleteChunk(UA_SecureChannel *channel, UA_Chunk *chunk) { + /* At least 8 byte needed for the header */ + size_t offset = channel->unprocessedOffset; + size_t remaining = channel->unprocessed.length - offset; + if(remaining < UA_SECURECHANNEL_MESSAGEHEADER_LENGTH) + return UA_STATUSCODE_GOOD; + + /* Decoding the header cannot fail */ + UA_TcpMessageHeader hdr; + UA_StatusCode res = + UA_decodeBinaryInternal(&channel->unprocessed, &offset, &hdr, + &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], NULL); + UA_assert(res == UA_STATUSCODE_GOOD); + (void)res; /* pacify compilers if assert is ignored */ + UA_MessageType msgType = (UA_MessageType) + (hdr.messageTypeAndChunkType & UA_BITMASK_MESSAGETYPE); + UA_ChunkType chunkType = (UA_ChunkType) + (hdr.messageTypeAndChunkType & UA_BITMASK_CHUNKTYPE); + + /* The message size is not allowed */ + if(hdr.messageSize < UA_SECURECHANNEL_MESSAGE_MIN_LENGTH) + return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + if(hdr.messageSize > channel->config.recvBufferSize) + return UA_STATUSCODE_BADTCPMESSAGETOOLARGE; + + /* Incomplete chunk. Continue processing later. */ + if(hdr.messageSize > remaining) + return UA_STATUSCODE_GOOD; + + /* Set the chunk information */ + chunk->bytes.data = channel->unprocessed.data + channel->unprocessedOffset; + chunk->bytes.length = hdr.messageSize; + chunk->messageType = msgType; + chunk->chunkType = chunkType; + chunk->requestId = 0; + chunk->copied = false; + + /* Increase the unprocessed offset */ + channel->unprocessedOffset += hdr.messageSize; + + /* Validate, decrypt and unpack the chunk payload */ + switch(msgType) { + case UA_MESSAGETYPE_OPN: + if(chunkType != UA_CHUNKTYPE_FINAL) + return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + if(channel->state != UA_SECURECHANNELSTATE_OPEN && + channel->state != UA_SECURECHANNELSTATE_OPN_SENT && + channel->state != UA_SECURECHANNELSTATE_ACK_SENT) + return UA_STATUSCODE_BADINVALIDSTATE; + res = unpackPayloadOPN(channel, chunk); + break; + + case UA_MESSAGETYPE_MSG: + case UA_MESSAGETYPE_CLO: + if(chunkType != UA_CHUNKTYPE_FINAL && + chunkType != UA_CHUNKTYPE_INTERMEDIATE && + chunkType != UA_CHUNKTYPE_ABORT) + return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + if(channel->state != UA_SECURECHANNELSTATE_OPEN) + return UA_STATUSCODE_BADINVALIDSTATE; + res = unpackPayloadMSG(channel, chunk); + break; + + case UA_MESSAGETYPE_RHE: + case UA_MESSAGETYPE_HEL: + case UA_MESSAGETYPE_ACK: + case UA_MESSAGETYPE_ERR: + if(chunkType != UA_CHUNKTYPE_FINAL) + return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + /* Hide the message header */ + chunk->bytes.data += UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; + chunk->bytes.length -= UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; + break; + + default: + res = UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + break; + } + return res; +} + +UA_StatusCode +UA_SecureChannel_loadBuffer(UA_SecureChannel *channel, const UA_ByteString buffer) { + /* Append to the previous unprocessed buffer */ + if(channel->unprocessed.length > 0) { + UA_assert(channel->unprocessedCopied == true); + + UA_Byte *t = (UA_Byte*) + UA_realloc(channel->unprocessed.data, + channel->unprocessed.length + buffer.length); + if(!t) + return UA_STATUSCODE_BADOUTOFMEMORY; + + memcpy(t + channel->unprocessed.length, buffer.data, buffer.length); + channel->unprocessed.data = t; + channel->unprocessed.length += buffer.length; + return UA_STATUSCODE_GOOD; + } + + /* Use the new buffer directly */ + channel->unprocessed = buffer; + channel->unprocessedCopied = false; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_SecureChannel_getCompleteMessage(UA_SecureChannel *channel, + UA_MessageType *messageType, UA_UInt32 *requestId, + UA_ByteString *payload, UA_Boolean *copied) { + UA_Chunk chunk, *pchunk; + UA_StatusCode res = UA_STATUSCODE_GOOD; + + extract_chunk: + /* Extract+decode the next chunk from the buffer */ + memset(&chunk, 0, sizeof(UA_Chunk)); + res = extractCompleteChunk(channel, &chunk); + if(chunk.bytes.length == 0 || res != UA_STATUSCODE_GOOD) + return res; /* Error or no complete chunk could be extracted */ + + /* Process the chunk */ + switch(chunk.chunkType) { + case UA_CHUNKTYPE_ABORT: + /* Remove all chunks received so far. Then continue extracting chunks. */ + deleteChunks(channel); + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + goto extract_chunk; + + case UA_CHUNKTYPE_INTERMEDIATE: + /* Validate the resource limits */ + if((channel->config.localMaxChunkCount != 0 && + channel->chunksCount >= channel->config.localMaxChunkCount) || + (channel->config.localMaxMessageSize != 0 && + channel->chunksLength + chunk.bytes.length > channel->config.localMaxMessageSize)) { + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + return UA_STATUSCODE_BADTCPMESSAGETOOLARGE; + } + + /* Add the chunk to the queue. Then continue extracting more chunks. */ + pchunk = (UA_Chunk*)UA_malloc(sizeof(UA_Chunk)); + if(!pchunk) { + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + *pchunk = chunk; + TAILQ_INSERT_TAIL(&channel->chunks, pchunk, pointers); + channel->chunksCount++; + channel->chunksLength += pchunk->bytes.length; + goto extract_chunk; + + case UA_CHUNKTYPE_FINAL: + default: + UA_assert(chunk.chunkType == UA_CHUNKTYPE_FINAL); /* Was checked before */ + break; /* A final chunk was received -- assemble the message */ + } + + /* Compute the message size */ + size_t messageSize = chunk.bytes.length; + UA_Chunk *first = NULL; + TAILQ_FOREACH(pchunk, &channel->chunks, pointers) { + if(chunk.requestId != pchunk->requestId) + continue; + if(chunk.messageType != pchunk->messageType) { + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + } + if(!first) + first = pchunk; + messageSize += pchunk->bytes.length; + } + + /* Validate the assembled message size */ + if(channel->config.localMaxMessageSize != 0 && + channel->chunksLength > channel->config.localMaxMessageSize) { + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + return UA_STATUSCODE_BADTCPMESSAGETOOLARGE; + } + + /* Assemble the full payload and store it in chunk.bytes */ + if(messageSize > chunk.bytes.length) { + UA_assert(first != NULL); + + /* Allocate the full memory and initialize with the first chunk content. + * Use realloc to speed up. */ + UA_ByteString message; + if(first->copied) { + message.data = (UA_Byte*)UA_realloc(first->bytes.data, messageSize); + } else { + message.data = (UA_Byte*)UA_malloc(messageSize); + if(message.data) + memcpy(message.data, first->bytes.data, first->bytes.length); + } + if(!message.data) { + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + message.length = first->bytes.length; + + /* Remove the the first chunk */ + pchunk = TAILQ_NEXT(first, pointers); + first->copied = false; + channel->chunksCount--; + channel->chunksLength -= first->bytes.length; + TAILQ_REMOVE(&channel->chunks, first, pointers); + UA_Chunk_delete(first); + + /* Copy over the content from the remaining intermediate chunks. + * And remove them right away. */ + UA_Chunk *next; + for(; pchunk; pchunk = next) { + next = TAILQ_NEXT(pchunk, pointers); + if(chunk.requestId != pchunk->requestId) + continue; + memcpy(message.data + message.length, pchunk->bytes.data, pchunk->bytes.length); + message.length += pchunk->bytes.length; + channel->chunksCount--; + channel->chunksLength -= pchunk->bytes.length; + TAILQ_REMOVE(&channel->chunks, pchunk, pointers); + UA_Chunk_delete(pchunk); + } + + /* Copy over the content from the final chunk */ + memcpy(message.data + message.length, chunk.bytes.data, chunk.bytes.length); + message.length += chunk.bytes.length; + UA_assert(message.length == messageSize); + + /* Set assembled message as the content of the final chunk */ + if(chunk.copied) + UA_ByteString_clear(&chunk.bytes); + chunk.bytes = message; + chunk.copied = true; + } + + /* Return the assembled message */ + *requestId = chunk.requestId; + *messageType = chunk.messageType; + *payload = chunk.bytes; + *copied = chunk.copied; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_SecureChannel_persistBuffer(UA_SecureChannel *channel) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + + /* Persist the chunks */ + UA_Chunk *chunk; + TAILQ_FOREACH(chunk, &channel->chunks, pointers) { + if(chunk->copied) + continue; + UA_ByteString tmp = UA_BYTESTRING_NULL; + res |= UA_ByteString_copy(&chunk->bytes, &tmp); + chunk->bytes = tmp; + chunk->copied = true; + } + + /* No unprocessed bytes remaining */ + UA_assert(channel->unprocessed.length >= channel->unprocessedOffset); + if(channel->unprocessed.length == channel->unprocessedOffset) { + if(channel->unprocessedCopied) + UA_ByteString_clear(&channel->unprocessed); + else + UA_ByteString_init(&channel->unprocessed); + channel->unprocessedOffset = 0; + return res; + } + + /* Allocate a new unprocessed ByteString. + * tmp is the empty string if malloc fails. */ + UA_ByteString tmp = UA_BYTESTRING_NULL; + UA_ByteString remaining = channel->unprocessed; + remaining.data += channel->unprocessedOffset; + remaining.length -= channel->unprocessedOffset; + res |= UA_ByteString_copy(&remaining, &tmp); + if(channel->unprocessedCopied) + UA_ByteString_clear(&channel->unprocessed); + channel->unprocessed = tmp; + channel->unprocessedOffset = 0; + channel->unprocessedCopied = true; + return res; +} + +/**** amalgamated original file "/src/ua_securechannel_crypto.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2016-2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016 (c) TorbenD + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + */ + + + +UA_StatusCode +UA_SecureChannel_generateLocalNonce(UA_SecureChannel *channel) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); + UA_LOG_DEBUG_CHANNEL(sp->logger, channel, "Generating new local nonce"); + + /* Is the length of the previous nonce correct? */ + size_t nonceLength = sp->symmetricModule.secureChannelNonceLength; + if(channel->localNonce.length != nonceLength) { + UA_ByteString_clear(&channel->localNonce); + UA_StatusCode res = UA_ByteString_allocBuffer(&channel->localNonce, nonceLength); + UA_CHECK_STATUS(res, return res); + } + + /* Generate the nonce */ + return sp->symmetricModule.generateNonce(sp->policyContext, &channel->localNonce); +} + +UA_StatusCode +UA_SecureChannel_generateLocalKeys(const UA_SecureChannel *channel) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); + UA_LOG_TRACE_CHANNEL(sp->logger, channel, "Generating new local keys"); + + void *cc = channel->channelContext; + const UA_SecurityPolicyChannelModule *cm = &sp->channelModule; + const UA_SecurityPolicySymmetricModule *sm = &sp->symmetricModule; + const UA_SecurityPolicyCryptoModule *crm = &sm->cryptoModule; + + /* Generate symmetric key buffer of the required length. The block size is + * identical for local/remote. */ + UA_ByteString buf; + size_t encrKL = crm->encryptionAlgorithm.getLocalKeyLength(cc); + size_t encrBS = crm->encryptionAlgorithm.getRemoteBlockSize(cc); + size_t signKL = crm->signatureAlgorithm.getLocalKeyLength(cc); + if(encrBS + signKL + encrKL == 0) + return UA_STATUSCODE_GOOD; /* No keys to generate */ + + UA_StatusCode retval = UA_ByteString_allocBuffer(&buf, encrBS + signKL + encrKL); + UA_CHECK_STATUS(retval, return retval); + UA_ByteString localSigningKey = {signKL, buf.data}; + UA_ByteString localEncryptingKey = {encrKL, &buf.data[signKL]}; + UA_ByteString localIv = {encrBS, &buf.data[signKL + encrKL]}; + + /* Generate key */ + retval = sm->generateKey(sp->policyContext, &channel->remoteNonce, + &channel->localNonce, &buf); + UA_CHECK_STATUS(retval, goto error); + + /* Set the channel context */ + retval |= cm->setLocalSymSigningKey(cc, &localSigningKey); + retval |= cm->setLocalSymEncryptingKey(cc, &localEncryptingKey); + retval |= cm->setLocalSymIv(cc, &localIv); + + error: + UA_CHECK_STATUS(retval, UA_LOG_WARNING_CHANNEL(sp->logger, channel, + "Could not generate local keys (statuscode: %s)", + UA_StatusCode_name(retval))); + UA_ByteString_clear(&buf); + return retval; +} + +UA_StatusCode +generateRemoteKeys(const UA_SecureChannel *channel) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); + UA_LOG_TRACE_CHANNEL(sp->logger, channel, "Generating new remote keys"); + + void *cc = channel->channelContext; + const UA_SecurityPolicyChannelModule *cm = &sp->channelModule; + const UA_SecurityPolicySymmetricModule *sm = &sp->symmetricModule; + const UA_SecurityPolicyCryptoModule *crm = &sm->cryptoModule; + + /* Generate symmetric key buffer of the required length */ + UA_ByteString buf; + size_t encrKL = crm->encryptionAlgorithm.getRemoteKeyLength(cc); + size_t encrBS = crm->encryptionAlgorithm.getRemoteBlockSize(cc); + size_t signKL = crm->signatureAlgorithm.getRemoteKeyLength(cc); + if(encrBS + signKL + encrKL == 0) + return UA_STATUSCODE_GOOD; /* No keys to generate */ + + UA_StatusCode retval = UA_ByteString_allocBuffer(&buf, encrBS + signKL + encrKL); + UA_CHECK_STATUS(retval, return retval); + UA_ByteString remoteSigningKey = {signKL, buf.data}; + UA_ByteString remoteEncryptingKey = {encrKL, &buf.data[signKL]}; + UA_ByteString remoteIv = {encrBS, &buf.data[signKL + encrKL]}; + + /* Generate key */ + retval = sm->generateKey(sp->policyContext, &channel->localNonce, + &channel->remoteNonce, &buf); + UA_CHECK_STATUS(retval, goto error); + + /* Set the channel context */ + retval |= cm->setRemoteSymSigningKey(cc, &remoteSigningKey); + retval |= cm->setRemoteSymEncryptingKey(cc, &remoteEncryptingKey); + retval |= cm->setRemoteSymIv(cc, &remoteIv); + + error: + UA_CHECK_STATUS(retval, UA_LOG_WARNING_CHANNEL(sp->logger, channel, + "Could not generate remote keys (statuscode: %s)", + UA_StatusCode_name(retval))); + UA_ByteString_clear(&buf); + return retval; +} + +/***************************/ +/* Send Asymmetric Message */ +/***************************/ + +/* The length of the static header content */ +#define UA_SECURECHANNEL_ASYMMETRIC_SECURITYHEADER_FIXED_LENGTH 12 + +size_t +calculateAsymAlgSecurityHeaderLength(const UA_SecureChannel *channel) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); + + size_t asymHeaderLength = UA_SECURECHANNEL_ASYMMETRIC_SECURITYHEADER_FIXED_LENGTH + + sp->policyUri.length; + if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) + return asymHeaderLength; + + /* OPN is always encrypted even if the mode is sign only */ + asymHeaderLength += 20; /* Thumbprints are always 20 byte long */ + asymHeaderLength += sp->localCertificate.length; + return asymHeaderLength; +} + +UA_StatusCode +prependHeadersAsym(UA_SecureChannel *const channel, UA_Byte *header_pos, + const UA_Byte *buf_end, size_t totalLength, + size_t securityHeaderLength, UA_UInt32 requestId, + size_t *const encryptedLength) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); + + if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) { + *encryptedLength = totalLength; + } else { + size_t dataToEncryptLength = totalLength - + (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + securityHeaderLength); + size_t plainTextBlockSize = sp->asymmetricModule.cryptoModule. + encryptionAlgorithm.getRemotePlainTextBlockSize(channel->channelContext); + size_t encryptedBlockSize = sp->asymmetricModule.cryptoModule. + encryptionAlgorithm.getRemoteBlockSize(channel->channelContext); + + /* Padding always fills up the last block */ + UA_assert(dataToEncryptLength % plainTextBlockSize == 0); + size_t blocks = dataToEncryptLength / plainTextBlockSize; + *encryptedLength = totalLength + blocks * (encryptedBlockSize - plainTextBlockSize); + } + + UA_TcpMessageHeader messageHeader; + messageHeader.messageTypeAndChunkType = UA_MESSAGETYPE_OPN + UA_CHUNKTYPE_FINAL; + messageHeader.messageSize = (UA_UInt32)*encryptedLength; + UA_UInt32 secureChannelId = channel->securityToken.channelId; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + retval |= UA_encodeBinaryInternal(&messageHeader, + &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], + &header_pos, &buf_end, NULL, NULL); + retval |= UA_UInt32_encodeBinary(&secureChannelId, &header_pos, buf_end); + UA_CHECK_STATUS(retval, return retval); + + UA_AsymmetricAlgorithmSecurityHeader asymHeader; + UA_AsymmetricAlgorithmSecurityHeader_init(&asymHeader); + asymHeader.securityPolicyUri = sp->policyUri; + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || + channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + asymHeader.senderCertificate = sp->localCertificate; + asymHeader.receiverCertificateThumbprint.length = 20; + asymHeader.receiverCertificateThumbprint.data = channel->remoteCertificateThumbprint; + } + retval = UA_encodeBinaryInternal(&asymHeader, + &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER], + &header_pos, &buf_end, NULL, NULL); + UA_CHECK_STATUS(retval, return retval); + + /* Increase the sequence number in the channel */ + channel->sendSequenceNumber++; + + UA_SequenceHeader seqHeader; + seqHeader.requestId = requestId; + seqHeader.sequenceNumber = channel->sendSequenceNumber; + retval = UA_encodeBinaryInternal(&seqHeader, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], + &header_pos, &buf_end, NULL, NULL); + return retval; +} + +void +hideBytesAsym(const UA_SecureChannel *channel, UA_Byte **buf_start, + const UA_Byte **buf_end) { + /* Set buf_start to the beginning of the payload body */ + *buf_start += UA_SECURECHANNEL_CHANNELHEADER_LENGTH; + *buf_start += calculateAsymAlgSecurityHeaderLength(channel); + *buf_start += UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH; + +#ifdef UA_ENABLE_ENCRYPTION + if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) + return; + + /* Make space for the certificate */ + const UA_SecurityPolicy *sp = channel->securityPolicy; + *buf_end -= sp->asymmetricModule.cryptoModule.signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + + /* Block sizes depend on the remote key (certificate) */ + size_t plainTextBlockSize = sp->asymmetricModule.cryptoModule. + encryptionAlgorithm.getRemotePlainTextBlockSize(channel->channelContext); + size_t encryptedBlockSize = sp->asymmetricModule.cryptoModule. + encryptionAlgorithm.getRemoteBlockSize(channel->channelContext); + UA_Boolean extraPadding = (sp->asymmetricModule.cryptoModule.encryptionAlgorithm. + getRemoteKeyLength(channel->channelContext) > 2048); + + /* Compute the maximum number of encrypted blocks that can fit entirely + * before the signature. From that compute the maximum usable plaintext + * size. */ + size_t maxEncrypted = (size_t)(*buf_end - *buf_start) + + UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH; + size_t max_blocks = maxEncrypted / encryptedBlockSize; + size_t paddingBytes = (UA_LIKELY(!extraPadding)) ? 1u : 2u; + *buf_end = *buf_start + (max_blocks * plainTextBlockSize) - + UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH - paddingBytes; +#endif +} + +#ifdef UA_ENABLE_ENCRYPTION + +/* Assumes that pos can be advanced to the end of the current block */ +void +padChunk(UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cm, + const UA_Byte *start, UA_Byte **pos) { + const size_t bytesToWrite = (uintptr_t)*pos - (uintptr_t)start; + size_t signatureSize = cm->signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + size_t plainTextBlockSize = cm->encryptionAlgorithm. + getRemotePlainTextBlockSize(channel->channelContext); + UA_Boolean extraPadding = (cm->encryptionAlgorithm. + getRemoteKeyLength(channel->channelContext) > 2048); + size_t paddingBytes = (UA_LIKELY(!extraPadding)) ? 1u : 2u; + + size_t lastBlock = ((bytesToWrite + signatureSize + paddingBytes) % plainTextBlockSize); + size_t paddingLength = (lastBlock != 0) ? plainTextBlockSize - lastBlock : 0; + + UA_LOG_TRACE_CHANNEL(channel->securityPolicy->logger, channel, + "Add %lu bytes of padding plus %lu padding size bytes", + (long unsigned int)paddingLength, + (long unsigned int)paddingBytes); + + /* Write the padding. This is <= because the paddingSize byte also has to be + * written */ + UA_Byte paddingByte = (UA_Byte)paddingLength; + for(UA_UInt16 i = 0; i <= paddingLength; ++i) { + **pos = paddingByte; + ++*pos; + } + + /* Write the extra padding byte if required */ + if(extraPadding) { + **pos = (UA_Byte)(paddingLength >> 8u); + ++*pos; + } +} + +UA_StatusCode +signAndEncryptAsym(UA_SecureChannel *channel, size_t preSignLength, + UA_ByteString *buf, size_t securityHeaderLength, + size_t totalLength) { + if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && + channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return UA_STATUSCODE_GOOD; + + /* Sign message */ + const UA_SecurityPolicy *sp = channel->securityPolicy; + const UA_ByteString dataToSign = {preSignLength, buf->data}; + size_t sigsize = sp->asymmetricModule.cryptoModule.signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + UA_ByteString signature = {sigsize, buf->data + preSignLength}; + UA_StatusCode retval = sp->asymmetricModule.cryptoModule.signatureAlgorithm. + sign(channel->channelContext, &dataToSign, &signature); + UA_CHECK_STATUS(retval, return retval); + + /* Specification part 6, 6.7.4: The OpenSecureChannel Messages are + * signed and encrypted if the SecurityMode is not None (even if the + * SecurityMode is SignOnly). */ + size_t unencrypted_length = + UA_SECURECHANNEL_CHANNELHEADER_LENGTH + securityHeaderLength; + UA_ByteString dataToEncrypt = {totalLength - unencrypted_length, + &buf->data[unencrypted_length]}; + return sp->asymmetricModule.cryptoModule.encryptionAlgorithm. + encrypt(channel->channelContext, &dataToEncrypt); +} + +/**************************/ +/* Send Symmetric Message */ +/**************************/ + +UA_StatusCode +signAndEncryptSym(UA_MessageContext *messageContext, + size_t preSigLength, size_t totalLength) { + const UA_SecureChannel *channel = messageContext->channel; + if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) + return UA_STATUSCODE_GOOD; + + /* Sign */ + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_ByteString dataToSign = messageContext->messageBuffer; + dataToSign.length = preSigLength; + UA_ByteString signature; + signature.length = sp->symmetricModule.cryptoModule.signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + signature.data = messageContext->buf_pos; + UA_StatusCode res = sp->symmetricModule.cryptoModule.signatureAlgorithm. + sign(channel->channelContext, &dataToSign, &signature); + UA_CHECK_STATUS(res, return res); + + if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return UA_STATUSCODE_GOOD; + + /* Encrypt */ + UA_ByteString dataToEncrypt; + dataToEncrypt.data = messageContext->messageBuffer.data + + UA_SECURECHANNEL_CHANNELHEADER_LENGTH + + UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH; + dataToEncrypt.length = totalLength - + (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + + UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH); + return sp->symmetricModule.cryptoModule.encryptionAlgorithm. + encrypt(channel->channelContext, &dataToEncrypt); +} + +#endif /* UA_ENABLE_ENCRYPTION */ + +void +setBufPos(UA_MessageContext *mc) { + /* Forward the data pointer so that the payload is encoded after the message + * header. This has to be a symmetric message because OPN (with asymmetric + * encryption) does not support chunking. */ + mc->buf_pos = &mc->messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]; + mc->buf_end = &mc->messageBuffer.data[mc->messageBuffer.length]; + +#ifdef UA_ENABLE_ENCRYPTION + if(mc->channel->securityMode == UA_MESSAGESECURITYMODE_NONE) + return; + + const UA_SecureChannel *channel = mc->channel; + const UA_SecurityPolicy *sp = channel->securityPolicy; + size_t sigsize = sp->symmetricModule.cryptoModule.signatureAlgorithm. + getLocalSignatureSize(channel->channelContext); + size_t plainBlockSize = sp->symmetricModule.cryptoModule. + encryptionAlgorithm.getRemotePlainTextBlockSize(channel->channelContext); + + /* Assuming that for symmetric encryption the plainTextBlockSize == + * cypherTextBlockSize. For symmetric encryption the remote/local block + * sizes are identical. */ + UA_assert(sp->symmetricModule.cryptoModule.encryptionAlgorithm. + getRemoteBlockSize(channel->channelContext) == plainBlockSize); + + /* Leave enough space for the signature and padding */ + mc->buf_end -= sigsize; + mc->buf_end -= mc->messageBuffer.length % plainBlockSize; + + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + /* Reserve space for the padding bytes */ + UA_Boolean extraPadding = + (sp->symmetricModule.cryptoModule.encryptionAlgorithm. + getRemoteKeyLength(channel->channelContext) > 2048); + mc->buf_end -= (UA_LIKELY(!extraPadding)) ? 1 : 2; + } + + UA_LOG_TRACE_CHANNEL(sp->logger, channel, + "Prepare a symmetric message buffer of length %lu " + "with a usable maximum payload length of %lu", + (long unsigned)mc->messageBuffer.length, + (long unsigned)((uintptr_t)mc->buf_end - + (uintptr_t)mc->messageBuffer.data)); +#endif +} + +/****************************/ +/* Process a received Chunk */ +/****************************/ + +static size_t +decodePadding(const UA_SecureChannel *channel, + const UA_SecurityPolicyCryptoModule *cryptoModule, + const UA_ByteString *chunk, size_t sigsize) { + /* Read the byte with the padding size */ + size_t paddingSize = chunk->data[chunk->length - sigsize - 1]; + + /* Extra padding size */ + if(cryptoModule->encryptionAlgorithm. + getLocalKeyLength(channel->channelContext) > 2048) { + paddingSize <<= 8u; + paddingSize += chunk->data[chunk->length - sigsize - 2]; + paddingSize += 1; /* Extra padding byte itself */ + } + + /* Add one since the paddingSize byte itself needs to be removed as well */ + return paddingSize + 1; +} + +static UA_StatusCode +verifySignature(const UA_SecureChannel *channel, + const UA_SecurityPolicyCryptoModule *cryptoModule, + const UA_ByteString *chunk, size_t sigsize) { + UA_LOG_TRACE_CHANNEL(channel->securityPolicy->logger, channel, + "Verifying chunk signature"); + UA_CHECK(sigsize < chunk->length, return UA_STATUSCODE_BADSECURITYCHECKSFAILED); + const UA_ByteString content = {chunk->length - sigsize, chunk->data}; + const UA_ByteString sig = {sigsize, chunk->data + chunk->length - sigsize}; + UA_StatusCode retval = cryptoModule->signatureAlgorithm. + verify(channel->channelContext, &content, &sig); + return retval; +} + +/* Sets the payload to a pointer inside the chunk buffer. Returns the requestId + * and the sequenceNumber */ +UA_StatusCode +decryptAndVerifyChunk(const UA_SecureChannel *channel, + const UA_SecurityPolicyCryptoModule *cryptoModule, + UA_MessageType messageType, UA_ByteString *chunk, + size_t offset) { + /* Decrypt the chunk */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT || + messageType == UA_MESSAGETYPE_OPN) { + UA_ByteString cipher = {chunk->length - offset, chunk->data + offset}; + res = cryptoModule->encryptionAlgorithm.decrypt(channel->channelContext, &cipher); + UA_CHECK_STATUS(res, return res); + chunk->length = cipher.length + offset; + } + + /* Does the message have a signature? */ + if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && + channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT && + messageType != UA_MESSAGETYPE_OPN) + return UA_STATUSCODE_GOOD; + + /* Verify the chunk signature */ + size_t sigsize = cryptoModule->signatureAlgorithm. + getRemoteSignatureSize(channel->channelContext); + res = verifySignature(channel, cryptoModule, chunk, sigsize); + UA_CHECK_STATUS(res, + UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, + "Could not verify the signature"); return res); + + /* Compute the padding if the payload as encrypted */ + size_t padSize = 0; + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT || + (messageType == UA_MESSAGETYPE_OPN && + cryptoModule->encryptionAlgorithm.uri.length > 0)) { + padSize = decodePadding(channel, cryptoModule, chunk, sigsize); + UA_LOG_TRACE_CHANNEL(channel->securityPolicy->logger, channel, + "Calculated padding size to be %lu", + (long unsigned)padSize); + } + + /* Verify the content length. The encrypted payload has to be at least 9 + * bytes long: 8 byte for the SequenceHeader and one byte for the actual + * message */ + UA_CHECK(offset + padSize + sigsize + 9 < chunk->length, + UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, + "Impossible padding value"); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED); + + /* Hide the signature and padding */ + chunk->length -= (sigsize + padSize); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +checkAsymHeader(UA_SecureChannel *channel, + const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + if(!UA_ByteString_equal(&sp->policyUri, &asymHeader->securityPolicyUri)) + return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + + return sp->asymmetricModule. + compareCertificateThumbprint(sp, &asymHeader->receiverCertificateThumbprint); + + /* The certificate in the header is verified via the configured PKI plugin + * as certificateVerification.verifyCertificate(...). We cannot do it here + * because the client/server context is needed. */ +} + +UA_StatusCode +checkSymHeader(UA_SecureChannel *channel, const UA_UInt32 tokenId) { + /* If no match, try to revolve to the next token after a + * RenewSecureChannel */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + UA_ChannelSecurityToken *token = &channel->securityToken; + switch(channel->renewState) { + case UA_SECURECHANNELRENEWSTATE_NORMAL: + case UA_SECURECHANNELRENEWSTATE_SENT: + default: + break; + + case UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER: + /* Old token still in use */ + if(tokenId == channel->securityToken.tokenId) + break; + + /* Not the new token */ + UA_CHECK(tokenId == channel->altSecurityToken.tokenId, + UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, + "Unknown SecurityToken"); + return UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN); + + /* Roll over to the new token, generate new local and remote keys */ + channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; + channel->securityToken = channel->altSecurityToken; + UA_ChannelSecurityToken_init(&channel->altSecurityToken); + retval |= UA_SecureChannel_generateLocalKeys(channel); + retval |= generateRemoteKeys(channel); + UA_CHECK_STATUS(retval, return retval); + break; + + case UA_SECURECHANNELRENEWSTATE_NEWTOKEN_CLIENT: + /* The server is still using the old token. That's okay. */ + if(tokenId == channel->altSecurityToken.tokenId) { + token = &channel->altSecurityToken; + break; + } + + /* Not the new token */ + UA_CHECK(tokenId == channel->securityToken.tokenId, + UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, + "Unknown SecurityToken"); + return UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN); + + /* The remote server uses the new token for the first time. Delete the + * old token and roll the remote key over. The local key already uses + * the nonce pair from the last OPN exchange. */ + channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; + UA_ChannelSecurityToken_init(&channel->altSecurityToken); + retval = generateRemoteKeys(channel); + UA_CHECK_STATUS(retval, return retval); + } + + UA_DateTime timeout = token->createdAt + (token->revisedLifetime * UA_DATETIME_MSEC); + if(channel->state == UA_SECURECHANNELSTATE_OPEN && + timeout < UA_DateTime_nowMonotonic()) { + UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, + "SecurityToken timed out"); + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_TIMEOUT); + return UA_STATUSCODE_BADSECURECHANNELCLOSED; + } + + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/src/server/ua_session.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + +#ifdef UA_ENABLE_SUBSCRIPTIONS +#endif + +#define UA_SESSION_NONCELENTH 32 + +void UA_Session_init(UA_Session *session) { + memset(session, 0, sizeof(UA_Session)); + session->availableContinuationPoints = UA_MAXCONTINUATIONPOINTS; +#ifdef UA_ENABLE_SUBSCRIPTIONS + SIMPLEQ_INIT(&session->responseQueue); + TAILQ_INIT(&session->subscriptions); +#endif +} + +void UA_Session_clear(UA_Session *session, UA_Server* server) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Remove all Subscriptions. This may send out remaining publish + * responses. */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_Subscription *sub, *tempsub; + TAILQ_FOREACH_SAFE(sub, &session->subscriptions, sessionListEntry, tempsub) { + UA_Subscription_delete(server, sub); + } +#endif + +#ifdef UA_ENABLE_DIAGNOSTICS + deleteNode(server, session->sessionId, true); +#endif + + UA_Session_detachFromSecureChannel(session); + UA_ApplicationDescription_clear(&session->clientDescription); + UA_NodeId_clear(&session->header.authenticationToken); + UA_String_clear(&session->clientUserIdOfSession); + UA_NodeId_clear(&session->sessionId); + UA_String_clear(&session->sessionName); + UA_ByteString_clear(&session->serverNonce); + struct ContinuationPoint *cp, *next = session->continuationPoints; + while((cp = next)) { + next = ContinuationPoint_clear(cp); + UA_free(cp); + } + session->continuationPoints = NULL; + session->availableContinuationPoints = UA_MAXCONTINUATIONPOINTS; + + UA_KeyValueMap_delete(session->attributes); + session->attributes = NULL; + + UA_Array_delete(session->localeIds, session->localeIdsSize, + &UA_TYPES[UA_TYPES_STRING]); + session->localeIds = NULL; + session->localeIdsSize = 0; + +#ifdef UA_ENABLE_DIAGNOSTICS + UA_SessionDiagnosticsDataType_clear(&session->diagnostics); + UA_SessionSecurityDiagnosticsDataType_clear(&session->securityDiagnostics); +#endif +} + +void +UA_Session_attachToSecureChannel(UA_Session *session, UA_SecureChannel *channel) { + UA_Session_detachFromSecureChannel(session); + session->header.channel = channel; + session->header.serverSession = true; + SLIST_INSERT_HEAD(&channel->sessions, &session->header, next); +} + +void +UA_Session_detachFromSecureChannel(UA_Session *session) { + UA_SecureChannel *channel = session->header.channel; + if(!channel) + return; + session->header.channel = NULL; + UA_SessionHeader *sh; + SLIST_FOREACH(sh, &channel->sessions, next) { + if((UA_Session*)sh != session) + continue; + SLIST_REMOVE(&channel->sessions, sh, UA_SessionHeader, next); + break; + } + + /* Clean up the response queue. Their RequestId is bound to the + * SecureChannel so they cannot be reused. */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_PublishResponseEntry *pre; + while((pre = UA_Session_dequeuePublishReq(session))) { + UA_PublishResponse_clear(&pre->response); + UA_free(pre); + } +#endif +} + +UA_StatusCode +UA_Session_generateNonce(UA_Session *session) { + UA_SecureChannel *channel = session->header.channel; + if(!channel || !channel->securityPolicy) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Is the length of the previous nonce correct? */ + if(session->serverNonce.length != UA_SESSION_NONCELENTH) { + UA_ByteString_clear(&session->serverNonce); + UA_StatusCode retval = + UA_ByteString_allocBuffer(&session->serverNonce, UA_SESSION_NONCELENTH); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + + return channel->securityPolicy->symmetricModule. + generateNonce(channel->securityPolicy->policyContext, &session->serverNonce); +} + +void UA_Session_updateLifetime(UA_Session *session) { + session->validTill = UA_DateTime_nowMonotonic() + + (UA_DateTime)(session->timeout * UA_DATETIME_MSEC); +#ifdef UA_ENABLE_DIAGNOSTICS + session->diagnostics.clientLastContactTime = UA_DateTime_now(); +#endif +} + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +void +UA_Session_attachSubscription(UA_Session *session, UA_Subscription *sub) { + /* Attach to the session */ + sub->session = session; + + /* Increase the count */ + session->subscriptionsSize++; + + /* Increase the number of outstanding retransmissions */ + session->totalRetransmissionQueueSize += sub->retransmissionQueueSize; + + /* Insert at the end of the subscriptions of the same priority / just before + * the subscriptions with the next lower priority. */ + UA_Subscription *after = NULL; + TAILQ_FOREACH(after, &session->subscriptions, sessionListEntry) { + if(after->priority < sub->priority) { + TAILQ_INSERT_BEFORE(after, sub, sessionListEntry); + return; + } + } + TAILQ_INSERT_TAIL(&session->subscriptions, sub, sessionListEntry); +} + +void +UA_Session_detachSubscription(UA_Server *server, UA_Session *session, + UA_Subscription *sub, UA_Boolean releasePublishResponses) { + /* Detach from the session */ + sub->session = NULL; + TAILQ_REMOVE(&session->subscriptions, sub, sessionListEntry); + + /* Reduce the count */ + UA_assert(session->subscriptionsSize > 0); + session->subscriptionsSize--; + + /* Reduce the number of outstanding retransmissions */ + session->totalRetransmissionQueueSize -= sub->retransmissionQueueSize; + + /* Send remaining publish responses if the last subscription was removed */ + if(!releasePublishResponses || !TAILQ_EMPTY(&session->subscriptions)) + return; + UA_PublishResponseEntry *pre; + while((pre = UA_Session_dequeuePublishReq(session))) { + UA_PublishResponse *response = &pre->response; + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOSUBSCRIPTION; + sendResponse(server, session, session->header.channel, pre->requestId, + (UA_Response*)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); + UA_PublishResponse_clear(response); + UA_free(pre); + } +} + +UA_Subscription * +UA_Session_getSubscriptionById(UA_Session *session, UA_UInt32 subscriptionId) { + UA_Subscription *sub; + TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { + /* Prevent lookup of subscriptions that are to be deleted with a statuschange */ + if(sub->statusChange != UA_STATUSCODE_GOOD) + continue; + if(sub->subscriptionId == subscriptionId) + break; + } + return sub; +} + +UA_Subscription * +getSubscriptionById(UA_Server *server, UA_UInt32 subscriptionId) { + UA_Subscription *sub; + LIST_FOREACH(sub, &server->subscriptions, serverListEntry) { + /* Prevent lookup of subscriptions that are to be deleted with a statuschange */ + if(sub->statusChange != UA_STATUSCODE_GOOD) + continue; + if(sub->subscriptionId == subscriptionId) + break; + } + return sub; +} + +UA_PublishResponseEntry* +UA_Session_dequeuePublishReq(UA_Session *session) { + UA_PublishResponseEntry *entry = SIMPLEQ_FIRST(&session->responseQueue); + if(entry) { + SIMPLEQ_REMOVE_HEAD(&session->responseQueue, listEntry); + session->responseQueueSize--; + } + return entry; +} + +void +UA_Session_queuePublishReq(UA_Session *session, UA_PublishResponseEntry* entry, + UA_Boolean head) { + if(!head) + SIMPLEQ_INSERT_TAIL(&session->responseQueue, entry, listEntry); + else + SIMPLEQ_INSERT_HEAD(&session->responseQueue, entry, listEntry); + session->responseQueueSize++; +} + +#endif + +/* Session Handling */ + +UA_StatusCode +UA_Server_closeSession(UA_Server *server, const UA_NodeId *sessionId) { + lockServer(server); + session_list_entry *entry; + UA_StatusCode res = UA_STATUSCODE_BADSESSIONIDINVALID; + LIST_FOREACH(entry, &server->sessions, pointers) { + if(UA_NodeId_equal(&entry->session.sessionId, sessionId)) { + UA_Server_removeSession(server, entry, UA_SHUTDOWNREASON_CLOSE); + res = UA_STATUSCODE_GOOD; + break; + } + } + unlockServer(server); + return res; +} + +/* Session Attributes */ + +#define UA_PROTECTEDATTRIBUTESSIZE 4 +static const UA_QualifiedName protectedAttributes[UA_PROTECTEDATTRIBUTESSIZE] = { + {0, UA_STRING_STATIC("localeIds")}, + {0, UA_STRING_STATIC("clientDescription")}, + {0, UA_STRING_STATIC("sessionName")}, + {0, UA_STRING_STATIC("clientUserId")} +}; + +static UA_Boolean +protectedAttribute(const UA_QualifiedName key) { + for(size_t i = 0; i < UA_PROTECTEDATTRIBUTESSIZE; i++) { + if(UA_QualifiedName_equal(&key, &protectedAttributes[i])) + return true; + } + return false; +} + +UA_StatusCode +UA_Server_setSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, const UA_Variant *value) { + if(protectedAttribute(key)) + return UA_STATUSCODE_BADNOTWRITABLE; + lockServer(server); + UA_Session *session = getSessionById(server, sessionId); + UA_StatusCode res = UA_STATUSCODE_BADSESSIONIDINVALID; + if(session) + res = UA_KeyValueMap_set(session->attributes, + key, value); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_deleteSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key) { + if(protectedAttribute(key)) + return UA_STATUSCODE_BADNOTWRITABLE; + lockServer(server); + UA_Session *session = getSessionById(server, sessionId); + if(!session) { + unlockServer(server); + return UA_STATUSCODE_BADSESSIONIDINVALID; + } + UA_StatusCode res = + UA_KeyValueMap_remove(session->attributes, key); + unlockServer(server); + return res; +} + +static UA_StatusCode +getSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, UA_Variant *outValue, + UA_Boolean copy) { + if(!outValue) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_Session *session = getSessionById(server, sessionId); + if(!session) + return UA_STATUSCODE_BADSESSIONIDINVALID; + + const UA_Variant *attr; + UA_Variant localAttr; + + if(UA_QualifiedName_equal(&key, &protectedAttributes[0])) { + /* Return LocaleIds */ + UA_Variant_setArray(&localAttr, session->localeIds, + session->localeIdsSize, &UA_TYPES[UA_TYPES_STRING]); + attr = &localAttr; + } else if(UA_QualifiedName_equal(&key, &protectedAttributes[1])) { + /* Return client description */ + UA_Variant_setScalar(&localAttr, &session->clientDescription, + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); + attr = &localAttr; + } else if(UA_QualifiedName_equal(&key, &protectedAttributes[2])) { + /* Return session name */ + UA_Variant_setScalar(&localAttr, &session->sessionName, + &UA_TYPES[UA_TYPES_STRING]); + attr = &localAttr; + } else if(UA_QualifiedName_equal(&key, &protectedAttributes[3])) { + /* Return client user id */ + UA_Variant_setScalar(&localAttr, &session->clientUserIdOfSession, + &UA_TYPES[UA_TYPES_STRING]); + attr = &localAttr; + } else { + /* Get from the actual key-value list */ + attr = UA_KeyValueMap_get(session->attributes, key); + if(!attr) + return UA_STATUSCODE_BADNOTFOUND; + } + + if(copy) + return UA_Variant_copy(attr, outValue); + + *outValue = *attr; + outValue->storageType = UA_VARIANT_DATA_NODELETE; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_getSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, UA_Variant *outValue) { + lockServer(server); + UA_StatusCode res = getSessionAttribute(server, sessionId, key, outValue, false); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_getSessionAttributeCopy(UA_Server *server, const UA_NodeId *sessionId, + const UA_QualifiedName key, UA_Variant *outValue) { + lockServer(server); + UA_StatusCode res = getSessionAttribute(server, sessionId, key, outValue, true); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_getSessionAttribute_scalar(UA_Server *server, + const UA_NodeId *sessionId, + const UA_QualifiedName key, + const UA_DataType *type, + void *outValue) { + lockServer(server); + + UA_Variant attr; + UA_StatusCode res = getSessionAttribute(server, sessionId, key, &attr, false); + if(res != UA_STATUSCODE_GOOD) { + unlockServer(server); + return res; + } + + if(!UA_Variant_hasScalarType(&attr, type)) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + + memcpy(outValue, attr.data, type->memSize); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/src/server/ua_nodes.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2018, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015, 2017 (c) Florian Palm + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Julian Grothoff + */ + + +/*********************/ +/* ReferenceType Set */ +/*********************/ + +#define UA_REFTYPES_ALL_MASK (~(UA_UInt32)0) +#define UA_REFTYPES_ALL_MASK2 UA_REFTYPES_ALL_MASK, UA_REFTYPES_ALL_MASK +#define UA_REFTYPES_ALL_MASK4 UA_REFTYPES_ALL_MASK2, UA_REFTYPES_ALL_MASK2 +#if (UA_REFERENCETYPESET_MAX) / 32 > 8 +# error Adjust macros to support than 256 reference types +#elif (UA_REFERENCETYPESET_MAX) / 32 == 8 +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK4 +#elif (UA_REFERENCETYPESET_MAX) / 32 == 7 +# define UA_REFTYPES_ALL_ARRAY \ + UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK2, UA_REFTYPES_ALL_MASK +#elif (UA_REFERENCETYPESET_MAX) / 32 == 6 +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK2 +#elif (UA_REFERENCETYPESET_MAX) / 32 == 5 +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK +#elif (UA_REFERENCETYPESET_MAX) / 32 == 4 +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4 +#elif (UA_REFERENCETYPESET_MAX) / 32 == 3 +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK2, UA_REFTYPES_ALL_MASK +#elif (UA_REFERENCETYPESET_MAX) / 32 == 2 +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK2 +#else +# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK +#endif + +const UA_ReferenceTypeSet UA_REFERENCETYPESET_NONE = {{0}}; +const UA_ReferenceTypeSet UA_REFERENCETYPESET_ALL = {{UA_REFTYPES_ALL_ARRAY}}; + +/*****************/ +/* Node Pointers */ +/*****************/ + +#define UA_NODEPOINTER_MASK 0x03 +#define UA_NODEPOINTER_TAG_IMMEDIATE 0x00 +#define UA_NODEPOINTER_TAG_NODEID 0x01 +#define UA_NODEPOINTER_TAG_EXPANDEDNODEID 0x02 +#define UA_NODEPOINTER_TAG_NODE 0x03 + +void +UA_NodePointer_clear(UA_NodePointer *np) { + switch(np->immediate & UA_NODEPOINTER_MASK) { + case UA_NODEPOINTER_TAG_NODEID: + np->immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + UA_NodeId_delete((UA_NodeId*)(uintptr_t)np->id); + break; + case UA_NODEPOINTER_TAG_EXPANDEDNODEID: + np->immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + UA_ExpandedNodeId_delete((UA_ExpandedNodeId*)(uintptr_t) + np->expandedId); + break; + default: + break; + } + UA_NodePointer_init(np); +} + +UA_StatusCode +UA_NodePointer_copy(UA_NodePointer in, UA_NodePointer *out) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_Byte tag = in.immediate & UA_NODEPOINTER_MASK; + in.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + switch(tag) { + case UA_NODEPOINTER_TAG_NODE: + in.id = &in.node->nodeId; + goto nodeid; /* fallthrough */ + case UA_NODEPOINTER_TAG_NODEID: + nodeid: + out->id = UA_NodeId_new(); + if(!out->id) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_NodeId_copy(in.id, (UA_NodeId*)(uintptr_t)out->id); + if(res != UA_STATUSCODE_GOOD) { + UA_free((void*)out->immediate); + out->immediate = 0; + break; + } + out->immediate |= UA_NODEPOINTER_TAG_NODEID; + break; + case UA_NODEPOINTER_TAG_EXPANDEDNODEID: + out->expandedId = UA_ExpandedNodeId_new(); + if(!out->expandedId) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_ExpandedNodeId_copy(in.expandedId, + (UA_ExpandedNodeId*)(uintptr_t) + out->expandedId); + if(res != UA_STATUSCODE_GOOD) { + UA_free((void*)out->immediate); + out->immediate = 0; + break; + } + out->immediate |= UA_NODEPOINTER_TAG_EXPANDEDNODEID; + break; + default: + case UA_NODEPOINTER_TAG_IMMEDIATE: + *out = in; + break; + } + return res; +} + +UA_Boolean +UA_NodePointer_isLocal(UA_NodePointer np) { + UA_Byte tag = np.immediate & UA_NODEPOINTER_MASK; + return (tag != UA_NODEPOINTER_TAG_EXPANDEDNODEID); +} + +UA_Order +UA_NodePointer_order(UA_NodePointer p1, UA_NodePointer p2) { + if(p1.immediate == p2.immediate) + return UA_ORDER_EQ; + + /* Extract the tag and resolve pointers to nodes */ + UA_Byte tag1 = p1.immediate & UA_NODEPOINTER_MASK; + if(tag1 == UA_NODEPOINTER_TAG_NODE) { + p1 = UA_NodePointer_fromNodeId(&p1.node->nodeId); + tag1 = p1.immediate & UA_NODEPOINTER_MASK; + } + UA_Byte tag2 = p2.immediate & UA_NODEPOINTER_MASK; + if(tag2 == UA_NODEPOINTER_TAG_NODE) { + p2 = UA_NodePointer_fromNodeId(&p2.node->nodeId); + tag2 = p2.immediate & UA_NODEPOINTER_MASK; + } + + /* Different tags, cannot be identical */ + if(tag1 != tag2) + return (tag1 > tag2) ? UA_ORDER_MORE : UA_ORDER_LESS; + + /* Immediate */ + if(UA_LIKELY(tag1 == UA_NODEPOINTER_TAG_IMMEDIATE)) + return (p1.immediate > p2.immediate) ? + UA_ORDER_MORE : UA_ORDER_LESS; + + /* Compare from pointers */ + p1.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + p2.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + if(tag1 == UA_NODEPOINTER_TAG_EXPANDEDNODEID) + return UA_ExpandedNodeId_order(p1.expandedId, p2.expandedId); + return UA_NodeId_order(p1.id, p2.id); +} + +UA_NodePointer +UA_NodePointer_fromNodeId(const UA_NodeId *id) { + UA_NodePointer np; + if(id->identifierType != UA_NODEIDTYPE_NUMERIC) { + np.id = id; + np.immediate |= UA_NODEPOINTER_TAG_NODEID; + return np; + } + +#if SIZE_MAX > UA_UINT32_MAX + /* 64bit: 4 Byte for the numeric identifier + 2 Byte for the namespaceIndex + * + 1 Byte for the tagging bit (zero) */ + np.immediate = ((uintptr_t)id->identifier.numeric) << 32; + np.immediate |= ((uintptr_t)id->namespaceIndex) << 8; +#else + /* 32bit: 3 Byte for the numeric identifier + 6 Bit for the namespaceIndex + * + 2 Bit for the tagging bit (zero) */ + if(id->namespaceIndex < (0x01 << 6) && + id->identifier.numeric < (0x01 << 24)) { + np.immediate = ((uintptr_t)id->identifier.numeric) << 8; + np.immediate |= ((uintptr_t)id->namespaceIndex) << 2; + } else { + np.id = id; + np.immediate |= UA_NODEPOINTER_TAG_NODEID; + } +#endif + return np; +} + +UA_NodeId +UA_NodePointer_toNodeId(UA_NodePointer np) { + UA_Byte tag = np.immediate & UA_NODEPOINTER_MASK; + np.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + switch(tag) { + case UA_NODEPOINTER_TAG_NODE: + return np.node->nodeId; + case UA_NODEPOINTER_TAG_NODEID: + return *np.id; + case UA_NODEPOINTER_TAG_EXPANDEDNODEID: + return np.expandedId->nodeId; + default: + case UA_NODEPOINTER_TAG_IMMEDIATE: + break; + } + + UA_NodeId id; + id.identifierType = UA_NODEIDTYPE_NUMERIC; +#if SIZE_MAX > UA_UINT32_MAX /* 64bit */ + id.namespaceIndex = (UA_UInt16)(np.immediate >> 8); + id.identifier.numeric = (UA_UInt32)(np.immediate >> 32); +#else /* 32bit */ + id.namespaceIndex = ((UA_Byte)np.immediate) >> 2; + id.identifier.numeric = np.immediate >> 8; +#endif + return id; +} + +UA_NodePointer +UA_NodePointer_fromExpandedNodeId(const UA_ExpandedNodeId *id) { + if(!UA_ExpandedNodeId_isLocal(id)) { + UA_NodePointer np; + np.expandedId = id; + np.immediate |= UA_NODEPOINTER_TAG_EXPANDEDNODEID; + return np; + } + return UA_NodePointer_fromNodeId(&id->nodeId); +} + +UA_ExpandedNodeId +UA_NodePointer_toExpandedNodeId(UA_NodePointer np) { + /* Resolve node pointer to get the NodeId */ + UA_Byte tag = np.immediate & UA_NODEPOINTER_MASK; + if(tag == UA_NODEPOINTER_TAG_NODE) { + np = UA_NodePointer_fromNodeId(&np.node->nodeId); + tag = np.immediate & UA_NODEPOINTER_MASK; + } + + /* ExpandedNodeId, make a shallow copy */ + if(tag == UA_NODEPOINTER_TAG_EXPANDEDNODEID) { + np.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; + return *np.expandedId; + } + + /* NodeId, either immediate or via a pointer */ + UA_ExpandedNodeId en; + UA_ExpandedNodeId_init(&en); + en.nodeId = UA_NodePointer_toNodeId(np); + return en; +} + +/**************/ +/* References */ +/**************/ + +static UA_StatusCode +addReferenceTarget(UA_NodeReferenceKind *refs, UA_NodePointer target, + UA_UInt32 targetNameHash); + +static UA_StatusCode +addReferenceTargetToTree(UA_NodeReferenceKind *rk, UA_NodePointer targetId, + UA_UInt32 targetIdHash, UA_UInt32 targetNameHash); + +enum ZIP_CMP +cmpRefTargetId(const void *a, const void *b) { + const UA_ReferenceTargetTreeElem *aa = (const UA_ReferenceTargetTreeElem*)a; + const UA_ReferenceTargetTreeElem *bb = (const UA_ReferenceTargetTreeElem*)b; + if(aa->targetIdHash < bb->targetIdHash) + return ZIP_CMP_LESS; + if(aa->targetIdHash > bb->targetIdHash) + return ZIP_CMP_MORE; + return (enum ZIP_CMP)UA_NodePointer_order(aa->target.targetId, + bb->target.targetId); +} + +enum ZIP_CMP +cmpRefTargetName(const void *a, const void *b) { + const UA_ReferenceTargetTreeElem *aa = (const UA_ReferenceTargetTreeElem*)a; + const UA_ReferenceTargetTreeElem *bb = (const UA_ReferenceTargetTreeElem*)b; + if(aa->target.targetNameHash == bb->target.targetNameHash) + return ZIP_CMP_EQ; + return (aa->target.targetNameHash < bb->target.targetNameHash) ? + ZIP_CMP_LESS : ZIP_CMP_MORE; +} + +/* Move to the array in-order, also deletes the tree elements */ +static void +moveTreeToArray(UA_ReferenceTarget *array, size_t *pos, + UA_ReferenceTargetTreeElem *elem) { + if(!elem) + return; + moveTreeToArray(array, pos, elem->idTreeEntry.left); + array[*pos] = elem->target; + (*pos)++; + moveTreeToArray(array, pos, elem->idTreeEntry.right); + UA_free(elem); +} + +static void * +removeTreeEntry(void *context, UA_ReferenceTargetTreeElem *elem) { + (void)context; + UA_NodePointer_clear(&elem->target.targetId); + UA_free(elem); + return NULL; +} + +UA_StatusCode +UA_NodeReferenceKind_switch(UA_NodeReferenceKind *rk) { + UA_assert(rk->targetsSize > 0); + + if(rk->hasRefTree) { + /* From tree to array */ + UA_ReferenceTarget *array = (UA_ReferenceTarget*) + UA_malloc(sizeof(UA_ReferenceTarget) * rk->targetsSize); + if(!array) + return UA_STATUSCODE_BADOUTOFMEMORY; + size_t pos = 0; + moveTreeToArray(array, &pos, rk->targets.tree.idRoot); + rk->targets.array = array; + rk->hasRefTree = false; + return UA_STATUSCODE_GOOD; + } + + /* From array to tree */ + UA_NodeReferenceKind newRk = *rk; + newRk.hasRefTree = true; + newRk.targets.tree.idRoot = NULL; + newRk.targets.tree.nameRoot = NULL; + newRk.targetsSize = 0; + for(size_t i = 0; i < rk->targetsSize; i++) { + UA_StatusCode res = + addReferenceTarget(&newRk, rk->targets.array[i].targetId, + rk->targets.array[i].targetNameHash); + if(res != UA_STATUSCODE_GOOD) { + ZIP_ITER(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&newRk.targets.tree.idRoot, + removeTreeEntry, NULL); + return res; + } + } + for(size_t i = 0; i < rk->targetsSize; i++) + UA_NodePointer_clear(&rk->targets.array[i].targetId); + UA_free(rk->targets.array); + *rk = newRk; + return UA_STATUSCODE_GOOD; +} + +void * +UA_NodeReferenceKind_iterate(UA_NodeReferenceKind *rk, + UA_NodeReferenceKind_iterateCallback callback, + void *context) { + if(rk->hasRefTree) + return ZIP_ITER(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&rk->targets.tree.idRoot, + (UA_ReferenceIdTree_cb)callback, context); + for(size_t i = 0; i < rk->targetsSize; i++) { + void *res = callback(context, &rk->targets.array[i]); + if(res) + return res; + } + return NULL; +} + +const UA_ReferenceTarget * +UA_NodeReferenceKind_findTarget(const UA_NodeReferenceKind *rk, + const UA_ExpandedNodeId *targetId) { + UA_NodePointer targetP = UA_NodePointer_fromExpandedNodeId(targetId); + if(rk->hasRefTree) { + /* Return from the tree */ + UA_ReferenceTargetTreeElem tmpTarget; + tmpTarget.target.targetId = targetP; + tmpTarget.targetIdHash = UA_ExpandedNodeId_hash(targetId); + UA_ReferenceTargetTreeElem *result = + ZIP_FIND(UA_ReferenceIdTree, (UA_ReferenceIdTree*) + (uintptr_t)&rk->targets.tree.idRoot, &tmpTarget); + if(result) + return &result->target; + } else { + /* Return from the array */ + for(size_t i = 0; i < rk->targetsSize; i++) { + if(UA_NodePointer_equal(targetP, rk->targets.array[i].targetId)) + return &rk->targets.array[i]; + } + } + return NULL; +} + +/* General node handling methods. There is no UA_Node_new() method here. + * Creating nodes is part of the Nodestore layer */ + +void UA_Node_clear(UA_Node *node) { + /* Delete references */ + UA_Node_deleteReferences(node); + + /* Delete other head content */ + UA_NodeHead *head = &node->head; + UA_NodeId_clear(&head->nodeId); + UA_QualifiedName_clear(&head->browseName); + + UA_LocalizedTextListEntry *lt; + + while((lt = head->displayName)) { + head->displayName = lt->next; + UA_LocalizedText_clear(<->localizedText); + UA_free(lt); + } + + while((lt = head->description)) { + head->description = lt->next; + UA_LocalizedText_clear(<->localizedText); + UA_free(lt); + } + + /* Delete unique content of the nodeclass */ + switch(head->nodeClass) { + case UA_NODECLASS_OBJECT: + break; + case UA_NODECLASS_METHOD: + break; + case UA_NODECLASS_OBJECTTYPE: + break; + case UA_NODECLASS_VARIABLE: + case UA_NODECLASS_VARIABLETYPE: { + UA_VariableNode *p = &node->variableNode; + UA_NodeId_clear(&p->dataType); + UA_Array_delete(p->arrayDimensions, p->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_INT32]); + p->arrayDimensions = NULL; + p->arrayDimensionsSize = 0; + if(p->valueSource == UA_VALUESOURCE_DATA) + UA_DataValue_clear(&p->value.data.value); + break; + } + case UA_NODECLASS_REFERENCETYPE: { + UA_ReferenceTypeNode *p = &node->referenceTypeNode; + UA_LocalizedText_clear(&p->inverseName); + break; + } + case UA_NODECLASS_DATATYPE: + break; + case UA_NODECLASS_VIEW: + break; + default: + break; + } +} + +static UA_StatusCode +UA_ObjectNode_copy(const UA_ObjectNode *src, UA_ObjectNode *dst) { + dst->eventNotifier = src->eventNotifier; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_CommonVariableNode_copy(const UA_VariableNode *src, UA_VariableNode *dst) { + UA_StatusCode retval = + UA_Array_copy(src->arrayDimensions, src->arrayDimensionsSize, + (void**)&dst->arrayDimensions, &UA_TYPES[UA_TYPES_INT32]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + dst->arrayDimensionsSize = src->arrayDimensionsSize; + retval = UA_NodeId_copy(&src->dataType, &dst->dataType); + dst->valueRank = src->valueRank; + dst->valueBackend = src->valueBackend; + dst->valueSource = src->valueSource; + if(src->valueSource == UA_VALUESOURCE_DATA) { + retval |= UA_DataValue_copy(&src->value.data.value, + &dst->value.data.value); + dst->value.data.callback = src->value.data.callback; + } else { + dst->value.dataSource = src->value.dataSource; + } + return retval; +} + +static UA_StatusCode +UA_VariableNode_copy(const UA_VariableNode *src, UA_VariableNode *dst) { + dst->accessLevel = src->accessLevel; + dst->minimumSamplingInterval = src->minimumSamplingInterval; + dst->historizing = src->historizing; + dst->isDynamic = src->isDynamic; + return UA_CommonVariableNode_copy(src, dst); +} + +static UA_StatusCode +UA_VariableTypeNode_copy(const UA_VariableTypeNode *src, + UA_VariableTypeNode *dst) { + dst->isAbstract = src->isAbstract; + return UA_CommonVariableNode_copy((const UA_VariableNode*)src, (UA_VariableNode*)dst); +} + +static UA_StatusCode +UA_MethodNode_copy(const UA_MethodNode *src, UA_MethodNode *dst) { + dst->executable = src->executable; + dst->method = src->method; +#if UA_MULTITHREADING >= 100 + dst->async = src->async; +#endif + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ObjectTypeNode_copy(const UA_ObjectTypeNode *src, UA_ObjectTypeNode *dst) { + dst->isAbstract = src->isAbstract; + dst->lifecycle = src->lifecycle; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ReferenceTypeNode_copy(const UA_ReferenceTypeNode *src, + UA_ReferenceTypeNode *dst) { + dst->isAbstract = src->isAbstract; + dst->symmetric = src->symmetric; + dst->referenceTypeIndex = src->referenceTypeIndex; + dst->subTypes = src->subTypes; + return UA_LocalizedText_copy(&src->inverseName, &dst->inverseName); +} + +static UA_StatusCode +UA_DataTypeNode_copy(const UA_DataTypeNode *src, UA_DataTypeNode *dst) { + dst->isAbstract = src->isAbstract; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ViewNode_copy(const UA_ViewNode *src, UA_ViewNode *dst) { + dst->containsNoLoops = src->containsNoLoops; + dst->eventNotifier = src->eventNotifier; + return UA_STATUSCODE_GOOD; +} + +static void * +copyTarget(void *context, UA_ReferenceTargetTreeElem *elm) { + UA_NodeReferenceKind *drefs = (UA_NodeReferenceKind*)context; + return (void*)(uintptr_t) + addReferenceTargetToTree(drefs, elm->target.targetId, + elm->targetIdHash, + elm->target.targetNameHash); +} + +UA_StatusCode +UA_Node_copy(const UA_Node *src, UA_Node *dst) { + const UA_NodeHead *srchead = &src->head; + UA_NodeHead *dsthead = &dst->head; + if(srchead->nodeClass != dsthead->nodeClass) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Copy standard content */ + UA_StatusCode retval = UA_NodeId_copy(&srchead->nodeId, &dsthead->nodeId); + retval |= UA_QualifiedName_copy(&srchead->browseName, &dsthead->browseName); + + /* Copy the display name in several languages */ + for(UA_LocalizedTextListEntry *lt = srchead->displayName; lt != NULL; lt = lt->next) { + UA_LocalizedTextListEntry *newEntry = (UA_LocalizedTextListEntry *) + UA_calloc(1, sizeof(UA_LocalizedTextListEntry)); + if(!newEntry) { + retval |= UA_STATUSCODE_BADOUTOFMEMORY; + break; + } + retval |= UA_LocalizedText_copy(<->localizedText, &newEntry->localizedText); + + /* Add to the linked list possibly in reverse order */ + newEntry->next = dsthead->displayName; + dsthead->displayName = newEntry; + } + + /* Copy the description in several languages */ + for(UA_LocalizedTextListEntry *lt = srchead->description; lt != NULL; lt = lt->next) { + UA_LocalizedTextListEntry *newEntry = (UA_LocalizedTextListEntry *) + UA_calloc(1, sizeof(UA_LocalizedTextListEntry)); + if(!newEntry) { + retval |= UA_STATUSCODE_BADOUTOFMEMORY; + break; + } + retval |= UA_LocalizedText_copy(<->localizedText, &newEntry->localizedText); + + /* Add to the linked list possibly in reverse order */ + newEntry->next = dsthead->description; + dsthead->description= newEntry; + } + + dsthead->writeMask = srchead->writeMask; + dsthead->context = srchead->context; + dsthead->constructed = srchead->constructed; +#ifdef UA_ENABLE_SUBSCRIPTIONS + dsthead->monitoredItems = srchead->monitoredItems; +#endif + if(retval != UA_STATUSCODE_GOOD) { + UA_Node_clear(dst); + return retval; + } + + /* Copy the references */ + dsthead->references = NULL; + if(srchead->referencesSize > 0) { + dsthead->references = (UA_NodeReferenceKind*) + UA_calloc(srchead->referencesSize, sizeof(UA_NodeReferenceKind)); + if(!dsthead->references) { + UA_Node_clear(dst); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + dsthead->referencesSize = srchead->referencesSize; + + for(size_t i = 0; i < srchead->referencesSize; ++i) { + UA_NodeReferenceKind *srefs = &srchead->references[i]; + UA_NodeReferenceKind *drefs = &dsthead->references[i]; + drefs->referenceTypeIndex = srefs->referenceTypeIndex; + drefs->isInverse = srefs->isInverse; + drefs->hasRefTree = srefs->hasRefTree; /* initially empty */ + + /* Copy all the targets */ + if(!srefs->hasRefTree) { + drefs->targets.array = (UA_ReferenceTarget*) + UA_malloc(sizeof(UA_ReferenceTarget) * srefs->targetsSize); + if(!drefs->targets.array) { + UA_Node_clear(dst); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + for(size_t j = 0; j < srefs->targetsSize; j++) { + drefs->targets.array[j].targetNameHash = + srefs->targets.array[j].targetNameHash; + retval = UA_NodePointer_copy(srefs->targets.array[j].targetId, + &drefs->targets.array[j].targetId); + drefs->targetsSize++; /* avoid that targetsSize == 0 in error case */ + if(retval != UA_STATUSCODE_GOOD) { + UA_Node_clear(dst); + return retval; + } + } + } else { + void *res = ZIP_ITER(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&srefs->targets.tree.idRoot, + copyTarget, drefs); + if(res != NULL) { + UA_Node_clear(dst); + return (UA_StatusCode)(uintptr_t)res; + } + } + + UA_assert(srefs->targetsSize > 0); + UA_assert(srefs->targetsSize == drefs->targetsSize); + } + } + + /* Copy unique content of the nodeclass */ + switch(src->head.nodeClass) { + case UA_NODECLASS_OBJECT: + retval = UA_ObjectNode_copy(&src->objectNode, &dst->objectNode); + break; + case UA_NODECLASS_VARIABLE: + retval = UA_VariableNode_copy(&src->variableNode, &dst->variableNode); + break; + case UA_NODECLASS_METHOD: + retval = UA_MethodNode_copy(&src->methodNode, &dst->methodNode); + break; + case UA_NODECLASS_OBJECTTYPE: + retval = UA_ObjectTypeNode_copy(&src->objectTypeNode, &dst->objectTypeNode); + break; + case UA_NODECLASS_VARIABLETYPE: + retval = UA_VariableTypeNode_copy(&src->variableTypeNode, &dst->variableTypeNode); + break; + case UA_NODECLASS_REFERENCETYPE: + retval = UA_ReferenceTypeNode_copy(&src->referenceTypeNode, &dst->referenceTypeNode); + break; + case UA_NODECLASS_DATATYPE: + retval = UA_DataTypeNode_copy(&src->dataTypeNode, &dst->dataTypeNode); + break; + case UA_NODECLASS_VIEW: + retval = UA_ViewNode_copy(&src->viewNode, &dst->viewNode); + break; + default: + break; + } + + if(retval != UA_STATUSCODE_GOOD) + UA_Node_clear(dst); + + return retval; +} + +UA_Node * +UA_Node_copy_alloc(const UA_Node *src) { + size_t nodesize = 0; + switch(src->head.nodeClass) { + case UA_NODECLASS_OBJECT: + nodesize = sizeof(UA_ObjectNode); + break; + case UA_NODECLASS_VARIABLE: + nodesize = sizeof(UA_VariableNode); + break; + case UA_NODECLASS_METHOD: + nodesize = sizeof(UA_MethodNode); + break; + case UA_NODECLASS_OBJECTTYPE: + nodesize = sizeof(UA_ObjectTypeNode); + break; + case UA_NODECLASS_VARIABLETYPE: + nodesize = sizeof(UA_VariableTypeNode); + break; + case UA_NODECLASS_REFERENCETYPE: + nodesize = sizeof(UA_ReferenceTypeNode); + break; + case UA_NODECLASS_DATATYPE: + nodesize = sizeof(UA_DataTypeNode); + break; + case UA_NODECLASS_VIEW: + nodesize = sizeof(UA_ViewNode); + break; + default: + return NULL; + } + + UA_Node *dst = (UA_Node*)UA_calloc(1, nodesize); + if(!dst) + return NULL; + + dst->head.nodeClass = src->head.nodeClass; + + UA_StatusCode retval = UA_Node_copy(src, dst); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(dst); + return NULL; + } + return dst; +} +/******************************/ +/* Copy Attributes into Nodes */ +/******************************/ + +static UA_StatusCode +copyStandardAttributes(UA_NodeHead *head, const UA_NodeAttributes *attr) { + /* UA_NodeId_copy(&item->requestedNewNodeId.nodeId, &node->nodeId); */ + /* UA_QualifiedName_copy(&item->browseName, &node->browseName); */ + + head->writeMask = attr->writeMask; + UA_StatusCode retval = UA_Node_insertOrUpdateDescription(head, &attr->description); + /* The new nodeset format has optional display names: + * https://github.com/open62541/open62541/issues/2627. If the display name + * is NULL, take the name part of the browse name */ + if(attr->displayName.text.length == 0) { + UA_LocalizedText lt; + UA_LocalizedText_init(<); + lt.text = head->browseName.name; + retval |= UA_Node_insertOrUpdateDisplayName(head, <); + } else + retval |= UA_Node_insertOrUpdateDisplayName(head, &attr->displayName); + return retval; +} + +static UA_StatusCode +copyCommonVariableAttributes(UA_VariableNode *node, + const UA_VariableAttributes *attr) { + /* Copy the array dimensions */ + UA_StatusCode retval = + UA_Array_copy(attr->arrayDimensions, attr->arrayDimensionsSize, + (void**)&node->arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + node->arrayDimensionsSize = attr->arrayDimensionsSize; + + /* Data type and value rank */ + retval = UA_NodeId_copy(&attr->dataType, &node->dataType); + if(retval != UA_STATUSCODE_GOOD) + return retval; + node->valueRank = attr->valueRank; + + /* Copy the value */ + retval = UA_Variant_copy(&attr->value, &node->value.data.value.value); + node->valueSource = UA_VALUESOURCE_DATA; + node->value.data.value.hasValue = (node->value.data.value.value.type != NULL); + + return retval; +} + +static UA_StatusCode +copyVariableNodeAttributes(UA_VariableNode *vnode, + const UA_VariableAttributes *attr) { + vnode->accessLevel = attr->accessLevel; + vnode->historizing = attr->historizing; + vnode->minimumSamplingInterval = attr->minimumSamplingInterval; + return copyCommonVariableAttributes(vnode, attr); +} + +static UA_StatusCode +copyVariableTypeNodeAttributes(UA_VariableTypeNode *vtnode, + const UA_VariableTypeAttributes *attr) { + vtnode->isAbstract = attr->isAbstract; + return copyCommonVariableAttributes((UA_VariableNode*)vtnode, + (const UA_VariableAttributes*)attr); +} + +static UA_StatusCode +copyObjectNodeAttributes(UA_ObjectNode *onode, const UA_ObjectAttributes *attr) { + onode->eventNotifier = attr->eventNotifier; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copyReferenceTypeNodeAttributes(UA_ReferenceTypeNode *rtnode, + const UA_ReferenceTypeAttributes *attr) { + rtnode->isAbstract = attr->isAbstract; + rtnode->symmetric = attr->symmetric; + return UA_LocalizedText_copy(&attr->inverseName, &rtnode->inverseName); +} + +static UA_StatusCode +copyObjectTypeNodeAttributes(UA_ObjectTypeNode *otnode, + const UA_ObjectTypeAttributes *attr) { + otnode->isAbstract = attr->isAbstract; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copyViewNodeAttributes(UA_ViewNode *vnode, const UA_ViewAttributes *attr) { + vnode->containsNoLoops = attr->containsNoLoops; + vnode->eventNotifier = attr->eventNotifier; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copyDataTypeNodeAttributes(UA_DataTypeNode *dtnode, + const UA_DataTypeAttributes *attr) { + dtnode->isAbstract = attr->isAbstract; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +copyMethodNodeAttributes(UA_MethodNode *mnode, + const UA_MethodAttributes *attr) { + mnode->executable = attr->executable; + return UA_STATUSCODE_GOOD; +} + +#define CHECK_ATTRIBUTES(TYPE) \ + if(attributeType != &UA_TYPES[UA_TYPES_##TYPE]) { \ + retval = UA_STATUSCODE_BADNODEATTRIBUTESINVALID; \ + break; \ + } + +UA_StatusCode +UA_Node_setAttributes(UA_Node *node, const void *attributes, const UA_DataType *attributeType) { + /* Copy the attributes into the node */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + switch(node->head.nodeClass) { + case UA_NODECLASS_OBJECT: + CHECK_ATTRIBUTES(OBJECTATTRIBUTES); + retval = copyObjectNodeAttributes(&node->objectNode, + (const UA_ObjectAttributes*)attributes); + break; + case UA_NODECLASS_VARIABLE: + CHECK_ATTRIBUTES(VARIABLEATTRIBUTES); + retval = copyVariableNodeAttributes(&node->variableNode, + (const UA_VariableAttributes*)attributes); + break; + case UA_NODECLASS_OBJECTTYPE: + CHECK_ATTRIBUTES(OBJECTTYPEATTRIBUTES); + retval = copyObjectTypeNodeAttributes(&node->objectTypeNode, + (const UA_ObjectTypeAttributes*)attributes); + break; + case UA_NODECLASS_VARIABLETYPE: + CHECK_ATTRIBUTES(VARIABLETYPEATTRIBUTES); + retval = copyVariableTypeNodeAttributes(&node->variableTypeNode, + (const UA_VariableTypeAttributes*)attributes); + break; + case UA_NODECLASS_REFERENCETYPE: + CHECK_ATTRIBUTES(REFERENCETYPEATTRIBUTES); + retval = copyReferenceTypeNodeAttributes(&node->referenceTypeNode, + (const UA_ReferenceTypeAttributes*)attributes); + break; + case UA_NODECLASS_DATATYPE: + CHECK_ATTRIBUTES(DATATYPEATTRIBUTES); + retval = copyDataTypeNodeAttributes(&node->dataTypeNode, + (const UA_DataTypeAttributes*)attributes); + break; + case UA_NODECLASS_VIEW: + CHECK_ATTRIBUTES(VIEWATTRIBUTES); + retval = copyViewNodeAttributes(&node->viewNode, (const UA_ViewAttributes*)attributes); + break; + case UA_NODECLASS_METHOD: + CHECK_ATTRIBUTES(METHODATTRIBUTES); + retval = copyMethodNodeAttributes(&node->methodNode, (const UA_MethodAttributes*)attributes); + break; + case UA_NODECLASS_UNSPECIFIED: + default: + retval = UA_STATUSCODE_BADNODECLASSINVALID; + } + + if(retval == UA_STATUSCODE_GOOD) + retval = copyStandardAttributes(&node->head, (const UA_NodeAttributes*)attributes); + if(retval != UA_STATUSCODE_GOOD) + UA_Node_clear(node); + return retval; +} + +/*********************/ +/* Manage References */ +/*********************/ + +static UA_StatusCode +addReferenceTargetToTree(UA_NodeReferenceKind *rk, UA_NodePointer targetId, + UA_UInt32 targetIdHash, UA_UInt32 targetNameHash) { + UA_ReferenceTargetTreeElem *entry = (UA_ReferenceTargetTreeElem*) + UA_malloc(sizeof(UA_ReferenceTargetTreeElem)); + if(!entry) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_StatusCode res = UA_NodePointer_copy(targetId, &entry->target.targetId); + if(res != UA_STATUSCODE_GOOD) { + UA_free(entry); + return res; + } + + entry->targetIdHash = targetIdHash; + entry->target.targetNameHash = targetNameHash; + + ZIP_INSERT(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&rk->targets.tree.idRoot, entry); + ZIP_INSERT(UA_ReferenceNameTree, + (UA_ReferenceNameTree*)&rk->targets.tree.nameRoot, entry); + + rk->targetsSize++; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +addReferenceTarget(UA_NodeReferenceKind *rk, UA_NodePointer targetId, + UA_UInt32 targetNameHash) { + /* Insert into tree */ + if(rk->hasRefTree) { + UA_ExpandedNodeId en = UA_NodePointer_toExpandedNodeId(targetId); + return addReferenceTargetToTree(rk, targetId, UA_ExpandedNodeId_hash(&en), + targetNameHash); + } + + /* Insert to the array */ + UA_ReferenceTarget *newRefs = (UA_ReferenceTarget*) + UA_realloc(rk->targets.array, + sizeof(UA_ReferenceTarget) * (rk->targetsSize + 1)); + if(!newRefs) + return UA_STATUSCODE_BADOUTOFMEMORY; + rk->targets.array = newRefs; + + UA_StatusCode retval = + UA_NodePointer_copy(targetId, + &rk->targets.array[rk->targetsSize].targetId); + rk->targets.array[rk->targetsSize].targetNameHash = targetNameHash; + if(retval != UA_STATUSCODE_GOOD) { + if(rk->targetsSize == 0) { + UA_free(rk->targets.array); + rk->targets.array = NULL; + } + return retval; + } + + rk->targetsSize++; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +addReferenceKind(UA_NodeHead *head, UA_Byte refTypeIndex, UA_Boolean isForward, + const UA_NodePointer target, UA_UInt32 targetBrowseNameHash) { + UA_NodeReferenceKind *refs = (UA_NodeReferenceKind*) + UA_realloc(head->references, + sizeof(UA_NodeReferenceKind) * (head->referencesSize+1)); + if(!refs) + return UA_STATUSCODE_BADOUTOFMEMORY; + head->references = refs; + + UA_NodeReferenceKind *newRef = &refs[head->referencesSize]; + memset(newRef, 0, sizeof(UA_NodeReferenceKind)); + newRef->referenceTypeIndex = refTypeIndex; + newRef->isInverse = !isForward; + UA_StatusCode res = addReferenceTarget(newRef, target, targetBrowseNameHash); + if(res != UA_STATUSCODE_GOOD) { + if(head->referencesSize == 0) { + UA_free(head->references); + head->references = NULL; + } + return res; + } + + head->referencesSize++; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Node_addReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, + const UA_ExpandedNodeId *targetNodeId, + UA_UInt32 targetBrowseNameHash) { + /* Find the matching reference kind */ + for(size_t i = 0; i < node->head.referencesSize; ++i) { + UA_NodeReferenceKind *refs = &node->head.references[i]; + + /* Reference direction does not match */ + if(refs->isInverse == isForward) + continue; + + /* Reference type does not match */ + if(refs->referenceTypeIndex != refTypeIndex) + continue; + + /* Does an identical reference already exist? */ + const UA_ReferenceTarget *found = + UA_NodeReferenceKind_findTarget(refs, targetNodeId); + if(found) + return UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED; + + /* Add to existing ReferenceKind */ + return addReferenceTarget(refs, UA_NodePointer_fromExpandedNodeId(targetNodeId), + targetBrowseNameHash); + } + + /* Add new ReferenceKind for the target */ + return addReferenceKind(&node->head, refTypeIndex, isForward, + UA_NodePointer_fromExpandedNodeId(targetNodeId), + targetBrowseNameHash); + +} + +UA_StatusCode +UA_Node_deleteReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, + const UA_ExpandedNodeId *targetNodeId) { + UA_NodeHead *head = &node->head; + for(size_t i = 0; i < head->referencesSize; i++) { + UA_NodeReferenceKind *refs = &head->references[i]; + if(isForward == refs->isInverse) + continue; + if(refTypeIndex != refs->referenceTypeIndex) + continue; + + /* Cast out the const qualifier (hack!) */ + UA_ReferenceTarget *target = (UA_ReferenceTarget*)(uintptr_t) + UA_NodeReferenceKind_findTarget(refs, targetNodeId); + if(!target) + continue; + + /* Ok, delete the reference. Cannot fail */ + refs->targetsSize--; + + if(!refs->hasRefTree) { + /* Remove from array */ + UA_NodePointer_clear(&target->targetId); + + /* Elements remaining. Realloc. */ + if(refs->targetsSize > 0) { + if(target != &refs->targets.array[refs->targetsSize]) + *target = refs->targets.array[refs->targetsSize]; + UA_ReferenceTarget *newRefs = (UA_ReferenceTarget*) + UA_realloc(refs->targets.array, + sizeof(UA_ReferenceTarget) * refs->targetsSize); + if(newRefs) + refs->targets.array = newRefs; + return UA_STATUSCODE_GOOD; /* Realloc allowed to fail */ + } + + /* Remove the last target. Remove the ReferenceKind below */ + UA_free(refs->targets.array); + } else { + UA_ReferenceTargetTreeElem *elem = (UA_ReferenceTargetTreeElem*)target; + ZIP_REMOVE(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&refs->targets.tree.idRoot, elem); + ZIP_REMOVE(UA_ReferenceNameTree, + (UA_ReferenceNameTree*)&refs->targets.tree.nameRoot, elem); + UA_NodePointer_clear(&target->targetId); + UA_free(target); + if(refs->targetsSize > 0) + return UA_STATUSCODE_GOOD; + } + + /* No targets remaining. Remove the ReferenceKind. */ + head->referencesSize--; + if(head->referencesSize > 0) { + /* No target for the ReferenceType remaining. Remove and shrink down + * allocated buffer. Ignore errors in case memory buffer could not + * be shrinked down. */ + if(i != head->referencesSize) + head->references[i] = head->references[node->head.referencesSize]; + UA_NodeReferenceKind *newRefs = (UA_NodeReferenceKind*) + UA_realloc(head->references, + sizeof(UA_NodeReferenceKind) * head->referencesSize); + if(newRefs) + head->references = newRefs; + } else { + /* No remaining references of any ReferenceType */ + UA_free(head->references); + head->references = NULL; + } + return UA_STATUSCODE_GOOD; + } + return UA_STATUSCODE_UNCERTAINREFERENCENOTDELETED; +} + +void +UA_Node_deleteReferencesSubset(UA_Node *node, const UA_ReferenceTypeSet *keepSet) { + UA_NodeHead *head = &node->head; + for(size_t i = 0; i < head->referencesSize; i++) { + /* Keep the references of this type? */ + UA_NodeReferenceKind *refs = &head->references[i]; + if(UA_ReferenceTypeSet_contains(keepSet, refs->referenceTypeIndex)) + continue; + + /* Remove all target entries. Don't remove entries from browseName tree. + * The entire ReferenceKind will be removed anyway. */ + if(!refs->hasRefTree) { + for(size_t j = 0; j < refs->targetsSize; j++) + UA_NodePointer_clear(&refs->targets.array[j].targetId); + UA_free(refs->targets.array); + } else { + ZIP_ITER(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&refs->targets.tree.idRoot, + removeTreeEntry, NULL); + } + + /* Move last references-kind entry to this position. Don't memcpy over + * the same position. Decrease i to repeat at this location. */ + head->referencesSize--; + if(i != head->referencesSize) { + head->references[i] = head->references[head->referencesSize]; + i--; + } + } + + if(head->referencesSize > 0) { + /* Realloc to save memory. Ignore if realloc fails. */ + UA_NodeReferenceKind *refs = (UA_NodeReferenceKind*) + UA_realloc(head->references, + sizeof(UA_NodeReferenceKind) * head->referencesSize); + if(refs) + head->references = refs; + } else { + /* The array is empty. Remove. */ + UA_free(head->references); + head->references = NULL; + } +} + +void UA_Node_deleteReferences(UA_Node *node) { + UA_ReferenceTypeSet noRefs; + UA_ReferenceTypeSet_init(&noRefs); + UA_Node_deleteReferencesSubset(node, &noRefs); +} + +static UA_StatusCode +UA_Node_insertOrUpdateLocale(UA_LocalizedTextListEntry **root, + const UA_LocalizedText *value) { + UA_StatusCode res; + UA_LocalizedTextListEntry *lt, *prev = NULL; + for(lt = *root; lt != NULL; prev = lt, lt = lt->next) { + if(!UA_String_equal(&value->locale, <->localizedText.locale)) + continue; + + /* No text -> remove the entry for this locale */ + if(value->text.length == 0) { + if(prev == NULL) + *root = lt->next; + else + prev->next = lt->next; + UA_LocalizedText_clear(<->localizedText); + UA_free(lt); + return UA_STATUSCODE_GOOD; + } + + /* First make a copy of the text, if this succeeds replace the old + * version */ + UA_String tmp; + res = UA_String_copy(&value->text, &tmp); + if(res != UA_STATUSCODE_GOOD) + return res; + + UA_String_clear(<->localizedText.text); + lt->localizedText.text = tmp; + return UA_STATUSCODE_GOOD; + } + + /* The locale does not exist so far */ + + /* Do nothing if a non-existing locale should be removed */ + if(value->text.length == 0) + return UA_STATUSCODE_GOOD; + + /* Add a new localized text */ + lt = (UA_LocalizedTextListEntry *)UA_malloc(sizeof(UA_LocalizedTextListEntry)); + if(!lt) + return UA_STATUSCODE_BADOUTOFMEMORY; + + res = UA_LocalizedText_copy(value, <->localizedText); + if(res != UA_STATUSCODE_GOOD) { + UA_free(lt); + return res; + } + + lt->next = *root; + *root = lt; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Node_insertOrUpdateDisplayName(UA_NodeHead *head, + const UA_LocalizedText *value) { + return UA_Node_insertOrUpdateLocale(&head->displayName, value); +} + +UA_StatusCode +UA_Node_insertOrUpdateDescription(UA_NodeHead *head, + const UA_LocalizedText *value) { + return UA_Node_insertOrUpdateLocale(&head->description, value); +} + +/**** amalgamated original file "/src/server/ua_server.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015 (c) LEvertz + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016 (c) Julian Grothoff + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) Lorenz Haas + * Copyright 2017 (c) frax2222 + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Martin Lang) + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + * Copyright 2022 (c) Fraunhofer IOSB (Author: Andreas Ebner) + */ + + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +#endif + +#ifdef UA_ENABLE_SUBSCRIPTIONS +#endif + +#ifdef UA_ENABLE_NODESET_INJECTOR +#endif + +/**********************/ +/* Namespace Handling */ +/**********************/ + +/* The NS1 Uri can be changed by the user to some custom string. This method is + * called to initialize the NS1 Uri if it is not set before to the default + * Application URI. + * + * This is done as soon as the Namespace Array is read or written via node value + * read / write services, or UA_Server_addNamespace, or UA_Server_getNamespaceByIndex + * UA_Server_getNamespaceByName or UA_Server_run_startup is called. + * + * Therefore one has to set the custom NS1 URI before one of the previously + * mentioned steps. */ + +void +setupNs1Uri(UA_Server *server) { + if(!server->namespaces[1].data) { + UA_String_copy(&server->config.applicationDescription.applicationUri, + &server->namespaces[1]); + } +} + +UA_UInt16 addNamespace(UA_Server *server, const UA_String name) { + /* ensure that the uri for ns1 is set up from the app description */ + setupNs1Uri(server); + + /* Check if the namespace already exists in the server's namespace array */ + for(size_t i = 0; i < server->namespacesSize; ++i) { + if(UA_String_equal(&name, &server->namespaces[i])) + return (UA_UInt16) i; + } + + /* Make the array bigger */ + UA_String *newNS = (UA_String*)UA_realloc(server->namespaces, + sizeof(UA_String) * (server->namespacesSize + 1)); + UA_CHECK_MEM(newNS, return 0); + + server->namespaces = newNS; + + /* Copy the namespace string */ + UA_StatusCode retval = UA_String_copy(&name, &server->namespaces[server->namespacesSize]); + UA_CHECK_STATUS(retval, return 0); + + /* Announce the change (otherwise, the array appears unchanged) */ + ++server->namespacesSize; + return (UA_UInt16)(server->namespacesSize - 1); +} + +UA_UInt16 UA_Server_addNamespace(UA_Server *server, const char* name) { + /* Override const attribute to get string (dirty hack) */ + UA_String nameString; + nameString.length = strlen(name); + nameString.data = (UA_Byte*)(uintptr_t)name; + lockServer(server); + UA_UInt16 retVal = addNamespace(server, nameString); + unlockServer(server); + return retVal; +} + +UA_ServerConfig* +UA_Server_getConfig(UA_Server *server) { + UA_CHECK_MEM(server, return NULL); + return &server->config; +} + +UA_StatusCode +getNamespaceByName(UA_Server *server, const UA_String namespaceUri, + size_t *foundIndex) { + /* ensure that the uri for ns1 is set up from the app description */ + setupNs1Uri(server); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + for(size_t idx = 0; idx < server->namespacesSize; idx++) { + if(UA_String_equal(&server->namespaces[idx], &namespaceUri)) { + (*foundIndex) = idx; + res = UA_STATUSCODE_GOOD; + break; + } + } + return res; +} + +UA_StatusCode +getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, + UA_String *foundUri) { + /* ensure that the uri for ns1 is set up from the app description */ + setupNs1Uri(server); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(namespaceIndex >= server->namespacesSize) + return res; + res = UA_String_copy(&server->namespaces[namespaceIndex], foundUri); + return res; +} + +UA_StatusCode +UA_Server_getNamespaceByName(UA_Server *server, const UA_String namespaceUri, + size_t *foundIndex) { + lockServer(server); + UA_StatusCode res = getNamespaceByName(server, namespaceUri, foundIndex); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, + UA_String *foundUri) { + lockServer(server); + UA_StatusCode res = getNamespaceByIndex(server, namespaceIndex, foundUri); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_forEachChildNodeCall(UA_Server *server, UA_NodeId parentNodeId, + UA_NodeIteratorCallback callback, void *handle) { + UA_BrowseDescription bd; + UA_BrowseDescription_init(&bd); + bd.nodeId = parentNodeId; + bd.browseDirection = UA_BROWSEDIRECTION_BOTH; + bd.resultMask = UA_BROWSERESULTMASK_REFERENCETYPEID | UA_BROWSERESULTMASK_ISFORWARD; + + UA_BrowseResult br = UA_Server_browse(server, 0, &bd); + UA_StatusCode res = br.statusCode; + UA_CHECK_STATUS(res, goto cleanup); + + for(size_t i = 0; i < br.referencesSize; i++) { + if(!UA_ExpandedNodeId_isLocal(&br.references[i].nodeId)) + continue; + res = callback(br.references[i].nodeId.nodeId, !br.references[i].isForward, + br.references[i].referenceTypeId, handle); + UA_CHECK_STATUS(res, goto cleanup); + } +cleanup: + UA_BrowseResult_clear(&br); + return res; +} + +/*********************/ +/* Server Components */ +/*********************/ + +enum ZIP_CMP +cmpServerComponent(const UA_UInt64 *a, const UA_UInt64 *b) { + if(*a == *b) + return ZIP_CMP_EQ; + return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; +} + +void +addServerComponent(UA_Server *server, UA_ServerComponent *sc, + UA_UInt64 *identifier) { + if(!sc) + return; + + sc->identifier = ++server->serverComponentIds; + ZIP_INSERT(UA_ServerComponentTree, &server->serverComponents, sc); + + /* Start the component if the server is started */ + if(server->state == UA_LIFECYCLESTATE_STARTED && sc->start) + sc->start(server, sc); + + if(identifier) + *identifier = sc->identifier; +} + +static void * +findServerComponent(void *context, UA_ServerComponent *sc) { + UA_String *name = (UA_String*)context; + return (UA_String_equal(&sc->name, name)) ? sc : NULL; +} + +UA_ServerComponent * +getServerComponentByName(UA_Server *server, UA_String name) { + return (UA_ServerComponent*) + ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, + findServerComponent, &name); +} + +static void * +removeServerComponent(void *application, UA_ServerComponent *sc) { + UA_assert(sc->state == UA_LIFECYCLESTATE_STOPPED); + sc->free((UA_Server*)application, sc); + return NULL; +} + +static void * +startServerComponent(void *application, UA_ServerComponent *sc) { + sc->start((UA_Server*)application, sc); + return NULL; +} + +static void * +stopServerComponent(void *application, UA_ServerComponent *sc) { + sc->stop((UA_Server*)application, sc); + return NULL; +} + +/* ZIP_ITER returns NULL only if all components are stopped */ +static void * +checkServerComponent(void *application, UA_ServerComponent *sc) { + return (sc->state == UA_LIFECYCLESTATE_STOPPED) ? NULL : (void*)0x01; +} + +/********************/ +/* Server Lifecycle */ +/********************/ + +/* The server needs to be stopped before it can be deleted */ +UA_StatusCode +UA_Server_delete(UA_Server *server) { + if(server == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + if(server->state != UA_LIFECYCLESTATE_STOPPED) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "The server must be fully stopped before it can be deleted"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + lockServer(server); + + session_list_entry *current, *temp; + LIST_FOREACH_SAFE(current, &server->sessions, pointers, temp) { + UA_Server_removeSession(server, current, UA_SHUTDOWNREASON_CLOSE); + } + UA_Array_delete(server->namespaces, server->namespacesSize, &UA_TYPES[UA_TYPES_STRING]); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_MonitoredItem *mon, *mon_tmp; + LIST_FOREACH_SAFE(mon, &server->localMonitoredItems, listEntry, mon_tmp) { + LIST_REMOVE(mon, listEntry); + UA_MonitoredItem_delete(server, mon); + } + + /* Remove subscriptions without a session */ + UA_Subscription *sub, *sub_tmp; + LIST_FOREACH_SAFE(sub, &server->subscriptions, serverListEntry, sub_tmp) { + UA_Subscription_delete(server, sub); + } + UA_assert(server->monitoredItemsSize == 0); + UA_assert(server->subscriptionsSize == 0); + +#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS + UA_ConditionList_delete(server); +#endif + +#endif + +#ifdef UA_ENABLE_PUBSUB + UA_PubSubManager_delete(server, &server->pubSubManager); +#endif + +#if UA_MULTITHREADING >= 100 + UA_AsyncManager_clear(&server->asyncManager, server); +#endif + + /* Clean up the Admin Session */ + UA_Session_clear(&server->adminSession, server); + + /* Remove all remaining server components (must be all stopped) */ + ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, + removeServerComponent, server); + + unlockServer(server); /* The timer has its own mutex */ + + /* Clean up the config */ + UA_ServerConfig_clean(&server->config); + +#if UA_MULTITHREADING >= 100 + UA_LOCK_DESTROY(&server->serviceMutex); +#endif + + /* Delete the server itself and return */ + UA_free(server); + return UA_STATUSCODE_GOOD; +} + +/* Regular house-keeping tasks. Removing unused and timed-out channels and + * sessions. */ +static void +serverHouseKeeping(UA_Server *server, void *_) { + lockServer(server); + UA_DateTime nowMonotonic = UA_DateTime_nowMonotonic(); + UA_Server_cleanupSessions(server, nowMonotonic); + unlockServer(server); +} + +/********************/ +/* Server Lifecycle */ +/********************/ + +static +UA_INLINE +UA_Boolean UA_Server_NodestoreIsConfigured(UA_Server *server) { + return server->config.nodestore.getNode != NULL; +} + +static UA_Server * +UA_Server_init(UA_Server *server) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_CHECK_FATAL(UA_Server_NodestoreIsConfigured(server), goto cleanup, + server->config.logging, UA_LOGCATEGORY_SERVER, + "No Nodestore configured in the server"); + + /* Init start time to zero, the actual start time will be sampled in + * UA_Server_run_startup() */ + server->startTime = 0; + + /* Set a seed for non-cyptographic randomness */ +#ifndef UA_ENABLE_DETERMINISTIC_RNG + UA_random_seed((UA_UInt64)UA_DateTime_now()); +#endif + + UA_LOCK_INIT(&server->serviceMutex); + lockServer(server); + + /* Initialize the adminSession */ + UA_Session_init(&server->adminSession); + server->adminSession.sessionId.identifierType = UA_NODEIDTYPE_GUID; + server->adminSession.sessionId.identifier.guid.data1 = 1; + server->adminSession.validTill = UA_INT64_MAX; + server->adminSession.sessionName = UA_STRING_ALLOC("Administrator"); + + /* Create Namespaces 0 and 1 + * Ns1 will be filled later with the uri from the app description */ + server->namespaces = (UA_String *)UA_Array_new(2, &UA_TYPES[UA_TYPES_STRING]); + UA_CHECK_MEM(server->namespaces, goto cleanup); + + server->namespaces[0] = UA_STRING_ALLOC("http://opcfoundation.org/UA/"); + server->namespaces[1] = UA_STRING_NULL; + server->namespacesSize = 2; + + /* Initialize Session Management */ + LIST_INIT(&server->sessions); + server->sessionCount = 0; + +#if UA_MULTITHREADING >= 100 + UA_AsyncManager_init(&server->asyncManager, server); +#endif + + /* Initialize the binay protocol support */ + addServerComponent(server, UA_BinaryProtocolManager_new(server), NULL); + + /* Initialized discovery */ +#ifdef UA_ENABLE_DISCOVERY + addServerComponent(server, UA_DiscoveryManager_new(server), NULL); +#endif + + /* Initialize namespace 0*/ + res = initNS0(server); + UA_CHECK_STATUS(res, goto cleanup); + +#ifdef UA_ENABLE_NODESET_INJECTOR + res = UA_Server_injectNodesets(server); + UA_CHECK_STATUS(res, goto cleanup); +#endif + +#ifdef UA_ENABLE_PUBSUB + /* Initialized PubSubManager */ + UA_PubSubManager_init(server, &server->pubSubManager); + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + /* Build PubSub information model */ + initPubSubNS0(server); +#endif + +#ifdef UA_ENABLE_PUBSUB_MONITORING + /* setup default PubSub monitoring callbacks */ + res = UA_PubSubManager_setDefaultMonitoringCallbacks(&server->config.pubSubConfig.monitoringInterface); + UA_CHECK_STATUS(res, goto cleanup); +#endif /* UA_ENABLE_PUBSUB_MONITORING */ +#endif /* UA_ENABLE_PUBSUB */ + + unlockServer(server); + return server; + + cleanup: + unlockServer(server); + UA_Server_delete(server); + return NULL; +} + +UA_Server * +UA_Server_newWithConfig(UA_ServerConfig *config) { + UA_CHECK_MEM(config, return NULL); + + UA_CHECK_LOG(config->eventLoop != NULL, return NULL, ERROR, + config->logging, UA_LOGCATEGORY_SERVER, "No EventLoop configured"); + + UA_Server *server = (UA_Server *)UA_calloc(1, sizeof(UA_Server)); + UA_CHECK_MEM(server, UA_ServerConfig_clean(config); return NULL); + + server->config = *config; + + /* If not defined, set logging to what the server has */ + if(!server->config.secureChannelPKI.logging) + server->config.secureChannelPKI.logging = server->config.logging; + if(!server->config.sessionPKI.logging) + server->config.sessionPKI.logging = server->config.logging; + + /* Reset the old config */ + memset(config, 0, sizeof(UA_ServerConfig)); + return UA_Server_init(server); +} + +/* Returns if the server should be shut down immediately */ +static UA_Boolean +setServerShutdown(UA_Server *server) { + if(server->endTime != 0) + return false; + if(server->config.shutdownDelay == 0) + return true; + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Shutting down the server with a delay of %i ms", (int)server->config.shutdownDelay); + server->endTime = UA_DateTime_now() + (UA_DateTime)(server->config.shutdownDelay * UA_DATETIME_MSEC); + return false; +} + +/*******************/ +/* Timed Callbacks */ +/*******************/ + +UA_StatusCode +UA_Server_addTimedCallback(UA_Server *server, UA_ServerCallback callback, + void *data, UA_DateTime date, UA_UInt64 *callbackId) { + lockServer(server); + UA_StatusCode retval = server->config.eventLoop-> + addTimedCallback(server->config.eventLoop, (UA_Callback)callback, + server, data, date, callbackId); + unlockServer(server); + return retval; +} + +UA_StatusCode +addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, + void *data, UA_Double interval_ms, UA_UInt64 *callbackId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return server->config.eventLoop-> + addCyclicCallback(server->config.eventLoop, (UA_Callback) callback, + server, data, interval_ms, NULL, + UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, callbackId); +} + +UA_StatusCode +UA_Server_addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, + void *data, UA_Double interval_ms, + UA_UInt64 *callbackId) { + lockServer(server); + UA_StatusCode res = addRepeatedCallback(server, callback, data, interval_ms, callbackId); + unlockServer(server); + return res; +} + +UA_StatusCode +changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, + UA_Double interval_ms) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return server->config.eventLoop-> + modifyCyclicCallback(server->config.eventLoop, callbackId, interval_ms, + NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME); +} + +UA_StatusCode +UA_Server_changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, + UA_Double interval_ms) { + lockServer(server); + UA_StatusCode retval = + changeRepeatedCallbackInterval(server, callbackId, interval_ms); + unlockServer(server); + return retval; +} + +void +removeCallback(UA_Server *server, UA_UInt64 callbackId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_EventLoop *el = server->config.eventLoop; + if(el) { + el->removeCyclicCallback(el, callbackId); + } +} + +void +UA_Server_removeCallback(UA_Server *server, UA_UInt64 callbackId) { + lockServer(server); + removeCallback(server, callbackId); + unlockServer(server); +} + +static void +notifySecureChannelsStopped(UA_Server *server, struct UA_ServerComponent *sc, + UA_LifecycleState state) { + if(sc->state == UA_LIFECYCLESTATE_STOPPED && + server->state == UA_LIFECYCLESTATE_STARTED) { + sc->notifyState = NULL; /* remove the callback */ + sc->start(server, sc); + } +} + +UA_StatusCode +UA_Server_updateCertificate(UA_Server *server, + const UA_ByteString *oldCertificate, + const UA_ByteString *newCertificate, + const UA_ByteString *newPrivateKey, + UA_Boolean closeSessions, + UA_Boolean closeSecureChannels) { + UA_CHECK(server && oldCertificate && newCertificate && newPrivateKey, + return UA_STATUSCODE_BADINTERNALERROR); + + lockServer(server); + + if(closeSessions) { + session_list_entry *current; + LIST_FOREACH(current, &server->sessions, pointers) { + UA_SessionHeader *header = ¤t->session.header; + if(UA_ByteString_equal(oldCertificate, &header->channel->securityPolicy->localCertificate)) + UA_Server_removeSessionByToken(server, &header->authenticationToken, + UA_SHUTDOWNREASON_CLOSE); + } + } + + /* Gracefully close all SecureChannels. And restart the + * BinaryProtocolManager once it has fully stopped. */ + if(closeSecureChannels) { + UA_ServerComponent *binaryProtocolManager = + getServerComponentByName(server, UA_STRING("binary")); + if(binaryProtocolManager) { + binaryProtocolManager->notifyState = notifySecureChannelsStopped; + binaryProtocolManager->stop(server, binaryProtocolManager); + } + } + + size_t i = 0; + UA_StatusCode res = UA_STATUSCODE_GOOD; + while(i < server->config.endpointsSize) { + UA_EndpointDescription *ed = &server->config.endpoints[i]; + if(UA_ByteString_equal(&ed->serverCertificate, oldCertificate)) { + UA_String_clear(&ed->serverCertificate); + UA_String_copy(newCertificate, &ed->serverCertificate); + UA_SecurityPolicy *sp = getSecurityPolicyByUri(server, + &server->config.endpoints[i].securityPolicyUri); + if(!sp) { + res = UA_STATUSCODE_BADINTERNALERROR; + break; + } + sp->updateCertificateAndPrivateKey(sp, *newCertificate, *newPrivateKey); + } + i++; + } + + unlockServer(server); + + return res; +} + +/***************************/ +/* Server lookup functions */ +/***************************/ + +UA_SecurityPolicy * +getSecurityPolicyByUri(const UA_Server *server, const UA_ByteString *securityPolicyUri) { + for(size_t i = 0; i < server->config.securityPoliciesSize; i++) { + UA_SecurityPolicy *securityPolicyCandidate = &server->config.securityPolicies[i]; + if(UA_ByteString_equal(securityPolicyUri, &securityPolicyCandidate->policyUri)) + return securityPolicyCandidate; + } + return NULL; +} + +#ifdef UA_ENABLE_ENCRYPTION +/* The local ApplicationURI has to match the certificates of the + * SecurityPolicies */ +static UA_StatusCode +verifyServerApplicationURI(const UA_Server *server) { + const UA_String securityPolicyNoneUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + for(size_t i = 0; i < server->config.securityPoliciesSize; i++) { + UA_SecurityPolicy *sp = &server->config.securityPolicies[i]; + if(UA_String_equal(&sp->policyUri, &securityPolicyNoneUri) && (sp->localCertificate.length == 0)) + continue; + UA_StatusCode retval = server->config.secureChannelPKI. + verifyApplicationURI(&server->config.secureChannelPKI, + &sp->localCertificate, + &server->config.applicationDescription.applicationUri); + + UA_CHECK_STATUS_ERROR(retval, return retval, server->config.logging, UA_LOGCATEGORY_SERVER, + "The configured ApplicationURI \"%.*s\"does not match the " + "ApplicationURI specified in the certificate for the " + "SecurityPolicy %.*s", + (int)server->config.applicationDescription.applicationUri.length, + server->config.applicationDescription.applicationUri.data, + (int)sp->policyUri.length, sp->policyUri.data); + } + return UA_STATUSCODE_GOOD; +} +#endif + +UA_ServerStatistics +UA_Server_getStatistics(UA_Server *server) { + UA_ServerStatistics stat; + lockServer(server); + stat.scs = server->secureChannelStatistics; + UA_ServerDiagnosticsSummaryDataType *sds = &server->serverDiagnosticsSummary; + stat.ss.currentSessionCount = server->activeSessionCount; + stat.ss.cumulatedSessionCount = sds->cumulatedSessionCount; + stat.ss.securityRejectedSessionCount = sds->securityRejectedSessionCount; + stat.ss.rejectedSessionCount = sds->rejectedSessionCount; + stat.ss.sessionTimeoutCount = sds->sessionTimeoutCount; + stat.ss.sessionAbortCount = sds->sessionAbortCount; + unlockServer(server); + return stat; +} + +/********************/ +/* Main Server Loop */ +/********************/ + +#define UA_MAXTIMEOUT 500 /* Max timeout in ms between main-loop iterations */ + +void +setServerLifecycleState(UA_Server *server, UA_LifecycleState state) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(server->state == state) + return; + server->state = state; + if(server->config.notifyLifecycleState) + server->config.notifyLifecycleState(server, server->state); +} + +UA_LifecycleState +UA_Server_getLifecycleState(UA_Server *server) { + return server->state; +} + +/* Start: Spin up the workers and the network layer and sample the server's + * start time. + * Iterate: Process repeated callbacks and events in the network layer. This + * part can be driven from an external main-loop in an event-driven + * single-threaded architecture. + * Stop: Stop workers, finish all callbacks, stop the network layer, clean up */ + +UA_StatusCode +UA_Server_run_startup(UA_Server *server) { + if(server == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + UA_ServerConfig *config = &server->config; + +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + /* Prominently warn user that fuzzing build is enabled. This will tamper + * with authentication tokens and other important variables E.g. if fuzzing + * is enabled, and two clients are connected, subscriptions do not work + * properly, since the tokens will be overridden to allow easier fuzzing. */ + UA_LOG_FATAL(server->config.logging, UA_LOGCATEGORY_SERVER, + "Server was built with unsafe fuzzing mode. " + "This should only be used for specific fuzzing builds."); +#endif + + if(server->state != UA_LIFECYCLESTATE_STOPPED) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "The server has already been started"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check if UserIdentityTokens are defined */ + bool hasUserIdentityTokens = false; + for(size_t i = 0; i < config->endpointsSize; i++) { + if(config->endpoints[i].userIdentityTokensSize > 0) { + hasUserIdentityTokens = true; + break; + } + } + if(config->accessControl.userTokenPoliciesSize == 0 && hasUserIdentityTokens == false) { + UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, + "The server has no userIdentificationPolicies defined."); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Start the EventLoop if not already started */ + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_EventLoop *el = config->eventLoop; + UA_CHECK_MEM_ERROR(el, return UA_STATUSCODE_BADINTERNALERROR, + config->logging, UA_LOGCATEGORY_SERVER, + "An EventLoop must be configured"); + + if(el->state != UA_EVENTLOOPSTATE_STARTED) { + retVal = el->start(el); + UA_CHECK_STATUS(retVal, return retVal); /* Errors are logged internally */ + } + + /* Take the server lock */ + lockServer(server); + + /* Does the ApplicationURI match the local certificates? */ +#ifdef UA_ENABLE_ENCRYPTION + retVal = verifyServerApplicationURI(server); + UA_CHECK_STATUS(retVal, unlockServer(server); return retVal); +#endif + + /* Are there enough SecureChannels possible for the max number of sessions? */ + if(config->maxSecureChannels != 0 && + (config->maxSessions == 0 || config->maxSessions > config->maxSecureChannels)) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "Maximum SecureChannels count not enough for the " + "maximum Sessions count"); + } + + /* Add a regular callback for housekeeping tasks. With a 1s interval. */ + retVal = addRepeatedCallback(server, serverHouseKeeping, + NULL, 1000.0, &server->houseKeepingCallbackId); + UA_CHECK_STATUS_ERROR(retVal, unlockServer(server); return retVal, + config->logging, UA_LOGCATEGORY_SERVER, + "Could not create the server housekeeping task"); + + /* Ensure that the uri for ns1 is set up from the app description */ + UA_String_clear(&server->namespaces[1]); + setupNs1Uri(server); + + /* At least one endpoint has to be configured */ + if(config->endpointsSize == 0) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "There has to be at least one endpoint."); + } + + /* Update Endpoint description */ + for(size_t i = 0; i < config->endpointsSize; ++i) { + UA_ApplicationDescription_clear(&config->endpoints[i].server); + UA_ApplicationDescription_copy(&config->applicationDescription, + &config->endpoints[i].server); + } + + /* Write ServerArray with same ApplicationUri value as NamespaceArray */ + UA_Variant var; + UA_Variant_init(&var); + UA_Variant_setArray(&var, &config->applicationDescription.applicationUri, + 1, &UA_TYPES[UA_TYPES_STRING]); + UA_NodeId serverArray = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERARRAY); + writeValueAttribute(server, serverArray, &var); + + /* Sample the start time and set it to the Server object */ + server->startTime = UA_DateTime_now(); + UA_Variant_init(&var); + UA_Variant_setScalar(&var, &server->startTime, &UA_TYPES[UA_TYPES_DATETIME]); + UA_NodeId startTime = + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_STARTTIME); + writeValueAttribute(server, startTime, &var); + + /* Start all ServerComponents */ + ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, + startServerComponent, server); + + /* Check that the binary protocol support component have been started */ + UA_ServerComponent *binaryProtocolManager = + getServerComponentByName(server, UA_STRING("binary")); + if(binaryProtocolManager->state != UA_LIFECYCLESTATE_STARTED) { + UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, + "The binary protocol support component could not been started."); + /* Stop all server components that have already been started */ + ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, + stopServerComponent, server); + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Set the server to STARTED. From here on, only use + * UA_Server_run_shutdown(server) to stop the server. */ + setServerLifecycleState(server, UA_LIFECYCLESTATE_STARTED); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +UA_UInt16 +UA_Server_run_iterate(UA_Server *server, UA_Boolean waitInternal) { + /* Make sure an EventLoop is configured */ + UA_EventLoop *el = server->config.eventLoop; + if(!el) + return 0; + + /* Process timed and network events in the EventLoop */ + UA_UInt32 timeout = (waitInternal) ? UA_MAXTIMEOUT : 0; + el->run(el, timeout); + + /* Return the time until the next scheduled callback */ + UA_DateTime now = el->dateTime_nowMonotonic(el); + UA_DateTime nextTimeout = (el->nextCyclicTime(el) - now) / UA_DATETIME_MSEC; + if(nextTimeout < 0) + nextTimeout = 0; + if(nextTimeout > UA_UINT16_MAX) + nextTimeout = UA_UINT16_MAX; + return (UA_UInt16)nextTimeout; +} + +static UA_Boolean +testShutdownCondition(UA_Server *server) { + /* Was there a wait time until the shutdown configured? */ + if(server->endTime == 0) + return false; + return (UA_DateTime_now() > server->endTime); +} + +static UA_Boolean +testStoppedCondition(UA_Server *server) { + /* Check if there are remaining server components that did not fully stop */ + if(ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, + checkServerComponent, server) != NULL) + return false; + return true; +} + +UA_StatusCode +UA_Server_run_shutdown(UA_Server *server) { + if(server == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + lockServer(server); + + if(server->state != UA_LIFECYCLESTATE_STARTED) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "The server is not started, cannot be shut down"); + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Set to stopping and notify the application */ + setServerLifecycleState(server, UA_LIFECYCLESTATE_STOPPING); + + /* Stop the regular housekeeping tasks */ + if(server->houseKeepingCallbackId != 0) { + removeCallback(server, server->houseKeepingCallbackId); + server->houseKeepingCallbackId = 0; + } + + /* Stop PubSub */ +#ifdef UA_ENABLE_PUBSUB + UA_PubSubManager_shutdown(server, &server->pubSubManager); +#endif + + /* Stop all ServerComponents */ + ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, + stopServerComponent, server); + + /* Are we already stopped? */ + if(testStoppedCondition(server)) { + setServerLifecycleState(server, UA_LIFECYCLESTATE_STOPPED); + } + + /* Only stop the EventLoop if it is coupled to the server lifecycle */ + if(server->config.externalEventLoop) { + unlockServer(server); + return UA_STATUSCODE_GOOD; + } + + /* Iterate the EventLoop until the server is stopped */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_EventLoop *el = server->config.eventLoop; + while(!testStoppedCondition(server) && + res == UA_STATUSCODE_GOOD) { + res = el->run(el, 100); + } + + /* Stop the EventLoop. Iterate until stopped. */ + el->stop(el); + while(el->state != UA_EVENTLOOPSTATE_STOPPED && + el->state != UA_EVENTLOOPSTATE_FRESH && + res == UA_STATUSCODE_GOOD) { + res = el->run(el, 100); + } + + /* Set server lifecycle state to stopped if not already the case */ + setServerLifecycleState(server, UA_LIFECYCLESTATE_STOPPED); + + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_run(UA_Server *server, const volatile UA_Boolean *running) { + UA_StatusCode retval = UA_Server_run_startup(server); + UA_CHECK_STATUS(retval, return retval); + + while(!testShutdownCondition(server)) { + UA_Server_run_iterate(server, true); + if(!*running) { + if(setServerShutdown(server)) + break; + } + } + return UA_Server_run_shutdown(server); +} + +void lockServer(UA_Server *server) { + if(UA_LIKELY(server->config.eventLoop && server->config.eventLoop->lock)) + server->config.eventLoop->lock(server->config.eventLoop); + UA_LOCK(&server->serviceMutex); +} + +void unlockServer(UA_Server *server) { + if(UA_LIKELY(server->config.eventLoop && server->config.eventLoop->unlock)) + server->config.eventLoop->unlock(server->config.eventLoop); + UA_UNLOCK(&server->serviceMutex); +} + +/**** amalgamated original file "/src/server/ua_server_ns0.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Thomas Bender + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017 (c) Henrik Norrman + * Copyright 2018 (c) Fabian Arndt, Root-Core + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * Copyright 2023 (c) Fraunhofer IOSB (Author: Andreas Ebner) + */ + + + +static UA_StatusCode +ns0_addNode_raw(UA_Server *server, UA_NodeClass nodeClass, + UA_UInt32 nodeId, char *name, void *attributes, + const UA_DataType *attributesType) { + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.nodeClass = nodeClass; + item.requestedNewNodeId.nodeId = UA_NODEID_NUMERIC(0, nodeId); + item.browseName = UA_QUALIFIEDNAME(0, name); + UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, + attributes, attributesType); + return addNode_raw(server, &server->adminSession, NULL, &item, NULL); +} + +static UA_StatusCode +ns0_addNode_finish(UA_Server *server, UA_UInt32 nodeId, + UA_UInt32 parentNodeId, UA_UInt32 referenceTypeId) { + const UA_NodeId sourceId = UA_NODEID_NUMERIC(0, nodeId); + const UA_NodeId refTypeId = UA_NODEID_NUMERIC(0, referenceTypeId); + const UA_NodeId targetId = UA_NODEID_NUMERIC(0, parentNodeId); + UA_StatusCode retval = addRef(server, sourceId, refTypeId, targetId, false); + if(retval != UA_STATUSCODE_GOOD) + return retval; + return addNode_finish(server, &server->adminSession, &sourceId); +} + +static UA_StatusCode +addObjectNode(UA_Server *server, char* name, UA_UInt32 objectid, + UA_UInt32 parentid, UA_UInt32 referenceid, UA_UInt32 type_id) { + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", name); + return addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(0, objectid), + UA_NODEID_NUMERIC(0, parentid), UA_NODEID_NUMERIC(0, referenceid), + UA_QUALIFIEDNAME(0, name), UA_NODEID_NUMERIC(0, type_id), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, NULL); +} + +static UA_StatusCode +addReferenceTypeNode(UA_Server *server, char* name, char *inverseName, UA_UInt32 referencetypeid, + UA_Boolean isabstract, UA_Boolean symmetric, UA_UInt32 parentid) { + UA_ReferenceTypeAttributes reference_attr = UA_ReferenceTypeAttributes_default; + reference_attr.displayName = UA_LOCALIZEDTEXT("", name); + reference_attr.isAbstract = isabstract; + reference_attr.symmetric = symmetric; + if(inverseName) + reference_attr.inverseName = UA_LOCALIZEDTEXT("", inverseName); + return addNode(server, UA_NODECLASS_REFERENCETYPE, UA_NODEID_NUMERIC(0, referencetypeid), + UA_NODEID_NUMERIC(0, parentid), UA_NODEID_NULL, UA_QUALIFIEDNAME(0, name), + UA_NODEID_NULL, &reference_attr, + &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], NULL, NULL); +} + +/***************************/ +/* Bootstrap NS0 hierarchy */ +/***************************/ + +/* Creates the basic nodes which are expected by the nodeset compiler to be + * already created. This is necessary to reduce the dependencies for the nodeset + * compiler. */ +static UA_StatusCode +createNS0_base(UA_Server *server) { + /* Bootstrap ReferenceTypes. The order of these is important for the + * ReferenceTypeIndex. The ReferenceTypeIndex is created with the raw node. + * The ReferenceTypeSet of subtypes for every ReferenceType is created + * during the call to AddNode_finish. */ + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_ReferenceTypeAttributes references_attr = UA_ReferenceTypeAttributes_default; + references_attr.displayName = UA_LOCALIZEDTEXT("", "References"); + references_attr.isAbstract = true; + references_attr.symmetric = true; + references_attr.inverseName = UA_LOCALIZEDTEXT("", "References"); + ret |= ns0_addNode_raw(server, UA_NODECLASS_REFERENCETYPE, UA_NS0ID_REFERENCES, "References", + &references_attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); + + UA_ReferenceTypeAttributes hassubtype_attr = UA_ReferenceTypeAttributes_default; + hassubtype_attr.displayName = UA_LOCALIZEDTEXT("", "HasSubtype"); + hassubtype_attr.isAbstract = false; + hassubtype_attr.symmetric = false; + hassubtype_attr.inverseName = UA_LOCALIZEDTEXT("", "SubtypeOf"); + ret |= ns0_addNode_raw(server, UA_NODECLASS_REFERENCETYPE, UA_NS0ID_HASSUBTYPE, "HasSubtype", + &hassubtype_attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); + + UA_ReferenceTypeAttributes aggregates_attr = UA_ReferenceTypeAttributes_default; + aggregates_attr.displayName = UA_LOCALIZEDTEXT("", "Aggregates"); + aggregates_attr.isAbstract = true; + aggregates_attr.symmetric = false; + aggregates_attr.inverseName = UA_LOCALIZEDTEXT("", "AggregatedBy"); + ret |= ns0_addNode_raw(server, UA_NODECLASS_REFERENCETYPE, UA_NS0ID_AGGREGATES, "Aggregates", + &aggregates_attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); + + ret |= addReferenceTypeNode(server, "HierarchicalReferences", NULL, + UA_NS0ID_HIERARCHICALREFERENCES, true, false, UA_NS0ID_REFERENCES); + + ret |= addReferenceTypeNode(server, "NonHierarchicalReferences", NULL, + UA_NS0ID_NONHIERARCHICALREFERENCES, true, true, UA_NS0ID_REFERENCES); + + ret |= addReferenceTypeNode(server, "HasChild", NULL, UA_NS0ID_HASCHILD, + true, false, UA_NS0ID_HIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "Organizes", "OrganizedBy", UA_NS0ID_ORGANIZES, + false, false, UA_NS0ID_HIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "HasEventSource", "EventSourceOf", UA_NS0ID_HASEVENTSOURCE, + false, false, UA_NS0ID_HIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "HasModellingRule", "ModellingRuleOf", UA_NS0ID_HASMODELLINGRULE, + false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "HasEncoding", "EncodingOf", UA_NS0ID_HASENCODING, + false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "HasDescription", "DescriptionOf", UA_NS0ID_HASDESCRIPTION, + false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "HasTypeDefinition", "TypeDefinitionOf", UA_NS0ID_HASTYPEDEFINITION, + false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); + + ret |= addReferenceTypeNode(server, "GeneratesEvent", "GeneratedBy", UA_NS0ID_GENERATESEVENT, + false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); + + /* Complete bootstrap of Aggregates */ + ret |= ns0_addNode_finish(server, UA_NS0ID_AGGREGATES, UA_NS0ID_HASCHILD, UA_NS0ID_HASSUBTYPE); + + /* Complete bootstrap of HasSubtype */ + ret |= ns0_addNode_finish(server, UA_NS0ID_HASSUBTYPE, UA_NS0ID_HASCHILD, UA_NS0ID_HASSUBTYPE); + + ret |= addReferenceTypeNode(server, "HasProperty", "PropertyOf", UA_NS0ID_HASPROPERTY, + false, false, UA_NS0ID_AGGREGATES); + + ret |= addReferenceTypeNode(server, "HasComponent", "ComponentOf", UA_NS0ID_HASCOMPONENT, + false, false, UA_NS0ID_AGGREGATES); + + ret |= addReferenceTypeNode(server, "HasNotifier", "NotifierOf", UA_NS0ID_HASNOTIFIER, + false, false, UA_NS0ID_HASEVENTSOURCE); + + ret |= addReferenceTypeNode(server, "HasOrderedComponent", "OrderedComponentOf", + UA_NS0ID_HASORDEREDCOMPONENT, false, false, UA_NS0ID_HASCOMPONENT); + + ret |= addReferenceTypeNode(server, "HasInterface", "InterfaceOf", + UA_NS0ID_HASINTERFACE, false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); + + /**************/ + /* Data Types */ + /**************/ + + /* Bootstrap BaseDataType */ + UA_DataTypeAttributes basedatatype_attr = UA_DataTypeAttributes_default; + basedatatype_attr.displayName = UA_LOCALIZEDTEXT("", "BaseDataType"); + basedatatype_attr.isAbstract = true; + ret |= ns0_addNode_raw(server, UA_NODECLASS_DATATYPE, UA_NS0ID_BASEDATATYPE, "BaseDataType", + &basedatatype_attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); + + /*****************/ + /* VariableTypes */ + /*****************/ + + UA_VariableTypeAttributes basevar_attr = UA_VariableTypeAttributes_default; + basevar_attr.displayName = UA_LOCALIZEDTEXT("", "BaseVariableType"); + basevar_attr.isAbstract = true; + basevar_attr.valueRank = UA_VALUERANK_ANY; + basevar_attr.dataType = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATATYPE); + ret |= ns0_addNode_raw(server, UA_NODECLASS_VARIABLETYPE, + UA_NS0ID_BASEVARIABLETYPE, "BaseVariableType", + &basevar_attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); + + UA_VariableTypeAttributes bdv_attr = UA_VariableTypeAttributes_default; + bdv_attr.displayName = UA_LOCALIZEDTEXT("", "BaseDataVariableType"); + bdv_attr.dataType = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATATYPE); + bdv_attr.valueRank = UA_VALUERANK_ANY; + ret |= addNode(server, UA_NODECLASS_VARIABLETYPE, + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEVARIABLETYPE), + UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "BaseDataVariableType"), + UA_NODEID_NULL, &bdv_attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], + NULL, NULL); + + UA_VariableTypeAttributes prop_attr = UA_VariableTypeAttributes_default; + prop_attr.displayName = UA_LOCALIZEDTEXT("", "PropertyType"); + prop_attr.dataType = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATATYPE); + prop_attr.valueRank = UA_VALUERANK_ANY; + ret |= addNode(server, UA_NODECLASS_VARIABLETYPE, + UA_NODEID_NUMERIC(0, UA_NS0ID_PROPERTYTYPE), + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEVARIABLETYPE), + UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "PropertyType"), + UA_NODEID_NULL, &prop_attr, + &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], NULL, NULL); + + /***************/ + /* ObjectTypes */ + /***************/ + + UA_ObjectTypeAttributes baseobj_attr = UA_ObjectTypeAttributes_default; + baseobj_attr.displayName = UA_LOCALIZEDTEXT("", "BaseObjectType"); + ret |= ns0_addNode_raw(server, UA_NODECLASS_OBJECTTYPE, + UA_NS0ID_BASEOBJECTTYPE, "BaseObjectType", + &baseobj_attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); + + UA_ObjectTypeAttributes folder_attr = UA_ObjectTypeAttributes_default; + folder_attr.displayName = UA_LOCALIZEDTEXT("", "FolderType"); + ret |= addNode(server, UA_NODECLASS_OBJECTTYPE, + UA_NODEID_NUMERIC(0, UA_NS0ID_FOLDERTYPE), + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE), + UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "FolderType"), + UA_NODEID_NULL, + &folder_attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], NULL, NULL); + + /******************/ + /* Root and below */ + /******************/ + + ret |= addObjectNode(server, "Root", UA_NS0ID_ROOTFOLDER, 0, 0, UA_NS0ID_FOLDERTYPE); + + ret |= addObjectNode(server, "Objects", UA_NS0ID_OBJECTSFOLDER, UA_NS0ID_ROOTFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + + ret |= addObjectNode(server, "Types", UA_NS0ID_TYPESFOLDER, UA_NS0ID_ROOTFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + + ret |= addObjectNode(server, "ReferenceTypes", UA_NS0ID_REFERENCETYPESFOLDER, UA_NS0ID_TYPESFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + ret |= ns0_addNode_finish(server, UA_NS0ID_REFERENCES, + UA_NS0ID_REFERENCETYPESFOLDER, UA_NS0ID_ORGANIZES); + + ret |= addObjectNode(server, "DataTypes", UA_NS0ID_DATATYPESFOLDER, UA_NS0ID_TYPESFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + ret |= ns0_addNode_finish(server, UA_NS0ID_BASEDATATYPE, + UA_NS0ID_DATATYPESFOLDER, UA_NS0ID_ORGANIZES); + + ret |= addObjectNode(server, "VariableTypes", UA_NS0ID_VARIABLETYPESFOLDER, UA_NS0ID_TYPESFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + ret |= ns0_addNode_finish(server, UA_NS0ID_BASEVARIABLETYPE, + UA_NS0ID_VARIABLETYPESFOLDER, UA_NS0ID_ORGANIZES); + + ret |= addObjectNode(server, "ObjectTypes", UA_NS0ID_OBJECTTYPESFOLDER, UA_NS0ID_TYPESFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + ret |= ns0_addNode_finish(server, UA_NS0ID_BASEOBJECTTYPE, + UA_NS0ID_OBJECTTYPESFOLDER, UA_NS0ID_ORGANIZES); + + ret |= addObjectNode(server, "EventTypes", UA_NS0ID_EVENTTYPESFOLDER, UA_NS0ID_TYPESFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + + ret |= addObjectNode(server, "Views", UA_NS0ID_VIEWSFOLDER, UA_NS0ID_ROOTFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); + + /* Add BaseEventType */ + UA_ObjectTypeAttributes eventtype_attr = UA_ObjectTypeAttributes_default; + eventtype_attr.displayName = UA_LOCALIZEDTEXT("", "BaseEventType"); + ret |= addNode(server, UA_NODECLASS_OBJECTTYPE, + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE), + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE), + UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "BaseEventType"), + UA_NODEID_NULL, + &eventtype_attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], NULL, NULL); + ret |= addRef(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_EVENTTYPESFOLDER), + UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES), + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE), true); + + if(ret != UA_STATUSCODE_GOOD) + ret = UA_STATUSCODE_BADINTERNALERROR; + + return ret; +} + +/****************/ +/* Data Sources */ +/****************/ + +static UA_StatusCode +writeStatus(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *value) { + if(range) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + + if(nodeId->identifier.numeric != UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Only the local user can write into this variable */ + if(sessionId != &server->adminSession.sessionId) + return UA_STATUSCODE_BADUSERACCESSDENIED; + + if(!UA_Variant_hasScalarType(&value->value, &UA_TYPES[UA_TYPES_UINT32])) + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_UInt32 *endTime = (UA_UInt32*)value->value.data; + server->endTime = UA_DateTime_now() + (UA_DateTime)(*endTime * UA_DATETIME_SEC); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +readStatus(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + + if(sourceTimestamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = UA_DateTime_now(); + } + + void *data = NULL; + + UA_assert(nodeId->identifierType == UA_NODEIDTYPE_NUMERIC); + + switch(nodeId->identifier.numeric) { + case UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN: { + UA_UInt32 *shutdown = UA_UInt32_new(); + if(!shutdown) + return UA_STATUSCODE_BADOUTOFMEMORY; + if(server->endTime != 0) + *shutdown = (UA_UInt32)((server->endTime - UA_DateTime_now()) / UA_DATETIME_SEC); + value->value.data = shutdown; + value->value.type = &UA_TYPES[UA_TYPES_UINT32]; + value->hasValue = true; + return UA_STATUSCODE_GOOD; + } + + case UA_NS0ID_SERVER_SERVERSTATUS_STATE: { + UA_ServerState *state = UA_ServerState_new(); + if(!state) + return UA_STATUSCODE_BADOUTOFMEMORY; + if(server->endTime != 0) + *state = UA_SERVERSTATE_SHUTDOWN; + value->value.data = state; + value->value.type = &UA_TYPES[UA_TYPES_SERVERSTATE]; + value->hasValue = true; + return UA_STATUSCODE_GOOD; + } + + case UA_NS0ID_SERVER_SERVERSTATUS: { + UA_ServerStatusDataType *statustype = UA_ServerStatusDataType_new(); + if(!statustype) + return UA_STATUSCODE_BADOUTOFMEMORY; + statustype->startTime = server->startTime; + statustype->currentTime = UA_DateTime_now(); + + statustype->state = UA_SERVERSTATE_RUNNING; + statustype->secondsTillShutdown = 0; + if(server->endTime != 0) { + statustype->state = UA_SERVERSTATE_SHUTDOWN; + statustype->secondsTillShutdown = (UA_UInt32) + ((server->endTime - UA_DateTime_now()) / UA_DATETIME_SEC); + } + + value->value.data = statustype; + value->value.type = &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]; + value->hasValue = true; + return UA_BuildInfo_copy(&server->config.buildInfo, &statustype->buildInfo); + } + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO: + value->value.type = &UA_TYPES[UA_TYPES_BUILDINFO]; + data = &server->config.buildInfo; + break; + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI: + value->value.type = &UA_TYPES[UA_TYPES_STRING]; + data = &server->config.buildInfo.productUri; + break; + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME: + value->value.type = &UA_TYPES[UA_TYPES_STRING]; + data = &server->config.buildInfo.manufacturerName; + break; + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME: + value->value.type = &UA_TYPES[UA_TYPES_STRING]; + data = &server->config.buildInfo.productName; + break; + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION: + value->value.type = &UA_TYPES[UA_TYPES_STRING]; + data = &server->config.buildInfo.softwareVersion; + break; + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER: + value->value.type = &UA_TYPES[UA_TYPES_STRING]; + data = &server->config.buildInfo.buildNumber; + break; + + case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE: + value->value.type = &UA_TYPES[UA_TYPES_DATETIME]; + data = &server->config.buildInfo.buildDate; + break; + + default: + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; + } + + value->value.data = UA_new(value->value.type); + if(!value->value.data) { + value->value.type = NULL; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + value->hasValue = true; + return UA_copy(data, value->value.data, value->value.type); +} + +#ifdef UA_GENERATED_NAMESPACE_ZERO +static UA_StatusCode +readServiceLevel(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, UA_DataValue *value) { + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + + value->value.type = &UA_TYPES[UA_TYPES_BYTE]; + value->value.arrayLength = 0; + UA_Byte *byte = UA_Byte_new(); + *byte = 255; + value->value.data = byte; + value->value.arrayDimensionsSize = 0; + value->value.arrayDimensions = NULL; + value->hasValue = true; + if(includeSourceTimeStamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = UA_DateTime_now(); + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +readAuditing(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, UA_DataValue *value) { + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + + value->value.type = &UA_TYPES[UA_TYPES_BOOLEAN]; + value->value.arrayLength = 0; + UA_Boolean *boolean = UA_Boolean_new(); + *boolean = false; + value->value.data = boolean; + value->value.arrayDimensionsSize = 0; + value->value.arrayDimensions = NULL; + value->hasValue = true; + if(includeSourceTimeStamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = UA_DateTime_now(); + } + return UA_STATUSCODE_GOOD; +} +#endif + +static UA_StatusCode +readNamespaces(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, + UA_DataValue *value) { + /* ensure that the uri for ns1 is set up from the app description */ + setupNs1Uri(server); + + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + UA_StatusCode retval; + retval = UA_Variant_setArrayCopy(&value->value, server->namespaces, + server->namespacesSize, &UA_TYPES[UA_TYPES_STRING]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + value->hasValue = true; + if(includeSourceTimeStamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = UA_DateTime_now(); + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +writeNamespaces(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *value) { + /* Check the data type */ + if(!value->hasValue || + value->value.type != &UA_TYPES[UA_TYPES_STRING]) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* Check that the variant is not empty */ + if(!value->value.data) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* TODO: Writing with a range is not implemented */ + if(range) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_String *newNamespaces = (UA_String*)value->value.data; + size_t newNamespacesSize = value->value.arrayLength; + + /* Test if we append to the existing namespaces */ + if(newNamespacesSize <= server->namespacesSize) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* ensure that the uri for ns1 is set up from the app description */ + setupNs1Uri(server); + + /* Test if the existing namespaces are unchanged */ + for(size_t i = 0; i < server->namespacesSize; ++i) { + if(!UA_String_equal(&server->namespaces[i], &newNamespaces[i])) + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Add namespaces */ + for(size_t i = server->namespacesSize; i < newNamespacesSize; ++i) + addNamespace(server, newNamespaces[i]); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +readCurrentTime(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *nodeContext, UA_Boolean sourceTimeStamp, + const UA_NumericRange *range, UA_DataValue *value) { + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + UA_DateTime currentTime = UA_DateTime_now(); + UA_StatusCode retval = UA_Variant_setScalarCopy(&value->value, ¤tTime, + &UA_TYPES[UA_TYPES_DATETIME]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + value->hasValue = true; + if(sourceTimeStamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = currentTime; + } + return UA_STATUSCODE_GOOD; +} + +#ifdef UA_GENERATED_NAMESPACE_ZERO +static UA_StatusCode +readOperationLimits(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, + UA_DataValue *value) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(nodeid->identifierType != UA_NODEIDTYPE_NUMERIC) + return UA_STATUSCODE_BADNOTSUPPORTED; + switch(nodeid->identifier.numeric) { + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerRead, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerWrite, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerMethodCall, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerBrowse, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerRegisterNodes, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerTranslateBrowsePathsToNodeIds, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerNodeManagement, &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL: + retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxMonitoredItemsPerCall, &UA_TYPES[UA_TYPES_UINT32]); + break; + default: + retval = UA_STATUSCODE_BADNOTSUPPORTED; + } + return retval; +} + +static UA_StatusCode +readMinSamplingInterval(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, + UA_DataValue *value) { + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + + UA_StatusCode retval; + UA_Duration minInterval; +#ifdef UA_ENABLE_SUBSCRIPTIONS + minInterval = server->config.samplingIntervalLimits.min; +#else + minInterval = 0.0; +#endif + retval = UA_Variant_setScalarCopy(&value->value, &minInterval, &UA_TYPES[UA_TYPES_DURATION]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + value->hasValue = true; + if(includeSourceTimeStamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = UA_DateTime_now(); + } + return UA_STATUSCODE_GOOD; +} +#endif + +#if defined(UA_GENERATED_NAMESPACE_ZERO) && defined(UA_ENABLE_METHODCALLS) && defined(UA_ENABLE_SUBSCRIPTIONS) +static UA_StatusCode +resendData(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *methodId, void *methodContext, const UA_NodeId *objectId, + void *objectContext, size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + /* Get the input argument */ + if(inputSize != 1 || + !UA_Variant_hasScalarType(input, &UA_TYPES[UA_TYPES_UINT32])) + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + UA_UInt32 subscriptionId = *((UA_UInt32*)(input[0].data)); + + /* Get the Session */ + lockServer(server); + UA_Session *session = getSessionById(server, sessionId); + if(!session) { + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Get the Subscription */ + UA_Subscription *subscription = getSubscriptionById(server, subscriptionId); + if(!subscription) { + unlockServer(server); + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + } + + /* The Subscription is not attached to this Session */ + if(subscription->session != session) { + unlockServer(server); + return UA_STATUSCODE_BADUSERACCESSDENIED; + } + + UA_Subscription_resendData(server, subscription); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} +static UA_StatusCode +readMonitoredItems(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *methodId, void *methodContext, const UA_NodeId *objectId, + void *objectContext, size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + /* Return two empty arrays by default */ + UA_Variant_setArray(&output[0], UA_Array_new(0, &UA_TYPES[UA_TYPES_UINT32]), + 0, &UA_TYPES[UA_TYPES_UINT32]); + UA_Variant_setArray(&output[1], UA_Array_new(0, &UA_TYPES[UA_TYPES_UINT32]), + 0, &UA_TYPES[UA_TYPES_UINT32]); + + lockServer(server); + + /* Get the Session */ + UA_Session *session = getSessionById(server, sessionId); + if(!session) { + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(inputSize == 0 || !input[0].data) { + unlockServer(server); + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + } + + /* Get the Subscription */ + UA_UInt32 subscriptionId = *((UA_UInt32*)(input[0].data)); + UA_Subscription *subscription = getSubscriptionById(server, subscriptionId); + if(!subscription) { + unlockServer(server); + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + } + + /* The Subscription is not attached to this Session */ + if(subscription->session != session) { + unlockServer(server); + return UA_STATUSCODE_BADUSERACCESSDENIED; + } + + /* Count the MonitoredItems */ + UA_UInt32 sizeOfOutput = 0; + UA_MonitoredItem* monitoredItem; + LIST_FOREACH(monitoredItem, &subscription->monitoredItems, listEntry) { + ++sizeOfOutput; + } + if(sizeOfOutput == 0) { + unlockServer(server); + return UA_STATUSCODE_GOOD; + } + + /* Allocate the output arrays */ + UA_UInt32 *clientHandles = (UA_UInt32*) + UA_Array_new(sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); + if(!clientHandles) { + unlockServer(server); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + UA_UInt32 *serverHandles = (UA_UInt32*) + UA_Array_new(sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); + if(!serverHandles) { + unlockServer(server); + UA_free(clientHandles); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Fill the array */ + UA_UInt32 i = 0; + LIST_FOREACH(monitoredItem, &subscription->monitoredItems, listEntry) { + clientHandles[i] = monitoredItem->parameters.clientHandle; + serverHandles[i] = monitoredItem->monitoredItemId; + ++i; + } + UA_Variant_setArray(&output[0], serverHandles, sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); + UA_Variant_setArray(&output[1], clientHandles, sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} +#endif /* defined(UA_ENABLE_METHODCALLS) && defined(UA_ENABLE_SUBSCRIPTIONS) */ + +static UA_StatusCode +writeNs0VariableArray(UA_Server *server, UA_UInt32 id, void *v, + size_t length, const UA_DataType *type) { + UA_Variant var; + UA_Variant_init(&var); + UA_Variant_setArray(&var, v, length, type); + return writeValueAttribute(server, UA_NODEID_NUMERIC(0, id), &var); +} + +#ifdef UA_GENERATED_NAMESPACE_ZERO +static UA_StatusCode +writeNs0Variable(UA_Server *server, UA_UInt32 id, void *v, const UA_DataType *type) { + UA_Variant var; + UA_Variant_init(&var); + UA_Variant_setScalar(&var, v, type); + return writeValueAttribute(server, UA_NODEID_NUMERIC(0, id), &var); +} +#endif + +#ifndef UA_GENERATED_NAMESPACE_ZERO +static UA_StatusCode +addVariableNode(UA_Server *server, char* name, UA_UInt32 variableid, + UA_UInt32 parentid, UA_UInt32 referenceid, + UA_Int32 valueRank, UA_UInt32 dataType) { + UA_VariableAttributes attr = UA_VariableAttributes_default; + attr.displayName = UA_LOCALIZEDTEXT("", name); + attr.dataType = UA_NODEID_NUMERIC(0, dataType); + attr.valueRank = valueRank; + attr.accessLevel = UA_ACCESSLEVELMASK_READ; + return addNode(server, UA_NODECLASS_VARIABLE, UA_NODEID_NUMERIC(0, variableid), + UA_NODEID_NUMERIC(0, parentid), UA_NODEID_NUMERIC(0, referenceid), + UA_QUALIFIEDNAME(0, name), + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), + &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], NULL, NULL); +} + +/* A minimal server object that is not complete and does not use the mandated + * references to a server type. To be used on very constrained devices. */ +static UA_StatusCode +minimalServerObject(UA_Server *server) { + /* Server */ + UA_StatusCode retval = addObjectNode(server, "Server", UA_NS0ID_SERVER, UA_NS0ID_OBJECTSFOLDER, + UA_NS0ID_ORGANIZES, UA_NS0ID_BASEOBJECTTYPE); + + /* Use a valuerank of -2 for now. The array is added later on and the valuerank set to 1. */ + retval |= addVariableNode(server, "ServerArray", UA_NS0ID_SERVER_SERVERARRAY, + UA_NS0ID_SERVER, UA_NS0ID_HASPROPERTY, + UA_VALUERANK_ANY, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "NamespaceArray", UA_NS0ID_SERVER_NAMESPACEARRAY, + UA_NS0ID_SERVER, UA_NS0ID_HASPROPERTY, + UA_VALUERANK_ANY, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "ServerStatus", UA_NS0ID_SERVER_SERVERSTATUS, + UA_NS0ID_SERVER, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "StartTime", UA_NS0ID_SERVER_SERVERSTATUS_STARTTIME, + UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "CurrentTime", UA_NS0ID_SERVER_SERVERSTATUS_CURRENTTIME, + UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "State", UA_NS0ID_SERVER_SERVERSTATUS_STATE, + UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "BuildInfo", UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, + UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "ProductUri", UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI, + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "ManufacturerName", + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME, + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "ProductName", + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME, + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "SoftwareVersion", + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION, + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "BuildNumber", + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER, + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + retval |= addVariableNode(server, "BuildDate", + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE, + UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, + UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); + + return retval; +} + +#else + +static void +addModellingRules(UA_Server *server) { + /* Test if the ModellingRules folder was added. (Only for the full ns0.) */ + UA_NodeId mrNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES); + const UA_Node *mrnode = UA_NODESTORE_GET(server, &mrNodeId); + if(!mrnode) + return; + UA_NODESTORE_RELEASE(server, mrnode); + + /* Add ExposesItsArray */ + addRef(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_EXPOSESITSARRAY), true); + + /* Add Mandatory */ + addRef(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_MANDATORY), true); + + + /* Add MandatoryPlaceholder */ + addRef(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_MANDATORYPLACEHOLDER), true); + + /* Add Optional */ + addRef(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_OPTIONAL), true); + + /* Add OptionalPlaceholder */ + addRef(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_OPTIONALPLACEHOLDER), true); +} + +#endif + +/* Initialize the nodeset 0 by using the generated code of the nodeset compiler. + * This also initialized the data sources for various variables, such as for + * example server time. */ +UA_StatusCode +initNS0(UA_Server *server) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Initialize base nodes which are always required an cannot be created + * through the NS compiler */ + server->bootstrapNS0 = true; + UA_StatusCode retVal = createNS0_base(server); + +#ifdef UA_GENERATED_NAMESPACE_ZERO + /* Load nodes and references generated from the XML ns0 definition */ + retVal |= namespace0_generated(server); +#else + /* Create a minimal server object */ + retVal |= minimalServerObject(server); +#endif + + server->bootstrapNS0 = false; + + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Initialization of Namespace 0 failed with %s. " + "See previous outputs for any error messages.", + UA_StatusCode_name(retVal)); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* NamespaceArray */ + UA_DataSource namespaceDataSource = {readNamespaces, writeNamespaces}; + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY), + namespaceDataSource); + retVal |= writeValueRankAttribute(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY), 1); + + /* ServerArray */ + retVal |= writeNs0VariableArray(server, UA_NS0ID_SERVER_SERVERARRAY, + &server->config.applicationDescription.applicationUri, + 1, &UA_TYPES[UA_TYPES_STRING]); + retVal |= writeValueRankAttribute(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERARRAY), 1); + + /* ServerStatus */ + UA_DataSource serverStatus = {readStatus, writeStatus}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS), serverStatus); + + /* StartTime will be sampled in UA_Server_run_startup()*/ + + /* CurrentTime */ + UA_DataSource currentTime = {readCurrentTime, NULL}; + UA_NodeId currTime = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_CURRENTTIME); + retVal |= setVariableNode_dataSource(server, currTime, currentTime); + retVal |= writeMinimumSamplingIntervalAttribute(server, currTime, 100.0); + + /* State */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_STATE), serverStatus); + + /* BuildInfo */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO), serverStatus); + + /* BuildInfo - ProductUri */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI), + serverStatus); + + /* BuildInfo - ManufacturerName */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME), + serverStatus); + + /* BuildInfo - ProductName */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME), + serverStatus); + + /* BuildInfo - SoftwareVersion */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION), + serverStatus); + + /* BuildInfo - BuildNumber */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER), + serverStatus); + + /* BuildInfo - BuildDate */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE), + serverStatus); + +#ifdef UA_GENERATED_NAMESPACE_ZERO + + /* SecondsTillShutdown */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN), + serverStatus); + + /* ShutDownReason */ + UA_LocalizedText shutdownReason; + UA_LocalizedText_init(&shutdownReason); + retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERSTATUS_SHUTDOWNREASON, + &shutdownReason, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); + + /* ServiceLevel */ + UA_DataSource serviceLevel = {readServiceLevel, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVICELEVEL), serviceLevel); + + /* ServerDiagnostics - EnabledFlag */ +#ifdef UA_ENABLE_DIAGNOSTICS + UA_Boolean enabledFlag = true; +#else + UA_Boolean enabledFlag = false; +#endif + retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_ENABLEDFLAG, + &enabledFlag, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* According to Specification part-5 - pg.no-11(PDF pg.no-29), when the ServerDiagnostics is disabled the client + * may modify the value of enabledFlag=true in the server. By default, this node have CurrentRead/Write access. + * In CTT, Subscription_Minimum_1/002.js test will modify the above flag. This will not be a problem when build + * configuration is set at UA_NAMESPACE_ZERO="REDUCED" as NodeIds will not be present. When UA_NAMESPACE_ZERO="FULL", + * the test will fail. Hence made the NodeId as read only */ + retVal |= writeAccessLevelAttribute(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_ENABLEDFLAG), + UA_ACCESSLEVELMASK_READ); + + /* Auditing */ + UA_DataSource auditing = {readAuditing, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_AUDITING), auditing); + + /* Redundancy Support */ + UA_RedundancySupport redundancySupport = UA_REDUNDANCYSUPPORT_NONE; + retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANCYSUPPORT, + &redundancySupport, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); + /* Remove unused subtypes of ServerRedundancy */ + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_CURRENTSERVERID), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANTSERVERARRAY), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERURIARRAY), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERNETWORKGROUPS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_CONFORMANCEUNITS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_URISVERSION), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_CONFORMANCEUNITS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSPERSUBSCRIPTION), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSQUEUESIZE), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSELECTCLAUSEPARAMETERS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSESSIONS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONSPERSESSION), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXWHERECLAUSEPARAMETERS), true); + + /* ServerCapabilities - LocaleIdArray */ + UA_LocaleId locale_en = UA_STRING("en"); + retVal |= writeNs0VariableArray(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_LOCALEIDARRAY, + &locale_en, 1, &UA_TYPES[UA_TYPES_LOCALEID]); + + /* ServerCapabilities - MaxBrowseContinuationPoints */ + UA_UInt16 maxBrowseContinuationPoints = UA_MAXCONTINUATIONPOINTS; + retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBROWSECONTINUATIONPOINTS, + &maxBrowseContinuationPoints, &UA_TYPES[UA_TYPES_UINT16]); + + /* ServerProfileArray */ + UA_String profileArray[3]; + UA_UInt16 profileArraySize = 0; +#define ADDPROFILEARRAY(x) profileArray[profileArraySize++] = UA_STRING(x) + ADDPROFILEARRAY("http://opcfoundation.org/UA-Profile/Server/StandardUA2017"); +#ifdef UA_ENABLE_NODEMANAGEMENT + ADDPROFILEARRAY("http://opcfoundation.org/UA-Profile/Server/NodeManagement"); +#endif +#ifdef UA_ENABLE_METHODCALLS + ADDPROFILEARRAY("http://opcfoundation.org/UA-Profile/Server/Methods"); +#endif + retVal |= writeNs0VariableArray(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_SERVERPROFILEARRAY, + profileArray, profileArraySize, &UA_TYPES[UA_TYPES_STRING]); + + /* ServerCapabilities - MaxQueryContinuationPoints */ + UA_UInt16 maxQueryContinuationPoints = 0; + retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXQUERYCONTINUATIONPOINTS, + &maxQueryContinuationPoints, &UA_TYPES[UA_TYPES_UINT16]); + + /* ServerCapabilities - MaxHistoryContinuationPoints */ + UA_UInt16 maxHistoryContinuationPoints = 0; + retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXHISTORYCONTINUATIONPOINTS, + &maxHistoryContinuationPoints, &UA_TYPES[UA_TYPES_UINT16]); + + /* ServerCapabilities - MinSupportedSampleRate */ + UA_DataSource samplingInterval = {readMinSamplingInterval, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MINSUPPORTEDSAMPLERATE), + samplingInterval); + + /* ServerCapabilities - OperationLimits - MaxNodesPerRead */ + UA_DataSource operationLimitRead = {readOperationLimits, NULL}; + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - maxNodesPerWrite */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - MaxNodesPerMethodCall */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - MaxNodesPerBrowse */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - MaxNodesPerRegisterNodes */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - MaxNodesPerTranslateBrowsePathsToNodeIds */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - MaxNodesPerNodeManagement */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT), + operationLimitRead); + + /* ServerCapabilities - OperationLimits - MaxMonitoredItemsPerCall */ + retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL), + operationLimitRead); + + /* Remove unused operation limit components */ + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSTRINGLENGTH), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXARRAYLENGTH), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBYTESTRINGLENGTH), true); + + /* Remove not supported server configurations */ + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_ESTIMATEDRETURNTIME), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_LOCALTIME), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_REQUESTSERVERSTATECHANGE), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVERCONFIGURATION), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE), true); + +#ifdef UA_ENABLE_DIAGNOSTICS + /* ServerDiagnostics - ServerDiagnosticsSummary */ + UA_DataSource serverDiagSummary = {readDiagnostics, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - ServerViewCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - CurrentSessionCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - CumulatedSessionCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - SecurityRejectedSessionCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - RejectedSessionCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - SessionTimeoutCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - SessionAbortCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - CurrentSubscriptionCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - CumulatedSubscriptionCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - PublishingIntervalCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - SecurityRejectedRequestsCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT), serverDiagSummary); + + /* ServerDiagnostics - ServerDiagnosticsSummary - RejectedRequestsCount */ + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT), serverDiagSummary); + + /* ServerDiagnostics - SubscriptionDiagnosticsArray */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_DataSource serverSubDiagSummary = {readSubscriptionDiagnosticsArray, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY), serverSubDiagSummary); +#endif + + /* ServerDiagnostics - SessionDiagnosticsSummary - SessionDiagnosticsArray */ + UA_DataSource sessionDiagSummary = {readSessionDiagnosticsArray, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY), sessionDiagSummary); + + /* ServerDiagnostics - SessionDiagnosticsSummary - SessionSecurityDiagnosticsArray */ + UA_DataSource sessionSecDiagSummary = {readSessionSecurityDiagnostics, NULL}; + retVal |= setVariableNode_dataSource(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY), sessionSecDiagSummary); + +#else + /* Removing these NodeIds make Server Object to be non-complaint with UA + * 1.03 in CTT (Base Inforamtion/Base Info Core Structure/ 001.js) In the + * 1.04 specification this has been resolved by allowing to remove these + * static nodes as well */ + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY), true); + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY), true); +#endif + + /* The sampling diagnostics array is optional + * TODO: Add support for this diagnostics */ + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SAMPLINGINTERVALDIAGNOSTICSARRAY), true); + +#ifndef UA_ENABLE_PUBSUB + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), true); +#endif + +#ifndef UA_ENABLE_HISTORIZING + deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_HISTORYSERVERCAPABILITIES), true); +#else + /* ServerCapabilities - HistoryServerCapabilities - AccessHistoryDataCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYDATACAPABILITY, + &server->config.accessHistoryDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - MaxReturnDataValues */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNDATAVALUES, + &server->config.maxReturnDataValues, &UA_TYPES[UA_TYPES_UINT32]); + + /* ServerCapabilities - HistoryServerCapabilities - AccessHistoryEventsCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYEVENTSCAPABILITY, + &server->config.accessHistoryEventsCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - MaxReturnEventValues */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNEVENTVALUES, + &server->config.maxReturnEventValues, &UA_TYPES[UA_TYPES_UINT32]); + + /* ServerCapabilities - HistoryServerCapabilities - InsertDataCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTDATACAPABILITY, + &server->config.insertDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - InsertEventCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTEVENTCAPABILITY, + &server->config.insertEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - InsertAnnotationsCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTANNOTATIONCAPABILITY, + &server->config.insertAnnotationsCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - ReplaceDataCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEDATACAPABILITY, + &server->config.replaceDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - ReplaceEventCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEEVENTCAPABILITY, + &server->config.replaceEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - UpdateDataCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEDATACAPABILITY, + &server->config.updateDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - UpdateEventCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEEVENTCAPABILITY, + &server->config.updateEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - DeleteRawCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETERAWCAPABILITY, + &server->config.deleteRawCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - DeleteEventCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEEVENTCAPABILITY, + &server->config.deleteEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* ServerCapabilities - HistoryServerCapabilities - DeleteAtTimeDataCapability */ + retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEATTIMECAPABILITY, + &server->config.deleteAtTimeDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); +#endif + +#if defined(UA_ENABLE_METHODCALLS) && defined(UA_ENABLE_SUBSCRIPTIONS) + retVal |= setMethodNode_callback(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_GETMONITOREDITEMS), + readMonitoredItems); + + retVal |= setMethodNode_callback(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_RESENDDATA), + resendData); +#endif + + /* The HasComponent references to the ModellingRules are not part of the + * Nodeset2.xml. So we add the references manually. */ + addModellingRules(server); + +#endif /* UA_GENERATED_NAMESPACE_ZERO */ + + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Initialization of Namespace 0 (after bootstrapping) " + "failed with %s. See previous outputs for any error messages.", + UA_StatusCode_name(retVal)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/src/server/ua_server_ns0_diagnostics.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#ifdef UA_ENABLE_DIAGNOSTICS + +static UA_Boolean +equalBrowseName(UA_String *bn, char *n) { + UA_String name = UA_STRING(n); + return UA_String_equal(bn, &name); +} + +#ifdef UA_ENABLE_SUBSCRIPTIONS + +/****************************/ +/* Subscription Diagnostics */ +/****************************/ + +static void +fillSubscriptionDiagnostics(UA_Subscription *sub, + UA_SubscriptionDiagnosticsDataType *diag) { + UA_NodeId_copy(&sub->session->sessionId, &diag->sessionId); /* ignore status */ + diag->subscriptionId = sub->subscriptionId; + diag->priority = sub->priority; + diag->publishingInterval = sub->publishingInterval; + diag->maxKeepAliveCount = sub->maxKeepAliveCount; + diag->maxLifetimeCount = sub->lifeTimeCount; + diag->maxNotificationsPerPublish = sub->notificationsPerPublish; + diag->publishingEnabled = (sub->state > UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH); + diag->modifyCount = sub->modifyCount; + diag->enableCount = sub->enableCount; + diag->disableCount = sub->disableCount; + diag->republishRequestCount = sub->republishRequestCount; + diag->republishMessageRequestCount = + sub->republishRequestCount; /* Always equal to the previous republishRequestCount */ + diag->republishMessageCount = sub->republishMessageCount; + diag->transferRequestCount = sub->transferRequestCount; + diag->transferredToAltClientCount = sub->transferredToAltClientCount; + diag->transferredToSameClientCount = sub->transferredToSameClientCount; + diag->publishRequestCount = sub->publishRequestCount; + diag->dataChangeNotificationsCount = sub->dataChangeNotificationsCount; + diag->eventNotificationsCount = sub->eventNotificationsCount; + diag->notificationsCount = sub->notificationsCount; + diag->latePublishRequestCount = sub->latePublishRequestCount; + diag->currentKeepAliveCount = sub->currentKeepAliveCount; + diag->currentLifetimeCount = sub->currentLifetimeCount; + diag->unacknowledgedMessageCount = (UA_UInt32)sub->retransmissionQueueSize; + diag->discardedMessageCount = sub->discardedMessageCount; + diag->monitoredItemCount = sub->monitoredItemsSize; + diag->monitoringQueueOverflowCount = sub->monitoringQueueOverflowCount; + diag->nextSequenceNumber = sub->nextSequenceNumber; + diag->eventQueueOverFlowCount = sub->eventQueueOverFlowCount; + + /* Count the disabled MonitoredItems */ + UA_MonitoredItem *mon; + LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { + if(mon->monitoringMode == UA_MONITORINGMODE_DISABLED) + diag->disabledMonitoredItemCount++; + } +} + +/* The node context points to the subscription */ +static UA_StatusCode +readSubscriptionDiagnostics(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + /* Check the Subscription pointer */ + UA_Subscription *sub = (UA_Subscription*)nodeContext; + if(!sub) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Read the BrowseName */ + UA_QualifiedName bn; + UA_StatusCode res = UA_Server_readBrowseName(server, *nodeId, &bn); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Set the value */ + UA_SubscriptionDiagnosticsDataType sddt; + UA_SubscriptionDiagnosticsDataType_init(&sddt); + fillSubscriptionDiagnostics(sub, &sddt); + + char memberName[128]; + memcpy(memberName, bn.name.data, bn.name.length); + memberName[bn.name.length] = 0; + + size_t memberOffset; + const UA_DataType *memberType; + UA_Boolean isArray; + UA_Boolean found = + UA_DataType_getStructMember(&UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE], + memberName, &memberOffset, &memberType, &isArray); + if(!found) { + /* Not the member, but the main subscription diagnostics variable... */ + memberOffset = 0; + memberType = &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]; + } + + void *content = (void*)(((uintptr_t)&sddt) + memberOffset); + res = UA_Variant_setScalarCopy(&value->value, content, memberType); + if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) + value->hasValue = true; + + UA_SubscriptionDiagnosticsDataType_clear(&sddt); + UA_QualifiedName_clear(&bn); + return res; +} + +/* Return all subscriptions in the server. */ +UA_StatusCode +readSubscriptionDiagnosticsArray(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + lockServer(server); + + /* Get the current session */ + size_t sdSize = 0; + session_list_entry *sentry; + LIST_FOREACH(sentry, &server->sessions, pointers) { + sdSize += sentry->session.subscriptionsSize; + } + + /* Allocate the output array */ + UA_SubscriptionDiagnosticsDataType *sd = (UA_SubscriptionDiagnosticsDataType*) + UA_Array_new(sdSize, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); + if(!sd) { + unlockServer(server); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Collect the statistics */ + size_t i = 0; + UA_Subscription *sub; + LIST_FOREACH(sentry, &server->sessions, pointers) { + TAILQ_FOREACH(sub, &sentry->session.subscriptions, sessionListEntry) { + fillSubscriptionDiagnostics(sub, &sd[i]); + i++; + } + } + + /* Set the output */ + value->hasValue = true; + UA_Variant_setArray(&value->value, sd, sdSize, + &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +void +createSubscriptionObject(UA_Server *server, UA_Session *session, + UA_Subscription *sub) { + UA_ExpandedNodeId *children = NULL; + size_t childrenSize = 0; + UA_ReferenceTypeSet refTypes; + UA_NodeId hasComponent = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); + + char subIdStr[32]; + itoaUnsigned(sub->subscriptionId, subIdStr, 10); + + /* Find the NodeId of the SubscriptionDiagnosticsArray */ + UA_BrowsePath bp; + UA_BrowsePath_init(&bp); + bp.startingNode = sub->session->sessionId; + UA_RelativePathElement rpe[1]; + memset(rpe, 0, sizeof(UA_RelativePathElement) * 1); + rpe[0].targetName = UA_QUALIFIEDNAME(0, "SubscriptionDiagnosticsArray"); + bp.relativePath.elements = rpe; + bp.relativePath.elementsSize = 1; + UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); + if(bpr.targetsSize < 1) + return; + + /* Create an object for the subscription. Instantiates all the mandatory + * children. */ + UA_VariableAttributes var_attr = UA_VariableAttributes_default; + var_attr.displayName.text = UA_STRING(subIdStr); + var_attr.dataType = UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE].typeId; + UA_NodeId refId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); + UA_QualifiedName browseName = UA_QUALIFIEDNAME(0, subIdStr); + UA_NodeId typeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE); + /* Assign a random free NodeId */ + UA_StatusCode res = addNode(server, UA_NODECLASS_VARIABLE, UA_NODEID_NUMERIC(1, 0), + bpr.targets[0].targetId.nodeId, + refId, browseName, typeId, &var_attr, + &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], NULL, + &sub->ns0Id); + UA_CHECK_STATUS(res, goto cleanup); + + /* Add a second reference from the overall SubscriptionDiagnosticsArray variable */ + const UA_NodeId subDiagArray = + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY); + res = addRefWithSession(server, session, &subDiagArray, &refId, &sub->ns0Id, true); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Get all children (including the variable itself) and set the contenxt + callback */ + res = referenceTypeIndices(server, &hasComponent, &refTypes, false); + if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) { + res = browseRecursive(server, 1, &sub->ns0Id, + UA_BROWSEDIRECTION_FORWARD, &refTypes, + UA_NODECLASS_VARIABLE, true, &childrenSize, &children); + } + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Add the callback to all variables */ + UA_DataSource subDiagSource = {readSubscriptionDiagnostics, NULL}; + for(size_t i = 0; i < childrenSize; i++) { + setVariableNode_dataSource(server, children[i].nodeId, subDiagSource); + setNodeContext(server, children[i].nodeId, sub); + } + + UA_Array_delete(children, childrenSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + + cleanup: + UA_BrowsePathResult_clear(&bpr); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "Creating the subscription diagnostics object failed " + "with StatusCode %s", UA_StatusCode_name(res)); + } +} + +/***********************/ +/* Session Diagnostics */ +/***********************/ + +static UA_StatusCode +setSessionSubscriptionDiagnostics(UA_Server *server, UA_Session *session, + UA_DataValue *value) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Get the current session */ + size_t sdSize = session->subscriptionsSize; + + /* Allocate the output array */ + UA_SubscriptionDiagnosticsDataType *sd = (UA_SubscriptionDiagnosticsDataType*) + UA_Array_new(sdSize, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); + if(!sd) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Collect the statistics */ + size_t i = 0; + UA_Subscription *sub; + TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { + fillSubscriptionDiagnostics(sub, &sd[i]); + i++; + } + + /* Set the output */ + value->hasValue = true; + UA_Variant_setArray(&value->value, sd, sdSize, + &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +static void +setSessionDiagnostics(UA_Session *session, UA_SessionDiagnosticsDataType *sd) { + UA_SessionDiagnosticsDataType_copy(&session->diagnostics, sd); + UA_NodeId_copy(&session->sessionId, &sd->sessionId); + UA_String_copy(&session->sessionName, &sd->sessionName); + UA_ApplicationDescription_copy(&session->clientDescription, + &sd->clientDescription); + sd->maxResponseMessageSize = session->maxResponseMessageSize; +#ifdef UA_ENABLE_SUBSCRIPTIONS + sd->currentPublishRequestsInQueue = (UA_UInt32)session->responseQueueSize; +#endif + sd->actualSessionTimeout = session->timeout; + + /* Set LocaleIds */ + UA_StatusCode res = + UA_Array_copy(session->localeIds, session->localeIdsSize, + (void **)&sd->localeIds, &UA_TYPES[UA_TYPES_STRING]); + if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) + sd->localeIdsSize = session->localeIdsSize; + + /* Set Subscription diagnostics */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + sd->currentSubscriptionsCount = (UA_UInt32)session->subscriptionsSize; + + UA_Subscription *sub; + TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { + sd->currentMonitoredItemsCount += (UA_UInt32)sub->monitoredItemsSize; + } +#endif +} + +UA_StatusCode +readSessionDiagnosticsArray(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + /* Allocate the output array */ + UA_SessionDiagnosticsDataType *sd = (UA_SessionDiagnosticsDataType*) + UA_Array_new(server->sessionCount, + &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); + if(!sd) + return UA_STATUSCODE_BADOUTOFMEMORY; + + lockServer(server); + + /* Collect the statistics */ + size_t i = 0; + session_list_entry *session; + LIST_FOREACH(session, &server->sessions, pointers) { + setSessionDiagnostics(&session->session, &sd[i]); + i++; + } + + /* Set the output */ + value->hasValue = true; + UA_Variant_setArray(&value->value, sd, server->sessionCount, + &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +static void +setSessionSecurityDiagnostics(UA_Session *session, + UA_SessionSecurityDiagnosticsDataType *sd) { + UA_SessionSecurityDiagnosticsDataType_copy(&session->securityDiagnostics, sd); + UA_NodeId_copy(&session->sessionId, &sd->sessionId); + UA_String_copy(&session->clientUserIdOfSession, &sd->clientUserIdOfSession); + UA_SecureChannel *channel = session->header.channel; + if(channel) { + UA_ByteString_copy(&channel->remoteCertificate, &sd->clientCertificate); + UA_String_copy(&channel->securityPolicy->policyUri, &sd->securityPolicyUri); + sd->securityMode = channel->securityMode; + sd->encoding = UA_STRING_ALLOC("UA Binary"); /* The only one atm */ + sd->transportProtocol = UA_STRING_ALLOC("opc.tcp"); /* The only one atm */ + } +} + +static UA_StatusCode +readSessionDiagnostics(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + lockServer(server); + + /* Get the Session */ + UA_Session *session = getSessionById(server, sessionId); + if(!session) { + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Read the BrowseName */ + UA_QualifiedName bn; + UA_StatusCode res = readWithReadValue(server, nodeId, UA_ATTRIBUTEID_BROWSENAME, &bn); + if(res != UA_STATUSCODE_GOOD) { + unlockServer(server); + return res; + } + + union { + UA_SessionDiagnosticsDataType sddt; + UA_SessionSecurityDiagnosticsDataType ssddt; + } data; + void *content; + UA_Boolean isArray = false; + const UA_DataType *type = NULL; + UA_Boolean securityDiagnostics = false; + + char memberName[128]; + size_t memberOffset; + UA_Boolean found; + +#ifdef UA_ENABLE_SUBSCRIPTIONS + if(equalBrowseName(&bn.name, "SubscriptionDiagnosticsArray")) { + res = setSessionSubscriptionDiagnostics(server, session, value); + goto cleanup; + } +#endif + + if(equalBrowseName(&bn.name, "SessionDiagnostics")) { + setSessionDiagnostics(session, &data.sddt); + content = &data.sddt; + type = &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]; + } else if(equalBrowseName(&bn.name, "SessionSecurityDiagnostics")) { + setSessionSecurityDiagnostics(session, &data.ssddt); + securityDiagnostics = true; + content = &data.ssddt; + type = &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]; + } else { + /* Try to find the member in SessionDiagnosticsDataType and + * SessionSecurityDiagnosticsDataType */ + memcpy(memberName, bn.name.data, bn.name.length); + memberName[bn.name.length] = 0; + found = UA_DataType_getStructMember(&UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE], + memberName, &memberOffset, &type, &isArray); + if(found) { + setSessionDiagnostics(session, &data.sddt); + content = (void*)(((uintptr_t)&data.sddt) + memberOffset); + } else { + const UA_DataType *dt = &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]; + found = UA_DataType_getStructMember(dt, memberName, &memberOffset, + &type, &isArray); + if(!found) { + res = UA_STATUSCODE_BADNOTIMPLEMENTED; + goto cleanup; + } + setSessionSecurityDiagnostics(session, &data.ssddt); + securityDiagnostics = true; + content = (void*)(((uintptr_t)&data.ssddt) + memberOffset); + } + } + + if(!isArray) { + res = UA_Variant_setScalarCopy(&value->value, content, type); + } else { + size_t len = *(size_t*)content; + content = *(void**)((uintptr_t)content + sizeof(size_t)); + res = UA_Variant_setArrayCopy(&value->value, content, len, type); + } + if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) + value->hasValue = true; + + if(securityDiagnostics) + UA_SessionSecurityDiagnosticsDataType_clear(&data.ssddt); + else + UA_SessionDiagnosticsDataType_clear(&data.sddt); + + cleanup: + UA_QualifiedName_clear(&bn); + unlockServer(server); + return res; +} + +UA_StatusCode +readSessionSecurityDiagnostics(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + /* Allocate the output array */ + UA_SessionSecurityDiagnosticsDataType *sd = (UA_SessionSecurityDiagnosticsDataType*) + UA_Array_new(server->sessionCount, + &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); + if(!sd) + return UA_STATUSCODE_BADOUTOFMEMORY; + + lockServer(server); + + /* Collect the statistics */ + size_t i = 0; + session_list_entry *session; + LIST_FOREACH(session, &server->sessions, pointers) { + setSessionSecurityDiagnostics(&session->session, &sd[i]); + i++; + } + + /* Set the output */ + value->hasValue = true; + UA_Variant_setArray(&value->value, sd, server->sessionCount, + &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); + + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +void +createSessionObject(UA_Server *server, UA_Session *session) { + UA_ExpandedNodeId *children = NULL; + size_t childrenSize = 0; + UA_ReferenceTypeSet refTypes; + UA_NodeId hasComponent = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); + + /* Create an object for the session. Instantiates all the mandatory children. */ + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName.text = session->sessionName; + UA_NodeId parentId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY); + UA_NodeId refId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); + UA_QualifiedName browseName = UA_QUALIFIEDNAME(0, ""); + browseName.name = session->sessionName; /* shallow copy */ + UA_NodeId typeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE); + UA_StatusCode res = addNode(server, UA_NODECLASS_OBJECT, session->sessionId, + parentId, refId, browseName, typeId, &object_attr, + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], NULL, NULL); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Recursively browse all children */ + res = referenceTypeIndices(server, &hasComponent, &refTypes, false); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + res = browseRecursive(server, 1, &session->sessionId, + UA_BROWSEDIRECTION_FORWARD, &refTypes, + UA_NODECLASS_VARIABLE, false, &childrenSize, &children); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Add the callback to all variables */ + UA_DataSource sessionDiagSource = {readSessionDiagnostics, NULL}; + for(size_t i = 0; i < childrenSize; i++) { + setVariableNode_dataSource(server, children[i].nodeId, sessionDiagSource); + } + + cleanup: + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "Creating the session diagnostics object failed " + "with StatusCode %s", UA_StatusCode_name(res)); + } + UA_Array_delete(children, childrenSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); +} + +/***************************/ +/* Server-Wide Diagnostics */ +/***************************/ + +UA_StatusCode +readDiagnostics(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + if(range) { + value->hasStatus = true; + value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; + return UA_STATUSCODE_GOOD; + } + + if(sourceTimestamp) { + value->hasSourceTimestamp = true; + value->sourceTimestamp = UA_DateTime_now(); + } + + UA_assert(nodeId->identifierType == UA_NODEIDTYPE_NUMERIC); + + void *data = NULL; + const UA_DataType *type = &UA_TYPES[UA_TYPES_UINT32]; /* Default */ + + lockServer(server); + + switch(nodeId->identifier.numeric) { + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY: + server->serverDiagnosticsSummary.currentSessionCount = + server->activeSessionCount; + data = &server->serverDiagnosticsSummary; + type = &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT: + data = &server->serverDiagnosticsSummary.serverViewCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT: + data = &server->activeSessionCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT: + data = &server->serverDiagnosticsSummary.cumulatedSessionCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT: + data = &server->serverDiagnosticsSummary.securityRejectedSessionCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT: + data = &server->serverDiagnosticsSummary.rejectedSessionCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT: + data = &server->serverDiagnosticsSummary.sessionTimeoutCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT: + data = &server->serverDiagnosticsSummary.sessionAbortCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT: + data = &server->serverDiagnosticsSummary.currentSubscriptionCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT: + data = &server->serverDiagnosticsSummary.cumulatedSubscriptionCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT: + data = &server->serverDiagnosticsSummary.publishingIntervalCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT: + data = &server->serverDiagnosticsSummary.securityRejectedRequestsCount; + break; + case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT: + data = &server->serverDiagnosticsSummary.rejectedRequestsCount; + break; + default: + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_StatusCode res = UA_Variant_setScalarCopy(&value->value, data, type); + if(res == UA_STATUSCODE_GOOD) + value->hasValue = true; + + unlockServer(server); + return res; +} + +#endif /* UA_ENABLE_DIAGNOSTICS */ + +/**** amalgamated original file "/src/server/ua_server_config.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + + +void +UA_ServerConfig_clean(UA_ServerConfig *config) { + if(!config) + return; + + /* Server Description */ + UA_BuildInfo_clear(&config->buildInfo); + UA_ApplicationDescription_clear(&config->applicationDescription); +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_MdnsDiscoveryConfiguration_clear(&config->mdnsConfig); + UA_String_clear(&config->mdnsInterfaceIP); +# if !defined(UA_HAS_GETIFADDR) + if (config->mdnsIpAddressListSize) { + UA_free(config->mdnsIpAddressList); + } +# endif +#endif + + /* Stop and delete the EventLoop */ + UA_EventLoop *el = config->eventLoop; + if(el && !config->externalEventLoop) { + if(el->state != UA_EVENTLOOPSTATE_FRESH && + el->state != UA_EVENTLOOPSTATE_STOPPED) { + el->stop(el); + while(el->state != UA_EVENTLOOPSTATE_STOPPED) { + el->run(el, 100); + } + } + el->free(el); + config->eventLoop = NULL; + } + + /* Networking */ + UA_Array_delete(config->serverUrls, config->serverUrlsSize, + &UA_TYPES[UA_TYPES_STRING]); + config->serverUrls = NULL; + config->serverUrlsSize = 0; + + /* Security Policies */ + for(size_t i = 0; i < config->securityPoliciesSize; ++i) { + UA_SecurityPolicy *policy = &config->securityPolicies[i]; + policy->clear(policy); + } + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + config->securityPoliciesSize = 0; + + for(size_t i = 0; i < config->endpointsSize; ++i) + UA_EndpointDescription_clear(&config->endpoints[i]); + + UA_free(config->endpoints); + config->endpoints = NULL; + config->endpointsSize = 0; + + /* Nodestore */ + if(config->nodestore.context && config->nodestore.clear) { + config->nodestore.clear(config->nodestore.context); + config->nodestore.context = NULL; + } + + /* Certificate Validation */ + if(config->secureChannelPKI.clear) + config->secureChannelPKI.clear(&config->secureChannelPKI); + if(config->sessionPKI.clear) + config->sessionPKI.clear(&config->sessionPKI); + + /* Access Control */ + if(config->accessControl.clear) + config->accessControl.clear(&config->accessControl); + + /* Historical data */ +#ifdef UA_ENABLE_HISTORIZING + if(config->historyDatabase.clear) + config->historyDatabase.clear(&config->historyDatabase); +#endif + +#ifdef UA_ENABLE_PUBSUB +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(config->pubSubConfig.securityPolicies != NULL) { + for(size_t i = 0; i < config->pubSubConfig.securityPoliciesSize; i++) { + config->pubSubConfig.securityPolicies[i].clear(&config->pubSubConfig.securityPolicies[i]); + } + UA_free(config->pubSubConfig.securityPolicies); + config->pubSubConfig.securityPolicies = NULL; + config->pubSubConfig.securityPoliciesSize = 0; + } +#endif +#endif /* UA_ENABLE_PUBSUB */ + + /* Logger */ + if(config->logging != NULL && config->logging->clear != NULL) + config->logging->clear(config->logging); + config->logging = NULL; + + /* Custom Data Types */ + UA_cleanupDataTypeWithCustom(config->customDataTypes); + config->customDataTypes = NULL; +} + +/**** amalgamated original file "/src/server/ua_server_binary.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2016 (c) Sten Grüner + * Copyright 2014-2015, 2017 (c) Florian Palm + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016 (c) Joakim L. Gilje + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) TorbenD + * Copyright 2017 (c) frax2222 + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2023 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Phuong Nguyen) + */ + + + +#define STARTCHANNELID 1 +#define STARTTOKENID 1 + +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +// store the authentication token and session ID so we can help fuzzing by setting +// these values in the next request automatically +UA_NodeId unsafe_fuzz_authenticationToken = {0, UA_NODEIDTYPE_NUMERIC, {0}}; +#endif + +#ifdef UA_DEBUG_DUMP_PKGS_FILE +void UA_debug_dumpCompleteChunk(UA_Server *const server, UA_Connection *const connection, + UA_ByteString *messageBuffer); +#endif + +/************************************/ +/* Binary Protocol Server Component */ +/************************************/ + +/* Maximum numbers of sockets to listen on */ +#define UA_MAXSERVERCONNECTIONS 16 + +/* SecureChannel Linked List */ +typedef struct channel_entry { + UA_SecureChannel channel; + TAILQ_ENTRY(channel_entry) pointers; +} channel_entry; + +typedef struct { + UA_ConnectionState state; + uintptr_t connectionId; + UA_ConnectionManager *connectionManager; +} UA_ServerConnection; + +/* Reverse connect */ +typedef struct reverse_connect_context { + UA_String hostname; + UA_UInt16 port; + UA_UInt64 handle; + + UA_SecureChannelState state; + UA_Server_ReverseConnectStateCallback stateCallback; + void *callbackContext; + + /* If this is set to true, the reverse connection is removed/freed when the + * connection closes. Otherwise we try to reconnect when the connection + * closes. */ + UA_Boolean destruction; + + UA_ServerConnection currentConnection; + UA_SecureChannel *channel; + LIST_ENTRY(reverse_connect_context) next; +} reverse_connect_context; + +/* Binary Protocol Manager */ +typedef struct { + UA_ServerComponent sc; + UA_Server *server; /* remember the pointer so we don't need an additional + context pointer for connections */ + const UA_Logger *logging; /* shortcut */ + UA_UInt64 houseKeepingCallbackId; + + UA_ServerConnection serverConnections[UA_MAXSERVERCONNECTIONS]; + size_t serverConnectionsSize; + + UA_ConnectionConfig tcpConnectionConfig; /* Extracted from the server config + * parameters */ + + /* SecureChannels */ + TAILQ_HEAD(, channel_entry) channels; + UA_UInt32 lastChannelId; + UA_UInt32 lastTokenId; + + /* Reverse Connections */ + LIST_HEAD(, reverse_connect_context) reverseConnects; + UA_UInt64 reverseConnectsCheckHandle; + UA_UInt64 lastReverseConnectHandle; +} UA_BinaryProtocolManager; + +void setReverseConnectState(UA_Server *server, reverse_connect_context *context, + UA_SecureChannelState newState); +UA_StatusCode attemptReverseConnect(UA_BinaryProtocolManager *bpm, + reverse_connect_context *context); +UA_StatusCode setReverseConnectRetryCallback(UA_BinaryProtocolManager *bpm, + UA_Boolean enabled); + +/********************/ +/* Helper Functions */ +/********************/ + +UA_UInt32 +generateSecureChannelTokenId(UA_Server *server) { + UA_ServerComponent *sc = + getServerComponentByName(server, UA_STRING("binary")); + if(!sc) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Cannot generate a SecureChannel Token Id. " + "No BinaryProtocolManager configured."); + return 0; + } + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; + return bpm->lastTokenId++; +} + +static void +setBinaryProtocolManagerState(UA_Server *server, + UA_BinaryProtocolManager *bpm, + UA_LifecycleState state) { + if(state == bpm->sc.state) + return; + bpm->sc.state = state; + if(bpm->sc.notifyState) + bpm->sc.notifyState(server, &bpm->sc, state); +} + +static void +deleteServerSecureChannel(UA_BinaryProtocolManager *bpm, + UA_SecureChannel *channel) { + UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); + + /* Detach the channel from the server list */ + TAILQ_REMOVE(&bpm->channels, (channel_entry*)channel, pointers); + + /* Update the statistics */ + UA_SecureChannelStatistics *scs = &bpm->server->secureChannelStatistics; + scs->currentChannelCount--; + switch(channel->shutdownReason) { + case UA_SHUTDOWNREASON_CLOSE: + UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel closed"); + break; + case UA_SHUTDOWNREASON_TIMEOUT: + UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel closed due to timeout"); + scs->channelTimeoutCount++; + break; + case UA_SHUTDOWNREASON_PURGE: + UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel was purged"); + scs->channelPurgeCount++; + break; + case UA_SHUTDOWNREASON_REJECT: + case UA_SHUTDOWNREASON_SECURITYREJECT: + UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel was rejected"); + scs->rejectedChannelCount++; + break; + case UA_SHUTDOWNREASON_ABORT: + UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel was aborted"); + scs->channelAbortCount++; + break; + default: + UA_assert(false); + break; + } + + /* Clean up the SecureChannel. This is the only place where + * UA_SecureChannel_clear must be called within the server code-base. */ + UA_SecureChannel_clear(channel); + UA_free(channel); +} + +UA_StatusCode +sendServiceFault(UA_SecureChannel *channel, UA_UInt32 requestId, + UA_UInt32 requestHandle, UA_StatusCode statusCode) { + UA_ServiceFault response; + UA_ServiceFault_init(&response); + UA_ResponseHeader *responseHeader = &response.responseHeader; + responseHeader->requestHandle = requestHandle; + responseHeader->timestamp = UA_DateTime_now(); + responseHeader->serviceResult = statusCode; + + UA_LOG_DEBUG(channel->securityPolicy->logger, UA_LOGCATEGORY_SERVER, + "Sending response for RequestId %u with ServiceResult %s", + (unsigned)requestId, UA_StatusCode_name(statusCode)); + + /* Send error message. Message type is MSG and not ERR, since we are on a + * SecureChannel! */ + return UA_SecureChannel_sendSymmetricMessage(channel, requestId, + UA_MESSAGETYPE_MSG, &response, + &UA_TYPES[UA_TYPES_SERVICEFAULT]); +} + +/* This is not an ERR message, the connection is not closed afterwards */ +static UA_StatusCode +decodeHeaderSendServiceFault(UA_SecureChannel *channel, const UA_ByteString *msg, + size_t offset, const UA_DataType *responseType, + UA_UInt32 requestId, UA_StatusCode error) { + UA_RequestHeader requestHeader; + UA_StatusCode retval = + UA_decodeBinaryInternal(msg, &offset, &requestHeader, + &UA_TYPES[UA_TYPES_REQUESTHEADER], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + retval = sendServiceFault(channel, requestId, requestHeader.requestHandle, error); + UA_RequestHeader_clear(&requestHeader); + return retval; +} + +/* The counterOffset is the offset of the UA_ServiceCounterDataType for the + * service in the UA_ SessionDiagnosticsDataType. */ +#ifdef UA_ENABLE_DIAGNOSTICS +#define UA_SERVICECOUNTER_OFFSET(X) \ + *counterOffset = offsetof(UA_SessionDiagnosticsDataType, X) +#else +#define UA_SERVICECOUNTER_OFFSET(X) +#endif + +static void +getServicePointers(UA_UInt32 requestTypeId, const UA_DataType **requestType, + const UA_DataType **responseType, UA_Service *service, + UA_Boolean *requiresSession, size_t *counterOffset) { + switch(requestTypeId) { + case UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_GetEndpoints; + *requestType = &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]; + *requiresSession = false; + break; + case UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_FindServers; + *requestType = &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]; + *requiresSession = false; + break; +#ifdef UA_ENABLE_DISCOVERY +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + case UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_FindServersOnNetwork; + *requestType = &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]; + *requiresSession = false; + break; +# endif + case UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_RegisterServer; + *requestType = &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]; + *requiresSession = false; + break; + case UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_RegisterServer2; + *requestType = &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]; + *responseType = &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]; + *requiresSession = false; + break; +#endif + case UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_CreateSession; + *requestType = &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]; + *requiresSession = false; + break; + case UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_ActivateSession; + *requestType = &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]; + break; + case UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_CloseSession; + *requestType = &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]; + break; + case UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_Cancel; + *requestType = &UA_TYPES[UA_TYPES_CANCELREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_CANCELRESPONSE]; + break; + case UA_NS0ID_READREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_Read; + *requestType = &UA_TYPES[UA_TYPES_READREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_READRESPONSE]; + UA_SERVICECOUNTER_OFFSET(readCount); + break; + case UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_Write; + *requestType = &UA_TYPES[UA_TYPES_WRITEREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_WRITERESPONSE]; + UA_SERVICECOUNTER_OFFSET(writeCount); + break; + case UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_Browse; + *requestType = &UA_TYPES[UA_TYPES_BROWSEREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_BROWSERESPONSE]; + UA_SERVICECOUNTER_OFFSET(browseCount); + break; + case UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_BrowseNext; + *requestType = &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]; + UA_SERVICECOUNTER_OFFSET(browseNextCount); + break; + case UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_RegisterNodes; + *requestType = &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]; + UA_SERVICECOUNTER_OFFSET(registerNodesCount); + break; + case UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_UnregisterNodes; + *requestType = &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]; + UA_SERVICECOUNTER_OFFSET(unregisterNodesCount); + break; + case UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_TranslateBrowsePathsToNodeIds; + *requestType = &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]; + UA_SERVICECOUNTER_OFFSET(translateBrowsePathsToNodeIdsCount); + break; + +#ifdef UA_ENABLE_SUBSCRIPTIONS + case UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_CreateSubscription; + *requestType = &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]; + UA_SERVICECOUNTER_OFFSET(createSubscriptionCount); + break; + case UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTBINARY: + *requestType = &UA_TYPES[UA_TYPES_PUBLISHREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]; + UA_SERVICECOUNTER_OFFSET(publishCount); + break; + case UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_Republish; + *requestType = &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]; + UA_SERVICECOUNTER_OFFSET(republishCount); + break; + case UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_ModifySubscription; + *requestType = &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]; + UA_SERVICECOUNTER_OFFSET(modifySubscriptionCount); + break; + case UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_SetPublishingMode; + *requestType = &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]; + UA_SERVICECOUNTER_OFFSET(setPublishingModeCount); + break; + case UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_DeleteSubscriptions; + *requestType = &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]; + UA_SERVICECOUNTER_OFFSET(deleteSubscriptionsCount); + break; + case UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_TransferSubscriptions; + *requestType = &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]; + UA_SERVICECOUNTER_OFFSET(transferSubscriptionsCount); + break; + case UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_CreateMonitoredItems; + *requestType = &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]; + UA_SERVICECOUNTER_OFFSET(createMonitoredItemsCount); + break; + case UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_DeleteMonitoredItems; + *requestType = &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]; + UA_SERVICECOUNTER_OFFSET(deleteMonitoredItemsCount); + break; + case UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_ModifyMonitoredItems; + *requestType = &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]; + UA_SERVICECOUNTER_OFFSET(modifyMonitoredItemsCount); + break; + case UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_SetMonitoringMode; + *requestType = &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]; + UA_SERVICECOUNTER_OFFSET(setMonitoringModeCount); + break; + case UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_SetTriggering; + *requestType = &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]; + UA_SERVICECOUNTER_OFFSET(setTriggeringCount); + break; +#endif +#ifdef UA_ENABLE_HISTORIZING + /* For History read */ + case UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_HistoryRead; + *requestType = &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]; + UA_SERVICECOUNTER_OFFSET(historyReadCount); + break; + /* For History update */ + case UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_HistoryUpdate; + *requestType = &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]; + UA_SERVICECOUNTER_OFFSET(historyUpdateCount); + break; +#endif + +#ifdef UA_ENABLE_METHODCALLS + case UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_Call; + *requestType = &UA_TYPES[UA_TYPES_CALLREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_CALLRESPONSE]; + UA_SERVICECOUNTER_OFFSET(callCount); + break; +#endif + +#ifdef UA_ENABLE_NODEMANAGEMENT + case UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_AddNodes; + *requestType = &UA_TYPES[UA_TYPES_ADDNODESREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]; + UA_SERVICECOUNTER_OFFSET(addNodesCount); + break; + case UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_AddReferences; + *requestType = &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]; + UA_SERVICECOUNTER_OFFSET(addReferencesCount); + break; + case UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_DeleteNodes; + *requestType = &UA_TYPES[UA_TYPES_DELETENODESREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]; + UA_SERVICECOUNTER_OFFSET(deleteNodesCount); + break; + case UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTBINARY: + *service = (UA_Service)Service_DeleteReferences; + *requestType = &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]; + *responseType = &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]; + UA_SERVICECOUNTER_OFFSET(deleteReferencesCount); + break; +#endif + + default: + break; + } +} + +/*************************/ +/* Process Message Types */ +/*************************/ + +/* HEL -> Open up the connection */ +static UA_StatusCode +processHEL(UA_Server *server, UA_SecureChannel *channel, const UA_ByteString *msg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_ConnectionManager *cm = channel->connectionManager; + if(!cm || (channel->state != UA_SECURECHANNELSTATE_CONNECTED && + channel->state != UA_SECURECHANNELSTATE_RHE_SENT)) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t offset = 0; /* Go to the beginning of the TcpHelloMessage */ + UA_TcpHelloMessage helloMessage; + UA_StatusCode retval = + UA_decodeBinaryInternal(msg, &offset, &helloMessage, + &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Currently not checked */ + UA_String_copy(&helloMessage.endpointUrl, &channel->endpointUrl); + UA_String_clear(&helloMessage.endpointUrl); + + /* Parameterize the connection. The TcpHelloMessage casts to a + * TcpAcknowledgeMessage. */ + retval = UA_SecureChannel_processHELACK(channel, + (UA_TcpAcknowledgeMessage*)&helloMessage); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "Error during the HEL/ACK handshake"); + return retval; + } + + /* Get the send buffer from the network layer */ + UA_ByteString ack_msg; + UA_ByteString_init(&ack_msg); + retval = cm->allocNetworkBuffer(cm, channel->connectionId, + &ack_msg, channel->config.sendBufferSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Build acknowledge response */ + UA_TcpAcknowledgeMessage ackMessage; + ackMessage.protocolVersion = 0; + ackMessage.receiveBufferSize = channel->config.recvBufferSize; + ackMessage.sendBufferSize = channel->config.sendBufferSize; + ackMessage.maxMessageSize = channel->config.localMaxMessageSize; + ackMessage.maxChunkCount = channel->config.localMaxChunkCount; + + UA_TcpMessageHeader ackHeader; + ackHeader.messageTypeAndChunkType = UA_MESSAGETYPE_ACK + UA_CHUNKTYPE_FINAL; + ackHeader.messageSize = 8 + 20; /* ackHeader + ackMessage */ + + /* Encode and send the response */ + UA_Byte *bufPos = ack_msg.data; + const UA_Byte *bufEnd = &ack_msg.data[ack_msg.length]; + retval |= UA_encodeBinaryInternal(&ackHeader, + &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], + &bufPos, &bufEnd, NULL, NULL); + retval |= UA_encodeBinaryInternal(&ackMessage, + &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE], + &bufPos, &bufEnd, NULL, NULL); + if(retval != UA_STATUSCODE_GOOD) { + cm->freeNetworkBuffer(cm, channel->connectionId, &ack_msg); + return retval; + } + + ack_msg.length = ackHeader.messageSize; + retval = cm->sendWithConnection(cm, channel->connectionId, &UA_KEYVALUEMAP_NULL, &ack_msg); + if(retval == UA_STATUSCODE_GOOD) + channel->state = UA_SECURECHANNELSTATE_ACK_SENT; + return retval; +} + +/* OPN -> Open up/renew the securechannel */ +static UA_StatusCode +processOPN(UA_Server *server, UA_SecureChannel *channel, + const UA_UInt32 requestId, const UA_ByteString *msg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(channel->state != UA_SECURECHANNELSTATE_ACK_SENT && + channel->state != UA_SECURECHANNELSTATE_OPEN) + return UA_STATUSCODE_BADINTERNALERROR; + /* Decode the request */ + UA_NodeId requestType; + UA_OpenSecureChannelRequest openSecureChannelRequest; + size_t offset = 0; + UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &requestType); + if(retval != UA_STATUSCODE_GOOD) { + UA_NodeId_clear(&requestType); + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Could not decode the NodeId. " + "Closing the SecureChannel."); + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); + return retval; + } + retval = UA_decodeBinaryInternal(msg, &offset, &openSecureChannelRequest, + &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST], NULL); + + /* Error occurred */ + const UA_NodeId *opnRequestId = + &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST].binaryEncodingId; + if(retval != UA_STATUSCODE_GOOD || !UA_NodeId_equal(&requestType, opnRequestId)) { + UA_NodeId_clear(&requestType); + UA_OpenSecureChannelRequest_clear(&openSecureChannelRequest); + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Could not decode the OPN message. " + "Closing the SecureChannel."); + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); + return retval; + } + UA_NodeId_clear(&requestType); + + /* Call the service */ + UA_OpenSecureChannelResponse openScResponse; + UA_OpenSecureChannelResponse_init(&openScResponse); + Service_OpenSecureChannel(server, channel, &openSecureChannelRequest, &openScResponse); + UA_OpenSecureChannelRequest_clear(&openSecureChannelRequest); + if(openScResponse.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Could not open a SecureChannel. " + "Closing the connection."); + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); + return openScResponse.responseHeader.serviceResult; + } + + /* Send the response */ + retval = UA_SecureChannel_sendAsymmetricOPNMessage(channel, requestId, &openScResponse, + &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); + UA_OpenSecureChannelResponse_clear(&openScResponse); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Could not send the OPN answer with error code %s", + UA_StatusCode_name(retval)); + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); + } + + return retval; +} + +/* The responseHeader must have the requestHandle already set */ +UA_StatusCode +sendResponse(UA_Server *server, UA_Session *session, UA_SecureChannel *channel, + UA_UInt32 requestId, UA_Response *response, const UA_DataType *responseType) { + if(!channel) + return UA_STATUSCODE_BADINTERNALERROR; + + /* If the overall service call failed, answer with a ServiceFault */ + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) + return sendServiceFault(channel, requestId, response->responseHeader.requestHandle, + response->responseHeader.serviceResult); + + /* Prepare the ResponseHeader */ + response->responseHeader.timestamp = UA_DateTime_now(); + + if(session) { +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Sending response for RequestId %u of type %s", + (unsigned)requestId, responseType->typeName); +#else + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Sending reponse for RequestId %u of type %" PRIu32, + (unsigned)requestId, responseType->binaryEncodingId.identifier.numeric); +#endif + } else { +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, + "Sending response for RequestId %u of type %s", + (unsigned)requestId, responseType->typeName); +#else + UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, + "Sending reponse for RequestId %u of type %" PRIu32, + (unsigned)requestId, responseType->binaryEncodingId.identifier.numeric); +#endif + } + + /* Start the message context */ + UA_MessageContext mc; + UA_StatusCode retval = UA_MessageContext_begin(&mc, channel, requestId, UA_MESSAGETYPE_MSG); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Assert's required for clang-analyzer */ + UA_assert(mc.buf_pos == &mc.messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]); + UA_assert(mc.buf_end <= &mc.messageBuffer.data[mc.messageBuffer.length]); + + /* Encode the response type */ + retval = UA_MessageContext_encode(&mc, &responseType->binaryEncodingId, + &UA_TYPES[UA_TYPES_NODEID]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Encode the response */ + retval = UA_MessageContext_encode(&mc, response, responseType); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Finish / send out */ + return UA_MessageContext_finish(&mc); +} + +/* A Session is "bound" to a SecureChannel if it was created by the + * SecureChannel or if it was activated on it. A Session can only be bound to + * one SecureChannel. A Session can only be closed from the SecureChannel to + * which it is bound. + * + * Returns Good if the AuthenticationToken exists nowhere (for CTT). */ +UA_StatusCode +getBoundSession(UA_Server *server, const UA_SecureChannel *channel, + const UA_NodeId *token, UA_Session **session) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_DateTime now = UA_DateTime_nowMonotonic(); + UA_SessionHeader *sh; + SLIST_FOREACH(sh, &channel->sessions, next) { + if(!UA_NodeId_equal(token, &sh->authenticationToken)) + continue; + UA_Session *current = (UA_Session*)sh; + /* Has the session timed out? */ + if(current->validTill < now) { + server->serverDiagnosticsSummary.rejectedSessionCount++; + return UA_STATUSCODE_BADSESSIONCLOSED; + } + *session = current; + return UA_STATUSCODE_GOOD; + } + + server->serverDiagnosticsSummary.rejectedSessionCount++; + + /* Session exists on another SecureChannel. The CTT expect this error. */ + UA_Session *tmpSession = getSessionByToken(server, token); + if(tmpSession) { +#ifdef UA_ENABLE_DIAGNOSTICS + tmpSession->diagnostics.unauthorizedRequestCount++; +#endif + return UA_STATUSCODE_BADSECURECHANNELIDINVALID; + } + + return UA_STATUSCODE_GOOD; +} + +static const UA_String securityPolicyNone = + UA_STRING_STATIC("http://opcfoundation.org/UA/SecurityPolicy#None"); + +/* Returns a status of the SecureChannel. The detailed service status (usually + * part of the response) is set in the serviceResult argument. */ +static UA_StatusCode +processMSGDecoded(UA_Server *server, UA_SecureChannel *channel, UA_UInt32 requestId, + UA_Service service, const UA_Request *request, + const UA_DataType *requestType, UA_Response *response, + const UA_DataType *responseType, UA_Boolean sessionRequired, + size_t counterOffset) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_Session anonymousSession; + UA_Session *session = NULL; + UA_StatusCode channelRes = UA_STATUSCODE_GOOD; + UA_ResponseHeader *rh = &response->responseHeader; + + /* If it is an unencrypted (#None) channel, only allow the discovery services */ + if(server->config.securityPolicyNoneDiscoveryOnly && + UA_String_equal(&channel->securityPolicy->policyUri, &securityPolicyNone ) && + requestType != &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST] && + requestType != &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST] +#if defined(UA_ENABLE_DISCOVERY) && defined(UA_ENABLE_DISCOVERY_MULTICAST) + && requestType != &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST] +#endif + ) { + rh->serviceResult = UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + goto send_response; + } + + /* Session lifecycle services. */ + if(requestType == &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST] || + requestType == &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST] || + requestType == &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]) { + ((UA_ChannelService)service)(server, channel, request, response); +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + /* Store the authentication token so we can help fuzzing by setting + * these values in the next request automatically */ + if(requestType == &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]) { + UA_CreateSessionResponse *res = &response->createSessionResponse; + UA_NodeId_copy(&res->authenticationToken, &unsafe_fuzz_authenticationToken); + } +#endif + goto send_response; + } + + /* Get the Session bound to the SecureChannel (not necessarily activated) */ + if(!UA_NodeId_isNull(&request->requestHeader.authenticationToken)) { + rh->serviceResult = getBoundSession(server, channel, + &request->requestHeader.authenticationToken, + &session); + if(rh->serviceResult != UA_STATUSCODE_GOOD) + goto send_response; + } + + /* Set an anonymous, inactive session for services that need no session */ + if(!session) { + if(sessionRequired) { +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "%s refused without a valid session", + requestType->typeName); +#else + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Service %" PRIu32 " refused without a valid session", + requestType->binaryEncodingId.identifier.numeric); +#endif + rh->serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; + goto send_response; + } + + UA_Session_init(&anonymousSession); + anonymousSession.sessionId = UA_NODEID_GUID(0, UA_GUID_NULL); + anonymousSession.header.channel = channel; + session = &anonymousSession; + } + + UA_assert(session != NULL); + + /* Trying to use a non-activated session? */ + if(sessionRequired && !session->activated) { +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_WARNING_SESSION(server->config.logging, session, + "%s refused on a non-activated session", + requestType->typeName); +#else + UA_LOG_WARNING_SESSION(server->config.logging, session, + "Service %" PRIu32 " refused on a non-activated session", + requestType->binaryEncodingId.identifier.numeric); +#endif + if(session != &anonymousSession) { + UA_Server_removeSessionByToken(server, &session->header.authenticationToken, + UA_SHUTDOWNREASON_ABORT); + } + rh->serviceResult = UA_STATUSCODE_BADSESSIONNOTACTIVATED; + goto send_response; + } + + /* Update the session lifetime */ + UA_Session_updateLifetime(session); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* The publish request is not answered immediately */ + if(requestType == &UA_TYPES[UA_TYPES_PUBLISHREQUEST]) { + rh->serviceResult = + Service_Publish(server, session, &request->publishRequest, requestId); + + /* Don't send a response */ + goto update_statistics; + } +#endif + +#if UA_MULTITHREADING >= 100 && defined(UA_ENABLE_METHODCALLS) + /* The call request might not be answered immediately */ + if(requestType == &UA_TYPES[UA_TYPES_CALLREQUEST]) { + UA_Boolean finished = true; + Service_CallAsync(server, session, requestId, &request->callRequest, + &response->callResponse, &finished); + + /* Async method calls remain. Don't send a response now. In case we have + * an async call, count as a "good" request for the diagnostics + * statistic. */ + if(UA_LIKELY(finished)) + goto send_response; + goto update_statistics; + } +#endif + + /* Execute the synchronous service call */ + service(server, session, request, response); + + /* Upon success, send the response. Otherwise a ServiceFault. */ + send_response: + channelRes = sendResponse(server, session, channel, + requestId, response, responseType); + + /* Update the diagnostics statistics */ + update_statistics: +#ifdef UA_ENABLE_DIAGNOSTICS + if(session && session != &server->adminSession) { + session->diagnostics.totalRequestCount.totalCount++; + if(rh->serviceResult != UA_STATUSCODE_GOOD) + session->diagnostics.totalRequestCount.errorCount++; + if(counterOffset != 0) { + UA_ServiceCounterDataType *serviceCounter = (UA_ServiceCounterDataType*) + (((uintptr_t)&session->diagnostics) + counterOffset); + serviceCounter->totalCount++; + if(rh->serviceResult != UA_STATUSCODE_GOOD) + serviceCounter->errorCount++; + } + } +#endif + + return channelRes; +} + +static UA_StatusCode +processMSG(UA_Server *server, UA_SecureChannel *channel, + UA_UInt32 requestId, const UA_ByteString *msg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(channel->state != UA_SECURECHANNELSTATE_OPEN) + return UA_STATUSCODE_BADINTERNALERROR; + /* Decode the nodeid */ + size_t offset = 0; + UA_NodeId requestTypeId; + UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &requestTypeId); + if(retval != UA_STATUSCODE_GOOD) + return retval; + if(requestTypeId.namespaceIndex != 0 || + requestTypeId.identifierType != UA_NODEIDTYPE_NUMERIC) + UA_NodeId_clear(&requestTypeId); /* leads to badserviceunsupported */ + + size_t requestPos = offset; /* Store the offset (for sendServiceFault) */ + + /* Get the service pointers */ + UA_Service service = NULL; + UA_Boolean sessionRequired = true; + const UA_DataType *requestType = NULL; + const UA_DataType *responseType = NULL; + size_t counterOffset = 0; + getServicePointers(requestTypeId.identifier.numeric, &requestType, + &responseType, &service, &sessionRequired, &counterOffset); + if(!requestType) { + if(requestTypeId.identifier.numeric == + UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY) { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "Client requested a subscription, " + "but those are not enabled in the build"); + } else { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "Unknown request with type identifier %" PRIi32, + requestTypeId.identifier.numeric); + } + return decodeHeaderSendServiceFault(channel, msg, requestPos, + &UA_TYPES[UA_TYPES_SERVICEFAULT], + requestId, UA_STATUSCODE_BADSERVICEUNSUPPORTED); + } + UA_assert(responseType); + + /* Decode the request */ + UA_Request request; + retval = UA_decodeBinaryInternal(msg, &offset, &request, + requestType, server->config.customDataTypes); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, + "Could not decode the request with StatusCode %s", + UA_StatusCode_name(retval)); + return decodeHeaderSendServiceFault(channel, msg, requestPos, + responseType, requestId, retval); + } + + /* Check timestamp in the request header */ + UA_RequestHeader *requestHeader = &request.requestHeader; + if(requestHeader->timestamp == 0 && + server->config.verifyRequestTimestamp <= UA_RULEHANDLING_WARN) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "The server sends no timestamp in the request header. " + "See the 'verifyRequestTimestamp' setting."); + if(server->config.verifyRequestTimestamp <= UA_RULEHANDLING_ABORT) { + retval = sendServiceFault(channel, requestId, requestHeader->requestHandle, + UA_STATUSCODE_BADINVALIDTIMESTAMP); + UA_clear(&request, requestType); + return retval; + } + } + +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + /* Set the authenticationToken from the create session request to help + * fuzzing cover more lines */ + if(!UA_NodeId_isNull(&unsafe_fuzz_authenticationToken) && + !UA_NodeId_isNull(&requestHeader->authenticationToken)) { + UA_NodeId_clear(&requestHeader->authenticationToken); + UA_NodeId_copy(&unsafe_fuzz_authenticationToken, &requestHeader->authenticationToken); + } +#endif + + /* Prepare the respone and process the request */ + UA_Response response; + UA_init(&response, responseType); + response.responseHeader.requestHandle = requestHeader->requestHandle; + retval = processMSGDecoded(server, channel, requestId, service, &request, requestType, + &response, responseType, sessionRequired, counterOffset); + + /* Clean up */ + UA_clear(&request, requestType); + UA_clear(&response, responseType); + return retval; +} + +/* Takes decoded messages starting at the nodeid of the content type. */ +static UA_StatusCode +processSecureChannelMessage(UA_Server *server, UA_SecureChannel *channel, + UA_MessageType messagetype, UA_UInt32 requestId, + UA_ByteString *message) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + switch(messagetype) { + case UA_MESSAGETYPE_HEL: + UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process a HEL message"); + retval = processHEL(server, channel, message); + break; + case UA_MESSAGETYPE_OPN: + UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process an OPN message"); + retval = processOPN(server, channel, requestId, message); + break; + case UA_MESSAGETYPE_MSG: + UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process a MSG"); + retval = processMSG(server, channel, requestId, message); + break; + case UA_MESSAGETYPE_CLO: + UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process a CLO"); + Service_CloseSecureChannel(server, channel); /* Regular close */ + break; + default: + UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Invalid message type"); + retval = UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + break; + } + if(retval != UA_STATUSCODE_GOOD) { + if(!UA_SecureChannel_isConnected(channel)) { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "Processing the message failed. Channel already closed " + "with StatusCode %s. ", UA_StatusCode_name(retval)); + return retval; + } + + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "Processing the message failed with StatusCode %s. " + "Closing the channel.", UA_StatusCode_name(retval)); + UA_TcpErrorMessage errMsg; + UA_TcpErrorMessage_init(&errMsg); + errMsg.error = retval; + UA_SecureChannel_sendError(channel, &errMsg); + UA_ShutdownReason reason; + switch(retval) { + case UA_STATUSCODE_BADSECURITYMODEREJECTED: + case UA_STATUSCODE_BADSECURITYCHECKSFAILED: + case UA_STATUSCODE_BADSECURECHANNELIDINVALID: + case UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN: + case UA_STATUSCODE_BADSECURITYPOLICYREJECTED: + case UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED: + reason = UA_SHUTDOWNREASON_SECURITYREJECT; + break; + default: + reason = UA_SHUTDOWNREASON_CLOSE; + break; + } + UA_SecureChannel_shutdown(channel, reason); + } + + return retval; +} + +/* remove the first channel that has no session attached */ +static UA_Boolean +purgeFirstChannelWithoutSession(UA_BinaryProtocolManager *bpm) { + channel_entry *entry; + TAILQ_FOREACH(entry, &bpm->channels, pointers) { + if(SLIST_FIRST(&entry->channel.sessions)) + continue; + UA_LOG_INFO_CHANNEL(bpm->logging, &entry->channel, + "Channel was purged since maxSecureChannels was " + "reached and channel had no session attached"); + UA_SecureChannel_shutdown(&entry->channel, UA_SHUTDOWNREASON_PURGE); + return true; + } + return false; +} + +static UA_StatusCode +configServerSecureChannel(void *application, UA_SecureChannel *channel, + const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) { + if(channel->securityPolicy) + return UA_STATUSCODE_GOOD; + + /* Iterate over available endpoints and choose the correct one */ + UA_Server *server = (UA_Server *)application; + UA_SecurityPolicy *securityPolicy = NULL; + for(size_t i = 0; i < server->config.securityPoliciesSize; ++i) { + UA_SecurityPolicy *policy = &server->config.securityPolicies[i]; + if(!UA_ByteString_equal(&asymHeader->securityPolicyUri, &policy->policyUri)) + continue; + + UA_StatusCode res = policy->asymmetricModule. + compareCertificateThumbprint(policy, &asymHeader->receiverCertificateThumbprint); + if(res != UA_STATUSCODE_GOOD) + continue; + + /* We found the correct policy (except for security mode). The endpoint + * needs to be selected by the client / server to match the security + * mode in the endpoint for the session. */ + securityPolicy = policy; + break; + } + + if(!securityPolicy) + return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + + /* If the sender provides a chain of certificates then we shall extract the + * ApplicationInstanceCertificate. and ignore the extra bytes. See also: OPC + * UA Part 6, V1.04, 6.7.2.3 Security Header, Table 42 - Asymmetric + * algorithm Security header */ + UA_ByteString appInstCert = getLeafCertificate(asymHeader->senderCertificate); + + /* Create the channel context and parse the sender (remote) certificate used + * for the secureChannel. */ + return UA_SecureChannel_setSecurityPolicy(channel, securityPolicy, &appInstCert); +} + +static UA_StatusCode +createServerSecureChannel(UA_BinaryProtocolManager *bpm, UA_ConnectionManager *cm, + uintptr_t connectionId, UA_SecureChannel **outChannel) { + UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); + + UA_Server *server = bpm->server; + UA_ServerConfig *config = &server->config; + + /* Check if we have space for another SC, otherwise try to find an SC + * without a session and purge it */ + UA_SecureChannelStatistics *scs = &server->secureChannelStatistics; + if(scs->currentChannelCount >= config->maxSecureChannels && + !purgeFirstChannelWithoutSession(bpm)) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Allocate memory for the SecureChannel */ + channel_entry *entry = (channel_entry *)UA_calloc(1, sizeof(channel_entry)); + if(!entry) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Set up the initial connection config */ + UA_ConnectionConfig connConfig; + connConfig.protocolVersion = 0; + connConfig.recvBufferSize = config->tcpBufSize; + connConfig.sendBufferSize = config->tcpBufSize; + connConfig.localMaxMessageSize = config->tcpMaxMsgSize; + connConfig.remoteMaxMessageSize = config->tcpMaxMsgSize; + connConfig.localMaxChunkCount = config->tcpMaxChunks; + connConfig.remoteMaxChunkCount = config->tcpMaxChunks; + + if(connConfig.recvBufferSize == 0) + connConfig.recvBufferSize = 1 << 16; /* 64kB */ + if(connConfig.sendBufferSize == 0) + connConfig.sendBufferSize = 1 << 16; /* 64kB */ + + /* Set up the new SecureChannel */ + UA_SecureChannel_init(&entry->channel); + entry->channel.config = connConfig; + entry->channel.certificateVerification = &config->secureChannelPKI; + entry->channel.processOPNHeader = configServerSecureChannel; + entry->channel.processOPNHeaderApplication = server; + entry->channel.connectionManager = cm; + entry->channel.connectionId = connectionId; + + /* Set the SecureChannel identifier already here. So we get the right + * identifier for logging right away. The rest of the SecurityToken is set + * in UA_SecureChannelManager_open. Set the ChannelId also in the + * alternative security token, we don't touch this value during the token + * rollover. */ + entry->channel.securityToken.channelId = bpm->lastChannelId++; + + /* Set an initial timeout before the negotiation handshake. So the channel + * is caught if the client is unresponsive. + * + * TODO: Make this a configuration option */ + entry->channel.securityToken.createdAt = UA_DateTime_nowMonotonic(); + entry->channel.securityToken.revisedLifetime = 10000; /* 10s should be enough */ + + /* Add to the server's list */ + TAILQ_INSERT_TAIL(&bpm->channels, entry, pointers); + + /* Update the statistics */ + server->secureChannelStatistics.currentChannelCount++; + server->secureChannelStatistics.cumulatedChannelCount++; + + *outChannel = &entry->channel; + return UA_STATUSCODE_GOOD; +} + +static void +addDiscoveryUrl(UA_Server *server, const UA_String hostname, UA_UInt16 port) { + char urlstr[1024]; + mp_snprintf(urlstr, 1024, "opc.tcp://%.*s:%d", + (int)hostname.length, (char*)hostname.data, port); + UA_String discoveryServerUrl = UA_STRING(urlstr); + + /* Check if the ServerUrl is already present in the DiscoveryUrl array. + * Add if not already there. */ + for(size_t i = 0; i < server->config.applicationDescription.discoveryUrlsSize; i++) { + if(UA_String_equal(&discoveryServerUrl, + &server->config.applicationDescription.discoveryUrls[i])) + return; + } + + /* Add to the list of discovery url */ + UA_StatusCode res = + UA_Array_appendCopy((void **)&server->config.applicationDescription.discoveryUrls, + &server->config.applicationDescription.discoveryUrlsSize, + &discoveryServerUrl, &UA_TYPES[UA_TYPES_STRING]); + if(res == UA_STATUSCODE_GOOD) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "New DiscoveryUrl added: %.*s", (int)discoveryServerUrl.length, + (char*)discoveryServerUrl.data); + } else { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Could not register DiscoveryUrl -- out of memory"); + } +} + +/* Callback of a TCP socket (server socket or an active connection) */ +static void +serverNetworkCallbackLocked(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, + const UA_KeyValueMap *params, + UA_ByteString msg) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; + UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); + + /* A server socket that is not yet registered in the server. Register it and + * set the connection context to the pointer in the + * bpm->serverConnections list. New connections on that server socket + * inherit the context (and on the first callback we set the context of + * client-connections to a SecureChannel). */ + if(*connectionContext == NULL) { + /* The socket is closing without being previously registered -> ignore */ + if(state == UA_CONNECTIONSTATE_CLOSED || + state == UA_CONNECTIONSTATE_CLOSING) + return; + + /* Cannot register */ + if(bpm->serverConnectionsSize >= UA_MAXSERVERCONNECTIONS) { + UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, + "Cannot register server socket - too many already open"); + cm->closeConnection(cm, connectionId); + return; + } + + /* Find and use a free connection slot */ + bpm->serverConnectionsSize++; + UA_ServerConnection *sc = bpm->serverConnections; + while(sc->connectionId != 0) + sc++; + sc->state = state; + sc->connectionId = connectionId; + sc->connectionManager = cm; + *connectionContext = (void*)sc; /* Set the context pointer in the connection */ + + /* Add to the DiscoveryUrls */ + const UA_UInt16 *port = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, UA_QUALIFIEDNAME(0, "listen-port"), + &UA_TYPES[UA_TYPES_UINT16]); + const UA_String *address = (const UA_String*) + UA_KeyValueMap_getScalar(params, UA_QUALIFIEDNAME(0, "listen-address"), + &UA_TYPES[UA_TYPES_STRING]); + if(port && address) + addDiscoveryUrl(bpm->server, *address, *port); + return; + } + + UA_ServerConnection *sc = (UA_ServerConnection*)*connectionContext; + UA_SecureChannel *channel = (UA_SecureChannel*)*connectionContext; + UA_Boolean serverSocket = (sc >= bpm->serverConnections && + sc < &bpm->serverConnections[UA_MAXSERVERCONNECTIONS]); + + /* The connection is closing. This is the last callback for it. */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + if(serverSocket) { + /* Server socket is closed */ + sc->state = UA_CONNECTIONSTATE_CLOSED; + sc->connectionId = 0; + bpm->serverConnectionsSize--; + } else { + /* A connection attached to a SecureChannel is closing. This is the + * only place where deleteSecureChannel must be used. */ + deleteServerSecureChannel(bpm, channel); + } + + /* Set BinaryProtocolManager to STOPPED if it is STOPPING and the last + * socket just closed */ + if(bpm->sc.state == UA_LIFECYCLESTATE_STOPPING && + bpm->serverConnectionsSize == 0 && + LIST_EMPTY(&bpm->reverseConnects) && + TAILQ_EMPTY(&bpm->channels)) { + setBinaryProtocolManagerState(bpm->server, bpm, + UA_LIFECYCLESTATE_STOPPED); + } + return; + } + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(serverSocket) { + /* A new connection is opening. This is the only place where + * createSecureChannel is used. */ + retval = createServerSecureChannel(bpm, cm, connectionId, &channel); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, + "TCP %lu\t| Could not accept the connection with status %s", + (unsigned long)sc->connectionId, UA_StatusCode_name(retval)); + *connectionContext = NULL; + cm->closeConnection(cm, connectionId); + return; + } + + /* Set the new channel as the new context for the connection */ + *connectionContext = (void*)channel; + + /* Set the channel state to CONNECTED until the HEL message is received */ + channel->state = UA_SECURECHANNELSTATE_CONNECTED; + + UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel created"); + } + + /* Received a message on a normal connection */ +#ifdef UA_DEBUG_DUMP_PKGS + UA_dump_hex_pkg(message->data, message->length); +#endif +#ifdef UA_DEBUG_DUMP_PKGS_FILE + UA_debug_dumpCompleteChunk(server, channel->connection, message); +#endif + + /* Process all complete messages */ + retval = UA_SecureChannel_loadBuffer(channel, msg); + while(UA_LIKELY(retval == UA_STATUSCODE_GOOD)) { + UA_MessageType messageType; + UA_UInt32 requestId = 0; + UA_ByteString payload = UA_BYTESTRING_NULL; + UA_Boolean copied = false; + retval = UA_SecureChannel_getCompleteMessage(channel, &messageType, &requestId, + &payload, &copied); + if(retval != UA_STATUSCODE_GOOD || payload.length == 0) + break; + retval = processSecureChannelMessage(bpm->server, channel, + messageType, requestId, &payload); + if(copied) + UA_ByteString_clear(&payload); + } + retval |= UA_SecureChannel_persistBuffer(channel); + + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(bpm->logging, channel, + "Processing the message failed with error %s", + UA_StatusCode_name(retval)); + + /* Send an ERR message and close the connection */ + UA_TcpErrorMessage error; + error.error = retval; + error.reason = UA_STRING_NULL; + UA_SecureChannel_sendError(channel, &error); + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_ABORT); + } +} + +void +serverNetworkCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, + const UA_KeyValueMap *params, + UA_ByteString msg) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; + lockServer(bpm->server); + serverNetworkCallbackLocked(cm, connectionId, application, connectionContext, + state, params, msg); + unlockServer(bpm->server); +} + +static UA_StatusCode +createServerConnection(UA_BinaryProtocolManager *bpm, const UA_String *serverUrl) { + UA_Server *server = bpm->server; + UA_ServerConfig *config = &server->config; + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Extract the protocol, hostname and port from the url */ + UA_String hostname = UA_STRING_NULL; + UA_String path = UA_STRING_NULL; + UA_UInt16 port = 4840; /* default */ + UA_StatusCode res = UA_parseEndpointUrl(serverUrl, &hostname, &port, &path); + if(res != UA_STATUSCODE_GOOD) + return res; + + UA_String tcpString = UA_STRING("tcp"); + for(UA_EventSource *es = config->eventLoop->eventSources; + es != NULL; es = es->next) { + /* Is this a usable connection manager? */ + if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) + continue; + UA_ConnectionManager *cm = (UA_ConnectionManager*)es; + if(!UA_String_equal(&tcpString, &cm->protocol)) + continue; + + /* Set up the parameters */ + UA_KeyValuePair params[4]; + size_t paramsSize = 3; + + params[0].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(¶ms[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + + UA_Boolean listen = true; + params[1].key = UA_QUALIFIEDNAME(0, "listen"); + UA_Variant_setScalar(¶ms[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); + + UA_Boolean reuseaddr = config->tcpReuseAddr; + params[2].key = UA_QUALIFIEDNAME(0, "reuse"); + UA_Variant_setScalar(¶ms[2].value, &reuseaddr, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* The hostname is non-empty */ + if(hostname.length > 0) { + params[3].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setArray(¶ms[3].value, &hostname, 1, &UA_TYPES[UA_TYPES_STRING]); + paramsSize = 4; + } + + UA_KeyValueMap paramsMap; + paramsMap.map = params; + paramsMap.mapSize = paramsSize; + + /* Open the server connection */ + res = cm->openConnection(cm, ¶msMap, bpm, NULL, serverNetworkCallback); + if(res == UA_STATUSCODE_GOOD) + return res; + } + + return UA_STATUSCODE_BADINTERNALERROR; +} + +/* Remove timed out SecureChannels */ +static void +secureChannelHouseKeeping(UA_Server *server, void *context) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)context; + lockServer(server); + + UA_DateTime nowMonotonic = UA_DateTime_nowMonotonic(); + channel_entry *entry; + TAILQ_FOREACH(entry, &bpm->channels, pointers) { + /* Compute the timeout date of the SecurityToken */ + UA_DateTime timeout = + entry->channel.securityToken.createdAt + + (UA_DateTime)(entry->channel.securityToken.revisedLifetime * UA_DATETIME_MSEC); + + /* The token has timed out. Try to do the token revolving now instead of + * shutting the channel down. + * + * Part 4, 5.5.2 says: Servers shall use the existing SecurityToken to + * secure outgoing Messages until the SecurityToken expires or the + * Server receives a Message secured with a new SecurityToken.*/ + if(timeout < nowMonotonic && + entry->channel.renewState == UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER) { + /* Revolve the token manually. This is otherwise done in checkSymHeader. */ + entry->channel.renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; + entry->channel.securityToken = entry->channel.altSecurityToken; + UA_ChannelSecurityToken_init(&entry->channel.altSecurityToken); + UA_SecureChannel_generateLocalKeys(&entry->channel); + generateRemoteKeys(&entry->channel); + + /* Use the timeout of the new SecurityToken */ + timeout = entry->channel.securityToken.createdAt + + (UA_DateTime)(entry->channel.securityToken.revisedLifetime * UA_DATETIME_MSEC); + } + + if(timeout < nowMonotonic) { + UA_LOG_INFO_CHANNEL(bpm->logging, &entry->channel, + "SecureChannel has timed out"); + UA_SecureChannel_shutdown(&entry->channel, UA_SHUTDOWNREASON_TIMEOUT); + } + } + unlockServer(server); +} + +/**********************/ +/* Reverse Connection */ +/**********************/ + +#define UA_MINMESSAGESIZE 8192 + +static UA_StatusCode +sendRHEMessage(UA_Server *server, uintptr_t connectionId, + UA_ConnectionManager *cm) { + UA_ServerConfig *config = UA_Server_getConfig(server); + + /* Get a buffer */ + UA_ByteString message; + UA_StatusCode retval = + cm->allocNetworkBuffer(cm, connectionId, &message, UA_MINMESSAGESIZE); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Prepare the RHE message and encode at offset 8 */ + UA_TcpReverseHelloMessage reverseHello; + UA_TcpReverseHelloMessage_init(&reverseHello); + reverseHello.serverUri = config->applicationDescription.applicationUri; + if(config->applicationDescription.discoveryUrlsSize) + reverseHello.endpointUrl = config->applicationDescription.discoveryUrls[0]; + + UA_Byte *bufPos = &message.data[8]; /* skip the header */ + const UA_Byte *bufEnd = &message.data[message.length]; + UA_StatusCode result = + UA_encodeBinaryInternal(&reverseHello, + &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE], + &bufPos, &bufEnd, NULL, NULL); + + if(result != UA_STATUSCODE_GOOD) { + cm->freeNetworkBuffer(cm, connectionId, &message); + return result; + } + + /* Encode the message header at offset 0 */ + UA_TcpMessageHeader messageHeader; + messageHeader.messageTypeAndChunkType = UA_CHUNKTYPE_FINAL + UA_MESSAGETYPE_RHE; + messageHeader.messageSize = (UA_UInt32) ((uintptr_t)bufPos - (uintptr_t)message.data); + bufPos = message.data; + retval = UA_encodeBinaryInternal(&messageHeader, + &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], + &bufPos, &bufEnd, NULL, NULL); + if(retval != UA_STATUSCODE_GOOD) { + cm->freeNetworkBuffer(cm, connectionId, &message); + return retval; + } + + /* Send the RHE message */ + message.length = messageHeader.messageSize; + return cm->sendWithConnection(cm, connectionId, NULL, &message); +} + +static void +retryReverseConnectCallback(UA_Server *server, void *context) { + lockServer(server); + + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)context; + + reverse_connect_context *rc = NULL; + LIST_FOREACH(rc, &bpm->reverseConnects, next) { + if(rc->currentConnection.connectionId) + continue; + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Attempt to reverse reconnect to %.*s:%d", + (int)rc->hostname.length, rc->hostname.data, rc->port); + attemptReverseConnect(bpm, rc); + } + + unlockServer(server); +} + +UA_StatusCode +setReverseConnectRetryCallback(UA_BinaryProtocolManager *bpm, UA_Boolean enabled) { + UA_Server *server = bpm->server; + UA_ServerConfig *config = &server->config; + + if(enabled && !bpm->reverseConnectsCheckHandle) { + UA_UInt32 reconnectInterval = config->reverseReconnectInterval ? + config->reverseReconnectInterval : 15000; + return addRepeatedCallback(server, retryReverseConnectCallback, bpm, + reconnectInterval, &bpm->reverseConnectsCheckHandle); + } else if(!enabled && bpm->reverseConnectsCheckHandle) { + removeCallback(server, bpm->reverseConnectsCheckHandle); + bpm->reverseConnectsCheckHandle = 0; + } + return UA_STATUSCODE_GOOD; +} + +void +setReverseConnectState(UA_Server *server, reverse_connect_context *context, + UA_SecureChannelState newState) { + if(context->state == newState) + return; + + context->state = newState; + + if(context->stateCallback) + context->stateCallback(server, context->handle, context->state, + context->callbackContext); +} + +static void +serverReverseConnectCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg); + +UA_StatusCode +attemptReverseConnect(UA_BinaryProtocolManager *bpm, reverse_connect_context *context) { + UA_Server *server = bpm->server; + UA_ServerConfig *config = &server->config; + UA_EventLoop *el = config->eventLoop; + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Find a TCP ConnectionManager */ + UA_String tcpString = UA_STRING_STATIC("tcp"); + for(UA_EventSource *es = el->eventSources; es != NULL; es = es->next) { + /* Is this a usable connection manager? */ + if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) + continue; + + UA_ConnectionManager *cm = (UA_ConnectionManager*)es; + if(!UA_String_equal(&tcpString, &cm->protocol)) + continue; + + if(es->state != UA_EVENTSOURCESTATE_STARTED) + continue; + + /* Set up the parameters */ + UA_KeyValuePair params[2]; + params[0].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(¶ms[0].value, &context->hostname, + &UA_TYPES[UA_TYPES_STRING]); + params[1].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(¶ms[1].value, &context->port, + &UA_TYPES[UA_TYPES_UINT16]); + UA_KeyValueMap kvm = {2, params}; + + /* Open the connection */ + UA_StatusCode res = cm->openConnection(cm, &kvm, bpm, context, + serverReverseConnectCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Failed to create connection for reverse connect: %s\n", + UA_StatusCode_name(res)); + } + return res; + } + + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "No ConnectionManager found for reverse connect"); + return UA_STATUSCODE_BADINTERNALERROR; +} + +UA_StatusCode +UA_Server_addReverseConnect(UA_Server *server, UA_String url, + UA_Server_ReverseConnectStateCallback stateCallback, + void *callbackContext, UA_UInt64 *handle) { + UA_ServerConfig *config = UA_Server_getConfig(server); + UA_ServerComponent *sc = + getServerComponentByName(server, UA_STRING("binary")); + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; + if(!bpm) { + UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, + "No BinaryProtocolManager configured"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Parse the reverse connect URL */ + UA_String hostname = UA_STRING_NULL; + UA_UInt16 port = 0; + UA_StatusCode res = UA_parseEndpointUrl(&url, &hostname, &port, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "OPC UA URL is invalid: %.*s", + (int)url.length, url.data); + return res; + } + + /* Set up the reverse connection */ + reverse_connect_context *newContext = (reverse_connect_context *) + UA_calloc(1, sizeof(reverse_connect_context)); + if(!newContext) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_String_copy(&hostname, &newContext->hostname); + newContext->port = port; + newContext->handle = ++bpm->lastReverseConnectHandle; + newContext->stateCallback = stateCallback; + newContext->callbackContext = callbackContext; + + lockServer(server); + + /* Register the retry callback */ + setReverseConnectRetryCallback(bpm, true); + + /* Register the new reverse connection */ + LIST_INSERT_HEAD(&bpm->reverseConnects, newContext, next); + + if(handle) + *handle = newContext->handle; + + /* Attempt to connect right away */ + res = attemptReverseConnect(bpm, newContext); + + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_removeReverseConnect(UA_Server *server, UA_UInt64 handle) { + UA_StatusCode result = UA_STATUSCODE_BADNOTFOUND; + + lockServer(server); + + UA_ServerComponent *sc = + getServerComponentByName(server, UA_STRING("binary")); + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; + if(!bpm) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "No BinaryProtocolManager configured"); + unlockServer(server); + return UA_STATUSCODE_BADINTERNALERROR; + } + + reverse_connect_context *rev, *temp; + LIST_FOREACH_SAFE(rev, &bpm->reverseConnects, next, temp) { + if(rev->handle != handle) + continue; + + LIST_REMOVE(rev, next); + + /* Connected -> disconnect, otherwise free immediately */ + if(rev->currentConnection.connectionId) { + UA_ConnectionManager *cm = rev->currentConnection.connectionManager; + rev->destruction = true; + cm->closeConnection(cm, rev->currentConnection.connectionId); + } else { + setReverseConnectState(server, rev, UA_SECURECHANNELSTATE_CLOSED); + UA_String_clear(&rev->hostname); + UA_free(rev); + } + result = UA_STATUSCODE_GOOD; + break; + } + + if(LIST_EMPTY(&bpm->reverseConnects)) + setReverseConnectRetryCallback(bpm, false); + + unlockServer(server); + return result; +} + +static void +serverReverseConnectCallbackLocked(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + (void)params; + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; + UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); + + UA_LOG_DEBUG(bpm->logging, UA_LOGCATEGORY_SERVER, + "Activity for reverse connect %lu with state %d", + (long unsigned)connectionId, state); + + reverse_connect_context *context = (reverse_connect_context *)*connectionContext; + context->currentConnection.state = state; + + /* New connection */ + if(context->currentConnection.connectionId == 0) { + context->currentConnection.connectionId = connectionId; + context->currentConnection.connectionManager = cm; + setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CONNECTING); + /* Fall through -- e.g. if state == ESTABLISHED already */ + } + + /* The connection is closing. This is the last callback for it. */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + if(context->channel) { + deleteServerSecureChannel(bpm, context->channel); + context->channel = NULL; + } + + /* Delete the ReverseConnect entry */ + if(context->destruction) { + setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CLOSED); + LIST_REMOVE(context, next); + UA_String_clear(&context->hostname); + UA_free(context); + + /* Check if the Binary Protocol Manager is stopped */ + if(bpm->sc.state == UA_LIFECYCLESTATE_STOPPING && + bpm->serverConnectionsSize == 0 && + LIST_EMPTY(&bpm->reverseConnects) && + TAILQ_EMPTY(&bpm->channels)) { + setBinaryProtocolManagerState(bpm->server, bpm, + UA_LIFECYCLESTATE_STOPPED); + } + return; + } + + /* Reset. Will be picked up in the regular retry callback. */ + context->currentConnection.connectionId = 0; + setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CONNECTING); + return; + } + + if(state != UA_CONNECTIONSTATE_ESTABLISHED) + return; + + /* A new connection is opening. This is the only place where + * createSecureChannel is used. */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(!context->channel) { + retval = createServerSecureChannel(bpm, cm, connectionId, &context->channel); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, + "TCP %lu\t| Could not accept the reverse " + "connection with status %s", + (unsigned long)context->currentConnection.connectionId, + UA_StatusCode_name(retval)); + cm->closeConnection(cm, connectionId); + return; + } + + /* Send the RHE message */ + retval = sendRHEMessage(bpm->server, connectionId, cm); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, + "TCP %lu\t| Could not send the RHE message " + "with status %s", + (unsigned long)context->currentConnection.connectionId, + UA_StatusCode_name(retval)); + cm->closeConnection(cm, connectionId); + return; + } + + context->channel->state = UA_SECURECHANNELSTATE_RHE_SENT; + setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_RHE_SENT); + return; + } + + /* The connection is fully opened and we have a SecureChannel. + * Process the received buffer */ + retval = UA_SecureChannel_loadBuffer(context->channel, msg); + while(UA_LIKELY(retval == UA_STATUSCODE_GOOD)) { + UA_MessageType messageType; + UA_UInt32 requestId = 0; + UA_ByteString payload = UA_BYTESTRING_NULL; + UA_Boolean copied = false; + retval = UA_SecureChannel_getCompleteMessage(context->channel, &messageType, + &requestId, &payload, &copied); + if(retval != UA_STATUSCODE_GOOD || payload.length == 0) + break; + retval = processSecureChannelMessage(bpm->server, context->channel, + messageType, requestId, &payload); + if(copied) + UA_ByteString_clear(&payload); + } + retval |= UA_SecureChannel_persistBuffer(context->channel); + + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(bpm->logging, context->channel, + "Processing the message failed with error %s", + UA_StatusCode_name(retval)); + + /* Processing the buffer failed within the SecureChannel. + * Send an ERR message and close the connection. */ + UA_TcpErrorMessage error; + error.error = retval; + error.reason = UA_STRING_NULL; + UA_SecureChannel_sendError(context->channel, &error); + UA_SecureChannel_shutdown(context->channel, UA_SHUTDOWNREASON_ABORT); + setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CLOSING); + return; + } + + /* Update the state with the current SecureChannel state */ + setReverseConnectState(bpm->server, context, context->channel->state); +} + +void +serverReverseConnectCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; + lockServer(bpm->server); + serverReverseConnectCallbackLocked(cm, connectionId, application, connectionContext, + state, params, msg); + unlockServer(bpm->server); +} + +/***************************/ +/* Binary Protocol Manager */ +/***************************/ + +static UA_StatusCode +UA_BinaryProtocolManager_start(UA_Server *server, + UA_ServerComponent *sc) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; + UA_ServerConfig *config = &server->config; + + UA_StatusCode retVal = + addRepeatedCallback(server, secureChannelHouseKeeping, + bpm, 1000.0, &bpm->houseKeepingCallbackId); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + /* Open server sockets */ + UA_Boolean haveServerSocket = false; + if(config->serverUrlsSize == 0) { + /* Empty hostname -> listen on all devices */ + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "No Server URL configured. Using \"opc.tcp://:4840\" " + "to configure the listen socket."); + UA_String defaultUrl = UA_STRING("opc.tcp://:4840"); + retVal = createServerConnection(bpm, &defaultUrl); + if(retVal == UA_STATUSCODE_GOOD) + haveServerSocket = true; + } else { + for(size_t i = 0; i < config->serverUrlsSize; i++) { + retVal = createServerConnection(bpm, &config->serverUrls[i]); + if(retVal == UA_STATUSCODE_GOOD) + haveServerSocket = true; + } + } + + if(!haveServerSocket) { + UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, + "The server has no server socket"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Update the application description to include the server urls for + * discovery. Don't add the urls with an empty host (listening on all + * interfaces) */ + for(size_t i = 0; i < config->serverUrlsSize; i++) { + UA_String hostname = UA_STRING_NULL; + UA_String path = UA_STRING_NULL; + UA_UInt16 port = 0; + retVal = UA_parseEndpointUrl(&config->serverUrls[i], + &hostname, &port, &path); + if(retVal != UA_STATUSCODE_GOOD || hostname.length == 0) + continue; + + /* Check if the ServerUrl is already present in the DiscoveryUrl array. + * Add if not already there. */ + size_t j = 0; + for(; j < config->applicationDescription.discoveryUrlsSize; j++) { + if(UA_String_equal(&config->serverUrls[i], + &config->applicationDescription.discoveryUrls[j])) + break; + } + if(j == config->applicationDescription.discoveryUrlsSize) { + retVal = + UA_Array_appendCopy((void**)&config->applicationDescription.discoveryUrls, + &config->applicationDescription.discoveryUrlsSize, + &config->serverUrls[i], &UA_TYPES[UA_TYPES_STRING]); + (void)retVal; + } + } + + /* Set the state to started */ + setBinaryProtocolManagerState(bpm->server, bpm, + UA_LIFECYCLESTATE_STARTED); + + return UA_STATUSCODE_GOOD; +} + +static void +UA_BinaryProtocolManager_stop(UA_Server *server, + UA_ServerComponent *comp) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)comp; + + /* Stop the Housekeeping Task */ + removeCallback(server, bpm->houseKeepingCallbackId); + bpm->houseKeepingCallbackId = 0; + + /* Stop the regular retry callback */ + setReverseConnectRetryCallback(bpm, false); + + /* Close or free all reverse connections */ + reverse_connect_context *rev, *rev_tmp; + LIST_FOREACH_SAFE(rev, &bpm->reverseConnects, next, rev_tmp) { + if(rev->currentConnection.connectionId) { + UA_ConnectionManager *cm = rev->currentConnection.connectionManager; + rev->destruction = true; + cm->closeConnection(cm, rev->currentConnection.connectionId); + } else { + LIST_REMOVE(rev, next); + setReverseConnectState(server, rev, UA_SECURECHANNELSTATE_CLOSED); + UA_String_clear(&rev->hostname); + UA_free(rev); + } + } + + /* Stop all SecureChannels */ + channel_entry *entry; + TAILQ_FOREACH(entry, &bpm->channels, pointers) { + UA_SecureChannel_shutdown(&entry->channel, UA_SHUTDOWNREASON_CLOSE); + } + + /* Stop all server sockets */ + for(size_t i = 0; i < UA_MAXSERVERCONNECTIONS; i++) { + UA_ServerConnection *sc = &bpm->serverConnections[i]; + UA_ConnectionManager *cm = sc->connectionManager; + if(sc->connectionId > 0) + cm->closeConnection(cm, sc->connectionId); + } + + /* If open sockets remain, set to STOPPING */ + if(bpm->serverConnectionsSize == 0 && + LIST_EMPTY(&bpm->reverseConnects) && + TAILQ_EMPTY(&bpm->channels)) { + setBinaryProtocolManagerState(bpm->server, bpm, + UA_LIFECYCLESTATE_STOPPED); + } else { + setBinaryProtocolManagerState(bpm->server, bpm, + UA_LIFECYCLESTATE_STOPPING); + } +} + +static UA_StatusCode +UA_BinaryProtocolManager_free(UA_Server *server, + UA_ServerComponent *sc) { + if(sc->state != UA_LIFECYCLESTATE_STOPPED) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_free(sc); + return UA_STATUSCODE_GOOD; +} + +UA_ServerComponent * +UA_BinaryProtocolManager_new(UA_Server *server) { + UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*) + UA_calloc(1, sizeof(UA_BinaryProtocolManager)); + if(!bpm) + return NULL; + + bpm->server = server; + bpm->logging = server->config.logging; + + /* Initialize SecureChannel */ + TAILQ_INIT(&bpm->channels); + + /* TODO: use an ID that is likely to be unique after a restart */ + bpm->lastChannelId = STARTCHANNELID; + bpm->lastTokenId = STARTTOKENID; + + bpm->sc.name = UA_STRING("binary"); + bpm->sc.start = UA_BinaryProtocolManager_start; + bpm->sc.stop = UA_BinaryProtocolManager_stop; + bpm->sc.free = UA_BinaryProtocolManager_free; + return &bpm->sc; +} + +/**** amalgamated original file "/src/server/ua_server_utils.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2016 (c) Lorenz Haas + * Copyright 2017 (c) frax2222 + * Copyright 2017 (c) Florian Palm + * Copyright 2017-2018 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Julian Grothoff + */ + + +const UA_DataType * +UA_Server_findDataType(UA_Server *server, const UA_NodeId *typeId) { + return UA_findDataTypeWithCustom(typeId, server->config.customDataTypes); +} + +/********************************/ +/* Information Model Operations */ +/********************************/ + +static void * +returnFirstType(void *context, UA_ReferenceTarget *t) { + UA_Server *server = (UA_Server*)context; + /* Don't release the node that is returned. + * Continues to iterate if NULL is returned. */ + return (void*)(uintptr_t)UA_NODESTORE_GETFROMREF(server, t->targetId); +} + +const UA_Node * +getNodeType(UA_Server *server, const UA_NodeHead *head) { + /* The reference to the parent is different for variable and variabletype */ + UA_Byte parentRefIndex; + UA_Boolean inverse; + switch(head->nodeClass) { + case UA_NODECLASS_OBJECT: + case UA_NODECLASS_VARIABLE: + parentRefIndex = UA_REFERENCETYPEINDEX_HASTYPEDEFINITION; + inverse = false; + break; + case UA_NODECLASS_OBJECTTYPE: + case UA_NODECLASS_VARIABLETYPE: + case UA_NODECLASS_REFERENCETYPE: + case UA_NODECLASS_DATATYPE: + parentRefIndex = UA_REFERENCETYPEINDEX_HASSUBTYPE; + inverse = true; + break; + default: + return NULL; + } + + /* Return the first matching candidate */ + for(size_t i = 0; i < head->referencesSize; ++i) { + UA_NodeReferenceKind *rk = &head->references[i]; + if(rk->isInverse != inverse) + continue; + if(rk->referenceTypeIndex != parentRefIndex) + continue; + const UA_Node *type = (const UA_Node*) + UA_NodeReferenceKind_iterate(rk, returnFirstType, server); + if(type) + return type; + } + + return NULL; +} + +UA_Boolean +UA_Node_hasSubTypeOrInstances(const UA_NodeHead *head) { + for(size_t i = 0; i < head->referencesSize; ++i) { + if(head->references[i].isInverse == false && + head->references[i].referenceTypeIndex == UA_REFERENCETYPEINDEX_HASSUBTYPE) + return true; + if(head->references[i].isInverse == true && + head->references[i].referenceTypeIndex == UA_REFERENCETYPEINDEX_HASTYPEDEFINITION) + return true; + } + return false; +} + +UA_StatusCode +getParentTypeAndInterfaceHierarchy(UA_Server *server, const UA_NodeId *typeNode, + UA_NodeId **typeHierarchy, size_t *typeHierarchySize) { + UA_ReferenceTypeSet reftypes_subtype = + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); + UA_ExpandedNodeId *subTypes = NULL; + size_t subTypesSize = 0; + UA_StatusCode retval = browseRecursive(server, 1, typeNode, + UA_BROWSEDIRECTION_INVERSE, + &reftypes_subtype, UA_NODECLASS_UNSPECIFIED, + false, &subTypesSize, &subTypes); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + UA_assert(subTypesSize < 1000); + + UA_ReferenceTypeSet reftypes_interface = + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASINTERFACE); + UA_ExpandedNodeId *interfaces = NULL; + size_t interfacesSize = 0; + retval = browseRecursive(server, 1, typeNode, UA_BROWSEDIRECTION_FORWARD, + &reftypes_interface, UA_NODECLASS_UNSPECIFIED, + false, &interfacesSize, &interfaces); + if(retval != UA_STATUSCODE_GOOD) { + UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_NODEID]); + return retval; + } + + UA_assert(interfacesSize < 1000); + + UA_NodeId *hierarchy = (UA_NodeId*) + UA_malloc(sizeof(UA_NodeId) * (1 + subTypesSize + interfacesSize)); + if(!hierarchy) { + UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + UA_Array_delete(interfaces, interfacesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + retval = UA_NodeId_copy(typeNode, hierarchy); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(hierarchy); + UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + UA_Array_delete(interfaces, interfacesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + for(size_t i = 0; i < subTypesSize; i++) { + hierarchy[i+1] = subTypes[i].nodeId; + UA_NodeId_init(&subTypes[i].nodeId); + } + for(size_t i = 0; i < interfacesSize; i++) { + hierarchy[i+1+subTypesSize] = interfaces[i].nodeId; + UA_NodeId_init(&interfaces[i].nodeId); + } + + *typeHierarchy = hierarchy; + *typeHierarchySize = subTypesSize + interfacesSize + 1; + + UA_assert(*typeHierarchySize < 1000); + + UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + UA_Array_delete(interfaces, interfacesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +getAllInterfaceChildNodeIds(UA_Server *server, const UA_NodeId *objectNode, + const UA_NodeId *objectTypeNode, + UA_NodeId **interfaceChildNodes, + size_t *interfaceChildNodesSize) { + if(interfaceChildNodesSize == NULL || interfaceChildNodes == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + *interfaceChildNodesSize = 0; + *interfaceChildNodes = NULL; + + UA_ExpandedNodeId *hasInterfaceCandidates = NULL; + size_t hasInterfaceCandidatesSize = 0; + UA_ReferenceTypeSet reftypes_subtype = + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); + + UA_StatusCode retval = + browseRecursive(server, 1, objectTypeNode, UA_BROWSEDIRECTION_INVERSE, + &reftypes_subtype, UA_NODECLASS_OBJECTTYPE, + true, &hasInterfaceCandidatesSize, + &hasInterfaceCandidates); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* The interface could also have been added manually before calling UA_Server_addNode_finish + * This can be handled by adding the object node as a start node for the HasInterface lookup */ + UA_ExpandedNodeId *resizedHasInterfaceCandidates = (UA_ExpandedNodeId*) + UA_realloc(hasInterfaceCandidates, + (hasInterfaceCandidatesSize + 1) * sizeof(UA_ExpandedNodeId)); + + if(!resizedHasInterfaceCandidates) { + if(hasInterfaceCandidates) + UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + hasInterfaceCandidates = resizedHasInterfaceCandidates; + hasInterfaceCandidatesSize += 1; + UA_ExpandedNodeId_init(&hasInterfaceCandidates[hasInterfaceCandidatesSize - 1]); + + UA_ExpandedNodeId_init(&hasInterfaceCandidates[hasInterfaceCandidatesSize - 1]); + UA_NodeId_copy(objectNode, &hasInterfaceCandidates[hasInterfaceCandidatesSize - 1].nodeId); + + size_t outputIndex = 0; + + for(size_t i = 0; i < hasInterfaceCandidatesSize; ++i) { + UA_ReferenceTypeSet reftypes_interface = + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASINTERFACE); + UA_ExpandedNodeId *interfaceChildren = NULL; + size_t interfacesChildrenSize = 0; + retval = browseRecursive(server, 1, &hasInterfaceCandidates[i].nodeId, + UA_BROWSEDIRECTION_FORWARD, + &reftypes_interface, UA_NODECLASS_OBJECTTYPE, + false, &interfacesChildrenSize, &interfaceChildren); + if(retval != UA_STATUSCODE_GOOD) { + UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + if(*interfaceChildNodesSize) { + UA_Array_delete(*interfaceChildNodes, *interfaceChildNodesSize, + &UA_TYPES[UA_TYPES_NODEID]); + *interfaceChildNodesSize = 0; + } + return retval; + } + + UA_assert(interfacesChildrenSize < 1000); + + if(interfacesChildrenSize == 0) { + continue; + } + + if(!*interfaceChildNodes) { + *interfaceChildNodes = (UA_NodeId*) + UA_calloc(interfacesChildrenSize, sizeof(UA_NodeId)); + *interfaceChildNodesSize = interfacesChildrenSize; + + if(!*interfaceChildNodes) { + UA_Array_delete(interfaceChildren, interfacesChildrenSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + } else { + UA_NodeId *resizedInterfaceChildNodes = (UA_NodeId*) + UA_realloc(*interfaceChildNodes, + ((*interfaceChildNodesSize + interfacesChildrenSize) * sizeof(UA_NodeId))); + + if(!resizedInterfaceChildNodes) { + UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + UA_Array_delete(interfaceChildren, interfacesChildrenSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + const size_t oldSize = *interfaceChildNodesSize; + *interfaceChildNodesSize += interfacesChildrenSize; + *interfaceChildNodes = resizedInterfaceChildNodes; + + for(size_t j = oldSize; j < *interfaceChildNodesSize; ++j) + UA_NodeId_init(&(*interfaceChildNodes)[j]); + } + + for(size_t j = 0; j < interfacesChildrenSize; j++) { + (*interfaceChildNodes)[outputIndex++] = interfaceChildren[j].nodeId; + } + + UA_assert(*interfaceChildNodesSize < 1000); + UA_Array_delete(interfaceChildren, interfacesChildrenSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + } + + UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + + return UA_STATUSCODE_GOOD; +} + +/* For mulithreading: make a copy of the node, edit and replace. + * For singlethreading: edit the original */ +UA_StatusCode +UA_Server_editNode(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, UA_EditNodeCallback callback, + void *data) { +#ifndef UA_ENABLE_IMMUTABLE_NODES + /* Get the node and process it in-situ */ + const UA_Node *node = UA_NODESTORE_GET(server, nodeId); + if(!node) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + UA_StatusCode retval = callback(server, session, (UA_Node*)(uintptr_t)node, data); + UA_NODESTORE_RELEASE(server, node); + return retval; +#else + UA_StatusCode retval; + do { + /* Get an editable copy of the node */ + UA_Node *node; + retval = UA_NODESTORE_GETCOPY(server, nodeId, &node); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Run the operation on the copy */ + retval = callback(server, session, node, data); + if(retval != UA_STATUSCODE_GOOD) { + UA_NODESTORE_DELETE(server, node); + return retval; + } + + /* Replace the node */ + retval = UA_NODESTORE_REPLACE(server, node); + } while(retval != UA_STATUSCODE_GOOD); + return retval; +#endif +} + +UA_StatusCode +UA_Server_processServiceOperations(UA_Server *server, UA_Session *session, + UA_ServiceOperation operationCallback, + const void *context, const size_t *requestOperations, + const UA_DataType *requestOperationsType, + size_t *responseOperations, + const UA_DataType *responseOperationsType) { + size_t ops = *requestOperations; + if(ops == 0) + return UA_STATUSCODE_BADNOTHINGTODO; + + /* No padding after size_t */ + void **respPos = (void**)((uintptr_t)responseOperations + sizeof(size_t)); + *respPos = UA_Array_new(ops, responseOperationsType); + if(!(*respPos)) + return UA_STATUSCODE_BADOUTOFMEMORY; + + *responseOperations = ops; + uintptr_t respOp = (uintptr_t)*respPos; + /* No padding after size_t */ + uintptr_t reqOp = *(uintptr_t*)((uintptr_t)requestOperations + sizeof(size_t)); + for(size_t i = 0; i < ops; i++) { + operationCallback(server, session, context, (void*)reqOp, (void*)respOp); + reqOp += requestOperationsType->memSize; + respOp += responseOperationsType->memSize; + } + return UA_STATUSCODE_GOOD; +} + +/* A few global NodeId definitions */ +const UA_NodeId subtypeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASSUBTYPE}}; +const UA_NodeId hierarchicalReferences = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HIERARCHICALREFERENCES}}; + +/*********************************/ +/* Default attribute definitions */ +/*********************************/ + +const UA_ObjectAttributes UA_ObjectAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + 0 /* eventNotifier */ +}; + +const UA_VariableAttributes UA_VariableAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + {NULL, UA_VARIANT_DATA, + 0, NULL, 0, NULL}, /* value */ + {0, UA_NODEIDTYPE_NUMERIC, + {UA_NS0ID_BASEDATATYPE}}, /* dataType */ + UA_VALUERANK_ANY, /* valueRank */ + 0, NULL, /* arrayDimensions */ + UA_ACCESSLEVELMASK_READ | /* accessLevel */ + UA_ACCESSLEVELMASK_STATUSWRITE | + UA_ACCESSLEVELMASK_TIMESTAMPWRITE, + 0, /* userAccessLevel */ + 0.0, /* minimumSamplingInterval */ + false /* historizing */ +}; + +const UA_MethodAttributes UA_MethodAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + true, true /* executable (userExecutable) */ +}; + +const UA_ObjectTypeAttributes UA_ObjectTypeAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + false /* isAbstract */ +}; + +const UA_VariableTypeAttributes UA_VariableTypeAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + {NULL, UA_VARIANT_DATA, + 0, NULL, 0, NULL}, /* value */ + {0, UA_NODEIDTYPE_NUMERIC, + {UA_NS0ID_BASEDATATYPE}}, /* dataType */ + UA_VALUERANK_ANY, /* valueRank */ + 0, NULL, /* arrayDimensions */ + false /* isAbstract */ +}; + +const UA_ReferenceTypeAttributes UA_ReferenceTypeAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + false, /* isAbstract */ + false, /* symmetric */ + {{0, NULL}, {0, NULL}} /* inverseName */ +}; + +const UA_DataTypeAttributes UA_DataTypeAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + false /* isAbstract */ +}; + +const UA_ViewAttributes UA_ViewAttributes_default = { + 0, /* specifiedAttributes */ + {{0, NULL}, {0, NULL}}, /* displayName */ + {{0, NULL}, {0, NULL}}, /* description */ + 0, 0, /* writeMask (userWriteMask) */ + false, /* containsNoLoops */ + 0 /* eventNotifier */ +}; + + +/**** amalgamated original file "/src/server/ua_server_async.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2019 (c) Fraunhofer IOSB (Author: Klaus Schick) + * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#if UA_MULTITHREADING >= 100 + +static void +UA_AsyncOperation_delete(UA_AsyncOperation *ar) { + UA_CallMethodRequest_clear(&ar->request); + UA_CallMethodResult_clear(&ar->response); + UA_free(ar); +} + +static void +UA_AsyncManager_sendAsyncResponse(UA_AsyncManager *am, UA_Server *server, + UA_AsyncResponse *ar) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOCK_ASSERT(&am->queueLock, 1); + + /* Get the session */ + UA_Session* session = getSessionById(server, &ar->sessionId); + if(!session) { + UA_String sessionId = UA_STRING_NULL; + UA_NodeId_print(&ar->sessionId, &sessionId); + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Async Service: Session %.*s no longer exists", + (int)sessionId.length, sessionId.data); + UA_String_clear(&sessionId); + UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); + return; + } + + /* Check the channel */ + UA_SecureChannel *channel = session->header.channel; + if(!channel) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "Async Service Response cannot be sent. " + "No SecureChannel for the session."); + UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); + return; + } + + /* Set the request handle */ + UA_ResponseHeader *responseHeader = (UA_ResponseHeader*) + &ar->response.callResponse.responseHeader; + responseHeader->requestHandle = ar->requestHandle; + + /* Send the Response */ + UA_StatusCode res = + sendResponse(server, session, channel, ar->requestId, + (UA_Response*)&ar->response, &UA_TYPES[UA_TYPES_CALLRESPONSE]); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "Async Response for Req# %" PRIu32 " failed " + "with StatusCode %s", ar->requestId, + UA_StatusCode_name(res)); + } + UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); +} + +/* Integrate operation result in the AsyncResponse and send out the response if + * it is ready. */ +static UA_Boolean +integrateOperationResult(UA_AsyncManager *am, UA_Server *server, + UA_AsyncOperation *ao) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOCK_ASSERT(&am->queueLock, 1); + + /* Grab the open request, so we can continue to construct the response */ + UA_AsyncResponse *ar = ao->parent; + + /* Reduce the number of open results */ + ar->opCountdown -= 1; + + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "Return result in the server thread with %" PRIu32 " remaining", + ar->opCountdown); + + /* Move the UA_CallMethodResult to UA_CallResponse */ + ar->response.callResponse.results[ao->index] = ao->response; + UA_CallMethodResult_init(&ao->response); + + /* Done with all operations -> send the response */ + UA_Boolean done = (ar->opCountdown == 0); + if(done) + UA_AsyncManager_sendAsyncResponse(am, server, ar); + return done; +} + +/* Process all operations in the result queue -> move content over to the + * AsyncResponse. This is only done by the server thread. Returns the nmber of + * completed async sesponses. */ +static UA_UInt32 +processAsyncResults(UA_Server *server) { + UA_AsyncManager *am = &server->asyncManager; + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_UInt32 count = 0; + UA_AsyncOperation *ao; + UA_LOCK(&am->queueLock); + while((ao = TAILQ_FIRST(&am->resultQueue))) { + TAILQ_REMOVE(&am->resultQueue, ao, pointers); + if(integrateOperationResult(am, server, ao)) + count++; + UA_AsyncOperation_delete(ao); + /* Pacify clang-analyzer */ + UA_assert(TAILQ_FIRST(&am->resultQueue) != ao); + am->opsCount--; + } + UA_UNLOCK(&am->queueLock); + return count; +} + +/* Check if any operations have timed out */ +static void +checkTimeouts(UA_Server *server, void *_) { + /* Timeouts are not configured */ + if(server->config.asyncOperationTimeout <= 0.0) + return; + + UA_AsyncManager *am = &server->asyncManager; + const UA_DateTime tNow = UA_DateTime_now(); + + UA_LOCK(&am->queueLock); + + /* Loop over the queue of dispatched ops */ + UA_AsyncOperation *op = NULL, *op_tmp = NULL; + TAILQ_FOREACH_SAFE(op, &am->dispatchedQueue, pointers, op_tmp) { + /* The timeout has not passed. Also for all elements following in the queue. */ + if(tNow <= op->parent->timeout) + break; + + /* Mark as timed out and put it into the result queue */ + op->response.statusCode = UA_STATUSCODE_BADTIMEOUT; + TAILQ_REMOVE(&am->dispatchedQueue, op, pointers); + TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Operation was removed due to a timeout"); + } + + /* Loop over the queue of new ops */ + TAILQ_FOREACH_SAFE(op, &am->newQueue, pointers, op_tmp) { + /* The timeout has not passed. Also for all elements following in the queue. */ + if(tNow <= op->parent->timeout) + break; + + /* Mark as timed out and put it into the result queue */ + op->response.statusCode = UA_STATUSCODE_BADTIMEOUT; + TAILQ_REMOVE(&am->newQueue, op, pointers); + TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Operation was removed due to a timeout"); + } + + UA_UNLOCK(&am->queueLock); + + /* Integrate async results and send out complete responses */ + lockServer(server); + processAsyncResults(server); + unlockServer(server); +} + +void +UA_AsyncManager_init(UA_AsyncManager *am, UA_Server *server) { + memset(am, 0, sizeof(UA_AsyncManager)); + TAILQ_INIT(&am->asyncResponses); + TAILQ_INIT(&am->newQueue); + TAILQ_INIT(&am->dispatchedQueue); + TAILQ_INIT(&am->resultQueue); + UA_LOCK_INIT(&am->queueLock); + + /* Add a regular callback for cleanup and sending finished responses at a + * 1s interval. */ + addRepeatedCallback(server, (UA_ServerCallback)checkTimeouts, + NULL, 1000.0, &am->checkTimeoutCallbackId); +} + +void +UA_AsyncManager_clear(UA_AsyncManager *am, UA_Server *server) { + removeCallback(server, am->checkTimeoutCallbackId); + + UA_AsyncOperation *ar, *ar_tmp; + + /* Clean up queues */ + UA_LOCK(&am->queueLock); + TAILQ_FOREACH_SAFE(ar, &am->newQueue, pointers, ar_tmp) { + TAILQ_REMOVE(&am->newQueue, ar, pointers); + UA_AsyncOperation_delete(ar); + } + TAILQ_FOREACH_SAFE(ar, &am->dispatchedQueue, pointers, ar_tmp) { + TAILQ_REMOVE(&am->dispatchedQueue, ar, pointers); + UA_AsyncOperation_delete(ar); + } + TAILQ_FOREACH_SAFE(ar, &am->resultQueue, pointers, ar_tmp) { + TAILQ_REMOVE(&am->resultQueue, ar, pointers); + UA_AsyncOperation_delete(ar); + } + UA_UNLOCK(&am->queueLock); + + /* Remove responses */ + UA_AsyncResponse *current, *temp; + TAILQ_FOREACH_SAFE(current, &am->asyncResponses, pointers, temp) { + UA_AsyncManager_removeAsyncResponse(am, current); + } + + /* Delete all locks */ + UA_LOCK_DESTROY(&am->queueLock); +} + +UA_StatusCode +UA_AsyncManager_createAsyncResponse(UA_AsyncManager *am, UA_Server *server, + const UA_NodeId *sessionId, + const UA_UInt32 requestId, const UA_UInt32 requestHandle, + const UA_AsyncOperationType operationType, + UA_AsyncResponse **outAr) { + UA_AsyncResponse *newentry = (UA_AsyncResponse*)UA_calloc(1, sizeof(UA_AsyncResponse)); + if(!newentry) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_StatusCode res = UA_NodeId_copy(sessionId, &newentry->sessionId); + if(res != UA_STATUSCODE_GOOD) { + UA_free(newentry); + return res; + } + + am->asyncResponsesCount += 1; + newentry->requestId = requestId; + newentry->requestHandle = requestHandle; + newentry->timeout = UA_DateTime_now(); + if(server->config.asyncOperationTimeout > 0.0) + newentry->timeout += (UA_DateTime) + (server->config.asyncOperationTimeout * (UA_DateTime)UA_DATETIME_MSEC); + TAILQ_INSERT_TAIL(&am->asyncResponses, newentry, pointers); + + *outAr = newentry; + return UA_STATUSCODE_GOOD; +} + +/* Remove entry and free all allocated data */ +void +UA_AsyncManager_removeAsyncResponse(UA_AsyncManager *am, UA_AsyncResponse *ar) { + TAILQ_REMOVE(&am->asyncResponses, ar, pointers); + am->asyncResponsesCount -= 1; + UA_CallResponse_clear(&ar->response.callResponse); + UA_NodeId_clear(&ar->sessionId); + UA_free(ar); +} + +/* Enqueue next MethodRequest */ +UA_StatusCode +UA_AsyncManager_createAsyncOp(UA_AsyncManager *am, UA_Server *server, + UA_AsyncResponse *ar, size_t opIndex, + const UA_CallMethodRequest *opRequest) { + if(server->config.maxAsyncOperationQueueSize != 0 && + am->opsCount >= server->config.maxAsyncOperationQueueSize) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_Server_SetNextAsyncMethod: Queue exceeds limit (%d).", + (int unsigned)server->config.maxAsyncOperationQueueSize); + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + + UA_AsyncOperation *ao = (UA_AsyncOperation*)UA_calloc(1, sizeof(UA_AsyncOperation)); + if(!ao) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_Server_SetNextAsyncMethod: Mem alloc failed."); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_StatusCode result = UA_CallMethodRequest_copy(opRequest, &ao->request); + if(result != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_Server_SetAsyncMethodResult: UA_CallMethodRequest_copy failed."); + UA_free(ao); + return result; + } + + UA_CallMethodResult_init(&ao->response); + ao->index = opIndex; + ao->parent = ar; + + UA_LOCK(&am->queueLock); + TAILQ_INSERT_TAIL(&am->newQueue, ao, pointers); + am->opsCount++; + ar->opCountdown++; + UA_UNLOCK(&am->queueLock); + + if(server->config.asyncOperationNotifyCallback) + server->config.asyncOperationNotifyCallback(server); + + return UA_STATUSCODE_GOOD; +} + +/* Get and remove next Method Call Request */ +UA_Boolean +UA_Server_getAsyncOperationNonBlocking(UA_Server *server, UA_AsyncOperationType *type, + const UA_AsyncOperationRequest **request, + void **context, UA_DateTime *timeout) { + UA_AsyncManager *am = &server->asyncManager; + + UA_Boolean bRV = false; + *type = UA_ASYNCOPERATIONTYPE_INVALID; + UA_LOCK(&am->queueLock); + UA_AsyncOperation *ao = TAILQ_FIRST(&am->newQueue); + if(ao) { + TAILQ_REMOVE(&am->newQueue, ao, pointers); + TAILQ_INSERT_TAIL(&am->dispatchedQueue, ao, pointers); + *type = UA_ASYNCOPERATIONTYPE_CALL; + *request = (UA_AsyncOperationRequest*)&ao->request; + *context = (void*)ao; + if(timeout) + *timeout = ao->parent->timeout; + bRV = true; + } + UA_UNLOCK(&am->queueLock); + + return bRV; +} + +/* Worker submits Method Call Response */ +void +UA_Server_setAsyncOperationResult(UA_Server *server, + const UA_AsyncOperationResponse *response, + void *context) { + UA_AsyncManager *am = &server->asyncManager; + + UA_AsyncOperation *ao = (UA_AsyncOperation*)context; + if(!ao) { + /* Something went wrong. Not a good AsyncOp. */ + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_Server_SetAsyncMethodResult: Invalid context"); + return; + } + + UA_LOCK(&am->queueLock); + + /* See if the operation is still in the dispatched queue. Otherwise it has + * been removed due to a timeout. + * + * TODO: Add a tree-structure for the dispatch queue. The linear lookup does + * not scale. */ + UA_Boolean found = false; + UA_AsyncOperation *op = NULL; + TAILQ_FOREACH(op, &am->dispatchedQueue, pointers) { + if(op == ao) { + found = true; + break; + } + } + + if(!found) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_Server_SetAsyncMethodResult: The operation has timed out"); + UA_UNLOCK(&am->queueLock); + return; + } + + /* Copy the result into the internal AsyncOperation */ + UA_StatusCode result = + UA_CallMethodResult_copy(&response->callMethodResult, &ao->response); + if(result != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_Server_SetAsyncMethodResult: UA_CallMethodResult_copy failed."); + ao->response.statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Move to the result queue */ + TAILQ_REMOVE(&am->dispatchedQueue, ao, pointers); + TAILQ_INSERT_TAIL(&am->resultQueue, ao, pointers); + + UA_UNLOCK(&am->queueLock); + + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "Set the result from the worker thread"); +} + +/******************/ +/* Server Methods */ +/******************/ + +static UA_StatusCode +setMethodNodeAsync(UA_Server *server, UA_Session *session, + UA_Node *node, UA_Boolean *isAsync) { + if(node->head.nodeClass != UA_NODECLASS_METHOD) + return UA_STATUSCODE_BADNODECLASSINVALID; + node->methodNode.async = *isAsync; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_setMethodNodeAsync(UA_Server *server, const UA_NodeId id, + UA_Boolean isAsync) { + lockServer(server); + UA_StatusCode res = + UA_Server_editNode(server, &server->adminSession, &id, + (UA_EditNodeCallback)setMethodNodeAsync, &isAsync); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_processServiceOperationsAsync(UA_Server *server, UA_Session *session, + UA_UInt32 requestId, UA_UInt32 requestHandle, + UA_AsyncServiceOperation operationCallback, + const size_t *requestOperations, + const UA_DataType *requestOperationsType, + size_t *responseOperations, + const UA_DataType *responseOperationsType, + UA_AsyncResponse **ar) { + size_t ops = *requestOperations; + if(ops == 0) + return UA_STATUSCODE_BADNOTHINGTODO; + + /* Allocate the response array. No padding after size_t */ + void **respPos = (void**)((uintptr_t)responseOperations + sizeof(size_t)); + *respPos = UA_Array_new(ops, responseOperationsType); + if(!*respPos) + return UA_STATUSCODE_BADOUTOFMEMORY; + *responseOperations = ops; + + /* Finish / dispatch the operations. This may allocate a new AsyncResponse internally */ + uintptr_t respOp = (uintptr_t)*respPos; + uintptr_t reqOp = *(uintptr_t*)((uintptr_t)requestOperations + sizeof(size_t)); + for(size_t i = 0; i < ops; i++) { + operationCallback(server, session, requestId, requestHandle, + i, (void*)reqOp, (void*)respOp, ar); + reqOp += requestOperationsType->memSize; + respOp += responseOperationsType->memSize; + } + + return UA_STATUSCODE_GOOD; +} + +UA_UInt32 +UA_AsyncManager_cancel(UA_Server *server, UA_Session *session, UA_UInt32 requestHandle) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_AsyncManager *am = &server->asyncManager; + + UA_LOCK(&am->queueLock); + + /* Loop over the queue of dispatched ops */ + UA_AsyncOperation *op = NULL, *op_tmp = NULL; + TAILQ_FOREACH_SAFE(op, &am->dispatchedQueue, pointers, op_tmp) { + if(op->parent->requestHandle != requestHandle || + !UA_NodeId_equal(&session->sessionId, &op->parent->sessionId)) + continue; + + /* Set status and put it into the result queue */ + op->response.statusCode = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; + TAILQ_REMOVE(&am->dispatchedQueue, op, pointers); + TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); + + /* Also set the status of the overall response */ + op->parent->response.callResponse.responseHeader. + serviceResult = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; + } + + /* Idem for waiting ops */ + TAILQ_FOREACH_SAFE(op, &am->newQueue, pointers, op_tmp) { + if(op->parent->requestHandle != requestHandle || + !UA_NodeId_equal(&session->sessionId, &op->parent->sessionId)) + continue; + + /* Mark as timed out and put it into the result queue */ + op->response.statusCode = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; + TAILQ_REMOVE(&am->newQueue, op, pointers); + TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); + + op->parent->response.callResponse.responseHeader. + serviceResult = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; + } + + UA_UNLOCK(&am->queueLock); + + /* Process messages that have all ops completed */ + return processAsyncResults(server); +} + +#endif + +/**** amalgamated original file "/src/server/ua_services_view.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) LEvertz + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015 (c) Ecosmos + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) Lorenz Haas + * Copyright 2017 (c) pschoppe + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017 (c) Henrik Norrman + */ + + +#define UA_MAX_TREE_RECURSE 50 /* How deep up/down the tree do we recurse at most? */ + +static UA_UInt32 +resultMask2AttributesMask(UA_UInt32 resultMask) { + UA_UInt32 result = 0; + if(resultMask & UA_BROWSERESULTMASK_NODECLASS) + result |= UA_NODEATTRIBUTESMASK_NODECLASS; + if(resultMask & UA_BROWSERESULTMASK_BROWSENAME) + result |= UA_NODEATTRIBUTESMASK_BROWSENAME; + if(resultMask & UA_BROWSERESULTMASK_DISPLAYNAME) + result |= UA_NODEATTRIBUTESMASK_DISPLAYNAME; + return result; +} + +UA_StatusCode +referenceTypeIndices(UA_Server *server, const UA_NodeId *refType, + UA_ReferenceTypeSet *indices, UA_Boolean includeSubtypes) { + if(UA_NodeId_isNull(refType)) { + *indices = UA_REFERENCETYPESET_ALL; + return UA_STATUSCODE_GOOD; + } + + UA_ReferenceTypeSet_init(indices); + + /* Get the node with only the NodeClass attribute. If it is a + * ReferenceTypeNode, then the indices are always included, as this is an + * open62541 specific field (not selectable via the attribute id). */ + const UA_Node *refNode = + UA_NODESTORE_GET_SELECTIVE(server, refType, + UA_NODEATTRIBUTESMASK_NODECLASS, + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + + if(!refNode) + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + + if(refNode->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { + UA_NODESTORE_RELEASE(server, refNode); + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + } + + if(!includeSubtypes) + *indices = UA_REFTYPESET(refNode->referenceTypeNode.referenceTypeIndex); + else + *indices = refNode->referenceTypeNode.subTypes; + + UA_NODESTORE_RELEASE(server, refNode); + return UA_STATUSCODE_GOOD; +} + +static UA_Boolean +matchClassMask(const UA_Node *node, UA_UInt32 nodeClassMask) { + if(nodeClassMask != UA_NODECLASS_UNSPECIFIED && + (node->head.nodeClass & nodeClassMask) == 0) + return false; + return true; +} + +/****************/ +/* IsNodeInTree */ +/****************/ + +/* Internal method to check if a node is already upwards from a leaf node */ + +static enum ZIP_CMP +cmpRefTarget(const void *a, const void *b) { + const UA_ReferenceTarget *aa = (const UA_ReferenceTarget*)a; + const UA_ReferenceTarget *bb = (const UA_ReferenceTarget*)b; + return (enum ZIP_CMP)UA_NodePointer_order(aa->targetId, bb->targetId); +} + +typedef ZIP_HEAD(UA_ParentRefsTree, UA_ReferenceTargetTreeElem) UA_ParentRefsTree; +ZIP_FUNCTIONS(UA_ParentRefsTree, UA_ReferenceTargetTreeElem, idTreeEntry, + UA_NodePointer, target, cmpRefTarget) + +struct IsNodeInTreeContext { + UA_Server *server; + UA_NodePointer nodeToFind; + UA_ParentRefsTree parents; + UA_ReferenceTypeSet relevantRefs; + UA_UInt16 depth; +}; + +static void * +isNodeInTreeIterateCallback(void *context, UA_ReferenceTarget *t) { + struct IsNodeInTreeContext *tc = + (struct IsNodeInTreeContext*)context; + + /* Don't follow remote targets */ + if(!UA_NodePointer_isLocal(t->targetId)) + return NULL; + + /* Found the node? -> return non-NULL */ + if(UA_NodePointer_equal(tc->nodeToFind, t->targetId)) + return (void*)0x01; + + /* Prevent endless loop */ + if(ZIP_FIND(UA_ParentRefsTree, &tc->parents, &t->targetId)) + return NULL; + + /* Prevent pathological recursion depth */ + if(tc->depth >= UA_MAX_TREE_RECURSE) + return NULL; + + /* Get the node without attributes (if the NodeStore supports it) and only + * the relevant references in inverse direction */ + const UA_Node *node = + UA_NODESTORE_GETFROMREF_SELECTIVE(tc->server, t->targetId, + UA_NODEATTRIBUTESMASK_NONE, + tc->relevantRefs, + UA_BROWSEDIRECTION_INVERSE); + if(!node) + return NULL; + + /* Add current NodeId to parents tree */ + UA_ReferenceTargetTreeElem stackElem; + stackElem.target = *t; + ZIP_INSERT(UA_ParentRefsTree, &tc->parents, &stackElem); + + /* Recurse into appropriate references starting from this tree */ + tc->depth++; + void *res = NULL; + for(size_t i = 0; i < node->head.referencesSize && !res; i++) { + UA_NodeReferenceKind *rk = &node->head.references[i]; + /* Search upwards in the tree */ + if(!rk->isInverse) + continue; + + /* Consider only the indicated reference types */ + if(!UA_ReferenceTypeSet_contains(&tc->relevantRefs, rk->referenceTypeIndex)) + continue; + + res = UA_NodeReferenceKind_iterate(rk, isNodeInTreeIterateCallback, tc); + } + tc->depth--; + + /* Clean up */ + UA_NODESTORE_RELEASE(tc->server, node); + ZIP_REMOVE(UA_ParentRefsTree, &tc->parents, &stackElem); + return res; +} + +UA_Boolean +isNodeInTree(UA_Server *server, const UA_NodeId *leafNode, + const UA_NodeId *nodeToFind, + const UA_ReferenceTypeSet *relevantRefs) { + struct IsNodeInTreeContext ctx; + memset(&ctx, 0, sizeof(struct IsNodeInTreeContext)); + ctx.server = server; + ctx.nodeToFind = UA_NodePointer_fromNodeId(nodeToFind); + ctx.relevantRefs = *relevantRefs; + UA_ReferenceTarget tmpTarget; + memset(&tmpTarget, 0, sizeof(UA_ReferenceTarget)); + tmpTarget.targetId = UA_NodePointer_fromNodeId(leafNode); + return (isNodeInTreeIterateCallback(&ctx, &tmpTarget) != NULL); +} + +UA_Boolean +isNodeInTree_singleRef(UA_Server *server, const UA_NodeId *leafNode, + const UA_NodeId *nodeToFind, const UA_Byte relevantRefTypeIndex) { + UA_ReferenceTypeSet reftypes = UA_REFTYPESET(relevantRefTypeIndex); + return isNodeInTree(server, leafNode, nodeToFind, &reftypes); +} + +static enum ZIP_CMP +cmpTarget(const void *a, const void *b) { + const RefEntry *aa = (const RefEntry*)a; + const RefEntry *bb = (const RefEntry*)b; + if(aa->targetHash < bb->targetHash) + return ZIP_CMP_LESS; + if(aa->targetHash > bb->targetHash) + return ZIP_CMP_MORE; + return (enum ZIP_CMP)UA_ExpandedNodeId_order(aa->target, bb->target); +} + +ZIP_FUNCTIONS(RefHead, RefEntry, zipfields, RefEntry, zipfields, cmpTarget) + +UA_StatusCode +RefTree_init(RefTree *rt) { + rt->size = 0; + rt->capacity = 0; + ZIP_INIT(&rt->head); + size_t space = (sizeof(UA_ExpandedNodeId) + sizeof(RefEntry)) * UA_REFTREE_INITIAL_SIZE; + rt->targets = (UA_ExpandedNodeId*)UA_malloc(space); + if(!rt->targets) + return UA_STATUSCODE_BADOUTOFMEMORY; + rt->capacity = UA_REFTREE_INITIAL_SIZE; + return UA_STATUSCODE_GOOD; +} + +void +RefTree_clear(RefTree *rt) { + for(size_t i = 0; i < rt->size; i++) + UA_ExpandedNodeId_clear(&rt->targets[i]); + if(rt->targets) + UA_free(rt->targets); +} + +/* Double the capacity of the reftree */ +static UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT +RefTree_double(RefTree *rt) { + size_t capacity = rt->capacity * 2; + UA_assert(capacity > 0); + size_t space = (sizeof(UA_ExpandedNodeId) + sizeof(RefEntry)) * capacity; + UA_ExpandedNodeId *newTargets = (UA_ExpandedNodeId*)UA_realloc(rt->targets, space); + if(!newTargets) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Move the entries to the new location */ + RefEntry *reArray = (RefEntry*) + ((uintptr_t)newTargets + (capacity * sizeof(UA_ExpandedNodeId))); + RefEntry *oldReArray = (RefEntry*) + ((uintptr_t)newTargets + (rt->capacity * sizeof(UA_ExpandedNodeId))); + memmove(reArray, oldReArray, rt->size * sizeof(RefEntry)); + + /* Reinsert all entries into the tree. The new pointer location has changed + * their ziptree rank. */ + rt->head.root = NULL; + for(size_t i = 0; i < rt->size; i++) { + reArray[i].target = &newTargets[i]; + ZIP_INSERT(RefHead, &rt->head, &reArray[i]); + } + + rt->capacity = capacity; + rt->targets = newTargets; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +RefTree_add(RefTree *rt, UA_NodePointer target, UA_Boolean *duplicate) { + UA_ExpandedNodeId en = UA_NodePointer_toExpandedNodeId(target); + + /* Is the target already in the tree? */ + RefEntry dummy; + memset(&dummy, 0, sizeof(RefEntry)); + dummy.target = &en; + dummy.targetHash = UA_ExpandedNodeId_hash(&en); + if(ZIP_FIND(RefHead, &rt->head, &dummy)) { + if(duplicate) + *duplicate = true; + return UA_STATUSCODE_GOOD; + } + + UA_StatusCode s = UA_STATUSCODE_GOOD; + if(rt->capacity <= rt->size) { + s = RefTree_double(rt); + if(s != UA_STATUSCODE_GOOD) + return s; + } + s = UA_ExpandedNodeId_copy(&en, &rt->targets[rt->size]); + if(s != UA_STATUSCODE_GOOD) + return s; + RefEntry *re = (RefEntry*)((uintptr_t)rt->targets + + (sizeof(UA_ExpandedNodeId) * rt->capacity) + + (sizeof(RefEntry) * rt->size)); + re->target = &rt->targets[rt->size]; + re->targetHash = dummy.targetHash; + ZIP_INSERT(RefHead, &rt->head, re); + rt->size++; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +RefTree_addNodeId(RefTree *rt, const UA_NodeId *target, + UA_Boolean *duplicate) { + return RefTree_add(rt, UA_NodePointer_fromNodeId(target), duplicate); +} + +UA_Boolean +RefTree_contains(RefTree *rt, const UA_ExpandedNodeId *target) { + RefEntry dummy; + dummy.target = target; + dummy.targetHash = UA_ExpandedNodeId_hash(target); + return !!ZIP_FIND(RefHead, &rt->head, &dummy); +} + +UA_Boolean +RefTree_containsNodeId(RefTree *rt, const UA_NodeId *target) { + UA_ExpandedNodeId en; + en.nodeId = *target; + en.namespaceUri = UA_STRING_NULL; + en.serverIndex = 0; + return RefTree_contains(rt, &en); +} + +/********************/ +/* Browse Recursive */ +/********************/ + +struct BrowseRecursiveContext { + UA_Server *server; + RefTree *rt; + UA_UInt16 depth; + UA_BrowseDirection browseDirection; + UA_ReferenceTypeSet refTypes; + UA_UInt32 nodeClassMask; + UA_StatusCode status; + UA_Boolean includeStartNodes; +}; + +static void * +browseRecursiveCallback(void *context, UA_ReferenceTarget *t) { + struct BrowseRecursiveContext *brc = + (struct BrowseRecursiveContext*)context; + + /* Have we reached the max recursion depth? */ + if(brc->depth >= UA_MAX_TREE_RECURSE) + return NULL; + + /* Is this a non-local reference? If yes include it in the returned set. */ + if(!UA_NodePointer_isLocal(t->targetId)) { + brc->status = RefTree_add(brc->rt, t->targetId, NULL); + return (brc->status == UA_STATUSCODE_GOOD) ? NULL : (void*)0x01; + } + + /* We only look at the NodeClass attribute and a subset of the references. + * Get a node with only these elements if the NodeStore supports that. */ + const UA_Node *node = + UA_NODESTORE_GETFROMREF_SELECTIVE(brc->server, t->targetId, + UA_NODEATTRIBUTESMASK_NODECLASS, + brc->refTypes, brc->browseDirection); + if(!node) + return NULL; + + /* Add the current node if we don't want to skip it as a start node and it + * matches the nodeClassMask filter Recurse into the children in any + * case. */ + const UA_NodeHead *head = &node->head; + if((brc->includeStartNodes || brc->depth > 0) && + matchClassMask(node, brc->nodeClassMask)) { + UA_Boolean duplicate = false; + brc->status = RefTree_addNodeId(brc->rt, &head->nodeId, &duplicate); + if(duplicate || brc->status != UA_STATUSCODE_GOOD) + goto cleanup; + } + + /* Recurse */ + brc->depth++; + void *res = NULL; + for(size_t i = 0; i < head->referencesSize && !res; i++) { + UA_NodeReferenceKind *rk = &head->references[i]; + + /* Reference in the right direction? */ + if(rk->isInverse && brc->browseDirection == UA_BROWSEDIRECTION_FORWARD) + continue; + if(!rk->isInverse && brc->browseDirection == UA_BROWSEDIRECTION_INVERSE) + continue; + + /* Is the reference part of the hierarchy of references we look for? */ + if(!UA_ReferenceTypeSet_contains(&brc->refTypes, rk->referenceTypeIndex)) + continue; + + res = UA_NodeReferenceKind_iterate(rk, browseRecursiveCallback, brc); + } + brc->depth--; + + cleanup: + UA_NODESTORE_RELEASE(brc->server, node); + return (brc->status == UA_STATUSCODE_GOOD) ? NULL : (void*)0x01; +} + +UA_StatusCode +browseRecursive(UA_Server *server, size_t startNodesSize, const UA_NodeId *startNodes, + UA_BrowseDirection browseDirection, const UA_ReferenceTypeSet *refTypes, + UA_UInt32 nodeClassMask, UA_Boolean includeStartNodes, + size_t *resultsSize, UA_ExpandedNodeId **results) { + RefTree rt; + UA_StatusCode retval = RefTree_init(&rt); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + struct BrowseRecursiveContext brc; + brc.server = server; + brc.rt = &rt; + brc.depth = 0; + brc.refTypes = *refTypes; + brc.nodeClassMask = nodeClassMask; + brc.status = UA_STATUSCODE_GOOD; + brc.includeStartNodes = includeStartNodes; + + for(size_t i = 0; i < startNodesSize && brc.status == UA_STATUSCODE_GOOD; i++) { + UA_ReferenceTarget target; + target.targetId = UA_NodePointer_fromNodeId(&startNodes[i]); + + /* Call the inner recursive browse separately for the search direction. + * Otherwise we might take one step up and another step down in the + * search tree. */ + if(browseDirection == UA_BROWSEDIRECTION_FORWARD || + browseDirection == UA_BROWSEDIRECTION_BOTH) { + brc.browseDirection = UA_BROWSEDIRECTION_FORWARD; + browseRecursiveCallback(&brc, &target); + } + + if(browseDirection == UA_BROWSEDIRECTION_INVERSE || + browseDirection == UA_BROWSEDIRECTION_BOTH) { + brc.browseDirection = UA_BROWSEDIRECTION_INVERSE; + browseRecursiveCallback(&brc, &target); + } + } + + if(rt.size > 0 && brc.status == UA_STATUSCODE_GOOD) { + *results = rt.targets; + *resultsSize = rt.size; + } else { + RefTree_clear(&rt); + } + return brc.status; +} + +UA_StatusCode +UA_Server_browseRecursive(UA_Server *server, const UA_BrowseDescription *bd, + size_t *resultsSize, UA_ExpandedNodeId **results) { + lockServer(server); + + /* Set the list of relevant reference types */ + UA_ReferenceTypeSet refTypes; + UA_StatusCode retval = referenceTypeIndices(server, &bd->referenceTypeId, + &refTypes, bd->includeSubtypes); + if(retval != UA_STATUSCODE_GOOD) { + unlockServer(server); + return retval; + } + + /* Browse */ + retval = browseRecursive(server, 1, &bd->nodeId, bd->browseDirection, + &refTypes, bd->nodeClassMask, false, resultsSize, results); + + unlockServer(server); + return retval; +} + +/**********/ +/* Browse */ +/**********/ + +typedef struct { + size_t size; + size_t capacity; + UA_ReferenceDescription *descr; +} RefResult; + +static UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT +RefResult_init(RefResult *rr) { + memset(rr, 0, sizeof(RefResult)); + rr->descr = (UA_ReferenceDescription*) + UA_Array_new(UA_REFTREE_INITIAL_SIZE, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); + if(!rr->descr) + return UA_STATUSCODE_BADOUTOFMEMORY; + rr->capacity = UA_REFTREE_INITIAL_SIZE; + rr->size = 0; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT +RefResult_double(RefResult *rr) { + size_t newSize = rr->capacity * 2; + UA_ReferenceDescription *rd = (UA_ReferenceDescription*) + UA_realloc(rr->descr, newSize * sizeof(UA_ReferenceDescription)); + if(!rd) + return UA_STATUSCODE_BADOUTOFMEMORY; + memset(&rd[rr->size], 0, sizeof(UA_ReferenceDescription) * (newSize - rr->size)); + rr->descr = rd; + rr->capacity = newSize; + return UA_STATUSCODE_GOOD; +} + +static void +RefResult_clear(RefResult *rr) { + UA_assert(rr->descr != NULL); + for(size_t i = 0; i < rr->size; i++) + UA_ReferenceDescription_clear(&rr->descr[i]); + UA_free(rr->descr); +} + +struct ContinuationPoint { + ContinuationPoint *next; + UA_ByteString identifier; + + /* Parameters of the Browse Request */ + UA_BrowseDescription browseDescription; + UA_UInt32 maxReferences; + UA_ReferenceTypeSet relevantReferences; + + /* The last reference target that was transmitted to the client. The results + * list may be incomplete if the last target is removed or references added + * between the calls to Browse/BrowseNext. */ + UA_NodePointer lastTarget; + UA_Byte lastRefKindIndex; + UA_Boolean lastRefInverse; +}; + +ContinuationPoint * +ContinuationPoint_clear(ContinuationPoint *cp) { + UA_ByteString_clear(&cp->identifier); + UA_BrowseDescription_clear(&cp->browseDescription); + UA_NodePointer_clear(&cp->lastTarget); + return cp->next; +} + +struct BrowseContext { + /* Context */ + ContinuationPoint *cp; + UA_Server *server; + UA_Session *session; + UA_NodeReferenceKind *rk; + UA_ReferenceTypeSet resultRefs; /* With additional references for type + * lookups */ + UA_Boolean activeCP; /* true during "forwarding" to the position of the last + * reference target */ + + /* Results */ + RefResult rr; + UA_StatusCode status; + UA_Boolean done; +}; + +/* Target node on top of the stack */ +static UA_StatusCode +addReferenceDescription(struct BrowseContext *bc, UA_NodePointer nodeP, + const UA_Node *curr) { + UA_assert(curr); + UA_BrowseDescription *bd = &bc->cp->browseDescription; + + /* Ensure capacity is left */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(bc->rr.size >= bc->rr.capacity) { + res = RefResult_double(&bc->rr); + if(res != UA_STATUSCODE_GOOD) + return res; + } + + UA_ReferenceDescription *descr = &bc->rr.descr[bc->rr.size]; + + /* Fields without access to the actual node */ + UA_ExpandedNodeId en = UA_NodePointer_toExpandedNodeId(nodeP); + res = UA_ExpandedNodeId_copy(&en, &descr->nodeId); + if(bd->resultMask & UA_BROWSERESULTMASK_REFERENCETYPEID) { + const UA_NodeId *refTypeId = + UA_NODESTORE_GETREFERENCETYPEID(bc->server, bc->rk->referenceTypeIndex); + res |= UA_NodeId_copy(refTypeId, &descr->referenceTypeId); + } + if(bd->resultMask & UA_BROWSERESULTMASK_ISFORWARD) + descr->isForward = !bc->rk->isInverse; + + /* Create fields that require access to the actual node */ + if(bd->resultMask & UA_BROWSERESULTMASK_NODECLASS) + descr->nodeClass = curr->head.nodeClass; + + if(bd->resultMask & UA_BROWSERESULTMASK_BROWSENAME) + res |= UA_QualifiedName_copy(&curr->head.browseName, + &descr->browseName); + + if(bd->resultMask & UA_BROWSERESULTMASK_DISPLAYNAME) { + UA_LocalizedText displayname = + UA_Session_getNodeDisplayName(bc->session, &curr->head); + res |= UA_LocalizedText_copy(&displayname, &descr->displayName); + } + + if(bd->resultMask & UA_BROWSERESULTMASK_TYPEDEFINITION) { + if(curr->head.nodeClass == UA_NODECLASS_OBJECT || + curr->head.nodeClass == UA_NODECLASS_VARIABLE) { + const UA_Node *type = getNodeType(bc->server, &curr->head); + if(type) { + res |= UA_NodeId_copy(&type->head.nodeId, + &descr->typeDefinition.nodeId); + UA_NODESTORE_RELEASE(bc->server, type); + } + } + } + + /* Clean up and return */ + if(res != UA_STATUSCODE_GOOD) { + UA_ReferenceDescription_clear(descr); + return res; + } + bc->rr.size++; + return UA_STATUSCODE_GOOD; +} + +static void * +browseReferencTargetCallback(void *context, UA_ReferenceTarget *t) { + struct BrowseContext *bc = (struct BrowseContext*)context; + const UA_BrowseDescription *bd = &bc->cp->browseDescription; + ContinuationPoint *cp = bc->cp; + + /* Remote references are ignored */ + if(!UA_NodePointer_isLocal(t->targetId)) + return NULL; + + /* Get the node. Include only the ReferenceTypes we are interested in, + * including those for figuring out the TypeDefinition (if that was + * requested). */ + const UA_Node *target = + UA_NODESTORE_GETFROMREF_SELECTIVE(bc->server, t->targetId, + resultMask2AttributesMask(bd->resultMask), + bc->resultRefs, bd->browseDirection); + if(!target) + return NULL; + + /* The node class has to match */ + if(!matchClassMask(target, bd->nodeClassMask)) { + UA_NODESTORE_RELEASE(bc->server, target); + return NULL; + } + + /* Reached maxrefs. Return the "abort" signal. */ + if(bc->rr.size >= cp->maxReferences) { + UA_NODESTORE_RELEASE(bc->server, target); + return (void*)0x01; + } + + /* Create the reference description */ + bc->status = addReferenceDescription(bc, t->targetId, target); + + /* Release the node */ + UA_NODESTORE_RELEASE(bc->server, target); + + /* Store as last target. The itarget-id is a shallow copy for now. */ + cp->lastTarget = t->targetId; + cp->lastRefKindIndex = bc->rk->referenceTypeIndex; + cp->lastRefInverse = bc->rk->isInverse; + + /* Abort if the status is not good. Also doesn't make a deep-copy of + * cp->lastTarget after returning from here. */ + if(bc->status != UA_STATUSCODE_GOOD) { + UA_NodePointer_init(&cp->lastTarget); + return (void*)0x01; + } + return NULL; +} + +/* Returns whether the node / continuationpoint is done */ +static void +browseWithNode(struct BrowseContext *bc, const UA_NodeHead *head ) { + ContinuationPoint *cp = bc->cp; + const UA_BrowseDescription *bd = &cp->browseDescription; + + /* Loop over the ReferenceKinds */ + for(size_t i = 0; i < head->referencesSize && bc->status == UA_STATUSCODE_GOOD; ++i) { + UA_NodeReferenceKind *rk = &head->references[i]; + + /* If the continuation point was previously used, skip forward to the + * last ReferenceType that was transmitted */ + if(bc->activeCP && rk->referenceTypeIndex != cp->lastRefKindIndex) + continue; + if(bc->activeCP && rk->isInverse != cp->lastRefInverse) + continue; + + /* Reference in the right direction? */ + if(rk->isInverse && bd->browseDirection == UA_BROWSEDIRECTION_FORWARD) + continue; + if(!rk->isInverse && bd->browseDirection == UA_BROWSEDIRECTION_INVERSE) + continue; + + /* Is the reference part of the hierarchy of references we look for? */ + if(!UA_ReferenceTypeSet_contains(&cp->relevantReferences, rk->referenceTypeIndex)) + continue; + + /* We have a matching ReferenceKind */ + + /* Skip ahead to the target where the last continuation point stopped. + * This temporarily modifies rk. */ + UA_ReferenceIdTree left = {NULL}, right = {NULL}; + size_t nextTargetIndex = 0; + if(bc->activeCP) { + if(rk->hasRefTree) { + /* Unzip the tree until the continuation point. All NodeIds + * larger than the last target are guaranteed to sit on the + * right-hand side. */ + UA_ExpandedNodeId lastEn = + UA_NodePointer_toExpandedNodeId(cp->lastTarget); + UA_ReferenceTargetTreeElem key; + key.target.targetId = cp->lastTarget; + key.targetIdHash = UA_ExpandedNodeId_hash(&lastEn); + ZIP_UNZIP(UA_ReferenceIdTree, + (UA_ReferenceIdTree*)&rk->targets.tree.idRoot, + &key, &left, &right); + rk->targets.tree.idRoot = right.root; + } else { + /* Iterate over the array to find the match */ + for(; nextTargetIndex < rk->targetsSize; nextTargetIndex++) { + UA_ReferenceTarget *t = &rk->targets.array[nextTargetIndex]; + if(UA_NodePointer_equal(cp->lastTarget, t->targetId)) + break; + } + if(nextTargetIndex == rk->targetsSize) { + /* Not found - assume that this reference kind is done */ + bc->activeCP = false; + continue; + } + nextTargetIndex++; /* From the last index to the next index */ + rk->targets.array = &rk->targets.array[nextTargetIndex]; + rk->targetsSize -= nextTargetIndex; + } + + /* Clear cp->lastTarget before it gets overwritten in the following + * browse steps. */ + UA_NodePointer_clear(&cp->lastTarget); + } + + /* Iterate over all reference targets */ + bc->rk = rk; + void *res = UA_NodeReferenceKind_iterate(rk, browseReferencTargetCallback, bc); + + /* Undo the "skipping ahead" for the continuation point */ + if(bc->activeCP) { + if(rk->hasRefTree) { + rk->targets.tree.idRoot = + ZIP_ZIP(UA_ReferenceIdTree, left.root, right.root); + } else { + /* rk->targets.array = rk->targets.array[-nextTargetIndex]; */ + rk->targets.array = rk->targets.array - nextTargetIndex; + rk->targetsSize += nextTargetIndex; + UA_assert(rk->targetsSize > 0); + } + bc->activeCP = false; + } + + /* The iteration was aborted */ + if(res != NULL) { + /* Aborted with status code good -> the maximum number of browse + * results was reached. Make a deep copy of the last target for the + * continuation point. */ + if(bc->status == UA_STATUSCODE_GOOD) + bc->status = UA_NodePointer_copy(cp->lastTarget, &cp->lastTarget); + return; + } + } + + /* Reset last-target to prevent clearing it up */ + UA_NodePointer_init(&cp->lastTarget); + + /* Browsing the node is done */ + bc->done = true; +} + +/* Results for a single browsedescription. This is the inner loop for both + * Browse and BrowseNext. The ContinuationPoint contains all the data used. + * Including the BrowseDescription. Returns whether there are remaining + * references. */ +static void +browse(struct BrowseContext *bc) { + /* Is the browsedirection valid? */ + struct ContinuationPoint *cp = bc->cp; + const UA_BrowseDescription *descr = &cp->browseDescription; + if(descr->browseDirection != UA_BROWSEDIRECTION_BOTH && + descr->browseDirection != UA_BROWSEDIRECTION_FORWARD && + descr->browseDirection != UA_BROWSEDIRECTION_INVERSE) { + bc->status = UA_STATUSCODE_BADBROWSEDIRECTIONINVALID; + return; + } + + /* Get node with only the selected references and attributes */ + const UA_Node *node = + UA_NODESTORE_GET_SELECTIVE(bc->server, &descr->nodeId, + resultMask2AttributesMask(descr->resultMask), + bc->resultRefs, descr->browseDirection); + if(!node) { + bc->status = UA_STATUSCODE_BADNODEIDUNKNOWN; + return; + } + + /* Check AccessControl rights */ + if(bc->session != &bc->server->adminSession) { + UA_LOCK_ASSERT(&bc->server->serviceMutex, 1); + if(!bc->server->config.accessControl. + allowBrowseNode(bc->server, &bc->server->config.accessControl, + &bc->session->sessionId, bc->session->sessionHandle, + &descr->nodeId, node->head.context)) { + UA_NODESTORE_RELEASE(bc->server, node); + bc->status = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + } + + /* Browse the node */ + browseWithNode(bc, &node->head); + UA_NODESTORE_RELEASE(bc->server, node); + + /* Is the reference type valid? This is very infrequent. So we only test + * this if browsing came up empty. If the node has references of that type, + * we know the reftype to be good. */ + if(bc->rr.size == 0 && !UA_NodeId_isNull(&descr->referenceTypeId)) { + const UA_Node *reftype = + UA_NODESTORE_GET_SELECTIVE(bc->server, &descr->referenceTypeId, + UA_NODEATTRIBUTESMASK_NODECLASS, + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + if(!reftype) { + bc->status = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + return; + } + + UA_Boolean isRef = (reftype->head.nodeClass == UA_NODECLASS_REFERENCETYPE); + UA_NODESTORE_RELEASE(bc->server, reftype); + + if(!isRef) { + bc->status = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + return; + } + } +} + +/* Start to browse with no previous cp */ +void +Operation_Browse(UA_Server *server, UA_Session *session, const UA_UInt32 *maxrefs, + const UA_BrowseDescription *descr, UA_BrowseResult *result) { + /* Stack-allocate a temporary cp */ + ContinuationPoint cp; + memset(&cp, 0, sizeof(ContinuationPoint)); + cp.maxReferences = *maxrefs; + cp.browseDescription = *descr; /* Shallow copy. Deep-copy later if we persist the cp. */ + + /* How many references can we return at most? */ + if(cp.maxReferences == 0) { + if(server->config.maxReferencesPerNode != 0) { + cp.maxReferences = server->config.maxReferencesPerNode; + } else { + cp.maxReferences = UA_INT32_MAX; + } + } else { + if(server->config.maxReferencesPerNode != 0 && + cp.maxReferences > server->config.maxReferencesPerNode) { + cp.maxReferences= server->config.maxReferencesPerNode; + } + } + + /* Get the list of relevant reference types */ + result->statusCode = + referenceTypeIndices(server, &descr->referenceTypeId, + &cp.relevantReferences, descr->includeSubtypes); + if(result->statusCode != UA_STATUSCODE_GOOD) + return; + + /* Prepare the context */ + struct BrowseContext bc; + bc.cp = &cp; + bc.server = server; + bc.session = session; + bc.status = UA_STATUSCODE_GOOD; + bc.done = false; + bc.activeCP = false; + bc.resultRefs = cp.relevantReferences; + if(cp.browseDescription.resultMask & UA_BROWSERESULTMASK_TYPEDEFINITION) { + /* Get the node with additional reference types if we need to lookup the + * TypeDefinition */ + bc.resultRefs = UA_ReferenceTypeSet_union(bc.resultRefs, + UA_ReferenceTypeSet_union(UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASTYPEDEFINITION), + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE))); + } + result->statusCode = RefResult_init(&bc.rr); + if(result->statusCode != UA_STATUSCODE_GOOD) + return; + + /* Perform the browse */ + browse(&bc); + + if(bc.status != UA_STATUSCODE_GOOD || bc.rr.size == 0) { + /* No relevant references, return array of length zero */ + RefResult_clear(&bc.rr); + result->references = (UA_ReferenceDescription*)UA_EMPTY_ARRAY_SENTINEL; + result->statusCode = bc.status; + return; + } + + /* Move results */ + result->references = bc.rr.descr; + result->referencesSize = bc.rr.size; + + /* Exit early if done */ + if(bc.done) + return; + + /* Persist the continuation point */ + + ContinuationPoint *cp2 = NULL; + UA_Guid *ident = NULL; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + /* Enough space for the continuation point? */ + if(session->availableContinuationPoints == 0) { + retval = UA_STATUSCODE_BADNOCONTINUATIONPOINTS; + goto cleanup; + } + + /* Allocate and fill the data structure */ + cp2 = (ContinuationPoint*)UA_calloc(1, sizeof(ContinuationPoint)); + if(!cp2) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + /* The BrowseDescription is only a shallow copy so far */ + retval = UA_BrowseDescription_copy(descr, &cp2->browseDescription); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + cp2->maxReferences = cp.maxReferences; + cp2->relevantReferences = cp.relevantReferences; + cp2->lastTarget = cp.lastTarget; /* Move the (deep) copy */ + UA_NodePointer_init(&cp.lastTarget); /* No longer clear below (cleanup) */ + cp2->lastRefKindIndex = cp.lastRefKindIndex; + cp2->lastRefInverse = cp.lastRefInverse; + + /* Create a random bytestring via a Guid */ + ident = UA_Guid_new(); + if(!ident) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + *ident = UA_Guid_random(); + cp2->identifier.data = (UA_Byte*)ident; + cp2->identifier.length = sizeof(UA_Guid); + + /* Return the cp identifier */ + retval = UA_ByteString_copy(&cp2->identifier, &result->continuationPoint); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Attach the cp to the session */ + cp2->next = session->continuationPoints; + session->continuationPoints = cp2; + --session->availableContinuationPoints; + return; + + cleanup: + if(cp2) { + ContinuationPoint_clear(cp2); + UA_free(cp2); + } + UA_NodePointer_clear(&cp.lastTarget); + UA_BrowseResult_clear(result); + result->statusCode = retval; +} + +void Service_Browse(UA_Server *server, UA_Session *session, + const UA_BrowseRequest *request, UA_BrowseResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing BrowseRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Test the number of operations in the request */ + if(server->config.maxNodesPerBrowse != 0 && + request->nodesToBrowseSize > server->config.maxNodesPerBrowse) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + /* No views supported at the moment */ + if(!UA_NodeId_isNull(&request->view.viewId)) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADVIEWIDUNKNOWN; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_Browse, + &request->requestedMaxReferencesPerNode, + &request->nodesToBrowseSize, + &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION], + &response->resultsSize, + &UA_TYPES[UA_TYPES_BROWSERESULT]); +} + +UA_BrowseResult +UA_Server_browse(UA_Server *server, UA_UInt32 maxReferences, + const UA_BrowseDescription *bd) { + UA_BrowseResult result; + UA_BrowseResult_init(&result); + lockServer(server); + Operation_Browse(server, &server->adminSession, &maxReferences, bd, &result); + unlockServer(server); + return result; +} + +static void +Operation_BrowseNext(UA_Server *server, UA_Session *session, + const UA_Boolean *releaseContinuationPoints, + const UA_ByteString *continuationPoint, UA_BrowseResult *result) { + /* Find the continuation point */ + ContinuationPoint **prev = &session->continuationPoints; + ContinuationPoint *cp; + while((cp = *prev)) { + if(UA_ByteString_equal(&cp->identifier, continuationPoint)) + break; + prev = &cp->next; + } + if(!cp) { + result->statusCode = UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; + return; + } + + /* Remove the cp */ + if(*releaseContinuationPoints) { + *prev = ContinuationPoint_clear(cp); + UA_free(cp); + ++session->availableContinuationPoints; + return; + } + + /* Prepare the context */ + struct BrowseContext bc; + bc.cp = cp; + bc.server = server; + bc.session = session; + bc.status = UA_STATUSCODE_GOOD; + bc.done = false; + bc.activeCP = true; + bc.resultRefs = cp->relevantReferences; + if(cp->browseDescription.resultMask & UA_BROWSERESULTMASK_TYPEDEFINITION) { + /* Get the node with additional reference types if we need to lookup the + * TypeDefinition */ + bc.resultRefs = UA_ReferenceTypeSet_union(bc.resultRefs, + UA_ReferenceTypeSet_union(UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASTYPEDEFINITION), + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE))); + } + result->statusCode = RefResult_init(&bc.rr); + if(result->statusCode != UA_STATUSCODE_GOOD) + return; + + /* Continue browsing */ + browse(&bc); + + if(bc.status != UA_STATUSCODE_GOOD || bc.rr.size == 0) { + /* No relevant references, return array of length zero */ + RefResult_clear(&bc.rr); + result->references = (UA_ReferenceDescription*)UA_EMPTY_ARRAY_SENTINEL; + result->statusCode = bc.status; + goto remove_cp; + } + + /* Move results */ + result->references = bc.rr.descr; + result->referencesSize = bc.rr.size; + + if(bc.done) + goto remove_cp; + + /* Return the cp identifier to signal that there are references left */ + bc.status = UA_ByteString_copy(&cp->identifier, &result->continuationPoint); + if(bc.status != UA_STATUSCODE_GOOD) { + UA_BrowseResult_clear(result); + result->statusCode = bc.status; + } + return; + + remove_cp: + /* Remove the cp */ + *prev = ContinuationPoint_clear(cp); + UA_free(cp); + ++session->availableContinuationPoints; +} + +void +Service_BrowseNext(UA_Server *server, UA_Session *session, + const UA_BrowseNextRequest *request, + UA_BrowseNextResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing BrowseNextRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_Boolean releaseContinuationPoints = + request->releaseContinuationPoints; /* request is const */ + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_BrowseNext, + &releaseContinuationPoints, + &request->continuationPointsSize, + &UA_TYPES[UA_TYPES_BYTESTRING], + &response->resultsSize, + &UA_TYPES[UA_TYPES_BROWSERESULT]); +} + +UA_BrowseResult +UA_Server_browseNext(UA_Server *server, UA_Boolean releaseContinuationPoint, + const UA_ByteString *continuationPoint) { + UA_BrowseResult result; + UA_BrowseResult_init(&result); + lockServer(server); + Operation_BrowseNext(server, &server->adminSession, &releaseContinuationPoint, + continuationPoint, &result); + unlockServer(server); + return result; +} + +/***********************/ +/* TranslateBrowsePath */ +/***********************/ + +/* Add all entries for the hash. There are possible duplicates due to hash + * collisions. The full browsename is checked afterwards. */ +static void * +addBrowseHashTarget(void *context, UA_ReferenceTargetTreeElem *elem) { + RefTree *next = (RefTree*)context; + return (void*)(uintptr_t)RefTree_add(next, elem->target.targetId, NULL); +} + +static UA_StatusCode +walkBrowsePathElement(UA_Server *server, UA_Session *session, + const UA_RelativePath *path, const size_t pathIndex, + UA_UInt32 nodeClassMask, const UA_QualifiedName *lastBrowseName, + UA_BrowsePathResult *result, RefTree *current, RefTree *next) { + /* For the next level. Note the difference from lastBrowseName */ + const UA_RelativePathElement *elem = &path->elements[pathIndex]; + UA_UInt32 browseNameHash = UA_QualifiedName_hash(&elem->targetName); + + /* Get the relevant ReferenceTypes */ + UA_ReferenceTypeSet refTypes; + UA_StatusCode res = + referenceTypeIndices(server, &elem->referenceTypeId, + &refTypes, elem->includeSubtypes); + if(res != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADNOMATCH; + + /* Loop over all Nodes in the current depth level */ + for(size_t i = 0; i < current->size; i++) { + /* Remote Node. Immediately add to the results with the + * RemainingPathIndex set. */ + if(!UA_ExpandedNodeId_isLocal(¤t->targets[i])) { + /* Increase the size of the results array */ + UA_BrowsePathTarget *tmpResults = (UA_BrowsePathTarget*) + UA_realloc(result->targets, sizeof(UA_BrowsePathTarget) * + (result->targetsSize + 1)); + if(!tmpResults) + return UA_STATUSCODE_BADOUTOFMEMORY; + result->targets = tmpResults; + + /* Copy over the result */ + res = UA_ExpandedNodeId_copy(¤t->targets[i], + &result->targets[result->targetsSize].targetId); + result->targets[result->targetsSize].remainingPathIndex = (UA_UInt32)pathIndex; + result->targetsSize++; + if(res != UA_STATUSCODE_GOOD) + break; + continue; + } + + /* Local Node. Add to the tree of results at the next depth. Get only + * the NodeClass + BrowseName attribute and the selected ReferenceTypes + * if the nodestore supports that. */ + const UA_Node *node = + UA_NODESTORE_GET_SELECTIVE(server, ¤t->targets[i].nodeId, + UA_NODEATTRIBUTESMASK_NODECLASS | + UA_NODEATTRIBUTESMASK_BROWSENAME, + refTypes, + elem->isInverse ? UA_BROWSEDIRECTION_INVERSE : + UA_BROWSEDIRECTION_FORWARD); + if(!node) + continue; + + /* Test whether the node fits the class mask */ + UA_Boolean skip = !matchClassMask(node, nodeClassMask); + + /* Does the BrowseName match for the current node (not the references + * going out here) */ + skip |= (lastBrowseName && + !UA_QualifiedName_equal(lastBrowseName, &node->head.browseName)); + + if(skip) { + UA_NODESTORE_RELEASE(server, node); + continue; + } + + /* Loop over the ReferenceKinds */ + UA_ReferenceTarget targetHashKey; + targetHashKey.targetNameHash = browseNameHash; + for(size_t j = 0; j < node->head.referencesSize; j++) { + UA_NodeReferenceKind *rk = &node->head.references[j]; + + /* Does the direction of the reference match? */ + if(rk->isInverse != elem->isInverse) + continue; + + /* Does the reference type match? */ + if(!UA_ReferenceTypeSet_contains(&refTypes, rk->referenceTypeIndex)) + continue; + + /* Retrieve by BrowseName hash. We might have several nodes where + * the hash matches. The exact BrowseName will be verified in the + * next iteration of the outer loop. So we only have to retrieve + * every node just once. */ + + if(rk->hasRefTree) { + res = (UA_StatusCode)(uintptr_t) + ZIP_ITER_KEY(UA_ReferenceNameTree, + (UA_ReferenceNameTree*)&rk->targets.tree.nameRoot, + &targetHashKey, addBrowseHashTarget, next); + if(res != UA_STATUSCODE_GOOD) + break; + } else { + /* The array entries don't have a BrowseName hash. Add all of + * them at this level to be checked with a full string + * comparison. */ + for(size_t k = 0; k < rk->targetsSize; k++) { + if(rk->targets.array[k].targetNameHash != browseNameHash) + continue; + res = RefTree_add(next, rk->targets.array[k].targetId, NULL); + if(res != UA_STATUSCODE_GOOD) + break; + } + if(res != UA_STATUSCODE_GOOD) + break; + } + } + + UA_NODESTORE_RELEASE(server, node); + } + return res; +} + +static void +Operation_TranslateBrowsePathToNodeIds(UA_Server *server, UA_Session *session, + const UA_UInt32 *nodeClassMask, + const UA_BrowsePath *path, + UA_BrowsePathResult *result) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(path->relativePath.elementsSize == 0) { + result->statusCode = UA_STATUSCODE_BADNOTHINGTODO; + return; + } + + /* RelativePath elements must not have an empty targetName */ + for(size_t i = 0; i < path->relativePath.elementsSize; ++i) { + if(UA_QualifiedName_isNull(&path->relativePath.elements[i].targetName)) { + result->statusCode = UA_STATUSCODE_BADBROWSENAMEINVALID; + return; + } + } + + /* Check if the starting node exists */ + const UA_Node *startingNode = + UA_NODESTORE_GET_SELECTIVE(server, &path->startingNode, + UA_NODEATTRIBUTESMASK_NONE, + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + if(!startingNode) { + result->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN; + return; + } + UA_NODESTORE_RELEASE(server, startingNode); + + /* Create two RefTrees that are alternated between path elements */ + RefTree rt1; + RefTree rt2; + RefTree *current = &rt1; + RefTree *next = &rt2; + RefTree *tmp; + result->statusCode |= RefTree_init(&rt1); + result->statusCode |= RefTree_init(&rt2); + UA_BrowsePathTarget *tmpResults = NULL; + UA_QualifiedName *browseNameFilter = NULL; + if(result->statusCode != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Copy the starting node into next */ + result->statusCode = RefTree_addNodeId(next, &path->startingNode, NULL); + if(result->statusCode != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Walk the path elements. Retrieve the nodes only once from the NodeStore. + * Hence the BrowseName is checked with one element "delay". */ + for(size_t i = 0; i < path->relativePath.elementsSize; i++) { + /* Switch the trees */ + tmp = current; + current = next; + next = tmp; + + /* Clear up current, keep the capacity */ + for(size_t j = 0; j < next->size; j++) + UA_ExpandedNodeId_clear(&next->targets[j]); + next->size = 0; + ZIP_INIT(&next->head); + + /* Do this check after next->size has been set to zero */ + if(current->size == 0) + break; + + /* Walk element for all NodeIds in the "current" tree. + * Puts new results in the "next" tree. */ + result->statusCode = + walkBrowsePathElement(server, session, &path->relativePath, i, + *nodeClassMask, browseNameFilter, result, current, next); + if(result->statusCode != UA_STATUSCODE_GOOD) + goto cleanup; + + browseNameFilter = &path->relativePath.elements[i].targetName; + } + + /* Allocate space for the results array */ + tmpResults = (UA_BrowsePathTarget*) + UA_realloc(result->targets, sizeof(UA_BrowsePathTarget) * + (result->targetsSize + next->size)); + if(!tmpResults && next->size > 0) { + result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + result->targets = tmpResults; + + for(size_t k = 0; k < next->size; k++) { + /* Check the BrowseName. It has been filtered only via its hash so far. + * Get only the BrowseName attribute if the nodestore supports that. */ + const UA_Node *node = + UA_NODESTORE_GET_SELECTIVE(server, &next->targets[k].nodeId, + UA_NODEATTRIBUTESMASK_BROWSENAME, + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + if(!node) + continue; + UA_Boolean match = UA_QualifiedName_equal(browseNameFilter, &node->head.browseName); + UA_NODESTORE_RELEASE(server, node); + if(!match) + continue; + + /* Move to the target to the results array */ + result->targets[result->targetsSize].targetId = next->targets[k]; + result->targets[result->targetsSize].remainingPathIndex = UA_UINT32_MAX; + UA_ExpandedNodeId_init(&next->targets[k]); + result->targetsSize++; + } + + /* No results => BadNoMatch status code */ + if(result->targetsSize == 0 && result->statusCode == UA_STATUSCODE_GOOD) + result->statusCode = UA_STATUSCODE_BADNOMATCH; + + /* Clean up the temporary arrays and the targets */ + cleanup: + RefTree_clear(&rt1); + RefTree_clear(&rt2); + if(result->statusCode != UA_STATUSCODE_GOOD) { + for(size_t i = 0; i < result->targetsSize; ++i) + UA_BrowsePathTarget_clear(&result->targets[i]); + if(result->targets) + UA_free(result->targets); + result->targets = NULL; + result->targetsSize = 0; + } +} + +UA_BrowsePathResult +translateBrowsePathToNodeIds(UA_Server *server, + const UA_BrowsePath *browsePath) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_BrowsePathResult result; + UA_BrowsePathResult_init(&result); + UA_UInt32 nodeClassMask = 0; /* All node classes */ + Operation_TranslateBrowsePathToNodeIds(server, &server->adminSession, &nodeClassMask, + browsePath, &result); + return result; +} + +UA_BrowsePathResult +UA_Server_translateBrowsePathToNodeIds(UA_Server *server, + const UA_BrowsePath *browsePath) { + lockServer(server); + UA_BrowsePathResult result = translateBrowsePathToNodeIds(server, browsePath); + unlockServer(server); + return result; +} + +void +Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *session, + const UA_TranslateBrowsePathsToNodeIdsRequest *request, + UA_TranslateBrowsePathsToNodeIdsResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing TranslateBrowsePathsToNodeIdsRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Test the number of operations in the request */ + if(server->config.maxNodesPerTranslateBrowsePathsToNodeIds != 0 && + request->browsePathsSize > server->config.maxNodesPerTranslateBrowsePathsToNodeIds) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + UA_UInt32 nodeClassMask = 0; /* All node classes */ + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_TranslateBrowsePathToNodeIds, + &nodeClassMask, + &request->browsePathsSize, &UA_TYPES[UA_TYPES_BROWSEPATH], + &response->resultsSize, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); +} + +UA_BrowsePathResult +browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, + size_t browsePathSize, const UA_QualifiedName *browsePath) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_BrowsePathResult bpr; + UA_BrowsePathResult_init(&bpr); + if(browsePathSize > UA_MAX_TREE_RECURSE) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Simplified Browse Path too long"); + bpr.statusCode = UA_STATUSCODE_BADINTERNALERROR; + return bpr; + } + + /* Construct the BrowsePath */ + UA_BrowsePath bp; + UA_BrowsePath_init(&bp); + bp.startingNode = origin; + + UA_RelativePathElement rpe[UA_MAX_TREE_RECURSE]; + memset(rpe, 0, sizeof(UA_RelativePathElement) * browsePathSize); + for(size_t j = 0; j < browsePathSize; j++) { + rpe[j].referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); + rpe[j].includeSubtypes = true; + rpe[j].targetName = browsePath[j]; + } + bp.relativePath.elements = rpe; + bp.relativePath.elementsSize = browsePathSize; + + /* Browse */ + UA_UInt32 nodeClassMask = UA_NODECLASS_OBJECT | UA_NODECLASS_VARIABLE | UA_NODECLASS_OBJECTTYPE; + + Operation_TranslateBrowsePathToNodeIds(server, &server->adminSession, &nodeClassMask, &bp, &bpr); + return bpr; +} + +UA_BrowsePathResult +UA_Server_browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, + size_t browsePathSize, const UA_QualifiedName *browsePath) { + lockServer(server); + UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, origin, browsePathSize, browsePath); + unlockServer(server); + return bpr; +} + +/************/ +/* Register */ +/************/ + +void Service_RegisterNodes(UA_Server *server, UA_Session *session, + const UA_RegisterNodesRequest *request, + UA_RegisterNodesResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing RegisterNodesRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + //TODO: hang the nodeids to the session if really needed + if(request->nodesToRegisterSize == 0) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; + return; + } + + /* Test the number of operations in the request */ + if(server->config.maxNodesPerRegisterNodes != 0 && + request->nodesToRegisterSize > server->config.maxNodesPerRegisterNodes) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Array_copy(request->nodesToRegister, request->nodesToRegisterSize, + (void**)&response->registeredNodeIds, &UA_TYPES[UA_TYPES_NODEID]); + if(response->responseHeader.serviceResult == UA_STATUSCODE_GOOD) + response->registeredNodeIdsSize = request->nodesToRegisterSize; +} + +void Service_UnregisterNodes(UA_Server *server, UA_Session *session, + const UA_UnregisterNodesRequest *request, + UA_UnregisterNodesResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing UnRegisterNodesRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + //TODO: remove the nodeids from the session if really needed + if(request->nodesToUnregisterSize == 0) + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; + + /* Test the number of operations in the request */ + if(server->config.maxNodesPerRegisterNodes != 0 && + request->nodesToUnregisterSize > server->config.maxNodesPerRegisterNodes) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } +} + +/**** amalgamated original file "/src/server/ua_services_method.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2017 (c) Florian Palm + * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016 (c) LEvertz + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Julian Grothoff + * Copyright 2020 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Martin Lang) + */ + + +#ifdef UA_ENABLE_METHODCALLS /* conditional compilation */ + +#define UA_MAX_METHOD_ARGUMENTS 64 + +struct GetArgumentsNodeContext { + UA_Server *server; + UA_String withBrowseName; +}; + +static void * +getArgumentsNodeCallback(void *context, UA_ReferenceTarget *t) { + struct GetArgumentsNodeContext *ctx = (struct GetArgumentsNodeContext*)context; + const UA_Node *refTarget = + UA_NODESTORE_GETFROMREF_SELECTIVE(ctx->server, t->targetId, + UA_NODEATTRIBUTESMASK_NODECLASS | + UA_NODEATTRIBUTESMASK_VALUE, + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + if(!refTarget) + return NULL; + if(refTarget->head.nodeClass == UA_NODECLASS_VARIABLE && + refTarget->head.browseName.namespaceIndex == 0 && + UA_String_equal(&ctx->withBrowseName, &refTarget->head.browseName.name)) { + return (void*)(uintptr_t)&refTarget->variableNode; + } + UA_NODESTORE_RELEASE(ctx->server, refTarget); + return NULL; +} + +static const UA_VariableNode * +getArgumentsVariableNode(UA_Server *server, const UA_NodeHead *head, + UA_String withBrowseName) { + for(size_t i = 0; i < head->referencesSize; ++i) { + UA_NodeReferenceKind *rk = &head->references[i]; + if(rk->isInverse) + continue; + if(rk->referenceTypeIndex != UA_REFERENCETYPEINDEX_HASPROPERTY) + continue; + struct GetArgumentsNodeContext ctx; + ctx.server = server; + ctx.withBrowseName = withBrowseName; + return (const UA_VariableNode*) + UA_NodeReferenceKind_iterate(rk, getArgumentsNodeCallback, &ctx); + } + return NULL; +} + +/* inputArgumentResults has the length request->inputArgumentsSize */ +static UA_StatusCode +checkAdjustArguments(UA_Server *server, UA_Session *session, + const UA_VariableNode *argRequirements, size_t argsSize, + UA_Variant *args, UA_StatusCode *inputArgumentResults) { + /* Verify that we have a Variant containing UA_Argument (scalar or array) in + * the "InputArguments" node */ + if(argRequirements->valueSource != UA_VALUESOURCE_DATA) + return UA_STATUSCODE_BADINTERNALERROR; + if(!argRequirements->value.data.value.hasValue) + return UA_STATUSCODE_BADINTERNALERROR; + if(argRequirements->value.data.value.value.type != &UA_TYPES[UA_TYPES_ARGUMENT]) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Verify the number of arguments. A scalar argument value is interpreted as + * an array of length 1. */ + size_t argReqsSize = argRequirements->value.data.value.value.arrayLength; + if(UA_Variant_isScalar(&argRequirements->value.data.value.value)) + argReqsSize = 1; + if(argReqsSize > argsSize) + return UA_STATUSCODE_BADARGUMENTSMISSING; + if(argReqsSize < argsSize) + return UA_STATUSCODE_BADTOOMANYARGUMENTS; + + /* Type-check every argument against the definition */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + UA_Argument *argReqs = (UA_Argument*)argRequirements->value.data.value.value.data; + const char *reason; + for(size_t i = 0; i < argReqsSize; ++i) { + /* Incompatible value. Try to correct the type if possible. */ + adjustValueType(server, &args[i], &argReqs[i].dataType); + + /* Check */ + if(!compatibleValue(server, session, &argReqs[i].dataType, argReqs[i].valueRank, + argReqs[i].arrayDimensionsSize, argReqs[i].arrayDimensions, + &args[i], NULL, &reason)) { + inputArgumentResults[i] = UA_STATUSCODE_BADTYPEMISMATCH; + retval = UA_STATUSCODE_BADINVALIDARGUMENT; + } + } + return retval; +} + +static const UA_NodeId hasComponentNodeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}}; +static const UA_NodeId organizedByNodeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_ORGANIZES}}; +static const UA_String namespaceDiModel = UA_STRING_STATIC("http://opcfoundation.org/UA/DI/"); +static const UA_NodeId hasTypeDefinitionNodeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASTYPEDEFINITION}}; +// ns=0 will be replace dynamically. DI-Spec. 1.01: +static UA_NodeId functionGroupNodeId = {0, UA_NODEIDTYPE_NUMERIC, {1005}}; + +static UA_Boolean +checkMethodReference(const UA_NodeHead *h, UA_ReferenceTypeSet refs, + const UA_ExpandedNodeId *methodId) { + for(size_t i = 0; i < h->referencesSize; i++) { + const UA_NodeReferenceKind *rk = &h->references[i]; + if(rk->isInverse) + continue; + if(!UA_ReferenceTypeSet_contains(&refs, rk->referenceTypeIndex)) + continue; + if(UA_NodeReferenceKind_findTarget(rk, methodId)) + return true; + } + return false; +} + +static void * +iterateFunctionGroupSearch(void *context, UA_ReferenceTarget *t) { + UA_Server *server = (UA_Server*)context; + if(!UA_NodePointer_isLocal(t->targetId)) + return NULL; + + UA_NodeId tmpId = UA_NodePointer_toNodeId(t->targetId); + if(isNodeInTree_singleRef(server, &tmpId, &functionGroupNodeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) + return (void*)0x01; + return NULL; +} + +static UA_StatusCode +checkFunctionalGroupMethodReference(UA_Server *server, const UA_NodeHead *h, + const UA_ExpandedNodeId *methodId, + UA_Boolean *found) { + /* Check whether the DI namespace is available */ + size_t foundNamespace = 0; + UA_StatusCode res = getNamespaceByName(server, namespaceDiModel, &foundNamespace); + UA_CHECK_STATUS(res, return UA_STATUSCODE_BADMETHODINVALID); + functionGroupNodeId.namespaceIndex = (UA_UInt16)foundNamespace; + + UA_ReferenceTypeSet hasTypeDefinitionRefs; + res = referenceTypeIndices(server, &hasTypeDefinitionNodeId, + &hasTypeDefinitionRefs, true); + UA_CHECK_STATUS(res, return res); + + /* Search for a HasTypeDefinition (or sub-) reference to the FunctionGroupType */ + UA_Boolean isFunctionGroup = false; + for(size_t i = 0; i < h->referencesSize && !isFunctionGroup; ++i) { + UA_NodeReferenceKind *rk = &h->references[i]; + if(rk->isInverse) + continue; + + /* Are these HasTypeDefinition references */ + if(!UA_ReferenceTypeSet_contains(&hasTypeDefinitionRefs, rk->referenceTypeIndex)) + continue; + + /* Reference points to FunctionGroupType (or sub-type) from the DI + * model? */ + isFunctionGroup = + (UA_NodeReferenceKind_iterate(rk, iterateFunctionGroupSearch, + server) != NULL); + if(isFunctionGroup) + break; + } + if(!isFunctionGroup) + return UA_STATUSCODE_GOOD; + + /* Search for the called method with reference Organize (or sub-type) from + * the parent object */ + UA_ReferenceTypeSet organizesRefs; + res = referenceTypeIndices(server, &organizedByNodeId, &organizesRefs, true); + UA_CHECK_STATUS(res, return res); + for(size_t k = 0; k < h->referencesSize; ++k) { + const UA_NodeReferenceKind *rk = &h->references[k]; + if(rk->isInverse) + continue; + if(!UA_ReferenceTypeSet_contains(&organizesRefs, rk->referenceTypeIndex)) + continue; + if(UA_NodeReferenceKind_findTarget(rk, methodId)) { + *found = true; + break; + } + } + return UA_STATUSCODE_GOOD; +} + +static void +callWithMethodAndObject(UA_Server *server, UA_Session *session, + const UA_CallMethodRequest *request, UA_CallMethodResult *result, + const UA_MethodNode *method, const UA_ObjectNode *object) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Verify the object's NodeClass */ + if(object->head.nodeClass != UA_NODECLASS_OBJECT && + object->head.nodeClass != UA_NODECLASS_OBJECTTYPE) { + result->statusCode = UA_STATUSCODE_BADNODECLASSINVALID; + return; + } + + /* Verify the method's NodeClass */ + if(method->head.nodeClass != UA_NODECLASS_METHOD) { + result->statusCode = UA_STATUSCODE_BADNODECLASSINVALID; + return; + } + + /* Is there a method to execute? */ + if(!method->method) { + result->statusCode = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* Verify method/object relations. Object must have a hasComponent or a + * subtype of hasComponent reference to the method node. Therefore, check + * every reference between the parent object and the method node if there is + * a hasComponent (or subtype) reference */ + UA_ExpandedNodeId methodId = UA_EXPANDEDNODEID_NODEID(request->methodId); + UA_ReferenceTypeSet hasComponentRefs; + result->statusCode = referenceTypeIndices(server, &hasComponentNodeId, + &hasComponentRefs, true); + UA_CHECK_STATUS(result->statusCode, return); + UA_Boolean found = checkMethodReference(&object->head, hasComponentRefs, &methodId); + + if(!found) { + /* If the object doesn't have a hasComponent reference to the method node, + * check its objectType (and its supertypes). Invoked method can be a component + * of objectType and be invoked on this objectType's instance (or on a instance + * of one of its subtypes). */ + const UA_Node *objectType = getNodeType(server, &object->head); + if(objectType) { + found = checkMethodReference(&objectType->head, hasComponentRefs, &methodId); + UA_NODESTORE_RELEASE(server, objectType); + } + } + + if(!found) { + /* The following ParentObject evaluation is a workaround only to fulfill + * the OPC UA Spec. Part 100 - Devices requirements regarding functional + * groups. Compare OPC UA Spec. Part 100 - Devices, Release 1.02 + * - 5.4 FunctionalGroupType + * - B.1 Functional Group Usages + * A functional group is a sub-type of the FolderType and is used to + * organize the Parameters and Methods from the complete set (named + * ParameterSet and MethodSet) in (Functional) groups for instance + * Configuration or Identification. The same Property, Parameter or + * Method can be referenced from more than one FunctionalGroup. */ + result->statusCode = + checkFunctionalGroupMethodReference(server, &object->head, &methodId, &found); + if(!found && result->statusCode == UA_STATUSCODE_GOOD) + result->statusCode = UA_STATUSCODE_BADMETHODINVALID; + UA_CHECK_STATUS(result->statusCode, return); + } + + /* Verify access rights */ + UA_Boolean executable = method->executable; + if(session != &server->adminSession) { + executable = executable && server->config.accessControl. + getUserExecutableOnObject(server, &server->config.accessControl, + &session->sessionId, session->sessionHandle, + &request->methodId, method->head.context, + &request->objectId, object->head.context); + } + + if(!executable) { + result->statusCode = UA_STATUSCODE_BADNOTEXECUTABLE; + return; + } + + /* The input arguments are const and not changed. We move the input + * arguments to a secondary array that is mutable. This is used for small + * adjustments on the type level during the type checking. But it has to be + * ensured that the original array can still by _clear'ed after the methods + * call. */ + if(request->inputArgumentsSize > UA_MAX_METHOD_ARGUMENTS) { + result->statusCode = UA_STATUSCODE_BADTOOMANYARGUMENTS; + return; + } + UA_Variant mutableInputArgs[UA_MAX_METHOD_ARGUMENTS]; + memcpy(mutableInputArgs, request->inputArguments, + sizeof(UA_Variant) * request->inputArgumentsSize); + + /* Allocate the inputArgumentResults array */ + result->inputArgumentResults = (UA_StatusCode*) + UA_Array_new(request->inputArgumentsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!result->inputArgumentResults) { + result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + result->inputArgumentResultsSize = request->inputArgumentsSize; + + /* Type-check the input arguments */ + const UA_VariableNode *inputArguments = + getArgumentsVariableNode(server, &method->head, UA_STRING("InputArguments")); + if(inputArguments) { + result->statusCode = + checkAdjustArguments(server, session, inputArguments, request->inputArgumentsSize, + mutableInputArgs, result->inputArgumentResults); + UA_NODESTORE_RELEASE(server, (const UA_Node*)inputArguments); + } else { + if(request->inputArgumentsSize > 0) { + result->statusCode = UA_STATUSCODE_BADTOOMANYARGUMENTS; + return; + } + } + + /* Return inputArgumentResults only for BADINVALIDARGUMENT */ + if(result->statusCode != UA_STATUSCODE_BADINVALIDARGUMENT) { + UA_Array_delete(result->inputArgumentResults, result->inputArgumentResultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); + result->inputArgumentResults = NULL; + result->inputArgumentResultsSize = 0; + } + + /* Error during type-checking? */ + if(result->statusCode != UA_STATUSCODE_GOOD) + return; + + /* Get the output arguments node */ + const UA_VariableNode *outputArguments = + getArgumentsVariableNode(server, &method->head, UA_STRING("OutputArguments")); + + /* Allocate the output arguments array */ + size_t outputArgsSize = 0; + if(outputArguments) + outputArgsSize = outputArguments->value.data.value.value.arrayLength; + result->outputArguments = (UA_Variant*) + UA_Array_new(outputArgsSize, &UA_TYPES[UA_TYPES_VARIANT]); + if(!result->outputArguments) { + result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + result->outputArgumentsSize = outputArgsSize; + + /* Release the output arguments node */ + UA_NODESTORE_RELEASE(server, (const UA_Node*)outputArguments); + + /* Call the method. If this is an async method, unlock the server lock for + * the duration of the (long-running) call. */ +#if UA_MULTITHREADING >= 100 + if(method->async) + unlockServer(server); +#endif + result->statusCode = method->method(server, &session->sessionId, session->sessionHandle, + &method->head.nodeId, method->head.context, + &object->head.nodeId, object->head.context, + request->inputArgumentsSize, mutableInputArgs, + result->outputArgumentsSize, result->outputArguments); +#if UA_MULTITHREADING >= 100 + if(method->async) + lockServer(server); +#endif + + /* TODO: Verify Output matches the argument definition */ +} + +#if UA_MULTITHREADING >= 100 + +static void +Operation_CallMethodAsync(UA_Server *server, UA_Session *session, UA_UInt32 requestId, + UA_UInt32 requestHandle, size_t opIndex, + UA_CallMethodRequest *opRequest, UA_CallMethodResult *opResult, + UA_AsyncResponse **ar) { + /* Get the method node. We only need the nodeClass and executable attribute. + * Take all forward hasProperty references to get the input/output argument + * definition variables. */ + const UA_Node *method = + UA_NODESTORE_GET_SELECTIVE(server, &opRequest->methodId, + UA_NODEATTRIBUTESMASK_NODECLASS | + UA_NODEATTRIBUTESMASK_EXECUTABLE, + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASPROPERTY), + UA_BROWSEDIRECTION_FORWARD); + if(!method) { + opResult->statusCode = UA_STATUSCODE_BADMETHODINVALID; + return; + } + + /* Get the object node. We only need the NodeClass attribute. But take all + * references for now. + * + * TODO: Which references do we need actually? */ + const UA_Node *object = + UA_NODESTORE_GET_SELECTIVE(server, &opRequest->objectId, + UA_NODEATTRIBUTESMASK_NODECLASS, + UA_REFERENCETYPESET_ALL, + UA_BROWSEDIRECTION_BOTH); + if(!object) { + opResult->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN; + UA_NODESTORE_RELEASE(server, method); + return; + } + + /* Synchronous execution */ + if(!method->methodNode.async) { + callWithMethodAndObject(server, session, opRequest, opResult, + &method->methodNode, &object->objectNode); + goto cleanup; + } + + /* <-- Async method call --> */ + + /* No AsyncResponse allocated so far */ + if(!*ar) { + opResult->statusCode = + UA_AsyncManager_createAsyncResponse(&server->asyncManager, server, + &session->sessionId, requestId, requestHandle, + UA_ASYNCOPERATIONTYPE_CALL, ar); + if(opResult->statusCode != UA_STATUSCODE_GOOD) + goto cleanup; + } + + /* Create the Async Request to be taken by workers */ + opResult->statusCode = + UA_AsyncManager_createAsyncOp(&server->asyncManager, + server, *ar, opIndex, opRequest); + + cleanup: + /* Release the method and object node */ + UA_NODESTORE_RELEASE(server, method); + UA_NODESTORE_RELEASE(server, object); +} + +void +Service_CallAsync(UA_Server *server, UA_Session *session, UA_UInt32 requestId, + const UA_CallRequest *request, UA_CallResponse *response, + UA_Boolean *finished) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing CallRequestAsync"); + if(server->config.maxNodesPerMethodCall != 0 && + request->methodsToCallSize > server->config.maxNodesPerMethodCall) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + UA_AsyncResponse *ar = NULL; + response->responseHeader.serviceResult = + UA_Server_processServiceOperationsAsync(server, session, requestId, + request->requestHeader.requestHandle, + (UA_AsyncServiceOperation)Operation_CallMethodAsync, + &request->methodsToCallSize, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST], + &response->resultsSize, &UA_TYPES[UA_TYPES_CALLMETHODRESULT], &ar); + + if(ar) { + if(ar->opCountdown > 0) { + /* Move all results to the AsyncResponse. The async operation + * results will be overwritten when the workers return results. */ + ar->response.callResponse = *response; + UA_CallResponse_init(response); + *finished = false; + } else { + /* If there is a new AsyncResponse, ensure it has at least one + * pending operation */ + UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); + } + } +} +#endif + +static void +Operation_CallMethod(UA_Server *server, UA_Session *session, void *context, + const UA_CallMethodRequest *request, UA_CallMethodResult *result) { + /* Get the method node. We only need the nodeClass and executable attribute. + * Take all forward hasProperty references to get the input/output argument + * definition variables. */ + const UA_Node *method = + UA_NODESTORE_GET_SELECTIVE(server, &request->methodId, + UA_NODEATTRIBUTESMASK_NODECLASS | + UA_NODEATTRIBUTESMASK_EXECUTABLE, + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASPROPERTY), + UA_BROWSEDIRECTION_FORWARD); + if(!method) { + result->statusCode = UA_STATUSCODE_BADMETHODINVALID; + return; + } + + /* Get the object node. We only need the NodeClass attribute. But take all + * references for now. + * + * TODO: Which references do we need actually? */ + const UA_Node *object = + UA_NODESTORE_GET_SELECTIVE(server, &request->objectId, + UA_NODEATTRIBUTESMASK_NODECLASS, + UA_REFERENCETYPESET_ALL, + UA_BROWSEDIRECTION_BOTH); + if(!object) { + result->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN; + UA_NODESTORE_RELEASE(server, method); + return; + } + + /* Continue with method and object as context */ + callWithMethodAndObject(server, session, request, result, + &method->methodNode, &object->objectNode); + + /* Release the method and object node */ + UA_NODESTORE_RELEASE(server, method); + UA_NODESTORE_RELEASE(server, object); +} + +void Service_Call(UA_Server *server, UA_Session *session, + const UA_CallRequest *request, UA_CallResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing CallRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxNodesPerMethodCall != 0 && + request->methodsToCallSize > server->config.maxNodesPerMethodCall) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_CallMethod, NULL, + &request->methodsToCallSize, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST], + &response->resultsSize, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); +} + +UA_CallMethodResult +UA_Server_call(UA_Server *server, const UA_CallMethodRequest *request) { + UA_CallMethodResult result; + UA_CallMethodResult_init(&result); + lockServer(server); + Operation_CallMethod(server, &server->adminSession, NULL, request, &result); + unlockServer(server); + return result; +} + +#endif /* UA_ENABLE_METHODCALLS */ + +/**** amalgamated original file "/src/server/ua_services_session.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2014-2016 (c) Sten Grüner + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2018-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + +/* Delayed callback to free the session memory */ +static void +removeSessionCallback(UA_Server *server, session_list_entry *entry) { + lockServer(server); + UA_Session_clear(&entry->session, server); + unlockServer(server); + UA_free(entry); +} + +void +UA_Server_removeSession(UA_Server *server, session_list_entry *sentry, + UA_ShutdownReason shutdownReason) { + UA_Session *session = &sentry->session; + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Remove the Subscriptions */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_Subscription *sub, *tempsub; + TAILQ_FOREACH_SAFE(sub, &session->subscriptions, sessionListEntry, tempsub) { + UA_Subscription_delete(server, sub); + } + + UA_PublishResponseEntry *entry; + while((entry = UA_Session_dequeuePublishReq(session))) { + UA_PublishResponse_clear(&entry->response); + UA_free(entry); + } +#endif + + /* Callback into userland access control */ + if(server->config.accessControl.closeSession) { + server->config.accessControl. + closeSession(server, &server->config.accessControl, + &session->sessionId, session->sessionHandle); + } + + /* Detach the Session from the SecureChannel */ + UA_Session_detachFromSecureChannel(session); + + /* Deactivate the session */ + if(sentry->session.activated) { + sentry->session.activated = false; + server->activeSessionCount--; + } + + /* Detach the session from the session manager and make the capacity + * available */ + LIST_REMOVE(sentry, pointers); + server->sessionCount--; + + switch(shutdownReason) { + case UA_SHUTDOWNREASON_CLOSE: + case UA_SHUTDOWNREASON_PURGE: + break; + case UA_SHUTDOWNREASON_TIMEOUT: + server->serverDiagnosticsSummary.sessionTimeoutCount++; + break; + case UA_SHUTDOWNREASON_REJECT: + server->serverDiagnosticsSummary.rejectedSessionCount++; + break; + case UA_SHUTDOWNREASON_SECURITYREJECT: + server->serverDiagnosticsSummary.securityRejectedSessionCount++; + break; + case UA_SHUTDOWNREASON_ABORT: + server->serverDiagnosticsSummary.sessionAbortCount++; + break; + default: + UA_assert(false); + break; + } + + /* Add a delayed callback to remove the session when the currently + * scheduled jobs have completed */ + sentry->cleanupCallback.callback = (UA_Callback)removeSessionCallback; + sentry->cleanupCallback.application = server; + sentry->cleanupCallback.context = sentry; + UA_EventLoop *el = server->config.eventLoop; + el->addDelayedCallback(el, &sentry->cleanupCallback); +} + +UA_StatusCode +UA_Server_removeSessionByToken(UA_Server *server, const UA_NodeId *token, + UA_ShutdownReason shutdownReason) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + session_list_entry *entry; + LIST_FOREACH(entry, &server->sessions, pointers) { + if(UA_NodeId_equal(&entry->session.header.authenticationToken, token)) { + UA_Server_removeSession(server, entry, shutdownReason); + return UA_STATUSCODE_GOOD; + } + } + return UA_STATUSCODE_BADSESSIONIDINVALID; +} + +void +UA_Server_cleanupSessions(UA_Server *server, UA_DateTime nowMonotonic) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + session_list_entry *sentry, *temp; + LIST_FOREACH_SAFE(sentry, &server->sessions, pointers, temp) { + /* Session has timed out? */ + if(sentry->session.validTill >= nowMonotonic) + continue; + UA_LOG_INFO_SESSION(server->config.logging, &sentry->session, + "Session has timed out"); + UA_Server_removeSession(server, sentry, UA_SHUTDOWNREASON_TIMEOUT); + } +} + +/************/ +/* Services */ +/************/ + +UA_Session * +getSessionByToken(UA_Server *server, const UA_NodeId *token) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + session_list_entry *current = NULL; + LIST_FOREACH(current, &server->sessions, pointers) { + /* Token does not match */ + if(!UA_NodeId_equal(¤t->session.header.authenticationToken, token)) + continue; + + /* Session has timed out */ + if(UA_DateTime_nowMonotonic() > current->session.validTill) { + UA_LOG_INFO_SESSION(server->config.logging, ¤t->session, + "Client tries to use a session that has timed out"); + return NULL; + } + + return ¤t->session; + } + + return NULL; +} + +UA_Session * +getSessionById(UA_Server *server, const UA_NodeId *sessionId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + session_list_entry *current = NULL; + LIST_FOREACH(current, &server->sessions, pointers) { + /* Token does not match */ + if(!UA_NodeId_equal(¤t->session.sessionId, sessionId)) + continue; + + /* Session has timed out */ + if(UA_DateTime_nowMonotonic() > current->session.validTill) { + UA_LOG_INFO_SESSION(server->config.logging, ¤t->session, + "Client tries to use a session that has timed out"); + return NULL; + } + + return ¤t->session; + } + + if(UA_NodeId_equal(sessionId, &server->adminSession.sessionId)) + return &server->adminSession; + + return NULL; +} + +static UA_StatusCode +signCreateSessionResponse(UA_Server *server, UA_SecureChannel *channel, + const UA_CreateSessionRequest *request, + UA_CreateSessionResponse *response) { + if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && + channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return UA_STATUSCODE_GOOD; + + const UA_SecurityPolicy *securityPolicy = channel->securityPolicy; + UA_SignatureData *signatureData = &response->serverSignature; + + /* Prepare the signature */ + const UA_SecurityPolicySignatureAlgorithm *signAlg = + &securityPolicy->asymmetricModule.cryptoModule.signatureAlgorithm; + size_t signatureSize = signAlg->getLocalSignatureSize(channel->channelContext); + UA_StatusCode retval = UA_String_copy(&signAlg->uri, &signatureData->algorithm); + retval |= UA_ByteString_allocBuffer(&signatureData->signature, signatureSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Allocate a temp buffer */ + size_t dataToSignSize = + request->clientCertificate.length + request->clientNonce.length; + UA_ByteString dataToSign; + retval = UA_ByteString_allocBuffer(&dataToSign, dataToSignSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; /* signatureData->signature is cleaned up with the response */ + + /* Sign the signature */ + memcpy(dataToSign.data, request->clientCertificate.data, + request->clientCertificate.length); + memcpy(dataToSign.data + request->clientCertificate.length, + request->clientNonce.data, request->clientNonce.length); + retval = securityPolicy->asymmetricModule.cryptoModule.signatureAlgorithm. + sign(channel->channelContext, &dataToSign, &signatureData->signature); + + /* Clean up */ + UA_ByteString_clear(&dataToSign); + return retval; +} + +/* Creates and adds a session. But it is not yet attached to a secure channel. */ +UA_StatusCode +UA_Server_createSession(UA_Server *server, UA_SecureChannel *channel, + const UA_CreateSessionRequest *request, UA_Session **session) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->sessionCount >= server->config.maxSessions) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Could not create a Session - Server limits reached"); + return UA_STATUSCODE_BADTOOMANYSESSIONS; + } + + session_list_entry *newentry = (session_list_entry*) + UA_malloc(sizeof(session_list_entry)); + if(!newentry) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Initialize the Session */ + UA_Session_init(&newentry->session); + newentry->session.sessionId = UA_NODEID_GUID(1, UA_Guid_random()); + newentry->session.header.authenticationToken = UA_NODEID_GUID(1, UA_Guid_random()); + + newentry->session.timeout = server->config.maxSessionTimeout; + if(request->requestedSessionTimeout <= server->config.maxSessionTimeout && + request->requestedSessionTimeout > 0) + newentry->session.timeout = request->requestedSessionTimeout; + + /* Attach the session to the channel. But don't activate for now. */ + if(channel) + UA_Session_attachToSecureChannel(&newentry->session, channel); + UA_Session_updateLifetime(&newentry->session); + + /* Add to the server */ + LIST_INSERT_HEAD(&server->sessions, newentry, pointers); + server->sessionCount++; + + *session = &newentry->session; + return UA_STATUSCODE_GOOD; +} + +void +Service_CreateSession(UA_Server *server, UA_SecureChannel *channel, + const UA_CreateSessionRequest *request, + UA_CreateSessionResponse *response) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, "Trying to create session"); + + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || + channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + /* Compare the clientCertificate with the remoteCertificate of the channel. + * Both the clientCertificate of this request and the remoteCertificate + * of the channel may contain a partial or a complete certificate chain. + * The compareCertificate function of the channelModule will compare the + * first certificate of each chain. The end certificate shall be located + * first in the chain according to the OPC UA specification Part 6 (1.04), + * chapter 6.2.3.*/ + UA_StatusCode retval = channel->securityPolicy->channelModule. + compareCertificate(channel->channelContext, &request->clientCertificate); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "The client certificate did not validate"); + response->responseHeader.serviceResult = UA_STATUSCODE_BADCERTIFICATEINVALID; + return; + } + } + + UA_assert(channel->securityToken.channelId != 0); + + if(!UA_ByteString_equal(&channel->securityPolicy->policyUri, + &UA_SECURITY_POLICY_NONE_URI) && + request->clientNonce.length < 32) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNONCEINVALID; + return; + } + + if(request->clientCertificate.length > 0) { + UA_CertificateVerification *cv = &server->config.sessionPKI; + response->responseHeader.serviceResult = + cv->verifyApplicationURI(cv, &request->clientCertificate, + &request->clientDescription.applicationUri); + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "The client's ApplicationURI did not match the certificate"); + server->serverDiagnosticsSummary.securityRejectedSessionCount++; + server->serverDiagnosticsSummary.rejectedSessionCount++; + return; + } + } + + /* Create the Session */ + UA_Session *newSession = NULL; + response->responseHeader.serviceResult = + UA_Server_createSession(server, channel, request, &newSession); + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "Processing CreateSessionRequest failed"); + server->serverDiagnosticsSummary.rejectedSessionCount++; + return; + } + + /* If the session name is empty, use the generated SessionId */ + response->responseHeader.serviceResult |= + UA_String_copy(&request->sessionName, &newSession->sessionName); + if(newSession->sessionName.length == 0) + response->responseHeader.serviceResult |= + UA_NodeId_print(&newSession->sessionId, &newSession->sessionName); + + response->responseHeader.serviceResult |= UA_Session_generateNonce(newSession); + newSession->maxResponseMessageSize = request->maxResponseMessageSize; + newSession->maxRequestMessageSize = channel->config.localMaxMessageSize; + response->responseHeader.serviceResult |= + UA_ApplicationDescription_copy(&request->clientDescription, + &newSession->clientDescription); + +#ifdef UA_ENABLE_DIAGNOSTICS + response->responseHeader.serviceResult |= + UA_String_copy(&request->serverUri, &newSession->diagnostics.serverUri); + response->responseHeader.serviceResult |= + UA_String_copy(&request->endpointUrl, &newSession->diagnostics.endpointUrl); +#endif + + /* Prepare the response */ + response->sessionId = newSession->sessionId; + response->revisedSessionTimeout = (UA_Double)newSession->timeout; + response->authenticationToken = newSession->header.authenticationToken; + response->responseHeader.serviceResult |= + UA_ByteString_copy(&newSession->serverNonce, &response->serverNonce); + + /* Copy the server's endpointdescriptions into the response */ + response->responseHeader.serviceResult = + setCurrentEndPointsArray(server, request->endpointUrl, NULL, 0, + &response->serverEndpoints, + &response->serverEndpointsSize); + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_Server_removeSessionByToken(server, &newSession->header.authenticationToken, + UA_SHUTDOWNREASON_REJECT); + return; + } + + /* Return the server certificate from the SecurityPolicy of the current + * channel. Or, if the channel is unencrypted, return the standard policy + * used for usertoken encryption. */ + const UA_SecurityPolicy *sp = channel->securityPolicy; + if(UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &sp->policyUri) || + sp->localCertificate.length == 0) + sp = getDefaultEncryptedSecurityPolicy(server); + if(sp) + response->responseHeader.serviceResult |= + UA_ByteString_copy(&sp->localCertificate, &response->serverCertificate); + + /* Sign the signature */ + response->responseHeader.serviceResult |= + signCreateSessionResponse(server, channel, request, response); + + /* Failure -> remove the session */ + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_Server_removeSessionByToken(server, &newSession->header.authenticationToken, + UA_SHUTDOWNREASON_REJECT); + return; + } + +#ifdef UA_ENABLE_DIAGNOSTICS + newSession->diagnostics.clientConnectionTime = UA_DateTime_now(); + newSession->diagnostics.clientLastContactTime = + newSession->diagnostics.clientConnectionTime; + + /* Create the object in the information model */ + createSessionObject(server, newSession); +#endif + + UA_LOG_INFO_SESSION(server->config.logging, newSession, "Session created"); +} + +static UA_StatusCode +checkCertificateSignature(const UA_Server *server, const UA_SecurityPolicy *securityPolicy, + void *channelContext, const UA_ByteString *serverNonce, + const UA_SignatureData *signature, + const bool isUserTokenSignature) { + /* Check for zero signature length */ + if(signature->signature.length == 0) { + if(isUserTokenSignature) + return UA_STATUSCODE_BADUSERSIGNATUREINVALID; + return UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID; + } + + if(!securityPolicy) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Server certificate */ + const UA_ByteString *localCertificate = &securityPolicy->localCertificate; + /* Data to verify is calculated by appending the serverNonce to the local certificate */ + UA_ByteString dataToVerify; + size_t dataToVerifySize = localCertificate->length + serverNonce->length; + UA_StatusCode retval = UA_ByteString_allocBuffer(&dataToVerify, dataToVerifySize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + memcpy(dataToVerify.data, localCertificate->data, localCertificate->length); + memcpy(dataToVerify.data + localCertificate->length, + serverNonce->data, serverNonce->length); + retval = securityPolicy->asymmetricModule.cryptoModule.signatureAlgorithm. + verify(channelContext, &dataToVerify, &signature->signature); + UA_ByteString_clear(&dataToVerify); + if(retval != UA_STATUSCODE_GOOD) { + if(isUserTokenSignature) + retval = UA_STATUSCODE_BADUSERSIGNATUREINVALID; + else + retval = UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID; + } + return retval; +} + +static void +selectEndpointAndTokenPolicy(UA_Server *server, UA_SecureChannel *channel, + const UA_ExtensionObject *identityToken, + const UA_EndpointDescription **ed, + const UA_UserTokenPolicy **utp, + const UA_SecurityPolicy **tokenSp) { + UA_ServerConfig *sc = &server->config; + for(size_t i = 0; i < sc->endpointsSize; ++i) { + const UA_EndpointDescription *desc = &sc->endpoints[i]; + + /* Match the Security Mode */ + if(desc->securityMode != channel->securityMode) + continue; + + /* Match the SecurityPolicy of the endpoint with the current channel */ + if(!UA_String_equal(&desc->securityPolicyUri, &channel->securityPolicy->policyUri)) + continue; + + /* If no UserTokenPolicies are configured in the endpoint, then use + * those of the AccessControl plugin. */ + size_t identPoliciesSize = desc->userIdentityTokensSize; + const UA_UserTokenPolicy *identPolicies = desc->userIdentityTokens; + if(identPoliciesSize == 0) { + identPoliciesSize = sc->accessControl.userTokenPoliciesSize; + identPolicies = sc->accessControl.userTokenPolicies; + } + + /* Match the UserTokenType */ + const UA_DataType *tokenDataType = identityToken->content.decoded.type; + for(size_t j = 0; j < identPoliciesSize ; j++) { + const UA_UserTokenPolicy *pol = &identPolicies[j]; + + /* Part 4, Section 5.6.3.2, Table 17: A NULL or empty + * UserIdentityToken should be treated as Anonymous */ + if(identityToken->encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY && + pol->tokenType == UA_USERTOKENTYPE_ANONYMOUS) { + *ed = desc; + *utp = pol; + return; + } + + /* Expect decoded content if not anonymous */ + if(!tokenDataType) + continue; + + if(pol->tokenType == UA_USERTOKENTYPE_ANONYMOUS) { + if(tokenDataType != &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) + continue; + } else if(pol->tokenType == UA_USERTOKENTYPE_USERNAME) { + if(tokenDataType != &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) + continue; + } else if(pol->tokenType == UA_USERTOKENTYPE_CERTIFICATE) { + if(tokenDataType != &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) + continue; + } else if(pol->tokenType == UA_USERTOKENTYPE_ISSUEDTOKEN) { + if(tokenDataType != &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) + continue; + } else { + continue; + } + + /* All valid token data types start with a string policyId */ + UA_AnonymousIdentityToken *token = (UA_AnonymousIdentityToken*) + identityToken->content.decoded.data; + + /* Select the SecurityPolicy used to encrypt the token. + * The default is to use the SecurityPolicy of the SecureChannel. */ + *tokenSp = channel->securityPolicy; +#ifdef UA_ENABLE_ENCRYPTION + if(identPolicies == sc->accessControl.userTokenPolicies) { + /* If the standard UserTokenPolicies from the AccessControl + * plugin are used, use the same logic as in + * updateEndpointUserIdentityToken (ua_services_discovery.c). */ + if(pol->tokenType != UA_USERTOKENTYPE_ANONYMOUS && + !(sc->allowNonePolicyPassword && pol->tokenType == UA_USERTOKENTYPE_USERNAME) && + UA_String_equal(&channel->securityPolicy->policyUri, &UA_SECURITY_POLICY_NONE_URI)) + *tokenSp = getDefaultEncryptedSecurityPolicy(server); + } else if(pol->securityPolicyUri.length > 0) { + /* Manually defined UserTokenPolicy. Lookup by URI */ + *tokenSp = getSecurityPolicyByUri(server, &pol->securityPolicyUri); + } + if(!*tokenSp) + continue; + + /* Anonymous tokens don't need encryption. All other tokens require + * encryption with the exception of Username/Password if also the + * allowNonePolicyPassword option has been set. */ + if(pol->tokenType != UA_USERTOKENTYPE_ANONYMOUS && + !(sc->allowNonePolicyPassword && pol->tokenType == UA_USERTOKENTYPE_USERNAME) && + UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &(*tokenSp)->policyUri)) + continue; +#endif + + /* In setCurrentEndPointsArray we prepend the PolicyId with the + * SecurityMode of the endpoint and the postfix of the + * SecurityPolicyUri to make it unique. Check the SecurityPolicyUri + * postfix. */ + if(pol->policyId.length > token->policyId.length) + continue; + UA_String policyPrefix = token->policyId; + policyPrefix.length = pol->policyId.length; + if(!UA_String_equal(&policyPrefix, &pol->policyId)) + continue; + + UA_String secPolPostfix = securityPolicyUriPostfix((*tokenSp)->policyUri); + UA_String utPolPostfix = securityPolicyUriPostfix(token->policyId); + if(!UA_String_equal(&secPolPostfix, &utPolPostfix)) + continue; + + /* Match found */ + *ed = desc; + *utp = pol; + return; + } + } +} + +#ifdef UA_ENABLE_ENCRYPTION +static UA_StatusCode +decryptUserToken(UA_Server *server, UA_Session *session, + UA_SecureChannel *channel, const UA_SecurityPolicy *sp, + const UA_String encryptionAlgorithm, UA_String *encrypted) { + /* If SecurityPolicy is None there shall be no EncryptionAlgorithm */ + if(UA_String_equal(&sp->policyUri, &UA_SECURITY_POLICY_NONE_URI)) { + if(encryptionAlgorithm.length > 0) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) { + UA_LOG_WARNING_SESSION(server->config.logging, session, "ActivateSession: " + "Received an unencrypted UserToken. " + "Is the server misconfigured to allow that?"); + } + return UA_STATUSCODE_GOOD; + } + + /* Test if the correct encryption algorithm is used */ + if(!UA_String_equal(&encryptionAlgorithm, + &sp->asymmetricModule.cryptoModule.encryptionAlgorithm.uri)) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + /* Encrypted password -- Create a temporary channel context. + * TODO: We should not need a ChannelContext at all for asymmetric + * decryption where the remote certificate is not used. */ + void *tempChannelContext = NULL; + UA_StatusCode res = sp->channelModule.newContext(sp, &sp->localCertificate, &tempChannelContext); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: Failed to create a " + "context for the SecurityPolicy %.*s", + (int)sp->policyUri.length, + sp->policyUri.data); + return res; + } + + UA_UInt32 secretLen = 0; + UA_ByteString secret, tokenNonce; + size_t tokenpos = 0; + size_t offset = 0; + UA_ByteString *sn = &session->serverNonce; + const UA_SecurityPolicyEncryptionAlgorithm *asymEnc = + &sp->asymmetricModule.cryptoModule.encryptionAlgorithm; + + res = UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + /* Decrypt the secret */ + if(UA_ByteString_copy(encrypted, &secret) != UA_STATUSCODE_GOOD || + asymEnc->decrypt(tempChannelContext, &secret) != UA_STATUSCODE_GOOD) + goto cleanup; + + /* The secret starts with a UInt32 length for the content */ + if(UA_UInt32_decodeBinary(&secret, &offset, &secretLen) != UA_STATUSCODE_GOOD) + goto cleanup; + + /* The decrypted data must be large enough to include the Encrypted Token + * Secret Format and the length field must indicate enough data to include + * the server nonce. */ + if(secret.length < sizeof(UA_UInt32) + sn->length || + secret.length < sizeof(UA_UInt32) + secretLen || + secretLen < sn->length) + goto cleanup; + + /* If the Encrypted Token Secret contains padding, the padding must be + * zeroes according to the 1.04.1 specification errata, chapter 3. */ + for(size_t i = sizeof(UA_UInt32) + secretLen; i < secret.length; i++) { + if(secret.data[i] != 0) + goto cleanup; + } + + /* The server nonce must match according to the 1.04.1 specification errata, + * chapter 3. */ + tokenpos = sizeof(UA_UInt32) + secretLen - sn->length; + tokenNonce.length = sn->length; + tokenNonce.data = &secret.data[tokenpos]; + if(!UA_ByteString_equal(sn, &tokenNonce)) + goto cleanup; + + /* The password was decrypted successfully. Replace usertoken with the + * decrypted password. The encryptionAlgorithm and policyId fields are left + * in the UserToken as an indication for the AccessControl plugin that + * evaluates the decrypted content. */ + memcpy(encrypted->data, + &secret.data[sizeof(UA_UInt32)], secretLen - sn->length); + encrypted->length = secretLen - sn->length; + res = UA_STATUSCODE_GOOD; + + cleanup: + UA_ByteString_clear(&secret); + + /* Remove the temporary channel context */ + sp->channelModule.deleteContext(tempChannelContext); + + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: Failed to decrypt the " + "password with the StatusCode %s", + UA_StatusCode_name(res)); + } + return res; +} + +static UA_StatusCode +checkActivateSessionX509(UA_Server *server, UA_Session *session, + const UA_SecurityPolicy *sp, UA_X509IdentityToken* token, + const UA_SignatureData *tokenSignature) { + /* The SecurityPolicy must not be None for the signature */ + if(UA_String_equal(&sp->policyUri, &UA_SECURITY_POLICY_NONE_URI)) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + /* We need a channel context with the user certificate in order to reuse + * the signature checking code. */ + void *tempChannelContext; + UA_StatusCode res = sp->channelModule. newContext(sp, &token->certificateData, &tempChannelContext); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: Failed to create a context " + "for the SecurityPolicy %.*s", + (int)sp->policyUri.length, + sp->policyUri.data); + return res; + } + + /* Check the user token signature */ + res = checkCertificateSignature(server, sp, tempChannelContext, + &session->serverNonce, tokenSignature, true); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: User token signature check " + "failed with StatusCode %s", UA_StatusCode_name(res)); + } + + /* Delete the temporary channel context */ + sp->channelModule.deleteContext(tempChannelContext); + return res; +} +#endif + +/* TODO: Check all of the following: The Server shall verify that the + * Certificate the Client used to create the new SecureChannel is the same as + * the Certificate used to create the original SecureChannel. In addition, the + * Server shall verify that the Client supplied a UserIdentityToken that is + * identical to the token currently associated with the Session. Once the Server + * accepts the new SecureChannel it shall reject requests sent via the old + * SecureChannel. */ + +void +Service_ActivateSession(UA_Server *server, UA_SecureChannel *channel, + const UA_ActivateSessionRequest *req, + UA_ActivateSessionResponse *resp) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + const UA_EndpointDescription *ed = NULL; + const UA_UserTokenPolicy *utp = NULL; + const UA_SecurityPolicy *tokenSp = NULL; + UA_String *tmpLocaleIds; + + /* Get the session */ + UA_Session *session = getSessionByToken(server, &req->requestHeader.authenticationToken); + if(!session) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "ActivateSession: Session not found"); + resp->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; + goto rejected; + } + + /* Part 4, §5.6.3: When the ActivateSession Service is called for the + * first time then the Server shall reject the request if the + * SecureChannel is not same as the one associated with the + * CreateSession request. Subsequent calls to ActivateSession may be + * associated with different SecureChannels. */ + if(!session->activated && session->header.channel != channel) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "ActivateSession: The Session has to be initially activated " + "on the SecureChannel that created it"); + resp->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; + goto rejected; + } + + /* Has the session timed out? */ + if(session->validTill < UA_DateTime_nowMonotonic()) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: The Session has timed out"); + resp->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; + goto rejected; + } + + /* Check the client signature */ + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || + channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + resp->responseHeader.serviceResult = + checkCertificateSignature(server, channel->securityPolicy, + channel->channelContext, + &session->serverNonce, + &req->clientSignature, false); + if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: Client signature check failed " + "with StatusCode %s", + UA_StatusCode_name(resp->responseHeader.serviceResult)); + goto securityRejected; + } + } + + /* Find the matching Endpoint with UserTokenPolicy. + * Also sets the SecurityPolicy used to encrypt the token. */ + selectEndpointAndTokenPolicy(server, channel, &req->userIdentityToken, + &ed, &utp, &tokenSp); + if(!ed || !tokenSp) { + resp->responseHeader.serviceResult = UA_STATUSCODE_BADIDENTITYTOKENINVALID; + goto rejected; + } + + /* Decrypt (or validate the signature) of the UserToken. The DataType of the + * UserToken was already checked in selectEndpointAndTokenPolicy */ +#ifdef UA_ENABLE_ENCRYPTION + if(utp->tokenType == UA_USERTOKENTYPE_USERNAME) { + /* If it is a UserNameIdentityToken, the password may be encrypted */ + UA_UserNameIdentityToken *userToken = (UA_UserNameIdentityToken *) + req->userIdentityToken.content.decoded.data; + resp->responseHeader.serviceResult = + decryptUserToken(server, session, channel, tokenSp, + userToken->encryptionAlgorithm, &userToken->password); + } else if(utp->tokenType == UA_USERTOKENTYPE_CERTIFICATE) { + /* If it is a X509IdentityToken, check the userTokenSignature. Note this + * only validates that the user has the corresponding private key for + * the given user certificate. Checking whether the user certificate is + * trusted has to be implemented in the access control plugin. The + * entire token is forwarded in the call to ActivateSession. */ + UA_X509IdentityToken* x509token = (UA_X509IdentityToken*) + req->userIdentityToken.content.decoded.data; + resp->responseHeader.serviceResult = + checkActivateSessionX509(server, session, tokenSp, + x509token, &req->userTokenSignature); + } else if(utp->tokenType == UA_USERTOKENTYPE_ISSUEDTOKEN) { + /* IssuedTokens are encrypted */ + UA_IssuedIdentityToken *issuedToken = (UA_IssuedIdentityToken*) + req->userIdentityToken.content.decoded.data; + resp->responseHeader.serviceResult = decryptUserToken( + server, session, channel, tokenSp, issuedToken->encryptionAlgorithm, + &issuedToken->tokenData); + } /* else Anonymous */ + if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) + goto securityRejected; +#endif + + /* Callback into userland access control */ + resp->responseHeader.serviceResult = server->config.accessControl. + activateSession(server, &server->config.accessControl, ed, + &channel->remoteCertificate, &session->sessionId, + &req->userIdentityToken, &session->sessionHandle); + if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: The AccessControl " + "plugin denied the activation with the StatusCode %s", + UA_StatusCode_name(resp->responseHeader.serviceResult)); + goto securityRejected; + } + + /* Attach the session to the currently used channel if the session isn't + * attached to a channel or if the session is activated on a different + * channel than it is attached to. */ + if(!session->header.channel || session->header.channel != channel) { + /* Attach the new SecureChannel, the old channel will be detached if present */ + UA_Session_attachToSecureChannel(session, channel); + UA_LOG_INFO_SESSION(server->config.logging, session, + "ActivateSession: Session attached to new channel"); + } + + /* Generate a new session nonce for the next time ActivateSession is called */ + resp->responseHeader.serviceResult = UA_Session_generateNonce(session); + resp->responseHeader.serviceResult |= + UA_ByteString_copy(&session->serverNonce, &resp->serverNonce); + if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_Session_detachFromSecureChannel(session); + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: Could not generate the server nonce"); + goto rejected; + } + + /* Set the Locale */ + if(req->localeIdsSize > 0) { + /* Part 4, §5.6.3.2: This parameter only needs to be specified during + * the first call to ActivateSession during a single application + * Session. If it is not specified the Server shall keep using the + * current localeIds for the Session. */ + resp->responseHeader.serviceResult |= + UA_Array_copy(req->localeIds, req->localeIdsSize, + (void**)&tmpLocaleIds, &UA_TYPES[UA_TYPES_STRING]); + if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_Session_detachFromSecureChannel(session); + UA_LOG_WARNING_SESSION(server->config.logging, session, + "ActivateSession: Could not store the Session LocaleIds"); + goto rejected; + } + UA_Array_delete(session->localeIds, session->localeIdsSize, + &UA_TYPES[UA_TYPES_STRING]); + session->localeIds = tmpLocaleIds; + session->localeIdsSize = req->localeIdsSize; + } + + /* Update the Session lifetime */ + UA_Session_updateLifetime(session); + + /* Activate the session */ + if(!session->activated) { + session->activated = true; + server->activeSessionCount++; + server->serverDiagnosticsSummary.cumulatedSessionCount++; + } + + /* Store the ClientUserId. tokenType can be NULL for the anonymous user. */ + UA_String_clear(&session->clientUserIdOfSession); + const UA_DataType *tokenType = req->userIdentityToken.content.decoded.type; + if(tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) { + const UA_UserNameIdentityToken *userToken = (UA_UserNameIdentityToken*) + req->userIdentityToken.content.decoded.data; + UA_String_copy(&userToken->userName, &session->clientUserIdOfSession); + } else if(tokenType == &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) { + UA_X509IdentityToken* userCertToken = (UA_X509IdentityToken*) + req->userIdentityToken.content.decoded.data; + if(server->config.sessionPKI.getSubjectName) + server->config.sessionPKI. + getSubjectName(&session->clientUserIdOfSession, + &userCertToken->certificateData); + } else { + /* TODO: Handle issued token */ + } + +#ifdef UA_ENABLE_DIAGNOSTICS + /* Add the ClientUserId to the diagnostics history */ + UA_SessionSecurityDiagnosticsDataType *ssd = &session->securityDiagnostics; + UA_StatusCode res = + UA_Array_appendCopy((void**)&ssd->clientUserIdHistory, + &ssd->clientUserIdHistorySize, + &ssd->clientUserIdOfSession, + &UA_TYPES[UA_TYPES_STRING]); + (void)res; + + /* Store the auth mechanism */ + UA_String_clear(&ssd->authenticationMechanism); + switch(utp->tokenType) { + case UA_USERTOKENTYPE_ANONYMOUS: + ssd->authenticationMechanism = UA_STRING_ALLOC("Anonymous"); break; + case UA_USERTOKENTYPE_USERNAME: + ssd->authenticationMechanism = UA_STRING_ALLOC("UserName"); break; + case UA_USERTOKENTYPE_CERTIFICATE: + ssd->authenticationMechanism = UA_STRING_ALLOC("Certificate"); break; + case UA_USERTOKENTYPE_ISSUEDTOKEN: + ssd->authenticationMechanism = UA_STRING_ALLOC("IssuedToken"); break; + default: break; + } +#endif + + /* Log the user for which the Session was activated */ + UA_LOG_INFO_SESSION(server->config.logging, session, + "ActivateSession: Session activated with ClientUserId \"%.*s\"", + (int)session->clientUserIdOfSession.length, + session->clientUserIdOfSession.data); + return; + +securityRejected: + server->serverDiagnosticsSummary.securityRejectedSessionCount++; +rejected: + server->serverDiagnosticsSummary.rejectedSessionCount++; +} + +void +Service_CloseSession(UA_Server *server, UA_SecureChannel *channel, + const UA_CloseSessionRequest *request, + UA_CloseSessionResponse *response) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Part 4, 5.6.4: When the CloseSession Service is called before the Session + * is successfully activated, the Server shall reject the request if the + * SecureChannel is not the same as the one associated with the + * CreateSession request. + * + * A non-activated Session is already bound to the SecureChannel that + * created the Session. */ + UA_Session *session = NULL; + response->responseHeader.serviceResult = + getBoundSession(server, channel, &request->requestHeader.authenticationToken, &session); + if(!session && response->responseHeader.serviceResult == UA_STATUSCODE_GOOD) + response->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CHANNEL(server->config.logging, channel, + "CloseSession: No Session activated to the SecureChannel"); + return; + } + + UA_assert(session); /* Assured by the previous section */ + UA_LOG_INFO_SESSION(server->config.logging, session, "Closing the Session"); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* If Subscriptions are not deleted, detach them from the Session */ + if(!request->deleteSubscriptions) { + UA_Subscription *sub, *sub_tmp; + TAILQ_FOREACH_SAFE(sub, &session->subscriptions, sessionListEntry, sub_tmp) { + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, + "Detaching the Subscription from the Session"); + UA_Session_detachSubscription(server, session, sub, true); + } + } +#endif + + /* Remove the sesison */ + response->responseHeader.serviceResult = + UA_Server_removeSessionByToken(server, &session->header.authenticationToken, + UA_SHUTDOWNREASON_CLOSE); +} + +void Service_Cancel(UA_Server *server, UA_Session *session, + const UA_CancelRequest *request, + UA_CancelResponse *response) { + /* If multithreading is disabled, then there are no async services. If all + * services are answered "right away", then there are no services that can + * be cancelled. */ +#if UA_MULTITHREADING >= 100 + response->cancelCount = UA_AsyncManager_cancel(server, session, request->requestHandle); +#endif + + /* Publish requests for Subscriptions are stored separately */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_PublishResponseEntry *pre, *pre_tmp; + UA_PublishResponseEntry *prev = NULL; + SIMPLEQ_FOREACH_SAFE(pre, &session->responseQueue, listEntry, pre_tmp) { + /* Skip entry and set as the previous entry that is kept in the list */ + if(pre->response.responseHeader.requestHandle != request->requestHandle) { + prev = pre; + continue; + } + + /* Dequeue */ + if(prev) + SIMPLEQ_REMOVE_AFTER(&session->responseQueue, prev, listEntry); + else + SIMPLEQ_REMOVE_HEAD(&session->responseQueue, listEntry); + session->responseQueueSize--; + + /* Send response and clean up */ + response->responseHeader.serviceResult = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; + sendResponse(server, session, session->header.channel, pre->requestId, + (UA_Response *)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); + UA_PublishResponse_clear(&pre->response); + UA_free(pre); + + /* Increase the CancelCount */ + response->cancelCount++; + } +#endif +} + +/**** amalgamated original file "/src/server/ua_services_attribute.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2015 (c) Christian Fimmers + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2015 (c) wuyangtang + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) Lorenz Haas + * Copyright 2017 (c) frax2222 + * Copyright 2017 (c) Thomas Bender + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2017 (c) Henrik Norrman + * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + */ + + +#ifdef UA_ENABLE_HISTORIZING +#endif + +static const UA_NodeAttributesMask attr2mask[28] = { + UA_NODEATTRIBUTESMASK_NODEID, + UA_NODEATTRIBUTESMASK_NODECLASS, + UA_NODEATTRIBUTESMASK_BROWSENAME, + UA_NODEATTRIBUTESMASK_DISPLAYNAME, + UA_NODEATTRIBUTESMASK_DESCRIPTION, + UA_NODEATTRIBUTESMASK_WRITEMASK, + UA_NODEATTRIBUTESMASK_USERWRITEMASK, + UA_NODEATTRIBUTESMASK_ISABSTRACT, + UA_NODEATTRIBUTESMASK_SYMMETRIC, + UA_NODEATTRIBUTESMASK_INVERSENAME, + UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS, + UA_NODEATTRIBUTESMASK_EVENTNOTIFIER, + UA_NODEATTRIBUTESMASK_VALUE, + UA_NODEATTRIBUTESMASK_DATATYPE, + UA_NODEATTRIBUTESMASK_VALUERANK, + UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS, + UA_NODEATTRIBUTESMASK_ACCESSLEVEL, + UA_NODEATTRIBUTESMASK_USERACCESSLEVEL, + UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL, + UA_NODEATTRIBUTESMASK_HISTORIZING, + UA_NODEATTRIBUTESMASK_EXECUTABLE, + UA_NODEATTRIBUTESMASK_USEREXECUTABLE, + UA_NODEATTRIBUTESMASK_DATATYPEDEFINITION, + UA_NODEATTRIBUTESMASK_ROLEPERMISSIONS, + UA_NODEATTRIBUTESMASK_ROLEPERMISSIONS, + UA_NODEATTRIBUTESMASK_ACCESSRESTRICTIONS, + UA_NODEATTRIBUTESMASK_ACCESSLEVEL +}; + +static UA_UInt32 +attributeId2AttributeMask(UA_AttributeId id) { + if(UA_UNLIKELY(id > UA_ATTRIBUTEID_ACCESSLEVELEX)) + return UA_NODEATTRIBUTESMASK_NONE; + return attr2mask[id]; +} + +/******************/ +/* Access Control */ +/******************/ + +/* Session for read operations can be NULL. For example for a MonitoredItem + * where the underlying Subscription was detached during CloseSession. */ + +static UA_UInt32 +getUserWriteMask(UA_Server *server, const UA_Session *session, + const UA_NodeHead *head) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(session == &server->adminSession) + return 0xFFFFFFFF; /* the local admin user has all rights */ + return head->writeMask & server->config.accessControl. + getUserRightsMask(server, &server->config.accessControl, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &head->nodeId, head->context); +} + +static UA_Byte +getAccessLevel(UA_Server *server, const UA_Session *session, + const UA_VariableNode *node) { + if(session == &server->adminSession) + return 0xFF; /* the local admin user has all rights */ + return node->accessLevel; +} + +static UA_Byte +getUserAccessLevel(UA_Server *server, const UA_Session *session, + const UA_VariableNode *node) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(session == &server->adminSession) + return 0xFF; /* the local admin user has all rights */ + return node->accessLevel & server->config.accessControl. + getUserAccessLevel(server, &server->config.accessControl, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &node->head.nodeId, node->head.context); +} + +static UA_Boolean +getUserExecutable(UA_Server *server, const UA_Session *session, + const UA_MethodNode *node) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(session == &server->adminSession) + return true; /* the local admin user has all rights */ + return node->executable & server->config.accessControl. + getUserExecutable(server, &server->config.accessControl, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &node->head.nodeId, node->head.context); +} + +/****************/ +/* Read Service */ +/****************/ + +static UA_StatusCode +readIsAbstractAttribute(const UA_Node *node, UA_Variant *v) { + const UA_Boolean *isAbstract; + switch(node->head.nodeClass) { + case UA_NODECLASS_REFERENCETYPE: + isAbstract = &node->referenceTypeNode.isAbstract; + break; + case UA_NODECLASS_OBJECTTYPE: + isAbstract = &node->objectTypeNode.isAbstract; + break; + case UA_NODECLASS_VARIABLETYPE: + isAbstract = &node->variableTypeNode.isAbstract; + break; + case UA_NODECLASS_DATATYPE: + isAbstract = &node->dataTypeNode.isAbstract; + break; + default: + return UA_STATUSCODE_BADATTRIBUTEIDINVALID; + } + + return UA_Variant_setScalarCopy(v, isAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +static UA_StatusCode +readValueAttributeFromNode(UA_Server *server, UA_Session *session, + const UA_VariableNode *vn, UA_DataValue *v, + UA_NumericRange *rangeptr) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + /* Update the value by the user callback */ + if(vn->value.data.callback.onRead) { + vn->value.data.callback.onRead(server, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &vn->head.nodeId, vn->head.context, rangeptr, + &vn->value.data.value); + vn = (const UA_VariableNode*) + UA_NODESTORE_GET_SELECTIVE(server, &vn->head.nodeId, + UA_NODEATTRIBUTESMASK_VALUE, + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + if(!vn) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + } + + /* Set the result */ + UA_StatusCode retval; + if(!rangeptr) { + retval = UA_DataValue_copy(&vn->value.data.value, v); + } else { + *v = vn->value.data.value; /* Copy timestamps */ + UA_Variant_init(&v->value); + retval = UA_Variant_copyRange(&vn->value.data.value.value, &v->value, *rangeptr); + } + + /* Clean up */ + if(vn->value.data.callback.onRead) + UA_NODESTORE_RELEASE(server, (const UA_Node *)vn); + return retval; +} + +static UA_StatusCode +readValueAttributeFromDataSource(UA_Server *server, UA_Session *session, + const UA_VariableNode *vn, UA_DataValue *v, + UA_TimestampsToReturn timestamps, + UA_NumericRange *rangeptr) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(!vn->value.dataSource.read) + return UA_STATUSCODE_BADINTERNALERROR; + UA_Boolean sourceTimeStamp = (timestamps == UA_TIMESTAMPSTORETURN_SOURCE || + timestamps == UA_TIMESTAMPSTORETURN_BOTH); + UA_DataValue v2; + UA_DataValue_init(&v2); + UA_StatusCode retval = vn->value.dataSource. + read(server, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &vn->head.nodeId, vn->head.context, + sourceTimeStamp, rangeptr, &v2); + if(v2.hasValue && v2.value.storageType == UA_VARIANT_DATA_NODELETE) { + retval = UA_DataValue_copy(&v2, v); + UA_DataValue_clear(&v2); + } else { + *v = v2; + } + return retval; +} + +static UA_StatusCode +readValueAttributeComplete(UA_Server *server, UA_Session *session, + const UA_VariableNode *vn, UA_TimestampsToReturn timestamps, + const UA_String *indexRange, UA_DataValue *v) { + /* Compute the index range */ + UA_NumericRange range; + UA_NumericRange *rangeptr = NULL; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(indexRange && indexRange->length > 0) { + retval = UA_NumericRange_parse(&range, *indexRange); + if(retval != UA_STATUSCODE_GOOD) + return retval; + rangeptr = ⦥ + } + + switch(vn->valueBackend.backendType) { + case UA_VALUEBACKENDTYPE_INTERNAL: + retval = readValueAttributeFromNode(server, session, vn, v, rangeptr); + //TODO change old structure to value backend + break; + case UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK: + retval = readValueAttributeFromDataSource(server, session, vn, v, + timestamps, rangeptr); + //TODO change old structure to value backend + break; + case UA_VALUEBACKENDTYPE_EXTERNAL: + if(!vn->valueBackend.backend.external.callback.notificationRead) { + retval = UA_STATUSCODE_BADNOTREADABLE; + break; + } + retval = vn->valueBackend.backend.external.callback. + notificationRead(server, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &vn->head.nodeId, vn->head.context, rangeptr); + if(retval != UA_STATUSCODE_GOOD) + break; + + /* Set the result */ + if(rangeptr) + retval = UA_DataValue_copyVariantRange( + *vn->valueBackend.backend.external.value, v, *rangeptr); + else + retval = UA_DataValue_copy(*vn->valueBackend.backend.external.value, v); + break; + case UA_VALUEBACKENDTYPE_NONE: + /* Read the value */ + if(vn->valueSource == UA_VALUESOURCE_DATA) + retval = readValueAttributeFromNode(server, session, vn, v, rangeptr); + else + retval = readValueAttributeFromDataSource(server, session, vn, v, + timestamps, rangeptr); + /* end lagacy */ + break; + } + + /* If not defined return a source timestamp of "now". + * Static nodes always have the current time as source-time. */ + if(!v->hasSourceTimestamp) { + v->sourceTimestamp = UA_DateTime_now(); + v->hasSourceTimestamp = true; + } + + /* Clean up */ + if(rangeptr) + UA_free(range.dimensions); + return retval; +} + +UA_StatusCode +readValueAttribute(UA_Server *server, UA_Session *session, + const UA_VariableNode *vn, UA_DataValue *v) { + return readValueAttributeComplete(server, session, vn, + UA_TIMESTAMPSTORETURN_NEITHER, NULL, v); +} + +static const UA_String binEncoding = {sizeof("Default Binary")-1, (UA_Byte*)"Default Binary"}; +static const UA_String xmlEncoding = {sizeof("Default XML")-1, (UA_Byte*)"Default XML"}; +static const UA_String jsonEncoding = {sizeof("Default JSON")-1, (UA_Byte*)"Default JSON"}; + +#define CHECK_NODECLASS(CLASS) \ + if(!(node->head.nodeClass & (CLASS))) { \ + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; \ + break; \ + } + +#ifdef UA_ENABLE_TYPEDESCRIPTION +static const UA_DataType * +findDataType(const UA_Node *node, const UA_DataTypeArray *customTypes) { + for(size_t i = 0; i < UA_TYPES_COUNT; ++i) { + if(UA_NodeId_equal(&UA_TYPES[i].typeId, &node->head.nodeId)) { + return &UA_TYPES[i]; + } + } + + // lookup custom type + while(customTypes) { + for(size_t i = 0; i < customTypes->typesSize; ++i) { + if(UA_NodeId_equal(&customTypes->types[i].typeId, &node->head.nodeId)) + return &customTypes->types[i]; + } + customTypes = customTypes->next; + } + return NULL; +} + +static UA_StatusCode +getStructureDefinition(const UA_DataType *type, UA_StructureDefinition *def) { + UA_StatusCode retval = + UA_NodeId_copy(&type->binaryEncodingId, &def->defaultEncodingId); + if(retval != UA_STATUSCODE_GOOD) + return retval; + switch(type->typeKind) { + case UA_DATATYPEKIND_STRUCTURE: + def->structureType = UA_STRUCTURETYPE_STRUCTURE; + def->baseDataType = UA_NODEID_NUMERIC(0, UA_NS0ID_STRUCTURE); + break; + case UA_DATATYPEKIND_OPTSTRUCT: + def->structureType = UA_STRUCTURETYPE_STRUCTUREWITHOPTIONALFIELDS; + def->baseDataType = UA_NODEID_NUMERIC(0, UA_NS0ID_STRUCTURE); + break; + case UA_DATATYPEKIND_UNION: + def->structureType = UA_STRUCTURETYPE_UNION; + def->baseDataType = UA_NODEID_NUMERIC(0, UA_NS0ID_UNION); + break; + default: + return UA_STATUSCODE_BADENCODINGERROR; + } + def->fieldsSize = type->membersSize; + def->fields = (UA_StructureField *) + UA_calloc(def->fieldsSize, sizeof(UA_StructureField)); + if(!def->fields) { + UA_NodeId_clear(&def->defaultEncodingId); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + for(size_t cnt = 0; cnt < def->fieldsSize; cnt++) { + const UA_DataTypeMember *m = &type->members[cnt]; + def->fields[cnt].valueRank = (m->isArray) ? UA_VALUERANK_ONE_DIMENSION : UA_VALUERANK_SCALAR; + def->fields[cnt].arrayDimensions = NULL; + def->fields[cnt].arrayDimensionsSize = 0; + def->fields[cnt].name = UA_STRING((char *)(uintptr_t)m->memberName); + def->fields[cnt].description.locale = UA_STRING_NULL; + def->fields[cnt].description.text = UA_STRING_NULL; + def->fields[cnt].dataType = m->memberType->typeId; + def->fields[cnt].maxStringLength = 0; + def->fields[cnt].isOptional = m->isOptional; + } + return UA_STATUSCODE_GOOD; +} +#endif + +/* Returns a datavalue that may point into the node via the + * UA_VARIANT_DATA_NODELETE tag. Don't access the returned DataValue once the + * node has been released! */ +void +ReadWithNode(const UA_Node *node, UA_Server *server, UA_Session *session, + UA_TimestampsToReturn timestampsToReturn, + const UA_ReadValueId *id, UA_DataValue *v) { + UA_LOG_NODEID_TRACE(&node->head.nodeId, + UA_LOG_TRACE_SESSION(server->config.logging, session, + "Read attribute %"PRIi32 " of Node %.*s", + id->attributeId, (int)nodeIdStr.length, + nodeIdStr.data)); + + /* Only Binary Encoding is supported */ + if(id->dataEncoding.name.length > 0 && + !UA_String_equal(&binEncoding, &id->dataEncoding.name)) { + if(UA_String_equal(&xmlEncoding, &id->dataEncoding.name) || + UA_String_equal(&jsonEncoding, &id->dataEncoding.name)) + v->status = UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED; + else + v->status = UA_STATUSCODE_BADDATAENCODINGINVALID; + v->hasStatus = true; + return; + } + + /* Index range for an attribute other than value */ + if(id->indexRange.length > 0 && id->attributeId != UA_ATTRIBUTEID_VALUE) { + v->hasStatus = true; + v->status = UA_STATUSCODE_BADINDEXRANGENODATA; + return; + } + + /* Read the attribute */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + switch(id->attributeId) { + case UA_ATTRIBUTEID_NODEID: + retval = UA_Variant_setScalarCopy(&v->value, &node->head.nodeId, + &UA_TYPES[UA_TYPES_NODEID]); + break; + case UA_ATTRIBUTEID_NODECLASS: + retval = UA_Variant_setScalarCopy(&v->value, &node->head.nodeClass, + &UA_TYPES[UA_TYPES_NODECLASS]); + break; + case UA_ATTRIBUTEID_BROWSENAME: + retval = UA_Variant_setScalarCopy(&v->value, &node->head.browseName, + &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); + break; + case UA_ATTRIBUTEID_DISPLAYNAME: { + UA_LocalizedText lt = UA_Session_getNodeDisplayName(session, &node->head); + retval = UA_Variant_setScalarCopy(&v->value, <, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); + break; + } + case UA_ATTRIBUTEID_DESCRIPTION: { + UA_LocalizedText lt = UA_Session_getNodeDescription(session, &node->head); + retval = UA_Variant_setScalarCopy(&v->value, <, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); + break; + } + case UA_ATTRIBUTEID_WRITEMASK: + retval = UA_Variant_setScalarCopy(&v->value, &node->head.writeMask, + &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_ATTRIBUTEID_USERWRITEMASK: { + UA_UInt32 userWriteMask = getUserWriteMask(server, session, &node->head); + retval = UA_Variant_setScalarCopy(&v->value, &userWriteMask, + &UA_TYPES[UA_TYPES_UINT32]); + break; } + case UA_ATTRIBUTEID_ISABSTRACT: + retval = readIsAbstractAttribute(node, &v->value); + break; + case UA_ATTRIBUTEID_SYMMETRIC: + CHECK_NODECLASS(UA_NODECLASS_REFERENCETYPE); + retval = UA_Variant_setScalarCopy(&v->value, &node->referenceTypeNode.symmetric, + &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + case UA_ATTRIBUTEID_INVERSENAME: + CHECK_NODECLASS(UA_NODECLASS_REFERENCETYPE); + if(node->referenceTypeNode.symmetric) { + /* Symmetric reference types don't have an inverse name */ + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; + break; + } + retval = UA_Variant_setScalarCopy(&v->value, &node->referenceTypeNode.inverseName, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); + break; + case UA_ATTRIBUTEID_CONTAINSNOLOOPS: + CHECK_NODECLASS(UA_NODECLASS_VIEW); + retval = UA_Variant_setScalarCopy(&v->value, &node->viewNode.containsNoLoops, + &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + case UA_ATTRIBUTEID_EVENTNOTIFIER: + CHECK_NODECLASS(UA_NODECLASS_VIEW | UA_NODECLASS_OBJECT); + if(node->head.nodeClass == UA_NODECLASS_VIEW) { + retval = UA_Variant_setScalarCopy(&v->value, &node->viewNode.eventNotifier, + &UA_TYPES[UA_TYPES_BYTE]); + } else { + retval = UA_Variant_setScalarCopy(&v->value, &node->objectNode.eventNotifier, + &UA_TYPES[UA_TYPES_BYTE]); + } + break; + case UA_ATTRIBUTEID_VALUE: { + CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + /* VariableTypes don't have the AccessLevel concept. Always allow + * reading the value. */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { + /* The access to a value variable is granted via the AccessLevel + * and UserAccessLevel attributes */ + UA_Byte accessLevel = getAccessLevel(server, session, &node->variableNode); + if(!(accessLevel & (UA_ACCESSLEVELMASK_READ))) { + retval = UA_STATUSCODE_BADNOTREADABLE; + break; + } + accessLevel = getUserAccessLevel(server, session, &node->variableNode); + if(!(accessLevel & (UA_ACCESSLEVELMASK_READ))) { + retval = UA_STATUSCODE_BADUSERACCESSDENIED; + break; + } + } + retval = readValueAttributeComplete(server, session, &node->variableNode, + timestampsToReturn, &id->indexRange, v); + break; + } + case UA_ATTRIBUTEID_DATATYPE: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + retval = UA_Variant_setScalarCopy(&v->value, &node->variableTypeNode.dataType, + &UA_TYPES[UA_TYPES_NODEID]); + break; + case UA_ATTRIBUTEID_VALUERANK: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + retval = UA_Variant_setScalarCopy(&v->value, &node->variableTypeNode.valueRank, + &UA_TYPES[UA_TYPES_INT32]); + break; + case UA_ATTRIBUTEID_ARRAYDIMENSIONS: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + retval = UA_Variant_setArrayCopy(&v->value, node->variableTypeNode.arrayDimensions, + node->variableTypeNode.arrayDimensionsSize, + &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_ATTRIBUTEID_ACCESSLEVEL: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE); + retval = UA_Variant_setScalarCopy(&v->value, &node->variableNode.accessLevel, + &UA_TYPES[UA_TYPES_BYTE]); + break; + case UA_ATTRIBUTEID_ACCESSLEVELEX: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE); + /* The normal AccessLevelEx contains the lowest 8 bits from the normal AccessLevel. + * In our case, all other bits are zero. */ + const UA_Byte accessLevel = *((const UA_Byte*)(&node->variableNode.accessLevel)); + UA_UInt32 accessLevelEx = accessLevel & 0xFF; + retval = UA_Variant_setScalarCopy(&v->value, &accessLevelEx, + &UA_TYPES[UA_TYPES_UINT32]); + + break; + case UA_ATTRIBUTEID_USERACCESSLEVEL: { + CHECK_NODECLASS(UA_NODECLASS_VARIABLE); + UA_Byte userAccessLevel = getUserAccessLevel(server, session, &node->variableNode); + retval = UA_Variant_setScalarCopy(&v->value, &userAccessLevel, + &UA_TYPES[UA_TYPES_BYTE]); + break; } + case UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE); + retval = UA_Variant_setScalarCopy(&v->value, + &node->variableNode.minimumSamplingInterval, + &UA_TYPES[UA_TYPES_DOUBLE]); + break; + case UA_ATTRIBUTEID_HISTORIZING: + CHECK_NODECLASS(UA_NODECLASS_VARIABLE); + retval = UA_Variant_setScalarCopy(&v->value, &node->variableNode.historizing, + &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + case UA_ATTRIBUTEID_EXECUTABLE: + CHECK_NODECLASS(UA_NODECLASS_METHOD); + retval = UA_Variant_setScalarCopy(&v->value, &node->methodNode.executable, + &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + case UA_ATTRIBUTEID_USEREXECUTABLE: { + CHECK_NODECLASS(UA_NODECLASS_METHOD); + UA_Boolean userExecutable = + getUserExecutable(server, session, &node->methodNode); + retval = UA_Variant_setScalarCopy(&v->value, &userExecutable, + &UA_TYPES[UA_TYPES_BOOLEAN]); + break; } + case UA_ATTRIBUTEID_DATATYPEDEFINITION: { + CHECK_NODECLASS(UA_NODECLASS_DATATYPE); + +#ifdef UA_ENABLE_TYPEDESCRIPTION + const UA_DataType *type = + findDataType(node, server->config.customDataTypes); + if(!type) { + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; + break; + } + + if(UA_DATATYPEKIND_STRUCTURE == type->typeKind || + UA_DATATYPEKIND_OPTSTRUCT == type->typeKind || + UA_DATATYPEKIND_UNION == type->typeKind) { + UA_StructureDefinition def; + retval = getStructureDefinition(type, &def); + if(UA_STATUSCODE_GOOD!=retval) + break; + retval = UA_Variant_setScalarCopy(&v->value, &def, + &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); + UA_free(def.fields); + break; + } +#endif + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; + break; } + + case UA_ATTRIBUTEID_ROLEPERMISSIONS: + case UA_ATTRIBUTEID_USERROLEPERMISSIONS: + case UA_ATTRIBUTEID_ACCESSRESTRICTIONS: + /* TODO: Add support for the attributes from the 1.04 spec */ + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; + break; + + default: + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; + } + + /* Reading has failed? */ + if(retval == UA_STATUSCODE_GOOD) { + v->hasValue = true; + } else { + v->hasStatus = true; + v->status = retval; + } + + /* Always use the current time as the server-timestamp */ + if(timestampsToReturn == UA_TIMESTAMPSTORETURN_SERVER || + timestampsToReturn == UA_TIMESTAMPSTORETURN_BOTH) { + v->serverTimestamp = UA_DateTime_now(); + v->hasServerTimestamp = true; + v->hasServerPicoseconds = false; + } else { + v->hasServerTimestamp = false; + v->hasServerPicoseconds = false; + } + + /* Don't "invent" source timestamps. But remove them when not required. */ + if(timestampsToReturn == UA_TIMESTAMPSTORETURN_SERVER || + timestampsToReturn == UA_TIMESTAMPSTORETURN_NEITHER) { + v->hasSourceTimestamp = false; + v->hasSourcePicoseconds = false; + } +} + +void +Operation_Read(UA_Server *server, UA_Session *session, UA_TimestampsToReturn *ttr, + const UA_ReadValueId *rvi, UA_DataValue *dv) { + /* Get the node (with only the selected attribute if the NodeStore supports that) */ + const UA_Node *node = + UA_NODESTORE_GET_SELECTIVE(server, &rvi->nodeId, + attributeId2AttributeMask((UA_AttributeId)rvi->attributeId), + UA_REFERENCETYPESET_NONE, + UA_BROWSEDIRECTION_INVALID); + if(!node) { + dv->hasStatus = true; + dv->status = UA_STATUSCODE_BADNODEIDUNKNOWN; + return; + } + + /* Perform the read operation */ + ReadWithNode(node, server, session, *ttr, rvi, dv); + UA_NODESTORE_RELEASE(server, node); +} + +void +Service_Read(UA_Server *server, UA_Session *session, + const UA_ReadRequest *request, UA_ReadResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing ReadRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Check if the timestampstoreturn is valid */ + if(request->timestampsToReturn > UA_TIMESTAMPSTORETURN_NEITHER) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID; + return; + } + + /* Check if maxAge is valid */ + if(request->maxAge < 0) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADMAXAGEINVALID; + return; + } + + /* Check if there are too many operations */ + if(server->config.maxNodesPerRead != 0 && + request->nodesToReadSize > server->config.maxNodesPerRead) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_Read, + &request->timestampsToReturn, + &request->nodesToReadSize, + &UA_TYPES[UA_TYPES_READVALUEID], + &response->resultsSize, + &UA_TYPES[UA_TYPES_DATAVALUE]); +} + +UA_DataValue +readWithSession(UA_Server *server, UA_Session *session, + const UA_ReadValueId *item, + UA_TimestampsToReturn timestampsToReturn) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_DataValue dv; + UA_DataValue_init(&dv); + Operation_Read(server, session, ×tampsToReturn, item, &dv); + return dv; +} + +UA_StatusCode +readWithReadValue(UA_Server *server, const UA_NodeId *nodeId, + const UA_AttributeId attributeId, void *v) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Call the read service */ + UA_ReadValueId item; + UA_ReadValueId_init(&item); + item.nodeId = *nodeId; + item.attributeId = attributeId; + UA_DataValue dv = readWithSession(server, &server->adminSession, + &item, UA_TIMESTAMPSTORETURN_NEITHER); + + /* Check the return value */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(dv.hasStatus) + retval = dv.status; + else if(!dv.hasValue) + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + if(retval != UA_STATUSCODE_GOOD) { + UA_DataValue_clear(&dv); + return retval; + } + + if(attributeId == UA_ATTRIBUTEID_VALUE || + attributeId == UA_ATTRIBUTEID_ARRAYDIMENSIONS) { + /* Return the entire variant */ + memcpy(v, &dv.value, sizeof(UA_Variant)); + } else { + /* Return the variant content only */ + memcpy(v, dv.value.data, dv.value.type->memSize); + UA_free(dv.value.data); + } + return retval; +} + +/* Exposes the Read service to local users */ +UA_DataValue +UA_Server_read(UA_Server *server, const UA_ReadValueId *item, + UA_TimestampsToReturn timestamps) { + lockServer(server); + UA_DataValue dv = readWithSession(server, &server->adminSession, item, timestamps); + unlockServer(server); + return dv; +} + +/* Used in inline functions exposing the Read service with more syntactic sugar + * for individual attributes */ +UA_StatusCode +__UA_Server_read(UA_Server *server, const UA_NodeId *nodeId, + const UA_AttributeId attributeId, void *v) { + lockServer(server); + UA_StatusCode retval = readWithReadValue(server, nodeId, attributeId, v); + unlockServer(server); + return retval; +} + +UA_StatusCode +readObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + UA_Variant *value) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Create a BrowsePath to get the target NodeId */ + UA_RelativePathElement rpe; + UA_RelativePathElement_init(&rpe); + rpe.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); + rpe.isInverse = false; + rpe.includeSubtypes = false; + rpe.targetName = propertyName; + + UA_BrowsePath bp; + UA_BrowsePath_init(&bp); + bp.startingNode = objectId; + bp.relativePath.elementsSize = 1; + bp.relativePath.elements = &rpe; + + UA_StatusCode retval; + UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + retval = bpr.statusCode; + UA_BrowsePathResult_clear(&bpr); + return retval; + } + + /* Use the first result from the BrowsePath */ + retval = readWithReadValue(server, &bpr.targets[0].targetId.nodeId, + UA_ATTRIBUTEID_VALUE, value); + + UA_BrowsePathResult_clear(&bpr); + return retval; +} + + +UA_StatusCode +UA_Server_readObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + UA_Variant *value) { + lockServer(server); + UA_StatusCode retval = readObjectProperty(server, objectId, propertyName, value); + unlockServer(server); + return retval; +} + +/*****************/ +/* Type Checking */ +/*****************/ + +UA_Boolean +compatibleValueDataType(UA_Server *server, const UA_DataType *dataType, + const UA_NodeId *constraintDataType) { + if(compatibleDataTypes(server, &dataType->typeId, constraintDataType)) + return true; + + /* For actual values, the constraint DataType may be a subtype of the + * DataType of the value -- subtyping in the wrong direction. E.g. UtcTime + * is a subtype of DateTime. But we allow it to be encoded as a DateTime + * value when transferred over the wire. + * + * We do not allow "subtyping in the "wrong direction" if the received type + * is abstract. For example, ExtensionObjects (== "Structure" in the type + * hierarchy) is an abstract type. But ExtensionObject could still be + * transported over the network. */ + UA_Boolean abstract = false; + UA_StatusCode res = readWithReadValue(server, &dataType->typeId, + UA_ATTRIBUTEID_ISABSTRACT, &abstract); + if(res != UA_STATUSCODE_GOOD || abstract) + return false; + + if(isNodeInTree_singleRef(server, constraintDataType, &dataType->typeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) + return true; + + return false; +} + +UA_Boolean +compatibleDataTypes(UA_Server *server, const UA_NodeId *dataType, + const UA_NodeId *constraintDataType) { + /* Do not allow empty datatypes */ + if(UA_NodeId_isNull(dataType)) + return false; + + /* No constraint or Variant / BaseDataType which allows any content */ + if(UA_NodeId_isNull(constraintDataType) || + UA_NodeId_equal(constraintDataType, &UA_TYPES[UA_TYPES_VARIANT].typeId)) + return true; + + /* Same datatypes */ + if(UA_NodeId_equal(dataType, constraintDataType)) + return true; + + /* Is the DataType a subtype of the constraint type? */ + if(isNodeInTree_singleRef(server, dataType, constraintDataType, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) + return true; + + return false; +} + +/* Test whether a ValueRank and the given arraydimensions are compatible. + * + * 5.6.2 Variable NodeClass: If the maximum is unknown the value shall be 0. The + * number of elements shall be equal to the value of the ValueRank Attribute. + * This Attribute shall be null if ValueRank <= 0. */ +UA_Boolean +compatibleValueRankArrayDimensions(UA_Server *server, UA_Session *session, + UA_Int32 valueRank, size_t arrayDimensionsSize) { + /* ValueRank invalid */ + if(valueRank < UA_VALUERANK_SCALAR_OR_ONE_DIMENSION) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "The ValueRank is invalid (< -3)"); + return false; + } + + /* case -3, UA_VALUERANK_SCALAR_OR_ONE_DIMENSION: the value can be a scalar + * or a one dimensional array + * case -2, UA_VALUERANK_ANY: the value can be a scalar or an array with any + * number of dimensions + * case -1, UA_VALUERANK_SCALAR: the value is a scalar + * case 0, UA_VALUERANK_ONE_OR_MORE_DIMENSIONS: the value is an array with + * one or more dimensions */ + if(valueRank <= UA_VALUERANK_ONE_OR_MORE_DIMENSIONS) { + if(arrayDimensionsSize > 0) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "No ArrayDimensions can be defined for a ValueRank <= 0"); + return false; + } + return true; + } + + /* case >= 1, UA_VALUERANK_ONE_DIMENSION: the value is an array with the + specified number of dimensions */ + if(arrayDimensionsSize != (size_t)valueRank) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "The number of ArrayDimensions is not equal to " + "the (positive) ValueRank"); + return false; + } + return true; +} + +UA_Boolean +compatibleValueRanks(UA_Int32 valueRank, UA_Int32 constraintValueRank) { + /* Check if the valuerank of the variabletype allows the change. */ + switch(constraintValueRank) { + case UA_VALUERANK_SCALAR_OR_ONE_DIMENSION: /* the value can be a scalar or a + one dimensional array */ + if(valueRank != UA_VALUERANK_SCALAR && valueRank != UA_VALUERANK_ONE_DIMENSION) + return false; + break; + case UA_VALUERANK_ANY: /* the value can be a scalar or an array with any + number of dimensions */ + break; + case UA_VALUERANK_SCALAR: /* the value is a scalar */ + if(valueRank != UA_VALUERANK_SCALAR) + return false; + break; + case UA_VALUERANK_ONE_OR_MORE_DIMENSIONS: /* the value is an array with one + or more dimensions */ + if(valueRank < (UA_Int32) UA_VALUERANK_ONE_OR_MORE_DIMENSIONS) + return false; + break; + default: /* >= 1: the value is an array with the specified number of + dimensions */ + if(valueRank != constraintValueRank) + return false; + break; + } + return true; +} + +/* Check if the ValueRank allows for the value dimension. This is more + * permissive than checking for the ArrayDimensions attribute. Because the value + * can have dimensions if the ValueRank < 0 */ +static UA_Boolean +compatibleValueRankValue(UA_Int32 valueRank, const UA_Variant *value) { + /* Invalid ValueRank */ + if(valueRank < UA_VALUERANK_SCALAR_OR_ONE_DIMENSION) + return false; + + /* Empty arrays (-1) always match */ + if(!value->data) + return true; + + size_t arrayDims = value->arrayDimensionsSize; + if(arrayDims == 0 && !UA_Variant_isScalar(value)) + arrayDims = 1; /* array but no arraydimensions -> implicit array dimension 1 */ + + /* We cannot simply use compatibleValueRankArrayDimensions since we can have + * defined ArrayDimensions for the value if the ValueRank is -2 */ + switch(valueRank) { + case UA_VALUERANK_SCALAR_OR_ONE_DIMENSION: /* The value can be a scalar or a + one dimensional array */ + return (arrayDims <= 1); + case UA_VALUERANK_ANY: /* The value can be a scalar or an array with any + number of dimensions */ + return true; + case UA_VALUERANK_SCALAR: /* The value is a scalar */ + return (arrayDims == 0); + case UA_VALUERANK_ONE_OR_MORE_DIMENSIONS: + return (arrayDims >= 1); + default: + break; + } + + UA_assert(valueRank >= UA_VALUERANK_ONE_OR_MORE_DIMENSIONS); + + /* case 0: the value is an array with one or more dimensions */ + return (arrayDims == (UA_UInt32)valueRank); +} + +UA_Boolean +compatibleArrayDimensions(size_t constraintArrayDimensionsSize, + const UA_UInt32 *constraintArrayDimensions, + size_t testArrayDimensionsSize, + const UA_UInt32 *testArrayDimensions) { + /* No array dimensions defined -> everything is permitted if the value rank fits */ + if(constraintArrayDimensionsSize == 0) + return true; + + /* Dimension count must match */ + if(testArrayDimensionsSize != constraintArrayDimensionsSize) + return false; + + /* Dimension lengths must not be larger than the constraint. Zero in the + * constraint indicates a wildcard. */ + for(size_t i = 0; i < constraintArrayDimensionsSize; ++i) { + if(constraintArrayDimensions[i] < testArrayDimensions[i] && + constraintArrayDimensions[i] != 0) + return false; + } + return true; +} + +UA_Boolean +compatibleValueArrayDimensions(const UA_Variant *value, size_t targetArrayDimensionsSize, + const UA_UInt32 *targetArrayDimensions) { + size_t valueArrayDimensionsSize = value->arrayDimensionsSize; + UA_UInt32 const *valueArrayDimensions = value->arrayDimensions; + UA_UInt32 tempArrayDimensions; + if(!valueArrayDimensions && !UA_Variant_isScalar(value)) { + /* An empty array implicitly has array dimensions [0,0,...] with the + * correct number of dimensions. So it always matches. */ + if(value->arrayLength == 0) + return true; + + /* Arrays with content and without array dimensions have one implicit dimension */ + valueArrayDimensionsSize = 1; + tempArrayDimensions = (UA_UInt32)value->arrayLength; + valueArrayDimensions = &tempArrayDimensions; + } + UA_assert(valueArrayDimensionsSize == 0 || valueArrayDimensions != NULL); + return compatibleArrayDimensions(targetArrayDimensionsSize, targetArrayDimensions, + valueArrayDimensionsSize, valueArrayDimensions); +} + +const char *reason_EmptyType = "Empty value only allowed for BaseDataType"; +const char *reason_ValueDataType = "DataType of the value is incompatible"; +const char *reason_ValueArrayDimensions = "ArrayDimensions of the value are incompatible"; +const char *reason_ValueValueRank = "ValueRank of the value is incompatible"; + +UA_Boolean +compatibleValue(UA_Server *server, UA_Session *session, const UA_NodeId *targetDataTypeId, + UA_Int32 targetValueRank, size_t targetArrayDimensionsSize, + const UA_UInt32 *targetArrayDimensions, const UA_Variant *value, + const UA_NumericRange *range, const char **reason) { + /* Empty value */ + if(UA_Variant_isEmpty(value)) { + /* Empty value is allowed for BaseDataType */ + if(UA_NodeId_equal(targetDataTypeId, &UA_TYPES[UA_TYPES_VARIANT].typeId) || + UA_NodeId_equal(targetDataTypeId, &UA_NODEID_NULL)) + return true; + + /* Ignore if that is configured */ + if(server->bootstrapNS0 || + server->config.allowEmptyVariables == UA_RULEHANDLING_ACCEPT) + return true; + + UA_LOG_INFO_SESSION(server->config.logging, session, + "Only Variables with data type BaseDataType " + "can contain an empty value"); + + /* Ignore if that is configured */ + if(server->config.allowEmptyVariables == UA_RULEHANDLING_WARN) + return true; + + /* Default handling is to abort */ + *reason = reason_EmptyType; + return false; + } + + /* Empty array of ExtensionObjects */ + if(UA_Variant_hasArrayType(value, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) && + value->arrayLength == 0) { + /* There is no way to check type compatibility here. Leave it for the upper layers to + * decide, if empty array is okay. */ + return true; + } + + /* Is the datatype compatible? */ + if(!compatibleValueDataType(server, value->type, targetDataTypeId)) { + *reason = reason_ValueDataType; + return false; + } + + /* Array dimensions are checked later when writing the range */ + if(range) + return true; + + /* See if the array dimensions match. */ + if(!compatibleValueArrayDimensions(value, targetArrayDimensionsSize, + targetArrayDimensions)) { + *reason = reason_ValueArrayDimensions; + return false; + } + + /* Check if the valuerank allows for the value dimension */ + if(!compatibleValueRankValue(targetValueRank, value)) { + *reason = reason_ValueValueRank; + return false; + } + + return true; +} + +/*****************/ +/* Write Service */ +/*****************/ + +static void +freeWrapperArray(void *app, void *context) { + UA_free(context); +} + +static void +unwrapEOArray(UA_Server *server, UA_Variant *value) { + /* Only works on arrays of ExtensionObjects */ + if(!UA_Variant_hasArrayType(value, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) || + value->arrayLength == 0) + return; + + /* All eo need to be already decoded and have the same wrapped type */ + UA_ExtensionObject *eo = (UA_ExtensionObject*)value->data; + const UA_DataType *innerType = eo[0].content.decoded.type; + for(size_t i = 0; i < value->arrayLength; i++) { + if(eo[i].encoding != UA_EXTENSIONOBJECT_DECODED && + eo[i].encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) + return; + if(eo[i].content.decoded.type != innerType) + return; + } + + /* Allocate the array for the unwrapped data. Since the adjusted value is + * not cleaned up (only the original value), this memory is being cleaned up + * by a delayed callback in the server after the method call has + * finished. */ + UA_DelayedCallback *dc = (UA_DelayedCallback*) + UA_malloc(sizeof(UA_DelayedCallback) + (value->arrayLength * innerType->memSize)); + if(!dc) + return; + + /* Move the content */ + uintptr_t pos = ((uintptr_t)dc) + sizeof(UA_DelayedCallback); + void *unwrappedArray = (void*)pos; + for(size_t i = 0; i < value->arrayLength; i++) { + memcpy((void*)pos, eo[i].content.decoded.data, innerType->memSize); + pos += innerType->memSize; + } + + /* Adjust the value */ + value->type = innerType; + value->data = unwrappedArray; + + /* Add the delayed callback to free the memory of the unwrapped array */ + dc->callback = freeWrapperArray; + dc->application = NULL; + dc->context = dc; + UA_EventLoop *el = server->config.eventLoop; + el->addDelayedCallback(el, dc); +} + +void +adjustValueType(UA_Server *server, UA_Variant *value, + const UA_NodeId *targetDataTypeId) { + /* If the value is empty, there is nothing we can do here */ + const UA_DataType *type = value->type; + if(!type) + return; + + /* The target type is already achieved. No adjustment needed. */ + if(UA_NodeId_equal(&type->typeId, targetDataTypeId)) + return; + + /* Unwrap ExtensionObject arrays if they all contain the same DataType */ + unwrapEOArray(server, value); + + /* Find the target type */ + const UA_DataType *targetType = + UA_findDataTypeWithCustom(targetDataTypeId, server->config.customDataTypes); + if(!targetType) + return; + + /* Use the generic functionality shared by client and server */ + adjustType(value, targetType); +} + +static UA_StatusCode +writeArrayDimensionsAttribute(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_VariableTypeNode *type, + size_t arrayDimensionsSize, UA_UInt32 *arrayDimensions) { + UA_assert(node != NULL); + UA_assert(type != NULL); + + /* If this is a variabletype, there must be no instances or subtypes of it + * when we do the change */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE && + UA_Node_hasSubTypeOrInstances(&node->head)) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Cannot change a variable type with existing instances"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check that the array dimensions match with the valuerank */ + if(!compatibleValueRankArrayDimensions(server, session, node->valueRank, + arrayDimensionsSize)) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "Cannot write the ArrayDimensions. The ValueRank does not match."); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Check if the array dimensions match with the wildcards in the + * variabletype (dimension length 0) */ + if(type->arrayDimensions && + !compatibleArrayDimensions(type->arrayDimensionsSize, type->arrayDimensions, + arrayDimensionsSize, arrayDimensions)) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "Array dimensions in the variable type do not match"); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Check if the current value is compatible with the array dimensions */ + UA_DataValue value; + UA_DataValue_init(&value); + UA_StatusCode retval = readValueAttribute(server, session, node, &value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + if(value.hasValue) { + if(!compatibleValueArrayDimensions(&value.value, arrayDimensionsSize, + arrayDimensions)) + retval = UA_STATUSCODE_BADTYPEMISMATCH; + UA_DataValue_clear(&value); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "Array dimensions in the current value do not match"); + return retval; + } + } + + /* Ok, apply */ + UA_UInt32 *oldArrayDimensions = node->arrayDimensions; + size_t oldArrayDimensionsSize = node->arrayDimensionsSize; + retval = UA_Array_copy(arrayDimensions, arrayDimensionsSize, + (void**)&node->arrayDimensions, + &UA_TYPES[UA_TYPES_UINT32]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_Array_delete(oldArrayDimensions, oldArrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); + node->arrayDimensionsSize = arrayDimensionsSize; + return UA_STATUSCODE_GOOD; +} + +/* Stack layout: ... | node | type */ +static UA_StatusCode +writeValueRank(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_VariableTypeNode *type, + UA_Int32 valueRank) { + UA_assert(node != NULL); + UA_assert(type != NULL); + + UA_Int32 constraintValueRank = type->valueRank; + + /* If this is a variabletype, there must be no instances or subtypes of it + * when we do the change */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE && + UA_Node_hasSubTypeOrInstances(&node->head)) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Check if the valuerank of the variabletype allows the change. */ + if(!compatibleValueRanks(valueRank, constraintValueRank)) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* Check if the new valuerank is compatible with the array dimensions. Use + * the read service to handle data sources. */ + size_t arrayDims = node->arrayDimensionsSize; + if(arrayDims == 0) { + /* the value could be an array with no arrayDimensions defined. + dimensions zero indicate a scalar for compatibleValueRankArrayDimensions. */ + UA_DataValue value; + UA_DataValue_init(&value); + UA_StatusCode retval = readValueAttribute(server, session, node, &value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + if(!value.hasValue || !value.value.type) { + /* no value -> apply */ + node->valueRank = valueRank; + return UA_STATUSCODE_GOOD; + } + if(!UA_Variant_isScalar(&value.value)) + arrayDims = 1; + UA_DataValue_clear(&value); + } + if(!compatibleValueRankArrayDimensions(server, session, valueRank, arrayDims)) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* All good, apply the change */ + node->valueRank = valueRank; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +writeDataTypeAttribute(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_VariableTypeNode *type, + const UA_NodeId *dataType) { + UA_assert(node != NULL); + UA_assert(type != NULL); + + /* If this is a variabletype, there must be no instances or subtypes of it + when we do the change */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE && + UA_Node_hasSubTypeOrInstances(&node->head)) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Does the new type match the constraints of the variabletype? */ + if(!compatibleDataTypes(server, dataType, &type->dataType)) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* Check if the current value would match the new type */ + UA_DataValue value; + UA_DataValue_init(&value); + UA_StatusCode retval = readValueAttribute(server, session, node, &value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + if(value.hasValue) { + const char *reason; /* temp value */ + if(!compatibleValue(server, session, dataType, node->valueRank, + node->arrayDimensionsSize, node->arrayDimensions, + &value.value, NULL, &reason)) + retval = UA_STATUSCODE_BADTYPEMISMATCH; + UA_DataValue_clear(&value); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "The current value does not match the new data type"); + return retval; + } + } + + /* Replace the datatype nodeid */ + UA_NodeId dtCopy = node->dataType; + retval = UA_NodeId_copy(dataType, &node->dataType); + if(retval != UA_STATUSCODE_GOOD) { + node->dataType = dtCopy; + return retval; + } + UA_NodeId_clear(&dtCopy); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +writeValueAttributeWithoutRange(UA_VariableNode *node, const UA_DataValue *value) { + UA_DataValue *oldValue = &node->value.data.value; + UA_DataValue tmpValue = *value; + + /* If possible memcpy the new value over the old value without + * a malloc. For this the value needs to be "pointerfree". */ + if(oldValue->hasValue && oldValue->value.type && oldValue->value.type->pointerFree && + value->hasValue && value->value.type && value->value.type->pointerFree && + oldValue->value.type->memSize == value->value.type->memSize) { + size_t oSize = 1; + size_t vSize = 1; + if(!UA_Variant_isScalar(&oldValue->value)) + oSize = oldValue->value.arrayLength; + if(!UA_Variant_isScalar(&value->value)) + vSize = value->value.arrayLength; + + if(oSize == vSize && + oldValue->value.arrayDimensionsSize == value->value.arrayDimensionsSize) { + /* Keep the old pointers, but adjust type and array length */ + tmpValue.value = oldValue->value; + tmpValue.value.type = value->value.type; + tmpValue.value.arrayLength = value->value.arrayLength; + + /* Copy the data over the old memory */ + memcpy(tmpValue.value.data, value->value.data, + oSize * oldValue->value.type->memSize); + memcpy(tmpValue.value.arrayDimensions, value->value.arrayDimensions, + sizeof(UA_UInt32) * oldValue->value.arrayDimensionsSize); + + /* Set the value */ + node->value.data.value = tmpValue; + return UA_STATUSCODE_GOOD; + } + } + + /* Make a deep copy of the value and replace when this succeeds */ + UA_StatusCode retval = UA_Variant_copy(&value->value, &tmpValue.value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_DataValue_clear(&node->value.data.value); + node->value.data.value = tmpValue; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +writeValueAttributeWithRange(UA_VariableNode *node, const UA_DataValue *value, + const UA_NumericRange *rangeptr) { + /* Value on both sides? */ + if(value->status != node->value.data.value.status || + !value->hasValue || !node->value.data.value.hasValue) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + + /* Make scalar a one-entry array for range matching */ + UA_Variant editableValue; + const UA_Variant *v = &value->value; + if(UA_Variant_isScalar(&value->value)) { + editableValue = value->value; + editableValue.arrayLength = 1; + v = &editableValue; + } + + /* Check that the type is an exact match and not only "compatible" */ + if(!node->value.data.value.value.type || !v->type || + !UA_NodeId_equal(&node->value.data.value.value.type->typeId, + &v->type->typeId)) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* Write the value */ + UA_StatusCode retval = + UA_Variant_setRangeCopy(&node->value.data.value.value, + v->data, v->arrayLength, *rangeptr); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Write the status and timestamps */ + node->value.data.value.hasStatus = value->hasStatus; + node->value.data.value.status = value->status; + node->value.data.value.hasSourceTimestamp = value->hasSourceTimestamp; + node->value.data.value.sourceTimestamp = value->sourceTimestamp; + node->value.data.value.hasSourcePicoseconds = value->hasSourcePicoseconds; + node->value.data.value.sourcePicoseconds = value->sourcePicoseconds; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +writeNodeValueAttribute(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_DataValue *value, + const UA_String *indexRange) { + UA_assert(node != NULL); + UA_assert(session != NULL); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Parse the range */ + UA_NumericRange range; + range.dimensions = NULL; + UA_NumericRange *rangeptr = NULL; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(indexRange && indexRange->length > 0) { + retval = UA_NumericRange_parse(&range, *indexRange); + if(retval != UA_STATUSCODE_GOOD) + return retval; + rangeptr = ⦥ + } + + /* Created an editable version. The data is not touched. Only the variant + * "container". */ + UA_DataValue adjustedValue = *value; + + /* Type checking. May change the type of adjustedValue */ + const char *reason; + if(value->hasValue && value->value.type) { + /* Try to correct the type */ + adjustValueType(server, &adjustedValue.value, &node->dataType); + + /* Check the type */ + if(!compatibleValue(server, session, &node->dataType, node->valueRank, + node->arrayDimensionsSize, node->arrayDimensions, + &adjustedValue.value, rangeptr, &reason)) { + UA_LOG_NODEID_WARNING(&node->head.nodeId, + if(session == &server->adminSession) { + /* If the value is written via the local API, log a warning */ + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Writing the value of Node %.*s failed with the " + "following reason: %s", + (int)nodeIdStr.length, nodeIdStr.data, reason); + } else { + /* Don't spam the logs if writing from remote failed */ + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Writing the value of Node %.*s failed with the " + "following reason: %s", + (int)nodeIdStr.length, nodeIdStr.data, reason); + }); + if(rangeptr && rangeptr->dimensions != NULL) + UA_free(rangeptr->dimensions); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + } + + /* If no source timestamp is defined create one here. + * It should be created as close to the source as possible. */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE && !node->isDynamic) { + adjustedValue.hasSourceTimestamp = false; + adjustedValue.hasSourcePicoseconds = false; + } + + /* Call into the different value storage backends. + * + * TODO: Clean up this mess with duplicated possibilities for external + * callbacks */ + retval = UA_STATUSCODE_BADWRITENOTSUPPORTED; /* default */ + switch(node->valueBackend.backendType) { + case UA_VALUEBACKENDTYPE_NONE: + if(node->valueSource == UA_VALUESOURCE_DATA) { + /* Write into the in-situ DataValue */ + if(!rangeptr) + retval = writeValueAttributeWithoutRange(node, &adjustedValue); + else + retval = writeValueAttributeWithRange(node, &adjustedValue, rangeptr); + + /* Callback after writing */ + if(retval == UA_STATUSCODE_GOOD && + node->value.data.callback.onWrite) { + node->value.data.callback. + onWrite(server, &session->sessionId, session->sessionHandle, + &node->head.nodeId, node->head.context, + rangeptr, &adjustedValue); + } + } else if(node->value.dataSource.write) { + /* Write via the datasource callback */ + retval = node->value.dataSource. + write(server, &session->sessionId, session->sessionHandle, + &node->head.nodeId, node->head.context, + rangeptr, &adjustedValue); + } + break; + + case UA_VALUEBACKENDTYPE_EXTERNAL: + retval = UA_STATUSCODE_GOOD; + if(node->valueBackend.backend.external.callback.userWrite) { + retval = node->valueBackend.backend.external.callback. + userWrite(server, &session->sessionId, session->sessionHandle, + &node->head.nodeId, node->head.context, + rangeptr, &adjustedValue); + } else { + if(node->valueBackend.backend.external.value) { + UA_DataValue_clear(*node->valueBackend.backend.external.value); + retval = UA_DataValue_copy(&adjustedValue, + *node->valueBackend.backend.external.value); + } + } + break; + + case UA_VALUEBACKENDTYPE_INTERNAL: + case UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK: + default: + break; + } + + /* Write into the historical data backend. Not that the historical data + * backend can be configured to "poll" data like a MonitoredItem also. */ +#ifdef UA_ENABLE_HISTORIZING + if(retval == UA_STATUSCODE_GOOD && + node->head.nodeClass == UA_NODECLASS_VARIABLE && + server->config.historyDatabase.setValue) { + server->config.historyDatabase. + setValue(server, server->config.historyDatabase.context, + &session->sessionId, session->sessionHandle, + &node->head.nodeId, node->historizing, &adjustedValue); + } +#endif + + /* Clean up */ + if(rangeptr && rangeptr->dimensions != NULL) + UA_free(rangeptr->dimensions); + return retval; +} + +static UA_StatusCode +writeIsAbstract(UA_Node *node, UA_Boolean value) { + switch(node->head.nodeClass) { + case UA_NODECLASS_OBJECTTYPE: + node->objectTypeNode.isAbstract = value; + break; + case UA_NODECLASS_REFERENCETYPE: + node->referenceTypeNode.isAbstract = value; + break; + case UA_NODECLASS_VARIABLETYPE: + node->variableTypeNode.isAbstract = value; + break; + case UA_NODECLASS_DATATYPE: + node->dataTypeNode.isAbstract = value; + break; + default: + return UA_STATUSCODE_BADNODECLASSINVALID; + } + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* Write Service */ +/*****************/ + +#define CHECK_DATATYPE_SCALAR(EXP_DT) \ + if(!wvalue->value.hasValue || \ + &UA_TYPES[UA_TYPES_##EXP_DT] != wvalue->value.value.type || \ + !UA_Variant_isScalar(&wvalue->value.value)) { \ + retval = UA_STATUSCODE_BADTYPEMISMATCH; \ + break; \ + } + +#define CHECK_DATATYPE_ARRAY(EXP_DT) \ + if(!wvalue->value.hasValue || \ + &UA_TYPES[UA_TYPES_##EXP_DT] != wvalue->value.value.type || \ + UA_Variant_isScalar(&wvalue->value.value)) { \ + retval = UA_STATUSCODE_BADTYPEMISMATCH; \ + break; \ + } + +#define CHECK_NODECLASS_WRITE(CLASS) \ + if((node->head.nodeClass & (CLASS)) == 0) { \ + retval = UA_STATUSCODE_BADNODECLASSINVALID; \ + break; \ + } + +#define CHECK_USERWRITEMASK(mask) \ + if(!(userWriteMask & (mask))) { \ + retval = UA_STATUSCODE_BADUSERACCESSDENIED; \ + break; \ + } + +#define GET_NODETYPE \ + type = (const UA_VariableTypeNode*) \ + getNodeType(server, &node->head); \ + if(!type) { \ + retval = UA_STATUSCODE_BADTYPEMISMATCH; \ + break; \ + } + +/* Update a localized text. Don't touch the target if copying fails + * (maybe due to BadOutOfMemory). */ +static UA_StatusCode +updateLocalizedText(const UA_LocalizedText *source, UA_LocalizedText *target) { + UA_LocalizedText tmp; + UA_StatusCode retval = UA_LocalizedText_copy(source, &tmp); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_LocalizedText_clear(target); + *target = tmp; + return UA_STATUSCODE_GOOD; +} + +/* Trigger sampling if a MonitoredItem surveils the attribute with no sampling + * interval */ +#ifdef UA_ENABLE_SUBSCRIPTIONS +static void +triggerImmediateDataChange(UA_Server *server, UA_Session *session, + UA_Node *node, const UA_WriteValue *wvalue) { + UA_MonitoredItem *mon = node->head.monitoredItems; + for(; mon != NULL; mon = mon->sampling.nodeListNext) { + if(mon->itemToMonitor.attributeId != wvalue->attributeId) + continue; + UA_DataValue value; + UA_DataValue_init(&value); + ReadWithNode(node, server, session, mon->timestampsToReturn, + &mon->itemToMonitor, &value); + UA_MonitoredItem_processSampledValue(server, mon, &value); + } +} +#endif + +/* This function implements the main part of the write service and operates on a + copy of the node (not in single-threaded mode). */ +static UA_StatusCode +copyAttributeIntoNode(UA_Server *server, UA_Session *session, + UA_Node *node, const UA_WriteValue *wvalue) { + UA_assert(session != NULL); + const void *value = wvalue->value.value.data; + UA_UInt32 userWriteMask = getUserWriteMask(server, session, &node->head); + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + UA_LOG_NODEID_TRACE(&node->head.nodeId, + UA_LOG_TRACE_SESSION(server->config.logging, session, + "Write attribute %"PRIi32 " of Node %.*s", + wvalue->attributeId, (int)nodeIdStr.length, + nodeIdStr.data)); + + const UA_VariableTypeNode *type; + + switch(wvalue->attributeId) { + case UA_ATTRIBUTEID_NODEID: + case UA_ATTRIBUTEID_NODECLASS: + case UA_ATTRIBUTEID_USERWRITEMASK: + case UA_ATTRIBUTEID_USERACCESSLEVEL: + case UA_ATTRIBUTEID_USEREXECUTABLE: + case UA_ATTRIBUTEID_BROWSENAME: /* BrowseName is tracked in a binary tree + for fast lookup */ + retval = UA_STATUSCODE_BADWRITENOTSUPPORTED; + break; + case UA_ATTRIBUTEID_DISPLAYNAME: + CHECK_USERWRITEMASK(UA_WRITEMASK_DISPLAYNAME); + CHECK_DATATYPE_SCALAR(LOCALIZEDTEXT); + retval = UA_Node_insertOrUpdateDisplayName(&node->head, + (const UA_LocalizedText *)value); + break; + case UA_ATTRIBUTEID_DESCRIPTION: + CHECK_USERWRITEMASK(UA_WRITEMASK_DESCRIPTION); + CHECK_DATATYPE_SCALAR(LOCALIZEDTEXT); + retval = UA_Node_insertOrUpdateDescription(&node->head, + (const UA_LocalizedText *)value); + break; + case UA_ATTRIBUTEID_WRITEMASK: + CHECK_USERWRITEMASK(UA_WRITEMASK_WRITEMASK); + CHECK_DATATYPE_SCALAR(UINT32); + node->head.writeMask = *(const UA_UInt32*)value; + break; + case UA_ATTRIBUTEID_ISABSTRACT: + CHECK_USERWRITEMASK(UA_WRITEMASK_ISABSTRACT); + CHECK_DATATYPE_SCALAR(BOOLEAN); + retval = writeIsAbstract(node, *(const UA_Boolean*)value); + break; + case UA_ATTRIBUTEID_SYMMETRIC: + CHECK_NODECLASS_WRITE(UA_NODECLASS_REFERENCETYPE); + CHECK_USERWRITEMASK(UA_WRITEMASK_SYMMETRIC); + CHECK_DATATYPE_SCALAR(BOOLEAN); + node->referenceTypeNode.symmetric = *(const UA_Boolean*)value; + break; + case UA_ATTRIBUTEID_INVERSENAME: + CHECK_NODECLASS_WRITE(UA_NODECLASS_REFERENCETYPE); + CHECK_USERWRITEMASK(UA_WRITEMASK_INVERSENAME); + CHECK_DATATYPE_SCALAR(LOCALIZEDTEXT); + retval = updateLocalizedText((const UA_LocalizedText *)value, + &node->referenceTypeNode.inverseName); + break; + case UA_ATTRIBUTEID_CONTAINSNOLOOPS: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VIEW); + CHECK_USERWRITEMASK(UA_WRITEMASK_CONTAINSNOLOOPS); + CHECK_DATATYPE_SCALAR(BOOLEAN); + node->viewNode.containsNoLoops = *(const UA_Boolean*)value; + break; + case UA_ATTRIBUTEID_EVENTNOTIFIER: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VIEW | UA_NODECLASS_OBJECT); + CHECK_USERWRITEMASK(UA_WRITEMASK_EVENTNOTIFIER); + CHECK_DATATYPE_SCALAR(BYTE); + if(node->head.nodeClass == UA_NODECLASS_VIEW) { + node->viewNode.eventNotifier = *(const UA_Byte*)value; + } else { + node->objectNode.eventNotifier = *(const UA_Byte*)value; + } + break; + case UA_ATTRIBUTEID_VALUE: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { + /* The access to a value variable is granted via the AccessLevel + * and UserAccessLevel attributes */ + UA_Byte accessLevel = getAccessLevel(server, session, &node->variableNode); + if(!(accessLevel & (UA_ACCESSLEVELMASK_WRITE))) { + retval = UA_STATUSCODE_BADNOTWRITABLE; + break; + } + accessLevel = getUserAccessLevel(server, session, &node->variableNode); + if(!(accessLevel & (UA_ACCESSLEVELMASK_WRITE))) { + retval = UA_STATUSCODE_BADUSERACCESSDENIED; + break; + } + } else { /* UA_NODECLASS_VARIABLETYPE */ + CHECK_USERWRITEMASK(UA_WRITEMASK_VALUEFORVARIABLETYPE); + } + retval = writeNodeValueAttribute(server, session, &node->variableNode, + &wvalue->value, &wvalue->indexRange); + break; + case UA_ATTRIBUTEID_DATATYPE: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + CHECK_USERWRITEMASK(UA_WRITEMASK_DATATYPE); + CHECK_DATATYPE_SCALAR(NODEID); + GET_NODETYPE; + retval = writeDataTypeAttribute(server, session, &node->variableNode, + type, (const UA_NodeId*)value); + UA_NODESTORE_RELEASE(server, (const UA_Node*)type); + break; + case UA_ATTRIBUTEID_VALUERANK: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + CHECK_USERWRITEMASK(UA_WRITEMASK_VALUERANK); + CHECK_DATATYPE_SCALAR(INT32); + GET_NODETYPE; + retval = writeValueRank(server, session, &node->variableNode, + type, *(const UA_Int32*)value); + UA_NODESTORE_RELEASE(server, (const UA_Node*)type); + break; + case UA_ATTRIBUTEID_ARRAYDIMENSIONS: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); + CHECK_USERWRITEMASK(UA_WRITEMASK_ARRRAYDIMENSIONS); + CHECK_DATATYPE_ARRAY(UINT32); + GET_NODETYPE; + retval = writeArrayDimensionsAttribute(server, session, &node->variableNode, + type, wvalue->value.value.arrayLength, + (UA_UInt32 *)wvalue->value.value.data); + UA_NODESTORE_RELEASE(server, (const UA_Node*)type); + break; + case UA_ATTRIBUTEID_ACCESSLEVEL: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); + CHECK_USERWRITEMASK(UA_WRITEMASK_ACCESSLEVEL); + CHECK_DATATYPE_SCALAR(BYTE); + node->variableNode.accessLevel = *(const UA_Byte*)value; + break; + case UA_ATTRIBUTEID_ACCESSLEVELEX: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); + CHECK_USERWRITEMASK(UA_WRITEMASK_ACCESSLEVELEX); + CHECK_DATATYPE_SCALAR(UINT32); + node->variableNode.accessLevel = (UA_Byte)(*(const UA_UInt32*)value & 0xFF); + break; + case UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); + CHECK_USERWRITEMASK(UA_WRITEMASK_MINIMUMSAMPLINGINTERVAL); + CHECK_DATATYPE_SCALAR(DOUBLE); + node->variableNode.minimumSamplingInterval = *(const UA_Double*)value; + break; + case UA_ATTRIBUTEID_HISTORIZING: + CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); + CHECK_USERWRITEMASK(UA_WRITEMASK_HISTORIZING); + CHECK_DATATYPE_SCALAR(BOOLEAN); + node->variableNode.historizing = *(const UA_Boolean*)value; + break; + case UA_ATTRIBUTEID_EXECUTABLE: + CHECK_NODECLASS_WRITE(UA_NODECLASS_METHOD); + CHECK_USERWRITEMASK(UA_WRITEMASK_EXECUTABLE); + CHECK_DATATYPE_SCALAR(BOOLEAN); + node->methodNode.executable = *(const UA_Boolean*)value; + break; + default: + retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; + break; + } + + /* Check if writing succeeded */ + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "WriteRequest returned status code %s", + UA_StatusCode_name(retval)); + return retval; + } + + /* Trigger MonitoredItems with no SamplingInterval */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + triggerImmediateDataChange(server, session, node, wvalue); +#endif + + return UA_STATUSCODE_GOOD; +} + +void +Operation_Write(UA_Server *server, UA_Session *session, void *context, + const UA_WriteValue *wv, UA_StatusCode *result) { + UA_assert(session != NULL); + *result = UA_Server_editNode(server, session, &wv->nodeId, + (UA_EditNodeCallback)copyAttributeIntoNode, + (void*)(uintptr_t)wv); +} + +void +Service_Write(UA_Server *server, UA_Session *session, + const UA_WriteRequest *request, + UA_WriteResponse *response) { + UA_assert(session != NULL); + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing WriteRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxNodesPerWrite != 0 && + request->nodesToWriteSize > server->config.maxNodesPerWrite) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_Write, NULL, + &request->nodesToWriteSize, + &UA_TYPES[UA_TYPES_WRITEVALUE], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_StatusCode +UA_Server_write(UA_Server *server, const UA_WriteValue *value) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + lockServer(server); + Operation_Write(server, &server->adminSession, NULL, value, &res); + unlockServer(server); + return res; +} + +/* Convenience function to be wrapped into inline functions */ +UA_StatusCode +__UA_Server_write(UA_Server *server, const UA_NodeId *nodeId, + const UA_AttributeId attributeId, + const UA_DataType *attr_type, const void *attr) { + lockServer(server); + UA_StatusCode res = writeAttribute(server, &server->adminSession, + nodeId, attributeId, attr, attr_type); + unlockServer(server); + return res; +} + +/* Internal convenience function */ +UA_StatusCode +writeAttribute(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, const UA_AttributeId attributeId, + const void *attr, const UA_DataType *attr_type) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_WriteValue wvalue; + UA_WriteValue_init(&wvalue); + wvalue.nodeId = *nodeId; + wvalue.attributeId = attributeId; + wvalue.value.hasValue = true; + if(attr_type == &UA_TYPES[UA_TYPES_VARIANT]) { + wvalue.value.value = *(const UA_Variant*)attr; + } else if(attr_type == &UA_TYPES[UA_TYPES_DATAVALUE]) { + wvalue.value = *(const UA_DataValue*)attr; + } else { + /* hacked cast. the target WriteValue is used as const anyway */ + UA_Variant_setScalar(&wvalue.value.value, + (void*)(uintptr_t)attr, attr_type); + } + + UA_StatusCode res = UA_STATUSCODE_GOOD; + Operation_Write(server, session, NULL, &wvalue, &res); + return res; +} + +#ifdef UA_ENABLE_HISTORIZING +typedef void + (*UA_HistoryDatabase_readFunc)(UA_Server *server, void *hdbContext, + const UA_NodeId *sessionId, void *sessionContext, + const UA_RequestHeader *requestHeader, + const void *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + void * const * const historyData); + +void +Service_HistoryRead(UA_Server *server, UA_Session *session, + const UA_HistoryReadRequest *request, + UA_HistoryReadResponse *response) { + UA_assert(session != NULL); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(server->config.historyDatabase.context == NULL) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTSUPPORTED; + return; + } + + if(request->historyReadDetails.encoding != UA_EXTENSIONOBJECT_DECODED) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTSUPPORTED; + return; + } + + const UA_DataType *historyDataType = &UA_TYPES[UA_TYPES_HISTORYDATA]; + UA_HistoryDatabase_readFunc readHistory = NULL; + if(request->historyReadDetails.content.decoded.type == + &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]) { + UA_ReadRawModifiedDetails *details = (UA_ReadRawModifiedDetails*) + request->historyReadDetails.content.decoded.data; + if(!details->isReadModified) { + readHistory = (UA_HistoryDatabase_readFunc) + server->config.historyDatabase.readRaw; + } else { + historyDataType = &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]; + readHistory = (UA_HistoryDatabase_readFunc) + server->config.historyDatabase.readModified; + } + } else if(request->historyReadDetails.content.decoded.type == + &UA_TYPES[UA_TYPES_READEVENTDETAILS]) { + historyDataType = &UA_TYPES[UA_TYPES_HISTORYEVENT]; + readHistory = (UA_HistoryDatabase_readFunc) + server->config.historyDatabase.readEvent; + } else if(request->historyReadDetails.content.decoded.type == + &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]) { + readHistory = (UA_HistoryDatabase_readFunc) + server->config.historyDatabase.readProcessed; + } else if(request->historyReadDetails.content.decoded.type == + &UA_TYPES[UA_TYPES_READATTIMEDETAILS]) { + readHistory = (UA_HistoryDatabase_readFunc) + server->config.historyDatabase.readAtTime; + } else { + /* TODO handle more request->historyReadDetails.content.decoded.type types */ + response->responseHeader.serviceResult = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; + return; + } + + /* Check if the configured History-Backend supports the requested history type */ + if(!readHistory) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "The configured HistoryBackend does not support the selected history-type."); + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTSUPPORTED; + return; + } + + /* Something to do? */ + if(request->nodesToReadSize == 0) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; + return; + } + + /* Check if there are too many operations */ + if(server->config.maxNodesPerRead != 0 && + request->nodesToReadSize > server->config.maxNodesPerRead) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + /* Allocate a temporary array to forward the result pointers to the + * backend */ + void **historyData = (void **) + UA_calloc(request->nodesToReadSize, sizeof(void*)); + if(!historyData) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + /* Allocate the results array */ + response->results = (UA_HistoryReadResult*) + UA_Array_new(request->nodesToReadSize, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); + if(!response->results) { + UA_free(historyData); + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + response->resultsSize = request->nodesToReadSize; + + for(size_t i = 0; i < response->resultsSize; ++i) { + void * data = UA_new(historyDataType); + UA_ExtensionObject_setValue(&response->results[i].historyData, + data, historyDataType); + historyData[i] = data; + } + readHistory(server, server->config.historyDatabase.context, + &session->sessionId, session->sessionHandle, + &request->requestHeader, + request->historyReadDetails.content.decoded.data, + request->timestampsToReturn, + request->releaseContinuationPoints, + request->nodesToReadSize, request->nodesToRead, + response, historyData); + UA_free(historyData); +} + +void +Service_HistoryUpdate(UA_Server *server, UA_Session *session, + const UA_HistoryUpdateRequest *request, + UA_HistoryUpdateResponse *response) { + UA_assert(session != NULL); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + response->resultsSize = request->historyUpdateDetailsSize; + response->results = (UA_HistoryUpdateResult*) + UA_Array_new(response->resultsSize, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); + if(!response->results) { + response->resultsSize = 0; + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + for(size_t i = 0; i < request->historyUpdateDetailsSize; ++i) { + UA_HistoryUpdateResult_init(&response->results[i]); + if(request->historyUpdateDetails[i].encoding != UA_EXTENSIONOBJECT_DECODED) { + response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; + continue; + } + + const UA_DataType *updateDetailsType = + request->historyUpdateDetails[i].content.decoded.type; + void *updateDetailsData = request->historyUpdateDetails[i].content.decoded.data; + + if(updateDetailsType == &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]) { + if(!server->config.historyDatabase.updateData) { + response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; + continue; + } + server->config.historyDatabase. + updateData(server, server->config.historyDatabase.context, + &session->sessionId, session->sessionHandle, + &request->requestHeader, + (UA_UpdateDataDetails*)updateDetailsData, + &response->results[i]); + continue; + } + + if(updateDetailsType == &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]) { + if(!server->config.historyDatabase.deleteRawModified) { + response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; + continue; + } + server->config.historyDatabase. + deleteRawModified(server, server->config.historyDatabase.context, + &session->sessionId, session->sessionHandle, + &request->requestHeader, + (UA_DeleteRawModifiedDetails*)updateDetailsData, + &response->results[i]); + continue; + } + + response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; + } +} + +#endif + +UA_StatusCode +UA_Server_writeObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const UA_Variant value) { + lockServer(server); + UA_StatusCode retVal = writeObjectProperty(server, objectId, propertyName, value); + unlockServer(server); + return retVal; +} + +UA_StatusCode +writeObjectProperty(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const UA_Variant value) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_RelativePathElement rpe; + UA_RelativePathElement_init(&rpe); + rpe.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); + rpe.isInverse = false; + rpe.includeSubtypes = false; + rpe.targetName = propertyName; + + UA_BrowsePath bp; + UA_BrowsePath_init(&bp); + bp.startingNode = objectId; + bp.relativePath.elementsSize = 1; + bp.relativePath.elements = &rpe; + + UA_StatusCode retval; + UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + retval = bpr.statusCode; + UA_BrowsePathResult_clear(&bpr); + return retval; + } + + retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); + + UA_BrowsePathResult_clear(&bpr); + return retval; +} + +UA_StatusCode +writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const void *value, const UA_DataType *type) { + UA_Variant var; + UA_Variant_init(&var); + UA_Variant_setScalar(&var, (void*)(uintptr_t)value, type); + return writeObjectProperty(server, objectId, propertyName, var); +} + +UA_StatusCode UA_EXPORT +UA_Server_writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, + const UA_QualifiedName propertyName, + const void *value, const UA_DataType *type) { + lockServer(server); + UA_StatusCode retval = + writeObjectProperty_scalar(server, objectId, propertyName, value, type); + unlockServer(server); + return retval; +} + +static UA_LocalizedText +getLocalizedForSession(const UA_Session *session, + const UA_LocalizedTextListEntry *root) { + const UA_LocalizedTextListEntry *lt; + UA_LocalizedText result; + UA_LocalizedText_init(&result); + + /* No session. Return the first */ + if(!session) + goto not_found; + + /* Exact match? */ + for(size_t i = 0; i < session->localeIdsSize; ++i) { + for(lt = root; lt != NULL; lt = lt->next) { + if(UA_String_equal(&session->localeIds[i], <->localizedText.locale)) + return lt->localizedText; + } + } + + /* Partial match, e.g. de-DE instead of de-CH */ + for(size_t i = 0; i < session->localeIdsSize; ++i) { + if(session->localeIds[i].length < 2 || + (session->localeIdsSize > 2 && + session->localeIds[i].data[2] != '-')) + continue; + + UA_String requestedPrefix; + requestedPrefix.data = session->localeIds[i].data; + requestedPrefix.length = 2; + + for(lt = root; lt != NULL; lt = lt->next) { + if(lt->localizedText.locale.length < 2 || + (lt->localizedText.locale.length > 2 && + lt->localizedText.locale.data[2] != '-')) + continue; + + UA_String currentPrefix; + currentPrefix.data = lt->localizedText.locale.data; + currentPrefix.length = 2; + + if(UA_String_equal(&requestedPrefix, ¤tPrefix)) + return lt->localizedText; + } + } + + /* Not found. Return the first localized text that was added (last in the + * linked list). Return an empty result if the list is empty. */ + not_found: + if(!root) + return result; + while(root->next) + root = root->next; + return root->localizedText; +} + +UA_LocalizedText +UA_Session_getNodeDisplayName(const UA_Session *session, + const UA_NodeHead *head) { + return getLocalizedForSession(session, head->displayName); +} + +UA_LocalizedText +UA_Session_getNodeDescription(const UA_Session *session, + const UA_NodeHead *head) { + return getLocalizedForSession(session, head->description); +} + +/**** amalgamated original file "/src/server/ua_services_discovery.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2016 (c) Sten Grüner + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2016 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) frax2222 + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + */ + + +#ifdef UA_ENABLE_DISCOVERY + + +static UA_StatusCode +setApplicationDescriptionFromRegisteredServer(const UA_FindServersRequest *request, + UA_ApplicationDescription *target, + const UA_RegisteredServer *registeredServer) { + UA_ApplicationDescription_init(target); + UA_StatusCode retval = + UA_String_copy(®isteredServer->serverUri, &target->applicationUri); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + retval = UA_String_copy(®isteredServer->productUri, &target->productUri); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + // if the client requests a specific locale, select the corresponding server name + if(request->localeIdsSize) { + UA_Boolean appNameFound = false; + for(size_t i =0; ilocaleIdsSize && !appNameFound; i++) { + for(size_t j =0; jserverNamesSize; j++) { + if(UA_String_equal(&request->localeIds[i], + ®isteredServer->serverNames[j].locale)) { + retval = UA_LocalizedText_copy(®isteredServer->serverNames[j], + &target->applicationName); + if(retval != UA_STATUSCODE_GOOD) + return retval; + appNameFound = true; + break; + } + } + } + + // server does not have the requested local, therefore we can select the + // most suitable one + if(!appNameFound && registeredServer->serverNamesSize) { + retval = UA_LocalizedText_copy(®isteredServer->serverNames[0], + &target->applicationName); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + } else if(registeredServer->serverNamesSize) { + // just take the first name + retval = UA_LocalizedText_copy(®isteredServer->serverNames[0], + &target->applicationName); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + + target->applicationType = registeredServer->serverType; + retval = UA_String_copy(®isteredServer->gatewayServerUri, &target->gatewayServerUri); + if(retval != UA_STATUSCODE_GOOD) + return retval; + // TODO where do we get the discoveryProfileUri for application data? + + target->discoveryUrlsSize = registeredServer->discoveryUrlsSize; + if(registeredServer->discoveryUrlsSize) { + size_t duSize = sizeof(UA_String) * registeredServer->discoveryUrlsSize; + target->discoveryUrls = (UA_String *)UA_malloc(duSize); + if(!target->discoveryUrls) + return UA_STATUSCODE_BADOUTOFMEMORY; + for(size_t i = 0; i < registeredServer->discoveryUrlsSize; i++) { + retval = UA_String_copy(®isteredServer->discoveryUrls[i], + &target->discoveryUrls[i]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + } + + return retval; +} +#endif + +void Service_FindServers(UA_Server *server, UA_Session *session, + const UA_FindServersRequest *request, + UA_FindServersResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing FindServersRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Return the server itself? */ + UA_Boolean foundSelf = false; + if(request->serverUrisSize) { + for(size_t i = 0; i < request->serverUrisSize; i++) { + if(UA_String_equal(&request->serverUris[i], + &server->config.applicationDescription.applicationUri)) { + foundSelf = true; + break; + } + } + } else { + foundSelf = true; + } + +#ifndef UA_ENABLE_DISCOVERY + if(!foundSelf) + return; + + response->responseHeader.serviceResult = + UA_Array_copy(&server->config.applicationDescription, 1, + (void**)&response->servers, + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) + return; + + response->serversSize = 1; +#else + UA_DiscoveryManager *dm = (UA_DiscoveryManager*) + getServerComponentByName(server, UA_STRING("discovery")); + if(!dm) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* Allocate enough memory, including memory for the "self" response */ + size_t maxResults = dm->registeredServersSize + 1; + response->servers = (UA_ApplicationDescription*) + UA_Array_new(maxResults, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); + if(!response->servers) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + /* Copy into the response. TODO: Evaluate return codes */ + size_t pos = 0; + if(foundSelf) + UA_ApplicationDescription_copy(&server->config.applicationDescription, + &response->servers[pos++]); + + registeredServer_list_entry* current; + LIST_FOREACH(current, &dm->registeredServers, pointers) { + UA_Boolean usable = (request->serverUrisSize == 0); + if(!usable) { + /* If client only requested a specific set of servers */ + for(size_t i = 0; i < request->serverUrisSize; i++) { + if(UA_String_equal(¤t->registeredServer.serverUri, + &request->serverUris[i])) { + usable = true; + break; + } + } + } + + if(usable) + setApplicationDescriptionFromRegisteredServer(request, &response->servers[pos++], + ¤t->registeredServer); + } + + /* Set the final size */ + if(pos > 0) { + response->serversSize = pos; + } else { + UA_free(response->servers); + response->servers = NULL; + } +#endif + + if(request->endpointUrl.length > 0 && response->servers != NULL) { + for(size_t i = 0; i < response->serversSize; i++) { + UA_Array_delete(response->servers[i].discoveryUrls, + response->servers[i].discoveryUrlsSize, + &UA_TYPES[UA_TYPES_STRING]); + response->servers[i].discoveryUrls = NULL; + response->servers[i].discoveryUrlsSize = 0; + response->responseHeader.serviceResult |= + UA_Array_appendCopy((void**)&response->servers[i].discoveryUrls, + &response->servers[i].discoveryUrlsSize, + &request->endpointUrl, &UA_TYPES[UA_TYPES_STRING]); + } + } +} + +#if defined(UA_ENABLE_DISCOVERY) && defined(UA_ENABLE_DISCOVERY_MULTICAST) +/* All filter criteria must be fulfilled in the list entry. The comparison is + * case insensitive. Returns true if the entry matches the filter. */ +static UA_Boolean +entryMatchesCapabilityFilter(size_t serverCapabilityFilterSize, + UA_String *serverCapabilityFilter, + serverOnNetwork_list_entry* current) { + /* If the entry has less capabilities defined than the filter, there's no match */ + if(serverCapabilityFilterSize > current->serverOnNetwork.serverCapabilitiesSize) + return false; + for(size_t i = 0; i < serverCapabilityFilterSize; i++) { + UA_Boolean capabilityFound = false; + for(size_t j = 0; j < current->serverOnNetwork.serverCapabilitiesSize; j++) { + if(UA_String_equal_ignorecase(&serverCapabilityFilter[i], + ¤t->serverOnNetwork.serverCapabilities[j])) { + capabilityFound = true; + break; + } + } + if(!capabilityFound) + return false; + } + return true; +} + +void +Service_FindServersOnNetwork(UA_Server *server, UA_Session *session, + const UA_FindServersOnNetworkRequest *request, + UA_FindServersOnNetworkResponse *response) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_DiscoveryManager *dm = (UA_DiscoveryManager*) + getServerComponentByName(server, UA_STRING("discovery")); + if(!dm) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + if(!server->config.mdnsEnabled) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTIMPLEMENTED; + return; + } + + /* Set LastCounterResetTime */ + response->lastCounterResetTime = + dm->serverOnNetworkRecordIdLastReset; + + /* Compute the max number of records to return */ + UA_UInt32 recordCount = 0; + if(request->startingRecordId < dm->serverOnNetworkRecordIdCounter) + recordCount = dm->serverOnNetworkRecordIdCounter - request->startingRecordId; + if(request->maxRecordsToReturn && recordCount > request->maxRecordsToReturn) + recordCount = UA_MIN(recordCount, request->maxRecordsToReturn); + if(recordCount == 0) { + response->serversSize = 0; + return; + } + + /* Iterate over all records and add to filtered list */ + UA_UInt32 filteredCount = 0; + UA_STACKARRAY(UA_ServerOnNetwork*, filtered, recordCount); + serverOnNetwork_list_entry* current; + LIST_FOREACH(current, &dm->serverOnNetwork, pointers) { + if(filteredCount >= recordCount) + break; + if(current->serverOnNetwork.recordId < request->startingRecordId) + continue; + if(!entryMatchesCapabilityFilter(request->serverCapabilityFilterSize, + request->serverCapabilityFilter, current)) + continue; + filtered[filteredCount++] = ¤t->serverOnNetwork; + } + + if(filteredCount == 0) + return; + + /* Allocate the array for the response */ + response->servers = (UA_ServerOnNetwork*) + UA_malloc(sizeof(UA_ServerOnNetwork)*filteredCount); + if(!response->servers) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + response->serversSize = filteredCount; + + /* Copy the server names */ + for(size_t i = 0; i < filteredCount; i++) + UA_ServerOnNetwork_copy(filtered[i], &response->servers[filteredCount-i-1]); +} +#endif + +static const UA_String UA_SECURITY_POLICY_BASIC256SHA256_URI = + UA_STRING_STATIC("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"); + +UA_SecurityPolicy * +getDefaultEncryptedSecurityPolicy(UA_Server *server) { + for(size_t i = 0; i < server->config.securityPoliciesSize; i++) { + UA_SecurityPolicy *sp = &server->config.securityPolicies[i]; + if(UA_String_equal(&UA_SECURITY_POLICY_BASIC256SHA256_URI, &sp->policyUri)) + return sp; + } + for(size_t i = server->config.securityPoliciesSize; i > 0; i--) { + UA_SecurityPolicy *sp = &server->config.securityPolicies[i-1]; + if(!UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &sp->policyUri)) + return sp; + } + return NULL; /* No encrypted policy found */ +} + +const char *securityModeStrs[4] = {"-invalid", "-none", "-sign", "-sign+encrypt"}; + +UA_String +securityPolicyUriPostfix(const UA_String uri) { + for(UA_Byte *b = uri.data + uri.length - 1; b >= uri.data; b--) { + if(*b != '#') + continue; + UA_String postfix = {uri.length - (size_t)(b - uri.data), b}; + return postfix; + } + return uri; +} + +static UA_StatusCode +updateEndpointUserIdentityToken(UA_Server *server, UA_EndpointDescription *ed) { + /* Don't change the UserIdentityTokens if there are manually configured + * entries */ + if(ed->userIdentityTokensSize > 0) + return UA_STATUSCODE_GOOD; + + /* Copy the UserTokenPolicies from the AccessControl plugin, but only the matching ones to the securityPolicyUri. + * TODO: Different instances of the AccessControl plugin per Endpoint */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_ServerConfig *sc = &server->config; + for(size_t i = 0; i < sc->accessControl.userTokenPoliciesSize; i++) { + UA_UserTokenPolicy *utp = &sc->accessControl.userTokenPolicies[i]; + res = UA_Array_appendCopy((void**)&ed->userIdentityTokens, + &ed->userIdentityTokensSize, utp, + &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Select the SecurityPolicy for the UserTokenType. + * If not set, the SecurityPolicy of the SecureChannel is used. */ + utp = &ed->userIdentityTokens[ed->userIdentityTokensSize - 1]; + UA_String_clear(&utp->securityPolicyUri); +#ifdef UA_ENABLE_ENCRYPTION + /* Anonymous tokens don't need encryption. All other tokens require + * encryption with the exception of Username/Password if also the + * allowNonePolicyPassword option has been set. The same logic is used + * in selectEndpointAndTokenPolicy (ua_services_session.c). */ + if(utp->tokenType != UA_USERTOKENTYPE_ANONYMOUS && + !(sc->allowNonePolicyPassword && utp->tokenType == UA_USERTOKENTYPE_USERNAME) && + UA_String_equal(&ed->securityPolicyUri, &UA_SECURITY_POLICY_NONE_URI)) { + UA_SecurityPolicy *encSP = getDefaultEncryptedSecurityPolicy(server); + if(!encSP) { + /* No encrypted SecurityPolicy available */ + UA_LOG_WARNING(sc->logging, UA_LOGCATEGORY_CLIENT, + "Removing a UserTokenPolicy that would allow the " + "password to be transmitted without encryption " + "(Can be enabled via config->allowNonePolicyPassword)"); + UA_StatusCode res2 = + UA_Array_resize((void **)&ed->userIdentityTokens, + &ed->userIdentityTokensSize, + ed->userIdentityTokensSize - 1, + &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); + (void)res2; + continue; + } + res |= UA_String_copy(&encSP->policyUri, &utp->securityPolicyUri); + } +#endif + + /* Append the SecurityMode and SecurityPolicy postfix to the PolicyId to + * make it unique */ + UA_String postfix; + if(utp->securityPolicyUri.length > 0) + postfix = securityPolicyUriPostfix(utp->securityPolicyUri); + else + postfix = securityPolicyUriPostfix(ed->securityPolicyUri); + size_t newLen = utp->policyId.length + postfix.length + + strlen(securityModeStrs[ed->securityMode]); + UA_Byte *newString = (UA_Byte*)UA_realloc(utp->policyId.data, newLen); + if(!newString) + continue; + size_t pos = utp->policyId.length; + memcpy(&newString[pos], securityModeStrs[ed->securityMode], + strlen(securityModeStrs[ed->securityMode])); + pos += strlen(securityModeStrs[ed->securityMode]); + memcpy(&newString[pos], postfix.data, postfix.length); + utp->policyId.data = newString; + utp->policyId.length = newLen; + } + + return res; +} + +/* Also reused to create the EndpointDescription array in the CreateSessionResponse */ +UA_StatusCode +setCurrentEndPointsArray(UA_Server *server, const UA_String endpointUrl, + UA_String *profileUris, size_t profileUrisSize, + UA_EndpointDescription **arr, size_t *arrSize) { + /* Clone the endpoint for each discoveryURL? */ + size_t clone_times = 1; + if(endpointUrl.length == 0) + clone_times = server->config.applicationDescription.discoveryUrlsSize; + + /* Allocate the array */ + *arr = (UA_EndpointDescription*) + UA_Array_new(server->config.endpointsSize * clone_times, + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); + if(!*arr) + return UA_STATUSCODE_BADOUTOFMEMORY; + + size_t pos = 0; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + for(size_t j = 0; j < server->config.endpointsSize; ++j) { + /* Test if the supported binary profile shall be returned */ + UA_Boolean usable = (profileUrisSize == 0); + if(!usable) { + for(size_t i = 0; i < profileUrisSize; ++i) { + if(!UA_String_equal(&profileUris[i], &server->config.endpoints[j].transportProfileUri)) + continue; + usable = true; + break; + } + } + if(!usable) + continue; + + /* Copy into the results */ + for(size_t i = 0; i < clone_times; ++i) { + /* Copy the endpoint with a current ApplicationDescription */ + UA_EndpointDescription *ed = &(*arr)[pos]; + retval |= UA_EndpointDescription_copy(&server->config.endpoints[j], ed); + UA_ApplicationDescription_clear(&ed->server); + retval |= UA_ApplicationDescription_copy(&server->config.applicationDescription, + &ed->server); + + /* Return the certificate for the SecurityPolicy. If the + * SecureChannel is unencrypted, select the default encrypted + * SecurityPolicy. */ + UA_SecurityPolicy *sp = getSecurityPolicyByUri(server, &ed->securityPolicyUri); + if(!sp || UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &sp->policyUri)) + sp = getDefaultEncryptedSecurityPolicy(server); + if(sp) { + UA_ByteString_clear(&ed->serverCertificate); + retval |= UA_String_copy(&sp->localCertificate, &ed->serverCertificate); + } + + /* Set the User Identity Token list fromt the AccessControl plugin */ + retval |= updateEndpointUserIdentityToken(server, ed); + + /* Set the EndpointURL */ + UA_String_clear(&ed->endpointUrl); + if(endpointUrl.length == 0) { + retval |= UA_String_copy(&server->config.applicationDescription. + discoveryUrls[i], &ed->endpointUrl); + } else { + /* Mirror back the requested EndpointUrl and also add it to the + * array of discovery urls */ + retval |= UA_String_copy(&endpointUrl, &ed->endpointUrl); + + /* Check if the ServerUrl is already present in the DiscoveryUrl array */ + size_t k = 0; + for(; k < ed->server.discoveryUrlsSize; k++) { + if(UA_String_equal(&ed->endpointUrl, &ed->server.discoveryUrls[k])) + break; + } + if(k == ed->server.discoveryUrlsSize) { + retval |= UA_Array_appendCopy( + (void **)&ed->server.discoveryUrls, &ed->server.discoveryUrlsSize, + &endpointUrl, &UA_TYPES[UA_TYPES_STRING]); + } + } + if(retval != UA_STATUSCODE_GOOD) + goto error; + + pos++; + } + } + + *arrSize = pos; + return UA_STATUSCODE_GOOD; + + error: + UA_Array_delete(*arr, server->config.endpointsSize * clone_times, + &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); + *arr = NULL; + return retval; +} + +void +Service_GetEndpoints(UA_Server *server, UA_Session *session, + const UA_GetEndpointsRequest *request, + UA_GetEndpointsResponse *response) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* If the client expects to see a specific endpointurl, mirror it back. If + * not, clone the endpoints with the discovery url of all networklayers. */ + if(request->endpointUrl.length > 0) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing GetEndpointsRequest with endpointUrl " + UA_PRINTF_STRING_FORMAT, UA_PRINTF_STRING_DATA(request->endpointUrl)); + } else { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing GetEndpointsRequest with an empty endpointUrl"); + } + + response->responseHeader.serviceResult = + setCurrentEndPointsArray(server, request->endpointUrl, + request->profileUris, request->profileUrisSize, + &response->endpoints, &response->endpointsSize); +} + +#ifdef UA_ENABLE_DISCOVERY + +static void +process_RegisterServer(UA_Server *server, UA_Session *session, + const UA_RequestHeader* requestHeader, + const UA_RegisteredServer *requestServer, + const size_t requestDiscoveryConfigurationSize, + const UA_ExtensionObject *requestDiscoveryConfiguration, + UA_ResponseHeader* responseHeader, + size_t *responseConfigurationResultsSize, + UA_StatusCode **responseConfigurationResults, + size_t *responseDiagnosticInfosSize, + UA_DiagnosticInfo *responseDiagnosticInfos) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_DiscoveryManager *dm = (UA_DiscoveryManager*) + getServerComponentByName(server, UA_STRING("discovery")); + if(!dm) + return; + + if(dm->serverConfig->applicationDescription.applicationType != UA_APPLICATIONTYPE_DISCOVERYSERVER) { + responseHeader->serviceResult = UA_STATUSCODE_BADSERVICEUNSUPPORTED; + return; + } + + /* Find the server from the request in the registered list */ + registeredServer_list_entry* current; + registeredServer_list_entry *registeredServer_entry = NULL; + LIST_FOREACH(current, &dm->registeredServers, pointers) { + if(UA_String_equal(¤t->registeredServer.serverUri, &requestServer->serverUri)) { + registeredServer_entry = current; + break; + } + } + + UA_MdnsDiscoveryConfiguration *mdnsConfig = NULL; + + const UA_String* mdnsServerName = NULL; + if(requestDiscoveryConfigurationSize) { + *responseConfigurationResults = + (UA_StatusCode *)UA_Array_new(requestDiscoveryConfigurationSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!(*responseConfigurationResults)) { + responseHeader->serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + *responseConfigurationResultsSize = requestDiscoveryConfigurationSize; + + for(size_t i = 0; i < requestDiscoveryConfigurationSize; i++) { + const UA_ExtensionObject *object = &requestDiscoveryConfiguration[i]; + if(!mdnsConfig && (object->encoding == UA_EXTENSIONOBJECT_DECODED || + object->encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && + (object->content.decoded.type == &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION])) { + mdnsConfig = (UA_MdnsDiscoveryConfiguration *)object->content.decoded.data; + mdnsServerName = &mdnsConfig->mdnsServerName; + (*responseConfigurationResults)[i] = UA_STATUSCODE_GOOD; + } else { + (*responseConfigurationResults)[i] = UA_STATUSCODE_BADNOTSUPPORTED; + } + } + } + + if(!mdnsServerName && requestServer->serverNamesSize) + mdnsServerName = &requestServer->serverNames[0].text; + + if(!mdnsServerName) { + responseHeader->serviceResult = UA_STATUSCODE_BADSERVERNAMEMISSING; + return; + } + + if(requestServer->discoveryUrlsSize == 0) { + responseHeader->serviceResult = UA_STATUSCODE_BADDISCOVERYURLMISSING; + return; + } + + if(requestServer->semaphoreFilePath.length) { +#ifdef UA_ENABLE_DISCOVERY_SEMAPHORE + char* filePath = (char*) + UA_malloc(sizeof(char)*requestServer->semaphoreFilePath.length+1); + if(!filePath) { + UA_LOG_ERROR_SESSION(server->config.logging, session, + "Cannot allocate memory for semaphore path. Out of memory."); + responseHeader->serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + memcpy(filePath, requestServer->semaphoreFilePath.data, requestServer->semaphoreFilePath.length ); + filePath[requestServer->semaphoreFilePath.length] = '\0'; + if(!UA_fileExists( filePath )) { + responseHeader->serviceResult = UA_STATUSCODE_BADSEMPAHOREFILEMISSING; + UA_free(filePath); + return; + } + UA_free(filePath); +#else + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_CLIENT, + "Ignoring semaphore file path. open62541 not compiled " + "with UA_ENABLE_DISCOVERY_SEMAPHORE=ON"); +#endif + } + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + if(server->config.mdnsEnabled) { + for(size_t i = 0; i < requestServer->discoveryUrlsSize; i++) { + /* create TXT if is online and first index, delete TXT if is offline and last index */ + UA_Boolean updateTxt = (requestServer->isOnline && i==0) || + (!requestServer->isOnline && i==requestServer->discoveryUrlsSize); + UA_Discovery_updateMdnsForDiscoveryUrl(dm, mdnsServerName, mdnsConfig, + &requestServer->discoveryUrls[i], + requestServer->isOnline, updateTxt); + } + } +#endif + + if(!requestServer->isOnline) { + // server is shutting down. Remove it from the registered servers list + if(!registeredServer_entry) { + // server not found, show warning + UA_LOG_WARNING_SESSION(server->config.logging, session, + "Could not unregister server %.*s. Not registered.", + (int)requestServer->serverUri.length, requestServer->serverUri.data); + responseHeader->serviceResult = UA_STATUSCODE_BADNOTHINGTODO; + return; + } + + if(dm->registerServerCallback) + dm->registerServerCallback(requestServer, dm->registerServerCallbackData); + + // server found, remove from list + LIST_REMOVE(registeredServer_entry, pointers); + UA_RegisteredServer_clear(®isteredServer_entry->registeredServer); + UA_free(registeredServer_entry); + dm->registeredServersSize--; + responseHeader->serviceResult = UA_STATUSCODE_GOOD; + return; + } + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(!registeredServer_entry) { + // server not yet registered, register it by adding it to the list + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Registering new server: %.*s", + (int)requestServer->serverUri.length, requestServer->serverUri.data); + + registeredServer_entry = + (registeredServer_list_entry *)UA_malloc(sizeof(registeredServer_list_entry)); + if(!registeredServer_entry) { + responseHeader->serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + LIST_INSERT_HEAD(&dm->registeredServers, + registeredServer_entry, pointers); + dm->registeredServersSize++; + } else { + UA_RegisteredServer_clear(®isteredServer_entry->registeredServer); + } + + // Always call the callback, if it is set. + // Previously we only called it if it was a new register call. It may be the case that this endpoint + // registered before, then crashed, restarts and registeres again. In that case the entry is not deleted + // and the callback would not be called. + if(dm->registerServerCallback) + dm->registerServerCallback(requestServer, dm->registerServerCallbackData); + + // copy the data from the request into the list + UA_RegisteredServer_copy(requestServer, ®isteredServer_entry->registeredServer); + registeredServer_entry->lastSeen = UA_DateTime_nowMonotonic(); + responseHeader->serviceResult = retval; +} + +void Service_RegisterServer(UA_Server *server, UA_Session *session, + const UA_RegisterServerRequest *request, + UA_RegisterServerResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing RegisterServerRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + process_RegisterServer(server, session, &request->requestHeader, &request->server, 0, + NULL, &response->responseHeader, 0, NULL, 0, NULL); +} + +void Service_RegisterServer2(UA_Server *server, UA_Session *session, + const UA_RegisterServer2Request *request, + UA_RegisterServer2Response *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing RegisterServer2Request"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + process_RegisterServer(server, session, &request->requestHeader, &request->server, + request->discoveryConfigurationSize, request->discoveryConfiguration, + &response->responseHeader, &response->configurationResultsSize, + &response->configurationResults, &response->diagnosticInfosSize, + response->diagnosticInfos); +} + +#endif /* UA_ENABLE_DISCOVERY */ + +/**** amalgamated original file "/src/server/ua_services_subscription.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018, 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2016-2017 (c) Florian Palm + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2017 (c) Mattias Bornhager + * Copyright 2017 (c) Henrik Norrman + * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Fabian Arndt, Root-Core + * Copyright 2017-2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ + +static void +setSubscriptionSettings(UA_Server *server, UA_Subscription *subscription, + UA_Double requestedPublishingInterval, + UA_UInt32 requestedLifetimeCount, + UA_UInt32 requestedMaxKeepAliveCount, + UA_UInt32 maxNotificationsPerPublish, + UA_Byte priority) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* re-parameterize the subscription */ + UA_BOUNDEDVALUE_SETWBOUNDS(server->config.publishingIntervalLimits, + requestedPublishingInterval, + subscription->publishingInterval); + /* check for nan*/ + if(requestedPublishingInterval != requestedPublishingInterval) + subscription->publishingInterval = server->config.publishingIntervalLimits.min; + UA_BOUNDEDVALUE_SETWBOUNDS(server->config.keepAliveCountLimits, + requestedMaxKeepAliveCount, subscription->maxKeepAliveCount); + UA_BOUNDEDVALUE_SETWBOUNDS(server->config.lifeTimeCountLimits, + requestedLifetimeCount, subscription->lifeTimeCount); + if(subscription->lifeTimeCount < 3 * subscription->maxKeepAliveCount) + subscription->lifeTimeCount = 3 * subscription->maxKeepAliveCount; + subscription->notificationsPerPublish = maxNotificationsPerPublish; + if(maxNotificationsPerPublish == 0 || + maxNotificationsPerPublish > server->config.maxNotificationsPerPublish) + subscription->notificationsPerPublish = server->config.maxNotificationsPerPublish; + subscription->priority = priority; +} + +void +Service_CreateSubscription(UA_Server *server, UA_Session *session, + const UA_CreateSubscriptionRequest *request, + UA_CreateSubscriptionResponse *response) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Check limits for the number of subscriptions */ + if(((server->config.maxSubscriptions != 0) && + (server->subscriptionsSize >= server->config.maxSubscriptions)) || + ((server->config.maxSubscriptionsPerSession != 0) && + (session->subscriptionsSize >= server->config.maxSubscriptionsPerSession))) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS; + return; + } + + /* Create the subscription */ + UA_Subscription *sub = UA_Subscription_new(); + if(!sub) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing CreateSubscriptionRequest failed"); + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + /* Set the subscription parameters */ + setSubscriptionSettings(server, sub, request->requestedPublishingInterval, + request->requestedLifetimeCount, + request->requestedMaxKeepAliveCount, + request->maxNotificationsPerPublish, request->priority); + sub->subscriptionId = ++server->lastSubscriptionId; /* Assign the SubscriptionId */ + + /* Register the subscription in the server */ + LIST_INSERT_HEAD(&server->subscriptions, sub, serverListEntry); + server->subscriptionsSize++; + + /* Update the server statistics */ + server->serverDiagnosticsSummary.currentSubscriptionCount++; + server->serverDiagnosticsSummary.cumulatedSubscriptionCount++; + + /* Attach the Subscription to the session */ + UA_Session_attachSubscription(session, sub); + + /* Create representation in the Session object */ +#ifdef UA_ENABLE_DIAGNOSTICS + createSubscriptionObject(server, session, sub); +#endif + + /* Set the subscription state. This also registers the callback. + * Note that also a disabled subscription publishes keepalives. */ + UA_SubscriptionState sState = (request->publishingEnabled) ? + UA_SUBSCRIPTIONSTATE_ENABLED : UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH; + UA_StatusCode res = Subscription_setState(server, sub, sState); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG_SESSION(server->config.logging, sub->session, + "Subscription %" PRIu32 " | Could not register " + "publish callback with error code %s", + sub->subscriptionId, UA_StatusCode_name(res)); + response->responseHeader.serviceResult = res; + UA_Subscription_delete(server, sub); + return; + } + + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, + "Subscription created (Publishing interval %.2fms, " + "max %lu notifications per publish)", + sub->publishingInterval, + (long unsigned)sub->notificationsPerPublish); + + /* Prepare the response */ + response->subscriptionId = sub->subscriptionId; + response->revisedPublishingInterval = sub->publishingInterval; + response->revisedLifetimeCount = sub->lifeTimeCount; + response->revisedMaxKeepAliveCount = sub->maxKeepAliveCount; +} + +void +Service_ModifySubscription(UA_Server *server, UA_Session *session, + const UA_ModifySubscriptionRequest *request, + UA_ModifySubscriptionResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing ModifySubscriptionRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Store the old publishing interval */ + UA_Double oldPublishingInterval = sub->publishingInterval; + UA_Byte oldPriority = sub->priority; + + /* Change the Subscription settings */ + setSubscriptionSettings(server, sub, request->requestedPublishingInterval, + request->requestedLifetimeCount, + request->requestedMaxKeepAliveCount, + request->maxNotificationsPerPublish, request->priority); + + /* Reset the subscription lifetime */ + Subscription_resetLifetime(sub); + + /* The publish interval has changed */ + if(sub->publishingInterval != oldPublishingInterval) { + /* Change the repeated callback to the new interval. This cannot fail as + * memory is reused. */ + if(sub->publishCallbackId > 0) + changeRepeatedCallbackInterval(server, sub->publishCallbackId, + sub->publishingInterval); + + /* For each MonitoredItem check if it was/shall be attached to the + * publish interval. This ensures that we have less cyclic callbacks + * registered and that the notifications are fresh. */ + UA_MonitoredItem *mon; + LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { + if(mon->parameters.samplingInterval == sub->publishingInterval || + mon->parameters.samplingInterval == oldPublishingInterval) { + UA_MonitoredItem_unregisterSampling(server, mon); + UA_MonitoredItem_registerSampling(server, mon); + } + } + } + + /* If the priority has changed, re-enter the subscription to the + * priority-ordered queue in the session. */ + if(oldPriority != sub->priority) { + UA_Session_detachSubscription(server, session, sub, false); + UA_Session_attachSubscription(session, sub); + } + + /* Set the response */ + response->revisedPublishingInterval = sub->publishingInterval; + response->revisedLifetimeCount = sub->lifeTimeCount; + response->revisedMaxKeepAliveCount = sub->maxKeepAliveCount; + + /* Update the diagnostics statistics */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->modifyCount++; +#endif +} + +static void +Operation_SetPublishingMode(UA_Server *server, UA_Session *session, + const UA_Boolean *publishingEnabled, + const UA_UInt32 *subscriptionId, + UA_StatusCode *result) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_Subscription *sub = UA_Session_getSubscriptionById(session, *subscriptionId); + if(!sub) { + *result = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Enable/disable */ + UA_SubscriptionState sState = (*publishingEnabled) ? + UA_SUBSCRIPTIONSTATE_ENABLED : UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH; + *result = Subscription_setState(server, sub, sState); + + /* Reset the lifetime counter */ + Subscription_resetLifetime(sub); +} + +void +Service_SetPublishingMode(UA_Server *server, UA_Session *session, + const UA_SetPublishingModeRequest *request, + UA_SetPublishingModeResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing SetPublishingModeRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_Boolean publishingEnabled = request->publishingEnabled; /* request is const */ + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_SetPublishingMode, + &publishingEnabled, + &request->subscriptionIdsSize, + &UA_TYPES[UA_TYPES_UINT32], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_StatusCode +Service_Publish(UA_Server *server, UA_Session *session, + const UA_PublishRequest *request, UA_UInt32 requestId) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing PublishRequest with RequestId %u", requestId); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Return an error if the session has no subscription */ + if(TAILQ_EMPTY(&session->subscriptions)) { + sendServiceFault(session->header.channel, requestId, + request->requestHeader.requestHandle, + UA_STATUSCODE_BADNOSUBSCRIPTION); + return UA_STATUSCODE_BADNOSUBSCRIPTION; + } + + /* Handle too many subscriptions to free resources before trying to allocate + * resources for the new publish request. If the limit has been reached the + * oldest publish request are returned with an error message. */ + UA_Session_ensurePublishQueueSpace(server, session); + + /* Allocate the response to store it in the retransmission queue */ + UA_PublishResponseEntry *entry = (UA_PublishResponseEntry *) + UA_malloc(sizeof(UA_PublishResponseEntry)); + if(!entry) { + sendServiceFault(session->header.channel, requestId, + request->requestHeader.requestHandle, + UA_STATUSCODE_BADOUTOFMEMORY); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Prepare the response */ + entry->requestId = requestId; + UA_PublishResponse *response = &entry->response; + UA_PublishResponse_init(response); + response->responseHeader.requestHandle = request->requestHeader.requestHandle; + + /* Allocate the results array to acknowledge the acknowledge */ + if(request->subscriptionAcknowledgementsSize > 0) { + response->results = (UA_StatusCode *) + UA_Array_new(request->subscriptionAcknowledgementsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!response->results) { + UA_free(entry); + sendServiceFault(session->header.channel, requestId, + request->requestHeader.requestHandle, + UA_STATUSCODE_BADOUTOFMEMORY); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + response->resultsSize = request->subscriptionAcknowledgementsSize; + } + + /* <--- A good StatusCode is returned from here on ---> */ + + /* Delete Acknowledged Subscription Messages */ + for(size_t i = 0; i < request->subscriptionAcknowledgementsSize; ++i) { + UA_SubscriptionAcknowledgement *ack = &request->subscriptionAcknowledgements[i]; + UA_Subscription *sub = UA_Session_getSubscriptionById(session, ack->subscriptionId); + if(!sub) { + response->results[i] = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Cannot process acknowledgements subscription %u" PRIu32, + ack->subscriptionId); + continue; + } + /* Remove the acked transmission from the retransmission queue */ + response->results[i] = + UA_Subscription_removeRetransmissionMessage(sub, ack->sequenceNumber); + } + + /* Set the maxTime if a timeout hint is defined */ + entry->maxTime = UA_INT64_MAX; + if(request->requestHeader.timeoutHint > 0) { + UA_EventLoop *el = server->config.eventLoop; + entry->maxTime = el->dateTime_nowMonotonic(el) + + (request->requestHeader.timeoutHint * UA_DATETIME_MSEC); + } + + /* Queue the publish response. It will be dequeued in a repeated publish + * callback. This can also be triggered right now for a late + * subscription. */ + UA_Session_queuePublishReq(session, entry, false); + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Queued a publication message"); + + /* If there are late subscriptions, the new publish request is used to + * answer them immediately. Late subscriptions with higher priority are + * considered earlier. However, a single subscription that generates many + * notifications must not "starve" other late subscriptions. Hence we move + * it to the end of the queue for the subscriptions of that priority. */ + UA_Subscription *late, *late_tmp; + TAILQ_FOREACH_SAFE(late, &session->subscriptions, sessionListEntry, late_tmp) { + /* Skip non-late subscriptions */ + if(!late->late) + continue; + + /* Call publish on the late subscription */ + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, late, + "Send PublishResponse on a late subscription"); + UA_Subscription_publish(server, late); + + /* Skip re-insert if the subscription was deleted or deactivated during + * _publish */ + if(late->state >= UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH) { + /* Find the first element with smaller priority and insert before + * that. If there is none, insert at the end of the queue. */ + UA_Subscription *after = TAILQ_NEXT(late, sessionListEntry); + while(after && after->priority >= late->priority) + after = TAILQ_NEXT(after, sessionListEntry); + TAILQ_REMOVE(&session->subscriptions, late, sessionListEntry); + if(after) + TAILQ_INSERT_BEFORE(after, late, sessionListEntry); + else + TAILQ_INSERT_TAIL(&session->subscriptions, late, sessionListEntry); + } + + /* Responses left in the queue? */ + if(session->responseQueueSize == 0) + break; + } + + return UA_STATUSCODE_GOOD; +} + +static void +Operation_DeleteSubscription(UA_Server *server, UA_Session *session, void *_, + const UA_UInt32 *subscriptionId, UA_StatusCode *result) { + UA_Subscription *sub = UA_Session_getSubscriptionById(session, *subscriptionId); + if(!sub) { + *result = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Deleting Subscription with Id %" PRIu32 + " failed with error code %s", + *subscriptionId, UA_StatusCode_name(*result)); + return; + } + + UA_Subscription_delete(server, sub); + *result = UA_STATUSCODE_GOOD; + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Subscription %" PRIu32 " | Subscription deleted", + *subscriptionId); +} + +void +Service_DeleteSubscriptions(UA_Server *server, UA_Session *session, + const UA_DeleteSubscriptionsRequest *request, + UA_DeleteSubscriptionsResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing DeleteSubscriptionsRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_DeleteSubscription, NULL, + &request->subscriptionIdsSize, &UA_TYPES[UA_TYPES_UINT32], + &response->resultsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +void +Service_Republish(UA_Server *server, UA_Session *session, + const UA_RepublishRequest *request, + UA_RepublishResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing RepublishRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Get the subscription */ + UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Reset the lifetime counter */ + Subscription_resetLifetime(sub); + + /* Update the subscription statistics */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->republishRequestCount++; +#endif + + /* Find the notification in the retransmission queue */ + UA_NotificationMessageEntry *entry; + TAILQ_FOREACH(entry, &sub->retransmissionQueue, listEntry) { + if(entry->message.sequenceNumber == request->retransmitSequenceNumber) + break; + } + if(!entry) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADMESSAGENOTAVAILABLE; + return; + } + + response->responseHeader.serviceResult = + UA_NotificationMessage_copy(&entry->message, &response->notificationMessage); + + /* Update the subscription statistics for the case where we return a message */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->republishMessageCount++; +#endif +} + +static UA_StatusCode +setTransferredSequenceNumbers(const UA_Subscription *sub, UA_TransferResult *result) { + /* Allocate memory */ + result->availableSequenceNumbers = (UA_UInt32*) + UA_Array_new(sub->retransmissionQueueSize, &UA_TYPES[UA_TYPES_UINT32]); + if(!result->availableSequenceNumbers) + return UA_STATUSCODE_BADOUTOFMEMORY; + result->availableSequenceNumbersSize = sub->retransmissionQueueSize; + + /* Copy over the sequence numbers */ + UA_NotificationMessageEntry *entry; + size_t i = 0; + TAILQ_FOREACH(entry, &sub->retransmissionQueue, listEntry) { + result->availableSequenceNumbers[i] = entry->message.sequenceNumber; + i++; + } + + UA_assert(i == result->availableSequenceNumbersSize); + + return UA_STATUSCODE_GOOD; +} + +static void +Operation_TransferSubscription(UA_Server *server, UA_Session *session, + const UA_Boolean *sendInitialValues, + const UA_UInt32 *subscriptionId, + UA_TransferResult *result) { + /* Get the subscription. This requires a server-wide lookup instead of the + * usual session-wide lookup. */ + UA_Subscription *sub = getSubscriptionById(server, *subscriptionId); + if(!sub) { + result->statusCode = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Update the diagnostics statistics */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->transferRequestCount++; +#endif + + /* Is this the same session? Return the sequence numbers and do nothing else. */ + UA_Session *oldSession = sub->session; + if(oldSession == session) { + result->statusCode = setTransferredSequenceNumbers(sub, result); +#ifdef UA_ENABLE_DIAGNOSTICS + sub->transferredToSameClientCount++; +#endif + return; + } + + /* Check with AccessControl if the transfer is allowed */ + if(server->config.accessControl.allowTransferSubscription) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(!server->config.accessControl. + allowTransferSubscription(server, &server->config.accessControl, + oldSession ? &oldSession->sessionId : NULL, + oldSession ? oldSession->sessionHandle : NULL, + &session->sessionId, session->sessionHandle)) { + result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + } else { + result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + + /* Check limits for the number of subscriptions for this Session */ + if((server->config.maxSubscriptionsPerSession != 0) && + (session->subscriptionsSize >= server->config.maxSubscriptionsPerSession)) { + result->statusCode = UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS; + return; + } + + /* Allocate memory for the new subscription */ + UA_Subscription *newSub = (UA_Subscription*)UA_malloc(sizeof(UA_Subscription)); + if(!newSub) { + result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + /* Set the available sequence numbers */ + result->statusCode = setTransferredSequenceNumbers(sub, result); + if(result->statusCode != UA_STATUSCODE_GOOD) { + UA_free(newSub); + return; + } + + /* Create an identical copy of the Subscription struct. The original + * subscription remains in place until a StatusChange notification has been + * sent. The elements for lists and queues are moved over manually to ensure + * that all backpointers are set correctly. */ + memcpy(newSub, sub, sizeof(UA_Subscription)); + + /* Set to the same state as the original subscription */ + newSub->publishCallbackId = 0; + result->statusCode = Subscription_setState(server, newSub, sub->state); + if(result->statusCode != UA_STATUSCODE_GOOD) { + UA_Array_delete(result->availableSequenceNumbers, + sub->retransmissionQueueSize, &UA_TYPES[UA_TYPES_UINT32]); + result->availableSequenceNumbers = NULL; + result->availableSequenceNumbersSize = 0; + UA_free(newSub); + return; + } + + /* <-- The point of no return --> */ + + /* Move over the MonitoredItems and adjust the backpointers */ + LIST_INIT(&newSub->monitoredItems); + UA_MonitoredItem *mon, *mon_tmp; + LIST_FOREACH_SAFE(mon, &sub->monitoredItems, listEntry, mon_tmp) { + LIST_REMOVE(mon, listEntry); + mon->subscription = newSub; + LIST_INSERT_HEAD(&newSub->monitoredItems, mon, listEntry); + } + sub->monitoredItemsSize = 0; + + /* Move over the notification queue */ + TAILQ_INIT(&newSub->notificationQueue); + UA_Notification *nn, *nn_tmp; + TAILQ_FOREACH_SAFE(nn, &sub->notificationQueue, globalEntry, nn_tmp) { + TAILQ_REMOVE(&sub->notificationQueue, nn, globalEntry); + TAILQ_INSERT_TAIL(&newSub->notificationQueue, nn, globalEntry); + } + sub->notificationQueueSize = 0; + sub->dataChangeNotifications = 0; + sub->eventNotifications = 0; + + TAILQ_INIT(&newSub->retransmissionQueue); + UA_NotificationMessageEntry *nme, *nme_tmp; + TAILQ_FOREACH_SAFE(nme, &sub->retransmissionQueue, listEntry, nme_tmp) { + TAILQ_REMOVE(&sub->retransmissionQueue, nme, listEntry); + TAILQ_INSERT_TAIL(&newSub->retransmissionQueue, nme, listEntry); + if(oldSession) + oldSession->totalRetransmissionQueueSize -= 1; + sub->retransmissionQueueSize -= 1; + } + UA_assert(sub->retransmissionQueueSize == 0); + sub->retransmissionQueueSize = 0; + + /* Add to the server */ + UA_assert(newSub->subscriptionId == sub->subscriptionId); + LIST_INSERT_HEAD(&server->subscriptions, newSub, serverListEntry); + server->subscriptionsSize++; + + /* Attach to the session */ + UA_Session_attachSubscription(session, newSub); + + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, newSub, "Transferred to this Session"); + + /* Set StatusChange in the original subscription and force publish. This + * also removes the Subscription, even if there was no PublishResponse + * queued to send a StatusChangeNotification. */ + sub->statusChange = UA_STATUSCODE_GOODSUBSCRIPTIONTRANSFERRED; + UA_Subscription_publish(server, sub); + + /* Re-create notifications with the current values for the new subscription */ + if(*sendInitialValues) + UA_Subscription_resendData(server, newSub); + + /* Do not update the statistics for the number of Subscriptions here. The + * fact that we duplicate the subscription and move over the content is just + * an implementtion detail. + * server->serverDiagnosticsSummary.currentSubscriptionCount++; + * server->serverDiagnosticsSummary.cumulatedSubscriptionCount++; + * + * Update the diagnostics statistics: */ +#ifdef UA_ENABLE_DIAGNOSTICS + if(oldSession && + UA_equal(&oldSession->clientDescription, &session->clientDescription, + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION])) + sub->transferredToSameClientCount++; + else + sub->transferredToAltClientCount++; +#endif +} + +void Service_TransferSubscriptions(UA_Server *server, UA_Session *session, + const UA_TransferSubscriptionsRequest *request, + UA_TransferSubscriptionsResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing TransferSubscriptionsRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_TransferSubscription, + &request->sendInitialValues, + &request->subscriptionIdsSize, &UA_TYPES[UA_TYPES_UINT32], + &response->resultsSize, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +/**** amalgamated original file "/src/server/ua_services_monitoreditem.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2016-2017 (c) Florian Palm + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2017 (c) Mattias Bornhager + * Copyright 2017 (c) Henrik Norrman + * Copyright 2017-2023 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Fabian Arndt, Root-Core + * Copyright 2020 (c) Kalycito Infotech Private Limited + * Copyright 2021 (c) Uranik, Berisha + * Copyright 2021 (c) Ammar, Morshed + * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ + +#ifdef UA_ENABLE_DA + +/* Translate a percentage deadband into an absolute deadband based on the + * UARange property of the variable */ +static UA_StatusCode +setAbsoluteFromPercentageDeadband(UA_Server *server, UA_Session *session, + const UA_MonitoredItem *mon, UA_DataChangeFilter *filter) { + /* A valid deadband? */ + if(filter->deadbandValue < 0.0 || filter->deadbandValue > 100.0) + return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; + + /* Browse for the percent range */ + UA_QualifiedName qn = UA_QUALIFIEDNAME(0, "EURange"); + UA_BrowsePathResult bpr = + browseSimplifiedBrowsePath(server, mon->itemToMonitor.nodeId, 1, &qn); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + UA_BrowsePathResult_clear(&bpr); + return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; + } + + /* Read the range */ + UA_ReadValueId rvi; + UA_ReadValueId_init(&rvi); + rvi.nodeId = bpr.targets->targetId.nodeId; + rvi.attributeId = UA_ATTRIBUTEID_VALUE; + UA_DataValue rangeVal = readWithSession(server, session, &rvi, + UA_TIMESTAMPSTORETURN_NEITHER); + UA_BrowsePathResult_clear(&bpr); + if(!UA_Variant_isScalar(&rangeVal.value) || + rangeVal.value.type != &UA_TYPES[UA_TYPES_RANGE]) { + UA_DataValue_clear(&rangeVal); + return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; + } + + /* Compute the abs deadband */ + UA_Range *euRange = (UA_Range*)rangeVal.value.data; + UA_Double absDeadband = (filter->deadbandValue/100.0) * (euRange->high - euRange->low); + + UA_DataValue_clear(&rangeVal); + + /* EURange invalid or NaN? */ + if(absDeadband < 0.0 || absDeadband != absDeadband) { + UA_DataValue_clear(&rangeVal); + return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; + } + + /* Adjust the original filter */ + filter->deadbandType = UA_DEADBANDTYPE_ABSOLUTE; + filter->deadbandValue = absDeadband; + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_DA */ + +void +Service_SetTriggering(UA_Server *server, UA_Session *session, + const UA_SetTriggeringRequest *request, + UA_SetTriggeringResponse *response) { + /* Nothing to do? */ + if(request->linksToRemoveSize == 0 && + request->linksToAddSize == 0) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; + return; + } + + /* Get the Subscription */ + UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Reset the lifetime counter of the Subscription */ + Subscription_resetLifetime(sub); + + /* Get the MonitoredItem */ + UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(sub, request->triggeringItemId); + if(!mon) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + return; + } + + /* Allocate the results arrays */ + if(request->linksToRemoveSize > 0) { + response->removeResults = (UA_StatusCode*) + UA_Array_new(request->linksToRemoveSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!response->removeResults) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + response->removeResultsSize = request->linksToRemoveSize; + } + + if(request->linksToAddSize> 0) { + response->addResults = (UA_StatusCode*) + UA_Array_new(request->linksToAddSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!response->addResults) { + UA_Array_delete(response->removeResults, + request->linksToAddSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + response->removeResults = NULL; + response->removeResultsSize = 0; + response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + response->addResultsSize = request->linksToAddSize; + } + + /* Apply the changes */ + for(size_t i = 0; i < request->linksToRemoveSize; i++) + response->removeResults[i] = + UA_MonitoredItem_removeLink(sub, mon, request->linksToRemove[i]); + + for(size_t i = 0; i < request->linksToAddSize; i++) + response->addResults[i] = + UA_MonitoredItem_addLink(sub, mon, request->linksToAdd[i]); +} + +/* Verify and adjust the parameters of a MonitoredItem */ +static UA_StatusCode +checkAdjustMonitoredItemParams(UA_Server *server, UA_Session *session, + const UA_MonitoredItem *mon, + const UA_DataType* valueType, + UA_MonitoringParameters *params) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Check the filter */ + if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) { + /* Event MonitoredItems need a filter */ +#ifndef UA_ENABLE_SUBSCRIPTIONS_EVENTS + return UA_STATUSCODE_BADNOTSUPPORTED; +#else + if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED && + params->filter.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) + return UA_STATUSCODE_BADEVENTFILTERINVALID; + if(params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) + return UA_STATUSCODE_BADEVENTFILTERINVALID; +#endif + } else { + /* DataChange MonitoredItem. Can be "no filter" which defaults to + * triggering on Status and Value. */ + if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED && + params->filter.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE && + params->filter.encoding != UA_EXTENSIONOBJECT_ENCODED_NOBODY) + return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; + + /* If the filter ExtensionObject has a body, then it must be a + * DataChangeFilter */ + if(params->filter.encoding != UA_EXTENSIONOBJECT_ENCODED_NOBODY && + params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) + return UA_STATUSCODE_BADFILTERNOTALLOWED; + + /* Check the deadband and adjust if necessary. */ + if(params->filter.content.decoded.type == &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) { + UA_DataChangeFilter *filter = (UA_DataChangeFilter *) + params->filter.content.decoded.data; + switch(filter->deadbandType) { + case UA_DEADBANDTYPE_NONE: + break; + case UA_DEADBANDTYPE_ABSOLUTE: + if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE || + !valueType || !UA_DataType_isNumeric(valueType)) + return UA_STATUSCODE_BADFILTERNOTALLOWED; + break; +#ifdef UA_ENABLE_DA + case UA_DEADBANDTYPE_PERCENT: { + if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE || + !valueType || !UA_DataType_isNumeric(valueType)) + return UA_STATUSCODE_BADFILTERNOTALLOWED; + /* If percentage deadband is supported, look up the range values + * and precompute as if it was an absolute deadband. */ + UA_StatusCode res = + setAbsoluteFromPercentageDeadband(server, session, mon, filter); + if(res != UA_STATUSCODE_GOOD) + return res; + break; + } +#endif + default: + return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; + } + } + } + + /* Read the minimum sampling interval for the variable. The sampling + * interval of the MonitoredItem must not be less than that. */ + if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_VALUE) { + const UA_Node *node = UA_NODESTORE_GET(server, &mon->itemToMonitor.nodeId); + if(node) { + const UA_VariableNode *vn = &node->variableNode; + if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { + /* Take into account if the publishing interval is used for sampling */ + UA_Double samplingInterval = params->samplingInterval; + if(samplingInterval < 0 && mon->subscription) + samplingInterval = mon->subscription->publishingInterval; + /* Adjust if smaller than the allowed minimum for the variable */ + if(samplingInterval < vn->minimumSamplingInterval) + params->samplingInterval = vn->minimumSamplingInterval; + } + UA_NODESTORE_RELEASE(server, node); + } + } + + + /* A negative number indicates that the sampling interval is the publishing + * interval of the Subscription. Note that the sampling interval selected + * here remains also when the Subscription's publish interval is adjusted + * afterwards. */ + if(mon->subscription && params->samplingInterval < 0.0) + params->samplingInterval = mon->subscription->publishingInterval; + + /* Adjust non-null sampling interval to lie within the configured limits */ + if(params->samplingInterval != 0.0) { + UA_BOUNDEDVALUE_SETWBOUNDS(server->config.samplingIntervalLimits, + params->samplingInterval, params->samplingInterval); + /* Check for NaN */ + if(mon->parameters.samplingInterval != mon->parameters.samplingInterval) + params->samplingInterval = server->config.samplingIntervalLimits.min; + } + + /* Adjust the maximum queue size */ +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) { + /* 0 => Set to the configured maximum. Otherwise adjust with configured limits */ + if(params->queueSize == 0) { + params->queueSize = server->config.queueSizeLimits.max; + } else { + UA_BOUNDEDVALUE_SETWBOUNDS(server->config.queueSizeLimits, + params->queueSize, params->queueSize); + } + } else +#endif + { + /* 0 or 1 => queue-size 1. Otherwise adjust with configured limits */ + if(params->queueSize == 0) + params->queueSize = 1; + if(params->queueSize != 1) + UA_BOUNDEDVALUE_SETWBOUNDS(server->config.queueSizeLimits, + params->queueSize, params->queueSize); + } + + return UA_STATUSCODE_GOOD; +} + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS +static UA_StatusCode +checkEventFilterParam(UA_Server *server, UA_Session *session, + const UA_MonitoredItem *mon, + UA_MonitoringParameters *params, + UA_MonitoredItemCreateResult *result) { + /* Is an Event MonitoredItem? */ + if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER) + return UA_STATUSCODE_GOOD; + + /* Correct data type? */ + if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED && + params->filter.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) + return UA_STATUSCODE_BADEVENTFILTERINVALID; + if(params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) + return UA_STATUSCODE_BADEVENTFILTERINVALID; + + UA_EventFilter *eventFilter = (UA_EventFilter *)params->filter.content.decoded.data; + + /* Correct number of elements? */ + if(eventFilter->selectClausesSize == 0 || + eventFilter->selectClausesSize > UA_EVENTFILTER_MAXSELECT) + return UA_STATUSCODE_BADEVENTFILTERINVALID; + + /* Allow empty where clauses --> select every event */ + if(eventFilter->whereClause.elementsSize > UA_EVENTFILTER_MAXELEMENTS) + return UA_STATUSCODE_BADEVENTFILTERINVALID; + + /* Check where-clause */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + const UA_ContentFilter *cf = &eventFilter->whereClause; + UA_ContentFilterElementResult whereRes[UA_EVENTFILTER_MAXELEMENTS]; + for(size_t i = 0; i < cf->elementsSize; ++i) { + UA_ContentFilterElement *ef = &cf->elements[i]; + whereRes[i] = UA_ContentFilterElementValidation(server, i, cf->elementsSize, ef); + if(whereRes[i].statusCode != UA_STATUSCODE_GOOD && res == UA_STATUSCODE_GOOD) + res = whereRes[i].statusCode; + } + + /* Check select clause */ + UA_StatusCode selectRes[UA_EVENTFILTER_MAXSELECT]; + for(size_t i = 0; i < eventFilter->selectClausesSize; i++) { + const UA_SimpleAttributeOperand *sao = &eventFilter->selectClauses[i]; + selectRes[i] = UA_SimpleAttributeOperandValidation(server, sao); + if(selectRes[i] != UA_STATUSCODE_GOOD && res == UA_STATUSCODE_GOOD) + res = selectRes[i]; + } + + /* Filter bad, return details */ + if(res != UA_STATUSCODE_GOOD) { + UA_EventFilterResult *efr = UA_EventFilterResult_new(); + if(!efr) { + res = UA_STATUSCODE_BADOUTOFMEMORY; + } else { + UA_EventFilterResult tmp_efr; + UA_EventFilterResult_init(&tmp_efr); + tmp_efr.selectClauseResultsSize = eventFilter->selectClausesSize; + tmp_efr.selectClauseResults = selectRes; + tmp_efr.whereClauseResult.elementResultsSize = cf->elementsSize; + tmp_efr.whereClauseResult.elementResults = whereRes; + UA_EventFilterResult_copy(&tmp_efr, efr); + UA_ExtensionObject_setValue(&result->filterResult, efr, + &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); + } + } + + for(size_t i = 0; i < cf->elementsSize; ++i) + UA_ContentFilterElementResult_clear(&whereRes[i]); + return res; +} +#endif + +static const UA_String +binaryEncoding = {sizeof("Default Binary") - 1, (UA_Byte *)"Default Binary"}; + +/* Structure to pass additional arguments into the operation */ +struct createMonContext { + UA_Subscription *sub; + UA_TimestampsToReturn timestampsToReturn; + + /* If sub is NULL, use local callbacks */ + UA_Server_DataChangeNotificationCallback dataChangeCallback; + void *context; +}; + +static void +Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, + struct createMonContext *cmc, + const UA_MonitoredItemCreateRequest *request, + UA_MonitoredItemCreateResult *result) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Check available capacity */ + if(cmc->sub && + (((server->config.maxMonitoredItems != 0) && + (server->monitoredItemsSize >= server->config.maxMonitoredItems)) || + ((server->config.maxMonitoredItemsPerSubscription != 0) && + (cmc->sub->monitoredItemsSize >= server->config.maxMonitoredItemsPerSubscription)))) { + result->statusCode = UA_STATUSCODE_BADTOOMANYMONITOREDITEMS; + return; + } + + /* Check if the encoding is supported */ + if(request->itemToMonitor.dataEncoding.name.length > 0 && + (!UA_String_equal(&binaryEncoding, &request->itemToMonitor.dataEncoding.name) || + request->itemToMonitor.dataEncoding.namespaceIndex != 0)) { + result->statusCode = UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED; + return; + } + + /* Check if the encoding is set for a value */ + if(request->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE && + request->itemToMonitor.dataEncoding.name.length > 0) { + result->statusCode = UA_STATUSCODE_BADDATAENCODINGINVALID; + return; + } + + /* Make an example read to check the itemToMonitor. The DataSource itself + * could return a (temporary) error. This should still result in a valid + * MonitoredItem. Only a few StatusCodes are considered unrecoverable and + * lead to an abort: + * - The Node does not exist + * - The AttributeId does not match the NodeClass + * - The Session does not have sufficient access rights + * - The indicated encoding is not supported or not valid */ + UA_DataValue v = readWithSession(server, session, &request->itemToMonitor, + cmc->timestampsToReturn); + if(v.hasStatus && + (v.status == UA_STATUSCODE_BADNODEIDUNKNOWN || + v.status == UA_STATUSCODE_BADATTRIBUTEIDINVALID || + v.status == UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED || + v.status == UA_STATUSCODE_BADDATAENCODINGINVALID || + v.status == UA_STATUSCODE_BADINDEXRANGEINVALID + /* Part 4, 5.12.2 CreateMonitoredItems: When a user adds a monitored + * item that the user is denied read access to, the add operation for + * the item shall succeed and the bad status Bad_NotReadable or + * Bad_UserAccessDenied shall be returned in the Publish response. + * v.status == UA_STATUSCODE_BADNOTREADABLE + * v.status == UA_STATUSCODE_BADUSERACCESSDENIED + * + * The IndexRange error can change depending on the value. + * v.status == UA_STATUSCODE_BADINDEXRANGENODATA */ + )) { + result->statusCode = v.status; + UA_DataValue_clear(&v); + return; + } + + /* Adding an Event MonitoredItem */ +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + if(request->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) { + /* TODO: Only remote clients can add Event-MonitoredItems at the moment */ + if(!cmc->sub) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Only remote clients can add Event-MonitoredItems"); + result->statusCode = UA_STATUSCODE_BADNOTSUPPORTED; + UA_DataValue_clear(&v); + return; + } + + /* If the 'SubscribeToEvents' bit of EventNotifier attribute is + * zero, then the object cannot be subscribed to monitor events */ + if(!v.hasValue || !v.value.data) { + result->statusCode = UA_STATUSCODE_BADINTERNALERROR; + UA_DataValue_clear(&v); + return; + } + UA_Byte eventNotifierValue = *((UA_Byte *)v.value.data); + if((eventNotifierValue & 0x01) != 1) { + result->statusCode = UA_STATUSCODE_BADNOTSUPPORTED; + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, cmc->sub, + "Could not create a MonitoredItem as the " + "'SubscribeToEvents' bit of the EventNotifier " + "attribute is not set"); + UA_DataValue_clear(&v); + return; + } + } +#endif + + const UA_DataType *valueType = v.value.type; + UA_DataValue_clear(&v); + + /* Allocate the MonitoredItem */ + UA_MonitoredItem *newMon = NULL; + if(cmc->sub) { + newMon = (UA_MonitoredItem*)UA_malloc(sizeof(UA_MonitoredItem)); + } else { + UA_LocalMonitoredItem *localMon = (UA_LocalMonitoredItem*) + UA_malloc(sizeof(UA_LocalMonitoredItem)); + if(localMon) { + /* Set special values only for the LocalMonitoredItem */ + localMon->context = cmc->context; + localMon->callback.dataChangeCallback = cmc->dataChangeCallback; + } + newMon = &localMon->monitoredItem; + } + if(!newMon) { + result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + return; + } + + /* Initialize the MonitoredItem */ + UA_MonitoredItem_init(newMon); + newMon->subscription = cmc->sub; /* Can be NULL for local MonitoredItems */ + newMon->timestampsToReturn = cmc->timestampsToReturn; + result->statusCode |= UA_ReadValueId_copy(&request->itemToMonitor, + &newMon->itemToMonitor); + result->statusCode |= UA_MonitoringParameters_copy(&request->requestedParameters, + &newMon->parameters); + result->statusCode |= checkAdjustMonitoredItemParams(server, session, newMon, + valueType, &newMon->parameters); +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + result->statusCode |= checkEventFilterParam(server, session, newMon, + &newMon->parameters, result); +#endif + if(result->statusCode != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, cmc->sub, + "Could not create a MonitoredItem " + "with StatusCode %s", + UA_StatusCode_name(result->statusCode)); + UA_MonitoredItem_delete(server, newMon); + return; + } + + /* Initialize the value status so the first sample always passes the filter */ + newMon->lastValue.hasStatus = true; + newMon->lastValue.status = ~(UA_StatusCode)0; + + /* Register the Monitoreditem in the server and subscription */ + UA_Server_registerMonitoredItem(server, newMon); + + /* Activate the MonitoredItem */ + result->statusCode |= + UA_MonitoredItem_setMonitoringMode(server, newMon, request->monitoringMode); + if(result->statusCode != UA_STATUSCODE_GOOD) { + UA_MonitoredItem_delete(server, newMon); + return; + } + + /* Prepare the response */ + result->revisedSamplingInterval = newMon->parameters.samplingInterval; + result->revisedQueueSize = newMon->parameters.queueSize; + result->monitoredItemId = newMon->monitoredItemId; + + /* If the sampling interval is negative (the sampling callback is called + * from within the publishing callback), return the publishing interval of + * the Subscription. Note that we only use the cyclic callback of the + * Subscription. So if the Subscription publishing interval is modified, + * this also impacts this MonitoredItem. */ + if(result->revisedSamplingInterval < 0.0 && cmc->sub) + result->revisedSamplingInterval = cmc->sub->publishingInterval; + + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, cmc->sub, + "MonitoredItem %" PRIi32 " | " + "Created the MonitoredItem " + "(Sampling Interval: %.2fms, Queue Size: %lu)", + newMon->monitoredItemId, + newMon->parameters.samplingInterval, + (unsigned long)newMon->parameters.queueSize); +} + +void +Service_CreateMonitoredItems(UA_Server *server, UA_Session *session, + const UA_CreateMonitoredItemsRequest *request, + UA_CreateMonitoredItemsResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing CreateMonitoredItemsRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxMonitoredItemsPerCall != 0 && + request->itemsToCreateSize > server->config.maxMonitoredItemsPerCall) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + /* Check if the timestampstoreturn is valid */ + struct createMonContext cmc; + cmc.timestampsToReturn = request->timestampsToReturn; + if(cmc.timestampsToReturn > UA_TIMESTAMPSTORETURN_NEITHER) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID; + return; + } + + /* Find the subscription */ + cmc.sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!cmc.sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Reset the lifetime counter of the Subscription */ + Subscription_resetLifetime(cmc.sub); + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_CreateMonitoredItem, + &cmc, &request->itemsToCreateSize, + &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST], + &response->resultsSize, + &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); +} + +UA_MonitoredItemCreateResult +UA_Server_createDataChangeMonitoredItem(UA_Server *server, + UA_TimestampsToReturn timestampsToReturn, + const UA_MonitoredItemCreateRequest item, + void *monitoredItemContext, + UA_Server_DataChangeNotificationCallback callback) { + struct createMonContext cmc; + cmc.sub = NULL; + cmc.context = monitoredItemContext; + cmc.dataChangeCallback = callback; + cmc.timestampsToReturn = timestampsToReturn; + + UA_MonitoredItemCreateResult result; + UA_MonitoredItemCreateResult_init(&result); + lockServer(server); + Operation_CreateMonitoredItem(server, &server->adminSession, &cmc, &item, &result); + unlockServer(server); + return result; +} + +static void +Operation_ModifyMonitoredItem(UA_Server *server, UA_Session *session, UA_Subscription *sub, + const UA_MonitoredItemModifyRequest *request, + UA_MonitoredItemModifyResult *result) { + /* Get the MonitoredItem */ + UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(sub, request->monitoredItemId); + if(!mon) { + result->statusCode = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + return; + } + + /* Make local copy of the settings */ + UA_MonitoringParameters params; + result->statusCode = + UA_MonitoringParameters_copy(&request->requestedParameters, ¶ms); + if(result->statusCode != UA_STATUSCODE_GOOD) + return; + + /* Read the current value to test if filters are possible. + * Can return an empty value (v.value.type == NULL). */ + UA_DataValue v = readWithSession(server, session, &mon->itemToMonitor, + mon->timestampsToReturn); + + /* Verify and adjust the new parameters. This still leaves the original + * MonitoredItem untouched. */ + result->statusCode = + checkAdjustMonitoredItemParams(server, session, mon, + v.value.type, ¶ms); + UA_DataValue_clear(&v); + if(result->statusCode != UA_STATUSCODE_GOOD) { + UA_MonitoringParameters_clear(¶ms); + return; + } + + /* Store the old sampling interval */ + UA_Double oldSamplingInterval = mon->parameters.samplingInterval; + + /* Move over the new settings */ + UA_MonitoringParameters_clear(&mon->parameters); + mon->parameters = params; + + /* Re-register the callback if necessary */ + if(oldSamplingInterval != mon->parameters.samplingInterval) { + UA_MonitoredItem_unregisterSampling(server, mon); + result->statusCode = + UA_MonitoredItem_setMonitoringMode(server, mon, mon->monitoringMode); + } + + result->revisedSamplingInterval = mon->parameters.samplingInterval; + result->revisedQueueSize = mon->parameters.queueSize; + + /* If the sampling interval is negative (the sampling callback is called + * from within the publishing callback), return the publishing interval of + * the Subscription. Note that we only use the cyclic callback of the + * Subscription. So if the Subscription publishing interval is modified, + * this also impacts this MonitoredItem. */ + if(result->revisedSamplingInterval < 0.0 && mon->subscription) + result->revisedSamplingInterval = mon->subscription->publishingInterval; + + /* Remove some notifications if the queue is now too small */ + UA_MonitoredItem_ensureQueueSpace(server, mon); + + /* Remove the overflow bits if the queue has now a size of 1 */ + UA_MonitoredItem_removeOverflowInfoBits(mon); + + /* If the sampling interval is negative (the sampling callback is called + * from within the publishing callback), return the publishing interval of + * the Subscription. Note that we only use the cyclic callback of the + * Subscription. So if the Subscription publishing interval is modified, + * this also impacts this MonitoredItem. */ + if(result->revisedSamplingInterval < 0.0 && mon->subscription) + result->revisedSamplingInterval = mon->subscription->publishingInterval; + + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, + "MonitoredItem %" PRIi32 " | " + "Modified the MonitoredItem " + "(Sampling Interval: %fms, Queue Size: %lu)", + mon->monitoredItemId, + mon->parameters.samplingInterval, + (unsigned long)mon->queueSize); +} + +void +Service_ModifyMonitoredItems(UA_Server *server, UA_Session *session, + const UA_ModifyMonitoredItemsRequest *request, + UA_ModifyMonitoredItemsResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing ModifyMonitoredItemsRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxMonitoredItemsPerCall != 0 && + request->itemsToModifySize > server->config.maxMonitoredItemsPerCall) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + /* Check if the timestampstoreturn is valid */ + if(request->timestampsToReturn > UA_TIMESTAMPSTORETURN_NEITHER) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID; + return; + } + + /* Get the subscription */ + UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Reset the lifetime counter of the Subscription */ + Subscription_resetLifetime(sub); + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_ModifyMonitoredItem, + sub, &request->itemsToModifySize, + &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST], + &response->resultsSize, + &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); +} + +struct setMonitoringContext { + UA_Subscription *sub; + UA_MonitoringMode monitoringMode; +}; + +static void +Operation_SetMonitoringMode(UA_Server *server, UA_Session *session, + struct setMonitoringContext *smc, + const UA_UInt32 *monitoredItemId, UA_StatusCode *result) { + UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(smc->sub, *monitoredItemId); + if(!mon) { + *result = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + return; + } + *result = UA_MonitoredItem_setMonitoringMode(server, mon, smc->monitoringMode); +} + +void +Service_SetMonitoringMode(UA_Server *server, UA_Session *session, + const UA_SetMonitoringModeRequest *request, + UA_SetMonitoringModeResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing SetMonitoringMode"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxMonitoredItemsPerCall != 0 && + request->monitoredItemIdsSize > server->config.maxMonitoredItemsPerCall) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + /* Get the subscription */ + struct setMonitoringContext smc; + smc.sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!smc.sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Reset the lifetime counter of the Subscription */ + Subscription_resetLifetime(smc.sub); + + smc.monitoringMode = request->monitoringMode; + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_SetMonitoringMode, + &smc, &request->monitoredItemIdsSize, + &UA_TYPES[UA_TYPES_UINT32], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +static void +Operation_DeleteMonitoredItem(UA_Server *server, UA_Session *session, UA_Subscription *sub, + const UA_UInt32 *monitoredItemId, UA_StatusCode *result) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(sub, *monitoredItemId); + if(!mon) { + *result = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + return; + } + UA_MonitoredItem_delete(server, mon); +} + +void +Service_DeleteMonitoredItems(UA_Server *server, UA_Session *session, + const UA_DeleteMonitoredItemsRequest *request, + UA_DeleteMonitoredItemsResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing DeleteMonitoredItemsRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxMonitoredItemsPerCall != 0 && + request->monitoredItemIdsSize > server->config.maxMonitoredItemsPerCall) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + /* Get the subscription */ + UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + /* Reset the lifetime counter of the Subscription */ + Subscription_resetLifetime(sub); + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_DeleteMonitoredItem, + sub, &request->monitoredItemIdsSize, + &UA_TYPES[UA_TYPES_UINT32], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_StatusCode +UA_Server_deleteMonitoredItem(UA_Server *server, UA_UInt32 monitoredItemId) { + lockServer(server); + UA_MonitoredItem *mon, *mon_tmp; + LIST_FOREACH_SAFE(mon, &server->localMonitoredItems, listEntry, mon_tmp) { + if(mon->monitoredItemId != monitoredItemId) + continue; + UA_MonitoredItem_delete(server, mon); + unlockServer(server); + return UA_STATUSCODE_GOOD; + } + unlockServer(server); + return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +/**** amalgamated original file "/src/server/ua_services_securechannel.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2023 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Phuong Nguyen) + */ + + +/* This contains the SecureChannel Services to be called after validation and + * decoding of the message. The main SecureChannel logic is handled in + * /src/ua_securechannel.* and /src/server/ua_server_binary.c. */ + +void +Service_OpenSecureChannel(UA_Server *server, UA_SecureChannel *channel, + UA_OpenSecureChannelRequest *request, + UA_OpenSecureChannelResponse *response) { + const UA_SecurityPolicy *sp = channel->securityPolicy; + + switch(request->requestType) { + /* Open the channel */ + case UA_SECURITYTOKENREQUESTTYPE_ISSUE: + /* We must expect an OPN handshake */ + if(channel->state != UA_SECURECHANNELSTATE_ACK_SENT) { + UA_LOG_ERROR_CHANNEL(server->config.logging, channel, + "Called open on already open or closed channel"); + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + goto error; + } + + /* Set the SecurityMode */ + if(request->securityMode != UA_MESSAGESECURITYMODE_NONE && + UA_ByteString_equal(&sp->policyUri, &UA_SECURITY_POLICY_NONE_URI)) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSECURITYMODEREJECTED; + goto error; + } + channel->securityMode = request->securityMode; + break; + + /* Renew the channel */ + case UA_SECURITYTOKENREQUESTTYPE_RENEW: + /* The channel must be open to be renewed */ + if(channel->state != UA_SECURECHANNELSTATE_OPEN) { + UA_LOG_ERROR_CHANNEL(server->config.logging, channel, + "Called renew on channel which is not open"); + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + goto error; + } + + /* Check whether the nonce was reused */ + if(channel->securityMode != UA_MESSAGESECURITYMODE_NONE && + UA_ByteString_equal(&channel->remoteNonce, &request->clientNonce)) { + UA_LOG_ERROR_CHANNEL(server->config.logging, channel, + "The client reused the last nonce"); + response->responseHeader.serviceResult = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + break; + + /* Unknown request type */ + default: + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* Create a new SecurityToken. It will be switched over when the first + * message is received. The ChannelId is left unchanged. */ + channel->altSecurityToken.channelId = channel->securityToken.channelId; + channel->altSecurityToken.tokenId = generateSecureChannelTokenId(server); + channel->altSecurityToken.createdAt = UA_DateTime_nowMonotonic(); + channel->altSecurityToken.revisedLifetime = + (request->requestedLifetime > server->config.maxSecurityTokenLifetime) ? + server->config.maxSecurityTokenLifetime : request->requestedLifetime; + if(channel->altSecurityToken.revisedLifetime == 0) + channel->altSecurityToken.revisedLifetime = server->config.maxSecurityTokenLifetime; + + /* Set the nonces. The remote nonce will be "rotated in" when it is first used. */ + UA_ByteString_clear(&channel->remoteNonce); + channel->remoteNonce = request->clientNonce; + UA_ByteString_init(&request->clientNonce); + + response->responseHeader.serviceResult = UA_SecureChannel_generateLocalNonce(channel); + UA_CHECK_STATUS(response->responseHeader.serviceResult, goto error); + + /* Update the channel state */ + channel->renewState = UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER; + channel->state = UA_SECURECHANNELSTATE_OPEN; + + /* Set the response */ + response->securityToken = channel->altSecurityToken; + response->securityToken.createdAt = UA_DateTime_now(); /* only for sending */ + response->responseHeader.timestamp = response->securityToken.createdAt; + response->responseHeader.requestHandle = request->requestHeader.requestHandle; + response->responseHeader.serviceResult = + UA_ByteString_copy(&channel->localNonce, &response->serverNonce); + UA_CHECK_STATUS(response->responseHeader.serviceResult, goto error); + + /* Success */ + if(request->requestType == UA_SECURITYTOKENREQUESTTYPE_ISSUE) { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "SecureChannel opened with SecurityPolicy %.*s " + "and a revised lifetime of %.2fs", + (int)channel->securityPolicy->policyUri.length, + channel->securityPolicy->policyUri.data, + (UA_Float)response->securityToken.revisedLifetime / 1000); + } else { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, "SecureChannel renewed " + "with a revised lifetime of %.2fs", + (UA_Float)response->securityToken.revisedLifetime / 1000); + } + + return; + + error: + if(request->requestType == UA_SECURITYTOKENREQUESTTYPE_ISSUE) { + UA_LOG_INFO_CHANNEL(server->config.logging, channel, + "Opening a SecureChannel failed"); + } else { + UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, + "Renewing SecureChannel failed"); + } +} + +/* The server does not send a CloseSecureChannel response */ +void +Service_CloseSecureChannel(UA_Server *server, UA_SecureChannel *channel) { + UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_CLOSE); +} + +/**** amalgamated original file "/src/server/ua_services_nodemanagement.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014-2017 (c) Florian Palm + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Julian Grothoff + * Copyright 2016 (c) LEvertz + * Copyright 2016 (c) Lorenz Haas + * Copyright 2017 (c) frax2222 + * Copyright 2017-2018 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Christian von Arnim + * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * Copyright 2017 (c) Henrik Norrman + * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) + */ + + +/*********************/ +/* Edit Node Context */ +/*********************/ + +UA_StatusCode +UA_Server_getNodeContext(UA_Server *server, UA_NodeId nodeId, + void **nodeContext) { + lockServer(server); + UA_StatusCode retval = getNodeContext(server, nodeId, nodeContext); + unlockServer(server); + return retval; +} + +UA_StatusCode +getNodeContext(UA_Server *server, UA_NodeId nodeId, + void **nodeContext) { + const UA_Node *node = UA_NODESTORE_GET(server, &nodeId); + if(!node) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + *nodeContext = node->head.context; + UA_NODESTORE_RELEASE(server, node); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setDeconstructedNode(UA_Server *server, UA_Session *session, + UA_NodeHead *head, void *context) { + head->constructed = false; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setConstructedNodeContext(UA_Server *server, UA_Session *session, + UA_NodeHead *head, void *context) { + head->context = context; + head->constructed = true; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +editNodeContext(UA_Server *server, UA_Session* session, + UA_NodeHead *head, void *context) { + head->context = context; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +setNodeContext(UA_Server *server, UA_NodeId nodeId, + void *nodeContext) { + return UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback)editNodeContext, nodeContext); +} + +UA_StatusCode +UA_Server_setNodeContext(UA_Server *server, UA_NodeId nodeId, + void *nodeContext) { + lockServer(server); + UA_StatusCode retval = setNodeContext(server, nodeId, nodeContext); + unlockServer(server); + return retval; +} + +static UA_StatusCode +checkSetIsDynamicVariable(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId); + +/**********************/ +/* Consistency Checks */ +/**********************/ + +#define UA_PARENT_REFERENCES_COUNT 2 + +const UA_NodeId parentReferences[UA_PARENT_REFERENCES_COUNT] = { + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASSUBTYPE}}, + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}} +}; + +static void +logAddNode(const UA_Logger *logger, UA_Session *session, + const UA_NodeId *nodeId, const char *msg) { + UA_LOG_NODEID_INFO(nodeId, + UA_LOG_INFO_SESSION(logger, session, "AddNode (%.*s): %s", + (int)nodeIdStr.length, nodeIdStr.data, msg)); +} + +/* Check if the requested parent node exists, has the right node class and is + * referenced with an allowed (hierarchical) reference type. For "type" nodes, + * only hasSubType references are allowed. */ +static UA_StatusCode +checkParentReference(UA_Server *server, UA_Session *session, const UA_NodeHead *head, + const UA_NodeId *parentNodeId, const UA_NodeId *referenceTypeId) { + /* Objects do not need a parent (e.g. mandatory/optional modellingrules). + * Also, there are some variables which do not have parents, e.g. + * EnumStrings, EnumValues */ + if((head->nodeClass == UA_NODECLASS_OBJECT || + head->nodeClass == UA_NODECLASS_VARIABLE) && + UA_NodeId_isNull(parentNodeId) && UA_NodeId_isNull(referenceTypeId)) + return UA_STATUSCODE_GOOD; + + /* See if the parent exists */ + const UA_Node *parent = UA_NODESTORE_GET(server, parentNodeId); + if(!parent) { + logAddNode(server->config.logging, session, &head->nodeId, + "Parent node not found"); + return UA_STATUSCODE_BADPARENTNODEIDINVALID; + } + + UA_NodeClass parentNodeClass = parent->head.nodeClass; + UA_NODESTORE_RELEASE(server, parent); + + /* Check the referencetype exists */ + const UA_Node *referenceType = UA_NODESTORE_GET(server, referenceTypeId); + if(!referenceType) { + logAddNode(server->config.logging, session, &head->nodeId, + "Reference type to the parent not found"); + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + } + + /* Check if the referencetype is a reference type node */ + if(referenceType->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { + logAddNode(server->config.logging, session, &head->nodeId, + "Reference type to the parent is not a ReferenceTypeNode"); + UA_NODESTORE_RELEASE(server, referenceType); + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + } + + /* Check that the reference type is not abstract */ + UA_Boolean referenceTypeIsAbstract = referenceType->referenceTypeNode.isAbstract; + UA_NODESTORE_RELEASE(server, referenceType); + if(referenceTypeIsAbstract == true) { + logAddNode(server->config.logging, session, &head->nodeId, + "Abstract reference type to the parent not allowed"); + return UA_STATUSCODE_BADREFERENCENOTALLOWED; + } + + /* Check hassubtype relation for type nodes */ + if(head->nodeClass == UA_NODECLASS_DATATYPE || + head->nodeClass == UA_NODECLASS_VARIABLETYPE || + head->nodeClass == UA_NODECLASS_OBJECTTYPE || + head->nodeClass == UA_NODECLASS_REFERENCETYPE) { + /* Type needs hassubtype reference to the supertype */ + if(referenceType->referenceTypeNode.referenceTypeIndex != + UA_REFERENCETYPEINDEX_HASSUBTYPE) { + logAddNode(server->config.logging, session, &head->nodeId, + "Type nodes need to have a HasSubType reference to the parent"); + return UA_STATUSCODE_BADREFERENCENOTALLOWED; + } + /* Supertype needs to be of the same node type */ + if(parentNodeClass != head->nodeClass) { + logAddNode(server->config.logging, session, &head->nodeId, + "Type nodes needs to be of the same node " + "type as their parent"); + return UA_STATUSCODE_BADPARENTNODEIDINVALID; + } + return UA_STATUSCODE_GOOD; + } + + /* Test if the referencetype is hierarchical */ + const UA_NodeId hierarchRefs = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); + if(!isNodeInTree_singleRef(server, referenceTypeId, &hierarchRefs, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) { + logAddNode(server->config.logging, session, &head->nodeId, + "Reference type to the parent is not hierarchical"); + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + } + + return UA_STATUSCODE_GOOD; +} + +/* Only BaseDataType can have empty values. Generate a default value. */ +static UA_StatusCode +setDefaultValue(UA_Server *server, const UA_VariableNode *node) { + /* Get the DataType */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + const UA_DataType *type = UA_Server_findDataType(server, &node->dataType); + if(!type) { + /* No description for the DataType found. It is possible that an + * abstract DataType is used, e.g. UInteger. Browse to see if there is a + * non-abstract subtype that can be used for the default value. + * + * Look up and downwards in the hierarchy. Some data types (e.g. + * UtcTime) are derived from a non-abstract data type. This is then used + * for the actual value, Use the first match. */ + UA_ReferenceTypeSet refs = UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); + UA_ExpandedNodeId *typeCandidates = NULL; + size_t typeCandidatesSize = 0; + res = browseRecursive(server, 1, &node->dataType, + UA_BROWSEDIRECTION_BOTH, &refs, + UA_NODECLASS_DATATYPE, false, + &typeCandidatesSize, &typeCandidates); + if(res != UA_STATUSCODE_GOOD) + return res; + + for(size_t i = 0; i < typeCandidatesSize; i++) { + /* Skip BaseDataType (Variant). This is the root of the DataType + * hierarchy. Variables of BaseDataType can be empty. */ + if(UA_NodeId_equal(&UA_TYPES[UA_TYPES_VARIANT].typeId, + &typeCandidates[i].nodeId)) + continue; + + /* Skip ExtensionObject. Even though we can encode the type it is + * abstract and nodes should not contain them as value. */ + if(UA_NodeId_equal(&UA_TYPES[UA_TYPES_EXTENSIONOBJECT].typeId, + &typeCandidates[i].nodeId)) + continue; + + /* Get the type encoding information */ + type = UA_Server_findDataType(server, &typeCandidates[i].nodeId); + if(type) + break; + } + + UA_Array_delete(typeCandidates, typeCandidatesSize, + &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + if(!type) + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Set up the value with the default content */ + UA_Variant val; + UA_Variant_init(&val); + if(node->valueRank < 0) { + /* Set a scalar */ + void *data = UA_new(type); + if(!data) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_Variant_setScalar(&val, data, type); + } else { + /* Set an array + * + * https://reference.opcfoundation.org/v104/Core/docs/Part3/5.6.2/#Table13 + * specifies ArrayDimensions as follows: This Attribute specifies the + * maximum supported length of each dimension. If the maximum is unknown + * the value shall be 0. The number of elements shall be equal to the + * value of the ValueRank Attribute. This Attribute shall be null if + * ValueRank <= 0. + * + * The (variant) values themselves cannot have ArrayDimensions with a + * dimension length of zero. We however consider that empty arrays + * (null-array or length zero) have implicit array dimensions [0,0,...]. + * With the appropriate number of dimensions. So they always match. + * + * We automatically create a null array during the node creation when + * required for the type-checking.. + * + * Also see the method 'compatibleValueArrayDimensions' where the + * compatibility of the ArrayDimensions is checked. */ + UA_Variant_setArray(&val, NULL, 0, type); + } + + /* Write the value */ + res = writeAttribute(server, &server->adminSession, &node->head.nodeId, + UA_ATTRIBUTEID_VALUE, &val, &UA_TYPES[UA_TYPES_VARIANT]); + + /* Clean up */ + UA_Variant_clear(&val); + return res; +} + +static UA_StatusCode +typeCheckVariableNode(UA_Server *server, UA_Session *session, + const UA_VariableNode *node, + const UA_VariableTypeNode *vt) { + /* Check the datatype against the vt */ + if(!compatibleDataTypes(server, &node->dataType, &vt->dataType)) { + logAddNode(server->config.logging, session, &node->head.nodeId, + "The value of is incompatible with " + "the datatype of the VariableType"); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Check valueRank against array dimensions */ + if(!compatibleValueRankArrayDimensions(server, session, node->valueRank, + node->arrayDimensionsSize)) { + logAddNode(server->config.logging, session, &node->head.nodeId, + "The value rank of is incompatible with its array dimensions"); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Check valueRank against the vt */ + if(!compatibleValueRanks(node->valueRank, vt->valueRank)) { + logAddNode(server->config.logging, session, &node->head.nodeId, + "The value rank is incompatible " + "with the value rank of the VariableType"); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Check array dimensions against the vt */ + if(!compatibleArrayDimensions(vt->arrayDimensionsSize, vt->arrayDimensions, + node->arrayDimensionsSize, node->arrayDimensions)) { + logAddNode(server->config.logging, session, &node->head.nodeId, + "The array dimensions are incompatible with the " + "array dimensions of the VariableType"); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + /* Typecheck the value. Less strict for NS0 -- we adjust nodes after loading + * the generated definitions. */ + if(server->bootstrapNS0) + return UA_STATUSCODE_GOOD; + + /* The value might come from a datasource, so we perform a + * regular read. */ + UA_DataValue value; + UA_DataValue_init(&value); + UA_StatusCode retval = readValueAttribute(server, session, node, &value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* We have a value. Write it back to perform checks and adjustments. */ + const char *reason; + if(node->valueSource == UA_VALUESOURCE_DATA && value.hasValue) { + if(!compatibleValue(server, session, &node->dataType, node->valueRank, + node->arrayDimensionsSize, node->arrayDimensions, + &value.value, NULL, &reason)) { + retval = writeAttribute(server, session, &node->head.nodeId, + UA_ATTRIBUTEID_VALUE, &value.value, + &UA_TYPES[UA_TYPES_VARIANT]); + } + UA_DataValue_clear(&value); + return retval; + } + + /* Only BaseDataType (Variant) can have empty values */ + if(!value.hasValue && + !UA_NodeId_equal(&node->dataType, &UA_TYPES[UA_TYPES_VARIANT].typeId)) { + /* Warn if that is configured */ + if(server->config.allowEmptyVariables != UA_RULEHANDLING_ACCEPT) + UA_LOG_NODEID_DEBUG(&node->head.nodeId, + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "AddNode (%.*s): The value is empty. " + "But this is only allowed for BaseDataType. " + "Create a matching default value.", + (int)nodeIdStr.length, nodeIdStr.data)); + + /* Abort if that is configured */ + if(server->config.allowEmptyVariables == UA_RULEHANDLING_ABORT) + retval = UA_STATUSCODE_BADTYPEMISMATCH; + + /* Try to generate and write a default value */ + if(server->config.allowEmptyVariables == UA_RULEHANDLING_DEFAULT) { + retval = setDefaultValue(server, node); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Could not create a default value " + "with StatusCode %s", (int)nodeIdStr.length, + nodeIdStr.data, UA_StatusCode_name(retval))); + } + } + return retval; + } + + /* Type-check the value */ + UA_Boolean compatible = + compatibleValue(server, session, &node->dataType, + node->valueRank, node->arrayDimensionsSize, + node->arrayDimensions, &value.value, NULL, &reason); + if(!compatible) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): The VariableNode value has " + "failed the type check with reason %s. ", + (int)nodeIdStr.length, nodeIdStr.data, reason)); + retval = UA_STATUSCODE_BADINTERNALERROR; + } + + UA_DataValue_clear(&value); + return retval; +} + +/********************/ +/* Instantiate Node */ +/********************/ + +static const UA_NodeId baseDataVariableType = + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_BASEDATAVARIABLETYPE}}; +static const UA_NodeId baseObjectType = + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_BASEOBJECTTYPE}}; +static const UA_NodeId hasTypeDefinition = + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASTYPEDEFINITION}}; + +/* Use attributes from the variable type wherever required. Reload the node if + * changes were made. */ +static UA_StatusCode +useVariableTypeAttributes(UA_Server *server, UA_Session *session, + const UA_VariableNode *node, + const UA_VariableTypeNode *vt) { + /* If no value is set, see if the vt provides one and copy it. This needs to + * be done before copying the datatype from the vt, as setting the datatype + * triggers a typecheck. */ + UA_Variant orig; + UA_StatusCode retval = + readWithReadValue(server, &node->head.nodeId, UA_ATTRIBUTEID_VALUE, &orig); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + if(orig.type) { + /* A value is present */ + UA_Variant_clear(&orig); + } else { + UA_DataValue v; + UA_DataValue_init(&v); + retval = readValueAttribute(server, session, (const UA_VariableNode*)vt, &v); + if(retval == UA_STATUSCODE_GOOD && v.hasValue) { + retval = writeAttribute(server, session, &node->head.nodeId, + UA_ATTRIBUTEID_VALUE, &v.value, + &UA_TYPES[UA_TYPES_VARIANT]); + } + UA_DataValue_clear(&v); + + if(retval != UA_STATUSCODE_GOOD) { + logAddNode(server->config.logging, session, &node->head.nodeId, + "The default content of the VariableType could " + "not be used. This may happen if the VariableNode " + "makes additional restrictions."); + retval = UA_STATUSCODE_GOOD; + } + } + + /* If no datatype is given, use the datatype of the vt */ + if(UA_NodeId_isNull(&node->dataType)) { + logAddNode(server->config.logging, session, &node->head.nodeId, + "No datatype given; Copy the datatype attribute " + "from the TypeDefinition"); + retval = writeAttribute(server, session, &node->head.nodeId, + UA_ATTRIBUTEID_DATATYPE, &vt->dataType, + &UA_TYPES[UA_TYPES_NODEID]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + + /* Use the ArrayDimensions of the vt */ + if(node->arrayDimensionsSize == 0 && vt->arrayDimensionsSize > 0) { + UA_Variant v; + UA_Variant_init(&v); + UA_Variant_setArray(&v, vt->arrayDimensions, vt->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_UINT32]); + retval = writeAttribute(server, session, &node->head.nodeId, + UA_ATTRIBUTEID_ARRAYDIMENSIONS, &v, + &UA_TYPES[UA_TYPES_VARIANT]); + } + + return retval; +} + +/* Search for an instance of "browseName" in node searchInstance. Used during + * copyChildNodes to find overwritable/mergable nodes. Does not touch + * outInstanceNodeId if no child is found. */ +static UA_StatusCode +findChildByBrowsename(UA_Server *server, UA_Session *session, + const UA_NodeId *searchInstance, + const UA_QualifiedName *browseName, + UA_NodeId *outInstanceNodeId) { + UA_BrowseDescription bd; + UA_BrowseDescription_init(&bd); + bd.nodeId = *searchInstance; + bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); + bd.includeSubtypes = true; + bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; + bd.nodeClassMask = UA_NODECLASS_OBJECT | UA_NODECLASS_VARIABLE | UA_NODECLASS_METHOD; + bd.resultMask = UA_BROWSERESULTMASK_BROWSENAME; + + UA_BrowseResult br; + UA_BrowseResult_init(&br); + UA_UInt32 maxrefs = 0; + Operation_Browse(server, session, &maxrefs, &bd, &br); + if(br.statusCode != UA_STATUSCODE_GOOD) + return br.statusCode; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < br.referencesSize; ++i) { + UA_ReferenceDescription *rd = &br.references[i]; + if(rd->browseName.namespaceIndex == browseName->namespaceIndex && + UA_String_equal(&rd->browseName.name, &browseName->name)) { + retval = UA_NodeId_copy(&rd->nodeId.nodeId, outInstanceNodeId); + break; + } + } + + UA_BrowseResult_clear(&br); + return retval; +} + +static const UA_ExpandedNodeId mandatoryId = + {{0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_MODELLINGRULE_MANDATORY}}, {0, NULL}, 0}; + +static UA_Boolean +isMandatoryChild(UA_Server *server, UA_Session *session, + const UA_NodeId *childNodeId) { + /* Get the child */ + const UA_Node *child = UA_NODESTORE_GET(server, childNodeId); + if(!child) + return false; + + /* Look for the reference making the child mandatory */ + UA_Boolean found = false; + for(size_t i = 0; i < child->head.referencesSize; ++i) { + UA_NodeReferenceKind *rk = &child->head.references[i]; + if(rk->referenceTypeIndex != UA_REFERENCETYPEINDEX_HASMODELLINGRULE) + continue; + if(rk->isInverse) + continue; + + if(UA_NodeReferenceKind_findTarget(rk, &mandatoryId)) { + found = true; + break; + } + } + + UA_NODESTORE_RELEASE(server, child); + return found; +} + +static UA_StatusCode +copyAllChildren(UA_Server *server, UA_Session *session, + const UA_NodeId *source, const UA_NodeId *destination); + +static void +Operation_addReference(UA_Server *server, UA_Session *session, void *context, + const UA_AddReferencesItem *item, UA_StatusCode *retval); + +UA_StatusCode +addRefWithSession(UA_Server *server, UA_Session *session, const UA_NodeId *sourceId, + const UA_NodeId *referenceTypeId, const UA_NodeId *targetId, + UA_Boolean forward) { + UA_AddReferencesItem ref_item; + UA_AddReferencesItem_init(&ref_item); + ref_item.sourceNodeId = *sourceId; + ref_item.referenceTypeId = *referenceTypeId; + ref_item.isForward = forward; + ref_item.targetNodeId.nodeId = *targetId; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + Operation_addReference(server, session, NULL, &ref_item, &retval); + return retval; +} + +UA_StatusCode +addRef(UA_Server *server, const UA_NodeId sourceId, + const UA_NodeId referenceTypeId, const UA_NodeId targetId, + UA_Boolean forward) { + return addRefWithSession(server, &server->adminSession, &sourceId, + &referenceTypeId, &targetId, forward); +} + +static UA_StatusCode +addInterfaceChildren(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, const UA_NodeId *typeId) { + /* Get the hierarchy of the type and all its supertypes */ + UA_NodeId *hierarchy = NULL; + size_t hierarchySize = 0; + UA_StatusCode retval = getAllInterfaceChildNodeIds(server, nodeId, typeId, + &hierarchy, &hierarchySize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Copy members of the type and supertypes (and instantiate them) */ + for(size_t i = 0; i < hierarchySize; ++i) { + retval = copyAllChildren(server, session, &hierarchy[i], nodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_Array_delete(hierarchy, hierarchySize, &UA_TYPES[UA_TYPES_NODEID]); + return retval; + } + } + + for(size_t i = 0; i < hierarchySize; ++i) { + UA_NodeId refId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASINTERFACE); + retval = addRef(server, *nodeId, refId, hierarchy[i], true); + + /* Don't add the original HasInterface reference to ObjectType sub nodes */ + if(retval == UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED) { + retval = UA_STATUSCODE_GOOD; + } else if(retval != UA_STATUSCODE_GOOD) { + break; + } + } + + UA_Array_delete(hierarchy, hierarchySize, &UA_TYPES[UA_TYPES_NODEID]); + return retval; +} + +static UA_StatusCode +copyChild(UA_Server *server, UA_Session *session, + const UA_NodeId *destinationNodeId, + const UA_ReferenceDescription *rd) { + UA_assert(session); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Is there an existing child with the browsename? */ + UA_NodeId existingChild = UA_NODEID_NULL; + UA_StatusCode retval = findChildByBrowsename(server, session, destinationNodeId, + &rd->browseName, &existingChild); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Have a child with that browseName. Deep-copy missing members. */ + if(!UA_NodeId_isNull(&existingChild)) { + if(rd->nodeClass == UA_NODECLASS_VARIABLE || + rd->nodeClass == UA_NODECLASS_OBJECT) + retval = copyAllChildren(server, session, &rd->nodeId.nodeId, &existingChild); + UA_NodeId_clear(&existingChild); + return retval; + } + + /* Is the child mandatory? If not, ask callback whether child should be instantiated. + * If not, skip. */ + if(!isMandatoryChild(server, session, &rd->nodeId.nodeId)) { + if(!server->config.nodeLifecycle.createOptionalChild) + return UA_STATUSCODE_GOOD; + UA_Boolean createChild = server->config.nodeLifecycle. + createOptionalChild(server, &session->sessionId, session->sessionHandle, + &rd->nodeId.nodeId, destinationNodeId, &rd->referenceTypeId); + if(!createChild) + return UA_STATUSCODE_GOOD; + } + + /* Child is a method -> create a reference */ + if(rd->nodeClass == UA_NODECLASS_METHOD) { + UA_AddReferencesItem newItem; + UA_AddReferencesItem_init(&newItem); + newItem.sourceNodeId = *destinationNodeId; + newItem.referenceTypeId = rd->referenceTypeId; + newItem.isForward = true; + newItem.targetNodeId = rd->nodeId; + newItem.targetNodeClass = UA_NODECLASS_METHOD; + Operation_addReference(server, session, NULL, &newItem, &retval); + return retval; + } + + /* Child is a variable or object */ + if(rd->nodeClass == UA_NODECLASS_VARIABLE || + rd->nodeClass == UA_NODECLASS_OBJECT) { + /* Make a copy of the node */ + UA_Node *node; + retval = UA_NODESTORE_GETCOPY(server, &rd->nodeId.nodeId, &node); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Remove the context of the copied node */ + node->head.context = NULL; + node->head.constructed = false; +#ifdef UA_ENABLE_SUBSCRIPTIONS + node->head.monitoredItems = NULL; +#endif + + /* The value backend is copied by default. But we don't want to keep it + * here. */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE || + node->head.nodeClass == UA_NODECLASS_VARIABLETYPE) { + if(node->variableNode.valueSource != UA_VALUESOURCE_DATA) + memset(&node->variableNode.value, 0, sizeof(node->variableNode.value)); + node->variableNode.valueSource = UA_VALUESOURCE_DATA; + memset(&node->variableNode.valueBackend, 0, sizeof(UA_ValueBackend)); + } + + /* Reset the NodeId (random numeric id will be assigned in the nodestore) */ + UA_NodeId_clear(&node->head.nodeId); + node->head.nodeId.namespaceIndex = destinationNodeId->namespaceIndex; + + if(server->config.nodeLifecycle.generateChildNodeId) { + retval = server->config.nodeLifecycle. + generateChildNodeId(server, &session->sessionId, session->sessionHandle, + &rd->nodeId.nodeId, destinationNodeId, + &rd->referenceTypeId, &node->head.nodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_NODESTORE_DELETE(server, node); + return retval; + } + } + + /* Remove references, they are re-created from scratch in addnode_finish */ + /* TODO: Be more clever in removing references that are re-added during + * addnode_finish. That way, we can call addnode_finish also on children that were + * manually added by the user during addnode_begin and addnode_finish. */ + /* For now we keep all the modelling rule references and delete all others */ + const UA_NodeId nodeId_typesFolder= UA_NODEID_NUMERIC(0, UA_NS0ID_TYPESFOLDER); + const UA_ReferenceTypeSet reftypes_aggregates = + UA_REFTYPESET(UA_REFERENCETYPEINDEX_AGGREGATES); + UA_ReferenceTypeSet reftypes_skipped; + /* Check if the hasModellingRule-reference is required (configured or node in an + instance declaration) */ + if(server->config.modellingRulesOnInstances || + isNodeInTree(server, destinationNodeId, + &nodeId_typesFolder, &reftypes_aggregates)) { + reftypes_skipped = UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASMODELLINGRULE); + } else { + UA_ReferenceTypeSet_init(&reftypes_skipped); + } + reftypes_skipped = UA_ReferenceTypeSet_union(reftypes_skipped, UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASINTERFACE)); + UA_Node_deleteReferencesSubset(node, &reftypes_skipped); + + /* Add the node to the nodestore */ + UA_NodeId newNodeId = UA_NODEID_NULL; + retval = UA_NODESTORE_INSERT(server, node, &newNodeId); + /* node = NULL; The pointer is no longer valid */ + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Add the node references */ + retval = addNode_addRefs(server, session, &newNodeId, destinationNodeId, + &rd->referenceTypeId, &rd->typeDefinition.nodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_NODESTORE_REMOVE(server, &newNodeId); + UA_NodeId_clear(&newNodeId); + return retval; + } + + if (rd->nodeClass == UA_NODECLASS_VARIABLE) { + retval = checkSetIsDynamicVariable(server, session, &newNodeId); + + if(retval != UA_STATUSCODE_GOOD) { + UA_NODESTORE_REMOVE(server, &newNodeId); + return retval; + } + } + + /* For the new child, recursively copy the members of the original. No + * typechecking is performed here. Assuming that the original is + * consistent. */ + retval = copyAllChildren(server, session, &rd->nodeId.nodeId, &newNodeId); + if(retval != UA_STATUSCODE_GOOD) { + deleteNode(server, newNodeId, true); + return retval; + } + + /* Check if its a dynamic variable, add all type and/or interface + * children and call the constructor */ + retval = addNode_finish(server, session, &newNodeId); + if(retval != UA_STATUSCODE_GOOD) { + deleteNode(server, newNodeId, true); + return retval; + } + + /* Clean up. Because it can happen that a string is assigned as ID at + * generateChildNodeId. */ + UA_NodeId_clear(&newNodeId); + } + + return retval; +} + +/* Copy any children of Node sourceNodeId to another node destinationNodeId. */ +static UA_StatusCode +copyAllChildren(UA_Server *server, UA_Session *session, + const UA_NodeId *source, const UA_NodeId *destination) { + /* Browse to get all children of the source */ + UA_BrowseDescription bd; + UA_BrowseDescription_init(&bd); + bd.nodeId = *source; + bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); + bd.includeSubtypes = true; + bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; + bd.nodeClassMask = UA_NODECLASS_OBJECT | UA_NODECLASS_VARIABLE | UA_NODECLASS_METHOD; + bd.resultMask = UA_BROWSERESULTMASK_REFERENCETYPEID | UA_BROWSERESULTMASK_NODECLASS | + UA_BROWSERESULTMASK_BROWSENAME | UA_BROWSERESULTMASK_TYPEDEFINITION; + + UA_BrowseResult br; + UA_BrowseResult_init(&br); + UA_UInt32 maxrefs = 0; + Operation_Browse(server, session, &maxrefs, &bd, &br); + if(br.statusCode != UA_STATUSCODE_GOOD) + return br.statusCode; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < br.referencesSize; ++i) { + UA_ReferenceDescription *rd = &br.references[i]; + retval = copyChild(server, session, destination, rd); + if(retval != UA_STATUSCODE_GOOD) + break; + } + + UA_BrowseResult_clear(&br); + return retval; +} + +static UA_StatusCode +addTypeChildren(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, const UA_NodeId *typeId) { + /* Get the hierarchy of the type and all its supertypes */ + UA_NodeId *hierarchy = NULL; + size_t hierarchySize = 0; + UA_StatusCode retval = getParentTypeAndInterfaceHierarchy(server, typeId, + &hierarchy, &hierarchySize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_assert(hierarchySize < 1000); + + /* Copy members of the type and supertypes (and instantiate them) */ + for(size_t i = 0; i < hierarchySize; ++i) { + retval = copyAllChildren(server, session, &hierarchy[i], nodeId); + if(retval != UA_STATUSCODE_GOOD) + break; + } + + UA_Array_delete(hierarchy, hierarchySize, &UA_TYPES[UA_TYPES_NODEID]); + return retval; +} + +/************/ +/* Add Node */ +/************/ + +static const UA_NodeId hasSubtype = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASSUBTYPE}}; + +UA_StatusCode +addNode_addRefs(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId, + const UA_NodeId *parentNodeId, const UA_NodeId *referenceTypeId, + const UA_NodeId *typeDefinitionId) { + /* Get the node */ + const UA_Node *type = NULL; + const UA_Node *node = UA_NODESTORE_GET(server, nodeId); + if(!node) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + + /* Use the typeDefinition as parent for type-nodes */ + const UA_NodeHead *head = &node->head; + if(head->nodeClass == UA_NODECLASS_VARIABLETYPE || + head->nodeClass == UA_NODECLASS_OBJECTTYPE || + head->nodeClass == UA_NODECLASS_REFERENCETYPE || + head->nodeClass == UA_NODECLASS_DATATYPE) { + if(UA_NodeId_equal(referenceTypeId, &UA_NODEID_NULL)) + referenceTypeId = &hasSubtype; + const UA_Node *parentNode = UA_NODESTORE_GET(server, parentNodeId); + if(parentNode) { + if(parentNode->head.nodeClass == head->nodeClass) + typeDefinitionId = parentNodeId; + UA_NODESTORE_RELEASE(server, parentNode); + } + } + + UA_StatusCode retval; + /* Make sure newly created node does not have itself as parent */ + if(UA_NodeId_equal(nodeId, parentNodeId)) { + logAddNode(server->config.logging, session, nodeId, + "A node cannot have itself as parent"); + retval = UA_STATUSCODE_BADINVALIDARGUMENT; + goto cleanup; + } + + + /* Check parent reference. Objects may have no parent. */ + retval = checkParentReference(server, session, head, parentNodeId, referenceTypeId); + if(retval != UA_STATUSCODE_GOOD) { + logAddNode(server->config.logging, session, nodeId, + "The parent reference for is invalid"); + goto cleanup; + } + + /* Replace empty typeDefinition with the most permissive default */ + if((head->nodeClass == UA_NODECLASS_VARIABLE || + head->nodeClass == UA_NODECLASS_OBJECT) && + UA_NodeId_isNull(typeDefinitionId)) { + logAddNode(server->config.logging, session, nodeId, + "No TypeDefinition. Use the default " + "TypeDefinition for the Variable/Object"); + if(head->nodeClass == UA_NODECLASS_VARIABLE) + typeDefinitionId = &baseDataVariableType; + else + typeDefinitionId = &baseObjectType; + } + + /* Get the node type. There must be a typedefinition for variables, objects + * and type-nodes. See the above checks. */ + if(!UA_NodeId_isNull(typeDefinitionId)) { + /* Get the type node */ + type = UA_NODESTORE_GET(server, typeDefinitionId); + if(!type) { + logAddNode(server->config.logging, session, nodeId, "Node type not found"); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + goto cleanup; + } + + UA_Boolean typeOk = false; + const UA_NodeHead *typeHead = &type->head; + switch(head->nodeClass) { + case UA_NODECLASS_DATATYPE: + typeOk = typeHead->nodeClass == UA_NODECLASS_DATATYPE; + break; + case UA_NODECLASS_METHOD: + typeOk = typeHead->nodeClass == UA_NODECLASS_METHOD; + break; + case UA_NODECLASS_OBJECT: + case UA_NODECLASS_OBJECTTYPE: + typeOk = typeHead->nodeClass == UA_NODECLASS_OBJECTTYPE; + break; + case UA_NODECLASS_REFERENCETYPE: + typeOk = typeHead->nodeClass == UA_NODECLASS_REFERENCETYPE; + break; + case UA_NODECLASS_VARIABLE: + case UA_NODECLASS_VARIABLETYPE: + typeOk = typeHead->nodeClass == UA_NODECLASS_VARIABLETYPE; + break; + case UA_NODECLASS_VIEW: + typeOk = typeHead->nodeClass == UA_NODECLASS_VIEW; + break; + default: + typeOk = false; + } + if(!typeOk) { + logAddNode(server->config.logging, session, nodeId, + "Type does not match the NodeClass"); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + goto cleanup; + } + + /* See if the type has the correct node class. For type-nodes, we know + * that type has the same nodeClass from checkParentReference. */ + if(head->nodeClass == UA_NODECLASS_VARIABLE && + type->variableTypeNode.isAbstract) { + /* Get subtypes of the parent reference types */ + UA_ReferenceTypeSet refTypes1, refTypes2; + retval |= referenceTypeIndices(server, &parentReferences[0], &refTypes1, true); + retval |= referenceTypeIndices(server, &parentReferences[1], &refTypes2, true); + UA_ReferenceTypeSet refTypes = UA_ReferenceTypeSet_union(refTypes1, refTypes2); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Abstract variable is allowed if parent is a children of a + * base data variable. An abstract variable may be part of an + * object type which again is below BaseObjectType */ + const UA_NodeId variableTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE); + const UA_NodeId objectTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE); + if(!isNodeInTree(server, parentNodeId, &variableTypes, &refTypes) && + !isNodeInTree(server, parentNodeId, &objectTypes, &refTypes)) { + logAddNode(server->config.logging, session, nodeId, + "Type of variable node must be a " + "VariableType and not cannot be abstract"); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + goto cleanup; + } + } + + if(head->nodeClass == UA_NODECLASS_OBJECT && + type->objectTypeNode.isAbstract) { + /* Get subtypes of the parent reference types */ + UA_ReferenceTypeSet refTypes1, refTypes2; + retval |= referenceTypeIndices(server, &parentReferences[0], &refTypes1, true); + retval |= referenceTypeIndices(server, &parentReferences[1], &refTypes2, true); + UA_ReferenceTypeSet refTypes = UA_ReferenceTypeSet_union(refTypes1, refTypes2); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + + /* Object node created of an abstract ObjectType. Only allowed if + * within BaseObjectType folder or if it's an event (subType of + * BaseEventType) */ + const UA_NodeId objectTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE); + UA_Boolean isInBaseObjectType = + isNodeInTree(server, parentNodeId, &objectTypes, &refTypes); + + const UA_NodeId eventTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); + UA_Boolean isInBaseEventType = + isNodeInTree_singleRef(server, &type->head.nodeId, &eventTypes, + UA_REFERENCETYPEINDEX_HASSUBTYPE); + + if(!isInBaseObjectType && + !(isInBaseEventType && UA_NodeId_isNull(parentNodeId))) { + logAddNode(server->config.logging, session, nodeId, + "Type of ObjectNode must be ObjectType and not be abstract"); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + goto cleanup; + } + } + } + + /* Add reference to the parent */ + if(!UA_NodeId_isNull(parentNodeId)) { + if(UA_NodeId_isNull(referenceTypeId)) { + logAddNode(server->config.logging, session, nodeId, + "Reference to parent cannot be null"); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + goto cleanup; + } + + retval = addRefWithSession(server, session, &head->nodeId, referenceTypeId, + parentNodeId, false); + if(retval != UA_STATUSCODE_GOOD) { + logAddNode(server->config.logging, session, nodeId, + "Adding reference to parent failed"); + goto cleanup; + } + } + + /* Add a hasTypeDefinition reference */ + if(head->nodeClass == UA_NODECLASS_VARIABLE || + head->nodeClass == UA_NODECLASS_OBJECT) { + UA_assert(type != NULL); /* see above */ + retval = addRefWithSession(server, session, &head->nodeId, &hasTypeDefinition, + &type->head.nodeId, true); + if(retval != UA_STATUSCODE_GOOD) { + logAddNode(server->config.logging, session, nodeId, + "Adding a reference to the type definition failed"); + } + } + + cleanup: + UA_NODESTORE_RELEASE(server, node); + if(type) + UA_NODESTORE_RELEASE(server, type); + return retval; +} + +/* Create the node and add it to the nodestore. But don't typecheck and add + * references so far */ +UA_StatusCode +addNode_raw(UA_Server *server, UA_Session *session, void *nodeContext, + const UA_AddNodesItem *item, UA_NodeId *outNewNodeId) { + /* Do not check access for server */ + if(session != &server->adminSession && server->config.accessControl.allowAddNode) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(!server->config.accessControl. + allowAddNode(server, &server->config.accessControl, + &session->sessionId, session->sessionHandle, item)) { + return UA_STATUSCODE_BADUSERACCESSDENIED; + } + } + + /* Check the namespaceindex */ + if(item->requestedNewNodeId.nodeId.namespaceIndex >= server->namespacesSize) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode: Namespace invalid"); + return UA_STATUSCODE_BADNODEIDINVALID; + } + + if(item->nodeAttributes.encoding != UA_EXTENSIONOBJECT_DECODED && + item->nodeAttributes.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode: Node attributes invalid"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Create a node */ + UA_Node *node = UA_NODESTORE_NEW(server, item->nodeClass); + if(!node) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode: Node could not create a node " + "in the nodestore"); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_NodeId tmpOutId = UA_NODEID_NULL; + /* Fill the node attributes */ + node->head.context = nodeContext; + UA_StatusCode retval = + UA_NodeId_copy(&item->requestedNewNodeId.nodeId, &node->head.nodeId); + if(retval != UA_STATUSCODE_GOOD) + goto create_error; + + retval = UA_QualifiedName_copy(&item->browseName, &node->head.browseName); + if(retval != UA_STATUSCODE_GOOD) + goto create_error; + + retval = UA_Node_setAttributes(node, item->nodeAttributes.content.decoded.data, + item->nodeAttributes.content.decoded.type); + if(retval != UA_STATUSCODE_GOOD) + goto create_error; + + /* Create a current source timestamp for values that don't have any */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE && + !node->variableNode.value.data.value.hasSourceTimestamp) { + node->variableNode.value.data.value.hasSourceTimestamp = true; + node->variableNode.value.data.value.sourceTimestamp = UA_DateTime_now(); + } + + /* Add the node to the nodestore */ + if(!outNewNodeId) + outNewNodeId = &tmpOutId; + retval = UA_NODESTORE_INSERT(server, node, outNewNodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode: Node could not add the new node " + "to the nodestore with error code %s", + UA_StatusCode_name(retval)); + return retval; + } + + if(outNewNodeId == &tmpOutId) + UA_NodeId_clear(&tmpOutId); + + return UA_STATUSCODE_GOOD; + +create_error: + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode: Node could not create a node " + "with error code %s", UA_StatusCode_name(retval)); + UA_NODESTORE_DELETE(server, node); + return retval; +} + +static UA_StatusCode +findDefaultInstanceBrowseNameNode(UA_Server *server, UA_NodeId startingNode, + UA_NodeId *foundId) { + UA_NodeId_init(foundId); + UA_RelativePathElement rpe; + UA_RelativePathElement_init(&rpe); + rpe.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); + rpe.targetName = UA_QUALIFIEDNAME(0, "DefaultInstanceBrowseName"); + UA_BrowsePath bp; + UA_BrowsePath_init(&bp); + bp.startingNode = startingNode; + bp.relativePath.elementsSize = 1; + bp.relativePath.elements = &rpe; + UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); + UA_StatusCode retval = bpr.statusCode; + if(retval == UA_STATUSCODE_GOOD && bpr.targetsSize > 0) + retval = UA_NodeId_copy(&bpr.targets[0].targetId.nodeId, foundId); + UA_BrowsePathResult_clear(&bpr); + return retval; +} + +/* Check if we got a valid browse name for the new node. For object nodes the + * BrowseName may only be null if the parent type has a + * 'DefaultInstanceBrowseName' property. */ +static UA_StatusCode +checkSetBrowseName(UA_Server *server, UA_Session *session, UA_AddNodesItem *item) { + /* If the object node already has a browse name we are done here. */ + if(!UA_QualifiedName_isNull(&item->browseName)) + return UA_STATUSCODE_GOOD; + + /* Nodes other than Objects must have a BrowseName */ + if(item->nodeClass != UA_NODECLASS_OBJECT) + return UA_STATUSCODE_BADBROWSENAMEINVALID; + + /* At this point we have an object with an empty browse name. Check the type + * node if it has a DefaultInstanceBrowseName property. */ + UA_NodeId defaultBrowseNameNode; + UA_StatusCode retval = + findDefaultInstanceBrowseNameNode(server, item->typeDefinition.nodeId, + &defaultBrowseNameNode); + if(retval != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADBROWSENAMEINVALID; + + UA_Variant defaultBrowseName; + retval = readWithReadValue(server, &defaultBrowseNameNode, + UA_ATTRIBUTEID_VALUE, &defaultBrowseName); + UA_NodeId_clear(&defaultBrowseNameNode); + if(retval != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADBROWSENAMEINVALID; + + if(UA_Variant_hasScalarType(&defaultBrowseName, &UA_TYPES[UA_TYPES_QUALIFIEDNAME])) { + item->browseName = *(UA_QualifiedName*)defaultBrowseName.data; + UA_QualifiedName_init((UA_QualifiedName*)defaultBrowseName.data); + } else { + retval = UA_STATUSCODE_BADBROWSENAMEINVALID; + } + + UA_Variant_clear(&defaultBrowseName); + return retval; +} + +/* Prepare the node, then add it to the nodestore */ +static UA_StatusCode +Operation_addNode_begin(UA_Server *server, UA_Session *session, void *nodeContext, + const UA_AddNodesItem *item, const UA_NodeId *parentNodeId, + const UA_NodeId *referenceTypeId, UA_NodeId *outNewNodeId) { + /* Create a temporary NodeId if none is returned */ + UA_NodeId newId; + if(!outNewNodeId) { + UA_NodeId_init(&newId); + outNewNodeId = &newId; + } + + /* Set the BrowsenName before adding to the Nodestore. The BrowseName is + * immutable afterwards. */ + UA_Boolean noBrowseName = UA_QualifiedName_isNull(&item->browseName); + UA_StatusCode retval = + checkSetBrowseName(server, session, (UA_AddNodesItem*)(uintptr_t)item); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Create the node and add it to the nodestore */ + retval = addNode_raw(server, session, nodeContext, item, outNewNodeId); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Typecheck and add references to parent and type definition */ + retval = addNode_addRefs(server, session, outNewNodeId, parentNodeId, + referenceTypeId, &item->typeDefinition.nodeId); + if(retval != UA_STATUSCODE_GOOD) + deleteNode(server, *outNewNodeId, true); + + if(outNewNodeId == &newId) + UA_NodeId_clear(&newId); + + cleanup: + if(noBrowseName) + UA_QualifiedName_clear((UA_QualifiedName*)(uintptr_t)&item->browseName); + return retval; +} + +/* Construct children first */ +static UA_StatusCode +recursiveCallConstructors(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId, const UA_Node *type) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Browse the children */ + UA_BrowseDescription bd; + UA_BrowseDescription_init(&bd); + bd.nodeId = *nodeId; + bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); + bd.includeSubtypes = true; + bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; + + UA_BrowseResult br; + UA_BrowseResult_init(&br); + UA_UInt32 maxrefs = 0; + Operation_Browse(server, session, &maxrefs, &bd, &br); + if(br.statusCode != UA_STATUSCODE_GOOD) + return br.statusCode; + + /* Call the constructor for every unconstructed child node */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < br.referencesSize; ++i) { + UA_ReferenceDescription *rd = &br.references[i]; + if(!UA_ExpandedNodeId_isLocal(&rd->nodeId)) + continue; + const UA_Node *target = UA_NODESTORE_GET(server, &rd->nodeId.nodeId); + if(!target) + continue; + if(target->head.constructed) { + UA_NODESTORE_RELEASE(server, target); + continue; + } + + const UA_Node *targetType = NULL; + if(target->head.nodeClass == UA_NODECLASS_VARIABLE || + target->head.nodeClass == UA_NODECLASS_OBJECT) { + targetType = getNodeType(server, &target->head); + if(!targetType) { + UA_NODESTORE_RELEASE(server, target); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + break; + } + } + + UA_NODESTORE_RELEASE(server, target); + retval = recursiveCallConstructors(server, session, &rd->nodeId.nodeId, targetType); + + if(targetType) + UA_NODESTORE_RELEASE(server, targetType); + if(retval != UA_STATUSCODE_GOOD) + break; + } + + UA_BrowseResult_clear(&br); + + /* If a child could not be constructed or the node is already constructed */ + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Get the node context */ + const UA_Node *node = UA_NODESTORE_GET(server, nodeId); + if(!node) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + void *context = node->head.context; + UA_NODESTORE_RELEASE(server, node); + + /* Call the global constructor */ + if(server->config.nodeLifecycle.constructor) { + retval = server->config.nodeLifecycle. + constructor(server, &session->sessionId, + session->sessionHandle, nodeId, &context); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + + /* Call the local (per-type) constructor */ + const UA_NodeTypeLifecycle *lifecycle = NULL; + if(type && node->head.nodeClass == UA_NODECLASS_OBJECT) + lifecycle = &type->objectTypeNode.lifecycle; + else if(type && node->head.nodeClass == UA_NODECLASS_VARIABLE) + lifecycle = &type->variableTypeNode.lifecycle; + if(lifecycle && lifecycle->constructor) { + retval = lifecycle->constructor(server, &session->sessionId, + session->sessionHandle, &type->head.nodeId, + type->head.context, nodeId, &context); + if(retval != UA_STATUSCODE_GOOD) + goto global_destructor; + } + + /* Set the context *and* mark the node as constructed */ + retval = UA_Server_editNode(server, &server->adminSession, nodeId, + (UA_EditNodeCallback)setConstructedNodeContext, context); + if(retval != UA_STATUSCODE_GOOD) + goto local_destructor; + + /* All good, return */ + return retval; + + /* Fail. Call the destructors. */ + local_destructor: + if(lifecycle && lifecycle->destructor) { + lifecycle->destructor(server, &session->sessionId, session->sessionHandle, + &type->head.nodeId, type->head.context, nodeId, &context); + } + + global_destructor: + if(server->config.nodeLifecycle.destructor) { + server->config.nodeLifecycle.destructor(server, &session->sessionId, + session->sessionHandle, + nodeId, context); + } + return retval; +} + +/* Add new ReferenceType to the subtypes bitfield */ +static UA_StatusCode +addReferenceTypeSubtype(UA_Server *server, UA_Session *session, + UA_Node *node, void *context) { + node->referenceTypeNode.subTypes = + UA_ReferenceTypeSet_union(node->referenceTypeNode.subTypes, + *(UA_ReferenceTypeSet*)context); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setReferenceTypeSubtypes(UA_Server *server, const UA_ReferenceTypeNode *node) { + /* Get the ReferenceTypes upwards in the hierarchy */ + size_t parentsSize = 0; + UA_ExpandedNodeId *parents = NULL; + UA_ReferenceTypeSet reftypes_subtype = UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); + UA_StatusCode res = + browseRecursive(server, 1, &node->head.nodeId, UA_BROWSEDIRECTION_INVERSE, + &reftypes_subtype, UA_NODECLASS_UNSPECIFIED, + false, &parentsSize, &parents); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Add the ReferenceTypeIndex of this node */ + const UA_ReferenceTypeSet *newRefSet = &node->subTypes; + for(size_t i = 0; i < parentsSize; i++) { + UA_Server_editNode(server, &server->adminSession, &parents[i].nodeId, + addReferenceTypeSubtype, (void*)(uintptr_t)newRefSet); + } + + UA_Array_delete(parents, parentsSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setVariableNodeDynamic(UA_Server *server, UA_Session *session, + UA_Node *node, const void *ctx) { + if(node->head.nodeClass != UA_NODECLASS_VARIABLE) + return UA_STATUSCODE_BADINTERNALERROR; + ((UA_VariableNode*)node)->isDynamic = *(const UA_Boolean*)ctx; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +checkSetIsDynamicVariable(UA_Server *server, UA_Session *session, + const UA_NodeId *nodeId) { + /* Get all hierarchical reference types */ + UA_ReferenceTypeSet reftypes_hierarchical; + UA_ReferenceTypeSet_init(&reftypes_hierarchical); + UA_NodeId hierarchicalRefs = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); + UA_StatusCode res = + referenceTypeIndices(server, &hierarchicalRefs, &reftypes_hierarchical, true); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Is the variable under the server object? */ + UA_NodeId serverNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER); + if(isNodeInTree(server, nodeId, &serverNodeId, &reftypes_hierarchical)) + return UA_STATUSCODE_GOOD; + + /* Is the variable in the type hierarchy? */ + UA_NodeId typesNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_TYPESFOLDER); + if(isNodeInTree(server, nodeId, &typesNodeId, &reftypes_hierarchical)) + return UA_STATUSCODE_GOOD; + + /* Is the variable a property of a method node (InputArguments / + * OutputArguments)? */ + UA_BrowseDescription bd; + UA_BrowseDescription_init(&bd); + bd.nodeId = *nodeId; + bd.browseDirection = UA_BROWSEDIRECTION_INVERSE; + bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); + bd.includeSubtypes = false; + bd.nodeClassMask = UA_NODECLASS_METHOD; + UA_BrowseResult br; + UA_BrowseResult_init(&br); + UA_UInt32 maxrefs = 0; + Operation_Browse(server, session, &maxrefs, &bd, &br); + UA_Boolean hasParentMethod = (br.referencesSize > 0); + UA_BrowseResult_clear(&br); + if(hasParentMethod) + return UA_STATUSCODE_GOOD; + + /* Set the variable to "dynamic" */ + UA_Boolean isDynamic = true; + UA_Server_editNode(server, session, nodeId, + (UA_EditNodeCallback)setVariableNodeDynamic, &isDynamic); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_setVariableNodeDynamic(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean isDynamic) { + lockServer(server); + UA_StatusCode res = + UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback)setVariableNodeDynamic, &isDynamic); + unlockServer(server); + return res; +} + +/* Children, references, type-checking, constructors. */ +UA_StatusCode +addNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId) { + /* Get the node */ + const UA_Node *type = NULL; + const UA_Node *node = UA_NODESTORE_GET(server, nodeId); + if(!node) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + + /* Set the ReferenceTypesSet of subtypes in the ReferenceTypeNode */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(node->head.nodeClass == UA_NODECLASS_REFERENCETYPE) { + retval = setReferenceTypeSubtypes(server, &node->referenceTypeNode); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + } + + /* Check NodeClass for 'hasSubtype'. UA_NODECLASS_VARIABLE not allowed + * to have subtype */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { + for(size_t i = 0; i < node->head.referencesSize; i++) { + if(node->head.references[i].referenceTypeIndex == + UA_REFERENCETYPEINDEX_HASSUBTYPE) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Variable not allowed " + "to have HasSubType reference", + (int)nodeIdStr.length, nodeIdStr.data)); + retval = UA_STATUSCODE_BADREFERENCENOTALLOWED; + goto cleanup; + } + } + } + + /* Set variables to dynamic (source and server timestamps are meaningful) if + * they fulfill some conditions. (Do this before replacing the default value + * in a VariableNode. So that the sourceTimestamp is set in the Write service.) */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { + retval = checkSetIsDynamicVariable(server, session, nodeId); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + } + + /* Get the type node */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE || + node->head.nodeClass == UA_NODECLASS_VARIABLETYPE || + node->head.nodeClass == UA_NODECLASS_OBJECT) { + type = getNodeType(server, &node->head); + if(!type) { + if(server->bootstrapNS0) + goto constructor; + logAddNode(server->config.logging, session, &node->head.nodeId, + "Node type not found"); + retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + goto cleanup; + } + } + + /* Initialize and typecheck the variable */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE || + node->head.nodeClass == UA_NODECLASS_VARIABLETYPE) { + /* Use attributes from the type. The value and value constraints are the + * same for the variable and variabletype attribute structs. */ + retval = useVariableTypeAttributes(server, session, + &node->variableNode, + &type->variableTypeNode); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Using attributes for from " + "the variable type failed with error code %s", + (int)nodeIdStr.length, nodeIdStr.data, + UA_StatusCode_name(retval))); + goto cleanup; + } + + /* Get a new pointer to the node. It might have been switched out */ +#ifdef UA_ENABLE_IMMUTABLE_NODES + UA_NODESTORE_RELEASE(server, node); + node = UA_NODESTORE_GET(server, nodeId); + if(!node || (node->head.nodeClass != UA_NODECLASS_VARIABLE && + node->head.nodeClass != UA_NODECLASS_VARIABLETYPE)) { + retval = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } +#endif + + /* Check if all attributes hold the constraints of the type now. The initial + * attributes must type-check. The constructor might change the attributes + * again. Then, the changes are type-checked by the normal write service. */ + retval = typeCheckVariableNode(server, session, &node->variableNode, + &type->variableTypeNode); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Type-checking " + "failed with error code %s", (int)nodeIdStr.length, + nodeIdStr.data, UA_StatusCode_name(retval))); + goto cleanup; + } + } + + /* Add (mandatory) child nodes from the type definition */ + if(node->head.nodeClass == UA_NODECLASS_VARIABLE || + node->head.nodeClass == UA_NODECLASS_OBJECT) { + retval = addTypeChildren(server, session, nodeId, &type->head.nodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Adding child nodes " + "failed with error code %s", (int)nodeIdStr.length, + nodeIdStr.data, UA_StatusCode_name(retval))); + goto cleanup; + } + } + + /* Add (mandatory) child nodes from the HasInterface references */ + if(node->head.nodeClass == UA_NODECLASS_OBJECT) { + retval = addInterfaceChildren(server, session, nodeId, &type->head.nodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Adding child nodes " + "interface failed with error code %s", + (int)nodeIdStr.length, nodeIdStr.data, + UA_StatusCode_name(retval))); + goto cleanup; + } + } + + /* Call the constructor(s) */ + constructor: + if(!node->head.constructed) + retval = recursiveCallConstructors(server, session, nodeId, type); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, + "AddNode (%.*s): Calling the node constructor(s) " + "failed with status code %s", (int)nodeIdStr.length, + nodeIdStr.data, UA_StatusCode_name(retval))); + } + + cleanup: + UA_NODESTORE_RELEASE(server, node); + if(type) + UA_NODESTORE_RELEASE(server, type); + if(retval != UA_STATUSCODE_GOOD) + deleteNode(server, *nodeId, true); + return retval; +} + +static void +Operation_addNode(UA_Server *server, UA_Session *session, void *nodeContext, + const UA_AddNodesItem *item, UA_AddNodesResult *result) { + result->statusCode = + Operation_addNode_begin(server, session, nodeContext, + item, &item->parentNodeId.nodeId, + &item->referenceTypeId, &result->addedNodeId); + if(result->statusCode != UA_STATUSCODE_GOOD) + return; + + /* AddNodes_finish */ + result->statusCode = addNode_finish(server, session, &result->addedNodeId); + + /* If finishing failed, the node was deleted */ + if(result->statusCode != UA_STATUSCODE_GOOD) + UA_NodeId_clear(&result->addedNodeId); +} + +void +Service_AddNodes(UA_Server *server, UA_Session *session, + const UA_AddNodesRequest *request, + UA_AddNodesResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing AddNodesRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxNodesPerNodeManagement != 0 && + request->nodesToAddSize > server->config.maxNodesPerNodeManagement) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_addNode, NULL, + &request->nodesToAddSize, + &UA_TYPES[UA_TYPES_ADDNODESITEM], + &response->resultsSize, + &UA_TYPES[UA_TYPES_ADDNODESRESULT]); +} + +UA_StatusCode +addNode(UA_Server *server, const UA_NodeClass nodeClass, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, const UA_NodeId typeDefinition, + const void *attr, const UA_DataType *attributeType, + void *nodeContext, UA_NodeId *outNewNodeId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Create the AddNodesItem */ + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.nodeClass = nodeClass; + item.requestedNewNodeId.nodeId = requestedNewNodeId; + item.browseName = browseName; + item.parentNodeId.nodeId = parentNodeId; + item.referenceTypeId = referenceTypeId; + item.typeDefinition.nodeId = typeDefinition; + UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, + (void*)(uintptr_t)attr, attributeType); + + /* Call the normal addnodes service */ + UA_AddNodesResult result; + UA_AddNodesResult_init(&result); + Operation_addNode(server, &server->adminSession, nodeContext, &item, &result); + if(outNewNodeId) + *outNewNodeId = result.addedNodeId; + else + UA_NodeId_clear(&result.addedNodeId); + return result.statusCode; +} + +UA_StatusCode +__UA_Server_addNode(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId *requestedNewNodeId, + const UA_NodeId *parentNodeId, + const UA_NodeId *referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId *typeDefinition, + const UA_NodeAttributes *attr, + const UA_DataType *attributeType, + void *nodeContext, UA_NodeId *outNewNodeId) { + lockServer(server); + UA_StatusCode reval = + addNode(server, nodeClass, *requestedNewNodeId, *parentNodeId, + *referenceTypeId, browseName, *typeDefinition, attr, + attributeType, nodeContext, outNewNodeId); + unlockServer(server); + return reval; +} + +UA_StatusCode +addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const void *attr, + const UA_DataType *attributeType, void *nodeContext, + UA_NodeId *outNewNodeId) { + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.nodeClass = nodeClass; + item.requestedNewNodeId.nodeId = requestedNewNodeId; + item.browseName = browseName; + item.typeDefinition.nodeId = typeDefinition; + UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, + (void*)(uintptr_t)attr, attributeType); + return Operation_addNode_begin(server, &server->adminSession, nodeContext, &item, + &parentNodeId, &referenceTypeId, outNewNodeId); +} + +UA_StatusCode +UA_Server_addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const void *attr, + const UA_DataType *attributeType, void *nodeContext, + UA_NodeId *outNewNodeId) { + lockServer(server); + UA_StatusCode res = + addNode_begin(server, nodeClass, requestedNewNodeId, parentNodeId, + referenceTypeId, browseName, typeDefinition, attr, + attributeType, nodeContext, outNewNodeId); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_addNode_finish(UA_Server *server, const UA_NodeId nodeId) { + lockServer(server); + UA_StatusCode retval = addNode_finish(server, &server->adminSession, &nodeId); + unlockServer(server); + return retval; +} + +/****************/ +/* Delete Nodes */ +/****************/ + +static void +Operation_deleteReference(UA_Server *server, UA_Session *session, void *context, + const UA_DeleteReferencesItem *item, UA_StatusCode *retval); + +struct RemoveIncomingContext { + UA_Server *server; + UA_Session *session; + UA_DeleteReferencesItem *item; +}; + +static void * +removeIncomingReferencesCallback(void *context, UA_ReferenceTarget *t) { + struct RemoveIncomingContext *ctx = (struct RemoveIncomingContext *)context; + if(!UA_NodePointer_isLocal(t->targetId)) + return NULL; + UA_StatusCode dummy; + ctx->item->sourceNodeId = UA_NodePointer_toNodeId(t->targetId); + Operation_deleteReference(ctx->server, ctx->session, NULL, ctx->item, &dummy); + return NULL; +} + +/* Remove references to this node (in the other nodes) */ +static void +removeIncomingReferences(UA_Server *server, UA_Session *session, + const UA_NodeHead *head) { + UA_DeleteReferencesItem item; + UA_DeleteReferencesItem_init(&item); + item.targetNodeId.nodeId = head->nodeId; + item.deleteBidirectional = false; + + struct RemoveIncomingContext ctx; + ctx.server = server; + ctx.session = session; + ctx.item = &item; + + for(size_t i = 0; i < head->referencesSize; ++i) { + UA_NodeReferenceKind *rk = &head->references[i]; + item.isForward = rk->isInverse; + item.referenceTypeId = + *UA_NODESTORE_GETREFERENCETYPEID(server, rk->referenceTypeIndex); + UA_NodeReferenceKind_iterate(rk, removeIncomingReferencesCallback, &ctx); + } +} + +static void * +checkTargetInRefTree(void *context, UA_ReferenceTarget *t) { + RefTree *refTree = (RefTree*)context; + if(!UA_NodePointer_isLocal(t->targetId)) + return NULL; + UA_NodeId tmpId = UA_NodePointer_toNodeId(t->targetId); + if(!RefTree_containsNodeId(refTree, &tmpId)) + return (void*)0x1; + return NULL; +} + +/* A node is auto-deleted if all its hierarchical parents are being deleted */ +static UA_Boolean +hasParentRef(const UA_NodeHead *head, const UA_ReferenceTypeSet *refSet, + RefTree *refTree) { + for(size_t i = 0; i < head->referencesSize; i++) { + UA_NodeReferenceKind *rk = &head->references[i]; + if(!rk->isInverse) + continue; + if(!UA_ReferenceTypeSet_contains(refSet, rk->referenceTypeIndex)) + continue; + if(UA_NodeReferenceKind_iterate(rk, checkTargetInRefTree, refTree) != NULL) + return true; + } + return false; +} + +static void +deconstructNodeSet(UA_Server *server, UA_Session *session, + UA_ReferenceTypeSet *hierarchRefsSet, RefTree *refTree) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Deconstruct the nodes based on the RefTree entries, parent nodes first */ + for(size_t i = 0; i < refTree->size; i++) { + const UA_Node *member = UA_NODESTORE_GET(server, &refTree->targets[i].nodeId); + if(!member) + continue; + + /* Call the type-level destructor */ + void *context = member->head.context; /* No longer needed after this function */ + if(member->head.nodeClass == UA_NODECLASS_OBJECT || + member->head.nodeClass == UA_NODECLASS_VARIABLE) { + const UA_Node *type = getNodeType(server, &member->head); + if(type) { + /* Get the lifecycle */ + const UA_NodeTypeLifecycle *lifecycle; + if(member->head.nodeClass == UA_NODECLASS_OBJECT) + lifecycle = &type->objectTypeNode.lifecycle; + else + lifecycle = &type->variableTypeNode.lifecycle; + + /* Call the destructor */ + if(lifecycle->destructor) { + lifecycle->destructor(server, + &session->sessionId, session->sessionHandle, + &type->head.nodeId, type->head.context, + &member->head.nodeId, &context); + } + + /* Release the type node */ + UA_NODESTORE_RELEASE(server, type); + } + } + + /* Call the global destructor */ + if(server->config.nodeLifecycle.destructor) { + server->config.nodeLifecycle.destructor(server, &session->sessionId, + session->sessionHandle, + &member->head.nodeId, context); + } + + /* Release the node. Don't access the node context from here on. */ + UA_NODESTORE_RELEASE(server, member); + + /* Set the constructed flag to false */ + UA_Server_editNode(server, &server->adminSession, &refTree->targets[i].nodeId, + (UA_EditNodeCallback)setDeconstructedNode, NULL); + } +} + +struct DeleteChildrenContext { + UA_Server *server; + const UA_ReferenceTypeSet *hierarchRefsSet; + RefTree *refTree; + UA_StatusCode res; +}; + +static void * +deleteChildrenCallback(void *context, UA_ReferenceTarget *t) { + struct DeleteChildrenContext *ctx = (struct DeleteChildrenContext*)context; + + /* Get the child */ + const UA_Node *child = UA_NODESTORE_GETFROMREF(ctx->server, t->targetId); + if(!child) + return NULL; + + /* Only delete child nodes that have no other parent */ + if(!hasParentRef(&child->head, ctx->hierarchRefsSet, ctx->refTree)) + ctx->res = RefTree_addNodeId(ctx->refTree, &child->head.nodeId, NULL); + + UA_NODESTORE_RELEASE(ctx->server, child); + return (ctx->res == UA_STATUSCODE_GOOD) ? NULL : (void*)0x01; +} + +/* The processNodeLayer function searches all children's of the head node and + * adds the children node to the RefTree if all incoming references sources are + * contained in the RefTree (No external references to this node --> node can be + * deleted) */ +static UA_StatusCode +autoDeleteChildren(UA_Server *server, UA_Session *session, RefTree *refTree, + const UA_ReferenceTypeSet *hierarchRefsSet, const UA_NodeHead *head){ + struct DeleteChildrenContext ctx; + ctx.server = server; + ctx.hierarchRefsSet = hierarchRefsSet; + ctx.refTree = refTree; + ctx.res = UA_STATUSCODE_GOOD; + + for(size_t i = 0; i < head->referencesSize; ++i) { + /* Check if the ReferenceType is hierarchical */ + UA_NodeReferenceKind *rk = &head->references[i]; + if(!UA_ReferenceTypeSet_contains(hierarchRefsSet, rk->referenceTypeIndex)) + continue; + + /* Check if the references are forward (to a child) */ + if(rk->isInverse) + continue; + + /* Loop over the references */ + UA_NodeReferenceKind_iterate(rk, deleteChildrenCallback, &ctx); + if(ctx.res != UA_STATUSCODE_GOOD) + return ctx.res; + } + return UA_STATUSCODE_GOOD; +} + +/* Build up an ordered set (tree) of all nodes that can be deleted. Step through + * the ordered set in order to avoid recursion. */ +static UA_StatusCode +buildDeleteNodeSet(UA_Server *server, UA_Session *session, + const UA_ReferenceTypeSet *hierarchRefsSet, + const UA_NodeId *initial, UA_Boolean removeTargetRefs, + RefTree *refTree) { + /* Add the initial node to delete */ + UA_StatusCode res = RefTree_addNodeId(refTree, initial, NULL); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Find out which hierarchical children should also be deleted. We know + * there are no "external" ExpandedNodeId in the RefTree. */ + size_t pos = 0; + while(pos < refTree->size) { + const UA_Node *member = UA_NODESTORE_GET(server, &refTree->targets[pos].nodeId); + pos++; + if(!member) + continue; + res |= autoDeleteChildren(server, session, refTree, hierarchRefsSet, &member->head); + UA_NODESTORE_RELEASE(server, member); + } + return res; +} + +static void +deleteNodeSet(UA_Server *server, UA_Session *session, + const UA_ReferenceTypeSet *hierarchRefsSet, + UA_Boolean removeTargetRefs, RefTree *refTree) { + /* Delete the nodes based on the RefTree entries */ + for(size_t i = refTree->size; i > 0; --i) { + const UA_Node *member = UA_NODESTORE_GET(server, &refTree->targets[i-1].nodeId); + if(!member) + continue; + UA_NODESTORE_RELEASE(server, member); + if(removeTargetRefs) + removeIncomingReferences(server, session, &member->head); + UA_NODESTORE_REMOVE(server, &member->head.nodeId); + } +} + +static void +deleteNodeOperation(UA_Server *server, UA_Session *session, void *context, + const UA_DeleteNodesItem *item, UA_StatusCode *result) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Do not check access for server */ + if(session != &server->adminSession && server->config.accessControl.allowDeleteNode) { + if(!server->config.accessControl. + allowDeleteNode(server, &server->config.accessControl, + &session->sessionId, session->sessionHandle, item)) { + *result = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + } + + const UA_Node *node = UA_NODESTORE_GET(server, &item->nodeId); + if(!node) { + *result = UA_STATUSCODE_BADNODEIDUNKNOWN; + return; + } + + if(UA_Node_hasSubTypeOrInstances(&node->head)) { + UA_LOG_NODEID_INFO(&node->head.nodeId, + UA_LOG_INFO_SESSION(server->config.logging, session, "DeleteNode (%.*s): " + "Cannot delete a type node with active instances or " + "subtypes", (int)nodeIdStr.length, nodeIdStr.data)); + UA_NODESTORE_RELEASE(server, node); + *result = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* TODO: Check if the information model consistency is violated */ + /* TODO: Check if the node is a mandatory child of a parent */ + + /* Relase the node. Don't access the pointer after this! */ + UA_NODESTORE_RELEASE(server, node); + + /* A node can be referenced with hierarchical references from several + * parents in the information model. (But not in a circular way.) The + * hierarchical references are checked to see if a node can be deleted. + * Getting the type hierarchy can fail in case of low RAM. In that case the + * nodes are always deleted. */ + UA_ReferenceTypeSet hierarchRefsSet; + UA_NodeId hr = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); + *result = referenceTypeIndices(server, &hr, &hierarchRefsSet, true); + if(*result != UA_STATUSCODE_GOOD) + return; + + /* The list of childs is needed for the deconstructing and deleting phase. + * Within the processNodeLayer we generate a RefTree based set of childs + * which can be deleted beside the parent node. */ + RefTree refTree; + *result = RefTree_init(&refTree); + if(*result != UA_STATUSCODE_GOOD) + return; + *result = buildDeleteNodeSet(server, session, &hierarchRefsSet, &item->nodeId, + item->deleteTargetReferences, &refTree); + if(*result != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SESSION(server->config.logging, session, + "DeleteNode: Incomplete lookup of nodes. " + "Still deleting what we have."); + /* Continue, so the RefTree is cleaned up. Return the error message + * anyway. */ + } + + /* Deconstruct, then delete, then clean up the set */ + deconstructNodeSet(server, session, &hierarchRefsSet, &refTree); + deleteNodeSet(server, session, &hierarchRefsSet, + item->deleteTargetReferences, &refTree); + RefTree_clear(&refTree); +} + +void +Service_DeleteNodes(UA_Server *server, UA_Session *session, + const UA_DeleteNodesRequest *request, + UA_DeleteNodesResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing DeleteNodesRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxNodesPerNodeManagement != 0 && + request->nodesToDeleteSize > server->config.maxNodesPerNodeManagement) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)deleteNodeOperation, + NULL, &request->nodesToDeleteSize, + &UA_TYPES[UA_TYPES_DELETENODESITEM], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_StatusCode +UA_Server_deleteNode(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean deleteReferences) { + lockServer(server); + UA_StatusCode retval = deleteNode(server, nodeId, deleteReferences); + unlockServer(server); + return retval; +} + +UA_StatusCode +deleteNode(UA_Server *server, const UA_NodeId nodeId, + UA_Boolean deleteReferences) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_DeleteNodesItem item; + item.deleteTargetReferences = deleteReferences; + item.nodeId = nodeId; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + deleteNodeOperation(server, &server->adminSession, NULL, &item, &retval); + return retval; +} + +/******************/ +/* Add References */ +/******************/ + +struct AddNodeInfo { + UA_Byte refTypeIndex; + UA_Boolean isForward; + const UA_ExpandedNodeId *targetNodeId; + UA_UInt32 targetBrowseNameHash; +}; + +static UA_StatusCode +addOneWayReference(UA_Server *server, UA_Session *session, UA_Node *node, + const struct AddNodeInfo *info) { + return UA_Node_addReference(node, info->refTypeIndex, info->isForward, + info->targetNodeId, info->targetBrowseNameHash); +} + +static UA_StatusCode +deleteOneWayReference(UA_Server *server, UA_Session *session, UA_Node *node, + const UA_DeleteReferencesItem *item) { + const UA_Node *refType = UA_NODESTORE_GET(server, &item->referenceTypeId); + if(!refType) + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + if(refType->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { + UA_NODESTORE_RELEASE(server, refType); + return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + } + UA_Byte refTypeIndex = refType->referenceTypeNode.referenceTypeIndex; + UA_NODESTORE_RELEASE(server, refType); + return UA_Node_deleteReference(node, refTypeIndex, item->isForward, &item->targetNodeId); +} + +static void +Operation_addReference(UA_Server *server, UA_Session *session, void *context, + const UA_AddReferencesItem *item, UA_StatusCode *retval) { + (void)context; + UA_assert(session); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Check access rights */ + if(session != &server->adminSession && server->config.accessControl.allowAddReference) { + if (!server->config.accessControl. + allowAddReference(server, &server->config.accessControl, + &session->sessionId, session->sessionHandle, item)) { + *retval = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + } + + /* TODO: Currently no expandednodeids are allowed */ + if(item->targetServerUri.length > 0) { + *retval = UA_STATUSCODE_BADNOTIMPLEMENTED; + return; + } + + /* Check the ReferenceType and get the index */ + const UA_Node *refType = UA_NODESTORE_GET(server, &item->referenceTypeId); + if(!refType) { + UA_LOG_NODEID_DEBUG(&item->referenceTypeId, + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Cannot add reference - ReferenceType %.*s unknown", + (int)nodeIdStr.length, nodeIdStr.data)); + *retval = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + return; + } + if(refType->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { + UA_LOG_NODEID_DEBUG(&item->referenceTypeId, + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Cannot add reference - ReferenceType %.*s with wrong NodeClass", + (int)nodeIdStr.length, nodeIdStr.data)); + UA_NODESTORE_RELEASE(server, refType); + *retval = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; + return; + } + UA_Byte refTypeIndex = refType->referenceTypeNode.referenceTypeIndex; + UA_NODESTORE_RELEASE(server, refType); + + /* Get the source and target node BrowseName hash */ + const UA_Node *targetNode = UA_NODESTORE_GET(server, &item->targetNodeId.nodeId); + if(!targetNode) { + UA_LOG_NODEID_DEBUG(&item->targetNodeId.nodeId, + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Cannot add reference - target %.*s does not exist", + (int)nodeIdStr.length, nodeIdStr.data)); + *retval = UA_STATUSCODE_BADTARGETNODEIDINVALID; + return; + } + UA_UInt32 targetNameHash = UA_QualifiedName_hash(&targetNode->head.browseName); + UA_NODESTORE_RELEASE(server, targetNode); + + const UA_Node *sourceNode = UA_NODESTORE_GET(server, &item->sourceNodeId); + if(!sourceNode) { + *retval = UA_STATUSCODE_BADSOURCENODEIDINVALID; + return; + } + UA_UInt32 sourceNameHash = UA_QualifiedName_hash(&sourceNode->head.browseName); + UA_NODESTORE_RELEASE(server, sourceNode); + + /* Compute the BrowseName hash and release the target */ + struct AddNodeInfo info; + info.refTypeIndex = refTypeIndex; + info.targetNodeId = &item->targetNodeId; + info.isForward = item->isForward; + info.targetBrowseNameHash = targetNameHash; + + /* Add the first direction */ + *retval = UA_Server_editNode(server, session, &item->sourceNodeId, + (UA_EditNodeCallback)addOneWayReference, &info); + UA_Boolean firstExisted = false; + if(*retval == UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED) { + *retval = UA_STATUSCODE_GOOD; + firstExisted = true; + } + if(*retval != UA_STATUSCODE_GOOD) + return; + + /* Add the second direction */ + UA_ExpandedNodeId target2; + UA_ExpandedNodeId_init(&target2); + target2.nodeId = item->sourceNodeId; + info.targetNodeId = &target2; + info.isForward = !info.isForward; + info.targetBrowseNameHash = sourceNameHash; + *retval = UA_Server_editNode(server, session, &item->targetNodeId.nodeId, + (UA_EditNodeCallback)addOneWayReference, &info); + + /* Second direction existed already */ + if(*retval == UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED) { + /* Calculate common duplicate reference not allowed result and set bad + * result if BOTH directions already existed */ + if(UA_NodeId_equal(&item->sourceNodeId, &item->targetNodeId.nodeId)) { + *retval = UA_STATUSCODE_GOOD; + UA_LOG_INFO_SESSION(server->config.logging, session, "The source node and the target node are identical. The check for duplicate references is skipped."); + } + else if(firstExisted) { + *retval = UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED; + return; + } + *retval = UA_STATUSCODE_GOOD; + } + + /* Remove first direction if the second direction failed */ + if(*retval != UA_STATUSCODE_GOOD && !firstExisted) { + UA_DeleteReferencesItem deleteItem; + deleteItem.sourceNodeId = item->sourceNodeId; + deleteItem.referenceTypeId = item->referenceTypeId; + deleteItem.isForward = item->isForward; + deleteItem.targetNodeId = item->targetNodeId; + deleteItem.deleteBidirectional = false; + /* Ignore status code */ + UA_Server_editNode(server, session, &item->sourceNodeId, + (UA_EditNodeCallback)deleteOneWayReference, &deleteItem); + } +} + +void +Service_AddReferences(UA_Server *server, UA_Session *session, + const UA_AddReferencesRequest *request, + UA_AddReferencesResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing AddReferencesRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_assert(session); + + if(server->config.maxNodesPerNodeManagement != 0 && + request->referencesToAddSize > server->config.maxNodesPerNodeManagement) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_addReference, + NULL, &request->referencesToAddSize, + &UA_TYPES[UA_TYPES_ADDREFERENCESITEM], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_StatusCode +UA_Server_addReference(UA_Server *server, const UA_NodeId sourceId, + const UA_NodeId refTypeId, + const UA_ExpandedNodeId targetId, + UA_Boolean isForward) { + UA_AddReferencesItem item; + UA_AddReferencesItem_init(&item); + item.sourceNodeId = sourceId; + item.referenceTypeId = refTypeId; + item.isForward = isForward; + item.targetNodeId = targetId; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + lockServer(server); + Operation_addReference(server, &server->adminSession, NULL, &item, &retval); + unlockServer(server); + return retval; +} + +/*********************/ +/* Delete References */ +/*********************/ + +static void +Operation_deleteReference(UA_Server *server, UA_Session *session, void *context, + const UA_DeleteReferencesItem *item, UA_StatusCode *retval) { + /* Do not check access for server */ + if(session != &server->adminSession && + server->config.accessControl.allowDeleteReference) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if (!server->config.accessControl. + allowDeleteReference(server, &server->config.accessControl, + &session->sessionId, session->sessionHandle, item)){ + *retval = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + } + + // TODO: Check consistency constraints, remove the references. + *retval = UA_Server_editNode(server, session, &item->sourceNodeId, + (UA_EditNodeCallback)deleteOneWayReference, + /* cast away const qualifier because callback + * uses it anyway */ + (UA_DeleteReferencesItem *)(uintptr_t)item); + if(*retval != UA_STATUSCODE_GOOD) + return; + + if(!item->deleteBidirectional || item->targetNodeId.serverIndex != 0) + return; + + UA_DeleteReferencesItem secondItem; + UA_DeleteReferencesItem_init(&secondItem); + secondItem.isForward = !item->isForward; + secondItem.sourceNodeId = item->targetNodeId.nodeId; + secondItem.targetNodeId.nodeId = item->sourceNodeId; + secondItem.referenceTypeId = item->referenceTypeId; + *retval = UA_Server_editNode(server, session, &secondItem.sourceNodeId, + (UA_EditNodeCallback)deleteOneWayReference, + &secondItem); +} + +void +Service_DeleteReferences(UA_Server *server, UA_Session *session, + const UA_DeleteReferencesRequest *request, + UA_DeleteReferencesResponse *response) { + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Processing DeleteReferencesRequest"); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(server->config.maxNodesPerNodeManagement != 0 && + request->referencesToDeleteSize > server->config.maxNodesPerNodeManagement) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; + return; + } + + response->responseHeader.serviceResult = + UA_Server_processServiceOperations(server, session, + (UA_ServiceOperation)Operation_deleteReference, + NULL, &request->referencesToDeleteSize, + &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM], + &response->resultsSize, + &UA_TYPES[UA_TYPES_STATUSCODE]); +} + +UA_StatusCode +deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_ExpandedNodeId targetNodeId, + UA_Boolean deleteBidirectional) { + UA_DeleteReferencesItem item; + item.sourceNodeId = sourceNodeId; + item.referenceTypeId = referenceTypeId; + item.isForward = isForward; + item.targetNodeId = targetNodeId; + item.deleteBidirectional = deleteBidirectional; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + Operation_deleteReference(server, &server->adminSession, NULL, &item, &retval); + return retval; +} + +UA_StatusCode +UA_Server_deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_ExpandedNodeId targetNodeId, + UA_Boolean deleteBidirectional) { + lockServer(server); + UA_StatusCode res = deleteReference(server, sourceNodeId, referenceTypeId, + isForward, targetNodeId, deleteBidirectional); + unlockServer(server); + return res; +} + +/**********************/ +/* Set Value Callback */ +/**********************/ + +static UA_StatusCode +setValueCallback(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_ValueCallback *callback) { + if(node->head.nodeClass != UA_NODECLASS_VARIABLE) + return UA_STATUSCODE_BADNODECLASSINVALID; + node->value.data.callback = *callback; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +setVariableNode_valueCallback(UA_Server *server, const UA_NodeId nodeId, + const UA_ValueCallback callback) { + return UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback)setValueCallback, + /* cast away const because + * callback uses const anyway */ + (UA_ValueCallback *)(uintptr_t) &callback); +} + +UA_StatusCode +UA_Server_setVariableNode_valueCallback(UA_Server *server, + const UA_NodeId nodeId, + const UA_ValueCallback callback) { + lockServer(server); + UA_StatusCode retval = UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback)setValueCallback, + /* cast away const because + * callback uses const anyway */ + (UA_ValueCallback *)(uintptr_t) &callback); + unlockServer(server); + return retval; +} + +/***************************************************/ +/* Special Handling of Variables with Data Sources */ +/***************************************************/ + +UA_StatusCode +UA_Server_addDataSourceVariableNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, + const UA_VariableAttributes attr, + const UA_DataSource dataSource, + void *nodeContext, UA_NodeId *outNewNodeId) { + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.nodeClass = UA_NODECLASS_VARIABLE; + item.requestedNewNodeId.nodeId = requestedNewNodeId; + item.browseName = browseName; + UA_ExpandedNodeId typeDefinitionId; + UA_ExpandedNodeId_init(&typeDefinitionId); + typeDefinitionId.nodeId = typeDefinition; + item.typeDefinition = typeDefinitionId; + UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, (void*)(uintptr_t)&attr, + &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); + UA_NodeId newNodeId; + if(!outNewNodeId) { + newNodeId = UA_NODEID_NULL; + outNewNodeId = &newNodeId; + } + + lockServer(server); + + /* Create the node and add it to the nodestore */ + UA_StatusCode retval = addNode_raw(server, &server->adminSession, nodeContext, + &item, outNewNodeId); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Set the data source */ + retval = setVariableNode_dataSource(server, *outNewNodeId, dataSource); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Typecheck and add references to parent and type definition */ + retval = addNode_addRefs(server, &server->adminSession, outNewNodeId, &parentNodeId, + &referenceTypeId, &typeDefinition); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Call the constructors */ + retval = addNode_finish(server, &server->adminSession, outNewNodeId); + + cleanup: + unlockServer(server); + if(outNewNodeId == &newNodeId) + UA_NodeId_clear(&newNodeId); + + return retval; +} + +static UA_StatusCode +setDataSource(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_DataSource *dataSource) { + if(node->head.nodeClass != UA_NODECLASS_VARIABLE) + return UA_STATUSCODE_BADNODECLASSINVALID; + if(node->valueSource == UA_VALUESOURCE_DATA) + UA_DataValue_clear(&node->value.data.value); + node->value.dataSource = *dataSource; + node->valueSource = UA_VALUESOURCE_DATASOURCE; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, + const UA_DataSource dataSource) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback)setDataSource, + /* casting away const because callback casts it back anyway */ + (UA_DataSource *) (uintptr_t)&dataSource); +} + +UA_StatusCode +UA_Server_setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, + const UA_DataSource dataSource) { + lockServer(server); + UA_StatusCode retval = setVariableNode_dataSource(server, nodeId, dataSource); + unlockServer(server); + return retval; +} + +/******************************/ +/* Set External Value Source */ +/******************************/ +static UA_StatusCode +setExternalValueSource(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_ValueBackend *externalValueSource) { + if(node->head.nodeClass != UA_NODECLASS_VARIABLE) + return UA_STATUSCODE_BADNODECLASSINVALID; + node->valueBackend.backendType = UA_VALUEBACKENDTYPE_EXTERNAL; + node->valueBackend.backend.external.value = + externalValueSource->backend.external.value; + node->valueBackend.backend.external.callback.notificationRead = + externalValueSource->backend.external.callback.notificationRead; + node->valueBackend.backend.external.callback.userWrite = + externalValueSource->backend.external.callback.userWrite; + return UA_STATUSCODE_GOOD; +} + +/****************************/ +/* Set Data Source Callback */ +/****************************/ +static UA_StatusCode +setDataSourceCallback(UA_Server *server, UA_Session *session, + UA_VariableNode *node, const UA_DataSource *dataSource) { + if(node->head.nodeClass != UA_NODECLASS_VARIABLE) + return UA_STATUSCODE_BADNODECLASSINVALID; + node->valueBackend.backendType = UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK; + node->valueBackend.backend.dataSource.read = dataSource->read; + node->valueBackend.backend.dataSource.write = dataSource->write; + return UA_STATUSCODE_GOOD; +} + +/**********************/ +/* Set Value Backend */ +/**********************/ + +UA_StatusCode +UA_Server_setVariableNode_valueBackend(UA_Server *server, const UA_NodeId nodeId, + const UA_ValueBackend valueBackend){ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + lockServer(server); + switch(valueBackend.backendType){ + case UA_VALUEBACKENDTYPE_NONE: + unlockServer(server); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + case UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK: + retval = UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback) setDataSourceCallback, + (UA_DataSource *)(uintptr_t) &valueBackend.backend.dataSource); + break; + case UA_VALUEBACKENDTYPE_INTERNAL: + break; + case UA_VALUEBACKENDTYPE_EXTERNAL: + retval = UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback) setExternalValueSource, + /* cast away const because callback uses const anyway */ + (UA_ValueCallback *)(uintptr_t) &valueBackend); + break; + } + + + // UA_StatusCode retval = UA_Server_editNode(server, &server->adminSession, &nodeId, + // (UA_EditNodeCallback)setValueCallback, + /* cast away const because callback uses const anyway */ + // (UA_ValueCallback *)(uintptr_t) &callback); + + + unlockServer(server); + return retval; +} + + +/************************************/ +/* Special Handling of Method Nodes */ +/************************************/ + +#ifdef UA_ENABLE_METHODCALLS + +static const UA_NodeId hasproperty = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASPROPERTY}}; +static const UA_NodeId propertytype = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_PROPERTYTYPE}}; + +static UA_StatusCode +UA_Server_addMethodNodeEx_finish(UA_Server *server, const UA_NodeId nodeId, + UA_MethodCallback method, + const size_t inputArgumentsSize, + const UA_Argument *inputArguments, + const UA_NodeId inputArgumentsRequestedNewNodeId, + UA_NodeId *inputArgumentsOutNewNodeId, + const size_t outputArgumentsSize, + const UA_Argument *outputArguments, + const UA_NodeId outputArgumentsRequestedNewNodeId, + UA_NodeId *outputArgumentsOutNewNodeId) { + /* Browse to see which argument nodes exist */ + UA_BrowseDescription bd; + UA_BrowseDescription_init(&bd); + bd.nodeId = nodeId; + bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); + bd.includeSubtypes = false; + bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; + bd.nodeClassMask = UA_NODECLASS_VARIABLE; + bd.resultMask = UA_BROWSERESULTMASK_BROWSENAME; + + UA_BrowseResult br; + UA_BrowseResult_init(&br); + UA_UInt32 maxrefs = 0; + Operation_Browse(server, &server->adminSession, &maxrefs, &bd, &br); + + UA_StatusCode retval = br.statusCode; + if(retval != UA_STATUSCODE_GOOD) { + deleteNode(server, nodeId, true); + UA_BrowseResult_clear(&br); + return retval; + } + + /* Filter out the argument nodes */ + UA_NodeId inputArgsId = UA_NODEID_NULL; + UA_NodeId outputArgsId = UA_NODEID_NULL; + const UA_QualifiedName inputArgsName = UA_QUALIFIEDNAME(0, "InputArguments"); + const UA_QualifiedName outputArgsName = UA_QUALIFIEDNAME(0, "OutputArguments"); + for(size_t i = 0; i < br.referencesSize; i++) { + UA_ReferenceDescription *rd = &br.references[i]; + if(rd->browseName.namespaceIndex == 0 && + UA_String_equal(&rd->browseName.name, &inputArgsName.name)) + inputArgsId = rd->nodeId.nodeId; + else if(rd->browseName.namespaceIndex == 0 && + UA_String_equal(&rd->browseName.name, &outputArgsName.name)) + outputArgsId = rd->nodeId.nodeId; + } + + /* Add the Input Arguments VariableNode */ + if(inputArgumentsSize > 0 && UA_NodeId_isNull(&inputArgsId)) { + UA_VariableAttributes attr = UA_VariableAttributes_default; + char *name = "InputArguments"; + attr.displayName = UA_LOCALIZEDTEXT("", name); + attr.dataType = UA_TYPES[UA_TYPES_ARGUMENT].typeId; + attr.valueRank = UA_VALUERANK_ONE_DIMENSION; + UA_UInt32 inputArgsSize32 = (UA_UInt32)inputArgumentsSize; + attr.arrayDimensions = &inputArgsSize32; + attr.arrayDimensionsSize = 1; + UA_Variant_setArray(&attr.value, (void *)(uintptr_t)inputArguments, + inputArgumentsSize, &UA_TYPES[UA_TYPES_ARGUMENT]); + retval = addNode(server, UA_NODECLASS_VARIABLE, inputArgumentsRequestedNewNodeId, + nodeId, hasproperty, UA_QUALIFIEDNAME(0, name), + propertytype, &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], + NULL, &inputArgsId); + if(retval != UA_STATUSCODE_GOOD) + goto error; + } + + /* Add the Output Arguments VariableNode */ + if(outputArgumentsSize > 0 && UA_NodeId_isNull(&outputArgsId)) { + UA_VariableAttributes attr = UA_VariableAttributes_default; + char *name = "OutputArguments"; + attr.displayName = UA_LOCALIZEDTEXT("", name); + attr.dataType = UA_TYPES[UA_TYPES_ARGUMENT].typeId; + attr.valueRank = UA_VALUERANK_ONE_DIMENSION; + UA_UInt32 outputArgsSize32 = (UA_UInt32)outputArgumentsSize; + attr.arrayDimensions = &outputArgsSize32; + attr.arrayDimensionsSize = 1; + UA_Variant_setArray(&attr.value, (void *)(uintptr_t)outputArguments, + outputArgumentsSize, &UA_TYPES[UA_TYPES_ARGUMENT]); + retval = addNode(server, UA_NODECLASS_VARIABLE, outputArgumentsRequestedNewNodeId, + nodeId, hasproperty, UA_QUALIFIEDNAME(0, name), + propertytype, &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], + NULL, &outputArgsId); + if(retval != UA_STATUSCODE_GOOD) + goto error; + } + + retval = setMethodNode_callback(server, nodeId, method); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + /* Call finish to add the parent reference */ + retval = addNode_finish(server, &server->adminSession, &nodeId); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + if(inputArgumentsOutNewNodeId != NULL) { + UA_NodeId_copy(&inputArgsId, inputArgumentsOutNewNodeId); + } + if(outputArgumentsOutNewNodeId != NULL) { + UA_NodeId_copy(&outputArgsId, outputArgumentsOutNewNodeId); + } + UA_BrowseResult_clear(&br); + return retval; + +error: + deleteNode(server, nodeId, true); + deleteNode(server, inputArgsId, true); + deleteNode(server, outputArgsId, true); + UA_BrowseResult_clear(&br); + return retval; +} + +UA_StatusCode +UA_Server_addMethodNode_finish(UA_Server *server, const UA_NodeId nodeId, + UA_MethodCallback method, + size_t inputArgumentsSize, + const UA_Argument* inputArguments, + size_t outputArgumentsSize, + const UA_Argument* outputArguments) { + lockServer(server); + UA_StatusCode retval = + UA_Server_addMethodNodeEx_finish(server, nodeId, method, + inputArgumentsSize, inputArguments, + UA_NODEID_NULL, NULL, + outputArgumentsSize, outputArguments, + UA_NODEID_NULL, NULL); + unlockServer(server); + return retval; +} + +UA_StatusCode +addMethodNode(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_MethodAttributes *attr, UA_MethodCallback method, + size_t inputArgumentsSize, const UA_Argument *inputArguments, + const UA_NodeId inputArgumentsRequestedNewNodeId, + UA_NodeId *inputArgumentsOutNewNodeId, + size_t outputArgumentsSize, const UA_Argument *outputArguments, + const UA_NodeId outputArgumentsRequestedNewNodeId, + UA_NodeId *outputArgumentsOutNewNodeId, + void *nodeContext, UA_NodeId *outNewNodeId) { + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.nodeClass = UA_NODECLASS_METHOD; + item.requestedNewNodeId.nodeId = requestedNewNodeId; + item.browseName = browseName; + UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, (void*)(uintptr_t)attr, + &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); + UA_NodeId newId; + if(!outNewNodeId) { + UA_NodeId_init(&newId); + outNewNodeId = &newId; + } + UA_StatusCode retval = Operation_addNode_begin(server, &server->adminSession, + nodeContext, &item, &parentNodeId, + &referenceTypeId, outNewNodeId); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + retval = UA_Server_addMethodNodeEx_finish(server, *outNewNodeId, method, + inputArgumentsSize, inputArguments, + inputArgumentsRequestedNewNodeId, + inputArgumentsOutNewNodeId, + outputArgumentsSize, outputArguments, + outputArgumentsRequestedNewNodeId, + outputArgumentsOutNewNodeId); + if(outNewNodeId == &newId) + UA_NodeId_clear(&newId); + return retval; +} + +UA_StatusCode +UA_Server_addMethodNodeEx(UA_Server *server, const UA_NodeId requestedNewNodeId, + const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, + const UA_QualifiedName browseName, + const UA_MethodAttributes attr, UA_MethodCallback method, + size_t inputArgumentsSize, const UA_Argument *inputArguments, + const UA_NodeId inputArgumentsRequestedNewNodeId, + UA_NodeId *inputArgumentsOutNewNodeId, + size_t outputArgumentsSize, const UA_Argument *outputArguments, + const UA_NodeId outputArgumentsRequestedNewNodeId, + UA_NodeId *outputArgumentsOutNewNodeId, + void *nodeContext, UA_NodeId *outNewNodeId) { + lockServer(server); + UA_StatusCode res = addMethodNode(server, requestedNewNodeId, + parentNodeId, referenceTypeId, + browseName, &attr, method, + inputArgumentsSize, inputArguments, + inputArgumentsRequestedNewNodeId, + inputArgumentsOutNewNodeId, + outputArgumentsSize, + outputArguments, + outputArgumentsRequestedNewNodeId, + outputArgumentsOutNewNodeId, + nodeContext, outNewNodeId); + unlockServer(server); + return res; +} + +static UA_StatusCode +editMethodCallback(UA_Server *server, UA_Session* session, + UA_Node *node, UA_MethodCallback methodCallback) { + if(node->head.nodeClass != UA_NODECLASS_METHOD) + return UA_STATUSCODE_BADNODECLASSINVALID; + node->methodNode.method = methodCallback; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +setMethodNode_callback(UA_Server *server, + const UA_NodeId methodNodeId, + UA_MethodCallback methodCallback) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return UA_Server_editNode(server, &server->adminSession, &methodNodeId, + (UA_EditNodeCallback)editMethodCallback, + (void*)(uintptr_t)methodCallback); +} + +UA_StatusCode +UA_Server_setMethodNodeCallback(UA_Server *server, + const UA_NodeId methodNodeId, + UA_MethodCallback methodCallback) { + lockServer(server); + UA_StatusCode retVal = setMethodNode_callback(server, methodNodeId, methodCallback); + unlockServer(server); + return retVal; +} + +UA_StatusCode +UA_Server_getMethodNodeCallback(UA_Server *server, + const UA_NodeId methodNodeId, + UA_MethodCallback *outMethodCallback) { + lockServer(server); + const UA_Node *node = UA_NODESTORE_GET(server, &methodNodeId); + if(!node) { + unlockServer(server); + return UA_STATUSCODE_BADNODEIDUNKNOWN; + } + + if(node->head.nodeClass != UA_NODECLASS_METHOD) { + UA_NODESTORE_RELEASE(server, node); + unlockServer(server); + return UA_STATUSCODE_BADNODECLASSINVALID; + } + + *outMethodCallback = node->methodNode.method; + UA_NODESTORE_RELEASE(server, node); + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +#endif + +/************************/ +/* Lifecycle Management */ +/************************/ + +void UA_EXPORT +UA_Server_setAdminSessionContext(UA_Server *server, + void *context) { + server->adminSession.sessionHandle = context; +} + +static UA_StatusCode +setNodeTypeLifecycleCallback(UA_Server *server, UA_Session *session, + UA_Node *node, UA_NodeTypeLifecycle *lifecycle) { + if(node->head.nodeClass == UA_NODECLASS_OBJECTTYPE) { + node->objectTypeNode.lifecycle = *lifecycle; + } else if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE) { + node->variableTypeNode.lifecycle = *lifecycle; + } else { + return UA_STATUSCODE_BADNODECLASSINVALID; + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, + UA_NodeTypeLifecycle lifecycle) { + return UA_Server_editNode(server, &server->adminSession, &nodeId, + (UA_EditNodeCallback)setNodeTypeLifecycleCallback, + &lifecycle); +} + +UA_StatusCode +UA_Server_setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, + UA_NodeTypeLifecycle lifecycle) { + lockServer(server); + UA_StatusCode retval = setNodeTypeLifecycle(server, nodeId, lifecycle); + unlockServer(server); + return retval; +} + +/**** amalgamated original file "/src/pubsub/ua_pubsub_networkmessage.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017 - 2018 Fraunhofer IOSB (Author: Tino Bischoff) + * Copyright (c) 2019 Fraunhofer IOSB (Author: Andreas Ebner) + */ + + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +const UA_Byte NM_VERSION_MASK = 15; +const UA_Byte NM_PUBLISHER_ID_ENABLED_MASK = 16; +const UA_Byte NM_GROUP_HEADER_ENABLED_MASK = 32; +const UA_Byte NM_PAYLOAD_HEADER_ENABLED_MASK = 64; +const UA_Byte NM_EXTENDEDFLAGS1_ENABLED_MASK = 128; +const UA_Byte NM_PUBLISHER_ID_MASK = 7; +const UA_Byte NM_DATASET_CLASSID_ENABLED_MASK = 8; +const UA_Byte NM_SECURITY_ENABLED_MASK = 16; +const UA_Byte NM_TIMESTAMP_ENABLED_MASK = 32; +const UA_Byte NM_PICOSECONDS_ENABLED_MASK = 64; +const UA_Byte NM_EXTENDEDFLAGS2_ENABLED_MASK = 128; +const UA_Byte NM_NETWORK_MSG_TYPE_MASK = 28; +const UA_Byte NM_CHUNK_MESSAGE_MASK = 1; +const UA_Byte NM_PROMOTEDFIELDS_ENABLED_MASK = 2; +const UA_Byte GROUP_HEADER_WRITER_GROUPID_ENABLED = 1; +const UA_Byte GROUP_HEADER_GROUP_VERSION_ENABLED = 2; +const UA_Byte GROUP_HEADER_NM_NUMBER_ENABLED = 4; +const UA_Byte GROUP_HEADER_SEQUENCE_NUMBER_ENABLED = 8; +const UA_Byte SECURITY_HEADER_NM_SIGNED = 1; +const UA_Byte SECURITY_HEADER_NM_ENCRYPTED = 2; +const UA_Byte SECURITY_HEADER_SEC_FOOTER_ENABLED = 4; +const UA_Byte SECURITY_HEADER_FORCE_KEY_RESET = 8; +const UA_Byte DS_MESSAGEHEADER_DS_MSG_VALID = 1; +const UA_Byte DS_MESSAGEHEADER_FIELD_ENCODING_MASK = 6; +const UA_Byte DS_MESSAGEHEADER_SEQ_NR_ENABLED_MASK = 8; +const UA_Byte DS_MESSAGEHEADER_STATUS_ENABLED_MASK = 16; +const UA_Byte DS_MESSAGEHEADER_CONFIGMAJORVERSION_ENABLED_MASK = 32; +const UA_Byte DS_MESSAGEHEADER_CONFIGMINORVERSION_ENABLED_MASK = 64; +const UA_Byte DS_MESSAGEHEADER_FLAGS2_ENABLED_MASK = 128; +const UA_Byte DS_MESSAGEHEADER_DS_MESSAGE_TYPE_MASK = 15; +const UA_Byte DS_MESSAGEHEADER_TIMESTAMP_ENABLED_MASK = 16; +const UA_Byte DS_MESSAGEHEADER_PICOSECONDS_INCLUDED_MASK = 32; +const UA_Byte NM_SHIFT_LEN = 2; +const UA_Byte DS_MH_SHIFT_LEN = 1; + +static UA_Boolean UA_NetworkMessage_ExtendedFlags1Enabled(const UA_NetworkMessage* src); +static UA_Boolean UA_NetworkMessage_ExtendedFlags2Enabled(const UA_NetworkMessage* src); +static UA_Boolean UA_DataSetMessageHeader_DataSetFlags2Enabled(const UA_DataSetMessageHeader* src); + +UA_StatusCode +UA_NetworkMessage_updateBufferedMessage(UA_NetworkMessageOffsetBuffer *buffer) { + UA_StatusCode rv = UA_STATUSCODE_GOOD; + const UA_Byte *bufEnd = &buffer->buffer.data[buffer->buffer.length]; + for(size_t i = 0; i < buffer->offsetsSize; ++i) { + UA_NetworkMessageOffset *nmo = &buffer->offsets[i]; + UA_Byte *bufPos = &buffer->buffer.data[nmo->offset]; + switch(nmo->contentType) { + case UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER: + case UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER: + rv = UA_UInt16_encodeBinary(&nmo->content.sequenceNumber, &bufPos, bufEnd); + nmo->content.sequenceNumber++; + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE: + rv = UA_DataValue_encodeBinary(&nmo->content.value, &bufPos, bufEnd); + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL: + rv = UA_DataValue_encodeBinary(*nmo->content.externalValue, &bufPos, bufEnd); + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT: + rv = UA_Variant_encodeBinary(&nmo->content.value.value, &bufPos, bufEnd); + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL: + rv = UA_Variant_encodeBinary(&(*nmo->content.externalValue)->value, &bufPos, bufEnd); + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW: + rv = UA_encodeBinaryInternal(nmo->content.value.value.data, + nmo->content.value.value.type, + &bufPos, &bufEnd, NULL, NULL); + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL: + rv = UA_encodeBinaryInternal((*nmo->content.externalValue)->value.data, + (*nmo->content.externalValue)->value.type, + &bufPos, &bufEnd, NULL, NULL); + break; + default: + break; /* The other fields are assumed to not change between messages. + * Only used for RT decoding (not encoding). */ + } + } + return rv; +} + +UA_StatusCode +UA_NetworkMessage_updateBufferedNwMessage(UA_NetworkMessageOffsetBuffer *buffer, + const UA_ByteString *src, size_t *bufferPosition) { + /* The offset buffer was not prepared */ + UA_NetworkMessage *nm = buffer->nm; + if(!nm) + return UA_STATUSCODE_BADINTERNALERROR; + + /* The source string is too short */ + if(src->length < buffer->buffer.length + *bufferPosition) + return UA_STATUSCODE_BADDECODINGERROR; + + /* If this remains at UA_UINT32_MAX, then no raw fields are contained */ + size_t smallestRawOffset = UA_UINT32_MAX; + + /* Considering one DSM in RT TODO: Clarify multiple DSM */ + UA_DataSetMessage* dsm = nm->payload.dataSetPayload.dataSetMessages; + + size_t pos = 0; + size_t payloadCounter = 0; + UA_DataSetMessageHeader header; + UA_StatusCode rv = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < buffer->offsetsSize; ++i) { + pos = buffer->offsets[i].offset + *bufferPosition; + switch(buffer->offsets[i].contentType) { + case UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING: + rv = UA_DataSetMessageHeader_decodeBinary(src, &pos, &header); + break; + case UA_PUBSUB_OFFSETTYPE_PUBLISHERID: + switch(nm->publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + rv = UA_Byte_decodeBinary(src, &pos, &nm->publisherId.byte); + break; + case UA_PUBLISHERIDTYPE_UINT16: + rv = UA_UInt16_decodeBinary(src, &pos, &nm->publisherId.uint16); + break; + case UA_PUBLISHERIDTYPE_UINT32: + rv = UA_UInt32_decodeBinary(src, &pos, &nm->publisherId.uint32); + break; + case UA_PUBLISHERIDTYPE_UINT64: + rv = UA_UInt64_decodeBinary(src, &pos, &nm->publisherId.uint64); + break; + default: + /* UA_PUBLISHERIDTYPE_STRING is not supported because of + * UA_PUBSUB_RT_FIXED_SIZE */ + return UA_STATUSCODE_BADNOTSUPPORTED; + } + break; + case UA_PUBSUB_OFFSETTYPE_WRITERGROUPID: + rv = UA_UInt16_decodeBinary(src, &pos, &nm->groupHeader.writerGroupId); + break; + case UA_PUBSUB_OFFSETTYPE_DATASETWRITERID: + rv = UA_UInt16_decodeBinary(src, &pos, + &nm->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[0]); /* TODO */ + break; + case UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER: + rv = UA_UInt16_decodeBinary(src, &pos, &nm->groupHeader.sequenceNumber); + break; + case UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER: + rv = UA_UInt16_decodeBinary(src, &pos, &dsm->header.dataSetMessageSequenceNr); + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE: + UA_DataValue_clear(&dsm->data.keyFrameData.dataSetFields[payloadCounter]); + rv = UA_DataValue_decodeBinary(src, &pos, + &dsm->data.keyFrameData.dataSetFields[payloadCounter]); + payloadCounter++; + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT: + UA_Variant_clear(&dsm->data.keyFrameData.dataSetFields[payloadCounter].value); + rv = UA_Variant_decodeBinary(src, &pos, + &dsm->data.keyFrameData.dataSetFields[payloadCounter].value); + dsm->data.keyFrameData.dataSetFields[payloadCounter].hasValue = + (rv == UA_STATUSCODE_GOOD); + payloadCounter++; + break; + case UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW: + /* We need only the start address of the raw fields */ + if(smallestRawOffset > pos){ + smallestRawOffset = pos; + dsm->data.keyFrameData.rawFields.data = &src->data[pos]; + dsm->data.keyFrameData.rawFields.length = buffer->rawMessageLength; + } + payloadCounter++; + break; + default: + return UA_STATUSCODE_BADNOTSUPPORTED; + } + UA_CHECK_STATUS(rv, return rv); + } + + /* Check if the frame is of type "raw" payload. If yes, set the new buffer + * position to the start position of the raw fields plus the length of the + * raw fields. */ + if(smallestRawOffset != UA_UINT32_MAX) { + *bufferPosition = smallestRawOffset + buffer->rawMessageLength; + } else { + *bufferPosition = pos; + } + + return rv; +} + +static UA_StatusCode +UA_NetworkMessageHeader_encodeBinary(const UA_NetworkMessage *src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + /* UADPVersion + UADP Flags */ + UA_Byte v = src->version; + if(src->publisherIdEnabled) + v |= NM_PUBLISHER_ID_ENABLED_MASK; + + if(src->groupHeaderEnabled) + v |= NM_GROUP_HEADER_ENABLED_MASK; + + if(src->payloadHeaderEnabled) + v |= NM_PAYLOAD_HEADER_ENABLED_MASK; + + if(UA_NetworkMessage_ExtendedFlags1Enabled(src)) + v |= NM_EXTENDEDFLAGS1_ENABLED_MASK; + + UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + // ExtendedFlags1 + if(UA_NetworkMessage_ExtendedFlags1Enabled(src)) { + v = (UA_Byte)src->publisherIdType; + + if(src->dataSetClassIdEnabled) + v |= NM_DATASET_CLASSID_ENABLED_MASK; + + if(src->securityEnabled) + v |= NM_SECURITY_ENABLED_MASK; + + if(src->timestampEnabled) + v |= NM_TIMESTAMP_ENABLED_MASK; + + if(src->picosecondsEnabled) + v |= NM_PICOSECONDS_ENABLED_MASK; + + if(UA_NetworkMessage_ExtendedFlags2Enabled(src)) + v |= NM_EXTENDEDFLAGS2_ENABLED_MASK; + + rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + // ExtendedFlags2 + if(UA_NetworkMessage_ExtendedFlags2Enabled(src)) { + v = (UA_Byte)src->networkMessageType; + // shift left 2 bit + v = (UA_Byte) (v << NM_SHIFT_LEN); + + if(src->chunkMessage) + v |= NM_CHUNK_MESSAGE_MASK; + + if(src->promotedFieldsEnabled) + v |= NM_PROMOTEDFIELDS_ENABLED_MASK; + + rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + } + + // PublisherId + if(src->publisherIdEnabled) { + switch (src->publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + rv = UA_Byte_encodeBinary(&src->publisherId.byte, bufPos, bufEnd); + break; + + case UA_PUBLISHERIDTYPE_UINT16: + rv = UA_UInt16_encodeBinary(&src->publisherId.uint16, bufPos, bufEnd); + break; + + case UA_PUBLISHERIDTYPE_UINT32: + rv = UA_UInt32_encodeBinary(&src->publisherId.uint32, bufPos, bufEnd); + break; + + case UA_PUBLISHERIDTYPE_UINT64: + rv = UA_UInt64_encodeBinary(&src->publisherId.uint64, bufPos, bufEnd); + break; + + case UA_PUBLISHERIDTYPE_STRING: + rv = UA_String_encodeBinary(&src->publisherId.string, bufPos, bufEnd); + break; + + default: + rv = UA_STATUSCODE_BADINTERNALERROR; + break; + } + UA_CHECK_STATUS(rv, return rv); + } + + // DataSetClassId + if(src->dataSetClassIdEnabled) { + rv = UA_Guid_encodeBinary(&src->dataSetClassId, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_GroupHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + UA_Byte v = 0; + if(src->groupHeader.writerGroupIdEnabled) + v |= GROUP_HEADER_WRITER_GROUPID_ENABLED; + + if(src->groupHeader.groupVersionEnabled) + v |= GROUP_HEADER_GROUP_VERSION_ENABLED; + + if(src->groupHeader.networkMessageNumberEnabled) + v |= GROUP_HEADER_NM_NUMBER_ENABLED; + + if(src->groupHeader.sequenceNumberEnabled) + v |= GROUP_HEADER_SEQUENCE_NUMBER_ENABLED; + + UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + + if(src->groupHeader.writerGroupIdEnabled) + rv |= UA_UInt16_encodeBinary(&src->groupHeader.writerGroupId, bufPos, bufEnd); + + if(src->groupHeader.groupVersionEnabled) + rv |= UA_UInt32_encodeBinary(&src->groupHeader.groupVersion, bufPos, bufEnd); + + if(src->groupHeader.networkMessageNumberEnabled) + rv |= UA_UInt16_encodeBinary(&src->groupHeader.networkMessageNumber, bufPos, bufEnd); + + if(src->groupHeader.sequenceNumberEnabled) + rv |= UA_UInt16_encodeBinary(&src->groupHeader.sequenceNumber, bufPos, bufEnd); + + return rv; +} + +static UA_StatusCode +UA_PayloadHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + if(src->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + if(src->payloadHeader.dataSetPayloadHeader.dataSetWriterIds == NULL) + return UA_STATUSCODE_BADENCODINGERROR; + + UA_Byte count = src->payloadHeader.dataSetPayloadHeader.count; + + UA_StatusCode rv = UA_Byte_encodeBinary(&count, bufPos, bufEnd); + + for(UA_Byte i = 0; i < count; i++) { + UA_UInt16 dswId = src->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[i]; + rv |= UA_UInt16_encodeBinary(&dswId, bufPos, bufEnd); + } + + return rv; +} + +static UA_StatusCode +UA_ExtendedNetworkMessageHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + UA_StatusCode rv = UA_STATUSCODE_GOOD; + if(src->timestampEnabled) + rv |= UA_DateTime_encodeBinary(&src->timestamp, bufPos, bufEnd); + + if(src->picosecondsEnabled) + rv |= UA_UInt16_encodeBinary(&src->picoseconds, bufPos, bufEnd); + + if(src->promotedFieldsEnabled) { + /* Size (calculate & encode) */ + UA_UInt16 pfSize = 0; + for(UA_UInt16 i = 0; i < src->promotedFieldsSize; i++) + pfSize = (UA_UInt16)(pfSize + UA_Variant_calcSizeBinary(&src->promotedFields[i])); + rv |= UA_UInt16_encodeBinary(&pfSize, bufPos, bufEnd); + + for(UA_UInt16 i = 0; i < src->promotedFieldsSize; i++) + rv |= UA_Variant_encodeBinary(&src->promotedFields[i], bufPos, bufEnd); + } + + return rv; +} + +static UA_StatusCode +UA_SecurityHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + /* SecurityFlags */ + UA_Byte v = 0; + if(src->securityHeader.networkMessageSigned) + v |= SECURITY_HEADER_NM_SIGNED; + + if(src->securityHeader.networkMessageEncrypted) + v |= SECURITY_HEADER_NM_ENCRYPTED; + + if(src->securityHeader.securityFooterEnabled) + v |= SECURITY_HEADER_SEC_FOOTER_ENABLED; + + if(src->securityHeader.forceKeyReset) + v |= SECURITY_HEADER_FORCE_KEY_RESET; + + UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + + /* SecurityTokenId */ + rv |= UA_UInt32_encodeBinary(&src->securityHeader.securityTokenId, bufPos, bufEnd); + + /* NonceLength */ + UA_Byte nonceLength = (UA_Byte)src->securityHeader.messageNonceSize; + rv |= UA_Byte_encodeBinary(&nonceLength, bufPos, bufEnd); + + /* MessageNonce */ + for(size_t i = 0; i < src->securityHeader.messageNonceSize; i++) { + rv |= UA_Byte_encodeBinary(&src->securityHeader.messageNonce[i], + bufPos, bufEnd); + } + + /* SecurityFooterSize */ + if(src->securityHeader.securityFooterEnabled) { + rv |= UA_UInt16_encodeBinary(&src->securityHeader.securityFooterSize, + bufPos, bufEnd); + } + + return rv; +} + +UA_StatusCode +UA_NetworkMessage_encodeHeaders(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + /* Message Header */ + UA_StatusCode rv = UA_NetworkMessageHeader_encodeBinary(src, bufPos, bufEnd); + + /* Group Header */ + if(src->groupHeaderEnabled) + rv |= UA_GroupHeader_encodeBinary(src, bufPos, bufEnd); + + /* Payload Header */ + if(src->payloadHeaderEnabled) + rv |= UA_PayloadHeader_encodeBinary(src, bufPos, bufEnd); + + /* Extended Network Message Header */ + rv |= UA_ExtendedNetworkMessageHeader_encodeBinary(src, bufPos, bufEnd); + + /* SecurityHeader */ + if(src->securityEnabled) + rv |= UA_SecurityHeader_encodeBinary(src, bufPos, bufEnd); + + return rv; +} + + +UA_StatusCode +UA_NetworkMessage_encodePayload(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + UA_StatusCode rv; + + // Payload + if(src->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + UA_Byte count = 1; + + if(src->payloadHeaderEnabled) { + count = src->payloadHeader.dataSetPayloadHeader.count; + if(count > 1) { + for(UA_Byte i = 0; i < count; i++) { + /* Calculate the size, if not specified */ + UA_UInt16 sz = 0; + if((src->payload.dataSetPayload.sizes != NULL) && + (src->payload.dataSetPayload.sizes[i] != 0)) { + sz = src->payload.dataSetPayload.sizes[i]; + } else { + UA_DataSetMessage *dsm = &src->payload.dataSetPayload.dataSetMessages[i]; + sz = (UA_UInt16)UA_DataSetMessage_calcSizeBinary(dsm, NULL, 0); + } + + rv = UA_UInt16_encodeBinary(&sz, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + } + } + + for(UA_Byte i = 0; i < count; i++) { + UA_DataSetMessage *dsm = &src->payload.dataSetPayload.dataSetMessages[i]; + rv = UA_DataSetMessage_encodeBinary(dsm, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_NetworkMessage_encodeFooters(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + UA_StatusCode rv = UA_STATUSCODE_GOOD; + if(src->securityEnabled && + src->securityHeader.securityFooterEnabled) { + for(size_t i = 0; i < src->securityHeader.securityFooterSize; i++) { + rv |= UA_Byte_encodeBinary(&src->securityFooter.data[i], bufPos, bufEnd); + } + } + return rv; +} + +UA_StatusCode +UA_NetworkMessage_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd, UA_Byte **dataToEncryptStart) { + UA_StatusCode rv = UA_NetworkMessage_encodeHeaders(src, bufPos, bufEnd); + + if(dataToEncryptStart) + *dataToEncryptStart = *bufPos; + + rv |= UA_NetworkMessage_encodePayload(src, bufPos, bufEnd); + rv |= UA_NetworkMessage_encodeFooters(src, bufPos, bufEnd); + return rv; +} + +UA_StatusCode +UA_NetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst) { + UA_Byte decoded = 0; + UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &decoded); + UA_CHECK_STATUS(rv, return rv); + + dst->version = decoded & NM_VERSION_MASK; + + if((decoded & NM_PUBLISHER_ID_ENABLED_MASK) != 0) + dst->publisherIdEnabled = true; + + if((decoded & NM_GROUP_HEADER_ENABLED_MASK) != 0) + dst->groupHeaderEnabled = true; + + if((decoded & NM_PAYLOAD_HEADER_ENABLED_MASK) != 0) + dst->payloadHeaderEnabled = true; + + if((decoded & NM_EXTENDEDFLAGS1_ENABLED_MASK) != 0) { + decoded = 0; + rv = UA_Byte_decodeBinary(src, offset, &decoded); + UA_CHECK_STATUS(rv, return rv); + + dst->publisherIdType = (UA_PublisherIdType)(decoded & NM_PUBLISHER_ID_MASK); + if((decoded & NM_DATASET_CLASSID_ENABLED_MASK) != 0) + dst->dataSetClassIdEnabled = true; + + if((decoded & NM_SECURITY_ENABLED_MASK) != 0) + dst->securityEnabled = true; + + if((decoded & NM_TIMESTAMP_ENABLED_MASK) != 0) + dst->timestampEnabled = true; + + if((decoded & NM_PICOSECONDS_ENABLED_MASK) != 0) + dst->picosecondsEnabled = true; + + if((decoded & NM_EXTENDEDFLAGS2_ENABLED_MASK) != 0) { + decoded = 0; + rv = UA_Byte_decodeBinary(src, offset, &decoded); + UA_CHECK_STATUS(rv, return rv); + + if((decoded & NM_CHUNK_MESSAGE_MASK) != 0) + dst->chunkMessage = true; + + if((decoded & NM_PROMOTEDFIELDS_ENABLED_MASK) != 0) + dst->promotedFieldsEnabled = true; + + decoded = decoded & NM_NETWORK_MSG_TYPE_MASK; + decoded = (UA_Byte) (decoded >> NM_SHIFT_LEN); + dst->networkMessageType = (UA_NetworkMessageType)decoded; + } + } + + if(dst->publisherIdEnabled) { + switch (dst->publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + rv = UA_Byte_decodeBinary(src, offset, &dst->publisherId.byte); + break; + + case UA_PUBLISHERIDTYPE_UINT16: + rv = UA_UInt16_decodeBinary(src, offset, &dst->publisherId.uint16); + break; + + case UA_PUBLISHERIDTYPE_UINT32: + rv = UA_UInt32_decodeBinary(src, offset, &dst->publisherId.uint32); + break; + + case UA_PUBLISHERIDTYPE_UINT64: + rv = UA_UInt64_decodeBinary(src, offset, &dst->publisherId.uint64); + break; + + case UA_PUBLISHERIDTYPE_STRING: + rv = UA_String_decodeBinary(src, offset, &dst->publisherId.string); + break; + + default: + rv = UA_STATUSCODE_BADINTERNALERROR; + break; + } + UA_CHECK_STATUS(rv, return rv); + } + + if(dst->dataSetClassIdEnabled) { + rv = UA_Guid_decodeBinary(src, offset, &dst->dataSetClassId); + UA_CHECK_STATUS(rv, return rv); + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_GroupHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage* dst) { + UA_Byte decoded = 0; + UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &decoded); + + if((decoded & GROUP_HEADER_WRITER_GROUPID_ENABLED) != 0) { + dst->groupHeader.writerGroupIdEnabled = true; + rv |= UA_UInt16_decodeBinary(src, offset, &dst->groupHeader.writerGroupId); + } + + if((decoded & GROUP_HEADER_GROUP_VERSION_ENABLED) != 0) { + dst->groupHeader.groupVersionEnabled = true; + rv |= UA_UInt32_decodeBinary(src, offset, &dst->groupHeader.groupVersion); + } + + if((decoded & GROUP_HEADER_NM_NUMBER_ENABLED) != 0) { + dst->groupHeader.networkMessageNumberEnabled = true; + rv |= UA_UInt16_decodeBinary(src, offset, &dst->groupHeader.networkMessageNumber); + } + + if((decoded & GROUP_HEADER_SEQUENCE_NUMBER_ENABLED) != 0) { + dst->groupHeader.sequenceNumberEnabled = true; + rv |= UA_UInt16_decodeBinary(src, offset, &dst->groupHeader.sequenceNumber); + } + + return rv; +} + +static UA_StatusCode +UA_PayloadHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage* dst) { + + if(dst->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &dst->payloadHeader.dataSetPayloadHeader.count); + UA_CHECK_STATUS(rv, return rv); + + dst->payloadHeader.dataSetPayloadHeader.dataSetWriterIds = + (UA_UInt16 *)UA_Array_new(dst->payloadHeader.dataSetPayloadHeader.count, + &UA_TYPES[UA_TYPES_UINT16]); + for(UA_Byte i = 0; i < dst->payloadHeader.dataSetPayloadHeader.count; i++) { + rv = UA_UInt16_decodeBinary(src, offset, + &dst->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[i]); + UA_CHECK_STATUS(rv, return rv); + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ExtendedNetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage* dst) { + UA_StatusCode rv; + + // Timestamp + if(dst->timestampEnabled) { + rv = UA_DateTime_decodeBinary(src, offset, &dst->timestamp); + UA_CHECK_STATUS(rv, goto error); + } + + // Picoseconds + if(dst->picosecondsEnabled) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->picoseconds); + UA_CHECK_STATUS(rv, goto error); + } + + // PromotedFields + if(dst->promotedFieldsEnabled) { + // Size + UA_UInt16 promotedFieldsSize = 0; + rv = UA_UInt16_decodeBinary(src, offset, &promotedFieldsSize); + UA_CHECK_STATUS(rv, goto error); + + // promotedFieldsSize: here size in Byte, not the number of objects! + if(promotedFieldsSize > 0) { + // store offset, later compared with promotedFieldsSize + size_t offsetEnd = (*offset) + promotedFieldsSize; + + unsigned int counter = 0; + do { + if(counter == 0) { + dst->promotedFields = (UA_Variant*)UA_malloc(UA_TYPES[UA_TYPES_VARIANT].memSize); + UA_CHECK_MEM(dst->promotedFields, + return UA_STATUSCODE_BADOUTOFMEMORY); + // set promotedFieldsSize to the number of objects + dst->promotedFieldsSize = (UA_UInt16) (counter + 1); + } else { + dst->promotedFields = (UA_Variant*) + UA_realloc(dst->promotedFields, + (size_t) UA_TYPES[UA_TYPES_VARIANT].memSize * (counter + 1)); + UA_CHECK_MEM(dst->promotedFields, + return UA_STATUSCODE_BADOUTOFMEMORY); + // set promotedFieldsSize to the number of objects + dst->promotedFieldsSize = (UA_UInt16) (counter + 1); + } + + UA_Variant_init(&dst->promotedFields[counter]); + rv = UA_Variant_decodeBinary(src, offset, &dst->promotedFields[counter]); + UA_CHECK_STATUS(rv, goto error); + + counter++; + } while ((*offset) < offsetEnd); + } + } + return UA_STATUSCODE_GOOD; + +error: + if(dst->promotedFields) { + UA_free(dst->promotedFields); + dst->promotedFields = NULL; + } + return rv; +} + +static UA_StatusCode +UA_SecurityHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage* dst) { + UA_Byte decoded = 0; + // SecurityFlags + decoded = 0; + UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &decoded); + UA_CHECK_STATUS(rv, return rv); + + if((decoded & SECURITY_HEADER_NM_SIGNED) != 0) + dst->securityHeader.networkMessageSigned = true; + + if((decoded & SECURITY_HEADER_NM_ENCRYPTED) != 0) + dst->securityHeader.networkMessageEncrypted = true; + + if((decoded & SECURITY_HEADER_SEC_FOOTER_ENABLED) != 0) + dst->securityHeader.securityFooterEnabled = true; + + if((decoded & SECURITY_HEADER_FORCE_KEY_RESET) != 0) + dst->securityHeader.forceKeyReset = true; + + // SecurityTokenId + rv = UA_UInt32_decodeBinary(src, offset, &dst->securityHeader.securityTokenId); + UA_CHECK_STATUS(rv, return rv); + + // MessageNonce + UA_Byte nonceLength; + rv = UA_Byte_decodeBinary(src, offset, &nonceLength); + UA_CHECK_STATUS(rv, return rv); + if(nonceLength > UA_NETWORKMESSAGE_MAX_NONCE_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + if(nonceLength > 0) { + dst->securityHeader.messageNonceSize = nonceLength; + for(UA_Byte i = 0; i < nonceLength; i++) { + rv = UA_Byte_decodeBinary(src, offset, + &dst->securityHeader.messageNonce[i]); + UA_CHECK_STATUS(rv, return rv); + } + } + + // SecurityFooterSize + if(dst->securityHeader.securityFooterEnabled) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->securityHeader.securityFooterSize); + UA_CHECK_STATUS(rv, return rv); + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_NetworkMessage_decodeHeaders(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst) { + + UA_StatusCode rv = UA_NetworkMessageHeader_decodeBinary(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + + if(dst->groupHeaderEnabled) { + rv = UA_GroupHeader_decodeBinary(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + } + + if(dst->payloadHeaderEnabled) { + rv = UA_PayloadHeader_decodeBinary(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + } + + rv = UA_ExtendedNetworkMessageHeader_decodeBinary(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + + if(dst->securityEnabled) { + rv = UA_SecurityHeader_decodeBinary(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_NetworkMessage_decodePayload(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst, const UA_DataTypeArray *customTypes, UA_DataSetMetaDataType *dsm) { + + // Payload + if(dst->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + UA_StatusCode rv; + + UA_Byte count = 1; + if(dst->payloadHeaderEnabled) { + count = dst->payloadHeader.dataSetPayloadHeader.count; + if(count > 1) { + dst->payload.dataSetPayload.sizes = (UA_UInt16 *)UA_Array_new(count, &UA_TYPES[UA_TYPES_UINT16]); + for(UA_Byte i = 0; i < count; i++) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->payload.dataSetPayload.sizes[i]); + UA_CHECK_STATUS(rv, return rv); + } + } + } + + dst->payload.dataSetPayload.dataSetMessages = (UA_DataSetMessage*) + UA_calloc(count, sizeof(UA_DataSetMessage)); + UA_CHECK_MEM(dst->payload.dataSetPayload.dataSetMessages, + return UA_STATUSCODE_BADOUTOFMEMORY); + + if(count == 1) + rv = UA_DataSetMessage_decodeBinary(src, offset, + &dst->payload.dataSetPayload.dataSetMessages[0], + 0, customTypes, dsm); + else { + for(UA_Byte i = 0; i < count; i++) { + rv = UA_DataSetMessage_decodeBinary(src, offset, + &dst->payload.dataSetPayload.dataSetMessages[i], + dst->payload.dataSetPayload.sizes[i], customTypes, + dsm); + } + } + UA_CHECK_STATUS(rv, return rv); + + return UA_STATUSCODE_GOOD; + + /** + * TODO: check if making the cleanup to free its own allocated memory is better, + * currently the free happens in a parent context + */ +} + +UA_StatusCode +UA_NetworkMessage_decodeFooters(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage *dst) { + if(!dst->securityEnabled) + return UA_STATUSCODE_GOOD; + + // SecurityFooter + UA_StatusCode rv = UA_STATUSCODE_GOOD; + if(dst->securityHeader.securityFooterEnabled && + dst->securityHeader.securityFooterSize > 0) { + rv = UA_ByteString_allocBuffer(&dst->securityFooter, + dst->securityHeader.securityFooterSize); + UA_CHECK_STATUS(rv, return rv); + + for(UA_UInt16 i = 0; i < dst->securityHeader.securityFooterSize; i++) { + rv |= UA_Byte_decodeBinary(src, offset, &dst->securityFooter.data[i]); + } + } + return rv; +} + +UA_StatusCode +UA_NetworkMessage_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_NetworkMessage* dst, const UA_DataTypeArray *customTypes) { + /* headers only need to be decoded when not in encryption mode + * because headers are already decoded when encryption mode is enabled + * to check for security parameters and decrypt/verify + * + * TODO: check if there is a workaround to use this function + * also when encryption is enabled + */ + // #ifndef UA_ENABLE_PUBSUB_ENCRYPTION + // if(*offset == 0) { + // rv = UA_NetworkMessage_decodeHeaders(src, offset, dst); + // UA_CHECK_STATUS(rv, return rv); + // } + // #endif + + UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + + rv = UA_NetworkMessage_decodePayload(src, offset, dst, customTypes, NULL); + UA_CHECK_STATUS(rv, return rv); + + rv = UA_NetworkMessage_decodeFooters(src, offset, dst); + UA_CHECK_STATUS(rv, return rv); + + return UA_STATUSCODE_GOOD; +} + +static UA_Boolean +increaseOffsetArray(UA_NetworkMessageOffsetBuffer *offsetBuffer) { + UA_NetworkMessageOffset *tmpOffsets = (UA_NetworkMessageOffset *) + UA_realloc(offsetBuffer->offsets, sizeof(UA_NetworkMessageOffset) * (offsetBuffer->offsetsSize + (size_t)1)); + UA_CHECK_MEM(tmpOffsets, return false); + memset(&tmpOffsets[offsetBuffer->offsetsSize], 0, sizeof(UA_NetworkMessageOffset)); + offsetBuffer->offsets = tmpOffsets; + offsetBuffer->offsetsSize++; + return true; +} + +size_t +UA_NetworkMessage_calcSizeBinary(UA_NetworkMessage *p, + UA_NetworkMessageOffsetBuffer *offsetBuffer) { + size_t size = 1; /* byte */ + if(UA_NetworkMessage_ExtendedFlags1Enabled(p)) { + size += 1; /* byte */ + if(UA_NetworkMessage_ExtendedFlags2Enabled(p)) + size += 1; /* byte */ + } + + if(p->publisherIdEnabled) { + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_PUBLISHERID; + } + + switch(p->publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + size += 1; /* byte */ + break; + case UA_PUBLISHERIDTYPE_UINT16: + size += 2; /* uint16 */ + break; + case UA_PUBLISHERIDTYPE_UINT32: + size += 4; /* uint32 */ + break; + case UA_PUBLISHERIDTYPE_UINT64: + size += 8; /* uint64 */ + break; + case UA_PUBLISHERIDTYPE_STRING: + size += UA_String_calcSizeBinary(&p->publisherId.string); + break; + } + } + + if(p->dataSetClassIdEnabled) + size += 16; /* guid */ + + // Group Header + if(p->groupHeaderEnabled) { + size += 1; /* byte */ + + if(p->groupHeader.writerGroupIdEnabled) { + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_WRITERGROUPID; + } + size += 2; /* UA_UInt16_calcSizeBinary(&p->groupHeader.writerGroupId) */ + } + + if(p->groupHeader.groupVersionEnabled) + size += 4; /* UA_UInt32_calcSizeBinary(&p->groupHeader.groupVersion) */ + + if(p->groupHeader.networkMessageNumberEnabled) { + size += 2; /* UA_UInt16_calcSizeBinary(&p->groupHeader.networkMessageNumber) */ + } + + if(p->groupHeader.sequenceNumberEnabled){ + if(offsetBuffer){ + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].content.sequenceNumber = + p->groupHeader.sequenceNumber; + offsetBuffer->offsets[pos].contentType = + UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER; + } + size += 2; /* UA_UInt16_calcSizeBinary(&p->groupHeader.sequenceNumber) */ + } + } + + // Payload Header + if(p->payloadHeaderEnabled) { + if(p->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return 0; /* not implemented */ + if(!p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds) + return 0; /* no dataSetWriterIds given! */ + size += 1; /* p->payloadHeader.dataSetPayloadHeader.count */ + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_DATASETWRITERID; + } + size += (size_t)(2LU * p->payloadHeader.dataSetPayloadHeader.count); /* uint16 */ + } + + if(p->timestampEnabled) { + if(offsetBuffer){ + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_TIMESTAMP; + } + size += 8; /* UA_DateTime_calcSizeBinary(&p->timestamp) */ + } + + if(p->picosecondsEnabled){ + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_TIMESTAMP_PICOSECONDS; + } + size += 2; /* UA_UInt16_calcSizeBinary(&p->picoseconds) */ + } + + if(p->promotedFieldsEnabled) { + size += 2; /* UA_UInt16_calcSizeBinary(&p->promotedFieldsSize) */ + for(UA_UInt16 i = 0; i < p->promotedFieldsSize; i++) + size += UA_Variant_calcSizeBinary(&p->promotedFields[i]); + } + + if(p->securityEnabled) { + size += 1; /* UA_Byte_calcSizeBinary(&byte) */ + size += 4; /* UA_UInt32_calcSizeBinary(&p->securityHeader.securityTokenId) */ + size += 1; /* UA_Byte_calcSizeBinary(&p->securityHeader.nonceLength) */ + size += p->securityHeader.messageNonceSize; + if(p->securityHeader.securityFooterEnabled) + size += 2; /* UA_UInt16_calcSizeBinary(&p->securityHeader.securityFooterSize) */ + } + + /* Encode the payload */ + if(p->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return 0; /* not implemented */ + UA_Byte count = 1; + if(p->payloadHeaderEnabled) { + count = p->payloadHeader.dataSetPayloadHeader.count; + if(count > 1) + size += (size_t)(2LU * count); /* uint16 */ + } + for(size_t i = 0; i < count; i++) { + UA_DataSetMessage *dsm = &p->payload.dataSetPayload.dataSetMessages[i]; + size = UA_DataSetMessage_calcSizeBinary(dsm, offsetBuffer, size); + } + + if(p->securityEnabled && p->securityHeader.securityFooterEnabled) + size += p->securityHeader.securityFooterSize; + + return size; +} + +void +UA_NetworkMessage_clear(UA_NetworkMessage* p) { + if(p->promotedFieldsEnabled) { + UA_Array_delete(p->promotedFields, p->promotedFieldsSize, + &UA_TYPES[UA_TYPES_VARIANT]); + } + + if(p->networkMessageType == UA_NETWORKMESSAGE_DATASET) { + if(p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds && + p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds != UA_EMPTY_ARRAY_SENTINEL) + UA_free(p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds); + + if(p->payload.dataSetPayload.sizes) + UA_free(p->payload.dataSetPayload.sizes); + + if(p->payload.dataSetPayload.dataSetMessages) { + UA_Byte count = 1; + if(p->payloadHeaderEnabled) + count = p->payloadHeader.dataSetPayloadHeader.count; + for(size_t i = 0; i < count; i++) + UA_DataSetMessage_clear(&p->payload.dataSetPayload.dataSetMessages[i]); + UA_free(p->payload.dataSetPayload.dataSetMessages); + } + } + + UA_ByteString_clear(&p->securityFooter); + UA_String_clear(&p->messageId); + + if(p->publisherIdEnabled && + p->publisherIdType == UA_PUBLISHERIDTYPE_STRING) + UA_String_clear(&p->publisherId.string); + + memset(p, 0, sizeof(UA_NetworkMessage)); +} + +UA_Boolean +UA_NetworkMessage_ExtendedFlags1Enabled(const UA_NetworkMessage* src) { + if(src->publisherIdType != UA_PUBLISHERIDTYPE_BYTE || + src->dataSetClassIdEnabled || src->securityEnabled || + src->timestampEnabled || src->picosecondsEnabled || + UA_NetworkMessage_ExtendedFlags2Enabled(src)) + return true; + return false; +} + +UA_Boolean +UA_NetworkMessage_ExtendedFlags2Enabled(const UA_NetworkMessage* src) { + if(src->chunkMessage || src->promotedFieldsEnabled || + src->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return true; + return false; +} + +UA_Boolean +UA_DataSetMessageHeader_DataSetFlags2Enabled(const UA_DataSetMessageHeader* src) { + if(src->dataSetMessageType != UA_DATASETMESSAGE_DATAKEYFRAME || + src->timestampEnabled || src->picoSecondsIncluded) + return true; + return false; +} + +UA_StatusCode +UA_DataSetMessageHeader_encodeBinary(const UA_DataSetMessageHeader* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + UA_Byte v; + // DataSetFlags1 + v = (UA_Byte)src->fieldEncoding; + // shift left 1 bit + v = (UA_Byte)(v << DS_MH_SHIFT_LEN); + + if(src->dataSetMessageValid) + v |= DS_MESSAGEHEADER_DS_MSG_VALID; + + if(src->dataSetMessageSequenceNrEnabled) + v |= DS_MESSAGEHEADER_SEQ_NR_ENABLED_MASK; + + if(src->statusEnabled) + v |= DS_MESSAGEHEADER_STATUS_ENABLED_MASK; + + if(src->configVersionMajorVersionEnabled) + v |= DS_MESSAGEHEADER_CONFIGMAJORVERSION_ENABLED_MASK; + + if(src->configVersionMinorVersionEnabled) + v |= DS_MESSAGEHEADER_CONFIGMINORVERSION_ENABLED_MASK; + + if(UA_DataSetMessageHeader_DataSetFlags2Enabled(src)) + v |= DS_MESSAGEHEADER_FLAGS2_ENABLED_MASK; + + UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + // DataSetFlags2 + if(UA_DataSetMessageHeader_DataSetFlags2Enabled(src)) { + v = (UA_Byte)src->dataSetMessageType; + + if(src->timestampEnabled) + v |= DS_MESSAGEHEADER_TIMESTAMP_ENABLED_MASK; + + if(src->picoSecondsIncluded) + v |= DS_MESSAGEHEADER_PICOSECONDS_INCLUDED_MASK; + + rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + // DataSetMessageSequenceNr + if(src->dataSetMessageSequenceNrEnabled) { + rv = UA_UInt16_encodeBinary(&src->dataSetMessageSequenceNr, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + // Timestamp + if(src->timestampEnabled) { + rv = UA_DateTime_encodeBinary(&src->timestamp, bufPos, bufEnd); /* UtcTime */ + UA_CHECK_STATUS(rv, return rv); + } + + // PicoSeconds + if(src->picoSecondsIncluded) { + rv = UA_UInt16_encodeBinary(&src->picoSeconds, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + // Status + if(src->statusEnabled) { + rv = UA_UInt16_encodeBinary(&src->status, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + // ConfigVersionMajorVersion + if(src->configVersionMajorVersionEnabled) { + rv = UA_UInt32_encodeBinary(&src->configVersionMajorVersion, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + // ConfigVersionMinorVersion + if(src->configVersionMinorVersionEnabled) { + rv = UA_UInt32_encodeBinary(&src->configVersionMinorVersion, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + return UA_STATUSCODE_GOOD; +} + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + +UA_StatusCode +UA_NetworkMessage_signEncrypt(UA_NetworkMessage *nm, UA_MessageSecurityMode securityMode, + UA_PubSubSecurityPolicy *policy, void *policyContext, + UA_Byte *messageStart, UA_Byte *encryptStart, + UA_Byte *sigStart) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + + /* Encrypt the payload */ + if(securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + /* Set the temporary MessageNonce in the SecurityPolicy */ + const UA_ByteString nonce = { + (size_t)nm->securityHeader.messageNonceSize, + nm->securityHeader.messageNonce + }; + res = policy->setMessageNonce(policyContext, &nonce); + UA_CHECK_STATUS(res, return res); + + /* The encryption is done in-place, no need to encode again */ + UA_ByteString encryptBuf; + encryptBuf.data = encryptStart; + encryptBuf.length = (uintptr_t)sigStart - (uintptr_t)encryptStart; + res = policy->symmetricModule.cryptoModule.encryptionAlgorithm. + encrypt(policyContext, &encryptBuf); + UA_CHECK_STATUS(res, return res); + } + + /* Sign the entire message */ + if(securityMode == UA_MESSAGESECURITYMODE_SIGN || + securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + UA_ByteString sigBuf; + sigBuf.length = (uintptr_t)sigStart - (uintptr_t)messageStart; + sigBuf.data = messageStart; + size_t sigSize = policy->symmetricModule.cryptoModule. + signatureAlgorithm.getLocalSignatureSize(policyContext); + UA_ByteString sig = {sigSize, sigStart}; + res = policy->symmetricModule.cryptoModule. + signatureAlgorithm.sign(policyContext, &sigBuf, &sig); + } + + return res; +} +#endif + +UA_StatusCode +UA_DataSetMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, + UA_DataSetMessageHeader* dst) { + memset(dst, 0, sizeof(UA_DataSetMessageHeader)); + UA_Byte v = 0; + UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &v); + UA_CHECK_STATUS(rv, return rv); + + UA_Byte v2 = v & DS_MESSAGEHEADER_FIELD_ENCODING_MASK; + v2 = (UA_Byte)(v2 >> DS_MH_SHIFT_LEN); + dst->fieldEncoding = (UA_FieldEncoding)v2; + + if((v & DS_MESSAGEHEADER_DS_MSG_VALID) != 0) + dst->dataSetMessageValid = true; + + if((v & DS_MESSAGEHEADER_SEQ_NR_ENABLED_MASK) != 0) + dst->dataSetMessageSequenceNrEnabled = true; + + if((v & DS_MESSAGEHEADER_STATUS_ENABLED_MASK) != 0) + dst->statusEnabled = true; + + if((v & DS_MESSAGEHEADER_CONFIGMAJORVERSION_ENABLED_MASK) != 0) + dst->configVersionMajorVersionEnabled = true; + + if((v & DS_MESSAGEHEADER_CONFIGMINORVERSION_ENABLED_MASK) != 0) + dst->configVersionMinorVersionEnabled = true; + + if((v & DS_MESSAGEHEADER_FLAGS2_ENABLED_MASK) != 0) { + v = 0; + rv = UA_Byte_decodeBinary(src, offset, &v); + UA_CHECK_STATUS(rv, return rv); + + dst->dataSetMessageType = (UA_DataSetMessageType)(v & DS_MESSAGEHEADER_DS_MESSAGE_TYPE_MASK); + + if((v & DS_MESSAGEHEADER_TIMESTAMP_ENABLED_MASK) != 0) + dst->timestampEnabled = true; + + if((v & DS_MESSAGEHEADER_PICOSECONDS_INCLUDED_MASK) != 0) + dst->picoSecondsIncluded = true; + } else { + dst->dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; + dst->picoSecondsIncluded = false; + } + + if(dst->dataSetMessageSequenceNrEnabled) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->dataSetMessageSequenceNr); + UA_CHECK_STATUS(rv, return rv); + } else { + dst->dataSetMessageSequenceNr = 0; + } + + if(dst->timestampEnabled) { + rv = UA_DateTime_decodeBinary(src, offset, &dst->timestamp); /* UtcTime */ + UA_CHECK_STATUS(rv, return rv); + } else { + dst->timestamp = 0; + } + + if(dst->picoSecondsIncluded) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->picoSeconds); + UA_CHECK_STATUS(rv, return rv); + } else { + dst->picoSeconds = 0; + } + + if(dst->statusEnabled) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->status); + UA_CHECK_STATUS(rv, return rv); + } else { + dst->status = 0; + } + + if(dst->configVersionMajorVersionEnabled) { + rv = UA_UInt32_decodeBinary(src, offset, &dst->configVersionMajorVersion); + UA_CHECK_STATUS(rv, return rv); + } else { + dst->configVersionMajorVersion = 0; + } + + if(dst->configVersionMinorVersionEnabled) { + rv = UA_UInt32_decodeBinary(src, offset, &dst->configVersionMinorVersion); + UA_CHECK_STATUS(rv, return rv); + } else { + dst->configVersionMinorVersion = 0; + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_DataSetMessage_encodeBinary(const UA_DataSetMessage* src, UA_Byte **bufPos, + const UA_Byte *bufEnd) { + UA_StatusCode rv = UA_DataSetMessageHeader_encodeBinary(&src->header, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + if(src->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { + /* Heartbeat: "DataSetMessage is a key frame that only contains header + * information" */ + if(src->data.keyFrameData.fieldCount == 0) + return rv; + + if(src->header.fieldEncoding != UA_FIELDENCODING_RAWDATA) { + rv = UA_UInt16_encodeBinary(&src->data.keyFrameData.fieldCount, + bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + + for(UA_UInt16 i = 0; i < src->data.keyFrameData.fieldCount; i++) { + const UA_DataValue *v = &src->data.keyFrameData.dataSetFields[i]; + + if(src->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { + rv = UA_Variant_encodeBinary(&v->value, bufPos, bufEnd); + } else if(src->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { + UA_FieldMetaData *fmd = + &src->data.keyFrameData.dataSetMetaDataType->fields[i]; + if(fmd->maxStringLength != 0 && + (v->value.type->typeKind == UA_DATATYPEKIND_STRING || + v->value.type->typeKind == UA_DATATYPEKIND_BYTESTRING)){ + rv = UA_encodeBinaryInternal(v->value.data, v->value.type, + bufPos, &bufEnd, NULL, NULL); + size_t lengthDifference = fmd->maxStringLength - + ((UA_String *)v->value.data)->length; + memset(*bufPos, 0, lengthDifference); + *bufPos += lengthDifference; + } else { + /* padding not yet supported for strings as part of structures */ + rv = UA_encodeBinaryInternal(v->value.data, v->value.type, + bufPos, &bufEnd, NULL, NULL); + } + } else if(src->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { + rv = UA_DataValue_encodeBinary(v, bufPos, bufEnd); + } + + UA_CHECK_STATUS(rv, return rv); + } + } else if(src->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { + // Encode Delta Frame + // Here the FieldCount is always present + rv = UA_UInt16_encodeBinary(&src->data.deltaFrameData.fieldCount, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + if(src->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { + for(UA_UInt16 i = 0; i < src->data.deltaFrameData.fieldCount; i++) { + rv = UA_UInt16_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldIndex, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + rv = UA_Variant_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldValue.value, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + } else if(src->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } else if(src->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { + for(UA_UInt16 i = 0; i < src->data.deltaFrameData.fieldCount; i++) { + rv = UA_UInt16_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldIndex, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + rv = UA_DataValue_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldValue, bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + } + } + } else if(src->header.dataSetMessageType != UA_DATASETMESSAGE_KEEPALIVE) { + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + + /* if the configuredSize is set -> padd the message with 0. */ + if(src->configuredSize > 0 && src->header.dataSetMessageValid) { + size_t padding = (size_t)(bufEnd - *bufPos); + /* Set the bytes to 0*/ + memset(*bufPos, 0, padding); + /* move the bufpos accordingly*/ + *bufPos += padding; + } + /* Keep-Alive Message contains no Payload Data */ + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_DataSetMessage_decodeBinary(const UA_ByteString *src, size_t *offset, UA_DataSetMessage* dst, UA_UInt16 dsmSize, const UA_DataTypeArray *customTypes, UA_DataSetMetaDataType *dsm) { + size_t initialOffset = *offset; + memset(dst, 0, sizeof(UA_DataSetMessage)); + UA_StatusCode rv = UA_DataSetMessageHeader_decodeBinary(src, offset, &dst->header); + UA_CHECK_STATUS(rv, return rv); + + if(dst->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { + if(*offset == src->length) { + /* Messages ends after the header --> Heartbeat */ + return rv; + } + + switch(dst->header.fieldEncoding) { + case UA_FIELDENCODING_VARIANT: + rv = UA_UInt16_decodeBinary(src, offset, &dst->data.keyFrameData.fieldCount); + UA_CHECK_STATUS(rv, return rv); + dst->data.keyFrameData.dataSetFields = + (UA_DataValue *)UA_Array_new(dst->data.keyFrameData.fieldCount, &UA_TYPES[UA_TYPES_DATAVALUE]); + for(UA_UInt16 i = 0; i < dst->data.keyFrameData.fieldCount; i++) { + UA_DataValue_init(&dst->data.keyFrameData.dataSetFields[i]); + rv = UA_decodeBinaryInternal(src, offset, &dst->data.keyFrameData.dataSetFields[i].value, &UA_TYPES[UA_TYPES_VARIANT], customTypes); + UA_CHECK_STATUS(rv, return rv); + + dst->data.keyFrameData.dataSetFields[i].hasValue = true; + } + break; + case UA_FIELDENCODING_DATAVALUE: + rv = UA_UInt16_decodeBinary(src, offset, &dst->data.keyFrameData.fieldCount); + UA_CHECK_STATUS(rv, return rv); + dst->data.keyFrameData.dataSetFields = + (UA_DataValue *)UA_Array_new(dst->data.keyFrameData.fieldCount, &UA_TYPES[UA_TYPES_DATAVALUE]); + for(UA_UInt16 i = 0; i < dst->data.keyFrameData.fieldCount; i++) { + rv = UA_decodeBinaryInternal(src, offset, + &dst->data.keyFrameData.dataSetFields[i], + &UA_TYPES[UA_TYPES_DATAVALUE], customTypes); + UA_CHECK_STATUS(rv, return rv); + } + break; + case UA_FIELDENCODING_RAWDATA: + dst->data.keyFrameData.rawFields.data = &src->data[*offset]; + dst->data.keyFrameData.rawFields.length = dsmSize; + if(dsmSize == 0){ + if(dsm != NULL) { + size_t tmpOffset = 0; + // calculate the length of the DSM-Payload for a single DSM + dst->data.keyFrameData.fieldCount = (UA_UInt16)dsm->fieldsSize; + for(size_t i = 0; i < dsm->fieldsSize; i++) { + /* TODO The datatype reference should be part of the internal + * pubsub configuration to avoid the time-expensive lookup */ + const UA_DataType *type = + UA_findDataTypeWithCustom(&dsm->fields[i].dataType, + customTypes); + dst->data.keyFrameData.rawFields.length += type->memSize; + UA_STACKARRAY(UA_Byte, value, type->memSize); + rv = UA_decodeBinaryInternal(&dst->data.keyFrameData.rawFields, + &tmpOffset, value, type, NULL); + UA_CHECK_STATUS(rv, return rv); + if(dsm->fields[i].maxStringLength != 0) { + if(type->typeKind == UA_DATATYPEKIND_STRING || + type->typeKind == UA_DATATYPEKIND_BYTESTRING) { + UA_ByteString *bs = (UA_ByteString *) value; + //check if length < maxStringLength, The types ByteString and String are equal in their base definition + size_t lengthDifference = dsm->fields[i].maxStringLength - bs->length; + tmpOffset += lengthDifference; + dst->data.keyFrameData.rawFields.length += lengthDifference; + } + } + } + *offset += tmpOffset; + } else { + //TODO calculate the length of the DSM-Payload for a single DSM + //Problem: Size is not set and MetaData information are needed. + //Increase offset to avoid endless chunk loop. Needs to be fixed when + //pubsub security footer and signatur is enabled. + *offset += 1500; + } + } else { + *offset += (dsmSize - (*offset - initialOffset)); + } + break; + default: + return UA_STATUSCODE_BADINTERNALERROR; + } + } else if(dst->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { + switch(dst->header.fieldEncoding) { + case UA_FIELDENCODING_VARIANT: { + rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.fieldCount); + UA_CHECK_STATUS(rv, return rv); + size_t memsize = sizeof(UA_DataSetMessage_DeltaFrameField) * dst->data.deltaFrameData.fieldCount; + dst->data.deltaFrameData.deltaFrameFields = (UA_DataSetMessage_DeltaFrameField*)UA_malloc(memsize); + for(UA_UInt16 i = 0; i < dst->data.deltaFrameData.fieldCount; i++) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.deltaFrameFields[i].fieldIndex); + UA_CHECK_STATUS(rv, return rv); + + UA_DataValue_init(&dst->data.deltaFrameData.deltaFrameFields[i].fieldValue); + rv = UA_decodeBinaryInternal(src, offset, &dst->data.deltaFrameData.deltaFrameFields[i].fieldValue.value, &UA_TYPES[UA_TYPES_VARIANT], customTypes); + UA_CHECK_STATUS(rv, return rv); + + dst->data.deltaFrameData.deltaFrameFields[i].fieldValue.hasValue = true; + } + break; + } + case UA_FIELDENCODING_DATAVALUE: { + rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.fieldCount); + UA_CHECK_STATUS(rv, return rv); + size_t memsize = sizeof(UA_DataSetMessage_DeltaFrameField) * dst->data.deltaFrameData.fieldCount; + dst->data.deltaFrameData.deltaFrameFields = (UA_DataSetMessage_DeltaFrameField*)UA_malloc(memsize); + for(UA_UInt16 i = 0; i < dst->data.deltaFrameData.fieldCount; i++) { + rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.deltaFrameFields[i].fieldIndex); + UA_CHECK_STATUS(rv, return rv); + + rv = UA_decodeBinaryInternal(src, offset, + &dst->data.deltaFrameData.deltaFrameFields[i].fieldValue, + &UA_TYPES[UA_TYPES_DATAVALUE], customTypes); + + UA_CHECK_STATUS(rv, return rv); + } + break; + } + case UA_FIELDENCODING_RAWDATA: { + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + default: + return UA_STATUSCODE_BADINTERNALERROR; + } + } else if(dst->header.dataSetMessageType != UA_DATASETMESSAGE_KEEPALIVE) { + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + + /* Keep-Alive Message contains no Payload Data */ + return UA_STATUSCODE_GOOD; +} + +size_t +UA_DataSetMessage_calcSizeBinary(UA_DataSetMessage* p, + UA_NetworkMessageOffsetBuffer *offsetBuffer, + size_t currentOffset) { + size_t size = currentOffset; + + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + offsetBuffer->offsets[pos].offset = size; + UA_DataValue_init(&offsetBuffer->offsets[pos].content.value); + UA_Variant_setScalar(&offsetBuffer->offsets[pos].content.value.value, + &p->header.fieldEncoding, &UA_TYPES[UA_TYPES_UINT32]); + offsetBuffer->offsets[pos].contentType = + UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING; + } + + size += 1; /* byte: DataSetMessage Type + Flags */ + if(UA_DataSetMessageHeader_DataSetFlags2Enabled(&p->header)) + size += 1; /* byte */ + + if(p->header.dataSetMessageSequenceNrEnabled) { + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + offsetBuffer->offsets[pos].offset = size; + offsetBuffer->offsets[pos].content.sequenceNumber = + p->header.dataSetMessageSequenceNr; + offsetBuffer->offsets[pos].contentType = + UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER; + } + size += 2; /* UA_UInt16_calcSizeBinary(&p->header.dataSetMessageSequenceNr) */ + } + + if(p->header.timestampEnabled) + size += 8; /* UA_DateTime_calcSizeBinary(&p->header.timestamp) */ + + if(p->header.picoSecondsIncluded) + size += 2; /* UA_UInt16_calcSizeBinary(&p->header.picoSeconds) */ + + if(p->header.statusEnabled) + size += 2; /* UA_UInt16_calcSizeBinary(&p->header.status) */ + + if(p->header.configVersionMajorVersionEnabled) + size += 4; /* UA_UInt32_calcSizeBinary(&p->header.configVersionMajorVersion) */ + + if(p->header.configVersionMinorVersionEnabled) + size += 4; /* UA_UInt32_calcSizeBinary(&p->header.configVersionMinorVersion) */ + + /* Keyframe with no fields is a heartbeat */ + if(p->header.dataSetMessageType == UA_DATASETMESSAGE_KEEPALIVE || + (p->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME && + p->data.keyFrameData.fieldCount == 0)) + return size; + + if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { + if(p->header.fieldEncoding != UA_FIELDENCODING_RAWDATA) + size += 2; /* p->data.keyFrameData.fieldCount */ + + for(UA_UInt16 i = 0; i < p->data.keyFrameData.fieldCount; i++){ + UA_NetworkMessageOffset *nmo = NULL; + const UA_DataValue *v = &p->data.keyFrameData.dataSetFields[i]; + if(offsetBuffer) { + size_t pos = offsetBuffer->offsetsSize; + if(!increaseOffsetArray(offsetBuffer)) + return 0; + nmo = &offsetBuffer->offsets[pos]; + nmo->offset = size; + } + + if(p->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { + if(offsetBuffer) + nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT; + size += UA_calcSizeBinary(&v->value, &UA_TYPES[UA_TYPES_VARIANT]); + } else if(p->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { + if(p->data.keyFrameData.dataSetFields != NULL) { + if(offsetBuffer) { + if(!v->value.type->pointerFree) + return 0; /* only integer types for now */ + /* Count the memory size of the specific field */ + offsetBuffer->rawMessageLength += v->value.type->memSize; + nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW; + } + size += UA_calcSizeBinary(v->value.data, v->value.type); + + /* Handle zero-padding for strings with max-string-length. + * Currently not supported for strings that are a part of larger + * structures. */ + UA_FieldMetaData *fmd = + &p->data.keyFrameData.dataSetMetaDataType->fields[i]; + if(fmd->maxStringLength != 0 && + (v->value.type->typeKind == UA_DATATYPEKIND_STRING || + v->value.type->typeKind == UA_DATATYPEKIND_BYTESTRING)) { + /* Check if length < maxStringLength, The types ByteString + * and String are equal in their base definition */ + size_t lengthDifference = fmd->maxStringLength - + ((UA_String *)v->value.data)->length; + size += lengthDifference; + } + } else { + /* get length calculated in UA_DataSetMessage_decodeBinary */ + if(offsetBuffer) { + offsetBuffer->rawMessageLength = p->data.keyFrameData.rawFields.length; + nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW; + } + size += p->data.keyFrameData.rawFields.length; + /* no iteration needed */ + break; + } + } else if(p->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { + if(offsetBuffer) + nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE; + size += UA_calcSizeBinary(v, &UA_TYPES[UA_TYPES_DATAVALUE]); + } + } + } else if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { + if(offsetBuffer) + return 0; /* Not supported for RT */ + + if(p->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) + return 0; /* not supported */ + + size += 2; /* p->data.deltaFrameData.fieldCount */ + size += (size_t)(2LU * p->data.deltaFrameData.fieldCount); /* fieldIndex per field */ + + for(UA_UInt16 i = 0; i < p->data.deltaFrameData.fieldCount; i++) { + const UA_DataValue *v = &p->data.deltaFrameData.deltaFrameFields[i].fieldValue; + if(p->header.fieldEncoding == UA_FIELDENCODING_VARIANT) + size += UA_calcSizeBinary(&v->value, &UA_TYPES[UA_TYPES_VARIANT]); + else if(p->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) + size += UA_calcSizeBinary(v, &UA_TYPES[UA_TYPES_DATAVALUE]); + } + } else { + return 0; + } + + if(p->configuredSize > 0) { + /* If the message is larger than the configuredSize, it shall be set to not valid */ + if(p->configuredSize < size) + p->header.dataSetMessageValid = UA_FALSE; + + size = p->configuredSize; + } + + /* KeepAlive-Message contains no Payload Data */ + return size; +} + +void +UA_DataSetMessage_clear(UA_DataSetMessage* p) { + if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { + if(p->data.keyFrameData.dataSetFields) { + UA_Array_delete(p->data.keyFrameData.dataSetFields, + p->data.keyFrameData.fieldCount, + &UA_TYPES[UA_TYPES_DATAVALUE]); + } + + /* Json keys */ + if(p->data.keyFrameData.fieldNames){ + UA_Array_delete(p->data.keyFrameData.fieldNames, + p->data.keyFrameData.fieldCount, + &UA_TYPES[UA_TYPES_STRING]); + } + } else if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { + if(p->data.deltaFrameData.deltaFrameFields) { + for(UA_UInt16 i = 0; i < p->data.deltaFrameData.fieldCount; i++) { + UA_DataSetMessage_DeltaFrameField *f = + &p->data.deltaFrameData.deltaFrameFields[i]; + UA_DataValue_clear(&f->fieldValue); + } + UA_free(p->data.deltaFrameData.deltaFrameFields); + } + } + + memset(p, 0, sizeof(UA_DataSetMessage)); +} + +void +UA_NetworkMessageOffsetBuffer_clear(UA_NetworkMessageOffsetBuffer *nmob) { + UA_ByteString_clear(&nmob->buffer); + + if(nmob->nm) { + UA_NetworkMessage_clear(nmob->nm); + UA_free(nmob->nm); + } + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_ByteString_clear(&nmob->encryptBuffer); +#endif + + if(nmob->offsetsSize == 0) + return; + + for(size_t i = 0; i < nmob->offsetsSize; i++) { + UA_NetworkMessageOffset *offset = &nmob->offsets[i]; + if(offset->contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT || + offset->contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE || + offset->contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW) { + UA_DataValue_clear(&offset->content.value); + continue; + } + + if(offset->contentType == UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING) { + offset->content.value.value.data = NULL; + UA_DataValue_clear(&offset->content.value); + } + } + + UA_free(nmob->offsets); + + memset(nmob, 0, sizeof(UA_NetworkMessageOffsetBuffer)); +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_eventloop.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2023 Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +/********************/ +/* PubSubConnection */ +/********************/ + +static UA_StatusCode +UA_PubSubConnection_connectUDP(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate); + +static UA_StatusCode +UA_PubSubConnection_connectETH(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate); + +static UA_StatusCode +UA_ReaderGroup_connectMQTT(UA_Server *server, UA_ReaderGroup *rg, + UA_Boolean validate); + +static UA_StatusCode +UA_WriterGroup_connectMQTT(UA_Server *server, UA_WriterGroup *wg, + UA_Boolean validate); + +static UA_StatusCode +UA_WriterGroup_connectUDPUnicast(UA_Server *server, UA_WriterGroup *wg, + UA_Boolean validate); + +#define UA_PUBSUB_PROFILES_SIZE 4 + +typedef struct { + UA_String profileURI; + UA_String protocol; + UA_Boolean json; + UA_StatusCode (*connect)(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate); + UA_StatusCode (*connectWriterGroup)(UA_Server *server, UA_WriterGroup *wg, + UA_Boolean validate); + UA_StatusCode (*connectReaderGroup)(UA_Server *server, UA_ReaderGroup *rg, + UA_Boolean validate); +} ProfileMapping; + +static ProfileMapping transportProfiles[UA_PUBSUB_PROFILES_SIZE] = { + {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-udp-uadp"), + UA_STRING_STATIC("udp"), false, UA_PubSubConnection_connectUDP, + UA_WriterGroup_connectUDPUnicast, NULL}, + {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-uadp"), + UA_STRING_STATIC("mqtt"), false, NULL, + UA_WriterGroup_connectMQTT, UA_ReaderGroup_connectMQTT}, + {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-json"), + UA_STRING_STATIC("mqtt"), true, NULL, + UA_WriterGroup_connectMQTT, UA_ReaderGroup_connectMQTT}, + {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-eth-uadp"), + UA_STRING_STATIC("eth"), false, UA_PubSubConnection_connectETH, NULL, NULL} +}; + +static ProfileMapping * +getProfile(UA_String profileUri) { + for(size_t profile = 0; profile < UA_PUBSUB_PROFILES_SIZE; profile++) { + if(UA_String_equal(&profileUri, &transportProfiles[profile].profileURI)) + return &transportProfiles[profile]; + } + return NULL; +} + +static UA_ConnectionManager * +getCM(UA_EventLoop *el, UA_String protocol) { + for(UA_EventSource *es = el->eventSources; es != NULL; es = es->next) { + if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) + continue; + UA_ConnectionManager *cm = (UA_ConnectionManager*)es; + if(UA_String_equal(&protocol, &cm->protocol)) + return cm; + } + return NULL; +} + +static void +UA_PubSubConnection_removeConnection(UA_PubSubConnection *c, + uintptr_t connectionId) { + if(c->sendChannel == connectionId) { + c->sendChannel = 0; + return; + } + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(c->recvChannels[i] != connectionId) + continue; + c->recvChannels[i] = 0; + c->recvChannelsSize--; + return; + } +} + +static UA_StatusCode +UA_PubSubConnection_addSendConnection(UA_PubSubConnection *c, + uintptr_t connectionId) { + if(c->sendChannel != 0 && c->sendChannel != connectionId) + return UA_STATUSCODE_BADINTERNALERROR; + c->sendChannel = connectionId; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_PubSubConnection_addRecvConnection(UA_PubSubConnection *c, + uintptr_t connectionId) { + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(c->recvChannels[i] == connectionId) + return UA_STATUSCODE_GOOD; + } + if(c->recvChannelsSize >= UA_PUBSUB_MAXCHANNELS) + return UA_STATUSCODE_BADINTERNALERROR; + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(c->recvChannels[i] != 0) + continue; + c->recvChannels[i] = connectionId; + c->recvChannelsSize++; + break; + } + return UA_STATUSCODE_GOOD; +} + +void +UA_PubSubConnection_disconnect(UA_PubSubConnection *c) { + if(!c->cm) + return; + if(c->sendChannel != 0) + c->cm->closeConnection(c->cm, c->sendChannel); + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(c->recvChannels[i] != 0) + c->cm->closeConnection(c->cm, c->recvChannels[i]); + } +} + +static void +PubSubChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg, UA_Boolean recv) { + if(!connectionContext) + return; + + /* Get the context pointers */ + UA_Server *server = (UA_Server*)application; + UA_PubSubConnection *psc = (UA_PubSubConnection*)*connectionContext; + + lockServer(server); + + /* The connection is closing in the EventLoop. This is the last callback + * from that connection. Clean up the SecureChannel in the client. */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + /* Reset the connection identifiers */ + UA_PubSubConnection_removeConnection(psc, connectionId); + + /* PSC marked for deletion and the last EventLoop connection has closed */ + if(psc->deleteFlag && psc->recvChannelsSize == 0 && psc->sendChannel == 0) { + UA_PubSubConnection_delete(server, psc); + unlockServer(server); + return; + } + + /* Reconnect automatically if the connection was operational. This sets + * the connection state if connecting fails. Attention! If there are + * several send or recv channels, then the connection is only reopened if + * all of them close - which is usually the case. */ + if(psc->state == UA_PUBSUBSTATE_OPERATIONAL) + UA_PubSubConnection_connect(server, psc, false); + + unlockServer(server); + return; + } + + /* Store the connectionId (if a new connection) */ + UA_StatusCode res = (recv) ? + UA_PubSubConnection_addRecvConnection(psc, connectionId) : + UA_PubSubConnection_addSendConnection(psc, connectionId); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CONNECTION(server->config.logging, psc, + "No more space for an additional EventLoop connection"); + if(psc->cm) + psc->cm->closeConnection(psc->cm, connectionId); + unlockServer(server); + return; + } + + /* No message received */ + if(!recv || msg.length == 0) { + unlockServer(server); + return; + } + + /* Connection open, set to operational if not already done */ + if(psc->state != UA_PUBSUBSTATE_OPERATIONAL) + UA_PubSubConnection_setPubSubState(server, psc, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + + UA_NetworkMessage nm; + memset(&nm, 0, sizeof(UA_NetworkMessage)); + + UA_Boolean nonRT = false; + UA_Boolean processed = false; + + /* Process buffer ReaderGroups */ + UA_ReaderGroup *rg; + LIST_FOREACH(rg, &psc->readerGroups, listEntry) { + if(rg->state != UA_PUBSUBSTATE_OPERATIONAL && + rg->state != UA_PUBSUBSTATE_PREOPERATIONAL) + continue; + if(rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { + processed |= UA_ReaderGroup_decodeAndProcessRT(server, rg, &msg); + continue; + } + + if(!nonRT) { + nonRT = true; + /* Decode once for all nonRT ReaderGroups */ + if(rg->config.encodingMimeType == UA_PUBSUB_ENCODING_UADP) { + size_t currentPosition = 0; + res = decodeNetworkMessage(server, &msg, ¤tPosition, &nm, psc); + } else { /* if(writerGroup->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) */ +#ifdef UA_ENABLE_JSON_ENCODING + res = UA_NetworkMessage_decodeJson(&nm, &msg); +#else + res = UA_STATUSCODE_BADNOTSUPPORTED; +#endif + } + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CONNECTION(server->config.logging, psc, + "Verify, decrypt and decode network message failed"); + nonRT = false; + } + } + } + + /* Process the received message for the non-RT ReaderGroups */ + if(nonRT) { + LIST_FOREACH(rg, &psc->readerGroups, listEntry) { + if(rg->state != UA_PUBSUBSTATE_OPERATIONAL && + rg->state != UA_PUBSUBSTATE_PREOPERATIONAL) + continue; + if(rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) + continue; + processed |= UA_ReaderGroup_process(server, rg, &nm); + } + UA_NetworkMessage_clear(&nm); + } + + if(!processed) { + UA_DateTime nowM = UA_DateTime_nowMonotonic(); + if(psc->silenceErrorUntil < nowM) { + UA_LOG_WARNING_CONNECTION(server->config.logging, psc, + "Message received that could not be processed. " + "Check PublisherID, WriterGroupID and DatasetWriterID. " + "(This error is now silenced for 10s.)"); + psc->silenceErrorUntil = nowM + (UA_DateTime)(10.0 * UA_DATETIME_SEC); + } + } + + unlockServer(server); +} + +static void +PubSubRecvChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + PubSubChannelCallback(cm, connectionId, application, connectionContext, + state, params, msg, true); +} + +static void +PubSubSendChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + PubSubChannelCallback(cm, connectionId, application, connectionContext, + state, params, msg, false); +} + +static UA_StatusCode +UA_PubSubConnection_connectUDP(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) + c->config.address.data; + + /* Extract hostname and port */ + UA_String address; + UA_UInt16 port; + UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not parse the UDP network URL"); + return res; + } + + /* Detect a wildcard address for unicast receiving. The individual + * DataSetWriters then contain additional target hostnames for sending. + * + * "localhost" and the empty hostname are used as a special "receive all" + * wildcard for PubSub UDP. All other addresses (also the 127.0.0/8 and ::1 + * range) are handled differently. For them we only receive messages that + * originate from these addresses. + * + * The EventLoop backend detects whether an address is multicast capable and + * registers it for the multicast group in the background. */ + UA_String localhostAddr = UA_STRING_STATIC("localhost"); + UA_Boolean receive_all = + (address.length == 0) || UA_String_equal(&localhostAddr, &address); + + /* Set up the connection parameters */ + UA_Boolean listen = true; + UA_Boolean reuse = true; + UA_Boolean loopback = true; + UA_KeyValuePair kvp[7]; + UA_KeyValueMap kvm = {5, kvp}; + kvp[0].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(&kvp[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + kvp[1].key = UA_QUALIFIEDNAME(0, "listen"); + UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[2].key = UA_QUALIFIEDNAME(0, "validate"); + UA_Variant_setScalar(&kvp[2].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[3].key = UA_QUALIFIEDNAME(0, "reuse"); + UA_Variant_setScalar(&kvp[3].value, &reuse, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[4].key = UA_QUALIFIEDNAME(0, "loopback"); + UA_Variant_setScalar(&kvp[4].value, &loopback, &UA_TYPES[UA_TYPES_BOOLEAN]); + if(!receive_all) { + /* The "receive all" wildcard is different in the eventloop UDP layer. + * Omit the address entirely to receive all.*/ + kvp[5].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(&kvp[5].value, &address, &UA_TYPES[UA_TYPES_STRING]); + kvm.mapSize++; + } + if(!UA_String_isEmpty(&addressUrl->networkInterface)) { + kvp[kvm.mapSize].key = UA_QUALIFIEDNAME(0, "interface"); + UA_Variant_setScalar(&kvp[kvm.mapSize].value, &addressUrl->networkInterface, + &UA_TYPES[UA_TYPES_STRING]); + kvm.mapSize++; + } + + /* Open a recv connection */ + if(c->recvChannelsSize == 0) { + /* Validate only if no ReaderGroup configured */ + validate = (c->readerGroupsSize == 0); + if(validate) { + UA_LOG_INFO_CONNECTION(server->config.logging, c, + "No ReaderGroups configured. " + "Only validate the connection parameters " + "instead of opening a receiving channel."); + } + + res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubRecvChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not open an UDP channel for receiving"); + return res; + } + } + + /* Receive all -- sending is handled in the DataSetWriter */ + if(receive_all) { + UA_LOG_INFO_CONNECTION(server->config.logging, c, + "Localhost address - don't open UDP send connection"); + return UA_STATUSCODE_GOOD; + } + + /* Open a send connection */ + if(c->sendChannel == 0) { + /* Validate only if no WriterGroup configured */ + validate = (c->writerGroupsSize == 0); + if(validate) { + UA_LOG_INFO_CONNECTION(server->config.logging, c, + "No WriterGroups configured. " + "Only validate the connection parameters " + "instead of opening a channel for sending."); + } + + listen = false; + res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubSendChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not open an UDP recv channel"); + return res; + } + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_PubSubConnection_connectETH(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) + c->config.address.data; + + /* Extract hostname and port */ + UA_String address; + UA_String vidPCP = UA_STRING_NULL; + UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, NULL, &vidPCP); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not parse the ETH network URL"); + return res; + } + + /* Set up the connection parameters. + * TDOD: Complete the considered parameters. VID, PCP, etc. */ + UA_Boolean listen = true; + UA_KeyValuePair kvp[4]; + UA_KeyValueMap kvm = {4, kvp}; + kvp[0].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); + kvp[1].key = UA_QUALIFIEDNAME(0, "listen"); + UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[2].key = UA_QUALIFIEDNAME(0, "interface"); + UA_Variant_setScalar(&kvp[2].value, &addressUrl->networkInterface, + &UA_TYPES[UA_TYPES_STRING]); + kvp[3].key = UA_QUALIFIEDNAME(0, "validate"); + UA_Variant_setScalar(&kvp[3].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* Open recv channels */ + if(c->recvChannelsSize == 0) { + res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubRecvChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not open an ETH recv channel"); + return res; + } + } + + /* Open send channels */ + if(c->sendChannel == 0) { + listen = false; + res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubSendChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not open an ETH channel for sending"); + } + } + + return res; +} + +static UA_Boolean +UA_PubSubConnection_isConnected(UA_PubSubConnection *c) { + if(c->sendChannel == 0 && c->writerGroupsSize > 0) + return false; + if(c->recvChannelsSize == 0 && c->readerGroupsSize > 0) + return false; + return true; +} + +UA_StatusCode +UA_PubSubConnection_connect(UA_Server *server, UA_PubSubConnection *c, + UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already connected -> success */ + if(UA_PubSubConnection_isConnected(c) && !validate) + return UA_STATUSCODE_GOOD; + + UA_EventLoop *el = UA_PubSubConnection_getEL(server, c); + if(!el) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, "No EventLoop configured"); + UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + return UA_STATUSCODE_BADINTERNALERROR;; + } + + /* Look up the connection manager for the connection */ + ProfileMapping *profile = getProfile(c->config.transportProfileUri); + UA_ConnectionManager *cm = NULL; + if(profile) + cm = getCM(el, profile->protocol); + if(!cm || (c->cm && cm != c->cm)) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "The requested protocol is not supported"); + UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + return UA_STATUSCODE_BADINTERNALERROR; + } + + c->cm = cm; + c->json = profile->json; + + /* Check the configuration address type */ + if(!UA_Variant_hasScalarType(&c->config.address, + &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE])) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, "No NetworkAddressUrlDataType " + "for the address configuration"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Connect */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(profile->connect) + res = profile->connect(server, c, validate); + if(res != UA_STATUSCODE_GOOD && !validate) + UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, res); + return res; +} + +/***************/ +/* WriterGroup */ +/***************/ + +static void +WriterGroupChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + if(!connectionContext) + return; + + /* Get the context pointers */ + UA_Server *server = (UA_Server*)application; + UA_WriterGroup *wg = (UA_WriterGroup*)*connectionContext; + + lockServer(server); + + /* The connection is closing in the EventLoop. This is the last callback + * from that connection. Clean up the SecureChannel in the client. */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + if(wg->sendChannel == connectionId) { + /* Reset the connection channel */ + wg->sendChannel = 0; + + /* PSC marked for deletion and the last EventLoop connection has closed */ + if(wg->deleteFlag) { + UA_WriterGroup_remove(server, wg); + unlockServer(server); + return; + } + } + + /* Reconnect automatically if the connection was operational. This sets + * the connection state if connecting fails. Attention! If there are + * several send or recv channels, then the connection is only reopened if + * all of them close - which is usually the case. */ + if(wg->state == UA_PUBSUBSTATE_OPERATIONAL) + UA_WriterGroup_connect(server, wg, false); + + unlockServer(server); + return; + } + + /* Store the connectionId (if a new connection) */ + if(wg->sendChannel && wg->sendChannel != connectionId) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "WriterGroup is already bound to a different channel"); + unlockServer(server); + return; + } + wg->sendChannel = connectionId; + + /* Connection open, set to operational if not already done */ + if(wg->state != UA_PUBSUBSTATE_OPERATIONAL) + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + + /* Send-channels don't receive messages */ + unlockServer(server); +} + +static UA_StatusCode +UA_WriterGroup_connectUDPUnicast(UA_Server *server, UA_WriterGroup *wg, + UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already connected? */ + if(wg->sendChannel != 0 && !validate) + return UA_STATUSCODE_GOOD; + + /* Check if address is available in TransportSettings */ + if(((wg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_DECODED || + wg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && + wg->config.transportSettings.content.decoded.type == + &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE])) + return UA_STATUSCODE_GOOD; + + /* Unpack the TransportSettings */ + if((wg->config.transportSettings.encoding != UA_EXTENSIONOBJECT_DECODED && + wg->config.transportSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + wg->config.transportSettings.content.decoded.type != + &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Invalid TransportSettings for a UDP Connection"); + return UA_STATUSCODE_BADINTERNALERROR; + } + UA_DatagramWriterGroupTransport2DataType *ts = + (UA_DatagramWriterGroupTransport2DataType*) + wg->config.transportSettings.content.decoded.data; + + /* Unpack the address */ + if((ts->address.encoding != UA_EXTENSIONOBJECT_DECODED && + ts->address.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + ts->address.content.decoded.type != &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Invalid TransportSettings Address for a UDP Connection"); + return UA_STATUSCODE_BADINTERNALERROR; + } + UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType *) + ts->address.content.decoded.data; + + /* Extract hostname and port */ + UA_String address; + UA_UInt16 port; + UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Could not parse the UDP network URL"); + return res; + } + + /* Set up the connection parameters */ + UA_Boolean listen = false; + UA_KeyValuePair kvp[5]; + UA_KeyValueMap kvm = {4, kvp}; + kvp[0].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); + kvp[1].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(&kvp[1].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + kvp[2].key = UA_QUALIFIEDNAME(0, "listen"); + UA_Variant_setScalar(&kvp[2].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[3].key = UA_QUALIFIEDNAME(0, "validate"); + UA_Variant_setScalar(&kvp[3].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); + if(!UA_String_isEmpty(&addressUrl->networkInterface)) { + kvp[4].key = UA_QUALIFIEDNAME(0, "interface"); + UA_Variant_setScalar(&kvp[4].value, &addressUrl->networkInterface, + &UA_TYPES[UA_TYPES_STRING]); + kvm.mapSize++; + } + + /* Connect */ + UA_ConnectionManager *cm = wg->linkedConnection->cm; + res = cm->openConnection(cm, &kvm, server, wg, WriterGroupChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Could not open a UDP send channel"); + } + return res; +} + +static UA_StatusCode +UA_WriterGroup_connectMQTT(UA_Server *server, UA_WriterGroup *wg, + UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PubSubConnection *c = wg->linkedConnection; + UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) + c->config.address.data; + + /* Get the TransportSettings */ + UA_ExtensionObject *ts = &wg->config.transportSettings; + if((ts->encoding != UA_EXTENSIONOBJECT_DECODED && + ts->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + ts->content.decoded.type != + &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Wrong TransportSettings type for MQTT"); + return UA_STATUSCODE_BADINTERNALERROR; + } + UA_BrokerWriterGroupTransportDataType *transportSettings = + (UA_BrokerWriterGroupTransportDataType*)ts->content.decoded.data; + + /* Extract hostname and port */ + UA_String address; + UA_UInt16 port = 1883; /* Default */ + UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not parse the MQTT network URL"); + return res; + } + + /* Set up the connection parameters. + * TODO: Complete the MQTT parameters. */ + UA_Boolean listen = false; + UA_KeyValuePair kvp[5]; + UA_KeyValueMap kvm = {5, kvp}; + kvp[0].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); + kvp[1].key = UA_QUALIFIEDNAME(0, "subscribe"); + UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[2].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(&kvp[2].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + kvp[3].key = UA_QUALIFIEDNAME(0, "topic"); + UA_Variant_setScalar(&kvp[3].value, &transportSettings->queueName, + &UA_TYPES[UA_TYPES_STRING]); + kvp[4].key = UA_QUALIFIEDNAME(0, "validate"); + UA_Variant_setScalar(&kvp[4].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* Connect */ + res = c->cm->openConnection(c->cm, &kvm, server, wg, WriterGroupChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Could not open the MQTT connection"); + } + return res; +} + +void +UA_WriterGroup_disconnect(UA_WriterGroup *wg) { + if(wg->sendChannel == 0) + return; + UA_PubSubConnection *c = wg->linkedConnection; + if(!c || !c->cm) + return; + c->cm->closeConnection(c->cm, wg->sendChannel); +} + +UA_StatusCode +UA_WriterGroup_connect(UA_Server *server, UA_WriterGroup *wg, UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already connected */ + if(wg->sendChannel != 0 && !validate) + return UA_STATUSCODE_GOOD; + + /* Is this a WriterGroup with custom TransportSettings beyond the + * PubSubConnection? */ + if(wg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) + return UA_STATUSCODE_GOOD; + + UA_EventLoop *el = UA_PubSubConnection_getEL(server, wg->linkedConnection); + if(!el) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, "No EventLoop configured"); + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + return UA_STATUSCODE_BADINTERNALERROR;; + } + + UA_PubSubConnection *c = wg->linkedConnection; + if(!c) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Look up the connection manager for the connection */ + ProfileMapping *profile = getProfile(c->config.transportProfileUri); + UA_ConnectionManager *cm = NULL; + if(profile) + cm = getCM(el, profile->protocol); + if(!cm || (c->cm && cm != c->cm)) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "The requested protocol is not supported"); + UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + return UA_STATUSCODE_BADINTERNALERROR; + } + + c->cm = cm; + c->json = profile->json; + + /* Connect */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(profile->connectWriterGroup) + res = profile->connectWriterGroup(server, wg, validate); + if(res != UA_STATUSCODE_GOOD && !validate) { + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, res); + return res; + } + + /* Set to preoperational. Set the state "manually" to avoid recursion. Also + * this is the only place to set pre-operational for PubSubConnections. The + * state will be set to operational in the network callback when the + * connection has fully opened. */ + if(wg->state != UA_PUBSUBSTATE_OPERATIONAL && !validate) + wg->state = UA_PUBSUBSTATE_PREOPERATIONAL; + + return UA_STATUSCODE_GOOD; +} + +/***************/ +/* ReaderGroup */ +/***************/ + +static void +UA_ReaderGroup_removeConnection(UA_ReaderGroup *rg, + uintptr_t connectionId) { + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(rg->recvChannels[i] != connectionId) + continue; + rg->recvChannels[i] = 0; + rg->recvChannelsSize--; + return; + } +} + +static UA_StatusCode +UA_ReaderGroup_addRecvConnection(UA_ReaderGroup*c, + uintptr_t connectionId) { + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(c->recvChannels[i] == connectionId) + return UA_STATUSCODE_GOOD; + } + if(c->recvChannelsSize >= UA_PUBSUB_MAXCHANNELS) + return UA_STATUSCODE_BADINTERNALERROR; + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(c->recvChannels[i] != 0) + continue; + c->recvChannels[i] = connectionId; + c->recvChannelsSize++; + break; + } + return UA_STATUSCODE_GOOD; +} + +static void +ReaderGroupChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + if(!connectionContext) + return; + + /* Get the context pointers */ + UA_Server *server = (UA_Server*)application; + UA_ReaderGroup *rg = (UA_ReaderGroup*)*connectionContext; + + lockServer(server); + + /* The connection is closing in the EventLoop. This is the last callback + * from that connection. Clean up the SecureChannel in the client. */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + /* Reset the connection identifiers */ + UA_ReaderGroup_removeConnection(rg, connectionId); + + /* PSC marked for deletion and the last EventLoop connection has closed */ + if(rg->deleteFlag && rg->recvChannelsSize == 0) { + UA_ReaderGroup_remove(server, rg); + unlockServer(server); + return; + } + + /* Reconnect if still operational */ + UA_ReaderGroup_setPubSubState(server, rg, rg->state, UA_STATUSCODE_GOOD); + unlockServer(server); + return; + } + + /* Store the connectionId (if a new connection) */ + UA_StatusCode res = UA_ReaderGroup_addRecvConnection(rg, connectionId); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "No more space for an additional EventLoop connection"); + UA_PubSubConnection *c = rg->linkedConnection; + if(c && c->cm) + c->cm->closeConnection(c->cm, connectionId); + unlockServer(server); + return; + } + + /* No message received */ + if(msg.length == 0) { + unlockServer(server); + return; + } + + /* Received the first message - set to operational */ + if(rg->state == UA_PUBSUBSTATE_PREOPERATIONAL) { + rg->state = UA_PUBSUBSTATE_OPERATIONAL; + UA_ServerConfig *config = &server->config; + if(config->pubSubConfig.stateChangeCallback != 0) { + config->pubSubConfig.stateChangeCallback(server, &rg->identifier, + rg->state, UA_STATUSCODE_GOOD); + } + } + + if(rg->state != UA_PUBSUBSTATE_OPERATIONAL) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Received a messaage for a non-operational ReaderGroup"); + unlockServer(server); + return; + } + + /* ReaderGroup with realtime processing */ + if(rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { + UA_ReaderGroup_decodeAndProcessRT(server, rg, &msg); + unlockServer(server); + return; + } + + /* Decode message */ + UA_NetworkMessage nm; + memset(&nm, 0, sizeof(UA_NetworkMessage)); + if(rg->config.encodingMimeType == UA_PUBSUB_ENCODING_UADP) { + size_t currentPosition = 0; + res = decodeNetworkMessage(server, &msg, ¤tPosition, + &nm, rg->linkedConnection); + } else { /* if(writerGroup->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) */ +#ifdef UA_ENABLE_JSON_ENCODING + res = UA_NetworkMessage_decodeJson(&nm, &msg); +#else + res = UA_STATUSCODE_BADNOTSUPPORTED; +#endif + } + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Verify, decrypt and decode network message failed"); + unlockServer(server); + return; + } + + /* Process the decoded message */ + UA_ReaderGroup_process(server, rg, &nm); + UA_NetworkMessage_clear(&nm); + unlockServer(server); +} + +static UA_StatusCode +UA_ReaderGroup_connectMQTT(UA_Server *server, UA_ReaderGroup *rg, + UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PubSubConnection *c = rg->linkedConnection; + UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) + c->config.address.data; + + /* Get the TransportSettings */ + UA_ExtensionObject *ts = &rg->config.transportSettings; + if((ts->encoding != UA_EXTENSIONOBJECT_DECODED && + ts->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + ts->content.decoded.type != + &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]) { + UA_LOG_ERROR_READERGROUP(server->config.logging, rg, + "Wrong TransportSettings type for MQTT"); + return UA_STATUSCODE_BADINTERNALERROR; + } + UA_BrokerDataSetReaderTransportDataType *transportSettings = + (UA_BrokerDataSetReaderTransportDataType*)ts->content.decoded.data; + + /* Extract hostname and port */ + UA_String address; + UA_UInt16 port = 1883; /* Default */ + UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "Could not parse the MQTT network URL"); + return res; + } + + /* Set up the connection parameters. + * TODO: Complete the MQTT parameters. */ + UA_Boolean listen = true; + UA_KeyValuePair kvp[5]; + UA_KeyValueMap kvm = {5, kvp}; + kvp[0].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); + kvp[1].key = UA_QUALIFIEDNAME(0, "subscribe"); + UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); + kvp[2].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(&kvp[2].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + kvp[3].key = UA_QUALIFIEDNAME(0, "topic"); + UA_Variant_setScalar(&kvp[3].value, &transportSettings->queueName, + &UA_TYPES[UA_TYPES_STRING]); + kvp[4].key = UA_QUALIFIEDNAME(0, "validate"); + UA_Variant_setScalar(&kvp[4].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); + + /* Connect */ + res = c->cm->openConnection(c->cm, &kvm, server, rg, ReaderGroupChannelCallback); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READERGROUP(server->config.logging, rg, + "Could not open the MQTT connection"); + } + return res; +} + +void +UA_ReaderGroup_disconnect(UA_ReaderGroup *rg) { + UA_PubSubConnection *c = rg->linkedConnection; + if(!c) + return; + for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { + if(rg->recvChannels[i] != 0) + c->cm->closeConnection(c->cm, rg->recvChannels[i]); + } +} + +UA_StatusCode +UA_ReaderGroup_connect(UA_Server *server, UA_ReaderGroup *rg, UA_Boolean validate) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already connected */ + if(rg->recvChannelsSize != 0 && !validate) + return UA_STATUSCODE_GOOD; + + /* Is this a ReaderGroup with custom TransportSettings beyond the + * PubSubConnection? */ + if(rg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) + return UA_STATUSCODE_GOOD; + + UA_EventLoop *el = UA_PubSubConnection_getEL(server, rg->linkedConnection); + if(!el) { + UA_LOG_ERROR_READERGROUP(server->config.logging, rg, "No EventLoop configured"); + UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + return UA_STATUSCODE_BADINTERNALERROR;; + } + + UA_PubSubConnection *c = rg->linkedConnection; + if(!c) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Look up the connection manager for the connection */ + ProfileMapping *profile = getProfile(c->config.transportProfileUri); + UA_ConnectionManager *cm = NULL; + if(profile) + cm = getCM(el, profile->protocol); + if(!cm || (c->cm && cm != c->cm)) { + UA_LOG_ERROR_CONNECTION(server->config.logging, c, + "The requested protocol is not supported"); + UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + return UA_STATUSCODE_BADINTERNALERROR; + } + + c->cm = cm; + c->json = profile->json; + + /* Connect */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(profile->connectReaderGroup) + res = profile->connectReaderGroup(server, rg, validate); + if(res != UA_STATUSCODE_GOOD && !validate) { + UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_ERROR, res); + return res; + } + + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_connection.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019, 2022 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) + * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) + */ + + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +#endif + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +UA_StatusCode +decodeNetworkMessage(UA_Server *server, UA_ByteString *buffer, size_t *pos, + UA_NetworkMessage *nm, UA_PubSubConnection *connection) { +#ifdef UA_DEBUG_DUMP_PKGS + UA_dump_hex_pkg(buffer->data, buffer->length); +#endif + + UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(buffer, pos, nm); + if(rv != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CONNECTION(server->config.logging, connection, + "PubSub receive. decoding headers failed"); + UA_NetworkMessage_clear(nm); + return rv; + } + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_Boolean processed = false; + UA_ReaderGroup *readerGroup; + UA_DataSetReader *reader; + + /* Choose a correct readergroup for decrypt/verify this message + * (there could be multiple) */ + LIST_FOREACH(readerGroup, &connection->readerGroups, listEntry) { + LIST_FOREACH(reader, &readerGroup->readers, listEntry) { + UA_StatusCode retval = + UA_DataSetReader_checkIdentifier(server, nm, reader, readerGroup->config); + if(retval != UA_STATUSCODE_GOOD) + continue; + processed = true; + rv = verifyAndDecryptNetworkMessage(server->config.logging, buffer, pos, + nm, readerGroup); + if(rv != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_CONNECTION(server->config.logging, connection, + "Subscribe failed, verify and decrypt " + "network message failed."); + UA_NetworkMessage_clear(nm); + return rv; + } + + /* break out of all loops when first verify & decrypt was successful */ + goto loops_exit; + } + } + +loops_exit: + if(!processed) { + UA_DateTime nowM = UA_DateTime_nowMonotonic(); + if(connection->silenceErrorUntil < nowM) { + UA_LOG_INFO_CONNECTION(server->config.logging, connection, + "Dataset reader not found. Check PublisherId, " + "WriterGroupId and DatasetWriterId. " + "(This error is now silenced for 10s.)"); + connection->silenceErrorUntil = nowM + (UA_DateTime)(10.0 * UA_DATETIME_SEC); + } + /* Possible multicast scenario: there are multiple connections (with one + * or more ReaderGroups) within a multicast group every connection + * receives all network messages, even if some of them are not meant for + * the connection currently processed -> therefore it is ok if the + * connection does not have a DataSetReader for every received network + * message. We must not return an error here, but continue with the + * buffer decoding and see if we have a matching DataSetReader for the + * next network message. */ + } +#endif + + rv = UA_NetworkMessage_decodePayload(buffer, pos, nm, server->config.customDataTypes, NULL); + if(rv != UA_STATUSCODE_GOOD) { + UA_NetworkMessage_clear(nm); + return rv; + } + + rv = UA_NetworkMessage_decodeFooters(buffer, pos, nm); + if(rv != UA_STATUSCODE_GOOD) { + UA_NetworkMessage_clear(nm); + return rv; + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_PubSubConnectionConfig_copy(const UA_PubSubConnectionConfig *src, + UA_PubSubConnectionConfig *dst) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + memcpy(dst, src, sizeof(UA_PubSubConnectionConfig)); + if(src->publisherIdType == UA_PUBLISHERIDTYPE_STRING) { + res |= UA_String_copy(&src->publisherId.string, &dst->publisherId.string); + } + res |= UA_String_copy(&src->name, &dst->name); + res |= UA_Variant_copy(&src->address, &dst->address); + res |= UA_String_copy(&src->transportProfileUri, &dst->transportProfileUri); + res |= UA_Variant_copy(&src->connectionTransportSettings, + &dst->connectionTransportSettings); + res |= UA_KeyValueMap_copy(&src->connectionProperties, + &dst->connectionProperties); + if(res != UA_STATUSCODE_GOOD) + UA_PubSubConnectionConfig_clear(dst); + return res; +} + +UA_StatusCode +UA_Server_getPubSubConnectionConfig(UA_Server *server, const UA_NodeId connection, + UA_PubSubConnectionConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_PubSubConnection *currentPubSubConnection = + UA_PubSubConnection_findConnectionbyId(server, connection); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(currentPubSubConnection) + res = UA_PubSubConnectionConfig_copy(¤tPubSubConnection->config, config); + unlockServer(server); + return res; +} + +UA_PubSubConnection * +UA_PubSubConnection_findConnectionbyId(UA_Server *server, UA_NodeId connectionIdentifier) { + UA_PubSubConnection *pubSubConnection; + TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ + if(UA_NodeId_equal(&connectionIdentifier, &pubSubConnection->identifier)) + break; + } + return pubSubConnection; +} + +void +UA_PubSubConnectionConfig_clear(UA_PubSubConnectionConfig *connectionConfig) { + if(connectionConfig->publisherIdType == UA_PUBLISHERIDTYPE_STRING) + UA_String_clear(&connectionConfig->publisherId.string); + UA_String_clear(&connectionConfig->name); + UA_String_clear(&connectionConfig->transportProfileUri); + UA_Variant_clear(&connectionConfig->connectionTransportSettings); + UA_Variant_clear(&connectionConfig->address); + UA_KeyValueMap_clear(&connectionConfig->connectionProperties); +} + +UA_StatusCode +UA_PubSubConnection_create(UA_Server *server, const UA_PubSubConnectionConfig *cc, + UA_NodeId *cId) { + /* Validate preconditions */ + UA_CHECK_MEM(server, return UA_STATUSCODE_BADINTERNALERROR); + UA_CHECK_ERROR(cc != NULL, return UA_STATUSCODE_BADINTERNALERROR, + server->config.logging, UA_LOGCATEGORY_SERVER, + "PubSub Connection creation failed. Missing connection configuration."); + + /* Allocate */ + UA_PubSubConnection *c = (UA_PubSubConnection *) + UA_calloc(1, sizeof(UA_PubSubConnection)); + if(!c) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PubSub Connection creation failed. Out of Memory."); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + c->componentType = UA_PUBSUB_COMPONENT_CONNECTION; + + /* Copy the connection config */ + UA_StatusCode ret = UA_PubSubConnectionConfig_copy(cc, &c->config); + UA_CHECK_STATUS(ret, UA_free(c); return ret); + + /* Assign the connection identifier */ +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + /* Internally create a unique id */ + addPubSubConnectionRepresentation(server, c); +#else + /* Create a unique NodeId that does not correspond to a Node */ + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, + &c->identifier); +#endif + + /* Register */ + UA_PubSubManager *pubSubManager = &server->pubSubManager; + TAILQ_INSERT_HEAD(&pubSubManager->connections, c, listEntry); + pubSubManager->connectionsSize++; + + /* Validate-connect to check the parameters */ + ret = UA_PubSubConnection_connect(server, c, true); + if(ret != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Make the connection operational */ + ret = UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + if(ret != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Copy the created NodeId to the output. Cannot fail as we create a + * numerical NodeId. */ + if(cId) + UA_NodeId_copy(&c->identifier, cId); + + cleanup: + if(ret != UA_STATUSCODE_GOOD) + UA_PubSubConnection_delete(server, c); + return ret; +} + +UA_StatusCode +UA_Server_addPubSubConnection(UA_Server *server, const UA_PubSubConnectionConfig *cc, + UA_NodeId *cId) { + lockServer(server); + UA_StatusCode res = UA_PubSubConnection_create(server, cc, cId); + unlockServer(server); + return res; +} + +static void +delayedPubSubConnection_delete(void *application, void *context) { + UA_Server *server = (UA_Server*)application; + UA_PubSubConnection *c = (UA_PubSubConnection*)context; + lockServer(server); + UA_PubSubConnection_delete(server, c); + unlockServer(server); +} + +/* Clean up the PubSubConnection. If no EventLoop connection is attached we can + * immediately free. Otherwise we close the EventLoop connections and free in + * the connection callback. */ +void +UA_PubSubConnection_delete(UA_Server *server, UA_PubSubConnection *c) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Disable (and disconnect) and set the deleteFlag. This prevents a + * reconnect and triggers the deletion when the last open socket is + * closed. */ + c->deleteFlag = true; + UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); + + /* Stop and unfreeze all ReaderGroupds and WriterGroups attached to the + * Connection. Do this before removing them because we need to unfreeze all + * to remove the Connection.*/ + UA_ReaderGroup *readerGroup, *tmpReaderGroup; + LIST_FOREACH(readerGroup, &c->readerGroups, listEntry) { + UA_ReaderGroup_setPubSubState(server, readerGroup, UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADSHUTDOWN); + UA_ReaderGroup_unfreezeConfiguration(server, readerGroup); + } + + UA_WriterGroup *writerGroup, *tmpWriterGroup; + LIST_FOREACH(writerGroup, &c->writerGroups, listEntry) { + UA_WriterGroup_setPubSubState(server, writerGroup, UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADSHUTDOWN); + UA_WriterGroup_unfreezeConfiguration(server, writerGroup); + } + + /* Remove all ReaderGorups and WriterGroups */ + LIST_FOREACH_SAFE(readerGroup, &c->readerGroups, listEntry, tmpReaderGroup) { + UA_ReaderGroup_remove(server, readerGroup); + } + + LIST_FOREACH_SAFE(writerGroup, &c->writerGroups, listEntry, tmpWriterGroup) { + UA_WriterGroup_remove(server, writerGroup); + } + + /* Not all sockets are closed. This method will be called again */ + if(c->sendChannel != 0 || c->recvChannelsSize > 0) + return; + + /* The WriterGroups / ReaderGroups are not deleted. Try again in the next + * iteration of the event loop.*/ + if(!LIST_EMPTY(&c->writerGroups) || !LIST_EMPTY(&c->readerGroups)) { + UA_EventLoop *el = UA_PubSubConnection_getEL(server, c); + c->dc.callback = delayedPubSubConnection_delete; + c->dc.application = server; + c->dc.context = c; + el->addDelayedCallback(el, &c->dc); + return; + } + + /* Remove from the information model */ +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, c->identifier, true); +#endif + + /* Unlink from the server */ + TAILQ_REMOVE(&server->pubSubManager.connections, c, listEntry); + server->pubSubManager.connectionsSize--; + + UA_PubSubConnectionConfig_clear(&c->config); + UA_NodeId_clear(&c->identifier); + UA_free(c); +} + +UA_StatusCode +UA_Server_removePubSubConnection(UA_Server *server, const UA_NodeId connection) { + lockServer(server); + UA_PubSubConnection *psc = + UA_PubSubConnection_findConnectionbyId(server, connection); + if(!psc) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_PubSubConnection_delete(server, psc); + unlockServer(server); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_PubSubConnection_setPubSubState(UA_Server *server, UA_PubSubConnection *c, + UA_PubSubState state, UA_StatusCode cause) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(c->deleteFlag && state != UA_PUBSUBSTATE_DISABLED) { + UA_LOG_WARNING_CONNECTION(server->config.logging, c, + "The connection is being deleted. Can only be disabled."); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_PubSubState oldState = c->state; + UA_WriterGroup *writerGroup; + UA_ReaderGroup *readerGroup; + + switch(state) { + case UA_PUBSUBSTATE_ERROR: + case UA_PUBSUBSTATE_PAUSED: + case UA_PUBSUBSTATE_DISABLED: + if(state == oldState) + break; + + /* Close the EventLoop connection */ + c->state = state; + UA_PubSubConnection_disconnect(c); + + /* Disable Reader and WriterGroups */ + LIST_FOREACH(readerGroup, &c->readerGroups, listEntry) { + UA_ReaderGroup_setPubSubState(server, readerGroup, state, + UA_STATUSCODE_BADRESOURCEUNAVAILABLE); + } + LIST_FOREACH(writerGroup, &c->writerGroups, listEntry) { + UA_WriterGroup_setPubSubState(server, writerGroup, state, + UA_STATUSCODE_BADRESOURCEUNAVAILABLE); + } + break; + + case UA_PUBSUBSTATE_PREOPERATIONAL: + case UA_PUBSUBSTATE_OPERATIONAL: + /* Called also if the connection is already operational. We might to + * open an additional recv connection, etc. Sets the new state + * internally. */ + if(oldState != UA_PUBSUBSTATE_OPERATIONAL) + c->state = UA_PUBSUBSTATE_PREOPERATIONAL; + ret = UA_PubSubConnection_connect(server, c, false); + if(ret != UA_STATUSCODE_GOOD) + UA_PubSubConnection_setPubSubState(server, c, + UA_PUBSUBSTATE_ERROR, ret); + break; + default: + UA_LOG_WARNING_CONNECTION(server->config.logging, c, + "Received unknown PubSub state!"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Inform application about state change */ + if(c->state != oldState) { + UA_ServerConfig *config = &server->config; + if(config->pubSubConfig.stateChangeCallback) + config->pubSubConfig.stateChangeCallback(server, &c->identifier, state, cause); + } + return ret; +} + +UA_EventLoop * +UA_PubSubConnection_getEL(UA_Server *server, UA_PubSubConnection *c) { + if(c->config.eventLoop) + return c->config.eventLoop; + return server->config.eventLoop; +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_dataset.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2019-2021 Kalycito Infotech Private Limited + * Copyright (c) 2020 Yannick Wallerer, Siemens AG + * Copyright (c) 2020 Thomas Fischer, Siemens AG + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +static void +UA_DataSetField_clear(UA_DataSetField *field) { + UA_DataSetFieldConfig_clear(&field->config); + UA_NodeId_clear(&field->identifier); + UA_NodeId_clear(&field->publishedDataSet); + UA_FieldMetaData_clear(&field->fieldMetaData); +} + +UA_StatusCode +UA_PublishedDataSetConfig_copy(const UA_PublishedDataSetConfig *src, + UA_PublishedDataSetConfig *dst) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + memcpy(dst, src, sizeof(UA_PublishedDataSetConfig)); + res |= UA_String_copy(&src->name, &dst->name); + switch(src->publishedDataSetType) { + case UA_PUBSUB_DATASET_PUBLISHEDITEMS: + //no additional items + break; + + case UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE: + if(src->config.itemsTemplate.variablesToAddSize > 0) { + dst->config.itemsTemplate.variablesToAdd = (UA_PublishedVariableDataType *) + UA_calloc(src->config.itemsTemplate.variablesToAddSize, + sizeof(UA_PublishedVariableDataType)); + if(!dst->config.itemsTemplate.variablesToAdd) { + res = UA_STATUSCODE_BADOUTOFMEMORY; + break; + } + dst->config.itemsTemplate.variablesToAddSize = + src->config.itemsTemplate.variablesToAddSize; + } + + for(size_t i = 0; i < src->config.itemsTemplate.variablesToAddSize; i++) { + res |= UA_PublishedVariableDataType_copy(&src->config.itemsTemplate.variablesToAdd[i], + &dst->config.itemsTemplate.variablesToAdd[i]); + } + res |= UA_DataSetMetaDataType_copy(&src->config.itemsTemplate.metaData, + &dst->config.itemsTemplate.metaData); + break; + + default: + res = UA_STATUSCODE_BADINVALIDARGUMENT; + break; + } + + if(res != UA_STATUSCODE_GOOD) + UA_PublishedDataSetConfig_clear(dst); + return res; +} + +UA_StatusCode +getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, + UA_PublishedDataSetConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + UA_PublishedDataSet *currentPDS = UA_PublishedDataSet_findPDSbyId(server, pds); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(currentPDS) + res = UA_PublishedDataSetConfig_copy(¤tPDS->config, config); + return res; +} + +UA_StatusCode +UA_Server_getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, + UA_PublishedDataSetConfig *config) { + lockServer(server); + UA_StatusCode res = getPublishedDataSetConfig(server, pds, config); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_getPublishedDataSetMetaData(UA_Server *server, const UA_NodeId pds, + UA_DataSetMetaDataType *metaData) { + if(!metaData) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_PublishedDataSet *currentPDS = UA_PublishedDataSet_findPDSbyId(server, pds); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(currentPDS) + res = UA_DataSetMetaDataType_copy(¤tPDS->dataSetMetaData, metaData); + unlockServer(server); + return res; +} + +UA_PublishedDataSet * +UA_PublishedDataSet_findPDSbyId(UA_Server *server, UA_NodeId identifier) { + UA_PublishedDataSet *tmpPDS = NULL; + TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry) { + if(UA_NodeId_equal(&tmpPDS->identifier, &identifier)) + break; + } + return tmpPDS; +} + +UA_PublishedDataSet * +UA_PublishedDataSet_findPDSbyName(UA_Server *server, UA_String name) { + UA_PublishedDataSet *tmpPDS = NULL; + TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry) { + if(UA_String_equal(&name, &tmpPDS->config.name)) + break; + } + + return tmpPDS; +} + +void +UA_PublishedDataSetConfig_clear(UA_PublishedDataSetConfig *pdsConfig) { + //delete pds config + UA_String_clear(&pdsConfig->name); + switch (pdsConfig->publishedDataSetType){ + case UA_PUBSUB_DATASET_PUBLISHEDITEMS: + //no additional items + break; + case UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE: + if(pdsConfig->config.itemsTemplate.variablesToAddSize > 0){ + for(size_t i = 0; i < pdsConfig->config.itemsTemplate.variablesToAddSize; i++){ + UA_PublishedVariableDataType_clear(&pdsConfig->config.itemsTemplate.variablesToAdd[i]); + } + UA_free(pdsConfig->config.itemsTemplate.variablesToAdd); + } + UA_DataSetMetaDataType_clear(&pdsConfig->config.itemsTemplate.metaData); + break; + default: + break; + } +} + +void +UA_PublishedDataSet_clear(UA_Server *server, UA_PublishedDataSet *publishedDataSet) { + UA_DataSetField *field, *tmpField; + TAILQ_FOREACH_SAFE(field, &publishedDataSet->fields, listEntry, tmpField) { + /* Code in this block is a duplication of similar code in UA_DataSetField_remove, but + * this is intentional. We don't want to call UA_DataSetField_remove here as that + * function regenerates DataSetMetaData, which is not necessary if we want to + * clear the whole PDS anyway. */ + if(field->configurationFrozen) { + UA_LOG_WARNING_DATASET(server->config.logging, publishedDataSet, + "Clearing a frozen field."); + } + field->fieldMetaData.arrayDimensions = NULL; + field->fieldMetaData.properties = NULL; + field->fieldMetaData.name = UA_STRING_NULL; + field->fieldMetaData.description.locale = UA_STRING_NULL; + field->fieldMetaData.description.text = UA_STRING_NULL; + UA_DataSetField_clear(field); + TAILQ_REMOVE(&publishedDataSet->fields, field, listEntry); + UA_free(field); + } + UA_PublishedDataSetConfig_clear(&publishedDataSet->config); + UA_DataSetMetaDataType_clear(&publishedDataSet->dataSetMetaData); + UA_NodeId_clear(&publishedDataSet->identifier); +} + +/* The fieldMetaData variable has to be cleaned up external in case of an error */ +static UA_StatusCode +generateFieldMetaData(UA_Server *server, UA_PublishedDataSet *pds, + UA_DataSetField *field, UA_FieldMetaData *fieldMetaData) { + if(field->config.dataSetFieldType != UA_PUBSUB_DATASETFIELD_VARIABLE) + return UA_STATUSCODE_BADNOTSUPPORTED; + + /* Set the field identifier */ + fieldMetaData->dataSetFieldId = UA_PubSubManager_generateUniqueGuid(server); + + /* Set the description */ + fieldMetaData->description = UA_LOCALIZEDTEXT_ALLOC("", ""); + + /* Set the name */ + const UA_DataSetVariableConfig *var = &field->config.field.variable; + UA_StatusCode res = UA_String_copy(&var->fieldNameAlias, &fieldMetaData->name); + UA_CHECK_STATUS(res, return res); + + /* Static value source. ToDo after freeze PR, the value source must be + * checked (other behavior for static value source) */ + if(var->rtValueSource.rtFieldSourceEnabled && + !var->rtValueSource.rtInformationModelNode) { + const UA_DataValue *svs = *var->rtValueSource.staticValueSource; + if(svs->value.arrayDimensionsSize > 0) { + fieldMetaData->arrayDimensions = (UA_UInt32 *) + UA_calloc(svs->value.arrayDimensionsSize, sizeof(UA_UInt32)); + if(fieldMetaData->arrayDimensions == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + memcpy(fieldMetaData->arrayDimensions, svs->value.arrayDimensions, + sizeof(UA_UInt32) * svs->value.arrayDimensionsSize); + } + fieldMetaData->arrayDimensionsSize = svs->value.arrayDimensionsSize; + + if(svs->value.type) + res = UA_NodeId_copy(&svs->value.type->typeId, &fieldMetaData->dataType); + UA_CHECK_STATUS(res, return res); + + //TODO collect value rank for the static field source + fieldMetaData->properties = NULL; + fieldMetaData->propertiesSize = 0; + fieldMetaData->fieldFlags = UA_DATASETFIELDFLAGS_NONE; + return UA_STATUSCODE_GOOD; + } + + /* Set the Array Dimensions */ + const UA_PublishedVariableDataType *pp = &var->publishParameters; + UA_Variant value; + UA_Variant_init(&value); + res = readWithReadValue(server, &pp->publishedVariable, + UA_ATTRIBUTEID_ARRAYDIMENSIONS, &value); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "PubSub meta data generation: Reading the array dimensions failed"); + return res; + } + + if(value.arrayDimensionsSize > 0) { + fieldMetaData->arrayDimensions = (UA_UInt32 *) + UA_calloc(value.arrayDimensionsSize, sizeof(UA_UInt32)); + if(!fieldMetaData->arrayDimensions) + return UA_STATUSCODE_BADOUTOFMEMORY; + memcpy(fieldMetaData->arrayDimensions, value.arrayDimensions, + sizeof(UA_UInt32)*value.arrayDimensionsSize); + } + fieldMetaData->arrayDimensionsSize = value.arrayDimensionsSize; + + UA_Variant_clear(&value); + + /* Set the DataType */ + res = readWithReadValue(server, &pp->publishedVariable, + UA_ATTRIBUTEID_DATATYPE, &fieldMetaData->dataType); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "PubSub meta data generation: Reading the datatype failed"); + return res; + } + + if(!UA_NodeId_isNull(&fieldMetaData->dataType)) { + const UA_DataType *currentDataType = + UA_findDataTypeWithCustom(&fieldMetaData->dataType, + server->config.customDataTypes); +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_DEBUG_DATASET(server->config.logging, pds, + "MetaData creation: Found DataType %s", + currentDataType->typeName); +#endif + /* Check if the datatype is a builtInType, if yes set the builtinType. */ + if(currentDataType->typeKind <= UA_DATATYPEKIND_ENUM) + fieldMetaData->builtInType = (UA_Byte)currentDataType->typeId.identifier.numeric; + /* set the maxStringLength attribute */ + if(field->config.field.variable.maxStringLength != 0){ + if(currentDataType->typeKind == UA_DATATYPEKIND_BYTESTRING || + currentDataType->typeKind == UA_DATATYPEKIND_STRING || + currentDataType->typeKind == UA_DATATYPEKIND_LOCALIZEDTEXT) { + fieldMetaData->maxStringLength = field->config.field.variable.maxStringLength; + } else { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "PubSub meta data generation: MaxStringLength with incompatible DataType configured."); + } + } + } else { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "PubSub meta data generation: DataType is UA_NODEID_NULL"); + } + + /* Set the ValueRank */ + UA_Int32 valueRank; + res = readWithReadValue(server, &pp->publishedVariable, + UA_ATTRIBUTEID_VALUERANK, &valueRank); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "PubSub meta data generation: Reading the value rank failed"); + return res; + } + fieldMetaData->valueRank = valueRank; + + /* PromotedField? */ + if(var->promotedField) + fieldMetaData->fieldFlags = UA_DATASETFIELDFLAGS_PROMOTEDFIELD; + else + fieldMetaData->fieldFlags = UA_DATASETFIELDFLAGS_NONE; + + /* Properties */ + fieldMetaData->properties = NULL; + fieldMetaData->propertiesSize = 0; + + //TODO collect the following fields*/ + //fieldMetaData.builtInType + //fieldMetaData.maxStringLength + + return UA_STATUSCODE_GOOD; +} + +UA_DataSetFieldResult +UA_DataSetField_create(UA_Server *server, const UA_NodeId publishedDataSet, + const UA_DataSetFieldConfig *fieldConfig, + UA_NodeId *fieldIdentifier) { + UA_DataSetFieldResult result; + memset(&result, 0, sizeof(UA_DataSetFieldResult)); + if(!fieldConfig) { + result.result = UA_STATUSCODE_BADINVALIDARGUMENT; + return result; + } + + UA_PublishedDataSet *currDS = + UA_PublishedDataSet_findPDSbyId(server, publishedDataSet); + if(!currDS) { + result.result = UA_STATUSCODE_BADNOTFOUND; + return result; + } + + if(currDS->configurationFreezeCounter > 0) { + UA_LOG_WARNING_DATASET(server->config.logging, currDS, + "Adding DataSetField failed: PublishedDataSet is frozen"); + result.result = UA_STATUSCODE_BADCONFIGURATIONERROR; + return result; + } + + if(currDS->config.publishedDataSetType != UA_PUBSUB_DATASET_PUBLISHEDITEMS) { + result.result = UA_STATUSCODE_BADNOTIMPLEMENTED; + return result; + } + + UA_DataSetField *newField = (UA_DataSetField*)UA_calloc(1, sizeof(UA_DataSetField)); + if(!newField) { + result.result = UA_STATUSCODE_BADINTERNALERROR; + return result; + } + + result.result = UA_DataSetFieldConfig_copy(fieldConfig, &newField->config); + if(result.result != UA_STATUSCODE_GOOD) { + UA_free(newField); + return result; + } + + result.result = UA_NodeId_copy(&currDS->identifier, &newField->publishedDataSet); + if(result.result != UA_STATUSCODE_GOOD) { + UA_DataSetFieldConfig_clear(&newField->config); + UA_free(newField); + return result; + } + + /* Initialize the field metadata. Also generates a FieldId */ + UA_FieldMetaData fmd; + UA_FieldMetaData_init(&fmd); + result.result = generateFieldMetaData(server, currDS, newField, &fmd); + if(result.result != UA_STATUSCODE_GOOD) { + UA_FieldMetaData_clear(&fmd); + UA_DataSetFieldConfig_clear(&newField->config); + UA_NodeId_clear(&newField->publishedDataSet); + UA_free(newField); + return result; + } + + /* Append to the metadata fields array. Point of last return. */ + result.result = UA_Array_appendCopy((void**)&currDS->dataSetMetaData.fields, + &currDS->dataSetMetaData.fieldsSize, + &fmd, &UA_TYPES[UA_TYPES_FIELDMETADATA]); + if(result.result != UA_STATUSCODE_GOOD) { + UA_FieldMetaData_clear(&fmd); + UA_DataSetFieldConfig_clear(&newField->config); + UA_NodeId_clear(&newField->publishedDataSet); + UA_free(newField); + return result; + } + + /* Copy the identifier from the metadata. Cannot fail with a guid NodeId. */ + newField->identifier = UA_NODEID_GUID(1, fmd.dataSetFieldId); + if(fieldIdentifier) + UA_NodeId_copy(&newField->identifier, fieldIdentifier); + UA_FieldMetaData_clear(&fmd); + + /* Register the field. The order of DataSetFields should be the same in both + * creating and publishing. So adding DataSetFields at the the end of the + * DataSets using the TAILQ structure. */ + TAILQ_INSERT_TAIL(&currDS->fields, newField, listEntry); + currDS->fieldSize++; + + if(newField->config.field.variable.promotedField) + currDS->promotedFieldsCount++; + + /* The values of the metadata are "borrowed" in a mirrored structure in the + * pds. Reset them after resizing the array. */ + size_t counter = 0; + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, &currDS->fields, listEntry) { + dsf->fieldMetaData = currDS->dataSetMetaData.fields[counter++]; + } + + /* Update major version of parent published data set */ + currDS->dataSetMetaData.configurationVersion.majorVersion = + UA_PubSubConfigurationVersionTimeDifference(); + + result.configurationVersion.majorVersion = + currDS->dataSetMetaData.configurationVersion.majorVersion; + result.configurationVersion.minorVersion = + currDS->dataSetMetaData.configurationVersion.minorVersion; + return result; +} + +UA_DataSetFieldResult +UA_Server_addDataSetField(UA_Server *server, const UA_NodeId publishedDataSet, + const UA_DataSetFieldConfig *fieldConfig, + UA_NodeId *fieldIdentifier) { + lockServer(server); + UA_DataSetFieldResult res = + UA_DataSetField_create(server, publishedDataSet, fieldConfig, fieldIdentifier); + unlockServer(server); + return res; +} + +UA_DataSetFieldResult +UA_DataSetField_remove(UA_Server *server, UA_DataSetField *currentField) { + UA_DataSetFieldResult result; + memset(&result, 0, sizeof(UA_DataSetFieldResult)); + + UA_PublishedDataSet *pds = + UA_PublishedDataSet_findPDSbyId(server, currentField->publishedDataSet); + if(!pds) { + result.result = UA_STATUSCODE_BADNOTFOUND; + return result; + } + + if(currentField->configurationFrozen) { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "Remove DataSetField failed: DataSetField is frozen"); + result.result = UA_STATUSCODE_BADCONFIGURATIONERROR; + return result; + } + + if(pds->configurationFreezeCounter > 0) { + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "Remove DataSetField failed: PublishedDataSet is frozen"); + result.result = UA_STATUSCODE_BADCONFIGURATIONERROR; + return result; + } + + /* Reduce the counters before the config is cleaned up */ + if(currentField->config.field.variable.promotedField) + pds->promotedFieldsCount--; + pds->fieldSize--; + + /* Update major version of PublishedDataSet */ + pds->dataSetMetaData.configurationVersion.majorVersion = + UA_PubSubConfigurationVersionTimeDifference(); + + /* Clean up */ + currentField->fieldMetaData.arrayDimensions = NULL; + currentField->fieldMetaData.properties = NULL; + currentField->fieldMetaData.name = UA_STRING_NULL; + currentField->fieldMetaData.description.locale = UA_STRING_NULL; + currentField->fieldMetaData.description.text = UA_STRING_NULL; + UA_DataSetField_clear(currentField); + + /* Remove */ + TAILQ_REMOVE(&pds->fields, currentField, listEntry); + UA_free(currentField); + + /* Regenerate DataSetMetaData */ + pds->dataSetMetaData.fieldsSize--; + if(pds->dataSetMetaData.fieldsSize > 0) { + for(size_t i = 0; i < pds->dataSetMetaData.fieldsSize+1; i++) { + UA_FieldMetaData_clear(&pds->dataSetMetaData.fields[i]); + } + UA_free(pds->dataSetMetaData.fields); + UA_FieldMetaData *fieldMetaData = (UA_FieldMetaData *) + UA_calloc(pds->dataSetMetaData.fieldsSize, sizeof(UA_FieldMetaData)); + if(!fieldMetaData) { + result.result = UA_STATUSCODE_BADOUTOFMEMORY; + return result; + } + UA_DataSetField *tmpDSF; + size_t counter = 0; + TAILQ_FOREACH(tmpDSF, &pds->fields, listEntry) { + result.result = generateFieldMetaData(server, pds, tmpDSF, &fieldMetaData[counter]); + if(result.result != UA_STATUSCODE_GOOD) { + UA_FieldMetaData_clear(&fieldMetaData[counter]); + UA_LOG_WARNING_DATASET(server->config.logging, pds, + "PubSub MetaData regeneration failed " + "after removing a field!"); + break; + } + // The contents of the metadata is shared between the PDS and its fields. + tmpDSF->fieldMetaData = fieldMetaData[counter++]; + } + pds->dataSetMetaData.fields = fieldMetaData; + } else { + UA_FieldMetaData_delete(pds->dataSetMetaData.fields); + pds->dataSetMetaData.fields = NULL; + } + + result.configurationVersion.majorVersion = + pds->dataSetMetaData.configurationVersion.majorVersion; + result.configurationVersion.minorVersion = + pds->dataSetMetaData.configurationVersion.minorVersion; + return result; +} + +UA_DataSetFieldResult +UA_Server_removeDataSetField(UA_Server *server, const UA_NodeId dsf) { + lockServer(server); + UA_DataSetFieldResult res; + memset(&res, 0, sizeof(UA_DataSetFieldResult)); + UA_DataSetField *field = UA_DataSetField_findDSFbyId(server, dsf); + if(!field) { + res.result = UA_STATUSCODE_BADNOTFOUND; + unlockServer(server); + return res; + } + res = UA_DataSetField_remove(server, field); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_DataSetFieldConfig_copy(const UA_DataSetFieldConfig *src, + UA_DataSetFieldConfig *dst) { + if(src->dataSetFieldType != UA_PUBSUB_DATASETFIELD_VARIABLE) + return UA_STATUSCODE_BADNOTSUPPORTED; + memcpy(dst, src, sizeof(UA_DataSetFieldConfig)); + UA_StatusCode res = UA_STATUSCODE_GOOD; + res |= UA_String_copy(&src->field.variable.fieldNameAlias, + &dst->field.variable.fieldNameAlias); + res |= UA_PublishedVariableDataType_copy(&src->field.variable.publishParameters, + &dst->field.variable.publishParameters); + if(res != UA_STATUSCODE_GOOD) + UA_DataSetFieldConfig_clear(dst); + return res; +} + +UA_StatusCode +UA_Server_getDataSetFieldConfig(UA_Server *server, const UA_NodeId dsf, + UA_DataSetFieldConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_DataSetField *currentDataSetField = UA_DataSetField_findDSFbyId(server, dsf); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(currentDataSetField) + res = UA_DataSetFieldConfig_copy(¤tDataSetField->config, config); + unlockServer(server); + return res; +} + +UA_DataSetField * +UA_DataSetField_findDSFbyId(UA_Server *server, UA_NodeId identifier) { + UA_PublishedDataSet *tmpPDS; + TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry) { + UA_DataSetField *tmpField; + TAILQ_FOREACH(tmpField, &tmpPDS->fields, listEntry) { + if(UA_NodeId_equal(&tmpField->identifier, &identifier)) + return tmpField; + } + } + return NULL; +} + +void +UA_DataSetFieldConfig_clear(UA_DataSetFieldConfig *dataSetFieldConfig) { + if(dataSetFieldConfig->dataSetFieldType == UA_PUBSUB_DATASETFIELD_VARIABLE) { + UA_String_clear(&dataSetFieldConfig->field.variable.fieldNameAlias); + UA_PublishedVariableDataType_clear(&dataSetFieldConfig->field.variable.publishParameters); + } +} + +/* Obtain the latest value for a specific DataSetField. This method is currently + * called inside the DataSetMessage generation process. */ +void +UA_PubSubDataSetField_sampleValue(UA_Server *server, UA_DataSetField *field, + UA_DataValue *value) { + UA_PublishedVariableDataType *params = &field->config.field.variable.publishParameters; + + /* Read the value */ + if(field->config.field.variable.rtValueSource.rtInformationModelNode) { + const UA_VariableNode *rtNode = (const UA_VariableNode *) + UA_NODESTORE_GET(server, ¶ms->publishedVariable); + *value = **rtNode->valueBackend.backend.external.value; + value->value.storageType = UA_VARIANT_DATA_NODELETE; + UA_NODESTORE_RELEASE(server, (const UA_Node *) rtNode); + } else if(field->config.field.variable.rtValueSource.rtFieldSourceEnabled == false){ + UA_ReadValueId rvid; + UA_ReadValueId_init(&rvid); + rvid.nodeId = params->publishedVariable; + rvid.attributeId = params->attributeId; + rvid.indexRange = params->indexRange; + *value = readWithSession(server, &server->adminSession, + &rvid, UA_TIMESTAMPSTORETURN_BOTH); + } else { + *value = **field->config.field.variable.rtValueSource.staticValueSource; + value->value.storageType = UA_VARIANT_DATA_NODELETE; + } +} + +UA_AddPublishedDataSetResult +UA_PublishedDataSet_create(UA_Server *server, + const UA_PublishedDataSetConfig *publishedDataSetConfig, + UA_NodeId *pdsIdentifier) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_AddPublishedDataSetResult result = {UA_STATUSCODE_BADINVALIDARGUMENT, 0, NULL, {0, 0}}; + if(!publishedDataSetConfig){ + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PublishedDataSet creation failed. No config passed in."); + return result; + } + + if(publishedDataSetConfig->publishedDataSetType != UA_PUBSUB_DATASET_PUBLISHEDITEMS){ + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PublishedDataSet creation failed. Unsupported PublishedDataSet type."); + return result; + } + + if(UA_String_isEmpty(&publishedDataSetConfig->name)) { + // DataSet has to have a valid name + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PublishedDataSet creation failed. Invalid name."); + return result; + } + + if(UA_PublishedDataSet_findPDSbyName(server, publishedDataSetConfig->name)) { + // DataSet name has to be unique in the publisher + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PublishedDataSet creation failed. DataSet with the same name already exists."); + result.addResult = UA_STATUSCODE_BADBROWSENAMEDUPLICATED; + return result; + } + + /* Create new PDS and add to UA_PubSubManager */ + UA_PublishedDataSet *newPDS = (UA_PublishedDataSet *) + UA_calloc(1, sizeof(UA_PublishedDataSet)); + if(!newPDS) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PublishedDataSet creation failed. Out of Memory."); + result.addResult = UA_STATUSCODE_BADOUTOFMEMORY; + return result; + } + TAILQ_INIT(&newPDS->fields); + + UA_PublishedDataSetConfig *newConfig = &newPDS->config; + + /* Deep copy the given connection config */ + UA_StatusCode res = UA_PublishedDataSetConfig_copy(publishedDataSetConfig, newConfig); + if(res != UA_STATUSCODE_GOOD){ + UA_free(newPDS); + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PublishedDataSet creation failed. Configuration copy failed."); + result.addResult = UA_STATUSCODE_BADINTERNALERROR; + return result; + } + + /* TODO: Parse template config and add fields (later PubSub batch) */ + if(newConfig->publishedDataSetType == UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE) { + } + + /* Fill the DataSetMetaData */ + result.configurationVersion.majorVersion = UA_PubSubConfigurationVersionTimeDifference(); + result.configurationVersion.minorVersion = UA_PubSubConfigurationVersionTimeDifference(); + switch(newConfig->publishedDataSetType) { + case UA_PUBSUB_DATASET_PUBLISHEDEVENTS_TEMPLATE: + case UA_PUBSUB_DATASET_PUBLISHEDEVENTS: + res = UA_STATUSCODE_BADNOTSUPPORTED; + break; + case UA_PUBSUB_DATASET_PUBLISHEDITEMS: + newPDS->dataSetMetaData.configurationVersion.majorVersion = + UA_PubSubConfigurationVersionTimeDifference(); + newPDS->dataSetMetaData.configurationVersion.minorVersion = + UA_PubSubConfigurationVersionTimeDifference(); + newPDS->dataSetMetaData.description = UA_LOCALIZEDTEXT_ALLOC("", ""); + newPDS->dataSetMetaData.dataSetClassId = UA_GUID_NULL; + res = UA_String_copy(&newConfig->name, &newPDS->dataSetMetaData.name); + break; + case UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE: + res = UA_DataSetMetaDataType_copy(&newConfig->config.itemsTemplate.metaData, + &newPDS->dataSetMetaData); + break; + default: + res = UA_STATUSCODE_BADINTERNALERROR; + } + + /* Abort? */ + result.addResult = res; + if(result.addResult != UA_STATUSCODE_GOOD) { + UA_PublishedDataSetConfig_clear(newConfig); + UA_free(newPDS); + return result; + } + + /* Insert into the queue of the manager */ + TAILQ_INSERT_TAIL(&server->pubSubManager.publishedDataSets, newPDS, listEntry); + server->pubSubManager.publishedDataSetsSize++; + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + /* Create representation and unique id */ + addPublishedDataItemsRepresentation(server, newPDS); +#else + /* Generate unique nodeId */ + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, &newPDS->identifier); +#endif + if(pdsIdentifier) + UA_NodeId_copy(&newPDS->identifier, pdsIdentifier); + + return result; +} + +UA_AddPublishedDataSetResult +UA_Server_addPublishedDataSet(UA_Server *server, + const UA_PublishedDataSetConfig *publishedDataSetConfig, + UA_NodeId *pdsIdentifier) { + lockServer(server); + UA_AddPublishedDataSetResult res = + UA_PublishedDataSet_create(server, publishedDataSetConfig, pdsIdentifier); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_PublishedDataSet_remove(UA_Server *server, UA_PublishedDataSet *publishedDataSet) { + if(publishedDataSet->configurationFreezeCounter > 0) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Remove PublishedDataSet failed. PublishedDataSet is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + //search for referenced writers -> delete this writers. (Standard: writer must be connected with PDS) + UA_PubSubConnection *tmpConnectoin; + TAILQ_FOREACH(tmpConnectoin, &server->pubSubManager.connections, listEntry){ + UA_WriterGroup *writerGroup; + LIST_FOREACH(writerGroup, &tmpConnectoin->writerGroups, listEntry){ + UA_DataSetWriter *currentWriter, *tmpWriterGroup; + LIST_FOREACH_SAFE(currentWriter, &writerGroup->writers, listEntry, tmpWriterGroup){ + if(UA_NodeId_equal(¤tWriter->connectedDataSet, + &publishedDataSet->identifier)) { + UA_DataSetWriter_remove(server, currentWriter); + } + } + } + } + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, publishedDataSet->identifier, true); +#endif + + UA_PublishedDataSet_clear(server, publishedDataSet); + server->pubSubManager.publishedDataSetsSize--; + + TAILQ_REMOVE(&server->pubSubManager.publishedDataSets, publishedDataSet, listEntry); + UA_free(publishedDataSet); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_removePublishedDataSet(UA_Server *server, const UA_NodeId pds) { + lockServer(server); + UA_PublishedDataSet *currentPDS = UA_PublishedDataSet_findPDSbyId(server, pds); + if(!currentPDS) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_PublishedDataSet_remove(server, currentPDS); + unlockServer(server); + return res; +} + + +UA_StandaloneSubscribedDataSet * +UA_StandaloneSubscribedDataSet_findSDSbyId(UA_Server *server, UA_NodeId identifier) { + UA_StandaloneSubscribedDataSet *subscribedDataSet; + TAILQ_FOREACH(subscribedDataSet, &server->pubSubManager.subscribedDataSets, + listEntry) { + if(UA_NodeId_equal(&identifier, &subscribedDataSet->identifier)) + return subscribedDataSet; + } + return NULL; +} + +UA_StandaloneSubscribedDataSet * +UA_StandaloneSubscribedDataSet_findSDSbyName(UA_Server *server, UA_String identifier) { + UA_StandaloneSubscribedDataSet *subscribedDataSet; + TAILQ_FOREACH(subscribedDataSet, &server->pubSubManager.subscribedDataSets, + listEntry) { + if(UA_String_equal(&identifier, &subscribedDataSet->config.name)) + return subscribedDataSet; + } + return NULL; +} + +UA_StatusCode +UA_StandaloneSubscribedDataSetConfig_copy(const UA_StandaloneSubscribedDataSetConfig *src, + UA_StandaloneSubscribedDataSetConfig *dst) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + memcpy(dst, src, sizeof(UA_StandaloneSubscribedDataSetConfig)); + res = UA_DataSetMetaDataType_copy(&src->dataSetMetaData, &dst->dataSetMetaData); + res |= UA_String_copy(&src->name, &dst->name); + res |= UA_Boolean_copy(&src->isConnected, &dst->isConnected); + res |= UA_TargetVariablesDataType_copy(&src->subscribedDataSet.target, + &dst->subscribedDataSet.target); + + if(res != UA_STATUSCODE_GOOD) + UA_StandaloneSubscribedDataSetConfig_clear(dst); + return res; +} + +void +UA_StandaloneSubscribedDataSetConfig_clear( + UA_StandaloneSubscribedDataSetConfig *sdsConfig) { + UA_String_clear(&sdsConfig->name); + UA_DataSetMetaDataType_clear(&sdsConfig->dataSetMetaData); + UA_TargetVariablesDataType_clear(&sdsConfig->subscribedDataSet.target); +} + +void +UA_StandaloneSubscribedDataSet_clear(UA_Server *server, + UA_StandaloneSubscribedDataSet *subscribedDataSet) { + UA_StandaloneSubscribedDataSetConfig_clear(&subscribedDataSet->config); + UA_NodeId_clear(&subscribedDataSet->identifier); + UA_NodeId_clear(&subscribedDataSet->connectedReader); +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_writer.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2019-2021 Kalycito Infotech Private Limited + * Copyright (c) 2020 Yannick Wallerer, Siemens AG + * Copyright (c) 2020 Thomas Fischer, Siemens AG + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +#endif + + +UA_StatusCode +UA_DataSetWriterConfig_copy(const UA_DataSetWriterConfig *src, + UA_DataSetWriterConfig *dst){ + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + memcpy(dst, src, sizeof(UA_DataSetWriterConfig)); + retVal |= UA_String_copy(&src->name, &dst->name); + retVal |= UA_String_copy(&src->dataSetName, &dst->dataSetName); + retVal |= UA_ExtensionObject_copy(&src->messageSettings, &dst->messageSettings); + retVal |= UA_KeyValueMap_copy(&src->dataSetWriterProperties, &dst->dataSetWriterProperties); + if(retVal != UA_STATUSCODE_GOOD) + UA_DataSetWriterConfig_clear(dst); + return retVal; +} + +UA_StatusCode +UA_Server_getDataSetWriterConfig(UA_Server *server, const UA_NodeId dsw, + UA_DataSetWriterConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_DataSetWriter *currentDataSetWriter = UA_DataSetWriter_findDSWbyId(server, dsw); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(currentDataSetWriter) + res = UA_DataSetWriterConfig_copy(¤tDataSetWriter->config, config); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_DataSetWriter_getState(UA_Server *server, UA_NodeId dataSetWriterIdentifier, + UA_PubSubState *state) { + if((server == NULL) || (state == NULL)) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_DataSetWriter *currentDataSetWriter = + UA_DataSetWriter_findDSWbyId(server, dataSetWriterIdentifier); + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(currentDataSetWriter) { + *state = currentDataSetWriter->state; + } else { + res = UA_STATUSCODE_BADNOTFOUND; + } + unlockServer(server); + return res; +} + +UA_DataSetWriter * +UA_DataSetWriter_findDSWbyId(UA_Server *server, UA_NodeId identifier) { + UA_PubSubConnection *pubSubConnection; + TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ + UA_WriterGroup *tmpWriterGroup; + LIST_FOREACH(tmpWriterGroup, &pubSubConnection->writerGroups, listEntry){ + UA_DataSetWriter *tmpWriter; + LIST_FOREACH(tmpWriter, &tmpWriterGroup->writers, listEntry){ + if(UA_NodeId_equal(&tmpWriter->identifier, &identifier)){ + return tmpWriter; + } + } + } + } + return NULL; +} + +void +UA_DataSetWriterConfig_clear(UA_DataSetWriterConfig *pdsConfig) { + UA_String_clear(&pdsConfig->name); + UA_String_clear(&pdsConfig->dataSetName); + UA_KeyValueMap_clear(&pdsConfig->dataSetWriterProperties); + UA_ExtensionObject_clear(&pdsConfig->messageSettings); + memset(pdsConfig, 0, sizeof(UA_DataSetWriterConfig)); +} + +//state machine methods not part of the open62541 state machine API +UA_StatusCode +UA_DataSetWriter_setPubSubState(UA_Server *server, + UA_DataSetWriter *dataSetWriter, + UA_PubSubState state, + UA_StatusCode cause) { + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_PubSubState oldState = dataSetWriter->state; + switch(state){ + case UA_PUBSUBSTATE_DISABLED: + switch (dataSetWriter->state){ + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + dataSetWriter->state = UA_PUBSUBSTATE_DISABLED; + //no further action is required + break; + case UA_PUBSUBSTATE_OPERATIONAL: + dataSetWriter->state = UA_PUBSUBSTATE_DISABLED; + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Received unknown PubSub state!"); + } + break; + case UA_PUBSUBSTATE_PAUSED: + switch (dataSetWriter->state){ + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Received unknown PubSub state!"); + } + break; + case UA_PUBSUBSTATE_OPERATIONAL: + switch (dataSetWriter->state){ + case UA_PUBSUBSTATE_DISABLED: + dataSetWriter->state = UA_PUBSUBSTATE_OPERATIONAL; + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Received unknown PubSub state!"); + } + break; + case UA_PUBSUBSTATE_ERROR: + switch (dataSetWriter->state){ + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Received unknown PubSub state!"); + } + break; + default: + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Received unknown PubSub state!"); + } + if (state != oldState) { + /* inform application about state change */ + UA_ServerConfig *pConfig = &server->config; + if(pConfig->pubSubConfig.stateChangeCallback != 0) { + pConfig->pubSubConfig. + stateChangeCallback(server, &dataSetWriter->identifier, state, cause); + } + } + return ret; +} + +UA_StatusCode +UA_DataSetWriter_create(UA_Server *server, + const UA_NodeId writerGroup, const UA_NodeId dataSet, + const UA_DataSetWriterConfig *dataSetWriterConfig, + UA_NodeId *writerIdentifier) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(!dataSetWriterConfig) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(!wg) + return UA_STATUSCODE_BADNOTFOUND; + + /* Make checks for a heartbeat */ + if(UA_NodeId_isNull(&dataSet) && dataSetWriterConfig->keyFrameCount != 1) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Adding DataSetWriter failed: DataSet can be null only for " + "a heartbeat in which case KeyFrameCount shall be 1"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + if(wg->configurationFrozen) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Adding DataSetWriter failed: WriterGroup is frozen"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + UA_PublishedDataSet *currentDataSetContext = NULL; + + if(!UA_NodeId_isNull(&dataSet)) { + currentDataSetContext = UA_PublishedDataSet_findPDSbyId(server, dataSet); + if(!currentDataSetContext) + return UA_STATUSCODE_BADNOTFOUND; + + if(currentDataSetContext->configurationFreezeCounter > 0) { + UA_LOG_WARNING_DATASET(server->config.logging, currentDataSetContext, + "Adding DataSetWriter failed: PublishedDataSet is frozen"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + if(wg->config.rtLevel != UA_PUBSUB_RT_NONE) { + UA_DataSetField *tmpDSF; + TAILQ_FOREACH(tmpDSF, ¤tDataSetContext->fields, listEntry) { + if(!tmpDSF->config.field.variable.rtValueSource.rtFieldSourceEnabled && + !tmpDSF->config.field.variable.rtValueSource.rtInformationModelNode) { + UA_LOG_WARNING_DATASET(server->config.logging, currentDataSetContext, + "Adding DataSetWriter failed: " + "Fields in PDS are not RT capable"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + } + } + } + + UA_DataSetWriter *newDataSetWriter = (UA_DataSetWriter *) + UA_calloc(1, sizeof(UA_DataSetWriter)); + if(!newDataSetWriter) + return UA_STATUSCODE_BADOUTOFMEMORY; + + newDataSetWriter->componentType = UA_PUBSUB_COMPONENT_DATASETWRITER; + + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(wg->state == UA_PUBSUBSTATE_OPERATIONAL) { + res = UA_DataSetWriter_setPubSubState(server, newDataSetWriter, + UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Add DataSetWriter failed: setPubSubState failed"); + UA_free(newDataSetWriter); + return res; + } + } + + /* Copy the config into the new dataSetWriter */ + res = UA_DataSetWriterConfig_copy(dataSetWriterConfig, &newDataSetWriter->config); + UA_CHECK_STATUS(res, UA_free(newDataSetWriter); return res); + + if(!UA_NodeId_isNull(&dataSet) && currentDataSetContext != NULL) { + /* Save the current version of the connected PublishedDataSet */ + newDataSetWriter->connectedDataSetVersion = + currentDataSetContext->dataSetMetaData.configurationVersion; + + if(server->config.pubSubConfig.enableDeltaFrames) { + /* Initialize the queue for the last values */ + if(currentDataSetContext->fieldSize > 0) { + newDataSetWriter->lastSamples = (UA_DataSetWriterSample*) + UA_calloc(currentDataSetContext->fieldSize, sizeof(UA_DataSetWriterSample)); + if(!newDataSetWriter->lastSamples) { + UA_DataSetWriterConfig_clear(&newDataSetWriter->config); + UA_free(newDataSetWriter); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + newDataSetWriter->lastSamplesCount = currentDataSetContext->fieldSize; + for(size_t i = 0; i < newDataSetWriter->lastSamplesCount; i++) { + UA_DataValue_init(&newDataSetWriter->lastSamples[i].value); + newDataSetWriter->lastSamples[i].valueChanged = false; + } + } + } + /* Connect PublishedDataSet with DataSetWriter */ + newDataSetWriter->connectedDataSet = currentDataSetContext->identifier; + } else { + /* If the dataSet is NULL, we are adding a heartbeat writer */ + newDataSetWriter->connectedDataSetVersion.majorVersion = 0; + newDataSetWriter->connectedDataSetVersion.minorVersion = 0; + newDataSetWriter->connectedDataSet = UA_NODEID_NULL; + } + + newDataSetWriter->linkedWriterGroup = wg->identifier; + + /* Add the new writer to the group. Add to the end of the linked list to + * ensure the order in the generated NetworkMessage is as expected. */ + UA_DataSetWriter *after = LIST_FIRST(&wg->writers); + if(!after) { + LIST_INSERT_HEAD(&wg->writers, newDataSetWriter, listEntry); + } else { + while(LIST_NEXT(after, listEntry)) + after = LIST_NEXT(after, listEntry); + LIST_INSERT_AFTER(after, newDataSetWriter, listEntry); + } + wg->writersCount++; + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + res |= addDataSetWriterRepresentation(server, newDataSetWriter); +#else + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, + &newDataSetWriter->identifier); +#endif + if(writerIdentifier) + UA_NodeId_copy(&newDataSetWriter->identifier, writerIdentifier); + return res; +} + +UA_StatusCode +UA_Server_addDataSetWriter(UA_Server *server, + const UA_NodeId writerGroup, const UA_NodeId dataSet, + const UA_DataSetWriterConfig *dataSetWriterConfig, + UA_NodeId *writerIdentifier) { + lockServer(server); + /* Delete the reserved IDs if the related session no longer exists. */ + UA_PubSubManager_freeIds(server); + UA_StatusCode res = UA_DataSetWriter_create(server, writerGroup, dataSet, + dataSetWriterConfig, writerIdentifier); + unlockServer(server); + return res; +} + +void +UA_DataSetWriter_freezeConfiguration(UA_Server *server, + UA_DataSetWriter *dsw) { + UA_PublishedDataSet *pds = + UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); + if(pds) { /* Skip for heartbeat writers */ + pds->configurationFreezeCounter++; + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, &pds->fields, listEntry) { + dsf->configurationFrozen = true; + } + } + dsw->configurationFrozen = true; +} + +void +UA_DataSetWriter_unfreezeConfiguration(UA_Server *server, + UA_DataSetWriter *dsw) { + UA_PublishedDataSet *pds = + UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); + if(pds) { /* Skip for heartbeat writers */ + pds->configurationFreezeCounter--; + if(pds->configurationFreezeCounter == 0) { + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, &pds->fields, listEntry){ + dsf->configurationFrozen = false; + } + } + dsw->configurationFrozen = false; + } +} + +UA_StatusCode +UA_DataSetWriter_prepareDataSet(UA_Server *server, UA_DataSetWriter *dsw, + UA_DataSetMessage *dsm) { + /* No PublishedDataSet defined -> Heartbeat messages only */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(UA_NodeId_isNull(&dsw->connectedDataSet)) { + res = UA_DataSetWriter_generateDataSetMessage(server, dsm, dsw); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "Heartbeat DataSetMessage creation failed"); + } + return res; + } + + /* Get the PublishedDataSet */ + UA_PublishedDataSet *pds = + UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); + if(!pds) { + UA_LOG_WARNING_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "PublishedDataSet not found"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, dsw->linkedWriterGroup); + UA_assert(wg); + + /* Promoted Fields not allowed if RT is enabled */ + if(wg->config.rtLevel > UA_PUBSUB_RT_NONE && + pds->promotedFieldsCount > 0) { + UA_LOG_WARNING_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "PDS contains promoted fields"); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + + /* Test the DataSetFields */ + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, &pds->fields, listEntry) { + UA_NodeId *publishedVariable = + &dsf->config.field.variable.publishParameters.publishedVariable; + + /* Check that the target is a VariableNode */ + const UA_VariableNode *rtNode = (const UA_VariableNode*) + UA_NODESTORE_GET(server, publishedVariable); + if(rtNode && rtNode->head.nodeClass != UA_NODECLASS_VARIABLE) { + UA_LOG_ERROR_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "PDS points to a node that is not a variable"); + UA_NODESTORE_RELEASE(server, (const UA_Node *)rtNode); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + UA_NODESTORE_RELEASE(server, (const UA_Node *)rtNode); + + /* TODO: Get the External Value Source from the node instead of from the config */ + + /* If direct-value-access is enabled, the pointers need to be set */ + if(wg->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS && + !dsf->config.field.variable.rtValueSource.rtFieldSourceEnabled) { + UA_LOG_ERROR_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: PDS published-variable " + "does not have an external data source"); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + + /* Check that the values have a fixed size if fixed offsets are needed */ + if(wg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { + if((UA_NodeId_equal(&dsf->fieldMetaData.dataType, + &UA_TYPES[UA_TYPES_STRING].typeId) || + UA_NodeId_equal(&dsf->fieldMetaData.dataType, + &UA_TYPES[UA_TYPES_BYTESTRING].typeId)) && + dsf->fieldMetaData.maxStringLength == 0) { + UA_LOG_WARNING_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "PDS contains String/ByteString with dynamic length"); + return UA_STATUSCODE_BADNOTSUPPORTED; + } else if(!UA_DataType_isNumeric( + UA_findDataType(&dsf->fieldMetaData.dataType)) && + !UA_NodeId_equal(&dsf->fieldMetaData.dataType, + &UA_TYPES[UA_TYPES_BOOLEAN].typeId)) { + UA_LOG_WARNING_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "PDS contains variable with dynamic size"); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + } + } + + /* Generate the DSM */ + res = UA_DataSetWriter_generateDataSetMessage(server, dsm, dsw); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_WRITER(server->config.logging, dsw, + "PubSub-RT configuration fail: " + "DataSetMessage buffering failed"); + } + + return res; +} + +UA_StatusCode +UA_DataSetWriter_remove(UA_Server *server, UA_DataSetWriter *dataSetWriter) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Frozen? */ + if(dataSetWriter->configurationFrozen) { + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Remove DataSetWriter failed: WriterGroup is frozen"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* Remove from information model */ +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, dataSetWriter->identifier, true); +#endif + + /* Remove DataSetWriter from group */ + UA_WriterGroup *linkedWriterGroup = + UA_WriterGroup_findWGbyId(server, dataSetWriter->linkedWriterGroup); + if(linkedWriterGroup) { + LIST_REMOVE(dataSetWriter, listEntry); + linkedWriterGroup->writersCount--; + } + + UA_DataSetWriterConfig_clear(&dataSetWriter->config); + UA_NodeId_clear(&dataSetWriter->identifier); + UA_NodeId_clear(&dataSetWriter->linkedWriterGroup); + UA_NodeId_clear(&dataSetWriter->connectedDataSet); + + if(server->config.pubSubConfig.enableDeltaFrames) { + /* Delete lastSamples store */ + for(size_t i = 0; i < dataSetWriter->lastSamplesCount; i++) { + UA_DataValue_clear(&dataSetWriter->lastSamples[i].value); + } + UA_free(dataSetWriter->lastSamples); + dataSetWriter->lastSamples = NULL; + dataSetWriter->lastSamplesCount = 0; + } + + UA_free(dataSetWriter); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_removeDataSetWriter(UA_Server *server, const UA_NodeId dsw) { + lockServer(server); + UA_DataSetWriter *dataSetWriter = UA_DataSetWriter_findDSWbyId(server, dsw); + if(!dataSetWriter) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_DataSetWriter_remove(server, dataSetWriter); + unlockServer(server); + return res; +} + +/*********************************************************/ +/* PublishValues handling */ +/*********************************************************/ + +/* Compare two variants. Internally used for value change detection. */ +static UA_Boolean +valueChangedVariant(UA_Variant *oldValue, UA_Variant *newValue) { + if(!oldValue || !newValue) + return false; + + size_t oldValueEncodingSize = UA_calcSizeBinary(oldValue, &UA_TYPES[UA_TYPES_VARIANT]); + size_t newValueEncodingSize = UA_calcSizeBinary(newValue, &UA_TYPES[UA_TYPES_VARIANT]); + if(oldValueEncodingSize == 0 || newValueEncodingSize == 0) + return false; + + if(oldValueEncodingSize != newValueEncodingSize) + return true; + + UA_ByteString oldValueEncoding = UA_BYTESTRING_NULL; + UA_StatusCode res = UA_ByteString_allocBuffer(&oldValueEncoding, oldValueEncodingSize); + if(res != UA_STATUSCODE_GOOD) + return false; + + UA_ByteString newValueEncoding = UA_BYTESTRING_NULL; + res = UA_ByteString_allocBuffer(&newValueEncoding, newValueEncodingSize); + if(res != UA_STATUSCODE_GOOD) { + UA_ByteString_clear(&oldValueEncoding); + return false; + } + + UA_Byte *bufPosOldValue = oldValueEncoding.data; + const UA_Byte *bufEndOldValue = &oldValueEncoding.data[oldValueEncoding.length]; + UA_Byte *bufPosNewValue = newValueEncoding.data; + const UA_Byte *bufEndNewValue = &newValueEncoding.data[newValueEncoding.length]; + + UA_Boolean compareResult = false; /* default */ + + res = UA_encodeBinaryInternal(oldValue, &UA_TYPES[UA_TYPES_VARIANT], + &bufPosOldValue, &bufEndOldValue, NULL, NULL); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + res = UA_encodeBinaryInternal(newValue, &UA_TYPES[UA_TYPES_VARIANT], + &bufPosNewValue, &bufEndNewValue, NULL, NULL); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + oldValueEncoding.length = (uintptr_t)bufPosOldValue - (uintptr_t)oldValueEncoding.data; + newValueEncoding.length = (uintptr_t)bufPosNewValue - (uintptr_t)newValueEncoding.data; + compareResult = !UA_ByteString_equal(&oldValueEncoding, &newValueEncoding); + + cleanup: + UA_ByteString_clear(&oldValueEncoding); + UA_ByteString_clear(&newValueEncoding); + return compareResult; +} + +static UA_StatusCode +UA_PubSubDataSetWriter_generateKeyFrameMessage(UA_Server *server, + UA_DataSetMessage *dataSetMessage, + UA_DataSetWriter *dataSetWriter) { + UA_PublishedDataSet *currentDataSet = + UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); + if(!currentDataSet) + return UA_STATUSCODE_BADNOTFOUND; + + /* Prepare DataSetMessageContent */ + dataSetMessage->header.dataSetMessageValid = true; + dataSetMessage->header.dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; + dataSetMessage->data.keyFrameData.fieldCount = currentDataSet->fieldSize; + dataSetMessage->data.keyFrameData.dataSetFields = (UA_DataValue *) + UA_Array_new(currentDataSet->fieldSize, &UA_TYPES[UA_TYPES_DATAVALUE]); + UA_PublishedDataSet *pds = UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); + dataSetMessage->data.keyFrameData.dataSetMetaDataType = &pds->dataSetMetaData; + if(!dataSetMessage->data.keyFrameData.dataSetFields) + return UA_STATUSCODE_BADOUTOFMEMORY; + +#ifdef UA_ENABLE_JSON_ENCODING + dataSetMessage->data.keyFrameData.fieldNames = (UA_String *) + UA_Array_new(currentDataSet->fieldSize, &UA_TYPES[UA_TYPES_STRING]); + if(!dataSetMessage->data.keyFrameData.fieldNames) { + UA_DataSetMessage_clear(dataSetMessage); + return UA_STATUSCODE_BADOUTOFMEMORY; + } +#endif + + /* Loop over the fields */ + size_t counter = 0; + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, ¤tDataSet->fields, listEntry) { +#ifdef UA_ENABLE_JSON_ENCODING + /* Set the field name alias */ + UA_String_copy(&dsf->config.field.variable.fieldNameAlias, + &dataSetMessage->data.keyFrameData.fieldNames[counter]); +#endif + + /* Sample the value */ + UA_DataValue *dfv = &dataSetMessage->data.keyFrameData.dataSetFields[counter]; + UA_PubSubDataSetField_sampleValue(server, dsf, dfv); + + /* Deactivate statuscode? */ + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_STATUSCODE) == 0) + dfv->hasStatus = false; + + /* Deactivate timestamps */ + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP) == 0) + dfv->hasSourceTimestamp = false; + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS) == 0) + dfv->hasSourcePicoseconds = false; + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SERVERTIMESTAMP) == 0) + dfv->hasServerTimestamp = false; + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS) == 0) + dfv->hasServerPicoseconds = false; + + if(server->config.pubSubConfig.enableDeltaFrames) { + /* Update lastValue store */ + UA_DataValue_clear(&dataSetWriter->lastSamples[counter].value); + UA_DataValue_copy(dfv, &dataSetWriter->lastSamples[counter].value); + } + counter++; + } + return UA_STATUSCODE_GOOD; +} + +/* the input message is already initialized and that the method + * must not be called twice for the same message */ +static UA_StatusCode +UA_PubSubDataSetWriter_generateDeltaFrameMessage(UA_Server *server, + UA_DataSetMessage *dataSetMessage, + UA_DataSetWriter *dataSetWriter) { + UA_PublishedDataSet *currentDataSet = + UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); + if(!currentDataSet) + return UA_STATUSCODE_BADNOTFOUND; + + /* Prepare DataSetMessageContent */ + dataSetMessage->header.dataSetMessageValid = true; + dataSetMessage->header.dataSetMessageType = UA_DATASETMESSAGE_DATADELTAFRAME; + if(currentDataSet->fieldSize == 0) + return UA_STATUSCODE_GOOD; + + UA_DataSetField *dsf; + UA_UInt16 counter = 0; + TAILQ_FOREACH(dsf, ¤tDataSet->fields, listEntry) { + /* Sample the value */ + UA_DataValue value; + UA_DataValue_init(&value); + UA_PubSubDataSetField_sampleValue(server, dsf, &value); + + /* Check if the value has changed */ + UA_DataSetWriterSample *ls = &dataSetWriter->lastSamples[counter]; + if(valueChangedVariant(&ls->value.value, &value.value)) { + /* increase fieldCount for current delta message */ + dataSetMessage->data.deltaFrameData.fieldCount++; + ls->valueChanged = true; + + /* Update last stored sample */ + UA_DataValue_clear(&ls->value); + ls->value = value; + } else { + UA_DataValue_clear(&value); + ls->valueChanged = false; + } + + counter++; + } + + /* Allocate DeltaFrameFields */ + UA_DataSetMessage_DeltaFrameField *deltaFields = (UA_DataSetMessage_DeltaFrameField *) + UA_calloc(counter, sizeof(UA_DataSetMessage_DeltaFrameField)); + if(!deltaFields) + return UA_STATUSCODE_BADOUTOFMEMORY; + + dataSetMessage->data.deltaFrameData.deltaFrameFields = deltaFields; + dataSetMessage->data.deltaFrameData.fieldCount = counter; + + size_t currentDeltaField = 0; + for(size_t i = 0; i < currentDataSet->fieldSize; i++) { + if(!dataSetWriter->lastSamples[i].valueChanged) + continue; + + UA_DataSetMessage_DeltaFrameField *dff = &deltaFields[currentDeltaField]; + + dff->fieldIndex = (UA_UInt16) i; + UA_DataValue_copy(&dataSetWriter->lastSamples[i].value, &dff->fieldValue); + + /* Reset the changed flag */ + dataSetWriter->lastSamples[i].valueChanged = false; + + /* Deactivate statuscode? */ + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_STATUSCODE) == 0) + dff->fieldValue.hasStatus = false; + + /* Deactivate timestamps? */ + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP) == 0) + dff->fieldValue.hasSourceTimestamp = false; + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS) == 0) + dff->fieldValue.hasServerPicoseconds = false; + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SERVERTIMESTAMP) == 0) + dff->fieldValue.hasServerTimestamp = false; + if(((u64)dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS) == 0) + dff->fieldValue.hasServerPicoseconds = false; + + currentDeltaField++; + } + return UA_STATUSCODE_GOOD; +} + +/* Generate a DataSetMessage for the given writer. */ +UA_StatusCode +UA_DataSetWriter_generateDataSetMessage(UA_Server *server, + UA_DataSetMessage *dataSetMessage, + UA_DataSetWriter *dataSetWriter) { + UA_Boolean heartbeat = false; + UA_PublishedDataSet *currentDataSet = NULL; + if(UA_NodeId_isNull(&dataSetWriter->connectedDataSet)){ + heartbeat = true; + } else { + currentDataSet = + UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); + if(!currentDataSet){ + return UA_STATUSCODE_BADNOTFOUND; + } + } + + /* Reset the message */ + memset(dataSetMessage, 0, sizeof(UA_DataSetMessage)); + + /* The configuration Flags are included + * inside the std. defined UA_UadpDataSetWriterMessageDataType */ + UA_UadpDataSetWriterMessageDataType defaultUadpConfiguration; + UA_UadpDataSetWriterMessageDataType *dsm = NULL; + UA_JsonDataSetWriterMessageDataType *jsonDsm = NULL; + const UA_ExtensionObject *ms = &dataSetWriter->config.messageSettings; + if((ms->encoding == UA_EXTENSIONOBJECT_DECODED || + ms->encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && + ms->content.decoded.type == &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]) { + dsm = (UA_UadpDataSetWriterMessageDataType*)ms->content.decoded.data; /* type is UADP */ + } else if((ms->encoding == UA_EXTENSIONOBJECT_DECODED || + ms->encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && + ms->content.decoded.type == &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]) { + jsonDsm = (UA_JsonDataSetWriterMessageDataType*)ms->content.decoded.data; /* type is JSON */ + } else { + /* Create default flag configuration if no + * UadpDataSetWriterMessageDataType was passed in */ + memset(&defaultUadpConfiguration, 0, sizeof(UA_UadpDataSetWriterMessageDataType)); + defaultUadpConfiguration.dataSetMessageContentMask = (UA_UadpDataSetMessageContentMask) + ((u64)UA_UADPDATASETMESSAGECONTENTMASK_TIMESTAMP | + (u64)UA_UADPDATASETMESSAGECONTENTMASK_MAJORVERSION | + (u64)UA_UADPDATASETMESSAGECONTENTMASK_MINORVERSION); + dsm = &defaultUadpConfiguration; /* type is UADP */ + } + + /* The field encoding depends on the flags inside the writer config. */ + if(dataSetWriter->config.dataSetFieldContentMask & + (u64)UA_DATASETFIELDCONTENTMASK_RAWDATA) { + dataSetMessage->header.fieldEncoding = UA_FIELDENCODING_RAWDATA; + } else if((u64)dataSetWriter->config.dataSetFieldContentMask & + ((u64)UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP | + (u64)UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS | + (u64)UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS | + (u64)UA_DATASETFIELDCONTENTMASK_STATUSCODE)) { + dataSetMessage->header.fieldEncoding = UA_FIELDENCODING_DATAVALUE; + } else { + dataSetMessage->header.fieldEncoding = UA_FIELDENCODING_VARIANT; + } + + if(dsm) { + /* Sanity-test the configuration */ + if(dsm->networkMessageNumber != 0 || + dsm->dataSetOffset != 0 || + dsm->configuredSize != 0) { + UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, + "Static DSM configuration not supported, using defaults"); + dsm->networkMessageNumber = 0; + dsm->dataSetOffset = 0; + // dsm->configuredSize = 0; + } + + /* setting configured size in the dataSetMessage to add padding later on */ + dataSetMessage->configuredSize = dsm->configuredSize; + + /* Std: 'The DataSetMessageContentMask defines the flags for the content + * of the DataSetMessage header.' */ + if((u64)dsm->dataSetMessageContentMask & + (u64)UA_UADPDATASETMESSAGECONTENTMASK_MAJORVERSION) { + dataSetMessage->header.configVersionMajorVersionEnabled = true; + if(heartbeat){ + dataSetMessage->header.configVersionMajorVersion = 0; + } else { + dataSetMessage->header.configVersionMajorVersion = + currentDataSet->dataSetMetaData.configurationVersion.majorVersion; + } + } + if((u64)dsm->dataSetMessageContentMask & + (u64)UA_UADPDATASETMESSAGECONTENTMASK_MINORVERSION) { + dataSetMessage->header.configVersionMinorVersionEnabled = true; + if(heartbeat){ + dataSetMessage->header.configVersionMinorVersion = 0; + } else { + dataSetMessage->header.configVersionMinorVersion = + currentDataSet->dataSetMetaData.configurationVersion.minorVersion; + } + } + + if((u64)dsm->dataSetMessageContentMask & + (u64)UA_UADPDATASETMESSAGECONTENTMASK_SEQUENCENUMBER) { + dataSetMessage->header.dataSetMessageSequenceNrEnabled = true; + dataSetMessage->header.dataSetMessageSequenceNr = + dataSetWriter->actualDataSetMessageSequenceCount; + } + + if((u64)dsm->dataSetMessageContentMask & + (u64)UA_UADPDATASETMESSAGECONTENTMASK_TIMESTAMP) { + dataSetMessage->header.timestampEnabled = true; + dataSetMessage->header.timestamp = UA_DateTime_now(); + } + + /* TODO: Picoseconds resolution not supported atm */ + if((u64)dsm->dataSetMessageContentMask & + (u64)UA_UADPDATASETMESSAGECONTENTMASK_PICOSECONDS) { + dataSetMessage->header.picoSecondsIncluded = false; + } + + /* TODO: Statuscode not supported yet */ + if((u64)dsm->dataSetMessageContentMask & + (u64)UA_UADPDATASETMESSAGECONTENTMASK_STATUS) { + dataSetMessage->header.statusEnabled = true; + } + } else if(jsonDsm) { + if((u64)jsonDsm->dataSetMessageContentMask & + (u64)UA_JSONDATASETMESSAGECONTENTMASK_METADATAVERSION) { + dataSetMessage->header.configVersionMajorVersionEnabled = true; + dataSetMessage->header.configVersionMinorVersionEnabled = true; + if(heartbeat){ + dataSetMessage->header.configVersionMajorVersion = 0; + dataSetMessage->header.configVersionMinorVersion = 0; + } else { + dataSetMessage->header.configVersionMajorVersion = + currentDataSet->dataSetMetaData.configurationVersion.majorVersion; + dataSetMessage->header.configVersionMinorVersion = + currentDataSet->dataSetMetaData.configurationVersion.minorVersion; + } + } + + if((u64)jsonDsm->dataSetMessageContentMask & + (u64)UA_JSONDATASETMESSAGECONTENTMASK_SEQUENCENUMBER) { + dataSetMessage->header.dataSetMessageSequenceNrEnabled = true; + dataSetMessage->header.dataSetMessageSequenceNr = + dataSetWriter->actualDataSetMessageSequenceCount; + } + + if((u64)jsonDsm->dataSetMessageContentMask & + (u64)UA_JSONDATASETMESSAGECONTENTMASK_TIMESTAMP) { + dataSetMessage->header.timestampEnabled = true; + dataSetMessage->header.timestamp = UA_DateTime_now(); + } + + /* TODO: Statuscode not supported yet */ + if((u64)jsonDsm->dataSetMessageContentMask & + (u64)UA_JSONDATASETMESSAGECONTENTMASK_STATUS) { + dataSetMessage->header.statusEnabled = true; + } + } + + /* Set the sequence count. Automatically rolls over to zero */ + dataSetWriter->actualDataSetMessageSequenceCount++; + + if(heartbeat) { + /* Prepare DataSetMessageContent */ + dataSetMessage->header.dataSetMessageValid = true; + dataSetMessage->header.dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; + dataSetMessage->data.keyFrameData.fieldCount = 0; + return UA_STATUSCODE_GOOD; + } + + /* JSON does not differ between deltaframes and keyframes, only keyframes + * are currently used. */ + if(dsm && server->config.pubSubConfig.enableDeltaFrames) { + /* Check if the PublishedDataSet version has changed -> if yes flush the + * lastValue store and send a KeyFrame */ + if(dataSetWriter->connectedDataSetVersion.majorVersion != + currentDataSet->dataSetMetaData.configurationVersion.majorVersion || + dataSetWriter->connectedDataSetVersion.minorVersion != + currentDataSet->dataSetMetaData.configurationVersion.minorVersion) { + /* Remove old samples */ + for(size_t i = 0; i < dataSetWriter->lastSamplesCount; i++) + UA_DataValue_clear(&dataSetWriter->lastSamples[i].value); + + /* Realloc PDS dependent memory */ + dataSetWriter->lastSamplesCount = currentDataSet->fieldSize; + UA_DataSetWriterSample *newSamplesArray = (UA_DataSetWriterSample * ) + UA_realloc(dataSetWriter->lastSamples, + sizeof(UA_DataSetWriterSample) * dataSetWriter->lastSamplesCount); + if(!newSamplesArray) + return UA_STATUSCODE_BADOUTOFMEMORY; + dataSetWriter->lastSamples = newSamplesArray; + memset(dataSetWriter->lastSamples, 0, + sizeof(UA_DataSetWriterSample) * dataSetWriter->lastSamplesCount); + + dataSetWriter->connectedDataSetVersion = + currentDataSet->dataSetMetaData.configurationVersion; + UA_PubSubDataSetWriter_generateKeyFrameMessage(server, dataSetMessage, + dataSetWriter); + dataSetWriter->deltaFrameCounter = 0; + return UA_STATUSCODE_GOOD; + } + + /* The standard defines: if a PDS contains only one fields no delta messages + * should be generated because they need more memory than a keyframe with 1 + * field. */ + if(currentDataSet->fieldSize > 1 && dataSetWriter->deltaFrameCounter > 0 && + dataSetWriter->deltaFrameCounter <= dataSetWriter->config.keyFrameCount) { + UA_PubSubDataSetWriter_generateDeltaFrameMessage(server, dataSetMessage, + dataSetWriter); + dataSetWriter->deltaFrameCounter++; + return UA_STATUSCODE_GOOD; + } + + dataSetWriter->deltaFrameCounter = 1; + } + + return UA_PubSubDataSetWriter_generateKeyFrameMessage(server, dataSetMessage, + dataSetWriter); +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_writergroup.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2020 Yannick Wallerer, Siemens AG + * Copyright (c) 2020 Thomas Fischer, Siemens AG + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +#endif + +#define UA_MAX_STACKBUF 128 /* Max size of network messages on the stack */ + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +static UA_StatusCode +encryptAndSign(UA_WriterGroup *wg, const UA_NetworkMessage *nm, + UA_Byte *signStart, UA_Byte *encryptStart, + UA_Byte *msgEnd); + +#endif + +static UA_StatusCode +generateNetworkMessage(UA_PubSubConnection *connection, UA_WriterGroup *wg, + UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount, + UA_ExtensionObject *messageSettings, + UA_ExtensionObject *transportSettings, + UA_NetworkMessage *networkMessage); + +/* Add new publishCallback. The first execution is triggered directly after + * creation. */ +UA_StatusCode +UA_WriterGroup_addPublishCallback(UA_Server *server, UA_WriterGroup *wg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already registered */ + if(wg->publishCallbackId != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(wg->config.pubsubManagerCallback.addCustomCallback) { + /* Use configured mechanism for cyclic callbacks */ + retval = wg->config.pubsubManagerCallback. + addCustomCallback(server, wg->identifier, + (UA_ServerCallback)UA_WriterGroup_publishCallback, + wg, wg->config.publishingInterval, + NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, + &wg->publishCallbackId); + } else { + /* Use EventLoop for cyclic callbacks */ + UA_EventLoop *el = UA_PubSubConnection_getEL(server, wg->linkedConnection); + retval = el->addCyclicCallback(el, (UA_Callback)UA_WriterGroup_publishCallback, + server, wg, wg->config.publishingInterval, + NULL /* TODO: use basetime */, + UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, + &wg->publishCallbackId); + } + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Run once after creation. The Publish callback itself takes the server + * mutex. So we release it first. */ + UA_WriterGroup_publishCallback(server, wg); + return retval; +} + +static void +UA_WriterGroup_removePublishCallback(UA_Server *server, UA_WriterGroup *wg) { + if(wg->publishCallbackId == 0) + return; + if(wg->config.pubsubManagerCallback.removeCustomCallback) { + wg->config.pubsubManagerCallback. + removeCustomCallback(server, wg->identifier, wg->publishCallbackId); + } else { + UA_EventLoop *el = UA_PubSubConnection_getEL(server, wg->linkedConnection); + el->removeCyclicCallback(el, wg->publishCallbackId); + } + wg->publishCallbackId = 0; +} + +UA_StatusCode +UA_WriterGroup_create(UA_Server *server, const UA_NodeId connection, + const UA_WriterGroupConfig *writerGroupConfig, + UA_NodeId *writerGroupIdentifier) { + /* Delete the reserved IDs if the related session no longer exists. */ + UA_PubSubManager_freeIds(server); + if(!writerGroupConfig) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Search the connection by the given connectionIdentifier */ + UA_PubSubConnection *currentConnectionContext = + UA_PubSubConnection_findConnectionbyId(server, connection); + if(!currentConnectionContext) + return UA_STATUSCODE_BADNOTFOUND; + + if(currentConnectionContext->configurationFreezeCounter > 0) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Adding WriterGroup failed. PubSubConnection is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* Validate messageSettings type */ + const UA_ExtensionObject *ms = &writerGroupConfig->messageSettings; + if(ms->content.decoded.type) { + if(writerGroupConfig->encodingMimeType == UA_PUBSUB_ENCODING_JSON && + (ms->encoding != UA_EXTENSIONOBJECT_DECODED || + ms->content.decoded.type != &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE])) { + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + if(writerGroupConfig->encodingMimeType == UA_PUBSUB_ENCODING_UADP && + (ms->encoding != UA_EXTENSIONOBJECT_DECODED || + ms->content.decoded.type != &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE])) { + return UA_STATUSCODE_BADTYPEMISMATCH; + } + } + + /* Allocate new WriterGroup */ + UA_WriterGroup *newWriterGroup = (UA_WriterGroup*)UA_calloc(1, sizeof(UA_WriterGroup)); + if(!newWriterGroup) + return UA_STATUSCODE_BADOUTOFMEMORY; + + memset(newWriterGroup, 0, sizeof(UA_WriterGroup)); + newWriterGroup->componentType = UA_PUBSUB_COMPONENT_WRITERGROUP; + newWriterGroup->linkedConnection = currentConnectionContext; + + /* Deep copy of the config */ + UA_WriterGroupConfig *newConfig = &newWriterGroup->config; + UA_StatusCode res = UA_WriterGroupConfig_copy(writerGroupConfig, newConfig); + if(res != UA_STATUSCODE_GOOD) { + UA_free(newWriterGroup); + return res; + } + + /* Create the datatype value if not present */ + if(!newConfig->messageSettings.content.decoded.type) { + UA_UadpWriterGroupMessageDataType *wgm = UA_UadpWriterGroupMessageDataType_new(); + newConfig->messageSettings.content.decoded.data = wgm; + newConfig->messageSettings.content.decoded.type = + &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]; + newConfig->messageSettings.encoding = UA_EXTENSIONOBJECT_DECODED; + } + + /* Attach to the connection */ + LIST_INSERT_HEAD(¤tConnectionContext->writerGroups, newWriterGroup, listEntry); + currentConnectionContext->writerGroupsSize++; + + /* Add representation / create unique identifier */ +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + res = addWriterGroupRepresentation(server, newWriterGroup); +#else + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, + &newWriterGroup->identifier); +#endif + +#ifdef UA_ENABLE_PUBSUB_SKS + if(writerGroupConfig->securityMode == UA_MESSAGESECURITYMODE_SIGN || + writerGroupConfig->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + if(!UA_String_isEmpty(&writerGroupConfig->securityGroupId) && + writerGroupConfig->securityPolicy) { + /* Does the key storage already exist? */ + newWriterGroup->keyStorage = + UA_PubSubKeyStorage_findKeyStorage(server, writerGroupConfig->securityGroupId); + + if(!newWriterGroup->keyStorage) { + /* Create a new key storage */ + newWriterGroup->keyStorage = (UA_PubSubKeyStorage *) + UA_calloc(1, sizeof(UA_PubSubKeyStorage)); + if(!newWriterGroup) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_PubSubKeyStorage_init(server, newWriterGroup->keyStorage, + &writerGroupConfig->securityGroupId, + writerGroupConfig->securityPolicy, 0, 0); + if(res != UA_STATUSCODE_GOOD) { + UA_free(newWriterGroup); + return res; + } + } + + /* Increase the ref count */ + newWriterGroup->keyStorage->referenceCount++; + } + } + +#endif + + if(writerGroupIdentifier) + UA_NodeId_copy(&newWriterGroup->identifier, writerGroupIdentifier); + + /* Trigger the connection to open a connection */ + UA_PubSubConnection_setPubSubState(server, currentConnectionContext, + currentConnectionContext->state, + UA_STATUSCODE_GOOD); + + return res; +} + +UA_StatusCode +UA_Server_addWriterGroup(UA_Server *server, const UA_NodeId connection, + const UA_WriterGroupConfig *writerGroupConfig, + UA_NodeId *writerGroupIdentifier) { + lockServer(server); + UA_StatusCode res = UA_WriterGroup_create(server, connection, writerGroupConfig, + writerGroupIdentifier); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_WriterGroup_remove(UA_Server *server, UA_WriterGroup *wg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(wg->configurationFrozen) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Deleting the WriterGroup failed. " + "WriterGroup is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + UA_PubSubConnection *connection = wg->linkedConnection; + UA_assert(connection); + if(connection->configurationFreezeCounter > 0) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Deleting the WriterGroup failed. " + "PubSubConnection is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* Disable (and disconnect) and set the deleteFlag. This prevents a + * reconnect and triggers the deletion when the last open socket is + * closed. */ + wg->deleteFlag = true; + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); + + UA_DataSetWriter *dsw, *dsw_tmp; + LIST_FOREACH_SAFE(dsw, &wg->writers, listEntry, dsw_tmp) { + UA_DataSetWriter_remove(server, dsw); + } + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(wg->config.securityPolicy && wg->securityPolicyContext) { + wg->config.securityPolicy->deleteContext(wg->securityPolicyContext); + wg->securityPolicyContext = NULL; + } +#endif + +#ifdef UA_ENABLE_PUBSUB_SKS + if(wg->keyStorage) { + UA_PubSubKeyStorage_detachKeyStorage(server, wg->keyStorage); + wg->keyStorage = NULL; + } +#endif + + if(wg->sendChannel == 0) { + /* Unlink from the connection */ + LIST_REMOVE(wg, listEntry); + connection->writerGroupsSize--; + wg->linkedConnection = NULL; + + /* Actually remove the WriterGroup */ +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, wg->identifier, true); +#endif + UA_WriterGroupConfig_clear(&wg->config); + UA_NodeId_clear(&wg->identifier); + UA_NetworkMessageOffsetBuffer_clear(&wg->bufferedMessage); + UA_free(wg); + } + + /* Update the connection state */ + UA_PubSubConnection_setPubSubState(server, connection, connection->state, + UA_STATUSCODE_GOOD); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_removeWriterGroup(UA_Server *server, const UA_NodeId writerGroup) { + lockServer(server); + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(!wg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_WriterGroup_remove(server, wg); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_WriterGroup_freezeConfiguration(UA_Server *server, UA_WriterGroup *wg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(wg->configurationFrozen) + return UA_STATUSCODE_GOOD; + + /* Increase PubSubConnection freezeCounter */ + UA_PubSubConnection *pubSubConnection = wg->linkedConnection; + pubSubConnection->configurationFreezeCounter++; + + /* Freeze the WriterGroup */ + wg->configurationFrozen = true; + + /* Freeze the DataSetWriter */ + UA_DataSetWriter *dsw; + LIST_FOREACH(dsw, &wg->writers, listEntry) { + UA_DataSetWriter_freezeConfiguration(server, dsw); + } + + /* Offset table enabled? */ + if((wg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) == 0) + return UA_STATUSCODE_GOOD; + + /* Offset table only possible for binary encoding */ + if(wg->config.encodingMimeType != UA_PUBSUB_ENCODING_UADP) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "PubSub-RT configuration fail: Non-RT capable encoding."); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + + //TODO Clarify: should we only allow = maxEncapsulatedDataSetMessageCount == 1 with RT? + //TODO Clarify: Behaviour if the finale size is more than MTU + + /* Define variables here for goto */ + size_t msgSize; + UA_ByteString buf; + const UA_Byte *bufEnd; + UA_Byte *bufPos; + UA_NetworkMessage networkMessage; + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_STACKARRAY(UA_UInt16, dsWriterIds, wg->writersCount); + UA_STACKARRAY(UA_DataSetMessage, dsmStore, wg->writersCount); + + /* Validate the DataSetWriters and generate their DataSetMessage */ + size_t dsmCount = 0; + LIST_FOREACH(dsw, &wg->writers, listEntry) { + dsWriterIds[dsmCount] = dsw->config.dataSetWriterId; + res = UA_DataSetWriter_prepareDataSet(server, dsw, &dsmStore[dsmCount]); + if(res != UA_STATUSCODE_GOOD) + goto cleanup_dsm; + dsmCount++; + } + + /* Generate the NetworkMessage */ + memset(&networkMessage, 0, sizeof(networkMessage)); + res = generateNetworkMessage(pubSubConnection, wg, dsmStore, dsWriterIds, + (UA_Byte) dsmCount, &wg->config.messageSettings, + &wg->config.transportSettings, &networkMessage); + if(res != UA_STATUSCODE_GOOD) + goto cleanup_dsm; + + /* Compute the message length and generate the offset-table (done inside + * calcSizeBinary) */ + memset(&wg->bufferedMessage, 0, sizeof(UA_NetworkMessageOffsetBuffer)); + msgSize = UA_NetworkMessage_calcSizeBinary(&networkMessage, &wg->bufferedMessage); +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { + UA_PubSubSecurityPolicy *sp = wg->config.securityPolicy; + msgSize += sp->symmetricModule.cryptoModule. + signatureAlgorithm.getLocalSignatureSize(sp->policyContext); + } +#endif + + /* Generate the buffer for the pre-encoded message */ + res = UA_ByteString_allocBuffer(&buf, msgSize); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + wg->bufferedMessage.buffer = buf; + + /* Encode the NetworkMessage */ + bufEnd = &wg->bufferedMessage.buffer.data[wg->bufferedMessage.buffer.length]; + bufPos = wg->bufferedMessage.buffer.data; + + /* Preallocate the encryption buffer */ +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { + UA_Byte *payloadPosition; + UA_NetworkMessage_encodeBinary(&networkMessage, &bufPos, bufEnd, &payloadPosition); + wg->bufferedMessage.payloadPosition = payloadPosition; + wg->bufferedMessage.nm = (UA_NetworkMessage *)UA_calloc(1,sizeof(UA_NetworkMessage)); + wg->bufferedMessage.nm->securityHeader = networkMessage.securityHeader; + UA_ByteString_allocBuffer(&wg->bufferedMessage.encryptBuffer, msgSize); + } +#endif + + if(wg->config.securityMode <= UA_MESSAGESECURITYMODE_NONE) + UA_NetworkMessage_encodeBinary(&networkMessage, &bufPos, bufEnd, NULL); + + /* Post-processing of the OffsetBuffer to set the external data source from + * the DataSetField configuration */ + if(wg->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS) { + size_t fieldPos = 0; + LIST_FOREACH(dsw, &wg->writers, listEntry) { + UA_PublishedDataSet *pds = + UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); + if(!pds) + continue; + + /* Loop over all DataSetFields */ + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, &pds->fields, listEntry) { + UA_NetworkMessageOffsetType contentType; + /* Move forward to the next payload-type offset field */ + do { + fieldPos++; + contentType = wg->bufferedMessage.offsets[fieldPos].contentType; + } while(contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW); + UA_assert(fieldPos < wg->bufferedMessage.offsetsSize); + + if(!dsf->config.field.variable.rtValueSource.rtFieldSourceEnabled) + continue; + + /* Set the external value soure in the offset buffer */ + UA_DataValue_clear(&wg->bufferedMessage.offsets[fieldPos].content.value); + wg->bufferedMessage.offsets[fieldPos].content.externalValue = + dsf->config.field.variable.rtValueSource.staticValueSource; + + /* Update the content type to _EXTERNAL */ + wg->bufferedMessage.offsets[fieldPos].contentType = + (UA_NetworkMessageOffsetType)(contentType + 1); + } + } + } + + cleanup: + UA_free(networkMessage.payload.dataSetPayload.sizes); + + cleanup_dsm: + /* Clean up DataSetMessages */ + for(size_t i = 0; i < dsmCount; i++) { + UA_DataSetMessage_clear(&dsmStore[i]); + } + return res; +} + +UA_StatusCode +UA_Server_freezeWriterGroupConfiguration(UA_Server *server, + const UA_NodeId writerGroup) { + lockServer(server); + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(!wg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_WriterGroup_freezeConfiguration(server, wg); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_WriterGroup_unfreezeConfiguration(UA_Server *server, UA_WriterGroup *wg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already unfrozen */ + if(!wg->configurationFrozen) + return UA_STATUSCODE_GOOD; + + UA_PubSubConnection *pubSubConnection = wg->linkedConnection; + pubSubConnection->configurationFreezeCounter--; + + /* DataSetWriter unfreeze */ + UA_DataSetWriter *dsw; + LIST_FOREACH(dsw, &wg->writers, listEntry) { + UA_DataSetWriter_unfreezeConfiguration(server, dsw); + } + + UA_NetworkMessageOffsetBuffer_clear(&wg->bufferedMessage); + wg->configurationFrozen = false; + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_unfreezeWriterGroupConfiguration(UA_Server *server, + const UA_NodeId writerGroup) { + lockServer(server); + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(!wg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_WriterGroup_unfreezeConfiguration(server, wg); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_setWriterGroupOperational(UA_Server *server, + const UA_NodeId writerGroup) { + lockServer(server); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(wg) { +#ifdef UA_ENABLE_PUBSUB_SKS + if(wg->keyStorage && wg->keyStorage->currentItem) { + res = UA_PubSubKeyStorage_activateKeyToChannelContext( + server, wg->identifier, wg->config.securityGroupId); + if(res != UA_STATUSCODE_GOOD) { + unlockServer(server); + return res; + } + } +#endif + + res = UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + } + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_setWriterGroupDisabled(UA_Server *server, + const UA_NodeId writerGroup) { + lockServer(server); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(wg) + res = UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADRESOURCEUNAVAILABLE); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_WriterGroupConfig_copy(const UA_WriterGroupConfig *src, + UA_WriterGroupConfig *dst) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + memcpy(dst, src, sizeof(UA_WriterGroupConfig)); + res |= UA_String_copy(&src->name, &dst->name); + res |= UA_ExtensionObject_copy(&src->transportSettings, &dst->transportSettings); + res |= UA_ExtensionObject_copy(&src->messageSettings, &dst->messageSettings); + res |= UA_KeyValueMap_copy(&src->groupProperties, &dst->groupProperties); +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + res |= UA_String_copy(&src->securityGroupId, &dst->securityGroupId); +#endif + if(res != UA_STATUSCODE_GOOD) + UA_WriterGroupConfig_clear(dst); + return res; +} + +UA_StatusCode +UA_Server_getWriterGroupConfig(UA_Server *server, const UA_NodeId writerGroup, + UA_WriterGroupConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_WriterGroup *currentWG = UA_WriterGroup_findWGbyId(server, writerGroup); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + if(currentWG) + res = UA_WriterGroupConfig_copy(¤tWG->config, config); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_WriterGroup_updateConfig(UA_Server *server, UA_WriterGroup *wg, + const UA_WriterGroupConfig *config) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + if(wg->configurationFrozen){ + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Modify WriterGroup failed. WriterGroup is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + //The update functionality will be extended during the next PubSub batches. + //Currently is only a change of the publishing interval possible. + if(wg->config.maxEncapsulatedDataSetMessageCount != config->maxEncapsulatedDataSetMessageCount) { + wg->config.maxEncapsulatedDataSetMessageCount = config->maxEncapsulatedDataSetMessageCount; + if(wg->config.messageSettings.encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "MaxEncapsulatedDataSetMessag need enabled " + "'PayloadHeader' within the message settings."); + } + } + + if(wg->config.publishingInterval != config->publishingInterval) { + wg->config.publishingInterval = config->publishingInterval; + if(wg->config.rtLevel == UA_PUBSUB_RT_NONE && + wg->state == UA_PUBSUBSTATE_OPERATIONAL) { + UA_WriterGroup_removePublishCallback(server, wg); + res = UA_WriterGroup_addPublishCallback(server, wg); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Modify WriterGroup failed. Adding publish callback failed" + "with status code %s", UA_StatusCode_name(res)); + return res; + } + } + } + + if(wg->config.priority != config->priority) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "Priority parameter is not yet " + "supported for WriterGroup updates"); + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_updateWriterGroupConfig(UA_Server *server, UA_NodeId writerGroupIdentifier, + const UA_WriterGroupConfig *config) { + lockServer(server); + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroupIdentifier); + if(!wg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + + UA_StatusCode res = UA_WriterGroup_updateConfig(server, wg, config); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_WriterGroup_getState(UA_Server *server, UA_NodeId writerGroupIdentifier, + UA_PubSubState *state) { + if((server == NULL) || (state == NULL)) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_WriterGroup *currentWriterGroup = + UA_WriterGroup_findWGbyId(server, writerGroupIdentifier); + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(currentWriterGroup) { + *state = currentWriterGroup->state; + } else { + res = UA_STATUSCODE_BADNOTFOUND; + } + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_WriterGroup_publish(UA_Server *server, const UA_NodeId writerGroupIdentifier){ + lockServer(server); + + //search WriterGroup ToDo create lookup table for more efficiency + UA_WriterGroup *writerGroup; + writerGroup = UA_WriterGroup_findWGbyId(server, writerGroupIdentifier); + if(writerGroup == NULL){ + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + unlockServer(server); + UA_WriterGroup_publishCallback(server, writerGroup); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_WriterGroup_lastPublishTimestamp(UA_Server *server, const UA_NodeId writerGroupId, + UA_DateTime *timestamp){ + lockServer(server); + //search WriterGroup ToDo create lookup table for more efficiency + UA_WriterGroup *writerGroup; + writerGroup = UA_WriterGroup_findWGbyId(server, writerGroupId); + if(writerGroup == NULL){ + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + *timestamp = writerGroup->lastPublishTimeStamp; + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; +} + +UA_WriterGroup * +UA_WriterGroup_findWGbyId(UA_Server *server, UA_NodeId identifier) { + UA_PubSubConnection *tmpConnection; + TAILQ_FOREACH(tmpConnection, &server->pubSubManager.connections, listEntry) { + UA_WriterGroup *tmpWriterGroup; + LIST_FOREACH(tmpWriterGroup, &tmpConnection->writerGroups, listEntry) { + if(UA_NodeId_equal(&identifier, &tmpWriterGroup->identifier)) + return tmpWriterGroup; + } + } + return NULL; +} + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +UA_StatusCode +setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce) { + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); + if(!wg) + return UA_STATUSCODE_BADNOTFOUND; + if(wg->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "JSON encoding is enabled. The message security is only defined for the UADP message mapping."); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(!wg->config.securityPolicy) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, + "No SecurityPolicy configured for the WriterGroup"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + if(securityTokenId != wg->securityTokenId) { + wg->securityTokenId = securityTokenId; + wg->nonceSequenceNumber = 1; + } + + /* Create a new context */ + if(!wg->securityPolicyContext) { + return wg->config.securityPolicy-> + newContext(wg->config.securityPolicy->policyContext, + &signingKey, &encryptingKey, &keyNonce, + &wg->securityPolicyContext); + } + + /* Update the context */ + return wg->config.securityPolicy-> + setSecurityKeys(wg->securityPolicyContext, &signingKey, &encryptingKey, &keyNonce); +} + +UA_StatusCode +UA_Server_setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce) { + lockServer(server); + UA_StatusCode res = setWriterGroupEncryptionKeys(server, writerGroup, securityTokenId, + signingKey, encryptingKey, keyNonce); + unlockServer(server); + return res; +} +#endif + +void +UA_WriterGroupConfig_clear(UA_WriterGroupConfig *writerGroupConfig) { + UA_String_clear(&writerGroupConfig->name); + UA_ExtensionObject_clear(&writerGroupConfig->transportSettings); + UA_ExtensionObject_clear(&writerGroupConfig->messageSettings); + UA_KeyValueMap_clear(&writerGroupConfig->groupProperties); +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_String_clear(&writerGroupConfig->securityGroupId); +#endif + memset(writerGroupConfig, 0, sizeof(UA_WriterGroupConfig)); +} + +UA_StatusCode +UA_WriterGroup_setPubSubState(UA_Server *server, UA_WriterGroup *writerGroup, + UA_PubSubState state, UA_StatusCode cause) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(writerGroup->deleteFlag && state != UA_PUBSUBSTATE_DISABLED) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "The WriterGroup is being deleted. Can only be disabled."); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_DataSetWriter *dataSetWriter; + UA_PubSubState oldState = writerGroup->state; + switch(state) { + case UA_PUBSUBSTATE_DISABLED: + UA_WriterGroup_disconnect(writerGroup); + switch (writerGroup->state){ + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: { + UA_WriterGroup_removePublishCallback(server, writerGroup); + LIST_FOREACH(dataSetWriter, &writerGroup->writers, listEntry) { + UA_DataSetWriter_setPubSubState(server, dataSetWriter, + UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADRESOURCEUNAVAILABLE); + } + + writerGroup->state = UA_PUBSUBSTATE_DISABLED; + break; + } + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "Received unknown PubSub state!"); + } + break; + case UA_PUBSUBSTATE_PAUSED: + switch (writerGroup->state) { + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "Received unknown PubSub state!"); + } + break; + case UA_PUBSUBSTATE_OPERATIONAL: + switch (writerGroup->state) { + case UA_PUBSUBSTATE_DISABLED: { + writerGroup->state = UA_PUBSUBSTATE_OPERATIONAL; + UA_WriterGroup_removePublishCallback(server, writerGroup); + LIST_FOREACH(dataSetWriter, &writerGroup->writers, listEntry) { + UA_DataSetWriter_setPubSubState(server, dataSetWriter, + UA_PUBSUBSTATE_OPERATIONAL, cause); + } + + ret = UA_WriterGroup_connect(server, writerGroup, false); + if(ret != UA_STATUSCODE_GOOD) { + UA_WriterGroup_setPubSubState(server, writerGroup, + UA_PUBSUBSTATE_ERROR, ret); + break; + } + ret = UA_WriterGroup_addPublishCallback(server, writerGroup); + if(ret != UA_STATUSCODE_GOOD) { + UA_WriterGroup_setPubSubState(server, writerGroup, + UA_PUBSUBSTATE_ERROR, ret); + break; + } + break; + } + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "Received unknown PubSub state!"); + } + + UA_PubSubConnection *c = writerGroup->linkedConnection; + ret = UA_PubSubConnection_setPubSubState(server, c, + UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + if(ret != UA_STATUSCODE_GOOD || + (c->state != UA_PUBSUBSTATE_OPERATIONAL && + c->state != UA_PUBSUBSTATE_PREOPERATIONAL)) { + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "Connection not operational"); + return UA_STATUSCODE_BADINTERNALERROR; + } + break; + case UA_PUBSUBSTATE_ERROR: { + switch (writerGroup->state){ + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: { + UA_WriterGroup_removePublishCallback(server, writerGroup); + LIST_FOREACH(dataSetWriter, &writerGroup->writers, listEntry){ + UA_DataSetWriter_setPubSubState(server, dataSetWriter, + UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_GOOD); + } + break; + } + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "Received unknown PubSub state!"); + } + writerGroup->state = UA_PUBSUBSTATE_ERROR; + break; + } + default: + UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, + "Received unknown PubSub state!"); + } + + if(state != oldState) { + /* inform application about state change */ + UA_ServerConfig *pConfig = &server->config; + if(pConfig->pubSubConfig.stateChangeCallback != 0) { + pConfig->pubSubConfig. + stateChangeCallback(server, &writerGroup->identifier, state, cause); + } + } + return ret; +} + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +static UA_StatusCode +encryptAndSign(UA_WriterGroup *wg, const UA_NetworkMessage *nm, + UA_Byte *signStart, UA_Byte *encryptStart, + UA_Byte *msgEnd) { + UA_StatusCode rv; + void *channelContext = wg->securityPolicyContext; + + if(nm->securityHeader.networkMessageEncrypted) { + /* Set the temporary MessageNonce in the SecurityPolicy */ + const UA_ByteString nonce = { + (size_t)nm->securityHeader.messageNonceSize, + (UA_Byte*)(uintptr_t)nm->securityHeader.messageNonce + }; + rv = wg->config.securityPolicy->setMessageNonce(channelContext, &nonce); + UA_CHECK_STATUS(rv, return rv); + + /* The encryption is done in-place, no need to encode again */ + UA_ByteString toBeEncrypted = + {(uintptr_t)msgEnd - (uintptr_t)encryptStart, encryptStart}; + rv = wg->config.securityPolicy->symmetricModule.cryptoModule.encryptionAlgorithm. + encrypt(channelContext, &toBeEncrypted); + UA_CHECK_STATUS(rv, return rv); + } + + if(nm->securityHeader.networkMessageSigned) { + UA_ByteString toBeSigned = {(uintptr_t)msgEnd - (uintptr_t)signStart, + signStart}; + + size_t sigSize = wg->config.securityPolicy->symmetricModule.cryptoModule. + signatureAlgorithm.getLocalSignatureSize(channelContext); + UA_ByteString signature = {sigSize, msgEnd}; + + rv = wg->config.securityPolicy->symmetricModule.cryptoModule. + signatureAlgorithm.sign(channelContext, &toBeSigned, &signature); + UA_CHECK_STATUS(rv, return rv); + } + return UA_STATUSCODE_GOOD; +} +#endif + +static UA_StatusCode +encodeNetworkMessage(UA_WriterGroup *wg, UA_NetworkMessage *nm, + UA_ByteString *buf) { + UA_Byte *bufPos = buf->data; + UA_Byte *bufEnd = &buf->data[buf->length]; + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_Byte *networkMessageStart = bufPos; +#endif + UA_StatusCode rv = UA_NetworkMessage_encodeHeaders(nm, &bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_Byte *payloadStart = bufPos; +#endif + rv = UA_NetworkMessage_encodePayload(nm, &bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + + rv = UA_NetworkMessage_encodeFooters(nm, &bufPos, bufEnd); + UA_CHECK_STATUS(rv, return rv); + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + /* Encrypt and Sign the message */ + UA_Byte *footerEnd = bufPos; + rv = encryptAndSign(wg, nm, networkMessageStart, payloadStart, footerEnd); + UA_CHECK_STATUS(rv, return rv); +#endif + + return UA_STATUSCODE_GOOD; +} + +static void +sendNetworkMessageBuffer(UA_Server *server, UA_WriterGroup *wg, + UA_PubSubConnection *connection, uintptr_t connectionId, + UA_ByteString *buffer) { + UA_StatusCode res = connection->cm-> + sendWithConnection(connection->cm, connectionId, + &UA_KEYVALUEMAP_NULL, buffer); + + /* Failure, set the WriterGroup into an error mode */ + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Sending NetworkMessage failed"); + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, res); + UA_PubSubConnection_setPubSubState(server, connection, UA_PUBSUBSTATE_ERROR, res); + return; + } + + /* Sending successful - increase the sequence number */ + wg->sequenceNumber++; +} + +#ifdef UA_ENABLE_JSON_ENCODING +static UA_StatusCode +sendNetworkMessageJson(UA_Server *server, UA_PubSubConnection *connection, UA_WriterGroup *wg, + UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount) { + /* Prepare the NetworkMessage */ + UA_NetworkMessage nm; + memset(&nm, 0, sizeof(UA_NetworkMessage)); + nm.version = 1; + nm.networkMessageType = UA_NETWORKMESSAGE_DATASET; + nm.payloadHeaderEnabled = true; + nm.payloadHeader.dataSetPayloadHeader.count = dsmCount; + nm.payloadHeader.dataSetPayloadHeader.dataSetWriterIds = writerIds; + nm.payload.dataSetPayload.dataSetMessages = dsm; + nm.publisherIdEnabled = true; + nm.publisherIdType = connection->config.publisherIdType; + nm.publisherId = connection->config.publisherId; + + /* Compute the message length */ + size_t msgSize = UA_NetworkMessage_calcSizeJson(&nm, NULL, 0, NULL, 0, true); + + UA_ConnectionManager *cm = connection->cm; + if(!cm) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Select the wg sendchannel if configured */ + uintptr_t sendChannel = connection->sendChannel; + if(wg->sendChannel != 0) + sendChannel = wg->sendChannel; + if(sendChannel == 0) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Cannot send, no open connection"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Allocate the buffer */ + UA_ByteString buf; + UA_StatusCode res = cm->allocNetworkBuffer(cm, sendChannel, &buf, msgSize); + UA_CHECK_STATUS(res, return res); + + /* Encode the message */ + UA_Byte *bufPos = buf.data; + const UA_Byte *bufEnd = &buf.data[msgSize]; + res = UA_NetworkMessage_encodeJson(&nm, &bufPos, &bufEnd, NULL, 0, NULL, 0, true); + if(res != UA_STATUSCODE_GOOD) { + cm->freeNetworkBuffer(cm, sendChannel, &buf); + return res; + } + UA_assert(bufPos == bufEnd); + + /* Send the prepared messages */ + sendNetworkMessageBuffer(server, wg, connection, sendChannel, &buf); + return UA_STATUSCODE_GOOD; +} +#endif + +static UA_StatusCode +generateNetworkMessage(UA_PubSubConnection *connection, UA_WriterGroup *wg, + UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount, + UA_ExtensionObject *messageSettings, + UA_ExtensionObject *transportSettings, + UA_NetworkMessage *networkMessage) { + if(messageSettings->content.decoded.type != + &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) + return UA_STATUSCODE_BADINTERNALERROR; + UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) + messageSettings->content.decoded.data; + + networkMessage->publisherIdEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PUBLISHERID) != 0; + networkMessage->groupHeaderEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_GROUPHEADER) != 0; + networkMessage->groupHeader.writerGroupIdEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_WRITERGROUPID) != 0; + networkMessage->groupHeader.groupVersionEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_GROUPVERSION) != 0; + networkMessage->groupHeader.networkMessageNumberEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_NETWORKMESSAGENUMBER) != 0; + networkMessage->groupHeader.sequenceNumberEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_SEQUENCENUMBER) != 0; + networkMessage->payloadHeaderEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PAYLOADHEADER) != 0; + networkMessage->timestampEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_TIMESTAMP) != 0; + networkMessage->picosecondsEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PICOSECONDS) != 0; + networkMessage->dataSetClassIdEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_DATASETCLASSID) != 0; + networkMessage->promotedFieldsEnabled = + ((u64)wgm->networkMessageContentMask & + (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PROMOTEDFIELDS) != 0; + + /* Set the SecurityHeader */ +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { + networkMessage->securityEnabled = true; + networkMessage->securityHeader.networkMessageSigned = true; + if(wg->config.securityMode >= UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + networkMessage->securityHeader.networkMessageEncrypted = true; + networkMessage->securityHeader.securityTokenId = wg->securityTokenId; + + /* Generate the MessageNonce. Four random bytes followed by a four-byte + * sequence number */ + UA_ByteString nonce = {4, networkMessage->securityHeader.messageNonce}; + UA_StatusCode rv = wg->config.securityPolicy->symmetricModule. + generateNonce(wg->config.securityPolicy->policyContext, &nonce); + if(rv != UA_STATUSCODE_GOOD) + return rv; + UA_Byte *pos = &networkMessage->securityHeader.messageNonce[4]; + const UA_Byte *end = &networkMessage->securityHeader.messageNonce[8]; + UA_UInt32_encodeBinary(&wg->nonceSequenceNumber, &pos, end); + networkMessage->securityHeader.messageNonceSize = 8; + } +#endif + + networkMessage->version = 1; + networkMessage->networkMessageType = UA_NETWORKMESSAGE_DATASET; + networkMessage->publisherIdType = connection->config.publisherIdType; + /* shallow copy of the PublisherId from connection configuration + -> the configuration needs to be stable during publishing process + -> it must not be cleaned after network message has been sent */ + networkMessage->publisherId = connection->config.publisherId; + + if(networkMessage->groupHeader.sequenceNumberEnabled) + networkMessage->groupHeader.sequenceNumber = wg->sequenceNumber; + + if(networkMessage->groupHeader.groupVersionEnabled) + networkMessage->groupHeader.groupVersion = wgm->groupVersion; + + /* Compute the length of the dsm separately for the header */ + UA_UInt16 *dsmLengths = (UA_UInt16 *) UA_calloc(dsmCount, sizeof(UA_UInt16)); + if(!dsmLengths) + return UA_STATUSCODE_BADOUTOFMEMORY; + for(UA_Byte i = 0; i < dsmCount; i++) + dsmLengths[i] = (UA_UInt16) UA_DataSetMessage_calcSizeBinary(&dsm[i], NULL, 0); + + networkMessage->payloadHeader.dataSetPayloadHeader.count = dsmCount; + networkMessage->payloadHeader.dataSetPayloadHeader.dataSetWriterIds = writerIds; + networkMessage->groupHeader.writerGroupId = wg->config.writerGroupId; + /* number of the NetworkMessage inside a PublishingInterval */ + networkMessage->groupHeader.networkMessageNumber = 1; + networkMessage->payload.dataSetPayload.sizes = dsmLengths; + networkMessage->payload.dataSetPayload.dataSetMessages = dsm; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sendNetworkMessageBinary(UA_Server *server, UA_PubSubConnection *connection, UA_WriterGroup *wg, + UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount) { + UA_NetworkMessage nm; + memset(&nm, 0, sizeof(UA_NetworkMessage)); + + /* Fill the message structure */ + UA_StatusCode rv = + generateNetworkMessage(connection, wg, dsm, writerIds, dsmCount, + &wg->config.messageSettings, + &wg->config.transportSettings, &nm); + UA_CHECK_STATUS(rv, return rv); + + /* Compute the message size. Add the overhead for the security signature. + * There is no padding and the encryption incurs no size overhead. */ + size_t msgSize = UA_NetworkMessage_calcSizeBinary(&nm, NULL); +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { + UA_PubSubSecurityPolicy *sp = wg->config.securityPolicy; + msgSize += sp->symmetricModule.cryptoModule. + signatureAlgorithm.getLocalSignatureSize(sp->policyContext); + } +#endif + + UA_ConnectionManager *cm = connection->cm; + if(!cm) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Select the wg sendchannel if configured */ + uintptr_t sendChannel = connection->sendChannel; + if(wg->sendChannel != 0) + sendChannel = wg->sendChannel; + if(sendChannel == 0) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "Cannot send, no open connection"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Allocate the buffer. Allocate on the stack if the buffer is small. */ + UA_ByteString buf = UA_BYTESTRING_NULL; + rv = cm->allocNetworkBuffer(cm, sendChannel, &buf, msgSize); + UA_CHECK_STATUS(rv, return rv); + + /* Encode and encrypt the message */ + rv = encodeNetworkMessage(wg, &nm, &buf); + if(rv != UA_STATUSCODE_GOOD) { + cm->freeNetworkBuffer(cm, sendChannel, &buf); + UA_free(nm.payload.dataSetPayload.sizes); + return rv; + } + + /* Send out the message */ + sendNetworkMessageBuffer(server, wg, connection, sendChannel, &buf); + + UA_free(nm.payload.dataSetPayload.sizes); + return UA_STATUSCODE_GOOD; +} + +static void +sampleOffsetPublishingValues(UA_Server *server, UA_WriterGroup *wg) { + lockServer(server); + + size_t fieldPos = 0; + UA_DataSetWriter *dsw; + LIST_FOREACH(dsw, &wg->writers, listEntry) { + UA_PublishedDataSet *pds = + UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); + if(!pds) + continue; + + /* Loop over the fields */ + UA_DataSetField *dsf; + TAILQ_FOREACH(dsf, &pds->fields, listEntry) { + /* Get the matching offset table entry */ + UA_NetworkMessageOffsetType contentType; + do { + fieldPos++; + contentType = wg->bufferedMessage.offsets[fieldPos].contentType; + } while(contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW && + contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL); + + /* External data source is never sampled, but accessed directly in + * the encoding */ + if(contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL || + contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL || + contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL) + continue; + + /* Sample the value into the offset table */ + UA_DataValue *dfv = &wg->bufferedMessage.offsets[fieldPos].content.value; + UA_DataValue_clear(dfv); + UA_PubSubDataSetField_sampleValue(server, dsf, dfv); + } + } + + unlockServer(server); +} + +static void +publishWithOffsets(UA_Server *server, UA_WriterGroup *writerGroup, + UA_PubSubConnection *connection) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_assert(writerGroup->configurationFrozen); + + /* Fixed size but no direct value access. Sample to get recent values into + * the offset buffer structure. */ + if((writerGroup->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS) == 0) + sampleOffsetPublishingValues(server, writerGroup); + + UA_StatusCode res = + UA_NetworkMessage_updateBufferedMessage(&writerGroup->bufferedMessage); + + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG_WRITERGROUP(server->config.logging, writerGroup, + "PubSub sending. Unknown field type."); + return; + } + + UA_ByteString *buf = &writerGroup->bufferedMessage.buffer; + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + /* Send the encrypted buffered message if PubSub encryption is enabled */ + if(writerGroup->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { + size_t sigSize = writerGroup->config.securityPolicy->symmetricModule.cryptoModule. + signatureAlgorithm.getLocalSignatureSize(writerGroup->securityPolicyContext); + + UA_Byte payloadOffset = (UA_Byte)(writerGroup->bufferedMessage.payloadPosition - + writerGroup->bufferedMessage.buffer.data); + memcpy(writerGroup->bufferedMessage.encryptBuffer.data, + writerGroup->bufferedMessage.buffer.data, + writerGroup->bufferedMessage.buffer.length); + res = encryptAndSign(writerGroup, writerGroup->bufferedMessage.nm, + writerGroup->bufferedMessage.encryptBuffer.data, + writerGroup->bufferedMessage.encryptBuffer.data + payloadOffset, + writerGroup->bufferedMessage.encryptBuffer.data + + writerGroup->bufferedMessage.encryptBuffer.length - sigSize); + + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, + "PubSub Encryption failed"); + return; + } + + buf = &writerGroup->bufferedMessage.encryptBuffer; + } +#endif + + UA_ConnectionManager *cm = connection->cm; + if(!cm) + return; + + /* Select the wg sendchannel if configured */ + uintptr_t sendChannel = connection->sendChannel; + if(writerGroup->sendChannel != 0) + sendChannel = writerGroup->sendChannel; + if(sendChannel == 0) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, + "Cannot send, no open connection"); + return; + } + + /* Copy into the network buffer */ + UA_ByteString outBuf; + res = cm->allocNetworkBuffer(cm, sendChannel, &outBuf, buf->length); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, + "PubSub message memory allocation failed"); + return; + } + memcpy(outBuf.data, buf->data, buf->length); + sendNetworkMessageBuffer(server, writerGroup, connection, sendChannel, &outBuf); +} + +static void +sendNetworkMessage(UA_Server *server, UA_WriterGroup *wg, UA_PubSubConnection *connection, + UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + switch(wg->config.encodingMimeType) { + case UA_PUBSUB_ENCODING_UADP: + res = sendNetworkMessageBinary(server, connection, wg, dsm, writerIds, dsmCount); + break; +#ifdef UA_ENABLE_JSON_ENCODING + case UA_PUBSUB_ENCODING_JSON: + res = sendNetworkMessageJson(server, connection, wg, dsm, writerIds, dsmCount); + break; +#endif + default: + res = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + + /* If sending failed, disable all writer of the writergroup */ + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, + "PubSub Publish: Could not send a NetworkMessage " + "with status code %s", UA_StatusCode_name(res)); + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, res); + } +} + +/* This callback triggers the collection and publish of NetworkMessages and the + * contained DataSetMessages. */ +void +UA_WriterGroup_publishCallback(UA_Server *server, UA_WriterGroup *writerGroup) { + UA_assert(writerGroup != NULL); + UA_assert(server != NULL); + + lockServer(server); + + UA_LOG_DEBUG_WRITERGROUP(server->config.logging, writerGroup, "Publish Callback"); + + /* Find the connection associated with the writer */ + UA_PubSubConnection *connection = writerGroup->linkedConnection; + if(!connection) { + UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, + "Publish failed. PubSubConnection invalid"); + UA_WriterGroup_setPubSubState(server, writerGroup, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADNOTCONNECTED); + unlockServer(server); + return; + } + + /* Realtime path - update the buffer message and send directly */ + if(writerGroup->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { + publishWithOffsets(server, writerGroup, connection); + unlockServer(server); + return; + } + + /* Nothing to do? */ + if(writerGroup->writersCount == 0) { + unlockServer(server); + return; + } + + /* How many DSM can be sent in one NM? */ + UA_Byte maxDSM = (UA_Byte)writerGroup->config.maxEncapsulatedDataSetMessageCount; + if(writerGroup->config.maxEncapsulatedDataSetMessageCount > UA_BYTE_MAX) + maxDSM = UA_BYTE_MAX; + if(maxDSM == 0) + maxDSM = 1; /* Send at least one dsm */ + + /* It is possible to put several DataSetMessages into one NetworkMessage. + * But only if they do not contain promoted fields. NM with promoted fields + * are sent out right away. The others are kept in a buffer for + * "batching". */ + size_t dsmCount = 0; + UA_STACKARRAY(UA_UInt16, dsWriterIds, writerGroup->writersCount); + UA_STACKARRAY(UA_DataSetMessage, dsmStore, writerGroup->writersCount); + + UA_DataSetWriter *dsw; + LIST_FOREACH(dsw, &writerGroup->writers, listEntry) { + if(dsw->state != UA_PUBSUBSTATE_OPERATIONAL) + continue; + + /* Heartbeats are send when no dataset is attached */ + UA_Boolean heartbeat = UA_NodeId_isNull(&dsw->connectedDataSet); + UA_PublishedDataSet *pds = (heartbeat) ? NULL : + UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); + if(!heartbeat && !pds) { + UA_LOG_ERROR_WRITER(server->config.logging, dsw, + "PubSub Publish: PublishedDataSet not found"); + UA_DataSetWriter_setPubSubState(server, dsw, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + continue; + } + + /* Generate the DSM */ + dsWriterIds[dsmCount] = dsw->config.dataSetWriterId; + UA_StatusCode res = + UA_DataSetWriter_generateDataSetMessage(server, &dsmStore[dsmCount], dsw); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_WRITER(server->config.logging, dsw, + "PubSub Publish: DataSetMessage creation failed"); + UA_DataSetWriter_setPubSubState(server, dsw, UA_PUBSUBSTATE_ERROR, res); + continue; + } + + /* There is no promoted field -> send right away */ + if(pds && pds->promotedFieldsCount > 0) { + writerGroup->lastPublishTimeStamp = UA_DateTime_nowMonotonic(); + sendNetworkMessage(server, writerGroup, connection, &dsmStore[dsmCount], + &dsWriterIds[dsmCount], 1); + + /* Clean up the current store entry */ + if(writerGroup->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS && + dsmStore[dsmCount].header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { + for(size_t i = 0; i < dsmStore[dsmCount].data.keyFrameData.fieldCount; ++i) { + dsmStore[dsmCount].data.keyFrameData.dataSetFields[i].value.data = NULL; + } + } + UA_DataSetMessage_clear(&dsmStore[dsmCount]); + + continue; /* Don't increase the dsmCount, reuse the slot */ + } + + dsmCount++; + } + + /* Send the NetworkMessages with batched DataSetMessages */ + UA_Byte nmDsmCount = 0; + for(size_t i = 0; i < dsmCount; i += nmDsmCount) { + /* How many dsm are batched in this iteration? */ + nmDsmCount = (i + maxDSM > dsmCount) ? (UA_Byte)(dsmCount - i) : maxDSM; + + writerGroup->lastPublishTimeStamp = UA_DateTime_nowMonotonic(); + /* Send the batched messages */ + sendNetworkMessage(server, writerGroup, connection, &dsmStore[i], + &dsWriterIds[i], nmDsmCount); + } + + /* Clean up DSM */ + for(size_t i = 0; i < dsmCount; i++) { + if(writerGroup->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS && + dsmStore[i].header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { + for(size_t j = 0; j < dsmStore[i].data.keyFrameData.fieldCount; ++j) { + dsmStore[i].data.keyFrameData.dataSetFields[j].value.data = NULL; + } + } + UA_DataSetMessage_clear(&dsmStore[i]); + } + + unlockServer(server); +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_reader.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) + * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +#endif + + +#ifdef UA_ENABLE_PUBSUB_BUFMALLOC +#endif + +#ifdef UA_ENABLE_PUBSUB_MONITORING +static void +UA_DataSetReader_checkMessageReceiveTimeout(UA_Server *server, UA_DataSetReader *dsr); + +static void +UA_DataSetReader_handleMessageReceiveTimeout(UA_Server *server, UA_DataSetReader *dsr); +#endif + +static UA_Boolean +publisherIdIsMatching(UA_NetworkMessage *msg, UA_Variant publisherId) { + if(!msg->publisherIdEnabled) { + return true; + } + switch(msg->publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + return (publisherId.type == &UA_TYPES[UA_TYPES_BYTE] && + msg->publisherId.byte == *(UA_Byte*)publisherId.data); + case UA_PUBLISHERIDTYPE_UINT16: + return (publisherId.type == &UA_TYPES[UA_TYPES_UINT16] && + msg->publisherId.uint16 == *(UA_UInt16*)publisherId.data); + case UA_PUBLISHERIDTYPE_UINT32: + return (publisherId.type == &UA_TYPES[UA_TYPES_UINT32] && + msg->publisherId.uint32 == *(UA_UInt32*)publisherId.data); + case UA_PUBLISHERIDTYPE_UINT64: + return (publisherId.type == &UA_TYPES[UA_TYPES_UINT64] && + msg->publisherId.uint64 == *(UA_UInt64*)publisherId.data); + case UA_PUBLISHERIDTYPE_STRING: + return (publisherId.type == &UA_TYPES[UA_TYPES_STRING] && + UA_String_equal(&msg->publisherId.string, (UA_String*)publisherId.data)); + default: + return false; + } + return true; +} + +UA_StatusCode +UA_DataSetReader_checkIdentifier(UA_Server *server, UA_NetworkMessage *msg, + UA_DataSetReader *reader, + UA_ReaderGroupConfig readerGroupConfig) { + if(readerGroupConfig.encodingMimeType != UA_PUBSUB_ENCODING_JSON){ + if(!publisherIdIsMatching(msg, reader->config.publisherId)) { + return UA_STATUSCODE_BADNOTFOUND; + } + if(msg->groupHeaderEnabled && msg->groupHeader.writerGroupIdEnabled) { + if(reader->config.writerGroupId != msg->groupHeader.writerGroupId) { + UA_LOG_INFO_READER(server->config.logging, reader, + "WriterGroupId doesn't match"); + return UA_STATUSCODE_BADNOTFOUND; + } + } + if(msg->payloadHeaderEnabled) { + UA_Byte totalDataSets = msg->payloadHeader.dataSetPayloadHeader.count; + UA_Byte iterator = 0; + for(iterator = 0; iterator < totalDataSets; iterator++) { + if(reader->config.dataSetWriterId == msg->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[iterator]) { + return UA_STATUSCODE_GOOD; + } + } + if (iterator == totalDataSets) { + UA_LOG_INFO_READER(server->config.logging, reader, "DataSetWriterId doesn't match"); + return UA_STATUSCODE_BADNOTFOUND; + } + } + return UA_STATUSCODE_GOOD; + } else { + if (!publisherIdIsMatching(msg, reader->config.publisherId)) + return UA_STATUSCODE_BADNOTFOUND; + + if(reader->config.dataSetWriterId == *msg->payloadHeader.dataSetPayloadHeader.dataSetWriterIds) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "DataSetReader found. Process NetworkMessage"); + return UA_STATUSCODE_GOOD; + } + } + return UA_STATUSCODE_BADNOTFOUND; +} + +UA_StatusCode +UA_DataSetReader_create(UA_Server *server, UA_NodeId readerGroupIdentifier, + const UA_DataSetReaderConfig *dataSetReaderConfig, + UA_NodeId *readerIdentifier) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Search the reader group by the given readerGroupIdentifier */ + UA_ReaderGroup *readerGroup = UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); + if(readerGroup == NULL) + return UA_STATUSCODE_BADNOTFOUND; + + if(!dataSetReaderConfig) + return UA_STATUSCODE_BADNOTFOUND; + + if(readerGroup->configurationFrozen) { + UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, + "Add DataSetReader failed, Subscriber configuration is frozen"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* Allocate memory for new DataSetReader */ + UA_DataSetReader *newDataSetReader = (UA_DataSetReader *) + UA_calloc(1, sizeof(UA_DataSetReader)); + if(!newDataSetReader) + return UA_STATUSCODE_BADOUTOFMEMORY; + + newDataSetReader->componentType = UA_PUBSUB_COMPONENT_DATASETREADER; + + /* Copy the config into the new dataSetReader */ + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_DataSetReaderConfig_copy(dataSetReaderConfig, &newDataSetReader->config); + newDataSetReader->linkedReaderGroup = readerGroup->identifier; + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + retVal = addDataSetReaderRepresentation(server, newDataSetReader); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READERGROUP(server->config.logging, readerGroup, + "Add DataSetReader failed, addDataSetReaderRepresentation failed"); + UA_DataSetReaderConfig_clear(&newDataSetReader->config); + UA_free(newDataSetReader); + newDataSetReader = 0; + return retVal; + } +#else + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, + &newDataSetReader->identifier); +#endif + +#ifdef UA_ENABLE_PUBSUB_MONITORING + /* Create message receive timeout timer */ + retVal = server->config.pubSubConfig.monitoringInterface. + createMonitoring(server, newDataSetReader->identifier, + UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, + newDataSetReader, + (void (*)(UA_Server *, void *)) + UA_DataSetReader_handleMessageReceiveTimeout); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READERGROUP(server->config.logging, readerGroup, + "Add DataSetReader failed, create message " + "receive timeout timer failed"); + UA_DataSetReaderConfig_clear(&newDataSetReader->config); + UA_free(newDataSetReader); + newDataSetReader = 0; + return retVal; + } +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + + /* Add the new reader to the group. Add to the end of the linked list to + * ensure the order for the realtime offsets is as expected. The received + * DataSetMessages are matched via UA_DataSetReader_checkIdentifier for the + * non-RT path. */ + UA_DataSetReader *after = LIST_FIRST(&readerGroup->readers); + if(!after) { + LIST_INSERT_HEAD(&readerGroup->readers, newDataSetReader, listEntry); + } else { + while(LIST_NEXT(after, listEntry)) + after = LIST_NEXT(after, listEntry); + LIST_INSERT_AFTER(after, newDataSetReader, listEntry); + } + readerGroup->readersCount++; + + if(!UA_String_isEmpty(&newDataSetReader->config.linkedStandaloneSubscribedDataSetName)) { + // find sds by name + UA_StandaloneSubscribedDataSet *subscribedDataSet = + UA_StandaloneSubscribedDataSet_findSDSbyName(server, + newDataSetReader->config.linkedStandaloneSubscribedDataSetName); + if(subscribedDataSet != NULL) { + if(subscribedDataSet->config.subscribedDataSetType != UA_PUBSUB_SDS_TARGET) { + UA_LOG_ERROR_READER(server->config.logging, newDataSetReader, + "Not implemented! Currently only SubscribedDataSet as " + "TargetVariables is implemented"); + } else { + if(subscribedDataSet->config.isConnected) { + UA_LOG_ERROR_READER(server->config.logging, newDataSetReader, + "SubscribedDataSet is already connected"); + } else { + UA_LOG_DEBUG_READER(server->config.logging, newDataSetReader, + "Found SubscribedDataSet"); + subscribedDataSet->config.isConnected = true; + UA_DataSetMetaDataType_copy( + &subscribedDataSet->config.dataSetMetaData, + &newDataSetReader->config.dataSetMetaData); + UA_FieldTargetVariable *targetVars = + (UA_FieldTargetVariable *)UA_calloc( + subscribedDataSet->config.subscribedDataSet.target + .targetVariablesSize, + sizeof(UA_FieldTargetVariable)); + for(size_t index = 0; + index < subscribedDataSet->config.subscribedDataSet.target + .targetVariablesSize; + index++) { + UA_FieldTargetDataType_copy( + &subscribedDataSet->config.subscribedDataSet.target + .targetVariables[index], + &targetVars[index].targetVariable); + } + + DataSetReader_createTargetVariables(server, newDataSetReader, + subscribedDataSet->config.subscribedDataSet. + target.targetVariablesSize, targetVars); + subscribedDataSet->connectedReader = newDataSetReader->identifier; + + for(size_t index = 0; + index < subscribedDataSet->config.subscribedDataSet.target + .targetVariablesSize; + index++) { + UA_FieldTargetDataType_clear(&targetVars[index].targetVariable); + } + + UA_free(targetVars); + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + connectDataSetReaderToDataSet(server, newDataSetReader->identifier, + subscribedDataSet->identifier); +#endif + } + } + } + } + + if(readerIdentifier) + UA_NodeId_copy(&newDataSetReader->identifier, readerIdentifier); + + /* Set the ReaderGroup state after finalizing the configuration */ + if(readerGroup->state == UA_PUBSUBSTATE_OPERATIONAL || + readerGroup->state == UA_PUBSUBSTATE_PREOPERATIONAL) { + retVal = UA_DataSetReader_setPubSubState(server, newDataSetReader, readerGroup->state, + UA_STATUSCODE_GOOD); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READERGROUP(server->config.logging, readerGroup, + "Add DataSetReader failed, setPubSubState failed"); + } + } + + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_addDataSetReader(UA_Server *server, UA_NodeId readerGroupIdentifier, + const UA_DataSetReaderConfig *dataSetReaderConfig, + UA_NodeId *readerIdentifier) { + lockServer(server); + UA_StatusCode res = UA_DataSetReader_create(server, readerGroupIdentifier, + dataSetReaderConfig, readerIdentifier); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_DataSetReader_remove(UA_Server *server, UA_DataSetReader *dsr) { + if(dsr->configurationFrozen) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Remove DataSetReader failed, " + "Subscriber configuration is frozen"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, dsr->identifier, true); +#endif + +#ifdef UA_ENABLE_PUBSUB_MONITORING + /* Stop and remove message receive timeout timer */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(dsr->msgRcvTimeoutTimerRunning) { + res = server->config.pubSubConfig.monitoringInterface. + stopMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "Remove DataSetReader failed. Stop message " + "receive timeout timer of DataSetReader '%.*s' failed.", + (int) dsr->config.name.length, dsr->config.name.data); + } + } + + res |= server->config.pubSubConfig.monitoringInterface. + deleteMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "Remove DataSetReader failed. Delete message receive " + "timeout timer of DataSetReader '%.*s' failed.", + (int) dsr->config.name.length, dsr->config.name.data); + } +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + /* check if a Standalone-SubscribedDataSet is associated with this reader and disconnect it*/ + if(!UA_String_isEmpty(&dsr->config.linkedStandaloneSubscribedDataSetName)) { + UA_StandaloneSubscribedDataSet *subscribedDataSet = + UA_StandaloneSubscribedDataSet_findSDSbyName( + server, dsr->config.linkedStandaloneSubscribedDataSetName); + if(subscribedDataSet != NULL) { + subscribedDataSet->config.isConnected = false; + } + } + + /* Delete DataSetReader config */ + UA_DataSetReaderConfig_clear(&dsr->config); + + /* Get the ReaderGroup. This must succeed since all Readers are removed from + * the group before it is deleted in UA_ReaderGroup_remove.*/ + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, dsr->linkedReaderGroup); + UA_assert(rg); + + /* Remove DataSetReader from group */ + LIST_REMOVE(dsr, listEntry); + rg->readersCount--; + + /* THe offset buffer is only set when the dsr is frozen + * UA_NetworkMessageOffsetBuffer_clear(&dsr->bufferedMessage); */ + + UA_NodeId_clear(&dsr->identifier); + UA_NodeId_clear(&dsr->linkedReaderGroup); + + /* Free memory allocated for DataSetReader */ + UA_free(dsr); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_removeDataSetReader(UA_Server *server, UA_NodeId readerIdentifier) { + lockServer(server); + UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, readerIdentifier); + if(!dsr) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_DataSetReader_remove(server, dsr); + unlockServer(server); + return res; +} + +static UA_StatusCode +DataSetReader_updateConfig(UA_Server *server, UA_ReaderGroup *rg, UA_DataSetReader *dsr, + const UA_DataSetReaderConfig *config) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(dsr->configurationFrozen) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Update DataSetReader config failed. " + "Subscriber configuration is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + if(rg->configurationFrozen) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Update DataSetReader config failed. " + "Subscriber configuration is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + if(dsr->config.subscribedDataSetType != UA_PUBSUB_SDS_TARGET) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Unsupported SubscribedDataSetType."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* The update functionality will be extended during the next PubSub batches. + * Currently changes for writerGroupId, dataSetWriterId and TargetVariables are possible. */ + if(dsr->config.writerGroupId != config->writerGroupId) + dsr->config.writerGroupId = config->writerGroupId; + if(dsr->config.dataSetWriterId != config->dataSetWriterId) + dsr->config.dataSetWriterId = config->dataSetWriterId; + + UA_TargetVariables *oldTV = &dsr->config.subscribedDataSet.subscribedDataSetTarget; + const UA_TargetVariables *newTV = &config->subscribedDataSet.subscribedDataSetTarget; + if(oldTV->targetVariablesSize == newTV->targetVariablesSize) { + for(size_t i = 0; i < newTV->targetVariablesSize; i++) { + if(!UA_NodeId_equal(&oldTV->targetVariables[i].targetVariable.targetNodeId, + &newTV->targetVariables[i].targetVariable.targetNodeId)) { + DataSetReader_createTargetVariables(server, dsr, + newTV->targetVariablesSize, + newTV->targetVariables); + break; + } + } + } else { + DataSetReader_createTargetVariables(server, dsr, newTV->targetVariablesSize, + newTV->targetVariables); + } + + UA_StatusCode res = UA_STATUSCODE_GOOD; +#ifdef UA_ENABLE_PUBSUB_MONITORING + if(dsr->config.messageReceiveTimeout != config->messageReceiveTimeout) { + /* Update message receive timeout timer interval */ + dsr->config.messageReceiveTimeout = config->messageReceiveTimeout; + res = server->config.pubSubConfig.monitoringInterface. + updateMonitoringInterval(server, dsr->identifier, + UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, + dsr); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "Update DataSetReader message receive timeout timer failed."); + } + } +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + return res; +} + +UA_StatusCode +UA_Server_DataSetReader_updateConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + UA_NodeId readerGroupIdentifier, + const UA_DataSetReaderConfig *config) { + if(config == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + lockServer(server); + UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); + if(!dsr || !rg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = DataSetReader_updateConfig(server, rg, dsr, config); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_DataSetReader_getConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + UA_DataSetReaderConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); + if(dsr) + res = UA_DataSetReaderConfig_copy(&dsr->config, config); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_DataSetReaderConfig_copy(const UA_DataSetReaderConfig *src, + UA_DataSetReaderConfig *dst) { + memset(dst, 0, sizeof(UA_DataSetReaderConfig)); + UA_StatusCode retVal = UA_String_copy(&src->name, &dst->name); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + retVal = UA_Variant_copy(&src->publisherId, &dst->publisherId); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + dst->writerGroupId = src->writerGroupId; + dst->dataSetWriterId = src->dataSetWriterId; + dst->expectedEncoding = src->expectedEncoding; + retVal = UA_DataSetMetaDataType_copy(&src->dataSetMetaData, &dst->dataSetMetaData); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + dst->dataSetFieldContentMask = src->dataSetFieldContentMask; + dst->messageReceiveTimeout = src->messageReceiveTimeout; + + retVal = UA_ExtensionObject_copy(&src->messageSettings, &dst->messageSettings); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + retVal = UA_ExtensionObject_copy(&src->transportSettings, &dst->transportSettings); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + if(src->subscribedDataSetType == UA_PUBSUB_SDS_TARGET) { + retVal = UA_TargetVariables_copy(&src->subscribedDataSet.subscribedDataSetTarget, + &dst->subscribedDataSet.subscribedDataSetTarget); + if(retVal != UA_STATUSCODE_GOOD) { + return retVal; + } + } + + retVal = UA_String_copy(&src->linkedStandaloneSubscribedDataSetName, &dst->linkedStandaloneSubscribedDataSetName); + + return retVal; +} + +void +UA_DataSetReaderConfig_clear(UA_DataSetReaderConfig *cfg) { + UA_String_clear(&cfg->name); + UA_String_clear(&cfg->linkedStandaloneSubscribedDataSetName); + UA_Variant_clear(&cfg->publisherId); + UA_DataSetMetaDataType_clear(&cfg->dataSetMetaData); + UA_ExtensionObject_clear(&cfg->messageSettings); + UA_ExtensionObject_clear(&cfg->transportSettings); + if(cfg->subscribedDataSetType == UA_PUBSUB_SDS_TARGET) { + UA_TargetVariables_clear(&cfg->subscribedDataSet.subscribedDataSetTarget); + } +} + +UA_StatusCode +UA_Server_DataSetReader_getState(UA_Server *server, UA_NodeId dataSetReaderIdentifier, + UA_PubSubState *state) { + if(!server || !state) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + lockServer(server); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); + if(dsr) { + res = UA_STATUSCODE_GOOD; + *state = dsr->state; + } + unlockServer(server); + return res; +} + +static UA_StatusCode +UA_DataSetReader_setState_disabled(UA_Server *server, UA_DataSetReader *dsr) { + UA_StatusCode ret = UA_STATUSCODE_GOOD; + switch(dsr->state) { + case UA_PUBSUBSTATE_DISABLED: + return UA_STATUSCODE_GOOD; + case UA_PUBSUBSTATE_PAUSED: + dsr->state = UA_PUBSUBSTATE_DISABLED; + return UA_STATUSCODE_GOOD; + case UA_PUBSUBSTATE_OPERATIONAL: +#ifdef UA_ENABLE_PUBSUB_MONITORING + /* Stop MessageReceiveTimeout timer */ + if(dsr->msgRcvTimeoutTimerRunning == true) { + ret = server->config.pubSubConfig.monitoringInterface. + stopMonitoring(server, dsr->identifier, + UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); + if(ret == UA_STATUSCODE_GOOD) { + dsr->msgRcvTimeoutTimerRunning = false; + } else { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "Disable ReaderGroup failed. Stop message receive " + "timeout timer of DataSetReader '%.*s' failed.", + (int) dsr->config.name.length, dsr->config.name.data); + } + } +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + if(ret == UA_STATUSCODE_GOOD) + dsr->state = UA_PUBSUBSTATE_DISABLED; + return ret; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Received unknown PubSub state!"); + } + return UA_STATUSCODE_BADINVALIDARGUMENT; +} + +/* State machine methods not part of the open62541 state machine API */ +UA_StatusCode +UA_DataSetReader_setPubSubState(UA_Server *server, + UA_DataSetReader *dataSetReader, + UA_PubSubState state, + UA_StatusCode cause) { + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_PubSubState oldState = dataSetReader->state; + switch(state) { + case UA_PUBSUBSTATE_DISABLED: + ret = UA_DataSetReader_setState_disabled(server, dataSetReader); + break; + case UA_PUBSUBSTATE_PAUSED: + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + case UA_PUBSUBSTATE_OPERATIONAL: + case UA_PUBSUBSTATE_PREOPERATIONAL: + case UA_PUBSUBSTATE_ERROR: + dataSetReader->state = state; + break; + default: + UA_LOG_WARNING_READER(server->config.logging, dataSetReader, + "Received unknown PubSub state!"); + ret = UA_STATUSCODE_BADINVALIDARGUMENT; + break; + } + if (state != oldState) { + /* inform application about state change */ + UA_ServerConfig *config = &server->config; + if(config->pubSubConfig.stateChangeCallback != 0) { + config->pubSubConfig. + stateChangeCallback(server, &dataSetReader->identifier, state, cause); + } + } + return ret; +} + +UA_StatusCode +UA_FieldTargetVariable_copy(const UA_FieldTargetVariable *src, UA_FieldTargetVariable *dst) { + /* Do a simple memcpy */ + memcpy(dst, src, sizeof(UA_FieldTargetVariable)); + return UA_FieldTargetDataType_copy(&src->targetVariable, &dst->targetVariable); +} + +UA_StatusCode +UA_TargetVariables_copy(const UA_TargetVariables *src, UA_TargetVariables *dst) { + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + memcpy(dst, src, sizeof(UA_TargetVariables)); + if(src->targetVariablesSize > 0) { + dst->targetVariables = (UA_FieldTargetVariable*) + UA_calloc(src->targetVariablesSize, sizeof(UA_FieldTargetVariable)); + if(!dst->targetVariables) + return UA_STATUSCODE_BADOUTOFMEMORY; + for(size_t i = 0; i < src->targetVariablesSize; i++) + retVal |= UA_FieldTargetVariable_copy(&src->targetVariables[i], &dst->targetVariables[i]); + } + return retVal; +} + +void +UA_TargetVariables_clear(UA_TargetVariables *subscribedDataSetTarget) { + for(size_t i = 0; i < subscribedDataSetTarget->targetVariablesSize; i++) { + UA_FieldTargetDataType_clear(&subscribedDataSetTarget->targetVariables[i].targetVariable); + } + if(subscribedDataSetTarget->targetVariablesSize > 0) + UA_free(subscribedDataSetTarget->targetVariables); + memset(subscribedDataSetTarget, 0, sizeof(UA_TargetVariables)); +} + +/* This Method is used to initially set the SubscribedDataSet to + * TargetVariablesType and to create the list of target Variables of a + * SubscribedDataSetType. */ +UA_StatusCode +DataSetReader_createTargetVariables(UA_Server *server, UA_DataSetReader *dsr, + size_t targetVariablesSize, + const UA_FieldTargetVariable *targetVariables) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(dsr->configurationFrozen) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Create Target Variables failed. " + "Subscriber configuration is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + if(dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariablesSize > 0) + UA_TargetVariables_clear(&dsr->config.subscribedDataSet.subscribedDataSetTarget); + + /* Set subscribed dataset to TargetVariableType */ + dsr->config.subscribedDataSetType = UA_PUBSUB_SDS_TARGET; + UA_TargetVariables tmp; + tmp.targetVariablesSize = targetVariablesSize; + tmp.targetVariables = (UA_FieldTargetVariable*)(uintptr_t)targetVariables; + return UA_TargetVariables_copy(&tmp, &dsr->config.subscribedDataSet.subscribedDataSetTarget); +} + +UA_StatusCode +UA_Server_DataSetReader_createTargetVariables(UA_Server *server, + UA_NodeId dataSetReaderIdentifier, + size_t targetVariablesSize, + const UA_FieldTargetVariable *targetVariables) { + lockServer(server); + UA_DataSetReader *dataSetReader = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); + if(!dataSetReader) { + unlockServer(server); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + UA_StatusCode res = DataSetReader_createTargetVariables(server, dataSetReader, + targetVariablesSize, targetVariables); + unlockServer(server); + return res; +} + +/* This functionality of this API will be used in future to create mirror Variables - TODO */ +/* UA_StatusCode +UA_Server_DataSetReader_createDataSetMirror(UA_Server *server, UA_String *parentObjectNodeName, + UA_NodeId dataSetReaderIdentifier) { + if((server == NULL) || (parentNode == NULL)) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + UA_DataSetReader* pDataSetReader = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); + if(pDataSetReader == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + if(pDataSetReader->configurationFrozen) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Add Target Variables failed. Subscriber configuration is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } // TODO: Frozen configuration variable in TargetVariable structure + + UA_TargetVariables targetVars; + targetVars.targetVariablesSize = pDataSetReader->config.dataSetMetaData.fieldsSize; + targetVars.targetVariables = (UA_FieldTargetVariable *) + UA_calloc(targetVars.targetVariablesSize, sizeof(UA_FieldTargetVariable)); + + for(size_t i = 0; i < pDataSetReader->config.dataSetMetaData.fieldsSize; i++) { + UA_VariableAttributes vAttr = UA_VariableAttributes_default; + vAttr.valueRank = pDataSetReader->config.dataSetMetaData.fields[i].valueRank; + if(pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensionsSize > 0) { + retval = UA_Array_copy(pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensions, + pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensionsSize, + (void**)&vAttr.arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); + if(retval == UA_STATUSCODE_GOOD) { + vAttr.arrayDimensionsSize = + pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensionsSize; + } + + } + + vAttr.dataType = pDataSetReader->config.dataSetMetaData.fields[i].dataType; + + vAttr.accessLevel = UA_ACCESSLEVELMASK_READ; + UA_LocalizedText_copy(&pDataSetReader->config.dataSetMetaData.fields[i].description, + &vAttr.description); + UA_QualifiedName qn; + UA_QualifiedName_init(&qn); + char szTmpName[UA_MAX_SIZENAME]; + if(pDataSetReader->config.dataSetMetaData.fields[i].name.length > 0) { + UA_UInt16 slen = UA_MAX_SIZENAME -1; + vAttr.displayName.locale = UA_STRING("en-US"); + vAttr.displayName.text = pDataSetReader->config.dataSetMetaData.fields[i].name; + if(pDataSetReader->config.dataSetMetaData.fields[i].name.length < slen) { + slen = (UA_UInt16)pDataSetReader->config.dataSetMetaData.fields[i].name.length; + mp_snprintf(szTmpName, sizeof(szTmpName), "%.*s", (int)slen, + (const char*)pDataSetReader->config.dataSetMetaData.fields[i].name.data); + } + + szTmpName[slen] = '\0'; + qn = UA_QUALIFIEDNAME(1, szTmpName); + } + else { + strcpy(szTmpName, "SubscribedVariable"); + vAttr.displayName = UA_LOCALIZEDTEXT("en-US", szTmpName); + qn = UA_QUALIFIEDNAME(1, "SubscribedVariable"); + } + + // Add variable to the given parent node + UA_NodeId newNode; + retval = UA_Server_addVariableNode(server, UA_NODEID_NULL, *parentNode, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), qn, + UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), + vAttr, NULL, &newNode); + if(retval == UA_STATUSCODE_GOOD) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "addVariableNode %s succeeded", szTmpName); + } + else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, + "addVariableNode: error 0x%" PRIx32, retval); + } + + targetVars.targetVariables[i].targetVariable.attributeId = UA_ATTRIBUTEID_VALUE; + UA_NodeId_copy(&newNode, &targetVars.targetVariables[i].targetVariable.targetNodeId); + UA_NodeId_clear(&newNode); + if(vAttr.arrayDimensionsSize > 0) { + UA_Array_delete(vAttr.arrayDimensions, vAttr.arrayDimensionsSize, + &UA_TYPES[UA_TYPES_UINT32]); + } + } + + UA_TargetVariables_clear(&targetVars); + return retval; +}*/ + +static void +DataSetReader_processRaw(UA_Server *server, UA_ReaderGroup *rg, + UA_DataSetReader *dsr, UA_DataSetMessage* msg) { + UA_LOG_TRACE_READER(server->config.logging, dsr, "Received RAW Frame"); + msg->data.keyFrameData.fieldCount = (UA_UInt16) + dsr->config.dataSetMetaData.fieldsSize; + + /* Start iteration from beginning of rawFields buffer */ + size_t offset = 0; + msg->data.keyFrameData.rawFields.length = 0; + for(size_t i = 0; i < dsr->config.dataSetMetaData.fieldsSize; i++) { + /* TODO The datatype reference should be part of the internal + * pubsub configuration to avoid the time-expensive lookup */ + const UA_DataType *type = + UA_findDataTypeWithCustom(&dsr->config.dataSetMetaData.fields[i].dataType, + server->config.customDataTypes); + msg->data.keyFrameData.rawFields.length += type->memSize; + UA_STACKARRAY(UA_Byte, value, type->memSize); + UA_StatusCode res = + UA_decodeBinaryInternal(&msg->data.keyFrameData.rawFields, + &offset, value, type, NULL); + if(dsr->config.dataSetMetaData.fields[i].maxStringLength != 0) { + if(type->typeKind == UA_DATATYPEKIND_STRING || + type->typeKind == UA_DATATYPEKIND_BYTESTRING) { + UA_ByteString *bs = (UA_ByteString *) value; + /* Check if length < maxStringLength, The types ByteString and + * String are equal in their base definition */ + size_t lengthDifference = + dsr->config.dataSetMetaData.fields[i].maxStringLength - bs->length; + offset += lengthDifference; + } + } + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_READER(server->config.logging, dsr, + "Error during Raw-decode KeyFrame field %u: %s", + (unsigned)i, UA_StatusCode_name(res)); + return; + } + + UA_FieldTargetVariable *tv = + &dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariables[i]; + + if(tv->externalDataValue) { + if(tv->beforeWrite) + tv->beforeWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, + &tv->targetVariable.targetNodeId, + tv->targetVariableContext, tv->externalDataValue); + memcpy((*tv->externalDataValue)->value.data, value, type->memSize); + if(tv->afterWrite) + tv->afterWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, + &tv->targetVariable.targetNodeId, + tv->targetVariableContext, tv->externalDataValue); + continue; /* No dynamic allocation for fixed-size msg, no need to _clear */ + } + + UA_WriteValue writeVal; + UA_WriteValue_init(&writeVal); + writeVal.attributeId = tv->targetVariable.attributeId; + writeVal.indexRange = tv->targetVariable.receiverIndexRange; + writeVal.nodeId = tv->targetVariable.targetNodeId; + UA_Variant_setScalar(&writeVal.value.value, value, type); + writeVal.value.hasValue = true; + Operation_Write(server, &server->adminSession, NULL, &writeVal, &res); + UA_clear(value, type); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_READER(server->config.logging, dsr, + "Error writing KeyFrame field %u: %s", + (unsigned)i, UA_StatusCode_name(res)); + } + } +} + +void +UA_DataSetReader_process(UA_Server *server, UA_ReaderGroup *rg, + UA_DataSetReader *dsr, UA_DataSetMessage *msg) { + if(!dsr || !rg || !msg || !server) + return; + + UA_LOG_DEBUG_READER(server->config.logging, dsr, "Received a network message"); + + if(!msg->header.dataSetMessageValid) { + UA_LOG_INFO_READER(server->config.logging, dsr, + "DataSetMessage is discarded: message is not valid"); + return; + } + + /* TODO: Check ConfigurationVersion */ + /* if(msg->header.configVersionMajorVersionEnabled) { + * if(msg->header.configVersionMajorVersion != + * dsr->config.dataSetMetaData.configurationVersion.majorVersion) { + * UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + * "DataSetMessage is discarded: ConfigurationVersion " + * "MajorVersion does not match"); + * return; + * } + * } */ + + if(msg->header.dataSetMessageType != UA_DATASETMESSAGE_DATAKEYFRAME) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "DataSetMessage is discarded: Only keyframes are supported"); + return; + } + +#ifdef UA_ENABLE_PUBSUB_MONITORING + UA_DataSetReader_checkMessageReceiveTimeout(server, dsr); +#endif + + if(dsr->state != UA_PUBSUBSTATE_OPERATIONAL && + dsr->state != UA_PUBSUBSTATE_PREOPERATIONAL) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Received a network message but not operational"); + return; + } + + /* Process message with raw encoding. We have no field-count information for + * the message. */ + if(msg->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { + DataSetReader_processRaw(server, rg, dsr, msg); + return; + } + + /* Received a heartbeat with no fields */ + if(msg->data.keyFrameData.fieldCount == 0) { + dsr->lastHeartbeatReceived = UA_DateTime_nowMonotonic(); + return; + } + + /* Check whether the field count matches the configuration */ + size_t fieldCount = msg->data.keyFrameData.fieldCount; + if(dsr->config.dataSetMetaData.fieldsSize != fieldCount) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Number of fields does not match the DataSetMetaData configuration"); + return; + } + + if(dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariablesSize != fieldCount) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "Number of fields does not match the TargetVariables configuration"); + return; + } + + /* Write the message fields. RT has the external data value configured. */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < fieldCount; i++) { + UA_DataValue *field = &msg->data.keyFrameData.dataSetFields[i]; + if(!field->hasValue) + continue; + + UA_FieldTargetVariable *tv = + &dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariables[i]; + + /* RT-path: write directly into the target memory */ + if(tv->externalDataValue) { + if(field->value.type != (*tv->externalDataValue)->value.type) { + UA_LOG_WARNING_READER(server->config.logging, dsr, "Mismatching type"); + continue; + } + + if(tv->beforeWrite) + tv->beforeWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, + &tv->targetVariable.targetNodeId, + tv->targetVariableContext, tv->externalDataValue); + memcpy((*tv->externalDataValue)->value.data, + field->value.data, field->value.type->memSize); + if(tv->afterWrite) + tv->afterWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, + &tv->targetVariable.targetNodeId, + tv->targetVariableContext, tv->externalDataValue); + continue; + } + + /* Write via the Write-Service */ + UA_WriteValue writeVal; + UA_WriteValue_init(&writeVal); + writeVal.attributeId = tv->targetVariable.attributeId; + writeVal.indexRange = tv->targetVariable.receiverIndexRange; + writeVal.nodeId = tv->targetVariable.targetNodeId; + writeVal.value = *field; + Operation_Write(server, &server->adminSession, NULL, &writeVal, &res); + if(res != UA_STATUSCODE_GOOD) + UA_LOG_INFO_READER(server->config.logging, dsr, + "Error writing KeyFrame field %u: %s", + (unsigned)i, UA_StatusCode_name(res)); + } +} + +#ifdef UA_ENABLE_PUBSUB_MONITORING + +static void +UA_DataSetReader_checkMessageReceiveTimeout(UA_Server *server, + UA_DataSetReader *dsr) { + UA_assert(server != 0); + UA_assert(dsr != 0); + + /* If previous reader state was error (because we haven't received messages + * and ran into timeout) we should set the state back to operational */ + if(dsr->state == UA_PUBSUBSTATE_ERROR) { + UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + } + + /* Stop message receive timeout timer */ + UA_StatusCode res; + if(dsr->msgRcvTimeoutTimerRunning) { + res = server->config.pubSubConfig.monitoringInterface. + stopMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); + if(res == UA_STATUSCODE_GOOD) { + dsr->msgRcvTimeoutTimerRunning = false; + } else { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "DataSetReader '%.*s': stop receive timeout timer failed", + (int)dsr->config.name.length, dsr->config.name.data); + UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + } + } + + /* Start message receive timeout timer */ + res = server->config.pubSubConfig.monitoringInterface. + startMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, + UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); + if(res == UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG_READER(server->config.logging, dsr, + "Info: DataSetReader '%.*s': start receive timeout timer", + (int)dsr->config.name.length, dsr->config.name.data); + dsr->msgRcvTimeoutTimerRunning = true; + } else { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "Starting Message Receive Timeout timer failed."); + UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADINTERNALERROR); + } +} + +/* Timeout callback for DataSetReader MessageReceiveTimeout handling */ +static void +UA_DataSetReader_handleMessageReceiveTimeout(UA_Server *server, UA_DataSetReader *dsr) { + UA_assert(server); + UA_assert(dsr); + + if(dsr->componentType != UA_PUBSUB_COMPONENT_DATASETREADER) { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "UA_DataSetReader_handleMessageReceiveTimeout(): " + "input param is not of type DataSetReader"); + return; + } + + UA_LOG_DEBUG_READER(server->config.logging, dsr, + "UA_DataSetReader_handleMessageReceiveTimeout(): " + "MessageReceiveTimeout occurred at DataSetReader " + "'%.*s': MessageReceiveTimeout = %f Timer Id = %u ", + (int)dsr->config.name.length, dsr->config.name.data, + dsr->config.messageReceiveTimeout, + (UA_UInt32) dsr->msgRcvTimeoutTimerId); + + UA_StatusCode res = + UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_ERROR, + UA_STATUSCODE_BADTIMEOUT); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READER(server->config.logging, dsr, + "UA_DataSetReader_handleMessageReceiveTimeout(): " + "setting pubsub state failed"); + } +} +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + +static void +processMessageWithReader(UA_Server *server, UA_ReaderGroup *readerGroup, + UA_DataSetReader *reader, UA_NetworkMessage *msg) { + UA_Byte totalDataSets = 1; + if(msg->payloadHeaderEnabled) + totalDataSets = msg->payloadHeader.dataSetPayloadHeader.count; + + for(UA_Byte i = 0; i < totalDataSets; i++) { + /* Map dataset reader to dataset message since multiple dataset reader + * may read this network message. Otherwise the dataset message may be + * written to the wrong dataset reader. */ + if(!msg->payloadHeaderEnabled || + (reader->config.dataSetWriterId == msg->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[i])) { + UA_LOG_DEBUG_READER(server->config.logging, reader, + "Process Msg with DataSetReader!"); + UA_DataSetReader_process(server, readerGroup, reader, + &msg->payload.dataSetPayload.dataSetMessages[i]); + } + } +} + +UA_Boolean +UA_ReaderGroup_process(UA_Server *server, UA_ReaderGroup *readerGroup, + UA_NetworkMessage *nm) { + UA_Boolean processed = false; + UA_DataSetReader *reader; + + /* Received a (first) message for the ReaderGroup. + * Transition from PreOperational to Operational. */ + if(readerGroup->state == UA_PUBSUBSTATE_PREOPERATIONAL) { + readerGroup->state = UA_PUBSUBSTATE_OPERATIONAL; + UA_ServerConfig *config = &server->config; + if(config->pubSubConfig.stateChangeCallback != 0) { + config->pubSubConfig.stateChangeCallback(server, &readerGroup->identifier, + readerGroup->state, UA_STATUSCODE_GOOD); + } + } + LIST_FOREACH(reader, &readerGroup->readers, listEntry) { + UA_StatusCode res = + UA_DataSetReader_checkIdentifier(server, nm, reader, readerGroup->config); + if(res != UA_STATUSCODE_GOOD) + continue; + processed = true; + processMessageWithReader(server, readerGroup, reader, nm); + } + return processed; +} + +/******************************************************************************** + * Functionality related to decoding, decrypting and processing network messages + * as a subscriber + ********************************************************************************/ + +static UA_StatusCode +prepareOffsetBuffer(UA_Server *server, UA_DataSetReader *reader, + UA_ByteString *buf, size_t *pos) { + UA_NetworkMessage *nm = (UA_NetworkMessage*)UA_calloc(1, sizeof(UA_NetworkMessage)); + if(!nm) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Decode using the non-rt decoding */ + UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(buf, pos, nm); + if(rv != UA_STATUSCODE_GOOD) { + UA_NetworkMessage_clear(nm); + UA_free(nm); + return rv; + } + rv |= UA_NetworkMessage_decodePayload(buf, pos, nm, server->config.customDataTypes, &reader->config.dataSetMetaData); + rv |= UA_NetworkMessage_decodeFooters(buf, pos, nm); + if(rv != UA_STATUSCODE_GOOD) { + UA_NetworkMessage_clear(nm); + UA_free(nm); + return rv; + } + + /* Compute and store the offsets necessary to decode */ + size_t nmSize = UA_NetworkMessage_calcSizeBinary(nm, &reader->bufferedMessage); + if(nmSize == 0) { + UA_NetworkMessage_clear(nm); + UA_free(nm); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Set the offset buffer in the reader */ + reader->bufferedMessage.nm = nm; + + return rv; +} + +/*******************************/ +/* Realtime Message Processing */ +/*******************************/ + +UA_Boolean +UA_ReaderGroup_decodeAndProcessRT(UA_Server *server, UA_ReaderGroup *readerGroup, + UA_ByteString *buf) { +#ifdef UA_ENABLE_PUBSUB_BUFMALLOC + useMembufAlloc(); +#endif + + size_t i = 0; + size_t pos = 0; + UA_Boolean match = false; + UA_DataSetReader *dsr; + UA_STACKARRAY(UA_Boolean, matches, readerGroup->readersCount); +#ifdef __clang_analyzer__ + memset(matches, 0, sizeof(UA_Boolean)* readerGroup->readersCount); /* Pacify warning */ +#endif + + /* Decode headers necessary for checking identifier. This can use malloc. + * So enable membufAlloc if you need RT timings. */ + UA_NetworkMessage currentNetworkMessage; + memset(¤tNetworkMessage, 0, sizeof(UA_NetworkMessage)); + UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(buf, &pos, ¤tNetworkMessage); + if(rv != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, + "PubSub receive. decoding headers failed"); + goto error; + } + + /* Check if the message is intended for each reader individually */ + LIST_FOREACH(dsr, &readerGroup->readers, listEntry) { + rv = UA_DataSetReader_checkIdentifier(server, ¤tNetworkMessage, dsr, readerGroup->config); + matches[i] = (rv == UA_STATUSCODE_GOOD); + i++; + if(rv != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_READER(server->config.logging, dsr, + "PubSub receive. Message intended for a different reader."); + continue; + } + match = true; + } + if(!match) + goto error; + UA_assert(i == readerGroup->readersCount); + + /* Decrypt the message once for all readers */ +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + /* Keep pos to right after the header */ + rv = verifyAndDecryptNetworkMessage(server->config.logging, buf, &pos, + ¤tNetworkMessage, readerGroup); + if(rv != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, + "Subscribe failed. verify and decrypt network " + "message failed."); + goto error; + } +#endif + + /* Reset back to the normal malloc before processing the message. + * Any changes from here may be persisted longer than this. + * The userland (from callbacks) might rely on that. */ + UA_NetworkMessage_clear(¤tNetworkMessage); +#ifdef UA_ENABLE_PUBSUB_BUFMALLOC + useNormalAlloc(); +#endif + + /* Decode message for every reader. If this fails for one reader, abort overall. */ + i = 0; + LIST_FOREACH(dsr, &readerGroup->readers, listEntry) { + UA_assert(i < readerGroup->readersCount); + UA_Boolean match = matches[i]; + i++; + if(!match) + continue; + + pos = 0; /* reset */ + if(!dsr->bufferedMessage.nm) { + /* This is the first message being received for the RT fastpath. + * Prepare the offset buffer and set operational. */ + rv = prepareOffsetBuffer(server, dsr, buf, &pos); + } else { + /* Decode with offset information and update the networkMessage */ + rv = UA_NetworkMessage_updateBufferedNwMessage(&dsr->bufferedMessage, buf, &pos); + } + if(rv != UA_STATUSCODE_GOOD) { + UA_LOG_INFO_READER(server->config.logging, dsr, + "PubSub decoding failed. Could not decode with " + "status code %s.", UA_StatusCode_name(rv)); + return false; + } else if (readerGroup->state == UA_PUBSUBSTATE_PREOPERATIONAL) { + /* If pre-operational, set to operational after the first message was + * processed */ + readerGroup->state = UA_PUBSUBSTATE_OPERATIONAL; + UA_ServerConfig *config = &server->config; + if(config->pubSubConfig.stateChangeCallback != 0) { + config->pubSubConfig.stateChangeCallback(server, &readerGroup->identifier, + readerGroup->state, UA_STATUSCODE_GOOD); + } + } + } + + /* Process the decoded messages */ + i = 0; + LIST_FOREACH(dsr, &readerGroup->readers, listEntry) { + UA_assert(i < readerGroup->readersCount); + UA_Boolean match = matches[i]; + i++; + if(!match) + continue; + UA_DataSetReader_process(server, readerGroup, dsr, + dsr->bufferedMessage.nm->payload.dataSetPayload.dataSetMessages); + } + + return match; + + error: + UA_NetworkMessage_clear(¤tNetworkMessage); +#ifdef UA_ENABLE_PUBSUB_BUFMALLOC + useNormalAlloc(); +#endif + return false; +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_readergroup.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2018 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2019 Kalycito Infotech Private Limited + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + * + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +#endif + +UA_ReaderGroup * +UA_ReaderGroup_findRGbyId(UA_Server *server, UA_NodeId identifier) { + UA_PubSubConnection *pubSubConnection; + TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ + UA_ReaderGroup* readerGroup = NULL; + LIST_FOREACH(readerGroup, &pubSubConnection->readerGroups, listEntry) { + if(UA_NodeId_equal(&identifier, &readerGroup->identifier)) + return readerGroup; + } + } + return NULL; +} + +UA_DataSetReader * +UA_ReaderGroup_findDSRbyId(UA_Server *server, UA_NodeId identifier) { + UA_PubSubConnection *pubSubConnection; + TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ + UA_ReaderGroup* readerGroup = NULL; + LIST_FOREACH(readerGroup, &pubSubConnection->readerGroups, listEntry) { + UA_DataSetReader *tmpReader; + LIST_FOREACH(tmpReader, &readerGroup->readers, listEntry) { + if(UA_NodeId_equal(&tmpReader->identifier, &identifier)) + return tmpReader; + } + } + } + return NULL; +} + +/* ReaderGroup Config Handling */ + +UA_StatusCode +UA_ReaderGroupConfig_copy(const UA_ReaderGroupConfig *src, + UA_ReaderGroupConfig *dst) { + memcpy(dst, src, sizeof(UA_ReaderGroupConfig)); + UA_StatusCode res = UA_STATUSCODE_GOOD; + res |= UA_String_copy(&src->name, &dst->name); + res |= UA_KeyValueMap_copy(&src->groupProperties, &dst->groupProperties); + res |= UA_ExtensionObject_copy(&src->transportSettings, &dst->transportSettings); +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + res = UA_String_copy(&src->securityGroupId, &dst->securityGroupId); +#endif + if(res != UA_STATUSCODE_GOOD) + UA_ReaderGroupConfig_clear(dst); + return res; +} + +void +UA_ReaderGroupConfig_clear(UA_ReaderGroupConfig *readerGroupConfig) { + UA_String_clear(&readerGroupConfig->name); + UA_KeyValueMap_clear(&readerGroupConfig->groupProperties); + UA_ExtensionObject_clear(&readerGroupConfig->transportSettings); +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + UA_String_clear(&readerGroupConfig->securityGroupId); +#endif +} + +/* ReaderGroup Lifecycle */ + +UA_StatusCode +UA_ReaderGroup_create(UA_Server *server, UA_NodeId connectionId, + const UA_ReaderGroupConfig *rgc, + UA_NodeId *readerGroupId) { + /* Check for valid readergroup configuration */ + if(!rgc) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Search the connection by the given connectionIdentifier */ + UA_PubSubConnection *connection = + UA_PubSubConnection_findConnectionbyId(server, connectionId); + if(!connection) + return UA_STATUSCODE_BADNOTFOUND; + + if(connection->configurationFreezeCounter > 0) { + UA_LOG_WARNING_CONNECTION(server->config.logging, connection, + "Adding ReaderGroup failed. " + "Connection configuration is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* Allocate memory for new reader group and add settings */ + UA_ReaderGroup *newGroup = (UA_ReaderGroup *)UA_calloc(1, sizeof(UA_ReaderGroup)); + if(!newGroup) + return UA_STATUSCODE_BADOUTOFMEMORY; + + newGroup->componentType = UA_PUBSUB_COMPONENT_READERGROUP; + + /* Deep copy of the config */ + UA_StatusCode retval = UA_ReaderGroupConfig_copy(rgc, &newGroup->config); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(newGroup); + return retval; + } + + newGroup->linkedConnection = connection; + + /* Add to the connection */ + LIST_INSERT_HEAD(&connection->readerGroups, newGroup, listEntry); + connection->readerGroupsSize++; + +#ifdef UA_ENABLE_PUBSUB_SKS + if(rgc->securityMode == UA_MESSAGESECURITYMODE_SIGN || + rgc->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + if(!UA_String_isEmpty(&rgc->securityGroupId) && rgc->securityPolicy) { + /* Does the key storage already exist? */ + newGroup->keyStorage = + UA_PubSubKeyStorage_findKeyStorage(server, rgc->securityGroupId); + + if(!newGroup->keyStorage) { + /* Create a new key storage */ + newGroup->keyStorage = (UA_PubSubKeyStorage *) + UA_calloc(1, sizeof(UA_PubSubKeyStorage)); + if(!newGroup->keyStorage) + return UA_STATUSCODE_BADOUTOFMEMORY; + retval = UA_PubSubKeyStorage_init(server, newGroup->keyStorage, + &rgc->securityGroupId, + rgc->securityPolicy, 0, 0); + if(retval != UA_STATUSCODE_GOOD) { + UA_ReaderGroupConfig_clear(&newGroup->config); + UA_free(newGroup); + return retval; + } + } + + /* Increase the ref count */ + newGroup->keyStorage->referenceCount++; + } + } +#endif + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + retval |= addReaderGroupRepresentation(server, newGroup); +#else + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, + &newGroup->identifier); +#endif + + + if(readerGroupId) + UA_NodeId_copy(&newGroup->identifier, readerGroupId); + + /* Trigger the connection to open a connection */ + UA_PubSubConnection_setPubSubState(server, connection, + connection->state, UA_STATUSCODE_GOOD); + + /* If the connection is operational, we still reset the state. We might open + * a different (recv) connection internally when a readergroup is + * present. */ + if(connection->state == UA_PUBSUBSTATE_OPERATIONAL || + connection->state == UA_PUBSUBSTATE_PREOPERATIONAL) + UA_PubSubConnection_setPubSubState(server, connection, + UA_PUBSUBSTATE_OPERATIONAL, UA_STATUSCODE_GOOD); + + return retval; +} + +UA_StatusCode +UA_Server_addReaderGroup(UA_Server *server, UA_NodeId connectionIdentifier, + const UA_ReaderGroupConfig *readerGroupConfig, + UA_NodeId *readerGroupIdentifier) { + lockServer(server); + UA_StatusCode res = + UA_ReaderGroup_create(server, connectionIdentifier, + readerGroupConfig, readerGroupIdentifier); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_ReaderGroup_remove(UA_Server *server, UA_ReaderGroup *rg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(rg->configurationFrozen) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Remove ReaderGroup failed. " + "Subscriber configuration is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + UA_PubSubConnection *connection = rg->linkedConnection; + UA_assert(connection); + if(connection->configurationFreezeCounter > 0) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Deleting the ReaderGroup failed. " + "PubSubConnection is frozen."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + /* Disable (and disconnect) and set the deleteFlag. This prevents a + * reconnect and triggers the deletion when the last open socket is + * closed. */ + rg->deleteFlag = true; + UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); + + UA_DataSetReader *dsr, *tmp_dsr; + LIST_FOREACH_SAFE(dsr, &rg->readers, listEntry, tmp_dsr) { + UA_DataSetReader_remove(server, dsr); + } + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + if(rg->config.securityPolicy && rg->securityPolicyContext) { + rg->config.securityPolicy->deleteContext(rg->securityPolicyContext); + rg->securityPolicyContext = NULL; + } +#endif + +#ifdef UA_ENABLE_PUBSUB_SKS + if(rg->keyStorage) { + UA_PubSubKeyStorage_detachKeyStorage(server, rg->keyStorage); + rg->keyStorage = NULL; + } +#endif + + if(rg->recvChannelsSize == 0) { + /* Unlink from the connection */ + LIST_REMOVE(rg, listEntry); + connection->readerGroupsSize--; + rg->linkedConnection = NULL; + + /* Actually remove the ReaderGroup */ +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, rg->identifier, true); +#endif + UA_ReaderGroupConfig_clear(&rg->config); + UA_NodeId_clear(&rg->identifier); + UA_free(rg); + } + + /* Update the connection state */ + UA_PubSubConnection_setPubSubState(server, connection, connection->state, + UA_STATUSCODE_GOOD); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_removeReaderGroup(UA_Server *server, UA_NodeId groupIdentifier) { + lockServer(server); + UA_ReaderGroup* readerGroup = + UA_ReaderGroup_findRGbyId(server, groupIdentifier); + if(!readerGroup) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_ReaderGroup_remove(server, readerGroup); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_ReaderGroup_getConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, + UA_ReaderGroupConfig *config) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + lockServer(server); + + /* Identify the readergroup through the readerGroupIdentifier */ + UA_ReaderGroup *currentReaderGroup = + UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); + if(!currentReaderGroup) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + + UA_StatusCode ret = + UA_ReaderGroupConfig_copy(¤tReaderGroup->config, config); + + unlockServer(server); + return ret; +} + +UA_StatusCode +UA_Server_ReaderGroup_getState(UA_Server *server, UA_NodeId readerGroupIdentifier, + UA_PubSubState *state) { + if((server == NULL) || (state == NULL)) + return UA_STATUSCODE_BADINVALIDARGUMENT; + lockServer(server); + UA_StatusCode ret = UA_STATUSCODE_BADNOTFOUND; + UA_ReaderGroup *rg = + UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); + if(rg) { + *state = rg->state; + ret = UA_STATUSCODE_GOOD; + } + unlockServer(server); + return ret; +} + +/* ReaderGroup State */ + +static UA_StatusCode +UA_ReaderGroup_setPubSubState_disable(UA_Server *server, + UA_ReaderGroup *rg, + UA_StatusCode cause) { + /* Disconnect if not already done */ + UA_ReaderGroup_disconnect(rg); + + UA_DataSetReader *dataSetReader; + switch(rg->state) { + case UA_PUBSUBSTATE_DISABLED: + return UA_STATUSCODE_GOOD; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + case UA_PUBSUBSTATE_PREOPERATIONAL: + LIST_FOREACH(dataSetReader, &rg->readers, listEntry) { + UA_DataSetReader_setPubSubState(server, dataSetReader, + UA_PUBSUBSTATE_DISABLED, cause); + } + rg->state = UA_PUBSUBSTATE_DISABLED; + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Unknown PubSub state!"); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ReaderGroup_setPubSubState_paused(UA_Server *server, + UA_ReaderGroup *rg, + UA_StatusCode cause) { + UA_LOG_DEBUG_READERGROUP(server->config.logging, rg, + "PubSub state paused is unsupported at the moment!"); + (void)cause; + switch(rg->state) { + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + return UA_STATUSCODE_GOOD; + case UA_PUBSUBSTATE_OPERATIONAL: + case UA_PUBSUBSTATE_PREOPERATIONAL: + break; + case UA_PUBSUBSTATE_ERROR: + break; + default: + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, "Unknown PubSub state!"); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_BADNOTSUPPORTED; +} + +static UA_StatusCode +UA_ReaderGroup_setPubSubState_operational(UA_Server *server, + UA_ReaderGroup *rg, + UA_StatusCode cause) { + UA_PubSubConnection *pubSubConnection = rg->linkedConnection; + UA_StatusCode ret = + UA_PubSubConnection_setPubSubState(server, pubSubConnection, + UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + if(ret != UA_STATUSCODE_GOOD || + (pubSubConnection->state != UA_PUBSUBSTATE_OPERATIONAL && + pubSubConnection->state != UA_PUBSUBSTATE_PREOPERATIONAL)) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Connection not operational"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Connect if the ReaderGroup has dedicated connections */ + if(rg->recvChannelsSize == 0) + ret = UA_ReaderGroup_connect(server, rg, false); + if(ret != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_READERGROUP(server->config.logging, rg, "Could not connect"); + UA_PubSubConnection_setPubSubState(server, pubSubConnection, + UA_PUBSUBSTATE_ERROR, ret); + } + + /* Set to preoperational until the first message was received */ + if(rg->state != UA_PUBSUBSTATE_OPERATIONAL) + rg->state = UA_PUBSUBSTATE_PREOPERATIONAL; + + /* Set all readers operational */ + UA_DataSetReader *dsr; + LIST_FOREACH(dsr, &rg->readers, listEntry) { + UA_DataSetReader_setPubSubState(server, dsr, + UA_PUBSUBSTATE_OPERATIONAL, cause); + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ReaderGroup_setPubSubState_error(UA_Server *server, + UA_ReaderGroup *rg, + UA_StatusCode cause) { + UA_DataSetReader *dataSetReader; + switch(rg->state) { + case UA_PUBSUBSTATE_DISABLED: + break; + case UA_PUBSUBSTATE_PAUSED: + break; + case UA_PUBSUBSTATE_OPERATIONAL: + case UA_PUBSUBSTATE_PREOPERATIONAL: + LIST_FOREACH(dataSetReader, &rg->readers, listEntry){ + UA_DataSetReader_setPubSubState(server, dataSetReader, UA_PUBSUBSTATE_ERROR, + cause); + } + break; + case UA_PUBSUBSTATE_ERROR: + return UA_STATUSCODE_GOOD; + default: + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, "Unknown PubSub state!"); + return UA_STATUSCODE_BADINTERNALERROR; + } + rg->state = UA_PUBSUBSTATE_ERROR; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_ReaderGroup_setPubSubState(UA_Server *server, + UA_ReaderGroup *readerGroup, + UA_PubSubState state, + UA_StatusCode cause) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(readerGroup->deleteFlag && state != UA_PUBSUBSTATE_DISABLED) { + UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, + "The ReaderGroup is being deleted. Can only be disabled."); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_StatusCode ret = UA_STATUSCODE_BADINVALIDARGUMENT; + UA_PubSubState oldState = readerGroup->state; + switch(state) { + case UA_PUBSUBSTATE_DISABLED: + ret = UA_ReaderGroup_setPubSubState_disable(server, readerGroup, cause); + break; + case UA_PUBSUBSTATE_PAUSED: + ret = UA_ReaderGroup_setPubSubState_paused(server, readerGroup, cause); + break; + case UA_PUBSUBSTATE_OPERATIONAL: + ret = UA_ReaderGroup_setPubSubState_operational(server, readerGroup, cause); + break; + case UA_PUBSUBSTATE_ERROR: + ret = UA_ReaderGroup_setPubSubState_error(server, readerGroup, cause); + break; + default: + UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, + "Received unknown PubSub state!"); + break; + } + + /* inform application about state change */ + if(readerGroup->state != oldState) { + UA_ServerConfig *pConfig = &server->config; + if(pConfig->pubSubConfig.stateChangeCallback != 0) { + pConfig->pubSubConfig. + stateChangeCallback(server, &readerGroup->identifier, + readerGroup->state, cause); + } + } + return ret; +} + +UA_StatusCode +UA_Server_setReaderGroupOperational(UA_Server *server, + const UA_NodeId readerGroupId) { + lockServer(server); + UA_StatusCode ret = UA_STATUSCODE_BADNOTFOUND; + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); + if(rg) { +#ifdef UA_ENABLE_PUBSUB_SKS + if(rg->keyStorage && rg->keyStorage->currentItem) { + UA_StatusCode retval = UA_PubSubKeyStorage_activateKeyToChannelContext( + server, rg->identifier, rg->config.securityGroupId); + if(retval != UA_STATUSCODE_GOOD) { + unlockServer(server); + return retval; + } + } +#endif + ret = UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + } + unlockServer(server); + return ret; +} + +UA_StatusCode +UA_Server_setReaderGroupDisabled(UA_Server *server, + const UA_NodeId readerGroupId) { + lockServer(server); + UA_StatusCode ret = UA_STATUSCODE_BADNOTFOUND; + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); + if(rg) + ret = UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADRESOURCEUNAVAILABLE); + unlockServer(server); + return ret; +} + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION +UA_StatusCode +setReaderGroupEncryptionKeys(UA_Server *server, const UA_NodeId readerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce) { + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroup); + UA_CHECK_MEM(rg, return UA_STATUSCODE_BADNOTFOUND); + if(rg->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "JSON encoding is enabled. The message security is " + "only defined for the UADP message mapping."); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(!rg->config.securityPolicy) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "No SecurityPolicy configured for the ReaderGroup"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + if(securityTokenId != rg->securityTokenId) { + rg->securityTokenId = securityTokenId; + rg->nonceSequenceNumber = 1; + } + + /* Create a new context */ + if(!rg->securityPolicyContext) { + return rg->config.securityPolicy-> + newContext(rg->config.securityPolicy->policyContext, + &signingKey, &encryptingKey, &keyNonce, + &rg->securityPolicyContext); + } + + /* Update the context */ + return rg->config.securityPolicy-> + setSecurityKeys(rg->securityPolicyContext, &signingKey, + &encryptingKey, &keyNonce); +} + +UA_StatusCode +UA_Server_setReaderGroupEncryptionKeys(UA_Server *server, + const UA_NodeId readerGroup, + UA_UInt32 securityTokenId, + const UA_ByteString signingKey, + const UA_ByteString encryptingKey, + const UA_ByteString keyNonce) { + lockServer(server); + UA_StatusCode res = setReaderGroupEncryptionKeys(server, readerGroup, + securityTokenId, signingKey, + encryptingKey, keyNonce); + unlockServer(server); + return res; +} +#endif + +/* Freezing of the configuration */ + +UA_StatusCode +UA_ReaderGroup_freezeConfiguration(UA_Server *server, UA_ReaderGroup *rg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(rg->configurationFrozen) + return UA_STATUSCODE_GOOD; + + /* PubSubConnection freezeCounter++ */ + UA_PubSubConnection *pubSubConnection = rg->linkedConnection; + pubSubConnection->configurationFreezeCounter++; + + /* ReaderGroup freeze */ + /* TODO: Clarify on the freeze functionality in multiple DSR, multiple + * networkMessage conf in a RG */ + rg->configurationFrozen = true; + + /* DataSetReader freeze */ + UA_DataSetReader *dsr; + UA_UInt16 dsrCount = 0; + LIST_FOREACH(dsr, &rg->readers, listEntry){ + dsr->configurationFrozen = true; + dsrCount++; + /* TODO: Configuration frozen for subscribedDataSet once + * UA_Server_DataSetReader_addTargetVariables API modified to support + * adding target variable one by one or in a group stored in a list. */ + } + + /* Not rt, we don't have to adjust anything */ + if((rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) == 0) + return UA_STATUSCODE_GOOD; + + if(dsrCount > 1) { + UA_LOG_WARNING_READERGROUP(server->config.logging, rg, + "Multiple DSR in a readerGroup not supported in RT " + "fixed size configuration"); + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + + dsr = LIST_FIRST(&rg->readers); + + /* Support only to UADP encoding */ + if(dsr->config.messageSettings.content.decoded.type != + &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "PubSub-RT configuration fail: Non-RT capable encoding."); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + + /* Don't support string PublisherId for the fast-path (at this time) */ + if(!dsr->config.publisherId.type->pointerFree) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "PubSub-RT configuration fail: String PublisherId"); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + + size_t fieldsSize = dsr->config.dataSetMetaData.fieldsSize; + for(size_t i = 0; i < fieldsSize; i++) { + /* TODO: Use the datasource from the node */ + /* UA_FieldTargetVariable *tv = */ + /* &dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariables[i]; */ + /* const UA_VariableNode *rtNode = (const UA_VariableNode *) */ + /* UA_NODESTORE_GET(server, &tv->targetVariable.targetNodeId); */ + /* if(!rtNode || */ + /* rtNode->valueBackend.backendType != UA_VALUEBACKENDTYPE_EXTERNAL) { */ + /* UA_LOG_WARNING_READER(server->config.logging, dsr, */ + /* "PubSub-RT configuration fail: PDS contains field " */ + /* "without external data source."); */ + /* UA_NODESTORE_RELEASE(server, (const UA_Node *) rtNode); */ + /* return UA_STATUSCODE_BADNOTSUPPORTED; */ + /* } */ + + /* /\* Set the external data source in the tv *\/ */ + /* tv->externalDataValue = rtNode->valueBackend.backend.external.value; */ + + /* UA_NODESTORE_RELEASE(server, (const UA_Node *) rtNode); */ + + UA_FieldMetaData *field = &dsr->config.dataSetMetaData.fields[i]; + if((UA_NodeId_equal(&field->dataType, &UA_TYPES[UA_TYPES_STRING].typeId) || + UA_NodeId_equal(&field->dataType, &UA_TYPES[UA_TYPES_BYTESTRING].typeId)) && + field->maxStringLength == 0) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "PubSub-RT configuration fail: " + "PDS contains String/ByteString with dynamic length."); + return UA_STATUSCODE_BADNOTSUPPORTED; + } else if(!UA_DataType_isNumeric(UA_findDataType(&field->dataType)) && + !UA_NodeId_equal(&field->dataType, &UA_TYPES[UA_TYPES_BOOLEAN].typeId)) { + UA_LOG_WARNING_READER(server->config.logging, dsr, + "PubSub-RT configuration fail: " + "PDS contains variable with dynamic size."); + return UA_STATUSCODE_BADNOTSUPPORTED; + } + } + + /* Reset the OffsetBuffer. The OffsetBuffer for a frozen configuration is + * generated when the first message is received. So we know the exact + * settings which headers are present, etc. Until then the ReaderGroup is + * "PreOperational". */ + UA_NetworkMessageOffsetBuffer_clear(&dsr->bufferedMessage); + + /* Set the current state again. This can move the state from Operational to + * PreOperational. */ + return UA_ReaderGroup_setPubSubState(server, rg, rg->state, UA_STATUSCODE_GOOD); +} + +UA_StatusCode +UA_Server_freezeReaderGroupConfiguration(UA_Server *server, + const UA_NodeId readerGroupId) { + lockServer(server); + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); + if(!rg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_ReaderGroup_freezeConfiguration(server, rg); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_ReaderGroup_unfreezeConfiguration(UA_Server *server, UA_ReaderGroup *rg) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Already unfrozen */ + if(!rg->configurationFrozen) + return UA_STATUSCODE_GOOD; + + /* PubSubConnection freezeCounter-- */ + UA_PubSubConnection *pubSubConnection = rg->linkedConnection; + pubSubConnection->configurationFreezeCounter--; + + /* ReaderGroup unfreeze */ + rg->configurationFrozen = false; + + /* DataSetReader unfreeze */ + UA_DataSetReader *dataSetReader; + LIST_FOREACH(dataSetReader, &rg->readers, listEntry) { + dataSetReader->configurationFrozen = false; + UA_NetworkMessageOffsetBuffer_clear(&dataSetReader->bufferedMessage); + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_unfreezeReaderGroupConfiguration(UA_Server *server, + const UA_NodeId readerGroupId) { + lockServer(server); + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); + if(!rg) { + unlockServer(server); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_StatusCode res = UA_ReaderGroup_unfreezeConfiguration(server, rg); + unlockServer(server); + return res; +} + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_manager.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2018 Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) + * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + + +#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ + +#ifdef UA_ENABLE_PUBSUB_SKS +#endif + +#define UA_DATETIMESTAMP_2000 125911584000000000 +#define UA_RESERVEID_FIRST_ID 0x8000 + +static void +UA_PubSubManager_addTopic(UA_PubSubManager *pubSubManager, UA_TopicAssign *topicAssign) { + TAILQ_INSERT_TAIL(&pubSubManager->topicAssign, topicAssign, listEntry); + pubSubManager->topicAssignSize++; +} + +static UA_TopicAssign * +UA_TopicAssign_new(UA_ReaderGroup *readerGroup, + UA_String topic, const UA_Logger *logger) { + UA_TopicAssign *topicAssign = (UA_TopicAssign *) + UA_calloc(1, sizeof(UA_TopicAssign)); + if(!topicAssign) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, + "PubSub TopicAssign creation failed. Out of Memory."); + return NULL; + } + topicAssign->rgIdentifier = readerGroup; + topicAssign->topic = topic; + return topicAssign; +} + +UA_StatusCode +UA_PubSubManager_addPubSubTopicAssign(UA_Server *server, UA_ReaderGroup *readerGroup, UA_String topic) { + UA_PubSubManager *pubSubManager = &server->pubSubManager; + UA_TopicAssign *topicAssign = UA_TopicAssign_new(readerGroup, topic, server->config.logging); + UA_PubSubManager_addTopic(pubSubManager, topicAssign); + return UA_STATUSCODE_GOOD; +} + +static enum ZIP_CMP +cmpReserveId(const void *a, const void *b) { + const UA_ReserveId *aa = (const UA_ReserveId*)a; + const UA_ReserveId *bb = (const UA_ReserveId*)b; + if(aa->id != bb->id) + return (aa->id < bb->id) ? ZIP_CMP_LESS : ZIP_CMP_MORE; + if(aa->reserveIdType != bb->reserveIdType) + return (aa->reserveIdType < bb->reserveIdType) ? ZIP_CMP_LESS : ZIP_CMP_MORE; + return (enum ZIP_CMP)UA_order(&aa->transportProfileUri, + &bb->transportProfileUri, &UA_TYPES[UA_TYPES_STRING]); +} + +ZIP_FUNCTIONS(UA_ReserveIdTree, UA_ReserveId, treeEntry, UA_ReserveId, id, cmpReserveId) + +static UA_ReserveId * +UA_ReserveId_new(UA_Server *server, UA_UInt16 id, UA_String transportProfileUri, + UA_ReserveIdType reserveIdType, UA_NodeId sessionId) { + UA_ReserveId *reserveId = (UA_ReserveId *) + UA_calloc(1, sizeof(UA_ReserveId)); + if(!reserveId) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PubSub ReserveId creation failed. Out of Memory."); + return NULL; + } + reserveId->id = id; + reserveId->reserveIdType = reserveIdType; + UA_String_copy(&transportProfileUri, &reserveId->transportProfileUri); + reserveId->sessionId = sessionId; + + return reserveId; +} + +static UA_Boolean +UA_ReserveId_isFree(UA_Server *server, UA_UInt16 id, + UA_String transportProfileUri, UA_ReserveIdType reserveIdType) { + UA_PubSubManager *pubSubManager = &server->pubSubManager; + + /* Is the id already in use? */ + UA_ReserveId compare; + compare.id = id; + compare.reserveIdType = reserveIdType; + compare.transportProfileUri = transportProfileUri; + if(ZIP_FIND(UA_ReserveIdTree, &pubSubManager->reserveIds, &compare)) + return false; + + UA_PubSubConnection *tmpConnection; + TAILQ_FOREACH(tmpConnection, &server->pubSubManager.connections, listEntry) { + UA_WriterGroup *writerGroup; + LIST_FOREACH(writerGroup, &tmpConnection->writerGroups, listEntry) { + if(reserveIdType == UA_WRITER_GROUP) { + if(UA_String_equal(&tmpConnection->config.transportProfileUri, + &transportProfileUri) && + writerGroup->config.writerGroupId == id) + return false; + /* reserveIdType == UA_DATA_SET_WRITER */ + } else { + UA_DataSetWriter *currentWriter; + LIST_FOREACH(currentWriter, &writerGroup->writers, listEntry) { + if(UA_String_equal(&tmpConnection->config.transportProfileUri, + &transportProfileUri) && + currentWriter->config.dataSetWriterId == id) + return false; + } + } + } + } + return true; +} + +static UA_UInt16 +UA_ReserveId_createId(UA_Server *server, UA_NodeId sessionId, + UA_String transportProfileUri, UA_ReserveIdType reserveIdType) { + /* Total number of possible Ids */ + UA_UInt16 numberOfIds = 0x8000; + /* Contains next possible free Id */ + static UA_UInt16 next_id_writerGroup = UA_RESERVEID_FIRST_ID; + static UA_UInt16 next_id_writer = UA_RESERVEID_FIRST_ID; + UA_UInt16 next_id; + UA_Boolean is_free = false; + + if(reserveIdType == UA_WRITER_GROUP) + next_id = next_id_writerGroup; + else + next_id = next_id_writer; + + for(;numberOfIds > 0;numberOfIds--) { + if(next_id < UA_RESERVEID_FIRST_ID) + next_id = UA_RESERVEID_FIRST_ID; + is_free = UA_ReserveId_isFree(server, next_id, transportProfileUri, reserveIdType); + if(is_free) + break; + next_id++; + } + if(!is_free) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PubSub ReserveId creation failed. No free ID could be found."); + return 0; + } + + if(reserveIdType == UA_WRITER_GROUP) + next_id_writerGroup = (UA_UInt16)(next_id + 1); + else + next_id_writer = (UA_UInt16)(next_id + 1); + + UA_ReserveId *reserveId = + UA_ReserveId_new(server, next_id, transportProfileUri, reserveIdType, sessionId); + if(!reserveId) + return 0; + UA_PubSubManager *pubSubManager = &server->pubSubManager; + ZIP_INSERT(UA_ReserveIdTree, &pubSubManager->reserveIds, reserveId); + pubSubManager->reserveIdsSize++; + return next_id; +} + +static void * +removeReserveId(void *context, UA_ReserveId *elem) { + UA_String_clear(&elem->transportProfileUri); + UA_free(elem); + return NULL; +} + +struct RemoveInactiveReserveIdContext { + UA_Server *server; + UA_ReserveIdTree newTree; +}; + +/* Remove ReserveIds that are not attached to any session */ +static void * +removeInactiveReserveId(void *context, UA_ReserveId *elem) { + struct RemoveInactiveReserveIdContext *ctx = + (struct RemoveInactiveReserveIdContext*)context; + + if(UA_NodeId_equal(&ctx->server->adminSession.sessionId, &elem->sessionId)) + goto still_active; + + session_list_entry *session; + LIST_FOREACH(session, &ctx->server->sessions, pointers) { + if(UA_NodeId_equal(&session->session.sessionId, &elem->sessionId)) + goto still_active; + } + + ctx->server->pubSubManager.reserveIdsSize--; + UA_String_clear(&elem->transportProfileUri); + UA_free(elem); + return NULL; + + still_active: + ZIP_INSERT(UA_ReserveIdTree, &ctx->newTree, elem); + return NULL; +} + +void +UA_PubSubManager_freeIds(UA_Server *server) { + struct RemoveInactiveReserveIdContext removeCtx; + removeCtx.server = server; + removeCtx.newTree.root = NULL; + ZIP_ITER(UA_ReserveIdTree, &server->pubSubManager.reserveIds, + removeInactiveReserveId, &removeCtx); + server->pubSubManager.reserveIds = removeCtx.newTree; +} + +UA_StatusCode +UA_PubSubManager_reserveIds(UA_Server *server, UA_NodeId sessionId, UA_UInt16 numRegWriterGroupIds, + UA_UInt16 numRegDataSetWriterIds, UA_String transportProfileUri, + UA_UInt16 **writerGroupIds, UA_UInt16 **dataSetWriterIds) { + UA_PubSubManager_freeIds(server); + + /* Check the validation of the transportProfileUri */ + UA_String profile_1 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-uadp"); + UA_String profile_2 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-json"); + UA_String profile_3 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-udp-uadp"); + if(!UA_String_equal(&transportProfileUri, &profile_1) && + !UA_String_equal(&transportProfileUri, &profile_2) && + !UA_String_equal(&transportProfileUri, &profile_3)) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "PubSub ReserveId creation failed. No valid transport profile uri."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + *writerGroupIds = (UA_UInt16*)UA_Array_new(numRegWriterGroupIds, &UA_TYPES[UA_TYPES_UINT16]); + *dataSetWriterIds = (UA_UInt16*)UA_Array_new(numRegDataSetWriterIds, &UA_TYPES[UA_TYPES_UINT16]); + + for(int i = 0; i < numRegWriterGroupIds; i++) { + (*writerGroupIds)[i] = + UA_ReserveId_createId(server, sessionId, transportProfileUri, UA_WRITER_GROUP); + } + for(int i = 0; i < numRegDataSetWriterIds; i++) { + (*dataSetWriterIds)[i] = + UA_ReserveId_createId(server, sessionId, transportProfileUri, UA_DATA_SET_WRITER); + } + return UA_STATUSCODE_GOOD; +} + +/* Calculate the time difference between current time and UTC (00:00) on January + * 1, 2000. */ +UA_UInt32 +UA_PubSubConfigurationVersionTimeDifference(void) { + UA_UInt32 timeDiffSince2000 = (UA_UInt32) (UA_DateTime_now() - UA_DATETIMESTAMP_2000); + return timeDiffSince2000; +} + +static UA_StatusCode +addStandaloneSubscribedDataSet(UA_Server *server, + const UA_StandaloneSubscribedDataSetConfig *sdsConfig, + UA_NodeId *sdsIdentifier) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(!sdsConfig){ + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "SubscribedDataSet creation failed. No config passed in."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StandaloneSubscribedDataSetConfig tmpSubscribedDataSetConfig; + memset(&tmpSubscribedDataSetConfig, 0, sizeof(UA_StandaloneSubscribedDataSetConfig)); + if(UA_StandaloneSubscribedDataSetConfig_copy(sdsConfig, &tmpSubscribedDataSetConfig) != UA_STATUSCODE_GOOD){ + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "SubscribedDataSet creation failed. Configuration copy failed."); + return UA_STATUSCODE_BADINTERNALERROR; + } + //create new PDS and add to UA_PubSubManager + UA_StandaloneSubscribedDataSet *newSubscribedDataSet = (UA_StandaloneSubscribedDataSet *) + UA_calloc(1, sizeof(UA_StandaloneSubscribedDataSet)); + if(!newSubscribedDataSet) { + UA_StandaloneSubscribedDataSetConfig_clear(&tmpSubscribedDataSetConfig); + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "SubscribedDataSet creation failed. Out of Memory."); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + newSubscribedDataSet->config = tmpSubscribedDataSetConfig; + newSubscribedDataSet->connectedReader = UA_NODEID_NULL; + + TAILQ_INSERT_TAIL(&server->pubSubManager.subscribedDataSets, newSubscribedDataSet, listEntry); + server->pubSubManager.subscribedDataSetsSize++; + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + addStandaloneSubscribedDataSetRepresentation(server, newSubscribedDataSet); +#else + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, &newSubscribedDataSet->identifier); +#endif + + if(sdsIdentifier) + UA_NodeId_copy(&newSubscribedDataSet->identifier, sdsIdentifier); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_addStandaloneSubscribedDataSet(UA_Server *server, + const UA_StandaloneSubscribedDataSetConfig *sdsConfig, + UA_NodeId *sdsIdentifier) { + lockServer(server); + UA_StatusCode res = addStandaloneSubscribedDataSet(server, sdsConfig, sdsIdentifier); + unlockServer(server); + return res; +} + +static UA_StatusCode +removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StandaloneSubscribedDataSet *subscribedDataSet = + UA_StandaloneSubscribedDataSet_findSDSbyId(server, sds); + if(!subscribedDataSet){ + return UA_STATUSCODE_BADNOTFOUND; + } + + //search for referenced readers. + UA_PubSubConnection *tmpConnectoin; + TAILQ_FOREACH(tmpConnectoin, &server->pubSubManager.connections, listEntry){ + UA_ReaderGroup *readerGroup; + LIST_FOREACH(readerGroup, &tmpConnectoin->readerGroups, listEntry){ + UA_DataSetReader *currentReader, *tmpReader; + LIST_FOREACH_SAFE(currentReader, &readerGroup->readers, listEntry, tmpReader){ + if(UA_NodeId_equal(¤tReader->identifier, &subscribedDataSet->connectedReader)){ + UA_DataSetReader_remove(server, currentReader); + goto done; + } + } + } + } + + done: + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, subscribedDataSet->identifier, true); +#endif + + UA_StandaloneSubscribedDataSet_clear(server, subscribedDataSet); + server->pubSubManager.subscribedDataSetsSize--; + + TAILQ_REMOVE(&server->pubSubManager.subscribedDataSets, subscribedDataSet, listEntry); + UA_free(subscribedDataSet); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds) { + lockServer(server); + UA_StatusCode res = removeStandaloneSubscribedDataSet(server, sds); + unlockServer(server); + return res; +} + +/* Generate a new unique NodeId. This NodeId will be used for the information + * model representation of PubSub entities. */ +#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL +void +UA_PubSubManager_generateUniqueNodeId(UA_PubSubManager *psm, UA_NodeId *nodeId) { + *nodeId = UA_NODEID_NUMERIC(1, ++psm->uniqueIdCount); +} +#endif + +UA_Guid +UA_PubSubManager_generateUniqueGuid(UA_Server *server) { + while(true) { + UA_NodeId testId = UA_NODEID_GUID(1, UA_Guid_random()); + const UA_Node *testNode = UA_NODESTORE_GET(server, &testId); + if(!testNode) + return testId.identifier.guid; + UA_NODESTORE_RELEASE(server, testNode); + } +} + +static UA_UInt64 +generateRandomUInt64(UA_Server *server) { + UA_UInt64 id = 0; + UA_Guid ident = UA_Guid_random(); + + id = id + ident.data1; + id = (id << 32) + ident.data2; + id = (id << 16) + ident.data3; + return id; +} + +/* Initialization the PubSub configuration. */ +void +UA_PubSubManager_init(UA_Server *server, UA_PubSubManager *pubSubManager) { + //TODO: Using the Mac address to generate the defaultPublisherId. + // In the future, this can be retrieved from the eventloop. + pubSubManager->defaultPublisherId = generateRandomUInt64(server); + + TAILQ_INIT(&pubSubManager->connections); + TAILQ_INIT(&pubSubManager->publishedDataSets); + TAILQ_INIT(&pubSubManager->subscribedDataSets); + TAILQ_INIT(&pubSubManager->topicAssign); + +#ifdef UA_ENABLE_PUBSUB_SKS + TAILQ_INIT(&pubSubManager->securityGroups); +#endif +} + +void +UA_PubSubManager_shutdown(UA_Server *server, UA_PubSubManager *pubSubManager) { + UA_PubSubConnection *tmpConnection; + TAILQ_FOREACH(tmpConnection, &server->pubSubManager.connections, listEntry) { + UA_PubSubConnection_setPubSubState(server, tmpConnection, + UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); + } +} + +/* Delete the current PubSub configuration including all nested members. This + * action also delete the configured PubSub transport Layers. */ +void +UA_PubSubManager_delete(UA_Server *server, UA_PubSubManager *pubSubManager) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "PubSub cleanup was called."); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Remove Connections - this also remove WriterGroups and ReaderGroups */ + UA_PubSubConnection *tmpConnection1, *tmpConnection2; + TAILQ_FOREACH_SAFE(tmpConnection1, &server->pubSubManager.connections, + listEntry, tmpConnection2) { + UA_PubSubConnection_delete(server, tmpConnection1); + } + + /* Remove the DataSets */ + UA_PublishedDataSet *tmpPDS1, *tmpPDS2; + TAILQ_FOREACH_SAFE(tmpPDS1, &server->pubSubManager.publishedDataSets, + listEntry, tmpPDS2){ + UA_PublishedDataSet_remove(server, tmpPDS1); + } + + /* Remove the TopicAssigns */ + UA_TopicAssign *tmpTopicAssign1, *tmpTopicAssign2; + TAILQ_FOREACH_SAFE(tmpTopicAssign1, &server->pubSubManager.topicAssign, + listEntry, tmpTopicAssign2){ + server->pubSubManager.topicAssignSize--; + TAILQ_REMOVE(&server->pubSubManager.topicAssign, tmpTopicAssign1, listEntry); + UA_free(tmpTopicAssign1); + } + + /* Remove the ReserveIds*/ + ZIP_ITER(UA_ReserveIdTree, &server->pubSubManager.reserveIds, removeReserveId, NULL); + server->pubSubManager.reserveIdsSize = 0; + + /* Delete subscribed datasets */ + UA_StandaloneSubscribedDataSet *tmpSDS1, *tmpSDS2; + TAILQ_FOREACH_SAFE(tmpSDS1, &server->pubSubManager.subscribedDataSets, listEntry, tmpSDS2){ + removeStandaloneSubscribedDataSet(server, tmpSDS1->identifier); + } + +#ifdef UA_ENABLE_PUBSUB_SKS + /* Remove the SecurityGroups */ + UA_SecurityGroup *tmpSG1, *tmpSG2; + TAILQ_FOREACH_SAFE(tmpSG1, &server->pubSubManager.securityGroups, listEntry, tmpSG2) { + removeSecurityGroup(server, tmpSG1); + } + + /* Remove the keyStorages */ + UA_PubSubKeyStorage *ks, *ksTmp; + LIST_FOREACH_SAFE(ks, &server->pubSubManager.pubSubKeyList, keyStorageList, ksTmp) { + UA_PubSubKeyStorage_delete(server, ks); + } +#endif +} + +#ifdef UA_ENABLE_PUBSUB_MONITORING + +static UA_StatusCode +UA_PubSubComponent_createMonitoring(UA_Server *server, UA_NodeId Id, UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data, UA_ServerCallback callback) { + + if(!server || !data) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + switch (eComponentType) { + case UA_PUBSUB_COMPONENT_DATASETREADER: { + UA_DataSetReader *reader = (UA_DataSetReader*) data; + switch (eMonitoringType) { + case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, "UA_PubSubComponent_createMonitoring(): DataSetReader '%.*s' " + "- MessageReceiveTimeout", (UA_Int32) reader->config.name.length, reader->config.name.data); + reader->msgRcvTimeoutTimerCallback = callback; + break; + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "UA_PubSubComponent_createMonitoring(): DataSetReader '%.*s' " + "DataSetReader does not support timeout type '%i'", (UA_Int32) reader->config.name.length, reader->config.name.data, + eMonitoringType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_createMonitoring(): PubSub component type '%i' is not supported", eComponentType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + return ret; +} + +static void +monitoringReceiveTimeoutOnce(UA_Server *server, void *data) { + UA_DataSetReader *reader = (UA_DataSetReader*)data; + reader->msgRcvTimeoutTimerCallback(server, reader); + UA_EventLoop *el = server->config.eventLoop; + el->removeCyclicCallback(el, reader->msgRcvTimeoutTimerId); + reader->msgRcvTimeoutTimerId = 0; +} + +static UA_StatusCode +UA_PubSubComponent_startMonitoring(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data) { + if(!server || !data) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + switch (eComponentType) { + case UA_PUBSUB_COMPONENT_DATASETREADER: { + UA_DataSetReader *reader = (UA_DataSetReader*) data; + switch (eMonitoringType) { + case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: { + if(reader->config.messageReceiveTimeout == 0) { + UA_LOG_WARNING_READER(server->config.logging, reader, + "Cannot monitor timeout for messageReceiveTimeout == 0"); + return UA_STATUSCODE_GOOD; + } + + /* use a timed callback, because one notification is enough, + * we assume that MessageReceiveTimeout configuration is in + * [ms], we do not handle or check fractions */ + UA_EventLoop *el = server->config.eventLoop; + ret = el->addCyclicCallback(el, (UA_Callback)monitoringReceiveTimeoutOnce, + server, reader, reader->config.messageReceiveTimeout, + NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, + &reader->msgRcvTimeoutTimerId); + if(ret == UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_startMonitoring(): DataSetReader '%.*s'- " + "MessageReceiveTimeout: MessageReceiveTimeout = '%f' " + "Timer Id = '%u'", (UA_Int32) reader->config.name.length, + reader->config.name.data, reader->config.messageReceiveTimeout, + (UA_UInt32) reader->msgRcvTimeoutTimerId); + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_startMonitoring(): DataSetReader " + "'%.*s' - MessageReceiveTimeout: start timer failed", + (UA_Int32) reader->config.name.length, reader->config.name.data); + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_startMonitoring(): DataSetReader '%.*s' " + "DataSetReader does not support timeout type '%i'", + (UA_Int32) reader->config.name.length, reader->config.name.data, + eMonitoringType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_startMonitoring(): PubSub component " + "type '%i' is not supported", eComponentType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + return ret; +} + +static UA_StatusCode +UA_PubSubComponent_stopMonitoring(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data) { + if(!server || !data) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + switch (eComponentType) { + case UA_PUBSUB_COMPONENT_DATASETREADER: { + UA_DataSetReader *reader = (UA_DataSetReader*) data; + switch (eMonitoringType) { + case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: { + UA_EventLoop *el = server->config.eventLoop; + el->removeCyclicCallback(el, reader->msgRcvTimeoutTimerId); + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_stopMonitoring(): DataSetReader '%.*s' - " + "MessageReceiveTimeout: MessageReceiveTimeout = '%f' " + "Timer Id = '%u'", (UA_Int32) reader->config.name.length, + reader->config.name.data, reader->config.messageReceiveTimeout, + (UA_UInt32) reader->msgRcvTimeoutTimerId); + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_stopMonitoring(): DataSetReader '%.*s' " + "DataSetReader does not support timeout type '%i'", + (UA_Int32) reader->config.name.length, reader->config.name.data, + eMonitoringType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_stopMonitoring(): PubSub component type '%i' " + "is not supported", eComponentType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + return ret; +} + +static UA_StatusCode +UA_PubSubComponent_updateMonitoringInterval(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data) { + if(!server || !data) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + switch (eComponentType) { + case UA_PUBSUB_COMPONENT_DATASETREADER: { + UA_DataSetReader *reader = (UA_DataSetReader*) data; + switch (eMonitoringType) { + case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: { + UA_EventLoop *el = server->config.eventLoop; + ret = el->modifyCyclicCallback(el, reader->msgRcvTimeoutTimerId, + reader->config.messageReceiveTimeout, NULL, + UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME); + if (ret == UA_STATUSCODE_GOOD) { + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_updateMonitoringInterval(): " + "DataSetReader '%.*s' - MessageReceiveTimeout: new " + "MessageReceiveTimeout = '%f' Timer Id = '%u'", + (UA_Int32) reader->config.name.length, reader->config.name.data, + reader->config.messageReceiveTimeout, + (UA_UInt32) reader->msgRcvTimeoutTimerId); + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_updateMonitoringInterval(): " + "DataSetReader '%.*s': update timer interval failed", + (UA_Int32) reader->config.name.length, reader->config.name.data); + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_createMonitoring(): DataSetReader '%.*s' " + "DataSetReader does not support timeout type '%i'", + (UA_Int32) reader->config.name.length, reader->config.name.data, + eMonitoringType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_updateMonitoringInterval(): " + "PubSub component type '%i' is not supported", eComponentType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + return ret; +} + +static UA_StatusCode +UA_PubSubComponent_deleteMonitoring(UA_Server *server, UA_NodeId Id, + UA_PubSubComponentEnumType eComponentType, + UA_PubSubMonitoringType eMonitoringType, void *data) { + + if(!server || !data) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + switch (eComponentType) { + case UA_PUBSUB_COMPONENT_DATASETREADER: { + UA_DataSetReader *reader = (UA_DataSetReader*) data; + switch (eMonitoringType) { + case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_deleteMonitoring(): DataSetReader '%.*s' - " + "MessageReceiveTimeout: Timer Id = '%u'", + (UA_Int32)reader->config.name.length, reader->config.name.data, + (UA_UInt32) reader->msgRcvTimeoutTimerId); + break; + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "UA_PubSubComponent_deleteMonitoring(): DataSetReader '%.*s' " + "DataSetReader does not support timeout type '%i'", + (UA_Int32) reader->config.name.length, reader->config.name.data, + eMonitoringType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + break; + } + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Error UA_PubSubComponent_deleteMonitoring(): PubSub component type " + "'%i' is not supported", eComponentType); + ret = UA_STATUSCODE_BADNOTSUPPORTED; + break; + } + return ret; +} + +UA_StatusCode +UA_PubSubManager_setDefaultMonitoringCallbacks(UA_PubSubMonitoringInterface *monitoringInterface) { + if (monitoringInterface == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + monitoringInterface->createMonitoring = UA_PubSubComponent_createMonitoring; + monitoringInterface->startMonitoring = UA_PubSubComponent_startMonitoring; + monitoringInterface->stopMonitoring = UA_PubSubComponent_stopMonitoring; + monitoringInterface->updateMonitoringInterval = UA_PubSubComponent_updateMonitoringInterval; + monitoringInterface->deleteMonitoring = UA_PubSubComponent_deleteMonitoring; + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_PUBSUB_MONITORING */ + +#endif /* UA_ENABLE_PUBSUB */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_ns0.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright (c) 2019-2021 Kalycito Infotech Private Limited + * Copyright (c) 2020 Yannick Wallerer, Siemens AG + * Copyright (c) 2020-2022 Thomas Fischer, Siemens AG + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL /* conditional compilation */ + +typedef struct { + UA_NodeId parentNodeId; + UA_UInt32 parentClassifier; + UA_UInt32 elementClassiefier; +} UA_NodePropertyContext; + +static UA_StatusCode +writePubSubNs0VariableArray(UA_Server *server, const UA_NodeId id, void *v, + size_t length, const UA_DataType *type) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_Variant var; + UA_Variant_init(&var); + UA_Variant_setArray(&var, v, length, type); + return writeValueAttribute(server, id, &var); +} + +static UA_NodeId +findSingleChildNode(UA_Server *server, UA_QualifiedName targetName, + UA_NodeId referenceTypeId, UA_NodeId startingNode){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_NodeId resultNodeId; + UA_RelativePathElement rpe; + UA_RelativePathElement_init(&rpe); + rpe.referenceTypeId = referenceTypeId; + rpe.isInverse = false; + rpe.includeSubtypes = false; + rpe.targetName = targetName; + UA_BrowsePath bp; + UA_BrowsePath_init(&bp); + bp.startingNode = startingNode; + bp.relativePath.elementsSize = 1; + bp.relativePath.elements = &rpe; + UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); + if(bpr.statusCode != UA_STATUSCODE_GOOD || + bpr.targetsSize < 1) + return UA_NODEID_NULL; + UA_StatusCode res = UA_NodeId_copy(&bpr.targets[0].targetId.nodeId, &resultNodeId); + if(res != UA_STATUSCODE_GOOD){ + UA_BrowsePathResult_clear(&bpr); + return UA_NODEID_NULL; + } + UA_BrowsePathResult_clear(&bpr); + return resultNodeId; +} + +static void +onReadLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *context, + const UA_NumericRange *range, const UA_DataValue *data) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + const UA_NodePropertyContext *nodeContext = (const UA_NodePropertyContext*)context; + const UA_NodeId *myNodeId = &nodeContext->parentNodeId; + + UA_PublishedVariableDataType *pvd = NULL; + UA_PublishedDataSet *publishedDataSet = NULL; + + UA_Variant value; + UA_Variant_init(&value); + + switch(nodeContext->parentClassifier){ + case UA_NS0ID_PUBSUBCONNECTIONTYPE: { + UA_PubSubConnection *pubSubConnection = + UA_PubSubConnection_findConnectionbyId(server, *myNodeId); + switch(nodeContext->elementClassiefier) { + case UA_NS0ID_PUBSUBCONNECTIONTYPE_PUBLISHERID: + switch (pubSubConnection->config.publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.byte, + &UA_TYPES[UA_TYPES_BYTE]); + break; + case UA_PUBLISHERIDTYPE_UINT16: + UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.uint16, + &UA_TYPES[UA_TYPES_UINT16]); + break; + case UA_PUBLISHERIDTYPE_UINT32: + UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.uint32, + &UA_TYPES[UA_TYPES_UINT32]); + break; + case UA_PUBLISHERIDTYPE_UINT64: + UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.uint64, + &UA_TYPES[UA_TYPES_UINT64]); + break; + case UA_PUBLISHERIDTYPE_STRING: + UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.string, + &UA_TYPES[UA_TYPES_STRING]); + break; + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown PublisherId type."); + } + break; + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown property."); + } + break; + } + case UA_NS0ID_DATASETREADERTYPE: { + UA_DataSetReader *dataSetReader = UA_ReaderGroup_findDSRbyId(server, *myNodeId); + if(!dataSetReader) + return; + + switch(nodeContext->elementClassiefier) { + case UA_NS0ID_DATASETREADERTYPE_PUBLISHERID: + UA_Variant_setScalar(&value, dataSetReader->config.publisherId.data, + dataSetReader->config.publisherId.type); + break; + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown property."); + } + break; + } + case UA_NS0ID_WRITERGROUPTYPE: { + UA_WriterGroup *writerGroup = UA_WriterGroup_findWGbyId(server, *myNodeId); + if(!writerGroup) + return; + switch(nodeContext->elementClassiefier){ + case UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL: + UA_Variant_setScalar(&value, &writerGroup->config.publishingInterval, + &UA_TYPES[UA_TYPES_DURATION]); + break; + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown property."); + } + break; + } + case UA_NS0ID_DATASETWRITERTYPE: { + UA_DataSetWriter *dataSetWriter = UA_DataSetWriter_findDSWbyId(server, *myNodeId); + if(!dataSetWriter) + return; + + switch(nodeContext->elementClassiefier) { + case UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERID: + UA_Variant_setScalar(&value, &dataSetWriter->config.dataSetWriterId, + &UA_TYPES[UA_TYPES_UINT16]); + break; + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown property."); + } + break; + } + case UA_NS0ID_PUBLISHEDDATAITEMSTYPE: { + publishedDataSet = UA_PublishedDataSet_findPDSbyId(server, *myNodeId); + if(!publishedDataSet) + return; + switch(nodeContext->elementClassiefier) { + case UA_NS0ID_PUBLISHEDDATAITEMSTYPE_PUBLISHEDDATA: { + pvd = (UA_PublishedVariableDataType *) + UA_calloc(publishedDataSet->fieldSize, sizeof(UA_PublishedVariableDataType)); + size_t counter = 0; + UA_DataSetField *field; + TAILQ_FOREACH(field, &publishedDataSet->fields, listEntry) { + pvd[counter].attributeId = UA_ATTRIBUTEID_VALUE; + pvd[counter].publishedVariable = + field->config.field.variable.publishParameters.publishedVariable; + UA_NodeId_copy(&field->config.field.variable.publishParameters.publishedVariable, + &pvd[counter].publishedVariable); + counter++; + } + UA_Variant_setArray(&value, pvd, publishedDataSet->fieldSize, + &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); + break; + } + case UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETMETADATA: { + UA_Variant_setScalar(&value, &publishedDataSet->dataSetMetaData, + &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); + break; + } + case UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CONFIGURATIONVERSION: { + UA_Variant_setScalar(&value, &publishedDataSet->dataSetMetaData.configurationVersion, + &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); + break; + } + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown property."); + } + break; + } + case UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE: { + UA_StandaloneSubscribedDataSet *sds = + UA_StandaloneSubscribedDataSet_findSDSbyId(server, *myNodeId); + switch(nodeContext->elementClassiefier) { + case UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_ISCONNECTED: { + UA_Variant_setScalar(&value, &sds->config.isConnected, + &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + } + case UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_DATASETMETADATA: { + UA_Variant_setScalar(&value, &sds->config.dataSetMetaData, + &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); + break; + } + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown property."); + } + break; + } + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown parent element."); + } + + writeValueAttribute(server, *nodeid, &value); + if(pvd && publishedDataSet) { + UA_Array_delete(pvd, publishedDataSet->fieldSize, + &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); + } +} + +static void +onRead(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeid, void *context, + const UA_NumericRange *range, const UA_DataValue *data) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + onReadLocked(server, sessionId, sessionContext, nodeid, context, range, data); +} + +static void +onWriteLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + const UA_NumericRange *range, const UA_DataValue *data) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_NodePropertyContext *npc = (UA_NodePropertyContext *)nodeContext; + + UA_WriterGroup *writerGroup = NULL; + UA_StatusCode res = UA_STATUSCODE_GOOD; + switch(npc->parentClassifier) { + case UA_NS0ID_PUBSUBCONNECTIONTYPE: + //no runtime writable attributes + break; + case UA_NS0ID_WRITERGROUPTYPE: { + writerGroup = UA_WriterGroup_findWGbyId(server, npc->parentNodeId); + if(!writerGroup) + return; + UA_WriterGroupConfig writerGroupConfig; + memset(&writerGroupConfig, 0, sizeof(writerGroupConfig)); + switch(npc->elementClassiefier) { + case UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL: + if(!UA_Variant_hasScalarType(&data->value, &UA_TYPES[UA_TYPES_DURATION]) && + !UA_Variant_hasScalarType(&data->value, &UA_TYPES[UA_TYPES_DOUBLE])) { + res = UA_STATUSCODE_BADTYPEMISMATCH; + goto cleanup; + } + res = UA_WriterGroupConfig_copy(&writerGroup->config, &writerGroupConfig); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + writerGroupConfig.publishingInterval = *((UA_Duration *) data->value.data); + UA_WriterGroup_updateConfig(server, writerGroup, &writerGroupConfig); + UA_WriterGroupConfig_clear(&writerGroupConfig); + break; + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Write error! Unknown property element."); + } + break; + } + default: + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Read error! Unknown parent element."); + } + + cleanup: + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Changing the ReaderGroupConfig failed with status %s", + UA_StatusCode_name(res)); + } +} + +static void +onWrite(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + const UA_NumericRange *range, const UA_DataValue *data) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + onWriteLocked(server, sessionId, sessionContext, nodeId, nodeContext, range, data); +} + +static UA_StatusCode +addVariableValueSource(UA_Server *server, UA_ValueCallback valueCallback, + UA_NodeId node, UA_NodePropertyContext *context){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + setNodeContext(server, node, context); + return setVariableNode_valueCallback(server, node, valueCallback); +} + +static UA_StatusCode +addPubSubConnectionConfig(UA_Server *server, UA_PubSubConnectionDataType *pubsubConnection, + UA_NodeId *connectionId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_NetworkAddressUrlDataType networkAddressUrl; + memset(&networkAddressUrl, 0, sizeof(networkAddressUrl)); + UA_ExtensionObject *eo = &pubsubConnection->address; + if(eo->encoding == UA_EXTENSIONOBJECT_DECODED && + eo->content.decoded.type == &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]) { + void *data = eo->content.decoded.data; + retVal = + UA_NetworkAddressUrlDataType_copy((UA_NetworkAddressUrlDataType *)data, + &networkAddressUrl); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + } + + UA_PubSubConnectionConfig connectionConfig; + memset(&connectionConfig, 0, sizeof(UA_PubSubConnectionConfig)); + connectionConfig.transportProfileUri = pubsubConnection->transportProfileUri; + connectionConfig.name = pubsubConnection->name; + //TODO set real connection state + connectionConfig.enabled = pubsubConnection->enabled; + //connectionConfig.enabled = pubSubConnection.enabled; + UA_Variant_setScalar(&connectionConfig.address, &networkAddressUrl, + &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); + + if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_BYTE]) { + connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_BYTE; + connectionConfig.publisherId.byte = *((UA_Byte*)pubsubConnection->publisherId.data); + } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_UINT16]) { + connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_UINT16; + connectionConfig.publisherId.uint16 = *((UA_UInt16*)pubsubConnection->publisherId.data); + } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_UINT32]) { + connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_UINT32; + connectionConfig.publisherId.uint32 = *((UA_UInt32*)pubsubConnection->publisherId.data); + } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_UINT64]) { + connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_UINT64; + connectionConfig.publisherId.uint64 = *((UA_UInt64*)pubsubConnection->publisherId.data); + } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_STRING]) { + connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_STRING; + UA_String_copy((UA_String *) pubsubConnection->publisherId.data, + &connectionConfig.publisherId.string); + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Unsupported PublisherId Type used."); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + retVal |= UA_PubSubConnection_create(server, &connectionConfig, connectionId); + UA_NetworkAddressUrlDataType_clear(&networkAddressUrl); + return retVal; +} + +/** + * **WriterGroup handling** + * + * The WriterGroup (WG) is part of the connection and contains the primary + * configuration parameters for the message creation. */ +static UA_StatusCode +addWriterGroupConfig(UA_Server *server, UA_NodeId connectionId, + UA_WriterGroupDataType *writerGroup, UA_NodeId *writerGroupId){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Now we create a new WriterGroupConfig and add the group to the existing + * PubSubConnection. */ + UA_WriterGroupConfig writerGroupConfig; + memset(&writerGroupConfig, 0, sizeof(UA_WriterGroupConfig)); + writerGroupConfig.name = writerGroup->name; + writerGroupConfig.publishingInterval = writerGroup->publishingInterval; + writerGroupConfig.enabled = writerGroup->enabled; + writerGroupConfig.writerGroupId = writerGroup->writerGroupId; + writerGroupConfig.priority = writerGroup->priority; + + UA_ExtensionObject *eoWG = &writerGroup->messageSettings; + UA_UadpWriterGroupMessageDataType uadpWriterGroupMessage; + UA_JsonWriterGroupMessageDataType jsonWriterGroupMessage; + if(eoWG->encoding == UA_EXTENSIONOBJECT_DECODED){ + writerGroupConfig.messageSettings.encoding = UA_EXTENSIONOBJECT_DECODED; + if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]){ + writerGroupConfig.encodingMimeType = UA_PUBSUB_ENCODING_UADP; + if(UA_UadpWriterGroupMessageDataType_copy( + (UA_UadpWriterGroupMessageDataType *)eoWG->content.decoded.data, + &uadpWriterGroupMessage) != UA_STATUSCODE_GOOD) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + writerGroupConfig.messageSettings.content.decoded.type = &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]; + writerGroupConfig.messageSettings.content.decoded.data = &uadpWriterGroupMessage; + } else if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]) { + writerGroupConfig.encodingMimeType = UA_PUBSUB_ENCODING_JSON; + if(UA_JsonWriterGroupMessageDataType_copy( + (UA_JsonWriterGroupMessageDataType *)eoWG->content.decoded.data, + &jsonWriterGroupMessage) != UA_STATUSCODE_GOOD) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + writerGroupConfig.messageSettings.content.decoded.type = &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]; + writerGroupConfig.messageSettings.content.decoded.data = &jsonWriterGroupMessage; + } + } + + eoWG = &writerGroup->transportSettings; + UA_BrokerWriterGroupTransportDataType brokerWriterGroupTransport; + UA_DatagramWriterGroupTransportDataType datagramWriterGroupTransport; + if(eoWG->encoding == UA_EXTENSIONOBJECT_DECODED) { + writerGroupConfig.transportSettings.encoding = UA_EXTENSIONOBJECT_DECODED; + if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]) { + if(UA_BrokerWriterGroupTransportDataType_copy( + (UA_BrokerWriterGroupTransportDataType*)eoWG->content.decoded.data, + &brokerWriterGroupTransport) != UA_STATUSCODE_GOOD) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + writerGroupConfig.transportSettings.content.decoded.type = &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]; + writerGroupConfig.transportSettings.content.decoded.data = &brokerWriterGroupTransport; + } else if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]) { + if(UA_DatagramWriterGroupTransportDataType_copy( + (UA_DatagramWriterGroupTransportDataType *)eoWG->content.decoded.data, + &datagramWriterGroupTransport) != UA_STATUSCODE_GOOD) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + writerGroupConfig.transportSettings.content.decoded.type = &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]; + writerGroupConfig.transportSettings.content.decoded.data = &datagramWriterGroupTransport; + } + } + if (writerGroupConfig.encodingMimeType == UA_PUBSUB_ENCODING_JSON + && (writerGroupConfig.transportSettings.encoding != UA_EXTENSIONOBJECT_DECODED || + writerGroupConfig.transportSettings.content.decoded.type != + &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE])) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "JSON encoding is supported only for MQTT transport"); + return UA_STATUSCODE_BADCONFIGURATIONERROR; + } + + return UA_WriterGroup_create(server, connectionId, &writerGroupConfig, writerGroupId); +} + +/** + * **DataSetWriter handling** + * + * A DataSetWriter (DSW) is the glue between the WG and the PDS. The DSW is + * linked to exactly one PDS and contains additional informations for the + * message generation. */ +static UA_StatusCode +addDataSetWriterConfig(UA_Server *server, const UA_NodeId *writerGroupId, + UA_DataSetWriterDataType *dataSetWriter, + UA_NodeId *dataSetWriterId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_NodeId publishedDataSetId = UA_NODEID_NULL; + UA_PublishedDataSet *tmpPDS; + TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry){ + if(UA_String_equal(&dataSetWriter->dataSetName, &tmpPDS->config.name)) { + publishedDataSetId = tmpPDS->identifier; + break; + } + } + + if(UA_NodeId_isNull(&publishedDataSetId)) + return UA_STATUSCODE_BADPARENTNODEIDINVALID; + + /* We need now a DataSetWriter within the WriterGroup. This means we must + * create a new DataSetWriterConfig and add call the addWriterGroup function. */ + UA_DataSetWriterConfig dataSetWriterConfig; + memset(&dataSetWriterConfig, 0, sizeof(UA_DataSetWriterConfig)); + dataSetWriterConfig.name = dataSetWriter->name; + dataSetWriterConfig.dataSetWriterId = dataSetWriter->dataSetWriterId; + dataSetWriterConfig.keyFrameCount = dataSetWriter->keyFrameCount; + dataSetWriterConfig.dataSetFieldContentMask = dataSetWriter->dataSetFieldContentMask; + return UA_DataSetWriter_create(server, *writerGroupId, publishedDataSetId, + &dataSetWriterConfig, dataSetWriterId); +} + +/** + * **ReaderGroup** + * + * ReaderGroup is used to group a list of DataSetReaders. All ReaderGroups are + * created within a PubSubConnection and automatically deleted if the connection + * is removed. All network message related filters are only available in the DataSetReader. */ +/* Add ReaderGroup to the created connection */ +static UA_StatusCode +addReaderGroupConfig(UA_Server *server, UA_NodeId connectionId, + UA_ReaderGroupDataType *readerGroup, + UA_NodeId *readerGroupId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_ReaderGroupConfig readerGroupConfig; + memset(&readerGroupConfig, 0, sizeof(UA_ReaderGroupConfig)); + readerGroupConfig.name = readerGroup->name; + return UA_ReaderGroup_create(server, connectionId, + &readerGroupConfig, readerGroupId); +} + +/** + * **SubscribedDataSet** + * + * Set SubscribedDataSet type to TargetVariables data type. + * Add subscribedvariables to the DataSetReader */ +static UA_StatusCode +addSubscribedVariables(UA_Server *server, UA_NodeId dataSetReaderId, + UA_DataSetReaderDataType *dataSetReader, + UA_DataSetMetaDataType *pMetaData) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_ExtensionObject *eoTargetVar = &dataSetReader->subscribedDataSet; + if(eoTargetVar->encoding != UA_EXTENSIONOBJECT_DECODED || + eoTargetVar->content.decoded.type != &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + + const UA_TargetVariablesDataType *targetVars = + (UA_TargetVariablesDataType*)eoTargetVar->content.decoded.data; + + UA_NodeId folderId; + UA_String folderName = pMetaData->name; + UA_ObjectAttributes oAttr = UA_ObjectAttributes_default; + UA_QualifiedName folderBrowseName; + if(folderName.length > 0) { + oAttr.displayName.locale = UA_STRING(""); + oAttr.displayName.text = folderName; + folderBrowseName.namespaceIndex = 1; + folderBrowseName.name = folderName; + } else { + oAttr.displayName = UA_LOCALIZEDTEXT("", "Subscribed Variables"); + folderBrowseName = UA_QUALIFIEDNAME(1, "Subscribed Variables"); + } + + addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NULL, + UA_NODEID_NUMERIC (0, UA_NS0ID_OBJECTSFOLDER), + UA_NODEID_NUMERIC (0, UA_NS0ID_ORGANIZES), + folderBrowseName, + UA_NODEID_NUMERIC (0, UA_NS0ID_BASEOBJECTTYPE), + &oAttr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &folderId); + + /* The SubscribedDataSet option TargetVariables defines a list of Variable + * mappings between received DataSet fields and target Variables in the + * Subscriber AddressSpace. The values subscribed from the Publisher are + * updated in the value field of these variables */ + + /* Create the TargetVariables with respect to DataSetMetaData fields */ + UA_FieldTargetVariable *targetVarsData = (UA_FieldTargetVariable *) + UA_calloc(targetVars->targetVariablesSize, sizeof(UA_FieldTargetVariable)); + for(size_t i = 0; i < targetVars->targetVariablesSize; i++) { + /* Prepare the output structure */ + UA_FieldTargetDataType_init(&targetVarsData[i].targetVariable); + targetVarsData[i].targetVariable.attributeId = targetVars->targetVariables[i].attributeId; + + /* Add variable for the field */ + UA_VariableAttributes vAttr = UA_VariableAttributes_default; + vAttr.description = pMetaData->fields[i].description; + vAttr.displayName.locale = UA_STRING(""); + vAttr.displayName.text = pMetaData->fields[i].name; + vAttr.dataType = pMetaData->fields[i].dataType; + UA_QualifiedName varname = {1, pMetaData->fields[i].name}; + retVal |= addNode(server, UA_NODECLASS_VARIABLE, + targetVars->targetVariables[i].targetNodeId, + folderId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + varname, UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), + &vAttr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], + NULL, &targetVarsData[i].targetVariable.targetNodeId); + + } + UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderId); + if(dsr) { + retVal = DataSetReader_createTargetVariables(server, dsr, + targetVars->targetVariablesSize, + targetVarsData); + } else { + retVal = UA_STATUSCODE_BADINTERNALERROR; + } + for(size_t j = 0; j < targetVars->targetVariablesSize; j++) + UA_FieldTargetDataType_clear(&targetVarsData[j].targetVariable); + UA_free(targetVarsData); + return retVal; +} + +/** + * **DataSetReader** + * + * DataSetReader can receive NetworkMessages with the DataSetMessage + * of interest sent by the Publisher. DataSetReader provides + * the configuration necessary to receive and process DataSetMessages + * on the Subscriber side. DataSetReader must be linked with a + * SubscribedDataSet and be contained within a ReaderGroup. */ +static UA_StatusCode +addDataSetReaderConfig(UA_Server *server, UA_NodeId readerGroupId, + UA_DataSetReaderDataType *dataSetReader, + UA_NodeId *dataSetReaderId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_DataSetReaderConfig readerConfig; + memset(&readerConfig, 0, sizeof(UA_DataSetReaderConfig)); + readerConfig.name = dataSetReader->name; + readerConfig.publisherId = dataSetReader->publisherId; + readerConfig.writerGroupId = dataSetReader->writerGroupId; + readerConfig.dataSetWriterId = dataSetReader->dataSetWriterId; + + /* Setting up Meta data configuration in DataSetReader */ + UA_DataSetMetaDataType *pMetaData; + pMetaData = &readerConfig.dataSetMetaData; + UA_DataSetMetaDataType_init (pMetaData); + pMetaData->name = dataSetReader->dataSetMetaData.name; + pMetaData->fieldsSize = dataSetReader->dataSetMetaData.fieldsSize; + pMetaData->fields = (UA_FieldMetaData*)UA_Array_new (pMetaData->fieldsSize, + &UA_TYPES[UA_TYPES_FIELDMETADATA]); + for(size_t i = 0; i < pMetaData->fieldsSize; i++){ + UA_FieldMetaData_init (&pMetaData->fields[i]); + UA_NodeId_copy (&dataSetReader->dataSetMetaData.fields[i].dataType, + &pMetaData->fields[i].dataType); + pMetaData->fields[i].builtInType = dataSetReader->dataSetMetaData.fields[i].builtInType; + pMetaData->fields[i].name = dataSetReader->dataSetMetaData.fields[i].name; + pMetaData->fields[i].valueRank = dataSetReader->dataSetMetaData.fields[i].valueRank; + } + + retVal |= UA_DataSetReader_create(server, readerGroupId, + &readerConfig, dataSetReaderId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_free(pMetaData->fields); + return retVal; + } + + retVal |= addSubscribedVariables(server, *dataSetReaderId, dataSetReader, pMetaData); + UA_free(pMetaData->fields); + return retVal; +} + +/*************************************************/ +/* PubSubConnection */ +/*************************************************/ + +UA_StatusCode +addPubSubConnectionRepresentation(UA_Server *server, UA_PubSubConnection *connection) { + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + if(connection->config.name.length > 512) + return UA_STATUSCODE_BADOUTOFMEMORY; + char connectionName[513]; + memcpy(connectionName, connection->config.name.data, connection->config.name.length); + connectionName[connection->config.name.length] = '\0'; + + UA_ObjectAttributes attr = UA_ObjectAttributes_default; + attr.displayName = UA_LOCALIZEDTEXT("", connectionName); + retVal |= addNode_begin(server, UA_NODECLASS_OBJECT, + UA_NODEID_NUMERIC(1, 0), /* Generate a new id */ + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPUBSUBCONNECTION), + UA_QUALIFIEDNAME(0, connectionName), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE), + (const UA_NodeAttributes*)&attr, + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &connection->identifier); + + attr.displayName = UA_LOCALIZEDTEXT("", "Address"); + retVal |= addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), + connection->identifier, UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, "Address"), + UA_NODEID_NUMERIC(0, UA_NS0ID_NETWORKADDRESSURLTYPE), + &attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], NULL, NULL); + + retVal |= addNode_finish(server, &server->adminSession, &connection->identifier); + + UA_NodeId addressNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "Address"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + connection->identifier); + UA_NodeId urlNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "Url"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), addressNode); + UA_NodeId interfaceNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "NetworkInterface"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), addressNode); + UA_NodeId publisherIdNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), connection->identifier); + UA_NodeId connectionPropertyNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "ConnectionProperties"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + connection->identifier); + UA_NodeId transportProfileUri = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "TransportProfileUri"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + connection->identifier); + + if(UA_NodeId_isNull(&addressNode) || UA_NodeId_isNull(&urlNode) || + UA_NodeId_isNull(&interfaceNode) || UA_NodeId_isNull(&publisherIdNode) || + UA_NodeId_isNull(&connectionPropertyNode) || + UA_NodeId_isNull(&transportProfileUri)) { + return UA_STATUSCODE_BADNOTFOUND; + } + + retVal |= writePubSubNs0VariableArray(server, connectionPropertyNode, + connection->config.connectionProperties.map, + connection->config.connectionProperties.mapSize, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + + UA_NetworkAddressUrlDataType *networkAddressUrl= + ((UA_NetworkAddressUrlDataType*)connection->config.address.data); + UA_Variant value; + UA_Variant_init(&value); + + UA_Variant_setScalar(&value, &networkAddressUrl->url, &UA_TYPES[UA_TYPES_STRING]); + writeValueAttribute(server, urlNode, &value); + + UA_Variant_setScalar(&value, &networkAddressUrl->networkInterface, &UA_TYPES[UA_TYPES_STRING]); + writeValueAttribute(server, interfaceNode, &value); + + UA_Variant_setScalar(&value, &connection->config.transportProfileUri, &UA_TYPES[UA_TYPES_STRING]); + writeValueAttribute(server, transportProfileUri, &value); + + UA_NodePropertyContext *connectionPublisherIdContext = + (UA_NodePropertyContext *)UA_malloc(sizeof(UA_NodePropertyContext)); + connectionPublisherIdContext->parentNodeId = connection->identifier; + connectionPublisherIdContext->parentClassifier = UA_NS0ID_PUBSUBCONNECTIONTYPE; + connectionPublisherIdContext->elementClassiefier = + UA_NS0ID_PUBSUBCONNECTIONTYPE_PUBLISHERID; + UA_ValueCallback valueCallback; + valueCallback.onRead = onRead; + valueCallback.onWrite = NULL; + retVal |= addVariableValueSource(server, valueCallback, publisherIdNode, + connectionPublisherIdContext); + + if(server->config.pubSubConfig.enableInformationModelMethods) { + retVal |= addRef(server, connection->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP), true); + retVal |= addRef(server, connection->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP), true); + retVal |= addRef(server, connection->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP), true); + } + return retVal; +} + +static UA_StatusCode +addPubSubConnectionLocked(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_PubSubConnectionDataType *pubSubConnection = + (UA_PubSubConnectionDataType *) input[0].data; + + //call API function and create the connection + UA_NodeId connectionId; + retVal |= addPubSubConnectionConfig(server, pubSubConnection, &connectionId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addPubSubConnection failed"); + return retVal; + } + + for(size_t i = 0; i < pubSubConnection->writerGroupsSize; i++) { + UA_NodeId writerGroupId; + UA_WriterGroupDataType *writerGroup = &pubSubConnection->writerGroups[i]; + retVal |= addWriterGroupConfig(server, connectionId, writerGroup, &writerGroupId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addWriterGroup failed"); + return retVal; + } + + for(size_t j = 0; j < writerGroup->dataSetWritersSize; j++) { + UA_DataSetWriterDataType *dataSetWriter = &writerGroup->dataSetWriters[j]; + retVal |= addDataSetWriterConfig(server, &writerGroupId, dataSetWriter, NULL); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addDataSetWriter failed"); + return retVal; + } + } + + /* TODO: Need to handle the UA_Server_setWriterGroupOperational based on + * the status variable in information model */ + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroupId); + if(!wg) + continue; + if(pubSubConnection->enabled) { + UA_WriterGroup_freezeConfiguration(server, wg); + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + } else { + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADINTERNALERROR); + } + } + + for(size_t i = 0; i < pubSubConnection->readerGroupsSize; i++){ + UA_NodeId readerGroupId; + UA_ReaderGroupDataType *readerGroup = &pubSubConnection->readerGroups[i]; + retVal |= addReaderGroupConfig(server, connectionId, readerGroup, &readerGroupId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addReaderGroup failed"); + return retVal; + } + + for(size_t j = 0; j < readerGroup->dataSetReadersSize; j++) { + UA_NodeId dataSetReaderId; + UA_DataSetReaderDataType *dataSetReader = &readerGroup->dataSetReaders[j]; + retVal |= addDataSetReaderConfig(server, readerGroupId, + dataSetReader, &dataSetReaderId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addDataSetReader failed"); + return retVal; + } + + } + + /* TODO: Need to handle the UA_Server_setReaderGroupOperational based on + * the status variable in information model */ + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); + if(!rg) + continue; + if(pubSubConnection->enabled) { + UA_ReaderGroup_freezeConfiguration(server, rg); + UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + } else { + UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_DISABLED, + UA_STATUSCODE_BADINTERNALERROR); + } + } + + /* Set ouput value */ + UA_Variant_setScalarCopy(output, &connectionId, &UA_TYPES[UA_TYPES_NODEID]); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +addPubSubConnectionAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return addPubSubConnectionLocked(server, sessionId, sessionHandle, + methodId, methodContext, + objectId, objectContext, + inputSize, input, outputSize, output); +} + +static UA_StatusCode +removeConnectionAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); + retVal |= UA_Server_removePubSubConnection(server, nodeToRemove); + if(retVal == UA_STATUSCODE_BADNOTFOUND) + retVal = UA_STATUSCODE_BADNODEIDUNKNOWN; + return retVal; +} + +/**********************************************/ +/* DataSetReader */ +/**********************************************/ + +UA_StatusCode +addDataSetReaderRepresentation(UA_Server *server, UA_DataSetReader *dataSetReader){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(dataSetReader->config.name.length > 512) + return UA_STATUSCODE_BADCONFIGURATIONERROR; + + char dsrName[513]; + memcpy(dsrName, dataSetReader->config.name.data, dataSetReader->config.name.length); + dsrName[dataSetReader->config.name.length] = '\0'; + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_NodeId publisherIdNode, writerGroupIdNode, dataSetwriterIdNode; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", dsrName); + retVal = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* create an id */ + dataSetReader->linkedReaderGroup, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASDATASETREADER), + UA_QUALIFIEDNAME(0, dsrName), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETREADERTYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &dataSetReader->identifier); + + /* Add childNodes such as PublisherId, WriterGroupId and DataSetWriterId in + * DataSetReader object */ + publisherIdNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + dataSetReader->identifier); + writerGroupIdNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "WriterGroupId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + dataSetReader->identifier); + dataSetwriterIdNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetWriterId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + dataSetReader->identifier); + + if(UA_NodeId_isNull(&publisherIdNode) || + UA_NodeId_isNull(&writerGroupIdNode) || + UA_NodeId_isNull(&dataSetwriterIdNode)) { + return UA_STATUSCODE_BADNOTFOUND; + } + + UA_NodePropertyContext *dataSetReaderPublisherIdContext = + (UA_NodePropertyContext *) UA_malloc(sizeof(UA_NodePropertyContext)); + dataSetReaderPublisherIdContext->parentNodeId = dataSetReader->identifier; + dataSetReaderPublisherIdContext->parentClassifier = UA_NS0ID_DATASETREADERTYPE; + dataSetReaderPublisherIdContext->elementClassiefier = UA_NS0ID_DATASETREADERTYPE_PUBLISHERID; + UA_ValueCallback valueCallback; + valueCallback.onRead = onRead; + valueCallback.onWrite = NULL; + retVal |= addVariableValueSource(server, valueCallback, publisherIdNode, + dataSetReaderPublisherIdContext); + + /* Update childNode with values from Publisher */ + UA_Variant value; + UA_Variant_init(&value); + UA_Variant_setScalar(&value, &dataSetReader->config.writerGroupId, + &UA_TYPES[UA_TYPES_UINT16]); + writeValueAttribute(server, writerGroupIdNode, &value); + UA_Variant_setScalar(&value, &dataSetReader->config.dataSetWriterId, + &UA_TYPES[UA_TYPES_UINT16]); + writeValueAttribute(server, dataSetwriterIdNode, &value); + return retVal; +} + +static UA_StatusCode +addDataSetReaderLocked(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, *objectId); + if(rg->configurationFrozen) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "AddDataSetReader cannot be done because ReaderGroup config frozen"); + return UA_STATUSCODE_BAD; + } + + UA_NodeId dataSetReaderId; + UA_DataSetReaderDataType *dataSetReader= (UA_DataSetReaderDataType *) input[0].data; + retVal |= addDataSetReaderConfig(server, *objectId, dataSetReader, &dataSetReaderId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "AddDataSetReader failed"); + return retVal; + } + + UA_Variant_setScalarCopy(output, &dataSetReaderId, &UA_TYPES[UA_TYPES_NODEID]); + return retVal; +} + +static UA_StatusCode +addDataSetReaderAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return addDataSetReaderLocked(server, sessionId, sessionHandle, + methodId, methodContext, objectId, objectContext, + inputSize, input, outputSize, output); +} + +static UA_StatusCode +removeDataSetReaderAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_NodeId nodeToRemove = *((UA_NodeId *)input[0].data); + return UA_Server_removeDataSetReader(server, nodeToRemove); +} + +/*************************************************/ +/* PublishedDataSet */ +/*************************************************/ +static UA_StatusCode +addDataSetFolderAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + /* defined in R 1.04 9.1.4.5.7 */ + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_String newFolderName = *((UA_String *) input[0].data); + UA_NodeId generatedId; + UA_ObjectAttributes objectAttributes = UA_ObjectAttributes_default; + UA_LocalizedText name = {UA_STRING(""), newFolderName}; + objectAttributes.displayName = name; + retVal |= UA_Server_addObjectNode(server, UA_NODEID_NULL, *objectId, + UA_NODEID_NUMERIC(0,UA_NS0ID_ORGANIZES), + UA_QUALIFIEDNAME(0, "DataSetFolder"), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE), + objectAttributes, NULL, &generatedId); + UA_Variant_setScalarCopy(output, &generatedId, &UA_TYPES[UA_TYPES_NODEID]); + + if(server->config.pubSubConfig.enableInformationModelMethods) { + retVal |= UA_Server_addReference(server, generatedId, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS), true); + retVal |= UA_Server_addReference(server, generatedId, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET), true); + retVal |= UA_Server_addReference(server, generatedId, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER), true); + retVal |= UA_Server_addReference(server, generatedId, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER), true); + } + return retVal; +} + +static UA_StatusCode +removeDataSetFolderAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); + return UA_Server_deleteNode(server, nodeToRemove, true); +} + +UA_StatusCode +addPublishedDataItemsRepresentation(UA_Server *server, + UA_PublishedDataSet *publishedDataSet) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + if(publishedDataSet->config.name.length > 512) + return UA_STATUSCODE_BADOUTOFMEMORY; + char pdsName[513]; + memcpy(pdsName, publishedDataSet->config.name.data, publishedDataSet->config.name.length); + pdsName[publishedDataSet->config.name.length] = '\0'; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", pdsName); + retVal = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* Create a new id */ + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, pdsName), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &publishedDataSet->identifier); + UA_CHECK_STATUS(retVal, return retVal); + + UA_ValueCallback valueCallback; + valueCallback.onRead = onRead; + valueCallback.onWrite = NULL; + //ToDo: Need to move the browse name from namespaceindex 0 to 1 + UA_NodeId configurationVersionNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "ConfigurationVersion"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + publishedDataSet->identifier); + if(UA_NodeId_isNull(&configurationVersionNode)) + return UA_STATUSCODE_BADNOTFOUND; + + UA_NodePropertyContext *configurationVersionContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + configurationVersionContext->parentNodeId = publishedDataSet->identifier; + configurationVersionContext->parentClassifier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE; + configurationVersionContext->elementClassiefier = + UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CONFIGURATIONVERSION; + retVal |= addVariableValueSource(server, valueCallback, configurationVersionNode, + configurationVersionContext); + + UA_NodeId publishedDataNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishedData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + publishedDataSet->identifier); + if(UA_NodeId_isNull(&publishedDataNode)) + return UA_STATUSCODE_BADNOTFOUND; + + UA_NodePropertyContext * publishingIntervalContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + publishingIntervalContext->parentNodeId = publishedDataSet->identifier; + publishingIntervalContext->parentClassifier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE; + publishingIntervalContext->elementClassiefier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE_PUBLISHEDDATA; + retVal |= addVariableValueSource(server, valueCallback, publishedDataNode, + publishingIntervalContext); + + UA_NodeId dataSetMetaDataNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + publishedDataSet->identifier); + if(UA_NodeId_isNull(&dataSetMetaDataNode)) + return UA_STATUSCODE_BADNOTFOUND; + + UA_NodePropertyContext *metaDataContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + metaDataContext->parentNodeId = publishedDataSet->identifier; + metaDataContext->parentClassifier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE; + metaDataContext->elementClassiefier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETMETADATA; + retVal |= addVariableValueSource(server, valueCallback, + dataSetMetaDataNode, metaDataContext); + + if(server->config.pubSubConfig.enableInformationModelMethods) { + retVal |= addRef(server, publishedDataSet->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES), true); + retVal |= addRef(server, publishedDataSet->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES), true); + } + return retVal; +} + +static UA_StatusCode +addPublishedDataItemsAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + size_t fieldNameAliasesSize = input[1].arrayLength; + UA_String * fieldNameAliases = (UA_String *) input[1].data; + size_t fieldFlagsSize = input[2].arrayLength; + UA_DataSetFieldFlags * fieldFlags = (UA_DataSetFieldFlags *) input[2].data; + size_t variablesToAddSize = input[3].arrayLength; + UA_PublishedVariableDataType *eoAddVar = + (UA_PublishedVariableDataType *)input[3].data; + + if(fieldNameAliasesSize != fieldFlagsSize || + fieldFlagsSize != variablesToAddSize) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_PublishedDataSetConfig publishedDataSetConfig; + memset(&publishedDataSetConfig, 0, sizeof(publishedDataSetConfig)); + publishedDataSetConfig.name = *((UA_String *) input[0].data); + publishedDataSetConfig.publishedDataSetType = UA_PUBSUB_DATASET_PUBLISHEDITEMS; + + UA_NodeId dataSetItemsNodeId; + retVal |= UA_Server_addPublishedDataSet(server, &publishedDataSetConfig, + &dataSetItemsNodeId).addResult; + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addPublishedDataset failed"); + return retVal; + } + + UA_DataSetFieldConfig dataSetFieldConfig; + for(size_t j = 0; j < variablesToAddSize; ++j) { + /* Prepare the config */ + memset(&dataSetFieldConfig, 0, sizeof(UA_DataSetFieldConfig)); + dataSetFieldConfig.dataSetFieldType = UA_PUBSUB_DATASETFIELD_VARIABLE; + dataSetFieldConfig.field.variable.fieldNameAlias = fieldNameAliases[j]; + dataSetFieldConfig.field.variable.publishParameters = eoAddVar[j]; + if(fieldFlags[j] == UA_DATASETFIELDFLAGS_PROMOTEDFIELD) + dataSetFieldConfig.field.variable.promotedField = true; + retVal |= UA_Server_addDataSetField(server, dataSetItemsNodeId, + &dataSetFieldConfig, NULL).result; + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addDataSetField failed"); + return retVal; + } + } + + UA_Variant_setScalarCopy(output, &dataSetItemsNodeId, &UA_TYPES[UA_TYPES_NODEID]); + return retVal; +} + +static UA_StatusCode +addVariablesAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +removeVariablesAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +removePublishedDataSetAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); + return UA_Server_removePublishedDataSet(server, nodeToRemove); +} + +/**********************************************/ +/* StandaloneSubscribedDataSet */ +/**********************************************/ + +UA_StatusCode +addStandaloneSubscribedDataSetRepresentation(UA_Server *server, + UA_StandaloneSubscribedDataSet *subscribedDataSet) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + if(subscribedDataSet->config.name.length > 512) + return UA_STATUSCODE_BADCONFIGURATIONERROR; + + UA_STACKARRAY(char, sdsName, sizeof(char) * subscribedDataSet->config.name.length +1); + memcpy(sdsName, subscribedDataSet->config.name.data, subscribedDataSet->config.name.length); + sdsName[subscribedDataSet->config.name.length] = '\0'; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", sdsName); + addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* Create a new id */ + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, sdsName), + UA_NODEID_NUMERIC(0, UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &subscribedDataSet->identifier); + UA_NodeId sdsObjectNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "SubscribedDataSet"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + subscribedDataSet->identifier); + UA_NodeId metaDataId = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + subscribedDataSet->identifier); + UA_NodeId connectedId = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "IsConnected"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + subscribedDataSet->identifier); + + if(UA_NodeId_equal(&sdsObjectNode, &UA_NODEID_NULL) || + UA_NodeId_equal(&metaDataId, &UA_NODEID_NULL) || + UA_NodeId_equal(&connectedId, &UA_NODEID_NULL)) { + return UA_STATUSCODE_BADNOTFOUND; + } + if(subscribedDataSet->config.subscribedDataSetType == UA_PUBSUB_SDS_TARGET){ + UA_VariableAttributes attr = UA_VariableAttributes_default; + UA_NodeId targetVarsId; + attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariables"); + attr.dataType = UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE].typeId; + attr.valueRank = UA_VALUERANK_ONE_DIMENSION; + attr.arrayDimensionsSize = 1; + UA_UInt32 arrayDimensions[1]; + arrayDimensions[0] = (UA_UInt32) + subscribedDataSet->config.subscribedDataSet.target.targetVariablesSize; + attr.arrayDimensions = arrayDimensions; + attr.accessLevel = UA_ACCESSLEVELMASK_READ; + UA_Variant_setArray(&attr.value, + subscribedDataSet->config.subscribedDataSet.target.targetVariables, + subscribedDataSet->config.subscribedDataSet.target.targetVariablesSize, + &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); + ret |= addNode(server, UA_NODECLASS_VARIABLE, UA_NODEID_NULL, sdsObjectNode, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + UA_QUALIFIEDNAME(0, "TargetVariables"), + UA_NODEID_NUMERIC(0, UA_NS0ID_PROPERTYTYPE), + &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], + NULL, &targetVarsId); + } + + UA_NodePropertyContext *isConnectedNodeContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + isConnectedNodeContext->parentNodeId = subscribedDataSet->identifier; + isConnectedNodeContext->parentClassifier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE; + isConnectedNodeContext->elementClassiefier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_ISCONNECTED; + + UA_ValueCallback valueCallback; + valueCallback.onRead = onRead; + valueCallback.onWrite = NULL; + ret |= addVariableValueSource(server, valueCallback, connectedId, isConnectedNodeContext); + + UA_NodePropertyContext *metaDataContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + metaDataContext->parentNodeId = subscribedDataSet->identifier; + metaDataContext->parentClassifier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE; + metaDataContext->elementClassiefier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_DATASETMETADATA; + ret |= addVariableValueSource(server, valueCallback, metaDataId, metaDataContext); + + return ret; +} + +/**********************************************/ +/* WriterGroup */ +/**********************************************/ + +static UA_StatusCode +readContentMask(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, UA_DataValue *value) { + UA_WriterGroup *writerGroup = (UA_WriterGroup*)nodeContext; + if((writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED && + writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + writerGroup->config.messageSettings.content.decoded.type != + &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) + return UA_STATUSCODE_BADINTERNALERROR; + UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) + writerGroup->config.messageSettings.content.decoded.data; + + UA_Variant_setScalarCopy(&value->value, &wgm->networkMessageContentMask, + &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); + value->hasValue = true; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +writeContentMask(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, const UA_NumericRange *range, + const UA_DataValue *value) { + UA_WriterGroup *writerGroup = (UA_WriterGroup*)nodeContext; + if((writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED && + writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + writerGroup->config.messageSettings.content.decoded.type != + &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) + return UA_STATUSCODE_BADINTERNALERROR; + UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) + writerGroup->config.messageSettings.content.decoded.data; + + if(!value->value.type) + return UA_STATUSCODE_BADTYPEMISMATCH; + if(value->value.type->typeKind != UA_DATATYPEKIND_ENUM && + value->value.type->typeKind != UA_DATATYPEKIND_INT32) + return UA_STATUSCODE_BADTYPEMISMATCH; + + wgm->networkMessageContentMask = *(UA_UadpNetworkMessageContentMask*)value->value.data; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +readGroupVersion(UA_Server *server, const UA_NodeId *sessionId, + void *sessionContext, const UA_NodeId *nodeId, + void *nodeContext, UA_Boolean includeSourceTimeStamp, + const UA_NumericRange *range, UA_DataValue *value) { + UA_WriterGroup *writerGroup = (UA_WriterGroup*)nodeContext; + if((writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED && + writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || + writerGroup->config.messageSettings.content.decoded.type != + &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) + return UA_STATUSCODE_BADINTERNALERROR; + UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) + writerGroup->config.messageSettings.content.decoded.data; + + UA_Variant_setScalarCopy(&value->value, &wgm->groupVersion, + &UA_TYPES[UA_DATATYPEKIND_UINT32]); + value->hasValue = true; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +addWriterGroupRepresentation(UA_Server *server, UA_WriterGroup *writerGroup) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + if(writerGroup->config.name.length > 512) + return UA_STATUSCODE_BADOUTOFMEMORY; + char wgName[513]; + memcpy(wgName, writerGroup->config.name.data, writerGroup->config.name.length); + wgName[writerGroup->config.name.length] = '\0'; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", wgName); + retVal = addNode(server, UA_NODECLASS_OBJECT, + UA_NODEID_NUMERIC(1, 0), /* create a new id */ + writerGroup->linkedConnection->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, wgName), + UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &writerGroup->identifier); + + UA_NodeId keepAliveNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "KeepAliveTime"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + writerGroup->identifier); + UA_NodeId publishingIntervalNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishingInterval"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + writerGroup->identifier); + if(UA_NodeId_isNull(&keepAliveNode) || + UA_NodeId_isNull(&publishingIntervalNode)) + return UA_STATUSCODE_BADNOTFOUND; + + UA_NodePropertyContext * publishingIntervalContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + publishingIntervalContext->parentNodeId = writerGroup->identifier; + publishingIntervalContext->parentClassifier = UA_NS0ID_WRITERGROUPTYPE; + publishingIntervalContext->elementClassiefier = UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL; + UA_ValueCallback valueCallback; + valueCallback.onRead = onRead; + valueCallback.onWrite = onWrite; + retVal |= addVariableValueSource(server, valueCallback, + publishingIntervalNode, publishingIntervalContext); + writeAccessLevelAttribute(server, publishingIntervalNode, + UA_ACCESSLEVELMASK_READ ^ UA_ACCESSLEVELMASK_WRITE); + + UA_NodeId priorityNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "Priority"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + writerGroup->identifier); + UA_NodeId writerGroupIdNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "WriterGroupId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + writerGroup->identifier); + + UA_Variant value; + UA_Variant_init(&value); + UA_Variant_setScalar(&value, &writerGroup->config.publishingInterval, &UA_TYPES[UA_TYPES_DURATION]); + writeValueAttribute(server, publishingIntervalNode, &value); + UA_Variant_setScalar(&value, &writerGroup->config.keepAliveTime, &UA_TYPES[UA_TYPES_DURATION]); + writeValueAttribute(server, keepAliveNode, &value); + UA_Variant_setScalar(&value, &writerGroup->config.priority, &UA_TYPES[UA_TYPES_BYTE]); + writeValueAttribute(server, priorityNode, &value); + UA_Variant_setScalar(&value, &writerGroup->config.writerGroupId, &UA_TYPES[UA_TYPES_UINT16]); + writeValueAttribute(server, writerGroupIdNode, &value); + + object_attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); + retVal |= addNode(server, UA_NODECLASS_OBJECT, + UA_NODEID_NUMERIC(1, 0), + writerGroup->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, "MessageSettings"), + UA_NODEID_NUMERIC(0, UA_NS0ID_UADPWRITERGROUPMESSAGETYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, NULL); + + /* Find the variable with the content mask */ + + UA_NodeId messageSettingsId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "MessageSettings"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + writerGroup->identifier); + UA_NodeId contentMaskId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "NetworkMessageContentMask"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), messageSettingsId); + if(!UA_NodeId_isNull(&contentMaskId)) { + /* Set the callback */ + UA_DataSource ds; + ds.read = readContentMask; + ds.write = writeContentMask; + setVariableNode_dataSource(server, contentMaskId, ds); + setNodeContext(server, contentMaskId, writerGroup); + + /* Make writable */ + writeAccessLevelAttribute(server, contentMaskId, + UA_ACCESSLEVELMASK_WRITE | UA_ACCESSLEVELMASK_READ); + + } + UA_NodeId groupVersionId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "GroupVersion"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), messageSettingsId); + if(!UA_NodeId_isNull(&groupVersionId)) { + /* Set the callback */ + UA_DataSource ds; + ds.read = readGroupVersion; + ds.write = NULL; + setVariableNode_dataSource(server, groupVersionId, ds); + setNodeContext(server, groupVersionId, writerGroup); + + /* Read only */ + writeAccessLevelAttribute(server, groupVersionId, + UA_ACCESSLEVELMASK_READ); + + } + + /* Add reference to methods */ + if(server->config.pubSubConfig.enableInformationModelMethods) { + retVal |= addRef(server, writerGroup->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER), true); + retVal |= addRef(server, writerGroup->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER), true); + } + return retVal; +} + +static UA_StatusCode +addWriterGroupAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_WriterGroupDataType *writerGroup = ((UA_WriterGroupDataType *) input[0].data); + UA_NodeId writerGroupId; + retVal |= addWriterGroupConfig(server, *objectId, writerGroup, &writerGroupId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "addWriterGroup failed"); + return retVal; + } + // TODO: Need to handle the UA_Server_setWriterGroupOperational based on the + // status variable in information model + + UA_Variant_setScalarCopy(output, &writerGroupId, &UA_TYPES[UA_TYPES_NODEID]); + return retVal; +} + +static UA_StatusCode +removeGroupAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_NodeId nodeToRemove = *((UA_NodeId *)input->data); + if(UA_WriterGroup_findWGbyId(server, nodeToRemove)) { + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, nodeToRemove); + if(wg->configurationFrozen) + UA_Server_unfreezeWriterGroupConfiguration(server, nodeToRemove); + return UA_Server_removeWriterGroup(server, nodeToRemove); + } else { + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, nodeToRemove); + if(rg->configurationFrozen) + UA_Server_unfreezeReaderGroupConfiguration(server, nodeToRemove); + return UA_Server_removeReaderGroup(server, nodeToRemove); + } +} + +/**********************************************/ +/* ReserveIds */ +/**********************************************/ + +static UA_StatusCode +addReserveIdsLocked(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_String transportProfileUri = *((UA_String *)input[0].data); + UA_UInt16 numRegWriterGroupIds = *((UA_UInt16 *)input[1].data); + UA_UInt16 numRegDataSetWriterIds = *((UA_UInt16 *)input[2].data); + + UA_UInt16 *writerGroupIds; + UA_UInt16 *dataSetWriterIds; + + retVal |= UA_PubSubManager_reserveIds(server, *sessionId, numRegWriterGroupIds, + numRegDataSetWriterIds, transportProfileUri, + &writerGroupIds, &dataSetWriterIds); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "addReserveIds failed"); + return retVal; + } + + /* Check the transportProfileUri */ + UA_String profile_1 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-uadp"); + UA_String profile_2 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-json"); + + if(UA_String_equal(&transportProfileUri, &profile_1) || + UA_String_equal(&transportProfileUri, &profile_2)) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, "ApplicationUri: %.*s", + (int)server->config.applicationDescription.applicationUri.length, + server->config.applicationDescription.applicationUri.data); + retVal |= UA_Variant_setScalarCopy(&output[0], + &server->config.applicationDescription.applicationUri, + &UA_TYPES[UA_TYPES_STRING]); + } else { + retVal |= UA_Variant_setScalarCopy(&output[0], + &server->pubSubManager.defaultPublisherId, + &UA_TYPES[UA_TYPES_UINT64]); + } + + UA_Variant_setArray(&output[1], writerGroupIds, + numRegWriterGroupIds, &UA_TYPES[UA_TYPES_UINT16]); + UA_Variant_setArray(&output[2], dataSetWriterIds, + numRegDataSetWriterIds, &UA_TYPES[UA_TYPES_UINT16]); + + return retVal; +} + +static UA_StatusCode +addReserveIdsAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return addReserveIdsLocked(server, sessionId, sessionHandle, + methodId, methodContext, objectId, objectContext, + inputSize, input, outputSize, output); +} + +/**********************************************/ +/* ReaderGroup */ +/**********************************************/ + +UA_StatusCode +addReaderGroupRepresentation(UA_Server *server, UA_ReaderGroup *readerGroup) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(readerGroup->config.name.length > 512) + return UA_STATUSCODE_BADCONFIGURATIONERROR; + char rgName[513]; + memcpy(rgName, readerGroup->config.name.data, readerGroup->config.name.length); + rgName[readerGroup->config.name.length] = '\0'; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", rgName); + UA_StatusCode retVal = + addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* create an id */ + readerGroup->linkedConnection->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, rgName), UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &readerGroup->identifier); + if(server->config.pubSubConfig.enableInformationModelMethods) { + retVal |= addRef(server, readerGroup->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER), true); + retVal |= addRef(server, readerGroup->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER), true); + } + return retVal; +} + +static UA_StatusCode +addReaderGroupAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_ReaderGroupDataType *readerGroup = ((UA_ReaderGroupDataType *) input->data); + UA_NodeId readerGroupId; + retVal |= addReaderGroupConfig(server, *objectId, readerGroup, &readerGroupId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "addReaderGroup failed"); + return retVal; + } + // TODO: Need to handle the UA_Server_setReaderGroupOperational based on the + // status variable in information model + + UA_Variant_setScalarCopy(output, &readerGroupId, &UA_TYPES[UA_TYPES_NODEID]); + return retVal; +} + +#ifdef UA_ENABLE_PUBSUB_SKS +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL +static UA_Boolean +isValidParentNode(UA_Server *server, UA_NodeId parentId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_Boolean retval = true; + const UA_Node *parentNodeType; + const UA_NodeId parentNodeTypeId = + UA_NODEID_NUMERIC(0, UA_NS0ID_SECURITYGROUPFOLDERTYPE); + const UA_Node *parentNode = UA_NODESTORE_GET(server, &parentId); + + if(parentNode) { + parentNodeType = getNodeType(server, &parentNode->head); + if(parentNodeType) { + retval = UA_NodeId_equal(&parentNodeType->head.nodeId, &parentNodeTypeId); + UA_NODESTORE_RELEASE(server, parentNodeType); + } + UA_NODESTORE_RELEASE(server, parentNode); + } + return retval; +} + +static UA_StatusCode +updateSecurityGroupProperties(UA_Server *server, UA_NodeId *securityGroupNodeId, + UA_SecurityGroupConfig *config) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retval = UA_STATUSCODE_BAD; + UA_Variant value; + UA_Variant_init(&value); + UA_Variant_setScalar(&value, &config->securityGroupName, &UA_TYPES[UA_TYPES_STRING]); + retval = writeObjectProperty(server, *securityGroupNodeId, + UA_QUALIFIEDNAME(0, "SecurityGroupId"), value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /*AddValueCallback*/ + UA_Variant_setScalar(&value, &config->securityPolicyUri, &UA_TYPES[UA_TYPES_STRING]); + retval = writeObjectProperty(server, *securityGroupNodeId, + UA_QUALIFIEDNAME(0, "SecurityPolicyUri"), value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + UA_Variant_setScalar(&value, &config->keyLifeTime, &UA_TYPES[UA_TYPES_DURATION]); + retval = writeObjectProperty(server, *securityGroupNodeId, + UA_QUALIFIEDNAME(0, "KeyLifetime"), value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + UA_Variant_setScalar(&value, &config->maxFutureKeyCount, &UA_TYPES[UA_TYPES_UINT32]); + retval = writeObjectProperty(server, *securityGroupNodeId, + UA_QUALIFIEDNAME(0, "MaxFutureKeyCount"), value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + UA_Variant_setScalar(&value, &config->maxPastKeyCount, &UA_TYPES[UA_TYPES_UINT32]); + retval = writeObjectProperty(server, *securityGroupNodeId, + UA_QUALIFIEDNAME(0, "MaxPastKeyCount"), value); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + return retval; +} + +UA_StatusCode +addSecurityGroupRepresentation(UA_Server *server, UA_SecurityGroup *securityGroup) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_StatusCode retval = UA_STATUSCODE_BAD; + + UA_SecurityGroupConfig *securityGroupConfig = &securityGroup->config; + if(!isValidParentNode(server, securityGroup->securityGroupFolderId)) + return UA_STATUSCODE_BADPARENTNODEIDINVALID; + + if(securityGroupConfig->securityGroupName.length <= 0) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_QualifiedName browseName; + UA_QualifiedName_init(&browseName); + browseName.name = securityGroupConfig->securityGroupName; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName.text = securityGroupConfig->securityGroupName; + UA_NodeId refType = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); + UA_NodeId nodeType = UA_NODEID_NUMERIC(0, UA_NS0ID_SECURITYGROUPTYPE); + retval = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NULL, + securityGroup->securityGroupFolderId, refType, + browseName, nodeType, &object_attr, + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], NULL, + &securityGroup->securityGroupNodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Add SecurityGroup failed with error: %s.", + UA_StatusCode_name(retval)); + return retval; + } + + retval = updateSecurityGroupProperties(server, + &securityGroup->securityGroupNodeId, + securityGroupConfig); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Add SecurityGroup failed with error: %s.", + UA_StatusCode_name(retval)); + deleteNode(server, securityGroup->securityGroupNodeId, true); + } + return retval; +} + +#endif /* UA_ENABLE_PUBSUB_INFORMATIONMODEL*/ +#endif /* UA_ENABLE_PUBSUB_SKS */ + +/**********************************************/ +/* DataSetWriter */ +/**********************************************/ + +UA_StatusCode +addDataSetWriterRepresentation(UA_Server *server, UA_DataSetWriter *dataSetWriter) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + if(dataSetWriter->config.name.length > 512) + return UA_STATUSCODE_BADOUTOFMEMORY; + + char dswName[513]; + memcpy(dswName, dataSetWriter->config.name.data, dataSetWriter->config.name.length); + dswName[dataSetWriter->config.name.length] = '\0'; + + UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; + object_attr.displayName = UA_LOCALIZEDTEXT("", dswName); + retVal = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* create an id */ + dataSetWriter->linkedWriterGroup, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASDATASETWRITER), + UA_QUALIFIEDNAME(0, dswName), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETWRITERTYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, &dataSetWriter->identifier); + //if connected dataset is null this means it's configured for heartbeats + if(!UA_NodeId_isNull(&dataSetWriter->connectedDataSet)) { + retVal |= addRef(server, dataSetWriter->connectedDataSet, + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETTOWRITER), + dataSetWriter->identifier, true); + } + + UA_NodeId dataSetWriterIdNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetWriterId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + dataSetWriter->identifier); + UA_NodeId keyFrameNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "KeyFrameCount"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + dataSetWriter->identifier); + UA_NodeId dataSetFieldContentMaskNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetFieldContentMask"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + dataSetWriter->identifier); + + UA_NodePropertyContext *dataSetWriterIdContext = (UA_NodePropertyContext *) + UA_malloc(sizeof(UA_NodePropertyContext)); + dataSetWriterIdContext->parentNodeId = dataSetWriter->identifier; + dataSetWriterIdContext->parentClassifier = UA_NS0ID_DATASETWRITERTYPE; + dataSetWriterIdContext->elementClassiefier = UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERID; + UA_ValueCallback valueCallback; + valueCallback.onRead = onRead; + valueCallback.onWrite = NULL; + retVal |= addVariableValueSource(server, valueCallback, + dataSetWriterIdNode, dataSetWriterIdContext); + + UA_Variant value; + UA_Variant_init(&value); + UA_Variant_setScalar(&value, &dataSetWriter->config.dataSetWriterId, + &UA_TYPES[UA_TYPES_UINT16]); + writeValueAttribute(server, dataSetWriterIdNode, &value); + + UA_Variant_setScalar(&value, &dataSetWriter->config.keyFrameCount, + &UA_TYPES[UA_TYPES_UINT32]); + writeValueAttribute(server, keyFrameNode, &value); + + UA_Variant_setScalar(&value, &dataSetWriter->config.dataSetFieldContentMask, + &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); + writeValueAttribute(server, dataSetFieldContentMaskNode, &value); + + object_attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); + retVal |= addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), + dataSetWriter->identifier, + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_QUALIFIEDNAME(0, "MessageSettings"), + UA_NODEID_NUMERIC(0, UA_NS0ID_UADPDATASETWRITERMESSAGETYPE), + &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, NULL); + + return retVal; +} + +static UA_StatusCode +addDataSetWriterLocked(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, *objectId); + if(!wg) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Not a WriterGroup"); + return UA_STATUSCODE_BAD; + } + if(wg->configurationFrozen) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addDataSetWriter cannot be done because writergroup config frozen"); + return UA_STATUSCODE_BAD; + } + + UA_NodeId dataSetWriterId; + UA_DataSetWriterDataType *dataSetWriterData = (UA_DataSetWriterDataType *)input->data; + retVal |= addDataSetWriterConfig(server, objectId, dataSetWriterData, &dataSetWriterId); + if(retVal != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "addDataSetWriter failed"); + return retVal; + } + + UA_Variant_setScalarCopy(output, &dataSetWriterId, &UA_TYPES[UA_TYPES_NODEID]); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +addDataSetWriterAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return addDataSetWriterLocked(server, sessionId, sessionHandle, + methodId, methodContext, objectId, objectContext, + inputSize, input, outputSize, output); +} + +static UA_StatusCode +removeDataSetWriterAction(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output){ + UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); + return UA_Server_removeDataSetWriter(server, nodeToRemove); +} + +#ifdef UA_ENABLE_PUBSUB_SKS +/** + * @note The user credentials and permissions are checked in the AccessControl plugin + * before this callback is executed. + */ +static UA_StatusCode +setSecurityKeysLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, size_t inputSize, + const UA_Variant *input, size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /*Check whether the channel is encrypted according to specification*/ + session_list_entry *session_entry; + LIST_FOREACH(session_entry, &server->sessions, pointers) { + if(UA_NodeId_equal(&session_entry->session.sessionId, sessionId)) { + if(session_entry->session.header.channel->securityMode != + UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; + } + } + + if(!server || !input) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + if(inputSize < 7) + return UA_STATUSCODE_BADARGUMENTSMISSING; + if(inputSize > 7 || outputSize > 0) + return UA_STATUSCODE_BADTOOMANYARGUMENTS; + + /*check for types*/ + if(!UA_Variant_hasScalarType(&input[0], &UA_TYPES[UA_TYPES_STRING]) || /*SecurityGroupId*/ + !UA_Variant_hasScalarType(&input[1], &UA_TYPES[UA_TYPES_STRING]) || /*SecurityPolicyUri*/ + !UA_Variant_hasScalarType(&input[2], &UA_TYPES[UA_TYPES_INTEGERID]) || /*CurrentTokenId*/ + !UA_Variant_hasScalarType(&input[3], &UA_TYPES[UA_TYPES_BYTESTRING]) || /*CurrentKey*/ + !UA_Variant_hasArrayType(&input[4], &UA_TYPES[UA_TYPES_BYTESTRING]) || /*FutureKeys*/ + (!UA_Variant_hasScalarType(&input[5], &UA_TYPES[UA_TYPES_DURATION]) && + !UA_Variant_hasScalarType(&input[5], &UA_TYPES[UA_TYPES_DOUBLE])) || /*TimeToNextKey*/ + (!UA_Variant_hasScalarType(&input[6], &UA_TYPES[UA_TYPES_DURATION]) && + !UA_Variant_hasScalarType(&input[6], &UA_TYPES[UA_TYPES_DOUBLE]))) /*TimeToNextKey*/ + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_StatusCode retval = UA_STATUSCODE_BAD; + UA_Duration callbackTime; + UA_String *securityGroupId = (UA_String *)input[0].data; + UA_String *securityPolicyUri = (UA_String *)input[1].data; + UA_UInt32 currentKeyId = *(UA_UInt32 *)input[2].data; + UA_ByteString *currentKey = (UA_ByteString *)input[3].data; + UA_ByteString *futureKeys = (UA_ByteString *)input[4].data; + size_t futureKeySize = input[4].arrayLength; + UA_Duration msTimeToNextKey = *(UA_Duration *)input[5].data; + UA_Duration msKeyLifeTime = *(UA_Duration *)input[6].data; + + UA_PubSubKeyStorage *ks = + UA_PubSubKeyStorage_findKeyStorage(server, *securityGroupId); + if(!ks) + return UA_STATUSCODE_BADNOTFOUND; + + if(!UA_String_equal(securityPolicyUri, &ks->policy->policyUri)) + return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + + if(ks->keyListSize == 0) { + retval = UA_PubSubKeyStorage_storeSecurityKeys(server, ks, currentKeyId, + currentKey, futureKeys, futureKeySize, + msKeyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } else { + retval = UA_PubSubKeyStorage_update(server, ks, currentKey, currentKeyId, + futureKeySize, futureKeys, msKeyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + + retval = UA_PubSubKeyStorage_activateKeyToChannelContext(server, UA_NODEID_NULL, + ks->securityGroupID); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_INFO( + server->config.logging, UA_LOGCATEGORY_SERVER, + "Failed to import Symmetric Keys into PubSub Channel Context with %s \n", + UA_StatusCode_name(retval)); + return retval; + } + + callbackTime = msKeyLifeTime; + if(msTimeToNextKey > 0) + callbackTime = msTimeToNextKey; + + /*move to setSecurityKeysAction*/ + retval = UA_PubSubKeyStorage_addKeyRolloverCallback( + server, ks, (UA_ServerCallback)UA_PubSubKeyStorage_keyRolloverCallback, callbackTime, + &ks->callBackId); + return retval; +} + +static UA_StatusCode +setSecurityKeysAction(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, size_t inputSize, + const UA_Variant *input, size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return setSecurityKeysLocked(server, sessionId, sessionHandle, + methodId, methodContext, + objectId, objectContext, inputSize, + input, outputSize, output); +} + +static UA_StatusCode +getSecurityKeysLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, size_t inputSize, + const UA_Variant *input, size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /*Check whether the channel is encrypted according to specification*/ + session_list_entry *session_entry; + LIST_FOREACH(session_entry, &server->sessions, pointers) { + if(UA_NodeId_equal(&session_entry->session.sessionId, sessionId)) { + if(session_entry->session.header.channel->securityMode != + UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; + } + } + + if(!server || !input) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + if(inputSize < 3 || outputSize < 5) + return UA_STATUSCODE_BADARGUMENTSMISSING; + if(inputSize > 3 || outputSize > 5) + return UA_STATUSCODE_BADTOOMANYARGUMENTS; + + /*check for types*/ + if(!UA_Variant_hasScalarType(&input[0], + &UA_TYPES[UA_TYPES_STRING]) || /*SecurityGroupId*/ + !UA_Variant_hasScalarType(&input[1], + &UA_TYPES[UA_TYPES_INTEGERID]) || /*StartingTokenId*/ + !UA_Variant_hasScalarType(&input[2], + &UA_TYPES[UA_TYPES_UINT32])) /*RequestedKeyCount*/ + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_StatusCode retval = UA_STATUSCODE_BAD; + UA_UInt32 currentKeyCount = 1; + /* input */ + UA_String *securityGroupId = (UA_String *)input[0].data; + UA_UInt32 startingTokenId = *(UA_UInt32 *)input[1].data; + UA_UInt32 requestedKeyCount = *(UA_UInt32 *)input[2].data; + + UA_PubSubKeyStorage *ks = + UA_PubSubKeyStorage_findKeyStorage(server, *securityGroupId); + if(!ks) + return UA_STATUSCODE_BADNOTFOUND; + + UA_Boolean executable = false; + UA_SecurityGroup *sg = UA_SecurityGroup_findSGbyName(server, *securityGroupId); + void *sgNodeCtx; + getNodeContext(server, sg->securityGroupNodeId, (void **)&sgNodeCtx); + executable = server->config.accessControl.getUserExecutableOnObject( + server, &server->config.accessControl, sessionId, sessionHandle, methodId, + methodContext, &sg->securityGroupNodeId, sgNodeCtx); + + if(!executable) + return UA_STATUSCODE_BADUSERACCESSDENIED; + + /* If the caller requests a number larger than the Security Key Service permits, then + * the SKS shall return the maximum it allows.*/ + if(requestedKeyCount > sg->config.maxFutureKeyCount) + requestedKeyCount =(UA_UInt32) sg->keyStorage->keyListSize; + else + requestedKeyCount = requestedKeyCount + currentKeyCount; /* Add Current keyCount */ + + /*The current token is requested by passing 0.*/ + UA_PubSubKeyListItem *startingItem = NULL; + if(startingTokenId == 0) { + /* currentItem is always set by the server when a security group is added */ + UA_assert(sg->keyStorage->currentItem != NULL); + startingItem = sg->keyStorage->currentItem; + } else { + retval = UA_PubSubKeyStorage_getKeyByKeyID( + startingTokenId, sg->keyStorage, &startingItem); + /*If the StartingTokenId is unknown, the oldest (firstItem) available tokens are + * returned. */ + if(retval == UA_STATUSCODE_BADNOTFOUND) + startingItem = TAILQ_FIRST(&sg->keyStorage->keyList); + } + + /*SecurityPolicyUri*/ + retval = UA_Variant_setScalarCopy(&output[0], &(sg->keyStorage->policy->policyUri), + &UA_TYPES[UA_TYPES_STRING]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /*FirstTokenId*/ + retval = UA_Variant_setScalarCopy(&output[1], &startingItem->keyID, + &UA_TYPES[UA_TYPES_INTEGERID]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /*TimeToNextKey*/ + UA_DateTime baseTime = sg->baseTime; + UA_DateTime currentTime = UA_DateTime_nowMonotonic(); + UA_Duration interval = sg->config.keyLifeTime; + UA_Duration timeToNextKey = + (UA_Duration)((currentTime - baseTime) / UA_DATETIME_MSEC); + timeToNextKey = interval - timeToNextKey; + retval = UA_Variant_setScalarCopy(&output[3], &timeToNextKey, + &UA_TYPES[UA_TYPES_DURATION]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /*KeyLifeTime*/ + retval = UA_Variant_setScalarCopy(&output[4], &sg->config.keyLifeTime, + &UA_TYPES[UA_TYPES_DURATION]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /*Keys*/ + UA_PubSubKeyListItem *iterator = startingItem; + output[2].data = (UA_ByteString *)UA_calloc(requestedKeyCount, startingItem->key.length); + if(!output[2].data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_ByteString *requestedKeys = (UA_ByteString *)output[2].data; + UA_UInt32 retkeyCount = 0; + for(size_t i = 0; i < requestedKeyCount; i++) { + UA_ByteString_copy(&iterator->key, &requestedKeys[i]); + ++retkeyCount; + iterator = TAILQ_NEXT(iterator, keyListEntry); + if(!iterator) { + requestedKeyCount = retkeyCount; + break; + } + } + + UA_Variant_setArray(&output[2], requestedKeys, requestedKeyCount, &UA_TYPES[UA_TYPES_BYTESTRING]); + return retval; +} + +static UA_StatusCode +getSecurityKeysAction(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, size_t inputSize, + const UA_Variant *input, size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + return getSecurityKeysLocked(server, sessionId, sessionHandle, + methodId, methodContext, + objectId, objectContext, inputSize, + input, outputSize, output); +} +#endif + +/**********************************************/ +/* Destructors */ +/**********************************************/ + +static void +connectionTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "Connection destructor called!"); + UA_NodeId publisherIdNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + UA_NodePropertyContext *ctx; + getNodeContext(server, publisherIdNode, (void **)&ctx); + if(!UA_NodeId_isNull(&publisherIdNode)) + UA_free(ctx); +} + +static void +writerGroupTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "WriterGroup destructor called!"); + UA_NodeId intervalNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishingInterval"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + UA_NodePropertyContext *ctx; + getNodeContext(server, intervalNode, (void **)&ctx); + if(!UA_NodeId_isNull(&intervalNode)) + UA_free(ctx); +} + +static void +readerGroupTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "ReaderGroup destructor called!"); +} + +static void +dataSetWriterTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "DataSetWriter destructor called!"); + UA_NodeId dataSetWriterIdNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetWriterId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + UA_NodePropertyContext *ctx; + getNodeContext(server, dataSetWriterIdNode, (void **)&ctx); + if(!UA_NodeId_isNull(&dataSetWriterIdNode)) + UA_free(ctx); +} + +static void +dataSetReaderTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "DataSetReader destructor called!"); + UA_NodeId publisherIdNode = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + UA_NodePropertyContext *ctx; + getNodeContext(server, publisherIdNode, (void **)&ctx); + if(!UA_NodeId_isNull(&publisherIdNode)) + UA_free(ctx); +} + +static void +publishedDataItemsTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "PublishedDataItems destructor called!"); + void *childContext; + UA_NodeId node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishedData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + getNodeContext(server, node, (void**)&childContext); + if(!UA_NodeId_isNull(&node)) + UA_free(childContext); + + node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "ConfigurationVersion"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + *nodeId); + getNodeContext(server, node, (void**)&childContext); + if(!UA_NodeId_isNull(&node)) + UA_free(childContext); + + node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + getNodeContext(server, node, (void**)&childContext); + if(!UA_NodeId_isNull(&node)) + UA_free(childContext); +} + +static void +standaloneSubscribedDataSetTypeDestructor(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *typeId, void *typeContext, + const UA_NodeId *nodeId, void **nodeContext) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, + "Standalone SubscribedDataSet destructor called!"); + void *childContext; + UA_NodeId node = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); + getNodeContext(server, node, (void**)&childContext); + if(!UA_NodeId_equal(&UA_NODEID_NULL , &node)) + UA_free(childContext); + node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "IsConnected"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + *nodeId); + getNodeContext(server, node, (void**)&childContext); + if(!UA_NodeId_equal(&UA_NODEID_NULL , &node)) + UA_free(childContext); +} + +/*************************************/ +/* PubSub configurator */ +/*************************************/ + +#ifdef UA_ENABLE_PUBSUB_FILE_CONFIG + +/* Callback function that will be executed when the method "PubSub configurator + * (replace config)" is called. */ +static UA_StatusCode +UA_loadPubSubConfigMethodCallback(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(inputSize == 1) { + UA_ByteString *inputStr = (UA_ByteString*)input->data; + UA_StatusCode res = UA_PubSubManager_loadPubSubConfigFromByteString(server, *inputStr); + return res; + } else if(inputSize > 1) { + return UA_STATUSCODE_BADTOOMANYARGUMENTS; + } else { + return UA_STATUSCODE_BADARGUMENTSMISSING; + } +} + +/* Callback function that will be executed when the method "PubSub configurator + * (delete config)" is called. */ +static UA_StatusCode +UA_deletePubSubConfigMethodCallback(UA_Server *server, + const UA_NodeId *sessionId, void *sessionHandle, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext, + size_t inputSize, const UA_Variant *input, + size_t outputSize, UA_Variant *output) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_PubSubManager_delete(server, &server->pubSubManager); + return UA_STATUSCODE_GOOD; +} + +#endif + +UA_StatusCode +initPubSubNS0(UA_Server *server) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + UA_String profileArray[1]; + profileArray[0] = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-udp-uadp"); + + retVal |= writePubSubNs0VariableArray(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_SUPPORTEDTRANSPORTPROFILES), + profileArray, 1, &UA_TYPES[UA_TYPES_STRING]); + + if(server->config.pubSubConfig.enableInformationModelMethods) { + /* Add missing references */ + retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER), true); + retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS), true); + retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET), true); + retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER), true); + + /* Set method callbacks */ + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION), addPubSubConnectionAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION), removeConnectionAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER), addDataSetFolderAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER), removeDataSetFolderAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS), addPublishedDataItemsAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET), removePublishedDataSetAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES), addVariablesAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES), removeVariablesAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP), addWriterGroupAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP), addReaderGroupAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP), removeGroupAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER), addDataSetWriterAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER), removeDataSetWriterAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER), addDataSetReaderAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER), removeDataSetReaderAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS), addReserveIdsAction); +#ifdef UA_ENABLE_PUBSUB_SKS + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_SETSECURITYKEYS), setSecurityKeysAction); + retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS), getSecurityKeysAction); +#endif + +#ifdef UA_ENABLE_PUBSUB_FILE_CONFIG + /* Adds method node to server. This method is used to load binary files for + * PubSub configuration and delete / replace old PubSub configurations. */ + UA_Argument inputArgument; + UA_Argument_init(&inputArgument); + inputArgument.description = UA_LOCALIZEDTEXT("", "PubSub config binfile"); + inputArgument.name = UA_STRING("BinFile"); + inputArgument.dataType = UA_TYPES[UA_TYPES_BYTESTRING].typeId; + inputArgument.valueRank = UA_VALUERANK_SCALAR; + + UA_MethodAttributes configAttr = UA_MethodAttributes_default; + configAttr.description = UA_LOCALIZEDTEXT("","Load binary configuration file"); + configAttr.displayName = UA_LOCALIZEDTEXT("","LoadPubSubConfigurationFile"); + configAttr.executable = true; + configAttr.userExecutable = true; + retVal |= addMethodNode(server, UA_NODEID_NULL, + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASORDEREDCOMPONENT), + UA_QUALIFIEDNAME(1, "PubSub configuration"), + &configAttr, UA_loadPubSubConfigMethodCallback, + 1, &inputArgument, UA_NODEID_NULL, NULL, + 0, NULL, UA_NODEID_NULL, NULL, + NULL, NULL); + + /* Adds method node to server. This method is used to delete the current + * PubSub configuration. */ + configAttr.description = UA_LOCALIZEDTEXT("","Delete current PubSub configuration"); + configAttr.displayName = UA_LOCALIZEDTEXT("","DeletePubSubConfiguration"); + configAttr.executable = true; + configAttr.userExecutable = true; + retVal |= addMethodNode(server, UA_NODEID_NULL, + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASORDEREDCOMPONENT), + UA_QUALIFIEDNAME(1, "Delete PubSub config"), + &configAttr, UA_deletePubSubConfigMethodCallback, + 0, NULL, UA_NODEID_NULL, NULL, + 0, NULL, UA_NODEID_NULL, NULL, + NULL, NULL); +#endif + } else { + /* Remove methods */ + retVal |= deleteReference(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), true, + UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION), + false); + retVal |= deleteReference(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), true, + UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION), + false); + } + + /* Set the object-type destructors */ + UA_NodeTypeLifecycle lifeCycle; + lifeCycle.constructor = NULL; + + lifeCycle.destructor = connectionTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE), + lifeCycle); + + lifeCycle.destructor = writerGroupTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE), + lifeCycle); + + lifeCycle.destructor = readerGroupTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE), + lifeCycle); + + lifeCycle.destructor = dataSetWriterTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETWRITERTYPE), + lifeCycle); + + lifeCycle.destructor = publishedDataItemsTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE), + lifeCycle); + + lifeCycle.destructor = dataSetReaderTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETREADERTYPE), + lifeCycle); + + lifeCycle.destructor = standaloneSubscribedDataSetTypeDestructor; + retVal |= setNodeTypeLifecycle(server, + UA_NODEID_NUMERIC(0, UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE), + lifeCycle); + + return retVal; +} + +UA_StatusCode +connectDataSetReaderToDataSet(UA_Server *server, UA_NodeId dsrId, UA_NodeId standaloneSdsId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retVal = UA_STATUSCODE_GOOD; + + UA_NodeId dataSetMetaDataOnDsrId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), dsrId); + UA_NodeId subscribedDataSetOnDsrId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "SubscribedDataSet"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), dsrId); + UA_NodeId dataSetMetaDataOnSdsId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), standaloneSdsId); + UA_NodeId subscribedDataSetOnSdsId = + findSingleChildNode(server, UA_QUALIFIEDNAME(0, "SubscribedDataSet"), + UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), standaloneSdsId); + + if(UA_NodeId_isNull(&dataSetMetaDataOnDsrId) || + UA_NodeId_isNull(&subscribedDataSetOnDsrId) || + UA_NodeId_isNull(&dataSetMetaDataOnSdsId) || + UA_NodeId_isNull(&subscribedDataSetOnSdsId)) + return UA_STATUSCODE_BADNOTFOUND; + + UA_NODESTORE_REMOVE(server, &dataSetMetaDataOnDsrId); + UA_NODESTORE_REMOVE(server, &subscribedDataSetOnDsrId); + + retVal |= addRef(server, dsrId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + UA_NODEID_NUMERIC(dataSetMetaDataOnSdsId.namespaceIndex, + dataSetMetaDataOnSdsId.identifier.numeric), true); + retVal |= addRef(server, dsrId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), + UA_NODEID_NUMERIC(subscribedDataSetOnSdsId.namespaceIndex, + subscribedDataSetOnSdsId.identifier.numeric), true); + + return retVal; +} + +#endif /* UA_ENABLE_PUBSUB_INFORMATIONMODEL */ + +/**** amalgamated original file "/src/pubsub/ua_pubsub_keystorage.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2019 ifak e.V. Magdeburg (Holger Zipper) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + + +#ifdef UA_ENABLE_PUBSUB_SKS /* conditional compilation */ + +#define UA_REQ_CURRENT_TOKEN 0 + + +UA_PubSubKeyStorage * +UA_PubSubKeyStorage_findKeyStorage(UA_Server *server, UA_String securityGroupId) { + if(!server || UA_String_isEmpty(&securityGroupId)) + return NULL; + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PubSubKeyStorage *outKeyStorage; + LIST_FOREACH(outKeyStorage, &server->pubSubManager.pubSubKeyList, keyStorageList) { + if(UA_String_equal(&outKeyStorage->securityGroupID, &securityGroupId)) + return outKeyStorage; + } + return NULL; +} + +UA_PubSubSecurityPolicy * +findPubSubSecurityPolicy(UA_Server *server, const UA_String *securityPolicyUri) { + if(!server || !securityPolicyUri) + return NULL; + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_ServerConfig *config = &server->config; + for(size_t i = 0; i < config->pubSubConfig.securityPoliciesSize; i++) { + if(UA_String_equal(securityPolicyUri, + &config->pubSubConfig.securityPolicies[i].policyUri)) + return &config->pubSubConfig.securityPolicies[i]; + } + return NULL; +} + +static void +UA_PubSubKeyStorage_clearKeyList(UA_PubSubKeyStorage *keyStorage) { + if(TAILQ_EMPTY(&keyStorage->keyList)) + return; + + UA_PubSubKeyListItem *item, *item_tmp; + TAILQ_FOREACH_SAFE(item, &keyStorage->keyList, keyListEntry, item_tmp) { + TAILQ_REMOVE(&keyStorage->keyList, item, keyListEntry); + UA_ByteString_clear(&item->key); + UA_free(item); + } + keyStorage->keyListSize = 0; +} + +void +UA_PubSubKeyStorage_delete(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { + UA_assert(keyStorage != NULL); + UA_assert(server != NULL); + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Remove callback */ + if(!keyStorage->callBackId != 0) { + removeCallback(server, keyStorage->callBackId); + keyStorage->callBackId = 0; + } + + UA_PubSubKeyStorage_clearKeyList(keyStorage); + UA_String_clear(&keyStorage->securityGroupID); + UA_ClientConfig_clear(&keyStorage->sksConfig.clientConfig); + UA_free(keyStorage); +} + +UA_StatusCode +UA_PubSubKeyStorage_init(UA_Server *server, UA_PubSubKeyStorage *keyStorage, + const UA_String *securityGroupId, + UA_PubSubSecurityPolicy *policy, + UA_UInt32 maxPastKeyCount, UA_UInt32 maxFutureKeyCount) { + UA_StatusCode res = UA_String_copy(securityGroupId, &keyStorage->securityGroupID); + if(res != UA_STATUSCODE_GOOD) + return res; + + UA_UInt32 currentkeyCount = 1; + keyStorage->maxPastKeyCount = maxPastKeyCount; + keyStorage->maxFutureKeyCount = maxFutureKeyCount; + keyStorage->maxKeyListSize = maxPastKeyCount + currentkeyCount + maxFutureKeyCount; + keyStorage->policy = policy; + + /* Add this keystorage to the server keystoragelist */ + LIST_INSERT_HEAD(&server->pubSubManager.pubSubKeyList, keyStorage, keyStorageList); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_PubSubKeyStorage_storeSecurityKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage, + UA_UInt32 currentTokenId, const UA_ByteString *currentKey, + UA_ByteString *futureKeys, size_t futureKeyCount, + UA_Duration msKeyLifeTime) { + UA_assert(server); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode retval = UA_STATUSCODE_BAD; + + if(futureKeyCount > 0 && !futureKeys) { + retval = UA_STATUSCODE_BADARGUMENTSMISSING; + goto error; + } + + size_t keyNumber = futureKeyCount; + + if(currentKey && keyStorage->keyListSize == 0) { + + keyStorage->keyListSize++; + UA_PubSubKeyListItem *keyItem = + (UA_PubSubKeyListItem *)UA_calloc(1, sizeof(UA_PubSubKeyListItem)); + if(!keyItem) + goto error; + retval = UA_ByteString_copy(currentKey, &keyItem->key); + if(UA_StatusCode_isBad(retval)) + goto error; + + keyItem->keyID = currentTokenId; + + TAILQ_INIT(&keyStorage->keyList); + TAILQ_INSERT_HEAD(&keyStorage->keyList, keyItem, keyListEntry); + } + + UA_PubSubKeyListItem *keyListIterator = TAILQ_FIRST(&keyStorage->keyList); + UA_UInt32 startingTokenID = currentTokenId + 1; + for(size_t i = 0; i < keyNumber; ++i) { + retval = UA_PubSubKeyStorage_getKeyByKeyID( + startingTokenID, keyStorage, &keyListIterator); + /*Skipping key with matching KeyID in existing list*/ + if(retval == UA_STATUSCODE_BADNOTFOUND) { + keyListIterator = UA_PubSubKeyStorage_push(keyStorage, &futureKeys[i], startingTokenID); + if(!keyListIterator) + goto error; + + keyStorage->keyListSize++; + } + if(startingTokenID == UA_UINT32_MAX) + startingTokenID = 1; + else + ++startingTokenID; + } + + /*update keystorage references*/ + retval = UA_PubSubKeyStorage_getKeyByKeyID(currentTokenId, keyStorage, &keyStorage->currentItem); + if (retval != UA_STATUSCODE_GOOD && !keyStorage->currentItem) + goto error; + + keyStorage->keyLifeTime = msKeyLifeTime; + + return retval; +error: + if(keyStorage) { + UA_PubSubKeyStorage_clearKeyList(keyStorage); + } + return retval; +} + +UA_StatusCode +UA_PubSubKeyStorage_getKeyByKeyID(const UA_UInt32 keyId, UA_PubSubKeyStorage *keyStorage, + UA_PubSubKeyListItem **keyItem) { + + if(!keyStorage) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_PubSubKeyListItem *item; + TAILQ_FOREACH(item, &keyStorage->keyList, keyListEntry){ + if(item->keyID == keyId) { + *keyItem = item; + return UA_STATUSCODE_GOOD; + } + } + return UA_STATUSCODE_BADNOTFOUND; +} + +UA_PubSubKeyListItem * +UA_PubSubKeyStorage_push(UA_PubSubKeyStorage *keyStorage, const UA_ByteString *key, + UA_UInt32 keyID) { + UA_PubSubKeyListItem *newItem = (UA_PubSubKeyListItem *)malloc(sizeof(UA_PubSubKeyListItem)); + if (!newItem) + return NULL; + + newItem->keyID = keyID; + UA_ByteString_copy(key, &newItem->key); + TAILQ_INSERT_TAIL(&keyStorage->keyList, newItem, keyListEntry); + + return TAILQ_LAST(&keyStorage->keyList, keyListItems); +} + +UA_StatusCode +UA_PubSubKeyStorage_addKeyRolloverCallback(UA_Server *server, + UA_PubSubKeyStorage *keyStorage, + UA_ServerCallback callback, + UA_Duration timeToNextMs, + UA_UInt64 *callbackID) { + if(!server || !keyStorage || !callback || timeToNextMs <= 0) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_EventLoop *el = server->config.eventLoop; + if(*callbackID != 0) + el->removeCyclicCallback(el, *callbackID); + + UA_DateTime dateTimeToNextKey = UA_DateTime_nowMonotonic() + + (UA_DateTime)(UA_DATETIME_MSEC * timeToNextMs); + return el->addTimedCallback(el, (UA_Callback)callback, server, keyStorage, + dateTimeToNextKey, callbackID); +} + +static UA_StatusCode +splitCurrentKeyMaterial(UA_PubSubKeyStorage *keyStorage, UA_ByteString *signingKey, + UA_ByteString *encryptingKey, UA_ByteString *keyNonce) { + if(!keyStorage) + return UA_STATUSCODE_BADNOTFOUND; + + if(!keyStorage->policy) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_PubSubSecurityPolicy *policy = keyStorage->policy; + + UA_ByteString key = keyStorage->currentItem->key; + + /*Check the main key length is the same according to policy*/ + if(key.length != policy->symmetricModule.secureChannelNonceLength) + return UA_STATUSCODE_BADINTERNALERROR; + + /*Get Key Length according to policy*/ + size_t signingkeyLength = + policy->symmetricModule.cryptoModule.signatureAlgorithm.getLocalKeyLength(NULL); + size_t encryptkeyLength = + policy->symmetricModule.cryptoModule.encryptionAlgorithm.getLocalKeyLength(NULL); + /*Rest of the part is the keyNonce*/ + size_t keyNonceLength = key.length - signingkeyLength - encryptkeyLength; + + /*DivideKeys in origin ByteString*/ + signingKey->data = key.data; + signingKey->length = signingkeyLength; + + encryptingKey->data = key.data + signingkeyLength; + encryptingKey->length = encryptkeyLength; + + keyNonce->data = key.data + signingkeyLength + encryptkeyLength; + keyNonce->length = keyNonceLength; + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setPubSubGroupEncryptingKey(UA_Server *server, UA_NodeId PubSubGroupId, UA_UInt32 securityTokenId, + UA_ByteString signingKey, UA_ByteString encryptingKey, + UA_ByteString keyNonce) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_StatusCode retval = + setWriterGroupEncryptionKeys(server, PubSubGroupId, securityTokenId, + signingKey, encryptingKey, keyNonce); + if(retval == UA_STATUSCODE_BADNOTFOUND) + retval = setReaderGroupEncryptionKeys(server, PubSubGroupId, securityTokenId, + signingKey, encryptingKey, keyNonce); + return retval; +} + +static UA_StatusCode +setPubSubGroupEncryptingKeyForMatchingSecurityGroupId(UA_Server *server, + UA_String securityGroupId, + UA_UInt32 securityTokenId, + UA_ByteString signingKey, + UA_ByteString encryptingKey, + UA_ByteString keyNonce) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_StatusCode retval = UA_STATUSCODE_BAD; + UA_PubSubConnection *tmpPubSubConnections; + + /* Key storage is the same for all reader / writer groups, channel context isn't + * => Update channelcontext in all Writergroups / ReaderGroups which have the same + * securityGroupId*/ + TAILQ_FOREACH(tmpPubSubConnections, &server->pubSubManager.connections, listEntry) { + /* For each writerGroup in server with matching SecurityGroupId */ + UA_WriterGroup *tmpWriterGroup; + LIST_FOREACH(tmpWriterGroup, &tmpPubSubConnections->writerGroups, listEntry) { + if(UA_String_equal(&tmpWriterGroup->config.securityGroupId, &securityGroupId)) { + retval = setWriterGroupEncryptionKeys(server, tmpWriterGroup->identifier, + securityTokenId, signingKey, + encryptingKey, keyNonce); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + } + + /* For each readerGroup in server with matching SecurityGroupId */ + UA_ReaderGroup *tmpReaderGroup; + LIST_FOREACH(tmpReaderGroup, &tmpPubSubConnections->readerGroups, listEntry) { + if(UA_String_equal(&tmpReaderGroup->config.securityGroupId, &securityGroupId)) { + retval = setReaderGroupEncryptionKeys(server, tmpReaderGroup->identifier, + securityTokenId, signingKey, + encryptingKey, keyNonce); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + } + } + return retval; +} + +UA_StatusCode +UA_PubSubKeyStorage_activateKeyToChannelContext(UA_Server *server, UA_NodeId pubSubGroupId, + UA_String securityGroupId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(securityGroupId.data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_PubSubKeyStorage *keyStorage = + UA_PubSubKeyStorage_findKeyStorage(server, securityGroupId); + if(!keyStorage) + return UA_STATUSCODE_BADNOTFOUND; + + if(!keyStorage->policy && !(keyStorage->keyListSize > 0)) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_UInt32 securityTokenId = keyStorage->currentItem->keyID; + + /*DivideKeys in origin ByteString*/ + UA_ByteString signingKey; + UA_ByteString encryptKey; + UA_ByteString keyNonce; + UA_StatusCode retval = splitCurrentKeyMaterial(keyStorage, &signingKey, + &encryptKey, &keyNonce); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + if(!UA_NodeId_isNull(&pubSubGroupId)) + retval = setPubSubGroupEncryptingKey(server, pubSubGroupId, securityTokenId, + signingKey, encryptKey, keyNonce); + else + retval = setPubSubGroupEncryptingKeyForMatchingSecurityGroupId( + server, securityGroupId, securityTokenId, signingKey, encryptKey, keyNonce); + + if(retval != UA_STATUSCODE_GOOD) + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Failed to set Encrypting keys with Error: %s", + UA_StatusCode_name(retval)); + + return retval; +} + +static void +nextGetSecuritykeysCallback(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { + UA_StatusCode retval = UA_STATUSCODE_BAD; + if(!keyStorage) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "GetSecurityKeysCall Failed with error: KeyStorage does not exist " + "in the server"); + return; + } + retval = getSecurityKeysAndStoreFetchedKeys(server, keyStorage); + if(retval != UA_STATUSCODE_GOOD) + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "GetSecurityKeysCall Failed with error: %s ", + UA_StatusCode_name(retval)); +} + +void +UA_PubSubKeyStorage_keyRolloverCallback(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { + /* Callbacks from the EventLoop are initially unlocked */ + lockServer(server); + UA_StatusCode retval = + UA_PubSubKeyStorage_addKeyRolloverCallback(server, keyStorage, + (UA_ServerCallback)UA_PubSubKeyStorage_keyRolloverCallback, + keyStorage->keyLifeTime, &keyStorage->callBackId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Failed to update keys for security group id '%.*s'. Reason: '%s'.", + (int)keyStorage->securityGroupID.length, + keyStorage->securityGroupID.data, UA_StatusCode_name(retval)); + } + + if(keyStorage->currentItem != TAILQ_LAST(&keyStorage->keyList, keyListItems)) { + keyStorage->currentItem = TAILQ_NEXT(keyStorage->currentItem, keyListEntry); + keyStorage->currentTokenId = keyStorage->currentItem->keyID; + retval = UA_PubSubKeyStorage_activateKeyToChannelContext(server, UA_NODEID_NULL, + keyStorage->securityGroupID); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Failed to update keys for security group id '%.*s'. Reason: '%s'.", + (int)keyStorage->securityGroupID.length, keyStorage->securityGroupID.data, + UA_StatusCode_name(retval)); + } + } else if(keyStorage->sksConfig.endpointUrl && keyStorage->sksConfig.reqId == 0) { + UA_DateTime now = UA_DateTime_nowMonotonic(); + /*Publishers using a central SKS shall call GetSecurityKeys at a period of half the KeyLifetime */ + UA_Duration msTimeToNextGetSecurityKeys = keyStorage->keyLifeTime / 2; + UA_DateTime dateTimeToNextGetSecurityKeys = + now + (UA_DateTime)(UA_DATETIME_MSEC * msTimeToNextGetSecurityKeys); + retval = server->config.eventLoop->addTimedCallback( + server->config.eventLoop, (UA_Callback)nextGetSecuritykeysCallback, server, + keyStorage, dateTimeToNextGetSecurityKeys, NULL); + } + unlockServer(server); +} + +UA_StatusCode +UA_PubSubKeyStorage_update(UA_Server *server, UA_PubSubKeyStorage *keyStorage, + const UA_ByteString *currentKey, UA_UInt32 currentKeyID, + const size_t futureKeySize, UA_ByteString *futureKeys, + UA_Duration msKeyLifeTime) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + if(!keyStorage) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + UA_PubSubKeyListItem *keyListIterator = NULL; + + if(currentKeyID != 0){ + /* If currentKeyId is known then update keystorage currentItem */ + retval = UA_PubSubKeyStorage_getKeyByKeyID(currentKeyID, keyStorage, + &keyListIterator); + if(retval == UA_STATUSCODE_GOOD && keyListIterator) { + keyStorage->currentItem = keyListIterator; + /* Add new keys at the end of KeyList */ + retval = UA_PubSubKeyStorage_storeSecurityKeys(server, keyStorage, currentKeyID, + NULL, futureKeys, futureKeySize, + msKeyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } else if(retval == UA_STATUSCODE_BADNOTFOUND) { + /* If the CurrentTokenId is unknown, the existing list shall be + * discarded and replaced by the fetched list */ + UA_PubSubKeyStorage_clearKeyList(keyStorage); + retval = UA_PubSubKeyStorage_storeSecurityKeys(server, keyStorage, + currentKeyID, currentKey, futureKeys, + futureKeySize, msKeyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + } + return retval; +} + +void +UA_PubSubKeyStorage_detachKeyStorage(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + keyStorage->referenceCount--; + if(keyStorage->referenceCount == 0) { + LIST_REMOVE(keyStorage, keyStorageList); + UA_PubSubKeyStorage_delete(server, keyStorage); + } +} + +/** + * @brief It holds the information required in the async callback to + * GetSecurityKeys method Call. + */ +typedef struct { + UA_Server *server; + UA_PubSubKeyStorage *ks; + UA_UInt32 startingTokenId; + UA_UInt32 requestedKeyCount; + UA_DelayedCallback dc; +} sksClientContext; + +static void sksClientCleanupCb(void *client, void *context); + +static void +addDelayedSksClientCleanupCb(UA_Client *client, sksClientContext *context) { + /* Register at most once */ + if(context->dc.application != NULL) + return; + context->dc.application = client; + context->dc.callback = sksClientCleanupCb; + context->dc.context = context; + client->config.eventLoop->addDelayedCallback(client->config.eventLoop, &context->dc); +} + +static void +sksClientCleanupCb(void *client, void *context) { + UA_Client *sksClient = (UA_Client *)client; + sksClientContext *ctx = (sksClientContext*)context; + + /* we do not want to call state change Callback when cleaning up */ + sksClient->config.stateCallback = NULL; + + if(sksClient->sessionState > UA_SESSIONSTATE_CLOSED && + sksClient->channel.state < UA_SECURECHANNELSTATE_CLOSED) { + sksClient->config.eventLoop-> + addDelayedCallback(sksClient->config.eventLoop, &ctx->dc); + UA_Client_disconnectAsync(sksClient); + return; + } + + if(sksClient->channel.state == UA_SECURECHANNELSTATE_CLOSED) { + /* We cannot make deep copy of the following pointers because these have + * internal structures, therefore we do not free them here. These will + * be freed in UA_PubSubKeyStorage_delete. */ + sksClient->config.securityPolicies = NULL; + sksClient->config.securityPoliciesSize = 0; + sksClient->config.authSecurityPolicies = NULL; + sksClient->config.authSecurityPoliciesSize = 0; + sksClient->config.certificateVerification.context = NULL; + sksClient->config.logging = NULL; + sksClient->config.clientContext = NULL; + UA_Client_delete(sksClient); + UA_free(context); + } else { + sksClient->config.eventLoop-> + addDelayedCallback(sksClient->config.eventLoop, &ctx->dc); + } +} + +static void +storeFetchedKeys(UA_Client *client, void *userdata, UA_UInt32 requestId, + UA_CallResponse *response) { + + sksClientContext *ctx = (sksClientContext *)userdata; + UA_PubSubKeyStorage *ks = ctx->ks; + UA_Server *server = ctx->server; + UA_StatusCode retval = response->responseHeader.serviceResult; + + lockServer(server); + /* check if the call to getSecurityKeys was a success */ + if(response->resultsSize != 0) + retval = response->results->statusCode; + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "SKS Client: Failed to call GetSecurityKeys on SKS server with error: %s ", + UA_StatusCode_name(retval)); + goto cleanup; + } + + UA_String *securityPolicyUri = (UA_String *)response->results->outputArguments[0].data; + UA_UInt32 firstTokenId = *(UA_UInt32 *)response->results->outputArguments[1].data; + UA_ByteString *keys = (UA_ByteString *)response->results->outputArguments[2].data; + UA_ByteString *currentKey = &keys[0]; + UA_UInt32 currentKeyCount = 1; + UA_ByteString *futureKeys = &keys[currentKeyCount]; + size_t futureKeySize = response->results->outputArguments[2].arrayLength - currentKeyCount; + UA_Duration msKeyLifeTime = *(UA_Duration *)response->results->outputArguments[4].data; + + if(!UA_String_equal(securityPolicyUri, &ks->policy->policyUri)) { + retval = UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + goto cleanup; + } + + if(ks->keyListSize == 0) { + retval = UA_PubSubKeyStorage_storeSecurityKeys(server, ks, firstTokenId, + currentKey, futureKeys, + futureKeySize, msKeyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + } else { + retval = UA_PubSubKeyStorage_update(server, ks, currentKey, firstTokenId, + futureKeySize, futureKeys, msKeyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + } + + /** + * After a new batch of keys is fetched from SKS server, the key storage is updated + * with new keys and new keylifetime. Also the remaining time for current + * keyRollover is also returned. When setting a new keyRollover callback, the + * previous callback must be removed so that the keyRollover does not happen twice + */ + if(ks->callBackId != 0) { + server->config.eventLoop->removeCyclicCallback(server->config.eventLoop, + ks->callBackId); + ks->callBackId = 0; + } + + UA_Duration msTimeToNextKey = + *(UA_Duration *)response->results->outputArguments[3].data; + if(!(msTimeToNextKey > 0)) + msTimeToNextKey = ks->keyLifeTime; + retval = UA_PubSubKeyStorage_addKeyRolloverCallback( + server, ks, (UA_ServerCallback)UA_PubSubKeyStorage_keyRolloverCallback, + msTimeToNextKey, &ks->callBackId); + +cleanup: + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Failed to store the fetched keys from SKS server with error: %s", + UA_StatusCode_name(retval)); + } + /* call user callback to notify about the status */ + if(ks->sksConfig.userNotifyCallback) + ks->sksConfig.userNotifyCallback(server, retval, ks->sksConfig.context); + ks->sksConfig.reqId = 0; + UA_Client_disconnectAsync(client); + addDelayedSksClientCleanupCb(client, ctx); + + unlockServer(server); +} + +static UA_StatusCode +callGetSecurityKeysMethod(UA_Client *client) { + + sksClientContext *ctx = (sksClientContext *)client->config.clientContext; + + UA_Variant inputArguments[3]; + UA_Variant_setScalar(&inputArguments[0], &ctx->ks->securityGroupID, + &UA_TYPES[UA_TYPES_STRING]); + UA_Variant_setScalar(&inputArguments[1], &ctx->startingTokenId, + &UA_TYPES[UA_TYPES_UINT32]); + UA_Variant_setScalar(&inputArguments[2], &ctx->requestedKeyCount, + &UA_TYPES[UA_TYPES_UINT32]); + + UA_NodeId objectId = UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE); + UA_NodeId methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS); + size_t inputArgumentsSize = 3; + + UA_StatusCode retval = UA_Client_call_async(client, objectId, methodId, inputArgumentsSize, + inputArguments, storeFetchedKeys, (void *)ctx, &ctx->ks->sksConfig.reqId); + return retval; +} + +static void +onConnect(UA_Client *client, UA_SecureChannelState channelState, + UA_SessionState sessionState, UA_StatusCode connectStatus) { + UA_Boolean triggerSKSCleanup = false; + if(connectStatus != UA_STATUSCODE_GOOD && + connectStatus != UA_STATUSCODE_BADNOTCONNECTED && + sessionState != UA_SESSIONSTATE_ACTIVATED) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "SKS Client: Failed to connect SKS server with error: %s ", + UA_StatusCode_name(connectStatus)); + triggerSKSCleanup = true; + } + if(connectStatus == UA_STATUSCODE_GOOD && sessionState == UA_SESSIONSTATE_ACTIVATED) { + connectStatus = callGetSecurityKeysMethod(client); + if(connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_SERVER, + "SKS Client: Failed to call GetSecurityKeys on SKS server with " + "error: %s ", + UA_StatusCode_name(connectStatus)); + triggerSKSCleanup = true; + } + } + if(triggerSKSCleanup) { + /* call user callback to notify about the status */ + sksClientContext *ctx = (sksClientContext *)client->config.clientContext; + UA_PubSubKeyStorage *ks = ctx->ks; + if(ks->sksConfig.userNotifyCallback) + ks->sksConfig.userNotifyCallback(ctx->server, connectStatus, + ks->sksConfig.context); + UA_Client_disconnectAsync(client); + addDelayedSksClientCleanupCb(client, ctx); + } +} + +static void +setServerEventloopOnSksClient(UA_ClientConfig *cc, UA_EventLoop *externalEventloop) { + UA_assert(externalEventloop != NULL); + cc->eventLoop = externalEventloop; + cc->externalEventLoop = true; +} + +UA_StatusCode +getSecurityKeysAndStoreFetchedKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { + UA_StatusCode retval = UA_STATUSCODE_BAD; + UA_UInt32 startingTokenId = UA_REQ_CURRENT_TOKEN; + UA_UInt32 requestKeyCount = UA_UINT32_MAX; + + if(keyStorage->sksConfig.reqId != 0) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "SKS Client: SKS Pull request in process "); + return UA_STATUSCODE_GOOD; + } + + UA_ClientConfig cc; + memset(&cc, 0, sizeof(UA_ClientConfig)); + + /* over write the client config with user specified SKS config */ + retval = UA_ClientConfig_copy(&keyStorage->sksConfig.clientConfig, &cc); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + setServerEventloopOnSksClient(&cc, server->config.eventLoop); + + /* this is cleanedup in sksClientCleanupCb */ + sksClientContext *ctx = (sksClientContext *)UA_calloc(1, sizeof(sksClientContext)); + if(!ctx) + return UA_STATUSCODE_BADOUTOFMEMORY; + ctx->ks = keyStorage; + ctx->server = server; + ctx->startingTokenId = startingTokenId; + ctx->requestedKeyCount = requestKeyCount; + cc.clientContext = ctx; + + UA_Client *client = UA_Client_newWithConfig(&cc); + if(!client) + return retval; + /* connect to sks server */ + retval = UA_Client_connectAsync(client, keyStorage->sksConfig.endpointUrl); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Failed to connect SKS server with error: %s ", + UA_StatusCode_name(retval)); + /* Make sure the client channel state is closed and not fresh, otherwise, eventloop will + keep waiting for the client status to go from Fresh to closed in UA_Client_delete*/ + client->channel.state = UA_SECURECHANNELSTATE_CLOSED; + /* this client instance will be cleared in the next event loop iteration */ + addDelayedSksClientCleanupCb(client, ctx); + return retval; + } + + /* add user specified callback, if the client is properly configured. */ + client->config.stateCallback = onConnect; + + return retval; +} + +UA_StatusCode +UA_Server_setSksClient(UA_Server *server, UA_String securityGroupId, + UA_ClientConfig *clientConfig, const char *endpointUrl, + UA_Server_sksPullRequestCallback callback, void *context) { + if(!server || !clientConfig || !endpointUrl) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode retval = UA_STATUSCODE_BADNOTFOUND; + lockServer(server); + UA_PubSubKeyStorage *ks = UA_PubSubKeyStorage_findKeyStorage(server, securityGroupId); + if(!ks) { + unlockServer(server); + return retval; + } + + UA_ClientConfig_copy(clientConfig, &ks->sksConfig.clientConfig); + /*Clear the content of original config, so that no body can access the original config */ + clientConfig->authSecurityPolicies = NULL; + clientConfig->certificateVerification.context = NULL; + clientConfig->eventLoop = NULL; + clientConfig->logging = NULL; + clientConfig->securityPolicies = NULL; + UA_ClientConfig_clear(clientConfig); + + ks->sksConfig.endpointUrl = endpointUrl; + ks->sksConfig.userNotifyCallback = callback; + ks->sksConfig.context = context; + /* if keys are not previously fetched, then first call GetSecurityKeys*/ + if(ks->keyListSize == 0) { + retval = getSecurityKeysAndStoreFetchedKeys(server, ks); + } + unlockServer(server); + return retval; +} + +#endif + +/**** amalgamated original file "/src/pubsub/ua_pubsub_securitygroup.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2019 ifak e.V. Magdeburg (Holger Zipper) + * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) + */ + + + +#ifdef UA_ENABLE_PUBSUB_SKS /* conditional compilation */ + + +#define UA_PUBSUB_KEYMATERIAL_NONCELENGTH 32 + +UA_SecurityGroup * +UA_SecurityGroup_findSGbyName(UA_Server *server, UA_String securityGroupName) { + UA_SecurityGroup *tmpSG; + TAILQ_FOREACH(tmpSG, &server->pubSubManager.securityGroups, listEntry) { + if(UA_String_equal(&securityGroupName, &tmpSG->config.securityGroupName)) + return tmpSG; + } + return NULL; +} + +UA_StatusCode +UA_SecurityGroupConfig_copy(const UA_SecurityGroupConfig *src, + UA_SecurityGroupConfig *dst) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + memcpy(dst, src, sizeof(UA_SecurityGroupConfig)); + if(UA_String_copy(&src->securityGroupName, &dst->securityGroupName) != + UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BAD; + + if(UA_String_copy(&src->securityPolicyUri, &dst->securityPolicyUri) != + UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BAD; + return retval; +} + +static UA_StatusCode +generateKeyData(const UA_PubSubSecurityPolicy *policy, UA_ByteString *key) { + if(!key || !policy) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode retVal; + + /* Can't not found in specification for pubsub key generation, so use the idea of + * securechannel, see specification 1.0.3 6.7.5 Deriving keys for more details + In pubsub we do get have OpenSecureChannel request, so we cannot have Client or Server Nonce*/ + UA_Byte secretBytes[UA_PUBSUB_KEYMATERIAL_NONCELENGTH]; + UA_ByteString secret; + secret.length = UA_PUBSUB_KEYMATERIAL_NONCELENGTH; + secret.data = secretBytes; + + UA_Byte seedBytes[UA_PUBSUB_KEYMATERIAL_NONCELENGTH]; + UA_ByteString seed; + seed.data = seedBytes; + seed.length = UA_PUBSUB_KEYMATERIAL_NONCELENGTH; + memset(seed.data, 0, seed.length); + retVal = policy->symmetricModule.generateNonce(policy->policyContext, &secret); + retVal |= policy->symmetricModule.generateNonce(policy->policyContext, &seed); + if(retVal != UA_STATUSCODE_GOOD) + return retVal; + + retVal = policy->symmetricModule.generateKey(policy->policyContext, &secret, &seed, key); + return retVal; +} + +static void +updateSKSKeyStorage(UA_Server *server, UA_SecurityGroup *securityGroup){ + + if(!securityGroup) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_PUBSUB, + "UpdateSKSKeyStorage callback failed with Error: %s ", + UA_StatusCode_name(UA_STATUSCODE_BADINVALIDARGUMENT)); + return; + } + + UA_PubSubKeyStorage *keyStorage = securityGroup->keyStorage; + + UA_StatusCode retval = UA_STATUSCODE_BAD; + UA_ByteString newKey; + size_t keyLength = keyStorage->policy->symmetricModule.secureChannelNonceLength; + + retval = UA_ByteString_allocBuffer(&newKey, keyLength); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_PUBSUB, + "UpdateSKSKeyStorage callback failed to allocate memory for new key with Error: %s ", + UA_StatusCode_name(retval)); + return; + } + + generateKeyData(keyStorage->policy, &newKey); + UA_UInt32 newKeyID = TAILQ_LAST(&keyStorage->keyList, keyListItems)->keyID; + + if(newKeyID >= UA_UINT32_MAX) + newKeyID = 1; + else + ++newKeyID; + + if(keyStorage->keyListSize >= keyStorage->maxKeyListSize) { + /* reusing the preallocated memory of the oldest key for the new key material */ + UA_PubSubKeyListItem *oldestKey = TAILQ_FIRST(&keyStorage->keyList); + TAILQ_REMOVE(&keyStorage->keyList, oldestKey, keyListEntry); + TAILQ_INSERT_TAIL(&keyStorage->keyList, oldestKey, keyListEntry); + UA_ByteString_clear(&oldestKey->key); + oldestKey->keyID = newKeyID; + UA_ByteString_copy(&newKey, &oldestKey->key); + } else { + UA_PubSubKeyListItem *newItem = + UA_PubSubKeyStorage_push(keyStorage, &newKey, newKeyID); + if(!newItem) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_PUBSUB, + "UpdateSKSKeyStorage callback failed to add new key to the " + "sks keystorage for the SecurityGroup %.*s", + (int)securityGroup->securityGroupId.length, + securityGroup->securityGroupId.data); + UA_Byte_delete(newKey.data); + return; + } + keyStorage->keyListSize++; + } + + UA_PubSubKeyListItem *nextCurrentItem = TAILQ_NEXT(keyStorage->currentItem, keyListEntry); + if(nextCurrentItem) + keyStorage->currentItem = nextCurrentItem; + + securityGroup->baseTime = UA_DateTime_nowMonotonic(); + + /* We allocated memory for data with allocBuffer so now we free it */ + UA_ByteString_clear(&newKey); +} + +static UA_StatusCode +initializeKeyStorageWithKeys(UA_Server *server, UA_SecurityGroup *securityGroup) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PubSubSecurityPolicy *policy = + findPubSubSecurityPolicy(server, &securityGroup->config.securityPolicyUri); + if(!policy) + return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + + UA_PubSubKeyStorage *ks = (UA_PubSubKeyStorage *) + UA_calloc(1, sizeof(UA_PubSubKeyStorage)); + if(!ks) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_StatusCode retval = + UA_PubSubKeyStorage_init(server, ks, &securityGroup->securityGroupId, + policy, securityGroup->config.maxPastKeyCount, + securityGroup->config.maxFutureKeyCount); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(ks); + return retval; + } + + ks->referenceCount++; + securityGroup->keyStorage = ks; + + UA_ByteString currentKey; + size_t keyLength = ks->policy->symmetricModule.secureChannelNonceLength; + retval = UA_ByteString_allocBuffer(¤tKey, keyLength); + retval = generateKeyData(ks->policy, ¤tKey); + + UA_ByteString *futurekeys = (UA_ByteString *)UA_calloc(securityGroup->config.maxFutureKeyCount, sizeof(UA_ByteString)); + for(size_t i = 0; i < securityGroup->config.maxFutureKeyCount; i++) { + retval = UA_ByteString_allocBuffer(&futurekeys[i], keyLength); + retval = generateKeyData(ks->policy, &futurekeys[i]); + } + + UA_UInt32 startingKeyId = 1; + retval = UA_PubSubKeyStorage_storeSecurityKeys(server, securityGroup->keyStorage, + startingKeyId, ¤tKey, futurekeys, + securityGroup->config.maxFutureKeyCount, + securityGroup->config.keyLifeTime); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + securityGroup->baseTime = UA_DateTime_nowMonotonic(); + retval = addRepeatedCallback(server, (UA_ServerCallback)updateSKSKeyStorage, + securityGroup, securityGroup->config.keyLifeTime, + &securityGroup->callbackId); + +cleanup: + UA_Array_delete(futurekeys, securityGroup->config.maxFutureKeyCount, + &UA_TYPES[UA_TYPES_BYTESTRING]); + UA_ByteString_clear(¤tKey); + if(retval != UA_STATUSCODE_GOOD) + UA_PubSubKeyStorage_delete(server, ks); + return retval; +} + +static UA_StatusCode +addSecurityGroup(UA_Server *server, UA_NodeId securityGroupFolderNodeId, + const UA_SecurityGroupConfig *securityGroupConfig, + UA_NodeId *securityGroupNodeId) { + if(!securityGroupConfig) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /*check minimal config parameters*/ + if(!securityGroupConfig->keyLifeTime || + UA_String_isEmpty(&securityGroupConfig->securityGroupName) || + UA_String_isEmpty(&securityGroupConfig->securityPolicyUri)) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + if(UA_SecurityGroup_findSGbyName(server, securityGroupConfig->securityGroupName)) + return UA_STATUSCODE_BADNODEIDEXISTS; + + UA_PubSubSecurityPolicy *policy = + findPubSubSecurityPolicy(server, &securityGroupConfig->securityPolicyUri); + if(!policy) + return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + + if(securityGroupConfig->securityGroupName.length > 512) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_StatusCode retval = UA_STATUSCODE_BAD; + + UA_SecurityGroup *newSecurityGroup = + (UA_SecurityGroup *)UA_calloc(1, sizeof(UA_SecurityGroup)); + if(!newSecurityGroup) + return UA_STATUSCODE_BADOUTOFMEMORY; + + memset(newSecurityGroup, 0, sizeof(UA_SecurityGroup)); + UA_SecurityGroupConfig_copy(securityGroupConfig, &newSecurityGroup->config); + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + retval = UA_NodeId_copy(&securityGroupFolderNodeId, + &newSecurityGroup->securityGroupFolderId); + if(retval != UA_STATUSCODE_GOOD) { + UA_SecurityGroup_delete(newSecurityGroup); + return retval; + } +#endif + + retval = UA_String_copy(&securityGroupConfig->securityGroupName, + &newSecurityGroup->securityGroupId); + if(retval != UA_STATUSCODE_GOOD) { + UA_SecurityGroup_delete(newSecurityGroup); + return retval; + } + + retval = initializeKeyStorageWithKeys(server, newSecurityGroup); + if(retval != UA_STATUSCODE_GOOD) { + UA_SecurityGroup_delete(newSecurityGroup); + return retval; + } + +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + retval = addSecurityGroupRepresentation(server, newSecurityGroup); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Add SecurityGroup failed with error: %s.", + UA_StatusCode_name(retval)); + UA_SecurityGroup_delete(newSecurityGroup); + return retval; + } +#else + UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, + &newSecurityGroup->securityGroupNodeId); +#endif + if(securityGroupNodeId) + UA_NodeId_copy(&newSecurityGroup->securityGroupNodeId, securityGroupNodeId); + + TAILQ_INSERT_TAIL(&server->pubSubManager.securityGroups, newSecurityGroup, listEntry); + + server->pubSubManager.securityGroupsSize++; + return retval; +} + +UA_StatusCode +UA_Server_addSecurityGroup(UA_Server *server, UA_NodeId securityGroupFolderNodeId, + const UA_SecurityGroupConfig *securityGroupConfig, + UA_NodeId *securityGroupNodeId) { + lockServer(server); + UA_StatusCode retval = addSecurityGroup(server, securityGroupFolderNodeId, + securityGroupConfig, securityGroupNodeId); + unlockServer(server); + return retval; +} + +UA_SecurityGroup * +UA_SecurityGroup_findSGbyId(UA_Server *server, UA_NodeId identifier) { + UA_SecurityGroup *tmpSG; + TAILQ_FOREACH(tmpSG, &server->pubSubManager.securityGroups, listEntry) { + if(UA_NodeId_equal(&identifier, &tmpSG->securityGroupNodeId)) + return tmpSG; + } + return NULL; +} + +static void +UA_SecurityGroupConfig_clear(UA_SecurityGroupConfig *config) { + config->keyLifeTime = 0; + config->maxFutureKeyCount = 0; + UA_String_clear(&config->securityGroupName); + UA_String_clear(&config->securityPolicyUri); +} + +static void +UA_SecurityGroup_clear(UA_SecurityGroup *securityGroup) { + UA_SecurityGroupConfig_clear(&securityGroup->config); + UA_String_clear(&securityGroup->securityGroupId); +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + UA_NodeId_clear(&securityGroup->securityGroupFolderId); +#endif + UA_NodeId_clear(&securityGroup->securityGroupNodeId); +} + +void +UA_SecurityGroup_delete(UA_SecurityGroup *securityGroup) { + UA_SecurityGroup_clear(securityGroup); + UA_free(securityGroup); +} + +void +removeSecurityGroup(UA_Server *server, UA_SecurityGroup *securityGroup) { +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + deleteNode(server, securityGroup->securityGroupNodeId, true); +#endif + + /* Unlink from the server */ + TAILQ_REMOVE(&server->pubSubManager.securityGroups, securityGroup, listEntry); + server->pubSubManager.securityGroupsSize--; + if(securityGroup->callbackId > 0) + removeCallback(server, securityGroup->callbackId); + + if(securityGroup->keyStorage) { + UA_PubSubKeyStorage_detachKeyStorage(server, securityGroup->keyStorage); + securityGroup->keyStorage = NULL; + } + + UA_SecurityGroup_delete(securityGroup); +} + +UA_StatusCode +UA_Server_removeSecurityGroup(UA_Server *server, const UA_NodeId securityGroup) { + lockServer(server); + UA_SecurityGroup *sg = UA_SecurityGroup_findSGbyId(server, securityGroup); + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(sg) { + removeSecurityGroup(server, sg); + } else { + res = UA_STATUSCODE_BADBOUNDNOTFOUND; + } + unlockServer(server); + return res; +} + +#endif + +/**** amalgamated original file "/src/pubsub/ua_pubsub_config.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2020 Yannick Wallerer, Siemens AG + * Copyright (c) 2020 Thomas Fischer, Siemens AG + */ + + +#if defined(UA_ENABLE_PUBSUB) && defined(UA_ENABLE_PUBSUB_FILE_CONFIG) + +static UA_StatusCode +createPubSubConnection(UA_Server *server, + const UA_PubSubConnectionDataType *connection, + UA_UInt32 pdsCount, UA_NodeId *pdsIdent); + +static UA_StatusCode +createWriterGroup(UA_Server *server, + const UA_WriterGroupDataType *writerGroupParameters, + UA_NodeId connectionIdent, UA_UInt32 pdsCount, + const UA_NodeId *pdsIdent); + +static UA_StatusCode +createDataSetWriter(UA_Server *server, + const UA_DataSetWriterDataType *dataSetWriterParameters, + UA_NodeId writerGroupIdent, UA_UInt32 pdsCount, + const UA_NodeId *pdsIdent); + +static UA_StatusCode +createReaderGroup(UA_Server *server, + const UA_ReaderGroupDataType *readerGroupParameters, + UA_NodeId connectionIdent); + +static UA_StatusCode +createDataSetReader(UA_Server *server, + const UA_DataSetReaderDataType *dataSetReaderParameters, + UA_NodeId readerGroupIdent); + +static UA_StatusCode +createPublishedDataSet(UA_Server *server, + const UA_PublishedDataSetDataType *publishedDataSetParameters, + UA_NodeId *publishedDataSetIdent); + +static UA_StatusCode +createDataSetFields(UA_Server *server, + const UA_NodeId *publishedDataSetIdent, + const UA_PublishedDataSetDataType *publishedDataSetParameters); + +static UA_StatusCode +generatePubSubConfigurationDataType(UA_Server *server, + UA_PubSubConfigurationDataType *pubSubConfiguration); + +/* Gets PubSub Configuration from an ExtensionObject */ +static UA_StatusCode +extractPubSubConfigFromExtensionObject(UA_Server *server, + const UA_ExtensionObject *src, + UA_PubSubConfigurationDataType **dst) { + if(src->encoding != UA_EXTENSIONOBJECT_DECODED || + src->content.decoded.type != &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_extractPubSubConfigFromDecodedObject] " + "Reading extensionObject failed"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_UABinaryFileDataType *binFile = (UA_UABinaryFileDataType*)src->content.decoded.data; + + if(binFile->body.arrayLength != 0 || binFile->body.arrayDimensionsSize != 0) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_extractPubSubConfigFromDecodedObject] " + "Loading multiple configurations is not supported"); + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + + if(binFile->body.type != &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_extractPubSubConfigFromDecodedObject] " + "Invalid datatype encoded in the binary file"); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + *dst = (UA_PubSubConfigurationDataType*)binFile->body.data; + return UA_STATUSCODE_GOOD; +} + +/* Configures a PubSub Server with given PubSubConfigurationDataType object */ +static UA_StatusCode +updatePubSubConfig(UA_Server *server, + const UA_PubSubConfigurationDataType *configurationParameters) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(configurationParameters == NULL) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_updatePubSubConfig] Invalid argument"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_PubSubManager_delete(server, &server->pubSubManager); + + /* Configuration of Published DataSets: */ + UA_UInt32 pdsCount = (UA_UInt32)configurationParameters->publishedDataSetsSize; + UA_NodeId *publishedDataSetIdent = (UA_NodeId*)UA_calloc(pdsCount, sizeof(UA_NodeId)); + if(!publishedDataSetIdent) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_StatusCode res = UA_STATUSCODE_GOOD; + + for(UA_UInt32 i = 0; i < pdsCount; i++) { + res = createPublishedDataSet(server, + &configurationParameters->publishedDataSets[i], + &publishedDataSetIdent[i]); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_updatePubSubConfig] PDS creation failed"); + UA_free(publishedDataSetIdent); + return res; + } + } + + /* Configuration of PubSub Connections: */ + if(configurationParameters->connectionsSize < 1) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_updatePubSubConfig] no connection in " + "UA_PubSubConfigurationDataType"); + UA_free(publishedDataSetIdent); + return UA_STATUSCODE_GOOD; + } + + for(size_t i = 0; i < configurationParameters->connectionsSize; i++) { + res = createPubSubConnection(server, + &configurationParameters->connections[i], + pdsCount, publishedDataSetIdent); + if(res != UA_STATUSCODE_GOOD) + break; + } + + UA_free(publishedDataSetIdent); + + return res; +} + +/* Function called by UA_PubSubManager_createPubSubConnection to set the + * PublisherId of a certain connection. */ +static UA_StatusCode +setConnectionPublisherId(UA_Server *server, + const UA_PubSubConnectionDataType *src, + UA_PubSubConnectionConfig *dst) { + if(src->publisherId.type == &UA_TYPES[UA_TYPES_STRING]) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_STRING; + dst->publisherId.string = *(UA_String*)src->publisherId.data; + } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_BYTE]) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_BYTE; + dst->publisherId.byte = *((UA_Byte*)src->publisherId.data); + } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_UINT16]) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT16; + dst->publisherId.uint16 = *((UA_UInt16*)src->publisherId.data); + } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_UINT32]) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT32; + dst->publisherId.uint32 = *(UA_UInt32*)src->publisherId.data; + } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_UINT64]) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT64; + dst->publisherId.uint64 = *(UA_UInt64*)src->publisherId.data; + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_setConnectionPublisherId] PublisherId is not valid."); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +/* Function called by UA_PubSubManager_createPubSubConnection to create all WriterGroups + * and ReaderGroups that belong to a certain connection. */ +static UA_StatusCode +createComponentsForConnection(UA_Server *server, + const UA_PubSubConnectionDataType *connParams, + UA_NodeId connectionIdent, UA_UInt32 pdsCount, + const UA_NodeId *pdsIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* WriterGroups configuration */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < connParams->writerGroupsSize; i++) { + res = createWriterGroup(server, &connParams->writerGroups[i], + connectionIdent, pdsCount, pdsIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createComponentsForConnection] " + "Error occured during %d. WriterGroup Creation", (UA_UInt32)i+1); + return res; + } + } + + /* ReaderGroups configuration */ + for(size_t j = 0; j < connParams->readerGroupsSize; j++) { + res = createReaderGroup(server, &connParams->readerGroups[j], connectionIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createComponentsForConnection] " + "Error occured during %d. ReaderGroup Creation", (UA_UInt32)j+1); + return res; + } + } + + return res; +} + +/* Creates PubSubConnection configuration from PubSubConnectionDataType object + * + * @param server Server object that shall be configured + * @param connParams PubSub connection configuration + * @param pdsCount Number of published DataSets + * @param pdsIdent Array of NodeIds of the published DataSets */ +static UA_StatusCode +createPubSubConnection(UA_Server *server, const UA_PubSubConnectionDataType *connParams, + UA_UInt32 pdsCount, UA_NodeId *pdsIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PubSubConnectionConfig config; + memset(&config, 0, sizeof(UA_PubSubConnectionConfig)); + + config.name = connParams->name; + config.enabled = connParams->enabled; + config.transportProfileUri = connParams->transportProfileUri; + config.connectionProperties.map = connParams->connectionProperties; + config.connectionProperties.mapSize = connParams->connectionPropertiesSize; + + UA_StatusCode res = setConnectionPublisherId(server, connParams, &config); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createPubSubConnection] " + "Setting PublisherId failed"); + return res; + } + + if(connParams->address.encoding == UA_EXTENSIONOBJECT_DECODED) { + UA_Variant_setScalar(&(config.address), + connParams->address.content.decoded.data, + connParams->address.content.decoded.type); + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createPubSubConnection] " + "Reading connection address failed"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + if(connParams->transportSettings.encoding == UA_EXTENSIONOBJECT_DECODED) { + UA_Variant_setScalar(&(config.connectionTransportSettings), + connParams->transportSettings.content.decoded.data, + connParams->transportSettings.content.decoded.type); + } else { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createPubSubConnection] " + "TransportSettings can not be read"); + } + + /* Load connection config into server: */ + UA_NodeId connectionIdent; + res = UA_PubSubConnection_create(server, &config, &connectionIdent); + if(res == UA_STATUSCODE_GOOD) { + /* Configuration of all Components that belong to this connection: */ + res = createComponentsForConnection(server, connParams, connectionIdent, + pdsCount, pdsIdent); + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createPubSubConnection] " + "Connection creation failed"); + } + + return res; +} + +/* Function called by UA_PubSubManager_createWriterGroup to configure the messageSettings + * of a writerGroup */ +static UA_StatusCode +setWriterGroupEncodingType(UA_Server *server, + const UA_WriterGroupDataType *writerGroupParameters, + UA_WriterGroupConfig *config) { + if(writerGroupParameters->messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_setWriterGroupEncodingType] " + "getting message type information failed"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + if(writerGroupParameters->messageSettings.content.decoded.type == + &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) { + config->encodingMimeType = UA_PUBSUB_ENCODING_UADP; + } else if(writerGroupParameters->messageSettings.content.decoded.type == + &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]) { +#ifdef UA_ENABLE_JSON_ENCODING + config->encodingMimeType = UA_PUBSUB_ENCODING_JSON; +#else + UA_LOG_ERROR(psm->logging, UA_LOGCATEGORY_PUBSUB, + "[UA_PubSubManager_setWriterGroupEncodingType] " + "encoding type: JSON (not implemented!)"); + return UA_STATUSCODE_BADNOTIMPLEMENTED; +#endif + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_setWriterGroupEncodingType] " + "invalid message encoding type"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + return UA_STATUSCODE_GOOD; +} + +/* WriterGroup configuration from WriterGroup object + * + * @param server Server object that shall be configured + * @param writerGroupParameters WriterGroup configuration + * @param connectionIdent NodeId of the PubSub connection, the WriterGroup belongs to + * @param pdsCount Number of published DataSets + * @param pdsIdent Array of NodeIds of the published DataSets */ +static UA_StatusCode +createWriterGroup(UA_Server *server, + const UA_WriterGroupDataType *writerGroupParameters, + UA_NodeId connectionIdent, UA_UInt32 pdsCount, + const UA_NodeId *pdsIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_WriterGroupConfig config; + memset(&config, 0, sizeof(UA_WriterGroupConfig)); + config.name = writerGroupParameters->name; + config.enabled = writerGroupParameters->enabled; + config.writerGroupId = writerGroupParameters->writerGroupId; + config.publishingInterval = writerGroupParameters->publishingInterval; + config.keepAliveTime = writerGroupParameters->keepAliveTime; + config.priority = writerGroupParameters->priority; + config.securityMode = writerGroupParameters->securityMode; + config.transportSettings = writerGroupParameters->transportSettings; + config.messageSettings = writerGroupParameters->messageSettings; + config.groupProperties.mapSize = writerGroupParameters->groupPropertiesSize; + config.groupProperties.map = writerGroupParameters->groupProperties; + config.maxEncapsulatedDataSetMessageCount = 255; /* non std parameter */ + + UA_StatusCode res = setWriterGroupEncodingType(server, writerGroupParameters, &config); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createWriterGroup] " + "Setting message settings failed"); + return res; + } + + /* Load config into server: */ + UA_NodeId writerGroupIdent; + res = UA_WriterGroup_create(server, connectionIdent, &config, &writerGroupIdent); + UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroupIdent); + if(wg) + UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, UA_STATUSCODE_GOOD); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createWriterGroup] " + "Adding WriterGroup to server failed: 0x%x", res); + return res; + } + + /* Configuration of all DataSetWriters that belong to this WriterGroup */ + for(size_t dsw = 0; dsw < writerGroupParameters->dataSetWritersSize; dsw++) { + res = createDataSetWriter(server, &writerGroupParameters->dataSetWriters[dsw], + writerGroupIdent, pdsCount, pdsIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createWriterGroup] " + "DataSetWriter Creation failed."); + break; + } + } + return res; +} + +/* Function called by UA_PubSubManager_createDataSetWriter. It searches for a + * PublishedDataSet that is referenced by the DataSetWriter. If a related PDS is found, + * the DSWriter will be added to the server, otherwise, no DSWriter will be added. + * + * @param server UA_Server object that shall be configured + * @param writerGroupIdent NodeId of writerGroup, the DataSetWriter belongs to + * @param dsWriterConfig WriterGroup configuration + * @param pdsCount Number of published DataSets + * @param pdsIdent Array of NodeIds of the published DataSets */ +static UA_StatusCode +addDataSetWriterWithPdsReference(UA_Server *server, UA_NodeId writerGroupIdent, + const UA_DataSetWriterConfig *dsWriterConfig, + UA_UInt32 pdsCount, const UA_NodeId *pdsIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_NodeId dataSetWriterIdent; + UA_PublishedDataSetConfig pdsConfig; + UA_Boolean pdsFound = false; + + UA_StatusCode res = UA_STATUSCODE_GOOD; + for(size_t pds = 0; pds < pdsCount && res == UA_STATUSCODE_GOOD; pds++) { + res = getPublishedDataSetConfig(server, pdsIdent[pds], &pdsConfig); + /* members of pdsConfig must be deleted manually */ + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addDataSetWriterWithPdsReference] " + "Getting pdsConfig from NodeId failed."); + return res; + } + + if(dsWriterConfig->dataSetName.length == pdsConfig.name.length && + 0 == strncmp((const char *)dsWriterConfig->dataSetName.data, + (const char *)pdsConfig.name.data, + dsWriterConfig->dataSetName.length)) { + /* DSWriter will only be created, if a matching PDS is found: */ + res = UA_DataSetWriter_create(server, writerGroupIdent, pdsIdent[pds], + dsWriterConfig, &dataSetWriterIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addDataSetWriterWithPdsReference] " + "Adding DataSetWriter failed"); + } else { + pdsFound = true; + } + + UA_PublishedDataSetConfig_clear(&pdsConfig); + if(pdsFound) + break; /* break loop if corresponding publishedDataSet was found */ + } + } + + if(!pdsFound) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addDataSetWriterWithPdsReference] " + "No matching DataSet found; no DataSetWriter created"); + } + + return res; +} + +/* Creates DataSetWriter configuration from DataSetWriter object + * + * @param server UA_Server object that shall be configured + * @param dataSetWriterParameters DataSetWriter Configuration + * @param writerGroupIdent NodeId of writerGroup, the DataSetWriter belongs to + * @param pdsCount Number of published DataSets + * @param pdsIdent Array of NodeIds of the published DataSets */ +static UA_StatusCode +createDataSetWriter(UA_Server *server, + const UA_DataSetWriterDataType *dataSetWriterParameters, + UA_NodeId writerGroupIdent, UA_UInt32 pdsCount, + const UA_NodeId *pdsIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_DataSetWriterConfig config; + memset(&config, 0, sizeof(UA_DataSetWriterConfig)); + config.name = dataSetWriterParameters->name; + config.dataSetWriterId = dataSetWriterParameters->dataSetWriterId; + config.keyFrameCount = dataSetWriterParameters->keyFrameCount; + config.dataSetFieldContentMask = dataSetWriterParameters->dataSetFieldContentMask; + config.messageSettings = dataSetWriterParameters->messageSettings; + config.dataSetName = dataSetWriterParameters->dataSetName; + config.dataSetWriterProperties.mapSize = dataSetWriterParameters->dataSetWriterPropertiesSize; + config.dataSetWriterProperties.map = dataSetWriterParameters->dataSetWriterProperties; + + UA_StatusCode res = addDataSetWriterWithPdsReference(server, writerGroupIdent, + &config, pdsCount, pdsIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createDataSetWriter] " + "Referencing related PDS failed"); + } + + return res; +} + +/* Creates ReaderGroup configuration from ReaderGroup object + * + * @param server UA_Server object that shall be configured + * @param readerGroupParameters ReaderGroup configuration + * @param connectionIdent NodeId of the PubSub connection, the ReaderGroup belongs to */ +static UA_StatusCode +createReaderGroup(UA_Server *server, + const UA_ReaderGroupDataType *readerGroupParameters, + UA_NodeId connectionIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_ReaderGroupConfig config; + memset(&config, 0, sizeof(UA_ReaderGroupConfig)); + + config.name = readerGroupParameters->name; + config.securityMode = readerGroupParameters->securityMode; + + UA_NodeId readerGroupIdent; + UA_StatusCode res = + UA_ReaderGroup_create(server, connectionIdent, &config, &readerGroupIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createReaderGroup] Adding ReaderGroup " + "to server failed: 0x%x", res); + return res; + } + + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createReaderGroup] ReaderGroup successfully added."); + for(UA_UInt32 i = 0; i < readerGroupParameters->dataSetReadersSize; i++) { + res = createDataSetReader(server, &readerGroupParameters->dataSetReaders[i], + readerGroupIdent); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createReaderGroup] Creating DataSetReader failed"); + break; + } + } + + UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupIdent); + if(res == UA_STATUSCODE_GOOD && rg) + UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_OPERATIONAL, + UA_STATUSCODE_GOOD); + + return res; +} + +/* Creates TargetVariables or SubscribedDataSetMirror for a given DataSetReader + * + * @param server UA_Server object that shall be configured + * @param dsReaderIdent NodeId of the DataSetReader the SubscribedDataSet belongs to + * @param dataSetReaderParameters Configuration Parameters of the DataSetReader */ +static UA_StatusCode +addSubscribedDataSet(UA_Server *server, const UA_NodeId dsReaderIdent, + const UA_ExtensionObject *subscribedDataSet) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(subscribedDataSet->content.decoded.type == + &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]) { + UA_TargetVariablesDataType *tmpTargetVars = (UA_TargetVariablesDataType*) + subscribedDataSet->content.decoded.data; + UA_FieldTargetVariable *targetVars = (UA_FieldTargetVariable *) + UA_calloc(tmpTargetVars->targetVariablesSize, sizeof(UA_FieldTargetVariable)); + + for(size_t index = 0; index < tmpTargetVars->targetVariablesSize; index++) { + UA_FieldTargetDataType_copy(&tmpTargetVars->targetVariables[index], + &targetVars[index].targetVariable); + } + + UA_StatusCode res = UA_STATUSCODE_BADINTERNALERROR; + UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dsReaderIdent); + if(dsr) + res = DataSetReader_createTargetVariables(server, dsr, + tmpTargetVars->targetVariablesSize, + targetVars); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addSubscribedDataSet] " + "create TargetVariables failed"); + } + + for(size_t index = 0; index < tmpTargetVars->targetVariablesSize; index++) { + UA_FieldTargetDataType_clear(&targetVars[index].targetVariable); + } + + UA_free(targetVars); + return res; + } + + if(subscribedDataSet->content.decoded.type == + &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addSubscribedDataSet] " + "DataSetMirror is currently not supported"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addSubscribedDataSet] " + "Invalid Type of SubscribedDataSet"); + return UA_STATUSCODE_BADINTERNALERROR; +} + +/* Creates DataSetReader configuration from DataSetReader object + * + * @param server UA_Server object that shall be configured + * @param dataSetReaderParameters DataSetReader configuration + * @param writerGroupIdent NodeId of readerGroupParameters, the DataSetReader belongs to */ +static UA_StatusCode +createDataSetReader(UA_Server *server, const UA_DataSetReaderDataType *dsrParams, + UA_NodeId readerGroupIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_DataSetReaderConfig config; + memset(&config, 0, sizeof(UA_DataSetReaderConfig)); + + config.name = dsrParams->name; + config.publisherId = dsrParams->publisherId; + config.writerGroupId = dsrParams->writerGroupId; + config.dataSetWriterId = dsrParams->dataSetWriterId; + config.dataSetMetaData = dsrParams->dataSetMetaData; + config.dataSetFieldContentMask = dsrParams->dataSetFieldContentMask; + config.messageReceiveTimeout = dsrParams->messageReceiveTimeout; + config.messageSettings = dsrParams->messageSettings; + + UA_NodeId dsReaderIdent; + UA_StatusCode res = UA_DataSetReader_create(server, readerGroupIdent, + &config, &dsReaderIdent); + if(res == UA_STATUSCODE_GOOD) + res = addSubscribedDataSet(server, dsReaderIdent, + &dsrParams->subscribedDataSet); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createDataSetReader] " + "create subscribedDataSet failed"); + } + + return res; +} + +/* Determines whether PublishedDataSet is of type PublishedItems or PublishedEvents. + * (PublishedEvents are currently not supported!) + * + * @param publishedDataSetParameters PublishedDataSet parameters + * @param config PublishedDataSet configuration object */ +static UA_StatusCode +setPublishedDataSetType(UA_Server *server, + const UA_PublishedDataSetDataType *pdsParams, + UA_PublishedDataSetConfig *config) { + if(pdsParams->dataSetSource.encoding != UA_EXTENSIONOBJECT_DECODED) + return UA_STATUSCODE_BADINTERNALERROR; + + const UA_DataType *sourceType = pdsParams->dataSetSource.content.decoded.type; + if(sourceType == &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]) { + config->publishedDataSetType = UA_PUBSUB_DATASET_PUBLISHEDITEMS; + return UA_STATUSCODE_GOOD; + } else if(sourceType == &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]) { + /* config.publishedDataSetType = UA_PUBSUB_DATASET_PUBLISHEDEVENTS; */ + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_setPublishedDataSetType] Published events not supported."); + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_setPublishedDataSetType] Invalid DataSetSourceDataType."); + return UA_STATUSCODE_BADINTERNALERROR; +} + +/* Creates PublishedDataSetConfig object from PublishedDataSet object + * + * @param server UA_Server object that shall be configured + * @param pdsParams publishedDataSet configuration + * @param pdsIdent NodeId of the publishedDataSet */ +static UA_StatusCode +createPublishedDataSet(UA_Server *server, + const UA_PublishedDataSetDataType *pdsParams, + UA_NodeId *pdsIdent) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PublishedDataSetConfig config; + memset(&config, 0, sizeof(UA_PublishedDataSetConfig)); + + config.name = pdsParams->name; + UA_StatusCode res = setPublishedDataSetType(server, pdsParams, &config); + if(res != UA_STATUSCODE_GOOD) + return res; + + res = UA_PublishedDataSet_create(server, &config, pdsIdent).addResult; + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createPublishedDataSet] " + "Adding PublishedDataSet failed."); + return res; + } + + /* DataSetField configuration for this publishedDataSet: */ + res = createDataSetFields(server, pdsIdent, pdsParams); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createPublishedDataSet] " + "Creating DataSetFieldConfig failed."); + } + + return res; +} + +/* Adds DataSetField Variables bound to a certain PublishedDataSet. This method does NOT + * check, whether the PublishedDataSet actually contains Variables instead of Events! + * + * @param server UA_Server object that shall be configured + * @param pdsIdent NodeId of the publishedDataSet, the DataSetField belongs to + * @param publishedDataSetParameters publishedDataSet configuration */ +static UA_StatusCode +addDataSetFieldVariables(UA_Server *server, const UA_NodeId *pdsIdent, + const UA_PublishedDataSetDataType *pdsParams) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_PublishedDataItemsDataType *pdItems = (UA_PublishedDataItemsDataType *) + pdsParams->dataSetSource.content.decoded.data; + if(pdItems->publishedDataSize != pdsParams->dataSetMetaData.fieldsSize) + return UA_STATUSCODE_BADINTERNALERROR; + + for(size_t i = 0; i < pdItems->publishedDataSize; i++) { + UA_DataSetFieldConfig fc; + memset(&fc, 0, sizeof(UA_DataSetFieldConfig)); + fc.dataSetFieldType = UA_PUBSUB_DATASETFIELD_VARIABLE; + fc.field.variable.configurationVersion = + pdsParams->dataSetMetaData.configurationVersion; + fc.field.variable.fieldNameAlias = pdsParams->dataSetMetaData.fields[i].name; + fc.field.variable.promotedField = pdsParams->dataSetMetaData. + fields[i].fieldFlags & 0x0001; + fc.field.variable.publishParameters = pdItems->publishedData[i]; + + UA_NodeId fieldIdent; + UA_StatusCode res = UA_DataSetField_create(server, *pdsIdent, &fc, &fieldIdent).result; + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_addDataSetFieldVariables] " + "Adding DataSetField Variable failed."); + return res; + } + } + + return UA_STATUSCODE_GOOD; +} + +/* Checks if PublishedDataSet contains event or variable fields and calls the + * corresponding method to add these fields to the server. + * + * @param server UA_Server object that shall be configured + * @param pdsIdent NodeId of the publishedDataSet, the DataSetFields belongs to + * @param pdsParams publishedDataSet configuration */ +static UA_StatusCode +createDataSetFields(UA_Server *server, const UA_NodeId *pdsIdent, + const UA_PublishedDataSetDataType *pdsParams) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(pdsParams->dataSetSource.encoding != UA_EXTENSIONOBJECT_DECODED) + return UA_STATUSCODE_BADINTERNALERROR; + + if(pdsParams->dataSetSource.content.decoded.type == + &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]) + return addDataSetFieldVariables(server, pdsIdent, pdsParams); + + /* TODO: Implement Routine for adding Event DataSetFields */ + if(pdsParams->dataSetSource.content.decoded.type == + &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createDataSetFields] " + "Published events not supported."); + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_createDataSetFields] " + "Invalid DataSetSourceDataType."); + return UA_STATUSCODE_BADINTERNALERROR; +} + +UA_StatusCode +UA_PubSubManager_loadPubSubConfigFromByteString(UA_Server *server, + const UA_ByteString buffer) { + size_t offset = 0; + UA_ExtensionObject decodedFile; + UA_StatusCode res; + + if(server == NULL) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_loadPubSubConfigFromByteString] Invalid argument"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + res = UA_ExtensionObject_decodeBinary(&buffer, &offset, &decodedFile); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_decodeBinFile] decoding UA_Binary failed"); + goto cleanup; + } + + UA_PubSubConfigurationDataType *pubSubConfig = NULL; + res = extractPubSubConfigFromExtensionObject(server, &decodedFile, &pubSubConfig); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_loadPubSubConfigFromByteString] " + "Extracting PubSub Configuration failed"); + goto cleanup; + } + + res = updatePubSubConfig(server, pubSubConfig); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_loadPubSubConfigFromByteString] " + "Loading PubSub configuration into server failed"); + goto cleanup; + } + + cleanup: + UA_ExtensionObject_clear(&decodedFile); + return res; +} + +/* Encodes a PubSubConfigurationDataType object as ByteString using the UA Binary Data + * Encoding */ +static UA_StatusCode +encodePubSubConfiguration(UA_Server *server, + UA_PubSubConfigurationDataType *configurationParameters, + UA_ByteString *buffer) { + UA_UABinaryFileDataType binFile; + memset(&binFile, 0, sizeof(UA_UABinaryFileDataType)); + /*Perhaps, additional initializations of binFile are necessary here.*/ + + UA_Variant_setScalar(&binFile.body, configurationParameters, + &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); + + UA_ExtensionObject container; + memset(&container, 0, sizeof(UA_ExtensionObject)); + container.encoding = UA_EXTENSIONOBJECT_DECODED; + container.content.decoded.type = &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]; + container.content.decoded.data = &binFile; + + size_t fileSize = UA_ExtensionObject_calcSizeBinary(&container); + buffer->data = (UA_Byte*)UA_calloc(fileSize, sizeof(UA_Byte)); + if(buffer->data == NULL) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_encodePubSubConfiguration] Allocating buffer failed"); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + buffer->length = fileSize; + + UA_Byte *bufferPos = buffer->data; + UA_StatusCode res = + UA_ExtensionObject_encodeBinary(&container, &bufferPos, bufferPos + fileSize); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_encodePubSubConfiguration] Encoding failed"); + } + return res; +} + +static UA_StatusCode +generatePublishedDataSetDataType(UA_Server* server, + const UA_PublishedDataSet *src, + UA_PublishedDataSetDataType *dst) { + if(src->config.publishedDataSetType != UA_PUBSUB_DATASET_PUBLISHEDITEMS) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + memset(dst, 0, sizeof(UA_PublishedDataSetDataType)); + + UA_PublishedDataItemsDataType *tmp = UA_PublishedDataItemsDataType_new(); + UA_String_copy(&src->config.name, &dst->name); + dst->dataSetMetaData.fieldsSize = src->fieldSize; + + size_t index = 0; + tmp->publishedDataSize = src->fieldSize; + tmp->publishedData = (UA_PublishedVariableDataType*) + UA_Array_new(tmp->publishedDataSize, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); + if(tmp->publishedData == NULL) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "Allocation memory failed"); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + dst->dataSetMetaData.fields = (UA_FieldMetaData*) + UA_Array_new(dst->dataSetMetaData.fieldsSize, &UA_TYPES[UA_TYPES_FIELDMETADATA]); + if(dst->dataSetMetaData.fields == NULL) { + UA_free(tmp->publishedData); + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "Allocation memory failed"); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_DataSetField *dsf, *dsf_tmp = NULL; + TAILQ_FOREACH_SAFE(dsf ,&src->fields, listEntry, dsf_tmp) { + UA_String_copy(&dsf->config.field.variable.fieldNameAlias, + &dst->dataSetMetaData.fields[index].name); + UA_PublishedVariableDataType_copy(&dsf->config.field.variable.publishParameters, + &tmp->publishedData[index]); + UA_ConfigurationVersionDataType_copy(&dsf->config.field.variable.configurationVersion, + &dst->dataSetMetaData.configurationVersion); + dst->dataSetMetaData.fields[index].fieldFlags = + dsf->config.field.variable.promotedField; + index++; + } + UA_ExtensionObject_setValue(&dst->dataSetSource, tmp, + &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +generateDataSetWriterDataType(const UA_DataSetWriter *src, + UA_DataSetWriterDataType *dst) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + memset(dst, 0, sizeof(UA_DataSetWriterDataType)); + res |= UA_String_copy(&src->config.name, &dst->name); + dst->dataSetWriterId = src->config.dataSetWriterId; + dst->keyFrameCount = src->config.keyFrameCount; + dst->dataSetFieldContentMask = src->config.dataSetFieldContentMask; + res |= UA_ExtensionObject_copy(&src->config.messageSettings, &dst->messageSettings); + res |= UA_String_copy(&src->config.dataSetName, &dst->dataSetName); + if(res != UA_STATUSCODE_GOOD) { + UA_DataSetWriterDataType_clear(dst); + return res; + } + + res = UA_Array_copy(src->config.dataSetWriterProperties.map, + src->config.dataSetWriterProperties.mapSize, + (void**)&dst->dataSetWriterProperties, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + if(res == UA_STATUSCODE_GOOD) + dst->dataSetWriterPropertiesSize = src->config.dataSetWriterProperties.mapSize; + else + UA_DataSetWriterDataType_clear(dst); + + return res; +} + +static UA_StatusCode +generateWriterGroupDataType(const UA_WriterGroup *src, + UA_WriterGroupDataType *dst) { + memset(dst, 0, sizeof(UA_WriterGroupDataType)); + + UA_String_copy(&src->config.name, &dst->name); + dst->enabled = src->config.enabled; + dst->writerGroupId = src->config.writerGroupId; + dst->publishingInterval = src->config.publishingInterval; + dst->keepAliveTime = src->config.keepAliveTime; + dst->priority = src->config.priority; + dst->securityMode = src->config.securityMode; + + UA_ExtensionObject_copy(&src->config.transportSettings, &dst->transportSettings); + UA_ExtensionObject_copy(&src->config.messageSettings, &dst->messageSettings); + + UA_StatusCode res = + UA_Array_copy(src->config.groupProperties.map, + src->config.groupProperties.mapSize, + (void**)&dst->groupProperties, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + if(res != UA_STATUSCODE_GOOD) { + UA_WriterGroupDataType_clear(dst); + return res; + } + dst->groupPropertiesSize = src->config.groupProperties.mapSize, + + dst->dataSetWriters = (UA_DataSetWriterDataType*) + UA_calloc(src->writersCount, sizeof(UA_DataSetWriterDataType)); + if(!dst->dataSetWriters) { + UA_WriterGroupDataType_clear(dst); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + dst->dataSetWritersSize = src->writersCount; + + UA_DataSetWriter *dsw; + size_t dsWriterIndex = 0; + LIST_FOREACH(dsw, &src->writers, listEntry) { + res |= generateDataSetWriterDataType(dsw, &dst->dataSetWriters[dsWriterIndex]); + dsWriterIndex++; + } + if(res != UA_STATUSCODE_GOOD) + UA_WriterGroupDataType_clear(dst); + return res; +} + +static UA_StatusCode +generateDataSetReaderDataType(const UA_DataSetReader *src, + UA_DataSetReaderDataType *dst) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + memset(dst, 0, sizeof(UA_DataSetReaderDataType)); + dst->writerGroupId = src->config.writerGroupId; + dst->dataSetWriterId = src->config.dataSetWriterId; + dst->dataSetFieldContentMask = src->config.dataSetFieldContentMask; + dst->messageReceiveTimeout = src->config.messageReceiveTimeout; + res |= UA_String_copy(&src->config.name, &dst->name); + res |= UA_Variant_copy(&src->config.publisherId, &dst->publisherId); + res |= UA_DataSetMetaDataType_copy(&src->config.dataSetMetaData, + &dst->dataSetMetaData); + res |= UA_ExtensionObject_copy(&src->config.messageSettings, &dst->messageSettings); + + UA_TargetVariablesDataType *tmpTarget = UA_TargetVariablesDataType_new(); + if(!tmpTarget) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_ExtensionObject_setValue(&dst->subscribedDataSet, tmpTarget, + &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); + + const UA_TargetVariables *targets = + &src->config.subscribedDataSet.subscribedDataSetTarget; + tmpTarget->targetVariables = (UA_FieldTargetDataType *) + UA_calloc(targets->targetVariablesSize, sizeof(UA_FieldTargetDataType)); + if(!tmpTarget->targetVariables) + return UA_STATUSCODE_BADOUTOFMEMORY; + tmpTarget->targetVariablesSize = targets->targetVariablesSize; + + for(size_t i = 0; i < tmpTarget->targetVariablesSize; i++) { + res |= UA_FieldTargetDataType_copy(&targets->targetVariables[i].targetVariable, + &tmpTarget->targetVariables[i]); + } + + return res; +} + +static UA_StatusCode +generateReaderGroupDataType(const UA_ReaderGroup *src, + UA_ReaderGroupDataType *dst) { + memset(dst, 0, sizeof(UA_ReaderGroupDataType)); + + UA_String_copy(&src->config.name, &dst->name); + dst->dataSetReaders = (UA_DataSetReaderDataType*) + UA_calloc(src->readersCount, sizeof(UA_DataSetReaderDataType)); + if(dst->dataSetReaders == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + dst->dataSetReadersSize = src->readersCount; + + size_t i = 0; + UA_DataSetReader *dsr, *dsr_tmp = NULL; + LIST_FOREACH_SAFE(dsr, &src->readers, listEntry, dsr_tmp) { + UA_StatusCode res = + generateDataSetReaderDataType(dsr, &dst->dataSetReaders[i]); + if(res != UA_STATUSCODE_GOOD) + return res; + i++; + } + + return UA_STATUSCODE_GOOD; +} + +/* Generates a PubSubConnectionDataType object from a PubSubConnection. */ +static UA_StatusCode +generatePubSubConnectionDataType(UA_Server* server, + const UA_PubSubConnection *src, + UA_PubSubConnectionDataType *dst) { + const UA_DataType *publisherIdType; + memset(dst, 0, sizeof(UA_PubSubConnectionDataType)); + + UA_String_copy(&src->config.name, &dst->name); + UA_String_copy(&src->config.transportProfileUri, &dst->transportProfileUri); + dst->enabled = src->config.enabled; + + UA_StatusCode res = + UA_Array_copy(src->config.connectionProperties.map, + src->config.connectionProperties.mapSize, + (void**)&dst->connectionProperties, + &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); + if(res != UA_STATUSCODE_GOOD) { + UA_PubSubConnectionDataType_clear(dst); + return res; + } + dst->connectionPropertiesSize = src->config.connectionProperties.mapSize; + + switch (src->config.publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + publisherIdType = &UA_TYPES[UA_TYPES_BYTE]; + break; + case UA_PUBLISHERIDTYPE_UINT16: + publisherIdType = &UA_TYPES[UA_TYPES_UINT16]; + break; + case UA_PUBLISHERIDTYPE_UINT32: + publisherIdType = &UA_TYPES[UA_TYPES_UINT32]; + break; + case UA_PUBLISHERIDTYPE_UINT64: + publisherIdType = &UA_TYPES[UA_TYPES_UINT64]; + break; + case UA_PUBLISHERIDTYPE_STRING: + publisherIdType = &UA_TYPES[UA_TYPES_STRING]; + break; + default: + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "generatePubSubConnectionDataType(): publisher Id type is not supported"); + return UA_STATUSCODE_BADINTERNALERROR; + break; + } + UA_Variant_setScalarCopy(&dst->publisherId, + &src->config.publisherId, + publisherIdType); + + /* Possibly, array size and dimensions of src->config->address and + * src->config->connectionTransportSettings should be checked beforehand. */ + dst->address.encoding = UA_EXTENSIONOBJECT_DECODED; + dst->address.content.decoded.type = src->config.address.type; + res = UA_Array_copy(src->config.address.data, 1, + &dst->address.content.decoded.data, + src->config.address.type); + if(res != UA_STATUSCODE_GOOD) { + UA_PubSubConnectionDataType_clear(dst); + return res; + } + + if(src->config.connectionTransportSettings.data) { + dst->transportSettings.encoding = UA_EXTENSIONOBJECT_DECODED; + dst->transportSettings.content.decoded.type = + src->config.connectionTransportSettings.type; + res = UA_Array_copy(src->config.connectionTransportSettings.data, 1, + &dst->transportSettings.content.decoded.data, + src->config.connectionTransportSettings.type); + + if(res != UA_STATUSCODE_GOOD) { + UA_PubSubConnectionDataType_clear(dst); + return res; + } + } + + dst->writerGroups = (UA_WriterGroupDataType*) + UA_calloc(src->writerGroupsSize, sizeof(UA_WriterGroupDataType)); + if(!dst->writerGroups) { + UA_PubSubConnectionDataType_clear(dst); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + dst->writerGroupsSize = src->writerGroupsSize; + UA_WriterGroup *wg, *wg_tmp = NULL; + size_t wgIndex = 0; + LIST_FOREACH_SAFE(wg, &src->writerGroups, listEntry, wg_tmp) { + res = generateWriterGroupDataType(wg, &dst->writerGroups[wgIndex]); + if(res != UA_STATUSCODE_GOOD) { + UA_PubSubConnectionDataType_clear(dst); + return res; + } + wgIndex++; + } + + dst->readerGroups = (UA_ReaderGroupDataType*) + UA_calloc(src->readerGroupsSize, sizeof(UA_ReaderGroupDataType)); + if(dst->readerGroups == NULL) { + UA_PubSubConnectionDataType_clear(dst); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + dst->readerGroupsSize = src->readerGroupsSize; + UA_ReaderGroup *rg = NULL; + size_t rgIndex = 0; + LIST_FOREACH(rg, &src->readerGroups, listEntry) { + res = generateReaderGroupDataType(rg, &dst->readerGroups[rgIndex]); + if(res != UA_STATUSCODE_GOOD) { + UA_PubSubConnectionDataType_clear(dst); + return res; + } + rgIndex++; + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +generatePubSubConfigurationDataType(UA_Server* server, + UA_PubSubConfigurationDataType *configDT) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode res = UA_STATUSCODE_GOOD; + const UA_PubSubManager *manager = &server->pubSubManager; + memset(configDT, 0, sizeof(UA_PubSubConfigurationDataType)); + + configDT->publishedDataSets = (UA_PublishedDataSetDataType*) + UA_calloc(manager->publishedDataSetsSize, + sizeof(UA_PublishedDataSetDataType)); + if(configDT->publishedDataSets == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + configDT->publishedDataSetsSize = manager->publishedDataSetsSize; + + UA_PublishedDataSet *pds; + UA_UInt32 pdsIndex = 0; + TAILQ_FOREACH(pds, &manager->publishedDataSets, listEntry) { + UA_PublishedDataSetDataType *dst = &configDT->publishedDataSets[pdsIndex]; + res = generatePublishedDataSetDataType(server, pds, dst); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_generatePubSubConfigurationDataType] " + "retrieving PublishedDataSet configuration failed"); + return res; + } + pdsIndex++; + } + + configDT->connections = (UA_PubSubConnectionDataType*) + UA_calloc(manager->connectionsSize, sizeof(UA_PubSubConnectionDataType)); + if(configDT->connections == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + configDT->connectionsSize = manager->connectionsSize; + + UA_UInt32 connectionIndex = 0; + UA_PubSubConnection *connection; + TAILQ_FOREACH(connection, &manager->connections, listEntry) { + UA_PubSubConnectionDataType *cdt = &configDT->connections[connectionIndex]; + res = generatePubSubConnectionDataType(server, connection, cdt); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_generatePubSubConfigurationDataType] " + "retrieving PubSubConnection configuration failed"); + return res; + } + connectionIndex++; + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_PubSubManager_getEncodedPubSubConfiguration(UA_Server *server, + UA_ByteString *buffer) { + UA_PubSubConfigurationDataType config; + memset(&config, 0, sizeof(UA_PubSubConfigurationDataType)); + + if(server == NULL) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "[UA_PubSubManager_getEncodedPubSubConfiguration] Invalid argument"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_StatusCode res = generatePubSubConfigurationDataType(server, &config); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "retrieving PubSub configuration from server failed"); + goto cleanup; + } + + res = encodePubSubConfiguration(server, &config, buffer); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "encoding PubSub configuration failed"); + goto cleanup; + } + + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Saving PubSub config was successful"); + + cleanup: + UA_PubSubConfigurationDataType_clear(&config); + return res; +} + +#endif /* UA_ENABLE_PUBSUB && UA_ENABLE_PUBSUB_FILE_CONFIG */ + +/**** amalgamated original file "/src/client/ua_client.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2015-2016 (c) Chris Iatrou + * Copyright 2015 (c) hfaham + * Copyright 2015-2017 (c) Florian Palm + * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2015 (c) Holger Jeromin + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016 (c) TorbenD + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2016 (c) Lykurg + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018 (c) Kalycito Infotech Private Limited + * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + * Copyright 2022 (c) Linutronix GmbH (Author: Muddasir Shakil) + */ + + + +static void +clientHouseKeeping(UA_Client *client, void *_); + +/********************/ +/* Client Lifecycle */ +/********************/ + +UA_StatusCode +UA_ClientConfig_copy(UA_ClientConfig const *src, UA_ClientConfig *dst){ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + retval = UA_ApplicationDescription_copy(&src->clientDescription, &dst->clientDescription); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + retval = UA_ExtensionObject_copy(&src->userIdentityToken, &dst->userIdentityToken); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + retval = UA_String_copy(&src->securityPolicyUri, &dst->securityPolicyUri); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + retval = UA_EndpointDescription_copy(&src->endpoint, &dst->endpoint); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + retval = UA_UserTokenPolicy_copy(&src->userTokenPolicy, &dst->userTokenPolicy); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + retval = UA_Array_copy(src->sessionLocaleIds, src->sessionLocaleIdsSize, + (void **)&dst->sessionLocaleIds, &UA_TYPES[UA_TYPES_LOCALEID]); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + dst->sessionLocaleIdsSize = src->sessionLocaleIdsSize; + dst->connectivityCheckInterval = src->connectivityCheckInterval; + dst->certificateVerification = src->certificateVerification; + dst->clientContext = src->clientContext; + dst->customDataTypes = src->customDataTypes; + dst->eventLoop = src->eventLoop; + dst->externalEventLoop = src->externalEventLoop; + dst->inactivityCallback = src->inactivityCallback; + dst->localConnectionConfig = src->localConnectionConfig; + dst->logging = src->logging; + if(src->certificateVerification.logging == NULL) + dst->certificateVerification.logging = dst->logging; +#ifdef UA_ENABLE_SUBSCRIPTIONS + dst->outStandingPublishRequests = src->outStandingPublishRequests; +#endif + dst->requestedSessionTimeout = src->requestedSessionTimeout; + dst->secureChannelLifeTime = src->secureChannelLifeTime; + dst->securityMode = src->securityMode; + dst->stateCallback = src->stateCallback; +#ifdef UA_ENABLE_SUBSCRIPTIONS + dst->subscriptionInactivityCallback = src->subscriptionInactivityCallback; +#endif + dst->timeout = src->timeout; + dst->userTokenPolicy = src->userTokenPolicy; + dst->securityPolicies = src->securityPolicies; + dst->securityPoliciesSize = src->securityPoliciesSize; + dst->authSecurityPolicies = src->authSecurityPolicies; + dst->authSecurityPoliciesSize = src->authSecurityPoliciesSize; + +cleanup: + if(retval != UA_STATUSCODE_GOOD) { + /* _clear will free the plugins in dst that are a shallow copy from src. */ + dst->authSecurityPolicies = NULL; + dst->certificateVerification.context = NULL; + dst->eventLoop = NULL; + dst->logging = NULL; + dst->securityPolicies = NULL; + UA_ClientConfig_clear(dst); + } + return retval; +} + +UA_Client * +UA_Client_newWithConfig(const UA_ClientConfig *config) { + if(!config) + return NULL; + UA_Client *client = (UA_Client*)UA_malloc(sizeof(UA_Client)); + if(!client) + return NULL; + memset(client, 0, sizeof(UA_Client)); + client->config = *config; + + UA_SecureChannel_init(&client->channel); + client->channel.config = client->config.localConnectionConfig; + client->connectStatus = UA_STATUSCODE_GOOD; + +#if UA_MULTITHREADING >= 100 + UA_LOCK_INIT(&client->clientMutex); +#endif + + return client; +} + +void +UA_ClientConfig_clear(UA_ClientConfig *config) { + UA_ApplicationDescription_clear(&config->clientDescription); + UA_String_clear(&config->endpointUrl); + UA_ExtensionObject_clear(&config->userIdentityToken); + + /* Delete the SecurityPolicies for Authentication */ + if(config->authSecurityPolicies != 0) { + for(size_t i = 0; i < config->authSecurityPoliciesSize; i++) + config->authSecurityPolicies[i].clear(&config->authSecurityPolicies[i]); + UA_free(config->authSecurityPolicies); + config->authSecurityPolicies = 0; + } + UA_String_clear(&config->securityPolicyUri); + UA_String_clear(&config->authSecurityPolicyUri); + + UA_EndpointDescription_clear(&config->endpoint); + UA_UserTokenPolicy_clear(&config->userTokenPolicy); + + UA_String_clear(&config->applicationUri); + + if(config->certificateVerification.clear) + config->certificateVerification.clear(&config->certificateVerification); + + /* Delete the SecurityPolicies */ + if(config->securityPolicies != 0) { + for(size_t i = 0; i < config->securityPoliciesSize; i++) + config->securityPolicies[i].clear(&config->securityPolicies[i]); + UA_free(config->securityPolicies); + config->securityPolicies = 0; + } + + /* Stop and delete the EventLoop */ + UA_EventLoop *el = config->eventLoop; + if(el && !config->externalEventLoop) { + if(el->state != UA_EVENTLOOPSTATE_FRESH && + el->state != UA_EVENTLOOPSTATE_STOPPED) { + el->stop(el); + while(el->state != UA_EVENTLOOPSTATE_STOPPED) { + el->run(el, 100); + } + } + el->free(el); + config->eventLoop = NULL; + } + + /* Logging */ + if(config->logging != NULL && config->logging->clear != NULL) + config->logging->clear(config->logging); + config->logging = NULL; + + UA_String_clear(&config->sessionName); + if(config->sessionLocaleIdsSize > 0 && config->sessionLocaleIds) { + UA_Array_delete(config->sessionLocaleIds, + config->sessionLocaleIdsSize, &UA_TYPES[UA_TYPES_LOCALEID]); + } + config->sessionLocaleIds = NULL; + config->sessionLocaleIdsSize = 0; + + /* Custom Data Types */ + UA_cleanupDataTypeWithCustom(config->customDataTypes); + +#ifdef UA_ENABLE_ENCRYPTION + config->privateKeyPasswordCallback = NULL; +#endif +} + +void +UA_ClientConfig_delete(UA_ClientConfig *config){ + UA_assert(config != NULL); + UA_ClientConfig_clear(config); + UA_free(config); +} + +static void +UA_Client_clear(UA_Client *client) { + /* Prevent new async service calls in UA_Client_AsyncService_removeAll */ + UA_SessionState oldState = client->sessionState; + client->sessionState = UA_SESSIONSTATE_CLOSING; + + /* Delete the async service calls with BADHSUTDOWN */ + __Client_AsyncService_removeAll(client, UA_STATUSCODE_BADSHUTDOWN); + + /* Reset to the old state to properly close the session */ + client->sessionState = oldState; + + UA_Client_disconnect(client); + UA_String_clear(&client->discoveryUrl); + UA_EndpointDescription_clear(&client->endpoint); + + UA_String_clear(&client->serverSessionNonce); + UA_String_clear(&client->clientSessionNonce); + + /* Delete the subscriptions */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + __Client_Subscriptions_clean(client); +#endif + + /* Remove the internal regular callback */ + UA_Client_removeCallback(client, client->houseKeepingCallbackId); + client->houseKeepingCallbackId = 0; + + UA_SecureChannel_clear(&client->channel); + +#if UA_MULTITHREADING >= 100 + UA_LOCK_DESTROY(&client->clientMutex); +#endif +} + +void +UA_Client_delete(UA_Client* client) { + UA_Client_disconnect(client); + UA_Client_clear(client); + UA_ClientConfig_clear(&client->config); + UA_free(client); +} + +void +UA_Client_getState(UA_Client *client, UA_SecureChannelState *channelState, + UA_SessionState *sessionState, UA_StatusCode *connectStatus) { + lockClient(client); + if(channelState) + *channelState = client->channel.state; + if(sessionState) + *sessionState = client->sessionState; + if(connectStatus) + *connectStatus = client->connectStatus; + unlockClient(client); +} + +UA_ClientConfig * +UA_Client_getConfig(UA_Client *client) { + if(!client) + return NULL; + return &client->config; +} + +#if UA_LOGLEVEL <= 300 +static const char *channelStateTexts[14] = { + "Fresh", "ReverseListening", "Connecting", "Connected", "ReverseConnected", "RHESent", "HELSent", "HELReceived", "ACKSent", + "AckReceived", "OPNSent", "Open", "Closing", "Closed"}; +static const char *sessionStateTexts[6] = + {"Closed", "CreateRequested", "Created", + "ActivateRequested", "Activated", "Closing"}; +#endif + +void +notifyClientState(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + if(client->connectStatus == client->oldConnectStatus && + client->channel.state == client->oldChannelState && + client->sessionState == client->oldSessionState) + return; + +#if UA_LOGLEVEL <= 300 + UA_Boolean info = (client->connectStatus != UA_STATUSCODE_GOOD); + if(client->oldChannelState != client->channel.state) + info |= (client->channel.state == UA_SECURECHANNELSTATE_OPEN || + client->channel.state == UA_SECURECHANNELSTATE_CLOSED); + if(client->oldSessionState != client->sessionState) + info |= (client->sessionState == UA_SESSIONSTATE_CREATED || + client->sessionState == UA_SESSIONSTATE_ACTIVATED || + client->sessionState == UA_SESSIONSTATE_CLOSED); + + const char *channelStateText = channelStateTexts[client->channel.state]; + const char *sessionStateText = sessionStateTexts[client->sessionState]; + const char *connectStatusText = UA_StatusCode_name(client->connectStatus); + + if(info) + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Client Status: ChannelState: %s, SessionState: %s, ConnectStatus: %s", + channelStateText, sessionStateText, connectStatusText); + else + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Client Status: ChannelState: %s, SessionState: %s, ConnectStatus: %s", + channelStateText, sessionStateText, connectStatusText); +#endif + + client->oldConnectStatus = client->connectStatus; + client->oldChannelState = client->channel.state; + client->oldSessionState = client->sessionState; + + if(client->config.stateCallback) + client->config.stateCallback(client, client->channel.state, + client->sessionState, client->connectStatus); +} + +/****************/ +/* Raw Services */ +/****************/ + +/* For both synchronous and asynchronous service calls */ +static UA_StatusCode +sendRequest(UA_Client *client, const void *request, + const UA_DataType *requestType, UA_UInt32 *requestId) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Renew SecureChannel if necessary */ + __Client_renewSecureChannel(client); + if(client->connectStatus != UA_STATUSCODE_GOOD) + return client->connectStatus; + + /* Adjusting the request header. The const attribute is violated, but we + * reset to the original state before returning. Use the AuthenticationToken + * only once the session is active (or to activate / close it). */ + UA_RequestHeader *rr = (UA_RequestHeader*)(uintptr_t)request; + UA_NodeId oldToken = rr->authenticationToken; /* Put back in place later */ + if(client->sessionState == UA_SESSIONSTATE_ACTIVATED || + requestType == &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST] || + requestType == &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]) + rr->authenticationToken = client->authenticationToken; + rr->timestamp = UA_DateTime_now(); + + /* Create a unique handle >100,000 if not manually defined. The handle is + * not necessarily unique when manually defined and used to cancel async + * service requests. */ + if(rr->requestHandle == 0) { + if(UA_UNLIKELY(client->requestHandle < 100000)) + client->requestHandle = 100000; + rr->requestHandle = ++client->requestHandle; + } + + /* Set the timeout hint if not manually defined */ + if(rr->timeoutHint == 0) + rr->timeoutHint = client->config.timeout; + + /* Generate the request id */ + UA_UInt32 rqId = ++client->requestId; + +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, + "Sending request with RequestId %u of type %s", + (unsigned)rqId, requestType->typeName); +#else + UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, + "Sending request with RequestId %u of type %" PRIu32, + (unsigned)rqId, requestType->binaryEncodingId.identifier.numeric); +#endif + + /* Send the message */ + UA_StatusCode retval = + UA_SecureChannel_sendSymmetricMessage(&client->channel, rqId, + UA_MESSAGETYPE_MSG, rr, requestType); + + rr->authenticationToken = oldToken; /* Set back to the original token */ + + /* Sending failed. The SecureChannel cannot recover from that. Call + * closeSecureChannel to a) close from our end and b) set the session to + * non-activated. */ + if(retval != UA_STATUSCODE_GOOD) + closeSecureChannel(client); + + /* Return the request id */ + *requestId = rqId; + return retval; +} + +static const UA_NodeId +serviceFaultId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTBINARY}}; + +/* Look for the async callback in the linked list, execute and delete it */ +static UA_StatusCode +processMSGResponse(UA_Client *client, UA_UInt32 requestId, + const UA_ByteString *msg) { + /* Find the callback */ + AsyncServiceCall *ac; + LIST_FOREACH(ac, &client->asyncServiceCalls, pointers) { + if(ac->requestId == requestId) + break; + } + + /* Part 6, 6.7.6: After the security validation is complete the receiver + * shall verify the RequestId and the SequenceNumber. If these checks fail a + * Bad_SecurityChecksFailed error is reported. The RequestId only needs to + * be verified by the Client since only the Client knows if it is valid or + * not.*/ + if(!ac) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Request with unknown RequestId %u", requestId); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + UA_Response asyncResponse; + UA_Response *response = (ac->syncResponse) ? ac->syncResponse : &asyncResponse; + const UA_DataType *responseType = ac->responseType; + + /* Dequeue ac. We might disconnect the client (remove all ac) in the callback. */ + LIST_REMOVE(ac, pointers); + + /* Decode the response type */ + size_t offset = 0; + UA_NodeId responseTypeId; + UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &responseTypeId); + if(retval != UA_STATUSCODE_GOOD) + goto process; + + /* Verify the type of the response */ + if(!UA_NodeId_equal(&responseTypeId, &ac->responseType->binaryEncodingId)) { + /* Initialize before switching the responseType to ServiceFault. + * Otherwise the decoding will leave fields from the original response + * type uninitialized. */ + UA_init(response, ac->responseType); + if(UA_NodeId_equal(&responseTypeId, &serviceFaultId)) { + /* Decode as a ServiceFault, i.e. only the response header */ + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received a ServiceFault response"); + responseType = &UA_TYPES[UA_TYPES_SERVICEFAULT]; + } else { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Service response type does not match"); + retval = UA_STATUSCODE_BADCOMMUNICATIONERROR; + goto process; /* Do not decode */ + } + } + + /* Decode the response */ +#ifdef UA_ENABLE_TYPEDESCRIPTION + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Decode a message of type %s", responseType->typeName); +#else + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Decode a message of type %" PRIu32, + responseTypeId.identifier.numeric); +#endif + retval = UA_decodeBinaryInternal(msg, &offset, response, responseType, + client->config.customDataTypes); + + process: + /* Process the received MSG response */ + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not decode the response with RequestId %u with status %s", + (unsigned)requestId, UA_StatusCode_name(retval)); + response->responseHeader.serviceResult = retval; + } + + /* The Session closed. The current response is processed with the return code. + * The next request first recreates a session. */ + if(responseType != &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE] && + (response->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONIDINVALID || + response->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONCLOSED)) { + /* Clean up the session information and reset the state */ + cleanupSession(client); + + if(client->config.noNewSession) { + /* Configuration option to not create a new Session. Disconnect the + * client. */ + client->connectStatus = response->responseHeader.serviceResult; + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Session cannot be activated with StatusCode %s. " + "The client is configured not to create a new Session.", + UA_StatusCode_name(client->connectStatus)); + closeSecureChannel(client); + } else { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Session no longer valid. A new Session is created for the next " + "Service request but we do not re-send the current request."); + } + } + + /* Call the async callback. This is the only thread with access to ac. So we + * can just unlock for the callback into userland. */ + if(ac->callback) + ac->callback(client, ac->userdata, requestId, response); + + /* Clean up */ + UA_NodeId_clear(&responseTypeId); + if(!ac->syncResponse) { + UA_clear(response, ac->responseType); + UA_free(ac); + } else { + /* Return a special status code after processing a synchronous message. + * This makes the client return control immediately. */ + ac->syncResponse = NULL; /* Indicate that response was received */ + if(retval == UA_STATUSCODE_GOOD) + retval = UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY; + } + return retval; +} + +UA_StatusCode +processServiceResponse(UA_Client *client, UA_SecureChannel *channel, + UA_MessageType messageType, UA_UInt32 requestId, + UA_ByteString *message) { + if(!UA_SecureChannel_isConnected(channel)) { + if(messageType == UA_MESSAGETYPE_MSG) { + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Discard MSG message " + "with RequestId %u as the SecureChannel is not connected", + requestId); + } else { + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Discard message " + "as the SecureChannel is not connected"); + } + return UA_STATUSCODE_BADCONNECTIONCLOSED; + } + + switch(messageType) { + case UA_MESSAGETYPE_RHE: + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process RHE message"); + processRHEMessage(client, message); + return UA_STATUSCODE_GOOD; + case UA_MESSAGETYPE_ACK: + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process ACK message"); + processACKResponse(client, message); + return UA_STATUSCODE_GOOD; + case UA_MESSAGETYPE_OPN: + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process OPN message"); + processOPNResponse(client, message); + return UA_STATUSCODE_GOOD; + case UA_MESSAGETYPE_ERR: + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process ERR message"); + processERRResponse(client, message); + return UA_STATUSCODE_GOOD; + case UA_MESSAGETYPE_MSG: + UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process MSG message " + "with RequestId %u", requestId); + return processMSGResponse(client, requestId, message); + default: + UA_LOG_TRACE_CHANNEL(client->config.logging, channel, + "Invalid message type"); + channel->state = UA_SECURECHANNELSTATE_CLOSING; + return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; + } +} + +void +__Client_Service(UA_Client *client, const void *request, + const UA_DataType *requestType, void *response, + const UA_DataType *responseType) { + UA_ResponseHeader *respHeader = (UA_ResponseHeader*)response; + + /* Initialize. Response is valied in case of aborting. */ + UA_init(response, responseType); + + /* Verify that the EventLoop is running */ + UA_EventLoop *el = client->config.eventLoop; + if(!el || el->state != UA_EVENTLOOPSTATE_STARTED) { + respHeader->serviceResult = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* Check that the SecureChannel is open and also a Session active (if we + * want a Session). Otherwise reopen. */ + if(!isFullyConnected(client)) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Re-establish the connction for the synchronous service call"); + connectSync(client); + if(client->connectStatus != UA_STATUSCODE_GOOD) { + respHeader->serviceResult = client->connectStatus; + return; + } + } + + /* Store the channelId to detect if the channel was changed by a + * reconnection within the EventLoop run method. */ + UA_UInt32 channelId = client->channel.securityToken.channelId; + + /* Send the request */ + UA_UInt32 requestId = 0; + UA_StatusCode retval = sendRequest(client, request, requestType, &requestId); + if(retval != UA_STATUSCODE_GOOD) { + /* If sending failed, the status is set to closing. The SecureChannel is + * the actually closed in the next iteration of the EventLoop. */ + UA_assert(client->channel.state == UA_SECURECHANNELSTATE_CLOSING || + client->channel.state == UA_SECURECHANNELSTATE_CLOSED); + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Sending the request failed with status %s", + UA_StatusCode_name(retval)); + notifyClientState(client); + respHeader->serviceResult = retval; + return; + } + + /* Temporarily insert an AsyncServiceCall */ + const UA_RequestHeader *rh = (const UA_RequestHeader*)request; + AsyncServiceCall ac; + ac.callback = NULL; + ac.userdata = NULL; + ac.responseType = responseType; + ac.syncResponse = (UA_Response*)response; + ac.requestId = requestId; + ac.start = UA_DateTime_nowMonotonic(); /* Start timeout after sending */ + ac.timeout = rh->timeoutHint; + ac.requestHandle = rh->requestHandle; + if(ac.timeout == 0) + ac.timeout = UA_UINT32_MAX; /* 0 -> unlimited */ + + LIST_INSERT_HEAD(&client->asyncServiceCalls, &ac, pointers); + + /* Time until which the request has to be answered */ + UA_DateTime maxDate = ac.start + ((UA_DateTime)ac.timeout * UA_DATETIME_MSEC); + + /* Run the EventLoop until the request was processed, the request has timed + * out or the client connection fails */ + UA_UInt32 timeout_remaining = ac.timeout; + while(true) { + /* Unlock before dropping into the EventLoop. The client lock is + * re-taken in the network callback if an event occurs. */ + retval = el->run(el, timeout_remaining); + + /* Was the response received? In that case we can directly return. The + * ac was already removed from the internal linked list. */ + if(ac.syncResponse == NULL) + return; + + /* Check the status. Do not try to resend if the connection breaks. + * Leave this to the application-level user. For example, we do not want + * to call a method twice is the connection broke after sending the + * request. */ + if(retval != UA_STATUSCODE_GOOD) + break; + + /* The connection was lost */ + retval = client->connectStatus; + if(retval != UA_STATUSCODE_GOOD) + break; + + /* The channel is no longer the same or was closed */ + if(channelId != client->channel.securityToken.channelId) { + retval = UA_STATUSCODE_BADSECURECHANNELCLOSED; + break; + } + + /* Update the remaining timeout or break */ + UA_DateTime now = UA_DateTime_nowMonotonic(); + if(now > maxDate) { + retval = UA_STATUSCODE_BADTIMEOUT; + break; + } + timeout_remaining = (UA_UInt32)((maxDate - now) / UA_DATETIME_MSEC); + } + + /* Detach from the internal async service list */ + LIST_REMOVE(&ac, pointers); + + /* Return the status code */ + respHeader->serviceResult = retval; +} + +void +__UA_Client_Service(UA_Client *client, const void *request, + const UA_DataType *requestType, void *response, + const UA_DataType *responseType) { + lockClient(client); + __Client_Service(client, request, requestType, response, responseType); + unlockClient(client); +} + +/***********************************/ +/* Handling of Async Service Calls */ +/***********************************/ + +static void +__Client_AsyncService_cancel(UA_Client *client, AsyncServiceCall *ac, + UA_StatusCode statusCode) { + /* Set the status for the synchronous service call. Don't free the ac. */ + if(ac->syncResponse) { + ac->syncResponse->responseHeader.serviceResult = statusCode; + ac->syncResponse = NULL; /* Indicate the async service call was processed */ + return; + } + + if(ac->callback) { + /* Create an empty response with the statuscode and call the callback */ + UA_Response response; + UA_init(&response, ac->responseType); + response.responseHeader.serviceResult = statusCode; + ac->callback(client, ac->userdata, ac->requestId, &response); + + /* Clean up the response. The user callback might move data into it. For + * whatever reasons. */ + UA_clear(&response, ac->responseType); + } + + UA_free(ac); +} + +void +__Client_AsyncService_removeAll(UA_Client *client, UA_StatusCode statusCode) { + /* Make this function reentrant. One of the async callbacks could indirectly + * operate on the list. Moving all elements to a local list before iterating + * that. */ + UA_AsyncServiceList asyncServiceCalls = client->asyncServiceCalls; + LIST_INIT(&client->asyncServiceCalls); + if(asyncServiceCalls.lh_first) + asyncServiceCalls.lh_first->pointers.le_prev = &asyncServiceCalls.lh_first; + + /* Cancel and remove the elements from the local list */ + AsyncServiceCall *ac, *ac_tmp; + LIST_FOREACH_SAFE(ac, &asyncServiceCalls, pointers, ac_tmp) { + LIST_REMOVE(ac, pointers); + __Client_AsyncService_cancel(client, ac, statusCode); + } +} + +UA_StatusCode +UA_Client_modifyAsyncCallback(UA_Client *client, UA_UInt32 requestId, + void *userdata, UA_ClientAsyncServiceCallback callback) { + lockClient(client); + AsyncServiceCall *ac; + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + LIST_FOREACH(ac, &client->asyncServiceCalls, pointers) { + if(ac->requestId == requestId) { + ac->callback = callback; + ac->userdata = userdata; + res = UA_STATUSCODE_GOOD; + break; + } + } + unlockClient(client); + return res; +} + +UA_StatusCode +__Client_AsyncService(UA_Client *client, const void *request, + const UA_DataType *requestType, + UA_ClientAsyncServiceCallback callback, + const UA_DataType *responseType, + void *userdata, UA_UInt32 *requestId) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Is the SecureChannel connected? */ + if(client->channel.state != UA_SECURECHANNELSTATE_OPEN) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "SecureChannel must be connected to send request"); + return UA_STATUSCODE_BADSERVERNOTCONNECTED; + } + + /* Prepare the entry for the linked list */ + AsyncServiceCall *ac = (AsyncServiceCall*)UA_malloc(sizeof(AsyncServiceCall)); + if(!ac) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Call the service and set the requestId */ + UA_StatusCode retval = sendRequest(client, request, requestType, &ac->requestId); + if(retval != UA_STATUSCODE_GOOD) { + /* If sending failed, the status is set to closing. The SecureChannel is + * the actually closed in the next iteration of the EventLoop. */ + UA_assert(client->channel.state == UA_SECURECHANNELSTATE_CLOSING || + client->channel.state == UA_SECURECHANNELSTATE_CLOSED); + UA_free(ac); + notifyClientState(client); + return retval; + } + + /* Set up the AsyncServiceCall for processing the response */ + const UA_RequestHeader *rh = (const UA_RequestHeader*)request; + ac->callback = callback; + ac->responseType = responseType; + ac->userdata = userdata; + ac->syncResponse = NULL; + ac->start = UA_DateTime_nowMonotonic(); + ac->timeout = rh->timeoutHint; + ac->requestHandle = rh->requestHandle; + if(ac->timeout == 0) + ac->timeout = UA_UINT32_MAX; /* 0 -> unlimited */ + + LIST_INSERT_HEAD(&client->asyncServiceCalls, ac, pointers); + + /* Return the generated request id */ + if(requestId) + *requestId = ac->requestId; + + /* Notify the userland if a change happened */ + notifyClientState(client); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +__UA_Client_AsyncService(UA_Client *client, const void *request, + const UA_DataType *requestType, + UA_ClientAsyncServiceCallback callback, + const UA_DataType *responseType, + void *userdata, UA_UInt32 *requestId) { + lockClient(client); + UA_StatusCode res = + __Client_AsyncService(client, request, requestType, callback, responseType, + userdata, requestId); + unlockClient(client); + return res; +} + +static UA_StatusCode +cancelByRequestHandle(UA_Client *client, UA_UInt32 requestHandle, UA_UInt32 *cancelCount) { + UA_CancelRequest creq; + UA_CancelRequest_init(&creq); + creq.requestHandle = requestHandle; + UA_CancelResponse cresp; + UA_CancelResponse_init(&cresp); + __Client_Service(client, &creq, &UA_TYPES[UA_TYPES_CANCELREQUEST], + &cresp, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); + if(cancelCount) + *cancelCount = cresp.cancelCount; + UA_StatusCode res = cresp.responseHeader.serviceResult; + UA_CancelResponse_clear(&cresp); + return res; +} + +UA_StatusCode +UA_Client_cancelByRequestHandle(UA_Client *client, UA_UInt32 requestHandle, + UA_UInt32 *cancelCount) { + lockClient(client); + UA_StatusCode res = cancelByRequestHandle(client, requestHandle, cancelCount); + unlockClient(client); + return res; +} + +UA_StatusCode +UA_Client_cancelByRequestId(UA_Client *client, UA_UInt32 requestId, + UA_UInt32 *cancelCount) { + lockClient(client); + UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; + AsyncServiceCall *ac; + LIST_FOREACH(ac, &client->asyncServiceCalls, pointers) { + if(ac->requestId != requestId) + continue; + res = cancelByRequestHandle(client, ac->requestHandle, cancelCount); + break; + } + unlockClient(client); + return res; +} + +/*******************/ +/* Timed Callbacks */ +/*******************/ + +UA_StatusCode +UA_Client_addTimedCallback(UA_Client *client, UA_ClientCallback callback, + void *data, UA_DateTime date, UA_UInt64 *callbackId) { + if(!client->config.eventLoop) + return UA_STATUSCODE_BADINTERNALERROR; + lockClient(client); + UA_StatusCode res = client->config.eventLoop-> + addTimedCallback(client->config.eventLoop, (UA_Callback)callback, + client, data, date, callbackId); + unlockClient(client); + return res; +} + +UA_StatusCode +UA_Client_addRepeatedCallback(UA_Client *client, UA_ClientCallback callback, + void *data, UA_Double interval_ms, UA_UInt64 *callbackId) { + if(!client->config.eventLoop) + return UA_STATUSCODE_BADINTERNALERROR; + lockClient(client); + UA_StatusCode res = client->config.eventLoop-> + addCyclicCallback(client->config.eventLoop, (UA_Callback)callback, + client, data, interval_ms, NULL, + UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, callbackId); + unlockClient(client); + return res; +} + +UA_StatusCode +UA_Client_changeRepeatedCallbackInterval(UA_Client *client, UA_UInt64 callbackId, + UA_Double interval_ms) { + if(!client->config.eventLoop) + return UA_STATUSCODE_BADINTERNALERROR; + lockClient(client); + UA_StatusCode res = client->config.eventLoop-> + modifyCyclicCallback(client->config.eventLoop, callbackId, interval_ms, + NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME); + unlockClient(client); + return res; +} + +void +UA_Client_removeCallback(UA_Client *client, UA_UInt64 callbackId) { + if(!client->config.eventLoop) + return; + lockClient(client); + client->config.eventLoop-> + removeCyclicCallback(client->config.eventLoop, callbackId); + unlockClient(client); +} + +/**********************/ +/* Housekeeping Tasks */ +/**********************/ + +static void +asyncServiceTimeoutCheck(UA_Client *client) { + /* Make this function reentrant. One of the async callbacks could indirectly + * operate on the list. Moving all elements to a local list before iterating + * that. */ + UA_AsyncServiceList asyncServiceCalls; + AsyncServiceCall *ac, *ac_tmp; + UA_DateTime now = UA_DateTime_nowMonotonic(); + LIST_INIT(&asyncServiceCalls); + LIST_FOREACH_SAFE(ac, &client->asyncServiceCalls, pointers, ac_tmp) { + if(!ac->timeout) + continue; + if(ac->start + (UA_DateTime)(ac->timeout * UA_DATETIME_MSEC) <= now) { + LIST_REMOVE(ac, pointers); + LIST_INSERT_HEAD(&asyncServiceCalls, ac, pointers); + } + } + + /* Cancel and remove the elements from the local list */ + LIST_FOREACH_SAFE(ac, &asyncServiceCalls, pointers, ac_tmp) { + LIST_REMOVE(ac, pointers); + __Client_AsyncService_cancel(client, ac, UA_STATUSCODE_BADTIMEOUT); + } +} + +static void +backgroundConnectivityCallback(UA_Client *client, void *userdata, + UA_UInt32 requestId, const UA_ReadResponse *response) { + lockClient(client); + if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTIMEOUT) { + if(client->config.inactivityCallback) + client->config.inactivityCallback(client); + } + client->pendingConnectivityCheck = false; + client->lastConnectivityCheck = UA_DateTime_nowMonotonic(); + unlockClient(client); +} + +static void +__Client_backgroundConnectivity(UA_Client *client) { + if(!client->config.connectivityCheckInterval) + return; + + if(client->pendingConnectivityCheck) + return; + + UA_DateTime now = UA_DateTime_nowMonotonic(); + UA_DateTime nextDate = client->lastConnectivityCheck + + (UA_DateTime)(client->config.connectivityCheckInterval * UA_DATETIME_MSEC); + if(now <= nextDate) + return; + + /* Prepare the request */ + UA_ReadValueId rvid; + UA_ReadValueId_init(&rvid); + rvid.attributeId = UA_ATTRIBUTEID_VALUE; + rvid.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_STATE); + UA_ReadRequest request; + UA_ReadRequest_init(&request); + request.nodesToRead = &rvid; + request.nodesToReadSize = 1; + UA_StatusCode retval = + __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_READREQUEST], + (UA_ClientAsyncServiceCallback)backgroundConnectivityCallback, + &UA_TYPES[UA_TYPES_READRESPONSE], NULL, NULL); + if(retval == UA_STATUSCODE_GOOD) + client->pendingConnectivityCheck = true; +} + +/* Regular housekeeping activities in the client -- called via a cyclic callback */ +static void +clientHouseKeeping(UA_Client *client, void *_) { + lockClient(client); + + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Internally check the the client state and " + "required activities"); + + /* Renew Secure Channel */ + __Client_renewSecureChannel(client); + + /* Send read requests from time to time to test the connectivity */ + __Client_backgroundConnectivity(client); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* Feed the server PublishRequests for the Subscriptions */ + __Client_Subscriptions_backgroundPublish(client); + + /* Check for inactive Subscriptions */ + __Client_Subscriptions_backgroundPublishInactivityCheck(client); +#endif + + /* Did async services time out? Process callbacks with an error code */ + asyncServiceTimeoutCheck(client); + + /* Log and notify user if the client state has changed */ + notifyClientState(client); + + unlockClient(client); +} + +UA_StatusCode +__UA_Client_startup(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_EventLoop *el = client->config.eventLoop; + UA_CHECK_ERROR(el != NULL, + return UA_STATUSCODE_BADINTERNALERROR, + client->config.logging, UA_LOGCATEGORY_CLIENT, + "No EventLoop configured"); + + /* Set up the repeated timer callback for checking the internal state. Like + * in the public API UA_Client_addRepeatedCallback, but without locking the + * mutex again */ + UA_StatusCode rv = UA_STATUSCODE_GOOD; + if(!client->houseKeepingCallbackId) { + rv = el->addCyclicCallback(el, (UA_Callback)clientHouseKeeping, + client, NULL, 1000.0, NULL, + UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, + &client->houseKeepingCallbackId); + UA_CHECK_STATUS(rv, return rv); + } + + /* Start the EventLoop? */ + if(el->state == UA_EVENTLOOPSTATE_FRESH) { + rv = el->start(el); + UA_CHECK_STATUS(rv, return rv); + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_run_iterate(UA_Client *client, UA_UInt32 timeout) { + /* Make sure the EventLoop has been started */ + lockClient(client); + UA_StatusCode rv = __UA_Client_startup(client); + unlockClient(client); + UA_CHECK_STATUS(rv, return rv); + + /* All timers and network events are triggered in the EventLoop. Release the + * client lock before. The callbacks from the EventLoop take the lock + * again. */ + UA_EventLoop *el = client->config.eventLoop; + rv = el->run(el, timeout); + UA_CHECK_STATUS(rv, return rv); + return client->connectStatus; +} + +const UA_DataType * +UA_Client_findDataType(UA_Client *client, const UA_NodeId *typeId) { + return UA_findDataTypeWithCustom(typeId, client->config.customDataTypes); +} + +/*************************/ +/* Connection Attributes */ +/*************************/ + +#define UA_CONNECTIONATTRIBUTESSIZE 3 +static const UA_QualifiedName connectionAttributes[UA_CONNECTIONATTRIBUTESSIZE] = { + {0, UA_STRING_STATIC("serverDescription")}, + {0, UA_STRING_STATIC("securityPolicyUri")}, + {0, UA_STRING_STATIC("securityMode")} +}; + +static UA_StatusCode +getConnectionttribute(UA_Client *client, const UA_QualifiedName key, + UA_Variant *outValue, UA_Boolean copy) { + if(!outValue) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_Variant localAttr; + + if(UA_QualifiedName_equal(&key, &connectionAttributes[0])) { + /* ServerDescription */ + UA_Variant_setScalar(&localAttr, &client->endpoint.server, + &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); + } else if(UA_QualifiedName_equal(&key, &connectionAttributes[1])) { + /* SecurityPolicyUri */ + const UA_SecurityPolicy *sp = client->channel.securityPolicy; + if(!sp) + return UA_STATUSCODE_BADNOTCONNECTED; + UA_Variant_setScalar(&localAttr, (void*)(uintptr_t)&sp->policyUri, + &UA_TYPES[UA_TYPES_STRING]); + } else if(UA_QualifiedName_equal(&key, &connectionAttributes[2])) { + /* SecurityMode */ + UA_Variant_setScalar(&localAttr, &client->channel.securityMode, + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); + } else { + return UA_STATUSCODE_BADINTERNALERROR; + } + + if(copy) + return UA_Variant_copy(&localAttr, outValue); + + localAttr.storageType = UA_VARIANT_DATA_NODELETE; + *outValue = localAttr; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_getConnectionAttribute(UA_Client *client, const UA_QualifiedName key, + UA_Variant *outValue) { + lockClient(client); + UA_StatusCode res = getConnectionttribute(client, key, outValue, false); + unlockClient(client); + return res; +} + +UA_StatusCode +UA_Client_getConnectionAttributeCopy(UA_Client *client, const UA_QualifiedName key, + UA_Variant *outValue) { + lockClient(client); + UA_StatusCode res = getConnectionttribute(client, key, outValue, true); + unlockClient(client); + return res; +} + +UA_StatusCode +UA_Client_getConnectionAttribute_scalar(UA_Client *client, + const UA_QualifiedName key, + const UA_DataType *type, + void *outValue) { + lockClient(client); + + UA_Variant attr; + UA_StatusCode res = getConnectionttribute(client, key, &attr, false); + if(res != UA_STATUSCODE_GOOD) { + unlockClient(client); + return res; + } + + if(!UA_Variant_hasScalarType(&attr, type)) { + unlockClient(client); + return UA_STATUSCODE_BADNOTFOUND; + } + + memcpy(outValue, attr.data, type->memSize); + + unlockClient(client); + return UA_STATUSCODE_GOOD; +} + +void lockClient(UA_Client *client) { + if(UA_LIKELY(client->config.eventLoop && client->config.eventLoop->lock)) + client->config.eventLoop->lock(client->config.eventLoop); + UA_LOCK(&client->clientMutex); +} + +void unlockClient(UA_Client *client) { + if(UA_LIKELY(client->config.eventLoop && client->config.eventLoop->unlock)) + client->config.eventLoop->unlock(client->config.eventLoop); + UA_UNLOCK(&client->clientMutex); +} + +/**** amalgamated original file "/src/client/ua_client_connect.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017-2019 (c) Fraunhofer IOSB (Author: Mark Giraud) + */ + + + +/* Some OPC UA servers only return all Endpoints if the EndpointURL used during + * the HEL/ACK handshake exactly matches -- including the path following the + * address and port! Hence for the first connection we only call FindServers and + * reopen a new TCP connection using then EndpointURL found there. + * + * The overall process is this: + * - Connect with the EndpointURL provided by the user (HEL/ACK) + * - Call FindServers + * - If one of the results has an exactly matching EndpointUrl, continue. + * - Otherwise select a matching server, update the endpointURL member of + * UA_Client and reconnect. + * - Call GetEndpoints and select an Endpoint + * - Open a SecureChannel and Session for that Endpoint + */ + +#define UA_MINMESSAGESIZE 8192 +#define UA_SESSION_LOCALNONCELENGTH 32 +#define MAX_DATA_SIZE 4096 + +static void initConnect(UA_Client *client); +static UA_StatusCode createSessionAsync(UA_Client *client); +static UA_UserTokenPolicy * +findUserTokenPolicy(UA_Client *client, UA_EndpointDescription *endpoint); + +/* Get the EndpointUrl to be used right now. + * This is adjusted during the discovery process. + * We fall back if connecting to an EndpointUrl fails. */ +static UA_String +getEndpointUrl(UA_Client *client) { + if(client->endpoint.endpointUrl.length > 0) + return client->endpoint.endpointUrl; + if(client->discoveryUrl.length > 0) + return client->discoveryUrl; + return client->config.endpointUrl; +} + +/* If an EndpointUrl doesn't work (TCP connection fails), fall back to the + * initial EndpointUrl */ +static UA_StatusCode +fallbackEndpointUrl(UA_Client* client) { + /* Cannot fallback, the initial EndpointUrl is already in use */ + UA_String currentUrl = getEndpointUrl(client); + if(UA_String_equal(¤tUrl, &client->config.endpointUrl)) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not open a TCP connection to the Endpoint at %.*s", + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + if(client->endpoint.endpointUrl.length > 0) { + /* Overwrite the EndpointUrl of the Endpoint */ + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not open a TCP connection to the Endpoint at %.*s. " + "Overriding the endpoint description with the initial " + "EndpointUrl at %.*s.", + (int)client->endpoint.endpointUrl.length, + client->endpoint.endpointUrl.data, + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + UA_String_clear(&client->endpoint.endpointUrl); + return UA_String_copy(&client->config.endpointUrl, + &client->endpoint.endpointUrl); + } else { + /* Overwrite the DiscoveryUrl returned by FindServers */ + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The DiscoveryUrl returned by the FindServers service (%.*s) " + "could not be connected. Continuing with the initial EndpointUrl " + "%.*s for the GetEndpoints service.", + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data, + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + UA_String_clear(&client->discoveryUrl); + return UA_String_copy(&client->config.endpointUrl, &client->discoveryUrl); + } +} + +static UA_SecurityPolicy * +getSecurityPolicy(UA_Client *client, UA_String policyUri) { + if(policyUri.length == 0) + policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + for(size_t i = 0; i < client->config.securityPoliciesSize; i++) { + if(UA_String_equal(&policyUri, &client->config.securityPolicies[i].policyUri)) + return &client->config.securityPolicies[i]; + } + return NULL; +} + +#ifdef UA_ENABLE_ENCRYPTION +static UA_SecurityPolicy * +getAuthSecurityPolicy(UA_Client *client, UA_String policyUri) { + for(size_t i = 0; i < client->config.authSecurityPoliciesSize; i++) { + if(UA_String_equal(&policyUri, &client->config.authSecurityPolicies[i].policyUri)) + return &client->config.authSecurityPolicies[i]; + } + return NULL; +} +#endif + +/* The endpoint is unconfigured if the description is all zeroed-out */ +static UA_Boolean +endpointUnconfigured(const UA_EndpointDescription *endpoint) { + UA_EndpointDescription tmp; + UA_EndpointDescription_init(&tmp); + return UA_equal(&tmp, endpoint, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); +} + +UA_Boolean +isFullyConnected(UA_Client *client) { + /* No Session, but require one */ + if(client->sessionState != UA_SESSIONSTATE_ACTIVATED && !client->config.noSession) + return false; + + /* No SecureChannel */ + if(client->channel.state != UA_SECURECHANNELSTATE_OPEN) + return false; + + /* GetEndpoints handshake ongoing or not yet done */ + if(client->endpointsHandshake || endpointUnconfigured(&client->endpoint)) + return false; + + /* FindServers handshake ongoing or not yet done */ + if(client->findServersHandshake || client->discoveryUrl.length == 0) + return false; + + return true; +} + +#ifdef UA_ENABLE_ENCRYPTION + +/* Function to create a signature using remote certificate and nonce. + * This uses the SecurityPolicy of the SecureChannel. */ +static UA_StatusCode +signClientSignature(UA_Client *client, UA_ActivateSessionRequest *request) { + UA_SecureChannel *channel = &client->channel; + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_SignatureData *sd = &request->clientSignature; + const UA_SecurityPolicySignatureAlgorithm *signAlg = + &sp->asymmetricModule.cryptoModule.signatureAlgorithm; + + /* Copy the signature algorithm identifier */ + UA_StatusCode retval = UA_String_copy(&signAlg->uri, &sd->algorithm); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Allocate memory for the signature */ + size_t signatureSize = signAlg->getLocalSignatureSize(channel->channelContext); + retval = UA_ByteString_allocBuffer(&sd->signature, signatureSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Create a temporary buffer */ + size_t signDataSize = + channel->remoteCertificate.length + client->serverSessionNonce.length; + if(signDataSize > MAX_DATA_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + UA_Byte buf[MAX_DATA_SIZE]; + UA_ByteString signData = {signDataSize, buf}; + + /* Sign the ClientSignature */ + memcpy(buf, channel->remoteCertificate.data, channel->remoteCertificate.length); + memcpy(buf + channel->remoteCertificate.length, client->serverSessionNonce.data, + client->serverSessionNonce.length); + return signAlg->sign(channel->channelContext, &signData, &sd->signature); +} + +static UA_StatusCode +signUserTokenSignature(UA_Client *client, UA_SecurityPolicy *utsp, + UA_ActivateSessionRequest *request) { + /* Check the size of the content for signing and create a temporary buffer */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + size_t signDataSize = + client->channel.remoteCertificate.length + client->serverSessionNonce.length; + if(signDataSize > MAX_DATA_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + UA_Byte buf[MAX_DATA_SIZE]; + UA_ByteString signData = {signDataSize, buf}; + + /* Copy the algorithm identifier */ + UA_SecurityPolicySignatureAlgorithm *utpSignAlg = + &utsp->asymmetricModule.cryptoModule.signatureAlgorithm; + UA_SignatureData *utsd = &request->userTokenSignature; + retval = UA_String_copy(&utpSignAlg->uri, &utsd->algorithm); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* We need a channel context with the user certificate in order to reuse the + * code for signing. */ + void *tmpCtx; + retval = utsp->channelModule.newContext(utsp, &client->channel.remoteCertificate, &tmpCtx); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Allocate memory for the signature */ + retval = UA_ByteString_allocBuffer(&utsd->signature, + utpSignAlg->getLocalSignatureSize(tmpCtx)); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup_utp; + + /* Create the userTokenSignature */ + memcpy(buf, client->channel.remoteCertificate.data, + client->channel.remoteCertificate.length); + memcpy(buf + client->channel.remoteCertificate.length, + client->serverSessionNonce.data, client->serverSessionNonce.length); + retval = utpSignAlg->sign(tmpCtx, &signData, &utsd->signature); + + /* Clean up */ + cleanup_utp: + utsp->channelModule.deleteContext(tmpCtx); + return retval; +} + +/* UserName and IssuedIdentity are transferred encrypted. + * X509 and Anonymous are not. */ +static UA_StatusCode +encryptUserIdentityToken(UA_Client *client, UA_SecurityPolicy *utsp, + UA_ExtensionObject *userIdentityToken) { + UA_IssuedIdentityToken *iit = NULL; + UA_UserNameIdentityToken *unit = NULL; + UA_ByteString *tokenData; + const UA_DataType *tokenType = userIdentityToken->content.decoded.type; + if(tokenType == &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) { + iit = (UA_IssuedIdentityToken*)userIdentityToken->content.decoded.data; + tokenData = &iit->tokenData; + } else if(tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) { + unit = (UA_UserNameIdentityToken*)userIdentityToken->content.decoded.data; + tokenData = &unit->password; + } else { + return UA_STATUSCODE_GOOD; + } + + /* Create a temp channel context */ + + void *channelContext; + UA_StatusCode retval = utsp->channelModule. + newContext(utsp, &client->endpoint.serverCertificate, &channelContext); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, + "Could not instantiate the SecurityPolicy for the UserToken"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Compute the encrypted length (at least one byte padding) */ + size_t plainTextBlockSize = utsp->asymmetricModule.cryptoModule. + encryptionAlgorithm.getRemotePlainTextBlockSize(channelContext); + size_t encryptedBlockSize = utsp->asymmetricModule.cryptoModule. + encryptionAlgorithm.getRemoteBlockSize(channelContext); + UA_UInt32 length = (UA_UInt32)(tokenData->length + client->serverSessionNonce.length); + UA_UInt32 totalLength = length + 4; /* Including the length field */ + size_t blocks = totalLength / plainTextBlockSize; + if(totalLength % plainTextBlockSize != 0) + blocks++; + size_t encryptedLength = blocks * encryptedBlockSize; + + /* Allocate memory for encryption overhead */ + UA_ByteString encrypted; + retval = UA_ByteString_allocBuffer(&encrypted, encryptedLength); + if(retval != UA_STATUSCODE_GOOD) { + utsp->channelModule.deleteContext(channelContext); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_Byte *pos = encrypted.data; + const UA_Byte *end = &encrypted.data[encrypted.length]; + retval = UA_UInt32_encodeBinary(&length, &pos, end); + memcpy(pos, tokenData->data, tokenData->length); + memcpy(&pos[tokenData->length], client->serverSessionNonce.data, + client->serverSessionNonce.length); + UA_assert(retval == UA_STATUSCODE_GOOD); + + /* Add padding + * + * 7.36.2.2 Legacy Encrypted Token Secret Format: A Client should not add any + * padding after the secret. If a Client adds padding then all bytes shall + * be zero. A Server shall check for padding added by Clients and ensure + * that all padding bytes are zeros. */ + size_t paddedLength = plainTextBlockSize * blocks; + for(size_t i = totalLength; i < paddedLength; i++) + encrypted.data[i] = 0; + encrypted.length = paddedLength; + + retval = utsp->asymmetricModule.cryptoModule.encryptionAlgorithm. + encrypt(channelContext, &encrypted); + encrypted.length = encryptedLength; + UA_ByteString_clear(tokenData); + *tokenData = encrypted; + + /* Delete the temporary channel context */ + utsp->channelModule.deleteContext(channelContext); + + if(iit) { + retval |= UA_String_copy(&utsp->asymmetricModule.cryptoModule.encryptionAlgorithm.uri, + &iit->encryptionAlgorithm); + } else { + retval |= UA_String_copy(&utsp->asymmetricModule.cryptoModule.encryptionAlgorithm.uri, + &unit->encryptionAlgorithm); + } + return retval; +} + +/* Function to verify the signature corresponds to ClientNonce + * using the local certificate */ +static UA_StatusCode +checkCreateSessionSignature(UA_Client *client, const UA_SecureChannel *channel, + const UA_CreateSessionResponse *response) { + if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && + channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return UA_STATUSCODE_GOOD; + + if(!channel->securityPolicy) + return UA_STATUSCODE_BADINTERNALERROR; + + const UA_SecurityPolicy *sp = channel->securityPolicy; + const UA_ByteString *lc = &sp->localCertificate; + + size_t dataToVerifySize = lc->length + client->clientSessionNonce.length; + UA_ByteString dataToVerify = UA_BYTESTRING_NULL; + UA_StatusCode retval = UA_ByteString_allocBuffer(&dataToVerify, dataToVerifySize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + memcpy(dataToVerify.data, lc->data, lc->length); + memcpy(dataToVerify.data + lc->length, client->clientSessionNonce.data, + client->clientSessionNonce.length); + + retval = sp->asymmetricModule.cryptoModule.signatureAlgorithm. + verify(channel->channelContext, &dataToVerify, + &response->serverSignature.signature); + UA_ByteString_clear(&dataToVerify); + return retval; +} + +#endif + +/***********************/ +/* Open the Connection */ +/***********************/ + +void +processERRResponse(UA_Client *client, const UA_ByteString *chunk) { + size_t offset = 0; + UA_TcpErrorMessage errMessage; + client->connectStatus = + UA_decodeBinaryInternal(chunk, &offset, &errMessage, + &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE], NULL); + if(client->connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR_CHANNEL(client->config.logging, &client->channel, + "Received an ERR response that could not be decoded " + "with StatusCode %s", + UA_StatusCode_name(client->connectStatus)); + closeSecureChannel(client); + return; + } + + UA_LOG_ERROR_CHANNEL(client->config.logging, &client->channel, + "Received an ERR response with StatusCode %s and the following " + "reason: %.*s", UA_StatusCode_name(errMessage.error), + (int)errMessage.reason.length, errMessage.reason.data); + client->connectStatus = errMessage.error; + closeSecureChannel(client); + UA_TcpErrorMessage_clear(&errMessage); +} + +void +processACKResponse(UA_Client *client, const UA_ByteString *chunk) { + UA_SecureChannel *channel = &client->channel; + if(channel->state != UA_SECURECHANNELSTATE_HEL_SENT) { + UA_LOG_ERROR_CHANNEL(client->config.logging, channel, + "SecureChannel not in the HEL-sent state"); + client->connectStatus = UA_STATUSCODE_BADSECURECHANNELCLOSED; + closeSecureChannel(client); + return; + } + + /* Decode the message */ + size_t offset = 0; + UA_TcpAcknowledgeMessage ackMessage; + client->connectStatus = + UA_decodeBinaryInternal(chunk, &offset, &ackMessage, + &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE], NULL); + if(client->connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_NETWORK, + "Decoding ACK message failed"); + closeSecureChannel(client); + return; + } + + client->connectStatus = + UA_SecureChannel_processHELACK(channel, &ackMessage); + if(client->connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_NETWORK, + "Processing the ACK message failed with StatusCode %s", + UA_StatusCode_name(client->connectStatus)); + closeSecureChannel(client); + return; + } + + client->channel.state = UA_SECURECHANNELSTATE_ACK_RECEIVED; +} + +static UA_StatusCode +sendHELMessage(UA_Client *client) { + UA_ConnectionManager *cm = client->channel.connectionManager; + if(!UA_SecureChannel_isConnected(&client->channel)) + return UA_STATUSCODE_BADNOTCONNECTED; + + /* Get a buffer */ + UA_ByteString message; + UA_StatusCode retval = cm->allocNetworkBuffer(cm, client->channel.connectionId, + &message, UA_MINMESSAGESIZE); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Prepare the HEL message and encode at offset 8 */ + UA_TcpHelloMessage hello; + hello.protocolVersion = 0; + hello.receiveBufferSize = client->config.localConnectionConfig.recvBufferSize; + hello.sendBufferSize = client->config.localConnectionConfig.sendBufferSize; + hello.maxMessageSize = client->config.localConnectionConfig.localMaxMessageSize; + hello.maxChunkCount = client->config.localConnectionConfig.localMaxChunkCount; + hello.endpointUrl = getEndpointUrl(client); + + UA_Byte *bufPos = &message.data[8]; /* skip the header */ + const UA_Byte *bufEnd = &message.data[message.length]; + client->connectStatus = + UA_encodeBinaryInternal(&hello, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE], + &bufPos, &bufEnd, NULL, NULL); + + /* Encode the message header at offset 0 */ + UA_TcpMessageHeader messageHeader; + messageHeader.messageTypeAndChunkType = UA_CHUNKTYPE_FINAL + UA_MESSAGETYPE_HEL; + messageHeader.messageSize = (UA_UInt32) ((uintptr_t)bufPos - (uintptr_t)message.data); + bufPos = message.data; + retval = UA_encodeBinaryInternal(&messageHeader, + &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], + &bufPos, &bufEnd, NULL, NULL); + if(retval != UA_STATUSCODE_GOOD) { + cm->freeNetworkBuffer(cm, client->channel.connectionId, &message); + return retval; + } + + /* Send the HEL message */ + message.length = messageHeader.messageSize; + retval = cm->sendWithConnection(cm, client->channel.connectionId, + &UA_KEYVALUEMAP_NULL, &message); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, "Sending HEL failed"); + closeSecureChannel(client); + return retval; + } + + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, "Sent HEL message"); + client->channel.state = UA_SECURECHANNELSTATE_HEL_SENT; + return UA_STATUSCODE_GOOD; +} + +void processRHEMessage(UA_Client *client, const UA_ByteString *chunk) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, "RHE received"); + + size_t offset = 0; /* Go to the beginning of the TcpHelloMessage */ + UA_TcpReverseHelloMessage rheMessage; + UA_StatusCode retval = + UA_decodeBinaryInternal(chunk, &offset, &rheMessage, + &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE], NULL); + + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, + "Decoding RHE message failed"); + closeSecureChannel(client); + return; + } + + UA_String_clear(&client->discoveryUrl); + UA_String_copy(&rheMessage.endpointUrl, &client->discoveryUrl); + + UA_TcpReverseHelloMessage_clear(&rheMessage); + + sendHELMessage(client); +} + +void +processOPNResponse(UA_Client *client, const UA_ByteString *message) { + /* Is the content of the expected type? */ + size_t offset = 0; + UA_NodeId responseId; + UA_NodeId expectedId = + UA_NODEID_NUMERIC(0, UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTBINARY); + UA_StatusCode retval = UA_NodeId_decodeBinary(message, &offset, &responseId); + if(retval != UA_STATUSCODE_GOOD) { + closeSecureChannel(client); + return; + } + + if(!UA_NodeId_equal(&responseId, &expectedId)) { + UA_NodeId_clear(&responseId); + closeSecureChannel(client); + return; + } + + /* Decode the response */ + UA_OpenSecureChannelResponse response; + retval = UA_decodeBinaryInternal(message, &offset, &response, + &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE], NULL); + if(retval != UA_STATUSCODE_GOOD) { + closeSecureChannel(client); + return; + } + + /* Check whether the nonce was reused */ + if(client->channel.securityMode != UA_MESSAGESECURITYMODE_NONE && + UA_ByteString_equal(&client->channel.remoteNonce, &response.serverNonce)) { + UA_LOG_ERROR_CHANNEL(client->config.logging, &client->channel, + "The server reused the last nonce"); + client->connectStatus = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + closeSecureChannel(client); + return; + } + + /* Move the nonce out of the response */ + UA_ByteString_clear(&client->channel.remoteNonce); + client->channel.remoteNonce = response.serverNonce; + UA_ByteString_init(&response.serverNonce); + UA_ResponseHeader_clear(&response.responseHeader); + + /* Replace the token. Keep the current token as the old token. Messages + * might still arrive for the old token. */ + client->channel.altSecurityToken = client->channel.securityToken; + client->channel.securityToken = response.securityToken; + client->channel.renewState = UA_SECURECHANNELRENEWSTATE_NEWTOKEN_CLIENT; + + /* Log a warning if the SecurityToken is not "fresh". Use the normal system + * clock to do the comparison. */ + UA_EventLoop *el = client->config.eventLoop; + UA_DateTime wallClockNow = el->dateTime_now(el); + if(wallClockNow - client->channel.securityToken.createdAt >= UA_DATETIME_SEC * 10 || + wallClockNow - client->channel.securityToken.createdAt <= -UA_DATETIME_SEC * 10) + UA_LOG_WARNING_CHANNEL(client->config.logging, &client->channel, "The \"CreatedAt\" " + "timestamp of the received ChannelSecurityToken does not match " + "with the local system clock"); + + /* The internal "monotonic" clock is used by the SecureChannel to validate + * that the SecurityToken is still valid. The monotonic clock is independent + * from the system clock getting changed or synchronized to a master clock + * during runtime. */ + client->channel.securityToken.createdAt = el->dateTime_nowMonotonic(el); + + /* Response.securityToken.revisedLifetime is UInt32, we need to cast it to + * DateTime=Int64. After 75% of the lifetime the renewal takes place as + * described in standard */ + client->nextChannelRenewal = client->channel.securityToken.createdAt + + (UA_DateTime) (response.securityToken.revisedLifetime * + (UA_Double) UA_DATETIME_MSEC * 0.75); + + /* Compute the new local keys. The remote keys are updated when a message + * with the new SecurityToken is received. */ + retval = UA_SecureChannel_generateLocalKeys(&client->channel); + if(retval != UA_STATUSCODE_GOOD) { + closeSecureChannel(client); + return; + } + + UA_Float lifetime = (UA_Float)response.securityToken.revisedLifetime / 1000; + UA_Boolean renew = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); + if(renew) { + UA_LOG_INFO_CHANNEL(client->config.logging, &client->channel, "SecureChannel " + "renewed with a revised lifetime of %.2fs", lifetime); + } else { + UA_LOG_INFO_CHANNEL(client->config.logging, &client->channel, + "SecureChannel opened with SecurityPolicy %.*s " + "and a revised lifetime of %.2fs", + (int)client->channel.securityPolicy->policyUri.length, + client->channel.securityPolicy->policyUri.data, lifetime); + } + + client->channel.state = UA_SECURECHANNELSTATE_OPEN; +} + +/* OPN messges to renew the channel are sent asynchronous */ +static void +sendOPNAsync(UA_Client *client, UA_Boolean renew) { + if(!UA_SecureChannel_isConnected(&client->channel)) { + client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + client->connectStatus = + UA_SecureChannel_generateLocalNonce(&client->channel); + if(client->connectStatus != UA_STATUSCODE_GOOD) + return; + + /* Prepare the OpenSecureChannelRequest */ + UA_OpenSecureChannelRequest opnSecRq; + UA_OpenSecureChannelRequest_init(&opnSecRq); + opnSecRq.requestHeader.timestamp = UA_DateTime_now(); + opnSecRq.requestHeader.authenticationToken = client->authenticationToken; + opnSecRq.securityMode = client->channel.securityMode; + opnSecRq.clientNonce = client->channel.localNonce; + opnSecRq.requestedLifetime = client->config.secureChannelLifeTime; + if(renew) { + opnSecRq.requestType = UA_SECURITYTOKENREQUESTTYPE_RENEW; + UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, + "Requesting to renew the SecureChannel"); + } else { + opnSecRq.requestType = UA_SECURITYTOKENREQUESTTYPE_ISSUE; + UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, + "Requesting to open a SecureChannel"); + } + + /* Prepare the entry for the linked list */ + UA_UInt32 requestId = ++client->requestId; + + /* Send the OPN message */ + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_SECURECHANNEL, + "Requesting to open a SecureChannel"); + client->connectStatus = + UA_SecureChannel_sendAsymmetricOPNMessage(&client->channel, requestId, &opnSecRq, + &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); + if(client->connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_SECURECHANNEL, + "Sending OPN message failed with error %s", + UA_StatusCode_name(client->connectStatus)); + closeSecureChannel(client); + return; + } + + /* Update the state */ + client->channel.renewState = UA_SECURECHANNELRENEWSTATE_SENT; + if(client->channel.state < UA_SECURECHANNELSTATE_OPN_SENT) + client->channel.state = UA_SECURECHANNELSTATE_OPN_SENT; + + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_SECURECHANNEL, + "OPN message sent"); +} + +UA_StatusCode +__Client_renewSecureChannel(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Check if OPN has been sent or the SecureChannel is still valid */ + if(client->channel.state != UA_SECURECHANNELSTATE_OPEN || + client->channel.renewState == UA_SECURECHANNELRENEWSTATE_SENT || + client->nextChannelRenewal > UA_DateTime_nowMonotonic()) + return UA_STATUSCODE_GOODCALLAGAIN; + + sendOPNAsync(client, true); + + return client->connectStatus; +} + +UA_StatusCode +UA_Client_renewSecureChannel(UA_Client *client) { + lockClient(client); + UA_StatusCode res = __Client_renewSecureChannel(client); + unlockClient(client); + return res; +} + +static void +responseActivateSession(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_ActivateSessionResponse *ar = (UA_ActivateSessionResponse*)response; + if(ar->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + /* Activating the Session failed */ + cleanupSession(client); + + /* Configuration option to not create a new Session */ + if(client->config.noNewSession) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Session cannot be activated with StatusCode %s. " + "The client is configured not to create a new Session.", + UA_StatusCode_name(ar->responseHeader.serviceResult)); + client->connectStatus = ar->responseHeader.serviceResult; + closeSecureChannel(client); + return; + } + + /* The Session is no longer usable. Create a brand new one. */ + if(ar->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONIDINVALID || + ar->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONCLOSED) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Session to be activated no longer exists. Create a new Session."); + client->connectStatus = createSessionAsync(client); + return; + } + + /* Something else is wrong. Maybe the credentials no longer work. Give up. */ + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Session cannot be activated with StatusCode %s. " + "The client cannot recover from this, closing the connection.", + UA_StatusCode_name(ar->responseHeader.serviceResult)); + client->connectStatus = ar->responseHeader.serviceResult; + closeSecureChannel(client); + return; + } + + /* Replace the nonce */ + UA_ByteString_clear(&client->serverSessionNonce); + client->serverSessionNonce = ar->serverNonce; + UA_ByteString_init(&ar->serverNonce); + + client->sessionState = UA_SESSIONSTATE_ACTIVATED; + notifyClientState(client); + + /* Immediately check if publish requests are outstanding - for example when + * an existing Session has been reattached / activated. */ +#ifdef UA_ENABLE_SUBSCRIPTIONS + __Client_Subscriptions_backgroundPublish(client); +#endif +} + +static UA_StatusCode +activateSessionAsync(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + if(client->sessionState != UA_SESSIONSTATE_CREATED && + client->sessionState != UA_SESSIONSTATE_ACTIVATED) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Can not activate session, session neither created nor activated. " + "Actual state: '%u'", client->sessionState); + return UA_STATUSCODE_BADSESSIONCLOSED; + } + + const UA_UserTokenPolicy *utp = findUserTokenPolicy(client, &client->endpoint); + if(!utp) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, + "Could not find a matching UserTokenPolicy in the endpoint"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Initialize the request */ + UA_ActivateSessionRequest request; + UA_ActivateSessionRequest_init(&request); + + /* Set the requested LocaleIds */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(client->config.sessionLocaleIdsSize && client->config.sessionLocaleIds) { + retval = UA_Array_copy(client->config.sessionLocaleIds, + client->config.sessionLocaleIdsSize, + (void **)&request.localeIds, &UA_TYPES[UA_TYPES_LOCALEID]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + request.localeIdsSize = client->config.sessionLocaleIdsSize; + } + + /* Set the User Identity Token. If not defined use an anonymous token. Use + * the PolicyId from the UserTokenPolicy. All token types have the PolicyId + * string as the first element. */ + UA_AnonymousIdentityToken anonToken; + retval = UA_ExtensionObject_copy(&client->config.userIdentityToken, + &request.userIdentityToken); + if(request.userIdentityToken.encoding != UA_EXTENSIONOBJECT_ENCODED_NOBODY) { + UA_String *policyId = (UA_String*)request.userIdentityToken.content.decoded.data; + UA_String_clear(policyId); + retval = UA_String_copy(&utp->policyId, policyId); + } else { + UA_AnonymousIdentityToken_init(&anonToken); + UA_ExtensionObject_setValueNoDelete(&request.userIdentityToken, &anonToken, + &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); + anonToken.policyId = utp->policyId; + } + if(retval != UA_STATUSCODE_GOOD) + return retval; + +#ifdef UA_ENABLE_ENCRYPTION + UA_SecurityPolicy *utsp = NULL; + UA_SecureChannel *channel = &client->channel; + + /* Does the UserTokenPolicy have encryption? If not specifically defined in + * the UserTokenPolicy, then the SecurityPolicy of the underlying endpoint + * (SecureChannel) is used. */ + UA_String tokenSecurityPolicyUri = (utp->securityPolicyUri.length > 0) ? + utp->securityPolicyUri : client->endpoint.securityPolicyUri; + const UA_String none = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + if(UA_String_equal(&none, &tokenSecurityPolicyUri)) { + if(UA_String_equal(&none, &client->channel.securityPolicy->policyUri) && + request.userIdentityToken.content.decoded.type != + &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "!!! Warning !!! AuthenticationToken is transmitted " + "without encryption"); + } + goto utp_done; + } + + /* Get the SecurityPolicy for authentication */ + utsp = getAuthSecurityPolicy(client, tokenSecurityPolicyUri); + if(!utsp) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "UserTokenPolicy %.*s not available for authentication", + (int)tokenSecurityPolicyUri.length, tokenSecurityPolicyUri.data); + retval = UA_STATUSCODE_BADSECURITYPOLICYREJECTED; + goto utp_done; + } + + /* Encrypt the UserIdentityToken */ + retval = encryptUserIdentityToken(client, utsp, &request.userIdentityToken); + + /* Create the UserTokenSignature if this is possible for the token. + * The certificate is already loaded into the utsp. */ + if(utp->tokenType == UA_USERTOKENTYPE_CERTIFICATE) + retval |= signUserTokenSignature(client, utsp, &request); + + utp_done: + /* Create the client signature with the SecurityPolicy of the SecurteChannel */ + if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || + channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + retval |= signClientSignature(client, &request); +#endif + + /* Send the request */ + if(UA_LIKELY(retval == UA_STATUSCODE_GOOD)) + retval = __Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST], + (UA_ClientAsyncServiceCallback)responseActivateSession, + &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE], + NULL, NULL); + + /* On success, advance the session state */ + if(retval == UA_STATUSCODE_GOOD) + client->sessionState = UA_SESSIONSTATE_ACTIVATE_REQUESTED; + else + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "ActivateSession failed when sending the request with error code %s", + UA_StatusCode_name(retval)); + + /* Clean up */ + UA_ActivateSessionRequest_clear(&request); + return retval; +} + +static const UA_String binaryTransport = + UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary"); + +/* Find a matching endpoint -- the UserTokenPolicy is matched later */ +static UA_Boolean +matchEndpoint(UA_Client *client, const UA_EndpointDescription *endpoint, unsigned i) { + /* Matching ApplicationUri if defined */ + if(client->config.applicationUri.length > 0 && + !UA_String_equal(&client->config.applicationUri, + &endpoint->server.applicationUri)) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %u: application uri not match", i); + return false; + } + + /* Look out for binary transport endpoints. + * Note: Siemens returns empty ProfileUrl, we will accept it as binary. */ + if(endpoint->transportProfileUri.length != 0 && + !UA_String_equal(&endpoint->transportProfileUri, &binaryTransport)) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %u: transport profile does not match", i); + return false; + } + + /* Valid SecurityMode? */ + if(endpoint->securityMode < 1 || endpoint->securityMode > 3) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %u: invalid security mode", i); + return false; + } + + /* Selected SecurityMode? */ + if(client->config.securityMode > 0 && + client->config.securityMode != endpoint->securityMode) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %u: security mode does not match", i); + return false; + } + + /* Matching SecurityPolicy? */ + if(client->config.securityPolicyUri.length > 0 && + !UA_String_equal(&client->config.securityPolicyUri, &endpoint->securityPolicyUri)) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %u: security policy does not match the configuration", i); + return false; + } + + /* SecurityPolicy available? */ + if(!getSecurityPolicy(client, endpoint->securityPolicyUri)) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %u: security policy not available", i); + return false; + } + + return true; +} + +/* Match the policy with the configured user token */ +static UA_Boolean +matchUserToken(UA_Client *client, + const UA_UserTokenPolicy *tokenPolicy) { + const UA_DataType *tokenType = + client->config.userIdentityToken.content.decoded.type; + + if(tokenPolicy->tokenType == UA_USERTOKENTYPE_ANONYMOUS && + (tokenType == &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN] || !tokenType)) + return true; + + if(tokenPolicy->tokenType == UA_USERTOKENTYPE_USERNAME && + tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) + return true; + + if(tokenPolicy->tokenType == UA_USERTOKENTYPE_CERTIFICATE && + tokenType == &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) + return true; + + if(tokenPolicy->tokenType == UA_USERTOKENTYPE_ISSUEDTOKEN && + tokenType == &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) + return true; + + return false; +} + +/* Returns a matching UserTokenPolicy from the EndpointDescription. If a + * UserTokenPolicy is configured in the client config, then we need an exact + * match. */ +static UA_UserTokenPolicy * +findUserTokenPolicy(UA_Client *client, UA_EndpointDescription *endpoint) { + /* Was a UserTokenPolicy configured? Then we need an exact match. */ + UA_UserTokenPolicy *requiredTokenPolicy = NULL; + UA_UserTokenPolicy tmp; + UA_UserTokenPolicy_init(&tmp); + if(!UA_equal(&tmp, &client->config.userTokenPolicy, &UA_TYPES[UA_TYPES_USERTOKENPOLICY])) + requiredTokenPolicy = &client->config.userTokenPolicy; + + for(size_t j = 0; j < endpoint->userIdentityTokensSize; ++j) { + /* Is the SecurityPolicy available? */ + UA_UserTokenPolicy *tokenPolicy = &endpoint->userIdentityTokens[j]; + if(!getSecurityPolicy(client, tokenPolicy->securityPolicyUri)) + continue; + + /* Required SecurityPolicyUri in the configuration? */ + if(!UA_String_isEmpty(&client->config.authSecurityPolicyUri) && + !UA_String_equal(&client->config.authSecurityPolicyUri, + &tokenPolicy->securityPolicyUri)) + continue; + + /* Match (entire) UserTokenPolicy if defined in the configuration? */ + if(requiredTokenPolicy && + !UA_equal(requiredTokenPolicy, tokenPolicy, &UA_TYPES[UA_TYPES_USERTOKENPOLICY])) + continue; + + /* Match with the configured UserToken */ + if(!matchUserToken(client, tokenPolicy)) + continue; + + /* Found a match? */ + return tokenPolicy; + } + + return NULL; +} + +/* Combination of UA_Client_getEndpointsInternal and getEndpoints */ +static void +responseGetEndpoints(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + client->endpointsHandshake = false; + + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received GetEndpointsResponse"); + + UA_GetEndpointsResponse *resp = (UA_GetEndpointsResponse*)response; + + /* GetEndpoints not possible. Fail the connection */ + if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + /* Fail the connection attempt if the SecureChannel is still connected. + * If the SecureChannel is (intentionally or unintentionally) closed, + * the connectStatus should come from there. */ + if(UA_SecureChannel_isConnected(&client->channel)) { + client->connectStatus = resp->responseHeader.serviceResult; + closeSecureChannel(client); + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "GetEndpointRequest failed with error code %s", + UA_StatusCode_name(client->connectStatus)); + } + + UA_GetEndpointsResponse_clear(resp); + return; + } + + /* Warn if the Endpoints look incomplete / don't match the EndpointUrl */ + Client_warnEndpointsResult(client, resp, &client->discoveryUrl); + + const size_t notFound = (size_t)-1; + size_t bestEndpointIndex = notFound; + UA_Byte bestEndpointLevel = 0; + + /* Find a matching combination of Endpoint and UserTokenPolicy */ + for(size_t i = 0; i < resp->endpointsSize; ++i) { + UA_EndpointDescription* endpoint = &resp->endpoints[i]; + + /* Do we already have a better candidate? */ + if(endpoint->securityLevel < bestEndpointLevel) + continue; + + /* Does the endpoint match the client configuration? */ + if(!matchEndpoint(client, endpoint, (unsigned)i)) + continue; + + /* Do we want a session? If yes, then the endpoint needs to have a + * UserTokenPolicy that matches the configuration. */ + if(!client->config.noSession && !findUserTokenPolicy(client, endpoint)) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Rejecting endpoint %lu: No matching UserTokenPolicy", + (long unsigned)i); + continue; + } + + /* Best endpoint so far */ + bestEndpointLevel = endpoint->securityLevel; + bestEndpointIndex = i; + } + + /* No matching endpoint found */ + if(bestEndpointIndex == notFound) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "No suitable endpoint found"); + client->connectStatus = UA_STATUSCODE_BADIDENTITYTOKENREJECTED; + closeSecureChannel(client); + return; + } + + /* Store the endpoint description in the client. It contains the + * ApplicationDescription and the UserTokenPolicies. We continue to look up + * the matching UserTokenPolicy from there. */ + UA_EndpointDescription_clear(&client->endpoint); + client->endpoint = resp->endpoints[bestEndpointIndex]; + UA_EndpointDescription_init(&resp->endpoints[bestEndpointIndex]); + +#if UA_LOGLEVEL <= 300 + const char *securityModeNames[3] = {"None", "Sign", "SignAndEncrypt"}; + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Selected endpoint with EndpointUrl %.*s, SecurityMode " + "%s and SecurityPolicy %.*s", + (int)client->endpoint.endpointUrl.length, + client->endpoint.endpointUrl.data, + securityModeNames[client->endpoint.securityMode - 1], + (int)client->endpoint.securityPolicyUri.length, + client->endpoint.securityPolicyUri.data); +#endif + + /* A different SecurityMode or SecurityPolicy is defined by the Endpoint. + * Close the SecureChannel and reconnect. */ + if(client->endpoint.securityMode != client->channel.securityMode || + !UA_String_equal(&client->endpoint.securityPolicyUri, + &client->channel.securityPolicy->policyUri)) { + closeSecureChannel(client); + return; + } + + /* We were using a distinct discovery URL and we are switching away from it. + * Close the SecureChannel to reopen with the EndpointUrl. If an endpoint + * was selected, then we use the endpointUrl for the HEL message. */ + if(client->discoveryUrl.length > 0 && + !UA_String_equal(&client->discoveryUrl, &client->endpoint.endpointUrl)) { + closeSecureChannel(client); + return; + } + + /* Nothing to do. We have selected an endpoint that we can use to open a + * Session on the current SecureChannel. */ +} + +static UA_StatusCode +requestGetEndpoints(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_GetEndpointsRequest request; + UA_GetEndpointsRequest_init(&request); + request.endpointUrl = getEndpointUrl(client); + + UA_StatusCode retval = + __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST], + (UA_ClientAsyncServiceCallback) responseGetEndpoints, + &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE], NULL, NULL); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "RequestGetEndpoints failed when sending the request with error code %s", + UA_StatusCode_name(retval)); + return retval; + } + + client->endpointsHandshake = true; + return UA_STATUSCODE_GOOD; +} + +static void +responseFindServers(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response) { + client->findServersHandshake = false; + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received FindServersResponse"); + + /* Error handling. Log the error but continue to connect with the current + * EndpointURL. */ + UA_FindServersResponse *fsr = (UA_FindServersResponse*)response; + if(fsr->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "FindServers failed with error code %s. Continue with the " + "EndpointURL %.*s.", + UA_StatusCode_name(fsr->responseHeader.serviceResult), + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + UA_String_clear(&client->discoveryUrl); + UA_String_copy(&client->config.endpointUrl, &client->discoveryUrl); + return; + } + + /* Check if one of the returned servers matches the EndpointURL already used */ + for(size_t i = 0; i < fsr->serversSize; i++) { + UA_ApplicationDescription *server = &fsr->servers[i]; + + /* Filter by the ApplicationURI if defined */ + if(client->config.applicationUri.length > 0 && + !UA_String_equal(&client->config.applicationUri, &server->applicationUri)) + continue; + + for(size_t j = 0; j < server->discoveryUrlsSize; j++) { + if(UA_String_equal(&client->config.endpointUrl, &server->discoveryUrls[j])) { + UA_String_clear(&client->discoveryUrl); + client->discoveryUrl = server->discoveryUrls[j]; + UA_String_init(&server->discoveryUrls[j]); + return; + } + } + } + + /* The current EndpointURL is not usable. Pick the first "opc.tcp" DiscoveryUrl of a + * returned server. */ + for(size_t i = 0; i < fsr->serversSize; i++) { + UA_ApplicationDescription *server = &fsr->servers[i]; + if(server->applicationType != UA_APPLICATIONTYPE_SERVER && + server->applicationType != UA_APPLICATIONTYPE_CLIENTANDSERVER && + server->applicationType != UA_APPLICATIONTYPE_DISCOVERYSERVER) + continue; + + /* Filter by the ApplicationURI if defined */ + if(client->config.applicationUri.length > 0 && + !UA_String_equal(&client->config.applicationUri, &server->applicationUri)) + continue; + + for(size_t j = 0; j < server->discoveryUrlsSize; j++) { + /* Try to parse the DiscoveryUrl. This weeds out http schemas (etc.) + * and invalid DiscoveryUrls in general. */ + UA_String hostname, path; + UA_UInt16 port; + UA_StatusCode res = + UA_parseEndpointUrl(&server->discoveryUrls[j], &hostname, &port, &path); + if(res != UA_STATUSCODE_GOOD) + continue; + + /* Use this DiscoveryUrl in the client */ + UA_String_clear(&client->discoveryUrl); + client->discoveryUrl = server->discoveryUrls[j]; + UA_String_init(&server->discoveryUrls[j]); + + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Use the EndpointURL %.*s returned from FindServers and reconnect", + (int)client->discoveryUrl.length, client->discoveryUrl.data); + + /* Close the SecureChannel to build it up new with the correct + * EndpointURL in the HEL/ACK handshake. In closeSecureChannel the + * received client->endpoint is reset also. */ + closeSecureChannel(client); + return; + } + } + + /* Could not find a suitable server. Try to continue with the + * original EndpointURL. */ + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "FindServers did not returned a suitable DiscoveryURL. " + "Continue with the EndpointURL %.*s.", + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + UA_String_clear(&client->discoveryUrl); + UA_String_copy(&client->config.endpointUrl, &client->discoveryUrl); +} + +static UA_StatusCode +requestFindServers(UA_Client *client) { + UA_FindServersRequest request; + UA_FindServersRequest_init(&request); + request.requestHeader.timestamp = UA_DateTime_now(); + request.requestHeader.timeoutHint = 10000; + request.endpointUrl = client->config.endpointUrl; + UA_StatusCode retval = + __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST], + (UA_ClientAsyncServiceCallback) responseFindServers, + &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE], NULL, NULL); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "FindServers failed when sending the request with error code %s", + UA_StatusCode_name(retval)); + return retval; + } + + client->findServersHandshake = true; + return UA_STATUSCODE_GOOD; +} + +static void +createSessionCallback(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_CreateSessionResponse *sessionResponse = (UA_CreateSessionResponse*)response; + UA_StatusCode res = sessionResponse->responseHeader.serviceResult; + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + +#ifdef UA_ENABLE_ENCRYPTION + if(client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGN || + client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + /* Verify the session response was created with the same certificate as + * the SecureChannel */ + if(!UA_ByteString_equal(&sessionResponse->serverCertificate, + &client->channel.remoteCertificate)) { + res = UA_STATUSCODE_BADCERTIFICATEINVALID; + goto cleanup; + } + + /* Verify the client signature */ + res = checkCreateSessionSignature(client, &client->channel, sessionResponse); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + } +#endif + + /* Copy nonce and AuthenticationToken */ + UA_ByteString_clear(&client->serverSessionNonce); + UA_NodeId_clear(&client->authenticationToken); + res |= UA_ByteString_copy(&sessionResponse->serverNonce, + &client->serverSessionNonce); + res |= UA_NodeId_copy(&sessionResponse->authenticationToken, + &client->authenticationToken); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Activate the new Session */ + client->sessionState = UA_SESSIONSTATE_CREATED; + + cleanup: + client->connectStatus = res; + if(client->connectStatus != UA_STATUSCODE_GOOD) + client->sessionState = UA_SESSIONSTATE_CLOSED; +} + +static UA_StatusCode +createSessionAsync(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Generate the local nonce for the session */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGN || + client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + if(client->clientSessionNonce.length != UA_SESSION_LOCALNONCELENGTH) { + UA_ByteString_clear(&client->clientSessionNonce); + res = UA_ByteString_allocBuffer(&client->clientSessionNonce, + UA_SESSION_LOCALNONCELENGTH); + if(res != UA_STATUSCODE_GOOD) + return res; + } + res = client->channel.securityPolicy->symmetricModule. + generateNonce(client->channel.securityPolicy->policyContext, + &client->clientSessionNonce); + if(res != UA_STATUSCODE_GOOD) + return res; + } + + /* Prepare and send the request */ + UA_CreateSessionRequest request; + UA_CreateSessionRequest_init(&request); + request.clientNonce = client->clientSessionNonce; + request.requestedSessionTimeout = client->config.requestedSessionTimeout; + request.maxResponseMessageSize = UA_INT32_MAX; + request.endpointUrl = client->endpoint.endpointUrl; + request.clientDescription = client->config.clientDescription; + request.sessionName = client->config.sessionName; + if(client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGN || + client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { + request.clientCertificate = client->channel.securityPolicy->localCertificate; + } + + res = __Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST], + (UA_ClientAsyncServiceCallback)createSessionCallback, + &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE], NULL, NULL); + + if(res == UA_STATUSCODE_GOOD) + client->sessionState = UA_SESSIONSTATE_CREATE_REQUESTED; + else + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "CreateSession failed when sending the request with " + "error code %s", UA_StatusCode_name(res)); + + return res; +} + +static UA_StatusCode +initSecurityPolicy(UA_Client *client) { + /* Find the SecurityPolicy */ + UA_SecurityPolicy *sp = + getSecurityPolicy(client, client->endpoint.securityPolicyUri); + + /* Unknown SecurityPolicy -- we would never select such an endpoint */ + if(!sp) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Already initialized -- check we are using the configured SecurityPolicy */ + if(client->channel.securityPolicy) + return (client->channel.securityPolicy == sp) ? + UA_STATUSCODE_GOOD : UA_STATUSCODE_BADINTERNALERROR; + + /* Set the SecurityMode -- none if no endpoint is selected so far */ + client->channel.securityMode = client->endpoint.securityMode; + if(client->channel.securityMode == UA_MESSAGESECURITYMODE_INVALID) + client->channel.securityMode = UA_MESSAGESECURITYMODE_NONE; + + /* Instantiate the SecurityPolicy context with the remote certificate */ + return UA_SecureChannel_setSecurityPolicy(&client->channel, sp, + &client->endpoint.serverCertificate); +} + +static void +connectActivity(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + UA_LOG_TRACE(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Client connect iterate"); + + /* Could not connect with an error that canot be recovered from */ + if(client->connectStatus != UA_STATUSCODE_GOOD) + return; + + /* Already connected */ + if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) + return; + + /* Switch on the SecureChannel state */ + switch(client->channel.state) { + /* Nothing to do if the connection has not opened fully */ + case UA_SECURECHANNELSTATE_CONNECTING: + case UA_SECURECHANNELSTATE_REVERSE_CONNECTED: + case UA_SECURECHANNELSTATE_CLOSING: + case UA_SECURECHANNELSTATE_HEL_SENT: + case UA_SECURECHANNELSTATE_OPN_SENT: + return; + + /* Send HEL */ + case UA_SECURECHANNELSTATE_CONNECTED: + client->connectStatus = sendHELMessage(client); + return; + + /* ACK receieved. Send OPN. */ + case UA_SECURECHANNELSTATE_ACK_RECEIVED: + sendOPNAsync(client, false); /* Send OPN */ + return; + + /* The channel is open -> continue with the Session handling */ + case UA_SECURECHANNELSTATE_OPEN: + break; + + /* The connection is closed. Reset the SecureChannel and open a new TCP + * connection */ + case UA_SECURECHANNELSTATE_CLOSED: + if(client->config.noReconnect) + client->connectStatus = UA_STATUSCODE_BADNOTCONNECTED; + else + initConnect(client); /* Sets the connectStatus internally */ + return; + + /* These states should never occur for the client */ + default: + client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* <-- The SecureChannel is open --> */ + + /* Ongoing handshake -> Waiting for a response */ + if(client->endpointsHandshake || client->findServersHandshake) + return; + + /* Call FindServers to see if we should reconnect with another EndpointUrl. + * This needs to be done before GetEndpoints, as the set of returned + * endpoints may depend on the EndpointUrl used during the initial HEL/ACK + * handshake. */ + if(client->discoveryUrl.length == 0) { + client->connectStatus = requestFindServers(client); + return; + } + + /* GetEndpoints to identify the remote side and/or reset the SecureChannel + * with encryption */ + if(endpointUnconfigured(&client->endpoint)) { + client->connectStatus = requestGetEndpoints(client); + return; + } + + /* Have the final SecureChannel but no session */ + if(client->config.noSession) + return; + + /* Create and Activate the Session */ + switch(client->sessionState) { + /* Send a CreateSessionRequest */ + case UA_SESSIONSTATE_CLOSED: + client->connectStatus = createSessionAsync(client); + return; + + /* Activate the Session */ + case UA_SESSIONSTATE_CREATED: + client->connectStatus = activateSessionAsync(client); + return; + + case UA_SESSIONSTATE_CREATE_REQUESTED: + case UA_SESSIONSTATE_ACTIVATE_REQUESTED: + case UA_SESSIONSTATE_ACTIVATED: + case UA_SESSIONSTATE_CLOSING: + return; /* Nothing to do */ + + /* These states should never occur for the client */ + default: + client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; + break; + } +} + +static UA_StatusCode +verifyClientSecureChannelHeader(void *application, UA_SecureChannel *channel, + const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) { + UA_Client *client = (UA_Client*)application; + const UA_SecurityPolicy *sp = channel->securityPolicy; + UA_assert(sp != NULL); + + /* Check the SecurityPolicyUri */ + if(asymHeader->securityPolicyUri.length > 0 && + !UA_String_equal(&sp->policyUri, &asymHeader->securityPolicyUri)) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The server uses a different SecurityPolicy from the client"); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + /* Get the remote certificate. + * Omit the remainder if an entire certificate chain was sent. */ + UA_ByteString serverCert = getLeafCertificate(asymHeader->senderCertificate); + + /* If encryption is enabled, then a server certificate is defined. + * Otherwise the creation of the SecureChannel would have failed. */ + UA_assert(channel->securityMode == UA_MESSAGESECURITYMODE_NONE || + serverCert.length > 0); + + /* If a server certificate is sent in the asymHeader, check that the same + * certificate was defined for the endpoint */ + if(serverCert.length > 0 && + !UA_String_equal(&serverCert, &client->endpoint.serverCertificate)) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The server certificate is different from the EndpointDescription"); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + /* Verify the certificate the server assumes on our end */ + UA_StatusCode res = sp->asymmetricModule. + compareCertificateThumbprint(sp, &asymHeader->receiverCertificateThumbprint); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The server does not use the client certificate " + "used for the selected SecurityPolicy"); + return res; + } + + return UA_STATUSCODE_GOOD; +} + +/* The local ApplicationURI has to match the certificates of the + * SecurityPolicies */ +static void +verifyClientApplicationURI(const UA_Client *client) { +#if defined(UA_ENABLE_ENCRYPTION) && (UA_LOGLEVEL <= 400) + for(size_t i = 0; i < client->config.securityPoliciesSize; i++) { + UA_SecurityPolicy *sp = &client->config.securityPolicies[i]; + if(!sp->localCertificate.data) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "skip verifying ApplicationURI for the SecurityPolicy %.*s", + (int)sp->policyUri.length, sp->policyUri.data); + continue; + } + + UA_StatusCode retval = + client->config.certificateVerification. + verifyApplicationURI(&client->config.certificateVerification, + &sp->localCertificate, + &client->config.clientDescription.applicationUri); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The configured ApplicationURI does not match the URI " + "specified in the certificate for the SecurityPolicy %.*s", + (int)sp->policyUri.length, sp->policyUri.data); + } + } +#endif +} + +static void +delayedNetworkCallback(void *application, void *context); + +static void +__Client_networkCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + /* Take the client lock */ + UA_Client *client = (UA_Client*)application; + lockClient(client); + + UA_LOG_TRACE(client->config.logging, UA_LOGCATEGORY_CLIENT, "Client network callback"); + + /* A new connection with no context pointer attached */ + if(!*connectionContext) { + /* Inconsistent SecureChannel state. Has to be fresh for a new + * connection. */ + if(client->channel.state != UA_SECURECHANNELSTATE_CLOSED && + client->channel.state != UA_SECURECHANNELSTATE_REVERSE_LISTENING) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Cannot open a connection, the SecureChannel is already used"); + client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; + notifyClientState(client); + unlockClient(client); + return; + } + + /* Initialize the client connection and attach to the EventLoop connection */ + client->channel.connectionManager = cm; + client->channel.connectionId = connectionId; + *connectionContext = &client->channel; + } + + /* The connection is closing in the EventLoop. This is the last callback + * from that connection. Clean up the SecureChannel in the client. */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + UA_LOG_INFO_CHANNEL(client->config.logging, &client->channel, + "SecureChannel closed"); + + /* Set to closing (could be done already in UA_SecureChannel_shutdown). + * This impacts the handling of cancelled requests below. */ + UA_SecureChannelState oldState = client->channel.state; + client->channel.state = UA_SECURECHANNELSTATE_CLOSING; + + /* Set the Session to CREATED if it was ACTIVATED */ + if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) + client->sessionState = UA_SESSIONSTATE_CREATED; + + /* Delete outstanding async services - the RequestId is no longer valid. Do + * this after setting the Session state. Otherwise we send out new Publish + * Requests immediately. */ + __Client_AsyncService_removeAll(client, UA_STATUSCODE_BADSECURECHANNELCLOSED); + + /* Clean up the channel and set the status to CLOSED */ + UA_SecureChannel_clear(&client->channel); + + /* The connection closed before it actually opened. Since we are + * connecting asynchronously, this happens when the TCP connection + * fails. Try to fall back on the initial EndpointUrl. */ + if(oldState == UA_SECURECHANNELSTATE_CONNECTING && + client->connectStatus == UA_STATUSCODE_GOOD) + client->connectStatus = fallbackEndpointUrl(client); + + /* Try to reconnect */ + goto continue_connect; + } + + /* Update the SecureChannel state */ + if(UA_LIKELY(state == UA_CONNECTIONSTATE_ESTABLISHED)) { + /* The connection is now open on the TCP level. Set the SecureChannel + * state to reflect this. Otherwise later consistency checks for the + * received messages fail. */ + if(client->channel.state < UA_SECURECHANNELSTATE_CONNECTED) + client->channel.state = UA_SECURECHANNELSTATE_CONNECTED; + } else /* state == UA_CONNECTIONSTATE_OPENING */ { + /* The connection was opened on our end only. Waiting for the TCP handshake + * to complete. */ + client->channel.state = UA_SECURECHANNELSTATE_CONNECTING; + } + + /* Received a message. Process the message with the SecureChannel. */ + UA_StatusCode res = UA_SecureChannel_loadBuffer(&client->channel, msg); + while(UA_LIKELY(res == UA_STATUSCODE_GOOD)) { + UA_MessageType messageType; + UA_UInt32 requestId = 0; + UA_ByteString payload = UA_BYTESTRING_NULL; + UA_Boolean copied = false; + res = UA_SecureChannel_getCompleteMessage(&client->channel, &messageType, &requestId, + &payload, &copied); + if(res != UA_STATUSCODE_GOOD || payload.length == 0) + break; + res = processServiceResponse(client, &client->channel, + messageType, requestId, &payload); + if(copied) + UA_ByteString_clear(&payload); + + /* Abort after synchronous processing of a message. + * Add a delayed callback to process the remaining buffer ASAP. */ + if(res == UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY) { + if(client->channel.unprocessed.length > client->channel.unprocessedOffset && + client->channel.unprocessedDelayed.callback == NULL) { + client->channel.unprocessedDelayed.callback = delayedNetworkCallback; + client->channel.unprocessedDelayed.application = client; + client->channel.unprocessedDelayed.context = &client->channel; + UA_EventLoop *el = client->config.eventLoop; + el->addDelayedCallback(el, &client->channel.unprocessedDelayed); + } + res = UA_STATUSCODE_GOOD; + break; + } + } + res |= UA_SecureChannel_persistBuffer(&client->channel); + + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Processing the message returned the error code %s", + UA_StatusCode_name(res)); + + /* If processing the buffer fails before the SecureChannel has opened, + * then the client cannot recover. Set the connectStatus to reflect + * this. The application is notified when the socket has closed. */ + if(client->channel.state != UA_SECURECHANNELSTATE_OPEN) + client->connectStatus = res; + + /* Close the SecureChannel, but don't notify the client right away. + * Return immediately. notifyClientState will be called in the next + * callback from the ConnectionManager when the connection closes with a + * StatusCode. + * + * If the connectStatus is still good (the SecureChannel was fully + * opened before), then a reconnect is attempted. */ + closeSecureChannel(client); + unlockClient(client); + return; + } + + continue_connect: + /* Trigger the next action from our end to fully open up the connection */ + if(!isFullyConnected(client)) + connectActivity(client); + notifyClientState(client); + unlockClient(client); +} + +static void +delayedNetworkCallback(void *application, void *context) { + UA_Client *client = (UA_Client*)application; + client->channel.unprocessedDelayed.callback = NULL; + if(client->channel.state == UA_SECURECHANNELSTATE_CONNECTED) + __Client_networkCallback(client->channel.connectionManager, + client->channel.connectionId, + client, &context, + UA_CONNECTIONSTATE_ESTABLISHED, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); +} + +/* Initialize a TCP connection. Writes the result to client->connectStatus. */ +static void +initConnect(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + if(client->channel.state != UA_SECURECHANNELSTATE_CLOSED) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Client connection already initiated"); + return; + } + + /* An exact endpoint was configured. Use it. */ + if(!endpointUnconfigured(&client->config.endpoint)) { + UA_EndpointDescription_clear(&client->endpoint); + client->connectStatus = + UA_EndpointDescription_copy(&client->config.endpoint, &client->endpoint); + UA_CHECK_STATUS(client->connectStatus, return); + } + + /* Start the EventLoop if not already started */ + client->connectStatus = __UA_Client_startup(client); + UA_CHECK_STATUS(client->connectStatus, return); + + /* Consistency check the client's own ApplicationURI. + * Problems are only logged. */ + verifyClientApplicationURI(client); + + /* Initialize the SecureChannel */ + UA_SecureChannel_clear(&client->channel); + client->channel.config = client->config.localConnectionConfig; + client->channel.certificateVerification = &client->config.certificateVerification; + client->channel.processOPNHeader = verifyClientSecureChannelHeader; + client->channel.processOPNHeaderApplication = client; + + /* Initialize the SecurityPolicy */ + client->connectStatus = initSecurityPolicy(client); + if(client->connectStatus != UA_STATUSCODE_GOOD) + return; + + /* Extract hostname and port from the URL */ + UA_String hostname = UA_STRING_NULL; + UA_String path = UA_STRING_NULL; + UA_UInt16 port = 4840; + + client->connectStatus = + UA_parseEndpointUrl(&client->config.endpointUrl, &hostname, &port, &path); + if(client->connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, + "OPC UA URL is invalid: %.*s", + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + return; + } + + /* Initialize the TCP connection */ + UA_String tcpString = UA_STRING("tcp"); + for(UA_EventSource *es = client->config.eventLoop->eventSources; + es != NULL; es = es->next) { + /* Is this a usable connection manager? */ + if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) + continue; + UA_ConnectionManager *cm = (UA_ConnectionManager*)es; + if(!UA_String_equal(&tcpString, &cm->protocol)) + continue; + + /* Set up the parameters */ + UA_KeyValuePair params[2]; + params[0].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(¶ms[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + params[1].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setScalar(¶ms[1].value, &hostname, &UA_TYPES[UA_TYPES_STRING]); + + UA_KeyValueMap paramMap; + paramMap.map = params; + paramMap.mapSize = 2; + + /* Open the client TCP connection */ + UA_StatusCode res = cm->openConnection(cm, ¶mMap, client, NULL, __Client_networkCallback); + if(res == UA_STATUSCODE_GOOD) + break; + } + + /* The channel has not opened */ + if(client->channel.state == UA_SECURECHANNELSTATE_CLOSED) + client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; + + /* Opening the TCP connection failed */ + if(client->connectStatus != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not open a TCP connection to %.*s", + (int)client->config.endpointUrl.length, + client->config.endpointUrl.data); + client->connectStatus = UA_STATUSCODE_BADCONNECTIONCLOSED; + } +} + +void +connectSync(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Initialize the connection */ + initConnect(client); + notifyClientState(client); + if(client->connectStatus != UA_STATUSCODE_GOOD) + return; + + UA_DateTime now = UA_DateTime_nowMonotonic(); + UA_DateTime maxDate = now + ((UA_DateTime)client->config.timeout * UA_DATETIME_MSEC); + + /* EventLoop is started. Otherwise initConnect would have failed. */ + UA_EventLoop *el = client->config.eventLoop; + UA_assert(el); + + /* Run the EventLoop until connected, connect fail or timeout. Write the + * iterate result to the connectStatus. So we do not attempt to restore a + * failed connection during the sync connect. */ + while(client->connectStatus == UA_STATUSCODE_GOOD && + !isFullyConnected(client)) { + + /* Timeout -> abort */ + now = UA_DateTime_nowMonotonic(); + if(maxDate < now) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The connection has timed out before it could be fully opened"); + client->connectStatus = UA_STATUSCODE_BADTIMEOUT; + closeSecureChannel(client); + /* Continue to run. So the SecureChannel is fully closed in the next + * EventLoop iteration. */ + } + + /* Drop into the EventLoop */ + UA_StatusCode res = el->run(el, (UA_UInt32)((maxDate - now) / UA_DATETIME_MSEC)); + if(res != UA_STATUSCODE_GOOD) { + client->connectStatus = res; + closeSecureChannel(client); + } + + notifyClientState(client); + } +} + +UA_StatusCode +connectInternal(UA_Client *client, UA_Boolean async) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Reset the connectStatus. This should be the only place where we can + * recover from a bad connectStatus. */ + client->connectStatus = UA_STATUSCODE_GOOD; + + if(async) + initConnect(client); + else + connectSync(client); + notifyClientState(client); + return client->connectStatus; +} + +UA_StatusCode +connectSecureChannel(UA_Client *client, const char *endpointUrl) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_ClientConfig *cc = UA_Client_getConfig(client); + cc->noSession = true; + UA_String_clear(&cc->endpointUrl); + cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); + return connectInternal(client, false); +} + +UA_StatusCode +__UA_Client_connect(UA_Client *client, UA_Boolean async) { + lockClient(client); + connectInternal(client, async); + unlockClient(client); + return client->connectStatus; +} + +static UA_StatusCode +activateSessionSync(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_DateTime now = UA_DateTime_nowMonotonic(); + UA_DateTime maxDate = now + ((UA_DateTime)client->config.timeout * UA_DATETIME_MSEC); + + /* Try to activate */ + UA_StatusCode res = activateSessionAsync(client); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* EventLoop is started. Otherwise activateSessionAsync would have failed. */ + UA_EventLoop *el = client->config.eventLoop; + UA_assert(el); + while(client->sessionState != UA_SESSIONSTATE_ACTIVATED && + client->connectStatus == UA_STATUSCODE_GOOD) { + + /* Timeout -> abort */ + now = UA_DateTime_nowMonotonic(); + if(maxDate < now) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The connection has timed out before it could be fully opened"); + client->connectStatus = UA_STATUSCODE_BADTIMEOUT; + closeSecureChannel(client); + /* Continue to run. So the SecureChannel is fully closed in the next + * EventLoop iteration. */ + } + + /* Drop into the EventLoop */ + res = el->run(el, (UA_UInt32)((maxDate - now) / UA_DATETIME_MSEC)); + if(res != UA_STATUSCODE_GOOD) { + client->connectStatus = res; + closeSecureChannel(client); + } + + notifyClientState(client); + } + + return client->connectStatus; +} + +UA_StatusCode +UA_Client_activateCurrentSession(UA_Client *client) { + lockClient(client); + UA_StatusCode res = activateSessionSync(client); + notifyClientState(client); + unlockClient(client); + return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; +} + +UA_StatusCode +UA_Client_activateCurrentSessionAsync(UA_Client *client) { + lockClient(client); + UA_StatusCode res = activateSessionAsync(client); + notifyClientState(client); + unlockClient(client); + return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; +} + +UA_StatusCode +UA_Client_getSessionAuthenticationToken(UA_Client *client, UA_NodeId *authenticationToken, + UA_ByteString *serverNonce) { + lockClient(client); + if(client->sessionState != UA_SESSIONSTATE_CREATED && + client->sessionState != UA_SESSIONSTATE_ACTIVATED) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "There is no current session"); + unlockClient(client); + return UA_STATUSCODE_BADSESSIONCLOSED; + } + + UA_StatusCode res = UA_NodeId_copy(&client->authenticationToken, authenticationToken); + res |= UA_ByteString_copy(&client->serverSessionNonce, serverNonce); + unlockClient(client); + return res; +} + +static UA_StatusCode +switchSession(UA_Client *client, + const UA_NodeId authenticationToken, + const UA_ByteString serverNonce) { + /* Check that there is no pending session in the client */ + if(client->sessionState != UA_SESSIONSTATE_CLOSED) { + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Cannot activate a session with a different AuthenticationToken " + "when the client already has a Session."); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Replace token and nonce */ + UA_NodeId_clear(&client->authenticationToken); + UA_ByteString_clear(&client->serverSessionNonce); + UA_StatusCode res = UA_NodeId_copy(&authenticationToken, &client->authenticationToken); + res |= UA_ByteString_copy(&serverNonce, &client->serverSessionNonce); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Notify that we have now a created session */ + client->sessionState = UA_SESSIONSTATE_CREATED; + notifyClientState(client); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_activateSession(UA_Client *client, + const UA_NodeId authenticationToken, + const UA_ByteString serverNonce) { + lockClient(client); + UA_StatusCode res = switchSession(client, authenticationToken, serverNonce); + if(res != UA_STATUSCODE_GOOD) { + unlockClient(client); + return res; + } + res = activateSessionSync(client); + notifyClientState(client); + unlockClient(client); + return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; +} + +UA_StatusCode +UA_Client_activateSessionAsync(UA_Client *client, + const UA_NodeId authenticationToken, + const UA_ByteString serverNonce) { + lockClient(client); + UA_StatusCode res = switchSession(client, authenticationToken, serverNonce); + if(res != UA_STATUSCODE_GOOD) { + unlockClient(client); + return res; + } + res = activateSessionAsync(client); + notifyClientState(client); + unlockClient(client); + return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; +} + +static void +disconnectListenSockets(UA_Client *client) { + UA_ConnectionManager *cm = client->reverseConnectionCM; + for(size_t i = 0; i < 16; i++) { + if(client->reverseConnectionIds[i] != 0) { + cm->closeConnection(cm, client->reverseConnectionIds[i]); + } + } +} + +/* ConnectionContext meaning: + * - NULL: New listen connection + * - &client->channel: Established active socket to a server + * - &client->reverseConnectionIds[*] == connectionId: Established listen socket + * - &client->reverseConnectionIds[*] != connectionId: New active socket */ +static void +__Client_reverseConnectCallback(UA_ConnectionManager *cm, uintptr_t connectionId, + void *application, void **connectionContext, + UA_ConnectionState state, const UA_KeyValueMap *params, + UA_ByteString msg) { + UA_Client *client = (UA_Client*)application; + lockClient(client); + + if(!*connectionContext) { + /* Store the new listen connection */ + size_t i = 0; + for(; i < 16; i++) { + if(client->reverseConnectionIds[i] == 0) { + client->reverseConnectionIds[i] = connectionId; + client->reverseConnectionCM = cm; + *connectionContext = &client->reverseConnectionIds[i]; + if(client->channel.state == UA_SECURECHANNELSTATE_CLOSED) + client->channel.state = UA_SECURECHANNELSTATE_REVERSE_LISTENING; + break; + } + } + /* All slots are full, close */ + if(i == 16) { + cm->closeConnection(cm, connectionId); + unlockClient(client); + return; + } + } else if(*connectionContext == &client->channel || + *(uintptr_t*)*connectionContext != connectionId) { + /* Active socket */ + + /* New active socket */ + if(*connectionContext != &client->channel) { + /* The client already has an active connection */ + if(client->channel.connectionId) { + cm->closeConnection(cm, connectionId); + unlockClient(client); + return; + } + + /* Set the connection the SecureChannel */ + client->channel.connectionId = connectionId; + client->channel.connectionManager = cm; + *connectionContext = &client->channel; + + /* Don't keep the listen sockets when an active connection is open */ + disconnectListenSockets(client); + + /* Set the channel state. The notification callback is called within + * __Client_reverseConnectCallback. */ + if(client->channel.state == UA_SECURECHANNELSTATE_REVERSE_LISTENING) + client->channel.state = UA_SECURECHANNELSTATE_REVERSE_CONNECTED; + } + + /* Handle the active connection in the normal network callback */ + unlockClient(client); + __Client_networkCallback(cm, connectionId, application, + connectionContext, state, params, msg); + return; + } + + /* Close the listen socket. Was this the last one? */ + if(state == UA_CONNECTIONSTATE_CLOSING) { + UA_Byte count = 0; + for(size_t i = 0; i < 16; i++) { + if(client->reverseConnectionIds[i] == connectionId) + client->reverseConnectionIds[i] = 0; + if(client->reverseConnectionIds[i] != 0) + count++; + } + /* The last connection was closed */ + if(count == 0 && client->channel.connectionId == 0) + client->channel.state = UA_SECURECHANNELSTATE_CLOSED; + } + + notifyClientState(client); + unlockClient(client); +} + +UA_StatusCode +UA_Client_startListeningForReverseConnect(UA_Client *client, + const UA_String *listenHostnames, + size_t listenHostnamesLength, + UA_UInt16 port) { + lockClient(client); + + if(client->channel.state != UA_SECURECHANNELSTATE_CLOSED) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Unable to listen for reverse connect while the client " + "is connected or already listening"); + unlockClient(client); + return UA_STATUSCODE_BADINVALIDSTATE; + } + + const UA_String tcpString = UA_STRING_STATIC("tcp"); + UA_StatusCode res = UA_STATUSCODE_BADINTERNALERROR; + + client->connectStatus = UA_STATUSCODE_GOOD; + client->channel.renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; + + UA_SecureChannel_init(&client->channel); + client->channel.config = client->config.localConnectionConfig; + client->channel.certificateVerification = &client->config.certificateVerification; + client->channel.processOPNHeader = verifyClientSecureChannelHeader; + client->channel.processOPNHeaderApplication = client; + client->channel.connectionId = 0; + + client->connectStatus = initSecurityPolicy(client); + if(client->connectStatus != UA_STATUSCODE_GOOD) + return client->connectStatus; + + UA_EventLoop *el = client->config.eventLoop; + if(!el) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "No EventLoop configured"); + unlockClient(client); + return UA_STATUSCODE_BADINTERNALERROR; + } + + if(el->state != UA_EVENTLOOPSTATE_STARTED) { + res = el->start(el); + UA_CHECK_STATUS(res, unlockClient(client); return res); + } + + UA_ConnectionManager *cm = NULL; + for(UA_EventSource *es = el->eventSources; es != NULL; es = es->next) { + if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) + continue; + cm = (UA_ConnectionManager*)es; + if(UA_String_equal(&tcpString, &cm->protocol)) + break; + cm = NULL; + } + + if(!cm) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not find a TCP connection manager, unable to " + "listen for reverse connect"); + unlockClient(client); + return UA_STATUSCODE_BADINTERNALERROR; + } + + client->channel.connectionManager = cm; + + UA_KeyValuePair params[4]; + bool booleanTrue = true; + params[0].key = UA_QUALIFIEDNAME(0, "port"); + UA_Variant_setScalar(¶ms[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + params[1].key = UA_QUALIFIEDNAME(0, "address"); + UA_Variant_setArray(¶ms[1].value, (void *)(uintptr_t)listenHostnames, + listenHostnamesLength, &UA_TYPES[UA_TYPES_STRING]); + params[2].key = UA_QUALIFIEDNAME(0, "listen"); + UA_Variant_setScalar(¶ms[2].value, &booleanTrue, &UA_TYPES[UA_TYPES_BOOLEAN]); + params[3].key = UA_QUALIFIEDNAME(0, "reuse"); + UA_Variant_setScalar(¶ms[3].value, &booleanTrue, &UA_TYPES[UA_TYPES_BOOLEAN]); + + UA_KeyValueMap paramMap; + paramMap.map = params; + paramMap.mapSize = 4; + + res = cm->openConnection(cm, ¶mMap, client, NULL, __Client_reverseConnectCallback); + + /* Opening the TCP connection failed */ + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Failed to open a listening TCP socket for reverse connect"); + res = UA_STATUSCODE_BADCONNECTIONCLOSED; + } + + unlockClient(client); + return res; +} + +/************************/ +/* Close the Connection */ +/************************/ + +void +closeSecureChannel(UA_Client *client) { + /* If we close SecureChannel when the Session is still active, set to + * created. Otherwise the Session would remain active until the connection + * callback is called for the closing connection. */ + if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) + client->sessionState = UA_SESSIONSTATE_CREATED; + + /* Prevent recursion */ + if(client->channel.state == UA_SECURECHANNELSTATE_CLOSING || + client->channel.state == UA_SECURECHANNELSTATE_CLOSED) + return; + + UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, + "Closing the channel"); + + disconnectListenSockets(client); + + /* Send CLO if the SecureChannel is open */ + if(client->channel.state == UA_SECURECHANNELSTATE_OPEN) { + UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, + "Sending the CLO message"); + + /* Manually set up the header (otherwise done in sendRequest) */ + UA_CloseSecureChannelRequest request; + UA_CloseSecureChannelRequest_init(&request); + request.requestHeader.requestHandle = ++client->requestHandle; + request.requestHeader.timestamp = UA_DateTime_now(); + request.requestHeader.timeoutHint = client->config.timeout; + request.requestHeader.authenticationToken = client->authenticationToken; + UA_SecureChannel_sendSymmetricMessage(&client->channel, ++client->requestId, + UA_MESSAGETYPE_CLO, &request, + &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); + } + + /* The connection is eventually closed in the next callback from the + * ConnectionManager with the appropriate status code. Don't set the + * connection closed right away! */ + UA_SecureChannel_shutdown(&client->channel, UA_SHUTDOWNREASON_CLOSE); +} + +static void +sendCloseSession(UA_Client *client) { + UA_CloseSessionRequest request; + UA_CloseSessionRequest_init(&request); + request.deleteSubscriptions = true; + UA_CloseSessionResponse response; + __Client_Service(client, &request, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST], + &response, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); + UA_CloseSessionRequest_clear(&request); + UA_CloseSessionResponse_clear(&response); + + /* Set after sending the message to prevent immediate reoping during the + * service call */ + client->sessionState = UA_SESSIONSTATE_CLOSING; +} + +void +cleanupSession(UA_Client *client) { + UA_NodeId_clear(&client->authenticationToken); + client->requestHandle = 0; + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* We need to clean up the subscriptions */ + __Client_Subscriptions_clean(client); +#endif + + /* Delete outstanding async services */ + __Client_AsyncService_removeAll(client, UA_STATUSCODE_BADSESSIONCLOSED); + +#ifdef UA_ENABLE_SUBSCRIPTIONS + client->currentlyOutStandingPublishRequests = 0; +#endif + + client->sessionState = UA_SESSIONSTATE_CLOSED; +} + +static void +disconnectSecureChannel(UA_Client *client, UA_Boolean sync) { + /* Clean the DiscoveryUrl and endpoint description when the connection is + * explicitly closed */ + UA_String_clear(&client->discoveryUrl); + UA_EndpointDescription_clear(&client->endpoint); + + /* Close the SecureChannel */ + closeSecureChannel(client); + + /* Manually set the status to closed to prevent an automatic reconnection */ + if(client->connectStatus == UA_STATUSCODE_GOOD) + client->connectStatus = UA_STATUSCODE_BADCONNECTIONCLOSED; + + /* In the synchronous case, loop until the client has actually closed. */ + UA_EventLoop *el = client->config.eventLoop; + if(sync && el && + el->state != UA_EVENTLOOPSTATE_FRESH && + el->state != UA_EVENTLOOPSTATE_STOPPED) { + while(client->channel.state != UA_SECURECHANNELSTATE_CLOSED) { + el->run(el, 100); + } + } + + notifyClientState(client); +} + +UA_StatusCode +UA_Client_disconnectSecureChannel(UA_Client *client) { + lockClient(client); + disconnectSecureChannel(client, true); + unlockClient(client); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_disconnectSecureChannelAsync(UA_Client *client) { + lockClient(client); + disconnectSecureChannel(client, false); + unlockClient(client); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_disconnect(UA_Client *client) { + lockClient(client); + if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) + sendCloseSession(client); + cleanupSession(client); + disconnectSecureChannel(client, true); + unlockClient(client); + return UA_STATUSCODE_GOOD; +} + +static void +closeSessionCallback(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response) { + lockClient(client); + cleanupSession(client); + disconnectSecureChannel(client, false); + notifyClientState(client); + unlockClient(client); +} + +UA_StatusCode +UA_Client_disconnectAsync(UA_Client *client) { + lockClient(client); + + if(client->sessionState == UA_SESSIONSTATE_CLOSED || + client->sessionState == UA_SESSIONSTATE_CLOSING) { + disconnectSecureChannel(client, false); + notifyClientState(client); + unlockClient(client); + return UA_STATUSCODE_GOOD; + } + + /* Set before sending the message to prevent recursion */ + client->sessionState = UA_SESSIONSTATE_CLOSING; + + UA_CloseSessionRequest request; + UA_CloseSessionRequest_init(&request); + request.deleteSubscriptions = true; + UA_StatusCode res = + __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST], + (UA_ClientAsyncServiceCallback)closeSessionCallback, + &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE], NULL, NULL); + if(res != UA_STATUSCODE_GOOD) { + /* Sending the close request failed. Continue to close the connection + * anyway. */ + cleanupSession(client); + disconnectSecureChannel(client, false); + } + + notifyClientState(client); + unlockClient(client); + return res; +} + +/**** amalgamated original file "/src/client/ua_client_discovery.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + +/* Helper method for additional warnings */ +void +Client_warnEndpointsResult(UA_Client *client, + const UA_GetEndpointsResponse *response, + const UA_String *endpointUrl) { + if(response->endpointsSize == 0) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The server did not return any endpoints. " + "Did you use the correct endpointUrl?"); + return; + } + + if(!UA_String_equal(endpointUrl, &response->endpoints[0].endpointUrl) || + (response->endpoints[0].server.discoveryUrlsSize > 0 && + !UA_String_equal(endpointUrl, &response->endpoints[0].server.discoveryUrls[0]))) { + UA_String *betterUrl = &response->endpoints[0].endpointUrl; + if(response->endpoints[0].server.discoveryUrlsSize > 0) + betterUrl = &response->endpoints[0].server.discoveryUrls[0]; + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "The server returned Endpoints with a different EndpointUrl %.*s than was " + "used to initialize the connection: %.*s. Some servers require a complete " + "match of the EndpointUrl/DiscoveryUrl (including the path) " + "to return all endpoints.", + (int)betterUrl->length, betterUrl->data, + (int)endpointUrl->length, endpointUrl->data); + } +} + +/* Gets a list of endpoints. Memory is allocated for endpointDescription array */ +static UA_StatusCode +getEndpointsInternal(UA_Client *client, const UA_String endpointUrl, + size_t *endpointDescriptionsSize, + UA_EndpointDescription **endpointDescriptions) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_GetEndpointsRequest request; + UA_GetEndpointsRequest_init(&request); + request.requestHeader.timestamp = UA_DateTime_now(); + request.requestHeader.timeoutHint = 10000; + // assume the endpointurl outlives the service call + request.endpointUrl = endpointUrl; + + UA_GetEndpointsResponse response; + __Client_Service(client, &request, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST], + &response, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); + + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_StatusCode retval = response.responseHeader.serviceResult; + UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, + "GetEndpointRequest failed with error code %s", + UA_StatusCode_name(retval)); + UA_GetEndpointsResponse_clear(&response); + return retval; + } + + *endpointDescriptions = response.endpoints; + *endpointDescriptionsSize = response.endpointsSize; + response.endpoints = NULL; + response.endpointsSize = 0; + UA_GetEndpointsResponse_clear(&response); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_getEndpoints(UA_Client *client, const char *serverUrl, + size_t *endpointDescriptionsSize, + UA_EndpointDescription** endpointDescriptions) { + lockClient(client); + + UA_Boolean connected = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); + /* Client is already connected to a different server */ + if(connected && strncmp((const char*)client->config.endpoint.endpointUrl.data, serverUrl, + client->config.endpoint.endpointUrl.length) != 0) { + unlockClient(client); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval; + const UA_String url = UA_STRING((char*)(uintptr_t)serverUrl); + if(!connected) { + retval = connectSecureChannel(client, serverUrl); + if(retval != UA_STATUSCODE_GOOD) { + unlockClient(client); + return retval; + } + } + retval = getEndpointsInternal(client, url, endpointDescriptionsSize, + endpointDescriptions); + unlockClient(client); + + if(!connected) + UA_Client_disconnect(client); + return retval; +} + +UA_StatusCode +UA_Client_findServers(UA_Client *client, const char *serverUrl, + size_t serverUrisSize, UA_String *serverUris, + size_t localeIdsSize, UA_String *localeIds, + size_t *registeredServersSize, + UA_ApplicationDescription **registeredServers) { + lockClient(client); + UA_Boolean connected = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); + /* Client is already connected to a different server */ + if(connected && strncmp((const char*)client->config.endpoint.endpointUrl.data, serverUrl, + client->config.endpoint.endpointUrl.length) != 0) { + unlockClient(client); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval; + if(!connected) { + retval = connectSecureChannel(client, serverUrl); + if(retval != UA_STATUSCODE_GOOD) { + unlockClient(client); + return retval; + } + } + + /* Prepare the request */ + UA_FindServersRequest request; + UA_FindServersRequest_init(&request); + request.serverUrisSize = serverUrisSize; + request.serverUris = serverUris; + request.localeIdsSize = localeIdsSize; + request.localeIds = localeIds; + + /* Send the request */ + UA_FindServersResponse response; + __Client_Service(client, &request, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST], + &response, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); + + unlockClient(client); + + /* Process the response */ + retval = response.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + *registeredServersSize = response.serversSize; + *registeredServers = response.servers; + response.serversSize = 0; + response.servers = NULL; + } else { + *registeredServersSize = 0; + *registeredServers = NULL; + } + + /* Clean up */ + UA_FindServersResponse_clear(&response); + if(!connected) + UA_Client_disconnect(client); + return retval; +} + +UA_StatusCode +UA_Client_findServersOnNetwork(UA_Client *client, const char *serverUrl, + UA_UInt32 startingRecordId, UA_UInt32 maxRecordsToReturn, + size_t serverCapabilityFilterSize, UA_String *serverCapabilityFilter, + size_t *serverOnNetworkSize, UA_ServerOnNetwork **serverOnNetwork) { + lockClient(client); + + UA_Boolean connected = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); + /* Client is already connected to a different server */ + if(connected && strncmp((const char*)client->config.endpoint.endpointUrl.data, serverUrl, + client->config.endpoint.endpointUrl.length) != 0) { + unlockClient(client); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval; + if(!connected) { + retval = connectSecureChannel(client, serverUrl); + if(retval != UA_STATUSCODE_GOOD) { + lockClient(client); + return retval; + } + } + + /* Prepare the request */ + UA_FindServersOnNetworkRequest request; + UA_FindServersOnNetworkRequest_init(&request); + request.startingRecordId = startingRecordId; + request.maxRecordsToReturn = maxRecordsToReturn; + request.serverCapabilityFilterSize = serverCapabilityFilterSize; + request.serverCapabilityFilter = serverCapabilityFilter; + + /* Send the request */ + UA_FindServersOnNetworkResponse response; + __Client_Service(client, &request, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST], + &response, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); + + unlockClient(client); + + /* Process the response */ + retval = response.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + *serverOnNetworkSize = response.serversSize; + *serverOnNetwork = response.servers; + response.serversSize = 0; + response.servers = NULL; + } else { + *serverOnNetworkSize = 0; + *serverOnNetwork = NULL; + } + + /* Clean up */ + UA_FindServersOnNetworkResponse_clear(&response); + if(!connected) + UA_Client_disconnect(client); + return retval; +} + +/**** amalgamated original file "/src/client/ua_client_highlevel.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2017 (c) Florian Palm + * Copyright 2016 (c) Chris Iatrou + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Fabian Arndt + * Copyright 2018 (c) Peter Rustler, basyskom GmbH + */ + + +/* The highlevel client API is an "outer onion layer". This file does not + * include ua_client_internal.h on purpose. */ + +UA_StatusCode +UA_Client_NamespaceGetIndex(UA_Client *client, UA_String *namespaceUri, + UA_UInt16 *namespaceIndex) { + UA_ReadRequest request; + UA_ReadRequest_init(&request); + UA_ReadValueId id; + UA_ReadValueId_init(&id); + id.attributeId = UA_ATTRIBUTEID_VALUE; + id.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY); + request.nodesToRead = &id; + request.nodesToReadSize = 1; + + UA_ReadResponse response = UA_Client_Service_read(client, request); + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) + retval = response.responseHeader.serviceResult; + else if(response.resultsSize != 1 || !response.results[0].hasValue) + retval = UA_STATUSCODE_BADNODEATTRIBUTESINVALID; + else if(response.results[0].value.type != &UA_TYPES[UA_TYPES_STRING]) + retval = UA_STATUSCODE_BADTYPEMISMATCH; + + if(retval != UA_STATUSCODE_GOOD) { + UA_ReadResponse_clear(&response); + return retval; + } + + retval = UA_STATUSCODE_BADNOTFOUND; + UA_String *ns = (UA_String *)response.results[0].value.data; + for(size_t i = 0; i < response.results[0].value.arrayLength; ++i) { + if(UA_String_equal(namespaceUri, &ns[i])) { + *namespaceIndex = (UA_UInt16)i; + retval = UA_STATUSCODE_GOOD; + break; + } + } + + UA_ReadResponse_clear(&response); + return retval; +} + +UA_StatusCode +UA_Client_forEachChildNodeCall(UA_Client *client, UA_NodeId parentNodeId, + UA_NodeIteratorCallback callback, void *handle) { + UA_BrowseRequest bReq; + UA_BrowseRequest_init(&bReq); + bReq.requestedMaxReferencesPerNode = 0; + bReq.nodesToBrowse = UA_BrowseDescription_new(); + bReq.nodesToBrowseSize = 1; + UA_NodeId_copy(&parentNodeId, &bReq.nodesToBrowse[0].nodeId); + bReq.nodesToBrowse[0].resultMask = UA_BROWSERESULTMASK_ALL; //return everything + bReq.nodesToBrowse[0].browseDirection = UA_BROWSEDIRECTION_BOTH; + + UA_BrowseResponse bResp = UA_Client_Service_browse(client, bReq); + + UA_StatusCode retval = bResp.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + for(size_t i = 0; i < bResp.resultsSize; ++i) { + for(size_t j = 0; j < bResp.results[i].referencesSize; ++j) { + UA_ReferenceDescription *ref = &bResp.results[i].references[j]; + retval |= callback(ref->nodeId.nodeId, !ref->isForward, + ref->referenceTypeId, handle); + } + } + } + + UA_BrowseRequest_clear(&bReq); + UA_BrowseResponse_clear(&bResp); + return retval; +} + +/*******************/ +/* Node Management */ +/*******************/ + +UA_StatusCode +UA_Client_addReference(UA_Client *client, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_String targetServerUri, + const UA_ExpandedNodeId targetNodeId, + UA_NodeClass targetNodeClass) { + UA_AddReferencesItem item; + UA_AddReferencesItem_init(&item); + item.sourceNodeId = sourceNodeId; + item.referenceTypeId = referenceTypeId; + item.isForward = isForward; + item.targetServerUri = targetServerUri; + item.targetNodeId = targetNodeId; + item.targetNodeClass = targetNodeClass; + UA_AddReferencesRequest request; + UA_AddReferencesRequest_init(&request); + request.referencesToAdd = &item; + request.referencesToAddSize = 1; + UA_AddReferencesResponse response = UA_Client_Service_addReferences(client, request); + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) { + UA_AddReferencesResponse_clear(&response); + return retval; + } + if(response.resultsSize != 1) { + UA_AddReferencesResponse_clear(&response); + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + retval = response.results[0]; + UA_AddReferencesResponse_clear(&response); + return retval; +} + +UA_StatusCode +UA_Client_deleteReference(UA_Client *client, const UA_NodeId sourceNodeId, + const UA_NodeId referenceTypeId, UA_Boolean isForward, + const UA_ExpandedNodeId targetNodeId, + UA_Boolean deleteBidirectional) { + UA_DeleteReferencesItem item; + UA_DeleteReferencesItem_init(&item); + item.sourceNodeId = sourceNodeId; + item.referenceTypeId = referenceTypeId; + item.isForward = isForward; + item.targetNodeId = targetNodeId; + item.deleteBidirectional = deleteBidirectional; + UA_DeleteReferencesRequest request; + UA_DeleteReferencesRequest_init(&request); + request.referencesToDelete = &item; + request.referencesToDeleteSize = 1; + UA_DeleteReferencesResponse response = UA_Client_Service_deleteReferences(client, request); + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) { + UA_DeleteReferencesResponse_clear(&response); + return retval; + } + if(response.resultsSize != 1) { + UA_DeleteReferencesResponse_clear(&response); + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + retval = response.results[0]; + UA_DeleteReferencesResponse_clear(&response); + return retval; +} + +UA_StatusCode +UA_Client_deleteNode(UA_Client *client, const UA_NodeId nodeId, + UA_Boolean deleteTargetReferences) { + UA_DeleteNodesItem item; + UA_DeleteNodesItem_init(&item); + item.nodeId = nodeId; + item.deleteTargetReferences = deleteTargetReferences; + UA_DeleteNodesRequest request; + UA_DeleteNodesRequest_init(&request); + request.nodesToDelete = &item; + request.nodesToDeleteSize = 1; + UA_DeleteNodesResponse response = UA_Client_Service_deleteNodes(client, request); + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) { + UA_DeleteNodesResponse_clear(&response); + return retval; + } + if(response.resultsSize != 1) { + UA_DeleteNodesResponse_clear(&response); + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + retval = response.results[0]; + UA_DeleteNodesResponse_clear(&response); + return retval; +} + +UA_StatusCode +__UA_Client_addNode(UA_Client *client, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, + const UA_DataType *attributeType, UA_NodeId *outNewNodeId) { + UA_AddNodesRequest request; + UA_AddNodesRequest_init(&request); + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.parentNodeId.nodeId = parentNodeId; + item.referenceTypeId = referenceTypeId; + item.requestedNewNodeId.nodeId = requestedNewNodeId; + item.browseName = browseName; + item.nodeClass = nodeClass; + item.typeDefinition.nodeId = typeDefinition; + item.nodeAttributes.encoding = UA_EXTENSIONOBJECT_DECODED_NODELETE; + item.nodeAttributes.content.decoded.type = attributeType; + item.nodeAttributes.content.decoded.data = (void*)(uintptr_t)attr; // hack. is not written into. + request.nodesToAdd = &item; + request.nodesToAddSize = 1; + UA_AddNodesResponse response = UA_Client_Service_addNodes(client, request); + + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) { + UA_AddNodesResponse_clear(&response); + return retval; + } + + if(response.resultsSize != 1) { + UA_AddNodesResponse_clear(&response); + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + + /* Move the id of the created node */ + retval = response.results[0].statusCode; + if(retval == UA_STATUSCODE_GOOD && outNewNodeId) { + *outNewNodeId = response.results[0].addedNodeId; + UA_NodeId_init(&response.results[0].addedNodeId); + } + + UA_AddNodesResponse_clear(&response); + return retval; +} + +/********/ +/* Call */ +/********/ + +UA_StatusCode +UA_Client_call(UA_Client *client, const UA_NodeId objectId, + const UA_NodeId methodId, size_t inputSize, + const UA_Variant *input, size_t *outputSize, + UA_Variant **output) { + /* Set up the request */ + UA_CallRequest request; + UA_CallRequest_init(&request); + UA_CallMethodRequest item; + UA_CallMethodRequest_init(&item); + item.methodId = methodId; + item.objectId = objectId; + item.inputArguments = (UA_Variant *)(void*)(uintptr_t)input; // cast const... + item.inputArgumentsSize = inputSize; + request.methodsToCall = &item; + request.methodsToCallSize = 1; + + /* Call the service */ + UA_CallResponse response = UA_Client_Service_call(client, request); + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + if(response.resultsSize == 1) + retval = response.results[0].statusCode; + else + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + } + if(UA_StatusCode_isBad(retval)) { + UA_CallResponse_clear(&response); + return retval; + } + + /* Move the output arguments */ + if(output != NULL && outputSize != NULL) { + *output = response.results[0].outputArguments; + *outputSize = response.results[0].outputArgumentsSize; + response.results[0].outputArguments = NULL; + response.results[0].outputArgumentsSize = 0; + } + UA_CallResponse_clear(&response); + return retval; +} + +/********************/ +/* Write Attributes */ +/********************/ + +UA_StatusCode +__UA_Client_writeAttribute(UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, const void *in, + const UA_DataType *inDataType) { + if(!in || !inDataType) + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_WriteValue wValue; + UA_WriteValue_init(&wValue); + wValue.nodeId = *nodeId; + wValue.attributeId = attributeId; + if(attributeId == UA_ATTRIBUTEID_VALUE && + inDataType == &UA_TYPES[UA_TYPES_VARIANT]) { + wValue.value.value = *(const UA_Variant*)in; + wValue.value.hasValue = true; + } else if(attributeId == UA_ATTRIBUTEID_VALUE && + inDataType == &UA_TYPES[UA_TYPES_DATAVALUE]) { + wValue.value = *(const UA_DataValue*)in; + } else { + /* Hack to get rid of the const annotation. + * The value is never written into. */ + UA_Variant_setScalar(&wValue.value.value, (void*)(uintptr_t)in, inDataType); + wValue.value.hasValue = true; + } + UA_WriteRequest wReq; + UA_WriteRequest_init(&wReq); + wReq.nodesToWrite = &wValue; + wReq.nodesToWriteSize = 1; + + UA_WriteResponse wResp = UA_Client_Service_write(client, wReq); + + UA_StatusCode retval = wResp.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + if(wResp.resultsSize == 1) + retval = wResp.results[0]; + else + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + } + + UA_WriteResponse_clear(&wResp); + return retval; +} + +UA_StatusCode +UA_Client_writeArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, + size_t newArrayDimensionsSize, + const UA_UInt32 *newArrayDimensions) { + if(!newArrayDimensions) + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_WriteValue wValue; + UA_WriteValue_init(&wValue); + wValue.nodeId = nodeId; + wValue.attributeId = UA_ATTRIBUTEID_ARRAYDIMENSIONS; + UA_Variant_setArray(&wValue.value.value, (void*)(uintptr_t)newArrayDimensions, + newArrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); + wValue.value.hasValue = true; + UA_WriteRequest wReq; + UA_WriteRequest_init(&wReq); + wReq.nodesToWrite = &wValue; + wReq.nodesToWriteSize = 1; + + UA_WriteResponse wResp = UA_Client_Service_write(client, wReq); + + UA_StatusCode retval = wResp.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + if(wResp.resultsSize == 1) + retval = wResp.results[0]; + else + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + } + UA_WriteResponse_clear(&wResp); + return retval; +} + +/*******************/ +/* Read Attributes */ +/*******************/ + +UA_StatusCode +__UA_Client_readAttribute(UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, void *out, + const UA_DataType *outDataType) { + UA_ReadValueId item; + UA_ReadValueId_init(&item); + item.nodeId = *nodeId; + item.attributeId = attributeId; + UA_ReadRequest request; + UA_ReadRequest_init(&request); + request.nodesToRead = &item; + request.nodesToReadSize = 1; + UA_ReadResponse response = UA_Client_Service_read(client, request); + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + if(response.resultsSize == 1) + retval = response.results[0].status; + else + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + } + if(!UA_StatusCode_isEqualTop(retval,UA_STATUSCODE_GOOD)) { + UA_ReadResponse_clear(&response); + return retval; + } + + /* Set the StatusCode */ + UA_DataValue *res = response.results; + if(res->hasStatus) + retval = res->status; + + /* Return early of no value is given */ + if(!res->hasValue) { + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + UA_ReadResponse_clear(&response); + return retval; + } + + /* Copy value into out */ + if(attributeId == UA_ATTRIBUTEID_VALUE) { + memcpy(out, &res->value, sizeof(UA_Variant)); + UA_Variant_init(&res->value); + } else if(attributeId == UA_ATTRIBUTEID_NODECLASS) { + memcpy(out, (UA_NodeClass*)res->value.data, sizeof(UA_NodeClass)); + } else if(UA_Variant_isScalar(&res->value) && + res->value.type == outDataType) { + memcpy(out, res->value.data, res->value.type->memSize); + UA_free(res->value.data); + res->value.data = NULL; + } else { + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + } + + UA_ReadResponse_clear(&response); + return retval; +} + +static UA_StatusCode +processReadArrayDimensionsResult(UA_ReadResponse *response, + UA_UInt32 **outArrayDimensions, + size_t *outArrayDimensionsSize) { + UA_StatusCode retval = response->responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) + return retval; + + if(response->resultsSize != 1) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + + retval = response->results[0].status; + if(!UA_StatusCode_isEqualTop(retval,UA_STATUSCODE_GOOD)) + return retval; + + UA_DataValue *res = &response->results[0]; + if(!res->hasValue || + UA_Variant_isScalar(&res->value) || + res->value.type != &UA_TYPES[UA_TYPES_UINT32]) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + + /* Move results */ + *outArrayDimensions = (UA_UInt32*)res->value.data; + *outArrayDimensionsSize = res->value.arrayLength; + res->value.data = NULL; + res->value.arrayLength = 0; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Client_readArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, + size_t *outArrayDimensionsSize, + UA_UInt32 **outArrayDimensions) { + UA_ReadValueId item; + UA_ReadValueId_init(&item); + item.nodeId = nodeId; + item.attributeId = UA_ATTRIBUTEID_ARRAYDIMENSIONS; + UA_ReadRequest request; + UA_ReadRequest_init(&request); + request.nodesToRead = &item; + request.nodesToReadSize = 1; + + UA_ReadResponse response = UA_Client_Service_read(client, request); + UA_StatusCode retval = processReadArrayDimensionsResult(&response, outArrayDimensions, + outArrayDimensionsSize); + UA_ReadResponse_clear(&response); + return retval; +} + +/*********************/ +/* Historical Access */ +/*********************/ + +static UA_HistoryReadResponse +__UA_Client_HistoryRead(UA_Client *client, const UA_NodeId *nodeId, + UA_ExtensionObject* details, UA_String indexRange, + UA_TimestampsToReturn timestampsToReturn, + UA_ByteString continuationPoint, UA_Boolean releaseConti) { + + UA_HistoryReadValueId item; + UA_HistoryReadValueId_init(&item); + + item.nodeId = *nodeId; + item.indexRange = indexRange; + item.continuationPoint = continuationPoint; + item.dataEncoding = UA_QUALIFIEDNAME(0, ""); + + UA_HistoryReadRequest request; + UA_HistoryReadRequest_init(&request); + + request.nodesToRead = &item; + request.nodesToReadSize = 1; + request.timestampsToReturn = timestampsToReturn; // Defaults to Source + request.releaseContinuationPoints = releaseConti; // No values are returned, if true + + /* Build ReadDetails */ + request.historyReadDetails = *details; + + return UA_Client_Service_historyRead(client, request); +} + +static UA_StatusCode +__UA_Client_HistoryRead_service(UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, + UA_ExtensionObject *details, UA_String indexRange, + UA_TimestampsToReturn timestampsToReturn, + void *callbackContext) { + + UA_ByteString continuationPoint = UA_BYTESTRING_NULL; + UA_Boolean continuationAvail = false; + UA_Boolean fetchMore = false; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + do { + /* We release the continuation point, if no more data is requested by the user */ + UA_Boolean cleanup = !fetchMore && continuationAvail; + UA_HistoryReadResponse response = + __UA_Client_HistoryRead(client, nodeId, details, indexRange, timestampsToReturn, continuationPoint, cleanup); + + if(cleanup) { + retval = response.responseHeader.serviceResult; +cleanup: UA_HistoryReadResponse_clear(&response); + UA_ByteString_clear(&continuationPoint); + return retval; + } + + retval = response.responseHeader.serviceResult; + if(retval == UA_STATUSCODE_GOOD) { + if(response.resultsSize == 1) + retval = response.results[0].statusCode; + else + retval = UA_STATUSCODE_BADUNEXPECTEDERROR; + } + if(!UA_StatusCode_isEqualTop(retval,UA_STATUSCODE_GOOD)) + goto cleanup; + + UA_HistoryReadResult *res = response.results; + + /* Clear old and check / store new continuation point */ + UA_ByteString_clear(&continuationPoint); + UA_ByteString_copy(&res->continuationPoint, &continuationPoint); + continuationAvail = !UA_ByteString_equal(&continuationPoint, &UA_BYTESTRING_NULL); + + /* Client callback with possibility to request further values */ + fetchMore = callback(client, nodeId, continuationAvail, &res->historyData, callbackContext); + + /* Regular cleanup */ + UA_HistoryReadResponse_clear(&response); + } while(continuationAvail); + + return retval; +} + +UA_StatusCode +UA_Client_HistoryRead_events(UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, + UA_DateTime startTime, UA_DateTime endTime, + UA_String indexRange, const UA_EventFilter filter, UA_UInt32 numValuesPerNode, + UA_TimestampsToReturn timestampsToReturn, void *callbackContext) { + + UA_ReadEventDetails details; + UA_ReadEventDetails_init(&details); + details.filter = filter; + + // At least two of the following parameters must be set + details.numValuesPerNode = numValuesPerNode; // 0 = return all / max server is capable of + details.startTime = startTime; + details.endTime = endTime; + + UA_ExtensionObject detailsExtensionObject; + UA_ExtensionObject_init(&detailsExtensionObject); + detailsExtensionObject.content.decoded.type = &UA_TYPES[UA_TYPES_READEVENTDETAILS]; + detailsExtensionObject.content.decoded.data = &details; + detailsExtensionObject.encoding = UA_EXTENSIONOBJECT_DECODED; + + return __UA_Client_HistoryRead_service(client, nodeId, callback, &detailsExtensionObject, + indexRange, timestampsToReturn, callbackContext); +} + +static UA_StatusCode +__UA_Client_HistoryRead_service_rawMod(UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, + UA_DateTime startTime,UA_DateTime endTime, + UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 numValuesPerNode, + UA_Boolean readModified, UA_TimestampsToReturn timestampsToReturn, + void *callbackContext) { + + UA_ReadRawModifiedDetails details; + UA_ReadRawModifiedDetails_init(&details); + details.isReadModified = readModified; // Return only modified values + details.returnBounds = returnBounds; // Return values pre / post given range + + // At least two of the following parameters must be set + details.numValuesPerNode = numValuesPerNode; // 0 = return all / max server is capable of + details.startTime = startTime; + details.endTime = endTime; + + UA_ExtensionObject detailsExtensionObject; + UA_ExtensionObject_init(&detailsExtensionObject); + detailsExtensionObject.content.decoded.type = &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]; + detailsExtensionObject.content.decoded.data = &details; + detailsExtensionObject.encoding = UA_EXTENSIONOBJECT_DECODED; + + return __UA_Client_HistoryRead_service(client, nodeId, callback, + &detailsExtensionObject, indexRange, + timestampsToReturn, callbackContext); +} + +UA_StatusCode +UA_Client_HistoryRead_raw(UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, + UA_DateTime startTime, UA_DateTime endTime, + UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 numValuesPerNode, + UA_TimestampsToReturn timestampsToReturn, void *callbackContext) { + + return __UA_Client_HistoryRead_service_rawMod(client, nodeId, callback, startTime, endTime, indexRange, returnBounds, + numValuesPerNode, false, timestampsToReturn, callbackContext); +} + +UA_StatusCode +UA_Client_HistoryRead_modified(UA_Client *client, const UA_NodeId *nodeId, + const UA_HistoricalIteratorCallback callback, + UA_DateTime startTime, UA_DateTime endTime, + UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 maxItems, + UA_TimestampsToReturn timestampsToReturn, void *callbackContext) { + return __UA_Client_HistoryRead_service_rawMod(client, nodeId, callback, startTime, + endTime, indexRange, returnBounds, maxItems, + true, timestampsToReturn, callbackContext); +} + +static UA_HistoryUpdateResponse +__UA_Client_HistoryUpdate(UA_Client *client, void *details, size_t typeId) { + UA_HistoryUpdateRequest request; + UA_HistoryUpdateRequest_init(&request); + + UA_ExtensionObject extension; + UA_ExtensionObject_init(&extension); + request.historyUpdateDetailsSize = 1; + request.historyUpdateDetails = &extension; + + extension.encoding = UA_EXTENSIONOBJECT_DECODED; + extension.content.decoded.type = &UA_TYPES[typeId]; + extension.content.decoded.data = details; + + UA_HistoryUpdateResponse response; + response = UA_Client_Service_historyUpdate(client, request); + return response; +} + +static UA_StatusCode +__UA_Client_HistoryUpdate_updateData(UA_Client *client, const UA_NodeId *nodeId, + UA_PerformUpdateType type, UA_DataValue *value) { + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_UpdateDataDetails details; + UA_UpdateDataDetails_init(&details); + + details.performInsertReplace = type; + details.updateValuesSize = 1; + details.updateValues = value; + UA_NodeId_copy(nodeId, &details.nodeId); + + UA_HistoryUpdateResponse response; + response = __UA_Client_HistoryUpdate(client, &details, UA_TYPES_UPDATEDATADETAILS); + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + ret = response.responseHeader.serviceResult; + goto cleanup; + } + if(response.resultsSize != 1 || response.results[0].operationResultsSize != 1) { + ret = UA_STATUSCODE_BADUNEXPECTEDERROR; + goto cleanup; + } + if(response.results[0].statusCode != UA_STATUSCODE_GOOD) { + ret = response.results[0].statusCode; + goto cleanup; + } + ret = response.results[0].operationResults[0]; +cleanup: + UA_HistoryUpdateResponse_clear(&response); + UA_NodeId_clear(&details.nodeId); + return ret; +} + +UA_StatusCode +UA_Client_HistoryUpdate_insert(UA_Client *client, const UA_NodeId *nodeId, + UA_DataValue *value) { + return __UA_Client_HistoryUpdate_updateData(client, nodeId, + UA_PERFORMUPDATETYPE_INSERT, + value); +} + +UA_StatusCode +UA_Client_HistoryUpdate_replace(UA_Client *client, const UA_NodeId *nodeId, + UA_DataValue *value) { + return __UA_Client_HistoryUpdate_updateData(client, nodeId, + UA_PERFORMUPDATETYPE_REPLACE, + value); +} + +UA_StatusCode +UA_Client_HistoryUpdate_update(UA_Client *client, const UA_NodeId *nodeId, + UA_DataValue *value) { + return __UA_Client_HistoryUpdate_updateData(client, nodeId, + UA_PERFORMUPDATETYPE_UPDATE, + value); +} + +UA_StatusCode +UA_Client_HistoryUpdate_deleteRaw(UA_Client *client, const UA_NodeId *nodeId, + UA_DateTime startTimestamp, UA_DateTime endTimestamp) { + UA_DeleteRawModifiedDetails details; + UA_DeleteRawModifiedDetails_init(&details); + details.isDeleteModified = false; + details.startTime = startTimestamp; + details.endTime = endTimestamp; + UA_NodeId_copy(nodeId, &details.nodeId); + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + UA_HistoryUpdateResponse response; + response = __UA_Client_HistoryUpdate(client, &details, UA_TYPES_DELETERAWMODIFIEDDETAILS); + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + ret = response.responseHeader.serviceResult; + goto cleanup; + } + if(response.resultsSize != 1) { + ret = UA_STATUSCODE_BADUNEXPECTEDERROR; + goto cleanup; + } + + ret = response.results[0].statusCode; + +cleanup: + UA_HistoryUpdateResponse_clear(&response); + UA_NodeId_clear(&details.nodeId); + return ret; +} + +/*******************/ +/* Async Functions */ +/*******************/ + +UA_StatusCode +__UA_Client_writeAttribute_async(UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, const void *in, + const UA_DataType *inDataType, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + if(!in) + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_WriteValue wValue; + UA_WriteValue_init(&wValue); + wValue.nodeId = *nodeId; + wValue.attributeId = attributeId; + if(attributeId == UA_ATTRIBUTEID_VALUE) + wValue.value.value = *(const UA_Variant*) in; + else + /* hack. is never written into. */ + UA_Variant_setScalar(&wValue.value.value, (void*) (uintptr_t) in, + inDataType); + wValue.value.hasValue = true; + UA_WriteRequest wReq; + UA_WriteRequest_init(&wReq); + wReq.nodesToWrite = &wValue; + wReq.nodesToWriteSize = 1; + + return __UA_Client_AsyncService(client, &wReq, + &UA_TYPES[UA_TYPES_WRITEREQUEST], callback, + &UA_TYPES[UA_TYPES_WRITERESPONSE], userdata, reqId); +} + +UA_StatusCode +__UA_Client_addNode_async(UA_Client *client, const UA_NodeClass nodeClass, + const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, + const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, + const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, + const UA_DataType *attributeType, UA_NodeId *outNewNodeId, + UA_ClientAsyncServiceCallback callback, void *userdata, + UA_UInt32 *reqId) { + UA_AddNodesRequest request; + UA_AddNodesRequest_init(&request); + UA_AddNodesItem item; + UA_AddNodesItem_init(&item); + item.parentNodeId.nodeId = parentNodeId; + item.referenceTypeId = referenceTypeId; + item.requestedNewNodeId.nodeId = requestedNewNodeId; + item.browseName = browseName; + item.nodeClass = nodeClass; + item.typeDefinition.nodeId = typeDefinition; + item.nodeAttributes.encoding = UA_EXTENSIONOBJECT_DECODED_NODELETE; + item.nodeAttributes.content.decoded.type = attributeType; + item.nodeAttributes.content.decoded.data = (void*) (uintptr_t) attr; // hack. is not written into. + request.nodesToAdd = &item; + request.nodesToAddSize = 1; + + return __UA_Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_ADDNODESREQUEST], callback, + &UA_TYPES[UA_TYPES_ADDNODESRESPONSE], userdata, reqId); + +} + +UA_StatusCode +__UA_Client_call_async(UA_Client *client, const UA_NodeId objectId, + const UA_NodeId methodId, size_t inputSize, + const UA_Variant *input, UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *reqId) { + UA_CallRequest request; + UA_CallRequest_init(&request); + UA_CallMethodRequest item; + UA_CallMethodRequest_init(&item); + item.methodId = methodId; + item.objectId = objectId; + item.inputArguments = (UA_Variant *) (void*) (uintptr_t) input; // cast const... + item.inputArgumentsSize = inputSize; + request.methodsToCall = &item; + request.methodsToCallSize = 1; + + return __UA_Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_CALLREQUEST], callback, + &UA_TYPES[UA_TYPES_CALLRESPONSE], userdata, reqId); +} + +/* UA_StatusCode */ +/* UA_Cient_translateBrowsePathsToNodeIds_async(UA_Client *client, char **paths, */ +/* UA_UInt32 *ids, size_t pathSize, */ +/* UA_ClientAsyncTranslateCallback callback, */ +/* void *userdata, UA_UInt32 *reqId) { */ +/* return UA_STATUSCODE_BADNOTIMPLEMENTED; */ +/* } */ + +/*************************/ +/* Read Single Attribute */ +/*************************/ + +typedef struct { + UA_ClientAsyncOperationCallback userCallback; + void *userContext; + const UA_DataType *resultType; /* DataValue -> Value attribute, + * Variant -> ArrayDimensions attribute */ +} UA_AttributeReadContext; + +static void +AttributeReadCallback(UA_Client *client, void *userdata, + UA_UInt32 requestId, UA_ReadResponse *rr) { + UA_AttributeReadContext *ctx = (UA_AttributeReadContext*)userdata; + UA_LOG_DEBUG(UA_Client_getConfig(client)->logging, UA_LOGCATEGORY_CLIENT, + "Async read response for request %" PRIu32, requestId); + + UA_DataValue *dv = NULL; + + /* Check the ServiceResult */ + UA_StatusCode res = rr->responseHeader.serviceResult; + if(res != UA_STATUSCODE_GOOD) + goto finish; + + /* Check result array size */ + if(rr->resultsSize != 1) { + res = UA_STATUSCODE_BADINTERNALERROR; + goto finish; + } + + /* A Value attribute */ + dv = &rr->results[0]; + if(ctx->resultType == &UA_TYPES[UA_TYPES_DATAVALUE]) { + ctx->userCallback(client, ctx->userContext, requestId, + UA_STATUSCODE_GOOD, dv); + goto finish; + } + + /* An ArrayDimensions attribute. Has to be an array of UInt32. */ + if(ctx->resultType == &UA_TYPES[UA_TYPES_VARIANT]) { + if(dv->hasValue && + UA_Variant_hasArrayType(&dv->value, &UA_TYPES[UA_TYPES_UINT32])) { + ctx->userCallback(client, ctx->userContext, requestId, + UA_STATUSCODE_GOOD, &dv->value); + } else { + res = UA_STATUSCODE_BADINTERNALERROR; + } + goto finish; + } + + /* Check we have a value */ + if(!dv->hasValue) { + res = UA_STATUSCODE_BADINTERNALERROR; + goto finish; + } + + /* Check the type. Try to adjust "in situ" if no match. */ + if(!UA_Variant_hasScalarType(&dv->value, ctx->resultType)) { + /* Remember the old pointer, adjustType can "unwrap" a type but won't + * free the wrapper. Because the server code still keeps the wrapper. */ + void *oldVal = dv->value.data; + adjustType(&dv->value, ctx->resultType); + if(dv->value.data != oldVal) + UA_free(oldVal); + if(!UA_Variant_hasScalarType(&dv->value, ctx->resultType)) { + res = UA_STATUSCODE_BADINTERNALERROR; + goto finish; + } + } + + /* Callback into userland */ + ctx->userCallback(client, ctx->userContext, requestId, + UA_STATUSCODE_GOOD, dv->value.data); + + finish: + if(res != UA_STATUSCODE_GOOD) + ctx->userCallback(client, ctx->userContext, requestId, res, NULL); + UA_free(ctx); +} + +static UA_StatusCode +readAttribute_async(UA_Client *client, const UA_ReadValueId *rvi, + UA_TimestampsToReturn timestampsToReturn, + const UA_DataType *resultType, /* For the specialized reads */ + UA_ClientAsyncOperationCallback callback, + void *userdata, UA_UInt32 *requestId) { + UA_AttributeReadContext *ctx = (UA_AttributeReadContext*) + UA_malloc(sizeof(UA_AttributeReadContext)); + if(!ctx) + return UA_STATUSCODE_BADOUTOFMEMORY; + + ctx->userCallback = callback; + ctx->userContext = userdata; + ctx->resultType = resultType; + + UA_ReadRequest request; + UA_ReadRequest_init(&request); + request.nodesToRead = (UA_ReadValueId*)(uintptr_t)rvi; /* hack, treated as const */ + request.nodesToReadSize = 1; + request.timestampsToReturn = timestampsToReturn; + + UA_StatusCode res = + __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_READREQUEST], + (UA_ClientAsyncServiceCallback)AttributeReadCallback, + &UA_TYPES[UA_TYPES_READRESPONSE], ctx, requestId); + if(res != UA_STATUSCODE_GOOD) + UA_free(ctx); + return res; +} + +UA_StatusCode +UA_Client_readAttribute_async(UA_Client *client, const UA_ReadValueId *rvi, + UA_TimestampsToReturn timestampsToReturn, + UA_ClientAsyncReadAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_async(client, rvi, timestampsToReturn, + &UA_TYPES[UA_TYPES_DATAVALUE], /* special handling */ + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +/* Helper to keep the code short */ +static UA_StatusCode +readAttribute_simpleAsync(UA_Client *client, const UA_NodeId *nodeId, + UA_AttributeId attributeId, const UA_DataType *resultType, + UA_ClientAsyncOperationCallback callback, + void *userdata, UA_UInt32 *requestId) { + UA_ReadValueId rvi; + UA_ReadValueId_init(&rvi); + rvi.nodeId = *nodeId; + rvi.attributeId = attributeId; + return readAttribute_async(client, &rvi, UA_TIMESTAMPSTORETURN_NEITHER, + resultType, callback, userdata, requestId); +} + +UA_StatusCode +UA_Client_readValueAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadValueAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_VALUE, + &UA_TYPES[UA_TYPES_DATAVALUE], /* special hndling */ + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readDataTypeAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadDataTypeAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_DATATYPE, + &UA_TYPES[UA_TYPES_NODEID], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readArrayDimensionsAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientReadArrayDimensionsAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ARRAYDIMENSIONS, + &UA_TYPES[UA_TYPES_VARIANT], /* special handling */ + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readNodeClassAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadNodeClassAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_NODECLASS, + &UA_TYPES[UA_TYPES_NODECLASS], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readBrowseNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadBrowseNameAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, + &UA_TYPES[UA_TYPES_QUALIFIEDNAME], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readDisplayNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadDisplayNameAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readDescriptionAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadDescriptionAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readWriteMaskAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadWriteMaskAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, + &UA_TYPES[UA_TYPES_UINT32], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode UA_EXPORT +UA_Client_readUserWriteMaskAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadUserWriteMaskAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_USERWRITEMASK, + &UA_TYPES[UA_TYPES_UINT32], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readIsAbstractAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadIsAbstractAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, + &UA_TYPES[UA_TYPES_BOOLEAN], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readSymmetricAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadSymmetricAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, + &UA_TYPES[UA_TYPES_BOOLEAN], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readInverseNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadInverseNameAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, + &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readContainsNoLoopsAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadContainsNoLoopsAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, + &UA_TYPES[UA_TYPES_BOOLEAN], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readEventNotifierAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadEventNotifierAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, + &UA_TYPES[UA_TYPES_BYTE], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readValueRankAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadValueRankAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_VALUERANK, + &UA_TYPES[UA_TYPES_INT32], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readAccessLevelAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadAccessLevelAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, + &UA_TYPES[UA_TYPES_BYTE], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readAccessLevelExAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadAccessLevelExAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, + &UA_TYPES[UA_TYPES_UINT32], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readUserAccessLevelAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadUserAccessLevelAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_USERACCESSLEVEL, + &UA_TYPES[UA_TYPES_BYTE], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readMinimumSamplingIntervalAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, + &UA_TYPES[UA_TYPES_DOUBLE], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readHistorizingAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadHistorizingAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, + &UA_TYPES[UA_TYPES_BOOLEAN], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readExecutableAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadExecutableAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, + &UA_TYPES[UA_TYPES_BOOLEAN], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +UA_StatusCode +UA_Client_readUserExecutableAttribute_async(UA_Client *client, const UA_NodeId nodeId, + UA_ClientAsyncReadUserExecutableAttributeCallback callback, + void *userdata, UA_UInt32 *requestId) { + return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_USEREXECUTABLE, + &UA_TYPES[UA_TYPES_BOOLEAN], + (UA_ClientAsyncOperationCallback)callback, + userdata, requestId); +} + +/**** amalgamated original file "/src/client/ua_client_subscriptions.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Oleksiy Vasylyev + * Copyright 2016 (c) Sten Grüner + * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2016-2017 (c) Florian Palm + * Copyright 2017 (c) Frank Meerkötter + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +struct UA_Client_MonitoredItem_ForDelete { + UA_Client *client; + UA_Client_Subscription *sub; + UA_UInt32 *monitoredItemId; +}; + +/*****************/ +/* Subscriptions */ +/*****************/ + +static enum ZIP_CMP +/* For ZIP_TREE we use clientHandle comparison */ +UA_ClientHandle_cmp(const void *a, const void *b) { + const UA_Client_MonitoredItem *aa = (const UA_Client_MonitoredItem *)a; + const UA_Client_MonitoredItem *bb = (const UA_Client_MonitoredItem *)b; + + /* Compare clientHandle */ + if(aa->clientHandle < bb->clientHandle) { + return ZIP_CMP_LESS; + } + if(aa->clientHandle > bb->clientHandle) { + return ZIP_CMP_MORE; + } + + return ZIP_CMP_EQ; +} + +ZIP_FUNCTIONS(MonitorItemsTree, UA_Client_MonitoredItem, zipfields, + UA_Client_MonitoredItem, zipfields, UA_ClientHandle_cmp) + +static void +MonitoredItem_delete(UA_Client *client, UA_Client_Subscription *sub, + UA_Client_MonitoredItem *mon); + +static void +ua_Subscriptions_create(UA_Client *client, UA_Client_Subscription *newSub, + UA_CreateSubscriptionResponse *response) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + newSub->subscriptionId = response->subscriptionId; + newSub->sequenceNumber = 0; + newSub->lastActivity = UA_DateTime_nowMonotonic(); + newSub->publishingInterval = response->revisedPublishingInterval; + newSub->maxKeepAliveCount = response->revisedMaxKeepAliveCount; + ZIP_INIT(&newSub->monitoredItems); + LIST_INSERT_HEAD(&client->subscriptions, newSub, listEntry); + + /* Immediately send the first publish requests if there are none + * outstanding */ + __Client_Subscriptions_backgroundPublish(client); +} + +static void +ua_Subscriptions_create_handler(UA_Client *client, void *data, + UA_UInt32 requestId, void *r) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_CreateSubscriptionResponse *response = (UA_CreateSubscriptionResponse *)r; + CustomCallback *cc = (CustomCallback *)data; + UA_Client_Subscription *newSub = (UA_Client_Subscription *)cc->clientData; + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_free(newSub); + goto cleanup; + } + + /* Prepare the internal representation */ + ua_Subscriptions_create(client, newSub, response); + +cleanup: + if(cc->userCallback) + cc->userCallback(client, cc->userData, requestId, response); + UA_free(cc); +} + +UA_CreateSubscriptionResponse +UA_Client_Subscriptions_create(UA_Client *client, + const UA_CreateSubscriptionRequest request, + void *subscriptionContext, + UA_Client_StatusChangeNotificationCallback statusChangeCallback, + UA_Client_DeleteSubscriptionCallback deleteCallback) { + lockClient(client); + + UA_CreateSubscriptionResponse response; + UA_Client_Subscription *sub = (UA_Client_Subscription *) + UA_malloc(sizeof(UA_Client_Subscription)); + if(!sub) { + UA_CreateSubscriptionResponse_init(&response); + response.responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; + unlockClient(client); + return response; + } + sub->context = subscriptionContext; + sub->statusChangeCallback = statusChangeCallback; + sub->deleteCallback = deleteCallback; + + /* Send the request as a synchronous service call */ + __Client_Service(client, &request, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST], + &response, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_free(sub); + unlockClient(client); + return response; + } + + ua_Subscriptions_create(client, sub, &response); + + unlockClient(client); + return response; +} + +UA_StatusCode +UA_Client_Subscriptions_create_async(UA_Client *client, + const UA_CreateSubscriptionRequest request, + void *subscriptionContext, + UA_Client_StatusChangeNotificationCallback statusChangeCallback, + UA_Client_DeleteSubscriptionCallback deleteCallback, + UA_ClientAsyncServiceCallback createCallback, + void *userdata, + UA_UInt32 *requestId) { + CustomCallback *cc = (CustomCallback *)UA_calloc(1, sizeof(CustomCallback)); + if(!cc) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_Client_Subscription *sub = (UA_Client_Subscription *) + UA_malloc(sizeof(UA_Client_Subscription)); + if(!sub) { + UA_free(cc); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + sub->context = subscriptionContext; + sub->statusChangeCallback = statusChangeCallback; + sub->deleteCallback = deleteCallback; + + cc->userCallback = createCallback; + cc->userData = userdata; + cc->clientData = sub; + + /* Send the request as asynchronous service call */ + return __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST], + ua_Subscriptions_create_handler, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE], + cc, requestId); +} + +static UA_Client_Subscription * +findSubscription(const UA_Client *client, UA_UInt32 subscriptionId) { + UA_Client_Subscription *sub = NULL; + LIST_FOREACH(sub, &client->subscriptions, listEntry) { + if(sub->subscriptionId == subscriptionId) + break; + } + return sub; +} + +static void +ua_Subscriptions_modify(UA_Client *client, UA_Client_Subscription *sub, + const UA_ModifySubscriptionResponse *response) { + sub->publishingInterval = response->revisedPublishingInterval; + sub->maxKeepAliveCount = response->revisedMaxKeepAliveCount; +} + +static void +ua_Subscriptions_modify_handler(UA_Client *client, void *data, UA_UInt32 requestId, + void *r) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_ModifySubscriptionResponse *response = (UA_ModifySubscriptionResponse *)r; + CustomCallback *cc = (CustomCallback *)data; + UA_Client_Subscription *sub = findSubscription(client, (UA_UInt32)(uintptr_t)cc->clientData); + if(sub) { + ua_Subscriptions_modify(client, sub, response); + } else { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "No internal representation of subscription %" PRIu32, + (UA_UInt32)(uintptr_t)cc->clientData); + } + + if(cc->userCallback) + cc->userCallback(client, cc->userData, requestId, response); + UA_free(cc); +} + +UA_ModifySubscriptionResponse +UA_Client_Subscriptions_modify(UA_Client *client, + const UA_ModifySubscriptionRequest request) { + UA_ModifySubscriptionResponse response; + UA_ModifySubscriptionResponse_init(&response); + + /* Find the internal representation */ + lockClient(client); + UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); + if(!sub) { + unlockClient(client); + response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return response; + } + + /* Call the service */ + __Client_Service(client, + &request, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST], + &response, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); + + /* Adjust the internal representation. Lookup again for thread-safety. */ + sub = findSubscription(client, request.subscriptionId); + if(!sub) { + response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + unlockClient(client); + return response; + } + ua_Subscriptions_modify(client, sub, &response); + unlockClient(client); + return response; +} + +UA_StatusCode +UA_Client_Subscriptions_modify_async(UA_Client *client, + const UA_ModifySubscriptionRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId) { + lockClient(client); + + /* Find the internal representation */ + UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); + if(!sub) { + unlockClient(client); + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + } + + CustomCallback *cc = (CustomCallback *)UA_calloc(1, sizeof(CustomCallback)); + if(!cc) { + unlockClient(client); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + cc->clientData = (void *)(uintptr_t)request.subscriptionId; + cc->userData = userdata; + cc->userCallback = callback; + + UA_StatusCode res = + __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST], + ua_Subscriptions_modify_handler, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE], + cc, requestId); + + unlockClient(client); + return res; +} + +static void * +UA_MonitoredItem_delete_wrapper(void *data, UA_Client_MonitoredItem *mon) { + struct UA_Client_MonitoredItem_ForDelete *deleteMonitoredItem = + (struct UA_Client_MonitoredItem_ForDelete *)data; + if(deleteMonitoredItem != NULL) { + if(deleteMonitoredItem->monitoredItemId != NULL && + (mon->monitoredItemId != *deleteMonitoredItem->monitoredItemId)) { + return NULL; + } + MonitoredItem_delete(deleteMonitoredItem->client, deleteMonitoredItem->sub, mon); + } + return NULL; +} + +static void +__Client_Subscription_deleteInternal(UA_Client *client, + UA_Client_Subscription *sub) { + /* Remove the MonitoredItems */ + struct UA_Client_MonitoredItem_ForDelete deleteMonitoredItem; + memset(&deleteMonitoredItem, 0, sizeof(struct UA_Client_MonitoredItem_ForDelete)); + deleteMonitoredItem.client = client; + deleteMonitoredItem.sub = sub; + ZIP_ITER(MonitorItemsTree, &sub->monitoredItems, + UA_MonitoredItem_delete_wrapper, &deleteMonitoredItem); + + /* Call the delete callback */ + if(sub->deleteCallback) { + void *subC = sub->context; + UA_UInt32 subId = sub->subscriptionId; + sub->deleteCallback(client, subId, subC); + } + + /* Remove */ + LIST_REMOVE(sub, listEntry); + UA_free(sub); +} + +static void +__Client_Subscription_processDelete(UA_Client *client, + const UA_DeleteSubscriptionsRequest *request, + const UA_DeleteSubscriptionsResponse *response) { + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) + return; + + /* Check that the request and response size -- use the same index for both */ + if(request->subscriptionIdsSize != response->resultsSize) + return; + + for(size_t i = 0; i < request->subscriptionIdsSize; i++) { + if(response->results[i] != UA_STATUSCODE_GOOD && + response->results[i] != UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID) + continue; + + /* Get the Subscription */ + UA_Client_Subscription *sub = + findSubscription(client, request->subscriptionIds[i]); + if(!sub) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "No internal representation of subscription %" PRIu32, + request->subscriptionIds[i]); + continue; + } + + /* Delete the Subscription */ + __Client_Subscription_deleteInternal(client, sub); + } +} + +typedef struct { + UA_DeleteSubscriptionsRequest request; + UA_ClientAsyncServiceCallback userCallback; + void *userData; +} DeleteSubscriptionCallback; + +static void +ua_Subscriptions_delete_handler(UA_Client *client, void *data, + UA_UInt32 requestId, void *r) { + UA_DeleteSubscriptionsResponse *response = + (UA_DeleteSubscriptionsResponse *)r; + DeleteSubscriptionCallback *dsc = + (DeleteSubscriptionCallback*)data; + + lockClient(client); + + /* Delete */ + __Client_Subscription_processDelete(client, &dsc->request, response); + + /* Userland Callback */ + dsc->userCallback(client, dsc->userData, requestId, response); + + /* Cleanup */ + UA_DeleteSubscriptionsRequest_clear(&dsc->request); + UA_free(dsc); + + unlockClient(client); +} + +UA_StatusCode +UA_Client_Subscriptions_delete_async(UA_Client *client, + const UA_DeleteSubscriptionsRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId) { + /* Make a copy of the request that persists into the async callback */ + DeleteSubscriptionCallback *dsc = (DeleteSubscriptionCallback*) + UA_malloc(sizeof(DeleteSubscriptionCallback)); + if(!dsc) + return UA_STATUSCODE_BADOUTOFMEMORY; + dsc->userCallback = callback; + dsc->userData = userdata; + UA_StatusCode res = UA_DeleteSubscriptionsRequest_copy(&request, &dsc->request); + if(res != UA_STATUSCODE_GOOD) { + UA_free(dsc); + return res; + } + + /* Make the async call */ + return __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST], + ua_Subscriptions_delete_handler, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE], + dsc, requestId); +} + +UA_DeleteSubscriptionsResponse +UA_Client_Subscriptions_delete(UA_Client *client, + const UA_DeleteSubscriptionsRequest request) { + lockClient(client); + + /* Send the request */ + UA_DeleteSubscriptionsResponse response; + __Client_Service(client, &request, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST], + &response, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); + + /* Process */ + __Client_Subscription_processDelete(client, &request, &response); + + unlockClient(client); + return response; +} + +UA_StatusCode +UA_Client_Subscriptions_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId) { + UA_DeleteSubscriptionsRequest request; + UA_DeleteSubscriptionsRequest_init(&request); + request.subscriptionIds = &subscriptionId; + request.subscriptionIdsSize = 1; + + UA_DeleteSubscriptionsResponse response = + UA_Client_Subscriptions_delete(client, request); + + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) { + UA_DeleteSubscriptionsResponse_clear(&response); + return retval; + } + + if(response.resultsSize != 1) { + UA_DeleteSubscriptionsResponse_clear(&response); + return UA_STATUSCODE_BADINTERNALERROR; + } + + retval = response.results[0]; + UA_DeleteSubscriptionsResponse_clear(&response); + return retval; +} + +/******************/ +/* MonitoredItems */ +/******************/ + +static void +MonitoredItem_delete(UA_Client *client, UA_Client_Subscription *sub, + UA_Client_MonitoredItem *mon) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + ZIP_REMOVE(MonitorItemsTree, &sub->monitoredItems, mon); + if(mon->deleteCallback) { + void *subC = sub->context; + void *monC = mon->context; + UA_UInt32 subId = sub->subscriptionId; + UA_UInt32 monId = mon->monitoredItemId; + mon->deleteCallback(client, subId, subC, monId, monC); + } + UA_free(mon); +} + +typedef struct { + void **contexts; + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks; + void **handlingCallbacks; + UA_CreateMonitoredItemsRequest request; + + /* Notify the user that the async callback was processed */ + UA_ClientAsyncServiceCallback userCallback; + void *userData; +} MonitoredItems_CreateData; + +static void +MonitoredItems_CreateData_clear(UA_Client *client, MonitoredItems_CreateData *data) { + UA_free(data->contexts); + UA_free(data->deleteCallbacks); + UA_free(data->handlingCallbacks); + UA_CreateMonitoredItemsRequest_clear(&data->request); +} + +static void +ua_MonitoredItems_create(UA_Client *client, MonitoredItems_CreateData *data, + UA_CreateMonitoredItemsResponse *response) { + UA_CreateMonitoredItemsRequest *request = &data->request; + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks = data->deleteCallbacks; + + UA_Client_Subscription *sub = findSubscription(client, data->request.subscriptionId); + if(!sub) + goto cleanup; + + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) + goto cleanup; + + if(response->resultsSize != request->itemsToCreateSize) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + /* Add internally */ + for(size_t i = 0; i < request->itemsToCreateSize; i++) { + if(response->results[i].statusCode != UA_STATUSCODE_GOOD) { + void *subC = sub->context; + UA_UInt32 subId = sub->subscriptionId; + if(deleteCallbacks[i]) + deleteCallbacks[i](client, subId, subC, 0, data->contexts[i]); + continue; + } + + UA_Client_MonitoredItem *newMon = (UA_Client_MonitoredItem *) + UA_malloc(sizeof(UA_Client_MonitoredItem)); + if(!newMon) { + void *subC = sub->context; + UA_UInt32 subId = sub->subscriptionId; + if(deleteCallbacks[i]) + deleteCallbacks[i](client, subId, subC, 0, data->contexts[i]); + continue; + } + + newMon->monitoredItemId = response->results[i].monitoredItemId; + newMon->clientHandle = request->itemsToCreate[i].requestedParameters.clientHandle; + newMon->context = data->contexts[i]; + newMon->deleteCallback = deleteCallbacks[i]; + newMon->handler.dataChangeCallback = + (UA_Client_DataChangeNotificationCallback)(uintptr_t) + data->handlingCallbacks[i]; + newMon->isEventMonitoredItem = + (request->itemsToCreate[i].itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER); + ZIP_INSERT(MonitorItemsTree, &sub->monitoredItems, newMon); + + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Subscription %" PRIu32 " | Added a MonitoredItem with handle %" PRIu32, + sub->subscriptionId, newMon->clientHandle); + } + return; + + /* Adding failed */ + cleanup: + for(size_t i = 0; i < request->itemsToCreateSize; i++) { + void *subC = sub ? sub->context : NULL; + if(deleteCallbacks[i]) + deleteCallbacks[i](client, data->request.subscriptionId, + subC, 0, data->contexts[i]); + } +} + +static void +ua_MonitoredItems_create_async_handler(UA_Client *client, void *d, UA_UInt32 requestId, + void *r) { + UA_CreateMonitoredItemsResponse *response = (UA_CreateMonitoredItemsResponse *)r; + MonitoredItems_CreateData *data = (MonitoredItems_CreateData *)d; + + lockClient(client); + + ua_MonitoredItems_create(client, data, response); + MonitoredItems_CreateData_clear(client, data); + + if(data->userCallback) + data->userCallback(client, data->userData, requestId, response); + + UA_free(data); + + unlockClient(client); +} + +static UA_StatusCode +MonitoredItems_CreateData_prepare(UA_Client *client, + const UA_CreateMonitoredItemsRequest *request, + void **contexts, void **handlingCallbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + MonitoredItems_CreateData *data) { + /* Align arrays and copy over */ + UA_StatusCode retval = UA_STATUSCODE_BADOUTOFMEMORY; + data->contexts = (void **)UA_calloc(request->itemsToCreateSize, sizeof(void *)); + if(!data->contexts) + goto cleanup; + if(contexts) + memcpy(data->contexts, contexts, request->itemsToCreateSize * sizeof(void *)); + + data->deleteCallbacks = (UA_Client_DeleteMonitoredItemCallback *) + UA_calloc(request->itemsToCreateSize, sizeof(UA_Client_DeleteMonitoredItemCallback)); + if(!data->deleteCallbacks) + goto cleanup; + if(deleteCallbacks) + memcpy(data->deleteCallbacks, deleteCallbacks, + request->itemsToCreateSize * sizeof(UA_Client_DeleteMonitoredItemCallback)); + + data->handlingCallbacks = (void **) + UA_calloc(request->itemsToCreateSize, sizeof(void *)); + if(!data->handlingCallbacks) + goto cleanup; + if(handlingCallbacks) + memcpy(data->handlingCallbacks, handlingCallbacks, + request->itemsToCreateSize * sizeof(void *)); + + retval = UA_CreateMonitoredItemsRequest_copy(request, &data->request); + if(retval != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Set the clientHandle */ + for(size_t i = 0; i < data->request.itemsToCreateSize; i++) + data->request.itemsToCreate[i].requestedParameters.clientHandle = + ++client->monitoredItemHandles; + + return UA_STATUSCODE_GOOD; + +cleanup: + MonitoredItems_CreateData_clear(client, data); + return retval; +} + +static void +ua_Client_MonitoredItems_create(UA_Client *client, + const UA_CreateMonitoredItemsRequest *request, + void **contexts, void **handlingCallbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + UA_CreateMonitoredItemsResponse *response) { + UA_CreateMonitoredItemsResponse_init(response); + + if(!request->itemsToCreateSize) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + return; + } + + /* Test if the subscription is valid */ + UA_Client_Subscription *sub = findSubscription(client, request->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return; + } + + MonitoredItems_CreateData data; + memset(&data, 0, sizeof(MonitoredItems_CreateData)); + + UA_StatusCode res = + MonitoredItems_CreateData_prepare(client, request, contexts, handlingCallbacks, + deleteCallbacks, &data); + if(res != UA_STATUSCODE_GOOD) { + response->responseHeader.serviceResult = res; + return; + } + + /* Call the service. Use data->request as it contains the client handle + * information. */ + __Client_Service(client, &data.request, + &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST], + response, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); + + /* Add internal representation */ + ua_MonitoredItems_create(client, &data, response); + + MonitoredItems_CreateData_clear(client, &data); +} + +static UA_StatusCode +createDataChanges_async(UA_Client *client, const UA_CreateMonitoredItemsRequest request, + void **contexts, void **callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + UA_ClientAsyncServiceCallback createCallback, void *userdata, + UA_UInt32 *requestId) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); + if(!sub) + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + + MonitoredItems_CreateData *data = (MonitoredItems_CreateData *) + UA_calloc(1, sizeof(MonitoredItems_CreateData)); + if(!data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + data->userCallback = createCallback; + data->userData = userdata; + + UA_StatusCode res = + MonitoredItems_CreateData_prepare(client, &request, contexts, + callbacks, deleteCallbacks, data); + if(res != UA_STATUSCODE_GOOD) { + UA_free(data); + return res; + } + + return __Client_AsyncService(client, &data->request, + &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST], + ua_MonitoredItems_create_async_handler, + &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE], + data, requestId); +} + +UA_CreateMonitoredItemsResponse +UA_Client_MonitoredItems_createDataChanges(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, + void **contexts, + UA_Client_DataChangeNotificationCallback *callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks) { + UA_CreateMonitoredItemsResponse response; + lockClient(client); + ua_Client_MonitoredItems_create(client, &request, contexts, (void **)callbacks, + deleteCallbacks, &response); + unlockClient(client); + return response; +} + +UA_StatusCode +UA_Client_MonitoredItems_createDataChanges_async(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, + void **contexts, + UA_Client_DataChangeNotificationCallback *callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + UA_ClientAsyncServiceCallback createCallback, + void *userdata, UA_UInt32 *requestId) { + lockClient(client); + UA_StatusCode res = + createDataChanges_async(client, request, contexts, (void **)callbacks, + deleteCallbacks, createCallback, userdata, requestId); + unlockClient(client); + return res; +} + +UA_MonitoredItemCreateResult +UA_Client_MonitoredItems_createDataChange(UA_Client *client, UA_UInt32 subscriptionId, + UA_TimestampsToReturn timestampsToReturn, + const UA_MonitoredItemCreateRequest item, + void *context, + UA_Client_DataChangeNotificationCallback callback, + UA_Client_DeleteMonitoredItemCallback deleteCallback) { + UA_CreateMonitoredItemsRequest request; + UA_CreateMonitoredItemsRequest_init(&request); + request.subscriptionId = subscriptionId; + request.timestampsToReturn = timestampsToReturn; + request.itemsToCreate = (UA_MonitoredItemCreateRequest*)(uintptr_t)&item; + request.itemsToCreateSize = 1; + UA_CreateMonitoredItemsResponse response = + UA_Client_MonitoredItems_createDataChanges(client, request, &context, + &callback, &deleteCallback); + UA_MonitoredItemCreateResult result; + UA_MonitoredItemCreateResult_init(&result); + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) + result.statusCode = response.responseHeader.serviceResult; + + if(result.statusCode == UA_STATUSCODE_GOOD && + response.resultsSize != 1) + result.statusCode = UA_STATUSCODE_BADINTERNALERROR; + + if(result.statusCode == UA_STATUSCODE_GOOD) + UA_MonitoredItemCreateResult_copy(&response.results[0] , &result); + UA_CreateMonitoredItemsResponse_clear(&response); + return result; +} + +UA_CreateMonitoredItemsResponse +UA_Client_MonitoredItems_createEvents(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, + void **contexts, + UA_Client_EventNotificationCallback *callback, + UA_Client_DeleteMonitoredItemCallback *deleteCallback) { + UA_CreateMonitoredItemsResponse response; + lockClient(client); + ua_Client_MonitoredItems_create(client, &request, contexts, (void **)callback, + deleteCallback, &response); + unlockClient(client); + return response; +} + +/* Monitor the EventNotifier attribute only */ +UA_StatusCode +UA_Client_MonitoredItems_createEvents_async(UA_Client *client, + const UA_CreateMonitoredItemsRequest request, + void **contexts, + UA_Client_EventNotificationCallback *callbacks, + UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, + UA_ClientAsyncServiceCallback createCallback, + void *userdata, UA_UInt32 *requestId) { + lockClient(client); + UA_StatusCode res = + createDataChanges_async(client, request, contexts, (void **)callbacks, deleteCallbacks, + createCallback, userdata, requestId); + unlockClient(client); + return res; +} + +UA_MonitoredItemCreateResult +UA_Client_MonitoredItems_createEvent(UA_Client *client, UA_UInt32 subscriptionId, + UA_TimestampsToReturn timestampsToReturn, + const UA_MonitoredItemCreateRequest item, void *context, + UA_Client_EventNotificationCallback callback, + UA_Client_DeleteMonitoredItemCallback deleteCallback) { + UA_CreateMonitoredItemsRequest request; + UA_CreateMonitoredItemsRequest_init(&request); + request.subscriptionId = subscriptionId; + request.timestampsToReturn = timestampsToReturn; + request.itemsToCreate = (UA_MonitoredItemCreateRequest*)(uintptr_t)&item; + request.itemsToCreateSize = 1; + UA_CreateMonitoredItemsResponse response = + UA_Client_MonitoredItems_createEvents(client, request, &context, + &callback, &deleteCallback); + UA_StatusCode retval = response.responseHeader.serviceResult; + UA_MonitoredItemCreateResult result; + UA_MonitoredItemCreateResult_init(&result); + if(retval != UA_STATUSCODE_GOOD) { + UA_CreateMonitoredItemsResponse_clear(&response); + result.statusCode = retval; + return result; + } + UA_MonitoredItemCreateResult_copy(response.results , &result); + UA_CreateMonitoredItemsResponse_clear(&response); + return result; +} + +static void +ua_MonitoredItems_delete(UA_Client *client, UA_Client_Subscription *sub, + const UA_DeleteMonitoredItemsRequest *request, + const UA_DeleteMonitoredItemsResponse *response) { +#ifdef __clang_analyzer__ + return; +#endif + + /* Loop over deleted MonitoredItems */ + struct UA_Client_MonitoredItem_ForDelete deleteMonitoredItem; + memset(&deleteMonitoredItem, 0, sizeof(struct UA_Client_MonitoredItem_ForDelete)); + deleteMonitoredItem.client = client; + deleteMonitoredItem.sub = sub; + + for(size_t i = 0; i < response->resultsSize; i++) { + if(response->results[i] != UA_STATUSCODE_GOOD && + response->results[i] != UA_STATUSCODE_BADMONITOREDITEMIDINVALID) { + continue; + } + deleteMonitoredItem.monitoredItemId = &request->monitoredItemIds[i]; + /* Delete the internal representation */ + ZIP_ITER(MonitorItemsTree,&sub->monitoredItems, + UA_MonitoredItem_delete_wrapper, &deleteMonitoredItem); + } +} + +static void +ua_MonitoredItems_delete_handler(UA_Client *client, void *d, UA_UInt32 requestId, void *r) { + UA_Client_Subscription *sub = NULL; + CustomCallback *cc = (CustomCallback *)d; + UA_DeleteMonitoredItemsResponse *response = (UA_DeleteMonitoredItemsResponse *)r; + UA_DeleteMonitoredItemsRequest *request = + (UA_DeleteMonitoredItemsRequest *)cc->clientData; + + lockClient(client); + + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) + goto cleanup; + + sub = findSubscription(client, request->subscriptionId); + if(!sub) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "No internal representation of subscription %" PRIu32, + request->subscriptionId); + goto cleanup; + } + + /* Delete MonitoredItems from the internal representation */ + ua_MonitoredItems_delete(client, sub, request, response); + +cleanup: + if(cc->userCallback) + cc->userCallback(client, cc->userData, requestId, response); + UA_DeleteMonitoredItemsRequest_delete(request); + UA_free(cc); + + unlockClient(client); +} + +UA_DeleteMonitoredItemsResponse +UA_Client_MonitoredItems_delete(UA_Client *client, + const UA_DeleteMonitoredItemsRequest request) { + /* Send the request */ + UA_DeleteMonitoredItemsResponse response; + __UA_Client_Service(client, &request, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST], + &response, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); + + /* A problem occured remote? */ + if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) + return response; + + lockClient(client); + + /* Find the internal subscription representation */ + UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); + if(!sub) { + UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, + "No internal representation of subscription %" PRIu32, + request.subscriptionId); + unlockClient(client); + return response; + } + + /* Remove MonitoredItems in the internal representation */ + ua_MonitoredItems_delete(client, sub, &request, &response); + + unlockClient(client); + + return response; +} + +UA_StatusCode +UA_Client_MonitoredItems_delete_async(UA_Client *client, + const UA_DeleteMonitoredItemsRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId) { + /* Send the request */ + CustomCallback *cc = (CustomCallback *)UA_calloc(1, sizeof(CustomCallback)); + if(!cc) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_DeleteMonitoredItemsRequest *req_copy = UA_DeleteMonitoredItemsRequest_new(); + if(!req_copy) { + UA_free(cc); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_DeleteMonitoredItemsRequest_copy(&request, req_copy); + cc->clientData = req_copy; + cc->userCallback = callback; + cc->userData = userdata; + + return __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST], + ua_MonitoredItems_delete_handler, + &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE], cc, requestId); +} + +UA_StatusCode +UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId, + UA_UInt32 monitoredItemId) { + UA_DeleteMonitoredItemsRequest request; + UA_DeleteMonitoredItemsRequest_init(&request); + request.subscriptionId = subscriptionId; + request.monitoredItemIds = &monitoredItemId; + request.monitoredItemIdsSize = 1; + + UA_DeleteMonitoredItemsResponse response = + UA_Client_MonitoredItems_delete(client, request); + + UA_StatusCode retval = response.responseHeader.serviceResult; + if(retval != UA_STATUSCODE_GOOD) { + UA_DeleteMonitoredItemsResponse_clear(&response); + return retval; + } + + if(response.resultsSize != 1) { + UA_DeleteMonitoredItemsResponse_clear(&response); + return UA_STATUSCODE_BADINTERNALERROR; + } + + retval = response.results[0]; + UA_DeleteMonitoredItemsResponse_clear(&response); + return retval; +} + +static void * +UA_MonitoredItem_change_clientHandle_wrapper(void *data, UA_Client_MonitoredItem *mon) { + UA_MonitoredItemModifyRequest *monitoredItemModifyRequest = + (UA_MonitoredItemModifyRequest *)data; + if(monitoredItemModifyRequest && + mon->monitoredItemId == monitoredItemModifyRequest->monitoredItemId) + monitoredItemModifyRequest->requestedParameters.clientHandle = mon->clientHandle; + return NULL; +} + +static void +UA_MonitoredItem_change_clientHandle(UA_Client_Subscription *sub, + UA_ModifyMonitoredItemsRequest *request) { + for(size_t i = 0; i < request->itemsToModifySize; ++i) { + ZIP_ITER(MonitorItemsTree, &sub->monitoredItems, + UA_MonitoredItem_change_clientHandle_wrapper, + &request->itemsToModify[i]); + } +} + +UA_ModifyMonitoredItemsResponse +UA_Client_MonitoredItems_modify(UA_Client *client, + const UA_ModifyMonitoredItemsRequest request) { + UA_ModifyMonitoredItemsResponse response; + UA_ModifyMonitoredItemsResponse_init(&response); + + lockClient(client); + UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); + if(!sub) { + unlockClient(client); + response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return response; + } + + UA_ModifyMonitoredItemsRequest modifiedRequest; + UA_ModifyMonitoredItemsRequest_copy(&request, &modifiedRequest); + UA_MonitoredItem_change_clientHandle(sub, &modifiedRequest); + + __Client_Service(client, &modifiedRequest, + &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], &response, + &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); + + unlockClient(client); + UA_ModifyMonitoredItemsRequest_clear(&modifiedRequest); + return response; +} + +UA_StatusCode +UA_Client_MonitoredItems_modify_async(UA_Client *client, + const UA_ModifyMonitoredItemsRequest request, + UA_ClientAsyncServiceCallback callback, + void *userdata, UA_UInt32 *requestId) { + lockClient(client); + UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); + if(!sub) { + unlockClient(client); + return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + } + + UA_ModifyMonitoredItemsRequest modifiedRequest; + UA_ModifyMonitoredItemsRequest_copy(&request, &modifiedRequest); + UA_MonitoredItem_change_clientHandle(sub, &modifiedRequest); + + UA_StatusCode statusCode = __Client_AsyncService( + client, &modifiedRequest, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], + callback, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE], userdata, requestId); + + unlockClient(client); + UA_ModifyMonitoredItemsRequest_clear(&modifiedRequest); + return statusCode; +} + +/*************************************/ +/* Async Processing of Notifications */ +/*************************************/ + +/* Assume the request is already initialized */ +UA_StatusCode +__Client_preparePublishRequest(UA_Client *client, UA_PublishRequest *request) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + /* Count acks */ + UA_Client_NotificationsAckNumber *ack; + LIST_FOREACH(ack, &client->pendingNotificationsAcks, listEntry) + ++request->subscriptionAcknowledgementsSize; + + /* Create the array. Returns a sentinel pointer if the length is zero. */ + request->subscriptionAcknowledgements = (UA_SubscriptionAcknowledgement*) + UA_Array_new(request->subscriptionAcknowledgementsSize, + &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); + if(!request->subscriptionAcknowledgements) { + request->subscriptionAcknowledgementsSize = 0; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + size_t i = 0; + UA_Client_NotificationsAckNumber *ack_tmp; + LIST_FOREACH_SAFE(ack, &client->pendingNotificationsAcks, listEntry, ack_tmp) { + request->subscriptionAcknowledgements[i].sequenceNumber = ack->subAck.sequenceNumber; + request->subscriptionAcknowledgements[i].subscriptionId = ack->subAck.subscriptionId; + ++i; + LIST_REMOVE(ack, listEntry); + UA_free(ack); + } + return UA_STATUSCODE_GOOD; +} + +/* According to OPC Unified Architecture, Part 4 5.13.1.1 i) */ +/* The value 0 is never used for the sequence number */ +static UA_UInt32 +__nextSequenceNumber(UA_UInt32 sequenceNumber) { + UA_UInt32 nextSequenceNumber = sequenceNumber + 1; + if(nextSequenceNumber == 0) + nextSequenceNumber = 1; + return nextSequenceNumber; +} + +static void +processDataChangeNotification(UA_Client *client, UA_Client_Subscription *sub, + UA_DataChangeNotification *dataChangeNotification) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + for(size_t j = 0; j < dataChangeNotification->monitoredItemsSize; ++j) { + UA_MonitoredItemNotification *min = &dataChangeNotification->monitoredItems[j]; + + /* Find the MonitoredItem */ + UA_Client_MonitoredItem *mon; + UA_Client_MonitoredItem dummy; + dummy.clientHandle = min->clientHandle; + mon = ZIP_FIND(MonitorItemsTree, &sub->monitoredItems, &dummy); + + if(!mon) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not process a notification with clienthandle %" PRIu32 + " on subscription %" PRIu32, min->clientHandle, sub->subscriptionId); + continue; + } + + if(mon->isEventMonitoredItem) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "MonitoredItem is configured for Events. But received a " + "DataChangeNotification."); + continue; + } + + if(mon->handler.dataChangeCallback) { + void *subC = sub->context; + void *monC = mon->context; + UA_UInt32 subId = sub->subscriptionId; + UA_UInt32 monId = mon->monitoredItemId; + mon->handler.dataChangeCallback(client, subId, subC, monId, monC, &min->value); + } + } +} + +static void +processEventNotification(UA_Client *client, UA_Client_Subscription *sub, + UA_EventNotificationList *eventNotificationList) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + for(size_t j = 0; j < eventNotificationList->eventsSize; ++j) { + UA_EventFieldList *eventFieldList = &eventNotificationList->events[j]; + + /* Find the MonitoredItem */ + UA_Client_MonitoredItem *mon; + UA_Client_MonitoredItem dummy; + dummy.clientHandle = eventFieldList->clientHandle; + mon = ZIP_FIND(MonitorItemsTree, &sub->monitoredItems, &dummy); + + if(!mon) { + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Could not process a notification with clienthandle %" PRIu32 + " on subscription %" PRIu32, eventFieldList->clientHandle, + sub->subscriptionId); + continue; + } + + if(!mon->isEventMonitoredItem) { + UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, + "MonitoredItem is configured for DataChanges. But received a " + "EventNotification."); + continue; + } + + void *subC = sub->context; + void *monC = mon->context; + UA_UInt32 subId = sub->subscriptionId; + UA_UInt32 monId = mon->monitoredItemId; + mon->handler.eventCallback(client, subId, subC, monId, monC, + eventFieldList->eventFieldsSize, + eventFieldList->eventFields); + } +} + +static void +processNotificationMessage(UA_Client *client, UA_Client_Subscription *sub, + UA_ExtensionObject *msg) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + if(msg->encoding != UA_EXTENSIONOBJECT_DECODED) + return; + + /* Handle DataChangeNotification */ + if(msg->content.decoded.type == &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]) { + UA_DataChangeNotification *dataChangeNotification = + (UA_DataChangeNotification *)msg->content.decoded.data; + processDataChangeNotification(client, sub, dataChangeNotification); + return; + } + + /* Handle EventNotification */ + if(msg->content.decoded.type == &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]) { + UA_EventNotificationList *eventNotificationList = + (UA_EventNotificationList *)msg->content.decoded.data; + processEventNotification(client, sub, eventNotificationList); + return; + } + + /* Handle StatusChangeNotification */ + if(msg->content.decoded.type == &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]) { + if(sub->statusChangeCallback) { + void *subC = sub->context; + UA_UInt32 subId = sub->subscriptionId; + sub->statusChangeCallback(client, subId, subC, + (UA_StatusChangeNotification*)msg->content.decoded.data); + } else { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Dropped a StatusChangeNotification since no " + "callback is registered"); + } + return; + } + + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Unknown notification message type"); +} + +static void +__Client_Subscriptions_processPublishResponse(UA_Client *client, UA_PublishRequest *request, + UA_PublishResponse *response) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + UA_NotificationMessage *msg = &response->notificationMessage; + + client->currentlyOutStandingPublishRequests--; + + if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS) { + if(client->config.outStandingPublishRequests > 1) { + client->config.outStandingPublishRequests--; + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Too many publishrequest, reduce outStandingPublishRequests " + "to %" PRId16, client->config.outStandingPublishRequests); + } else { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Too many publishrequest when outStandingPublishRequests = 1"); + UA_Client_Subscriptions_deleteSingle(client, response->subscriptionId); + } + return; + } + + if(response->responseHeader.serviceResult == UA_STATUSCODE_BADSHUTDOWN) + return; + + if(response->responseHeader.serviceResult == UA_STATUSCODE_BADNOSUBSCRIPTION) + { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received BadNoSubscription, delete internal information about subscription"); + UA_Client_Subscription *sub = findSubscription(client, response->subscriptionId); + if(sub != NULL) + __Client_Subscription_deleteInternal(client, sub); + return; + } + + if(!LIST_FIRST(&client->subscriptions)) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADNOSUBSCRIPTION; + return; + } + + UA_Client_Subscription *sub = findSubscription(client, response->subscriptionId); + if(!sub) { + response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received Publish Response for a non-existant subscription"); + return; + } + + if(response->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONCLOSED) { + if(client->sessionState != UA_SESSIONSTATE_ACTIVATED) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received Publish Response with code %s", + UA_StatusCode_name(response->responseHeader.serviceResult)); + __Client_Subscription_deleteInternal(client, sub); + } + return; + } + + if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTIMEOUT) { + if(client->config.subscriptionInactivityCallback) { + void *subC = sub->context; + UA_UInt32 subId = sub->subscriptionId; + client->config.subscriptionInactivityCallback(client, subId, subC); + } + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received Timeout for Publish Response"); + return; + } + + if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Received Publish Response with code %s", + UA_StatusCode_name(response->responseHeader.serviceResult)); + return; + } + + sub->lastActivity = UA_DateTime_nowMonotonic(); + + /* Detect missing message - OPC Unified Architecture, Part 4 5.13.1.1 e) */ + if(__nextSequenceNumber(sub->sequenceNumber) != msg->sequenceNumber) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Invalid subscription sequence number: expected %" PRIu32 + " but got %" PRIu32, __nextSequenceNumber(sub->sequenceNumber), + msg->sequenceNumber); + /* This is an error. But we do not abort the connection. Some server + * SDKs misbehave from time to time and send out-of-order sequence + * numbers. (Probably some multi-threading synchronization issue.) */ + /* UA_Client_disconnect(client); + return; */ + } + /* According to f), a keep-alive message contains no notifications and has + * the sequence number of the next NotificationMessage that is to be sent => + * More than one consecutive keep-alive message or a NotificationMessage + * following a keep-alive message will share the same sequence number. */ + if (msg->notificationDataSize) + sub->sequenceNumber = msg->sequenceNumber; + + /* Process the notification messages */ + for(size_t k = 0; k < msg->notificationDataSize; ++k) + processNotificationMessage(client, sub, &msg->notificationData[k]); + + /* Add to the list of pending acks */ + for(size_t i = 0; i < response->availableSequenceNumbersSize; i++) { + if(response->availableSequenceNumbers[i] != msg->sequenceNumber) + continue; + UA_Client_NotificationsAckNumber *tmpAck = (UA_Client_NotificationsAckNumber*) + UA_malloc(sizeof(UA_Client_NotificationsAckNumber)); + if(!tmpAck) { + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Not enough memory to store the acknowledgement for a publish " + "message on subscription %" PRIu32, sub->subscriptionId); + break; + } + tmpAck->subAck.sequenceNumber = msg->sequenceNumber; + tmpAck->subAck.subscriptionId = sub->subscriptionId; + LIST_INSERT_HEAD(&client->pendingNotificationsAcks, tmpAck, listEntry); + break; + } +} + +static void +processPublishResponseAsync(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *response) { + UA_PublishRequest *req = (UA_PublishRequest*)userdata; + UA_PublishResponse *res = (UA_PublishResponse*)response; + + lockClient(client); + + /* Process the response */ + __Client_Subscriptions_processPublishResponse(client, req, res); + + /* Delete the cached request */ + UA_PublishRequest_delete(req); + + /* Fill up the outstanding publish requests */ + __Client_Subscriptions_backgroundPublish(client); + + unlockClient(client); +} + +void +__Client_Subscriptions_clean(UA_Client *client) { + UA_Client_NotificationsAckNumber *n; + UA_Client_NotificationsAckNumber *tmp; + LIST_FOREACH_SAFE(n, &client->pendingNotificationsAcks, listEntry, tmp) { + LIST_REMOVE(n, listEntry); + UA_free(n); + } + + UA_Client_Subscription *sub; + UA_Client_Subscription *tmps; + LIST_FOREACH_SAFE(sub, &client->subscriptions, listEntry, tmps) + __Client_Subscription_deleteInternal(client, sub); /* force local removal */ + + client->monitoredItemHandles = 0; +} + +void +__Client_Subscriptions_backgroundPublishInactivityCheck(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + if(client->sessionState < UA_SESSIONSTATE_ACTIVATED) + return; + + /* Is the lack of responses the client's fault? */ + if(client->currentlyOutStandingPublishRequests == 0) + return; + + UA_Client_Subscription *sub; + LIST_FOREACH(sub, &client->subscriptions, listEntry) { + UA_DateTime maxSilence = (UA_DateTime) + ((sub->publishingInterval * sub->maxKeepAliveCount) + + client->config.timeout) * UA_DATETIME_MSEC; + if(maxSilence + sub->lastActivity < UA_DateTime_nowMonotonic()) { + /* Reset activity */ + sub->lastActivity = UA_DateTime_nowMonotonic(); + + if(client->config.subscriptionInactivityCallback) { + void *subC = sub->context; + UA_UInt32 subId = sub->subscriptionId; + client->config.subscriptionInactivityCallback(client, subId, subC); + } + UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, + "Inactivity for Subscription %" PRIu32 ".", sub->subscriptionId); + } + } +} + +void +__Client_Subscriptions_backgroundPublish(UA_Client *client) { + UA_LOCK_ASSERT(&client->clientMutex, 1); + + if(client->sessionState != UA_SESSIONSTATE_ACTIVATED) + return; + + /* The session must have at least one subscription */ + if(!LIST_FIRST(&client->subscriptions)) + return; + + while(client->currentlyOutStandingPublishRequests < client->config.outStandingPublishRequests) { + UA_PublishRequest *request = UA_PublishRequest_new(); + if(!request) + return; + + /* Publish requests are valid for 10 minutes */ + request->requestHeader.timeoutHint = 10 * 60 * 1000; + + UA_StatusCode retval = __Client_preparePublishRequest(client, request); + if(retval != UA_STATUSCODE_GOOD) { + UA_PublishRequest_delete(request); + return; + } + + retval = __Client_AsyncService(client, request, + &UA_TYPES[UA_TYPES_PUBLISHREQUEST], + processPublishResponseAsync, + &UA_TYPES[UA_TYPES_PUBLISHRESPONSE], + (void*)request, NULL); + if(retval != UA_STATUSCODE_GOOD) { + UA_PublishRequest_delete(request); + return; + } + + client->currentlyOutStandingPublishRequests++; + } +} + +/**** amalgamated original file "/deps/libc_time.c" ****/ + +/* Originally released by the musl project (http://www.musl-libc.org/) under the + * MIT license. Taken from the file /src/time/__secs_to_tm.c */ + +#include + +/* 2000-03-01 (mod 400 year, immediately after feb29 */ +#define LEAPOCH (946684800LL + 86400*(31+29)) + +#define DAYS_PER_400Y (365*400 + 97) +#define DAYS_PER_100Y (365*100 + 24) +#define DAYS_PER_4Y (365*4 + 1) + +int +musl_secs_to_tm(long long t, struct musl_tm *tm) { + long long days, secs, years; + int remdays, remsecs, remyears; + int qc_cycles, c_cycles, q_cycles; + int months; + int wday, yday, leap; + static const char days_in_month[] = {31,30,31,30,31,31,30,31,30,31,31,29}; + + /* Reject time_t values whose year would overflow int */ + if (t < INT_MIN * 31622400LL || t > INT_MAX * 31622400LL) + return -1; + + secs = t - LEAPOCH; + days = secs / 86400LL; + remsecs = (int)(secs % 86400); + if (remsecs < 0) { + remsecs += 86400; + --days; + } + + wday = (3+days)%7; + if (wday < 0) wday += 7; + + qc_cycles = (int)(days / DAYS_PER_400Y); + remdays = (int)(days % DAYS_PER_400Y); + if (remdays < 0) { + remdays += DAYS_PER_400Y; + --qc_cycles; + } + + c_cycles = remdays / DAYS_PER_100Y; + if (c_cycles == 4) --c_cycles; + remdays -= c_cycles * DAYS_PER_100Y; + + q_cycles = remdays / DAYS_PER_4Y; + if (q_cycles == 25) --q_cycles; + remdays -= q_cycles * DAYS_PER_4Y; + + remyears = remdays / 365; + if (remyears == 4) --remyears; + remdays -= remyears * 365; + + leap = !remyears && (q_cycles || !c_cycles); + yday = remdays + 31 + 28 + leap; + if (yday >= 365+leap) yday -= 365+leap; + + years = remyears + 4*q_cycles + 100*c_cycles + 400LL*qc_cycles; + + for (months=0; days_in_month[months] <= remdays; months++) + remdays -= days_in_month[months]; + + if (months >= 10) { + months -= 12; + years++; + } + + if (years+100 > INT_MAX || years+100 < INT_MIN) + return -1; + + tm->tm_year = (int)(years + 100); + tm->tm_mon = months + 2; + tm->tm_mday = remdays + 1; + tm->tm_wday = wday; + tm->tm_yday = yday; + + tm->tm_hour = remsecs / 3600; + tm->tm_min = remsecs / 60 % 60; + tm->tm_sec = remsecs % 60; + + return 0; +} + +static const int secs_through_month[] = + {0, 31*86400, 59*86400, 90*86400, + 120*86400, 151*86400, 181*86400, 212*86400, + 243*86400, 273*86400, 304*86400, 334*86400 }; + +static int +musl_month_to_secs(int month, int is_leap) { + int t = secs_through_month[month]; + if (is_leap && month >= 2) + t+=86400; + return t; +} + +static long long +musl_year_to_secs(const long long year, int *is_leap) { + if (year-2ULL <= 136) { + int y = (int)year; + int leaps = (y-68)>>2; + if (!((y-68)&3)) { + leaps--; + if (is_leap) *is_leap = 1; + } else if (is_leap) *is_leap = 0; + return 31536000*(y-70) + 86400*leaps; + } + + int cycles, centuries, leaps, rem, dummy; + + if (!is_leap) is_leap = &dummy; + cycles = (int)((year-100) / 400); + rem = (year-100) % 400; + if (rem < 0) { + cycles--; + rem += 400; + } + if (!rem) { + *is_leap = 1; + centuries = 0; + leaps = 0; + } else { + if (rem >= 200) { + if (rem >= 300) centuries = 3, rem -= 300; + else centuries = 2, rem -= 200; + } else { + if (rem >= 100) centuries = 1, rem -= 100; + else centuries = 0; + } + if (!rem) { + *is_leap = 0; + leaps = 0; + } else { + leaps = rem / 4U; + rem %= 4U; + *is_leap = !rem; + } + } + + leaps += 97*cycles + 24*centuries - *is_leap; + + return (year-100) * 31536000LL + leaps * 86400LL + 946684800 + 86400; +} + +long long +musl_tm_to_secs(const struct musl_tm *tm) { + int is_leap; + long long year = tm->tm_year; + int month = tm->tm_mon; + if (month >= 12 || month < 0) { + int adj = month / 12; + month %= 12; + if (month < 0) { + adj--; + month += 12; + } + year += adj; + } + long long t = musl_year_to_secs(year, &is_leap); + t += musl_month_to_secs(month, is_leap); + t += 86400LL * (tm->tm_mday-1); + t += 3600LL * tm->tm_hour; + t += 60LL * tm->tm_min; + t += tm->tm_sec; + return t; +} + +/**** amalgamated original file "/deps/pcg_basic.c" ****/ + +/* + * PCG Random Number Generation for C. + * + * Copyright 2014 Melissa O'Neill + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * For additional information about the PCG random number generation scheme, + * including its license and other licensing options, visit + * + * http://www.pcg-random.org + */ + + +void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initial_state, uint64_t initseq) { + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg32_random_r(rng); + rng->state += initial_state; + pcg32_random_r(rng); +} + +uint32_t pcg32_random_r(pcg32_random_t* rng) { + uint64_t oldstate = rng->state; + rng->state = oldstate * 6364136223846793005ULL + rng->inc; + uint32_t xorshifted = (uint32_t)(((oldstate >> 18u) ^ oldstate) >> 27u); + uint32_t rot = (uint32_t)(oldstate >> 59u); + return (xorshifted >> rot) | (xorshifted << ((~rot + 1u) & 31)); /* was (xorshifted >> rot) | (xorshifted << ((-rot) & 31)) */ +} + +/**** amalgamated original file "/deps/base64.c" ****/ + +/* + * Base64 encoding/decoding (RFC1341) + * Copyright (c) 2005-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + + +static const unsigned char base64_table[65] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +unsigned char * +UA_base64(const unsigned char *src, size_t len, size_t *out_len) { + if(len == 0) { + *out_len = 0; + return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL; + } + + size_t olen = 4*((len + 2) / 3); /* 3-byte blocks to 4-byte */ + if(olen < len) + return NULL; /* integer overflow */ + + unsigned char *out = (unsigned char*)UA_malloc(olen); + if(!out) + return NULL; + + *out_len = UA_base64_buf(src, len, out); + return out; +} + +size_t +UA_base64_buf(const unsigned char *src, size_t len, unsigned char *out) { + const unsigned char *end = src + len; + const unsigned char *in = src; + unsigned char *pos = out; + while(end - in >= 3) { + *pos++ = base64_table[in[0] >> 2]; + *pos++ = base64_table[((in[0] & 0x03) << 4) | (in[1] >> 4)]; + *pos++ = base64_table[((in[1] & 0x0f) << 2) | (in[2] >> 6)]; + *pos++ = base64_table[in[2] & 0x3f]; + in += 3; + } + + if(end - in) { + *pos++ = base64_table[in[0] >> 2]; + if(end - in == 1) { + *pos++ = base64_table[(in[0] & 0x03) << 4]; + *pos++ = '='; + } else { + *pos++ = base64_table[((in[0] & 0x03) << 4) | (in[1] >> 4)]; + *pos++ = base64_table[(in[1] & 0x0f) << 2]; + } + *pos++ = '='; + } + + return (size_t)(pos - out); +} + +static unsigned char dtable[256] = { + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 62 , 0x80, 62 , 0x80, 63 , + 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 0x80, 0x80, 0x80, 0, 0x80, 0x80, + 0x80, 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , + 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 0x80, 0x80, 0x80, 0x80, 63 , + 0x80, 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , + 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 +}; + +unsigned char * +UA_unbase64(const unsigned char *src, size_t len, size_t *out_len) { + /* Empty base64 results in an empty byte-string */ + if(len == 0) { + *out_len = 0; + return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL; + } + + /* The input length must be a multiple of four */ + if(len % 4 != 0) + return NULL; + + /* Allocate the output string */ + size_t olen = len / 4 * 3; + unsigned char *out = (unsigned char*)UA_malloc(olen); + if(!out) + return NULL; + + /* Iterate over the input */ + size_t pad = 0; + unsigned char count = 0; + unsigned char block[4]; + unsigned char *pos = out; + for(size_t i = 0; i < len; i++) { + unsigned char tmp = dtable[src[i]]; + if(tmp == 0x80) + goto error; /* Invalid input */ + + if(src[i] == '=') + pad++; + + block[count] = tmp; + count++; + if(count == 4) { + *pos++ = (unsigned char)((block[0] << 2) | (block[1] >> 4)); + *pos++ = (unsigned char)((block[1] << 4) | (block[2] >> 2)); + *pos++ = (unsigned char)((block[2] << 6) | block[3]); + if(pad) { + if(pad == 1) + pos--; + else if(pad == 2) + pos -= 2; + else + goto error; /* Invalid padding */ + break; + } + count = 0; + } + } + + *out_len = (size_t)(pos - out); + return out; + + error: + UA_free(out); + return NULL; +} + +/**** amalgamated original file "/deps/dtoa.c" ****/ + +// Copyright 2013, Andreas Samoljuk +// Copyright 2023, Julius Pfrommer +// +// Boost Software License - Version 1.0 - August 17th, 2003 +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +#include +#include +#include + +#define mantissa_bits 52 +#define exponent_bits 11 +#define fracmask 0x000FFFFFFFFFFFFFU +#define expmask 0x7FF0000000000000U +#define hiddenbit 0x0010000000000000U +#define signmask 0x8000000000000000U +#define expbias (1023 + 52) + +#define absv(n) ((n) < 0 ? -(n) : (n)) +#define minv(a, b) ((a) < (b) ? (a) : (b)) + +static uint64_t tens[] = { + 10000000000000000000U, 1000000000000000000U, 100000000000000000U, + 10000000000000000U, 1000000000000000U, 100000000000000U, + 10000000000000U, 1000000000000U, 100000000000U, + 10000000000U, 1000000000U, 100000000U, + 10000000U, 1000000U, 100000U, + 10000U, 1000U, 100U, + 10U, 1U +}; + +#define npowers 87 +#define steppowers 8 +#define firstpower -348 /* 10 ^ -348 */ +#define expmax -32 +#define expmin -60 + +typedef struct Fp { + uint64_t frac; + int exp; +} Fp; + +static Fp powers_ten[] = { + { 18054884314459144840U, -1220 }, { 13451937075301367670U, -1193 }, + { 10022474136428063862U, -1166 }, { 14934650266808366570U, -1140 }, + { 11127181549972568877U, -1113 }, { 16580792590934885855U, -1087 }, + { 12353653155963782858U, -1060 }, { 18408377700990114895U, -1034 }, + { 13715310171984221708U, -1007 }, { 10218702384817765436U, -980 }, + { 15227053142812498563U, -954 }, { 11345038669416679861U, -927 }, + { 16905424996341287883U, -901 }, { 12595523146049147757U, -874 }, + { 9384396036005875287U, -847 }, { 13983839803942852151U, -821 }, + { 10418772551374772303U, -794 }, { 15525180923007089351U, -768 }, + { 11567161174868858868U, -741 }, { 17236413322193710309U, -715 }, + { 12842128665889583758U, -688 }, { 9568131466127621947U, -661 }, + { 14257626930069360058U, -635 }, { 10622759856335341974U, -608 }, + { 15829145694278690180U, -582 }, { 11793632577567316726U, -555 }, + { 17573882009934360870U, -529 }, { 13093562431584567480U, -502 }, + { 9755464219737475723U, -475 }, { 14536774485912137811U, -449 }, + { 10830740992659433045U, -422 }, { 16139061738043178685U, -396 }, + { 12024538023802026127U, -369 }, { 17917957937422433684U, -343 }, + { 13349918974505688015U, -316 }, { 9946464728195732843U, -289 }, + { 14821387422376473014U, -263 }, { 11042794154864902060U, -236 }, + { 16455045573212060422U, -210 }, { 12259964326927110867U, -183 }, + { 18268770466636286478U, -157 }, { 13611294676837538539U, -130 }, + { 10141204801825835212U, -103 }, { 15111572745182864684U, -77 }, + { 11258999068426240000U, -50 }, { 16777216000000000000U, -24 }, + { 12500000000000000000U, 3 }, { 9313225746154785156U, 30 }, + { 13877787807814456755U, 56 }, { 10339757656912845936U, 83 }, + { 15407439555097886824U, 109 }, { 11479437019748901445U, 136 }, + { 17105694144590052135U, 162 }, { 12744735289059618216U, 189 }, + { 9495567745759798747U, 216 }, { 14149498560666738074U, 242 }, + { 10542197943230523224U, 269 }, { 15709099088952724970U, 295 }, + { 11704190886730495818U, 322 }, { 17440603504673385349U, 348 }, + { 12994262207056124023U, 375 }, { 9681479787123295682U, 402 }, + { 14426529090290212157U, 428 }, { 10748601772107342003U, 455 }, + { 16016664761464807395U, 481 }, { 11933345169920330789U, 508 }, + { 17782069995880619868U, 534 }, { 13248674568444952270U, 561 }, + { 9871031767461413346U, 588 }, { 14708983551653345445U, 614 }, + { 10959046745042015199U, 641 }, { 16330252207878254650U, 667 }, + { 12166986024289022870U, 694 }, { 18130221999122236476U, 720 }, + { 13508068024458167312U, 747 }, { 10064294952495520794U, 774 }, + { 14996968138956309548U, 800 }, { 11173611982879273257U, 827 }, + { 16649979327439178909U, 853 }, { 12405201291620119593U, 880 }, + { 9242595204427927429U, 907 }, { 13772540099066387757U, 933 }, + { 10261342003245940623U, 960 }, { 15290591125556738113U, 986 }, + { 11392378155556871081U, 1013 }, { 16975966327722178521U, 1039 }, + { 12648080533535911531U, 1066 } +}; + +static Fp +find_cachedpow10(int exp, int* k) { + const double one_log_ten = 0.30102999566398114; + int approx = (int)(-(exp + npowers) * one_log_ten); + int idx = (approx - firstpower) / steppowers; + while(1) { + int current = exp + powers_ten[idx].exp + 64; + if(current < expmin) { + idx++; + continue; + } + if(current > expmax) { + idx--; + continue; + } + *k = (firstpower + idx * steppowers); + return powers_ten[idx]; + } +} + +static Fp build_fp(uint64_t bits) { + Fp fp; + fp.frac = bits & fracmask; + fp.exp = (bits & expmask) >> 52; + if(fp.exp) { + fp.frac += hiddenbit; + fp.exp -= expbias; + } else { + fp.exp = -expbias + 1; + } + return fp; +} + +static void normalize(Fp* fp) { + while((fp->frac & hiddenbit) == 0) { + fp->frac <<= 1; + fp->exp--; + } + int shift = 64 - 52 - 1; + fp->frac <<= shift; + fp->exp -= shift; +} + +static void get_normalized_boundaries(Fp* fp, Fp* lower, Fp* upper) { + upper->frac = (fp->frac << 1) + 1; + upper->exp = fp->exp - 1; + while ((upper->frac & (hiddenbit << 1)) == 0) { + upper->frac <<= 1; + upper->exp--; + } + + int u_shift = 64 - 52 - 2; + upper->frac <<= u_shift; + upper->exp = upper->exp - u_shift; + + int l_shift = fp->frac == hiddenbit ? 2 : 1; + lower->frac = (fp->frac << l_shift) - 1; + lower->exp = fp->exp - l_shift; + lower->frac <<= lower->exp - upper->exp; + lower->exp = upper->exp; +} + +static Fp multiply(Fp* a, Fp* b) { + const uint64_t lomask = 0x00000000FFFFFFFF; + uint64_t ah_bl = (a->frac >> 32) * (b->frac & lomask); + uint64_t al_bh = (a->frac & lomask) * (b->frac >> 32); + uint64_t al_bl = (a->frac & lomask) * (b->frac & lomask); + uint64_t ah_bh = (a->frac >> 32) * (b->frac >> 32); + uint64_t tmp = (ah_bl & lomask) + (al_bh & lomask) + (al_bl >> 32); + /* round up */ + tmp += 1U << 31; + Fp fp; + fp.frac = ah_bh + (ah_bl >> 32) + (al_bh >> 32) + (tmp >> 32); + fp.exp = a->exp + b->exp + 64; + return fp; +} + +static void round_digit(char* digits, unsigned ndigits, uint64_t delta, + uint64_t rem, uint64_t kappa, uint64_t frac) { + while(rem < frac && delta - rem >= kappa && + (rem + kappa < frac || frac - rem > rem + kappa - frac)) { + digits[ndigits - 1]--; + rem += kappa; + } +} + +static unsigned generate_digits(Fp* fp, Fp* upper, Fp* lower, char* digits, int* K) { + uint64_t wfrac = upper->frac - fp->frac; + uint64_t delta = upper->frac - lower->frac; + + Fp one; + one.frac = 1ULL << -upper->exp; + one.exp = upper->exp; + + uint64_t part1 = upper->frac >> -one.exp; + uint64_t part2 = upper->frac & (one.frac - 1); + + unsigned idx = 0; + int kappa = 10; + uint64_t* divp; + + /* 1000000000 */ + for(divp = tens + 10; kappa > 0; divp++) { + uint64_t div = *divp; + uint64_t digit = part1 / div; + if(digit || idx) { + digits[idx++] = (char)(digit + '0'); + } + + part1 -= digit * div; + kappa--; + + uint64_t tmp = (part1 <<-one.exp) + part2; + if(tmp <= delta) { + *K += kappa; + round_digit(digits, idx, delta, tmp, div << -one.exp, wfrac); + return idx; + } + } + + /* 10 */ + uint64_t* unit = tens + 18; + while(true) { + part2 *= 10; + delta *= 10; + kappa--; + + uint64_t digit = part2 >> -one.exp; + if(digit || idx) { + digits[idx++] = (char)(digit + '0'); + } + + part2 &= one.frac - 1; + if(part2 < delta) { + *K += kappa; + round_digit(digits, idx, delta, part2, one.frac, wfrac * *unit); + break; + } + unit--; + } + return idx; +} + +static unsigned grisu2(uint64_t bits, char* digits, int* K) { + Fp w = build_fp(bits); + Fp lower, upper; + get_normalized_boundaries(&w, &lower, &upper); + normalize(&w); + int k; + Fp cp = find_cachedpow10(upper.exp, &k); + w = multiply(&w, &cp); + upper = multiply(&upper, &cp); + lower = multiply(&lower, &cp); + lower.frac++; + upper.frac--; + *K = -k; + return generate_digits(&w, &upper, &lower, digits, K); +} + +static unsigned +emit_digits(char* digits, unsigned ndigits, char* dest, int K, bool neg) { + int exp = absv(K + (int)ndigits - 1); + + /* write plain integer */ + if(K >= 0 && (exp < (int)ndigits + 7)) { + memcpy(dest, digits, ndigits); + memset(dest + ndigits, '0', (unsigned)K); + memcpy(dest + ndigits + (unsigned)K, ".0", 2); /* always append .0 for naked integers */ + return (unsigned)(ndigits + (unsigned)K + 2); + } + + /* write decimal w/o scientific notation */ + if(K < 0 && (K > -7 || exp < 4)) { + int offset = (int)ndigits - absv(K); + if(offset <= 0) { + /* fp < 1.0 -> write leading zero */ + offset = -offset; + dest[0] = '0'; + dest[1] = '.'; + memset(dest + 2, '0', (size_t)offset); + memcpy(dest + offset + 2, digits, ndigits); + return ndigits + 2 + (unsigned)offset; + } else { + /* fp > 1.0 */ + memcpy(dest, digits, (size_t)offset); + dest[offset] = '.'; + memcpy(dest + offset + 1, digits + offset, ndigits - (unsigned)offset); + return ndigits + 1; + } + } + + /* write decimal w/ scientific notation */ + ndigits = minv(ndigits, (unsigned)(18 - neg)); + unsigned idx = 0; + dest[idx++] = digits[0]; + if(ndigits > 1) { + dest[idx++] = '.'; + memcpy(dest + idx, digits + 1, ndigits - 1); + idx += ndigits - 1; + } + + dest[idx++] = 'e'; + + char sign = K + (int)ndigits - 1 < 0 ? '-' : '+'; + dest[idx++] = sign; + + int cent = 0; + if(exp > 99) { + cent = exp / 100; + dest[idx++] = (char)(cent + '0'); + exp -= cent * 100; + } + if(exp > 9) { + int dec = exp / 10; + dest[idx++] = (char)(dec + '0'); + exp -= dec * 10; + + } else if(cent) { + dest[idx++] = '0'; + } + dest[idx++] = (char)(exp % 10 + '0'); + return idx; +} + +unsigned dtoa(double d, char* buffer) { + uint64_t bits = 0; + memcpy(&bits, &d, sizeof(double)); + + uint64_t mantissa = bits & ((1ull << mantissa_bits) - 1); + uint32_t exponent = (uint32_t) + ((bits >> mantissa_bits) & ((1u << exponent_bits) - 1)); + + if(exponent == 0 && mantissa == 0) { + memcpy(buffer, "0.0", 3); + return 3; + } + + bool sign = ((bits >> (mantissa_bits + exponent_bits)) & 1) != 0; + unsigned pos = 0; + if(sign) { + buffer[0] = '-'; + pos++; + buffer++; + } + + if(exponent == ((1u << exponent_bits) - 1u)) { + if(mantissa != 0) { + memcpy(buffer, "nan", 3); + return 3; + } else { + memcpy(&buffer[pos], "inf", 3); + return pos + 3; + } + } + + int K = 0; + char digits[18]; + memset(digits, 0, 18); + unsigned ndigits = grisu2(bits, digits, &K); + return pos + emit_digits(digits, ndigits, buffer, K, sign); +} + +/**** amalgamated original file "/deps/mp_printf.c" ****/ + +/** + * @author (c) Julius Pfrommer + * 2023, Fraunhofer IOSB, Germany + * @author (c) Eyal Rozenberg + * 2021-2023, Haifa, Palestine/Israel + * @author (c) Marco Paland (info@paland.com) + * 2014-2019, PALANDesign Hannover, Germany + * + * @note Others have made smaller contributions to this file: see the + * contributors page at https://github.com/eyalroz/printf/graphs/contributors + * or ask one of the authors. The original code for exponential specifiers was + * contributed by Martijn Jasperse . + * + * @brief Small stand-alone implementation of the printf family of functions + * (`(v)printf`, `(v)s(n)printf` etc., geared towards use on embedded systems with + * limited resources. + * + * @note the implementations are thread-safe; re-entrant; use no functions from + * the standard library; and do not dynamically allocate any memory. + * + * @license The MIT License (MIT) + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + +#include +#include + +// 'ntoa' conversion buffer size, this must be big enough to hold one converted +// numeric number including padded zeros (dynamically created on stack) +#define PRINTF_INTEGER_BUFFER_SIZE 32 + +// size of the fixed (on-stack) buffer for printing individual decimal numbers. +// this must be big enough to hold one converted floating-point value including +// padded zeros. +#define PRINTF_DECIMAL_BUFFER_SIZE 32 + +// Default precision for the floating point conversion specifiers (the C +// standard sets this at 6) +#define PRINTF_DEFAULT_FLOAT_PRECISION 6 + +// internal flag definitions +#define FLAGS_ZEROPAD (1U << 0U) +#define FLAGS_LEFT (1U << 1U) +#define FLAGS_PLUS (1U << 2U) +#define FLAGS_SPACE (1U << 3U) +#define FLAGS_HASH (1U << 4U) +#define FLAGS_UPPERCASE (1U << 5U) +#define FLAGS_CHAR (1U << 6U) +#define FLAGS_SHORT (1U << 7U) + // Only used with PRINTF_SUPPORT_MSVC_STYLE_INTEGER_SPECIFIERS +#define FLAGS_LONG (1U << 9U) +#define FLAGS_LONG_LONG (1U << 10U) +#define FLAGS_PRECISION (1U << 11U) +#define FLAGS_ADAPT_EXP (1U << 12U) +#define FLAGS_POINTER (1U << 13U) + // Note: Similar, but not identical, effect as FLAGS_HASH +#define FLAGS_SIGNED (1U << 14U) + +#define BASE_BINARY 2 +#define BASE_OCTAL 8 +#define BASE_DECIMAL 10 +#define BASE_HEX 16 + +typedef unsigned int printf_flags_t; +typedef uint8_t numeric_base_t; +typedef unsigned long long printf_unsigned_value_t; +typedef long long printf_signed_value_t; + +// Note in particular the behavior here on LONG_MIN or LLONG_MIN; it is valid +// and well-defined, but if you're not careful you can easily trigger undefined +// behavior with -LONG_MIN or -LLONG_MIN +#define ABS_FOR_PRINTING(_x) \ + ((printf_unsigned_value_t)((_x) > 0 ? (_x) : -((printf_signed_value_t)_x))) + +// internal secure strlen @return The length of the string (excluding the +// terminating 0) limited by 'maxsize' @note strlen uses size_t, but wes only +// use this function with size_t variables - hence the signature. +static size_t +strnlen_s_(const char *str, size_t maxsize) { + for(size_t i = 0; i < maxsize; i++) { + if(!str[i]) + return i; + } + return maxsize; +} + +// internal test if char is a digit (0-9) +// @return true if char is a digit +static bool is_digit_(char ch) { return (ch >= '0') && (ch <= '9'); } + +// internal ASCII string to size_t conversion +static size_t +atou_(const char **str) { + size_t i = 0U; + while(is_digit_(**str)) { + i = i * 10U + (size_t)(*((*str)++) - '0'); + } + return i; +} + +// Output buffer +typedef struct { + char *buffer; + size_t pos; + size_t max_chars; +} output_t; + +static void +putchar_(output_t *out, char c) { + size_t write_pos = out->pos++; + // We're _always_ increasing pos, so as to count how may characters + // _would_ have been written if not for the max_chars limitation + if(write_pos >= out->max_chars) + return; + // it must be the case that out->buffer != NULL , due to the constraint + // on output_t ; and note we're relying on write_pos being non-negative. + out->buffer[write_pos] = c; +} + +static void +out_(output_t *out, const char *buf, size_t len) { + if(out->pos < out->max_chars) { + size_t write_len = len; + if(out->pos + len > out->max_chars) + write_len = out->max_chars - out->pos; + for(size_t i = 0; i < write_len; i++) + out->buffer[out->pos + i] = buf[i]; + } + out->pos += len; // Always increase pos by len +} + +// output the specified string in reverse, taking care of any zero-padding +static void +out_rev_(output_t *output, const char *buf, size_t len, size_t width, + printf_flags_t flags) { + const size_t start_pos = output->pos; + + // pad spaces up to given width + if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { + for(size_t i = len; i < width; i++) { + putchar_(output, ' '); + } + } + + // reverse string + while(len) { + putchar_(output, buf[--len]); + } + + // append pad spaces up to given width + if(flags & FLAGS_LEFT) { + while(output->pos - start_pos < width) { + putchar_(output, ' '); + } + } +} + +// Invoked by print_integer after the actual number has been printed, performing +// necessary work on the number's prefix (as the number is initially printed in +// reverse order) +static void +print_integer_finalization(output_t *output, char *buf, size_t len, bool negative, + numeric_base_t base, size_t precision, size_t width, + printf_flags_t flags) { + size_t unpadded_len = len; + + // pad with leading zeros + if(!(flags & FLAGS_LEFT)) { + if(width && (flags & FLAGS_ZEROPAD) && + (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) { + width--; + } + while((flags & FLAGS_ZEROPAD) && (len < width) && + (len < PRINTF_INTEGER_BUFFER_SIZE)) { + buf[len++] = '0'; + } + } + + while((len < precision) && (len < PRINTF_INTEGER_BUFFER_SIZE)) { + buf[len++] = '0'; + } + + if(base == BASE_OCTAL && (len > unpadded_len)) { + // Since we've written some zeros, we've satisfied the alternative format + // leading space requirement + flags &= ~FLAGS_HASH; + } + + // handle hash + if(flags & (FLAGS_HASH | FLAGS_POINTER)) { + if(!(flags & FLAGS_PRECISION) && len && ((len == precision) || (len == width))) { + // Let's take back some padding digits to fit in what will eventually be + // the format-specific prefix + if(unpadded_len < len) { + len--; // This should suffice for BASE_OCTAL + } + if(len && (base == BASE_HEX || base == BASE_BINARY) && (unpadded_len < len)) { + len--; // ... and an extra one for 0x or 0b + } + } + if((base == BASE_HEX) && !(flags & FLAGS_UPPERCASE) && + (len < PRINTF_INTEGER_BUFFER_SIZE)) { + buf[len++] = 'x'; + } else if((base == BASE_HEX) && (flags & FLAGS_UPPERCASE) && + (len < PRINTF_INTEGER_BUFFER_SIZE)) { + buf[len++] = 'X'; + } else if((base == BASE_BINARY) && (len < PRINTF_INTEGER_BUFFER_SIZE)) { + buf[len++] = 'b'; + } + if(len < PRINTF_INTEGER_BUFFER_SIZE) { + buf[len++] = '0'; + } + } + + if(len < PRINTF_INTEGER_BUFFER_SIZE) { + if(negative) { + buf[len++] = '-'; + } else if(flags & FLAGS_PLUS) { + buf[len++] = '+'; // ignore the space if the '+' exists + } else if(flags & FLAGS_SPACE) { + buf[len++] = ' '; + } + } + + out_rev_(output, buf, len, width, flags); +} + +// An internal itoa-like function +static void +print_integer(output_t *output, printf_unsigned_value_t value, bool negative, + numeric_base_t base, size_t precision, size_t width, printf_flags_t flags) { + char buf[PRINTF_INTEGER_BUFFER_SIZE]; + size_t len = 0U; + + if(!value) { + if(!(flags & FLAGS_PRECISION)) { + buf[len++] = '0'; + flags &= ~FLAGS_HASH; + // We drop this flag this since either the alternative and regular modes + // of the specifier don't differ on 0 values, or (in the case of octal) + // we've already provided the special handling for this mode. + } else if(base == BASE_HEX) { + flags &= ~FLAGS_HASH; + // We drop this flag this since either the alternative and regular modes + // of the specifier don't differ on 0 values + } + } else { + do { + const char digit = (char)(value % base); + buf[len++] = + (char)(digit < 10 ? '0' + digit + : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10); + value /= base; + } while(value && (len < PRINTF_INTEGER_BUFFER_SIZE)); + } + + print_integer_finalization(output, buf, len, negative, base, precision, width, flags); +} + +static void +print_floating_point(output_t *output, double value, size_t precision, + size_t width, printf_flags_t flags) { + if((flags & FLAGS_PLUS) && value > 0.0) + putchar_(output, '+'); + + // set default precision, if not set explicitly + //if(!(flags & FLAGS_PRECISION) || precision > PRINTF_DECIMAL_BUFFER_SIZE - 5) + // precision = PRINTF_DEFAULT_FLOAT_PRECISION; + + char buf[PRINTF_DECIMAL_BUFFER_SIZE]; + unsigned len = dtoa(value, buf); // Fill the buffer (TODO: Consider precision) + out_(output, buf, len); // Print the buffer +} + +// Advances the format pointer past the flags, and returns the parsed flags +// due to the characters passed +static printf_flags_t +parse_flags(const char **format) { + printf_flags_t flags = 0U; + do { + switch(**format) { + case '0': flags |= FLAGS_ZEROPAD; break; + case '-': flags |= FLAGS_LEFT; break; + case '+': flags |= FLAGS_PLUS; break; + case ' ': flags |= FLAGS_SPACE; break; + case '#': flags |= FLAGS_HASH; break; + default: return flags; + } + (*format)++; + } while(true); +} + +#define ADVANCE_IN_FORMAT_STRING(cptr_) \ + do { \ + (cptr_)++; \ + if(!*(cptr_)) \ + return; \ + } while(0) + +static void +format_string_loop(output_t *output, const char *format, va_list args) { + while(*format) { + if(*format != '%') { + // A regular content character + putchar_(output, *format); + format++; + continue; + } + // We're parsing a format specifier: %[flags][width][.precision][length] + ADVANCE_IN_FORMAT_STRING(format); + + printf_flags_t flags = parse_flags(&format); + + // evaluate width field + size_t width = 0U; + if(is_digit_(*format)) { + width = atou_(&format); + } else if(*format == '*') { + const int w = va_arg(args, int); + if(w < 0) { + flags |= FLAGS_LEFT; // reverse padding + width = (size_t)-w; + } else { + width = (size_t)w; + } + ADVANCE_IN_FORMAT_STRING(format); + } + + // evaluate precision field + size_t precision = 0U; + if(*format == '.') { + flags |= FLAGS_PRECISION; + ADVANCE_IN_FORMAT_STRING(format); + if(is_digit_(*format)) { + precision = atou_(&format); + } else if(*format == '*') { + const int precision_ = va_arg(args, int); + precision = precision_ > 0 ? (size_t)precision_ : 0U; + ADVANCE_IN_FORMAT_STRING(format); + } + } + + // evaluate length field + switch(*format) { + case 'l': + flags |= FLAGS_LONG; + ADVANCE_IN_FORMAT_STRING(format); + if(*format == 'l') { + flags |= FLAGS_LONG_LONG; + ADVANCE_IN_FORMAT_STRING(format); + } + break; + case 'h': + flags |= FLAGS_SHORT; + ADVANCE_IN_FORMAT_STRING(format); + if(*format == 'h') { + flags |= FLAGS_CHAR; + ADVANCE_IN_FORMAT_STRING(format); + } + break; + case 't': + flags |= + (sizeof(ptrdiff_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); + ADVANCE_IN_FORMAT_STRING(format); + break; + case 'j': + flags |= + (sizeof(intmax_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); + ADVANCE_IN_FORMAT_STRING(format); + break; + case 'z': + flags |= (sizeof(size_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); + ADVANCE_IN_FORMAT_STRING(format); + break; + default: + break; + } + + // evaluate specifier + switch(*format) { + case 'd': + case 'i': + case 'u': + case 'x': + case 'X': + case 'o': + case 'b': { + if(*format == 'd' || *format == 'i') { + flags |= FLAGS_SIGNED; + } + + numeric_base_t base; + if(*format == 'x' || *format == 'X') { + base = BASE_HEX; + } else if(*format == 'o') { + base = BASE_OCTAL; + } else if(*format == 'b') { + base = BASE_BINARY; + } else { + base = BASE_DECIMAL; + flags &= + ~FLAGS_HASH; // decimal integers have no alternative presentation + } + + if(*format == 'X') { + flags |= FLAGS_UPPERCASE; + } + + format++; + // ignore '0' flag when precision is given + if(flags & FLAGS_PRECISION) { + flags &= ~FLAGS_ZEROPAD; + } + + if(flags & FLAGS_SIGNED) { + // A signed specifier: d, i or possibly I + bit size if enabled + if(flags & FLAGS_LONG_LONG) { + const long long value = va_arg(args, long long); + print_integer(output, ABS_FOR_PRINTING(value), value < 0, base, + precision, width, flags); + } else if(flags & FLAGS_LONG) { + const long value = va_arg(args, long); + print_integer(output, ABS_FOR_PRINTING(value), value < 0, base, + precision, width, flags); + } else { + // We never try to interpret the argument as something + // potentially-smaller than int, due to integer promotion rules: + // Even if the user passed a short int, short unsigned etc. - + // these will come in after promotion, as int's (or unsigned for + // the case of short unsigned when it has the same size as int) + const int value = + (flags & FLAGS_CHAR) ? (signed char)va_arg(args, int) + : (flags & FLAGS_SHORT) ? (short int)va_arg(args, int) + : va_arg(args, int); + print_integer(output, ABS_FOR_PRINTING(value), value < 0, base, + precision, width, flags); + } + } else { + // An unsigned specifier: u, x, X, o, b + flags &= ~(FLAGS_PLUS | FLAGS_SPACE); + + if(flags & FLAGS_LONG_LONG) { + print_integer(output, (printf_unsigned_value_t) + va_arg(args, unsigned long long), + false, base, precision, width, flags); + } else if(flags & FLAGS_LONG) { + print_integer(output, (printf_unsigned_value_t) + va_arg(args, unsigned long), + false, base, precision, width, flags); + } else { + const unsigned int value = (flags & FLAGS_CHAR) + ? (unsigned char)va_arg(args, unsigned int) + : (flags & FLAGS_SHORT) + ? (unsigned short int)va_arg(args, unsigned int) + : va_arg(args, unsigned int); + print_integer(output, (printf_unsigned_value_t)value, false, base, + precision, width, flags); + } + } + break; + } + + case 'f': + case 'F': + if(*format == 'F') + flags |= FLAGS_UPPERCASE; + print_floating_point(output, (double)va_arg(args, double), + precision, width, flags); + format++; + break; + + case 'c': { + size_t l = 1U; + // pre padding + if(!(flags & FLAGS_LEFT)) { + while(l++ < width) { + putchar_(output, ' '); + } + } + // char output + putchar_(output, (char)va_arg(args, int)); + // post padding + if(flags & FLAGS_LEFT) { + while(l++ < width) { + putchar_(output, ' '); + } + } + format++; + break; + } + + case 's': { + const char *p = va_arg(args, char *); + if(p == NULL) { + out_rev_(output, ")llun(", 6, width, flags); + } else { + // string length + size_t l = strnlen_s_(p, precision ? precision : INT32_MAX); + if(flags & FLAGS_PRECISION) { + l = (l < precision ? l : precision); + } + + // pre padding + if(!(flags & FLAGS_LEFT)) { + for(size_t i = 0; l + i < width; i++) { + putchar_(output, ' '); + } + } + + // string output + out_(output, p, l); + + // post padding + if(flags & FLAGS_LEFT) { + for(size_t i = 0; l + i < width; i++) { + putchar_(output, ' '); + } + } + } + format++; + break; + } + + case 'p': { + width = + sizeof(void *) * 2U + 2; // 2 hex chars per byte + the "0x" prefix + flags |= FLAGS_ZEROPAD | FLAGS_POINTER; + uintptr_t value = (uintptr_t)va_arg(args, void *); + (value == (uintptr_t)NULL) + ? out_rev_(output, ")lin(", 5, width, flags) + : print_integer(output, (printf_unsigned_value_t)value, false, + BASE_HEX, precision, width, flags); + format++; + break; + } + + case '%': + putchar_(output, '%'); + format++; + break; + + default: + putchar_(output, *format); + format++; + break; + } + } +} + +int +mp_vsnprintf(char *s, size_t n, const char *format, va_list arg) { + // Check that the inputs are sane + if(!s || n < 1) + return -1; + + // Format the string + output_t out = {s, 0, n}; + format_string_loop(&out, format, arg); + + // Write the string-terminating '\0' character + size_t null_char_pos = out.pos < out.max_chars ? out.pos : out.max_chars - 1; + out.buffer[null_char_pos] = '\0'; + + // Return written chars without terminating \0 + return (int)out.pos; +} + +int +mp_snprintf(char *s, size_t n, const char *format, ...) { + va_list args; + va_start(args, format); + const int ret = mp_vsnprintf(s, n, format, args); + va_end(args); + return ret; +} + +/**** amalgamated original file "/deps/itoa.c" ****/ + +/* + * Copyright 2017 Techie Delight + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* Originally released by techiedelight.com + * (http://www.techiedelight.com/implement-itoa-function-in-c/) under the + * MIT license. */ + + +static void swap(char *x, char *y) { + char t = *x; + *x = *y; + *y = t; +} + +/* function to reverse buffer */ +static char* reverse(char *buffer, UA_UInt16 i, UA_UInt16 j) { + while (i < j) + swap(&buffer[i++], &buffer[j--]); + + return buffer; +} + +/* adapted from http://www.techiedelight.com/implement-itoa-function-in-c/ to use UA_... types */ +UA_UInt16 itoaUnsigned(UA_UInt64 value, char* buffer, UA_Byte base) { + /* consider absolute value of number */ + UA_UInt64 n = value; + + UA_UInt16 i = 0; + while (n) { + UA_UInt64 r = n % base; + + if (r >= 10) + buffer[i++] = (char)(65 + (r - 10)); + else + buffer[i++] = (char)(48 + r); + + n = n / base; + } + /* if number is 0 */ + if (i == 0) + buffer[i++] = '0'; + + buffer[i] = '\0'; /* null terminate string */ + i--; + /* reverse the string */ + reverse(buffer, 0, i); + i++; + return i; +} + +/* adapted from http://www.techiedelight.com/implement-itoa-function-in-c/ */ +UA_UInt16 itoaSigned(UA_Int64 value, char* buffer) { + /* Special case for UA_INT64_MIN which can not simply be negated */ + /* it will cause a signed integer overflow */ + UA_UInt64 n; + if(value == UA_INT64_MIN) { + n = (UA_UInt64)UA_INT64_MAX + 1; + } else { + n = (UA_UInt64)value; + if(value < 0){ + n = (UA_UInt64)-value; + } + } + + UA_UInt16 i = 0; + while(n) { + UA_UInt64 r = n % 10; + buffer[i++] = (char)('0' + r); + n = n / 10; + } + + if(i == 0) + buffer[i++] = '0'; /* if number is 0 */ + if(value < 0) + buffer[i++] = '-'; + buffer[i] = '\0'; /* null terminate string */ + i--; + reverse(buffer, 0, i); /* reverse the string and return it */ + i++; + return i; +} + + +/**** amalgamated original file "/deps/ziptree.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021-2022 (c) Julius Pfrommer + */ + + +/* Dummy types */ +struct zip_elem; +typedef struct zip_elem zip_elem; +typedef ZIP_ENTRY(zip_elem) zip_entry; +typedef ZIP_HEAD(, zip_elem) zip_head; + +/* Access macros */ +#define ZIP_ENTRY_PTR(x) ((zip_entry*)((char*)x + fieldoffset)) +#define ZIP_KEY_PTR(x) (const void*)((const char*)x + keyoffset) + +/* Hash pointers to keep the tie-breeaking of equal keys (mostly) uncorrelated + * from the rank (pointer order). Hashing code taken from sdbm-hash + * (http://www.cse.yorku.ca/~oz/hash.html). */ +static unsigned int +__ZIP_PTR_HASH(const void *p) { + unsigned int h = 0; + const unsigned char *data = (const unsigned char*)&p; + for(size_t i = 0; i < (sizeof(void*) / sizeof(char)); i++) + h = data[i] + (h << 6) + (h << 16) - h; + return h; +} + +static ZIP_INLINE enum ZIP_CMP +__ZIP_RANK_CMP(const void *p1, const void *p2) { + /* assert(p1 != p2); */ + unsigned int h1 = __ZIP_PTR_HASH(p1); + unsigned int h2 = __ZIP_PTR_HASH(p2); + if(h1 == h2) + return (p1 < p2) ? ZIP_CMP_LESS : ZIP_CMP_MORE; + return (h1 < h2) ? ZIP_CMP_LESS : ZIP_CMP_MORE; +} + +static ZIP_INLINE enum ZIP_CMP +__ZIP_UNIQUE_CMP(zip_cmp_cb cmp, const void *p1, const void *p2) { + if(p1 == p2) + return ZIP_CMP_EQ; + enum ZIP_CMP order = cmp(p1, p2); + if(order == ZIP_CMP_EQ) + return (p1 < p2) ? ZIP_CMP_LESS : ZIP_CMP_MORE; + return order; +} + +#if 0 +#include +ZIP_UNUSED static ZIP_INLINE void +__ZIP_VALIDATE(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, void *elm, + void *min_elm, void *max_elm) { + if(!elm) + return; + enum ZIP_CMP c1 = __ZIP_UNIQUE_CMP(cmp, ZIP_KEY_PTR(min_elm), ZIP_KEY_PTR(elm)); + assert((elm == min_elm && c1 == ZIP_CMP_EQ) || c1 == ZIP_CMP_LESS); + + enum ZIP_CMP c2 = __ZIP_UNIQUE_CMP(cmp, ZIP_KEY_PTR(max_elm), ZIP_KEY_PTR(elm)); + assert((elm == max_elm && c2 == ZIP_CMP_EQ) || c2 == ZIP_CMP_MORE); + + assert(!ZIP_ENTRY_PTR(elm)->right || + __ZIP_RANK_CMP(elm, ZIP_ENTRY_PTR(elm)->right) == ZIP_CMP_MORE); + assert(!ZIP_ENTRY_PTR(elm)->left || + __ZIP_RANK_CMP(elm, ZIP_ENTRY_PTR(elm)->left) == ZIP_CMP_MORE); + + __ZIP_VALIDATE(cmp, fieldoffset, keyoffset, ZIP_ENTRY_PTR(elm)->right, elm, max_elm); + __ZIP_VALIDATE(cmp, fieldoffset, keyoffset, ZIP_ENTRY_PTR(elm)->left, min_elm, elm); +} +#endif + +/* Walk down the right-side spine of cur. Elements that are larger than x_key + * are moved under x->right. */ +static void +__ZIP_INSERT_MOVE_RIGHT(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *x_key, + zip_elem **fix_edge, zip_elem *cur) { + while(ZIP_ENTRY_PTR(cur)->right) { + zip_elem *move_candidate = ZIP_ENTRY_PTR(cur)->right; + if(__ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(move_candidate)) == ZIP_CMP_MORE) { + cur = ZIP_ENTRY_PTR(cur)->right; + continue; + } + ZIP_ENTRY_PTR(cur)->right = ZIP_ENTRY_PTR(move_candidate)->left; + ZIP_ENTRY_PTR(move_candidate)->left = NULL; + *fix_edge = move_candidate; + fix_edge = &ZIP_ENTRY_PTR(move_candidate)->left; + } +} + +static void +__ZIP_INSERT_MOVE_LEFT(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *x_key, + zip_elem **fix_edge, zip_elem *cur) { + while(ZIP_ENTRY_PTR(cur)->left) { + zip_elem *move_candidate = ZIP_ENTRY_PTR(cur)->left; + if(__ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(move_candidate)) == ZIP_CMP_LESS) { + cur = ZIP_ENTRY_PTR(cur)->left; + continue; + } + ZIP_ENTRY_PTR(cur)->left = ZIP_ENTRY_PTR(move_candidate)->right; + ZIP_ENTRY_PTR(move_candidate)->right = NULL; + *fix_edge = move_candidate; + fix_edge = &ZIP_ENTRY_PTR(move_candidate)->right; + } +} + +void +__ZIP_INSERT(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, void *elm) { + zip_elem *x = (zip_elem*)elm; + ZIP_ENTRY_PTR(x)->left = NULL; + ZIP_ENTRY_PTR(x)->right = NULL; + + const void *x_key = ZIP_KEY_PTR(x); + zip_head *head = (zip_head*)h; + if(!head->root) { + head->root = x; + return; + } + + /* Go down the tree to find the top element "cur" that has a rank smaller + * than "x" */ + zip_elem *prev = NULL; + zip_elem *cur = head->root; + enum ZIP_CMP cur_order, prev_order; + do { + cur_order = __ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(cur)); + if(cur_order == ZIP_CMP_EQ) + return; /* x is already inserted */ + if(__ZIP_RANK_CMP(cur, x) == ZIP_CMP_LESS) + break; + prev = cur; + prev_order = cur_order; + cur = (cur_order == ZIP_CMP_MORE) ? + ZIP_ENTRY_PTR(cur)->right : ZIP_ENTRY_PTR(cur)->left; + } while(cur); + + /* Insert "x" instead of "cur" under its parent "prev" */ + if(cur == head->root) { + head->root = x; + } else { + if(prev_order == ZIP_CMP_MORE) + ZIP_ENTRY_PTR(prev)->right = x; + else + ZIP_ENTRY_PTR(prev)->left = x; + } + + if(!cur) + return; + + /* Re-insert "cur" under "x". Repair by moving elements that ended up on the + * wrong side of "x". */ + if(cur_order == ZIP_CMP_MORE) { + ZIP_ENTRY_PTR(x)->left = cur; + __ZIP_INSERT_MOVE_RIGHT(cmp, fieldoffset, keyoffset, + x_key, &ZIP_ENTRY_PTR(x)->right, cur); + } else { + ZIP_ENTRY_PTR(x)->right = cur; + __ZIP_INSERT_MOVE_LEFT(cmp, fieldoffset, keyoffset, + x_key, &ZIP_ENTRY_PTR(x)->left, cur); + } +} + +void * +__ZIP_REMOVE(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, void *elm) { + zip_head *head = (zip_head*)h; + zip_elem *x = (zip_elem*)elm; + zip_elem *cur = head->root; + if(!cur) + return NULL; + + const void *x_key = ZIP_KEY_PTR(x); + zip_elem **prev_edge = &head->root; + enum ZIP_CMP cur_order = __ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(cur)); + while(cur_order != ZIP_CMP_EQ) { + prev_edge = (cur_order == ZIP_CMP_LESS) ? + &ZIP_ENTRY_PTR(cur)->left : &ZIP_ENTRY_PTR(cur)->right; + cur = *prev_edge; + if(!cur) + return NULL; + cur_order = __ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(cur)); + } + *prev_edge = (zip_elem*)__ZIP_ZIP(fieldoffset, + ZIP_ENTRY_PTR(cur)->left, + ZIP_ENTRY_PTR(cur)->right); + return cur; +} + +void * +__ZIP_ITER(unsigned short fieldoffset, zip_iter_cb cb, + void *context, void *elm) { + if(!elm) + return NULL; + zip_elem *left = ZIP_ENTRY_PTR(elm)->left; + zip_elem *right = ZIP_ENTRY_PTR(elm)->right; + void *res = __ZIP_ITER(fieldoffset, cb, context, left); + if(res) + return res; + res = cb(context, elm); + if(res) + return res; + return __ZIP_ITER(fieldoffset, cb, context, right); +} + +void * +__ZIP_ITER_KEY(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *key, + zip_iter_cb cb, void *context, void *elm) { + if(!elm) + return NULL; + + void *res; + enum ZIP_CMP eq = cmp(key, ZIP_KEY_PTR(elm)); + if(eq != ZIP_CMP_MORE) { + res = __ZIP_ITER_KEY(cmp, fieldoffset, keyoffset, key, + cb, context, ZIP_ENTRY_PTR(elm)->left); + if(res) + return res; + } + + if(eq == ZIP_CMP_EQ) { + res = cb(context, elm); + if(res) + return res; + } + + if(eq != ZIP_CMP_LESS) { + res = __ZIP_ITER_KEY(cmp, fieldoffset, keyoffset, key, + cb, context, ZIP_ENTRY_PTR(elm)->right); + if(res) + return res; + } + + return NULL; +} + +void * +__ZIP_ZIP(unsigned short fieldoffset, void *left, void *right) { + if(!left) + return right; + if(!right) + return left; + zip_elem *l = (zip_elem*)left; + zip_elem *r = (zip_elem*)right; + zip_elem *root = NULL; + zip_elem **prev_edge = &root; + while(l && r) { + if(__ZIP_RANK_CMP(l, r) == ZIP_CMP_LESS) { + *prev_edge = r; + prev_edge = &ZIP_ENTRY_PTR(r)->left; + r = ZIP_ENTRY_PTR(r)->left; + } else { + *prev_edge = l; + prev_edge = &ZIP_ENTRY_PTR(l)->right; + l = ZIP_ENTRY_PTR(l)->right; + } + } + *prev_edge = (l) ? l : r; + return root; +} + +/* Walk down from cur and move all elements <= split-key to the left side. All + * elements that are moved over have to be below left_rightmost. Returns the + * hierarchy of elements that remain on the right side. */ +static void +__ZIP_UNZIP_MOVE_LEFT(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *key, + zip_elem **fix_edge, zip_elem *cur) { + while(ZIP_ENTRY_PTR(cur)->left) { + zip_elem *next = ZIP_ENTRY_PTR(cur)->left; + if(cmp(key, ZIP_KEY_PTR(next)) == ZIP_CMP_LESS) { + cur = next; + continue; + } + *fix_edge = next; + ZIP_ENTRY_PTR(cur)->left = ZIP_ENTRY_PTR(next)->right; + ZIP_ENTRY_PTR(next)->right = NULL; + fix_edge = &ZIP_ENTRY_PTR(next)->right; + } +} + +static void +__ZIP_UNZIP_MOVE_RIGHT(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *key, + zip_elem **fix_edge, zip_elem *cur) { + while(ZIP_ENTRY_PTR(cur)->right) { + zip_elem *next = ZIP_ENTRY_PTR(cur)->right; + if(cmp(key, ZIP_KEY_PTR(next)) != ZIP_CMP_LESS) { + cur = next; + continue; + } + *fix_edge = next; + ZIP_ENTRY_PTR(cur)->right = ZIP_ENTRY_PTR(next)->left; + ZIP_ENTRY_PTR(next)->left = NULL; + fix_edge = &ZIP_ENTRY_PTR(next)->left; + } +} + +/* Split the tree into a left side with keys <= split-key and a right side with + * key > split-key. */ +void +__ZIP_UNZIP(zip_cmp_cb cmp, unsigned short fieldoffset, + unsigned short keyoffset, const void *key, + void *h, void *l, void *r) { + zip_elem *prev; + zip_head *head = (zip_head*)h; + zip_head *left = (zip_head*)l; + zip_head *right = (zip_head*)r; + if(!head->root) { + left->root = NULL; + right->root = NULL; + return; + } + zip_elem *cur = head->root; + if(cmp(key, ZIP_KEY_PTR(cur)) != ZIP_CMP_LESS) { + left->root = cur; + do { + prev = cur; + cur = ZIP_ENTRY_PTR(cur)->right; + if(!cur) { + right->root = NULL; + return; + } + } while(cmp(key, ZIP_KEY_PTR(cur)) != ZIP_CMP_LESS); + ZIP_ENTRY_PTR(prev)->right = NULL; + right->root = cur; + __ZIP_UNZIP_MOVE_LEFT(cmp, fieldoffset, keyoffset, key, + &ZIP_ENTRY_PTR(prev)->right, cur); + } else { + right->root = cur; + do { + prev = cur; + cur = ZIP_ENTRY_PTR(cur)->left; + if(!cur) { + left->root = NULL; + return; + } + } while(cmp(key, ZIP_KEY_PTR(cur)) == ZIP_CMP_LESS); + ZIP_ENTRY_PTR(prev)->left = NULL; + left->root = cur; + __ZIP_UNZIP_MOVE_RIGHT(cmp, fieldoffset, keyoffset, key, + &ZIP_ENTRY_PTR(prev)->left, cur); + } +} + +/**** amalgamated original file "/build/src_generated/open62541/namespace0_generated.c" ****/ + +/* WARNING: This is a generated file. + * Any manual changes will be overwritten. */ + + + +/* HasReferenceDescription - ns=0;i=32679 */ + +static UA_StatusCode function_namespace0_generated_0_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasReferenceDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 32679LU), +UA_NODEID_NUMERIC(ns[0], 34LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasReferenceDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_0_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32679LU) +); +} + +/* HasPhysicalComponent - ns=0;i=25262 */ + +static UA_StatusCode function_namespace0_generated_1_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "PhysicalComponentOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasPhysicalComponent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25262LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasPhysicalComponent"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25262LU) +); +} + +/* HasAttachedComponent - ns=0;i=25264 */ + +static UA_StatusCode function_namespace0_generated_2_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "AttachedComponentOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasAttachedComponent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25264LU), +UA_NODEID_NUMERIC(ns[0], 25262LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasAttachedComponent"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25264LU) +); +} + +/* HasContainedComponent - ns=0;i=25263 */ + +static UA_StatusCode function_namespace0_generated_3_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "ContainedComponentOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasContainedComponent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25263LU), +UA_NODEID_NUMERIC(ns[0], 25262LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasContainedComponent"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25263LU) +); +} + +/* RepresentsSameEntityAs - ns=0;i=25258 */ + +static UA_StatusCode function_namespace0_generated_4_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.symmetric = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RepresentsSameEntityAs"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25258LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RepresentsSameEntityAs"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25258LU) +); +} + +/* RepresentsSameFunctionalityAs - ns=0;i=25260 */ + +static UA_StatusCode function_namespace0_generated_5_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.symmetric = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RepresentsSameFunctionalityAs"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25260LU), +UA_NODEID_NUMERIC(ns[0], 25258LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RepresentsSameFunctionalityAs"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_5_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25260LU) +); +} + +/* RepresentsSameHardwareAs - ns=0;i=25259 */ + +static UA_StatusCode function_namespace0_generated_6_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.symmetric = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RepresentsSameHardwareAs"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25259LU), +UA_NODEID_NUMERIC(ns[0], 25258LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RepresentsSameHardwareAs"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_6_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25259LU) +); +} + +/* IsPhysicallyConnectedTo - ns=0;i=25257 */ + +static UA_StatusCode function_namespace0_generated_7_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.symmetric = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IsPhysicallyConnectedTo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25257LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IsPhysicallyConnectedTo"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_7_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25257LU) +); +} + +/* Requires - ns=0;i=25256 */ + +static UA_StatusCode function_namespace0_generated_8_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsRequiredBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "Requires"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25256LU), +UA_NODEID_NUMERIC(ns[0], 33LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Requires"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_8_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25256LU) +); +} + +/* Utilizes - ns=0;i=25255 */ + +static UA_StatusCode function_namespace0_generated_9_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsUtilizedBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "Utilizes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25255LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Utilizes"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_9_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25255LU) +); +} + +/* IsExecutingOn - ns=0;i=25265 */ + +static UA_StatusCode function_namespace0_generated_10_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "Executes"); +attr.displayName = UA_LOCALIZEDTEXT("", "IsExecutingOn"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25265LU), +UA_NODEID_NUMERIC(ns[0], 25255LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IsExecutingOn"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_10_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25265LU) +); +} + +/* IsHostedBy - ns=0;i=25261 */ + +static UA_StatusCode function_namespace0_generated_11_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "Hosts"); +attr.displayName = UA_LOCALIZEDTEXT("", "IsHostedBy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25261LU), +UA_NODEID_NUMERIC(ns[0], 25255LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IsHostedBy"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_11_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25261LU) +); +} + +/* Controls - ns=0;i=25254 */ + +static UA_StatusCode function_namespace0_generated_12_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsControlledBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "Controls"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25254LU), +UA_NODEID_NUMERIC(ns[0], 33LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Controls"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_12_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25254LU) +); +} + +/* IsExecutableOn - ns=0;i=25253 */ + +static UA_StatusCode function_namespace0_generated_13_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "CanExecute"); +attr.displayName = UA_LOCALIZEDTEXT("", "IsExecutableOn"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25253LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IsExecutableOn"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_13_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25253LU) +); +} + +/* HasLowerLayerInterface - ns=0;i=25238 */ + +static UA_StatusCode function_namespace0_generated_14_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "HasHigherLayerInterface"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasLowerLayerInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25238LU), +UA_NODEID_NUMERIC(ns[0], 33LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasLowerLayerInterface"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_14_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25238LU) +); +} + +/* UsesPriorityMappingTable - ns=0;i=25237 */ + +static UA_StatusCode function_namespace0_generated_15_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "UsedByNetworkInterface"); +attr.displayName = UA_LOCALIZEDTEXT("", "UsesPriorityMappingTable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25237LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UsesPriorityMappingTable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_15_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25237LU) +); +} + +/* AliasFor - ns=0;i=23469 */ + +static UA_StatusCode function_namespace0_generated_16_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "HasAlias"); +attr.displayName = UA_LOCALIZEDTEXT("", "AliasFor"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 23469LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AliasFor"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_16_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23469LU) +); +} + +/* HasReaderGroup - ns=0;i=18805 */ + +static UA_StatusCode function_namespace0_generated_17_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsReaderGroupOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasReaderGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 18805LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasReaderGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_17_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18805LU) +); +} + +/* HasDataSetReader - ns=0;i=15297 */ + +static UA_StatusCode function_namespace0_generated_18_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsReaderInGroup"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasDataSetReader"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 15297LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasDataSetReader"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_18_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15297LU) +); +} + +/* HasWriterGroup - ns=0;i=18804 */ + +static UA_StatusCode function_namespace0_generated_19_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsWriterGroupOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasWriterGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 18804LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasWriterGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_19_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18804LU) +); +} + +/* HasDataSetWriter - ns=0;i=15296 */ + +static UA_StatusCode function_namespace0_generated_20_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsWriterInGroup"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasDataSetWriter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 15296LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasDataSetWriter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_20_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15296LU) +); +} + +/* DataSetToWriter - ns=0;i=14936 */ + +static UA_StatusCode function_namespace0_generated_21_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "WriterToDataSet"); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetToWriter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 14936LU), +UA_NODEID_NUMERIC(ns[0], 33LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetToWriter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_21_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14936LU) +); +} + +/* HasPubSubConnection - ns=0;i=14476 */ + +static UA_StatusCode function_namespace0_generated_22_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "PubSubConnectionOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasPubSubConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 14476LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasPubSubConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_22_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14476LU) +); +} + +/* HasPushedSecurityGroup - ns=0;i=25345 */ + +static UA_StatusCode function_namespace0_generated_23_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "HasPushTarget"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasPushedSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 25345LU), +UA_NODEID_NUMERIC(ns[0], 33LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasPushedSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_23_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25345LU) +); +} + +/* HasCondition - ns=0;i=9006 */ + +static UA_StatusCode function_namespace0_generated_24_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsConditionOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasCondition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 9006LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasCondition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_24_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9006LU) +); +} + +/* AlarmGroupMember - ns=0;i=16362 */ + +static UA_StatusCode function_namespace0_generated_25_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MemberOfAlarmGroup"); +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmGroupMember"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 16362LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmGroupMember"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_25_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16362LU) +); +} + +/* AlarmSuppressionGroupMember - ns=0;i=32059 */ + +static UA_StatusCode function_namespace0_generated_26_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MemberOfAlarmSuppressionGroup"); +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmSuppressionGroupMember"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 32059LU), +UA_NODEID_NUMERIC(ns[0], 16362LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmSuppressionGroupMember"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_26_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32059LU) +); +} + +/* HasAlarmSuppressionGroup - ns=0;i=16361 */ + +static UA_StatusCode function_namespace0_generated_27_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsAlarmSuppressionGroupOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasAlarmSuppressionGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 16361LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasAlarmSuppressionGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_27_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16361LU) +); +} + +/* HasFalseSubState - ns=0;i=9005 */ + +static UA_StatusCode function_namespace0_generated_28_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsFalseSubStateOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasFalseSubState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 9005LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasFalseSubState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_28_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9005LU) +); +} + +/* HasTrueSubState - ns=0;i=9004 */ + +static UA_StatusCode function_namespace0_generated_29_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsTrueSubStateOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasTrueSubState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 9004LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasTrueSubState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_29_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9004LU) +); +} + +/* HasAddIn - ns=0;i=17604 */ + +static UA_StatusCode function_namespace0_generated_30_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "AddInOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasAddIn"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 17604LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasAddIn"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_30_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17604LU) +); +} + +/* HasDictionaryEntry - ns=0;i=17597 */ + +static UA_StatusCode function_namespace0_generated_31_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "DictionaryEntryOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasDictionaryEntry"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 17597LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasDictionaryEntry"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_31_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17597LU) +); +} + +/* HasGuard - ns=0;i=15112 */ + +static UA_StatusCode function_namespace0_generated_32_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "GuardOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasGuard"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 15112LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasGuard"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_32_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15112LU) +); +} + +/* IsDeprecated - ns=0;i=23562 */ + +static UA_StatusCode function_namespace0_generated_33_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "Deprecates"); +attr.displayName = UA_LOCALIZEDTEXT("", "IsDeprecated"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 23562LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IsDeprecated"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_33_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23562LU) +); +} + +/* HasArgumentDescription - ns=0;i=129 */ + +static UA_StatusCode function_namespace0_generated_34_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "ArgumentDescriptionOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasArgumentDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 129LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasArgumentDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_34_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 129LU) +); +} + +/* HasOptionalInputArgumentDescription - ns=0;i=131 */ + +static UA_StatusCode function_namespace0_generated_35_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "OptionalInputArgumentDescriptionOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasOptionalInputArgumentDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 131LU), +UA_NODEID_NUMERIC(ns[0], 129LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasOptionalInputArgumentDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_35_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 131LU) +); +} + +/* AssociatedWith - ns=0;i=24137 */ + +static UA_StatusCode function_namespace0_generated_36_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.symmetric = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AssociatedWith"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 24137LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AssociatedWith"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_36_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24137LU) +); +} + +/* HasStructuredComponent - ns=0;i=24136 */ + +static UA_StatusCode function_namespace0_generated_37_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "IsStructuredComponentOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasStructuredComponent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 24136LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasStructuredComponent"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_37_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24136LU) +); +} + +/* HasHistoricalConfiguration - ns=0;i=56 */ + +static UA_StatusCode function_namespace0_generated_38_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "HistoricalConfigurationOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasHistoricalConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 56LU), +UA_NODEID_NUMERIC(ns[0], 44LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasHistoricalConfiguration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_38_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 56LU) +); +} + +/* HasSubStateMachine - ns=0;i=117 */ + +static UA_StatusCode function_namespace0_generated_39_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "SubStateMachineOf"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasSubStateMachine"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 117LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasSubStateMachine"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_39_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 117LU) +); +} + +/* HasEffect - ns=0;i=54 */ + +static UA_StatusCode function_namespace0_generated_40_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeEffectedBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasEffect"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 54LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasEffect"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_40_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 54LU) +); +} + +/* HasEffectUnsuppressed - ns=0;i=17985 */ + +static UA_StatusCode function_namespace0_generated_41_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeUnsuppressedBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectUnsuppressed"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 17985LU), +UA_NODEID_NUMERIC(ns[0], 54LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasEffectUnsuppressed"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_41_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17985LU) +); +} + +/* HasEffectSuppressed - ns=0;i=17984 */ + +static UA_StatusCode function_namespace0_generated_42_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeSuppressedBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectSuppressed"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 17984LU), +UA_NODEID_NUMERIC(ns[0], 54LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasEffectSuppressed"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_42_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17984LU) +); +} + +/* HasEffectEnable - ns=0;i=17983 */ + +static UA_StatusCode function_namespace0_generated_43_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeEnabledBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectEnable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 17983LU), +UA_NODEID_NUMERIC(ns[0], 54LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasEffectEnable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_43_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17983LU) +); +} + +/* HasEffectDisable - ns=0;i=17276 */ + +static UA_StatusCode function_namespace0_generated_44_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeDisabledBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectDisable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 17276LU), +UA_NODEID_NUMERIC(ns[0], 54LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasEffectDisable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_44_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17276LU) +); +} + +/* HasCause - ns=0;i=53 */ + +static UA_StatusCode function_namespace0_generated_45_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeCausedBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "HasCause"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 53LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HasCause"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_45_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 53LU) +); +} + +/* ToState - ns=0;i=52 */ + +static UA_StatusCode function_namespace0_generated_46_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "FromTransition"); +attr.displayName = UA_LOCALIZEDTEXT("", "ToState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 52LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ToState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_46_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 52LU) +); +} + +/* FromState - ns=0;i=51 */ + +static UA_StatusCode function_namespace0_generated_47_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "ToTransition"); +attr.displayName = UA_LOCALIZEDTEXT("", "FromState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 51LU), +UA_NODEID_NUMERIC(ns[0], 32LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FromState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_47_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 51LU) +); +} + +/* AlwaysGeneratesEvent - ns=0;i=3065 */ + +static UA_StatusCode function_namespace0_generated_48_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; +attr.inverseName = UA_LOCALIZEDTEXT("", "AlwaysGeneratedBy"); +attr.displayName = UA_LOCALIZEDTEXT("", "AlwaysGeneratesEvent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, +UA_NODEID_NUMERIC(ns[0], 3065LU), +UA_NODEID_NUMERIC(ns[0], 41LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlwaysGeneratesEvent"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_48_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3065LU) +); +} + +/* DiagnosticInfo - ns=0;i=25 */ + +static UA_StatusCode function_namespace0_generated_49_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticInfo"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_49_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25LU) +); +} + +/* DataValue - ns=0;i=23 */ + +static UA_StatusCode function_namespace0_generated_50_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataValue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataValue"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_50_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23LU) +); +} + +/* Structure - ns=0;i=22 */ + +static UA_StatusCode function_namespace0_generated_51_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Structure"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Structure"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_51_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 22LU) +); +} + +/* DataTypeDefinition - ns=0;i=97 */ + +static UA_StatusCode function_namespace0_generated_52_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 97LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDefinition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_52_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 97LU) +); +} + +/* StructureDefinition - ns=0;i=99 */ + +static UA_StatusCode function_namespace0_generated_53_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StructureDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 99LU), +UA_NODEID_NUMERIC(ns[0], 97LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StructureDefinition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_53_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 99LU) +); +} + +/* EnumDefinition - ns=0;i=100 */ + +static UA_StatusCode function_namespace0_generated_54_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 100LU), +UA_NODEID_NUMERIC(ns[0], 97LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EnumDefinition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_54_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 100LU) +); +} + +/* RolePermissionType - ns=0;i=96 */ + +static UA_StatusCode function_namespace0_generated_55_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RolePermissionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 96LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RolePermissionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_55_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 96LU) +); +} + +/* AggregateConfiguration - ns=0;i=948 */ + +static UA_StatusCode function_namespace0_generated_56_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 948LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_56_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 948LU) +); +} + +/* HistoryEventFieldList - ns=0;i=920 */ + +static UA_StatusCode function_namespace0_generated_57_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEventFieldList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 920LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HistoryEventFieldList"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_57_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 920LU) +); +} + +/* SemanticChangeStructureDataType - ns=0;i=897 */ + +static UA_StatusCode function_namespace0_generated_58_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeStructureDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 897LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SemanticChangeStructureDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_58_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 897LU) +); +} + +/* ProgramDiagnosticDataType - ns=0;i=894 */ + +static UA_StatusCode function_namespace0_generated_59_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 894LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_59_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 894LU) +); +} + +/* TimeZoneDataType - ns=0;i=8912 */ + +static UA_StatusCode function_namespace0_generated_60_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimeZoneDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 8912LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TimeZoneDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_60_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8912LU) +); +} + +/* Annotation - ns=0;i=891 */ + +static UA_StatusCode function_namespace0_generated_61_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Annotation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 891LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Annotation"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_61_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 891LU) +); +} + +/* EUInformation - ns=0;i=887 */ + +static UA_StatusCode function_namespace0_generated_62_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EUInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 887LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EUInformation"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_62_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 887LU) +); +} + +/* Range - ns=0;i=884 */ + +static UA_StatusCode function_namespace0_generated_63_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Range"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 884LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Range"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_63_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 884LU) +); +} + +/* ModelChangeStructureDataType - ns=0;i=877 */ + +static UA_StatusCode function_namespace0_generated_64_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ModelChangeStructureDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 877LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ModelChangeStructureDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_64_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 877LU) +); +} + +/* SubscriptionDiagnosticsDataType - ns=0;i=874 */ + +static UA_StatusCode function_namespace0_generated_65_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 874LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_65_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 874LU) +); +} + +/* ServiceCounterDataType - ns=0;i=871 */ + +static UA_StatusCode function_namespace0_generated_66_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCounterDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 871LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServiceCounterDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_66_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 871LU) +); +} + +/* SessionSecurityDiagnosticsDataType - ns=0;i=868 */ + +static UA_StatusCode function_namespace0_generated_67_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 868LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_67_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 868LU) +); +} + +/* SessionDiagnosticsDataType - ns=0;i=865 */ + +static UA_StatusCode function_namespace0_generated_68_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 865LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_68_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 865LU) +); +} + +/* ServerStatusDataType - ns=0;i=862 */ + +static UA_StatusCode function_namespace0_generated_69_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 862LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerStatusDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_69_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 862LU) +); +} + +/* ServerDiagnosticsSummaryDataType - ns=0;i=859 */ + +static UA_StatusCode function_namespace0_generated_70_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 859LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_70_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 859LU) +); +} + +/* SamplingIntervalDiagnosticsDataType - ns=0;i=856 */ + +static UA_StatusCode function_namespace0_generated_71_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 856LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_71_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 856LU) +); +} + +/* RedundantServerDataType - ns=0;i=853 */ + +static UA_StatusCode function_namespace0_generated_72_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 853LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RedundantServerDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_72_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 853LU) +); +} + +/* EnumValueType - ns=0;i=7594 */ + +static UA_StatusCode function_namespace0_generated_73_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValueType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 7594LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EnumValueType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_73_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7594LU) +); +} + +/* EnumField - ns=0;i=102 */ + +static UA_StatusCode function_namespace0_generated_74_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EnumField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 102LU), +UA_NODEID_NUMERIC(ns[0], 7594LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EnumField"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_74_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 102LU) +); +} + +/* MonitoringFilter - ns=0;i=719 */ + +static UA_StatusCode function_namespace0_generated_75_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 719LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MonitoringFilter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_75_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 719LU) +); +} + +/* EventFilter - ns=0;i=725 */ + +static UA_StatusCode function_namespace0_generated_76_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EventFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 725LU), +UA_NODEID_NUMERIC(ns[0], 719LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EventFilter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_76_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 725LU) +); +} + +/* HistoryEvent - ns=0;i=659 */ + +static UA_StatusCode function_namespace0_generated_77_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEvent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 659LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HistoryEvent"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_77_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 659LU) +); +} + +/* FilterOperand - ns=0;i=589 */ + +static UA_StatusCode function_namespace0_generated_78_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 589LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FilterOperand"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_78_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 589LU) +); +} + +/* SimpleAttributeOperand - ns=0;i=601 */ + +static UA_StatusCode function_namespace0_generated_79_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SimpleAttributeOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 601LU), +UA_NODEID_NUMERIC(ns[0], 589LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SimpleAttributeOperand"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_79_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 601LU) +); +} + +/* AttributeOperand - ns=0;i=598 */ + +static UA_StatusCode function_namespace0_generated_80_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AttributeOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 598LU), +UA_NODEID_NUMERIC(ns[0], 589LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AttributeOperand"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_80_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 598LU) +); +} + +/* LiteralOperand - ns=0;i=595 */ + +static UA_StatusCode function_namespace0_generated_81_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiteralOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 595LU), +UA_NODEID_NUMERIC(ns[0], 589LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "LiteralOperand"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_81_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 595LU) +); +} + +/* ElementOperand - ns=0;i=592 */ + +static UA_StatusCode function_namespace0_generated_82_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ElementOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 592LU), +UA_NODEID_NUMERIC(ns[0], 589LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ElementOperand"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_82_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 592LU) +); +} + +/* ContentFilter - ns=0;i=586 */ + +static UA_StatusCode function_namespace0_generated_83_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 586LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ContentFilter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_83_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 586LU) +); +} + +/* ContentFilterElement - ns=0;i=583 */ + +static UA_StatusCode function_namespace0_generated_84_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilterElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 583LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ContentFilterElement"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_84_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 583LU) +); +} + +/* RelativePath - ns=0;i=540 */ + +static UA_StatusCode function_namespace0_generated_85_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RelativePath"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 540LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RelativePath"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_85_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 540LU) +); +} + +/* RelativePathElement - ns=0;i=537 */ + +static UA_StatusCode function_namespace0_generated_86_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RelativePathElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 537LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RelativePathElement"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_86_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 537LU) +); +} + +/* RegisteredServer - ns=0;i=432 */ + +static UA_StatusCode function_namespace0_generated_87_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RegisteredServer"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 432LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RegisteredServer"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_87_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 432LU) +); +} + +/* DeleteReferencesItem - ns=0;i=385 */ + +static UA_StatusCode function_namespace0_generated_88_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 385LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesItem"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_88_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 385LU) +); +} + +/* DeleteNodesItem - ns=0;i=382 */ + +static UA_StatusCode function_namespace0_generated_89_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 382LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesItem"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_89_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 382LU) +); +} + +/* AddReferencesItem - ns=0;i=379 */ + +static UA_StatusCode function_namespace0_generated_90_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 379LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesItem"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_90_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 379LU) +); +} + +/* AddNodesItem - ns=0;i=376 */ + +static UA_StatusCode function_namespace0_generated_91_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 376LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesItem"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_91_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 376LU) +); +} + +/* SignedSoftwareCertificate - ns=0;i=344 */ + +static UA_StatusCode function_namespace0_generated_92_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SignedSoftwareCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 344LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SignedSoftwareCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_92_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 344LU) +); +} + +/* BuildInfo - ns=0;i=338 */ + +static UA_StatusCode function_namespace0_generated_93_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 338LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfo"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_93_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 338LU) +); +} + +/* EndpointConfiguration - ns=0;i=331 */ + +static UA_StatusCode function_namespace0_generated_94_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 331LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EndpointConfiguration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_94_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 331LU) +); +} + +/* ReferenceListEntryDataType - ns=0;i=32660 */ + +static UA_StatusCode function_namespace0_generated_95_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceListEntryDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 32660LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceListEntryDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_95_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32660LU) +); +} + +/* ReferenceDescriptionDataType - ns=0;i=32659 */ + +static UA_StatusCode function_namespace0_generated_96_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 32659LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_96_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32659LU) +); +} + +/* TransactionErrorType - ns=0;i=32285 */ + +static UA_StatusCode function_namespace0_generated_97_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransactionErrorType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 32285LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransactionErrorType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_97_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32285LU) +); +} + +/* UserIdentityToken - ns=0;i=316 */ + +static UA_StatusCode function_namespace0_generated_98_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 316LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_98_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 316LU) +); +} + +/* IssuedIdentityToken - ns=0;i=938 */ + +static UA_StatusCode function_namespace0_generated_99_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IssuedIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 938LU), +UA_NODEID_NUMERIC(ns[0], 316LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IssuedIdentityToken"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_99_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 938LU) +); +} + +/* X509IdentityToken - ns=0;i=325 */ + +static UA_StatusCode function_namespace0_generated_100_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "X509IdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 325LU), +UA_NODEID_NUMERIC(ns[0], 316LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "X509IdentityToken"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_100_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 325LU) +); +} + +/* UserNameIdentityToken - ns=0;i=322 */ + +static UA_StatusCode function_namespace0_generated_101_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserNameIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 322LU), +UA_NODEID_NUMERIC(ns[0], 316LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserNameIdentityToken"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_101_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 322LU) +); +} + +/* AnonymousIdentityToken - ns=0;i=319 */ + +static UA_StatusCode function_namespace0_generated_102_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AnonymousIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 319LU), +UA_NODEID_NUMERIC(ns[0], 316LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AnonymousIdentityToken"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_102_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 319LU) +); +} + +/* EndpointDescription - ns=0;i=312 */ + +static UA_StatusCode function_namespace0_generated_103_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 312LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EndpointDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_103_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 312LU) +); +} + +/* ApplicationDescription - ns=0;i=308 */ + +static UA_StatusCode function_namespace0_generated_104_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 308LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_104_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 308LU) +); +} + +/* UserTokenPolicy - ns=0;i=304 */ + +static UA_StatusCode function_namespace0_generated_105_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenPolicy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 304LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserTokenPolicy"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_105_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 304LU) +); +} + +/* StatusResult - ns=0;i=299 */ + +static UA_StatusCode function_namespace0_generated_106_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StatusResult"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 299LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StatusResult"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_106_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 299LU) +); +} + +/* Argument - ns=0;i=296 */ + +static UA_StatusCode function_namespace0_generated_107_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Argument"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 296LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Argument"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_107_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 296LU) +); +} + +/* PubSubConfigurationValueDataType - ns=0;i=25520 */ + +static UA_StatusCode function_namespace0_generated_108_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationValueDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25520LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationValueDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_108_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25520LU) +); +} + +/* PubSubConfigurationRefDataType - ns=0;i=25519 */ + +static UA_StatusCode function_namespace0_generated_109_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25519LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_109_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25519LU) +); +} + +/* PubSubKeyPushTargetDataType - ns=0;i=25270 */ + +static UA_StatusCode function_namespace0_generated_110_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25270LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_110_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25270LU) +); +} + +/* PriorityMappingEntryType - ns=0;i=25220 */ + +static UA_StatusCode function_namespace0_generated_111_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25220LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PriorityMappingEntryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_111_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25220LU) +); +} + +/* UserManagementDataType - ns=0;i=24281 */ + +static UA_StatusCode function_namespace0_generated_112_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24281LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserManagementDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_112_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24281LU) +); +} + +/* UnsignedRationalNumber - ns=0;i=24107 */ + +static UA_StatusCode function_namespace0_generated_113_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UnsignedRationalNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24107LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UnsignedRationalNumber"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_113_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24107LU) +); +} + +/* PortableNodeId - ns=0;i=24106 */ + +static UA_StatusCode function_namespace0_generated_114_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PortableNodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24106LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PortableNodeId"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_114_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24106LU) +); +} + +/* PortableQualifiedName - ns=0;i=24105 */ + +static UA_StatusCode function_namespace0_generated_115_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PortableQualifiedName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24105LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PortableQualifiedName"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_115_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24105LU) +); +} + +/* ProgramDiagnostic2DataType - ns=0;i=24033 */ + +static UA_StatusCode function_namespace0_generated_116_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24033LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2DataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_116_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24033LU) +); +} + +/* QosDataType - ns=0;i=23603 */ + +static UA_StatusCode function_namespace0_generated_117_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "QosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23603LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "QosDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_117_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23603LU) +); +} + +/* ReceiveQosDataType - ns=0;i=23608 */ + +static UA_StatusCode function_namespace0_generated_118_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23608LU), +UA_NODEID_NUMERIC(ns[0], 23603LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveQosDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_118_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23608LU) +); +} + +/* ReceiveQosPriorityDataType - ns=0;i=23609 */ + +static UA_StatusCode function_namespace0_generated_119_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosPriorityDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23609LU), +UA_NODEID_NUMERIC(ns[0], 23608LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveQosPriorityDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_119_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23609LU) +); +} + +/* TransmitQosDataType - ns=0;i=23604 */ + +static UA_StatusCode function_namespace0_generated_120_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23604LU), +UA_NODEID_NUMERIC(ns[0], 23603LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransmitQosDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_120_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23604LU) +); +} + +/* TransmitQosPriorityDataType - ns=0;i=23605 */ + +static UA_StatusCode function_namespace0_generated_121_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosPriorityDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23605LU), +UA_NODEID_NUMERIC(ns[0], 23604LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransmitQosPriorityDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_121_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23605LU) +); +} + +/* SecurityGroupDataType - ns=0;i=23601 */ + +static UA_StatusCode function_namespace0_generated_122_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23601LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_122_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23601LU) +); +} + +/* CurrencyUnitType - ns=0;i=23498 */ + +static UA_StatusCode function_namespace0_generated_123_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnitType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23498LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CurrencyUnitType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_123_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23498LU) +); +} + +/* AliasNameDataType - ns=0;i=23468 */ + +static UA_StatusCode function_namespace0_generated_124_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23468LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AliasNameDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_124_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23468LU) +); +} + +/* Frame - ns=0;i=18813 */ + +static UA_StatusCode function_namespace0_generated_125_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Frame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18813LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Frame"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_125_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18813LU) +); +} + +/* 3DFrame - ns=0;i=18814 */ + +static UA_StatusCode function_namespace0_generated_126_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "3DFrame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18814LU), +UA_NODEID_NUMERIC(ns[0], 18813LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DFrame"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_126_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18814LU) +); +} + +/* Orientation - ns=0;i=18811 */ + +static UA_StatusCode function_namespace0_generated_127_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18811LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Orientation"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_127_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18811LU) +); +} + +/* 3DOrientation - ns=0;i=18812 */ + +static UA_StatusCode function_namespace0_generated_128_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18812LU), +UA_NODEID_NUMERIC(ns[0], 18811LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DOrientation"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_128_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18812LU) +); +} + +/* CartesianCoordinates - ns=0;i=18809 */ + +static UA_StatusCode function_namespace0_generated_129_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18809LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_129_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18809LU) +); +} + +/* 3DCartesianCoordinates - ns=0;i=18810 */ + +static UA_StatusCode function_namespace0_generated_130_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18810LU), +UA_NODEID_NUMERIC(ns[0], 18809LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinates"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_130_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18810LU) +); +} + +/* Vector - ns=0;i=18807 */ + +static UA_StatusCode function_namespace0_generated_131_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Vector"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18807LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Vector"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_131_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18807LU) +); +} + +/* 3DVector - ns=0;i=18808 */ + +static UA_StatusCode function_namespace0_generated_132_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "3DVector"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18808LU), +UA_NODEID_NUMERIC(ns[0], 18807LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DVector"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_132_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18808LU) +); +} + +/* RationalNumber - ns=0;i=18806 */ + +static UA_StatusCode function_namespace0_generated_133_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18806LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RationalNumber"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_133_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18806LU) +); +} + +/* EphemeralKeyType - ns=0;i=17548 */ + +static UA_StatusCode function_namespace0_generated_134_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EphemeralKeyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 17548LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EphemeralKeyType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_134_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17548LU) +); +} + +/* AdditionalParametersType - ns=0;i=16313 */ + +static UA_StatusCode function_namespace0_generated_135_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AdditionalParametersType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 16313LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AdditionalParametersType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_135_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16313LU) +); +} + +/* IdentityMappingRuleType - ns=0;i=15634 */ + +static UA_StatusCode function_namespace0_generated_136_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IdentityMappingRuleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15634LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IdentityMappingRuleType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_136_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15634LU) +); +} + +/* SubscribedDataSetDataType - ns=0;i=15630 */ + +static UA_StatusCode function_namespace0_generated_137_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15630LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_137_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15630LU) +); +} + +/* StandaloneSubscribedDataSetDataType - ns=0;i=23600 */ + +static UA_StatusCode function_namespace0_generated_138_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23600LU), +UA_NODEID_NUMERIC(ns[0], 15630LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_138_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23600LU) +); +} + +/* StandaloneSubscribedDataSetRefDataType - ns=0;i=23599 */ + +static UA_StatusCode function_namespace0_generated_139_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetRefDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23599LU), +UA_NODEID_NUMERIC(ns[0], 15630LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetRefDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_139_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23599LU) +); +} + +/* SubscribedDataSetMirrorDataType - ns=0;i=15635 */ + +static UA_StatusCode function_namespace0_generated_140_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15635LU), +UA_NODEID_NUMERIC(ns[0], 15630LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_140_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15635LU) +); +} + +/* TargetVariablesDataType - ns=0;i=15631 */ + +static UA_StatusCode function_namespace0_generated_141_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15631LU), +UA_NODEID_NUMERIC(ns[0], 15630LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TargetVariablesDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_141_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15631LU) +); +} + +/* DataSetReaderMessageDataType - ns=0;i=15629 */ + +static UA_StatusCode function_namespace0_generated_142_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15629LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_142_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15629LU) +); +} + +/* JsonDataSetReaderMessageDataType - ns=0;i=15665 */ + +static UA_StatusCode function_namespace0_generated_143_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15665LU), +UA_NODEID_NUMERIC(ns[0], 15629LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_143_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15665LU) +); +} + +/* UadpDataSetReaderMessageDataType - ns=0;i=15653 */ + +static UA_StatusCode function_namespace0_generated_144_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15653LU), +UA_NODEID_NUMERIC(ns[0], 15629LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_144_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15653LU) +); +} + +/* DataSetReaderTransportDataType - ns=0;i=15628 */ + +static UA_StatusCode function_namespace0_generated_145_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15628LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_145_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15628LU) +); +} + +/* DatagramDataSetReaderTransportDataType - ns=0;i=23614 */ + +static UA_StatusCode function_namespace0_generated_146_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23614LU), +UA_NODEID_NUMERIC(ns[0], 15628LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_146_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23614LU) +); +} + +/* BrokerDataSetReaderTransportDataType - ns=0;i=15670 */ + +static UA_StatusCode function_namespace0_generated_147_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15670LU), +UA_NODEID_NUMERIC(ns[0], 15628LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_147_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15670LU) +); +} + +/* DataSetReaderDataType - ns=0;i=15623 */ + +static UA_StatusCode function_namespace0_generated_148_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15623LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_148_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15623LU) +); +} + +/* ReaderGroupMessageDataType - ns=0;i=15622 */ + +static UA_StatusCode function_namespace0_generated_149_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15622LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_149_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15622LU) +); +} + +/* ReaderGroupTransportDataType - ns=0;i=15621 */ + +static UA_StatusCode function_namespace0_generated_150_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15621LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_150_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15621LU) +); +} + +/* ConnectionTransportDataType - ns=0;i=15618 */ + +static UA_StatusCode function_namespace0_generated_151_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15618LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_151_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15618LU) +); +} + +/* DatagramConnectionTransportDataType - ns=0;i=17467 */ + +static UA_StatusCode function_namespace0_generated_152_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 17467LU), +UA_NODEID_NUMERIC(ns[0], 15618LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_152_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17467LU) +); +} + +/* DatagramConnectionTransport2DataType - ns=0;i=23612 */ + +static UA_StatusCode function_namespace0_generated_153_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransport2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23612LU), +UA_NODEID_NUMERIC(ns[0], 17467LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransport2DataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_153_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23612LU) +); +} + +/* BrokerConnectionTransportDataType - ns=0;i=15007 */ + +static UA_StatusCode function_namespace0_generated_154_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15007LU), +UA_NODEID_NUMERIC(ns[0], 15618LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_154_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15007LU) +); +} + +/* PubSubConnectionDataType - ns=0;i=15617 */ + +static UA_StatusCode function_namespace0_generated_155_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15617LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConnectionDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_155_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15617LU) +); +} + +/* WriterGroupMessageDataType - ns=0;i=15616 */ + +static UA_StatusCode function_namespace0_generated_156_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15616LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_156_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15616LU) +); +} + +/* JsonWriterGroupMessageDataType - ns=0;i=15657 */ + +static UA_StatusCode function_namespace0_generated_157_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15657LU), +UA_NODEID_NUMERIC(ns[0], 15616LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_157_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15657LU) +); +} + +/* UadpWriterGroupMessageDataType - ns=0;i=15645 */ + +static UA_StatusCode function_namespace0_generated_158_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15645LU), +UA_NODEID_NUMERIC(ns[0], 15616LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_158_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15645LU) +); +} + +/* WriterGroupTransportDataType - ns=0;i=15611 */ + +static UA_StatusCode function_namespace0_generated_159_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15611LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_159_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15611LU) +); +} + +/* BrokerWriterGroupTransportDataType - ns=0;i=15667 */ + +static UA_StatusCode function_namespace0_generated_160_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15667LU), +UA_NODEID_NUMERIC(ns[0], 15611LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_160_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15667LU) +); +} + +/* DatagramWriterGroupTransportDataType - ns=0;i=15532 */ + +static UA_StatusCode function_namespace0_generated_161_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15532LU), +UA_NODEID_NUMERIC(ns[0], 15611LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_161_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15532LU) +); +} + +/* DatagramWriterGroupTransport2DataType - ns=0;i=23613 */ + +static UA_StatusCode function_namespace0_generated_162_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransport2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23613LU), +UA_NODEID_NUMERIC(ns[0], 15532LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransport2DataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_162_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23613LU) +); +} + +/* PubSubGroupDataType - ns=0;i=15609 */ + +static UA_StatusCode function_namespace0_generated_163_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15609LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubGroupDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_163_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15609LU) +); +} + +/* ReaderGroupDataType - ns=0;i=15520 */ + +static UA_StatusCode function_namespace0_generated_164_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15520LU), +UA_NODEID_NUMERIC(ns[0], 15609LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_164_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15520LU) +); +} + +/* WriterGroupDataType - ns=0;i=15480 */ + +static UA_StatusCode function_namespace0_generated_165_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15480LU), +UA_NODEID_NUMERIC(ns[0], 15609LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_165_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15480LU) +); +} + +/* DataSetWriterMessageDataType - ns=0;i=15605 */ + +static UA_StatusCode function_namespace0_generated_166_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15605LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_166_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15605LU) +); +} + +/* JsonDataSetWriterMessageDataType - ns=0;i=15664 */ + +static UA_StatusCode function_namespace0_generated_167_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15664LU), +UA_NODEID_NUMERIC(ns[0], 15605LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_167_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15664LU) +); +} + +/* UadpDataSetWriterMessageDataType - ns=0;i=15652 */ + +static UA_StatusCode function_namespace0_generated_168_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15652LU), +UA_NODEID_NUMERIC(ns[0], 15605LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_168_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15652LU) +); +} + +/* DataSetWriterTransportDataType - ns=0;i=15598 */ + +static UA_StatusCode function_namespace0_generated_169_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15598LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_169_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15598LU) +); +} + +/* BrokerDataSetWriterTransportDataType - ns=0;i=15669 */ + +static UA_StatusCode function_namespace0_generated_170_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15669LU), +UA_NODEID_NUMERIC(ns[0], 15598LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_170_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15669LU) +); +} + +/* DataSetWriterDataType - ns=0;i=15597 */ + +static UA_StatusCode function_namespace0_generated_171_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15597LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_171_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15597LU) +); +} + +/* PublishedDataSetSourceDataType - ns=0;i=15580 */ + +static UA_StatusCode function_namespace0_generated_172_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetSourceDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15580LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetSourceDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_172_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15580LU) +); +} + +/* PublishedDataSetCustomSourceDataType - ns=0;i=25269 */ + +static UA_StatusCode function_namespace0_generated_173_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetCustomSourceDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25269LU), +UA_NODEID_NUMERIC(ns[0], 15580LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetCustomSourceDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_173_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25269LU) +); +} + +/* PublishedEventsDataType - ns=0;i=15582 */ + +static UA_StatusCode function_namespace0_generated_174_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15582LU), +UA_NODEID_NUMERIC(ns[0], 15580LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedEventsDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_174_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15582LU) +); +} + +/* PublishedDataItemsDataType - ns=0;i=15581 */ + +static UA_StatusCode function_namespace0_generated_175_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15581LU), +UA_NODEID_NUMERIC(ns[0], 15580LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_175_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15581LU) +); +} + +/* PublishedDataSetDataType - ns=0;i=15578 */ + +static UA_StatusCode function_namespace0_generated_176_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15578LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_176_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15578LU) +); +} + +/* DataTypeSchemaHeader - ns=0;i=15534 */ + +static UA_StatusCode function_namespace0_generated_177_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSchemaHeader"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15534LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeSchemaHeader"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_177_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15534LU) +); +} + +/* UABinaryFileDataType - ns=0;i=15006 */ + +static UA_StatusCode function_namespace0_generated_178_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UABinaryFileDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15006LU), +UA_NODEID_NUMERIC(ns[0], 15534LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UABinaryFileDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_178_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15006LU) +); +} + +/* DataSetMetaDataType - ns=0;i=14523 */ + +static UA_StatusCode function_namespace0_generated_179_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14523LU), +UA_NODEID_NUMERIC(ns[0], 15534LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_179_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14523LU) +); +} + +/* PubSubConfigurationDataType - ns=0;i=15530 */ + +static UA_StatusCode function_namespace0_generated_180_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15530LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_180_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15530LU) +); +} + +/* PubSubConfiguration2DataType - ns=0;i=23602 */ + +static UA_StatusCode function_namespace0_generated_181_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23602LU), +UA_NODEID_NUMERIC(ns[0], 15530LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration2DataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_181_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23602LU) +); +} + +/* EndpointType - ns=0;i=15528 */ + +static UA_StatusCode function_namespace0_generated_182_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15528LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EndpointType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_182_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15528LU) +); +} + +/* NetworkAddressDataType - ns=0;i=15502 */ + +static UA_StatusCode function_namespace0_generated_183_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15502LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_183_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15502LU) +); +} + +/* NetworkAddressUrlDataType - ns=0;i=15510 */ + +static UA_StatusCode function_namespace0_generated_184_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15510LU), +UA_NODEID_NUMERIC(ns[0], 15502LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_184_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15510LU) +); +} + +/* FieldTargetDataType - ns=0;i=14744 */ + +static UA_StatusCode function_namespace0_generated_185_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FieldTargetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14744LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FieldTargetDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_185_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14744LU) +); +} + +/* ConfigurationVersionDataType - ns=0;i=14593 */ + +static UA_StatusCode function_namespace0_generated_186_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14593LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersionDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_186_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14593LU) +); +} + +/* KeyValuePair - ns=0;i=14533 */ + +static UA_StatusCode function_namespace0_generated_187_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyValuePair"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14533LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "KeyValuePair"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_187_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14533LU) +); +} + +/* DataTypeDescription - ns=0;i=14525 */ + +static UA_StatusCode function_namespace0_generated_188_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14525LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_188_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14525LU) +); +} + +/* EnumDescription - ns=0;i=15488 */ + +static UA_StatusCode function_namespace0_generated_189_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15488LU), +UA_NODEID_NUMERIC(ns[0], 14525LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EnumDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_189_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15488LU) +); +} + +/* StructureDescription - ns=0;i=15487 */ + +static UA_StatusCode function_namespace0_generated_190_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StructureDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15487LU), +UA_NODEID_NUMERIC(ns[0], 14525LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StructureDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_190_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15487LU) +); +} + +/* SimpleTypeDescription - ns=0;i=15005 */ + +static UA_StatusCode function_namespace0_generated_191_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SimpleTypeDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15005LU), +UA_NODEID_NUMERIC(ns[0], 14525LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SimpleTypeDescription"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_191_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15005LU) +); +} + +/* FieldMetaData - ns=0;i=14524 */ + +static UA_StatusCode function_namespace0_generated_192_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FieldMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14524LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FieldMetaData"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_192_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14524LU) +); +} + +/* PublishedVariableDataType - ns=0;i=14273 */ + +static UA_StatusCode function_namespace0_generated_193_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedVariableDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14273LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedVariableDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_193_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14273LU) +); +} + +/* DiscoveryConfiguration - ns=0;i=12890 */ + +static UA_StatusCode function_namespace0_generated_194_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12890LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryConfiguration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_194_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12890LU) +); +} + +/* MdnsDiscoveryConfiguration - ns=0;i=12891 */ + +static UA_StatusCode function_namespace0_generated_195_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MdnsDiscoveryConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12891LU), +UA_NODEID_NUMERIC(ns[0], 12890LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MdnsDiscoveryConfiguration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_195_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12891LU) +); +} + +/* Union - ns=0;i=12756 */ + +static UA_StatusCode function_namespace0_generated_196_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Union"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12756LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Union"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_196_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12756LU) +); +} + +/* OptionSet - ns=0;i=12755 */ + +static UA_StatusCode function_namespace0_generated_197_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12755LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OptionSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_197_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12755LU) +); +} + +/* TrustListDataType - ns=0;i=12554 */ + +static UA_StatusCode function_namespace0_generated_198_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12554LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_198_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12554LU) +); +} + +/* ServerOnNetwork - ns=0;i=12189 */ + +static UA_StatusCode function_namespace0_generated_199_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerOnNetwork"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12189LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerOnNetwork"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_199_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12189LU) +); +} + +/* DoubleComplexNumberType - ns=0;i=12172 */ + +static UA_StatusCode function_namespace0_generated_200_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DoubleComplexNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12172LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DoubleComplexNumberType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_200_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12172LU) +); +} + +/* ComplexNumberType - ns=0;i=12171 */ + +static UA_StatusCode function_namespace0_generated_201_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ComplexNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12171LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ComplexNumberType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_201_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12171LU) +); +} + +/* XVType - ns=0;i=12080 */ + +static UA_StatusCode function_namespace0_generated_202_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "XVType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12080LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "XVType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_202_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12080LU) +); +} + +/* AxisInformation - ns=0;i=12079 */ + +static UA_StatusCode function_namespace0_generated_203_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AxisInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12079LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AxisInformation"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_203_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12079LU) +); +} + +/* NetworkGroupDataType - ns=0;i=11944 */ + +static UA_StatusCode function_namespace0_generated_204_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11944LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NetworkGroupDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_204_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11944LU) +); +} + +/* EndpointUrlListDataType - ns=0;i=11943 */ + +static UA_StatusCode function_namespace0_generated_205_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrlListDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11943LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrlListDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_205_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11943LU) +); +} + +/* StructureField - ns=0;i=101 */ + +static UA_StatusCode function_namespace0_generated_206_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StructureField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 101LU), +UA_NODEID_NUMERIC(ns[0], 22LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StructureField"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_206_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 101LU) +); +} + +/* LocalizedText - ns=0;i=21 */ + +static UA_StatusCode function_namespace0_generated_207_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LocalizedText"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 21LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "LocalizedText"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_207_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21LU) +); +} + +/* QualifiedName - ns=0;i=20 */ + +static UA_StatusCode function_namespace0_generated_208_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "QualifiedName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 20LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "QualifiedName"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_208_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20LU) +); +} + +/* StatusCode - ns=0;i=19 */ + +static UA_StatusCode function_namespace0_generated_209_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StatusCode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 19LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StatusCode"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_209_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19LU) +); +} + +/* ExpandedNodeId - ns=0;i=18 */ + +static UA_StatusCode function_namespace0_generated_210_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExpandedNodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 18LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExpandedNodeId"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_210_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18LU) +); +} + +/* NodeId - ns=0;i=17 */ + +static UA_StatusCode function_namespace0_generated_211_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 17LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NodeId"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_211_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17LU) +); +} + +/* SessionAuthenticationToken - ns=0;i=388 */ + +static UA_StatusCode function_namespace0_generated_212_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionAuthenticationToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 388LU), +UA_NODEID_NUMERIC(ns[0], 17LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionAuthenticationToken"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_212_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 388LU) +); +} + +/* XmlElement - ns=0;i=16 */ + +static UA_StatusCode function_namespace0_generated_213_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "XmlElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 16LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "XmlElement"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_213_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16LU) +); +} + +/* ByteString - ns=0;i=15 */ + +static UA_StatusCode function_namespace0_generated_214_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ByteString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ByteString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_214_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15LU) +); +} + +/* ContinuationPoint - ns=0;i=521 */ + +static UA_StatusCode function_namespace0_generated_215_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ContinuationPoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 521LU), +UA_NODEID_NUMERIC(ns[0], 15LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ContinuationPoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_215_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 521LU) +); +} + +/* ApplicationInstanceCertificate - ns=0;i=311 */ + +static UA_StatusCode function_namespace0_generated_216_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationInstanceCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 311LU), +UA_NODEID_NUMERIC(ns[0], 15LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationInstanceCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_216_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 311LU) +); +} + +/* Image - ns=0;i=30 */ + +static UA_StatusCode function_namespace0_generated_217_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Image"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 30LU), +UA_NODEID_NUMERIC(ns[0], 15LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Image"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_217_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 30LU) +); +} + +/* ImagePNG - ns=0;i=2003 */ + +static UA_StatusCode function_namespace0_generated_218_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ImagePNG"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 2003LU), +UA_NODEID_NUMERIC(ns[0], 30LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ImagePNG"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_218_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2003LU) +); +} + +/* ImageJPG - ns=0;i=2002 */ + +static UA_StatusCode function_namespace0_generated_219_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ImageJPG"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 2002LU), +UA_NODEID_NUMERIC(ns[0], 30LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ImageJPG"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_219_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2002LU) +); +} + +/* ImageGIF - ns=0;i=2001 */ + +static UA_StatusCode function_namespace0_generated_220_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ImageGIF"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 2001LU), +UA_NODEID_NUMERIC(ns[0], 30LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ImageGIF"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_220_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2001LU) +); +} + +/* ImageBMP - ns=0;i=2000 */ + +static UA_StatusCode function_namespace0_generated_221_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ImageBMP"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 2000LU), +UA_NODEID_NUMERIC(ns[0], 30LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ImageBMP"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_221_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2000LU) +); +} + +/* AudioDataType - ns=0;i=16307 */ + +static UA_StatusCode function_namespace0_generated_222_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AudioDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 16307LU), +UA_NODEID_NUMERIC(ns[0], 15LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AudioDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_222_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16307LU) +); +} + +/* Guid - ns=0;i=14 */ + +static UA_StatusCode function_namespace0_generated_223_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Guid"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Guid"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_223_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14LU) +); +} + +/* DateTime - ns=0;i=13 */ + +static UA_StatusCode function_namespace0_generated_224_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 13LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DateTime"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_224_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13LU) +); +} + +/* UtcTime - ns=0;i=294 */ + +static UA_StatusCode function_namespace0_generated_225_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UtcTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 294LU), +UA_NODEID_NUMERIC(ns[0], 13LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UtcTime"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_225_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 294LU) +); +} + +/* String - ns=0;i=12 */ + +static UA_StatusCode function_namespace0_generated_226_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "String"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "String"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_226_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12LU) +); +} + +/* TrimmedString - ns=0;i=31918 */ + +static UA_StatusCode function_namespace0_generated_227_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrimmedString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 31918LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrimmedString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_227_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31918LU) +); +} + +/* LocaleId - ns=0;i=295 */ + +static UA_StatusCode function_namespace0_generated_228_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 295LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "LocaleId"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_228_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 295LU) +); +} + +/* NumericRange - ns=0;i=291 */ + +static UA_StatusCode function_namespace0_generated_229_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NumericRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 291LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NumericRange"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_229_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 291LU) +); +} + +/* EncodedTicket - ns=0;i=25726 */ + +static UA_StatusCode function_namespace0_generated_230_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EncodedTicket"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25726LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EncodedTicket"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_230_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25726LU) +); +} + +/* SemanticVersionString - ns=0;i=24263 */ + +static UA_StatusCode function_namespace0_generated_231_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SemanticVersionString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24263LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SemanticVersionString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_231_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24263LU) +); +} + +/* UriString - ns=0;i=23751 */ + +static UA_StatusCode function_namespace0_generated_232_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UriString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23751LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UriString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_232_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23751LU) +); +} + +/* DateString - ns=0;i=12881 */ + +static UA_StatusCode function_namespace0_generated_233_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DateString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12881LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DateString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_233_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12881LU) +); +} + +/* TimeString - ns=0;i=12880 */ + +static UA_StatusCode function_namespace0_generated_234_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimeString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12880LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TimeString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_234_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12880LU) +); +} + +/* DurationString - ns=0;i=12879 */ + +static UA_StatusCode function_namespace0_generated_235_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DurationString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12879LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DurationString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_235_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12879LU) +); +} + +/* DecimalString - ns=0;i=12878 */ + +static UA_StatusCode function_namespace0_generated_236_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DecimalString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12878LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DecimalString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_236_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12878LU) +); +} + +/* NormalizedString - ns=0;i=12877 */ + +static UA_StatusCode function_namespace0_generated_237_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NormalizedString"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12877LU), +UA_NODEID_NUMERIC(ns[0], 12LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NormalizedString"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_237_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12877LU) +); +} + +/* Boolean - ns=0;i=1 */ + +static UA_StatusCode function_namespace0_generated_238_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Boolean"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 1LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Boolean"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_238_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 1LU) +); +} + +/* Enumeration - ns=0;i=29 */ + +static UA_StatusCode function_namespace0_generated_239_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Enumeration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Enumeration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_239_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 29LU) +); +} + +/* StructureType - ns=0;i=98 */ + +static UA_StatusCode function_namespace0_generated_240_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StructureType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 98LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StructureType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_240_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 98LU) +); +} + +/* EnumStrings - ns=0;i=14528 */ + +static UA_StatusCode function_namespace0_generated_241_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_14528_variant_DataContents[5]; +variablenode_ns_0_i_14528_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Structure"); +variablenode_ns_0_i_14528_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "StructureWithOptionalFields"); +variablenode_ns_0_i_14528_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Union"); +variablenode_ns_0_i_14528_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "StructureWithSubtypedValues"); +variablenode_ns_0_i_14528_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "UnionWithSubtypedValues"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14528_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14528LU), +UA_NODEID_NUMERIC(ns[0], 98LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_241_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14528LU) +); +} + +/* ExceptionDeviationFormat - ns=0;i=890 */ + +static UA_StatusCode function_namespace0_generated_242_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExceptionDeviationFormat"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 890LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExceptionDeviationFormat"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_242_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 890LU) +); +} + +/* EnumStrings - ns=0;i=7614 */ + +static UA_StatusCode function_namespace0_generated_243_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7614_variant_DataContents[5]; +variablenode_ns_0_i_7614_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "AbsoluteValue"); +variablenode_ns_0_i_7614_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "PercentOfValue"); +variablenode_ns_0_i_7614_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "PercentOfRange"); +variablenode_ns_0_i_7614_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "PercentOfEURange"); +variablenode_ns_0_i_7614_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Unknown"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7614_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7614LU), +UA_NODEID_NUMERIC(ns[0], 890LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_243_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7614LU) +); +} + +/* ServerState - ns=0;i=852 */ + +static UA_StatusCode function_namespace0_generated_244_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 852LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_244_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 852LU) +); +} + +/* EnumStrings - ns=0;i=7612 */ + +static UA_StatusCode function_namespace0_generated_245_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 8; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7612_variant_DataContents[8]; +variablenode_ns_0_i_7612_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Running"); +variablenode_ns_0_i_7612_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Failed"); +variablenode_ns_0_i_7612_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "NoConfiguration"); +variablenode_ns_0_i_7612_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Suspended"); +variablenode_ns_0_i_7612_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Shutdown"); +variablenode_ns_0_i_7612_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "Test"); +variablenode_ns_0_i_7612_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "CommunicationFault"); +variablenode_ns_0_i_7612_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Unknown"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7612_variant_DataContents, (UA_Int32) 8, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7612LU), +UA_NODEID_NUMERIC(ns[0], 852LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_245_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7612LU) +); +} + +/* RedundancySupport - ns=0;i=851 */ + +static UA_StatusCode function_namespace0_generated_246_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 851LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_246_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 851LU) +); +} + +/* EnumStrings - ns=0;i=7611 */ + +static UA_StatusCode function_namespace0_generated_247_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7611_variant_DataContents[6]; +variablenode_ns_0_i_7611_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "None"); +variablenode_ns_0_i_7611_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Cold"); +variablenode_ns_0_i_7611_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Warm"); +variablenode_ns_0_i_7611_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Hot"); +variablenode_ns_0_i_7611_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Transparent"); +variablenode_ns_0_i_7611_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "HotAndMirrored"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7611_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7611LU), +UA_NODEID_NUMERIC(ns[0], 851LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_247_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7611LU) +); +} + +/* FilterOperator - ns=0;i=576 */ + +static UA_StatusCode function_namespace0_generated_248_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperator"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 576LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FilterOperator"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_248_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 576LU) +); +} + +/* EnumStrings - ns=0;i=7605 */ + +static UA_StatusCode function_namespace0_generated_249_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 18; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7605_variant_DataContents[18]; +variablenode_ns_0_i_7605_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Equals"); +variablenode_ns_0_i_7605_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "IsNull"); +variablenode_ns_0_i_7605_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "GreaterThan"); +variablenode_ns_0_i_7605_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "LessThan"); +variablenode_ns_0_i_7605_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "GreaterThanOrEqual"); +variablenode_ns_0_i_7605_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "LessThanOrEqual"); +variablenode_ns_0_i_7605_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "Like"); +variablenode_ns_0_i_7605_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Not"); +variablenode_ns_0_i_7605_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "Between"); +variablenode_ns_0_i_7605_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "InList"); +variablenode_ns_0_i_7605_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "And"); +variablenode_ns_0_i_7605_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "Or"); +variablenode_ns_0_i_7605_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "Cast"); +variablenode_ns_0_i_7605_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "InView"); +variablenode_ns_0_i_7605_variant_DataContents[14] = UA_LOCALIZEDTEXT("", "OfType"); +variablenode_ns_0_i_7605_variant_DataContents[15] = UA_LOCALIZEDTEXT("", "RelatedTo"); +variablenode_ns_0_i_7605_variant_DataContents[16] = UA_LOCALIZEDTEXT("", "BitwiseAnd"); +variablenode_ns_0_i_7605_variant_DataContents[17] = UA_LOCALIZEDTEXT("", "BitwiseOr"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7605_variant_DataContents, (UA_Int32) 18, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7605LU), +UA_NODEID_NUMERIC(ns[0], 576LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_249_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7605LU) +); +} + +/* NodeAttributesMask - ns=0;i=348 */ + +static UA_StatusCode function_namespace0_generated_250_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NodeAttributesMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 348LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NodeAttributesMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_250_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 348LU) +); +} + +/* EnumValues - ns=0;i=11881 */ + +static UA_StatusCode function_namespace0_generated_251_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 35; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_11881_variant_DataContents[35]; + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_11881_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_11881_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "AccessLevel"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_11881_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "ArrayDimensions"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[3].value = (UA_Int64) 4; +variablenode_ns_0_i_11881_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "BrowseName"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[4].value = (UA_Int64) 8; +variablenode_ns_0_i_11881_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "ContainsNoLoops"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[5].value = (UA_Int64) 16; +variablenode_ns_0_i_11881_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "DataType"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[6].value = (UA_Int64) 32; +variablenode_ns_0_i_11881_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "Description"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[7].value = (UA_Int64) 64; +variablenode_ns_0_i_11881_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "DisplayName"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[8], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[8].value = (UA_Int64) 128; +variablenode_ns_0_i_11881_variant_DataContents[8].displayName = UA_LOCALIZEDTEXT("", "EventNotifier"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[9], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[9].value = (UA_Int64) 256; +variablenode_ns_0_i_11881_variant_DataContents[9].displayName = UA_LOCALIZEDTEXT("", "Executable"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[10], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[10].value = (UA_Int64) 512; +variablenode_ns_0_i_11881_variant_DataContents[10].displayName = UA_LOCALIZEDTEXT("", "Historizing"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[11], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[11].value = (UA_Int64) 1024; +variablenode_ns_0_i_11881_variant_DataContents[11].displayName = UA_LOCALIZEDTEXT("", "InverseName"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[12], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[12].value = (UA_Int64) 2048; +variablenode_ns_0_i_11881_variant_DataContents[12].displayName = UA_LOCALIZEDTEXT("", "IsAbstract"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[13], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[13].value = (UA_Int64) 4096; +variablenode_ns_0_i_11881_variant_DataContents[13].displayName = UA_LOCALIZEDTEXT("", "MinimumSamplingInterval"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[14], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[14].value = (UA_Int64) 8192; +variablenode_ns_0_i_11881_variant_DataContents[14].displayName = UA_LOCALIZEDTEXT("", "NodeClass"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[15], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[15].value = (UA_Int64) 16384; +variablenode_ns_0_i_11881_variant_DataContents[15].displayName = UA_LOCALIZEDTEXT("", "NodeId"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[16], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[16].value = (UA_Int64) 32768; +variablenode_ns_0_i_11881_variant_DataContents[16].displayName = UA_LOCALIZEDTEXT("", "Symmetric"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[17], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[17].value = (UA_Int64) 65536; +variablenode_ns_0_i_11881_variant_DataContents[17].displayName = UA_LOCALIZEDTEXT("", "UserAccessLevel"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[18], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[18].value = (UA_Int64) 131072; +variablenode_ns_0_i_11881_variant_DataContents[18].displayName = UA_LOCALIZEDTEXT("", "UserExecutable"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[19], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[19].value = (UA_Int64) 262144; +variablenode_ns_0_i_11881_variant_DataContents[19].displayName = UA_LOCALIZEDTEXT("", "UserWriteMask"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[20], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[20].value = (UA_Int64) 524288; +variablenode_ns_0_i_11881_variant_DataContents[20].displayName = UA_LOCALIZEDTEXT("", "ValueRank"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[21], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[21].value = (UA_Int64) 1048576; +variablenode_ns_0_i_11881_variant_DataContents[21].displayName = UA_LOCALIZEDTEXT("", "WriteMask"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[22], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[22].value = (UA_Int64) 2097152; +variablenode_ns_0_i_11881_variant_DataContents[22].displayName = UA_LOCALIZEDTEXT("", "Value"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[23], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[23].value = (UA_Int64) 4194304; +variablenode_ns_0_i_11881_variant_DataContents[23].displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[24], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[24].value = (UA_Int64) 8388608; +variablenode_ns_0_i_11881_variant_DataContents[24].displayName = UA_LOCALIZEDTEXT("", "RolePermissions"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[25], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[25].value = (UA_Int64) 16777216; +variablenode_ns_0_i_11881_variant_DataContents[25].displayName = UA_LOCALIZEDTEXT("", "AccessRestrictions"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[26], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[26].value = (UA_Int64) 33554431; +variablenode_ns_0_i_11881_variant_DataContents[26].displayName = UA_LOCALIZEDTEXT("", "All"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[27], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[27].value = (UA_Int64) 26501220; +variablenode_ns_0_i_11881_variant_DataContents[27].displayName = UA_LOCALIZEDTEXT("", "BaseNode"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[28], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[28].value = (UA_Int64) 26501348; +variablenode_ns_0_i_11881_variant_DataContents[28].displayName = UA_LOCALIZEDTEXT("", "Object"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[29], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[29].value = (UA_Int64) 26503268; +variablenode_ns_0_i_11881_variant_DataContents[29].displayName = UA_LOCALIZEDTEXT("", "ObjectType"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[30], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[30].value = (UA_Int64) 26571383; +variablenode_ns_0_i_11881_variant_DataContents[30].displayName = UA_LOCALIZEDTEXT("", "Variable"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[31], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[31].value = (UA_Int64) 28600438; +variablenode_ns_0_i_11881_variant_DataContents[31].displayName = UA_LOCALIZEDTEXT("", "VariableType"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[32], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[32].value = (UA_Int64) 26632548; +variablenode_ns_0_i_11881_variant_DataContents[32].displayName = UA_LOCALIZEDTEXT("", "Method"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[33], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[33].value = (UA_Int64) 26537060; +variablenode_ns_0_i_11881_variant_DataContents[33].displayName = UA_LOCALIZEDTEXT("", "ReferenceType"); + +UA_init(&variablenode_ns_0_i_11881_variant_DataContents[34], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11881_variant_DataContents[34].value = (UA_Int64) 26501356; +variablenode_ns_0_i_11881_variant_DataContents[34].displayName = UA_LOCALIZEDTEXT("", "View"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11881_variant_DataContents, (UA_Int32) 35, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11881LU), +UA_NODEID_NUMERIC(ns[0], 348LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_251_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11881LU) +); +} + +/* SecurityTokenRequestType - ns=0;i=315 */ + +static UA_StatusCode function_namespace0_generated_252_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityTokenRequestType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 315LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SecurityTokenRequestType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_252_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 315LU) +); +} + +/* EnumStrings - ns=0;i=7598 */ + +static UA_StatusCode function_namespace0_generated_253_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7598_variant_DataContents[2]; +variablenode_ns_0_i_7598_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Issue"); +variablenode_ns_0_i_7598_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Renew"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7598_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7598LU), +UA_NODEID_NUMERIC(ns[0], 315LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_253_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7598LU) +); +} + +/* ApplicationType - ns=0;i=307 */ + +static UA_StatusCode function_namespace0_generated_254_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 307LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_254_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 307LU) +); +} + +/* EnumStrings - ns=0;i=7597 */ + +static UA_StatusCode function_namespace0_generated_255_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7597_variant_DataContents[4]; +variablenode_ns_0_i_7597_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Server"); +variablenode_ns_0_i_7597_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Client"); +variablenode_ns_0_i_7597_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "ClientAndServer"); +variablenode_ns_0_i_7597_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "DiscoveryServer"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7597_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7597LU), +UA_NODEID_NUMERIC(ns[0], 307LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_255_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7597LU) +); +} + +/* UserTokenType - ns=0;i=303 */ + +static UA_StatusCode function_namespace0_generated_256_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 303LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserTokenType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_256_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 303LU) +); +} + +/* EnumStrings - ns=0;i=7596 */ + +static UA_StatusCode function_namespace0_generated_257_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7596_variant_DataContents[4]; +variablenode_ns_0_i_7596_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Anonymous"); +variablenode_ns_0_i_7596_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "UserName"); +variablenode_ns_0_i_7596_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Certificate"); +variablenode_ns_0_i_7596_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "IssuedToken"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7596_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7596LU), +UA_NODEID_NUMERIC(ns[0], 303LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_257_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7596LU) +); +} + +/* MessageSecurityMode - ns=0;i=302 */ + +static UA_StatusCode function_namespace0_generated_258_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 302LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MessageSecurityMode"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_258_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 302LU) +); +} + +/* EnumStrings - ns=0;i=7595 */ + +static UA_StatusCode function_namespace0_generated_259_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7595_variant_DataContents[4]; +variablenode_ns_0_i_7595_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Invalid"); +variablenode_ns_0_i_7595_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "None"); +variablenode_ns_0_i_7595_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Sign"); +variablenode_ns_0_i_7595_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SignAndEncrypt"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7595_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7595LU), +UA_NODEID_NUMERIC(ns[0], 302LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_259_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7595LU) +); +} + +/* NodeClass - ns=0;i=257 */ + +static UA_StatusCode function_namespace0_generated_260_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NodeClass"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 257LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NodeClass"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_260_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 257LU) +); +} + +/* EnumValues - ns=0;i=11878 */ + +static UA_StatusCode function_namespace0_generated_261_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 9; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_11878_variant_DataContents[9]; + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_11878_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Unspecified"); +variablenode_ns_0_i_11878_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No value is specified."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_11878_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Object"); +variablenode_ns_0_i_11878_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The Node is an Object."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_11878_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Variable"); +variablenode_ns_0_i_11878_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The Node is a Variable."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[3].value = (UA_Int64) 4; +variablenode_ns_0_i_11878_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Method"); +variablenode_ns_0_i_11878_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The Node is a Method."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[4].value = (UA_Int64) 8; +variablenode_ns_0_i_11878_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "ObjectType"); +variablenode_ns_0_i_11878_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The Node is an ObjectType."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[5].value = (UA_Int64) 16; +variablenode_ns_0_i_11878_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "VariableType"); +variablenode_ns_0_i_11878_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "The Node is a VariableType."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[6].value = (UA_Int64) 32; +variablenode_ns_0_i_11878_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "ReferenceType"); +variablenode_ns_0_i_11878_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "The Node is a ReferenceType."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[7].value = (UA_Int64) 64; +variablenode_ns_0_i_11878_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "DataType"); +variablenode_ns_0_i_11878_variant_DataContents[7].description = UA_LOCALIZEDTEXT("", "The Node is a DataType."); + +UA_init(&variablenode_ns_0_i_11878_variant_DataContents[8], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11878_variant_DataContents[8].value = (UA_Int64) 128; +variablenode_ns_0_i_11878_variant_DataContents[8].displayName = UA_LOCALIZEDTEXT("", "View"); +variablenode_ns_0_i_11878_variant_DataContents[8].description = UA_LOCALIZEDTEXT("", "The Node is a View."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11878_variant_DataContents, (UA_Int32) 9, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11878LU), +UA_NODEID_NUMERIC(ns[0], 257LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_261_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11878LU) +); +} + +/* IdType - ns=0;i=256 */ + +static UA_StatusCode function_namespace0_generated_262_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IdType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 256LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IdType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_262_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 256LU) +); +} + +/* EnumStrings - ns=0;i=7591 */ + +static UA_StatusCode function_namespace0_generated_263_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_7591_variant_DataContents[4]; +variablenode_ns_0_i_7591_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Numeric"); +variablenode_ns_0_i_7591_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "String"); +variablenode_ns_0_i_7591_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Guid"); +variablenode_ns_0_i_7591_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Opaque"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7591_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7591LU), +UA_NODEID_NUMERIC(ns[0], 256LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_263_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7591LU) +); +} + +/* TsnListenerStatus - ns=0;i=24224 */ + +static UA_StatusCode function_namespace0_generated_264_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TsnListenerStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24224LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TsnListenerStatus"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_264_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24224LU) +); +} + +/* EnumValues - ns=0;i=24242 */ + +static UA_StatusCode function_namespace0_generated_265_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24242_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_24242_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24242_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24242_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); +variablenode_ns_0_i_24242_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No Listener detected."); + +UA_init(&variablenode_ns_0_i_24242_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24242_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24242_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Ready"); +variablenode_ns_0_i_24242_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Listener ready (configured)."); + +UA_init(&variablenode_ns_0_i_24242_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24242_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24242_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "PartialFailed"); +variablenode_ns_0_i_24242_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "One or more Listeners ready, and one or more Listeners failed."); + +UA_init(&variablenode_ns_0_i_24242_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24242_variant_DataContents[3].value = (UA_Int64) 3; +variablenode_ns_0_i_24242_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Failed"); +variablenode_ns_0_i_24242_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "Listener failed."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24242_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24242LU), +UA_NODEID_NUMERIC(ns[0], 24224LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_265_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24242LU) +); +} + +/* TsnTalkerStatus - ns=0;i=24222 */ + +static UA_StatusCode function_namespace0_generated_266_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TsnTalkerStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24222LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TsnTalkerStatus"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_266_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24222LU) +); +} + +/* EnumValues - ns=0;i=24241 */ + +static UA_StatusCode function_namespace0_generated_267_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24241_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_24241_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24241_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24241_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); +variablenode_ns_0_i_24241_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No Talker detected."); + +UA_init(&variablenode_ns_0_i_24241_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24241_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24241_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Ready"); +variablenode_ns_0_i_24241_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Talker ready (configured)."); + +UA_init(&variablenode_ns_0_i_24241_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24241_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24241_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Failed"); +variablenode_ns_0_i_24241_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "Talker failed."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24241_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24241LU), +UA_NODEID_NUMERIC(ns[0], 24222LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_267_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24241LU) +); +} + +/* TsnStreamState - ns=0;i=24220 */ + +static UA_StatusCode function_namespace0_generated_268_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TsnStreamState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24220LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TsnStreamState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_268_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24220LU) +); +} + +/* EnumValues - ns=0;i=24240 */ + +static UA_StatusCode function_namespace0_generated_269_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24240_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_24240_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24240_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24240_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Disabled"); +variablenode_ns_0_i_24240_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The related TSN Stream is currently disabled."); + +UA_init(&variablenode_ns_0_i_24240_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24240_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24240_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Configuring"); +variablenode_ns_0_i_24240_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer."); + +UA_init(&variablenode_ns_0_i_24240_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24240_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24240_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Ready"); +variablenode_ns_0_i_24240_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid."); + +UA_init(&variablenode_ns_0_i_24240_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24240_variant_DataContents[3].value = (UA_Int64) 3; +variablenode_ns_0_i_24240_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Operational"); +variablenode_ns_0_i_24240_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid."); + +UA_init(&variablenode_ns_0_i_24240_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24240_variant_DataContents[4].value = (UA_Int64) 4; +variablenode_ns_0_i_24240_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "Error"); +variablenode_ns_0_i_24240_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The related TSN Stream object is in an error state."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24240_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24240LU), +UA_NODEID_NUMERIC(ns[0], 24220LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_269_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24240LU) +); +} + +/* TsnFailureCode - ns=0;i=24218 */ + +static UA_StatusCode function_namespace0_generated_270_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TsnFailureCode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24218LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TsnFailureCode"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_270_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24218LU) +); +} + +/* EnumValues - ns=0;i=24239 */ + +static UA_StatusCode function_namespace0_generated_271_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 26; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24239_variant_DataContents[26]; + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24239_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "NoFailure"); +variablenode_ns_0_i_24239_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No failure"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24239_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "InsufficientBandwidth"); +variablenode_ns_0_i_24239_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Insufficient bandwidth"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24239_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "InsufficientResources"); +variablenode_ns_0_i_24239_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "Insufficient bridge resources"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[3].value = (UA_Int64) 3; +variablenode_ns_0_i_24239_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "InsufficientTrafficClassBandwidth"); +variablenode_ns_0_i_24239_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "Insufficient bandwidth for Traffic Class"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[4].value = (UA_Int64) 4; +variablenode_ns_0_i_24239_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "StreamIdInUse"); +variablenode_ns_0_i_24239_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "StreamID in use by another Talker"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[5].value = (UA_Int64) 5; +variablenode_ns_0_i_24239_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "StreamDestinationAddressInUse"); +variablenode_ns_0_i_24239_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "Stream destination address already in use"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[6].value = (UA_Int64) 6; +variablenode_ns_0_i_24239_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "StreamPreemptedByHigherRank"); +variablenode_ns_0_i_24239_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "Stream pre-empted by higher rank"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[7].value = (UA_Int64) 7; +variablenode_ns_0_i_24239_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "LatencyHasChanged"); +variablenode_ns_0_i_24239_variant_DataContents[7].description = UA_LOCALIZEDTEXT("", "Reported latency has changed"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[8], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[8].value = (UA_Int64) 8; +variablenode_ns_0_i_24239_variant_DataContents[8].displayName = UA_LOCALIZEDTEXT("", "EgressPortNotAvbCapable"); +variablenode_ns_0_i_24239_variant_DataContents[8].description = UA_LOCALIZEDTEXT("", "Egress port is not AVBCapable"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[9], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[9].value = (UA_Int64) 9; +variablenode_ns_0_i_24239_variant_DataContents[9].displayName = UA_LOCALIZEDTEXT("", "UseDifferentDestinationAddress"); +variablenode_ns_0_i_24239_variant_DataContents[9].description = UA_LOCALIZEDTEXT("", "Use a different destination address"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[10], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[10].value = (UA_Int64) 10; +variablenode_ns_0_i_24239_variant_DataContents[10].displayName = UA_LOCALIZEDTEXT("", "OutOfMsrpResources"); +variablenode_ns_0_i_24239_variant_DataContents[10].description = UA_LOCALIZEDTEXT("", "Out of MSRP resources"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[11], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[11].value = (UA_Int64) 11; +variablenode_ns_0_i_24239_variant_DataContents[11].displayName = UA_LOCALIZEDTEXT("", "OutOfMmrpResources"); +variablenode_ns_0_i_24239_variant_DataContents[11].description = UA_LOCALIZEDTEXT("", "Out of MMRP resources"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[12], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[12].value = (UA_Int64) 12; +variablenode_ns_0_i_24239_variant_DataContents[12].displayName = UA_LOCALIZEDTEXT("", "CannotStoreDestinationAddress"); +variablenode_ns_0_i_24239_variant_DataContents[12].description = UA_LOCALIZEDTEXT("", "Cannot store destination address"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[13], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[13].value = (UA_Int64) 13; +variablenode_ns_0_i_24239_variant_DataContents[13].displayName = UA_LOCALIZEDTEXT("", "PriorityIsNotAnSrcClass"); +variablenode_ns_0_i_24239_variant_DataContents[13].description = UA_LOCALIZEDTEXT("", "Requested priority is not an SR Class priority"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[14], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[14].value = (UA_Int64) 14; +variablenode_ns_0_i_24239_variant_DataContents[14].displayName = UA_LOCALIZEDTEXT("", "MaxFrameSizeTooLarge"); +variablenode_ns_0_i_24239_variant_DataContents[14].description = UA_LOCALIZEDTEXT("", "MaxFrameSize is too large for media"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[15], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[15].value = (UA_Int64) 15; +variablenode_ns_0_i_24239_variant_DataContents[15].displayName = UA_LOCALIZEDTEXT("", "MaxFanInPortsLimitReached"); +variablenode_ns_0_i_24239_variant_DataContents[15].description = UA_LOCALIZEDTEXT("", "MaxFanInPorts limit has been reached"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[16], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[16].value = (UA_Int64) 16; +variablenode_ns_0_i_24239_variant_DataContents[16].displayName = UA_LOCALIZEDTEXT("", "FirstValueChangedForStreamId"); +variablenode_ns_0_i_24239_variant_DataContents[16].description = UA_LOCALIZEDTEXT("", "Changes in FirstValue for a registered StreamID"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[17], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[17].value = (UA_Int64) 17; +variablenode_ns_0_i_24239_variant_DataContents[17].displayName = UA_LOCALIZEDTEXT("", "VlanBlockedOnEgress"); +variablenode_ns_0_i_24239_variant_DataContents[17].description = UA_LOCALIZEDTEXT("", "VLAN is blocked on this egress port (Registration Forbidden)"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[18], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[18].value = (UA_Int64) 18; +variablenode_ns_0_i_24239_variant_DataContents[18].displayName = UA_LOCALIZEDTEXT("", "VlanTaggingDisabledOnEgress"); +variablenode_ns_0_i_24239_variant_DataContents[18].description = UA_LOCALIZEDTEXT("", "VLAN tagging is disabled on this egress port (untagged set)"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[19], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[19].value = (UA_Int64) 19; +variablenode_ns_0_i_24239_variant_DataContents[19].displayName = UA_LOCALIZEDTEXT("", "SrClassPriorityMismatch"); +variablenode_ns_0_i_24239_variant_DataContents[19].description = UA_LOCALIZEDTEXT("", "SR class priority mismatch"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[20], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[20].value = (UA_Int64) 20; +variablenode_ns_0_i_24239_variant_DataContents[20].displayName = UA_LOCALIZEDTEXT("", "FeatureNotPropagated"); +variablenode_ns_0_i_24239_variant_DataContents[20].description = UA_LOCALIZEDTEXT("", "Enhanced feature cannot be propagated to original Port"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[21], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[21].value = (UA_Int64) 21; +variablenode_ns_0_i_24239_variant_DataContents[21].displayName = UA_LOCALIZEDTEXT("", "MaxLatencyExceeded"); +variablenode_ns_0_i_24239_variant_DataContents[21].description = UA_LOCALIZEDTEXT("", "MaxLatency exceeded"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[22], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[22].value = (UA_Int64) 22; +variablenode_ns_0_i_24239_variant_DataContents[22].displayName = UA_LOCALIZEDTEXT("", "BridgeDoesNotProvideNetworkId"); +variablenode_ns_0_i_24239_variant_DataContents[22].description = UA_LOCALIZEDTEXT("", "Nearest Bridge cannot provide network identification for stream transformation"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[23], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[23].value = (UA_Int64) 23; +variablenode_ns_0_i_24239_variant_DataContents[23].displayName = UA_LOCALIZEDTEXT("", "StreamTransformNotSupported"); +variablenode_ns_0_i_24239_variant_DataContents[23].description = UA_LOCALIZEDTEXT("", "Stream transformation not supported"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[24], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[24].value = (UA_Int64) 24; +variablenode_ns_0_i_24239_variant_DataContents[24].displayName = UA_LOCALIZEDTEXT("", "StreamIdTypeNotSupported"); +variablenode_ns_0_i_24239_variant_DataContents[24].description = UA_LOCALIZEDTEXT("", "Stream identification type not supported for stream transformation"); + +UA_init(&variablenode_ns_0_i_24239_variant_DataContents[25], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24239_variant_DataContents[25].value = (UA_Int64) 25; +variablenode_ns_0_i_24239_variant_DataContents[25].displayName = UA_LOCALIZEDTEXT("", "FeatureNotSupported"); +variablenode_ns_0_i_24239_variant_DataContents[25].description = UA_LOCALIZEDTEXT("", "Enhanced feature cannot be supported without a CNC"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24239_variant_DataContents, (UA_Int32) 26, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24239LU), +UA_NODEID_NUMERIC(ns[0], 24218LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + + + + + + + + + + + + + + + + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_271_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24239LU) +); +} + +/* NegotiationStatus - ns=0;i=24216 */ + +static UA_StatusCode function_namespace0_generated_272_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NegotiationStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24216LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NegotiationStatus"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_272_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24216LU) +); +} + +/* EnumValues - ns=0;i=24238 */ + +static UA_StatusCode function_namespace0_generated_273_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24238_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_24238_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24238_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24238_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "InProgress"); +variablenode_ns_0_i_24238_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The auto-negotiation protocol is running and negotiation is currently in-progress."); + +UA_init(&variablenode_ns_0_i_24238_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24238_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24238_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Complete"); +variablenode_ns_0_i_24238_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The auto-negotiation protocol has completed successfully."); + +UA_init(&variablenode_ns_0_i_24238_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24238_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24238_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Failed"); +variablenode_ns_0_i_24238_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The auto-negotiation protocol has failed."); + +UA_init(&variablenode_ns_0_i_24238_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24238_variant_DataContents[3].value = (UA_Int64) 3; +variablenode_ns_0_i_24238_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Unknown"); +variablenode_ns_0_i_24238_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present)."); + +UA_init(&variablenode_ns_0_i_24238_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24238_variant_DataContents[4].value = (UA_Int64) 4; +variablenode_ns_0_i_24238_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "NoNegotiation"); +variablenode_ns_0_i_24238_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24238_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24238LU), +UA_NODEID_NUMERIC(ns[0], 24216LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_273_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24238LU) +); +} + +/* InterfaceOperStatus - ns=0;i=24214 */ + +static UA_StatusCode function_namespace0_generated_274_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceOperStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24214LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "InterfaceOperStatus"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_274_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24214LU) +); +} + +/* EnumValues - ns=0;i=24237 */ + +static UA_StatusCode function_namespace0_generated_275_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24237_variant_DataContents[7]; + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24237_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Up"); +variablenode_ns_0_i_24237_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "Ready to pass packets."); + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24237_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Down"); +variablenode_ns_0_i_24237_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The interface does not pass any packets."); + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24237_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Testing"); +variablenode_ns_0_i_24237_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "In some test mode. No operational packets can be passed."); + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[3].value = (UA_Int64) 3; +variablenode_ns_0_i_24237_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Unknown"); +variablenode_ns_0_i_24237_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "Status cannot be determined for some reason."); + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[4].value = (UA_Int64) 4; +variablenode_ns_0_i_24237_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "Dormant"); +variablenode_ns_0_i_24237_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "Waiting for some external event."); + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[5].value = (UA_Int64) 5; +variablenode_ns_0_i_24237_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "NotPresent"); +variablenode_ns_0_i_24237_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "Some component (typically hardware) is missing."); + +UA_init(&variablenode_ns_0_i_24237_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24237_variant_DataContents[6].value = (UA_Int64) 6; +variablenode_ns_0_i_24237_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "LowerLayerDown"); +variablenode_ns_0_i_24237_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "Down due to state of lower-layer interface(s)."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24237_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24237LU), +UA_NODEID_NUMERIC(ns[0], 24214LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_275_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24237LU) +); +} + +/* InterfaceAdminStatus - ns=0;i=24212 */ + +static UA_StatusCode function_namespace0_generated_276_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceAdminStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24212LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "InterfaceAdminStatus"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_276_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24212LU) +); +} + +/* EnumValues - ns=0;i=24236 */ + +static UA_StatusCode function_namespace0_generated_277_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24236_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_24236_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24236_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24236_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Up"); +variablenode_ns_0_i_24236_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "Ready to pass packets."); + +UA_init(&variablenode_ns_0_i_24236_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24236_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24236_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Down"); +variablenode_ns_0_i_24236_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Not ready to pass packets and not in some test mode."); + +UA_init(&variablenode_ns_0_i_24236_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24236_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24236_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Testing"); +variablenode_ns_0_i_24236_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "In some test mode."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24236_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24236LU), +UA_NODEID_NUMERIC(ns[0], 24212LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_277_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24236LU) +); +} + +/* Duplex - ns=0;i=24210 */ + +static UA_StatusCode function_namespace0_generated_278_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Duplex"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24210LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Duplex"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_278_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24210LU) +); +} + +/* EnumValues - ns=0;i=24235 */ + +static UA_StatusCode function_namespace0_generated_279_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_24235_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_24235_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24235_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_24235_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Full"); +variablenode_ns_0_i_24235_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "Full duplex."); + +UA_init(&variablenode_ns_0_i_24235_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24235_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_24235_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Half"); +variablenode_ns_0_i_24235_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Half duplex."); + +UA_init(&variablenode_ns_0_i_24235_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_24235_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_24235_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Unknown"); +variablenode_ns_0_i_24235_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "Link is currently disconnected or initializing."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24235_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24235LU), +UA_NODEID_NUMERIC(ns[0], 24210LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_279_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24235LU) +); +} + +/* DataSetOrderingType - ns=0;i=20408 */ + +static UA_StatusCode function_namespace0_generated_280_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOrderingType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 20408LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetOrderingType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_280_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20408LU) +); +} + +/* EnumStrings - ns=0;i=15641 */ + +static UA_StatusCode function_namespace0_generated_281_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15641_variant_DataContents[3]; +variablenode_ns_0_i_15641_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Undefined"); +variablenode_ns_0_i_15641_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "AscendingWriterId"); +variablenode_ns_0_i_15641_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "AscendingWriterIdSingle"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15641_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15641LU), +UA_NODEID_NUMERIC(ns[0], 20408LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_281_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15641LU) +); +} + +/* PubSubDiagnosticsCounterClassification - ns=0;i=19730 */ + +static UA_StatusCode function_namespace0_generated_282_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsCounterClassification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 19730LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsCounterClassification"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_282_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19730LU) +); +} + +/* EnumStrings - ns=0;i=19731 */ + +static UA_StatusCode function_namespace0_generated_283_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_19731_variant_DataContents[2]; +variablenode_ns_0_i_19731_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Information"); +variablenode_ns_0_i_19731_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Error"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19731_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19731LU), +UA_NODEID_NUMERIC(ns[0], 19730LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_283_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19731LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19723 */ + +static UA_StatusCode function_namespace0_generated_284_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 19723LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_284_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19723LU) +); +} + +/* EnumStrings - ns=0;i=19724 */ + +static UA_StatusCode function_namespace0_generated_285_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_19724_variant_DataContents[5]; +variablenode_ns_0_i_19724_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Basic"); +variablenode_ns_0_i_19724_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Advanced"); +variablenode_ns_0_i_19724_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Info"); +variablenode_ns_0_i_19724_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Log"); +variablenode_ns_0_i_19724_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Debug"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19724_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19724LU), +UA_NODEID_NUMERIC(ns[0], 19723LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_285_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19724LU) +); +} + +/* OverrideValueHandling - ns=0;i=15874 */ + +static UA_StatusCode function_namespace0_generated_286_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OverrideValueHandling"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15874LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OverrideValueHandling"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_286_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15874LU) +); +} + +/* EnumStrings - ns=0;i=15875 */ + +static UA_StatusCode function_namespace0_generated_287_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15875_variant_DataContents[3]; +variablenode_ns_0_i_15875_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Disabled"); +variablenode_ns_0_i_15875_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "LastUsableValue"); +variablenode_ns_0_i_15875_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "OverrideValue"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15875_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15875LU), +UA_NODEID_NUMERIC(ns[0], 15874LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_287_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15875LU) +); +} + +/* IdentityCriteriaType - ns=0;i=15632 */ + +static UA_StatusCode function_namespace0_generated_288_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IdentityCriteriaType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15632LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IdentityCriteriaType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_288_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15632LU) +); +} + +/* EnumValues - ns=0;i=15633 */ + +static UA_StatusCode function_namespace0_generated_289_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 8; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_15633_variant_DataContents[8]; + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[0].value = (UA_Int64) 1; +variablenode_ns_0_i_15633_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "UserName"); +variablenode_ns_0_i_15633_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The rule specifies a UserName from a UserNameIdentityToken."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[1].value = (UA_Int64) 2; +variablenode_ns_0_i_15633_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Thumbprint"); +variablenode_ns_0_i_15633_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The rule specifies the Thumbprint of a user or CA Certificate."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[2].value = (UA_Int64) 3; +variablenode_ns_0_i_15633_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Role"); +variablenode_ns_0_i_15633_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The rule is a Role specified in an Access Token."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[3].value = (UA_Int64) 4; +variablenode_ns_0_i_15633_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "GroupId"); +variablenode_ns_0_i_15633_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The rule is a user group specified in the Access Token."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[4].value = (UA_Int64) 5; +variablenode_ns_0_i_15633_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "Anonymous"); +variablenode_ns_0_i_15633_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The rule specifies Anonymous UserIdentityToken."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[5].value = (UA_Int64) 6; +variablenode_ns_0_i_15633_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "AuthenticatedUser"); +variablenode_ns_0_i_15633_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "The rule specifies any non Anonymous UserIdentityToken."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[6].value = (UA_Int64) 7; +variablenode_ns_0_i_15633_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "Application"); +variablenode_ns_0_i_15633_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "The rule specifies the combination of an application identity and an Anonymous UserIdentityToken."); + +UA_init(&variablenode_ns_0_i_15633_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_15633_variant_DataContents[7].value = (UA_Int64) 8; +variablenode_ns_0_i_15633_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "X509Subject"); +variablenode_ns_0_i_15633_variant_DataContents[7].description = UA_LOCALIZEDTEXT("", "The rule specifies the X509 subject name of a user or CA Certificate."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15633_variant_DataContents, (UA_Int32) 8, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15633LU), +UA_NODEID_NUMERIC(ns[0], 15632LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_289_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15633LU) +); +} + +/* BrokerTransportQualityOfService - ns=0;i=15008 */ + +static UA_StatusCode function_namespace0_generated_290_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerTransportQualityOfService"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15008LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerTransportQualityOfService"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_290_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15008LU) +); +} + +/* EnumStrings - ns=0;i=15009 */ + +static UA_StatusCode function_namespace0_generated_291_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15009_variant_DataContents[5]; +variablenode_ns_0_i_15009_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "NotSpecified"); +variablenode_ns_0_i_15009_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "BestEffort"); +variablenode_ns_0_i_15009_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "AtLeastOnce"); +variablenode_ns_0_i_15009_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "AtMostOnce"); +variablenode_ns_0_i_15009_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "ExactlyOnce"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15009_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15009LU), +UA_NODEID_NUMERIC(ns[0], 15008LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_291_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15009LU) +); +} + +/* PubSubState - ns=0;i=14647 */ + +static UA_StatusCode function_namespace0_generated_292_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 14647LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubState"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_292_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14647LU) +); +} + +/* EnumStrings - ns=0;i=14648 */ + +static UA_StatusCode function_namespace0_generated_293_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_14648_variant_DataContents[5]; +variablenode_ns_0_i_14648_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Disabled"); +variablenode_ns_0_i_14648_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Paused"); +variablenode_ns_0_i_14648_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Operational"); +variablenode_ns_0_i_14648_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Error"); +variablenode_ns_0_i_14648_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "PreOperational"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14648_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14648LU), +UA_NODEID_NUMERIC(ns[0], 14647LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_293_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14648LU) +); +} + +/* TrustListMasks - ns=0;i=12552 */ + +static UA_StatusCode function_namespace0_generated_294_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12552LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_294_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12552LU) +); +} + +/* EnumValues - ns=0;i=12553 */ + +static UA_StatusCode function_namespace0_generated_295_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_12553_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_12553_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12553_variant_DataContents[0].value = (UA_Int64) 0; +variablenode_ns_0_i_12553_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); +variablenode_ns_0_i_12553_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No fields are provided."); + +UA_init(&variablenode_ns_0_i_12553_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12553_variant_DataContents[1].value = (UA_Int64) 1; +variablenode_ns_0_i_12553_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "TrustedCertificates"); +variablenode_ns_0_i_12553_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The TrustedCertificates are provided."); + +UA_init(&variablenode_ns_0_i_12553_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12553_variant_DataContents[2].value = (UA_Int64) 2; +variablenode_ns_0_i_12553_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "TrustedCrls"); +variablenode_ns_0_i_12553_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The TrustedCrls are provided."); + +UA_init(&variablenode_ns_0_i_12553_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12553_variant_DataContents[3].value = (UA_Int64) 4; +variablenode_ns_0_i_12553_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "IssuerCertificates"); +variablenode_ns_0_i_12553_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The IssuerCertificates are provided."); + +UA_init(&variablenode_ns_0_i_12553_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12553_variant_DataContents[4].value = (UA_Int64) 8; +variablenode_ns_0_i_12553_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "IssuerCrls"); +variablenode_ns_0_i_12553_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The IssuerCrls are provided."); + +UA_init(&variablenode_ns_0_i_12553_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12553_variant_DataContents[5].value = (UA_Int64) 15; +variablenode_ns_0_i_12553_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "All"); +variablenode_ns_0_i_12553_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "All fields are provided."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12553_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12553LU), +UA_NODEID_NUMERIC(ns[0], 12552LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_295_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12553LU) +); +} + +/* AxisScaleEnumeration - ns=0;i=12077 */ + +static UA_StatusCode function_namespace0_generated_296_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AxisScaleEnumeration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 12077LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AxisScaleEnumeration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_296_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12077LU) +); +} + +/* EnumStrings - ns=0;i=12078 */ + +static UA_StatusCode function_namespace0_generated_297_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_12078_variant_DataContents[3]; +variablenode_ns_0_i_12078_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Linear"); +variablenode_ns_0_i_12078_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Log"); +variablenode_ns_0_i_12078_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Ln"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12078_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12078LU), +UA_NODEID_NUMERIC(ns[0], 12077LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_297_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12078LU) +); +} + +/* NamingRuleType - ns=0;i=120 */ + +static UA_StatusCode function_namespace0_generated_298_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NamingRuleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 120LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NamingRuleType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_298_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 120LU) +); +} + +/* EnumValues - ns=0;i=12169 */ + +static UA_StatusCode function_namespace0_generated_299_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_12169_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_12169_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12169_variant_DataContents[0].value = (UA_Int64) 1; +variablenode_ns_0_i_12169_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Mandatory"); +variablenode_ns_0_i_12169_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The BrowseName must appear in all instances of the type."); + +UA_init(&variablenode_ns_0_i_12169_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12169_variant_DataContents[1].value = (UA_Int64) 2; +variablenode_ns_0_i_12169_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Optional"); +variablenode_ns_0_i_12169_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The BrowseName may appear in an instance of the type."); + +UA_init(&variablenode_ns_0_i_12169_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_12169_variant_DataContents[2].value = (UA_Int64) 3; +variablenode_ns_0_i_12169_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Constraint"); +variablenode_ns_0_i_12169_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The modelling rule defines a constraint and the BrowseName is not used in an instance of the type."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12169_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12169LU), +UA_NODEID_NUMERIC(ns[0], 120LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_299_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12169LU) +); +} + +/* OpenFileMode - ns=0;i=11939 */ + +static UA_StatusCode function_namespace0_generated_300_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenFileMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11939LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OpenFileMode"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_300_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11939LU) +); +} + +/* EnumValues - ns=0;i=11940 */ + +static UA_StatusCode function_namespace0_generated_301_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_11940_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_11940_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11940_variant_DataContents[0].value = (UA_Int64) 1; +variablenode_ns_0_i_11940_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Read"); + +UA_init(&variablenode_ns_0_i_11940_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11940_variant_DataContents[1].value = (UA_Int64) 2; +variablenode_ns_0_i_11940_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Write"); + +UA_init(&variablenode_ns_0_i_11940_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11940_variant_DataContents[2].value = (UA_Int64) 4; +variablenode_ns_0_i_11940_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "EraseExisting"); + +UA_init(&variablenode_ns_0_i_11940_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11940_variant_DataContents[3].value = (UA_Int64) 8; +variablenode_ns_0_i_11940_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Append"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11940_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11940LU), +UA_NODEID_NUMERIC(ns[0], 11939LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_301_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11940LU) +); +} + +/* PerformUpdateType - ns=0;i=11293 */ + +static UA_StatusCode function_namespace0_generated_302_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PerformUpdateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11293LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PerformUpdateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_302_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11293LU) +); +} + +/* EnumValues - ns=0;i=11885 */ + +static UA_StatusCode function_namespace0_generated_303_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_11885_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_11885_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11885_variant_DataContents[0].value = (UA_Int64) 1; +variablenode_ns_0_i_11885_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Insert"); + +UA_init(&variablenode_ns_0_i_11885_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11885_variant_DataContents[1].value = (UA_Int64) 2; +variablenode_ns_0_i_11885_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Replace"); + +UA_init(&variablenode_ns_0_i_11885_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11885_variant_DataContents[2].value = (UA_Int64) 3; +variablenode_ns_0_i_11885_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Update"); + +UA_init(&variablenode_ns_0_i_11885_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11885_variant_DataContents[3].value = (UA_Int64) 4; +variablenode_ns_0_i_11885_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Remove"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11885_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11885LU), +UA_NODEID_NUMERIC(ns[0], 11293LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_303_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11885LU) +); +} + +/* HistoryUpdateType - ns=0;i=11234 */ + +static UA_StatusCode function_namespace0_generated_304_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11234LU), +UA_NODEID_NUMERIC(ns[0], 29LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HistoryUpdateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_304_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11234LU) +); +} + +/* EnumValues - ns=0;i=11884 */ + +static UA_StatusCode function_namespace0_generated_305_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +UA_EnumValueType variablenode_ns_0_i_11884_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_11884_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11884_variant_DataContents[0].value = (UA_Int64) 1; +variablenode_ns_0_i_11884_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Insert"); + +UA_init(&variablenode_ns_0_i_11884_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11884_variant_DataContents[1].value = (UA_Int64) 2; +variablenode_ns_0_i_11884_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Replace"); + +UA_init(&variablenode_ns_0_i_11884_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11884_variant_DataContents[2].value = (UA_Int64) 3; +variablenode_ns_0_i_11884_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Update"); + +UA_init(&variablenode_ns_0_i_11884_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +variablenode_ns_0_i_11884_variant_DataContents[3].value = (UA_Int64) 4; +variablenode_ns_0_i_11884_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Delete"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11884_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11884LU), +UA_NODEID_NUMERIC(ns[0], 11234LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_305_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11884LU) +); +} + +/* Number - ns=0;i=26 */ + +static UA_StatusCode function_namespace0_generated_306_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Number"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 26LU), +UA_NODEID_NUMERIC(ns[0], 24LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Number"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_306_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26LU) +); +} + +/* Decimal - ns=0;i=50 */ + +static UA_StatusCode function_namespace0_generated_307_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Decimal"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 50LU), +UA_NODEID_NUMERIC(ns[0], 26LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Decimal"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_307_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 50LU) +); +} + +/* UInteger - ns=0;i=28 */ + +static UA_StatusCode function_namespace0_generated_308_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "UInteger"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 28LU), +UA_NODEID_NUMERIC(ns[0], 26LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UInteger"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_308_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28LU) +); +} + +/* UInt64 - ns=0;i=9 */ + +static UA_StatusCode function_namespace0_generated_309_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UInt64"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 9LU), +UA_NODEID_NUMERIC(ns[0], 28LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UInt64"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_309_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9LU) +); +} + +/* BitFieldMaskDataType - ns=0;i=11737 */ + +static UA_StatusCode function_namespace0_generated_310_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BitFieldMaskDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11737LU), +UA_NODEID_NUMERIC(ns[0], 9LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BitFieldMaskDataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_310_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11737LU) +); +} + +/* UInt32 - ns=0;i=7 */ + +static UA_StatusCode function_namespace0_generated_311_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UInt32"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 28LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UInt32"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_311_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7LU) +); +} + +/* PermissionType - ns=0;i=94 */ + +static UA_StatusCode function_namespace0_generated_312_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PermissionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 94LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PermissionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_312_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 94LU) +); +} + +/* OptionSetValues - ns=0;i=15030 */ + +static UA_StatusCode function_namespace0_generated_313_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 17; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15030_variant_DataContents[17]; +variablenode_ns_0_i_15030_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Browse"); +variablenode_ns_0_i_15030_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "ReadRolePermissions"); +variablenode_ns_0_i_15030_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "WriteAttribute"); +variablenode_ns_0_i_15030_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "WriteRolePermissions"); +variablenode_ns_0_i_15030_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "WriteHistorizing"); +variablenode_ns_0_i_15030_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "Read"); +variablenode_ns_0_i_15030_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "Write"); +variablenode_ns_0_i_15030_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "ReadHistory"); +variablenode_ns_0_i_15030_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "InsertHistory"); +variablenode_ns_0_i_15030_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "ModifyHistory"); +variablenode_ns_0_i_15030_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "DeleteHistory"); +variablenode_ns_0_i_15030_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "ReceiveEvents"); +variablenode_ns_0_i_15030_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "Call"); +variablenode_ns_0_i_15030_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "AddReference"); +variablenode_ns_0_i_15030_variant_DataContents[14] = UA_LOCALIZEDTEXT("", "RemoveReference"); +variablenode_ns_0_i_15030_variant_DataContents[15] = UA_LOCALIZEDTEXT("", "DeleteNode"); +variablenode_ns_0_i_15030_variant_DataContents[16] = UA_LOCALIZEDTEXT("", "AddNode"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15030_variant_DataContents, (UA_Int32) 17, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15030LU), +UA_NODEID_NUMERIC(ns[0], 94LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_313_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15030LU) +); +} + +/* AttributeWriteMask - ns=0;i=347 */ + +static UA_StatusCode function_namespace0_generated_314_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AttributeWriteMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 347LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AttributeWriteMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_314_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 347LU) +); +} + +/* OptionSetValues - ns=0;i=15036 */ + +static UA_StatusCode function_namespace0_generated_315_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 26; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15036_variant_DataContents[26]; +variablenode_ns_0_i_15036_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "AccessLevel"); +variablenode_ns_0_i_15036_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "ArrayDimensions"); +variablenode_ns_0_i_15036_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "BrowseName"); +variablenode_ns_0_i_15036_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "ContainsNoLoops"); +variablenode_ns_0_i_15036_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "DataType"); +variablenode_ns_0_i_15036_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "Description"); +variablenode_ns_0_i_15036_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "DisplayName"); +variablenode_ns_0_i_15036_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "EventNotifier"); +variablenode_ns_0_i_15036_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "Executable"); +variablenode_ns_0_i_15036_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "Historizing"); +variablenode_ns_0_i_15036_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "InverseName"); +variablenode_ns_0_i_15036_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "IsAbstract"); +variablenode_ns_0_i_15036_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "MinimumSamplingInterval"); +variablenode_ns_0_i_15036_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "NodeClass"); +variablenode_ns_0_i_15036_variant_DataContents[14] = UA_LOCALIZEDTEXT("", "NodeId"); +variablenode_ns_0_i_15036_variant_DataContents[15] = UA_LOCALIZEDTEXT("", "Symmetric"); +variablenode_ns_0_i_15036_variant_DataContents[16] = UA_LOCALIZEDTEXT("", "UserAccessLevel"); +variablenode_ns_0_i_15036_variant_DataContents[17] = UA_LOCALIZEDTEXT("", "UserExecutable"); +variablenode_ns_0_i_15036_variant_DataContents[18] = UA_LOCALIZEDTEXT("", "UserWriteMask"); +variablenode_ns_0_i_15036_variant_DataContents[19] = UA_LOCALIZEDTEXT("", "ValueRank"); +variablenode_ns_0_i_15036_variant_DataContents[20] = UA_LOCALIZEDTEXT("", "WriteMask"); +variablenode_ns_0_i_15036_variant_DataContents[21] = UA_LOCALIZEDTEXT("", "ValueForVariableType"); +variablenode_ns_0_i_15036_variant_DataContents[22] = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); +variablenode_ns_0_i_15036_variant_DataContents[23] = UA_LOCALIZEDTEXT("", "RolePermissions"); +variablenode_ns_0_i_15036_variant_DataContents[24] = UA_LOCALIZEDTEXT("", "AccessRestrictions"); +variablenode_ns_0_i_15036_variant_DataContents[25] = UA_LOCALIZEDTEXT("", "AccessLevelEx"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15036_variant_DataContents, (UA_Int32) 26, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15036LU), +UA_NODEID_NUMERIC(ns[0], 347LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_315_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15036LU) +); +} + +/* Handle - ns=0;i=31917 */ + +static UA_StatusCode function_namespace0_generated_316_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Handle"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 31917LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Handle"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_316_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31917LU) +); +} + +/* Counter - ns=0;i=289 */ + +static UA_StatusCode function_namespace0_generated_317_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 289LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Counter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_317_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 289LU) +); +} + +/* IntegerId - ns=0;i=288 */ + +static UA_StatusCode function_namespace0_generated_318_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IntegerId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 288LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IntegerId"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_318_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 288LU) +); +} + +/* PubSubConfigurationRefMask - ns=0;i=25517 */ + +static UA_StatusCode function_namespace0_generated_319_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 25517LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_319_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25517LU) +); +} + +/* OptionSetValues - ns=0;i=25518 */ + +static UA_StatusCode function_namespace0_generated_320_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 13; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_25518_variant_DataContents[13]; +variablenode_ns_0_i_25518_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "ElementAdd"); +variablenode_ns_0_i_25518_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "ElementMatch"); +variablenode_ns_0_i_25518_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "ElementModify"); +variablenode_ns_0_i_25518_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "ElementRemove"); +variablenode_ns_0_i_25518_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "ReferenceWriter"); +variablenode_ns_0_i_25518_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "ReferenceReader"); +variablenode_ns_0_i_25518_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "ReferenceWriterGroup"); +variablenode_ns_0_i_25518_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "ReferenceReaderGroup"); +variablenode_ns_0_i_25518_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "ReferenceConnection"); +variablenode_ns_0_i_25518_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "ReferencePubDataset"); +variablenode_ns_0_i_25518_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "ReferenceSubDataset"); +variablenode_ns_0_i_25518_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "ReferenceSecurityGroup"); +variablenode_ns_0_i_25518_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "ReferencePushTarget"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25518_variant_DataContents, (UA_Int32) 13, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25518LU), +UA_NODEID_NUMERIC(ns[0], 25517LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_320_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25518LU) +); +} + +/* UserConfigurationMask - ns=0;i=24279 */ + +static UA_StatusCode function_namespace0_generated_321_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserConfigurationMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24279LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserConfigurationMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_321_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24279LU) +); +} + +/* OptionSetValues - ns=0;i=24280 */ + +static UA_StatusCode function_namespace0_generated_322_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_24280_variant_DataContents[4]; +variablenode_ns_0_i_24280_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "NoDelete"); +variablenode_ns_0_i_24280_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Disabled"); +variablenode_ns_0_i_24280_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "NoChangeByUser"); +variablenode_ns_0_i_24280_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "MustChangePassword"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24280_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24280LU), +UA_NODEID_NUMERIC(ns[0], 24279LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_322_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24280LU) +); +} + +/* PasswordOptionsMask - ns=0;i=24277 */ + +static UA_StatusCode function_namespace0_generated_323_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordOptionsMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 24277LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PasswordOptionsMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_323_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24277LU) +); +} + +/* OptionSetValues - ns=0;i=24278 */ + +static UA_StatusCode function_namespace0_generated_324_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 9; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_24278_variant_DataContents[9]; +variablenode_ns_0_i_24278_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SupportInitialPasswordChange"); +variablenode_ns_0_i_24278_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "SupportDisableUser"); +variablenode_ns_0_i_24278_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SupportDisableDeleteForUser"); +variablenode_ns_0_i_24278_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SupportNoChangeForUser"); +variablenode_ns_0_i_24278_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SupportDescriptionForUser"); +variablenode_ns_0_i_24278_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "RequiresUpperCaseCharacters"); +variablenode_ns_0_i_24278_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "RequiresLowerCaseCharacters"); +variablenode_ns_0_i_24278_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "RequiresDigitCharacters"); +variablenode_ns_0_i_24278_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "RequiresSpecialCharacters"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24278_variant_DataContents, (UA_Int32) 9, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24278LU), +UA_NODEID_NUMERIC(ns[0], 24277LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_324_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24278LU) +); +} + +/* TrustListValidationOptions - ns=0;i=23564 */ + +static UA_StatusCode function_namespace0_generated_325_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListValidationOptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 23564LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListValidationOptions"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_325_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23564LU) +); +} + +/* OptionSetValues - ns=0;i=23565 */ + +static UA_StatusCode function_namespace0_generated_326_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_23565_variant_DataContents[7]; +variablenode_ns_0_i_23565_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SuppressCertificateExpired"); +variablenode_ns_0_i_23565_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "SuppressHostNameInvalid"); +variablenode_ns_0_i_23565_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SuppressRevocationStatusUnknown"); +variablenode_ns_0_i_23565_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SuppressIssuerCertificateExpired"); +variablenode_ns_0_i_23565_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SuppressIssuerRevocationStatusUnknown"); +variablenode_ns_0_i_23565_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "CheckRevocationStatusOnline"); +variablenode_ns_0_i_23565_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "CheckRevocationStatusOffline"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23565_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23565LU), +UA_NODEID_NUMERIC(ns[0], 23564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_326_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23565LU) +); +} + +/* VersionTime - ns=0;i=20998 */ + +static UA_StatusCode function_namespace0_generated_327_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "VersionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 20998LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "VersionTime"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_327_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20998LU) +); +} + +/* Index - ns=0;i=17588 */ + +static UA_StatusCode function_namespace0_generated_328_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Index"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 17588LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Index"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_328_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17588LU) +); +} + +/* JsonDataSetMessageContentMask - ns=0;i=15658 */ + +static UA_StatusCode function_namespace0_generated_329_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15658LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetMessageContentMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_329_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15658LU) +); +} + +/* OptionSetValues - ns=0;i=15659 */ + +static UA_StatusCode function_namespace0_generated_330_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 8; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15659_variant_DataContents[8]; +variablenode_ns_0_i_15659_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "DataSetWriterId"); +variablenode_ns_0_i_15659_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "MetaDataVersion"); +variablenode_ns_0_i_15659_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SequenceNumber"); +variablenode_ns_0_i_15659_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Timestamp"); +variablenode_ns_0_i_15659_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Status"); +variablenode_ns_0_i_15659_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "MessageType"); +variablenode_ns_0_i_15659_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "DataSetWriterName"); +variablenode_ns_0_i_15659_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "ReversibleFieldEncoding"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15659_variant_DataContents, (UA_Int32) 8, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15659LU), +UA_NODEID_NUMERIC(ns[0], 15658LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_330_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15659LU) +); +} + +/* JsonNetworkMessageContentMask - ns=0;i=15654 */ + +static UA_StatusCode function_namespace0_generated_331_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonNetworkMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15654LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonNetworkMessageContentMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_331_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15654LU) +); +} + +/* OptionSetValues - ns=0;i=15655 */ + +static UA_StatusCode function_namespace0_generated_332_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15655_variant_DataContents[6]; +variablenode_ns_0_i_15655_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "NetworkMessageHeader"); +variablenode_ns_0_i_15655_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "DataSetMessageHeader"); +variablenode_ns_0_i_15655_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SingleDataSetMessage"); +variablenode_ns_0_i_15655_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "PublisherId"); +variablenode_ns_0_i_15655_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "DataSetClassId"); +variablenode_ns_0_i_15655_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "ReplyTo"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15655_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15655LU), +UA_NODEID_NUMERIC(ns[0], 15654LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_332_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15655LU) +); +} + +/* UadpDataSetMessageContentMask - ns=0;i=15646 */ + +static UA_StatusCode function_namespace0_generated_333_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15646LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetMessageContentMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_333_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15646LU) +); +} + +/* OptionSetValues - ns=0;i=15647 */ + +static UA_StatusCode function_namespace0_generated_334_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15647_variant_DataContents[6]; +variablenode_ns_0_i_15647_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Timestamp"); +variablenode_ns_0_i_15647_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "PicoSeconds"); +variablenode_ns_0_i_15647_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Status"); +variablenode_ns_0_i_15647_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "MajorVersion"); +variablenode_ns_0_i_15647_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "MinorVersion"); +variablenode_ns_0_i_15647_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "SequenceNumber"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15647_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15647LU), +UA_NODEID_NUMERIC(ns[0], 15646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_334_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15647LU) +); +} + +/* UadpNetworkMessageContentMask - ns=0;i=15642 */ + +static UA_StatusCode function_namespace0_generated_335_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpNetworkMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15642LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpNetworkMessageContentMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_335_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15642LU) +); +} + +/* OptionSetValues - ns=0;i=15643 */ + +static UA_StatusCode function_namespace0_generated_336_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 11; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15643_variant_DataContents[11]; +variablenode_ns_0_i_15643_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "PublisherId"); +variablenode_ns_0_i_15643_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "GroupHeader"); +variablenode_ns_0_i_15643_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "WriterGroupId"); +variablenode_ns_0_i_15643_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "GroupVersion"); +variablenode_ns_0_i_15643_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "NetworkMessageNumber"); +variablenode_ns_0_i_15643_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "SequenceNumber"); +variablenode_ns_0_i_15643_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "PayloadHeader"); +variablenode_ns_0_i_15643_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Timestamp"); +variablenode_ns_0_i_15643_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "PicoSeconds"); +variablenode_ns_0_i_15643_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "DataSetClassId"); +variablenode_ns_0_i_15643_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "PromotedFields"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15643_variant_DataContents, (UA_Int32) 11, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15643LU), +UA_NODEID_NUMERIC(ns[0], 15642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_336_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15643LU) +); +} + +/* DataSetFieldContentMask - ns=0;i=15583 */ + +static UA_StatusCode function_namespace0_generated_337_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15583LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_337_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15583LU) +); +} + +/* OptionSetValues - ns=0;i=15584 */ + +static UA_StatusCode function_namespace0_generated_338_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15584_variant_DataContents[6]; +variablenode_ns_0_i_15584_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "StatusCode"); +variablenode_ns_0_i_15584_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +variablenode_ns_0_i_15584_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "ServerTimestamp"); +variablenode_ns_0_i_15584_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SourcePicoSeconds"); +variablenode_ns_0_i_15584_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "ServerPicoSeconds"); +variablenode_ns_0_i_15584_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "RawData"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15584_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15584LU), +UA_NODEID_NUMERIC(ns[0], 15583LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_338_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15584LU) +); +} + +/* AccessLevelExType - ns=0;i=15406 */ + +static UA_StatusCode function_namespace0_generated_339_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AccessLevelExType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15406LU), +UA_NODEID_NUMERIC(ns[0], 7LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AccessLevelExType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_339_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15406LU) +); +} + +/* OptionSetValues - ns=0;i=15407 */ + +static UA_StatusCode function_namespace0_generated_340_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 14; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15407_variant_DataContents[14]; +variablenode_ns_0_i_15407_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "CurrentRead"); +variablenode_ns_0_i_15407_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "CurrentWrite"); +variablenode_ns_0_i_15407_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "HistoryRead"); +variablenode_ns_0_i_15407_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "HistoryWrite"); +variablenode_ns_0_i_15407_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SemanticChange"); +variablenode_ns_0_i_15407_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "StatusWrite"); +variablenode_ns_0_i_15407_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "TimestampWrite"); +variablenode_ns_0_i_15407_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Reserved"); +variablenode_ns_0_i_15407_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "NonatomicRead"); +variablenode_ns_0_i_15407_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "NonatomicWrite"); +variablenode_ns_0_i_15407_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "WriteFullArrayOnly"); +variablenode_ns_0_i_15407_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "NoSubDataTypes"); +variablenode_ns_0_i_15407_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "NonVolatile"); +variablenode_ns_0_i_15407_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "Constant"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15407_variant_DataContents, (UA_Int32) 14, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15407LU), +UA_NODEID_NUMERIC(ns[0], 15406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_340_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15407LU) +); +} + +/* UInt16 - ns=0;i=5 */ + +static UA_StatusCode function_namespace0_generated_341_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UInt16"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 5LU), +UA_NODEID_NUMERIC(ns[0], 28LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UInt16"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_341_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 5LU) +); +} + +/* AccessRestrictionType - ns=0;i=95 */ + +static UA_StatusCode function_namespace0_generated_342_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AccessRestrictionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 95LU), +UA_NODEID_NUMERIC(ns[0], 5LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AccessRestrictionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_342_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 95LU) +); +} + +/* OptionSetValues - ns=0;i=15035 */ + +static UA_StatusCode function_namespace0_generated_343_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15035_variant_DataContents[4]; +variablenode_ns_0_i_15035_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SigningRequired"); +variablenode_ns_0_i_15035_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "EncryptionRequired"); +variablenode_ns_0_i_15035_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SessionRequired"); +variablenode_ns_0_i_15035_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "ApplyRestrictionsToBrowse"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15035_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15035LU), +UA_NODEID_NUMERIC(ns[0], 95LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_343_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15035LU) +); +} + +/* AlarmMask - ns=0;i=32251 */ + +static UA_StatusCode function_namespace0_generated_344_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 32251LU), +UA_NODEID_NUMERIC(ns[0], 5LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmMask"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_344_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32251LU) +); +} + +/* OptionSetValues - ns=0;i=32252 */ + +static UA_StatusCode function_namespace0_generated_345_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_32252_variant_DataContents[3]; +variablenode_ns_0_i_32252_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Active"); +variablenode_ns_0_i_32252_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Unacknowledged"); +variablenode_ns_0_i_32252_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Unconfirmed"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32252_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32252LU), +UA_NODEID_NUMERIC(ns[0], 32251LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_345_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32252LU) +); +} + +/* DataSetFieldFlags - ns=0;i=15904 */ + +static UA_StatusCode function_namespace0_generated_346_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldFlags"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15904LU), +UA_NODEID_NUMERIC(ns[0], 5LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldFlags"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_346_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15904LU) +); +} + +/* OptionSetValues - ns=0;i=15577 */ + +static UA_StatusCode function_namespace0_generated_347_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15577_variant_DataContents[1]; +variablenode_ns_0_i_15577_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "PromotedField"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15577_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15577LU), +UA_NODEID_NUMERIC(ns[0], 15904LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_347_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15577LU) +); +} + +/* Byte - ns=0;i=3 */ + +static UA_StatusCode function_namespace0_generated_348_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Byte"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 3LU), +UA_NODEID_NUMERIC(ns[0], 28LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Byte"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_348_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3LU) +); +} + +/* EventNotifierType - ns=0;i=15033 */ + +static UA_StatusCode function_namespace0_generated_349_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EventNotifierType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15033LU), +UA_NODEID_NUMERIC(ns[0], 3LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EventNotifierType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_349_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15033LU) +); +} + +/* OptionSetValues - ns=0;i=15034 */ + +static UA_StatusCode function_namespace0_generated_350_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15034_variant_DataContents[4]; +variablenode_ns_0_i_15034_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SubscribeToEvents"); +variablenode_ns_0_i_15034_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Reserved"); +variablenode_ns_0_i_15034_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "HistoryRead"); +variablenode_ns_0_i_15034_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "HistoryWrite"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15034_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15034LU), +UA_NODEID_NUMERIC(ns[0], 15033LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_350_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15034LU) +); +} + +/* AccessLevelType - ns=0;i=15031 */ + +static UA_StatusCode function_namespace0_generated_351_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AccessLevelType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 15031LU), +UA_NODEID_NUMERIC(ns[0], 3LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AccessLevelType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_351_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15031LU) +); +} + +/* OptionSetValues - ns=0;i=15032 */ + +static UA_StatusCode function_namespace0_generated_352_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText variablenode_ns_0_i_15032_variant_DataContents[7]; +variablenode_ns_0_i_15032_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "CurrentRead"); +variablenode_ns_0_i_15032_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "CurrentWrite"); +variablenode_ns_0_i_15032_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "HistoryRead"); +variablenode_ns_0_i_15032_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "HistoryWrite"); +variablenode_ns_0_i_15032_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SemanticChange"); +variablenode_ns_0_i_15032_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "StatusWrite"); +variablenode_ns_0_i_15032_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "TimestampWrite"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15032_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15032LU), +UA_NODEID_NUMERIC(ns[0], 15031LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_352_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15032LU) +); +} + +/* Integer - ns=0;i=27 */ + +static UA_StatusCode function_namespace0_generated_353_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Integer"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 27LU), +UA_NODEID_NUMERIC(ns[0], 26LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Integer"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_353_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 27LU) +); +} + +/* Int64 - ns=0;i=8 */ + +static UA_StatusCode function_namespace0_generated_354_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Int64"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 8LU), +UA_NODEID_NUMERIC(ns[0], 27LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Int64"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_354_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8LU) +); +} + +/* Int32 - ns=0;i=6 */ + +static UA_StatusCode function_namespace0_generated_355_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Int32"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 6LU), +UA_NODEID_NUMERIC(ns[0], 27LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Int32"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_355_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 6LU) +); +} + +/* Int16 - ns=0;i=4 */ + +static UA_StatusCode function_namespace0_generated_356_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Int16"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 4LU), +UA_NODEID_NUMERIC(ns[0], 27LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Int16"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_356_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 4LU) +); +} + +/* SByte - ns=0;i=2 */ + +static UA_StatusCode function_namespace0_generated_357_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SByte"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 2LU), +UA_NODEID_NUMERIC(ns[0], 27LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SByte"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_357_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2LU) +); +} + +/* Double - ns=0;i=11 */ + +static UA_StatusCode function_namespace0_generated_358_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Double"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 11LU), +UA_NODEID_NUMERIC(ns[0], 26LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Double"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_358_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11LU) +); +} + +/* Duration - ns=0;i=290 */ + +static UA_StatusCode function_namespace0_generated_359_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Duration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 290LU), +UA_NODEID_NUMERIC(ns[0], 11LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Duration"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_359_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 290LU) +); +} + +/* Float - ns=0;i=10 */ + +static UA_StatusCode function_namespace0_generated_360_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Float"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, +UA_NODEID_NUMERIC(ns[0], 10LU), +UA_NODEID_NUMERIC(ns[0], 26LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "Float"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_360_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10LU) +); +} + +/* ReferenceDescriptionVariableType - ns=0;i=32657 */ + +static UA_StatusCode function_namespace0_generated_361_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 32659LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 32657LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_361_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32657LU) +); +} + +/* ReferenceRefinement - ns=0;i=32658 */ + +static UA_StatusCode function_namespace0_generated_362_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 32660LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceRefinement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32658LU), +UA_NODEID_NUMERIC(ns[0], 32657LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceRefinement"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_362_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32658LU) +); +} + +/* PriorityMappingTableType - ns=0;i=25227 */ + +static UA_StatusCode function_namespace0_generated_363_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingTableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25227LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PriorityMappingTableType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_363_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25227LU) +); +} + +/* DeletePriorityMappingEntry - ns=0;i=25231 */ + +static UA_StatusCode function_namespace0_generated_364_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DeletePriorityMappingEntry"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25231LU), +UA_NODEID_NUMERIC(ns[0], 25227LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeletePriorityMappingEntry"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_364_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25231LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25232 */ + +static UA_StatusCode function_namespace0_generated_365_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25232_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25232_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25232_variant_DataContents[0].name = UA_STRING("MappingUri"); +variablenode_ns_0_i_25232_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25232_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25232_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25232_variant_DataContents[1].name = UA_STRING("PriorityLabel"); +variablenode_ns_0_i_25232_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25232_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25232_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25232LU), +UA_NODEID_NUMERIC(ns[0], 25231LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_365_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25232LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPriorityMappingEntry - ns=0;i=25229 */ + +static UA_StatusCode function_namespace0_generated_366_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPriorityMappingEntry"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25229LU), +UA_NODEID_NUMERIC(ns[0], 25227LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPriorityMappingEntry"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_366_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25229LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25230 */ + +static UA_StatusCode function_namespace0_generated_367_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25230_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_25230_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25230_variant_DataContents[0].name = UA_STRING("MappingUri"); +variablenode_ns_0_i_25230_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25230_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25230_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25230_variant_DataContents[1].name = UA_STRING("PriorityLabel"); +variablenode_ns_0_i_25230_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25230_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25230_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25230_variant_DataContents[2].name = UA_STRING("PriorityValue_PCP"); +variablenode_ns_0_i_25230_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_25230_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25230_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25230_variant_DataContents[3].name = UA_STRING("PriorityValue_DSCP"); +variablenode_ns_0_i_25230_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25230_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25230_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25230LU), +UA_NODEID_NUMERIC(ns[0], 25229LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_367_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25230LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PriorityMapppingEntries - ns=0;i=25228 */ + +static UA_StatusCode function_namespace0_generated_368_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 25220LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMapppingEntries"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25228LU), +UA_NODEID_NUMERIC(ns[0], 25227LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PriorityMapppingEntries"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_368_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25228LU) +); +} + +/* IetfBaseNetworkInterfaceType - ns=0;i=25221 */ + +static UA_StatusCode function_namespace0_generated_369_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IetfBaseNetworkInterfaceType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25221LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IetfBaseNetworkInterfaceType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_369_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25221LU) +); +} + +/* - ns=0;i=25226 */ + +static UA_StatusCode function_namespace0_generated_370_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25226LU), +UA_NODEID_NUMERIC(ns[0], 25221LU), +UA_NODEID_NUMERIC(ns[0], 25238LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_370_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25226LU) +); +} + +/* PhysAddress - ns=0;i=25224 */ + +static UA_StatusCode function_namespace0_generated_371_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PhysAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25224LU), +UA_NODEID_NUMERIC(ns[0], 25221LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PhysAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_371_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25224LU) +); +} + +/* OperStatus - ns=0;i=25223 */ + +static UA_StatusCode function_namespace0_generated_372_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24214LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25223LU), +UA_NODEID_NUMERIC(ns[0], 25221LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_372_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25223LU) +); +} + +/* AdminStatus - ns=0;i=25222 */ + +static UA_StatusCode function_namespace0_generated_373_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24212LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AdminStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25222LU), +UA_NODEID_NUMERIC(ns[0], 25221LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AdminStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_373_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25222LU) +); +} + +/* ProvisionableDeviceType - ns=0;i=26871 */ + +static UA_StatusCode function_namespace0_generated_374_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ProvisionableDeviceType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 26871LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProvisionableDeviceType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_374_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26871LU) +); +} + +/* SetRegistrarEndpoints - ns=0;i=26875 */ + +static UA_StatusCode function_namespace0_generated_375_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetRegistrarEndpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26875LU), +UA_NODEID_NUMERIC(ns[0], 26871LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetRegistrarEndpoints"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_375_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26875LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26876 */ + +static UA_StatusCode function_namespace0_generated_376_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26876_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26876_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26876_variant_DataContents[0].name = UA_STRING("Registrars"); +variablenode_ns_0_i_26876_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 308LU); +variablenode_ns_0_i_26876_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_26876_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_26876_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26876_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26876LU), +UA_NODEID_NUMERIC(ns[0], 26875LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_376_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26876LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RequestTickets - ns=0;i=26873 */ + +static UA_StatusCode function_namespace0_generated_377_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RequestTickets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26873LU), +UA_NODEID_NUMERIC(ns[0], 26871LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RequestTickets"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_377_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26873LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=26874 */ + +static UA_StatusCode function_namespace0_generated_378_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26874_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26874_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26874_variant_DataContents[0].name = UA_STRING("Tickets"); +variablenode_ns_0_i_26874_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 25726LU); +variablenode_ns_0_i_26874_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_26874_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_26874_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26874_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26874LU), +UA_NODEID_NUMERIC(ns[0], 26873LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_378_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26874LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* IsSingleton - ns=0;i=26872 */ + +static UA_StatusCode function_namespace0_generated_379_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsSingleton"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26872LU), +UA_NODEID_NUMERIC(ns[0], 26871LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsSingleton"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_379_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26872LU) +); +} + +/* UserManagementType - ns=0;i=24264 */ + +static UA_StatusCode function_namespace0_generated_380_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserManagementType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_380_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24264LU) +); +} + +/* ChangePassword - ns=0;i=24275 */ + +static UA_StatusCode function_namespace0_generated_381_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ChangePassword"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24275LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ChangePassword"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_381_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24275LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24276 */ + +static UA_StatusCode function_namespace0_generated_382_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24276_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_24276_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24276_variant_DataContents[0].name = UA_STRING("OldPassword"); +variablenode_ns_0_i_24276_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24276_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24276_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24276_variant_DataContents[1].name = UA_STRING("NewPassword"); +variablenode_ns_0_i_24276_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24276_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24276_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24276LU), +UA_NODEID_NUMERIC(ns[0], 24275LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_382_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24276LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveUser - ns=0;i=24273 */ + +static UA_StatusCode function_namespace0_generated_383_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveUser"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24273LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveUser"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_383_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24273LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24274 */ + +static UA_StatusCode function_namespace0_generated_384_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24274_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24274_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24274_variant_DataContents[0].name = UA_STRING("UserName"); +variablenode_ns_0_i_24274_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24274_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24274_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24274LU), +UA_NODEID_NUMERIC(ns[0], 24273LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_384_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24274LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ModifyUser - ns=0;i=24271 */ + +static UA_StatusCode function_namespace0_generated_385_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyUser"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24271LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyUser"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_385_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24271LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24272 */ + +static UA_StatusCode function_namespace0_generated_386_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24272_variant_DataContents[7]; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[0].name = UA_STRING("UserName"); +variablenode_ns_0_i_24272_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24272_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[1].name = UA_STRING("ModifyPassword"); +variablenode_ns_0_i_24272_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_24272_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[2].name = UA_STRING("Password"); +variablenode_ns_0_i_24272_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24272_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[3].name = UA_STRING("ModifyUserConfiguration"); +variablenode_ns_0_i_24272_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_24272_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[4].name = UA_STRING("UserConfiguration"); +variablenode_ns_0_i_24272_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); +variablenode_ns_0_i_24272_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[5].name = UA_STRING("ModifyDescription"); +variablenode_ns_0_i_24272_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_24272_variant_DataContents[5].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24272_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24272_variant_DataContents[6].name = UA_STRING("Description"); +variablenode_ns_0_i_24272_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24272_variant_DataContents[6].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24272_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24272LU), +UA_NODEID_NUMERIC(ns[0], 24271LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_386_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24272LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddUser - ns=0;i=24269 */ + +static UA_StatusCode function_namespace0_generated_387_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddUser"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24269LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddUser"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_387_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24269LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24270 */ + +static UA_StatusCode function_namespace0_generated_388_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24270_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_24270_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24270_variant_DataContents[0].name = UA_STRING("UserName"); +variablenode_ns_0_i_24270_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24270_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24270_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24270_variant_DataContents[1].name = UA_STRING("Password"); +variablenode_ns_0_i_24270_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24270_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24270_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24270_variant_DataContents[2].name = UA_STRING("UserConfiguration"); +variablenode_ns_0_i_24270_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); +variablenode_ns_0_i_24270_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24270_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24270_variant_DataContents[3].name = UA_STRING("Description"); +variablenode_ns_0_i_24270_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24270_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24270_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24270LU), +UA_NODEID_NUMERIC(ns[0], 24269LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_388_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24270LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PasswordRestrictions - ns=0;i=24268 */ + +static UA_StatusCode function_namespace0_generated_389_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordRestrictions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24268LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PasswordRestrictions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_389_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24268LU) +); +} + +/* PasswordOptions - ns=0;i=24267 */ + +static UA_StatusCode function_namespace0_generated_390_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24277LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordOptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24267LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PasswordOptions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_390_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24267LU) +); +} + +/* PasswordLength - ns=0;i=24266 */ + +static UA_StatusCode function_namespace0_generated_391_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24266LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PasswordLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_391_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24266LU) +); +} + +/* Users - ns=0;i=24265 */ + +static UA_StatusCode function_namespace0_generated_392_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24281LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Users"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24265LU), +UA_NODEID_NUMERIC(ns[0], 24264LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Users"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_392_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24265LU) +); +} + +/* AliasNameCategoryType - ns=0;i=23456 */ + +static UA_StatusCode function_namespace0_generated_393_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameCategoryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23456LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AliasNameCategoryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_393_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23456LU) +); +} + +/* Aliases - ns=0;i=23470 */ + +static UA_StatusCode function_namespace0_generated_394_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Aliases"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23470LU), +UA_NODEID_NUMERIC(ns[0], 85LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "Aliases"), +UA_NODEID_NUMERIC(ns[0], 23456LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_394_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23470LU) +); +} + +/* Topics - ns=0;i=23488 */ + +static UA_StatusCode function_namespace0_generated_395_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Topics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23488LU), +UA_NODEID_NUMERIC(ns[0], 23470LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "Topics"), +UA_NODEID_NUMERIC(ns[0], 23456LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_395_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23488LU) +); +} + +/* FindAlias - ns=0;i=23494 */ + +static UA_StatusCode function_namespace0_generated_396_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23494LU), +UA_NODEID_NUMERIC(ns[0], 23488LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FindAlias"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_396_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23494LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23496 */ + +static UA_StatusCode function_namespace0_generated_397_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23496_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23496_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23496_variant_DataContents[0].name = UA_STRING("AliasNodeList"); +variablenode_ns_0_i_23496_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); +variablenode_ns_0_i_23496_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_23496_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_23496_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23496_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23496LU), +UA_NODEID_NUMERIC(ns[0], 23494LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_397_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23496LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23495 */ + +static UA_StatusCode function_namespace0_generated_398_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23495_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_23495_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23495_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); +variablenode_ns_0_i_23495_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23495_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_23495_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23495_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); +variablenode_ns_0_i_23495_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23495_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23495_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23495LU), +UA_NODEID_NUMERIC(ns[0], 23494LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_398_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23495LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TagVariables - ns=0;i=23479 */ + +static UA_StatusCode function_namespace0_generated_399_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TagVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23479LU), +UA_NODEID_NUMERIC(ns[0], 23470LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "TagVariables"), +UA_NODEID_NUMERIC(ns[0], 23456LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_399_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23479LU) +); +} + +/* FindAlias - ns=0;i=23485 */ + +static UA_StatusCode function_namespace0_generated_400_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23485LU), +UA_NODEID_NUMERIC(ns[0], 23479LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FindAlias"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_400_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23485LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23487 */ + +static UA_StatusCode function_namespace0_generated_401_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23487_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23487_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23487_variant_DataContents[0].name = UA_STRING("AliasNodeList"); +variablenode_ns_0_i_23487_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); +variablenode_ns_0_i_23487_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_23487_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_23487_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23487_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23487LU), +UA_NODEID_NUMERIC(ns[0], 23485LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_401_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23487LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23486 */ + +static UA_StatusCode function_namespace0_generated_402_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23486_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_23486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23486_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); +variablenode_ns_0_i_23486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23486_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_23486_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23486_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); +variablenode_ns_0_i_23486_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23486_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23486_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23486LU), +UA_NODEID_NUMERIC(ns[0], 23485LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_402_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23486LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* FindAlias - ns=0;i=23476 */ + +static UA_StatusCode function_namespace0_generated_403_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23476LU), +UA_NODEID_NUMERIC(ns[0], 23470LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FindAlias"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_403_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23476LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23478 */ + +static UA_StatusCode function_namespace0_generated_404_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23478_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23478_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23478_variant_DataContents[0].name = UA_STRING("AliasNodeList"); +variablenode_ns_0_i_23478_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); +variablenode_ns_0_i_23478_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_23478_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_23478_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23478_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23478LU), +UA_NODEID_NUMERIC(ns[0], 23476LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_404_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23478LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23477 */ + +static UA_StatusCode function_namespace0_generated_405_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23477_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_23477_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23477_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); +variablenode_ns_0_i_23477_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23477_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_23477_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23477_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); +variablenode_ns_0_i_23477_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23477_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23477_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23477LU), +UA_NODEID_NUMERIC(ns[0], 23476LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_405_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23477LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* FindAlias - ns=0;i=23462 */ + +static UA_StatusCode function_namespace0_generated_406_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23462LU), +UA_NODEID_NUMERIC(ns[0], 23456LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FindAlias"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_406_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23462LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23464 */ + +static UA_StatusCode function_namespace0_generated_407_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23464_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23464_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23464_variant_DataContents[0].name = UA_STRING("AliasNodeList"); +variablenode_ns_0_i_23464_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); +variablenode_ns_0_i_23464_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_23464_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_23464_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23464_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23464LU), +UA_NODEID_NUMERIC(ns[0], 23462LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_407_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23464LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23463 */ + +static UA_StatusCode function_namespace0_generated_408_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23463_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_23463_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23463_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); +variablenode_ns_0_i_23463_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23463_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_23463_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23463_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); +variablenode_ns_0_i_23463_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23463_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23463_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23463LU), +UA_NODEID_NUMERIC(ns[0], 23462LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_408_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23463LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=23458 */ + +static UA_StatusCode function_namespace0_generated_409_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23458LU), +UA_NODEID_NUMERIC(ns[0], 23456LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 23456LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_409_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23458LU) +); +} + +/* FindAlias - ns=0;i=23459 */ + +static UA_StatusCode function_namespace0_generated_410_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23459LU), +UA_NODEID_NUMERIC(ns[0], 23458LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FindAlias"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_410_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23459LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23461 */ + +static UA_StatusCode function_namespace0_generated_411_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23461_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23461_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23461_variant_DataContents[0].name = UA_STRING("AliasNodeList"); +variablenode_ns_0_i_23461_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); +variablenode_ns_0_i_23461_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_23461_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_23461_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23461_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23461LU), +UA_NODEID_NUMERIC(ns[0], 23459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_411_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23461LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23460 */ + +static UA_StatusCode function_namespace0_generated_412_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23460_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_23460_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23460_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); +variablenode_ns_0_i_23460_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23460_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_23460_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23460_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); +variablenode_ns_0_i_23460_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23460_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23460_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23460LU), +UA_NODEID_NUMERIC(ns[0], 23459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_412_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23460LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AliasNameType - ns=0;i=23455 */ + +static UA_StatusCode function_namespace0_generated_413_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23455LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AliasNameType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_413_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23455LU) +); +} + +/* - ns=0;i=23457 */ + +static UA_StatusCode function_namespace0_generated_414_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23457LU), +UA_NODEID_NUMERIC(ns[0], 23456LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 23455LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_414_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23457LU) +); +} + +/* NetworkAddressType - ns=0;i=21145 */ + +static UA_StatusCode function_namespace0_generated_415_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21145LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_415_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21145LU) +); +} + +/* NetworkAddressUrlType - ns=0;i=21147 */ + +static UA_StatusCode function_namespace0_generated_416_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21147LU), +UA_NODEID_NUMERIC(ns[0], 21145LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_416_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21147LU) +); +} + +/* Url - ns=0;i=21149 */ + +static UA_StatusCode function_namespace0_generated_417_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Url"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21149LU), +UA_NODEID_NUMERIC(ns[0], 21147LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Url"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_417_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21149LU) +); +} + +/* PubSubCapabilitiesType - ns=0;i=23832 */ + +static UA_StatusCode function_namespace0_generated_418_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapabilitiesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubCapabilitiesType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_418_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23832LU) +); +} + +/* SupportSecurityKeyPush - ns=0;i=32655 */ + +static UA_StatusCode function_namespace0_generated_419_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportSecurityKeyPush"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32655LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportSecurityKeyPush"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_419_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32655LU) +); +} + +/* SupportSecurityKeyPull - ns=0;i=32654 */ + +static UA_StatusCode function_namespace0_generated_420_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportSecurityKeyPull"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32654LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportSecurityKeyPull"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_420_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32654LU) +); +} + +/* MaxNetworkMessageSizeBroker - ns=0;i=32653 */ + +static UA_StatusCode function_namespace0_generated_421_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSizeBroker"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32653LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSizeBroker"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_421_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32653LU) +); +} + +/* MaxNetworkMessageSizeDatagram - ns=0;i=32652 */ + +static UA_StatusCode function_namespace0_generated_422_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSizeDatagram"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32652LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSizeDatagram"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_422_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32652LU) +); +} + +/* MaxDataSetWritersPerGroup - ns=0;i=32651 */ + +static UA_StatusCode function_namespace0_generated_423_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWritersPerGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32651LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetWritersPerGroup"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_423_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32651LU) +); +} + +/* MaxFieldsPerDataSet - ns=0;i=23838 */ + +static UA_StatusCode function_namespace0_generated_424_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23838LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_424_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23838LU) +); +} + +/* MaxDataSetReaders - ns=0;i=23837 */ + +static UA_StatusCode function_namespace0_generated_425_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23837LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_425_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23837LU) +); +} + +/* MaxDataSetWriters - ns=0;i=23836 */ + +static UA_StatusCode function_namespace0_generated_426_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23836LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_426_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23836LU) +); +} + +/* MaxReaderGroups - ns=0;i=23835 */ + +static UA_StatusCode function_namespace0_generated_427_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23835LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_427_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23835LU) +); +} + +/* MaxWriterGroups - ns=0;i=23834 */ + +static UA_StatusCode function_namespace0_generated_428_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23834LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_428_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23834LU) +); +} + +/* MaxPubSubConnections - ns=0;i=23833 */ + +static UA_StatusCode function_namespace0_generated_429_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23833LU), +UA_NODEID_NUMERIC(ns[0], 23832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_429_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23833LU) +); +} + +/* PubSubDiagnosticsCounterType - ns=0;i=19725 */ + +static UA_StatusCode function_namespace0_generated_430_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsCounterType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 19725LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsCounterType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_430_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19725LU) +); +} + +/* TimeFirstChange - ns=0;i=19729 */ + +static UA_StatusCode function_namespace0_generated_431_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TimeFirstChange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19729LU), +UA_NODEID_NUMERIC(ns[0], 19725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TimeFirstChange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_431_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19729LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19728 */ + +static UA_StatusCode function_namespace0_generated_432_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19728LU), +UA_NODEID_NUMERIC(ns[0], 19725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_432_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19728LU) +); +} + +/* Classification - ns=0;i=19727 */ + +static UA_StatusCode function_namespace0_generated_433_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19727LU), +UA_NODEID_NUMERIC(ns[0], 19725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_433_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19727LU) +); +} + +/* Active - ns=0;i=19726 */ + +static UA_StatusCode function_namespace0_generated_434_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19726LU), +UA_NODEID_NUMERIC(ns[0], 19725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_434_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19726LU) +); +} + +/* PubSubDiagnosticsType - ns=0;i=19677 */ + +static UA_StatusCode function_namespace0_generated_435_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_435_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19677LU) +); +} + +/* PubSubDiagnosticsDataSetReaderType - ns=0;i=20027 */ + +static UA_StatusCode function_namespace0_generated_436_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsDataSetReaderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 20027LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsDataSetReaderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_436_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20027LU) +); +} + +/* LiveValues - ns=0;i=20072 */ + +static UA_StatusCode function_namespace0_generated_437_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 20027LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_437_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20072LU) +); +} + +/* TimeToNextTokenID - ns=0;i=20093 */ + +static UA_StatusCode function_namespace0_generated_438_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TimeToNextTokenID"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20093LU), +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimeToNextTokenID"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_438_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20093LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20094 */ + +static UA_StatusCode function_namespace0_generated_439_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20094_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20094_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20094_variant_DataContents); +*variablenode_ns_0_i_20094_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20094_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20094LU), +UA_NODEID_NUMERIC(ns[0], 20093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20094_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_439_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20094LU) +); +} + +/* SecurityTokenID - ns=0;i=20091 */ + +static UA_StatusCode function_namespace0_generated_440_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityTokenID"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20091LU), +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityTokenID"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_440_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20091LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20092 */ + +static UA_StatusCode function_namespace0_generated_441_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20092_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20092_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20092_variant_DataContents); +*variablenode_ns_0_i_20092_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20092_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20092LU), +UA_NODEID_NUMERIC(ns[0], 20091LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20092_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_441_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20092LU) +); +} + +/* MinorVersion - ns=0;i=20089 */ + +static UA_StatusCode function_namespace0_generated_442_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MinorVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20089LU), +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MinorVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_442_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20089LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20090 */ + +static UA_StatusCode function_namespace0_generated_443_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20090_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20090_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20090_variant_DataContents); +*variablenode_ns_0_i_20090_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20090_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20090LU), +UA_NODEID_NUMERIC(ns[0], 20089LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20090_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_443_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20090LU) +); +} + +/* MajorVersion - ns=0;i=20087 */ + +static UA_StatusCode function_namespace0_generated_444_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MajorVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20087LU), +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MajorVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_444_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20087LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20088 */ + +static UA_StatusCode function_namespace0_generated_445_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20088_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20088_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20088_variant_DataContents); +*variablenode_ns_0_i_20088_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20088_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20088LU), +UA_NODEID_NUMERIC(ns[0], 20087LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20088_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_445_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20088LU) +); +} + +/* StatusCode - ns=0;i=20085 */ + +static UA_StatusCode function_namespace0_generated_446_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatusCode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20085LU), +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatusCode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_446_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20085LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20086 */ + +static UA_StatusCode function_namespace0_generated_447_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20086_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20086_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20086_variant_DataContents); +*variablenode_ns_0_i_20086_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20086_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20086LU), +UA_NODEID_NUMERIC(ns[0], 20085LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20086_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_447_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20086LU) +); +} + +/* MessageSequenceNumber - ns=0;i=20083 */ + +static UA_StatusCode function_namespace0_generated_448_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSequenceNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20083LU), +UA_NODEID_NUMERIC(ns[0], 20072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MessageSequenceNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_448_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20083LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20084 */ + +static UA_StatusCode function_namespace0_generated_449_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20084_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20084_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20084_variant_DataContents); +*variablenode_ns_0_i_20084_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20084_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20084LU), +UA_NODEID_NUMERIC(ns[0], 20083LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20084_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_449_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20084LU) +); +} + +/* Counters - ns=0;i=20041 */ + +static UA_StatusCode function_namespace0_generated_450_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 20041LU), +UA_NODEID_NUMERIC(ns[0], 20027LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_450_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20041LU) +); +} + +/* DecryptionErrors - ns=0;i=20078 */ + +static UA_StatusCode function_namespace0_generated_451_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DecryptionErrors"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20078LU), +UA_NODEID_NUMERIC(ns[0], 20041LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DecryptionErrors"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_451_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20078LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20081 */ + +static UA_StatusCode function_namespace0_generated_452_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20081_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20081_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20081_variant_DataContents); +*variablenode_ns_0_i_20081_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20081_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20081LU), +UA_NODEID_NUMERIC(ns[0], 20078LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20081_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_452_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20081LU) +); +} + +/* Classification - ns=0;i=20080 */ + +static UA_StatusCode function_namespace0_generated_453_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_20080_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20080_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20080_variant_DataContents); +*variablenode_ns_0_i_20080_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20080_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20080LU), +UA_NODEID_NUMERIC(ns[0], 20078LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20080_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_453_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20080LU) +); +} + +/* Active - ns=0;i=20079 */ + +static UA_StatusCode function_namespace0_generated_454_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20079LU), +UA_NODEID_NUMERIC(ns[0], 20078LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_454_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20079LU) +); +} + +/* FailedDataSetMessages - ns=0;i=20073 */ + +static UA_StatusCode function_namespace0_generated_455_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20073LU), +UA_NODEID_NUMERIC(ns[0], 20041LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_455_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20073LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20076 */ + +static UA_StatusCode function_namespace0_generated_456_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20076_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20076_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20076_variant_DataContents); +*variablenode_ns_0_i_20076_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20076_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20076LU), +UA_NODEID_NUMERIC(ns[0], 20073LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20076_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_456_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20076LU) +); +} + +/* Classification - ns=0;i=20075 */ + +static UA_StatusCode function_namespace0_generated_457_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_20075_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20075_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20075_variant_DataContents); +*variablenode_ns_0_i_20075_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20075_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20075LU), +UA_NODEID_NUMERIC(ns[0], 20073LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20075_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_457_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20075LU) +); +} + +/* Active - ns=0;i=20074 */ + +static UA_StatusCode function_namespace0_generated_458_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20074LU), +UA_NODEID_NUMERIC(ns[0], 20073LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_458_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20074LU) +); +} + +/* PubSubDiagnosticsDataSetWriterType - ns=0;i=19968 */ + +static UA_StatusCode function_namespace0_generated_459_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsDataSetWriterType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19968LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsDataSetWriterType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_459_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19968LU) +); +} + +/* LiveValues - ns=0;i=20013 */ + +static UA_StatusCode function_namespace0_generated_460_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 20013LU), +UA_NODEID_NUMERIC(ns[0], 19968LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_460_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20013LU) +); +} + +/* MinorVersion - ns=0;i=20025 */ + +static UA_StatusCode function_namespace0_generated_461_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MinorVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20025LU), +UA_NODEID_NUMERIC(ns[0], 20013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MinorVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_461_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20025LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20026 */ + +static UA_StatusCode function_namespace0_generated_462_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20026_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20026_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20026_variant_DataContents); +*variablenode_ns_0_i_20026_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20026_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20026LU), +UA_NODEID_NUMERIC(ns[0], 20025LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20026_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_462_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20026LU) +); +} + +/* MajorVersion - ns=0;i=20023 */ + +static UA_StatusCode function_namespace0_generated_463_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MajorVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20023LU), +UA_NODEID_NUMERIC(ns[0], 20013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MajorVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_463_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20023LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20024 */ + +static UA_StatusCode function_namespace0_generated_464_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20024_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20024_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20024_variant_DataContents); +*variablenode_ns_0_i_20024_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20024_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20024LU), +UA_NODEID_NUMERIC(ns[0], 20023LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20024_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_464_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20024LU) +); +} + +/* StatusCode - ns=0;i=20021 */ + +static UA_StatusCode function_namespace0_generated_465_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatusCode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20021LU), +UA_NODEID_NUMERIC(ns[0], 20013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatusCode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_465_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20021LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20022 */ + +static UA_StatusCode function_namespace0_generated_466_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20022_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20022_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20022_variant_DataContents); +*variablenode_ns_0_i_20022_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20022_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20022LU), +UA_NODEID_NUMERIC(ns[0], 20021LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20022_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_466_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20022LU) +); +} + +/* MessageSequenceNumber - ns=0;i=20019 */ + +static UA_StatusCode function_namespace0_generated_467_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSequenceNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20019LU), +UA_NODEID_NUMERIC(ns[0], 20013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MessageSequenceNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_467_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20019LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20020 */ + +static UA_StatusCode function_namespace0_generated_468_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20020_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20020_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20020_variant_DataContents); +*variablenode_ns_0_i_20020_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20020_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20020LU), +UA_NODEID_NUMERIC(ns[0], 20019LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20020_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_468_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20020LU) +); +} + +/* Counters - ns=0;i=19982 */ + +static UA_StatusCode function_namespace0_generated_469_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19982LU), +UA_NODEID_NUMERIC(ns[0], 19968LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_469_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19982LU) +); +} + +/* FailedDataSetMessages - ns=0;i=20014 */ + +static UA_StatusCode function_namespace0_generated_470_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20014LU), +UA_NODEID_NUMERIC(ns[0], 19982LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_470_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20014LU) +); +} + +/* DiagnosticsLevel - ns=0;i=20017 */ + +static UA_StatusCode function_namespace0_generated_471_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_20017_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20017_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20017_variant_DataContents); +*variablenode_ns_0_i_20017_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20017_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20017LU), +UA_NODEID_NUMERIC(ns[0], 20014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20017_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_471_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20017LU) +); +} + +/* Classification - ns=0;i=20016 */ + +static UA_StatusCode function_namespace0_generated_472_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_20016_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_20016_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_20016_variant_DataContents); +*variablenode_ns_0_i_20016_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20016_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20016LU), +UA_NODEID_NUMERIC(ns[0], 20014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_20016_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_472_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20016LU) +); +} + +/* Active - ns=0;i=20015 */ + +static UA_StatusCode function_namespace0_generated_473_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20015LU), +UA_NODEID_NUMERIC(ns[0], 20014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_473_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20015LU) +); +} + +/* PubSubDiagnosticsReaderGroupType - ns=0;i=19903 */ + +static UA_StatusCode function_namespace0_generated_474_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsReaderGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19903LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsReaderGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_474_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19903LU) +); +} + +/* LiveValues - ns=0;i=19948 */ + +static UA_StatusCode function_namespace0_generated_475_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19948LU), +UA_NODEID_NUMERIC(ns[0], 19903LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_475_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19948LU) +); +} + +/* OperationalDataSetReaders - ns=0;i=19966 */ + +static UA_StatusCode function_namespace0_generated_476_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19966LU), +UA_NODEID_NUMERIC(ns[0], 19948LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_476_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19966LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19967 */ + +static UA_StatusCode function_namespace0_generated_477_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19967_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19967_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19967_variant_DataContents); +*variablenode_ns_0_i_19967_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19967_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19967LU), +UA_NODEID_NUMERIC(ns[0], 19966LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19967_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_477_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19967LU) +); +} + +/* ConfiguredDataSetReaders - ns=0;i=19964 */ + +static UA_StatusCode function_namespace0_generated_478_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19964LU), +UA_NODEID_NUMERIC(ns[0], 19948LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_478_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19964LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19965 */ + +static UA_StatusCode function_namespace0_generated_479_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19965_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19965_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19965_variant_DataContents); +*variablenode_ns_0_i_19965_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19965_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19965LU), +UA_NODEID_NUMERIC(ns[0], 19964LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19965_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_479_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19965LU) +); +} + +/* Counters - ns=0;i=19917 */ + +static UA_StatusCode function_namespace0_generated_480_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19917LU), +UA_NODEID_NUMERIC(ns[0], 19903LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_480_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19917LU) +); +} + +/* DecryptionErrors - ns=0;i=19959 */ + +static UA_StatusCode function_namespace0_generated_481_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DecryptionErrors"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19959LU), +UA_NODEID_NUMERIC(ns[0], 19917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DecryptionErrors"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_481_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19959LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19962 */ + +static UA_StatusCode function_namespace0_generated_482_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19962_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19962_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19962_variant_DataContents); +*variablenode_ns_0_i_19962_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19962_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19962LU), +UA_NODEID_NUMERIC(ns[0], 19959LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19962_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_482_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19962LU) +); +} + +/* Classification - ns=0;i=19961 */ + +static UA_StatusCode function_namespace0_generated_483_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19961_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19961_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19961_variant_DataContents); +*variablenode_ns_0_i_19961_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19961_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19961LU), +UA_NODEID_NUMERIC(ns[0], 19959LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19961_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_483_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19961LU) +); +} + +/* Active - ns=0;i=19960 */ + +static UA_StatusCode function_namespace0_generated_484_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19960LU), +UA_NODEID_NUMERIC(ns[0], 19959LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_484_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19960LU) +); +} + +/* ReceivedInvalidNetworkMessages - ns=0;i=19954 */ + +static UA_StatusCode function_namespace0_generated_485_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceivedInvalidNetworkMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19954LU), +UA_NODEID_NUMERIC(ns[0], 19917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceivedInvalidNetworkMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_485_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19954LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19957 */ + +static UA_StatusCode function_namespace0_generated_486_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19957_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19957_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19957_variant_DataContents); +*variablenode_ns_0_i_19957_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19957_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19957LU), +UA_NODEID_NUMERIC(ns[0], 19954LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19957_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_486_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19957LU) +); +} + +/* Classification - ns=0;i=19956 */ + +static UA_StatusCode function_namespace0_generated_487_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19956_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19956_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19956_variant_DataContents); +*variablenode_ns_0_i_19956_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19956_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19956LU), +UA_NODEID_NUMERIC(ns[0], 19954LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19956_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_487_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19956LU) +); +} + +/* Active - ns=0;i=19955 */ + +static UA_StatusCode function_namespace0_generated_488_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19955LU), +UA_NODEID_NUMERIC(ns[0], 19954LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_488_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19955LU) +); +} + +/* ReceivedNetworkMessages - ns=0;i=19949 */ + +static UA_StatusCode function_namespace0_generated_489_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceivedNetworkMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19949LU), +UA_NODEID_NUMERIC(ns[0], 19917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceivedNetworkMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_489_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19949LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19952 */ + +static UA_StatusCode function_namespace0_generated_490_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19952_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19952_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19952_variant_DataContents); +*variablenode_ns_0_i_19952_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19952_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19952LU), +UA_NODEID_NUMERIC(ns[0], 19949LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19952_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_490_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19952LU) +); +} + +/* Classification - ns=0;i=19951 */ + +static UA_StatusCode function_namespace0_generated_491_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19951_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19951_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19951_variant_DataContents); +*variablenode_ns_0_i_19951_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19951_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19951LU), +UA_NODEID_NUMERIC(ns[0], 19949LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19951_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_491_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19951LU) +); +} + +/* Active - ns=0;i=19950 */ + +static UA_StatusCode function_namespace0_generated_492_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19950LU), +UA_NODEID_NUMERIC(ns[0], 19949LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_492_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19950LU) +); +} + +/* PubSubDiagnosticsWriterGroupType - ns=0;i=19834 */ + +static UA_StatusCode function_namespace0_generated_493_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsWriterGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19834LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsWriterGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_493_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19834LU) +); +} + +/* LiveValues - ns=0;i=19879 */ + +static UA_StatusCode function_namespace0_generated_494_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19879LU), +UA_NODEID_NUMERIC(ns[0], 19834LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_494_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19879LU) +); +} + +/* TimeToNextTokenID - ns=0;i=19901 */ + +static UA_StatusCode function_namespace0_generated_495_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TimeToNextTokenID"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19901LU), +UA_NODEID_NUMERIC(ns[0], 19879LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimeToNextTokenID"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_495_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19901LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19902 */ + +static UA_StatusCode function_namespace0_generated_496_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19902_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19902_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19902_variant_DataContents); +*variablenode_ns_0_i_19902_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19902_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19902LU), +UA_NODEID_NUMERIC(ns[0], 19901LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19902_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_496_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19902LU) +); +} + +/* SecurityTokenID - ns=0;i=19899 */ + +static UA_StatusCode function_namespace0_generated_497_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityTokenID"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19899LU), +UA_NODEID_NUMERIC(ns[0], 19879LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityTokenID"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_497_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19899LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19900 */ + +static UA_StatusCode function_namespace0_generated_498_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19900_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19900_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19900_variant_DataContents); +*variablenode_ns_0_i_19900_variant_DataContents = (UA_Int32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19900_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19900LU), +UA_NODEID_NUMERIC(ns[0], 19899LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19900_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_498_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19900LU) +); +} + +/* OperationalDataSetWriters - ns=0;i=19897 */ + +static UA_StatusCode function_namespace0_generated_499_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19897LU), +UA_NODEID_NUMERIC(ns[0], 19879LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_499_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19897LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19898 */ + +static UA_StatusCode function_namespace0_generated_500_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19898_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19898_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19898_variant_DataContents); +*variablenode_ns_0_i_19898_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19898_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19898LU), +UA_NODEID_NUMERIC(ns[0], 19897LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19898_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_500_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19898LU) +); +} + +/* ConfiguredDataSetWriters - ns=0;i=19895 */ + +static UA_StatusCode function_namespace0_generated_501_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19895LU), +UA_NODEID_NUMERIC(ns[0], 19879LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_501_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19895LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19896 */ + +static UA_StatusCode function_namespace0_generated_502_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19896_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19896_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19896_variant_DataContents); +*variablenode_ns_0_i_19896_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19896_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19896LU), +UA_NODEID_NUMERIC(ns[0], 19895LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19896_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_502_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19896LU) +); +} + +/* Counters - ns=0;i=19848 */ + +static UA_StatusCode function_namespace0_generated_503_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19848LU), +UA_NODEID_NUMERIC(ns[0], 19834LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_503_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19848LU) +); +} + +/* EncryptionErrors - ns=0;i=19890 */ + +static UA_StatusCode function_namespace0_generated_504_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EncryptionErrors"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19890LU), +UA_NODEID_NUMERIC(ns[0], 19848LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EncryptionErrors"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_504_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19890LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19893 */ + +static UA_StatusCode function_namespace0_generated_505_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19893_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19893_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19893_variant_DataContents); +*variablenode_ns_0_i_19893_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19893_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19893LU), +UA_NODEID_NUMERIC(ns[0], 19890LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19893_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_505_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19893LU) +); +} + +/* Classification - ns=0;i=19892 */ + +static UA_StatusCode function_namespace0_generated_506_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19892_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19892_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19892_variant_DataContents); +*variablenode_ns_0_i_19892_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19892_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19892LU), +UA_NODEID_NUMERIC(ns[0], 19890LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19892_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_506_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19892LU) +); +} + +/* Active - ns=0;i=19891 */ + +static UA_StatusCode function_namespace0_generated_507_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19891LU), +UA_NODEID_NUMERIC(ns[0], 19890LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_507_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19891LU) +); +} + +/* FailedTransmissions - ns=0;i=19885 */ + +static UA_StatusCode function_namespace0_generated_508_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailedTransmissions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19885LU), +UA_NODEID_NUMERIC(ns[0], 19848LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailedTransmissions"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_508_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19885LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19888 */ + +static UA_StatusCode function_namespace0_generated_509_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19888_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19888_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19888_variant_DataContents); +*variablenode_ns_0_i_19888_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19888_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19888LU), +UA_NODEID_NUMERIC(ns[0], 19885LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19888_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_509_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19888LU) +); +} + +/* Classification - ns=0;i=19887 */ + +static UA_StatusCode function_namespace0_generated_510_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19887_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19887_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19887_variant_DataContents); +*variablenode_ns_0_i_19887_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19887_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19887LU), +UA_NODEID_NUMERIC(ns[0], 19885LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19887_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_510_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19887LU) +); +} + +/* Active - ns=0;i=19886 */ + +static UA_StatusCode function_namespace0_generated_511_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19886LU), +UA_NODEID_NUMERIC(ns[0], 19885LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_511_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19886LU) +); +} + +/* SentNetworkMessages - ns=0;i=19880 */ + +static UA_StatusCode function_namespace0_generated_512_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SentNetworkMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19880LU), +UA_NODEID_NUMERIC(ns[0], 19848LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SentNetworkMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_512_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19880LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19883 */ + +static UA_StatusCode function_namespace0_generated_513_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19883_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19883_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19883_variant_DataContents); +*variablenode_ns_0_i_19883_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19883_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19883LU), +UA_NODEID_NUMERIC(ns[0], 19880LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19883_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_513_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19883LU) +); +} + +/* Classification - ns=0;i=19882 */ + +static UA_StatusCode function_namespace0_generated_514_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19882_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19882_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19882_variant_DataContents); +*variablenode_ns_0_i_19882_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19882_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19882LU), +UA_NODEID_NUMERIC(ns[0], 19880LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19882_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_514_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19882LU) +); +} + +/* Active - ns=0;i=19881 */ + +static UA_StatusCode function_namespace0_generated_515_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19881LU), +UA_NODEID_NUMERIC(ns[0], 19880LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_515_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19881LU) +); +} + +/* PubSubDiagnosticsConnectionType - ns=0;i=19786 */ + +static UA_StatusCode function_namespace0_generated_516_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsConnectionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19786LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsConnectionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_516_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19786LU) +); +} + +/* LiveValues - ns=0;i=19831 */ + +static UA_StatusCode function_namespace0_generated_517_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19831LU), +UA_NODEID_NUMERIC(ns[0], 19786LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_517_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19831LU) +); +} + +/* ResolvedAddress - ns=0;i=19832 */ + +static UA_StatusCode function_namespace0_generated_518_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResolvedAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19832LU), +UA_NODEID_NUMERIC(ns[0], 19831LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ResolvedAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_518_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19832LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19833 */ + +static UA_StatusCode function_namespace0_generated_519_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19833_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19833_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19833_variant_DataContents); +*variablenode_ns_0_i_19833_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19833_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19833LU), +UA_NODEID_NUMERIC(ns[0], 19832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19833_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_519_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19833LU) +); +} + +/* PubSubDiagnosticsRootType - ns=0;i=19732 */ + +static UA_StatusCode function_namespace0_generated_520_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsRootType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19732LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsRootType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_520_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19732LU) +); +} + +/* LiveValues - ns=0;i=19777 */ + +static UA_StatusCode function_namespace0_generated_521_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19777LU), +UA_NODEID_NUMERIC(ns[0], 19732LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_521_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19777LU) +); +} + +/* OperationalDataSetReaders - ns=0;i=19784 */ + +static UA_StatusCode function_namespace0_generated_522_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19784LU), +UA_NODEID_NUMERIC(ns[0], 19777LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_522_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19784LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19785 */ + +static UA_StatusCode function_namespace0_generated_523_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19785_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19785_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19785_variant_DataContents); +*variablenode_ns_0_i_19785_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19785_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19785LU), +UA_NODEID_NUMERIC(ns[0], 19784LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19785_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_523_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19785LU) +); +} + +/* OperationalDataSetWriters - ns=0;i=19782 */ + +static UA_StatusCode function_namespace0_generated_524_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19782LU), +UA_NODEID_NUMERIC(ns[0], 19777LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_524_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19782LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19783 */ + +static UA_StatusCode function_namespace0_generated_525_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19783_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19783_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19783_variant_DataContents); +*variablenode_ns_0_i_19783_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19783_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19783LU), +UA_NODEID_NUMERIC(ns[0], 19782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19783_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_525_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19783LU) +); +} + +/* ConfiguredDataSetReaders - ns=0;i=19780 */ + +static UA_StatusCode function_namespace0_generated_526_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19780LU), +UA_NODEID_NUMERIC(ns[0], 19777LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_526_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19780LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19781 */ + +static UA_StatusCode function_namespace0_generated_527_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19781_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19781_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19781_variant_DataContents); +*variablenode_ns_0_i_19781_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19781_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19781LU), +UA_NODEID_NUMERIC(ns[0], 19780LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19781_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_527_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19781LU) +); +} + +/* ConfiguredDataSetWriters - ns=0;i=19778 */ + +static UA_StatusCode function_namespace0_generated_528_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19778LU), +UA_NODEID_NUMERIC(ns[0], 19777LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_528_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19778LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19779 */ + +static UA_StatusCode function_namespace0_generated_529_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19779_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19779_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19779_variant_DataContents); +*variablenode_ns_0_i_19779_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19779_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19779LU), +UA_NODEID_NUMERIC(ns[0], 19778LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19779_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_529_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19779LU) +); +} + +/* LiveValues - ns=0;i=19722 */ + +static UA_StatusCode function_namespace0_generated_530_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19722LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_530_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19722LU) +); +} + +/* Counters - ns=0;i=19691 */ + +static UA_StatusCode function_namespace0_generated_531_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_531_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19691LU) +); +} + +/* StateDisabledByMethod - ns=0;i=19717 */ + +static UA_StatusCode function_namespace0_generated_532_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19717LU), +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_532_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19717LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19720 */ + +static UA_StatusCode function_namespace0_generated_533_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19720_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19720_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19720_variant_DataContents); +*variablenode_ns_0_i_19720_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19720_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19720LU), +UA_NODEID_NUMERIC(ns[0], 19717LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19720_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_533_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19720LU) +); +} + +/* Classification - ns=0;i=19719 */ + +static UA_StatusCode function_namespace0_generated_534_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19719_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19719_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19719_variant_DataContents); +*variablenode_ns_0_i_19719_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19719_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19719LU), +UA_NODEID_NUMERIC(ns[0], 19717LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19719_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_534_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19719LU) +); +} + +/* Active - ns=0;i=19718 */ + +static UA_StatusCode function_namespace0_generated_535_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19718LU), +UA_NODEID_NUMERIC(ns[0], 19717LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_535_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19718LU) +); +} + +/* StatePausedByParent - ns=0;i=19712 */ + +static UA_StatusCode function_namespace0_generated_536_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19712LU), +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_536_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19712LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19715 */ + +static UA_StatusCode function_namespace0_generated_537_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19715_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19715_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19715_variant_DataContents); +*variablenode_ns_0_i_19715_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19715_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19715LU), +UA_NODEID_NUMERIC(ns[0], 19712LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19715_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_537_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19715LU) +); +} + +/* Classification - ns=0;i=19714 */ + +static UA_StatusCode function_namespace0_generated_538_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19714_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19714_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19714_variant_DataContents); +*variablenode_ns_0_i_19714_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19714_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19714LU), +UA_NODEID_NUMERIC(ns[0], 19712LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19714_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_538_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19714LU) +); +} + +/* Active - ns=0;i=19713 */ + +static UA_StatusCode function_namespace0_generated_539_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19713LU), +UA_NODEID_NUMERIC(ns[0], 19712LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_539_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19713LU) +); +} + +/* StateOperationalFromError - ns=0;i=19707 */ + +static UA_StatusCode function_namespace0_generated_540_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19707LU), +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_540_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19707LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19710 */ + +static UA_StatusCode function_namespace0_generated_541_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19710_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19710_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19710_variant_DataContents); +*variablenode_ns_0_i_19710_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19710_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19710LU), +UA_NODEID_NUMERIC(ns[0], 19707LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19710_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_541_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19710LU) +); +} + +/* Classification - ns=0;i=19709 */ + +static UA_StatusCode function_namespace0_generated_542_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19709_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19709_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19709_variant_DataContents); +*variablenode_ns_0_i_19709_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19709_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19709LU), +UA_NODEID_NUMERIC(ns[0], 19707LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19709_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_542_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19709LU) +); +} + +/* Active - ns=0;i=19708 */ + +static UA_StatusCode function_namespace0_generated_543_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19708LU), +UA_NODEID_NUMERIC(ns[0], 19707LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_543_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19708LU) +); +} + +/* StateOperationalByParent - ns=0;i=19702 */ + +static UA_StatusCode function_namespace0_generated_544_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19702LU), +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_544_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19702LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19705 */ + +static UA_StatusCode function_namespace0_generated_545_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19705_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19705_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19705_variant_DataContents); +*variablenode_ns_0_i_19705_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19705_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19705LU), +UA_NODEID_NUMERIC(ns[0], 19702LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19705_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_545_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19705LU) +); +} + +/* Classification - ns=0;i=19704 */ + +static UA_StatusCode function_namespace0_generated_546_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19704_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19704_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19704_variant_DataContents); +*variablenode_ns_0_i_19704_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19704_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19704LU), +UA_NODEID_NUMERIC(ns[0], 19702LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19704_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_546_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19704LU) +); +} + +/* Active - ns=0;i=19703 */ + +static UA_StatusCode function_namespace0_generated_547_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19703LU), +UA_NODEID_NUMERIC(ns[0], 19702LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_547_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19703LU) +); +} + +/* StateOperationalByMethod - ns=0;i=19697 */ + +static UA_StatusCode function_namespace0_generated_548_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19697LU), +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_548_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19697LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19700 */ + +static UA_StatusCode function_namespace0_generated_549_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19700_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19700_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19700_variant_DataContents); +*variablenode_ns_0_i_19700_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19700_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19700LU), +UA_NODEID_NUMERIC(ns[0], 19697LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19700_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_549_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19700LU) +); +} + +/* Classification - ns=0;i=19699 */ + +static UA_StatusCode function_namespace0_generated_550_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19699_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19699_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19699_variant_DataContents); +*variablenode_ns_0_i_19699_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19699_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19699LU), +UA_NODEID_NUMERIC(ns[0], 19697LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19699_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_550_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19699LU) +); +} + +/* Active - ns=0;i=19698 */ + +static UA_StatusCode function_namespace0_generated_551_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19698LU), +UA_NODEID_NUMERIC(ns[0], 19697LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_551_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19698LU) +); +} + +/* StateError - ns=0;i=19692 */ + +static UA_StatusCode function_namespace0_generated_552_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19692LU), +UA_NODEID_NUMERIC(ns[0], 19691LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_552_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19692LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19695 */ + +static UA_StatusCode function_namespace0_generated_553_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19695_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19695_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19695_variant_DataContents); +*variablenode_ns_0_i_19695_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19695_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19695LU), +UA_NODEID_NUMERIC(ns[0], 19692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19695_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_553_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19695LU) +); +} + +/* Classification - ns=0;i=19694 */ + +static UA_StatusCode function_namespace0_generated_554_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19694_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19694_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19694_variant_DataContents); +*variablenode_ns_0_i_19694_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19694_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19694LU), +UA_NODEID_NUMERIC(ns[0], 19692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19694_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_554_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19694LU) +); +} + +/* Active - ns=0;i=19693 */ + +static UA_StatusCode function_namespace0_generated_555_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19693LU), +UA_NODEID_NUMERIC(ns[0], 19692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_555_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19693LU) +); +} + +/* SubError - ns=0;i=19690 */ + +static UA_StatusCode function_namespace0_generated_556_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19690LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_556_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19690LU) +); +} + +/* Reset - ns=0;i=19689 */ + +static UA_StatusCode function_namespace0_generated_557_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19689LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_557_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19689LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=19684 */ + +static UA_StatusCode function_namespace0_generated_558_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19684LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_558_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19684LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19687 */ + +static UA_StatusCode function_namespace0_generated_559_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19687LU), +UA_NODEID_NUMERIC(ns[0], 19684LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_559_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19687LU) +); +} + +/* Classification - ns=0;i=19686 */ + +static UA_StatusCode function_namespace0_generated_560_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19686LU), +UA_NODEID_NUMERIC(ns[0], 19684LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_560_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19686LU) +); +} + +/* Active - ns=0;i=19685 */ + +static UA_StatusCode function_namespace0_generated_561_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19685LU), +UA_NODEID_NUMERIC(ns[0], 19684LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_561_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19685LU) +); +} + +/* TotalInformation - ns=0;i=19679 */ + +static UA_StatusCode function_namespace0_generated_562_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19679LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_562_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19679LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19682 */ + +static UA_StatusCode function_namespace0_generated_563_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19682LU), +UA_NODEID_NUMERIC(ns[0], 19679LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_563_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19682LU) +); +} + +/* Classification - ns=0;i=19681 */ + +static UA_StatusCode function_namespace0_generated_564_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19681LU), +UA_NODEID_NUMERIC(ns[0], 19679LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_564_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19681LU) +); +} + +/* Active - ns=0;i=19680 */ + +static UA_StatusCode function_namespace0_generated_565_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19680LU), +UA_NODEID_NUMERIC(ns[0], 19679LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_565_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19680LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19678 */ + +static UA_StatusCode function_namespace0_generated_566_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19678LU), +UA_NODEID_NUMERIC(ns[0], 19677LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_566_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19678LU) +); +} + +/* PubSubStatusType - ns=0;i=14643 */ + +static UA_StatusCode function_namespace0_generated_567_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubStatusType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14643LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubStatusType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_567_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14643LU) +); +} + +/* Disable - ns=0;i=14646 */ + +static UA_StatusCode function_namespace0_generated_568_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14646LU), +UA_NODEID_NUMERIC(ns[0], 14643LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Disable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_568_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14646LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Enable - ns=0;i=14645 */ + +static UA_StatusCode function_namespace0_generated_569_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14645LU), +UA_NODEID_NUMERIC(ns[0], 14643LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Enable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_569_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14645LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* State - ns=0;i=14644 */ + +static UA_StatusCode function_namespace0_generated_570_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14644LU), +UA_NODEID_NUMERIC(ns[0], 14643LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_570_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14644LU) +); +} + +/* StandaloneSubscribedDataSetType - ns=0;i=23828 */ + +static UA_StatusCode function_namespace0_generated_571_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23828LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_571_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23828LU) +); +} + +/* IsConnected - ns=0;i=23831 */ + +static UA_StatusCode function_namespace0_generated_572_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsConnected"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23831LU), +UA_NODEID_NUMERIC(ns[0], 23828LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsConnected"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_572_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23831LU) +); +} + +/* DataSetMetaData - ns=0;i=23830 */ + +static UA_StatusCode function_namespace0_generated_573_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23830LU), +UA_NODEID_NUMERIC(ns[0], 23828LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_573_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23830LU) +); +} + +/* SubscribedDataSetFolderType - ns=0;i=23795 */ + +static UA_StatusCode function_namespace0_generated_574_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_574_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23795LU) +); +} + +/* RemoveDataSetFolder - ns=0;i=23819 */ + +static UA_StatusCode function_namespace0_generated_575_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23819LU), +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_575_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23819LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23820 */ + +static UA_StatusCode function_namespace0_generated_576_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23820_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23820_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23820_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_23820_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23820_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23820_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23820LU), +UA_NODEID_NUMERIC(ns[0], 23819LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_576_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23820LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddDataSetFolder - ns=0;i=23816 */ + +static UA_StatusCode function_namespace0_generated_577_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23816LU), +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_577_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23816LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23818 */ + +static UA_StatusCode function_namespace0_generated_578_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23818_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23818_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23818_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_23818_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23818_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23818_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23818LU), +UA_NODEID_NUMERIC(ns[0], 23816LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_578_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23818LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23817 */ + +static UA_StatusCode function_namespace0_generated_579_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23817_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23817_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23817_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_23817_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23817_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23817_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23817LU), +UA_NODEID_NUMERIC(ns[0], 23816LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_579_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23817LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveSubscribedDataSet - ns=0;i=23814 */ + +static UA_StatusCode function_namespace0_generated_580_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23814LU), +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSubscribedDataSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_580_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23814LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23815 */ + +static UA_StatusCode function_namespace0_generated_581_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23815_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23815_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23815_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); +variablenode_ns_0_i_23815_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23815_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23815_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23815LU), +UA_NODEID_NUMERIC(ns[0], 23814LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_581_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23815LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSubscribedDataSet - ns=0;i=23811 */ + +static UA_StatusCode function_namespace0_generated_582_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23811LU), +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSubscribedDataSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_582_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23811LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23813 */ + +static UA_StatusCode function_namespace0_generated_583_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23813_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23813_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23813_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); +variablenode_ns_0_i_23813_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23813_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23813_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23813LU), +UA_NODEID_NUMERIC(ns[0], 23811LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_583_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23813LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23812 */ + +static UA_StatusCode function_namespace0_generated_584_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23812_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23812_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23812_variant_DataContents[0].name = UA_STRING("SubscribedDataSet"); +variablenode_ns_0_i_23812_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23600LU); +variablenode_ns_0_i_23812_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23812_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23812LU), +UA_NODEID_NUMERIC(ns[0], 23811LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_584_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23812LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=23807 */ + +static UA_StatusCode function_namespace0_generated_585_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23807LU), +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 23828LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_585_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23807LU) +); +} + +/* IsConnected - ns=0;i=23810 */ + +static UA_StatusCode function_namespace0_generated_586_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsConnected"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23810LU), +UA_NODEID_NUMERIC(ns[0], 23807LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsConnected"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_586_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23810LU) +); +} + +/* DataSetMetaData - ns=0;i=23809 */ + +static UA_StatusCode function_namespace0_generated_587_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23809LU), +UA_NODEID_NUMERIC(ns[0], 23807LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_587_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23809LU) +); +} + +/* - ns=0;i=23796 */ + +static UA_StatusCode function_namespace0_generated_588_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23796LU), +UA_NODEID_NUMERIC(ns[0], 23795LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 23795LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_588_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23796LU) +); +} + +/* RemoveDataSetFolder - ns=0;i=23805 */ + +static UA_StatusCode function_namespace0_generated_589_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23805LU), +UA_NODEID_NUMERIC(ns[0], 23796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_589_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23805LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23806 */ + +static UA_StatusCode function_namespace0_generated_590_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23806_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23806_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23806_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_23806_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23806_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23806_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23806LU), +UA_NODEID_NUMERIC(ns[0], 23805LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_590_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23806LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddDataSetFolder - ns=0;i=23802 */ + +static UA_StatusCode function_namespace0_generated_591_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23802LU), +UA_NODEID_NUMERIC(ns[0], 23796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_591_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23802LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23804 */ + +static UA_StatusCode function_namespace0_generated_592_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23804_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23804_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23804_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_23804_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23804_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23804_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23804LU), +UA_NODEID_NUMERIC(ns[0], 23802LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_592_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23804LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23803 */ + +static UA_StatusCode function_namespace0_generated_593_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23803_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23803_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23803_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_23803_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_23803_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23803_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23803LU), +UA_NODEID_NUMERIC(ns[0], 23802LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_593_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23803LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveSubscribedDataSet - ns=0;i=23800 */ + +static UA_StatusCode function_namespace0_generated_594_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23800LU), +UA_NODEID_NUMERIC(ns[0], 23796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSubscribedDataSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_594_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23800LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23801 */ + +static UA_StatusCode function_namespace0_generated_595_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23801_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23801_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23801_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); +variablenode_ns_0_i_23801_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23801_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23801_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23801LU), +UA_NODEID_NUMERIC(ns[0], 23800LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_595_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23801LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSubscribedDataSet - ns=0;i=23797 */ + +static UA_StatusCode function_namespace0_generated_596_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23797LU), +UA_NODEID_NUMERIC(ns[0], 23796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSubscribedDataSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_596_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23797LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23799 */ + +static UA_StatusCode function_namespace0_generated_597_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23799_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23799_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23799_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); +variablenode_ns_0_i_23799_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_23799_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23799_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23799LU), +UA_NODEID_NUMERIC(ns[0], 23797LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_597_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23799LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=23798 */ + +static UA_StatusCode function_namespace0_generated_598_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23798_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23798_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23798_variant_DataContents[0].name = UA_STRING("SubscribedDataSet"); +variablenode_ns_0_i_23798_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23600LU); +variablenode_ns_0_i_23798_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23798_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23798LU), +UA_NODEID_NUMERIC(ns[0], 23797LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_598_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23798LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SubscribedDataSetType - ns=0;i=15108 */ + +static UA_StatusCode function_namespace0_generated_599_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15108LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_599_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15108LU) +); +} + +/* SubscribedDataSet - ns=0;i=23829 */ + +static UA_StatusCode function_namespace0_generated_600_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23829LU), +UA_NODEID_NUMERIC(ns[0], 23828LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), +UA_NODEID_NUMERIC(ns[0], 15108LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_600_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23829LU) +); +} + +/* SubscribedDataSet - ns=0;i=23808 */ + +static UA_StatusCode function_namespace0_generated_601_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23808LU), +UA_NODEID_NUMERIC(ns[0], 23807LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), +UA_NODEID_NUMERIC(ns[0], 15108LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_601_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23808LU) +); +} + +/* SubscribedDataSetMirrorType - ns=0;i=15127 */ + +static UA_StatusCode function_namespace0_generated_602_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15127LU), +UA_NODEID_NUMERIC(ns[0], 15108LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_602_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15127LU) +); +} + +/* TargetVariablesType - ns=0;i=15111 */ + +static UA_StatusCode function_namespace0_generated_603_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15111LU), +UA_NODEID_NUMERIC(ns[0], 15108LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TargetVariablesType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_603_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15111LU) +); +} + +/* RemoveTargetVariables - ns=0;i=15118 */ + +static UA_StatusCode function_namespace0_generated_604_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveTargetVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15118LU), +UA_NODEID_NUMERIC(ns[0], 15111LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveTargetVariables"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_604_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15118LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15120 */ + +static UA_StatusCode function_namespace0_generated_605_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15120_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15120_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15120_variant_DataContents[0].name = UA_STRING("RemoveResults"); +variablenode_ns_0_i_15120_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_15120_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15120_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_15120_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15120_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15120LU), +UA_NODEID_NUMERIC(ns[0], 15118LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_605_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15120LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15119 */ + +static UA_StatusCode function_namespace0_generated_606_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15119_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15119_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15119_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_15119_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_15119_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15119_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15119_variant_DataContents[1].name = UA_STRING("TargetsToRemove"); +variablenode_ns_0_i_15119_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15119_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15119_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_15119_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15119_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15119LU), +UA_NODEID_NUMERIC(ns[0], 15118LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_606_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15119LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddTargetVariables - ns=0;i=15115 */ + +static UA_StatusCode function_namespace0_generated_607_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddTargetVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15115LU), +UA_NODEID_NUMERIC(ns[0], 15111LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddTargetVariables"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_607_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15115LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15117 */ + +static UA_StatusCode function_namespace0_generated_608_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15117_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15117_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15117_variant_DataContents[0].name = UA_STRING("AddResults"); +variablenode_ns_0_i_15117_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_15117_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15117_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_15117_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15117_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15117LU), +UA_NODEID_NUMERIC(ns[0], 15115LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_608_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15117LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15116 */ + +static UA_StatusCode function_namespace0_generated_609_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15116_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15116_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15116_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_15116_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_15116_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15116_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15116_variant_DataContents[1].name = UA_STRING("TargetVariablesToAdd"); +variablenode_ns_0_i_15116_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14744LU); +variablenode_ns_0_i_15116_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15116_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_15116_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15116_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15116LU), +UA_NODEID_NUMERIC(ns[0], 15115LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_609_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15116LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TargetVariables - ns=0;i=15114 */ + +static UA_StatusCode function_namespace0_generated_610_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14744LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15114LU), +UA_NODEID_NUMERIC(ns[0], 15111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TargetVariables"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_610_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15114LU) +); +} + +/* DataSetReaderMessageType - ns=0;i=21104 */ + +static UA_StatusCode function_namespace0_generated_611_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21104LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_611_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21104LU) +); +} + +/* JsonDataSetReaderMessageType - ns=0;i=21130 */ + +static UA_StatusCode function_namespace0_generated_612_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21130LU), +UA_NODEID_NUMERIC(ns[0], 21104LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_612_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21130LU) +); +} + +/* DataSetMessageContentMask - ns=0;i=21132 */ + +static UA_StatusCode function_namespace0_generated_613_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15658LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21132LU), +UA_NODEID_NUMERIC(ns[0], 21130LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_613_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21132LU) +); +} + +/* NetworkMessageContentMask - ns=0;i=21131 */ + +static UA_StatusCode function_namespace0_generated_614_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15654LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21131LU), +UA_NODEID_NUMERIC(ns[0], 21130LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_614_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21131LU) +); +} + +/* UadpDataSetReaderMessageType - ns=0;i=21116 */ + +static UA_StatusCode function_namespace0_generated_615_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 21104LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_615_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21116LU) +); +} + +/* ReceiveOffset - ns=0;i=21125 */ + +static UA_StatusCode function_namespace0_generated_616_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21125LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveOffset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_616_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21125LU) +); +} + +/* ProcessingOffset - ns=0;i=21124 */ + +static UA_StatusCode function_namespace0_generated_617_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProcessingOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21124LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProcessingOffset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_617_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21124LU) +); +} + +/* PublishingInterval - ns=0;i=21123 */ + +static UA_StatusCode function_namespace0_generated_618_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21123LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_618_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21123LU) +); +} + +/* DataSetMessageContentMask - ns=0;i=21122 */ + +static UA_StatusCode function_namespace0_generated_619_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15646LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21122LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_619_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21122LU) +); +} + +/* NetworkMessageContentMask - ns=0;i=21121 */ + +static UA_StatusCode function_namespace0_generated_620_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15642LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21121LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_620_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21121LU) +); +} + +/* DataSetClassId - ns=0;i=21120 */ + +static UA_StatusCode function_namespace0_generated_621_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21120LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_621_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21120LU) +); +} + +/* NetworkMessageNumber - ns=0;i=21119 */ + +static UA_StatusCode function_namespace0_generated_622_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21119LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NetworkMessageNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_622_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21119LU) +); +} + +/* GroupVersion - ns=0;i=21117 */ + +static UA_StatusCode function_namespace0_generated_623_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GroupVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21117LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "GroupVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_623_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21117LU) +); +} + +/* DataSetOffset - ns=0;i=17477 */ + +static UA_StatusCode function_namespace0_generated_624_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17477LU), +UA_NODEID_NUMERIC(ns[0], 21116LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetOffset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_624_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17477LU) +); +} + +/* DataSetReaderTransportType - ns=0;i=15319 */ + +static UA_StatusCode function_namespace0_generated_625_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15319LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_625_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15319LU) +); +} + +/* DatagramDataSetReaderTransportType - ns=0;i=24016 */ + +static UA_StatusCode function_namespace0_generated_626_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24016LU), +UA_NODEID_NUMERIC(ns[0], 15319LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_626_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24016LU) +); +} + +/* QosCategory - ns=0;i=25528 */ + +static UA_StatusCode function_namespace0_generated_627_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QosCategory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25528LU), +UA_NODEID_NUMERIC(ns[0], 24016LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "QosCategory"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_627_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25528LU) +); +} + +/* Topic - ns=0;i=24023 */ + +static UA_StatusCode function_namespace0_generated_628_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Topic"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24023LU), +UA_NODEID_NUMERIC(ns[0], 24016LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Topic"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_628_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24023LU) +); +} + +/* DatagramQos - ns=0;i=24022 */ + +static UA_StatusCode function_namespace0_generated_629_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23608LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramQos"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24022LU), +UA_NODEID_NUMERIC(ns[0], 24016LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DatagramQos"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_629_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24022LU) +); +} + +/* Address - ns=0;i=24017 */ + +static UA_StatusCode function_namespace0_generated_630_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Address"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24017LU), +UA_NODEID_NUMERIC(ns[0], 24016LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Address"), +UA_NODEID_NUMERIC(ns[0], 21145LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_630_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24017LU) +); +} + +/* BrokerDataSetReaderTransportType - ns=0;i=21142 */ + +static UA_StatusCode function_namespace0_generated_631_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21142LU), +UA_NODEID_NUMERIC(ns[0], 15319LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_631_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21142LU) +); +} + +/* MetaDataQueueName - ns=0;i=21144 */ + +static UA_StatusCode function_namespace0_generated_632_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MetaDataQueueName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21144LU), +UA_NODEID_NUMERIC(ns[0], 21142LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MetaDataQueueName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_632_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21144LU) +); +} + +/* QueueName - ns=0;i=21143 */ + +static UA_StatusCode function_namespace0_generated_633_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueueName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21143LU), +UA_NODEID_NUMERIC(ns[0], 21142LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "QueueName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_633_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21143LU) +); +} + +/* RequestedDeliveryGuarantee - ns=0;i=15420 */ + +static UA_StatusCode function_namespace0_generated_634_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15008LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestedDeliveryGuarantee"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15420LU), +UA_NODEID_NUMERIC(ns[0], 21142LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestedDeliveryGuarantee"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_634_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15420LU) +); +} + +/* AuthenticationProfileUri - ns=0;i=15419 */ + +static UA_StatusCode function_namespace0_generated_635_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15419LU), +UA_NODEID_NUMERIC(ns[0], 21142LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_635_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15419LU) +); +} + +/* ResourceUri - ns=0;i=15334 */ + +static UA_StatusCode function_namespace0_generated_636_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15334LU), +UA_NODEID_NUMERIC(ns[0], 21142LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_636_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15334LU) +); +} + +/* DataSetReaderType - ns=0;i=15306 */ + +static UA_StatusCode function_namespace0_generated_637_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_637_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15306LU) +); +} + +/* MessageSettings - ns=0;i=21103 */ + +static UA_StatusCode function_namespace0_generated_638_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21103LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MessageSettings"), +UA_NODEID_NUMERIC(ns[0], 21104LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_638_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21103LU) +); +} + +/* MessageReceiveTimeout - ns=0;i=21102 */ + +static UA_StatusCode function_namespace0_generated_639_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MessageReceiveTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21102LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MessageReceiveTimeout"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_639_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21102LU) +); +} + +/* DataSetFieldContentMask - ns=0;i=21101 */ + +static UA_StatusCode function_namespace0_generated_640_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21101LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_640_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21101LU) +); +} + +/* DataSetMetaData - ns=0;i=21100 */ + +static UA_StatusCode function_namespace0_generated_641_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21100LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_641_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21100LU) +); +} + +/* DataSetWriterId - ns=0;i=21099 */ + +static UA_StatusCode function_namespace0_generated_642_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21099LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_642_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21099LU) +); +} + +/* WriterGroupId - ns=0;i=21098 */ + +static UA_StatusCode function_namespace0_generated_643_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21098LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_643_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21098LU) +); +} + +/* PublisherId - ns=0;i=21097 */ + +static UA_StatusCode function_namespace0_generated_644_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21097LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_644_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21097LU) +); +} + +/* Diagnostics - ns=0;i=19609 */ + +static UA_StatusCode function_namespace0_generated_645_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 20027LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_645_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19609LU) +); +} + +/* LiveValues - ns=0;i=19654 */ + +static UA_StatusCode function_namespace0_generated_646_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19654LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_646_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19654LU) +); +} + +/* Counters - ns=0;i=19623 */ + +static UA_StatusCode function_namespace0_generated_647_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_647_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19623LU) +); +} + +/* FailedDataSetMessages - ns=0;i=19655 */ + +static UA_StatusCode function_namespace0_generated_648_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19655LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_648_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19655LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19658 */ + +static UA_StatusCode function_namespace0_generated_649_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19658_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19658_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19658_variant_DataContents); +*variablenode_ns_0_i_19658_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19658_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19658LU), +UA_NODEID_NUMERIC(ns[0], 19655LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19658_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_649_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19658LU) +); +} + +/* Classification - ns=0;i=19657 */ + +static UA_StatusCode function_namespace0_generated_650_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19657_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19657_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19657_variant_DataContents); +*variablenode_ns_0_i_19657_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19657_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19657LU), +UA_NODEID_NUMERIC(ns[0], 19655LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19657_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_650_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19657LU) +); +} + +/* Active - ns=0;i=19656 */ + +static UA_StatusCode function_namespace0_generated_651_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19656LU), +UA_NODEID_NUMERIC(ns[0], 19655LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_651_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19656LU) +); +} + +/* StateDisabledByMethod - ns=0;i=19649 */ + +static UA_StatusCode function_namespace0_generated_652_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19649LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_652_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19649LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19652 */ + +static UA_StatusCode function_namespace0_generated_653_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19652_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19652_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19652_variant_DataContents); +*variablenode_ns_0_i_19652_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19652_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19652LU), +UA_NODEID_NUMERIC(ns[0], 19649LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19652_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_653_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19652LU) +); +} + +/* Classification - ns=0;i=19651 */ + +static UA_StatusCode function_namespace0_generated_654_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19651_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19651_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19651_variant_DataContents); +*variablenode_ns_0_i_19651_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19651_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19651LU), +UA_NODEID_NUMERIC(ns[0], 19649LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19651_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_654_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19651LU) +); +} + +/* Active - ns=0;i=19650 */ + +static UA_StatusCode function_namespace0_generated_655_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19650LU), +UA_NODEID_NUMERIC(ns[0], 19649LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_655_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19650LU) +); +} + +/* StatePausedByParent - ns=0;i=19644 */ + +static UA_StatusCode function_namespace0_generated_656_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19644LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_656_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19644LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19647 */ + +static UA_StatusCode function_namespace0_generated_657_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19647_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19647_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19647_variant_DataContents); +*variablenode_ns_0_i_19647_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19647_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19647LU), +UA_NODEID_NUMERIC(ns[0], 19644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19647_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_657_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19647LU) +); +} + +/* Classification - ns=0;i=19646 */ + +static UA_StatusCode function_namespace0_generated_658_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19646_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19646_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19646_variant_DataContents); +*variablenode_ns_0_i_19646_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19646_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19646LU), +UA_NODEID_NUMERIC(ns[0], 19644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19646_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_658_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19646LU) +); +} + +/* Active - ns=0;i=19645 */ + +static UA_StatusCode function_namespace0_generated_659_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19645LU), +UA_NODEID_NUMERIC(ns[0], 19644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_659_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19645LU) +); +} + +/* StateOperationalFromError - ns=0;i=19639 */ + +static UA_StatusCode function_namespace0_generated_660_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19639LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_660_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19639LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19642 */ + +static UA_StatusCode function_namespace0_generated_661_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19642_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19642_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19642_variant_DataContents); +*variablenode_ns_0_i_19642_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19642_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19642LU), +UA_NODEID_NUMERIC(ns[0], 19639LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19642_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_661_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19642LU) +); +} + +/* Classification - ns=0;i=19641 */ + +static UA_StatusCode function_namespace0_generated_662_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19641_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19641_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19641_variant_DataContents); +*variablenode_ns_0_i_19641_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19641_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19641LU), +UA_NODEID_NUMERIC(ns[0], 19639LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19641_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_662_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19641LU) +); +} + +/* Active - ns=0;i=19640 */ + +static UA_StatusCode function_namespace0_generated_663_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19640LU), +UA_NODEID_NUMERIC(ns[0], 19639LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_663_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19640LU) +); +} + +/* StateOperationalByParent - ns=0;i=19634 */ + +static UA_StatusCode function_namespace0_generated_664_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19634LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_664_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19634LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19637 */ + +static UA_StatusCode function_namespace0_generated_665_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19637_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19637_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19637_variant_DataContents); +*variablenode_ns_0_i_19637_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19637_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19637LU), +UA_NODEID_NUMERIC(ns[0], 19634LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19637_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_665_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19637LU) +); +} + +/* Classification - ns=0;i=19636 */ + +static UA_StatusCode function_namespace0_generated_666_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19636_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19636_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19636_variant_DataContents); +*variablenode_ns_0_i_19636_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19636_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19636LU), +UA_NODEID_NUMERIC(ns[0], 19634LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19636_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_666_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19636LU) +); +} + +/* Active - ns=0;i=19635 */ + +static UA_StatusCode function_namespace0_generated_667_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19635LU), +UA_NODEID_NUMERIC(ns[0], 19634LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_667_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19635LU) +); +} + +/* StateOperationalByMethod - ns=0;i=19629 */ + +static UA_StatusCode function_namespace0_generated_668_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19629LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_668_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19629LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19632 */ + +static UA_StatusCode function_namespace0_generated_669_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19632_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19632_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19632_variant_DataContents); +*variablenode_ns_0_i_19632_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19632_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19632LU), +UA_NODEID_NUMERIC(ns[0], 19629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19632_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_669_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19632LU) +); +} + +/* Classification - ns=0;i=19631 */ + +static UA_StatusCode function_namespace0_generated_670_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19631_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19631_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19631_variant_DataContents); +*variablenode_ns_0_i_19631_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19631_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19631LU), +UA_NODEID_NUMERIC(ns[0], 19629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19631_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_670_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19631LU) +); +} + +/* Active - ns=0;i=19630 */ + +static UA_StatusCode function_namespace0_generated_671_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19630LU), +UA_NODEID_NUMERIC(ns[0], 19629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_671_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19630LU) +); +} + +/* StateError - ns=0;i=19624 */ + +static UA_StatusCode function_namespace0_generated_672_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19624LU), +UA_NODEID_NUMERIC(ns[0], 19623LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_672_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19624LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19627 */ + +static UA_StatusCode function_namespace0_generated_673_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19627_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19627_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19627_variant_DataContents); +*variablenode_ns_0_i_19627_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19627_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19627LU), +UA_NODEID_NUMERIC(ns[0], 19624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19627_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_673_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19627LU) +); +} + +/* Classification - ns=0;i=19626 */ + +static UA_StatusCode function_namespace0_generated_674_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19626_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19626_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19626_variant_DataContents); +*variablenode_ns_0_i_19626_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19626_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19626LU), +UA_NODEID_NUMERIC(ns[0], 19624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19626_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_674_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19626LU) +); +} + +/* Active - ns=0;i=19625 */ + +static UA_StatusCode function_namespace0_generated_675_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19625LU), +UA_NODEID_NUMERIC(ns[0], 19624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_675_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19625LU) +); +} + +/* SubError - ns=0;i=19622 */ + +static UA_StatusCode function_namespace0_generated_676_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19622LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_676_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19622LU) +); +} + +/* Reset - ns=0;i=19621 */ + +static UA_StatusCode function_namespace0_generated_677_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19621LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_677_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19621LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=19616 */ + +static UA_StatusCode function_namespace0_generated_678_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19616LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_678_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19616LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19619 */ + +static UA_StatusCode function_namespace0_generated_679_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19619LU), +UA_NODEID_NUMERIC(ns[0], 19616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_679_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19619LU) +); +} + +/* Classification - ns=0;i=19618 */ + +static UA_StatusCode function_namespace0_generated_680_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19618LU), +UA_NODEID_NUMERIC(ns[0], 19616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_680_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19618LU) +); +} + +/* Active - ns=0;i=19617 */ + +static UA_StatusCode function_namespace0_generated_681_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19617LU), +UA_NODEID_NUMERIC(ns[0], 19616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_681_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19617LU) +); +} + +/* TotalInformation - ns=0;i=19611 */ + +static UA_StatusCode function_namespace0_generated_682_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19611LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_682_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19611LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19614 */ + +static UA_StatusCode function_namespace0_generated_683_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19614LU), +UA_NODEID_NUMERIC(ns[0], 19611LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_683_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19614LU) +); +} + +/* Classification - ns=0;i=19613 */ + +static UA_StatusCode function_namespace0_generated_684_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19613LU), +UA_NODEID_NUMERIC(ns[0], 19611LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_684_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19613LU) +); +} + +/* Active - ns=0;i=19612 */ + +static UA_StatusCode function_namespace0_generated_685_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19612LU), +UA_NODEID_NUMERIC(ns[0], 19611LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_685_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19612LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19610 */ + +static UA_StatusCode function_namespace0_generated_686_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19610LU), +UA_NODEID_NUMERIC(ns[0], 19609LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_686_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19610LU) +); +} + +/* HeaderLayoutUri - ns=0;i=17564 */ + +static UA_StatusCode function_namespace0_generated_687_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17564LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_687_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17564LU) +); +} + +/* KeyFrameCount - ns=0;i=17563 */ + +static UA_StatusCode function_namespace0_generated_688_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyFrameCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17563LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeyFrameCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_688_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17563LU) +); +} + +/* DataSetReaderProperties - ns=0;i=17494 */ + +static UA_StatusCode function_namespace0_generated_689_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17494LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_689_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17494LU) +); +} + +/* CreateDataSetMirror - ns=0;i=17389 */ + +static UA_StatusCode function_namespace0_generated_690_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateDataSetMirror"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17389LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateDataSetMirror"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_690_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17389LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17391 */ + +static UA_StatusCode function_namespace0_generated_691_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17391_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17391_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17391_variant_DataContents[0].name = UA_STRING("ParentNodeId"); +variablenode_ns_0_i_17391_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17391_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17391_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17391LU), +UA_NODEID_NUMERIC(ns[0], 17389LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_691_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17391LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17390 */ + +static UA_StatusCode function_namespace0_generated_692_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17390_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_17390_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17390_variant_DataContents[0].name = UA_STRING("ParentNodeName"); +variablenode_ns_0_i_17390_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17390_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17390_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17390_variant_DataContents[1].name = UA_STRING("RolePermissions"); +variablenode_ns_0_i_17390_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 96LU); +variablenode_ns_0_i_17390_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_17390_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_17390_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17390_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17390LU), +UA_NODEID_NUMERIC(ns[0], 17389LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_692_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17390LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateTargetVariables - ns=0;i=17386 */ + +static UA_StatusCode function_namespace0_generated_693_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateTargetVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17386LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateTargetVariables"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_693_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17386LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17388 */ + +static UA_StatusCode function_namespace0_generated_694_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17388_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17388_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17388_variant_DataContents[0].name = UA_STRING("AddResults"); +variablenode_ns_0_i_17388_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_17388_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_17388_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_17388_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17388_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17388LU), +UA_NODEID_NUMERIC(ns[0], 17386LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_694_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17388LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17387 */ + +static UA_StatusCode function_namespace0_generated_695_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17387_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_17387_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17387_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_17387_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_17387_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17387_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17387_variant_DataContents[1].name = UA_STRING("TargetVariablesToAdd"); +variablenode_ns_0_i_17387_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14744LU); +variablenode_ns_0_i_17387_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_17387_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_17387_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17387_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17387LU), +UA_NODEID_NUMERIC(ns[0], 17386LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_695_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17387LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SecurityKeyServices - ns=0;i=15934 */ + +static UA_StatusCode function_namespace0_generated_696_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServices"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15934LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityKeyServices"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_696_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15934LU) +); +} + +/* SecurityGroupId - ns=0;i=15933 */ + +static UA_StatusCode function_namespace0_generated_697_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15933LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_697_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15933LU) +); +} + +/* SecurityMode - ns=0;i=15932 */ + +static UA_StatusCode function_namespace0_generated_698_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15932LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_698_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15932LU) +); +} + +/* SubscribedDataSet - ns=0;i=15316 */ + +static UA_StatusCode function_namespace0_generated_699_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15316LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), +UA_NODEID_NUMERIC(ns[0], 15108LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_699_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15316LU) +); +} + +/* TransportSettings - ns=0;i=15311 */ + +static UA_StatusCode function_namespace0_generated_700_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15311LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportSettings"), +UA_NODEID_NUMERIC(ns[0], 15319LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_700_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15311LU) +); +} + +/* Status - ns=0;i=15307 */ + +static UA_StatusCode function_namespace0_generated_701_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15307LU), +UA_NODEID_NUMERIC(ns[0], 15306LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_701_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15307LU) +); +} + +/* State - ns=0;i=15308 */ + +static UA_StatusCode function_namespace0_generated_702_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15308LU), +UA_NODEID_NUMERIC(ns[0], 15307LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_702_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15308LU) +); +} + +/* DataSetWriterMessageType - ns=0;i=21096 */ + +static UA_StatusCode function_namespace0_generated_703_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21096LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_703_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21096LU) +); +} + +/* JsonDataSetWriterMessageType - ns=0;i=21128 */ + +static UA_StatusCode function_namespace0_generated_704_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21128LU), +UA_NODEID_NUMERIC(ns[0], 21096LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_704_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21128LU) +); +} + +/* DataSetMessageContentMask - ns=0;i=21129 */ + +static UA_StatusCode function_namespace0_generated_705_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15658LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21129LU), +UA_NODEID_NUMERIC(ns[0], 21128LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_705_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21129LU) +); +} + +/* UadpDataSetWriterMessageType - ns=0;i=21111 */ + +static UA_StatusCode function_namespace0_generated_706_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21111LU), +UA_NODEID_NUMERIC(ns[0], 21096LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_706_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21111LU) +); +} + +/* DataSetOffset - ns=0;i=21115 */ + +static UA_StatusCode function_namespace0_generated_707_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21115LU), +UA_NODEID_NUMERIC(ns[0], 21111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetOffset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_707_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21115LU) +); +} + +/* NetworkMessageNumber - ns=0;i=21114 */ + +static UA_StatusCode function_namespace0_generated_708_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21114LU), +UA_NODEID_NUMERIC(ns[0], 21111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NetworkMessageNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_708_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21114LU) +); +} + +/* ConfiguredSize - ns=0;i=21113 */ + +static UA_StatusCode function_namespace0_generated_709_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21113LU), +UA_NODEID_NUMERIC(ns[0], 21111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_709_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21113LU) +); +} + +/* DataSetMessageContentMask - ns=0;i=21112 */ + +static UA_StatusCode function_namespace0_generated_710_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15646LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21112LU), +UA_NODEID_NUMERIC(ns[0], 21111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_710_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21112LU) +); +} + +/* DataSetWriterTransportType - ns=0;i=15305 */ + +static UA_StatusCode function_namespace0_generated_711_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15305LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_711_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15305LU) +); +} + +/* BrokerDataSetWriterTransportType - ns=0;i=21138 */ + +static UA_StatusCode function_namespace0_generated_712_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 15305LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_712_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21138LU) +); +} + +/* MetaDataUpdateTime - ns=0;i=21141 */ + +static UA_StatusCode function_namespace0_generated_713_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MetaDataUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21141LU), +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MetaDataUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_713_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21141LU) +); +} + +/* MetaDataQueueName - ns=0;i=21140 */ + +static UA_StatusCode function_namespace0_generated_714_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MetaDataQueueName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21140LU), +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MetaDataQueueName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_714_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21140LU) +); +} + +/* QueueName - ns=0;i=21139 */ + +static UA_StatusCode function_namespace0_generated_715_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueueName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21139LU), +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "QueueName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_715_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21139LU) +); +} + +/* RequestedDeliveryGuarantee - ns=0;i=15330 */ + +static UA_StatusCode function_namespace0_generated_716_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15008LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestedDeliveryGuarantee"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15330LU), +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestedDeliveryGuarantee"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_716_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15330LU) +); +} + +/* AuthenticationProfileUri - ns=0;i=15251 */ + +static UA_StatusCode function_namespace0_generated_717_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15251LU), +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_717_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15251LU) +); +} + +/* ResourceUri - ns=0;i=15250 */ + +static UA_StatusCode function_namespace0_generated_718_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15250LU), +UA_NODEID_NUMERIC(ns[0], 21138LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_718_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15250LU) +); +} + +/* DataSetWriterType - ns=0;i=15298 */ + +static UA_StatusCode function_namespace0_generated_719_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_719_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15298LU) +); +} + +/* MessageSettings - ns=0;i=21095 */ + +static UA_StatusCode function_namespace0_generated_720_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21095LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MessageSettings"), +UA_NODEID_NUMERIC(ns[0], 21096LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_720_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21095LU) +); +} + +/* KeyFrameCount - ns=0;i=21094 */ + +static UA_StatusCode function_namespace0_generated_721_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyFrameCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21094LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeyFrameCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_721_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21094LU) +); +} + +/* DataSetFieldContentMask - ns=0;i=21093 */ + +static UA_StatusCode function_namespace0_generated_722_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21093LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_722_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21093LU) +); +} + +/* DataSetWriterId - ns=0;i=21092 */ + +static UA_StatusCode function_namespace0_generated_723_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21092LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_723_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21092LU) +); +} + +/* Diagnostics - ns=0;i=19550 */ + +static UA_StatusCode function_namespace0_generated_724_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19968LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_724_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19550LU) +); +} + +/* LiveValues - ns=0;i=19595 */ + +static UA_StatusCode function_namespace0_generated_725_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19595LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_725_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19595LU) +); +} + +/* Counters - ns=0;i=19564 */ + +static UA_StatusCode function_namespace0_generated_726_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_726_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19564LU) +); +} + +/* FailedDataSetMessages - ns=0;i=19596 */ + +static UA_StatusCode function_namespace0_generated_727_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19596LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_727_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19596LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19599 */ + +static UA_StatusCode function_namespace0_generated_728_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19599_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19599_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19599_variant_DataContents); +*variablenode_ns_0_i_19599_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19599_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19599LU), +UA_NODEID_NUMERIC(ns[0], 19596LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19599_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_728_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19599LU) +); +} + +/* Classification - ns=0;i=19598 */ + +static UA_StatusCode function_namespace0_generated_729_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19598_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19598_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19598_variant_DataContents); +*variablenode_ns_0_i_19598_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19598_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19598LU), +UA_NODEID_NUMERIC(ns[0], 19596LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19598_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_729_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19598LU) +); +} + +/* Active - ns=0;i=19597 */ + +static UA_StatusCode function_namespace0_generated_730_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19597LU), +UA_NODEID_NUMERIC(ns[0], 19596LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_730_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19597LU) +); +} + +/* StateDisabledByMethod - ns=0;i=19590 */ + +static UA_StatusCode function_namespace0_generated_731_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19590LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_731_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19590LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19593 */ + +static UA_StatusCode function_namespace0_generated_732_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19593_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19593_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19593_variant_DataContents); +*variablenode_ns_0_i_19593_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19593_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19593LU), +UA_NODEID_NUMERIC(ns[0], 19590LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19593_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_732_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19593LU) +); +} + +/* Classification - ns=0;i=19592 */ + +static UA_StatusCode function_namespace0_generated_733_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19592_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19592_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19592_variant_DataContents); +*variablenode_ns_0_i_19592_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19592_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19592LU), +UA_NODEID_NUMERIC(ns[0], 19590LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19592_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_733_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19592LU) +); +} + +/* Active - ns=0;i=19591 */ + +static UA_StatusCode function_namespace0_generated_734_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19591LU), +UA_NODEID_NUMERIC(ns[0], 19590LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_734_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19591LU) +); +} + +/* StatePausedByParent - ns=0;i=19585 */ + +static UA_StatusCode function_namespace0_generated_735_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19585LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_735_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19585LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19588 */ + +static UA_StatusCode function_namespace0_generated_736_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19588_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19588_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19588_variant_DataContents); +*variablenode_ns_0_i_19588_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19588_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19588LU), +UA_NODEID_NUMERIC(ns[0], 19585LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19588_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_736_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19588LU) +); +} + +/* Classification - ns=0;i=19587 */ + +static UA_StatusCode function_namespace0_generated_737_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19587_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19587_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19587_variant_DataContents); +*variablenode_ns_0_i_19587_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19587_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19587LU), +UA_NODEID_NUMERIC(ns[0], 19585LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19587_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_737_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19587LU) +); +} + +/* Active - ns=0;i=19586 */ + +static UA_StatusCode function_namespace0_generated_738_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19586LU), +UA_NODEID_NUMERIC(ns[0], 19585LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_738_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19586LU) +); +} + +/* StateOperationalFromError - ns=0;i=19580 */ + +static UA_StatusCode function_namespace0_generated_739_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19580LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_739_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19580LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19583 */ + +static UA_StatusCode function_namespace0_generated_740_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19583_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19583_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19583_variant_DataContents); +*variablenode_ns_0_i_19583_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19583_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19583LU), +UA_NODEID_NUMERIC(ns[0], 19580LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19583_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_740_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19583LU) +); +} + +/* Classification - ns=0;i=19582 */ + +static UA_StatusCode function_namespace0_generated_741_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19582_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19582_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19582_variant_DataContents); +*variablenode_ns_0_i_19582_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19582_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19582LU), +UA_NODEID_NUMERIC(ns[0], 19580LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19582_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_741_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19582LU) +); +} + +/* Active - ns=0;i=19581 */ + +static UA_StatusCode function_namespace0_generated_742_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19581LU), +UA_NODEID_NUMERIC(ns[0], 19580LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_742_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19581LU) +); +} + +/* StateOperationalByParent - ns=0;i=19575 */ + +static UA_StatusCode function_namespace0_generated_743_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19575LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_743_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19575LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19578 */ + +static UA_StatusCode function_namespace0_generated_744_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19578_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19578_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19578_variant_DataContents); +*variablenode_ns_0_i_19578_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19578_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19578LU), +UA_NODEID_NUMERIC(ns[0], 19575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19578_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_744_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19578LU) +); +} + +/* Classification - ns=0;i=19577 */ + +static UA_StatusCode function_namespace0_generated_745_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19577_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19577_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19577_variant_DataContents); +*variablenode_ns_0_i_19577_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19577_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19577LU), +UA_NODEID_NUMERIC(ns[0], 19575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19577_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_745_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19577LU) +); +} + +/* Active - ns=0;i=19576 */ + +static UA_StatusCode function_namespace0_generated_746_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19576LU), +UA_NODEID_NUMERIC(ns[0], 19575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_746_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19576LU) +); +} + +/* StateOperationalByMethod - ns=0;i=19570 */ + +static UA_StatusCode function_namespace0_generated_747_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19570LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_747_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19570LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19573 */ + +static UA_StatusCode function_namespace0_generated_748_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19573_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19573_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19573_variant_DataContents); +*variablenode_ns_0_i_19573_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19573_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19573LU), +UA_NODEID_NUMERIC(ns[0], 19570LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19573_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_748_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19573LU) +); +} + +/* Classification - ns=0;i=19572 */ + +static UA_StatusCode function_namespace0_generated_749_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19572_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19572_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19572_variant_DataContents); +*variablenode_ns_0_i_19572_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19572_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19572LU), +UA_NODEID_NUMERIC(ns[0], 19570LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19572_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_749_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19572LU) +); +} + +/* Active - ns=0;i=19571 */ + +static UA_StatusCode function_namespace0_generated_750_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19571LU), +UA_NODEID_NUMERIC(ns[0], 19570LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_750_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19571LU) +); +} + +/* StateError - ns=0;i=19565 */ + +static UA_StatusCode function_namespace0_generated_751_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19565LU), +UA_NODEID_NUMERIC(ns[0], 19564LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_751_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19565LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19568 */ + +static UA_StatusCode function_namespace0_generated_752_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19568_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19568_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19568_variant_DataContents); +*variablenode_ns_0_i_19568_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19568_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19568LU), +UA_NODEID_NUMERIC(ns[0], 19565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19568_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_752_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19568LU) +); +} + +/* Classification - ns=0;i=19567 */ + +static UA_StatusCode function_namespace0_generated_753_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19567_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19567_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19567_variant_DataContents); +*variablenode_ns_0_i_19567_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19567_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19567LU), +UA_NODEID_NUMERIC(ns[0], 19565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19567_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_753_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19567LU) +); +} + +/* Active - ns=0;i=19566 */ + +static UA_StatusCode function_namespace0_generated_754_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19566LU), +UA_NODEID_NUMERIC(ns[0], 19565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_754_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19566LU) +); +} + +/* SubError - ns=0;i=19563 */ + +static UA_StatusCode function_namespace0_generated_755_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19563LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_755_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19563LU) +); +} + +/* Reset - ns=0;i=19562 */ + +static UA_StatusCode function_namespace0_generated_756_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19562LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_756_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19562LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=19557 */ + +static UA_StatusCode function_namespace0_generated_757_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19557LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_757_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19557LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19560 */ + +static UA_StatusCode function_namespace0_generated_758_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19560LU), +UA_NODEID_NUMERIC(ns[0], 19557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_758_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19560LU) +); +} + +/* Classification - ns=0;i=19559 */ + +static UA_StatusCode function_namespace0_generated_759_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19559LU), +UA_NODEID_NUMERIC(ns[0], 19557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_759_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19559LU) +); +} + +/* Active - ns=0;i=19558 */ + +static UA_StatusCode function_namespace0_generated_760_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19558LU), +UA_NODEID_NUMERIC(ns[0], 19557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_760_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19558LU) +); +} + +/* TotalInformation - ns=0;i=19552 */ + +static UA_StatusCode function_namespace0_generated_761_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19552LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_761_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19552LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19555 */ + +static UA_StatusCode function_namespace0_generated_762_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19555LU), +UA_NODEID_NUMERIC(ns[0], 19552LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_762_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19555LU) +); +} + +/* Classification - ns=0;i=19554 */ + +static UA_StatusCode function_namespace0_generated_763_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19554LU), +UA_NODEID_NUMERIC(ns[0], 19552LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_763_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19554LU) +); +} + +/* Active - ns=0;i=19553 */ + +static UA_StatusCode function_namespace0_generated_764_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19553LU), +UA_NODEID_NUMERIC(ns[0], 19552LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_764_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19553LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19551 */ + +static UA_StatusCode function_namespace0_generated_765_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19551LU), +UA_NODEID_NUMERIC(ns[0], 19550LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_765_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19551LU) +); +} + +/* DataSetWriterProperties - ns=0;i=17493 */ + +static UA_StatusCode function_namespace0_generated_766_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17493LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_766_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17493LU) +); +} + +/* TransportSettings - ns=0;i=15303 */ + +static UA_StatusCode function_namespace0_generated_767_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15303LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportSettings"), +UA_NODEID_NUMERIC(ns[0], 15305LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_767_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15303LU) +); +} + +/* Status - ns=0;i=15299 */ + +static UA_StatusCode function_namespace0_generated_768_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15299LU), +UA_NODEID_NUMERIC(ns[0], 15298LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_768_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15299LU) +); +} + +/* State - ns=0;i=15300 */ + +static UA_StatusCode function_namespace0_generated_769_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15300LU), +UA_NODEID_NUMERIC(ns[0], 15299LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_769_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15300LU) +); +} + +/* ReaderGroupMessageType - ns=0;i=21091 */ + +static UA_StatusCode function_namespace0_generated_770_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21091LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_770_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21091LU) +); +} + +/* ReaderGroupTransportType - ns=0;i=21090 */ + +static UA_StatusCode function_namespace0_generated_771_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21090LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_771_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21090LU) +); +} + +/* WriterGroupMessageType - ns=0;i=17998 */ + +static UA_StatusCode function_namespace0_generated_772_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17998LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_772_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17998LU) +); +} + +/* JsonWriterGroupMessageType - ns=0;i=21126 */ + +static UA_StatusCode function_namespace0_generated_773_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21126LU), +UA_NODEID_NUMERIC(ns[0], 17998LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_773_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21126LU) +); +} + +/* NetworkMessageContentMask - ns=0;i=21127 */ + +static UA_StatusCode function_namespace0_generated_774_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15654LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21127LU), +UA_NODEID_NUMERIC(ns[0], 21126LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_774_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21127LU) +); +} + +/* UadpWriterGroupMessageType - ns=0;i=21105 */ + +static UA_StatusCode function_namespace0_generated_775_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21105LU), +UA_NODEID_NUMERIC(ns[0], 17998LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_775_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21105LU) +); +} + +/* PublishingOffset - ns=0;i=21110 */ + +static UA_StatusCode function_namespace0_generated_776_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21110LU), +UA_NODEID_NUMERIC(ns[0], 21105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublishingOffset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_776_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21110LU) +); +} + +/* SamplingOffset - ns=0;i=21109 */ + +static UA_StatusCode function_namespace0_generated_777_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21109LU), +UA_NODEID_NUMERIC(ns[0], 21105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SamplingOffset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_777_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21109LU) +); +} + +/* NetworkMessageContentMask - ns=0;i=21108 */ + +static UA_StatusCode function_namespace0_generated_778_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15642LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21108LU), +UA_NODEID_NUMERIC(ns[0], 21105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_778_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21108LU) +); +} + +/* DataSetOrdering - ns=0;i=21107 */ + +static UA_StatusCode function_namespace0_generated_779_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20408LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOrdering"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21107LU), +UA_NODEID_NUMERIC(ns[0], 21105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetOrdering"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_779_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21107LU) +); +} + +/* GroupVersion - ns=0;i=21106 */ + +static UA_StatusCode function_namespace0_generated_780_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GroupVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21106LU), +UA_NODEID_NUMERIC(ns[0], 21105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "GroupVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_780_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21106LU) +); +} + +/* WriterGroupTransportType - ns=0;i=17997 */ + +static UA_StatusCode function_namespace0_generated_781_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17997LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_781_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17997LU) +); +} + +/* BrokerWriterGroupTransportType - ns=0;i=21136 */ + +static UA_StatusCode function_namespace0_generated_782_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21136LU), +UA_NODEID_NUMERIC(ns[0], 17997LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_782_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21136LU) +); +} + +/* QueueName - ns=0;i=21137 */ + +static UA_StatusCode function_namespace0_generated_783_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueueName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21137LU), +UA_NODEID_NUMERIC(ns[0], 21136LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "QueueName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_783_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21137LU) +); +} + +/* RequestedDeliveryGuarantee - ns=0;i=15249 */ + +static UA_StatusCode function_namespace0_generated_784_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15008LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestedDeliveryGuarantee"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15249LU), +UA_NODEID_NUMERIC(ns[0], 21136LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestedDeliveryGuarantee"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_784_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15249LU) +); +} + +/* AuthenticationProfileUri - ns=0;i=15247 */ + +static UA_StatusCode function_namespace0_generated_785_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15247LU), +UA_NODEID_NUMERIC(ns[0], 21136LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_785_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15247LU) +); +} + +/* ResourceUri - ns=0;i=15246 */ + +static UA_StatusCode function_namespace0_generated_786_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15246LU), +UA_NODEID_NUMERIC(ns[0], 21136LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_786_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15246LU) +); +} + +/* DatagramWriterGroupTransportType - ns=0;i=21133 */ + +static UA_StatusCode function_namespace0_generated_787_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 17997LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_787_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21133LU) +); +} + +/* QosCategory - ns=0;i=25527 */ + +static UA_StatusCode function_namespace0_generated_788_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QosCategory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25527LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "QosCategory"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_788_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25527LU) +); +} + +/* Topic - ns=0;i=23849 */ + +static UA_StatusCode function_namespace0_generated_789_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Topic"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23849LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Topic"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_789_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23849LU) +); +} + +/* DiscoveryAnnounceRate - ns=0;i=23848 */ + +static UA_StatusCode function_namespace0_generated_790_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryAnnounceRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23848LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryAnnounceRate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_790_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23848LU) +); +} + +/* DatagramQos - ns=0;i=23847 */ + +static UA_StatusCode function_namespace0_generated_791_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23604LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramQos"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23847LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DatagramQos"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_791_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23847LU) +); +} + +/* Address - ns=0;i=23842 */ + +static UA_StatusCode function_namespace0_generated_792_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Address"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23842LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Address"), +UA_NODEID_NUMERIC(ns[0], 21145LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_792_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23842LU) +); +} + +/* MessageRepeatDelay - ns=0;i=21135 */ + +static UA_StatusCode function_namespace0_generated_793_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MessageRepeatDelay"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21135LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MessageRepeatDelay"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_793_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21135LU) +); +} + +/* MessageRepeatCount - ns=0;i=21134 */ + +static UA_StatusCode function_namespace0_generated_794_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MessageRepeatCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21134LU), +UA_NODEID_NUMERIC(ns[0], 21133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MessageRepeatCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_794_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21134LU) +); +} + +/* PubSubGroupType - ns=0;i=14232 */ + +static UA_StatusCode function_namespace0_generated_795_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_795_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14232LU) +); +} + +/* ReaderGroupType - ns=0;i=17999 */ + +static UA_StatusCode function_namespace0_generated_796_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_796_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17999LU) +); +} + +/* RemoveDataSetReader - ns=0;i=21085 */ + +static UA_StatusCode function_namespace0_generated_797_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetReader"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 21085LU), +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveDataSetReader"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_797_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21085LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=21086 */ + +static UA_StatusCode function_namespace0_generated_798_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_21086_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_21086_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_21086_variant_DataContents[0].name = UA_STRING("DataSetReaderNodeId"); +variablenode_ns_0_i_21086_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_21086_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_21086_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21086LU), +UA_NODEID_NUMERIC(ns[0], 21085LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_798_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21086LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddDataSetReader - ns=0;i=21082 */ + +static UA_StatusCode function_namespace0_generated_799_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetReader"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 21082LU), +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddDataSetReader"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_799_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21082LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=21084 */ + +static UA_StatusCode function_namespace0_generated_800_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_21084_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_21084_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_21084_variant_DataContents[0].name = UA_STRING("DataSetReaderNodeId"); +variablenode_ns_0_i_21084_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_21084_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_21084_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21084LU), +UA_NODEID_NUMERIC(ns[0], 21082LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_800_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21084LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=21083 */ + +static UA_StatusCode function_namespace0_generated_801_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_21083_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_21083_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_21083_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_21083_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15623LU); +variablenode_ns_0_i_21083_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_21083_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21083LU), +UA_NODEID_NUMERIC(ns[0], 21082LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_801_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21083LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* MessageSettings - ns=0;i=21081 */ + +static UA_StatusCode function_namespace0_generated_802_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21081LU), +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MessageSettings"), +UA_NODEID_NUMERIC(ns[0], 21091LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_802_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21081LU) +); +} + +/* TransportSettings - ns=0;i=21080 */ + +static UA_StatusCode function_namespace0_generated_803_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21080LU), +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportSettings"), +UA_NODEID_NUMERIC(ns[0], 21090LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_803_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21080LU) +); +} + +/* Diagnostics - ns=0;i=21015 */ + +static UA_StatusCode function_namespace0_generated_804_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19903LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_804_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21015LU) +); +} + +/* LiveValues - ns=0;i=21060 */ + +static UA_StatusCode function_namespace0_generated_805_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21060LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_805_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21060LU) +); +} + +/* OperationalDataSetReaders - ns=0;i=21078 */ + +static UA_StatusCode function_namespace0_generated_806_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21078LU), +UA_NODEID_NUMERIC(ns[0], 21060LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_806_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21078LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21079 */ + +static UA_StatusCode function_namespace0_generated_807_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21079_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21079_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21079_variant_DataContents); +*variablenode_ns_0_i_21079_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21079_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21079LU), +UA_NODEID_NUMERIC(ns[0], 21078LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21079_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_807_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21079LU) +); +} + +/* ConfiguredDataSetReaders - ns=0;i=21076 */ + +static UA_StatusCode function_namespace0_generated_808_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21076LU), +UA_NODEID_NUMERIC(ns[0], 21060LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_808_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21076LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21077 */ + +static UA_StatusCode function_namespace0_generated_809_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21077_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21077_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21077_variant_DataContents); +*variablenode_ns_0_i_21077_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21077_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21077LU), +UA_NODEID_NUMERIC(ns[0], 21076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21077_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_809_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21077LU) +); +} + +/* Counters - ns=0;i=21029 */ + +static UA_StatusCode function_namespace0_generated_810_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_810_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21029LU) +); +} + +/* ReceivedNetworkMessages - ns=0;i=21061 */ + +static UA_StatusCode function_namespace0_generated_811_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceivedNetworkMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21061LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceivedNetworkMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_811_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21061LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21064 */ + +static UA_StatusCode function_namespace0_generated_812_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21064_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21064_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21064_variant_DataContents); +*variablenode_ns_0_i_21064_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21064_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21064LU), +UA_NODEID_NUMERIC(ns[0], 21061LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21064_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_812_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21064LU) +); +} + +/* Classification - ns=0;i=21063 */ + +static UA_StatusCode function_namespace0_generated_813_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21063_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21063_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21063_variant_DataContents); +*variablenode_ns_0_i_21063_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21063_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21063LU), +UA_NODEID_NUMERIC(ns[0], 21061LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21063_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_813_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21063LU) +); +} + +/* Active - ns=0;i=21062 */ + +static UA_StatusCode function_namespace0_generated_814_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21062LU), +UA_NODEID_NUMERIC(ns[0], 21061LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_814_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21062LU) +); +} + +/* StateDisabledByMethod - ns=0;i=21055 */ + +static UA_StatusCode function_namespace0_generated_815_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21055LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_815_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21055LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21058 */ + +static UA_StatusCode function_namespace0_generated_816_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21058_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21058_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21058_variant_DataContents); +*variablenode_ns_0_i_21058_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21058_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21058LU), +UA_NODEID_NUMERIC(ns[0], 21055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21058_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_816_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21058LU) +); +} + +/* Classification - ns=0;i=21057 */ + +static UA_StatusCode function_namespace0_generated_817_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21057_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21057_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21057_variant_DataContents); +*variablenode_ns_0_i_21057_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21057_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21057LU), +UA_NODEID_NUMERIC(ns[0], 21055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21057_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_817_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21057LU) +); +} + +/* Active - ns=0;i=21056 */ + +static UA_StatusCode function_namespace0_generated_818_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21056LU), +UA_NODEID_NUMERIC(ns[0], 21055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_818_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21056LU) +); +} + +/* StatePausedByParent - ns=0;i=21050 */ + +static UA_StatusCode function_namespace0_generated_819_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21050LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_819_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21050LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21053 */ + +static UA_StatusCode function_namespace0_generated_820_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21053_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21053_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21053_variant_DataContents); +*variablenode_ns_0_i_21053_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21053_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21053LU), +UA_NODEID_NUMERIC(ns[0], 21050LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21053_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_820_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21053LU) +); +} + +/* Classification - ns=0;i=21052 */ + +static UA_StatusCode function_namespace0_generated_821_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21052_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21052_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21052_variant_DataContents); +*variablenode_ns_0_i_21052_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21052_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21052LU), +UA_NODEID_NUMERIC(ns[0], 21050LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21052_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_821_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21052LU) +); +} + +/* Active - ns=0;i=21051 */ + +static UA_StatusCode function_namespace0_generated_822_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21051LU), +UA_NODEID_NUMERIC(ns[0], 21050LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_822_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21051LU) +); +} + +/* StateOperationalFromError - ns=0;i=21045 */ + +static UA_StatusCode function_namespace0_generated_823_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21045LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_823_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21045LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21048 */ + +static UA_StatusCode function_namespace0_generated_824_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21048_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21048_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21048_variant_DataContents); +*variablenode_ns_0_i_21048_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21048_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21048LU), +UA_NODEID_NUMERIC(ns[0], 21045LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21048_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_824_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21048LU) +); +} + +/* Classification - ns=0;i=21047 */ + +static UA_StatusCode function_namespace0_generated_825_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21047_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21047_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21047_variant_DataContents); +*variablenode_ns_0_i_21047_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21047_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21047LU), +UA_NODEID_NUMERIC(ns[0], 21045LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21047_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_825_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21047LU) +); +} + +/* Active - ns=0;i=21046 */ + +static UA_StatusCode function_namespace0_generated_826_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21046LU), +UA_NODEID_NUMERIC(ns[0], 21045LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_826_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21046LU) +); +} + +/* StateOperationalByParent - ns=0;i=21040 */ + +static UA_StatusCode function_namespace0_generated_827_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21040LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_827_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21040LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21043 */ + +static UA_StatusCode function_namespace0_generated_828_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21043_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21043_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21043_variant_DataContents); +*variablenode_ns_0_i_21043_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21043_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21043LU), +UA_NODEID_NUMERIC(ns[0], 21040LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21043_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_828_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21043LU) +); +} + +/* Classification - ns=0;i=21042 */ + +static UA_StatusCode function_namespace0_generated_829_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21042_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21042_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21042_variant_DataContents); +*variablenode_ns_0_i_21042_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21042_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21042LU), +UA_NODEID_NUMERIC(ns[0], 21040LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21042_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_829_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21042LU) +); +} + +/* Active - ns=0;i=21041 */ + +static UA_StatusCode function_namespace0_generated_830_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21041LU), +UA_NODEID_NUMERIC(ns[0], 21040LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_830_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21041LU) +); +} + +/* StateOperationalByMethod - ns=0;i=21035 */ + +static UA_StatusCode function_namespace0_generated_831_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21035LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_831_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21035LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21038 */ + +static UA_StatusCode function_namespace0_generated_832_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21038_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21038_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21038_variant_DataContents); +*variablenode_ns_0_i_21038_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21038_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21038LU), +UA_NODEID_NUMERIC(ns[0], 21035LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21038_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_832_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21038LU) +); +} + +/* Classification - ns=0;i=21037 */ + +static UA_StatusCode function_namespace0_generated_833_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21037_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21037_variant_DataContents); +*variablenode_ns_0_i_21037_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21037_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21037LU), +UA_NODEID_NUMERIC(ns[0], 21035LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21037_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_833_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21037LU) +); +} + +/* Active - ns=0;i=21036 */ + +static UA_StatusCode function_namespace0_generated_834_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21036LU), +UA_NODEID_NUMERIC(ns[0], 21035LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_834_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21036LU) +); +} + +/* StateError - ns=0;i=21030 */ + +static UA_StatusCode function_namespace0_generated_835_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21030LU), +UA_NODEID_NUMERIC(ns[0], 21029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_835_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21030LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21033 */ + +static UA_StatusCode function_namespace0_generated_836_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_21033_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21033_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21033_variant_DataContents); +*variablenode_ns_0_i_21033_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21033_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21033LU), +UA_NODEID_NUMERIC(ns[0], 21030LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21033_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_836_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21033LU) +); +} + +/* Classification - ns=0;i=21032 */ + +static UA_StatusCode function_namespace0_generated_837_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_21032_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_21032_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_21032_variant_DataContents); +*variablenode_ns_0_i_21032_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21032_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21032LU), +UA_NODEID_NUMERIC(ns[0], 21030LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_21032_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_837_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21032LU) +); +} + +/* Active - ns=0;i=21031 */ + +static UA_StatusCode function_namespace0_generated_838_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21031LU), +UA_NODEID_NUMERIC(ns[0], 21030LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_838_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21031LU) +); +} + +/* SubError - ns=0;i=21028 */ + +static UA_StatusCode function_namespace0_generated_839_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21028LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_839_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21028LU) +); +} + +/* Reset - ns=0;i=21027 */ + +static UA_StatusCode function_namespace0_generated_840_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 21027LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_840_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21027LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=21022 */ + +static UA_StatusCode function_namespace0_generated_841_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21022LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_841_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21022LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21025 */ + +static UA_StatusCode function_namespace0_generated_842_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21025LU), +UA_NODEID_NUMERIC(ns[0], 21022LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_842_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21025LU) +); +} + +/* Classification - ns=0;i=21024 */ + +static UA_StatusCode function_namespace0_generated_843_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21024LU), +UA_NODEID_NUMERIC(ns[0], 21022LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_843_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21024LU) +); +} + +/* Active - ns=0;i=21023 */ + +static UA_StatusCode function_namespace0_generated_844_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21023LU), +UA_NODEID_NUMERIC(ns[0], 21022LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_844_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21023LU) +); +} + +/* TotalInformation - ns=0;i=21017 */ + +static UA_StatusCode function_namespace0_generated_845_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21017LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_845_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21017LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21020 */ + +static UA_StatusCode function_namespace0_generated_846_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21020LU), +UA_NODEID_NUMERIC(ns[0], 21017LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_846_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21020LU) +); +} + +/* Classification - ns=0;i=21019 */ + +static UA_StatusCode function_namespace0_generated_847_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21019LU), +UA_NODEID_NUMERIC(ns[0], 21017LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_847_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21019LU) +); +} + +/* Active - ns=0;i=21018 */ + +static UA_StatusCode function_namespace0_generated_848_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21018LU), +UA_NODEID_NUMERIC(ns[0], 21017LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_848_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21018LU) +); +} + +/* DiagnosticsLevel - ns=0;i=21016 */ + +static UA_StatusCode function_namespace0_generated_849_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21016LU), +UA_NODEID_NUMERIC(ns[0], 21015LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_849_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21016LU) +); +} + +/* - ns=0;i=18076 */ + +static UA_StatusCode function_namespace0_generated_850_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 17999LU), +UA_NODEID_NUMERIC(ns[0], 15297LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15306LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_850_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18076LU) +); +} + +/* SubscribedDataSet - ns=0;i=21006 */ + +static UA_StatusCode function_namespace0_generated_851_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21006LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), +UA_NODEID_NUMERIC(ns[0], 15108LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_851_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21006LU) +); +} + +/* Status - ns=0;i=18088 */ + +static UA_StatusCode function_namespace0_generated_852_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18088LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_852_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18088LU) +); +} + +/* State - ns=0;i=18089 */ + +static UA_StatusCode function_namespace0_generated_853_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18089LU), +UA_NODEID_NUMERIC(ns[0], 18088LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_853_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18089LU) +); +} + +/* MessageReceiveTimeout - ns=0;i=18082 */ + +static UA_StatusCode function_namespace0_generated_854_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MessageReceiveTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18082LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MessageReceiveTimeout"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_854_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18082LU) +); +} + +/* DataSetFieldContentMask - ns=0;i=18081 */ + +static UA_StatusCode function_namespace0_generated_855_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18081LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_855_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18081LU) +); +} + +/* DataSetMetaData - ns=0;i=18080 */ + +static UA_StatusCode function_namespace0_generated_856_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18080LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_856_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18080LU) +); +} + +/* DataSetWriterId - ns=0;i=18079 */ + +static UA_StatusCode function_namespace0_generated_857_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18079LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_857_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18079LU) +); +} + +/* WriterGroupId - ns=0;i=18078 */ + +static UA_StatusCode function_namespace0_generated_858_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18078LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_858_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18078LU) +); +} + +/* PublisherId - ns=0;i=18077 */ + +static UA_StatusCode function_namespace0_generated_859_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18077LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_859_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18077LU) +); +} + +/* HeaderLayoutUri - ns=0;i=17562 */ + +static UA_StatusCode function_namespace0_generated_860_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17562LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_860_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17562LU) +); +} + +/* KeyFrameCount - ns=0;i=17560 */ + +static UA_StatusCode function_namespace0_generated_861_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyFrameCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17560LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeyFrameCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_861_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17560LU) +); +} + +/* DataSetReaderProperties - ns=0;i=17492 */ + +static UA_StatusCode function_namespace0_generated_862_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17492LU), +UA_NODEID_NUMERIC(ns[0], 18076LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_862_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17492LU) +); +} + +/* WriterGroupType - ns=0;i=17725 */ + +static UA_StatusCode function_namespace0_generated_863_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_863_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17725LU) +); +} + +/* RemoveDataSetWriter - ns=0;i=17992 */ + +static UA_StatusCode function_namespace0_generated_864_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetWriter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17992LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveDataSetWriter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_864_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17992LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17993 */ + +static UA_StatusCode function_namespace0_generated_865_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17993_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17993_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17993_variant_DataContents[0].name = UA_STRING("DataSetWriterNodeId"); +variablenode_ns_0_i_17993_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17993_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17993_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17993LU), +UA_NODEID_NUMERIC(ns[0], 17992LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_865_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17993LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddDataSetWriter - ns=0;i=17969 */ + +static UA_StatusCode function_namespace0_generated_866_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetWriter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17969LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddDataSetWriter"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_866_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17969LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17987 */ + +static UA_StatusCode function_namespace0_generated_867_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17987_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17987_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17987_variant_DataContents[0].name = UA_STRING("DataSetWriterNodeId"); +variablenode_ns_0_i_17987_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17987_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17987_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17987LU), +UA_NODEID_NUMERIC(ns[0], 17969LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_867_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17987LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17976 */ + +static UA_StatusCode function_namespace0_generated_868_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17976_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17976_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17976_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_17976_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15597LU); +variablenode_ns_0_i_17976_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17976_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17976LU), +UA_NODEID_NUMERIC(ns[0], 17969LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_868_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17976LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Diagnostics - ns=0;i=17812 */ + +static UA_StatusCode function_namespace0_generated_869_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19834LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_869_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17812LU) +); +} + +/* LiveValues - ns=0;i=17858 */ + +static UA_StatusCode function_namespace0_generated_870_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17858LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_870_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17858LU) +); +} + +/* OperationalDataSetWriters - ns=0;i=17927 */ + +static UA_StatusCode function_namespace0_generated_871_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17927LU), +UA_NODEID_NUMERIC(ns[0], 17858LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_871_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17927LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17934 */ + +static UA_StatusCode function_namespace0_generated_872_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17934_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17934_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17934_variant_DataContents); +*variablenode_ns_0_i_17934_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17934_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17934LU), +UA_NODEID_NUMERIC(ns[0], 17927LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17934_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_872_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17934LU) +); +} + +/* ConfiguredDataSetWriters - ns=0;i=17913 */ + +static UA_StatusCode function_namespace0_generated_873_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17913LU), +UA_NODEID_NUMERIC(ns[0], 17858LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_873_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17913LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17920 */ + +static UA_StatusCode function_namespace0_generated_874_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17920_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17920_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17920_variant_DataContents); +*variablenode_ns_0_i_17920_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17920_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17920LU), +UA_NODEID_NUMERIC(ns[0], 17913LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17920_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_874_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17920LU) +); +} + +/* Counters - ns=0;i=17826 */ + +static UA_StatusCode function_namespace0_generated_875_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_875_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17826LU) +); +} + +/* EncryptionErrors - ns=0;i=17900 */ + +static UA_StatusCode function_namespace0_generated_876_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EncryptionErrors"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17900LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EncryptionErrors"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_876_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17900LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17903 */ + +static UA_StatusCode function_namespace0_generated_877_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17903_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17903_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17903_variant_DataContents); +*variablenode_ns_0_i_17903_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17903_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17903LU), +UA_NODEID_NUMERIC(ns[0], 17900LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17903_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_877_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17903LU) +); +} + +/* Classification - ns=0;i=17902 */ + +static UA_StatusCode function_namespace0_generated_878_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17902_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17902_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17902_variant_DataContents); +*variablenode_ns_0_i_17902_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17902_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17902LU), +UA_NODEID_NUMERIC(ns[0], 17900LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17902_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_878_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17902LU) +); +} + +/* Active - ns=0;i=17901 */ + +static UA_StatusCode function_namespace0_generated_879_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17901LU), +UA_NODEID_NUMERIC(ns[0], 17900LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_879_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17901LU) +); +} + +/* FailedTransmissions - ns=0;i=17874 */ + +static UA_StatusCode function_namespace0_generated_880_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailedTransmissions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17874LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailedTransmissions"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_880_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17874LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17892 */ + +static UA_StatusCode function_namespace0_generated_881_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17892_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17892_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17892_variant_DataContents); +*variablenode_ns_0_i_17892_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17892_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17892LU), +UA_NODEID_NUMERIC(ns[0], 17874LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17892_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_881_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17892LU) +); +} + +/* Classification - ns=0;i=17885 */ + +static UA_StatusCode function_namespace0_generated_882_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17885_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17885_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17885_variant_DataContents); +*variablenode_ns_0_i_17885_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17885_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17885LU), +UA_NODEID_NUMERIC(ns[0], 17874LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17885_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_882_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17885LU) +); +} + +/* Active - ns=0;i=17878 */ + +static UA_StatusCode function_namespace0_generated_883_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17878LU), +UA_NODEID_NUMERIC(ns[0], 17874LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_883_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17878LU) +); +} + +/* SentNetworkMessages - ns=0;i=17859 */ + +static UA_StatusCode function_namespace0_generated_884_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SentNetworkMessages"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17859LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SentNetworkMessages"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_884_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17859LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17872 */ + +static UA_StatusCode function_namespace0_generated_885_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17872_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17872_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17872_variant_DataContents); +*variablenode_ns_0_i_17872_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17872_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17872LU), +UA_NODEID_NUMERIC(ns[0], 17859LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17872_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_885_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17872LU) +); +} + +/* Classification - ns=0;i=17871 */ + +static UA_StatusCode function_namespace0_generated_886_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17871_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17871_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17871_variant_DataContents); +*variablenode_ns_0_i_17871_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17871_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17871LU), +UA_NODEID_NUMERIC(ns[0], 17859LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17871_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_886_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17871LU) +); +} + +/* Active - ns=0;i=17864 */ + +static UA_StatusCode function_namespace0_generated_887_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17864LU), +UA_NODEID_NUMERIC(ns[0], 17859LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_887_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17864LU) +); +} + +/* StateDisabledByMethod - ns=0;i=17853 */ + +static UA_StatusCode function_namespace0_generated_888_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17853LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_888_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17853LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17856 */ + +static UA_StatusCode function_namespace0_generated_889_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17856_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17856_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17856_variant_DataContents); +*variablenode_ns_0_i_17856_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17856_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17856LU), +UA_NODEID_NUMERIC(ns[0], 17853LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17856_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_889_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17856LU) +); +} + +/* Classification - ns=0;i=17855 */ + +static UA_StatusCode function_namespace0_generated_890_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17855_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17855_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17855_variant_DataContents); +*variablenode_ns_0_i_17855_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17855_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17855LU), +UA_NODEID_NUMERIC(ns[0], 17853LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17855_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_890_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17855LU) +); +} + +/* Active - ns=0;i=17854 */ + +static UA_StatusCode function_namespace0_generated_891_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17854LU), +UA_NODEID_NUMERIC(ns[0], 17853LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_891_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17854LU) +); +} + +/* StatePausedByParent - ns=0;i=17847 */ + +static UA_StatusCode function_namespace0_generated_892_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17847LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_892_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17847LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17850 */ + +static UA_StatusCode function_namespace0_generated_893_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17850_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17850_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17850_variant_DataContents); +*variablenode_ns_0_i_17850_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17850_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17850LU), +UA_NODEID_NUMERIC(ns[0], 17847LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17850_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_893_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17850LU) +); +} + +/* Classification - ns=0;i=17849 */ + +static UA_StatusCode function_namespace0_generated_894_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17849_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17849_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17849_variant_DataContents); +*variablenode_ns_0_i_17849_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17849_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17849LU), +UA_NODEID_NUMERIC(ns[0], 17847LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17849_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_894_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17849LU) +); +} + +/* Active - ns=0;i=17848 */ + +static UA_StatusCode function_namespace0_generated_895_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17848LU), +UA_NODEID_NUMERIC(ns[0], 17847LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_895_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17848LU) +); +} + +/* StateOperationalFromError - ns=0;i=17842 */ + +static UA_StatusCode function_namespace0_generated_896_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17842LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_896_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17842LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17845 */ + +static UA_StatusCode function_namespace0_generated_897_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17845_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17845_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17845_variant_DataContents); +*variablenode_ns_0_i_17845_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17845_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17845LU), +UA_NODEID_NUMERIC(ns[0], 17842LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17845_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_897_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17845LU) +); +} + +/* Classification - ns=0;i=17844 */ + +static UA_StatusCode function_namespace0_generated_898_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17844_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17844_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17844_variant_DataContents); +*variablenode_ns_0_i_17844_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17844_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17844LU), +UA_NODEID_NUMERIC(ns[0], 17842LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17844_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_898_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17844LU) +); +} + +/* Active - ns=0;i=17843 */ + +static UA_StatusCode function_namespace0_generated_899_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17843LU), +UA_NODEID_NUMERIC(ns[0], 17842LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_899_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17843LU) +); +} + +/* StateOperationalByParent - ns=0;i=17837 */ + +static UA_StatusCode function_namespace0_generated_900_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17837LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_900_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17837LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17840 */ + +static UA_StatusCode function_namespace0_generated_901_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17840_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17840_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17840_variant_DataContents); +*variablenode_ns_0_i_17840_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17840_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17840LU), +UA_NODEID_NUMERIC(ns[0], 17837LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17840_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_901_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17840LU) +); +} + +/* Classification - ns=0;i=17839 */ + +static UA_StatusCode function_namespace0_generated_902_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17839_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17839_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17839_variant_DataContents); +*variablenode_ns_0_i_17839_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17839_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17839LU), +UA_NODEID_NUMERIC(ns[0], 17837LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17839_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_902_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17839LU) +); +} + +/* Active - ns=0;i=17838 */ + +static UA_StatusCode function_namespace0_generated_903_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17838LU), +UA_NODEID_NUMERIC(ns[0], 17837LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_903_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17838LU) +); +} + +/* StateOperationalByMethod - ns=0;i=17832 */ + +static UA_StatusCode function_namespace0_generated_904_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17832LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_904_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17832LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17835 */ + +static UA_StatusCode function_namespace0_generated_905_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17835_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17835_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17835_variant_DataContents); +*variablenode_ns_0_i_17835_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17835_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17835LU), +UA_NODEID_NUMERIC(ns[0], 17832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17835_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_905_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17835LU) +); +} + +/* Classification - ns=0;i=17834 */ + +static UA_StatusCode function_namespace0_generated_906_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17834_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17834_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17834_variant_DataContents); +*variablenode_ns_0_i_17834_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17834_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17834LU), +UA_NODEID_NUMERIC(ns[0], 17832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17834_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_906_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17834LU) +); +} + +/* Active - ns=0;i=17833 */ + +static UA_StatusCode function_namespace0_generated_907_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17833LU), +UA_NODEID_NUMERIC(ns[0], 17832LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_907_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17833LU) +); +} + +/* StateError - ns=0;i=17827 */ + +static UA_StatusCode function_namespace0_generated_908_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17827LU), +UA_NODEID_NUMERIC(ns[0], 17826LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_908_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17827LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17830 */ + +static UA_StatusCode function_namespace0_generated_909_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17830_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17830_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17830_variant_DataContents); +*variablenode_ns_0_i_17830_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17830_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17830LU), +UA_NODEID_NUMERIC(ns[0], 17827LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17830_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_909_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17830LU) +); +} + +/* Classification - ns=0;i=17829 */ + +static UA_StatusCode function_namespace0_generated_910_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17829_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17829_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17829_variant_DataContents); +*variablenode_ns_0_i_17829_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17829_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17829LU), +UA_NODEID_NUMERIC(ns[0], 17827LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17829_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_910_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17829LU) +); +} + +/* Active - ns=0;i=17828 */ + +static UA_StatusCode function_namespace0_generated_911_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17828LU), +UA_NODEID_NUMERIC(ns[0], 17827LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_911_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17828LU) +); +} + +/* SubError - ns=0;i=17825 */ + +static UA_StatusCode function_namespace0_generated_912_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17825LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_912_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17825LU) +); +} + +/* Reset - ns=0;i=17824 */ + +static UA_StatusCode function_namespace0_generated_913_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17824LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_913_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17824LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=17819 */ + +static UA_StatusCode function_namespace0_generated_914_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17819LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_914_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17819LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17822 */ + +static UA_StatusCode function_namespace0_generated_915_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17822LU), +UA_NODEID_NUMERIC(ns[0], 17819LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_915_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17822LU) +); +} + +/* Classification - ns=0;i=17821 */ + +static UA_StatusCode function_namespace0_generated_916_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17821LU), +UA_NODEID_NUMERIC(ns[0], 17819LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_916_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17821LU) +); +} + +/* Active - ns=0;i=17820 */ + +static UA_StatusCode function_namespace0_generated_917_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17820LU), +UA_NODEID_NUMERIC(ns[0], 17819LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_917_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17820LU) +); +} + +/* TotalInformation - ns=0;i=17814 */ + +static UA_StatusCode function_namespace0_generated_918_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17814LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_918_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17814LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17817 */ + +static UA_StatusCode function_namespace0_generated_919_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17817LU), +UA_NODEID_NUMERIC(ns[0], 17814LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_919_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17817LU) +); +} + +/* Classification - ns=0;i=17816 */ + +static UA_StatusCode function_namespace0_generated_920_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17816LU), +UA_NODEID_NUMERIC(ns[0], 17814LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_920_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17816LU) +); +} + +/* Active - ns=0;i=17815 */ + +static UA_StatusCode function_namespace0_generated_921_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17815LU), +UA_NODEID_NUMERIC(ns[0], 17814LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_921_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17815LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17813 */ + +static UA_StatusCode function_namespace0_generated_922_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17813LU), +UA_NODEID_NUMERIC(ns[0], 17812LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_922_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17813LU) +); +} + +/* - ns=0;i=17743 */ + +static UA_StatusCode function_namespace0_generated_923_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17743LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 15296LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15298LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_923_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17743LU) +); +} + +/* Status - ns=0;i=17749 */ + +static UA_StatusCode function_namespace0_generated_924_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17749LU), +UA_NODEID_NUMERIC(ns[0], 17743LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_924_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17749LU) +); +} + +/* State - ns=0;i=17750 */ + +static UA_StatusCode function_namespace0_generated_925_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17750LU), +UA_NODEID_NUMERIC(ns[0], 17749LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_925_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17750LU) +); +} + +/* DataSetFieldContentMask - ns=0;i=17745 */ + +static UA_StatusCode function_namespace0_generated_926_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17745LU), +UA_NODEID_NUMERIC(ns[0], 17743LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_926_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17745LU) +); +} + +/* DataSetWriterId - ns=0;i=17744 */ + +static UA_StatusCode function_namespace0_generated_927_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17744LU), +UA_NODEID_NUMERIC(ns[0], 17743LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_927_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17744LU) +); +} + +/* DataSetWriterProperties - ns=0;i=17490 */ + +static UA_StatusCode function_namespace0_generated_928_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17490LU), +UA_NODEID_NUMERIC(ns[0], 17743LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_928_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17490LU) +); +} + +/* MessageSettings - ns=0;i=17742 */ + +static UA_StatusCode function_namespace0_generated_929_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17742LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MessageSettings"), +UA_NODEID_NUMERIC(ns[0], 17998LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_929_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17742LU) +); +} + +/* TransportSettings - ns=0;i=17741 */ + +static UA_StatusCode function_namespace0_generated_930_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17741LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportSettings"), +UA_NODEID_NUMERIC(ns[0], 17997LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_930_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17741LU) +); +} + +/* LocaleIds - ns=0;i=17740 */ + +static UA_StatusCode function_namespace0_generated_931_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17740LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIds"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_931_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17740LU) +); +} + +/* Priority - ns=0;i=17739 */ + +static UA_StatusCode function_namespace0_generated_932_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17739LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Priority"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_932_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17739LU) +); +} + +/* KeepAliveTime - ns=0;i=17738 */ + +static UA_StatusCode function_namespace0_generated_933_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeepAliveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17738LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeepAliveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_933_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17738LU) +); +} + +/* PublishingInterval - ns=0;i=17737 */ + +static UA_StatusCode function_namespace0_generated_934_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17737LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_934_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17737LU) +); +} + +/* WriterGroupId - ns=0;i=17736 */ + +static UA_StatusCode function_namespace0_generated_935_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17736LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_935_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17736LU) +); +} + +/* HeaderLayoutUri - ns=0;i=17559 */ + +static UA_StatusCode function_namespace0_generated_936_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17559LU), +UA_NODEID_NUMERIC(ns[0], 17725LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_936_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17559LU) +); +} + +/* MaxNetworkMessageSize - ns=0;i=17724 */ + +static UA_StatusCode function_namespace0_generated_937_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17724LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_937_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17724LU) +); +} + +/* GroupProperties - ns=0;i=17488 */ + +static UA_StatusCode function_namespace0_generated_938_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GroupProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17488LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "GroupProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_938_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17488LU) +); +} + +/* SecurityKeyServices - ns=0;i=15928 */ + +static UA_StatusCode function_namespace0_generated_939_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServices"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15928LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityKeyServices"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_939_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15928LU) +); +} + +/* SecurityGroupId - ns=0;i=15927 */ + +static UA_StatusCode function_namespace0_generated_940_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15927LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_940_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15927LU) +); +} + +/* SecurityMode - ns=0;i=15926 */ + +static UA_StatusCode function_namespace0_generated_941_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15926LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_941_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15926LU) +); +} + +/* Status - ns=0;i=15265 */ + +static UA_StatusCode function_namespace0_generated_942_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15265LU), +UA_NODEID_NUMERIC(ns[0], 14232LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_942_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15265LU) +); +} + +/* State - ns=0;i=15266 */ + +static UA_StatusCode function_namespace0_generated_943_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15266LU), +UA_NODEID_NUMERIC(ns[0], 15265LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_943_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15266LU) +); +} + +/* ConnectionTransportType - ns=0;i=17721 */ + +static UA_StatusCode function_namespace0_generated_944_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17721LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_944_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17721LU) +); +} + +/* BrokerConnectionTransportType - ns=0;i=15155 */ + +static UA_StatusCode function_namespace0_generated_945_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15155LU), +UA_NODEID_NUMERIC(ns[0], 17721LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_945_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15155LU) +); +} + +/* AuthenticationProfileUri - ns=0;i=15178 */ + +static UA_StatusCode function_namespace0_generated_946_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15178LU), +UA_NODEID_NUMERIC(ns[0], 15155LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_946_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15178LU) +); +} + +/* ResourceUri - ns=0;i=15156 */ + +static UA_StatusCode function_namespace0_generated_947_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15156LU), +UA_NODEID_NUMERIC(ns[0], 15155LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_947_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15156LU) +); +} + +/* DatagramConnectionTransportType - ns=0;i=15064 */ + +static UA_StatusCode function_namespace0_generated_948_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15064LU), +UA_NODEID_NUMERIC(ns[0], 17721LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_948_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15064LU) +); +} + +/* DatagramQos - ns=0;i=25526 */ + +static UA_StatusCode function_namespace0_generated_949_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23603LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramQos"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25526LU), +UA_NODEID_NUMERIC(ns[0], 15064LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DatagramQos"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_949_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25526LU) +); +} + +/* QosCategory - ns=0;i=25525 */ + +static UA_StatusCode function_namespace0_generated_950_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QosCategory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25525LU), +UA_NODEID_NUMERIC(ns[0], 15064LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "QosCategory"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_950_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25525LU) +); +} + +/* DiscoveryMaxMessageSize - ns=0;i=23840 */ + +static UA_StatusCode function_namespace0_generated_951_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryMaxMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23840LU), +UA_NODEID_NUMERIC(ns[0], 15064LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryMaxMessageSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_951_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23840LU) +); +} + +/* DiscoveryAnnounceRate - ns=0;i=23839 */ + +static UA_StatusCode function_namespace0_generated_952_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryAnnounceRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23839LU), +UA_NODEID_NUMERIC(ns[0], 15064LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryAnnounceRate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_952_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23839LU) +); +} + +/* DiscoveryAddress - ns=0;i=15072 */ + +static UA_StatusCode function_namespace0_generated_953_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15072LU), +UA_NODEID_NUMERIC(ns[0], 15064LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryAddress"), +UA_NODEID_NUMERIC(ns[0], 21145LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_953_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15072LU) +); +} + +/* PubSubConnectionType - ns=0;i=14209 */ + +static UA_StatusCode function_namespace0_generated_954_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConnectionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_954_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14209LU) +); +} + +/* Diagnostics - ns=0;i=19241 */ + +static UA_StatusCode function_namespace0_generated_955_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19786LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_955_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19241LU) +); +} + +/* LiveValues - ns=0;i=19286 */ + +static UA_StatusCode function_namespace0_generated_956_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19286LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_956_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19286LU) +); +} + +/* ResolvedAddress - ns=0;i=19287 */ + +static UA_StatusCode function_namespace0_generated_957_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResolvedAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19287LU), +UA_NODEID_NUMERIC(ns[0], 19286LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ResolvedAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_957_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19287LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19288 */ + +static UA_StatusCode function_namespace0_generated_958_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19288_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19288_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19288_variant_DataContents); +*variablenode_ns_0_i_19288_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19288_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19288LU), +UA_NODEID_NUMERIC(ns[0], 19287LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19288_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_958_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19288LU) +); +} + +/* Counters - ns=0;i=19255 */ + +static UA_StatusCode function_namespace0_generated_959_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_959_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19255LU) +); +} + +/* StateDisabledByMethod - ns=0;i=19281 */ + +static UA_StatusCode function_namespace0_generated_960_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19281LU), +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_960_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19281LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19284 */ + +static UA_StatusCode function_namespace0_generated_961_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19284_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19284_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19284_variant_DataContents); +*variablenode_ns_0_i_19284_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19284_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19284LU), +UA_NODEID_NUMERIC(ns[0], 19281LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19284_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_961_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19284LU) +); +} + +/* Classification - ns=0;i=19283 */ + +static UA_StatusCode function_namespace0_generated_962_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19283_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19283_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19283_variant_DataContents); +*variablenode_ns_0_i_19283_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19283_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19283LU), +UA_NODEID_NUMERIC(ns[0], 19281LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19283_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_962_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19283LU) +); +} + +/* Active - ns=0;i=19282 */ + +static UA_StatusCode function_namespace0_generated_963_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19282LU), +UA_NODEID_NUMERIC(ns[0], 19281LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_963_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19282LU) +); +} + +/* StatePausedByParent - ns=0;i=19276 */ + +static UA_StatusCode function_namespace0_generated_964_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19276LU), +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_964_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19276LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19279 */ + +static UA_StatusCode function_namespace0_generated_965_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19279_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19279_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19279_variant_DataContents); +*variablenode_ns_0_i_19279_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19279_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19279LU), +UA_NODEID_NUMERIC(ns[0], 19276LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19279_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_965_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19279LU) +); +} + +/* Classification - ns=0;i=19278 */ + +static UA_StatusCode function_namespace0_generated_966_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19278_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19278_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19278_variant_DataContents); +*variablenode_ns_0_i_19278_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19278_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19278LU), +UA_NODEID_NUMERIC(ns[0], 19276LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19278_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_966_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19278LU) +); +} + +/* Active - ns=0;i=19277 */ + +static UA_StatusCode function_namespace0_generated_967_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19277LU), +UA_NODEID_NUMERIC(ns[0], 19276LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_967_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19277LU) +); +} + +/* StateOperationalFromError - ns=0;i=19271 */ + +static UA_StatusCode function_namespace0_generated_968_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19271LU), +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_968_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19271LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19274 */ + +static UA_StatusCode function_namespace0_generated_969_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19274_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19274_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19274_variant_DataContents); +*variablenode_ns_0_i_19274_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19274_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19274LU), +UA_NODEID_NUMERIC(ns[0], 19271LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19274_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_969_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19274LU) +); +} + +/* Classification - ns=0;i=19273 */ + +static UA_StatusCode function_namespace0_generated_970_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19273_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19273_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19273_variant_DataContents); +*variablenode_ns_0_i_19273_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19273_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19273LU), +UA_NODEID_NUMERIC(ns[0], 19271LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19273_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_970_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19273LU) +); +} + +/* Active - ns=0;i=19272 */ + +static UA_StatusCode function_namespace0_generated_971_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19272LU), +UA_NODEID_NUMERIC(ns[0], 19271LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_971_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19272LU) +); +} + +/* StateOperationalByParent - ns=0;i=19266 */ + +static UA_StatusCode function_namespace0_generated_972_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19266LU), +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_972_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19266LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19269 */ + +static UA_StatusCode function_namespace0_generated_973_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19269_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19269_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19269_variant_DataContents); +*variablenode_ns_0_i_19269_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19269_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19269LU), +UA_NODEID_NUMERIC(ns[0], 19266LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19269_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_973_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19269LU) +); +} + +/* Classification - ns=0;i=19268 */ + +static UA_StatusCode function_namespace0_generated_974_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19268_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19268_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19268_variant_DataContents); +*variablenode_ns_0_i_19268_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19268_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19268LU), +UA_NODEID_NUMERIC(ns[0], 19266LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19268_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_974_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19268LU) +); +} + +/* Active - ns=0;i=19267 */ + +static UA_StatusCode function_namespace0_generated_975_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19267LU), +UA_NODEID_NUMERIC(ns[0], 19266LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_975_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19267LU) +); +} + +/* StateOperationalByMethod - ns=0;i=19261 */ + +static UA_StatusCode function_namespace0_generated_976_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19261LU), +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_976_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19261LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19264 */ + +static UA_StatusCode function_namespace0_generated_977_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19264_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19264_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19264_variant_DataContents); +*variablenode_ns_0_i_19264_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19264_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19264LU), +UA_NODEID_NUMERIC(ns[0], 19261LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19264_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_977_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19264LU) +); +} + +/* Classification - ns=0;i=19263 */ + +static UA_StatusCode function_namespace0_generated_978_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19263_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19263_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19263_variant_DataContents); +*variablenode_ns_0_i_19263_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19263_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19263LU), +UA_NODEID_NUMERIC(ns[0], 19261LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19263_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_978_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19263LU) +); +} + +/* Active - ns=0;i=19262 */ + +static UA_StatusCode function_namespace0_generated_979_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19262LU), +UA_NODEID_NUMERIC(ns[0], 19261LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_979_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19262LU) +); +} + +/* StateError - ns=0;i=19256 */ + +static UA_StatusCode function_namespace0_generated_980_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19256LU), +UA_NODEID_NUMERIC(ns[0], 19255LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_980_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19256LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19259 */ + +static UA_StatusCode function_namespace0_generated_981_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_19259_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19259_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19259_variant_DataContents); +*variablenode_ns_0_i_19259_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19259_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19259LU), +UA_NODEID_NUMERIC(ns[0], 19256LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19259_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_981_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19259LU) +); +} + +/* Classification - ns=0;i=19258 */ + +static UA_StatusCode function_namespace0_generated_982_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_19258_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_19258_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_19258_variant_DataContents); +*variablenode_ns_0_i_19258_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19258_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19258LU), +UA_NODEID_NUMERIC(ns[0], 19256LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_19258_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_982_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19258LU) +); +} + +/* Active - ns=0;i=19257 */ + +static UA_StatusCode function_namespace0_generated_983_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19257LU), +UA_NODEID_NUMERIC(ns[0], 19256LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_983_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19257LU) +); +} + +/* SubError - ns=0;i=19254 */ + +static UA_StatusCode function_namespace0_generated_984_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19254LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_984_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19254LU) +); +} + +/* Reset - ns=0;i=19253 */ + +static UA_StatusCode function_namespace0_generated_985_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19253LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_985_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19253LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=19248 */ + +static UA_StatusCode function_namespace0_generated_986_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19248LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_986_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19248LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19251 */ + +static UA_StatusCode function_namespace0_generated_987_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19251LU), +UA_NODEID_NUMERIC(ns[0], 19248LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_987_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19251LU) +); +} + +/* Classification - ns=0;i=19250 */ + +static UA_StatusCode function_namespace0_generated_988_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19250LU), +UA_NODEID_NUMERIC(ns[0], 19248LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_988_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19250LU) +); +} + +/* Active - ns=0;i=19249 */ + +static UA_StatusCode function_namespace0_generated_989_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19249LU), +UA_NODEID_NUMERIC(ns[0], 19248LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_989_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19249LU) +); +} + +/* TotalInformation - ns=0;i=19243 */ + +static UA_StatusCode function_namespace0_generated_990_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19243LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_990_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19243LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19246 */ + +static UA_StatusCode function_namespace0_generated_991_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19246LU), +UA_NODEID_NUMERIC(ns[0], 19243LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_991_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19246LU) +); +} + +/* Classification - ns=0;i=19245 */ + +static UA_StatusCode function_namespace0_generated_992_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19245LU), +UA_NODEID_NUMERIC(ns[0], 19243LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_992_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19245LU) +); +} + +/* Active - ns=0;i=19244 */ + +static UA_StatusCode function_namespace0_generated_993_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19244LU), +UA_NODEID_NUMERIC(ns[0], 19243LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_993_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19244LU) +); +} + +/* DiagnosticsLevel - ns=0;i=19242 */ + +static UA_StatusCode function_namespace0_generated_994_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19242LU), +UA_NODEID_NUMERIC(ns[0], 19241LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_994_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19242LU) +); +} + +/* ConnectionProperties - ns=0;i=17485 */ + +static UA_StatusCode function_namespace0_generated_995_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17485LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_995_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17485LU) +); +} + +/* AddReaderGroup - ns=0;i=17465 */ + +static UA_StatusCode function_namespace0_generated_996_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddReaderGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17465LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReaderGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_996_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17465LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17508 */ + +static UA_StatusCode function_namespace0_generated_997_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17508_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17508_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17508_variant_DataContents[0].name = UA_STRING("GroupId"); +variablenode_ns_0_i_17508_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17508_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17508_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17508LU), +UA_NODEID_NUMERIC(ns[0], 17465LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_997_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17508LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17507 */ + +static UA_StatusCode function_namespace0_generated_998_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17507_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17507_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17507_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_17507_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15520LU); +variablenode_ns_0_i_17507_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17507_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17507LU), +UA_NODEID_NUMERIC(ns[0], 17465LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_998_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17507LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddWriterGroup - ns=0;i=17427 */ + +static UA_StatusCode function_namespace0_generated_999_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddWriterGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17427LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddWriterGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_999_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17427LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17456 */ + +static UA_StatusCode function_namespace0_generated_1000_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17456_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17456_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17456_variant_DataContents[0].name = UA_STRING("GroupId"); +variablenode_ns_0_i_17456_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17456_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17456_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17456LU), +UA_NODEID_NUMERIC(ns[0], 17427LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1000_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17456LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17428 */ + +static UA_StatusCode function_namespace0_generated_1001_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17428_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17428_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17428_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_17428_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15480LU); +variablenode_ns_0_i_17428_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17428_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17428LU), +UA_NODEID_NUMERIC(ns[0], 17427LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1001_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17428LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=17325 */ + +static UA_StatusCode function_namespace0_generated_1002_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17325LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 18805LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 17999LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1002_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17325LU) +); +} + +/* GroupProperties - ns=0;i=17487 */ + +static UA_StatusCode function_namespace0_generated_1003_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GroupProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17487LU), +UA_NODEID_NUMERIC(ns[0], 17325LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "GroupProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1003_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17487LU) +); +} + +/* Status - ns=0;i=17329 */ + +static UA_StatusCode function_namespace0_generated_1004_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17329LU), +UA_NODEID_NUMERIC(ns[0], 17325LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1004_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17329LU) +); +} + +/* State - ns=0;i=17330 */ + +static UA_StatusCode function_namespace0_generated_1005_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17330LU), +UA_NODEID_NUMERIC(ns[0], 17329LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1005_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17330LU) +); +} + +/* SecurityMode - ns=0;i=17326 */ + +static UA_StatusCode function_namespace0_generated_1006_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17326LU), +UA_NODEID_NUMERIC(ns[0], 17325LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1006_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17326LU) +); +} + +/* MaxNetworkMessageSize - ns=0;i=17302 */ + +static UA_StatusCode function_namespace0_generated_1007_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17302LU), +UA_NODEID_NUMERIC(ns[0], 17325LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1007_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17302LU) +); +} + +/* - ns=0;i=17310 */ + +static UA_StatusCode function_namespace0_generated_1008_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 18804LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 17725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1008_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17310LU) +); +} + +/* HeaderLayoutUri - ns=0;i=17558 */ + +static UA_StatusCode function_namespace0_generated_1009_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17558LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1009_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17558LU) +); +} + +/* GroupProperties - ns=0;i=17486 */ + +static UA_StatusCode function_namespace0_generated_1010_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GroupProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17486LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "GroupProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1010_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17486LU) +); +} + +/* LocaleIds - ns=0;i=17322 */ + +static UA_StatusCode function_namespace0_generated_1011_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17322LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIds"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1011_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17322LU) +); +} + +/* Priority - ns=0;i=17321 */ + +static UA_StatusCode function_namespace0_generated_1012_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17321LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Priority"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1012_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17321LU) +); +} + +/* KeepAliveTime - ns=0;i=17319 */ + +static UA_StatusCode function_namespace0_generated_1013_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeepAliveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17319LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeepAliveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1013_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17319LU) +); +} + +/* PublishingInterval - ns=0;i=17318 */ + +static UA_StatusCode function_namespace0_generated_1014_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17318LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1014_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17318LU) +); +} + +/* Status - ns=0;i=17314 */ + +static UA_StatusCode function_namespace0_generated_1015_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17314LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1015_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17314LU) +); +} + +/* State - ns=0;i=17315 */ + +static UA_StatusCode function_namespace0_generated_1016_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17315LU), +UA_NODEID_NUMERIC(ns[0], 17314LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1016_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17315LU) +); +} + +/* SecurityMode - ns=0;i=17311 */ + +static UA_StatusCode function_namespace0_generated_1017_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17311LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1017_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17311LU) +); +} + +/* WriterGroupId - ns=0;i=17214 */ + +static UA_StatusCode function_namespace0_generated_1018_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17214LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1018_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17214LU) +); +} + +/* MaxNetworkMessageSize - ns=0;i=17204 */ + +static UA_StatusCode function_namespace0_generated_1019_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17204LU), +UA_NODEID_NUMERIC(ns[0], 17310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1019_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17204LU) +); +} + +/* TransportSettings - ns=0;i=17203 */ + +static UA_StatusCode function_namespace0_generated_1020_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17203LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportSettings"), +UA_NODEID_NUMERIC(ns[0], 17721LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1020_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17203LU) +); +} + +/* Status - ns=0;i=14600 */ + +static UA_StatusCode function_namespace0_generated_1021_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14600LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1021_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14600LU) +); +} + +/* State - ns=0;i=14601 */ + +static UA_StatusCode function_namespace0_generated_1022_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14601LU), +UA_NODEID_NUMERIC(ns[0], 14600LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1022_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14601LU) +); +} + +/* PublisherId - ns=0;i=14595 */ + +static UA_StatusCode function_namespace0_generated_1023_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14595LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1023_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14595LU) +); +} + +/* RemoveGroup - ns=0;i=14225 */ + +static UA_StatusCode function_namespace0_generated_1024_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14225LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1024_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14225LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14226 */ + +static UA_StatusCode function_namespace0_generated_1025_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14226_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14226_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14226_variant_DataContents[0].name = UA_STRING("GroupId"); +variablenode_ns_0_i_14226_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14226_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14226_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14226LU), +UA_NODEID_NUMERIC(ns[0], 14225LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1025_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14226LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Address - ns=0;i=14221 */ + +static UA_StatusCode function_namespace0_generated_1026_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Address"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14221LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Address"), +UA_NODEID_NUMERIC(ns[0], 21145LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1026_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14221LU) +); +} + +/* DataSetFolderType - ns=0;i=14477 */ + +static UA_StatusCode function_namespace0_generated_1027_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1027_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14477LU) +); +} + +/* RemoveDataSetFolder - ns=0;i=16997 */ + +static UA_StatusCode function_namespace0_generated_1028_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16997LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1028_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16997LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17007 */ + +static UA_StatusCode function_namespace0_generated_1029_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17007_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17007_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17007_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_17007_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17007_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17007_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17007LU), +UA_NODEID_NUMERIC(ns[0], 16997LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1029_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17007LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddDataSetFolder - ns=0;i=16994 */ + +static UA_StatusCode function_namespace0_generated_1030_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16994LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1030_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16994LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16996 */ + +static UA_StatusCode function_namespace0_generated_1031_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16996_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16996_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16996_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_16996_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16996_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16996_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16996LU), +UA_NODEID_NUMERIC(ns[0], 16994LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1031_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16996LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16995 */ + +static UA_StatusCode function_namespace0_generated_1032_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16995_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16995_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16995_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_16995_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16995_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16995_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16995LU), +UA_NODEID_NUMERIC(ns[0], 16994LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1032_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16995LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedEventsTemplate - ns=0;i=16960 */ + +static UA_StatusCode function_namespace0_generated_1033_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEventsTemplate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16960LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedEventsTemplate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1033_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16960LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16971 */ + +static UA_StatusCode function_namespace0_generated_1034_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16971_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16971_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16971_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_16971_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16971_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16971_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16971LU), +UA_NODEID_NUMERIC(ns[0], 16960LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1034_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16971LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16961 */ + +static UA_StatusCode function_namespace0_generated_1035_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16961_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_16961_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16961_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_16961_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16961_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16961_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16961_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); +variablenode_ns_0_i_16961_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +variablenode_ns_0_i_16961_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16961_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16961_variant_DataContents[2].name = UA_STRING("EventNotifier"); +variablenode_ns_0_i_16961_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16961_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16961_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16961_variant_DataContents[3].name = UA_STRING("SelectedFields"); +variablenode_ns_0_i_16961_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); +variablenode_ns_0_i_16961_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_16961_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_16961_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_16961_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16961_variant_DataContents[4].name = UA_STRING("Filter"); +variablenode_ns_0_i_16961_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +variablenode_ns_0_i_16961_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16961_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16961LU), +UA_NODEID_NUMERIC(ns[0], 16960LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1035_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16961LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedDataItemsTemplate - ns=0;i=16935 */ + +static UA_StatusCode function_namespace0_generated_1036_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItemsTemplate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16935LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItemsTemplate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1036_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16935LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16959 */ + +static UA_StatusCode function_namespace0_generated_1037_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16959_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16959_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16959_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_16959_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16959_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16959_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16959_variant_DataContents[1].name = UA_STRING("AddResults"); +variablenode_ns_0_i_16959_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_16959_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_16959_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_16959_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16959_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16959LU), +UA_NODEID_NUMERIC(ns[0], 16935LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1037_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16959LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16958 */ + +static UA_StatusCode function_namespace0_generated_1038_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16958_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_16958_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16958_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_16958_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16958_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16958_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16958_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); +variablenode_ns_0_i_16958_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +variablenode_ns_0_i_16958_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16958_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16958_variant_DataContents[2].name = UA_STRING("VariablesToAdd"); +variablenode_ns_0_i_16958_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); +variablenode_ns_0_i_16958_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_16958_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_16958_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16958_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16958LU), +UA_NODEID_NUMERIC(ns[0], 16935LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1038_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16958LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemovePublishedDataSet - ns=0;i=14499 */ + +static UA_StatusCode function_namespace0_generated_1039_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePublishedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14499LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePublishedDataSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1039_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14499LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14500 */ + +static UA_StatusCode function_namespace0_generated_1040_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14500_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14500_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14500_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_14500_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14500_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14500_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14500LU), +UA_NODEID_NUMERIC(ns[0], 14499LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1040_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14500LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedEvents - ns=0;i=14496 */ + +static UA_StatusCode function_namespace0_generated_1041_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEvents"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14496LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedEvents"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1041_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14496LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14498 */ + +static UA_StatusCode function_namespace0_generated_1042_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14498_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14498_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14498_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_14498_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14498_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14498_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14498_variant_DataContents[1].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_14498_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14498_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14498_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14498LU), +UA_NODEID_NUMERIC(ns[0], 14496LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1042_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14498LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14497 */ + +static UA_StatusCode function_namespace0_generated_1043_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14497_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_14497_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14497_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_14497_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14497_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14497_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14497_variant_DataContents[1].name = UA_STRING("EventNotifier"); +variablenode_ns_0_i_14497_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14497_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14497_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14497_variant_DataContents[2].name = UA_STRING("FieldNameAliases"); +variablenode_ns_0_i_14497_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14497_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14497_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14497_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14497_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14497_variant_DataContents[3].name = UA_STRING("FieldFlags"); +variablenode_ns_0_i_14497_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); +variablenode_ns_0_i_14497_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14497_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_14497_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14497_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14497_variant_DataContents[4].name = UA_STRING("SelectedFields"); +variablenode_ns_0_i_14497_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); +variablenode_ns_0_i_14497_variant_DataContents[4].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14497_variant_DataContents[4].arrayDimensionsSize = 1; +variablenode_ns_0_i_14497_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14497_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14497_variant_DataContents[5].name = UA_STRING("Filter"); +variablenode_ns_0_i_14497_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +variablenode_ns_0_i_14497_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14497_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14497LU), +UA_NODEID_NUMERIC(ns[0], 14496LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1043_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14497LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedDataItems - ns=0;i=14493 */ + +static UA_StatusCode function_namespace0_generated_1044_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItems"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14493LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItems"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1044_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14493LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14495 */ + +static UA_StatusCode function_namespace0_generated_1045_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14495_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_14495_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14495_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_14495_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14495_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14495_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14495_variant_DataContents[1].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_14495_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14495_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14495_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14495_variant_DataContents[2].name = UA_STRING("AddResults"); +variablenode_ns_0_i_14495_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_14495_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14495_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14495_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14495_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14495LU), +UA_NODEID_NUMERIC(ns[0], 14493LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1045_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14495LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14494 */ + +static UA_StatusCode function_namespace0_generated_1046_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14494_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_14494_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14494_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_14494_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14494_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14494_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14494_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); +variablenode_ns_0_i_14494_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14494_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14494_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_14494_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14494_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14494_variant_DataContents[2].name = UA_STRING("FieldFlags"); +variablenode_ns_0_i_14494_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); +variablenode_ns_0_i_14494_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14494_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14494_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14494_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14494_variant_DataContents[3].name = UA_STRING("VariablesToAdd"); +variablenode_ns_0_i_14494_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); +variablenode_ns_0_i_14494_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14494_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_14494_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14494_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14494LU), +UA_NODEID_NUMERIC(ns[0], 14493LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1046_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14494LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=14478 */ + +static UA_StatusCode function_namespace0_generated_1047_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 14477LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1047_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14478LU) +); +} + +/* RemoveDataSetFolder - ns=0;i=16923 */ + +static UA_StatusCode function_namespace0_generated_1048_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16923LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1048_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16923LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16924 */ + +static UA_StatusCode function_namespace0_generated_1049_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16924_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16924_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16924_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_16924_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16924_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16924_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16924LU), +UA_NODEID_NUMERIC(ns[0], 16923LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1049_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16924LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddDataSetFolder - ns=0;i=16884 */ + +static UA_StatusCode function_namespace0_generated_1050_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16884LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1050_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16884LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16922 */ + +static UA_StatusCode function_namespace0_generated_1051_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16922_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16922_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16922_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); +variablenode_ns_0_i_16922_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16922_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16922_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16922LU), +UA_NODEID_NUMERIC(ns[0], 16884LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1051_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16922LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16894 */ + +static UA_StatusCode function_namespace0_generated_1052_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16894_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16894_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16894_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_16894_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16894_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16894_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16894LU), +UA_NODEID_NUMERIC(ns[0], 16884LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1052_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16894LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedEventsTemplate - ns=0;i=16881 */ + +static UA_StatusCode function_namespace0_generated_1053_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEventsTemplate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16881LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedEventsTemplate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1053_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16881LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16883 */ + +static UA_StatusCode function_namespace0_generated_1054_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16883_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16883_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16883_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_16883_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16883_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16883_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16883LU), +UA_NODEID_NUMERIC(ns[0], 16881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1054_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16883LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16882 */ + +static UA_StatusCode function_namespace0_generated_1055_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16882_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_16882_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16882_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_16882_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16882_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16882_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16882_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); +variablenode_ns_0_i_16882_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +variablenode_ns_0_i_16882_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16882_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16882_variant_DataContents[2].name = UA_STRING("EventNotifier"); +variablenode_ns_0_i_16882_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16882_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16882_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16882_variant_DataContents[3].name = UA_STRING("SelectedFields"); +variablenode_ns_0_i_16882_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); +variablenode_ns_0_i_16882_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_16882_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_16882_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_16882_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16882_variant_DataContents[4].name = UA_STRING("Filter"); +variablenode_ns_0_i_16882_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +variablenode_ns_0_i_16882_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16882_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16882LU), +UA_NODEID_NUMERIC(ns[0], 16881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1055_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16882LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedDataItemsTemplate - ns=0;i=16842 */ + +static UA_StatusCode function_namespace0_generated_1056_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItemsTemplate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16842LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItemsTemplate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1056_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16842LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16853 */ + +static UA_StatusCode function_namespace0_generated_1057_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16853_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16853_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16853_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_16853_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16853_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16853_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16853_variant_DataContents[1].name = UA_STRING("AddResults"); +variablenode_ns_0_i_16853_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_16853_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_16853_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_16853_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16853_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16853LU), +UA_NODEID_NUMERIC(ns[0], 16842LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1057_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16853LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16843 */ + +static UA_StatusCode function_namespace0_generated_1058_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16843_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_16843_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16843_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_16843_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16843_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16843_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16843_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); +variablenode_ns_0_i_16843_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +variablenode_ns_0_i_16843_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16843_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16843_variant_DataContents[2].name = UA_STRING("VariablesToAdd"); +variablenode_ns_0_i_16843_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); +variablenode_ns_0_i_16843_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_16843_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_16843_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16843_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16843LU), +UA_NODEID_NUMERIC(ns[0], 16842LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1058_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16843LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemovePublishedDataSet - ns=0;i=14485 */ + +static UA_StatusCode function_namespace0_generated_1059_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePublishedDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14485LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePublishedDataSet"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1059_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14485LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14486 */ + +static UA_StatusCode function_namespace0_generated_1060_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14486_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14486_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_14486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14486_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14486_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14486LU), +UA_NODEID_NUMERIC(ns[0], 14485LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1060_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14486LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedEvents - ns=0;i=14482 */ + +static UA_StatusCode function_namespace0_generated_1061_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEvents"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14482LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedEvents"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1061_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14482LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14484 */ + +static UA_StatusCode function_namespace0_generated_1062_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14484_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14484_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14484_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_14484_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14484_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14484_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14484_variant_DataContents[1].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_14484_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14484_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14484_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14484LU), +UA_NODEID_NUMERIC(ns[0], 14482LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1062_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14484LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14483 */ + +static UA_StatusCode function_namespace0_generated_1063_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14483_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_14483_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14483_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_14483_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14483_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14483_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14483_variant_DataContents[1].name = UA_STRING("EventNotifier"); +variablenode_ns_0_i_14483_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14483_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14483_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14483_variant_DataContents[2].name = UA_STRING("FieldNameAliases"); +variablenode_ns_0_i_14483_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14483_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14483_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14483_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14483_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14483_variant_DataContents[3].name = UA_STRING("FieldFlags"); +variablenode_ns_0_i_14483_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); +variablenode_ns_0_i_14483_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14483_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_14483_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14483_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14483_variant_DataContents[4].name = UA_STRING("SelectedFields"); +variablenode_ns_0_i_14483_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); +variablenode_ns_0_i_14483_variant_DataContents[4].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14483_variant_DataContents[4].arrayDimensionsSize = 1; +variablenode_ns_0_i_14483_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14483_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14483_variant_DataContents[5].name = UA_STRING("Filter"); +variablenode_ns_0_i_14483_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +variablenode_ns_0_i_14483_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14483_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14483LU), +UA_NODEID_NUMERIC(ns[0], 14482LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1063_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14483LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPublishedDataItems - ns=0;i=14479 */ + +static UA_StatusCode function_namespace0_generated_1064_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItems"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14479LU), +UA_NODEID_NUMERIC(ns[0], 14478LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItems"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1064_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14479LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14481 */ + +static UA_StatusCode function_namespace0_generated_1065_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14481_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_14481_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14481_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); +variablenode_ns_0_i_14481_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14481_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14481_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14481_variant_DataContents[1].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_14481_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14481_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14481_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14481_variant_DataContents[2].name = UA_STRING("AddResults"); +variablenode_ns_0_i_14481_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_14481_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14481_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14481_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14481_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14481LU), +UA_NODEID_NUMERIC(ns[0], 14479LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1065_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14481LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14480 */ + +static UA_StatusCode function_namespace0_generated_1066_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14480_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_14480_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14480_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_14480_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14480_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14480_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14480_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); +variablenode_ns_0_i_14480_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14480_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14480_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_14480_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14480_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14480_variant_DataContents[2].name = UA_STRING("FieldFlags"); +variablenode_ns_0_i_14480_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); +variablenode_ns_0_i_14480_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14480_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14480_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14480_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14480_variant_DataContents[3].name = UA_STRING("VariablesToAdd"); +variablenode_ns_0_i_14480_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); +variablenode_ns_0_i_14480_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14480_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_14480_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14480_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14480LU), +UA_NODEID_NUMERIC(ns[0], 14479LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1066_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14480LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ExtensionFieldsType - ns=0;i=15489 */ + +static UA_StatusCode function_namespace0_generated_1067_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExtensionFieldsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15489LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExtensionFieldsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1067_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15489LU) +); +} + +/* RemoveExtensionField - ns=0;i=15494 */ + +static UA_StatusCode function_namespace0_generated_1068_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveExtensionField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15494LU), +UA_NODEID_NUMERIC(ns[0], 15489LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveExtensionField"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1068_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15494LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15495 */ + +static UA_StatusCode function_namespace0_generated_1069_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15495_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15495_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15495_variant_DataContents[0].name = UA_STRING("FieldId"); +variablenode_ns_0_i_15495_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15495_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15495_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15495LU), +UA_NODEID_NUMERIC(ns[0], 15494LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1069_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15495LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddExtensionField - ns=0;i=15491 */ + +static UA_StatusCode function_namespace0_generated_1070_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddExtensionField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15491LU), +UA_NODEID_NUMERIC(ns[0], 15489LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddExtensionField"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1070_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15491LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15493 */ + +static UA_StatusCode function_namespace0_generated_1071_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15493_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15493_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15493_variant_DataContents[0].name = UA_STRING("FieldId"); +variablenode_ns_0_i_15493_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15493_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15493_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15493LU), +UA_NODEID_NUMERIC(ns[0], 15491LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1071_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15493LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15492 */ + +static UA_StatusCode function_namespace0_generated_1072_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15492_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15492_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15492_variant_DataContents[0].name = UA_STRING("FieldName"); +variablenode_ns_0_i_15492_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +variablenode_ns_0_i_15492_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15492_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15492_variant_DataContents[1].name = UA_STRING("FieldValue"); +variablenode_ns_0_i_15492_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_15492_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15492_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15492LU), +UA_NODEID_NUMERIC(ns[0], 15491LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1072_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15492LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=15490 */ + +static UA_StatusCode function_namespace0_generated_1073_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15490LU), +UA_NODEID_NUMERIC(ns[0], 15489LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1073_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15490LU) +); +} + +/* PublishedDataSetType - ns=0;i=14509 */ + +static UA_StatusCode function_namespace0_generated_1074_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1074_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14509LU) +); +} + +/* CyclicDataSet - ns=0;i=25521 */ + +static UA_StatusCode function_namespace0_generated_1075_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CyclicDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25521LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CyclicDataSet"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1075_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25521LU) +); +} + +/* DataSetClassId - ns=0;i=16759 */ + +static UA_StatusCode function_namespace0_generated_1076_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16759LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1076_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16759LU) +); +} + +/* ExtensionFields - ns=0;i=15481 */ + +static UA_StatusCode function_namespace0_generated_1077_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExtensionFields"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15481LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ExtensionFields"), +UA_NODEID_NUMERIC(ns[0], 15489LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1077_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15481LU) +); +} + +/* RemoveExtensionField - ns=0;i=15485 */ + +static UA_StatusCode function_namespace0_generated_1078_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveExtensionField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15485LU), +UA_NODEID_NUMERIC(ns[0], 15481LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveExtensionField"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1078_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15485LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15486 */ + +static UA_StatusCode function_namespace0_generated_1079_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15486_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15486_variant_DataContents[0].name = UA_STRING("FieldId"); +variablenode_ns_0_i_15486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15486_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15486_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15486LU), +UA_NODEID_NUMERIC(ns[0], 15485LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1079_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15486LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddExtensionField - ns=0;i=15482 */ + +static UA_StatusCode function_namespace0_generated_1080_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddExtensionField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15482LU), +UA_NODEID_NUMERIC(ns[0], 15481LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddExtensionField"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1080_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15482LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15484 */ + +static UA_StatusCode function_namespace0_generated_1081_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15484_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15484_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15484_variant_DataContents[0].name = UA_STRING("FieldId"); +variablenode_ns_0_i_15484_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15484_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15484_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15484LU), +UA_NODEID_NUMERIC(ns[0], 15482LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1081_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15484LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15483 */ + +static UA_StatusCode function_namespace0_generated_1082_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15483_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15483_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15483_variant_DataContents[0].name = UA_STRING("FieldName"); +variablenode_ns_0_i_15483_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +variablenode_ns_0_i_15483_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15483_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15483_variant_DataContents[1].name = UA_STRING("FieldValue"); +variablenode_ns_0_i_15483_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_15483_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15483_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15483LU), +UA_NODEID_NUMERIC(ns[0], 15482LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1082_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15483LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DataSetMetaData - ns=0;i=15229 */ + +static UA_StatusCode function_namespace0_generated_1083_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15229LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1083_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15229LU) +); +} + +/* - ns=0;i=15222 */ + +static UA_StatusCode function_namespace0_generated_1084_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15222LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 14936LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15298LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1084_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15222LU) +); +} + +/* DataSetWriterProperties - ns=0;i=17482 */ + +static UA_StatusCode function_namespace0_generated_1085_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17482LU), +UA_NODEID_NUMERIC(ns[0], 15222LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1085_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17482LU) +); +} + +/* DataSetFieldContentMask - ns=0;i=16721 */ + +static UA_StatusCode function_namespace0_generated_1086_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16721LU), +UA_NODEID_NUMERIC(ns[0], 15222LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1086_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16721LU) +); +} + +/* DataSetWriterId - ns=0;i=16720 */ + +static UA_StatusCode function_namespace0_generated_1087_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16720LU), +UA_NODEID_NUMERIC(ns[0], 15222LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1087_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16720LU) +); +} + +/* Status - ns=0;i=15223 */ + +static UA_StatusCode function_namespace0_generated_1088_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15223LU), +UA_NODEID_NUMERIC(ns[0], 15222LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1088_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15223LU) +); +} + +/* State - ns=0;i=15224 */ + +static UA_StatusCode function_namespace0_generated_1089_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15224LU), +UA_NODEID_NUMERIC(ns[0], 15223LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1089_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15224LU) +); +} + +/* PublishedEventsType - ns=0;i=14572 */ + +static UA_StatusCode function_namespace0_generated_1090_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14572LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedEventsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1090_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14572LU) +); +} + +/* ModifyFieldSelection - ns=0;i=15052 */ + +static UA_StatusCode function_namespace0_generated_1091_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyFieldSelection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15052LU), +UA_NODEID_NUMERIC(ns[0], 14572LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyFieldSelection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1091_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15052LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15517 */ + +static UA_StatusCode function_namespace0_generated_1092_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15517_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15517_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15517_variant_DataContents[0].name = UA_STRING("NewConfigurationVersion"); +variablenode_ns_0_i_15517_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_15517_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15517_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15517LU), +UA_NODEID_NUMERIC(ns[0], 15052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1092_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15517LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15053 */ + +static UA_StatusCode function_namespace0_generated_1093_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15053_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_15053_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15053_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_15053_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_15053_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15053_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15053_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); +variablenode_ns_0_i_15053_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15053_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15053_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_15053_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_15053_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15053_variant_DataContents[2].name = UA_STRING("PromotedFields"); +variablenode_ns_0_i_15053_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_15053_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15053_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_15053_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_15053_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15053_variant_DataContents[3].name = UA_STRING("SelectedFields"); +variablenode_ns_0_i_15053_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); +variablenode_ns_0_i_15053_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15053_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_15053_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15053_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15053LU), +UA_NODEID_NUMERIC(ns[0], 15052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1093_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15053LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Filter - ns=0;i=14588 */ + +static UA_StatusCode function_namespace0_generated_1094_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Filter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14588LU), +UA_NODEID_NUMERIC(ns[0], 14572LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Filter"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1094_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14588LU) +); +} + +/* SelectedFields - ns=0;i=14587 */ + +static UA_StatusCode function_namespace0_generated_1095_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 601LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SelectedFields"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14587LU), +UA_NODEID_NUMERIC(ns[0], 14572LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SelectedFields"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1095_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14587LU) +); +} + +/* EventNotifier - ns=0;i=14586 */ + +static UA_StatusCode function_namespace0_generated_1096_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventNotifier"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14586LU), +UA_NODEID_NUMERIC(ns[0], 14572LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventNotifier"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1096_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14586LU) +); +} + +/* PublishedDataItemsType - ns=0;i=14534 */ + +static UA_StatusCode function_namespace0_generated_1097_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14534LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1097_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14534LU) +); +} + +/* RemoveVariables - ns=0;i=14558 */ + +static UA_StatusCode function_namespace0_generated_1098_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14558LU), +UA_NODEID_NUMERIC(ns[0], 14534LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveVariables"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1098_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14558LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14560 */ + +static UA_StatusCode function_namespace0_generated_1099_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14560_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14560_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14560_variant_DataContents[0].name = UA_STRING("NewConfigurationVersion"); +variablenode_ns_0_i_14560_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14560_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14560_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14560_variant_DataContents[1].name = UA_STRING("RemoveResults"); +variablenode_ns_0_i_14560_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_14560_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14560_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_14560_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14560_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14560LU), +UA_NODEID_NUMERIC(ns[0], 14558LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1099_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14560LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14559 */ + +static UA_StatusCode function_namespace0_generated_1100_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14559_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14559_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14559_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_14559_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14559_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14559_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14559_variant_DataContents[1].name = UA_STRING("VariablesToRemove"); +variablenode_ns_0_i_14559_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14559_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14559_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_14559_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14559_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14559LU), +UA_NODEID_NUMERIC(ns[0], 14558LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1100_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14559LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddVariables - ns=0;i=14555 */ + +static UA_StatusCode function_namespace0_generated_1101_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddVariables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14555LU), +UA_NODEID_NUMERIC(ns[0], 14534LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddVariables"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1101_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14555LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14557 */ + +static UA_StatusCode function_namespace0_generated_1102_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14557_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14557_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14557_variant_DataContents[0].name = UA_STRING("NewConfigurationVersion"); +variablenode_ns_0_i_14557_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14557_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14557_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14557_variant_DataContents[1].name = UA_STRING("AddResults"); +variablenode_ns_0_i_14557_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_14557_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14557_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_14557_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14557_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14557LU), +UA_NODEID_NUMERIC(ns[0], 14555LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1102_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14557LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14556 */ + +static UA_StatusCode function_namespace0_generated_1103_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14556_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_14556_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14556_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); +variablenode_ns_0_i_14556_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +variablenode_ns_0_i_14556_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14556_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14556_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); +variablenode_ns_0_i_14556_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14556_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14556_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_14556_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14556_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14556_variant_DataContents[2].name = UA_STRING("PromotedFields"); +variablenode_ns_0_i_14556_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14556_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14556_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_14556_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_14556_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14556_variant_DataContents[3].name = UA_STRING("VariablesToAdd"); +variablenode_ns_0_i_14556_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); +variablenode_ns_0_i_14556_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_14556_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_14556_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14556_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14556LU), +UA_NODEID_NUMERIC(ns[0], 14555LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1103_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14556LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PublishedData - ns=0;i=14548 */ + +static UA_StatusCode function_namespace0_generated_1104_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14548LU), +UA_NODEID_NUMERIC(ns[0], 14534LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublishedData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1104_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14548LU) +); +} + +/* ConfigurationVersion - ns=0;i=14519 */ + +static UA_StatusCode function_namespace0_generated_1105_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14519LU), +UA_NODEID_NUMERIC(ns[0], 14509LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1105_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14519LU) +); +} + +/* - ns=0;i=14487 */ + +static UA_StatusCode function_namespace0_generated_1106_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14487LU), +UA_NODEID_NUMERIC(ns[0], 14477LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 14509LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1106_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14487LU) +); +} + +/* DataSetMetaData - ns=0;i=15221 */ + +static UA_StatusCode function_namespace0_generated_1107_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15221LU), +UA_NODEID_NUMERIC(ns[0], 14487LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1107_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15221LU) +); +} + +/* ConfigurationVersion - ns=0;i=14489 */ + +static UA_StatusCode function_namespace0_generated_1108_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14489LU), +UA_NODEID_NUMERIC(ns[0], 14487LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1108_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14489LU) +); +} + +/* PubSubKeyPushTargetFolderType - ns=0;i=25346 */ + +static UA_StatusCode function_namespace0_generated_1109_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1109_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25346LU) +); +} + +/* RemovePushTargetFolder - ns=0;i=25374 */ + +static UA_StatusCode function_namespace0_generated_1110_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTargetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25374LU), +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTargetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1110_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25374LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25375 */ + +static UA_StatusCode function_namespace0_generated_1111_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25375_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25375_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25375_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); +variablenode_ns_0_i_25375_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25375_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25375_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25375LU), +UA_NODEID_NUMERIC(ns[0], 25374LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1111_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25375LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTargetFolder - ns=0;i=25371 */ + +static UA_StatusCode function_namespace0_generated_1112_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTargetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25371LU), +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTargetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1112_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25371LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25373 */ + +static UA_StatusCode function_namespace0_generated_1113_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25373_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25373_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25373_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); +variablenode_ns_0_i_25373_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25373_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25373_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25373LU), +UA_NODEID_NUMERIC(ns[0], 25371LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1113_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25373LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25372 */ + +static UA_StatusCode function_namespace0_generated_1114_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25372_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25372_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25372_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_25372_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25372_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25372_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25372LU), +UA_NODEID_NUMERIC(ns[0], 25371LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1114_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25372LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemovePushTarget - ns=0;i=25369 */ + +static UA_StatusCode function_namespace0_generated_1115_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25369LU), +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1115_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25369LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25370 */ + +static UA_StatusCode function_namespace0_generated_1116_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25370_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25370_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25370_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25370_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25370_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25370_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25370LU), +UA_NODEID_NUMERIC(ns[0], 25369LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1116_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25370LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTarget - ns=0;i=25366 */ + +static UA_StatusCode function_namespace0_generated_1117_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25366LU), +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1117_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25366LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25368 */ + +static UA_StatusCode function_namespace0_generated_1118_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25368_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25368_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25368_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25368_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25368_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25368_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25368LU), +UA_NODEID_NUMERIC(ns[0], 25366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1118_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25368LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25367 */ + +static UA_StatusCode function_namespace0_generated_1119_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25367_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_25367_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25367_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25367_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25367_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25367_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25367_variant_DataContents[1].name = UA_STRING("EndpointUrl"); +variablenode_ns_0_i_25367_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25367_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25367_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25367_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_25367_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25367_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25367_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25367_variant_DataContents[3].name = UA_STRING("UserTokenType"); +variablenode_ns_0_i_25367_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +variablenode_ns_0_i_25367_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25367_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25367_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_25367_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25367_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25367_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25367_variant_DataContents[5].name = UA_STRING("RetryInterval"); +variablenode_ns_0_i_25367_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_25367_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25367_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25367LU), +UA_NODEID_NUMERIC(ns[0], 25366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1119_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25367LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=25347 */ + +static UA_StatusCode function_namespace0_generated_1120_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25347LU), +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 25346LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1120_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25347LU) +); +} + +/* RemovePushTargetFolder - ns=0;i=25356 */ + +static UA_StatusCode function_namespace0_generated_1121_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTargetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25356LU), +UA_NODEID_NUMERIC(ns[0], 25347LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTargetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1121_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25356LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25357 */ + +static UA_StatusCode function_namespace0_generated_1122_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25357_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25357_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25357_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); +variablenode_ns_0_i_25357_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25357_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25357_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25357LU), +UA_NODEID_NUMERIC(ns[0], 25356LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1122_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25357LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTargetFolder - ns=0;i=25353 */ + +static UA_StatusCode function_namespace0_generated_1123_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTargetFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25353LU), +UA_NODEID_NUMERIC(ns[0], 25347LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTargetFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1123_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25353LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25355 */ + +static UA_StatusCode function_namespace0_generated_1124_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25355_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25355_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25355_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); +variablenode_ns_0_i_25355_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25355_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25355_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25355LU), +UA_NODEID_NUMERIC(ns[0], 25353LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1124_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25355LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25354 */ + +static UA_StatusCode function_namespace0_generated_1125_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25354_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25354_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25354_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_25354_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25354_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25354_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25354LU), +UA_NODEID_NUMERIC(ns[0], 25353LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1125_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25354LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemovePushTarget - ns=0;i=25351 */ + +static UA_StatusCode function_namespace0_generated_1126_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25351LU), +UA_NODEID_NUMERIC(ns[0], 25347LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1126_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25351LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25352 */ + +static UA_StatusCode function_namespace0_generated_1127_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25352_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25352_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25352_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25352_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25352_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25352_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25352LU), +UA_NODEID_NUMERIC(ns[0], 25351LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1127_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25352LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTarget - ns=0;i=25348 */ + +static UA_StatusCode function_namespace0_generated_1128_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25348LU), +UA_NODEID_NUMERIC(ns[0], 25347LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1128_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25348LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25350 */ + +static UA_StatusCode function_namespace0_generated_1129_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25350_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25350_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25350_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25350_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25350_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25350_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25350LU), +UA_NODEID_NUMERIC(ns[0], 25348LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1129_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25350LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25349 */ + +static UA_StatusCode function_namespace0_generated_1130_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25349_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_25349_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25349_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25349_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25349_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25349_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25349_variant_DataContents[1].name = UA_STRING("EndpointUrl"); +variablenode_ns_0_i_25349_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25349_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25349_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25349_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_25349_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25349_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25349_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25349_variant_DataContents[3].name = UA_STRING("UserTokenType"); +variablenode_ns_0_i_25349_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +variablenode_ns_0_i_25349_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25349_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25349_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_25349_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25349_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25349_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25349_variant_DataContents[5].name = UA_STRING("RetryInterval"); +variablenode_ns_0_i_25349_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_25349_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25349_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25349LU), +UA_NODEID_NUMERIC(ns[0], 25348LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1130_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25349LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PubSubKeyPushTargetType - ns=0;i=25337 */ + +static UA_StatusCode function_namespace0_generated_1131_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1131_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25337LU) +); +} + +/* TriggerKeyUpdate - ns=0;i=25647 */ + +static UA_StatusCode function_namespace0_generated_1132_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TriggerKeyUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25647LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TriggerKeyUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1132_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25647LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DisconnectSecurityGroups - ns=0;i=25644 */ + +static UA_StatusCode function_namespace0_generated_1133_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DisconnectSecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25644LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisconnectSecurityGroups"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1133_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25644LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25646 */ + +static UA_StatusCode function_namespace0_generated_1134_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25646_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25646_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25646_variant_DataContents[0].name = UA_STRING("DisconnectResults"); +variablenode_ns_0_i_25646_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25646_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25646_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25646_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25646_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25646LU), +UA_NODEID_NUMERIC(ns[0], 25644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1134_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25646LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25645 */ + +static UA_StatusCode function_namespace0_generated_1135_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25645_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25645_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25645_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); +variablenode_ns_0_i_25645_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25645_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25645_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25645_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25645_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25645LU), +UA_NODEID_NUMERIC(ns[0], 25644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1135_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25645LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ConnectSecurityGroups - ns=0;i=25641 */ + +static UA_StatusCode function_namespace0_generated_1136_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectSecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25641LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConnectSecurityGroups"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1136_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25641LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25643 */ + +static UA_StatusCode function_namespace0_generated_1137_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25643_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25643_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25643_variant_DataContents[0].name = UA_STRING("ConnectResults"); +variablenode_ns_0_i_25643_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25643_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25643_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25643_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25643_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25643LU), +UA_NODEID_NUMERIC(ns[0], 25641LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1137_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25643LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25642 */ + +static UA_StatusCode function_namespace0_generated_1138_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25642_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25642_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25642_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); +variablenode_ns_0_i_25642_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25642_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25642_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25642_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25642_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25642LU), +UA_NODEID_NUMERIC(ns[0], 25641LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1138_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25642LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastPushErrorTime - ns=0;i=25640 */ + +static UA_StatusCode function_namespace0_generated_1139_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastPushErrorTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25640LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastPushErrorTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1139_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25640LU) +); +} + +/* LastPushExecutionTime - ns=0;i=25639 */ + +static UA_StatusCode function_namespace0_generated_1140_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastPushExecutionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25639LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastPushExecutionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1140_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25639LU) +); +} + +/* RetryInterval - ns=0;i=25638 */ + +static UA_StatusCode function_namespace0_generated_1141_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RetryInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25638LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RetryInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1141_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25638LU) +); +} + +/* RequestedKeyCount - ns=0;i=25637 */ + +static UA_StatusCode function_namespace0_generated_1142_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestedKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25637LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestedKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1142_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25637LU) +); +} + +/* UserTokenType - ns=0;i=25636 */ + +static UA_StatusCode function_namespace0_generated_1143_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25636LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserTokenType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1143_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25636LU) +); +} + +/* EndpointUrl - ns=0;i=25635 */ + +static UA_StatusCode function_namespace0_generated_1144_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25635LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1144_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25635LU) +); +} + +/* ApplicationUri - ns=0;i=25634 */ + +static UA_StatusCode function_namespace0_generated_1145_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25634LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1145_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25634LU) +); +} + +/* - ns=0;i=25358 */ + +static UA_StatusCode function_namespace0_generated_1146_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 25346LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 25337LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1146_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25358LU) +); +} + +/* TriggerKeyUpdate - ns=0;i=25661 */ + +static UA_StatusCode function_namespace0_generated_1147_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TriggerKeyUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25661LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TriggerKeyUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1147_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25661LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DisconnectSecurityGroups - ns=0;i=25658 */ + +static UA_StatusCode function_namespace0_generated_1148_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DisconnectSecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25658LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisconnectSecurityGroups"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1148_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25658LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25660 */ + +static UA_StatusCode function_namespace0_generated_1149_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25660_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25660_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25660_variant_DataContents[0].name = UA_STRING("DisconnectResults"); +variablenode_ns_0_i_25660_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25660_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25660_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25660_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25660_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25660LU), +UA_NODEID_NUMERIC(ns[0], 25658LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1149_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25660LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25659 */ + +static UA_StatusCode function_namespace0_generated_1150_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25659_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25659_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25659_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); +variablenode_ns_0_i_25659_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25659_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25659_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25659_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25659_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25659LU), +UA_NODEID_NUMERIC(ns[0], 25658LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1150_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25659LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ConnectSecurityGroups - ns=0;i=25655 */ + +static UA_StatusCode function_namespace0_generated_1151_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectSecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25655LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConnectSecurityGroups"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1151_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25655LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25657 */ + +static UA_StatusCode function_namespace0_generated_1152_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25657_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25657_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25657_variant_DataContents[0].name = UA_STRING("ConnectResults"); +variablenode_ns_0_i_25657_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25657_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25657_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25657_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25657_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25657LU), +UA_NODEID_NUMERIC(ns[0], 25655LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1152_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25657LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25656 */ + +static UA_StatusCode function_namespace0_generated_1153_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25656_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25656_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25656_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); +variablenode_ns_0_i_25656_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25656_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25656_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25656_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25656_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25656LU), +UA_NODEID_NUMERIC(ns[0], 25655LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1153_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25656LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastPushErrorTime - ns=0;i=25654 */ + +static UA_StatusCode function_namespace0_generated_1154_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastPushErrorTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25654LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastPushErrorTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1154_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25654LU) +); +} + +/* LastPushExecutionTime - ns=0;i=25653 */ + +static UA_StatusCode function_namespace0_generated_1155_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastPushExecutionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25653LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastPushExecutionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1155_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25653LU) +); +} + +/* RetryInterval - ns=0;i=25652 */ + +static UA_StatusCode function_namespace0_generated_1156_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RetryInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25652LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RetryInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1156_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25652LU) +); +} + +/* RequestedKeyCount - ns=0;i=25651 */ + +static UA_StatusCode function_namespace0_generated_1157_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestedKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25651LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestedKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1157_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25651LU) +); +} + +/* UserTokenType - ns=0;i=25650 */ + +static UA_StatusCode function_namespace0_generated_1158_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25650LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserTokenType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1158_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25650LU) +); +} + +/* EndpointUrl - ns=0;i=25649 */ + +static UA_StatusCode function_namespace0_generated_1159_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25649LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1159_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25649LU) +); +} + +/* ApplicationUri - ns=0;i=25648 */ + +static UA_StatusCode function_namespace0_generated_1160_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25648LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1160_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25648LU) +); +} + +/* SecurityPolicyUri - ns=0;i=25361 */ + +static UA_StatusCode function_namespace0_generated_1161_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25361LU), +UA_NODEID_NUMERIC(ns[0], 25358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1161_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25361LU) +); +} + +/* SecurityPolicyUri - ns=0;i=25340 */ + +static UA_StatusCode function_namespace0_generated_1162_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25340LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1162_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25340LU) +); +} + +/* SecurityGroupType - ns=0;i=15471 */ + +static UA_StatusCode function_namespace0_generated_1163_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1163_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15471LU) +); +} + +/* - ns=0;i=25626 */ + +static UA_StatusCode function_namespace0_generated_1164_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25626LU), +UA_NODEID_NUMERIC(ns[0], 25337LU), +UA_NODEID_NUMERIC(ns[0], 25345LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15471LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1164_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25626LU) +); +} + +/* MaxPastKeyCount - ns=0;i=25631 */ + +static UA_StatusCode function_namespace0_generated_1165_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPastKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25631LU), +UA_NODEID_NUMERIC(ns[0], 25626LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPastKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1165_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25631LU) +); +} + +/* MaxFutureKeyCount - ns=0;i=25630 */ + +static UA_StatusCode function_namespace0_generated_1166_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFutureKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25630LU), +UA_NODEID_NUMERIC(ns[0], 25626LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFutureKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1166_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25630LU) +); +} + +/* SecurityPolicyUri - ns=0;i=25629 */ + +static UA_StatusCode function_namespace0_generated_1167_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25629LU), +UA_NODEID_NUMERIC(ns[0], 25626LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1167_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25629LU) +); +} + +/* KeyLifetime - ns=0;i=25628 */ + +static UA_StatusCode function_namespace0_generated_1168_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyLifetime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25628LU), +UA_NODEID_NUMERIC(ns[0], 25626LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeyLifetime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1168_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25628LU) +); +} + +/* SecurityGroupId - ns=0;i=25627 */ + +static UA_StatusCode function_namespace0_generated_1169_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25627LU), +UA_NODEID_NUMERIC(ns[0], 25626LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1169_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25627LU) +); +} + +/* ForceKeyRotation - ns=0;i=25625 */ + +static UA_StatusCode function_namespace0_generated_1170_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ForceKeyRotation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25625LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ForceKeyRotation"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1170_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25625LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InvalidateKeys - ns=0;i=25624 */ + +static UA_StatusCode function_namespace0_generated_1171_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "InvalidateKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25624LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "InvalidateKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1171_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25624LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SecurityGroupId - ns=0;i=15472 */ + +static UA_StatusCode function_namespace0_generated_1172_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15472LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1172_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15472LU) +); +} + +/* MaxPastKeyCount - ns=0;i=15056 */ + +static UA_StatusCode function_namespace0_generated_1173_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPastKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15056LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPastKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1173_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15056LU) +); +} + +/* MaxFutureKeyCount - ns=0;i=15048 */ + +static UA_StatusCode function_namespace0_generated_1174_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFutureKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15048LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFutureKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1174_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15048LU) +); +} + +/* SecurityPolicyUri - ns=0;i=15047 */ + +static UA_StatusCode function_namespace0_generated_1175_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15047LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1175_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15047LU) +); +} + +/* KeyLifetime - ns=0;i=15046 */ + +static UA_StatusCode function_namespace0_generated_1176_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyLifetime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15046LU), +UA_NODEID_NUMERIC(ns[0], 15471LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeyLifetime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1176_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15046LU) +); +} + +/* SecurityGroupFolderType - ns=0;i=15452 */ + +static UA_StatusCode function_namespace0_generated_1177_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1177_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15452LU) +); +} + +/* SupportedSecurityPolicyUris - ns=0;i=25317 */ + +static UA_StatusCode function_namespace0_generated_1178_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedSecurityPolicyUris"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25317LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedSecurityPolicyUris"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1178_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25317LU) +); +} + +/* RemoveSecurityGroupFolder - ns=0;i=25315 */ + +static UA_StatusCode function_namespace0_generated_1179_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroupFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25315LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroupFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1179_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25315LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25316 */ + +static UA_StatusCode function_namespace0_generated_1180_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25316_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25316_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25316_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); +variablenode_ns_0_i_25316_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25316_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25316_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25316LU), +UA_NODEID_NUMERIC(ns[0], 25315LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1180_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25316LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroupFolder - ns=0;i=25312 */ + +static UA_StatusCode function_namespace0_generated_1181_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroupFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25312LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroupFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1181_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25312LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25314 */ + +static UA_StatusCode function_namespace0_generated_1182_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25314_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25314_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25314_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); +variablenode_ns_0_i_25314_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25314_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25314_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25314LU), +UA_NODEID_NUMERIC(ns[0], 25312LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1182_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25314LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25313 */ + +static UA_StatusCode function_namespace0_generated_1183_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25313_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25313_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25313_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_25313_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25313_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25313_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25313LU), +UA_NODEID_NUMERIC(ns[0], 25312LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1183_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25313LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveSecurityGroup - ns=0;i=15464 */ + +static UA_StatusCode function_namespace0_generated_1184_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15464LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1184_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15464LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15465 */ + +static UA_StatusCode function_namespace0_generated_1185_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15465_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15465_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15465_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15465_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15465_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15465_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15465LU), +UA_NODEID_NUMERIC(ns[0], 15464LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1185_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15465LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroup - ns=0;i=15461 */ + +static UA_StatusCode function_namespace0_generated_1186_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15461LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1186_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15461LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15463 */ + +static UA_StatusCode function_namespace0_generated_1187_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15463_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15463_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15463_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15463_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15463_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15463_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15463_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15463_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15463_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15463_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15463LU), +UA_NODEID_NUMERIC(ns[0], 15461LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1187_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15463LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15462 */ + +static UA_StatusCode function_namespace0_generated_1188_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15462_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_15462_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15462_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); +variablenode_ns_0_i_15462_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15462_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15462_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15462_variant_DataContents[1].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_15462_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15462_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15462_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15462_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_15462_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15462_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15462_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15462_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); +variablenode_ns_0_i_15462_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15462_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15462_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15462_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); +variablenode_ns_0_i_15462_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15462_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15462_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15462LU), +UA_NODEID_NUMERIC(ns[0], 15461LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1188_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15462LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=15459 */ + +static UA_StatusCode function_namespace0_generated_1189_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15459LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15471LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1189_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15459LU) +); +} + +/* SecurityGroupId - ns=0;i=15460 */ + +static UA_StatusCode function_namespace0_generated_1190_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15460LU), +UA_NODEID_NUMERIC(ns[0], 15459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1190_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15460LU) +); +} + +/* MaxPastKeyCount - ns=0;i=15043 */ + +static UA_StatusCode function_namespace0_generated_1191_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPastKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15043LU), +UA_NODEID_NUMERIC(ns[0], 15459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPastKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1191_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15043LU) +); +} + +/* MaxFutureKeyCount - ns=0;i=15012 */ + +static UA_StatusCode function_namespace0_generated_1192_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFutureKeyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15012LU), +UA_NODEID_NUMERIC(ns[0], 15459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFutureKeyCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1192_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15012LU) +); +} + +/* SecurityPolicyUri - ns=0;i=15011 */ + +static UA_StatusCode function_namespace0_generated_1193_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15011LU), +UA_NODEID_NUMERIC(ns[0], 15459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1193_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15011LU) +); +} + +/* KeyLifetime - ns=0;i=15010 */ + +static UA_StatusCode function_namespace0_generated_1194_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyLifetime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15010LU), +UA_NODEID_NUMERIC(ns[0], 15459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "KeyLifetime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1194_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15010LU) +); +} + +/* - ns=0;i=15453 */ + +static UA_StatusCode function_namespace0_generated_1195_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15453LU), +UA_NODEID_NUMERIC(ns[0], 15452LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15452LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1195_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15453LU) +); +} + +/* SupportedSecurityPolicyUris - ns=0;i=25298 */ + +static UA_StatusCode function_namespace0_generated_1196_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedSecurityPolicyUris"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25298LU), +UA_NODEID_NUMERIC(ns[0], 15453LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedSecurityPolicyUris"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1196_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25298LU) +); +} + +/* RemoveSecurityGroupFolder - ns=0;i=25296 */ + +static UA_StatusCode function_namespace0_generated_1197_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroupFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25296LU), +UA_NODEID_NUMERIC(ns[0], 15453LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroupFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1197_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25296LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25297 */ + +static UA_StatusCode function_namespace0_generated_1198_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25297_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25297_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); +variablenode_ns_0_i_25297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25297_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25297_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25297LU), +UA_NODEID_NUMERIC(ns[0], 25296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1198_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25297LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroupFolder - ns=0;i=25293 */ + +static UA_StatusCode function_namespace0_generated_1199_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroupFolder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25293LU), +UA_NODEID_NUMERIC(ns[0], 15453LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroupFolder"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1199_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25293LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25295 */ + +static UA_StatusCode function_namespace0_generated_1200_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25295_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25295_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25295_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); +variablenode_ns_0_i_25295_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25295_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25295_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25295LU), +UA_NODEID_NUMERIC(ns[0], 25293LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1200_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25295LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25294 */ + +static UA_StatusCode function_namespace0_generated_1201_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25294_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25294_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25294_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_25294_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25294_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25294_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25294LU), +UA_NODEID_NUMERIC(ns[0], 25293LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1201_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25294LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveSecurityGroup - ns=0;i=15457 */ + +static UA_StatusCode function_namespace0_generated_1202_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15457LU), +UA_NODEID_NUMERIC(ns[0], 15453LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1202_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15457LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15458 */ + +static UA_StatusCode function_namespace0_generated_1203_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15458_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15458_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15458_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15458_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15458_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15458_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15458LU), +UA_NODEID_NUMERIC(ns[0], 15457LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1203_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15458LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroup - ns=0;i=15454 */ + +static UA_StatusCode function_namespace0_generated_1204_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15454LU), +UA_NODEID_NUMERIC(ns[0], 15453LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1204_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15454LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15456 */ + +static UA_StatusCode function_namespace0_generated_1205_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15456_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15456_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15456_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15456_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15456_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15456_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15456_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15456_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15456_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15456_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15456LU), +UA_NODEID_NUMERIC(ns[0], 15454LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1205_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15456LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15455 */ + +static UA_StatusCode function_namespace0_generated_1206_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15455_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_15455_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15455_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); +variablenode_ns_0_i_15455_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15455_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15455_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15455_variant_DataContents[1].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_15455_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15455_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15455_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15455_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_15455_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15455_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15455_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15455_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); +variablenode_ns_0_i_15455_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15455_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15455_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15455_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); +variablenode_ns_0_i_15455_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15455_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15455_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15455LU), +UA_NODEID_NUMERIC(ns[0], 15454LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1206_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15455LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PubSubKeyServiceType - ns=0;i=15906 */ + +static UA_StatusCode function_namespace0_generated_1207_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyServiceType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15906LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubKeyServiceType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1207_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15906LU) +); +} + +/* KeyPushTargets - ns=0;i=25277 */ + +static UA_StatusCode function_namespace0_generated_1208_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyPushTargets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25277LU), +UA_NODEID_NUMERIC(ns[0], 15906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "KeyPushTargets"), +UA_NODEID_NUMERIC(ns[0], 25346LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1208_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25277LU) +); +} + +/* RemovePushTarget - ns=0;i=25281 */ + +static UA_StatusCode function_namespace0_generated_1209_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25281LU), +UA_NODEID_NUMERIC(ns[0], 25277LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1209_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25281LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25282 */ + +static UA_StatusCode function_namespace0_generated_1210_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25282_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25282_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25282_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25282_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25282_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25282_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25282LU), +UA_NODEID_NUMERIC(ns[0], 25281LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1210_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25282LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTarget - ns=0;i=25278 */ + +static UA_StatusCode function_namespace0_generated_1211_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25278LU), +UA_NODEID_NUMERIC(ns[0], 25277LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1211_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25278LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25280 */ + +static UA_StatusCode function_namespace0_generated_1212_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25280_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25280_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25280_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25280_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25280_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25280_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25280LU), +UA_NODEID_NUMERIC(ns[0], 25278LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1212_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25280LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25279 */ + +static UA_StatusCode function_namespace0_generated_1213_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25279_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_25279_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25279_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25279_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25279_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25279_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25279_variant_DataContents[1].name = UA_STRING("EndpointUrl"); +variablenode_ns_0_i_25279_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25279_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25279_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25279_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_25279_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25279_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25279_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25279_variant_DataContents[3].name = UA_STRING("UserTokenType"); +variablenode_ns_0_i_25279_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +variablenode_ns_0_i_25279_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25279_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25279_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_25279_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25279_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25279_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25279_variant_DataContents[5].name = UA_STRING("RetryInterval"); +variablenode_ns_0_i_25279_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_25279_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25279_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25279LU), +UA_NODEID_NUMERIC(ns[0], 25278LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1213_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25279LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SecurityGroups - ns=0;i=15913 */ + +static UA_StatusCode function_namespace0_generated_1214_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15913LU), +UA_NODEID_NUMERIC(ns[0], 15906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroups"), +UA_NODEID_NUMERIC(ns[0], 15452LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1214_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15913LU) +); +} + +/* RemoveSecurityGroup - ns=0;i=15917 */ + +static UA_StatusCode function_namespace0_generated_1215_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15917LU), +UA_NODEID_NUMERIC(ns[0], 15913LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1215_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15917LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15918 */ + +static UA_StatusCode function_namespace0_generated_1216_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15918_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15918_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15918_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15918_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15918_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15918_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15918LU), +UA_NODEID_NUMERIC(ns[0], 15917LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1216_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15918LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroup - ns=0;i=15914 */ + +static UA_StatusCode function_namespace0_generated_1217_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15914LU), +UA_NODEID_NUMERIC(ns[0], 15913LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1217_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15914LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15916 */ + +static UA_StatusCode function_namespace0_generated_1218_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15916_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15916_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15916_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15916_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15916_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15916_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15916_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15916_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15916_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15916_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15916LU), +UA_NODEID_NUMERIC(ns[0], 15914LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1218_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15916LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15915 */ + +static UA_StatusCode function_namespace0_generated_1219_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15915_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_15915_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15915_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); +variablenode_ns_0_i_15915_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15915_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15915_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15915_variant_DataContents[1].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_15915_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15915_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15915_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15915_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_15915_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15915_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15915_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15915_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); +variablenode_ns_0_i_15915_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15915_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15915_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15915_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); +variablenode_ns_0_i_15915_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15915_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15915_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15915LU), +UA_NODEID_NUMERIC(ns[0], 15914LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1219_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15915LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetSecurityGroup - ns=0;i=15910 */ + +static UA_StatusCode function_namespace0_generated_1220_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15910LU), +UA_NODEID_NUMERIC(ns[0], 15906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1220_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15910LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15912 */ + +static UA_StatusCode function_namespace0_generated_1221_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15912_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15912_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15912_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15912_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15912_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15912_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15912LU), +UA_NODEID_NUMERIC(ns[0], 15910LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1221_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15912LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15911 */ + +static UA_StatusCode function_namespace0_generated_1222_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15911_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15911_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15911_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15911_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15911_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15911_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15911LU), +UA_NODEID_NUMERIC(ns[0], 15910LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1222_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15911LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetSecurityKeys - ns=0;i=15907 */ + +static UA_StatusCode function_namespace0_generated_1223_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15907LU), +UA_NODEID_NUMERIC(ns[0], 15906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetSecurityKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1223_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15907LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15909 */ + +static UA_StatusCode function_namespace0_generated_1224_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15909_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_15909_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15909_variant_DataContents[0].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_15909_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15909_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15909_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15909_variant_DataContents[1].name = UA_STRING("FirstTokenId"); +variablenode_ns_0_i_15909_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_15909_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15909_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15909_variant_DataContents[2].name = UA_STRING("Keys"); +variablenode_ns_0_i_15909_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_15909_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15909_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_15909_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_15909_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15909_variant_DataContents[3].name = UA_STRING("TimeToNextKey"); +variablenode_ns_0_i_15909_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15909_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15909_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15909_variant_DataContents[4].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_15909_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15909_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15909_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15909LU), +UA_NODEID_NUMERIC(ns[0], 15907LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1224_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15909LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15908 */ + +static UA_StatusCode function_namespace0_generated_1225_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15908_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_15908_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15908_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15908_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15908_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15908_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15908_variant_DataContents[1].name = UA_STRING("StartingTokenId"); +variablenode_ns_0_i_15908_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_15908_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15908_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15908_variant_DataContents[2].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_15908_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15908_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15908_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15908LU), +UA_NODEID_NUMERIC(ns[0], 15907LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1225_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15908LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PublishSubscribeType - ns=0;i=14416 */ + +static UA_StatusCode function_namespace0_generated_1226_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishSubscribeType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 15906LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PublishSubscribeType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1226_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14416LU) +); +} + +/* ConfigurationProperties - ns=0;i=32397 */ + +static UA_StatusCode function_namespace0_generated_1227_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32397LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1227_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32397LU) +); +} + +/* DefaultSecurityKeyServices - ns=0;i=32396 */ + +static UA_StatusCode function_namespace0_generated_1228_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultSecurityKeyServices"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32396LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultSecurityKeyServices"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1228_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32396LU) +); +} + +/* ConfigurationVersion - ns=0;i=25433 */ + +static UA_StatusCode function_namespace0_generated_1229_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25433LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1229_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25433LU) +); +} + +/* DefaultDatagramPublisherId - ns=0;i=25432 */ + +static UA_StatusCode function_namespace0_generated_1230_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultDatagramPublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25432LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultDatagramPublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1230_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25432LU) +); +} + +/* DataSetClasses - ns=0;i=23649 */ + +static UA_StatusCode function_namespace0_generated_1231_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23649LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1231_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23649LU) +); +} + +/* - ns=0;i=24009 */ + +static UA_StatusCode function_namespace0_generated_1232_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24009LU), +UA_NODEID_NUMERIC(ns[0], 23649LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1232_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24009LU) +); +} + +/* PubSubCapablities - ns=0;i=23642 */ + +static UA_StatusCode function_namespace0_generated_1233_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapablities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubCapablities"), +UA_NODEID_NUMERIC(ns[0], 23832LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1233_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23642LU) +); +} + +/* MaxFieldsPerDataSet - ns=0;i=23648 */ + +static UA_StatusCode function_namespace0_generated_1234_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23648LU), +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1234_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23648LU) +); +} + +/* MaxDataSetReaders - ns=0;i=23647 */ + +static UA_StatusCode function_namespace0_generated_1235_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23647LU), +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1235_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23647LU) +); +} + +/* MaxDataSetWriters - ns=0;i=23646 */ + +static UA_StatusCode function_namespace0_generated_1236_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23646LU), +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1236_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23646LU) +); +} + +/* MaxReaderGroups - ns=0;i=23645 */ + +static UA_StatusCode function_namespace0_generated_1237_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23645LU), +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1237_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23645LU) +); +} + +/* MaxWriterGroups - ns=0;i=23644 */ + +static UA_StatusCode function_namespace0_generated_1238_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23644LU), +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1238_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23644LU) +); +} + +/* MaxPubSubConnections - ns=0;i=23643 */ + +static UA_StatusCode function_namespace0_generated_1239_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23643LU), +UA_NODEID_NUMERIC(ns[0], 23642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1239_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23643LU) +); +} + +/* SubscribedDataSets - ns=0;i=23622 */ + +static UA_StatusCode function_namespace0_generated_1240_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23622LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSets"), +UA_NODEID_NUMERIC(ns[0], 23795LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1240_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23622LU) +); +} + +/* Diagnostics - ns=0;i=18715 */ + +static UA_StatusCode function_namespace0_generated_1241_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19732LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1241_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18715LU) +); +} + +/* LiveValues - ns=0;i=18760 */ + +static UA_StatusCode function_namespace0_generated_1242_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18760LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1242_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18760LU) +); +} + +/* OperationalDataSetReaders - ns=0;i=18767 */ + +static UA_StatusCode function_namespace0_generated_1243_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18767LU), +UA_NODEID_NUMERIC(ns[0], 18760LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1243_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18767LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18768 */ + +static UA_StatusCode function_namespace0_generated_1244_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18768_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18768_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18768_variant_DataContents); +*variablenode_ns_0_i_18768_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18768_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18768LU), +UA_NODEID_NUMERIC(ns[0], 18767LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18768_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1244_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18768LU) +); +} + +/* OperationalDataSetWriters - ns=0;i=18765 */ + +static UA_StatusCode function_namespace0_generated_1245_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18765LU), +UA_NODEID_NUMERIC(ns[0], 18760LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1245_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18765LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18766 */ + +static UA_StatusCode function_namespace0_generated_1246_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18766_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18766_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18766_variant_DataContents); +*variablenode_ns_0_i_18766_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18766_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18766LU), +UA_NODEID_NUMERIC(ns[0], 18765LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18766_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1246_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18766LU) +); +} + +/* ConfiguredDataSetReaders - ns=0;i=18763 */ + +static UA_StatusCode function_namespace0_generated_1247_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18763LU), +UA_NODEID_NUMERIC(ns[0], 18760LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1247_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18763LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18764 */ + +static UA_StatusCode function_namespace0_generated_1248_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18764_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18764_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18764_variant_DataContents); +*variablenode_ns_0_i_18764_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18764_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18764LU), +UA_NODEID_NUMERIC(ns[0], 18763LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18764_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1248_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18764LU) +); +} + +/* ConfiguredDataSetWriters - ns=0;i=18761 */ + +static UA_StatusCode function_namespace0_generated_1249_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18761LU), +UA_NODEID_NUMERIC(ns[0], 18760LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1249_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18761LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18762 */ + +static UA_StatusCode function_namespace0_generated_1250_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18762_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18762_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18762_variant_DataContents); +*variablenode_ns_0_i_18762_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18762_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18762LU), +UA_NODEID_NUMERIC(ns[0], 18761LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18762_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1250_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18762LU) +); +} + +/* Counters - ns=0;i=18729 */ + +static UA_StatusCode function_namespace0_generated_1251_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1251_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18729LU) +); +} + +/* StateDisabledByMethod - ns=0;i=18755 */ + +static UA_StatusCode function_namespace0_generated_1252_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18755LU), +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1252_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18755LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18758 */ + +static UA_StatusCode function_namespace0_generated_1253_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18758_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18758_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18758_variant_DataContents); +*variablenode_ns_0_i_18758_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18758_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18758LU), +UA_NODEID_NUMERIC(ns[0], 18755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18758_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1253_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18758LU) +); +} + +/* Classification - ns=0;i=18757 */ + +static UA_StatusCode function_namespace0_generated_1254_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_18757_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18757_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18757_variant_DataContents); +*variablenode_ns_0_i_18757_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18757_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18757LU), +UA_NODEID_NUMERIC(ns[0], 18755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18757_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1254_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18757LU) +); +} + +/* Active - ns=0;i=18756 */ + +static UA_StatusCode function_namespace0_generated_1255_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18756LU), +UA_NODEID_NUMERIC(ns[0], 18755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1255_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18756LU) +); +} + +/* StatePausedByParent - ns=0;i=18750 */ + +static UA_StatusCode function_namespace0_generated_1256_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18750LU), +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1256_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18750LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18753 */ + +static UA_StatusCode function_namespace0_generated_1257_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18753_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18753_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18753_variant_DataContents); +*variablenode_ns_0_i_18753_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18753_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18753LU), +UA_NODEID_NUMERIC(ns[0], 18750LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18753_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1257_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18753LU) +); +} + +/* Classification - ns=0;i=18752 */ + +static UA_StatusCode function_namespace0_generated_1258_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_18752_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18752_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18752_variant_DataContents); +*variablenode_ns_0_i_18752_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18752_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18752LU), +UA_NODEID_NUMERIC(ns[0], 18750LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18752_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1258_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18752LU) +); +} + +/* Active - ns=0;i=18751 */ + +static UA_StatusCode function_namespace0_generated_1259_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18751LU), +UA_NODEID_NUMERIC(ns[0], 18750LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1259_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18751LU) +); +} + +/* StateOperationalFromError - ns=0;i=18745 */ + +static UA_StatusCode function_namespace0_generated_1260_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18745LU), +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1260_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18745LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18748 */ + +static UA_StatusCode function_namespace0_generated_1261_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18748_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18748_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18748_variant_DataContents); +*variablenode_ns_0_i_18748_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18748_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18748LU), +UA_NODEID_NUMERIC(ns[0], 18745LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18748_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1261_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18748LU) +); +} + +/* Classification - ns=0;i=18747 */ + +static UA_StatusCode function_namespace0_generated_1262_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_18747_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18747_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18747_variant_DataContents); +*variablenode_ns_0_i_18747_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18747_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18747LU), +UA_NODEID_NUMERIC(ns[0], 18745LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18747_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1262_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18747LU) +); +} + +/* Active - ns=0;i=18746 */ + +static UA_StatusCode function_namespace0_generated_1263_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18746LU), +UA_NODEID_NUMERIC(ns[0], 18745LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1263_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18746LU) +); +} + +/* StateOperationalByParent - ns=0;i=18740 */ + +static UA_StatusCode function_namespace0_generated_1264_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18740LU), +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1264_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18740LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18743 */ + +static UA_StatusCode function_namespace0_generated_1265_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18743_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18743_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18743_variant_DataContents); +*variablenode_ns_0_i_18743_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18743_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18743LU), +UA_NODEID_NUMERIC(ns[0], 18740LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18743_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1265_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18743LU) +); +} + +/* Classification - ns=0;i=18742 */ + +static UA_StatusCode function_namespace0_generated_1266_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_18742_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18742_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18742_variant_DataContents); +*variablenode_ns_0_i_18742_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18742_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18742LU), +UA_NODEID_NUMERIC(ns[0], 18740LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18742_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1266_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18742LU) +); +} + +/* Active - ns=0;i=18741 */ + +static UA_StatusCode function_namespace0_generated_1267_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18741LU), +UA_NODEID_NUMERIC(ns[0], 18740LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1267_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18741LU) +); +} + +/* StateOperationalByMethod - ns=0;i=18735 */ + +static UA_StatusCode function_namespace0_generated_1268_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18735LU), +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1268_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18735LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18738 */ + +static UA_StatusCode function_namespace0_generated_1269_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18738_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18738_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18738_variant_DataContents); +*variablenode_ns_0_i_18738_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18738_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18738LU), +UA_NODEID_NUMERIC(ns[0], 18735LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18738_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1269_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18738LU) +); +} + +/* Classification - ns=0;i=18737 */ + +static UA_StatusCode function_namespace0_generated_1270_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_18737_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18737_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18737_variant_DataContents); +*variablenode_ns_0_i_18737_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18737_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18737LU), +UA_NODEID_NUMERIC(ns[0], 18735LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18737_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1270_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18737LU) +); +} + +/* Active - ns=0;i=18736 */ + +static UA_StatusCode function_namespace0_generated_1271_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18736LU), +UA_NODEID_NUMERIC(ns[0], 18735LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1271_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18736LU) +); +} + +/* StateError - ns=0;i=18730 */ + +static UA_StatusCode function_namespace0_generated_1272_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18730LU), +UA_NODEID_NUMERIC(ns[0], 18729LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1272_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18730LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18733 */ + +static UA_StatusCode function_namespace0_generated_1273_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_18733_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18733_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18733_variant_DataContents); +*variablenode_ns_0_i_18733_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18733_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18733LU), +UA_NODEID_NUMERIC(ns[0], 18730LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18733_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1273_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18733LU) +); +} + +/* Classification - ns=0;i=18732 */ + +static UA_StatusCode function_namespace0_generated_1274_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_18732_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_18732_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_18732_variant_DataContents); +*variablenode_ns_0_i_18732_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18732_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18732LU), +UA_NODEID_NUMERIC(ns[0], 18730LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_18732_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1274_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18732LU) +); +} + +/* Active - ns=0;i=18731 */ + +static UA_StatusCode function_namespace0_generated_1275_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18731LU), +UA_NODEID_NUMERIC(ns[0], 18730LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1275_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18731LU) +); +} + +/* SubError - ns=0;i=18728 */ + +static UA_StatusCode function_namespace0_generated_1276_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18728LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1276_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18728LU) +); +} + +/* Reset - ns=0;i=18727 */ + +static UA_StatusCode function_namespace0_generated_1277_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 18727LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1277_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18727LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=18722 */ + +static UA_StatusCode function_namespace0_generated_1278_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18722LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1278_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18722LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18725 */ + +static UA_StatusCode function_namespace0_generated_1279_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18725LU), +UA_NODEID_NUMERIC(ns[0], 18722LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1279_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18725LU) +); +} + +/* Classification - ns=0;i=18724 */ + +static UA_StatusCode function_namespace0_generated_1280_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18724LU), +UA_NODEID_NUMERIC(ns[0], 18722LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1280_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18724LU) +); +} + +/* Active - ns=0;i=18723 */ + +static UA_StatusCode function_namespace0_generated_1281_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18723LU), +UA_NODEID_NUMERIC(ns[0], 18722LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1281_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18723LU) +); +} + +/* TotalInformation - ns=0;i=18717 */ + +static UA_StatusCode function_namespace0_generated_1282_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18717LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1282_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18717LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18720 */ + +static UA_StatusCode function_namespace0_generated_1283_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18720LU), +UA_NODEID_NUMERIC(ns[0], 18717LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1283_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18720LU) +); +} + +/* Classification - ns=0;i=18719 */ + +static UA_StatusCode function_namespace0_generated_1284_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18719LU), +UA_NODEID_NUMERIC(ns[0], 18717LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1284_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18719LU) +); +} + +/* Active - ns=0;i=18718 */ + +static UA_StatusCode function_namespace0_generated_1285_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18718LU), +UA_NODEID_NUMERIC(ns[0], 18717LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1285_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18718LU) +); +} + +/* DiagnosticsLevel - ns=0;i=18716 */ + +static UA_StatusCode function_namespace0_generated_1286_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18716LU), +UA_NODEID_NUMERIC(ns[0], 18715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1286_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18716LU) +); +} + +/* SupportedTransportProfiles - ns=0;i=17479 */ + +static UA_StatusCode function_namespace0_generated_1287_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedTransportProfiles"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17479LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedTransportProfiles"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1287_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17479LU) +); +} + +/* SetSecurityKeys - ns=0;i=17296 */ + +static UA_StatusCode function_namespace0_generated_1288_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetSecurityKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17296LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetSecurityKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1288_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17296LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17297 */ + +static UA_StatusCode function_namespace0_generated_1289_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17297_variant_DataContents[7]; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_17297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17297_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[1].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_17297_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17297_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[2].name = UA_STRING("CurrentTokenId"); +variablenode_ns_0_i_17297_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_17297_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[3].name = UA_STRING("CurrentKey"); +variablenode_ns_0_i_17297_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_17297_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[4].name = UA_STRING("FutureKeys"); +variablenode_ns_0_i_17297_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_17297_variant_DataContents[4].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_17297_variant_DataContents[4].arrayDimensionsSize = 1; +variablenode_ns_0_i_17297_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[5].name = UA_STRING("TimeToNextKey"); +variablenode_ns_0_i_17297_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_17297_variant_DataContents[5].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17297_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17297_variant_DataContents[6].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_17297_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_17297_variant_DataContents[6].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17297_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17297LU), +UA_NODEID_NUMERIC(ns[0], 17296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1289_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17297LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddConnection - ns=0;i=16598 */ + +static UA_StatusCode function_namespace0_generated_1290_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16598LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1290_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16598LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16600 */ + +static UA_StatusCode function_namespace0_generated_1291_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16600_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16600_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16600_variant_DataContents[0].name = UA_STRING("ConnectionId"); +variablenode_ns_0_i_16600_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16600_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16600_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16600LU), +UA_NODEID_NUMERIC(ns[0], 16598LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1291_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16600LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16599 */ + +static UA_StatusCode function_namespace0_generated_1292_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16599_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16599_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16599_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_16599_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15617LU); +variablenode_ns_0_i_16599_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16599_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16599LU), +UA_NODEID_NUMERIC(ns[0], 16598LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1292_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16599LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Status - ns=0;i=15844 */ + +static UA_StatusCode function_namespace0_generated_1293_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15844LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1293_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15844LU) +); +} + +/* State - ns=0;i=15845 */ + +static UA_StatusCode function_namespace0_generated_1294_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15845LU), +UA_NODEID_NUMERIC(ns[0], 15844LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1294_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15845LU) +); +} + +/* PublishedDataSets - ns=0;i=14434 */ + +static UA_StatusCode function_namespace0_generated_1295_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14434LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSets"), +UA_NODEID_NUMERIC(ns[0], 14477LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1295_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14434LU) +); +} + +/* RemoveConnection - ns=0;i=14432 */ + +static UA_StatusCode function_namespace0_generated_1296_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14432LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1296_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14432LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14433 */ + +static UA_StatusCode function_namespace0_generated_1297_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14433_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14433_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14433_variant_DataContents[0].name = UA_STRING("ConnectionId"); +variablenode_ns_0_i_14433_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_14433_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14433_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14433LU), +UA_NODEID_NUMERIC(ns[0], 14432LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1297_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14433LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=14417 */ + +static UA_StatusCode function_namespace0_generated_1298_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14417LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 14476LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 14209LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1298_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14417LU) +); +} + +/* ConnectionProperties - ns=0;i=17478 */ + +static UA_StatusCode function_namespace0_generated_1299_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17478LU), +UA_NODEID_NUMERIC(ns[0], 14417LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1299_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17478LU) +); +} + +/* Address - ns=0;i=14423 */ + +static UA_StatusCode function_namespace0_generated_1300_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Address"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14423LU), +UA_NODEID_NUMERIC(ns[0], 14417LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Address"), +UA_NODEID_NUMERIC(ns[0], 21145LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1300_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14423LU) +); +} + +/* Status - ns=0;i=14419 */ + +static UA_StatusCode function_namespace0_generated_1301_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14419LU), +UA_NODEID_NUMERIC(ns[0], 14417LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1301_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14419LU) +); +} + +/* State - ns=0;i=14420 */ + +static UA_StatusCode function_namespace0_generated_1302_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14420LU), +UA_NODEID_NUMERIC(ns[0], 14419LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1302_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14420LU) +); +} + +/* PublisherId - ns=0;i=14418 */ + +static UA_StatusCode function_namespace0_generated_1303_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14418LU), +UA_NODEID_NUMERIC(ns[0], 14417LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1303_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14418LU) +); +} + +/* AggregateConfigurationType - ns=0;i=11187 */ + +static UA_StatusCode function_namespace0_generated_1304_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11187LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AggregateConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1304_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11187LU) +); +} + +/* UseSlopedExtrapolation - ns=0;i=11191 */ + +static UA_StatusCode function_namespace0_generated_1305_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UseSlopedExtrapolation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11191LU), +UA_NODEID_NUMERIC(ns[0], 11187LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UseSlopedExtrapolation"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1305_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11191LU) +); +} + +/* PercentDataGood - ns=0;i=11190 */ + +static UA_StatusCode function_namespace0_generated_1306_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataGood"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11190LU), +UA_NODEID_NUMERIC(ns[0], 11187LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PercentDataGood"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1306_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11190LU) +); +} + +/* PercentDataBad - ns=0;i=11189 */ + +static UA_StatusCode function_namespace0_generated_1307_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11189LU), +UA_NODEID_NUMERIC(ns[0], 11187LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PercentDataBad"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1307_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11189LU) +); +} + +/* TreatUncertainAsBad - ns=0;i=11188 */ + +static UA_StatusCode function_namespace0_generated_1308_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TreatUncertainAsBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11188LU), +UA_NODEID_NUMERIC(ns[0], 11187LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TreatUncertainAsBad"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1308_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11188LU) +); +} + +/* AuthorizationServiceConfigurationType - ns=0;i=17852 */ + +static UA_StatusCode function_namespace0_generated_1309_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuthorizationServiceConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17852LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuthorizationServiceConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1309_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17852LU) +); +} + +/* IssuerEndpointUrl - ns=0;i=18073 */ + +static UA_StatusCode function_namespace0_generated_1310_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IssuerEndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18073LU), +UA_NODEID_NUMERIC(ns[0], 17852LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IssuerEndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1310_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18073LU) +); +} + +/* ServiceUri - ns=0;i=18072 */ + +static UA_StatusCode function_namespace0_generated_1311_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18072LU), +UA_NODEID_NUMERIC(ns[0], 17852LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1311_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18072LU) +); +} + +/* ServiceCertificate - ns=0;i=17860 */ + +static UA_StatusCode function_namespace0_generated_1312_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17860LU), +UA_NODEID_NUMERIC(ns[0], 17852LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceCertificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1312_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17860LU) +); +} + +/* AuthorizationServicesConfigurationFolderType - ns=0;i=23556 */ + +static UA_StatusCode function_namespace0_generated_1313_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuthorizationServicesConfigurationFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23556LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuthorizationServicesConfigurationFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1313_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23556LU) +); +} + +/* - ns=0;i=23557 */ + +static UA_StatusCode function_namespace0_generated_1314_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23557LU), +UA_NODEID_NUMERIC(ns[0], 23556LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 17852LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1314_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23557LU) +); +} + +/* IssuerEndpointUrl - ns=0;i=23560 */ + +static UA_StatusCode function_namespace0_generated_1315_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IssuerEndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23560LU), +UA_NODEID_NUMERIC(ns[0], 23557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IssuerEndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1315_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23560LU) +); +} + +/* ServiceCertificate - ns=0;i=23559 */ + +static UA_StatusCode function_namespace0_generated_1316_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23559LU), +UA_NODEID_NUMERIC(ns[0], 23557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceCertificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1316_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23559LU) +); +} + +/* ServiceUri - ns=0;i=23558 */ + +static UA_StatusCode function_namespace0_generated_1317_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23558LU), +UA_NODEID_NUMERIC(ns[0], 23557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1317_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23558LU) +); +} + +/* KeyCredentialConfigurationType - ns=0;i=18001 */ + +static UA_StatusCode function_namespace0_generated_1318_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "KeyCredentialConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1318_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18001LU) +); +} + +/* ProfileUri - ns=0;i=18165 */ + +static UA_StatusCode function_namespace0_generated_1319_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18165LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProfileUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1319_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18165LU) +); +} + +/* ResourceUri - ns=0;i=18069 */ + +static UA_StatusCode function_namespace0_generated_1320_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18069LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1320_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18069LU) +); +} + +/* DeleteCredential - ns=0;i=18008 */ + +static UA_StatusCode function_namespace0_generated_1321_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteCredential"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 18008LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteCredential"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1321_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18008LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* UpdateCredential - ns=0;i=18006 */ + +static UA_StatusCode function_namespace0_generated_1322_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCredential"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 18006LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UpdateCredential"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1322_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18006LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=18007 */ + +static UA_StatusCode function_namespace0_generated_1323_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_18007_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_18007_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_18007_variant_DataContents[0].name = UA_STRING("CredentialId"); +variablenode_ns_0_i_18007_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_18007_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_18007_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_18007_variant_DataContents[1].name = UA_STRING("CredentialSecret"); +variablenode_ns_0_i_18007_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_18007_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_18007_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_18007_variant_DataContents[2].name = UA_STRING("CertificateThumbprint"); +variablenode_ns_0_i_18007_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_18007_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_18007_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_18007_variant_DataContents[3].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_18007_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_18007_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_18007_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18007LU), +UA_NODEID_NUMERIC(ns[0], 18006LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1323_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18007LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ServiceStatus - ns=0;i=18005 */ + +static UA_StatusCode function_namespace0_generated_1324_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18005LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceStatus"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1324_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18005LU) +); +} + +/* EndpointUrls - ns=0;i=18004 */ + +static UA_StatusCode function_namespace0_generated_1325_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrls"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18004LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrls"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1325_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18004LU) +); +} + +/* GetEncryptingKey - ns=0;i=17534 */ + +static UA_StatusCode function_namespace0_generated_1326_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetEncryptingKey"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17534LU), +UA_NODEID_NUMERIC(ns[0], 18001LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetEncryptingKey"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1326_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17534LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17536 */ + +static UA_StatusCode function_namespace0_generated_1327_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17536_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_17536_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17536_variant_DataContents[0].name = UA_STRING("PublicKey"); +variablenode_ns_0_i_17536_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_17536_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17536_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17536_variant_DataContents[1].name = UA_STRING("RevisedSecurityPolicyUri"); +variablenode_ns_0_i_17536_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17536_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17536_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17536LU), +UA_NODEID_NUMERIC(ns[0], 17534LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1327_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17536LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17535 */ + +static UA_StatusCode function_namespace0_generated_1328_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17535_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_17535_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17535_variant_DataContents[0].name = UA_STRING("CredentialId"); +variablenode_ns_0_i_17535_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17535_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17535_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17535_variant_DataContents[1].name = UA_STRING("RequestedSecurityPolicyUri"); +variablenode_ns_0_i_17535_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17535_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17535_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17535LU), +UA_NODEID_NUMERIC(ns[0], 17534LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1328_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17535LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* KeyCredentialConfigurationFolderType - ns=0;i=17496 */ + +static UA_StatusCode function_namespace0_generated_1329_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialConfigurationFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17496LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "KeyCredentialConfigurationFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1329_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17496LU) +); +} + +/* CreateCredential - ns=0;i=17522 */ + +static UA_StatusCode function_namespace0_generated_1330_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateCredential"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17522LU), +UA_NODEID_NUMERIC(ns[0], 17496LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateCredential"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1330_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17522LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17524 */ + +static UA_StatusCode function_namespace0_generated_1331_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17524_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17524_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17524_variant_DataContents[0].name = UA_STRING("CredentialNodeId"); +variablenode_ns_0_i_17524_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17524_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17524_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17524LU), +UA_NODEID_NUMERIC(ns[0], 17522LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1331_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17524LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17523 */ + +static UA_StatusCode function_namespace0_generated_1332_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17523_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_17523_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17523_variant_DataContents[0].name = UA_STRING("Name"); +variablenode_ns_0_i_17523_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17523_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17523_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17523_variant_DataContents[1].name = UA_STRING("ResourceUri"); +variablenode_ns_0_i_17523_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17523_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17523_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17523_variant_DataContents[2].name = UA_STRING("ProfileUri"); +variablenode_ns_0_i_17523_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17523_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17523_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17523_variant_DataContents[3].name = UA_STRING("EndpointUrls"); +variablenode_ns_0_i_17523_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17523_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_17523_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_17523_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17523_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17523LU), +UA_NODEID_NUMERIC(ns[0], 17522LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1332_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17523LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=17511 */ + +static UA_StatusCode function_namespace0_generated_1333_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17511LU), +UA_NODEID_NUMERIC(ns[0], 17496LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 18001LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1333_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17511LU) +); +} + +/* ProfileUri - ns=0;i=17513 */ + +static UA_StatusCode function_namespace0_generated_1334_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17513LU), +UA_NODEID_NUMERIC(ns[0], 17511LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProfileUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1334_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17513LU) +); +} + +/* ResourceUri - ns=0;i=17512 */ + +static UA_StatusCode function_namespace0_generated_1335_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17512LU), +UA_NODEID_NUMERIC(ns[0], 17511LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1335_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17512LU) +); +} + +/* ServerConfigurationType - ns=0;i=12581 */ + +static UA_StatusCode function_namespace0_generated_1336_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1336_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12581LU) +); +} + +/* GetCertificates - ns=0;i=32296 */ + +static UA_StatusCode function_namespace0_generated_1337_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetCertificates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32296LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetCertificates"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1337_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32296LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32298 */ + +static UA_StatusCode function_namespace0_generated_1338_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32298_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_32298_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32298_variant_DataContents[0].name = UA_STRING("CertificateTypeIds"); +variablenode_ns_0_i_32298_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32298_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32298_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_32298_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions; + +UA_init(&variablenode_ns_0_i_32298_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32298_variant_DataContents[1].name = UA_STRING("Certificates"); +variablenode_ns_0_i_32298_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_32298_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32298_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_32298_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32298_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32298LU), +UA_NODEID_NUMERIC(ns[0], 32296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1338_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32298LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32297 */ + +static UA_StatusCode function_namespace0_generated_1339_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32297_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32297_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_32297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32297_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32297_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32297LU), +UA_NODEID_NUMERIC(ns[0], 32296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1339_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32297LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ApplicationConfigurationType - ns=0;i=25731 */ + +static UA_StatusCode function_namespace0_generated_1340_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25731LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1340_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25731LU) +); +} + +/* - ns=0;i=26878 */ + +static UA_StatusCode function_namespace0_generated_1341_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 26871LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 25731LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1341_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26878LU) +); +} + +/* GetRejectedList - ns=0;i=28013 */ + +static UA_StatusCode function_namespace0_generated_1342_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 28013LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1342_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28013LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=28014 */ + +static UA_StatusCode function_namespace0_generated_1343_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_28014_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_28014_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28014_variant_DataContents[0].name = UA_STRING("Certificates"); +variablenode_ns_0_i_28014_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_28014_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_28014_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_28014_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28014_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28014LU), +UA_NODEID_NUMERIC(ns[0], 28013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1343_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28014LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateSigningRequest - ns=0;i=28010 */ + +static UA_StatusCode function_namespace0_generated_1344_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSigningRequest"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 28010LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSigningRequest"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1344_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28010LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=28012 */ + +static UA_StatusCode function_namespace0_generated_1345_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_28012_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_28012_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28012_variant_DataContents[0].name = UA_STRING("CertificateRequest"); +variablenode_ns_0_i_28012_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_28012_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28012_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28012LU), +UA_NODEID_NUMERIC(ns[0], 28010LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1345_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28012LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=28011 */ + +static UA_StatusCode function_namespace0_generated_1346_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_28011_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_28011_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28011_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_28011_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_28011_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28011_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28011_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); +variablenode_ns_0_i_28011_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_28011_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28011_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28011_variant_DataContents[2].name = UA_STRING("SubjectName"); +variablenode_ns_0_i_28011_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_28011_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28011_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28011_variant_DataContents[3].name = UA_STRING("RegeneratePrivateKey"); +variablenode_ns_0_i_28011_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_28011_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28011_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28011_variant_DataContents[4].name = UA_STRING("Nonce"); +variablenode_ns_0_i_28011_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_28011_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28011_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28011LU), +UA_NODEID_NUMERIC(ns[0], 28010LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1346_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28011LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ApplyChanges - ns=0;i=28008 */ + +static UA_StatusCode function_namespace0_generated_1347_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplyChanges"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 28008LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplyChanges"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1347_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28008LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* UpdateCertificate - ns=0;i=28005 */ + +static UA_StatusCode function_namespace0_generated_1348_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 28005LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UpdateCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1348_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28005LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=28007 */ + +static UA_StatusCode function_namespace0_generated_1349_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_28007_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_28007_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28007_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_28007_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_28007_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28007_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28007LU), +UA_NODEID_NUMERIC(ns[0], 28005LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1349_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28007LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=28006 */ + +static UA_StatusCode function_namespace0_generated_1350_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_28006_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_28006_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28006_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_28006_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_28006_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28006_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28006_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); +variablenode_ns_0_i_28006_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_28006_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28006_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28006_variant_DataContents[2].name = UA_STRING("Certificate"); +variablenode_ns_0_i_28006_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_28006_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28006_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28006_variant_DataContents[3].name = UA_STRING("IssuerCertificates"); +variablenode_ns_0_i_28006_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_28006_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_28006_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_28006_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_28006_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28006_variant_DataContents[4].name = UA_STRING("PrivateKeyFormat"); +variablenode_ns_0_i_28006_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_28006_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_28006_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_28006_variant_DataContents[5].name = UA_STRING("PrivateKey"); +variablenode_ns_0_i_28006_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_28006_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28006_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28006LU), +UA_NODEID_NUMERIC(ns[0], 28005LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1350_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28006LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* MulticastDnsEnabled - ns=0;i=28003 */ + +static UA_StatusCode function_namespace0_generated_1351_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MulticastDnsEnabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28003LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MulticastDnsEnabled"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1351_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28003LU) +); +} + +/* MaxTrustListSize - ns=0;i=28002 */ + +static UA_StatusCode function_namespace0_generated_1352_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxTrustListSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28002LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxTrustListSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1352_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28002LU) +); +} + +/* SupportedPrivateKeyFormats - ns=0;i=28001 */ + +static UA_StatusCode function_namespace0_generated_1353_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedPrivateKeyFormats"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28001LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedPrivateKeyFormats"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1353_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28001LU) +); +} + +/* ServerCapabilities - ns=0;i=28000 */ + +static UA_StatusCode function_namespace0_generated_1354_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 28000LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1354_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 28000LU) +); +} + +/* ApplicationType - ns=0;i=27999 */ + +static UA_StatusCode function_namespace0_generated_1355_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 27999LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1355_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 27999LU) +); +} + +/* ProductUri - ns=0;i=27998 */ + +static UA_StatusCode function_namespace0_generated_1356_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 27998LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1356_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 27998LU) +); +} + +/* ApplicationUri - ns=0;i=27997 */ + +static UA_StatusCode function_namespace0_generated_1357_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 27997LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1357_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 27997LU) +); +} + +/* Enabled - ns=0;i=27996 */ + +static UA_StatusCode function_namespace0_generated_1358_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Enabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 27996LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Enabled"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1358_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 27996LU) +); +} + +/* ApplicationType - ns=0;i=26852 */ + +static UA_StatusCode function_namespace0_generated_1359_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26852LU), +UA_NODEID_NUMERIC(ns[0], 25731LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1359_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26852LU) +); +} + +/* ProductUri - ns=0;i=26851 */ + +static UA_StatusCode function_namespace0_generated_1360_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26851LU), +UA_NODEID_NUMERIC(ns[0], 25731LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1360_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26851LU) +); +} + +/* ApplicationUri - ns=0;i=26850 */ + +static UA_StatusCode function_namespace0_generated_1361_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26850LU), +UA_NODEID_NUMERIC(ns[0], 25731LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1361_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26850LU) +); +} + +/* Enabled - ns=0;i=26849 */ + +static UA_StatusCode function_namespace0_generated_1362_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Enabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26849LU), +UA_NODEID_NUMERIC(ns[0], 25731LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Enabled"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1362_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26849LU) +); +} + +/* ProductUri - ns=0;i=25724 */ + +static UA_StatusCode function_namespace0_generated_1363_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25724LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1363_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25724LU) +); +} + +/* ResetToServerDefaults - ns=0;i=25699 */ + +static UA_StatusCode function_namespace0_generated_1364_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ResetToServerDefaults"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25699LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ResetToServerDefaults"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1364_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25699LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CancelChanges - ns=0;i=25698 */ + +static UA_StatusCode function_namespace0_generated_1365_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CancelChanges"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25698LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CancelChanges"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1365_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25698LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ApplicationType - ns=0;i=25697 */ + +static UA_StatusCode function_namespace0_generated_1366_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25697LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1366_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25697LU) +); +} + +/* ApplicationUri - ns=0;i=25696 */ + +static UA_StatusCode function_namespace0_generated_1367_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25696LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1367_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25696LU) +); +} + +/* HasSecureElement - ns=0;i=23593 */ + +static UA_StatusCode function_namespace0_generated_1368_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HasSecureElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23593LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HasSecureElement"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1368_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23593LU) +); +} + +/* GetRejectedList - ns=0;i=12775 */ + +static UA_StatusCode function_namespace0_generated_1369_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12775LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1369_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12775LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12776 */ + +static UA_StatusCode function_namespace0_generated_1370_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12776_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12776_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12776_variant_DataContents[0].name = UA_STRING("Certificates"); +variablenode_ns_0_i_12776_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12776_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_12776_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_12776_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12776_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12776LU), +UA_NODEID_NUMERIC(ns[0], 12775LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1370_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12776LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ApplyChanges - ns=0;i=12734 */ + +static UA_StatusCode function_namespace0_generated_1371_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplyChanges"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12734LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplyChanges"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1371_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12734LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateSigningRequest - ns=0;i=12731 */ + +static UA_StatusCode function_namespace0_generated_1372_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSigningRequest"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12731LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSigningRequest"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1372_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12731LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12733 */ + +static UA_StatusCode function_namespace0_generated_1373_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12733_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12733_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12733_variant_DataContents[0].name = UA_STRING("CertificateRequest"); +variablenode_ns_0_i_12733_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12733_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12733_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12733LU), +UA_NODEID_NUMERIC(ns[0], 12731LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1373_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12733LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12732 */ + +static UA_StatusCode function_namespace0_generated_1374_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12732_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_12732_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12732_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_12732_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_12732_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12732_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12732_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); +variablenode_ns_0_i_12732_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_12732_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12732_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12732_variant_DataContents[2].name = UA_STRING("SubjectName"); +variablenode_ns_0_i_12732_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_12732_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12732_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12732_variant_DataContents[3].name = UA_STRING("RegeneratePrivateKey"); +variablenode_ns_0_i_12732_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12732_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12732_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12732_variant_DataContents[4].name = UA_STRING("Nonce"); +variablenode_ns_0_i_12732_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12732_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12732_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12732LU), +UA_NODEID_NUMERIC(ns[0], 12731LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1374_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12732LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ServerCapabilities - ns=0;i=12708 */ + +static UA_StatusCode function_namespace0_generated_1375_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12708LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1375_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12708LU) +); +} + +/* UpdateCertificate - ns=0;i=12616 */ + +static UA_StatusCode function_namespace0_generated_1376_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12616LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UpdateCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1376_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12616LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12618 */ + +static UA_StatusCode function_namespace0_generated_1377_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12618_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12618_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12618_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_12618_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12618_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12618_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12618LU), +UA_NODEID_NUMERIC(ns[0], 12616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1377_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12618LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12617 */ + +static UA_StatusCode function_namespace0_generated_1378_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12617_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_12617_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12617_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_12617_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_12617_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12617_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12617_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); +variablenode_ns_0_i_12617_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_12617_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12617_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12617_variant_DataContents[2].name = UA_STRING("Certificate"); +variablenode_ns_0_i_12617_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12617_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12617_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12617_variant_DataContents[3].name = UA_STRING("IssuerCertificates"); +variablenode_ns_0_i_12617_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12617_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_12617_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_12617_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_12617_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12617_variant_DataContents[4].name = UA_STRING("PrivateKeyFormat"); +variablenode_ns_0_i_12617_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_12617_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12617_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12617_variant_DataContents[5].name = UA_STRING("PrivateKey"); +variablenode_ns_0_i_12617_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12617_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12617_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12617LU), +UA_NODEID_NUMERIC(ns[0], 12616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1378_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12617LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* MulticastDnsEnabled - ns=0;i=12585 */ + +static UA_StatusCode function_namespace0_generated_1379_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MulticastDnsEnabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12585LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MulticastDnsEnabled"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1379_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12585LU) +); +} + +/* MaxTrustListSize - ns=0;i=12584 */ + +static UA_StatusCode function_namespace0_generated_1380_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxTrustListSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12584LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxTrustListSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1380_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12584LU) +); +} + +/* SupportedPrivateKeyFormats - ns=0;i=12583 */ + +static UA_StatusCode function_namespace0_generated_1381_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedPrivateKeyFormats"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12583LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedPrivateKeyFormats"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1381_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12583LU) +); +} + +/* TransactionDiagnosticsType - ns=0;i=32286 */ + +static UA_StatusCode function_namespace0_generated_1382_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransactionDiagnosticsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransactionDiagnosticsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1382_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32286LU) +); +} + +/* TransactionDiagnostics - ns=0;i=32299 */ + +static UA_StatusCode function_namespace0_generated_1383_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransactionDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransactionDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 32286LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1383_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32299LU) +); +} + +/* Errors - ns=0;i=32305 */ + +static UA_StatusCode function_namespace0_generated_1384_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 32285LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Errors"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32305LU), +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Errors"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1384_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32305LU) +); +} + +/* AffectedCertificateGroups - ns=0;i=32304 */ + +static UA_StatusCode function_namespace0_generated_1385_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AffectedCertificateGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32304LU), +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AffectedCertificateGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1385_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32304LU) +); +} + +/* AffectedTrustLists - ns=0;i=32303 */ + +static UA_StatusCode function_namespace0_generated_1386_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AffectedTrustLists"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32303LU), +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AffectedTrustLists"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1386_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32303LU) +); +} + +/* Result - ns=0;i=32302 */ + +static UA_StatusCode function_namespace0_generated_1387_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Result"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32302LU), +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Result"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1387_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32302LU) +); +} + +/* EndTime - ns=0;i=32301 */ + +static UA_StatusCode function_namespace0_generated_1388_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32301LU), +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1388_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32301LU) +); +} + +/* StartTime - ns=0;i=32300 */ + +static UA_StatusCode function_namespace0_generated_1389_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32300LU), +UA_NODEID_NUMERIC(ns[0], 32299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1389_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32300LU) +); +} + +/* Errors - ns=0;i=32292 */ + +static UA_StatusCode function_namespace0_generated_1390_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 32285LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Errors"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32292LU), +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Errors"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1390_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32292LU) +); +} + +/* AffectedCertificateGroups - ns=0;i=32291 */ + +static UA_StatusCode function_namespace0_generated_1391_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AffectedCertificateGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32291LU), +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AffectedCertificateGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1391_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32291LU) +); +} + +/* AffectedTrustLists - ns=0;i=32290 */ + +static UA_StatusCode function_namespace0_generated_1392_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AffectedTrustLists"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32290LU), +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AffectedTrustLists"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1392_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32290LU) +); +} + +/* Result - ns=0;i=32289 */ + +static UA_StatusCode function_namespace0_generated_1393_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Result"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32289LU), +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Result"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1393_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32289LU) +); +} + +/* EndTime - ns=0;i=32288 */ + +static UA_StatusCode function_namespace0_generated_1394_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32288LU), +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1394_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32288LU) +); +} + +/* StartTime - ns=0;i=32287 */ + +static UA_StatusCode function_namespace0_generated_1395_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32287LU), +UA_NODEID_NUMERIC(ns[0], 32286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1395_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32287LU) +); +} + +/* CertificateType - ns=0;i=12556 */ + +static UA_StatusCode function_namespace0_generated_1396_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12556LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1396_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12556LU) +); +} + +/* UserCredentialCertificateType - ns=0;i=15181 */ + +static UA_StatusCode function_namespace0_generated_1397_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserCredentialCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15181LU), +UA_NODEID_NUMERIC(ns[0], 12556LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UserCredentialCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1397_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15181LU) +); +} + +/* HttpsCertificateType - ns=0;i=12558 */ + +static UA_StatusCode function_namespace0_generated_1398_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HttpsCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12558LU), +UA_NODEID_NUMERIC(ns[0], 12556LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HttpsCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1398_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12558LU) +); +} + +/* ApplicationCertificateType - ns=0;i=12557 */ + +static UA_StatusCode function_namespace0_generated_1399_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12557LU), +UA_NODEID_NUMERIC(ns[0], 12556LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1399_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12557LU) +); +} + +/* EccApplicationCertificateType - ns=0;i=23537 */ + +static UA_StatusCode function_namespace0_generated_1400_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 12557LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1400_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23537LU) +); +} + +/* EccCurve448ApplicationCertificateType - ns=0;i=23543 */ + +static UA_StatusCode function_namespace0_generated_1401_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccCurve448ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23543LU), +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccCurve448ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1401_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23543LU) +); +} + +/* EccCurve25519ApplicationCertificateType - ns=0;i=23542 */ + +static UA_StatusCode function_namespace0_generated_1402_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccCurve25519ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23542LU), +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccCurve25519ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1402_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23542LU) +); +} + +/* EccBrainpoolP384r1ApplicationCertificateType - ns=0;i=23541 */ + +static UA_StatusCode function_namespace0_generated_1403_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccBrainpoolP384r1ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23541LU), +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccBrainpoolP384r1ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1403_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23541LU) +); +} + +/* EccBrainpoolP256r1ApplicationCertificateType - ns=0;i=23540 */ + +static UA_StatusCode function_namespace0_generated_1404_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccBrainpoolP256r1ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23540LU), +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccBrainpoolP256r1ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1404_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23540LU) +); +} + +/* EccNistP384ApplicationCertificateType - ns=0;i=23539 */ + +static UA_StatusCode function_namespace0_generated_1405_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccNistP384ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23539LU), +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccNistP384ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1405_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23539LU) +); +} + +/* EccNistP256ApplicationCertificateType - ns=0;i=23538 */ + +static UA_StatusCode function_namespace0_generated_1406_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EccNistP256ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23538LU), +UA_NODEID_NUMERIC(ns[0], 23537LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EccNistP256ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1406_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23538LU) +); +} + +/* RsaSha256ApplicationCertificateType - ns=0;i=12560 */ + +static UA_StatusCode function_namespace0_generated_1407_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RsaSha256ApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12560LU), +UA_NODEID_NUMERIC(ns[0], 12557LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RsaSha256ApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1407_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12560LU) +); +} + +/* RsaMinApplicationCertificateType - ns=0;i=12559 */ + +static UA_StatusCode function_namespace0_generated_1408_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RsaMinApplicationCertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12559LU), +UA_NODEID_NUMERIC(ns[0], 12557LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RsaMinApplicationCertificateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1408_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12559LU) +); +} + +/* CertificateGroupFolderType - ns=0;i=13813 */ + +static UA_StatusCode function_namespace0_generated_1409_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroupFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 13813LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CertificateGroupFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1409_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13813LU) +); +} + +/* CertificateGroups - ns=0;i=26879 */ + +static UA_StatusCode function_namespace0_generated_1410_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 26879LU), +UA_NODEID_NUMERIC(ns[0], 26878LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CertificateGroups"), +UA_NODEID_NUMERIC(ns[0], 13813LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1410_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26879LU) +); +} + +/* CertificateGroups - ns=0;i=13950 */ + +static UA_StatusCode function_namespace0_generated_1411_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13950LU), +UA_NODEID_NUMERIC(ns[0], 12581LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CertificateGroups"), +UA_NODEID_NUMERIC(ns[0], 13813LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1411_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13950LU) +); +} + +/* CertificateGroupType - ns=0;i=12555 */ + +static UA_StatusCode function_namespace0_generated_1412_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12555LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CertificateGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1412_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12555LU) +); +} + +/* DefaultApplicationGroup - ns=0;i=26880 */ + +static UA_StatusCode function_namespace0_generated_1413_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 26880LU), +UA_NODEID_NUMERIC(ns[0], 26879LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1413_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26880LU) +); +} + +/* CertificateTypes - ns=0;i=26917 */ + +static UA_StatusCode function_namespace0_generated_1414_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26917LU), +UA_NODEID_NUMERIC(ns[0], 26880LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1414_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26917LU) +); +} + +/* GetRejectedList - ns=0;i=23526 */ + +static UA_StatusCode function_namespace0_generated_1415_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 23526LU), +UA_NODEID_NUMERIC(ns[0], 12555LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1415_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23526LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=23527 */ + +static UA_StatusCode function_namespace0_generated_1416_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_23527_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_23527_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_23527_variant_DataContents[0].name = UA_STRING("Certificates"); +variablenode_ns_0_i_23527_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_23527_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_23527_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_23527_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23527_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23527LU), +UA_NODEID_NUMERIC(ns[0], 23526LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1416_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23527LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DefaultApplicationGroup - ns=0;i=13951 */ + +static UA_StatusCode function_namespace0_generated_1417_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13951LU), +UA_NODEID_NUMERIC(ns[0], 13950LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1417_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13951LU) +); +} + +/* CertificateTypes - ns=0;i=13984 */ + +static UA_StatusCode function_namespace0_generated_1418_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13984LU), +UA_NODEID_NUMERIC(ns[0], 13951LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1418_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13984LU) +); +} + +/* - ns=0;i=13916 */ + +static UA_StatusCode function_namespace0_generated_1419_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13916LU), +UA_NODEID_NUMERIC(ns[0], 13813LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1419_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13916LU) +); +} + +/* CertificateTypes - ns=0;i=13949 */ + +static UA_StatusCode function_namespace0_generated_1420_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13949LU), +UA_NODEID_NUMERIC(ns[0], 13916LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1420_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13949LU) +); +} + +/* DefaultUserTokenGroup - ns=0;i=13882 */ + +static UA_StatusCode function_namespace0_generated_1421_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserTokenGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13882LU), +UA_NODEID_NUMERIC(ns[0], 13813LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultUserTokenGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1421_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13882LU) +); +} + +/* CertificateTypes - ns=0;i=13915 */ + +static UA_StatusCode function_namespace0_generated_1422_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13915LU), +UA_NODEID_NUMERIC(ns[0], 13882LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1422_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13915LU) +); +} + +/* DefaultHttpsGroup - ns=0;i=13848 */ + +static UA_StatusCode function_namespace0_generated_1423_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultHttpsGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13848LU), +UA_NODEID_NUMERIC(ns[0], 13813LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultHttpsGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1423_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13848LU) +); +} + +/* CertificateTypes - ns=0;i=13881 */ + +static UA_StatusCode function_namespace0_generated_1424_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13881LU), +UA_NODEID_NUMERIC(ns[0], 13848LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1424_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13881LU) +); +} + +/* DefaultApplicationGroup - ns=0;i=13814 */ + +static UA_StatusCode function_namespace0_generated_1425_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13814LU), +UA_NODEID_NUMERIC(ns[0], 13813LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1425_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13814LU) +); +} + +/* CertificateTypes - ns=0;i=13847 */ + +static UA_StatusCode function_namespace0_generated_1426_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13847LU), +UA_NODEID_NUMERIC(ns[0], 13814LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1426_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13847LU) +); +} + +/* CertificateTypes - ns=0;i=13631 */ + +static UA_StatusCode function_namespace0_generated_1427_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13631LU), +UA_NODEID_NUMERIC(ns[0], 12555LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1427_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13631LU) +); +} + +/* HistoryServerCapabilitiesType - ns=0;i=2330 */ + +static UA_StatusCode function_namespace0_generated_1428_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryServerCapabilitiesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HistoryServerCapabilitiesType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1428_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2330LU) +); +} + +/* DeleteAtTimeCapability - ns=0;i=2338 */ + +static UA_StatusCode function_namespace0_generated_1429_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteAtTimeCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2338LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DeleteAtTimeCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1429_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2338LU) +); +} + +/* DeleteRawCapability - ns=0;i=2337 */ + +static UA_StatusCode function_namespace0_generated_1430_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteRawCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2337LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DeleteRawCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1430_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2337LU) +); +} + +/* UpdateDataCapability - ns=0;i=2336 */ + +static UA_StatusCode function_namespace0_generated_1431_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2336LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1431_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2336LU) +); +} + +/* ReplaceDataCapability - ns=0;i=2335 */ + +static UA_StatusCode function_namespace0_generated_1432_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2335LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReplaceDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1432_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2335LU) +); +} + +/* InsertDataCapability - ns=0;i=2334 */ + +static UA_StatusCode function_namespace0_generated_1433_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InsertDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2334LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InsertDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1433_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2334LU) +); +} + +/* AccessHistoryEventsCapability - ns=0;i=2332 */ + +static UA_StatusCode function_namespace0_generated_1434_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryEventsCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2332LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AccessHistoryEventsCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1434_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2332LU) +); +} + +/* AccessHistoryDataCapability - ns=0;i=2331 */ + +static UA_StatusCode function_namespace0_generated_1435_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2331LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AccessHistoryDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1435_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2331LU) +); +} + +/* ServerTimestampSupported - ns=0;i=19094 */ + +static UA_StatusCode function_namespace0_generated_1436_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerTimestampSupported"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19094LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerTimestampSupported"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1436_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19094LU) +); +} + +/* DeleteEventCapability - ns=0;i=11501 */ + +static UA_StatusCode function_namespace0_generated_1437_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11501LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DeleteEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1437_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11501LU) +); +} + +/* UpdateEventCapability - ns=0;i=11280 */ + +static UA_StatusCode function_namespace0_generated_1438_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11280LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1438_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11280LU) +); +} + +/* ReplaceEventCapability - ns=0;i=11279 */ + +static UA_StatusCode function_namespace0_generated_1439_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11279LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReplaceEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1439_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11279LU) +); +} + +/* InsertEventCapability - ns=0;i=11278 */ + +static UA_StatusCode function_namespace0_generated_1440_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InsertEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11278LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InsertEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1440_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11278LU) +); +} + +/* InsertAnnotationCapability - ns=0;i=11270 */ + +static UA_StatusCode function_namespace0_generated_1441_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InsertAnnotationCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11270LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InsertAnnotationCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1441_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11270LU) +); +} + +/* MaxReturnEventValues - ns=0;i=11269 */ + +static UA_StatusCode function_namespace0_generated_1442_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnEventValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11269LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReturnEventValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1442_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11269LU) +); +} + +/* MaxReturnDataValues - ns=0;i=11268 */ + +static UA_StatusCode function_namespace0_generated_1443_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnDataValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11268LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReturnDataValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1443_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11268LU) +); +} + +/* AggregateFunctions - ns=0;i=11172 */ + +static UA_StatusCode function_namespace0_generated_1444_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11172LU), +UA_NODEID_NUMERIC(ns[0], 2330LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1444_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11172LU) +); +} + +/* HistoricalEventFilter - ns=0;i=11215 */ + +static UA_StatusCode function_namespace0_generated_1445_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 725LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoricalEventFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11215LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "HistoricalEventFilter"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1445_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11215LU) +); +} + +/* HistoricalDataConfigurationType - ns=0;i=2318 */ + +static UA_StatusCode function_namespace0_generated_1446_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HistoricalDataConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HistoricalDataConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1446_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2318LU) +); +} + +/* AggregateConfiguration - ns=0;i=3059 */ + +static UA_StatusCode function_namespace0_generated_1447_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3059LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), +UA_NODEID_NUMERIC(ns[0], 11187LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1447_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3059LU) +); +} + +/* UseSlopedExtrapolation - ns=0;i=11171 */ + +static UA_StatusCode function_namespace0_generated_1448_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UseSlopedExtrapolation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11171LU), +UA_NODEID_NUMERIC(ns[0], 3059LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UseSlopedExtrapolation"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1448_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11171LU) +); +} + +/* PercentDataGood - ns=0;i=11170 */ + +static UA_StatusCode function_namespace0_generated_1449_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataGood"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11170LU), +UA_NODEID_NUMERIC(ns[0], 3059LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PercentDataGood"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1449_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11170LU) +); +} + +/* PercentDataBad - ns=0;i=11169 */ + +static UA_StatusCode function_namespace0_generated_1450_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11169LU), +UA_NODEID_NUMERIC(ns[0], 3059LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PercentDataBad"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1450_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11169LU) +); +} + +/* TreatUncertainAsBad - ns=0;i=11168 */ + +static UA_StatusCode function_namespace0_generated_1451_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TreatUncertainAsBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11168LU), +UA_NODEID_NUMERIC(ns[0], 3059LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TreatUncertainAsBad"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1451_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11168LU) +); +} + +/* ExceptionDeviationFormat - ns=0;i=2328 */ + +static UA_StatusCode function_namespace0_generated_1452_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 890LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExceptionDeviationFormat"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2328LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ExceptionDeviationFormat"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1452_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2328LU) +); +} + +/* ExceptionDeviation - ns=0;i=2327 */ + +static UA_StatusCode function_namespace0_generated_1453_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExceptionDeviation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2327LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ExceptionDeviation"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1453_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2327LU) +); +} + +/* MinTimeInterval - ns=0;i=2326 */ + +static UA_StatusCode function_namespace0_generated_1454_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MinTimeInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2326LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MinTimeInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1454_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2326LU) +); +} + +/* MaxTimeInterval - ns=0;i=2325 */ + +static UA_StatusCode function_namespace0_generated_1455_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxTimeInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2325LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxTimeInterval"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1455_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2325LU) +); +} + +/* Definition - ns=0;i=2324 */ + +static UA_StatusCode function_namespace0_generated_1456_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Definition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2324LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Definition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1456_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2324LU) +); +} + +/* Stepped - ns=0;i=2323 */ + +static UA_StatusCode function_namespace0_generated_1457_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Stepped"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2323LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Stepped"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1457_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2323LU) +); +} + +/* ServerTimestampSupported - ns=0;i=19092 */ + +static UA_StatusCode function_namespace0_generated_1458_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerTimestampSupported"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19092LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerTimestampSupported"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1458_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19092LU) +); +} + +/* AggregateFunctions - ns=0;i=11876 */ + +static UA_StatusCode function_namespace0_generated_1459_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11876LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1459_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11876LU) +); +} + +/* StartOfOnlineArchive - ns=0;i=11500 */ + +static UA_StatusCode function_namespace0_generated_1460_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartOfOnlineArchive"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11500LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StartOfOnlineArchive"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1460_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11500LU) +); +} + +/* StartOfArchive - ns=0;i=11499 */ + +static UA_StatusCode function_namespace0_generated_1461_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartOfArchive"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11499LU), +UA_NODEID_NUMERIC(ns[0], 2318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StartOfArchive"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1461_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11499LU) +); +} + +/* HA Configuration - ns=0;i=11202 */ + +static UA_StatusCode function_namespace0_generated_1462_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HA Configuration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11202LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "HA Configuration"), +UA_NODEID_NUMERIC(ns[0], 2318LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1462_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11202LU) +); +} + +/* Stepped - ns=0;i=11208 */ + +static UA_StatusCode function_namespace0_generated_1463_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Stepped"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11208LU), +UA_NODEID_NUMERIC(ns[0], 11202LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Stepped"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1463_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11208LU) +); +} + +/* AggregateConfiguration - ns=0;i=11203 */ + +static UA_StatusCode function_namespace0_generated_1464_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11203LU), +UA_NODEID_NUMERIC(ns[0], 11202LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), +UA_NODEID_NUMERIC(ns[0], 11187LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1464_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11203LU) +); +} + +/* UseSlopedExtrapolation - ns=0;i=11207 */ + +static UA_StatusCode function_namespace0_generated_1465_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UseSlopedExtrapolation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11207LU), +UA_NODEID_NUMERIC(ns[0], 11203LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UseSlopedExtrapolation"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1465_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11207LU) +); +} + +/* PercentDataGood - ns=0;i=11206 */ + +static UA_StatusCode function_namespace0_generated_1466_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataGood"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11206LU), +UA_NODEID_NUMERIC(ns[0], 11203LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PercentDataGood"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1466_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11206LU) +); +} + +/* PercentDataBad - ns=0;i=11205 */ + +static UA_StatusCode function_namespace0_generated_1467_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11205LU), +UA_NODEID_NUMERIC(ns[0], 11203LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PercentDataBad"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1467_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11205LU) +); +} + +/* TreatUncertainAsBad - ns=0;i=11204 */ + +static UA_StatusCode function_namespace0_generated_1468_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TreatUncertainAsBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11204LU), +UA_NODEID_NUMERIC(ns[0], 11203LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TreatUncertainAsBad"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1468_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11204LU) +); +} + +/* Annotations - ns=0;i=11214 */ + +static UA_StatusCode function_namespace0_generated_1469_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 891LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Annotations"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11214LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Annotations"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1469_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11214LU) +); +} + +/* ProgramDiagnostic2Type - ns=0;i=15383 */ + +static UA_StatusCode function_namespace0_generated_1470_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24033LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2Type"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2Type"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1470_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15383LU) +); +} + +/* LastMethodReturnStatus - ns=0;i=15395 */ + +static UA_StatusCode function_namespace0_generated_1471_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodReturnStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15395LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodReturnStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1471_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15395LU) +); +} + +/* LastMethodCallTime - ns=0;i=15394 */ + +static UA_StatusCode function_namespace0_generated_1472_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCallTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15394LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodCallTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1472_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15394LU) +); +} + +/* LastMethodOutputValues - ns=0;i=15393 */ + +static UA_StatusCode function_namespace0_generated_1473_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15393LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodOutputValues"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1473_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15393LU) +); +} + +/* LastMethodInputValues - ns=0;i=15392 */ + +static UA_StatusCode function_namespace0_generated_1474_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15392LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodInputValues"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1474_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15392LU) +); +} + +/* LastMethodOutputArguments - ns=0;i=15391 */ + +static UA_StatusCode function_namespace0_generated_1475_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15391LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodOutputArguments"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1475_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15391LU) +); +} + +/* LastMethodInputArguments - ns=0;i=15390 */ + +static UA_StatusCode function_namespace0_generated_1476_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15390LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodInputArguments"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1476_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15390LU) +); +} + +/* LastMethodSessionId - ns=0;i=15389 */ + +static UA_StatusCode function_namespace0_generated_1477_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodSessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15389LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodSessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1477_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15389LU) +); +} + +/* LastMethodCall - ns=0;i=15388 */ + +static UA_StatusCode function_namespace0_generated_1478_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15388LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodCall"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1478_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15388LU) +); +} + +/* LastTransitionTime - ns=0;i=15387 */ + +static UA_StatusCode function_namespace0_generated_1479_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15387LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1479_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15387LU) +); +} + +/* InvocationCreationTime - ns=0;i=15386 */ + +static UA_StatusCode function_namespace0_generated_1480_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InvocationCreationTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15386LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "InvocationCreationTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1480_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15386LU) +); +} + +/* CreateClientName - ns=0;i=15385 */ + +static UA_StatusCode function_namespace0_generated_1481_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateClientName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15385LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateClientName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1481_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15385LU) +); +} + +/* CreateSessionId - ns=0;i=15384 */ + +static UA_StatusCode function_namespace0_generated_1482_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15384LU), +UA_NODEID_NUMERIC(ns[0], 15383LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1482_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15384LU) +); +} + +/* ProgramDiagnosticType - ns=0;i=2380 */ + +static UA_StatusCode function_namespace0_generated_1483_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 894LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1483_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2380LU) +); +} + +/* LastMethodReturnStatus - ns=0;i=2390 */ + +static UA_StatusCode function_namespace0_generated_1484_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 299LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodReturnStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2390LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodReturnStatus"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1484_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2390LU) +); +} + +/* LastMethodCallTime - ns=0;i=2389 */ + +static UA_StatusCode function_namespace0_generated_1485_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCallTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2389LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodCallTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1485_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2389LU) +); +} + +/* LastMethodOutputArguments - ns=0;i=2388 */ + +static UA_StatusCode function_namespace0_generated_1486_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2388LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodOutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1486_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2388LU) +); +} + +/* LastMethodInputArguments - ns=0;i=2387 */ + +static UA_StatusCode function_namespace0_generated_1487_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2387LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodInputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1487_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2387LU) +); +} + +/* LastMethodSessionId - ns=0;i=2386 */ + +static UA_StatusCode function_namespace0_generated_1488_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodSessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2386LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodSessionId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1488_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2386LU) +); +} + +/* LastMethodCall - ns=0;i=2385 */ + +static UA_StatusCode function_namespace0_generated_1489_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2385LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodCall"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1489_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2385LU) +); +} + +/* LastTransitionTime - ns=0;i=2384 */ + +static UA_StatusCode function_namespace0_generated_1490_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2384LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1490_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2384LU) +); +} + +/* InvocationCreationTime - ns=0;i=2383 */ + +static UA_StatusCode function_namespace0_generated_1491_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InvocationCreationTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2383LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InvocationCreationTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1491_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2383LU) +); +} + +/* CreateClientName - ns=0;i=2382 */ + +static UA_StatusCode function_namespace0_generated_1492_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateClientName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2382LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CreateClientName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1492_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2382LU) +); +} + +/* CreateSessionId - ns=0;i=2381 */ + +static UA_StatusCode function_namespace0_generated_1493_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2381LU), +UA_NODEID_NUMERIC(ns[0], 2380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CreateSessionId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1493_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2381LU) +); +} + +/* AlarmStateVariableType - ns=0;i=32244 */ + +static UA_StatusCode function_namespace0_generated_1494_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 32251LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmStateVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmStateVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1494_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32244LU) +); +} + +/* Filter - ns=0;i=32250 */ + +static UA_StatusCode function_namespace0_generated_1495_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Filter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32250LU), +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Filter"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1495_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32250LU) +); +} + +/* UnconfirmedCount - ns=0;i=32249 */ + +static UA_StatusCode function_namespace0_generated_1496_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnconfirmedCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32249LU), +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UnconfirmedCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1496_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32249LU) +); +} + +/* UnacknowledgedCount - ns=0;i=32248 */ + +static UA_StatusCode function_namespace0_generated_1497_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnacknowledgedCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32248LU), +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UnacknowledgedCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1497_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32248LU) +); +} + +/* ActiveCount - ns=0;i=32247 */ + +static UA_StatusCode function_namespace0_generated_1498_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32247LU), +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ActiveCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1498_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32247LU) +); +} + +/* HighestUnackSeverity - ns=0;i=32246 */ + +static UA_StatusCode function_namespace0_generated_1499_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighestUnackSeverity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32246LU), +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HighestUnackSeverity"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1499_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32246LU) +); +} + +/* HighestActiveSeverity - ns=0;i=32245 */ + +static UA_StatusCode function_namespace0_generated_1500_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighestActiveSeverity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32245LU), +UA_NODEID_NUMERIC(ns[0], 32244LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HighestActiveSeverity"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1500_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32245LU) +); +} + +/* AlarmRateVariableType - ns=0;i=17277 */ + +static UA_StatusCode function_namespace0_generated_1501_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmRateVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17277LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmRateVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1501_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17277LU) +); +} + +/* Rate - ns=0;i=17278 */ + +static UA_StatusCode function_namespace0_generated_1502_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17278LU), +UA_NODEID_NUMERIC(ns[0], 17277LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Rate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1502_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17278LU) +); +} + +/* AlarmMetricsType - ns=0;i=17279 */ + +static UA_StatusCode function_namespace0_generated_1503_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmMetricsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmMetricsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1503_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17279LU) +); +} + +/* Reset - ns=0;i=18666 */ + +static UA_StatusCode function_namespace0_generated_1504_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 18666LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1504_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18666LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* StartTime - ns=0;i=17991 */ + +static UA_StatusCode function_namespace0_generated_1505_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17991LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1505_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17991LU) +); +} + +/* AverageAlarmRate - ns=0;i=17288 */ + +static UA_StatusCode function_namespace0_generated_1506_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AverageAlarmRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17288LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AverageAlarmRate"), +UA_NODEID_NUMERIC(ns[0], 17277LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1506_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17288LU) +); +} + +/* Rate - ns=0;i=17289 */ + +static UA_StatusCode function_namespace0_generated_1507_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17289LU), +UA_NODEID_NUMERIC(ns[0], 17288LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Rate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1507_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17289LU) +); +} + +/* MaximumAlarmRate - ns=0;i=17286 */ + +static UA_StatusCode function_namespace0_generated_1508_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaximumAlarmRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17286LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaximumAlarmRate"), +UA_NODEID_NUMERIC(ns[0], 17277LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1508_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17286LU) +); +} + +/* Rate - ns=0;i=17287 */ + +static UA_StatusCode function_namespace0_generated_1509_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17287LU), +UA_NODEID_NUMERIC(ns[0], 17286LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Rate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1509_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17287LU) +); +} + +/* CurrentAlarmRate - ns=0;i=17284 */ + +static UA_StatusCode function_namespace0_generated_1510_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentAlarmRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17284LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentAlarmRate"), +UA_NODEID_NUMERIC(ns[0], 17277LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1510_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17284LU) +); +} + +/* Rate - ns=0;i=17285 */ + +static UA_StatusCode function_namespace0_generated_1511_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17285LU), +UA_NODEID_NUMERIC(ns[0], 17284LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Rate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1511_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17285LU) +); +} + +/* MaximumReAlarmCount - ns=0;i=17283 */ + +static UA_StatusCode function_namespace0_generated_1512_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaximumReAlarmCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17283LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaximumReAlarmCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1512_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17283LU) +); +} + +/* MaximumUnAck - ns=0;i=17282 */ + +static UA_StatusCode function_namespace0_generated_1513_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaximumUnAck"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17282LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaximumUnAck"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1513_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17282LU) +); +} + +/* MaximumActiveState - ns=0;i=17281 */ + +static UA_StatusCode function_namespace0_generated_1514_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaximumActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17281LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaximumActiveState"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1514_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17281LU) +); +} + +/* AlarmCount - ns=0;i=17280 */ + +static UA_StatusCode function_namespace0_generated_1515_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17280LU), +UA_NODEID_NUMERIC(ns[0], 17279LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AlarmCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1515_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17280LU) +); +} + +/* BaseConditionClassType - ns=0;i=11163 */ + +static UA_StatusCode function_namespace0_generated_1516_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "BaseConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BaseConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1516_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11163LU) +); +} + +/* StatisticalConditionClassType - ns=0;i=18665 */ + +static UA_StatusCode function_namespace0_generated_1517_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "StatisticalConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18665LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StatisticalConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1517_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18665LU) +); +} + +/* TestingConditionClassType - ns=0;i=17221 */ + +static UA_StatusCode function_namespace0_generated_1518_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TestingConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17221LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TestingConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1518_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17221LU) +); +} + +/* TrainingConditionClassType - ns=0;i=17220 */ + +static UA_StatusCode function_namespace0_generated_1519_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TrainingConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17220LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrainingConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1519_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17220LU) +); +} + +/* HighlyManagedAlarmConditionClassType - ns=0;i=17219 */ + +static UA_StatusCode function_namespace0_generated_1520_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "HighlyManagedAlarmConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17219LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "HighlyManagedAlarmConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1520_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17219LU) +); +} + +/* SafetyConditionClassType - ns=0;i=17218 */ + +static UA_StatusCode function_namespace0_generated_1521_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SafetyConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17218LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SafetyConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1521_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17218LU) +); +} + +/* SystemConditionClassType - ns=0;i=11166 */ + +static UA_StatusCode function_namespace0_generated_1522_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SystemConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11166LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SystemConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1522_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11166LU) +); +} + +/* MaintenanceConditionClassType - ns=0;i=11165 */ + +static UA_StatusCode function_namespace0_generated_1523_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "MaintenanceConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11165LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MaintenanceConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1523_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11165LU) +); +} + +/* ProcessConditionClassType - ns=0;i=11164 */ + +static UA_StatusCode function_namespace0_generated_1524_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ProcessConditionClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11164LU), +UA_NODEID_NUMERIC(ns[0], 11163LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProcessConditionClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1524_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11164LU) +); +} + +/* AlarmGroupType - ns=0;i=16405 */ + +static UA_StatusCode function_namespace0_generated_1525_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 16405LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1525_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16405LU) +); +} + +/* AlarmSuppressionGroupType - ns=0;i=32064 */ + +static UA_StatusCode function_namespace0_generated_1526_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmSuppressionGroupType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 32064LU), +UA_NODEID_NUMERIC(ns[0], 16405LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmSuppressionGroupType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1526_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32064LU) +); +} + +/* - ns=0;i=32226 */ + +static UA_StatusCode function_namespace0_generated_1527_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32226LU), +UA_NODEID_NUMERIC(ns[0], 32064LU), +UA_NODEID_NUMERIC(ns[0], 32059LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1527_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32226LU) +); +} + +/* ConditionType - ns=0;i=2782 */ + +static UA_StatusCode function_namespace0_generated_1528_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ConditionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1528_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2782LU) +); +} + +/* AddComment - ns=0;i=9029 */ + +static UA_StatusCode function_namespace0_generated_1529_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9029LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddComment"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1529_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9029LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=9030 */ + +static UA_StatusCode function_namespace0_generated_1530_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_9030_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_9030_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9030_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_9030_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_9030_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_9030_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_9030_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9030_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_9030_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_9030_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_9030_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9030_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9030LU), +UA_NODEID_NUMERIC(ns[0], 9029LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1530_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9030LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Disable - ns=0;i=9028 */ + +static UA_StatusCode function_namespace0_generated_1531_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9028LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Disable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1531_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9028LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Enable - ns=0;i=9027 */ + +static UA_StatusCode function_namespace0_generated_1532_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9027LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Enable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1532_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9027LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ClientUserId - ns=0;i=9026 */ + +static UA_StatusCode function_namespace0_generated_1533_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9026LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1533_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9026LU) +); +} + +/* BranchId - ns=0;i=9010 */ + +static UA_StatusCode function_namespace0_generated_1534_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9010LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BranchId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1534_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9010LU) +); +} + +/* ConditionName - ns=0;i=9009 */ + +static UA_StatusCode function_namespace0_generated_1535_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9009LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1535_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9009LU) +); +} + +/* ConditionRefresh - ns=0;i=3875 */ + +static UA_StatusCode function_namespace0_generated_1536_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionRefresh"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 3875LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConditionRefresh"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1536_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3875LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=3876 */ + +static UA_StatusCode function_namespace0_generated_1537_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_3876_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_3876_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_3876_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_3876_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_3876_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_3876_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the subscription to refresh."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_3876_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3876LU), +UA_NODEID_NUMERIC(ns[0], 3875LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1537_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3876LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Retain - ns=0;i=3874 */ + +static UA_StatusCode function_namespace0_generated_1538_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3874LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Retain"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1538_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3874LU) +); +} + +/* SupportsFilteredRetain - ns=0;i=32060 */ + +static UA_StatusCode function_namespace0_generated_1539_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportsFilteredRetain"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32060LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportsFilteredRetain"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1539_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32060LU) +); +} + +/* AcknowledgeableConditionType - ns=0;i=2881 */ + +static UA_StatusCode function_namespace0_generated_1540_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AcknowledgeableConditionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AcknowledgeableConditionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1540_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2881LU) +); +} + +/* Confirm - ns=0;i=9113 */ + +static UA_StatusCode function_namespace0_generated_1541_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Confirm"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9113LU), +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Confirm"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1541_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9113LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=9114 */ + +static UA_StatusCode function_namespace0_generated_1542_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_9114_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_9114_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9114_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_9114_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_9114_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_9114_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_9114_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9114_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_9114_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_9114_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_9114_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9114_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9114LU), +UA_NODEID_NUMERIC(ns[0], 9113LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1542_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9114LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Acknowledge - ns=0;i=9111 */ + +static UA_StatusCode function_namespace0_generated_1543_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9111LU), +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Acknowledge"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1543_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9111LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=9112 */ + +static UA_StatusCode function_namespace0_generated_1544_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_9112_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_9112_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9112_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_9112_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_9112_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_9112_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_9112_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9112_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_9112_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_9112_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_9112_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9112_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9112LU), +UA_NODEID_NUMERIC(ns[0], 9111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1544_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9112LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AlarmConditionType - ns=0;i=2915 */ + +static UA_StatusCode function_namespace0_generated_1545_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AlarmConditionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AlarmConditionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1545_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2915LU) +); +} + +/* MaxTimeShelved - ns=0;i=9216 */ + +static UA_StatusCode function_namespace0_generated_1546_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxTimeShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9216LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxTimeShelved"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1546_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9216LU) +); +} + +/* SuppressedOrShelved - ns=0;i=9215 */ + +static UA_StatusCode function_namespace0_generated_1547_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9215LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1547_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9215LU) +); +} + +/* LimitAlarmType - ns=0;i=2955 */ + +static UA_StatusCode function_namespace0_generated_1548_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LimitAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "LimitAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1548_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2955LU) +); +} + +/* NonExclusiveLimitAlarmType - ns=0;i=9906 */ + +static UA_StatusCode function_namespace0_generated_1549_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveLimitAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NonExclusiveLimitAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1549_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9906LU) +); +} + +/* NonExclusiveDeviationAlarmType - ns=0;i=10368 */ + +static UA_StatusCode function_namespace0_generated_1550_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveDeviationAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 10368LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NonExclusiveDeviationAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1550_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10368LU) +); +} + +/* BaseSetpointNode - ns=0;i=16776 */ + +static UA_StatusCode function_namespace0_generated_1551_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseSetpointNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16776LU), +UA_NODEID_NUMERIC(ns[0], 10368LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BaseSetpointNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1551_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16776LU) +); +} + +/* SetpointNode - ns=0;i=10522 */ + +static UA_StatusCode function_namespace0_generated_1552_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetpointNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10522LU), +UA_NODEID_NUMERIC(ns[0], 10368LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SetpointNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1552_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10522LU) +); +} + +/* NonExclusiveRateOfChangeAlarmType - ns=0;i=10214 */ + +static UA_StatusCode function_namespace0_generated_1553_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveRateOfChangeAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 10214LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NonExclusiveRateOfChangeAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1553_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10214LU) +); +} + +/* EngineeringUnits - ns=0;i=16858 */ + +static UA_StatusCode function_namespace0_generated_1554_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16858LU), +UA_NODEID_NUMERIC(ns[0], 10214LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1554_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16858LU) +); +} + +/* NonExclusiveLevelAlarmType - ns=0;i=10060 */ + +static UA_StatusCode function_namespace0_generated_1555_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveLevelAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 10060LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NonExclusiveLevelAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1555_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10060LU) +); +} + +/* ExclusiveLimitAlarmType - ns=0;i=9341 */ + +static UA_StatusCode function_namespace0_generated_1556_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveLimitAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 9341LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExclusiveLimitAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1556_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9341LU) +); +} + +/* ExclusiveDeviationAlarmType - ns=0;i=9764 */ + +static UA_StatusCode function_namespace0_generated_1557_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveDeviationAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 9764LU), +UA_NODEID_NUMERIC(ns[0], 9341LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExclusiveDeviationAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1557_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9764LU) +); +} + +/* SetpointNode - ns=0;i=9905 */ + +static UA_StatusCode function_namespace0_generated_1558_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetpointNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9905LU), +UA_NODEID_NUMERIC(ns[0], 9764LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SetpointNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1558_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9905LU) +); +} + +/* BaseSetpointNode - ns=0;i=16817 */ + +static UA_StatusCode function_namespace0_generated_1559_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseSetpointNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16817LU), +UA_NODEID_NUMERIC(ns[0], 9764LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BaseSetpointNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1559_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16817LU) +); +} + +/* ExclusiveRateOfChangeAlarmType - ns=0;i=9623 */ + +static UA_StatusCode function_namespace0_generated_1560_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveRateOfChangeAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 9623LU), +UA_NODEID_NUMERIC(ns[0], 9341LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExclusiveRateOfChangeAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1560_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9623LU) +); +} + +/* EngineeringUnits - ns=0;i=16899 */ + +static UA_StatusCode function_namespace0_generated_1561_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16899LU), +UA_NODEID_NUMERIC(ns[0], 9623LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1561_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16899LU) +); +} + +/* ExclusiveLevelAlarmType - ns=0;i=9482 */ + +static UA_StatusCode function_namespace0_generated_1562_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveLevelAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 9482LU), +UA_NODEID_NUMERIC(ns[0], 9341LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExclusiveLevelAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1562_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9482LU) +); +} + +/* LowLowDeadband - ns=0;i=24777 */ + +static UA_StatusCode function_namespace0_generated_1563_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LowLowDeadband"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24777LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LowLowDeadband"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1563_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24777LU) +); +} + +/* LowDeadband - ns=0;i=24776 */ + +static UA_StatusCode function_namespace0_generated_1564_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LowDeadband"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24776LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LowDeadband"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1564_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24776LU) +); +} + +/* HighDeadband - ns=0;i=24775 */ + +static UA_StatusCode function_namespace0_generated_1565_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighDeadband"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24775LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HighDeadband"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1565_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24775LU) +); +} + +/* HighHighDeadband - ns=0;i=24774 */ + +static UA_StatusCode function_namespace0_generated_1566_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighHighDeadband"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24774LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HighHighDeadband"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1566_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24774LU) +); +} + +/* SeverityLowLow - ns=0;i=24773 */ + +static UA_StatusCode function_namespace0_generated_1567_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SeverityLowLow"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24773LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SeverityLowLow"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1567_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24773LU) +); +} + +/* SeverityLow - ns=0;i=24772 */ + +static UA_StatusCode function_namespace0_generated_1568_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SeverityLow"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24772LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SeverityLow"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1568_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24772LU) +); +} + +/* SeverityHigh - ns=0;i=24771 */ + +static UA_StatusCode function_namespace0_generated_1569_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SeverityHigh"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24771LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SeverityHigh"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1569_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24771LU) +); +} + +/* SeverityHighHigh - ns=0;i=24770 */ + +static UA_StatusCode function_namespace0_generated_1570_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SeverityHighHigh"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24770LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SeverityHighHigh"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1570_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24770LU) +); +} + +/* BaseLowLowLimit - ns=0;i=16575 */ + +static UA_StatusCode function_namespace0_generated_1571_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseLowLowLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16575LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BaseLowLowLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1571_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16575LU) +); +} + +/* BaseLowLimit - ns=0;i=16574 */ + +static UA_StatusCode function_namespace0_generated_1572_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseLowLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16574LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BaseLowLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1572_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16574LU) +); +} + +/* BaseHighLimit - ns=0;i=16573 */ + +static UA_StatusCode function_namespace0_generated_1573_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseHighLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16573LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BaseHighLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1573_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16573LU) +); +} + +/* BaseHighHighLimit - ns=0;i=16572 */ + +static UA_StatusCode function_namespace0_generated_1574_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseHighHighLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16572LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BaseHighHighLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1574_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16572LU) +); +} + +/* LowLowLimit - ns=0;i=11127 */ + +static UA_StatusCode function_namespace0_generated_1575_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LowLowLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11127LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LowLowLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1575_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11127LU) +); +} + +/* LowLimit - ns=0;i=11126 */ + +static UA_StatusCode function_namespace0_generated_1576_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LowLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11126LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LowLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1576_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11126LU) +); +} + +/* HighLimit - ns=0;i=11125 */ + +static UA_StatusCode function_namespace0_generated_1577_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11125LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HighLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1577_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11125LU) +); +} + +/* HighHighLimit - ns=0;i=11124 */ + +static UA_StatusCode function_namespace0_generated_1578_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighHighLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11124LU), +UA_NODEID_NUMERIC(ns[0], 2955LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HighHighLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1578_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11124LU) +); +} + +/* GetGroupMemberships - ns=0;i=24744 */ + +static UA_StatusCode function_namespace0_generated_1579_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetGroupMemberships"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24744LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetGroupMemberships"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1579_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24744LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25154 */ + +static UA_StatusCode function_namespace0_generated_1580_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25154_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25154_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25154_variant_DataContents[0].name = UA_STRING("Groups"); +variablenode_ns_0_i_25154_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25154_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25154_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_25154_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25154_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25154LU), +UA_NODEID_NUMERIC(ns[0], 24744LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1580_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25154LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Reset2 - ns=0;i=24324 */ + +static UA_StatusCode function_namespace0_generated_1581_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24324LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1581_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24324LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24325 */ + +static UA_StatusCode function_namespace0_generated_1582_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24325_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24325_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24325_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24325_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24325_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24325_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24325LU), +UA_NODEID_NUMERIC(ns[0], 24324LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1582_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24325LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PlaceInService2 - ns=0;i=24322 */ + +static UA_StatusCode function_namespace0_generated_1583_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PlaceInService2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24322LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PlaceInService2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1583_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24322LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24323 */ + +static UA_StatusCode function_namespace0_generated_1584_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24323_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24323_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24323_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24323_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24323_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24323_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24323LU), +UA_NODEID_NUMERIC(ns[0], 24322LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1584_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24323LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveFromService2 - ns=0;i=24320 */ + +static UA_StatusCode function_namespace0_generated_1585_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveFromService2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24320LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveFromService2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1585_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24320LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24321 */ + +static UA_StatusCode function_namespace0_generated_1586_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24321_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24321_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24321_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24321_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24321_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24321_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24321LU), +UA_NODEID_NUMERIC(ns[0], 24320LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1586_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24321LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Unsuppress2 - ns=0;i=24318 */ + +static UA_StatusCode function_namespace0_generated_1587_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Unsuppress2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24318LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Unsuppress2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1587_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24318LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24319 */ + +static UA_StatusCode function_namespace0_generated_1588_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24319_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24319_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24319_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24319_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24319_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24319_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24319LU), +UA_NODEID_NUMERIC(ns[0], 24318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1588_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24319LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Suppress2 - ns=0;i=24316 */ + +static UA_StatusCode function_namespace0_generated_1589_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Suppress2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24316LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Suppress2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1589_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24316LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24317 */ + +static UA_StatusCode function_namespace0_generated_1590_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24317_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24317_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24317_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24317_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24317_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24317_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24317LU), +UA_NODEID_NUMERIC(ns[0], 24316LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1590_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24317LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Reset - ns=0;i=18199 */ + +static UA_StatusCode function_namespace0_generated_1591_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 18199LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1591_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18199LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PlaceInService - ns=0;i=17870 */ + +static UA_StatusCode function_namespace0_generated_1592_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PlaceInService"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17870LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PlaceInService"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1592_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17870LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveFromService - ns=0;i=17869 */ + +static UA_StatusCode function_namespace0_generated_1593_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveFromService"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17869LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveFromService"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1593_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17869LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Unsuppress - ns=0;i=17868 */ + +static UA_StatusCode function_namespace0_generated_1594_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Unsuppress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17868LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Unsuppress"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1594_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17868LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DiscrepancyAlarmType - ns=0;i=17080 */ + +static UA_StatusCode function_namespace0_generated_1595_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DiscrepancyAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17080LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DiscrepancyAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1595_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17080LU) +); +} + +/* Tolerance - ns=0;i=17217 */ + +static UA_StatusCode function_namespace0_generated_1596_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Tolerance"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17217LU), +UA_NODEID_NUMERIC(ns[0], 17080LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Tolerance"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1596_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17217LU) +); +} + +/* ExpectedTime - ns=0;i=17216 */ + +static UA_StatusCode function_namespace0_generated_1597_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExpectedTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17216LU), +UA_NODEID_NUMERIC(ns[0], 17080LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ExpectedTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1597_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17216LU) +); +} + +/* TargetValueNode - ns=0;i=17215 */ + +static UA_StatusCode function_namespace0_generated_1598_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TargetValueNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17215LU), +UA_NODEID_NUMERIC(ns[0], 17080LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TargetValueNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1598_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17215LU) +); +} + +/* - ns=0;i=16406 */ + +static UA_StatusCode function_namespace0_generated_1599_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 16405LU), +UA_NODEID_NUMERIC(ns[0], 16362LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 2915LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1599_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16406LU) +); +} + +/* SuppressedOrShelved - ns=0;i=16519 */ + +static UA_StatusCode function_namespace0_generated_1600_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16519LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1600_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16519LU) +); +} + +/* InputNode - ns=0;i=16474 */ + +static UA_StatusCode function_namespace0_generated_1601_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16474LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1601_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16474LU) +); +} + +/* Acknowledge - ns=0;i=16461 */ + +static UA_StatusCode function_namespace0_generated_1602_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16461LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Acknowledge"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1602_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16461LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16462 */ + +static UA_StatusCode function_namespace0_generated_1603_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16462_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16462_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16462_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_16462_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_16462_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_16462_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_16462_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16462_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_16462_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_16462_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_16462_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16462_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16462LU), +UA_NODEID_NUMERIC(ns[0], 16461LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1603_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16462LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddComment - ns=0;i=16441 */ + +static UA_StatusCode function_namespace0_generated_1604_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16441LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddComment"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1604_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16441LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16442 */ + +static UA_StatusCode function_namespace0_generated_1605_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16442_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16442_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16442_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_16442_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_16442_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_16442_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_16442_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16442_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_16442_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_16442_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_16442_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16442_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16442LU), +UA_NODEID_NUMERIC(ns[0], 16441LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1605_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16442LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Enable - ns=0;i=16440 */ + +static UA_StatusCode function_namespace0_generated_1606_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16440LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Enable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1606_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16440LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Disable - ns=0;i=16439 */ + +static UA_StatusCode function_namespace0_generated_1607_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16439LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Disable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1607_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16439LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ClientUserId - ns=0;i=16438 */ + +static UA_StatusCode function_namespace0_generated_1608_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16438LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1608_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16438LU) +); +} + +/* Retain - ns=0;i=16422 */ + +static UA_StatusCode function_namespace0_generated_1609_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16422LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Retain"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1609_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16422LU) +); +} + +/* BranchId - ns=0;i=16421 */ + +static UA_StatusCode function_namespace0_generated_1610_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16421LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BranchId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1610_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16421LU) +); +} + +/* ConditionName - ns=0;i=16420 */ + +static UA_StatusCode function_namespace0_generated_1611_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16420LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1611_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16420LU) +); +} + +/* ConditionClassName - ns=0;i=16417 */ + +static UA_StatusCode function_namespace0_generated_1612_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16417LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1612_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16417LU) +); +} + +/* ConditionClassId - ns=0;i=16416 */ + +static UA_StatusCode function_namespace0_generated_1613_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16416LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1613_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16416LU) +); +} + +/* Severity - ns=0;i=16415 */ + +static UA_StatusCode function_namespace0_generated_1614_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16415LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Severity"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1614_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16415LU) +); +} + +/* Message - ns=0;i=16414 */ + +static UA_StatusCode function_namespace0_generated_1615_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Message"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16414LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Message"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1615_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16414LU) +); +} + +/* ReceiveTime - ns=0;i=16412 */ + +static UA_StatusCode function_namespace0_generated_1616_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16412LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1616_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16412LU) +); +} + +/* Time - ns=0;i=16411 */ + +static UA_StatusCode function_namespace0_generated_1617_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Time"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16411LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Time"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1617_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16411LU) +); +} + +/* SourceName - ns=0;i=16410 */ + +static UA_StatusCode function_namespace0_generated_1618_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16410LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1618_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16410LU) +); +} + +/* SourceNode - ns=0;i=16409 */ + +static UA_StatusCode function_namespace0_generated_1619_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16409LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1619_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16409LU) +); +} + +/* EventType - ns=0;i=16408 */ + +static UA_StatusCode function_namespace0_generated_1620_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16408LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1620_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16408LU) +); +} + +/* EventId - ns=0;i=16407 */ + +static UA_StatusCode function_namespace0_generated_1621_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16407LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1621_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16407LU) +); +} + +/* Suppress - ns=0;i=16403 */ + +static UA_StatusCode function_namespace0_generated_1622_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Suppress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16403LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Suppress"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1622_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16403LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Silence - ns=0;i=16402 */ + +static UA_StatusCode function_namespace0_generated_1623_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Silence"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16402LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Silence"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1623_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16402LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ReAlarmRepeatCount - ns=0;i=16401 */ + +static UA_StatusCode function_namespace0_generated_1624_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 4LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReAlarmRepeatCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16401LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReAlarmRepeatCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1624_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16401LU) +); +} + +/* ReAlarmTime - ns=0;i=16400 */ + +static UA_StatusCode function_namespace0_generated_1625_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReAlarmTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16400LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReAlarmTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1625_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16400LU) +); +} + +/* - ns=0;i=16399 */ + +static UA_StatusCode function_namespace0_generated_1626_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16399LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 16361LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 16405LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1626_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16399LU) +); +} + +/* FirstInGroup - ns=0;i=16398 */ + +static UA_StatusCode function_namespace0_generated_1627_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FirstInGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16398LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FirstInGroup"), +UA_NODEID_NUMERIC(ns[0], 16405LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1627_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16398LU) +); +} + +/* FirstInGroupFlag - ns=0;i=16397 */ + +static UA_StatusCode function_namespace0_generated_1628_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FirstInGroupFlag"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16397LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FirstInGroupFlag"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1628_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16397LU) +); +} + +/* OffDelay - ns=0;i=16396 */ + +static UA_StatusCode function_namespace0_generated_1629_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OffDelay"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16396LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OffDelay"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1629_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16396LU) +); +} + +/* OnDelay - ns=0;i=16395 */ + +static UA_StatusCode function_namespace0_generated_1630_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OnDelay"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16395LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OnDelay"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1630_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16395LU) +); +} + +/* AudibleEnabled - ns=0;i=16389 */ + +static UA_StatusCode function_namespace0_generated_1631_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AudibleEnabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16389LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AudibleEnabled"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1631_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16389LU) +); +} + +/* InputNode - ns=0;i=11120 */ + +static UA_StatusCode function_namespace0_generated_1632_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11120LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1632_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11120LU) +); +} + +/* DiscreteAlarmType - ns=0;i=10523 */ + +static UA_StatusCode function_namespace0_generated_1633_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DiscreteAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 10523LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DiscreteAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1633_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10523LU) +); +} + +/* OffNormalAlarmType - ns=0;i=10637 */ + +static UA_StatusCode function_namespace0_generated_1634_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OffNormalAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 10637LU), +UA_NODEID_NUMERIC(ns[0], 10523LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OffNormalAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1634_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10637LU) +); +} + +/* SystemDiagnosticAlarmType - ns=0;i=18496 */ + +static UA_StatusCode function_namespace0_generated_1635_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SystemDiagnosticAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18496LU), +UA_NODEID_NUMERIC(ns[0], 10637LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SystemDiagnosticAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1635_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18496LU) +); +} + +/* InstrumentDiagnosticAlarmType - ns=0;i=18347 */ + +static UA_StatusCode function_namespace0_generated_1636_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "InstrumentDiagnosticAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18347LU), +UA_NODEID_NUMERIC(ns[0], 10637LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "InstrumentDiagnosticAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1636_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18347LU) +); +} + +/* SystemOffNormalAlarmType - ns=0;i=11753 */ + +static UA_StatusCode function_namespace0_generated_1637_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SystemOffNormalAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11753LU), +UA_NODEID_NUMERIC(ns[0], 10637LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SystemOffNormalAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1637_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11753LU) +); +} + +/* TrustListOutOfDateAlarmType - ns=0;i=19297 */ + +static UA_StatusCode function_namespace0_generated_1638_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListOutOfDateAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19297LU), +UA_NODEID_NUMERIC(ns[0], 11753LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListOutOfDateAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1638_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19297LU) +); +} + +/* TrustListOutOfDate - ns=0;i=20143 */ + +static UA_StatusCode function_namespace0_generated_1639_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListOutOfDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 12555LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustListOutOfDate"), +UA_NODEID_NUMERIC(ns[0], 19297LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1639_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20143LU) +); +} + +/* UpdateFrequency - ns=0;i=20289 */ + +static UA_StatusCode function_namespace0_generated_1640_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateFrequency"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20289LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateFrequency"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1640_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20289LU) +); +} + +/* LastUpdateTime - ns=0;i=20288 */ + +static UA_StatusCode function_namespace0_generated_1641_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20288LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1641_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20288LU) +); +} + +/* TrustListId - ns=0;i=20287 */ + +static UA_StatusCode function_namespace0_generated_1642_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20287LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrustListId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1642_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20287LU) +); +} + +/* NormalState - ns=0;i=20286 */ + +static UA_StatusCode function_namespace0_generated_1643_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NormalState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20286LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NormalState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1643_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20286LU) +); +} + +/* SuppressedOrShelved - ns=0;i=20249 */ + +static UA_StatusCode function_namespace0_generated_1644_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20249LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1644_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20249LU) +); +} + +/* InputNode - ns=0;i=20211 */ + +static UA_StatusCode function_namespace0_generated_1645_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20211LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1645_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20211LU) +); +} + +/* Acknowledge - ns=0;i=20198 */ + +static UA_StatusCode function_namespace0_generated_1646_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 20198LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Acknowledge"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1646_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20198LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=20199 */ + +static UA_StatusCode function_namespace0_generated_1647_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_20199_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_20199_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_20199_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_20199_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_20199_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_20199_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_20199_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_20199_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_20199_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_20199_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_20199_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_20199_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20199LU), +UA_NODEID_NUMERIC(ns[0], 20198LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1647_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20199LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddComment - ns=0;i=20178 */ + +static UA_StatusCode function_namespace0_generated_1648_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 20178LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddComment"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1648_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20178LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=20179 */ + +static UA_StatusCode function_namespace0_generated_1649_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_20179_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_20179_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_20179_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_20179_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_20179_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_20179_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_20179_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_20179_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_20179_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_20179_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_20179_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_20179_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20179LU), +UA_NODEID_NUMERIC(ns[0], 20178LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1649_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20179LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Enable - ns=0;i=20177 */ + +static UA_StatusCode function_namespace0_generated_1650_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 20177LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Enable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1650_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20177LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Disable - ns=0;i=20176 */ + +static UA_StatusCode function_namespace0_generated_1651_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 20176LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Disable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1651_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20176LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ClientUserId - ns=0;i=20175 */ + +static UA_StatusCode function_namespace0_generated_1652_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20175LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1652_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20175LU) +); +} + +/* Retain - ns=0;i=20159 */ + +static UA_StatusCode function_namespace0_generated_1653_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20159LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Retain"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1653_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20159LU) +); +} + +/* BranchId - ns=0;i=20158 */ + +static UA_StatusCode function_namespace0_generated_1654_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20158LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BranchId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1654_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20158LU) +); +} + +/* ConditionName - ns=0;i=20157 */ + +static UA_StatusCode function_namespace0_generated_1655_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20157LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1655_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20157LU) +); +} + +/* ConditionClassName - ns=0;i=20154 */ + +static UA_StatusCode function_namespace0_generated_1656_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20154LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1656_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20154LU) +); +} + +/* ConditionClassId - ns=0;i=20153 */ + +static UA_StatusCode function_namespace0_generated_1657_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20153LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1657_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20153LU) +); +} + +/* Severity - ns=0;i=20152 */ + +static UA_StatusCode function_namespace0_generated_1658_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20152LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Severity"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1658_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20152LU) +); +} + +/* Message - ns=0;i=20151 */ + +static UA_StatusCode function_namespace0_generated_1659_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Message"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20151LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Message"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1659_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20151LU) +); +} + +/* ReceiveTime - ns=0;i=20149 */ + +static UA_StatusCode function_namespace0_generated_1660_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20149LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1660_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20149LU) +); +} + +/* Time - ns=0;i=20148 */ + +static UA_StatusCode function_namespace0_generated_1661_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Time"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20148LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Time"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1661_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20148LU) +); +} + +/* SourceName - ns=0;i=20147 */ + +static UA_StatusCode function_namespace0_generated_1662_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20147LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1662_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20147LU) +); +} + +/* SourceNode - ns=0;i=20146 */ + +static UA_StatusCode function_namespace0_generated_1663_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20146LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1663_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20146LU) +); +} + +/* EventType - ns=0;i=20145 */ + +static UA_StatusCode function_namespace0_generated_1664_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20145LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1664_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20145LU) +); +} + +/* EventId - ns=0;i=20144 */ + +static UA_StatusCode function_namespace0_generated_1665_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20144LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1665_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20144LU) +); +} + +/* UpdateFrequency - ns=0;i=19448 */ + +static UA_StatusCode function_namespace0_generated_1666_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateFrequency"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19448LU), +UA_NODEID_NUMERIC(ns[0], 19297LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateFrequency"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1666_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19448LU) +); +} + +/* LastUpdateTime - ns=0;i=19447 */ + +static UA_StatusCode function_namespace0_generated_1667_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19447LU), +UA_NODEID_NUMERIC(ns[0], 19297LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1667_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19447LU) +); +} + +/* TrustListId - ns=0;i=19446 */ + +static UA_StatusCode function_namespace0_generated_1668_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19446LU), +UA_NODEID_NUMERIC(ns[0], 19297LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrustListId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1668_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19446LU) +); +} + +/* CertificateExpirationAlarmType - ns=0;i=13225 */ + +static UA_StatusCode function_namespace0_generated_1669_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateExpirationAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 13225LU), +UA_NODEID_NUMERIC(ns[0], 11753LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CertificateExpirationAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12555LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13882LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13916LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13951LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1669_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13225LU) +); +} + +/* CertificateExpired - ns=0;i=19450 */ + +static UA_StatusCode function_namespace0_generated_1670_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateExpired"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 12555LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CertificateExpired"), +UA_NODEID_NUMERIC(ns[0], 13225LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1670_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19450LU) +); +} + +/* Certificate - ns=0;i=20142 */ + +static UA_StatusCode function_namespace0_generated_1671_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Certificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20142LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Certificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1671_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20142LU) +); +} + +/* CertificateType - ns=0;i=20141 */ + +static UA_StatusCode function_namespace0_generated_1672_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20141LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1672_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20141LU) +); +} + +/* ExpirationDate - ns=0;i=20139 */ + +static UA_StatusCode function_namespace0_generated_1673_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExpirationDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20139LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ExpirationDate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1673_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20139LU) +); +} + +/* NormalState - ns=0;i=20138 */ + +static UA_StatusCode function_namespace0_generated_1674_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NormalState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20138LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NormalState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1674_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20138LU) +); +} + +/* SuppressedOrShelved - ns=0;i=20101 */ + +static UA_StatusCode function_namespace0_generated_1675_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20101LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1675_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20101LU) +); +} + +/* InputNode - ns=0;i=19518 */ + +static UA_StatusCode function_namespace0_generated_1676_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19518LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1676_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19518LU) +); +} + +/* Acknowledge - ns=0;i=19505 */ + +static UA_StatusCode function_namespace0_generated_1677_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19505LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Acknowledge"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1677_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19505LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=19506 */ + +static UA_StatusCode function_namespace0_generated_1678_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_19506_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_19506_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_19506_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_19506_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_19506_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_19506_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_19506_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_19506_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_19506_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_19506_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_19506_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19506_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19506LU), +UA_NODEID_NUMERIC(ns[0], 19505LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1678_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19506LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddComment - ns=0;i=19485 */ + +static UA_StatusCode function_namespace0_generated_1679_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19485LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddComment"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1679_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19485LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=19486 */ + +static UA_StatusCode function_namespace0_generated_1680_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_19486_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_19486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_19486_variant_DataContents[0].name = UA_STRING("EventId"); +variablenode_ns_0_i_19486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_19486_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_19486_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); + +UA_init(&variablenode_ns_0_i_19486_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_19486_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_19486_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_19486_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_19486_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19486_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19486LU), +UA_NODEID_NUMERIC(ns[0], 19485LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1680_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19486LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Enable - ns=0;i=19484 */ + +static UA_StatusCode function_namespace0_generated_1681_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19484LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Enable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1681_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19484LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Disable - ns=0;i=19483 */ + +static UA_StatusCode function_namespace0_generated_1682_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 19483LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Disable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1682_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19483LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ClientUserId - ns=0;i=19482 */ + +static UA_StatusCode function_namespace0_generated_1683_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19482LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1683_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19482LU) +); +} + +/* Retain - ns=0;i=19466 */ + +static UA_StatusCode function_namespace0_generated_1684_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19466LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Retain"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1684_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19466LU) +); +} + +/* BranchId - ns=0;i=19465 */ + +static UA_StatusCode function_namespace0_generated_1685_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19465LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BranchId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1685_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19465LU) +); +} + +/* ConditionName - ns=0;i=19464 */ + +static UA_StatusCode function_namespace0_generated_1686_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19464LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1686_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19464LU) +); +} + +/* ConditionClassName - ns=0;i=19461 */ + +static UA_StatusCode function_namespace0_generated_1687_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19461LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1687_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19461LU) +); +} + +/* ConditionClassId - ns=0;i=19460 */ + +static UA_StatusCode function_namespace0_generated_1688_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19460LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1688_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19460LU) +); +} + +/* Severity - ns=0;i=19459 */ + +static UA_StatusCode function_namespace0_generated_1689_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19459LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Severity"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1689_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19459LU) +); +} + +/* Message - ns=0;i=19458 */ + +static UA_StatusCode function_namespace0_generated_1690_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Message"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19458LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Message"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1690_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19458LU) +); +} + +/* ReceiveTime - ns=0;i=19456 */ + +static UA_StatusCode function_namespace0_generated_1691_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19456LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1691_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19456LU) +); +} + +/* Time - ns=0;i=19455 */ + +static UA_StatusCode function_namespace0_generated_1692_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Time"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19455LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Time"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1692_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19455LU) +); +} + +/* SourceName - ns=0;i=19454 */ + +static UA_StatusCode function_namespace0_generated_1693_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19454LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1693_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19454LU) +); +} + +/* SourceNode - ns=0;i=19453 */ + +static UA_StatusCode function_namespace0_generated_1694_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19453LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1694_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19453LU) +); +} + +/* EventType - ns=0;i=19452 */ + +static UA_StatusCode function_namespace0_generated_1695_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19452LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1695_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19452LU) +); +} + +/* EventId - ns=0;i=19451 */ + +static UA_StatusCode function_namespace0_generated_1696_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19451LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1696_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19451LU) +); +} + +/* ExpirationLimit - ns=0;i=14900 */ + +static UA_StatusCode function_namespace0_generated_1697_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExpirationLimit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14900LU), +UA_NODEID_NUMERIC(ns[0], 13225LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ExpirationLimit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1697_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14900LU) +); +} + +/* Certificate - ns=0;i=13327 */ + +static UA_StatusCode function_namespace0_generated_1698_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Certificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13327LU), +UA_NODEID_NUMERIC(ns[0], 13225LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Certificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1698_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13327LU) +); +} + +/* CertificateType - ns=0;i=13326 */ + +static UA_StatusCode function_namespace0_generated_1699_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13326LU), +UA_NODEID_NUMERIC(ns[0], 13225LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1699_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13326LU) +); +} + +/* ExpirationDate - ns=0;i=13325 */ + +static UA_StatusCode function_namespace0_generated_1700_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExpirationDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13325LU), +UA_NODEID_NUMERIC(ns[0], 13225LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ExpirationDate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1700_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13325LU) +); +} + +/* NormalState - ns=0;i=11158 */ + +static UA_StatusCode function_namespace0_generated_1701_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NormalState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11158LU), +UA_NODEID_NUMERIC(ns[0], 10637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NormalState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1701_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11158LU) +); +} + +/* TripAlarmType - ns=0;i=10751 */ + +static UA_StatusCode function_namespace0_generated_1702_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TripAlarmType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 10751LU), +UA_NODEID_NUMERIC(ns[0], 10637LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TripAlarmType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1702_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10751LU) +); +} + +/* DialogConditionType - ns=0;i=2830 */ + +static UA_StatusCode function_namespace0_generated_1703_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DialogConditionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DialogConditionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1703_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2830LU) +); +} + +/* Respond - ns=0;i=9069 */ + +static UA_StatusCode function_namespace0_generated_1704_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Respond"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9069LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Respond"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1704_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9069LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=9070 */ + +static UA_StatusCode function_namespace0_generated_1705_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_9070_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_9070_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9070_variant_DataContents[0].name = UA_STRING("SelectedResponse"); +variablenode_ns_0_i_9070_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_9070_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9070_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9070LU), +UA_NODEID_NUMERIC(ns[0], 9069LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1705_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9070LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastResponse - ns=0;i=9068 */ + +static UA_StatusCode function_namespace0_generated_1706_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastResponse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9068LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastResponse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1706_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9068LU) +); +} + +/* CancelResponse - ns=0;i=9067 */ + +static UA_StatusCode function_namespace0_generated_1707_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CancelResponse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9067LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CancelResponse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1707_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9067LU) +); +} + +/* OkResponse - ns=0;i=9066 */ + +static UA_StatusCode function_namespace0_generated_1708_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OkResponse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9066LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OkResponse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1708_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9066LU) +); +} + +/* DefaultResponse - ns=0;i=9065 */ + +static UA_StatusCode function_namespace0_generated_1709_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultResponse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9065LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultResponse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1709_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9065LU) +); +} + +/* ResponseOptionSet - ns=0;i=9064 */ + +static UA_StatusCode function_namespace0_generated_1710_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResponseOptionSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9064LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResponseOptionSet"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1710_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9064LU) +); +} + +/* Prompt - ns=0;i=2831 */ + +static UA_StatusCode function_namespace0_generated_1711_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Prompt"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2831LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Prompt"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1711_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2831LU) +); +} + +/* Respond2 - ns=0;i=24312 */ + +static UA_StatusCode function_namespace0_generated_1712_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Respond2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24312LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Respond2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1712_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24312LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24313 */ + +static UA_StatusCode function_namespace0_generated_1713_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24313_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_24313_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24313_variant_DataContents[0].name = UA_STRING("SelectedResponse"); +variablenode_ns_0_i_24313_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_24313_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24313_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24313_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_24313_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24313_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24313_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24313LU), +UA_NODEID_NUMERIC(ns[0], 24312LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1713_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24313LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ConditionRefresh2 - ns=0;i=12912 */ + +static UA_StatusCode function_namespace0_generated_1714_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionRefresh2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12912LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConditionRefresh2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1714_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12912LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12913 */ + +static UA_StatusCode function_namespace0_generated_1715_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12913_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12913_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12913_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_12913_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_12913_variant_DataContents[0].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_12913_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the subscription to refresh."); + +UA_init(&variablenode_ns_0_i_12913_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12913_variant_DataContents[1].name = UA_STRING("MonitoredItemId"); +variablenode_ns_0_i_12913_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_12913_variant_DataContents[1].valueRank = (UA_Int32) -1; +variablenode_ns_0_i_12913_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The identifier for the monitored item to refresh."); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12913_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12913LU), +UA_NODEID_NUMERIC(ns[0], 12912LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1715_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12913LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ConditionClassName - ns=0;i=11113 */ + +static UA_StatusCode function_namespace0_generated_1716_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11113LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1716_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11113LU) +); +} + +/* ConditionClassId - ns=0;i=11112 */ + +static UA_StatusCode function_namespace0_generated_1717_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11112LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1717_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11112LU) +); +} + +/* ConditionVariableType - ns=0;i=9002 */ + +static UA_StatusCode function_namespace0_generated_1718_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 9002LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ConditionVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1718_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9002LU) +); +} + +/* Comment - ns=0;i=9024 */ + +static UA_StatusCode function_namespace0_generated_1719_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9024LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1719_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9024LU) +); +} + +/* SourceTimestamp - ns=0;i=9025 */ + +static UA_StatusCode function_namespace0_generated_1720_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9025LU), +UA_NODEID_NUMERIC(ns[0], 9024LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1720_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9025LU) +); +} + +/* LastSeverity - ns=0;i=9022 */ + +static UA_StatusCode function_namespace0_generated_1721_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9022LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastSeverity"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1721_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9022LU) +); +} + +/* SourceTimestamp - ns=0;i=9023 */ + +static UA_StatusCode function_namespace0_generated_1722_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9023LU), +UA_NODEID_NUMERIC(ns[0], 9022LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1722_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9023LU) +); +} + +/* Quality - ns=0;i=9020 */ + +static UA_StatusCode function_namespace0_generated_1723_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9020LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Quality"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1723_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9020LU) +); +} + +/* SourceTimestamp - ns=0;i=9021 */ + +static UA_StatusCode function_namespace0_generated_1724_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9021LU), +UA_NODEID_NUMERIC(ns[0], 9020LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1724_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9021LU) +); +} + +/* SourceTimestamp - ns=0;i=9003 */ + +static UA_StatusCode function_namespace0_generated_1725_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9003LU), +UA_NODEID_NUMERIC(ns[0], 9002LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1725_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9003LU) +); +} + +/* Comment - ns=0;i=20173 */ + +static UA_StatusCode function_namespace0_generated_1726_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20173LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1726_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20173LU) +); +} + +/* SourceTimestamp - ns=0;i=20174 */ + +static UA_StatusCode function_namespace0_generated_1727_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20174LU), +UA_NODEID_NUMERIC(ns[0], 20173LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1727_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20174LU) +); +} + +/* LastSeverity - ns=0;i=20171 */ + +static UA_StatusCode function_namespace0_generated_1728_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20171LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastSeverity"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1728_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20171LU) +); +} + +/* SourceTimestamp - ns=0;i=20172 */ + +static UA_StatusCode function_namespace0_generated_1729_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20172LU), +UA_NODEID_NUMERIC(ns[0], 20171LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1729_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20172LU) +); +} + +/* Quality - ns=0;i=20169 */ + +static UA_StatusCode function_namespace0_generated_1730_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20169LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Quality"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1730_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20169LU) +); +} + +/* SourceTimestamp - ns=0;i=20170 */ + +static UA_StatusCode function_namespace0_generated_1731_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20170LU), +UA_NODEID_NUMERIC(ns[0], 20169LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1731_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20170LU) +); +} + +/* Comment - ns=0;i=19480 */ + +static UA_StatusCode function_namespace0_generated_1732_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19480LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1732_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19480LU) +); +} + +/* SourceTimestamp - ns=0;i=19481 */ + +static UA_StatusCode function_namespace0_generated_1733_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19481LU), +UA_NODEID_NUMERIC(ns[0], 19480LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1733_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19481LU) +); +} + +/* LastSeverity - ns=0;i=19478 */ + +static UA_StatusCode function_namespace0_generated_1734_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19478LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastSeverity"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1734_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19478LU) +); +} + +/* SourceTimestamp - ns=0;i=19479 */ + +static UA_StatusCode function_namespace0_generated_1735_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19479LU), +UA_NODEID_NUMERIC(ns[0], 19478LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1735_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19479LU) +); +} + +/* Quality - ns=0;i=19476 */ + +static UA_StatusCode function_namespace0_generated_1736_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19476LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Quality"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1736_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19476LU) +); +} + +/* SourceTimestamp - ns=0;i=19477 */ + +static UA_StatusCode function_namespace0_generated_1737_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19477LU), +UA_NODEID_NUMERIC(ns[0], 19476LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1737_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19477LU) +); +} + +/* Comment - ns=0;i=16436 */ + +static UA_StatusCode function_namespace0_generated_1738_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16436LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1738_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16436LU) +); +} + +/* SourceTimestamp - ns=0;i=16437 */ + +static UA_StatusCode function_namespace0_generated_1739_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16437LU), +UA_NODEID_NUMERIC(ns[0], 16436LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1739_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16437LU) +); +} + +/* LastSeverity - ns=0;i=16434 */ + +static UA_StatusCode function_namespace0_generated_1740_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16434LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastSeverity"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1740_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16434LU) +); +} + +/* SourceTimestamp - ns=0;i=16435 */ + +static UA_StatusCode function_namespace0_generated_1741_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16435LU), +UA_NODEID_NUMERIC(ns[0], 16434LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1741_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16435LU) +); +} + +/* Quality - ns=0;i=16432 */ + +static UA_StatusCode function_namespace0_generated_1742_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16432LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Quality"), +UA_NODEID_NUMERIC(ns[0], 9002LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1742_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16432LU) +); +} + +/* SourceTimestamp - ns=0;i=16433 */ + +static UA_StatusCode function_namespace0_generated_1743_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16433LU), +UA_NODEID_NUMERIC(ns[0], 16432LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1743_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16433LU) +); +} + +/* DataItemType - ns=0;i=2365 */ + +static UA_StatusCode function_namespace0_generated_1744_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2365LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1744_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2365LU) +); +} + +/* DiscreteItemType - ns=0;i=2372 */ + +static UA_StatusCode function_namespace0_generated_1745_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscreteItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2372LU), +UA_NODEID_NUMERIC(ns[0], 2365LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DiscreteItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1745_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2372LU) +); +} + +/* MultiStateDiscreteType - ns=0;i=2376 */ + +static UA_StatusCode function_namespace0_generated_1746_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 28LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateDiscreteType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2376LU), +UA_NODEID_NUMERIC(ns[0], 2372LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MultiStateDiscreteType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1746_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2376LU) +); +} + +/* EnumStrings - ns=0;i=2377 */ + +static UA_StatusCode function_namespace0_generated_1747_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2377LU), +UA_NODEID_NUMERIC(ns[0], 2376LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1747_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2377LU) +); +} + +/* TwoStateDiscreteType - ns=0;i=2373 */ + +static UA_StatusCode function_namespace0_generated_1748_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TwoStateDiscreteType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2373LU), +UA_NODEID_NUMERIC(ns[0], 2372LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TwoStateDiscreteType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1748_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2373LU) +); +} + +/* TrueState - ns=0;i=2375 */ + +static UA_StatusCode function_namespace0_generated_1749_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2375LU), +UA_NODEID_NUMERIC(ns[0], 2373LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1749_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2375LU) +); +} + +/* FalseState - ns=0;i=2374 */ + +static UA_StatusCode function_namespace0_generated_1750_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2374LU), +UA_NODEID_NUMERIC(ns[0], 2373LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1750_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2374LU) +); +} + +/* MultiStateValueDiscreteType - ns=0;i=11238 */ + +static UA_StatusCode function_namespace0_generated_1751_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateValueDiscreteType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 11238LU), +UA_NODEID_NUMERIC(ns[0], 2372LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MultiStateValueDiscreteType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1751_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11238LU) +); +} + +/* MultiStateDictionaryEntryDiscreteBaseType - ns=0;i=19077 */ + +static UA_StatusCode function_namespace0_generated_1752_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateDictionaryEntryDiscreteBaseType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 19077LU), +UA_NODEID_NUMERIC(ns[0], 11238LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MultiStateDictionaryEntryDiscreteBaseType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1752_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19077LU) +); +} + +/* MultiStateDictionaryEntryDiscreteType - ns=0;i=19084 */ + +static UA_StatusCode function_namespace0_generated_1753_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateDictionaryEntryDiscreteType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 19084LU), +UA_NODEID_NUMERIC(ns[0], 19077LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "MultiStateDictionaryEntryDiscreteType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1753_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19084LU) +); +} + +/* ValueAsDictionaryEntries - ns=0;i=19090 */ + +static UA_StatusCode function_namespace0_generated_1754_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsDictionaryEntries"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19090LU), +UA_NODEID_NUMERIC(ns[0], 19084LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ValueAsDictionaryEntries"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1754_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19090LU) +); +} + +/* ValueAsDictionaryEntries - ns=0;i=19083 */ + +static UA_StatusCode function_namespace0_generated_1755_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsDictionaryEntries"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19083LU), +UA_NODEID_NUMERIC(ns[0], 19077LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ValueAsDictionaryEntries"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1755_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19083LU) +); +} + +/* EnumDictionaryEntries - ns=0;i=19082 */ + +static UA_StatusCode function_namespace0_generated_1756_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 2; +attr.arrayDimensionsSize = 2; +UA_UInt32 arrayDimensions[2]; +arrayDimensions[0] = 0; +arrayDimensions[1] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDictionaryEntries"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19082LU), +UA_NODEID_NUMERIC(ns[0], 19077LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumDictionaryEntries"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1756_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19082LU) +); +} + +/* ValueAsText - ns=0;i=11461 */ + +static UA_StatusCode function_namespace0_generated_1757_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsText"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11461LU), +UA_NODEID_NUMERIC(ns[0], 11238LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ValueAsText"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1757_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11461LU) +); +} + +/* EnumValues - ns=0;i=11241 */ + +static UA_StatusCode function_namespace0_generated_1758_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11241LU), +UA_NODEID_NUMERIC(ns[0], 11238LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1758_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11241LU) +); +} + +/* ValuePrecision - ns=0;i=2367 */ + +static UA_StatusCode function_namespace0_generated_1759_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ValuePrecision"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2367LU), +UA_NODEID_NUMERIC(ns[0], 2365LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ValuePrecision"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1759_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2367LU) +); +} + +/* Definition - ns=0;i=2366 */ + +static UA_StatusCode function_namespace0_generated_1760_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Definition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2366LU), +UA_NODEID_NUMERIC(ns[0], 2365LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Definition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1760_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2366LU) +); +} + +/* BaseAnalogType - ns=0;i=15318 */ + +static UA_StatusCode function_namespace0_generated_1761_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseAnalogType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 15318LU), +UA_NODEID_NUMERIC(ns[0], 2365LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BaseAnalogType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1761_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15318LU) +); +} + +/* AnalogItemType - ns=0;i=2368 */ + +static UA_StatusCode function_namespace0_generated_1762_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AnalogItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2368LU), +UA_NODEID_NUMERIC(ns[0], 15318LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AnalogItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1762_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2368LU) +); +} + +/* EURange - ns=0;i=2369 */ + +static UA_StatusCode function_namespace0_generated_1763_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EURange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2369LU), +UA_NODEID_NUMERIC(ns[0], 2368LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EURange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1763_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2369LU) +); +} + +/* AnalogUnitRangeType - ns=0;i=17570 */ + +static UA_StatusCode function_namespace0_generated_1764_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AnalogUnitRangeType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17570LU), +UA_NODEID_NUMERIC(ns[0], 2368LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AnalogUnitRangeType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1764_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17570LU) +); +} + +/* EngineeringUnits - ns=0;i=17575 */ + +static UA_StatusCode function_namespace0_generated_1765_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17575LU), +UA_NODEID_NUMERIC(ns[0], 17570LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1765_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17575LU) +); +} + +/* EngineeringUnits - ns=0;i=17569 */ + +static UA_StatusCode function_namespace0_generated_1766_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17569LU), +UA_NODEID_NUMERIC(ns[0], 15318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1766_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17569LU) +); +} + +/* EURange - ns=0;i=17568 */ + +static UA_StatusCode function_namespace0_generated_1767_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EURange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17568LU), +UA_NODEID_NUMERIC(ns[0], 15318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EURange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1767_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17568LU) +); +} + +/* InstrumentRange - ns=0;i=17567 */ + +static UA_StatusCode function_namespace0_generated_1768_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InstrumentRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17567LU), +UA_NODEID_NUMERIC(ns[0], 15318LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InstrumentRange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1768_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17567LU) +); +} + +/* AnalogUnitType - ns=0;i=17497 */ + +static UA_StatusCode function_namespace0_generated_1769_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AnalogUnitType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17497LU), +UA_NODEID_NUMERIC(ns[0], 15318LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AnalogUnitType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1769_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17497LU) +); +} + +/* Speed - ns=0;i=25225 */ + +static UA_StatusCode function_namespace0_generated_1770_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Speed"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25225LU), +UA_NODEID_NUMERIC(ns[0], 25221LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Speed"), +UA_NODEID_NUMERIC(ns[0], 17497LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1770_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25225LU) +); +} + +/* EngineeringUnits - ns=0;i=25252 */ + +static UA_StatusCode function_namespace0_generated_1771_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); + +UA_STACKARRAY(UA_EUInformation, variablenode_ns_0_i_25252_EUInformation_0, 1); +UA_init(variablenode_ns_0_i_25252_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); +variablenode_ns_0_i_25252_EUInformation_0->namespaceUri = UA_STRING("http://www.opcfoundation.org/UA/units/un/cefact"); +variablenode_ns_0_i_25252_EUInformation_0->unitId = (UA_Int32) 4337968; +variablenode_ns_0_i_25252_EUInformation_0->displayName = UA_LOCALIZEDTEXT("en", "bit/s"); +variablenode_ns_0_i_25252_EUInformation_0->description = UA_LOCALIZEDTEXT("en", "bit per second"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25252_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25252LU), +UA_NODEID_NUMERIC(ns[0], 25225LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1771_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25252LU) +); +} + +/* EngineeringUnits - ns=0;i=17502 */ + +static UA_StatusCode function_namespace0_generated_1772_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17502LU), +UA_NODEID_NUMERIC(ns[0], 17497LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1772_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17502LU) +); +} + +/* ArrayItemType - ns=0;i=12021 */ + +static UA_StatusCode function_namespace0_generated_1773_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +attr.valueRank = 0; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ArrayItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 2365LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ArrayItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1773_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12021LU) +); +} + +/* NDimensionArrayItemType - ns=0;i=12068 */ + +static UA_StatusCode function_namespace0_generated_1774_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 0; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NDimensionArrayItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 12068LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NDimensionArrayItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1774_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12068LU) +); +} + +/* AxisDefinition - ns=0;i=12076 */ + +static UA_StatusCode function_namespace0_generated_1775_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12076LU), +UA_NODEID_NUMERIC(ns[0], 12068LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1775_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12076LU) +); +} + +/* CubeItemType - ns=0;i=12057 */ + +static UA_StatusCode function_namespace0_generated_1776_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 3; +attr.arrayDimensionsSize = 3; +UA_UInt32 arrayDimensions[3]; +arrayDimensions[0] = 0; +arrayDimensions[1] = 0; +arrayDimensions[2] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CubeItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 12057LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CubeItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1776_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12057LU) +); +} + +/* ZAxisDefinition - ns=0;i=12067 */ + +static UA_StatusCode function_namespace0_generated_1777_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ZAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12067LU), +UA_NODEID_NUMERIC(ns[0], 12057LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ZAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1777_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12067LU) +); +} + +/* YAxisDefinition - ns=0;i=12066 */ + +static UA_StatusCode function_namespace0_generated_1778_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "YAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12066LU), +UA_NODEID_NUMERIC(ns[0], 12057LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "YAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1778_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12066LU) +); +} + +/* XAxisDefinition - ns=0;i=12065 */ + +static UA_StatusCode function_namespace0_generated_1779_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12065LU), +UA_NODEID_NUMERIC(ns[0], 12057LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1779_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12065LU) +); +} + +/* ImageItemType - ns=0;i=12047 */ + +static UA_StatusCode function_namespace0_generated_1780_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 2; +attr.arrayDimensionsSize = 2; +UA_UInt32 arrayDimensions[2]; +arrayDimensions[0] = 0; +arrayDimensions[1] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ImageItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 12047LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ImageItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1780_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12047LU) +); +} + +/* YAxisDefinition - ns=0;i=12056 */ + +static UA_StatusCode function_namespace0_generated_1781_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "YAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12056LU), +UA_NODEID_NUMERIC(ns[0], 12047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "YAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1781_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12056LU) +); +} + +/* XAxisDefinition - ns=0;i=12055 */ + +static UA_StatusCode function_namespace0_generated_1782_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12055LU), +UA_NODEID_NUMERIC(ns[0], 12047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1782_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12055LU) +); +} + +/* XYArrayItemType - ns=0;i=12038 */ + +static UA_StatusCode function_namespace0_generated_1783_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12080LU); +attr.displayName = UA_LOCALIZEDTEXT("", "XYArrayItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 12038LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "XYArrayItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1783_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12038LU) +); +} + +/* XAxisDefinition - ns=0;i=12046 */ + +static UA_StatusCode function_namespace0_generated_1784_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12046LU), +UA_NODEID_NUMERIC(ns[0], 12038LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1784_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12046LU) +); +} + +/* YArrayItemType - ns=0;i=12029 */ + +static UA_StatusCode function_namespace0_generated_1785_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "YArrayItemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 12029LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "YArrayItemType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1785_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12029LU) +); +} + +/* XAxisDefinition - ns=0;i=12037 */ + +static UA_StatusCode function_namespace0_generated_1786_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); +attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12037LU), +UA_NODEID_NUMERIC(ns[0], 12029LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1786_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12037LU) +); +} + +/* AxisScaleType - ns=0;i=12028 */ + +static UA_StatusCode function_namespace0_generated_1787_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12077LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AxisScaleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12028LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AxisScaleType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1787_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12028LU) +); +} + +/* Title - ns=0;i=12027 */ + +static UA_StatusCode function_namespace0_generated_1788_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Title"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12027LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Title"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1788_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12027LU) +); +} + +/* EngineeringUnits - ns=0;i=12026 */ + +static UA_StatusCode function_namespace0_generated_1789_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12026LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1789_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12026LU) +); +} + +/* EURange - ns=0;i=12025 */ + +static UA_StatusCode function_namespace0_generated_1790_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EURange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12025LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EURange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1790_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12025LU) +); +} + +/* InstrumentRange - ns=0;i=12024 */ + +static UA_StatusCode function_namespace0_generated_1791_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InstrumentRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12024LU), +UA_NODEID_NUMERIC(ns[0], 12021LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InstrumentRange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1791_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12024LU) +); +} + +/* OrderedListType - ns=0;i=23518 */ + +static UA_StatusCode function_namespace0_generated_1792_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OrderedListType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23518LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OrderedListType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1792_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23518LU) +); +} + +/* NodeVersion - ns=0;i=23525 */ + +static UA_StatusCode function_namespace0_generated_1793_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NodeVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23525LU), +UA_NODEID_NUMERIC(ns[0], 23518LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NodeVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1793_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23525LU) +); +} + +/* - ns=0;i=23519 */ + +static UA_StatusCode function_namespace0_generated_1794_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23519LU), +UA_NODEID_NUMERIC(ns[0], 23518LU), +UA_NODEID_NUMERIC(ns[0], 49LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1794_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23519LU) +); +} + +/* NumberInList - ns=0;i=23521 */ + +static UA_StatusCode function_namespace0_generated_1795_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NumberInList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23521LU), +UA_NODEID_NUMERIC(ns[0], 23519LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NumberInList"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1795_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23521LU) +); +} + +/* CurrencyUnit - ns=0;i=23501 */ + +static UA_StatusCode function_namespace0_generated_1796_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23498LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23501LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "CurrencyUnit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1796_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23501LU) +); +} + +/* InterfaceTypes - ns=0;i=17708 */ + +static UA_StatusCode function_namespace0_generated_1797_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17708LU), +UA_NODEID_NUMERIC(ns[0], 86LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "InterfaceTypes"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1797_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17708LU) +); +} + +/* BaseInterfaceType - ns=0;i=17602 */ + +static UA_StatusCode function_namespace0_generated_1798_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "BaseInterfaceType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BaseInterfaceType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17602LU), UA_NODEID_NUMERIC(ns[0], 35LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17708LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1798_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17602LU) +); +} + +/* IVlanIdType - ns=0;i=25218 */ + +static UA_StatusCode function_namespace0_generated_1799_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IVlanIdType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25218LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IVlanIdType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1799_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25218LU) +); +} + +/* VlanId - ns=0;i=25219 */ + +static UA_StatusCode function_namespace0_generated_1800_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "VlanId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25219LU), +UA_NODEID_NUMERIC(ns[0], 25218LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "VlanId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1800_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25219LU) +); +} + +/* IIeeeAutoNegotiationStatusType - ns=0;i=24233 */ + +static UA_StatusCode function_namespace0_generated_1801_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeAutoNegotiationStatusType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24233LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeAutoNegotiationStatusType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1801_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24233LU) +); +} + +/* NegotiationStatus - ns=0;i=24234 */ + +static UA_StatusCode function_namespace0_generated_1802_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24216LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NegotiationStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24234LU), +UA_NODEID_NUMERIC(ns[0], 24233LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NegotiationStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1802_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24234LU) +); +} + +/* IPriorityMappingEntryType - ns=0;i=24205 */ + +static UA_StatusCode function_namespace0_generated_1803_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IPriorityMappingEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24205LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IPriorityMappingEntryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1803_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24205LU) +); +} + +/* PriorityValue_DSCP - ns=0;i=24209 */ + +static UA_StatusCode function_namespace0_generated_1804_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityValue_DSCP"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24209LU), +UA_NODEID_NUMERIC(ns[0], 24205LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PriorityValue_DSCP"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1804_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24209LU) +); +} + +/* PriorityValue_PCP - ns=0;i=24208 */ + +static UA_StatusCode function_namespace0_generated_1805_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityValue_PCP"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24208LU), +UA_NODEID_NUMERIC(ns[0], 24205LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PriorityValue_PCP"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1805_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24208LU) +); +} + +/* PriorityLabel - ns=0;i=24207 */ + +static UA_StatusCode function_namespace0_generated_1806_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityLabel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24207LU), +UA_NODEID_NUMERIC(ns[0], 24205LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PriorityLabel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1806_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24207LU) +); +} + +/* MappingUri - ns=0;i=24206 */ + +static UA_StatusCode function_namespace0_generated_1807_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MappingUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24206LU), +UA_NODEID_NUMERIC(ns[0], 24205LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MappingUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1807_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24206LU) +); +} + +/* IIeeeTsnVlanTagType - ns=0;i=24202 */ + +static UA_StatusCode function_namespace0_generated_1808_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnVlanTagType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24202LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeTsnVlanTagType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1808_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24202LU) +); +} + +/* PriorityCodePoint - ns=0;i=24204 */ + +static UA_StatusCode function_namespace0_generated_1809_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityCodePoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24204LU), +UA_NODEID_NUMERIC(ns[0], 24202LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PriorityCodePoint"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1809_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24204LU) +); +} + +/* VlanId - ns=0;i=24203 */ + +static UA_StatusCode function_namespace0_generated_1810_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "VlanId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24203LU), +UA_NODEID_NUMERIC(ns[0], 24202LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "VlanId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1810_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24203LU) +); +} + +/* IIeeeTsnMacAddressType - ns=0;i=24199 */ + +static UA_StatusCode function_namespace0_generated_1811_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnMacAddressType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24199LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeTsnMacAddressType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1811_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24199LU) +); +} + +/* SourceAddress - ns=0;i=24201 */ + +static UA_StatusCode function_namespace0_generated_1812_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24201LU), +UA_NODEID_NUMERIC(ns[0], 24199LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SourceAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1812_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24201LU) +); +} + +/* DestinationAddress - ns=0;i=24200 */ + +static UA_StatusCode function_namespace0_generated_1813_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DestinationAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24200LU), +UA_NODEID_NUMERIC(ns[0], 24199LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DestinationAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1813_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24200LU) +); +} + +/* IIeeeTsnInterfaceConfigurationType - ns=0;i=24188 */ + +static UA_StatusCode function_namespace0_generated_1814_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnInterfaceConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24188LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeTsnInterfaceConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1814_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24188LU) +); +} + +/* IIeeeTsnInterfaceConfigurationListenerType - ns=0;i=24195 */ + +static UA_StatusCode function_namespace0_generated_1815_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnInterfaceConfigurationListenerType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24195LU), +UA_NODEID_NUMERIC(ns[0], 24188LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeTsnInterfaceConfigurationListenerType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1815_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24195LU) +); +} + +/* ReceiveOffset - ns=0;i=24198 */ + +static UA_StatusCode function_namespace0_generated_1816_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24198LU), +UA_NODEID_NUMERIC(ns[0], 24195LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveOffset"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1816_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24198LU) +); +} + +/* IIeeeTsnInterfaceConfigurationTalkerType - ns=0;i=24191 */ + +static UA_StatusCode function_namespace0_generated_1817_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnInterfaceConfigurationTalkerType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24191LU), +UA_NODEID_NUMERIC(ns[0], 24188LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeTsnInterfaceConfigurationTalkerType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1817_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24191LU) +); +} + +/* TimeAwareOffset - ns=0;i=24194 */ + +static UA_StatusCode function_namespace0_generated_1818_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TimeAwareOffset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24194LU), +UA_NODEID_NUMERIC(ns[0], 24191LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimeAwareOffset"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1818_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24194LU) +); +} + +/* InterfaceName - ns=0;i=24190 */ + +static UA_StatusCode function_namespace0_generated_1819_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24190LU), +UA_NODEID_NUMERIC(ns[0], 24188LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "InterfaceName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1819_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24190LU) +); +} + +/* MacAddress - ns=0;i=24189 */ + +static UA_StatusCode function_namespace0_generated_1820_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MacAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24189LU), +UA_NODEID_NUMERIC(ns[0], 24188LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MacAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1820_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24189LU) +); +} + +/* IIeeeBaseTsnStatusStreamType - ns=0;i=24183 */ + +static UA_StatusCode function_namespace0_generated_1821_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseTsnStatusStreamType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24183LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeBaseTsnStatusStreamType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1821_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24183LU) +); +} + +/* FailureSystemIdentifier - ns=0;i=24187 */ + +static UA_StatusCode function_namespace0_generated_1822_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 2; +attr.arrayDimensionsSize = 2; +UA_UInt32 arrayDimensions[2]; +arrayDimensions[0] = 0; +arrayDimensions[1] = 8; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailureSystemIdentifier"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24187LU), +UA_NODEID_NUMERIC(ns[0], 24183LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailureSystemIdentifier"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1822_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24187LU) +); +} + +/* FailureCode - ns=0;i=24186 */ + +static UA_StatusCode function_namespace0_generated_1823_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24218LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FailureCode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24186LU), +UA_NODEID_NUMERIC(ns[0], 24183LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FailureCode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1823_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24186LU) +); +} + +/* ListenerStatus - ns=0;i=24185 */ + +static UA_StatusCode function_namespace0_generated_1824_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24224LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ListenerStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24185LU), +UA_NODEID_NUMERIC(ns[0], 24183LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ListenerStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1824_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24185LU) +); +} + +/* TalkerStatus - ns=0;i=24184 */ + +static UA_StatusCode function_namespace0_generated_1825_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24222LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TalkerStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24184LU), +UA_NODEID_NUMERIC(ns[0], 24183LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TalkerStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1825_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24184LU) +); +} + +/* IIeeeBaseTsnTrafficSpecificationType - ns=0;i=24179 */ + +static UA_StatusCode function_namespace0_generated_1826_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseTsnTrafficSpecificationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24179LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeBaseTsnTrafficSpecificationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1826_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24179LU) +); +} + +/* Interval - ns=0;i=24182 */ + +static UA_StatusCode function_namespace0_generated_1827_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24107LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Interval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24182LU), +UA_NODEID_NUMERIC(ns[0], 24179LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Interval"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1827_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24182LU) +); +} + +/* MaxFrameSize - ns=0;i=24181 */ + +static UA_StatusCode function_namespace0_generated_1828_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFrameSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24181LU), +UA_NODEID_NUMERIC(ns[0], 24179LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxFrameSize"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1828_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24181LU) +); +} + +/* MaxIntervalFrames - ns=0;i=24180 */ + +static UA_StatusCode function_namespace0_generated_1829_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxIntervalFrames"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24180LU), +UA_NODEID_NUMERIC(ns[0], 24179LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxIntervalFrames"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1829_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24180LU) +); +} + +/* IIeeeBaseTsnStreamType - ns=0;i=24173 */ + +static UA_StatusCode function_namespace0_generated_1830_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseTsnStreamType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24173LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeBaseTsnStreamType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1830_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24173LU) +); +} + +/* SrClassId - ns=0;i=24178 */ + +static UA_StatusCode function_namespace0_generated_1831_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SrClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24178LU), +UA_NODEID_NUMERIC(ns[0], 24173LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SrClassId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1831_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24178LU) +); +} + +/* AccumulatedLatency - ns=0;i=24177 */ + +static UA_StatusCode function_namespace0_generated_1832_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AccumulatedLatency"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24177LU), +UA_NODEID_NUMERIC(ns[0], 24173LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AccumulatedLatency"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1832_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24177LU) +); +} + +/* State - ns=0;i=24176 */ + +static UA_StatusCode function_namespace0_generated_1833_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24220LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24176LU), +UA_NODEID_NUMERIC(ns[0], 24173LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1833_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24176LU) +); +} + +/* StreamName - ns=0;i=24175 */ + +static UA_StatusCode function_namespace0_generated_1834_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StreamName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24175LU), +UA_NODEID_NUMERIC(ns[0], 24173LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StreamName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1834_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24175LU) +); +} + +/* StreamId - ns=0;i=24174 */ + +static UA_StatusCode function_namespace0_generated_1835_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 8; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StreamId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24174LU), +UA_NODEID_NUMERIC(ns[0], 24173LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StreamId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1835_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24174LU) +); +} + +/* ISrClassType - ns=0;i=24169 */ + +static UA_StatusCode function_namespace0_generated_1836_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ISrClassType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24169LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ISrClassType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1836_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24169LU) +); +} + +/* Vid - ns=0;i=24172 */ + +static UA_StatusCode function_namespace0_generated_1837_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Vid"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24172LU), +UA_NODEID_NUMERIC(ns[0], 24169LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Vid"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1837_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24172LU) +); +} + +/* Priority - ns=0;i=24171 */ + +static UA_StatusCode function_namespace0_generated_1838_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24171LU), +UA_NODEID_NUMERIC(ns[0], 24169LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Priority"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1838_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24171LU) +); +} + +/* Id - ns=0;i=24170 */ + +static UA_StatusCode function_namespace0_generated_1839_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24170LU), +UA_NODEID_NUMERIC(ns[0], 24169LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1839_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24170LU) +); +} + +/* IBaseEthernetCapabilitiesType - ns=0;i=24167 */ + +static UA_StatusCode function_namespace0_generated_1840_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IBaseEthernetCapabilitiesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24167LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IBaseEthernetCapabilitiesType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1840_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24167LU) +); +} + +/* VlanTagCapable - ns=0;i=24168 */ + +static UA_StatusCode function_namespace0_generated_1841_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "VlanTagCapable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24168LU), +UA_NODEID_NUMERIC(ns[0], 24167LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "VlanTagCapable"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1841_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24168LU) +); +} + +/* IIeeeBaseEthernetPortType - ns=0;i=24158 */ + +static UA_StatusCode function_namespace0_generated_1842_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseEthernetPortType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24158LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIeeeBaseEthernetPortType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1842_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24158LU) +); +} + +/* MaxFrameLength - ns=0;i=24166 */ + +static UA_StatusCode function_namespace0_generated_1843_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFrameLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24166LU), +UA_NODEID_NUMERIC(ns[0], 24158LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxFrameLength"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1843_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24166LU) +); +} + +/* Duplex - ns=0;i=24165 */ + +static UA_StatusCode function_namespace0_generated_1844_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24210LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Duplex"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24165LU), +UA_NODEID_NUMERIC(ns[0], 24158LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Duplex"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1844_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24165LU) +); +} + +/* Speed - ns=0;i=24159 */ + +static UA_StatusCode function_namespace0_generated_1845_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Speed"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24159LU), +UA_NODEID_NUMERIC(ns[0], 24158LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Speed"), +UA_NODEID_NUMERIC(ns[0], 17497LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1845_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24159LU) +); +} + +/* EngineeringUnits - ns=0;i=24164 */ + +static UA_StatusCode function_namespace0_generated_1846_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); + +UA_STACKARRAY(UA_EUInformation, variablenode_ns_0_i_24164_EUInformation_0, 1); +UA_init(variablenode_ns_0_i_24164_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); +variablenode_ns_0_i_24164_EUInformation_0->namespaceUri = UA_STRING("http://www.opcfoundation.org/UA/units/un/cefact"); +variablenode_ns_0_i_24164_EUInformation_0->unitId = (UA_Int32) 4534832; +variablenode_ns_0_i_24164_EUInformation_0->displayName = UA_LOCALIZEDTEXT("en", "Mbit/s"); +variablenode_ns_0_i_24164_EUInformation_0->description = UA_LOCALIZEDTEXT("en", "megabit per second"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24164_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24164LU), +UA_NODEID_NUMERIC(ns[0], 24159LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1846_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24164LU) +); +} + +/* IIetfBaseNetworkInterfaceType - ns=0;i=24148 */ + +static UA_StatusCode function_namespace0_generated_1847_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IIetfBaseNetworkInterfaceType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 24148LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IIetfBaseNetworkInterfaceType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24148LU), UA_NODEID_NUMERIC(ns[0], 17603LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25221LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24148LU), UA_NODEID_NUMERIC(ns[0], 17603LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25226LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1847_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24148LU) +); +} + +/* Speed - ns=0;i=24152 */ + +static UA_StatusCode function_namespace0_generated_1848_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Speed"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24152LU), +UA_NODEID_NUMERIC(ns[0], 24148LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Speed"), +UA_NODEID_NUMERIC(ns[0], 17497LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1848_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24152LU) +); +} + +/* EngineeringUnits - ns=0;i=24157 */ + +static UA_StatusCode function_namespace0_generated_1849_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); + +UA_STACKARRAY(UA_EUInformation, variablenode_ns_0_i_24157_EUInformation_0, 1); +UA_init(variablenode_ns_0_i_24157_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); +variablenode_ns_0_i_24157_EUInformation_0->namespaceUri = UA_STRING("http://www.opcfoundation.org/UA/units/un/cefact"); +variablenode_ns_0_i_24157_EUInformation_0->unitId = (UA_Int32) 4337968; +variablenode_ns_0_i_24157_EUInformation_0->displayName = UA_LOCALIZEDTEXT("en", "bit/s"); +variablenode_ns_0_i_24157_EUInformation_0->description = UA_LOCALIZEDTEXT("en", "bit per second"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24157_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24157LU), +UA_NODEID_NUMERIC(ns[0], 24152LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1849_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24157LU) +); +} + +/* PhysAddress - ns=0;i=24151 */ + +static UA_StatusCode function_namespace0_generated_1850_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PhysAddress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24151LU), +UA_NODEID_NUMERIC(ns[0], 24148LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PhysAddress"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1850_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24151LU) +); +} + +/* OperStatus - ns=0;i=24150 */ + +static UA_StatusCode function_namespace0_generated_1851_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24214LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24150LU), +UA_NODEID_NUMERIC(ns[0], 24148LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1851_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24150LU) +); +} + +/* AdminStatus - ns=0;i=24149 */ + +static UA_StatusCode function_namespace0_generated_1852_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24212LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AdminStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24149LU), +UA_NODEID_NUMERIC(ns[0], 24148LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AdminStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1852_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24149LU) +); +} + +/* IOrderedObjectType - ns=0;i=23513 */ + +static UA_StatusCode function_namespace0_generated_1853_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "IOrderedObjectType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23513LU), +UA_NODEID_NUMERIC(ns[0], 17602LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IOrderedObjectType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23513LU), UA_NODEID_NUMERIC(ns[0], 17603LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1853_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23513LU) +); +} + +/* NumberInList - ns=0;i=23517 */ + +static UA_StatusCode function_namespace0_generated_1854_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NumberInList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23517LU), +UA_NODEID_NUMERIC(ns[0], 23513LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NumberInList"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1854_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23517LU) +); +} + +/* DictionaryFolderType - ns=0;i=17591 */ + +static UA_StatusCode function_namespace0_generated_1855_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DictionaryFolderType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17591LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DictionaryFolderType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1855_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17591LU) +); +} + +/* - ns=0;i=17592 */ + +static UA_StatusCode function_namespace0_generated_1856_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17592LU), +UA_NODEID_NUMERIC(ns[0], 17591LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 17591LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1856_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17592LU) +); +} + +/* DictionaryEntryType - ns=0;i=17589 */ + +static UA_StatusCode function_namespace0_generated_1857_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DictionaryEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17589LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DictionaryEntryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1857_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17589LU) +); +} + +/* UriDictionaryEntryType - ns=0;i=17600 */ + +static UA_StatusCode function_namespace0_generated_1858_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UriDictionaryEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17600LU), +UA_NODEID_NUMERIC(ns[0], 17589LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "UriDictionaryEntryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1858_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17600LU) +); +} + +/* IrdiDictionaryEntryType - ns=0;i=17598 */ + +static UA_StatusCode function_namespace0_generated_1859_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IrdiDictionaryEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17598LU), +UA_NODEID_NUMERIC(ns[0], 17589LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "IrdiDictionaryEntryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1859_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17598LU) +); +} + +/* - ns=0;i=17593 */ + +static UA_StatusCode function_namespace0_generated_1860_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17593LU), +UA_NODEID_NUMERIC(ns[0], 17591LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 17589LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1860_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17593LU) +); +} + +/* - ns=0;i=17590 */ + +static UA_StatusCode function_namespace0_generated_1861_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17590LU), +UA_NODEID_NUMERIC(ns[0], 17589LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 17589LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1861_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17590LU) +); +} + +/* RoleType - ns=0;i=15620 */ + +static UA_StatusCode function_namespace0_generated_1862_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RoleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RoleType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1862_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15620LU) +); +} + +/* CustomConfiguration - ns=0;i=24139 */ + +static UA_StatusCode function_namespace0_generated_1863_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24139LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1863_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24139LU) +); +} + +/* RemoveEndpoint - ns=0;i=16182 */ + +static UA_StatusCode function_namespace0_generated_1864_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16182LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1864_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16182LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16183 */ + +static UA_StatusCode function_namespace0_generated_1865_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16183_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16183_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16183_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16183_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16183_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16183_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16183LU), +UA_NODEID_NUMERIC(ns[0], 16182LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1865_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16183LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16180 */ + +static UA_StatusCode function_namespace0_generated_1866_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16180LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1866_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16180LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16181 */ + +static UA_StatusCode function_namespace0_generated_1867_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16181_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16181_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16181_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16181_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16181_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16181_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16181LU), +UA_NODEID_NUMERIC(ns[0], 16180LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1867_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16181LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16178 */ + +static UA_StatusCode function_namespace0_generated_1868_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16178LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1868_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16178LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16179 */ + +static UA_StatusCode function_namespace0_generated_1869_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16179_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16179_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16179_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16179_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16179_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16179_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16179LU), +UA_NODEID_NUMERIC(ns[0], 16178LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1869_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16179LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16176 */ + +static UA_StatusCode function_namespace0_generated_1870_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16176LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1870_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16176LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16177 */ + +static UA_StatusCode function_namespace0_generated_1871_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16177_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16177_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16177_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16177_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16177_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16177_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16177LU), +UA_NODEID_NUMERIC(ns[0], 16176LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1871_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16177LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16175 */ + +static UA_StatusCode function_namespace0_generated_1872_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16175LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1872_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16175LU) +); +} + +/* Applications - ns=0;i=16174 */ + +static UA_StatusCode function_namespace0_generated_1873_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16174LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1873_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16174LU) +); +} + +/* Identities - ns=0;i=16173 */ + +static UA_StatusCode function_namespace0_generated_1874_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16173LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1874_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16173LU) +); +} + +/* RemoveIdentity - ns=0;i=15626 */ + +static UA_StatusCode function_namespace0_generated_1875_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15626LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1875_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15626LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15627 */ + +static UA_StatusCode function_namespace0_generated_1876_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15627_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15627_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15627_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15627_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15627_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15627_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15627LU), +UA_NODEID_NUMERIC(ns[0], 15626LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1876_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15627LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15624 */ + +static UA_StatusCode function_namespace0_generated_1877_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15624LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1877_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15624LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15625 */ + +static UA_StatusCode function_namespace0_generated_1878_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15625_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15625_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15625_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15625_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15625_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15625_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15625LU), +UA_NODEID_NUMERIC(ns[0], 15624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1878_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15625LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15411 */ + +static UA_StatusCode function_namespace0_generated_1879_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15411LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1879_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15411LU) +); +} + +/* ApplicationsExclude - ns=0;i=15410 */ + +static UA_StatusCode function_namespace0_generated_1880_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15410LU), +UA_NODEID_NUMERIC(ns[0], 15620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1880_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15410LU) +); +} + +/* RoleSetType - ns=0;i=15607 */ + +static UA_StatusCode function_namespace0_generated_1881_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RoleSetType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15607LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RoleSetType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1881_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15607LU) +); +} + +/* RemoveRole - ns=0;i=16000 */ + +static UA_StatusCode function_namespace0_generated_1882_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveRole"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16000LU), +UA_NODEID_NUMERIC(ns[0], 15607LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveRole"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1882_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16000LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16001 */ + +static UA_StatusCode function_namespace0_generated_1883_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16001_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16001_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16001_variant_DataContents[0].name = UA_STRING("RoleNodeId"); +variablenode_ns_0_i_16001_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16001_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16001_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16001LU), +UA_NODEID_NUMERIC(ns[0], 16000LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1883_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16001LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddRole - ns=0;i=15997 */ + +static UA_StatusCode function_namespace0_generated_1884_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddRole"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15997LU), +UA_NODEID_NUMERIC(ns[0], 15607LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddRole"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1884_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15997LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15999 */ + +static UA_StatusCode function_namespace0_generated_1885_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15999_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15999_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15999_variant_DataContents[0].name = UA_STRING("RoleNodeId"); +variablenode_ns_0_i_15999_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15999_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15999_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15999LU), +UA_NODEID_NUMERIC(ns[0], 15997LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1885_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15999LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15998 */ + +static UA_StatusCode function_namespace0_generated_1886_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15998_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15998_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15998_variant_DataContents[0].name = UA_STRING("RoleName"); +variablenode_ns_0_i_15998_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15998_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15998_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15998_variant_DataContents[1].name = UA_STRING("NamespaceUri"); +variablenode_ns_0_i_15998_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15998_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15998_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15998LU), +UA_NODEID_NUMERIC(ns[0], 15997LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1886_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15998LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=15608 */ + +static UA_StatusCode function_namespace0_generated_1887_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15608LU), +UA_NODEID_NUMERIC(ns[0], 15607LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1887_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15608LU) +); +} + +/* Identities - ns=0;i=16162 */ + +static UA_StatusCode function_namespace0_generated_1888_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16162LU), +UA_NODEID_NUMERIC(ns[0], 15608LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1888_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16162LU) +); +} + +/* TemporaryFileTransferType - ns=0;i=15744 */ + +static UA_StatusCode function_namespace0_generated_1889_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TemporaryFileTransferType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15744LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TemporaryFileTransferType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1889_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15744LU) +); +} + +/* CloseAndCommit - ns=0;i=15751 */ + +static UA_StatusCode function_namespace0_generated_1890_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndCommit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15751LU), +UA_NODEID_NUMERIC(ns[0], 15744LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndCommit"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1890_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15751LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15753 */ + +static UA_StatusCode function_namespace0_generated_1891_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15753_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15753_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15753_variant_DataContents[0].name = UA_STRING("CompletionStateMachine"); +variablenode_ns_0_i_15753_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15753_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15753_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15753LU), +UA_NODEID_NUMERIC(ns[0], 15751LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1891_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15753LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15752 */ + +static UA_StatusCode function_namespace0_generated_1892_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15752_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15752_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15752_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_15752_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15752_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15752_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15752LU), +UA_NODEID_NUMERIC(ns[0], 15751LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1892_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15752LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GenerateFileForWrite - ns=0;i=15749 */ + +static UA_StatusCode function_namespace0_generated_1893_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GenerateFileForWrite"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15749LU), +UA_NODEID_NUMERIC(ns[0], 15744LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GenerateFileForWrite"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1893_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15749LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16359 */ + +static UA_StatusCode function_namespace0_generated_1894_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16359_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16359_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16359_variant_DataContents[0].name = UA_STRING("GenerateOptions"); +variablenode_ns_0_i_16359_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_16359_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16359_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16359LU), +UA_NODEID_NUMERIC(ns[0], 15749LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1894_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16359LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15750 */ + +static UA_StatusCode function_namespace0_generated_1895_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15750_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15750_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15750_variant_DataContents[0].name = UA_STRING("FileNodeId"); +variablenode_ns_0_i_15750_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15750_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15750_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15750_variant_DataContents[1].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_15750_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15750_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15750_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15750LU), +UA_NODEID_NUMERIC(ns[0], 15749LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1895_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15750LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GenerateFileForRead - ns=0;i=15746 */ + +static UA_StatusCode function_namespace0_generated_1896_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GenerateFileForRead"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15746LU), +UA_NODEID_NUMERIC(ns[0], 15744LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GenerateFileForRead"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1896_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15746LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15748 */ + +static UA_StatusCode function_namespace0_generated_1897_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15748_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_15748_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15748_variant_DataContents[0].name = UA_STRING("FileNodeId"); +variablenode_ns_0_i_15748_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15748_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15748_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15748_variant_DataContents[1].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_15748_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15748_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15748_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15748_variant_DataContents[2].name = UA_STRING("CompletionStateMachine"); +variablenode_ns_0_i_15748_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15748_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15748_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15748LU), +UA_NODEID_NUMERIC(ns[0], 15746LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1897_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15748LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15747 */ + +static UA_StatusCode function_namespace0_generated_1898_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15747_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15747_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15747_variant_DataContents[0].name = UA_STRING("GenerateOptions"); +variablenode_ns_0_i_15747_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_15747_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15747_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15747LU), +UA_NODEID_NUMERIC(ns[0], 15746LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1898_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15747LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ClientProcessingTimeout - ns=0;i=15745 */ + +static UA_StatusCode function_namespace0_generated_1899_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientProcessingTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15745LU), +UA_NODEID_NUMERIC(ns[0], 15744LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientProcessingTimeout"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1899_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15745LU) +); +} + +/* FileDirectoryType - ns=0;i=13353 */ + +static UA_StatusCode function_namespace0_generated_1900_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FileDirectoryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FileDirectoryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1900_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13353LU) +); +} + +/* FileSystem - ns=0;i=16314 */ + +static UA_StatusCode function_namespace0_generated_1901_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FileSystem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16314LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "FileSystem"), +UA_NODEID_NUMERIC(ns[0], 13353LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1901_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16314LU) +); +} + +/* MoveOrCopy - ns=0;i=16356 */ + +static UA_StatusCode function_namespace0_generated_1902_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "MoveOrCopy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16356LU), +UA_NODEID_NUMERIC(ns[0], 16314LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MoveOrCopy"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1902_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16356LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16358 */ + +static UA_StatusCode function_namespace0_generated_1903_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16358_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16358_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16358_variant_DataContents[0].name = UA_STRING("NewNodeId"); +variablenode_ns_0_i_16358_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16358_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16358_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16358LU), +UA_NODEID_NUMERIC(ns[0], 16356LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1903_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16358LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16357 */ + +static UA_StatusCode function_namespace0_generated_1904_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16357_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_16357_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16357_variant_DataContents[0].name = UA_STRING("ObjectToMoveOrCopy"); +variablenode_ns_0_i_16357_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16357_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16357_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16357_variant_DataContents[1].name = UA_STRING("TargetDirectory"); +variablenode_ns_0_i_16357_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16357_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16357_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16357_variant_DataContents[2].name = UA_STRING("CreateCopy"); +variablenode_ns_0_i_16357_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_16357_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16357_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16357_variant_DataContents[3].name = UA_STRING("NewName"); +variablenode_ns_0_i_16357_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16357_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16357_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16357LU), +UA_NODEID_NUMERIC(ns[0], 16356LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1904_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16357LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Delete - ns=0;i=16354 */ + +static UA_StatusCode function_namespace0_generated_1905_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Delete"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16354LU), +UA_NODEID_NUMERIC(ns[0], 16314LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Delete"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1905_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16354LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16355 */ + +static UA_StatusCode function_namespace0_generated_1906_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16355_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16355_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16355_variant_DataContents[0].name = UA_STRING("ObjectToDelete"); +variablenode_ns_0_i_16355_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16355_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16355_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16355LU), +UA_NODEID_NUMERIC(ns[0], 16354LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1906_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16355LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateFile - ns=0;i=16351 */ + +static UA_StatusCode function_namespace0_generated_1907_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateFile"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16351LU), +UA_NODEID_NUMERIC(ns[0], 16314LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateFile"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1907_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16351LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16353 */ + +static UA_StatusCode function_namespace0_generated_1908_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16353_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16353_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16353_variant_DataContents[0].name = UA_STRING("FileNodeId"); +variablenode_ns_0_i_16353_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16353_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16353_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16353_variant_DataContents[1].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_16353_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_16353_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16353_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16353LU), +UA_NODEID_NUMERIC(ns[0], 16351LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1908_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16353LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16352 */ + +static UA_StatusCode function_namespace0_generated_1909_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16352_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16352_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16352_variant_DataContents[0].name = UA_STRING("FileName"); +variablenode_ns_0_i_16352_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16352_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16352_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16352_variant_DataContents[1].name = UA_STRING("RequestFileOpen"); +variablenode_ns_0_i_16352_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_16352_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16352_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16352LU), +UA_NODEID_NUMERIC(ns[0], 16351LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1909_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16352LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateDirectory - ns=0;i=16348 */ + +static UA_StatusCode function_namespace0_generated_1910_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateDirectory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16348LU), +UA_NODEID_NUMERIC(ns[0], 16314LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateDirectory"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1910_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16348LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16350 */ + +static UA_StatusCode function_namespace0_generated_1911_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16350_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16350_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16350_variant_DataContents[0].name = UA_STRING("DirectoryNodeId"); +variablenode_ns_0_i_16350_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16350_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16350_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16350LU), +UA_NODEID_NUMERIC(ns[0], 16348LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1911_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16350LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16349 */ + +static UA_StatusCode function_namespace0_generated_1912_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16349_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16349_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16349_variant_DataContents[0].name = UA_STRING("DirectoryName"); +variablenode_ns_0_i_16349_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16349_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16349_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16349LU), +UA_NODEID_NUMERIC(ns[0], 16348LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1912_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16349LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* MoveOrCopy - ns=0;i=13395 */ + +static UA_StatusCode function_namespace0_generated_1913_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "MoveOrCopy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13395LU), +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MoveOrCopy"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1913_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13395LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13397 */ + +static UA_StatusCode function_namespace0_generated_1914_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13397_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13397_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13397_variant_DataContents[0].name = UA_STRING("NewNodeId"); +variablenode_ns_0_i_13397_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13397_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13397_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13397LU), +UA_NODEID_NUMERIC(ns[0], 13395LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1914_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13397LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13396 */ + +static UA_StatusCode function_namespace0_generated_1915_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13396_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_13396_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13396_variant_DataContents[0].name = UA_STRING("ObjectToMoveOrCopy"); +variablenode_ns_0_i_13396_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13396_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13396_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13396_variant_DataContents[1].name = UA_STRING("TargetDirectory"); +variablenode_ns_0_i_13396_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13396_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13396_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13396_variant_DataContents[2].name = UA_STRING("CreateCopy"); +variablenode_ns_0_i_13396_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13396_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13396_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13396_variant_DataContents[3].name = UA_STRING("NewName"); +variablenode_ns_0_i_13396_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13396_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13396_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13396LU), +UA_NODEID_NUMERIC(ns[0], 13395LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1915_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13396LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Delete - ns=0;i=13393 */ + +static UA_StatusCode function_namespace0_generated_1916_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Delete"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13393LU), +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Delete"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1916_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13393LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13394 */ + +static UA_StatusCode function_namespace0_generated_1917_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13394_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13394_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13394_variant_DataContents[0].name = UA_STRING("ObjectToDelete"); +variablenode_ns_0_i_13394_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13394_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13394_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13394LU), +UA_NODEID_NUMERIC(ns[0], 13393LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1917_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13394LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateFile - ns=0;i=13390 */ + +static UA_StatusCode function_namespace0_generated_1918_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateFile"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13390LU), +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateFile"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1918_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13390LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13392 */ + +static UA_StatusCode function_namespace0_generated_1919_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13392_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13392_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13392_variant_DataContents[0].name = UA_STRING("FileNodeId"); +variablenode_ns_0_i_13392_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13392_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13392_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13392_variant_DataContents[1].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13392_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13392_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13392_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13392LU), +UA_NODEID_NUMERIC(ns[0], 13390LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1919_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13392LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13391 */ + +static UA_StatusCode function_namespace0_generated_1920_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13391_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13391_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13391_variant_DataContents[0].name = UA_STRING("FileName"); +variablenode_ns_0_i_13391_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13391_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13391_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13391_variant_DataContents[1].name = UA_STRING("RequestFileOpen"); +variablenode_ns_0_i_13391_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13391_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13391_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13391LU), +UA_NODEID_NUMERIC(ns[0], 13390LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1920_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13391LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateDirectory - ns=0;i=13387 */ + +static UA_StatusCode function_namespace0_generated_1921_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateDirectory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13387LU), +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateDirectory"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1921_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13387LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13389 */ + +static UA_StatusCode function_namespace0_generated_1922_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13389_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13389_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13389_variant_DataContents[0].name = UA_STRING("DirectoryNodeId"); +variablenode_ns_0_i_13389_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13389_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13389_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13389LU), +UA_NODEID_NUMERIC(ns[0], 13387LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1922_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13389LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13388 */ + +static UA_StatusCode function_namespace0_generated_1923_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13388_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13388_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13388_variant_DataContents[0].name = UA_STRING("DirectoryName"); +variablenode_ns_0_i_13388_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13388_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13388_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13388LU), +UA_NODEID_NUMERIC(ns[0], 13387LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1923_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13388LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* - ns=0;i=13354 */ + +static UA_StatusCode function_namespace0_generated_1924_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13354LU), +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 13353LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1924_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13354LU) +); +} + +/* Delete - ns=0;i=17718 */ + +static UA_StatusCode function_namespace0_generated_1925_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Delete"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17718LU), +UA_NODEID_NUMERIC(ns[0], 13354LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Delete"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1925_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17718LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17719 */ + +static UA_StatusCode function_namespace0_generated_1926_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17719_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17719_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17719_variant_DataContents[0].name = UA_STRING("ObjectToDelete"); +variablenode_ns_0_i_17719_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17719_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17719_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17719LU), +UA_NODEID_NUMERIC(ns[0], 17718LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1926_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17719LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* MoveOrCopy - ns=0;i=13363 */ + +static UA_StatusCode function_namespace0_generated_1927_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "MoveOrCopy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13363LU), +UA_NODEID_NUMERIC(ns[0], 13354LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MoveOrCopy"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1927_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13363LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13365 */ + +static UA_StatusCode function_namespace0_generated_1928_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13365_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13365_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13365_variant_DataContents[0].name = UA_STRING("NewNodeId"); +variablenode_ns_0_i_13365_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13365_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13365_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13365LU), +UA_NODEID_NUMERIC(ns[0], 13363LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1928_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13365LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13364 */ + +static UA_StatusCode function_namespace0_generated_1929_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13364_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_13364_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13364_variant_DataContents[0].name = UA_STRING("ObjectToMoveOrCopy"); +variablenode_ns_0_i_13364_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13364_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13364_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13364_variant_DataContents[1].name = UA_STRING("TargetDirectory"); +variablenode_ns_0_i_13364_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13364_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13364_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13364_variant_DataContents[2].name = UA_STRING("CreateCopy"); +variablenode_ns_0_i_13364_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13364_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13364_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13364_variant_DataContents[3].name = UA_STRING("NewName"); +variablenode_ns_0_i_13364_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13364_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13364_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13364LU), +UA_NODEID_NUMERIC(ns[0], 13363LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1929_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13364LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateFile - ns=0;i=13358 */ + +static UA_StatusCode function_namespace0_generated_1930_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateFile"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13358LU), +UA_NODEID_NUMERIC(ns[0], 13354LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateFile"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1930_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13358LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13360 */ + +static UA_StatusCode function_namespace0_generated_1931_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13360_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13360_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13360_variant_DataContents[0].name = UA_STRING("FileNodeId"); +variablenode_ns_0_i_13360_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13360_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13360_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13360_variant_DataContents[1].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13360_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13360_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13360_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13360LU), +UA_NODEID_NUMERIC(ns[0], 13358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1931_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13360LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13359 */ + +static UA_StatusCode function_namespace0_generated_1932_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13359_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13359_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13359_variant_DataContents[0].name = UA_STRING("FileName"); +variablenode_ns_0_i_13359_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13359_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13359_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13359_variant_DataContents[1].name = UA_STRING("RequestFileOpen"); +variablenode_ns_0_i_13359_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13359_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13359_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13359LU), +UA_NODEID_NUMERIC(ns[0], 13358LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1932_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13359LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateDirectory - ns=0;i=13355 */ + +static UA_StatusCode function_namespace0_generated_1933_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateDirectory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13355LU), +UA_NODEID_NUMERIC(ns[0], 13354LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateDirectory"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1933_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13355LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13357 */ + +static UA_StatusCode function_namespace0_generated_1934_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13357_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13357_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13357_variant_DataContents[0].name = UA_STRING("DirectoryNodeId"); +variablenode_ns_0_i_13357_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13357_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13357_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13357LU), +UA_NODEID_NUMERIC(ns[0], 13355LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1934_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13357LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13356 */ + +static UA_StatusCode function_namespace0_generated_1935_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13356_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13356_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13356_variant_DataContents[0].name = UA_STRING("DirectoryName"); +variablenode_ns_0_i_13356_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13356_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13356_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13356LU), +UA_NODEID_NUMERIC(ns[0], 13355LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_1935_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13356LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TransitionEventType - ns=0;i=2311 */ + +static UA_StatusCode function_namespace0_generated_1936_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2311LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransitionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1936_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2311LU) +); +} + +/* ProgramTransitionEventType - ns=0;i=2378 */ + +static UA_StatusCode function_namespace0_generated_1937_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramTransitionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2378LU), +UA_NODEID_NUMERIC(ns[0], 2311LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramTransitionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1937_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2378LU) +); +} + +/* IntermediateResult - ns=0;i=2379 */ + +static UA_StatusCode function_namespace0_generated_1938_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IntermediateResult"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2379LU), +UA_NODEID_NUMERIC(ns[0], 2378LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IntermediateResult"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1938_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2379LU) +); +} + +/* FrameType - ns=0;i=18786 */ + +static UA_StatusCode function_namespace0_generated_1939_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18813LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FrameType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FrameType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1939_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18786LU) +); +} + +/* 3DFrameType - ns=0;i=18791 */ + +static UA_StatusCode function_namespace0_generated_1940_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18814LU); +attr.displayName = UA_LOCALIZEDTEXT("", "3DFrameType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 18791LU), +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DFrameType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1940_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18791LU) +); +} + +/* FixedBase - ns=0;i=18790 */ + +static UA_StatusCode function_namespace0_generated_1941_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FixedBase"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18790LU), +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FixedBase"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1941_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18790LU) +); +} + +/* BaseFrame - ns=0;i=18789 */ + +static UA_StatusCode function_namespace0_generated_1942_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BaseFrame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18789LU), +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BaseFrame"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1942_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18789LU) +); +} + +/* Constant - ns=0;i=18788 */ + +static UA_StatusCode function_namespace0_generated_1943_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Constant"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18788LU), +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Constant"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1943_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18788LU) +); +} + +/* OrientationType - ns=0;i=18779 */ + +static UA_StatusCode function_namespace0_generated_1944_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18811LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OrientationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 18779LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OrientationType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1944_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18779LU) +); +} + +/* Orientation - ns=0;i=18787 */ + +static UA_StatusCode function_namespace0_generated_1945_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18811LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18787LU), +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Orientation"), +UA_NODEID_NUMERIC(ns[0], 18779LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1945_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18787LU) +); +} + +/* 3DOrientationType - ns=0;i=18781 */ + +static UA_StatusCode function_namespace0_generated_1946_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18812LU); +attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 18781LU), +UA_NODEID_NUMERIC(ns[0], 18779LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DOrientationType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1946_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18781LU) +); +} + +/* Orientation - ns=0;i=18792 */ + +static UA_StatusCode function_namespace0_generated_1947_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18812LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18792LU), +UA_NODEID_NUMERIC(ns[0], 18791LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Orientation"), +UA_NODEID_NUMERIC(ns[0], 18781LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1947_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18792LU) +); +} + +/* C - ns=0;i=19076 */ + +static UA_StatusCode function_namespace0_generated_1948_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "C"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19076LU), +UA_NODEID_NUMERIC(ns[0], 18792LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "C"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1948_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19076LU) +); +} + +/* B - ns=0;i=19075 */ + +static UA_StatusCode function_namespace0_generated_1949_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "B"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19075LU), +UA_NODEID_NUMERIC(ns[0], 18792LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "B"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1949_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19075LU) +); +} + +/* A - ns=0;i=19074 */ + +static UA_StatusCode function_namespace0_generated_1950_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "A"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19074LU), +UA_NODEID_NUMERIC(ns[0], 18792LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "A"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1950_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19074LU) +); +} + +/* C - ns=0;i=18785 */ + +static UA_StatusCode function_namespace0_generated_1951_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "C"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18785LU), +UA_NODEID_NUMERIC(ns[0], 18781LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "C"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1951_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18785LU) +); +} + +/* B - ns=0;i=18784 */ + +static UA_StatusCode function_namespace0_generated_1952_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "B"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18784LU), +UA_NODEID_NUMERIC(ns[0], 18781LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "B"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1952_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18784LU) +); +} + +/* A - ns=0;i=18783 */ + +static UA_StatusCode function_namespace0_generated_1953_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "A"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18783LU), +UA_NODEID_NUMERIC(ns[0], 18781LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "A"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1953_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18783LU) +); +} + +/* AngleUnit - ns=0;i=18780 */ + +static UA_StatusCode function_namespace0_generated_1954_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AngleUnit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18780LU), +UA_NODEID_NUMERIC(ns[0], 18779LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AngleUnit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1954_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18780LU) +); +} + +/* CartesianCoordinatesType - ns=0;i=18772 */ + +static UA_StatusCode function_namespace0_generated_1955_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18809LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinatesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 18772LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CartesianCoordinatesType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1955_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18772LU) +); +} + +/* CartesianCoordinates - ns=0;i=18801 */ + +static UA_StatusCode function_namespace0_generated_1956_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18809LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18801LU), +UA_NODEID_NUMERIC(ns[0], 18786LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), +UA_NODEID_NUMERIC(ns[0], 18772LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1956_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18801LU) +); +} + +/* 3DCartesianCoordinatesType - ns=0;i=18774 */ + +static UA_StatusCode function_namespace0_generated_1957_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18810LU); +attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinatesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 18774LU), +UA_NODEID_NUMERIC(ns[0], 18772LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinatesType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1957_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18774LU) +); +} + +/* CartesianCoordinates - ns=0;i=18796 */ + +static UA_StatusCode function_namespace0_generated_1958_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18810LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18796LU), +UA_NODEID_NUMERIC(ns[0], 18791LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), +UA_NODEID_NUMERIC(ns[0], 18774LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1958_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18796LU) +); +} + +/* Z - ns=0;i=18800 */ + +static UA_StatusCode function_namespace0_generated_1959_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Z"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18800LU), +UA_NODEID_NUMERIC(ns[0], 18796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Z"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1959_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18800LU) +); +} + +/* Y - ns=0;i=18799 */ + +static UA_StatusCode function_namespace0_generated_1960_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Y"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18799LU), +UA_NODEID_NUMERIC(ns[0], 18796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Y"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1960_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18799LU) +); +} + +/* X - ns=0;i=18798 */ + +static UA_StatusCode function_namespace0_generated_1961_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "X"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18798LU), +UA_NODEID_NUMERIC(ns[0], 18796LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "X"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1961_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18798LU) +); +} + +/* Z - ns=0;i=18778 */ + +static UA_StatusCode function_namespace0_generated_1962_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Z"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18778LU), +UA_NODEID_NUMERIC(ns[0], 18774LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Z"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1962_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18778LU) +); +} + +/* Y - ns=0;i=18777 */ + +static UA_StatusCode function_namespace0_generated_1963_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Y"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18777LU), +UA_NODEID_NUMERIC(ns[0], 18774LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Y"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1963_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18777LU) +); +} + +/* X - ns=0;i=18776 */ + +static UA_StatusCode function_namespace0_generated_1964_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "X"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18776LU), +UA_NODEID_NUMERIC(ns[0], 18774LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "X"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1964_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18776LU) +); +} + +/* LengthUnit - ns=0;i=18773 */ + +static UA_StatusCode function_namespace0_generated_1965_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LengthUnit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18773LU), +UA_NODEID_NUMERIC(ns[0], 18772LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LengthUnit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1965_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18773LU) +); +} + +/* VectorType - ns=0;i=17714 */ + +static UA_StatusCode function_namespace0_generated_1966_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18807LU); +attr.displayName = UA_LOCALIZEDTEXT("", "VectorType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17714LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "VectorType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1966_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17714LU) +); +} + +/* 3DVectorType - ns=0;i=17716 */ + +static UA_StatusCode function_namespace0_generated_1967_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18808LU); +attr.displayName = UA_LOCALIZEDTEXT("", "3DVectorType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17716LU), +UA_NODEID_NUMERIC(ns[0], 17714LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "3DVectorType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1967_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17716LU) +); +} + +/* Z - ns=0;i=18771 */ + +static UA_StatusCode function_namespace0_generated_1968_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Z"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18771LU), +UA_NODEID_NUMERIC(ns[0], 17716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Z"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1968_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18771LU) +); +} + +/* Y - ns=0;i=18770 */ + +static UA_StatusCode function_namespace0_generated_1969_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Y"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18770LU), +UA_NODEID_NUMERIC(ns[0], 17716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Y"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1969_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18770LU) +); +} + +/* X - ns=0;i=18769 */ + +static UA_StatusCode function_namespace0_generated_1970_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); +attr.displayName = UA_LOCALIZEDTEXT("", "X"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18769LU), +UA_NODEID_NUMERIC(ns[0], 17716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "X"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1970_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18769LU) +); +} + +/* VectorUnit - ns=0;i=17715 */ + +static UA_StatusCode function_namespace0_generated_1971_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "VectorUnit"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17715LU), +UA_NODEID_NUMERIC(ns[0], 17714LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "VectorUnit"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1971_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17715LU) +); +} + +/* RationalNumberType - ns=0;i=17709 */ + +static UA_StatusCode function_namespace0_generated_1972_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 18806LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17709LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RationalNumberType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1972_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17709LU) +); +} + +/* Denominator - ns=0;i=17713 */ + +static UA_StatusCode function_namespace0_generated_1973_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Denominator"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17713LU), +UA_NODEID_NUMERIC(ns[0], 17709LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Denominator"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1973_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17713LU) +); +} + +/* Numerator - ns=0;i=17712 */ + +static UA_StatusCode function_namespace0_generated_1974_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Numerator"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17712LU), +UA_NODEID_NUMERIC(ns[0], 17709LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Numerator"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1974_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17712LU) +); +} + +/* GuardVariableType - ns=0;i=15113 */ + +static UA_StatusCode function_namespace0_generated_1975_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GuardVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 15113LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "GuardVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1975_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15113LU) +); +} + +/* ElseGuardVariableType - ns=0;i=15317 */ + +static UA_StatusCode function_namespace0_generated_1976_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ElseGuardVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 15317LU), +UA_NODEID_NUMERIC(ns[0], 15113LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ElseGuardVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1976_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15317LU) +); +} + +/* ExpressionGuardVariableType - ns=0;i=15128 */ + +static UA_StatusCode function_namespace0_generated_1977_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ExpressionGuardVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 15128LU), +UA_NODEID_NUMERIC(ns[0], 15113LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExpressionGuardVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1977_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15128LU) +); +} + +/* Expression - ns=0;i=15129 */ + +static UA_StatusCode function_namespace0_generated_1978_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 586LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Expression"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15129LU), +UA_NODEID_NUMERIC(ns[0], 15128LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Expression"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1978_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15129LU) +); +} + +/* TransitionType - ns=0;i=2310 */ + +static UA_StatusCode function_namespace0_generated_1979_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2310LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransitionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1979_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2310LU) +); +} + +/* TransitionNumber - ns=0;i=2312 */ + +static UA_StatusCode function_namespace0_generated_1980_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2312LU), +UA_NODEID_NUMERIC(ns[0], 2310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1980_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2312LU) +); +} + +/* StateType - ns=0;i=2307 */ + +static UA_StatusCode function_namespace0_generated_1981_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2307LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1981_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2307LU) +); +} + +/* InitialStateType - ns=0;i=2309 */ + +static UA_StatusCode function_namespace0_generated_1982_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "InitialStateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2309LU), +UA_NODEID_NUMERIC(ns[0], 2307LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "InitialStateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1982_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2309LU) +); +} + +/* StateNumber - ns=0;i=2308 */ + +static UA_StatusCode function_namespace0_generated_1983_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2308LU), +UA_NODEID_NUMERIC(ns[0], 2307LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1983_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2308LU) +); +} + +/* ChoiceStateType - ns=0;i=15109 */ + +static UA_StatusCode function_namespace0_generated_1984_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ChoiceStateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15109LU), +UA_NODEID_NUMERIC(ns[0], 2307LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ChoiceStateType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1984_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15109LU) +); +} + +/* TransitionVariableType - ns=0;i=2762 */ + +static UA_StatusCode function_namespace0_generated_1985_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransitionVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1985_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2762LU) +); +} + +/* Transition - ns=0;i=2774 */ + +static UA_StatusCode function_namespace0_generated_1986_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Transition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2774LU), +UA_NODEID_NUMERIC(ns[0], 2311LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Transition"), +UA_NODEID_NUMERIC(ns[0], 2762LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1986_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2774LU) +); +} + +/* Id - ns=0;i=3754 */ + +static UA_StatusCode function_namespace0_generated_1987_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3754LU), +UA_NODEID_NUMERIC(ns[0], 2774LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1987_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3754LU) +); +} + +/* FiniteTransitionVariableType - ns=0;i=2767 */ + +static UA_StatusCode function_namespace0_generated_1988_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FiniteTransitionVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2767LU), +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FiniteTransitionVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1988_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2767LU) +); +} + +/* Id - ns=0;i=2768 */ + +static UA_StatusCode function_namespace0_generated_1989_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2768LU), +UA_NODEID_NUMERIC(ns[0], 2767LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1989_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2768LU) +); +} + +/* TransitionTime - ns=0;i=2766 */ + +static UA_StatusCode function_namespace0_generated_1990_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2766LU), +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1990_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2766LU) +); +} + +/* Number - ns=0;i=2765 */ + +static UA_StatusCode function_namespace0_generated_1991_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Number"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2765LU), +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Number"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1991_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2765LU) +); +} + +/* Name - ns=0;i=2764 */ + +static UA_StatusCode function_namespace0_generated_1992_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Name"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2764LU), +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Name"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1992_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2764LU) +); +} + +/* Id - ns=0;i=2763 */ + +static UA_StatusCode function_namespace0_generated_1993_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2763LU), +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1993_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2763LU) +); +} + +/* EffectiveTransitionTime - ns=0;i=11456 */ + +static UA_StatusCode function_namespace0_generated_1994_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11456LU), +UA_NODEID_NUMERIC(ns[0], 2762LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1994_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11456LU) +); +} + +/* StateVariableType - ns=0;i=2755 */ + +static UA_StatusCode function_namespace0_generated_1995_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StateVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1995_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2755LU) +); +} + +/* TwoStateVariableType - ns=0;i=8995 */ + +static UA_StatusCode function_namespace0_generated_1996_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TwoStateVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 8995LU), +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TwoStateVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1996_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8995LU) +); +} + +/* ActiveState - ns=0;i=9963 */ + +static UA_StatusCode function_namespace0_generated_1997_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9963LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActiveState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1997_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9963LU) +); +} + +/* Id - ns=0;i=9964 */ + +static UA_StatusCode function_namespace0_generated_1998_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9964LU), +UA_NODEID_NUMERIC(ns[0], 9963LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1998_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9964LU) +); +} + +/* ActiveState - ns=0;i=9398 */ + +static UA_StatusCode function_namespace0_generated_1999_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9398LU), +UA_NODEID_NUMERIC(ns[0], 9341LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActiveState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_1999_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9398LU) +); +} + +/* Id - ns=0;i=9399 */ + +static UA_StatusCode function_namespace0_generated_2000_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9399LU), +UA_NODEID_NUMERIC(ns[0], 9398LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2000_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9399LU) +); +} + +/* SuppressedState - ns=0;i=9169 */ + +static UA_StatusCode function_namespace0_generated_2001_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9169LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SuppressedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2001_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9169LU) +); +} + +/* FalseState - ns=0;i=9177 */ + +static UA_StatusCode function_namespace0_generated_2002_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9177_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9177_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9177_variant_DataContents); +*variablenode_ns_0_i_9177_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unsuppressed"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9177_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9177LU), +UA_NODEID_NUMERIC(ns[0], 9169LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9177_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2002_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9177LU) +); +} + +/* TrueState - ns=0;i=9176 */ + +static UA_StatusCode function_namespace0_generated_2003_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9176_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9176_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9176_variant_DataContents); +*variablenode_ns_0_i_9176_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Suppressed"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9176_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9176LU), +UA_NODEID_NUMERIC(ns[0], 9169LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9176_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2003_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9176LU) +); +} + +/* TransitionTime - ns=0;i=9174 */ + +static UA_StatusCode function_namespace0_generated_2004_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9174LU), +UA_NODEID_NUMERIC(ns[0], 9169LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2004_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9174LU) +); +} + +/* Id - ns=0;i=9170 */ + +static UA_StatusCode function_namespace0_generated_2005_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9170LU), +UA_NODEID_NUMERIC(ns[0], 9169LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2005_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9170LU) +); +} + +/* ActiveState - ns=0;i=9160 */ + +static UA_StatusCode function_namespace0_generated_2006_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActiveState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2006_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9160LU) +); +} + +/* FalseState - ns=0;i=9168 */ + +static UA_StatusCode function_namespace0_generated_2007_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9168_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9168_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9168_variant_DataContents); +*variablenode_ns_0_i_9168_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9168_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9168LU), +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9168_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2007_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9168LU) +); +} + +/* TrueState - ns=0;i=9167 */ + +static UA_StatusCode function_namespace0_generated_2008_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9167_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9167_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9167_variant_DataContents); +*variablenode_ns_0_i_9167_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9167_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9167LU), +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9167_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2008_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9167LU) +); +} + +/* EffectiveTransitionTime - ns=0;i=9166 */ + +static UA_StatusCode function_namespace0_generated_2009_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9166LU), +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2009_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9166LU) +); +} + +/* TransitionTime - ns=0;i=9165 */ + +static UA_StatusCode function_namespace0_generated_2010_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9165LU), +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2010_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9165LU) +); +} + +/* EffectiveDisplayName - ns=0;i=9164 */ + +static UA_StatusCode function_namespace0_generated_2011_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveDisplayName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9164LU), +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveDisplayName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2011_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9164LU) +); +} + +/* Id - ns=0;i=9161 */ + +static UA_StatusCode function_namespace0_generated_2012_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9161LU), +UA_NODEID_NUMERIC(ns[0], 9160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2012_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9161LU) +); +} + +/* EnabledState - ns=0;i=9118 */ + +static UA_StatusCode function_namespace0_generated_2013_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9118LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9118LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9160LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9118LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9169LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2013_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9118LU) +); +} + +/* Id - ns=0;i=9119 */ + +static UA_StatusCode function_namespace0_generated_2014_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9119LU), +UA_NODEID_NUMERIC(ns[0], 9118LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2014_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9119LU) +); +} + +/* ConfirmedState - ns=0;i=9102 */ + +static UA_StatusCode function_namespace0_generated_2015_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfirmedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9102LU), +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfirmedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2015_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9102LU) +); +} + +/* FalseState - ns=0;i=9110 */ + +static UA_StatusCode function_namespace0_generated_2016_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9110_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9110_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9110_variant_DataContents); +*variablenode_ns_0_i_9110_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unconfirmed"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9110_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9110LU), +UA_NODEID_NUMERIC(ns[0], 9102LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9110_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2016_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9110LU) +); +} + +/* TrueState - ns=0;i=9109 */ + +static UA_StatusCode function_namespace0_generated_2017_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9109_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9109_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9109_variant_DataContents); +*variablenode_ns_0_i_9109_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Confirmed"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9109_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9109LU), +UA_NODEID_NUMERIC(ns[0], 9102LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9109_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2017_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9109LU) +); +} + +/* TransitionTime - ns=0;i=9107 */ + +static UA_StatusCode function_namespace0_generated_2018_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9107LU), +UA_NODEID_NUMERIC(ns[0], 9102LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2018_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9107LU) +); +} + +/* Id - ns=0;i=9103 */ + +static UA_StatusCode function_namespace0_generated_2019_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9103LU), +UA_NODEID_NUMERIC(ns[0], 9102LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2019_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9103LU) +); +} + +/* AckedState - ns=0;i=9093 */ + +static UA_StatusCode function_namespace0_generated_2020_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9093LU), +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AckedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2020_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9093LU) +); +} + +/* FalseState - ns=0;i=9101 */ + +static UA_StatusCode function_namespace0_generated_2021_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9101_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9101_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9101_variant_DataContents); +*variablenode_ns_0_i_9101_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unacknowledged"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9101_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9101LU), +UA_NODEID_NUMERIC(ns[0], 9093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9101_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2021_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9101LU) +); +} + +/* TrueState - ns=0;i=9100 */ + +static UA_StatusCode function_namespace0_generated_2022_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9100_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9100_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9100_variant_DataContents); +*variablenode_ns_0_i_9100_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Acknowledged"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9100_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9100LU), +UA_NODEID_NUMERIC(ns[0], 9093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9100_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2022_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9100LU) +); +} + +/* TransitionTime - ns=0;i=9098 */ + +static UA_StatusCode function_namespace0_generated_2023_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9098LU), +UA_NODEID_NUMERIC(ns[0], 9093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2023_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9098LU) +); +} + +/* Id - ns=0;i=9094 */ + +static UA_StatusCode function_namespace0_generated_2024_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9094LU), +UA_NODEID_NUMERIC(ns[0], 9093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2024_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9094LU) +); +} + +/* EnabledState - ns=0;i=9073 */ + +static UA_StatusCode function_namespace0_generated_2025_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9073LU), +UA_NODEID_NUMERIC(ns[0], 2881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9073LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9093LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9073LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9102LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2025_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9073LU) +); +} + +/* Id - ns=0;i=9074 */ + +static UA_StatusCode function_namespace0_generated_2026_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9074LU), +UA_NODEID_NUMERIC(ns[0], 9073LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2026_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9074LU) +); +} + +/* DialogState - ns=0;i=9055 */ + +static UA_StatusCode function_namespace0_generated_2027_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DialogState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9055LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DialogState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2027_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9055LU) +); +} + +/* FalseState - ns=0;i=9063 */ + +static UA_StatusCode function_namespace0_generated_2028_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9063_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9063_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9063_variant_DataContents); +*variablenode_ns_0_i_9063_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9063_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9063LU), +UA_NODEID_NUMERIC(ns[0], 9055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9063_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2028_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9063LU) +); +} + +/* TrueState - ns=0;i=9062 */ + +static UA_StatusCode function_namespace0_generated_2029_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9062_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9062_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9062_variant_DataContents); +*variablenode_ns_0_i_9062_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9062_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9062LU), +UA_NODEID_NUMERIC(ns[0], 9055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9062_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2029_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9062LU) +); +} + +/* TransitionTime - ns=0;i=9060 */ + +static UA_StatusCode function_namespace0_generated_2030_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9060LU), +UA_NODEID_NUMERIC(ns[0], 9055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2030_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9060LU) +); +} + +/* Id - ns=0;i=9056 */ + +static UA_StatusCode function_namespace0_generated_2031_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9056LU), +UA_NODEID_NUMERIC(ns[0], 9055LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2031_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9056LU) +); +} + +/* EnabledState - ns=0;i=9035 */ + +static UA_StatusCode function_namespace0_generated_2032_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9035LU), +UA_NODEID_NUMERIC(ns[0], 2830LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9035LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9055LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2032_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9035LU) +); +} + +/* Id - ns=0;i=9036 */ + +static UA_StatusCode function_namespace0_generated_2033_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9036LU), +UA_NODEID_NUMERIC(ns[0], 9035LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2033_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9036LU) +); +} + +/* EnabledState - ns=0;i=9011 */ + +static UA_StatusCode function_namespace0_generated_2034_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 2782LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2034_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9011LU) +); +} + +/* FalseState - ns=0;i=9019 */ + +static UA_StatusCode function_namespace0_generated_2035_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9019_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9019_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9019_variant_DataContents); +*variablenode_ns_0_i_9019_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Disabled"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9019_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9019LU), +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9019_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2035_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9019LU) +); +} + +/* TrueState - ns=0;i=9018 */ + +static UA_StatusCode function_namespace0_generated_2036_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_9018_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_9018_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_9018_variant_DataContents); +*variablenode_ns_0_i_9018_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Enabled"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9018_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9018LU), +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_9018_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2036_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9018LU) +); +} + +/* EffectiveTransitionTime - ns=0;i=9017 */ + +static UA_StatusCode function_namespace0_generated_2037_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9017LU), +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2037_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9017LU) +); +} + +/* TransitionTime - ns=0;i=9016 */ + +static UA_StatusCode function_namespace0_generated_2038_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9016LU), +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2038_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9016LU) +); +} + +/* EffectiveDisplayName - ns=0;i=9015 */ + +static UA_StatusCode function_namespace0_generated_2039_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveDisplayName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9015LU), +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveDisplayName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2039_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9015LU) +); +} + +/* Id - ns=0;i=9012 */ + +static UA_StatusCode function_namespace0_generated_2040_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9012LU), +UA_NODEID_NUMERIC(ns[0], 9011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2040_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9012LU) +); +} + +/* EffectiveTransitionTime - ns=0;i=9001 */ + +static UA_StatusCode function_namespace0_generated_2041_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9001LU), +UA_NODEID_NUMERIC(ns[0], 8995LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2041_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9001LU) +); +} + +/* TransitionTime - ns=0;i=9000 */ + +static UA_StatusCode function_namespace0_generated_2042_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9000LU), +UA_NODEID_NUMERIC(ns[0], 8995LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2042_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9000LU) +); +} + +/* Id - ns=0;i=8996 */ + +static UA_StatusCode function_namespace0_generated_2043_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8996LU), +UA_NODEID_NUMERIC(ns[0], 8995LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2043_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8996LU) +); +} + +/* ActiveState - ns=0;i=20202 */ + +static UA_StatusCode function_namespace0_generated_2044_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20202LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActiveState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2044_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20202LU) +); +} + +/* Id - ns=0;i=20203 */ + +static UA_StatusCode function_namespace0_generated_2045_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20203LU), +UA_NODEID_NUMERIC(ns[0], 20202LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2045_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20203LU) +); +} + +/* AckedState - ns=0;i=20180 */ + +static UA_StatusCode function_namespace0_generated_2046_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20180LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AckedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2046_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20180LU) +); +} + +/* Id - ns=0;i=20181 */ + +static UA_StatusCode function_namespace0_generated_2047_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20181LU), +UA_NODEID_NUMERIC(ns[0], 20180LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2047_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20181LU) +); +} + +/* EnabledState - ns=0;i=20160 */ + +static UA_StatusCode function_namespace0_generated_2048_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20160LU), +UA_NODEID_NUMERIC(ns[0], 20143LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2048_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20160LU) +); +} + +/* Id - ns=0;i=20161 */ + +static UA_StatusCode function_namespace0_generated_2049_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 20161LU), +UA_NODEID_NUMERIC(ns[0], 20160LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2049_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 20161LU) +); +} + +/* ActiveState - ns=0;i=19509 */ + +static UA_StatusCode function_namespace0_generated_2050_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19509LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActiveState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2050_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19509LU) +); +} + +/* Id - ns=0;i=19510 */ + +static UA_StatusCode function_namespace0_generated_2051_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19510LU), +UA_NODEID_NUMERIC(ns[0], 19509LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2051_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19510LU) +); +} + +/* AckedState - ns=0;i=19487 */ + +static UA_StatusCode function_namespace0_generated_2052_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19487LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AckedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2052_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19487LU) +); +} + +/* Id - ns=0;i=19488 */ + +static UA_StatusCode function_namespace0_generated_2053_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19488LU), +UA_NODEID_NUMERIC(ns[0], 19487LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2053_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19488LU) +); +} + +/* EnabledState - ns=0;i=19467 */ + +static UA_StatusCode function_namespace0_generated_2054_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19467LU), +UA_NODEID_NUMERIC(ns[0], 19450LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2054_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19467LU) +); +} + +/* Id - ns=0;i=19468 */ + +static UA_StatusCode function_namespace0_generated_2055_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19468LU), +UA_NODEID_NUMERIC(ns[0], 19467LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2055_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19468LU) +); +} + +/* LatchedState - ns=0;i=18190 */ + +static UA_StatusCode function_namespace0_generated_2056_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LatchedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18190LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LatchedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2056_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18190LU) +); +} + +/* FalseState - ns=0;i=18198 */ + +static UA_StatusCode function_namespace0_generated_2057_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_18198_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_18198_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_18198_variant_DataContents); +*variablenode_ns_0_i_18198_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unlatched"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18198_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18198LU), +UA_NODEID_NUMERIC(ns[0], 18190LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_18198_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2057_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18198LU) +); +} + +/* TrueState - ns=0;i=18197 */ + +static UA_StatusCode function_namespace0_generated_2058_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_18197_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_18197_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_18197_variant_DataContents); +*variablenode_ns_0_i_18197_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Latched"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18197_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18197LU), +UA_NODEID_NUMERIC(ns[0], 18190LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_18197_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2058_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18197LU) +); +} + +/* TransitionTime - ns=0;i=18195 */ + +static UA_StatusCode function_namespace0_generated_2059_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18195LU), +UA_NODEID_NUMERIC(ns[0], 18190LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2059_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18195LU) +); +} + +/* Id - ns=0;i=18191 */ + +static UA_StatusCode function_namespace0_generated_2060_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18191LU), +UA_NODEID_NUMERIC(ns[0], 18190LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2060_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18191LU) +); +} + +/* ActiveState - ns=0;i=16465 */ + +static UA_StatusCode function_namespace0_generated_2061_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16465LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActiveState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2061_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16465LU) +); +} + +/* FalseState - ns=0;i=16473 */ + +static UA_StatusCode function_namespace0_generated_2062_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_16473_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_16473_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_16473_variant_DataContents); +*variablenode_ns_0_i_16473_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16473_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16473LU), +UA_NODEID_NUMERIC(ns[0], 16465LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_16473_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2062_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16473LU) +); +} + +/* TrueState - ns=0;i=16472 */ + +static UA_StatusCode function_namespace0_generated_2063_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_16472_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_16472_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_16472_variant_DataContents); +*variablenode_ns_0_i_16472_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16472_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16472LU), +UA_NODEID_NUMERIC(ns[0], 16465LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_16472_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2063_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16472LU) +); +} + +/* Id - ns=0;i=16466 */ + +static UA_StatusCode function_namespace0_generated_2064_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16466LU), +UA_NODEID_NUMERIC(ns[0], 16465LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2064_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16466LU) +); +} + +/* AckedState - ns=0;i=16443 */ + +static UA_StatusCode function_namespace0_generated_2065_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16443LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AckedState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2065_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16443LU) +); +} + +/* Id - ns=0;i=16444 */ + +static UA_StatusCode function_namespace0_generated_2066_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16444LU), +UA_NODEID_NUMERIC(ns[0], 16443LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2066_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16444LU) +); +} + +/* EnabledState - ns=0;i=16423 */ + +static UA_StatusCode function_namespace0_generated_2067_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16423LU), +UA_NODEID_NUMERIC(ns[0], 16406LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnabledState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2067_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16423LU) +); +} + +/* Id - ns=0;i=16424 */ + +static UA_StatusCode function_namespace0_generated_2068_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16424LU), +UA_NODEID_NUMERIC(ns[0], 16423LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2068_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16424LU) +); +} + +/* SilenceState - ns=0;i=16380 */ + +static UA_StatusCode function_namespace0_generated_2069_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SilenceState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16380LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SilenceState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2069_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16380LU) +); +} + +/* FalseState - ns=0;i=16388 */ + +static UA_StatusCode function_namespace0_generated_2070_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_16388_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_16388_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_16388_variant_DataContents); +*variablenode_ns_0_i_16388_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Not Silenced"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16388_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16388LU), +UA_NODEID_NUMERIC(ns[0], 16380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_16388_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2070_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16388LU) +); +} + +/* TrueState - ns=0;i=16387 */ + +static UA_StatusCode function_namespace0_generated_2071_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_16387_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_16387_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_16387_variant_DataContents); +*variablenode_ns_0_i_16387_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Silenced"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16387_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16387LU), +UA_NODEID_NUMERIC(ns[0], 16380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_16387_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2071_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16387LU) +); +} + +/* TransitionTime - ns=0;i=16385 */ + +static UA_StatusCode function_namespace0_generated_2072_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16385LU), +UA_NODEID_NUMERIC(ns[0], 16380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2072_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16385LU) +); +} + +/* Id - ns=0;i=16381 */ + +static UA_StatusCode function_namespace0_generated_2073_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16381LU), +UA_NODEID_NUMERIC(ns[0], 16380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2073_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16381LU) +); +} + +/* OutOfServiceState - ns=0;i=16371 */ + +static UA_StatusCode function_namespace0_generated_2074_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OutOfServiceState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16371LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OutOfServiceState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2074_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16371LU) +); +} + +/* FalseState - ns=0;i=16379 */ + +static UA_StatusCode function_namespace0_generated_2075_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_16379_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_16379_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_16379_variant_DataContents); +*variablenode_ns_0_i_16379_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "In Service"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16379_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16379LU), +UA_NODEID_NUMERIC(ns[0], 16371LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_16379_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2075_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16379LU) +); +} + +/* TrueState - ns=0;i=16378 */ + +static UA_StatusCode function_namespace0_generated_2076_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_16378_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_16378_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_16378_variant_DataContents); +*variablenode_ns_0_i_16378_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Out of Service"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16378_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16378LU), +UA_NODEID_NUMERIC(ns[0], 16371LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_16378_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2076_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16378LU) +); +} + +/* TransitionTime - ns=0;i=16376 */ + +static UA_StatusCode function_namespace0_generated_2077_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16376LU), +UA_NODEID_NUMERIC(ns[0], 16371LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2077_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16376LU) +); +} + +/* Id - ns=0;i=16372 */ + +static UA_StatusCode function_namespace0_generated_2078_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16372LU), +UA_NODEID_NUMERIC(ns[0], 16371LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2078_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16372LU) +); +} + +/* FalseState - ns=0;i=11111 */ + +static UA_StatusCode function_namespace0_generated_2079_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11111LU), +UA_NODEID_NUMERIC(ns[0], 8995LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2079_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11111LU) +); +} + +/* TrueState - ns=0;i=11110 */ + +static UA_StatusCode function_namespace0_generated_2080_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11110LU), +UA_NODEID_NUMERIC(ns[0], 8995LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2080_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11110LU) +); +} + +/* LowLowState - ns=0;i=10047 */ + +static UA_StatusCode function_namespace0_generated_2081_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LowLowState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10047LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LowLowState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10047LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2081_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10047LU) +); +} + +/* FalseState - ns=0;i=10055 */ + +static UA_StatusCode function_namespace0_generated_2082_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10055_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10055_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10055_variant_DataContents); +*variablenode_ns_0_i_10055_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "LowLow inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10055_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10055LU), +UA_NODEID_NUMERIC(ns[0], 10047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10055_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2082_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10055LU) +); +} + +/* TrueState - ns=0;i=10054 */ + +static UA_StatusCode function_namespace0_generated_2083_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10054_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10054_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10054_variant_DataContents); +*variablenode_ns_0_i_10054_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "LowLow active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10054_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10054LU), +UA_NODEID_NUMERIC(ns[0], 10047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10054_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2083_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10054LU) +); +} + +/* TransitionTime - ns=0;i=10052 */ + +static UA_StatusCode function_namespace0_generated_2084_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10052LU), +UA_NODEID_NUMERIC(ns[0], 10047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2084_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10052LU) +); +} + +/* Id - ns=0;i=10048 */ + +static UA_StatusCode function_namespace0_generated_2085_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10048LU), +UA_NODEID_NUMERIC(ns[0], 10047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2085_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10048LU) +); +} + +/* LowState - ns=0;i=10038 */ + +static UA_StatusCode function_namespace0_generated_2086_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LowState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10038LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LowState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10038LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2086_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10038LU) +); +} + +/* FalseState - ns=0;i=10046 */ + +static UA_StatusCode function_namespace0_generated_2087_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10046_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10046_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10046_variant_DataContents); +*variablenode_ns_0_i_10046_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Low inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10046_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10046LU), +UA_NODEID_NUMERIC(ns[0], 10038LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10046_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2087_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10046LU) +); +} + +/* TrueState - ns=0;i=10045 */ + +static UA_StatusCode function_namespace0_generated_2088_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10045_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10045_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10045_variant_DataContents); +*variablenode_ns_0_i_10045_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Low active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10045_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10045LU), +UA_NODEID_NUMERIC(ns[0], 10038LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10045_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2088_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10045LU) +); +} + +/* TransitionTime - ns=0;i=10043 */ + +static UA_StatusCode function_namespace0_generated_2089_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10043LU), +UA_NODEID_NUMERIC(ns[0], 10038LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2089_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10043LU) +); +} + +/* Id - ns=0;i=10039 */ + +static UA_StatusCode function_namespace0_generated_2090_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10039LU), +UA_NODEID_NUMERIC(ns[0], 10038LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2090_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10039LU) +); +} + +/* HighState - ns=0;i=10029 */ + +static UA_StatusCode function_namespace0_generated_2091_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10029LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HighState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10029LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2091_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10029LU) +); +} + +/* FalseState - ns=0;i=10037 */ + +static UA_StatusCode function_namespace0_generated_2092_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10037_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10037_variant_DataContents); +*variablenode_ns_0_i_10037_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "High inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10037_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10037LU), +UA_NODEID_NUMERIC(ns[0], 10029LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10037_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2092_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10037LU) +); +} + +/* TrueState - ns=0;i=10036 */ + +static UA_StatusCode function_namespace0_generated_2093_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10036_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10036_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10036_variant_DataContents); +*variablenode_ns_0_i_10036_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "High active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10036_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10036LU), +UA_NODEID_NUMERIC(ns[0], 10029LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10036_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2093_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10036LU) +); +} + +/* TransitionTime - ns=0;i=10034 */ + +static UA_StatusCode function_namespace0_generated_2094_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10034LU), +UA_NODEID_NUMERIC(ns[0], 10029LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2094_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10034LU) +); +} + +/* Id - ns=0;i=10030 */ + +static UA_StatusCode function_namespace0_generated_2095_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10030LU), +UA_NODEID_NUMERIC(ns[0], 10029LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2095_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10030LU) +); +} + +/* HighHighState - ns=0;i=10020 */ + +static UA_StatusCode function_namespace0_generated_2096_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HighHighState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10020LU), +UA_NODEID_NUMERIC(ns[0], 9906LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HighHighState"), +UA_NODEID_NUMERIC(ns[0], 8995LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10020LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2096_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10020LU) +); +} + +/* FalseState - ns=0;i=10028 */ + +static UA_StatusCode function_namespace0_generated_2097_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10028_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10028_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10028_variant_DataContents); +*variablenode_ns_0_i_10028_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "HighHigh inactive"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10028_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10028LU), +UA_NODEID_NUMERIC(ns[0], 10020LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "FalseState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10028_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2097_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10028LU) +); +} + +/* TrueState - ns=0;i=10027 */ + +static UA_StatusCode function_namespace0_generated_2098_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +UA_LocalizedText *variablenode_ns_0_i_10027_variant_DataContents = UA_LocalizedText_new(); +if (!variablenode_ns_0_i_10027_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_LocalizedText_init(variablenode_ns_0_i_10027_variant_DataContents); +*variablenode_ns_0_i_10027_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "HighHigh active"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10027_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10027LU), +UA_NODEID_NUMERIC(ns[0], 10020LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrueState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_LocalizedText_delete(variablenode_ns_0_i_10027_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2098_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10027LU) +); +} + +/* TransitionTime - ns=0;i=10025 */ + +static UA_StatusCode function_namespace0_generated_2099_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10025LU), +UA_NODEID_NUMERIC(ns[0], 10020LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2099_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10025LU) +); +} + +/* Id - ns=0;i=10021 */ + +static UA_StatusCode function_namespace0_generated_2100_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 10021LU), +UA_NODEID_NUMERIC(ns[0], 10020LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2100_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 10021LU) +); +} + +/* ToState - ns=0;i=2776 */ + +static UA_StatusCode function_namespace0_generated_2101_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ToState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2776LU), +UA_NODEID_NUMERIC(ns[0], 2311LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ToState"), +UA_NODEID_NUMERIC(ns[0], 2755LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2101_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2776LU) +); +} + +/* Id - ns=0;i=3750 */ + +static UA_StatusCode function_namespace0_generated_2102_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3750LU), +UA_NODEID_NUMERIC(ns[0], 2776LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2102_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3750LU) +); +} + +/* FromState - ns=0;i=2775 */ + +static UA_StatusCode function_namespace0_generated_2103_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FromState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2775LU), +UA_NODEID_NUMERIC(ns[0], 2311LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FromState"), +UA_NODEID_NUMERIC(ns[0], 2755LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2103_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2775LU) +); +} + +/* Id - ns=0;i=3746 */ + +static UA_StatusCode function_namespace0_generated_2104_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3746LU), +UA_NODEID_NUMERIC(ns[0], 2775LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2104_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3746LU) +); +} + +/* FiniteStateVariableType - ns=0;i=2760 */ + +static UA_StatusCode function_namespace0_generated_2105_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "FiniteStateVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2760LU), +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FiniteStateVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2105_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2760LU) +); +} + +/* Id - ns=0;i=2761 */ + +static UA_StatusCode function_namespace0_generated_2106_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2761LU), +UA_NODEID_NUMERIC(ns[0], 2760LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2106_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2761LU) +); +} + +/* EffectiveDisplayName - ns=0;i=2759 */ + +static UA_StatusCode function_namespace0_generated_2107_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveDisplayName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2759LU), +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EffectiveDisplayName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2107_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2759LU) +); +} + +/* Number - ns=0;i=2758 */ + +static UA_StatusCode function_namespace0_generated_2108_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Number"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2758LU), +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Number"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2108_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2758LU) +); +} + +/* Name - ns=0;i=2757 */ + +static UA_StatusCode function_namespace0_generated_2109_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Name"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2757LU), +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Name"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2109_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2757LU) +); +} + +/* Id - ns=0;i=2756 */ + +static UA_StatusCode function_namespace0_generated_2110_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2756LU), +UA_NODEID_NUMERIC(ns[0], 2755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2110_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2756LU) +); +} + +/* StateMachineType - ns=0;i=2299 */ + +static UA_StatusCode function_namespace0_generated_2111_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StateMachineType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2299LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "StateMachineType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2111_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2299LU) +); +} + +/* FiniteStateMachineType - ns=0;i=2771 */ + +static UA_StatusCode function_namespace0_generated_2112_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "FiniteStateMachineType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 2299LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FiniteStateMachineType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2112_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2771LU) +); +} + +/* ExclusiveLimitStateMachineType - ns=0;i=9318 */ + +static UA_StatusCode function_namespace0_generated_2113_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveLimitStateMachineType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ExclusiveLimitStateMachineType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2113_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9318LU) +); +} + +/* LimitState - ns=0;i=9455 */ + +static UA_StatusCode function_namespace0_generated_2114_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LimitState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9455LU), +UA_NODEID_NUMERIC(ns[0], 9341LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LimitState"), +UA_NODEID_NUMERIC(ns[0], 9318LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9455LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9398LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2114_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9455LU) +); +} + +/* LastTransition - ns=0;i=9461 */ + +static UA_StatusCode function_namespace0_generated_2115_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9461LU), +UA_NODEID_NUMERIC(ns[0], 9455LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastTransition"), +UA_NODEID_NUMERIC(ns[0], 2767LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2115_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9461LU) +); +} + +/* TransitionTime - ns=0;i=9465 */ + +static UA_StatusCode function_namespace0_generated_2116_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9465LU), +UA_NODEID_NUMERIC(ns[0], 9461LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2116_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9465LU) +); +} + +/* Id - ns=0;i=9462 */ + +static UA_StatusCode function_namespace0_generated_2117_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9462LU), +UA_NODEID_NUMERIC(ns[0], 9461LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2117_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9462LU) +); +} + +/* CurrentState - ns=0;i=9456 */ + +static UA_StatusCode function_namespace0_generated_2118_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9456LU), +UA_NODEID_NUMERIC(ns[0], 9455LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentState"), +UA_NODEID_NUMERIC(ns[0], 2760LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2118_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9456LU) +); +} + +/* Id - ns=0;i=9457 */ + +static UA_StatusCode function_namespace0_generated_2119_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9457LU), +UA_NODEID_NUMERIC(ns[0], 9456LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2119_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9457LU) +); +} + +/* HighToHighHigh - ns=0;i=9340 */ + +static UA_StatusCode function_namespace0_generated_2120_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HighToHighHigh"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9340LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HighToHighHigh"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9340LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2120_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9340LU) +); +} + +/* TransitionNumber - ns=0;i=11343 */ + +static UA_StatusCode function_namespace0_generated_2121_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11343_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11343_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11343_variant_DataContents); +*variablenode_ns_0_i_11343_variant_DataContents = (UA_UInt32) 21; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11343_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11343LU), +UA_NODEID_NUMERIC(ns[0], 9340LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11343_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2121_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11343LU) +); +} + +/* HighHighToHigh - ns=0;i=9339 */ + +static UA_StatusCode function_namespace0_generated_2122_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HighHighToHigh"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9339LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HighHighToHigh"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9339LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2122_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9339LU) +); +} + +/* TransitionNumber - ns=0;i=11342 */ + +static UA_StatusCode function_namespace0_generated_2123_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11342_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11342_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11342_variant_DataContents); +*variablenode_ns_0_i_11342_variant_DataContents = (UA_UInt32) 12; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11342_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11342LU), +UA_NODEID_NUMERIC(ns[0], 9339LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11342_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2123_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11342LU) +); +} + +/* LowToLowLow - ns=0;i=9338 */ + +static UA_StatusCode function_namespace0_generated_2124_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LowToLowLow"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9338LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LowToLowLow"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9338LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2124_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9338LU) +); +} + +/* TransitionNumber - ns=0;i=11341 */ + +static UA_StatusCode function_namespace0_generated_2125_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11341_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11341_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11341_variant_DataContents); +*variablenode_ns_0_i_11341_variant_DataContents = (UA_UInt32) 34; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11341_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11341LU), +UA_NODEID_NUMERIC(ns[0], 9338LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11341_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2125_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11341LU) +); +} + +/* LowLowToLow - ns=0;i=9337 */ + +static UA_StatusCode function_namespace0_generated_2126_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LowLowToLow"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9337LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LowLowToLow"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9337LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2126_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9337LU) +); +} + +/* TransitionNumber - ns=0;i=11340 */ + +static UA_StatusCode function_namespace0_generated_2127_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11340_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11340_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11340_variant_DataContents); +*variablenode_ns_0_i_11340_variant_DataContents = (UA_UInt32) 43; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11340_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11340LU), +UA_NODEID_NUMERIC(ns[0], 9337LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11340_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2127_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11340LU) +); +} + +/* LowLow - ns=0;i=9335 */ + +static UA_StatusCode function_namespace0_generated_2128_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LowLow"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9335LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LowLow"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9335LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9337LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9335LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9338LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2128_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9335LU) +); +} + +/* StateNumber - ns=0;i=9336 */ + +static UA_StatusCode function_namespace0_generated_2129_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_9336_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_9336_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_9336_variant_DataContents); +*variablenode_ns_0_i_9336_variant_DataContents = (UA_UInt32) 4; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9336_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9336LU), +UA_NODEID_NUMERIC(ns[0], 9335LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_9336_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2129_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9336LU) +); +} + +/* Low - ns=0;i=9333 */ + +static UA_StatusCode function_namespace0_generated_2130_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Low"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9333LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Low"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9333LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9337LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9333LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9338LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2130_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9333LU) +); +} + +/* StateNumber - ns=0;i=9334 */ + +static UA_StatusCode function_namespace0_generated_2131_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_9334_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_9334_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_9334_variant_DataContents); +*variablenode_ns_0_i_9334_variant_DataContents = (UA_UInt32) 3; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9334_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9334LU), +UA_NODEID_NUMERIC(ns[0], 9333LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_9334_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2131_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9334LU) +); +} + +/* High - ns=0;i=9331 */ + +static UA_StatusCode function_namespace0_generated_2132_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "High"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9331LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "High"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9331LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9339LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9331LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9340LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2132_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9331LU) +); +} + +/* StateNumber - ns=0;i=9332 */ + +static UA_StatusCode function_namespace0_generated_2133_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_9332_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_9332_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_9332_variant_DataContents); +*variablenode_ns_0_i_9332_variant_DataContents = (UA_UInt32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9332_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9332LU), +UA_NODEID_NUMERIC(ns[0], 9331LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_9332_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2133_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9332LU) +); +} + +/* HighHigh - ns=0;i=9329 */ + +static UA_StatusCode function_namespace0_generated_2134_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HighHigh"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9329LU), +UA_NODEID_NUMERIC(ns[0], 9318LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HighHigh"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9329LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9339LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9329LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9340LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2134_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9329LU) +); +} + +/* StateNumber - ns=0;i=9330 */ + +static UA_StatusCode function_namespace0_generated_2135_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_9330_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_9330_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_9330_variant_DataContents); +*variablenode_ns_0_i_9330_variant_DataContents = (UA_UInt32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9330_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9330LU), +UA_NODEID_NUMERIC(ns[0], 9329LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_9330_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2135_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9330LU) +); +} + +/* ShelvedStateMachineType - ns=0;i=2929 */ + +static UA_StatusCode function_namespace0_generated_2136_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ShelvedStateMachineType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ShelvedStateMachineType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2136_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2929LU) +); +} + +/* ShelvingState - ns=0;i=9178 */ + +static UA_StatusCode function_namespace0_generated_2137_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ShelvingState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ShelvingState"), +UA_NODEID_NUMERIC(ns[0], 2929LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9178LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9118LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2137_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9178LU) +); +} + +/* TimedShelve - ns=0;i=9213 */ + +static UA_StatusCode function_namespace0_generated_2138_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelve"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9213LU), +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimedShelve"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2138_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9213LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=9214 */ + +static UA_StatusCode function_namespace0_generated_2139_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_9214_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_9214_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_9214_variant_DataContents[0].name = UA_STRING("ShelvingTime"); +variablenode_ns_0_i_9214_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_9214_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9214_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9214LU), +UA_NODEID_NUMERIC(ns[0], 9213LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2139_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9214LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OneShotShelve - ns=0;i=9212 */ + +static UA_StatusCode function_namespace0_generated_2140_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelve"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9212LU), +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OneShotShelve"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2140_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9212LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Unshelve - ns=0;i=9211 */ + +static UA_StatusCode function_namespace0_generated_2141_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Unshelve"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 9211LU), +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Unshelve"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2141_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9211LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* UnshelveTime - ns=0;i=9189 */ + +static UA_StatusCode function_namespace0_generated_2142_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnshelveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9189LU), +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UnshelveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2142_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9189LU) +); +} + +/* LastTransition - ns=0;i=9184 */ + +static UA_StatusCode function_namespace0_generated_2143_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9184LU), +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastTransition"), +UA_NODEID_NUMERIC(ns[0], 2767LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2143_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9184LU) +); +} + +/* TransitionTime - ns=0;i=9188 */ + +static UA_StatusCode function_namespace0_generated_2144_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9188LU), +UA_NODEID_NUMERIC(ns[0], 9184LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2144_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9188LU) +); +} + +/* Id - ns=0;i=9185 */ + +static UA_StatusCode function_namespace0_generated_2145_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9185LU), +UA_NODEID_NUMERIC(ns[0], 9184LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2145_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9185LU) +); +} + +/* CurrentState - ns=0;i=9179 */ + +static UA_StatusCode function_namespace0_generated_2146_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9179LU), +UA_NODEID_NUMERIC(ns[0], 9178LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentState"), +UA_NODEID_NUMERIC(ns[0], 2760LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2146_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9179LU) +); +} + +/* Id - ns=0;i=9180 */ + +static UA_StatusCode function_namespace0_generated_2147_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9180LU), +UA_NODEID_NUMERIC(ns[0], 9179LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2147_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9180LU) +); +} + +/* UnshelveTime - ns=0;i=9115 */ + +static UA_StatusCode function_namespace0_generated_2148_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnshelveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 9115LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UnshelveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2148_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 9115LU) +); +} + +/* TimedShelve - ns=0;i=2949 */ + +static UA_StatusCode function_namespace0_generated_2149_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelve"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2949LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimedShelve"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2149_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2949LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=2991 */ + +static UA_StatusCode function_namespace0_generated_2150_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_2991_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_2991_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_2991_variant_DataContents[0].name = UA_STRING("ShelvingTime"); +variablenode_ns_0_i_2991_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_2991_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_2991_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2991LU), +UA_NODEID_NUMERIC(ns[0], 2949LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2150_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2991LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OneShotShelve - ns=0;i=2948 */ + +static UA_StatusCode function_namespace0_generated_2151_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelve"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2948LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OneShotShelve"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2151_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2948LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Unshelve - ns=0;i=2947 */ + +static UA_StatusCode function_namespace0_generated_2152_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Unshelve"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2947LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Unshelve"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2152_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2947LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OneShotShelvedToTimedShelved - ns=0;i=2945 */ + +static UA_StatusCode function_namespace0_generated_2153_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelvedToTimedShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2945LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OneShotShelvedToTimedShelved"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2945LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2945LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2153_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2945LU) +); +} + +/* TransitionNumber - ns=0;i=11327 */ + +static UA_StatusCode function_namespace0_generated_2154_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11327_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11327_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11327_variant_DataContents); +*variablenode_ns_0_i_11327_variant_DataContents = (UA_UInt32) 32; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11327_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11327LU), +UA_NODEID_NUMERIC(ns[0], 2945LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11327_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2154_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11327LU) +); +} + +/* OneShotShelvedToUnshelved - ns=0;i=2943 */ + +static UA_StatusCode function_namespace0_generated_2155_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelvedToUnshelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2943LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OneShotShelvedToUnshelved"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2943LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2943LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2155_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2943LU) +); +} + +/* TransitionNumber - ns=0;i=11326 */ + +static UA_StatusCode function_namespace0_generated_2156_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11326_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11326_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11326_variant_DataContents); +*variablenode_ns_0_i_11326_variant_DataContents = (UA_UInt32) 31; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11326_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11326LU), +UA_NODEID_NUMERIC(ns[0], 2943LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11326_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2156_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11326LU) +); +} + +/* TimedShelvedToOneShotShelved - ns=0;i=2942 */ + +static UA_StatusCode function_namespace0_generated_2157_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelvedToOneShotShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2942LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimedShelvedToOneShotShelved"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2942LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2942LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2157_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2942LU) +); +} + +/* TransitionNumber - ns=0;i=11325 */ + +static UA_StatusCode function_namespace0_generated_2158_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11325_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11325_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11325_variant_DataContents); +*variablenode_ns_0_i_11325_variant_DataContents = (UA_UInt32) 23; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11325_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11325LU), +UA_NODEID_NUMERIC(ns[0], 2942LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11325_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2158_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11325LU) +); +} + +/* TimedShelvedToUnshelved - ns=0;i=2940 */ + +static UA_StatusCode function_namespace0_generated_2159_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelvedToUnshelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2940LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimedShelvedToUnshelved"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2940LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2940LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2159_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2940LU) +); +} + +/* TransitionNumber - ns=0;i=11324 */ + +static UA_StatusCode function_namespace0_generated_2160_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11324_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11324_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11324_variant_DataContents); +*variablenode_ns_0_i_11324_variant_DataContents = (UA_UInt32) 21; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11324_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11324LU), +UA_NODEID_NUMERIC(ns[0], 2940LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11324_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2160_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11324LU) +); +} + +/* UnshelvedToOneShotShelved - ns=0;i=2936 */ + +static UA_StatusCode function_namespace0_generated_2161_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UnshelvedToOneShotShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2936LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnshelvedToOneShotShelved"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2936LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2936LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2161_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2936LU) +); +} + +/* TransitionNumber - ns=0;i=11323 */ + +static UA_StatusCode function_namespace0_generated_2162_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11323_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11323_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11323_variant_DataContents); +*variablenode_ns_0_i_11323_variant_DataContents = (UA_UInt32) 13; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11323_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11323LU), +UA_NODEID_NUMERIC(ns[0], 2936LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11323_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2162_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11323LU) +); +} + +/* UnshelvedToTimedShelved - ns=0;i=2935 */ + +static UA_StatusCode function_namespace0_generated_2163_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UnshelvedToTimedShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2935LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnshelvedToTimedShelved"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2935LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2935LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2163_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2935LU) +); +} + +/* TransitionNumber - ns=0;i=11322 */ + +static UA_StatusCode function_namespace0_generated_2164_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_11322_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_11322_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_11322_variant_DataContents); +*variablenode_ns_0_i_11322_variant_DataContents = (UA_UInt32) 12; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11322_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11322LU), +UA_NODEID_NUMERIC(ns[0], 2935LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_11322_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2164_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11322LU) +); +} + +/* OneShotShelved - ns=0;i=2933 */ + +static UA_StatusCode function_namespace0_generated_2165_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2933LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OneShotShelved"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2936LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2942LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2945LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2165_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2933LU) +); +} + +/* StateNumber - ns=0;i=6101 */ + +static UA_StatusCode function_namespace0_generated_2166_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_6101_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_6101_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_6101_variant_DataContents); +*variablenode_ns_0_i_6101_variant_DataContents = (UA_UInt32) 3; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_6101_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 6101LU), +UA_NODEID_NUMERIC(ns[0], 2933LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_6101_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2166_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 6101LU) +); +} + +/* TimedShelved - ns=0;i=2932 */ + +static UA_StatusCode function_namespace0_generated_2167_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2932LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimedShelved"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2935LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2940LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2942LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2945LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2167_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2932LU) +); +} + +/* StateNumber - ns=0;i=6100 */ + +static UA_StatusCode function_namespace0_generated_2168_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_6100_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_6100_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_6100_variant_DataContents); +*variablenode_ns_0_i_6100_variant_DataContents = (UA_UInt32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_6100_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 6100LU), +UA_NODEID_NUMERIC(ns[0], 2932LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_6100_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2168_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 6100LU) +); +} + +/* Unshelved - ns=0;i=2930 */ + +static UA_StatusCode function_namespace0_generated_2169_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Unshelved"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2930LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Unshelved"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2935LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2936LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2940LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2169_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2930LU) +); +} + +/* StateNumber - ns=0;i=6098 */ + +static UA_StatusCode function_namespace0_generated_2170_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_6098_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_6098_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_6098_variant_DataContents); +*variablenode_ns_0_i_6098_variant_DataContents = (UA_UInt32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_6098_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 6098LU), +UA_NODEID_NUMERIC(ns[0], 2930LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_6098_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2170_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 6098LU) +); +} + +/* OneShotShelve2 - ns=0;i=24760 */ + +static UA_StatusCode function_namespace0_generated_2171_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelve2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24760LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OneShotShelve2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24760LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2936LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24760LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2942LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2171_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24760LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24761 */ + +static UA_StatusCode function_namespace0_generated_2172_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24761_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24761_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24761_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24761_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24761_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24761_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24761LU), +UA_NODEID_NUMERIC(ns[0], 24760LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2172_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24761LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Unshelve2 - ns=0;i=24758 */ + +static UA_StatusCode function_namespace0_generated_2173_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Unshelve2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24758LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Unshelve2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24758LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2940LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24758LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2173_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24758LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24759 */ + +static UA_StatusCode function_namespace0_generated_2174_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24759_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24759_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24759_variant_DataContents[0].name = UA_STRING("Comment"); +variablenode_ns_0_i_24759_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24759_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24759_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24759LU), +UA_NODEID_NUMERIC(ns[0], 24758LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2174_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24759LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TimedShelve2 - ns=0;i=24756 */ + +static UA_StatusCode function_namespace0_generated_2175_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelve2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24756LU), +UA_NODEID_NUMERIC(ns[0], 2929LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimedShelve2"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24756LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2935LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24756LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2945LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2175_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24756LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24757 */ + +static UA_StatusCode function_namespace0_generated_2176_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24757_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_24757_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24757_variant_DataContents[0].name = UA_STRING("ShelvingTime"); +variablenode_ns_0_i_24757_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_24757_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24757_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24757_variant_DataContents[1].name = UA_STRING("Comment"); +variablenode_ns_0_i_24757_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_24757_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24757_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24757LU), +UA_NODEID_NUMERIC(ns[0], 24756LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2176_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24757LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastTransition - ns=0;i=2773 */ + +static UA_StatusCode function_namespace0_generated_2177_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2773LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastTransition"), +UA_NODEID_NUMERIC(ns[0], 2767LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2177_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2773LU) +); +} + +/* Id - ns=0;i=3732 */ + +static UA_StatusCode function_namespace0_generated_2178_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3732LU), +UA_NODEID_NUMERIC(ns[0], 2773LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2178_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3732LU) +); +} + +/* CurrentState - ns=0;i=2772 */ + +static UA_StatusCode function_namespace0_generated_2179_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2772LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentState"), +UA_NODEID_NUMERIC(ns[0], 2760LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2179_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2772LU) +); +} + +/* Id - ns=0;i=3728 */ + +static UA_StatusCode function_namespace0_generated_2180_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3728LU), +UA_NODEID_NUMERIC(ns[0], 2772LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2180_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3728LU) +); +} + +/* ProgramStateMachineType - ns=0;i=2391 */ + +static UA_StatusCode function_namespace0_generated_2181_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramStateMachineType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramStateMachineType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2181_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2391LU) +); +} + +/* FinalResultData - ns=0;i=3850 */ + +static UA_StatusCode function_namespace0_generated_2182_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FinalResultData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3850LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FinalResultData"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2182_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3850LU) +); +} + +/* LastTransition - ns=0;i=3835 */ + +static UA_StatusCode function_namespace0_generated_2183_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3835LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastTransition"), +UA_NODEID_NUMERIC(ns[0], 2767LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2183_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3835LU) +); +} + +/* TransitionTime - ns=0;i=3839 */ + +static UA_StatusCode function_namespace0_generated_2184_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3839LU), +UA_NODEID_NUMERIC(ns[0], 3835LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2184_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3839LU) +); +} + +/* Number - ns=0;i=3838 */ + +static UA_StatusCode function_namespace0_generated_2185_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Number"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3838LU), +UA_NODEID_NUMERIC(ns[0], 3835LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Number"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2185_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3838LU) +); +} + +/* Id - ns=0;i=3836 */ + +static UA_StatusCode function_namespace0_generated_2186_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3836LU), +UA_NODEID_NUMERIC(ns[0], 3835LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2186_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3836LU) +); +} + +/* CurrentState - ns=0;i=3830 */ + +static UA_StatusCode function_namespace0_generated_2187_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3830LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentState"), +UA_NODEID_NUMERIC(ns[0], 2760LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2187_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3830LU) +); +} + +/* Number - ns=0;i=3833 */ + +static UA_StatusCode function_namespace0_generated_2188_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Number"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3833LU), +UA_NODEID_NUMERIC(ns[0], 3830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Number"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2188_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3833LU) +); +} + +/* Id - ns=0;i=3831 */ + +static UA_StatusCode function_namespace0_generated_2189_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3831LU), +UA_NODEID_NUMERIC(ns[0], 3830LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2189_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3831LU) +); +} + +/* Reset - ns=0;i=2430 */ + +static UA_StatusCode function_namespace0_generated_2190_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2430LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2190_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2430LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Halt - ns=0;i=2429 */ + +static UA_StatusCode function_namespace0_generated_2191_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Halt"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2429LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Halt"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2191_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2429LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Resume - ns=0;i=2428 */ + +static UA_StatusCode function_namespace0_generated_2192_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Resume"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2428LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Resume"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2192_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2428LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Suspend - ns=0;i=2427 */ + +static UA_StatusCode function_namespace0_generated_2193_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Suspend"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2427LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Suspend"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2193_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2427LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Start - ns=0;i=2426 */ + +static UA_StatusCode function_namespace0_generated_2194_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Start"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 2426LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Start"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2194_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2426LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ReadyToHalted - ns=0;i=2424 */ + +static UA_StatusCode function_namespace0_generated_2195_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadyToHalted"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2424LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadyToHalted"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2424LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2424LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2195_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2424LU) +); +} + +/* TransitionNumber - ns=0;i=2425 */ + +static UA_StatusCode function_namespace0_generated_2196_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2425_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2425_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2425_variant_DataContents); +*variablenode_ns_0_i_2425_variant_DataContents = (UA_UInt32) 9; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2425_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2425LU), +UA_NODEID_NUMERIC(ns[0], 2424LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2425_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2196_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2425LU) +); +} + +/* SuspendedToReady - ns=0;i=2422 */ + +static UA_StatusCode function_namespace0_generated_2197_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SuspendedToReady"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2422LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SuspendedToReady"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2422LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2422LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2197_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2422LU) +); +} + +/* TransitionNumber - ns=0;i=2423 */ + +static UA_StatusCode function_namespace0_generated_2198_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2423_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2423_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2423_variant_DataContents); +*variablenode_ns_0_i_2423_variant_DataContents = (UA_UInt32) 8; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2423_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2423LU), +UA_NODEID_NUMERIC(ns[0], 2422LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2423_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2198_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2423LU) +); +} + +/* SuspendedToHalted - ns=0;i=2420 */ + +static UA_StatusCode function_namespace0_generated_2199_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SuspendedToHalted"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2420LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SuspendedToHalted"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2420LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2420LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2420LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2199_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2420LU) +); +} + +/* TransitionNumber - ns=0;i=2421 */ + +static UA_StatusCode function_namespace0_generated_2200_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2421_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2421_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2421_variant_DataContents); +*variablenode_ns_0_i_2421_variant_DataContents = (UA_UInt32) 7; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2421_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2421LU), +UA_NODEID_NUMERIC(ns[0], 2420LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2421_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2200_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2421LU) +); +} + +/* SuspendedToRunning - ns=0;i=2418 */ + +static UA_StatusCode function_namespace0_generated_2201_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SuspendedToRunning"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2418LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SuspendedToRunning"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2418LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2428LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2418LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2201_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2418LU) +); +} + +/* TransitionNumber - ns=0;i=2419 */ + +static UA_StatusCode function_namespace0_generated_2202_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2419_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2419_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2419_variant_DataContents); +*variablenode_ns_0_i_2419_variant_DataContents = (UA_UInt32) 6; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2419_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2419LU), +UA_NODEID_NUMERIC(ns[0], 2418LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2419_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2202_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2419LU) +); +} + +/* RunningToSuspended - ns=0;i=2416 */ + +static UA_StatusCode function_namespace0_generated_2203_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RunningToSuspended"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2416LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RunningToSuspended"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2416LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2427LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2416LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2203_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2416LU) +); +} + +/* TransitionNumber - ns=0;i=2417 */ + +static UA_StatusCode function_namespace0_generated_2204_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2417_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2417_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2417_variant_DataContents); +*variablenode_ns_0_i_2417_variant_DataContents = (UA_UInt32) 5; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2417_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2417LU), +UA_NODEID_NUMERIC(ns[0], 2416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2417_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2204_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2417LU) +); +} + +/* RunningToReady - ns=0;i=2414 */ + +static UA_StatusCode function_namespace0_generated_2205_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RunningToReady"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2414LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RunningToReady"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2414LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2205_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2414LU) +); +} + +/* TransitionNumber - ns=0;i=2415 */ + +static UA_StatusCode function_namespace0_generated_2206_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2415_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2415_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2415_variant_DataContents); +*variablenode_ns_0_i_2415_variant_DataContents = (UA_UInt32) 4; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2415_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2415LU), +UA_NODEID_NUMERIC(ns[0], 2414LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2415_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2206_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2415LU) +); +} + +/* RunningToHalted - ns=0;i=2412 */ + +static UA_StatusCode function_namespace0_generated_2207_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RunningToHalted"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2412LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RunningToHalted"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2412LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2412LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2207_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2412LU) +); +} + +/* TransitionNumber - ns=0;i=2413 */ + +static UA_StatusCode function_namespace0_generated_2208_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2413_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2413_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2413_variant_DataContents); +*variablenode_ns_0_i_2413_variant_DataContents = (UA_UInt32) 3; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2413_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2413LU), +UA_NODEID_NUMERIC(ns[0], 2412LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2413_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2208_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2413LU) +); +} + +/* ReadyToRunning - ns=0;i=2410 */ + +static UA_StatusCode function_namespace0_generated_2209_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadyToRunning"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2410LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadyToRunning"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2410LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2426LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2410LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2209_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2410LU) +); +} + +/* TransitionNumber - ns=0;i=2411 */ + +static UA_StatusCode function_namespace0_generated_2210_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2411_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2411_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2411_variant_DataContents); +*variablenode_ns_0_i_2411_variant_DataContents = (UA_UInt32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2411_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2411LU), +UA_NODEID_NUMERIC(ns[0], 2410LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2411_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2210_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2411LU) +); +} + +/* HaltedToReady - ns=0;i=2408 */ + +static UA_StatusCode function_namespace0_generated_2211_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HaltedToReady"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2408LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HaltedToReady"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2408LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2408LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2211_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2408LU) +); +} + +/* TransitionNumber - ns=0;i=2409 */ + +static UA_StatusCode function_namespace0_generated_2212_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2409_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2409_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2409_variant_DataContents); +*variablenode_ns_0_i_2409_variant_DataContents = (UA_UInt32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2409_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2409LU), +UA_NODEID_NUMERIC(ns[0], 2408LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2409_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2212_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2409LU) +); +} + +/* Halted - ns=0;i=2406 */ + +static UA_StatusCode function_namespace0_generated_2213_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Halted"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2406LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Halted"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2408LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2412LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2424LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2213_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2406LU) +); +} + +/* StateNumber - ns=0;i=2407 */ + +static UA_StatusCode function_namespace0_generated_2214_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2407_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2407_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2407_variant_DataContents); +*variablenode_ns_0_i_2407_variant_DataContents = (UA_UInt32) 11; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2407_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2407LU), +UA_NODEID_NUMERIC(ns[0], 2406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2407_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2214_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2407LU) +); +} + +/* Suspended - ns=0;i=2404 */ + +static UA_StatusCode function_namespace0_generated_2215_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Suspended"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2404LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Suspended"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2416LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2418LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2422LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2215_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2404LU) +); +} + +/* StateNumber - ns=0;i=2405 */ + +static UA_StatusCode function_namespace0_generated_2216_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2405_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2405_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2405_variant_DataContents); +*variablenode_ns_0_i_2405_variant_DataContents = (UA_UInt32) 14; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2405_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2405LU), +UA_NODEID_NUMERIC(ns[0], 2404LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2405_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2216_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2405LU) +); +} + +/* Running - ns=0;i=2402 */ + +static UA_StatusCode function_namespace0_generated_2217_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Running"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2402LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Running"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2410LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2412LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2414LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2416LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2418LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2217_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2402LU) +); +} + +/* StateNumber - ns=0;i=2403 */ + +static UA_StatusCode function_namespace0_generated_2218_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2403_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2403_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2403_variant_DataContents); +*variablenode_ns_0_i_2403_variant_DataContents = (UA_UInt32) 13; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2403_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2403LU), +UA_NODEID_NUMERIC(ns[0], 2402LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2403_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2218_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2403LU) +); +} + +/* Ready - ns=0;i=2400 */ + +static UA_StatusCode function_namespace0_generated_2219_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Ready"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2400LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Ready"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2408LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2410LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2414LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2422LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2424LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2219_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2400LU) +); +} + +/* StateNumber - ns=0;i=2401 */ + +static UA_StatusCode function_namespace0_generated_2220_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_2401_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_2401_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_2401_variant_DataContents); +*variablenode_ns_0_i_2401_variant_DataContents = (UA_UInt32) 12; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2401_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2401LU), +UA_NODEID_NUMERIC(ns[0], 2400LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_2401_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2220_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2401LU) +); +} + +/* ProgramDiagnostic - ns=0;i=2399 */ + +static UA_StatusCode function_namespace0_generated_2221_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24033LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic"), +UA_NODEID_NUMERIC(ns[0], 15383LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2221_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2399LU) +); +} + +/* LastMethodReturnStatus - ns=0;i=3849 */ + +static UA_StatusCode function_namespace0_generated_2222_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodReturnStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3849LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodReturnStatus"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2222_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3849LU) +); +} + +/* LastMethodCallTime - ns=0;i=3848 */ + +static UA_StatusCode function_namespace0_generated_2223_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCallTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3848LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodCallTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2223_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3848LU) +); +} + +/* LastMethodOutputArguments - ns=0;i=3847 */ + +static UA_StatusCode function_namespace0_generated_2224_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3847LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodOutputArguments"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2224_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3847LU) +); +} + +/* LastMethodInputArguments - ns=0;i=3846 */ + +static UA_StatusCode function_namespace0_generated_2225_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3846LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodInputArguments"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2225_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3846LU) +); +} + +/* LastMethodSessionId - ns=0;i=3845 */ + +static UA_StatusCode function_namespace0_generated_2226_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodSessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3845LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodSessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2226_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3845LU) +); +} + +/* LastMethodCall - ns=0;i=3844 */ + +static UA_StatusCode function_namespace0_generated_2227_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3844LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodCall"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2227_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3844LU) +); +} + +/* LastTransitionTime - ns=0;i=3843 */ + +static UA_StatusCode function_namespace0_generated_2228_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransitionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3843LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastTransitionTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2228_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3843LU) +); +} + +/* InvocationCreationTime - ns=0;i=3842 */ + +static UA_StatusCode function_namespace0_generated_2229_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InvocationCreationTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3842LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "InvocationCreationTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2229_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3842LU) +); +} + +/* CreateClientName - ns=0;i=3841 */ + +static UA_StatusCode function_namespace0_generated_2230_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateClientName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3841LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateClientName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2230_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3841LU) +); +} + +/* CreateSessionId - ns=0;i=3840 */ + +static UA_StatusCode function_namespace0_generated_2231_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3840LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2231_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3840LU) +); +} + +/* LastMethodOutputValues - ns=0;i=15040 */ + +static UA_StatusCode function_namespace0_generated_2232_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15040LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodOutputValues"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2232_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15040LU) +); +} + +/* LastMethodInputValues - ns=0;i=15038 */ + +static UA_StatusCode function_namespace0_generated_2233_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15038LU), +UA_NODEID_NUMERIC(ns[0], 2399LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastMethodInputValues"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2233_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15038LU) +); +} + +/* MaxRecycleCount - ns=0;i=2398 */ + +static UA_StatusCode function_namespace0_generated_2234_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxRecycleCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2398LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxRecycleCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2234_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2398LU) +); +} + +/* MaxInstanceCount - ns=0;i=2397 */ + +static UA_StatusCode function_namespace0_generated_2235_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxInstanceCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2397LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxInstanceCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2235_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2397LU) +); +} + +/* InstanceCount - ns=0;i=2396 */ + +static UA_StatusCode function_namespace0_generated_2236_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InstanceCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2396LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InstanceCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2236_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2396LU) +); +} + +/* RecycleCount - ns=0;i=2395 */ + +static UA_StatusCode function_namespace0_generated_2237_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RecycleCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2395LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RecycleCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2237_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2395LU) +); +} + +/* AutoDelete - ns=0;i=2394 */ + +static UA_StatusCode function_namespace0_generated_2238_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AutoDelete"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2394LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AutoDelete"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2238_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2394LU) +); +} + +/* Deletable - ns=0;i=2393 */ + +static UA_StatusCode function_namespace0_generated_2239_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Deletable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2393LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Deletable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2239_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2393LU) +); +} + +/* Creatable - ns=0;i=2392 */ + +static UA_StatusCode function_namespace0_generated_2240_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Creatable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2392LU), +UA_NODEID_NUMERIC(ns[0], 2391LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Creatable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2240_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2392LU) +); +} + +/* AvailableTransitions - ns=0;i=17636 */ + +static UA_StatusCode function_namespace0_generated_2241_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AvailableTransitions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17636LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AvailableTransitions"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2241_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17636LU) +); +} + +/* AvailableStates - ns=0;i=17635 */ + +static UA_StatusCode function_namespace0_generated_2242_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AvailableStates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17635LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AvailableStates"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2242_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17635LU) +); +} + +/* FileTransferStateMachineType - ns=0;i=15803 */ + +static UA_StatusCode function_namespace0_generated_2243_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FileTransferStateMachineType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 2771LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FileTransferStateMachineType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2243_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15803LU) +); +} + +/* Reset - ns=0;i=15843 */ + +static UA_StatusCode function_namespace0_generated_2244_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15843LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2244_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15843LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ErrorToIdle - ns=0;i=15841 */ + +static UA_StatusCode function_namespace0_generated_2245_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ErrorToIdle"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15841LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ErrorToIdle"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15841LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2245_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15841LU) +); +} + +/* TransitionNumber - ns=0;i=15842 */ + +static UA_StatusCode function_namespace0_generated_2246_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15842_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15842_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15842_variant_DataContents); +*variablenode_ns_0_i_15842_variant_DataContents = (UA_UInt32) 51; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15842_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15842LU), +UA_NODEID_NUMERIC(ns[0], 15841LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15842_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2246_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15842LU) +); +} + +/* ApplyWriteToError - ns=0;i=15839 */ + +static UA_StatusCode function_namespace0_generated_2247_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplyWriteToError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15839LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplyWriteToError"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15839LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2247_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15839LU) +); +} + +/* TransitionNumber - ns=0;i=15840 */ + +static UA_StatusCode function_namespace0_generated_2248_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15840_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15840_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15840_variant_DataContents); +*variablenode_ns_0_i_15840_variant_DataContents = (UA_UInt32) 45; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15840_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15840LU), +UA_NODEID_NUMERIC(ns[0], 15839LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15840_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2248_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15840LU) +); +} + +/* ReadTransferToError - ns=0;i=15837 */ + +static UA_StatusCode function_namespace0_generated_2249_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadTransferToError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15837LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadTransferToError"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15837LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2249_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15837LU) +); +} + +/* TransitionNumber - ns=0;i=15838 */ + +static UA_StatusCode function_namespace0_generated_2250_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15838_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15838_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15838_variant_DataContents); +*variablenode_ns_0_i_15838_variant_DataContents = (UA_UInt32) 35; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15838_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15838LU), +UA_NODEID_NUMERIC(ns[0], 15837LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15838_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2250_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15838LU) +); +} + +/* ReadPrepareToError - ns=0;i=15835 */ + +static UA_StatusCode function_namespace0_generated_2251_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadPrepareToError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15835LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadPrepareToError"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15835LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2251_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15835LU) +); +} + +/* TransitionNumber - ns=0;i=15836 */ + +static UA_StatusCode function_namespace0_generated_2252_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15836_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15836_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15836_variant_DataContents); +*variablenode_ns_0_i_15836_variant_DataContents = (UA_UInt32) 25; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15836_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15836LU), +UA_NODEID_NUMERIC(ns[0], 15835LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15836_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2252_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15836LU) +); +} + +/* ApplyWriteToIdle - ns=0;i=15833 */ + +static UA_StatusCode function_namespace0_generated_2253_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplyWriteToIdle"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15833LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplyWriteToIdle"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15833LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2253_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15833LU) +); +} + +/* TransitionNumber - ns=0;i=15834 */ + +static UA_StatusCode function_namespace0_generated_2254_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15834_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15834_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15834_variant_DataContents); +*variablenode_ns_0_i_15834_variant_DataContents = (UA_UInt32) 41; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15834_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15834LU), +UA_NODEID_NUMERIC(ns[0], 15833LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15834_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2254_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15834LU) +); +} + +/* IdleToApplyWrite - ns=0;i=15831 */ + +static UA_StatusCode function_namespace0_generated_2255_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IdleToApplyWrite"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15831LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IdleToApplyWrite"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15831LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2255_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15831LU) +); +} + +/* TransitionNumber - ns=0;i=15832 */ + +static UA_StatusCode function_namespace0_generated_2256_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15832_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15832_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15832_variant_DataContents); +*variablenode_ns_0_i_15832_variant_DataContents = (UA_UInt32) 14; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15832_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15832LU), +UA_NODEID_NUMERIC(ns[0], 15831LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15832_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2256_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15832LU) +); +} + +/* ReadTransferToIdle - ns=0;i=15829 */ + +static UA_StatusCode function_namespace0_generated_2257_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadTransferToIdle"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15829LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadTransferToIdle"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15829LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2257_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15829LU) +); +} + +/* TransitionNumber - ns=0;i=15830 */ + +static UA_StatusCode function_namespace0_generated_2258_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15830_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15830_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15830_variant_DataContents); +*variablenode_ns_0_i_15830_variant_DataContents = (UA_UInt32) 31; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15830_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15830LU), +UA_NODEID_NUMERIC(ns[0], 15829LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15830_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2258_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15830LU) +); +} + +/* ReadPrepareToReadTransfer - ns=0;i=15827 */ + +static UA_StatusCode function_namespace0_generated_2259_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadPrepareToReadTransfer"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15827LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadPrepareToReadTransfer"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15827LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2259_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15827LU) +); +} + +/* TransitionNumber - ns=0;i=15828 */ + +static UA_StatusCode function_namespace0_generated_2260_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15828_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15828_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15828_variant_DataContents); +*variablenode_ns_0_i_15828_variant_DataContents = (UA_UInt32) 23; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15828_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15828LU), +UA_NODEID_NUMERIC(ns[0], 15827LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15828_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2260_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15828LU) +); +} + +/* IdleToReadPrepare - ns=0;i=15825 */ + +static UA_StatusCode function_namespace0_generated_2261_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "IdleToReadPrepare"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15825LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IdleToReadPrepare"), +UA_NODEID_NUMERIC(ns[0], 2310LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15825LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2261_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15825LU) +); +} + +/* TransitionNumber - ns=0;i=15826 */ + +static UA_StatusCode function_namespace0_generated_2262_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15826_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15826_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15826_variant_DataContents); +*variablenode_ns_0_i_15826_variant_DataContents = (UA_UInt32) 12; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15826_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15826LU), +UA_NODEID_NUMERIC(ns[0], 15825LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15826_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2262_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15826LU) +); +} + +/* Error - ns=0;i=15823 */ + +static UA_StatusCode function_namespace0_generated_2263_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Error"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15823LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Error"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15837LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15841LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2263_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15823LU) +); +} + +/* StateNumber - ns=0;i=15824 */ + +static UA_StatusCode function_namespace0_generated_2264_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15824_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15824_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15824_variant_DataContents); +*variablenode_ns_0_i_15824_variant_DataContents = (UA_UInt32) 5; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15824_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15824LU), +UA_NODEID_NUMERIC(ns[0], 15823LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15824_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2264_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15824LU) +); +} + +/* ApplyWrite - ns=0;i=15821 */ + +static UA_StatusCode function_namespace0_generated_2265_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplyWrite"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15821LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplyWrite"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15821LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15821LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15821LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2265_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15821LU) +); +} + +/* StateNumber - ns=0;i=15822 */ + +static UA_StatusCode function_namespace0_generated_2266_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15822_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15822_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15822_variant_DataContents); +*variablenode_ns_0_i_15822_variant_DataContents = (UA_UInt32) 4; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15822_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15822LU), +UA_NODEID_NUMERIC(ns[0], 15821LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15822_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2266_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15822LU) +); +} + +/* ReadTransfer - ns=0;i=15819 */ + +static UA_StatusCode function_namespace0_generated_2267_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadTransfer"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15819LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadTransfer"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15819LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15827LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15819LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15829LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15819LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15837LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2267_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15819LU) +); +} + +/* StateNumber - ns=0;i=15820 */ + +static UA_StatusCode function_namespace0_generated_2268_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15820_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15820_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15820_variant_DataContents); +*variablenode_ns_0_i_15820_variant_DataContents = (UA_UInt32) 3; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15820_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15820LU), +UA_NODEID_NUMERIC(ns[0], 15819LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15820_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2268_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15820LU) +); +} + +/* ReadPrepare - ns=0;i=15817 */ + +static UA_StatusCode function_namespace0_generated_2269_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ReadPrepare"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15817LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadPrepare"), +UA_NODEID_NUMERIC(ns[0], 2307LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15817LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15825LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15817LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15827LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15817LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2269_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15817LU) +); +} + +/* StateNumber - ns=0;i=15818 */ + +static UA_StatusCode function_namespace0_generated_2270_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15818_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15818_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15818_variant_DataContents); +*variablenode_ns_0_i_15818_variant_DataContents = (UA_UInt32) 2; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15818_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15818LU), +UA_NODEID_NUMERIC(ns[0], 15817LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15818_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2270_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15818LU) +); +} + +/* Idle - ns=0;i=15815 */ + +static UA_StatusCode function_namespace0_generated_2271_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Idle"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15815LU), +UA_NODEID_NUMERIC(ns[0], 15803LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Idle"), +UA_NODEID_NUMERIC(ns[0], 2309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15825LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15829LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15841LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2271_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15815LU) +); +} + +/* StateNumber - ns=0;i=15816 */ + +static UA_StatusCode function_namespace0_generated_2272_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +UA_UInt32 *variablenode_ns_0_i_15816_variant_DataContents = UA_UInt32_new(); +if (!variablenode_ns_0_i_15816_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_UInt32_init(variablenode_ns_0_i_15816_variant_DataContents); +*variablenode_ns_0_i_15816_variant_DataContents = (UA_UInt32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15816_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15816LU), +UA_NODEID_NUMERIC(ns[0], 15815LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StateNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_UInt32_delete(variablenode_ns_0_i_15816_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2272_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15816LU) +); +} + +/* - ns=0;i=15754 */ + +static UA_StatusCode function_namespace0_generated_2273_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15754LU), +UA_NODEID_NUMERIC(ns[0], 15744LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 15803LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2273_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15754LU) +); +} + +/* Reset - ns=0;i=15794 */ + +static UA_StatusCode function_namespace0_generated_2274_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15794LU), +UA_NODEID_NUMERIC(ns[0], 15754LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2274_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15794LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CurrentState - ns=0;i=15755 */ + +static UA_StatusCode function_namespace0_generated_2275_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15755LU), +UA_NODEID_NUMERIC(ns[0], 15754LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentState"), +UA_NODEID_NUMERIC(ns[0], 2760LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2275_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15755LU) +); +} + +/* Id - ns=0;i=15756 */ + +static UA_StatusCode function_namespace0_generated_2276_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15756LU), +UA_NODEID_NUMERIC(ns[0], 15755LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2276_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15756LU) +); +} + +/* LastTransition - ns=0;i=2770 */ + +static UA_StatusCode function_namespace0_generated_2277_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2770LU), +UA_NODEID_NUMERIC(ns[0], 2299LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LastTransition"), +UA_NODEID_NUMERIC(ns[0], 2762LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2277_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2770LU) +); +} + +/* Id - ns=0;i=3724 */ + +static UA_StatusCode function_namespace0_generated_2278_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3724LU), +UA_NODEID_NUMERIC(ns[0], 2770LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2278_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3724LU) +); +} + +/* CurrentState - ns=0;i=2769 */ + +static UA_StatusCode function_namespace0_generated_2279_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2769LU), +UA_NODEID_NUMERIC(ns[0], 2299LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentState"), +UA_NODEID_NUMERIC(ns[0], 2755LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2279_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2769LU) +); +} + +/* Id - ns=0;i=3720 */ + +static UA_StatusCode function_namespace0_generated_2280_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3720LU), +UA_NODEID_NUMERIC(ns[0], 2769LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2280_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3720LU) +); +} + +/* ServerNetworkGroups - ns=0;i=14415 */ + +static UA_StatusCode function_namespace0_generated_2281_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11944LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerNetworkGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14415LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "ServerNetworkGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2281_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14415LU) +); +} + +/* ServerUriArray - ns=0;i=11314 */ + +static UA_StatusCode function_namespace0_generated_2282_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUriArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11314LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "ServerUriArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2282_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11314LU) +); +} + +/* RedundantServerArray - ns=0;i=11313 */ + +static UA_StatusCode function_namespace0_generated_2283_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 853LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11313LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "RedundantServerArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2283_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11313LU) +); +} + +/* CurrentServerId - ns=0;i=11312 */ + +static UA_StatusCode function_namespace0_generated_2284_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentServerId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11312LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "CurrentServerId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2284_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11312LU) +); +} + +/* Locations - ns=0;i=31915 */ + +static UA_StatusCode function_namespace0_generated_2285_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Locations"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 31915LU), +UA_NODEID_NUMERIC(ns[0], 85LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "Locations"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2285_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31915LU) +); +} + +/* AudioVariableType - ns=0;i=17986 */ + +static UA_StatusCode function_namespace0_generated_2286_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 16307LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AudioVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 17986LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AudioVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2286_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17986LU) +); +} + +/* VersionId - ns=0;i=17990 */ + +static UA_StatusCode function_namespace0_generated_2287_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "VersionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17990LU), +UA_NODEID_NUMERIC(ns[0], 17986LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "VersionId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2287_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17990LU) +); +} + +/* AgencyId - ns=0;i=17989 */ + +static UA_StatusCode function_namespace0_generated_2288_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AgencyId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17989LU), +UA_NODEID_NUMERIC(ns[0], 17986LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AgencyId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2288_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17989LU) +); +} + +/* ListId - ns=0;i=17988 */ + +static UA_StatusCode function_namespace0_generated_2289_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ListId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17988LU), +UA_NODEID_NUMERIC(ns[0], 17986LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ListId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2289_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17988LU) +); +} + +/* AudibleSound - ns=0;i=16390 */ + +static UA_StatusCode function_namespace0_generated_2290_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 16307LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AudibleSound"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16390LU), +UA_NODEID_NUMERIC(ns[0], 2915LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AudibleSound"), +UA_NODEID_NUMERIC(ns[0], 17986LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2290_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16390LU) +); +} + +/* SelectionListType - ns=0;i=16309 */ + +static UA_StatusCode function_namespace0_generated_2291_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SelectionListType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 16309LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SelectionListType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2291_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16309LU) +); +} + +/* NetworkInterface - ns=0;i=24018 */ + +static UA_StatusCode function_namespace0_generated_2292_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24018LU), +UA_NODEID_NUMERIC(ns[0], 24017LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2292_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24018LU) +); +} + +/* Selections - ns=0;i=24019 */ + +static UA_StatusCode function_namespace0_generated_2293_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24019LU), +UA_NODEID_NUMERIC(ns[0], 24018LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2293_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24019LU) +); +} + +/* NetworkInterface - ns=0;i=23843 */ + +static UA_StatusCode function_namespace0_generated_2294_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23843LU), +UA_NODEID_NUMERIC(ns[0], 23842LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2294_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23843LU) +); +} + +/* Selections - ns=0;i=23844 */ + +static UA_StatusCode function_namespace0_generated_2295_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23844LU), +UA_NODEID_NUMERIC(ns[0], 23843LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2295_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23844LU) +); +} + +/* NetworkInterface - ns=0;i=21146 */ + +static UA_StatusCode function_namespace0_generated_2296_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21146LU), +UA_NODEID_NUMERIC(ns[0], 21145LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2296_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21146LU) +); +} + +/* Selections - ns=0;i=17582 */ + +static UA_StatusCode function_namespace0_generated_2297_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17582LU), +UA_NODEID_NUMERIC(ns[0], 21146LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2297_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17582LU) +); +} + +/* SelectionDescriptions - ns=0;i=17633 */ + +static UA_StatusCode function_namespace0_generated_2298_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SelectionDescriptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17633LU), +UA_NODEID_NUMERIC(ns[0], 16309LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SelectionDescriptions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2298_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17633LU) +); +} + +/* Selections - ns=0;i=17632 */ + +static UA_StatusCode function_namespace0_generated_2299_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17632LU), +UA_NODEID_NUMERIC(ns[0], 16309LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2299_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17632LU) +); +} + +/* TransportProfileUri - ns=0;i=17306 */ + +static UA_StatusCode function_namespace0_generated_2300_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransportProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17306LU), +UA_NODEID_NUMERIC(ns[0], 14209LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportProfileUri"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2300_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17306LU) +); +} + +/* Selections - ns=0;i=17710 */ + +static UA_StatusCode function_namespace0_generated_2301_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17710LU), +UA_NODEID_NUMERIC(ns[0], 17306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2301_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17710LU) +); +} + +/* TransportProfileUri - ns=0;i=17292 */ + +static UA_StatusCode function_namespace0_generated_2302_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransportProfileUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17292LU), +UA_NODEID_NUMERIC(ns[0], 14417LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportProfileUri"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2302_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17292LU) +); +} + +/* Selections - ns=0;i=17706 */ + +static UA_StatusCode function_namespace0_generated_2303_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17706LU), +UA_NODEID_NUMERIC(ns[0], 17292LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2303_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17706LU) +); +} + +/* NetworkInterface - ns=0;i=17202 */ + +static UA_StatusCode function_namespace0_generated_2304_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17202LU), +UA_NODEID_NUMERIC(ns[0], 14221LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2304_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17202LU) +); +} + +/* Selections - ns=0;i=17576 */ + +static UA_StatusCode function_namespace0_generated_2305_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17576LU), +UA_NODEID_NUMERIC(ns[0], 17202LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2305_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17576LU) +); +} + +/* RestrictToList - ns=0;i=16312 */ + +static UA_StatusCode function_namespace0_generated_2306_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RestrictToList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16312LU), +UA_NODEID_NUMERIC(ns[0], 16309LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RestrictToList"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2306_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16312LU) +); +} + +/* NetworkInterface - ns=0;i=15533 */ + +static UA_StatusCode function_namespace0_generated_2307_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15533LU), +UA_NODEID_NUMERIC(ns[0], 14423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2307_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15533LU) +); +} + +/* Selections - ns=0;i=17503 */ + +static UA_StatusCode function_namespace0_generated_2308_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17503LU), +UA_NODEID_NUMERIC(ns[0], 15533LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2308_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17503LU) +); +} + +/* NetworkInterface - ns=0;i=15154 */ + +static UA_StatusCode function_namespace0_generated_2309_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15154LU), +UA_NODEID_NUMERIC(ns[0], 15072LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), +UA_NODEID_NUMERIC(ns[0], 16309LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2309_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15154LU) +); +} + +/* Selections - ns=0;i=17579 */ + +static UA_StatusCode function_namespace0_generated_2310_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17579LU), +UA_NODEID_NUMERIC(ns[0], 15154LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Selections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2310_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17579LU) +); +} + +/* OptionSetType - ns=0;i=11487 */ + +static UA_StatusCode function_namespace0_generated_2311_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 11487LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2311_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11487LU) +); +} + +/* BitMask - ns=0;i=11701 */ + +static UA_StatusCode function_namespace0_generated_2312_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BitMask"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11701LU), +UA_NODEID_NUMERIC(ns[0], 11487LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "BitMask"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2312_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11701LU) +); +} + +/* OptionSetValues - ns=0;i=11488 */ + +static UA_StatusCode function_namespace0_generated_2313_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11488LU), +UA_NODEID_NUMERIC(ns[0], 11487LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2313_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11488LU) +); +} + +/* SessionSecurityDiagnosticsType - ns=0;i=2244 */ + +static UA_StatusCode function_namespace0_generated_2314_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2314_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2244LU) +); +} + +/* ClientCertificate - ns=0;i=3058 */ + +static UA_StatusCode function_namespace0_generated_2315_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3058LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2315_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3058LU) +); +} + +/* SecurityPolicyUri - ns=0;i=2252 */ + +static UA_StatusCode function_namespace0_generated_2316_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2252LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2316_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2252LU) +); +} + +/* SecurityMode - ns=0;i=2251 */ + +static UA_StatusCode function_namespace0_generated_2317_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2251LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2317_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2251LU) +); +} + +/* TransportProtocol - ns=0;i=2250 */ + +static UA_StatusCode function_namespace0_generated_2318_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2250LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2318_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2250LU) +); +} + +/* Encoding - ns=0;i=2249 */ + +static UA_StatusCode function_namespace0_generated_2319_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2249LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Encoding"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2319_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2249LU) +); +} + +/* AuthenticationMechanism - ns=0;i=2248 */ + +static UA_StatusCode function_namespace0_generated_2320_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2248LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2320_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2248LU) +); +} + +/* ClientUserIdHistory - ns=0;i=2247 */ + +static UA_StatusCode function_namespace0_generated_2321_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2247LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2321_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2247LU) +); +} + +/* ClientUserIdOfSession - ns=0;i=2246 */ + +static UA_StatusCode function_namespace0_generated_2322_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2246LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2322_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2246LU) +); +} + +/* SessionId - ns=0;i=2245 */ + +static UA_StatusCode function_namespace0_generated_2323_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2245LU), +UA_NODEID_NUMERIC(ns[0], 2244LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2323_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2245LU) +); +} + +/* SessionSecurityDiagnosticsArrayType - ns=0;i=2243 */ + +static UA_StatusCode function_namespace0_generated_2324_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArrayType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2243LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArrayType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2324_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2243LU) +); +} + +/* SessionSecurityDiagnostics - ns=0;i=12860 */ + +static UA_StatusCode function_namespace0_generated_2325_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 2243LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2244LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2325_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12860LU) +); +} + +/* ClientCertificate - ns=0;i=12869 */ + +static UA_StatusCode function_namespace0_generated_2326_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12869LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2326_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12869LU) +); +} + +/* SecurityPolicyUri - ns=0;i=12868 */ + +static UA_StatusCode function_namespace0_generated_2327_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12868LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2327_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12868LU) +); +} + +/* SecurityMode - ns=0;i=12867 */ + +static UA_StatusCode function_namespace0_generated_2328_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12867LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2328_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12867LU) +); +} + +/* TransportProtocol - ns=0;i=12866 */ + +static UA_StatusCode function_namespace0_generated_2329_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12866LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2329_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12866LU) +); +} + +/* Encoding - ns=0;i=12865 */ + +static UA_StatusCode function_namespace0_generated_2330_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12865LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Encoding"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2330_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12865LU) +); +} + +/* AuthenticationMechanism - ns=0;i=12864 */ + +static UA_StatusCode function_namespace0_generated_2331_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12864LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2331_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12864LU) +); +} + +/* ClientUserIdHistory - ns=0;i=12863 */ + +static UA_StatusCode function_namespace0_generated_2332_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12863LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2332_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12863LU) +); +} + +/* ClientUserIdOfSession - ns=0;i=12862 */ + +static UA_StatusCode function_namespace0_generated_2333_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12862LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2333_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12862LU) +); +} + +/* SessionId - ns=0;i=12861 */ + +static UA_StatusCode function_namespace0_generated_2334_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12861LU), +UA_NODEID_NUMERIC(ns[0], 12860LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2334_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12861LU) +); +} + +/* SessionDiagnosticsVariableType - ns=0;i=2197 */ + +static UA_StatusCode function_namespace0_generated_2335_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsVariableType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsVariableType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2335_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2197LU) +); +} + +/* TotalRequestCount - ns=0;i=8900 */ + +static UA_StatusCode function_namespace0_generated_2336_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8900LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2336_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8900LU) +); +} + +/* MaxResponseMessageSize - ns=0;i=3050 */ + +static UA_StatusCode function_namespace0_generated_2337_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3050LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2337_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3050LU) +); +} + +/* UnregisterNodesCount - ns=0;i=2731 */ + +static UA_StatusCode function_namespace0_generated_2338_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2731LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2338_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2731LU) +); +} + +/* RegisterNodesCount - ns=0;i=2730 */ + +static UA_StatusCode function_namespace0_generated_2339_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2730LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2339_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2730LU) +); +} + +/* QueryNextCount - ns=0;i=2242 */ + +static UA_StatusCode function_namespace0_generated_2340_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2242LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2340_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2242LU) +); +} + +/* QueryFirstCount - ns=0;i=2241 */ + +static UA_StatusCode function_namespace0_generated_2341_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2241LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2341_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2241LU) +); +} + +/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=2240 */ + +static UA_StatusCode function_namespace0_generated_2342_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2240LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2342_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2240LU) +); +} + +/* BrowseNextCount - ns=0;i=2239 */ + +static UA_StatusCode function_namespace0_generated_2343_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2239LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2343_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2239LU) +); +} + +/* BrowseCount - ns=0;i=2238 */ + +static UA_StatusCode function_namespace0_generated_2344_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2238LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2344_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2238LU) +); +} + +/* DeleteReferencesCount - ns=0;i=2237 */ + +static UA_StatusCode function_namespace0_generated_2345_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2237LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2345_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2237LU) +); +} + +/* DeleteNodesCount - ns=0;i=2236 */ + +static UA_StatusCode function_namespace0_generated_2346_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2236LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2346_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2236LU) +); +} + +/* AddReferencesCount - ns=0;i=2235 */ + +static UA_StatusCode function_namespace0_generated_2347_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2235LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2347_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2235LU) +); +} + +/* AddNodesCount - ns=0;i=2234 */ + +static UA_StatusCode function_namespace0_generated_2348_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2234LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2348_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2234LU) +); +} + +/* DeleteSubscriptionsCount - ns=0;i=2233 */ + +static UA_StatusCode function_namespace0_generated_2349_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2233LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2349_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2233LU) +); +} + +/* TransferSubscriptionsCount - ns=0;i=2232 */ + +static UA_StatusCode function_namespace0_generated_2350_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2232LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2350_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2232LU) +); +} + +/* RepublishCount - ns=0;i=2231 */ + +static UA_StatusCode function_namespace0_generated_2351_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2231LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2351_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2231LU) +); +} + +/* PublishCount - ns=0;i=2230 */ + +static UA_StatusCode function_namespace0_generated_2352_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2230LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2352_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2230LU) +); +} + +/* SetPublishingModeCount - ns=0;i=2229 */ + +static UA_StatusCode function_namespace0_generated_2353_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2229LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2353_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2229LU) +); +} + +/* ModifySubscriptionCount - ns=0;i=2228 */ + +static UA_StatusCode function_namespace0_generated_2354_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2228LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2354_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2228LU) +); +} + +/* CreateSubscriptionCount - ns=0;i=2227 */ + +static UA_StatusCode function_namespace0_generated_2355_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2227LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2355_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2227LU) +); +} + +/* DeleteMonitoredItemsCount - ns=0;i=2226 */ + +static UA_StatusCode function_namespace0_generated_2356_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2226LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2356_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2226LU) +); +} + +/* SetTriggeringCount - ns=0;i=2225 */ + +static UA_StatusCode function_namespace0_generated_2357_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2225LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2357_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2225LU) +); +} + +/* SetMonitoringModeCount - ns=0;i=2224 */ + +static UA_StatusCode function_namespace0_generated_2358_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2224LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2358_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2224LU) +); +} + +/* ModifyMonitoredItemsCount - ns=0;i=2223 */ + +static UA_StatusCode function_namespace0_generated_2359_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2223LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2359_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2223LU) +); +} + +/* CreateMonitoredItemsCount - ns=0;i=2222 */ + +static UA_StatusCode function_namespace0_generated_2360_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2222LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2360_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2222LU) +); +} + +/* CallCount - ns=0;i=2221 */ + +static UA_StatusCode function_namespace0_generated_2361_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2221LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CallCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2361_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2221LU) +); +} + +/* HistoryUpdateCount - ns=0;i=2220 */ + +static UA_StatusCode function_namespace0_generated_2362_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2220LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2362_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2220LU) +); +} + +/* WriteCount - ns=0;i=2219 */ + +static UA_StatusCode function_namespace0_generated_2363_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2219LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriteCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2363_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2219LU) +); +} + +/* HistoryReadCount - ns=0;i=2218 */ + +static UA_StatusCode function_namespace0_generated_2364_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2218LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2364_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2218LU) +); +} + +/* ReadCount - ns=0;i=2217 */ + +static UA_StatusCode function_namespace0_generated_2365_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2217LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2365_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2217LU) +); +} + +/* CurrentPublishRequestsInQueue - ns=0;i=2209 */ + +static UA_StatusCode function_namespace0_generated_2366_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2209LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2366_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2209LU) +); +} + +/* CurrentMonitoredItemsCount - ns=0;i=2208 */ + +static UA_StatusCode function_namespace0_generated_2367_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2208LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2367_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2208LU) +); +} + +/* CurrentSubscriptionsCount - ns=0;i=2207 */ + +static UA_StatusCode function_namespace0_generated_2368_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2207LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2368_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2207LU) +); +} + +/* ClientLastContactTime - ns=0;i=2206 */ + +static UA_StatusCode function_namespace0_generated_2369_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2206LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2369_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2206LU) +); +} + +/* ClientConnectionTime - ns=0;i=2205 */ + +static UA_StatusCode function_namespace0_generated_2370_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2205LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2370_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2205LU) +); +} + +/* ActualSessionTimeout - ns=0;i=2204 */ + +static UA_StatusCode function_namespace0_generated_2371_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2204LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2371_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2204LU) +); +} + +/* LocaleIds - ns=0;i=2203 */ + +static UA_StatusCode function_namespace0_generated_2372_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2203LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIds"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2372_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2203LU) +); +} + +/* EndpointUrl - ns=0;i=2202 */ + +static UA_StatusCode function_namespace0_generated_2373_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2202LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2373_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2202LU) +); +} + +/* ServerUri - ns=0;i=2201 */ + +static UA_StatusCode function_namespace0_generated_2374_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2201LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2374_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2201LU) +); +} + +/* ClientDescription - ns=0;i=2200 */ + +static UA_StatusCode function_namespace0_generated_2375_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2200LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientDescription"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2375_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2200LU) +); +} + +/* SessionName - ns=0;i=2199 */ + +static UA_StatusCode function_namespace0_generated_2376_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2199LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2376_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2199LU) +); +} + +/* SessionId - ns=0;i=2198 */ + +static UA_StatusCode function_namespace0_generated_2377_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2198LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2377_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2198LU) +); +} + +/* UnauthorizedRequestCount - ns=0;i=11892 */ + +static UA_StatusCode function_namespace0_generated_2378_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11892LU), +UA_NODEID_NUMERIC(ns[0], 2197LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2378_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11892LU) +); +} + +/* SessionDiagnosticsArrayType - ns=0;i=2196 */ + +static UA_StatusCode function_namespace0_generated_2379_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArrayType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2196LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArrayType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2379_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2196LU) +); +} + +/* SessionDiagnostics - ns=0;i=12816 */ + +static UA_StatusCode function_namespace0_generated_2380_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 2196LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2197LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2380_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12816LU) +); +} + +/* UnregisterNodesCount - ns=0;i=12859 */ + +static UA_StatusCode function_namespace0_generated_2381_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12859LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2381_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12859LU) +); +} + +/* RegisterNodesCount - ns=0;i=12858 */ + +static UA_StatusCode function_namespace0_generated_2382_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12858LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2382_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12858LU) +); +} + +/* QueryNextCount - ns=0;i=12857 */ + +static UA_StatusCode function_namespace0_generated_2383_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12857LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2383_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12857LU) +); +} + +/* QueryFirstCount - ns=0;i=12856 */ + +static UA_StatusCode function_namespace0_generated_2384_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12856LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2384_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12856LU) +); +} + +/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=12855 */ + +static UA_StatusCode function_namespace0_generated_2385_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12855LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2385_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12855LU) +); +} + +/* BrowseNextCount - ns=0;i=12854 */ + +static UA_StatusCode function_namespace0_generated_2386_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12854LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2386_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12854LU) +); +} + +/* BrowseCount - ns=0;i=12853 */ + +static UA_StatusCode function_namespace0_generated_2387_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12853LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2387_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12853LU) +); +} + +/* DeleteReferencesCount - ns=0;i=12852 */ + +static UA_StatusCode function_namespace0_generated_2388_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12852LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2388_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12852LU) +); +} + +/* DeleteNodesCount - ns=0;i=12851 */ + +static UA_StatusCode function_namespace0_generated_2389_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12851LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2389_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12851LU) +); +} + +/* AddReferencesCount - ns=0;i=12850 */ + +static UA_StatusCode function_namespace0_generated_2390_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12850LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2390_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12850LU) +); +} + +/* AddNodesCount - ns=0;i=12849 */ + +static UA_StatusCode function_namespace0_generated_2391_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12849LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2391_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12849LU) +); +} + +/* DeleteSubscriptionsCount - ns=0;i=12848 */ + +static UA_StatusCode function_namespace0_generated_2392_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12848LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2392_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12848LU) +); +} + +/* TransferSubscriptionsCount - ns=0;i=12847 */ + +static UA_StatusCode function_namespace0_generated_2393_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12847LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2393_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12847LU) +); +} + +/* RepublishCount - ns=0;i=12846 */ + +static UA_StatusCode function_namespace0_generated_2394_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12846LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2394_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12846LU) +); +} + +/* PublishCount - ns=0;i=12845 */ + +static UA_StatusCode function_namespace0_generated_2395_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12845LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2395_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12845LU) +); +} + +/* SetPublishingModeCount - ns=0;i=12844 */ + +static UA_StatusCode function_namespace0_generated_2396_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12844LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2396_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12844LU) +); +} + +/* ModifySubscriptionCount - ns=0;i=12843 */ + +static UA_StatusCode function_namespace0_generated_2397_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12843LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2397_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12843LU) +); +} + +/* CreateSubscriptionCount - ns=0;i=12842 */ + +static UA_StatusCode function_namespace0_generated_2398_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12842LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2398_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12842LU) +); +} + +/* DeleteMonitoredItemsCount - ns=0;i=12841 */ + +static UA_StatusCode function_namespace0_generated_2399_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12841LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2399_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12841LU) +); +} + +/* SetTriggeringCount - ns=0;i=12840 */ + +static UA_StatusCode function_namespace0_generated_2400_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12840LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2400_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12840LU) +); +} + +/* SetMonitoringModeCount - ns=0;i=12839 */ + +static UA_StatusCode function_namespace0_generated_2401_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12839LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2401_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12839LU) +); +} + +/* ModifyMonitoredItemsCount - ns=0;i=12838 */ + +static UA_StatusCode function_namespace0_generated_2402_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12838LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2402_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12838LU) +); +} + +/* CreateMonitoredItemsCount - ns=0;i=12837 */ + +static UA_StatusCode function_namespace0_generated_2403_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12837LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2403_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12837LU) +); +} + +/* CallCount - ns=0;i=12836 */ + +static UA_StatusCode function_namespace0_generated_2404_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12836LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CallCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2404_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12836LU) +); +} + +/* HistoryUpdateCount - ns=0;i=12835 */ + +static UA_StatusCode function_namespace0_generated_2405_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12835LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2405_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12835LU) +); +} + +/* WriteCount - ns=0;i=12834 */ + +static UA_StatusCode function_namespace0_generated_2406_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12834LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriteCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2406_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12834LU) +); +} + +/* HistoryReadCount - ns=0;i=12833 */ + +static UA_StatusCode function_namespace0_generated_2407_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12833LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2407_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12833LU) +); +} + +/* ReadCount - ns=0;i=12832 */ + +static UA_StatusCode function_namespace0_generated_2408_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12832LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2408_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12832LU) +); +} + +/* UnauthorizedRequestCount - ns=0;i=12831 */ + +static UA_StatusCode function_namespace0_generated_2409_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12831LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2409_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12831LU) +); +} + +/* TotalRequestCount - ns=0;i=12830 */ + +static UA_StatusCode function_namespace0_generated_2410_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12830LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2410_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12830LU) +); +} + +/* CurrentPublishRequestsInQueue - ns=0;i=12829 */ + +static UA_StatusCode function_namespace0_generated_2411_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12829LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2411_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12829LU) +); +} + +/* CurrentMonitoredItemsCount - ns=0;i=12828 */ + +static UA_StatusCode function_namespace0_generated_2412_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12828LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2412_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12828LU) +); +} + +/* CurrentSubscriptionsCount - ns=0;i=12827 */ + +static UA_StatusCode function_namespace0_generated_2413_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12827LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2413_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12827LU) +); +} + +/* ClientLastContactTime - ns=0;i=12826 */ + +static UA_StatusCode function_namespace0_generated_2414_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12826LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2414_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12826LU) +); +} + +/* ClientConnectionTime - ns=0;i=12825 */ + +static UA_StatusCode function_namespace0_generated_2415_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12825LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2415_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12825LU) +); +} + +/* MaxResponseMessageSize - ns=0;i=12824 */ + +static UA_StatusCode function_namespace0_generated_2416_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12824LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2416_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12824LU) +); +} + +/* ActualSessionTimeout - ns=0;i=12823 */ + +static UA_StatusCode function_namespace0_generated_2417_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12823LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2417_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12823LU) +); +} + +/* LocaleIds - ns=0;i=12822 */ + +static UA_StatusCode function_namespace0_generated_2418_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12822LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIds"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2418_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12822LU) +); +} + +/* EndpointUrl - ns=0;i=12821 */ + +static UA_StatusCode function_namespace0_generated_2419_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12821LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2419_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12821LU) +); +} + +/* ServerUri - ns=0;i=12820 */ + +static UA_StatusCode function_namespace0_generated_2420_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12820LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2420_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12820LU) +); +} + +/* ClientDescription - ns=0;i=12819 */ + +static UA_StatusCode function_namespace0_generated_2421_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12819LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientDescription"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2421_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12819LU) +); +} + +/* SessionName - ns=0;i=12818 */ + +static UA_StatusCode function_namespace0_generated_2422_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12818LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2422_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12818LU) +); +} + +/* SessionId - ns=0;i=12817 */ + +static UA_StatusCode function_namespace0_generated_2423_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12817LU), +UA_NODEID_NUMERIC(ns[0], 12816LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2423_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12817LU) +); +} + +/* SubscriptionDiagnosticsType - ns=0;i=2172 */ + +static UA_StatusCode function_namespace0_generated_2424_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2424_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2172LU) +); +} + +/* EventQueueOverflowCount - ns=0;i=8902 */ + +static UA_StatusCode function_namespace0_generated_2425_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventQueueOverflowCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8902LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EventQueueOverflowCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2425_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8902LU) +); +} + +/* NextSequenceNumber - ns=0;i=8897 */ + +static UA_StatusCode function_namespace0_generated_2426_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NextSequenceNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8897LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NextSequenceNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2426_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8897LU) +); +} + +/* MonitoringQueueOverflowCount - ns=0;i=8896 */ + +static UA_StatusCode function_namespace0_generated_2427_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringQueueOverflowCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8896LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MonitoringQueueOverflowCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2427_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8896LU) +); +} + +/* DisabledMonitoredItemCount - ns=0;i=8895 */ + +static UA_StatusCode function_namespace0_generated_2428_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8895LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2428_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8895LU) +); +} + +/* MonitoredItemCount - ns=0;i=8894 */ + +static UA_StatusCode function_namespace0_generated_2429_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoredItemCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8894LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MonitoredItemCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2429_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8894LU) +); +} + +/* DiscardedMessageCount - ns=0;i=8893 */ + +static UA_StatusCode function_namespace0_generated_2430_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscardedMessageCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8893LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiscardedMessageCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2430_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8893LU) +); +} + +/* UnacknowledgedMessageCount - ns=0;i=8892 */ + +static UA_StatusCode function_namespace0_generated_2431_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnacknowledgedMessageCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8892LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnacknowledgedMessageCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2431_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8892LU) +); +} + +/* CurrentLifetimeCount - ns=0;i=8891 */ + +static UA_StatusCode function_namespace0_generated_2432_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentLifetimeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8891LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentLifetimeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2432_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8891LU) +); +} + +/* CurrentKeepAliveCount - ns=0;i=8890 */ + +static UA_StatusCode function_namespace0_generated_2433_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentKeepAliveCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8890LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentKeepAliveCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2433_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8890LU) +); +} + +/* LatePublishRequestCount - ns=0;i=8889 */ + +static UA_StatusCode function_namespace0_generated_2434_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LatePublishRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8889LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LatePublishRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2434_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8889LU) +); +} + +/* MaxLifetimeCount - ns=0;i=8888 */ + +static UA_StatusCode function_namespace0_generated_2435_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxLifetimeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8888LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxLifetimeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2435_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8888LU) +); +} + +/* EventNotificationsCount - ns=0;i=2998 */ + +static UA_StatusCode function_namespace0_generated_2436_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventNotificationsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2998LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EventNotificationsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2436_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2998LU) +); +} + +/* NotificationsCount - ns=0;i=2193 */ + +static UA_StatusCode function_namespace0_generated_2437_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NotificationsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2193LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NotificationsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2437_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2193LU) +); +} + +/* DataChangeNotificationsCount - ns=0;i=2191 */ + +static UA_StatusCode function_namespace0_generated_2438_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataChangeNotificationsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2191LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataChangeNotificationsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2438_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2191LU) +); +} + +/* PublishRequestCount - ns=0;i=2190 */ + +static UA_StatusCode function_namespace0_generated_2439_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2190LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2439_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2190LU) +); +} + +/* TransferredToSameClientCount - ns=0;i=2189 */ + +static UA_StatusCode function_namespace0_generated_2440_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToSameClientCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2189LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferredToSameClientCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2440_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2189LU) +); +} + +/* TransferredToAltClientCount - ns=0;i=2188 */ + +static UA_StatusCode function_namespace0_generated_2441_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToAltClientCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2188LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferredToAltClientCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2441_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2188LU) +); +} + +/* TransferRequestCount - ns=0;i=2187 */ + +static UA_StatusCode function_namespace0_generated_2442_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2187LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2442_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2187LU) +); +} + +/* RepublishMessageCount - ns=0;i=2186 */ + +static UA_StatusCode function_namespace0_generated_2443_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2186LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishMessageCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2443_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2186LU) +); +} + +/* RepublishMessageRequestCount - ns=0;i=2185 */ + +static UA_StatusCode function_namespace0_generated_2444_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2185LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishMessageRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2444_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2185LU) +); +} + +/* RepublishRequestCount - ns=0;i=2184 */ + +static UA_StatusCode function_namespace0_generated_2445_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2184LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2445_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2184LU) +); +} + +/* DisableCount - ns=0;i=2183 */ + +static UA_StatusCode function_namespace0_generated_2446_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DisableCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2183LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisableCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2446_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2183LU) +); +} + +/* EnableCount - ns=0;i=2182 */ + +static UA_StatusCode function_namespace0_generated_2447_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnableCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2182LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnableCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2447_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2182LU) +); +} + +/* ModifyCount - ns=0;i=2181 */ + +static UA_StatusCode function_namespace0_generated_2448_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2181LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2448_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2181LU) +); +} + +/* PublishingEnabled - ns=0;i=2180 */ + +static UA_StatusCode function_namespace0_generated_2449_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingEnabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2180LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingEnabled"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2449_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2180LU) +); +} + +/* MaxNotificationsPerPublish - ns=0;i=2179 */ + +static UA_StatusCode function_namespace0_generated_2450_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNotificationsPerPublish"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2179LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxNotificationsPerPublish"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2450_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2179LU) +); +} + +/* MaxKeepAliveCount - ns=0;i=2177 */ + +static UA_StatusCode function_namespace0_generated_2451_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxKeepAliveCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2177LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxKeepAliveCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2451_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2177LU) +); +} + +/* PublishingInterval - ns=0;i=2176 */ + +static UA_StatusCode function_namespace0_generated_2452_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2176LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2452_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2176LU) +); +} + +/* Priority - ns=0;i=2175 */ + +static UA_StatusCode function_namespace0_generated_2453_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2175LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Priority"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2453_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2175LU) +); +} + +/* SubscriptionId - ns=0;i=2174 */ + +static UA_StatusCode function_namespace0_generated_2454_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2174LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2454_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2174LU) +); +} + +/* SessionId - ns=0;i=2173 */ + +static UA_StatusCode function_namespace0_generated_2455_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2173LU), +UA_NODEID_NUMERIC(ns[0], 2172LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2455_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2173LU) +); +} + +/* SubscriptionDiagnosticsArrayType - ns=0;i=2171 */ + +static UA_StatusCode function_namespace0_generated_2456_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArrayType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2171LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArrayType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2456_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2171LU) +); +} + +/* SubscriptionDiagnostics - ns=0;i=12784 */ + +static UA_StatusCode function_namespace0_generated_2457_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 2171LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2172LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2457_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12784LU) +); +} + +/* EventQueueOverflowCount - ns=0;i=12815 */ + +static UA_StatusCode function_namespace0_generated_2458_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventQueueOverflowCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12815LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EventQueueOverflowCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2458_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12815LU) +); +} + +/* NextSequenceNumber - ns=0;i=12814 */ + +static UA_StatusCode function_namespace0_generated_2459_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NextSequenceNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12814LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NextSequenceNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2459_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12814LU) +); +} + +/* MonitoringQueueOverflowCount - ns=0;i=12813 */ + +static UA_StatusCode function_namespace0_generated_2460_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringQueueOverflowCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12813LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MonitoringQueueOverflowCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2460_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12813LU) +); +} + +/* DisabledMonitoredItemCount - ns=0;i=12812 */ + +static UA_StatusCode function_namespace0_generated_2461_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12812LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2461_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12812LU) +); +} + +/* MonitoredItemCount - ns=0;i=12811 */ + +static UA_StatusCode function_namespace0_generated_2462_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoredItemCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12811LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MonitoredItemCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2462_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12811LU) +); +} + +/* DiscardedMessageCount - ns=0;i=12810 */ + +static UA_StatusCode function_namespace0_generated_2463_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscardedMessageCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12810LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiscardedMessageCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2463_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12810LU) +); +} + +/* UnacknowledgedMessageCount - ns=0;i=12809 */ + +static UA_StatusCode function_namespace0_generated_2464_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnacknowledgedMessageCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12809LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnacknowledgedMessageCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2464_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12809LU) +); +} + +/* CurrentLifetimeCount - ns=0;i=12808 */ + +static UA_StatusCode function_namespace0_generated_2465_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentLifetimeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12808LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentLifetimeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2465_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12808LU) +); +} + +/* CurrentKeepAliveCount - ns=0;i=12807 */ + +static UA_StatusCode function_namespace0_generated_2466_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentKeepAliveCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12807LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentKeepAliveCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2466_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12807LU) +); +} + +/* LatePublishRequestCount - ns=0;i=12806 */ + +static UA_StatusCode function_namespace0_generated_2467_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LatePublishRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12806LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LatePublishRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2467_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12806LU) +); +} + +/* NotificationsCount - ns=0;i=12805 */ + +static UA_StatusCode function_namespace0_generated_2468_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NotificationsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12805LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NotificationsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2468_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12805LU) +); +} + +/* EventNotificationsCount - ns=0;i=12804 */ + +static UA_StatusCode function_namespace0_generated_2469_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventNotificationsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12804LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EventNotificationsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2469_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12804LU) +); +} + +/* DataChangeNotificationsCount - ns=0;i=12803 */ + +static UA_StatusCode function_namespace0_generated_2470_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataChangeNotificationsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12803LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataChangeNotificationsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2470_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12803LU) +); +} + +/* PublishRequestCount - ns=0;i=12802 */ + +static UA_StatusCode function_namespace0_generated_2471_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12802LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2471_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12802LU) +); +} + +/* TransferredToSameClientCount - ns=0;i=12801 */ + +static UA_StatusCode function_namespace0_generated_2472_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToSameClientCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12801LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferredToSameClientCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2472_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12801LU) +); +} + +/* TransferredToAltClientCount - ns=0;i=12800 */ + +static UA_StatusCode function_namespace0_generated_2473_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToAltClientCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12800LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferredToAltClientCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2473_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12800LU) +); +} + +/* TransferRequestCount - ns=0;i=12799 */ + +static UA_StatusCode function_namespace0_generated_2474_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12799LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2474_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12799LU) +); +} + +/* RepublishMessageCount - ns=0;i=12798 */ + +static UA_StatusCode function_namespace0_generated_2475_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12798LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishMessageCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2475_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12798LU) +); +} + +/* RepublishMessageRequestCount - ns=0;i=12797 */ + +static UA_StatusCode function_namespace0_generated_2476_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12797LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishMessageRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2476_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12797LU) +); +} + +/* RepublishRequestCount - ns=0;i=12796 */ + +static UA_StatusCode function_namespace0_generated_2477_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12796LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2477_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12796LU) +); +} + +/* DisableCount - ns=0;i=12795 */ + +static UA_StatusCode function_namespace0_generated_2478_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DisableCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12795LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisableCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2478_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12795LU) +); +} + +/* EnableCount - ns=0;i=12794 */ + +static UA_StatusCode function_namespace0_generated_2479_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnableCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12794LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnableCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2479_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12794LU) +); +} + +/* ModifyCount - ns=0;i=12793 */ + +static UA_StatusCode function_namespace0_generated_2480_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12793LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2480_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12793LU) +); +} + +/* PublishingEnabled - ns=0;i=12792 */ + +static UA_StatusCode function_namespace0_generated_2481_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingEnabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12792LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingEnabled"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2481_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12792LU) +); +} + +/* MaxNotificationsPerPublish - ns=0;i=12791 */ + +static UA_StatusCode function_namespace0_generated_2482_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNotificationsPerPublish"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12791LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxNotificationsPerPublish"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2482_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12791LU) +); +} + +/* MaxLifetimeCount - ns=0;i=12790 */ + +static UA_StatusCode function_namespace0_generated_2483_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxLifetimeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12790LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxLifetimeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2483_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12790LU) +); +} + +/* MaxKeepAliveCount - ns=0;i=12789 */ + +static UA_StatusCode function_namespace0_generated_2484_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxKeepAliveCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12789LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxKeepAliveCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2484_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12789LU) +); +} + +/* PublishingInterval - ns=0;i=12788 */ + +static UA_StatusCode function_namespace0_generated_2485_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12788LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2485_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12788LU) +); +} + +/* Priority - ns=0;i=12787 */ + +static UA_StatusCode function_namespace0_generated_2486_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12787LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Priority"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2486_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12787LU) +); +} + +/* SubscriptionId - ns=0;i=12786 */ + +static UA_StatusCode function_namespace0_generated_2487_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12786LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2487_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12786LU) +); +} + +/* SessionId - ns=0;i=12785 */ + +static UA_StatusCode function_namespace0_generated_2488_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12785LU), +UA_NODEID_NUMERIC(ns[0], 12784LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2488_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12785LU) +); +} + +/* SamplingIntervalDiagnosticsType - ns=0;i=2165 */ + +static UA_StatusCode function_namespace0_generated_2489_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2165LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2489_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2165LU) +); +} + +/* SamplingInterval - ns=0;i=2166 */ + +static UA_StatusCode function_namespace0_generated_2490_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2166LU), +UA_NODEID_NUMERIC(ns[0], 2165LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingInterval"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2490_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2166LU) +); +} + +/* DisabledMonitoredItemsSamplingCount - ns=0;i=11699 */ + +static UA_StatusCode function_namespace0_generated_2491_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemsSamplingCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11699LU), +UA_NODEID_NUMERIC(ns[0], 2165LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemsSamplingCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2491_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11699LU) +); +} + +/* MaxSampledMonitoredItemsCount - ns=0;i=11698 */ + +static UA_StatusCode function_namespace0_generated_2492_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSampledMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11698LU), +UA_NODEID_NUMERIC(ns[0], 2165LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxSampledMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2492_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11698LU) +); +} + +/* SampledMonitoredItemsCount - ns=0;i=11697 */ + +static UA_StatusCode function_namespace0_generated_2493_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SampledMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11697LU), +UA_NODEID_NUMERIC(ns[0], 2165LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SampledMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2493_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11697LU) +); +} + +/* SamplingIntervalDiagnosticsArrayType - ns=0;i=2164 */ + +static UA_StatusCode function_namespace0_generated_2494_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsArrayType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2164LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsArrayType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2494_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2164LU) +); +} + +/* SamplingIntervalDiagnostics - ns=0;i=12779 */ + +static UA_StatusCode function_namespace0_generated_2495_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12779LU), +UA_NODEID_NUMERIC(ns[0], 2164LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2165LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2495_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12779LU) +); +} + +/* DisabledMonitoredItemsSamplingCount - ns=0;i=12783 */ + +static UA_StatusCode function_namespace0_generated_2496_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemsSamplingCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12783LU), +UA_NODEID_NUMERIC(ns[0], 12779LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemsSamplingCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2496_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12783LU) +); +} + +/* MaxSampledMonitoredItemsCount - ns=0;i=12782 */ + +static UA_StatusCode function_namespace0_generated_2497_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSampledMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12782LU), +UA_NODEID_NUMERIC(ns[0], 12779LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxSampledMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2497_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12782LU) +); +} + +/* SampledMonitoredItemsCount - ns=0;i=12781 */ + +static UA_StatusCode function_namespace0_generated_2498_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SampledMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12781LU), +UA_NODEID_NUMERIC(ns[0], 12779LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SampledMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2498_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12781LU) +); +} + +/* SamplingInterval - ns=0;i=12780 */ + +static UA_StatusCode function_namespace0_generated_2499_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingInterval"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12780LU), +UA_NODEID_NUMERIC(ns[0], 12779LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingInterval"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2499_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12780LU) +); +} + +/* ServerDiagnosticsSummaryType - ns=0;i=2150 */ + +static UA_StatusCode function_namespace0_generated_2500_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2500_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2150LU) +); +} + +/* RejectedRequestsCount - ns=0;i=2163 */ + +static UA_StatusCode function_namespace0_generated_2501_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2163LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2501_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2163LU) +); +} + +/* SecurityRejectedRequestsCount - ns=0;i=2162 */ + +static UA_StatusCode function_namespace0_generated_2502_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2162LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2502_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2162LU) +); +} + +/* CumulatedSubscriptionCount - ns=0;i=2161 */ + +static UA_StatusCode function_namespace0_generated_2503_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2161LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2503_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2161LU) +); +} + +/* CurrentSubscriptionCount - ns=0;i=2160 */ + +static UA_StatusCode function_namespace0_generated_2504_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2160LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2504_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2160LU) +); +} + +/* PublishingIntervalCount - ns=0;i=2159 */ + +static UA_StatusCode function_namespace0_generated_2505_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2159LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2505_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2159LU) +); +} + +/* SessionAbortCount - ns=0;i=2157 */ + +static UA_StatusCode function_namespace0_generated_2506_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2157LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2506_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2157LU) +); +} + +/* SessionTimeoutCount - ns=0;i=2156 */ + +static UA_StatusCode function_namespace0_generated_2507_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2156LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2507_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2156LU) +); +} + +/* RejectedSessionCount - ns=0;i=2155 */ + +static UA_StatusCode function_namespace0_generated_2508_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2155LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2508_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2155LU) +); +} + +/* SecurityRejectedSessionCount - ns=0;i=2154 */ + +static UA_StatusCode function_namespace0_generated_2509_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2154LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2509_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2154LU) +); +} + +/* CumulatedSessionCount - ns=0;i=2153 */ + +static UA_StatusCode function_namespace0_generated_2510_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2153LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2510_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2153LU) +); +} + +/* CurrentSessionCount - ns=0;i=2152 */ + +static UA_StatusCode function_namespace0_generated_2511_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2152LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2511_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2152LU) +); +} + +/* ServerViewCount - ns=0;i=2151 */ + +static UA_StatusCode function_namespace0_generated_2512_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2151LU), +UA_NODEID_NUMERIC(ns[0], 2150LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2512_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2151LU) +); +} + +/* BuildInfoType - ns=0;i=3051 */ + +static UA_StatusCode function_namespace0_generated_2513_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfoType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfoType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2513_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3051LU) +); +} + +/* BuildDate - ns=0;i=3057 */ + +static UA_StatusCode function_namespace0_generated_2514_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3057LU), +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildDate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2514_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3057LU) +); +} + +/* BuildNumber - ns=0;i=3056 */ + +static UA_StatusCode function_namespace0_generated_2515_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3056LU), +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2515_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3056LU) +); +} + +/* SoftwareVersion - ns=0;i=3055 */ + +static UA_StatusCode function_namespace0_generated_2516_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3055LU), +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2516_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3055LU) +); +} + +/* ProductName - ns=0;i=3054 */ + +static UA_StatusCode function_namespace0_generated_2517_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3054LU), +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2517_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3054LU) +); +} + +/* ManufacturerName - ns=0;i=3053 */ + +static UA_StatusCode function_namespace0_generated_2518_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3053LU), +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2518_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3053LU) +); +} + +/* ProductUri - ns=0;i=3052 */ + +static UA_StatusCode function_namespace0_generated_2519_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3052LU), +UA_NODEID_NUMERIC(ns[0], 3051LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2519_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3052LU) +); +} + +/* ServerStatusType - ns=0;i=2138 */ + +static UA_StatusCode function_namespace0_generated_2520_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 862LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerStatusType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2520_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2138LU) +); +} + +/* ShutdownReason - ns=0;i=2753 */ + +static UA_StatusCode function_namespace0_generated_2521_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ShutdownReason"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2753LU), +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ShutdownReason"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2521_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2753LU) +); +} + +/* SecondsTillShutdown - ns=0;i=2752 */ + +static UA_StatusCode function_namespace0_generated_2522_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecondsTillShutdown"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2752LU), +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecondsTillShutdown"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2522_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2752LU) +); +} + +/* BuildInfo - ns=0;i=2142 */ + +static UA_StatusCode function_namespace0_generated_2523_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfo"), +UA_NODEID_NUMERIC(ns[0], 3051LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2523_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2142LU) +); +} + +/* BuildDate - ns=0;i=3703 */ + +static UA_StatusCode function_namespace0_generated_2524_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3703LU), +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildDate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2524_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3703LU) +); +} + +/* BuildNumber - ns=0;i=3702 */ + +static UA_StatusCode function_namespace0_generated_2525_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3702LU), +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2525_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3702LU) +); +} + +/* SoftwareVersion - ns=0;i=3701 */ + +static UA_StatusCode function_namespace0_generated_2526_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3701LU), +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2526_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3701LU) +); +} + +/* ProductName - ns=0;i=3700 */ + +static UA_StatusCode function_namespace0_generated_2527_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3700LU), +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2527_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3700LU) +); +} + +/* ManufacturerName - ns=0;i=3699 */ + +static UA_StatusCode function_namespace0_generated_2528_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3699LU), +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2528_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3699LU) +); +} + +/* ProductUri - ns=0;i=3698 */ + +static UA_StatusCode function_namespace0_generated_2529_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3698LU), +UA_NODEID_NUMERIC(ns[0], 2142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2529_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3698LU) +); +} + +/* State - ns=0;i=2141 */ + +static UA_StatusCode function_namespace0_generated_2530_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2141LU), +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2530_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2141LU) +); +} + +/* CurrentTime - ns=0;i=2140 */ + +static UA_StatusCode function_namespace0_generated_2531_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2140LU), +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2531_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2140LU) +); +} + +/* StartTime - ns=0;i=2139 */ + +static UA_StatusCode function_namespace0_generated_2532_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2139LU), +UA_NODEID_NUMERIC(ns[0], 2138LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2532_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2139LU) +); +} + +/* ServerVendorCapabilityType - ns=0;i=2137 */ + +static UA_StatusCode function_namespace0_generated_2533_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +attr.isAbstract = true; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerVendorCapabilityType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 2137LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerVendorCapabilityType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2533_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2137LU) +); +} + +/* AggregateFunctionType - ns=0;i=2340 */ + +static UA_StatusCode function_namespace0_generated_2534_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2340LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctionType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2534_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2340LU) +); +} + +/* WorstQuality - ns=0;i=2364 */ + +static UA_StatusCode function_namespace0_generated_2535_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "WorstQuality"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2364LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "WorstQuality"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2535_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2364LU) +); +} + +/* PercentBad - ns=0;i=2363 */ + +static UA_StatusCode function_namespace0_generated_2536_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PercentBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2363LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "PercentBad"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2536_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2363LU) +); +} + +/* PercentGood - ns=0;i=2362 */ + +static UA_StatusCode function_namespace0_generated_2537_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PercentGood"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2362LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "PercentGood"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2537_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2362LU) +); +} + +/* DurationBad - ns=0;i=2361 */ + +static UA_StatusCode function_namespace0_generated_2538_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DurationBad"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2361LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "DurationBad"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2538_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2361LU) +); +} + +/* DurationGood - ns=0;i=2360 */ + +static UA_StatusCode function_namespace0_generated_2539_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DurationGood"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2360LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "DurationGood"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2539_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2360LU) +); +} + +/* Delta - ns=0;i=2359 */ + +static UA_StatusCode function_namespace0_generated_2540_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Delta"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2359LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Delta"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2540_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2359LU) +); +} + +/* End - ns=0;i=2358 */ + +static UA_StatusCode function_namespace0_generated_2541_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "End"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2358LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "End"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2541_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2358LU) +); +} + +/* Start - ns=0;i=2357 */ + +static UA_StatusCode function_namespace0_generated_2542_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Start"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2357LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Start"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2542_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2357LU) +); +} + +/* NumberOfTransitions - ns=0;i=2355 */ + +static UA_StatusCode function_namespace0_generated_2543_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NumberOfTransitions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2355LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "NumberOfTransitions"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2543_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2355LU) +); +} + +/* Count - ns=0;i=2352 */ + +static UA_StatusCode function_namespace0_generated_2544_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Count"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2352LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Count"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2544_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2352LU) +); +} + +/* AnnotationCount - ns=0;i=2351 */ + +static UA_StatusCode function_namespace0_generated_2545_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AnnotationCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2351LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "AnnotationCount"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2545_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2351LU) +); +} + +/* Range - ns=0;i=2350 */ + +static UA_StatusCode function_namespace0_generated_2546_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Range"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2350LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Range"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2546_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2350LU) +); +} + +/* MaximumActualTime - ns=0;i=2349 */ + +static UA_StatusCode function_namespace0_generated_2547_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MaximumActualTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2349LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MaximumActualTime"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2547_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2349LU) +); +} + +/* MinimumActualTime - ns=0;i=2348 */ + +static UA_StatusCode function_namespace0_generated_2548_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MinimumActualTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2348LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MinimumActualTime"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2548_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2348LU) +); +} + +/* Maximum - ns=0;i=2347 */ + +static UA_StatusCode function_namespace0_generated_2549_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Maximum"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2347LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Maximum"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2549_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2347LU) +); +} + +/* Minimum - ns=0;i=2346 */ + +static UA_StatusCode function_namespace0_generated_2550_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Minimum"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2346LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Minimum"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2550_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2346LU) +); +} + +/* Total - ns=0;i=2344 */ + +static UA_StatusCode function_namespace0_generated_2551_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Total"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2344LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Total"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2551_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2344LU) +); +} + +/* TimeAverage - ns=0;i=2343 */ + +static UA_StatusCode function_namespace0_generated_2552_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimeAverage"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2343LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "TimeAverage"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2552_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2343LU) +); +} + +/* Average - ns=0;i=2342 */ + +static UA_StatusCode function_namespace0_generated_2553_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Average"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2342LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Average"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2553_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2342LU) +); +} + +/* Interpolative - ns=0;i=2341 */ + +static UA_StatusCode function_namespace0_generated_2554_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Interpolative"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2341LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Interpolative"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2554_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2341LU) +); +} + +/* DeltaBounds - ns=0;i=11507 */ + +static UA_StatusCode function_namespace0_generated_2555_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DeltaBounds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11507LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "DeltaBounds"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2555_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11507LU) +); +} + +/* EndBound - ns=0;i=11506 */ + +static UA_StatusCode function_namespace0_generated_2556_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "EndBound"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11506LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "EndBound"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2556_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11506LU) +); +} + +/* StartBound - ns=0;i=11505 */ + +static UA_StatusCode function_namespace0_generated_2557_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StartBound"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11505LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "StartBound"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2557_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11505LU) +); +} + +/* VariancePopulation - ns=0;i=11429 */ + +static UA_StatusCode function_namespace0_generated_2558_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "VariancePopulation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11429LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "VariancePopulation"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2558_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11429LU) +); +} + +/* VarianceSample - ns=0;i=11428 */ + +static UA_StatusCode function_namespace0_generated_2559_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "VarianceSample"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11428LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "VarianceSample"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2559_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11428LU) +); +} + +/* StandardDeviationPopulation - ns=0;i=11427 */ + +static UA_StatusCode function_namespace0_generated_2560_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StandardDeviationPopulation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11427LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "StandardDeviationPopulation"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2560_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11427LU) +); +} + +/* StandardDeviationSample - ns=0;i=11426 */ + +static UA_StatusCode function_namespace0_generated_2561_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "StandardDeviationSample"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11426LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "StandardDeviationSample"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2561_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11426LU) +); +} + +/* DurationInStateNonZero - ns=0;i=11308 */ + +static UA_StatusCode function_namespace0_generated_2562_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DurationInStateNonZero"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11308LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "DurationInStateNonZero"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2562_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11308LU) +); +} + +/* DurationInStateZero - ns=0;i=11307 */ + +static UA_StatusCode function_namespace0_generated_2563_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DurationInStateZero"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11307LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "DurationInStateZero"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2563_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11307LU) +); +} + +/* MaximumActualTime2 - ns=0;i=11306 */ + +static UA_StatusCode function_namespace0_generated_2564_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MaximumActualTime2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11306LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MaximumActualTime2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2564_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11306LU) +); +} + +/* MinimumActualTime2 - ns=0;i=11305 */ + +static UA_StatusCode function_namespace0_generated_2565_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MinimumActualTime2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11305LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MinimumActualTime2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2565_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11305LU) +); +} + +/* Total2 - ns=0;i=11304 */ + +static UA_StatusCode function_namespace0_generated_2566_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Total2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11304LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Total2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2566_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11304LU) +); +} + +/* WorstQuality2 - ns=0;i=11292 */ + +static UA_StatusCode function_namespace0_generated_2567_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "WorstQuality2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11292LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "WorstQuality2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2567_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11292LU) +); +} + +/* Range2 - ns=0;i=11288 */ + +static UA_StatusCode function_namespace0_generated_2568_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Range2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11288LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Range2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2568_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11288LU) +); +} + +/* Maximum2 - ns=0;i=11287 */ + +static UA_StatusCode function_namespace0_generated_2569_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Maximum2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11287LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Maximum2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2569_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11287LU) +); +} + +/* Minimum2 - ns=0;i=11286 */ + +static UA_StatusCode function_namespace0_generated_2570_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Minimum2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11286LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Minimum2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2570_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11286LU) +); +} + +/* TimeAverage2 - ns=0;i=11285 */ + +static UA_StatusCode function_namespace0_generated_2571_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TimeAverage2"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11285LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "TimeAverage2"), +UA_NODEID_NUMERIC(ns[0], 2340LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2571_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11285LU) +); +} + +/* ProgressEventType - ns=0;i=11436 */ + +static UA_StatusCode function_namespace0_generated_2572_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ProgressEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11436LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgressEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2572_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11436LU) +); +} + +/* Progress - ns=0;i=12503 */ + +static UA_StatusCode function_namespace0_generated_2573_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Progress"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12503LU), +UA_NODEID_NUMERIC(ns[0], 11436LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Progress"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2573_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12503LU) +); +} + +/* Context - ns=0;i=12502 */ + +static UA_StatusCode function_namespace0_generated_2574_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Context"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12502LU), +UA_NODEID_NUMERIC(ns[0], 11436LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Context"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2574_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12502LU) +); +} + +/* EventQueueOverflowEventType - ns=0;i=3035 */ + +static UA_StatusCode function_namespace0_generated_2575_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "EventQueueOverflowEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3035LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "EventQueueOverflowEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2575_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3035LU) +); +} + +/* SemanticChangeEventType - ns=0;i=2738 */ + +static UA_StatusCode function_namespace0_generated_2576_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2738LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SemanticChangeEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2576_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2738LU) +); +} + +/* Changes - ns=0;i=2739 */ + +static UA_StatusCode function_namespace0_generated_2577_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 897LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Changes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2739LU), +UA_NODEID_NUMERIC(ns[0], 2738LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Changes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2577_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2739LU) +); +} + +/* BaseModelChangeEventType - ns=0;i=2132 */ + +static UA_StatusCode function_namespace0_generated_2578_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "BaseModelChangeEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2132LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "BaseModelChangeEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2578_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2132LU) +); +} + +/* GeneralModelChangeEventType - ns=0;i=2133 */ + +static UA_StatusCode function_namespace0_generated_2579_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GeneralModelChangeEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2133LU), +UA_NODEID_NUMERIC(ns[0], 2132LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "GeneralModelChangeEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2133LU), UA_NODEID_NUMERIC(ns[0], 41LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23518LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2579_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2133LU) +); +} + +/* Changes - ns=0;i=2134 */ + +static UA_StatusCode function_namespace0_generated_2580_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 877LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Changes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2134LU), +UA_NODEID_NUMERIC(ns[0], 2133LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Changes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2580_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2134LU) +); +} + +/* SystemEventType - ns=0;i=2130 */ + +static UA_StatusCode function_namespace0_generated_2581_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SystemEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SystemEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2581_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2130LU) +); +} + +/* RefreshRequiredEventType - ns=0;i=2789 */ + +static UA_StatusCode function_namespace0_generated_2582_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RefreshRequiredEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2789LU), +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RefreshRequiredEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2582_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2789LU) +); +} + +/* RefreshEndEventType - ns=0;i=2788 */ + +static UA_StatusCode function_namespace0_generated_2583_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RefreshEndEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2788LU), +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RefreshEndEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2788LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3875LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2788LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2583_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2788LU) +); +} + +/* RefreshStartEventType - ns=0;i=2787 */ + +static UA_StatusCode function_namespace0_generated_2584_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RefreshStartEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2787LU), +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RefreshStartEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2787LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3875LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2787LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2584_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2787LU) +); +} + +/* DeviceFailureEventType - ns=0;i=2131 */ + +static UA_StatusCode function_namespace0_generated_2585_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "DeviceFailureEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2131LU), +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DeviceFailureEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2585_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2131LU) +); +} + +/* PubSubStatusEventType - ns=0;i=15535 */ + +static UA_StatusCode function_namespace0_generated_2586_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubStatusEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15535LU), +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubStatusEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2586_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15535LU) +); +} + +/* PubSubCommunicationFailureEventType - ns=0;i=15563 */ + +static UA_StatusCode function_namespace0_generated_2587_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCommunicationFailureEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15563LU), +UA_NODEID_NUMERIC(ns[0], 15535LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubCommunicationFailureEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2587_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15563LU) +); +} + +/* Error - ns=0;i=15576 */ + +static UA_StatusCode function_namespace0_generated_2588_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Error"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15576LU), +UA_NODEID_NUMERIC(ns[0], 15563LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Error"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2588_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15576LU) +); +} + +/* PubSubTransportLimitsExceedEventType - ns=0;i=15548 */ + +static UA_StatusCode function_namespace0_generated_2589_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubTransportLimitsExceedEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15548LU), +UA_NODEID_NUMERIC(ns[0], 15535LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubTransportLimitsExceedEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2589_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15548LU) +); +} + +/* Maximum - ns=0;i=15562 */ + +static UA_StatusCode function_namespace0_generated_2590_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Maximum"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15562LU), +UA_NODEID_NUMERIC(ns[0], 15548LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Maximum"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2590_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15562LU) +); +} + +/* Actual - ns=0;i=15561 */ + +static UA_StatusCode function_namespace0_generated_2591_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Actual"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15561LU), +UA_NODEID_NUMERIC(ns[0], 15548LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Actual"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2591_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15561LU) +); +} + +/* State - ns=0;i=15547 */ + +static UA_StatusCode function_namespace0_generated_2592_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15547LU), +UA_NODEID_NUMERIC(ns[0], 15535LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2592_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15547LU) +); +} + +/* GroupId - ns=0;i=15546 */ + +static UA_StatusCode function_namespace0_generated_2593_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "GroupId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15546LU), +UA_NODEID_NUMERIC(ns[0], 15535LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "GroupId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2593_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15546LU) +); +} + +/* ConnectionId - ns=0;i=15545 */ + +static UA_StatusCode function_namespace0_generated_2594_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15545LU), +UA_NODEID_NUMERIC(ns[0], 15535LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2594_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15545LU) +); +} + +/* SystemStatusChangeEventType - ns=0;i=11446 */ + +static UA_StatusCode function_namespace0_generated_2595_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SystemStatusChangeEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11446LU), +UA_NODEID_NUMERIC(ns[0], 2130LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SystemStatusChangeEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2595_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11446LU) +); +} + +/* SystemState - ns=0;i=11696 */ + +static UA_StatusCode function_namespace0_generated_2596_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SystemState"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11696LU), +UA_NODEID_NUMERIC(ns[0], 11446LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SystemState"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2596_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11696LU) +); +} + +/* AuditEventType - ns=0;i=2052 */ + +static UA_StatusCode function_namespace0_generated_2597_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2597_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2052LU) +); +} + +/* AuditClientEventType - ns=0;i=23606 */ + +static UA_StatusCode function_namespace0_generated_2598_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditClientEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23606LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditClientEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2598_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23606LU) +); +} + +/* AuditClientUpdateMethodResultEventType - ns=0;i=23926 */ + +static UA_StatusCode function_namespace0_generated_2599_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditClientUpdateMethodResultEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 23926LU), +UA_NODEID_NUMERIC(ns[0], 23606LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditClientUpdateMethodResultEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2599_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23926LU) +); +} + +/* OutputArguments - ns=0;i=25684 */ + +static UA_StatusCode function_namespace0_generated_2600_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25684LU), +UA_NODEID_NUMERIC(ns[0], 23926LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2600_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25684LU) +); +} + +/* InputArguments - ns=0;i=23999 */ + +static UA_StatusCode function_namespace0_generated_2601_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23999LU), +UA_NODEID_NUMERIC(ns[0], 23926LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2601_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23999LU) +); +} + +/* StatusCodeId - ns=0;i=23998 */ + +static UA_StatusCode function_namespace0_generated_2602_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatusCodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23998LU), +UA_NODEID_NUMERIC(ns[0], 23926LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StatusCodeId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2602_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23998LU) +); +} + +/* MethodId - ns=0;i=23995 */ + +static UA_StatusCode function_namespace0_generated_2603_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MethodId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23995LU), +UA_NODEID_NUMERIC(ns[0], 23926LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MethodId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2603_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23995LU) +); +} + +/* ObjectId - ns=0;i=23994 */ + +static UA_StatusCode function_namespace0_generated_2604_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ObjectId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23994LU), +UA_NODEID_NUMERIC(ns[0], 23926LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ObjectId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2604_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23994LU) +); +} + +/* ServerUri - ns=0;i=23908 */ + +static UA_StatusCode function_namespace0_generated_2605_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23908LU), +UA_NODEID_NUMERIC(ns[0], 23606LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2605_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23908LU) +); +} + +/* AuditUpdateMethodEventType - ns=0;i=2127 */ + +static UA_StatusCode function_namespace0_generated_2606_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditUpdateMethodEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditUpdateMethodEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2127LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18666LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2606_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2127LU) +); +} + +/* CertificateUpdateRequestedAuditEventType - ns=0;i=32306 */ + +static UA_StatusCode function_namespace0_generated_2607_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateUpdateRequestedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 32306LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CertificateUpdateRequestedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2607_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32306LU) +); +} + +/* TrustListUpdateRequestedAuditEventType - ns=0;i=32260 */ + +static UA_StatusCode function_namespace0_generated_2608_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListUpdateRequestedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 32260LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListUpdateRequestedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2608_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32260LU) +); +} + +/* AuditConditionEventType - ns=0;i=2790 */ + +static UA_StatusCode function_namespace0_generated_2609_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2609_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2790LU) +); +} + +/* AuditConditionConfirmEventType - ns=0;i=8961 */ + +static UA_StatusCode function_namespace0_generated_2610_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionConfirmEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 8961LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionConfirmEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8961LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9113LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2610_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8961LU) +); +} + +/* ConditionEventId - ns=0;i=17224 */ + +static UA_StatusCode function_namespace0_generated_2611_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionEventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17224LU), +UA_NODEID_NUMERIC(ns[0], 8961LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionEventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2611_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17224LU) +); +} + +/* Comment - ns=0;i=11854 */ + +static UA_StatusCode function_namespace0_generated_2612_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11854LU), +UA_NODEID_NUMERIC(ns[0], 8961LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2612_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11854LU) +); +} + +/* AuditConditionAcknowledgeEventType - ns=0;i=8944 */ + +static UA_StatusCode function_namespace0_generated_2613_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionAcknowledgeEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 8944LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionAcknowledgeEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9111LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19505LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20198LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2613_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8944LU) +); +} + +/* ConditionEventId - ns=0;i=17223 */ + +static UA_StatusCode function_namespace0_generated_2614_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionEventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17223LU), +UA_NODEID_NUMERIC(ns[0], 8944LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionEventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2614_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17223LU) +); +} + +/* Comment - ns=0;i=11853 */ + +static UA_StatusCode function_namespace0_generated_2615_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11853LU), +UA_NODEID_NUMERIC(ns[0], 8944LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2615_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11853LU) +); +} + +/* AuditConditionRespondEventType - ns=0;i=8927 */ + +static UA_StatusCode function_namespace0_generated_2616_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionRespondEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 8927LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionRespondEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8927LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9069LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8927LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2616_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8927LU) +); +} + +/* SelectedResponse - ns=0;i=11852 */ + +static UA_StatusCode function_namespace0_generated_2617_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SelectedResponse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11852LU), +UA_NODEID_NUMERIC(ns[0], 8927LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SelectedResponse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2617_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11852LU) +); +} + +/* AuditConditionCommentEventType - ns=0;i=2829 */ + +static UA_StatusCode function_namespace0_generated_2618_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionCommentEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2829LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionCommentEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9029LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16441LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19485LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2618_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2829LU) +); +} + +/* ConditionEventId - ns=0;i=17222 */ + +static UA_StatusCode function_namespace0_generated_2619_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionEventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17222LU), +UA_NODEID_NUMERIC(ns[0], 2829LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionEventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2619_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17222LU) +); +} + +/* Comment - ns=0;i=11851 */ + +static UA_StatusCode function_namespace0_generated_2620_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11851LU), +UA_NODEID_NUMERIC(ns[0], 2829LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Comment"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2620_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11851LU) +); +} + +/* AuditConditionEnableEventType - ns=0;i=2803 */ + +static UA_StatusCode function_namespace0_generated_2621_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionEnableEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2803LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionEnableEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9027LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16439LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16440LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19483LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19484LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2621_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2803LU) +); +} + +/* AuditConditionOutOfServiceEventType - ns=0;i=17259 */ + +static UA_StatusCode function_namespace0_generated_2622_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionOutOfServiceEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17259LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionOutOfServiceEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17869LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24320LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17870LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2622_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17259LU) +); +} + +/* AuditConditionSilenceEventType - ns=0;i=17242 */ + +static UA_StatusCode function_namespace0_generated_2623_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionSilenceEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17242LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionSilenceEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17242LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16402LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2623_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17242LU) +); +} + +/* AuditConditionSuppressionEventType - ns=0;i=17225 */ + +static UA_StatusCode function_namespace0_generated_2624_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionSuppressionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17225LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionSuppressionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16403LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24318LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2624_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17225LU) +); +} + +/* AuditConditionResetEventType - ns=0;i=15013 */ + +static UA_StatusCode function_namespace0_generated_2625_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionResetEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 15013LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionResetEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15013LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18199LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15013LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24324LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2625_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15013LU) +); +} + +/* AuditConditionShelvingEventType - ns=0;i=11093 */ + +static UA_StatusCode function_namespace0_generated_2626_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionShelvingEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11093LU), +UA_NODEID_NUMERIC(ns[0], 2790LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditConditionShelvingEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9213LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9211LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9212LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24758LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24760LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2626_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11093LU) +); +} + +/* ShelvingTime - ns=0;i=11855 */ + +static UA_StatusCode function_namespace0_generated_2627_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ShelvingTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11855LU), +UA_NODEID_NUMERIC(ns[0], 11093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ShelvingTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2627_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11855LU) +); +} + +/* AuditUpdateStateEventType - ns=0;i=2315 */ + +static UA_StatusCode function_namespace0_generated_2628_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditUpdateStateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2315LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditUpdateStateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2628_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2315LU) +); +} + +/* ProgramTransitionAuditEventType - ns=0;i=3806 */ + +static UA_StatusCode function_namespace0_generated_2629_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramTransitionAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3806LU), +UA_NODEID_NUMERIC(ns[0], 2315LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ProgramTransitionAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2629_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3806LU) +); +} + +/* Transition - ns=0;i=3825 */ + +static UA_StatusCode function_namespace0_generated_2630_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Transition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3825LU), +UA_NODEID_NUMERIC(ns[0], 3806LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Transition"), +UA_NODEID_NUMERIC(ns[0], 2767LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2630_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3825LU) +); +} + +/* Id - ns=0;i=3826 */ + +static UA_StatusCode function_namespace0_generated_2631_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Id"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3826LU), +UA_NODEID_NUMERIC(ns[0], 3825LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Id"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2631_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3826LU) +); +} + +/* NewStateId - ns=0;i=2778 */ + +static UA_StatusCode function_namespace0_generated_2632_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NewStateId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2778LU), +UA_NODEID_NUMERIC(ns[0], 2315LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NewStateId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2632_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2778LU) +); +} + +/* OldStateId - ns=0;i=2777 */ + +static UA_StatusCode function_namespace0_generated_2633_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldStateId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2777LU), +UA_NODEID_NUMERIC(ns[0], 2315LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldStateId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2633_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2777LU) +); +} + +/* AuditProgramTransitionEventType - ns=0;i=11856 */ + +static UA_StatusCode function_namespace0_generated_2634_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditProgramTransitionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11856LU), +UA_NODEID_NUMERIC(ns[0], 2315LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditProgramTransitionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2408LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2410LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2412LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2414LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2416LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2418LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2422LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2424LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2634_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11856LU) +); +} + +/* TransitionNumber - ns=0;i=11875 */ + +static UA_StatusCode function_namespace0_generated_2635_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11875LU), +UA_NODEID_NUMERIC(ns[0], 11856LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2635_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11875LU) +); +} + +/* InputArguments - ns=0;i=2129 */ + +static UA_StatusCode function_namespace0_generated_2636_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2129LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2636_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2129LU) +); +} + +/* MethodId - ns=0;i=2128 */ + +static UA_StatusCode function_namespace0_generated_2637_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MethodId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2128LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MethodId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2637_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2128LU) +); +} + +/* KeyCredentialAuditEventType - ns=0;i=18011 */ + +static UA_StatusCode function_namespace0_generated_2638_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18011LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "KeyCredentialAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2638_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18011LU) +); +} + +/* KeyCredentialDeletedAuditEventType - ns=0;i=18047 */ + +static UA_StatusCode function_namespace0_generated_2639_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialDeletedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18047LU), +UA_NODEID_NUMERIC(ns[0], 18011LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "KeyCredentialDeletedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2639_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18047LU) +); +} + +/* ResourceUri - ns=0;i=18064 */ + +static UA_StatusCode function_namespace0_generated_2640_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18064LU), +UA_NODEID_NUMERIC(ns[0], 18047LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2640_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18064LU) +); +} + +/* KeyCredentialUpdatedAuditEventType - ns=0;i=18029 */ + +static UA_StatusCode function_namespace0_generated_2641_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialUpdatedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 18029LU), +UA_NODEID_NUMERIC(ns[0], 18011LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "KeyCredentialUpdatedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2641_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18029LU) +); +} + +/* ResourceUri - ns=0;i=18028 */ + +static UA_StatusCode function_namespace0_generated_2642_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18028LU), +UA_NODEID_NUMERIC(ns[0], 18011LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ResourceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2642_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18028LU) +); +} + +/* RoleMappingRuleChangedAuditEventType - ns=0;i=17641 */ + +static UA_StatusCode function_namespace0_generated_2643_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RoleMappingRuleChangedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 17641LU), +UA_NODEID_NUMERIC(ns[0], 2127LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "RoleMappingRuleChangedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2643_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17641LU) +); +} + +/* AuditUpdateEventType - ns=0;i=2099 */ + +static UA_StatusCode function_namespace0_generated_2644_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditUpdateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2099LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditUpdateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2644_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2099LU) +); +} + +/* AuditHistoryUpdateEventType - ns=0;i=2104 */ + +static UA_StatusCode function_namespace0_generated_2645_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryUpdateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2104LU), +UA_NODEID_NUMERIC(ns[0], 2099LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryUpdateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2645_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2104LU) +); +} + +/* AuditHistoryDeleteEventType - ns=0;i=3012 */ + +static UA_StatusCode function_namespace0_generated_2646_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryDeleteEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3012LU), +UA_NODEID_NUMERIC(ns[0], 2104LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryDeleteEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2646_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3012LU) +); +} + +/* UpdatedNode - ns=0;i=3027 */ + +static UA_StatusCode function_namespace0_generated_2647_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdatedNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3027LU), +UA_NODEID_NUMERIC(ns[0], 3012LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdatedNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2647_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3027LU) +); +} + +/* AuditHistoryEventDeleteEventType - ns=0;i=3022 */ + +static UA_StatusCode function_namespace0_generated_2648_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryEventDeleteEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3022LU), +UA_NODEID_NUMERIC(ns[0], 3012LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryEventDeleteEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2648_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3022LU) +); +} + +/* OldValues - ns=0;i=3024 */ + +static UA_StatusCode function_namespace0_generated_2649_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 920LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3024LU), +UA_NODEID_NUMERIC(ns[0], 3022LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2649_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3024LU) +); +} + +/* EventIds - ns=0;i=3023 */ + +static UA_StatusCode function_namespace0_generated_2650_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3023LU), +UA_NODEID_NUMERIC(ns[0], 3022LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventIds"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2650_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3023LU) +); +} + +/* AuditHistoryAtTimeDeleteEventType - ns=0;i=3019 */ + +static UA_StatusCode function_namespace0_generated_2651_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryAtTimeDeleteEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3019LU), +UA_NODEID_NUMERIC(ns[0], 3012LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryAtTimeDeleteEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2651_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3019LU) +); +} + +/* OldValues - ns=0;i=3021 */ + +static UA_StatusCode function_namespace0_generated_2652_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3021LU), +UA_NODEID_NUMERIC(ns[0], 3019LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2652_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3021LU) +); +} + +/* ReqTimes - ns=0;i=3020 */ + +static UA_StatusCode function_namespace0_generated_2653_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReqTimes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3020LU), +UA_NODEID_NUMERIC(ns[0], 3019LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReqTimes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2653_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3020LU) +); +} + +/* AuditHistoryRawModifyDeleteEventType - ns=0;i=3014 */ + +static UA_StatusCode function_namespace0_generated_2654_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryRawModifyDeleteEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3014LU), +UA_NODEID_NUMERIC(ns[0], 3012LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryRawModifyDeleteEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2654_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3014LU) +); +} + +/* OldValues - ns=0;i=3034 */ + +static UA_StatusCode function_namespace0_generated_2655_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3034LU), +UA_NODEID_NUMERIC(ns[0], 3014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2655_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3034LU) +); +} + +/* EndTime - ns=0;i=3017 */ + +static UA_StatusCode function_namespace0_generated_2656_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3017LU), +UA_NODEID_NUMERIC(ns[0], 3014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2656_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3017LU) +); +} + +/* StartTime - ns=0;i=3016 */ + +static UA_StatusCode function_namespace0_generated_2657_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3016LU), +UA_NODEID_NUMERIC(ns[0], 3014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2657_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3016LU) +); +} + +/* IsDeleteModified - ns=0;i=3015 */ + +static UA_StatusCode function_namespace0_generated_2658_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsDeleteModified"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3015LU), +UA_NODEID_NUMERIC(ns[0], 3014LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsDeleteModified"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2658_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3015LU) +); +} + +/* AuditHistoryValueUpdateEventType - ns=0;i=3006 */ + +static UA_StatusCode function_namespace0_generated_2659_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryValueUpdateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 3006LU), +UA_NODEID_NUMERIC(ns[0], 2104LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryValueUpdateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2659_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3006LU) +); +} + +/* OldValues - ns=0;i=3033 */ + +static UA_StatusCode function_namespace0_generated_2660_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3033LU), +UA_NODEID_NUMERIC(ns[0], 3006LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2660_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3033LU) +); +} + +/* NewValues - ns=0;i=3032 */ + +static UA_StatusCode function_namespace0_generated_2661_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NewValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3032LU), +UA_NODEID_NUMERIC(ns[0], 3006LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NewValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2661_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3032LU) +); +} + +/* PerformInsertReplace - ns=0;i=3031 */ + +static UA_StatusCode function_namespace0_generated_2662_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11293LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PerformInsertReplace"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3031LU), +UA_NODEID_NUMERIC(ns[0], 3006LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PerformInsertReplace"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2662_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3031LU) +); +} + +/* UpdatedNode - ns=0;i=3026 */ + +static UA_StatusCode function_namespace0_generated_2663_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdatedNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3026LU), +UA_NODEID_NUMERIC(ns[0], 3006LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdatedNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2663_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3026LU) +); +} + +/* AuditHistoryEventUpdateEventType - ns=0;i=2999 */ + +static UA_StatusCode function_namespace0_generated_2664_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryEventUpdateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2999LU), +UA_NODEID_NUMERIC(ns[0], 2104LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryEventUpdateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2664_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2999LU) +); +} + +/* OldValues - ns=0;i=3030 */ + +static UA_StatusCode function_namespace0_generated_2665_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 920LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3030LU), +UA_NODEID_NUMERIC(ns[0], 2999LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2665_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3030LU) +); +} + +/* NewValues - ns=0;i=3029 */ + +static UA_StatusCode function_namespace0_generated_2666_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 920LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NewValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3029LU), +UA_NODEID_NUMERIC(ns[0], 2999LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NewValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2666_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3029LU) +); +} + +/* PerformInsertReplace - ns=0;i=3028 */ + +static UA_StatusCode function_namespace0_generated_2667_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11293LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PerformInsertReplace"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3028LU), +UA_NODEID_NUMERIC(ns[0], 2999LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PerformInsertReplace"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2667_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3028LU) +); +} + +/* UpdatedNode - ns=0;i=3025 */ + +static UA_StatusCode function_namespace0_generated_2668_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdatedNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3025LU), +UA_NODEID_NUMERIC(ns[0], 2999LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdatedNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2668_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3025LU) +); +} + +/* Filter - ns=0;i=3003 */ + +static UA_StatusCode function_namespace0_generated_2669_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 725LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Filter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3003LU), +UA_NODEID_NUMERIC(ns[0], 2999LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Filter"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2669_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3003LU) +); +} + +/* ParameterDataTypeId - ns=0;i=2751 */ + +static UA_StatusCode function_namespace0_generated_2670_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ParameterDataTypeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2751LU), +UA_NODEID_NUMERIC(ns[0], 2104LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ParameterDataTypeId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2670_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2751LU) +); +} + +/* AuditHistoryAnnotationUpdateEventType - ns=0;i=19095 */ + +static UA_StatusCode function_namespace0_generated_2671_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryAnnotationUpdateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 19095LU), +UA_NODEID_NUMERIC(ns[0], 2104LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditHistoryAnnotationUpdateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2671_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19095LU) +); +} + +/* OldValues - ns=0;i=19295 */ + +static UA_StatusCode function_namespace0_generated_2672_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19295LU), +UA_NODEID_NUMERIC(ns[0], 19095LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2672_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19295LU) +); +} + +/* NewValues - ns=0;i=19294 */ + +static UA_StatusCode function_namespace0_generated_2673_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NewValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19294LU), +UA_NODEID_NUMERIC(ns[0], 19095LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NewValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2673_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19294LU) +); +} + +/* PerformInsertReplace - ns=0;i=19293 */ + +static UA_StatusCode function_namespace0_generated_2674_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11293LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PerformInsertReplace"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19293LU), +UA_NODEID_NUMERIC(ns[0], 19095LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PerformInsertReplace"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2674_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19293LU) +); +} + +/* AuditWriteUpdateEventType - ns=0;i=2100 */ + +static UA_StatusCode function_namespace0_generated_2675_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditWriteUpdateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2100LU), +UA_NODEID_NUMERIC(ns[0], 2099LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditWriteUpdateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2675_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2100LU) +); +} + +/* AttributeId - ns=0;i=2750 */ + +static UA_StatusCode function_namespace0_generated_2676_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AttributeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2750LU), +UA_NODEID_NUMERIC(ns[0], 2100LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AttributeId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2676_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2750LU) +); +} + +/* NewValue - ns=0;i=2103 */ + +static UA_StatusCode function_namespace0_generated_2677_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NewValue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2103LU), +UA_NODEID_NUMERIC(ns[0], 2100LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NewValue"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2677_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2103LU) +); +} + +/* OldValue - ns=0;i=2102 */ + +static UA_StatusCode function_namespace0_generated_2678_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OldValue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2102LU), +UA_NODEID_NUMERIC(ns[0], 2100LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OldValue"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2678_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2102LU) +); +} + +/* IndexRange - ns=0;i=2101 */ + +static UA_StatusCode function_namespace0_generated_2679_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IndexRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2101LU), +UA_NODEID_NUMERIC(ns[0], 2100LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IndexRange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2679_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2101LU) +); +} + +/* AuditNodeManagementEventType - ns=0;i=2090 */ + +static UA_StatusCode function_namespace0_generated_2680_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditNodeManagementEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2090LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditNodeManagementEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2680_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2090LU) +); +} + +/* AuditDeleteReferencesEventType - ns=0;i=2097 */ + +static UA_StatusCode function_namespace0_generated_2681_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditDeleteReferencesEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2097LU), +UA_NODEID_NUMERIC(ns[0], 2090LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditDeleteReferencesEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2681_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2097LU) +); +} + +/* ReferencesToDelete - ns=0;i=2098 */ + +static UA_StatusCode function_namespace0_generated_2682_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 385LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferencesToDelete"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2098LU), +UA_NODEID_NUMERIC(ns[0], 2097LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReferencesToDelete"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2682_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2098LU) +); +} + +/* AuditAddReferencesEventType - ns=0;i=2095 */ + +static UA_StatusCode function_namespace0_generated_2683_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditAddReferencesEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2095LU), +UA_NODEID_NUMERIC(ns[0], 2090LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditAddReferencesEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2683_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2095LU) +); +} + +/* ReferencesToAdd - ns=0;i=2096 */ + +static UA_StatusCode function_namespace0_generated_2684_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 379LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferencesToAdd"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2096LU), +UA_NODEID_NUMERIC(ns[0], 2095LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReferencesToAdd"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2684_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2096LU) +); +} + +/* AuditDeleteNodesEventType - ns=0;i=2093 */ + +static UA_StatusCode function_namespace0_generated_2685_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditDeleteNodesEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2093LU), +UA_NODEID_NUMERIC(ns[0], 2090LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditDeleteNodesEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2685_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2093LU) +); +} + +/* NodesToDelete - ns=0;i=2094 */ + +static UA_StatusCode function_namespace0_generated_2686_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 382LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NodesToDelete"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2094LU), +UA_NODEID_NUMERIC(ns[0], 2093LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NodesToDelete"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2686_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2094LU) +); +} + +/* AuditAddNodesEventType - ns=0;i=2091 */ + +static UA_StatusCode function_namespace0_generated_2687_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditAddNodesEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2091LU), +UA_NODEID_NUMERIC(ns[0], 2090LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditAddNodesEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2687_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2091LU) +); +} + +/* NodesToAdd - ns=0;i=2092 */ + +static UA_StatusCode function_namespace0_generated_2688_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 376LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NodesToAdd"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2092LU), +UA_NODEID_NUMERIC(ns[0], 2091LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NodesToAdd"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2688_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2092LU) +); +} + +/* AuditSecurityEventType - ns=0;i=2058 */ + +static UA_StatusCode function_namespace0_generated_2689_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditSecurityEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2058LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditSecurityEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2689_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2058LU) +); +} + +/* AuditCertificateEventType - ns=0;i=2080 */ + +static UA_StatusCode function_namespace0_generated_2690_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 2058LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2690_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2080LU) +); +} + +/* AuditCertificateMismatchEventType - ns=0;i=2089 */ + +static UA_StatusCode function_namespace0_generated_2691_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateMismatchEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2089LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateMismatchEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2691_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2089LU) +); +} + +/* AuditCertificateRevokedEventType - ns=0;i=2088 */ + +static UA_StatusCode function_namespace0_generated_2692_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateRevokedEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2088LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateRevokedEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2692_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2088LU) +); +} + +/* AuditCertificateUntrustedEventType - ns=0;i=2087 */ + +static UA_StatusCode function_namespace0_generated_2693_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateUntrustedEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2087LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateUntrustedEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2693_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2087LU) +); +} + +/* AuditCertificateInvalidEventType - ns=0;i=2086 */ + +static UA_StatusCode function_namespace0_generated_2694_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateInvalidEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2086LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateInvalidEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2694_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2086LU) +); +} + +/* AuditCertificateExpiredEventType - ns=0;i=2085 */ + +static UA_StatusCode function_namespace0_generated_2695_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateExpiredEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2085LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateExpiredEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2695_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2085LU) +); +} + +/* AuditCertificateDataMismatchEventType - ns=0;i=2082 */ + +static UA_StatusCode function_namespace0_generated_2696_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateDataMismatchEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2082LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCertificateDataMismatchEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2696_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2082LU) +); +} + +/* InvalidUri - ns=0;i=2084 */ + +static UA_StatusCode function_namespace0_generated_2697_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InvalidUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2084LU), +UA_NODEID_NUMERIC(ns[0], 2082LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InvalidUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2697_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2084LU) +); +} + +/* InvalidHostname - ns=0;i=2083 */ + +static UA_StatusCode function_namespace0_generated_2698_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InvalidHostname"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2083LU), +UA_NODEID_NUMERIC(ns[0], 2082LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InvalidHostname"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2698_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2083LU) +); +} + +/* Certificate - ns=0;i=2081 */ + +static UA_StatusCode function_namespace0_generated_2699_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Certificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2081LU), +UA_NODEID_NUMERIC(ns[0], 2080LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Certificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2699_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2081LU) +); +} + +/* AuditSessionEventType - ns=0;i=2069 */ + +static UA_StatusCode function_namespace0_generated_2700_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditSessionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2069LU), +UA_NODEID_NUMERIC(ns[0], 2058LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditSessionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2700_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2069LU) +); +} + +/* AuditCancelEventType - ns=0;i=2078 */ + +static UA_StatusCode function_namespace0_generated_2701_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCancelEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2078LU), +UA_NODEID_NUMERIC(ns[0], 2069LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCancelEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2701_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2078LU) +); +} + +/* RequestHandle - ns=0;i=2079 */ + +static UA_StatusCode function_namespace0_generated_2702_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestHandle"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2079LU), +UA_NODEID_NUMERIC(ns[0], 2078LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestHandle"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2702_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2079LU) +); +} + +/* AuditActivateSessionEventType - ns=0;i=2075 */ + +static UA_StatusCode function_namespace0_generated_2703_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditActivateSessionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2075LU), +UA_NODEID_NUMERIC(ns[0], 2069LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditActivateSessionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2703_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2075LU) +); +} + +/* UserIdentityToken - ns=0;i=2077 */ + +static UA_StatusCode function_namespace0_generated_2704_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 316LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2077LU), +UA_NODEID_NUMERIC(ns[0], 2075LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2704_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2077LU) +); +} + +/* ClientSoftwareCertificates - ns=0;i=2076 */ + +static UA_StatusCode function_namespace0_generated_2705_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientSoftwareCertificates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2076LU), +UA_NODEID_NUMERIC(ns[0], 2075LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientSoftwareCertificates"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2705_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2076LU) +); +} + +/* SecureChannelId - ns=0;i=11485 */ + +static UA_StatusCode function_namespace0_generated_2706_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecureChannelId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11485LU), +UA_NODEID_NUMERIC(ns[0], 2075LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecureChannelId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2706_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11485LU) +); +} + +/* AuditCreateSessionEventType - ns=0;i=2071 */ + +static UA_StatusCode function_namespace0_generated_2707_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditCreateSessionEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2071LU), +UA_NODEID_NUMERIC(ns[0], 2069LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditCreateSessionEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2707_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2071LU) +); +} + +/* AuditUrlMismatchEventType - ns=0;i=2748 */ + +static UA_StatusCode function_namespace0_generated_2708_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditUrlMismatchEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2748LU), +UA_NODEID_NUMERIC(ns[0], 2071LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditUrlMismatchEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2708_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2748LU) +); +} + +/* EndpointUrl - ns=0;i=2749 */ + +static UA_StatusCode function_namespace0_generated_2709_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2749LU), +UA_NODEID_NUMERIC(ns[0], 2748LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2709_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2749LU) +); +} + +/* ClientCertificateThumbprint - ns=0;i=2747 */ + +static UA_StatusCode function_namespace0_generated_2710_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificateThumbprint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2747LU), +UA_NODEID_NUMERIC(ns[0], 2071LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificateThumbprint"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2710_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2747LU) +); +} + +/* RevisedSessionTimeout - ns=0;i=2074 */ + +static UA_StatusCode function_namespace0_generated_2711_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RevisedSessionTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2074LU), +UA_NODEID_NUMERIC(ns[0], 2071LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RevisedSessionTimeout"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2711_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2074LU) +); +} + +/* ClientCertificate - ns=0;i=2073 */ + +static UA_StatusCode function_namespace0_generated_2712_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2073LU), +UA_NODEID_NUMERIC(ns[0], 2071LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2712_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2073LU) +); +} + +/* SecureChannelId - ns=0;i=2072 */ + +static UA_StatusCode function_namespace0_generated_2713_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecureChannelId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2072LU), +UA_NODEID_NUMERIC(ns[0], 2071LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecureChannelId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2713_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2072LU) +); +} + +/* SessionId - ns=0;i=2070 */ + +static UA_StatusCode function_namespace0_generated_2714_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2070LU), +UA_NODEID_NUMERIC(ns[0], 2069LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2714_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2070LU) +); +} + +/* AuditChannelEventType - ns=0;i=2059 */ + +static UA_StatusCode function_namespace0_generated_2715_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditChannelEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2059LU), +UA_NODEID_NUMERIC(ns[0], 2058LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditChannelEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2715_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2059LU) +); +} + +/* SecureChannelId - ns=0;i=2745 */ + +static UA_StatusCode function_namespace0_generated_2716_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecureChannelId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2745LU), +UA_NODEID_NUMERIC(ns[0], 2059LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecureChannelId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2716_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2745LU) +); +} + +/* AuditOpenSecureChannelEventType - ns=0;i=2060 */ + +static UA_StatusCode function_namespace0_generated_2717_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AuditOpenSecureChannelEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 2059LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AuditOpenSecureChannelEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2717_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2060LU) +); +} + +/* ClientCertificateThumbprint - ns=0;i=2746 */ + +static UA_StatusCode function_namespace0_generated_2718_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificateThumbprint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2746LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificateThumbprint"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2718_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2746LU) +); +} + +/* CertificateErrorEventId - ns=0;i=24135 */ + +static UA_StatusCode function_namespace0_generated_2719_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateErrorEventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24135LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateErrorEventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2719_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24135LU) +); +} + +/* RequestedLifetime - ns=0;i=2066 */ + +static UA_StatusCode function_namespace0_generated_2720_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestedLifetime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2066LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestedLifetime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2720_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2066LU) +); +} + +/* SecurityMode - ns=0;i=2065 */ + +static UA_StatusCode function_namespace0_generated_2721_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2065LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2721_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2065LU) +); +} + +/* SecurityPolicyUri - ns=0;i=2063 */ + +static UA_StatusCode function_namespace0_generated_2722_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2063LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2722_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2063LU) +); +} + +/* RequestType - ns=0;i=2062 */ + +static UA_StatusCode function_namespace0_generated_2723_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 315LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RequestType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2062LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RequestType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2723_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2062LU) +); +} + +/* ClientCertificate - ns=0;i=2061 */ + +static UA_StatusCode function_namespace0_generated_2724_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2061LU), +UA_NODEID_NUMERIC(ns[0], 2060LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2724_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2061LU) +); +} + +/* StatusCodeId - ns=0;i=17615 */ + +static UA_StatusCode function_namespace0_generated_2725_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatusCodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17615LU), +UA_NODEID_NUMERIC(ns[0], 2058LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StatusCodeId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2725_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17615LU) +); +} + +/* ClientUserId - ns=0;i=2057 */ + +static UA_StatusCode function_namespace0_generated_2726_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2057LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2726_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2057LU) +); +} + +/* ClientAuditEntryId - ns=0;i=2056 */ + +static UA_StatusCode function_namespace0_generated_2727_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientAuditEntryId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2056LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ClientAuditEntryId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2727_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2056LU) +); +} + +/* ServerId - ns=0;i=2055 */ + +static UA_StatusCode function_namespace0_generated_2728_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2055LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2728_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2055LU) +); +} + +/* Status - ns=0;i=2054 */ + +static UA_StatusCode function_namespace0_generated_2729_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2054LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2729_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2054LU) +); +} + +/* ActionTimeStamp - ns=0;i=2053 */ + +static UA_StatusCode function_namespace0_generated_2730_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActionTimeStamp"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2053LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ActionTimeStamp"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2730_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2053LU) +); +} + +/* CertificateUpdatedAuditEventType - ns=0;i=12620 */ + +static UA_StatusCode function_namespace0_generated_2731_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateUpdatedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12620LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "CertificateUpdatedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2731_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12620LU) +); +} + +/* CertificateType - ns=0;i=13736 */ + +static UA_StatusCode function_namespace0_generated_2732_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13736LU), +UA_NODEID_NUMERIC(ns[0], 12620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2732_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13736LU) +); +} + +/* CertificateGroup - ns=0;i=13735 */ + +static UA_StatusCode function_namespace0_generated_2733_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13735LU), +UA_NODEID_NUMERIC(ns[0], 12620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateGroup"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2733_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13735LU) +); +} + +/* TrustListUpdatedAuditEventType - ns=0;i=12561 */ + +static UA_StatusCode function_namespace0_generated_2734_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.isAbstract = true; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListUpdatedAuditEventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12561LU), +UA_NODEID_NUMERIC(ns[0], 2052LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListUpdatedAuditEventType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2734_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12561LU) +); +} + +/* TrustListId - ns=0;i=32281 */ + +static UA_StatusCode function_namespace0_generated_2735_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32281LU), +UA_NODEID_NUMERIC(ns[0], 12561LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "TrustListId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2735_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32281LU) +); +} + +/* ConditionSubClassName - ns=0;i=31774 */ + +static UA_StatusCode function_namespace0_generated_2736_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionSubClassName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 31774LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionSubClassName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2736_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31774LU) +); +} + +/* ConditionSubClassId - ns=0;i=31773 */ + +static UA_StatusCode function_namespace0_generated_2737_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionSubClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 31773LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionSubClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2737_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31773LU) +); +} + +/* ConditionClassName - ns=0;i=31772 */ + +static UA_StatusCode function_namespace0_generated_2738_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 31772LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2738_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31772LU) +); +} + +/* ConditionClassId - ns=0;i=31771 */ + +static UA_StatusCode function_namespace0_generated_2739_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 31771LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2739_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31771LU) +); +} + +/* Severity - ns=0;i=2051 */ + +static UA_StatusCode function_namespace0_generated_2740_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2051LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Severity"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2740_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2051LU) +); +} + +/* Message - ns=0;i=2050 */ + +static UA_StatusCode function_namespace0_generated_2741_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Message"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2050LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Message"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2741_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2050LU) +); +} + +/* LocalTime - ns=0;i=3190 */ + +static UA_StatusCode function_namespace0_generated_2742_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3190LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocalTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2742_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3190LU) +); +} + +/* ReceiveTime - ns=0;i=2047 */ + +static UA_StatusCode function_namespace0_generated_2743_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2047LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2743_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2047LU) +); +} + +/* Time - ns=0;i=2046 */ + +static UA_StatusCode function_namespace0_generated_2744_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Time"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2046LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Time"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2744_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2046LU) +); +} + +/* SourceName - ns=0;i=2045 */ + +static UA_StatusCode function_namespace0_generated_2745_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2045LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2745_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2045LU) +); +} + +/* SourceNode - ns=0;i=2044 */ + +static UA_StatusCode function_namespace0_generated_2746_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2044LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SourceNode"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2746_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2044LU) +); +} + +/* EventType - ns=0;i=2043 */ + +static UA_StatusCode function_namespace0_generated_2747_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2043LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2747_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2043LU) +); +} + +/* EventId - ns=0;i=2042 */ + +static UA_StatusCode function_namespace0_generated_2748_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2042LU), +UA_NODEID_NUMERIC(ns[0], 2041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EventId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2748_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2042LU) +); +} + +/* NamespacesType - ns=0;i=11645 */ + +static UA_StatusCode function_namespace0_generated_2749_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NamespacesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11645LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NamespacesType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2749_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11645LU) +); +} + +/* NamespaceMetadataType - ns=0;i=11616 */ + +static UA_StatusCode function_namespace0_generated_2750_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceMetadataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceMetadataType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2750_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11616LU) +); +} + +/* ConfigurationVersion - ns=0;i=25267 */ + +static UA_StatusCode function_namespace0_generated_2751_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25267LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2751_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25267LU) +); +} + +/* DefaultAccessRestrictions - ns=0;i=16139 */ + +static UA_StatusCode function_namespace0_generated_2752_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 95LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultAccessRestrictions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16139LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultAccessRestrictions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2752_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16139LU) +); +} + +/* DefaultUserRolePermissions - ns=0;i=16138 */ + +static UA_StatusCode function_namespace0_generated_2753_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserRolePermissions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16138LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultUserRolePermissions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2753_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16138LU) +); +} + +/* DefaultRolePermissions - ns=0;i=16137 */ + +static UA_StatusCode function_namespace0_generated_2754_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultRolePermissions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16137LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultRolePermissions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2754_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16137LU) +); +} + +/* - ns=0;i=11646 */ + +static UA_StatusCode function_namespace0_generated_2755_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 11645LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 11616LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2755_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11646LU) +); +} + +/* StaticStringNodeIdPattern - ns=0;i=11653 */ + +static UA_StatusCode function_namespace0_generated_2756_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticStringNodeIdPattern"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11653LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticStringNodeIdPattern"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2756_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11653LU) +); +} + +/* StaticNumericNodeIdRange - ns=0;i=11652 */ + +static UA_StatusCode function_namespace0_generated_2757_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticNumericNodeIdRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11652LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticNumericNodeIdRange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2757_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11652LU) +); +} + +/* StaticNodeIdTypes - ns=0;i=11651 */ + +static UA_StatusCode function_namespace0_generated_2758_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 256LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticNodeIdTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11651LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticNodeIdTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2758_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11651LU) +); +} + +/* IsNamespaceSubset - ns=0;i=11650 */ + +static UA_StatusCode function_namespace0_generated_2759_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsNamespaceSubset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11650LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsNamespaceSubset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2759_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11650LU) +); +} + +/* NamespacePublicationDate - ns=0;i=11649 */ + +static UA_StatusCode function_namespace0_generated_2760_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespacePublicationDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11649LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespacePublicationDate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2760_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11649LU) +); +} + +/* NamespaceVersion - ns=0;i=11648 */ + +static UA_StatusCode function_namespace0_generated_2761_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11648LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2761_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11648LU) +); +} + +/* NamespaceUri - ns=0;i=11647 */ + +static UA_StatusCode function_namespace0_generated_2762_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11647LU), +UA_NODEID_NUMERIC(ns[0], 11646LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2762_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11647LU) +); +} + +/* StaticStringNodeIdPattern - ns=0;i=11623 */ + +static UA_StatusCode function_namespace0_generated_2763_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticStringNodeIdPattern"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11623LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticStringNodeIdPattern"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2763_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11623LU) +); +} + +/* StaticNumericNodeIdRange - ns=0;i=11622 */ + +static UA_StatusCode function_namespace0_generated_2764_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticNumericNodeIdRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11622LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticNumericNodeIdRange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2764_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11622LU) +); +} + +/* StaticNodeIdTypes - ns=0;i=11621 */ + +static UA_StatusCode function_namespace0_generated_2765_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 256LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticNodeIdTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11621LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticNodeIdTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2765_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11621LU) +); +} + +/* IsNamespaceSubset - ns=0;i=11620 */ + +static UA_StatusCode function_namespace0_generated_2766_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsNamespaceSubset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11620LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsNamespaceSubset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2766_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11620LU) +); +} + +/* NamespacePublicationDate - ns=0;i=11619 */ + +static UA_StatusCode function_namespace0_generated_2767_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespacePublicationDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11619LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespacePublicationDate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2767_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11619LU) +); +} + +/* NamespaceVersion - ns=0;i=11618 */ + +static UA_StatusCode function_namespace0_generated_2768_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11618LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2768_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11618LU) +); +} + +/* NamespaceUri - ns=0;i=11617 */ + +static UA_StatusCode function_namespace0_generated_2769_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11617LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2769_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11617LU) +); +} + +/* FileType - ns=0;i=11575 */ + +static UA_StatusCode function_namespace0_generated_2770_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "FileType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "FileType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2770_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11575LU) +); +} + +/* PubSubConfigurationType - ns=0;i=25482 */ + +static UA_StatusCode function_namespace0_generated_2771_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 25482LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2771_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25482LU) +); +} + +/* CloseAndUpdate - ns=0;i=25508 */ + +static UA_StatusCode function_namespace0_generated_2772_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25508LU), +UA_NODEID_NUMERIC(ns[0], 25482LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2772_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25508LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25510 */ + +static UA_StatusCode function_namespace0_generated_2773_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25510_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_25510_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25510_variant_DataContents[0].name = UA_STRING("ChangesApplied"); +variablenode_ns_0_i_25510_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_25510_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25510_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25510_variant_DataContents[1].name = UA_STRING("ReferencesResults"); +variablenode_ns_0_i_25510_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25510_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25510_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_25510_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25510_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25510_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); +variablenode_ns_0_i_25510_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); +variablenode_ns_0_i_25510_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25510_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25510_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25510_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25510_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); +variablenode_ns_0_i_25510_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25510_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25510_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_25510_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25510_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25510LU), +UA_NODEID_NUMERIC(ns[0], 25508LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2773_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25510LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25509 */ + +static UA_StatusCode function_namespace0_generated_2774_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25509_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25509_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25509_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25509_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25509_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25509_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25509_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); +variablenode_ns_0_i_25509_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_25509_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25509_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25509_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); +variablenode_ns_0_i_25509_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); +variablenode_ns_0_i_25509_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25509_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25509_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25509_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25509LU), +UA_NODEID_NUMERIC(ns[0], 25508LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2774_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25509LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ReserveIds - ns=0;i=25505 */ + +static UA_StatusCode function_namespace0_generated_2775_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25505LU), +UA_NODEID_NUMERIC(ns[0], 25482LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReserveIds"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2775_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25505LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25507 */ + +static UA_StatusCode function_namespace0_generated_2776_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25507_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25507_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25507_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); +variablenode_ns_0_i_25507_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_25507_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25507_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25507_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); +variablenode_ns_0_i_25507_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25507_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25507_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_25507_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25507_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25507_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); +variablenode_ns_0_i_25507_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25507_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25507_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25507_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25507_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25507LU), +UA_NODEID_NUMERIC(ns[0], 25505LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2776_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25507LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25506 */ + +static UA_StatusCode function_namespace0_generated_2777_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25506_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25506_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25506_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); +variablenode_ns_0_i_25506_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25506_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25506_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25506_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); +variablenode_ns_0_i_25506_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25506_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25506_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25506_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); +variablenode_ns_0_i_25506_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25506_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25506_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25506LU), +UA_NODEID_NUMERIC(ns[0], 25505LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2777_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25506LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PubSubConfiguration - ns=0;i=25403 */ + +static UA_StatusCode function_namespace0_generated_2778_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 14416LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration"), +UA_NODEID_NUMERIC(ns[0], 25482LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2778_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25403LU) +); +} + +/* CloseAndUpdate - ns=0;i=25429 */ + +static UA_StatusCode function_namespace0_generated_2779_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25429LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2779_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25429LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25431 */ + +static UA_StatusCode function_namespace0_generated_2780_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25431_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_25431_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25431_variant_DataContents[0].name = UA_STRING("ChangesApplied"); +variablenode_ns_0_i_25431_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_25431_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25431_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25431_variant_DataContents[1].name = UA_STRING("ReferencesResults"); +variablenode_ns_0_i_25431_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25431_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25431_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_25431_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25431_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25431_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); +variablenode_ns_0_i_25431_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); +variablenode_ns_0_i_25431_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25431_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25431_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25431_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25431_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); +variablenode_ns_0_i_25431_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25431_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25431_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_25431_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25431_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25431LU), +UA_NODEID_NUMERIC(ns[0], 25429LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2780_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25431LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25430 */ + +static UA_StatusCode function_namespace0_generated_2781_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25430_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25430_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25430_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25430_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25430_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25430_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25430_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); +variablenode_ns_0_i_25430_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_25430_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25430_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25430_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); +variablenode_ns_0_i_25430_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); +variablenode_ns_0_i_25430_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25430_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25430_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25430_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25430LU), +UA_NODEID_NUMERIC(ns[0], 25429LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2781_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25430LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ReserveIds - ns=0;i=25426 */ + +static UA_StatusCode function_namespace0_generated_2782_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25426LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReserveIds"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2782_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25426LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25428 */ + +static UA_StatusCode function_namespace0_generated_2783_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25428_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25428_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25428_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); +variablenode_ns_0_i_25428_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_25428_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25428_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25428_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); +variablenode_ns_0_i_25428_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25428_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25428_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_25428_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25428_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25428_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); +variablenode_ns_0_i_25428_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25428_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25428_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25428_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25428_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25428LU), +UA_NODEID_NUMERIC(ns[0], 25426LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2783_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25428LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25427 */ + +static UA_StatusCode function_namespace0_generated_2784_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25427_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25427_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25427_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); +variablenode_ns_0_i_25427_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25427_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25427_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25427_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); +variablenode_ns_0_i_25427_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25427_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25427_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25427_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); +variablenode_ns_0_i_25427_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25427_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25427_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25427LU), +UA_NODEID_NUMERIC(ns[0], 25426LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2784_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25427LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetPosition - ns=0;i=25424 */ + +static UA_StatusCode function_namespace0_generated_2785_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25424LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2785_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25424LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25425 */ + +static UA_StatusCode function_namespace0_generated_2786_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25425_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25425_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25425_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25425_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25425_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25425_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25425_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_25425_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_25425_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25425_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25425LU), +UA_NODEID_NUMERIC(ns[0], 25424LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2786_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25425LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=25421 */ + +static UA_StatusCode function_namespace0_generated_2787_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25421LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2787_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25421LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25423 */ + +static UA_StatusCode function_namespace0_generated_2788_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25423_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25423_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25423_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_25423_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_25423_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25423_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25423LU), +UA_NODEID_NUMERIC(ns[0], 25421LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2788_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25423LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25422 */ + +static UA_StatusCode function_namespace0_generated_2789_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25422_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25422_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25422_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25422_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25422_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25422_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25422LU), +UA_NODEID_NUMERIC(ns[0], 25421LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2789_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25422LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=25419 */ + +static UA_StatusCode function_namespace0_generated_2790_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25419LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2790_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25419LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25420 */ + +static UA_StatusCode function_namespace0_generated_2791_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25420_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25420_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25420_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25420_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25420_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25420_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25420_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_25420_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_25420_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25420_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25420LU), +UA_NODEID_NUMERIC(ns[0], 25419LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2791_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25420LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=25416 */ + +static UA_StatusCode function_namespace0_generated_2792_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25416LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2792_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25416LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25418 */ + +static UA_StatusCode function_namespace0_generated_2793_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25418_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25418_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25418_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_25418_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_25418_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25418_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25418LU), +UA_NODEID_NUMERIC(ns[0], 25416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2793_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25418LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25417 */ + +static UA_StatusCode function_namespace0_generated_2794_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25417_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25417_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25417_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25417_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25417_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25417_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25417_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_25417_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_25417_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25417_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25417LU), +UA_NODEID_NUMERIC(ns[0], 25416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2794_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25417LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=25414 */ + +static UA_StatusCode function_namespace0_generated_2795_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25414LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2795_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25414LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25415 */ + +static UA_StatusCode function_namespace0_generated_2796_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25415_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25415_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25415_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25415_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25415_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25415_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25415LU), +UA_NODEID_NUMERIC(ns[0], 25414LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2796_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25415LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=25411 */ + +static UA_StatusCode function_namespace0_generated_2797_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25411LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2797_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25411LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25413 */ + +static UA_StatusCode function_namespace0_generated_2798_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25413_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25413_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25413_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25413_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25413_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25413_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25413LU), +UA_NODEID_NUMERIC(ns[0], 25411LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2798_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25413LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25412 */ + +static UA_StatusCode function_namespace0_generated_2799_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25412_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25412_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25412_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_25412_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_25412_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25412_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25412LU), +UA_NODEID_NUMERIC(ns[0], 25411LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2799_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25412LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=25407 */ + +static UA_StatusCode function_namespace0_generated_2800_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25407LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2800_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25407LU) +); +} + +/* UserWritable - ns=0;i=25406 */ + +static UA_StatusCode function_namespace0_generated_2801_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25406LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2801_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25406LU) +); +} + +/* Writable - ns=0;i=25405 */ + +static UA_StatusCode function_namespace0_generated_2802_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25405LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2802_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25405LU) +); +} + +/* Size - ns=0;i=25404 */ + +static UA_StatusCode function_namespace0_generated_2803_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25404LU), +UA_NODEID_NUMERIC(ns[0], 25403LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2803_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25404LU) +); +} + +/* LastModifiedTime - ns=0;i=25200 */ + +static UA_StatusCode function_namespace0_generated_2804_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastModifiedTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25200LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastModifiedTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2804_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25200LU) +); +} + +/* MaxByteStringLength - ns=0;i=24244 */ + +static UA_StatusCode function_namespace0_generated_2805_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24244LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2805_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24244LU) +); +} + +/* - ns=0;i=13366 */ + +static UA_StatusCode function_namespace0_generated_2806_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 13353LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 11575LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2806_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13366LU) +); +} + +/* SetPosition - ns=0;i=13385 */ + +static UA_StatusCode function_namespace0_generated_2807_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13385LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2807_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13385LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13386 */ + +static UA_StatusCode function_namespace0_generated_2808_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13386_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13386_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13386_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13386_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13386_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13386_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13386_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13386_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13386_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13386_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13386LU), +UA_NODEID_NUMERIC(ns[0], 13385LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2808_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13386LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13382 */ + +static UA_StatusCode function_namespace0_generated_2809_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13382LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2809_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13382LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13384 */ + +static UA_StatusCode function_namespace0_generated_2810_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13384_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13384_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13384_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13384_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13384_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13384_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13384LU), +UA_NODEID_NUMERIC(ns[0], 13382LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2810_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13384LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13383 */ + +static UA_StatusCode function_namespace0_generated_2811_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13383_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13383_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13383_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13383_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13383_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13383_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13383LU), +UA_NODEID_NUMERIC(ns[0], 13382LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2811_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13383LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13380 */ + +static UA_StatusCode function_namespace0_generated_2812_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13380LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2812_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13380LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13381 */ + +static UA_StatusCode function_namespace0_generated_2813_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13381_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13381_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13381_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13381_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13381_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13381_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13381_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13381_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13381_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13381_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13381LU), +UA_NODEID_NUMERIC(ns[0], 13380LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2813_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13381LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13377 */ + +static UA_StatusCode function_namespace0_generated_2814_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13377LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2814_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13377LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13379 */ + +static UA_StatusCode function_namespace0_generated_2815_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13379_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13379_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13379_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13379_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13379_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13379_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13379LU), +UA_NODEID_NUMERIC(ns[0], 13377LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2815_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13379LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13378 */ + +static UA_StatusCode function_namespace0_generated_2816_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13378_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13378_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13378_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13378_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13378_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13378_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13378_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13378_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13378_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13378_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13378LU), +UA_NODEID_NUMERIC(ns[0], 13377LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2816_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13378LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13375 */ + +static UA_StatusCode function_namespace0_generated_2817_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13375LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2817_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13375LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13376 */ + +static UA_StatusCode function_namespace0_generated_2818_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13376_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13376_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13376_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13376_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13376_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13376_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13376LU), +UA_NODEID_NUMERIC(ns[0], 13375LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2818_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13376LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13372 */ + +static UA_StatusCode function_namespace0_generated_2819_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13372LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2819_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13372LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13374 */ + +static UA_StatusCode function_namespace0_generated_2820_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13374_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13374_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13374_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13374_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13374_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13374_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13374LU), +UA_NODEID_NUMERIC(ns[0], 13372LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2820_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13374LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13373 */ + +static UA_StatusCode function_namespace0_generated_2821_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13373_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13373_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13373_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13373_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13373_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13373_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13373LU), +UA_NODEID_NUMERIC(ns[0], 13372LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2821_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13373LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13370 */ + +static UA_StatusCode function_namespace0_generated_2822_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13370LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2822_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13370LU) +); +} + +/* UserWritable - ns=0;i=13369 */ + +static UA_StatusCode function_namespace0_generated_2823_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13369LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2823_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13369LU) +); +} + +/* Writable - ns=0;i=13368 */ + +static UA_StatusCode function_namespace0_generated_2824_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13368LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2824_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13368LU) +); +} + +/* Size - ns=0;i=13367 */ + +static UA_StatusCode function_namespace0_generated_2825_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13367LU), +UA_NODEID_NUMERIC(ns[0], 13366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2825_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13367LU) +); +} + +/* MimeType - ns=0;i=13341 */ + +static UA_StatusCode function_namespace0_generated_2826_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MimeType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13341LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MimeType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2826_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13341LU) +); +} + +/* UserWritable - ns=0;i=12687 */ + +static UA_StatusCode function_namespace0_generated_2827_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12687LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2827_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12687LU) +); +} + +/* Writable - ns=0;i=12686 */ + +static UA_StatusCode function_namespace0_generated_2828_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12686LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2828_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12686LU) +); +} + +/* TrustListType - ns=0;i=12522 */ + +static UA_StatusCode function_namespace0_generated_2829_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TrustListType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2829_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12522LU) +); +} + +/* ActivityTimeout - ns=0;i=32254 */ + +static UA_StatusCode function_namespace0_generated_2830_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActivityTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32254LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ActivityTimeout"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2830_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32254LU) +); +} + +/* TrustList - ns=0;i=26881 */ + +static UA_StatusCode function_namespace0_generated_2831_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 26880LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2831_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26881LU) +); +} + +/* RemoveCertificate - ns=0;i=26915 */ + +static UA_StatusCode function_namespace0_generated_2832_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26915LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2832_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26915LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26916 */ + +static UA_StatusCode function_namespace0_generated_2833_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26916_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_26916_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26916_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_26916_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_26916_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_26916_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26916_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_26916_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_26916_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26916_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26916LU), +UA_NODEID_NUMERIC(ns[0], 26915LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2833_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26916LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=26913 */ + +static UA_StatusCode function_namespace0_generated_2834_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26913LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2834_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26913LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26914 */ + +static UA_StatusCode function_namespace0_generated_2835_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26914_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_26914_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26914_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_26914_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_26914_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_26914_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26914_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_26914_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_26914_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26914_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26914LU), +UA_NODEID_NUMERIC(ns[0], 26913LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2835_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26914LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=26910 */ + +static UA_StatusCode function_namespace0_generated_2836_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26910LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2836_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26910LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=26912 */ + +static UA_StatusCode function_namespace0_generated_2837_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26912_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26912_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26912_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_26912_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_26912_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26912_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26912LU), +UA_NODEID_NUMERIC(ns[0], 26910LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2837_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26912LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26911 */ + +static UA_StatusCode function_namespace0_generated_2838_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26911_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26911_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26911_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26911_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26911_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26911_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26911LU), +UA_NODEID_NUMERIC(ns[0], 26910LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2838_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26911LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=26907 */ + +static UA_StatusCode function_namespace0_generated_2839_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26907LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2839_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26907LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=26909 */ + +static UA_StatusCode function_namespace0_generated_2840_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26909_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26909_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26909_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26909_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26909_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26909_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26909LU), +UA_NODEID_NUMERIC(ns[0], 26907LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2840_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26909LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26908 */ + +static UA_StatusCode function_namespace0_generated_2841_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26908_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26908_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26908_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_26908_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26908_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26908_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26908LU), +UA_NODEID_NUMERIC(ns[0], 26907LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2841_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26908LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=26904 */ + +static UA_StatusCode function_namespace0_generated_2842_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26904LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2842_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26904LU) +); +} + +/* SetPosition - ns=0;i=26902 */ + +static UA_StatusCode function_namespace0_generated_2843_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26902LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2843_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26902LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26903 */ + +static UA_StatusCode function_namespace0_generated_2844_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26903_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_26903_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26903_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26903_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26903_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_26903_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26903_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_26903_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_26903_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26903_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26903LU), +UA_NODEID_NUMERIC(ns[0], 26902LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2844_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26903LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=26899 */ + +static UA_StatusCode function_namespace0_generated_2845_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26899LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2845_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26899LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=26901 */ + +static UA_StatusCode function_namespace0_generated_2846_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26901_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26901_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26901_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_26901_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_26901_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26901_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26901LU), +UA_NODEID_NUMERIC(ns[0], 26899LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2846_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26901LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26900 */ + +static UA_StatusCode function_namespace0_generated_2847_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26900_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26900_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26900_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26900_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26900_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26900_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26900LU), +UA_NODEID_NUMERIC(ns[0], 26899LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2847_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26900LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=26897 */ + +static UA_StatusCode function_namespace0_generated_2848_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26897LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2848_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26897LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26898 */ + +static UA_StatusCode function_namespace0_generated_2849_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26898_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_26898_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26898_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26898_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26898_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_26898_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26898_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_26898_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_26898_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26898_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26898LU), +UA_NODEID_NUMERIC(ns[0], 26897LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2849_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26898LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=26894 */ + +static UA_StatusCode function_namespace0_generated_2850_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26894LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2850_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26894LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=26896 */ + +static UA_StatusCode function_namespace0_generated_2851_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26896_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26896_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26896_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_26896_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_26896_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26896_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26896LU), +UA_NODEID_NUMERIC(ns[0], 26894LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2851_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26896LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26895 */ + +static UA_StatusCode function_namespace0_generated_2852_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26895_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_26895_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26895_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26895_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26895_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_26895_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26895_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_26895_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_26895_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26895_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26895LU), +UA_NODEID_NUMERIC(ns[0], 26894LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2852_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26895LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=26892 */ + +static UA_StatusCode function_namespace0_generated_2853_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26892LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2853_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26892LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26893 */ + +static UA_StatusCode function_namespace0_generated_2854_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26893_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26893_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26893_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26893_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26893_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26893_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26893LU), +UA_NODEID_NUMERIC(ns[0], 26892LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2854_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26893LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=26889 */ + +static UA_StatusCode function_namespace0_generated_2855_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 26889LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2855_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26889LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=26891 */ + +static UA_StatusCode function_namespace0_generated_2856_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26891_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26891_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26891_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_26891_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_26891_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26891_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26891LU), +UA_NODEID_NUMERIC(ns[0], 26889LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2856_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26891LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=26890 */ + +static UA_StatusCode function_namespace0_generated_2857_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_26890_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_26890_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_26890_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_26890_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_26890_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26890_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26890LU), +UA_NODEID_NUMERIC(ns[0], 26889LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2857_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26890LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=26885 */ + +static UA_StatusCode function_namespace0_generated_2858_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26885LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2858_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26885LU) +); +} + +/* UserWritable - ns=0;i=26884 */ + +static UA_StatusCode function_namespace0_generated_2859_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26884LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2859_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26884LU) +); +} + +/* Writable - ns=0;i=26883 */ + +static UA_StatusCode function_namespace0_generated_2860_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26883LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2860_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26883LU) +); +} + +/* Size - ns=0;i=26882 */ + +static UA_StatusCode function_namespace0_generated_2861_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 26882LU), +UA_NODEID_NUMERIC(ns[0], 26881LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2861_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 26882LU) +); +} + +/* DefaultValidationOptions - ns=0;i=23563 */ + +static UA_StatusCode function_namespace0_generated_2862_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23564LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultValidationOptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23563LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultValidationOptions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2862_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23563LU) +); +} + +/* UpdateFrequency - ns=0;i=19296 */ + +static UA_StatusCode function_namespace0_generated_2863_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateFrequency"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19296LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateFrequency"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2863_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19296LU) +); +} + +/* TrustList - ns=0;i=13952 */ + +static UA_StatusCode function_namespace0_generated_2864_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 13951LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2864_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13952LU) +); +} + +/* RemoveCertificate - ns=0;i=13982 */ + +static UA_StatusCode function_namespace0_generated_2865_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13982LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2865_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13982LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13983 */ + +static UA_StatusCode function_namespace0_generated_2866_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13983_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13983_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13983_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_13983_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13983_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13983_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13983_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13983_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13983_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13983_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13983LU), +UA_NODEID_NUMERIC(ns[0], 13982LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2866_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13983LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=13980 */ + +static UA_StatusCode function_namespace0_generated_2867_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13980LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2867_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13980LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13981 */ + +static UA_StatusCode function_namespace0_generated_2868_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13981_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13981_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13981_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13981_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13981_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13981_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13981_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13981_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13981_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13981_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13981LU), +UA_NODEID_NUMERIC(ns[0], 13980LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2868_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13981LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=13977 */ + +static UA_StatusCode function_namespace0_generated_2869_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13977LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2869_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13977LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13979 */ + +static UA_StatusCode function_namespace0_generated_2870_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13979_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13979_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13979_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13979_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13979_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13979_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13979LU), +UA_NODEID_NUMERIC(ns[0], 13977LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2870_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13979LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13978 */ + +static UA_StatusCode function_namespace0_generated_2871_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13978_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13978_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13978_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13978_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13978_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13978_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13978LU), +UA_NODEID_NUMERIC(ns[0], 13977LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2871_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13978LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=13974 */ + +static UA_StatusCode function_namespace0_generated_2872_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13974LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2872_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13974LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13976 */ + +static UA_StatusCode function_namespace0_generated_2873_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13976_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13976_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13976_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13976_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13976_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13976_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13976LU), +UA_NODEID_NUMERIC(ns[0], 13974LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2873_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13976LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13975 */ + +static UA_StatusCode function_namespace0_generated_2874_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13975_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13975_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13975_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_13975_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13975_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13975_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13975LU), +UA_NODEID_NUMERIC(ns[0], 13974LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2874_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13975LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=13973 */ + +static UA_StatusCode function_namespace0_generated_2875_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13973LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2875_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13973LU) +); +} + +/* SetPosition - ns=0;i=13971 */ + +static UA_StatusCode function_namespace0_generated_2876_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13971LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2876_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13971LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13972 */ + +static UA_StatusCode function_namespace0_generated_2877_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13972_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13972_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13972_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13972_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13972_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13972_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13972_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13972_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13972_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13972_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13972LU), +UA_NODEID_NUMERIC(ns[0], 13971LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2877_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13972LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13968 */ + +static UA_StatusCode function_namespace0_generated_2878_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13968LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2878_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13968LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13970 */ + +static UA_StatusCode function_namespace0_generated_2879_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13970_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13970_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13970_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13970_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13970_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13970_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13970LU), +UA_NODEID_NUMERIC(ns[0], 13968LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2879_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13970LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13969 */ + +static UA_StatusCode function_namespace0_generated_2880_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13969_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13969_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13969_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13969_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13969_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13969_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13969LU), +UA_NODEID_NUMERIC(ns[0], 13968LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2880_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13969LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13966 */ + +static UA_StatusCode function_namespace0_generated_2881_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13966LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2881_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13966LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13967 */ + +static UA_StatusCode function_namespace0_generated_2882_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13967_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13967_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13967_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13967_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13967_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13967_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13967_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13967_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13967_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13967_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13967LU), +UA_NODEID_NUMERIC(ns[0], 13966LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2882_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13967LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13963 */ + +static UA_StatusCode function_namespace0_generated_2883_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13963LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2883_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13963LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13965 */ + +static UA_StatusCode function_namespace0_generated_2884_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13965_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13965_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13965_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13965_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13965_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13965_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13965LU), +UA_NODEID_NUMERIC(ns[0], 13963LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2884_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13965LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13964 */ + +static UA_StatusCode function_namespace0_generated_2885_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13964_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13964_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13964_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13964_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13964_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13964_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13964_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13964_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13964_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13964_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13964LU), +UA_NODEID_NUMERIC(ns[0], 13963LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2885_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13964LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13961 */ + +static UA_StatusCode function_namespace0_generated_2886_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13961LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2886_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13961LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13962 */ + +static UA_StatusCode function_namespace0_generated_2887_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13962_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13962_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13962_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13962_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13962_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13962_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13962LU), +UA_NODEID_NUMERIC(ns[0], 13961LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2887_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13962LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13958 */ + +static UA_StatusCode function_namespace0_generated_2888_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13958LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2888_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13958LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13960 */ + +static UA_StatusCode function_namespace0_generated_2889_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13960_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13960_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13960_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13960_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13960_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13960_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13960LU), +UA_NODEID_NUMERIC(ns[0], 13958LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2889_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13960LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13959 */ + +static UA_StatusCode function_namespace0_generated_2890_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13959_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13959_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13959_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13959_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13959_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13959_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13959LU), +UA_NODEID_NUMERIC(ns[0], 13958LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2890_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13959LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13956 */ + +static UA_StatusCode function_namespace0_generated_2891_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13956LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2891_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13956LU) +); +} + +/* UserWritable - ns=0;i=13955 */ + +static UA_StatusCode function_namespace0_generated_2892_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13955LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2892_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13955LU) +); +} + +/* Writable - ns=0;i=13954 */ + +static UA_StatusCode function_namespace0_generated_2893_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13954LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2893_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13954LU) +); +} + +/* Size - ns=0;i=13953 */ + +static UA_StatusCode function_namespace0_generated_2894_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13953LU), +UA_NODEID_NUMERIC(ns[0], 13952LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2894_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13953LU) +); +} + +/* TrustList - ns=0;i=13917 */ + +static UA_StatusCode function_namespace0_generated_2895_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 13916LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2895_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13917LU) +); +} + +/* RemoveCertificate - ns=0;i=13947 */ + +static UA_StatusCode function_namespace0_generated_2896_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13947LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2896_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13947LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13948 */ + +static UA_StatusCode function_namespace0_generated_2897_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13948_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13948_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13948_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_13948_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13948_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13948_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13948_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13948_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13948_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13948_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13948LU), +UA_NODEID_NUMERIC(ns[0], 13947LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2897_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13948LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=13945 */ + +static UA_StatusCode function_namespace0_generated_2898_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13945LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2898_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13945LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13946 */ + +static UA_StatusCode function_namespace0_generated_2899_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13946_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13946_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13946_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13946_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13946_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13946_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13946_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13946_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13946_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13946_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13946LU), +UA_NODEID_NUMERIC(ns[0], 13945LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2899_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13946LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=13942 */ + +static UA_StatusCode function_namespace0_generated_2900_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13942LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2900_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13942LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13944 */ + +static UA_StatusCode function_namespace0_generated_2901_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13944_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13944_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13944_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13944_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13944_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13944_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13944LU), +UA_NODEID_NUMERIC(ns[0], 13942LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2901_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13944LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13943 */ + +static UA_StatusCode function_namespace0_generated_2902_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13943_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13943_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13943_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13943_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13943_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13943_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13943LU), +UA_NODEID_NUMERIC(ns[0], 13942LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2902_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13943LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=13939 */ + +static UA_StatusCode function_namespace0_generated_2903_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13939LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2903_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13939LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13941 */ + +static UA_StatusCode function_namespace0_generated_2904_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13941_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13941_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13941_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13941_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13941_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13941_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13941LU), +UA_NODEID_NUMERIC(ns[0], 13939LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2904_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13941LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13940 */ + +static UA_StatusCode function_namespace0_generated_2905_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13940_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13940_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13940_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_13940_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13940_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13940_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13940LU), +UA_NODEID_NUMERIC(ns[0], 13939LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2905_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13940LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=13938 */ + +static UA_StatusCode function_namespace0_generated_2906_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13938LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2906_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13938LU) +); +} + +/* SetPosition - ns=0;i=13936 */ + +static UA_StatusCode function_namespace0_generated_2907_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13936LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2907_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13936LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13937 */ + +static UA_StatusCode function_namespace0_generated_2908_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13937_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13937_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13937_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13937_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13937_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13937_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13937_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13937_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13937_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13937_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13937LU), +UA_NODEID_NUMERIC(ns[0], 13936LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2908_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13937LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13933 */ + +static UA_StatusCode function_namespace0_generated_2909_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13933LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2909_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13933LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13935 */ + +static UA_StatusCode function_namespace0_generated_2910_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13935_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13935_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13935_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13935_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13935_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13935_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13935LU), +UA_NODEID_NUMERIC(ns[0], 13933LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2910_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13935LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13934 */ + +static UA_StatusCode function_namespace0_generated_2911_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13934_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13934_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13934_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13934_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13934_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13934_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13934LU), +UA_NODEID_NUMERIC(ns[0], 13933LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2911_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13934LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13931 */ + +static UA_StatusCode function_namespace0_generated_2912_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13931LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2912_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13931LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13932 */ + +static UA_StatusCode function_namespace0_generated_2913_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13932_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13932_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13932_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13932_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13932_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13932_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13932_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13932_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13932_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13932_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13932LU), +UA_NODEID_NUMERIC(ns[0], 13931LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2913_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13932LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13928 */ + +static UA_StatusCode function_namespace0_generated_2914_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13928LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2914_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13928LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13930 */ + +static UA_StatusCode function_namespace0_generated_2915_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13930_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13930_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13930_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13930_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13930_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13930_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13930LU), +UA_NODEID_NUMERIC(ns[0], 13928LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2915_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13930LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13929 */ + +static UA_StatusCode function_namespace0_generated_2916_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13929_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13929_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13929_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13929_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13929_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13929_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13929_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13929_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13929_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13929_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13929LU), +UA_NODEID_NUMERIC(ns[0], 13928LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2916_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13929LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13926 */ + +static UA_StatusCode function_namespace0_generated_2917_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13926LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2917_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13926LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13927 */ + +static UA_StatusCode function_namespace0_generated_2918_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13927_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13927_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13927_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13927_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13927_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13927_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13927LU), +UA_NODEID_NUMERIC(ns[0], 13926LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2918_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13927LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13923 */ + +static UA_StatusCode function_namespace0_generated_2919_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13923LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2919_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13923LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13925 */ + +static UA_StatusCode function_namespace0_generated_2920_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13925_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13925_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13925_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13925_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13925_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13925_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13925LU), +UA_NODEID_NUMERIC(ns[0], 13923LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2920_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13925LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13924 */ + +static UA_StatusCode function_namespace0_generated_2921_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13924_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13924_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13924_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13924_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13924_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13924_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13924LU), +UA_NODEID_NUMERIC(ns[0], 13923LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2921_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13924LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13921 */ + +static UA_StatusCode function_namespace0_generated_2922_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13921LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2922_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13921LU) +); +} + +/* UserWritable - ns=0;i=13920 */ + +static UA_StatusCode function_namespace0_generated_2923_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13920LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2923_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13920LU) +); +} + +/* Writable - ns=0;i=13919 */ + +static UA_StatusCode function_namespace0_generated_2924_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13919LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2924_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13919LU) +); +} + +/* Size - ns=0;i=13918 */ + +static UA_StatusCode function_namespace0_generated_2925_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13918LU), +UA_NODEID_NUMERIC(ns[0], 13917LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2925_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13918LU) +); +} + +/* TrustList - ns=0;i=13883 */ + +static UA_StatusCode function_namespace0_generated_2926_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 13882LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2926_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13883LU) +); +} + +/* RemoveCertificate - ns=0;i=13913 */ + +static UA_StatusCode function_namespace0_generated_2927_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13913LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2927_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13913LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13914 */ + +static UA_StatusCode function_namespace0_generated_2928_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13914_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13914_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13914_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_13914_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13914_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13914_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13914_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13914_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13914_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13914_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13914LU), +UA_NODEID_NUMERIC(ns[0], 13913LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2928_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13914LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=13911 */ + +static UA_StatusCode function_namespace0_generated_2929_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13911LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2929_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13911LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13912 */ + +static UA_StatusCode function_namespace0_generated_2930_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13912_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13912_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13912_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13912_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13912_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13912_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13912_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13912_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13912_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13912_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13912LU), +UA_NODEID_NUMERIC(ns[0], 13911LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2930_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13912LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=13908 */ + +static UA_StatusCode function_namespace0_generated_2931_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13908LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2931_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13908LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13910 */ + +static UA_StatusCode function_namespace0_generated_2932_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13910_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13910_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13910_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13910_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13910_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13910_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13910LU), +UA_NODEID_NUMERIC(ns[0], 13908LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2932_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13910LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13909 */ + +static UA_StatusCode function_namespace0_generated_2933_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13909_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13909_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13909_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13909_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13909_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13909_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13909LU), +UA_NODEID_NUMERIC(ns[0], 13908LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2933_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13909LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=13905 */ + +static UA_StatusCode function_namespace0_generated_2934_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13905LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2934_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13905LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13907 */ + +static UA_StatusCode function_namespace0_generated_2935_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13907_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13907_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13907_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13907_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13907_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13907_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13907LU), +UA_NODEID_NUMERIC(ns[0], 13905LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2935_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13907LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13906 */ + +static UA_StatusCode function_namespace0_generated_2936_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13906_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13906_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13906_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_13906_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13906_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13906_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13906LU), +UA_NODEID_NUMERIC(ns[0], 13905LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2936_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13906LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=13904 */ + +static UA_StatusCode function_namespace0_generated_2937_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13904LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2937_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13904LU) +); +} + +/* SetPosition - ns=0;i=13902 */ + +static UA_StatusCode function_namespace0_generated_2938_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13902LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2938_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13902LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13903 */ + +static UA_StatusCode function_namespace0_generated_2939_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13903_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13903_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13903_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13903_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13903_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13903_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13903_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13903_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13903_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13903_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13903LU), +UA_NODEID_NUMERIC(ns[0], 13902LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2939_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13903LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13899 */ + +static UA_StatusCode function_namespace0_generated_2940_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13899LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2940_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13899LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13901 */ + +static UA_StatusCode function_namespace0_generated_2941_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13901_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13901_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13901_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13901_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13901_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13901_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13901LU), +UA_NODEID_NUMERIC(ns[0], 13899LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2941_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13901LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13900 */ + +static UA_StatusCode function_namespace0_generated_2942_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13900_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13900_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13900_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13900_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13900_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13900_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13900LU), +UA_NODEID_NUMERIC(ns[0], 13899LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2942_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13900LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13897 */ + +static UA_StatusCode function_namespace0_generated_2943_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13897LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2943_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13897LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13898 */ + +static UA_StatusCode function_namespace0_generated_2944_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13898_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13898_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13898_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13898_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13898_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13898_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13898_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13898_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13898_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13898_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13898LU), +UA_NODEID_NUMERIC(ns[0], 13897LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2944_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13898LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13894 */ + +static UA_StatusCode function_namespace0_generated_2945_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13894LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2945_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13894LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13896 */ + +static UA_StatusCode function_namespace0_generated_2946_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13896_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13896_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13896_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13896_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13896_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13896_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13896LU), +UA_NODEID_NUMERIC(ns[0], 13894LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2946_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13896LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13895 */ + +static UA_StatusCode function_namespace0_generated_2947_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13895_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13895_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13895_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13895_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13895_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13895_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13895_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13895_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13895_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13895_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13895LU), +UA_NODEID_NUMERIC(ns[0], 13894LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2947_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13895LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13892 */ + +static UA_StatusCode function_namespace0_generated_2948_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13892LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2948_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13892LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13893 */ + +static UA_StatusCode function_namespace0_generated_2949_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13893_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13893_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13893_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13893_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13893_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13893_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13893LU), +UA_NODEID_NUMERIC(ns[0], 13892LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2949_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13893LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13889 */ + +static UA_StatusCode function_namespace0_generated_2950_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13889LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2950_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13889LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13891 */ + +static UA_StatusCode function_namespace0_generated_2951_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13891_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13891_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13891_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13891_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13891_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13891_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13891LU), +UA_NODEID_NUMERIC(ns[0], 13889LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2951_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13891LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13890 */ + +static UA_StatusCode function_namespace0_generated_2952_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13890_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13890_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13890_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13890_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13890_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13890_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13890LU), +UA_NODEID_NUMERIC(ns[0], 13889LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2952_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13890LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13887 */ + +static UA_StatusCode function_namespace0_generated_2953_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13887LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2953_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13887LU) +); +} + +/* UserWritable - ns=0;i=13886 */ + +static UA_StatusCode function_namespace0_generated_2954_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13886LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2954_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13886LU) +); +} + +/* Writable - ns=0;i=13885 */ + +static UA_StatusCode function_namespace0_generated_2955_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13885LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2955_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13885LU) +); +} + +/* Size - ns=0;i=13884 */ + +static UA_StatusCode function_namespace0_generated_2956_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13884LU), +UA_NODEID_NUMERIC(ns[0], 13883LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2956_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13884LU) +); +} + +/* TrustList - ns=0;i=13849 */ + +static UA_StatusCode function_namespace0_generated_2957_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 13848LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2957_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13849LU) +); +} + +/* RemoveCertificate - ns=0;i=13879 */ + +static UA_StatusCode function_namespace0_generated_2958_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13879LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2958_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13879LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13880 */ + +static UA_StatusCode function_namespace0_generated_2959_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13880_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13880_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13880_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_13880_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13880_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13880_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13880_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13880_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13880_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13880_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13880LU), +UA_NODEID_NUMERIC(ns[0], 13879LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2959_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13880LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=13877 */ + +static UA_StatusCode function_namespace0_generated_2960_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13877LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2960_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13877LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13878 */ + +static UA_StatusCode function_namespace0_generated_2961_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13878_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13878_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13878_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13878_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13878_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13878_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13878_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13878_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13878_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13878_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13878LU), +UA_NODEID_NUMERIC(ns[0], 13877LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2961_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13878LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=13874 */ + +static UA_StatusCode function_namespace0_generated_2962_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13874LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2962_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13874LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13876 */ + +static UA_StatusCode function_namespace0_generated_2963_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13876_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13876_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13876_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13876_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13876_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13876_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13876LU), +UA_NODEID_NUMERIC(ns[0], 13874LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2963_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13876LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13875 */ + +static UA_StatusCode function_namespace0_generated_2964_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13875_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13875_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13875_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13875_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13875_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13875_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13875LU), +UA_NODEID_NUMERIC(ns[0], 13874LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2964_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13875LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=13871 */ + +static UA_StatusCode function_namespace0_generated_2965_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13871LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2965_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13871LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13873 */ + +static UA_StatusCode function_namespace0_generated_2966_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13873_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13873_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13873_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13873_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13873_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13873_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13873LU), +UA_NODEID_NUMERIC(ns[0], 13871LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2966_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13873LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13872 */ + +static UA_StatusCode function_namespace0_generated_2967_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13872_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13872_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13872_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_13872_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13872_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13872_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13872LU), +UA_NODEID_NUMERIC(ns[0], 13871LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2967_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13872LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=13870 */ + +static UA_StatusCode function_namespace0_generated_2968_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13870LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2968_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13870LU) +); +} + +/* SetPosition - ns=0;i=13868 */ + +static UA_StatusCode function_namespace0_generated_2969_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13868LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2969_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13868LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13869 */ + +static UA_StatusCode function_namespace0_generated_2970_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13869_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13869_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13869_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13869_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13869_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13869_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13869_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13869_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13869_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13869_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13869LU), +UA_NODEID_NUMERIC(ns[0], 13868LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2970_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13869LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13865 */ + +static UA_StatusCode function_namespace0_generated_2971_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13865LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2971_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13865LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13867 */ + +static UA_StatusCode function_namespace0_generated_2972_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13867_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13867_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13867_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13867_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13867_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13867_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13867LU), +UA_NODEID_NUMERIC(ns[0], 13865LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2972_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13867LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13866 */ + +static UA_StatusCode function_namespace0_generated_2973_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13866_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13866_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13866_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13866_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13866_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13866_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13866LU), +UA_NODEID_NUMERIC(ns[0], 13865LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2973_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13866LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13863 */ + +static UA_StatusCode function_namespace0_generated_2974_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13863LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2974_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13863LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13864 */ + +static UA_StatusCode function_namespace0_generated_2975_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13864_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13864_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13864_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13864_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13864_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13864_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13864_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13864_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13864_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13864_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13864LU), +UA_NODEID_NUMERIC(ns[0], 13863LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2975_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13864LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13860 */ + +static UA_StatusCode function_namespace0_generated_2976_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13860LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2976_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13860LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13862 */ + +static UA_StatusCode function_namespace0_generated_2977_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13862_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13862_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13862_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13862_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13862_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13862_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13862LU), +UA_NODEID_NUMERIC(ns[0], 13860LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2977_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13862LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13861 */ + +static UA_StatusCode function_namespace0_generated_2978_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13861_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13861_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13861_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13861_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13861_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13861_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13861_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13861_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13861_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13861_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13861LU), +UA_NODEID_NUMERIC(ns[0], 13860LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2978_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13861LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13858 */ + +static UA_StatusCode function_namespace0_generated_2979_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13858LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2979_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13858LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13859 */ + +static UA_StatusCode function_namespace0_generated_2980_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13859_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13859_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13859_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13859_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13859_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13859_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13859LU), +UA_NODEID_NUMERIC(ns[0], 13858LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2980_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13859LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13855 */ + +static UA_StatusCode function_namespace0_generated_2981_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13855LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2981_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13855LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13857 */ + +static UA_StatusCode function_namespace0_generated_2982_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13857_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13857_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13857_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13857_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13857_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13857_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13857LU), +UA_NODEID_NUMERIC(ns[0], 13855LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2982_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13857LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13856 */ + +static UA_StatusCode function_namespace0_generated_2983_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13856_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13856_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13856_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13856_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13856_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13856_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13856LU), +UA_NODEID_NUMERIC(ns[0], 13855LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2983_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13856LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13853 */ + +static UA_StatusCode function_namespace0_generated_2984_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13853LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2984_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13853LU) +); +} + +/* UserWritable - ns=0;i=13852 */ + +static UA_StatusCode function_namespace0_generated_2985_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13852LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2985_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13852LU) +); +} + +/* Writable - ns=0;i=13851 */ + +static UA_StatusCode function_namespace0_generated_2986_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13851LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2986_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13851LU) +); +} + +/* Size - ns=0;i=13850 */ + +static UA_StatusCode function_namespace0_generated_2987_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13850LU), +UA_NODEID_NUMERIC(ns[0], 13849LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2987_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13850LU) +); +} + +/* TrustList - ns=0;i=13815 */ + +static UA_StatusCode function_namespace0_generated_2988_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 13814LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2988_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13815LU) +); +} + +/* RemoveCertificate - ns=0;i=13845 */ + +static UA_StatusCode function_namespace0_generated_2989_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13845LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2989_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13845LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13846 */ + +static UA_StatusCode function_namespace0_generated_2990_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13846_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13846_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13846_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_13846_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13846_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13846_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13846_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13846_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13846_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13846_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13846LU), +UA_NODEID_NUMERIC(ns[0], 13845LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2990_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13846LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=13843 */ + +static UA_StatusCode function_namespace0_generated_2991_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13843LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2991_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13843LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13844 */ + +static UA_StatusCode function_namespace0_generated_2992_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13844_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13844_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13844_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13844_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13844_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13844_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13844_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13844_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13844_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13844_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13844LU), +UA_NODEID_NUMERIC(ns[0], 13843LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2992_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13844LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=13840 */ + +static UA_StatusCode function_namespace0_generated_2993_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13840LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2993_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13840LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13842 */ + +static UA_StatusCode function_namespace0_generated_2994_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13842_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13842_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13842_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13842_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13842_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13842_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13842LU), +UA_NODEID_NUMERIC(ns[0], 13840LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2994_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13842LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13841 */ + +static UA_StatusCode function_namespace0_generated_2995_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13841_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13841_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13841_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13841_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13841_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13841_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13841LU), +UA_NODEID_NUMERIC(ns[0], 13840LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2995_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13841LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=13837 */ + +static UA_StatusCode function_namespace0_generated_2996_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13837LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2996_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13837LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13839 */ + +static UA_StatusCode function_namespace0_generated_2997_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13839_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13839_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13839_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13839_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13839_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13839_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13839LU), +UA_NODEID_NUMERIC(ns[0], 13837LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2997_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13839LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13838 */ + +static UA_StatusCode function_namespace0_generated_2998_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13838_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13838_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13838_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_13838_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13838_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13838_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13838LU), +UA_NODEID_NUMERIC(ns[0], 13837LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_2998_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13838LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=13836 */ + +static UA_StatusCode function_namespace0_generated_2999_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13836LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_2999_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13836LU) +); +} + +/* SetPosition - ns=0;i=13834 */ + +static UA_StatusCode function_namespace0_generated_3000_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13834LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3000_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13834LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13835 */ + +static UA_StatusCode function_namespace0_generated_3001_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13835_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13835_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13835_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13835_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13835_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13835_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13835_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13835_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13835_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13835_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13835LU), +UA_NODEID_NUMERIC(ns[0], 13834LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3001_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13835LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13831 */ + +static UA_StatusCode function_namespace0_generated_3002_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13831LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3002_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13831LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13833 */ + +static UA_StatusCode function_namespace0_generated_3003_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13833_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13833_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13833_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13833_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13833_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13833_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13833LU), +UA_NODEID_NUMERIC(ns[0], 13831LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3003_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13833LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13832 */ + +static UA_StatusCode function_namespace0_generated_3004_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13832_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13832_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13832_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13832_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13832_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13832_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13832LU), +UA_NODEID_NUMERIC(ns[0], 13831LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3004_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13832LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13829 */ + +static UA_StatusCode function_namespace0_generated_3005_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13829LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3005_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13829LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13830 */ + +static UA_StatusCode function_namespace0_generated_3006_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13830_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13830_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13830_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13830_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13830_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13830_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13830_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13830_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13830_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13830_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13830LU), +UA_NODEID_NUMERIC(ns[0], 13829LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3006_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13830LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13826 */ + +static UA_StatusCode function_namespace0_generated_3007_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13826LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3007_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13826LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13828 */ + +static UA_StatusCode function_namespace0_generated_3008_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13828_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13828_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13828_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13828_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13828_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13828_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13828LU), +UA_NODEID_NUMERIC(ns[0], 13826LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3008_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13828LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13827 */ + +static UA_StatusCode function_namespace0_generated_3009_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13827_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13827_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13827_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13827_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13827_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13827_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13827_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13827_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13827_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13827_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13827LU), +UA_NODEID_NUMERIC(ns[0], 13826LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3009_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13827LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13824 */ + +static UA_StatusCode function_namespace0_generated_3010_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13824LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3010_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13824LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13825 */ + +static UA_StatusCode function_namespace0_generated_3011_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13825_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13825_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13825_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13825_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13825_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13825_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13825LU), +UA_NODEID_NUMERIC(ns[0], 13824LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3011_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13825LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13821 */ + +static UA_StatusCode function_namespace0_generated_3012_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13821LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3012_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13821LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13823 */ + +static UA_StatusCode function_namespace0_generated_3013_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13823_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13823_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13823_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13823_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13823_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13823_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13823LU), +UA_NODEID_NUMERIC(ns[0], 13821LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3013_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13823LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13822 */ + +static UA_StatusCode function_namespace0_generated_3014_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13822_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13822_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13822_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13822_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13822_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13822_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13822LU), +UA_NODEID_NUMERIC(ns[0], 13821LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3014_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13822LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13819 */ + +static UA_StatusCode function_namespace0_generated_3015_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13819LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3015_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13819LU) +); +} + +/* UserWritable - ns=0;i=13818 */ + +static UA_StatusCode function_namespace0_generated_3016_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13818LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3016_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13818LU) +); +} + +/* Writable - ns=0;i=13817 */ + +static UA_StatusCode function_namespace0_generated_3017_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13817LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3017_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13817LU) +); +} + +/* Size - ns=0;i=13816 */ + +static UA_StatusCode function_namespace0_generated_3018_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13816LU), +UA_NODEID_NUMERIC(ns[0], 13815LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3018_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13816LU) +); +} + +/* TrustList - ns=0;i=13599 */ + +static UA_StatusCode function_namespace0_generated_3019_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 12555LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3019_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13599LU) +); +} + +/* RemoveCertificate - ns=0;i=13629 */ + +static UA_StatusCode function_namespace0_generated_3020_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13629LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3020_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13629LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13630 */ + +static UA_StatusCode function_namespace0_generated_3021_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13630_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13630_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13630_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_13630_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13630_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13630_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13630_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13630_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13630_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13630_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13630LU), +UA_NODEID_NUMERIC(ns[0], 13629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3021_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13630LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=13627 */ + +static UA_StatusCode function_namespace0_generated_3022_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13627LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3022_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13627LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13628 */ + +static UA_StatusCode function_namespace0_generated_3023_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13628_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13628_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13628_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13628_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13628_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13628_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13628_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_13628_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13628_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13628_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13628LU), +UA_NODEID_NUMERIC(ns[0], 13627LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3023_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13628LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=13624 */ + +static UA_StatusCode function_namespace0_generated_3024_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13624LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3024_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13624LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13626 */ + +static UA_StatusCode function_namespace0_generated_3025_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13626_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13626_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13626_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13626_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13626_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13626_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13626LU), +UA_NODEID_NUMERIC(ns[0], 13624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3025_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13626LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13625 */ + +static UA_StatusCode function_namespace0_generated_3026_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13625_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13625_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13625_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13625_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13625_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13625_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13625LU), +UA_NODEID_NUMERIC(ns[0], 13624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3026_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13625LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=13621 */ + +static UA_StatusCode function_namespace0_generated_3027_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13621LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3027_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13621LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13623 */ + +static UA_StatusCode function_namespace0_generated_3028_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13623_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13623_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13623_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13623_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13623_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13623_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13623LU), +UA_NODEID_NUMERIC(ns[0], 13621LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3028_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13623LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13622 */ + +static UA_StatusCode function_namespace0_generated_3029_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13622_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13622_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13622_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_13622_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13622_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13622_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13622LU), +UA_NODEID_NUMERIC(ns[0], 13621LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3029_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13622LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=13620 */ + +static UA_StatusCode function_namespace0_generated_3030_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13620LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3030_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13620LU) +); +} + +/* SetPosition - ns=0;i=13618 */ + +static UA_StatusCode function_namespace0_generated_3031_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13618LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3031_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13618LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13619 */ + +static UA_StatusCode function_namespace0_generated_3032_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13619_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13619_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13619_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13619_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13619_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13619_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13619_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_13619_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13619_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13619_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13619LU), +UA_NODEID_NUMERIC(ns[0], 13618LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3032_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13619LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=13615 */ + +static UA_StatusCode function_namespace0_generated_3033_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13615LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3033_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13615LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13617 */ + +static UA_StatusCode function_namespace0_generated_3034_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13617_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13617_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13617_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_13617_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_13617_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13617_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13617LU), +UA_NODEID_NUMERIC(ns[0], 13615LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3034_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13617LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13616 */ + +static UA_StatusCode function_namespace0_generated_3035_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13616_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13616_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13616_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13616_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13616_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13616_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13616LU), +UA_NODEID_NUMERIC(ns[0], 13615LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3035_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13616LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=13613 */ + +static UA_StatusCode function_namespace0_generated_3036_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13613LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3036_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13613LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13614 */ + +static UA_StatusCode function_namespace0_generated_3037_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13614_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13614_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13614_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13614_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13614_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13614_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13614_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_13614_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13614_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13614_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13614LU), +UA_NODEID_NUMERIC(ns[0], 13613LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3037_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13614LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=13610 */ + +static UA_StatusCode function_namespace0_generated_3038_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13610LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3038_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13610LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13612 */ + +static UA_StatusCode function_namespace0_generated_3039_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13612_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13612_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13612_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_13612_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13612_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13612_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13612LU), +UA_NODEID_NUMERIC(ns[0], 13610LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3039_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13612LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13611 */ + +static UA_StatusCode function_namespace0_generated_3040_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13611_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_13611_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13611_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13611_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13611_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13611_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13611_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_13611_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_13611_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13611_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13611LU), +UA_NODEID_NUMERIC(ns[0], 13610LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3040_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13611LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=13608 */ + +static UA_StatusCode function_namespace0_generated_3041_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13608LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3041_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13608LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13609 */ + +static UA_StatusCode function_namespace0_generated_3042_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13609_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13609_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13609_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13609_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13609_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13609_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13609LU), +UA_NODEID_NUMERIC(ns[0], 13608LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3042_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13609LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=13605 */ + +static UA_StatusCode function_namespace0_generated_3043_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13605LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3043_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13605LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13607 */ + +static UA_StatusCode function_namespace0_generated_3044_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13607_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13607_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13607_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_13607_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_13607_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13607_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13607LU), +UA_NODEID_NUMERIC(ns[0], 13605LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3044_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13607LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13606 */ + +static UA_StatusCode function_namespace0_generated_3045_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13606_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13606_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13606_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_13606_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_13606_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13606_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13606LU), +UA_NODEID_NUMERIC(ns[0], 13605LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3045_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13606LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=13603 */ + +static UA_StatusCode function_namespace0_generated_3046_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13603LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3046_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13603LU) +); +} + +/* UserWritable - ns=0;i=13602 */ + +static UA_StatusCode function_namespace0_generated_3047_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13602LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3047_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13602LU) +); +} + +/* Writable - ns=0;i=13601 */ + +static UA_StatusCode function_namespace0_generated_3048_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13601LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3048_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13601LU) +); +} + +/* Size - ns=0;i=13600 */ + +static UA_StatusCode function_namespace0_generated_3049_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13600LU), +UA_NODEID_NUMERIC(ns[0], 13599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3049_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13600LU) +); +} + +/* RemoveCertificate - ns=0;i=12550 */ + +static UA_StatusCode function_namespace0_generated_3050_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12550LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3050_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12550LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12551 */ + +static UA_StatusCode function_namespace0_generated_3051_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12551_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12551_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12551_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_12551_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_12551_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12551_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12551_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_12551_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12551_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12551_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12551LU), +UA_NODEID_NUMERIC(ns[0], 12550LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3051_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12551LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=12548 */ + +static UA_StatusCode function_namespace0_generated_3052_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12548LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3052_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12548LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12549 */ + +static UA_StatusCode function_namespace0_generated_3053_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12549_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12549_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12549_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_12549_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12549_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12549_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12549_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_12549_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12549_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12549_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12549LU), +UA_NODEID_NUMERIC(ns[0], 12548LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3053_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12549LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=12546 */ + +static UA_StatusCode function_namespace0_generated_3054_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12546LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3054_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12546LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12705 */ + +static UA_StatusCode function_namespace0_generated_3055_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12705_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12705_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12705_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12705_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12705_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12705_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12705LU), +UA_NODEID_NUMERIC(ns[0], 12546LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3055_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12705LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12547 */ + +static UA_StatusCode function_namespace0_generated_3056_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12547_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12547_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12547_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_12547_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12547_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12547_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12547LU), +UA_NODEID_NUMERIC(ns[0], 12546LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3056_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12547LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=12543 */ + +static UA_StatusCode function_namespace0_generated_3057_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12543LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3057_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12543LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12545 */ + +static UA_StatusCode function_namespace0_generated_3058_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12545_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12545_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12545_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12545_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12545_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12545_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12545LU), +UA_NODEID_NUMERIC(ns[0], 12543LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3058_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12545LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12544 */ + +static UA_StatusCode function_namespace0_generated_3059_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12544_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12544_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12544_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_12544_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12544_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12544_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12544LU), +UA_NODEID_NUMERIC(ns[0], 12543LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3059_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12544LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=12542 */ + +static UA_StatusCode function_namespace0_generated_3060_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12542LU), +UA_NODEID_NUMERIC(ns[0], 12522LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3060_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12542LU) +); +} + +/* AddressSpaceFileType - ns=0;i=11595 */ + +static UA_StatusCode function_namespace0_generated_3061_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AddressSpaceFileType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11595LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "AddressSpaceFileType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3061_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11595LU) +); +} + +/* NamespaceFile - ns=0;i=11624 */ + +static UA_StatusCode function_namespace0_generated_3062_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceFile"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 11616LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceFile"), +UA_NODEID_NUMERIC(ns[0], 11595LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3062_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11624LU) +); +} + +/* UserWritable - ns=0;i=12691 */ + +static UA_StatusCode function_namespace0_generated_3063_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12691LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3063_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12691LU) +); +} + +/* Writable - ns=0;i=12690 */ + +static UA_StatusCode function_namespace0_generated_3064_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12690LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3064_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12690LU) +); +} + +/* SetPosition - ns=0;i=11642 */ + +static UA_StatusCode function_namespace0_generated_3065_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11642LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3065_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11642LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11643 */ + +static UA_StatusCode function_namespace0_generated_3066_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11643_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11643_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11643_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11643_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11643_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_11643_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11643_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_11643_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_11643_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11643_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11643LU), +UA_NODEID_NUMERIC(ns[0], 11642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3066_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11643LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=11639 */ + +static UA_StatusCode function_namespace0_generated_3067_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11639LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3067_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11639LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11641 */ + +static UA_StatusCode function_namespace0_generated_3068_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11641_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11641_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11641_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_11641_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_11641_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11641_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11641LU), +UA_NODEID_NUMERIC(ns[0], 11639LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3068_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11641LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11640 */ + +static UA_StatusCode function_namespace0_generated_3069_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11640_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11640_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11640_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11640_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11640_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11640_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11640LU), +UA_NODEID_NUMERIC(ns[0], 11639LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3069_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11640LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=11637 */ + +static UA_StatusCode function_namespace0_generated_3070_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11637LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3070_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11637LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11638 */ + +static UA_StatusCode function_namespace0_generated_3071_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11638_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11638_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11638_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11638_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11638_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_11638_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11638_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_11638_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_11638_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11638_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11638LU), +UA_NODEID_NUMERIC(ns[0], 11637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3071_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11638LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=11634 */ + +static UA_StatusCode function_namespace0_generated_3072_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11634LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3072_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11634LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11636 */ + +static UA_StatusCode function_namespace0_generated_3073_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11636_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11636_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11636_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_11636_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_11636_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11636_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11636LU), +UA_NODEID_NUMERIC(ns[0], 11634LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3073_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11636LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11635 */ + +static UA_StatusCode function_namespace0_generated_3074_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11635_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11635_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11635_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11635_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11635_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_11635_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11635_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_11635_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_11635_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11635_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11635LU), +UA_NODEID_NUMERIC(ns[0], 11634LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3074_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11635LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=11632 */ + +static UA_StatusCode function_namespace0_generated_3075_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11632LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3075_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11632LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11633 */ + +static UA_StatusCode function_namespace0_generated_3076_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11633_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11633_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11633_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11633_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11633_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11633_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11633LU), +UA_NODEID_NUMERIC(ns[0], 11632LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3076_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11633LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=11629 */ + +static UA_StatusCode function_namespace0_generated_3077_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11629LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3077_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11629LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11631 */ + +static UA_StatusCode function_namespace0_generated_3078_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11631_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11631_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11631_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11631_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11631_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11631_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11631LU), +UA_NODEID_NUMERIC(ns[0], 11629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3078_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11631LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11630 */ + +static UA_StatusCode function_namespace0_generated_3079_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11630_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11630_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11630_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_11630_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_11630_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11630_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11630LU), +UA_NODEID_NUMERIC(ns[0], 11629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3079_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11630LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=11628 */ + +static UA_StatusCode function_namespace0_generated_3080_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11628LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3080_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11628LU) +); +} + +/* Size - ns=0;i=11625 */ + +static UA_StatusCode function_namespace0_generated_3081_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11625LU), +UA_NODEID_NUMERIC(ns[0], 11624LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3081_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11625LU) +); +} + +/* ExportNamespace - ns=0;i=11615 */ + +static UA_StatusCode function_namespace0_generated_3082_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ExportNamespace"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11615LU), +UA_NODEID_NUMERIC(ns[0], 11595LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ExportNamespace"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3082_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11615LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetPosition - ns=0;i=11593 */ + +static UA_StatusCode function_namespace0_generated_3083_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11593LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3083_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11593LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11594 */ + +static UA_StatusCode function_namespace0_generated_3084_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11594_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11594_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11594_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11594_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11594_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_11594_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11594_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_11594_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_11594_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11594_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11594LU), +UA_NODEID_NUMERIC(ns[0], 11593LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3084_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11594LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=11590 */ + +static UA_StatusCode function_namespace0_generated_3085_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11590LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3085_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11590LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11592 */ + +static UA_StatusCode function_namespace0_generated_3086_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11592_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11592_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11592_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_11592_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_11592_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11592_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11592LU), +UA_NODEID_NUMERIC(ns[0], 11590LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3086_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11592LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11591 */ + +static UA_StatusCode function_namespace0_generated_3087_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11591_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11591_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11591_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11591_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11591_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11591_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11591LU), +UA_NODEID_NUMERIC(ns[0], 11590LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3087_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11591LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=11588 */ + +static UA_StatusCode function_namespace0_generated_3088_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11588LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3088_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11588LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11589 */ + +static UA_StatusCode function_namespace0_generated_3089_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11589_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11589_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11589_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11589_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11589_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_11589_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11589_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_11589_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_11589_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11589_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11589LU), +UA_NODEID_NUMERIC(ns[0], 11588LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3089_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11589LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=11585 */ + +static UA_StatusCode function_namespace0_generated_3090_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11585LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3090_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11585LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11587 */ + +static UA_StatusCode function_namespace0_generated_3091_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11587_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11587_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11587_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_11587_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_11587_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11587_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11587LU), +UA_NODEID_NUMERIC(ns[0], 11585LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3091_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11587LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11586 */ + +static UA_StatusCode function_namespace0_generated_3092_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11586_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11586_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11586_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11586_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11586_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_11586_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11586_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_11586_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_11586_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11586_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11586LU), +UA_NODEID_NUMERIC(ns[0], 11585LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3092_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11586LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=11583 */ + +static UA_StatusCode function_namespace0_generated_3093_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11583LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3093_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11583LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11584 */ + +static UA_StatusCode function_namespace0_generated_3094_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11584_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11584_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11584_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11584_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11584_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11584_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11584LU), +UA_NODEID_NUMERIC(ns[0], 11583LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3094_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11584LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=11580 */ + +static UA_StatusCode function_namespace0_generated_3095_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11580LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3095_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11580LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11582 */ + +static UA_StatusCode function_namespace0_generated_3096_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11582_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11582_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11582_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_11582_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11582_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11582_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11582LU), +UA_NODEID_NUMERIC(ns[0], 11580LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3096_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11582LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11581 */ + +static UA_StatusCode function_namespace0_generated_3097_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11581_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11581_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11581_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_11581_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_11581_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11581_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11581LU), +UA_NODEID_NUMERIC(ns[0], 11580LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3097_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11581LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=11579 */ + +static UA_StatusCode function_namespace0_generated_3098_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11579LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3098_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11579LU) +); +} + +/* Size - ns=0;i=11576 */ + +static UA_StatusCode function_namespace0_generated_3099_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11576LU), +UA_NODEID_NUMERIC(ns[0], 11575LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3099_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11576LU) +); +} + +/* OperationLimitsType - ns=0;i=11564 */ + +static UA_StatusCode function_namespace0_generated_3100_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OperationLimitsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 61LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "OperationLimitsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3100_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11564LU) +); +} + +/* MaxNodesPerHistoryUpdateEvents - ns=0;i=12164 */ + +static UA_StatusCode function_namespace0_generated_3101_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateEvents"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12164LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateEvents"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3101_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12164LU) +); +} + +/* MaxNodesPerHistoryUpdateData - ns=0;i=12163 */ + +static UA_StatusCode function_namespace0_generated_3102_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12163LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3102_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12163LU) +); +} + +/* MaxNodesPerHistoryReadEvents - ns=0;i=12162 */ + +static UA_StatusCode function_namespace0_generated_3103_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadEvents"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12162LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadEvents"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3103_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12162LU) +); +} + +/* MaxNodesPerHistoryReadData - ns=0;i=12161 */ + +static UA_StatusCode function_namespace0_generated_3104_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12161LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3104_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12161LU) +); +} + +/* MaxMonitoredItemsPerCall - ns=0;i=11574 */ + +static UA_StatusCode function_namespace0_generated_3105_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11574LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerCall"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3105_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11574LU) +); +} + +/* MaxNodesPerNodeManagement - ns=0;i=11573 */ + +static UA_StatusCode function_namespace0_generated_3106_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerNodeManagement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11573LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerNodeManagement"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3106_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11573LU) +); +} + +/* MaxNodesPerTranslateBrowsePathsToNodeIds - ns=0;i=11572 */ + +static UA_StatusCode function_namespace0_generated_3107_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerTranslateBrowsePathsToNodeIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11572LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerTranslateBrowsePathsToNodeIds"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3107_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11572LU) +); +} + +/* MaxNodesPerRegisterNodes - ns=0;i=11571 */ + +static UA_StatusCode function_namespace0_generated_3108_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRegisterNodes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11571LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRegisterNodes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3108_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11571LU) +); +} + +/* MaxNodesPerBrowse - ns=0;i=11570 */ + +static UA_StatusCode function_namespace0_generated_3109_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerBrowse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11570LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerBrowse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3109_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11570LU) +); +} + +/* MaxNodesPerMethodCall - ns=0;i=11569 */ + +static UA_StatusCode function_namespace0_generated_3110_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerMethodCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11569LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerMethodCall"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3110_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11569LU) +); +} + +/* MaxNodesPerWrite - ns=0;i=11567 */ + +static UA_StatusCode function_namespace0_generated_3111_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerWrite"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11567LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerWrite"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3111_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11567LU) +); +} + +/* MaxNodesPerRead - ns=0;i=11565 */ + +static UA_StatusCode function_namespace0_generated_3112_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRead"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11565LU), +UA_NODEID_NUMERIC(ns[0], 11564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRead"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3112_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11565LU) +); +} + +/* ServerRedundancyType - ns=0;i=2034 */ + +static UA_StatusCode function_namespace0_generated_3113_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerRedundancyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2034LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerRedundancyType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3113_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2034LU) +); +} + +/* NonTransparentRedundancyType - ns=0;i=2039 */ + +static UA_StatusCode function_namespace0_generated_3114_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NonTransparentRedundancyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2039LU), +UA_NODEID_NUMERIC(ns[0], 2034LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NonTransparentRedundancyType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3114_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2039LU) +); +} + +/* ServerUriArray - ns=0;i=2040 */ + +static UA_StatusCode function_namespace0_generated_3115_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUriArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2040LU), +UA_NODEID_NUMERIC(ns[0], 2039LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerUriArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3115_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2040LU) +); +} + +/* NonTransparentNetworkRedundancyType - ns=0;i=11945 */ + +static UA_StatusCode function_namespace0_generated_3116_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NonTransparentNetworkRedundancyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 11945LU), +UA_NODEID_NUMERIC(ns[0], 2039LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "NonTransparentNetworkRedundancyType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3116_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11945LU) +); +} + +/* ServerNetworkGroups - ns=0;i=11948 */ + +static UA_StatusCode function_namespace0_generated_3117_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 11944LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerNetworkGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11948LU), +UA_NODEID_NUMERIC(ns[0], 11945LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerNetworkGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3117_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11948LU) +); +} + +/* TransparentRedundancyType - ns=0;i=2036 */ + +static UA_StatusCode function_namespace0_generated_3118_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TransparentRedundancyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2036LU), +UA_NODEID_NUMERIC(ns[0], 2034LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "TransparentRedundancyType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3118_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2036LU) +); +} + +/* RedundantServerArray - ns=0;i=2038 */ + +static UA_StatusCode function_namespace0_generated_3119_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 853LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2038LU), +UA_NODEID_NUMERIC(ns[0], 2036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RedundantServerArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3119_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2038LU) +); +} + +/* CurrentServerId - ns=0;i=2037 */ + +static UA_StatusCode function_namespace0_generated_3120_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentServerId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2037LU), +UA_NODEID_NUMERIC(ns[0], 2036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CurrentServerId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3120_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2037LU) +); +} + +/* RedundancySupport - ns=0;i=2035 */ + +static UA_StatusCode function_namespace0_generated_3121_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 851LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2035LU), +UA_NODEID_NUMERIC(ns[0], 2034LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3121_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2035LU) +); +} + +/* VendorServerInfoType - ns=0;i=2033 */ + +static UA_StatusCode function_namespace0_generated_3122_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "VendorServerInfoType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2033LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "VendorServerInfoType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3122_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2033LU) +); +} + +/* SessionDiagnosticsObjectType - ns=0;i=2029 */ + +static UA_StatusCode function_namespace0_generated_3123_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsObjectType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2029LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsObjectType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3123_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2029LU) +); +} + +/* SubscriptionDiagnosticsArray - ns=0;i=2032 */ + +static UA_StatusCode function_namespace0_generated_3124_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2032LU), +UA_NODEID_NUMERIC(ns[0], 2029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2171LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3124_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2032LU) +); +} + +/* SessionSecurityDiagnostics - ns=0;i=2031 */ + +static UA_StatusCode function_namespace0_generated_3125_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 2029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2244LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3125_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2031LU) +); +} + +/* ClientCertificate - ns=0;i=3187 */ + +static UA_StatusCode function_namespace0_generated_3126_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3187LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3126_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3187LU) +); +} + +/* SecurityPolicyUri - ns=0;i=3186 */ + +static UA_StatusCode function_namespace0_generated_3127_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3186LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3127_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3186LU) +); +} + +/* SecurityMode - ns=0;i=3185 */ + +static UA_StatusCode function_namespace0_generated_3128_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3185LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3128_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3185LU) +); +} + +/* TransportProtocol - ns=0;i=3184 */ + +static UA_StatusCode function_namespace0_generated_3129_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3184LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3129_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3184LU) +); +} + +/* Encoding - ns=0;i=3183 */ + +static UA_StatusCode function_namespace0_generated_3130_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3183LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Encoding"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3130_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3183LU) +); +} + +/* AuthenticationMechanism - ns=0;i=3182 */ + +static UA_StatusCode function_namespace0_generated_3131_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3182LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3131_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3182LU) +); +} + +/* ClientUserIdHistory - ns=0;i=3181 */ + +static UA_StatusCode function_namespace0_generated_3132_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3181LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3132_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3181LU) +); +} + +/* ClientUserIdOfSession - ns=0;i=3180 */ + +static UA_StatusCode function_namespace0_generated_3133_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3180LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3133_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3180LU) +); +} + +/* SessionId - ns=0;i=3179 */ + +static UA_StatusCode function_namespace0_generated_3134_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3179LU), +UA_NODEID_NUMERIC(ns[0], 2031LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3134_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3179LU) +); +} + +/* SessionDiagnostics - ns=0;i=2030 */ + +static UA_StatusCode function_namespace0_generated_3135_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 2029LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2197LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3135_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2030LU) +); +} + +/* TotalRequestCount - ns=0;i=8898 */ + +static UA_StatusCode function_namespace0_generated_3136_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8898LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3136_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8898LU) +); +} + +/* UnregisterNodesCount - ns=0;i=3178 */ + +static UA_StatusCode function_namespace0_generated_3137_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3178LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3137_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3178LU) +); +} + +/* RegisterNodesCount - ns=0;i=3177 */ + +static UA_StatusCode function_namespace0_generated_3138_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3177LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3138_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3177LU) +); +} + +/* QueryNextCount - ns=0;i=3176 */ + +static UA_StatusCode function_namespace0_generated_3139_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3176LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3139_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3176LU) +); +} + +/* QueryFirstCount - ns=0;i=3175 */ + +static UA_StatusCode function_namespace0_generated_3140_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3175LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3140_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3175LU) +); +} + +/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=3174 */ + +static UA_StatusCode function_namespace0_generated_3141_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3174LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3141_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3174LU) +); +} + +/* BrowseNextCount - ns=0;i=3173 */ + +static UA_StatusCode function_namespace0_generated_3142_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3173LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3142_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3173LU) +); +} + +/* BrowseCount - ns=0;i=3172 */ + +static UA_StatusCode function_namespace0_generated_3143_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3172LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3143_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3172LU) +); +} + +/* DeleteReferencesCount - ns=0;i=3171 */ + +static UA_StatusCode function_namespace0_generated_3144_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3171LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3144_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3171LU) +); +} + +/* DeleteNodesCount - ns=0;i=3170 */ + +static UA_StatusCode function_namespace0_generated_3145_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3170LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3145_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3170LU) +); +} + +/* AddReferencesCount - ns=0;i=3169 */ + +static UA_StatusCode function_namespace0_generated_3146_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3169LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3146_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3169LU) +); +} + +/* AddNodesCount - ns=0;i=3168 */ + +static UA_StatusCode function_namespace0_generated_3147_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3168LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3147_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3168LU) +); +} + +/* DeleteSubscriptionsCount - ns=0;i=3167 */ + +static UA_StatusCode function_namespace0_generated_3148_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3167LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3148_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3167LU) +); +} + +/* TransferSubscriptionsCount - ns=0;i=3166 */ + +static UA_StatusCode function_namespace0_generated_3149_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3166LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3149_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3166LU) +); +} + +/* RepublishCount - ns=0;i=3165 */ + +static UA_StatusCode function_namespace0_generated_3150_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3165LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3150_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3165LU) +); +} + +/* PublishCount - ns=0;i=3164 */ + +static UA_StatusCode function_namespace0_generated_3151_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3164LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3151_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3164LU) +); +} + +/* SetPublishingModeCount - ns=0;i=3163 */ + +static UA_StatusCode function_namespace0_generated_3152_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3163LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3152_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3163LU) +); +} + +/* ModifySubscriptionCount - ns=0;i=3162 */ + +static UA_StatusCode function_namespace0_generated_3153_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3162LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3153_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3162LU) +); +} + +/* CreateSubscriptionCount - ns=0;i=3161 */ + +static UA_StatusCode function_namespace0_generated_3154_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3161LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3154_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3161LU) +); +} + +/* DeleteMonitoredItemsCount - ns=0;i=3160 */ + +static UA_StatusCode function_namespace0_generated_3155_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3160LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3155_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3160LU) +); +} + +/* SetTriggeringCount - ns=0;i=3159 */ + +static UA_StatusCode function_namespace0_generated_3156_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3159LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3156_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3159LU) +); +} + +/* SetMonitoringModeCount - ns=0;i=3158 */ + +static UA_StatusCode function_namespace0_generated_3157_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3158LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3157_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3158LU) +); +} + +/* ModifyMonitoredItemsCount - ns=0;i=3157 */ + +static UA_StatusCode function_namespace0_generated_3158_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3157LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3158_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3157LU) +); +} + +/* CreateMonitoredItemsCount - ns=0;i=3156 */ + +static UA_StatusCode function_namespace0_generated_3159_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3156LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3159_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3156LU) +); +} + +/* CallCount - ns=0;i=3155 */ + +static UA_StatusCode function_namespace0_generated_3160_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3155LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CallCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3160_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3155LU) +); +} + +/* HistoryUpdateCount - ns=0;i=3154 */ + +static UA_StatusCode function_namespace0_generated_3161_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3154LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3161_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3154LU) +); +} + +/* WriteCount - ns=0;i=3153 */ + +static UA_StatusCode function_namespace0_generated_3162_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3153LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriteCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3162_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3153LU) +); +} + +/* HistoryReadCount - ns=0;i=3152 */ + +static UA_StatusCode function_namespace0_generated_3163_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3152LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3163_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3152LU) +); +} + +/* ReadCount - ns=0;i=3151 */ + +static UA_StatusCode function_namespace0_generated_3164_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3151LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3164_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3151LU) +); +} + +/* CurrentPublishRequestsInQueue - ns=0;i=3143 */ + +static UA_StatusCode function_namespace0_generated_3165_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3143LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3165_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3143LU) +); +} + +/* CurrentMonitoredItemsCount - ns=0;i=3142 */ + +static UA_StatusCode function_namespace0_generated_3166_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3142LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3166_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3142LU) +); +} + +/* CurrentSubscriptionsCount - ns=0;i=3141 */ + +static UA_StatusCode function_namespace0_generated_3167_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3141LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3167_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3141LU) +); +} + +/* ClientLastContactTime - ns=0;i=3140 */ + +static UA_StatusCode function_namespace0_generated_3168_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3140LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3168_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3140LU) +); +} + +/* ClientConnectionTime - ns=0;i=3139 */ + +static UA_StatusCode function_namespace0_generated_3169_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3139LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3169_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3139LU) +); +} + +/* MaxResponseMessageSize - ns=0;i=3138 */ + +static UA_StatusCode function_namespace0_generated_3170_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3138LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3170_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3138LU) +); +} + +/* ActualSessionTimeout - ns=0;i=3137 */ + +static UA_StatusCode function_namespace0_generated_3171_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3137LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3171_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3137LU) +); +} + +/* LocaleIds - ns=0;i=3136 */ + +static UA_StatusCode function_namespace0_generated_3172_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3136LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIds"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3172_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3136LU) +); +} + +/* EndpointUrl - ns=0;i=3135 */ + +static UA_StatusCode function_namespace0_generated_3173_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3135LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3173_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3135LU) +); +} + +/* ServerUri - ns=0;i=3134 */ + +static UA_StatusCode function_namespace0_generated_3174_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3134LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3174_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3134LU) +); +} + +/* ClientDescription - ns=0;i=3133 */ + +static UA_StatusCode function_namespace0_generated_3175_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3133LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientDescription"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3175_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3133LU) +); +} + +/* SessionName - ns=0;i=3132 */ + +static UA_StatusCode function_namespace0_generated_3176_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3132LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3176_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3132LU) +); +} + +/* SessionId - ns=0;i=3131 */ + +static UA_StatusCode function_namespace0_generated_3177_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3131LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3177_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3131LU) +); +} + +/* UnauthorizedRequestCount - ns=0;i=11891 */ + +static UA_StatusCode function_namespace0_generated_3178_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11891LU), +UA_NODEID_NUMERIC(ns[0], 2030LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3178_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11891LU) +); +} + +/* SessionsDiagnosticsSummaryType - ns=0;i=2026 */ + +static UA_StatusCode function_namespace0_generated_3179_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummaryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2026LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummaryType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3179_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2026LU) +); +} + +/* SessionSecurityDiagnosticsArray - ns=0;i=2028 */ + +static UA_StatusCode function_namespace0_generated_3180_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2028LU), +UA_NODEID_NUMERIC(ns[0], 2026LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2243LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3180_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2028LU) +); +} + +/* SessionDiagnosticsArray - ns=0;i=2027 */ + +static UA_StatusCode function_namespace0_generated_3181_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2027LU), +UA_NODEID_NUMERIC(ns[0], 2026LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2196LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3181_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2027LU) +); +} + +/* - ns=0;i=12097 */ + +static UA_StatusCode function_namespace0_generated_3182_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12097LU), +UA_NODEID_NUMERIC(ns[0], 2026LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 2029LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3182_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12097LU) +); +} + +/* SubscriptionDiagnosticsArray - ns=0;i=12152 */ + +static UA_StatusCode function_namespace0_generated_3183_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12152LU), +UA_NODEID_NUMERIC(ns[0], 12097LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2171LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3183_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12152LU) +); +} + +/* SessionSecurityDiagnostics - ns=0;i=12142 */ + +static UA_StatusCode function_namespace0_generated_3184_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 12097LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2244LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3184_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12142LU) +); +} + +/* ClientCertificate - ns=0;i=12151 */ + +static UA_StatusCode function_namespace0_generated_3185_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12151LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3185_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12151LU) +); +} + +/* SecurityPolicyUri - ns=0;i=12150 */ + +static UA_StatusCode function_namespace0_generated_3186_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12150LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3186_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12150LU) +); +} + +/* SecurityMode - ns=0;i=12149 */ + +static UA_StatusCode function_namespace0_generated_3187_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12149LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityMode"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3187_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12149LU) +); +} + +/* TransportProtocol - ns=0;i=12148 */ + +static UA_StatusCode function_namespace0_generated_3188_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12148LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3188_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12148LU) +); +} + +/* Encoding - ns=0;i=12147 */ + +static UA_StatusCode function_namespace0_generated_3189_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12147LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Encoding"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3189_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12147LU) +); +} + +/* AuthenticationMechanism - ns=0;i=12146 */ + +static UA_StatusCode function_namespace0_generated_3190_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12146LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3190_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12146LU) +); +} + +/* ClientUserIdHistory - ns=0;i=12145 */ + +static UA_StatusCode function_namespace0_generated_3191_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12145LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3191_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12145LU) +); +} + +/* ClientUserIdOfSession - ns=0;i=12144 */ + +static UA_StatusCode function_namespace0_generated_3192_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12144LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3192_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12144LU) +); +} + +/* SessionId - ns=0;i=12143 */ + +static UA_StatusCode function_namespace0_generated_3193_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12143LU), +UA_NODEID_NUMERIC(ns[0], 12142LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3193_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12143LU) +); +} + +/* SessionDiagnostics - ns=0;i=12098 */ + +static UA_StatusCode function_namespace0_generated_3194_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 12097LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2197LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3194_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12098LU) +); +} + +/* UnregisterNodesCount - ns=0;i=12141 */ + +static UA_StatusCode function_namespace0_generated_3195_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12141LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3195_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12141LU) +); +} + +/* RegisterNodesCount - ns=0;i=12140 */ + +static UA_StatusCode function_namespace0_generated_3196_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12140LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3196_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12140LU) +); +} + +/* QueryNextCount - ns=0;i=12139 */ + +static UA_StatusCode function_namespace0_generated_3197_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12139LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3197_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12139LU) +); +} + +/* QueryFirstCount - ns=0;i=12138 */ + +static UA_StatusCode function_namespace0_generated_3198_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12138LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3198_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12138LU) +); +} + +/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=12137 */ + +static UA_StatusCode function_namespace0_generated_3199_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12137LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3199_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12137LU) +); +} + +/* BrowseNextCount - ns=0;i=12136 */ + +static UA_StatusCode function_namespace0_generated_3200_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12136LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3200_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12136LU) +); +} + +/* BrowseCount - ns=0;i=12135 */ + +static UA_StatusCode function_namespace0_generated_3201_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12135LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrowseCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3201_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12135LU) +); +} + +/* DeleteReferencesCount - ns=0;i=12134 */ + +static UA_StatusCode function_namespace0_generated_3202_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12134LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3202_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12134LU) +); +} + +/* DeleteNodesCount - ns=0;i=12133 */ + +static UA_StatusCode function_namespace0_generated_3203_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12133LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3203_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12133LU) +); +} + +/* AddReferencesCount - ns=0;i=12132 */ + +static UA_StatusCode function_namespace0_generated_3204_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12132LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3204_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12132LU) +); +} + +/* AddNodesCount - ns=0;i=12131 */ + +static UA_StatusCode function_namespace0_generated_3205_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12131LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3205_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12131LU) +); +} + +/* DeleteSubscriptionsCount - ns=0;i=12130 */ + +static UA_StatusCode function_namespace0_generated_3206_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12130LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3206_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12130LU) +); +} + +/* TransferSubscriptionsCount - ns=0;i=12129 */ + +static UA_StatusCode function_namespace0_generated_3207_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12129LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3207_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12129LU) +); +} + +/* RepublishCount - ns=0;i=12128 */ + +static UA_StatusCode function_namespace0_generated_3208_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12128LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RepublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3208_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12128LU) +); +} + +/* PublishCount - ns=0;i=12127 */ + +static UA_StatusCode function_namespace0_generated_3209_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12127LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3209_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12127LU) +); +} + +/* SetPublishingModeCount - ns=0;i=12126 */ + +static UA_StatusCode function_namespace0_generated_3210_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12126LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3210_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12126LU) +); +} + +/* ModifySubscriptionCount - ns=0;i=12125 */ + +static UA_StatusCode function_namespace0_generated_3211_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12125LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3211_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12125LU) +); +} + +/* CreateSubscriptionCount - ns=0;i=12124 */ + +static UA_StatusCode function_namespace0_generated_3212_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12124LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3212_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12124LU) +); +} + +/* DeleteMonitoredItemsCount - ns=0;i=12123 */ + +static UA_StatusCode function_namespace0_generated_3213_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12123LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3213_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12123LU) +); +} + +/* SetTriggeringCount - ns=0;i=12122 */ + +static UA_StatusCode function_namespace0_generated_3214_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12122LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3214_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12122LU) +); +} + +/* SetMonitoringModeCount - ns=0;i=12121 */ + +static UA_StatusCode function_namespace0_generated_3215_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12121LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3215_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12121LU) +); +} + +/* ModifyMonitoredItemsCount - ns=0;i=12120 */ + +static UA_StatusCode function_namespace0_generated_3216_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12120LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3216_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12120LU) +); +} + +/* CreateMonitoredItemsCount - ns=0;i=12119 */ + +static UA_StatusCode function_namespace0_generated_3217_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12119LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3217_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12119LU) +); +} + +/* CallCount - ns=0;i=12118 */ + +static UA_StatusCode function_namespace0_generated_3218_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12118LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CallCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3218_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12118LU) +); +} + +/* HistoryUpdateCount - ns=0;i=12117 */ + +static UA_StatusCode function_namespace0_generated_3219_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12117LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3219_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12117LU) +); +} + +/* WriteCount - ns=0;i=12116 */ + +static UA_StatusCode function_namespace0_generated_3220_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12116LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriteCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3220_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12116LU) +); +} + +/* HistoryReadCount - ns=0;i=12115 */ + +static UA_StatusCode function_namespace0_generated_3221_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12115LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3221_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12115LU) +); +} + +/* ReadCount - ns=0;i=12114 */ + +static UA_StatusCode function_namespace0_generated_3222_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12114LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReadCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3222_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12114LU) +); +} + +/* UnauthorizedRequestCount - ns=0;i=12113 */ + +static UA_StatusCode function_namespace0_generated_3223_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12113LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3223_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12113LU) +); +} + +/* TotalRequestCount - ns=0;i=12112 */ + +static UA_StatusCode function_namespace0_generated_3224_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12112LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3224_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12112LU) +); +} + +/* CurrentPublishRequestsInQueue - ns=0;i=12111 */ + +static UA_StatusCode function_namespace0_generated_3225_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12111LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3225_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12111LU) +); +} + +/* CurrentMonitoredItemsCount - ns=0;i=12110 */ + +static UA_StatusCode function_namespace0_generated_3226_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12110LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3226_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12110LU) +); +} + +/* CurrentSubscriptionsCount - ns=0;i=12109 */ + +static UA_StatusCode function_namespace0_generated_3227_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12109LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3227_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12109LU) +); +} + +/* ClientLastContactTime - ns=0;i=12108 */ + +static UA_StatusCode function_namespace0_generated_3228_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12108LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3228_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12108LU) +); +} + +/* ClientConnectionTime - ns=0;i=12107 */ + +static UA_StatusCode function_namespace0_generated_3229_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12107LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3229_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12107LU) +); +} + +/* MaxResponseMessageSize - ns=0;i=12106 */ + +static UA_StatusCode function_namespace0_generated_3230_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12106LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3230_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12106LU) +); +} + +/* ActualSessionTimeout - ns=0;i=12105 */ + +static UA_StatusCode function_namespace0_generated_3231_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12105LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3231_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12105LU) +); +} + +/* LocaleIds - ns=0;i=12104 */ + +static UA_StatusCode function_namespace0_generated_3232_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12104LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIds"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3232_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12104LU) +); +} + +/* EndpointUrl - ns=0;i=12103 */ + +static UA_StatusCode function_namespace0_generated_3233_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12103LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3233_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12103LU) +); +} + +/* ServerUri - ns=0;i=12102 */ + +static UA_StatusCode function_namespace0_generated_3234_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12102LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3234_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12102LU) +); +} + +/* ClientDescription - ns=0;i=12101 */ + +static UA_StatusCode function_namespace0_generated_3235_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12101LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ClientDescription"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3235_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12101LU) +); +} + +/* SessionName - ns=0;i=12100 */ + +static UA_StatusCode function_namespace0_generated_3236_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12100LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3236_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12100LU) +); +} + +/* SessionId - ns=0;i=12099 */ + +static UA_StatusCode function_namespace0_generated_3237_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12099LU), +UA_NODEID_NUMERIC(ns[0], 12098LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionId"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3237_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12099LU) +); +} + +/* ServerDiagnosticsType - ns=0;i=2020 */ + +static UA_StatusCode function_namespace0_generated_3238_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2020LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3238_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2020LU) +); +} + +/* SessionsDiagnosticsSummary - ns=0;i=2744 */ + +static UA_StatusCode function_namespace0_generated_3239_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2744LU), +UA_NODEID_NUMERIC(ns[0], 2020LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummary"), +UA_NODEID_NUMERIC(ns[0], 2026LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3239_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2744LU) +); +} + +/* SessionSecurityDiagnosticsArray - ns=0;i=3130 */ + +static UA_StatusCode function_namespace0_generated_3240_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3130LU), +UA_NODEID_NUMERIC(ns[0], 2744LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2243LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3240_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3130LU) +); +} + +/* SessionDiagnosticsArray - ns=0;i=3129 */ + +static UA_StatusCode function_namespace0_generated_3241_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3129LU), +UA_NODEID_NUMERIC(ns[0], 2744LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2196LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3241_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3129LU) +); +} + +/* EnabledFlag - ns=0;i=2025 */ + +static UA_StatusCode function_namespace0_generated_3242_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 3; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledFlag"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2025LU), +UA_NODEID_NUMERIC(ns[0], 2020LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnabledFlag"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3242_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2025LU) +); +} + +/* SubscriptionDiagnosticsArray - ns=0;i=2023 */ + +static UA_StatusCode function_namespace0_generated_3243_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2023LU), +UA_NODEID_NUMERIC(ns[0], 2020LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2171LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3243_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2023LU) +); +} + +/* SamplingIntervalDiagnosticsArray - ns=0;i=2022 */ + +static UA_StatusCode function_namespace0_generated_3244_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2022LU), +UA_NODEID_NUMERIC(ns[0], 2020LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2164LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3244_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2022LU) +); +} + +/* ServerDiagnosticsSummary - ns=0;i=2021 */ + +static UA_StatusCode function_namespace0_generated_3245_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 2020LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummary"), +UA_NODEID_NUMERIC(ns[0], 2150LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3245_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2021LU) +); +} + +/* RejectedRequestsCount - ns=0;i=3128 */ + +static UA_StatusCode function_namespace0_generated_3246_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3128LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3246_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3128LU) +); +} + +/* SecurityRejectedRequestsCount - ns=0;i=3127 */ + +static UA_StatusCode function_namespace0_generated_3247_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3127LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3247_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3127LU) +); +} + +/* CumulatedSubscriptionCount - ns=0;i=3126 */ + +static UA_StatusCode function_namespace0_generated_3248_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3126LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3248_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3126LU) +); +} + +/* CurrentSubscriptionCount - ns=0;i=3125 */ + +static UA_StatusCode function_namespace0_generated_3249_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3125LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3249_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3125LU) +); +} + +/* PublishingIntervalCount - ns=0;i=3124 */ + +static UA_StatusCode function_namespace0_generated_3250_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3124LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3250_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3124LU) +); +} + +/* SessionAbortCount - ns=0;i=3122 */ + +static UA_StatusCode function_namespace0_generated_3251_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3122LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3251_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3122LU) +); +} + +/* SessionTimeoutCount - ns=0;i=3121 */ + +static UA_StatusCode function_namespace0_generated_3252_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3121LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3252_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3121LU) +); +} + +/* RejectedSessionCount - ns=0;i=3120 */ + +static UA_StatusCode function_namespace0_generated_3253_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3120LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3253_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3120LU) +); +} + +/* SecurityRejectedSessionCount - ns=0;i=3119 */ + +static UA_StatusCode function_namespace0_generated_3254_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3119LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3254_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3119LU) +); +} + +/* CumulatedSessionCount - ns=0;i=3118 */ + +static UA_StatusCode function_namespace0_generated_3255_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3118LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3255_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3118LU) +); +} + +/* CurrentSessionCount - ns=0;i=3117 */ + +static UA_StatusCode function_namespace0_generated_3256_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3117LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3256_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3117LU) +); +} + +/* ServerViewCount - ns=0;i=3116 */ + +static UA_StatusCode function_namespace0_generated_3257_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3116LU), +UA_NODEID_NUMERIC(ns[0], 2021LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3257_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3116LU) +); +} + +/* ServerCapabilitiesType - ns=0;i=2013 */ + +static UA_StatusCode function_namespace0_generated_3258_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilitiesType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerCapabilitiesType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3258_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2013LU) +); +} + +/* MaxMonitoredItemsQueueSize - ns=0;i=31770 */ + +static UA_StatusCode function_namespace0_generated_3259_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsQueueSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 31770LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsQueueSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3259_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31770LU) +); +} + +/* SoftwareCertificates - ns=0;i=3049 */ + +static UA_StatusCode function_namespace0_generated_3260_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareCertificates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3049LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareCertificates"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3260_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3049LU) +); +} + +/* AggregateFunctions - ns=0;i=2754 */ + +static UA_StatusCode function_namespace0_generated_3261_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2754LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3261_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2754LU) +); +} + +/* MaxHistoryContinuationPoints - ns=0;i=2734 */ + +static UA_StatusCode function_namespace0_generated_3262_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxHistoryContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2734LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxHistoryContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3262_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2734LU) +); +} + +/* MaxQueryContinuationPoints - ns=0;i=2733 */ + +static UA_StatusCode function_namespace0_generated_3263_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxQueryContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2733LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxQueryContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3263_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2733LU) +); +} + +/* MaxBrowseContinuationPoints - ns=0;i=2732 */ + +static UA_StatusCode function_namespace0_generated_3264_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxBrowseContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2732LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxBrowseContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3264_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2732LU) +); +} + +/* MaxMonitoredItemsPerSubscription - ns=0;i=24103 */ + +static UA_StatusCode function_namespace0_generated_3265_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerSubscription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24103LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerSubscription"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3265_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24103LU) +); +} + +/* ConformanceUnits - ns=0;i=24094 */ + +static UA_StatusCode function_namespace0_generated_3266_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConformanceUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24094LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConformanceUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3266_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24094LU) +); +} + +/* MaxWhereClauseParameters - ns=0;i=24093 */ + +static UA_StatusCode function_namespace0_generated_3267_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxWhereClauseParameters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24093LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxWhereClauseParameters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3267_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24093LU) +); +} + +/* MaxSelectClauseParameters - ns=0;i=24092 */ + +static UA_StatusCode function_namespace0_generated_3268_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSelectClauseParameters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24092LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSelectClauseParameters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3268_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24092LU) +); +} + +/* MaxSubscriptionsPerSession - ns=0;i=24091 */ + +static UA_StatusCode function_namespace0_generated_3269_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptionsPerSession"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24091LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSubscriptionsPerSession"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3269_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24091LU) +); +} + +/* MaxMonitoredItems - ns=0;i=24090 */ + +static UA_StatusCode function_namespace0_generated_3270_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItems"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24090LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItems"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3270_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24090LU) +); +} + +/* MaxSubscriptions - ns=0;i=24089 */ + +static UA_StatusCode function_namespace0_generated_3271_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24089LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSubscriptions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3271_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24089LU) +); +} + +/* MaxSessions - ns=0;i=24088 */ + +static UA_StatusCode function_namespace0_generated_3272_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSessions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24088LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSessions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3272_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24088LU) +); +} + +/* ModellingRules - ns=0;i=2019 */ + +static UA_StatusCode function_namespace0_generated_3273_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRules"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2019LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModellingRules"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3273_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2019LU) +); +} + +/* MinSupportedSampleRate - ns=0;i=2017 */ + +static UA_StatusCode function_namespace0_generated_3274_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MinSupportedSampleRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2017LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MinSupportedSampleRate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3274_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2017LU) +); +} + +/* LocaleIdArray - ns=0;i=2016 */ + +static UA_StatusCode function_namespace0_generated_3275_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIdArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2016LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIdArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3275_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2016LU) +); +} + +/* ServerProfileArray - ns=0;i=2014 */ + +static UA_StatusCode function_namespace0_generated_3276_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerProfileArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2014LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerProfileArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3276_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2014LU) +); +} + +/* RoleSet - ns=0;i=16295 */ + +static UA_StatusCode function_namespace0_generated_3277_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RoleSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16295LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RoleSet"), +UA_NODEID_NUMERIC(ns[0], 15607LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3277_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16295LU) +); +} + +/* RemoveRole - ns=0;i=16299 */ + +static UA_StatusCode function_namespace0_generated_3278_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveRole"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16299LU), +UA_NODEID_NUMERIC(ns[0], 16295LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveRole"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3278_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16299LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16300 */ + +static UA_StatusCode function_namespace0_generated_3279_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16300_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16300_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16300_variant_DataContents[0].name = UA_STRING("RoleNodeId"); +variablenode_ns_0_i_16300_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16300_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16300_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16300LU), +UA_NODEID_NUMERIC(ns[0], 16299LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3279_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16300LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddRole - ns=0;i=16296 */ + +static UA_StatusCode function_namespace0_generated_3280_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddRole"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16296LU), +UA_NODEID_NUMERIC(ns[0], 16295LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddRole"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3280_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16296LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16298 */ + +static UA_StatusCode function_namespace0_generated_3281_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16298_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16298_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16298_variant_DataContents[0].name = UA_STRING("RoleNodeId"); +variablenode_ns_0_i_16298_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16298_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16298_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16298LU), +UA_NODEID_NUMERIC(ns[0], 16296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3281_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16298LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16297 */ + +static UA_StatusCode function_namespace0_generated_3282_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16297_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16297_variant_DataContents[0].name = UA_STRING("RoleName"); +variablenode_ns_0_i_16297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16297_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16297_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16297_variant_DataContents[1].name = UA_STRING("NamespaceUri"); +variablenode_ns_0_i_16297_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16297_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16297_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16297LU), +UA_NODEID_NUMERIC(ns[0], 16296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3282_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16297LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* MaxByteStringLength - ns=0;i=12910 */ + +static UA_StatusCode function_namespace0_generated_3283_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12910LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3283_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12910LU) +); +} + +/* - ns=0;i=11562 */ + +static UA_StatusCode function_namespace0_generated_3284_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +/* DataType inherited */ +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +attr.displayName = UA_LOCALIZEDTEXT("", ""); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11562LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], ""), +UA_NODEID_NUMERIC(ns[0], 2137LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3284_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11562LU) +); +} + +/* OperationLimits - ns=0;i=11551 */ + +static UA_StatusCode function_namespace0_generated_3285_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OperationLimits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11551LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationLimits"), +UA_NODEID_NUMERIC(ns[0], 11564LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3285_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11551LU) +); +} + +/* MaxStringLength - ns=0;i=11550 */ + +static UA_StatusCode function_namespace0_generated_3286_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11550LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3286_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11550LU) +); +} + +/* MaxArrayLength - ns=0;i=11549 */ + +static UA_StatusCode function_namespace0_generated_3287_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxArrayLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11549LU), +UA_NODEID_NUMERIC(ns[0], 2013LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxArrayLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3287_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11549LU) +); +} + +/* ServerType - ns=0;i=2004 */ + +static UA_StatusCode function_namespace0_generated_3288_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ServerType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3288_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2004LU) +); +} + +/* Auditing - ns=0;i=2742 */ + +static UA_StatusCode function_namespace0_generated_3289_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Auditing"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2742LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Auditing"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3289_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2742LU) +); +} + +/* Server - ns=0;i=2253 */ + +static UA_StatusCode function_namespace0_generated_3290_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.eventNotifier = UA_EVENTNOTIFIER_SUBSCRIBE_TO_EVENT; +attr.displayName = UA_LOCALIZEDTEXT("", "Server"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 85LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "Server"), +UA_NODEID_NUMERIC(ns[0], 2004LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3290_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2253LU) +); +} + +/* DataSetClasses - ns=0;i=32405 */ + +static UA_StatusCode function_namespace0_generated_3291_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), +UA_NODEID_NUMERIC(ns[0], 14416LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3291_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32405LU) +); +} + +/* ConfigurationVersion - ns=0;i=32648 */ + +static UA_StatusCode function_namespace0_generated_3292_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32648LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3292_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32648LU) +); +} + +/* DefaultDatagramPublisherId - ns=0;i=32647 */ + +static UA_StatusCode function_namespace0_generated_3293_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultDatagramPublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32647LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultDatagramPublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3293_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32647LU) +); +} + +/* SupportedTransportProfiles - ns=0;i=32646 */ + +static UA_StatusCode function_namespace0_generated_3294_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedTransportProfiles"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32646LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedTransportProfiles"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3294_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32646LU) +); +} + +/* DataSetClasses - ns=0;i=32644 */ + +static UA_StatusCode function_namespace0_generated_3295_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32644LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3295_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32644LU) +); +} + +/* PubSubCapablities - ns=0;i=32633 */ + +static UA_StatusCode function_namespace0_generated_3296_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapablities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubCapablities"), +UA_NODEID_NUMERIC(ns[0], 23832LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3296_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32633LU) +); +} + +/* MaxFieldsPerDataSet - ns=0;i=32656 */ + +static UA_StatusCode function_namespace0_generated_3297_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32656LU), +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3297_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32656LU) +); +} + +/* MaxDataSetReaders - ns=0;i=32638 */ + +static UA_StatusCode function_namespace0_generated_3298_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32638LU), +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3298_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32638LU) +); +} + +/* MaxDataSetWriters - ns=0;i=32637 */ + +static UA_StatusCode function_namespace0_generated_3299_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32637LU), +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3299_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32637LU) +); +} + +/* MaxReaderGroups - ns=0;i=32636 */ + +static UA_StatusCode function_namespace0_generated_3300_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32636LU), +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3300_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32636LU) +); +} + +/* MaxWriterGroups - ns=0;i=32635 */ + +static UA_StatusCode function_namespace0_generated_3301_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32635LU), +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3301_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32635LU) +); +} + +/* MaxPubSubConnections - ns=0;i=32634 */ + +static UA_StatusCode function_namespace0_generated_3302_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32634LU), +UA_NODEID_NUMERIC(ns[0], 32633LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3302_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32634LU) +); +} + +/* Diagnostics - ns=0;i=32579 */ + +static UA_StatusCode function_namespace0_generated_3303_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19732LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3303_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32579LU) +); +} + +/* LiveValues - ns=0;i=32624 */ + +static UA_StatusCode function_namespace0_generated_3304_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32624LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3304_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32624LU) +); +} + +/* OperationalDataSetReaders - ns=0;i=32631 */ + +static UA_StatusCode function_namespace0_generated_3305_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32631LU), +UA_NODEID_NUMERIC(ns[0], 32624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3305_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32631LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32632 */ + +static UA_StatusCode function_namespace0_generated_3306_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32632_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32632_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32632_variant_DataContents); +*variablenode_ns_0_i_32632_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32632_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32632LU), +UA_NODEID_NUMERIC(ns[0], 32631LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32632_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3306_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32632LU) +); +} + +/* OperationalDataSetWriters - ns=0;i=32629 */ + +static UA_StatusCode function_namespace0_generated_3307_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32629LU), +UA_NODEID_NUMERIC(ns[0], 32624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3307_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32629LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32630 */ + +static UA_StatusCode function_namespace0_generated_3308_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32630_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32630_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32630_variant_DataContents); +*variablenode_ns_0_i_32630_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32630_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32630LU), +UA_NODEID_NUMERIC(ns[0], 32629LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32630_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3308_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32630LU) +); +} + +/* ConfiguredDataSetReaders - ns=0;i=32627 */ + +static UA_StatusCode function_namespace0_generated_3309_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32627LU), +UA_NODEID_NUMERIC(ns[0], 32624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3309_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32627LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32628 */ + +static UA_StatusCode function_namespace0_generated_3310_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32628_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32628_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32628_variant_DataContents); +*variablenode_ns_0_i_32628_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32628_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32628LU), +UA_NODEID_NUMERIC(ns[0], 32627LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32628_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3310_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32628LU) +); +} + +/* ConfiguredDataSetWriters - ns=0;i=32625 */ + +static UA_StatusCode function_namespace0_generated_3311_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32625LU), +UA_NODEID_NUMERIC(ns[0], 32624LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3311_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32625LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32626 */ + +static UA_StatusCode function_namespace0_generated_3312_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32626_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32626_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32626_variant_DataContents); +*variablenode_ns_0_i_32626_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32626_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32626LU), +UA_NODEID_NUMERIC(ns[0], 32625LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32626_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3312_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32626LU) +); +} + +/* Counters - ns=0;i=32593 */ + +static UA_StatusCode function_namespace0_generated_3313_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3313_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32593LU) +); +} + +/* StateDisabledByMethod - ns=0;i=32619 */ + +static UA_StatusCode function_namespace0_generated_3314_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32619LU), +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3314_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32619LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32622 */ + +static UA_StatusCode function_namespace0_generated_3315_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32622_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32622_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32622_variant_DataContents); +*variablenode_ns_0_i_32622_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32622_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32622LU), +UA_NODEID_NUMERIC(ns[0], 32619LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32622_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3315_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32622LU) +); +} + +/* Classification - ns=0;i=32621 */ + +static UA_StatusCode function_namespace0_generated_3316_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_32621_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32621_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32621_variant_DataContents); +*variablenode_ns_0_i_32621_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32621_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32621LU), +UA_NODEID_NUMERIC(ns[0], 32619LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32621_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3316_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32621LU) +); +} + +/* Active - ns=0;i=32620 */ + +static UA_StatusCode function_namespace0_generated_3317_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32620LU), +UA_NODEID_NUMERIC(ns[0], 32619LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3317_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32620LU) +); +} + +/* StatePausedByParent - ns=0;i=32614 */ + +static UA_StatusCode function_namespace0_generated_3318_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32614LU), +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3318_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32614LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32617 */ + +static UA_StatusCode function_namespace0_generated_3319_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32617_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32617_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32617_variant_DataContents); +*variablenode_ns_0_i_32617_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32617_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32617LU), +UA_NODEID_NUMERIC(ns[0], 32614LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32617_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3319_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32617LU) +); +} + +/* Classification - ns=0;i=32616 */ + +static UA_StatusCode function_namespace0_generated_3320_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_32616_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32616_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32616_variant_DataContents); +*variablenode_ns_0_i_32616_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32616_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32616LU), +UA_NODEID_NUMERIC(ns[0], 32614LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32616_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3320_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32616LU) +); +} + +/* Active - ns=0;i=32615 */ + +static UA_StatusCode function_namespace0_generated_3321_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32615LU), +UA_NODEID_NUMERIC(ns[0], 32614LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3321_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32615LU) +); +} + +/* StateOperationalFromError - ns=0;i=32609 */ + +static UA_StatusCode function_namespace0_generated_3322_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32609LU), +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3322_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32609LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32612 */ + +static UA_StatusCode function_namespace0_generated_3323_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32612_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32612_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32612_variant_DataContents); +*variablenode_ns_0_i_32612_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32612_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32612LU), +UA_NODEID_NUMERIC(ns[0], 32609LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32612_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3323_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32612LU) +); +} + +/* Classification - ns=0;i=32611 */ + +static UA_StatusCode function_namespace0_generated_3324_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_32611_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32611_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32611_variant_DataContents); +*variablenode_ns_0_i_32611_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32611_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32611LU), +UA_NODEID_NUMERIC(ns[0], 32609LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32611_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3324_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32611LU) +); +} + +/* Active - ns=0;i=32610 */ + +static UA_StatusCode function_namespace0_generated_3325_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32610LU), +UA_NODEID_NUMERIC(ns[0], 32609LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3325_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32610LU) +); +} + +/* StateOperationalByParent - ns=0;i=32604 */ + +static UA_StatusCode function_namespace0_generated_3326_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32604LU), +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3326_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32604LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32607 */ + +static UA_StatusCode function_namespace0_generated_3327_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32607_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32607_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32607_variant_DataContents); +*variablenode_ns_0_i_32607_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32607_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32607LU), +UA_NODEID_NUMERIC(ns[0], 32604LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32607_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3327_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32607LU) +); +} + +/* Classification - ns=0;i=32606 */ + +static UA_StatusCode function_namespace0_generated_3328_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_32606_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32606_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32606_variant_DataContents); +*variablenode_ns_0_i_32606_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32606_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32606LU), +UA_NODEID_NUMERIC(ns[0], 32604LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32606_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3328_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32606LU) +); +} + +/* Active - ns=0;i=32605 */ + +static UA_StatusCode function_namespace0_generated_3329_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32605LU), +UA_NODEID_NUMERIC(ns[0], 32604LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3329_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32605LU) +); +} + +/* StateOperationalByMethod - ns=0;i=32599 */ + +static UA_StatusCode function_namespace0_generated_3330_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32599LU), +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3330_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32599LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32602 */ + +static UA_StatusCode function_namespace0_generated_3331_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32602_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32602_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32602_variant_DataContents); +*variablenode_ns_0_i_32602_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32602_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32602LU), +UA_NODEID_NUMERIC(ns[0], 32599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32602_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3331_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32602LU) +); +} + +/* Classification - ns=0;i=32601 */ + +static UA_StatusCode function_namespace0_generated_3332_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_32601_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32601_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32601_variant_DataContents); +*variablenode_ns_0_i_32601_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32601_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32601LU), +UA_NODEID_NUMERIC(ns[0], 32599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32601_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3332_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32601LU) +); +} + +/* Active - ns=0;i=32600 */ + +static UA_StatusCode function_namespace0_generated_3333_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32600LU), +UA_NODEID_NUMERIC(ns[0], 32599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3333_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32600LU) +); +} + +/* StateError - ns=0;i=32594 */ + +static UA_StatusCode function_namespace0_generated_3334_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32594LU), +UA_NODEID_NUMERIC(ns[0], 32593LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3334_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32594LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32597 */ + +static UA_StatusCode function_namespace0_generated_3335_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_32597_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32597_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32597_variant_DataContents); +*variablenode_ns_0_i_32597_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32597_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32597LU), +UA_NODEID_NUMERIC(ns[0], 32594LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32597_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3335_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32597LU) +); +} + +/* Classification - ns=0;i=32596 */ + +static UA_StatusCode function_namespace0_generated_3336_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_32596_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_32596_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_32596_variant_DataContents); +*variablenode_ns_0_i_32596_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32596_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32596LU), +UA_NODEID_NUMERIC(ns[0], 32594LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_32596_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3336_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32596LU) +); +} + +/* Active - ns=0;i=32595 */ + +static UA_StatusCode function_namespace0_generated_3337_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32595LU), +UA_NODEID_NUMERIC(ns[0], 32594LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3337_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32595LU) +); +} + +/* SubError - ns=0;i=32592 */ + +static UA_StatusCode function_namespace0_generated_3338_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32592LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3338_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32592LU) +); +} + +/* Reset - ns=0;i=32591 */ + +static UA_StatusCode function_namespace0_generated_3339_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32591LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3339_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32591LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=32586 */ + +static UA_StatusCode function_namespace0_generated_3340_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32586LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3340_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32586LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32589 */ + +static UA_StatusCode function_namespace0_generated_3341_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32589LU), +UA_NODEID_NUMERIC(ns[0], 32586LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3341_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32589LU) +); +} + +/* Classification - ns=0;i=32588 */ + +static UA_StatusCode function_namespace0_generated_3342_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32588LU), +UA_NODEID_NUMERIC(ns[0], 32586LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3342_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32588LU) +); +} + +/* Active - ns=0;i=32587 */ + +static UA_StatusCode function_namespace0_generated_3343_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32587LU), +UA_NODEID_NUMERIC(ns[0], 32586LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3343_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32587LU) +); +} + +/* TotalInformation - ns=0;i=32581 */ + +static UA_StatusCode function_namespace0_generated_3344_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32581LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3344_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32581LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32584 */ + +static UA_StatusCode function_namespace0_generated_3345_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32584LU), +UA_NODEID_NUMERIC(ns[0], 32581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3345_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32584LU) +); +} + +/* Classification - ns=0;i=32583 */ + +static UA_StatusCode function_namespace0_generated_3346_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32583LU), +UA_NODEID_NUMERIC(ns[0], 32581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3346_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32583LU) +); +} + +/* Active - ns=0;i=32582 */ + +static UA_StatusCode function_namespace0_generated_3347_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32582LU), +UA_NODEID_NUMERIC(ns[0], 32581LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3347_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32582LU) +); +} + +/* DiagnosticsLevel - ns=0;i=32580 */ + +static UA_StatusCode function_namespace0_generated_3348_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32580LU), +UA_NODEID_NUMERIC(ns[0], 32579LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3348_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32580LU) +); +} + +/* Status - ns=0;i=32575 */ + +static UA_StatusCode function_namespace0_generated_3349_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32575LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3349_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32575LU) +); +} + +/* State - ns=0;i=32576 */ + +static UA_StatusCode function_namespace0_generated_3350_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32576LU), +UA_NODEID_NUMERIC(ns[0], 32575LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3350_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32576LU) +); +} + +/* PubSubConfiguration - ns=0;i=32546 */ + +static UA_StatusCode function_namespace0_generated_3351_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration"), +UA_NODEID_NUMERIC(ns[0], 25482LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3351_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32546LU) +); +} + +/* CloseAndUpdate - ns=0;i=32572 */ + +static UA_StatusCode function_namespace0_generated_3352_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32572LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3352_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32572LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32574 */ + +static UA_StatusCode function_namespace0_generated_3353_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32574_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_32574_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32574_variant_DataContents[0].name = UA_STRING("ChangesApplied"); +variablenode_ns_0_i_32574_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_32574_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32574_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32574_variant_DataContents[1].name = UA_STRING("ReferencesResults"); +variablenode_ns_0_i_32574_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_32574_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32574_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_32574_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_32574_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32574_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); +variablenode_ns_0_i_32574_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); +variablenode_ns_0_i_32574_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32574_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_32574_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_32574_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32574_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); +variablenode_ns_0_i_32574_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32574_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32574_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_32574_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32574_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32574LU), +UA_NODEID_NUMERIC(ns[0], 32572LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3353_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32574LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32573 */ + +static UA_StatusCode function_namespace0_generated_3354_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32573_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_32573_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32573_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32573_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32573_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32573_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32573_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); +variablenode_ns_0_i_32573_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_32573_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32573_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32573_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); +variablenode_ns_0_i_32573_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); +variablenode_ns_0_i_32573_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32573_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_32573_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32573_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32573LU), +UA_NODEID_NUMERIC(ns[0], 32572LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3354_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32573LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ReserveIds - ns=0;i=32569 */ + +static UA_StatusCode function_namespace0_generated_3355_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32569LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReserveIds"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3355_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32569LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32571 */ + +static UA_StatusCode function_namespace0_generated_3356_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32571_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_32571_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32571_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); +variablenode_ns_0_i_32571_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_32571_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32571_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32571_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); +variablenode_ns_0_i_32571_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_32571_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32571_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_32571_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_32571_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32571_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); +variablenode_ns_0_i_32571_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_32571_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32571_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_32571_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32571_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32571LU), +UA_NODEID_NUMERIC(ns[0], 32569LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3356_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32571LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32570 */ + +static UA_StatusCode function_namespace0_generated_3357_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32570_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_32570_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32570_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); +variablenode_ns_0_i_32570_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32570_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32570_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32570_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); +variablenode_ns_0_i_32570_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_32570_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32570_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32570_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); +variablenode_ns_0_i_32570_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_32570_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32570_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32570LU), +UA_NODEID_NUMERIC(ns[0], 32569LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3357_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32570LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetPosition - ns=0;i=32567 */ + +static UA_StatusCode function_namespace0_generated_3358_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32567LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3358_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32567LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32568 */ + +static UA_StatusCode function_namespace0_generated_3359_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32568_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_32568_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32568_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32568_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32568_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32568_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32568_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_32568_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_32568_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32568_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32568LU), +UA_NODEID_NUMERIC(ns[0], 32567LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3359_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32568LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=32564 */ + +static UA_StatusCode function_namespace0_generated_3360_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32564LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3360_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32564LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32566 */ + +static UA_StatusCode function_namespace0_generated_3361_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32566_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32566_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32566_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_32566_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_32566_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32566_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32566LU), +UA_NODEID_NUMERIC(ns[0], 32564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3361_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32566LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32565 */ + +static UA_StatusCode function_namespace0_generated_3362_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32565_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32565_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32565_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32565_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32565_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32565_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32565LU), +UA_NODEID_NUMERIC(ns[0], 32564LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3362_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32565LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=32562 */ + +static UA_StatusCode function_namespace0_generated_3363_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32562LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3363_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32562LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32563 */ + +static UA_StatusCode function_namespace0_generated_3364_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32563_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_32563_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32563_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32563_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32563_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32563_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32563_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_32563_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_32563_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32563_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32563LU), +UA_NODEID_NUMERIC(ns[0], 32562LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3364_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32563LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=32559 */ + +static UA_StatusCode function_namespace0_generated_3365_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32559LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3365_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32559LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32561 */ + +static UA_StatusCode function_namespace0_generated_3366_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32561_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32561_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32561_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_32561_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_32561_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32561_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32561LU), +UA_NODEID_NUMERIC(ns[0], 32559LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3366_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32561LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32560 */ + +static UA_StatusCode function_namespace0_generated_3367_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32560_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_32560_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32560_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32560_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32560_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32560_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32560_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_32560_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_32560_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32560_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32560LU), +UA_NODEID_NUMERIC(ns[0], 32559LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3367_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32560LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=32557 */ + +static UA_StatusCode function_namespace0_generated_3368_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32557LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3368_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32557LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32558 */ + +static UA_StatusCode function_namespace0_generated_3369_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32558_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32558_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32558_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32558_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32558_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32558_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32558LU), +UA_NODEID_NUMERIC(ns[0], 32557LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3369_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32558LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=32554 */ + +static UA_StatusCode function_namespace0_generated_3370_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32554LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3370_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32554LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32556 */ + +static UA_StatusCode function_namespace0_generated_3371_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32556_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32556_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32556_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_32556_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32556_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32556_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32556LU), +UA_NODEID_NUMERIC(ns[0], 32554LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3371_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32556LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32555 */ + +static UA_StatusCode function_namespace0_generated_3372_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32555_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32555_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32555_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_32555_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_32555_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32555_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32555LU), +UA_NODEID_NUMERIC(ns[0], 32554LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3372_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32555LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=32550 */ + +static UA_StatusCode function_namespace0_generated_3373_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32550LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3373_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32550LU) +); +} + +/* UserWritable - ns=0;i=32549 */ + +static UA_StatusCode function_namespace0_generated_3374_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32549LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3374_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32549LU) +); +} + +/* Writable - ns=0;i=32548 */ + +static UA_StatusCode function_namespace0_generated_3375_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32548LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3375_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32548LU) +); +} + +/* Size - ns=0;i=32547 */ + +static UA_StatusCode function_namespace0_generated_3376_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32547LU), +UA_NODEID_NUMERIC(ns[0], 32546LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3376_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32547LU) +); +} + +/* SubscribedDataSets - ns=0;i=32535 */ + +static UA_StatusCode function_namespace0_generated_3377_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32535LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSets"), +UA_NODEID_NUMERIC(ns[0], 23795LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3377_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32535LU) +); +} + +/* PublishedDataSets - ns=0;i=32515 */ + +static UA_StatusCode function_namespace0_generated_3378_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32515LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSets"), +UA_NODEID_NUMERIC(ns[0], 14477LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3378_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32515LU) +); +} + +/* RemoveConnection - ns=0;i=32513 */ + +static UA_StatusCode function_namespace0_generated_3379_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32513LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3379_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32513LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32514 */ + +static UA_StatusCode function_namespace0_generated_3380_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32514_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32514_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32514_variant_DataContents[0].name = UA_STRING("ConnectionId"); +variablenode_ns_0_i_32514_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32514_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32514_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32514LU), +UA_NODEID_NUMERIC(ns[0], 32513LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3380_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32514LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddConnection - ns=0;i=32510 */ + +static UA_StatusCode function_namespace0_generated_3381_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32510LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3381_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32510LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32512 */ + +static UA_StatusCode function_namespace0_generated_3382_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32512_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32512_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32512_variant_DataContents[0].name = UA_STRING("ConnectionId"); +variablenode_ns_0_i_32512_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32512_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32512_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32512LU), +UA_NODEID_NUMERIC(ns[0], 32510LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3382_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32512LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32511 */ + +static UA_StatusCode function_namespace0_generated_3383_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32511_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32511_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32511_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_32511_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15617LU); +variablenode_ns_0_i_32511_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32511_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32511LU), +UA_NODEID_NUMERIC(ns[0], 32510LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3383_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32511LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetSecurityKeys - ns=0;i=32508 */ + +static UA_StatusCode function_namespace0_generated_3384_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetSecurityKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32508LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetSecurityKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3384_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32508LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32509 */ + +static UA_StatusCode function_namespace0_generated_3385_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32509_variant_DataContents[7]; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_32509_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32509_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[1].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_32509_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32509_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[2].name = UA_STRING("CurrentTokenId"); +variablenode_ns_0_i_32509_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_32509_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[3].name = UA_STRING("CurrentKey"); +variablenode_ns_0_i_32509_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_32509_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[4].name = UA_STRING("FutureKeys"); +variablenode_ns_0_i_32509_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_32509_variant_DataContents[4].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32509_variant_DataContents[4].arrayDimensionsSize = 1; +variablenode_ns_0_i_32509_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[5].name = UA_STRING("TimeToNextKey"); +variablenode_ns_0_i_32509_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_32509_variant_DataContents[5].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32509_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32509_variant_DataContents[6].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_32509_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_32509_variant_DataContents[6].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32509_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32509LU), +UA_NODEID_NUMERIC(ns[0], 32508LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3385_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32509LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* KeyPushTargets - ns=0;i=32424 */ + +static UA_StatusCode function_namespace0_generated_3386_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyPushTargets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32424LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "KeyPushTargets"), +UA_NODEID_NUMERIC(ns[0], 25346LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3386_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32424LU) +); +} + +/* RemovePushTarget - ns=0;i=32428 */ + +static UA_StatusCode function_namespace0_generated_3387_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32428LU), +UA_NODEID_NUMERIC(ns[0], 32424LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3387_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32428LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32429 */ + +static UA_StatusCode function_namespace0_generated_3388_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32429_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32429_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32429_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_32429_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32429_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32429_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32429LU), +UA_NODEID_NUMERIC(ns[0], 32428LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3388_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32429LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTarget - ns=0;i=32425 */ + +static UA_StatusCode function_namespace0_generated_3389_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32425LU), +UA_NODEID_NUMERIC(ns[0], 32424LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3389_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32425LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32427 */ + +static UA_StatusCode function_namespace0_generated_3390_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32427_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32427_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32427_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_32427_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32427_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32427_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32427LU), +UA_NODEID_NUMERIC(ns[0], 32425LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3390_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32427LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32426 */ + +static UA_StatusCode function_namespace0_generated_3391_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32426_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_32426_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32426_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_32426_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32426_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32426_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32426_variant_DataContents[1].name = UA_STRING("EndpointUrl"); +variablenode_ns_0_i_32426_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32426_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32426_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32426_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_32426_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32426_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32426_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32426_variant_DataContents[3].name = UA_STRING("UserTokenType"); +variablenode_ns_0_i_32426_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +variablenode_ns_0_i_32426_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32426_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32426_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_32426_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_32426_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32426_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32426_variant_DataContents[5].name = UA_STRING("RetryInterval"); +variablenode_ns_0_i_32426_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_32426_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32426_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32426LU), +UA_NODEID_NUMERIC(ns[0], 32425LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3391_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32426LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SecurityGroups - ns=0;i=32412 */ + +static UA_StatusCode function_namespace0_generated_3392_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32412LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroups"), +UA_NODEID_NUMERIC(ns[0], 15452LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3392_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32412LU) +); +} + +/* RemoveSecurityGroup - ns=0;i=32416 */ + +static UA_StatusCode function_namespace0_generated_3393_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32416LU), +UA_NODEID_NUMERIC(ns[0], 32412LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3393_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32416LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32417 */ + +static UA_StatusCode function_namespace0_generated_3394_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32417_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32417_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32417_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_32417_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32417_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32417_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32417LU), +UA_NODEID_NUMERIC(ns[0], 32416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3394_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32417LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroup - ns=0;i=32413 */ + +static UA_StatusCode function_namespace0_generated_3395_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32413LU), +UA_NODEID_NUMERIC(ns[0], 32412LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3395_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32413LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32415 */ + +static UA_StatusCode function_namespace0_generated_3396_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32415_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_32415_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32415_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_32415_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32415_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32415_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32415_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_32415_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32415_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32415_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32415LU), +UA_NODEID_NUMERIC(ns[0], 32413LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3396_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32415LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32414 */ + +static UA_StatusCode function_namespace0_generated_3397_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32414_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_32414_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32414_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); +variablenode_ns_0_i_32414_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32414_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32414_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32414_variant_DataContents[1].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_32414_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_32414_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32414_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32414_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_32414_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32414_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32414_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32414_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); +variablenode_ns_0_i_32414_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32414_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32414_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32414_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); +variablenode_ns_0_i_32414_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32414_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32414_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32414LU), +UA_NODEID_NUMERIC(ns[0], 32413LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3397_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32414LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetSecurityGroup - ns=0;i=32409 */ + +static UA_StatusCode function_namespace0_generated_3398_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32409LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3398_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32409LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32411 */ + +static UA_StatusCode function_namespace0_generated_3399_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32411_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32411_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32411_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_32411_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_32411_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32411_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32411LU), +UA_NODEID_NUMERIC(ns[0], 32409LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3399_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32411LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32410 */ + +static UA_StatusCode function_namespace0_generated_3400_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32410_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_32410_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32410_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_32410_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32410_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32410_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32410LU), +UA_NODEID_NUMERIC(ns[0], 32409LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3400_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32410LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetSecurityKeys - ns=0;i=32406 */ + +static UA_StatusCode function_namespace0_generated_3401_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 32406LU), +UA_NODEID_NUMERIC(ns[0], 32405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetSecurityKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3401_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32406LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=32408 */ + +static UA_StatusCode function_namespace0_generated_3402_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32408_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_32408_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32408_variant_DataContents[0].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_32408_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32408_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32408_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32408_variant_DataContents[1].name = UA_STRING("FirstTokenId"); +variablenode_ns_0_i_32408_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_32408_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32408_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32408_variant_DataContents[2].name = UA_STRING("Keys"); +variablenode_ns_0_i_32408_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_32408_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_32408_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_32408_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_32408_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32408_variant_DataContents[3].name = UA_STRING("TimeToNextKey"); +variablenode_ns_0_i_32408_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_32408_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32408_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32408_variant_DataContents[4].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_32408_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_32408_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32408_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32408LU), +UA_NODEID_NUMERIC(ns[0], 32406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3402_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32408LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=32407 */ + +static UA_StatusCode function_namespace0_generated_3403_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_32407_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_32407_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32407_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_32407_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_32407_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32407_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32407_variant_DataContents[1].name = UA_STRING("StartingTokenId"); +variablenode_ns_0_i_32407_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_32407_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_32407_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_32407_variant_DataContents[2].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_32407_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_32407_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32407_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32407LU), +UA_NODEID_NUMERIC(ns[0], 32406LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3403_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32407LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Auditing - ns=0;i=2994 */ + +static UA_StatusCode function_namespace0_generated_3404_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Auditing"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2994LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Auditing"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3404_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2994LU) +); +} + +/* Resources - ns=0;i=24226 */ + +static UA_StatusCode function_namespace0_generated_3405_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Resources"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24226LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Resources"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3405_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24226LU) +); +} + +/* ProvisionableDevice - ns=0;i=29878 */ + +static UA_StatusCode function_namespace0_generated_3406_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ProvisionableDevice"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 29878LU), +UA_NODEID_NUMERIC(ns[0], 24226LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "ProvisionableDevice"), +UA_NODEID_NUMERIC(ns[0], 26871LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3406_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 29878LU) +); +} + +/* RequestTickets - ns=0;i=29880 */ + +static UA_StatusCode function_namespace0_generated_3407_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RequestTickets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 29880LU), +UA_NODEID_NUMERIC(ns[0], 29878LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RequestTickets"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3407_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 29880LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=29881 */ + +static UA_StatusCode function_namespace0_generated_3408_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_29881_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_29881_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_29881_variant_DataContents[0].name = UA_STRING("Tickets"); +variablenode_ns_0_i_29881_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 25726LU); +variablenode_ns_0_i_29881_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_29881_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_29881_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_29881_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 29881LU), +UA_NODEID_NUMERIC(ns[0], 29880LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3408_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 29881LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* IsSingleton - ns=0;i=29879 */ + +static UA_StatusCode function_namespace0_generated_3409_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "IsSingleton"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 29879LU), +UA_NODEID_NUMERIC(ns[0], 29878LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsSingleton"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3409_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 29879LU) +); +} + +/* Communication - ns=0;i=24227 */ + +static UA_StatusCode function_namespace0_generated_3410_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Communication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24227LU), +UA_NODEID_NUMERIC(ns[0], 24226LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "Communication"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3410_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24227LU) +); +} + +/* Streams - ns=0;i=24230 */ + +static UA_StatusCode function_namespace0_generated_3411_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Streams"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24230LU), +UA_NODEID_NUMERIC(ns[0], 24227LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "Streams"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3411_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24230LU) +); +} + +/* ListenerStreams - ns=0;i=24232 */ + +static UA_StatusCode function_namespace0_generated_3412_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ListenerStreams"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24232LU), +UA_NODEID_NUMERIC(ns[0], 24230LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "ListenerStreams"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3412_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24232LU) +); +} + +/* TalkerStreams - ns=0;i=24231 */ + +static UA_StatusCode function_namespace0_generated_3413_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TalkerStreams"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24231LU), +UA_NODEID_NUMERIC(ns[0], 24230LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "TalkerStreams"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3413_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24231LU) +); +} + +/* NetworkInterfaces - ns=0;i=24229 */ + +static UA_StatusCode function_namespace0_generated_3414_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterfaces"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24229LU), +UA_NODEID_NUMERIC(ns[0], 24227LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "NetworkInterfaces"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3414_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24229LU) +); +} + +/* MappingTables - ns=0;i=24228 */ + +static UA_StatusCode function_namespace0_generated_3415_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MappingTables"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24228LU), +UA_NODEID_NUMERIC(ns[0], 24227LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "MappingTables"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3415_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24228LU) +); +} + +/* ServerRedundancy - ns=0;i=2296 */ + +static UA_StatusCode function_namespace0_generated_3416_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerRedundancy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2296LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerRedundancy"), +UA_NODEID_NUMERIC(ns[0], 2034LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3416_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2296LU) +); +} + +/* RedundancySupport - ns=0;i=3709 */ + +static UA_StatusCode function_namespace0_generated_3417_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 851LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3709LU), +UA_NODEID_NUMERIC(ns[0], 2296LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3417_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3709LU) +); +} + +/* VendorServerInfo - ns=0;i=2295 */ + +static UA_StatusCode function_namespace0_generated_3418_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "VendorServerInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2295LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "VendorServerInfo"), +UA_NODEID_NUMERIC(ns[0], 2033LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3418_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2295LU) +); +} + +/* ServerDiagnostics - ns=0;i=2274 */ + +static UA_StatusCode function_namespace0_generated_3419_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2274LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2020LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3419_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2274LU) +); +} + +/* SessionsDiagnosticsSummary - ns=0;i=3706 */ + +static UA_StatusCode function_namespace0_generated_3420_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3706LU), +UA_NODEID_NUMERIC(ns[0], 2274LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummary"), +UA_NODEID_NUMERIC(ns[0], 2026LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3420_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3706LU) +); +} + +/* SessionSecurityDiagnosticsArray - ns=0;i=3708 */ + +static UA_StatusCode function_namespace0_generated_3421_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3708LU), +UA_NODEID_NUMERIC(ns[0], 3706LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2243LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3421_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3708LU) +); +} + +/* SessionDiagnosticsArray - ns=0;i=3707 */ + +static UA_StatusCode function_namespace0_generated_3422_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3707LU), +UA_NODEID_NUMERIC(ns[0], 3706LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2196LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3422_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3707LU) +); +} + +/* EnabledFlag - ns=0;i=2294 */ + +static UA_StatusCode function_namespace0_generated_3423_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 3; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledFlag"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2294LU), +UA_NODEID_NUMERIC(ns[0], 2274LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnabledFlag"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3423_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2294LU) +); +} + +/* SubscriptionDiagnosticsArray - ns=0;i=2290 */ + +static UA_StatusCode function_namespace0_generated_3424_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2290LU), +UA_NODEID_NUMERIC(ns[0], 2274LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2171LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3424_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2290LU) +); +} + +/* SamplingIntervalDiagnosticsArray - ns=0;i=2289 */ + +static UA_StatusCode function_namespace0_generated_3425_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2289LU), +UA_NODEID_NUMERIC(ns[0], 2274LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2164LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3425_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2289LU) +); +} + +/* ServerDiagnosticsSummary - ns=0;i=2275 */ + +static UA_StatusCode function_namespace0_generated_3426_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 2274LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummary"), +UA_NODEID_NUMERIC(ns[0], 2150LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3426_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2275LU) +); +} + +/* RejectedSessionCount - ns=0;i=3705 */ + +static UA_StatusCode function_namespace0_generated_3427_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3705LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3427_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3705LU) +); +} + +/* RejectedRequestsCount - ns=0;i=2288 */ + +static UA_StatusCode function_namespace0_generated_3428_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2288LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3428_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2288LU) +); +} + +/* SecurityRejectedRequestsCount - ns=0;i=2287 */ + +static UA_StatusCode function_namespace0_generated_3429_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2287LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3429_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2287LU) +); +} + +/* CumulatedSubscriptionCount - ns=0;i=2286 */ + +static UA_StatusCode function_namespace0_generated_3430_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2286LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3430_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2286LU) +); +} + +/* CurrentSubscriptionCount - ns=0;i=2285 */ + +static UA_StatusCode function_namespace0_generated_3431_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2285LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3431_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2285LU) +); +} + +/* PublishingIntervalCount - ns=0;i=2284 */ + +static UA_StatusCode function_namespace0_generated_3432_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2284LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3432_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2284LU) +); +} + +/* SessionAbortCount - ns=0;i=2282 */ + +static UA_StatusCode function_namespace0_generated_3433_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2282LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3433_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2282LU) +); +} + +/* SessionTimeoutCount - ns=0;i=2281 */ + +static UA_StatusCode function_namespace0_generated_3434_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2281LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3434_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2281LU) +); +} + +/* SecurityRejectedSessionCount - ns=0;i=2279 */ + +static UA_StatusCode function_namespace0_generated_3435_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2279LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3435_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2279LU) +); +} + +/* CumulatedSessionCount - ns=0;i=2278 */ + +static UA_StatusCode function_namespace0_generated_3436_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2278LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3436_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2278LU) +); +} + +/* CurrentSessionCount - ns=0;i=2277 */ + +static UA_StatusCode function_namespace0_generated_3437_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2277LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3437_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2277LU) +); +} + +/* ServerViewCount - ns=0;i=2276 */ + +static UA_StatusCode function_namespace0_generated_3438_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2276LU), +UA_NODEID_NUMERIC(ns[0], 2275LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3438_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2276LU) +); +} + +/* ServerCapabilities - ns=0;i=2268 */ + +static UA_StatusCode function_namespace0_generated_3439_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), +UA_NODEID_NUMERIC(ns[0], 2013LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3439_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2268LU) +); +} + +/* SoftwareCertificates - ns=0;i=3704 */ + +static UA_StatusCode function_namespace0_generated_3440_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareCertificates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3704LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareCertificates"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3440_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3704LU) +); +} + +/* MaxMonitoredItemsQueueSize - ns=0;i=31916 */ + +static UA_StatusCode function_namespace0_generated_3441_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsQueueSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 31916LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsQueueSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3441_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 31916LU) +); +} + +/* AggregateFunctions - ns=0;i=2997 */ + +static UA_StatusCode function_namespace0_generated_3442_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2997LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3442_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2997LU) +); +} + +/* ModellingRules - ns=0;i=2996 */ + +static UA_StatusCode function_namespace0_generated_3443_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRules"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2996LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModellingRules"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3443_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2996LU) +); +} + +/* MaxHistoryContinuationPoints - ns=0;i=2737 */ + +static UA_StatusCode function_namespace0_generated_3444_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxHistoryContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2737LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxHistoryContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3444_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2737LU) +); +} + +/* MaxQueryContinuationPoints - ns=0;i=2736 */ + +static UA_StatusCode function_namespace0_generated_3445_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxQueryContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2736LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxQueryContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3445_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2736LU) +); +} + +/* MaxBrowseContinuationPoints - ns=0;i=2735 */ + +static UA_StatusCode function_namespace0_generated_3446_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxBrowseContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2735LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxBrowseContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3446_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2735LU) +); +} + +/* MaxMonitoredItemsPerSubscription - ns=0;i=24104 */ + +static UA_StatusCode function_namespace0_generated_3447_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerSubscription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24104LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerSubscription"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3447_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24104LU) +); +} + +/* ConformanceUnits - ns=0;i=24101 */ + +static UA_StatusCode function_namespace0_generated_3448_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConformanceUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24101LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConformanceUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3448_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24101LU) +); +} + +/* MaxWhereClauseParameters - ns=0;i=24100 */ + +static UA_StatusCode function_namespace0_generated_3449_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxWhereClauseParameters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24100LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxWhereClauseParameters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3449_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24100LU) +); +} + +/* MaxSelectClauseParameters - ns=0;i=24099 */ + +static UA_StatusCode function_namespace0_generated_3450_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSelectClauseParameters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24099LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSelectClauseParameters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3450_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24099LU) +); +} + +/* MaxSubscriptionsPerSession - ns=0;i=24098 */ + +static UA_StatusCode function_namespace0_generated_3451_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptionsPerSession"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24098LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSubscriptionsPerSession"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3451_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24098LU) +); +} + +/* MaxMonitoredItems - ns=0;i=24097 */ + +static UA_StatusCode function_namespace0_generated_3452_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItems"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24097LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItems"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3452_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24097LU) +); +} + +/* MaxSubscriptions - ns=0;i=24096 */ + +static UA_StatusCode function_namespace0_generated_3453_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24096LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSubscriptions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3453_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24096LU) +); +} + +/* MaxSessions - ns=0;i=24095 */ + +static UA_StatusCode function_namespace0_generated_3454_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxSessions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24095LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxSessions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3454_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24095LU) +); +} + +/* MinSupportedSampleRate - ns=0;i=2272 */ + +static UA_StatusCode function_namespace0_generated_3455_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MinSupportedSampleRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2272LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MinSupportedSampleRate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3455_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2272LU) +); +} + +/* LocaleIdArray - ns=0;i=2271 */ + +static UA_StatusCode function_namespace0_generated_3456_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIdArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2271LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIdArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3456_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2271LU) +); +} + +/* ServerProfileArray - ns=0;i=2269 */ + +static UA_StatusCode function_namespace0_generated_3457_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerProfileArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2269LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerProfileArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3457_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2269LU) +); +} + +/* RoleSet - ns=0;i=15606 */ + +static UA_StatusCode function_namespace0_generated_3458_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "RoleSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RoleSet"), +UA_NODEID_NUMERIC(ns[0], 15607LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3458_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15606LU) +); +} + +/* SecurityKeyServerAccess - ns=0;i=25603 */ + +static UA_StatusCode function_namespace0_generated_3459_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServerAccess"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "\n This Role allows a PubSub Application to access an SKS to pull keys. It is the default Role for pull but it is expected that different custom Roles are used for different SecurityGroups.\n"); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityKeyServerAccess"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3459_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25603LU) +); +} + +/* RemoveEndpoint - ns=0;i=25620 */ + +static UA_StatusCode function_namespace0_generated_3460_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25620LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3460_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25620LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25621 */ + +static UA_StatusCode function_namespace0_generated_3461_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25621_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25621_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25621_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_25621_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_25621_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25621_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25621LU), +UA_NODEID_NUMERIC(ns[0], 25620LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3461_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25621LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=25618 */ + +static UA_StatusCode function_namespace0_generated_3462_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25618LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3462_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25618LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25619 */ + +static UA_StatusCode function_namespace0_generated_3463_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25619_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25619_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25619_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_25619_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_25619_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25619_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25619LU), +UA_NODEID_NUMERIC(ns[0], 25618LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3463_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25619LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=25616 */ + +static UA_StatusCode function_namespace0_generated_3464_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25616LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3464_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25616LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25617 */ + +static UA_StatusCode function_namespace0_generated_3465_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25617_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25617_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25617_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25617_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25617_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25617_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25617LU), +UA_NODEID_NUMERIC(ns[0], 25616LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3465_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25617LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=25614 */ + +static UA_StatusCode function_namespace0_generated_3466_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25614LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3466_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25614LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25615 */ + +static UA_StatusCode function_namespace0_generated_3467_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25615_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25615_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25615_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25615_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25615_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25615_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25615LU), +UA_NODEID_NUMERIC(ns[0], 25614LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3467_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25615LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveIdentity - ns=0;i=25612 */ + +static UA_StatusCode function_namespace0_generated_3468_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25612LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3468_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25612LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25613 */ + +static UA_StatusCode function_namespace0_generated_3469_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25613_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25613_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25613_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_25613_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_25613_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25613_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25613LU), +UA_NODEID_NUMERIC(ns[0], 25612LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3469_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25613LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=25610 */ + +static UA_StatusCode function_namespace0_generated_3470_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25610LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3470_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25610LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25611 */ + +static UA_StatusCode function_namespace0_generated_3471_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25611_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25611_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25611_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_25611_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_25611_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25611_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25611LU), +UA_NODEID_NUMERIC(ns[0], 25610LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3471_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25611LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CustomConfiguration - ns=0;i=25609 */ + +static UA_StatusCode function_namespace0_generated_3472_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25609LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3472_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25609LU) +); +} + +/* Endpoints - ns=0;i=25608 */ + +static UA_StatusCode function_namespace0_generated_3473_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25608LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3473_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25608LU) +); +} + +/* EndpointsExclude - ns=0;i=25607 */ + +static UA_StatusCode function_namespace0_generated_3474_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25607LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3474_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25607LU) +); +} + +/* Applications - ns=0;i=25606 */ + +static UA_StatusCode function_namespace0_generated_3475_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25606LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3475_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25606LU) +); +} + +/* ApplicationsExclude - ns=0;i=25605 */ + +static UA_StatusCode function_namespace0_generated_3476_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25605LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3476_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25605LU) +); +} + +/* Identities - ns=0;i=25604 */ + +static UA_StatusCode function_namespace0_generated_3477_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25604LU), +UA_NODEID_NUMERIC(ns[0], 25603LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3477_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25604LU) +); +} + +/* SecurityKeyServerPush - ns=0;i=25584 */ + +static UA_StatusCode function_namespace0_generated_3478_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServerPush"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "\n This Role allows an SKS to push security keys to PubSub Applications. This includes executing methods related to PubSub security.\n"); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityKeyServerPush"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3478_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25584LU) +); +} + +/* RemoveEndpoint - ns=0;i=25601 */ + +static UA_StatusCode function_namespace0_generated_3479_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25601LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3479_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25601LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25602 */ + +static UA_StatusCode function_namespace0_generated_3480_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25602_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25602_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25602_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_25602_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_25602_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25602_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25602LU), +UA_NODEID_NUMERIC(ns[0], 25601LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3480_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25602LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=25599 */ + +static UA_StatusCode function_namespace0_generated_3481_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25599LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3481_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25599LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25600 */ + +static UA_StatusCode function_namespace0_generated_3482_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25600_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25600_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25600_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_25600_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_25600_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25600_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25600LU), +UA_NODEID_NUMERIC(ns[0], 25599LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3482_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25600LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=25597 */ + +static UA_StatusCode function_namespace0_generated_3483_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25597LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3483_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25597LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25598 */ + +static UA_StatusCode function_namespace0_generated_3484_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25598_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25598_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25598_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25598_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25598_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25598_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25598LU), +UA_NODEID_NUMERIC(ns[0], 25597LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3484_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25598LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=25595 */ + +static UA_StatusCode function_namespace0_generated_3485_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25595LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3485_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25595LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25596 */ + +static UA_StatusCode function_namespace0_generated_3486_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25596_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25596_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25596_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25596_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25596_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25596_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25596LU), +UA_NODEID_NUMERIC(ns[0], 25595LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3486_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25596LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveIdentity - ns=0;i=25593 */ + +static UA_StatusCode function_namespace0_generated_3487_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25593LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3487_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25593LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25594 */ + +static UA_StatusCode function_namespace0_generated_3488_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25594_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25594_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25594_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_25594_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_25594_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25594_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25594LU), +UA_NODEID_NUMERIC(ns[0], 25593LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3488_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25594LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=25591 */ + +static UA_StatusCode function_namespace0_generated_3489_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25591LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3489_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25591LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25592 */ + +static UA_StatusCode function_namespace0_generated_3490_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25592_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25592_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25592_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_25592_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_25592_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25592_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25592LU), +UA_NODEID_NUMERIC(ns[0], 25591LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3490_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25592LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CustomConfiguration - ns=0;i=25590 */ + +static UA_StatusCode function_namespace0_generated_3491_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25590LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3491_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25590LU) +); +} + +/* Endpoints - ns=0;i=25589 */ + +static UA_StatusCode function_namespace0_generated_3492_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25589LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3492_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25589LU) +); +} + +/* EndpointsExclude - ns=0;i=25588 */ + +static UA_StatusCode function_namespace0_generated_3493_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25588LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3493_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25588LU) +); +} + +/* Applications - ns=0;i=25587 */ + +static UA_StatusCode function_namespace0_generated_3494_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25587LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3494_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25587LU) +); +} + +/* ApplicationsExclude - ns=0;i=25586 */ + +static UA_StatusCode function_namespace0_generated_3495_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25586LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3495_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25586LU) +); +} + +/* Identities - ns=0;i=25585 */ + +static UA_StatusCode function_namespace0_generated_3496_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25585LU), +UA_NODEID_NUMERIC(ns[0], 25584LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3496_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25585LU) +); +} + +/* SecurityKeyServerAdmin - ns=0;i=25565 */ + +static UA_StatusCode function_namespace0_generated_3497_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServerAdmin"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "This Role allows an administrator to manage SecurityGroups and PushTargets on a SKS. This includes executing methods related to management of SecurityGroups and PushTargets on an SKS."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityKeyServerAdmin"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3497_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25565LU) +); +} + +/* RemoveEndpoint - ns=0;i=25582 */ + +static UA_StatusCode function_namespace0_generated_3498_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25582LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3498_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25582LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25583 */ + +static UA_StatusCode function_namespace0_generated_3499_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25583_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25583_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25583_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_25583_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_25583_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25583_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25583LU), +UA_NODEID_NUMERIC(ns[0], 25582LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3499_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25583LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=25580 */ + +static UA_StatusCode function_namespace0_generated_3500_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25580LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3500_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25580LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25581 */ + +static UA_StatusCode function_namespace0_generated_3501_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25581_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25581_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25581_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_25581_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_25581_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25581_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25581LU), +UA_NODEID_NUMERIC(ns[0], 25580LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3501_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25581LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=25578 */ + +static UA_StatusCode function_namespace0_generated_3502_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25578LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3502_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25578LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25579 */ + +static UA_StatusCode function_namespace0_generated_3503_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25579_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25579_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25579_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25579_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25579_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25579_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25579LU), +UA_NODEID_NUMERIC(ns[0], 25578LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3503_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25579LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=25576 */ + +static UA_StatusCode function_namespace0_generated_3504_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25576LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3504_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25576LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25577 */ + +static UA_StatusCode function_namespace0_generated_3505_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25577_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25577_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25577_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25577_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25577_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25577_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25577LU), +UA_NODEID_NUMERIC(ns[0], 25576LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3505_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25577LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveIdentity - ns=0;i=25574 */ + +static UA_StatusCode function_namespace0_generated_3506_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25574LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3506_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25574LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25575 */ + +static UA_StatusCode function_namespace0_generated_3507_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25575_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25575_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25575_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_25575_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_25575_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25575_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25575LU), +UA_NODEID_NUMERIC(ns[0], 25574LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3507_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25575LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=25572 */ + +static UA_StatusCode function_namespace0_generated_3508_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25572LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3508_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25572LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25573 */ + +static UA_StatusCode function_namespace0_generated_3509_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25573_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25573_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25573_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_25573_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_25573_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25573_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25573LU), +UA_NODEID_NUMERIC(ns[0], 25572LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3509_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25573LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CustomConfiguration - ns=0;i=25571 */ + +static UA_StatusCode function_namespace0_generated_3510_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25571LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3510_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25571LU) +); +} + +/* Endpoints - ns=0;i=25570 */ + +static UA_StatusCode function_namespace0_generated_3511_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25570LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3511_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25570LU) +); +} + +/* EndpointsExclude - ns=0;i=25569 */ + +static UA_StatusCode function_namespace0_generated_3512_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25569LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3512_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25569LU) +); +} + +/* Applications - ns=0;i=25568 */ + +static UA_StatusCode function_namespace0_generated_3513_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25568LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3513_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25568LU) +); +} + +/* ApplicationsExclude - ns=0;i=25567 */ + +static UA_StatusCode function_namespace0_generated_3514_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25567LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3514_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25567LU) +); +} + +/* Identities - ns=0;i=25566 */ + +static UA_StatusCode function_namespace0_generated_3515_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25566LU), +UA_NODEID_NUMERIC(ns[0], 25565LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3515_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25566LU) +); +} + +/* RemoveRole - ns=0;i=16304 */ + +static UA_StatusCode function_namespace0_generated_3516_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveRole"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16304LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveRole"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3516_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16304LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16305 */ + +static UA_StatusCode function_namespace0_generated_3517_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16305_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16305_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16305_variant_DataContents[0].name = UA_STRING("RoleNodeId"); +variablenode_ns_0_i_16305_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16305_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16305_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16305LU), +UA_NODEID_NUMERIC(ns[0], 16304LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3517_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16305LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddRole - ns=0;i=16301 */ + +static UA_StatusCode function_namespace0_generated_3518_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddRole"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16301LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddRole"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3518_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16301LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=16303 */ + +static UA_StatusCode function_namespace0_generated_3519_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16303_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16303_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16303_variant_DataContents[0].name = UA_STRING("RoleNodeId"); +variablenode_ns_0_i_16303_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_16303_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16303_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16303LU), +UA_NODEID_NUMERIC(ns[0], 16301LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3519_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16303LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16302 */ + +static UA_StatusCode function_namespace0_generated_3520_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16302_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_16302_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16302_variant_DataContents[0].name = UA_STRING("RoleName"); +variablenode_ns_0_i_16302_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16302_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_16302_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16302_variant_DataContents[1].name = UA_STRING("NamespaceUri"); +variablenode_ns_0_i_16302_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16302_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16302_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16302LU), +UA_NODEID_NUMERIC(ns[0], 16301LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3520_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16302LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Engineer - ns=0;i=16036 */ + +static UA_StatusCode function_namespace0_generated_3521_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Engineer"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.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."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Engineer"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3521_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16036LU) +); +} + +/* CustomConfiguration - ns=0;i=24144 */ + +static UA_StatusCode function_namespace0_generated_3522_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24144LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3522_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24144LU) +); +} + +/* RemoveEndpoint - ns=0;i=16245 */ + +static UA_StatusCode function_namespace0_generated_3523_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16245LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3523_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16245LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16246 */ + +static UA_StatusCode function_namespace0_generated_3524_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16246_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16246_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16246_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16246_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16246_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16246_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16246LU), +UA_NODEID_NUMERIC(ns[0], 16245LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3524_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16246LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16243 */ + +static UA_StatusCode function_namespace0_generated_3525_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16243LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3525_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16243LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16244 */ + +static UA_StatusCode function_namespace0_generated_3526_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16244_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16244_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16244_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16244_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16244_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16244_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16244LU), +UA_NODEID_NUMERIC(ns[0], 16243LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3526_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16244LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16241 */ + +static UA_StatusCode function_namespace0_generated_3527_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16241LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3527_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16241LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16242 */ + +static UA_StatusCode function_namespace0_generated_3528_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16242_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16242_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16242_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16242_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16242_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16242_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16242LU), +UA_NODEID_NUMERIC(ns[0], 16241LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3528_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16242LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16239 */ + +static UA_StatusCode function_namespace0_generated_3529_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16239LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3529_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16239LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16240 */ + +static UA_StatusCode function_namespace0_generated_3530_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16240_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16240_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16240_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16240_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16240_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16240_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16240LU), +UA_NODEID_NUMERIC(ns[0], 16239LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3530_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16240LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16238 */ + +static UA_StatusCode function_namespace0_generated_3531_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16238LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3531_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16238LU) +); +} + +/* Applications - ns=0;i=16237 */ + +static UA_StatusCode function_namespace0_generated_3532_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16237LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3532_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16237LU) +); +} + +/* Identities - ns=0;i=16236 */ + +static UA_StatusCode function_namespace0_generated_3533_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16236LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3533_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16236LU) +); +} + +/* RemoveIdentity - ns=0;i=16043 */ + +static UA_StatusCode function_namespace0_generated_3534_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16043LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3534_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16043LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16044 */ + +static UA_StatusCode function_namespace0_generated_3535_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16044_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16044_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16044_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_16044_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_16044_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16044_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16044LU), +UA_NODEID_NUMERIC(ns[0], 16043LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3535_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16044LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=16041 */ + +static UA_StatusCode function_namespace0_generated_3536_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16041LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3536_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16041LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16042 */ + +static UA_StatusCode function_namespace0_generated_3537_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16042_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16042_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16042_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_16042_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_16042_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16042_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16042LU), +UA_NODEID_NUMERIC(ns[0], 16041LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3537_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16042LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15425 */ + +static UA_StatusCode function_namespace0_generated_3538_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15425LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3538_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15425LU) +); +} + +/* ApplicationsExclude - ns=0;i=15424 */ + +static UA_StatusCode function_namespace0_generated_3539_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15424LU), +UA_NODEID_NUMERIC(ns[0], 16036LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3539_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15424LU) +); +} + +/* ConfigureAdmin - ns=0;i=15716 */ + +static UA_StatusCode function_namespace0_generated_3540_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigureAdmin"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to change the non-security related configuration settings."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfigureAdmin"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3540_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15716LU) +); +} + +/* CustomConfiguration - ns=0;i=24146 */ + +static UA_StatusCode function_namespace0_generated_3541_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24146LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3541_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24146LU) +); +} + +/* RemoveEndpoint - ns=0;i=16278 */ + +static UA_StatusCode function_namespace0_generated_3542_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16278LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3542_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16278LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16279 */ + +static UA_StatusCode function_namespace0_generated_3543_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16279_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16279_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16279_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16279_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16279_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16279_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16279LU), +UA_NODEID_NUMERIC(ns[0], 16278LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3543_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16279LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16276 */ + +static UA_StatusCode function_namespace0_generated_3544_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16276LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3544_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16276LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16277 */ + +static UA_StatusCode function_namespace0_generated_3545_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16277_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16277_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16277_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16277_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16277_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16277_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16277LU), +UA_NODEID_NUMERIC(ns[0], 16276LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3545_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16277LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16274 */ + +static UA_StatusCode function_namespace0_generated_3546_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16274LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3546_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16274LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16275 */ + +static UA_StatusCode function_namespace0_generated_3547_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16275_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16275_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16275_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16275_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16275_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16275_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16275LU), +UA_NODEID_NUMERIC(ns[0], 16274LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3547_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16275LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16272 */ + +static UA_StatusCode function_namespace0_generated_3548_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16272LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3548_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16272LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16273 */ + +static UA_StatusCode function_namespace0_generated_3549_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16273_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16273_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16273_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16273_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16273_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16273_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16273LU), +UA_NODEID_NUMERIC(ns[0], 16272LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3549_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16273LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16271 */ + +static UA_StatusCode function_namespace0_generated_3550_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16271LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3550_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16271LU) +); +} + +/* Applications - ns=0;i=16270 */ + +static UA_StatusCode function_namespace0_generated_3551_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16270LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3551_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16270LU) +); +} + +/* Identities - ns=0;i=16269 */ + +static UA_StatusCode function_namespace0_generated_3552_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16269LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3552_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16269LU) +); +} + +/* RemoveIdentity - ns=0;i=15722 */ + +static UA_StatusCode function_namespace0_generated_3553_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15722LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3553_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15722LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15723 */ + +static UA_StatusCode function_namespace0_generated_3554_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15723_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15723_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15723_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15723_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15723_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15723_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15723LU), +UA_NODEID_NUMERIC(ns[0], 15722LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3554_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15723LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15720 */ + +static UA_StatusCode function_namespace0_generated_3555_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15720LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3555_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15720LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15721 */ + +static UA_StatusCode function_namespace0_generated_3556_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15721_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15721_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15721_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15721_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15721_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15721_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15721LU), +UA_NODEID_NUMERIC(ns[0], 15720LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3556_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15721LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15429 */ + +static UA_StatusCode function_namespace0_generated_3557_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15429LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3557_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15429LU) +); +} + +/* ApplicationsExclude - ns=0;i=15428 */ + +static UA_StatusCode function_namespace0_generated_3558_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15428LU), +UA_NODEID_NUMERIC(ns[0], 15716LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3558_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15428LU) +); +} + +/* SecurityAdmin - ns=0;i=15704 */ + +static UA_StatusCode function_namespace0_generated_3559_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityAdmin"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to change security related settings."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityAdmin"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3559_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15704LU) +); +} + +/* CustomConfiguration - ns=0;i=24147 */ + +static UA_StatusCode function_namespace0_generated_3560_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24147LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3560_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24147LU) +); +} + +/* RemoveEndpoint - ns=0;i=16267 */ + +static UA_StatusCode function_namespace0_generated_3561_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16267LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3561_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16267LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16268 */ + +static UA_StatusCode function_namespace0_generated_3562_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16268_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16268_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16268_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16268_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16268_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16268_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16268LU), +UA_NODEID_NUMERIC(ns[0], 16267LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3562_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16268LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16265 */ + +static UA_StatusCode function_namespace0_generated_3563_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16265LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3563_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16265LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16266 */ + +static UA_StatusCode function_namespace0_generated_3564_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16266_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16266_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16266_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16266_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16266_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16266_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16266LU), +UA_NODEID_NUMERIC(ns[0], 16265LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3564_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16266LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16263 */ + +static UA_StatusCode function_namespace0_generated_3565_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16263LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3565_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16263LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16264 */ + +static UA_StatusCode function_namespace0_generated_3566_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16264_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16264_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16264_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16264_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16264_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16264_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16264LU), +UA_NODEID_NUMERIC(ns[0], 16263LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3566_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16264LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16261 */ + +static UA_StatusCode function_namespace0_generated_3567_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16261LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3567_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16261LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16262 */ + +static UA_StatusCode function_namespace0_generated_3568_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16262_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16262_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16262_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16262_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16262_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16262_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16262LU), +UA_NODEID_NUMERIC(ns[0], 16261LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3568_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16262LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16260 */ + +static UA_StatusCode function_namespace0_generated_3569_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16260LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3569_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16260LU) +); +} + +/* Applications - ns=0;i=16259 */ + +static UA_StatusCode function_namespace0_generated_3570_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16259LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3570_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16259LU) +); +} + +/* Identities - ns=0;i=16258 */ + +static UA_StatusCode function_namespace0_generated_3571_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16258LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3571_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16258LU) +); +} + +/* RemoveIdentity - ns=0;i=15710 */ + +static UA_StatusCode function_namespace0_generated_3572_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15710LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3572_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15710LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15711 */ + +static UA_StatusCode function_namespace0_generated_3573_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15711_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15711_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15711_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15711_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15711_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15711_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15711LU), +UA_NODEID_NUMERIC(ns[0], 15710LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3573_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15711LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15708 */ + +static UA_StatusCode function_namespace0_generated_3574_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15708LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3574_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15708LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15709 */ + +static UA_StatusCode function_namespace0_generated_3575_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15709_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15709_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15709_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15709_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15709_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15709_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15709LU), +UA_NODEID_NUMERIC(ns[0], 15708LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3575_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15709LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15527 */ + +static UA_StatusCode function_namespace0_generated_3576_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15527LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3576_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15527LU) +); +} + +/* ApplicationsExclude - ns=0;i=15430 */ + +static UA_StatusCode function_namespace0_generated_3577_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15430LU), +UA_NODEID_NUMERIC(ns[0], 15704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3577_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15430LU) +); +} + +/* Supervisor - ns=0;i=15692 */ + +static UA_StatusCode function_namespace0_generated_3578_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Supervisor"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Supervisor"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3578_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15692LU) +); +} + +/* CustomConfiguration - ns=0;i=24145 */ + +static UA_StatusCode function_namespace0_generated_3579_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24145LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3579_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24145LU) +); +} + +/* RemoveEndpoint - ns=0;i=16256 */ + +static UA_StatusCode function_namespace0_generated_3580_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16256LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3580_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16256LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16257 */ + +static UA_StatusCode function_namespace0_generated_3581_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16257_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16257_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16257_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16257_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16257_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16257_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16257LU), +UA_NODEID_NUMERIC(ns[0], 16256LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3581_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16257LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16254 */ + +static UA_StatusCode function_namespace0_generated_3582_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16254LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3582_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16254LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16255 */ + +static UA_StatusCode function_namespace0_generated_3583_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16255_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16255_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16255_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16255_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16255_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16255_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16255LU), +UA_NODEID_NUMERIC(ns[0], 16254LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3583_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16255LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16252 */ + +static UA_StatusCode function_namespace0_generated_3584_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16252LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3584_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16252LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16253 */ + +static UA_StatusCode function_namespace0_generated_3585_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16253_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16253_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16253_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16253_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16253_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16253_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16253LU), +UA_NODEID_NUMERIC(ns[0], 16252LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3585_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16253LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16250 */ + +static UA_StatusCode function_namespace0_generated_3586_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16250LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3586_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16250LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16251 */ + +static UA_StatusCode function_namespace0_generated_3587_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16251_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16251_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16251_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16251_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16251_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16251_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16251LU), +UA_NODEID_NUMERIC(ns[0], 16250LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3587_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16251LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16249 */ + +static UA_StatusCode function_namespace0_generated_3588_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16249LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3588_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16249LU) +); +} + +/* Applications - ns=0;i=16248 */ + +static UA_StatusCode function_namespace0_generated_3589_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16248LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3589_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16248LU) +); +} + +/* Identities - ns=0;i=16247 */ + +static UA_StatusCode function_namespace0_generated_3590_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16247LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3590_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16247LU) +); +} + +/* RemoveIdentity - ns=0;i=15698 */ + +static UA_StatusCode function_namespace0_generated_3591_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15698LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3591_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15698LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15699 */ + +static UA_StatusCode function_namespace0_generated_3592_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15699_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15699_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15699_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15699_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15699_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15699_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15699LU), +UA_NODEID_NUMERIC(ns[0], 15698LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3592_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15699LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15696 */ + +static UA_StatusCode function_namespace0_generated_3593_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15696LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3593_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15696LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15697 */ + +static UA_StatusCode function_namespace0_generated_3594_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15697_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15697_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15697_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15697_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15697_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15697_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15697LU), +UA_NODEID_NUMERIC(ns[0], 15696LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3594_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15697LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15427 */ + +static UA_StatusCode function_namespace0_generated_3595_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15427LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3595_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15427LU) +); +} + +/* ApplicationsExclude - ns=0;i=15426 */ + +static UA_StatusCode function_namespace0_generated_3596_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15426LU), +UA_NODEID_NUMERIC(ns[0], 15692LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3596_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15426LU) +); +} + +/* Operator - ns=0;i=15680 */ + +static UA_StatusCode function_namespace0_generated_3597_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Operator"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Operator"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3597_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15680LU) +); +} + +/* CustomConfiguration - ns=0;i=24143 */ + +static UA_StatusCode function_namespace0_generated_3598_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24143LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3598_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24143LU) +); +} + +/* RemoveEndpoint - ns=0;i=16234 */ + +static UA_StatusCode function_namespace0_generated_3599_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16234LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3599_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16234LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16235 */ + +static UA_StatusCode function_namespace0_generated_3600_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16235_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16235_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16235_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16235_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16235_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16235_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16235LU), +UA_NODEID_NUMERIC(ns[0], 16234LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3600_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16235LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16232 */ + +static UA_StatusCode function_namespace0_generated_3601_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16232LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3601_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16232LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16233 */ + +static UA_StatusCode function_namespace0_generated_3602_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16233_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16233_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16233_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16233_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16233_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16233_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16233LU), +UA_NODEID_NUMERIC(ns[0], 16232LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3602_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16233LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16230 */ + +static UA_StatusCode function_namespace0_generated_3603_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16230LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3603_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16230LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16231 */ + +static UA_StatusCode function_namespace0_generated_3604_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16231_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16231_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16231_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16231_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16231_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16231_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16231LU), +UA_NODEID_NUMERIC(ns[0], 16230LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3604_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16231LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16228 */ + +static UA_StatusCode function_namespace0_generated_3605_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16228LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3605_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16228LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16229 */ + +static UA_StatusCode function_namespace0_generated_3606_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16229_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16229_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16229_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16229_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16229_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16229_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16229LU), +UA_NODEID_NUMERIC(ns[0], 16228LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3606_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16229LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16227 */ + +static UA_StatusCode function_namespace0_generated_3607_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16227LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3607_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16227LU) +); +} + +/* Applications - ns=0;i=16226 */ + +static UA_StatusCode function_namespace0_generated_3608_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16226LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3608_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16226LU) +); +} + +/* Identities - ns=0;i=16225 */ + +static UA_StatusCode function_namespace0_generated_3609_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16225LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3609_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16225LU) +); +} + +/* RemoveIdentity - ns=0;i=15686 */ + +static UA_StatusCode function_namespace0_generated_3610_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15686LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3610_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15686LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15687 */ + +static UA_StatusCode function_namespace0_generated_3611_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15687_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15687_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15687_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15687_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15687_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15687_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15687LU), +UA_NODEID_NUMERIC(ns[0], 15686LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3611_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15687LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15684 */ + +static UA_StatusCode function_namespace0_generated_3612_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15684LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3612_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15684LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15685 */ + +static UA_StatusCode function_namespace0_generated_3613_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15685_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15685_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15685_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15685_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15685_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15685_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15685LU), +UA_NODEID_NUMERIC(ns[0], 15684LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3613_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15685LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15423 */ + +static UA_StatusCode function_namespace0_generated_3614_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15423LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3614_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15423LU) +); +} + +/* ApplicationsExclude - ns=0;i=15418 */ + +static UA_StatusCode function_namespace0_generated_3615_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15418LU), +UA_NODEID_NUMERIC(ns[0], 15680LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3615_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15418LU) +); +} + +/* Observer - ns=0;i=15668 */ + +static UA_StatusCode function_namespace0_generated_3616_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Observer"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Observer"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3616_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15668LU) +); +} + +/* CustomConfiguration - ns=0;i=24142 */ + +static UA_StatusCode function_namespace0_generated_3617_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24142LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3617_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24142LU) +); +} + +/* RemoveEndpoint - ns=0;i=16223 */ + +static UA_StatusCode function_namespace0_generated_3618_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16223LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3618_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16223LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16224 */ + +static UA_StatusCode function_namespace0_generated_3619_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16224_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16224_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16224_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16224_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16224_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16224_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16224LU), +UA_NODEID_NUMERIC(ns[0], 16223LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3619_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16224LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16221 */ + +static UA_StatusCode function_namespace0_generated_3620_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16221LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3620_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16221LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16222 */ + +static UA_StatusCode function_namespace0_generated_3621_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16222_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16222_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16222_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16222_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16222_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16222_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16222LU), +UA_NODEID_NUMERIC(ns[0], 16221LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3621_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16222LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16219 */ + +static UA_StatusCode function_namespace0_generated_3622_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16219LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3622_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16219LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16220 */ + +static UA_StatusCode function_namespace0_generated_3623_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16220_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16220_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16220_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16220_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16220_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16220_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16220LU), +UA_NODEID_NUMERIC(ns[0], 16219LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3623_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16220LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16217 */ + +static UA_StatusCode function_namespace0_generated_3624_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16217LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3624_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16217LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16218 */ + +static UA_StatusCode function_namespace0_generated_3625_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16218_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16218_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16218_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16218_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16218_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16218_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16218LU), +UA_NODEID_NUMERIC(ns[0], 16217LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3625_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16218LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16216 */ + +static UA_StatusCode function_namespace0_generated_3626_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16216LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3626_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16216LU) +); +} + +/* Applications - ns=0;i=16215 */ + +static UA_StatusCode function_namespace0_generated_3627_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16215LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3627_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16215LU) +); +} + +/* Identities - ns=0;i=16214 */ + +static UA_StatusCode function_namespace0_generated_3628_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16214LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3628_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16214LU) +); +} + +/* RemoveIdentity - ns=0;i=15674 */ + +static UA_StatusCode function_namespace0_generated_3629_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15674LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3629_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15674LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15675 */ + +static UA_StatusCode function_namespace0_generated_3630_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15675_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15675_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15675_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15675_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15675_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15675_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15675LU), +UA_NODEID_NUMERIC(ns[0], 15674LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3630_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15675LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15672 */ + +static UA_StatusCode function_namespace0_generated_3631_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15672LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3631_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15672LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15673 */ + +static UA_StatusCode function_namespace0_generated_3632_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15673_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15673_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15673_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15673_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15673_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15673_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15673LU), +UA_NODEID_NUMERIC(ns[0], 15672LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3632_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15673LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15417 */ + +static UA_StatusCode function_namespace0_generated_3633_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15417LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3633_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15417LU) +); +} + +/* ApplicationsExclude - ns=0;i=15416 */ + +static UA_StatusCode function_namespace0_generated_3634_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15416LU), +UA_NODEID_NUMERIC(ns[0], 15668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3634_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15416LU) +); +} + +/* AuthenticatedUser - ns=0;i=15656 */ + +static UA_StatusCode function_namespace0_generated_3635_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticatedUser"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.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."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AuthenticatedUser"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3635_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15656LU) +); +} + +/* CustomConfiguration - ns=0;i=24141 */ + +static UA_StatusCode function_namespace0_generated_3636_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24141LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3636_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24141LU) +); +} + +/* RemoveEndpoint - ns=0;i=16212 */ + +static UA_StatusCode function_namespace0_generated_3637_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16212LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3637_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16212LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16213 */ + +static UA_StatusCode function_namespace0_generated_3638_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16213_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16213_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16213_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16213_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16213_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16213_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16213LU), +UA_NODEID_NUMERIC(ns[0], 16212LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3638_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16213LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16210 */ + +static UA_StatusCode function_namespace0_generated_3639_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16210LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3639_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16210LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16211 */ + +static UA_StatusCode function_namespace0_generated_3640_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16211_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16211_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16211_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16211_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16211_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16211_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16211LU), +UA_NODEID_NUMERIC(ns[0], 16210LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3640_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16211LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16208 */ + +static UA_StatusCode function_namespace0_generated_3641_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16208LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3641_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16208LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16209 */ + +static UA_StatusCode function_namespace0_generated_3642_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16209_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16209_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16209_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16209_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16209_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16209_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16209LU), +UA_NODEID_NUMERIC(ns[0], 16208LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3642_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16209LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16206 */ + +static UA_StatusCode function_namespace0_generated_3643_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16206LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3643_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16206LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16207 */ + +static UA_StatusCode function_namespace0_generated_3644_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16207_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16207_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16207_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16207_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16207_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16207_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16207LU), +UA_NODEID_NUMERIC(ns[0], 16206LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3644_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16207LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16205 */ + +static UA_StatusCode function_namespace0_generated_3645_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16205LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3645_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16205LU) +); +} + +/* Applications - ns=0;i=16204 */ + +static UA_StatusCode function_namespace0_generated_3646_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16204LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3646_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16204LU) +); +} + +/* Identities - ns=0;i=16203 */ + +static UA_StatusCode function_namespace0_generated_3647_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16203LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3647_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16203LU) +); +} + +/* RemoveIdentity - ns=0;i=15662 */ + +static UA_StatusCode function_namespace0_generated_3648_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15662LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3648_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15662LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15663 */ + +static UA_StatusCode function_namespace0_generated_3649_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15663_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15663_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15663_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15663_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15663_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15663_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15663LU), +UA_NODEID_NUMERIC(ns[0], 15662LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3649_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15663LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15660 */ + +static UA_StatusCode function_namespace0_generated_3650_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15660LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3650_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15660LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15661 */ + +static UA_StatusCode function_namespace0_generated_3651_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15661_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15661_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15661_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15661_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15661_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15661_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15661LU), +UA_NODEID_NUMERIC(ns[0], 15660LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3651_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15661LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15415 */ + +static UA_StatusCode function_namespace0_generated_3652_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15415LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3652_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15415LU) +); +} + +/* ApplicationsExclude - ns=0;i=15414 */ + +static UA_StatusCode function_namespace0_generated_3653_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15414LU), +UA_NODEID_NUMERIC(ns[0], 15656LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3653_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15414LU) +); +} + +/* Anonymous - ns=0;i=15644 */ + +static UA_StatusCode function_namespace0_generated_3654_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Anonymous"); +#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS +attr.description = UA_LOCALIZEDTEXT("", "The Role has very limited access for use when a Session has anonymous credentials."); +#endif +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 15606LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Anonymous"), +UA_NODEID_NUMERIC(ns[0], 15620LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3654_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15644LU) +); +} + +/* RemoveEndpoint - ns=0;i=16201 */ + +static UA_StatusCode function_namespace0_generated_3655_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16201LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3655_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16201LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16202 */ + +static UA_StatusCode function_namespace0_generated_3656_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16202_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16202_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16202_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16202_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16202_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16202_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16202LU), +UA_NODEID_NUMERIC(ns[0], 16201LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3656_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16202LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddEndpoint - ns=0;i=16199 */ + +static UA_StatusCode function_namespace0_generated_3657_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16199LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3657_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16199LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16200 */ + +static UA_StatusCode function_namespace0_generated_3658_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16200_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16200_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16200_variant_DataContents[0].name = UA_STRING("Endpoint"); +variablenode_ns_0_i_16200_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +variablenode_ns_0_i_16200_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16200_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16200LU), +UA_NODEID_NUMERIC(ns[0], 16199LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3658_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16200LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveApplication - ns=0;i=16197 */ + +static UA_StatusCode function_namespace0_generated_3659_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16197LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3659_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16197LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16198 */ + +static UA_StatusCode function_namespace0_generated_3660_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16198_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16198_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16198_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16198_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16198_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16198_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16198LU), +UA_NODEID_NUMERIC(ns[0], 16197LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3660_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16198LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddApplication - ns=0;i=16195 */ + +static UA_StatusCode function_namespace0_generated_3661_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 16195LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddApplication"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3661_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16195LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=16196 */ + +static UA_StatusCode function_namespace0_generated_3662_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_16196_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_16196_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_16196_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_16196_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_16196_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16196_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16196LU), +UA_NODEID_NUMERIC(ns[0], 16195LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3662_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16196LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Endpoints - ns=0;i=16194 */ + +static UA_StatusCode function_namespace0_generated_3663_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16194LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Endpoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3663_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16194LU) +); +} + +/* Applications - ns=0;i=16193 */ + +static UA_StatusCode function_namespace0_generated_3664_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16193LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Applications"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3664_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16193LU) +); +} + +/* Identities - ns=0;i=16192 */ + +static UA_StatusCode function_namespace0_generated_3665_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16192LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Identities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3665_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16192LU) +); +} + +/* RemoveIdentity - ns=0;i=15650 */ + +static UA_StatusCode function_namespace0_generated_3666_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15650LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3666_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15650LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15651 */ + +static UA_StatusCode function_namespace0_generated_3667_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15651_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15651_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15651_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15651_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15651_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15651_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15651LU), +UA_NODEID_NUMERIC(ns[0], 15650LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3667_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15651LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddIdentity - ns=0;i=15648 */ + +static UA_StatusCode function_namespace0_generated_3668_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15648LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddIdentity"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3668_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15648LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15649 */ + +static UA_StatusCode function_namespace0_generated_3669_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15649_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15649_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15649_variant_DataContents[0].name = UA_STRING("Rule"); +variablenode_ns_0_i_15649_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); +variablenode_ns_0_i_15649_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15649_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15649LU), +UA_NODEID_NUMERIC(ns[0], 15648LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3669_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15649LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EndpointsExclude - ns=0;i=15413 */ + +static UA_StatusCode function_namespace0_generated_3670_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15413LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3670_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15413LU) +); +} + +/* ApplicationsExclude - ns=0;i=15412 */ + +static UA_StatusCode function_namespace0_generated_3671_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15412LU), +UA_NODEID_NUMERIC(ns[0], 15644LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3671_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15412LU) +); +} + +/* MaxByteStringLength - ns=0;i=12911 */ + +static UA_StatusCode function_namespace0_generated_3672_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12911LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3672_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12911LU) +); +} + +/* OperationLimits - ns=0;i=11704 */ + +static UA_StatusCode function_namespace0_generated_3673_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OperationLimits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationLimits"), +UA_NODEID_NUMERIC(ns[0], 11564LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3673_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11704LU) +); +} + +/* MaxNodesPerHistoryUpdateEvents - ns=0;i=12168 */ + +static UA_StatusCode function_namespace0_generated_3674_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateEvents"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12168LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateEvents"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3674_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12168LU) +); +} + +/* MaxNodesPerHistoryUpdateData - ns=0;i=12167 */ + +static UA_StatusCode function_namespace0_generated_3675_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12167LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3675_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12167LU) +); +} + +/* MaxNodesPerHistoryReadEvents - ns=0;i=12166 */ + +static UA_StatusCode function_namespace0_generated_3676_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadEvents"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12166LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadEvents"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3676_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12166LU) +); +} + +/* MaxNodesPerHistoryReadData - ns=0;i=12165 */ + +static UA_StatusCode function_namespace0_generated_3677_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12165LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadData"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3677_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12165LU) +); +} + +/* MaxMonitoredItemsPerCall - ns=0;i=11714 */ + +static UA_StatusCode function_namespace0_generated_3678_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11714LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerCall"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3678_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11714LU) +); +} + +/* MaxNodesPerNodeManagement - ns=0;i=11713 */ + +static UA_StatusCode function_namespace0_generated_3679_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerNodeManagement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11713LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerNodeManagement"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3679_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11713LU) +); +} + +/* MaxNodesPerTranslateBrowsePathsToNodeIds - ns=0;i=11712 */ + +static UA_StatusCode function_namespace0_generated_3680_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerTranslateBrowsePathsToNodeIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11712LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerTranslateBrowsePathsToNodeIds"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3680_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11712LU) +); +} + +/* MaxNodesPerRegisterNodes - ns=0;i=11711 */ + +static UA_StatusCode function_namespace0_generated_3681_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRegisterNodes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11711LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRegisterNodes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3681_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11711LU) +); +} + +/* MaxNodesPerBrowse - ns=0;i=11710 */ + +static UA_StatusCode function_namespace0_generated_3682_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerBrowse"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11710LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerBrowse"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3682_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11710LU) +); +} + +/* MaxNodesPerMethodCall - ns=0;i=11709 */ + +static UA_StatusCode function_namespace0_generated_3683_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerMethodCall"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11709LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerMethodCall"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3683_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11709LU) +); +} + +/* MaxNodesPerWrite - ns=0;i=11707 */ + +static UA_StatusCode function_namespace0_generated_3684_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerWrite"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11707LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerWrite"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3684_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11707LU) +); +} + +/* MaxNodesPerRead - ns=0;i=11705 */ + +static UA_StatusCode function_namespace0_generated_3685_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRead"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11705LU), +UA_NODEID_NUMERIC(ns[0], 11704LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRead"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3685_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11705LU) +); +} + +/* MaxStringLength - ns=0;i=11703 */ + +static UA_StatusCode function_namespace0_generated_3686_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11703LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3686_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11703LU) +); +} + +/* MaxArrayLength - ns=0;i=11702 */ + +static UA_StatusCode function_namespace0_generated_3687_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxArrayLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11702LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxArrayLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3687_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11702LU) +); +} + +/* HistoryServerCapabilities - ns=0;i=11192 */ + +static UA_StatusCode function_namespace0_generated_3688_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryServerCapabilities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 2268LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryServerCapabilities"), +UA_NODEID_NUMERIC(ns[0], 2330LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3688_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11192LU) +); +} + +/* ServerTimestampSupported - ns=0;i=19091 */ + +static UA_StatusCode function_namespace0_generated_3689_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerTimestampSupported"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19091LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerTimestampSupported"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3689_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19091LU) +); +} + +/* DeleteEventCapability - ns=0;i=11502 */ + +static UA_StatusCode function_namespace0_generated_3690_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11502LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DeleteEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3690_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11502LU) +); +} + +/* UpdateEventCapability - ns=0;i=11283 */ + +static UA_StatusCode function_namespace0_generated_3691_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11283LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3691_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11283LU) +); +} + +/* ReplaceEventCapability - ns=0;i=11282 */ + +static UA_StatusCode function_namespace0_generated_3692_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11282LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReplaceEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3692_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11282LU) +); +} + +/* InsertEventCapability - ns=0;i=11281 */ + +static UA_StatusCode function_namespace0_generated_3693_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InsertEventCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11281LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InsertEventCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3693_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11281LU) +); +} + +/* InsertAnnotationCapability - ns=0;i=11275 */ + +static UA_StatusCode function_namespace0_generated_3694_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InsertAnnotationCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11275LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InsertAnnotationCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3694_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11275LU) +); +} + +/* MaxReturnEventValues - ns=0;i=11274 */ + +static UA_StatusCode function_namespace0_generated_3695_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnEventValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11274LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReturnEventValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3695_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11274LU) +); +} + +/* MaxReturnDataValues - ns=0;i=11273 */ + +static UA_StatusCode function_namespace0_generated_3696_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnDataValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11273LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReturnDataValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3696_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11273LU) +); +} + +/* AccessHistoryEventsCapability - ns=0;i=11242 */ + +static UA_StatusCode function_namespace0_generated_3697_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryEventsCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11242LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AccessHistoryEventsCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3697_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11242LU) +); +} + +/* AggregateFunctions - ns=0;i=11201 */ + +static UA_StatusCode function_namespace0_generated_3698_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11201LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3698_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11201LU) +); +} + +/* DeleteAtTimeCapability - ns=0;i=11200 */ + +static UA_StatusCode function_namespace0_generated_3699_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteAtTimeCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11200LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DeleteAtTimeCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3699_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11200LU) +); +} + +/* DeleteRawCapability - ns=0;i=11199 */ + +static UA_StatusCode function_namespace0_generated_3700_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteRawCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11199LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DeleteRawCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3700_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11199LU) +); +} + +/* UpdateDataCapability - ns=0;i=11198 */ + +static UA_StatusCode function_namespace0_generated_3701_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11198LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UpdateDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3701_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11198LU) +); +} + +/* ReplaceDataCapability - ns=0;i=11197 */ + +static UA_StatusCode function_namespace0_generated_3702_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11197LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ReplaceDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3702_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11197LU) +); +} + +/* InsertDataCapability - ns=0;i=11196 */ + +static UA_StatusCode function_namespace0_generated_3703_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InsertDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11196LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InsertDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3703_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11196LU) +); +} + +/* AccessHistoryDataCapability - ns=0;i=11193 */ + +static UA_StatusCode function_namespace0_generated_3704_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryDataCapability"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11193LU), +UA_NODEID_NUMERIC(ns[0], 11192LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "AccessHistoryDataCapability"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3704_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11193LU) +); +} + +/* ServiceLevel - ns=0;i=2267 */ + +static UA_StatusCode function_namespace0_generated_3705_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2267LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3705_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2267LU) +); +} + +/* ServerStatus - ns=0;i=2256 */ + +static UA_StatusCode function_namespace0_generated_3706_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 862LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerStatus"), +UA_NODEID_NUMERIC(ns[0], 2138LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3706_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2256LU) +); +} + +/* ShutdownReason - ns=0;i=2993 */ + +static UA_StatusCode function_namespace0_generated_3707_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ShutdownReason"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2993LU), +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ShutdownReason"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3707_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2993LU) +); +} + +/* SecondsTillShutdown - ns=0;i=2992 */ + +static UA_StatusCode function_namespace0_generated_3708_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecondsTillShutdown"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2992LU), +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecondsTillShutdown"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3708_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2992LU) +); +} + +/* BuildInfo - ns=0;i=2260 */ + +static UA_StatusCode function_namespace0_generated_3709_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfo"), +UA_NODEID_NUMERIC(ns[0], 3051LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3709_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2260LU) +); +} + +/* BuildDate - ns=0;i=2266 */ + +static UA_StatusCode function_namespace0_generated_3710_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2266LU), +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildDate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3710_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2266LU) +); +} + +/* BuildNumber - ns=0;i=2265 */ + +static UA_StatusCode function_namespace0_generated_3711_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2265LU), +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3711_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2265LU) +); +} + +/* SoftwareVersion - ns=0;i=2264 */ + +static UA_StatusCode function_namespace0_generated_3712_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2264LU), +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3712_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2264LU) +); +} + +/* ManufacturerName - ns=0;i=2263 */ + +static UA_StatusCode function_namespace0_generated_3713_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2263LU), +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3713_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2263LU) +); +} + +/* ProductUri - ns=0;i=2262 */ + +static UA_StatusCode function_namespace0_generated_3714_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2262LU), +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3714_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2262LU) +); +} + +/* ProductName - ns=0;i=2261 */ + +static UA_StatusCode function_namespace0_generated_3715_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2261LU), +UA_NODEID_NUMERIC(ns[0], 2260LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3715_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2261LU) +); +} + +/* State - ns=0;i=2259 */ + +static UA_StatusCode function_namespace0_generated_3716_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2259LU), +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3716_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2259LU) +); +} + +/* CurrentTime - ns=0;i=2258 */ + +static UA_StatusCode function_namespace0_generated_3717_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2258LU), +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3717_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2258LU) +); +} + +/* StartTime - ns=0;i=2257 */ + +static UA_StatusCode function_namespace0_generated_3718_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2257LU), +UA_NODEID_NUMERIC(ns[0], 2256LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3718_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2257LU) +); +} + +/* NamespaceArray - ns=0;i=2255 */ + +static UA_StatusCode function_namespace0_generated_3719_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2255LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3719_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2255LU) +); +} + +/* ServerArray - ns=0;i=2254 */ + +static UA_StatusCode function_namespace0_generated_3720_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2254LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3720_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2254LU) +); +} + +/* LocalTime - ns=0;i=17634 */ + +static UA_StatusCode function_namespace0_generated_3721_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17634LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocalTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3721_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17634LU) +); +} + +/* Dictionaries - ns=0;i=17594 */ + +static UA_StatusCode function_namespace0_generated_3722_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Dictionaries"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17594LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Dictionaries"), +UA_NODEID_NUMERIC(ns[0], 17591LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3722_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17594LU) +); +} + +/* UrisVersion - ns=0;i=15004 */ + +static UA_StatusCode function_namespace0_generated_3723_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UrisVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15004LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UrisVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3723_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15004LU) +); +} + +/* PublishSubscribe - ns=0;i=14443 */ + +static UA_StatusCode function_namespace0_generated_3724_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishSubscribe"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishSubscribe"), +UA_NODEID_NUMERIC(ns[0], 14416LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3724_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14443LU) +); +} + +/* ConfigurationProperties - ns=0;i=32404 */ + +static UA_StatusCode function_namespace0_generated_3725_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationProperties"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32404LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationProperties"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3725_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32404LU) +); +} + +/* DefaultSecurityKeyServices - ns=0;i=32403 */ + +static UA_StatusCode function_namespace0_generated_3726_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultSecurityKeyServices"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32403LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultSecurityKeyServices"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3726_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32403LU) +); +} + +/* ConfigurationVersion - ns=0;i=25481 */ + +static UA_StatusCode function_namespace0_generated_3727_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25481LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3727_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25481LU) +); +} + +/* DefaultDatagramPublisherId - ns=0;i=25480 */ + +static UA_StatusCode function_namespace0_generated_3728_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultDatagramPublisherId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25480LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultDatagramPublisherId"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3728_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25480LU) +); +} + +/* PubSubConfiguration - ns=0;i=25451 */ + +static UA_StatusCode function_namespace0_generated_3729_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration"), +UA_NODEID_NUMERIC(ns[0], 25482LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3729_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25451LU) +); +} + +/* CloseAndUpdate - ns=0;i=25477 */ + +static UA_StatusCode function_namespace0_generated_3730_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25477LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3730_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25477LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25479 */ + +static UA_StatusCode function_namespace0_generated_3731_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25479_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_25479_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25479_variant_DataContents[0].name = UA_STRING("ChangesApplied"); +variablenode_ns_0_i_25479_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_25479_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25479_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25479_variant_DataContents[1].name = UA_STRING("ReferencesResults"); +variablenode_ns_0_i_25479_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); +variablenode_ns_0_i_25479_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25479_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_25479_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25479_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25479_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); +variablenode_ns_0_i_25479_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); +variablenode_ns_0_i_25479_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25479_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25479_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25479_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25479_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); +variablenode_ns_0_i_25479_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25479_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25479_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_25479_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25479_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25479LU), +UA_NODEID_NUMERIC(ns[0], 25477LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3731_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25479LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25478 */ + +static UA_StatusCode function_namespace0_generated_3732_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25478_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25478_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25478_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25478_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25478_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25478_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25478_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); +variablenode_ns_0_i_25478_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_25478_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25478_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25478_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); +variablenode_ns_0_i_25478_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); +variablenode_ns_0_i_25478_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25478_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25478_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25478_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25478LU), +UA_NODEID_NUMERIC(ns[0], 25477LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3732_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25478LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ReserveIds - ns=0;i=25474 */ + +static UA_StatusCode function_namespace0_generated_3733_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25474LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReserveIds"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3733_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25474LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25476 */ + +static UA_StatusCode function_namespace0_generated_3734_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25476_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25476_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25476_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); +variablenode_ns_0_i_25476_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); +variablenode_ns_0_i_25476_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25476_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25476_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); +variablenode_ns_0_i_25476_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25476_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25476_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_25476_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions; + +UA_init(&variablenode_ns_0_i_25476_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25476_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); +variablenode_ns_0_i_25476_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25476_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_25476_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_25476_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25476_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25476LU), +UA_NODEID_NUMERIC(ns[0], 25474LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3734_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25476LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25475 */ + +static UA_StatusCode function_namespace0_generated_3735_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25475_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_25475_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25475_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); +variablenode_ns_0_i_25475_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25475_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25475_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25475_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); +variablenode_ns_0_i_25475_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25475_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25475_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25475_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); +variablenode_ns_0_i_25475_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25475_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25475_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25475LU), +UA_NODEID_NUMERIC(ns[0], 25474LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3735_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25475LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetPosition - ns=0;i=25472 */ + +static UA_StatusCode function_namespace0_generated_3736_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25472LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3736_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25472LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25473 */ + +static UA_StatusCode function_namespace0_generated_3737_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25473_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25473_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25473_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25473_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25473_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25473_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25473_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_25473_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_25473_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25473_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25473LU), +UA_NODEID_NUMERIC(ns[0], 25472LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3737_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25473LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=25469 */ + +static UA_StatusCode function_namespace0_generated_3738_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25469LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3738_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25469LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25471 */ + +static UA_StatusCode function_namespace0_generated_3739_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25471_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25471_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25471_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_25471_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_25471_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25471_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25471LU), +UA_NODEID_NUMERIC(ns[0], 25469LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3739_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25471LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25470 */ + +static UA_StatusCode function_namespace0_generated_3740_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25470_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25470_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25470_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25470_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25470_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25470_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25470LU), +UA_NODEID_NUMERIC(ns[0], 25469LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3740_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25470LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=25467 */ + +static UA_StatusCode function_namespace0_generated_3741_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25467LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3741_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25467LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25468 */ + +static UA_StatusCode function_namespace0_generated_3742_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25468_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25468_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25468_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25468_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25468_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25468_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25468_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_25468_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_25468_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25468_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25468LU), +UA_NODEID_NUMERIC(ns[0], 25467LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3742_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25468LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=25464 */ + +static UA_StatusCode function_namespace0_generated_3743_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25464LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3743_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25464LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25466 */ + +static UA_StatusCode function_namespace0_generated_3744_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25466_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25466_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25466_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_25466_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_25466_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25466_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25466LU), +UA_NODEID_NUMERIC(ns[0], 25464LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3744_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25466LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25465 */ + +static UA_StatusCode function_namespace0_generated_3745_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25465_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_25465_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25465_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25465_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25465_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25465_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25465_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_25465_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_25465_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25465_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25465LU), +UA_NODEID_NUMERIC(ns[0], 25464LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3745_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25465LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=25462 */ + +static UA_StatusCode function_namespace0_generated_3746_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25462LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3746_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25462LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25463 */ + +static UA_StatusCode function_namespace0_generated_3747_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25463_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25463_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25463_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25463_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25463_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25463_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25463LU), +UA_NODEID_NUMERIC(ns[0], 25462LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3747_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25463LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=25459 */ + +static UA_StatusCode function_namespace0_generated_3748_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25459LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3748_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25459LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25461 */ + +static UA_StatusCode function_namespace0_generated_3749_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25461_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25461_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25461_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_25461_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_25461_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25461_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25461LU), +UA_NODEID_NUMERIC(ns[0], 25459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3749_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25461LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25460 */ + +static UA_StatusCode function_namespace0_generated_3750_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25460_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25460_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25460_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_25460_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_25460_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25460_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25460LU), +UA_NODEID_NUMERIC(ns[0], 25459LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3750_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25460LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=25455 */ + +static UA_StatusCode function_namespace0_generated_3751_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25455LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3751_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25455LU) +); +} + +/* UserWritable - ns=0;i=25454 */ + +static UA_StatusCode function_namespace0_generated_3752_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25454LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3752_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25454LU) +); +} + +/* Writable - ns=0;i=25453 */ + +static UA_StatusCode function_namespace0_generated_3753_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25453LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3753_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25453LU) +); +} + +/* Size - ns=0;i=25452 */ + +static UA_StatusCode function_namespace0_generated_3754_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25452LU), +UA_NODEID_NUMERIC(ns[0], 25451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3754_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25452LU) +); +} + +/* KeyPushTargets - ns=0;i=25440 */ + +static UA_StatusCode function_namespace0_generated_3755_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyPushTargets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25440LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "KeyPushTargets"), +UA_NODEID_NUMERIC(ns[0], 25346LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3755_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25440LU) +); +} + +/* RemovePushTarget - ns=0;i=25444 */ + +static UA_StatusCode function_namespace0_generated_3756_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25444LU), +UA_NODEID_NUMERIC(ns[0], 25440LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3756_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25444LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25445 */ + +static UA_StatusCode function_namespace0_generated_3757_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25445_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25445_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25445_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25445_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25445_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25445_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25445LU), +UA_NODEID_NUMERIC(ns[0], 25444LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3757_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25445LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddPushTarget - ns=0;i=25441 */ + +static UA_StatusCode function_namespace0_generated_3758_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25441LU), +UA_NODEID_NUMERIC(ns[0], 25440LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3758_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25441LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=25443 */ + +static UA_StatusCode function_namespace0_generated_3759_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25443_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_25443_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25443_variant_DataContents[0].name = UA_STRING("PushTargetId"); +variablenode_ns_0_i_25443_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_25443_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25443_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25443LU), +UA_NODEID_NUMERIC(ns[0], 25441LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3759_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25443LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=25442 */ + +static UA_StatusCode function_namespace0_generated_3760_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_25442_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_25442_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25442_variant_DataContents[0].name = UA_STRING("ApplicationUri"); +variablenode_ns_0_i_25442_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25442_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25442_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25442_variant_DataContents[1].name = UA_STRING("EndpointUrl"); +variablenode_ns_0_i_25442_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25442_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25442_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25442_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_25442_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_25442_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25442_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25442_variant_DataContents[3].name = UA_STRING("UserTokenType"); +variablenode_ns_0_i_25442_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); +variablenode_ns_0_i_25442_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25442_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25442_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_25442_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +variablenode_ns_0_i_25442_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_25442_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_25442_variant_DataContents[5].name = UA_STRING("RetryInterval"); +variablenode_ns_0_i_25442_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_25442_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25442_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25442LU), +UA_NODEID_NUMERIC(ns[0], 25441LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3760_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25442LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DataSetClasses - ns=0;i=23685 */ + +static UA_StatusCode function_namespace0_generated_3761_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23685LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3761_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23685LU) +); +} + +/* PubSubCapablities - ns=0;i=23678 */ + +static UA_StatusCode function_namespace0_generated_3762_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapablities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubCapablities"), +UA_NODEID_NUMERIC(ns[0], 23832LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3762_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23678LU) +); +} + +/* MaxFieldsPerDataSet - ns=0;i=23684 */ + +static UA_StatusCode function_namespace0_generated_3763_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23684LU), +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3763_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23684LU) +); +} + +/* MaxDataSetReaders - ns=0;i=23683 */ + +static UA_StatusCode function_namespace0_generated_3764_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23683LU), +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3764_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23683LU) +); +} + +/* MaxDataSetWriters - ns=0;i=23682 */ + +static UA_StatusCode function_namespace0_generated_3765_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23682LU), +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3765_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23682LU) +); +} + +/* MaxReaderGroups - ns=0;i=23681 */ + +static UA_StatusCode function_namespace0_generated_3766_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23681LU), +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3766_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23681LU) +); +} + +/* MaxWriterGroups - ns=0;i=23680 */ + +static UA_StatusCode function_namespace0_generated_3767_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23680LU), +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3767_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23680LU) +); +} + +/* MaxPubSubConnections - ns=0;i=23679 */ + +static UA_StatusCode function_namespace0_generated_3768_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23679LU), +UA_NODEID_NUMERIC(ns[0], 23678LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3768_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23679LU) +); +} + +/* SubscribedDataSets - ns=0;i=23658 */ + +static UA_StatusCode function_namespace0_generated_3769_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23658LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSets"), +UA_NODEID_NUMERIC(ns[0], 23795LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3769_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23658LU) +); +} + +/* SupportedTransportProfiles - ns=0;i=17481 */ + +static UA_StatusCode function_namespace0_generated_3770_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedTransportProfiles"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17481LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedTransportProfiles"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3770_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17481LU) +); +} + +/* Diagnostics - ns=0;i=17409 */ + +static UA_StatusCode function_namespace0_generated_3771_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Diagnostics"), +UA_NODEID_NUMERIC(ns[0], 19732LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3771_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17409LU) +); +} + +/* LiveValues - ns=0;i=17457 */ + +static UA_StatusCode function_namespace0_generated_3772_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17457LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiveValues"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3772_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17457LU) +); +} + +/* OperationalDataSetReaders - ns=0;i=17464 */ + +static UA_StatusCode function_namespace0_generated_3773_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17464LU), +UA_NODEID_NUMERIC(ns[0], 17457LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3773_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17464LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17466 */ + +static UA_StatusCode function_namespace0_generated_3774_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17466_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17466_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17466_variant_DataContents); +*variablenode_ns_0_i_17466_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17466_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17466LU), +UA_NODEID_NUMERIC(ns[0], 17464LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17466_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3774_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17466LU) +); +} + +/* OperationalDataSetWriters - ns=0;i=17462 */ + +static UA_StatusCode function_namespace0_generated_3775_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17462LU), +UA_NODEID_NUMERIC(ns[0], 17457LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3775_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17462LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17463 */ + +static UA_StatusCode function_namespace0_generated_3776_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17463_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17463_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17463_variant_DataContents); +*variablenode_ns_0_i_17463_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17463_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17463LU), +UA_NODEID_NUMERIC(ns[0], 17462LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17463_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3776_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17463LU) +); +} + +/* ConfiguredDataSetReaders - ns=0;i=17460 */ + +static UA_StatusCode function_namespace0_generated_3777_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17460LU), +UA_NODEID_NUMERIC(ns[0], 17457LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3777_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17460LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17461 */ + +static UA_StatusCode function_namespace0_generated_3778_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17461_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17461_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17461_variant_DataContents); +*variablenode_ns_0_i_17461_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17461_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17461LU), +UA_NODEID_NUMERIC(ns[0], 17460LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17461_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3778_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17461LU) +); +} + +/* ConfiguredDataSetWriters - ns=0;i=17458 */ + +static UA_StatusCode function_namespace0_generated_3779_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17458LU), +UA_NODEID_NUMERIC(ns[0], 17457LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3779_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17458LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17459 */ + +static UA_StatusCode function_namespace0_generated_3780_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17459_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17459_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17459_variant_DataContents); +*variablenode_ns_0_i_17459_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17459_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17459LU), +UA_NODEID_NUMERIC(ns[0], 17458LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17459_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3780_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17459LU) +); +} + +/* Counters - ns=0;i=17423 */ + +static UA_StatusCode function_namespace0_generated_3781_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Counters"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3781_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17423LU) +); +} + +/* StateDisabledByMethod - ns=0;i=17451 */ + +static UA_StatusCode function_namespace0_generated_3782_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17451LU), +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3782_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17451LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17454 */ + +static UA_StatusCode function_namespace0_generated_3783_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17454_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17454_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17454_variant_DataContents); +*variablenode_ns_0_i_17454_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17454_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17454LU), +UA_NODEID_NUMERIC(ns[0], 17451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17454_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3783_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17454LU) +); +} + +/* Classification - ns=0;i=17453 */ + +static UA_StatusCode function_namespace0_generated_3784_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17453_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17453_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17453_variant_DataContents); +*variablenode_ns_0_i_17453_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17453_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17453LU), +UA_NODEID_NUMERIC(ns[0], 17451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17453_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3784_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17453LU) +); +} + +/* Active - ns=0;i=17452 */ + +static UA_StatusCode function_namespace0_generated_3785_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17452LU), +UA_NODEID_NUMERIC(ns[0], 17451LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3785_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17452LU) +); +} + +/* StatePausedByParent - ns=0;i=17446 */ + +static UA_StatusCode function_namespace0_generated_3786_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17446LU), +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3786_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17446LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17449 */ + +static UA_StatusCode function_namespace0_generated_3787_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17449_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17449_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17449_variant_DataContents); +*variablenode_ns_0_i_17449_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17449_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17449LU), +UA_NODEID_NUMERIC(ns[0], 17446LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17449_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3787_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17449LU) +); +} + +/* Classification - ns=0;i=17448 */ + +static UA_StatusCode function_namespace0_generated_3788_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17448_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17448_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17448_variant_DataContents); +*variablenode_ns_0_i_17448_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17448_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17448LU), +UA_NODEID_NUMERIC(ns[0], 17446LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17448_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3788_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17448LU) +); +} + +/* Active - ns=0;i=17447 */ + +static UA_StatusCode function_namespace0_generated_3789_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17447LU), +UA_NODEID_NUMERIC(ns[0], 17446LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3789_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17447LU) +); +} + +/* StateOperationalFromError - ns=0;i=17441 */ + +static UA_StatusCode function_namespace0_generated_3790_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17441LU), +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3790_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17441LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17444 */ + +static UA_StatusCode function_namespace0_generated_3791_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17444_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17444_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17444_variant_DataContents); +*variablenode_ns_0_i_17444_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17444_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17444LU), +UA_NODEID_NUMERIC(ns[0], 17441LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17444_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3791_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17444LU) +); +} + +/* Classification - ns=0;i=17443 */ + +static UA_StatusCode function_namespace0_generated_3792_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17443_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17443_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17443_variant_DataContents); +*variablenode_ns_0_i_17443_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17443_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17443LU), +UA_NODEID_NUMERIC(ns[0], 17441LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17443_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3792_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17443LU) +); +} + +/* Active - ns=0;i=17442 */ + +static UA_StatusCode function_namespace0_generated_3793_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17442LU), +UA_NODEID_NUMERIC(ns[0], 17441LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3793_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17442LU) +); +} + +/* StateOperationalByParent - ns=0;i=17436 */ + +static UA_StatusCode function_namespace0_generated_3794_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17436LU), +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3794_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17436LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17439 */ + +static UA_StatusCode function_namespace0_generated_3795_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17439_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17439_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17439_variant_DataContents); +*variablenode_ns_0_i_17439_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17439_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17439LU), +UA_NODEID_NUMERIC(ns[0], 17436LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17439_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3795_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17439LU) +); +} + +/* Classification - ns=0;i=17438 */ + +static UA_StatusCode function_namespace0_generated_3796_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17438_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17438_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17438_variant_DataContents); +*variablenode_ns_0_i_17438_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17438_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17438LU), +UA_NODEID_NUMERIC(ns[0], 17436LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17438_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3796_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17438LU) +); +} + +/* Active - ns=0;i=17437 */ + +static UA_StatusCode function_namespace0_generated_3797_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17437LU), +UA_NODEID_NUMERIC(ns[0], 17436LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3797_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17437LU) +); +} + +/* StateOperationalByMethod - ns=0;i=17431 */ + +static UA_StatusCode function_namespace0_generated_3798_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17431LU), +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3798_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17431LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17434 */ + +static UA_StatusCode function_namespace0_generated_3799_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17434_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17434_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17434_variant_DataContents); +*variablenode_ns_0_i_17434_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17434_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17434LU), +UA_NODEID_NUMERIC(ns[0], 17431LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17434_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3799_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17434LU) +); +} + +/* Classification - ns=0;i=17433 */ + +static UA_StatusCode function_namespace0_generated_3800_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17433_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17433_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17433_variant_DataContents); +*variablenode_ns_0_i_17433_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17433_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17433LU), +UA_NODEID_NUMERIC(ns[0], 17431LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17433_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3800_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17433LU) +); +} + +/* Active - ns=0;i=17432 */ + +static UA_StatusCode function_namespace0_generated_3801_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17432LU), +UA_NODEID_NUMERIC(ns[0], 17431LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3801_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17432LU) +); +} + +/* StateError - ns=0;i=17424 */ + +static UA_StatusCode function_namespace0_generated_3802_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17424LU), +UA_NODEID_NUMERIC(ns[0], 17423LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StateError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3802_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17424LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17429 */ + +static UA_StatusCode function_namespace0_generated_3803_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +UA_Int32 *variablenode_ns_0_i_17429_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17429_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17429_variant_DataContents); +*variablenode_ns_0_i_17429_variant_DataContents = (UA_Int32) 0; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17429_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17429LU), +UA_NODEID_NUMERIC(ns[0], 17424LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17429_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3803_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17429LU) +); +} + +/* Classification - ns=0;i=17426 */ + +static UA_StatusCode function_namespace0_generated_3804_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +UA_Int32 *variablenode_ns_0_i_17426_variant_DataContents = UA_Int32_new(); +if (!variablenode_ns_0_i_17426_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Int32_init(variablenode_ns_0_i_17426_variant_DataContents); +*variablenode_ns_0_i_17426_variant_DataContents = (UA_Int32) 1; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17426_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17426LU), +UA_NODEID_NUMERIC(ns[0], 17424LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Int32_delete(variablenode_ns_0_i_17426_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3804_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17426LU) +); +} + +/* Active - ns=0;i=17425 */ + +static UA_StatusCode function_namespace0_generated_3805_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17425LU), +UA_NODEID_NUMERIC(ns[0], 17424LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3805_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17425LU) +); +} + +/* SubError - ns=0;i=17422 */ + +static UA_StatusCode function_namespace0_generated_3806_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17422LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubError"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3806_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17422LU) +); +} + +/* Reset - ns=0;i=17421 */ + +static UA_StatusCode function_namespace0_generated_3807_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17421LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Reset"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3807_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17421LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* TotalError - ns=0;i=17416 */ + +static UA_StatusCode function_namespace0_generated_3808_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17416LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalError"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3808_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17416LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17419 */ + +static UA_StatusCode function_namespace0_generated_3809_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17419LU), +UA_NODEID_NUMERIC(ns[0], 17416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3809_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17419LU) +); +} + +/* Classification - ns=0;i=17418 */ + +static UA_StatusCode function_namespace0_generated_3810_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17418LU), +UA_NODEID_NUMERIC(ns[0], 17416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3810_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17418LU) +); +} + +/* Active - ns=0;i=17417 */ + +static UA_StatusCode function_namespace0_generated_3811_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17417LU), +UA_NODEID_NUMERIC(ns[0], 17416LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3811_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17417LU) +); +} + +/* TotalInformation - ns=0;i=17411 */ + +static UA_StatusCode function_namespace0_generated_3812_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17411LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TotalInformation"), +UA_NODEID_NUMERIC(ns[0], 19725LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3812_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17411LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17414 */ + +static UA_StatusCode function_namespace0_generated_3813_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17414LU), +UA_NODEID_NUMERIC(ns[0], 17411LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3813_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17414LU) +); +} + +/* Classification - ns=0;i=17413 */ + +static UA_StatusCode function_namespace0_generated_3814_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17413LU), +UA_NODEID_NUMERIC(ns[0], 17411LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Classification"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3814_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17413LU) +); +} + +/* Active - ns=0;i=17412 */ + +static UA_StatusCode function_namespace0_generated_3815_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Active"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17412LU), +UA_NODEID_NUMERIC(ns[0], 17411LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Active"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3815_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17412LU) +); +} + +/* DiagnosticsLevel - ns=0;i=17410 */ + +static UA_StatusCode function_namespace0_generated_3816_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17410LU), +UA_NODEID_NUMERIC(ns[0], 17409LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3816_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17410LU) +); +} + +/* Status - ns=0;i=17405 */ + +static UA_StatusCode function_namespace0_generated_3817_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Status"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17405LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Status"), +UA_NODEID_NUMERIC(ns[0], 14643LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3817_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17405LU) +); +} + +/* State - ns=0;i=17406 */ + +static UA_StatusCode function_namespace0_generated_3818_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17406LU), +UA_NODEID_NUMERIC(ns[0], 17405LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3818_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17406LU) +); +} + +/* PublishedDataSets - ns=0;i=17371 */ + +static UA_StatusCode function_namespace0_generated_3819_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSets"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17371LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSets"), +UA_NODEID_NUMERIC(ns[0], 14477LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3819_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17371LU) +); +} + +/* RemoveConnection - ns=0;i=17369 */ + +static UA_StatusCode function_namespace0_generated_3820_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17369LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3820_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17369LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17370 */ + +static UA_StatusCode function_namespace0_generated_3821_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17370_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17370_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17370_variant_DataContents[0].name = UA_STRING("ConnectionId"); +variablenode_ns_0_i_17370_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17370_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17370_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17370LU), +UA_NODEID_NUMERIC(ns[0], 17369LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3821_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17370LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddConnection - ns=0;i=17366 */ + +static UA_StatusCode function_namespace0_generated_3822_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddConnection"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17366LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddConnection"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3822_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17366LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=17368 */ + +static UA_StatusCode function_namespace0_generated_3823_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17368_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17368_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17368_variant_DataContents[0].name = UA_STRING("ConnectionId"); +variablenode_ns_0_i_17368_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_17368_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17368_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17368LU), +UA_NODEID_NUMERIC(ns[0], 17366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3823_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17368LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17367 */ + +static UA_StatusCode function_namespace0_generated_3824_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17367_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_17367_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17367_variant_DataContents[0].name = UA_STRING("Configuration"); +variablenode_ns_0_i_17367_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15617LU); +variablenode_ns_0_i_17367_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17367_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17367LU), +UA_NODEID_NUMERIC(ns[0], 17366LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3824_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17367LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetSecurityKeys - ns=0;i=17364 */ + +static UA_StatusCode function_namespace0_generated_3825_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetSecurityKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 17364LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetSecurityKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3825_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17364LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=17365 */ + +static UA_StatusCode function_namespace0_generated_3826_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_17365_variant_DataContents[7]; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_17365_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17365_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[1].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_17365_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_17365_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[2].name = UA_STRING("CurrentTokenId"); +variablenode_ns_0_i_17365_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_17365_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[3].name = UA_STRING("CurrentKey"); +variablenode_ns_0_i_17365_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_17365_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[4].name = UA_STRING("FutureKeys"); +variablenode_ns_0_i_17365_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_17365_variant_DataContents[4].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_17365_variant_DataContents[4].arrayDimensionsSize = 1; +variablenode_ns_0_i_17365_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[5].name = UA_STRING("TimeToNextKey"); +variablenode_ns_0_i_17365_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_17365_variant_DataContents[5].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_17365_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_17365_variant_DataContents[6].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_17365_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_17365_variant_DataContents[6].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17365_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17365LU), +UA_NODEID_NUMERIC(ns[0], 17364LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3826_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17365LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SecurityGroups - ns=0;i=15443 */ + +static UA_StatusCode function_namespace0_generated_3827_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15443LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroups"), +UA_NODEID_NUMERIC(ns[0], 15452LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3827_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15443LU) +); +} + +/* RemoveSecurityGroup - ns=0;i=15447 */ + +static UA_StatusCode function_namespace0_generated_3828_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15447LU), +UA_NODEID_NUMERIC(ns[0], 15443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3828_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15447LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15448 */ + +static UA_StatusCode function_namespace0_generated_3829_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15448_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15448_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15448_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15448_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15448_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15448_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15448LU), +UA_NODEID_NUMERIC(ns[0], 15447LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3829_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15448LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddSecurityGroup - ns=0;i=15444 */ + +static UA_StatusCode function_namespace0_generated_3830_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15444LU), +UA_NODEID_NUMERIC(ns[0], 15443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3830_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15444LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15446 */ + +static UA_StatusCode function_namespace0_generated_3831_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15446_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_15446_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15446_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15446_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15446_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15446_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15446_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15446_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15446_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15446_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15446LU), +UA_NODEID_NUMERIC(ns[0], 15444LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3831_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15446LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15445 */ + +static UA_StatusCode function_namespace0_generated_3832_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15445_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_15445_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15445_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); +variablenode_ns_0_i_15445_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15445_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15445_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15445_variant_DataContents[1].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_15445_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15445_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15445_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15445_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_15445_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15445_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15445_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15445_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); +variablenode_ns_0_i_15445_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15445_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15445_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15445_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); +variablenode_ns_0_i_15445_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15445_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15445_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15445LU), +UA_NODEID_NUMERIC(ns[0], 15444LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3832_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15445LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetSecurityGroup - ns=0;i=15440 */ + +static UA_StatusCode function_namespace0_generated_3833_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15440LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetSecurityGroup"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3833_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15440LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15442 */ + +static UA_StatusCode function_namespace0_generated_3834_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15442_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15442_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15442_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); +variablenode_ns_0_i_15442_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_15442_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15442_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15442LU), +UA_NODEID_NUMERIC(ns[0], 15440LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3834_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15442LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15441 */ + +static UA_StatusCode function_namespace0_generated_3835_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15441_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_15441_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15441_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15441_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15441_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15441_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15441LU), +UA_NODEID_NUMERIC(ns[0], 15440LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3835_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15441LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetSecurityKeys - ns=0;i=15215 */ + +static UA_StatusCode function_namespace0_generated_3836_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityKeys"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 15215LU), +UA_NODEID_NUMERIC(ns[0], 14443LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetSecurityKeys"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3836_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15215LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=15217 */ + +static UA_StatusCode function_namespace0_generated_3837_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15217_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_15217_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15217_variant_DataContents[0].name = UA_STRING("SecurityPolicyUri"); +variablenode_ns_0_i_15217_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15217_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15217_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15217_variant_DataContents[1].name = UA_STRING("FirstTokenId"); +variablenode_ns_0_i_15217_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_15217_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15217_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15217_variant_DataContents[2].name = UA_STRING("Keys"); +variablenode_ns_0_i_15217_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_15217_variant_DataContents[2].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_15217_variant_DataContents[2].arrayDimensionsSize = 1; +variablenode_ns_0_i_15217_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions; + +UA_init(&variablenode_ns_0_i_15217_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15217_variant_DataContents[3].name = UA_STRING("TimeToNextKey"); +variablenode_ns_0_i_15217_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15217_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15217_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15217_variant_DataContents[4].name = UA_STRING("KeyLifetime"); +variablenode_ns_0_i_15217_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +variablenode_ns_0_i_15217_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15217_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15217LU), +UA_NODEID_NUMERIC(ns[0], 15215LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3837_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15217LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=15216 */ + +static UA_StatusCode function_namespace0_generated_3838_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 3; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_15216_variant_DataContents[3]; + +UA_init(&variablenode_ns_0_i_15216_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15216_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); +variablenode_ns_0_i_15216_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_15216_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15216_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15216_variant_DataContents[1].name = UA_STRING("StartingTokenId"); +variablenode_ns_0_i_15216_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); +variablenode_ns_0_i_15216_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_15216_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_15216_variant_DataContents[2].name = UA_STRING("RequestedKeyCount"); +variablenode_ns_0_i_15216_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_15216_variant_DataContents[2].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15216_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15216LU), +UA_NODEID_NUMERIC(ns[0], 15215LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3838_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15216LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RequestServerStateChange - ns=0;i=12886 */ + +static UA_StatusCode function_namespace0_generated_3839_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RequestServerStateChange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12886LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RequestServerStateChange"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3839_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12886LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12887 */ + +static UA_StatusCode function_namespace0_generated_3840_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12887_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_12887_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12887_variant_DataContents[0].name = UA_STRING("State"); +variablenode_ns_0_i_12887_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 852LU); +variablenode_ns_0_i_12887_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12887_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12887_variant_DataContents[1].name = UA_STRING("EstimatedReturnTime"); +variablenode_ns_0_i_12887_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +variablenode_ns_0_i_12887_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12887_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12887_variant_DataContents[2].name = UA_STRING("SecondsTillShutdown"); +variablenode_ns_0_i_12887_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12887_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12887_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12887_variant_DataContents[3].name = UA_STRING("Reason"); +variablenode_ns_0_i_12887_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_12887_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12887_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12887_variant_DataContents[4].name = UA_STRING("Restart"); +variablenode_ns_0_i_12887_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12887_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12887_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12887LU), +UA_NODEID_NUMERIC(ns[0], 12886LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3840_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12887LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EstimatedReturnTime - ns=0;i=12885 */ + +static UA_StatusCode function_namespace0_generated_3841_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EstimatedReturnTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12885LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EstimatedReturnTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3841_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12885LU) +); +} + +/* ResendData - ns=0;i=12873 */ + +static UA_StatusCode function_namespace0_generated_3842_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ResendData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12873LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ResendData"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3842_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12873LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12874 */ + +static UA_StatusCode function_namespace0_generated_3843_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12874_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12874_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12874_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_12874_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12874_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12874_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12874LU), +UA_NODEID_NUMERIC(ns[0], 12873LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3843_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12874LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetSubscriptionDurable - ns=0;i=12749 */ + +static UA_StatusCode function_namespace0_generated_3844_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetSubscriptionDurable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12749LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetSubscriptionDurable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3844_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12749LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12751 */ + +static UA_StatusCode function_namespace0_generated_3845_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12751_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12751_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12751_variant_DataContents[0].name = UA_STRING("RevisedLifetimeInHours"); +variablenode_ns_0_i_12751_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12751_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12751_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12751LU), +UA_NODEID_NUMERIC(ns[0], 12749LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3845_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12751LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12750 */ + +static UA_StatusCode function_namespace0_generated_3846_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12750_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12750_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12750_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_12750_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12750_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12750_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12750_variant_DataContents[1].name = UA_STRING("LifetimeInHours"); +variablenode_ns_0_i_12750_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12750_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12750_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12750LU), +UA_NODEID_NUMERIC(ns[0], 12749LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3846_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12750LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ServerConfiguration - ns=0;i=12637 */ + +static UA_StatusCode function_namespace0_generated_3847_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerConfiguration"), +UA_NODEID_NUMERIC(ns[0], 12581LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3847_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12637LU) +); +} + +/* ProductUri - ns=0;i=25725 */ + +static UA_StatusCode function_namespace0_generated_3848_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25725LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3848_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25725LU) +); +} + +/* SetAdminPassword - ns=0;i=25710 */ + +static UA_StatusCode function_namespace0_generated_3849_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetAdminPassword"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25710LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetAdminPassword"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3849_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25710LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ResetToServerDefaults - ns=0;i=25709 */ + +static UA_StatusCode function_namespace0_generated_3850_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ResetToServerDefaults"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25709LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ResetToServerDefaults"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3850_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25709LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CancelChanges - ns=0;i=25708 */ + +static UA_StatusCode function_namespace0_generated_3851_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CancelChanges"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 25708LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CancelChanges"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3851_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25708LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ApplicationType - ns=0;i=25707 */ + +static UA_StatusCode function_namespace0_generated_3852_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25707LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationType"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3852_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25707LU) +); +} + +/* ApplicationUri - ns=0;i=25706 */ + +static UA_StatusCode function_namespace0_generated_3853_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25706LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3853_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25706LU) +); +} + +/* UserManagement - ns=0;i=24290 */ + +static UA_StatusCode function_namespace0_generated_3854_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "UserManagement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserManagement"), +UA_NODEID_NUMERIC(ns[0], 24264LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3854_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24290LU) +); +} + +/* ChangePassword - ns=0;i=24310 */ + +static UA_StatusCode function_namespace0_generated_3855_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ChangePassword"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24310LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ChangePassword"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3855_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24310LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24311 */ + +static UA_StatusCode function_namespace0_generated_3856_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24311_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_24311_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24311_variant_DataContents[0].name = UA_STRING("OldPassword"); +variablenode_ns_0_i_24311_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24311_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24311_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24311_variant_DataContents[1].name = UA_STRING("NewPassword"); +variablenode_ns_0_i_24311_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24311_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24311_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24311LU), +UA_NODEID_NUMERIC(ns[0], 24310LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3856_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24311LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* RemoveUser - ns=0;i=24308 */ + +static UA_StatusCode function_namespace0_generated_3857_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveUser"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24308LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveUser"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3857_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24308LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24309 */ + +static UA_StatusCode function_namespace0_generated_3858_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24309_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_24309_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24309_variant_DataContents[0].name = UA_STRING("UserName"); +variablenode_ns_0_i_24309_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24309_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24309_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24309LU), +UA_NODEID_NUMERIC(ns[0], 24308LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3858_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24309LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ModifyUser - ns=0;i=24306 */ + +static UA_StatusCode function_namespace0_generated_3859_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ModifyUser"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24306LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModifyUser"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3859_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24306LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24307 */ + +static UA_StatusCode function_namespace0_generated_3860_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 7; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24307_variant_DataContents[7]; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[0].name = UA_STRING("UserName"); +variablenode_ns_0_i_24307_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24307_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[1].name = UA_STRING("ModifyPassword"); +variablenode_ns_0_i_24307_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_24307_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[2].name = UA_STRING("Password"); +variablenode_ns_0_i_24307_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24307_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[3].name = UA_STRING("ModifyUserConfiguration"); +variablenode_ns_0_i_24307_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_24307_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[4].name = UA_STRING("UserConfiguration"); +variablenode_ns_0_i_24307_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); +variablenode_ns_0_i_24307_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[5].name = UA_STRING("ModifyDescription"); +variablenode_ns_0_i_24307_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_24307_variant_DataContents[5].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24307_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24307_variant_DataContents[6].name = UA_STRING("Description"); +variablenode_ns_0_i_24307_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24307_variant_DataContents[6].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24307_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24307LU), +UA_NODEID_NUMERIC(ns[0], 24306LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3860_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24307LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddUser - ns=0;i=24304 */ + +static UA_StatusCode function_namespace0_generated_3861_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddUser"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 24304LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddUser"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3861_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24304LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=24305 */ + +static UA_StatusCode function_namespace0_generated_3862_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 4; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_24305_variant_DataContents[4]; + +UA_init(&variablenode_ns_0_i_24305_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24305_variant_DataContents[0].name = UA_STRING("UserName"); +variablenode_ns_0_i_24305_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24305_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24305_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24305_variant_DataContents[1].name = UA_STRING("Password"); +variablenode_ns_0_i_24305_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24305_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24305_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24305_variant_DataContents[2].name = UA_STRING("UserConfiguration"); +variablenode_ns_0_i_24305_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); +variablenode_ns_0_i_24305_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_24305_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_24305_variant_DataContents[3].name = UA_STRING("Description"); +variablenode_ns_0_i_24305_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_24305_variant_DataContents[3].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24305_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24305LU), +UA_NODEID_NUMERIC(ns[0], 24304LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3862_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24305LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* PasswordOptions - ns=0;i=24303 */ + +static UA_StatusCode function_namespace0_generated_3863_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24277LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordOptions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24303LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PasswordOptions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3863_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24303LU) +); +} + +/* PasswordLength - ns=0;i=24302 */ + +static UA_StatusCode function_namespace0_generated_3864_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24302LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PasswordLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3864_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24302LU) +); +} + +/* Users - ns=0;i=24301 */ + +static UA_StatusCode function_namespace0_generated_3865_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 24281LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Users"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24301LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Users"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3865_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24301LU) +); +} + +/* PasswordRestrictions - ns=0;i=24291 */ + +static UA_StatusCode function_namespace0_generated_3866_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PasswordRestrictions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24291LU), +UA_NODEID_NUMERIC(ns[0], 24290LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "PasswordRestrictions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3866_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24291LU) +); +} + +/* HasSecureElement - ns=0;i=23597 */ + +static UA_StatusCode function_namespace0_generated_3867_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "HasSecureElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23597LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "HasSecureElement"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3867_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23597LU) +); +} + +/* KeyCredentialConfiguration - ns=0;i=18155 */ + +static UA_StatusCode function_namespace0_generated_3868_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18155LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "KeyCredentialConfiguration"), +UA_NODEID_NUMERIC(ns[0], 17496LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3868_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18155LU) +); +} + +/* AuthorizationServices - ns=0;i=17732 */ + +static UA_StatusCode function_namespace0_generated_3869_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AuthorizationServices"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17732LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AuthorizationServices"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3869_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17732LU) +); +} + +/* CertificateGroups - ns=0;i=14053 */ + +static UA_StatusCode function_namespace0_generated_3870_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroups"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14053LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CertificateGroups"), +UA_NODEID_NUMERIC(ns[0], 13813LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3870_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14053LU) +); +} + +/* DefaultApplicationGroup - ns=0;i=14156 */ + +static UA_StatusCode function_namespace0_generated_3871_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14156LU), +UA_NODEID_NUMERIC(ns[0], 14053LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14156LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13225LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3871_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14156LU) +); +} + +/* CertificateTypes - ns=0;i=14161 */ + +static UA_StatusCode function_namespace0_generated_3872_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14161LU), +UA_NODEID_NUMERIC(ns[0], 14156LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3872_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14161LU) +); +} + +/* TrustList - ns=0;i=12642 */ + +static UA_StatusCode function_namespace0_generated_3873_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 14156LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3873_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12642LU) +); +} + +/* UserWritable - ns=0;i=14158 */ + +static UA_StatusCode function_namespace0_generated_3874_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14158LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3874_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14158LU) +); +} + +/* Writable - ns=0;i=14157 */ + +static UA_StatusCode function_namespace0_generated_3875_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14157LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3875_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14157LU) +); +} + +/* RemoveCertificate - ns=0;i=12670 */ + +static UA_StatusCode function_namespace0_generated_3876_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12670LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3876_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12670LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12671 */ + +static UA_StatusCode function_namespace0_generated_3877_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12671_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12671_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12671_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_12671_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_12671_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12671_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12671_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_12671_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12671_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12671_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12671LU), +UA_NODEID_NUMERIC(ns[0], 12670LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3877_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12671LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=12668 */ + +static UA_StatusCode function_namespace0_generated_3878_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12668LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3878_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12668LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12669 */ + +static UA_StatusCode function_namespace0_generated_3879_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12669_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12669_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12669_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_12669_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12669_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12669_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12669_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_12669_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12669_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12669_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12669LU), +UA_NODEID_NUMERIC(ns[0], 12668LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3879_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12669LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=12666 */ + +static UA_StatusCode function_namespace0_generated_3880_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12666LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3880_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12666LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14160 */ + +static UA_StatusCode function_namespace0_generated_3881_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14160_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14160_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14160_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14160_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14160_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14160_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14160LU), +UA_NODEID_NUMERIC(ns[0], 12666LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3881_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14160LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12667 */ + +static UA_StatusCode function_namespace0_generated_3882_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12667_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12667_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12667_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_12667_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12667_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12667_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12667LU), +UA_NODEID_NUMERIC(ns[0], 12666LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3882_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12667LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=12663 */ + +static UA_StatusCode function_namespace0_generated_3883_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12663LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3883_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12663LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12665 */ + +static UA_StatusCode function_namespace0_generated_3884_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12665_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12665_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12665_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12665_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12665_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12665_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12665LU), +UA_NODEID_NUMERIC(ns[0], 12663LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3884_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12665LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12664 */ + +static UA_StatusCode function_namespace0_generated_3885_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12664_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12664_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12664_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_12664_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12664_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12664_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12664LU), +UA_NODEID_NUMERIC(ns[0], 12663LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3885_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12664LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=12662 */ + +static UA_StatusCode function_namespace0_generated_3886_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12662LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3886_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12662LU) +); +} + +/* SetPosition - ns=0;i=12660 */ + +static UA_StatusCode function_namespace0_generated_3887_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12660LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3887_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12660LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12661 */ + +static UA_StatusCode function_namespace0_generated_3888_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12661_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12661_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12661_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12661_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12661_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12661_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12661_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_12661_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_12661_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12661_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12661LU), +UA_NODEID_NUMERIC(ns[0], 12660LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3888_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12661LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=12657 */ + +static UA_StatusCode function_namespace0_generated_3889_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12657LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3889_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12657LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12659 */ + +static UA_StatusCode function_namespace0_generated_3890_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12659_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12659_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12659_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_12659_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_12659_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12659_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12659LU), +UA_NODEID_NUMERIC(ns[0], 12657LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3890_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12659LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12658 */ + +static UA_StatusCode function_namespace0_generated_3891_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12658_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12658_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12658_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12658_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12658_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12658_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12658LU), +UA_NODEID_NUMERIC(ns[0], 12657LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3891_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12658LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=12655 */ + +static UA_StatusCode function_namespace0_generated_3892_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12655LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3892_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12655LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12656 */ + +static UA_StatusCode function_namespace0_generated_3893_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12656_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12656_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12656_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12656_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12656_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12656_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12656_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_12656_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12656_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12656_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12656LU), +UA_NODEID_NUMERIC(ns[0], 12655LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3893_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12656LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=12652 */ + +static UA_StatusCode function_namespace0_generated_3894_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12652LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3894_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12652LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12654 */ + +static UA_StatusCode function_namespace0_generated_3895_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12654_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12654_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12654_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_12654_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12654_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12654_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12654LU), +UA_NODEID_NUMERIC(ns[0], 12652LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3895_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12654LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12653 */ + +static UA_StatusCode function_namespace0_generated_3896_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12653_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12653_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12653_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12653_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12653_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12653_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12653_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_12653_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_12653_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12653_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12653LU), +UA_NODEID_NUMERIC(ns[0], 12652LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3896_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12653LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=12650 */ + +static UA_StatusCode function_namespace0_generated_3897_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12650LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3897_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12650LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12651 */ + +static UA_StatusCode function_namespace0_generated_3898_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12651_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12651_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12651_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12651_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12651_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12651_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12651LU), +UA_NODEID_NUMERIC(ns[0], 12650LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3898_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12651LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=12647 */ + +static UA_StatusCode function_namespace0_generated_3899_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12647LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3899_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12647LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12649 */ + +static UA_StatusCode function_namespace0_generated_3900_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12649_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12649_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12649_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_12649_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12649_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12649_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12649LU), +UA_NODEID_NUMERIC(ns[0], 12647LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3900_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12649LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12648 */ + +static UA_StatusCode function_namespace0_generated_3901_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12648_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12648_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12648_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_12648_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_12648_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12648_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12648LU), +UA_NODEID_NUMERIC(ns[0], 12647LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3901_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12648LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=12646 */ + +static UA_StatusCode function_namespace0_generated_3902_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12646LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3902_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12646LU) +); +} + +/* Size - ns=0;i=12643 */ + +static UA_StatusCode function_namespace0_generated_3903_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12643LU), +UA_NODEID_NUMERIC(ns[0], 12642LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3903_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12643LU) +); +} + +/* DefaultUserTokenGroup - ns=0;i=14122 */ + +static UA_StatusCode function_namespace0_generated_3904_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserTokenGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14122LU), +UA_NODEID_NUMERIC(ns[0], 14053LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultUserTokenGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14122LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13225LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3904_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14122LU) +); +} + +/* CertificateTypes - ns=0;i=14155 */ + +static UA_StatusCode function_namespace0_generated_3905_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14155LU), +UA_NODEID_NUMERIC(ns[0], 14122LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3905_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14155LU) +); +} + +/* TrustList - ns=0;i=14123 */ + +static UA_StatusCode function_namespace0_generated_3906_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 14122LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3906_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14123LU) +); +} + +/* RemoveCertificate - ns=0;i=14153 */ + +static UA_StatusCode function_namespace0_generated_3907_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14153LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3907_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14153LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14154 */ + +static UA_StatusCode function_namespace0_generated_3908_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14154_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14154_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14154_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_14154_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14154_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14154_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14154_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_14154_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14154_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14154_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14154LU), +UA_NODEID_NUMERIC(ns[0], 14153LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3908_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14154LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=14151 */ + +static UA_StatusCode function_namespace0_generated_3909_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14151LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3909_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14151LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14152 */ + +static UA_StatusCode function_namespace0_generated_3910_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14152_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14152_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14152_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_14152_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_14152_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14152_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14152_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_14152_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14152_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14152_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14152LU), +UA_NODEID_NUMERIC(ns[0], 14151LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3910_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14152LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=14148 */ + +static UA_StatusCode function_namespace0_generated_3911_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14148LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3911_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14148LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14150 */ + +static UA_StatusCode function_namespace0_generated_3912_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14150_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14150_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14150_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_14150_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14150_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14150_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14150LU), +UA_NODEID_NUMERIC(ns[0], 14148LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3912_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14150LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14149 */ + +static UA_StatusCode function_namespace0_generated_3913_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14149_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14149_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14149_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14149_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14149_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14149_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14149LU), +UA_NODEID_NUMERIC(ns[0], 14148LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3913_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14149LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=14145 */ + +static UA_StatusCode function_namespace0_generated_3914_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14145LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3914_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14145LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14147 */ + +static UA_StatusCode function_namespace0_generated_3915_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14147_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14147_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14147_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14147_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14147_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14147_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14147LU), +UA_NODEID_NUMERIC(ns[0], 14145LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3915_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14147LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14146 */ + +static UA_StatusCode function_namespace0_generated_3916_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14146_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14146_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14146_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_14146_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14146_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14146_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14146LU), +UA_NODEID_NUMERIC(ns[0], 14145LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3916_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14146LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=14144 */ + +static UA_StatusCode function_namespace0_generated_3917_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14144LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3917_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14144LU) +); +} + +/* SetPosition - ns=0;i=14142 */ + +static UA_StatusCode function_namespace0_generated_3918_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14142LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3918_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14142LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14143 */ + +static UA_StatusCode function_namespace0_generated_3919_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14143_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14143_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14143_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14143_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14143_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14143_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14143_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_14143_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_14143_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14143_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14143LU), +UA_NODEID_NUMERIC(ns[0], 14142LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3919_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14143LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=14139 */ + +static UA_StatusCode function_namespace0_generated_3920_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14139LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3920_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14139LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14141 */ + +static UA_StatusCode function_namespace0_generated_3921_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14141_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14141_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14141_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_14141_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_14141_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14141_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14141LU), +UA_NODEID_NUMERIC(ns[0], 14139LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3921_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14141LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14140 */ + +static UA_StatusCode function_namespace0_generated_3922_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14140_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14140_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14140_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14140_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14140_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14140_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14140LU), +UA_NODEID_NUMERIC(ns[0], 14139LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3922_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14140LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=14137 */ + +static UA_StatusCode function_namespace0_generated_3923_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14137LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3923_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14137LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14138 */ + +static UA_StatusCode function_namespace0_generated_3924_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14138_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14138_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14138_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14138_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14138_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14138_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14138_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_14138_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_14138_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14138_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14138LU), +UA_NODEID_NUMERIC(ns[0], 14137LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3924_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14138LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=14134 */ + +static UA_StatusCode function_namespace0_generated_3925_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14134LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3925_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14134LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14136 */ + +static UA_StatusCode function_namespace0_generated_3926_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14136_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14136_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14136_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_14136_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_14136_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14136_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14136LU), +UA_NODEID_NUMERIC(ns[0], 14134LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3926_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14136LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14135 */ + +static UA_StatusCode function_namespace0_generated_3927_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14135_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14135_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14135_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14135_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14135_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14135_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14135_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_14135_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_14135_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14135_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14135LU), +UA_NODEID_NUMERIC(ns[0], 14134LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3927_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14135LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=14132 */ + +static UA_StatusCode function_namespace0_generated_3928_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14132LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3928_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14132LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14133 */ + +static UA_StatusCode function_namespace0_generated_3929_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14133_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14133_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14133_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14133_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14133_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14133_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14133LU), +UA_NODEID_NUMERIC(ns[0], 14132LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3929_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14133LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=14129 */ + +static UA_StatusCode function_namespace0_generated_3930_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14129LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3930_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14129LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14131 */ + +static UA_StatusCode function_namespace0_generated_3931_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14131_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14131_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14131_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14131_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14131_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14131_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14131LU), +UA_NODEID_NUMERIC(ns[0], 14129LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3931_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14131LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14130 */ + +static UA_StatusCode function_namespace0_generated_3932_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14130_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14130_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14130_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_14130_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_14130_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14130_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14130LU), +UA_NODEID_NUMERIC(ns[0], 14129LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3932_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14130LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=14127 */ + +static UA_StatusCode function_namespace0_generated_3933_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14127LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3933_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14127LU) +); +} + +/* UserWritable - ns=0;i=14126 */ + +static UA_StatusCode function_namespace0_generated_3934_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14126LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3934_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14126LU) +); +} + +/* Writable - ns=0;i=14125 */ + +static UA_StatusCode function_namespace0_generated_3935_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14125LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3935_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14125LU) +); +} + +/* Size - ns=0;i=14124 */ + +static UA_StatusCode function_namespace0_generated_3936_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14124LU), +UA_NODEID_NUMERIC(ns[0], 14123LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3936_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14124LU) +); +} + +/* DefaultHttpsGroup - ns=0;i=14088 */ + +static UA_StatusCode function_namespace0_generated_3937_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultHttpsGroup"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14088LU), +UA_NODEID_NUMERIC(ns[0], 14053LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DefaultHttpsGroup"), +UA_NODEID_NUMERIC(ns[0], 12555LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14088LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13225LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3937_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14088LU) +); +} + +/* CertificateTypes - ns=0;i=14121 */ + +static UA_StatusCode function_namespace0_generated_3938_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14121LU), +UA_NODEID_NUMERIC(ns[0], 14088LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3938_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14121LU) +); +} + +/* TrustList - ns=0;i=14089 */ + +static UA_StatusCode function_namespace0_generated_3939_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 14088LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustList"), +UA_NODEID_NUMERIC(ns[0], 12522LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3939_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14089LU) +); +} + +/* RemoveCertificate - ns=0;i=14119 */ + +static UA_StatusCode function_namespace0_generated_3940_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14119LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3940_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14119LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14120 */ + +static UA_StatusCode function_namespace0_generated_3941_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14120_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14120_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14120_variant_DataContents[0].name = UA_STRING("Thumbprint"); +variablenode_ns_0_i_14120_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_14120_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14120_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14120_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_14120_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14120_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14120_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14120LU), +UA_NODEID_NUMERIC(ns[0], 14119LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3941_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14120LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* AddCertificate - ns=0;i=14117 */ + +static UA_StatusCode function_namespace0_generated_3942_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14117LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3942_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14117LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14118 */ + +static UA_StatusCode function_namespace0_generated_3943_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14118_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14118_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14118_variant_DataContents[0].name = UA_STRING("Certificate"); +variablenode_ns_0_i_14118_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_14118_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14118_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14118_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); +variablenode_ns_0_i_14118_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14118_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14118_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14118LU), +UA_NODEID_NUMERIC(ns[0], 14117LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3943_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14118LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CloseAndUpdate - ns=0;i=14114 */ + +static UA_StatusCode function_namespace0_generated_3944_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14114LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3944_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14114LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14116 */ + +static UA_StatusCode function_namespace0_generated_3945_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14116_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14116_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14116_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_14116_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_14116_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14116_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14116LU), +UA_NODEID_NUMERIC(ns[0], 14114LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3945_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14116LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14115 */ + +static UA_StatusCode function_namespace0_generated_3946_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14115_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14115_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14115_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14115_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14115_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14115_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14115LU), +UA_NODEID_NUMERIC(ns[0], 14114LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3946_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14115LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenWithMasks - ns=0;i=14111 */ + +static UA_StatusCode function_namespace0_generated_3947_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14111LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3947_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14111LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14113 */ + +static UA_StatusCode function_namespace0_generated_3948_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14113_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14113_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14113_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14113_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14113_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14113_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14113LU), +UA_NODEID_NUMERIC(ns[0], 14111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3948_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14113LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14112 */ + +static UA_StatusCode function_namespace0_generated_3949_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14112_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14112_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14112_variant_DataContents[0].name = UA_STRING("Masks"); +variablenode_ns_0_i_14112_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14112_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14112_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14112LU), +UA_NODEID_NUMERIC(ns[0], 14111LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3949_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14112LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* LastUpdateTime - ns=0;i=14110 */ + +static UA_StatusCode function_namespace0_generated_3950_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14110LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3950_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14110LU) +); +} + +/* SetPosition - ns=0;i=14108 */ + +static UA_StatusCode function_namespace0_generated_3951_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14108LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3951_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14108LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14109 */ + +static UA_StatusCode function_namespace0_generated_3952_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14109_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14109_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14109_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14109_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14109_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14109_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14109_variant_DataContents[1].name = UA_STRING("Position"); +variablenode_ns_0_i_14109_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_14109_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14109_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14109LU), +UA_NODEID_NUMERIC(ns[0], 14108LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3952_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14109LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetPosition - ns=0;i=14105 */ + +static UA_StatusCode function_namespace0_generated_3953_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14105LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetPosition"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3953_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14105LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14107 */ + +static UA_StatusCode function_namespace0_generated_3954_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14107_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14107_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14107_variant_DataContents[0].name = UA_STRING("Position"); +variablenode_ns_0_i_14107_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +variablenode_ns_0_i_14107_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14107_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14107LU), +UA_NODEID_NUMERIC(ns[0], 14105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3954_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14107LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14106 */ + +static UA_StatusCode function_namespace0_generated_3955_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14106_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14106_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14106_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14106_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14106_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14106_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14106LU), +UA_NODEID_NUMERIC(ns[0], 14105LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3955_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14106LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Write - ns=0;i=14103 */ + +static UA_StatusCode function_namespace0_generated_3956_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Write"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14103LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Write"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3956_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14103LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14104 */ + +static UA_StatusCode function_namespace0_generated_3957_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14104_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14104_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14104_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14104_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14104_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14104_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14104_variant_DataContents[1].name = UA_STRING("Data"); +variablenode_ns_0_i_14104_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_14104_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14104_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14104LU), +UA_NODEID_NUMERIC(ns[0], 14103LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3957_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14104LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Read - ns=0;i=14100 */ + +static UA_StatusCode function_namespace0_generated_3958_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Read"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14100LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Read"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3958_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14100LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14102 */ + +static UA_StatusCode function_namespace0_generated_3959_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14102_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14102_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14102_variant_DataContents[0].name = UA_STRING("Data"); +variablenode_ns_0_i_14102_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_14102_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14102_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14102LU), +UA_NODEID_NUMERIC(ns[0], 14100LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3959_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14102LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14101 */ + +static UA_StatusCode function_namespace0_generated_3960_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14101_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_14101_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14101_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14101_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14101_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_14101_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14101_variant_DataContents[1].name = UA_STRING("Length"); +variablenode_ns_0_i_14101_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); +variablenode_ns_0_i_14101_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14101_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14101LU), +UA_NODEID_NUMERIC(ns[0], 14100LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3960_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14101LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Close - ns=0;i=14098 */ + +static UA_StatusCode function_namespace0_generated_3961_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Close"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14098LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Close"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3961_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14098LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14099 */ + +static UA_StatusCode function_namespace0_generated_3962_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14099_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14099_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14099_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14099_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14099_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14099_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14099LU), +UA_NODEID_NUMERIC(ns[0], 14098LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3962_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14099LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Open - ns=0;i=14095 */ + +static UA_StatusCode function_namespace0_generated_3963_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "Open"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 14095LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Open"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3963_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14095LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=14097 */ + +static UA_StatusCode function_namespace0_generated_3964_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14097_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14097_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14097_variant_DataContents[0].name = UA_STRING("FileHandle"); +variablenode_ns_0_i_14097_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_14097_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14097_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14097LU), +UA_NODEID_NUMERIC(ns[0], 14095LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3964_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14097LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=14096 */ + +static UA_StatusCode function_namespace0_generated_3965_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_14096_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_14096_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_14096_variant_DataContents[0].name = UA_STRING("Mode"); +variablenode_ns_0_i_14096_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +variablenode_ns_0_i_14096_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14096_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14096LU), +UA_NODEID_NUMERIC(ns[0], 14095LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3965_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14096LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OpenCount - ns=0;i=14093 */ + +static UA_StatusCode function_namespace0_generated_3966_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14093LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OpenCount"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3966_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14093LU) +); +} + +/* UserWritable - ns=0;i=14092 */ + +static UA_StatusCode function_namespace0_generated_3967_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14092LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UserWritable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3967_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14092LU) +); +} + +/* Writable - ns=0;i=14091 */ + +static UA_StatusCode function_namespace0_generated_3968_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14091LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Writable"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3968_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14091LU) +); +} + +/* Size - ns=0;i=14090 */ + +static UA_StatusCode function_namespace0_generated_3969_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Size"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14090LU), +UA_NODEID_NUMERIC(ns[0], 14089LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Size"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3969_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14090LU) +); +} + +/* UpdateCertificate - ns=0;i=13737 */ + +static UA_StatusCode function_namespace0_generated_3970_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 13737LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UpdateCertificate"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3970_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13737LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=13739 */ + +static UA_StatusCode function_namespace0_generated_3971_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13739_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_13739_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13739_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); +variablenode_ns_0_i_13739_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_13739_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13739_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13739LU), +UA_NODEID_NUMERIC(ns[0], 13737LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3971_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13739LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=13738 */ + +static UA_StatusCode function_namespace0_generated_3972_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 6; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_13738_variant_DataContents[6]; + +UA_init(&variablenode_ns_0_i_13738_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13738_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_13738_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13738_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13738_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13738_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); +variablenode_ns_0_i_13738_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_13738_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13738_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13738_variant_DataContents[2].name = UA_STRING("Certificate"); +variablenode_ns_0_i_13738_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13738_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13738_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13738_variant_DataContents[3].name = UA_STRING("IssuerCertificates"); +variablenode_ns_0_i_13738_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13738_variant_DataContents[3].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_13738_variant_DataContents[3].arrayDimensionsSize = 1; +variablenode_ns_0_i_13738_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions; + +UA_init(&variablenode_ns_0_i_13738_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13738_variant_DataContents[4].name = UA_STRING("PrivateKeyFormat"); +variablenode_ns_0_i_13738_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_13738_variant_DataContents[4].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_13738_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_13738_variant_DataContents[5].name = UA_STRING("PrivateKey"); +variablenode_ns_0_i_13738_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_13738_variant_DataContents[5].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13738_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 13738LU), +UA_NODEID_NUMERIC(ns[0], 13737LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3972_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 13738LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* GetRejectedList - ns=0;i=12777 */ + +static UA_StatusCode function_namespace0_generated_3973_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12777LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3973_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12777LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12778 */ + +static UA_StatusCode function_namespace0_generated_3974_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12778_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12778_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12778_variant_DataContents[0].name = UA_STRING("Certificates"); +variablenode_ns_0_i_12778_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12778_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_12778_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_12778_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12778_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12778LU), +UA_NODEID_NUMERIC(ns[0], 12777LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3974_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12778LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ApplyChanges - ns=0;i=12740 */ + +static UA_StatusCode function_namespace0_generated_3975_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ApplyChanges"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12740LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplyChanges"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3975_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12740LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* CreateSigningRequest - ns=0;i=12737 */ + +static UA_StatusCode function_namespace0_generated_3976_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "CreateSigningRequest"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12737LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CreateSigningRequest"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3976_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12737LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12739 */ + +static UA_StatusCode function_namespace0_generated_3977_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12739_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12739_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12739_variant_DataContents[0].name = UA_STRING("CertificateRequest"); +variablenode_ns_0_i_12739_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12739_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12739_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12739LU), +UA_NODEID_NUMERIC(ns[0], 12737LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3977_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12739LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12738 */ + +static UA_StatusCode function_namespace0_generated_3978_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12738_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_12738_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12738_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); +variablenode_ns_0_i_12738_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_12738_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12738_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12738_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); +variablenode_ns_0_i_12738_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); +variablenode_ns_0_i_12738_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12738_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12738_variant_DataContents[2].name = UA_STRING("SubjectName"); +variablenode_ns_0_i_12738_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +variablenode_ns_0_i_12738_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12738_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12738_variant_DataContents[3].name = UA_STRING("RegeneratePrivateKey"); +variablenode_ns_0_i_12738_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12738_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12738_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12738_variant_DataContents[4].name = UA_STRING("Nonce"); +variablenode_ns_0_i_12738_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +variablenode_ns_0_i_12738_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12738_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12738LU), +UA_NODEID_NUMERIC(ns[0], 12737LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3978_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12738LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ServerCapabilities - ns=0;i=12710 */ + +static UA_StatusCode function_namespace0_generated_3979_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12710LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3979_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12710LU) +); +} + +/* MulticastDnsEnabled - ns=0;i=12641 */ + +static UA_StatusCode function_namespace0_generated_3980_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MulticastDnsEnabled"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12641LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MulticastDnsEnabled"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3980_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12641LU) +); +} + +/* MaxTrustListSize - ns=0;i=12640 */ + +static UA_StatusCode function_namespace0_generated_3981_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxTrustListSize"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12640LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxTrustListSize"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3981_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12640LU) +); +} + +/* SupportedPrivateKeyFormats - ns=0;i=12639 */ + +static UA_StatusCode function_namespace0_generated_3982_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SupportedPrivateKeyFormats"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12639LU), +UA_NODEID_NUMERIC(ns[0], 12637LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SupportedPrivateKeyFormats"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3982_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12639LU) +); +} + +/* Namespaces - ns=0;i=11715 */ + +static UA_StatusCode function_namespace0_generated_3983_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Namespaces"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11715LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Namespaces"), +UA_NODEID_NUMERIC(ns[0], 11645LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3983_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11715LU) +); +} + +/* http://opcfoundation.org/UA/ - ns=0;i=15957 */ + +static UA_StatusCode function_namespace0_generated_3984_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "http://opcfoundation.org/UA/"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 11715LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "http://opcfoundation.org/UA/"), +UA_NODEID_NUMERIC(ns[0], 11616LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3984_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15957LU) +); +} + +/* DefaultAccessRestrictions - ns=0;i=16136 */ + +static UA_StatusCode function_namespace0_generated_3985_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 95LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultAccessRestrictions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16136LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultAccessRestrictions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3985_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16136LU) +); +} + +/* DefaultUserRolePermissions - ns=0;i=16135 */ + +static UA_StatusCode function_namespace0_generated_3986_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserRolePermissions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16135LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultUserRolePermissions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3986_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16135LU) +); +} + +/* DefaultRolePermissions - ns=0;i=16134 */ + +static UA_StatusCode function_namespace0_generated_3987_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultRolePermissions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16134LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DefaultRolePermissions"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3987_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16134LU) +); +} + +/* StaticStringNodeIdPattern - ns=0;i=15964 */ + +static UA_StatusCode function_namespace0_generated_3988_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15964_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15964_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15964_variant_DataContents); +*variablenode_ns_0_i_15964_variant_DataContents = UA_STRING_ALLOC(""); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15964_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticStringNodeIdPattern"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15964LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticStringNodeIdPattern"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15964_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3988_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15964LU) +); +} + +/* StaticNumericNodeIdRange - ns=0;i=15963 */ + +static UA_StatusCode function_namespace0_generated_3989_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); +UA_String variablenode_ns_0_i_15963_variant_DataContents[36]; +variablenode_ns_0_i_15963_variant_DataContents[0] = UA_STRING("1:2252"); +variablenode_ns_0_i_15963_variant_DataContents[1] = UA_STRING("2270"); +variablenode_ns_0_i_15963_variant_DataContents[2] = UA_STRING("2273"); +variablenode_ns_0_i_15963_variant_DataContents[3] = UA_STRING("2280"); +variablenode_ns_0_i_15963_variant_DataContents[4] = UA_STRING("2283"); +variablenode_ns_0_i_15963_variant_DataContents[5] = UA_STRING("2291:2293"); +variablenode_ns_0_i_15963_variant_DataContents[6] = UA_STRING("2297:2734"); +variablenode_ns_0_i_15963_variant_DataContents[7] = UA_STRING("2738:2991"); +variablenode_ns_0_i_15963_variant_DataContents[8] = UA_STRING("2995"); +variablenode_ns_0_i_15963_variant_DataContents[9] = UA_STRING("2998:3703"); +variablenode_ns_0_i_15963_variant_DataContents[10] = UA_STRING("3710:11191"); +variablenode_ns_0_i_15963_variant_DataContents[11] = UA_STRING("11194:11195"); +variablenode_ns_0_i_15963_variant_DataContents[12] = UA_STRING("11202:11241"); +variablenode_ns_0_i_15963_variant_DataContents[13] = UA_STRING("11243:11272"); +variablenode_ns_0_i_15963_variant_DataContents[14] = UA_STRING("11276:11280"); +variablenode_ns_0_i_15963_variant_DataContents[15] = UA_STRING("11284:11311"); +variablenode_ns_0_i_15963_variant_DataContents[16] = UA_STRING("11315:11491"); +variablenode_ns_0_i_15963_variant_DataContents[17] = UA_STRING("11495:11501"); +variablenode_ns_0_i_15963_variant_DataContents[18] = UA_STRING("11503:11701"); +variablenode_ns_0_i_15963_variant_DataContents[19] = UA_STRING("11706"); +variablenode_ns_0_i_15963_variant_DataContents[20] = UA_STRING("11708"); +variablenode_ns_0_i_15963_variant_DataContents[21] = UA_STRING("11716:12164"); +variablenode_ns_0_i_15963_variant_DataContents[22] = UA_STRING("12169:12748"); +variablenode_ns_0_i_15963_variant_DataContents[23] = UA_STRING("12752:12872"); +variablenode_ns_0_i_15963_variant_DataContents[24] = UA_STRING("12875:12884"); +variablenode_ns_0_i_15963_variant_DataContents[25] = UA_STRING("12888:12910"); +variablenode_ns_0_i_15963_variant_DataContents[26] = UA_STRING("12912:14414"); +variablenode_ns_0_i_15963_variant_DataContents[27] = UA_STRING("14416:15003"); +variablenode_ns_0_i_15963_variant_DataContents[28] = UA_STRING("15005:15605"); +variablenode_ns_0_i_15963_variant_DataContents[29] = UA_STRING("15607:16300"); +variablenode_ns_0_i_15963_variant_DataContents[30] = UA_STRING("16306:17633"); +variablenode_ns_0_i_15963_variant_DataContents[31] = UA_STRING("17635:19090"); +variablenode_ns_0_i_15963_variant_DataContents[32] = UA_STRING("19092:24094"); +variablenode_ns_0_i_15963_variant_DataContents[33] = UA_STRING("24102:24103"); +variablenode_ns_0_i_15963_variant_DataContents[34] = UA_STRING("24105:31915"); +variablenode_ns_0_i_15963_variant_DataContents[35] = UA_STRING("31917:2147483647"); +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15963_variant_DataContents, (UA_Int32) 36, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticNumericNodeIdRange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15963LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticNumericNodeIdRange"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3989_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15963LU) +); +} + +/* StaticNodeIdTypes - ns=0;i=15962 */ + +static UA_StatusCode function_namespace0_generated_3990_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 256LU); +UA_Int32 variablenode_ns_0_i_15962_variant_DataContents[1]; +variablenode_ns_0_i_15962_variant_DataContents[0] = (UA_Int32) 0; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15962_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_IDTYPE]); +attr.displayName = UA_LOCALIZEDTEXT("", "StaticNodeIdTypes"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15962LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "StaticNodeIdTypes"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3990_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15962LU) +); +} + +/* IsNamespaceSubset - ns=0;i=15961 */ + +static UA_StatusCode function_namespace0_generated_3991_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +UA_Boolean *variablenode_ns_0_i_15961_variant_DataContents = UA_Boolean_new(); +if (!variablenode_ns_0_i_15961_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Boolean_init(variablenode_ns_0_i_15961_variant_DataContents); +*variablenode_ns_0_i_15961_variant_DataContents = (UA_Boolean) false; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15961_variant_DataContents, &UA_TYPES[UA_TYPES_BOOLEAN]); +attr.displayName = UA_LOCALIZEDTEXT("", "IsNamespaceSubset"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15961LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "IsNamespaceSubset"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Boolean_delete(variablenode_ns_0_i_15961_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3991_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15961LU) +); +} + +/* NamespacePublicationDate - ns=0;i=15960 */ + +static UA_StatusCode function_namespace0_generated_3992_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +UA_DateTime *variablenode_ns_0_i_15960_variant_DataContents = UA_DateTime_new(); +if (!variablenode_ns_0_i_15960_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_DateTime_init(variablenode_ns_0_i_15960_variant_DataContents); +*variablenode_ns_0_i_15960_variant_DataContents = ( (UA_DateTime)(1667260800000 * UA_DATETIME_MSEC) + UA_DATETIME_UNIX_EPOCH); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15960_variant_DataContents, &UA_TYPES[UA_TYPES_DATETIME]); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespacePublicationDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15960LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespacePublicationDate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_DateTime_delete(variablenode_ns_0_i_15960_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3992_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15960LU) +); +} + +/* NamespaceVersion - ns=0;i=15959 */ + +static UA_StatusCode function_namespace0_generated_3993_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15959_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15959_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15959_variant_DataContents); +*variablenode_ns_0_i_15959_variant_DataContents = UA_STRING_ALLOC("1.05.02"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15959_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15959LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15959_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3993_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15959LU) +); +} + +/* NamespaceUri - ns=0;i=15958 */ + +static UA_StatusCode function_namespace0_generated_3994_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15958_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15958_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15958_variant_DataContents); +*variablenode_ns_0_i_15958_variant_DataContents = UA_STRING_ALLOC("http://opcfoundation.org/UA/"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15958_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15958LU), +UA_NODEID_NUMERIC(ns[0], 15957LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15958_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3994_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15958LU) +); +} + +/* GetMonitoredItems - ns=0;i=11492 */ + +static UA_StatusCode function_namespace0_generated_3995_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetMonitoredItems"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11492LU), +UA_NODEID_NUMERIC(ns[0], 2253LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetMonitoredItems"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3995_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11492LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11494 */ + +static UA_StatusCode function_namespace0_generated_3996_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11494_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11494_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11494_variant_DataContents[0].name = UA_STRING("ServerHandles"); +variablenode_ns_0_i_11494_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11494_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_11494_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_11494_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions; + +UA_init(&variablenode_ns_0_i_11494_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11494_variant_DataContents[1].name = UA_STRING("ClientHandles"); +variablenode_ns_0_i_11494_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11494_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_11494_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_11494_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11494_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11494LU), +UA_NODEID_NUMERIC(ns[0], 11492LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3996_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11494LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11493 */ + +static UA_StatusCode function_namespace0_generated_3997_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11493_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11493_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11493_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_11493_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11493_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11493_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11493LU), +UA_NODEID_NUMERIC(ns[0], 11492LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_3997_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11493LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* ServerRedundancy - ns=0;i=2012 */ + +static UA_StatusCode function_namespace0_generated_3998_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerRedundancy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2012LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerRedundancy"), +UA_NODEID_NUMERIC(ns[0], 2034LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3998_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2012LU) +); +} + +/* RedundancySupport - ns=0;i=3115 */ + +static UA_StatusCode function_namespace0_generated_3999_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 851LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3115LU), +UA_NODEID_NUMERIC(ns[0], 2012LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_3999_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3115LU) +); +} + +/* VendorServerInfo - ns=0;i=2011 */ + +static UA_StatusCode function_namespace0_generated_4000_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "VendorServerInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2011LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "VendorServerInfo"), +UA_NODEID_NUMERIC(ns[0], 2033LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4000_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2011LU) +); +} + +/* ServerDiagnostics - ns=0;i=2010 */ + +static UA_StatusCode function_namespace0_generated_4001_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnostics"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2010LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnostics"), +UA_NODEID_NUMERIC(ns[0], 2020LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4001_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2010LU) +); +} + +/* EnabledFlag - ns=0;i=3114 */ + +static UA_StatusCode function_namespace0_generated_4002_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 3; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnabledFlag"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3114LU), +UA_NODEID_NUMERIC(ns[0], 2010LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EnabledFlag"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4002_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3114LU) +); +} + +/* SessionsDiagnosticsSummary - ns=0;i=3111 */ + +static UA_StatusCode function_namespace0_generated_4003_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3111LU), +UA_NODEID_NUMERIC(ns[0], 2010LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummary"), +UA_NODEID_NUMERIC(ns[0], 2026LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4003_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3111LU) +); +} + +/* SessionSecurityDiagnosticsArray - ns=0;i=3113 */ + +static UA_StatusCode function_namespace0_generated_4004_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3113LU), +UA_NODEID_NUMERIC(ns[0], 3111LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2243LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4004_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3113LU) +); +} + +/* SessionDiagnosticsArray - ns=0;i=3112 */ + +static UA_StatusCode function_namespace0_generated_4005_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3112LU), +UA_NODEID_NUMERIC(ns[0], 3111LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2196LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4005_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3112LU) +); +} + +/* SubscriptionDiagnosticsArray - ns=0;i=3110 */ + +static UA_StatusCode function_namespace0_generated_4006_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3110LU), +UA_NODEID_NUMERIC(ns[0], 2010LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), +UA_NODEID_NUMERIC(ns[0], 2171LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4006_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3110LU) +); +} + +/* ServerDiagnosticsSummary - ns=0;i=3095 */ + +static UA_StatusCode function_namespace0_generated_4007_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 2010LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummary"), +UA_NODEID_NUMERIC(ns[0], 2150LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4007_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3095LU) +); +} + +/* RejectedRequestsCount - ns=0;i=3108 */ + +static UA_StatusCode function_namespace0_generated_4008_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3108LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4008_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3108LU) +); +} + +/* SecurityRejectedRequestsCount - ns=0;i=3107 */ + +static UA_StatusCode function_namespace0_generated_4009_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3107LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4009_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3107LU) +); +} + +/* CumulatedSubscriptionCount - ns=0;i=3106 */ + +static UA_StatusCode function_namespace0_generated_4010_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3106LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4010_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3106LU) +); +} + +/* CurrentSubscriptionCount - ns=0;i=3105 */ + +static UA_StatusCode function_namespace0_generated_4011_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3105LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4011_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3105LU) +); +} + +/* PublishingIntervalCount - ns=0;i=3104 */ + +static UA_StatusCode function_namespace0_generated_4012_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3104LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4012_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3104LU) +); +} + +/* SessionAbortCount - ns=0;i=3102 */ + +static UA_StatusCode function_namespace0_generated_4013_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3102LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4013_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3102LU) +); +} + +/* SessionTimeoutCount - ns=0;i=3101 */ + +static UA_StatusCode function_namespace0_generated_4014_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3101LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4014_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3101LU) +); +} + +/* RejectedSessionCount - ns=0;i=3100 */ + +static UA_StatusCode function_namespace0_generated_4015_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3100LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4015_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3100LU) +); +} + +/* SecurityRejectedSessionCount - ns=0;i=3099 */ + +static UA_StatusCode function_namespace0_generated_4016_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3099LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4016_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3099LU) +); +} + +/* CumulatedSessionCount - ns=0;i=3098 */ + +static UA_StatusCode function_namespace0_generated_4017_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3098LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4017_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3098LU) +); +} + +/* CurrentSessionCount - ns=0;i=3097 */ + +static UA_StatusCode function_namespace0_generated_4018_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3097LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4018_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3097LU) +); +} + +/* ServerViewCount - ns=0;i=3096 */ + +static UA_StatusCode function_namespace0_generated_4019_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3096LU), +UA_NODEID_NUMERIC(ns[0], 3095LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4019_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3096LU) +); +} + +/* ServerCapabilities - ns=0;i=2009 */ + +static UA_StatusCode function_namespace0_generated_4020_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), +UA_NODEID_NUMERIC(ns[0], 2013LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4020_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2009LU) +); +} + +/* AggregateFunctions - ns=0;i=3094 */ + +static UA_StatusCode function_namespace0_generated_4021_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3094LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4021_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3094LU) +); +} + +/* ModellingRules - ns=0;i=3093 */ + +static UA_StatusCode function_namespace0_generated_4022_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRules"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3093LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModellingRules"), +UA_NODEID_NUMERIC(ns[0], 61LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4022_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3093LU) +); +} + +/* SoftwareCertificates - ns=0;i=3092 */ + +static UA_StatusCode function_namespace0_generated_4023_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareCertificates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3092LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareCertificates"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4023_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3092LU) +); +} + +/* MaxHistoryContinuationPoints - ns=0;i=3091 */ + +static UA_StatusCode function_namespace0_generated_4024_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxHistoryContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3091LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxHistoryContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4024_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3091LU) +); +} + +/* MaxQueryContinuationPoints - ns=0;i=3090 */ + +static UA_StatusCode function_namespace0_generated_4025_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxQueryContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3090LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxQueryContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4025_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3090LU) +); +} + +/* MaxBrowseContinuationPoints - ns=0;i=3089 */ + +static UA_StatusCode function_namespace0_generated_4026_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxBrowseContinuationPoints"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3089LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MaxBrowseContinuationPoints"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4026_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3089LU) +); +} + +/* MinSupportedSampleRate - ns=0;i=3088 */ + +static UA_StatusCode function_namespace0_generated_4027_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MinSupportedSampleRate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3088LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "MinSupportedSampleRate"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4027_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3088LU) +); +} + +/* LocaleIdArray - ns=0;i=3087 */ + +static UA_StatusCode function_namespace0_generated_4028_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIdArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3087LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocaleIdArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4028_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3087LU) +); +} + +/* ServerProfileArray - ns=0;i=3086 */ + +static UA_StatusCode function_namespace0_generated_4029_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerProfileArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3086LU), +UA_NODEID_NUMERIC(ns[0], 2009LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerProfileArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4029_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3086LU) +); +} + +/* ServiceLevel - ns=0;i=2008 */ + +static UA_StatusCode function_namespace0_generated_4030_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceLevel"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2008LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServiceLevel"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4030_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2008LU) +); +} + +/* ServerStatus - ns=0;i=2007 */ + +static UA_StatusCode function_namespace0_generated_4031_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 862LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatus"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerStatus"), +UA_NODEID_NUMERIC(ns[0], 2138LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4031_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2007LU) +); +} + +/* ShutdownReason - ns=0;i=3085 */ + +static UA_StatusCode function_namespace0_generated_4032_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ShutdownReason"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3085LU), +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ShutdownReason"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4032_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3085LU) +); +} + +/* SecondsTillShutdown - ns=0;i=3084 */ + +static UA_StatusCode function_namespace0_generated_4033_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SecondsTillShutdown"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3084LU), +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecondsTillShutdown"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4033_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3084LU) +); +} + +/* BuildInfo - ns=0;i=3077 */ + +static UA_StatusCode function_namespace0_generated_4034_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfo"), +UA_NODEID_NUMERIC(ns[0], 3051LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4034_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3077LU) +); +} + +/* BuildDate - ns=0;i=3083 */ + +static UA_StatusCode function_namespace0_generated_4035_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3083LU), +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildDate"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4035_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3083LU) +); +} + +/* BuildNumber - ns=0;i=3082 */ + +static UA_StatusCode function_namespace0_generated_4036_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3082LU), +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildNumber"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4036_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3082LU) +); +} + +/* SoftwareVersion - ns=0;i=3081 */ + +static UA_StatusCode function_namespace0_generated_4037_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3081LU), +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4037_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3081LU) +); +} + +/* ProductName - ns=0;i=3080 */ + +static UA_StatusCode function_namespace0_generated_4038_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3080LU), +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4038_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3080LU) +); +} + +/* ManufacturerName - ns=0;i=3079 */ + +static UA_StatusCode function_namespace0_generated_4039_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3079LU), +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4039_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3079LU) +); +} + +/* ProductUri - ns=0;i=3078 */ + +static UA_StatusCode function_namespace0_generated_4040_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3078LU), +UA_NODEID_NUMERIC(ns[0], 3077LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProductUri"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4040_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3078LU) +); +} + +/* State - ns=0;i=3076 */ + +static UA_StatusCode function_namespace0_generated_4041_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); +attr.displayName = UA_LOCALIZEDTEXT("", "State"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3076LU), +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "State"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4041_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3076LU) +); +} + +/* CurrentTime - ns=0;i=3075 */ + +static UA_StatusCode function_namespace0_generated_4042_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrentTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3075LU), +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrentTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4042_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3075LU) +); +} + +/* StartTime - ns=0;i=3074 */ + +static UA_StatusCode function_namespace0_generated_4043_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); +attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3074LU), +UA_NODEID_NUMERIC(ns[0], 2007LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StartTime"), +UA_NODEID_NUMERIC(ns[0], 63LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4043_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3074LU) +); +} + +/* NamespaceArray - ns=0;i=2006 */ + +static UA_StatusCode function_namespace0_generated_4044_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2006LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4044_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2006LU) +); +} + +/* ServerArray - ns=0;i=2005 */ + +static UA_StatusCode function_namespace0_generated_4045_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 2005LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "ServerArray"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4045_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 2005LU) +); +} + +/* LocalTime - ns=0;i=17612 */ + +static UA_StatusCode function_namespace0_generated_4046_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17612LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "LocalTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4046_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17612LU) +); +} + +/* UrisVersion - ns=0;i=15003 */ + +static UA_StatusCode function_namespace0_generated_4047_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); +attr.displayName = UA_LOCALIZEDTEXT("", "UrisVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15003LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "UrisVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4047_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15003LU) +); +} + +/* RequestServerStateChange - ns=0;i=12883 */ + +static UA_StatusCode function_namespace0_generated_4048_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "RequestServerStateChange"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12883LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RequestServerStateChange"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4048_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12883LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12884 */ + +static UA_StatusCode function_namespace0_generated_4049_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 5; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12884_variant_DataContents[5]; + +UA_init(&variablenode_ns_0_i_12884_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12884_variant_DataContents[0].name = UA_STRING("State"); +variablenode_ns_0_i_12884_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 852LU); +variablenode_ns_0_i_12884_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12884_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12884_variant_DataContents[1].name = UA_STRING("EstimatedReturnTime"); +variablenode_ns_0_i_12884_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +variablenode_ns_0_i_12884_variant_DataContents[1].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12884_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12884_variant_DataContents[2].name = UA_STRING("SecondsTillShutdown"); +variablenode_ns_0_i_12884_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12884_variant_DataContents[2].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12884_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12884_variant_DataContents[3].name = UA_STRING("Reason"); +variablenode_ns_0_i_12884_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +variablenode_ns_0_i_12884_variant_DataContents[3].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12884_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12884_variant_DataContents[4].name = UA_STRING("Restart"); +variablenode_ns_0_i_12884_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +variablenode_ns_0_i_12884_variant_DataContents[4].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12884_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12884LU), +UA_NODEID_NUMERIC(ns[0], 12883LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + + + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4049_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12884LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* EstimatedReturnTime - ns=0;i=12882 */ + +static UA_StatusCode function_namespace0_generated_4050_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 1000.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EstimatedReturnTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12882LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "EstimatedReturnTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4050_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12882LU) +); +} + +/* ResendData - ns=0;i=12871 */ + +static UA_StatusCode function_namespace0_generated_4051_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "ResendData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12871LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ResendData"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4051_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12871LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12872 */ + +static UA_StatusCode function_namespace0_generated_4052_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12872_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12872_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12872_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_12872_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12872_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12872_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12872LU), +UA_NODEID_NUMERIC(ns[0], 12871LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4052_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12872LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* SetSubscriptionDurable - ns=0;i=12746 */ + +static UA_StatusCode function_namespace0_generated_4053_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "SetSubscriptionDurable"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 12746LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SetSubscriptionDurable"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4053_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12746LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=12748 */ + +static UA_StatusCode function_namespace0_generated_4054_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12748_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_12748_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12748_variant_DataContents[0].name = UA_STRING("RevisedLifetimeInHours"); +variablenode_ns_0_i_12748_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12748_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12748_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12748LU), +UA_NODEID_NUMERIC(ns[0], 12746LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4054_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12748LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=12747 */ + +static UA_StatusCode function_namespace0_generated_4055_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_12747_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_12747_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12747_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_12747_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12747_variant_DataContents[0].valueRank = (UA_Int32) -1; + +UA_init(&variablenode_ns_0_i_12747_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_12747_variant_DataContents[1].name = UA_STRING("LifetimeInHours"); +variablenode_ns_0_i_12747_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_12747_variant_DataContents[1].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12747_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12747LU), +UA_NODEID_NUMERIC(ns[0], 12746LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4055_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12747LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* Namespaces - ns=0;i=11527 */ + +static UA_StatusCode function_namespace0_generated_4056_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Namespaces"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11527LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Namespaces"), +UA_NODEID_NUMERIC(ns[0], 11645LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4056_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11527LU) +); +} + +/* GetMonitoredItems - ns=0;i=11489 */ + +static UA_StatusCode function_namespace0_generated_4057_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_MethodAttributes attr = UA_MethodAttributes_default; +attr.executable = true; +attr.userExecutable = true; +attr.displayName = UA_LOCALIZEDTEXT("", "GetMonitoredItems"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, +UA_NODEID_NUMERIC(ns[0], 11489LU), +UA_NODEID_NUMERIC(ns[0], 2004LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "GetMonitoredItems"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4057_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addMethodNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11489LU) +, NULL, 0, NULL, 0, NULL); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* OutputArguments - ns=0;i=11491 */ + +static UA_StatusCode function_namespace0_generated_4058_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 2; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11491_variant_DataContents[2]; + +UA_init(&variablenode_ns_0_i_11491_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11491_variant_DataContents[0].name = UA_STRING("ServerHandles"); +variablenode_ns_0_i_11491_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11491_variant_DataContents[0].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_11491_variant_DataContents[0].arrayDimensionsSize = 1; +variablenode_ns_0_i_11491_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions; + +UA_init(&variablenode_ns_0_i_11491_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11491_variant_DataContents[1].name = UA_STRING("ClientHandles"); +variablenode_ns_0_i_11491_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11491_variant_DataContents[1].valueRank = (UA_Int32) 1; +UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions, 1); +UA_init(variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); +variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; +variablenode_ns_0_i_11491_variant_DataContents[1].arrayDimensionsSize = 1; +variablenode_ns_0_i_11491_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11491_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11491LU), +UA_NODEID_NUMERIC(ns[0], 11489LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4058_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11491LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* InputArguments - ns=0;i=11490 */ + +static UA_StatusCode function_namespace0_generated_4059_begin(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 1; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +UA_Argument variablenode_ns_0_i_11490_variant_DataContents[1]; + +UA_init(&variablenode_ns_0_i_11490_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); +variablenode_ns_0_i_11490_variant_DataContents[0].name = UA_STRING("SubscriptionId"); +variablenode_ns_0_i_11490_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +variablenode_ns_0_i_11490_variant_DataContents[0].valueRank = (UA_Int32) -1; +UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11490_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11490LU), +UA_NODEID_NUMERIC(ns[0], 11489LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; + +return retVal; +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +static UA_StatusCode function_namespace0_generated_4059_finish(UA_Server *server, UA_UInt16* ns) { +#ifdef UA_ENABLE_METHODCALLS +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11490LU) +); +#else +return UA_STATUSCODE_GOOD; +#endif /* UA_ENABLE_METHODCALLS */ +} + +/* DefaultInstanceBrowseName - ns=0;i=17605 */ + +static UA_StatusCode function_namespace0_generated_4060_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DefaultInstanceBrowseName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17605LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "DefaultInstanceBrowseName"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4060_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17605LU) +); +} + +/* OutputArguments - ns=0;i=3073 */ + +static UA_StatusCode function_namespace0_generated_4061_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3073LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "OutputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4061_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3073LU) +); +} + +/* InputArguments - ns=0;i=3072 */ + +static UA_StatusCode function_namespace0_generated_4062_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); +attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3072LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "InputArguments"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4062_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3072LU) +); +} + +/* OptionSetLength - ns=0;i=32750 */ + +static UA_StatusCode function_namespace0_generated_4063_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32750LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4063_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32750LU) +); +} + +/* OptionSetValues - ns=0;i=12745 */ + +static UA_StatusCode function_namespace0_generated_4064_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12745LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4064_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12745LU) +); +} + +/* EnumValues - ns=0;i=3071 */ + +static UA_StatusCode function_namespace0_generated_4065_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3071LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "EnumValues"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4065_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3071LU) +); +} + +/* EnumStrings - ns=0;i=11432 */ + +static UA_StatusCode function_namespace0_generated_4066_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +attr.valueRank = 1; +attr.arrayDimensionsSize = 1; +UA_UInt32 arrayDimensions[1]; +arrayDimensions[0] = 0; +attr.arrayDimensions = &arrayDimensions[0]; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11432LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "EnumStrings"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4066_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11432LU) +); +} + +/* EngineeringUnits - ns=0;i=11513 */ + +static UA_StatusCode function_namespace0_generated_4067_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); +attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11513LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4067_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11513LU) +); +} + +/* MaxArrayLength - ns=0;i=11512 */ + +static UA_StatusCode function_namespace0_generated_4068_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxArrayLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11512LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MaxArrayLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4068_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11512LU) +); +} + +/* MaxByteStringLength - ns=0;i=12908 */ + +static UA_StatusCode function_namespace0_generated_4069_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12908LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4069_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12908LU) +); +} + +/* MaxCharacters - ns=0;i=15002 */ + +static UA_StatusCode function_namespace0_generated_4070_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxCharacters"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15002LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MaxCharacters"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4070_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15002LU) +); +} + +/* MaxStringLength - ns=0;i=11498 */ + +static UA_StatusCode function_namespace0_generated_4071_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "MaxStringLength"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11498LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MaxStringLength"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4071_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11498LU) +); +} + +/* ValueAsText - ns=0;i=11433 */ + +static UA_StatusCode function_namespace0_generated_4072_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsText"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11433LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "ValueAsText"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4072_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11433LU) +); +} + +/* AllowNulls - ns=0;i=3070 */ + +static UA_StatusCode function_namespace0_generated_4073_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "AllowNulls"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3070LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "AllowNulls"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4073_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3070LU) +); +} + +/* LocalTime - ns=0;i=3069 */ + +static UA_StatusCode function_namespace0_generated_4074_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); +attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3069LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "LocalTime"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4074_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3069LU) +); +} + +/* Icon - ns=0;i=3067 */ + +static UA_StatusCode function_namespace0_generated_4075_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 30LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Icon"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3067LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Icon"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4075_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3067LU) +); +} + +/* ViewVersion - ns=0;i=12170 */ + +static UA_StatusCode function_namespace0_generated_4076_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); +attr.displayName = UA_LOCALIZEDTEXT("", "ViewVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12170LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "ViewVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4076_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12170LU) +); +} + +/* NodeVersion - ns=0;i=3068 */ + +static UA_StatusCode function_namespace0_generated_4077_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NodeVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 3068LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "NodeVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4077_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3068LU) +); +} + +/* ModellingRuleType - ns=0;i=77 */ + +static UA_StatusCode function_namespace0_generated_4078_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRuleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 77LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "ModellingRuleType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4078_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 77LU) +); +} + +/* ExposesItsArray - ns=0;i=83 */ + +static UA_StatusCode function_namespace0_generated_4079_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "ExposesItsArray"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 83LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "ExposesItsArray"), +UA_NODEID_NUMERIC(ns[0], 77LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12779LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12784LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12816LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12860LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4079_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 83LU) +); +} + +/* Optional - ns=0;i=80 */ + +static UA_StatusCode function_namespace0_generated_4080_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Optional"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 80LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Optional"), +UA_NODEID_NUMERIC(ns[0], 77LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15003LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12882LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17612LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11527LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11489LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12871LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12746LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12883LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11549LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11550LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12910LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11551LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16295LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24088LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24089LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24090LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24091LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24103LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24092LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24093LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31770LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2022LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11565LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12161LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12162LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11567LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12163LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12164LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11569LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11570LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11571LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11572LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11573LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11574LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13341LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24244LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25200LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11615LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11624LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16137LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16138LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25267LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3190LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31771LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31772LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31773LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31774LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17615LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24135LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11701LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17633LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17988LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17989LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17990LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2770LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2757LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2758LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2759LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2764LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2765LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2766LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11456LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2773LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17636LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17715LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18773LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18780LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18788LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18789LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18790LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15410LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15411LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16175LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15624LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15626LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16180LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16182LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23525LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2366LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2367LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17567LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17568LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17569LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12024LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9000LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9001LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11110LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11111LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9015LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9016LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9060LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9098LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9113LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9164LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9165LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9166LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9169LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16371LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16376LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9184LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9188LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9216LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16389LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16390LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16380LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16395LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16396LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16397LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16398LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18190LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18195LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16400LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16401LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16402LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16403LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24318LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17869LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24320LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17870LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18199LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24324LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24744LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24758LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24760LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11124LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11125LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11126LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11127LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16572LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16573LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16574LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16575LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24770LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24771LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24772LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24773LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24774LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24775LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24776LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24777LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9465LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10020LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10029LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10034LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10038LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10043LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10047LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10052LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16776LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16858LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16817LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16899LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17217LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2399LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3850LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11876LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2324LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2326LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2327LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2328LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11499LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11500LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19092LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32254LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23563LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23526LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19450LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20143LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13882LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25696LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25724LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25697LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25698LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25699LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32299LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17522LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18004LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18005LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17534LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18008LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15907LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15910LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15913LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25277LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25293LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25298LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25315LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25317LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25624LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25625LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25353LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25356LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25371LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25374LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14432LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25403LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18715LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23642LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23649LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25432LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25433LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32396LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32397LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16759LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25521LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15481LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14555LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14558LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15052LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14479LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14482LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16881LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14485LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16923LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14493LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14496LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16935LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16960LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14499LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16994LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16997LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17203LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19241LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17427LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17465LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14225LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15927LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15928LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17741LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17742LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17812LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17969LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17992LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21015LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21081LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21082LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21085LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15303LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21095LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19550LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15932LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15933LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15934LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15311LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21103LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17386LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17389LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15115LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15118LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23797LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23800LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23802LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23805LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23811LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23816LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23819LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14646LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19729LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19899LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19901LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19954LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19959LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20019LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20021LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20078LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20083LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20085LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20087LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20089LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20091LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20093LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32651LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32653LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32654LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32655LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21109LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23840LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25525LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25526LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21134LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21135LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25527LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23847LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23849LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25528LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24022LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24268LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19083LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26875LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24151LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24184LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24185LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24190LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24194LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24198LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24201LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24208LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24209LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25224LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25229LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25231LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32658LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4080_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 80LU) +); +} + +/* Mandatory - ns=0;i=78 */ + +static UA_StatusCode function_namespace0_generated_4081_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Mandatory"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 78LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Mandatory"), +UA_NODEID_NUMERIC(ns[0], 77LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2005LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3074LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3075LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3077LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3078LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3081LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3082LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3083LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3084LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3085LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2008LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2742LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2009LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3086LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3087LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3088LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3089LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3090LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3091LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3092LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3093LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2010LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3095LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3096LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3097LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3098LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3099LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3104LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3105LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3106LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3108LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3110LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3111LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3112LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3113LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3114LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2011LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2012LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3115LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11490LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11491LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12872LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12747LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12748LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2014LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2016LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2732LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2733LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2734LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3049LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2019LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2754LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16297LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16298LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16299LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16300LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2021LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3116LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3117LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3118LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3119LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3120LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3121LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3122LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3124LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3125LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3126LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3127LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3128LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2744LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3129LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3130LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2027LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12098LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12099LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12103LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12104LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12105LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12106LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12108LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12109LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12110LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12111LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12112LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12113LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12114LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12115LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12116LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12117LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12118LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12119LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12120LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12121LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12122LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12123LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12124LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12125LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12126LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12127LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12128LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12129LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12130LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12131LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12132LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12133LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12134LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12135LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12136LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12137LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12138LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12140LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12141LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12142LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12143LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12144LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12145LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12146LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12147LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12148LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12149LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12150LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12151LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12152LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2030LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3131LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3132LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3133LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3134LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3135LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3136LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3137LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3138LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3140LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3141LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3142LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3143LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8898LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3151LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3152LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3153LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3154LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3155LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3156LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3157LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3158LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3159LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3160LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3161LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3162LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3163LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3164LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3165LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3166LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3167LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3168LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3169LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3170LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3173LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3175LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2031LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3179LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3180LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3181LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3182LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3183LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3184LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3185LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3186LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3187LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2032LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2035LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2037LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2038LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2040LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11576LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12686LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12687LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11579LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11580LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11581LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11582LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11583LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11584LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11585LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11586LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11587LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11588LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11589LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11590LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11591LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11592LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11594LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11619LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11620LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11621LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11623LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11625LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12690LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12691LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11628LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11632LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11633LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11634LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11636LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11637LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11638LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11639LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11640LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11641LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11642LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11643LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11647LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11648LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11649LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11650LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11651LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11653LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2042LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2043LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2044LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2045LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2046LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2047LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2050LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2051LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2053LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2054LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2055LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2056LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2057LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2745LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2061LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2746LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2062LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2063LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2065LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2066LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2070LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2072LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2073LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2747LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2074LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2749LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2077LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11485LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2081LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2083LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2084LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2092LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2096LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2098LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2750LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2103LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2751LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2128LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2129LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11696LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2134LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2739LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12502LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12503LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23908LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23994LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23995LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23998LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23999LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25684LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2140LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2141LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2142LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3698LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3699LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3700LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3701LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3702LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3703LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2752LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2753LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3052LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3053LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3054LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3055LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3056LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3057LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2151LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2152LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2153LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2154LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2155LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2156LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2157LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2159LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2160LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2161LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2162LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2163LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12780LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12781LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12782LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12783LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2166LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11697LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11698LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11699LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12785LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12786LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12787LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12788LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12789LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12790LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12791LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12792LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12793LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12794LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12795LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12796LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12797LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12798LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12799LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12800LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12801LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12802LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12803LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12804LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12805LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12806LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12807LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12808LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12809LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12810LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12811LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12812LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12813LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12815LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2173LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2175LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8888LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2179LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2180LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2181LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2182LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2183LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2184LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2185LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2186LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2187LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2188LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2190LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2191LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2998LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2193LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8889LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8893LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8895LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8896LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8902LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12817LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12818LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12819LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12820LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12821LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12822LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12823LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12824LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12825LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12826LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12827LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12828LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12829LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12830LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12832LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12834LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12836LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12837LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12838LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12840LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12841LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12845LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12846LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12847LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12849LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12850LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12851LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12852LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12854LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12857LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12858LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2198LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2199LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2200LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2201LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2202LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2203LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2204LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3050LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2205LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2206LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2207LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2208LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2209LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2217LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2218LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2219LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2220LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2221LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2222LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2223LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2224LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2225LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2226LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2227LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2228LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2229LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2230LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2231LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2232LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2233LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2234LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2235LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2236LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2237LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2238LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2239LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2240LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2241LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2242LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2730LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2731LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12861LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12862LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12863LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12864LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12865LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12866LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12867LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12869LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2245LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2246LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2247LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2248LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2249LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2250LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2251LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2252LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3058LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11488LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17632LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2769LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3720LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3724LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2763LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2772LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3728LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3732LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2761LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2768LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2308LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15129LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17712LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17713LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18769LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18770LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18771LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18776LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18777LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18778LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18783LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18784LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18785LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18801LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18787LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18796LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18798LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18799LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18800LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18792LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19074LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19075LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2774LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3754LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2775LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3746LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2776LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3750LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2777LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2778LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13355LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13356LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13357LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13358LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13359LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13360LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17718LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13363LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13364LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13365LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13367LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13368LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13369LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13370LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13372LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13373LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13374LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13375LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13376LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13377LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13378LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13379LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13380LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13381LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13382LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13383LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13384LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13386LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13387LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13388LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13389LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13390LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13391LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13392LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13393LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13394LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13395LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13396LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13397LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15745LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15746LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15747LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15748LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15749LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16359LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15750LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15751LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15752LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15753LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15755LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15794LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15816LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15818LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15820LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15822LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15824LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15826LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15828LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15830LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15832LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15834LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15836LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15838LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15840LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16162LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15997LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15998LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15999LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16000LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16001LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16173LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15625LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15627LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16179LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16181LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16183LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23517LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23521LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2369LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17502LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17575LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2374LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2375LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2377LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11241LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12026LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12027LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12037LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12046LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12055LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12056LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12065LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12066LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12067LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8996LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9003LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11112LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11113LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9009LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9010LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9011LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9012LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9020LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9021LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9022LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9024LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9026LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9027LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9029LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9030LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3876LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12913LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9035LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9036LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9055LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9056LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9064LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9065LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9066LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9067LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9068LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9069LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9070LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24313LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9073LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9074LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9093LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9103LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9111LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9112LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9114LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9118LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9119LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9160LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9161LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11120LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9170LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16372LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9179LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9180LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9185LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9213LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9214LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9211LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9212LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9215LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16381LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18191LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24317LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24319LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24321LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24323LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25154LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16407LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16408LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16409LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16410LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16411LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16412LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16414LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16415LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16416LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16417LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16421LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16422LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16423LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16424LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16432LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16433LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16434LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16435LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16436LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16437LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16438LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16439LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16440LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16441LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16442LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16443LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16444LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16462LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16465LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16466LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16474LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9115LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 6098LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 6100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 6101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11323LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11324LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11326LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11327LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2991LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24757LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24759LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24761LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9330LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9332LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9334LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9336LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11340LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11341LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11342LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11343LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9398LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9399LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9455LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9456LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9457LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9462LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9964LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10021LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10030LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10039LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10048LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10522LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9905LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11158LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13326LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13327LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17215LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17216LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17222LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11851LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11852LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17223LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17224LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11854LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17280LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17991LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17282LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17284LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17285LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17286LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17287LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17283LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17288LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17289LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18666LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17278LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32245LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32246LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32247LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32248LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32249LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32250LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3830LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3836LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3838LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2393LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2394LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2395LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3840LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3841LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3845LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3846LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3847LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15038LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15040LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3849LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2407LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2401LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2403LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2405LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2409LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2411LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2413LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2415LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2417LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2419LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2421LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2423LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2425LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2379LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11875LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3825LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3826LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2381LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2382LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2383LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2384LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2386LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2387LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2388LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2389LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2390LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15384LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15386LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15387LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15388LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15389LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15390LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15391LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15392LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15393LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15394LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15395LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3059LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11168LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11169LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11170LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2323LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2331LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2332LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11268LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11269LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2334LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2335LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2336LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2337LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2338LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11278LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11279LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11280LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11501LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11270LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3003LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3029LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3030LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3026LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3031LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3032LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3033LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19293LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19294LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19295LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3027LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3015LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3016LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3034LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3020LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3021LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3024LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12542LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12543LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12544LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12545LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12546LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12705LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12547LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12548LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12549LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12550LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12551LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19446LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19447LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19448LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13602LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13603LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13606LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13607LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13608LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13610LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13611LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13612LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13613LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13614LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13615LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13619LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13620LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13621LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13623LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13624LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13625LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13626LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13627LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13628LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23527LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19451LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19452LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19453LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19454LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19455LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19456LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19458LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19459LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19460LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19464LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19465LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19466LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19467LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19468LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19476LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19477LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19478LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19479LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19480LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19481LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19482LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19483LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19484LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19485LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19486LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19487LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19488LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19505LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19506LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19509LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19510LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19518LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20138LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20141LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20142LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20144LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20145LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20146LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20147LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20148LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20149LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20151LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20152LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20153LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20154LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20157LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20158LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20159LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20160LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20161LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20169LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20170LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20173LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20175LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20179LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20180LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20181LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20198LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20199LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20202LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20203LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20211LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20249LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20286LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20287LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20288LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20289LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13815LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13816LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13817LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13818LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13819LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13821LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13822LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13823LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13824LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13825LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13826LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13827LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13828LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13829LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13830LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13832LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13834LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13836LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13837LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13838LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13840LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13841LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13845LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13846LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13847LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13849LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13850LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13851LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13852LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13857LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13858LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13860LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13861LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13862LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13863LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13864LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13865LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13866LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13867LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13869LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13870LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13871LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13872LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13873LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13875LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13876LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13877LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13878LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13879LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13880LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13881LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13883LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13885LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13886LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13887LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13889LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13893LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13895LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13896LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13898LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13899LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13901LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13902LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13903LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13904LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13905LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13906LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13907LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13908LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13909LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13910LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13911LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13913LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13914LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13915LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13917LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13918LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13919LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13920LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13921LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13923LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13924LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13925LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13926LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13927LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13928LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13929LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13930LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13931LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13932LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13933LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13934LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13935LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13936LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13937LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13938LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13939LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13940LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13941LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13942LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13944LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13945LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13946LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13947LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32287LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32288LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32289LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32290LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32291LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32292LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13950LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13951LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13952LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13953LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13954LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13955LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13956LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13958LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13959LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13960LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13961LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13962LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13963LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13964LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13965LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13966LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13967LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13968LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13969LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13970LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13971LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13972LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13973LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13974LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13975LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13976LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13977LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13978LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13979LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13980LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13981LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13982LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13983LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13984LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12708LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12583LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12584LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12585LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32297LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32298LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12734LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12731LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12732LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12733LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12775LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12776LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32300LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32301LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32302LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32303LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32304LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32305LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13735LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13736LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17512LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17513LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17523LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17524LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18069LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18165LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17535LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17536LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18064LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23558LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23559LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23560LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18072LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17860LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18073LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11188LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11190LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11191LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15908LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15909LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15911LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15914LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15915LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15916LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15917LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15918LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25278LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25279LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25280LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25282LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15454LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15455LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15456LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15457LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15458LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25294LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25295LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25297LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15460LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15010LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15011LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15012LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15043LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15462LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15463LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15464LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15465LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25313LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25314LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15472LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15046LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15047LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15048LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15056LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25627LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25628LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25634LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25340LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25636LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25637LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25638LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25639LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25640LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25641LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25642LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25643LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25644LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25646LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25647LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25348LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25349LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25350LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25351LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25352LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25354LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25355LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25357LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25648LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25649LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25361LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25650LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25651LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25653LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25654LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25655LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25656LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25657LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25658LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25660LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25661LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25366LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25367LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25368LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25369LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25370LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25372LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25373LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25375LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14418LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17292LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17706LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17478LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14423LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15533LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17503LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14419LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17297LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14433LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14434LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25404LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25405LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25406LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25407LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25411LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25412LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25413LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25414LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25415LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25416LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25417LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25418LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25419LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25421LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25422LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25423LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25424LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25425LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25426LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25427LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25428LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25429LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25430LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25431LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15845LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18716LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18717LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18718LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18720LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18722LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18723LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18724LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18725LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18727LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18728LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18729LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18730LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18731LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18732LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18733LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18735LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18736LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18737LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18738LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18740LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18741LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18742LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18743LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18745LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18746LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18747LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18748LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18750LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18751LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18752LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18753LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18755LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18757LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18758LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18760LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18761LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18762LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18763LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18764LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18765LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18766LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18767LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18768LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23643LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23644LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23646LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23647LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23648LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17479LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25505LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25506LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25507LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25508LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25509LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25510LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16720LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16721LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17482LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15223LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15224LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15229LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15482LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15483LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15484LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15485LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15486LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15491LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15492LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15493LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15494LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15495LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14548LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14556LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14557LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14559LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14560LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14586LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14587LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14588LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15053LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15517LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14480LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14481LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14483LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14484LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16882LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16883LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14486LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16922LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16924LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14489LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15221LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14494LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14495LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14497LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14498LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16958LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16959LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16961LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16971LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14500LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16995LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16996LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14595LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17306LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17710LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17485LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14221LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17202LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17576LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17311LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17204LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17486LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17314LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17315LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17214LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17318LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17319LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17321LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17558LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17326LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17302LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17487LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17329LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17330LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19242LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19243LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19244LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19245LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19246LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19248LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19249LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19250LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19251LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19253LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19254LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19255LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19256LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19257LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19258LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19259LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19261LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19262LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19263LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19264LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19266LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19267LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19268LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19269LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19271LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19272LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19273LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19274LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19276LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19277LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19278LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19279LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19282LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19283LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19284LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19286LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19287LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19288LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17428LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17456LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17507LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17508LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14226LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15926LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17724LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17488LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15265LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15266LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17736LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17737LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17738LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17739LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17740LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17559LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17744LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17745LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17490LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17749LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17750LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17813LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17815LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17816LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17817LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17819LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17820LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17821LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17822LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17824LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17825LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17826LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17827LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17828LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17829LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17830LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17832LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17834LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17837LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17838LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17840LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17842LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17845LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17847LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17849LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17850LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17854LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17864LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17871LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17872LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17878LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17885LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17901LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17902LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17903LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17858LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17913LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17920LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17927LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17934LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17976LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17987LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17993LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18077LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18078LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18081LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18082LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17560LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17562LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17492LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18088LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18089LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21016LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21018LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21019LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21020LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21022LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21024LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21025LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21027LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21028LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21029LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21030LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21031LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21032LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21033LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21035LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21036LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21037LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21038LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21040LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21041LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21042LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21043LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21045LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21046LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21047LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21048LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21050LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21051LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21052LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21053LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21055LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21056LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21057LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21058LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21061LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21062LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21063LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21064LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21060LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21077LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21078LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21083LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21084LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21086LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21092LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21093LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17493LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15299LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15300LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19551LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19552LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19553LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19554LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19555LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19557LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19558LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19559LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19560LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19562LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19563LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19564LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19565LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19566LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19567LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19568LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19570LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19571LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19572LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19573LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19575LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19576LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19577LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19578LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19580LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19581LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19582LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19583LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19585LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19586LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19587LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19588LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19590LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19591LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19592LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19596LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19597LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19595LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21097LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21098LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21099LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17563LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17564LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17494LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15307LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15308LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19610LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19611LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19612LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19613LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19614LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19619LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19621LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19623LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19624LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19625LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19626LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19627LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19632LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19634LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19636LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19637LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19639LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19640LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19641LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19642LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19644LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19646LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19647LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19649LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19650LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19651LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19655LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19656LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19657LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19658LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19654LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17387LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17388LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17390LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17391LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15114LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15116LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15117LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15119LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15120LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23798LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23799LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23801LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23803LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23804LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23806LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23808LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23809LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23810LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23812LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23813LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23815LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23817LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23818LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23820LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23829LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23830LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14644LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19678LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19679LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19680LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19681LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19682LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19684LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19685LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19686LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19687LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19689LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19690LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19691LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19692LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19693LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19694LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19695LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19697LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19698LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19699LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19700LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19702LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19703LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19704LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19705LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19707LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19708LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19709LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19710LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19712LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19713LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19714LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19715LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19717LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19718LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19720LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19722LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19726LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19727LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19728LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19777LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19778LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19779LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19780LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19781LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19782LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19783LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19784LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19785LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19831LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19832LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19880LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19881LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19882LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19883LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19885LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19886LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19887LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19888LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19893LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19879LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19895LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19896LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19898LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19902LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19917LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19950LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19951LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19952LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19955LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19956LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19957LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19960LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19961LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19962LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19964LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19965LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19966LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19967LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19982LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20014LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20015LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20016LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20013LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20020LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20022LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20024LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20026LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20041LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20073LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20074LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20075LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20081LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20072LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20084LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20086LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20088LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20090LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20092LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20094LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23833LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23834LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23835LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23836LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23837LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23838LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15545LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15546LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15547LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15561LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15562LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15576LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21106LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21108LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21110LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21112LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21113LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21114LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21115LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21117LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21119LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17477LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21120LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21121LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21122LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21123LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21124LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21125LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21127LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21129LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21131LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21132LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15072LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15154LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17579LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23843LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24018LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24019LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15156LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21137LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15246LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15247LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15249LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21139LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21140LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15250LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15251LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15330LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21141LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21143LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15334LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15419LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15420LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21144LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21146LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17582LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21149LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23459LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23460LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23461LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23462LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23463LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23464LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24265LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24266LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24267LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24269LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24270LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24271LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24272LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24273LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24274LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24275LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24276LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19082LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19090LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26850LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26851LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26852LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26849LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26872LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26873LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26876LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26879LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26880LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26881LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26882LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26883LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26885LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26889LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26893LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26895LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26896LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26898LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26899LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26901LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26902LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26903LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26904LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26907LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26908LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26909LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26910LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26911LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26913LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26914LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26915LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26916LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26917LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27997LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27998LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27999LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28000LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28001LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28002LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28003LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28005LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28008LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28010LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28011LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28012LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28013LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28014LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27996LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24149LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24150LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24152LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24157LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24159LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24164LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24165LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24166LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24234LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24168LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25219LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24170LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24175LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24180LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24181LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24182LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24186LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24187LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24200LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24203LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24204LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24206LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24207LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25222LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25223LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25225LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25252LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25228LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25230LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25232LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4081_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 78LU) +); +} + +/* MandatoryPlaceholder - ns=0;i=11510 */ + +static UA_StatusCode function_namespace0_generated_4082_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "MandatoryPlaceholder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11510LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "MandatoryPlaceholder"), +UA_NODEID_NUMERIC(ns[0], 77LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4082_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11510LU) +); +} + +/* OptionalPlaceholder - ns=0;i=11508 */ + +static UA_StatusCode function_namespace0_generated_4083_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OptionalPlaceholder"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11508LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "OptionalPlaceholder"), +UA_NODEID_NUMERIC(ns[0], 77LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11562LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12097LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11646LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13354LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13366LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15754LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15608LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17590LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17592LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16399LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16406LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32226LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2426LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2427LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2428LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13916LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17511LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23557LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15453LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15459LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25626LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25347LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25358LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14417LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24009LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15222LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15490LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14478LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14487LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17310LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17743LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18076LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23796LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23807LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23457LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23458LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26878LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25226LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4083_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11508LU) +); +} + +/* DataTypeEncodingType - ns=0;i=76 */ + +static UA_StatusCode function_namespace0_generated_4084_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeEncodingType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 76LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeEncodingType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4084_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 76LU) +); +} + +/* Default Binary - ns=0;i=950 */ + +static UA_StatusCode function_namespace0_generated_4085_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 950LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 950LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4085_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 950LU) +); +} + +/* Default XML - ns=0;i=949 */ + +static UA_StatusCode function_namespace0_generated_4086_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 949LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 949LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4086_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 949LU) +); +} + +/* Default Binary - ns=0;i=940 */ + +static UA_StatusCode function_namespace0_generated_4087_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 940LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 940LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 938LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4087_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 940LU) +); +} + +/* Default XML - ns=0;i=939 */ + +static UA_StatusCode function_namespace0_generated_4088_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 939LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 939LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 938LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4088_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 939LU) +); +} + +/* Default Binary - ns=0;i=922 */ + +static UA_StatusCode function_namespace0_generated_4089_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 922LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 922LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 920LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4089_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 922LU) +); +} + +/* Default XML - ns=0;i=921 */ + +static UA_StatusCode function_namespace0_generated_4090_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 921LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 921LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 920LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4090_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 921LU) +); +} + +/* Default Binary - ns=0;i=899 */ + +static UA_StatusCode function_namespace0_generated_4091_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 899LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 899LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4091_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 899LU) +); +} + +/* Default XML - ns=0;i=898 */ + +static UA_StatusCode function_namespace0_generated_4092_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 898LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 898LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4092_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 898LU) +); +} + +/* Default Binary - ns=0;i=896 */ + +static UA_StatusCode function_namespace0_generated_4093_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 896LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 896LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4093_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 896LU) +); +} + +/* Default XML - ns=0;i=895 */ + +static UA_StatusCode function_namespace0_generated_4094_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 895LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 895LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4094_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 895LU) +); +} + +/* Default Binary - ns=0;i=893 */ + +static UA_StatusCode function_namespace0_generated_4095_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 893LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 893LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4095_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 893LU) +); +} + +/* Default XML - ns=0;i=892 */ + +static UA_StatusCode function_namespace0_generated_4096_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 892LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 892LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4096_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 892LU) +); +} + +/* Default Binary - ns=0;i=8917 */ + +static UA_StatusCode function_namespace0_generated_4097_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 8917LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8917LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4097_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8917LU) +); +} + +/* Default XML - ns=0;i=8913 */ + +static UA_StatusCode function_namespace0_generated_4098_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 8913LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8913LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4098_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8913LU) +); +} + +/* Default Binary - ns=0;i=889 */ + +static UA_StatusCode function_namespace0_generated_4099_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 889LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 889LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 887LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4099_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 889LU) +); +} + +/* Default XML - ns=0;i=888 */ + +static UA_StatusCode function_namespace0_generated_4100_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 888LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 888LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 887LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4100_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 888LU) +); +} + +/* Default Binary - ns=0;i=886 */ + +static UA_StatusCode function_namespace0_generated_4101_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 886LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 886LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4101_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 886LU) +); +} + +/* Default XML - ns=0;i=885 */ + +static UA_StatusCode function_namespace0_generated_4102_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 885LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 885LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4102_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 885LU) +); +} + +/* Default Binary - ns=0;i=879 */ + +static UA_StatusCode function_namespace0_generated_4103_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 879LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 879LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 877LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4103_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 879LU) +); +} + +/* Default XML - ns=0;i=878 */ + +static UA_StatusCode function_namespace0_generated_4104_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 878LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 878LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 877LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4104_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 878LU) +); +} + +/* Default Binary - ns=0;i=876 */ + +static UA_StatusCode function_namespace0_generated_4105_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 876LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 876LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4105_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 876LU) +); +} + +/* Default XML - ns=0;i=875 */ + +static UA_StatusCode function_namespace0_generated_4106_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 875LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 875LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4106_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 875LU) +); +} + +/* Default Binary - ns=0;i=873 */ + +static UA_StatusCode function_namespace0_generated_4107_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 873LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 873LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 871LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4107_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 873LU) +); +} + +/* Default XML - ns=0;i=872 */ + +static UA_StatusCode function_namespace0_generated_4108_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 872LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 872LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 871LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4108_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 872LU) +); +} + +/* Default Binary - ns=0;i=870 */ + +static UA_StatusCode function_namespace0_generated_4109_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 870LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 870LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4109_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 870LU) +); +} + +/* Default XML - ns=0;i=869 */ + +static UA_StatusCode function_namespace0_generated_4110_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 869LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 869LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4110_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 869LU) +); +} + +/* Default Binary - ns=0;i=867 */ + +static UA_StatusCode function_namespace0_generated_4111_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 867LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 867LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 865LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4111_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 867LU) +); +} + +/* Default XML - ns=0;i=866 */ + +static UA_StatusCode function_namespace0_generated_4112_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 866LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 866LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 865LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4112_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 866LU) +); +} + +/* Default Binary - ns=0;i=864 */ + +static UA_StatusCode function_namespace0_generated_4113_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 864LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 864LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 862LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4113_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 864LU) +); +} + +/* Default XML - ns=0;i=863 */ + +static UA_StatusCode function_namespace0_generated_4114_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 863LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 863LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 862LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4114_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 863LU) +); +} + +/* Default Binary - ns=0;i=861 */ + +static UA_StatusCode function_namespace0_generated_4115_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 861LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 861LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4115_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 861LU) +); +} + +/* Default XML - ns=0;i=860 */ + +static UA_StatusCode function_namespace0_generated_4116_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 860LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 860LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4116_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 860LU) +); +} + +/* Default Binary - ns=0;i=858 */ + +static UA_StatusCode function_namespace0_generated_4117_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 858LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 858LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4117_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 858LU) +); +} + +/* Default XML - ns=0;i=857 */ + +static UA_StatusCode function_namespace0_generated_4118_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 857LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 857LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4118_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 857LU) +); +} + +/* Default Binary - ns=0;i=855 */ + +static UA_StatusCode function_namespace0_generated_4119_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 855LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 855LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4119_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 855LU) +); +} + +/* Default XML - ns=0;i=854 */ + +static UA_StatusCode function_namespace0_generated_4120_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 854LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 854LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4120_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 854LU) +); +} + +/* Default Binary - ns=0;i=8251 */ + +static UA_StatusCode function_namespace0_generated_4121_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 8251LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8251LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7594LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4121_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8251LU) +); +} + +/* Default XML - ns=0;i=7616 */ + +static UA_StatusCode function_namespace0_generated_4122_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 7616LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7616LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7594LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4122_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7616LU) +); +} + +/* Default Binary - ns=0;i=727 */ + +static UA_StatusCode function_namespace0_generated_4123_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 727LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 727LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 725LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4123_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 727LU) +); +} + +/* Default XML - ns=0;i=726 */ + +static UA_StatusCode function_namespace0_generated_4124_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 726LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 726LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 725LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4124_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 726LU) +); +} + +/* Default Binary - ns=0;i=721 */ + +static UA_StatusCode function_namespace0_generated_4125_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 721LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 721LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4125_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 721LU) +); +} + +/* Default XML - ns=0;i=720 */ + +static UA_StatusCode function_namespace0_generated_4126_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 720LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 720LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4126_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 720LU) +); +} + +/* Default Binary - ns=0;i=661 */ + +static UA_StatusCode function_namespace0_generated_4127_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 661LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 661LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4127_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 661LU) +); +} + +/* Default XML - ns=0;i=660 */ + +static UA_StatusCode function_namespace0_generated_4128_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 660LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 660LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4128_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 660LU) +); +} + +/* Default Binary - ns=0;i=603 */ + +static UA_StatusCode function_namespace0_generated_4129_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 603LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 603LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4129_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 603LU) +); +} + +/* Default XML - ns=0;i=602 */ + +static UA_StatusCode function_namespace0_generated_4130_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 602LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 602LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4130_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 602LU) +); +} + +/* Default Binary - ns=0;i=600 */ + +static UA_StatusCode function_namespace0_generated_4131_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 600LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 600LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4131_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 600LU) +); +} + +/* Default XML - ns=0;i=599 */ + +static UA_StatusCode function_namespace0_generated_4132_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 599LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 599LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4132_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 599LU) +); +} + +/* Default Binary - ns=0;i=597 */ + +static UA_StatusCode function_namespace0_generated_4133_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 597LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 597LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 595LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4133_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 597LU) +); +} + +/* Default XML - ns=0;i=596 */ + +static UA_StatusCode function_namespace0_generated_4134_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 596LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 596LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 595LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4134_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 596LU) +); +} + +/* Default Binary - ns=0;i=594 */ + +static UA_StatusCode function_namespace0_generated_4135_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 594LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 594LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 592LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4135_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 594LU) +); +} + +/* Default XML - ns=0;i=593 */ + +static UA_StatusCode function_namespace0_generated_4136_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 593LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 593LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 592LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4136_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 593LU) +); +} + +/* Default Binary - ns=0;i=591 */ + +static UA_StatusCode function_namespace0_generated_4137_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 591LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 591LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 589LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4137_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 591LU) +); +} + +/* Default XML - ns=0;i=590 */ + +static UA_StatusCode function_namespace0_generated_4138_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 590LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 590LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 589LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4138_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 590LU) +); +} + +/* Default Binary - ns=0;i=588 */ + +static UA_StatusCode function_namespace0_generated_4139_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 588LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 588LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 586LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4139_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 588LU) +); +} + +/* Default XML - ns=0;i=587 */ + +static UA_StatusCode function_namespace0_generated_4140_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 587LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 587LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 586LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4140_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 587LU) +); +} + +/* Default Binary - ns=0;i=585 */ + +static UA_StatusCode function_namespace0_generated_4141_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 585LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 585LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 583LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4141_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 585LU) +); +} + +/* Default XML - ns=0;i=584 */ + +static UA_StatusCode function_namespace0_generated_4142_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 584LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 584LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 583LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4142_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 584LU) +); +} + +/* Default Binary - ns=0;i=542 */ + +static UA_StatusCode function_namespace0_generated_4143_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 542LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 542LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 540LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4143_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 542LU) +); +} + +/* Default XML - ns=0;i=541 */ + +static UA_StatusCode function_namespace0_generated_4144_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 541LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 541LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 540LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4144_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 541LU) +); +} + +/* Default Binary - ns=0;i=539 */ + +static UA_StatusCode function_namespace0_generated_4145_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 539LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 539LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 537LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4145_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 539LU) +); +} + +/* Default XML - ns=0;i=538 */ + +static UA_StatusCode function_namespace0_generated_4146_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 538LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 538LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 537LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4146_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 538LU) +); +} + +/* Default Binary - ns=0;i=434 */ + +static UA_StatusCode function_namespace0_generated_4147_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 434LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 434LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 432LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4147_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 434LU) +); +} + +/* Default XML - ns=0;i=433 */ + +static UA_StatusCode function_namespace0_generated_4148_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 433LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 433LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 432LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4148_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 433LU) +); +} + +/* Default Binary - ns=0;i=387 */ + +static UA_StatusCode function_namespace0_generated_4149_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 387LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 387LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4149_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 387LU) +); +} + +/* Default XML - ns=0;i=386 */ + +static UA_StatusCode function_namespace0_generated_4150_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 386LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 386LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4150_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 386LU) +); +} + +/* Default Binary - ns=0;i=384 */ + +static UA_StatusCode function_namespace0_generated_4151_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 384LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 384LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 382LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4151_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 384LU) +); +} + +/* Default XML - ns=0;i=383 */ + +static UA_StatusCode function_namespace0_generated_4152_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 383LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 383LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 382LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4152_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 383LU) +); +} + +/* Default Binary - ns=0;i=381 */ + +static UA_StatusCode function_namespace0_generated_4153_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 381LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 381LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 379LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4153_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 381LU) +); +} + +/* Default XML - ns=0;i=380 */ + +static UA_StatusCode function_namespace0_generated_4154_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 380LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 380LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 379LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4154_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 380LU) +); +} + +/* Default Binary - ns=0;i=378 */ + +static UA_StatusCode function_namespace0_generated_4155_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 378LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 378LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 376LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4155_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 378LU) +); +} + +/* Default XML - ns=0;i=377 */ + +static UA_StatusCode function_namespace0_generated_4156_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 377LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 377LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 376LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4156_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 377LU) +); +} + +/* Default Binary - ns=0;i=346 */ + +static UA_StatusCode function_namespace0_generated_4157_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 346LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 346LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 344LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4157_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 346LU) +); +} + +/* Default XML - ns=0;i=345 */ + +static UA_StatusCode function_namespace0_generated_4158_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 345LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 345LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 344LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4158_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 345LU) +); +} + +/* Default Binary - ns=0;i=340 */ + +static UA_StatusCode function_namespace0_generated_4159_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 340LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 340LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 338LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4159_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 340LU) +); +} + +/* Default XML - ns=0;i=339 */ + +static UA_StatusCode function_namespace0_generated_4160_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 339LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 339LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 338LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4160_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 339LU) +); +} + +/* Default Binary - ns=0;i=333 */ + +static UA_StatusCode function_namespace0_generated_4161_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 333LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 333LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 331LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4161_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 333LU) +); +} + +/* Default XML - ns=0;i=332 */ + +static UA_StatusCode function_namespace0_generated_4162_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 332LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 332LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 331LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4162_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 332LU) +); +} + +/* Default Binary - ns=0;i=327 */ + +static UA_StatusCode function_namespace0_generated_4163_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 327LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 327LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4163_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 327LU) +); +} + +/* Default JSON - ns=0;i=32678 */ + +static UA_StatusCode function_namespace0_generated_4164_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32678LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32678LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32660LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4164_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32678LU) +); +} + +/* Default JSON - ns=0;i=32677 */ + +static UA_StatusCode function_namespace0_generated_4165_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32677LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32677LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4165_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32677LU) +); +} + +/* Default XML - ns=0;i=32670 */ + +static UA_StatusCode function_namespace0_generated_4166_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32670LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32670LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32660LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4166_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32670LU) +); +} + +/* Default XML - ns=0;i=32669 */ + +static UA_StatusCode function_namespace0_generated_4167_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32669LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32669LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4167_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32669LU) +); +} + +/* Default Binary - ns=0;i=32662 */ + +static UA_StatusCode function_namespace0_generated_4168_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32662LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32662LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32660LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4168_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32662LU) +); +} + +/* Default Binary - ns=0;i=32661 */ + +static UA_StatusCode function_namespace0_generated_4169_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32661LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32661LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4169_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32661LU) +); +} + +/* Default XML - ns=0;i=326 */ + +static UA_StatusCode function_namespace0_generated_4170_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 326LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 326LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4170_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 326LU) +); +} + +/* Default Binary - ns=0;i=324 */ + +static UA_StatusCode function_namespace0_generated_4171_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 324LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 324LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4171_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 324LU) +); +} + +/* Default JSON - ns=0;i=32390 */ + +static UA_StatusCode function_namespace0_generated_4172_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32390LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32390LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32285LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4172_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32390LU) +); +} + +/* Default XML - ns=0;i=32386 */ + +static UA_StatusCode function_namespace0_generated_4173_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32386LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32386LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32285LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4173_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32386LU) +); +} + +/* Default Binary - ns=0;i=32382 */ + +static UA_StatusCode function_namespace0_generated_4174_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 32382LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32382LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32285LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4174_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32382LU) +); +} + +/* Default XML - ns=0;i=323 */ + +static UA_StatusCode function_namespace0_generated_4175_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 323LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 323LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4175_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 323LU) +); +} + +/* Default Binary - ns=0;i=321 */ + +static UA_StatusCode function_namespace0_generated_4176_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 321LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 321LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 319LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4176_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 321LU) +); +} + +/* Default XML - ns=0;i=320 */ + +static UA_StatusCode function_namespace0_generated_4177_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 320LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 320LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 319LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4177_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 320LU) +); +} + +/* Default Binary - ns=0;i=318 */ + +static UA_StatusCode function_namespace0_generated_4178_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 318LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 318LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4178_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 318LU) +); +} + +/* Default XML - ns=0;i=317 */ + +static UA_StatusCode function_namespace0_generated_4179_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 317LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 317LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4179_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 317LU) +); +} + +/* Default Binary - ns=0;i=314 */ + +static UA_StatusCode function_namespace0_generated_4180_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 314LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 314LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4180_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 314LU) +); +} + +/* Default XML - ns=0;i=313 */ + +static UA_StatusCode function_namespace0_generated_4181_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 313LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 313LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4181_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 313LU) +); +} + +/* Default Binary - ns=0;i=310 */ + +static UA_StatusCode function_namespace0_generated_4182_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 310LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 310LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 308LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4182_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 310LU) +); +} + +/* Default XML - ns=0;i=309 */ + +static UA_StatusCode function_namespace0_generated_4183_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 309LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 309LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 308LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4183_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 309LU) +); +} + +/* Default Binary - ns=0;i=306 */ + +static UA_StatusCode function_namespace0_generated_4184_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 306LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 306LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 304LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4184_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 306LU) +); +} + +/* Default XML - ns=0;i=305 */ + +static UA_StatusCode function_namespace0_generated_4185_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 305LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 305LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 304LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4185_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 305LU) +); +} + +/* Default Binary - ns=0;i=301 */ + +static UA_StatusCode function_namespace0_generated_4186_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 301LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 301LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 299LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4186_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 301LU) +); +} + +/* Default XML - ns=0;i=300 */ + +static UA_StatusCode function_namespace0_generated_4187_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 300LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 300LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 299LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4187_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 300LU) +); +} + +/* Default Binary - ns=0;i=298 */ + +static UA_StatusCode function_namespace0_generated_4188_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 298LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 298LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4188_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 298LU) +); +} + +/* Default XML - ns=0;i=297 */ + +static UA_StatusCode function_namespace0_generated_4189_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 297LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 297LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4189_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 297LU) +); +} + +/* Default JSON - ns=0;i=25564 */ + +static UA_StatusCode function_namespace0_generated_4190_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25564LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25564LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4190_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25564LU) +); +} + +/* Default JSON - ns=0;i=25563 */ + +static UA_StatusCode function_namespace0_generated_4191_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25563LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25563LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4191_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25563LU) +); +} + +/* Default JSON - ns=0;i=25562 */ + +static UA_StatusCode function_namespace0_generated_4192_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25562LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25562LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25270LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4192_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25562LU) +); +} + +/* Default JSON - ns=0;i=25561 */ + +static UA_StatusCode function_namespace0_generated_4193_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25561LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25561LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25269LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4193_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25561LU) +); +} + +/* Default XML - ns=0;i=25548 */ + +static UA_StatusCode function_namespace0_generated_4194_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25548LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25548LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4194_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25548LU) +); +} + +/* Default XML - ns=0;i=25547 */ + +static UA_StatusCode function_namespace0_generated_4195_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25547LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25547LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4195_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25547LU) +); +} + +/* Default XML - ns=0;i=25546 */ + +static UA_StatusCode function_namespace0_generated_4196_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25546LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25546LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25270LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4196_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25546LU) +); +} + +/* Default XML - ns=0;i=25545 */ + +static UA_StatusCode function_namespace0_generated_4197_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25545LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25545LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25269LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4197_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25545LU) +); +} + +/* Default Binary - ns=0;i=25532 */ + +static UA_StatusCode function_namespace0_generated_4198_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25532LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25532LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4198_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25532LU) +); +} + +/* Default Binary - ns=0;i=25531 */ + +static UA_StatusCode function_namespace0_generated_4199_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25531LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25531LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25519LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4199_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25531LU) +); +} + +/* Default Binary - ns=0;i=25530 */ + +static UA_StatusCode function_namespace0_generated_4200_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25530LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25530LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25270LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4200_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25530LU) +); +} + +/* Default Binary - ns=0;i=25529 */ + +static UA_StatusCode function_namespace0_generated_4201_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25529LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25529LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25269LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4201_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25529LU) +); +} + +/* Default JSON - ns=0;i=25247 */ + +static UA_StatusCode function_namespace0_generated_4202_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25247LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25247LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25220LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4202_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25247LU) +); +} + +/* Default XML - ns=0;i=25243 */ + +static UA_StatusCode function_namespace0_generated_4203_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25243LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25243LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25220LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4203_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25243LU) +); +} + +/* Default Binary - ns=0;i=25239 */ + +static UA_StatusCode function_namespace0_generated_4204_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 25239LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25239LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25220LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4204_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25239LU) +); +} + +/* Default JSON - ns=0;i=24300 */ + +static UA_StatusCode function_namespace0_generated_4205_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24300LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24300LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4205_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24300LU) +); +} + +/* Default XML - ns=0;i=24296 */ + +static UA_StatusCode function_namespace0_generated_4206_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24296LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24296LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4206_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24296LU) +); +} + +/* Default Binary - ns=0;i=24292 */ + +static UA_StatusCode function_namespace0_generated_4207_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24292LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24292LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24281LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4207_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24292LU) +); +} + +/* Default JSON - ns=0;i=24134 */ + +static UA_StatusCode function_namespace0_generated_4208_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24134LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24134LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4208_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24134LU) +); +} + +/* Default JSON - ns=0;i=24133 */ + +static UA_StatusCode function_namespace0_generated_4209_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24133LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24133LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24106LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4209_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24133LU) +); +} + +/* Default JSON - ns=0;i=24132 */ + +static UA_StatusCode function_namespace0_generated_4210_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24132LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24132LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24105LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4210_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24132LU) +); +} + +/* Default XML - ns=0;i=24122 */ + +static UA_StatusCode function_namespace0_generated_4211_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24122LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24122LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4211_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24122LU) +); +} + +/* Default XML - ns=0;i=24121 */ + +static UA_StatusCode function_namespace0_generated_4212_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24121LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24121LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24106LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4212_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24121LU) +); +} + +/* Default XML - ns=0;i=24120 */ + +static UA_StatusCode function_namespace0_generated_4213_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24120LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24120LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24105LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4213_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24120LU) +); +} + +/* Default Binary - ns=0;i=24110 */ + +static UA_StatusCode function_namespace0_generated_4214_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24110LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24110LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24107LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4214_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24110LU) +); +} + +/* Default Binary - ns=0;i=24109 */ + +static UA_StatusCode function_namespace0_generated_4215_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24109LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24109LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24106LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4215_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24109LU) +); +} + +/* Default Binary - ns=0;i=24108 */ + +static UA_StatusCode function_namespace0_generated_4216_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24108LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24108LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24105LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4216_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24108LU) +); +} + +/* Default JSON - ns=0;i=24042 */ + +static UA_StatusCode function_namespace0_generated_4217_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24042LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24042LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24033LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4217_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24042LU) +); +} + +/* Default XML - ns=0;i=24038 */ + +static UA_StatusCode function_namespace0_generated_4218_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24038LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24038LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24033LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4218_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24038LU) +); +} + +/* Default Binary - ns=0;i=24034 */ + +static UA_StatusCode function_namespace0_generated_4219_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24034LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24034LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24033LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4219_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24034LU) +); +} + +/* Default JSON - ns=0;i=24002 */ + +static UA_StatusCode function_namespace0_generated_4220_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24002LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24002LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23614LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4220_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24002LU) +); +} + +/* Default JSON - ns=0;i=24001 */ + +static UA_StatusCode function_namespace0_generated_4221_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24001LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24001LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23613LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4221_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24001LU) +); +} + +/* Default JSON - ns=0;i=24000 */ + +static UA_StatusCode function_namespace0_generated_4222_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 24000LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24000LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23612LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4222_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24000LU) +); +} + +/* Default JSON - ns=0;i=23997 */ + +static UA_StatusCode function_namespace0_generated_4223_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23997LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23997LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4223_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23997LU) +); +} + +/* Default JSON - ns=0;i=23996 */ + +static UA_StatusCode function_namespace0_generated_4224_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23996LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23996LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23608LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4224_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23996LU) +); +} + +/* Default JSON - ns=0;i=23993 */ + +static UA_StatusCode function_namespace0_generated_4225_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23993LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23993LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4225_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23993LU) +); +} + +/* Default JSON - ns=0;i=23992 */ + +static UA_StatusCode function_namespace0_generated_4226_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23992LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23992LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23604LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4226_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23992LU) +); +} + +/* Default JSON - ns=0;i=23991 */ + +static UA_StatusCode function_namespace0_generated_4227_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23991LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23991LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23603LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4227_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23991LU) +); +} + +/* Default JSON - ns=0;i=23990 */ + +static UA_StatusCode function_namespace0_generated_4228_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23990LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23990LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23602LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4228_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23990LU) +); +} + +/* Default JSON - ns=0;i=23989 */ + +static UA_StatusCode function_namespace0_generated_4229_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23989LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23989LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4229_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23989LU) +); +} + +/* Default JSON - ns=0;i=23988 */ + +static UA_StatusCode function_namespace0_generated_4230_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23988LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23988LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4230_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23988LU) +); +} + +/* Default JSON - ns=0;i=23987 */ + +static UA_StatusCode function_namespace0_generated_4231_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23987LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23987LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4231_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23987LU) +); +} + +/* Default XML - ns=0;i=23934 */ + +static UA_StatusCode function_namespace0_generated_4232_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23934LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23934LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23614LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4232_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23934LU) +); +} + +/* Default XML - ns=0;i=23933 */ + +static UA_StatusCode function_namespace0_generated_4233_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23933LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23933LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23613LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4233_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23933LU) +); +} + +/* Default XML - ns=0;i=23932 */ + +static UA_StatusCode function_namespace0_generated_4234_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23932LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23932LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23612LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4234_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23932LU) +); +} + +/* Default XML - ns=0;i=23929 */ + +static UA_StatusCode function_namespace0_generated_4235_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23929LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23929LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4235_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23929LU) +); +} + +/* Default XML - ns=0;i=23928 */ + +static UA_StatusCode function_namespace0_generated_4236_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23928LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23928LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23608LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4236_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23928LU) +); +} + +/* Default XML - ns=0;i=23925 */ + +static UA_StatusCode function_namespace0_generated_4237_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23925LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23925LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4237_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23925LU) +); +} + +/* Default XML - ns=0;i=23924 */ + +static UA_StatusCode function_namespace0_generated_4238_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23924LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23924LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23604LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4238_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23924LU) +); +} + +/* Default XML - ns=0;i=23923 */ + +static UA_StatusCode function_namespace0_generated_4239_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23923LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23923LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23603LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4239_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23923LU) +); +} + +/* Default XML - ns=0;i=23922 */ + +static UA_StatusCode function_namespace0_generated_4240_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23922LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23922LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23602LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4240_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23922LU) +); +} + +/* Default XML - ns=0;i=23921 */ + +static UA_StatusCode function_namespace0_generated_4241_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23921LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23921LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4241_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23921LU) +); +} + +/* Default XML - ns=0;i=23920 */ + +static UA_StatusCode function_namespace0_generated_4242_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23920LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23920LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4242_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23920LU) +); +} + +/* Default XML - ns=0;i=23919 */ + +static UA_StatusCode function_namespace0_generated_4243_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23919LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23919LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4243_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23919LU) +); +} + +/* Default Binary - ns=0;i=23866 */ + +static UA_StatusCode function_namespace0_generated_4244_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23866LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23866LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23614LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4244_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23866LU) +); +} + +/* Default Binary - ns=0;i=23865 */ + +static UA_StatusCode function_namespace0_generated_4245_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23865LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23865LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23613LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4245_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23865LU) +); +} + +/* Default Binary - ns=0;i=23864 */ + +static UA_StatusCode function_namespace0_generated_4246_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23864LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23864LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23612LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4246_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23864LU) +); +} + +/* Default Binary - ns=0;i=23861 */ + +static UA_StatusCode function_namespace0_generated_4247_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23861LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23861LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4247_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23861LU) +); +} + +/* Default Binary - ns=0;i=23860 */ + +static UA_StatusCode function_namespace0_generated_4248_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23860LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23860LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23608LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4248_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23860LU) +); +} + +/* Default Binary - ns=0;i=23857 */ + +static UA_StatusCode function_namespace0_generated_4249_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23857LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23857LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4249_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23857LU) +); +} + +/* Default Binary - ns=0;i=23856 */ + +static UA_StatusCode function_namespace0_generated_4250_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23856LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23856LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23604LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4250_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23856LU) +); +} + +/* Default Binary - ns=0;i=23855 */ + +static UA_StatusCode function_namespace0_generated_4251_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23855LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23855LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23603LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4251_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23855LU) +); +} + +/* Default Binary - ns=0;i=23854 */ + +static UA_StatusCode function_namespace0_generated_4252_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23854LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23854LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23602LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4252_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23854LU) +); +} + +/* Default Binary - ns=0;i=23853 */ + +static UA_StatusCode function_namespace0_generated_4253_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23853LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23853LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4253_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23853LU) +); +} + +/* Default Binary - ns=0;i=23852 */ + +static UA_StatusCode function_namespace0_generated_4254_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23852LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23852LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4254_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23852LU) +); +} + +/* Default Binary - ns=0;i=23851 */ + +static UA_StatusCode function_namespace0_generated_4255_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23851LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23851LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4255_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23851LU) +); +} + +/* Default JSON - ns=0;i=23528 */ + +static UA_StatusCode function_namespace0_generated_4256_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23528LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23528LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23498LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4256_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23528LU) +); +} + +/* Default XML - ns=0;i=23520 */ + +static UA_StatusCode function_namespace0_generated_4257_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23520LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23520LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23498LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4257_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23520LU) +); +} + +/* Default JSON - ns=0;i=23511 */ + +static UA_StatusCode function_namespace0_generated_4258_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23511LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23511LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23468LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4258_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23511LU) +); +} + +/* Default Binary - ns=0;i=23507 */ + +static UA_StatusCode function_namespace0_generated_4259_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23507LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23507LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23498LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4259_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23507LU) +); +} + +/* Default XML - ns=0;i=23505 */ + +static UA_StatusCode function_namespace0_generated_4260_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23505LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23505LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23468LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4260_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23505LU) +); +} + +/* Default Binary - ns=0;i=23499 */ + +static UA_StatusCode function_namespace0_generated_4261_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 23499LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23499LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23468LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4261_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23499LU) +); +} + +/* Default JSON - ns=0;i=21203 */ + +static UA_StatusCode function_namespace0_generated_4262_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21203LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21203LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15532LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4262_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21203LU) +); +} + +/* Default JSON - ns=0;i=21202 */ + +static UA_StatusCode function_namespace0_generated_4263_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21202LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21202LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15530LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4263_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21202LU) +); +} + +/* Default JSON - ns=0;i=21201 */ + +static UA_StatusCode function_namespace0_generated_4264_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21201LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21201LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4264_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21201LU) +); +} + +/* Default JSON - ns=0;i=21200 */ + +static UA_StatusCode function_namespace0_generated_4265_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21200LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21200LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15510LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4265_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21200LU) +); +} + +/* Default JSON - ns=0;i=21199 */ + +static UA_StatusCode function_namespace0_generated_4266_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21199LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21199LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15502LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4266_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21199LU) +); +} + +/* Default JSON - ns=0;i=21198 */ + +static UA_StatusCode function_namespace0_generated_4267_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21198LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21198LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15480LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4267_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21198LU) +); +} + +/* Default XML - ns=0;i=21179 */ + +static UA_StatusCode function_namespace0_generated_4268_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21179LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21179LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15532LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4268_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21179LU) +); +} + +/* Default XML - ns=0;i=21178 */ + +static UA_StatusCode function_namespace0_generated_4269_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21178LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21178LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15530LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4269_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21178LU) +); +} + +/* Default XML - ns=0;i=21177 */ + +static UA_StatusCode function_namespace0_generated_4270_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21177LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21177LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4270_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21177LU) +); +} + +/* Default XML - ns=0;i=21176 */ + +static UA_StatusCode function_namespace0_generated_4271_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21176LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21176LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15510LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4271_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21176LU) +); +} + +/* Default XML - ns=0;i=21175 */ + +static UA_StatusCode function_namespace0_generated_4272_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21175LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21175LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15502LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4272_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21175LU) +); +} + +/* Default XML - ns=0;i=21174 */ + +static UA_StatusCode function_namespace0_generated_4273_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21174LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21174LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15480LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4273_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21174LU) +); +} + +/* Default Binary - ns=0;i=21155 */ + +static UA_StatusCode function_namespace0_generated_4274_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21155LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21155LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15532LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4274_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21155LU) +); +} + +/* Default Binary - ns=0;i=21154 */ + +static UA_StatusCode function_namespace0_generated_4275_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21154LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21154LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15530LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4275_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21154LU) +); +} + +/* Default Binary - ns=0;i=21153 */ + +static UA_StatusCode function_namespace0_generated_4276_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21153LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21153LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4276_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21153LU) +); +} + +/* Default Binary - ns=0;i=21152 */ + +static UA_StatusCode function_namespace0_generated_4277_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21152LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21152LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15510LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4277_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21152LU) +); +} + +/* Default Binary - ns=0;i=21151 */ + +static UA_StatusCode function_namespace0_generated_4278_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21151LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21151LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15502LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4278_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21151LU) +); +} + +/* Default Binary - ns=0;i=21150 */ + +static UA_StatusCode function_namespace0_generated_4279_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 21150LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21150LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15480LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4279_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21150LU) +); +} + +/* Default JSON - ns=0;i=19072 */ + +static UA_StatusCode function_namespace0_generated_4280_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19072LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19072LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4280_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19072LU) +); +} + +/* Default JSON - ns=0;i=19071 */ + +static UA_StatusCode function_namespace0_generated_4281_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19071LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19071LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18813LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4281_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19071LU) +); +} + +/* Default JSON - ns=0;i=19070 */ + +static UA_StatusCode function_namespace0_generated_4282_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19070LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19070LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18812LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4282_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19070LU) +); +} + +/* Default JSON - ns=0;i=19069 */ + +static UA_StatusCode function_namespace0_generated_4283_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19069LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19069LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18811LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4283_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19069LU) +); +} + +/* Default JSON - ns=0;i=19068 */ + +static UA_StatusCode function_namespace0_generated_4284_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19068LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19068LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18810LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4284_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19068LU) +); +} + +/* Default JSON - ns=0;i=19067 */ + +static UA_StatusCode function_namespace0_generated_4285_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19067LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19067LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18809LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4285_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19067LU) +); +} + +/* Default JSON - ns=0;i=19066 */ + +static UA_StatusCode function_namespace0_generated_4286_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19066LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19066LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18808LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4286_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19066LU) +); +} + +/* Default JSON - ns=0;i=19065 */ + +static UA_StatusCode function_namespace0_generated_4287_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19065LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19065LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18807LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4287_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19065LU) +); +} + +/* Default JSON - ns=0;i=19064 */ + +static UA_StatusCode function_namespace0_generated_4288_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 19064LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19064LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18806LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4288_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19064LU) +); +} + +/* Default XML - ns=0;i=18859 */ + +static UA_StatusCode function_namespace0_generated_4289_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18859LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18859LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4289_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18859LU) +); +} + +/* Default XML - ns=0;i=18858 */ + +static UA_StatusCode function_namespace0_generated_4290_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18858LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18858LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18813LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4290_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18858LU) +); +} + +/* Default XML - ns=0;i=18857 */ + +static UA_StatusCode function_namespace0_generated_4291_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18857LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18857LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18812LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4291_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18857LU) +); +} + +/* Default XML - ns=0;i=18856 */ + +static UA_StatusCode function_namespace0_generated_4292_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18856LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18856LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18811LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4292_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18856LU) +); +} + +/* Default XML - ns=0;i=18855 */ + +static UA_StatusCode function_namespace0_generated_4293_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18855LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18855LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18810LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4293_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18855LU) +); +} + +/* Default XML - ns=0;i=18854 */ + +static UA_StatusCode function_namespace0_generated_4294_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18854LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18854LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18809LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4294_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18854LU) +); +} + +/* Default XML - ns=0;i=18853 */ + +static UA_StatusCode function_namespace0_generated_4295_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18853LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18853LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18808LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4295_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18853LU) +); +} + +/* Default XML - ns=0;i=18852 */ + +static UA_StatusCode function_namespace0_generated_4296_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18852LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18852LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18807LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4296_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18852LU) +); +} + +/* Default XML - ns=0;i=18851 */ + +static UA_StatusCode function_namespace0_generated_4297_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18851LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18851LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18806LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4297_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18851LU) +); +} + +/* Default Binary - ns=0;i=18823 */ + +static UA_StatusCode function_namespace0_generated_4298_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18823LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18823LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18814LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4298_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18823LU) +); +} + +/* Default Binary - ns=0;i=18822 */ + +static UA_StatusCode function_namespace0_generated_4299_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18822LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18822LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18813LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4299_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18822LU) +); +} + +/* Default Binary - ns=0;i=18821 */ + +static UA_StatusCode function_namespace0_generated_4300_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18821LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18821LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18812LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4300_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18821LU) +); +} + +/* Default Binary - ns=0;i=18820 */ + +static UA_StatusCode function_namespace0_generated_4301_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18820LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18820LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18811LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4301_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18820LU) +); +} + +/* Default Binary - ns=0;i=18819 */ + +static UA_StatusCode function_namespace0_generated_4302_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18819LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18819LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18810LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4302_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18819LU) +); +} + +/* Default Binary - ns=0;i=18818 */ + +static UA_StatusCode function_namespace0_generated_4303_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18818LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18818LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18809LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4303_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18818LU) +); +} + +/* Default Binary - ns=0;i=18817 */ + +static UA_StatusCode function_namespace0_generated_4304_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18817LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18817LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18808LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4304_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18817LU) +); +} + +/* Default Binary - ns=0;i=18816 */ + +static UA_StatusCode function_namespace0_generated_4305_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18816LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18816LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18807LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4305_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18816LU) +); +} + +/* Default Binary - ns=0;i=18815 */ + +static UA_StatusCode function_namespace0_generated_4306_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 18815LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18815LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18806LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4306_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18815LU) +); +} + +/* Default JSON - ns=0;i=17557 */ + +static UA_StatusCode function_namespace0_generated_4307_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17557LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17557LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17548LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4307_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17557LU) +); +} + +/* Default XML - ns=0;i=17553 */ + +static UA_StatusCode function_namespace0_generated_4308_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17553LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17553LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17548LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4308_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17553LU) +); +} + +/* Default Binary - ns=0;i=17549 */ + +static UA_StatusCode function_namespace0_generated_4309_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17549LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17549LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17548LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4309_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17549LU) +); +} + +/* Default JSON - ns=0;i=17547 */ + +static UA_StatusCode function_namespace0_generated_4310_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17547LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17547LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16313LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4310_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17547LU) +); +} + +/* Default XML - ns=0;i=17541 */ + +static UA_StatusCode function_namespace0_generated_4311_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17541LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17541LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16313LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4311_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17541LU) +); +} + +/* Default Binary - ns=0;i=17537 */ + +static UA_StatusCode function_namespace0_generated_4312_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17537LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17537LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16313LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4312_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17537LU) +); +} + +/* Default JSON - ns=0;i=17476 */ + +static UA_StatusCode function_namespace0_generated_4313_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17476LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17476LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17467LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4313_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17476LU) +); +} + +/* Default XML - ns=0;i=17472 */ + +static UA_StatusCode function_namespace0_generated_4314_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17472LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17472LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17467LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4314_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17472LU) +); +} + +/* Default Binary - ns=0;i=17468 */ + +static UA_StatusCode function_namespace0_generated_4315_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 17468LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17468LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17467LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4315_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17468LU) +); +} + +/* Default JSON - ns=0;i=16526 */ + +static UA_StatusCode function_namespace0_generated_4316_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16526LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16526LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15670LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4316_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16526LU) +); +} + +/* Default JSON - ns=0;i=16525 */ + +static UA_StatusCode function_namespace0_generated_4317_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16525LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16525LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15669LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4317_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16525LU) +); +} + +/* Default JSON - ns=0;i=16524 */ + +static UA_StatusCode function_namespace0_generated_4318_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16524LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16524LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15667LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4318_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16524LU) +); +} + +/* Default JSON - ns=0;i=16404 */ + +static UA_StatusCode function_namespace0_generated_4319_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16404LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16404LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15665LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4319_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16404LU) +); +} + +/* Default JSON - ns=0;i=16394 */ + +static UA_StatusCode function_namespace0_generated_4320_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16394LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16394LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15664LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4320_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16394LU) +); +} + +/* Default JSON - ns=0;i=16393 */ + +static UA_StatusCode function_namespace0_generated_4321_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16393LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16393LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15657LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4321_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16393LU) +); +} + +/* Default JSON - ns=0;i=16392 */ + +static UA_StatusCode function_namespace0_generated_4322_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16392LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16392LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15653LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4322_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16392LU) +); +} + +/* Default JSON - ns=0;i=16391 */ + +static UA_StatusCode function_namespace0_generated_4323_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16391LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16391LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4323_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16391LU) +); +} + +/* Default JSON - ns=0;i=16323 */ + +static UA_StatusCode function_namespace0_generated_4324_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16323LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16323LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4324_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16323LU) +); +} + +/* Default JSON - ns=0;i=16311 */ + +static UA_StatusCode function_namespace0_generated_4325_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16311LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16311LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4325_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16311LU) +); +} + +/* Default JSON - ns=0;i=16310 */ + +static UA_StatusCode function_namespace0_generated_4326_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16310LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16310LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4326_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16310LU) +); +} + +/* Default JSON - ns=0;i=16308 */ + +static UA_StatusCode function_namespace0_generated_4327_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16308LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16308LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4327_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16308LU) +); +} + +/* Default JSON - ns=0;i=16288 */ + +static UA_StatusCode function_namespace0_generated_4328_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16288LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16288LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4328_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16288LU) +); +} + +/* Default JSON - ns=0;i=16287 */ + +static UA_StatusCode function_namespace0_generated_4329_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16287LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16287LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15628LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4329_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16287LU) +); +} + +/* Default JSON - ns=0;i=16286 */ + +static UA_StatusCode function_namespace0_generated_4330_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16286LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16286LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15623LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4330_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16286LU) +); +} + +/* Default JSON - ns=0;i=16285 */ + +static UA_StatusCode function_namespace0_generated_4331_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16285LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16285LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4331_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16285LU) +); +} + +/* Default JSON - ns=0;i=16284 */ + +static UA_StatusCode function_namespace0_generated_4332_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16284LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16284LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15621LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4332_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16284LU) +); +} + +/* Default JSON - ns=0;i=16282 */ + +static UA_StatusCode function_namespace0_generated_4333_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16282LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16282LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4333_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16282LU) +); +} + +/* Default JSON - ns=0;i=16281 */ + +static UA_StatusCode function_namespace0_generated_4334_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16281LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16281LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4334_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16281LU) +); +} + +/* Default JSON - ns=0;i=16280 */ + +static UA_StatusCode function_namespace0_generated_4335_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16280LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16280LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4335_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16280LU) +); +} + +/* Default JSON - ns=0;i=16161 */ + +static UA_StatusCode function_namespace0_generated_4336_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16161LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16161LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15611LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4336_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16161LU) +); +} + +/* Default JSON - ns=0;i=16159 */ + +static UA_StatusCode function_namespace0_generated_4337_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16159LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16159LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4337_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16159LU) +); +} + +/* Default JSON - ns=0;i=16158 */ + +static UA_StatusCode function_namespace0_generated_4338_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16158LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16158LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4338_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16158LU) +); +} + +/* Default JSON - ns=0;i=16157 */ + +static UA_StatusCode function_namespace0_generated_4339_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16157LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16157LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4339_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16157LU) +); +} + +/* Default JSON - ns=0;i=16156 */ + +static UA_StatusCode function_namespace0_generated_4340_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16156LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16156LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15597LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4340_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16156LU) +); +} + +/* Default JSON - ns=0;i=16155 */ + +static UA_StatusCode function_namespace0_generated_4341_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16155LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16155LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15582LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4341_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16155LU) +); +} + +/* Default JSON - ns=0;i=16154 */ + +static UA_StatusCode function_namespace0_generated_4342_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16154LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16154LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15581LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4342_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16154LU) +); +} + +/* Default JSON - ns=0;i=16153 */ + +static UA_StatusCode function_namespace0_generated_4343_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16153LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16153LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15580LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4343_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16153LU) +); +} + +/* Default JSON - ns=0;i=16152 */ + +static UA_StatusCode function_namespace0_generated_4344_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16152LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16152LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15578LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4344_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16152LU) +); +} + +/* Default JSON - ns=0;i=16151 */ + +static UA_StatusCode function_namespace0_generated_4345_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16151LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16151LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15534LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4345_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16151LU) +); +} + +/* Default JSON - ns=0;i=16150 */ + +static UA_StatusCode function_namespace0_generated_4346_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16150LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16150LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15528LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4346_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16150LU) +); +} + +/* Default XML - ns=0;i=16126 */ + +static UA_StatusCode function_namespace0_generated_4347_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16126LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16126LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 96LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4347_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16126LU) +); +} + +/* Default XML - ns=0;i=16023 */ + +static UA_StatusCode function_namespace0_generated_4348_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16023LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16023LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15670LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4348_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16023LU) +); +} + +/* Default XML - ns=0;i=16022 */ + +static UA_StatusCode function_namespace0_generated_4349_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16022LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16022LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15669LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4349_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16022LU) +); +} + +/* Default XML - ns=0;i=16021 */ + +static UA_StatusCode function_namespace0_generated_4350_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16021LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16021LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15667LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4350_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16021LU) +); +} + +/* Default XML - ns=0;i=16019 */ + +static UA_StatusCode function_namespace0_generated_4351_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16019LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16019LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15665LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4351_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16019LU) +); +} + +/* Default XML - ns=0;i=16018 */ + +static UA_StatusCode function_namespace0_generated_4352_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16018LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16018LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15664LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4352_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16018LU) +); +} + +/* Default XML - ns=0;i=16017 */ + +static UA_StatusCode function_namespace0_generated_4353_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16017LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16017LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15657LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4353_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16017LU) +); +} + +/* Default XML - ns=0;i=16016 */ + +static UA_StatusCode function_namespace0_generated_4354_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16016LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16016LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15653LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4354_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16016LU) +); +} + +/* Default XML - ns=0;i=16015 */ + +static UA_StatusCode function_namespace0_generated_4355_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16015LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16015LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4355_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16015LU) +); +} + +/* Default XML - ns=0;i=16014 */ + +static UA_StatusCode function_namespace0_generated_4356_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16014LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16014LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4356_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16014LU) +); +} + +/* Default XML - ns=0;i=16012 */ + +static UA_StatusCode function_namespace0_generated_4357_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16012LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16012LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4357_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16012LU) +); +} + +/* Default XML - ns=0;i=16011 */ + +static UA_StatusCode function_namespace0_generated_4358_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16011LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16011LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4358_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16011LU) +); +} + +/* Default XML - ns=0;i=16010 */ + +static UA_StatusCode function_namespace0_generated_4359_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16010LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16010LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4359_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16010LU) +); +} + +/* Default XML - ns=0;i=16009 */ + +static UA_StatusCode function_namespace0_generated_4360_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16009LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16009LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4360_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16009LU) +); +} + +/* Default XML - ns=0;i=16008 */ + +static UA_StatusCode function_namespace0_generated_4361_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16008LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16008LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15628LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4361_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16008LU) +); +} + +/* Default XML - ns=0;i=16007 */ + +static UA_StatusCode function_namespace0_generated_4362_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 16007LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16007LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15623LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4362_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16007LU) +); +} + +/* Default XML - ns=0;i=15996 */ + +static UA_StatusCode function_namespace0_generated_4363_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15996LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15996LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4363_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15996LU) +); +} + +/* Default XML - ns=0;i=15995 */ + +static UA_StatusCode function_namespace0_generated_4364_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15995LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15995LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15621LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4364_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15995LU) +); +} + +/* Default XML - ns=0;i=15993 */ + +static UA_StatusCode function_namespace0_generated_4365_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15993LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15993LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4365_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15993LU) +); +} + +/* Default XML - ns=0;i=15992 */ + +static UA_StatusCode function_namespace0_generated_4366_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15992LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15992LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4366_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15992LU) +); +} + +/* Default XML - ns=0;i=15991 */ + +static UA_StatusCode function_namespace0_generated_4367_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15991LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15991LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4367_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15991LU) +); +} + +/* Default XML - ns=0;i=15990 */ + +static UA_StatusCode function_namespace0_generated_4368_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15990LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15990LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15611LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4368_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15990LU) +); +} + +/* Default XML - ns=0;i=15988 */ + +static UA_StatusCode function_namespace0_generated_4369_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15988LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15988LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4369_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15988LU) +); +} + +/* Default XML - ns=0;i=15987 */ + +static UA_StatusCode function_namespace0_generated_4370_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15987LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15987LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4370_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15987LU) +); +} + +/* Default XML - ns=0;i=15956 */ + +static UA_StatusCode function_namespace0_generated_4371_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15956LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15956LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4371_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15956LU) +); +} + +/* Default XML - ns=0;i=15955 */ + +static UA_StatusCode function_namespace0_generated_4372_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15955LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15955LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15597LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4372_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15955LU) +); +} + +/* Default XML - ns=0;i=15954 */ + +static UA_StatusCode function_namespace0_generated_4373_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15954LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15954LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15582LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4373_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15954LU) +); +} + +/* Default XML - ns=0;i=15953 */ + +static UA_StatusCode function_namespace0_generated_4374_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15953LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15953LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15581LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4374_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15953LU) +); +} + +/* Default XML - ns=0;i=15952 */ + +static UA_StatusCode function_namespace0_generated_4375_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15952LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15952LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15580LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4375_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15952LU) +); +} + +/* Default XML - ns=0;i=15951 */ + +static UA_StatusCode function_namespace0_generated_4376_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15951LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15951LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15578LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4376_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15951LU) +); +} + +/* Default XML - ns=0;i=15950 */ + +static UA_StatusCode function_namespace0_generated_4377_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15950LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15950LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15534LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4377_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15950LU) +); +} + +/* Default XML - ns=0;i=15949 */ + +static UA_StatusCode function_namespace0_generated_4378_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15949LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15949LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15528LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4378_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15949LU) +); +} + +/* Default Binary - ns=0;i=15736 */ + +static UA_StatusCode function_namespace0_generated_4379_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15736LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15736LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15634LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4379_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15736LU) +); +} + +/* Default Binary - ns=0;i=15733 */ + +static UA_StatusCode function_namespace0_generated_4380_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15733LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15733LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15670LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4380_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15733LU) +); +} + +/* Default Binary - ns=0;i=15729 */ + +static UA_StatusCode function_namespace0_generated_4381_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15729LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15729LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15669LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4381_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15729LU) +); +} + +/* Default XML - ns=0;i=15728 */ + +static UA_StatusCode function_namespace0_generated_4382_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15728LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15728LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15634LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4382_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15728LU) +); +} + +/* Default Binary - ns=0;i=15727 */ + +static UA_StatusCode function_namespace0_generated_4383_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15727LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15727LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15667LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4383_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15727LU) +); +} + +/* Default JSON - ns=0;i=15726 */ + +static UA_StatusCode function_namespace0_generated_4384_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15726LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15726LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4384_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15726LU) +); +} + +/* Default Binary - ns=0;i=15725 */ + +static UA_StatusCode function_namespace0_generated_4385_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15725LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15725LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15665LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4385_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15725LU) +); +} + +/* Default Binary - ns=0;i=15724 */ + +static UA_StatusCode function_namespace0_generated_4386_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15724LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15724LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15664LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4386_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15724LU) +); +} + +/* Default Binary - ns=0;i=15719 */ + +static UA_StatusCode function_namespace0_generated_4387_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15719LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15719LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15657LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4387_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15719LU) +); +} + +/* Default Binary - ns=0;i=15718 */ + +static UA_StatusCode function_namespace0_generated_4388_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15718LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15718LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15653LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4388_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15718LU) +); +} + +/* Default Binary - ns=0;i=15717 */ + +static UA_StatusCode function_namespace0_generated_4389_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15717LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15717LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15652LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4389_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15717LU) +); +} + +/* Default Binary - ns=0;i=15715 */ + +static UA_StatusCode function_namespace0_generated_4390_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15715LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15715LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15645LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4390_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15715LU) +); +} + +/* Default JSON - ns=0;i=15714 */ + +static UA_StatusCode function_namespace0_generated_4391_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15714LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15714LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4391_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15714LU) +); +} + +/* Default Binary - ns=0;i=15713 */ + +static UA_StatusCode function_namespace0_generated_4392_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15713LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15713LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15635LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4392_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15713LU) +); +} + +/* Default Binary - ns=0;i=15712 */ + +static UA_StatusCode function_namespace0_generated_4393_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15712LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15712LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15631LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4393_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15712LU) +); +} + +/* Default Binary - ns=0;i=15707 */ + +static UA_StatusCode function_namespace0_generated_4394_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15707LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15707LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15630LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4394_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15707LU) +); +} + +/* Default Binary - ns=0;i=15706 */ + +static UA_StatusCode function_namespace0_generated_4395_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15706LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15706LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15629LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4395_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15706LU) +); +} + +/* Default Binary - ns=0;i=15705 */ + +static UA_StatusCode function_namespace0_generated_4396_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15705LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15705LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15628LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4396_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15705LU) +); +} + +/* Default Binary - ns=0;i=15703 */ + +static UA_StatusCode function_namespace0_generated_4397_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15703LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15703LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15623LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4397_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15703LU) +); +} + +/* Default Binary - ns=0;i=15702 */ + +static UA_StatusCode function_namespace0_generated_4398_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15702LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15702LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15622LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4398_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15702LU) +); +} + +/* Default Binary - ns=0;i=15701 */ + +static UA_StatusCode function_namespace0_generated_4399_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15701LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15701LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15621LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4399_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15701LU) +); +} + +/* Default JSON - ns=0;i=15700 */ + +static UA_StatusCode function_namespace0_generated_4400_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15700LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15700LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15005LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4400_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15700LU) +); +} + +/* Default Binary - ns=0;i=15695 */ + +static UA_StatusCode function_namespace0_generated_4401_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15695LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15695LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15618LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4401_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15695LU) +); +} + +/* Default Binary - ns=0;i=15694 */ + +static UA_StatusCode function_namespace0_generated_4402_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15694LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15694LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15617LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4402_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15694LU) +); +} + +/* Default Binary - ns=0;i=15693 */ + +static UA_StatusCode function_namespace0_generated_4403_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15693LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15693LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4403_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15693LU) +); +} + +/* Default Binary - ns=0;i=15691 */ + +static UA_StatusCode function_namespace0_generated_4404_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15691LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15691LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15611LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4404_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15691LU) +); +} + +/* Default Binary - ns=0;i=15689 */ + +static UA_StatusCode function_namespace0_generated_4405_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15689LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15689LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15609LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4405_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15689LU) +); +} + +/* Default Binary - ns=0;i=15688 */ + +static UA_StatusCode function_namespace0_generated_4406_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15688LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15688LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15605LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4406_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15688LU) +); +} + +/* Default Binary - ns=0;i=15683 */ + +static UA_StatusCode function_namespace0_generated_4407_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15683LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15683LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4407_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15683LU) +); +} + +/* Default Binary - ns=0;i=15682 */ + +static UA_StatusCode function_namespace0_generated_4408_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15682LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15682LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15597LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4408_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15682LU) +); +} + +/* Default Binary - ns=0;i=15681 */ + +static UA_StatusCode function_namespace0_generated_4409_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15681LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15681LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15582LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4409_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15681LU) +); +} + +/* Default Binary - ns=0;i=15679 */ + +static UA_StatusCode function_namespace0_generated_4410_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15679LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15679LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15581LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4410_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15679LU) +); +} + +/* Default Binary - ns=0;i=15678 */ + +static UA_StatusCode function_namespace0_generated_4411_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15678LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15678LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15580LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4411_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15678LU) +); +} + +/* Default Binary - ns=0;i=15677 */ + +static UA_StatusCode function_namespace0_generated_4412_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15677LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15677LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15578LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4412_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15677LU) +); +} + +/* Default Binary - ns=0;i=15676 */ + +static UA_StatusCode function_namespace0_generated_4413_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15676LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15676LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15534LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4413_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15676LU) +); +} + +/* Default Binary - ns=0;i=15671 */ + +static UA_StatusCode function_namespace0_generated_4414_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15671LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15671LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15528LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4414_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15671LU) +); +} + +/* Default XML - ns=0;i=15590 */ + +static UA_StatusCode function_namespace0_generated_4415_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15590LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15590LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15488LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4415_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15590LU) +); +} + +/* Default XML - ns=0;i=15589 */ + +static UA_StatusCode function_namespace0_generated_4416_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15589LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15589LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15487LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4416_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15589LU) +); +} + +/* Default XML - ns=0;i=15579 */ + +static UA_StatusCode function_namespace0_generated_4417_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15579LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15579LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4417_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15579LU) +); +} + +/* Default XML - ns=0;i=15531 */ + +static UA_StatusCode function_namespace0_generated_4418_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15531LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15531LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4418_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15531LU) +); +} + +/* Default XML - ns=0;i=15529 */ + +static UA_StatusCode function_namespace0_generated_4419_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15529LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15529LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15005LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4419_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15529LU) +); +} + +/* Default Binary - ns=0;i=15479 */ + +static UA_StatusCode function_namespace0_generated_4420_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15479LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15479LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4420_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15479LU) +); +} + +/* Default Binary - ns=0;i=15422 */ + +static UA_StatusCode function_namespace0_generated_4421_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15422LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15422LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15006LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4421_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15422LU) +); +} + +/* Default Binary - ns=0;i=15421 */ + +static UA_StatusCode function_namespace0_generated_4422_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15421LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15421LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15005LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4422_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15421LU) +); +} + +/* Default JSON - ns=0;i=15382 */ + +static UA_StatusCode function_namespace0_generated_4423_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15382LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15382LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4423_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15382LU) +); +} + +/* Default JSON - ns=0;i=15381 */ + +static UA_StatusCode function_namespace0_generated_4424_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15381LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15381LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 894LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4424_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15381LU) +); +} + +/* Default JSON - ns=0;i=15380 */ + +static UA_StatusCode function_namespace0_generated_4425_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15380LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15380LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4425_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15380LU) +); +} + +/* Default JSON - ns=0;i=15379 */ + +static UA_StatusCode function_namespace0_generated_4426_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15379LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15379LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4426_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15379LU) +); +} + +/* Default JSON - ns=0;i=15378 */ + +static UA_StatusCode function_namespace0_generated_4427_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15378LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15378LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4427_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15378LU) +); +} + +/* Default JSON - ns=0;i=15377 */ + +static UA_StatusCode function_namespace0_generated_4428_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15377LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15377LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4428_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15377LU) +); +} + +/* Default JSON - ns=0;i=15376 */ + +static UA_StatusCode function_namespace0_generated_4429_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15376LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15376LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 887LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4429_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15376LU) +); +} + +/* Default JSON - ns=0;i=15375 */ + +static UA_StatusCode function_namespace0_generated_4430_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15375LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15375LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 884LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4430_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15375LU) +); +} + +/* Default JSON - ns=0;i=15374 */ + +static UA_StatusCode function_namespace0_generated_4431_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15374LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15374LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 897LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4431_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15374LU) +); +} + +/* Default JSON - ns=0;i=15373 */ + +static UA_StatusCode function_namespace0_generated_4432_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15373LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15373LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 877LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4432_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15373LU) +); +} + +/* Default JSON - ns=0;i=15372 */ + +static UA_StatusCode function_namespace0_generated_4433_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15372LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15372LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 874LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4433_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15372LU) +); +} + +/* Default JSON - ns=0;i=15371 */ + +static UA_StatusCode function_namespace0_generated_4434_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15371LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15371LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 299LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4434_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15371LU) +); +} + +/* Default JSON - ns=0;i=15370 */ + +static UA_StatusCode function_namespace0_generated_4435_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15370LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15370LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 871LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4435_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15370LU) +); +} + +/* Default JSON - ns=0;i=15369 */ + +static UA_StatusCode function_namespace0_generated_4436_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15369LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15369LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 868LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4436_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15369LU) +); +} + +/* Default JSON - ns=0;i=15368 */ + +static UA_StatusCode function_namespace0_generated_4437_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15368LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15368LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 865LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4437_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15368LU) +); +} + +/* Default JSON - ns=0;i=15367 */ + +static UA_StatusCode function_namespace0_generated_4438_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15367LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15367LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 862LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4438_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15367LU) +); +} + +/* Default JSON - ns=0;i=15366 */ + +static UA_StatusCode function_namespace0_generated_4439_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15366LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15366LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4439_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15366LU) +); +} + +/* Default JSON - ns=0;i=15365 */ + +static UA_StatusCode function_namespace0_generated_4440_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15365LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15365LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4440_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15365LU) +); +} + +/* Default JSON - ns=0;i=15364 */ + +static UA_StatusCode function_namespace0_generated_4441_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15364LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15364LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11944LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4441_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15364LU) +); +} + +/* Default JSON - ns=0;i=15363 */ + +static UA_StatusCode function_namespace0_generated_4442_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15363LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15363LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4442_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15363LU) +); +} + +/* Default JSON - ns=0;i=15362 */ + +static UA_StatusCode function_namespace0_generated_4443_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15362LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15362LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4443_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15362LU) +); +} + +/* Default JSON - ns=0;i=15361 */ + +static UA_StatusCode function_namespace0_generated_4444_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15361LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15361LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 338LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4444_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15361LU) +); +} + +/* Default JSON - ns=0;i=15349 */ + +static UA_StatusCode function_namespace0_generated_4445_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15349LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15349LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 920LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4445_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15349LU) +); +} + +/* Default JSON - ns=0;i=15304 */ + +static UA_StatusCode function_namespace0_generated_4446_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15304LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15304LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 948LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4446_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15304LU) +); +} + +/* Default JSON - ns=0;i=15295 */ + +static UA_StatusCode function_namespace0_generated_4447_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15295LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15295LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 725LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4447_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15295LU) +); +} + +/* Default JSON - ns=0;i=15293 */ + +static UA_StatusCode function_namespace0_generated_4448_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15293LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15293LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4448_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15293LU) +); +} + +/* Default JSON - ns=0;i=15273 */ + +static UA_StatusCode function_namespace0_generated_4449_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15273LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15273LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 659LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4449_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15273LU) +); +} + +/* Default JSON - ns=0;i=15210 */ + +static UA_StatusCode function_namespace0_generated_4450_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15210LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15210LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 601LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4450_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15210LU) +); +} + +/* Default JSON - ns=0;i=15209 */ + +static UA_StatusCode function_namespace0_generated_4451_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15209LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15209LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 598LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4451_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15209LU) +); +} + +/* Default JSON - ns=0;i=15208 */ + +static UA_StatusCode function_namespace0_generated_4452_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15208LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15208LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 595LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4452_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15208LU) +); +} + +/* Default JSON - ns=0;i=15207 */ + +static UA_StatusCode function_namespace0_generated_4453_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15207LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15207LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 592LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4453_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15207LU) +); +} + +/* Default JSON - ns=0;i=15206 */ + +static UA_StatusCode function_namespace0_generated_4454_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15206LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15206LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 589LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4454_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15206LU) +); +} + +/* Default JSON - ns=0;i=15205 */ + +static UA_StatusCode function_namespace0_generated_4455_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15205LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15205LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 586LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4455_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15205LU) +); +} + +/* Default JSON - ns=0;i=15204 */ + +static UA_StatusCode function_namespace0_generated_4456_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15204LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15204LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 583LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4456_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15204LU) +); +} + +/* Default JSON - ns=0;i=15199 */ + +static UA_StatusCode function_namespace0_generated_4457_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15199LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15199LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 331LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4457_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15199LU) +); +} + +/* Default JSON - ns=0;i=15189 */ + +static UA_StatusCode function_namespace0_generated_4458_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15189LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15189LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 540LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4458_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15189LU) +); +} + +/* Default JSON - ns=0;i=15188 */ + +static UA_StatusCode function_namespace0_generated_4459_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15188LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15188LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 537LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4459_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15188LU) +); +} + +/* Default JSON - ns=0;i=15175 */ + +static UA_StatusCode function_namespace0_generated_4460_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15175LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15175LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 385LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4460_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15175LU) +); +} + +/* Default JSON - ns=0;i=15172 */ + +static UA_StatusCode function_namespace0_generated_4461_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15172LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15172LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 382LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4461_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15172LU) +); +} + +/* Default JSON - ns=0;i=15169 */ + +static UA_StatusCode function_namespace0_generated_4462_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15169LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15169LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 379LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4462_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15169LU) +); +} + +/* Default JSON - ns=0;i=15165 */ + +static UA_StatusCode function_namespace0_generated_4463_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15165LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15165LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 376LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4463_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15165LU) +); +} + +/* Default JSON - ns=0;i=15144 */ + +static UA_StatusCode function_namespace0_generated_4464_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15144LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15144LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 938LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4464_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15144LU) +); +} + +/* Default JSON - ns=0;i=15143 */ + +static UA_StatusCode function_namespace0_generated_4465_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15143LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15143LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 325LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4465_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15143LU) +); +} + +/* Default JSON - ns=0;i=15142 */ + +static UA_StatusCode function_namespace0_generated_4466_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15142LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15142LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 322LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4466_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15142LU) +); +} + +/* Default JSON - ns=0;i=15141 */ + +static UA_StatusCode function_namespace0_generated_4467_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15141LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15141LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 319LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4467_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15141LU) +); +} + +/* Default JSON - ns=0;i=15140 */ + +static UA_StatusCode function_namespace0_generated_4468_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15140LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15140LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 316LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4468_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15140LU) +); +} + +/* Default JSON - ns=0;i=15136 */ + +static UA_StatusCode function_namespace0_generated_4469_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15136LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15136LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 344LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4469_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15136LU) +); +} + +/* Default JSON - ns=0;i=15106 */ + +static UA_StatusCode function_namespace0_generated_4470_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15106LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15106LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4470_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15106LU) +); +} + +/* Default JSON - ns=0;i=15105 */ + +static UA_StatusCode function_namespace0_generated_4471_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15105LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15105LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4471_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15105LU) +); +} + +/* Default JSON - ns=0;i=15102 */ + +static UA_StatusCode function_namespace0_generated_4472_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15102LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15102LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 432LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4472_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15102LU) +); +} + +/* Default JSON - ns=0;i=15099 */ + +static UA_StatusCode function_namespace0_generated_4473_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15099LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15099LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 312LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4473_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15099LU) +); +} + +/* Default JSON - ns=0;i=15098 */ + +static UA_StatusCode function_namespace0_generated_4474_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15098LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15098LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 304LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4474_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15098LU) +); +} + +/* Default JSON - ns=0;i=15095 */ + +static UA_StatusCode function_namespace0_generated_4475_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15095LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15095LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4475_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15095LU) +); +} + +/* Default JSON - ns=0;i=15087 */ + +static UA_StatusCode function_namespace0_generated_4476_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15087LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15087LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 308LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4476_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15087LU) +); +} + +/* Default JSON - ns=0;i=15086 */ + +static UA_StatusCode function_namespace0_generated_4477_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15086LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15086LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8912LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4477_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15086LU) +); +} + +/* Default JSON - ns=0;i=15085 */ + +static UA_StatusCode function_namespace0_generated_4478_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15085LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15085LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4478_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15085LU) +); +} + +/* Default JSON - ns=0;i=15084 */ + +static UA_StatusCode function_namespace0_generated_4479_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15084LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15084LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12755LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4479_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15084LU) +); +} + +/* Default JSON - ns=0;i=15083 */ + +static UA_StatusCode function_namespace0_generated_4480_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15083LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15083LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4480_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15083LU) +); +} + +/* Default JSON - ns=0;i=15082 */ + +static UA_StatusCode function_namespace0_generated_4481_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15082LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15082LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7594LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4481_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15082LU) +); +} + +/* Default JSON - ns=0;i=15081 */ + +static UA_StatusCode function_namespace0_generated_4482_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15081LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15081LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4482_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15081LU) +); +} + +/* Default JSON - ns=0;i=15067 */ + +static UA_StatusCode function_namespace0_generated_4483_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15067LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15067LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4483_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15067LU) +); +} + +/* Default JSON - ns=0;i=15066 */ + +static UA_StatusCode function_namespace0_generated_4484_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15066LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15066LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 99LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4484_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15066LU) +); +} + +/* Default JSON - ns=0;i=15065 */ + +static UA_StatusCode function_namespace0_generated_4485_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15065LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15065LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4485_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15065LU) +); +} + +/* Default JSON - ns=0;i=15063 */ + +static UA_StatusCode function_namespace0_generated_4486_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15063LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15063LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 97LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4486_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15063LU) +); +} + +/* Default JSON - ns=0;i=15062 */ + +static UA_StatusCode function_namespace0_generated_4487_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15062LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15062LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 96LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4487_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15062LU) +); +} + +/* Default JSON - ns=0;i=15061 */ + +static UA_StatusCode function_namespace0_generated_4488_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15061LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15061LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14744LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4488_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15061LU) +); +} + +/* Default JSON - ns=0;i=15060 */ + +static UA_StatusCode function_namespace0_generated_4489_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15060LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15060LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14273LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4489_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15060LU) +); +} + +/* Default JSON - ns=0;i=15059 */ + +static UA_StatusCode function_namespace0_generated_4490_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15059LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15059LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15488LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4490_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15059LU) +); +} + +/* Default JSON - ns=0;i=15058 */ + +static UA_StatusCode function_namespace0_generated_4491_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15058LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15058LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15487LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4491_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15058LU) +); +} + +/* Default JSON - ns=0;i=15057 */ + +static UA_StatusCode function_namespace0_generated_4492_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15057LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15057LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14525LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4492_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15057LU) +); +} + +/* Default JSON - ns=0;i=15051 */ + +static UA_StatusCode function_namespace0_generated_4493_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15051LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15051LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14524LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4493_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15051LU) +); +} + +/* Default JSON - ns=0;i=15050 */ + +static UA_StatusCode function_namespace0_generated_4494_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15050LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15050LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14523LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4494_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15050LU) +); +} + +/* Default JSON - ns=0;i=15049 */ + +static UA_StatusCode function_namespace0_generated_4495_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15049LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15049LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4495_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15049LU) +); +} + +/* Default JSON - ns=0;i=15044 */ + +static UA_StatusCode function_namespace0_generated_4496_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15044LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15044LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12554LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4496_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15044LU) +); +} + +/* Default JSON - ns=0;i=15042 */ + +static UA_StatusCode function_namespace0_generated_4497_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15042LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15042LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15634LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4497_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15042LU) +); +} + +/* Default JSON - ns=0;i=15041 */ + +static UA_StatusCode function_namespace0_generated_4498_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 15041LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default JSON"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15041LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14533LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4498_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15041LU) +); +} + +/* Default Binary - ns=0;i=14848 */ + +static UA_StatusCode function_namespace0_generated_4499_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14848LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14848LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14744LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4499_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14848LU) +); +} + +/* Default Binary - ns=0;i=14847 */ + +static UA_StatusCode function_namespace0_generated_4500_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14847LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14847LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4500_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14847LU) +); +} + +/* Default Binary - ns=0;i=14846 */ + +static UA_StatusCode function_namespace0_generated_4501_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14846LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14846LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14533LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4501_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14846LU) +); +} + +/* Default Binary - ns=0;i=14845 */ + +static UA_StatusCode function_namespace0_generated_4502_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14845LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14845LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4502_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14845LU) +); +} + +/* Default Binary - ns=0;i=14844 */ + +static UA_StatusCode function_namespace0_generated_4503_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14844LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14844LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4503_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14844LU) +); +} + +/* Default Binary - ns=0;i=14839 */ + +static UA_StatusCode function_namespace0_generated_4504_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14839LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14839LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14524LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4504_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14839LU) +); +} + +/* Default XML - ns=0;i=14804 */ + +static UA_StatusCode function_namespace0_generated_4505_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14804LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14804LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14744LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4505_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14804LU) +); +} + +/* Default XML - ns=0;i=14803 */ + +static UA_StatusCode function_namespace0_generated_4506_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14803LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14803LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4506_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14803LU) +); +} + +/* Default XML - ns=0;i=14802 */ + +static UA_StatusCode function_namespace0_generated_4507_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14802LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14802LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14533LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4507_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14802LU) +); +} + +/* Default XML - ns=0;i=14801 */ + +static UA_StatusCode function_namespace0_generated_4508_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14801LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14801LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 102LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4508_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14801LU) +); +} + +/* Default XML - ns=0;i=14800 */ + +static UA_StatusCode function_namespace0_generated_4509_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14800LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14800LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 101LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4509_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14800LU) +); +} + +/* Default XML - ns=0;i=14799 */ + +static UA_StatusCode function_namespace0_generated_4510_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14799LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14799LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4510_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14799LU) +); +} + +/* Default XML - ns=0;i=14798 */ + +static UA_StatusCode function_namespace0_generated_4511_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14798LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14798LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 99LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4511_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14798LU) +); +} + +/* Default XML - ns=0;i=14797 */ + +static UA_StatusCode function_namespace0_generated_4512_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14797LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14797LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 97LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4512_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14797LU) +); +} + +/* Default XML - ns=0;i=14796 */ + +static UA_StatusCode function_namespace0_generated_4513_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14796LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14796LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14525LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4513_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14796LU) +); +} + +/* Default XML - ns=0;i=14795 */ + +static UA_StatusCode function_namespace0_generated_4514_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14795LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14795LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14524LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4514_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14795LU) +); +} + +/* Default XML - ns=0;i=14794 */ + +static UA_StatusCode function_namespace0_generated_4515_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14794LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14794LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14523LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4515_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14794LU) +); +} + +/* Default Binary - ns=0;i=14323 */ + +static UA_StatusCode function_namespace0_generated_4516_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14323LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14323LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14273LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4516_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14323LU) +); +} + +/* Default XML - ns=0;i=14319 */ + +static UA_StatusCode function_namespace0_generated_4517_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 14319LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14319LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14273LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4517_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14319LU) +); +} + +/* Default Binary - ns=0;i=12901 */ + +static UA_StatusCode function_namespace0_generated_4518_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12901LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12901LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4518_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12901LU) +); +} + +/* Default Binary - ns=0;i=12900 */ + +static UA_StatusCode function_namespace0_generated_4519_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12900LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12900LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4519_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12900LU) +); +} + +/* Default XML - ns=0;i=12893 */ + +static UA_StatusCode function_namespace0_generated_4520_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12893LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12893LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12891LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4520_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12893LU) +); +} + +/* Default XML - ns=0;i=12892 */ + +static UA_StatusCode function_namespace0_generated_4521_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12892LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12892LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12890LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4521_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12892LU) +); +} + +/* Default Binary - ns=0;i=128 */ + +static UA_StatusCode function_namespace0_generated_4522_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 128LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 128LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 96LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4522_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 128LU) +); +} + +/* Default Binary - ns=0;i=12766 */ + +static UA_StatusCode function_namespace0_generated_4523_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12766LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12766LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4523_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12766LU) +); +} + +/* Default Binary - ns=0;i=12765 */ + +static UA_StatusCode function_namespace0_generated_4524_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12765LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12765LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12755LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4524_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12765LU) +); +} + +/* Default XML - ns=0;i=12758 */ + +static UA_StatusCode function_namespace0_generated_4525_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12758LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12758LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12756LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4525_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12758LU) +); +} + +/* Default XML - ns=0;i=12757 */ + +static UA_StatusCode function_namespace0_generated_4526_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12757LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12757LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12755LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4526_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12757LU) +); +} + +/* Default Binary - ns=0;i=127 */ + +static UA_StatusCode function_namespace0_generated_4527_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 127LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 127LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15488LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4527_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 127LU) +); +} + +/* Default Binary - ns=0;i=12680 */ + +static UA_StatusCode function_namespace0_generated_4528_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12680LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12680LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12554LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4528_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12680LU) +); +} + +/* Default XML - ns=0;i=12676 */ + +static UA_StatusCode function_namespace0_generated_4529_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12676LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12676LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12554LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4529_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12676LU) +); +} + +/* Default Binary - ns=0;i=126 */ + +static UA_StatusCode function_namespace0_generated_4530_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 126LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 126LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15487LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4530_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 126LU) +); +} + +/* Default Binary - ns=0;i=125 */ + +static UA_StatusCode function_namespace0_generated_4531_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 125LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 125LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14525LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4531_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 125LU) +); +} + +/* Default Binary - ns=0;i=124 */ + +static UA_StatusCode function_namespace0_generated_4532_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 124LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 124LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14523LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4532_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 124LU) +); +} + +/* Default Binary - ns=0;i=123 */ + +static UA_StatusCode function_namespace0_generated_4533_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 123LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 123LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 100LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4533_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 123LU) +); +} + +/* Default Binary - ns=0;i=12207 */ + +static UA_StatusCode function_namespace0_generated_4534_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12207LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12207LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4534_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12207LU) +); +} + +/* Default Binary - ns=0;i=122 */ + +static UA_StatusCode function_namespace0_generated_4535_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 122LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 122LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 99LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4535_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 122LU) +); +} + +/* Default XML - ns=0;i=12195 */ + +static UA_StatusCode function_namespace0_generated_4536_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12195LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12195LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12189LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4536_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12195LU) +); +} + +/* Default Binary - ns=0;i=12182 */ + +static UA_StatusCode function_namespace0_generated_4537_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12182LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12182LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4537_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12182LU) +); +} + +/* Default Binary - ns=0;i=12181 */ + +static UA_StatusCode function_namespace0_generated_4538_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12181LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12181LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4538_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12181LU) +); +} + +/* Default XML - ns=0;i=12174 */ + +static UA_StatusCode function_namespace0_generated_4539_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12174LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12174LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12172LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4539_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12174LU) +); +} + +/* Default XML - ns=0;i=12173 */ + +static UA_StatusCode function_namespace0_generated_4540_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12173LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12173LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12171LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4540_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12173LU) +); +} + +/* Default Binary - ns=0;i=121 */ + +static UA_StatusCode function_namespace0_generated_4541_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 121LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 121LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 97LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4541_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 121LU) +); +} + +/* Default Binary - ns=0;i=12090 */ + +static UA_StatusCode function_namespace0_generated_4542_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12090LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12090LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4542_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12090LU) +); +} + +/* Default Binary - ns=0;i=12089 */ + +static UA_StatusCode function_namespace0_generated_4543_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12089LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12089LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4543_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12089LU) +); +} + +/* Default XML - ns=0;i=12082 */ + +static UA_StatusCode function_namespace0_generated_4544_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12082LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12082LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12080LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4544_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12082LU) +); +} + +/* Default XML - ns=0;i=12081 */ + +static UA_StatusCode function_namespace0_generated_4545_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 12081LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12081LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12079LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4545_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12081LU) +); +} + +/* Default Binary - ns=0;i=11958 */ + +static UA_StatusCode function_namespace0_generated_4546_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11958LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11958LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11944LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4546_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11958LU) +); +} + +/* Default Binary - ns=0;i=11957 */ + +static UA_StatusCode function_namespace0_generated_4547_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11957LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11957LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4547_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11957LU) +); +} + +/* Default XML - ns=0;i=11950 */ + +static UA_StatusCode function_namespace0_generated_4548_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11950LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11950LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11944LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4548_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11950LU) +); +} + +/* Default XML - ns=0;i=11949 */ + +static UA_StatusCode function_namespace0_generated_4549_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 11949LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 76LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11949LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11943LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4549_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11949LU) +); +} + +/* DataTypeSystemType - ns=0;i=75 */ + +static UA_StatusCode function_namespace0_generated_4550_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSystemType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, +UA_NODEID_NUMERIC(ns[0], 75LU), +UA_NODEID_NUMERIC(ns[0], 58LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeSystemType"), + UA_NODEID_NULL, +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4550_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 75LU) +); +} + +/* OPC Binary - ns=0;i=93 */ + +static UA_StatusCode function_namespace0_generated_4551_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "OPC Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 93LU), +UA_NODEID_NUMERIC(ns[0], 90LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "OPC Binary"), +UA_NODEID_NUMERIC(ns[0], 75LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4551_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 93LU) +); +} + +/* XML Schema - ns=0;i=92 */ + +static UA_StatusCode function_namespace0_generated_4552_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "XML Schema"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 92LU), +UA_NODEID_NUMERIC(ns[0], 90LU), +UA_NODEID_NUMERIC(ns[0], 35LU), +UA_QUALIFIEDNAME(ns[0], "XML Schema"), +UA_NODEID_NUMERIC(ns[0], 75LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4552_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 92LU) +); +} + +/* DataTypeDictionaryType - ns=0;i=72 */ + +static UA_StatusCode function_namespace0_generated_4553_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDictionaryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 72LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDictionaryType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4553_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 72LU) +); +} + +/* Opc.Ua - ns=0;i=8252 */ +static const UA_Byte variablenode_ns_0_i_8252_variant_DataContents_byteArray[288306] = {60, 120, 115, 58, 115, 99, 104, 101, 109, 97, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 120, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 49, 47, 88, 77, 76, 83, 99, 104, 101, 109, 97, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 117, 97, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 50, 48, 48, 56, 47, 48, 50, 47, 84, 121, 112, 101, 115, 46, 120, 115, 100, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 116, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 50, 48, 48, 56, 47, 48, 50, 47, 84, 121, 112, 101, 115, 46, 120, 115, 100, 34, 13, 10, 32, 32, 116, 97, 114, 103, 101, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 50, 48, 48, 56, 47, 48, 50, 47, 84, 121, 112, 101, 115, 46, 120, 115, 100, 34, 13, 10, 32, 32, 101, 108, 101, 109, 101, 110, 116, 70, 111, 114, 109, 68, 101, 102, 97, 117, 108, 116, 61, 34, 113, 117, 97, 108, 105, 102, 105, 101, 100, 34, 13, 10, 62, 13, 10, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 116, 110, 115, 58, 77, 111, 100, 101, 108, 32, 77, 111, 100, 101, 108, 85, 114, 105, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 32, 86, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 53, 46, 48, 50, 34, 32, 80, 117, 98, 108, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 101, 61, 34, 50, 48, 50, 50, 45, 49, 49, 45, 48, 49, 84, 48, 48, 58, 48, 48, 58, 48, 48, 90, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 32, 120, 109, 108, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 115, 99, 104, 101, 109, 97, 115, 46, 109, 105, 99, 114, 111, 115, 111, 102, 116, 46, 99, 111, 109, 47, 50, 48, 48, 51, 47, 49, 48, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 47, 34, 62, 116, 114, 117, 101, 60, 47, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 49, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 49, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 49, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 32, 120, 109, 108, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 115, 99, 104, 101, 109, 97, 115, 46, 109, 105, 99, 114, 111, 115, 111, 102, 116, 46, 99, 111, 109, 47, 50, 48, 48, 51, 47, 49, 48, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 47, 34, 62, 116, 114, 117, 101, 60, 47, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 83, 111, 109, 101, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 115, 32, 114, 101, 113, 117, 105, 114, 101, 32, 97, 32, 87, 83, 68, 76, 47, 88, 83, 68, 32, 119, 104, 105, 99, 104, 32, 101, 120, 112, 108, 105, 99, 105, 116, 108, 121, 32, 100, 101, 102, 105, 110, 101, 115, 32, 97, 108, 108, 32, 112, 111, 115, 115, 105, 98, 108, 101, 32, 116, 121, 112, 101, 115, 46, 13, 10, 32, 32, 32, 32, 84, 104, 101, 32, 85, 65, 32, 87, 83, 68, 76, 47, 88, 83, 68, 32, 99, 97, 110, 32, 98, 101, 32, 109, 111, 100, 105, 102, 105, 101, 100, 32, 116, 111, 32, 115, 117, 112, 112, 111, 114, 116, 32, 116, 104, 101, 115, 101, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 115, 32, 98, 121, 32, 114, 101, 112, 108, 97, 99, 105, 110, 103, 32, 116, 104, 101, 13, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 115, 32, 111, 102, 32, 116, 104, 101, 32, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 32, 97, 110, 100, 32, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 32, 119, 105, 116, 104, 32, 116, 104, 101, 13, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 115, 32, 105, 110, 32, 116, 104, 101, 32, 99, 111, 109, 109, 101, 110, 116, 115, 32, 115, 104, 111, 119, 110, 32, 104, 101, 114, 101, 46, 32, 68, 101, 118, 101, 108, 111, 112, 101, 114, 115, 32, 119, 111, 117, 108, 100, 32, 116, 104, 101, 110, 32, 100, 101, 102, 105, 110, 101, 32, 115, 117, 98, 116, 121, 112, 101, 115, 13, 10, 32, 32, 32, 32, 111, 102, 32, 116, 104, 101, 32, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 32, 116, 121, 112, 101, 32, 119, 104, 105, 99, 104, 32, 101, 120, 112, 108, 105, 99, 105, 116, 108, 121, 32, 100, 101, 99, 108, 97, 114, 101, 32, 97, 32, 99, 104, 111, 105, 99, 101, 32, 98, 101, 116, 119, 101, 101, 110, 32, 97, 108, 108, 32, 111, 102, 32, 116, 104, 101, 13, 10, 32, 32, 32, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 32, 117, 115, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 115, 121, 115, 116, 101, 109, 46, 32, 84, 104, 101, 32, 69, 120, 97, 109, 112, 108, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 32, 115, 117, 98, 116, 121, 112, 101, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 115, 13, 10, 32, 32, 32, 32, 97, 32, 116, 101, 109, 112, 108, 97, 116, 101, 32, 98, 97, 115, 101, 100, 32, 111, 110, 32, 97, 32, 102, 101, 119, 32, 99, 111, 109, 109, 111, 110, 32, 85, 65, 45, 100, 101, 102, 105, 110, 101, 100, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 46, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 97, 109, 112, 108, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 83, 111, 109, 101, 32, 87, 83, 68, 76, 47, 88, 77, 76, 32, 99, 111, 109, 112, 105, 108, 101, 114, 115, 32, 104, 97, 118, 101, 32, 105, 115, 115, 117, 101, 115, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 120, 115, 58, 99, 104, 111, 105, 99, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 46, 32, 70, 111, 114, 32, 116, 104, 97, 116, 32, 114, 101, 97, 115, 111, 110, 13, 10, 32, 32, 32, 32, 116, 104, 101, 32, 100, 101, 102, 97, 117, 108, 116, 32, 100, 101, 99, 108, 97, 114, 97, 116, 105, 111, 110, 32, 111, 102, 32, 97, 32, 86, 97, 114, 105, 97, 110, 116, 32, 117, 115, 101, 115, 32, 120, 115, 58, 97, 110, 121, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 46, 32, 84, 104, 101, 32, 115, 99, 104, 101, 109, 97, 32, 97, 99, 117, 116, 117, 97, 108, 108, 121, 13, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 115, 112, 101, 99, 105, 102, 105, 99, 97, 116, 105, 111, 110, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 77, 97, 116, 114, 105, 120, 32, 97, 110, 100, 32, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 13, 10, 32, 32, 32, 32, 115, 104, 111, 119, 110, 32, 105, 110, 32, 99, 111, 109, 109, 101, 110, 116, 115, 32, 98, 101, 108, 111, 119, 46, 32, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 32, 100, 101, 118, 101, 108, 111, 112, 101, 114, 115, 32, 99, 97, 110, 32, 114, 101, 112, 108, 97, 99, 101, 32, 116, 104, 101, 32, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 32, 100, 101, 99, 108, 97, 114, 97, 116, 105, 111, 110, 13, 10, 32, 32, 32, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 115, 112, 101, 99, 105, 102, 105, 99, 32, 100, 101, 99, 108, 97, 114, 97, 116, 105, 111, 110, 32, 105, 102, 32, 116, 104, 101, 121, 32, 104, 97, 118, 101, 32, 97, 32, 100, 101, 118, 101, 108, 111, 112, 109, 101, 110, 116, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 32, 116, 104, 97, 116, 32, 99, 97, 110, 32, 104, 97, 110, 100, 108, 101, 13, 10, 32, 32, 32, 32, 116, 104, 101, 32, 120, 115, 58, 99, 104, 111, 105, 99, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 105, 110, 32, 97, 32, 114, 101, 97, 115, 111, 110, 97, 98, 108, 101, 32, 119, 97, 121, 46, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 97, 116, 114, 105, 120, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 104, 111, 105, 99, 101, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 116, 114, 105, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 97, 116, 114, 105, 120, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 116, 114, 105, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 97, 116, 114, 105, 120, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 32, 120, 109, 108, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 115, 99, 104, 101, 109, 97, 115, 46, 109, 105, 99, 114, 111, 115, 111, 102, 116, 46, 99, 111, 109, 47, 50, 48, 48, 51, 47, 49, 48, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 47, 34, 62, 116, 114, 117, 101, 60, 47, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 107, 101, 83, 101, 114, 118, 105, 99, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 107, 101, 83, 101, 114, 118, 105, 99, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 66, 77, 80, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 71, 73, 70, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 74, 80, 71, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 80, 78, 71, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 100, 105, 111, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 110, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 114, 105, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 105, 116, 70, 105, 101, 108, 100, 77, 97, 115, 107, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 86, 101, 114, 115, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 99, 75, 101, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 105, 109, 109, 101, 100, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 86, 101, 99, 116, 111, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 89, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 90, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 89, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 90, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 114, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 87, 114, 105, 116, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 97, 115, 101, 69, 120, 105, 115, 116, 105, 110, 103, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 112, 112, 101, 110, 100, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 104, 117, 109, 98, 112, 114, 105, 110, 116, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 111, 108, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 114, 111, 117, 112, 73, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 100, 85, 115, 101, 114, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 88, 53, 48, 57, 83, 117, 98, 106, 101, 99, 116, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 111, 110, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 112, 104, 97, 98, 101, 116, 105, 99, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 108, 108, 95, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 76, 105, 115, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 99, 97, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 99, 105, 109, 97, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 99, 104, 101, 109, 97, 76, 111, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 97, 117, 115, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 114, 111, 114, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 114, 101, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 106, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 105, 110, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 72, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 116, 105, 116, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 121, 99, 108, 105, 99, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 101, 112, 65, 108, 105, 118, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 73, 110, 116, 101, 114, 102, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 99, 101, 105, 118, 101, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 114, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 97, 115, 116, 85, 115, 97, 98, 108, 101, 86, 97, 108, 117, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 70, 117, 116, 117, 114, 101, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 80, 97, 115, 116, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 114, 121, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 100, 101, 102, 105, 110, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 83, 105, 110, 103, 108, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 101, 100, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 68, 101, 108, 97, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 101, 115, 116, 69, 102, 102, 111, 114, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 116, 76, 101, 97, 115, 116, 79, 110, 99, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 116, 77, 111, 115, 116, 79, 110, 99, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 120, 97, 99, 116, 108, 121, 79, 110, 99, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 85, 112, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 97, 115, 105, 99, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 100, 118, 97, 110, 99, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 102, 111, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 111, 103, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 101, 98, 117, 103, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 114, 111, 114, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 101, 100, 84, 105, 99, 107, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 117, 108, 108, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 97, 108, 102, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 117, 112, 108, 101, 120, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 117, 112, 108, 101, 120, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 117, 112, 108, 101, 120, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 117, 112, 108, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 117, 112, 108, 101, 120, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 111, 119, 110, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 111, 119, 110, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 111, 114, 109, 97, 110, 116, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 116, 80, 114, 101, 115, 101, 110, 116, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 111, 119, 101, 114, 76, 97, 121, 101, 114, 68, 111, 119, 110, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 80, 114, 111, 103, 114, 101, 115, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 109, 112, 108, 101, 116, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 70, 97, 105, 108, 117, 114, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 66, 97, 110, 100, 119, 105, 100, 116, 104, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 82, 101, 115, 111, 117, 114, 99, 101, 115, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 84, 114, 97, 102, 102, 105, 99, 67, 108, 97, 115, 115, 66, 97, 110, 100, 119, 105, 100, 116, 104, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 73, 110, 85, 115, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 73, 110, 85, 115, 101, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 80, 114, 101, 101, 109, 112, 116, 101, 100, 66, 121, 72, 105, 103, 104, 101, 114, 82, 97, 110, 107, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 97, 116, 101, 110, 99, 121, 72, 97, 115, 67, 104, 97, 110, 103, 101, 100, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 103, 114, 101, 115, 115, 80, 111, 114, 116, 78, 111, 116, 65, 118, 98, 67, 97, 112, 97, 98, 108, 101, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 68, 105, 102, 102, 101, 114, 101, 110, 116, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 95, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 117, 116, 79, 102, 77, 115, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 95, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 117, 116, 79, 102, 77, 109, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 95, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 97, 110, 110, 111, 116, 83, 116, 111, 114, 101, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 95, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 73, 115, 78, 111, 116, 65, 110, 83, 114, 99, 67, 108, 97, 115, 115, 95, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 97, 120, 70, 114, 97, 109, 101, 83, 105, 122, 101, 84, 111, 111, 76, 97, 114, 103, 101, 95, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 97, 120, 70, 97, 110, 73, 110, 80, 111, 114, 116, 115, 76, 105, 109, 105, 116, 82, 101, 97, 99, 104, 101, 100, 95, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 105, 114, 115, 116, 86, 97, 108, 117, 101, 67, 104, 97, 110, 103, 101, 100, 70, 111, 114, 83, 116, 114, 101, 97, 109, 73, 100, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 108, 97, 110, 66, 108, 111, 99, 107, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 95, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 108, 97, 110, 84, 97, 103, 103, 105, 110, 103, 68, 105, 115, 97, 98, 108, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 95, 49, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 114, 67, 108, 97, 115, 115, 80, 114, 105, 111, 114, 105, 116, 121, 77, 105, 115, 109, 97, 116, 99, 104, 95, 49, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 80, 114, 111, 112, 97, 103, 97, 116, 101, 100, 95, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 97, 120, 76, 97, 116, 101, 110, 99, 121, 69, 120, 99, 101, 101, 100, 101, 100, 95, 50, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 114, 105, 100, 103, 101, 68, 111, 101, 115, 78, 111, 116, 80, 114, 111, 118, 105, 100, 101, 78, 101, 116, 119, 111, 114, 107, 73, 100, 95, 50, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 95, 50, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 84, 121, 112, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 95, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 95, 50, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 105, 110, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 121, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 114, 111, 114, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 121, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 121, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 97, 114, 116, 105, 97, 108, 70, 97, 105, 108, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 112, 112, 105, 110, 103, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 80, 67, 80, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 68, 83, 67, 80, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 105, 110, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 117, 105, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 112, 97, 113, 117, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 100, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 115, 112, 101, 99, 105, 102, 105, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 101, 116, 104, 111, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 95, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 95, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 105, 101, 119, 95, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 79, 112, 116, 105, 111, 110, 97, 108, 70, 105, 101, 108, 100, 115, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 105, 111, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 105, 111, 110, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 79, 112, 116, 105, 111, 110, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 69, 110, 99, 111, 100, 105, 110, 103, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 116, 104, 111, 100, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 73, 110, 118, 101, 114, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 105, 100, 66, 105, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 114, 109, 97, 108, 105, 122, 101, 100, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 116, 99, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 121, 108, 105, 103, 104, 116, 83, 97, 118, 105, 110, 103, 73, 110, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 103, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 101, 114, 118, 101, 114, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 108, 105, 101, 110, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 108, 105, 101, 110, 116, 65, 110, 100, 83, 101, 114, 118, 101, 114, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114, 118, 101, 114, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 100, 105, 116, 69, 110, 116, 114, 121, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 111, 117, 116, 72, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 114, 115, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 114, 105, 115, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 99, 111, 114, 100, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 67, 111, 117, 110, 116, 101, 114, 82, 101, 115, 101, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 73, 110, 115, 116, 97, 110, 99, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 105, 103, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 105, 103, 110, 65, 110, 100, 69, 110, 99, 114, 121, 112, 116, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 112, 104, 111, 114, 101, 70, 105, 108, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 79, 110, 108, 105, 110, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 100, 110, 115, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 110, 101, 119, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 100, 65, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 113, 117, 101, 115, 116, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 115, 97, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 99, 99, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 95, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 95, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 95, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 95, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 95, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 95, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 95, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 95, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 95, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 73, 100, 95, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 95, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 95, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 95, 49, 51, 49, 48, 55, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 95, 50, 54, 50, 49, 52, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 95, 53, 50, 52, 50, 56, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 95, 49, 48, 52, 56, 53, 55, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 108, 117, 101, 95, 50, 48, 57, 55, 49, 53, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 95, 52, 49, 57, 52, 51, 48, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 95, 56, 51, 56, 56, 54, 48, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 95, 49, 54, 55, 55, 55, 50, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 108, 108, 95, 51, 51, 53, 53, 52, 52, 51, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 97, 115, 101, 78, 111, 100, 101, 95, 50, 54, 53, 48, 49, 50, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 95, 50, 54, 53, 48, 49, 51, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 95, 50, 54, 53, 48, 51, 50, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 95, 50, 54, 53, 55, 49, 51, 56, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 95, 50, 56, 54, 48, 48, 52, 51, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 101, 116, 104, 111, 100, 95, 50, 54, 54, 51, 50, 53, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 95, 50, 54, 53, 51, 55, 48, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 105, 101, 119, 95, 50, 54, 53, 48, 49, 51, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 78, 101, 119, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 84, 97, 114, 103, 101, 116, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 66, 105, 100, 105, 114, 101, 99, 116, 105, 111, 110, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 111, 114, 119, 97, 114, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 111, 116, 104, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 95, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 108, 108, 95, 54, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 110, 102, 111, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 110, 102, 111, 95, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 73, 110, 118, 101, 114, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 109, 97, 105, 110, 105, 110, 103, 80, 97, 116, 104, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 117, 110, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 66, 105, 110, 97, 114, 121, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 66, 117, 102, 102, 101, 114, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 113, 117, 97, 108, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 78, 117, 108, 108, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 105, 107, 101, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 116, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 101, 116, 119, 101, 101, 110, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 76, 105, 115, 116, 95, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 110, 100, 95, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 114, 95, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 97, 115, 116, 95, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 86, 105, 101, 119, 95, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 102, 84, 121, 112, 101, 95, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 108, 97, 116, 101, 100, 84, 111, 95, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 65, 110, 100, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 79, 114, 95, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 68, 97, 116, 97, 83, 101, 116, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 111, 117, 114, 99, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 101, 114, 118, 101, 114, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 111, 116, 104, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 101, 105, 116, 104, 101, 114, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 65, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 82, 101, 97, 100, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 66, 111, 117, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 83, 105, 109, 112, 108, 101, 66, 111, 117, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 101, 114, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 100, 97, 116, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 101, 108, 101, 116, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 101, 114, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 100, 97, 116, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 109, 111, 118, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 68, 101, 108, 101, 116, 101, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 112, 111, 114, 116, 105, 110, 103, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 97, 116, 117, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 68, 101, 102, 97, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 101, 97, 116, 85, 110, 99, 101, 114, 116, 97, 105, 110, 65, 115, 66, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 66, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 71, 111, 111, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 83, 108, 111, 112, 101, 100, 69, 120, 116, 114, 97, 112, 111, 108, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 79, 108, 100, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 116, 101, 109, 84, 111, 77, 111, 110, 105, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 73, 116, 101, 109, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 114, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 114, 97, 110, 115, 109, 105, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 110, 100, 73, 110, 105, 116, 105, 97, 108, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 110, 117, 102, 97, 99, 116, 117, 114, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 102, 116, 119, 97, 114, 101, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 68, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 108, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 87, 97, 114, 109, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 111, 116, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 114, 97, 110, 115, 112, 97, 114, 101, 110, 116, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 111, 116, 65, 110, 100, 77, 105, 114, 114, 111, 114, 101, 100, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 117, 110, 110, 105, 110, 103, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 117, 115, 112, 101, 110, 100, 101, 100, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 101, 115, 116, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 109, 109, 117, 110, 105, 99, 97, 116, 105, 111, 110, 70, 97, 117, 108, 116, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 86, 105, 101, 119, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 98, 111, 114, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 111, 110, 100, 115, 84, 105, 108, 108, 83, 104, 117, 116, 100, 111, 119, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 82, 101, 97, 115, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 117, 97, 108, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 76, 97, 115, 116, 67, 111, 110, 116, 97, 99, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 115, 73, 110, 81, 117, 101, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 79, 102, 83, 101, 115, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 77, 101, 99, 104, 97, 110, 105, 115, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 116, 111, 99, 111, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 65, 108, 116, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 83, 97, 109, 101, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 116, 101, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 97, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 81, 117, 101, 117, 101, 79, 118, 101, 114, 102, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 120, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 81, 117, 101, 117, 101, 79, 118, 101, 114, 70, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 65, 100, 100, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 68, 101, 108, 101, 116, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 65, 100, 100, 101, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 108, 101, 116, 101, 100, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 67, 104, 97, 110, 103, 101, 100, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 114, 98, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 97, 110, 103, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 119, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 103, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 110, 103, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 105, 110, 101, 97, 114, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 111, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 103, 105, 110, 101, 101, 114, 105, 110, 103, 85, 110, 105, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 85, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 110, 103, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 116, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 88, 86, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 86, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 88, 86, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 86, 97, 108, 117, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 86, 97, 108, 117, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 82, 97, 110, 103, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 69, 85, 82, 97, 110, 103, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 32, 47, 62, 13, 10, 13, 10, 60, 47, 120, 115, 58, 115, 99, 104, 101, 109, 97, 62}; + + + +static UA_StatusCode function_namespace0_generated_4554_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +UA_ByteString *variablenode_ns_0_i_8252_variant_DataContents = UA_ByteString_new(); +if (!variablenode_ns_0_i_8252_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_ByteString_init(variablenode_ns_0_i_8252_variant_DataContents); +variablenode_ns_0_i_8252_variant_DataContents->length = 288306; +variablenode_ns_0_i_8252_variant_DataContents->data = (UA_Byte *)(void*)(uintptr_t)variablenode_ns_0_i_8252_variant_DataContents_byteArray; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8252_variant_DataContents, &UA_TYPES[UA_TYPES_BYTESTRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Opc.Ua"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 92LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Opc.Ua"), +UA_NODEID_NUMERIC(ns[0], 72LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +variablenode_ns_0_i_8252_variant_DataContents->data = NULL; +variablenode_ns_0_i_8252_variant_DataContents->length = 0; +UA_ByteString_delete(variablenode_ns_0_i_8252_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4554_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8252LU) +); +} + +/* NamespaceUri - ns=0;i=8254 */ + +static UA_StatusCode function_namespace0_generated_4555_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8254_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8254_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8254_variant_DataContents); +*variablenode_ns_0_i_8254_variant_DataContents = UA_STRING_ALLOC("http://opcfoundation.org/UA/2008/02/Types.xsd"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8254_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8254LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8254_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4555_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8254LU) +); +} + +/* Deprecated - ns=0;i=15039 */ + +static UA_StatusCode function_namespace0_generated_4556_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +UA_Boolean *variablenode_ns_0_i_15039_variant_DataContents = UA_Boolean_new(); +if (!variablenode_ns_0_i_15039_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Boolean_init(variablenode_ns_0_i_15039_variant_DataContents); +*variablenode_ns_0_i_15039_variant_DataContents = (UA_Boolean) true; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15039_variant_DataContents, &UA_TYPES[UA_TYPES_BOOLEAN]); +attr.displayName = UA_LOCALIZEDTEXT("", "Deprecated"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15039LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Deprecated"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Boolean_delete(variablenode_ns_0_i_15039_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4556_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15039LU) +); +} + +/* Opc.Ua - ns=0;i=7617 */ +static const UA_Byte variablenode_ns_0_i_7617_variant_DataContents_byteArray[179887] = {60, 111, 112, 99, 58, 84, 121, 112, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 111, 112, 99, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 66, 105, 110, 97, 114, 121, 83, 99, 104, 101, 109, 97, 47, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 120, 115, 105, 61, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 49, 47, 88, 77, 76, 83, 99, 104, 101, 109, 97, 45, 105, 110, 115, 116, 97, 110, 99, 101, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 117, 97, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 116, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 13, 10, 32, 32, 68, 101, 102, 97, 117, 108, 116, 66, 121, 116, 101, 79, 114, 100, 101, 114, 61, 34, 76, 105, 116, 116, 108, 101, 69, 110, 100, 105, 97, 110, 34, 13, 10, 32, 32, 84, 97, 114, 103, 101, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 13, 10, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 73, 109, 112, 111, 114, 116, 32, 78, 97, 109, 101, 115, 112, 97, 99, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 66, 105, 110, 97, 114, 121, 83, 99, 104, 101, 109, 97, 47, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 110, 32, 88, 77, 76, 32, 101, 108, 101, 109, 101, 110, 116, 32, 101, 110, 99, 111, 100, 101, 100, 32, 97, 115, 32, 97, 32, 85, 84, 70, 45, 56, 32, 115, 116, 114, 105, 110, 103, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 76, 101, 110, 103, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 54, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 84, 104, 101, 32, 112, 111, 115, 115, 105, 98, 108, 101, 32, 101, 110, 99, 111, 100, 105, 110, 103, 115, 32, 102, 111, 114, 32, 97, 32, 78, 111, 100, 101, 73, 100, 32, 118, 97, 108, 117, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 110, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, 102, 111, 114, 32, 97, 32, 110, 111, 100, 101, 32, 105, 110, 32, 97, 32, 85, 65, 32, 115, 101, 114, 118, 101, 114, 32, 97, 100, 100, 114, 101, 115, 115, 32, 115, 112, 97, 99, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 84, 119, 111, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 70, 111, 117, 114, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 117, 109, 101, 114, 105, 99, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 110, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, 102, 111, 114, 32, 97, 32, 110, 111, 100, 101, 32, 105, 110, 32, 97, 32, 85, 65, 32, 115, 101, 114, 118, 101, 114, 32, 97, 100, 100, 114, 101, 115, 115, 32, 115, 112, 97, 99, 101, 32, 113, 117, 97, 108, 105, 102, 105, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 99, 111, 109, 112, 108, 101, 116, 101, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 115, 116, 114, 105, 110, 103, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 110, 100, 101, 120, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 84, 119, 111, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 70, 111, 117, 114, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 117, 109, 101, 114, 105, 99, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 101, 114, 118, 101, 114, 73, 110, 100, 101, 120, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 66, 121, 116, 101, 79, 114, 100, 101, 114, 83, 105, 103, 110, 105, 102, 105, 99, 97, 110, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 51, 50, 45, 98, 105, 116, 32, 115, 116, 97, 116, 117, 115, 32, 99, 111, 100, 101, 32, 118, 97, 108, 117, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 32, 115, 116, 114, 117, 99, 116, 117, 114, 101, 32, 99, 111, 110, 116, 97, 105, 110, 105, 110, 103, 32, 100, 105, 97, 103, 110, 111, 115, 116, 105, 99, 32, 105, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 32, 97, 115, 115, 111, 99, 105, 97, 116, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 115, 116, 97, 116, 117, 115, 32, 99, 111, 100, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 115, 116, 114, 105, 110, 103, 32, 113, 117, 97, 108, 105, 102, 105, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 105, 110, 100, 101, 120, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 115, 116, 114, 105, 110, 103, 32, 113, 117, 97, 108, 105, 102, 105, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 105, 110, 100, 101, 120, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 101, 120, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 118, 97, 108, 117, 101, 32, 119, 105, 116, 104, 32, 97, 110, 32, 97, 115, 115, 111, 99, 105, 97, 116, 101, 100, 32, 116, 105, 109, 101, 115, 116, 97, 109, 112, 44, 32, 97, 110, 100, 32, 113, 117, 97, 108, 105, 116, 121, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 108, 117, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 115, 101, 114, 105, 97, 108, 105, 122, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 112, 114, 101, 102, 105, 120, 101, 100, 32, 119, 105, 116, 104, 32, 105, 116, 115, 32, 100, 97, 116, 97, 32, 116, 121, 112, 101, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 105, 110, 97, 114, 121, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 109, 108, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 84, 121, 112, 101, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 100, 121, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 66, 111, 100, 121, 76, 101, 110, 103, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 117, 110, 105, 111, 110, 32, 111, 102, 32, 115, 101, 118, 101, 114, 97, 108, 32, 116, 121, 112, 101, 115, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 49, 34, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 49, 34, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 66, 121, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 49, 54, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 54, 52, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 54, 52, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 110, 100, 97, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 66, 77, 80, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 71, 73, 70, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 74, 80, 71, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 80, 78, 71, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 117, 100, 105, 111, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 114, 105, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 105, 116, 70, 105, 101, 108, 100, 77, 97, 115, 107, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 86, 101, 114, 115, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 99, 75, 101, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 97, 110, 100, 108, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 105, 109, 109, 101, 100, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 89, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 90, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 89, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 90, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 97, 115, 101, 69, 120, 105, 115, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 101, 110, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 117, 109, 98, 112, 114, 105, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 100, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 88, 53, 48, 57, 83, 117, 98, 106, 101, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 112, 111, 110, 101, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 112, 104, 97, 98, 101, 116, 105, 99, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 49, 54, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 97, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 99, 111, 110, 102, 105, 114, 109, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 69, 120, 112, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 72, 111, 115, 116, 78, 97, 109, 101, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 69, 120, 112, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 73, 115, 115, 117, 101, 114, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 104, 101, 99, 107, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 79, 110, 108, 105, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 104, 101, 99, 107, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 79, 102, 102, 108, 105, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 76, 105, 115, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 99, 104, 101, 109, 97, 76, 111, 99, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 117, 115, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 101, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 49, 54, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 109, 111, 116, 101, 100, 70, 105, 101, 108, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 106, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 72, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 116, 105, 116, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 121, 99, 108, 105, 99, 68, 97, 116, 97, 83, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 97, 119, 68, 97, 116, 97, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 101, 112, 65, 108, 105, 118, 101, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 73, 110, 116, 101, 114, 102, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 73, 110, 116, 101, 114, 102, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 99, 101, 105, 118, 101, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 114, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 85, 115, 97, 98, 108, 101, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 70, 117, 116, 117, 114, 101, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 80, 97, 115, 116, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 114, 121, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 83, 105, 110, 103, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 121, 108, 111, 97, 100, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 109, 111, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 106, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 101, 100, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 110, 103, 108, 101, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 108, 121, 84, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 101, 114, 115, 105, 98, 108, 101, 70, 105, 101, 108, 100, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 68, 101, 108, 97, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 68, 101, 108, 97, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 101, 115, 116, 69, 102, 102, 111, 114, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 76, 101, 97, 115, 116, 79, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 77, 111, 115, 116, 79, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 97, 99, 116, 108, 121, 79, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 85, 112, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 65, 100, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 77, 97, 116, 99, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 77, 111, 100, 105, 102, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 82, 101, 109, 111, 118, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 87, 114, 105, 116, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 82, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 80, 117, 98, 68, 97, 116, 97, 115, 101, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 83, 117, 98, 68, 97, 116, 97, 115, 101, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 69, 108, 101, 109, 101, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 118, 97, 110, 99, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 102, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 98, 117, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 73, 110, 105, 116, 105, 97, 108, 80, 97, 115, 115, 119, 111, 114, 100, 67, 104, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 68, 105, 115, 97, 98, 108, 101, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 68, 105, 115, 97, 98, 108, 101, 68, 101, 108, 101, 116, 101, 70, 111, 114, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 78, 111, 67, 104, 97, 110, 103, 101, 70, 111, 114, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 70, 111, 114, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 85, 112, 112, 101, 114, 67, 97, 115, 101, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 76, 111, 119, 101, 114, 67, 97, 115, 101, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 68, 105, 103, 105, 116, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 83, 112, 101, 99, 105, 97, 108, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 68, 101, 108, 101, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 67, 104, 97, 110, 103, 101, 66, 121, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 117, 115, 116, 67, 104, 97, 110, 103, 101, 80, 97, 115, 115, 119, 111, 114, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 101, 100, 84, 105, 99, 107, 101, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 117, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 97, 108, 102, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 114, 109, 97, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 80, 114, 101, 115, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 119, 101, 114, 76, 97, 121, 101, 114, 68, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 80, 114, 111, 103, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 70, 97, 105, 108, 117, 114, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 66, 97, 110, 100, 119, 105, 100, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 82, 101, 115, 111, 117, 114, 99, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 84, 114, 97, 102, 102, 105, 99, 67, 108, 97, 115, 115, 66, 97, 110, 100, 119, 105, 100, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 73, 110, 85, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 73, 110, 85, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 80, 114, 101, 101, 109, 112, 116, 101, 100, 66, 121, 72, 105, 103, 104, 101, 114, 82, 97, 110, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 97, 116, 101, 110, 99, 121, 72, 97, 115, 67, 104, 97, 110, 103, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 103, 114, 101, 115, 115, 80, 111, 114, 116, 78, 111, 116, 65, 118, 98, 67, 97, 112, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 68, 105, 102, 102, 101, 114, 101, 110, 116, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 117, 116, 79, 102, 77, 115, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 117, 116, 79, 102, 77, 109, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 110, 111, 116, 83, 116, 111, 114, 101, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 73, 115, 78, 111, 116, 65, 110, 83, 114, 99, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 70, 114, 97, 109, 101, 83, 105, 122, 101, 84, 111, 111, 76, 97, 114, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 70, 97, 110, 73, 110, 80, 111, 114, 116, 115, 76, 105, 109, 105, 116, 82, 101, 97, 99, 104, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 114, 115, 116, 86, 97, 108, 117, 101, 67, 104, 97, 110, 103, 101, 100, 70, 111, 114, 83, 116, 114, 101, 97, 109, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 108, 97, 110, 66, 108, 111, 99, 107, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 108, 97, 110, 84, 97, 103, 103, 105, 110, 103, 68, 105, 115, 97, 98, 108, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 114, 67, 108, 97, 115, 115, 80, 114, 105, 111, 114, 105, 116, 121, 77, 105, 115, 109, 97, 116, 99, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 80, 114, 111, 112, 97, 103, 97, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 76, 97, 116, 101, 110, 99, 121, 69, 120, 99, 101, 101, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 105, 100, 103, 101, 68, 111, 101, 115, 78, 111, 116, 80, 114, 111, 118, 105, 100, 101, 78, 101, 116, 119, 111, 114, 107, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 84, 121, 112, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 116, 105, 97, 108, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 112, 112, 105, 110, 103, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 80, 67, 80, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 68, 83, 67, 80, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 97, 113, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 115, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 101, 114, 116, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 69, 118, 101, 110, 116, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 56, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 97, 116, 111, 109, 105, 99, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 97, 116, 111, 109, 105, 99, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 70, 117, 108, 108, 65, 114, 114, 97, 121, 79, 110, 108, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 83, 117, 98, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 86, 111, 108, 97, 116, 105, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 115, 116, 97, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 56, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 84, 111, 69, 118, 101, 110, 116, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 49, 54, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 105, 110, 103, 82, 101, 113, 117, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 82, 101, 113, 117, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 121, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 79, 112, 116, 105, 111, 110, 97, 108, 70, 105, 101, 108, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 79, 112, 116, 105, 111, 110, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 69, 110, 99, 111, 100, 105, 110, 103, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 54, 52, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 105, 100, 66, 105, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 114, 109, 97, 108, 105, 122, 101, 100, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 101, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 116, 99, 84, 105, 109, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 121, 108, 105, 103, 104, 116, 83, 97, 118, 105, 110, 103, 73, 110, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 101, 103, 101, 114, 73, 100, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 65, 110, 100, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 100, 105, 116, 69, 110, 116, 114, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 111, 117, 116, 72, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 101, 114, 115, 105, 111, 110, 84, 105, 109, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 114, 105, 115, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 99, 111, 114, 100, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 67, 111, 117, 110, 116, 101, 114, 82, 101, 115, 101, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 73, 110, 115, 116, 97, 110, 99, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 65, 110, 100, 69, 110, 99, 114, 121, 112, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 112, 104, 111, 114, 101, 70, 105, 108, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 79, 110, 108, 105, 110, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 100, 110, 115, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 110, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 100, 65, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 113, 117, 101, 115, 116, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 115, 97, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 99, 99, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 49, 48, 55, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 50, 49, 52, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 50, 52, 50, 56, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 52, 56, 53, 55, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 57, 55, 49, 53, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 49, 57, 52, 51, 48, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 51, 56, 56, 54, 48, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 55, 55, 55, 50, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 51, 53, 53, 52, 52, 51, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 101, 78, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 49, 50, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 49, 51, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 51, 50, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 55, 49, 51, 56, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 56, 54, 48, 48, 52, 51, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 54, 51, 50, 53, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 51, 55, 48, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 49, 51, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 78, 101, 119, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 84, 97, 114, 103, 101, 116, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 66, 105, 100, 105, 114, 101, 99, 116, 105, 111, 110, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 49, 48, 55, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 50, 49, 52, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 50, 52, 50, 56, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 52, 56, 53, 55, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 70, 111, 114, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 57, 55, 49, 53, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 49, 57, 52, 51, 48, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 51, 56, 56, 54, 48, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 55, 55, 55, 50, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 51, 53, 53, 52, 52, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 111, 114, 119, 97, 114, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 111, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 110, 102, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 110, 102, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 73, 110, 118, 101, 114, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 97, 105, 110, 105, 110, 103, 80, 97, 116, 104, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 117, 110, 116, 101, 114, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 82, 97, 110, 103, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 66, 105, 110, 97, 114, 121, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 66, 117, 102, 102, 101, 114, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 113, 117, 97, 108, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 78, 117, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 105, 107, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 101, 116, 119, 101, 101, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 76, 105, 115, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 115, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 86, 105, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 102, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 101, 100, 84, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 65, 110, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 79, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 68, 97, 116, 97, 83, 101, 116, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 111, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 105, 116, 104, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 65, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 82, 101, 97, 100, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 66, 111, 117, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 83, 105, 109, 112, 108, 101, 66, 111, 117, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 101, 114, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 101, 114, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 68, 101, 108, 101, 116, 101, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 111, 114, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 68, 101, 102, 97, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 101, 97, 116, 85, 110, 99, 101, 114, 116, 97, 105, 110, 65, 115, 66, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 66, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 71, 111, 111, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 83, 108, 111, 112, 101, 100, 69, 120, 116, 114, 97, 112, 111, 108, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 79, 108, 100, 101, 115, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 116, 101, 109, 84, 111, 77, 111, 110, 105, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 73, 116, 101, 109, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 114, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 114, 97, 110, 115, 109, 105, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 110, 100, 73, 110, 105, 116, 105, 97, 108, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 110, 117, 102, 97, 99, 116, 117, 114, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 102, 116, 119, 97, 114, 101, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 68, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 108, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 97, 114, 109, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 111, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 97, 114, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 111, 116, 65, 110, 100, 77, 105, 114, 114, 111, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 117, 110, 110, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 115, 112, 101, 110, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 101, 115, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 109, 109, 117, 110, 105, 99, 97, 116, 105, 111, 110, 70, 97, 117, 108, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 86, 105, 101, 119, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 98, 111, 114, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 111, 110, 100, 115, 84, 105, 108, 108, 83, 104, 117, 116, 100, 111, 119, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 82, 101, 97, 115, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 117, 97, 108, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 76, 97, 115, 116, 67, 111, 110, 116, 97, 99, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 115, 73, 110, 81, 117, 101, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 79, 102, 83, 101, 115, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 77, 101, 99, 104, 97, 110, 105, 115, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 116, 111, 99, 111, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 65, 108, 116, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 83, 97, 109, 101, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 116, 101, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 97, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 81, 117, 101, 117, 101, 79, 118, 101, 114, 102, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 120, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 81, 117, 101, 117, 101, 79, 118, 101, 114, 70, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 100, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 68, 101, 108, 101, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 65, 100, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 108, 101, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 67, 104, 97, 110, 103, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 101, 114, 98, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 97, 110, 103, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 119, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 103, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 105, 110, 101, 97, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 103, 105, 110, 101, 101, 114, 105, 110, 103, 85, 110, 105, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 85, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 97, 110, 103, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 116, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 88, 86, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 82, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 69, 85, 82, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 60, 47, 111, 112, 99, 58, 84, 121, 112, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 62}; + + + +static UA_StatusCode function_namespace0_generated_4557_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +UA_ByteString *variablenode_ns_0_i_7617_variant_DataContents = UA_ByteString_new(); +if (!variablenode_ns_0_i_7617_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_ByteString_init(variablenode_ns_0_i_7617_variant_DataContents); +variablenode_ns_0_i_7617_variant_DataContents->length = 179887; +variablenode_ns_0_i_7617_variant_DataContents->data = (UA_Byte *)(void*)(uintptr_t)variablenode_ns_0_i_7617_variant_DataContents_byteArray; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7617_variant_DataContents, &UA_TYPES[UA_TYPES_BYTESTRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Opc.Ua"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 93LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Opc.Ua"), +UA_NODEID_NUMERIC(ns[0], 72LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +variablenode_ns_0_i_7617_variant_DataContents->data = NULL; +variablenode_ns_0_i_7617_variant_DataContents->length = 0; +UA_ByteString_delete(variablenode_ns_0_i_7617_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4557_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7617LU) +); +} + +/* NamespaceUri - ns=0;i=7619 */ + +static UA_StatusCode function_namespace0_generated_4558_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7619_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7619_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7619_variant_DataContents); +*variablenode_ns_0_i_7619_variant_DataContents = UA_STRING_ALLOC("http://opcfoundation.org/UA/"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7619_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7619LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7619_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4558_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7619LU) +); +} + +/* Deprecated - ns=0;i=15037 */ + +static UA_StatusCode function_namespace0_generated_4559_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +UA_Boolean *variablenode_ns_0_i_15037_variant_DataContents = UA_Boolean_new(); +if (!variablenode_ns_0_i_15037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_Boolean_init(variablenode_ns_0_i_15037_variant_DataContents); +*variablenode_ns_0_i_15037_variant_DataContents = (UA_Boolean) true; +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15037_variant_DataContents, &UA_TYPES[UA_TYPES_BOOLEAN]); +attr.displayName = UA_LOCALIZEDTEXT("", "Deprecated"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15037LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Deprecated"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_Boolean_delete(variablenode_ns_0_i_15037_variant_DataContents); +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4559_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15037LU) +); +} + +/* Deprecated - ns=0;i=15001 */ + +static UA_StatusCode function_namespace0_generated_4560_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); +attr.displayName = UA_LOCALIZEDTEXT("", "Deprecated"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15001LU), +UA_NODEID_NUMERIC(ns[0], 72LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "Deprecated"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15001LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4560_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15001LU) +); +} + +/* NamespaceUri - ns=0;i=107 */ + +static UA_StatusCode function_namespace0_generated_4561_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 107LU), +UA_NODEID_NUMERIC(ns[0], 72LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 107LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4561_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 107LU) +); +} + +/* DataTypeVersion - ns=0;i=106 */ + +static UA_StatusCode function_namespace0_generated_4562_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 106LU), +UA_NODEID_NUMERIC(ns[0], 72LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 106LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4562_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 106LU) +); +} + +/* DataTypeDescriptionType - ns=0;i=69 */ + +static UA_StatusCode function_namespace0_generated_4563_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescriptionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, +UA_NODEID_NUMERIC(ns[0], 69LU), +UA_NODEID_NUMERIC(ns[0], 63LU), +UA_NODEID_NUMERIC(ns[0], 45LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDescriptionType"), +UA_NODEID_NUMERIC(ns[0], 0LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4563_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 69LU) +); +} + +/* TimeZoneDataType - ns=0;i=8918 */ + +static UA_StatusCode function_namespace0_generated_4564_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8918_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8918_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8918_variant_DataContents); +*variablenode_ns_0_i_8918_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TimeZoneDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8918_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TimeZoneDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8918LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimeZoneDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8918_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8918LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8913LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4564_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8918LU) +); +} + +/* TimeZoneDataType - ns=0;i=8914 */ + +static UA_StatusCode function_namespace0_generated_4565_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8914_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8914_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8914_variant_DataContents); +*variablenode_ns_0_i_8914_variant_DataContents = UA_STRING_ALLOC("TimeZoneDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8914_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TimeZoneDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8914LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TimeZoneDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8914_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8914LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8917LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4565_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8914LU) +); +} + +/* ProgramDiagnosticDataType - ns=0;i=8882 */ + +static UA_StatusCode function_namespace0_generated_4566_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8882_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8882_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8882_variant_DataContents); +*variablenode_ns_0_i_8882_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ProgramDiagnosticDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8882_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8882LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8882_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8882LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 895LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4566_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8882LU) +); +} + +/* Annotation - ns=0;i=8879 */ + +static UA_StatusCode function_namespace0_generated_4567_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8879_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8879_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8879_variant_DataContents); +*variablenode_ns_0_i_8879_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Annotation']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8879_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Annotation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8879LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Annotation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8879_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8879LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4567_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8879LU) +); +} + +/* EUInformation - ns=0;i=8876 */ + +static UA_StatusCode function_namespace0_generated_4568_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8876_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8876_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8876_variant_DataContents); +*variablenode_ns_0_i_8876_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EUInformation']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8876_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EUInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8876LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EUInformation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8876_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8876LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 888LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4568_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8876LU) +); +} + +/* Range - ns=0;i=8873 */ + +static UA_StatusCode function_namespace0_generated_4569_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8873_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8873_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8873_variant_DataContents); +*variablenode_ns_0_i_8873_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Range']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8873_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Range"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8873LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Range"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8873_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8873LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 885LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4569_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8873LU) +); +} + +/* SemanticChangeStructureDataType - ns=0;i=8870 */ + +static UA_StatusCode function_namespace0_generated_4570_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8870_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8870_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8870_variant_DataContents); +*variablenode_ns_0_i_8870_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SemanticChangeStructureDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8870_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeStructureDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8870LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SemanticChangeStructureDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8870_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8870LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 898LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4570_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8870LU) +); +} + +/* ModelChangeStructureDataType - ns=0;i=8867 */ + +static UA_StatusCode function_namespace0_generated_4571_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8867_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8867_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8867_variant_DataContents); +*variablenode_ns_0_i_8867_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ModelChangeStructureDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8867_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ModelChangeStructureDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8867LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModelChangeStructureDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8867_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8867LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 878LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4571_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8867LU) +); +} + +/* SubscriptionDiagnosticsDataType - ns=0;i=8864 */ + +static UA_StatusCode function_namespace0_generated_4572_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8864_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8864_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8864_variant_DataContents); +*variablenode_ns_0_i_8864_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SubscriptionDiagnosticsDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8864_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8864LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8864_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8864LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 875LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4572_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8864LU) +); +} + +/* ServiceCounterDataType - ns=0;i=8861 */ + +static UA_StatusCode function_namespace0_generated_4573_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8861_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8861_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8861_variant_DataContents); +*variablenode_ns_0_i_8861_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServiceCounterDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8861_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCounterDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8861LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServiceCounterDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8861_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8861LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 872LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4573_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8861LU) +); +} + +/* SessionSecurityDiagnosticsDataType - ns=0;i=8858 */ + +static UA_StatusCode function_namespace0_generated_4574_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8858_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8858_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8858_variant_DataContents); +*variablenode_ns_0_i_8858_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SessionSecurityDiagnosticsDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8858_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8858LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8858_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8858LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 869LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4574_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8858LU) +); +} + +/* SessionDiagnosticsDataType - ns=0;i=8855 */ + +static UA_StatusCode function_namespace0_generated_4575_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8855_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8855_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8855_variant_DataContents); +*variablenode_ns_0_i_8855_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SessionDiagnosticsDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8855_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8855LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8855_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8855LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 866LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4575_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8855LU) +); +} + +/* ServerStatusDataType - ns=0;i=8852 */ + +static UA_StatusCode function_namespace0_generated_4576_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8852_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8852_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8852_variant_DataContents); +*variablenode_ns_0_i_8852_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServerStatusDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8852_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8852LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerStatusDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8852_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8852LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 863LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4576_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8852LU) +); +} + +/* ServerDiagnosticsSummaryDataType - ns=0;i=8849 */ + +static UA_StatusCode function_namespace0_generated_4577_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8849_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8849_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8849_variant_DataContents); +*variablenode_ns_0_i_8849_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServerDiagnosticsSummaryDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8849_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8849LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8849_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8849LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 860LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4577_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8849LU) +); +} + +/* SamplingIntervalDiagnosticsDataType - ns=0;i=8846 */ + +static UA_StatusCode function_namespace0_generated_4578_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8846_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8846_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8846_variant_DataContents); +*variablenode_ns_0_i_8846_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SamplingIntervalDiagnosticsDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8846_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8846LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8846_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8846LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 857LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4578_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8846LU) +); +} + +/* RedundantServerDataType - ns=0;i=8843 */ + +static UA_StatusCode function_namespace0_generated_4579_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8843_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8843_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8843_variant_DataContents); +*variablenode_ns_0_i_8843_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RedundantServerDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8843_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8843LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RedundantServerDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8843_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8843LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 854LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4579_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8843LU) +); +} + +/* HistoryEventFieldList - ns=0;i=8807 */ + +static UA_StatusCode function_namespace0_generated_4580_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8807_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8807_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8807_variant_DataContents); +*variablenode_ns_0_i_8807_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='HistoryEventFieldList']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8807_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEventFieldList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8807LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryEventFieldList"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8807_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8807LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 921LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4580_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8807LU) +); +} + +/* AggregateConfiguration - ns=0;i=8711 */ + +static UA_StatusCode function_namespace0_generated_4581_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8711_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8711_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8711_variant_DataContents); +*variablenode_ns_0_i_8711_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AggregateConfiguration']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8711_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8711LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8711_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8711LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4581_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8711LU) +); +} + +/* EventFilter - ns=0;i=8708 */ + +static UA_StatusCode function_namespace0_generated_4582_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8708_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8708_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8708_variant_DataContents); +*variablenode_ns_0_i_8708_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EventFilter']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8708_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EventFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8708LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EventFilter"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8708_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8708LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 726LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4582_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8708LU) +); +} + +/* MonitoringFilter - ns=0;i=8702 */ + +static UA_StatusCode function_namespace0_generated_4583_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8702_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8702_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8702_variant_DataContents); +*variablenode_ns_0_i_8702_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='MonitoringFilter']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8702_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8702LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MonitoringFilter"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8702_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8702LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 720LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4583_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8702LU) +); +} + +/* HistoryEvent - ns=0;i=8639 */ + +static UA_StatusCode function_namespace0_generated_4584_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8639_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8639_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8639_variant_DataContents); +*variablenode_ns_0_i_8639_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='HistoryEvent']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8639_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEvent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8639LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryEvent"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8639_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8639LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 660LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4584_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8639LU) +); +} + +/* SimpleAttributeOperand - ns=0;i=8582 */ + +static UA_StatusCode function_namespace0_generated_4585_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8582_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8582_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8582_variant_DataContents); +*variablenode_ns_0_i_8582_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SimpleAttributeOperand']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8582_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SimpleAttributeOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8582LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SimpleAttributeOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8582_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8582LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 602LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4585_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8582LU) +); +} + +/* AttributeOperand - ns=0;i=8579 */ + +static UA_StatusCode function_namespace0_generated_4586_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8579_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8579_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8579_variant_DataContents); +*variablenode_ns_0_i_8579_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AttributeOperand']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8579_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AttributeOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8579LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AttributeOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8579_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8579LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 599LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4586_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8579LU) +); +} + +/* LiteralOperand - ns=0;i=8576 */ + +static UA_StatusCode function_namespace0_generated_4587_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8576_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8576_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8576_variant_DataContents); +*variablenode_ns_0_i_8576_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='LiteralOperand']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8576_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "LiteralOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8576LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiteralOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8576_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8576LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 596LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4587_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8576LU) +); +} + +/* ElementOperand - ns=0;i=8573 */ + +static UA_StatusCode function_namespace0_generated_4588_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8573_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8573_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8573_variant_DataContents); +*variablenode_ns_0_i_8573_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ElementOperand']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8573_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ElementOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8573LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ElementOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8573_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8573LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 593LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4588_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8573LU) +); +} + +/* FilterOperand - ns=0;i=8570 */ + +static UA_StatusCode function_namespace0_generated_4589_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8570_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8570_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8570_variant_DataContents); +*variablenode_ns_0_i_8570_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='FilterOperand']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8570_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8570LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FilterOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8570_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8570LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 590LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4589_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8570LU) +); +} + +/* ContentFilter - ns=0;i=8567 */ + +static UA_StatusCode function_namespace0_generated_4590_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8567_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8567_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8567_variant_DataContents); +*variablenode_ns_0_i_8567_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ContentFilter']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8567_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8567LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ContentFilter"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8567_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8567LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 587LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4590_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8567LU) +); +} + +/* ContentFilterElement - ns=0;i=8564 */ + +static UA_StatusCode function_namespace0_generated_4591_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8564_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8564_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8564_variant_DataContents); +*variablenode_ns_0_i_8564_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ContentFilterElement']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8564_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilterElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8564LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ContentFilterElement"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8564_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8564LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 584LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4591_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8564LU) +); +} + +/* RegisteredServer - ns=0;i=8417 */ + +static UA_StatusCode function_namespace0_generated_4592_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8417_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8417_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8417_variant_DataContents); +*variablenode_ns_0_i_8417_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RegisteredServer']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8417_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RegisteredServer"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8417LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RegisteredServer"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8417_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8417LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 433LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4592_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8417LU) +); +} + +/* DeleteReferencesItem - ns=0;i=8372 */ + +static UA_StatusCode function_namespace0_generated_4593_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8372_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8372_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8372_variant_DataContents); +*variablenode_ns_0_i_8372_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DeleteReferencesItem']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8372_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8372LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8372_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8372LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 386LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4593_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8372LU) +); +} + +/* DeleteNodesItem - ns=0;i=8369 */ + +static UA_StatusCode function_namespace0_generated_4594_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8369_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8369_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8369_variant_DataContents); +*variablenode_ns_0_i_8369_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DeleteNodesItem']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8369_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8369LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8369_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8369LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 383LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4594_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8369LU) +); +} + +/* AddReferencesItem - ns=0;i=8366 */ + +static UA_StatusCode function_namespace0_generated_4595_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8366_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8366_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8366_variant_DataContents); +*variablenode_ns_0_i_8366_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AddReferencesItem']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8366_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8366LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8366_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8366LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 380LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4595_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8366LU) +); +} + +/* AddNodesItem - ns=0;i=8363 */ + +static UA_StatusCode function_namespace0_generated_4596_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8363_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8363_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8363_variant_DataContents); +*variablenode_ns_0_i_8363_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AddNodesItem']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8363_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8363LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8363_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8363LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 377LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4596_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8363LU) +); +} + +/* SignedSoftwareCertificate - ns=0;i=8333 */ + +static UA_StatusCode function_namespace0_generated_4597_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8333_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8333_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8333_variant_DataContents); +*variablenode_ns_0_i_8333_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SignedSoftwareCertificate']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8333_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SignedSoftwareCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8333LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SignedSoftwareCertificate"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8333_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8333LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 345LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4597_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8333LU) +); +} + +/* BuildInfo - ns=0;i=8327 */ + +static UA_StatusCode function_namespace0_generated_4598_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8327_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8327_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8327_variant_DataContents); +*variablenode_ns_0_i_8327_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BuildInfo']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8327_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8327LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfo"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8327_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8327LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 339LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4598_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8327LU) +); +} + +/* EndpointConfiguration - ns=0;i=8321 */ + +static UA_StatusCode function_namespace0_generated_4599_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8321_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8321_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8321_variant_DataContents); +*variablenode_ns_0_i_8321_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointConfiguration']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8321_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8321LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8321_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8321LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 332LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4599_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8321LU) +); +} + +/* IssuedIdentityToken - ns=0;i=8318 */ + +static UA_StatusCode function_namespace0_generated_4600_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8318_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8318_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8318_variant_DataContents); +*variablenode_ns_0_i_8318_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='IssuedIdentityToken']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8318_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "IssuedIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8318LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IssuedIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8318_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8318LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 939LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4600_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8318LU) +); +} + +/* X509IdentityToken - ns=0;i=8315 */ + +static UA_StatusCode function_namespace0_generated_4601_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8315_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8315_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8315_variant_DataContents); +*variablenode_ns_0_i_8315_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='X509IdentityToken']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8315_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "X509IdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8315LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "X509IdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8315_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8315LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 326LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4601_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8315LU) +); +} + +/* UserNameIdentityToken - ns=0;i=8312 */ + +static UA_StatusCode function_namespace0_generated_4602_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8312_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8312_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8312_variant_DataContents); +*variablenode_ns_0_i_8312_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserNameIdentityToken']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8312_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserNameIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8312LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserNameIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8312_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8312LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 323LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4602_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8312LU) +); +} + +/* AnonymousIdentityToken - ns=0;i=8309 */ + +static UA_StatusCode function_namespace0_generated_4603_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8309_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8309_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8309_variant_DataContents); +*variablenode_ns_0_i_8309_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AnonymousIdentityToken']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8309_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AnonymousIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8309LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AnonymousIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8309_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8309LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 320LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4603_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8309LU) +); +} + +/* UserIdentityToken - ns=0;i=8306 */ + +static UA_StatusCode function_namespace0_generated_4604_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8306_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8306_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8306_variant_DataContents); +*variablenode_ns_0_i_8306_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserIdentityToken']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8306_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8306LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8306_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8306LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 317LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4604_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8306LU) +); +} + +/* EndpointDescription - ns=0;i=8303 */ + +static UA_StatusCode function_namespace0_generated_4605_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8303_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8303_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8303_variant_DataContents); +*variablenode_ns_0_i_8303_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointDescription']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8303_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8303LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8303_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8303LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 313LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4605_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8303LU) +); +} + +/* ApplicationDescription - ns=0;i=8300 */ + +static UA_StatusCode function_namespace0_generated_4606_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8300_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8300_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8300_variant_DataContents); +*variablenode_ns_0_i_8300_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ApplicationDescription']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8300_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8300LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8300_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8300LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 309LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4606_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8300LU) +); +} + +/* UserTokenPolicy - ns=0;i=8297 */ + +static UA_StatusCode function_namespace0_generated_4607_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8297_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8297_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8297_variant_DataContents); +*variablenode_ns_0_i_8297_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserTokenPolicy']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8297_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenPolicy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8297LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserTokenPolicy"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8297_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8297LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 305LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4607_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8297LU) +); +} + +/* StatusResult - ns=0;i=8294 */ + +static UA_StatusCode function_namespace0_generated_4608_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8294_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8294_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8294_variant_DataContents); +*variablenode_ns_0_i_8294_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StatusResult']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8294_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StatusResult"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8294LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatusResult"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8294_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8294LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 300LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4608_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8294LU) +); +} + +/* EnumValueType - ns=0;i=8291 */ + +static UA_StatusCode function_namespace0_generated_4609_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8291_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8291_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8291_variant_DataContents); +*variablenode_ns_0_i_8291_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumValueType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8291_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValueType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8291LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumValueType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8291_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8291LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7616LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4609_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8291LU) +); +} + +/* Argument - ns=0;i=8285 */ + +static UA_StatusCode function_namespace0_generated_4610_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8285_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8285_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8285_variant_DataContents); +*variablenode_ns_0_i_8285_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Argument']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8285_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Argument"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8285LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Argument"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8285_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8285LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 297LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4610_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8285LU) +); +} + +/* ProgramDiagnosticDataType - ns=0;i=8247 */ + +static UA_StatusCode function_namespace0_generated_4611_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8247_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8247_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8247_variant_DataContents); +*variablenode_ns_0_i_8247_variant_DataContents = UA_STRING_ALLOC("ProgramDiagnosticDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8247_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8247LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8247_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8247LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 896LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4611_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8247LU) +); +} + +/* Annotation - ns=0;i=8244 */ + +static UA_StatusCode function_namespace0_generated_4612_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8244_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8244_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8244_variant_DataContents); +*variablenode_ns_0_i_8244_variant_DataContents = UA_STRING_ALLOC("Annotation"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8244_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Annotation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8244LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Annotation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8244_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8244LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 893LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4612_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8244LU) +); +} + +/* EUInformation - ns=0;i=8241 */ + +static UA_StatusCode function_namespace0_generated_4613_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8241_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8241_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8241_variant_DataContents); +*variablenode_ns_0_i_8241_variant_DataContents = UA_STRING_ALLOC("EUInformation"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8241_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EUInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8241LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EUInformation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8241_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8241LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 889LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4613_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8241LU) +); +} + +/* Range - ns=0;i=8238 */ + +static UA_StatusCode function_namespace0_generated_4614_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8238_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8238_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8238_variant_DataContents); +*variablenode_ns_0_i_8238_variant_DataContents = UA_STRING_ALLOC("Range"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8238_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Range"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8238LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Range"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8238_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8238LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 886LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4614_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8238LU) +); +} + +/* SemanticChangeStructureDataType - ns=0;i=8235 */ + +static UA_StatusCode function_namespace0_generated_4615_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8235_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8235_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8235_variant_DataContents); +*variablenode_ns_0_i_8235_variant_DataContents = UA_STRING_ALLOC("SemanticChangeStructureDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8235_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeStructureDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8235LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SemanticChangeStructureDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8235_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8235LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 899LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4615_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8235LU) +); +} + +/* ModelChangeStructureDataType - ns=0;i=8232 */ + +static UA_StatusCode function_namespace0_generated_4616_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8232_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8232_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8232_variant_DataContents); +*variablenode_ns_0_i_8232_variant_DataContents = UA_STRING_ALLOC("ModelChangeStructureDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8232_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ModelChangeStructureDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8232LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ModelChangeStructureDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8232_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8232LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 879LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4616_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8232LU) +); +} + +/* SubscriptionDiagnosticsDataType - ns=0;i=8229 */ + +static UA_StatusCode function_namespace0_generated_4617_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8229_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8229_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8229_variant_DataContents); +*variablenode_ns_0_i_8229_variant_DataContents = UA_STRING_ALLOC("SubscriptionDiagnosticsDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8229_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8229LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8229_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8229LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 876LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4617_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8229LU) +); +} + +/* ServiceCounterDataType - ns=0;i=8226 */ + +static UA_StatusCode function_namespace0_generated_4618_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8226_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8226_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8226_variant_DataContents); +*variablenode_ns_0_i_8226_variant_DataContents = UA_STRING_ALLOC("ServiceCounterDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8226_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCounterDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8226LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServiceCounterDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8226_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8226LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 873LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4618_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8226LU) +); +} + +/* SessionSecurityDiagnosticsDataType - ns=0;i=8223 */ + +static UA_StatusCode function_namespace0_generated_4619_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8223_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8223_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8223_variant_DataContents); +*variablenode_ns_0_i_8223_variant_DataContents = UA_STRING_ALLOC("SessionSecurityDiagnosticsDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8223_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8223LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8223_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8223LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 870LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4619_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8223LU) +); +} + +/* SessionDiagnosticsDataType - ns=0;i=8220 */ + +static UA_StatusCode function_namespace0_generated_4620_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8220_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8220_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8220_variant_DataContents); +*variablenode_ns_0_i_8220_variant_DataContents = UA_STRING_ALLOC("SessionDiagnosticsDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8220_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8220LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8220_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8220LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 867LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4620_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8220LU) +); +} + +/* ServerStatusDataType - ns=0;i=8217 */ + +static UA_StatusCode function_namespace0_generated_4621_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8217_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8217_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8217_variant_DataContents); +*variablenode_ns_0_i_8217_variant_DataContents = UA_STRING_ALLOC("ServerStatusDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8217_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8217LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerStatusDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8217_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8217LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 864LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4621_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8217LU) +); +} + +/* ServerDiagnosticsSummaryDataType - ns=0;i=8214 */ + +static UA_StatusCode function_namespace0_generated_4622_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8214_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8214_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8214_variant_DataContents); +*variablenode_ns_0_i_8214_variant_DataContents = UA_STRING_ALLOC("ServerDiagnosticsSummaryDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8214_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8214LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8214_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8214LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 861LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4622_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8214LU) +); +} + +/* SamplingIntervalDiagnosticsDataType - ns=0;i=8211 */ + +static UA_StatusCode function_namespace0_generated_4623_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8211_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8211_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8211_variant_DataContents); +*variablenode_ns_0_i_8211_variant_DataContents = UA_STRING_ALLOC("SamplingIntervalDiagnosticsDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8211_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8211LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8211_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8211LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 858LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4623_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8211LU) +); +} + +/* RedundantServerDataType - ns=0;i=8208 */ + +static UA_StatusCode function_namespace0_generated_4624_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8208_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8208_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8208_variant_DataContents); +*variablenode_ns_0_i_8208_variant_DataContents = UA_STRING_ALLOC("RedundantServerDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8208_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8208LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RedundantServerDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8208_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8208LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4624_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8208LU) +); +} + +/* HistoryEventFieldList - ns=0;i=8172 */ + +static UA_StatusCode function_namespace0_generated_4625_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8172_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8172_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8172_variant_DataContents); +*variablenode_ns_0_i_8172_variant_DataContents = UA_STRING_ALLOC("HistoryEventFieldList"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8172_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEventFieldList"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8172LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryEventFieldList"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8172_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8172LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 922LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4625_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8172LU) +); +} + +/* AggregateConfiguration - ns=0;i=8076 */ + +static UA_StatusCode function_namespace0_generated_4626_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8076_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8076_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8076_variant_DataContents); +*variablenode_ns_0_i_8076_variant_DataContents = UA_STRING_ALLOC("AggregateConfiguration"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8076_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8076LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8076_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8076LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 950LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4626_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8076LU) +); +} + +/* EventFilter - ns=0;i=8073 */ + +static UA_StatusCode function_namespace0_generated_4627_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8073_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8073_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8073_variant_DataContents); +*variablenode_ns_0_i_8073_variant_DataContents = UA_STRING_ALLOC("EventFilter"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8073_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EventFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8073LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EventFilter"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8073_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8073LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 727LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4627_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8073LU) +); +} + +/* MonitoringFilter - ns=0;i=8067 */ + +static UA_StatusCode function_namespace0_generated_4628_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8067_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8067_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8067_variant_DataContents); +*variablenode_ns_0_i_8067_variant_DataContents = UA_STRING_ALLOC("MonitoringFilter"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8067_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8067LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MonitoringFilter"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8067_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8067LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 721LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4628_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8067LU) +); +} + +/* HistoryEvent - ns=0;i=8004 */ + +static UA_StatusCode function_namespace0_generated_4629_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_8004_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_8004_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_8004_variant_DataContents); +*variablenode_ns_0_i_8004_variant_DataContents = UA_STRING_ALLOC("HistoryEvent"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8004_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEvent"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 8004LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "HistoryEvent"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_8004_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8004LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 661LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4629_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 8004LU) +); +} + +/* SimpleAttributeOperand - ns=0;i=7947 */ + +static UA_StatusCode function_namespace0_generated_4630_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7947_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7947_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7947_variant_DataContents); +*variablenode_ns_0_i_7947_variant_DataContents = UA_STRING_ALLOC("SimpleAttributeOperand"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7947_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SimpleAttributeOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7947LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SimpleAttributeOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7947_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7947LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 603LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4630_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7947LU) +); +} + +/* AttributeOperand - ns=0;i=7944 */ + +static UA_StatusCode function_namespace0_generated_4631_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7944_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7944_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7944_variant_DataContents); +*variablenode_ns_0_i_7944_variant_DataContents = UA_STRING_ALLOC("AttributeOperand"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7944_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AttributeOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7944LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AttributeOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7944_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7944LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 600LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4631_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7944LU) +); +} + +/* LiteralOperand - ns=0;i=7941 */ + +static UA_StatusCode function_namespace0_generated_4632_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7941_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7941_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7941_variant_DataContents); +*variablenode_ns_0_i_7941_variant_DataContents = UA_STRING_ALLOC("LiteralOperand"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7941_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "LiteralOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7941LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "LiteralOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7941_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7941LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 597LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4632_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7941LU) +); +} + +/* ElementOperand - ns=0;i=7938 */ + +static UA_StatusCode function_namespace0_generated_4633_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7938_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7938_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7938_variant_DataContents); +*variablenode_ns_0_i_7938_variant_DataContents = UA_STRING_ALLOC("ElementOperand"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7938_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ElementOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7938LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ElementOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7938_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7938LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 594LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4633_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7938LU) +); +} + +/* FilterOperand - ns=0;i=7935 */ + +static UA_StatusCode function_namespace0_generated_4634_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7935_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7935_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7935_variant_DataContents); +*variablenode_ns_0_i_7935_variant_DataContents = UA_STRING_ALLOC("FilterOperand"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7935_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperand"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7935LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FilterOperand"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7935_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7935LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 591LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4634_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7935LU) +); +} + +/* ContentFilter - ns=0;i=7932 */ + +static UA_StatusCode function_namespace0_generated_4635_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7932_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7932_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7932_variant_DataContents); +*variablenode_ns_0_i_7932_variant_DataContents = UA_STRING_ALLOC("ContentFilter"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7932_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilter"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7932LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ContentFilter"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7932_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7932LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 588LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4635_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7932LU) +); +} + +/* ContentFilterElement - ns=0;i=7929 */ + +static UA_StatusCode function_namespace0_generated_4636_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7929_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7929_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7929_variant_DataContents); +*variablenode_ns_0_i_7929_variant_DataContents = UA_STRING_ALLOC("ContentFilterElement"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7929_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilterElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7929LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ContentFilterElement"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7929_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7929LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 585LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4636_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7929LU) +); +} + +/* RegisteredServer - ns=0;i=7782 */ + +static UA_StatusCode function_namespace0_generated_4637_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7782_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7782_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7782_variant_DataContents); +*variablenode_ns_0_i_7782_variant_DataContents = UA_STRING_ALLOC("RegisteredServer"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7782_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RegisteredServer"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7782LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RegisteredServer"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7782_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7782LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 434LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4637_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7782LU) +); +} + +/* DeleteReferencesItem - ns=0;i=7737 */ + +static UA_StatusCode function_namespace0_generated_4638_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7737_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7737_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7737_variant_DataContents); +*variablenode_ns_0_i_7737_variant_DataContents = UA_STRING_ALLOC("DeleteReferencesItem"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7737_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7737LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteReferencesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7737_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7737LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 387LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4638_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7737LU) +); +} + +/* DeleteNodesItem - ns=0;i=7734 */ + +static UA_StatusCode function_namespace0_generated_4639_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7734_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7734_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7734_variant_DataContents); +*variablenode_ns_0_i_7734_variant_DataContents = UA_STRING_ALLOC("DeleteNodesItem"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7734_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7734LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DeleteNodesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7734_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7734LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 384LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4639_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7734LU) +); +} + +/* AddReferencesItem - ns=0;i=7731 */ + +static UA_StatusCode function_namespace0_generated_4640_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7731_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7731_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7731_variant_DataContents); +*variablenode_ns_0_i_7731_variant_DataContents = UA_STRING_ALLOC("AddReferencesItem"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7731_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7731LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddReferencesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7731_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7731LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 381LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4640_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7731LU) +); +} + +/* AddNodesItem - ns=0;i=7728 */ + +static UA_StatusCode function_namespace0_generated_4641_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7728_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7728_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7728_variant_DataContents); +*variablenode_ns_0_i_7728_variant_DataContents = UA_STRING_ALLOC("AddNodesItem"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7728_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesItem"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7728LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AddNodesItem"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7728_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7728LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 378LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4641_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7728LU) +); +} + +/* SignedSoftwareCertificate - ns=0;i=7698 */ + +static UA_StatusCode function_namespace0_generated_4642_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7698_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7698_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7698_variant_DataContents); +*variablenode_ns_0_i_7698_variant_DataContents = UA_STRING_ALLOC("SignedSoftwareCertificate"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7698_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SignedSoftwareCertificate"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7698LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SignedSoftwareCertificate"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7698_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7698LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 346LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4642_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7698LU) +); +} + +/* BuildInfo - ns=0;i=7692 */ + +static UA_StatusCode function_namespace0_generated_4643_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7692_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7692_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7692_variant_DataContents); +*variablenode_ns_0_i_7692_variant_DataContents = UA_STRING_ALLOC("BuildInfo"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7692_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7692LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BuildInfo"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7692_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7692LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 340LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4643_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7692LU) +); +} + +/* EndpointConfiguration - ns=0;i=7686 */ + +static UA_StatusCode function_namespace0_generated_4644_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7686_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7686_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7686_variant_DataContents); +*variablenode_ns_0_i_7686_variant_DataContents = UA_STRING_ALLOC("EndpointConfiguration"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7686_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7686LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7686_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7686LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 333LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4644_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7686LU) +); +} + +/* IssuedIdentityToken - ns=0;i=7683 */ + +static UA_StatusCode function_namespace0_generated_4645_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7683_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7683_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7683_variant_DataContents); +*variablenode_ns_0_i_7683_variant_DataContents = UA_STRING_ALLOC("IssuedIdentityToken"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7683_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "IssuedIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7683LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IssuedIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7683_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7683LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 940LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4645_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7683LU) +); +} + +/* X509IdentityToken - ns=0;i=7680 */ + +static UA_StatusCode function_namespace0_generated_4646_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7680_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7680_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7680_variant_DataContents); +*variablenode_ns_0_i_7680_variant_DataContents = UA_STRING_ALLOC("X509IdentityToken"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7680_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "X509IdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7680LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "X509IdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7680_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7680LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 327LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4646_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7680LU) +); +} + +/* UserNameIdentityToken - ns=0;i=7677 */ + +static UA_StatusCode function_namespace0_generated_4647_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7677_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7677_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7677_variant_DataContents); +*variablenode_ns_0_i_7677_variant_DataContents = UA_STRING_ALLOC("UserNameIdentityToken"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7677_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserNameIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7677LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserNameIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7677_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7677LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 324LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4647_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7677LU) +); +} + +/* AnonymousIdentityToken - ns=0;i=7674 */ + +static UA_StatusCode function_namespace0_generated_4648_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7674_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7674_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7674_variant_DataContents); +*variablenode_ns_0_i_7674_variant_DataContents = UA_STRING_ALLOC("AnonymousIdentityToken"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7674_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AnonymousIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7674LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AnonymousIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7674_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7674LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 321LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4648_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7674LU) +); +} + +/* UserIdentityToken - ns=0;i=7671 */ + +static UA_StatusCode function_namespace0_generated_4649_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7671_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7671_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7671_variant_DataContents); +*variablenode_ns_0_i_7671_variant_DataContents = UA_STRING_ALLOC("UserIdentityToken"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7671_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7671LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7671_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7671LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 318LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4649_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7671LU) +); +} + +/* EndpointDescription - ns=0;i=7668 */ + +static UA_StatusCode function_namespace0_generated_4650_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7668_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7668_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7668_variant_DataContents); +*variablenode_ns_0_i_7668_variant_DataContents = UA_STRING_ALLOC("EndpointDescription"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7668_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7668LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7668_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7668LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 314LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4650_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7668LU) +); +} + +/* ApplicationDescription - ns=0;i=7665 */ + +static UA_StatusCode function_namespace0_generated_4651_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7665_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7665_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7665_variant_DataContents); +*variablenode_ns_0_i_7665_variant_DataContents = UA_STRING_ALLOC("ApplicationDescription"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7665_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7665LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ApplicationDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7665_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7665LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 310LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4651_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7665LU) +); +} + +/* UserTokenPolicy - ns=0;i=7662 */ + +static UA_StatusCode function_namespace0_generated_4652_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7662_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7662_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7662_variant_DataContents); +*variablenode_ns_0_i_7662_variant_DataContents = UA_STRING_ALLOC("UserTokenPolicy"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7662_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenPolicy"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7662LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserTokenPolicy"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7662_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7662LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 306LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4652_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7662LU) +); +} + +/* StatusResult - ns=0;i=7659 */ + +static UA_StatusCode function_namespace0_generated_4653_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7659_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7659_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7659_variant_DataContents); +*variablenode_ns_0_i_7659_variant_DataContents = UA_STRING_ALLOC("StatusResult"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7659_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StatusResult"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7659LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StatusResult"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7659_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7659LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 301LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4653_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7659LU) +); +} + +/* EnumValueType - ns=0;i=7656 */ + +static UA_StatusCode function_namespace0_generated_4654_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7656_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7656_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7656_variant_DataContents); +*variablenode_ns_0_i_7656_variant_DataContents = UA_STRING_ALLOC("EnumValueType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7656_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumValueType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7656LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumValueType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7656_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7656LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8251LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4654_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7656LU) +); +} + +/* Argument - ns=0;i=7650 */ + +static UA_StatusCode function_namespace0_generated_4655_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_7650_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_7650_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_7650_variant_DataContents); +*variablenode_ns_0_i_7650_variant_DataContents = UA_STRING_ALLOC("Argument"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7650_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Argument"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 7650LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Argument"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_7650_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7650LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 298LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4655_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 7650LU) +); +} + +/* ReferenceListEntryDataType - ns=0;i=32674 */ + +static UA_StatusCode function_namespace0_generated_4656_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_32674_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_32674_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_32674_variant_DataContents); +*variablenode_ns_0_i_32674_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReferenceListEntryDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32674_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceListEntryDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32674LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceListEntryDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_32674_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32674LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32670LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4656_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32674LU) +); +} + +/* ReferenceDescriptionDataType - ns=0;i=32671 */ + +static UA_StatusCode function_namespace0_generated_4657_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_32671_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_32671_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_32671_variant_DataContents); +*variablenode_ns_0_i_32671_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReferenceDescriptionDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32671_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32671LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_32671_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32671LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32669LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4657_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32671LU) +); +} + +/* ReferenceListEntryDataType - ns=0;i=32666 */ + +static UA_StatusCode function_namespace0_generated_4658_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_32666_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_32666_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_32666_variant_DataContents); +*variablenode_ns_0_i_32666_variant_DataContents = UA_STRING_ALLOC("ReferenceListEntryDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32666_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceListEntryDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32666LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceListEntryDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_32666_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32666LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32662LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4658_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32666LU) +); +} + +/* ReferenceDescriptionDataType - ns=0;i=32663 */ + +static UA_StatusCode function_namespace0_generated_4659_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_32663_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_32663_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_32663_variant_DataContents); +*variablenode_ns_0_i_32663_variant_DataContents = UA_STRING_ALLOC("ReferenceDescriptionDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32663_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32663LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_32663_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32663LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32661LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4659_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32663LU) +); +} + +/* TransactionErrorType - ns=0;i=32387 */ + +static UA_StatusCode function_namespace0_generated_4660_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_32387_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_32387_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_32387_variant_DataContents); +*variablenode_ns_0_i_32387_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TransactionErrorType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32387_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransactionErrorType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32387LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransactionErrorType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_32387_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32387LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32386LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4660_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32387LU) +); +} + +/* TransactionErrorType - ns=0;i=32383 */ + +static UA_StatusCode function_namespace0_generated_4661_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_32383_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_32383_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_32383_variant_DataContents); +*variablenode_ns_0_i_32383_variant_DataContents = UA_STRING_ALLOC("TransactionErrorType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32383_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransactionErrorType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 32383LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransactionErrorType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_32383_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32383LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32382LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4661_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 32383LU) +); +} + +/* PubSubConfigurationValueDataType - ns=0;i=25558 */ + +static UA_StatusCode function_namespace0_generated_4662_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25558_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25558_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25558_variant_DataContents); +*variablenode_ns_0_i_25558_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfigurationValueDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25558_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationValueDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25558LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationValueDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25558_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25558LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25548LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4662_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25558LU) +); +} + +/* PubSubConfigurationRefDataType - ns=0;i=25555 */ + +static UA_StatusCode function_namespace0_generated_4663_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25555_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25555_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25555_variant_DataContents); +*variablenode_ns_0_i_25555_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfigurationRefDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25555_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25555LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25555_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25555LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25547LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4663_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25555LU) +); +} + +/* PubSubKeyPushTargetDataType - ns=0;i=25552 */ + +static UA_StatusCode function_namespace0_generated_4664_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25552_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25552_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25552_variant_DataContents); +*variablenode_ns_0_i_25552_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubKeyPushTargetDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25552_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25552LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25552_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25552LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25546LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4664_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25552LU) +); +} + +/* PublishedDataSetCustomSourceDataType - ns=0;i=25549 */ + +static UA_StatusCode function_namespace0_generated_4665_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25549_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25549_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25549_variant_DataContents); +*variablenode_ns_0_i_25549_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataSetCustomSourceDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25549_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetCustomSourceDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25549LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetCustomSourceDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25549_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25549LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25545LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4665_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25549LU) +); +} + +/* PubSubConfigurationValueDataType - ns=0;i=25542 */ + +static UA_StatusCode function_namespace0_generated_4666_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25542_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25542_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25542_variant_DataContents); +*variablenode_ns_0_i_25542_variant_DataContents = UA_STRING_ALLOC("PubSubConfigurationValueDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25542_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationValueDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25542LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationValueDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25542_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25542LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25532LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4666_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25542LU) +); +} + +/* PubSubConfigurationRefDataType - ns=0;i=25539 */ + +static UA_StatusCode function_namespace0_generated_4667_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25539_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25539_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25539_variant_DataContents); +*variablenode_ns_0_i_25539_variant_DataContents = UA_STRING_ALLOC("PubSubConfigurationRefDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25539_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25539LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25539_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25539LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25531LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4667_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25539LU) +); +} + +/* PubSubKeyPushTargetDataType - ns=0;i=25536 */ + +static UA_StatusCode function_namespace0_generated_4668_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25536_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25536_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25536_variant_DataContents); +*variablenode_ns_0_i_25536_variant_DataContents = UA_STRING_ALLOC("PubSubKeyPushTargetDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25536_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25536LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25536_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25536LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25530LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4668_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25536LU) +); +} + +/* PublishedDataSetCustomSourceDataType - ns=0;i=25533 */ + +static UA_StatusCode function_namespace0_generated_4669_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25533_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25533_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25533_variant_DataContents); +*variablenode_ns_0_i_25533_variant_DataContents = UA_STRING_ALLOC("PublishedDataSetCustomSourceDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25533_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetCustomSourceDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25533LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetCustomSourceDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25533_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25533LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25529LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4669_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25533LU) +); +} + +/* PriorityMappingEntryType - ns=0;i=25244 */ + +static UA_StatusCode function_namespace0_generated_4670_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25244_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25244_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25244_variant_DataContents); +*variablenode_ns_0_i_25244_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PriorityMappingEntryType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25244_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25244LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PriorityMappingEntryType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25244_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25244LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25243LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4670_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25244LU) +); +} + +/* PriorityMappingEntryType - ns=0;i=25240 */ + +static UA_StatusCode function_namespace0_generated_4671_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_25240_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_25240_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_25240_variant_DataContents); +*variablenode_ns_0_i_25240_variant_DataContents = UA_STRING_ALLOC("PriorityMappingEntryType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25240_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingEntryType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 25240LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PriorityMappingEntryType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_25240_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25240LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25239LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4671_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 25240LU) +); +} + +/* UserManagementDataType - ns=0;i=24297 */ + +static UA_StatusCode function_namespace0_generated_4672_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24297_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24297_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24297_variant_DataContents); +*variablenode_ns_0_i_24297_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserManagementDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24297_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24297LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserManagementDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24297_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24297LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24296LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4672_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24297LU) +); +} + +/* UserManagementDataType - ns=0;i=24293 */ + +static UA_StatusCode function_namespace0_generated_4673_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24293_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24293_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24293_variant_DataContents); +*variablenode_ns_0_i_24293_variant_DataContents = UA_STRING_ALLOC("UserManagementDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24293_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24293LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UserManagementDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24293_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24293LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24292LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4673_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24293LU) +); +} + +/* UnsignedRationalNumber - ns=0;i=24129 */ + +static UA_StatusCode function_namespace0_generated_4674_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24129_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24129_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24129_variant_DataContents); +*variablenode_ns_0_i_24129_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UnsignedRationalNumber']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24129_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UnsignedRationalNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24129LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnsignedRationalNumber"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24129_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24129LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24122LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4674_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24129LU) +); +} + +/* PortableNodeId - ns=0;i=24126 */ + +static UA_StatusCode function_namespace0_generated_4675_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24126_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24126_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24126_variant_DataContents); +*variablenode_ns_0_i_24126_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PortableNodeId']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24126_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PortableNodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24126LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PortableNodeId"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24126_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24126LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24121LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4675_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24126LU) +); +} + +/* PortableQualifiedName - ns=0;i=24123 */ + +static UA_StatusCode function_namespace0_generated_4676_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24123_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24123_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24123_variant_DataContents); +*variablenode_ns_0_i_24123_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PortableQualifiedName']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24123_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PortableQualifiedName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24123LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PortableQualifiedName"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24123_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24123LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24120LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4676_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24123LU) +); +} + +/* UnsignedRationalNumber - ns=0;i=24117 */ + +static UA_StatusCode function_namespace0_generated_4677_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24117_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24117_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24117_variant_DataContents); +*variablenode_ns_0_i_24117_variant_DataContents = UA_STRING_ALLOC("UnsignedRationalNumber"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24117_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UnsignedRationalNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24117LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UnsignedRationalNumber"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24117_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24117LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24110LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4677_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24117LU) +); +} + +/* PortableNodeId - ns=0;i=24114 */ + +static UA_StatusCode function_namespace0_generated_4678_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24114_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24114_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24114_variant_DataContents); +*variablenode_ns_0_i_24114_variant_DataContents = UA_STRING_ALLOC("PortableNodeId"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24114_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PortableNodeId"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24114LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PortableNodeId"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24114_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24114LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24109LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4678_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24114LU) +); +} + +/* PortableQualifiedName - ns=0;i=24111 */ + +static UA_StatusCode function_namespace0_generated_4679_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24111_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24111_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24111_variant_DataContents); +*variablenode_ns_0_i_24111_variant_DataContents = UA_STRING_ALLOC("PortableQualifiedName"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24111_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PortableQualifiedName"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24111LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PortableQualifiedName"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24111_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24111LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24108LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4679_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24111LU) +); +} + +/* ProgramDiagnostic2DataType - ns=0;i=24039 */ + +static UA_StatusCode function_namespace0_generated_4680_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24039_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24039_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24039_variant_DataContents); +*variablenode_ns_0_i_24039_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ProgramDiagnostic2DataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24039_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24039LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24039_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24039LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24038LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4680_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24039LU) +); +} + +/* ProgramDiagnostic2DataType - ns=0;i=24035 */ + +static UA_StatusCode function_namespace0_generated_4681_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_24035_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_24035_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_24035_variant_DataContents); +*variablenode_ns_0_i_24035_variant_DataContents = UA_STRING_ALLOC("ProgramDiagnostic2DataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24035_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 24035LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_24035_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24035LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24034LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4681_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 24035LU) +); +} + +/* DatagramDataSetReaderTransportDataType - ns=0;i=23983 */ + +static UA_StatusCode function_namespace0_generated_4682_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23983_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23983_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23983_variant_DataContents); +*variablenode_ns_0_i_23983_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramDataSetReaderTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23983_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23983LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23983_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23983LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23934LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4682_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23983LU) +); +} + +/* DatagramWriterGroupTransport2DataType - ns=0;i=23980 */ + +static UA_StatusCode function_namespace0_generated_4683_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23980_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23980_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23980_variant_DataContents); +*variablenode_ns_0_i_23980_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramWriterGroupTransport2DataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23980_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransport2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23980LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransport2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23980_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23980LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23933LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4683_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23980LU) +); +} + +/* DatagramConnectionTransport2DataType - ns=0;i=23977 */ + +static UA_StatusCode function_namespace0_generated_4684_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23977_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23977_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23977_variant_DataContents); +*variablenode_ns_0_i_23977_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramConnectionTransport2DataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23977_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransport2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23977LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransport2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23977_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23977LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23932LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4684_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23977LU) +); +} + +/* ReceiveQosPriorityDataType - ns=0;i=23968 */ + +static UA_StatusCode function_namespace0_generated_4685_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23968_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23968_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23968_variant_DataContents); +*variablenode_ns_0_i_23968_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReceiveQosPriorityDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23968_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosPriorityDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23968LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveQosPriorityDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23968_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23968LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23929LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4685_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23968LU) +); +} + +/* ReceiveQosDataType - ns=0;i=23965 */ + +static UA_StatusCode function_namespace0_generated_4686_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23965_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23965_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23965_variant_DataContents); +*variablenode_ns_0_i_23965_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReceiveQosDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23965_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23965LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveQosDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23965_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23965LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23928LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4686_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23965LU) +); +} + +/* TransmitQosPriorityDataType - ns=0;i=23956 */ + +static UA_StatusCode function_namespace0_generated_4687_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23956_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23956_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23956_variant_DataContents); +*variablenode_ns_0_i_23956_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TransmitQosPriorityDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23956_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosPriorityDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23956LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransmitQosPriorityDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23956_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23956LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23925LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4687_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23956LU) +); +} + +/* TransmitQosDataType - ns=0;i=23953 */ + +static UA_StatusCode function_namespace0_generated_4688_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23953_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23953_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23953_variant_DataContents); +*variablenode_ns_0_i_23953_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TransmitQosDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23953_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23953LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransmitQosDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23953_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23953LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23924LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4688_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23953LU) +); +} + +/* QosDataType - ns=0;i=23950 */ + +static UA_StatusCode function_namespace0_generated_4689_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23950_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23950_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23950_variant_DataContents); +*variablenode_ns_0_i_23950_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='QosDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23950_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "QosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23950LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QosDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23950_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23950LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23923LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4689_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23950LU) +); +} + +/* PubSubConfiguration2DataType - ns=0;i=23947 */ + +static UA_StatusCode function_namespace0_generated_4690_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23947_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23947_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23947_variant_DataContents); +*variablenode_ns_0_i_23947_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfiguration2DataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23947_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23947LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23947_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23947LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23922LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4690_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23947LU) +); +} + +/* SecurityGroupDataType - ns=0;i=23944 */ + +static UA_StatusCode function_namespace0_generated_4691_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23944_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23944_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23944_variant_DataContents); +*variablenode_ns_0_i_23944_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SecurityGroupDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23944_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23944LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23944_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23944LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23921LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4691_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23944LU) +); +} + +/* StandaloneSubscribedDataSetDataType - ns=0;i=23941 */ + +static UA_StatusCode function_namespace0_generated_4692_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23941_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23941_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23941_variant_DataContents); +*variablenode_ns_0_i_23941_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StandaloneSubscribedDataSetDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23941_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23941LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23941_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23941LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23920LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4692_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23941LU) +); +} + +/* StandaloneSubscribedDataSetRefDataType - ns=0;i=23938 */ + +static UA_StatusCode function_namespace0_generated_4693_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23938_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23938_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23938_variant_DataContents); +*variablenode_ns_0_i_23938_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StandaloneSubscribedDataSetRefDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23938_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetRefDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23938LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetRefDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23938_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23938LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23919LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4693_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23938LU) +); +} + +/* DatagramDataSetReaderTransportDataType - ns=0;i=23915 */ + +static UA_StatusCode function_namespace0_generated_4694_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23915_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23915_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23915_variant_DataContents); +*variablenode_ns_0_i_23915_variant_DataContents = UA_STRING_ALLOC("DatagramDataSetReaderTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23915_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23915LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23915_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23915LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23866LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4694_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23915LU) +); +} + +/* DatagramWriterGroupTransport2DataType - ns=0;i=23912 */ + +static UA_StatusCode function_namespace0_generated_4695_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23912_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23912_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23912_variant_DataContents); +*variablenode_ns_0_i_23912_variant_DataContents = UA_STRING_ALLOC("DatagramWriterGroupTransport2DataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23912_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransport2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23912LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransport2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23912_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23912LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23865LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4695_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23912LU) +); +} + +/* DatagramConnectionTransport2DataType - ns=0;i=23909 */ + +static UA_StatusCode function_namespace0_generated_4696_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23909_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23909_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23909_variant_DataContents); +*variablenode_ns_0_i_23909_variant_DataContents = UA_STRING_ALLOC("DatagramConnectionTransport2DataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23909_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransport2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23909LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransport2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23909_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23909LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23864LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4696_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23909LU) +); +} + +/* ReceiveQosPriorityDataType - ns=0;i=23900 */ + +static UA_StatusCode function_namespace0_generated_4697_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23900_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23900_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23900_variant_DataContents); +*variablenode_ns_0_i_23900_variant_DataContents = UA_STRING_ALLOC("ReceiveQosPriorityDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23900_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosPriorityDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23900LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveQosPriorityDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23900_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23900LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23861LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4697_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23900LU) +); +} + +/* ReceiveQosDataType - ns=0;i=23897 */ + +static UA_StatusCode function_namespace0_generated_4698_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23897_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23897_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23897_variant_DataContents); +*variablenode_ns_0_i_23897_variant_DataContents = UA_STRING_ALLOC("ReceiveQosDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23897_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23897LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReceiveQosDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23897_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23897LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23860LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4698_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23897LU) +); +} + +/* TransmitQosPriorityDataType - ns=0;i=23888 */ + +static UA_StatusCode function_namespace0_generated_4699_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23888_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23888_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23888_variant_DataContents); +*variablenode_ns_0_i_23888_variant_DataContents = UA_STRING_ALLOC("TransmitQosPriorityDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23888_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosPriorityDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23888LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransmitQosPriorityDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23888_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23888LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23857LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4699_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23888LU) +); +} + +/* TransmitQosDataType - ns=0;i=23885 */ + +static UA_StatusCode function_namespace0_generated_4700_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23885_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23885_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23885_variant_DataContents); +*variablenode_ns_0_i_23885_variant_DataContents = UA_STRING_ALLOC("TransmitQosDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23885_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23885LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TransmitQosDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23885_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23885LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4700_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23885LU) +); +} + +/* QosDataType - ns=0;i=23882 */ + +static UA_StatusCode function_namespace0_generated_4701_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23882_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23882_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23882_variant_DataContents); +*variablenode_ns_0_i_23882_variant_DataContents = UA_STRING_ALLOC("QosDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23882_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "QosDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23882LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "QosDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23882_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23882LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4701_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23882LU) +); +} + +/* PubSubConfiguration2DataType - ns=0;i=23879 */ + +static UA_StatusCode function_namespace0_generated_4702_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23879_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23879_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23879_variant_DataContents); +*variablenode_ns_0_i_23879_variant_DataContents = UA_STRING_ALLOC("PubSubConfiguration2DataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23879_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration2DataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23879LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration2DataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23879_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23879LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23854LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4702_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23879LU) +); +} + +/* SecurityGroupDataType - ns=0;i=23876 */ + +static UA_StatusCode function_namespace0_generated_4703_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23876_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23876_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23876_variant_DataContents); +*variablenode_ns_0_i_23876_variant_DataContents = UA_STRING_ALLOC("SecurityGroupDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23876_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23876LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SecurityGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23876_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23876LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4703_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23876LU) +); +} + +/* StandaloneSubscribedDataSetDataType - ns=0;i=23873 */ + +static UA_StatusCode function_namespace0_generated_4704_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23873_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23873_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23873_variant_DataContents); +*variablenode_ns_0_i_23873_variant_DataContents = UA_STRING_ALLOC("StandaloneSubscribedDataSetDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23873_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23873LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23873_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23873LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23852LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4704_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23873LU) +); +} + +/* StandaloneSubscribedDataSetRefDataType - ns=0;i=23870 */ + +static UA_StatusCode function_namespace0_generated_4705_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23870_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23870_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23870_variant_DataContents); +*variablenode_ns_0_i_23870_variant_DataContents = UA_STRING_ALLOC("StandaloneSubscribedDataSetRefDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23870_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetRefDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23870LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetRefDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23870_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23870LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23851LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4705_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23870LU) +); +} + +/* CurrencyUnitType - ns=0;i=23522 */ + +static UA_StatusCode function_namespace0_generated_4706_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23522_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23522_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23522_variant_DataContents); +*variablenode_ns_0_i_23522_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='CurrencyUnitType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23522_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnitType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23522LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrencyUnitType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23522_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23522LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23520LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4706_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23522LU) +); +} + +/* CurrencyUnitType - ns=0;i=23514 */ + +static UA_StatusCode function_namespace0_generated_4707_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23514_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23514_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23514_variant_DataContents); +*variablenode_ns_0_i_23514_variant_DataContents = UA_STRING_ALLOC("CurrencyUnitType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23514_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnitType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23514LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CurrencyUnitType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23514_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23514LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23507LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4707_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23514LU) +); +} + +/* AliasNameDataType - ns=0;i=23508 */ + +static UA_StatusCode function_namespace0_generated_4708_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23508_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23508_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23508_variant_DataContents); +*variablenode_ns_0_i_23508_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AliasNameDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23508_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23508LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AliasNameDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23508_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23508LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23505LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4708_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23508LU) +); +} + +/* AliasNameDataType - ns=0;i=23502 */ + +static UA_StatusCode function_namespace0_generated_4709_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_23502_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_23502_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_23502_variant_DataContents); +*variablenode_ns_0_i_23502_variant_DataContents = UA_STRING_ALLOC("AliasNameDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23502_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 23502LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AliasNameDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_23502_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23502LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23499LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4709_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 23502LU) +); +} + +/* DatagramWriterGroupTransportDataType - ns=0;i=21195 */ + +static UA_StatusCode function_namespace0_generated_4710_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21195_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21195_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21195_variant_DataContents); +*variablenode_ns_0_i_21195_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramWriterGroupTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21195_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21195LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21195_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21195LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21179LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4710_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21195LU) +); +} + +/* PubSubConfigurationDataType - ns=0;i=21192 */ + +static UA_StatusCode function_namespace0_generated_4711_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21192_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21192_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21192_variant_DataContents); +*variablenode_ns_0_i_21192_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfigurationDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21192_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21192LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21192_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21192LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21178LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4711_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21192LU) +); +} + +/* ReaderGroupDataType - ns=0;i=21189 */ + +static UA_StatusCode function_namespace0_generated_4712_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21189_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21189_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21189_variant_DataContents); +*variablenode_ns_0_i_21189_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReaderGroupDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21189_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21189LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21189_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21189LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21177LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4712_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21189LU) +); +} + +/* NetworkAddressUrlDataType - ns=0;i=21186 */ + +static UA_StatusCode function_namespace0_generated_4713_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21186_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21186_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21186_variant_DataContents); +*variablenode_ns_0_i_21186_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='NetworkAddressUrlDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21186_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21186LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21186_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21186LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21176LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4713_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21186LU) +); +} + +/* NetworkAddressDataType - ns=0;i=21183 */ + +static UA_StatusCode function_namespace0_generated_4714_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21183_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21183_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21183_variant_DataContents); +*variablenode_ns_0_i_21183_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='NetworkAddressDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21183_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21183LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21183_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21183LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21175LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4714_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21183LU) +); +} + +/* WriterGroupDataType - ns=0;i=21180 */ + +static UA_StatusCode function_namespace0_generated_4715_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21180_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21180_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21180_variant_DataContents); +*variablenode_ns_0_i_21180_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='WriterGroupDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21180_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21180LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21180_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21180LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4715_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21180LU) +); +} + +/* DatagramWriterGroupTransportDataType - ns=0;i=21171 */ + +static UA_StatusCode function_namespace0_generated_4716_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21171_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21171_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21171_variant_DataContents); +*variablenode_ns_0_i_21171_variant_DataContents = UA_STRING_ALLOC("DatagramWriterGroupTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21171_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21171LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21171_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21171LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21155LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4716_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21171LU) +); +} + +/* PubSubConfigurationDataType - ns=0;i=21168 */ + +static UA_StatusCode function_namespace0_generated_4717_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21168_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21168_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21168_variant_DataContents); +*variablenode_ns_0_i_21168_variant_DataContents = UA_STRING_ALLOC("PubSubConfigurationDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21168_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21168LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21168_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21168LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21154LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4717_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21168LU) +); +} + +/* ReaderGroupDataType - ns=0;i=21165 */ + +static UA_StatusCode function_namespace0_generated_4718_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21165_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21165_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21165_variant_DataContents); +*variablenode_ns_0_i_21165_variant_DataContents = UA_STRING_ALLOC("ReaderGroupDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21165_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21165LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21165_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21165LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21153LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4718_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21165LU) +); +} + +/* NetworkAddressUrlDataType - ns=0;i=21162 */ + +static UA_StatusCode function_namespace0_generated_4719_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21162_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21162_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21162_variant_DataContents); +*variablenode_ns_0_i_21162_variant_DataContents = UA_STRING_ALLOC("NetworkAddressUrlDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21162_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21162LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21162_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21162LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21152LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4719_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21162LU) +); +} + +/* NetworkAddressDataType - ns=0;i=21159 */ + +static UA_StatusCode function_namespace0_generated_4720_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21159_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21159_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21159_variant_DataContents); +*variablenode_ns_0_i_21159_variant_DataContents = UA_STRING_ALLOC("NetworkAddressDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21159_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21159LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkAddressDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21159_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21159LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21151LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4720_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21159LU) +); +} + +/* WriterGroupDataType - ns=0;i=21156 */ + +static UA_StatusCode function_namespace0_generated_4721_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21156_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21156_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21156_variant_DataContents); +*variablenode_ns_0_i_21156_variant_DataContents = UA_STRING_ALLOC("WriterGroupDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21156_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21156LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21156_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21156LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21150LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4721_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21156LU) +); +} + +/* FieldTargetDataType - ns=0;i=21002 */ + +static UA_StatusCode function_namespace0_generated_4722_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_21002_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_21002_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_21002_variant_DataContents); +*variablenode_ns_0_i_21002_variant_DataContents = UA_STRING_ALLOC("FieldTargetDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21002_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "FieldTargetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 21002LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FieldTargetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_21002_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21002LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14848LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4722_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 21002LU) +); +} + +/* 3DFrame - ns=0;i=19061 */ + +static UA_StatusCode function_namespace0_generated_4723_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_19061_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_19061_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_19061_variant_DataContents); +*variablenode_ns_0_i_19061_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDFrame']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19061_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DFrame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19061LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DFrame"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_19061_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19061LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18859LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4723_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19061LU) +); +} + +/* Frame - ns=0;i=19058 */ + +static UA_StatusCode function_namespace0_generated_4724_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_19058_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_19058_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_19058_variant_DataContents); +*variablenode_ns_0_i_19058_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Frame']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19058_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Frame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19058LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Frame"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_19058_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19058LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18858LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4724_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19058LU) +); +} + +/* 3DOrientation - ns=0;i=19055 */ + +static UA_StatusCode function_namespace0_generated_4725_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_19055_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_19055_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_19055_variant_DataContents); +*variablenode_ns_0_i_19055_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDOrientation']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19055_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19055LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DOrientation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_19055_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19055LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18857LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4725_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19055LU) +); +} + +/* Orientation - ns=0;i=19052 */ + +static UA_StatusCode function_namespace0_generated_4726_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_19052_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_19052_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_19052_variant_DataContents); +*variablenode_ns_0_i_19052_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Orientation']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19052_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19052LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Orientation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_19052_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19052LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18856LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4726_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19052LU) +); +} + +/* 3DCartesianCoordinates - ns=0;i=19049 */ + +static UA_StatusCode function_namespace0_generated_4727_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_19049_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_19049_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_19049_variant_DataContents); +*variablenode_ns_0_i_19049_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDCartesianCoordinates']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19049_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 19049LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinates"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_19049_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19049LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18855LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4727_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 19049LU) +); +} + +/* CartesianCoordinates - ns=0;i=18869 */ + +static UA_StatusCode function_namespace0_generated_4728_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18869_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18869_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18869_variant_DataContents); +*variablenode_ns_0_i_18869_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='CartesianCoordinates']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18869_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18869LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18869_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18869LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18854LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4728_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18869LU) +); +} + +/* 3DVector - ns=0;i=18866 */ + +static UA_StatusCode function_namespace0_generated_4729_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18866_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18866_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18866_variant_DataContents); +*variablenode_ns_0_i_18866_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDVector']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18866_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DVector"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18866LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DVector"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18866_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18866LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18853LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4729_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18866LU) +); +} + +/* Vector - ns=0;i=18863 */ + +static UA_StatusCode function_namespace0_generated_4730_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18863_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18863_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18863_variant_DataContents); +*variablenode_ns_0_i_18863_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Vector']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18863_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Vector"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18863LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Vector"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18863_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18863LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18852LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4730_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18863LU) +); +} + +/* RationalNumber - ns=0;i=18860 */ + +static UA_StatusCode function_namespace0_generated_4731_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18860_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18860_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18860_variant_DataContents); +*variablenode_ns_0_i_18860_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RationalNumber']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18860_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18860LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RationalNumber"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18860_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18860LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18851LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4731_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18860LU) +); +} + +/* 3DFrame - ns=0;i=18848 */ + +static UA_StatusCode function_namespace0_generated_4732_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18848_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18848_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18848_variant_DataContents); +*variablenode_ns_0_i_18848_variant_DataContents = UA_STRING_ALLOC("ThreeDFrame"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18848_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DFrame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18848LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DFrame"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18848_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18848LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18823LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4732_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18848LU) +); +} + +/* Frame - ns=0;i=18845 */ + +static UA_StatusCode function_namespace0_generated_4733_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18845_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18845_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18845_variant_DataContents); +*variablenode_ns_0_i_18845_variant_DataContents = UA_STRING_ALLOC("Frame"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18845_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Frame"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18845LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Frame"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18845_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18845LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18822LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4733_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18845LU) +); +} + +/* 3DOrientation - ns=0;i=18842 */ + +static UA_StatusCode function_namespace0_generated_4734_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18842_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18842_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18842_variant_DataContents); +*variablenode_ns_0_i_18842_variant_DataContents = UA_STRING_ALLOC("ThreeDOrientation"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18842_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18842LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DOrientation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18842_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18842LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18821LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4734_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18842LU) +); +} + +/* Orientation - ns=0;i=18839 */ + +static UA_StatusCode function_namespace0_generated_4735_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18839_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18839_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18839_variant_DataContents); +*variablenode_ns_0_i_18839_variant_DataContents = UA_STRING_ALLOC("Orientation"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18839_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18839LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Orientation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18839_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18839LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18820LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4735_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18839LU) +); +} + +/* 3DCartesianCoordinates - ns=0;i=18836 */ + +static UA_StatusCode function_namespace0_generated_4736_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18836_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18836_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18836_variant_DataContents); +*variablenode_ns_0_i_18836_variant_DataContents = UA_STRING_ALLOC("ThreeDCartesianCoordinates"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18836_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18836LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinates"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18836_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18836LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18819LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4736_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18836LU) +); +} + +/* CartesianCoordinates - ns=0;i=18833 */ + +static UA_StatusCode function_namespace0_generated_4737_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18833_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18833_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18833_variant_DataContents); +*variablenode_ns_0_i_18833_variant_DataContents = UA_STRING_ALLOC("CartesianCoordinates"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18833_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18833LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18833_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18833LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18818LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4737_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18833LU) +); +} + +/* 3DVector - ns=0;i=18830 */ + +static UA_StatusCode function_namespace0_generated_4738_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18830_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18830_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18830_variant_DataContents); +*variablenode_ns_0_i_18830_variant_DataContents = UA_STRING_ALLOC("ThreeDVector"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18830_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "3DVector"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18830LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "3DVector"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18830_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18830LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18817LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4738_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18830LU) +); +} + +/* Vector - ns=0;i=18827 */ + +static UA_StatusCode function_namespace0_generated_4739_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18827_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18827_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18827_variant_DataContents); +*variablenode_ns_0_i_18827_variant_DataContents = UA_STRING_ALLOC("Vector"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18827_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Vector"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18827LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Vector"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18827_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18827LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18816LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4739_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18827LU) +); +} + +/* RationalNumber - ns=0;i=18824 */ + +static UA_StatusCode function_namespace0_generated_4740_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18824_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18824_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18824_variant_DataContents); +*variablenode_ns_0_i_18824_variant_DataContents = UA_STRING_ALLOC("RationalNumber"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18824_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumber"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18824LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RationalNumber"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18824_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18824LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18815LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4740_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18824LU) +); +} + +/* EnumDefinition - ns=0;i=18187 */ + +static UA_StatusCode function_namespace0_generated_4741_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18187_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18187_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18187_variant_DataContents); +*variablenode_ns_0_i_18187_variant_DataContents = UA_STRING_ALLOC("EnumDefinition"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18187_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18187LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumDefinition"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18187_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18187LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 123LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4741_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18187LU) +); +} + +/* StructureDefinition - ns=0;i=18184 */ + +static UA_StatusCode function_namespace0_generated_4742_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18184_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18184_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18184_variant_DataContents); +*variablenode_ns_0_i_18184_variant_DataContents = UA_STRING_ALLOC("StructureDefinition"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18184_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StructureDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18184LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StructureDefinition"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18184_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18184LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 122LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4742_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18184LU) +); +} + +/* StructureField - ns=0;i=18181 */ + +static UA_StatusCode function_namespace0_generated_4743_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18181_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18181_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18181_variant_DataContents); +*variablenode_ns_0_i_18181_variant_DataContents = UA_STRING_ALLOC("StructureField"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18181_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StructureField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18181LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StructureField"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18181_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18181LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14844LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4743_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18181LU) +); +} + +/* DataTypeDefinition - ns=0;i=18178 */ + +static UA_StatusCode function_namespace0_generated_4744_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18178_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18178_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18178_variant_DataContents); +*variablenode_ns_0_i_18178_variant_DataContents = UA_STRING_ALLOC("DataTypeDefinition"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18178_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18178LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDefinition"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18178_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18178LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 121LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4744_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18178LU) +); +} + +/* EnumDefinition - ns=0;i=18175 */ + +static UA_StatusCode function_namespace0_generated_4745_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18175_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18175_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18175_variant_DataContents); +*variablenode_ns_0_i_18175_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumDefinition']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18175_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18175LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumDefinition"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18175_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18175LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14799LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4745_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18175LU) +); +} + +/* StructureDefinition - ns=0;i=18172 */ + +static UA_StatusCode function_namespace0_generated_4746_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18172_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18172_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18172_variant_DataContents); +*variablenode_ns_0_i_18172_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StructureDefinition']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18172_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StructureDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18172LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StructureDefinition"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18172_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18172LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14798LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4746_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18172LU) +); +} + +/* StructureField - ns=0;i=18169 */ + +static UA_StatusCode function_namespace0_generated_4747_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18169_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18169_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18169_variant_DataContents); +*variablenode_ns_0_i_18169_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StructureField']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18169_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StructureField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18169LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StructureField"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18169_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18169LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14800LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4747_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18169LU) +); +} + +/* DataTypeDefinition - ns=0;i=18166 */ + +static UA_StatusCode function_namespace0_generated_4748_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_18166_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_18166_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_18166_variant_DataContents); +*variablenode_ns_0_i_18166_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataTypeDefinition']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18166_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 18166LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDefinition"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_18166_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18166LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14797LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4748_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 18166LU) +); +} + +/* EphemeralKeyType - ns=0;i=17554 */ + +static UA_StatusCode function_namespace0_generated_4749_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_17554_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_17554_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_17554_variant_DataContents); +*variablenode_ns_0_i_17554_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EphemeralKeyType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17554_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EphemeralKeyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17554LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EphemeralKeyType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_17554_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17554LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17553LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4749_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17554LU) +); +} + +/* EphemeralKeyType - ns=0;i=17550 */ + +static UA_StatusCode function_namespace0_generated_4750_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_17550_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_17550_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_17550_variant_DataContents); +*variablenode_ns_0_i_17550_variant_DataContents = UA_STRING_ALLOC("EphemeralKeyType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17550_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EphemeralKeyType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17550LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EphemeralKeyType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_17550_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17550LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17549LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4750_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17550LU) +); +} + +/* AdditionalParametersType - ns=0;i=17542 */ + +static UA_StatusCode function_namespace0_generated_4751_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_17542_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_17542_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_17542_variant_DataContents); +*variablenode_ns_0_i_17542_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AdditionalParametersType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17542_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AdditionalParametersType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17542LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AdditionalParametersType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_17542_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17542LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17541LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4751_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17542LU) +); +} + +/* AdditionalParametersType - ns=0;i=17538 */ + +static UA_StatusCode function_namespace0_generated_4752_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_17538_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_17538_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_17538_variant_DataContents); +*variablenode_ns_0_i_17538_variant_DataContents = UA_STRING_ALLOC("AdditionalParametersType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17538_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AdditionalParametersType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17538LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AdditionalParametersType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_17538_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17538LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17537LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4752_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17538LU) +); +} + +/* DatagramConnectionTransportDataType - ns=0;i=17473 */ + +static UA_StatusCode function_namespace0_generated_4753_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_17473_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_17473_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_17473_variant_DataContents); +*variablenode_ns_0_i_17473_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramConnectionTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17473_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17473LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_17473_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17473LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17472LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4753_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17473LU) +); +} + +/* DatagramConnectionTransportDataType - ns=0;i=17469 */ + +static UA_StatusCode function_namespace0_generated_4754_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_17469_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_17469_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_17469_variant_DataContents); +*variablenode_ns_0_i_17469_variant_DataContents = UA_STRING_ALLOC("DatagramConnectionTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17469_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 17469LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_17469_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17469LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17468LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4754_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 17469LU) +); +} + +/* BrokerDataSetReaderTransportDataType - ns=0;i=16147 */ + +static UA_StatusCode function_namespace0_generated_4755_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16147_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16147_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16147_variant_DataContents); +*variablenode_ns_0_i_16147_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerDataSetReaderTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16147_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16147LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16147_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16147LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16023LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4755_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16147LU) +); +} + +/* BrokerDataSetWriterTransportDataType - ns=0;i=16144 */ + +static UA_StatusCode function_namespace0_generated_4756_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16144_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16144_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16144_variant_DataContents); +*variablenode_ns_0_i_16144_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerDataSetWriterTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16144_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16144LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16144_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16144LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16022LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4756_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16144LU) +); +} + +/* RolePermissionType - ns=0;i=16131 */ + +static UA_StatusCode function_namespace0_generated_4757_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16131_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16131_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16131_variant_DataContents); +*variablenode_ns_0_i_16131_variant_DataContents = UA_STRING_ALLOC("RolePermissionType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16131_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RolePermissionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16131LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RolePermissionType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16131_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16131LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 128LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4757_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16131LU) +); +} + +/* RolePermissionType - ns=0;i=16127 */ + +static UA_StatusCode function_namespace0_generated_4758_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16127_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16127_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16127_variant_DataContents); +*variablenode_ns_0_i_16127_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RolePermissionType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16127_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RolePermissionType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16127LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RolePermissionType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16127_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16127LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16126LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4758_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16127LU) +); +} + +/* BrokerWriterGroupTransportDataType - ns=0;i=16125 */ + +static UA_StatusCode function_namespace0_generated_4759_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16125_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16125_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16125_variant_DataContents); +*variablenode_ns_0_i_16125_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerWriterGroupTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16125_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16125LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16125_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16125LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16021LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4759_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16125LU) +); +} + +/* JsonDataSetReaderMessageDataType - ns=0;i=16119 */ + +static UA_StatusCode function_namespace0_generated_4760_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16119_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16119_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16119_variant_DataContents); +*variablenode_ns_0_i_16119_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='JsonDataSetReaderMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16119_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16119LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16119_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16119LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16019LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4760_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16119LU) +); +} + +/* JsonDataSetWriterMessageDataType - ns=0;i=16116 */ + +static UA_StatusCode function_namespace0_generated_4761_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16116_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16116_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16116_variant_DataContents); +*variablenode_ns_0_i_16116_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='JsonDataSetWriterMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16116_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16116LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16116_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16116LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16018LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4761_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16116LU) +); +} + +/* JsonWriterGroupMessageDataType - ns=0;i=16113 */ + +static UA_StatusCode function_namespace0_generated_4762_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16113_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16113_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16113_variant_DataContents); +*variablenode_ns_0_i_16113_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='JsonWriterGroupMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16113_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16113LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16113_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16113LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16017LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4762_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16113LU) +); +} + +/* UadpDataSetReaderMessageDataType - ns=0;i=16110 */ + +static UA_StatusCode function_namespace0_generated_4763_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16110_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16110_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16110_variant_DataContents); +*variablenode_ns_0_i_16110_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UadpDataSetReaderMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16110_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16110LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16110_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16110LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16016LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4763_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16110LU) +); +} + +/* UadpDataSetWriterMessageDataType - ns=0;i=16107 */ + +static UA_StatusCode function_namespace0_generated_4764_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16107_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16107_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16107_variant_DataContents); +*variablenode_ns_0_i_16107_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UadpDataSetWriterMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16107_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16107LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16107_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16107LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16015LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4764_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16107LU) +); +} + +/* UadpWriterGroupMessageDataType - ns=0;i=16104 */ + +static UA_StatusCode function_namespace0_generated_4765_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16104_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16104_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16104_variant_DataContents); +*variablenode_ns_0_i_16104_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UadpWriterGroupMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16104_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16104LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16104_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16104LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16014LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4765_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16104LU) +); +} + +/* SubscribedDataSetMirrorDataType - ns=0;i=16098 */ + +static UA_StatusCode function_namespace0_generated_4766_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16098_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16098_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16098_variant_DataContents); +*variablenode_ns_0_i_16098_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SubscribedDataSetMirrorDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16098_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16098LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16098_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16098LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16012LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4766_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16098LU) +); +} + +/* TargetVariablesDataType - ns=0;i=16095 */ + +static UA_StatusCode function_namespace0_generated_4767_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16095_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16095_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16095_variant_DataContents); +*variablenode_ns_0_i_16095_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TargetVariablesDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16095_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16095LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TargetVariablesDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16095_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16095LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16011LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4767_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16095LU) +); +} + +/* SubscribedDataSetDataType - ns=0;i=16092 */ + +static UA_StatusCode function_namespace0_generated_4768_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16092_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16092_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16092_variant_DataContents); +*variablenode_ns_0_i_16092_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SubscribedDataSetDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16092_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16092LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16092_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16092LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16010LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4768_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16092LU) +); +} + +/* DataSetReaderMessageDataType - ns=0;i=16089 */ + +static UA_StatusCode function_namespace0_generated_4769_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16089_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16089_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16089_variant_DataContents); +*variablenode_ns_0_i_16089_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetReaderMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16089_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16089LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16089_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16089LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16009LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4769_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16089LU) +); +} + +/* DataSetReaderTransportDataType - ns=0;i=16086 */ + +static UA_StatusCode function_namespace0_generated_4770_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16086_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16086_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16086_variant_DataContents); +*variablenode_ns_0_i_16086_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetReaderTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16086_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16086LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16086_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16086LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16008LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4770_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16086LU) +); +} + +/* DataSetReaderDataType - ns=0;i=16083 */ + +static UA_StatusCode function_namespace0_generated_4771_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16083_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16083_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16083_variant_DataContents); +*variablenode_ns_0_i_16083_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetReaderDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16083_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16083LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16083_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16083LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16007LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4771_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16083LU) +); +} + +/* ReaderGroupMessageDataType - ns=0;i=16080 */ + +static UA_StatusCode function_namespace0_generated_4772_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16080_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16080_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16080_variant_DataContents); +*variablenode_ns_0_i_16080_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReaderGroupMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16080_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16080LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16080_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16080LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15996LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4772_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16080LU) +); +} + +/* ReaderGroupTransportDataType - ns=0;i=16077 */ + +static UA_StatusCode function_namespace0_generated_4773_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16077_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16077_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16077_variant_DataContents); +*variablenode_ns_0_i_16077_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReaderGroupTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16077_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16077LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16077_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16077LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15995LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4773_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16077LU) +); +} + +/* ConnectionTransportDataType - ns=0;i=16071 */ + +static UA_StatusCode function_namespace0_generated_4774_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16071_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16071_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16071_variant_DataContents); +*variablenode_ns_0_i_16071_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ConnectionTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16071_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16071LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16071_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16071LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15993LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4774_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16071LU) +); +} + +/* PubSubConnectionDataType - ns=0;i=16068 */ + +static UA_StatusCode function_namespace0_generated_4775_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16068_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16068_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16068_variant_DataContents); +*variablenode_ns_0_i_16068_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConnectionDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16068_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16068LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConnectionDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16068_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16068LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15992LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4775_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16068LU) +); +} + +/* WriterGroupMessageDataType - ns=0;i=16065 */ + +static UA_StatusCode function_namespace0_generated_4776_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16065_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16065_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16065_variant_DataContents); +*variablenode_ns_0_i_16065_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='WriterGroupMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16065_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16065LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16065_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16065LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15991LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4776_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16065LU) +); +} + +/* WriterGroupTransportDataType - ns=0;i=16062 */ + +static UA_StatusCode function_namespace0_generated_4777_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16062_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16062_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16062_variant_DataContents); +*variablenode_ns_0_i_16062_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='WriterGroupTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16062_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16062LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16062_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16062LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15990LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4777_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16062LU) +); +} + +/* PubSubGroupDataType - ns=0;i=16056 */ + +static UA_StatusCode function_namespace0_generated_4778_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16056_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16056_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16056_variant_DataContents); +*variablenode_ns_0_i_16056_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubGroupDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16056_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16056LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16056_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16056LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15988LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4778_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16056LU) +); +} + +/* DataSetWriterMessageDataType - ns=0;i=16053 */ + +static UA_StatusCode function_namespace0_generated_4779_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16053_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16053_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16053_variant_DataContents); +*variablenode_ns_0_i_16053_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetWriterMessageDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16053_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16053LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16053_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16053LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15987LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4779_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16053LU) +); +} + +/* DataSetWriterTransportDataType - ns=0;i=16050 */ + +static UA_StatusCode function_namespace0_generated_4780_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16050_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16050_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16050_variant_DataContents); +*variablenode_ns_0_i_16050_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetWriterTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16050_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16050LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16050_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16050LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15956LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4780_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16050LU) +); +} + +/* DataSetWriterDataType - ns=0;i=16047 */ + +static UA_StatusCode function_namespace0_generated_4781_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16047_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16047_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16047_variant_DataContents); +*variablenode_ns_0_i_16047_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetWriterDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16047_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16047LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16047_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16047LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15955LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4781_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16047LU) +); +} + +/* PublishedEventsDataType - ns=0;i=16040 */ + +static UA_StatusCode function_namespace0_generated_4782_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16040_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16040_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16040_variant_DataContents); +*variablenode_ns_0_i_16040_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedEventsDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16040_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16040LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedEventsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16040_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16040LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15954LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4782_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16040LU) +); +} + +/* PublishedDataItemsDataType - ns=0;i=16037 */ + +static UA_StatusCode function_namespace0_generated_4783_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16037_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16037_variant_DataContents); +*variablenode_ns_0_i_16037_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataItemsDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16037_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16037LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16037_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16037LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15953LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4783_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16037LU) +); +} + +/* PublishedDataSetSourceDataType - ns=0;i=16033 */ + +static UA_StatusCode function_namespace0_generated_4784_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16033_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16033_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16033_variant_DataContents); +*variablenode_ns_0_i_16033_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataSetSourceDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16033_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetSourceDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16033LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetSourceDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16033_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16033LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15952LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4784_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16033LU) +); +} + +/* PublishedDataSetDataType - ns=0;i=16030 */ + +static UA_StatusCode function_namespace0_generated_4785_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16030_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16030_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16030_variant_DataContents); +*variablenode_ns_0_i_16030_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataSetDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16030_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16030LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16030_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16030LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15951LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4785_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16030LU) +); +} + +/* DataTypeSchemaHeader - ns=0;i=16027 */ + +static UA_StatusCode function_namespace0_generated_4786_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16027_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16027_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16027_variant_DataContents); +*variablenode_ns_0_i_16027_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataTypeSchemaHeader']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16027_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSchemaHeader"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16027LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeSchemaHeader"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16027_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16027LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15950LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4786_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16027LU) +); +} + +/* EndpointType - ns=0;i=16024 */ + +static UA_StatusCode function_namespace0_generated_4787_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_16024_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_16024_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_16024_variant_DataContents); +*variablenode_ns_0_i_16024_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16024_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 16024LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_16024_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16024LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4787_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 16024LU) +); +} + +/* BrokerDataSetReaderTransportDataType - ns=0;i=15946 */ + +static UA_StatusCode function_namespace0_generated_4788_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15946_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15946_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15946_variant_DataContents); +*variablenode_ns_0_i_15946_variant_DataContents = UA_STRING_ALLOC("BrokerDataSetReaderTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15946_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15946LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15946_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15946LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15733LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4788_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15946LU) +); +} + +/* BrokerDataSetWriterTransportDataType - ns=0;i=15943 */ + +static UA_StatusCode function_namespace0_generated_4789_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15943_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15943_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15943_variant_DataContents); +*variablenode_ns_0_i_15943_variant_DataContents = UA_STRING_ALLOC("BrokerDataSetWriterTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15943_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15943LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15943_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15943LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15729LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4789_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15943LU) +); +} + +/* BrokerWriterGroupTransportDataType - ns=0;i=15940 */ + +static UA_StatusCode function_namespace0_generated_4790_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15940_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15940_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15940_variant_DataContents); +*variablenode_ns_0_i_15940_variant_DataContents = UA_STRING_ALLOC("BrokerWriterGroupTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15940_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15940LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15940_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15940LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15727LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4790_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15940LU) +); +} + +/* JsonDataSetReaderMessageDataType - ns=0;i=15931 */ + +static UA_StatusCode function_namespace0_generated_4791_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15931_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15931_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15931_variant_DataContents); +*variablenode_ns_0_i_15931_variant_DataContents = UA_STRING_ALLOC("JsonDataSetReaderMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15931_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15931LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15931_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15931LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15725LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4791_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15931LU) +); +} + +/* JsonDataSetWriterMessageDataType - ns=0;i=15925 */ + +static UA_StatusCode function_namespace0_generated_4792_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15925_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15925_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15925_variant_DataContents); +*variablenode_ns_0_i_15925_variant_DataContents = UA_STRING_ALLOC("JsonDataSetWriterMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15925_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15925LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15925_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15925LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15724LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4792_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15925LU) +); +} + +/* JsonWriterGroupMessageDataType - ns=0;i=15922 */ + +static UA_StatusCode function_namespace0_generated_4793_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15922_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15922_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15922_variant_DataContents); +*variablenode_ns_0_i_15922_variant_DataContents = UA_STRING_ALLOC("JsonWriterGroupMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15922_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15922LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15922_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15922LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15719LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4793_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15922LU) +); +} + +/* UadpDataSetReaderMessageDataType - ns=0;i=15919 */ + +static UA_StatusCode function_namespace0_generated_4794_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15919_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15919_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15919_variant_DataContents); +*variablenode_ns_0_i_15919_variant_DataContents = UA_STRING_ALLOC("UadpDataSetReaderMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15919_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15919LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15919_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15919LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15718LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4794_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15919LU) +); +} + +/* UadpDataSetWriterMessageDataType - ns=0;i=15898 */ + +static UA_StatusCode function_namespace0_generated_4795_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15898_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15898_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15898_variant_DataContents); +*variablenode_ns_0_i_15898_variant_DataContents = UA_STRING_ALLOC("UadpDataSetWriterMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15898_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15898LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15898_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15898LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15717LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4795_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15898LU) +); +} + +/* UadpWriterGroupMessageDataType - ns=0;i=15895 */ + +static UA_StatusCode function_namespace0_generated_4796_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15895_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15895_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15895_variant_DataContents); +*variablenode_ns_0_i_15895_variant_DataContents = UA_STRING_ALLOC("UadpWriterGroupMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15895_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15895LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15895_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15895LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15715LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4796_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15895LU) +); +} + +/* SubscribedDataSetMirrorDataType - ns=0;i=15889 */ + +static UA_StatusCode function_namespace0_generated_4797_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15889_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15889_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15889_variant_DataContents); +*variablenode_ns_0_i_15889_variant_DataContents = UA_STRING_ALLOC("SubscribedDataSetMirrorDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15889_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15889LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15889_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15889LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15713LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4797_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15889LU) +); +} + +/* TargetVariablesDataType - ns=0;i=15886 */ + +static UA_StatusCode function_namespace0_generated_4798_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15886_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15886_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15886_variant_DataContents); +*variablenode_ns_0_i_15886_variant_DataContents = UA_STRING_ALLOC("TargetVariablesDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15886_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15886LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TargetVariablesDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15886_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15886LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15712LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4798_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15886LU) +); +} + +/* SubscribedDataSetDataType - ns=0;i=15883 */ + +static UA_StatusCode function_namespace0_generated_4799_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15883_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15883_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15883_variant_DataContents); +*variablenode_ns_0_i_15883_variant_DataContents = UA_STRING_ALLOC("SubscribedDataSetDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15883_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15883LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15883_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15883LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15707LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4799_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15883LU) +); +} + +/* DataSetReaderMessageDataType - ns=0;i=15880 */ + +static UA_StatusCode function_namespace0_generated_4800_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15880_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15880_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15880_variant_DataContents); +*variablenode_ns_0_i_15880_variant_DataContents = UA_STRING_ALLOC("DataSetReaderMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15880_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15880LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15880_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15880LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15706LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4800_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15880LU) +); +} + +/* DataSetReaderTransportDataType - ns=0;i=15877 */ + +static UA_StatusCode function_namespace0_generated_4801_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15877_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15877_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15877_variant_DataContents); +*variablenode_ns_0_i_15877_variant_DataContents = UA_STRING_ALLOC("DataSetReaderTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15877_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15877LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15877_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15877LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15705LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4801_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15877LU) +); +} + +/* DataSetReaderDataType - ns=0;i=15872 */ + +static UA_StatusCode function_namespace0_generated_4802_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15872_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15872_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15872_variant_DataContents); +*variablenode_ns_0_i_15872_variant_DataContents = UA_STRING_ALLOC("DataSetReaderDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15872_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15872LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetReaderDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15872_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15872LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15703LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4802_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15872LU) +); +} + +/* ReaderGroupMessageDataType - ns=0;i=15869 */ + +static UA_StatusCode function_namespace0_generated_4803_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15869_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15869_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15869_variant_DataContents); +*variablenode_ns_0_i_15869_variant_DataContents = UA_STRING_ALLOC("ReaderGroupMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15869_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15869LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15869_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15869LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15702LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4803_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15869LU) +); +} + +/* ReaderGroupTransportDataType - ns=0;i=15866 */ + +static UA_StatusCode function_namespace0_generated_4804_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15866_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15866_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15866_variant_DataContents); +*variablenode_ns_0_i_15866_variant_DataContents = UA_STRING_ALLOC("ReaderGroupTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15866_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15866LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15866_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15866LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15701LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4804_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15866LU) +); +} + +/* ConnectionTransportDataType - ns=0;i=15860 */ + +static UA_StatusCode function_namespace0_generated_4805_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15860_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15860_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15860_variant_DataContents); +*variablenode_ns_0_i_15860_variant_DataContents = UA_STRING_ALLOC("ConnectionTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15860_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15860LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConnectionTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15860_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15860LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15695LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4805_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15860LU) +); +} + +/* PubSubConnectionDataType - ns=0;i=15857 */ + +static UA_StatusCode function_namespace0_generated_4806_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15857_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15857_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15857_variant_DataContents); +*variablenode_ns_0_i_15857_variant_DataContents = UA_STRING_ALLOC("PubSubConnectionDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15857_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15857LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubConnectionDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15857_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15857LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15694LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4806_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15857LU) +); +} + +/* WriterGroupMessageDataType - ns=0;i=15854 */ + +static UA_StatusCode function_namespace0_generated_4807_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15854_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15854_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15854_variant_DataContents); +*variablenode_ns_0_i_15854_variant_DataContents = UA_STRING_ALLOC("WriterGroupMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15854_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15854LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15854_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15854LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15693LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4807_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15854LU) +); +} + +/* WriterGroupTransportDataType - ns=0;i=15793 */ + +static UA_StatusCode function_namespace0_generated_4808_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15793_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15793_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15793_variant_DataContents); +*variablenode_ns_0_i_15793_variant_DataContents = UA_STRING_ALLOC("WriterGroupTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15793_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15793LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15793_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15793LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15691LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4808_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15793LU) +); +} + +/* PubSubGroupDataType - ns=0;i=15787 */ + +static UA_StatusCode function_namespace0_generated_4809_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15787_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15787_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15787_variant_DataContents); +*variablenode_ns_0_i_15787_variant_DataContents = UA_STRING_ALLOC("PubSubGroupDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15787_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15787LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PubSubGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15787_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15787LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15689LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4809_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15787LU) +); +} + +/* DataSetWriterMessageDataType - ns=0;i=15784 */ + +static UA_StatusCode function_namespace0_generated_4810_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15784_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15784_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15784_variant_DataContents); +*variablenode_ns_0_i_15784_variant_DataContents = UA_STRING_ALLOC("DataSetWriterMessageDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15784_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15784LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15784_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15784LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15688LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4810_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15784LU) +); +} + +/* DataSetWriterTransportDataType - ns=0;i=15781 */ + +static UA_StatusCode function_namespace0_generated_4811_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15781_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15781_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15781_variant_DataContents); +*variablenode_ns_0_i_15781_variant_DataContents = UA_STRING_ALLOC("DataSetWriterTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15781_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15781LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15781_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15781LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15683LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4811_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15781LU) +); +} + +/* DataSetWriterDataType - ns=0;i=15778 */ + +static UA_StatusCode function_namespace0_generated_4812_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15778_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15778_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15778_variant_DataContents); +*variablenode_ns_0_i_15778_variant_DataContents = UA_STRING_ALLOC("DataSetWriterDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15778_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15778LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetWriterDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15778_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15778LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15682LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4812_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15778LU) +); +} + +/* PublishedEventsDataType - ns=0;i=15775 */ + +static UA_StatusCode function_namespace0_generated_4813_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15775_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15775_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15775_variant_DataContents); +*variablenode_ns_0_i_15775_variant_DataContents = UA_STRING_ALLOC("PublishedEventsDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15775_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15775LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedEventsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15775_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15775LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15681LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4813_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15775LU) +); +} + +/* PublishedDataItemsDataType - ns=0;i=15772 */ + +static UA_StatusCode function_namespace0_generated_4814_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15772_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15772_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15772_variant_DataContents); +*variablenode_ns_0_i_15772_variant_DataContents = UA_STRING_ALLOC("PublishedDataItemsDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15772_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15772LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15772_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15772LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15679LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4814_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15772LU) +); +} + +/* PublishedDataSetSourceDataType - ns=0;i=15769 */ + +static UA_StatusCode function_namespace0_generated_4815_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15769_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15769_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15769_variant_DataContents); +*variablenode_ns_0_i_15769_variant_DataContents = UA_STRING_ALLOC("PublishedDataSetSourceDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15769_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetSourceDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15769LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetSourceDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15769_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15769LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15678LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4815_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15769LU) +); +} + +/* PublishedDataSetDataType - ns=0;i=15766 */ + +static UA_StatusCode function_namespace0_generated_4816_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15766_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15766_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15766_variant_DataContents); +*variablenode_ns_0_i_15766_variant_DataContents = UA_STRING_ALLOC("PublishedDataSetDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15766_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15766LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedDataSetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15766_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15766LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15677LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4816_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15766LU) +); +} + +/* DataTypeSchemaHeader - ns=0;i=15741 */ + +static UA_StatusCode function_namespace0_generated_4817_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15741_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15741_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15741_variant_DataContents); +*variablenode_ns_0_i_15741_variant_DataContents = UA_STRING_ALLOC("DataTypeSchemaHeader"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15741_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSchemaHeader"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15741LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeSchemaHeader"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15741_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15741LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15676LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4817_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15741LU) +); +} + +/* IdentityMappingRuleType - ns=0;i=15738 */ + +static UA_StatusCode function_namespace0_generated_4818_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15738_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15738_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15738_variant_DataContents); +*variablenode_ns_0_i_15738_variant_DataContents = UA_STRING_ALLOC("IdentityMappingRuleType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15738_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "IdentityMappingRuleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15738LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IdentityMappingRuleType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15738_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15738LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15736LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4818_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15738LU) +); +} + +/* EndpointType - ns=0;i=15734 */ + +static UA_StatusCode function_namespace0_generated_4819_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15734_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15734_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15734_variant_DataContents); +*variablenode_ns_0_i_15734_variant_DataContents = UA_STRING_ALLOC("EndpointType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15734_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15734LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15734_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15734LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15671LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4819_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15734LU) +); +} + +/* IdentityMappingRuleType - ns=0;i=15730 */ + +static UA_StatusCode function_namespace0_generated_4820_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15730_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15730_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15730_variant_DataContents); +*variablenode_ns_0_i_15730_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='IdentityMappingRuleType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15730_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "IdentityMappingRuleType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15730LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "IdentityMappingRuleType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15730_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15730LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15728LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4820_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15730LU) +); +} + +/* BrokerConnectionTransportDataType - ns=0;i=15640 */ + +static UA_StatusCode function_namespace0_generated_4821_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15640_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15640_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15640_variant_DataContents); +*variablenode_ns_0_i_15640_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerConnectionTransportDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15640_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15640LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15640_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15640LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15579LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4821_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15640LU) +); +} + +/* EnumDescription - ns=0;i=15602 */ + +static UA_StatusCode function_namespace0_generated_4822_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15602_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15602_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15602_variant_DataContents); +*variablenode_ns_0_i_15602_variant_DataContents = UA_STRING_ALLOC("EnumDescription"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15602_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15602LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15602_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15602LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 127LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4822_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15602LU) +); +} + +/* StructureDescription - ns=0;i=15599 */ + +static UA_StatusCode function_namespace0_generated_4823_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15599_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15599_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15599_variant_DataContents); +*variablenode_ns_0_i_15599_variant_DataContents = UA_STRING_ALLOC("StructureDescription"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15599_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StructureDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15599LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StructureDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15599_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15599LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 126LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4823_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15599LU) +); +} + +/* EnumDescription - ns=0;i=15594 */ + +static UA_StatusCode function_namespace0_generated_4824_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15594_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15594_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15594_variant_DataContents); +*variablenode_ns_0_i_15594_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumDescription']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15594_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15594LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15594_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15594LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15590LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4824_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15594LU) +); +} + +/* StructureDescription - ns=0;i=15591 */ + +static UA_StatusCode function_namespace0_generated_4825_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15591_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15591_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15591_variant_DataContents); +*variablenode_ns_0_i_15591_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StructureDescription']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15591_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "StructureDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15591LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "StructureDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15591_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15591LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15589LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4825_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15591LU) +); +} + +/* UABinaryFileDataType - ns=0;i=15588 */ + +static UA_StatusCode function_namespace0_generated_4826_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15588_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15588_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15588_variant_DataContents); +*variablenode_ns_0_i_15588_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UABinaryFileDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15588_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UABinaryFileDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15588LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UABinaryFileDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15588_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15588LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15531LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4826_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15588LU) +); +} + +/* SimpleTypeDescription - ns=0;i=15585 */ + +static UA_StatusCode function_namespace0_generated_4827_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15585_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15585_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15585_variant_DataContents); +*variablenode_ns_0_i_15585_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SimpleTypeDescription']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15585_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SimpleTypeDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15585LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SimpleTypeDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15585_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15585LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15529LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4827_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15585LU) +); +} + +/* BrokerConnectionTransportDataType - ns=0;i=15524 */ + +static UA_StatusCode function_namespace0_generated_4828_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15524_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15524_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15524_variant_DataContents); +*variablenode_ns_0_i_15524_variant_DataContents = UA_STRING_ALLOC("BrokerConnectionTransportDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15524_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15524LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15524_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15524LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15479LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4828_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15524LU) +); +} + +/* UABinaryFileDataType - ns=0;i=15521 */ + +static UA_StatusCode function_namespace0_generated_4829_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15521_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15521_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15521_variant_DataContents); +*variablenode_ns_0_i_15521_variant_DataContents = UA_STRING_ALLOC("UABinaryFileDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15521_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "UABinaryFileDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15521LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "UABinaryFileDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15521_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15521LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15422LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4829_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15521LU) +); +} + +/* SimpleTypeDescription - ns=0;i=15501 */ + +static UA_StatusCode function_namespace0_generated_4830_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_15501_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_15501_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_15501_variant_DataContents); +*variablenode_ns_0_i_15501_variant_DataContents = UA_STRING_ALLOC("SimpleTypeDescription"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15501_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "SimpleTypeDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 15501LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "SimpleTypeDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_15501_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15501LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15421LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4830_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 15501LU) +); +} + +/* ConfigurationVersionDataType - ns=0;i=14876 */ + +static UA_StatusCode function_namespace0_generated_4831_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14876_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14876_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14876_variant_DataContents); +*variablenode_ns_0_i_14876_variant_DataContents = UA_STRING_ALLOC("ConfigurationVersionDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14876_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14876LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersionDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14876_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14876LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14847LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4831_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14876LU) +); +} + +/* KeyValuePair - ns=0;i=14873 */ + +static UA_StatusCode function_namespace0_generated_4832_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14873_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14873_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14873_variant_DataContents); +*variablenode_ns_0_i_14873_variant_DataContents = UA_STRING_ALLOC("KeyValuePair"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14873_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyValuePair"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14873LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "KeyValuePair"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14873_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14873LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14846LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4832_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14873LU) +); +} + +/* EnumField - ns=0;i=14870 */ + +static UA_StatusCode function_namespace0_generated_4833_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14870_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14870_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14870_variant_DataContents); +*variablenode_ns_0_i_14870_variant_DataContents = UA_STRING_ALLOC("EnumField"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14870_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14870LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumField"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14870_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14870LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14845LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4833_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14870LU) +); +} + +/* DataTypeDescription - ns=0;i=14855 */ + +static UA_StatusCode function_namespace0_generated_4834_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14855_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14855_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14855_variant_DataContents); +*variablenode_ns_0_i_14855_variant_DataContents = UA_STRING_ALLOC("DataTypeDescription"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14855_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14855LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14855_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14855LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 125LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4834_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14855LU) +); +} + +/* FieldMetaData - ns=0;i=14852 */ + +static UA_StatusCode function_namespace0_generated_4835_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14852_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14852_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14852_variant_DataContents); +*variablenode_ns_0_i_14852_variant_DataContents = UA_STRING_ALLOC("FieldMetaData"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14852_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "FieldMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14852LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FieldMetaData"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14852_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14852LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14839LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4835_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14852LU) +); +} + +/* DataSetMetaDataType - ns=0;i=14849 */ + +static UA_StatusCode function_namespace0_generated_4836_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14849_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14849_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14849_variant_DataContents); +*variablenode_ns_0_i_14849_variant_DataContents = UA_STRING_ALLOC("DataSetMetaDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14849_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14849LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14849_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14849LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 124LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4836_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14849LU) +); +} + +/* FieldTargetDataType - ns=0;i=14835 */ + +static UA_StatusCode function_namespace0_generated_4837_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14835_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14835_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14835_variant_DataContents); +*variablenode_ns_0_i_14835_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='FieldTargetDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14835_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "FieldTargetDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14835LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FieldTargetDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14835_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14835LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14804LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4837_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14835LU) +); +} + +/* ConfigurationVersionDataType - ns=0;i=14832 */ + +static UA_StatusCode function_namespace0_generated_4838_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14832_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14832_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14832_variant_DataContents); +*variablenode_ns_0_i_14832_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ConfigurationVersionDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14832_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersionDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14832LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ConfigurationVersionDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14832_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14832LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14803LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4838_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14832LU) +); +} + +/* KeyValuePair - ns=0;i=14829 */ + +static UA_StatusCode function_namespace0_generated_4839_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14829_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14829_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14829_variant_DataContents); +*variablenode_ns_0_i_14829_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='KeyValuePair']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14829_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "KeyValuePair"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14829LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "KeyValuePair"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14829_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14829LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14802LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4839_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14829LU) +); +} + +/* EnumField - ns=0;i=14826 */ + +static UA_StatusCode function_namespace0_generated_4840_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14826_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14826_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14826_variant_DataContents); +*variablenode_ns_0_i_14826_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumField']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14826_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EnumField"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14826LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EnumField"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14826_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14826LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14801LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4840_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14826LU) +); +} + +/* DataTypeDescription - ns=0;i=14811 */ + +static UA_StatusCode function_namespace0_generated_4841_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14811_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14811_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14811_variant_DataContents); +*variablenode_ns_0_i_14811_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataTypeDescription']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14811_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescription"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14811LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeDescription"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14811_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14811LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14796LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4841_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14811LU) +); +} + +/* FieldMetaData - ns=0;i=14808 */ + +static UA_StatusCode function_namespace0_generated_4842_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14808_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14808_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14808_variant_DataContents); +*variablenode_ns_0_i_14808_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='FieldMetaData']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14808_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "FieldMetaData"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14808LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "FieldMetaData"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14808_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14808LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14795LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4842_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14808LU) +); +} + +/* DataSetMetaDataType - ns=0;i=14805 */ + +static UA_StatusCode function_namespace0_generated_4843_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14805_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14805_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14805_variant_DataContents); +*variablenode_ns_0_i_14805_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetMetaDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14805_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14805LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DataSetMetaDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14805_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14805LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14794LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4843_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14805LU) +); +} + +/* PublishedVariableDataType - ns=0;i=14324 */ + +static UA_StatusCode function_namespace0_generated_4844_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14324_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14324_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14324_variant_DataContents); +*variablenode_ns_0_i_14324_variant_DataContents = UA_STRING_ALLOC("PublishedVariableDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14324_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedVariableDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14324LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedVariableDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14324_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14324LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14323LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4844_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14324LU) +); +} + +/* PublishedVariableDataType - ns=0;i=14320 */ + +static UA_StatusCode function_namespace0_generated_4845_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_14320_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_14320_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_14320_variant_DataContents); +*variablenode_ns_0_i_14320_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedVariableDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14320_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "PublishedVariableDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 14320LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "PublishedVariableDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_14320_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14320LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14319LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4845_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 14320LU) +); +} + +/* MdnsDiscoveryConfiguration - ns=0;i=12905 */ + +static UA_StatusCode function_namespace0_generated_4846_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12905_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12905_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12905_variant_DataContents); +*variablenode_ns_0_i_12905_variant_DataContents = UA_STRING_ALLOC("MdnsDiscoveryConfiguration"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12905_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "MdnsDiscoveryConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12905LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MdnsDiscoveryConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12905_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12905LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12901LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4846_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12905LU) +); +} + +/* DiscoveryConfiguration - ns=0;i=12902 */ + +static UA_StatusCode function_namespace0_generated_4847_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12902_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12902_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12902_variant_DataContents); +*variablenode_ns_0_i_12902_variant_DataContents = UA_STRING_ALLOC("DiscoveryConfiguration"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12902_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12902LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12902_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12902LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12900LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4847_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12902LU) +); +} + +/* MdnsDiscoveryConfiguration - ns=0;i=12897 */ + +static UA_StatusCode function_namespace0_generated_4848_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12897_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12897_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12897_variant_DataContents); +*variablenode_ns_0_i_12897_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='MdnsDiscoveryConfiguration']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12897_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "MdnsDiscoveryConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12897LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "MdnsDiscoveryConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12897_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12897LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12893LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4848_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12897LU) +); +} + +/* DiscoveryConfiguration - ns=0;i=12894 */ + +static UA_StatusCode function_namespace0_generated_4849_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12894_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12894_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12894_variant_DataContents); +*variablenode_ns_0_i_12894_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DiscoveryConfiguration']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12894_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryConfiguration"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12894LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DiscoveryConfiguration"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12894_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12894LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12892LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4849_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12894LU) +); +} + +/* Union - ns=0;i=12770 */ + +static UA_StatusCode function_namespace0_generated_4850_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12770_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12770_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12770_variant_DataContents); +*variablenode_ns_0_i_12770_variant_DataContents = UA_STRING_ALLOC("Union"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12770_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Union"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12770LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Union"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12770_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12770LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12766LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4850_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12770LU) +); +} + +/* OptionSet - ns=0;i=12767 */ + +static UA_StatusCode function_namespace0_generated_4851_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12767_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12767_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12767_variant_DataContents); +*variablenode_ns_0_i_12767_variant_DataContents = UA_STRING_ALLOC("OptionSet"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12767_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12767LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OptionSet"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12767_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12767LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12765LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4851_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12767LU) +); +} + +/* Union - ns=0;i=12762 */ + +static UA_StatusCode function_namespace0_generated_4852_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12762_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12762_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12762_variant_DataContents); +*variablenode_ns_0_i_12762_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Union']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12762_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "Union"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12762LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "Union"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12762_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12762LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12758LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4852_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12762LU) +); +} + +/* OptionSet - ns=0;i=12759 */ + +static UA_StatusCode function_namespace0_generated_4853_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12759_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12759_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12759_variant_DataContents); +*variablenode_ns_0_i_12759_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='OptionSet']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12759_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "OptionSet"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12759LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "OptionSet"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12759_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12759LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12757LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4853_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12759LU) +); +} + +/* RelativePath - ns=0;i=12721 */ + +static UA_StatusCode function_namespace0_generated_4854_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12721_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12721_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12721_variant_DataContents); +*variablenode_ns_0_i_12721_variant_DataContents = UA_STRING_ALLOC("RelativePath"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12721_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RelativePath"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12721LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RelativePath"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12721_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12721LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 542LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4854_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12721LU) +); +} + +/* RelativePathElement - ns=0;i=12718 */ + +static UA_StatusCode function_namespace0_generated_4855_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12718_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12718_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12718_variant_DataContents); +*variablenode_ns_0_i_12718_variant_DataContents = UA_STRING_ALLOC("RelativePathElement"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12718_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RelativePathElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12718LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RelativePathElement"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12718_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12718LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 539LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4855_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12718LU) +); +} + +/* RelativePath - ns=0;i=12715 */ + +static UA_StatusCode function_namespace0_generated_4856_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12715_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12715_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12715_variant_DataContents); +*variablenode_ns_0_i_12715_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RelativePath']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12715_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RelativePath"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12715LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RelativePath"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12715_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12715LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 541LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4856_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12715LU) +); +} + +/* RelativePathElement - ns=0;i=12712 */ + +static UA_StatusCode function_namespace0_generated_4857_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12712_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12712_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12712_variant_DataContents); +*variablenode_ns_0_i_12712_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RelativePathElement']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12712_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "RelativePathElement"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12712LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "RelativePathElement"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12712_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12712LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 538LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4857_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12712LU) +); +} + +/* TrustListDataType - ns=0;i=12681 */ + +static UA_StatusCode function_namespace0_generated_4858_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12681_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12681_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12681_variant_DataContents); +*variablenode_ns_0_i_12681_variant_DataContents = UA_STRING_ALLOC("TrustListDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12681_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12681LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustListDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12681_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12681LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12680LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4858_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12681LU) +); +} + +/* TrustListDataType - ns=0;i=12677 */ + +static UA_StatusCode function_namespace0_generated_4859_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12677_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12677_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12677_variant_DataContents); +*variablenode_ns_0_i_12677_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TrustListDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12677_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "TrustListDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12677LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "TrustListDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12677_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12677LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12676LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4859_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12677LU) +); +} + +/* ServerOnNetwork - ns=0;i=12213 */ + +static UA_StatusCode function_namespace0_generated_4860_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12213_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12213_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12213_variant_DataContents); +*variablenode_ns_0_i_12213_variant_DataContents = UA_STRING_ALLOC("ServerOnNetwork"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12213_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerOnNetwork"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12213LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerOnNetwork"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12213_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12213LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12207LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4860_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12213LU) +); +} + +/* ServerOnNetwork - ns=0;i=12201 */ + +static UA_StatusCode function_namespace0_generated_4861_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12201_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12201_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12201_variant_DataContents); +*variablenode_ns_0_i_12201_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServerOnNetwork']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12201_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ServerOnNetwork"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12201LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ServerOnNetwork"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12201_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12201LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12195LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4861_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12201LU) +); +} + +/* DoubleComplexNumberType - ns=0;i=12186 */ + +static UA_StatusCode function_namespace0_generated_4862_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12186_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12186_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12186_variant_DataContents); +*variablenode_ns_0_i_12186_variant_DataContents = UA_STRING_ALLOC("DoubleComplexNumberType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12186_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DoubleComplexNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12186LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DoubleComplexNumberType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12186_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12186LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12182LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4862_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12186LU) +); +} + +/* ComplexNumberType - ns=0;i=12183 */ + +static UA_StatusCode function_namespace0_generated_4863_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12183_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12183_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12183_variant_DataContents); +*variablenode_ns_0_i_12183_variant_DataContents = UA_STRING_ALLOC("ComplexNumberType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12183_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ComplexNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12183LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ComplexNumberType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12183_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12183LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12181LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4863_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12183LU) +); +} + +/* DoubleComplexNumberType - ns=0;i=12178 */ + +static UA_StatusCode function_namespace0_generated_4864_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12178_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12178_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12178_variant_DataContents); +*variablenode_ns_0_i_12178_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DoubleComplexNumberType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12178_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "DoubleComplexNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12178LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "DoubleComplexNumberType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12178_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12178LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12174LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4864_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12178LU) +); +} + +/* ComplexNumberType - ns=0;i=12175 */ + +static UA_StatusCode function_namespace0_generated_4865_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12175_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12175_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12175_variant_DataContents); +*variablenode_ns_0_i_12175_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ComplexNumberType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12175_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "ComplexNumberType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12175LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "ComplexNumberType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12175_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12175LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12173LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4865_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12175LU) +); +} + +/* XVType - ns=0;i=12094 */ + +static UA_StatusCode function_namespace0_generated_4866_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12094_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12094_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12094_variant_DataContents); +*variablenode_ns_0_i_12094_variant_DataContents = UA_STRING_ALLOC("XVType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12094_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "XVType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12094LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "XVType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12094_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12094LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12090LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4866_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12094LU) +); +} + +/* AxisInformation - ns=0;i=12091 */ + +static UA_StatusCode function_namespace0_generated_4867_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12091_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12091_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12091_variant_DataContents); +*variablenode_ns_0_i_12091_variant_DataContents = UA_STRING_ALLOC("AxisInformation"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12091_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AxisInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12091LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AxisInformation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12091_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12091LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12089LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4867_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12091LU) +); +} + +/* XVType - ns=0;i=12086 */ + +static UA_StatusCode function_namespace0_generated_4868_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12086_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12086_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12086_variant_DataContents); +*variablenode_ns_0_i_12086_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='XVType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12086_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "XVType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12086LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "XVType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12086_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12086LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12082LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4868_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12086LU) +); +} + +/* AxisInformation - ns=0;i=12083 */ + +static UA_StatusCode function_namespace0_generated_4869_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_12083_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_12083_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_12083_variant_DataContents); +*variablenode_ns_0_i_12083_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AxisInformation']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12083_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "AxisInformation"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 12083LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "AxisInformation"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_12083_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12083LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12081LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4869_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 12083LU) +); +} + +/* NetworkGroupDataType - ns=0;i=11962 */ + +static UA_StatusCode function_namespace0_generated_4870_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_11962_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_11962_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_11962_variant_DataContents); +*variablenode_ns_0_i_11962_variant_DataContents = UA_STRING_ALLOC("NetworkGroupDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11962_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11962LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_11962_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11962LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11958LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4870_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11962LU) +); +} + +/* EndpointUrlListDataType - ns=0;i=11959 */ + +static UA_StatusCode function_namespace0_generated_4871_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_11959_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_11959_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_11959_variant_DataContents); +*variablenode_ns_0_i_11959_variant_DataContents = UA_STRING_ALLOC("EndpointUrlListDataType"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11959_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrlListDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11959LU), +UA_NODEID_NUMERIC(ns[0], 7617LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrlListDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_11959_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11959LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11957LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4871_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11959LU) +); +} + +/* NetworkGroupDataType - ns=0;i=11954 */ + +static UA_StatusCode function_namespace0_generated_4872_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_11954_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_11954_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_11954_variant_DataContents); +*variablenode_ns_0_i_11954_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='NetworkGroupDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11954_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "NetworkGroupDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11954LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "NetworkGroupDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_11954_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11954LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11950LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4872_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11954LU) +); +} + +/* EndpointUrlListDataType - ns=0;i=11951 */ + +static UA_StatusCode function_namespace0_generated_4873_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +UA_String *variablenode_ns_0_i_11951_variant_DataContents = UA_String_new(); +if (!variablenode_ns_0_i_11951_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; +UA_String_init(variablenode_ns_0_i_11951_variant_DataContents); +*variablenode_ns_0_i_11951_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointUrlListDataType']"); +UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11951_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); +attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrlListDataType"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 11951LU), +UA_NODEID_NUMERIC(ns[0], 8252LU), +UA_NODEID_NUMERIC(ns[0], 47LU), +UA_QUALIFIEDNAME(ns[0], "EndpointUrlListDataType"), +UA_NODEID_NUMERIC(ns[0], 69LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +UA_String_delete(variablenode_ns_0_i_11951_variant_DataContents); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11951LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11949LU), false); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4873_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 11951LU) +); +} + +/* DictionaryFragment - ns=0;i=105 */ + +static UA_StatusCode function_namespace0_generated_4874_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DictionaryFragment"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 105LU), +UA_NODEID_NUMERIC(ns[0], 69LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DictionaryFragment"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 105LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4874_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 105LU) +); +} + +/* DataTypeVersion - ns=0;i=104 */ + +static UA_StatusCode function_namespace0_generated_4875_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_VariableAttributes attr = UA_VariableAttributes_default; +attr.minimumSamplingInterval = 0.000000; +attr.userAccessLevel = 1; +attr.accessLevel = 1; +/* Value rank inherited */ +attr.valueRank = -2; +attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); +attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeVersion"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, +UA_NODEID_NUMERIC(ns[0], 104LU), +UA_NODEID_NUMERIC(ns[0], 69LU), +UA_NODEID_NUMERIC(ns[0], 46LU), +UA_QUALIFIEDNAME(ns[0], "DataTypeVersion"), +UA_NODEID_NUMERIC(ns[0], 68LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 104LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4875_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 104LU) +); +} + +/* Default XML - ns=0;i=3063 */ + +static UA_StatusCode function_namespace0_generated_4876_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3063LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default XML"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4876_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3063LU) +); +} + +/* Default Binary - ns=0;i=3062 */ + +static UA_StatusCode function_namespace0_generated_4877_begin(UA_Server *server, UA_UInt16* ns) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +UA_ObjectAttributes attr = UA_ObjectAttributes_default; +attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); +retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, +UA_NODEID_NUMERIC(ns[0], 3062LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_NODEID_NUMERIC(ns[0], 0LU), +UA_QUALIFIEDNAME(ns[0], "Default Binary"), +UA_NODEID_NUMERIC(ns[0], 58LU), +(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); +if (retVal != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +static UA_StatusCode function_namespace0_generated_4877_finish(UA_Server *server, UA_UInt16* ns) { +return UA_Server_addNode_finish(server, +UA_NODEID_NUMERIC(ns[0], 3062LU) +); +} + +UA_StatusCode namespace0_generated(UA_Server *server) { +UA_StatusCode retVal = UA_STATUSCODE_GOOD; +/* Use namespace ids generated by the server */ +UA_UInt16 ns[1]; +ns[0] = UA_Server_addNamespace(server, "http://opcfoundation.org/UA/"); + +/* Load custom datatype definitions into the server */ +if((retVal = function_namespace0_generated_0_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_0_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_5_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_5_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_6_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_6_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_7_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_7_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_8_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_8_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_9_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_9_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_10_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_10_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_11_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_11_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_12_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_12_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_13_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_13_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_14_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_14_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_15_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_15_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_16_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_16_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_17_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_17_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_18_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_18_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_19_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_19_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_20_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_20_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_21_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_21_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_22_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_22_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_23_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_23_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_24_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_24_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_25_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_25_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_26_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_26_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_27_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_27_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_28_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_28_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_29_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_29_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_30_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_30_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_31_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_31_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_32_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_32_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_33_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_33_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_34_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_34_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_35_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_35_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_36_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_36_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_37_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_37_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_38_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_38_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_39_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_39_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_40_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_40_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_41_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_41_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_42_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_42_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_43_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_43_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_44_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_44_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_45_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_45_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_46_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_46_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_47_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_47_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_48_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_48_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_49_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_50_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_51_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_52_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_53_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_54_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_55_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_56_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_57_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_58_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_59_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_60_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_61_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_62_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_63_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_64_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_65_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_66_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_67_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_68_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_69_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_70_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_71_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_72_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_73_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_74_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_75_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_76_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_77_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_78_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_79_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_80_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_81_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_82_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_83_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_84_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_85_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_86_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_87_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_88_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_89_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_90_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_91_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_92_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_93_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_94_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_95_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_96_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_97_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_98_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_99_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_4000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_3000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_2000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_1000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_99_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_98_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_97_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_96_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_95_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_94_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_93_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_92_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_91_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_90_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_89_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_88_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_87_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_86_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_85_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_84_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_83_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_82_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_81_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_80_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_79_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_78_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_77_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_76_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_75_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_74_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_73_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_72_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_71_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_70_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_69_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_68_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_67_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_66_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_65_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_64_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_63_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_62_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_61_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_60_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_59_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_58_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_57_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_56_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_55_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_54_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_53_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_52_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_51_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_50_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +if((retVal = function_namespace0_generated_49_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; +return retVal; +} + +/**** amalgamated original file "/src/ua_types_lex.c" ****/ + +/* Generated by re2c 3.1 */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * + */ + + +/* Lexing and parsing of builtin data types. These are helper functions that not + * required by the SDK internally. But they are useful for users who want to use + * standard-specified humand readable encodings for NodeIds, etc. + * + * This compilation unit uses the re2c lexer generator. The final C source is + * generated with the following script: + * + * re2c -i --no-generation-date ua_types_lex.re > ua_types_lex.c + * + * In order that users of the SDK don't need to install re2c, always commit a + * recent ua_types_lex.c if changes are made to the lexer. */ + +#define YYCURSOR pos +#define YYMARKER context.marker +#define YYPEEK() (YYCURSOR < end) ? *YYCURSOR : 0 /* The lexer sees a stream of + * \0 when the input ends*/ +#define YYSKIP() ++YYCURSOR; +#define YYBACKUP() YYMARKER = YYCURSOR +#define YYRESTORE() YYCURSOR = YYMARKER +#define YYSTAGP(t) t = YYCURSOR +#define YYSTAGN(t) t = NULL +#define YYSHIFTSTAG(t, shift) t += shift + +typedef struct { + const char *marker; + const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4; +} LexContext; + + + +static UA_StatusCode +parse_guid(UA_Guid *guid, const UA_Byte *s, const UA_Byte *e) { + size_t len = (size_t)(e - s); + if(len != 36 || s[8] != '-' || s[13] != '-' || s[23] != '-') + return UA_STATUSCODE_BADDECODINGERROR; + + UA_UInt32 tmp; + if(UA_readNumberWithBase(s, 8, &tmp, 16) != 8) + return UA_STATUSCODE_BADDECODINGERROR; + guid->data1 = tmp; + + if(UA_readNumberWithBase(&s[9], 4, &tmp, 16) != 4) + return UA_STATUSCODE_BADDECODINGERROR; + guid->data2 = (UA_UInt16)tmp; + + if(UA_readNumberWithBase(&s[14], 4, &tmp, 16) != 4) + return UA_STATUSCODE_BADDECODINGERROR; + guid->data3 = (UA_UInt16)tmp; + + if(UA_readNumberWithBase(&s[19], 2, &tmp, 16) != 2) + return UA_STATUSCODE_BADDECODINGERROR; + guid->data4[0] = (UA_Byte)tmp; + + if(UA_readNumberWithBase(&s[21], 2, &tmp, 16) != 2) + return UA_STATUSCODE_BADDECODINGERROR; + guid->data4[1] = (UA_Byte)tmp; + + for(size_t pos = 2, spos = 24; pos < 8; pos++, spos += 2) { + if(UA_readNumberWithBase(&s[spos], 2, &tmp, 16) != 2) + return UA_STATUSCODE_BADDECODINGERROR; + guid->data4[pos] = (UA_Byte)tmp; + } + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Guid_parse(UA_Guid *guid, const UA_String str) { + UA_StatusCode res = parse_guid(guid, str.data, str.data + str.length); + if(res != UA_STATUSCODE_GOOD) + *guid = UA_GUID_NULL; + return res; +} + +static UA_StatusCode +parse_nodeid_body(UA_NodeId *id, const char *body, const char *end) { + size_t len = (size_t)(end - (body+2)); + UA_StatusCode res = UA_STATUSCODE_GOOD; + switch(*body) { + case 'i': { + if(UA_readNumber((const UA_Byte*)body+2, len, &id->identifier.numeric) != len) + return UA_STATUSCODE_BADDECODINGERROR; + id->identifierType = UA_NODEIDTYPE_NUMERIC; + break; + } + case 's': { + UA_String tmpstr; + tmpstr.data = (UA_Byte*)(uintptr_t)body+2; + tmpstr.length = len; + res = UA_String_copy(&tmpstr, &id->identifier.string); + if(res != UA_STATUSCODE_GOOD) + break; + id->identifierType = UA_NODEIDTYPE_STRING; + break; + } + case 'g': + res = parse_guid(&id->identifier.guid, (const UA_Byte*)body+2, (const UA_Byte*)end); + if(res == UA_STATUSCODE_GOOD) + id->identifierType = UA_NODEIDTYPE_GUID; + break; + case 'b': + id->identifier.byteString.data = + UA_unbase64((const unsigned char*)body+2, len, + &id->identifier.byteString.length); + if(!id->identifier.byteString.data && len > 0) + return UA_STATUSCODE_BADDECODINGERROR; + id->identifierType = UA_NODEIDTYPE_BYTESTRING; + break; + default: + return UA_STATUSCODE_BADDECODINGERROR; + } + return res; +} + +static UA_StatusCode +parse_nodeid(UA_NodeId *id, const char *pos, const char *end) { + *id = UA_NODEID_NULL; /* Reset the NodeId */ + LexContext context; + memset(&context, 0, sizeof(LexContext)); + const char *ns = NULL, *nse= NULL; + + +{ + char yych; + yych = YYPEEK(); + switch (yych) { + case 'b': + case 'g': + case 'i': + case 's': + YYSTAGN(context.yyt1); + YYSTAGN(context.yyt2); + goto yy3; + case 'n': goto yy4; + default: goto yy1; + } +yy1: + YYSKIP(); +yy2: + { (void)pos; return UA_STATUSCODE_BADDECODINGERROR; } +yy3: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy5; + default: goto yy2; + } +yy4: + YYSKIP(); + YYBACKUP(); + yych = YYPEEK(); + switch (yych) { + case 's': goto yy6; + default: goto yy2; + } +yy5: + YYSKIP(); + ns = context.yyt1; + nse = context.yyt2; + { + (void)pos; // Get rid of a dead store clang-analyzer warning + if(ns) { + UA_UInt32 tmp; + size_t len = (size_t)(nse - ns); + if(UA_readNumber((const UA_Byte*)ns, len, &tmp) != len) + return UA_STATUSCODE_BADDECODINGERROR; + id->namespaceIndex = (UA_UInt16)tmp; + } + + // From the current position until the end + return parse_nodeid_body(id, &pos[-2], end); + } +yy6: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy8; + default: goto yy7; + } +yy7: + YYRESTORE(); + goto yy2; +yy8: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + YYSTAGP(context.yyt1); + goto yy9; + default: goto yy7; + } +yy9: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy9; + case ';': + YYSTAGP(context.yyt2); + goto yy10; + default: goto yy7; + } +yy10: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 'b': + case 'g': + case 'i': + case 's': goto yy11; + default: goto yy7; + } +yy11: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy5; + default: goto yy7; + } +} + +} + +UA_StatusCode +UA_NodeId_parse(UA_NodeId *id, const UA_String str) { + UA_StatusCode res = + parse_nodeid(id, (const char*)str.data, (const char*)str.data+str.length); + if(res != UA_STATUSCODE_GOOD) + UA_NodeId_clear(id); + return res; +} + +static UA_StatusCode +parse_expandednodeid(UA_ExpandedNodeId *id, const char *pos, const char *end) { + *id = UA_EXPANDEDNODEID_NULL; /* Reset the NodeId */ + LexContext context; + memset(&context, 0, sizeof(LexContext)); + const char *svr = NULL, *svre = NULL, *nsu = NULL, *ns = NULL, *body = NULL; + + +{ + char yych; + yych = YYPEEK(); + switch (yych) { + case 'b': + case 'g': + case 'i': + YYSTAGN(context.yyt1); + YYSTAGN(context.yyt2); + YYSTAGN(context.yyt3); + YYSTAGN(context.yyt4); + goto yy15; + case 'n': + YYSTAGN(context.yyt1); + YYSTAGN(context.yyt2); + goto yy16; + case 's': + YYSTAGN(context.yyt1); + YYSTAGN(context.yyt2); + YYSTAGN(context.yyt3); + YYSTAGN(context.yyt4); + goto yy17; + default: goto yy13; + } +yy13: + YYSKIP(); +yy14: + { (void)pos; return UA_STATUSCODE_BADDECODINGERROR; } +yy15: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy18; + default: goto yy14; + } +yy16: + YYSKIP(); + YYBACKUP(); + yych = YYPEEK(); + switch (yych) { + case 's': goto yy19; + default: goto yy14; + } +yy17: + YYSKIP(); + YYBACKUP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy18; + case 'v': goto yy21; + default: goto yy14; + } +yy18: + YYSKIP(); + svr = context.yyt1; + svre = context.yyt2; + ns = context.yyt3; + nsu = context.yyt4; + YYSTAGP(body); + YYSHIFTSTAG(body, -2); + { + (void)pos; // Get rid of a dead store clang-analyzer warning + if(svr) { + size_t len = (size_t)((svre) - svr); + if(UA_readNumber((const UA_Byte*)svr, len, &id->serverIndex) != len) + return UA_STATUSCODE_BADDECODINGERROR; + } + + if(nsu) { + size_t len = (size_t)((body-1) - nsu); + UA_String nsuri; + nsuri.data = (UA_Byte*)(uintptr_t)nsu; + nsuri.length = len; + UA_StatusCode res = UA_String_copy(&nsuri, &id->namespaceUri); + if(res != UA_STATUSCODE_GOOD) + return res; + } else if(ns) { + UA_UInt32 tmp; + size_t len = (size_t)((body-1) - ns); + if(UA_readNumber((const UA_Byte*)ns, len, &tmp) != len) + return UA_STATUSCODE_BADDECODINGERROR; + id->nodeId.namespaceIndex = (UA_UInt16)tmp; + } + + // From the current position until the end + return parse_nodeid_body(&id->nodeId, &pos[-2], end); + } +yy19: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy22; + case 'u': goto yy23; + default: goto yy20; + } +yy20: + YYRESTORE(); + goto yy14; +yy21: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 'r': goto yy24; + default: goto yy20; + } +yy22: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + YYSTAGP(context.yyt3); + goto yy25; + default: goto yy20; + } +yy23: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy26; + default: goto yy20; + } +yy24: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy27; + default: goto yy20; + } +yy25: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy25; + case ';': goto yy28; + default: goto yy20; + } +yy26: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: + case '\n': goto yy20; + case ';': + YYSTAGP(context.yyt4); + goto yy30; + default: + YYSTAGP(context.yyt4); + goto yy29; + } +yy27: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + YYSTAGP(context.yyt1); + goto yy31; + default: goto yy20; + } +yy28: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 'b': + case 'g': + case 'i': + case 's': + YYSTAGN(context.yyt4); + goto yy32; + default: goto yy20; + } +yy29: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: + case '\n': goto yy20; + case ';': goto yy30; + default: goto yy29; + } +yy30: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 'b': + case 'g': + case 'i': + case 's': + YYSTAGN(context.yyt3); + goto yy32; + default: goto yy20; + } +yy31: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy31; + case ';': + YYSTAGP(context.yyt2); + goto yy33; + default: goto yy20; + } +yy32: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case '=': goto yy18; + default: goto yy20; + } +yy33: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 'b': + case 'g': + case 'i': + case 's': + YYSTAGN(context.yyt3); + YYSTAGN(context.yyt4); + goto yy32; + case 'n': goto yy34; + default: goto yy20; + } +yy34: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 's': goto yy19; + default: goto yy20; + } +} + +} + +UA_StatusCode +UA_ExpandedNodeId_parse(UA_ExpandedNodeId *id, const UA_String str) { + UA_StatusCode res = + parse_expandednodeid(id, (const char*)str.data, (const char*)str.data+str.length); + if(res != UA_STATUSCODE_GOOD) + UA_ExpandedNodeId_clear(id); + return res; +} + +static UA_StatusCode +relativepath_addelem(UA_RelativePath *rp, UA_RelativePathElement *el) { + /* Allocate memory */ + UA_RelativePathElement *newArray = (UA_RelativePathElement*) + UA_realloc(rp->elements, sizeof(UA_RelativePathElement) * (rp->elementsSize + 1)); + if(!newArray) + return UA_STATUSCODE_BADOUTOFMEMORY; + rp->elements = newArray; + + /* Move to the target */ + rp->elements[rp->elementsSize] = *el; + rp->elementsSize++; + return UA_STATUSCODE_GOOD; +} + +/* Parse name string with '&' as the escape character */ +static UA_StatusCode +parse_refpath_qn_name(UA_QualifiedName *qn, const char **pos, const char *end) { + /* Allocate the max length the name can have */ + size_t maxlen = (size_t)(end - *pos); + if(maxlen == 0) { + qn->name.data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; + return UA_STATUSCODE_GOOD; + } + char *name = (char*)UA_malloc(maxlen); + if(!name) + return UA_STATUSCODE_BADOUTOFMEMORY; + + size_t index = 0; + for(; *pos < end; (*pos)++) { + char c = **pos; + /* Unescaped special characer: The end of the QualifiedName */ + if(c == '/' || c == '.' || c == '<' || c == '>' || + c == ':' || c == '#' || c == '!') + break; + + /* Escaped character */ + if(c == '&') { + (*pos)++; + if(*pos >= end || + (**pos != '/' && **pos != '.' && **pos != '<' && **pos != '>' && + **pos != ':' && **pos != '#' && **pos != '!' && **pos != '&')) { + UA_free(name); + return UA_STATUSCODE_BADDECODINGERROR; + } + c = **pos; + } + + /* Unescaped normal character */ + name[index] = c; + index++; + } + + if(index > 0) { + qn->name.data = (UA_Byte*)name; + qn->name.length = index; + } else { + qn->name.data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; + UA_free(name); + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +parse_refpath_qn(UA_QualifiedName *qn, const char *pos, const char *end) { + LexContext context; + memset(&context, 0, sizeof(LexContext)); + const char *ns = NULL, *nse = NULL; + UA_QualifiedName_init(qn); + + +{ + char yych; + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + YYSTAGP(context.yyt1); + goto yy38; + default: goto yy36; + } +yy36: + YYSKIP(); +yy37: + { pos--; goto parse_qn_name; } +yy38: + YYSKIP(); + YYBACKUP(); + yych = YYPEEK(); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': goto yy40; + default: goto yy37; + } +yy39: + YYSKIP(); + yych = YYPEEK(); +yy40: + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy39; + case ':': goto yy42; + default: goto yy41; + } +yy41: + YYRESTORE(); + goto yy37; +yy42: + YYSKIP(); + ns = context.yyt1; + YYSTAGP(nse); + YYSHIFTSTAG(nse, -1); + { + UA_UInt32 tmp; + size_t len = (size_t)(nse - ns); + if(UA_readNumber((const UA_Byte*)ns, len, &tmp) != len) + return UA_STATUSCODE_BADDECODINGERROR; + qn->namespaceIndex = (UA_UInt16)tmp; + goto parse_qn_name; + } +} + + + parse_qn_name: + return parse_refpath_qn_name(qn, &pos, end); +} + +/* List of well-known ReferenceTypes that don't require lookup in the server */ + +typedef struct { + char *browseName; + UA_UInt32 identifier; +} RefTypeNames; + +#define KNOWNREFTYPES 17 +static const RefTypeNames knownRefTypes[KNOWNREFTYPES] = { + {"References", UA_NS0ID_REFERENCES}, + {"HierachicalReferences", UA_NS0ID_HIERARCHICALREFERENCES}, + {"NonHierachicalReferences", UA_NS0ID_NONHIERARCHICALREFERENCES}, + {"HasChild", UA_NS0ID_HASCHILD}, + {"Aggregates", UA_NS0ID_AGGREGATES}, + {"HasComponent", UA_NS0ID_HASCOMPONENT}, + {"HasProperty", UA_NS0ID_HASPROPERTY}, + {"HasOrderedComponent", UA_NS0ID_HASORDEREDCOMPONENT}, + {"HasSubtype", UA_NS0ID_HASSUBTYPE}, + {"Organizes", UA_NS0ID_ORGANIZES}, + {"HasModellingRule", UA_NS0ID_HASMODELLINGRULE}, + {"HasTypeDefinition", UA_NS0ID_HASTYPEDEFINITION}, + {"HasEncoding", UA_NS0ID_HASENCODING}, + {"GeneratesEvent", UA_NS0ID_GENERATESEVENT}, + {"AlwaysGeneratesEvent", UA_NS0ID_ALWAYSGENERATESEVENT}, + {"HasEventSource", UA_NS0ID_HASEVENTSOURCE}, + {"HasNotifier", UA_NS0ID_HASNOTIFIER} +}; + +static UA_StatusCode +lookup_reftype(UA_NodeId *refTypeId, UA_QualifiedName *qn) { + if(qn->namespaceIndex != 0) + return UA_STATUSCODE_BADNOTFOUND; + + for(size_t i = 0; i < KNOWNREFTYPES; i++) { + UA_String tmp = UA_STRING(knownRefTypes[i].browseName); + if(UA_String_equal(&qn->name, &tmp)) { + *refTypeId = UA_NODEID_NUMERIC(0, knownRefTypes[i].identifier); + return UA_STATUSCODE_GOOD; + } + } + + return UA_STATUSCODE_BADNOTFOUND; +} + +static UA_StatusCode +parse_relativepath(UA_RelativePath *rp, const char *pos, const char *end) { + LexContext context; + memset(&context, 0, sizeof(LexContext)); + const char *begin = NULL, *finish = NULL; + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_RelativePath_init(rp); /* Reset the BrowsePath */ + + /* Add one element to the path in every iteration */ + UA_RelativePathElement current; + loop: + UA_RelativePathElement_init(¤t); + current.includeSubtypes = true; /* Follow subtypes by default */ + + /* Get the ReferenceType and its modifiers */ + +{ + char yych; + unsigned int yyaccept = 0; + yych = YYPEEK(); + switch (yych) { + case 0x00: goto yy44; + case '.': goto yy47; + case '/': goto yy48; + case '<': goto yy49; + default: goto yy45; + } +yy44: + YYSKIP(); + { (void)pos; return UA_STATUSCODE_GOOD; } +yy45: + YYSKIP(); +yy46: + { (void)pos; return UA_STATUSCODE_BADDECODINGERROR; } +yy47: + YYSKIP(); + { + current.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); + goto reftype_target; + } +yy48: + YYSKIP(); + { + current.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); + goto reftype_target; + } +yy49: + yyaccept = 0; + YYSKIP(); + YYBACKUP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: + case '>': goto yy46; + case '&': + YYSTAGP(context.yyt1); + goto yy52; + default: + YYSTAGP(context.yyt1); + goto yy50; + } +yy50: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: goto yy51; + case '&': goto yy52; + case '>': goto yy53; + default: goto yy50; + } +yy51: + YYRESTORE(); + if (yyaccept == 0) { + goto yy46; + } else { + goto yy54; + } +yy52: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: goto yy51; + case '&': goto yy52; + case '>': goto yy55; + default: goto yy50; + } +yy53: + YYSKIP(); +yy54: + begin = context.yyt1; + YYSTAGP(finish); + YYSHIFTSTAG(finish, -1); + { + for(; begin < finish; begin++) { + if(*begin== '#') + current.includeSubtypes = false; + else if(*begin == '!') + current.isInverse = true; + else + break; + } + UA_QualifiedName refqn; + res |= parse_refpath_qn(&refqn, begin, finish); + res |= lookup_reftype(¤t.referenceTypeId, &refqn); + UA_QualifiedName_clear(&refqn); + goto reftype_target; + } +yy55: + yyaccept = 1; + YYSKIP(); + YYBACKUP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: goto yy54; + case '&': goto yy52; + case '>': goto yy53; + default: goto yy50; + } +} + + + /* Get the TargetName component */ + reftype_target: + if(res != UA_STATUSCODE_GOOD) + return res; + + +{ + char yych; + yych = YYPEEK(); + switch (yych) { + case 0x00: + case '.': + case '/': + case '<': goto yy57; + case '&': + YYSTAGP(context.yyt1); + goto yy60; + default: + YYSTAGP(context.yyt1); + goto yy58; + } +yy57: + YYSKIP(); + { pos--; goto add_element; } +yy58: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: + case '.': + case '/': + case '<': goto yy59; + case '&': goto yy60; + default: goto yy58; + } +yy59: + begin = context.yyt1; + { + res = parse_refpath_qn(¤t.targetName, begin, pos); + goto add_element; + } +yy60: + YYSKIP(); + yych = YYPEEK(); + switch (yych) { + case 0x00: goto yy59; + case '&': goto yy60; + default: goto yy58; + } +} + + + /* Add the current element to the path and continue to the next element */ + add_element: + res |= relativepath_addelem(rp, ¤t); + if(res != UA_STATUSCODE_GOOD) { + UA_RelativePathElement_clear(¤t); + return res; + } + goto loop; +} + +UA_StatusCode +UA_RelativePath_parse(UA_RelativePath *rp, const UA_String str) { + UA_StatusCode res = + parse_relativepath(rp, (const char*)str.data, (const char*)str.data+str.length); + if(res != UA_STATUSCODE_GOOD) + UA_RelativePath_clear(rp); + return res; +} + +/**** amalgamated original file "/src/pubsub/ua_pubsub_security.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) + */ + + +static +UA_StatusCode +needsDecryption(const UA_Logger *logger, + const UA_NetworkMessage *networkMessage, + const UA_MessageSecurityMode securityMode, + UA_Boolean *doDecrypt) { + + UA_Boolean isEncrypted = networkMessage->securityHeader.networkMessageEncrypted; + UA_Boolean requiresEncryption = securityMode > UA_MESSAGESECURITYMODE_SIGN; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + if(isEncrypted && requiresEncryption) { + *doDecrypt = true; + } else if(!isEncrypted && !requiresEncryption) { + *doDecrypt = false; + } else { + if(isEncrypted) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. " + "Message is encrypted but ReaderGroup does not expect encryption"); + retval = UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; + } else { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. " + "Message is not encrypted but ReaderGroup requires encryption"); + retval = UA_STATUSCODE_BADSECURITYMODEREJECTED; + } + } + return retval; +} + +static UA_StatusCode +needsValidation(const UA_Logger *logger, + const UA_NetworkMessage *networkMessage, + const UA_MessageSecurityMode securityMode, + UA_Boolean *doValidate) { + UA_Boolean isSigned = networkMessage->securityHeader.networkMessageSigned; + UA_Boolean requiresSignature = securityMode > UA_MESSAGESECURITYMODE_NONE; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + + if(isSigned && + requiresSignature) { + *doValidate = true; + } else if(!isSigned && !requiresSignature) { + *doValidate = false; + } else { + + if(isSigned) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. " + "Message is signed but ReaderGroup does not expect signatures"); + retval = UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; + } else { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. " + "Message is not signed but ReaderGroup requires signature"); + retval = UA_STATUSCODE_BADSECURITYMODEREJECTED; + } + } + return retval; +} + +UA_StatusCode +verifyAndDecrypt(const UA_Logger *logger, UA_ByteString *buffer, + const size_t *currentPosition, const UA_NetworkMessage *nm, + UA_Boolean doValidate, UA_Boolean doDecrypt, void *channelContext, + UA_PubSubSecurityPolicy *securityPolicy) { + UA_StatusCode rv = UA_STATUSCODE_GOOD; + + if(doValidate) { + size_t sigSize = securityPolicy->symmetricModule.cryptoModule. + signatureAlgorithm.getLocalSignatureSize(channelContext); + UA_ByteString toBeVerified = {buffer->length - sigSize, buffer->data}; + UA_ByteString signature = {sigSize, buffer->data + buffer->length - sigSize}; + + rv = securityPolicy->symmetricModule.cryptoModule.signatureAlgorithm. + verify(channelContext, &toBeVerified, &signature); + UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. Signature invalid"); + + UA_LOG_DEBUG(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. Signature valid"); + buffer->length -= sigSize; + } + + if(doDecrypt) { + const UA_ByteString nonce = { + (size_t)nm->securityHeader.messageNonceSize, + (UA_Byte*)(uintptr_t)nm->securityHeader.messageNonce + }; + rv = securityPolicy->setMessageNonce(channelContext, &nonce); + UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. Faulty Nonce set"); + + UA_ByteString toBeDecrypted = {buffer->length - *currentPosition, + buffer->data + *currentPosition}; + rv = securityPolicy->symmetricModule.cryptoModule + .encryptionAlgorithm.decrypt(channelContext, &toBeDecrypted); + UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. Faulty Decryption"); + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +verifyAndDecryptNetworkMessage(const UA_Logger *logger, UA_ByteString *buffer, + size_t *currentPosition, UA_NetworkMessage *nm, + UA_ReaderGroup *readerGroup) { + UA_MessageSecurityMode securityMode = readerGroup->config.securityMode; + UA_Boolean doValidate = false; + UA_Boolean doDecrypt = false; + + UA_StatusCode rv = UA_STATUSCODE_GOOD; + rv = needsValidation(logger, nm, securityMode, &doValidate); + UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. Validation security mode error"); + + rv = needsDecryption(logger, nm, securityMode, &doDecrypt); + UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, + "PubSub receive. Decryption security mode error"); + + if(doValidate || doDecrypt) { + void *channelContext = readerGroup->securityPolicyContext; + UA_PubSubSecurityPolicy *securityPolicy = readerGroup->config.securityPolicy; + UA_CHECK_MEM_ERROR(channelContext, return UA_STATUSCODE_BADINVALIDARGUMENT, + logger, UA_LOGCATEGORY_SERVER, + "PubSub receive. securityPolicyContext must be initialized " + "when security mode is enabled to sign and/or encrypt"); + UA_CHECK_MEM_ERROR(securityPolicy, return UA_STATUSCODE_BADINVALIDARGUMENT, + logger, UA_LOGCATEGORY_SERVER, + "PubSub receive. securityPolicy must be set when security mode" + "is enabled to sign and/or encrypt"); + + rv = verifyAndDecrypt(logger, buffer, currentPosition, nm, + doValidate, doDecrypt, channelContext, securityPolicy); + + UA_CHECK_STATUS_ERROR(rv, return rv, logger, UA_LOGCATEGORY_SERVER, + "PubSub receive. verify and decrypt failed"); + } + + return rv; +} + +/**** amalgamated original file "/src/pubsub/ua_pubsub_networkmessage_json.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2019 Fraunhofer IOSB (Author: Lukas Meling) + */ + + + +/* Json keys for dsm */ +const char * UA_DECODEKEY_MESSAGES = "Messages"; +const char * UA_DECODEKEY_MESSAGETYPE = "MessageType"; +const char * UA_DECODEKEY_MESSAGEID = "MessageId"; +const char * UA_DECODEKEY_PUBLISHERID = "PublisherId"; +const char * UA_DECODEKEY_DATASETCLASSID = "DataSetClassId"; + +/* Json keys for dsm */ +const char * UA_DECODEKEY_DATASETWRITERID = "DataSetWriterId"; +const char * UA_DECODEKEY_SEQUENCENUMBER = "SequenceNumber"; +const char * UA_DECODEKEY_METADATAVERSION = "MetaDataVersion"; +const char * UA_DECODEKEY_TIMESTAMP = "Timestamp"; +const char * UA_DECODEKEY_DSM_STATUS = "Status"; +const char * UA_DECODEKEY_PAYLOAD = "Payload"; +const char * UA_DECODEKEY_DS_TYPE = "Type"; + +/* -- json encoding/decoding -- */ +static UA_StatusCode writeJsonKey_UA_String(CtxJson *ctx, UA_String *in) { + UA_STACKARRAY(char, out, in->length + 1); + memcpy(out, in->data, in->length); + out[in->length] = 0; + return writeJsonKey(ctx, out); +} + +static UA_StatusCode +UA_DataSetMessage_encodeJson_internal(const UA_DataSetMessage* src, + UA_UInt16 dataSetWriterId, + CtxJson *ctx) { + status rv = writeJsonObjStart(ctx); + + /* DataSetWriterId */ + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_DATASETWRITERID, + &dataSetWriterId, &UA_TYPES[UA_TYPES_UINT16]); + if(rv != UA_STATUSCODE_GOOD) + return rv; + + /* DataSetMessageSequenceNr */ + if(src->header.dataSetMessageSequenceNrEnabled) { + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_SEQUENCENUMBER, + &src->header.dataSetMessageSequenceNr, + &UA_TYPES[UA_TYPES_UINT16]); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + + /* MetaDataVersion */ + if(src->header.configVersionMajorVersionEnabled || + src->header.configVersionMinorVersionEnabled) { + UA_ConfigurationVersionDataType cvd; + cvd.majorVersion = src->header.configVersionMajorVersion; + cvd.minorVersion = src->header.configVersionMinorVersion; + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_METADATAVERSION, &cvd, + &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + + /* Timestamp */ + if(src->header.timestampEnabled) { + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_TIMESTAMP, &src->header.timestamp, + &UA_TYPES[UA_TYPES_DATETIME]); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + + /* Status */ + if(src->header.statusEnabled) { + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_DSM_STATUS, + &src->header.status, &UA_TYPES[UA_TYPES_UINT16]); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + + rv |= writeJsonKey(ctx, UA_DECODEKEY_PAYLOAD); + rv |= writeJsonObjStart(ctx); + + /* TODO: currently no difference between delta and key frames. Own + * dataSetMessageType for json?. If the field names are not defined, write + * out empty field names. */ + if(src->header.dataSetMessageType != UA_DATASETMESSAGE_DATAKEYFRAME) + return UA_STATUSCODE_BADNOTSUPPORTED; /* Delta frames not supported */ + + if(src->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { + /* KEYFRAME VARIANT */ + for(UA_UInt16 i = 0; i < src->data.keyFrameData.fieldCount; i++) { + if(src->data.keyFrameData.fieldNames) + rv |= writeJsonKey_UA_String(ctx, &src->data.keyFrameData.fieldNames[i]); + else + rv |= writeJsonKey(ctx, ""); + rv |= encodeJsonJumpTable[UA_DATATYPEKIND_VARIANT] + (ctx, &src->data.keyFrameData.dataSetFields[i].value, NULL); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + } else if(src->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { + /* KEYFRAME DATAVALUE */ + for(UA_UInt16 i = 0; i < src->data.keyFrameData.fieldCount; i++) { + if(src->data.keyFrameData.fieldNames) + rv |= writeJsonKey_UA_String(ctx, &src->data.keyFrameData.fieldNames[i]); + else + rv |= writeJsonKey(ctx, ""); + rv |= encodeJsonJumpTable[UA_DATATYPEKIND_DATAVALUE] + (ctx, &src->data.keyFrameData.dataSetFields[i], NULL); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + } else { + /* RawData */ + return UA_STATUSCODE_BADNOTIMPLEMENTED; + } + rv |= writeJsonObjEnd(ctx); /* Payload */ + rv |= writeJsonObjEnd(ctx); /* DataSetMessage */ + return rv; +} + +static UA_StatusCode +UA_NetworkMessage_encodeJson_internal(const UA_NetworkMessage* src, CtxJson *ctx) { + status rv = UA_STATUSCODE_GOOD; + const UA_DataType *publisherIdType; + /* currently only ua-data is supported, no discovery message implemented */ + if(src->networkMessageType != UA_NETWORKMESSAGE_DATASET) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + writeJsonObjStart(ctx); + + /* Table 91 – JSON NetworkMessage Definition + * MessageId | String | A globally unique identifier for the message. + * This value is mandatory. But we don't check uniqueness in the + * encoding layer. */ + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_MESSAGEID, + &src->messageId, &UA_TYPES[UA_TYPES_STRING]); + + /* MessageType */ + UA_String s = UA_STRING("ua-data"); + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_MESSAGETYPE, + &s, &UA_TYPES[UA_TYPES_STRING]); + + /* PublisherId */ + if(src->publisherIdEnabled) { + rv = writeJsonKey(ctx, UA_DECODEKEY_PUBLISHERID); + switch (src->publisherIdType) { + case UA_PUBLISHERIDTYPE_BYTE: + publisherIdType = &UA_TYPES[UA_TYPES_BYTE]; + break; + case UA_PUBLISHERIDTYPE_UINT16: + publisherIdType = &UA_TYPES[UA_TYPES_UINT16]; + break; + case UA_PUBLISHERIDTYPE_UINT32: + publisherIdType = &UA_TYPES[UA_TYPES_UINT32]; + break; + case UA_PUBLISHERIDTYPE_UINT64: + publisherIdType = &UA_TYPES[UA_TYPES_UINT64]; + break; + case UA_PUBLISHERIDTYPE_STRING: + publisherIdType = &UA_TYPES[UA_TYPES_STRING]; + break; + } + rv |= encodeJsonJumpTable[publisherIdType->typeKind] + (ctx, &src->publisherId, publisherIdType); + } + if(rv != UA_STATUSCODE_GOOD) + return rv; + + /* DataSetClassId */ + if(src->dataSetClassIdEnabled) { + rv |= writeJsonObjElm(ctx, UA_DECODEKEY_DATASETCLASSID, + &src->dataSetClassId, &UA_TYPES[UA_TYPES_GUID]); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + + /* Payload: DataSetMessages */ + UA_Byte count = src->payloadHeader.dataSetPayloadHeader.count; + if(count > 0) { + UA_UInt16 *dataSetWriterIds = + src->payloadHeader.dataSetPayloadHeader.dataSetWriterIds; + if(!dataSetWriterIds) + return UA_STATUSCODE_BADENCODINGERROR; + + rv |= writeJsonKey(ctx, UA_DECODEKEY_MESSAGES); + rv |= writeJsonArrStart(ctx); /* start array */ + + const UA_DataSetMessage *dataSetMessages = + src->payload.dataSetPayload.dataSetMessages; + for(UA_UInt16 i = 0; i < count; i++) { + rv |= writeJsonBeforeElement(ctx, true); + rv |= UA_DataSetMessage_encodeJson_internal(&dataSetMessages[i], + dataSetWriterIds[i], ctx); + if(rv != UA_STATUSCODE_GOOD) + return rv; + /* comma is needed if more dsm are present */ + ctx->commaNeeded[ctx->depth] = true; + } + rv |= writeJsonArrEnd(ctx); /* end array */ + } + + rv |= writeJsonObjEnd(ctx); + return rv; +} + +UA_StatusCode +UA_NetworkMessage_encodeJson(const UA_NetworkMessage *src, + UA_Byte **bufPos, const UA_Byte **bufEnd, + UA_String *namespaces, size_t namespaceSize, + UA_String *serverUris, size_t serverUriSize, + UA_Boolean useReversible) { + /* Set up the context */ + CtxJson ctx; + memset(&ctx, 0, sizeof(ctx)); + ctx.pos = *bufPos; + ctx.end = *bufEnd; + ctx.depth = 0; + ctx.namespaces = namespaces; + ctx.namespacesSize = namespaceSize; + ctx.serverUris = serverUris; + ctx.serverUrisSize = serverUriSize; + ctx.useReversible = useReversible; + ctx.calcOnly = false; + + status ret = UA_NetworkMessage_encodeJson_internal(src, &ctx); + + *bufPos = ctx.pos; + *bufEnd = ctx.end; + return ret; +} + +size_t +UA_NetworkMessage_calcSizeJson(const UA_NetworkMessage *src, + UA_String *namespaces, size_t namespaceSize, + UA_String *serverUris, size_t serverUriSize, + UA_Boolean useReversible){ + /* Set up the context */ + CtxJson ctx; + memset(&ctx, 0, sizeof(ctx)); + ctx.pos = 0; + ctx.end = (const UA_Byte*)(uintptr_t)SIZE_MAX; + ctx.depth = 0; + ctx.namespaces = namespaces; + ctx.namespacesSize = namespaceSize; + ctx.serverUris = serverUris; + ctx.serverUrisSize = serverUriSize; + ctx.useReversible = useReversible; + ctx.calcOnly = true; + + status ret = UA_NetworkMessage_encodeJson_internal(src, &ctx); + if(ret != UA_STATUSCODE_GOOD) + return 0; + return (size_t)ctx.pos; +} + +/* decode json */ +static status +MetaDataVersion_decodeJsonInternal(ParseCtx *ctx, void* cvd, const UA_DataType *type) { + return decodeJsonJumpTable[UA_DATATYPEKIND_STRUCTURE] + (ctx, cvd, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); +} + +static status +DataSetPayload_decodeJsonInternal(ParseCtx *ctx, void* dsmP, const UA_DataType *type) { + UA_DataSetMessage* dsm = (UA_DataSetMessage*)dsmP; + dsm->header.dataSetMessageValid = true; + if(currentTokenType(ctx) == CJ5_TOKEN_NULL) { + ctx->index++; + return UA_STATUSCODE_GOOD; + } + + if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) + return UA_STATUSCODE_BADDECODINGERROR; + + /* The number of key-value pairs */ + UA_assert(ctx->tokens[ctx->index].size % 2 == 0); + size_t length = (size_t)(ctx->tokens[ctx->index].size) / 2; + + UA_String *fieldNames = (UA_String*)UA_calloc(length, sizeof(UA_String)); + if(!fieldNames) + return UA_STATUSCODE_BADOUTOFMEMORY; + dsm->data.keyFrameData.fieldNames = fieldNames; + dsm->data.keyFrameData.fieldCount = (UA_UInt16)length; + + dsm->data.keyFrameData.dataSetFields = (UA_DataValue *) + UA_Array_new(dsm->data.keyFrameData.fieldCount, &UA_TYPES[UA_TYPES_DATAVALUE]); + if(!dsm->data.keyFrameData.dataSetFields) + return UA_STATUSCODE_BADOUTOFMEMORY; + + ctx->index++; /* Go to the first key */ + + /* Iterate over the key/value pairs in the object. Keys are stored in fieldnames. */ + status ret = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < length; ++i) { + UA_assert(currentTokenType(ctx) == CJ5_TOKEN_STRING); + ret = decodeJsonJumpTable[UA_DATATYPEKIND_STRING](ctx, &fieldNames[i], type); + if(ret != UA_STATUSCODE_GOOD) + return ret; + + /* TODO: Is field value a variant or datavalue? Current check if type and body present. */ + size_t searchResult = 0; + status foundType = lookAheadForKey(ctx, "Type", &searchResult); + status foundBody = lookAheadForKey(ctx, "Body", &searchResult); + if(foundType == UA_STATUSCODE_GOOD && foundBody == UA_STATUSCODE_GOOD) { + dsm->header.fieldEncoding = UA_FIELDENCODING_VARIANT; + ret = decodeJsonJumpTable[UA_DATATYPEKIND_VARIANT] + (ctx, &dsm->data.keyFrameData.dataSetFields[i].value, type); + dsm->data.keyFrameData.dataSetFields[i].hasValue = true; + } else { + dsm->header.fieldEncoding = UA_FIELDENCODING_DATAVALUE; + ret = decodeJsonJumpTable[UA_DATATYPEKIND_DATAVALUE] + (ctx, &dsm->data.keyFrameData.dataSetFields[i], type); + dsm->data.keyFrameData.dataSetFields[i].hasValue = true; + } + + if(ret != UA_STATUSCODE_GOOD) + return ret; + } + + return ret; +} + +static status +DatasetMessage_Payload_decodeJsonInternal(ParseCtx *ctx, UA_DataSetMessage* dsm, + const UA_DataType *type) { + UA_ConfigurationVersionDataType cvd; + UA_UInt16 dataSetWriterId; + + dsm->header.fieldEncoding = UA_FIELDENCODING_DATAVALUE; + + DecodeEntry entries[6] = { + {UA_DECODEKEY_DATASETWRITERID, &dataSetWriterId, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, + {UA_DECODEKEY_SEQUENCENUMBER, &dsm->header.dataSetMessageSequenceNr, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, + {UA_DECODEKEY_METADATAVERSION, &cvd, &MetaDataVersion_decodeJsonInternal, false, NULL}, + {UA_DECODEKEY_TIMESTAMP, &dsm->header.timestamp, NULL, false, &UA_TYPES[UA_TYPES_DATETIME]}, + {UA_DECODEKEY_DSM_STATUS, &dsm->header.status, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, + {UA_DECODEKEY_PAYLOAD, dsm, &DataSetPayload_decodeJsonInternal, false, NULL} + }; + status ret = decodeFields(ctx, entries, 6); + + /* Error or no DatasetWriterId found or no payload found */ + if(ret != UA_STATUSCODE_GOOD || !entries[0].found || !entries[5].found) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Set the DatasetWriterId in the context */ + if(!ctx->custom) + return UA_STATUSCODE_BADDECODINGERROR; + if(ctx->currentCustomIndex >= ctx->numCustom) + return UA_STATUSCODE_BADDECODINGERROR; + UA_UInt16* dataSetWriterIdsArray = (UA_UInt16*)ctx->custom; + dataSetWriterIdsArray[ctx->currentCustomIndex] = dataSetWriterId; + ctx->currentCustomIndex++; + + dsm->header.dataSetMessageSequenceNrEnabled = entries[1].found; + dsm->header.configVersionMajorVersion = cvd.majorVersion; + dsm->header.configVersionMinorVersion = cvd.minorVersion; + dsm->header.configVersionMajorVersionEnabled = entries[2].found; + dsm->header.configVersionMinorVersionEnabled = entries[2].found; + dsm->header.timestampEnabled = entries[3].found; + dsm->header.statusEnabled = entries[4].found; + + dsm->header.dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; + dsm->header.picoSecondsIncluded = false; + dsm->header.dataSetMessageValid = true; + dsm->header.fieldEncoding = UA_FIELDENCODING_VARIANT; + return UA_STATUSCODE_GOOD; +} + +static status +DatasetMessage_Array_decodeJsonInternal(ParseCtx *ctx, void *UA_RESTRICT dst, + const UA_DataType *type) { + /* Array! */ + if(currentTokenType(ctx) != CJ5_TOKEN_ARRAY) + return UA_STATUSCODE_BADDECODINGERROR; + size_t length = (size_t)ctx->tokens[ctx->index].size; + + /* Return early for empty arrays */ + if(length == 0) + return UA_STATUSCODE_GOOD; + + /* Allocate memory */ + UA_DataSetMessage *dsm = (UA_DataSetMessage*) + UA_calloc(length, sizeof(UA_DataSetMessage)); + if(!dsm) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Copy new Pointer do dest */ + memcpy(dst, &dsm, sizeof(void*)); + + /* We go to first Array member! */ + ctx->index++; + + status ret = UA_STATUSCODE_BADDECODINGERROR; + /* Decode array members */ + for(size_t i = 0; i < length; ++i) { + ret = DatasetMessage_Payload_decodeJsonInternal(ctx, &dsm[i], NULL); + if(ret != UA_STATUSCODE_GOOD) + return ret; + } + + return ret; +} + +static status +NetworkMessage_decodeJsonInternal(ParseCtx *ctx, UA_NetworkMessage *dst) { + memset(dst, 0, sizeof(UA_NetworkMessage)); + dst->chunkMessage = false; + dst->groupHeaderEnabled = false; + dst->payloadHeaderEnabled = false; + dst->picosecondsEnabled = false; + dst->promotedFieldsEnabled = false; + + /* Look forward for publisheId, if present check if type if primitve (Number) or String. */ + const UA_DataType *pubIdType = &UA_TYPES[UA_TYPES_STRING]; + size_t searchResultPublishIdType = 0; + status found = lookAheadForKey(ctx, UA_DECODEKEY_PUBLISHERID, &searchResultPublishIdType); + if(found == UA_STATUSCODE_GOOD) { + cj5_token *publishIdToken = &ctx->tokens[searchResultPublishIdType]; + if(publishIdToken->type == CJ5_TOKEN_NUMBER) { + // store in biggest possible. The problem is that with a UInt64 a + // string is expected in the json. Therefore, the maximum value is + // set to UInt32. + pubIdType = &UA_TYPES[UA_TYPES_UINT32]; + dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT32; + } else if(publishIdToken->type == CJ5_TOKEN_STRING) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_STRING; + } else { + return UA_STATUSCODE_BADDECODINGERROR; + } + } + + /* Is Messages an Array? How big? */ + size_t searchResultMessages = 0; + found = lookAheadForKey(ctx, UA_DECODEKEY_MESSAGES, &searchResultMessages); + if(found != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + const cj5_token *bodyToken = &ctx->tokens[searchResultMessages]; + if(bodyToken->type != CJ5_TOKEN_ARRAY) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + size_t messageCount = (size_t)ctx->tokens[searchResultMessages].size; + + /* Set up custom context for the dataSetwriterId */ + ctx->custom = (void*)UA_calloc(messageCount, sizeof(UA_UInt16)); + ctx->currentCustomIndex = 0; + ctx->numCustom = messageCount; + + /* MessageType */ + UA_Boolean isUaData = true; + size_t searchResultMessageType = 0; + found = lookAheadForKey(ctx, UA_DECODEKEY_MESSAGETYPE, &searchResultMessageType); + if(found != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADDECODINGERROR; + size_t size = getTokenLength(&ctx->tokens[searchResultMessageType]); + const char* msgType = &ctx->json5[ctx->tokens[searchResultMessageType].start]; + if(size == 7) { //ua-data + if(strncmp(msgType, "ua-data", size) != 0) + return UA_STATUSCODE_BADDECODINGERROR; + isUaData = true; + } else if(size == 11) { //ua-metadata + if(strncmp(msgType, "ua-metadata", size) != 0) + return UA_STATUSCODE_BADDECODINGERROR; + isUaData = false; + } else { + return UA_STATUSCODE_BADDECODINGERROR; + } + + //TODO: MetaData + if(!isUaData) + return UA_STATUSCODE_BADNOTIMPLEMENTED; + + /* Network Message */ + UA_String messageType; + DecodeEntry entries[5] = { + {UA_DECODEKEY_MESSAGEID, &dst->messageId, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, + {UA_DECODEKEY_MESSAGETYPE, &messageType, NULL, false, NULL}, + {UA_DECODEKEY_PUBLISHERID, &dst->publisherId, NULL, false, pubIdType}, + {UA_DECODEKEY_DATASETCLASSID, &dst->dataSetClassId, NULL, false, &UA_TYPES[UA_TYPES_GUID]}, + {UA_DECODEKEY_MESSAGES, &dst->payload.dataSetPayload.dataSetMessages, &DatasetMessage_Array_decodeJsonInternal, false, NULL} + }; + + status ret = decodeFields(ctx, entries, 5); + if(ret != UA_STATUSCODE_GOOD) + return ret; + + dst->messageIdEnabled = entries[0].found; + dst->publisherIdEnabled = entries[2].found; + if(dst->publisherIdEnabled) { + if(pubIdType == &UA_TYPES[UA_TYPES_UINT32]) { + dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT32; + } else { + dst->publisherIdType = UA_PUBLISHERIDTYPE_STRING; + } + } + dst->dataSetClassIdEnabled = entries[3].found; + dst->payloadHeaderEnabled = true; + dst->payloadHeader.dataSetPayloadHeader.count = (UA_Byte)messageCount; + + /* Set the dataSetWriterIds. They are filled in the dataSet decoding. */ + dst->payloadHeader.dataSetPayloadHeader.dataSetWriterIds = (UA_UInt16*)ctx->custom; + return ret; +} + +status +UA_NetworkMessage_decodeJson(UA_NetworkMessage *dst, const UA_ByteString *src) { + /* Set up the context */ + cj5_token tokens[UA_JSON_MAXTOKENCOUNT]; + ParseCtx ctx; + memset(&ctx, 0, sizeof(ParseCtx)); + ctx.tokens = tokens; + status ret = tokenize(&ctx, src, UA_JSON_MAXTOKENCOUNT); + if(ret != UA_STATUSCODE_GOOD) + goto cleanup; + + ret = NetworkMessage_decodeJsonInternal(&ctx, dst); + + cleanup: + /* Free token array on the heap */ + if(ctx.tokens != tokens) + UA_free((void*)(uintptr_t)ctx.tokens); + return ret; +} + +/**** amalgamated original file "/deps/cj5.c" ****/ + +// MIT License +// +// Copyright (c) 2020 Sepehr Taghdisian +// Copyright (c) 2022 Julius Pfrommer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + + +#include +#include +#include + +#if defined(_MSC_VER) +# define CJ5_INLINE __inline +#else +# define CJ5_INLINE inline +#endif + +/* vs2008 does not have INFINITY and NAN defined */ +#ifndef INFINITY +# define INFINITY ((double)(DBL_MAX+DBL_MAX)) +#endif +#ifndef NAN +# define NAN ((double)(INFINITY-INFINITY)) +#endif + +#if defined(_MSC_VER) +# pragma warning(disable: 4056) +# pragma warning(disable: 4756) +#endif + +/* Max nesting depth of objects and arrays */ +#define CJ5_MAX_NESTING 32 + +#define CJ5__FOURCC(_a, _b, _c, _d) \ + (((uint32_t)(_a) | ((uint32_t)(_b) << 8) | \ + ((uint32_t)(_c) << 16) | ((uint32_t)(_d) << 24))) + +static const uint32_t CJ5__NULL_FOURCC = CJ5__FOURCC('n', 'u', 'l', 'l'); +static const uint32_t CJ5__TRUE_FOURCC = CJ5__FOURCC('t', 'r', 'u', 'e'); +static const uint32_t CJ5__FALSE_FOURCC = CJ5__FOURCC('f', 'a', 'l', 's'); + +typedef struct { + unsigned int pos; + unsigned int line_start; + unsigned int line; + cj5_error_code error; + + const char *json5; + unsigned int len; + + unsigned int curr_tok_idx; + + cj5_token *tokens; + unsigned int token_count; + unsigned int max_tokens; + + bool stop_early; +} cj5__parser; + +static CJ5_INLINE bool +cj5__isrange(char ch, char from, char to) { + return (uint8_t)(ch - from) <= (uint8_t)(to - from); +} + +#define cj5__isupperchar(ch) cj5__isrange(ch, 'A', 'Z') +#define cj5__islowerchar(ch) cj5__isrange(ch, 'a', 'z') +#define cj5__isnum(ch) cj5__isrange(ch, '0', '9') + +static cj5_token * +cj5__alloc_token(cj5__parser *parser) { + cj5_token* token = NULL; + if(parser->token_count < parser->max_tokens) { + token = &parser->tokens[parser->token_count]; + memset(token, 0x0, sizeof(cj5_token)); + } else { + parser->error = CJ5_ERROR_OVERFLOW; + } + + // Always increase the index. So we know eventually how many token would be + // required (if there are not enough). + parser->token_count++; + return token; +} + +static void +cj5__parse_string(cj5__parser *parser) { + const char *json5 = parser->json5; + unsigned int len = parser->len; + unsigned int start = parser->pos; + char str_open = json5[start]; + + parser->pos++; + for(; parser->pos < len; parser->pos++) { + char c = json5[parser->pos]; + + // End of string + if(str_open == c) { + cj5_token *token = cj5__alloc_token(parser); + if(token) { + token->type = CJ5_TOKEN_STRING; + token->start = start + 1; + token->end = parser->pos - 1; + token->size = token->end - token->start + 1; + token->parent_id = parser->curr_tok_idx; + } + return; + } + + // Unescaped newlines are forbidden + if(c == '\n') { + parser->error = CJ5_ERROR_INVALID; + return; + } + + // Escape char + if(c == '\\') { + if(parser->pos + 1 >= len) { + parser->error = CJ5_ERROR_INCOMPLETE; + return; + } + parser->pos++; + switch(json5[parser->pos]) { + case '\"': + case '/': + case '\\': + case 'b': + case 'f': + case 'r': + case 'n': + case 't': + break; + case 'u': // The next four characters are an utf8 code + parser->pos++; + if(parser->pos + 4 >= len) { + parser->error = CJ5_ERROR_INVALID; + return; + } + for(unsigned int i = 0; i < 4; i++) { + // If it isn't a hex character we have an error + if(!(json5[parser->pos] >= 48 && json5[parser->pos] <= 57) && /* 0-9 */ + !(json5[parser->pos] >= 65 && json5[parser->pos] <= 70) && /* A-F */ + !(json5[parser->pos] >= 97 && json5[parser->pos] <= 102)) /* a-f */ + { + parser->error = CJ5_ERROR_INVALID; + return; + } + parser->pos++; + } + parser->pos--; + break; + case '\n': // Escape break line + parser->line++; + parser->line_start = parser->pos; + break; + default: + parser->error = CJ5_ERROR_INVALID; + return; + } + } + } + + // The file has ended before the string terminates + parser->error = CJ5_ERROR_INCOMPLETE; +} + +// parser->pos is advanced a last time in the next iteration of the main +// parse-loop. So we leave parse-primitive in a state where parse->pos points to +// the last character of the primitive value (or the quote-character of the +// string). +static void +cj5__parse_primitive(cj5__parser* parser) { + const char* json5 = parser->json5; + unsigned int len = parser->len; + unsigned int start = parser->pos; + + // String value + if(json5[start] == '\"' || + json5[start] == '\'') { + cj5__parse_string(parser); + return; + } + + // Fast comparison of bool, and null. + // We have to use memcpy here or we can get unaligned accesses + uint32_t fourcc = 0; + if(start + 4 < len) + memcpy(&fourcc, &json5[start], 4); + + cj5_token_type type; + if(fourcc == CJ5__NULL_FOURCC) { + type = CJ5_TOKEN_NULL; + parser->pos += 3; + } else if(fourcc == CJ5__TRUE_FOURCC) { + type = CJ5_TOKEN_BOOL; + parser->pos += 3; + } else if(fourcc == CJ5__FALSE_FOURCC) { + // "false" has five characters + type = CJ5_TOKEN_BOOL; + if(start + 4 >= len || json5[start+4] != 'e') { + parser->error = CJ5_ERROR_INVALID; + return; + } + parser->pos += 4; + } else { + // Numbers are checked for basic compatibility. + // But they are fully parsed only in the cj5_get_XXX functions. + type = CJ5_TOKEN_NUMBER; + for(; parser->pos < len; parser->pos++) { + if(!cj5__isnum(json5[parser->pos]) && + !(json5[parser->pos] == '.') && + !cj5__islowerchar(json5[parser->pos]) && + !cj5__isupperchar(json5[parser->pos]) && + !(json5[parser->pos] == '+') && !(json5[parser->pos] == '-')) { + break; + } + } + parser->pos--; // Point to the last character that is still inside the + // primitive value + } + + cj5_token *token = cj5__alloc_token(parser); + if(token) { + token->type = type; + token->start = start; + token->end = parser->pos; + token->size = parser->pos - start + 1; + token->parent_id = parser->curr_tok_idx; + } +} + +static void +cj5__parse_key(cj5__parser* parser) { + const char* json5 = parser->json5; + unsigned int start = parser->pos; + cj5_token* token; + + // Key is a a normal string + if(json5[start] == '\"' || json5[start] == '\'') { + cj5__parse_string(parser); + return; + } + + // An unquoted key. Must start with a-ZA-Z_$. Can contain numbers later on. + unsigned int len = parser->len; + for(; parser->pos < len; parser->pos++) { + if(cj5__islowerchar(json5[parser->pos]) || + cj5__isupperchar(json5[parser->pos]) || + json5[parser->pos] == '_' || json5[parser->pos] == '$') + continue; + if(cj5__isnum(json5[parser->pos]) && parser->pos != start) + continue; + break; + } + + // An empty key is not allowed + if(parser->pos <= start) { + parser->error = CJ5_ERROR_INVALID; + return; + } + + // Move pos to the last character within the unquoted key + parser->pos--; + + token = cj5__alloc_token(parser); + if(token) { + token->type = CJ5_TOKEN_STRING; + token->start = start; + token->end = parser->pos; + token->size = parser->pos - start + 1; + token->parent_id = parser->curr_tok_idx; + } +} + +static void +cj5__skip_comment(cj5__parser* parser) { + const char* json5 = parser->json5; + + // Single-line comment + if(json5[parser->pos] == '#') { + skip_line: + while(parser->pos < parser->len) { + if(json5[parser->pos] == '\n') { + parser->pos--; // Reparse the newline in the main parse loop + return; + } + parser->pos++; + } + return; + } + + // Comment begins with '/' but not enough space for another character + if(parser->pos + 1 >= parser->len) { + parser->error = CJ5_ERROR_INVALID; + return; + } + parser->pos++; + + // Comment begins with '//' -> single-line comment + if(json5[parser->pos] == '/') + goto skip_line; + + // Multi-line comments begin with '/*' and end with '*/' + if(json5[parser->pos] == '*') { + parser->pos++; + for(; parser->pos + 1 < parser->len; parser->pos++) { + if(json5[parser->pos] == '*' && json5[parser->pos + 1] == '/') { + parser->pos++; + return; + } + // Remember we passed a newline + if(json5[parser->pos] == '\n') { + parser->line++; + parser->line_start = parser->pos; + } + } + } + + // Unknown comment type or the multi-line comment is not terminated + parser->error = CJ5_ERROR_INCOMPLETE; +} + +cj5_result +cj5_parse(const char *json5, unsigned int len, + cj5_token *tokens, unsigned int max_tokens, + cj5_options *options) { + cj5_result r; + cj5__parser parser; + memset(&parser, 0x0, sizeof(parser)); + parser.curr_tok_idx = 0; + parser.json5 = json5; + parser.len = len; + parser.tokens = tokens; + parser.max_tokens = max_tokens; + + if(options) + parser.stop_early = options->stop_early; + + unsigned short depth = 0; // Nesting depth zero means "outside the root object" + char nesting[CJ5_MAX_NESTING]; // Contains either '\0', '{' or '[' for the + // type of nesting at each depth. '\0' + // indicates we are out of the root object. + char next[CJ5_MAX_NESTING]; // Next content to parse: 'k' (key), ':', 'v' + // (value) or ',' (comma). + next[0] = 'v'; // The root is a "value" (object, array or primitive). If we + // detect a colon after the first value then everything is + // wrapped into a "virtual root object" and the parsing is + // restarted. + nesting[0] = 0; // Becomes '{' if there is a virtual root object + + cj5_token *token = NULL; // The current token + + start_parsing: + for(; parser.pos < len; parser.pos++) { + char c = json5[parser.pos]; + switch(c) { + case '\n': // Skip newline + parser.line++; + parser.line_start = parser.pos; + break; + + case '\r': // Skip whitespace + case '\t': + case ' ': + break; + + case '#': // Skip comment + case '/': + cj5__skip_comment(&parser); + if(parser.error != CJ5_ERROR_NONE && + parser.error != CJ5_ERROR_OVERFLOW) + goto finish; + break; + + case '{': // Open an object or array + case '[': + // Check the nesting depth + if(depth + 1 >= CJ5_MAX_NESTING) { + parser.error = CJ5_ERROR_INVALID; + goto finish; + } + + // Correct next? + if(next[depth] != 'v') { + parser.error = CJ5_ERROR_INVALID; + goto finish; + } + + depth++; // Increase the nesting depth + nesting[depth] = c; // Set the nesting type + next[depth] = (c == '{') ? 'k' : 'v'; // next is either a key or a value + + // Create a token for the object or array + token = cj5__alloc_token(&parser); + if(token) { + token->parent_id = parser.curr_tok_idx; + token->type = (c == '{') ? CJ5_TOKEN_OBJECT : CJ5_TOKEN_ARRAY; + token->start = parser.pos; + token->size = 0; + parser.curr_tok_idx = parser.token_count - 1; // The new curr_tok_idx + // is for this token + } + break; + + case '}': // Close an object or array + case ']': + // Check the nesting depth. Note that a "virtual root object" at + // depth zero must not be closed. + if(depth == 0) { + parser.error = CJ5_ERROR_INVALID; + goto finish; + } + + // Check and adjust the nesting. Note that ']' - '[' == 2 and '}' - + // '{' == 2. Arrays can always be closed. Objects can only close + // when a key or a comma is expected. + if(c - nesting[depth] != 2 || + (c == '}' && next[depth] != 'k' && next[depth] != ',')) { + parser.error = CJ5_ERROR_INVALID; + goto finish; + } + + if(token) { + // Finalize the current token + token->end = parser.pos; + + // Move to the parent and increase the parent size. Omit this + // when we leave the root (parent the same as the current + // token). + if(parser.curr_tok_idx != token->parent_id) { + parser.curr_tok_idx = token->parent_id; + token = &tokens[token->parent_id]; + token->size++; + } + } + + // Step one level up + depth--; + next[depth] = (depth == 0) ? 0 : ','; // zero if we step out the root + // object. then we do not look for + // another element. + + // The first element was successfully parsed. Stop early or try to + // parse the full input string? + if(depth == 0 && parser.stop_early) + goto finish; + + break; + + case ':': // Colon (between key and value) + if(next[depth] != ':') { + parser.error = CJ5_ERROR_INVALID; + goto finish; + } + next[depth] = 'v'; + break; + + case ',': // Comma + if(next[depth] != ',') { + parser.error = CJ5_ERROR_INVALID; + goto finish; + } + next[depth] = (nesting[depth] == '{') ? 'k' : 'v'; + break; + + default: // Value or key + if(next[depth] == 'v') { + cj5__parse_primitive(&parser); // Parse primitive value + if(nesting[depth] != 0) { + // Parent is object or array + if(token) + token->size++; + next[depth] = ','; + } else { + // The current value was the root element. Don't look for + // any next element. + next[depth] = 0; + + // The first element was successfully parsed. Stop early or try to + // parse the full input string? + if(parser.stop_early) + goto finish; + } + } else if(next[depth] == 'k') { + cj5__parse_key(&parser); + if(token) + token->size++; // Keys count towards the length + next[depth] = ':'; + } else { + parser.error = CJ5_ERROR_INVALID; + } + + if(parser.error && parser.error != CJ5_ERROR_OVERFLOW) + goto finish; + + break; + } + } + + // Are we back to the initial nesting depth? + if(depth != 0) { + parser.error = CJ5_ERROR_INCOMPLETE; + goto finish; + } + + // Close the virtual root object if there is one + if(nesting[0] == '{' && parser.error != CJ5_ERROR_OVERFLOW) { + // Check the we end after a complete key-value pair (or dangling comma) + if(next[0] != 'k' && next[0] != ',') + parser.error = CJ5_ERROR_INVALID; + tokens[0].end = parser.pos - 1; + } + + finish: + // If parsing failed at the initial nesting depth, create a virtual root object + // and restart parsing. + if(parser.error != CJ5_ERROR_NONE && + parser.error != CJ5_ERROR_OVERFLOW && + depth == 0 && nesting[0] != '{') { + parser.token_count = 0; + token = cj5__alloc_token(&parser); + if(token) { + token->parent_id = 0; + token->type = CJ5_TOKEN_OBJECT; + token->start = 0; + token->size = 0; + + nesting[0] = '{'; + next[0] = 'k'; + + parser.curr_tok_idx = 0; + parser.pos = 0; + parser.error = CJ5_ERROR_NONE; + goto start_parsing; + } + } + + memset(&r, 0x0, sizeof(r)); + r.error = parser.error; + r.error_line = parser.line; + r.error_col = parser.pos - parser.line_start; + r.num_tokens = parser.token_count; // How many tokens (would) have been + // consumed by the parser? + + // Not a single token was parsed -> return an error + if(r.num_tokens == 0) + r.error = CJ5_ERROR_INCOMPLETE; + + // Set the tokens and original string only if successfully parsed + if(r.error == CJ5_ERROR_NONE) { + r.tokens = tokens; + r.json5 = json5; + } + + return r; +} + +cj5_error_code +cj5_get_bool(const cj5_result *r, unsigned int tok_index, bool *out) { + const cj5_token *token = &r->tokens[tok_index]; + if(token->type != CJ5_TOKEN_BOOL) + return CJ5_ERROR_INVALID; + *out = (r->json5[token->start] == 't'); + return CJ5_ERROR_NONE; +} + +cj5_error_code +cj5_get_float(const cj5_result *r, unsigned int tok_index, double *out) { + const cj5_token *token = &r->tokens[tok_index]; + if(token->type != CJ5_TOKEN_NUMBER) + return CJ5_ERROR_INVALID; + + const char *tokstr = &r->json5[token->start]; + size_t toksize = token->end - token->start + 1; + if(toksize == 0) + return CJ5_ERROR_INVALID; + + // Skip prefixed +/- + bool neg = false; + if(tokstr[0] == '+' || tokstr[0] == '-') { + neg = (tokstr[0] == '-'); + tokstr++; + toksize--; + } + + // Detect prefixed inf/nan + if(strncmp(tokstr, "Infinity", toksize) == 0) { + *out = neg ? -INFINITY : INFINITY; + return CJ5_ERROR_NONE; + } else if(strncmp(tokstr, "NaN", toksize) == 0) { + *out = NAN; + return CJ5_ERROR_NONE; + } + + // reset the +/- detection and parse + tokstr = &r->json5[token->start]; + toksize = token->end - token->start + 1; + size_t parsed = parseDouble(tokstr, toksize, out); + + // There must only be whitespace between the end of the parsed number and + // the end of the token + for(size_t i = parsed; i < toksize; i++) { + if(tokstr[i] != ' ' && tokstr[i] -'\t' >= 5) + return CJ5_ERROR_INVALID; + } + + return (parsed != 0) ? CJ5_ERROR_NONE : CJ5_ERROR_INVALID; +} + +cj5_error_code +cj5_get_int(const cj5_result *r, unsigned int tok_index, + int64_t *out) { + const cj5_token *token = &r->tokens[tok_index]; + if(token->type != CJ5_TOKEN_NUMBER) + return CJ5_ERROR_INVALID; + size_t parsed = parseInt64(&r->json5[token->start], token->size, out); + return (parsed != 0) ? CJ5_ERROR_NONE : CJ5_ERROR_INVALID; +} + +cj5_error_code +cj5_get_uint(const cj5_result *r, unsigned int tok_index, + uint64_t *out) { + const cj5_token *token = &r->tokens[tok_index]; + if(token->type != CJ5_TOKEN_NUMBER) + return CJ5_ERROR_INVALID; + size_t parsed = parseUInt64(&r->json5[token->start], token->size, out); + return (parsed != 0) ? CJ5_ERROR_NONE : CJ5_ERROR_INVALID; +} + +static const uint32_t SURROGATE_OFFSET = 0x10000u - (0xD800u << 10) - 0xDC00; + +static cj5_error_code +parse_codepoint(const char *pos, uint32_t *out_utf) { + uint32_t utf = 0; + for(unsigned int i = 0; i < 4; i++) { + char byte = pos[i]; + if(cj5__isnum(byte)) { + byte = (char)(byte - '0'); + } else if(cj5__isrange(byte, 'a', 'f')) { + byte = (char)(byte - ('a' - 10)); + } else if(cj5__isrange(byte, 'A', 'F')) { + byte = (char)(byte - ('A' - 10)); + } else { + return CJ5_ERROR_INVALID; + } + utf = (utf << 4) | ((uint8_t)byte & 0xF); + } + *out_utf = utf; + return CJ5_ERROR_NONE; +} + +cj5_error_code +cj5_get_str(const cj5_result *r, unsigned int tok_index, + char *buf, unsigned int *buflen) { + const cj5_token *token = &r->tokens[tok_index]; + if(token->type != CJ5_TOKEN_STRING) + return CJ5_ERROR_INVALID; + + const char *pos = &r->json5[token->start]; + const char *end = &r->json5[token->end + 1]; + unsigned int outpos = 0; + for(; pos < end; pos++) { + uint8_t c = (uint8_t)*pos; + + // Process an escape character + if(c == '\\') { + if(pos + 1 >= end) + return CJ5_ERROR_INCOMPLETE; + pos++; + c = (uint8_t)*pos; + switch(c) { + case '\"': buf[outpos++] = '\"'; break; + case '\\': buf[outpos++] = '\\'; break; + case '\n': buf[outpos++] = '\n'; break; // escape newline + case '/': buf[outpos++] = '/'; break; + case 'b': buf[outpos++] = '\b'; break; + case 'f': buf[outpos++] = '\f'; break; + case 'r': buf[outpos++] = '\r'; break; + case 'n': buf[outpos++] = '\n'; break; + case 't': buf[outpos++] = '\t'; break; + case 'u': { + // Parse the unicode code point + if(pos + 4 >= end) + return CJ5_ERROR_INCOMPLETE; + pos++; + uint32_t utf; + cj5_error_code err = parse_codepoint(pos, &utf); + if(err != CJ5_ERROR_NONE) + return err; + pos += 3; + + if(0xD800 <= utf && utf <= 0xDBFF) { + // Parse a surrogate pair + if(pos + 6 >= end) + return CJ5_ERROR_INVALID; + if(pos[1] != '\\' && pos[3] != 'u') + return CJ5_ERROR_INVALID; + pos += 3; + uint32_t trail; + err = parse_codepoint(pos, &trail); + if(err != CJ5_ERROR_NONE) + return err; + pos += 3; + utf = (utf << 10) + trail + SURROGATE_OFFSET; + } else if(0xDC00 <= utf && utf <= 0xDFFF) { + // Invalid Unicode '\\u%04X' + return CJ5_ERROR_INVALID; + } + + // Write the utf8 bytes of the code point + if(utf <= 0x7F) { // Plain ASCII + buf[outpos++] = (char)utf; + } else if(utf <= 0x07FF) { // 2-byte unicode + buf[outpos++] = (char)(((utf >> 6) & 0x1F) | 0xC0); + buf[outpos++] = (char)(((utf >> 0) & 0x3F) | 0x80); + } else if(utf <= 0xFFFF) { // 3-byte unicode + buf[outpos++] = (char)(((utf >> 12) & 0x0F) | 0xE0); + buf[outpos++] = (char)(((utf >> 6) & 0x3F) | 0x80); + buf[outpos++] = (char)(((utf >> 0) & 0x3F) | 0x80); + } else if(utf <= 0x10FFFF) { // 4-byte unicode + buf[outpos++] = (char)(((utf >> 18) & 0x07) | 0xF0); + buf[outpos++] = (char)(((utf >> 12) & 0x3F) | 0x80); + buf[outpos++] = (char)(((utf >> 6) & 0x3F) | 0x80); + buf[outpos++] = (char)(((utf >> 0) & 0x3F) | 0x80); + } else { + return CJ5_ERROR_INVALID; // Not a utf8 string + } + break; + } + default: + return CJ5_ERROR_INVALID; + } + continue; + } + + // Unprintable ascii characters must be escaped. JSON5 allows nested + // quotes if the quote character is not the same as the surrounding + // quote character, e.g. 'this is my "quote"'. This logic is in the + // token parsing code and not in this "string extraction" method. + if(c < ' ' || c == 127) + return CJ5_ERROR_INVALID; + + // Ascii character or utf8 byte + buf[outpos++] = (char)c; + } + + // Terminate with \0 + buf[outpos] = 0; + + // Set the output length + if(buflen) + *buflen = outpos; + return CJ5_ERROR_NONE; +} + +void +cj5_skip(const cj5_result *r, unsigned int *tok_index) { + unsigned int idx = *tok_index; + unsigned int end = r->tokens[idx].end; + do { idx++; } while(idx < r->num_tokens && + r->tokens[idx].start < end); + *tok_index = idx; +} + +cj5_error_code +cj5_find(const cj5_result *r, unsigned int *tok_index, + const char *key) { + // It has to be an object + unsigned int idx = *tok_index; + if(r->tokens[idx].type != CJ5_TOKEN_OBJECT) + return CJ5_ERROR_INVALID; + unsigned int size = r->tokens[idx].size; + + // Skip to the first key + idx++; + + // Size is number of keys + number of values + for(unsigned int i = 0; i < size; i += 2) { + // Key has to be a string + if(r->tokens[idx].type != CJ5_TOKEN_STRING) + return CJ5_ERROR_INVALID; + + // Return the index to the value if the key matches + const char *keystart = &r->json5[r->tokens[idx].start]; + size_t keysize = r->tokens[idx].end - r->tokens[idx].start + 1; + if(strncmp(key, keystart, keysize) == 0) { + *tok_index = idx + 1; + return CJ5_ERROR_NONE; + } + + // Skip over the value + idx++; + cj5_skip(r, &idx); + } + return CJ5_ERROR_NOTFOUND; +} + +/**** amalgamated original file "/deps/parse_num.c" ****/ + +/* Originally released by the musl project (http://www.musl-libc.org/) under the + * MIT license. Taken and adapted from the file src/stdlib/atoi.c + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + +#include +#include +#include + +size_t +parseUInt64(const char *str, size_t size, uint64_t *result) { + size_t i = 0; + uint64_t n = 0, prev = 0; + + /* Hex */ + if(size > 2 && str[0] == '0' && (str[1] | 32) == 'x') { + i = 2; + for(; i < size; i++) { + uint8_t c = (uint8_t)str[i] | 32; + if(c >= '0' && c <= '9') + c = (uint8_t)(c - '0'); + else if(c >= 'a' && c <='f') + c = (uint8_t)(c - 'a' + 10); + else if(c >= 'A' && c <='F') + c = (uint8_t)(c - 'A' + 10); + else + break; + n = (n << 4) | (c & 0xF); + if(n < prev) /* Check for overflow */ + return 0; + prev = n; + } + *result = n; + return (i > 2) ? i : 0; /* 2 -> No digit was parsed */ + } + + /* Decimal */ + for(; i < size; i++) { + if(str[i] < '0' || str[i] > '9') + break; + /* Fast multiplication: n*10 == (n*8) + (n*2) */ + n = (n << 3) + (n << 1) + (uint8_t)(str[i] - '0'); + if(n < prev) /* Check for overflow */ + return 0; + prev = n; + } + *result = n; + return i; +} + +size_t +parseInt64(const char *str, size_t size, int64_t *result) { + /* Negative value? */ + size_t i = 0; + bool neg = false; + if(*str == '-' || *str == '+') { + neg = (*str == '-'); + i++; + } + + /* Parse as unsigned */ + uint64_t n = 0; + size_t len = parseUInt64(&str[i], size - i, &n); + if(len == 0) + return 0; + + /* Check for overflow, adjust and return */ + if(!neg) { + if(n > 9223372036854775807UL) + return 0; + *result = (int64_t)n; + } else { + if(n > 9223372036854775808UL) + return 0; + *result = -(int64_t)n; + } + return len + i; +} + +size_t parseDouble(const char *str, size_t size, double *result) { + char buf[2000]; + if(size >= 2000) + return 0; + memcpy(buf, str, size); + buf[size] = 0; + errno = 0; + char *endptr; + *result = strtod(str, &endptr); + if(errno != 0 && errno != ERANGE) + return 0; + return (uintptr_t)endptr - (uintptr_t)str; +} + +/**** amalgamated original file "/src/ua_types_encoding_json.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2018 (c) Fraunhofer IOSB (Author: Lukas Meling) + */ + + +#ifdef UA_ENABLE_JSON_ENCODING + + +#include +#include + + +#ifndef UA_ENABLE_PARSING +#error UA_ENABLE_PARSING required for JSON encoding +#endif + +#ifndef UA_ENABLE_TYPEDESCRIPTION +#error UA_ENABLE_TYPEDESCRIPTION required for JSON encoding +#endif + +/* vs2008 does not have INFINITY and NAN defined */ +#ifndef INFINITY +# define INFINITY ((UA_Double)(DBL_MAX+DBL_MAX)) +#endif +#ifndef NAN +# define NAN ((UA_Double)(INFINITY-INFINITY)) +#endif + +#if defined(_MSC_VER) +# pragma warning(disable: 4756) +# pragma warning(disable: 4056) +#endif + +/* Have some slack at the end. E.g. for negative and very long years. */ +#define UA_JSON_DATETIME_LENGTH 40 + +/************/ +/* Encoding */ +/************/ + +#define ENCODE_JSON(TYPE) static status \ + TYPE##_encodeJson(CtxJson *ctx, const UA_##TYPE *src, const UA_DataType *type) + +#define ENCODE_DIRECT_JSON(SRC, TYPE) \ + TYPE##_encodeJson(ctx, (const UA_##TYPE*)SRC, NULL) + +static status UA_FUNC_ATTR_WARN_UNUSED_RESULT +writeChar(CtxJson *ctx, char c) { + if(ctx->pos >= ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + if(!ctx->calcOnly) + *ctx->pos = (UA_Byte)c; + ctx->pos++; + return UA_STATUSCODE_GOOD; +} + +static status UA_FUNC_ATTR_WARN_UNUSED_RESULT +writeChars(CtxJson *ctx, const char *c, size_t len) { + if(ctx->pos + len > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + if(!ctx->calcOnly) + memcpy(ctx->pos, c, len); + ctx->pos += len; + return UA_STATUSCODE_GOOD; +} + +#define WRITE_JSON_ELEMENT(ELEM) \ + UA_FUNC_ATTR_WARN_UNUSED_RESULT status \ + writeJson##ELEM(CtxJson *ctx) + +static WRITE_JSON_ELEMENT(Quote) { + return writeChar(ctx, '\"'); +} + +UA_StatusCode +writeJsonBeforeElement(CtxJson *ctx, UA_Boolean distinct) { + UA_StatusCode res = UA_STATUSCODE_GOOD; + /* Comma if needed */ + if(ctx->commaNeeded[ctx->depth]) + res |= writeChar(ctx, ','); + if(ctx->prettyPrint) { + if(distinct) { + /* Newline and indent if needed */ + res |= writeChar(ctx, '\n'); + for(size_t i = 0; i < ctx->depth; i++) + res |= writeChar(ctx, '\t'); + } else if(ctx->commaNeeded[ctx->depth]) { + /* Space after the comma if no newline */ + res |= writeChar(ctx, ' '); + } + } + return res; +} + +WRITE_JSON_ELEMENT(ObjStart) { + /* increase depth, save: before first key-value no comma needed. */ + if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) + return UA_STATUSCODE_BADENCODINGERROR; + ctx->depth++; + ctx->commaNeeded[ctx->depth] = false; + return writeChar(ctx, '{'); +} + +WRITE_JSON_ELEMENT(ObjEnd) { + if(ctx->depth == 0) + return UA_STATUSCODE_BADENCODINGERROR; + + UA_Boolean have_elem = ctx->commaNeeded[ctx->depth]; + ctx->depth--; + ctx->commaNeeded[ctx->depth] = true; + + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(ctx->prettyPrint && have_elem) { + res |= writeChar(ctx, '\n'); + for(size_t i = 0; i < ctx->depth; i++) + res |= writeChar(ctx, '\t'); + } + return res | writeChar(ctx, '}'); +} + +WRITE_JSON_ELEMENT(ArrStart) { + /* increase depth, save: before first array entry no comma needed. */ + if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) + return UA_STATUSCODE_BADENCODINGERROR; + ctx->depth++; + ctx->commaNeeded[ctx->depth] = false; + return writeChar(ctx, '['); +} + +WRITE_JSON_ELEMENT(ArrEnd) { + if(ctx->depth == 0) + return UA_STATUSCODE_BADENCODINGERROR; + UA_Boolean have_elem = ctx->commaNeeded[ctx->depth]; + ctx->depth--; + ctx->commaNeeded[ctx->depth] = true; + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(ctx->prettyPrint && have_elem) { + res |= writeChar(ctx, '\n'); + for(size_t i = 0; i < ctx->depth; i++) + res |= writeChar(ctx, '\t'); + } + return res | writeChar(ctx, ']'); +} + +status +writeJsonArrElm(CtxJson *ctx, const void *value, + const UA_DataType *type) { + UA_Boolean distinct = (type->typeKind > UA_DATATYPEKIND_DOUBLE); + status ret = writeJsonBeforeElement(ctx, distinct); + ctx->commaNeeded[ctx->depth] = true; + return ret | encodeJsonJumpTable[type->typeKind](ctx, value, type); +} + +status +writeJsonObjElm(CtxJson *ctx, const char *key, + const void *value, const UA_DataType *type) { + return writeJsonKey(ctx, key) | encodeJsonJumpTable[type->typeKind](ctx, value, type); +} + +/* Keys for JSON */ + +/* LocalizedText */ +static const char* UA_JSONKEY_LOCALE = "Locale"; +static const char* UA_JSONKEY_TEXT = "Text"; + +/* QualifiedName */ +static const char* UA_JSONKEY_NAME = "Name"; +static const char* UA_JSONKEY_URI = "Uri"; + +/* NodeId */ +static const char* UA_JSONKEY_ID = "Id"; +static const char* UA_JSONKEY_IDTYPE = "IdType"; +static const char* UA_JSONKEY_NAMESPACE = "Namespace"; + +/* ExpandedNodeId */ +static const char* UA_JSONKEY_SERVERURI = "ServerUri"; + +/* Variant */ +static const char* UA_JSONKEY_TYPE = "Type"; +static const char* UA_JSONKEY_BODY = "Body"; +static const char* UA_JSONKEY_DIMENSION = "Dimension"; + +/* DataValue */ +static const char* UA_JSONKEY_VALUE = "Value"; +static const char* UA_JSONKEY_STATUS = "Status"; +static const char* UA_JSONKEY_SOURCETIMESTAMP = "SourceTimestamp"; +static const char* UA_JSONKEY_SOURCEPICOSECONDS = "SourcePicoseconds"; +static const char* UA_JSONKEY_SERVERTIMESTAMP = "ServerTimestamp"; +static const char* UA_JSONKEY_SERVERPICOSECONDS = "ServerPicoseconds"; + +/* ExtensionObject */ +static const char* UA_JSONKEY_ENCODING = "Encoding"; +static const char* UA_JSONKEY_TYPEID = "TypeId"; + +/* StatusCode */ +static const char* UA_JSONKEY_CODE = "Code"; +static const char* UA_JSONKEY_SYMBOL = "Symbol"; + +/* DiagnosticInfo */ +static const char* UA_JSONKEY_SYMBOLICID = "SymbolicId"; +static const char* UA_JSONKEY_NAMESPACEURI = "NamespaceUri"; +static const char* UA_JSONKEY_LOCALIZEDTEXT = "LocalizedText"; +static const char* UA_JSONKEY_ADDITIONALINFO = "AdditionalInfo"; +static const char* UA_JSONKEY_INNERSTATUSCODE = "InnerStatusCode"; +static const char* UA_JSONKEY_INNERDIAGNOSTICINFO = "InnerDiagnosticInfo"; + +/* Writes null terminated string to output buffer (current ctx->pos). Writes + * comma in front of key if needed. Encapsulates key in quotes. */ +status UA_FUNC_ATTR_WARN_UNUSED_RESULT +writeJsonKey(CtxJson *ctx, const char* key) { + status ret = writeJsonBeforeElement(ctx, true); + ctx->commaNeeded[ctx->depth] = true; + if(!ctx->unquotedKeys) + ret |= writeChar(ctx, '\"'); + ret |= writeChars(ctx, key, strlen(key)); + if(!ctx->unquotedKeys) + ret |= writeChar(ctx, '\"'); + if(!ctx->unquotedKeys) + ret |= writeChar(ctx, ':'); + if(ctx->prettyPrint) + ret |= writeChar(ctx, ' '); + return ret; +} + +static bool +isNull(const void *p, const UA_DataType *type) { + if(UA_DataType_isNumeric(type) || type->typeKind == UA_DATATYPEKIND_BOOLEAN) + return false; + UA_STACKARRAY(char, buf, type->memSize); + memset(buf, 0, type->memSize); + return UA_equal(buf, p, type); +} + +/* Boolean */ +ENCODE_JSON(Boolean) { + if(*src == true) + return writeChars(ctx, "true", 4); + return writeChars(ctx, "false", 5); +} + +/* Byte */ +ENCODE_JSON(Byte) { + char buf[4]; + UA_UInt16 digits = itoaUnsigned(*src, buf, 10); + + /* Ensure destination can hold the data- */ + if(ctx->pos + digits > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + /* Copy digits to the output string/buffer. */ + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, digits); + ctx->pos += digits; + return UA_STATUSCODE_GOOD; +} + +/* signed Byte */ +ENCODE_JSON(SByte) { + char buf[5]; + UA_UInt16 digits = itoaSigned(*src, buf); + if(ctx->pos + digits > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, digits); + ctx->pos += digits; + return UA_STATUSCODE_GOOD; +} + +/* UInt16 */ +ENCODE_JSON(UInt16) { + char buf[6]; + UA_UInt16 digits = itoaUnsigned(*src, buf, 10); + + if(ctx->pos + digits > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, digits); + ctx->pos += digits; + return UA_STATUSCODE_GOOD; +} + +/* Int16 */ +ENCODE_JSON(Int16) { + char buf[7]; + UA_UInt16 digits = itoaSigned(*src, buf); + + if(ctx->pos + digits > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, digits); + ctx->pos += digits; + return UA_STATUSCODE_GOOD; +} + +/* UInt32 */ +ENCODE_JSON(UInt32) { + char buf[11]; + UA_UInt16 digits = itoaUnsigned(*src, buf, 10); + + if(ctx->pos + digits > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, digits); + ctx->pos += digits; + return UA_STATUSCODE_GOOD; +} + +/* Int32 */ +ENCODE_JSON(Int32) { + char buf[12]; + UA_UInt16 digits = itoaSigned(*src, buf); + + if(ctx->pos + digits > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, digits); + ctx->pos += digits; + return UA_STATUSCODE_GOOD; +} + +/* UInt64 */ +ENCODE_JSON(UInt64) { + char buf[23]; + buf[0] = '\"'; + UA_UInt16 digits = itoaUnsigned(*src, buf + 1, 10); + buf[digits + 1] = '\"'; + UA_UInt16 length = (UA_UInt16)(digits + 2); + + if(ctx->pos + length > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, length); + ctx->pos += length; + return UA_STATUSCODE_GOOD; +} + +/* Int64 */ +ENCODE_JSON(Int64) { + char buf[23]; + buf[0] = '\"'; + UA_UInt16 digits = itoaSigned(*src, buf + 1); + buf[digits + 1] = '\"'; + UA_UInt16 length = (UA_UInt16)(digits + 2); + + if(ctx->pos + length > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buf, length); + ctx->pos += length; + return UA_STATUSCODE_GOOD; +} + +ENCODE_JSON(Float) { + char buffer[32]; + size_t len; + if(*src != *src) { + strcpy(buffer, "\"NaN\""); + len = strlen(buffer); + } else if(*src == INFINITY) { + strcpy(buffer, "\"Infinity\""); + len = strlen(buffer); + } else if(*src == -INFINITY) { + strcpy(buffer, "\"-Infinity\""); + len = strlen(buffer); + } else { + len = dtoa((UA_Double)*src, buffer); + } + + if(ctx->pos + len > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buffer, len); + ctx->pos += len; + return UA_STATUSCODE_GOOD; +} + +ENCODE_JSON(Double) { + char buffer[32]; + size_t len; + if(*src != *src) { + strcpy(buffer, "\"NaN\""); + len = strlen(buffer); + } else if(*src == INFINITY) { + strcpy(buffer, "\"Infinity\""); + len = strlen(buffer); + } else if(*src == -INFINITY) { + strcpy(buffer, "\"-Infinity\""); + len = strlen(buffer); + } else { + len = dtoa(*src, buffer); + } + + if(ctx->pos + len > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + + if(!ctx->calcOnly) + memcpy(ctx->pos, buffer, len); + ctx->pos += len; + return UA_STATUSCODE_GOOD; +} + +static status +encodeJsonArray(CtxJson *ctx, const void *ptr, size_t length, + const UA_DataType *type) { + /* Null-arrays (length -1) are written as empty arrays '[]'. + * TODO: Clarify the difference between length -1 and length 0 in JSON. */ + status ret = writeJsonArrStart(ctx); + if(!ptr) + return ret | writeJsonArrEnd(ctx); + + uintptr_t uptr = (uintptr_t)ptr; + encodeJsonSignature encodeType = encodeJsonJumpTable[type->typeKind]; + UA_Boolean distinct = (type->typeKind > UA_DATATYPEKIND_DOUBLE); + for(size_t i = 0; i < length && ret == UA_STATUSCODE_GOOD; ++i) { + ret |= writeJsonBeforeElement(ctx, distinct); + if(isNull((const void*)uptr, type)) + ret |= writeChars(ctx, "null", 4); + else + ret |= encodeType(ctx, (const void*)uptr, type); + ctx->commaNeeded[ctx->depth] = true; + uptr += type->memSize; + } + return ret | writeJsonArrEnd(ctx); +} + +static const uint32_t min_codepoints[5] = {0x00, 0x00, 0x80, 0x800, 0x10000}; +static const u8 hexmap[16] = + {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + +/* Extract the next utf8 codepoint from the buffer. Return the next position in + * the buffer or NULL upon an error. */ +static const unsigned char * +extract_codepoint(const unsigned char *pos, size_t len, uint32_t *codepoint) { + UA_assert(len > 0); + + *codepoint = pos[0]; + if(UA_LIKELY(*codepoint < 0x80)) + return pos + 1; /* Normal ASCII */ + + if(UA_UNLIKELY(*codepoint <= 0xC1)) + return NULL; /* Continuation byte not allowed here */ + + unsigned char count; + if(*codepoint <= 0xDF) { + count = 2; /* 2-byte sequence */ + *codepoint &= 0x1F; + } else if(*codepoint <= 0xEF) { + count = 3; /* 3-byte sequence */ + *codepoint &= 0xF; + } else if(*codepoint <= 0xF4) { + count = 4; /* 4-byte sequence */ + *codepoint &= 0x7; + } else { + return NULL; /* invalid utf8 */ + } + + if(UA_UNLIKELY(count > len)) + return NULL; /* Not enough bytes left */ + + for(unsigned char i = 1; i < count; i++) { + unsigned char byte = pos[i]; + if(UA_UNLIKELY(byte < 0x80 || byte > 0xBF)) + return NULL; /* Not a continuation byte */ + *codepoint = (*codepoint << 6) + (byte & 0x3F); + } + + /* Not in Unicode range or too small for the encoding length */ + if(UA_UNLIKELY(*codepoint > 0x10FFFF || *codepoint < min_codepoints[count])) + return NULL; + + return pos + count; /* Return the new position in the pos */ +} + +ENCODE_JSON(String) { + if(!src->data) + return writeChars(ctx, "null", 4); + + if(src->length == 0) + return writeJsonQuote(ctx) | writeJsonQuote(ctx); + + UA_StatusCode ret = writeJsonQuote(ctx); + + const unsigned char *str = src->data; + const unsigned char *pos = str; + const unsigned char *end = str; + const unsigned char *lim = str + src->length; + uint32_t codepoint = 0; + while(1) { + /* Iterate over codepoints in the utf8 encoding. Until the first + * character that needs to be escaped. */ + while(end < lim) { + end = extract_codepoint(pos, (size_t)(lim - pos), &codepoint); + if(!end) { + /* A malformed utf8 character. Print anyway and let the + * receiving side choose how to handle it. */ + pos++; + end = pos; + continue; + } + + /* Escape unprintable ASCII and escape characters */ + if(codepoint < ' ' || codepoint == 127 || + codepoint == '\\' || codepoint == '\"') + break; + + pos = end; + } + + /* Write out the characters that don't need escaping */ + if(pos != str) { + if(ctx->pos + (pos - str) > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + if(!ctx->calcOnly) + memcpy(ctx->pos, str, (size_t)(pos - str)); + ctx->pos += pos - str; + } + + /* Reached the end of the utf8 encoding */ + if(end == pos) + break; + + /* Handle an escaped character */ + size_t length = 2; + u8 seq[13]; + const char *text; + + switch(codepoint) { + case '\\': text = "\\\\"; break; + case '\"': text = "\\\""; break; + case '\b': text = "\\b"; break; + case '\f': text = "\\f"; break; + case '\n': text = "\\n"; break; + case '\r': text = "\\r"; break; + case '\t': text = "\\t"; break; + default: + text = (char*)seq; + if(codepoint < 0x10000) { + /* codepoint is in BMP */ + seq[0] = '\\'; + seq[1] = 'u'; + UA_Byte b1 = (UA_Byte)(codepoint >> 8u); + UA_Byte b2 = (UA_Byte)(codepoint >> 0u); + seq[2] = hexmap[(b1 & 0xF0u) >> 4u]; + seq[3] = hexmap[b1 & 0x0Fu]; + seq[4] = hexmap[(b2 & 0xF0u) >> 4u]; + seq[5] = hexmap[b2 & 0x0Fu]; + length = 6; + } else { + /* not in BMP -> construct a UTF-16 surrogate pair */ + codepoint -= 0x10000; + UA_UInt32 first = 0xD800u | ((codepoint & 0xffc00u) >> 10u); + UA_UInt32 last = 0xDC00u | (codepoint & 0x003ffu); + UA_Byte fb1 = (UA_Byte)(first >> 8u); + UA_Byte fb2 = (UA_Byte)(first >> 0u); + UA_Byte lb1 = (UA_Byte)(last >> 8u); + UA_Byte lb2 = (UA_Byte)(last >> 0u); + seq[0] = '\\'; + seq[1] = 'u'; + seq[2] = hexmap[(fb1 & 0xF0u) >> 4u]; + seq[3] = hexmap[fb1 & 0x0Fu]; + seq[4] = hexmap[(fb2 & 0xF0u) >> 4u]; + seq[5] = hexmap[fb2 & 0x0Fu]; + seq[6] = '\\'; + seq[7] = 'u'; + seq[8] = hexmap[(lb1 & 0xF0u) >> 4u]; + seq[9] = hexmap[lb1 & 0x0Fu]; + seq[10] = hexmap[(lb2 & 0xF0u) >> 4u]; + seq[11] = hexmap[lb2 & 0x0Fu]; + length = 12; + } + break; + } + if(ctx->pos + length > ctx->end) + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + if(!ctx->calcOnly) + memcpy(ctx->pos, text, length); + ctx->pos += length; + str = pos = end; + } + + return ret | writeJsonQuote(ctx); +} + +ENCODE_JSON(ByteString) { + if(!src->data) + return writeChars(ctx, "null", 4); + + if(src->length == 0) { + status retval = writeJsonQuote(ctx); + retval |= writeJsonQuote(ctx); + return retval; + } + + status ret = writeJsonQuote(ctx); + size_t flen = 0; + unsigned char *ba64 = UA_base64(src->data, src->length, &flen); + + /* Not converted, no mem */ + if(!ba64) + return UA_STATUSCODE_BADENCODINGERROR; + + if(ctx->pos + flen > ctx->end) { + UA_free(ba64); + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + } + + /* Copy flen bytes to output stream. */ + if(!ctx->calcOnly) + memcpy(ctx->pos, ba64, flen); + ctx->pos += flen; + + /* Base64 result no longer needed */ + UA_free(ba64); + + return ret | writeJsonQuote(ctx); +} + +/* Guid */ +ENCODE_JSON(Guid) { + if(ctx->pos + 38 > ctx->end) /* 36 + 2 (") */ + return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; + status ret = writeJsonQuote(ctx); + if(!ctx->calcOnly) + UA_Guid_to_hex(src, ctx->pos, false); + ctx->pos += 36; + return ret | writeJsonQuote(ctx); +} + +static u8 +printNumber(i32 n, char *pos, u8 min_digits) { + char digits[10]; + u8 len = 0; + /* Handle negative values */ + if(n < 0) { + pos[len++] = '-'; + n = -n; + } + + /* Extract the digits */ + u8 i = 0; + for(; i < min_digits || n > 0; i++) { + digits[i] = (char)((n % 10) + '0'); + n /= 10; + } + + /* Print in reverse order and return */ + for(; i > 0; i--) + pos[len++] = digits[i-1]; + return len; +} + +ENCODE_JSON(DateTime) { + UA_DateTimeStruct tSt = UA_DateTime_toStruct(*src); + + /* Format: -yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z' is used. max 31 bytes. + * Note the optional minus for negative years. */ + char buffer[UA_JSON_DATETIME_LENGTH]; + char *pos = buffer; + pos += printNumber(tSt.year, pos, 4); + *(pos++) = '-'; + pos += printNumber(tSt.month, pos, 2); + *(pos++) = '-'; + pos += printNumber(tSt.day, pos, 2); + *(pos++) = 'T'; + pos += printNumber(tSt.hour, pos, 2); + *(pos++) = ':'; + pos += printNumber(tSt.min, pos, 2); + *(pos++) = ':'; + pos += printNumber(tSt.sec, pos, 2); + *(pos++) = '.'; + pos += printNumber(tSt.milliSec, pos, 3); + pos += printNumber(tSt.microSec, pos, 3); + pos += printNumber(tSt.nanoSec, pos, 3); + + UA_assert(pos <= &buffer[UA_JSON_DATETIME_LENGTH]); + + /* Remove trailing zeros */ + pos--; + while(*pos == '0') + pos--; + if(*pos == '.') + pos--; + + *(++pos) = 'Z'; + UA_String str = {((uintptr_t)pos - (uintptr_t)buffer)+1, (UA_Byte*)buffer}; + return ENCODE_DIRECT_JSON(&str, String); +} + +/* NodeId */ +static status +NodeId_encodeJsonInternal(CtxJson *ctx, UA_NodeId const *src) { + status ret = UA_STATUSCODE_GOOD; + switch(src->identifierType) { + case UA_NODEIDTYPE_NUMERIC: + ret |= writeJsonKey(ctx, UA_JSONKEY_ID); + ret |= ENCODE_DIRECT_JSON(&src->identifier.numeric, UInt32); + break; + case UA_NODEIDTYPE_STRING: + ret |= writeJsonKey(ctx, UA_JSONKEY_IDTYPE); + ret |= writeChar(ctx, '1'); + ret |= writeJsonKey(ctx, UA_JSONKEY_ID); + ret |= ENCODE_DIRECT_JSON(&src->identifier.string, String); + break; + case UA_NODEIDTYPE_GUID: + ret |= writeJsonKey(ctx, UA_JSONKEY_IDTYPE); + ret |= writeChar(ctx, '2'); + ret |= writeJsonKey(ctx, UA_JSONKEY_ID); /* Id */ + ret |= ENCODE_DIRECT_JSON(&src->identifier.guid, Guid); + break; + case UA_NODEIDTYPE_BYTESTRING: + ret |= writeJsonKey(ctx, UA_JSONKEY_IDTYPE); + ret |= writeChar(ctx, '3'); + ret |= writeJsonKey(ctx, UA_JSONKEY_ID); /* Id */ + ret |= ENCODE_DIRECT_JSON(&src->identifier.byteString, ByteString); + break; + default: + return UA_STATUSCODE_BADINTERNALERROR; + } + return ret; +} + +ENCODE_JSON(NodeId) { + /* Encode as string (non-standard). Encode with the standard utf8 escaping. + * As the NodeId can contain quote characters, etc. */ + UA_StatusCode ret = UA_STATUSCODE_GOOD; + if(ctx->stringNodeIds) { + UA_String out = UA_STRING_NULL; + ret |= UA_NodeId_print(src, &out); + ret |= encodeJsonJumpTable[UA_DATATYPEKIND_STRING](ctx, &out, NULL); + UA_String_clear(&out); + return ret; + } + + /* Encode as object */ + ret |= writeJsonObjStart(ctx); + ret |= NodeId_encodeJsonInternal(ctx, src); + if(ctx->useReversible) { + if(src->namespaceIndex > 0) { + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); + } + } else { + /* For the non-reversible encoding, the field is the NamespaceUri + * associated with the NamespaceIndex, encoded as a JSON string. + * A NamespaceIndex of 1 is always encoded as a JSON number. */ + if(src->namespaceIndex == 1) { + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); + } else { + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + + /* Check if Namespace given and in range */ + if(src->namespaceIndex < ctx->namespacesSize && ctx->namespaces != NULL) { + UA_String namespaceEntry = ctx->namespaces[src->namespaceIndex]; + ret |= ENCODE_DIRECT_JSON(&namespaceEntry, String); + } else { + return UA_STATUSCODE_BADNOTFOUND; + } + } + } + + return ret | writeJsonObjEnd(ctx); +} + +/* ExpandedNodeId */ +ENCODE_JSON(ExpandedNodeId) { + /* Encode as string (non-standard). Encode with utf8 escaping as the NodeId + * can contain quote characters, etc. */ + UA_StatusCode ret = UA_STATUSCODE_GOOD; + if(ctx->stringNodeIds) { + UA_String out = UA_STRING_NULL; + ret |= UA_ExpandedNodeId_print(src, &out); + ret |= encodeJsonJumpTable[UA_DATATYPEKIND_STRING](ctx, &out, NULL); + UA_String_clear(&out); + return ret; + } + + /* Encode as object */ + ret |= writeJsonObjStart(ctx); + + /* Encode the identifier portion */ + ret |= NodeId_encodeJsonInternal(ctx, &src->nodeId); + + if(ctx->useReversible) { + /* Reversible Case */ + + if(src->namespaceUri.data) { + /* If the NamespaceUri is specified it is encoded as a JSON string + * in this field */ + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&src->namespaceUri, String); + } else if(src->nodeId.namespaceIndex > 0) { + /* If the NamespaceUri is not specified, the NamespaceIndex is + * encoded. Encoded as a JSON number for the reversible encoding. + * Omitted if the NamespaceIndex equals 0. */ + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&src->nodeId.namespaceIndex, UInt16); + } + + /* Encode the serverIndex/Url. As a JSON number for the reversible + * encoding. Omitted if the ServerIndex equals 0. */ + if(src->serverIndex > 0) { + ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERURI); + ret |= ENCODE_DIRECT_JSON(&src->serverIndex, UInt32); + } + } else { + /* Non-Reversible Case */ + + /* If the NamespaceUri is not specified, the NamespaceIndex is encoded + * with these rules: For the non-reversible encoding the field is the + * NamespaceUri associated with the NamespaceIndex encoded as a JSON + * string. A NamespaceIndex of 1 is always encoded as a JSON number. */ + + if(src->namespaceUri.data) { + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&src->namespaceUri, String); + } else { + if(src->nodeId.namespaceIndex == 1) { + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&src->nodeId.namespaceIndex, UInt16); + } else { + /* Check if Namespace given and in range */ + if(src->nodeId.namespaceIndex >= ctx->namespacesSize || !ctx->namespaces) + return UA_STATUSCODE_BADNOTFOUND; + UA_String namespaceEntry = ctx->namespaces[src->nodeId.namespaceIndex]; + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); + ret |= ENCODE_DIRECT_JSON(&namespaceEntry, String); + } + } + + /* For the non-reversible encoding, this field is the ServerUri + * associated with the ServerIndex portion of the ExpandedNodeId, + * encoded as a JSON string. */ + + /* Check if server given and in range */ + if(src->serverIndex >= ctx->serverUrisSize || !ctx->serverUris) + return UA_STATUSCODE_BADNOTFOUND; + + UA_String serverUriEntry = ctx->serverUris[src->serverIndex]; + ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERURI); + ret |= ENCODE_DIRECT_JSON(&serverUriEntry, String); + } + + return ret | writeJsonObjEnd(ctx); +} + +/* LocalizedText */ +ENCODE_JSON(LocalizedText) { + if(ctx->useReversible) { + status ret = writeJsonObjStart(ctx); + ret |= writeJsonKey(ctx, UA_JSONKEY_LOCALE); + ret |= ENCODE_DIRECT_JSON(&src->locale, String); + ret |= writeJsonKey(ctx, UA_JSONKEY_TEXT); + ret |= ENCODE_DIRECT_JSON(&src->text, String); + return ret | writeJsonObjEnd(ctx); + } + + /* For the non-reversible form, LocalizedText value shall be encoded as a + * JSON string containing the Text component.*/ + return ENCODE_DIRECT_JSON(&src->text, String); +} + +ENCODE_JSON(QualifiedName) { + status ret = writeJsonObjStart(ctx); + ret |= writeJsonKey(ctx, UA_JSONKEY_NAME); + ret |= ENCODE_DIRECT_JSON(&src->name, String); + + if(ctx->useReversible) { + if(src->namespaceIndex != 0) { + ret |= writeJsonKey(ctx, UA_JSONKEY_URI); + ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); + } + } else { + /* For the non-reversible form, the NamespaceUri associated with the + * NamespaceIndex portion of the QualifiedName is encoded as JSON string + * unless the NamespaceIndex is 1 or if NamespaceUri is unknown. In + * these cases, the NamespaceIndex is encoded as a JSON number. */ + if(src->namespaceIndex == 1) { + ret |= writeJsonKey(ctx, UA_JSONKEY_URI); + ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); + } else { + ret |= writeJsonKey(ctx, UA_JSONKEY_URI); + + /* Check if Namespace given and in range */ + if(src->namespaceIndex < ctx->namespacesSize && ctx->namespaces != NULL) { + UA_String namespaceEntry = ctx->namespaces[src->namespaceIndex]; + ret |= ENCODE_DIRECT_JSON(&namespaceEntry, String); + } else { + /* If not encode as number */ + ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); + } + } + } + + return ret | writeJsonObjEnd(ctx); +} + +ENCODE_JSON(StatusCode) { + if(ctx->useReversible) + return ENCODE_DIRECT_JSON(src, UInt32); + + const char *codename = UA_StatusCode_name(*src); + UA_String statusDescription = UA_STRING((char*)(uintptr_t)codename); + + status ret = UA_STATUSCODE_GOOD; + ret |= writeJsonObjStart(ctx); + ret |= writeJsonKey(ctx, UA_JSONKEY_CODE); + ret |= ENCODE_DIRECT_JSON(src, UInt32); + ret |= writeJsonKey(ctx, UA_JSONKEY_SYMBOL); + ret |= ENCODE_DIRECT_JSON(&statusDescription, String); + ret |= writeJsonObjEnd(ctx); + return ret; +} + +/* ExtensionObject */ +ENCODE_JSON(ExtensionObject) { + if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) + return writeChars(ctx, "null", 4); + + /* Must have a type set if data is decoded */ + if(src->encoding >= UA_EXTENSIONOBJECT_DECODED && !src->content.decoded.type) + return UA_STATUSCODE_BADENCODINGERROR; + + status ret = writeJsonObjStart(ctx); + + /* Reversible encoding */ + if(ctx->useReversible) { + /* Write the type NodeId */ + ret |= writeJsonKey(ctx, UA_JSONKEY_TYPEID); + if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING || + src->encoding == UA_EXTENSIONOBJECT_ENCODED_XML) + ret |= ENCODE_DIRECT_JSON(&src->content.encoded.typeId, NodeId); + else + ret |= ENCODE_DIRECT_JSON(&src->content.decoded.type->typeId, NodeId); + + /* Write the encoding */ + if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING) { + ret |= writeJsonKey(ctx, UA_JSONKEY_ENCODING); + ret |= writeChar(ctx, '1'); + } else if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_XML) { + ret |= writeJsonKey(ctx, UA_JSONKEY_ENCODING); + ret |= writeChar(ctx, '2'); + } + } + + /* Write the body */ + ret |= writeJsonKey(ctx, UA_JSONKEY_BODY); + if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING || + src->encoding == UA_EXTENSIONOBJECT_ENCODED_XML) { + ret |= ENCODE_DIRECT_JSON(&src->content.encoded.body, String); + } else { + const UA_DataType *t = src->content.decoded.type; + ret |= encodeJsonJumpTable[t->typeKind] + (ctx, src->content.decoded.data, t); + } + + return ret | writeJsonObjEnd(ctx); +} + +/* Non-builtin types get wrapped in an ExtensionObject */ +static status +encodeScalarJsonWrapExtensionObject(CtxJson *ctx, const UA_Variant *src) { + const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + const void *ptr = src->data; + const UA_DataType *type = src->type; + + /* Set up a temporary ExtensionObject to wrap the data */ + UA_ExtensionObject eo; + if(!isBuiltin) { + UA_ExtensionObject_init(&eo); + eo.encoding = UA_EXTENSIONOBJECT_DECODED; + eo.content.decoded.type = src->type; + eo.content.decoded.data = src->data; + ptr = &eo; + type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; + } + + return encodeJsonJumpTable[type->typeKind](ctx, ptr, type); +} + +/* Non-builtin types get wrapped in an ExtensionObject */ +static status +encodeArrayJsonWrapExtensionObject(CtxJson *ctx, const void *data, + size_t size, const UA_DataType *type) { + if(size > UA_INT32_MAX) + return UA_STATUSCODE_BADENCODINGERROR; + + status ret = writeJsonArrStart(ctx); + + u16 memSize = type->memSize; + const UA_Boolean isBuiltin = (type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + if(isBuiltin) { + uintptr_t ptr = (uintptr_t)data; + for(size_t i = 0; i < size && ret == UA_STATUSCODE_GOOD; ++i) { + ret |= writeJsonArrElm(ctx, (const void*)ptr, type); + ptr += memSize; + } + } else { + /* Set up a temporary ExtensionObject to wrap the data */ + UA_ExtensionObject eo; + UA_ExtensionObject_init(&eo); + eo.encoding = UA_EXTENSIONOBJECT_DECODED; + eo.content.decoded.type = type; + eo.content.decoded.data = (void*)(uintptr_t)data; + for(size_t i = 0; i < size && ret == UA_STATUSCODE_GOOD; ++i) { + ret |= writeJsonArrElm(ctx, &eo, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); + eo.content.decoded.data = (void*) + ((uintptr_t)eo.content.decoded.data + memSize); + } + } + + return ret | writeJsonArrEnd(ctx); +} + +static status +addMultiArrayContentJSON(CtxJson *ctx, void* array, const UA_DataType *type, + size_t *index, UA_UInt32 *arrayDimensions, size_t dimensionIndex, + size_t dimensionSize) { + /* Stop recursion: The inner arrays are written */ + status ret; + if(dimensionIndex == (dimensionSize - 1)) { + u8 *ptr = ((u8 *)array) + (type->memSize * *index); + u32 size = arrayDimensions[dimensionIndex]; + (*index) += arrayDimensions[dimensionIndex]; + return encodeArrayJsonWrapExtensionObject(ctx, ptr, size, type); + } + + /* Recurse to the next dimension */ + ret = writeJsonArrStart(ctx); + for(size_t i = 0; i < arrayDimensions[dimensionIndex]; i++) { + ret |= writeJsonBeforeElement(ctx, true); + ret |= addMultiArrayContentJSON(ctx, array, type, index, arrayDimensions, + dimensionIndex + 1, dimensionSize); + ctx->commaNeeded[ctx->depth] = true; + } + return ret | writeJsonArrEnd(ctx); +} + +ENCODE_JSON(Variant) { + /* If type is 0 (NULL) the Variant contains a NULL value and the containing + * JSON object shall be omitted or replaced by the JSON literal ‘null’ (when + * an element of a JSON array). */ + if(!src->type) + return writeJsonObjStart(ctx) | writeJsonObjEnd(ctx); + + /* Set the content type in the encoding mask */ + const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + + /* Set the array type in the encoding mask */ + const bool isArray = src->arrayLength > 0 || src->data <= UA_EMPTY_ARRAY_SENTINEL; + const bool hasDimensions = isArray && src->arrayDimensionsSize > 0; + + /* We cannot directly encode a variant inside a variant (but arrays of + * variant are possible) */ + UA_Boolean wrapEO = !isBuiltin; + if(src->type == &UA_TYPES[UA_TYPES_VARIANT] && !isArray) + wrapEO = true; + + status ret = writeJsonObjStart(ctx); + + /* Write the type NodeId */ + if(ctx->useReversible) { + UA_UInt32 typeId = src->type->typeId.identifier.numeric; + if(wrapEO) + typeId = UA_TYPES[UA_TYPES_EXTENSIONOBJECT].typeId.identifier.numeric; + ret |= writeJsonKey(ctx, UA_JSONKEY_TYPE); + ret |= ENCODE_DIRECT_JSON(&typeId, UInt32); + } + + /* Write the Variant body */ + ret |= writeJsonKey(ctx, UA_JSONKEY_BODY); + + if(!isArray) { + encodeScalarJsonWrapExtensionObject(ctx, src); + } else { + if(ctx->useReversible || !hasDimensions) { + ret |= encodeArrayJsonWrapExtensionObject(ctx, src->data, + src->arrayLength, src->type); + if(hasDimensions) { + ret |= writeJsonKey(ctx, UA_JSONKEY_DIMENSION); + ret |= encodeJsonArray(ctx, src->arrayDimensions, src->arrayDimensionsSize, + &UA_TYPES[UA_TYPES_UINT32]); + } + } else { + /* Special case of non-reversible array with dimensions */ + size_t index = 0; + ret |= addMultiArrayContentJSON(ctx, src->data, src->type, &index, + src->arrayDimensions, 0, + src->arrayDimensionsSize); + } + } + + return ret | writeJsonObjEnd(ctx); +} + +/* DataValue */ +ENCODE_JSON(DataValue) { + UA_Boolean hasValue = src->hasValue; + UA_Boolean hasStatus = src->hasStatus; + UA_Boolean hasSourceTimestamp = src->hasSourceTimestamp; + UA_Boolean hasSourcePicoseconds = src->hasSourcePicoseconds; + UA_Boolean hasServerTimestamp = src->hasServerTimestamp; + UA_Boolean hasServerPicoseconds = src->hasServerPicoseconds; + + status ret = writeJsonObjStart(ctx); + + if(hasValue) { + ret |= writeJsonKey(ctx, UA_JSONKEY_VALUE); + ret |= ENCODE_DIRECT_JSON(&src->value, Variant); + } + + if(hasStatus) { + ret |= writeJsonKey(ctx, UA_JSONKEY_STATUS); + ret |= ENCODE_DIRECT_JSON(&src->status, StatusCode); + } + + if(hasSourceTimestamp) { + ret |= writeJsonKey(ctx, UA_JSONKEY_SOURCETIMESTAMP); + ret |= ENCODE_DIRECT_JSON(&src->sourceTimestamp, DateTime); + } + + if(hasSourcePicoseconds) { + ret |= writeJsonKey(ctx, UA_JSONKEY_SOURCEPICOSECONDS); + ret |= ENCODE_DIRECT_JSON(&src->sourcePicoseconds, UInt16); + } + + if(hasServerTimestamp) { + ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERTIMESTAMP); + ret |= ENCODE_DIRECT_JSON(&src->serverTimestamp, DateTime); + } + + if(hasServerPicoseconds) { + ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERPICOSECONDS); + ret |= ENCODE_DIRECT_JSON(&src->serverPicoseconds, UInt16); + } + + return ret | writeJsonObjEnd(ctx); +} + +/* DiagnosticInfo */ +ENCODE_JSON(DiagnosticInfo) { + status ret = writeJsonObjStart(ctx); + + if(src->hasSymbolicId) { + ret |= writeJsonKey(ctx, UA_JSONKEY_SYMBOLICID); + ret |= ENCODE_DIRECT_JSON(&src->symbolicId, Int32); + } + + if(src->hasNamespaceUri) { + ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACEURI); + ret |= ENCODE_DIRECT_JSON(&src->namespaceUri, Int32); + } + + if(src->hasLocalizedText) { + ret |= writeJsonKey(ctx, UA_JSONKEY_LOCALIZEDTEXT); + ret |= ENCODE_DIRECT_JSON(&src->localizedText, Int32); + } + + if(src->hasLocale) { + ret |= writeJsonKey(ctx, UA_JSONKEY_LOCALE); + ret |= ENCODE_DIRECT_JSON(&src->locale, Int32); + } + + if(src->hasAdditionalInfo) { + ret |= writeJsonKey(ctx, UA_JSONKEY_ADDITIONALINFO); + ret |= ENCODE_DIRECT_JSON(&src->additionalInfo, String); + } + + if(src->hasInnerStatusCode) { + ret |= writeJsonKey(ctx, UA_JSONKEY_INNERSTATUSCODE); + ret |= ENCODE_DIRECT_JSON(&src->innerStatusCode, StatusCode); + } + + if(src->hasInnerDiagnosticInfo && src->innerDiagnosticInfo) { + ret |= writeJsonKey(ctx, UA_JSONKEY_INNERDIAGNOSTICINFO); + ret |= encodeJsonJumpTable[UA_DATATYPEKIND_DIAGNOSTICINFO] + (ctx, src->innerDiagnosticInfo, NULL); + } + + return ret | writeJsonObjEnd(ctx); +} + +static status +encodeJsonStructure(CtxJson *ctx, const void *src, const UA_DataType *type) { + status ret = writeJsonObjStart(ctx); + if(ret != UA_STATUSCODE_GOOD) + return ret; + + uintptr_t ptr = (uintptr_t) src; + u8 membersSize = type->membersSize; + for(size_t i = 0; i < membersSize && ret == UA_STATUSCODE_GOOD; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + + if(m->memberName != NULL && *m->memberName != 0) + ret |= writeJsonKey(ctx, m->memberName); + + if(!m->isArray) { + ptr += m->padding; + size_t memSize = mt->memSize; + ret |= encodeJsonJumpTable[mt->typeKind](ctx, (const void*) ptr, mt); + ptr += memSize; + } else { + ptr += m->padding; + const size_t length = *((const size_t*) ptr); + ptr += sizeof (size_t); + ret |= encodeJsonArray(ctx, *(void * const *)ptr, length, mt); + ptr += sizeof (void*); + } + } + + return ret | writeJsonObjEnd(ctx); +} + +static status +encodeJsonNotImplemented(const void *src, const UA_DataType *type, CtxJson *ctx) { + (void) src, (void) type, (void)ctx; + return UA_STATUSCODE_BADNOTIMPLEMENTED; +} + +const encodeJsonSignature encodeJsonJumpTable[UA_DATATYPEKINDS] = { + (encodeJsonSignature)Boolean_encodeJson, + (encodeJsonSignature)SByte_encodeJson, /* SByte */ + (encodeJsonSignature)Byte_encodeJson, + (encodeJsonSignature)Int16_encodeJson, /* Int16 */ + (encodeJsonSignature)UInt16_encodeJson, + (encodeJsonSignature)Int32_encodeJson, /* Int32 */ + (encodeJsonSignature)UInt32_encodeJson, + (encodeJsonSignature)Int64_encodeJson, /* Int64 */ + (encodeJsonSignature)UInt64_encodeJson, + (encodeJsonSignature)Float_encodeJson, + (encodeJsonSignature)Double_encodeJson, + (encodeJsonSignature)String_encodeJson, + (encodeJsonSignature)DateTime_encodeJson, /* DateTime */ + (encodeJsonSignature)Guid_encodeJson, + (encodeJsonSignature)ByteString_encodeJson, /* ByteString */ + (encodeJsonSignature)String_encodeJson, /* XmlElement */ + (encodeJsonSignature)NodeId_encodeJson, + (encodeJsonSignature)ExpandedNodeId_encodeJson, + (encodeJsonSignature)StatusCode_encodeJson, /* StatusCode */ + (encodeJsonSignature)QualifiedName_encodeJson, /* QualifiedName */ + (encodeJsonSignature)LocalizedText_encodeJson, + (encodeJsonSignature)ExtensionObject_encodeJson, + (encodeJsonSignature)DataValue_encodeJson, + (encodeJsonSignature)Variant_encodeJson, + (encodeJsonSignature)DiagnosticInfo_encodeJson, + (encodeJsonSignature)encodeJsonNotImplemented, /* Decimal */ + (encodeJsonSignature)Int32_encodeJson, /* Enum */ + (encodeJsonSignature)encodeJsonStructure, + (encodeJsonSignature)encodeJsonNotImplemented, /* Structure with optional fields */ + (encodeJsonSignature)encodeJsonNotImplemented, /* Union */ + (encodeJsonSignature)encodeJsonNotImplemented /* BitfieldCluster */ +}; + +UA_StatusCode +UA_encodeJson(const void *src, const UA_DataType *type, UA_ByteString *outBuf, + const UA_EncodeJsonOptions *options) { + if(!src || !type) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate buffer */ + UA_Boolean allocated = false; + status res = UA_STATUSCODE_GOOD; + if(outBuf->length == 0) { + size_t len = UA_calcSizeJson(src, type, options); + res = UA_ByteString_allocBuffer(outBuf, len); + if(res != UA_STATUSCODE_GOOD) + return res; + allocated = true; + } + + /* Set up the context */ + CtxJson ctx; + memset(&ctx, 0, sizeof(ctx)); + ctx.pos = outBuf->data; + ctx.end = &outBuf->data[outBuf->length]; + ctx.depth = 0; + ctx.calcOnly = false; + ctx.useReversible = true; /* default */ + if(options) { + ctx.namespaces = options->namespaces; + ctx.namespacesSize = options->namespacesSize; + ctx.serverUris = options->serverUris; + ctx.serverUrisSize = options->serverUrisSize; + ctx.useReversible = options->useReversible; + ctx.prettyPrint = options->prettyPrint; + ctx.unquotedKeys = options->unquotedKeys; + ctx.stringNodeIds = options->stringNodeIds; + } + + /* Encode */ + res = encodeJsonJumpTable[type->typeKind](&ctx, src, type); + + /* Clean up */ + if(res == UA_STATUSCODE_GOOD) + outBuf->length = (size_t)((uintptr_t)ctx.pos - (uintptr_t)outBuf->data); + else if(allocated) + UA_ByteString_clear(outBuf); + return res; +} + +UA_StatusCode +UA_print(const void *p, const UA_DataType *type, UA_String *output) { + if(!p || !type || !output) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_EncodeJsonOptions options; + memset(&options, 0, sizeof(UA_EncodeJsonOptions)); + options.useReversible = true; + options.prettyPrint = true; + options.unquotedKeys = true; + options.stringNodeIds = true; + return UA_encodeJson(p, type, output, &options); +} + +/************/ +/* CalcSize */ +/************/ + +size_t +UA_calcSizeJson(const void *src, const UA_DataType *type, + const UA_EncodeJsonOptions *options) { + if(!src || !type) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Set up the context */ + CtxJson ctx; + memset(&ctx, 0, sizeof(ctx)); + ctx.pos = NULL; + ctx.end = (const UA_Byte*)(uintptr_t)SIZE_MAX; + ctx.depth = 0; + ctx.useReversible = true; /* default */ + if(options) { + ctx.namespaces = options->namespaces; + ctx.namespacesSize = options->namespacesSize; + ctx.serverUris = options->serverUris; + ctx.serverUrisSize = options->serverUrisSize; + ctx.useReversible = options->useReversible; + ctx.prettyPrint = options->prettyPrint; + ctx.unquotedKeys = options->unquotedKeys; + ctx.stringNodeIds = options->stringNodeIds; + } + + ctx.calcOnly = true; + + /* Encode */ + status ret = encodeJsonJumpTable[type->typeKind](&ctx, src, type); + if(ret != UA_STATUSCODE_GOOD) + return 0; + return (size_t)ctx.pos; +} + +/**********/ +/* Decode */ +/**********/ + +#define GET_TOKEN \ + size_t tokenSize = getTokenLength(&ctx->tokens[ctx->index]); \ + const char* tokenData = &ctx->json5[ctx->tokens[ctx->index].start]; \ + do {} while(0) + +#define CHECK_TOKEN_BOUNDS do { \ + if(ctx->index >= ctx->tokensSize) \ + return UA_STATUSCODE_BADDECODINGERROR; \ + } while(0) + +#define CHECK_NUMBER do { \ + if(currentTokenType(ctx) != CJ5_TOKEN_NUMBER) { \ + return UA_STATUSCODE_BADDECODINGERROR; \ + }} while(0) + +#define CHECK_BOOL do { \ + if(currentTokenType(ctx) != CJ5_TOKEN_BOOL) { \ + return UA_STATUSCODE_BADDECODINGERROR; \ + }} while(0) + +#define CHECK_STRING do { \ + if(currentTokenType(ctx) != CJ5_TOKEN_STRING) { \ + return UA_STATUSCODE_BADDECODINGERROR; \ + }} while(0) + +#define CHECK_OBJECT do { \ + if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) { \ + return UA_STATUSCODE_BADDECODINGERROR; \ + }} while(0) + +#define CHECK_NULL_SKIP do { \ + if(currentTokenType(ctx) == CJ5_TOKEN_NULL) { \ + ctx->index++; \ + return UA_STATUSCODE_GOOD; \ + }} while(0) + +/* Forward declarations*/ +#define DECODE_JSON(TYPE) static status \ + TYPE##_decodeJson(ParseCtx *ctx, UA_##TYPE *dst, \ + const UA_DataType *type) + +/* If ctx->index points to the beginning of an object, move the index to the + * next token after this object. Attention! The index can be moved after the + * last parsed token. So the array length has to be checked afterwards. */ +static void +skipObject(ParseCtx *ctx) { + unsigned int end = ctx->tokens[ctx->index].end; + do { + ctx->index++; + } while(ctx->index < ctx->tokensSize && + ctx->tokens[ctx->index].start < end); +} + +static status +Array_decodeJson(ParseCtx *ctx, void **dst, const UA_DataType *type); + +static status +Variant_decodeJsonUnwrapExtensionObject(ParseCtx *ctx, void *p, const UA_DataType *type); + +static UA_SByte +jsoneq(const char *json, const cj5_token *tok, const char *searchKey) { + /* TODO: necessary? + if(json == NULL + || tok == NULL + || searchKey == NULL) { + return -1; + } */ + + size_t len = getTokenLength(tok); + if(tok->type == CJ5_TOKEN_STRING && + strlen(searchKey) == len && + strncmp(json + tok->start, (const char*)searchKey, len) == 0) + return 0; + + return -1; +} + +DECODE_JSON(Boolean) { + CHECK_TOKEN_BOUNDS; + CHECK_BOOL; + GET_TOKEN; + + if(tokenSize == 4 && + tokenData[0] == 't' && tokenData[1] == 'r' && + tokenData[2] == 'u' && tokenData[3] == 'e') { + *dst = true; + } else if(tokenSize == 5 && + tokenData[0] == 'f' && tokenData[1] == 'a' && + tokenData[2] == 'l' && tokenData[3] == 's' && + tokenData[4] == 'e') { + *dst = false; + } else { + return UA_STATUSCODE_BADDECODINGERROR; + } + + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +parseUnsignedInteger(const char *tokenData, size_t tokenSize, UA_UInt64 *dst) { + size_t len = parseUInt64(tokenData, tokenSize, dst); + if(len == 0) + return UA_STATUSCODE_BADDECODINGERROR; + + /* There must only be whitespace between the end of the parsed number and + * the end of the token */ + for(size_t i = len; i < tokenSize; i++) { + if(tokenData[i] != ' ' && tokenData[i] -'\t' >= 5) + return UA_STATUSCODE_BADDECODINGERROR; + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +parseSignedInteger(const char *tokenData, size_t tokenSize, UA_Int64 *dst) { + size_t len = parseInt64(tokenData, tokenSize, dst); + if(len == 0) + return UA_STATUSCODE_BADDECODINGERROR; + + /* There must only be whitespace between the end of the parsed number and + * the end of the token */ + for(size_t i = len; i < tokenSize; i++) { + if(tokenData[i] != ' ' && tokenData[i] -'\t' >= 5) + return UA_STATUSCODE_BADDECODINGERROR; + } + + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(Byte) { + CHECK_TOKEN_BOUNDS; + CHECK_NUMBER; + GET_TOKEN; + + UA_UInt64 out = 0; + UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, &out); + if(s != UA_STATUSCODE_GOOD || out > UA_BYTE_MAX) + return UA_STATUSCODE_BADDECODINGERROR; + *dst = (UA_Byte)out; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(UInt16) { + CHECK_TOKEN_BOUNDS; + CHECK_NUMBER; + GET_TOKEN; + + UA_UInt64 out = 0; + UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, &out); + if(s != UA_STATUSCODE_GOOD || out > UA_UINT16_MAX) + return UA_STATUSCODE_BADDECODINGERROR; + *dst = (UA_UInt16)out; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(UInt32) { + CHECK_TOKEN_BOUNDS; + CHECK_NUMBER; + GET_TOKEN; + + UA_UInt64 out = 0; + UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, &out); + if(s != UA_STATUSCODE_GOOD || out > UA_UINT32_MAX) + return UA_STATUSCODE_BADDECODINGERROR; + *dst = (UA_UInt32)out; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(UInt64) { + CHECK_TOKEN_BOUNDS; + GET_TOKEN; + + UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, dst); + if(s != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADDECODINGERROR; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(SByte) { + CHECK_TOKEN_BOUNDS; + CHECK_NUMBER; + GET_TOKEN; + + UA_Int64 out = 0; + UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, &out); + if(s != UA_STATUSCODE_GOOD || out < UA_SBYTE_MIN || out > UA_SBYTE_MAX) + return UA_STATUSCODE_BADDECODINGERROR; + *dst = (UA_SByte)out; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(Int16) { + CHECK_TOKEN_BOUNDS; + CHECK_NUMBER; + GET_TOKEN; + + UA_Int64 out = 0; + UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, &out); + if(s != UA_STATUSCODE_GOOD || out < UA_INT16_MIN || out > UA_INT16_MAX) + return UA_STATUSCODE_BADDECODINGERROR; + *dst = (UA_Int16)out; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(Int32) { + CHECK_TOKEN_BOUNDS; + CHECK_NUMBER; + GET_TOKEN; + + UA_Int64 out = 0; + UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, &out); + if(s != UA_STATUSCODE_GOOD || out < UA_INT32_MIN || out > UA_INT32_MAX) + return UA_STATUSCODE_BADDECODINGERROR; + *dst = (UA_Int32)out; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(Int64) { + CHECK_TOKEN_BOUNDS; + GET_TOKEN; + + UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, dst); + if(s != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADDECODINGERROR; + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +/* Either a STRING or NUMBER token */ +DECODE_JSON(Double) { + CHECK_TOKEN_BOUNDS; + GET_TOKEN; + + /* https://www.exploringbinary.com/maximum-number-of-decimal-digits-in-binary-floating-point-numbers/ + * Maximum digit counts for select IEEE floating-point formats: 1074 + * Sanity check. + */ + if(tokenSize > 2000) + return UA_STATUSCODE_BADDECODINGERROR; + + cj5_token_type tokenType = currentTokenType(ctx); + + /* It could be a String with Nan, Infinity */ + if(tokenType == CJ5_TOKEN_STRING) { + ctx->index++; + + if(tokenSize == 8 && memcmp(tokenData, "Infinity", 8) == 0) { + *dst = INFINITY; + return UA_STATUSCODE_GOOD; + } + + if(tokenSize == 9 && memcmp(tokenData, "-Infinity", 9) == 0) { + /* workaround an MSVC 2013 issue */ + *dst = -INFINITY; + return UA_STATUSCODE_GOOD; + } + + if(tokenSize == 3 && memcmp(tokenData, "NaN", 3) == 0) { + *dst = NAN; + return UA_STATUSCODE_GOOD; + } + + if(tokenSize == 4 && memcmp(tokenData, "-NaN", 4) == 0) { + *dst = NAN; + return UA_STATUSCODE_GOOD; + } + + return UA_STATUSCODE_BADDECODINGERROR; + } + + if(tokenType != CJ5_TOKEN_NUMBER) + return UA_STATUSCODE_BADDECODINGERROR; + + size_t len = parseDouble(tokenData, tokenSize, dst); + if(len == 0) + return UA_STATUSCODE_BADDECODINGERROR; + + /* There must only be whitespace between the end of the parsed number and + * the end of the token */ + for(size_t i = len; i < tokenSize; i++) { + if(tokenData[i] != ' ' && tokenData[i] -'\t' >= 5) + return UA_STATUSCODE_BADDECODINGERROR; + } + + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(Float) { + UA_Double v = 0.0; + UA_StatusCode res = Double_decodeJson(ctx, &v, NULL); + *dst = (UA_Float)v; + return res; +} + +DECODE_JSON(Guid) { + CHECK_TOKEN_BOUNDS; + CHECK_STRING; + GET_TOKEN; + + /* Use the existing parsing routine if available */ + UA_String str = {tokenSize, (UA_Byte*)(uintptr_t)tokenData}; + ctx->index++; + return UA_Guid_parse(dst, str); +} + +DECODE_JSON(String) { + CHECK_TOKEN_BOUNDS; + CHECK_STRING; + GET_TOKEN; + (void)tokenData; + + /* Empty string? */ + if(tokenSize == 0) { + dst->data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; + dst->length = 0; + ctx->index++; + return UA_STATUSCODE_GOOD; + } + + /* The decoded utf8 is at most of the same length as the source string */ + char *outBuf = (char*)UA_malloc(tokenSize+1); + if(!outBuf) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Decode the string */ + cj5_result r; + r.tokens = ctx->tokens; + r.num_tokens = (unsigned int)ctx->tokensSize; + r.json5 = ctx->json5; + unsigned int len = 0; + cj5_error_code err = cj5_get_str(&r, (unsigned int)ctx->index, outBuf, &len); + if(err != CJ5_ERROR_NONE) { + UA_free(outBuf); + return UA_STATUSCODE_BADDECODINGERROR; + } + + /* Set the output */ + dst->length = len; + if(dst->length > 0) { + dst->data = (UA_Byte*)outBuf; + } else { + dst->data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; + UA_free(outBuf); + } + + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(ByteString) { + CHECK_TOKEN_BOUNDS; + CHECK_STRING; + GET_TOKEN; + + /* Empty bytestring? */ + if(tokenSize == 0) { + dst->data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; + dst->length = 0; + } else { + size_t flen = 0; + unsigned char* unB64 = + UA_unbase64((const unsigned char*)tokenData, tokenSize, &flen); + if(unB64 == 0) + return UA_STATUSCODE_BADDECODINGERROR; + dst->data = (u8*)unB64; + dst->length = flen; + } + + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(LocalizedText) { + CHECK_OBJECT; + + DecodeEntry entries[2] = { + {UA_JSONKEY_LOCALE, &dst->locale, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, + {UA_JSONKEY_TEXT, &dst->text, NULL, false, &UA_TYPES[UA_TYPES_STRING]} + }; + + return decodeFields(ctx, entries, 2); +} + +DECODE_JSON(QualifiedName) { + CHECK_OBJECT; + + DecodeEntry entries[2] = { + {UA_JSONKEY_NAME, &dst->name, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, + {UA_JSONKEY_URI, &dst->namespaceIndex, NULL, false, &UA_TYPES[UA_TYPES_UINT16]} + }; + + return decodeFields(ctx, entries, 2); +} + +UA_FUNC_ATTR_WARN_UNUSED_RESULT status +lookAheadForKey(ParseCtx *ctx, const char *key, size_t *resultIndex) { + /* The current index must point to the beginning of an object. + * This has to be ensured by the caller. */ + UA_assert(currentTokenType(ctx) == CJ5_TOKEN_OBJECT); + + status ret = UA_STATUSCODE_BADNOTFOUND; + size_t oldIndex = ctx->index; /* Save index for later restore */ + unsigned int end = ctx->tokens[ctx->index].end; + ctx->index++; /* Move to the first key */ + while(ctx->index < ctx->tokensSize && + ctx->tokens[ctx->index].start < end) { + /* Key must be a string */ + UA_assert(currentTokenType(ctx) == CJ5_TOKEN_STRING); + + /* Move index to the value */ + ctx->index++; + + /* Value for the key must exist */ + UA_assert(ctx->index < ctx->tokensSize); + + /* Compare the key (previous index) */ + if(jsoneq(ctx->json5, &ctx->tokens[ctx->index-1], key) == 0) { + *resultIndex = ctx->index; /* Point result to the current index */ + ret = UA_STATUSCODE_GOOD; + break; + } + + skipObject(ctx); /* Jump over the value (can also be an array or object) */ + } + ctx->index = oldIndex; /* Restore the old index */ + return ret; +} + +static status +prepareDecodeNodeIdJson(ParseCtx *ctx, UA_NodeId *dst, + u8 *fieldCount, DecodeEntry *entries) { + UA_assert(currentTokenType(ctx) == CJ5_TOKEN_OBJECT); + + /* possible keys: Id, IdType, NamespaceIndex */ + /* Id must always be present */ + entries[*fieldCount].fieldName = UA_JSONKEY_ID; + entries[*fieldCount].found = false; + entries[*fieldCount].type = NULL; + entries[*fieldCount].function = NULL; + + /* IdType */ + size_t idIndex = 0; + status ret = lookAheadForKey(ctx, UA_JSONKEY_IDTYPE, &idIndex); + if(ret == UA_STATUSCODE_GOOD) { + size_t size = getTokenLength(&ctx->tokens[idIndex]); + if(size < 1) + return UA_STATUSCODE_BADDECODINGERROR; + + const char *idType = &ctx->json5[ctx->tokens[idIndex].start]; + + if(idType[0] == '2') { + dst->identifierType = UA_NODEIDTYPE_GUID; + entries[*fieldCount].fieldPointer = &dst->identifier.guid; + entries[*fieldCount].type = &UA_TYPES[UA_TYPES_GUID]; + } else if(idType[0] == '1') { + dst->identifierType = UA_NODEIDTYPE_STRING; + entries[*fieldCount].fieldPointer = &dst->identifier.string; + entries[*fieldCount].type = &UA_TYPES[UA_TYPES_STRING]; + } else if(idType[0] == '3') { + dst->identifierType = UA_NODEIDTYPE_BYTESTRING; + entries[*fieldCount].fieldPointer = &dst->identifier.byteString; + entries[*fieldCount].type = &UA_TYPES[UA_TYPES_BYTESTRING]; + } else { + return UA_STATUSCODE_BADDECODINGERROR; + } + + /* Id always present */ + (*fieldCount)++; + + entries[*fieldCount].fieldName = UA_JSONKEY_IDTYPE; + entries[*fieldCount].fieldPointer = NULL; + entries[*fieldCount].function = NULL; + entries[*fieldCount].found = false; + entries[*fieldCount].type = NULL; + + /* IdType */ + (*fieldCount)++; + } else { + dst->identifierType = UA_NODEIDTYPE_NUMERIC; + entries[*fieldCount].fieldPointer = &dst->identifier.numeric; + entries[*fieldCount].function = NULL; + entries[*fieldCount].found = false; + entries[*fieldCount].type = &UA_TYPES[UA_TYPES_UINT32]; + (*fieldCount)++; + } + + /* NodeId has a NamespaceIndex (the ExpandedNodeId specialization may + * overwrite this) */ + entries[*fieldCount].fieldName = UA_JSONKEY_NAMESPACE; + entries[*fieldCount].fieldPointer = &dst->namespaceIndex; + entries[*fieldCount].function = NULL; + entries[*fieldCount].found = false; + entries[*fieldCount].type = &UA_TYPES[UA_TYPES_UINT16]; + (*fieldCount)++; + + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(NodeId) { + /* Non-standard decoding of NodeIds from the string representation */ + if(currentTokenType(ctx) == CJ5_TOKEN_STRING) { + GET_TOKEN; + UA_String str = {tokenSize, (UA_Byte*)(uintptr_t)tokenData}; + ctx->index++; + return UA_NodeId_parse(dst, str); + } + + /* Object representation */ + CHECK_OBJECT; + + u8 fieldCount = 0; + DecodeEntry entries[3]; + status ret = prepareDecodeNodeIdJson(ctx, dst, &fieldCount, entries); + if(ret != UA_STATUSCODE_GOOD) + return ret; + return decodeFields(ctx, entries, fieldCount); +} + +static status +decodeExpandedNodeIdNamespace(ParseCtx *ctx, void *dst, const UA_DataType *type) { + UA_ExpandedNodeId *en = (UA_ExpandedNodeId*)dst; + + /* Parse as a number */ + size_t oldIndex = ctx->index; + status ret = UInt16_decodeJson(ctx, &en->nodeId.namespaceIndex, NULL); + if(ret == UA_STATUSCODE_GOOD) + return ret; + + /* Parse as a string */ + ctx->index = oldIndex; /* Reset the index */ + ret = String_decodeJson(ctx, &en->namespaceUri, NULL); + if(ret != UA_STATUSCODE_GOOD) + return ret; + + /* Replace with the index if the URI is found. Otherwise keep the string. */ + for(size_t i = 0; i < ctx->namespacesSize; i++) { + if(UA_String_equal(&en->namespaceUri, &ctx->namespaces[i])) { + UA_String_clear(&en->namespaceUri); + en->nodeId.namespaceIndex = (UA_UInt16)i; + break; + } + } + + return UA_STATUSCODE_GOOD; +} + +static status +decodeExpandedNodeIdServerUri(ParseCtx *ctx, void *dst, const UA_DataType *type) { + UA_ExpandedNodeId *en = (UA_ExpandedNodeId*)dst; + + /* Parse as a number */ + size_t oldIndex = ctx->index; + status ret = UInt32_decodeJson(ctx, &en->serverIndex, NULL); + if(ret == UA_STATUSCODE_GOOD) + return ret; + + /* Parse as a string */ + UA_String uri = UA_STRING_NULL; + ctx->index = oldIndex; /* Reset the index */ + ret = String_decodeJson(ctx, &uri, NULL); + if(ret != UA_STATUSCODE_GOOD) + return ret; + + /* Try to translate the URI into an index */ + ret = UA_STATUSCODE_BADDECODINGERROR; + for(size_t i = 0; i < ctx->serverUrisSize; i++) { + if(UA_String_equal(&uri, &ctx->serverUris[i])) { + en->serverIndex = (UA_UInt32)i; + ret = UA_STATUSCODE_GOOD; + break; + } + } + + UA_String_clear(&uri); + return ret; +} + +DECODE_JSON(ExpandedNodeId) { + /* Non-standard decoding of ExpandedNodeIds from the string representation */ + if(currentTokenType(ctx) == CJ5_TOKEN_STRING) { + GET_TOKEN; + UA_String str = {tokenSize, (UA_Byte*)(uintptr_t)tokenData}; + ctx->index++; + return UA_ExpandedNodeId_parse(dst, str); + } + + /* Object representation */ + CHECK_OBJECT; + + u8 fieldCount = 0; + DecodeEntry entries[4]; + status ret = prepareDecodeNodeIdJson(ctx, &dst->nodeId, &fieldCount, entries); + if(ret != UA_STATUSCODE_GOOD) + return ret; + + /* Overwrite the namespace entry */ + fieldCount--; + entries[fieldCount].fieldPointer = dst; + entries[fieldCount].function = decodeExpandedNodeIdNamespace; + entries[fieldCount].type = NULL; + fieldCount++; + + entries[fieldCount].fieldName = UA_JSONKEY_SERVERURI; + entries[fieldCount].fieldPointer = dst; + entries[fieldCount].function = decodeExpandedNodeIdServerUri; + entries[fieldCount].found = false; + entries[fieldCount].type = NULL; + fieldCount++; + + return decodeFields(ctx, entries, fieldCount); +} + +DECODE_JSON(DateTime) { + CHECK_TOKEN_BOUNDS; + CHECK_STRING; + GET_TOKEN; + + /* The last character has to be 'Z'. We can omit some length checks later on + * because we know the atoi functions stop before the 'Z'. */ + if(tokenSize == 0 || tokenData[tokenSize-1] != 'Z') + return UA_STATUSCODE_BADDECODINGERROR; + + struct musl_tm dts; + memset(&dts, 0, sizeof(dts)); + + size_t pos = 0; + size_t len; + + /* Parse the year. The ISO standard asks for four digits. But we accept up + * to five with an optional plus or minus in front due to the range of the + * DateTime 64bit integer. But in that case we require the year and the + * month to be separated by a '-'. Otherwise we cannot know where the month + * starts. */ + if(tokenData[0] == '-' || tokenData[0] == '+') + pos++; + UA_Int64 year = 0; + len = parseInt64(&tokenData[pos], 5, &year); + pos += len; + if(len != 4 && tokenData[pos] != '-') + return UA_STATUSCODE_BADDECODINGERROR; + if(tokenData[0] == '-') + year = -year; + dts.tm_year = (UA_Int16)year - 1900; + if(tokenData[pos] == '-') + pos++; + + /* Parse the month */ + UA_UInt64 month = 0; + len = parseUInt64(&tokenData[pos], 2, &month); + pos += len; + UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); + dts.tm_mon = (UA_UInt16)month - 1; + if(tokenData[pos] == '-') + pos++; + + /* Parse the day and check the T between date and time */ + UA_UInt64 day = 0; + len = parseUInt64(&tokenData[pos], 2, &day); + pos += len; + UA_CHECK(len == 2 || tokenData[pos] != 'T', + return UA_STATUSCODE_BADDECODINGERROR); + dts.tm_mday = (UA_UInt16)day; + pos++; + + /* Parse the hour */ + UA_UInt64 hour = 0; + len = parseUInt64(&tokenData[pos], 2, &hour); + pos += len; + UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); + dts.tm_hour = (UA_UInt16)hour; + if(tokenData[pos] == ':') + pos++; + + /* Parse the minute */ + UA_UInt64 min = 0; + len = parseUInt64(&tokenData[pos], 2, &min); + pos += len; + UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); + dts.tm_min = (UA_UInt16)min; + if(tokenData[pos] == ':') + pos++; + + /* Parse the second */ + UA_UInt64 sec = 0; + len = parseUInt64(&tokenData[pos], 2, &sec); + pos += len; + UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); + dts.tm_sec = (UA_UInt16)sec; + + /* Compute the seconds since the Unix epoch */ + long long sinceunix = musl_tm_to_secs(&dts); + + /* Are we within the range that can be represented? */ + long long sinceunix_min = + (long long)(UA_INT64_MIN / UA_DATETIME_SEC) - + (long long)(UA_DATETIME_UNIX_EPOCH / UA_DATETIME_SEC) - + (long long)1; /* manual correction due to rounding */ + long long sinceunix_max = (long long) + ((UA_INT64_MAX - UA_DATETIME_UNIX_EPOCH) / UA_DATETIME_SEC); + if(sinceunix < sinceunix_min || sinceunix > sinceunix_max) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Convert to DateTime. Add or subtract one extra second here to prevent + * underflow/overflow. This is reverted once the fractional part has been + * added. */ + sinceunix -= (sinceunix > 0) ? 1 : -1; + UA_DateTime dt = (UA_DateTime) + (sinceunix + (UA_DATETIME_UNIX_EPOCH / UA_DATETIME_SEC)) * UA_DATETIME_SEC; + + /* Parse the fraction of the second if defined */ + if(tokenData[pos] == ',' || tokenData[pos] == '.') { + pos++; + double frac = 0.0; + double denom = 0.1; + while(pos < tokenSize && + tokenData[pos] >= '0' && tokenData[pos] <= '9') { + frac += denom * (tokenData[pos] - '0'); + denom *= 0.1; + pos++; + } + frac += 0.00000005; /* Correct rounding when converting to integer */ + dt += (UA_DateTime)(frac * UA_DATETIME_SEC); + } + + /* Remove the underflow/overflow protection (see above) */ + if(sinceunix > 0) { + if(dt > UA_INT64_MAX - UA_DATETIME_SEC) + return UA_STATUSCODE_BADDECODINGERROR; + dt += UA_DATETIME_SEC; + } else { + if(dt < UA_INT64_MIN + UA_DATETIME_SEC) + return UA_STATUSCODE_BADDECODINGERROR; + dt -= UA_DATETIME_SEC; + } + + /* We must be at the end of the string (ending with 'Z' as checked above) */ + if(pos != tokenSize - 1) + return UA_STATUSCODE_BADDECODINGERROR; + + *dst = dt; + + ctx->index++; + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(StatusCode) { + return UInt32_decodeJson(ctx, dst, NULL); +} + +static status +VariantDimension_decodeJson(ParseCtx *ctx, void *dst, const UA_DataType *type) { + (void) type; + const UA_DataType *dimType = &UA_TYPES[UA_TYPES_UINT32]; + return Array_decodeJson(ctx, (void**)dst, dimType); +} + +/* Get type type encoded by the ExtensionObject at ctx->index. + * Returns NULL if that fails (type unknown or otherwise). */ +static const UA_DataType * +getExtensionObjectType(ParseCtx *ctx) { + if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) + return NULL; + + /* Get the type NodeId index */ + size_t typeIdIndex = 0; + UA_StatusCode ret = lookAheadForKey(ctx, UA_JSONKEY_TYPEID, &typeIdIndex); + if(ret != UA_STATUSCODE_GOOD) + return NULL; + + size_t oldIndex = ctx->index; + ctx->index = typeIdIndex; + + /* Decode the type NodeId */ + UA_NodeId typeId; + UA_NodeId_init(&typeId); + ret = NodeId_decodeJson(ctx, &typeId, &UA_TYPES[UA_TYPES_NODEID]); + ctx->index = oldIndex; + if(ret != UA_STATUSCODE_GOOD) { + UA_NodeId_clear(&typeId); /* We don't have the global cleanup */ + return NULL; + } + + /* Lookup an return */ + const UA_DataType *type = UA_findDataTypeWithCustom(&typeId, ctx->customTypes); + UA_NodeId_clear(&typeId); + return type; +} + +/* Check if all array members are ExtensionObjects of the same type. Return this + * type or NULL. */ +static const UA_DataType * +getArrayUnwrapType(ParseCtx *ctx, size_t arrayIndex) { + UA_assert(ctx->tokens[arrayIndex].type == CJ5_TOKEN_ARRAY); + + /* Save index to restore later */ + size_t oldIndex = ctx->index; + ctx->index = arrayIndex; + + /* Return early for empty arrays */ + size_t length = (size_t)ctx->tokens[ctx->index].size; + if(length == 0) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* Go to first array member */ + ctx->index++; + + /* Lookup the type for the first array member */ + UA_NodeId typeId; + UA_NodeId_init(&typeId); + const UA_DataType *typeOfBody = getExtensionObjectType(ctx); + if(!typeOfBody) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* The content is a builtin type that could have been directly encoded in + * the Variant, there was no need to wrap in an ExtensionObject. But this + * means for us, that somebody made an extra effort to explicitly get an + * ExtensionObject. So we keep it. As an added advantage we will generate + * the same JSON again when encoding again. */ + UA_Boolean isBuiltin = (typeOfBody->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + if(isBuiltin) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* Get the typeId index for faster comparison below. + * Cannot fail as getExtensionObjectType already looked this up. */ + size_t typeIdIndex = 0; + UA_StatusCode ret = lookAheadForKey(ctx, UA_JSONKEY_TYPEID, &typeIdIndex); + (void)ret; + UA_assert(ret == UA_STATUSCODE_GOOD); + const char* typeIdData = &ctx->json5[ctx->tokens[typeIdIndex].start]; + size_t typeIdSize = getTokenLength(&ctx->tokens[typeIdIndex]); + + /* Loop over all members and check whether they can be unwrapped */ + for(size_t i = 0; i < length; i++) { + /* Array element must be an object */ + if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* Check for non-JSON encoding */ + size_t encIndex = 0; + ret = lookAheadForKey(ctx, UA_JSONKEY_ENCODING, &encIndex); + if(ret == UA_STATUSCODE_GOOD) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* Get the type NodeId index */ + size_t memberTypeIdIndex = 0; + ret = lookAheadForKey(ctx, UA_JSONKEY_TYPEID, &memberTypeIdIndex); + if(ret != UA_STATUSCODE_GOOD) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* Is it the same type? Compare raw NodeId string */ + const char* memberTypeIdData = &ctx->json5[ctx->tokens[memberTypeIdIndex].start]; + size_t memberTypeIdSize = getTokenLength(&ctx->tokens[memberTypeIdIndex]); + if(typeIdSize != memberTypeIdSize || + memcmp(typeIdData, memberTypeIdData, typeIdSize) != 0) { + ctx->index = oldIndex; /* Restore the index */ + return NULL; + } + + /* Skip to the next array member */ + skipObject(ctx); + } + + ctx->index = oldIndex; /* Restore the index */ + return typeOfBody; +} + +static status +Array_decodeJsonUnwrapExtensionObject(ParseCtx *ctx, void **dst, const UA_DataType *type) { + size_t *size_ptr = (size_t*) dst - 1; /* Save the length pointer of the array */ + size_t length = (size_t)ctx->tokens[ctx->index].size; + + /* Known from the previous unwrapping-check */ + UA_assert(currentTokenType(ctx) == CJ5_TOKEN_ARRAY); + UA_assert(length > 0); + + ctx->index++; /* Go to first array member */ + + /* Allocate memory */ + *dst = UA_calloc(length, type->memSize); + if(*dst == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Decode array members */ + uintptr_t ptr = (uintptr_t)*dst; + for(size_t i = 0; i < length; i++) { + UA_assert(ctx->tokens[ctx->index].type == CJ5_TOKEN_OBJECT); + + /* Get the body field and decode it */ + DecodeEntry entries[3] = { + {UA_JSONKEY_TYPEID, NULL, NULL, false, NULL}, + {UA_JSONKEY_BODY, (void*)ptr, NULL, false, type}, + {UA_JSONKEY_ENCODING, NULL, NULL, false, NULL} + }; + status ret = decodeFields(ctx, entries, 3); /* Also skips to the next object */ + if(ret != UA_STATUSCODE_GOOD) { + UA_Array_delete(*dst, i+1, type); + *dst = NULL; + return ret; + } + ptr += type->memSize; + } + + *size_ptr = length; /* All good, set the size */ + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(Variant) { + CHECK_NULL_SKIP; /* Treat null as an empty variant */ + CHECK_OBJECT; + + /* First search for the variant type in the json object. */ + size_t typeIndex = 0; + status ret = lookAheadForKey(ctx, UA_JSONKEY_TYPE, &typeIndex); + if(ret != UA_STATUSCODE_GOOD) { + skipObject(ctx); + return UA_STATUSCODE_GOOD; + } + + /* Parse the type */ + if(ctx->tokens[typeIndex].type != CJ5_TOKEN_NUMBER) + return UA_STATUSCODE_BADDECODINGERROR; + UA_UInt64 idType = 0; + size_t len = parseUInt64(&ctx->json5[ctx->tokens[typeIndex].start], + getTokenLength(&ctx->tokens[typeIndex]), &idType); + if(len == 0) + return UA_STATUSCODE_BADDECODINGERROR; + + /* A NULL Variant */ + if(idType == 0) { + skipObject(ctx); + return UA_STATUSCODE_GOOD; + } + + /* Set the type */ + UA_NodeId typeNodeId = UA_NODEID_NUMERIC(0, (UA_UInt32)idType); + dst->type = UA_findDataTypeWithCustom(&typeNodeId, ctx->customTypes); + if(!dst->type) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Search for body */ + size_t bodyIndex = 0; + ret = lookAheadForKey(ctx, UA_JSONKEY_BODY, &bodyIndex); + if(ret != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Value is an array? */ + UA_Boolean isArray = (ctx->tokens[bodyIndex].type == CJ5_TOKEN_ARRAY); + + /* TODO: Handling of null-arrays (length -1) needs to be clarified + * + * if(tokenIsNull(ctx, bodyIndex)) { + * isArray = true; + * dst->arrayLength = 0; + * } */ + + /* Has the variant dimension? */ + UA_Boolean hasDimension = false; + size_t dimIndex = 0; + ret = lookAheadForKey(ctx, UA_JSONKEY_DIMENSION, &dimIndex); + if(ret == UA_STATUSCODE_GOOD) + hasDimension = (ctx->tokens[dimIndex].size > 0); + + /* No array but has dimension -> error */ + if(!isArray && hasDimension) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Get the datatype of the content. The type must be a builtin data type. + * All not-builtin types are wrapped in an ExtensionObject. */ + if(dst->type->typeKind > UA_DATATYPEKIND_DIAGNOSTICINFO) + return UA_STATUSCODE_BADDECODINGERROR; + + /* A variant cannot contain a variant. But it can contain an array of + * variants */ + if(dst->type->typeKind == UA_DATATYPEKIND_VARIANT && !isArray) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Decode an array */ + if(isArray) { + DecodeEntry entries[3] = { + {UA_JSONKEY_TYPE, NULL, NULL, false, NULL}, + {UA_JSONKEY_BODY, &dst->data, (decodeJsonSignature)Array_decodeJson, false, dst->type}, + {UA_JSONKEY_DIMENSION, &dst->arrayDimensions, VariantDimension_decodeJson, false, NULL} + }; + + /* Try to unwrap ExtensionObjects in the array. + * The members must all have the same type. */ + if(dst->type == &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) { + const UA_DataType *unwrapType = getArrayUnwrapType(ctx, bodyIndex); + if(unwrapType) { + dst->type = unwrapType; + entries[1].type = unwrapType; + entries[1].function = (decodeJsonSignature) + Array_decodeJsonUnwrapExtensionObject; + } + } + + return decodeFields(ctx, entries, (hasDimension) ? 3 : 2); + } + + /* Decode a value wrapped in an ExtensionObject */ + if(dst->type->typeKind == UA_DATATYPEKIND_EXTENSIONOBJECT) { + DecodeEntry entries[2] = { + {UA_JSONKEY_TYPE, NULL, NULL, false, NULL}, + {UA_JSONKEY_BODY, dst, Variant_decodeJsonUnwrapExtensionObject, false, NULL} + }; + return decodeFields(ctx, entries, 2); + } + + /* Allocate Memory for Body */ + dst->data = UA_new(dst->type); + if(!dst->data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + DecodeEntry entries[2] = { + {UA_JSONKEY_TYPE, NULL, NULL, false, NULL}, + {UA_JSONKEY_BODY, dst->data, NULL, false, dst->type} + }; + return decodeFields(ctx, entries, 2); +} + +DECODE_JSON(DataValue) { + CHECK_NULL_SKIP; /* Treat a null value as an empty DataValue */ + CHECK_OBJECT; + + DecodeEntry entries[6] = { + {UA_JSONKEY_VALUE, &dst->value, NULL, false, &UA_TYPES[UA_TYPES_VARIANT]}, + {UA_JSONKEY_STATUS, &dst->status, NULL, false, &UA_TYPES[UA_TYPES_STATUSCODE]}, + {UA_JSONKEY_SOURCETIMESTAMP, &dst->sourceTimestamp, NULL, false, &UA_TYPES[UA_TYPES_DATETIME]}, + {UA_JSONKEY_SOURCEPICOSECONDS, &dst->sourcePicoseconds, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, + {UA_JSONKEY_SERVERTIMESTAMP, &dst->serverTimestamp, NULL, false, &UA_TYPES[UA_TYPES_DATETIME]}, + {UA_JSONKEY_SERVERPICOSECONDS, &dst->serverPicoseconds, NULL, false, &UA_TYPES[UA_TYPES_UINT16]} + }; + + status ret = decodeFields(ctx, entries, 6); + dst->hasValue = entries[0].found; + dst->hasStatus = entries[1].found; + dst->hasSourceTimestamp = entries[2].found; + dst->hasSourcePicoseconds = entries[3].found; + dst->hasServerTimestamp = entries[4].found; + dst->hasServerPicoseconds = entries[5].found; + return ret; +} + +/* Move the entire current token into the target bytestring */ +static UA_StatusCode +tokenToByteString(ParseCtx *ctx, UA_ByteString *p, const UA_DataType *type) { + GET_TOKEN; + UA_StatusCode res = UA_ByteString_allocBuffer(p, tokenSize); + if(res != UA_STATUSCODE_GOOD) + return res; + memcpy(p->data, tokenData, tokenSize); + skipObject(ctx); + return UA_STATUSCODE_GOOD; +} + +DECODE_JSON(ExtensionObject) { + CHECK_NULL_SKIP; /* Treat a null value as an empty DataValue */ + CHECK_OBJECT; + + /* Empty object -> Null ExtensionObject */ + if(ctx->tokens[ctx->index].size == 0) { + ctx->index++; /* Skip the empty ExtensionObject */ + return UA_STATUSCODE_GOOD; + } + + /* Search for non-JSON encoding */ + UA_UInt64 encoding = 0; + size_t encIndex = 0; + status ret = lookAheadForKey(ctx, UA_JSONKEY_ENCODING, &encIndex); + if(ret == UA_STATUSCODE_GOOD) { + const char *extObjEncoding = &ctx->json5[ctx->tokens[encIndex].start]; + size_t len = parseUInt64(extObjEncoding, getTokenLength(&ctx->tokens[encIndex]), + &encoding); + if(len == 0) + return UA_STATUSCODE_BADDECODINGERROR; + } + + /* Lookup the DataType for the ExtensionObject if the body can be decoded */ + const UA_DataType *typeOfBody = (encoding == 0) ? getExtensionObjectType(ctx) : NULL; + + /* Keep the encoded body */ + if(!typeOfBody) { + DecodeEntry entries[3] = { + {UA_JSONKEY_ENCODING, NULL, NULL, false, NULL}, + {UA_JSONKEY_TYPEID, &dst->content.encoded.typeId, NULL, false, &UA_TYPES[UA_TYPES_NODEID]}, + {UA_JSONKEY_BODY, &dst->content.encoded.body, NULL, false, &UA_TYPES[UA_TYPES_STRING]} + }; + + if(encoding == 0) { + entries[2].function = (decodeJsonSignature)tokenToByteString; + dst->encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; /* ByteString in Json Body */ + } else if(encoding == 1) { + dst->encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; /* ByteString in Json Body */ + } else if(encoding == 2) { + dst->encoding = UA_EXTENSIONOBJECT_ENCODED_XML; /* XmlElement in Json Body */ + } else { + return UA_STATUSCODE_BADDECODINGERROR; + } + return decodeFields(ctx, entries, 3); + } + + /* Allocate memory for the decoded data */ + dst->content.decoded.data = UA_new(typeOfBody); + if(!dst->content.decoded.data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Set type */ + dst->content.decoded.type = typeOfBody; + dst->encoding = UA_EXTENSIONOBJECT_DECODED; + + /* Decode body */ + DecodeEntry entries[3] = { + {UA_JSONKEY_ENCODING, NULL, NULL, false, NULL}, + {UA_JSONKEY_TYPEID, NULL, NULL, false, NULL}, + {UA_JSONKEY_BODY, dst->content.decoded.data, NULL, false, typeOfBody} + }; + return decodeFields(ctx, entries, 3); +} + +static status +Variant_decodeJsonUnwrapExtensionObject(ParseCtx *ctx, void *p, const UA_DataType *type) { + (void) type; + UA_Variant *dst = (UA_Variant*)p; + + /* ExtensionObject with null body */ + if(currentTokenType(ctx) == CJ5_TOKEN_NULL) { + dst->data = UA_ExtensionObject_new(); + dst->type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; + ctx->index++; + return UA_STATUSCODE_GOOD; + } + + /* Decode the ExtensionObject */ + UA_ExtensionObject eo; + UA_ExtensionObject_init(&eo); + UA_StatusCode ret = ExtensionObject_decodeJson(ctx, &eo, NULL); + if(ret != UA_STATUSCODE_GOOD) { + UA_ExtensionObject_clear(&eo); /* We don't have the global cleanup */ + return ret; + } + + /* The content is still encoded, cannot unwrap */ + if(eo.encoding != UA_EXTENSIONOBJECT_DECODED) + goto use_eo; + + /* The content is a builtin type that could have been directly encoded in + * the Variant, there was no need to wrap in an ExtensionObject. But this + * means for us, that somebody made an extra effort to explicitly get an + * ExtensionObject. So we keep it. As an added advantage we will generate + * the same JSON again when encoding again. */ + UA_Boolean isBuiltin = + (eo.content.decoded.type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); + if(isBuiltin) + goto use_eo; + + /* Unwrap the ExtensionObject */ + dst->data = eo.content.decoded.data; + dst->type = eo.content.decoded.type; + return UA_STATUSCODE_GOOD; + + use_eo: + /* Don't unwrap */ + dst->data = UA_new(&UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); + if(!dst->data) { + UA_ExtensionObject_clear(&eo); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + dst->type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; + *(UA_ExtensionObject*)dst->data = eo; + return UA_STATUSCODE_GOOD; +} + +status +DiagnosticInfoInner_decodeJson(ParseCtx* ctx, void* dst, const UA_DataType* type); + +DECODE_JSON(DiagnosticInfo) { + CHECK_NULL_SKIP; /* Treat a null value as an empty DiagnosticInfo */ + CHECK_OBJECT; + + DecodeEntry entries[7] = { + {UA_JSONKEY_SYMBOLICID, &dst->symbolicId, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, + {UA_JSONKEY_NAMESPACEURI, &dst->namespaceUri, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, + {UA_JSONKEY_LOCALIZEDTEXT, &dst->localizedText, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, + {UA_JSONKEY_LOCALE, &dst->locale, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, + {UA_JSONKEY_ADDITIONALINFO, &dst->additionalInfo, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, + {UA_JSONKEY_INNERSTATUSCODE, &dst->innerStatusCode, NULL, false, &UA_TYPES[UA_TYPES_STATUSCODE]}, + {UA_JSONKEY_INNERDIAGNOSTICINFO, &dst->innerDiagnosticInfo, DiagnosticInfoInner_decodeJson, false, NULL} + }; + status ret = decodeFields(ctx, entries, 7); + + dst->hasSymbolicId = entries[0].found; + dst->hasNamespaceUri = entries[1].found; + dst->hasLocalizedText = entries[2].found; + dst->hasLocale = entries[3].found; + dst->hasAdditionalInfo = entries[4].found; + dst->hasInnerStatusCode = entries[5].found; + dst->hasInnerDiagnosticInfo = entries[6].found; + return ret; +} + +status +DiagnosticInfoInner_decodeJson(ParseCtx* ctx, void* dst, const UA_DataType* type) { + UA_DiagnosticInfo *inner = (UA_DiagnosticInfo*) + UA_calloc(1, sizeof(UA_DiagnosticInfo)); + if(!inner) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_DiagnosticInfo **dst2 = (UA_DiagnosticInfo**)dst; + *dst2 = inner; /* Copy new Pointer do dest */ + return DiagnosticInfo_decodeJson(ctx, inner, type); +} + +status +decodeFields(ParseCtx *ctx, DecodeEntry *entries, size_t entryCount) { + CHECK_TOKEN_BOUNDS; + CHECK_NULL_SKIP; /* null is treated like an empty object */ + + if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) + return UA_STATUSCODE_BADENCODINGERROR; + + /* Keys and values are counted separately */ + CHECK_OBJECT; + UA_assert(ctx->tokens[ctx->index].size % 2 == 0); + size_t keyCount = (size_t)(ctx->tokens[ctx->index].size) / 2; + + ctx->index++; /* Go to first key - or jump after the empty object */ + ctx->depth++; + + status ret = UA_STATUSCODE_GOOD; + for(size_t key = 0; key < keyCount; key++) { + /* Key must be a string */ + UA_assert(ctx->index < ctx->tokensSize); + UA_assert(currentTokenType(ctx) == CJ5_TOKEN_STRING); + + /* Search for the decoding entry matching the key. Start at the key + * index to speed-up the case where they key-order is the same as the + * entry-order. */ + DecodeEntry *entry = NULL; + for(size_t i = key; i < key + entryCount; i++) { + size_t ii = i; + while(ii >= entryCount) + ii -= entryCount; + + /* Compare the key */ + if(jsoneq(ctx->json5, &ctx->tokens[ctx->index], + entries[ii].fieldName) != 0) + continue; + + /* Key was already used -> duplicate, abort */ + if(entries[ii].found) { + ctx->depth--; + return UA_STATUSCODE_BADDECODINGERROR; + } + + /* Found the key */ + entries[ii].found = true; + entry = &entries[ii]; + break; + } + + /* The key is unknown */ + if(!entry) { + ret = UA_STATUSCODE_BADDECODINGERROR; + break; + } + + /* Go from key to value */ + ctx->index++; + UA_assert(ctx->index < ctx->tokensSize); + + /* An entry that was expected but shall not be decoded. + * Jump over the value. */ + if(!entry->function && !entry->type) { + skipObject(ctx); + continue; + } + + /* A null-value, skip the decoding (the value is already initialized) */ + if(currentTokenType(ctx) == CJ5_TOKEN_NULL && !entry->function) { + ctx->index++; /* skip null value */ + continue; + } + + /* Decode. This also moves to the next key or right after the object for + * the last value. */ + decodeJsonSignature decodeFunc = (entry->function) ? + entry->function : decodeJsonJumpTable[entry->type->typeKind]; + ret = decodeFunc(ctx, entry->fieldPointer, entry->type); + if(ret != UA_STATUSCODE_GOOD) + break; + } + + ctx->depth--; + return ret; +} + +static status +Array_decodeJson(ParseCtx *ctx, void **dst, const UA_DataType *type) { + /* Save the length of the array */ + size_t *size_ptr = (size_t*) dst - 1; + + if(currentTokenType(ctx) != CJ5_TOKEN_ARRAY) + return UA_STATUSCODE_BADDECODINGERROR; + + size_t length = (size_t)ctx->tokens[ctx->index].size; + + ctx->index++; /* Go to first array member or to the first element after + * the array (if empty) */ + + /* Return early for empty arrays */ + if(length == 0) { + *size_ptr = length; + *dst = UA_EMPTY_ARRAY_SENTINEL; + return UA_STATUSCODE_GOOD; + } + + /* Allocate memory */ + *dst = UA_calloc(length, type->memSize); + if(*dst == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Decode array members */ + uintptr_t ptr = (uintptr_t)*dst; + for(size_t i = 0; i < length; ++i) { + if(ctx->tokens[ctx->index].type != CJ5_TOKEN_NULL) { + status ret = decodeJsonJumpTable[type->typeKind](ctx, (void*)ptr, type); + if(ret != UA_STATUSCODE_GOOD) { + UA_Array_delete(*dst, i+1, type); + *dst = NULL; + return ret; + } + } else { + ctx->index++; + } + ptr += type->memSize; + } + + *size_ptr = length; /* All good, set the size */ + return UA_STATUSCODE_GOOD; +} + +static status +decodeJsonStructure(ParseCtx *ctx, void *dst, const UA_DataType *type) { + /* Check the recursion limit */ + if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) + return UA_STATUSCODE_BADENCODINGERROR; + ctx->depth++; + + uintptr_t ptr = (uintptr_t)dst; + status ret = UA_STATUSCODE_GOOD; + u8 membersSize = type->membersSize; + UA_STACKARRAY(DecodeEntry, entries, membersSize); + for(size_t i = 0; i < membersSize; ++i) { + const UA_DataTypeMember *m = &type->members[i]; + const UA_DataType *mt = m->memberType; + entries[i].type = mt; + entries[i].fieldName = m->memberName; + entries[i].found = false; + if(!m->isArray) { + ptr += m->padding; + entries[i].fieldPointer = (void*)ptr; + entries[i].function = NULL; + ptr += mt->memSize; + } else { + ptr += m->padding; + ptr += sizeof(size_t); + entries[i].fieldPointer = (void*)ptr; + entries[i].function = (decodeJsonSignature)Array_decodeJson; + ptr += sizeof(void*); + } + } + + ret = decodeFields(ctx, entries, membersSize); + + if(ctx->depth == 0) + return UA_STATUSCODE_BADENCODINGERROR; + ctx->depth--; + return ret; +} + +static status +decodeJsonNotImplemented(ParseCtx *ctx, void *dst, const UA_DataType *type) { + (void)dst, (void)type, (void)ctx; + return UA_STATUSCODE_BADNOTIMPLEMENTED; +} + +const decodeJsonSignature decodeJsonJumpTable[UA_DATATYPEKINDS] = { + (decodeJsonSignature)Boolean_decodeJson, + (decodeJsonSignature)SByte_decodeJson, /* SByte */ + (decodeJsonSignature)Byte_decodeJson, + (decodeJsonSignature)Int16_decodeJson, /* Int16 */ + (decodeJsonSignature)UInt16_decodeJson, + (decodeJsonSignature)Int32_decodeJson, /* Int32 */ + (decodeJsonSignature)UInt32_decodeJson, + (decodeJsonSignature)Int64_decodeJson, /* Int64 */ + (decodeJsonSignature)UInt64_decodeJson, + (decodeJsonSignature)Float_decodeJson, + (decodeJsonSignature)Double_decodeJson, + (decodeJsonSignature)String_decodeJson, + (decodeJsonSignature)DateTime_decodeJson, /* DateTime */ + (decodeJsonSignature)Guid_decodeJson, + (decodeJsonSignature)ByteString_decodeJson, /* ByteString */ + (decodeJsonSignature)String_decodeJson, /* XmlElement */ + (decodeJsonSignature)NodeId_decodeJson, + (decodeJsonSignature)ExpandedNodeId_decodeJson, + (decodeJsonSignature)StatusCode_decodeJson, /* StatusCode */ + (decodeJsonSignature)QualifiedName_decodeJson, /* QualifiedName */ + (decodeJsonSignature)LocalizedText_decodeJson, + (decodeJsonSignature)ExtensionObject_decodeJson, + (decodeJsonSignature)DataValue_decodeJson, + (decodeJsonSignature)Variant_decodeJson, + (decodeJsonSignature)DiagnosticInfo_decodeJson, + (decodeJsonSignature)decodeJsonNotImplemented, /* Decimal */ + (decodeJsonSignature)Int32_decodeJson, /* Enum */ + (decodeJsonSignature)decodeJsonStructure, + (decodeJsonSignature)decodeJsonNotImplemented, /* Structure with optional fields */ + (decodeJsonSignature)decodeJsonNotImplemented, /* Union */ + (decodeJsonSignature)decodeJsonNotImplemented /* BitfieldCluster */ +}; + +status +tokenize(ParseCtx *ctx, const UA_ByteString *src, size_t tokensSize) { + /* Tokenize */ + cj5_result r = cj5_parse((char*)src->data, (unsigned int)src->length, + ctx->tokens, (unsigned int)tokensSize, NULL); + + /* Handle overflow error by allocating the number of tokens the parser would + * have needed */ + if(r.error == CJ5_ERROR_OVERFLOW && + tokensSize != r.num_tokens) { + ctx->tokens = (cj5_token*) + UA_malloc(sizeof(cj5_token) * r.num_tokens); + if(!ctx->tokens) + return UA_STATUSCODE_BADOUTOFMEMORY; + return tokenize(ctx, src, r.num_tokens); + } + + /* Cannot recover from other errors */ + if(r.error != CJ5_ERROR_NONE) + return UA_STATUSCODE_BADDECODINGERROR; + + /* Set up the context */ + ctx->json5 = (char*)src->data; + ctx->depth = 0; + ctx->tokensSize = r.num_tokens; + ctx->index = 0; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_decodeJson(const UA_ByteString *src, void *dst, const UA_DataType *type, + const UA_DecodeJsonOptions *options) { + if(!dst || !src || !type) + return UA_STATUSCODE_BADARGUMENTSMISSING; + + /* Set up the context */ + cj5_token tokens[UA_JSON_MAXTOKENCOUNT]; + ParseCtx ctx; + memset(&ctx, 0, sizeof(ParseCtx)); + ctx.tokens = tokens; + + if(options) { + ctx.namespaces = options->namespaces; + ctx.namespacesSize = options->namespacesSize; + ctx.serverUris = options->serverUris; + ctx.serverUrisSize = options->serverUrisSize; + ctx.customTypes = options->customTypes; + } + + /* Decode */ + status ret = tokenize(&ctx, src, UA_JSON_MAXTOKENCOUNT); + if(ret != UA_STATUSCODE_GOOD) + goto cleanup; + + memset(dst, 0, type->memSize); /* Initialize the value */ + ret = decodeJsonJumpTable[type->typeKind](&ctx, dst, type); + + /* Sanity check if all tokens were processed */ + if(ctx.index != ctx.tokensSize && + ctx.index != ctx.tokensSize - 1) + ret = UA_STATUSCODE_BADDECODINGERROR; + + cleanup: + + /* Free token array on the heap */ + if(ctx.tokens != tokens) + UA_free((void*)(uintptr_t)ctx.tokens); + + if(ret != UA_STATUSCODE_GOOD) + UA_clear(dst, type); + return ret; +} + +#endif /* UA_ENABLE_JSON_ENCODING */ + +/**** amalgamated original file "/src/server/ua_subscription.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Sten Grüner + * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2015 (c) Joakim L. Gilje + * Copyright 2016-2017 (c) Florian Palm + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2017 (c) frax2222 + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2017 (c) Mattias Bornhager + * Copyright 2018 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Martin Lang) + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ + +#define UA_MAX_RETRANSMISSIONQUEUESIZE 256 + +UA_Subscription * +UA_Subscription_new(void) { + /* Allocate the memory */ + UA_Subscription *newSub = (UA_Subscription*)UA_calloc(1, sizeof(UA_Subscription)); + if(!newSub) + return NULL; + + /* The first publish response is sent immediately */ + newSub->state = UA_SUBSCRIPTIONSTATE_STOPPED; + + /* Even if the first publish response is a keepalive the sequence number is 1. + * This can happen by a subscription without a monitored item (see CTT test scripts). */ + newSub->nextSequenceNumber = 1; + + TAILQ_INIT(&newSub->retransmissionQueue); + TAILQ_INIT(&newSub->notificationQueue); + return newSub; +} + +static void +delayedFreeSubscription(void *app, void *context) { + UA_free(context); +} + +void +UA_Subscription_delete(UA_Server *server, UA_Subscription *sub) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_EventLoop *el = server->config.eventLoop; + + /* Unregister the publish callback and possible delayed callback */ + Subscription_setState(server, sub, UA_SUBSCRIPTIONSTATE_REMOVING); + + /* Remove delayed callbacks for processing remaining notifications */ + if(sub->delayedCallbackRegistered) { + el->removeDelayedCallback(el, &sub->delayedMoreNotifications); + sub->delayedCallbackRegistered = false; + } + + /* Remove the diagnostics object for the subscription */ +#ifdef UA_ENABLE_DIAGNOSTICS + if(!UA_NodeId_isNull(&sub->ns0Id)) + deleteNode(server, sub->ns0Id, true); + UA_NodeId_clear(&sub->ns0Id); +#endif + + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, "Subscription deleted"); + + /* Detach from the session if necessary */ + if(sub->session) + UA_Session_detachSubscription(server, sub->session, sub, true); + + /* Remove from the server if not previously registered */ + if(sub->serverListEntry.le_prev) { + LIST_REMOVE(sub, serverListEntry); + UA_assert(server->subscriptionsSize > 0); + server->subscriptionsSize--; + server->serverDiagnosticsSummary.currentSubscriptionCount--; + } + + /* Delete monitored Items */ + UA_assert(server->monitoredItemsSize >= sub->monitoredItemsSize); + UA_MonitoredItem *mon, *tmp_mon; + LIST_FOREACH_SAFE(mon, &sub->monitoredItems, listEntry, tmp_mon) { + UA_MonitoredItem_delete(server, mon); + } + UA_assert(sub->monitoredItemsSize == 0); + + /* Delete Retransmission Queue */ + UA_NotificationMessageEntry *nme, *nme_tmp; + TAILQ_FOREACH_SAFE(nme, &sub->retransmissionQueue, listEntry, nme_tmp) { + TAILQ_REMOVE(&sub->retransmissionQueue, nme, listEntry); + UA_NotificationMessage_clear(&nme->message); + UA_free(nme); + if(sub->session) + --sub->session->totalRetransmissionQueueSize; + --sub->retransmissionQueueSize; + } + UA_assert(sub->retransmissionQueueSize == 0); + + /* Pointers to the subscription may still exist upwards in the call stack. + * Add a delayed callback to remove the Subscription when the current jobs + * have completed. */ + sub->delayedFreePointers.callback = delayedFreeSubscription; + sub->delayedFreePointers.application = NULL; + sub->delayedFreePointers.context = sub; + el->addDelayedCallback(el, &sub->delayedFreePointers); +} + +void +Subscription_resetLifetime(UA_Subscription *sub) { + sub->currentLifetimeCount = 0; +} + +UA_MonitoredItem * +UA_Subscription_getMonitoredItem(UA_Subscription *sub, UA_UInt32 monitoredItemId) { + UA_MonitoredItem *mon; + LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { + if(mon->monitoredItemId == monitoredItemId) + break; + } + return mon; +} + +static void +removeOldestRetransmissionMessageFromSub(UA_Subscription *sub) { + UA_NotificationMessageEntry *oldestEntry = + TAILQ_LAST(&sub->retransmissionQueue, NotificationMessageQueue); + TAILQ_REMOVE(&sub->retransmissionQueue, oldestEntry, listEntry); + UA_NotificationMessage_clear(&oldestEntry->message); + UA_free(oldestEntry); + --sub->retransmissionQueueSize; + if(sub->session) + --sub->session->totalRetransmissionQueueSize; + +#ifdef UA_ENABLE_DIAGNOSTICS + sub->discardedMessageCount++; +#endif +} + +static void +removeOldestRetransmissionMessageFromSession(UA_Session *session) { + UA_NotificationMessageEntry *oldestEntry = NULL; + UA_Subscription *oldestSub = NULL; + UA_Subscription *sub; + TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { + UA_NotificationMessageEntry *first = + TAILQ_LAST(&sub->retransmissionQueue, NotificationMessageQueue); + if(!first) + continue; + if(!oldestEntry || oldestEntry->message.publishTime > first->message.publishTime) { + oldestEntry = first; + oldestSub = sub; + } + } + UA_assert(oldestEntry); + UA_assert(oldestSub); + + removeOldestRetransmissionMessageFromSub(oldestSub); +} + +static void +UA_Subscription_addRetransmissionMessage(UA_Server *server, UA_Subscription *sub, + UA_NotificationMessageEntry *entry) { + /* Release the oldest entry if there is not enough space */ + UA_Session *session = sub->session; + if(sub->retransmissionQueueSize >= UA_MAX_RETRANSMISSIONQUEUESIZE) { + UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, + "Subscription retransmission queue overflow"); + removeOldestRetransmissionMessageFromSub(sub); + } else if(session && server->config.maxRetransmissionQueueSize > 0 && + session->totalRetransmissionQueueSize >= + server->config.maxRetransmissionQueueSize) { + UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, + "Session-wide retransmission queue overflow"); + removeOldestRetransmissionMessageFromSession(sub->session); + } + + /* Add entry */ + TAILQ_INSERT_TAIL(&sub->retransmissionQueue, entry, listEntry); + ++sub->retransmissionQueueSize; + if(session) + ++session->totalRetransmissionQueueSize; +} + +UA_StatusCode +UA_Subscription_removeRetransmissionMessage(UA_Subscription *sub, UA_UInt32 sequenceNumber) { + /* Find the retransmission message */ + UA_NotificationMessageEntry *entry; + TAILQ_FOREACH(entry, &sub->retransmissionQueue, listEntry) { + if(entry->message.sequenceNumber == sequenceNumber) + break; + } + if(!entry) + return UA_STATUSCODE_BADSEQUENCENUMBERUNKNOWN; + + /* Remove the retransmission message */ + TAILQ_REMOVE(&sub->retransmissionQueue, entry, listEntry); + --sub->retransmissionQueueSize; + UA_NotificationMessage_clear(&entry->message); + UA_free(entry); + + if(sub->session) + --sub->session->totalRetransmissionQueueSize; + + return UA_STATUSCODE_GOOD; +} + +/* The output counters are only set when the preparation is successful */ +static UA_StatusCode +prepareNotificationMessage(UA_Server *server, UA_Subscription *sub, + UA_NotificationMessage *message, + size_t maxNotifications) { + UA_assert(maxNotifications > 0); + + /* Allocate an ExtensionObject for Event- and DataChange-Notifications. Also + * there can be StatusChange-Notifications. The standard says in Part 4, + * 7.2.1: + * + * If a Subscription contains MonitoredItems for events and data, this array + * should have not more than 2 elements. */ + message->notificationData = (UA_ExtensionObject*) + UA_Array_new(2, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); + if(!message->notificationData) + return UA_STATUSCODE_BADOUTOFMEMORY; + message->notificationDataSize = 2; + + /* Pre-allocate DataChangeNotifications */ + size_t notificationDataIdx = 0; + size_t dcnPos = 0; /* How many DataChangeNotifications? */ + UA_DataChangeNotification *dcn = NULL; + if(sub->dataChangeNotifications > 0) { + dcn = UA_DataChangeNotification_new(); + if(!dcn) { + UA_NotificationMessage_clear(message); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + UA_ExtensionObject_setValue(message->notificationData, dcn, + &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); + size_t dcnSize = sub->dataChangeNotifications; + if(dcnSize > maxNotifications) + dcnSize = maxNotifications; + dcn->monitoredItems = (UA_MonitoredItemNotification*) + UA_Array_new(dcnSize, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); + if(!dcn->monitoredItems) { + UA_NotificationMessage_clear(message); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + dcn->monitoredItemsSize = dcnSize; + notificationDataIdx++; + } + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + size_t enlPos = 0; /* How many EventNotifications? */ + UA_EventNotificationList *enl = NULL; + if(sub->eventNotifications > 0) { + enl = UA_EventNotificationList_new(); + if(!enl) { + UA_NotificationMessage_clear(message); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + UA_ExtensionObject_setValue(&message->notificationData[notificationDataIdx], + enl, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); + size_t enlSize = sub->eventNotifications; + if(enlSize > maxNotifications) + enlSize = maxNotifications; + enl->events = (UA_EventFieldList*) + UA_Array_new(enlSize, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); + if(!enl->events) { + UA_NotificationMessage_clear(message); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + enl->eventsSize = enlSize; + notificationDataIdx++; + } +#endif + + UA_assert(notificationDataIdx > 0); + message->notificationDataSize = notificationDataIdx; + + /* <-- The point of no return --> */ + + /* How many notifications were moved to the response overall? */ + size_t totalNotifications = 0; + UA_Notification *notification, *notification_tmp; + TAILQ_FOREACH_SAFE(notification, &sub->notificationQueue, + globalEntry, notification_tmp) { + if(totalNotifications >= maxNotifications) + break; + + /* Move the content to the response */ + switch(notification->mon->itemToMonitor.attributeId) { +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + case UA_ATTRIBUTEID_EVENTNOTIFIER: + UA_assert(enl != NULL); /* Have at least one event notification */ + enl->events[enlPos] = notification->data.event; + UA_EventFieldList_init(¬ification->data.event); + enlPos++; + break; +#endif + default: + UA_assert(dcn != NULL); /* Have at least one change notification */ + dcn->monitoredItems[dcnPos] = notification->data.dataChange; + UA_DataValue_init(¬ification->data.dataChange.value); + dcnPos++; + break; + } + + /* If there are Notifications *before this one* in the MonitoredItem- + * local queue, remove all of them. These are earlier Notifications that + * are non-reporting. And we don't want them to show up after the + * current Notification has been sent out. */ + UA_Notification *prev; + while((prev = TAILQ_PREV(notification, NotificationQueue, localEntry))) { + UA_Notification_delete(prev); + } + + /* Delete the notification, remove from the queues and decrease the counters */ + UA_Notification_delete(notification); + + totalNotifications++; + } + + /* Set sizes */ + if(dcn) { + dcn->monitoredItemsSize = dcnPos; + if(dcnPos == 0) { + UA_free(dcn->monitoredItems); + dcn->monitoredItems = NULL; + } + } + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + if(enl) { + enl->eventsSize = enlPos; + if(enlPos == 0) { + UA_free(enl->events); + enl->events = NULL; + } + } +#endif + + return UA_STATUSCODE_GOOD; +} + +/* According to OPC Unified Architecture, Part 4 5.13.1.1 i) The value 0 is + * never used for the sequence number */ +static UA_UInt32 +UA_Subscription_nextSequenceNumber(UA_UInt32 sequenceNumber) { + UA_UInt32 nextSequenceNumber = sequenceNumber + 1; + if(nextSequenceNumber == 0) + nextSequenceNumber = 1; + return nextSequenceNumber; +} + +static void +sendStatusChangeDelete(UA_Server *server, UA_Subscription *sub, + UA_PublishResponseEntry *pre) { + /* Cannot send out the StatusChange because no response is queued. + * Delete the Subscription without sending the StatusChange, if the statusChange is Bad*/ + if(!pre) { + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Cannot send the StatusChange notification because no response is queued."); + if(UA_StatusCode_isBad(sub->statusChange)) { + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, "Removing the subscription."); + UA_Subscription_delete(server, sub); + } + return; + } + + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Sending out a StatusChange " + "notification and removing the subscription"); + + /* Populate the response */ + UA_PublishResponse *response = &pre->response; + + UA_StatusChangeNotification scn; + UA_StatusChangeNotification_init(&scn); + scn.status = sub->statusChange; + + UA_ExtensionObject notificationData; + UA_ExtensionObject_setValue(¬ificationData, &scn, + &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); + + response->notificationMessage.notificationData = ¬ificationData; + response->notificationMessage.notificationDataSize = 1; + response->subscriptionId = sub->subscriptionId; + response->notificationMessage.publishTime = UA_DateTime_now(); + response->notificationMessage.sequenceNumber = sub->nextSequenceNumber; + + /* Send the response */ + UA_assert(sub->session); /* Otherwise pre is NULL */ + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Sending out a publish response"); + sendResponse(server, sub->session, sub->session->header.channel, pre->requestId, + (UA_Response *)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); + + /* Clean up */ + response->notificationMessage.notificationData = NULL; + response->notificationMessage.notificationDataSize = 0; + UA_PublishResponse_clear(&pre->response); + UA_free(pre); + + /* Delete the subscription */ + UA_Subscription_delete(server, sub); +} + +static void +delayedPublishNotifications(UA_Server *server, UA_Subscription *sub) { + lockServer(server); + sub->delayedCallbackRegistered = false; + UA_Subscription_publish(server, sub); + unlockServer(server); +} + +/* Try to publish now. Enqueue a "next publish" as a delayed callback if not + * done. */ +void +UA_Subscription_publish(UA_Server *server, UA_Subscription *sub) { + /* Get a response */ + UA_PublishResponseEntry *pre = NULL; + if(sub->session) { + UA_EventLoop *el = server->config.eventLoop; + UA_DateTime nowMonotonic = el->dateTime_nowMonotonic(el); + do { + /* Dequeue the oldest response */ + pre = UA_Session_dequeuePublishReq(sub->session); + if(!pre) + break; + + /* Check if the TimeoutHint is still valid. Otherwise return with a bad + * statuscode and continue. */ + if(pre->maxTime < nowMonotonic) { + UA_LOG_DEBUG_SESSION(server->config.logging, sub->session, + "Publish request %u has timed out", pre->requestId); + pre->response.responseHeader.serviceResult = UA_STATUSCODE_BADTIMEOUT; + sendResponse(server, sub->session, sub->session->header.channel, + pre->requestId, (UA_Response *)&pre->response, + &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); + UA_PublishResponse_clear(&pre->response); + UA_free(pre); + pre = NULL; + } + } while(!pre); + } + + /* Update the LifetimeCounter */ + if(pre) { + Subscription_resetLifetime(sub); + } else { + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "The publish queue is empty"); + ++sub->currentLifetimeCount; + if(sub->currentLifetimeCount > sub->lifeTimeCount) { + UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, + "End of subscription lifetime"); + /* Set the StatusChange to delete the subscription. */ + sub->statusChange = UA_STATUSCODE_BADTIMEOUT; + } + } + + /* Send a StatusChange notification if possible and delete the + * Subscription */ + if(sub->statusChange != UA_STATUSCODE_GOOD) { + sendStatusChangeDelete(server, sub, pre); + return; + } + + /* Dsiabled subscriptions do not send notifications */ + UA_UInt32 notifications = (sub->state == UA_SUBSCRIPTIONSTATE_ENABLED) ? + sub->notificationQueueSize : 0; + + /* Limit the number of notifications to the configured maximum */ + if(notifications > sub->notificationsPerPublish) + notifications = sub->notificationsPerPublish; + + /* Return if no notifications and no keepalive */ + if(notifications == 0) { + ++sub->currentKeepAliveCount; + if(sub->currentKeepAliveCount < sub->maxKeepAliveCount) { + if(pre) + UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ + return; + } + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, "Sending a KeepAlive"); + } + + /* We want to send a response, but cannot. Either because there is no queued + * response or because the Subscription is detached from a Session or because + * the SecureChannel for the Session is closed. */ + if(!pre || !sub->session || !sub->session->header.channel) { + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Want to send a publish response but cannot. " + "The subscription is late."); + sub->late = true; + if(pre) + UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ + return; + } + + UA_assert(pre); + UA_assert(sub->session); /* Otherwise pre is NULL */ + + /* Prepare the response */ + UA_PublishResponse *response = &pre->response; + UA_NotificationMessage *message = &response->notificationMessage; + UA_NotificationMessageEntry *retransmission = NULL; +#ifdef UA_ENABLE_DIAGNOSTICS + size_t priorDataChangeNotifications = sub->dataChangeNotifications; + size_t priorEventNotifications = sub->eventNotifications; +#endif + if(notifications > 0) { + if(server->config.enableRetransmissionQueue) { + /* Allocate the retransmission entry */ + retransmission = (UA_NotificationMessageEntry*) + UA_malloc(sizeof(UA_NotificationMessageEntry)); + if(!retransmission) { + UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, + "Could not allocate memory for retransmission. " + "The subscription is late."); + sub->late = true; + UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ + return; + } + } + + /* Prepare the response */ + UA_StatusCode retval = + prepareNotificationMessage(server, sub, message, notifications); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, + "Could not prepare the notification message. " + "The subscription is late."); + /* If the retransmission queue is enabled a retransmission message is allocated */ + if(retransmission) + UA_free(retransmission); + sub->late = true; + UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ + return; + } + } + + /* <-- The point of no return --> */ + + /* Set up the response */ + response->subscriptionId = sub->subscriptionId; + response->moreNotifications = (sub->notificationQueueSize > 0); + message->publishTime = UA_DateTime_now(); + + /* Set sequence number to message. Started at 1 which is given during + * creating a new subscription. The 1 is required for initial publish + * response with or without an monitored item. */ + message->sequenceNumber = sub->nextSequenceNumber; + + if(notifications > 0) { + /* If the retransmission queue is enabled a retransmission message is + * allocated */ + if(retransmission) { + /* Put the notification message into the retransmission queue. This + * needs to be done here, so that the message itself is included in + * the available sequence numbers for acknowledgement. */ + retransmission->message = response->notificationMessage; + UA_Subscription_addRetransmissionMessage(server, sub, retransmission); + } + /* Only if a notification was created, the sequence number must be + * increased. For a keepalive the sequence number can be reused. */ + sub->nextSequenceNumber = + UA_Subscription_nextSequenceNumber(sub->nextSequenceNumber); + } + + /* Get the available sequence numbers from the retransmission queue */ + UA_assert(sub->retransmissionQueueSize <= UA_MAX_RETRANSMISSIONQUEUESIZE); + UA_UInt32 seqNumbers[UA_MAX_RETRANSMISSIONQUEUESIZE]; + response->availableSequenceNumbers = seqNumbers; + response->availableSequenceNumbersSize = sub->retransmissionQueueSize; + size_t i = 0; + UA_NotificationMessageEntry *nme; + TAILQ_FOREACH(nme, &sub->retransmissionQueue, listEntry) { + response->availableSequenceNumbers[i] = nme->message.sequenceNumber; + ++i; + } + UA_assert(i == sub->retransmissionQueueSize); + + /* Send the response */ + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Sending out a publish response with %" PRIu32 + " notifications", notifications); + sendResponse(server, sub->session, sub->session->header.channel, pre->requestId, + (UA_Response*)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); + + /* Reset the Subscription state to NORMAL. But only if all notifications + * have been sent out. Otherwise keep the Subscription in the LATE state. So + * we immediately answer incoming Publish requests. + * + * (We also check that session->responseQueueSize > 0 in Service_Publish. To + * avoid answering Publish requests out of order. As we additionally may have + * scheduled a publish callback as a delayed callback. */ + if(sub->notificationQueueSize == 0) + sub->late = false; + + /* Reset the KeepAlive after publishing */ + sub->currentKeepAliveCount = 0; + + /* Free the response */ + if(retransmission) { + /* NotificationMessage was moved into retransmission queue */ + UA_NotificationMessage_init(&response->notificationMessage); + } + response->availableSequenceNumbers = NULL; + response->availableSequenceNumbersSize = 0; + UA_PublishResponse_clear(&pre->response); + UA_free(pre); + + /* Update the diagnostics statistics */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->publishRequestCount++; + + UA_UInt32 sentDCN = (UA_UInt32) + (priorDataChangeNotifications - sub->dataChangeNotifications); + UA_UInt32 sentEN = (UA_UInt32)(priorEventNotifications - sub->eventNotifications); + sub->dataChangeNotificationsCount += sentDCN; + sub->eventNotificationsCount += sentEN; + sub->notificationsCount += (sentDCN + sentEN); +#endif + + /* Repeat sending notifications if there are more notifications to send. But + * only call monitoredItem_sampleCallback in the regular publish + * callback. */ + UA_Boolean done = (sub->notificationQueueSize == 0); + if(!done && !sub->delayedCallbackRegistered) { + sub->delayedCallbackRegistered = true; + + sub->delayedMoreNotifications.callback = (UA_Callback)delayedPublishNotifications; + sub->delayedMoreNotifications.application = server; + sub->delayedMoreNotifications.context = sub; + + UA_EventLoop *el = server->config.eventLoop; + el->addDelayedCallback(el, &sub->delayedMoreNotifications); + } +} + +void +UA_Subscription_resendData(UA_Server *server, UA_Subscription *sub) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_assert(server); + UA_assert(sub); + + /* Part 4, §6.7: If this Method is called, subsequent Publish responses + * shall contain the current values of all data MonitoredItems in the + * Subscription where the MonitoringMode is set to Reporting. If a value is + * queued for a data MonitoredItem, the next value in the queue is sent in + * the Publish response. If no value is queued for a data MonitoredItem, the + * last value sent is repeated in the Publish response. */ + UA_MonitoredItem *mon; + LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { + /* Create only DataChange notifications */ + if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) + continue; + + /* Only if the mode is monitoring */ + if(mon->monitoringMode != UA_MONITORINGMODE_REPORTING) + continue; + + /* If a value is queued for a data MonitoredItem, the next value in + * the queue is sent in the Publish response. */ + if(mon->queueSize > 0) + continue; + + /* Create a notification with the last sampled value */ + UA_MonitoredItem_createDataChangeNotification(server, mon, &mon->lastValue); + } +} + +void +UA_Session_ensurePublishQueueSpace(UA_Server* server, UA_Session* session) { + if(server->config.maxPublishReqPerSession == 0) + return; + + while(session->responseQueueSize >= server->config.maxPublishReqPerSession) { + /* Dequeue a response */ + UA_PublishResponseEntry *pre = UA_Session_dequeuePublishReq(session); + UA_assert(pre != NULL); /* There must be a pre as session->responseQueueSize > 0 */ + + UA_LOG_DEBUG_SESSION(server->config.logging, session, + "Sending out a publish response triggered by too many publish requests"); + + /* Send the response. This response has no related subscription id */ + UA_PublishResponse *response = &pre->response; + response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS; + sendResponse(server, session, session->header.channel, pre->requestId, + (UA_Response *)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); + + /* Free the response */ + UA_PublishResponse_clear(response); + UA_free(pre); + } +} + +static void +sampleAndPublishCallback(UA_Server *server, UA_Subscription *sub) { + UA_assert(sub); + + lockServer(server); + + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Sample and Publish Callback"); + + /* Sample the MonitoredItems with sampling interval <0 (which implies + * sampling in the same interval as the subscription) */ + UA_MonitoredItem *mon; + LIST_FOREACH(mon, &sub->samplingMonitoredItems, sampling.subscriptionSampling) { + monitoredItem_sampleCallback(server, mon); + } + + /* Publish the queued notifications */ + UA_Subscription_publish(server, sub); + + unlockServer(server); +} + +UA_StatusCode +Subscription_setState(UA_Server *server, UA_Subscription *sub, + UA_SubscriptionState state) { + if(state <= UA_SUBSCRIPTIONSTATE_REMOVING) { + if(sub->publishCallbackId != 0) { + removeCallback(server, sub->publishCallbackId); + sub->publishCallbackId = 0; +#ifdef UA_ENABLE_DIAGNOSTICS + sub->disableCount++; +#endif + } + } else if(sub->publishCallbackId == 0) { + UA_StatusCode res = + addRepeatedCallback(server, (UA_ServerCallback)sampleAndPublishCallback, + sub, sub->publishingInterval, &sub->publishCallbackId); + if(res != UA_STATUSCODE_GOOD) { + sub->state = UA_SUBSCRIPTIONSTATE_STOPPED; + return res; + } + + /* Send (at least a) keepalive after the next publish interval */ + sub->currentKeepAliveCount = sub->maxKeepAliveCount; + +#ifdef UA_ENABLE_DIAGNOSTICS + sub->enableCount++; +#endif + } + + sub->state = state; + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +/**** amalgamated original file "/src/server/ua_subscription_monitoreditem.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Fabian Arndt, Root-Core + * Copyright 2020-2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ + +/****************/ +/* Notification */ +/****************/ + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + +static const UA_NodeId eventQueueOverflowEventType = + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE}}; + +/* The specification states in Part 4 5.12.1.5 that an EventQueueOverflowEvent + * "is generated when the first Event has to be discarded [...] without + * discarding any other event". So only generate one for all deleted events. */ +static UA_StatusCode +createEventOverflowNotification(UA_Server *server, UA_Subscription *sub, + UA_MonitoredItem *mon) { + /* Avoid creating two adjacent overflow events */ + UA_Notification *indicator = NULL; + if(mon->parameters.discardOldest) { + indicator = TAILQ_FIRST(&mon->queue); + UA_assert(indicator); /* must exist */ + if(indicator->isOverflowEvent) + return UA_STATUSCODE_GOOD; + } else { + indicator = TAILQ_LAST(&mon->queue, NotificationQueue); + UA_assert(indicator); /* must exist */ + /* Skip the last element. It is the recently added notification that + * shall be kept. We know it is not an OverflowEvent. */ + UA_Notification *before = TAILQ_PREV(indicator, NotificationQueue, localEntry); + if(before && before->isOverflowEvent) + return UA_STATUSCODE_GOOD; + } + + /* A Notification is inserted into the queue which includes only the + * NodeId of the OverflowEventType. */ + + /* Allocate the notification */ + UA_Notification *overflowNotification = UA_Notification_new(); + if(!overflowNotification) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Set the notification fields */ + overflowNotification->isOverflowEvent = true; + overflowNotification->mon = mon; + overflowNotification->data.event.clientHandle = mon->parameters.clientHandle; + overflowNotification->data.event.eventFields = UA_Variant_new(); + if(!overflowNotification->data.event.eventFields) { + UA_free(overflowNotification); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + overflowNotification->data.event.eventFieldsSize = 1; + UA_StatusCode retval = + UA_Variant_setScalarCopy(overflowNotification->data.event.eventFields, + &eventQueueOverflowEventType, &UA_TYPES[UA_TYPES_NODEID]); + if(retval != UA_STATUSCODE_GOOD) { + UA_Notification_delete(overflowNotification); + return retval; + } + + /* Insert before the removed notification. This is either first in the + * queue (if the oldest notification was removed) or before the new event + * that remains the last element of the queue. + * + * Ensure that the following is consistent with UA_Notification_enqueueMon + * and UA_Notification_enqueueSub! */ + TAILQ_INSERT_BEFORE(indicator, overflowNotification, localEntry); + ++mon->eventOverflows; + ++mon->queueSize; + + /* Test for consistency */ + UA_assert(mon->queueSize >= mon->eventOverflows); + UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); + + if(TAILQ_NEXT(indicator, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { + /* Insert just before the indicator */ + TAILQ_INSERT_BEFORE(indicator, overflowNotification, globalEntry); + } else { + /* The indicator was not reporting or not added yet. */ + if(!mon->parameters.discardOldest) { + /* Add last to the per-Subscription queue */ + TAILQ_INSERT_TAIL(&mon->subscription->notificationQueue, + overflowNotification, globalEntry); + } else { + /* Find the oldest reported element. Add before that. */ + while(indicator) { + indicator = TAILQ_PREV(indicator, NotificationQueue, localEntry); + if(!indicator) { + TAILQ_INSERT_TAIL(&mon->subscription->notificationQueue, + overflowNotification, globalEntry); + break; + } + if(TAILQ_NEXT(indicator, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { + TAILQ_INSERT_BEFORE(indicator, overflowNotification, globalEntry); + break; + } + } + } + } + + ++sub->notificationQueueSize; + ++sub->eventNotifications; + + /* Update the diagnostics statistics */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->eventQueueOverFlowCount++; +#endif + + return UA_STATUSCODE_GOOD; +} + +#endif + +/* Set the InfoBits that a datachange notification was removed */ +static void +setOverflowInfoBits(UA_MonitoredItem *mon) { + /* Only for queues with more than one element */ + if(mon->parameters.queueSize == 1) + return; + + UA_Notification *indicator = NULL; + if(mon->parameters.discardOldest) { + indicator = TAILQ_FIRST(&mon->queue); + } else { + indicator = TAILQ_LAST(&mon->queue, NotificationQueue); + } + UA_assert(indicator); /* must exist */ + + indicator->data.dataChange.value.hasStatus = true; + indicator->data.dataChange.value.status |= + (UA_STATUSCODE_INFOTYPE_DATAVALUE | UA_STATUSCODE_INFOBITS_OVERFLOW); +} + +/* Remove the InfoBits when the queueSize was reduced to 1 */ +void +UA_MonitoredItem_removeOverflowInfoBits(UA_MonitoredItem *mon) { + /* Don't consider queue size > 1 and Event MonitoredItems */ + if(mon->parameters.queueSize > 1 || + mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) + return; + + /* Get the first notification */ + UA_Notification *n = TAILQ_FIRST(&mon->queue); + if(!n) + return; + + /* Assertion that at most one notification is in the queue */ + UA_assert(n == TAILQ_LAST(&mon->queue, NotificationQueue)); + + /* Remve the Infobits */ + n->data.dataChange.value.status &= ~(UA_StatusCode) + (UA_STATUSCODE_INFOTYPE_DATAVALUE | UA_STATUSCODE_INFOBITS_OVERFLOW); +} + +UA_Notification * +UA_Notification_new(void) { + UA_Notification *n = (UA_Notification*)UA_calloc(1, sizeof(UA_Notification)); + if(n) { + /* Set the sentinel for a notification that is not enqueued */ + TAILQ_NEXT(n, globalEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; + TAILQ_NEXT(n, localEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; + } + return n; +} + +static void UA_Notification_dequeueMon(UA_Notification *n); +static void UA_Notification_enqueueSub(UA_Notification *n); +static void UA_Notification_dequeueSub(UA_Notification *n); + +void +UA_Notification_delete(UA_Notification *n) { + UA_assert(n != UA_SUBSCRIPTION_QUEUE_SENTINEL); + if(n->mon) { + UA_Notification_dequeueMon(n); + UA_Notification_dequeueSub(n); + switch(n->mon->itemToMonitor.attributeId) { +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + case UA_ATTRIBUTEID_EVENTNOTIFIER: + UA_EventFieldList_clear(&n->data.event); + break; +#endif + default: + UA_MonitoredItemNotification_clear(&n->data.dataChange); + break; + } + } + UA_free(n); +} + +/* Add to the MonitoredItem queue, update all counters and then handle overflow */ +static void +UA_Notification_enqueueMon(UA_Server *server, UA_Notification *n) { + UA_MonitoredItem *mon = n->mon; + UA_assert(mon); + UA_assert(TAILQ_NEXT(n, localEntry) == UA_SUBSCRIPTION_QUEUE_SENTINEL); + + /* Add to the MonitoredItem */ + TAILQ_INSERT_TAIL(&mon->queue, n, localEntry); + ++mon->queueSize; + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + if(n->isOverflowEvent) + ++mon->eventOverflows; +#endif + + /* Test for consistency */ + UA_assert(mon->queueSize >= mon->eventOverflows); + UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); + + /* Ensure enough space is available in the MonitoredItem. Do this only after + * adding the new Notification. */ + UA_MonitoredItem_ensureQueueSpace(server, mon); + + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, mon->subscription, + "MonitoredItem %" PRIi32 " | " + "Notification enqueued (Queue size %lu / %lu)", + mon->monitoredItemId, + (long unsigned)mon->queueSize, + (long unsigned)mon->parameters.queueSize); +} + +static void +UA_Notification_enqueueSub(UA_Notification *n) { + UA_MonitoredItem *mon = n->mon; + UA_assert(mon); + + UA_Subscription *sub = mon->subscription; + UA_assert(sub); + + if(TAILQ_NEXT(n, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) + return; + + /* Add to the subscription if reporting is enabled */ + TAILQ_INSERT_TAIL(&sub->notificationQueue, n, globalEntry); + ++sub->notificationQueueSize; + + switch(mon->itemToMonitor.attributeId) { +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + case UA_ATTRIBUTEID_EVENTNOTIFIER: + ++sub->eventNotifications; + break; +#endif + default: + ++sub->dataChangeNotifications; + break; + } +} + +void +UA_Notification_enqueueAndTrigger(UA_Server *server, UA_Notification *n) { + UA_MonitoredItem *mon = n->mon; + UA_Subscription *sub = mon->subscription; + UA_assert(sub); /* This function is never called for local MonitoredItems */ + + /* If reporting or (sampled+triggered), enqueue into the Subscription first + * and then into the MonitoredItem. UA_MonitoredItem_ensureQueueSpace + * (called within UA_Notification_enqueueMon) assumes the notification is + * already in the Subscription's publishing queue. */ + if(mon->monitoringMode == UA_MONITORINGMODE_REPORTING || + (mon->monitoringMode == UA_MONITORINGMODE_SAMPLING && + mon->triggeredUntil > UA_DateTime_nowMonotonic())) { + UA_Notification_enqueueSub(n); + mon->triggeredUntil = UA_INT64_MIN; + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "Notification enqueued (Queue size %lu)", + (long unsigned)sub->notificationQueueSize); + } + + /* Insert into the MonitoredItem. This checks the queue size and + * handles overflow. */ + UA_Notification_enqueueMon(server, n); + + for(size_t i = mon->triggeringLinksSize - 1; i < mon->triggeringLinksSize; i--) { + /* Get the triggered MonitoredItem. Remove the link if the MI doesn't exist. */ + UA_MonitoredItem *triggeredMon = + UA_Subscription_getMonitoredItem(sub, mon->triggeringLinks[i]); + if(!triggeredMon) { + UA_MonitoredItem_removeLink(sub, mon, mon->triggeringLinks[i]); + continue; + } + + /* Only sampling MonitoredItems receive a trigger. Reporting + * MonitoredItems send out Notifications anyway and disabled + * MonitoredItems don't create samples to send. */ + if(triggeredMon->monitoringMode != UA_MONITORINGMODE_SAMPLING) + continue; + + /* Get the latest sampled Notification from the triggered MonitoredItem. + * Enqueue for publication. */ + UA_Notification *n2 = TAILQ_LAST(&triggeredMon->queue, NotificationQueue); + if(n2) + UA_Notification_enqueueSub(n2); + + /* The next Notification within the publishing interval is going to be + * published as well. (Falsely) assume that the publishing cycle has + * started right now, so that we don't have to loop over MonitoredItems + * to deactivate the triggering after the publishing cycle. */ + triggeredMon->triggeredUntil = UA_DateTime_nowMonotonic() + + (UA_DateTime)(sub->publishingInterval * (UA_Double)UA_DATETIME_MSEC); + + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, + "MonitoredItem %u triggers MonitoredItem %u", + mon->monitoredItemId, triggeredMon->monitoredItemId); + } +} + +/* Remove from the MonitoredItem queue and adjust all counters */ +static void +UA_Notification_dequeueMon(UA_Notification *n) { + UA_MonitoredItem *mon = n->mon; + UA_assert(mon); + + if(TAILQ_NEXT(n, localEntry) == UA_SUBSCRIPTION_QUEUE_SENTINEL) + return; + + /* Remove from the MonitoredItem queue */ +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + if(n->isOverflowEvent) + --mon->eventOverflows; +#endif + + TAILQ_REMOVE(&mon->queue, n, localEntry); + --mon->queueSize; + + /* Test for consistency */ + UA_assert(mon->queueSize >= mon->eventOverflows); + UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); + + /* Reset the sentintel */ + TAILQ_NEXT(n, localEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; +} + +void +UA_Notification_dequeueSub(UA_Notification *n) { + if(TAILQ_NEXT(n, globalEntry) == UA_SUBSCRIPTION_QUEUE_SENTINEL) + return; + + UA_MonitoredItem *mon = n->mon; + UA_assert(mon); + UA_Subscription *sub = mon->subscription; + UA_assert(sub); + + switch(mon->itemToMonitor.attributeId) { +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + case UA_ATTRIBUTEID_EVENTNOTIFIER: + --sub->eventNotifications; + break; +#endif + default: + --sub->dataChangeNotifications; + break; + } + + TAILQ_REMOVE(&sub->notificationQueue, n, globalEntry); + --sub->notificationQueueSize; + + /* Reset the sentinel */ + TAILQ_NEXT(n, globalEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; +} + +/*****************/ +/* MonitoredItem */ +/*****************/ + +void +UA_MonitoredItem_init(UA_MonitoredItem *mon) { + memset(mon, 0, sizeof(UA_MonitoredItem)); + TAILQ_INIT(&mon->queue); + mon->triggeredUntil = UA_INT64_MIN; +} + +static UA_StatusCode +addMonitoredItemBackpointer(UA_Server *server, UA_Session *session, + UA_Node *node, void *data) { + UA_MonitoredItem *mon = (UA_MonitoredItem*)data; + UA_assert(mon != (UA_MonitoredItem*)~0); + mon->sampling.nodeListNext = node->head.monitoredItems; + node->head.monitoredItems = mon; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +removeMonitoredItemBackPointer(UA_Server *server, UA_Session *session, + UA_Node *node, void *data) { + if(!node->head.monitoredItems) + return UA_STATUSCODE_GOOD; + + /* Edge case that it's the first element */ + UA_MonitoredItem *remove = (UA_MonitoredItem*)data; + if(node->head.monitoredItems == remove) { + node->head.monitoredItems = remove->sampling.nodeListNext; + return UA_STATUSCODE_GOOD; + } + + UA_MonitoredItem *prev = node->head.monitoredItems; + UA_MonitoredItem *entry = prev->sampling.nodeListNext; + for(; entry != NULL; prev = entry, entry = entry->sampling.nodeListNext) { + if(entry == remove) { + prev->sampling.nodeListNext = entry->sampling.nodeListNext; + break; + } + } + + return UA_STATUSCODE_GOOD; +} + +void +UA_Server_registerMonitoredItem(UA_Server *server, UA_MonitoredItem *mon) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(mon->registered) + return; + + /* Register in Subscription and Server */ + UA_Subscription *sub = mon->subscription; + if(sub) { + mon->monitoredItemId = ++sub->lastMonitoredItemId; + sub->monitoredItemsSize++; + LIST_INSERT_HEAD(&sub->monitoredItems, mon, listEntry); + } else { + mon->monitoredItemId = ++server->lastLocalMonitoredItemId; + LIST_INSERT_HEAD(&server->localMonitoredItems, mon, listEntry); + } + server->monitoredItemsSize++; + + /* Register the MonitoredItem in userland */ + if(server->config.monitoredItemRegisterCallback) { + UA_Session *session = &server->adminSession; + if(sub) + session = sub->session; + + void *targetContext = NULL; + getNodeContext(server, mon->itemToMonitor.nodeId, &targetContext); + server->config.monitoredItemRegisterCallback(server, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &mon->itemToMonitor.nodeId, + targetContext, + mon->itemToMonitor.attributeId, false); + } + + mon->registered = true; +} + +static void +UA_Server_unregisterMonitoredItem(UA_Server *server, UA_MonitoredItem *mon) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(!mon->registered) + return; + + UA_Subscription *sub = mon->subscription; + UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, + "MonitoredItem %" PRIi32 " | Deleting the MonitoredItem", + mon->monitoredItemId); + + /* Deregister MonitoredItem in userland */ + if(server->config.monitoredItemRegisterCallback) { + UA_Session *session = &server->adminSession; + if(sub) + session = sub->session; + + void *targetContext = NULL; + getNodeContext(server, mon->itemToMonitor.nodeId, &targetContext); + server->config.monitoredItemRegisterCallback(server, + session ? &session->sessionId : NULL, + session ? session->sessionHandle : NULL, + &mon->itemToMonitor.nodeId, + targetContext, + mon->itemToMonitor.attributeId, true); + } + + /* Deregister in Subscription and server */ + if(sub) + sub->monitoredItemsSize--; + LIST_REMOVE(mon, listEntry); /* Also for LocalMonitoredItems */ + server->monitoredItemsSize--; + + mon->registered = false; +} + +UA_StatusCode +UA_MonitoredItem_setMonitoringMode(UA_Server *server, UA_MonitoredItem *mon, + UA_MonitoringMode monitoringMode) { + /* Check if the MonitoringMode is valid or not */ + if(monitoringMode > UA_MONITORINGMODE_REPORTING) + return UA_STATUSCODE_BADMONITORINGMODEINVALID; + + /* Set the MonitoringMode, store the old mode */ + UA_MonitoringMode oldMode = mon->monitoringMode; + mon->monitoringMode = monitoringMode; + + UA_Notification *notification; + /* Reporting is disabled. This causes all Notifications to be dequeued and + * deleted. Also remove the last samples so that we immediately generate a + * Notification when re-activated. */ + if(mon->monitoringMode == UA_MONITORINGMODE_DISABLED) { + UA_Notification *notification_tmp; + UA_MonitoredItem_unregisterSampling(server, mon); + TAILQ_FOREACH_SAFE(notification, &mon->queue, localEntry, notification_tmp) { + UA_Notification_delete(notification); + } + UA_DataValue_clear(&mon->lastValue); + return UA_STATUSCODE_GOOD; + } + + /* When reporting is enabled, put all notifications that were already + * sampled into the global queue of the subscription. When sampling is + * enabled, remove all notifications from the global queue. !!! This needs + * to be the same operation as in UA_Notification_enqueue !!! */ + if(mon->monitoringMode == UA_MONITORINGMODE_REPORTING) { + /* Make all notifications reporting. Re-enqueue to ensure they have the + * right order if some notifications are already reported by a trigger + * link. */ + TAILQ_FOREACH(notification, &mon->queue, localEntry) { + UA_Notification_dequeueSub(notification); + UA_Notification_enqueueSub(notification); + } + } else /* mon->monitoringMode == UA_MONITORINGMODE_SAMPLING */ { + /* Make all notifications non-reporting */ + TAILQ_FOREACH(notification, &mon->queue, localEntry) + UA_Notification_dequeueSub(notification); + } + + /* Register the sampling callback with an interval. If registering the + * sampling callback failed, set to disabled. But don't delete the current + * notifications. */ + UA_StatusCode res = UA_MonitoredItem_registerSampling(server, mon); + if(res != UA_STATUSCODE_GOOD) { + mon->monitoringMode = UA_MONITORINGMODE_DISABLED; + return res; + } + + /* Manually create the first sample if the MonitoredItem was disabled, the + * MonitoredItem is now sampling (or reporting) and it is not an + * Event-MonitoredItem */ + if(oldMode == UA_MONITORINGMODE_DISABLED && + mon->monitoringMode > UA_MONITORINGMODE_DISABLED && + mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER) + monitoredItem_sampleCallback(server, mon); + + return UA_STATUSCODE_GOOD; +} + +static void +delayedFreeMonitoredItem(void *app, void *context) { + UA_free(context); +} + +void +UA_MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *mon) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Remove the sampling callback */ + UA_MonitoredItem_unregisterSampling(server, mon); + + /* Deregister in Server and Subscription */ + if(mon->registered) + UA_Server_unregisterMonitoredItem(server, mon); + + /* Remove the TriggeringLinks */ + if(mon->triggeringLinksSize > 0) { + UA_free(mon->triggeringLinks); + mon->triggeringLinks = NULL; + mon->triggeringLinksSize = 0; + } + + /* Remove the queued notifications attached to the subscription */ + UA_Notification *notification, *notification_tmp; + TAILQ_FOREACH_SAFE(notification, &mon->queue, localEntry, notification_tmp) { + UA_Notification_delete(notification); + } + + /* Remove the settings */ + UA_ReadValueId_clear(&mon->itemToMonitor); + UA_MonitoringParameters_clear(&mon->parameters); + + /* Remove the last samples */ + UA_DataValue_clear(&mon->lastValue); + + /* Add a delayed callback to remove the MonitoredItem when the current jobs + * have completed. This is needed to allow that a local MonitoredItem can + * remove itself in the callback. */ + mon->delayedFreePointers.callback = delayedFreeMonitoredItem; + mon->delayedFreePointers.application = NULL; + mon->delayedFreePointers.context = mon; + UA_EventLoop *el = server->config.eventLoop; + el->addDelayedCallback(el, &mon->delayedFreePointers); +} + +void +UA_MonitoredItem_ensureQueueSpace(UA_Server *server, UA_MonitoredItem *mon) { + /* There can be only one EventOverflow more than normal entries. Because + * EventOverflows are never adjacent. */ + UA_assert(mon->queueSize >= mon->eventOverflows); + UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); + + /* Always attached to a Subscription (no local MonitoredItem) */ + UA_Subscription *sub = mon->subscription; + UA_assert(sub); + + /* Nothing to do */ + if(mon->queueSize - mon->eventOverflows <= mon->parameters.queueSize) + return; + + /* Remove notifications until the required queue size is reached */ + UA_Boolean reporting = false; + size_t remove = mon->queueSize - mon->eventOverflows - mon->parameters.queueSize; + while(remove > 0) { + /* The minimum queue size (without EventOverflows) is 1. At least two + * notifications that are not EventOverflows are in the queue. */ + UA_assert(mon->queueSize - mon->eventOverflows >= 2); + + /* Select the next notification to delete. Skip over overflow events. */ + UA_Notification *del = NULL; + if(mon->parameters.discardOldest) { + /* Remove the oldest */ + del = TAILQ_FIRST(&mon->queue); +#if defined(UA_ENABLE_SUBSCRIPTIONS_EVENTS) && !defined(__clang_analyzer__) + while(del->isOverflowEvent) + del = TAILQ_NEXT(del, localEntry); /* skip overflow events */ +#endif + } else { + /* Remove the second newest (to keep the up-to-date notification). + * The last entry is not an OverflowEvent -- we just added it. */ + del = TAILQ_LAST(&mon->queue, NotificationQueue); + del = TAILQ_PREV(del, NotificationQueue, localEntry); +#if defined(UA_ENABLE_SUBSCRIPTIONS_EVENTS) && !defined(__clang_analyzer__) + while(del->isOverflowEvent) + del = TAILQ_PREV(del, NotificationQueue, localEntry); /* skip overflow events */ +#endif + } + + UA_assert(del); /* There must have been one entry that can be deleted */ + + /* Only create OverflowEvents (and set InfoBits) if the notification + * that is removed is reported */ + if(TAILQ_NEXT(del, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) + reporting = true; + + /* Move the entry after del in the per-MonitoredItem queue right after + * del in the per-Subscription queue. So we don't starve MonitoredItems + * with a high sampling interval in the Subscription queue by always + * removing their first appearance in the per-Subscription queue. + * + * With MonitoringMode == SAMPLING, the Notifications are not (all) in + * the per-Subscription queue. Don't reinsert in that case. + * + * For the reinsertion to work, first insert into the per-Subscription + * queue. */ + if(TAILQ_NEXT(del, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { + UA_Notification *after_del = TAILQ_NEXT(del, localEntry); + UA_assert(after_del); /* There must be one remaining element after del */ + if(TAILQ_NEXT(after_del, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { + TAILQ_REMOVE(&sub->notificationQueue, after_del, globalEntry); + TAILQ_INSERT_AFTER(&sub->notificationQueue, del, after_del, globalEntry); + } + } + + remove--; + + /* Delete the notification and remove it from the queues */ + UA_Notification_delete(del); + + /* Update the subscription diagnostics statistics */ +#ifdef UA_ENABLE_DIAGNOSTICS + sub->monitoringQueueOverflowCount++; +#endif + + /* Assertions to help Clang's scan-analyzer */ + UA_assert(del != TAILQ_FIRST(&mon->queue)); + UA_assert(del != TAILQ_LAST(&mon->queue, NotificationQueue)); + UA_assert(del != TAILQ_PREV(TAILQ_LAST(&mon->queue, NotificationQueue), + NotificationQueue, localEntry)); + } + + /* Leave an entry to indicate that notifications were removed */ + if(reporting) { +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) + createEventOverflowNotification(server, sub, mon); + else +#endif + setOverflowInfoBits(mon); + } +} + +UA_StatusCode +UA_MonitoredItem_registerSampling(UA_Server *server, UA_MonitoredItem *mon) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Sampling is already registered */ + if(mon->samplingType != UA_MONITOREDITEMSAMPLINGTYPE_NONE) + return UA_STATUSCODE_GOOD; + + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_Subscription *sub = mon->subscription; + if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER || + mon->parameters.samplingInterval == 0.0) { + /* Add to the linked list in the node */ + UA_Session *session = &server->adminSession; + if(sub) + session = sub->session; + res = UA_Server_editNode(server, session, &mon->itemToMonitor.nodeId, + addMonitoredItemBackpointer, mon); + if(res == UA_STATUSCODE_GOOD) + mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_EVENT; + return res; + } else if(sub && mon->parameters.samplingInterval == sub->publishingInterval) { + /* Add to the subscription for sampling before every publish */ + LIST_INSERT_HEAD(&sub->samplingMonitoredItems, mon, + sampling.subscriptionSampling); + mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_PUBLISH; + } else { + /* DataChange MonitoredItems with a positive sampling interval have a + * repeated callback. Other MonitoredItems are attached to the Node in a + * linked list of backpointers. */ + res = addRepeatedCallback(server, + (UA_ServerCallback)UA_MonitoredItem_sampleCallback, + mon, mon->parameters.samplingInterval, + &mon->sampling.callbackId); + if(res == UA_STATUSCODE_GOOD) + mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_CYCLIC; + } + + return res; +} + +void +UA_MonitoredItem_unregisterSampling(UA_Server *server, UA_MonitoredItem *mon) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + switch(mon->samplingType) { + case UA_MONITOREDITEMSAMPLINGTYPE_CYCLIC: + /* Remove repeated callback */ + removeCallback(server, mon->sampling.callbackId); + break; + + case UA_MONITOREDITEMSAMPLINGTYPE_EVENT: { + /* Added to a node */ + UA_Subscription *sub = mon->subscription; + UA_Session *session = &server->adminSession; + if(sub) + session = sub->session; + UA_Server_editNode(server, session, &mon->itemToMonitor.nodeId, + removeMonitoredItemBackPointer, mon); + break; + } + + case UA_MONITOREDITEMSAMPLINGTYPE_PUBLISH: + /* Added to the subscription */ + LIST_REMOVE(mon, sampling.subscriptionSampling); + break; + + case UA_MONITOREDITEMSAMPLINGTYPE_NONE: + default: + /* Sampling is not registered */ + break; + } + + mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_NONE; +} + +UA_StatusCode +UA_MonitoredItem_removeLink(UA_Subscription *sub, UA_MonitoredItem *mon, UA_UInt32 linkId) { + /* Find the index */ + size_t i = 0; + for(; i < mon->triggeringLinksSize; i++) { + if(mon->triggeringLinks[i] == linkId) + break; + } + + /* Not existing / already removed */ + if(i == mon->triggeringLinksSize) + return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + + /* Remove the link */ + mon->triggeringLinksSize--; + if(mon->triggeringLinksSize == 0) { + UA_free(mon->triggeringLinks); + mon->triggeringLinks = NULL; + } else { + mon->triggeringLinks[i] = mon->triggeringLinks[mon->triggeringLinksSize]; + UA_UInt32 *tmpLinks = (UA_UInt32*) + UA_realloc(mon->triggeringLinks, mon->triggeringLinksSize * sizeof(UA_UInt32)); + if(tmpLinks) + mon->triggeringLinks = tmpLinks; + } + + /* Does the target MonitoredItem exist? This is stupid, but the CTT wants us + * to to this. We don't auto-remove links together with the target + * MonitoredItem. Links to removed MonitoredItems are removed when the link + * triggers and the target no longer exists. */ + UA_MonitoredItem *mon2 = UA_Subscription_getMonitoredItem(sub, linkId); + if(!mon2) + return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_MonitoredItem_addLink(UA_Subscription *sub, UA_MonitoredItem *mon, UA_UInt32 linkId) { + /* Does the target MonitoredItem exist? */ + UA_MonitoredItem *mon2 = UA_Subscription_getMonitoredItem(sub, linkId); + if(!mon2) + return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + + /* Does the link already exist? */ + for(size_t i = 0 ; i < mon->triggeringLinksSize; i++) { + if(mon->triggeringLinks[i] == linkId) + return UA_STATUSCODE_GOOD; + } + + /* Allocate the memory */ + UA_UInt32 *tmpLinkIds = (UA_UInt32*) + UA_realloc(mon->triggeringLinks, (mon->triggeringLinksSize + 1) * sizeof(UA_UInt32)); + if(!tmpLinkIds) + return UA_STATUSCODE_BADOUTOFMEMORY; + mon->triggeringLinks = tmpLinkIds; + + /* Add the link */ + mon->triggeringLinks[mon->triggeringLinksSize] = linkId; + mon->triggeringLinksSize++; + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +/**** amalgamated original file "/src/server/ua_subscription_datachange.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Fabian Arndt, Root-Core + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ + +/* Detect value changes outside the deadband */ +#define UA_DETECT_DEADBAND(TYPE) do { \ + TYPE v1 = *(const TYPE*)data1; \ + TYPE v2 = *(const TYPE*)data2; \ + TYPE diff = (v1 > v2) ? (TYPE)(v1 - v2) : (TYPE)(v2 - v1); \ + return ((UA_Double)diff > deadband); \ +} while(false); + +static UA_Boolean +detectScalarDeadBand(const void *data1, const void *data2, + const UA_DataType *type, const UA_Double deadband) { + if(type->typeKind == UA_DATATYPEKIND_SBYTE) { + UA_DETECT_DEADBAND(UA_SByte); + } else if(type->typeKind == UA_DATATYPEKIND_BYTE) { + UA_DETECT_DEADBAND(UA_Byte); + } else if(type->typeKind == UA_DATATYPEKIND_INT16) { + UA_DETECT_DEADBAND(UA_Int16); + } else if(type->typeKind == UA_DATATYPEKIND_UINT16) { + UA_DETECT_DEADBAND(UA_UInt16); + } else if(type->typeKind == UA_DATATYPEKIND_INT32) { + UA_DETECT_DEADBAND(UA_Int32); + } else if(type->typeKind == UA_DATATYPEKIND_UINT32) { + UA_DETECT_DEADBAND(UA_UInt32); + } else if(type->typeKind == UA_DATATYPEKIND_INT64) { + UA_DETECT_DEADBAND(UA_Int64); + } else if(type->typeKind == UA_DATATYPEKIND_UINT64) { + UA_DETECT_DEADBAND(UA_UInt64); + } else if(type->typeKind == UA_DATATYPEKIND_FLOAT) { + UA_DETECT_DEADBAND(UA_Float); + } else if(type->typeKind == UA_DATATYPEKIND_DOUBLE) { + UA_DETECT_DEADBAND(UA_Double); + } else { + return false; /* Not a known numerical type */ + } +} + +static UA_Boolean +detectVariantDeadband(const UA_Variant *value, const UA_Variant *oldValue, + const UA_Double deadbandValue) { + if(value->arrayLength != oldValue->arrayLength) + return true; + if(value->type != oldValue->type) + return true; + size_t length = 1; + if(!UA_Variant_isScalar(value)) + length = value->arrayLength; + uintptr_t data = (uintptr_t)value->data; + uintptr_t oldData = (uintptr_t)oldValue->data; + UA_UInt32 memSize = value->type->memSize; + for(size_t i = 0; i < length; ++i) { + if(detectScalarDeadBand((const void*)data, (const void*)oldData, + value->type, deadbandValue)) + return true; + data += memSize; + oldData += memSize; + } + return false; +} + +static UA_Boolean +detectValueChange(UA_Server *server, UA_MonitoredItem *mon, const UA_DataValue *dv) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Status changes are always reported */ + if(dv->hasStatus != mon->lastValue.hasStatus || + dv->status != mon->lastValue.status) { + return true; + } + + /* Default trigger is Status + Value */ + UA_DataChangeTrigger trigger = UA_DATACHANGETRIGGER_STATUSVALUE; + + /* Use the configured trigger */ + const UA_DataChangeFilter *dcf = NULL; + const UA_ExtensionObject *filter = &mon->parameters.filter; + if(filter->content.decoded.type == &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) { + dcf = (UA_DataChangeFilter*)filter->content.decoded.data; + trigger = dcf->trigger; + } + + /* The status was already tested above */ + if(trigger == UA_DATACHANGETRIGGER_STATUS) + return false; + + UA_assert(trigger == UA_DATACHANGETRIGGER_STATUSVALUE || + trigger == UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP); + + /* Test absolute deadband */ + if(dcf && dcf->deadbandType == UA_DEADBANDTYPE_ABSOLUTE && + dv->value.type != NULL && UA_DataType_isNumeric(dv->value.type)) + return detectVariantDeadband(&dv->value, &mon->lastValue.value, + dcf->deadbandValue); + + /* Compare the source timestamp if the trigger requires that */ + if(trigger == UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP) { + if(dv->hasSourceTimestamp != mon->lastValue.hasSourceTimestamp) + return true; + if(dv->hasSourceTimestamp && + dv->sourceTimestamp != mon->lastValue.sourceTimestamp) + return true; + } + + /* Has the value changed? */ + if(dv->hasValue != mon->lastValue.hasValue) + return true; + return !UA_equal(&dv->value, &mon->lastValue.value, + &UA_TYPES[UA_TYPES_VARIANT]); +} + +UA_StatusCode +UA_MonitoredItem_createDataChangeNotification(UA_Server *server, UA_MonitoredItem *mon, + const UA_DataValue *dv) { + /* Allocate a new notification */ + UA_Notification *newNot = UA_Notification_new(); + if(!newNot) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Prepare the notification */ + newNot->mon = mon; + newNot->data.dataChange.clientHandle = mon->parameters.clientHandle; + UA_StatusCode retval = UA_DataValue_copy(dv, &newNot->data.dataChange.value); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(newNot); + return retval; + } + + /* Enqueue the notification */ + UA_Notification_enqueueAndTrigger(server, newNot); + return UA_STATUSCODE_GOOD; +} + +void +UA_MonitoredItem_processSampledValue(UA_Server *server, UA_MonitoredItem *mon, + UA_DataValue *value) { + UA_assert(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER); + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Has the value changed (with the filters applied)? */ + UA_Boolean changed = detectValueChange(server, mon, value); + if(!changed) { + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, mon->subscription, + "MonitoredItem %" PRIi32 " | " + "The value has not changed", mon->monitoredItemId); + UA_DataValue_clear(value); + return; + } + + /* The MonitoredItem is attached to a subscription (not server-local). + * Prepare a notification and enqueue it. */ + if(mon->subscription) { + UA_StatusCode res = + UA_MonitoredItem_createDataChangeNotification(server, mon, value); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, mon->subscription, + "MonitoredItem %" PRIi32 " | " + "Processing the sample returned the statuscode %s", + mon->monitoredItemId, UA_StatusCode_name(res)); + UA_DataValue_clear(value); + return; + } + } + + /* <-- Point of no return --> */ + + /* Move/store the value for filter comparison and TransferSubscription */ + UA_DataValue_clear(&mon->lastValue); + mon->lastValue = *value; + + /* Call the local callback if the MonitoredItem is not attached to a + * subscription. Do this at the very end. Because the callback might delete + * the subscription. */ + if(!mon->subscription) { + UA_LocalMonitoredItem *localMon = (UA_LocalMonitoredItem*) mon; + void *nodeContext = NULL; + getNodeContext(server, mon->itemToMonitor.nodeId, &nodeContext); + localMon->callback.dataChangeCallback(server, + mon->monitoredItemId, localMon->context, + &mon->itemToMonitor.nodeId, nodeContext, + mon->itemToMonitor.attributeId, value); + } +} + +void +UA_MonitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon) { + lockServer(server); + monitoredItem_sampleCallback(server, mon); + unlockServer(server); +} + +void +monitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + UA_assert(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER); + + UA_Subscription *sub = mon->subscription; + UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, "MonitoredItem %" PRIi32 + " | Sample callback called", mon->monitoredItemId); + + /* Sample the current value */ + UA_Session *session = (sub) ? sub->session : &server->adminSession; + UA_DataValue dv = readWithSession(server, session, &mon->itemToMonitor, + mon->timestampsToReturn); + + /* Process the sample. This always clears the value. */ + UA_MonitoredItem_processSampledValue(server, mon, &dv); +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS */ + +/**** amalgamated original file "/src/server/ua_subscription_events.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + +/* We use a 16-Byte ByteString as an identifier */ +UA_StatusCode +generateEventId(UA_ByteString *generatedId) { + /* EventId is a ByteString, which is basically just a string + * We will use a 16-Byte ByteString as an identifier */ + UA_StatusCode res = UA_ByteString_allocBuffer(generatedId, 16 * sizeof(UA_Byte)); + if(res != UA_STATUSCODE_GOOD) + return res; + UA_UInt32 *ids = (UA_UInt32*)generatedId->data; + ids[0] = UA_UInt32_random(); + ids[1] = UA_UInt32_random(); + ids[2] = UA_UInt32_random(); + ids[3] = UA_UInt32_random(); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +createEvent(UA_Server *server, const UA_NodeId eventType, UA_NodeId *outNodeId) { + if(!outNodeId) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, + "outNodeId must not be NULL. The event's NodeId must be returned " + "so it can be triggered."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + /* Make sure the eventType is a subtype of BaseEventType */ + UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); + if(!isNodeInTree_singleRef(server, &eventType, &baseEventTypeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, + "Event type must be a subtype of BaseEventType!"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + /* Create an ObjectNode which represents the event */ + UA_QualifiedName name; + /* set a dummy name. This is not used. */ + name = UA_QUALIFIEDNAME(0,"E"); + UA_NodeId newNodeId = UA_NODEID_NULL; + UA_ObjectAttributes oAttr = UA_ObjectAttributes_default; + UA_StatusCode retval = addNode(server, UA_NODECLASS_OBJECT, + UA_NODEID_NULL, /* Set a random unused NodeId */ + UA_NODEID_NULL, /* No parent */ + UA_NODEID_NULL, /* No parent reference */ + name, /* an event does not have a name */ + eventType, /* the type of the event */ + &oAttr, /* default attributes are fine */ + &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], + NULL, /* no node context */ + &newNodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, + "Adding event failed. StatusCode %s", UA_StatusCode_name(retval)); + return retval; + } + + /* Find the eventType variable */ + name = UA_QUALIFIEDNAME(0, "EventType"); + UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, newNodeId, 1, &name); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + retval = bpr.statusCode; + UA_BrowsePathResult_clear(&bpr); + deleteNode(server, newNodeId, true); + UA_NodeId_clear(&newNodeId); + return retval; + } + + /* Set the EventType */ + UA_Variant value; + UA_Variant_init(&value); + UA_Variant_setScalar(&value, (void*)(uintptr_t)&eventType, &UA_TYPES[UA_TYPES_NODEID]); + retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); + UA_BrowsePathResult_clear(&bpr); + if(retval != UA_STATUSCODE_GOOD) { + deleteNode(server, newNodeId, true); + UA_NodeId_clear(&newNodeId); + return retval; + } + + *outNodeId = newNodeId; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Server_createEvent(UA_Server *server, const UA_NodeId eventType, + UA_NodeId *outNodeId) { + lockServer(server); + UA_StatusCode res = createEvent(server, eventType, outNodeId); + unlockServer(server); + return res; +} + +static UA_StatusCode +eventSetStandardFields(UA_Server *server, const UA_NodeId *event, + const UA_NodeId *origin, UA_ByteString *outEventId) { + /* Set the SourceNode */ + UA_StatusCode retval; + UA_QualifiedName name = UA_QUALIFIEDNAME(0, "SourceNode"); + UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, *event, 1, &name); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + retval = bpr.statusCode; + UA_BrowsePathResult_clear(&bpr); + return retval; + } + UA_Variant value; + UA_Variant_init(&value); + UA_Variant_setScalarCopy(&value, origin, &UA_TYPES[UA_TYPES_NODEID]); + retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); + UA_Variant_clear(&value); + UA_BrowsePathResult_clear(&bpr); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the ReceiveTime */ + name = UA_QUALIFIEDNAME(0, "ReceiveTime"); + bpr = browseSimplifiedBrowsePath(server, *event, 1, &name); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + retval = bpr.statusCode; + UA_BrowsePathResult_clear(&bpr); + return retval; + } + UA_DateTime rcvTime = UA_DateTime_now(); + UA_Variant_setScalar(&value, &rcvTime, &UA_TYPES[UA_TYPES_DATETIME]); + retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); + UA_BrowsePathResult_clear(&bpr); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the EventId */ + UA_ByteString eventId = UA_BYTESTRING_NULL; + retval = generateEventId(&eventId); + if(retval != UA_STATUSCODE_GOOD) + return retval; + name = UA_QUALIFIEDNAME(0, "EventId"); + bpr = browseSimplifiedBrowsePath(server, *event, 1, &name); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + retval = bpr.statusCode; + UA_ByteString_clear(&eventId); + UA_BrowsePathResult_clear(&bpr); + return retval; + } + UA_Variant_init(&value); + UA_Variant_setScalar(&value, &eventId, &UA_TYPES[UA_TYPES_BYTESTRING]); + retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); + UA_BrowsePathResult_clear(&bpr); + if(retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear(&eventId); + return retval; + } + + /* Return the EventId */ + if(outEventId) + *outEventId = eventId; + else + UA_ByteString_clear(&eventId); + + return UA_STATUSCODE_GOOD; +} + +/* Filters an event according to the filter specified by mon and then adds it to + * mons notification queue */ +UA_StatusCode +UA_MonitoredItem_addEvent(UA_Server *server, UA_MonitoredItem *mon, + const UA_NodeId *event) { + /* Get the filter */ + if(mon->parameters.filter.content.decoded.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) + return UA_STATUSCODE_BADFILTERNOTALLOWED; + UA_EventFilter *eventFilter = (UA_EventFilter*) + mon->parameters.filter.content.decoded.data; + + /* Allocate memory for the notification */ + UA_Notification *notification = UA_Notification_new(); + if(!notification) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* The MonitoredItem must be attached to a Subscription. This code path is + * not taken for local MonitoredItems (once they are enabled for Events). */ + UA_assert(mon->subscription); + UA_Subscription *sub = mon->subscription; + UA_Session *session = sub->session; + + UA_EventFilterResult res; /* FilterResult contains only statuscodes. Ignored + * outside the initial setup/validation. */ + UA_EventFilterResult_init(&res); + UA_StatusCode retval = filterEvent(server, session, event, eventFilter, + ¬ification->data.event, &res); + UA_EventFilterResult_clear(&res); + if(retval != UA_STATUSCODE_GOOD) { + UA_Notification_delete(notification); + if(retval == UA_STATUSCODE_BADNOMATCH) + return UA_STATUSCODE_GOOD; + return retval; + } + + notification->data.event.clientHandle = mon->parameters.clientHandle; + notification->mon = mon; + + UA_Notification_enqueueAndTrigger(server, notification); + return UA_STATUSCODE_GOOD; +} + +#ifdef UA_ENABLE_HISTORIZING +static void +setHistoricalEvent(UA_Server *server, const UA_NodeId *origin, + const UA_NodeId *emitNodeId, const UA_NodeId *eventNodeId) { + UA_Variant historicalEventFilterValue; + UA_Variant_init(&historicalEventFilterValue); + + /* A HistoricalEventNode that has event history available will provide this property */ + UA_StatusCode retval = + readObjectProperty(server, *emitNodeId, + UA_QUALIFIEDNAME(0, "HistoricalEventFilter"), + &historicalEventFilterValue); + if(retval != UA_STATUSCODE_GOOD) { + /* Do not vex users with no match errors */ + if(retval != UA_STATUSCODE_BADNOMATCH) + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Cannot read the HistoricalEventFilter property of a " + "listening node. StatusCode %s", + UA_StatusCode_name(retval)); + return; + } + + /* If found then check if HistoricalEventFilter property has a valid value */ + if(UA_Variant_isEmpty(&historicalEventFilterValue) || + !UA_Variant_isScalar(&historicalEventFilterValue) || + historicalEventFilterValue.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "HistoricalEventFilter property of a listening node " + "does not have a valid value"); + UA_Variant_clear(&historicalEventFilterValue); + return; + } + + /* Finally, if found and valid then filter */ + UA_EventFilter *filter = (UA_EventFilter*) historicalEventFilterValue.data; + UA_EventFieldList efl; + UA_EventFilterResult result; + retval = filterEvent(server, &server->adminSession, eventNodeId, filter, &efl, &result); + if(retval == UA_STATUSCODE_GOOD) + server->config.historyDatabase.setEvent(server, server->config.historyDatabase.context, + origin, emitNodeId, filter, &efl); + UA_EventFilterResult_clear(&result); + UA_Variant_clear(&historicalEventFilterValue); + UA_EventFieldList_clear(&efl); +} +#endif + +static const UA_NodeId objectsFolderId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_OBJECTSFOLDER}}; +#define EMIT_REFS_ROOT_COUNT 4 +static const UA_NodeId emitReferencesRoots[EMIT_REFS_ROOT_COUNT] = + {{0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_ORGANIZES}}, + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}}, + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASEVENTSOURCE}}, + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASNOTIFIER}}}; + +static const UA_NodeId isInFolderReferences[2] = + {{0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_ORGANIZES}}, + {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}}}; + +UA_StatusCode +triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, + const UA_NodeId origin, UA_ByteString *outEventId, + const UA_Boolean deleteEventNode) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + UA_LOG_NODEID_DEBUG(&origin, + UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, + "Events: An event is triggered on node %.*s", + (int)nodeIdStr.length, nodeIdStr.data)); + +#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS + UA_Boolean isCallerAC = false; + if(isConditionOrBranch(server, &eventNodeId, &origin, &isCallerAC)) { + if(!isCallerAC) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Condition Events: Please use A&C API to trigger Condition Events 0x%08X", + UA_STATUSCODE_BADINVALIDARGUMENT); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + } +#endif /* UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ + + /* Check that the origin node exists */ + const UA_Node *originNode = UA_NODESTORE_GET(server, &origin); + if(!originNode) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, + "Origin node for event does not exist."); + return UA_STATUSCODE_BADNOTFOUND; + } + UA_NODESTORE_RELEASE(server, originNode); + + /* Make sure the origin is in the ObjectsFolder (TODO: or in the ViewsFolder) */ + /* Only use Organizes and HasComponent to check if we are below the ObjectsFolder */ + UA_StatusCode retval; + UA_ReferenceTypeSet refTypes; + UA_ReferenceTypeSet_init(&refTypes); + for(int i = 0; i < 2; ++i) { + UA_ReferenceTypeSet tmpRefTypes; + retval = referenceTypeIndices(server, &isInFolderReferences[i], &tmpRefTypes, true); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Events: Could not create the list of references and their subtypes " + "with StatusCode %s", UA_StatusCode_name(retval)); + } + refTypes = UA_ReferenceTypeSet_union(refTypes, tmpRefTypes); + } + + if(!isNodeInTree(server, &origin, &objectsFolderId, &refTypes)) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, + "Node for event must be in ObjectsFolder!"); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + /* Update the standard fields of the event */ + retval = eventSetStandardFields(server, &eventNodeId, &origin, outEventId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Events: Could not set the standard event fields with StatusCode %s", + UA_StatusCode_name(retval)); + return retval; + } + + /* List of nodes that emit the node. Events propagate upwards (bubble up) in + * the node hierarchy. */ + UA_ExpandedNodeId *emitNodes = NULL; + size_t emitNodesSize = 0; + + /* Add the server node to the list of nodes from which the event is emitted. + * The server node emits all events. + * + * Part 3, 7.17: In particular, the root notifier of a Server, the Server + * Object defined in Part 5, is always capable of supplying all Events from + * a Server and as such has implied HasEventSource References to every event + * source in a Server. */ + UA_NodeId emitStartNodes[2]; + emitStartNodes[0] = origin; + emitStartNodes[1] = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER); + + /* Get all ReferenceTypes over which the events propagate */ + UA_ReferenceTypeSet emitRefTypes; + UA_ReferenceTypeSet_init(&emitRefTypes); + for(size_t i = 0; i < EMIT_REFS_ROOT_COUNT; i++) { + UA_ReferenceTypeSet tmpRefTypes; + retval = referenceTypeIndices(server, &emitReferencesRoots[i], &tmpRefTypes, true); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Events: Could not create the list of references for event " + "propagation with StatusCode %s", UA_StatusCode_name(retval)); + goto cleanup; + } + emitRefTypes = UA_ReferenceTypeSet_union(emitRefTypes, tmpRefTypes); + } + + /* Get the list of nodes in the hierarchy that emits the event. */ + retval = browseRecursive(server, 2, emitStartNodes, UA_BROWSEDIRECTION_INVERSE, + &emitRefTypes, UA_NODECLASS_UNSPECIFIED, true, + &emitNodesSize, &emitNodes); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Events: Could not create the list of nodes listening on the " + "event with StatusCode %s", UA_StatusCode_name(retval)); + goto cleanup; + } + + /* Add the event to the listening MonitoredItems at each relevant node */ + for(size_t i = 0; i < emitNodesSize; i++) { + /* Get the node */ + const UA_Node *node = UA_NODESTORE_GET(server, &emitNodes[i].nodeId); + if(!node) + continue; + + /* Only consider objects */ + if(node->head.nodeClass != UA_NODECLASS_OBJECT) { + UA_NODESTORE_RELEASE(server, node); + continue; + } + + /* Add event to monitoreditems */ + UA_MonitoredItem *mon = node->head.monitoredItems; + for(; mon != NULL; mon = mon->sampling.nodeListNext) { + /* Is this an Event-MonitoredItem? */ + if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER) + continue; + retval = UA_MonitoredItem_addEvent(server, mon, &eventNodeId); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Events: Could not add the event to a listening " + "node with StatusCode %s", UA_StatusCode_name(retval)); + retval = UA_STATUSCODE_GOOD; /* Only log problems with individual emit nodes */ + } + } + + UA_NODESTORE_RELEASE(server, node); + + /* Add event entry in the historical database */ +#ifdef UA_ENABLE_HISTORIZING + if(server->config.historyDatabase.setEvent) + setHistoricalEvent(server, &origin, &emitNodes[i].nodeId, &eventNodeId); +#endif + } + + /* Delete the node representation of the event */ + if(deleteEventNode) { + retval = deleteNode(server, eventNodeId, true); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, + "Attempt to remove event using deleteNode failed. StatusCode %s", + UA_StatusCode_name(retval)); + } + } + + cleanup: + UA_Array_delete(emitNodes, emitNodesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + return retval; +} + +UA_StatusCode +UA_Server_triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, + const UA_NodeId origin, UA_ByteString *outEventId, + const UA_Boolean deleteEventNode) { + lockServer(server); + UA_StatusCode res = + triggerEvent(server, eventNodeId, origin, outEventId, deleteEventNode); + unlockServer(server); + return res; +} +#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ + +/**** amalgamated original file "/src/server/ua_subscription_events_filter.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH + * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) + * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + +/* Ternary Logic + * ------------- + * Similar to SQL, OPC UA Queries use the K3 - Strong Kleene Logic that + * considers ternary values true/false/null (unknown). Most operators resolve to + * a ternary value. Some operators can resolve to a literal value (e.g. CAST). */ + +typedef enum { + UA_TERNARY_FALSE = -1, + UA_TERNARY_NULL = 0, + UA_TERNARY_TRUE = 1 +} UA_Ternary; + +static UA_Ternary +UA_Ternary_and(UA_Ternary first, UA_Ternary second) { + if(first == UA_TERNARY_FALSE || second == UA_TERNARY_FALSE) + return UA_TERNARY_FALSE; + if(first == UA_TERNARY_NULL || second == UA_TERNARY_NULL) + return UA_TERNARY_NULL; + return UA_TERNARY_TRUE; +} + +static UA_Ternary +UA_Ternary_or(UA_Ternary first, UA_Ternary second) { + if(first == UA_TERNARY_TRUE || second == UA_TERNARY_TRUE) + return UA_TERNARY_TRUE; + if(first == UA_TERNARY_NULL || second == UA_TERNARY_NULL) + return UA_TERNARY_NULL; + return UA_TERNARY_FALSE; +} + +/* Part 4: The NOT operator always evaluates to NULL if applied to a NULL + * operand. We simply swap true/false. */ +static UA_Ternary +UA_Ternary_not(UA_Ternary v) { + return (UA_Ternary)((int)v * -1); +} + +static UA_Ternary v2t(const UA_Variant *v) { + if(UA_Variant_isEmpty(v) || !UA_Variant_hasScalarType(v, &UA_TYPES[UA_TYPES_BOOLEAN])) + return UA_TERNARY_NULL; + UA_Boolean b = *(UA_Boolean*)v->data; + return (b) ? UA_TERNARY_TRUE : UA_TERNARY_FALSE; +} + +static const UA_Boolean bFalse = false; +static const UA_Boolean bTrue = true; + +static UA_Variant t2v(UA_Ternary t) { + UA_Variant v; + UA_Variant_init(&v); + switch(t) { + case UA_TERNARY_FALSE: + UA_Variant_setScalar(&v, (void*)(uintptr_t)&bFalse, &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + case UA_TERNARY_TRUE: + UA_Variant_setScalar(&v, (void*)(uintptr_t)&bTrue, &UA_TYPES[UA_TYPES_BOOLEAN]); + break; + default: + return v; + } + v.storageType = UA_VARIANT_DATA_NODELETE; + return v; +} + +/* Type Casting Rules + * ------------------ + * For comparison operations values from different datatypes can be implicitly + * or explicitly cast. The standard defines rules to selected the target type + * for casting and when implicit casts are possible. */ + +/* Defined in Part 4 Table 123 "Data Precedence Rules". Implicit casting is + * always to the type of lower precedence value. */ +static UA_Byte typePrecedence[UA_DATATYPEKINDS] = { + 12, 10, 11, 8, 9, 5, 6, 3, 4, 2, 1, 14, 255, 13, 255, 255, 16, + 15, 7, 18, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 +}; + +/* Type conversion table from the standard. + * 0 -> Same Type, 1 -> Implicit Cast, 2 -> Only explicit Cast, -1 -> cast invalid */ +static UA_SByte convertLookup[21][21] = { + { 0, 1,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 1,-1, 2,-1,-1, 1, 1, 1,-1}, + { 2, 0,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 1,-1, 2,-1,-1, 1, 1, 1,-1}, + {-1,-1, 0,-1,-1,-1,-1, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, + {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 2,-1,-1,-1,-1,-1,-1}, + { 2, 2,-1,-1, 0,-1, 2,-1, 2, 2, 2,-1, 2,-1, 2,-1,-1, 2, 2, 2,-1}, + {-1,-1,-1,-1,-1, 0,-1,-1,-1,-1,-1, 2,-1,-1, 1,-1,-1,-1,-1,-1,-1}, + { 2, 2,-1,-1, 1,-1, 0,-1, 2, 2, 2,-1, 2,-1, 2,-1,-1, 2, 2, 2,-1}, + {-1,-1, 2,-1,-1,-1,-1, 0,-1,-1,-1,-1,-1,-1, 2,-1,-1,-1,-1,-1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 0, 1, 1,-1, 2,-1, 2,-1,-1, 2, 1, 1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 2, 0, 1,-1, 2, 2, 2,-1,-1, 2, 2, 1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 2, 2, 0,-1, 2, 2, 2,-1,-1, 2, 2, 2,-1}, + {-1,-1,-1,-1,-1, 1,-1,-1,-1,-1,-1, 0,-1,-1, 1,-1,-1,-1,-1,-1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 0,-1, 2,-1,-1, 1, 1, 1,-1}, + {-1,-1,-1,-1,-1,-1,-1,-1,-1, 1, 1,-1,-1, 0,-1,-1,-1, 2, 1, 1,-1}, + { 1, 1,-1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1,-1, 0, 2, 2, 1, 1, 1,-1}, + {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 1, 0,-1,-1,-1,-1,-1}, + {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 1, 1, 0,-1,-1,-1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 2, 1, 2,-1,-1, 0, 1, 1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 2, 1, 1,-1, 2, 2, 2,-1,-1, 2, 0, 1,-1}, + { 2, 2,-1,-1, 1,-1, 1,-1, 2, 2, 1,-1, 2, 2, 2,-1,-1, 2, 2, 0,-1}, + {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0} +}; + +/* This array maps the index of the DataType-Kind to the index of the type + * conversion matrix (255 -> not contained in the matrix) */ +static UA_Byte convertLookupIndex[UA_DATATYPEKINDS] = { + 0, 12, 1, 8, 17, 9, 18, 10, 19, 6, 4, 14, 3, 7, 2, + 20, 11, 5, 13, 16, 15,255,255,255,255,255,255,255,255,255,255 +}; + +/* Returns the target type for implicit cassting or NULL if no implicit casting + * is possible */ +static const UA_DataType * +implicitCastTargetType(const UA_DataType *t1, const UA_DataType *t2) { + if(!t1 || t1 == t2) + return t1; + + /* Get the type precedence. Return if no implicit casting is possible. */ + UA_Byte p1 = typePrecedence[t1->typeKind]; + UA_Byte p2 = typePrecedence[t2->typeKind]; + if(p1 == UA_BYTE_MAX || p2 == UA_BYTE_MAX) + return NULL; + + /* Which is the target type based on the precedence rules? */ + const UA_DataType *targetType = (p1 < p2) ? t1 : t2; + const UA_DataType *sourceType = (p1 < p2) ? t2 : t1; + + /* Lookup the casting rule */ + UA_Byte sourceIndex = convertLookupIndex[sourceType->typeKind]; + UA_Byte targetIndex = convertLookupIndex[targetType->typeKind]; + if(sourceIndex == UA_BYTE_MAX || targetIndex == UA_BYTE_MAX) + return NULL; + UA_SByte castingRule = convertLookup[sourceIndex][targetIndex]; + + /* Is implicit casting allowed? */ + if(castingRule != 0 && castingRule != 1) + return NULL; + return targetType; +} + +/* Cast Numerical + * -------------- + * To reduce the number of cases we first "normalize" to either of + * Int64/UInt64/Double. Then cast from there to the target type. This works for + * all numericals (not only the implicit conversion). + * + * Numerical conversion rules from the standard: + * + * - If the conversion fails the result is a null value. + * - Floating point values are rounded by adding 0.5 and truncating when they + * are converted to integer values. + * - Converting a value that is outside the range of the target type causes a + * conversion error. */ + +#define UA_CAST_SIGNED(t, T) \ + if(i < T##_MIN || (i > 0 && (t)i > T##_MAX)) \ + return; \ + *(t*)data = (t)i; \ + do { } while(0) + +#define UA_CAST_UNSIGNED(t, T) \ + if(u > T##_MAX) \ + return; \ + *(t*)data = (t)u; \ + do { } while(0) + +#define UA_CAST_FLOAT(t, T) \ + if(f + 0.5 < (UA_Double)T##_MIN || f + 0.5 > (UA_Double)T##_MAX) \ + return; \ + *(t*)data = (t)(f + 0.5); \ + do { } while(0) + +/* We can cast between any numerical type. So this can be reused for explicit casting. */ +static void +castNumerical(const UA_Variant *in, const UA_DataType *type, UA_Variant *out) { + UA_assert(UA_Variant_isScalar(in)); + UA_Variant_init(out); /* Set to null value */ + + UA_Int64 i = 0; + UA_UInt64 u = 0; + UA_Double f = 0.0; + + const UA_DataTypeKind ink = (UA_DataTypeKind)in->type->typeKind; + switch(ink) { + case UA_DATATYPEKIND_SBYTE: i = *(UA_SByte*)in->data; break; + case UA_DATATYPEKIND_INT16: i = *(UA_Int16*)in->data; break; + case UA_DATATYPEKIND_INT32: i = *(UA_Int32*)in->data; break; + case UA_DATATYPEKIND_INT64: i = *(UA_Int64*)in->data; break; + case UA_DATATYPEKIND_BYTE: /* or */ + case UA_DATATYPEKIND_BOOLEAN: u = *(UA_Byte*)in->data; break; + case UA_DATATYPEKIND_UINT16: u = *(UA_UInt16*)in->data; break; + case UA_DATATYPEKIND_UINT32: /* or */ + case UA_DATATYPEKIND_STATUSCODE: u = *(UA_UInt32*)in->data; break; + case UA_DATATYPEKIND_UINT64: u = *(UA_UInt64*)in->data; break; + case UA_DATATYPEKIND_FLOAT: f = *(UA_Float*)in->data; break; + case UA_DATATYPEKIND_DOUBLE: f = *(UA_Double*)in->data; break; + default: return; + } + + void *data = UA_new(type); + if(!data) + return; + + if(ink == UA_DATATYPEKIND_SBYTE || ink == UA_DATATYPEKIND_INT16 || + ink == UA_DATATYPEKIND_INT32 || ink == UA_DATATYPEKIND_INT64) { + /* Cast from signed */ + switch(type->typeKind) { + case UA_DATATYPEKIND_SBYTE: UA_CAST_SIGNED(UA_SByte, UA_SBYTE); break; + case UA_DATATYPEKIND_INT16: UA_CAST_SIGNED(UA_Int16, UA_INT16); break; + case UA_DATATYPEKIND_INT32: UA_CAST_SIGNED(UA_Int32, UA_INT32); break; + case UA_DATATYPEKIND_INT64: *(UA_Int64*)data = i; break; + case UA_DATATYPEKIND_BYTE: UA_CAST_SIGNED(UA_Byte, UA_BYTE); break; + case UA_DATATYPEKIND_UINT16: UA_CAST_SIGNED(UA_UInt16, UA_UINT16); break; + case UA_DATATYPEKIND_UINT32: UA_CAST_SIGNED(UA_UInt32, UA_UINT32); break; + case UA_DATATYPEKIND_UINT64: UA_CAST_SIGNED(UA_UInt64, UA_UINT64); break; + case UA_DATATYPEKIND_FLOAT: *(UA_Float*)data = (UA_Float)i; break; + case UA_DATATYPEKIND_DOUBLE: *(UA_Double*)data = (UA_Double)i; break; + default: + UA_free(data); + return; + } + } else if(ink == UA_DATATYPEKIND_BYTE || ink == UA_DATATYPEKIND_UINT16 || + ink == UA_DATATYPEKIND_UINT32 || ink == UA_DATATYPEKIND_UINT64) { + /* Cast from unsigned */ + switch(type->typeKind) { + case UA_DATATYPEKIND_SBYTE: UA_CAST_UNSIGNED(UA_SByte, UA_SBYTE); break; + case UA_DATATYPEKIND_INT16: UA_CAST_UNSIGNED(UA_Int16, UA_INT16); break; + case UA_DATATYPEKIND_INT32: UA_CAST_UNSIGNED(UA_Int32, UA_INT32); break; + case UA_DATATYPEKIND_INT64: UA_CAST_UNSIGNED(UA_Int64, UA_INT64); break; + case UA_DATATYPEKIND_BYTE: UA_CAST_UNSIGNED(UA_Byte, UA_BYTE); break; + case UA_DATATYPEKIND_UINT16: UA_CAST_UNSIGNED(UA_UInt16, UA_UINT16); break; + case UA_DATATYPEKIND_UINT32: UA_CAST_UNSIGNED(UA_UInt32, UA_UINT32); break; + case UA_DATATYPEKIND_UINT64: *(UA_UInt64*)data = u; break; + case UA_DATATYPEKIND_FLOAT: *(UA_Float*)data = (UA_Float)u; break; + case UA_DATATYPEKIND_DOUBLE: *(UA_Double*)data = (UA_Double)u; break; + default: + UA_free(data); + return; + } + } else { + /* Cast from float */ + if(f != f) { + /* NaN cannot be cast */ + UA_free(data); + return; + } + switch(type->typeKind) { + case UA_DATATYPEKIND_SBYTE: UA_CAST_FLOAT(UA_SByte, UA_SBYTE); break; + case UA_DATATYPEKIND_INT16: UA_CAST_FLOAT(UA_Int16, UA_INT16); break; + case UA_DATATYPEKIND_INT32: UA_CAST_FLOAT(UA_Int32, UA_INT32); break; + case UA_DATATYPEKIND_INT64: UA_CAST_FLOAT(UA_Int64, UA_INT64); break; + case UA_DATATYPEKIND_BYTE: UA_CAST_FLOAT(UA_Byte, UA_BYTE); break; + case UA_DATATYPEKIND_UINT16: UA_CAST_FLOAT(UA_UInt16, UA_UINT16); break; + case UA_DATATYPEKIND_UINT32: UA_CAST_FLOAT(UA_UInt32, UA_UINT32); break; + case UA_DATATYPEKIND_UINT64: UA_CAST_FLOAT(UA_UInt64, UA_UINT64); break; + case UA_DATATYPEKIND_FLOAT: *(UA_Float*)data = (UA_Float)f; break; + case UA_DATATYPEKIND_DOUBLE: *(UA_Double*)data = (UA_Double)f; break; + default: + UA_free(data); + return; + } + } + + UA_Variant_setScalar(out, data, type); +} + +/* Implicit Casting + * ---------------- */ + +static UA_INLINE UA_Byte uppercase(UA_Byte in) { return in | 32; } + +static UA_StatusCode +castImplicitFromString(const UA_Variant *in, const UA_DataType *outType, UA_Variant *out) { +#if defined(UA_ENABLE_PARSING) || defined(UA_ENABLE_JSON_ENCODING) + UA_StatusCode res = UA_STATUSCODE_GOOD; +#endif + if(outType == &UA_TYPES[UA_TYPES_BOOLEAN]) { + /* String -> Boolean + * + * Part 4 says: String values containing "true", "false", "1" or "0" + * can be converted to Boolean values. Other string values cause a + * conversion error. In this case Strings are case-insensitive. */ + UA_Boolean b; + const UA_String *inStr = (const UA_String*)in->data; + if(inStr->length == 1 && inStr->data[0] == '0') { + b = false; + } else if(inStr->length == 1 && inStr->data[0] == '1') { + b = true; + } else if(inStr->length == 4 && + uppercase(inStr->data[0])== 'T' && uppercase(inStr->data[1])== 'R' && + uppercase(inStr->data[2])== 'U' && uppercase(inStr->data[3])== 'E') { + b = true; + } else if(inStr->length == 5 && uppercase(inStr->data[0])== 'F' && + uppercase(inStr->data[1])== 'A' && uppercase(inStr->data[2])== 'L' && + uppercase(inStr->data[3])== 'S' && uppercase(inStr->data[4])== 'E') { + b = false; + } else { + return UA_STATUSCODE_BADTYPEMISMATCH; + } + return UA_Variant_setScalarCopy(out, &b, outType); + } + +#ifdef UA_ENABLE_PARSING + else if(outType == &UA_TYPES[UA_TYPES_GUID]) { + /* String -> Guid */ + UA_Guid guid; + res = UA_Guid_parse(&guid, *(UA_String*)in->data); + if(res != UA_STATUSCODE_GOOD) + return res; + return UA_Variant_setScalarCopy(out, &guid, outType); + } +#endif + +#ifdef UA_ENABLE_JSON_ENCODING + /* String -> Numerical, uses the JSON decoding */ + else if(UA_DataType_isNumeric(outType)) { + void *outData = UA_new(outType); + if(!outData) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_decodeJson((const UA_ByteString*)in->data, outData, outType, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_free(outData); + return res; + } + UA_Variant_setScalar(out, outData, outType); + return UA_STATUSCODE_GOOD; + } +#endif + + /* No implicit casting possible */ + return UA_STATUSCODE_BADTYPEMISMATCH; +} + +static UA_StatusCode +castImplicit(const UA_Variant *in, const UA_DataType *outType, UA_Variant *out) { + /* Of the input is empty, casting results in a NULL value */ + if(UA_Variant_isEmpty(in)) { + UA_Variant_init(out); + return UA_STATUSCODE_GOOD; + } + + /* TODO: We only support scalar values for now */ + if(!UA_Variant_isScalar(in)) + return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; + + /* No casting necessary */ + if(in->type == outType) { + *out = *in; + out->storageType = UA_VARIANT_DATA_NODELETE; + return UA_STATUSCODE_GOOD; + } + + UA_StatusCode res = UA_STATUSCODE_GOOD; + switch(in->type->typeKind) { + case UA_DATATYPEKIND_EXPANDEDNODEID: { + /* ExpandedNodeId -> String */ + if(outType != &UA_TYPES[UA_TYPES_STRING]) + break; + UA_String *outStr = UA_String_new(); + if(!outStr) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_ExpandedNodeId_print((const UA_ExpandedNodeId*)in->data, outStr); + if(res != UA_STATUSCODE_GOOD) { + UA_free(outStr); + break; + } + UA_Variant_setScalar(out, outStr, outType); + break; + } + + case UA_DATATYPEKIND_NODEID: { + if(outType == &UA_TYPES[UA_TYPES_STRING]) { + /* NodeId -> String */ + UA_String *outStr = UA_String_new(); + if(!outStr) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_NodeId_print((const UA_NodeId*)in->data, outStr); + if(res != UA_STATUSCODE_GOOD) { + UA_free(outStr); + break; + } + UA_Variant_setScalar(out, outStr, outType); + } else if(outType == &UA_TYPES[UA_TYPES_EXPANDEDNODEID]) { + /* NodeId -> ExpandedNodeId */ + UA_ExpandedNodeId *eid = UA_ExpandedNodeId_new(); + if(!eid) + return UA_STATUSCODE_BADOUTOFMEMORY; + res = UA_NodeId_copy((const UA_NodeId*)in->data, &eid->nodeId); + if(res != UA_STATUSCODE_GOOD) { + UA_free(eid); + break; + } + UA_Variant_setScalar(out, eid, outType); + } + break; + } + + case UA_DATATYPEKIND_STRING: + res = castImplicitFromString(in, outType, out); + break; + + case UA_DATATYPEKIND_LOCALIZEDTEXT: { + if(outType != &UA_TYPES[UA_TYPES_STRING]) + break; + /* LocalizedText -> String */ + UA_LocalizedText *inLT = (UA_LocalizedText*)in->data; + res = UA_Variant_setScalarCopy(out, &inLT->text, outType); + break; + } + + case UA_DATATYPEKIND_QUALIFIEDNAME: { + UA_QualifiedName *inQN = (UA_QualifiedName*)in->data; + if(outType == &UA_TYPES[UA_TYPES_STRING]) { + /* QualifiedName -> String */ + res = UA_Variant_setScalarCopy(out, &inQN->name, outType); + } else if(outType == &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]) { + /* QualifiedName -> LocalizedText */ + UA_LocalizedText lt; + lt.text = inQN->name; + lt.locale = UA_STRING_NULL; + res = UA_Variant_setScalarCopy(out, <, outType); + } + break; + } + + default: + /* Try casting between numericals (also works for Boolean and StatusCode + * input). The conversion can fail if the limits of the output type are + * exceeded and then results in a NULL value. */ + castNumerical(in, outType, out); + } + + return res; +} + +/* Filter Evaluation + * ----------------- */ + +typedef struct { + UA_Server *server; + UA_Session *session; + const UA_NodeId *eventNode; + const UA_ContentFilter *filter; + UA_ContentFilterResult *filterResult; + UA_Variant results[UA_EVENTFILTER_MAXELEMENTS]; + + /* The stack contains temporary variants. Cleaned up after the evaluation of + * each operator. */ + size_t top; + UA_Variant stack[UA_EVENTFILTER_MAXOPERANDS]; +} UA_FilterEvalContext; + +/* Operand Resolving + * ~~~~~~~~~~~~~~~~~ + * Methods that all resolve an operator operand to a Variant. */ + +/* Part 4, 7.4.4.5 SimpleAttributeOperand: The clause can point to any attribute + * of nodes. Either a child of the event node and also the event type. */ +static UA_StatusCode +resolveSimpleAttributeOperand(UA_Server *server, UA_Session *session, + const UA_NodeId *origin, + const UA_SimpleAttributeOperand *sao, + UA_Variant *value) { + /* Prepare the ReadValueId */ + UA_ReadValueId rvi; + UA_ReadValueId_init(&rvi); + rvi.indexRange = sao->indexRange; + rvi.attributeId = sao->attributeId; + + /* Read the value */ + UA_DataValue v; + if(sao->browsePathSize == 0) { + /* If this list (browsePath) is empty, the Node is the instance of the + * TypeDefinition. (Part 4, 7.4.4.5) */ + rvi.nodeId = *origin; + + /* A Condition is an indirection. Look up the target node. */ + /* TODO: check for Branches! One Condition could have multiple Branches */ + UA_NodeId conditionTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_CONDITIONTYPE); + if(UA_NodeId_equal(&sao->typeDefinitionId, &conditionTypeId)) { +#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS + UA_StatusCode res = UA_getConditionId(server, origin, &rvi.nodeId); + UA_CHECK_STATUS(res, return res); +#else + return UA_STATUSCODE_BADNOTSUPPORTED; +#endif + } + + v = readWithSession(server, session, &rvi, UA_TIMESTAMPSTORETURN_NEITHER); + } else { + /* Resolve the browse path, starting from the event-source (and not the + * typeDefinitionId). */ + UA_BrowsePathResult bpr = + browseSimplifiedBrowsePath(server, *origin, + sao->browsePathSize, sao->browsePath); + if(bpr.targetsSize == 0 && bpr.statusCode == UA_STATUSCODE_GOOD) + bpr.statusCode = UA_STATUSCODE_BADNOTFOUND; + if(bpr.statusCode != UA_STATUSCODE_GOOD) { + UA_StatusCode res = bpr.statusCode; + UA_BrowsePathResult_clear(&bpr); + return res; + } + + /* Use the first match */ + rvi.nodeId = bpr.targets[0].targetId.nodeId; + v = readWithSession(server, session, &rvi, UA_TIMESTAMPSTORETURN_NEITHER); + UA_BrowsePathResult_clear(&bpr); + } + + /* Validate the result */ + if(v.status != UA_STATUSCODE_GOOD) { + UA_Variant_clear(&v.value); + return v.status; + } + if(!v.hasValue) + return UA_STATUSCODE_BADNODATAAVAILABLE; + + /* Move the result to the output */ + *value = v.value; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +resolveOperand(UA_FilterEvalContext *ctx, UA_ExtensionObject *op, UA_Variant *out) { + if(op->encoding != UA_EXTENSIONOBJECT_DECODED && + op->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) + return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; + + /* Result of an operator that was evaluated prior */ + if(op->content.decoded.type == &UA_TYPES[UA_TYPES_ELEMENTOPERAND]) { + UA_ElementOperand *eo = (UA_ElementOperand*)op->content.decoded.data; + *out = ctx->results[eo->index]; + out->storageType = UA_VARIANT_DATA_NODELETE; + return UA_STATUSCODE_GOOD; + } + + /* Literal value */ + if(op->content.decoded.type == &UA_TYPES[UA_TYPES_LITERALOPERAND]) { + UA_LiteralOperand *lo = (UA_LiteralOperand*)op->content.decoded.data; + *out = lo->value; + out->storageType = UA_VARIANT_DATA_NODELETE; + return UA_STATUSCODE_GOOD; + } + + /* SimpleAttributeOperand with a BrowsePath */ + if(op->content.decoded.type == &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]) { + UA_SimpleAttributeOperand *sao = + (UA_SimpleAttributeOperand*)op->content.decoded.data; + return resolveSimpleAttributeOperand(ctx->server, ctx->session, + ctx->eventNode, sao, out); + } + + return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; +} + +/* The operandIndex is within the operator arguments, not the operand index for + * the overall stack */ +static UA_StatusCode +setOperandError(UA_FilterEvalContext *ctx, size_t elementIndex, + size_t operandIndex, UA_StatusCode statusCode) { + UA_ContentFilterElementResult *res = &ctx->filterResult->elementResults[elementIndex]; + res->operandStatusCodes[operandIndex] = statusCode; + /* The operator status is set globally in a single location upwards the call chain + * res->statusCode = statusCode; */ + return statusCode; +} + +/* Filter Operators + * ~~~~~~~~~~~~~~~~ */ + +static UA_StatusCode +ofTypeOperator(UA_FilterEvalContext *ctx, size_t index) { + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + UA_assert(elm->filterOperandsSize == 1); + + /* Get the operand. Must be a literal NodeId */ + UA_Variant *op0 = &ctx->stack[ctx->top++]; + UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); + if(res != UA_STATUSCODE_GOOD || !UA_Variant_hasScalarType(op0, &UA_TYPES[UA_TYPES_NODEID])) + return setOperandError(ctx, index, 0, UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED); + + /* Read the event type */ + UA_Variant eventTypeVar; + UA_Variant_init(&eventTypeVar); + const UA_NodeId *operandTypeId = (const UA_NodeId *)op0->data; + res = readObjectProperty(ctx->server, *ctx->eventNode, + UA_QUALIFIEDNAME(0, "EventType"), &eventTypeVar); + UA_CHECK_STATUS(res, return res); + + if(!UA_Variant_hasScalarType(&eventTypeVar, &UA_TYPES[UA_TYPES_NODEID])) { + UA_LOG_WARNING(ctx->server->config.logging, UA_LOGCATEGORY_SERVER, + "EventType has an invalid type."); + UA_Variant_clear(&eventTypeVar); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check if the eventtype is equal to the operand or a subtype of it */ + const UA_NodeId *eventTypeId = (UA_NodeId*)eventTypeVar.data; + UA_Boolean ofType = isNodeInTree_singleRef(ctx->server, eventTypeId, operandTypeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE); + ctx->results[index] = t2v(ofType ? UA_TERNARY_TRUE : UA_TERNARY_FALSE); + UA_Variant_clear(&eventTypeVar); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +andOperator(UA_FilterEvalContext *ctx, size_t index) { + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + UA_assert(elm->filterOperandsSize == 2); + UA_Variant *op0 = &ctx->stack[ctx->top++]; + UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); + UA_CHECK_STATUS(res, return res); + UA_Variant *op1 = &ctx->stack[ctx->top++]; + res = resolveOperand(ctx, &elm->filterOperands[1], op1); + UA_CHECK_STATUS(res, return res); + ctx->results[index] = t2v(UA_Ternary_and(v2t(op0), v2t(op1))); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +orOperator(UA_FilterEvalContext *ctx, size_t index) { + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + UA_assert(elm->filterOperandsSize == 2); + UA_Variant *op0 = &ctx->stack[ctx->top++]; + UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); + UA_CHECK_STATUS(res, return res); + UA_Variant *op1 = &ctx->stack[ctx->top++]; + res = resolveOperand(ctx, &elm->filterOperands[1], op1); + UA_CHECK_STATUS(res, return res); + ctx->results[index] = t2v(UA_Ternary_or(v2t(op0), v2t(op1))); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +notOperator(UA_FilterEvalContext *ctx, size_t index) { + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + UA_assert(elm->filterOperandsSize == 1); + UA_Variant *op0 = &ctx->stack[ctx->top++]; + UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); + UA_CHECK_STATUS(res, return res); + ctx->results[index] = t2v(UA_Ternary_not(v2t(op0))); + return UA_STATUSCODE_GOOD; +} + +/* Resolves the operands and casts them implicitly to the same type. + * The result is set at &ctx->stack[ctx->top] (for the initial value of top). */ +static UA_StatusCode +castResolveOperands(UA_FilterEvalContext *ctx, size_t index, UA_Boolean setError) { + /* Enough space on the stack left? */ + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + if(ctx->top + elm->filterOperandsSize > UA_EVENTFILTER_MAXOPERANDS) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Resolve all operands */ + UA_assert(ctx->top == 0); /* Assume the stack is empty */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + for(size_t i = 0; i < elm->filterOperandsSize; i++) { + res = resolveOperand(ctx, &elm->filterOperands[i], &ctx->stack[ctx->top++]); + UA_CHECK_STATUS(res, return res); + } + UA_assert(ctx->top > 0); /* Assume the stack is no longer empty */ + + /* Get the datatype for casting */ + const UA_DataType *targetType = ctx->stack[0].type; + for(size_t pos = 1; pos < ctx->top; pos++) { + if(targetType) + targetType = implicitCastTargetType(targetType, ctx->stack[pos].type); + if(!targetType) + return (setError) ? setOperandError(ctx, index, pos, res) : res; + } + + /* Cast the operands. Put the result in the same location on the stack. */ + for(size_t pos = 0; pos < ctx->top; pos++) { + UA_Variant orig = ctx->stack[pos]; + res = castImplicit(&orig, targetType, &ctx->stack[pos]); + if(res != UA_STATUSCODE_GOOD) + return (setError) ? setOperandError(ctx, index, pos, res) : res; + if(ctx->stack[pos].data == orig.data) { + /* Reuse the storage type of the original data if the variant is + * identical or only the type has changed */ + ctx->stack[pos].storageType = orig.storageType; + } else { + UA_Variant_clear(&orig); /* Fresh allocation of the cast variant. Clean up. */ + } + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +compareOperator(UA_FilterEvalContext *ctx, size_t index, UA_FilterOperator op) { + UA_assert(ctx->filter->elements[index].filterOperandsSize == 2); + + /* Resolve and cast the operands. A failed casting results in FALSE. Note + * that operands could cast to NULL. */ + UA_assert(ctx->top == 0); /* Assume the stack is empty */ + UA_StatusCode res = castResolveOperands(ctx, index, false); + if(res != UA_STATUSCODE_GOOD || !ctx->stack[0].type || + ctx->stack[0].type != ctx->stack[1].type) { + ctx->results[index] = t2v(UA_TERNARY_FALSE); + return UA_STATUSCODE_GOOD; + } + UA_assert(ctx->top == 2); /* Assume the stack is no longer empty */ + + /* The equals operator is always possible. For the other comparisons it has + * to be an ordered type: Numerical, Boolean, StatusCode or DateTime. */ + const UA_DataType *type = ctx->stack[0].type; + if(op != UA_FILTEROPERATOR_EQUALS && !UA_DataType_isNumeric(type) && + type->typeKind != UA_DATATYPEKIND_BOOLEAN && + type->typeKind != UA_DATATYPEKIND_STATUSCODE && + type->typeKind != UA_DATATYPEKIND_DATETIME) + return setOperandError(ctx, index, 0, UA_STATUSCODE_BADFILTEROPERANDINVALID); + + /* Compute the order */ + UA_Order eq = UA_order(ctx->stack[0].data, ctx->stack[1].data, type); + UA_Ternary operatorResult = UA_TERNARY_FALSE; + switch(op) { + case UA_FILTEROPERATOR_EQUALS: + default: + if(eq == UA_ORDER_EQ) + operatorResult = UA_TERNARY_TRUE; + break; + case UA_FILTEROPERATOR_GREATERTHAN: + if(eq == UA_ORDER_MORE) + operatorResult = UA_TERNARY_TRUE; + break; + case UA_FILTEROPERATOR_LESSTHAN: + if(eq == UA_ORDER_LESS) + operatorResult = UA_TERNARY_TRUE; + break; + case UA_FILTEROPERATOR_GREATERTHANOREQUAL: + if(eq == UA_ORDER_MORE || eq == UA_ORDER_EQ) + operatorResult = UA_TERNARY_TRUE; + break; + case UA_FILTEROPERATOR_LESSTHANOREQUAL: + if(eq == UA_ORDER_LESS || eq == UA_ORDER_EQ) + operatorResult = UA_TERNARY_TRUE; + break; + } + + /* Set result as a literal value */ + ctx->results[index] = t2v(operatorResult); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +equalsOperator(UA_FilterEvalContext *ctx, size_t index) { + return compareOperator(ctx, index, UA_FILTEROPERATOR_EQUALS); +} + +static UA_StatusCode +gtOperator(UA_FilterEvalContext *ctx, size_t index) { + return compareOperator(ctx, index, UA_FILTEROPERATOR_GREATERTHAN); +} + +static UA_StatusCode +ltOperator(UA_FilterEvalContext *ctx, size_t index) { + return compareOperator(ctx, index, UA_FILTEROPERATOR_LESSTHAN); +} + +static UA_StatusCode +gteOperator(UA_FilterEvalContext *ctx, size_t index) { + return compareOperator(ctx, index, UA_FILTEROPERATOR_GREATERTHANOREQUAL); +} + +static UA_StatusCode +lteOperator(UA_FilterEvalContext *ctx, size_t index) { + return compareOperator(ctx, index, UA_FILTEROPERATOR_LESSTHANOREQUAL); +} + +static UA_StatusCode +bitwiseOperator(UA_FilterEvalContext *ctx, size_t index, UA_FilterOperator op) { + UA_assert(ctx->filter->elements[index].filterOperandsSize == 2); + + /* Resolve and cast the operands. Note that operands could cast to NULL. */ + UA_assert(ctx->top == 0); /* Assume the stack is empty */ + UA_StatusCode res = castResolveOperands(ctx, index, true); + UA_CHECK_STATUS(res, return res); + UA_assert(ctx->top == 2); /* Assume we have two elements */ + + /* Operands can cast to NULL */ + const UA_DataType *type = ctx->stack[0].type; + if(!type || !UA_DataType_isNumeric(type) || + ctx->stack[0].type != ctx->stack[1].type) + return UA_STATUSCODE_BADTYPEMISMATCH; + + /* Copy the casted literal to the result */ + res = UA_Variant_copy(&ctx->stack[0], &ctx->results[index]); + UA_CHECK_STATUS(res, return res); + + /* Do the bitwise operation on the result data */ + UA_Byte *bytesOut = (UA_Byte*)ctx->results[index].data; + const UA_Byte *bytes2 = (const UA_Byte*)ctx->stack[1].data; + for(size_t i = 0; i < type->memSize; i++) { + if(op == UA_FILTEROPERATOR_BITWISEAND) + bytesOut[i] = bytesOut[i] & bytes2[i]; + else + bytesOut[i] = bytesOut[i] | bytes2[i]; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +bitwiseAndOperator(UA_FilterEvalContext *ctx, size_t index) { + return bitwiseOperator(ctx, index, UA_FILTEROPERATOR_BITWISEAND); +} + +static UA_StatusCode +bitwiseOrOperator(UA_FilterEvalContext *ctx, size_t index) { + return bitwiseOperator(ctx, index, UA_FILTEROPERATOR_BITWISEOR); +} + +static UA_StatusCode +betweenOperator(UA_FilterEvalContext *ctx, size_t index) { + UA_assert(ctx->filter->elements[index].filterOperandsSize == 3); + + /* If no implicit conversion is available and the operands are of different + * types, the particular result is FALSE. */ + UA_assert(ctx->top == 0); /* Assume the stack is empty */ + UA_StatusCode res = castResolveOperands(ctx, index, false); + if(res != UA_STATUSCODE_GOOD) { + ctx->results[index] = t2v(UA_TERNARY_FALSE); + return UA_STATUSCODE_GOOD; + } + UA_assert(ctx->top == 3); /* Assume we have three elements */ + + /* The casting can result in NULL values or a non-numerical type */ + const UA_DataType *type = ctx->stack[0].type; + if(!type || !UA_DataType_isNumeric(type) || + type != ctx->stack[1].type || type != ctx->stack[2].type) + return UA_STATUSCODE_BADTYPEMISMATCH; + + UA_Order o1 = UA_order(ctx->stack[0].data, ctx->stack[1].data, type); + UA_Order o2 = UA_order(ctx->stack[0].data, ctx->stack[2].data, type); + UA_Ternary comp = ((o1 == UA_ORDER_MORE || o1 == UA_ORDER_EQ) && + (o2 == UA_ORDER_LESS || o2 == UA_ORDER_EQ)) ? + UA_TERNARY_TRUE : UA_TERNARY_FALSE; + + ctx->results[index] = t2v(comp); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +inListOperator(UA_FilterEvalContext *ctx, size_t index) { + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + UA_assert(elm->filterOperandsSize >= 2); + UA_Boolean found = false; + UA_Variant *op0 = &ctx->stack[ctx->top++]; + UA_Variant *op1 = &ctx->stack[ctx->top++]; + UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); + UA_CHECK_STATUS(res, return res); + for(size_t i = 1; i < elm->filterOperandsSize && !found; i++) { + res = resolveOperand(ctx, &elm->filterOperands[i], op1); + if(res != UA_STATUSCODE_GOOD) + continue; + if(op0->type == op1->type && UA_equal(op0->data, op1->data, op0->type)) + found = true; + UA_Variant_clear(op1); + } + ctx->results[index] = t2v((found) ? UA_TERNARY_TRUE: UA_TERNARY_FALSE); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +isNullOperator(UA_FilterEvalContext *ctx, size_t index) { + const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; + UA_assert(elm->filterOperandsSize == 1); + UA_Variant *op0 = &ctx->stack[ctx->top++]; + UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); + UA_CHECK_STATUS(res, return res); + ctx->results[index] = t2v(UA_Variant_isEmpty(op0) ? UA_TERNARY_TRUE : UA_TERNARY_FALSE); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +notImplementedOperator(UA_FilterEvalContext *ctx, size_t index) { + return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; +} + +/* Filter Evaluation + * ~~~~~~~~~~~~~~~~~ */ + +typedef struct { + UA_StatusCode (*operatorMethod)(UA_FilterEvalContext *ctx, size_t index); + UA_Byte minOperatorCount; + UA_Byte maxOperatorCount; +} UA_FilterOperatorJumptableElement; + +static const UA_FilterOperatorJumptableElement operatorJumptable[18] = { + {equalsOperator, 2, 2}, + {isNullOperator, 1, 1}, + {gtOperator, 2, 2}, + {ltOperator, 2, 2}, + {gteOperator, 2, 2}, + {lteOperator, 2, 2}, + {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* like */ + {notOperator, 1, 1}, + {betweenOperator, 3, 3}, + {inListOperator, 2, UA_EVENTFILTER_MAXOPERANDS}, + {andOperator, 2, 2}, + {orOperator, 2, 2}, + {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* cast */ + {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* in view */ + {ofTypeOperator, 1, 1}, + {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* related to */ + {bitwiseAndOperator, 2, 2}, + {bitwiseOrOperator, 2, 2} +}; + +UA_StatusCode +evaluateWhereClause(UA_Server *server, UA_Session *session, const UA_NodeId *eventNode, + const UA_ContentFilter *contentFilter, + UA_ContentFilterResult *contentFilterResult) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* An empty filter always succeeds */ + if(contentFilter->elementsSize == 0) + return UA_STATUSCODE_GOOD; + + /* Prepare the context */ + UA_FilterEvalContext ctx; + ctx.filterResult = contentFilterResult; + ctx.filter = contentFilter; + ctx.server = server; + ctx.session = session; + ctx.eventNode = eventNode; + ctx.top = 0; + + /* Pacify some compilers by initializing the first result */ + UA_Variant_init(&ctx.results[0]); + + /* Evaluate the filter. Iterate backwards over the filter elements and + * resolve each. This ensures that all element-index operands point to an + * evaluated element. */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + int i = (int)contentFilter->elementsSize - 1; + for(; i >= 0; i--) { + UA_ContentFilterElement *cfe = &contentFilter->elements[i]; + res = operatorJumptable[cfe->filterOperator].operatorMethod(&ctx, (size_t)i); + for(size_t j = 0; j < ctx.top; j++) + UA_Variant_clear(&ctx.stack[j]); /* clean up the stack */ + ctx.top = 0; + if(res != UA_STATUSCODE_GOOD) + break; + } + + /* The filter matches if the operator at the first position evaluates to TRUE */ + if(res == UA_STATUSCODE_GOOD && v2t(&ctx.results[0]) != UA_TERNARY_TRUE) + res = UA_STATUSCODE_BADNOMATCH; + + /* Clean up the element result variants */ + for(int j = (int)contentFilter->elementsSize - 1; j > i; j--) + UA_Variant_clear(&ctx.results[j]); + return res; +} + +static UA_Boolean +isValidEvent(UA_Server *server, const UA_NodeId *validEventParent, + const UA_NodeId *eventId) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + /* Find the eventType variableNode */ + UA_QualifiedName findName = UA_QUALIFIEDNAME(0, "EventType"); + UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, *eventId, 1, &findName); + if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { + UA_BrowsePathResult_clear(&bpr); + return false; + } + + /* Get the EventType Property Node */ + UA_Variant tOutVariant; + UA_Variant_init(&tOutVariant); + /* Read the Value of EventType Property Node (the Value should be a NodeId) */ + UA_StatusCode retval = readWithReadValue(server, &bpr.targets[0].targetId.nodeId, + UA_ATTRIBUTEID_VALUE, &tOutVariant); + if(retval != UA_STATUSCODE_GOOD || + !UA_Variant_hasScalarType(&tOutVariant, &UA_TYPES[UA_TYPES_NODEID])) { + UA_BrowsePathResult_clear(&bpr); + return false; + } + + const UA_NodeId *tEventType = (UA_NodeId*)tOutVariant.data; + + /* Check whether the EventType is a Subtype of CondtionType (Part 9 first + * implementation) */ + UA_NodeId conditionTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_CONDITIONTYPE); + if(UA_NodeId_equal(validEventParent, &conditionTypeId) && + isNodeInTree_singleRef(server, tEventType, &conditionTypeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) { + UA_BrowsePathResult_clear(&bpr); + UA_Variant_clear(&tOutVariant); + return true; + } + + /* EventType is not a Subtype of CondtionType (ConditionId Clause won't be + * present in Events, which are not Conditions) */ + /* Check whether Valid Event other than Conditions */ + UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); + UA_Boolean isSubtypeOfBaseEvent = + isNodeInTree_singleRef(server, tEventType, &baseEventTypeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE); + + UA_BrowsePathResult_clear(&bpr); + UA_Variant_clear(&tOutVariant); + return isSubtypeOfBaseEvent; +} + +UA_StatusCode +filterEvent(UA_Server *server, UA_Session *session, + const UA_NodeId *eventNode, UA_EventFilter *filter, + UA_EventFieldList *efl, UA_EventFilterResult *result) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + + if(filter->selectClausesSize == 0) + return UA_STATUSCODE_BADEVENTFILTERINVALID; + + UA_EventFieldList_init(efl); + efl->eventFields = (UA_Variant *) + UA_Array_new(filter->selectClausesSize, &UA_TYPES[UA_TYPES_VARIANT]); + if(!efl->eventFields) + return UA_STATUSCODE_BADOUTOFMEMORY; + efl->eventFieldsSize = filter->selectClausesSize; + + /* Empty event filter result */ + UA_EventFilterResult_init(result); + result->selectClauseResultsSize = filter->selectClausesSize; + result->selectClauseResults = (UA_StatusCode *) + UA_Array_new(filter->selectClausesSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!result->selectClauseResults) { + UA_EventFieldList_clear(efl); + UA_EventFilterResult_clear(result); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Prepare content filter result structure */ + if(filter->whereClause.elementsSize > 0) { + result->whereClauseResult.elementResultsSize = filter->whereClause.elementsSize; + result->whereClauseResult.elementResults = (UA_ContentFilterElementResult *) + UA_Array_new(filter->whereClause.elementsSize, + &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); + if(!result->whereClauseResult.elementResults) { + UA_EventFieldList_clear(efl); + UA_EventFilterResult_clear(result); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + for(size_t i = 0; i < filter->whereClause.elementsSize; ++i) { + UA_ContentFilterElementResult *er = + &result->whereClauseResult.elementResults[i]; + UA_ContentFilterElement *cf = &filter->whereClause.elements[i]; + er->operandStatusCodesSize = cf->filterOperandsSize; + er->operandStatusCodes = (UA_StatusCode *) + UA_Array_new(er->operandStatusCodesSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!er->operandStatusCodes) { + UA_EventFieldList_clear(efl); + UA_EventFilterResult_clear(result); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + } + } + + /* Evaluate the where filter. Do we event need to consider the event? */ + UA_StatusCode res = evaluateWhereClause(server, session, eventNode, + &filter->whereClause, + &result->whereClauseResult); + if(res != UA_STATUSCODE_GOOD){ + UA_EventFieldList_clear(efl); + UA_EventFilterResult_clear(result); + return res; + } + + /* Apply the select filter */ + UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); + for(size_t i = 0; i < filter->selectClausesSize; i++) { + UA_SimpleAttributeOperand *sc = &filter->selectClauses[i]; + /* Check if the browsePath is BaseEventType, in which case nothing more + * needs to be checked */ + if(!UA_NodeId_equal(&sc->typeDefinitionId, &baseEventTypeId) && + !isValidEvent(server, &sc->typeDefinitionId, eventNode)) { + UA_Variant_init(&efl->eventFields[i]); + /* EventFilterResult currently isn't being used + notification->result.selectClauseResults[i] = + UA_STATUSCODE_BADTYPEDEFINITIONINVALID; */ + continue; + } + + /* Lookup the field. The overall filter can succeed even if a single + * select-field cannot be resolved. */ + result->selectClauseResults[i] = + resolveSimpleAttributeOperand(server, session, eventNode, + sc, &efl->eventFields[i]); + } + + return UA_STATUSCODE_GOOD; +} + +/*****************************************/ +/* Validation of Filters during Creation */ +/*****************************************/ + +/* Initial select clause validation. The following checks are currently performed: + * - Check if typedefenitionid or browsepath of any clause is NULL + * - Check if the eventType is a subtype of BaseEventType + * - Check if attributeId is valid + * - Check if browsePath contains null + * - Check if indexRange is defined and if it is parsable + * - Check if attributeId is value */ +UA_StatusCode +UA_SimpleAttributeOperandValidation(UA_Server *server, + const UA_SimpleAttributeOperand *sao) { + /* TypeDefinition is not NULL? */ + if(UA_NodeId_isNull(&sao->typeDefinitionId)) + return UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + + /* EventType is a subtype of BaseEventType? */ + UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); + if(!isNodeInTree_singleRef(server, &sao->typeDefinitionId, + &baseEventTypeId, UA_REFERENCETYPEINDEX_HASSUBTYPE)) + return UA_STATUSCODE_BADTYPEDEFINITIONINVALID; + + /* AttributeId is valid ? */ + if(sao->attributeId == 0 || sao->attributeId >= 28) + return UA_STATUSCODE_BADATTRIBUTEIDINVALID; + + /* If the BrowsePath is empty, the Node is the instance of the + * TypeDefinition. (Part 4, 7.4.4.5) */ + if(sao->browsePathSize == 0) + return UA_STATUSCODE_GOOD; + + /* BrowsePath contains empty BrowseNames? */ + for(size_t j = 0; j < sao->browsePathSize; ++j) { + if(UA_QualifiedName_isNull(&sao->browsePath[j])) + return UA_STATUSCODE_BADBROWSENAMEINVALID; + } + + /* Get the list of subtypes from event type (including the event type itself) */ + UA_ReferenceTypeSet reftypes_interface = + UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); + UA_ExpandedNodeId *childTypeNodes = NULL; + size_t childTypeNodesSize = 0; + UA_StatusCode res = browseRecursive(server, 1, &sao->typeDefinitionId, + UA_BROWSEDIRECTION_FORWARD, &reftypes_interface, + UA_NODECLASS_OBJECTTYPE, true, &childTypeNodesSize, + &childTypeNodes); + if(res != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADATTRIBUTEIDINVALID; + + /* Is the browse path valid for one of them? */ + UA_Boolean subTypeContainField = false; + for(size_t j = 0; j < childTypeNodesSize && !subTypeContainField; j++) { + UA_BrowsePathResult bpr = + browseSimplifiedBrowsePath(server, childTypeNodes[j].nodeId, + sao->browsePathSize, sao->browsePath); + + if(bpr.statusCode == UA_STATUSCODE_GOOD && bpr.targetsSize > 0) + subTypeContainField = true; + UA_BrowsePathResult_clear(&bpr); + } + + UA_Array_delete(childTypeNodes, childTypeNodesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); + + if(!subTypeContainField) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + + /* IndexRange is defined ? */ + if(!UA_String_isEmpty(&sao->indexRange)) { + UA_NumericRange numericRange = UA_NUMERICRANGE(""); + if(UA_NumericRange_parse(&numericRange, sao->indexRange) != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADINDEXRANGEINVALID; + UA_free(numericRange.dimensions); + + /* AttributeId has to be a value if an IndexRange is defined */ + if(sao->attributeId != UA_ATTRIBUTEID_VALUE) + return UA_STATUSCODE_BADTYPEMISMATCH; + } + + return UA_STATUSCODE_GOOD; +} + +/* Initial content filter (where clause) check. Current checks: + * - Number of operands for each (supported) operator + * - ElementOperands point forward only */ +UA_ContentFilterElementResult +UA_ContentFilterElementValidation(UA_Server *server, size_t operatorIndex, + size_t operatorsCount, + const UA_ContentFilterElement *ef) { + /* Initialize the result structure */ + UA_ContentFilterElementResult er; + UA_ContentFilterElementResult_init(&er); + er.operandStatusCodes = (UA_StatusCode *) + UA_Array_new(ef->filterOperandsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + if(!er.operandStatusCodes) { + er.statusCode = UA_STATUSCODE_BADOUTOFMEMORY; + return er; + } + er.operandStatusCodesSize = ef->filterOperandsSize; + + /* Is the operator in the defined range? Test this before the following + * jumptable lookup. */ + if(ef->filterOperator < 0 || ef->filterOperator > UA_FILTEROPERATOR_BITWISEOR) { + er.statusCode = UA_STATUSCODE_BADEVENTFILTERINVALID; + return er; + } + + /* Number of operands supported for the operator? */ + if(ef->filterOperandsSize < operatorJumptable[ef->filterOperator].minOperatorCount || + ef->filterOperandsSize > operatorJumptable[ef->filterOperator].maxOperatorCount) { + er.statusCode = UA_STATUSCODE_BADFILTEROPERANDCOUNTMISMATCH; + return er; + } + + /* Generic validation of the operands */ + for(size_t i = 0; i < ef->filterOperandsSize; i++) { + /* Must be a decoded ExtensionObject */ + UA_ExtensionObject *op = &ef->filterOperands[i]; + if(op->encoding != UA_EXTENSIONOBJECT_DECODED && + op->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) { + er.operandStatusCodes[i] = UA_STATUSCODE_BADFILTEROPERANDINVALID; + er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; + return er; + } + + /* Supported type and conforming to the rules? */ + if(op->content.decoded.type == &UA_TYPES[UA_TYPES_ELEMENTOPERAND]) { + /* Part 4, 7.4.4.2 defines conditions for Element Operands: An index + * is considered valid if its value is greater than the element + * index it is part of and it does not Reference a non-existent + * element. Clients shall construct filters in this way to avoid + * circular and invalid References. */ + UA_ElementOperand *eo = (UA_ElementOperand *)op->content.decoded.data; + if(eo->index <= operatorIndex || eo->index >= operatorsCount) { + er.operandStatusCodes[i] = UA_STATUSCODE_BADINDEXRANGEINVALID; + er.statusCode = UA_STATUSCODE_BADINDEXRANGEINVALID; + return er; + } + } else if(op->content.decoded.type == &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]) { + er.operandStatusCodes[i] = UA_STATUSCODE_BADNOTSUPPORTED; + er.statusCode = UA_STATUSCODE_BADFILTERNOTALLOWED; + return er; + } else if(op->content.decoded.type != &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND] && + op->content.decoded.type != &UA_TYPES[UA_TYPES_LITERALOPERAND]) { + er.operandStatusCodes[i] = UA_STATUSCODE_BADFILTEROPERANDINVALID; + er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; + return er; + } + } + + /* Specific validations for different operators */ + switch(ef->filterOperator) { + case UA_FILTEROPERATOR_INVIEW: + case UA_FILTEROPERATOR_RELATEDTO: + /* Not allowed for event WhereClause according to 7.17.3 in Part 4 */ + er.statusCode = UA_STATUSCODE_BADEVENTFILTERINVALID; + break; + + case UA_FILTEROPERATOR_EQUALS: + case UA_FILTEROPERATOR_GREATERTHAN: + case UA_FILTEROPERATOR_LESSTHAN: + case UA_FILTEROPERATOR_GREATERTHANOREQUAL: + case UA_FILTEROPERATOR_LESSTHANOREQUAL: + case UA_FILTEROPERATOR_BITWISEAND: + case UA_FILTEROPERATOR_BITWISEOR: + case UA_FILTEROPERATOR_BETWEEN: + case UA_FILTEROPERATOR_INLIST: + case UA_FILTEROPERATOR_AND: + case UA_FILTEROPERATOR_OR: + case UA_FILTEROPERATOR_ISNULL: + case UA_FILTEROPERATOR_NOT: + break; + + case UA_FILTEROPERATOR_OFTYPE: { + /* Make sure the operand is a NodeId literal */ + UA_ExtensionObject *o = &ef->filterOperands[0]; + UA_LiteralOperand *lo = (UA_LiteralOperand *)o->content.decoded.data; + if(o->content.decoded.type != &UA_TYPES[UA_TYPES_LITERALOPERAND] || + !UA_Variant_hasScalarType(&lo->value, &UA_TYPES[UA_TYPES_NODEID])) { + er.operandStatusCodes[0] = UA_STATUSCODE_BADFILTEROPERANDINVALID; + er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; + break; + } + + /* Make sure the operand is a subtype of BaseEventType */ + UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); + if(!isNodeInTree_singleRef(server, (UA_NodeId *)lo->value.data, &baseEventTypeId, + UA_REFERENCETYPEINDEX_HASSUBTYPE)) { + er.operandStatusCodes[0] = UA_STATUSCODE_BADFILTEROPERANDINVALID; + er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; + break; + } + break; + } + + case UA_FILTEROPERATOR_LIKE: + case UA_FILTEROPERATOR_CAST: + er.statusCode = UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; + break; + + default: + er.statusCode = UA_STATUSCODE_BADFILTEROPERATORINVALID; + break; + } + return er; +} + +#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ + +/**** amalgamated original file "/src/server/ua_discovery.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2014, 2017 (c) Florian Palm + * Copyright 2015-2016, 2019 (c) Sten Grüner + * Copyright 2015 (c) Chris Iatrou + * Copyright 2015-2016 (c) Oleksiy Vasylyev + * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + +#ifdef UA_ENABLE_DISCOVERY + +void +UA_DiscoveryManager_setState(UA_Server *server, + UA_DiscoveryManager *dm, + UA_LifecycleState state) { + /* Check if open connections remain */ + if(state == UA_LIFECYCLESTATE_STOPPING || + state == UA_LIFECYCLESTATE_STOPPED) { + state = UA_LIFECYCLESTATE_STOPPED; +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + if(dm->mdnsRecvConnectionsSize != 0 || dm->mdnsSendConnection != 0) + state = UA_LIFECYCLESTATE_STOPPING; +#endif + + for(size_t i = 0; i < UA_MAXREGISTERREQUESTS; i++) { + if(dm->registerRequests[i].client != NULL) + state = UA_LIFECYCLESTATE_STOPPING; + } + } + + /* No change */ + if(state == dm->sc.state) + return; + + /* Set the new state and notify */ + dm->sc.state = state; + if(dm->sc.notifyState) + dm->sc.notifyState(server, &dm->sc, state); +} + +static UA_StatusCode +UA_DiscoveryManager_free(UA_Server *server, + struct UA_ServerComponent *sc) { + UA_DiscoveryManager *dm = (UA_DiscoveryManager*)sc; + + if(sc->state != UA_LIFECYCLESTATE_STOPPED) { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Cannot delete the DiscoveryManager because " + "it is not stopped"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + registeredServer_list_entry *rs, *rs_tmp; + LIST_FOREACH_SAFE(rs, &dm->registeredServers, pointers, rs_tmp) { + LIST_REMOVE(rs, pointers); + UA_RegisteredServer_clear(&rs->registeredServer); + UA_free(rs); + } + +# ifdef UA_ENABLE_DISCOVERY_MULTICAST + serverOnNetwork_list_entry *son, *son_tmp; + LIST_FOREACH_SAFE(son, &dm->serverOnNetwork, pointers, son_tmp) { + LIST_REMOVE(son, pointers); + UA_ServerOnNetwork_clear(&son->serverOnNetwork); + if(son->pathTmp) + UA_free(son->pathTmp); + UA_free(son); + } + + UA_String_clear(&dm->selfFqdnMdnsRecord); + + for(size_t i = 0; i < SERVER_ON_NETWORK_HASH_SIZE; i++) { + serverOnNetwork_hash_entry* currHash = dm->serverOnNetworkHash[i]; + while(currHash) { + serverOnNetwork_hash_entry* nextHash = currHash->next; + UA_free(currHash); + currHash = nextHash; + } + } +# endif /* UA_ENABLE_DISCOVERY_MULTICAST */ + + UA_free(dm); + return UA_STATUSCODE_GOOD; +} + +/* Cleanup server registration: If the semaphore file path is set, then it just + * checks the existence of the file. When it is deleted, the registration is + * removed. If there is no semaphore file, then the registration will be removed + * if it is older than 60 minutes. */ +static void +UA_DiscoveryManager_cleanupTimedOut(UA_Server *server, + void *data) { + UA_DiscoveryManager *dm = (UA_DiscoveryManager*)data; + + /* TimedOut gives the last DateTime at which we must have seen the + * registered server. Otherwise it is timed out. */ + UA_DateTime timedOut = UA_DateTime_nowMonotonic(); + if(server->config.discoveryCleanupTimeout) + timedOut -= server->config.discoveryCleanupTimeout * UA_DATETIME_SEC; + + registeredServer_list_entry *current, *temp; + LIST_FOREACH_SAFE(current, &dm->registeredServers, pointers, temp) { + UA_Boolean semaphoreDeleted = false; + +#ifdef UA_ENABLE_DISCOVERY_SEMAPHORE + if(current->registeredServer.semaphoreFilePath.length) { + size_t fpSize = current->registeredServer.semaphoreFilePath.length+1; + char* filePath = (char *)UA_malloc(fpSize); + if(filePath) { + memcpy(filePath, current->registeredServer.semaphoreFilePath.data, + current->registeredServer.semaphoreFilePath.length ); + filePath[current->registeredServer.semaphoreFilePath.length] = '\0'; + semaphoreDeleted = UA_fileExists(filePath) == false; + UA_free(filePath); + } else { + UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, + "Cannot check registration semaphore. Out of memory"); + } + } +#endif + + if(semaphoreDeleted || + (server->config.discoveryCleanupTimeout && + current->lastSeen < timedOut)) { + if(semaphoreDeleted) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Registration of server with URI %.*s is removed because " + "the semaphore file '%.*s' was deleted", + (int)current->registeredServer.serverUri.length, + current->registeredServer.serverUri.data, + (int)current->registeredServer.semaphoreFilePath.length, + current->registeredServer.semaphoreFilePath.data); + } else { + // cppcheck-suppress unreadVariable + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Registration of server with URI %.*s has timed out " + "and is removed", + (int)current->registeredServer.serverUri.length, + current->registeredServer.serverUri.data); + } + LIST_REMOVE(current, pointers); + UA_RegisteredServer_clear(¤t->registeredServer); + UA_free(current); + dm->registeredServersSize--; + } + } + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + /* Send out multicast */ + sendMulticastMessages(dm); +#endif +} + +static UA_StatusCode +UA_DiscoveryManager_start(UA_Server *server, + struct UA_ServerComponent *sc) { + if(sc->state != UA_LIFECYCLESTATE_STOPPED) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_DiscoveryManager *dm = (UA_DiscoveryManager*)sc; + UA_StatusCode res = addRepeatedCallback(server, UA_DiscoveryManager_cleanupTimedOut, + dm, 1000.0, &dm->discoveryCallbackId); + if(res != UA_STATUSCODE_GOOD) + return res; + + dm->logging = server->config.logging; + dm->serverConfig = &server->config; + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + if(server->config.mdnsEnabled) + startMulticastDiscoveryServer(server); +#endif + + UA_DiscoveryManager_setState(server, dm, UA_LIFECYCLESTATE_STARTED); + return UA_STATUSCODE_GOOD; +} + +static void +UA_DiscoveryManager_stop(UA_Server *server, + struct UA_ServerComponent *sc) { + if(sc->state != UA_LIFECYCLESTATE_STARTED) + return; + + UA_DiscoveryManager *dm = (UA_DiscoveryManager*)sc; + removeCallback(server, dm->discoveryCallbackId); + + /* Cancel all outstanding register requests */ + for(size_t i = 0; i < UA_MAXREGISTERREQUESTS; i++) { + if(dm->registerRequests[i].client == NULL) + continue; + UA_Client_disconnectSecureChannelAsync(dm->registerRequests[i].client); + } + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + if(server->config.mdnsEnabled) + stopMulticastDiscoveryServer(server); +#endif + + UA_DiscoveryManager_setState(server, dm, UA_LIFECYCLESTATE_STOPPED); +} + +UA_ServerComponent * +UA_DiscoveryManager_new(UA_Server *server) { + UA_DiscoveryManager *dm = (UA_DiscoveryManager*) + UA_calloc(1, sizeof(UA_DiscoveryManager)); + if(!dm) + return NULL; + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + dm->serverOnNetworkRecordIdLastReset = UA_DateTime_now(); +#endif /* UA_ENABLE_DISCOVERY_MULTICAST */ + + dm->sc.name = UA_STRING("discovery"); + dm->sc.start = UA_DiscoveryManager_start; + dm->sc.stop = UA_DiscoveryManager_stop; + dm->sc.free = UA_DiscoveryManager_free; + return &dm->sc; +} + +/********************************/ +/* Register at Discovery Server */ +/********************************/ + +static void +asyncRegisterRequest_clear(void *app, void *context) { + UA_Server *server = (UA_Server*)app; + asyncRegisterRequest *ar = (asyncRegisterRequest*)context; + UA_DiscoveryManager *dm = ar->dm; + + UA_String_clear(&ar->semaphoreFilePath); + if(ar->client) + UA_Client_delete(ar->client); + memset(ar, 0, sizeof(asyncRegisterRequest)); + + /* The Discovery manager is fully stopped? */ + UA_DiscoveryManager_setState(server, dm, dm->sc.state); +} + +static void +asyncRegisterRequest_clearAsync(asyncRegisterRequest *ar) { + UA_Server *server = ar->server; + UA_ServerConfig *sc = &server->config; + UA_EventLoop *el = sc->eventLoop; + + ar->cleanupCallback.callback = asyncRegisterRequest_clear; + ar->cleanupCallback.application = server; + ar->cleanupCallback.context = ar; + el->addDelayedCallback(el, &ar->cleanupCallback); +} + +static void +setupRegisterRequest(asyncRegisterRequest *ar, UA_RequestHeader *rh, + UA_RegisteredServer *rs) { + UA_ServerConfig *sc = ar->dm->serverConfig; + + rh->timeoutHint = 10000; + + rs->isOnline = !ar->unregister; + rs->serverUri = sc->applicationDescription.applicationUri; + rs->productUri = sc->applicationDescription.productUri; + rs->serverType = sc->applicationDescription.applicationType; + rs->gatewayServerUri = sc->applicationDescription.gatewayServerUri; + rs->semaphoreFilePath = ar->semaphoreFilePath; + + rs->serverNames = &sc->applicationDescription.applicationName; + rs->serverNamesSize = 1; + + /* Mirror the discovery URLs from the server config (includes hostnames from + * the network layers) */ + rs->discoveryUrls = sc->applicationDescription.discoveryUrls; + rs->discoveryUrlsSize = sc->applicationDescription.discoveryUrlsSize; +} + +static void +registerAsyncResponse(UA_Client *client, void *userdata, + UA_UInt32 requestId, void *resp) { + asyncRegisterRequest *ar = (asyncRegisterRequest*)userdata; + const UA_ServerConfig *sc = ar->dm->serverConfig; + UA_Response *response = (UA_Response*)resp; + const char *regtype = (ar->register2) ? "RegisterServer2" : "RegisterServer"; + + /* Success registering? */ + if(response->responseHeader.serviceResult == UA_STATUSCODE_GOOD) { + UA_LOG_INFO(sc->logging, UA_LOGCATEGORY_SERVER, "%s succeeded", regtype); + goto done; + } + + UA_LOG_WARNING(sc->logging, UA_LOGCATEGORY_SERVER, + "%s failed with statuscode %s", regtype, + UA_StatusCode_name(response->responseHeader.serviceResult)); + + /* Try RegisterServer next */ + ar->register2 = false; + + /* Try RegisterServer immediately if we can. + * Otherwise wait for the next state callback. */ + UA_SecureChannelState ss; + UA_Client_getState(client, &ss, NULL, NULL); + if(!ar->shutdown && ss == UA_SECURECHANNELSTATE_OPEN) { + UA_RegisterServerRequest request; + UA_RegisterServerRequest_init(&request); + setupRegisterRequest(ar, &request.requestHeader, &request.server); + UA_StatusCode res = + __UA_Client_AsyncService(client, &request, + &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST], + registerAsyncResponse, + &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE], ar, NULL); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR((const UA_Logger *)&sc->logging, UA_LOGCATEGORY_CLIENT, + "RegisterServer failed with statuscode %s", + UA_StatusCode_name(res)); + goto done; + } + } + + return; + + done: + /* Close the client connection, will be cleaned up in the client state + * callback when closing is complete */ + ar->shutdown = true; + UA_Client_disconnectSecureChannelAsync(ar->client); +} + +static void +discoveryClientStateCallback(UA_Client *client, + UA_SecureChannelState channelState, + UA_SessionState sessionState, + UA_StatusCode connectStatus) { + asyncRegisterRequest *ar = (asyncRegisterRequest*) + UA_Client_getContext(client); + UA_ServerConfig *sc = ar->dm->serverConfig; + + /* Connection failed */ + if(connectStatus != UA_STATUSCODE_GOOD) { + if(connectStatus != UA_STATUSCODE_BADCONNECTIONCLOSED) { + UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_SERVER, + "Could not connect to the Discovery server with error %s", + UA_StatusCode_name(connectStatus)); + } + + /* Connection fully closed */ + if(channelState == UA_SECURECHANNELSTATE_CLOSED) { + if(!ar->connectSuccess || ar->shutdown) { + asyncRegisterRequest_clearAsync(ar); /* Clean up */ + } else { + ar->connectSuccess = false; + __UA_Client_connect(client, true); /* Reconnect */ + } + } + return; + } + + /* Wait until the SecureChannel is open */ + if(channelState != UA_SECURECHANNELSTATE_OPEN) + return; + + /* We have at least succeeded to connect */ + ar->connectSuccess = true; + + /* Is this the encrypted SecureChannel already? (We might have to wait for + * the second connection after the FindServers handshake */ + UA_MessageSecurityMode msm = UA_MESSAGESECURITYMODE_INVALID; + UA_Client_getConnectionAttribute_scalar(client, UA_QUALIFIEDNAME(0, "securityMode"), + &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], + &msm); +#ifdef UA_ENABLE_ENCRYPTION + if(msm != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) + return; +#endif + + const UA_DataType *reqType; + const UA_DataType *respType; + UA_RegisterServerRequest reg1; + UA_RegisterServer2Request reg2; +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_ExtensionObject mdnsConfig; +#endif + void *request; + + /* Prepare the request. This does not allocate memory */ + if(ar->register2) { + UA_RegisterServer2Request_init(®2); + setupRegisterRequest(ar, ®2.requestHeader, ®2.server); + reqType = &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]; + respType = &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]; + request = ®2; + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + /* Set the configuration that is only available for + * UA_RegisterServer2Request */ + UA_ExtensionObject_setValueNoDelete(&mdnsConfig, &sc->mdnsConfig, + &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); + reg2.discoveryConfigurationSize = 1; + reg2.discoveryConfiguration = &mdnsConfig; +#endif + } else { + UA_RegisterServerRequest_init(®1); + setupRegisterRequest(ar, ®1.requestHeader, ®1.server); + reqType = &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]; + respType = &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]; + request = ®1; + } + + /* Try to call RegisterServer2 */ + UA_StatusCode res = + __UA_Client_AsyncService(client, request, reqType, registerAsyncResponse, + respType, ar, NULL); + if(res != UA_STATUSCODE_GOOD) { + /* Close the client connection, will be cleaned up in the client state + * callback when closing is complete */ + UA_Client_disconnectSecureChannelAsync(ar->client); + UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_CLIENT, + "RegisterServer2 failed with statuscode %s", + UA_StatusCode_name(res)); + } +} + +static UA_StatusCode +UA_Server_register(UA_Server *server, UA_ClientConfig *cc, UA_Boolean unregister, + const UA_String discoveryServerUrl, + const UA_String semaphoreFilePath) { + /* Get the discovery manager */ + UA_DiscoveryManager *dm = (UA_DiscoveryManager*) + getServerComponentByName(server, UA_STRING("discovery")); + if(!dm) { + UA_ClientConfig_clear(cc); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check that the discovery manager is running */ + UA_ServerConfig *sc = &server->config; + if(dm->sc.state != UA_LIFECYCLESTATE_STARTED) { + UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_SERVER, + "The server must be started for registering"); + UA_ClientConfig_clear(cc); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Find a free slot for storing the async request information */ + asyncRegisterRequest *ar = NULL; + for(size_t i = 0; i < UA_MAXREGISTERREQUESTS; i++) { + if(dm->registerRequests[i].client == NULL) { + ar = &dm->registerRequests[i]; + break; + } + } + if(!ar) { + UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_SERVER, + "Too many outstanding register requests. Cannot proceed."); + UA_ClientConfig_clear(cc); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Use the EventLoop from the server for the client */ + if(cc->eventLoop && !cc->externalEventLoop) + cc->eventLoop->free(cc->eventLoop); + cc->eventLoop = sc->eventLoop; + cc->externalEventLoop = true; + + /* Set the state callback method and context */ + cc->stateCallback = discoveryClientStateCallback; + cc->clientContext = ar; + + /* Use encryption by default */ +#ifdef UA_ENABLE_ENCRYPTION + cc->securityMode = UA_MESSAGESECURITYMODE_SIGNANDENCRYPT; +#endif + + /* Open only a SecureChannel */ + cc->noSession = true; + + /* Move the endpoint url */ + UA_String_clear(&cc->endpointUrl); + UA_String_copy(&discoveryServerUrl, &cc->endpointUrl); + + /* Instantiate the client */ + ar->client = UA_Client_newWithConfig(cc); + if(!ar->client) { + UA_ClientConfig_clear(cc); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Zero out the supplied config */ + memset(cc, 0, sizeof(UA_ClientConfig)); + + /* Finish setting up the context */ + ar->server = server; + ar->dm = dm; + ar->unregister = unregister; + ar->register2 = true; /* Try register2 first */ + UA_String_copy(&semaphoreFilePath, &ar->semaphoreFilePath); + + /* Connect asynchronously. The register service is called once the + * connection is open. */ + ar->connectSuccess = false; + return __UA_Client_connect(ar->client, true); +} + +UA_StatusCode +UA_Server_registerDiscovery(UA_Server *server, UA_ClientConfig *cc, + const UA_String discoveryServerUrl, + const UA_String semaphoreFilePath) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Registering at the DiscoveryServer: %.*s", + (int)discoveryServerUrl.length, discoveryServerUrl.data); + lockServer(server); + UA_StatusCode res = + UA_Server_register(server, cc, false, discoveryServerUrl, semaphoreFilePath); + unlockServer(server); + return res; +} + +UA_StatusCode +UA_Server_deregisterDiscovery(UA_Server *server, UA_ClientConfig *cc, + const UA_String discoveryServerUrl) { + UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, + "Deregistering at the DiscoveryServer: %.*s", + (int)discoveryServerUrl.length, discoveryServerUrl.data); + lockServer(server); + UA_StatusCode res = + UA_Server_register(server, cc, true, discoveryServerUrl, UA_STRING_NULL); + unlockServer(server); + return res; +} + +#endif /* UA_ENABLE_DISCOVERY */ + +/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.h" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + + +#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) || defined(UA_ENABLE_PUBSUB_ENCRYPTION) + +#include +#include +#include + +// MBEDTLS_ENTROPY_HARDWARE_ALT should be defined if your hardware does not supportd platform entropy + +#define UA_SHA1_LENGTH 20 + +_UA_BEGIN_DECLS + +void +swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB); + +void +mbedtls_hmac(mbedtls_md_context_t *context, const UA_ByteString *key, + const UA_ByteString *in, unsigned char *out); + +UA_StatusCode +mbedtls_generateKey(mbedtls_md_context_t *context, + const UA_ByteString *secret, const UA_ByteString *seed, + UA_ByteString *out); + +UA_StatusCode +mbedtls_verifySig_sha1(mbedtls_x509_crt *certificate, const UA_ByteString *message, + const UA_ByteString *signature); + +UA_StatusCode +mbedtls_sign_sha1(mbedtls_pk_context *localPrivateKey, + mbedtls_ctr_drbg_context *drbgContext, + const UA_ByteString *message, + UA_ByteString *signature); + +UA_StatusCode +mbedtls_thumbprint_sha1(const UA_ByteString *certificate, + UA_ByteString *thumbprint); + +/* Set the hashing scheme before calling + * E.g. mbedtls_rsa_set_padding(context, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); */ +UA_StatusCode +mbedtls_encrypt_rsaOaep(mbedtls_rsa_context *context, + mbedtls_ctr_drbg_context *drbgContext, + UA_ByteString *data, const size_t plainTextBlockSize); + +UA_StatusCode +mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey, + mbedtls_ctr_drbg_context *drbgContext, + UA_ByteString *data, int hash_id); + +int UA_mbedTLS_LoadPrivateKey(const UA_ByteString *key, mbedtls_pk_context *target, void *p_rng); + +UA_StatusCode UA_mbedTLS_LoadLocalCertificate(const UA_ByteString *certData, UA_ByteString *target); + +UA_ByteString UA_mbedTLS_CopyDataFormatAware(const UA_ByteString *data); + +_UA_END_DECLS + +#endif + + +/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.c" ****/ + + +#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) || defined(UA_ENABLE_PUBSUB_ENCRYPTION) + + +#include +#include +#include +#include +#include +#include +#include +#include + +void +swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB) { + UA_ByteString tmp = *bufA; + *bufA = *bufB; + *bufB = tmp; +} + +void +mbedtls_hmac(mbedtls_md_context_t *context, const UA_ByteString *key, + const UA_ByteString *in, unsigned char *out) { + mbedtls_md_hmac_starts(context, key->data, key->length); + mbedtls_md_hmac_update(context, in->data, in->length); + mbedtls_md_hmac_finish(context, out); +} + +UA_StatusCode +mbedtls_generateKey(mbedtls_md_context_t *context, + const UA_ByteString *secret, const UA_ByteString *seed, + UA_ByteString *out) { +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + size_t hashLen = (size_t)mbedtls_md_get_size(context->md_info); +#else + size_t hashLen = (size_t)mbedtls_md_get_size(context->private_md_info); +#endif + + UA_ByteString A_and_seed; + UA_ByteString_allocBuffer(&A_and_seed, hashLen + seed->length); + memcpy(A_and_seed.data + hashLen, seed->data, seed->length); + + UA_ByteString ANext_and_seed; + UA_ByteString_allocBuffer(&ANext_and_seed, hashLen + seed->length); + memcpy(ANext_and_seed.data + hashLen, seed->data, seed->length); + + UA_ByteString A = { + hashLen, + A_and_seed.data + }; + + UA_ByteString ANext = { + hashLen, + ANext_and_seed.data + }; + + mbedtls_hmac(context, secret, seed, A.data); + + UA_StatusCode retval = 0; + for(size_t offset = 0; offset < out->length; offset += hashLen) { + UA_ByteString outSegment = { + hashLen, + out->data + offset + }; + UA_Boolean bufferAllocated = UA_FALSE; + // Not enough room in out buffer to write the hash. + if(offset + hashLen > out->length) { + outSegment.data = NULL; + outSegment.length = 0; + retval = UA_ByteString_allocBuffer(&outSegment, hashLen); + if(retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear(&A_and_seed); + UA_ByteString_clear(&ANext_and_seed); + return retval; + } + bufferAllocated = UA_TRUE; + } + + mbedtls_hmac(context, secret, &A_and_seed, outSegment.data); + mbedtls_hmac(context, secret, &A, ANext.data); + + if(retval != UA_STATUSCODE_GOOD) { + if(bufferAllocated) + UA_ByteString_clear(&outSegment); + UA_ByteString_clear(&A_and_seed); + UA_ByteString_clear(&ANext_and_seed); + return retval; + } + + if(bufferAllocated) { + memcpy(out->data + offset, outSegment.data, out->length - offset); + UA_ByteString_clear(&outSegment); + } + + swapBuffers(&ANext_and_seed, &A_and_seed); + swapBuffers(&ANext, &A); + } + + UA_ByteString_clear(&A_and_seed); + UA_ByteString_clear(&ANext_and_seed); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +mbedtls_verifySig_sha1(mbedtls_x509_crt *certificate, const UA_ByteString *message, + const UA_ByteString *signature) { + /* Compute the sha1 hash */ + unsigned char hash[UA_SHA1_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_sha1_ret(message->data, message->length, hash); +#else + mbedtls_sha1(message->data, message->length, hash); +#endif + + /* Set the RSA settings */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(certificate->pk); + if(!rsaContext) + return UA_STATUSCODE_BADINTERNALERROR; + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); + + /* Verify */ + int mbedErr = mbedtls_pk_verify(&certificate->pk, + MBEDTLS_MD_SHA1, hash, UA_SHA1_LENGTH, + signature->data, signature->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +mbedtls_sign_sha1(mbedtls_pk_context *localPrivateKey, + mbedtls_ctr_drbg_context *drbgContext, + const UA_ByteString *message, + UA_ByteString *signature) { + unsigned char hash[UA_SHA1_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_sha1_ret(message->data, message->length, hash); +#else + mbedtls_sha1(message->data, message->length, hash); +#endif + + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(*localPrivateKey); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); + + size_t sigLen = 0; + int mbedErr = mbedtls_pk_sign(localPrivateKey, MBEDTLS_MD_SHA1, hash, + UA_SHA1_LENGTH, signature->data, +#if MBEDTLS_VERSION_NUMBER >= 0x03000000 + signature->length, +#endif + &sigLen, + mbedtls_ctr_drbg_random, drbgContext); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +mbedtls_thumbprint_sha1(const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + if(UA_ByteString_equal(certificate, &UA_BYTESTRING_NULL)) + return UA_STATUSCODE_BADINTERNALERROR; + + if(thumbprint->length != UA_SHA1_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + /* The certificate thumbprint is always a 20 bit sha1 hash, see Part 4 of the Specification. */ +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_sha1_ret(certificate->data, certificate->length, thumbprint->data); +#else + mbedtls_sha1(certificate->data, certificate->length, thumbprint->data); +#endif + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +mbedtls_encrypt_rsaOaep(mbedtls_rsa_context *context, + mbedtls_ctr_drbg_context *drbgContext, + UA_ByteString *data, const size_t plainTextBlockSize) { + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t max_blocks = data->length / plainTextBlockSize; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + size_t keylen = context->len; +#else + size_t keylen = mbedtls_rsa_get_len(context); +#endif + + UA_ByteString encrypted; + UA_StatusCode retval = UA_ByteString_allocBuffer(&encrypted, max_blocks * keylen); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + size_t lenDataToEncrypt = data->length; + size_t inOffset = 0; + size_t offset = 0; + const unsigned char *label = NULL; + while(lenDataToEncrypt >= plainTextBlockSize) { +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + int mbedErr = mbedtls_rsa_rsaes_oaep_encrypt(context, mbedtls_ctr_drbg_random, + drbgContext, MBEDTLS_RSA_PUBLIC, + label, 0, plainTextBlockSize, + data->data + inOffset, encrypted.data + offset); +#else + int mbedErr = mbedtls_rsa_rsaes_oaep_encrypt(context, mbedtls_ctr_drbg_random, + drbgContext, label, 0, plainTextBlockSize, + data->data + inOffset, encrypted.data + offset); +#endif + + if(mbedErr) { + UA_ByteString_clear(&encrypted); + return UA_STATUSCODE_BADINTERNALERROR; + } + + inOffset += plainTextBlockSize; + offset += keylen; + lenDataToEncrypt -= plainTextBlockSize; + } + + memcpy(data->data, encrypted.data, offset); + UA_ByteString_clear(&encrypted); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey, + mbedtls_ctr_drbg_context *drbgContext, + UA_ByteString *data, int hash_id) { + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(*localPrivateKey); +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, hash_id); + size_t keylen = rsaContext->len; +#else + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, (mbedtls_md_type_t)hash_id); + size_t keylen = mbedtls_rsa_get_len(rsaContext); +#endif + if(data->length % keylen != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t inOffset = 0; + size_t outOffset = 0; + size_t outLength = 0; + unsigned char buf[512]; + + while(inOffset < data->length) { +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + int mbedErr = mbedtls_rsa_rsaes_oaep_decrypt(rsaContext, mbedtls_ctr_drbg_random, + drbgContext, MBEDTLS_RSA_PRIVATE, + NULL, 0, &outLength, + data->data + inOffset, + buf, 512); +#else + int mbedErr = mbedtls_rsa_rsaes_oaep_decrypt(rsaContext, mbedtls_ctr_drbg_random, + drbgContext, + NULL, 0, &outLength, + data->data + inOffset, + buf, 512); +#endif + + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + memcpy(data->data + outOffset, buf, outLength); + inOffset += keylen; + outOffset += outLength; + } + + data->length = outOffset; + return UA_STATUSCODE_GOOD; +} + +int +UA_mbedTLS_LoadPrivateKey(const UA_ByteString *key, mbedtls_pk_context *target, void *p_rng) { + UA_ByteString data = UA_mbedTLS_CopyDataFormatAware(key); +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + int mbedErr = mbedtls_pk_parse_key(target, data.data, data.length, NULL, 0); +#else + int mbedErr = mbedtls_pk_parse_key(target, data.data, data.length, NULL, 0, mbedtls_entropy_func, p_rng); +#endif + UA_ByteString_clear(&data); + return mbedErr; +} + +UA_StatusCode +UA_mbedTLS_LoadLocalCertificate(const UA_ByteString *certData, + UA_ByteString *target) { + UA_ByteString data = UA_mbedTLS_CopyDataFormatAware(certData); + + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + + int mbedErr = mbedtls_x509_crt_parse(&cert, data.data, data.length); + + UA_StatusCode result = UA_STATUSCODE_BADINVALIDARGUMENT; + + if (!mbedErr) { + UA_ByteString tmp; + tmp.data = cert.raw.p; + tmp.length = cert.raw.len; + + result = UA_ByteString_copy(&tmp, target); + } else { + UA_ByteString_init(target); + } + + UA_ByteString_clear(&data); + mbedtls_x509_crt_free(&cert); + return result; +} + +// mbedTLS expects PEM data to be null terminated +// The data length parameter must include the null terminator +UA_ByteString +UA_mbedTLS_CopyDataFormatAware(const UA_ByteString *data) { + UA_ByteString result; + UA_ByteString_init(&result); + + if (!data->length) + return result; + + if (data->length && data->data[0] == '-') { + UA_ByteString_allocBuffer(&result, data->length + 1); + memcpy(result.data, data->data, data->length); + result.data[data->length] = '\0'; + } else { + UA_ByteString_copy(data, &result); + } + + return result; +} + +#endif + +/**** amalgamated original file "/plugins/ua_log_stdout.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA + */ + + +#include + +/* ANSI escape sequences for color output taken from here: + * https://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c*/ + +#ifdef UA_ARCHITECTURE_POSIX +# define ANSI_COLOR_RED "\x1b[31m" +# define ANSI_COLOR_GREEN "\x1b[32m" +# define ANSI_COLOR_YELLOW "\x1b[33m" +# define ANSI_COLOR_BLUE "\x1b[34m" +# define ANSI_COLOR_MAGENTA "\x1b[35m" +# define ANSI_COLOR_CYAN "\x1b[36m" +# define ANSI_COLOR_RESET "\x1b[0m" +#else +# define ANSI_COLOR_RED "" +# define ANSI_COLOR_GREEN "" +# define ANSI_COLOR_YELLOW "" +# define ANSI_COLOR_BLUE "" +# define ANSI_COLOR_MAGENTA "" +# define ANSI_COLOR_CYAN "" +# define ANSI_COLOR_RESET "" +#endif + +static +const char *logLevelNames[6] = {"trace", "debug", + ANSI_COLOR_GREEN "info", + ANSI_COLOR_YELLOW "warn", + ANSI_COLOR_RED "error", + ANSI_COLOR_MAGENTA "fatal"}; +static const char * +logCategoryNames[UA_LOGCATEGORIES] = + {"network", "channel", "session", "server", "client", + "userland", "securitypolicy", "eventloop", "pubsub", "discovery"}; + +/* Protect crosstalk during logging via global lock. Use a spinlock as we cannot + * statically initialize a global lock across all platforms. */ +#if UA_MULTITHREADING >= 100 +void * volatile logSpinLock = NULL; +static UA_INLINE void spinLock(void) { + while(UA_atomic_cmpxchg(&logSpinLock, NULL, (void*)0x1) != NULL) {} +} +static UA_INLINE void spinUnLock(void) { + UA_atomic_xchg(&logSpinLock, NULL); +} +#endif + +#ifdef __clang__ +__attribute__((__format__(__printf__, 4 , 0))) +#endif +static void +UA_Log_Stdout_log(void *context, UA_LogLevel level, UA_LogCategory category, + const char *msg, va_list args) { + /* MinLevel encoded in the context pointer */ + UA_LogLevel minLevel = (UA_LogLevel)(uintptr_t)context; + if(minLevel > level) + return; + + UA_Int64 tOffset = UA_DateTime_localTimeUtcOffset(); + UA_DateTimeStruct dts = UA_DateTime_toStruct(UA_DateTime_now() + tOffset); + + int logLevelSlot = ((int)level / 100) - 1; + if(logLevelSlot < 0 || logLevelSlot > 5) + logLevelSlot = 5; /* Set to fatal if the level is outside the range */ + + /* Lock */ +#if UA_MULTITHREADING >= 100 + spinLock(); +#endif + + /* Log */ + printf("[%04u-%02u-%02u %02u:%02u:%02u.%03u (UTC%+05d)] %s/%s" ANSI_COLOR_RESET "\t", + dts.year, dts.month, dts.day, dts.hour, dts.min, dts.sec, dts.milliSec, + (int)(tOffset / UA_DATETIME_SEC / 36), logLevelNames[logLevelSlot], + logCategoryNames[category]); + vprintf(msg, args); + printf("\n"); + fflush(stdout); + + /* Unlock */ +#if UA_MULTITHREADING >= 100 + spinUnLock(); +#endif +} + +static void +UA_Log_Stdout_clear(UA_Logger *logger) { + UA_free(logger); +} + +const UA_Logger UA_Log_Stdout_ = {UA_Log_Stdout_log, NULL, NULL}; +const UA_Logger *UA_Log_Stdout = &UA_Log_Stdout_; + +UA_Logger +UA_Log_Stdout_withLevel(UA_LogLevel minlevel) { + UA_Logger logger = + {UA_Log_Stdout_log, (void*)(uintptr_t)minlevel, NULL}; + return logger; +} + +UA_Logger * +UA_Log_Stdout_new(UA_LogLevel minlevel) { + UA_Logger *logger = (UA_Logger*)UA_malloc(sizeof(UA_Logger)); + if(!logger) + return NULL; + *logger = UA_Log_Stdout_withLevel(minlevel); + logger->clear = UA_Log_Stdout_clear; + return logger; +} + +/**** amalgamated original file "/plugins/ua_accesscontrol_default.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) + */ + + +/* Example access control management. Anonymous and username / password login. + * The access rights are maximally permissive. + * + * FOR PRODUCTION USE, THIS EXAMPLE PLUGIN SHOULD BE REPLACED WITH LESS + * PERMISSIVE ACCESS CONTROL. + * + * For TransferSubscriptions, we check whether the transfer happens between + * Sessions for the same user. */ + +typedef struct { + UA_Boolean allowAnonymous; + size_t usernamePasswordLoginSize; + UA_UsernamePasswordLogin *usernamePasswordLogin; + UA_UsernamePasswordLoginCallback loginCallback; + void *loginContext; + UA_CertificateVerification verifyX509; +} AccessControlContext; + +#define ANONYMOUS_POLICY "open62541-anonymous-policy" +#define CERTIFICATE_POLICY "open62541-certificate-policy" +#define USERNAME_POLICY "open62541-username-policy" +const UA_String anonymous_policy = UA_STRING_STATIC(ANONYMOUS_POLICY); +const UA_String certificate_policy = UA_STRING_STATIC(CERTIFICATE_POLICY); +const UA_String username_policy = UA_STRING_STATIC(USERNAME_POLICY); + +/************************/ +/* Access Control Logic */ +/************************/ + +static UA_StatusCode +activateSession_default(UA_Server *server, UA_AccessControl *ac, + const UA_EndpointDescription *endpointDescription, + const UA_ByteString *secureChannelRemoteCertificate, + const UA_NodeId *sessionId, + const UA_ExtensionObject *userIdentityToken, + void **sessionContext) { + AccessControlContext *context = (AccessControlContext*)ac->context; + UA_ServerConfig *config = UA_Server_getConfig(server); + + /* The empty token is interpreted as anonymous */ + UA_AnonymousIdentityToken anonToken; + UA_ExtensionObject tmpIdentity; + if(userIdentityToken->encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) { + UA_AnonymousIdentityToken_init(&anonToken); + UA_ExtensionObject_init(&tmpIdentity); + UA_ExtensionObject_setValueNoDelete(&tmpIdentity, + &anonToken, + &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); + userIdentityToken = &tmpIdentity; + } + + /* Could the token be decoded? */ + if(userIdentityToken->encoding < UA_EXTENSIONOBJECT_DECODED) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + const UA_DataType *tokenType = userIdentityToken->content.decoded.type; + if(tokenType == &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) { + /* Anonymous login */ + if(!context->allowAnonymous) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + const UA_AnonymousIdentityToken *token = (UA_AnonymousIdentityToken*) + userIdentityToken->content.decoded.data; + + /* Match the beginnig of the PolicyId. + * Compatibility notice: Siemens OPC Scout v10 provides an empty + * policyId. This is not compliant. For compatibility, assume that empty + * policyId == ANONYMOUS_POLICY */ + if(token->policyId.data && + (token->policyId.length < anonymous_policy.length || + strncmp((const char*)token->policyId.data, + (const char*)anonymous_policy.data, + anonymous_policy.length) != 0)) { + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + } + } else if(tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) { + /* Username and password */ + const UA_UserNameIdentityToken *userToken = (UA_UserNameIdentityToken*) + userIdentityToken->content.decoded.data; + + /* Match the beginnig of the PolicyId */ + if(userToken->policyId.length < username_policy.length || + strncmp((const char*)userToken->policyId.data, + (const char*)username_policy.data, + username_policy.length) != 0) { + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + } + + /* The userToken has been decrypted by the server before forwarding + * it to the plugin. This information can be used here. */ + /* if(userToken->encryptionAlgorithm.length > 0) {} */ + + /* Empty username and password */ + if(userToken->userName.length == 0 && userToken->password.length == 0) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + /* Try to match username/pw */ + UA_Boolean match = false; + if(context->loginCallback) { + if(context->loginCallback(&userToken->userName, &userToken->password, + context->usernamePasswordLoginSize, context->usernamePasswordLogin, + sessionContext, context->loginContext) == UA_STATUSCODE_GOOD) + match = true; + } else { + for(size_t i = 0; i < context->usernamePasswordLoginSize; i++) { + if(UA_String_equal(&userToken->userName, &context->usernamePasswordLogin[i].username) && + UA_String_equal(&userToken->password, &context->usernamePasswordLogin[i].password)) { + match = true; + break; + } + } + } + if(!match) + return UA_STATUSCODE_BADUSERACCESSDENIED; + } else if(tokenType == &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) { + /* x509 certificate */ + const UA_X509IdentityToken *userToken = (UA_X509IdentityToken*) + userIdentityToken->content.decoded.data; + + /* Match the beginnig of the PolicyId */ + if(userToken->policyId.length < certificate_policy.length || + strncmp((const char*)userToken->policyId.data, + (const char*)certificate_policy.data, + certificate_policy.length) != 0) { + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + } + + if(!config->sessionPKI.verifyCertificate) + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + + UA_StatusCode res = config->sessionPKI. + verifyCertificate(&config->sessionPKI, &userToken->certificateData); + if(res != UA_STATUSCODE_GOOD) + return UA_STATUSCODE_BADIDENTITYTOKENREJECTED; + } else { + /* Unsupported token type */ + return UA_STATUSCODE_BADIDENTITYTOKENINVALID; + } + + return UA_STATUSCODE_GOOD; +} + +static void +closeSession_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext) { +} + +static UA_UInt32 +getUserRightsMask_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext) { + return 0xFFFFFFFF; +} + +static UA_Byte +getUserAccessLevel_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext) { + return 0xFF; +} + +static UA_Boolean +getUserExecutable_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *methodId, void *methodContext) { + return true; +} + +static UA_Boolean +getUserExecutableOnObject_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *methodId, void *methodContext, + const UA_NodeId *objectId, void *objectContext) { + return true; +} + +static UA_Boolean +allowAddNode_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_AddNodesItem *item) { + return true; +} + +static UA_Boolean +allowAddReference_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_AddReferencesItem *item) { + return true; +} + +static UA_Boolean +allowDeleteNode_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_DeleteNodesItem *item) { + return true; +} + +static UA_Boolean +allowDeleteReference_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_DeleteReferencesItem *item) { + return true; +} + +static UA_Boolean +allowBrowseNode_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext) { + return true; +} + +#ifdef UA_ENABLE_SUBSCRIPTIONS +static UA_Boolean +allowTransferSubscription_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *oldSessionId, void *oldSessionContext, + const UA_NodeId *newSessionId, void *newSessionContext) { + if(!oldSessionId) + return true; + /* Allow the transfer if the same user-id was used to activate both sessions */ + UA_Variant session1UserId; + UA_Variant_init(&session1UserId); + UA_Server_getSessionAttribute(server, oldSessionId, + UA_QUALIFIEDNAME(0, "clientUserId"), + &session1UserId); + UA_Variant session2UserId; + UA_Variant_init(&session2UserId); + UA_Server_getSessionAttribute(server, newSessionId, + UA_QUALIFIEDNAME(0, "clientUserId"), + &session2UserId); + + return (UA_order(&session1UserId, &session2UserId, + &UA_TYPES[UA_TYPES_VARIANT]) == UA_ORDER_EQ); +} +#endif + +#ifdef UA_ENABLE_HISTORIZING +static UA_Boolean +allowHistoryUpdateUpdateData_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, + UA_PerformUpdateType performInsertReplace, + const UA_DataValue *value) { + return true; +} + +static UA_Boolean +allowHistoryUpdateDeleteRawModified_default(UA_Server *server, UA_AccessControl *ac, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, + UA_DateTime startTimestamp, + UA_DateTime endTimestamp, + bool isDeleteModified) { + return true; +} +#endif + +/***************************************/ +/* Create Delete Access Control Plugin */ +/***************************************/ + +static void clear_default(UA_AccessControl *ac) { + UA_Array_delete((void*)(uintptr_t)ac->userTokenPolicies, + ac->userTokenPoliciesSize, + &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); + ac->userTokenPolicies = NULL; + ac->userTokenPoliciesSize = 0; + + AccessControlContext *context = (AccessControlContext*)ac->context; + + if (context) { + for(size_t i = 0; i < context->usernamePasswordLoginSize; i++) { + UA_String_clear(&context->usernamePasswordLogin[i].username); + UA_String_clear(&context->usernamePasswordLogin[i].password); + } + if(context->usernamePasswordLoginSize > 0) + UA_free(context->usernamePasswordLogin); + + UA_free(ac->context); + ac->context = NULL; + } +} + +UA_StatusCode +UA_AccessControl_default(UA_ServerConfig *config, + UA_Boolean allowAnonymous, + const UA_ByteString *userTokenPolicyUri, + size_t usernamePasswordLoginSize, + const UA_UsernamePasswordLogin *usernamePasswordLogin) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "AccessControl: Unconfigured AccessControl. Users have all permissions."); + UA_AccessControl *ac = &config->accessControl; + + if(ac->clear) + ac->clear(ac); + + ac->clear = clear_default; + ac->activateSession = activateSession_default; + ac->closeSession = closeSession_default; + ac->getUserRightsMask = getUserRightsMask_default; + ac->getUserAccessLevel = getUserAccessLevel_default; + ac->getUserExecutable = getUserExecutable_default; + ac->getUserExecutableOnObject = getUserExecutableOnObject_default; + ac->allowAddNode = allowAddNode_default; + ac->allowAddReference = allowAddReference_default; + ac->allowBrowseNode = allowBrowseNode_default; + +#ifdef UA_ENABLE_SUBSCRIPTIONS + ac->allowTransferSubscription = allowTransferSubscription_default; +#endif + +#ifdef UA_ENABLE_HISTORIZING + ac->allowHistoryUpdateUpdateData = allowHistoryUpdateUpdateData_default; + ac->allowHistoryUpdateDeleteRawModified = allowHistoryUpdateDeleteRawModified_default; +#endif + + ac->allowDeleteNode = allowDeleteNode_default; + ac->allowDeleteReference = allowDeleteReference_default; + + AccessControlContext *context = (AccessControlContext*) + UA_malloc(sizeof(AccessControlContext)); + if(!context) + return UA_STATUSCODE_BADOUTOFMEMORY; + memset(context, 0, sizeof(AccessControlContext)); + ac->context = context; + + /* Allow anonymous? */ + context->allowAnonymous = allowAnonymous; + if(allowAnonymous) { + UA_LOG_INFO(config->logging, UA_LOGCATEGORY_SERVER, + "AccessControl: Anonymous login is enabled"); + } + + /* Copy username/password to the access control plugin */ + if(usernamePasswordLoginSize > 0) { + context->usernamePasswordLogin = (UA_UsernamePasswordLogin*) + UA_malloc(usernamePasswordLoginSize * sizeof(UA_UsernamePasswordLogin)); + if(!context->usernamePasswordLogin) + return UA_STATUSCODE_BADOUTOFMEMORY; + context->usernamePasswordLoginSize = usernamePasswordLoginSize; + for(size_t i = 0; i < usernamePasswordLoginSize; i++) { + UA_String_copy(&usernamePasswordLogin[i].username, + &context->usernamePasswordLogin[i].username); + UA_String_copy(&usernamePasswordLogin[i].password, + &context->usernamePasswordLogin[i].password); + } + } + + size_t numOfPolcies = 1; + if(!userTokenPolicyUri) { + if(config->securityPoliciesSize > 0) + numOfPolcies = config->securityPoliciesSize; + else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "No security policies defined for the secure channel."); + return UA_STATUSCODE_BADINTERNALERROR; + } + } + + /* Set the allowed policies */ + size_t policies = 0; + if(allowAnonymous) + policies++; + if(usernamePasswordLoginSize > 0) + policies++; + if(config->sessionPKI.verifyCertificate) + policies++; + ac->userTokenPoliciesSize = 0; + ac->userTokenPolicies = (UA_UserTokenPolicy *) + UA_Array_new(policies * numOfPolcies, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); + if(!ac->userTokenPolicies) + return UA_STATUSCODE_BADOUTOFMEMORY; + ac->userTokenPoliciesSize = policies * numOfPolcies; + + if(policies == 0) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "No allowed policies set."); + return UA_STATUSCODE_GOOD; + } + + const UA_ByteString *utpUri = NULL; + policies = 0; + for(size_t i = 0; i < numOfPolcies; i++) { + if(userTokenPolicyUri) { + utpUri = userTokenPolicyUri; + } else { + utpUri = &config->securityPolicies[i].policyUri; + } + if(allowAnonymous) { + ac->userTokenPolicies[policies].tokenType = UA_USERTOKENTYPE_ANONYMOUS; + ac->userTokenPolicies[policies].policyId = UA_STRING_ALLOC(ANONYMOUS_POLICY); + UA_ByteString_copy(utpUri, + &ac->userTokenPolicies[policies].securityPolicyUri); + policies++; + } + + if(config->sessionPKI.verifyCertificate) { + ac->userTokenPolicies[policies].tokenType = UA_USERTOKENTYPE_CERTIFICATE; + ac->userTokenPolicies[policies].policyId = UA_STRING_ALLOC(CERTIFICATE_POLICY); +#if UA_LOGLEVEL <= 400 + if(UA_ByteString_equal(utpUri, &UA_SECURITY_POLICY_NONE_URI)) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "x509 Certificate Authentication configured, " + "but no encrypting SecurityPolicy. " + "This can leak credentials on the network."); + } +#endif + UA_ByteString_copy(utpUri, + &ac->userTokenPolicies[policies].securityPolicyUri); + policies++; + } + + if(usernamePasswordLoginSize > 0) { + ac->userTokenPolicies[policies].tokenType = UA_USERTOKENTYPE_USERNAME; + ac->userTokenPolicies[policies].policyId = UA_STRING_ALLOC(USERNAME_POLICY); +#if UA_LOGLEVEL <= 400 + if(UA_ByteString_equal(utpUri, &UA_SECURITY_POLICY_NONE_URI)) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, + "Username/Password Authentication configured, " + "but no encrypting SecurityPolicy. " + "This can leak credentials on the network."); + } +#endif + UA_ByteString_copy(utpUri, + &ac->userTokenPolicies[policies].securityPolicyUri); + policies++; + } + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_AccessControl_defaultWithLoginCallback(UA_ServerConfig *config, + UA_Boolean allowAnonymous, + const UA_ByteString *userTokenPolicyUri, + size_t usernamePasswordLoginSize, + const UA_UsernamePasswordLogin *usernamePasswordLogin, + UA_UsernamePasswordLoginCallback loginCallback, + void *loginContext) { + AccessControlContext *context; + UA_StatusCode sc = + UA_AccessControl_default(config, allowAnonymous, userTokenPolicyUri, + usernamePasswordLoginSize, usernamePasswordLogin); + if(sc != UA_STATUSCODE_GOOD) + return sc; + + context = (AccessControlContext *)config->accessControl.context; + context->loginCallback = loginCallback; + context->loginContext = loginContext; + + return UA_STATUSCODE_GOOD; +} + + +/**** amalgamated original file "/plugins/ua_nodestore_ziptree.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + +#ifndef container_of +#define container_of(ptr, type, member) \ + (type *)((uintptr_t)ptr - offsetof(type,member)) +#endif + +struct NodeEntry; +typedef struct NodeEntry NodeEntry; + +struct NodeEntry { + ZIP_ENTRY(NodeEntry) zipfields; + UA_UInt32 nodeIdHash; + UA_UInt16 refCount; /* How many consumers have a reference to the node? */ + UA_Boolean deleted; /* Node was marked as deleted and can be deleted when refCount == 0 */ + NodeEntry *orig; /* If a copy is made to replace a node, track that we + * replace only the node from which the copy was made. + * Important for concurrent operations. */ + UA_NodeId nodeId; /* This is actually a UA_Node that also starts with a NodeId */ +}; + +/* Absolute ordering for NodeIds */ +static enum ZIP_CMP +cmpNodeId(const void *a, const void *b) { + const NodeEntry *aa = (const NodeEntry*)a; + const NodeEntry *bb = (const NodeEntry*)b; + + /* Compare hash */ + if(aa->nodeIdHash < bb->nodeIdHash) + return ZIP_CMP_LESS; + if(aa->nodeIdHash > bb->nodeIdHash) + return ZIP_CMP_MORE; + + /* Compore nodes in detail */ + return (enum ZIP_CMP)UA_NodeId_order(&aa->nodeId, &bb->nodeId); +} + +ZIP_HEAD(NodeTree, NodeEntry); +typedef struct NodeTree NodeTree; + +typedef struct { + NodeTree root; + + /* Maps ReferenceTypeIndex to the NodeId of the ReferenceType */ + UA_NodeId referenceTypeIds[UA_REFERENCETYPESET_MAX]; + UA_Byte referenceTypeCounter; +} ZipContext; + +ZIP_FUNCTIONS(NodeTree, NodeEntry, zipfields, NodeEntry, zipfields, cmpNodeId) + +static NodeEntry * +newEntry(UA_NodeClass nodeClass) { + size_t size = sizeof(NodeEntry) - sizeof(UA_NodeId); + switch(nodeClass) { + case UA_NODECLASS_OBJECT: + size += sizeof(UA_ObjectNode); + break; + case UA_NODECLASS_VARIABLE: + size += sizeof(UA_VariableNode); + break; + case UA_NODECLASS_METHOD: + size += sizeof(UA_MethodNode); + break; + case UA_NODECLASS_OBJECTTYPE: + size += sizeof(UA_ObjectTypeNode); + break; + case UA_NODECLASS_VARIABLETYPE: + size += sizeof(UA_VariableTypeNode); + break; + case UA_NODECLASS_REFERENCETYPE: + size += sizeof(UA_ReferenceTypeNode); + break; + case UA_NODECLASS_DATATYPE: + size += sizeof(UA_DataTypeNode); + break; + case UA_NODECLASS_VIEW: + size += sizeof(UA_ViewNode); + break; + default: + return NULL; + } + NodeEntry *entry = (NodeEntry*)UA_calloc(1, size); + if(!entry) + return NULL; + UA_Node *node = (UA_Node*)&entry->nodeId; + node->head.nodeClass = nodeClass; + return entry; +} + +static void +deleteEntry(NodeEntry *entry) { + UA_Node_clear((UA_Node*)&entry->nodeId); + UA_free(entry); +} + +static void +cleanupEntry(NodeEntry *entry) { + if(entry->refCount > 0) + return; + if(entry->deleted) { + deleteEntry(entry); + return; + } + UA_NodeHead *head = (UA_NodeHead*)&entry->nodeId; + for(size_t i = 0; i < head->referencesSize; i++) { + UA_NodeReferenceKind *rk = &head->references[i]; + if(rk->targetsSize > 16 && !rk->hasRefTree) + UA_NodeReferenceKind_switch(rk); + } +} + +/***********************/ +/* Interface functions */ +/***********************/ + +/* Not yet inserted into the ZipContext */ +static UA_Node * +zipNsNewNode(void *nsCtx, UA_NodeClass nodeClass) { + NodeEntry *entry = newEntry(nodeClass); + if(!entry) + return NULL; + return (UA_Node*)&entry->nodeId; +} + +/* Not yet inserted into the ZipContext */ +static void +zipNsDeleteNode(void *nsCtx, UA_Node *node) { + deleteEntry(container_of(node, NodeEntry, nodeId)); +} + +static const UA_Node * +zipNsGetNode(void *nsCtx, const UA_NodeId *nodeId, + UA_UInt32 attributeMask, + UA_ReferenceTypeSet references, + UA_BrowseDirection referenceDirections) { + ZipContext *ns = (ZipContext*)nsCtx; + NodeEntry dummy; + dummy.nodeIdHash = UA_NodeId_hash(nodeId); + dummy.nodeId = *nodeId; + NodeEntry *entry = ZIP_FIND(NodeTree, &ns->root, &dummy); + if(!entry) + return NULL; + ++entry->refCount; + return (const UA_Node*)&entry->nodeId; +} + +static const UA_Node * +zipNsGetNodeFromPtr(void *nsCtx, UA_NodePointer ptr, + UA_UInt32 attributeMask, + UA_ReferenceTypeSet references, + UA_BrowseDirection referenceDirections) { + if(!UA_NodePointer_isLocal(ptr)) + return NULL; + UA_NodeId id = UA_NodePointer_toNodeId(ptr); + return zipNsGetNode(nsCtx, &id, attributeMask, + references, referenceDirections); +} + +static void +zipNsReleaseNode(void *nsCtx, const UA_Node *node) { + if(!node) + return; + NodeEntry *entry = container_of(node, NodeEntry, nodeId); + UA_assert(entry->refCount > 0); + --entry->refCount; + cleanupEntry(entry); +} + +static UA_StatusCode +zipNsGetNodeCopy(void *nsCtx, const UA_NodeId *nodeId, + UA_Node **outNode) { + /* Get the node (with all attributes and references, the mask and refs are + currently noy evaluated within the plugin.) */ + const UA_Node *node = + zipNsGetNode(nsCtx, nodeId, UA_NODEATTRIBUTESMASK_ALL, + UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); + if(!node) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + + /* Create the new entry */ + NodeEntry *ne = newEntry(node->head.nodeClass); + if(!ne) { + zipNsReleaseNode(nsCtx, node); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Copy the node content */ + UA_Node *nnode = (UA_Node*)&ne->nodeId; + UA_StatusCode retval = UA_Node_copy(node, nnode); + zipNsReleaseNode(nsCtx, node); + if(retval != UA_STATUSCODE_GOOD) { + deleteEntry(ne); + return retval; + } + + ne->orig = container_of(node, NodeEntry, nodeId); + *outNode = nnode; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +zipNsInsertNode(void *nsCtx, UA_Node *node, UA_NodeId *addedNodeId) { + NodeEntry *entry = container_of(node, NodeEntry, nodeId); + ZipContext *ns = (ZipContext*)nsCtx; + + /* Ensure that the NodeId is unique */ + NodeEntry dummy; + memset(&dummy, 0, sizeof(NodeEntry)); + dummy.nodeId = node->head.nodeId; + if(node->head.nodeId.identifierType == UA_NODEIDTYPE_NUMERIC && + node->head.nodeId.identifier.numeric == 0) { + do { /* Create a random nodeid until we find an unoccupied id */ + UA_UInt32 numId = UA_UInt32_random(); +#if SIZE_MAX <= UA_UINT32_MAX + /* The compressed "immediate" representation of nodes does not + * support the full range on 32bit systems. Generate smaller + * identifiers as they can be stored more compactly. */ + if(numId >= (0x01 << 24)) + numId = numId % (0x01 << 24); +#endif + node->head.nodeId.identifier.numeric = numId; + dummy.nodeId.identifier.numeric = numId; + dummy.nodeIdHash = UA_NodeId_hash(&node->head.nodeId); + } while(ZIP_FIND(NodeTree, &ns->root, &dummy)); + } else { + dummy.nodeIdHash = UA_NodeId_hash(&node->head.nodeId); + if(ZIP_FIND(NodeTree, &ns->root, &dummy)) { /* The nodeid exists */ + deleteEntry(entry); + return UA_STATUSCODE_BADNODEIDEXISTS; + } + } + + /* Copy the NodeId */ + if(addedNodeId) { + UA_StatusCode retval = UA_NodeId_copy(&node->head.nodeId, addedNodeId); + if(retval != UA_STATUSCODE_GOOD) { + deleteEntry(entry); + return retval; + } + } + + /* For new ReferencetypeNodes add to the index map */ + if(node->head.nodeClass == UA_NODECLASS_REFERENCETYPE) { + UA_ReferenceTypeNode *refNode = &node->referenceTypeNode; + if(ns->referenceTypeCounter >= UA_REFERENCETYPESET_MAX) { + deleteEntry(entry); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_StatusCode retval = + UA_NodeId_copy(&node->head.nodeId, &ns->referenceTypeIds[ns->referenceTypeCounter]); + if(retval != UA_STATUSCODE_GOOD) { + deleteEntry(entry); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Assign the ReferenceTypeIndex to the new ReferenceTypeNode */ + refNode->referenceTypeIndex = ns->referenceTypeCounter; + refNode->subTypes = UA_REFTYPESET(ns->referenceTypeCounter); + + ns->referenceTypeCounter++; + } + + /* Insert the node */ + entry->nodeIdHash = dummy.nodeIdHash; + ZIP_INSERT(NodeTree, &ns->root, entry); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +zipNsReplaceNode(void *nsCtx, UA_Node *node) { + /* Find the node (the mask and refs are not evaluated yet by the plugin)*/ + const UA_Node *oldNode = + zipNsGetNode(nsCtx, &node->head.nodeId, UA_NODEATTRIBUTESMASK_ALL, + UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); + if(!oldNode) { + deleteEntry(container_of(node, NodeEntry, nodeId)); + return UA_STATUSCODE_BADNODEIDUNKNOWN; + } + + /* Test if the copy is current */ + NodeEntry *entry = container_of(node, NodeEntry, nodeId); + NodeEntry *oldEntry = container_of(oldNode, NodeEntry, nodeId); + if(oldEntry != entry->orig) { + /* The node was already updated since the copy was made */ + deleteEntry(entry); + zipNsReleaseNode(nsCtx, oldNode); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Replace */ + ZipContext *ns = (ZipContext*)nsCtx; + ZIP_REMOVE(NodeTree, &ns->root, oldEntry); + entry->nodeIdHash = oldEntry->nodeIdHash; + ZIP_INSERT(NodeTree, &ns->root, entry); + oldEntry->deleted = true; + + zipNsReleaseNode(nsCtx, oldNode); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +zipNsRemoveNode(void *nsCtx, const UA_NodeId *nodeId) { + ZipContext *ns = (ZipContext*)nsCtx; + NodeEntry dummy; + dummy.nodeIdHash = UA_NodeId_hash(nodeId); + dummy.nodeId = *nodeId; + NodeEntry *entry = ZIP_FIND(NodeTree, &ns->root, &dummy); + if(!entry) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + ZIP_REMOVE(NodeTree, &ns->root, entry); + entry->deleted = true; + cleanupEntry(entry); + return UA_STATUSCODE_GOOD; +} + +static const UA_NodeId * +zipNsGetReferenceTypeId(void *nsCtx, UA_Byte refTypeIndex) { + ZipContext *ns = (ZipContext*)nsCtx; + if(refTypeIndex >= ns->referenceTypeCounter) + return NULL; + return &ns->referenceTypeIds[refTypeIndex]; +} + +struct VisitorData { + UA_NodestoreVisitor visitor; + void *visitorContext; +}; + +static void * +nodeVisitor(void *data, NodeEntry *entry) { + struct VisitorData *d = (struct VisitorData*)data; + d->visitor(d->visitorContext, (UA_Node*)&entry->nodeId); + return NULL; +} + +static void +zipNsIterate(void *nsCtx, UA_NodestoreVisitor visitor, + void *visitorCtx) { + struct VisitorData d; + d.visitor = visitor; + d.visitorContext = visitorCtx; + ZipContext *ns = (ZipContext*)nsCtx; + ZIP_ITER(NodeTree, &ns->root, nodeVisitor, &d); +} + +static void * +deleteNodeVisitor(void *data, NodeEntry *entry) { + deleteEntry(entry); + return NULL; +} + +/***********************/ +/* Nodestore Lifecycle */ +/***********************/ + +static void +zipNsClear(void *nsCtx) { + if (!nsCtx) + return; + ZipContext *ns = (ZipContext*)nsCtx; + ZIP_ITER(NodeTree, &ns->root, deleteNodeVisitor, NULL); + + /* Clean up the ReferenceTypes index array */ + for(size_t i = 0; i < ns->referenceTypeCounter; i++) + UA_NodeId_clear(&ns->referenceTypeIds[i]); + + UA_free(ns); +} + +UA_StatusCode +UA_Nodestore_ZipTree(UA_Nodestore *ns) { + /* Allocate and initialize the context */ + ZipContext *ctx = (ZipContext*)UA_malloc(sizeof(ZipContext)); + if(!ctx) + return UA_STATUSCODE_BADOUTOFMEMORY; + + ZIP_INIT(&ctx->root); + ctx->referenceTypeCounter = 0; + + /* Populate the nodestore */ + ns->context = (void*)ctx; + ns->clear = zipNsClear; + ns->newNode = zipNsNewNode; + ns->deleteNode = zipNsDeleteNode; + ns->getNode = zipNsGetNode; + ns->getNodeFromPtr = zipNsGetNodeFromPtr; + ns->releaseNode = zipNsReleaseNode; + ns->getNodeCopy = zipNsGetNodeCopy; + ns->insertNode = zipNsInsertNode; + ns->replaceNode = zipNsReplaceNode; + ns->removeNode = zipNsRemoveNode; + ns->getReferenceTypeId = zipNsGetReferenceTypeId; + ns->iterate = zipNsIterate; + + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/plugins/ua_nodestore_hashmap.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2014-2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + +#ifndef container_of +#define container_of(ptr, type, member) \ + (type *)((uintptr_t)ptr - offsetof(type,member)) +#endif + +/* The default Nodestore is simply a hash-map from NodeIds to Nodes. To find an + * entry, iterate over candidate positions according to the NodeId hash. + * + * - Tombstone or non-matching NodeId: continue searching + * - Matching NodeId: Return the entry + * - NULL: Abort the search */ + +typedef struct UA_NodeMapEntry { + struct UA_NodeMapEntry *orig; /* the version this is a copy from (or NULL) */ + UA_UInt16 refCount; /* How many consumers have a reference to the node? */ + UA_Boolean deleted; /* Node was marked as deleted and can be deleted when refCount == 0 */ + UA_Node node; +} UA_NodeMapEntry; + +#define UA_NODEMAP_MINSIZE 64 +#define UA_NODEMAP_TOMBSTONE ((UA_NodeMapEntry*)0x01) + +typedef struct { + UA_NodeMapEntry *entry; + UA_UInt32 nodeIdHash; +} UA_NodeMapSlot; + +typedef struct { + UA_NodeMapSlot *slots; + UA_UInt32 size; + UA_UInt32 count; + UA_UInt32 sizePrimeIndex; + + /* Maps ReferenceTypeIndex to the NodeId of the ReferenceType */ + UA_NodeId referenceTypeIds[UA_REFERENCETYPESET_MAX]; + UA_Byte referenceTypeCounter; +} UA_NodeMap; + +/*********************/ +/* HashMap Utilities */ +/*********************/ + +/* The size of the hash-map is always a prime number. They are chosen to be + * close to the next power of 2. So the size ca. doubles with each prime. */ +static UA_UInt32 const primes[] = { + 7, 13, 31, 61, 127, 251, + 509, 1021, 2039, 4093, 8191, 16381, + 32749, 65521, 131071, 262139, 524287, 1048573, + 2097143, 4194301, 8388593, 16777213, 33554393, 67108859, + 134217689, 268435399, 536870909, 1073741789, 2147483647, 4294967291 +}; + +static UA_UInt32 mod(UA_UInt32 h, UA_UInt32 size) { return h % size; } +static UA_UInt32 mod2(UA_UInt32 h, UA_UInt32 size) { return 1 + (h % (size - 2)); } + +static UA_UInt16 +higher_prime_index(UA_UInt32 n) { + UA_UInt16 low = 0; + UA_UInt16 high = (UA_UInt16)(sizeof(primes) / sizeof(UA_UInt32)); + while(low != high) { + UA_UInt16 mid = (UA_UInt16)(low + ((high - low) / 2)); + if(n > primes[mid]) + low = (UA_UInt16)(mid + 1); + else + high = mid; + } + return low; +} + +/* Returns an empty slot or null if the nodeid exists or if no empty slot is found. */ +static UA_NodeMapSlot * +findFreeSlot(const UA_NodeMap *ns, const UA_NodeId *nodeid) { + UA_UInt32 h = UA_NodeId_hash(nodeid); + UA_UInt32 size = ns->size; + UA_UInt64 idx = mod(h, size); /* Use 64bit container to avoid overflow */ + UA_UInt32 startIdx = (UA_UInt32)idx; + UA_UInt32 hash2 = mod2(h, size); + + UA_NodeMapSlot *candidate = NULL; + do { + UA_NodeMapSlot *slot = &ns->slots[(UA_UInt32)idx]; + + if(slot->entry > UA_NODEMAP_TOMBSTONE) { + /* A Node with the NodeId does already exist */ + if(slot->nodeIdHash == h && + UA_NodeId_equal(&slot->entry->node.head.nodeId, nodeid)) + return NULL; + } else { + /* Found a candidate node */ + if(!candidate) + candidate = slot; + /* No matching node can come afterwards */ + if(slot->entry == NULL) + return candidate; + } + + idx += hash2; + if(idx >= size) + idx -= size; + } while((UA_UInt32)idx != startIdx); + + return candidate; +} + +/* The occupancy of the table after the call will be about 50% */ +static UA_StatusCode +expand(UA_NodeMap *ns) { + UA_UInt32 osize = ns->size; + UA_UInt32 count = ns->count; + /* Resize only when table after removal of unused elements is either too + full or too empty */ + if(count * 2 < osize && (count * 8 > osize || osize <= UA_NODEMAP_MINSIZE)) + return UA_STATUSCODE_GOOD; + + UA_NodeMapSlot *oslots = ns->slots; + UA_UInt32 nindex = higher_prime_index(count * 2); + UA_UInt32 nsize = primes[nindex]; + UA_NodeMapSlot *nslots= (UA_NodeMapSlot*)UA_calloc(nsize, sizeof(UA_NodeMapSlot)); + if(!nslots) + return UA_STATUSCODE_BADOUTOFMEMORY; + + ns->slots = nslots; + ns->size = nsize; + ns->sizePrimeIndex = nindex; + + /* recompute the position of every entry and insert the pointer */ + for(size_t i = 0, j = 0; i < osize && j < count; ++i) { + if(oslots[i].entry <= UA_NODEMAP_TOMBSTONE) + continue; + UA_NodeMapSlot *s = findFreeSlot(ns, &oslots[i].entry->node.head.nodeId); + UA_assert(s); + *s = oslots[i]; + ++j; + } + + UA_free(oslots); + return UA_STATUSCODE_GOOD; +} + +static UA_NodeMapEntry * +createEntry(UA_NodeClass nodeClass) { + size_t size = sizeof(UA_NodeMapEntry) - sizeof(UA_Node); + switch(nodeClass) { + case UA_NODECLASS_OBJECT: + size += sizeof(UA_ObjectNode); + break; + case UA_NODECLASS_VARIABLE: + size += sizeof(UA_VariableNode); + break; + case UA_NODECLASS_METHOD: + size += sizeof(UA_MethodNode); + break; + case UA_NODECLASS_OBJECTTYPE: + size += sizeof(UA_ObjectTypeNode); + break; + case UA_NODECLASS_VARIABLETYPE: + size += sizeof(UA_VariableTypeNode); + break; + case UA_NODECLASS_REFERENCETYPE: + size += sizeof(UA_ReferenceTypeNode); + break; + case UA_NODECLASS_DATATYPE: + size += sizeof(UA_DataTypeNode); + break; + case UA_NODECLASS_VIEW: + size += sizeof(UA_ViewNode); + break; + default: + return NULL; + } + UA_NodeMapEntry *entry = (UA_NodeMapEntry*)UA_calloc(1, size); + if(!entry) + return NULL; + entry->node.head.nodeClass = nodeClass; + return entry; +} + +static void +deleteNodeMapEntry(UA_NodeMapEntry *entry) { + UA_Node_clear(&entry->node); + UA_free(entry); +} + +static void +cleanupNodeMapEntry(UA_NodeMapEntry *entry) { + if(entry->refCount > 0) + return; + if(entry->deleted) { + deleteNodeMapEntry(entry); + return; + } + for(size_t i = 0; i < entry->node.head.referencesSize; i++) { + UA_NodeReferenceKind *rk = &entry->node.head.references[i]; + if(rk->targetsSize > 16 && !rk->hasRefTree) + UA_NodeReferenceKind_switch(rk); + } +} + +static UA_NodeMapSlot * +findOccupiedSlot(const UA_NodeMap *ns, const UA_NodeId *nodeid) { + UA_UInt32 h = UA_NodeId_hash(nodeid); + UA_UInt32 size = ns->size; + UA_UInt64 idx = mod(h, size); /* Use 64bit container to avoid overflow */ + UA_UInt32 hash2 = mod2(h, size); + UA_UInt32 startIdx = (UA_UInt32)idx; + + do { + UA_NodeMapSlot *slot= &ns->slots[(UA_UInt32)idx]; + if(slot->entry > UA_NODEMAP_TOMBSTONE) { + if(slot->nodeIdHash == h && + UA_NodeId_equal(&slot->entry->node.head.nodeId, nodeid)) + return slot; + } else { + if(slot->entry == NULL) + return NULL; /* No further entry possible */ + } + + idx += hash2; + if(idx >= size) + idx -= size; + } while((UA_UInt32)idx != startIdx); + + return NULL; +} + +/***********************/ +/* Interface functions */ +/***********************/ + +static UA_Node * +UA_NodeMap_newNode(void *context, UA_NodeClass nodeClass) { + UA_NodeMapEntry *entry = createEntry(nodeClass); + if(!entry) + return NULL; + return &entry->node; +} + +static void +UA_NodeMap_deleteNode(void *context, UA_Node *node) { + UA_NodeMapEntry *entry = container_of(node, UA_NodeMapEntry, node); + UA_assert(&entry->node == node); + deleteNodeMapEntry(entry); +} + +static const UA_Node * +UA_NodeMap_getNode(void *context, const UA_NodeId *nodeid, + UA_UInt32 attributeMask, + UA_ReferenceTypeSet references, + UA_BrowseDirection referenceDirections) { + UA_NodeMap *ns = (UA_NodeMap*)context; + UA_NodeMapSlot *slot = findOccupiedSlot(ns, nodeid); + if(!slot) + return NULL; + ++slot->entry->refCount; + return &slot->entry->node; +} + +static const UA_Node * +UA_NodeMap_getNodeFromPtr(void *context, UA_NodePointer ptr, + UA_UInt32 attributeMask, + UA_ReferenceTypeSet references, + UA_BrowseDirection referenceDirections) { + if(!UA_NodePointer_isLocal(ptr)) + return NULL; + UA_NodeId id = UA_NodePointer_toNodeId(ptr); + return UA_NodeMap_getNode(context, &id, attributeMask, references, referenceDirections); +} + +static void +UA_NodeMap_releaseNode(void *context, const UA_Node *node) { + if (!node) + return; + UA_NodeMapEntry *entry = container_of(node, UA_NodeMapEntry, node); + UA_assert(&entry->node == node); + UA_assert(entry->refCount > 0); + --entry->refCount; + cleanupNodeMapEntry(entry); +} + +static UA_StatusCode +UA_NodeMap_getNodeCopy(void *context, const UA_NodeId *nodeid, + UA_Node **outNode) { + UA_NodeMap *ns = (UA_NodeMap*)context; + UA_NodeMapSlot *slot = findOccupiedSlot(ns, nodeid); + if(!slot) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + UA_NodeMapEntry *entry = slot->entry; + UA_NodeMapEntry *newItem = createEntry(entry->node.head.nodeClass); + if(!newItem) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_StatusCode retval = UA_Node_copy(&entry->node, &newItem->node); + if(retval == UA_STATUSCODE_GOOD) { + newItem->orig = entry; /* Store the pointer to the original */ + *outNode = &newItem->node; + } else { + deleteNodeMapEntry(newItem); + } + return retval; +} + +static UA_StatusCode +UA_NodeMap_removeNode(void *context, const UA_NodeId *nodeid) { + UA_NodeMap *ns = (UA_NodeMap*)context; + UA_NodeMapSlot *slot = findOccupiedSlot(ns, nodeid); + if(!slot) + return UA_STATUSCODE_BADNODEIDUNKNOWN; + + UA_NodeMapEntry *entry = slot->entry; + slot->entry = UA_NODEMAP_TOMBSTONE; + entry->deleted = true; + cleanupNodeMapEntry(entry); + --ns->count; + /* Downsize the hashmap if it is very empty */ + if(ns->count * 8 < ns->size && ns->size > UA_NODEMAP_MINSIZE) + expand(ns); /* Can fail. Just continue with the bigger hashmap. */ + return UA_STATUSCODE_GOOD; +} + +/* + * If this function fails in any way, the node parameter is deleted here, + * so the caller function does not need to take care of it anymore + */ +static UA_StatusCode +UA_NodeMap_insertNode(void *context, UA_Node *node, + UA_NodeId *addedNodeId) { + UA_NodeMap *ns = (UA_NodeMap*)context; + if(ns->size * 3 <= ns->count * 4) { + if(expand(ns) != UA_STATUSCODE_GOOD){ + deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); + return UA_STATUSCODE_BADINTERNALERROR; + } + } + + UA_NodeMapSlot *slot; + if(node->head.nodeId.identifierType == UA_NODEIDTYPE_NUMERIC && + node->head.nodeId.identifier.numeric == 0) { + /* Create a random nodeid: Start at least with 50,000 to make sure we + * don not conflict with nodes from the spec. If we find a conflict, we + * just try another identifier until we have tried all possible + * identifiers. Since the size is prime and we don't change the increase + * val, we will reach the starting id again. E.g. adding a nodeset will + * create children while there are still other nodes which need to be + * created. Thus the node ids may collide. */ + UA_UInt32 size = ns->size; + UA_UInt64 identifier = mod(50000 + size+1, UA_UINT32_MAX); /* Use 64bit to + * avoid overflow */ + UA_UInt32 increase = mod2(ns->count+1, size); + UA_UInt32 startId = (UA_UInt32)identifier; /* mod ensures us that the id + * is a valid 32 bit integer */ + + do { + node->head.nodeId.identifier.numeric = (UA_UInt32)identifier; + slot = findFreeSlot(ns, &node->head.nodeId); + if(slot) + break; + identifier += increase; + if(identifier >= size) + identifier -= size; +#if SIZE_MAX <= UA_UINT32_MAX + /* The compressed "immediate" representation of nodes does not + * support the full range on 32bit systems. Generate smaller + * identifiers as they can be stored more compactly. */ + if(identifier >= (0x01 << 24)) + identifier = identifier % (0x01 << 24); +#endif + } while((UA_UInt32)identifier != startId); + } else { + slot = findFreeSlot(ns, &node->head.nodeId); + } + + if(!slot) { + deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); + return UA_STATUSCODE_BADNODEIDEXISTS; + } + + /* Copy the NodeId */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(addedNodeId) { + retval = UA_NodeId_copy(&node->head.nodeId, addedNodeId); + if(retval != UA_STATUSCODE_GOOD) { + deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); + return retval; + } + } + + /* For new ReferencetypeNodes add to the index map */ + if(node->head.nodeClass == UA_NODECLASS_REFERENCETYPE) { + UA_ReferenceTypeNode *refNode = &node->referenceTypeNode; + if(ns->referenceTypeCounter >= UA_REFERENCETYPESET_MAX) { + deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); + return UA_STATUSCODE_BADINTERNALERROR; + } + + retval = UA_NodeId_copy(&node->head.nodeId, &ns->referenceTypeIds[ns->referenceTypeCounter]); + if(retval != UA_STATUSCODE_GOOD) { + deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Assign the ReferenceTypeIndex to the new ReferenceTypeNode */ + refNode->referenceTypeIndex = ns->referenceTypeCounter; + refNode->subTypes = UA_REFTYPESET(ns->referenceTypeCounter); + + ns->referenceTypeCounter++; + } + + /* Insert the node */ + UA_NodeMapEntry *newEntry = container_of(node, UA_NodeMapEntry, node); + slot->nodeIdHash = UA_NodeId_hash(&node->head.nodeId); + slot->entry = newEntry; + ++ns->count; + return retval; +} + +static UA_StatusCode +UA_NodeMap_replaceNode(void *context, UA_Node *node) { + UA_NodeMap *ns = (UA_NodeMap*)context; + UA_NodeMapEntry *newEntry = container_of(node, UA_NodeMapEntry, node); + + /* Find the node */ + UA_NodeMapSlot *slot = findOccupiedSlot(ns, &node->head.nodeId); + if(!slot) { + deleteNodeMapEntry(newEntry); + return UA_STATUSCODE_BADNODEIDUNKNOWN; + } + + /* The node was already updated since the copy was made? */ + UA_NodeMapEntry *oldEntry = slot->entry; + if(oldEntry != newEntry->orig) { + deleteNodeMapEntry(newEntry); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Replace the entry */ + slot->entry = newEntry; + oldEntry->deleted = true; + cleanupNodeMapEntry(oldEntry); + return UA_STATUSCODE_GOOD; +} + +static const UA_NodeId * +UA_NodeMap_getReferenceTypeId(void *nsCtx, UA_Byte refTypeIndex) { + UA_NodeMap *ns = (UA_NodeMap*)nsCtx; + if(refTypeIndex >= ns->referenceTypeCounter) + return NULL; + return &ns->referenceTypeIds[refTypeIndex]; +} + +static void +UA_NodeMap_iterate(void *context, UA_NodestoreVisitor visitor, + void *visitorContext) { + UA_NodeMap *ns = (UA_NodeMap*)context; + for(UA_UInt32 i = 0; i < ns->size; ++i) { + UA_NodeMapSlot *slot = &ns->slots[i]; + if(slot->entry > UA_NODEMAP_TOMBSTONE) { + /* The visitor can delete the node. So refcount here. */ + slot->entry->refCount++; + visitor(visitorContext, &slot->entry->node); + slot->entry->refCount--; + cleanupNodeMapEntry(slot->entry); + } + } +} + +static void +UA_NodeMap_delete(void *context) { + /* Already cleaned up? */ + if(!context) + return; + + UA_NodeMap *ns = (UA_NodeMap*)context; + UA_UInt32 size = ns->size; + UA_NodeMapSlot *slots = ns->slots; + for(UA_UInt32 i = 0; i < size; ++i) { + if(slots[i].entry > UA_NODEMAP_TOMBSTONE) { + /* On debugging builds, check that all nodes were release */ + UA_assert(slots[i].entry->refCount == 0); + /* Delete the node */ + deleteNodeMapEntry(slots[i].entry); + } + } + UA_free(ns->slots); + + /* Clean up the ReferenceTypes index array */ + for(size_t i = 0; i < ns->referenceTypeCounter; i++) + UA_NodeId_clear(&ns->referenceTypeIds[i]); + + UA_free(ns); +} + +UA_StatusCode +UA_Nodestore_HashMap(UA_Nodestore *ns) { + /* Allocate and initialize the nodemap */ + UA_NodeMap *nodemap = (UA_NodeMap*)UA_malloc(sizeof(UA_NodeMap)); + if(!nodemap) + return UA_STATUSCODE_BADOUTOFMEMORY; + nodemap->sizePrimeIndex = higher_prime_index(UA_NODEMAP_MINSIZE); + nodemap->size = primes[nodemap->sizePrimeIndex]; + nodemap->count = 0; + nodemap->slots = (UA_NodeMapSlot*) + UA_calloc(nodemap->size, sizeof(UA_NodeMapSlot)); + if(!nodemap->slots) { + UA_free(nodemap); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + nodemap->referenceTypeCounter = 0; + + /* Populate the nodestore */ + ns->context = nodemap; + ns->clear = UA_NodeMap_delete; + ns->newNode = UA_NodeMap_newNode; + ns->deleteNode = UA_NodeMap_deleteNode; + ns->getNode = UA_NodeMap_getNode; + ns->getNodeFromPtr = UA_NodeMap_getNodeFromPtr; + ns->releaseNode = UA_NodeMap_releaseNode; + ns->getNodeCopy = UA_NodeMap_getNodeCopy; + ns->insertNode = UA_NodeMap_insertNode; + ns->replaceNode = UA_NodeMap_replaceNode; + ns->removeNode = UA_NodeMap_removeNode; + ns->getReferenceTypeId = UA_NodeMap_getReferenceTypeId; + ns->iterate = UA_NodeMap_iterate; + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/plugins/ua_config_default.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Julian Grothoff + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA + * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG + * Copyright 2018 (c) Fabian Arndt, Root-Core + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2017-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2020 (c) Wind River Systems, Inc. + */ + + + +#include +#ifdef UA_ARCHITECTURE_WIN32 +# include +#else +# include +#endif + +/* Struct initialization works across ANSI C/C99/C++ if it is done when the + * variable is first declared. Assigning values to existing structs is + * heterogeneous across the three. */ +static UA_INLINE UA_UInt32Range +UA_UINT32RANGE(UA_UInt32 min, UA_UInt32 max) { + UA_UInt32Range range = {min, max}; + return range; +} + +static UA_INLINE UA_DurationRange +UA_DURATIONRANGE(UA_Duration min, UA_Duration max) { + UA_DurationRange range = {min, max}; + return range; +} + +/* Request the private key password from stdin if no callback is defined */ +#ifdef UA_ENABLE_ENCRYPTION +static UA_StatusCode +readPrivateKeyPassword(UA_ByteString *password) { + /* Read from stdin */ + char buf[256]; + fputs("Private key requires a password. Enter and press return: ", stdout); + char *s = fgets(buf, 256, stdin); + if(!s) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Get rid of any trailing \n */ + size_t len = strlen(buf); + if(len == 0) + return UA_STATUSCODE_BADINTERNALERROR; + if(buf[len-1] == '\n') + buf[len-1] = 0; + + *password = UA_BYTESTRING_ALLOC(buf); + return UA_STATUSCODE_GOOD; +} +#endif + +UA_Server * +UA_Server_new(void) { + UA_ServerConfig config; + memset(&config, 0, sizeof(UA_ServerConfig)); + UA_StatusCode res = UA_ServerConfig_setDefault(&config); + if(res != UA_STATUSCODE_GOOD) + return NULL; + return UA_Server_newWithConfig(&config); +} + +#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) + +/* Required for the definition of SIGINT */ +#include + +struct InterruptContext { + UA_Server *server; + UA_Boolean running; +}; + +static void +shutdownServer(UA_Server *server, void *context) { + struct InterruptContext *ic = (struct InterruptContext*)context; + UA_ServerConfig *config = UA_Server_getConfig(ic->server); + UA_LOG_INFO(config->logging, UA_LOGCATEGORY_USERLAND, + "Stopping the server"); + ic->running = false; +} + +static void +interruptServer(UA_InterruptManager *im, uintptr_t interruptHandle, + void *context, const UA_KeyValueMap *parameters) { + struct InterruptContext *ic = (struct InterruptContext*)context; + UA_ServerConfig *config = UA_Server_getConfig(ic->server); + + if(config->shutdownDelay <= 0.0) { + UA_LOG_INFO(config->logging, UA_LOGCATEGORY_USERLAND, + "Received SIGINT interrupt. Stopping the server."); + ic->running = false; + return; + } + + UA_LOG_INFO(config->logging, UA_LOGCATEGORY_USERLAND, + "Received SIGINT interrupt. Stopping the server in %.2fs.", + config->shutdownDelay / 1000.0); + + UA_UInt32 secondsTillShutdown = (UA_UInt32)(config->shutdownDelay / 1000.0); + UA_Variant val; + UA_Variant_setScalar(&val, &secondsTillShutdown, &UA_TYPES[UA_TYPES_UINT32]); + UA_Server_writeValue(ic->server, + UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN), val); + UA_Server_addTimedCallback(ic->server, shutdownServer, ic, UA_DateTime_nowMonotonic() + + (UA_DateTime)(config->shutdownDelay * UA_DATETIME_MSEC), + NULL); + + /* Notify the application that the server is stopping */ + if(config->notifyLifecycleState) + config->notifyLifecycleState(ic->server, UA_LIFECYCLESTATE_STOPPING); +} + +UA_StatusCode +UA_Server_runUntilInterrupt(UA_Server *server) { + if(!server) + return UA_STATUSCODE_BADINTERNALERROR; + UA_ServerConfig *config = UA_Server_getConfig(server); + UA_EventLoop *el = config->eventLoop; + if(!el) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Get the interrupt manager */ + UA_EventSource *es = el->eventSources; + while(es) { + if(es->eventSourceType == UA_EVENTSOURCETYPE_INTERRUPTMANAGER) + break; + es = es->next; + } + if(!es) { + UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_USERLAND, + "No Interrupt EventSource configured"); + return UA_STATUSCODE_BADINTERNALERROR; + } + UA_InterruptManager *im = (UA_InterruptManager*)es; + + /* Register the interrupt */ + struct InterruptContext ic; + ic.server = server; + ic.running = true; + UA_StatusCode retval = + im->registerInterrupt(im, SIGINT, &UA_KEYVALUEMAP_NULL, + interruptServer, &ic); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not register the interrupt with status code %s", + UA_StatusCode_name(retval)); + return retval; + } + + /* Run the server */ + retval = UA_Server_run_startup(server); + if(retval != UA_STATUSCODE_GOOD) + goto deregister_interrupt; + while(ic.running) { + UA_Server_run_iterate(server, true); + } + + /* Shut down the server */ + retval = UA_Server_run_shutdown(server); + + /* Deregister the interrupt */ + deregister_interrupt: + im->deregisterInterrupt(im, SIGINT); + return retval; +} + +#endif /* defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) */ + +/*******************************/ +/* Default Connection Settings */ +/*******************************/ + +const UA_ConnectionConfig UA_ConnectionConfig_default = { + 0, /* .protocolVersion */ + 1 << 16, /* .sendBufferSize, 64k per chunk */ + 1 << 16, /* .recvBufferSize, 64k per chunk */ + 1 << 29, /* .localMaxMessageSize, 512 MB */ + 1 << 29, /* .remoteMaxMessageSize, 512 MB */ + 1 << 14, /* .localMaxChunkCount, 16k */ + 1 << 14 /* .remoteMaxChunkCount, 16k */ +}; + +/***************************/ +/* Default Server Settings */ +/***************************/ + +#define MANUFACTURER_NAME "open62541" +#define PRODUCT_NAME "open62541 OPC UA Server" +#define PRODUCT_URI "http://open62541.org" +#define APPLICATION_NAME "open62541-based OPC UA Application" +#define APPLICATION_URI "urn:unconfigured:application" +#define APPLICATION_URI_SERVER "urn:open62541.server.application" + +#define SECURITY_POLICY_SIZE 6 + +#define STRINGIFY(arg) #arg +#define VERSION(MAJOR, MINOR, PATCH, LABEL) \ + STRINGIFY(MAJOR) "." STRINGIFY(MINOR) "." STRINGIFY(PATCH) LABEL + +static UA_StatusCode +addEndpoint(UA_ServerConfig *conf, + const UA_SecurityPolicy *securityPolicy, + UA_MessageSecurityMode securityMode) { + /* Test if the endpoint already exists */ + for(size_t i = 0; i < conf->endpointsSize; i++) { + UA_EndpointDescription *ep = &conf->endpoints[i]; + if(!UA_String_equal(&securityPolicy->policyUri, &ep->securityPolicyUri)) + continue; + if(ep->securityMode != securityMode) + continue; + return UA_STATUSCODE_GOOD; + } + + /* Reallocate the array size */ + UA_EndpointDescription *tmp = (UA_EndpointDescription *) + UA_realloc(conf->endpoints, + sizeof(UA_EndpointDescription) * (1 + conf->endpointsSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + conf->endpoints = tmp; + + /* The following fields are overwritten internally with up-to-date + * information from the server config: + * + * UserTokenPolicies + * ApplicationDescription (server) + * ServerCertificate + * EndpointURL */ + UA_EndpointDescription *endpoint = &conf->endpoints[conf->endpointsSize]; + UA_EndpointDescription_init(endpoint); + endpoint->transportProfileUri = + UA_STRING_ALLOC("http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary"); + endpoint->securityMode = securityMode; + + /* A numeric value that indicates how secure the EndpointDescription is compared to other EndpointDescriptions + * for the same Server. A value of 0 indicates that the EndpointDescription is not recommended and is only + * supported for backward compatibility. A higher value indicates better security. */ + UA_String noneuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + UA_String basic128uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"); + UA_String basic256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256"); + if(UA_String_equal(&securityPolicy->policyUri, &noneuri) || + UA_String_equal(&securityPolicy->policyUri, &basic128uri) || + UA_String_equal(&securityPolicy->policyUri, &basic256uri)) { + endpoint->securityLevel = 0; + } else { + endpoint->securityLevel = 1; + } + + UA_StatusCode retval = UA_String_copy(&securityPolicy->policyUri, + &endpoint->securityPolicyUri); + + if(retval == UA_STATUSCODE_GOOD) { + conf->endpointsSize++; + } else { + UA_EndpointDescription_clear(endpoint); + if(conf->endpointsSize == 0) { + UA_free(conf->endpoints); + conf->endpoints = NULL; + } + } + + return retval; +} + +static UA_StatusCode +setDefaultConfig(UA_ServerConfig *conf, UA_UInt16 portNumber) { + if(!conf) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* NodeStore */ + if(conf->nodestore.context == NULL) + UA_Nodestore_HashMap(&conf->nodestore); + + /* Logging */ + if(conf->logging == NULL) + conf->logging = UA_Log_Stdout_new(UA_LOGLEVEL_INFO); + + /* EventLoop */ + if(conf->eventLoop == NULL) { + conf->eventLoop = UA_EventLoop_new_POSIX(conf->logging); + if(conf->eventLoop == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + conf->externalEventLoop = false; + + /* Add the TCP connection manager */ + UA_ConnectionManager *tcpCM = + UA_ConnectionManager_new_POSIX_TCP(UA_STRING("tcp connection manager")); + if(tcpCM) + conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)tcpCM); + + /* Add the UDP connection manager */ + UA_ConnectionManager *udpCM = + UA_ConnectionManager_new_POSIX_UDP(UA_STRING("udp connection manager")); + if(udpCM) + conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)udpCM); + + /* Add the Ethernet connection manager */ +#if defined(UA_ARCHITECTURE_POSIX) && (defined(__linux__)) + UA_ConnectionManager *ethCM = + UA_ConnectionManager_new_POSIX_Ethernet(UA_STRING("eth connection manager")); + if(ethCM) + conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)ethCM); +#endif + + /* Add the interrupt manager */ + UA_InterruptManager *im = UA_InterruptManager_new_POSIX(UA_STRING("interrupt manager")); + if(im) { + conf->eventLoop->registerEventSource(conf->eventLoop, &im->eventSource); + } else { + UA_LOG_WARNING(conf->logging, UA_LOGCATEGORY_USERLAND, + "Cannot create the Interrupt Manager (only relevant if used)"); + } +#ifdef UA_ENABLE_MQTT + /* Add the MQTT connection manager */ + UA_ConnectionManager *mqttCM = + UA_ConnectionManager_new_MQTT(UA_STRING("mqtt connection manager")); + if(mqttCM) + conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)mqttCM); +#endif + } + if(conf->eventLoop != NULL) { + if(conf->eventLoop->state != UA_EVENTLOOPSTATE_STARTED) { + UA_StatusCode statusCode = conf->eventLoop->start(conf->eventLoop); + if(statusCode != UA_STATUSCODE_GOOD) { + return statusCode; + } + } + } + + /* If a second server is started later it can "steal" the port. + * Having port reuse enabled is important for development. + * Otherwise a long TCP TIME_WAIT is required before the port can be used again. */ + conf->tcpReuseAddr = true; + + /* --> Start setting the default static config <-- */ + + conf->shutdownDelay = 0.0; + + /* Server Description */ + UA_BuildInfo_clear(&conf->buildInfo); + conf->buildInfo.productUri = UA_STRING_ALLOC(PRODUCT_URI); + conf->buildInfo.manufacturerName = UA_STRING_ALLOC(MANUFACTURER_NAME); + conf->buildInfo.productName = UA_STRING_ALLOC(PRODUCT_NAME); + conf->buildInfo.softwareVersion = + UA_STRING_ALLOC(VERSION(UA_OPEN62541_VER_MAJOR, UA_OPEN62541_VER_MINOR, + UA_OPEN62541_VER_PATCH, UA_OPEN62541_VER_LABEL)); + conf->buildInfo.buildNumber = UA_STRING_ALLOC(__DATE__ " " __TIME__); + conf->buildInfo.buildDate = UA_DateTime_now(); + + UA_ApplicationDescription_clear(&conf->applicationDescription); + conf->applicationDescription.applicationUri = UA_STRING_ALLOC(APPLICATION_URI_SERVER); + conf->applicationDescription.productUri = UA_STRING_ALLOC(PRODUCT_URI); + conf->applicationDescription.applicationName = + UA_LOCALIZEDTEXT_ALLOC("en", APPLICATION_NAME); + conf->applicationDescription.applicationType = UA_APPLICATIONTYPE_SERVER; + /* conf->applicationDescription.gatewayServerUri = UA_STRING_NULL; */ + /* conf->applicationDescription.discoveryProfileUri = UA_STRING_NULL; */ + /* conf->applicationDescription.discoveryUrlsSize = 0; */ + /* conf->applicationDescription.discoveryUrls = NULL; */ + +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_MdnsDiscoveryConfiguration_clear(&conf->mdnsConfig); + conf->mdnsInterfaceIP = UA_STRING_NULL; +# if !defined(UA_HAS_GETIFADDR) + conf->mdnsIpAddressList = NULL; + conf->mdnsIpAddressListSize = 0; +# endif +#endif + + /* Custom DataTypes */ + /* conf->customDataTypesSize = 0; */ + /* conf->customDataTypes = NULL; */ + + /* Networking */ + /* Set up the local ServerUrls. They are used during startup to initialize + * the server sockets. */ + UA_String serverUrls[1]; + size_t serverUrlsSize = 0; + char serverUrlBuffer[1][512]; + + if(portNumber == 0) { + UA_LOG_WARNING(conf->logging, UA_LOGCATEGORY_USERLAND, + "Dynamic port assignment will be used."); + } + + if(conf->serverUrlsSize > 0) { + UA_LOG_WARNING(conf->logging, UA_LOGCATEGORY_USERLAND, + "ServerUrls already set. Overriding."); + UA_Array_delete(conf->serverUrls, conf->serverUrlsSize, + &UA_TYPES[UA_TYPES_STRING]); + conf->serverUrls = NULL; + conf->serverUrlsSize = 0; + } + + /* Listen on all interfaces (also external). This must be the first + * entry if this is desired. Otherwise some interfaces may be blocked + * (already in use) with a hostname that is only locally reachable.*/ + mp_snprintf(serverUrlBuffer[0], sizeof(serverUrlBuffer[0]), + "opc.tcp://:%u", portNumber); + serverUrls[serverUrlsSize] = UA_STRING(serverUrlBuffer[0]); + serverUrlsSize++; + + /* Add to the config */ + UA_StatusCode retval = + UA_Array_copy(serverUrls, serverUrlsSize, + (void**)&conf->serverUrls, &UA_TYPES[UA_TYPES_STRING]); + if(retval != UA_STATUSCODE_GOOD) + return retval; + conf->serverUrlsSize = serverUrlsSize; + + /* Endpoints */ + /* conf->endpoints = {0, NULL}; */ + + /* Set Logger for Certificate Verification */ + if(!conf->secureChannelPKI.logging) + conf->secureChannelPKI.logging = conf->logging; + if(!conf->sessionPKI.logging) + conf->sessionPKI.logging = conf->logging; + + /* Certificate Verification that accepts every certificate. Can be + * overwritten when the policy is specialized. */ + if(conf->secureChannelPKI.clear) + conf->secureChannelPKI.clear(&conf->secureChannelPKI); + UA_CertificateVerification_AcceptAll(&conf->secureChannelPKI); + + if(conf->sessionPKI.clear) + conf->sessionPKI.clear(&conf->sessionPKI); + UA_CertificateVerification_AcceptAll(&conf->sessionPKI); + + /* * Global Node Lifecycle * */ + /* conf->nodeLifecycle.constructor = NULL; */ + /* conf->nodeLifecycle.destructor = NULL; */ + /* conf->nodeLifecycle.createOptionalChild = NULL; */ + /* conf->nodeLifecycle.generateChildNodeId = NULL; */ + conf->modellingRulesOnInstances = true; + + /* Limits for SecureChannels */ + conf->maxSecureChannels = 100; + conf->maxSecurityTokenLifetime = 10 * 60 * 1000; /* 10 minutes */ + + /* Limits for Sessions */ + conf->maxSessions = 100; + conf->maxSessionTimeout = 60.0 * 60.0 * 1000.0; /* 1h */ + +#ifdef UA_ENABLE_SUBSCRIPTIONS + /* Limits for Subscriptions */ + conf->publishingIntervalLimits = UA_DURATIONRANGE(100.0, 3600.0 * 1000.0); + conf->lifeTimeCountLimits = UA_UINT32RANGE(3, 15000); + conf->keepAliveCountLimits = UA_UINT32RANGE(1, 100); + conf->maxNotificationsPerPublish = 1000; + conf->enableRetransmissionQueue = true; + conf->maxRetransmissionQueueSize = 0; /* unlimited */ +# ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + conf->maxEventsPerNode = 0; /* unlimited */ +# endif + + /* Limits for MonitoredItems */ + conf->samplingIntervalLimits = UA_DURATIONRANGE(50.0, 24.0 * 3600.0 * 1000.0); + conf->queueSizeLimits = UA_UINT32RANGE(1, 100); +#endif + +#ifdef UA_ENABLE_DISCOVERY + conf->discoveryCleanupTimeout = 60 * 60; +#endif + +#ifdef UA_ENABLE_HISTORIZING + /* conf->accessHistoryDataCapability = false; */ + /* conf->maxReturnDataValues = 0; */ + + /* conf->accessHistoryEventsCapability = false; */ + /* conf->maxReturnEventValues = 0; */ + + /* conf->insertDataCapability = false; */ + /* conf->insertEventCapability = false; */ + /* conf->insertAnnotationsCapability = false; */ + + /* conf->replaceDataCapability = false; */ + /* conf->replaceEventCapability = false; */ + + /* conf->updateDataCapability = false; */ + /* conf->updateEventCapability = false; */ + + /* conf->deleteRawCapability = false; */ + /* conf->deleteEventCapability = false; */ + /* conf->deleteAtTimeDataCapability = false; */ +#endif + +#if UA_MULTITHREADING >= 100 + conf->maxAsyncOperationQueueSize = 0; + conf->asyncOperationTimeout = 120000; /* Async Operation Timeout in ms (2 minutes) */ +#endif + +#ifdef UA_ENABLE_PUBSUB + conf->pubSubConfig.enableDeltaFrames = true; +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + conf->pubSubConfig.enableInformationModelMethods = true; +#endif +#endif + + /* --> Finish setting the default static config <-- */ + + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setBasics(UA_ServerConfig* conf) { + return UA_ServerConfig_setBasics_withPort(conf, 4840); +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setBasics_withPort(UA_ServerConfig* conf, UA_UInt16 portNumber) { + return setDefaultConfig(conf, portNumber); +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyNone(UA_ServerConfig *config, + const UA_ByteString *certificate) { + /* Allocate the SecurityPolicies */ + UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) + UA_realloc(config->securityPolicies, + sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = tmp; + + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + if(certificate) + localCertificate = *certificate; + UA_StatusCode retval = + UA_SecurityPolicy_None(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + return retval; + } + + config->securityPoliciesSize++; + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addEndpoint(UA_ServerConfig *config, const UA_String securityPolicyUri, + UA_MessageSecurityMode securityMode) { + /* Lookup the security policy */ + const UA_SecurityPolicy *policy = NULL; + for (size_t i = 0; i < config->securityPoliciesSize; ++i) { + if (UA_String_equal(&securityPolicyUri, &config->securityPolicies[i].policyUri)) { + policy = &config->securityPolicies[i]; + break; + } + } + if(!policy) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Populate the endpoint */ + return addEndpoint(config, policy, securityMode); +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addAllEndpoints(UA_ServerConfig *config) { + /* Populate the endpoints */ + for(size_t i = 0; i < config->securityPoliciesSize; ++i) { + if(UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &config->securityPolicies[i].policyUri)) { + UA_StatusCode retval = + addEndpoint(config, &config->securityPolicies[i], UA_MESSAGESECURITYMODE_NONE); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } else { + UA_StatusCode retval = + addEndpoint(config, &config->securityPolicies[i], UA_MESSAGESECURITYMODE_SIGN); + if(retval != UA_STATUSCODE_GOOD) + return retval; + retval = addEndpoint(config, &config->securityPolicies[i], + UA_MESSAGESECURITYMODE_SIGNANDENCRYPT); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + } + + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addAllSecureEndpoints(UA_ServerConfig *config) { + UA_String noneuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + UA_String basic128uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"); + UA_String basic256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256"); + + /* Delete all predefined endpoints. */ + if(config->endpointsSize > 0) { + for(size_t i = 0; i < config->endpointsSize; ++i) + UA_EndpointDescription_clear(&config->endpoints[i]); + + UA_free(config->endpoints); + config->endpoints = NULL; + config->endpointsSize = 0; + } + + /* Populate the endpoints */ + for(size_t i = 0; i < config->securityPoliciesSize; ++i) { + /* Skip the None and all deprecated policies */ + if(UA_String_equal(&config->securityPolicies[i].policyUri, &noneuri) || + UA_String_equal(&config->securityPolicies[i].policyUri, &basic128uri) || + UA_String_equal(&config->securityPolicies[i].policyUri, &basic256uri)) { + continue; + } + UA_StatusCode retval = + addEndpoint(config, &config->securityPolicies[i], UA_MESSAGESECURITYMODE_SIGN); + if(retval != UA_STATUSCODE_GOOD) + return retval; + retval = addEndpoint(config, &config->securityPolicies[i], + UA_MESSAGESECURITYMODE_SIGNANDENCRYPT); + if(retval != UA_STATUSCODE_GOOD) + return retval; + } + + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setMinimalCustomBuffer(UA_ServerConfig *config, UA_UInt16 portNumber, + const UA_ByteString *certificate, + UA_UInt32 sendBufferSize, + UA_UInt32 recvBufferSize) { + if(!config) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_StatusCode retval = setDefaultConfig(config, portNumber); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(config); + return retval; + } + + /* Set the TCP settings */ + config->tcpBufSize = recvBufferSize; + + /* Allocate the SecurityPolicies */ + retval = UA_ServerConfig_addSecurityPolicyNone(config, certificate); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(config); + return retval; + } + + /* Initialize the Access Control plugin */ + retval = UA_AccessControl_default(config, true, NULL, 0, NULL); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(config); + return retval; + } + + /* Allocate the endpoint */ + retval = UA_ServerConfig_addEndpoint(config, UA_SECURITY_POLICY_NONE_URI, + UA_MESSAGESECURITYMODE_NONE); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(config); + return retval; + } + + return UA_STATUSCODE_GOOD; +} + +#ifdef UA_ENABLE_ENCRYPTION + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyBasic128Rsa15(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + /* Allocate the SecurityPolicies */ + UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) + UA_realloc(config->securityPolicies, + sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = tmp; + + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; + if(certificate) + localCertificate = *certificate; + if(privateKey) + localPrivateKey = *privateKey; + UA_StatusCode retval = + UA_SecurityPolicy_Basic128Rsa15(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, localPrivateKey, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + return retval; + } + + config->securityPoliciesSize++; + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyBasic256(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + /* Allocate the SecurityPolicies */ + UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) + UA_realloc(config->securityPolicies, + sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = tmp; + + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; + if(certificate) + localCertificate = *certificate; + if(privateKey) + localPrivateKey = *privateKey; + UA_StatusCode retval = + UA_SecurityPolicy_Basic256(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, localPrivateKey, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + return retval; + } + + config->securityPoliciesSize++; + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyBasic256Sha256(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + /* Allocate the SecurityPolicies */ + UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) + UA_realloc(config->securityPolicies, + sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = tmp; + + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; + if(certificate) + localCertificate = *certificate; + if(privateKey) + localPrivateKey = *privateKey; + UA_StatusCode retval = + UA_SecurityPolicy_Basic256Sha256(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, localPrivateKey, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + return retval; + } + + config->securityPoliciesSize++; + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + /* Allocate the SecurityPolicies */ + UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) + UA_realloc(config->securityPolicies, + sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = tmp; + + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; + if(certificate) + localCertificate = *certificate; + if(privateKey) + localPrivateKey = *privateKey; + UA_StatusCode retval = + UA_SecurityPolicy_Aes128Sha256RsaOaep(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, localPrivateKey, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + return retval; + } + + config->securityPoliciesSize++; + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + /* Allocate the SecurityPolicies */ + UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) + UA_realloc(config->securityPolicies, + sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); + if(!tmp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = tmp; + + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; + if(certificate) + localCertificate = *certificate; + if(privateKey) + localPrivateKey = *privateKey; + UA_StatusCode retval = + UA_SecurityPolicy_Aes256Sha256RsaPss(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, localPrivateKey, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + return retval; + } + + config->securityPoliciesSize++; + return UA_STATUSCODE_GOOD; +} + +/* Always returns UA_STATUSCODE_GOOD. Logs a warning if policies could not be added. */ +static UA_StatusCode +addAllSecurityPolicies(UA_ServerConfig *config, const UA_ByteString *certificate, + const UA_ByteString *privateKey, UA_Boolean onlySecure) { + /* Populate the SecurityPolicies */ + UA_ByteString localCertificate = UA_BYTESTRING_NULL; + UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(certificate) + localCertificate = *certificate; + if(privateKey) + localPrivateKey = *privateKey; + + /* Load the private key and convert to the DER format. Use an empty password + * on the first try -- maybe the key does not require a password. */ + UA_ByteString decryptedPrivateKey = UA_BYTESTRING_NULL; + UA_ByteString keyPassword = UA_BYTESTRING_NULL; + UA_StatusCode keySuccess = UA_STATUSCODE_GOOD; + + if (privateKey && privateKey->length > 0) + keySuccess = UA_PKI_decryptPrivateKey(localPrivateKey, keyPassword, + &decryptedPrivateKey); + + /* Get the password and decrypt. An application might want to loop / retry + * here to allow users to correct their entry. */ + if(keySuccess != UA_STATUSCODE_GOOD) { + if(config->privateKeyPasswordCallback) + keySuccess = config->privateKeyPasswordCallback(config, &keyPassword); + else + keySuccess = readPrivateKeyPassword(&keyPassword); + if(keySuccess != UA_STATUSCODE_GOOD) + return keySuccess; + keySuccess = UA_PKI_decryptPrivateKey(localPrivateKey, keyPassword, + &decryptedPrivateKey); + UA_ByteString_memZero(&keyPassword); + UA_ByteString_clear(&keyPassword); + } + if(keySuccess != UA_STATUSCODE_GOOD) + return keySuccess; + + /* Basic256Sha256 */ + retval = UA_ServerConfig_addSecurityPolicyBasic256Sha256(config, &localCertificate, + &decryptedPrivateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Basic256Sha256 with error code %s", + UA_StatusCode_name(retval)); + } + + /* Aes256Sha256RsaPss */ + retval = UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(config, &localCertificate, + &decryptedPrivateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", + UA_StatusCode_name(retval)); + } + + /* Aes128Sha256RsaOaep */ + retval = UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(config, &localCertificate, + &decryptedPrivateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", + UA_StatusCode_name(retval)); + } + + if(onlySecure) { + UA_ByteString_memZero(&decryptedPrivateKey); + UA_ByteString_clear(&decryptedPrivateKey); + return UA_STATUSCODE_GOOD; + } + + /* None */ + retval = UA_ServerConfig_addSecurityPolicyNone(config, &localCertificate); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#None with error code %s", + UA_StatusCode_name(retval)); + } + + /* Basic128Rsa15 should no longer be used */ + /* retval = UA_ServerConfig_addSecurityPolicyBasic128Rsa15(config, &localCertificate, */ + /* &decryptedPrivateKey); */ + /* if(retval != UA_STATUSCODE_GOOD) { */ + /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ + /* "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", */ + /* UA_StatusCode_name(retval)); */ + /* } */ + + /* Basic256 should no longer be used */ + /* retval = UA_ServerConfig_addSecurityPolicyBasic256(config, &localCertificate, */ + /* &decryptedPrivateKey); */ + /* if(retval != UA_STATUSCODE_GOOD) { */ + /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ + /* "Could not add SecurityPolicy#Basic256 with error code %s", */ + /* UA_StatusCode_name(retval)); */ + /* } */ + + UA_ByteString_memZero(&decryptedPrivateKey); + UA_ByteString_clear(&decryptedPrivateKey); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_ServerConfig_addAllSecurityPolicies(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + return addAllSecurityPolicies(config, certificate, privateKey, false); +} + +/* Always returns UA_STATUSCODE_GOOD. Logs a warning if policies could not be added. */ +UA_StatusCode +UA_ServerConfig_addAllSecureSecurityPolicies(UA_ServerConfig *config, + const UA_ByteString *certificate, + const UA_ByteString *privateKey) { + return addAllSecurityPolicies(config, certificate, privateKey, true); + +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setDefaultWithSecurityPolicies(UA_ServerConfig *conf, + UA_UInt16 portNumber, + const UA_ByteString *certificate, + const UA_ByteString *privateKey, + const UA_ByteString *trustList, + size_t trustListSize, + const UA_ByteString *issuerList, + size_t issuerListSize, + const UA_ByteString *revocationList, + size_t revocationListSize) { + UA_StatusCode retval = setDefaultConfig(conf, portNumber); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(conf); + return retval; + } + + if(conf->sessionPKI.clear) + conf->sessionPKI.clear(&conf->sessionPKI); + retval = UA_CertificateVerification_Trustlist(&conf->sessionPKI, + trustList, trustListSize, + issuerList, issuerListSize, + revocationList, revocationListSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + retval = UA_CertificateVerification_Trustlist(&conf->secureChannelPKI, + trustList, trustListSize, + issuerList, issuerListSize, + revocationList, revocationListSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + retval = UA_ServerConfig_addAllSecurityPolicies(conf, certificate, privateKey); + + if(retval == UA_STATUSCODE_GOOD) { + retval = UA_AccessControl_default(conf, true, NULL, 0, NULL); + } + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(conf); + return retval; + } + + retval = UA_ServerConfig_addAllEndpoints(conf); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(conf); + return retval; + } + + return UA_STATUSCODE_GOOD; +} + +UA_EXPORT UA_StatusCode +UA_ServerConfig_setDefaultWithSecureSecurityPolicies(UA_ServerConfig *conf, + UA_UInt16 portNumber, + const UA_ByteString *certificate, + const UA_ByteString *privateKey, + const UA_ByteString *trustList, + size_t trustListSize, + const UA_ByteString *issuerList, + size_t issuerListSize, + const UA_ByteString *revocationList, + size_t revocationListSize) { + UA_StatusCode retval = setDefaultConfig(conf, portNumber); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(conf); + return retval; + } + + retval = UA_CertificateVerification_Trustlist(&conf->sessionPKI, + trustList, trustListSize, + issuerList, issuerListSize, + revocationList, revocationListSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + retval = UA_CertificateVerification_Trustlist(&conf->secureChannelPKI, + trustList, trustListSize, + issuerList, issuerListSize, + revocationList, revocationListSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + retval = UA_ServerConfig_addAllSecureSecurityPolicies(conf, certificate, privateKey); + + if(retval == UA_STATUSCODE_GOOD) { + retval = UA_AccessControl_default(conf, false, NULL, 0, NULL); + } + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(conf); + return retval; + } + + retval = UA_ServerConfig_addAllSecureEndpoints(conf); + if(retval != UA_STATUSCODE_GOOD) { + UA_ServerConfig_clean(conf); + return retval; + } + conf->securityPolicyNoneDiscoveryOnly = true; + + return UA_STATUSCODE_GOOD; +} + +#endif + +/***************************/ +/* Default Client Settings */ +/***************************/ + +UA_Client * UA_Client_new(void) { + UA_ClientConfig config; + memset(&config, 0, sizeof(UA_ClientConfig)); + /* Set up basic usable config including logger and event loop */ + UA_StatusCode res = UA_ClientConfig_setDefault(&config); + if(res != UA_STATUSCODE_GOOD) + return NULL; + return UA_Client_newWithConfig(&config); +} + +UA_StatusCode +UA_ClientConfig_setDefault(UA_ClientConfig *config) { + /* The following fields are untouched and OK to leave as NULL or 0: + * clientContext + * userIdentityToken + * securityMode + * securityPolicyUri + * endpoint + * userTokenPolicy + * customDataTypes + * connectivityCheckInterval + * stateCallback + * inactivityCallback + * outStandingPublishRequests + * subscriptionInactivityCallback + * sessionLocaleIds + * sessionLocaleIdsSize */ + + if(config->timeout == 0) + config->timeout = 5 * 1000; /* 5 seconds */ + if(config->secureChannelLifeTime == 0) + config->secureChannelLifeTime = 10 * 60 * 1000; /* 10 minutes */ + + if(config->logging == NULL) + config->logging = UA_Log_Stdout_new(UA_LOGLEVEL_INFO); + + /* EventLoop */ + if(config->eventLoop == NULL) { + config->eventLoop = UA_EventLoop_new_POSIX(config->logging); + config->externalEventLoop = false; + + /* Add the TCP connection manager */ + UA_ConnectionManager *tcpCM = + UA_ConnectionManager_new_POSIX_TCP(UA_STRING("tcp connection manager")); + config->eventLoop->registerEventSource(config->eventLoop, (UA_EventSource *)tcpCM); + + /* Add the UDP connection manager */ + UA_ConnectionManager *udpCM = + UA_ConnectionManager_new_POSIX_UDP(UA_STRING("udp connection manager")); + config->eventLoop->registerEventSource(config->eventLoop, (UA_EventSource *)udpCM); + } + + if(config->localConnectionConfig.recvBufferSize == 0) + config->localConnectionConfig = UA_ConnectionConfig_default; + + if(!config->certificateVerification.logging) { + config->certificateVerification.logging = config->logging; + } + + if(!config->certificateVerification.verifyCertificate) { + /* Certificate Verification that accepts every certificate. Can be + * overwritten when the policy is specialized. */ + UA_CertificateVerification_AcceptAll(&config->certificateVerification); + } + + /* With encryption enabled, the applicationUri needs to match the URI from + * the certificate */ + if(!config->clientDescription.applicationUri.data) + config->clientDescription.applicationUri = UA_STRING_ALLOC(APPLICATION_URI); + if(config->clientDescription.applicationType == 0) + config->clientDescription.applicationType = UA_APPLICATIONTYPE_CLIENT; + + if(config->securityPoliciesSize == 0) { + config->securityPolicies = (UA_SecurityPolicy*)UA_malloc(sizeof(UA_SecurityPolicy)); + if(!config->securityPolicies) + return UA_STATUSCODE_BADOUTOFMEMORY; + UA_StatusCode retval = UA_SecurityPolicy_None(config->securityPolicies, + UA_BYTESTRING_NULL, config->logging); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + return retval; + } + config->securityPoliciesSize = 1; + } + + if(config->requestedSessionTimeout == 0) + config->requestedSessionTimeout = 1200000; + +#ifdef UA_ENABLE_SUBSCRIPTIONS + if(config->outStandingPublishRequests == 0) + config->outStandingPublishRequests = 10; +#endif + + return UA_STATUSCODE_GOOD; +} + +#ifdef UA_ENABLE_ENCRYPTION + +static UA_StatusCode +clientConfig_setAuthenticationSecurityPolicies(UA_ClientConfig *config, + UA_ByteString certificateAuth, + UA_ByteString privateKeyAuth) { + UA_SecurityPolicy *sp = (UA_SecurityPolicy*) + UA_realloc(config->authSecurityPolicies, sizeof(UA_SecurityPolicy) * 3); + if(!sp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->authSecurityPolicies = sp; + + /* Clean up old SecurityPolicies */ + for(size_t i = 0; i < config->authSecurityPoliciesSize; i++) { + config->authSecurityPolicies[i].clear(&config->authSecurityPolicies[i]); + } + config->authSecurityPoliciesSize = 0; + + /* Basic128Rsa15 is unsecure and should not be used */ + /* sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; */ + /* retval = UA_SecurityPolicy_Basic128Rsa15(sp, certificateAuth, privateKeyAuth, config->logging); */ + /* if(retval == UA_STATUSCODE_GOOD) { */ + /* ++config->authSecurityPoliciesSize; */ + /* } else { */ + /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ + /* "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", */ + /* UA_StatusCode_name(retval)); */ + /* } */ + + /* Basic256 is unsecure and should not be used */ + /* sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; */ + /* retval = UA_SecurityPolicy_Basic256(sp, certificateAuth, privateKeyAuth, config->logging); */ + /* if(retval == UA_STATUSCODE_GOOD) { */ + /* ++config->authSecurityPoliciesSize; */ + /* } else { */ + /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ + /* "Could not add SecurityPolicy#Basic256 with error code %s", */ + /* UA_StatusCode_name(retval)); */ + /* } */ + + UA_StatusCode retval; + sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; + retval = UA_SecurityPolicy_Aes256Sha256RsaPss(sp, certificateAuth, privateKeyAuth, config->logging); + if(retval == UA_STATUSCODE_GOOD) { + ++config->authSecurityPoliciesSize; + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", + UA_StatusCode_name(retval)); + } + + sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; + retval = UA_SecurityPolicy_Basic256Sha256(sp, certificateAuth, privateKeyAuth, config->logging); + if(retval == UA_STATUSCODE_GOOD) { + ++config->authSecurityPoliciesSize; + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Basic256Sha256 with error code %s", + UA_StatusCode_name(retval)); + } + + sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; + retval = UA_SecurityPolicy_Aes128Sha256RsaOaep(sp, certificateAuth, privateKeyAuth, config->logging); + if(retval == UA_STATUSCODE_GOOD) { + ++config->authSecurityPoliciesSize; + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", + UA_StatusCode_name(retval)); + } + + if(config->authSecurityPoliciesSize == 0) { + UA_free(config->authSecurityPolicies); + config->authSecurityPolicies = NULL; + } + + return retval; +} + +UA_StatusCode +UA_ClientConfig_setDefaultEncryption(UA_ClientConfig *config, + UA_ByteString localCertificate, UA_ByteString privateKey, + const UA_ByteString *trustList, size_t trustListSize, + const UA_ByteString *revocationList, size_t revocationListSize) { + UA_StatusCode retval = UA_ClientConfig_setDefault(config); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + if(config->certificateVerification.clear) + config->certificateVerification.clear(&config->certificateVerification); + retval = UA_CertificateVerification_Trustlist(&config->certificateVerification, + trustList, trustListSize, + NULL, 0, + revocationList, revocationListSize); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Populate SecurityPolicies */ + UA_SecurityPolicy *sp = (UA_SecurityPolicy*) + UA_realloc(config->securityPolicies, sizeof(UA_SecurityPolicy) * SECURITY_POLICY_SIZE); + if(!sp) + return UA_STATUSCODE_BADOUTOFMEMORY; + config->securityPolicies = sp; + + /* Load the private key and convert to the DER format. Use an empty password + * on the first try -- maybe the key does not require a password. */ + UA_ByteString decryptedPrivateKey = UA_BYTESTRING_NULL; + UA_ByteString keyPassword = UA_BYTESTRING_NULL; + UA_StatusCode keySuccess = UA_STATUSCODE_GOOD; + + if (privateKey.length > 0) + keySuccess = UA_PKI_decryptPrivateKey(privateKey, keyPassword, + &decryptedPrivateKey); + + /* Get the password and decrypt. An application might want to loop / retry + * here to allow users to correct their entry. */ + if(keySuccess != UA_STATUSCODE_GOOD) { + if(config->privateKeyPasswordCallback) + keySuccess = config->privateKeyPasswordCallback(config, &keyPassword); + else + keySuccess = readPrivateKeyPassword(&keyPassword); + if(keySuccess != UA_STATUSCODE_GOOD) + return keySuccess; + keySuccess = UA_PKI_decryptPrivateKey(privateKey, keyPassword, &decryptedPrivateKey); + UA_ByteString_memZero(&keyPassword); + UA_ByteString_clear(&keyPassword); + } + if(keySuccess != UA_STATUSCODE_GOOD) + return keySuccess; + + /* Basic128Rsa15 should no longer be used */ + /* retval = UA_SecurityPolicy_Basic128Rsa15(&config->securityPolicies[config->securityPoliciesSize], */ + /* localCertificate, decryptedPrivateKey, config->logging); */ + /* if(retval == UA_STATUSCODE_GOOD) { */ + /* ++config->securityPoliciesSize; */ + /* } else { */ + /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ + /* "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", */ + /* UA_StatusCode_name(retval)); */ + /* } */ + + /* Basic256 should no longer be used */ + /* retval = UA_SecurityPolicy_Basic256(&config->securityPolicies[config->securityPoliciesSize], */ + /* localCertificate, decryptedPrivateKey, config->logging); */ + + /* if(retval == UA_STATUSCODE_GOOD) { */ + /* ++config->securityPoliciesSize; */ + /* } else { */ + /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ + /* "Could not add SecurityPolicy#Basic256 with error code %s", */ + /* UA_StatusCode_name(retval)); */ + /* } */ + + retval = UA_SecurityPolicy_Aes256Sha256RsaPss(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, decryptedPrivateKey, config->logging); + if(retval == UA_STATUSCODE_GOOD) { + ++config->securityPoliciesSize; + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", + UA_StatusCode_name(retval)); + } + + retval = UA_SecurityPolicy_Basic256Sha256(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, decryptedPrivateKey, config->logging); + if(retval == UA_STATUSCODE_GOOD) { + ++config->securityPoliciesSize; + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Basic256Sha256 with error code %s", + UA_StatusCode_name(retval)); + } + + retval = UA_SecurityPolicy_Aes128Sha256RsaOaep(&config->securityPolicies[config->securityPoliciesSize], + localCertificate, decryptedPrivateKey, config->logging); + if(retval == UA_STATUSCODE_GOOD) { + ++config->securityPoliciesSize; + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", + UA_StatusCode_name(retval)); + } + + /* Set the same certificate also for authentication. + * Can be overridden with a different certificate. */ + if(config->authSecurityPoliciesSize == 0) + clientConfig_setAuthenticationSecurityPolicies(config, localCertificate, + decryptedPrivateKey); + + UA_ByteString_memZero(&decryptedPrivateKey); + UA_ByteString_clear(&decryptedPrivateKey); + + if(config->securityPoliciesSize == 0) { + UA_free(config->securityPolicies); + config->securityPolicies = NULL; + } + + return UA_STATUSCODE_GOOD; +} +#endif + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_MBEDTLS) +UA_StatusCode +UA_ClientConfig_setAuthenticationCert(UA_ClientConfig *config, + UA_ByteString certificateAuth, + UA_ByteString privateKeyAuth) { +#ifdef UA_ENABLE_ENCRYPTION_LIBRESSL + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Certificate authentication with LibreSSL as crypto backend is not supported."); + return UA_STATUSCODE_BADNOTIMPLEMENTED; +#endif + + /* Create UserIdentityToken */ + UA_X509IdentityToken* identityToken = UA_X509IdentityToken_new(); + if(!identityToken) + return UA_STATUSCODE_BADOUTOFMEMORY; + /* Don't set identityToken->policyId. This is taken from the appropriate + * endpoint at runtime. */ + UA_StatusCode retval = UA_ByteString_copy(&certificateAuth, &identityToken->certificateData); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_ExtensionObject_clear(&config->userIdentityToken); + config->userIdentityToken.encoding = UA_EXTENSIONOBJECT_DECODED; + config->userIdentityToken.content.decoded.type = &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]; + config->userIdentityToken.content.decoded.data = identityToken; + + /* Populate SecurityPolicies */ + return clientConfig_setAuthenticationSecurityPolicies(config, certificateAuth, privateKeyAuth); +} +#endif + +/**** amalgamated original file "/plugins/ua_config_json.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2023 (c) Fraunhofer IOSB (Author: Noel Graf) + */ + +#ifdef UA_ENABLE_ENCRYPTION +#endif + +#define MAX_TOKENS 256 + +typedef struct { + const char *json; + const cj5_token *tokens; + cj5_result result; + unsigned int tokensSize; + size_t index; + UA_Byte depth; +} ParsingCtx; + +static UA_ByteString +getJsonPart(cj5_token tok, const char *json) { + UA_ByteString bs; + UA_ByteString_init(&bs); + if(tok.type == CJ5_TOKEN_STRING) { + bs.data = (UA_Byte*)(uintptr_t)(json + tok.start - 1); + bs.length = (tok.end - tok.start) + 3; + return bs; + } else { + bs.data = (UA_Byte*)(uintptr_t)(json + tok.start); + bs.length = (tok.end - tok.start) + 1; + return bs; + } +} + +/* Forward declarations*/ +#define PARSE_JSON(TYPE) static UA_StatusCode \ + TYPE##_parseJson(ParsingCtx *ctx, void *configField, size_t *configFieldSize) + +typedef UA_StatusCode +(*parseJsonSignature)(ParsingCtx *ctx, void *configField, size_t *configFieldSize); + +#ifdef UA_ENABLE_ENCRYPTION +static UA_ByteString +loadCertificateFile(const char *const path); +#endif + +/* The DataType "kind" is an internal type classification. It is used to + * dispatch handling to the correct routines. */ +#define UA_SERVERCONFIGFIELDKINDS 25 +typedef enum { + /* Basic Types */ + UA_SERVERCONFIGFIELD_INT64 = 0, + UA_SERVERCONFIGFIELD_UINT16, + UA_SERVERCONFIGFIELD_UINT32, + UA_SERVERCONFIGFIELD_UINT64, + UA_SERVERCONFIGFIELD_STRING, + UA_SERVERCONFIGFIELD_LOCALIZEDTEXT, + UA_SERVERCONFIGFIELD_DOUBLE, + UA_SERVERCONFIGFIELD_BOOLEAN, + UA_SERVERCONFIGFIELD_DURATION, + UA_SERVERCONFIGFIELD_DURATIONRANGE, + UA_SERVERCONFIGFIELD_UINT32RANGE, + + /* Advanced Types */ + UA_SERVERCONFIGFIELD_BUILDINFO, + UA_SERVERCONFIGFIELD_APPLICATIONDESCRIPTION, + UA_SERVERCONFIGFIELD_STRINGARRAY, + UA_SERVERCONFIGFIELD_UINT32ARRAY, + UA_SERVERCONFIGFIELD_DATETIME, + UA_SERVERCONFIGFIELD_SUBSCRIPTIONCONFIGURATION, + UA_SERVERCONFIGFIELD_TCPCONFIGURATION, + UA_SERVERCONFIGFIELD_PUBSUBCONFIGURATION, + UA_SERVERCONFIGFIELD_HISTORIZINGCONFIGURATION, + UA_SERVERCONFIGFIELD_MDNSCONFIGURATION, + UA_SERVERCONFIGFIELD_SECURITYPOLICIES, + UA_SERVERCONFIGFIELD_SECURITYPKI, + + /* Enumerations */ + UA_SERVERCONFIGFIELD_APPLICATIONTYPE, + UA_SERVERCONFIGFIELD_RULEHANDLING +} UA_ServerConfigFieldKind; + +extern const parseJsonSignature parseJsonJumpTable[UA_SERVERCONFIGFIELDKINDS]; + +/*----------------------Basic Types------------------------*/ +PARSE_JSON(Int64Field) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_Int64 out; + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_INT64], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_Int64 *field = (UA_Int64*)configField; + *field = out; + return retval; +} +PARSE_JSON(UInt16Field) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_UInt16 out; + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_UINT16], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_UInt16 *field = (UA_UInt16*)configField; + *field = out; + return retval; +} +PARSE_JSON(UInt32Field) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_UInt32 out; + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_UINT32], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_UInt32 *field = (UA_UInt32*)configField; + *field = out; + return retval; +} +PARSE_JSON(UInt64Field) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_UInt64 out; + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_UINT64], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_UInt64 *field = (UA_UInt64*)configField; + *field = out; + return retval; +} +PARSE_JSON(StringField) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_String out; + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_STRING], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_String *field = (UA_String*)configField; + if(field != NULL) { + UA_String_clear(field); + *field = out; + } + return retval; +} +PARSE_JSON(LocalizedTextField) { + /* + applicationName: { + locale: "de-DE", + text: "Test text" + } + */ + cj5_token tok = ctx->tokens[++ctx->index]; + UA_StatusCode retval = UA_STATUSCODE_GOOD; + UA_String locale; + UA_String text; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field, &str_len); + + tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + if(strcmp(field, "locale") == 0) + retval |= UA_decodeJson(&buf, &locale, &UA_TYPES[UA_TYPES_STRING], NULL); + else if(strcmp(field, "text") == 0) + retval |= UA_decodeJson(&buf, &text, &UA_TYPES[UA_TYPES_STRING], NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field); + break; + } + default: + break; + } + } + UA_LocalizedText out; + out.locale = locale; + out.text = text; + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_LocalizedText *field = (UA_LocalizedText*)configField; + if(field != NULL) { + UA_LocalizedText_clear(field); + *field = out; + } + return retval; +} +PARSE_JSON(DoubleField) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_Double out; + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_DOUBLE], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_Double *field = (UA_Double *)configField; + *field = out; + return retval; +} +PARSE_JSON(BooleanField) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_Boolean out; + if(tok.type != CJ5_TOKEN_BOOL) { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Value of type bool expected."); + return UA_STATUSCODE_BADTYPEMISMATCH; + } + UA_String val = UA_STRING("true"); + if(UA_String_equal(&val, &buf)) { + out = true; + }else { + out = false; + } + /* set server config field */ + UA_Boolean *field = (UA_Boolean *)configField; + *field = out; + return UA_STATUSCODE_GOOD; +} +PARSE_JSON(DurationField) { + UA_Double double_value; + UA_StatusCode retval = DoubleField_parseJson(ctx, &double_value, NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_Duration *field = (UA_Duration*)configField; + *field = (UA_Duration)double_value; + return retval; +} +PARSE_JSON(DurationRangeField) { + UA_DurationRange *field = (UA_DurationRange*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "min") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATION](ctx, &field->min, NULL); + else if(strcmp(field_str, "max") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATION](ctx, &field->max, NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } + return UA_STATUSCODE_GOOD; +} +PARSE_JSON(UInt32RangeField) { + UA_UInt32Range *field = (UA_UInt32Range*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "min") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &field->min, NULL); + else if(strcmp(field_str, "max") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &field->max, NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } + return UA_STATUSCODE_GOOD; +} + +/*----------------------Advanced Types------------------------*/ +PARSE_JSON(BuildInfo) { + UA_BuildInfo *field = (UA_BuildInfo*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "productUri") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->productUri, NULL); + else if(strcmp(field_str, "manufacturerName") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->manufacturerName, NULL); + else if(strcmp(field_str, "productName") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->productName, NULL); + else if(strcmp(field_str, "softwareVersion") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->softwareVersion, NULL); + else if(strcmp(field_str, "buildNumber") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->buildNumber, NULL); + else if(strcmp(field_str, "buildDate") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_DATETIME](ctx, &field->buildDate, NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } + return UA_STATUSCODE_GOOD; +} +PARSE_JSON(ApplicationDescriptionField) { + UA_ApplicationDescription *field = (UA_ApplicationDescription*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "applicationUri") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->applicationUri, NULL); + else if(strcmp(field_str, "productUri") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->productUri, NULL); + else if(strcmp(field_str, "applicationName") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_LOCALIZEDTEXT](ctx, &field->applicationName, NULL); + else if(strcmp(field_str, "applicationType") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_APPLICATIONTYPE](ctx, &field->applicationType, NULL); + else if(strcmp(field_str, "gatewayServerUri") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->gatewayServerUri, NULL); + else if(strcmp(field_str, "discoveryProfileUri") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->discoveryProfileUri, NULL); + else if(strcmp(field_str, "discoveryUrls") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRINGARRAY](ctx, &field->discoveryUrls, &field->discoveryUrlsSize); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } + return UA_STATUSCODE_GOOD; +} +PARSE_JSON(StringArrayField) { + if(configFieldSize == NULL) { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Pointer to the array size is not set."); + return UA_STATUSCODE_BADARGUMENTSMISSING; + } + cj5_token tok = ctx->tokens[++ctx->index]; + UA_String *stringArray = (UA_String*)UA_malloc(sizeof(UA_String) * tok.size); + size_t stringArraySize = 0; + for(size_t j = tok.size; j > 0; j--) { + UA_String out = {.length = 0, .data = NULL};; + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &out, NULL); + UA_String_copy(&out, &stringArray[stringArraySize++]); + UA_String_clear(&out); + } + /* Add to the config */ + UA_String **field = (UA_String**)configField; + if(*configFieldSize > 0) { + UA_Array_delete(*field, *configFieldSize, + &UA_TYPES[UA_TYPES_STRING]); + *field = NULL; + *configFieldSize = 0; + } + UA_StatusCode retval = + UA_Array_copy(stringArray, stringArraySize, + (void**)field, &UA_TYPES[UA_TYPES_STRING]); + *configFieldSize = stringArraySize; + + /* Clean up */ + UA_Array_delete(stringArray, stringArraySize, &UA_TYPES[UA_TYPES_STRING]); + return retval; +} +PARSE_JSON(UInt32ArrayField) { + if(configFieldSize == NULL) { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Pointer to the array size is not set."); + return UA_STATUSCODE_BADARGUMENTSMISSING; + } + cj5_token tok = ctx->tokens[++ctx->index]; + UA_UInt32 *numberArray = (UA_UInt32*)UA_malloc(sizeof(UA_UInt32) * tok.size);; + size_t numberArraySize = 0; + for(size_t j = tok.size; j > 0; j--) { + UA_UInt32 value; + UA_StatusCode retval = UInt32Field_parseJson(ctx, &value, NULL); + if(retval != UA_STATUSCODE_GOOD) + continue; + numberArray[numberArraySize++] = value; + } + /* Add to the config */ + UA_UInt32 **field = (UA_UInt32**)configField; + if(*configFieldSize > 0) { + UA_Array_delete(*field, *configFieldSize, + &UA_TYPES[UA_TYPES_UINT32]); + *field = NULL; + *configFieldSize = 0; + } + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(numberArraySize > 0) { + retval = UA_Array_copy(numberArray, numberArraySize, + (void **)field, &UA_TYPES[UA_TYPES_UINT32]); + *configFieldSize = numberArraySize; + } + /* Clean up */ + UA_Array_delete(numberArray, numberArraySize, &UA_TYPES[UA_TYPES_UINT32]); + return retval; +} +PARSE_JSON(DateTimeField) { + cj5_token tok = ctx->tokens[++ctx->index]; + UA_ByteString buf = getJsonPart(tok, ctx->json); + UA_DateTime out; + UA_DateTime_init(&out); + UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_DATETIME], NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_DateTime *field = (UA_DateTime*)configField; + *field = out; + return retval; +} + +PARSE_JSON(MdnsConfigurationField) { +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + UA_ServerConfig *config = (UA_ServerConfig*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "mdnsServerName") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &config->mdnsConfig.mdnsServerName, NULL); + else if(strcmp(field_str, "serverCapabilities") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRINGARRAY](ctx, &config->mdnsConfig.serverCapabilities, &config->mdnsConfig.serverCapabilitiesSize); + else if(strcmp(field_str, "mdnsInterfaceIP") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &config->mdnsInterfaceIP, NULL); + /* mdnsIpAddressList and mdnsIpAddressListSize are only available if UA_HAS_GETIFADDR is not defined: */ +# if !defined(UA_HAS_GETIFADDR) + else if(strcmp(field_str, "mdnsIpAddressList") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32ARRAY](ctx, &config->mdnsIpAddressList, &config->mdnsIpAddressListSize); +# endif + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } +#endif + return UA_STATUSCODE_GOOD; +} + +PARSE_JSON(SubscriptionConfigurationField) { +#ifdef UA_ENABLE_SUBSCRIPTIONS + UA_ServerConfig *config = (UA_ServerConfig*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "maxSubscriptions") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxSubscriptions, NULL); + else if(strcmp(field_str, "maxSubscriptionsPerSession") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxSubscriptionsPerSession, NULL); + else if(strcmp(field_str, "publishingIntervalLimits") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATIONRANGE](ctx, &config->publishingIntervalLimits, NULL); + else if(strcmp(field_str, "lifeTimeCountLimits") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32RANGE](ctx, &config->lifeTimeCountLimits, NULL); + else if(strcmp(field_str, "keepAliveCountLimits") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32RANGE](ctx, &config->keepAliveCountLimits, NULL); + else if(strcmp(field_str, "maxNotificationsPerPublish") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxNotificationsPerPublish, NULL); + else if(strcmp(field_str, "enableRetransmissionQueue") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->enableRetransmissionQueue, NULL); + else if(strcmp(field_str, "maxRetransmissionQueueSize") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxRetransmissionQueueSize, NULL); +# ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS + else if(strcmp(field_str, "maxEventsPerNode") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxEventsPerNode, NULL); +# endif + else if(strcmp(field_str, "maxMonitoredItems") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxMonitoredItems, NULL); + else if(strcmp(field_str, "maxMonitoredItemsPerSubscription") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxMonitoredItemsPerSubscription, NULL); + else if(strcmp(field_str, "samplingIntervalLimits") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATIONRANGE](ctx, &config->samplingIntervalLimits, NULL); + else if(strcmp(field_str, "queueSizeLimits") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32RANGE](ctx, &config->queueSizeLimits, NULL); + else if(strcmp(field_str, "maxPublishReqPerSession") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxPublishReqPerSession, NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } +#endif + return UA_STATUSCODE_GOOD; +} + +PARSE_JSON(TcpConfigurationField) { + UA_ServerConfig *config = (UA_ServerConfig*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "tcpBufSize") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->tcpBufSize, NULL); + else if(strcmp(field_str, "tcpMaxMsgSize") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->tcpMaxMsgSize, NULL); + else if(strcmp(field_str, "tcpMaxChunks") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->tcpMaxChunks, NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } + return UA_STATUSCODE_GOOD; +} + +PARSE_JSON(PubsubConfigurationField) { +#ifdef UA_ENABLE_PUBSUB + UA_PubSubConfiguration *field = (UA_PubSubConfiguration*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "enableDeltaFrames") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &field->enableDeltaFrames, NULL); +#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL + else if(strcmp(field_str, "enableInformationModelMethods") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &field->enableInformationModelMethods, NULL); +#endif + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } +#endif + return UA_STATUSCODE_GOOD; +} + +PARSE_JSON(HistorizingConfigurationField) { +#ifdef UA_ENABLE_HISTORIZING + UA_ServerConfig *config = (UA_ServerConfig*)configField; + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size/2; j > 0; j--) { + tok = ctx->tokens[++ctx->index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "accessHistoryDataCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->accessHistoryDataCapability, NULL); + else if(strcmp(field_str, "maxReturnDataValues") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxReturnDataValues, NULL); + else if(strcmp(field_str, "accessHistoryEventsCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->accessHistoryEventsCapability, NULL); + else if(strcmp(field_str, "maxReturnEventValues") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxReturnEventValues, NULL); + else if(strcmp(field_str, "insertDataCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->insertDataCapability, NULL); + else if(strcmp(field_str, "insertEventCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->insertEventCapability, NULL); + else if(strcmp(field_str, "insertAnnotationsCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->insertAnnotationsCapability, NULL); + else if(strcmp(field_str, "replaceDataCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->replaceDataCapability, NULL); + else if(strcmp(field_str, "replaceEventCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->replaceEventCapability, NULL); + else if(strcmp(field_str, "updateDataCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->updateDataCapability, NULL); + else if(strcmp(field_str, "updateEventCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->updateEventCapability, NULL); + else if(strcmp(field_str, "deleteRawCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->deleteRawCapability, NULL); + else if(strcmp(field_str, "deleteEventCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->deleteEventCapability, NULL); + else if(strcmp(field_str, "deleteAtTimeDataCapability") == 0) + parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->deleteAtTimeDataCapability, NULL); + else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } +#endif + return UA_STATUSCODE_GOOD; +} + +PARSE_JSON(SecurityPolciesField) { +#ifdef UA_ENABLE_ENCRYPTION + UA_ServerConfig *config = (UA_ServerConfig*)configField; + + UA_String noneuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + UA_String basic128Rsa15uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"); + UA_String basic256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256"); + UA_String basic256Sha256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"); + UA_String aes128sha256rsaoaepuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"); + UA_String aes256sha256rsapssuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"); + + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t j = tok.size; j > 0; j--) { + + UA_String policy = {.length = 0, .data = NULL}; + UA_ByteString certificate = {.length = 0, .data = NULL}; + UA_ByteString privateKey = {.length = 0, .data = NULL}; + + tok = ctx->tokens[++ctx->index]; + for(size_t i = tok.size / 2; i > 0; i--) { + tok = ctx->tokens[++ctx->index]; + switch(tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char *)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "certificate") == 0) { + UA_String out = {.length = 0, .data = NULL}; + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &out, NULL); + + if(out.length > 0) { + char *certfile = (char *)UA_malloc(out.length + 1); + memcpy(certfile, out.data, out.length); + certfile[out.length] = '\0'; + certificate = loadCertificateFile(certfile); + UA_String_clear(&out); + UA_free(certfile); + } + } else if(strcmp(field_str, "privateKey") == 0) { + UA_String out = {.length = 0, .data = NULL}; + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &out, NULL); + + if(out.length > 0) { + char *keyfile = (char *)UA_malloc(out.length + 1); + memcpy(keyfile, out.data, out.length); + keyfile[out.length] = '\0'; + privateKey = loadCertificateFile(keyfile); + UA_String_clear(&out); + UA_free(keyfile); + } + } else if(strcmp(field_str, "policy") == 0) { + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &policy, NULL); + } else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } + + if(certificate.length == 0 || privateKey.length == 0) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Certificate and PrivateKey must be set for every policy."); + if(policy.length > 0) + UA_String_clear(&policy); + if(certificate.length > 0) + UA_ByteString_clear(&certificate); + if(privateKey.length > 0) + UA_ByteString_clear(&privateKey); + return UA_STATUSCODE_BADINTERNALERROR; + } + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(UA_String_equal(&policy, &noneuri)) { + /* Nothing to do! */ + } else if(UA_String_equal(&policy, &basic128Rsa15uri)) { + retval = UA_ServerConfig_addSecurityPolicyBasic128Rsa15(config, &certificate, &privateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", + UA_StatusCode_name(retval)); + } + } else if(UA_String_equal(&policy, &basic256uri)) { + retval = UA_ServerConfig_addSecurityPolicyBasic256(config, &certificate, &privateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Basic256 with error code %s", + UA_StatusCode_name(retval)); + } + } else if(UA_String_equal(&policy, &basic256Sha256uri)) { + retval = UA_ServerConfig_addSecurityPolicyBasic256Sha256(config, &certificate, &privateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Basic256Sha256 with error code %s", + UA_StatusCode_name(retval)); + } + } else if(UA_String_equal(&policy, &aes128sha256rsaoaepuri)) { + retval = UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(config, &certificate, &privateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", + UA_StatusCode_name(retval)); + } + } else if(UA_String_equal(&policy, &aes256sha256rsapssuri)) { + retval = UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(config, &certificate, &privateKey); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, + "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", + UA_StatusCode_name(retval)); + } + } else { + UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, "Unknown Security Policy."); + } + + /* Add all Endpoints */ + UA_ServerConfig_addAllEndpoints(config); + + if(policy.length > 0) + UA_String_clear(&policy); + if(certificate.length > 0) + UA_ByteString_clear(&certificate); + if(privateKey.length > 0) + UA_ByteString_clear(&privateKey); + } +#endif + return UA_STATUSCODE_GOOD; +} + +PARSE_JSON(SecurityPkiField) { +#ifdef UA_ENABLE_ENCRYPTION + UA_CertificateVerification *field = (UA_CertificateVerification*)configField; + UA_String trustListFolder = {.length = 0, .data = NULL}; + UA_String issuerListFolder = {.length = 0, .data = NULL}; + UA_String revocationListFolder = {.length = 0, .data = NULL}; + + cj5_token tok = ctx->tokens[++ctx->index]; + for(size_t i = tok.size/2; i > 0; i--) { + tok = ctx->tokens[++ctx->index]; + switch(tok.type) { + case CJ5_TOKEN_STRING: { + char *field_str = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); + if(strcmp(field_str, "trustListFolder") == 0) { + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &trustListFolder, NULL); + } else if(strcmp(field_str, "issuerListFolder") == 0) { + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &issuerListFolder, NULL); + } else if(strcmp(field_str, "revocationListFolder") == 0) { + parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &revocationListFolder, NULL); + } else { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); + } + UA_free(field_str); + break; + } + default: + break; + } + } +#ifndef __linux__ + /* Currently not supported! */ + (void)field; + return UA_STATUSCODE_GOOD; +#else + /* set server config field */ + char *sTrustListFolder = NULL; + char *sIssuerListFolder = NULL; + char *sRevocationListFolder = NULL; + if(trustListFolder.length > 0) { + sTrustListFolder = (char*)UA_malloc(trustListFolder.length+1); + memcpy(sTrustListFolder, trustListFolder.data, trustListFolder.length); + sTrustListFolder[trustListFolder.length] = '\0'; + } + if(issuerListFolder.length > 0) { + sIssuerListFolder = (char*)UA_malloc(issuerListFolder.length+1); + memcpy(sIssuerListFolder, issuerListFolder.data, issuerListFolder.length); + sIssuerListFolder[issuerListFolder.length] = '\0'; + } + if(revocationListFolder.length > 0) { + sRevocationListFolder = (char*)UA_malloc(revocationListFolder.length+1); + memcpy(sRevocationListFolder, revocationListFolder.data, revocationListFolder.length); + sRevocationListFolder[revocationListFolder.length] = '\0'; + } + if(field && field->clear) + field->clear(field); +#ifdef UA_ENABLE_CERT_REJECTED_DIR + UA_StatusCode retval = UA_CertificateVerification_CertFolders(field, sTrustListFolder, + sIssuerListFolder, sRevocationListFolder, NULL); +#else + UA_StatusCode retval = UA_CertificateVerification_CertFolders(field, sTrustListFolder, + sIssuerListFolder, sRevocationListFolder); +#endif + /* Clean up */ + if(sTrustListFolder) + UA_free(sTrustListFolder); + if(sIssuerListFolder) + UA_free(sIssuerListFolder); + if(sRevocationListFolder) + UA_free(sRevocationListFolder); + UA_String_clear(&trustListFolder); + UA_String_clear(&issuerListFolder); + UA_String_clear(&revocationListFolder); + + return retval; +#endif +#endif + return UA_STATUSCODE_GOOD; +} + +/*----------------------Enumerations------------------------*/ +PARSE_JSON(ApplicationTypeField) { + UA_UInt32 enum_value; + UA_StatusCode retval = UInt32Field_parseJson(ctx, &enum_value, NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_ApplicationType *field = (UA_ApplicationType*)configField; + *field = (UA_ApplicationType)enum_value; + return retval; +} +PARSE_JSON(RuleHandlingField) { + UA_UInt32 enum_value; + UA_StatusCode retval = UInt32Field_parseJson(ctx, &enum_value, NULL); + if(retval != UA_STATUSCODE_GOOD) + return retval; + UA_RuleHandling *field = (UA_RuleHandling*)configField; + *field = (UA_RuleHandling)enum_value; + return retval; +} + +const parseJsonSignature parseJsonJumpTable[UA_SERVERCONFIGFIELDKINDS] = { + /* Basic Types */ + (parseJsonSignature)Int64Field_parseJson, + (parseJsonSignature)UInt16Field_parseJson, + (parseJsonSignature)UInt32Field_parseJson, + (parseJsonSignature)UInt64Field_parseJson, + (parseJsonSignature)StringField_parseJson, + (parseJsonSignature)LocalizedTextField_parseJson, + (parseJsonSignature)DoubleField_parseJson, + (parseJsonSignature)BooleanField_parseJson, + (parseJsonSignature)DurationField_parseJson, + (parseJsonSignature)DurationRangeField_parseJson, + (parseJsonSignature)UInt32RangeField_parseJson, + + /* Advanced Types */ + (parseJsonSignature)BuildInfo_parseJson, + (parseJsonSignature)ApplicationDescriptionField_parseJson, + (parseJsonSignature)StringArrayField_parseJson, + (parseJsonSignature)UInt32ArrayField_parseJson, + (parseJsonSignature)DateTimeField_parseJson, + (parseJsonSignature)SubscriptionConfigurationField_parseJson, + (parseJsonSignature)TcpConfigurationField_parseJson, + (parseJsonSignature)PubsubConfigurationField_parseJson, + (parseJsonSignature)HistorizingConfigurationField_parseJson, + (parseJsonSignature)MdnsConfigurationField_parseJson, + (parseJsonSignature)SecurityPolciesField_parseJson, + (parseJsonSignature)SecurityPkiField_parseJson, + + /* Enumerations */ + (parseJsonSignature)ApplicationTypeField_parseJson, + (parseJsonSignature)RuleHandlingField_parseJson, +}; + +static UA_StatusCode +parseJSONConfig(UA_ServerConfig *config, UA_ByteString json_config) { + // Parsing json config + const char *json = (const char*)json_config.data; + cj5_token tokens[MAX_TOKENS]; + cj5_result r = cj5_parse(json, (unsigned int)json_config.length, tokens, MAX_TOKENS, NULL); + + ParsingCtx ctx; + ctx.json = json; + ctx.result = r; + ctx.tokens = r.tokens; + ctx.tokensSize = r.num_tokens; + ctx.index = 1; // The first token is ignored because it is known and not needed. + + size_t serverConfigSize = 0; + if(ctx.tokens) + serverConfigSize = (ctx.tokens[ctx.index-1].size/2); + UA_StatusCode retval = UA_STATUSCODE_GOOD; + for (size_t j = serverConfigSize; j > 0; j--) { + cj5_token tok = ctx.tokens[ctx.index]; + switch (tok.type) { + case CJ5_TOKEN_STRING: { + char *field = (char*)UA_malloc(tok.size + 1); + unsigned int str_len = 0; + cj5_get_str(&ctx.result, (unsigned int)ctx.index, field, &str_len); + if(strcmp(field, "buildInfo") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BUILDINFO](&ctx, &config->buildInfo, NULL); + else if(strcmp(field, "applicationDescription") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_APPLICATIONDESCRIPTION](&ctx, &config->applicationDescription, NULL); + else if(strcmp(field, "shutdownDelay") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_DOUBLE](&ctx, &config->shutdownDelay, NULL); + else if(strcmp(field, "verifyRequestTimestamp") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_RULEHANDLING](&ctx, &config->verifyRequestTimestamp, NULL); + else if(strcmp(field, "allowEmptyVariables") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_RULEHANDLING](&ctx, &config->allowEmptyVariables, NULL); + else if(strcmp(field, "serverUrls") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRINGARRAY](&ctx, &config->serverUrls, &config->serverUrlsSize); + else if(strcmp(field, "tcpEnabled") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->tcpEnabled, NULL); + else if(strcmp(field, "tcp") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_TCPCONFIGURATION](&ctx, config, NULL); + else if(strcmp(field, "securityPolicyNoneDiscoveryOnly") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->securityPolicyNoneDiscoveryOnly, NULL); + else if(strcmp(field, "modellingRulesOnInstances") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->modellingRulesOnInstances, NULL); + else if(strcmp(field, "maxSecureChannels") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT16](&ctx, &config->maxSecureChannels, NULL); + else if(strcmp(field, "maxSecurityTokenLifetime") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxSecurityTokenLifetime, NULL); + else if(strcmp(field, "maxSessions") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT16](&ctx, &config->maxSessions, NULL); + else if(strcmp(field, "maxSessionTimeout") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_DOUBLE](&ctx, &config->maxSessionTimeout, NULL); + else if(strcmp(field, "maxNodesPerRead") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerRead, NULL); + else if(strcmp(field, "maxNodesPerWrite") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerWrite, NULL); + else if(strcmp(field, "maxNodesPerMethodCall") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerMethodCall, NULL); + else if(strcmp(field, "maxNodesPerBrowse") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerBrowse, NULL); + else if(strcmp(field, "maxNodesPerRegisterNodes") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerRegisterNodes, NULL); + else if(strcmp(field, "maxNodesPerTranslateBrowsePathsToNodeIds") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerTranslateBrowsePathsToNodeIds, NULL); + else if(strcmp(field, "maxNodesPerNodeManagement") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerNodeManagement, NULL); + else if(strcmp(field, "maxMonitoredItemsPerCall") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxMonitoredItemsPerCall, NULL); + else if(strcmp(field, "maxReferencesPerNode") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxReferencesPerNode, NULL); + else if(strcmp(field, "reverseReconnectInterval") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->reverseReconnectInterval, NULL); + +#if UA_MULTITHREADING >= 100 + else if(strcmp(field, "asyncOperationTimeout") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_DOUBLE](&ctx, &config->asyncOperationTimeout, NULL); + else if(strcmp(field, "maxAsyncOperationQueueSize") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT64](&ctx, &config->maxAsyncOperationQueueSize, NULL); +#endif + +#ifdef UA_ENABLE_DISCOVERY + else if(strcmp(field, "discoveryCleanupTimeout") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->discoveryCleanupTimeout, NULL); +#ifdef UA_ENABLE_DISCOVERY_MULTICAST + else if(strcmp(field, "mdnsEnabled") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->mdnsEnabled, NULL); + else if(strcmp(field, "mdns") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_MDNSCONFIGURATION](&ctx, config, NULL); +#if !defined(UA_HAS_GETIFADDR) + else if(strcmp(field, "mdnsIpAddressList") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32ARRAY](&ctx, &config->mdnsIpAddressList, &config->mdnsIpAddressListSize); +#endif +#endif +#endif + +#ifdef UA_ENABLE_SUBSCRIPTIONS + else if(strcmp(field, "subscriptionsEnabled") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->subscriptionsEnabled, NULL); + else if(strcmp(field, "subscriptions") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SUBSCRIPTIONCONFIGURATION](&ctx, config, NULL); +# endif + +#ifdef UA_ENABLE_HISTORIZING + else if(strcmp(field, "historizingEnabled") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->historizingEnabled, NULL); + else if(strcmp(field, "historizing") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_HISTORIZINGCONFIGURATION](&ctx, config, NULL); +#endif + +#ifdef UA_ENABLE_PUBSUB + else if(strcmp(field, "pubsubEnabled") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->pubsubEnabled, NULL); + else if(strcmp(field, "pubsub") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_PUBSUBCONFIGURATION](&ctx, config, NULL); +#endif +#ifdef UA_ENABLE_ENCRYPTION + else if(strcmp(field, "securityPolicies") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SECURITYPOLICIES](&ctx, config, NULL); + else if(strcmp(field, "secureChannelPKI") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SECURITYPKI](&ctx, &config->secureChannelPKI, NULL); + else if(strcmp(field, "sessionPKI") == 0) + retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SECURITYPKI](&ctx, &config->sessionPKI, NULL); +#endif + else { + UA_LOG_WARNING(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Field name '%s' unknown or misspelled. Maybe the feature is not enabled either.", field); + } + UA_free(field); + if(retval != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "An error occurred while parsing the configuration file."); + return retval; + } + break; + } + default: + break; + } + ctx.index += 1; + } + return retval; +} + +UA_Server * +UA_Server_newFromFile(const UA_ByteString json_config) { + UA_ServerConfig config; + memset(&config, 0, sizeof(UA_ServerConfig)); + UA_StatusCode res = UA_ServerConfig_setDefault(&config); + res |= parseJSONConfig(&config, json_config); + if(res != UA_STATUSCODE_GOOD) + return NULL; + return UA_Server_newWithConfig(&config); +} + +UA_StatusCode +UA_ServerConfig_updateFromFile(UA_ServerConfig *config, const UA_ByteString json_config) { + UA_StatusCode res = parseJSONConfig(config, json_config); + return res; +} + +#ifdef UA_ENABLE_ENCRYPTION +static UA_ByteString +loadCertificateFile(const char *const path) { + UA_ByteString fileContents = UA_STRING_NULL; + + /* Open the file */ + FILE *fp = fopen(path, "rb"); + if(!fp) { + errno = 0; /* We read errno also from the tcp layer... */ + return fileContents; + } + + /* Get the file length, allocate the data and read */ + fseek(fp, 0, SEEK_END); + fileContents.length = (size_t)ftell(fp); + fileContents.data = (UA_Byte *)UA_malloc(fileContents.length * sizeof(UA_Byte)); + if(fileContents.data) { + fseek(fp, 0, SEEK_SET); + size_t read = fread(fileContents.data, sizeof(UA_Byte), fileContents.length, fp); + if(read != fileContents.length) + UA_ByteString_clear(&fileContents); + } else { + fileContents.length = 0; + } + fclose(fp); + + return fileContents; +} +#endif + +/**** amalgamated original file "/plugins/historydata/ua_history_data_backend_memory.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) + */ + + +#include +#include + +typedef struct { + UA_DateTime timestamp; + UA_DataValue value; +} UA_DataValueMemoryStoreItem; + +static void +UA_DataValueMemoryStoreItem_clear(UA_DataValueMemoryStoreItem* item) { + UA_DateTime_clear(&item->timestamp); + UA_DataValue_clear(&item->value); +} + +typedef struct { + UA_NodeId nodeId; + UA_DataValueMemoryStoreItem **dataStore; + size_t storeEnd; + size_t storeSize; + /* New field useful for circular buffer management */ + size_t lastInserted; +} UA_NodeIdStoreContextItem_backend_memory; + +static void +UA_NodeIdStoreContextItem_clear(UA_NodeIdStoreContextItem_backend_memory* item) { + UA_NodeId_clear(&item->nodeId); + for (size_t i = 0; i < item->storeEnd; ++i) { + UA_DataValueMemoryStoreItem_clear(item->dataStore[i]); + UA_free(item->dataStore[i]); + } + UA_free(item->dataStore); +} + +typedef struct { + UA_NodeIdStoreContextItem_backend_memory *dataStore; + size_t storeEnd; + size_t storeSize; + size_t initialStoreSize; +} UA_MemoryStoreContext; + +static void +UA_MemoryStoreContext_clear(UA_MemoryStoreContext* ctx) { + for (size_t i = 0; i < ctx->storeEnd; ++i) { + UA_NodeIdStoreContextItem_clear(&ctx->dataStore[i]); + } + UA_free(ctx->dataStore); + memset(ctx, 0, sizeof(UA_MemoryStoreContext)); +} + +static UA_NodeIdStoreContextItem_backend_memory * +getNewNodeIdContext_backend_memory(UA_MemoryStoreContext* context, + UA_Server *server, + const UA_NodeId *nodeId) { + UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext*)context; + if (ctx->storeEnd >= ctx->storeSize) { + size_t newStoreSize = ctx->storeSize * 2; + if (newStoreSize == 0) + return NULL; + ctx->dataStore = (UA_NodeIdStoreContextItem_backend_memory*)UA_realloc(ctx->dataStore, (newStoreSize * sizeof(UA_NodeIdStoreContextItem_backend_memory))); + if (!ctx->dataStore) { + ctx->storeSize = 0; + return NULL; + } + ctx->storeSize = newStoreSize; + } + UA_NodeIdStoreContextItem_backend_memory *item = &ctx->dataStore[ctx->storeEnd]; + UA_NodeId_copy(nodeId, &item->nodeId); + UA_DataValueMemoryStoreItem ** store = (UA_DataValueMemoryStoreItem **)UA_calloc(ctx->initialStoreSize, sizeof(UA_DataValueMemoryStoreItem*)); + if (!store) { + UA_NodeIdStoreContextItem_clear(item); + return NULL; + } + item->dataStore = store; + item->storeSize = ctx->initialStoreSize; + item->storeEnd = 0; + ++ctx->storeEnd; + return item; +} + +static UA_NodeIdStoreContextItem_backend_memory * +getNodeIdStoreContextItem_backend_memory(UA_MemoryStoreContext* context, + UA_Server *server, + const UA_NodeId *nodeId) +{ + for (size_t i = 0; i < context->storeEnd; ++i) { + if (UA_NodeId_equal(nodeId, &context->dataStore[i].nodeId)) { + return &context->dataStore[i]; + } + } + return getNewNodeIdContext_backend_memory(context, server, nodeId); +} + +static UA_Boolean +binarySearch_backend_memory(const UA_NodeIdStoreContextItem_backend_memory* item, + const UA_DateTime timestamp, + size_t *index) { + if (item->storeEnd == 0) { + *index = item->storeEnd; + return false; + } + size_t min = 0; + size_t max = item->storeEnd - 1; + while (min <= max) { + *index = (min + max) / 2; + if (item->dataStore[*index]->timestamp == timestamp) { + return true; + } else if (item->dataStore[*index]->timestamp < timestamp) { + if (*index == item->storeEnd - 1) { + *index = item->storeEnd; + return false; + } + min = *index + 1; + } else { + if (*index == 0) + return false; + max = *index - 1; + } + } + *index = min; + return false; + +} + +static size_t +resultSize_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId, + size_t startIndex, + size_t endIndex) { + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + if (item->storeEnd == 0 + || startIndex == item->storeEnd + || endIndex == item->storeEnd) + return 0; + return endIndex - startIndex + 1; +} + +static size_t +getDateTimeMatch_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId, + const UA_DateTime timestamp, + const MatchStrategy strategy) { + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + size_t current; + UA_Boolean retval = binarySearch_backend_memory(item, timestamp, ¤t); + + if ((strategy == MATCH_EQUAL + || strategy == MATCH_EQUAL_OR_AFTER + || strategy == MATCH_EQUAL_OR_BEFORE) + && retval) + return current; + switch (strategy) { + case MATCH_AFTER: + if (retval) + return current+1; + return current; + case MATCH_EQUAL_OR_AFTER: + return current; + case MATCH_EQUAL_OR_BEFORE: + // retval == true aka "equal" is handled before + // Fall through if !retval + case MATCH_BEFORE: + if (current > 0) + return current-1; + else + return item->storeEnd; + default: + break; + } + return item->storeEnd; +} + + +static UA_StatusCode +serverSetHistoryData_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId, + UA_Boolean historizing, + const UA_DataValue *value) +{ + UA_NodeIdStoreContextItem_backend_memory *item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + + if (item->storeEnd >= item->storeSize) { + size_t newStoreSize = item->storeSize == 0 ? INITIAL_MEMORY_STORE_SIZE : item->storeSize * 2; + item->dataStore = (UA_DataValueMemoryStoreItem **)UA_realloc(item->dataStore, (newStoreSize * sizeof(UA_DataValueMemoryStoreItem*))); + if (!item->dataStore) { + item->storeSize = 0; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + item->storeSize = newStoreSize; + } + UA_DateTime timestamp = 0; + if (value->hasSourceTimestamp) { + timestamp = value->sourceTimestamp; + } else if (value->hasServerTimestamp) { + timestamp = value->serverTimestamp; + } else { + timestamp = UA_DateTime_now(); + } + UA_DataValueMemoryStoreItem *newItem = (UA_DataValueMemoryStoreItem *)UA_calloc(1, sizeof(UA_DataValueMemoryStoreItem)); + newItem->timestamp = timestamp; + UA_DataValue_copy(value, &newItem->value); + if(!newItem->value.hasServerTimestamp) { + newItem->value.serverTimestamp = timestamp; + newItem->value.hasServerTimestamp = true; + } + size_t index = getDateTimeMatch_backend_memory(server, + context, + NULL, + NULL, + nodeId, + timestamp, + MATCH_EQUAL_OR_AFTER); + if (item->storeEnd > 0 && index < item->storeEnd) { + memmove(&item->dataStore[index+1], &item->dataStore[index], sizeof(UA_DataValueMemoryStoreItem*) * (item->storeEnd - index)); + } + item->dataStore[index] = newItem; + ++item->storeEnd; + return UA_STATUSCODE_GOOD; +} + +static void +UA_MemoryStoreContext_delete(UA_MemoryStoreContext* ctx) { + UA_MemoryStoreContext_clear(ctx); + UA_free(ctx); +} + +static size_t +getEnd_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId) { + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + return item->storeEnd; +} + +static size_t +lastIndex_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId) { + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + if (item->storeEnd == 0) + return 0; + return item->storeEnd - 1; +} + +static size_t +firstIndex_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId) { + return 0; +} + +static UA_Boolean +boundSupported_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId) { + return true; +} + +static UA_Boolean +timestampsToReturnSupported_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_TimestampsToReturn timestampsToReturn) { + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + if (item->storeEnd == 0) { + return true; + } + if (timestampsToReturn == UA_TIMESTAMPSTORETURN_NEITHER + || timestampsToReturn == UA_TIMESTAMPSTORETURN_INVALID + || (timestampsToReturn == UA_TIMESTAMPSTORETURN_SERVER + && !item->dataStore[0]->value.hasServerTimestamp) + || (timestampsToReturn == UA_TIMESTAMPSTORETURN_SOURCE + && !item->dataStore[0]->value.hasSourceTimestamp) + || (timestampsToReturn == UA_TIMESTAMPSTORETURN_BOTH + && !(item->dataStore[0]->value.hasSourceTimestamp + && item->dataStore[0]->value.hasServerTimestamp))) { + return false; + } + return true; +} + +static const UA_DataValue* +getDataValue_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId, size_t index) { + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + return &item->dataStore[index]->value; +} + +static UA_StatusCode +UA_DataValue_backend_copyRange(const UA_DataValue *src, UA_DataValue *dst, + const UA_NumericRange range) +{ + memcpy(dst, src, sizeof(UA_DataValue)); + if (src->hasValue) + return UA_Variant_copyRange(&src->value, &dst->value, range); + return UA_STATUSCODE_BADDATAUNAVAILABLE; +} + +static UA_StatusCode +copyDataValues_backend_memory(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId * nodeId, + size_t startIndex, + size_t endIndex, + UA_Boolean reverse, + size_t maxValues, + UA_NumericRange range, + UA_Boolean releaseContinuationPoints, + const UA_ByteString *continuationPoint, + UA_ByteString *outContinuationPoint, + size_t * providedValues, + UA_DataValue * values) +{ + size_t skip = 0; + if (continuationPoint->length > 0) { + if (continuationPoint->length == sizeof(size_t)) { + skip = *((size_t*)(continuationPoint->data)); + } else { + return UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; + } + } + const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); + size_t index = startIndex; + size_t counter = 0; + size_t skipedValues = 0; + if (reverse) { + while (index >= endIndex && index < item->storeEnd && counter < maxValues) { + if (skipedValues++ >= skip) { + if (range.dimensionsSize > 0) { + UA_DataValue_backend_copyRange(&item->dataStore[index]->value, &values[counter], range); + } else { + UA_DataValue_copy(&item->dataStore[index]->value, &values[counter]); + } + ++counter; + } + --index; + } + } else { + while (index <= endIndex && counter < maxValues) { + if (skipedValues++ >= skip) { + if (range.dimensionsSize > 0) { + UA_DataValue_backend_copyRange(&item->dataStore[index]->value, &values[counter], range); + } else { + UA_DataValue_copy(&item->dataStore[index]->value, &values[counter]); + } + ++counter; + } + ++index; + } + } + + if (providedValues) + *providedValues = counter; + + if ((!reverse && (endIndex-startIndex-skip+1) > counter) || (reverse && (startIndex-endIndex-skip+1) > counter)) { + outContinuationPoint->length = sizeof(size_t); + size_t t = sizeof(size_t); + outContinuationPoint->data = (UA_Byte*)UA_malloc(t); + *((size_t*)(outContinuationPoint->data)) = skip + counter; + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +insertDataValue_backend_memory(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DataValue *value) +{ + if (!value->hasSourceTimestamp && !value->hasServerTimestamp) + return UA_STATUSCODE_BADINVALIDTIMESTAMP; + const UA_DateTime timestamp = value->hasSourceTimestamp ? value->sourceTimestamp : value->serverTimestamp; + UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)hdbContext, server, nodeId); + + size_t index = getDateTimeMatch_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + timestamp, + MATCH_EQUAL_OR_AFTER); + if (item->storeEnd != index && item->dataStore[index]->timestamp == timestamp) + return UA_STATUSCODE_BADENTRYEXISTS; + + if (item->storeEnd >= item->storeSize) { + size_t newStoreSize = item->storeSize == 0 ? INITIAL_MEMORY_STORE_SIZE : item->storeSize * 2; + item->dataStore = (UA_DataValueMemoryStoreItem **)UA_realloc(item->dataStore, (newStoreSize * sizeof(UA_DataValueMemoryStoreItem*))); + if (!item->dataStore) { + item->storeSize = 0; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + item->storeSize = newStoreSize; + } + UA_DataValueMemoryStoreItem *newItem = (UA_DataValueMemoryStoreItem *)UA_calloc(1, sizeof(UA_DataValueMemoryStoreItem)); + newItem->timestamp = timestamp; + UA_DataValue_copy(value, &newItem->value); + if(!newItem->value.hasServerTimestamp) { + newItem->value.serverTimestamp = timestamp; + newItem->value.hasServerTimestamp = true; + } + + if (item->storeEnd > 0 && index < item->storeEnd) { + memmove(&item->dataStore[index+1], &item->dataStore[index], sizeof(UA_DataValueMemoryStoreItem*) * (item->storeEnd - index)); + } + item->dataStore[index] = newItem; + ++item->storeEnd; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +replaceDataValue_backend_memory(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DataValue *value) +{ + if (!value->hasSourceTimestamp && !value->hasServerTimestamp) + return UA_STATUSCODE_BADINVALIDTIMESTAMP; + const UA_DateTime timestamp = value->hasSourceTimestamp ? value->sourceTimestamp : value->serverTimestamp; + UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)hdbContext, server, nodeId); + + size_t index = getDateTimeMatch_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + timestamp, + MATCH_EQUAL); + if (index == item->storeEnd) + return UA_STATUSCODE_BADNOENTRYEXISTS; + UA_DataValue_clear(&item->dataStore[index]->value); + UA_DataValue_copy(value, &item->dataStore[index]->value); + if(!item->dataStore[index]->value.hasServerTimestamp) { + item->dataStore[index]->value.serverTimestamp = timestamp; + item->dataStore[index]->value.hasServerTimestamp = true; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +updateDataValue_backend_memory(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + const UA_DataValue *value) +{ + // we first try to replace, because it is cheap + UA_StatusCode ret = replaceDataValue_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + value); + if (ret == UA_STATUSCODE_GOOD) + return UA_STATUSCODE_GOODENTRYREPLACED; + + ret = insertDataValue_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + value); + if (ret == UA_STATUSCODE_GOOD) + return UA_STATUSCODE_GOODENTRYINSERTED; + + return ret; +} + +static UA_StatusCode +removeDataValue_backend_memory(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_DateTime startTimestamp, + UA_DateTime endTimestamp) +{ + UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)hdbContext, server, nodeId); + size_t storeEnd = item->storeEnd; + // The first index which will be deleted + size_t index1; + // the first index which is not deleted + size_t index2; + if (startTimestamp > endTimestamp) { + return UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED; + } + if (startTimestamp == endTimestamp) { + index1 = getDateTimeMatch_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + startTimestamp, + MATCH_EQUAL); + if (index1 == storeEnd) + return UA_STATUSCODE_BADNODATA; + index2 = index1 + 1; + } else { + index1 = getDateTimeMatch_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + startTimestamp, + MATCH_EQUAL_OR_AFTER); + index2 = getDateTimeMatch_backend_memory(server, + hdbContext, + sessionId, + sessionContext, + nodeId, + endTimestamp, + MATCH_BEFORE); + if (index2 == storeEnd || index1 == storeEnd || index1 > index2 ) + return UA_STATUSCODE_BADNODATA; + ++index2; + } +#ifndef __clang_analyzer__ + for (size_t i = index1; i < index2; ++i) { + UA_DataValueMemoryStoreItem_clear(item->dataStore[i]); + UA_free(item->dataStore[i]); + } + memmove(&item->dataStore[index1], &item->dataStore[index2], sizeof(UA_DataValueMemoryStoreItem*) * (item->storeEnd - index2)); + item->storeEnd -= index2 - index1; +#else + (void)index1; + (void)index2; +#endif + return UA_STATUSCODE_GOOD; +} + +static void +deleteMembers_backend_memory(UA_HistoryDataBackend *backend) +{ + if (backend == NULL || backend->context == NULL) + return; + UA_MemoryStoreContext_clear((UA_MemoryStoreContext*)backend->context); + UA_free(backend->context); +} + + + +UA_HistoryDataBackend +UA_HistoryDataBackend_Memory(size_t initialNodeIdStoreSize, size_t initialDataStoreSize) { + if (initialNodeIdStoreSize == 0) + initialNodeIdStoreSize = 1; + if (initialDataStoreSize == 0) + initialDataStoreSize = 1; + UA_HistoryDataBackend result; + memset(&result, 0, sizeof(UA_HistoryDataBackend)); + UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext *)UA_calloc(1, sizeof(UA_MemoryStoreContext)); + if (!ctx) + return result; + ctx->dataStore = (UA_NodeIdStoreContextItem_backend_memory*)UA_calloc(initialNodeIdStoreSize, sizeof(UA_NodeIdStoreContextItem_backend_memory)); + ctx->initialStoreSize = initialDataStoreSize; + ctx->storeSize = initialNodeIdStoreSize; + ctx->storeEnd = 0; + result.serverSetHistoryData = &serverSetHistoryData_backend_memory; + result.resultSize = &resultSize_backend_memory; + result.getEnd = &getEnd_backend_memory; + result.lastIndex = &lastIndex_backend_memory; + result.firstIndex = &firstIndex_backend_memory; + result.getDateTimeMatch = &getDateTimeMatch_backend_memory; + result.copyDataValues = ©DataValues_backend_memory; + result.getDataValue = &getDataValue_backend_memory; + result.boundSupported = &boundSupported_backend_memory; + result.timestampsToReturnSupported = ×tampsToReturnSupported_backend_memory; + result.insertDataValue = &insertDataValue_backend_memory; + result.updateDataValue = &updateDataValue_backend_memory; + result.replaceDataValue = &replaceDataValue_backend_memory; + result.removeDataValue = &removeDataValue_backend_memory; + result.deleteMembers = &deleteMembers_backend_memory; + result.getHistoryData = NULL; + result.context = ctx; + return result; +} + +void +UA_HistoryDataBackend_Memory_clear(UA_HistoryDataBackend *backend) +{ + UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext*)backend->context; + UA_MemoryStoreContext_delete(ctx); + memset(backend, 0, sizeof(UA_HistoryDataBackend)); +} + +/* Circular buffer implementation */ + +static UA_NodeIdStoreContextItem_backend_memory * +getNewNodeIdContext_backend_memory_Circular(UA_MemoryStoreContext *context, + UA_Server *server, + const UA_NodeId *nodeId) { + UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext *)context; + if(ctx->storeEnd >= ctx->storeSize) { + return NULL; + } + UA_NodeIdStoreContextItem_backend_memory *item = &ctx->dataStore[ctx->storeEnd]; + UA_NodeId_copy(nodeId, &item->nodeId); + UA_DataValueMemoryStoreItem **store = (UA_DataValueMemoryStoreItem **)UA_calloc(ctx->initialStoreSize, sizeof(UA_DataValueMemoryStoreItem *)); + if(!store) { + UA_NodeIdStoreContextItem_clear(item); + return NULL; + } + item->dataStore = store; + item->storeSize = ctx->initialStoreSize; + item->storeEnd = 0; + ++ctx->storeEnd; + return item; +} + +static UA_NodeIdStoreContextItem_backend_memory * +getNodeIdStoreContextItem_backend_memory_Circular(UA_MemoryStoreContext *context, + UA_Server *server, + const UA_NodeId *nodeId) { + for(size_t i = 0; i < context->storeEnd; ++i) { + if(UA_NodeId_equal(nodeId, &context->dataStore[i].nodeId)) { + return &context->dataStore[i]; + } + } + return getNewNodeIdContext_backend_memory_Circular(context, server, nodeId); +} + +static UA_StatusCode +serverSetHistoryData_backend_memory_Circular(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_Boolean historizing, + const UA_DataValue *value) { + UA_NodeIdStoreContextItem_backend_memory *item = getNodeIdStoreContextItem_backend_memory_Circular((UA_MemoryStoreContext *)context, server, nodeId); + if(item == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + if(item->lastInserted >= item->storeSize) { + /* If the buffer size is overcomed, push new elements from the start of the buffer */ + item->lastInserted = 0; + } + UA_DateTime timestamp = 0; + if(value->hasSourceTimestamp) { + timestamp = value->sourceTimestamp; + } else if(value->hasServerTimestamp) { + timestamp = value->serverTimestamp; + } else { + timestamp = UA_DateTime_now(); + } + UA_DataValueMemoryStoreItem *newItem = (UA_DataValueMemoryStoreItem *)UA_calloc(1, sizeof(UA_DataValueMemoryStoreItem)); + newItem->timestamp = timestamp; + UA_DataValue_copy(value, &newItem->value); + if(!newItem->value.hasServerTimestamp) { + newItem->value.serverTimestamp = timestamp; + newItem->value.hasServerTimestamp = true; + } + + + /* This implementation does NOT sort values by timestamp */ + + if(item->dataStore[item->lastInserted] != NULL) { + UA_DataValueMemoryStoreItem_clear(item->dataStore[item->lastInserted]); + UA_free(item->dataStore[item->lastInserted]); + } + item->dataStore[item->lastInserted] = newItem; + ++item->lastInserted; + + if(item->storeEnd < item->storeSize) { + ++item->storeEnd; + } + + return UA_STATUSCODE_GOOD; +} + +static size_t +getResultSize_service_Circular(const UA_HistoryDataBackend *backend, UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, UA_DateTime start, + UA_DateTime end, UA_UInt32 numValuesPerNode, + UA_Boolean returnBounds, size_t *startIndex, + size_t *endIndex, UA_Boolean *addFirst, + UA_Boolean *addLast, UA_Boolean *reverse) { + *startIndex = 0; + *endIndex = backend->lastIndex(server, backend->context, sessionId, sessionContext, nodeId); + *addFirst = false; + *addLast = false; + if(end == LLONG_MIN) { + *reverse = false; + } else if(start == LLONG_MIN) { + *reverse = true; + } else { + *reverse = end < start; + } + + size_t size = 0; + const UA_NodeIdStoreContextItem_backend_memory *item = getNodeIdStoreContextItem_backend_memory_Circular((UA_MemoryStoreContext *)backend->context, server, nodeId); + if(item == NULL) { + size = 0; + } else { + size = item->storeEnd; + } + return size; +} + +static UA_StatusCode +getHistoryData_service_Circular(UA_Server *server, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_HistoryDataBackend *backend, + const UA_DateTime start, + const UA_DateTime end, + const UA_NodeId *nodeId, + size_t maxSize, + UA_UInt32 numValuesPerNode, + UA_Boolean returnBounds, + UA_TimestampsToReturn timestampsToReturn, + UA_NumericRange range, + UA_Boolean releaseContinuationPoints, + const UA_ByteString *continuationPoint, + UA_ByteString *outContinuationPoint, + UA_HistoryData *historyData) { + size_t *resultSize = &historyData->dataValuesSize; + UA_DataValue **result = &historyData->dataValues; + size_t skip = 0; + UA_ByteString backendContinuationPoint; + UA_ByteString_init(&backendContinuationPoint); + if(continuationPoint->length > 0) { + if(continuationPoint->length < sizeof(size_t)) + return UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; + skip = *((size_t *)(continuationPoint->data)); + backendContinuationPoint.length = continuationPoint->length - sizeof(size_t); + backendContinuationPoint.data = continuationPoint->data + sizeof(size_t); + } + size_t storeEnd = backend->getEnd(server, backend->context, sessionId, sessionContext, nodeId); + size_t startIndex; + size_t endIndex; + UA_Boolean addFirst; + UA_Boolean addLast; + UA_Boolean reverse; + size_t _resultSize = getResultSize_service_Circular(backend, + server, + sessionId, + sessionContext, + nodeId, + start, + end, + numValuesPerNode == 0 ? 0 : numValuesPerNode + (UA_UInt32)skip, + returnBounds, + &startIndex, + &endIndex, + &addFirst, + &addLast, + &reverse); + *resultSize = _resultSize - skip; + if(*resultSize > maxSize) { + *resultSize = maxSize; + } + UA_DataValue *outResult = (UA_DataValue *)UA_Array_new(*resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); + if(!outResult) { + *resultSize = 0; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + *result = outResult; + size_t counter = 0; + if(addFirst) { + if(skip == 0) { + outResult[counter].hasStatus = true; + outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; + outResult[counter].hasSourceTimestamp = true; + if(start == LLONG_MIN) { + outResult[counter].sourceTimestamp = end; + } else { + outResult[counter].sourceTimestamp = start; + } + ++counter; + } + } + UA_ByteString backendOutContinuationPoint; + UA_ByteString_init(&backendOutContinuationPoint); + if(endIndex != storeEnd && startIndex != storeEnd) { + size_t retval = 0; + size_t valueSize = *resultSize - counter; + if(valueSize + skip > _resultSize - addFirst - addLast) { + if(skip == 0) { + valueSize = _resultSize - addFirst - addLast; + } else { + valueSize = _resultSize - skip - addLast; + } + } + UA_StatusCode ret = UA_STATUSCODE_GOOD; + if(valueSize > 0) + ret = backend->copyDataValues(server, + backend->context, + sessionId, + sessionContext, + nodeId, + startIndex, + endIndex, + reverse, + valueSize, + range, + releaseContinuationPoints, + &backendContinuationPoint, + &backendOutContinuationPoint, + &retval, + &outResult[counter]); + if(ret != UA_STATUSCODE_GOOD) { + UA_Array_delete(outResult, *resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); + *result = NULL; + *resultSize = 0; + return ret; + } + counter += retval; + } + if(addLast && counter < *resultSize) { + outResult[counter].hasStatus = true; + outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; + outResult[counter].hasSourceTimestamp = true; + if(start == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { + outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp - UA_DATETIME_SEC; + } else if(end == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { + outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp + UA_DATETIME_SEC; + } else { + outResult[counter].sourceTimestamp = end; + } + } + // there are more values + if(skip + *resultSize < _resultSize + // there are not more values for this request, but there are more values in + // database + || (backendOutContinuationPoint.length > 0 && numValuesPerNode != 0) + // we deliver just one value which is a FIRST/LAST value + || (skip == 0 && addFirst == true && *resultSize == 1)) { + if(UA_ByteString_allocBuffer(outContinuationPoint, backendOutContinuationPoint.length + sizeof(size_t)) != UA_STATUSCODE_GOOD) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + *((size_t *)(outContinuationPoint->data)) = skip + *resultSize; + if(backendOutContinuationPoint.length > 0) + memcpy(outContinuationPoint->data + sizeof(size_t), backendOutContinuationPoint.data, backendOutContinuationPoint.length); + } + UA_ByteString_clear(&backendOutContinuationPoint); + return UA_STATUSCODE_GOOD; +} + +UA_HistoryDataBackend +UA_HistoryDataBackend_Memory_Circular(size_t initialNodeIdStoreSize, size_t initialDataStoreSize) { + UA_HistoryDataBackend result = UA_HistoryDataBackend_Memory(initialNodeIdStoreSize, initialDataStoreSize); + result.serverSetHistoryData = &serverSetHistoryData_backend_memory_Circular; + result.getHistoryData = &getHistoryData_service_Circular; + return result; +} + +/**** amalgamated original file "/plugins/historydata/ua_history_data_gathering_default.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) + */ + + +#include + +typedef struct { + UA_NodeId nodeId; + UA_HistorizingNodeIdSettings setting; + UA_MonitoredItemCreateResult monitoredResult; +} UA_NodeIdStoreContextItem_gathering_default; + +typedef struct { + UA_NodeIdStoreContextItem_gathering_default *dataStore; + size_t storeEnd; + size_t storeSize; +} UA_NodeIdStoreContext; + +static void +dataChangeCallback_gathering_default(UA_Server *server, + UA_UInt32 monitoredItemId, + void *monitoredItemContext, + const UA_NodeId *nodeId, + void *nodeContext, + UA_UInt32 attributeId, + const UA_DataValue *value) +{ + UA_NodeIdStoreContextItem_gathering_default *context = (UA_NodeIdStoreContextItem_gathering_default*)monitoredItemContext; + context->setting.historizingBackend.serverSetHistoryData(server, + context->setting.historizingBackend.context, + NULL, + NULL, + nodeId, + UA_TRUE, + value); +} + +static UA_NodeIdStoreContextItem_gathering_default* +getNodeIdStoreContextItem_gathering_default(UA_NodeIdStoreContext *context, + const UA_NodeId *nodeId) +{ + for (size_t i = 0; i < context->storeEnd; ++i) { + if (UA_NodeId_equal(&context->dataStore[i].nodeId, nodeId)) { + return &context->dataStore[i]; + } + } + return NULL; +} + +static UA_StatusCode +startPoll(UA_Server *server, UA_NodeIdStoreContextItem_gathering_default *item) +{ + UA_MonitoredItemCreateRequest monitorRequest = + UA_MonitoredItemCreateRequest_default(item->nodeId); + monitorRequest.requestedParameters.samplingInterval = (double)item->setting.pollingInterval; + monitorRequest.monitoringMode = UA_MONITORINGMODE_REPORTING; + item->monitoredResult = + UA_Server_createDataChangeMonitoredItem(server, + UA_TIMESTAMPSTORETURN_BOTH, + monitorRequest, + item, + &dataChangeCallback_gathering_default); + return item->monitoredResult.statusCode; +} + +static UA_StatusCode +stopPoll(UA_Server *server, UA_NodeIdStoreContextItem_gathering_default *item) +{ + UA_StatusCode retval = UA_Server_deleteMonitoredItem(server, item->monitoredResult.monitoredItemId); + UA_MonitoredItemCreateResult_init(&item->monitoredResult); + return retval; +} + +static UA_StatusCode +stopPoll_gathering_default(UA_Server *server, + void *context, + const UA_NodeId *nodeId) +{ + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext *)context; + UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); + if (!item) { + return UA_STATUSCODE_BADNODEIDUNKNOWN; + } + if (item->setting.historizingUpdateStrategy != UA_HISTORIZINGUPDATESTRATEGY_POLL) + return UA_STATUSCODE_BADNODEIDINVALID; + if (item->monitoredResult.monitoredItemId == 0) + return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + return stopPoll(server, item); +} + +static UA_StatusCode +startPoll_gathering_default(UA_Server *server, + void *context, + const UA_NodeId *nodeId) +{ + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext *)context; + UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); + if (!item) { + return UA_STATUSCODE_BADNODEIDUNKNOWN; + } + if (item->setting.historizingUpdateStrategy != UA_HISTORIZINGUPDATESTRATEGY_POLL) + return UA_STATUSCODE_BADNODEIDINVALID; + if (item->monitoredResult.monitoredItemId > 0) + return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; + return startPoll(server, item); +} + +static UA_StatusCode +registerNodeId_gathering_default(UA_Server *server, + void *context, + const UA_NodeId *nodeId, + const UA_HistorizingNodeIdSettings setting) +{ + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; + if (getNodeIdStoreContextItem_gathering_default(ctx, nodeId)) { + return UA_STATUSCODE_BADNODEIDEXISTS; + } + if (ctx->storeEnd >= ctx->storeSize) { + size_t newStoreSize = ctx->storeSize * 2; + ctx->dataStore = (UA_NodeIdStoreContextItem_gathering_default*)UA_realloc(ctx->dataStore, (newStoreSize * sizeof(UA_NodeIdStoreContextItem_gathering_default))); + if (!ctx->dataStore) { + ctx->storeSize = 0; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + memset(&ctx->dataStore[ctx->storeSize], 0, (newStoreSize - ctx->storeSize) * sizeof(UA_NodeIdStoreContextItem_gathering_default)); + ctx->storeSize = newStoreSize; + } + UA_NodeId_copy(nodeId, &ctx->dataStore[ctx->storeEnd].nodeId); + size_t current = ctx->storeEnd; + ctx->dataStore[current].setting = setting; + ++ctx->storeEnd; + return UA_STATUSCODE_GOOD; +} + +static const UA_HistorizingNodeIdSettings* +getHistorizingSetting_gathering_default(UA_Server *server, + void *context, + const UA_NodeId *nodeId) +{ + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; + UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); + if (item) { + return &item->setting; + } + return NULL; +} + +static void +deleteMembers_gathering_default(UA_HistoryDataGathering *gathering) +{ + if (gathering == NULL || gathering->context == NULL) + return; + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)gathering->context; + for (size_t i = 0; i < ctx->storeEnd; ++i) { + UA_NodeId_clear(&ctx->dataStore[i].nodeId); + // There is still a monitored item present for this gathering + // You need to remove it with UA_Server_deleteMonitoredItem + UA_assert(ctx->dataStore[i].monitoredResult.monitoredItemId == 0); + } + UA_free(ctx->dataStore); + UA_free(gathering->context); +} + +static UA_Boolean +updateNodeIdSetting_gathering_default(UA_Server *server, + void *context, + const UA_NodeId *nodeId, + const UA_HistorizingNodeIdSettings setting) +{ + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; + UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); + if (!item) { + return false; + } + stopPoll_gathering_default(server, context, nodeId); + item->setting = setting; + return true; +} + +static void +setValue_gathering_default(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_Boolean historizing, + const UA_DataValue *value) +{ + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; + UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); + if (!item) { + return; + } + if (item->setting.historizingUpdateStrategy == UA_HISTORIZINGUPDATESTRATEGY_VALUESET) { + item->setting.historizingBackend.serverSetHistoryData(server, + item->setting.historizingBackend.context, + sessionId, + sessionContext, + nodeId, + historizing, + value); + } +} + +UA_HistoryDataGathering +UA_HistoryDataGathering_Default(size_t initialNodeIdStoreSize) +{ + UA_HistoryDataGathering gathering; + memset(&gathering, 0, sizeof(UA_HistoryDataGathering)); + gathering.setValue = &setValue_gathering_default; + gathering.getHistorizingSetting = &getHistorizingSetting_gathering_default; + gathering.registerNodeId = ®isterNodeId_gathering_default; + gathering.startPoll = &startPoll_gathering_default; + gathering.stopPoll = &stopPoll_gathering_default; + gathering.deleteMembers = &deleteMembers_gathering_default; + gathering.updateNodeIdSetting = &updateNodeIdSetting_gathering_default; + UA_NodeIdStoreContext *context = (UA_NodeIdStoreContext*)UA_calloc(1, sizeof(UA_NodeIdStoreContext)); + context->storeEnd = 0; + context->storeSize = initialNodeIdStoreSize; + context->dataStore = (UA_NodeIdStoreContextItem_gathering_default*)UA_calloc(initialNodeIdStoreSize, sizeof(UA_NodeIdStoreContextItem_gathering_default)); + gathering.context = context; + return gathering; +} + +/* Circular buffer implementation */ + +static UA_StatusCode +registerNodeId_gathering_circular(UA_Server *server, void *context, + const UA_NodeId *nodeId, + const UA_HistorizingNodeIdSettings setting) { + UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext *)context; + if(getNodeIdStoreContextItem_gathering_default(ctx, nodeId)) { + return UA_STATUSCODE_BADNODEIDEXISTS; + } + if(ctx->storeEnd >= ctx->storeSize || !ctx->dataStore) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + UA_NodeId_copy(nodeId, &ctx->dataStore[ctx->storeEnd].nodeId); + size_t current = ctx->storeEnd; + ctx->dataStore[current].setting = setting; + ++ctx->storeEnd; + return UA_STATUSCODE_GOOD; +} + +UA_HistoryDataGathering +UA_HistoryDataGathering_Circular(size_t initialNodeIdStoreSize) { + UA_HistoryDataGathering gathering = UA_HistoryDataGathering_Default(initialNodeIdStoreSize); + gathering.registerNodeId = ®isterNodeId_gathering_circular; + return gathering; +} + +/**** amalgamated original file "/plugins/historydata/ua_history_database_default.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) + */ + + +#include + +typedef struct { + UA_HistoryDataGathering gathering; +} UA_HistoryDatabaseContext_default; + +static size_t +getResultSize_service_default(const UA_HistoryDataBackend* backend, + UA_Server *server, + const UA_NodeId *sessionId, + void* sessionContext, + const UA_NodeId *nodeId, + UA_DateTime start, + UA_DateTime end, + UA_UInt32 numValuesPerNode, + UA_Boolean returnBounds, + size_t *startIndex, + size_t *endIndex, + UA_Boolean *addFirst, + UA_Boolean *addLast, + UA_Boolean *reverse) +{ + size_t storeEnd = backend->getEnd(server, backend->context, sessionId, sessionContext, nodeId); + size_t firstIndex = backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId); + size_t lastIndex = backend->lastIndex(server, backend->context, sessionId, sessionContext, nodeId); + *startIndex = storeEnd; + *endIndex = storeEnd; + *addFirst = false; + *addLast = false; + if (end == LLONG_MIN) { + *reverse = false; + } else if (start == LLONG_MIN) { + *reverse = true; + } else { + *reverse = end < start; + } + UA_Boolean equal = start == end; + size_t size = 0; + if (lastIndex != storeEnd) { + if (equal) { + if (returnBounds) { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); + if (*startIndex == storeEnd) { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); + *addFirst = true; + } + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); + size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *startIndex, *endIndex); + } else { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL); + *endIndex = *startIndex; + if (*startIndex == storeEnd) + size = 0; + else + size = 1; + } + } else if (start == LLONG_MIN) { + *endIndex = firstIndex; + if (returnBounds) { + *addLast = true; + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_AFTER); + if (*startIndex == storeEnd) { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_BEFORE); + *addFirst = true; + } + } else { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_BEFORE); + } + size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *endIndex, *startIndex); + } else if (end == LLONG_MIN) { + *endIndex = lastIndex; + if (returnBounds) { + *addLast = true; + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); + if (*startIndex == storeEnd) { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); + *addFirst = true; + } + } else { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_AFTER); + } + size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *startIndex, *endIndex); + } else if (*reverse) { + if (returnBounds) { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_AFTER); + if (*startIndex == storeEnd) { + *addFirst = true; + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_BEFORE); + } + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_BEFORE); + if (*endIndex == storeEnd) { + *addLast = true; + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_AFTER); + } + } else { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_AFTER); + } + size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *endIndex, *startIndex); + } else { + if (returnBounds) { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); + if (*startIndex == storeEnd) { + *addFirst = true; + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); + } + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_AFTER); + if (*endIndex == storeEnd) { + *addLast = true; + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_BEFORE); + } + } else { + *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_AFTER); + *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_BEFORE); + } + size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *startIndex, *endIndex); + } + } else if (returnBounds) { + *addLast = true; + *addFirst = true; + } + + if (*addLast) + ++size; + if (*addFirst) + ++size; + + if (numValuesPerNode > 0 && size > numValuesPerNode) { + size = numValuesPerNode; + *addLast = false; + } + return size; +} + +static UA_StatusCode +getHistoryData_service_default(const UA_HistoryDataBackend* backend, + const UA_DateTime start, + const UA_DateTime end, + UA_Server *server, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId* nodeId, + size_t maxSize, + UA_UInt32 numValuesPerNode, + UA_Boolean returnBounds, + UA_TimestampsToReturn timestampsToReturn, + UA_NumericRange range, + UA_Boolean releaseContinuationPoints, + const UA_ByteString *continuationPoint, + UA_ByteString *outContinuationPoint, + size_t *resultSize, + UA_DataValue ** result) +{ + size_t skip = 0; + UA_ByteString backendContinuationPoint; + UA_ByteString_init(&backendContinuationPoint); + if (continuationPoint->length > 0) { + if (continuationPoint->length >= sizeof(size_t)) { + skip = *((size_t*)(continuationPoint->data)); + if (continuationPoint->length > 0) { + backendContinuationPoint.length = continuationPoint->length - sizeof(size_t); + backendContinuationPoint.data = continuationPoint->data + sizeof(size_t); + } + } else { + return UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; + } + } + + size_t storeEnd = backend->getEnd(server, backend->context, sessionId, sessionContext, nodeId); + size_t startIndex; + size_t endIndex; + UA_Boolean addFirst; + UA_Boolean addLast; + UA_Boolean reverse; + size_t _resultSize = getResultSize_service_default(backend, + server, + sessionId, + sessionContext, + nodeId, + start, + end, + numValuesPerNode == 0 ? 0 : numValuesPerNode + (UA_UInt32)skip, + returnBounds, + &startIndex, + &endIndex, + &addFirst, + &addLast, + &reverse); + *resultSize = _resultSize - skip; + if (*resultSize > maxSize) { + *resultSize = maxSize; + } + UA_DataValue *outResult= (UA_DataValue*)UA_Array_new(*resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); + if (!outResult) { + *resultSize = 0; + return UA_STATUSCODE_BADOUTOFMEMORY; + } + *result = outResult; + + size_t counter = 0; + if (addFirst) { + if (skip == 0) { + outResult[counter].hasStatus = true; + outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; + outResult[counter].hasSourceTimestamp = true; + if (start == LLONG_MIN) { + outResult[counter].sourceTimestamp = end; + } else { + outResult[counter].sourceTimestamp = start; + } + ++counter; + } + } + UA_ByteString backendOutContinuationPoint; + UA_ByteString_init(&backendOutContinuationPoint); + if (endIndex != storeEnd && startIndex != storeEnd) { + size_t retval = 0; + + size_t valueSize = *resultSize - counter; + if (valueSize + skip > _resultSize - addFirst - addLast) { + if (skip == 0) { + valueSize = _resultSize - addFirst - addLast; + } else { + valueSize = _resultSize - skip - addLast; + } + + } + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + if (valueSize > 0) + ret = backend->copyDataValues(server, + backend->context, + sessionId, + sessionContext, + nodeId, + startIndex, + endIndex, + reverse, + valueSize, + range, + releaseContinuationPoints, + &backendContinuationPoint, + &backendOutContinuationPoint, + &retval, + &outResult[counter]); + if (ret != UA_STATUSCODE_GOOD) { + UA_Array_delete(outResult, *resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); + *result = NULL; + *resultSize = 0; + return ret; + } + counter += retval; + } + if (addLast && counter < *resultSize) { + outResult[counter].hasStatus = true; + outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; + outResult[counter].hasSourceTimestamp = true; + if (start == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { + outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp - UA_DATETIME_SEC; + } else if (end == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { + outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp + UA_DATETIME_SEC; + } else { + outResult[counter].sourceTimestamp = end; + } + } + // there are more values + if (skip + *resultSize < _resultSize + // there are not more values for this request, but there are more values in database + || (backendOutContinuationPoint.length > 0 + && numValuesPerNode != 0) + // we deliver just one value which is a FIRST/LAST value + || (skip == 0 + && addFirst == true + && *resultSize == 1)) { + if(UA_ByteString_allocBuffer(outContinuationPoint, backendOutContinuationPoint.length + sizeof(size_t)) + != UA_STATUSCODE_GOOD) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + *((size_t*)(outContinuationPoint->data)) = skip + *resultSize; + if(backendOutContinuationPoint.length > 0) + memcpy(outContinuationPoint->data + sizeof(size_t), backendOutContinuationPoint.data, backendOutContinuationPoint.length); + } + UA_ByteString_clear(&backendOutContinuationPoint); + return UA_STATUSCODE_GOOD; +} + +static void +updateData_service_default(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_UpdateDataDetails *details, + UA_HistoryUpdateResult *result) +{ + UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)hdbContext; + UA_Byte accessLevel = 0; + UA_Server_readAccessLevel(server, + details->nodeId, + &accessLevel); + if (!(accessLevel & UA_ACCESSLEVELMASK_HISTORYWRITE)) { + result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + + UA_Boolean historizing = false; + UA_Server_readHistorizing(server, + details->nodeId, + &historizing); + if (!historizing) { + result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + return; + } + const UA_HistorizingNodeIdSettings *setting = ctx->gathering.getHistorizingSetting( + server, + ctx->gathering.context, + &details->nodeId); + + if (!setting) { + result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + return; + } + + UA_ServerConfig *config = UA_Server_getConfig(server); + result->operationResultsSize = details->updateValuesSize; + result->operationResults = (UA_StatusCode*)UA_Array_new(result->operationResultsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); + for (size_t i = 0; i < details->updateValuesSize; ++i) { + if (config->accessControl.allowHistoryUpdateUpdateData && + !config->accessControl.allowHistoryUpdateUpdateData(server, &config->accessControl, sessionId, sessionContext, + &details->nodeId, details->performInsertReplace, + &details->updateValues[i])) { + result->operationResults[i] = UA_STATUSCODE_BADUSERACCESSDENIED; + continue; + } + switch (details->performInsertReplace) { + case UA_PERFORMUPDATETYPE_INSERT: + if (!setting->historizingBackend.insertDataValue) { + result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; + continue; + } + result->operationResults[i] + = setting->historizingBackend.insertDataValue(server, + setting->historizingBackend.context, + sessionId, + sessionContext, + &details->nodeId, + &details->updateValues[i]); + continue; + case UA_PERFORMUPDATETYPE_REPLACE: + if (!setting->historizingBackend.replaceDataValue) { + result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; + continue; + } + result->operationResults[i] + = setting->historizingBackend.replaceDataValue(server, + setting->historizingBackend.context, + sessionId, + sessionContext, + &details->nodeId, + &details->updateValues[i]); + continue; + case UA_PERFORMUPDATETYPE_UPDATE: + if (!setting->historizingBackend.updateDataValue) { + result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; + continue; + } + result->operationResults[i] + = setting->historizingBackend.updateDataValue(server, + setting->historizingBackend.context, + sessionId, + sessionContext, + &details->nodeId, + &details->updateValues[i]); + continue; + default: + result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + continue; + } + } +} + + +static void +deleteRawModified_service_default(UA_Server *server, + void *hdbContext, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_DeleteRawModifiedDetails *details, + UA_HistoryUpdateResult *result) +{ + if (details->isDeleteModified) { + result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; + return; + } + UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)hdbContext; + UA_Byte accessLevel = 0; + UA_Server_readAccessLevel(server, + details->nodeId, + &accessLevel); + if (!(accessLevel & UA_ACCESSLEVELMASK_HISTORYWRITE)) { + result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + + UA_Boolean historizing = false; + UA_Server_readHistorizing(server, + details->nodeId, + &historizing); + if (!historizing) { + result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + return; + } + const UA_HistorizingNodeIdSettings *setting = ctx->gathering.getHistorizingSetting( + server, + ctx->gathering.context, + &details->nodeId); + + if (!setting) { + result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + return; + } + if (!setting->historizingBackend.removeDataValue) { + result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; + return; + } + + UA_ServerConfig *config = UA_Server_getConfig(server); + if (config->accessControl.allowHistoryUpdateDeleteRawModified && + !config->accessControl.allowHistoryUpdateDeleteRawModified(server, + &config->accessControl, sessionId, sessionContext, &details->nodeId, + details->startTime, details->endTime, details->isDeleteModified)) { + result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; + return; + } + + result->statusCode + = setting->historizingBackend.removeDataValue(server, + setting->historizingBackend.context, + sessionId, + sessionContext, + &details->nodeId, + details->startTime, + details->endTime); +} + +static void +readRaw_service_default(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_RequestHeader *requestHeader, + const UA_ReadRawModifiedDetails *historyReadDetails, + UA_TimestampsToReturn timestampsToReturn, + UA_Boolean releaseContinuationPoints, + size_t nodesToReadSize, + const UA_HistoryReadValueId *nodesToRead, + UA_HistoryReadResponse *response, + UA_HistoryData * const * const historyData) +{ + UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)context; + for (size_t i = 0; i < nodesToReadSize; ++i) { + UA_Byte accessLevel = 0; + UA_Server_readAccessLevel(server, + nodesToRead[i].nodeId, + &accessLevel); + if (!(accessLevel & UA_ACCESSLEVELMASK_HISTORYREAD)) { + response->results[i].statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; + continue; + } + + UA_Boolean historizing = false; + UA_Server_readHistorizing(server, + nodesToRead[i].nodeId, + &historizing); + if (!historizing) { + response->results[i].statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + continue; + } + + const UA_HistorizingNodeIdSettings *setting = ctx->gathering.getHistorizingSetting( + server, + ctx->gathering.context, + &nodesToRead[i].nodeId); + + if (!setting) { + response->results[i].statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; + continue; + } + + if (historyReadDetails->returnBounds && !setting->historizingBackend.boundSupported( + server, + setting->historizingBackend.context, + sessionId, + sessionContext, + &nodesToRead[i].nodeId)) { + response->results[i].statusCode = UA_STATUSCODE_BADBOUNDNOTSUPPORTED; + continue; + } + + if (!setting->historizingBackend.timestampsToReturnSupported( + server, + setting->historizingBackend.context, + sessionId, + sessionContext, + &nodesToRead[i].nodeId, + timestampsToReturn)) { + response->results[i].statusCode = UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED; + continue; + } + + UA_NumericRange range; + range.dimensionsSize = 0; + range.dimensions = NULL; + if (nodesToRead[i].indexRange.length > 0) { + UA_StatusCode rangeParseResult = UA_NumericRange_parse(&range, nodesToRead[i].indexRange); + if (rangeParseResult != UA_STATUSCODE_GOOD) { + response->results[i].statusCode = rangeParseResult; + continue; + } + } + + UA_StatusCode getHistoryDataStatusCode; + if (setting->historizingBackend.getHistoryData) { + getHistoryDataStatusCode = setting->historizingBackend.getHistoryData( + server, + sessionId, + sessionContext, + &setting->historizingBackend, + historyReadDetails->startTime, + historyReadDetails->endTime, + &nodesToRead[i].nodeId, + setting->maxHistoryDataResponseSize, + historyReadDetails->numValuesPerNode, + historyReadDetails->returnBounds, + timestampsToReturn, + range, + releaseContinuationPoints, + &nodesToRead[i].continuationPoint, + &response->results[i].continuationPoint, + historyData[i]); + } else { + getHistoryDataStatusCode = getHistoryData_service_default( + &setting->historizingBackend, + historyReadDetails->startTime, + historyReadDetails->endTime, + server, + sessionId, + sessionContext, + &nodesToRead[i].nodeId, + setting->maxHistoryDataResponseSize, + historyReadDetails->numValuesPerNode, + historyReadDetails->returnBounds, + timestampsToReturn, + range, + releaseContinuationPoints, + &nodesToRead[i].continuationPoint, + &response->results[i].continuationPoint, + &historyData[i]->dataValuesSize, + &historyData[i]->dataValues); + } + if (getHistoryDataStatusCode != UA_STATUSCODE_GOOD) { + response->results[i].statusCode = getHistoryDataStatusCode; + continue; + } + } + response->responseHeader.serviceResult = UA_STATUSCODE_GOOD; + return; +} + +static void +setValue_service_default(UA_Server *server, + void *context, + const UA_NodeId *sessionId, + void *sessionContext, + const UA_NodeId *nodeId, + UA_Boolean historizing, + const UA_DataValue *value) +{ + UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)context; + if (ctx->gathering.setValue) + ctx->gathering.setValue(server, + ctx->gathering.context, + sessionId, + sessionContext, + nodeId, + historizing, + value); +} + +static void +clear_service_default(UA_HistoryDatabase *hdb) +{ + if (hdb == NULL || hdb->context == NULL) + return; + UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)hdb->context; + ctx->gathering.deleteMembers(&ctx->gathering); + UA_free(ctx); +} + +UA_HistoryDatabase +UA_HistoryDatabase_default(UA_HistoryDataGathering gathering) +{ + UA_HistoryDatabase hdb; + memset(&hdb, 0, sizeof(UA_HistoryDatabase)); + UA_HistoryDatabaseContext_default *context = + (UA_HistoryDatabaseContext_default*) + UA_calloc(1, sizeof(UA_HistoryDatabaseContext_default)); + context->gathering = gathering; + hdb.context = context; + hdb.readRaw = &readRaw_service_default; + hdb.setValue = &setValue_service_default; + hdb.updateData = &updateData_service_default; + hdb.deleteRawModified = &deleteRawModified_service_default; + hdb.clear = clear_service_default; + return hdb; +} + +/**** amalgamated original file "/plugins/ua_log_syslog.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#if defined(__linux__) || defined(__unix__) + +#include +#include + +const char *syslogLevelNames[6] = {"trace", "debug", "info", + "warn", "error", "fatal"}; +const char *syslogCategoryNames[UA_LOGCATEGORIES] = + {"network", "channel", "session", "server", "client", + "userland", "securitypolicy", "eventloop", "pubsub", "discovery"}; + +#ifdef __clang__ +__attribute__((__format__(__printf__, 4 , 0))) +#endif +static void +UA_Log_Syslog_log(void *context, UA_LogLevel level, UA_LogCategory category, + const char *msg, va_list args) { + /* Assume that context is casted to UA_LogLevel */ + if(context != NULL && (UA_LogLevel)(uintptr_t)context > level) + return; + + int priority = LOG_INFO; + switch(level) { + case UA_LOGLEVEL_DEBUG: + priority = LOG_DEBUG; + break; + case UA_LOGLEVEL_INFO: + priority = LOG_INFO; + break; + case UA_LOGLEVEL_WARNING: + priority = LOG_WARNING; + break; + case UA_LOGLEVEL_ERROR: + priority = LOG_ERR; + break; + case UA_LOGLEVEL_FATAL: + priority = LOG_CRIT; + break; + case UA_LOGLEVEL_TRACE: + default: + return; + } + + int logLevelSlot = ((int)level / 100) - 1; + if(logLevelSlot < 0 || logLevelSlot > 5) + logLevelSlot = 5; /* Set to fatal if the level is outside the range */ + +#define LOGBUFSIZE 512 + char logbuf[LOGBUFSIZE]; + int pos = snprintf(logbuf, LOGBUFSIZE, "[%s/%s] ", + syslogLevelNames[logLevelSlot], + syslogCategoryNames[category]); + if(pos < 0) { + syslog(LOG_WARNING, "Log message too long for syslog"); + return; + } + pos = vsnprintf(&logbuf[pos], LOGBUFSIZE - (size_t)pos, msg, args); + if(pos < 0) { + syslog(LOG_WARNING, "Log message too long for syslog"); + return; + } + + syslog(priority, "%s", logbuf); +} + +static void +UA_Log_Syslog_clear(UA_Logger *logger) { + /* closelog is optional. We don't use it as several loggers might be + * instantiated in parallel. */ + /* closelog(); */ + UA_free(logger); +} + +UA_Logger +UA_Log_Syslog(void) { + return UA_Log_Syslog_withLevel(UA_LOGLEVEL_TRACE); +} + +UA_Logger +UA_Log_Syslog_withLevel(UA_LogLevel minlevel) { + UA_Logger logger = {UA_Log_Syslog_log, (void*)(uintptr_t)minlevel, NULL}; + return logger; +} + +UA_Logger * +UA_Log_Syslog_new(UA_LogLevel minlevel) { + UA_Logger *logger = (UA_Logger*)UA_malloc(sizeof(UA_Logger)); + if(!logger) + return NULL; + *logger = UA_Log_Syslog_withLevel(minlevel); + logger->clear = UA_Log_Syslog_clear; + return logger; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_pubsub_aes128ctr.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2019 (c) Holger Zipper, ifak + */ + + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Orinigal Notes: + * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SHA256_LENGTH 32 +#define UA_AES128CTR_SIGNING_KEY_LENGTH 32 +#define UA_AES128CTR_KEY_LENGTH 16 +#define UA_AES128CTR_KEYNONCE_LENGTH 4 +#define UA_AES128CTR_MESSAGENONCE_LENGTH 8 +#define UA_AES128CTR_ENCRYPTION_BLOCK_SIZE 16 +#define UA_AES128CTR_PLAIN_TEXT_BLOCK_SIZE 16 +/* counter block=keynonce(4Byte)+Messagenonce(8Byte)+counter(4Byte) see Part14 + * 7.2.2.2.3.2 for details */ +#define UA_AES128CTR_COUNTERBLOCK_SIZE 16 + +typedef struct { + const UA_PubSubSecurityPolicy *securityPolicy; + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha256MdContext; +} PUBSUB_AES128CTR_PolicyContext; + +typedef struct { + PUBSUB_AES128CTR_PolicyContext *policyContext; + UA_Byte signingKey[UA_AES128CTR_SIGNING_KEY_LENGTH]; + UA_Byte encryptingKey[UA_AES128CTR_KEY_LENGTH]; + UA_Byte keyNonce[UA_AES128CTR_KEYNONCE_LENGTH]; + UA_Byte messageNonce[UA_AES128CTR_MESSAGENONCE_LENGTH]; +} PUBSUB_AES128CTR_ChannelContext; + +/*******************/ +/* SymmetricModule */ +/*******************/ + +/* Signature and verify all using HMAC-SHA2-256, nothing to change */ +static UA_StatusCode +verify_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + PUBSUB_AES128CTR_PolicyContext *pc = + (PUBSUB_AES128CTR_PolicyContext *)cc->policyContext; + + unsigned char mac[UA_SHA256_LENGTH]; + UA_ByteString signingKey = + {UA_AES128CTR_SIGNING_KEY_LENGTH, cc->signingKey}; + mbedtls_hmac(&pc->sha256MdContext, &signingKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sign_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, + const UA_ByteString *message, UA_ByteString *signature) { + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString signingKey = + {UA_AES128CTR_SIGNING_KEY_LENGTH, cc->signingKey}; + mbedtls_hmac(&cc->policyContext->sha256MdContext, &signingKey, message, + signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +getSignatureSize_sp_pubsub_aes128ctr(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static size_t +getSigningKeyLength_sp_pubsub_aes128ctr(const void *const channelContext) { + return UA_AES128CTR_SIGNING_KEY_LENGTH; +} + +static size_t +getEncryptionKeyLength_sp_pubsub_aes128ctr(const void *channelContext) { + return UA_AES128CTR_KEY_LENGTH; +} + +static size_t +getEncryptionBlockSize_sp_pubsub_aes128ctr(const void *channelContext) { + return UA_AES128CTR_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +getPlainTextBlockSize_sp_pubsub_aes128ctr(const void *channelContext) { + return UA_AES128CTR_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +encrypt_sp_pubsub_aes128ctr(const PUBSUB_AES128CTR_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* CTR mode does not need padding */ + + /* Decode the header to Extract the message nonce */ + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(UA_AES128CTR_KEY_LENGTH * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->encryptingKey, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Prepare the counterBlock required for encryption/decryption + * Block counter starts at 1 according to part 14 (7.2.2.4.3.2)*/ + UA_Byte counterBlockCopy[UA_AES128CTR_ENCRYPTION_BLOCK_SIZE]; + UA_Byte counterInitialValue[4] = {0,0,0,1}; + memcpy(counterBlockCopy, cc->keyNonce, UA_AES128CTR_KEYNONCE_LENGTH); + memcpy(counterBlockCopy + UA_AES128CTR_KEYNONCE_LENGTH, + cc->messageNonce, UA_AES128CTR_MESSAGENONCE_LENGTH); + memcpy(counterBlockCopy + UA_AES128CTR_KEYNONCE_LENGTH + + UA_AES128CTR_MESSAGENONCE_LENGTH, &counterInitialValue, 4); + + size_t counterblockoffset = 0; + UA_Byte aesBuffer[UA_AES128CTR_ENCRYPTION_BLOCK_SIZE]; + mbedErr = mbedtls_aes_crypt_ctr(&aesContext, data->length, &counterblockoffset, + counterBlockCopy, aesBuffer, data->data, data->data); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +/* a decryption function is exactly the same as an encryption one, since they all do XOR + * operations*/ +static UA_StatusCode +decrypt_sp_pubsub_aes128ctr(const PUBSUB_AES128CTR_ChannelContext *cc, + UA_ByteString *data) { + return encrypt_sp_pubsub_aes128ctr(cc, data); +} + +/*Tested, meeting Profile*/ +static UA_StatusCode +generateKey_sp_pubsub_aes128ctr(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + return UA_STATUSCODE_BADNOTIMPLEMENTED; +} + +/* This nonce does not need to be a cryptographically random number, it can be + * pseudo-random */ +static UA_StatusCode +generateNonce_sp_pubsub_aes128ctr(void *policyContext, UA_ByteString *out) { + if(policyContext == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + PUBSUB_AES128CTR_PolicyContext *pc = (PUBSUB_AES128CTR_PolicyContext *)policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +static void +channelContext_deleteContext_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc) { + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_pubsub_aes128ctr(void *policyContext, + const UA_ByteString *signingKey, + const UA_ByteString *encryptingKey, + const UA_ByteString *keyNonce, + void **wgContext) { + if((signingKey && signingKey->length != UA_AES128CTR_SIGNING_KEY_LENGTH) || + (encryptingKey && encryptingKey->length != UA_AES128CTR_KEY_LENGTH) || + (keyNonce && keyNonce->length != UA_AES128CTR_KEYNONCE_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Allocate the channel context */ + PUBSUB_AES128CTR_ChannelContext *cc = (PUBSUB_AES128CTR_ChannelContext *) + UA_calloc(1, sizeof(PUBSUB_AES128CTR_ChannelContext)); + if(cc == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Initialize the channel context */ + cc->policyContext = (PUBSUB_AES128CTR_PolicyContext *)policyContext; + if(signingKey) + memcpy(cc->signingKey, signingKey->data, signingKey->length); + if(encryptingKey) + memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); + if(keyNonce) + memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); + *wgContext = cc; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +channelContext_setKeys_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, + const UA_ByteString *signingKey, + const UA_ByteString *encryptingKey, + const UA_ByteString *keyNonce) { + if(!cc) + return UA_STATUSCODE_BADINTERNALERROR; + if(!signingKey || signingKey->length != UA_AES128CTR_SIGNING_KEY_LENGTH || + !encryptingKey || encryptingKey->length != UA_AES128CTR_KEY_LENGTH || + !keyNonce || keyNonce->length != UA_AES128CTR_KEYNONCE_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + memcpy(cc->signingKey, signingKey->data, signingKey->length); + memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); + memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +channelContext_setMessageNonce_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, + const UA_ByteString *nonce) { + if(nonce->length != UA_AES128CTR_MESSAGENONCE_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + memcpy(cc->messageNonce, nonce->data, nonce->length); + return UA_STATUSCODE_GOOD; +} + +static void +deleteMembers_sp_pubsub_aes128ctr(UA_PubSubSecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + PUBSUB_AES128CTR_PolicyContext *pc = + (PUBSUB_AES128CTR_PolicyContext *)securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_md_free(&pc->sha256MdContext); + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_PUBSUB_AES128CTR"); + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +policyContext_newContext_sp_pubsub_aes128ctr(UA_PubSubSecurityPolicy *securityPolicy) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + PUBSUB_AES128CTR_PolicyContext *pc = (PUBSUB_AES128CTR_PolicyContext *) + UA_calloc(1, sizeof(PUBSUB_AES128CTR_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(PUBSUB_AES128CTR_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_md_init(&pc->sha256MdContext); + pc->securityPolicy = securityPolicy; + + /* Initialized the message digest */ + const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext"); + if(securityPolicy->policyContext != NULL) + deleteMembers_sp_pubsub_aes128ctr(securityPolicy); + return retval; +} + +UA_StatusCode +UA_PubSubSecurityPolicy_Aes128Ctr(UA_PubSubSecurityPolicy *policy, + const UA_Logger *logger) { + memset(policy, 0, sizeof(UA_PubSubSecurityPolicy)); + policy->logger = logger; + + policy->policyUri = + UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes128-CTR"); + + UA_SecurityPolicySymmetricModule *symmetricModule = &policy->symmetricModule; + + /* SymmetricModule */ + symmetricModule->generateKey = generateKey_sp_pubsub_aes128ctr; + symmetricModule->generateNonce = generateNonce_sp_pubsub_aes128ctr; + + UA_SecurityPolicySignatureAlgorithm *signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + signatureAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#sha256"); + signatureAlgorithm->verify = + (UA_StatusCode(*)(void *, const UA_ByteString *, + const UA_ByteString *))verify_sp_pubsub_aes128ctr; + signatureAlgorithm->sign = + (UA_StatusCode(*)(void *, const UA_ByteString *, UA_ByteString *))sign_sp_pubsub_aes128ctr; + signatureAlgorithm->getLocalSignatureSize = getSignatureSize_sp_pubsub_aes128ctr; + signatureAlgorithm->getRemoteSignatureSize = getSignatureSize_sp_pubsub_aes128ctr; + signatureAlgorithm->getLocalKeyLength = + (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes128ctr; + signatureAlgorithm->getRemoteKeyLength = + (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes128ctr; + + UA_SecurityPolicyEncryptionAlgorithm *encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + encryptionAlgorithm->uri = + UA_STRING("https://tools.ietf.org/html/rfc3686"); /* Temp solution */ + encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))encrypt_sp_pubsub_aes128ctr; + encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))decrypt_sp_pubsub_aes128ctr; + encryptionAlgorithm->getLocalKeyLength = + getEncryptionKeyLength_sp_pubsub_aes128ctr; + encryptionAlgorithm->getRemoteKeyLength = + getEncryptionKeyLength_sp_pubsub_aes128ctr; + encryptionAlgorithm->getRemoteBlockSize = + (size_t(*)(const void *))getEncryptionBlockSize_sp_pubsub_aes128ctr; + encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t(*)(const void *))getPlainTextBlockSize_sp_pubsub_aes128ctr; + symmetricModule->secureChannelNonceLength = UA_AES128CTR_SIGNING_KEY_LENGTH + + UA_AES128CTR_KEY_LENGTH + UA_AES128CTR_KEYNONCE_LENGTH; + + /* ChannelModule */ + policy->newContext = channelContext_newContext_sp_pubsub_aes128ctr; + policy->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_pubsub_aes128ctr; + + policy->setSecurityKeys = (UA_StatusCode(*)(void *, const UA_ByteString *, + const UA_ByteString *, + const UA_ByteString *)) + channelContext_setKeys_sp_pubsub_aes128ctr; + policy->setMessageNonce = (UA_StatusCode(*)(void *, const UA_ByteString *)) + channelContext_setMessageNonce_sp_pubsub_aes128ctr; + policy->clear = deleteMembers_sp_pubsub_aes128ctr; + policy->policyContext = NULL; + + /* Initialize the policyContext */ + return policyContext_newContext_sp_pubsub_aes128ctr(policy); +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_pubsub_aes256ctr.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2019 (c) Holger Zipper, ifak + */ + + +#ifdef UA_ENABLE_PUBSUB_ENCRYPTION + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Orinigal Notes: + * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SHA256_LENGTH 32 +#define UA_AES256CTR_SIGNING_KEY_LENGTH 32 +#define UA_AES256CTR_KEY_LENGTH 32 +#define UA_AES256CTR_KEYNONCE_LENGTH 4 +#define UA_AES256CTR_MESSAGENONCE_LENGTH 8 +#define UA_AES256CTR_ENCRYPTION_BLOCK_SIZE 16 +#define UA_AES256CTR_PLAIN_TEXT_BLOCK_SIZE 16 +// counter block=keynonce(4Byte)+Messagenonce(8Byte)+counter(4Byte) see Part14 7.2.2.2.3.2 +// for details +#define UA_AES256CTR_COUNTERBLOCK_SIZE 16 + +typedef struct { + const UA_PubSubSecurityPolicy *securityPolicy; + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha256MdContext; +} PUBSUB_AES256CTR_PolicyContext; + +typedef struct { + PUBSUB_AES256CTR_PolicyContext *policyContext; + UA_Byte signingKey[UA_AES256CTR_SIGNING_KEY_LENGTH]; + UA_Byte encryptingKey[UA_AES256CTR_KEY_LENGTH]; + UA_Byte keyNonce[UA_AES256CTR_KEYNONCE_LENGTH]; + UA_Byte messageNonce[UA_AES256CTR_MESSAGENONCE_LENGTH]; +} PUBSUB_AES256CTR_ChannelContext; + +/*Signature and verify all using HMAC-SHA2-256, nothing to change*/ +static UA_StatusCode +verify_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA256_LENGTH) { + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + PUBSUB_AES256CTR_PolicyContext *pc = + (PUBSUB_AES256CTR_PolicyContext *)cc->policyContext; + + unsigned char mac[UA_SHA256_LENGTH]; + UA_ByteString signingKey = + {UA_AES256CTR_SIGNING_KEY_LENGTH, cc->signingKey}; + mbedtls_hmac(&pc->sha256MdContext, &signingKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sign_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, + const UA_ByteString *message, UA_ByteString *signature) { + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString signingKey = + {UA_AES256CTR_SIGNING_KEY_LENGTH, cc->signingKey}; + mbedtls_hmac(&cc->policyContext->sha256MdContext, &signingKey, message, + signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +getSignatureSize_sp_pubsub_aes256ctr(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static size_t +getSigningKeyLength_sp_pubsub_aes256ctr(const void *const channelContext) { + return UA_AES256CTR_SIGNING_KEY_LENGTH; +} + +static size_t +getEncryptionKeyLength_sp_pubsub_aes256ctr(const void *channelContext) { + return UA_AES256CTR_KEY_LENGTH; +} + +static size_t +getEncryptionBlockSize_sp_pubsub_aes256ctr(const void *const channelContext) { + return UA_AES256CTR_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +getPlainTextBlockSize_sp_pubsub_aes256ctr(const void *const channelContext) { + return UA_AES256CTR_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +encrypt_sp_pubsub_aes256ctr(const PUBSUB_AES256CTR_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* CTR mode does not need padding */ + + /* Decode the header to Extract the message nonce */ + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(UA_AES256CTR_KEY_LENGTH * 8); + mbedtls_aes_context aesContext; + int mbedErr = + mbedtls_aes_setkey_enc(&aesContext, cc->encryptingKey, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Prepare the counterBlock required for encryption/decryption + * Block counter starts at 1 according to part 14 (7.2.2.4.3.2)*/ + UA_Byte counterBlockCopy[UA_AES256CTR_ENCRYPTION_BLOCK_SIZE]; + UA_Byte counterInitialValue[4] = {0,0,0,1}; + memcpy(counterBlockCopy, cc->keyNonce, UA_AES256CTR_KEYNONCE_LENGTH); + memcpy(counterBlockCopy + UA_AES256CTR_KEYNONCE_LENGTH, + cc->messageNonce, UA_AES256CTR_MESSAGENONCE_LENGTH); + memcpy(counterBlockCopy + UA_AES256CTR_KEYNONCE_LENGTH + + UA_AES256CTR_MESSAGENONCE_LENGTH, &counterInitialValue, 4); + + size_t counterblockoffset = 0; + UA_Byte aesBuffer[UA_AES256CTR_ENCRYPTION_BLOCK_SIZE]; + mbedErr = mbedtls_aes_crypt_ctr(&aesContext, data->length, &counterblockoffset, + counterBlockCopy, aesBuffer, data->data, data->data); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +/* a decryption function is exactly the same as an encryption one, since they all do XOR + * operations*/ +static UA_StatusCode +decrypt_sp_pubsub_aes256ctr(const PUBSUB_AES256CTR_ChannelContext *cc, + UA_ByteString *data) { + return encrypt_sp_pubsub_aes256ctr(cc, data); +} + +/*Tested, meeting Profile*/ +static UA_StatusCode +generateKey_sp_pubsub_aes256ctr(void *policyContext, + const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + if(policyContext == NULL || secret == NULL || seed == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + PUBSUB_AES256CTR_PolicyContext *pc = (PUBSUB_AES256CTR_PolicyContext *)policyContext; + + return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); +} +/* This nonce does not to be a +cryptographically random number, it can be pseudo-random */ +static UA_StatusCode +generateNonce_sp_pubsub_aes256ctr(void *policyContext, UA_ByteString *out) { + if(policyContext == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + PUBSUB_AES256CTR_PolicyContext *pc = + (PUBSUB_AES256CTR_PolicyContext *) policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +static void +channelContext_deleteContext_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc) { + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_pubsub_aes256ctr(void *policyContext, + const UA_ByteString *signingKey, + const UA_ByteString *encryptingKey, + const UA_ByteString *keyNonce, + void **wgContext) { + + if((signingKey && signingKey->length != UA_AES256CTR_SIGNING_KEY_LENGTH) || + (encryptingKey && encryptingKey->length != UA_AES256CTR_KEY_LENGTH) || + (keyNonce && keyNonce->length != UA_AES256CTR_KEYNONCE_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Allocate the channel context */ + PUBSUB_AES256CTR_ChannelContext *cc = (PUBSUB_AES256CTR_ChannelContext *) + UA_calloc(1, sizeof(PUBSUB_AES256CTR_ChannelContext)); + if(cc == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Initialize the channel context */ + cc->policyContext = (PUBSUB_AES256CTR_PolicyContext *)policyContext; + if(signingKey) + memcpy(cc->signingKey, signingKey->data, signingKey->length); + if(encryptingKey) + memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); + if(keyNonce) + memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); + *wgContext = cc; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +channelContext_setKeys_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, + const UA_ByteString *signingKey, + const UA_ByteString *encryptingKey, + const UA_ByteString *keyNonce) { + if(!cc) + return UA_STATUSCODE_BADINTERNALERROR; + if(!signingKey || signingKey->length != UA_AES256CTR_SIGNING_KEY_LENGTH || + !encryptingKey || encryptingKey->length != UA_AES256CTR_KEY_LENGTH || + !keyNonce || keyNonce->length != UA_AES256CTR_KEYNONCE_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + memcpy(cc->signingKey, signingKey->data, signingKey->length); + memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); + memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +channelContext_setMessageNonce_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, + const UA_ByteString *nonce) { + if(nonce->length != UA_AES256CTR_MESSAGENONCE_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + memcpy(cc->messageNonce, nonce->data, nonce->length); + return UA_STATUSCODE_GOOD; +} + +static void +deleteMembers_sp_pubsub_aes256ctr(UA_PubSubSecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + PUBSUB_AES256CTR_PolicyContext *pc = + (PUBSUB_AES256CTR_PolicyContext *)securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_md_free(&pc->sha256MdContext); + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_PUBSUB_AES256CTR"); + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +policyContext_newContext_sp_pubsub_aes256ctr(UA_PubSubSecurityPolicy *securityPolicy) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + PUBSUB_AES256CTR_PolicyContext *pc = (PUBSUB_AES256CTR_PolicyContext *) + UA_calloc(1, sizeof(PUBSUB_AES256CTR_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(PUBSUB_AES256CTR_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_md_init(&pc->sha256MdContext); + pc->securityPolicy = securityPolicy; + + /* Initialized the message digest */ + const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + return retval; + + error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext"); + if(securityPolicy->policyContext != NULL) + deleteMembers_sp_pubsub_aes256ctr(securityPolicy); + return retval; +} + +UA_StatusCode +UA_PubSubSecurityPolicy_Aes256Ctr(UA_PubSubSecurityPolicy *policy, + const UA_Logger *logger) { + memset(policy, 0, sizeof(UA_PubSubSecurityPolicy)); + policy->logger = logger; + + policy->policyUri = + UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes256-CTR"); + + UA_SecurityPolicySymmetricModule *symmetricModule = &policy->symmetricModule; + + /* SymmetricModule */ + symmetricModule->generateKey = generateKey_sp_pubsub_aes256ctr; + symmetricModule->generateNonce = generateNonce_sp_pubsub_aes256ctr; + + UA_SecurityPolicySignatureAlgorithm *signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + signatureAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#sha256"); + signatureAlgorithm->verify = + (UA_StatusCode(*)(void *, const UA_ByteString *, + const UA_ByteString *))verify_sp_pubsub_aes256ctr; + signatureAlgorithm->sign = + (UA_StatusCode(*)(void *, const UA_ByteString *, UA_ByteString *))sign_sp_pubsub_aes256ctr; + signatureAlgorithm->getLocalSignatureSize = getSignatureSize_sp_pubsub_aes256ctr; + signatureAlgorithm->getRemoteSignatureSize = getSignatureSize_sp_pubsub_aes256ctr; + signatureAlgorithm->getLocalKeyLength = + (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes256ctr; + signatureAlgorithm->getRemoteKeyLength = + (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes256ctr; + + UA_SecurityPolicyEncryptionAlgorithm *encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + encryptionAlgorithm->uri = + UA_STRING("https://tools.ietf.org/html/rfc3686"); /* Temp solution */ + encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))encrypt_sp_pubsub_aes256ctr; + encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))decrypt_sp_pubsub_aes256ctr; + encryptionAlgorithm->getLocalKeyLength = + getEncryptionKeyLength_sp_pubsub_aes256ctr; + encryptionAlgorithm->getRemoteKeyLength = + getEncryptionKeyLength_sp_pubsub_aes256ctr; + encryptionAlgorithm->getRemoteBlockSize = + (size_t(*)(const void *))getEncryptionBlockSize_sp_pubsub_aes256ctr; + encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t(*)(const void *))getPlainTextBlockSize_sp_pubsub_aes256ctr; + symmetricModule->secureChannelNonceLength = UA_AES256CTR_SIGNING_KEY_LENGTH + + UA_AES256CTR_KEY_LENGTH + UA_AES256CTR_KEYNONCE_LENGTH; + + /* ChannelModule */ + policy->newContext = channelContext_newContext_sp_pubsub_aes256ctr; + policy->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_pubsub_aes256ctr; + + policy->setSecurityKeys = (UA_StatusCode(*)(void *, const UA_ByteString *, + const UA_ByteString *, + const UA_ByteString *)) + channelContext_setKeys_sp_pubsub_aes256ctr; + policy->setMessageNonce = (UA_StatusCode(*)(void *, const UA_ByteString *)) + channelContext_setMessageNonce_sp_pubsub_aes256ctr; + policy->clear = deleteMembers_sp_pubsub_aes256ctr; + policy->policyContext = NULL; + + /* Initialize the policyContext */ + return policyContext_newContext_sp_pubsub_aes256ctr(policy); +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_basic128rsa15.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018-2019 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2018 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + * + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Notes: + * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN 11 +#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_KEY_LENGTH 16 +#define UA_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH 16 +#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC128RSA15_MINASYMKEYLENGTH 128 +#define UA_SECURITYPOLICY_BASIC128RSA15_MAXASYMKEYLENGTH 512 + +typedef struct { + UA_ByteString localCertThumbprint; + + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha1MdContext; + mbedtls_pk_context localPrivateKey; +} Basic128Rsa15_PolicyContext; + +typedef struct { + Basic128Rsa15_PolicyContext *policyContext; + + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + mbedtls_x509_crt remoteCertificate; +} Basic128Rsa15_ChannelContext; + +/********************/ +/* AsymmetricModule */ +/********************/ + +static UA_StatusCode +asym_verify_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + return mbedtls_verifySig_sha1(&cc->remoteCertificate, message, signature); +} + +static UA_StatusCode +asym_sign_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic128Rsa15_PolicyContext *pc = cc->policyContext; + return mbedtls_sign_sha1(&pc->localPrivateKey, &pc->drbgContext, + message, signature); +} + +static size_t +asym_getLocalSignatureSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); +#endif +} + +static size_t +asym_getRemoteSignatureSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static UA_StatusCode +asym_encrypt_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); + +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + size_t keylen = remoteRsaContext->len; +#else + size_t keylen = mbedtls_rsa_get_len(remoteRsaContext); +#endif + size_t plainTextBlockSize = + keylen - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t blocks = data->length / plainTextBlockSize; + UA_ByteString encrypted; + UA_StatusCode retval = UA_ByteString_allocBuffer(&encrypted, blocks * keylen); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + size_t lenDataToEncrypt = data->length; + size_t inOffset = 0; + size_t offset = 0; + size_t outLength = 0; + Basic128Rsa15_PolicyContext *pc = cc->policyContext; + while(lenDataToEncrypt >= plainTextBlockSize) { + int mbedErr = mbedtls_pk_encrypt(&cc->remoteCertificate.pk, + data->data + inOffset, plainTextBlockSize, + encrypted.data + offset, &outLength, + encrypted.length - offset, + mbedtls_ctr_drbg_random, + &pc->drbgContext); + if(mbedErr) { + UA_ByteString_clear(&encrypted); + return UA_STATUSCODE_BADINTERNALERROR; + } + + inOffset += plainTextBlockSize; + offset += outLength; + lenDataToEncrypt -= plainTextBlockSize; + } + + memcpy(data->data, encrypted.data, offset); + UA_ByteString_clear(&encrypted); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +asym_decrypt_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic128Rsa15_PolicyContext *pc = cc->policyContext; + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + size_t keylen = rsaContext->len; +#else + size_t keylen = mbedtls_rsa_get_len(rsaContext); +#endif + if(data->length % keylen != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t inOffset = 0; + size_t outOffset = 0; + size_t outLength = 0; + unsigned char buf[512]; + + while(inOffset < data->length) { + int mbedErr = mbedtls_pk_decrypt(&pc->localPrivateKey, + data->data + inOffset, keylen, + buf, &outLength, 512, + mbedtls_ctr_drbg_random, + &pc->drbgContext); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + memcpy(data->data + outOffset, buf, outLength); + inOffset += keylen; + outOffset += outLength; + } + + data->length = outOffset; + return UA_STATUSCODE_GOOD; +} + +static size_t +asym_getLocalEncryptionKeyLength_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemoteEncryptionKeyLength_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; +} + +static size_t +asym_getRemoteBlockSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemotePlainTextBlockSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - + UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; +#endif +} + +static UA_StatusCode +asym_makeThumbprint_sp_basic128rsa15(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_thumbprint_sha1(certificate, thumbprint); +} + +static UA_StatusCode +asymmetricModule_compareCertificateThumbprint_sp_basic128rsa15(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + + return UA_STATUSCODE_GOOD; +} + +/*******************/ +/* SymmetricModule */ +/*******************/ + +static UA_StatusCode +sym_verify_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA1_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + Basic128Rsa15_PolicyContext *pc = cc->policyContext; + + unsigned char mac[UA_SHA1_LENGTH]; + mbedtls_hmac(&pc->sha1MdContext, &cc->remoteSymSigningKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA1_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sym_sign_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(signature->length != UA_SHA1_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_hmac(&cc->policyContext->sha1MdContext, &cc->localSymSigningKey, + message, signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +sym_getSignatureSize_sp_basic128rsa15(const void *channelContext) { + return UA_SHA1_LENGTH; +} + +static size_t +sym_getSigningKeyLength_sp_basic128rsa15(const void *const channelContext) { + return UA_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +sym_getEncryptionKeyLength_sp_basic128rsa15(const void *channelContext) { + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_KEY_LENGTH; +} + +static size_t +sym_getEncryptionBlockSize_sp_basic128rsa15(const void *const channelContext) { + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +sym_getPlainTextBlockSize_sp_basic128rsa15(const void *const channelContext) { + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +sym_encrypt_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(cc->localSymIv.length != UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t plainTextBlockSize = UA_SECURITYPOLICY_BASIC128RSA15_SYM_PLAIN_TEXT_BLOCK_SIZE; + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_decrypt_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t encryptionBlockSize = UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE; + if(cc->remoteSymIv.length != encryptionBlockSize) + return UA_STATUSCODE_BADINTERNALERROR; + + if(data->length % encryptionBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_dec(&aesContext, + cc->remoteSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_generateKey_sp_basic128rsa15(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + if(secret == NULL || seed == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)policyContext; + return mbedtls_generateKey(&pc->sha1MdContext, secret, seed, out); +} + +static UA_StatusCode +sym_generateNonce_sp_basic128rsa15(void *policyContext, UA_ByteString *out) { + if(out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +/* Assumes that the certificate has been verified externally */ +static UA_StatusCode +parseRemoteCertificate_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *remoteCertificate) { + if(remoteCertificate == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Parse the certificate */ + int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, + remoteCertificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Check the key length */ +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + if(rsaContext->len < UA_SECURITYPOLICY_BASIC128RSA15_MINASYMKEYLENGTH || + rsaContext->len > UA_SECURITYPOLICY_BASIC128RSA15_MAXASYMKEYLENGTH) + return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; +#else + size_t keylen = mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); + if(keylen < UA_SECURITYPOLICY_BASIC128RSA15_MINASYMKEYLENGTH || + keylen > UA_SECURITYPOLICY_BASIC128RSA15_MAXASYMKEYLENGTH) + return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; +#endif + return UA_STATUSCODE_GOOD; +} + +static void +channelContext_deleteContext_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc) { + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + mbedtls_x509_crt_free(&cc->remoteCertificate); + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_basic128rsa15(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **pp_contextData) { + if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate the channel context */ + *pp_contextData = UA_malloc(sizeof(Basic128Rsa15_ChannelContext)); + if(*pp_contextData == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + Basic128Rsa15_ChannelContext *cc = (Basic128Rsa15_ChannelContext *)*pp_contextData; + + /* Initialize the channel context */ + cc->policyContext = (Basic128Rsa15_PolicyContext *)securityPolicy->policyContext; + + UA_ByteString_init(&cc->localSymSigningKey); + UA_ByteString_init(&cc->localSymEncryptingKey); + UA_ByteString_init(&cc->localSymIv); + + UA_ByteString_init(&cc->remoteSymSigningKey); + UA_ByteString_init(&cc->remoteSymEncryptingKey); + UA_ByteString_init(&cc->remoteSymIv); + + mbedtls_x509_crt_init(&cc->remoteCertificate); + + // TODO: this can be optimized so that we dont allocate memory before parsing the certificate + UA_StatusCode retval = parseRemoteCertificate_sp_basic128rsa15(cc, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + channelContext_deleteContext_sp_basic128rsa15(cc); + *pp_contextData = NULL; + } + return retval; +} + +static UA_StatusCode +channelContext_setLocalSymEncryptingKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setLocalSymSigningKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + + +static UA_StatusCode +channelContext_setLocalSymIv_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +channelContext_setRemoteSymEncryptingKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setRemoteSymSigningKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +channelContext_setRemoteSymIv_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(iv, &cc->remoteSymIv); +} + +static UA_StatusCode +channelContext_compareCertificate_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, + const UA_ByteString *certificate) { + if(cc == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(cert.raw.len != cc->remoteCertificate.raw.len || + memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + mbedtls_x509_crt_free(&cert); + return retval; +} + +static void +clear_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *) + securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_md_free(&pc->sha1MdContext); + UA_ByteString_clear(&pc->localCertThumbprint); + + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_basic128rsa15"); + + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_pk_init(&pc->localPrivateKey); + int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + retval = asym_makeThumbprint_sp_basic128rsa15(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return retval; + + error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + clear_sp_basic128rsa15(securityPolicy); + return retval; +} + +static UA_StatusCode +policyContext_newContext_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if (localPrivateKey.length == 0) { + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Can not initialize security policy. Private key is empty."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *) + UA_malloc(sizeof(Basic128Rsa15_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(Basic128Rsa15_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_pk_init(&pc->localPrivateKey); + mbedtls_md_init(&pc->sha1MdContext); + + /* Initialized the message digest */ + const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); + int mbedErr = mbedtls_md_setup(&pc->sha1MdContext, mdInfo, MBEDTLS_MD_SHA1); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the private key */ + mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the local certificate thumbprint */ + retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); + if(retval != UA_STATUSCODE_GOOD) + goto error; + retval = asym_makeThumbprint_sp_basic128rsa15(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return UA_STATUSCODE_GOOD; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext: %s", UA_StatusCode_name(retval)); + if(securityPolicy->policyContext != NULL) + clear_sp_basic128rsa15(securityPolicy); + return retval; +} + +UA_StatusCode +UA_SecurityPolicy_Basic128Rsa15(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, const UA_Logger *logger) { + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "!! WARNING !! The Basic128Rsa15 SecurityPolicy is unsecure. " + "There are known attacks that break the encryption."); + + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15\0"); + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule */ + UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); + asym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_basic128rsa15; + asym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_basic128rsa15; + asym_signatureAlgorithm->getLocalSignatureSize = + (size_t (*)(const void *))asym_getLocalSignatureSize_sp_basic128rsa15; + asym_signatureAlgorithm->getRemoteSignatureSize = + (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_basic128rsa15; + asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function + asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function + + UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-1_5"); + asym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_basic128rsa15; + asym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *)) asym_decrypt_sp_basic128rsa15; + asym_encryptionAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_basic128rsa15; + asym_encryptionAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_basic128rsa15; + asym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))asym_getRemoteBlockSize_sp_basic128rsa15; + asym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_basic128rsa15; + + asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_basic128rsa15; + asymmetricModule->compareCertificateThumbprint = + asymmetricModule_compareCertificateThumbprint_sp_basic128rsa15; + + /* SymmetricModule */ + symmetricModule->generateKey = sym_generateKey_sp_basic128rsa15; + symmetricModule->generateNonce = sym_generateNonce_sp_basic128rsa15; + + UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + sym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); + sym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, + const UA_ByteString *))sym_verify_sp_basic128rsa15; + sym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_basic128rsa15; + sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_basic128rsa15; + sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_basic128rsa15; + sym_signatureAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic128rsa15; + sym_signatureAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic128rsa15; + + UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc"); + sym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_basic128rsa15; + sym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_basic128rsa15; + sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_basic128rsa15; + sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_basic128rsa15; + sym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_basic128rsa15; + sym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_basic128rsa15; + symmetricModule->secureChannelNonceLength = 16; + + // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + /* ChannelModule */ + channelModule->newContext = channelContext_newContext_sp_basic128rsa15; + channelModule->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_basic128rsa15; + + channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymEncryptingKey_sp_basic128rsa15; + channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymSigningKey_sp_basic128rsa15; + channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymIv_sp_basic128rsa15; + + channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymEncryptingKey_sp_basic128rsa15; + channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymSigningKey_sp_basic128rsa15; + channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymIv_sp_basic128rsa15; + + channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) + channelContext_compareCertificate_sp_basic128rsa15; + + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic128rsa15; + policy->clear = clear_sp_basic128rsa15; + + UA_StatusCode res = policyContext_newContext_sp_basic128rsa15(policy, localPrivateKey); + if(res != UA_STATUSCODE_GOOD) + clear_sp_basic128rsa15(policy); + + return res; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_basic256.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + * + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + + +#include +#include +#include +#include +#include + +/* Notes: + * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN 42 +#define UA_SHA1_LENGTH 20 +#define UA_BASIC256_SYM_SIGNING_KEY_LENGTH 24 +#define UA_SECURITYPOLICY_BASIC256_SYM_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256_MINASYMKEYLENGTH 128 +#define UA_SECURITYPOLICY_BASIC256_MAXASYMKEYLENGTH 512 + +typedef struct { + UA_ByteString localCertThumbprint; + + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha1MdContext; + mbedtls_pk_context localPrivateKey; +} Basic256_PolicyContext; + +typedef struct { + Basic256_PolicyContext *policyContext; + + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + mbedtls_x509_crt remoteCertificate; +} Basic256_ChannelContext; + +/********************/ +/* AsymmetricModule */ +/********************/ + +/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_verify_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + return mbedtls_verifySig_sha1(&cc->remoteCertificate, message, signature); +} + +/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_sign_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic256_PolicyContext *pc = cc->policyContext; + return mbedtls_sign_sha1(&pc->localPrivateKey, &pc->drbgContext, + message, signature); +} + +static size_t +asym_getLocalSignatureSize_sp_basic256(const Basic256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); +#endif +} + +static size_t +asym_getRemoteSignatureSize_sp_basic256(const Basic256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemotePlainTextBlockSize_sp_basic256(const Basic256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len - UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - + UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN; +#endif +} + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ +static UA_StatusCode +asym_encrypt_sp_basic256(Basic256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_basic256(cc); + + mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); + + return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, + data, plainTextBlockSize); +} + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ +static UA_StatusCode +asym_decrypt_sp_basic256(Basic256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, + &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA1); +} + +static size_t +asym_getLocalEncryptionKeyLength_sp_basic256(const Basic256_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; +} + +static size_t +asym_getRemoteEncryptionKeyLength_sp_basic256(const Basic256_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; +} + +static size_t +asym_getRemoteBlockSize_sp_basic256(const Basic256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static UA_StatusCode +asym_makeThumbprint_sp_basic256(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_thumbprint_sha1(certificate, thumbprint); +} + +static UA_StatusCode +asymmetricModule_compareCertificateThumbprint_sp_basic256(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic256_PolicyContext *pc = (Basic256_PolicyContext *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + + return UA_STATUSCODE_GOOD; +} + +/*******************/ +/* SymmetricModule */ +/*******************/ + +static UA_StatusCode +sym_verify_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA1_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + Basic256_PolicyContext *pc = cc->policyContext; + + unsigned char mac[UA_SHA1_LENGTH]; + mbedtls_hmac(&pc->sha1MdContext, &cc->remoteSymSigningKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA1_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sym_sign_sp_basic256(const Basic256_ChannelContext *cc, + const UA_ByteString *message, UA_ByteString *signature) { + if(signature->length != UA_SHA1_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_hmac(&cc->policyContext->sha1MdContext, &cc->localSymSigningKey, + message, signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +sym_getSignatureSize_sp_basic256(const void *channelContext) { + return UA_SHA1_LENGTH; +} + +static size_t +sym_getSigningKeyLength_sp_basic256(const void *const channelContext) { + return UA_BASIC256_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +sym_getEncryptionKeyLength_sp_basic256(const void *channelContext) { + return UA_SECURITYPOLICY_BASIC256_SYM_KEY_LENGTH; +} + +static size_t +sym_getEncryptionBlockSize_sp_basic256(const void *const channelContext) { + return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +sym_getPlainTextBlockSize_sp_basic256(const void *const channelContext) { + return UA_SECURITYPOLICY_BASIC256_SYM_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +sym_encrypt_sp_basic256(const Basic256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(cc->localSymIv.length != UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t plainTextBlockSize = UA_SECURITYPOLICY_BASIC256_SYM_PLAIN_TEXT_BLOCK_SIZE; + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_decrypt_sp_basic256(const Basic256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t encryptionBlockSize = UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE; + if(cc->remoteSymIv.length != encryptionBlockSize) + return UA_STATUSCODE_BADINTERNALERROR; + + if(data->length % encryptionBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_generateKey_sp_basic256(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + if(secret == NULL || seed == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Basic256_PolicyContext *pc = (Basic256_PolicyContext *)policyContext; + return mbedtls_generateKey(&pc->sha1MdContext, secret, seed, out); +} + +static UA_StatusCode +sym_generateNonce_sp_basic256(void *policyContext, UA_ByteString *out) { + if(out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Basic256_PolicyContext *pc = (Basic256_PolicyContext *)policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +/* Assumes that the certificate has been verified externally */ +static UA_StatusCode +parseRemoteCertificate_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *remoteCertificate) { + if(remoteCertificate == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Parse the certificate */ + int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, + remoteCertificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Check the key length */ +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + size_t keylen = rsaContext->len; +#else + size_t keylen = mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif + if(keylen < UA_SECURITYPOLICY_BASIC256_MINASYMKEYLENGTH || + keylen > UA_SECURITYPOLICY_BASIC256_MAXASYMKEYLENGTH) + return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; + + return UA_STATUSCODE_GOOD; +} + +static void +channelContext_deleteContext_sp_basic256(Basic256_ChannelContext *cc) { + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + mbedtls_x509_crt_free(&cc->remoteCertificate); + + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_basic256(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **pp_contextData) { + if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate the channel context */ + *pp_contextData = UA_malloc(sizeof(Basic256_ChannelContext)); + if(*pp_contextData == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + Basic256_ChannelContext *cc = (Basic256_ChannelContext *)*pp_contextData; + + /* Initialize the channel context */ + cc->policyContext = (Basic256_PolicyContext *)securityPolicy->policyContext; + + UA_ByteString_init(&cc->localSymSigningKey); + UA_ByteString_init(&cc->localSymEncryptingKey); + UA_ByteString_init(&cc->localSymIv); + + UA_ByteString_init(&cc->remoteSymSigningKey); + UA_ByteString_init(&cc->remoteSymEncryptingKey); + UA_ByteString_init(&cc->remoteSymIv); + + mbedtls_x509_crt_init(&cc->remoteCertificate); + + // TODO: this can be optimized so that we dont allocate memory before parsing the certificate + UA_StatusCode retval = parseRemoteCertificate_sp_basic256(cc, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + channelContext_deleteContext_sp_basic256(cc); + *pp_contextData = NULL; + } + return retval; +} + +static UA_StatusCode +channelContext_setLocalSymEncryptingKey_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setLocalSymSigningKey_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + + +static UA_StatusCode +channelContext_setLocalSymIv_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +channelContext_setRemoteSymEncryptingKey_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setRemoteSymSigningKey_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +channelContext_setRemoteSymIv_sp_basic256(Basic256_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(iv, &cc->remoteSymIv); +} + +static UA_StatusCode +channelContext_compareCertificate_sp_basic256(const Basic256_ChannelContext *cc, + const UA_ByteString *certificate) { + if(cc == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(cert.raw.len != cc->remoteCertificate.raw.len || + memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + mbedtls_x509_crt_free(&cert); + return retval; +} + +static void +clear_sp_basic256(UA_SecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + Basic256_PolicyContext *pc = (Basic256_PolicyContext *) + securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_md_free(&pc->sha1MdContext); + UA_ByteString_clear(&pc->localCertThumbprint); + + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_basic256"); + + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_basic256(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic256_PolicyContext *pc = (Basic256_PolicyContext *) + securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_pk_init(&pc->localPrivateKey); + + int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + retval = asym_makeThumbprint_sp_basic256(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return retval; + + error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + clear_sp_basic256(securityPolicy); + return retval; +} + +static UA_StatusCode +policyContext_newContext_sp_basic256(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if (localPrivateKey.length == 0) { + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Can not initialize security policy. Private key is empty."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Basic256_PolicyContext *pc = (Basic256_PolicyContext *) + UA_malloc(sizeof(Basic256_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(Basic256_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_pk_init(&pc->localPrivateKey); + mbedtls_md_init(&pc->sha1MdContext); + + /* Initialized the message digest */ + const mbedtls_md_info_t *mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); + int mbedErr = mbedtls_md_setup(&pc->sha1MdContext, mdInfo, MBEDTLS_MD_SHA1); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the private key */ + mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the local certificate thumbprint */ + retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); + if(retval != UA_STATUSCODE_GOOD) + goto error; + retval = asym_makeThumbprint_sp_basic256(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return UA_STATUSCODE_GOOD; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext: %s", UA_StatusCode_name(retval)); + if(securityPolicy->policyContext != NULL) + clear_sp_basic256(securityPolicy); + return retval; +} + +UA_StatusCode +UA_SecurityPolicy_Basic256(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, const UA_Logger *logger) { + + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "!! WARNING !! The Basic256 SecurityPolicy is unsecure. " + "There are known attacks that break the encryption."); + + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256\0"); + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule */ + UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); + asym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_basic256; + asym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_basic256; + asym_signatureAlgorithm->getLocalSignatureSize = + (size_t (*)(const void *))asym_getLocalSignatureSize_sp_basic256; + asym_signatureAlgorithm->getRemoteSignatureSize = + (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_basic256; + asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function + asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function + + UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); + asym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_basic256; + asym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))asym_decrypt_sp_basic256; + asym_encryptionAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_basic256; + asym_encryptionAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_basic256; + asym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))asym_getRemoteBlockSize_sp_basic256; + asym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_basic256; + + asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_basic256; + asymmetricModule->compareCertificateThumbprint = + asymmetricModule_compareCertificateThumbprint_sp_basic256; + + /* SymmetricModule */ + symmetricModule->generateKey = sym_generateKey_sp_basic256; + symmetricModule->generateNonce = sym_generateNonce_sp_basic256; + + UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + sym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); + sym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, + const UA_ByteString *))sym_verify_sp_basic256; + sym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_basic256; + sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_basic256; + sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_basic256; + sym_signatureAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256; + sym_signatureAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256; + + UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); + sym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_basic256; + sym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_basic256; + sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_basic256; + sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_basic256; + sym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_basic256; + sym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_basic256; + symmetricModule->secureChannelNonceLength = 32; + + // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + /* ChannelModule */ + channelModule->newContext = channelContext_newContext_sp_basic256; + channelModule->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_basic256; + + channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymEncryptingKey_sp_basic256; + channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymSigningKey_sp_basic256; + channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymIv_sp_basic256; + + channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymEncryptingKey_sp_basic256; + channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymSigningKey_sp_basic256; + channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymIv_sp_basic256; + + channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) + channelContext_compareCertificate_sp_basic256; + + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic256; + policy->clear = clear_sp_basic256; + + UA_StatusCode res = policyContext_newContext_sp_basic256(policy, localPrivateKey); + if(res != UA_STATUSCODE_GOOD) + clear_sp_basic256(policy); + + return res; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_basic256sha256.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG + * Copyright 2018 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Notes: + * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN 42 +#define UA_SHA1_LENGTH 20 +#define UA_SHA256_LENGTH 32 +#define UA_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256SHA256_MINASYMKEYLENGTH 256 +#define UA_SECURITYPOLICY_BASIC256SHA256_MAXASYMKEYLENGTH 512 + +typedef struct { + UA_ByteString localCertThumbprint; + + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha256MdContext; + mbedtls_pk_context localPrivateKey; +} Basic256Sha256_PolicyContext; + +typedef struct { + Basic256Sha256_PolicyContext *policyContext; + + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + mbedtls_x509_crt remoteCertificate; +} Basic256Sha256_ChannelContext; + +/********************/ +/* AsymmetricModule */ +/********************/ + +/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_verify_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + /* Set the RSA settings */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); + + /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_verify() */ + /* Alternatively, use more specific function mbedtls_rsa_rsassa_pkcs1_v15_verify(), i.e. */ + /* int mbedErr = mbedtls_rsa_rsassa_pkcs1_v15_verify(rsaContext, NULL, NULL, + MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, + UA_SHA256_LENGTH, hash, + signature->data); */ + int mbedErr = mbedtls_pk_verify(&cc->remoteCertificate.pk, + MBEDTLS_MD_SHA256, hash, UA_SHA256_LENGTH, + signature->data, signature->length); + + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_sign_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + Basic256Sha256_PolicyContext *pc = cc->policyContext; + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); + + size_t sigLen = 0; + + /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_sign */ + /* Alternatively use more specific function mbedtls_rsa_rsassa_pkcs1_v15_sign() */ + int mbedErr = mbedtls_pk_sign(&pc->localPrivateKey, + MBEDTLS_MD_SHA256, hash, + UA_SHA256_LENGTH, signature->data, +#if MBEDTLS_VERSION_NUMBER >= 0x03000000 + signature->length, +#endif + &sigLen, mbedtls_ctr_drbg_random, + &pc->drbgContext); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +static size_t +asym_getLocalSignatureSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); +#endif +} + +static size_t +asym_getRemoteSignatureSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemoteBlockSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemotePlainTextBlockSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len - UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - + UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN; +#endif +} + + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ +static UA_StatusCode +asym_encrypt_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_basic256sha256(cc); + + mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); + + return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, + data, plainTextBlockSize); +} + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ +static UA_StatusCode +asym_decrypt_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, + &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA1); +} + +static size_t +asym_getLocalEncryptionKeyLength_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; +} + +static size_t +asym_getRemoteEncryptionKeyLength_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; +} + +static UA_StatusCode +asym_makeThumbprint_sp_basic256sha256(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_thumbprint_sha1(certificate, thumbprint); +} + +static UA_StatusCode +asymmetricModule_compareCertificateThumbprint_sp_basic256sha256(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + + return UA_STATUSCODE_GOOD; +} + +/*******************/ +/* SymmetricModule */ +/*******************/ + +static UA_StatusCode +sym_verify_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + Basic256Sha256_PolicyContext *pc = cc->policyContext; + unsigned char mac[UA_SHA256_LENGTH]; + mbedtls_hmac(&pc->sha256MdContext, &cc->remoteSymSigningKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sym_sign_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_hmac(&cc->policyContext->sha256MdContext, &cc->localSymSigningKey, + message, signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +sym_getSignatureSize_sp_basic256sha256(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static size_t +sym_getSigningKeyLength_sp_basic256sha256(const void *channelContext) { + return UA_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +sym_getEncryptionKeyLength_sp_basic256sha256(const void *channelContext) { + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_KEY_LENGTH; +} + +static size_t +sym_getEncryptionBlockSize_sp_basic256sha256(const void *channelContext) { + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +sym_getPlainTextBlockSize_sp_basic256sha256(const void *channelContext) { + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +sym_encrypt_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(cc->localSymIv.length != UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t plainTextBlockSize = UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE; + + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_decrypt_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t encryptionBlockSize = UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE; + if(cc->remoteSymIv.length != encryptionBlockSize) + return UA_STATUSCODE_BADINTERNALERROR; + + if(data->length % encryptionBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_generateKey_sp_basic256sha256(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + if(secret == NULL || seed == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *)policyContext; + return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); +} + +static UA_StatusCode +sym_generateNonce_sp_basic256sha256(void *policyContext, UA_ByteString *out) { + if(out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *)policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +/* Assumes that the certificate has been verified externally */ +static UA_StatusCode +parseRemoteCertificate_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *remoteCertificate) { + if(remoteCertificate == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Parse the certificate */ + int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, + remoteCertificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Check the key length */ +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + size_t keylen = rsaContext->len; +#else + size_t keylen = mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif + if(keylen < UA_SECURITYPOLICY_BASIC256SHA256_MINASYMKEYLENGTH || + keylen > UA_SECURITYPOLICY_BASIC256SHA256_MAXASYMKEYLENGTH) + return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; + + return UA_STATUSCODE_GOOD; +} + +static void +channelContext_deleteContext_sp_basic256sha256(Basic256Sha256_ChannelContext *cc) { + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + mbedtls_x509_crt_free(&cc->remoteCertificate); + + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_basic256sha256(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **pp_contextData) { + if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate the channel context */ + *pp_contextData = UA_malloc(sizeof(Basic256Sha256_ChannelContext)); + if(*pp_contextData == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + Basic256Sha256_ChannelContext *cc = (Basic256Sha256_ChannelContext *)*pp_contextData; + + /* Initialize the channel context */ + cc->policyContext = (Basic256Sha256_PolicyContext *)securityPolicy->policyContext; + + UA_ByteString_init(&cc->localSymSigningKey); + UA_ByteString_init(&cc->localSymEncryptingKey); + UA_ByteString_init(&cc->localSymIv); + + UA_ByteString_init(&cc->remoteSymSigningKey); + UA_ByteString_init(&cc->remoteSymEncryptingKey); + UA_ByteString_init(&cc->remoteSymIv); + + mbedtls_x509_crt_init(&cc->remoteCertificate); + + // TODO: this can be optimized so that we dont allocate memory before parsing the certificate + UA_StatusCode retval = parseRemoteCertificate_sp_basic256sha256(cc, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + channelContext_deleteContext_sp_basic256sha256(cc); + *pp_contextData = NULL; + } + return retval; +} + +static UA_StatusCode +channelContext_setLocalSymEncryptingKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setLocalSymSigningKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + + +static UA_StatusCode +channelContext_setLocalSymIv_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +channelContext_setRemoteSymEncryptingKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setRemoteSymSigningKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +channelContext_setRemoteSymIv_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(iv, &cc->remoteSymIv); +} + +static UA_StatusCode +channelContext_compareCertificate_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, + const UA_ByteString *certificate) { + if(cc == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(cert.raw.len != cc->remoteCertificate.raw.len || + memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + mbedtls_x509_crt_free(&cert); + return retval; +} + +static void +clear_sp_basic256sha256(UA_SecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *) + securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_md_free(&pc->sha256MdContext); + UA_ByteString_clear(&pc->localCertThumbprint); + + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_basic256sha256"); + + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_basic256sha256(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Basic256Sha256_PolicyContext *pc = + (Basic256Sha256_PolicyContext *) securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_pk_init(&pc->localPrivateKey); + int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + retval = asym_makeThumbprint_sp_basic256sha256(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return retval; + + error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + clear_sp_basic256sha256(securityPolicy); + return retval; +} + +static UA_StatusCode +policyContext_newContext_sp_basic256sha256(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if (localPrivateKey.length == 0) { + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Can not initialize security policy. Private key is empty."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *) + UA_malloc(sizeof(Basic256Sha256_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(Basic256Sha256_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_pk_init(&pc->localPrivateKey); + mbedtls_md_init(&pc->sha256MdContext); + + /* Initialized the message digest */ + const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the private key */ + mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the local certificate thumbprint */ + retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); + if(retval != UA_STATUSCODE_GOOD) + goto error; + retval = asym_makeThumbprint_sp_basic256sha256(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return UA_STATUSCODE_GOOD; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext: %s", UA_StatusCode_name(retval)); + if(securityPolicy->policyContext != NULL) + clear_sp_basic256sha256(securityPolicy); + return retval; +} + +UA_StatusCode +UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, const UA_Logger *logger) { + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"); + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule */ + UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); + asym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_basic256sha256; + asym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_basic256sha256; + asym_signatureAlgorithm->getLocalSignatureSize = + (size_t (*)(const void *))asym_getLocalSignatureSize_sp_basic256sha256; + asym_signatureAlgorithm->getRemoteSignatureSize = + (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_basic256sha256; + asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function + asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function + + UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); + asym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_basic256sha256; + asym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *)) + asym_decrypt_sp_basic256sha256; + asym_encryptionAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_basic256sha256; + asym_encryptionAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_basic256sha256; + asym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))asym_getRemoteBlockSize_sp_basic256sha256; + asym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_basic256sha256; + + asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_basic256sha256; + asymmetricModule->compareCertificateThumbprint = + asymmetricModule_compareCertificateThumbprint_sp_basic256sha256; + + /* SymmetricModule */ + symmetricModule->generateKey = sym_generateKey_sp_basic256sha256; + symmetricModule->generateNonce = sym_generateNonce_sp_basic256sha256; + + UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + sym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); + sym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))sym_verify_sp_basic256sha256; + sym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_basic256sha256; + sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_basic256sha256; + sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_basic256sha256; + sym_signatureAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256sha256; + sym_signatureAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256sha256; + + UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc"); + sym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_basic256sha256; + sym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_basic256sha256; + sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_basic256sha256; + sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_basic256sha256; + sym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_basic256sha256; + sym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_basic256sha256; + symmetricModule->secureChannelNonceLength = 32; + + // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + /* ChannelModule */ + channelModule->newContext = channelContext_newContext_sp_basic256sha256; + channelModule->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_basic256sha256; + + channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymEncryptingKey_sp_basic256sha256; + channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymSigningKey_sp_basic256sha256; + channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymIv_sp_basic256sha256; + + channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymEncryptingKey_sp_basic256sha256; + channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymSigningKey_sp_basic256sha256; + channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymIv_sp_basic256sha256; + + channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) + channelContext_compareCertificate_sp_basic256sha256; + + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic256sha256; + policy->clear = clear_sp_basic256sha256; + + UA_StatusCode res = policyContext_newContext_sp_basic256sha256(policy, localPrivateKey); + if(res != UA_STATUSCODE_GOOD) + clear_sp_basic256sha256(policy); + + return res; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_aes128sha256rsaoaep.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG + * Copyright 2018 (c) HMS Industrial Networks AB (Author: Jonas Green) + * Copyright 2020 (c) Wind River Systems, Inc. + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Notes: + * mbedTLS' AES allows in-place encryption and decryption. So we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN 42 +#define UA_SHA1_LENGTH 20 +#define UA_SHA256_LENGTH 32 +#define UA_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_KEY_LENGTH 16 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MINASYMKEYLENGTH 256 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MAXASYMKEYLENGTH 512 + +typedef struct { + UA_ByteString localCertThumbprint; + + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha256MdContext; + mbedtls_pk_context localPrivateKey; +} Aes128Sha256PsaOaep_PolicyContext; + +typedef struct { + Aes128Sha256PsaOaep_PolicyContext *policyContext; + + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + mbedtls_x509_crt remoteCertificate; +} Aes128Sha256PsaOaep_ChannelContext; + +/********************/ +/* AsymmetricModule */ +/********************/ + +/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_verify_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + /* Set the RSA settings */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); + + /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_verify() */ + /* Alternatively, use more specific function mbedtls_rsa_rsassa_pkcs1_v15_verify(), i.e. */ + /* int mbedErr = mbedtls_rsa_rsassa_pkcs1_v15_verify(rsaContext, NULL, NULL, + MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, + UA_SHA256_LENGTH, hash, + signature->data); */ + int mbedErr = mbedtls_pk_verify(&cc->remoteCertificate.pk, + MBEDTLS_MD_SHA256, hash, UA_SHA256_LENGTH, + signature->data, signature->length); + + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_sign_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + Aes128Sha256PsaOaep_PolicyContext *pc = cc->policyContext; + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); + + size_t sigLen = 0; + + /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_sign */ + /* Alternatively use more specific function mbedtls_rsa_rsassa_pkcs1_v15_sign() */ + int mbedErr = mbedtls_pk_sign(&pc->localPrivateKey, + MBEDTLS_MD_SHA256, hash, + UA_SHA256_LENGTH, signature->data, +#if MBEDTLS_VERSION_NUMBER >= 0x03000000 + signature->length, +#endif + &sigLen, mbedtls_ctr_drbg_random, + &pc->drbgContext); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +static size_t +asym_getLocalSignatureSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); +#endif +} + +static size_t +asym_getRemoteSignatureSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemoteBlockSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemotePlainTextBlockSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len - UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - + UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN; +#endif +} + + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ +static UA_StatusCode +asym_encrypt_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_aes128sha256rsaoaep(cc); + + mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); + + return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, + data, plainTextBlockSize); +} + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ +static UA_StatusCode +asym_decrypt_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, + &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA1); +} + +static size_t +asym_getLocalEncryptionKeyLength_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; +} + +static size_t +asym_getRemoteEncryptionKeyLength_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; +} + +static UA_StatusCode +asym_makeThumbprint_sp_aes128sha256rsaoaep(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_thumbprint_sha1(certificate, thumbprint); +} + +static UA_StatusCode +asymmetricModule_compareCertificateThumbprint_sp_aes128sha256rsaoaep(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + + return UA_STATUSCODE_GOOD; +} + +/*******************/ +/* SymmetricModule */ +/*******************/ + +static UA_StatusCode +sym_verify_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + Aes128Sha256PsaOaep_PolicyContext *pc = cc->policyContext; + unsigned char mac[UA_SHA256_LENGTH]; + mbedtls_hmac(&pc->sha256MdContext, &cc->remoteSymSigningKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sym_sign_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_hmac(&cc->policyContext->sha256MdContext, &cc->localSymSigningKey, + message, signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +sym_getSignatureSize_sp_aes128sha256rsaoaep(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static size_t +sym_getSigningKeyLength_sp_aes128sha256rsaoaep(const void *channelContext) { + return UA_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +sym_getEncryptionKeyLength_sp_aes128sha256rsaoaep(const void *channelContext) { + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_KEY_LENGTH; +} + +static size_t +sym_getEncryptionBlockSize_sp_aes128sha256rsaoaep(const void *channelContext) { + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +sym_getPlainTextBlockSize_sp_aes128sha256rsaoaep(const void *channelContext) { + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +sym_encrypt_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(cc->localSymIv.length != UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t plainTextBlockSize = UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE; + + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_decrypt_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t encryptionBlockSize = UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE; + + if(cc->remoteSymIv.length != encryptionBlockSize) + return UA_STATUSCODE_BADINTERNALERROR; + + if(data->length % encryptionBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_generateKey_sp_aes128sha256rsaoaep(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + if(secret == NULL || seed == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *)policyContext; + return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); +} + +static UA_StatusCode +sym_generateNonce_sp_aes128sha256rsaoaep(void *policyContext, UA_ByteString *out) { + if(out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Aes128Sha256PsaOaep_PolicyContext *pc = + (Aes128Sha256PsaOaep_PolicyContext *)policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +/* Assumes that the certificate has been verified externally */ +static UA_StatusCode +parseRemoteCertificate_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *remoteCertificate) { + if(remoteCertificate == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Parse the certificate */ + int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, + remoteCertificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Check the key length */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + size_t keylen = rsaContext->len; +#else + size_t keylen = mbedtls_rsa_get_len(rsaContext); +#endif + if(keylen < UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MINASYMKEYLENGTH || + keylen > UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MAXASYMKEYLENGTH) + return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; + return UA_STATUSCODE_GOOD; +} + +static void +channelContext_deleteContext_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc) { + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + mbedtls_x509_crt_free(&cc->remoteCertificate); + + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_aes128sha256rsaoaep(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **pp_contextData) { + if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate the channel context */ + *pp_contextData = UA_malloc(sizeof(Aes128Sha256PsaOaep_ChannelContext)); + if(*pp_contextData == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + Aes128Sha256PsaOaep_ChannelContext *cc = (Aes128Sha256PsaOaep_ChannelContext *)*pp_contextData; + + /* Initialize the channel context */ + cc->policyContext = (Aes128Sha256PsaOaep_PolicyContext *)securityPolicy->policyContext; + + UA_ByteString_init(&cc->localSymSigningKey); + UA_ByteString_init(&cc->localSymEncryptingKey); + UA_ByteString_init(&cc->localSymIv); + + UA_ByteString_init(&cc->remoteSymSigningKey); + UA_ByteString_init(&cc->remoteSymEncryptingKey); + UA_ByteString_init(&cc->remoteSymIv); + + mbedtls_x509_crt_init(&cc->remoteCertificate); + + // TODO: this can be optimized so that we dont allocate memory before parsing the certificate + UA_StatusCode retval = parseRemoteCertificate_sp_aes128sha256rsaoaep(cc, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + channelContext_deleteContext_sp_aes128sha256rsaoaep(cc); + *pp_contextData = NULL; + } + return retval; +} + +static UA_StatusCode +channelContext_setLocalSymEncryptingKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setLocalSymSigningKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + + +static UA_StatusCode +channelContext_setLocalSymIv_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +channelContext_setRemoteSymEncryptingKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setRemoteSymSigningKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +channelContext_setRemoteSymIv_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(iv, &cc->remoteSymIv); +} + +static UA_StatusCode +channelContext_compareCertificate_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, + const UA_ByteString *certificate) { + if(cc == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(cert.raw.len != cc->remoteCertificate.raw.len || + memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + mbedtls_x509_crt_free(&cert); + return retval; +} + +static void +clear_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *) + securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_md_free(&pc->sha256MdContext); + UA_ByteString_clear(&pc->localCertThumbprint); + + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_aes128sha256rsaoaep"); + + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Aes128Sha256PsaOaep_PolicyContext *pc = + (Aes128Sha256PsaOaep_PolicyContext *) securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_pk_init(&pc->localPrivateKey); + int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + retval = asym_makeThumbprint_sp_aes128sha256rsaoaep(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return retval; + + error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + clear_sp_aes128sha256rsaoaep(securityPolicy); + return retval; +} + +static UA_StatusCode +policyContext_newContext_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if (localPrivateKey.length == 0) { + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Can not initialize security policy. Private key is empty."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *) + UA_malloc(sizeof(Aes128Sha256PsaOaep_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(Aes128Sha256PsaOaep_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_pk_init(&pc->localPrivateKey); + mbedtls_md_init(&pc->sha256MdContext); + + /* Initialized the message digest */ + const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the private key */ + mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the local certificate thumbprint */ + retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); + if(retval != UA_STATUSCODE_GOOD) + goto error; + retval = asym_makeThumbprint_sp_aes128sha256rsaoaep(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return UA_STATUSCODE_GOOD; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext: %s", UA_StatusCode_name(retval)); + if(securityPolicy->policyContext != NULL) + clear_sp_aes128sha256rsaoaep(securityPolicy); + return retval; +} + +UA_StatusCode +UA_SecurityPolicy_Aes128Sha256RsaOaep(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, const UA_Logger *logger) { + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"); + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule */ + UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); + asym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_aes128sha256rsaoaep; + asym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_aes128sha256rsaoaep; + asym_signatureAlgorithm->getLocalSignatureSize = + (size_t (*)(const void *))asym_getLocalSignatureSize_sp_aes128sha256rsaoaep; + asym_signatureAlgorithm->getRemoteSignatureSize = + (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_aes128sha256rsaoaep; + asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function + asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function + + UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); + asym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_aes128sha256rsaoaep; + asym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *)) asym_decrypt_sp_aes128sha256rsaoaep; + asym_encryptionAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_aes128sha256rsaoaep; + asym_encryptionAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_aes128sha256rsaoaep; + asym_encryptionAlgorithm->getRemoteBlockSize = (size_t (*)(const void *))asym_getRemoteBlockSize_sp_aes128sha256rsaoaep; + asym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_aes128sha256rsaoaep; + + asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_aes128sha256rsaoaep; + asymmetricModule->compareCertificateThumbprint = + asymmetricModule_compareCertificateThumbprint_sp_aes128sha256rsaoaep; + + /* SymmetricModule */ + symmetricModule->generateKey = sym_generateKey_sp_aes128sha256rsaoaep; + symmetricModule->generateNonce = sym_generateNonce_sp_aes128sha256rsaoaep; + + UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + sym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); + sym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))sym_verify_sp_aes128sha256rsaoaep; + sym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_aes128sha256rsaoaep; + sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_aes128sha256rsaoaep; + sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_aes128sha256rsaoaep; + sym_signatureAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes128sha256rsaoaep; + sym_signatureAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes128sha256rsaoaep; + + UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc"); + sym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_aes128sha256rsaoaep; + sym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_aes128sha256rsaoaep; + sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_aes128sha256rsaoaep; + sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_aes128sha256rsaoaep; + sym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_aes128sha256rsaoaep; + sym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_aes128sha256rsaoaep; + symmetricModule->secureChannelNonceLength = 32; + + // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + /* ChannelModule */ + channelModule->newContext = channelContext_newContext_sp_aes128sha256rsaoaep; + channelModule->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_aes128sha256rsaoaep; + + channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymEncryptingKey_sp_aes128sha256rsaoaep; + channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymSigningKey_sp_aes128sha256rsaoaep; + channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymIv_sp_aes128sha256rsaoaep; + + channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymEncryptingKey_sp_aes128sha256rsaoaep; + channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymSigningKey_sp_aes128sha256rsaoaep; + channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymIv_sp_aes128sha256rsaoaep; + + channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) + channelContext_compareCertificate_sp_aes128sha256rsaoaep; + + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep; + policy->clear = clear_sp_aes128sha256rsaoaep; + + UA_StatusCode res = policyContext_newContext_sp_aes128sha256rsaoaep(policy, localPrivateKey); + if(res != UA_STATUSCODE_GOOD) + clear_sp_aes128sha256rsaoaep(policy); + + return res; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_aes256sha256rsapss.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2022 (c) Fraunhofer IOSB (Author: Noel Graf) + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Notes: + * mbedTLS' AES allows in-place encryption and decryption. So we don't have to + * allocate temp buffers. + * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer + */ + +#define UA_SHA1_LENGTH 20 +#define UA_SHA256_LENGTH 32 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN 66 /* UA_SHA256_LENGTH * 2 + 2 */ +#define UA_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_KEY_LENGTH 32 /*16*/ +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MINASYMKEYLENGTH 256 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MAXASYMKEYLENGTH 512 + +typedef struct { + UA_ByteString localCertThumbprint; + + mbedtls_ctr_drbg_context drbgContext; + mbedtls_entropy_context entropyContext; + mbedtls_md_context_t sha256MdContext; + mbedtls_pk_context localPrivateKey; +} Aes256Sha256RsaPss_PolicyContext; + +typedef struct { + Aes256Sha256RsaPss_PolicyContext *policyContext; + + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + mbedtls_x509_crt remoteCertificate; +} Aes256Sha256RsaPss_ChannelContext; + +/********************/ +/* AsymmetricModule */ +/********************/ + +/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_verify_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + /* Set the RSA settings */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256); + +#if MBEDTLS_VERSION_NUMBER < 0x03000000 + Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; + int mbedErr = mbedtls_rsa_pkcs1_verify(rsaContext, mbedtls_ctr_drbg_random, &pc->drbgContext, + MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, UA_SHA256_LENGTH, + hash, signature->data); +#else + int mbedErr = mbedtls_rsa_pkcs1_verify(rsaContext, MBEDTLS_MD_SHA256, + UA_SHA256_LENGTH, hash, signature->data); +#endif + + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +/* AsymmetricSignatureAlgorithm_RSA-PSS-SHA2-256 */ +static UA_StatusCode +asym_sign_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256); + +#if MBEDTLS_VERSION_NUMBER < 0x03000000 + int mbedErr = mbedtls_rsa_pkcs1_sign(rsaContext, mbedtls_ctr_drbg_random, &pc->drbgContext, + MBEDTLS_RSA_PRIVATE, MBEDTLS_MD_SHA256, UA_SHA256_LENGTH, + hash, signature->data); +#else + int mbedErr = mbedtls_rsa_pkcs1_sign(rsaContext, mbedtls_ctr_drbg_random, &pc->drbgContext, + MBEDTLS_MD_SHA256, UA_SHA256_LENGTH, + hash, signature->data); +#endif + + + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +static size_t +asym_getLocalSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); +#endif +} + +static size_t +asym_getRemoteSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemoteBlockSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +static size_t +asym_getRemotePlainTextBlockSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + return rsaContext->len - UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - + UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN; +#endif +} + + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA2 */ +static UA_StatusCode +asym_encrypt_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_aes256sha256rsapss(cc); + + mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256); + + return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, + data, plainTextBlockSize); +} + +/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA2 */ +static UA_StatusCode +asym_decrypt_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, + &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA256); +} + +static size_t +asym_getLocalEncryptionKeyLength_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; +} + +static size_t +asym_getRemoteEncryptionKeyLength_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; +} + +static UA_StatusCode +asym_makeThumbprint_sp_aes256sha256rsapss(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + return mbedtls_thumbprint_sha1(certificate, thumbprint); +} + +static UA_StatusCode +asymmetricModule_compareCertificateThumbprint_sp_aes256sha256rsapss(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + + return UA_STATUSCODE_GOOD; +} + +/*******************/ +/* SymmetricModule */ +/*******************/ + +static UA_StatusCode +sym_verify_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(cc == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute MAC */ + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; + unsigned char mac[UA_SHA256_LENGTH]; + mbedtls_hmac(&pc->sha256MdContext, &cc->remoteSymSigningKey, message, mac); + + /* Compare with Signature */ + if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sym_sign_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(signature->length != UA_SHA256_LENGTH) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_hmac(&cc->policyContext->sha256MdContext, &cc->localSymSigningKey, + message, signature->data); + return UA_STATUSCODE_GOOD; +} + +static size_t +sym_getSignatureSize_sp_aes256sha256rsapss(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static size_t +sym_getSigningKeyLength_sp_aes256sha256rsapss(const void *channelContext) { + return UA_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +sym_getEncryptionKeyLength_sp_aes256sha256rsapss(const void *channelContext) { + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_KEY_LENGTH; +} + +static size_t +sym_getEncryptionBlockSize_sp_aes256sha256rsapss(const void *channelContext) { + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +sym_getPlainTextBlockSize_sp_aes256sha256rsapss(const void *channelContext) { + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE; +} + +static UA_StatusCode +sym_encrypt_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(cc->localSymIv.length != UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t plainTextBlockSize = UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE; + + if(data->length % plainTextBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Keylength in bits */ + unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_decrypt_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, + UA_ByteString *data) { + if(cc == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + size_t encryptionBlockSize = UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE; + + if(cc->remoteSymIv.length != encryptionBlockSize) + return UA_STATUSCODE_BADINTERNALERROR; + + if(data->length % encryptionBlockSize != 0) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); + mbedtls_aes_context aesContext; + int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString ivCopy; + UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, + ivCopy.data, data->data, data->data); + if(mbedErr) + retval = UA_STATUSCODE_BADINTERNALERROR; + UA_ByteString_clear(&ivCopy); + return retval; +} + +static UA_StatusCode +sym_generateKey_sp_aes256sha256rsapss(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + if(secret == NULL || seed == NULL || out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *)policyContext; + return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); +} + +static UA_StatusCode +sym_generateNonce_sp_aes256sha256rsapss(void *policyContext, UA_ByteString *out) { + if(out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Aes256Sha256RsaPss_PolicyContext *pc = + (Aes256Sha256RsaPss_PolicyContext *)policyContext; + int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); + if(mbedErr) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +/***********************************/ +/* CertificateSigningAlgorithms */ +/***********************************/ + +static UA_StatusCode +asym_cert_verify_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + /* Set the RSA settings */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); + + /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_verify() */ + /* Alternatively, use more specific function mbedtls_rsa_rsassa_pkcs1_v15_verify(), i.e. */ + /* int mbedErr = mbedtls_rsa_rsassa_pkcs1_v15_verify(rsaContext, NULL, NULL, + MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, + UA_SHA256_LENGTH, hash, + signature->data); */ + int mbedErr = mbedtls_pk_verify(&cc->remoteCertificate.pk, + MBEDTLS_MD_SHA256, hash, UA_SHA256_LENGTH, + signature->data, signature->length); + + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + return UA_STATUSCODE_GOOD; +} + +/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +asym_cert_sign_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *message, + UA_ByteString *signature) { + if(message == NULL || signature == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + unsigned char hash[UA_SHA256_LENGTH]; +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + // TODO check return status + mbedtls_sha256_ret(message->data, message->length, hash, 0); +#else + mbedtls_sha256(message->data, message->length, hash, 0); +#endif + + Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); + mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); + + size_t sigLen = 0; + + /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_sign */ + /* Alternatively use more specific function mbedtls_rsa_rsassa_pkcs1_v15_sign() */ + int mbedErr = mbedtls_pk_sign(&pc->localPrivateKey, + MBEDTLS_MD_SHA256, hash, + UA_SHA256_LENGTH, signature->data, +#if MBEDTLS_VERSION_NUMBER >= 0x03000000 + signature->length, +#endif + &sigLen, mbedtls_ctr_drbg_random, + &pc->drbgContext); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +static size_t +asym_cert_getLocalSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); +#endif +} + +static size_t +asym_cert_getRemoteSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { + if(cc == NULL) + return 0; +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; +#else + return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); +#endif +} + +/*****************/ +/* ChannelModule */ +/*****************/ + +/* Assumes that the certificate has been verified externally */ +static UA_StatusCode +parseRemoteCertificate_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *remoteCertificate) { + if(remoteCertificate == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Parse the certificate */ + int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, + remoteCertificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Check the key length */ + mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + size_t keylen = rsaContext->len; +#else + size_t keylen = mbedtls_rsa_get_len(rsaContext); +#endif + if(keylen < UA_SECURITYPOLICY_AES256SHA256RSAPSS_MINASYMKEYLENGTH || + keylen > UA_SECURITYPOLICY_AES256SHA256RSAPSS_MAXASYMKEYLENGTH) + return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; + return UA_STATUSCODE_GOOD; +} + +static void +channelContext_deleteContext_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc) { + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + mbedtls_x509_crt_free(&cc->remoteCertificate); + + UA_free(cc); +} + +static UA_StatusCode +channelContext_newContext_sp_aes256sha256rsapss(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **pp_contextData) { + if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate the channel context */ + *pp_contextData = UA_malloc(sizeof(Aes256Sha256RsaPss_ChannelContext)); + if(*pp_contextData == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + Aes256Sha256RsaPss_ChannelContext *cc = (Aes256Sha256RsaPss_ChannelContext *)*pp_contextData; + + /* Initialize the channel context */ + cc->policyContext = (Aes256Sha256RsaPss_PolicyContext *)securityPolicy->policyContext; + + UA_ByteString_init(&cc->localSymSigningKey); + UA_ByteString_init(&cc->localSymEncryptingKey); + UA_ByteString_init(&cc->localSymIv); + + UA_ByteString_init(&cc->remoteSymSigningKey); + UA_ByteString_init(&cc->remoteSymEncryptingKey); + UA_ByteString_init(&cc->remoteSymIv); + + mbedtls_x509_crt_init(&cc->remoteCertificate); + + // TODO: this can be optimized so that we dont allocate memory before parsing the certificate + UA_StatusCode retval = parseRemoteCertificate_sp_aes256sha256rsapss(cc, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + channelContext_deleteContext_sp_aes256sha256rsapss(cc); + *pp_contextData = NULL; + } + return retval; +} + +static UA_StatusCode +channelContext_setLocalSymEncryptingKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setLocalSymSigningKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + + +static UA_StatusCode +channelContext_setLocalSymIv_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +channelContext_setRemoteSymEncryptingKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +channelContext_setRemoteSymSigningKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *key) { + if(key == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +channelContext_setRemoteSymIv_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *iv) { + if(iv == NULL || cc == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(iv, &cc->remoteSymIv); +} + +static UA_StatusCode +channelContext_compareCertificate_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, + const UA_ByteString *certificate) { + if(cc == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(cert.raw.len != cc->remoteCertificate.raw.len || + memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + mbedtls_x509_crt_free(&cert); + return retval; +} + +static void +clear_sp_aes256sha256rsapss(UA_SecurityPolicy *securityPolicy) { + if(securityPolicy == NULL) + return; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + if(securityPolicy->policyContext == NULL) + return; + + /* delete all allocated members in the context */ + Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *) + securityPolicy->policyContext; + + mbedtls_ctr_drbg_free(&pc->drbgContext); + mbedtls_entropy_free(&pc->entropyContext); + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_md_free(&pc->sha256MdContext); + UA_ByteString_clear(&pc->localCertThumbprint); + + UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Deleted members of EndpointContext for sp_aes256sha256rsapss"); + + UA_free(pc); + securityPolicy->policyContext = NULL; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_aes256sha256rsapss(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Aes256Sha256RsaPss_PolicyContext *pc = + (Aes256Sha256RsaPss_PolicyContext *) securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + mbedtls_pk_free(&pc->localPrivateKey); + mbedtls_pk_init(&pc->localPrivateKey); + int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + retval = asym_makeThumbprint_sp_aes256sha256rsapss(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + clear_sp_aes256sha256rsapss(securityPolicy); + return retval; +} + +static UA_StatusCode +policyContext_newContext_sp_aes256sha256rsapss(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if (localPrivateKey.length == 0) { + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Can not initialize security policy. Private key is empty."); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *) + UA_malloc(sizeof(Aes256Sha256RsaPss_PolicyContext)); + securityPolicy->policyContext = (void *)pc; + if(!pc) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + /* Initialize the PolicyContext */ + memset(pc, 0, sizeof(Aes256Sha256RsaPss_PolicyContext)); + mbedtls_ctr_drbg_init(&pc->drbgContext); + mbedtls_entropy_init(&pc->entropyContext); + mbedtls_pk_init(&pc->localPrivateKey); + mbedtls_md_init(&pc->sha256MdContext); + + /* Initialized the message digest */ + const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); + if(mbedErr) { + retval = UA_STATUSCODE_BADOUTOFMEMORY; + goto error; + } + + mbedErr = mbedtls_entropy_self_test(0); + + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Seed the RNG */ + char *personalization = "open62541-drbg"; + mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, + &pc->entropyContext, + (const unsigned char *)personalization, 14); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the private key */ + mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); + if(mbedErr) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + /* Set the local certificate thumbprint */ + retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); + if(retval != UA_STATUSCODE_GOOD) + goto error; + retval = asym_makeThumbprint_sp_aes256sha256rsapss(securityPolicy, + &securityPolicy->localCertificate, + &pc->localCertThumbprint); + if(retval != UA_STATUSCODE_GOOD) + goto error; + + return UA_STATUSCODE_GOOD; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not create securityContext: %s", UA_StatusCode_name(retval)); + if(securityPolicy->policyContext != NULL) + clear_sp_aes256sha256rsapss(securityPolicy); + return retval; +} + +UA_StatusCode +UA_SecurityPolicy_Aes256Sha256RsaPss(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, const UA_Logger *logger) { + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"); + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + + UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule */ + UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asym_signatureAlgorithm->uri = + UA_STRING("http://opcfoundation.org/UA/security/rsa-pss-sha2-256\0"); + asym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_aes256sha256rsapss; + asym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_aes256sha256rsapss; + asym_signatureAlgorithm->getLocalSignatureSize = + (size_t (*)(const void *))asym_getLocalSignatureSize_sp_aes256sha256rsapss; + asym_signatureAlgorithm->getRemoteSignatureSize = + (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_aes256sha256rsapss; + asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function + asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function + + UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asym_encryptionAlgorithm->uri = UA_STRING("http://opcfoundation.org/UA/security/rsa-oaep-sha2-256\0"); + asym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_aes256sha256rsapss; + asym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *)) asym_decrypt_sp_aes256sha256rsapss; + asym_encryptionAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_aes256sha256rsapss; + asym_encryptionAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_aes256sha256rsapss; + asym_encryptionAlgorithm->getRemoteBlockSize = (size_t (*)(const void *))asym_getRemoteBlockSize_sp_aes256sha256rsapss; + asym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_aes256sha256rsapss; + + asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_aes256sha256rsapss; + asymmetricModule->compareCertificateThumbprint = + asymmetricModule_compareCertificateThumbprint_sp_aes256sha256rsapss; + + /* SymmetricModule */ + symmetricModule->generateKey = sym_generateKey_sp_aes256sha256rsapss; + symmetricModule->generateNonce = sym_generateNonce_sp_aes256sha256rsapss; + + UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + sym_signatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); + sym_signatureAlgorithm->verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))sym_verify_sp_aes256sha256rsapss; + sym_signatureAlgorithm->sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_aes256sha256rsapss; + sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_aes256sha256rsapss; + sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_aes256sha256rsapss; + sym_signatureAlgorithm->getLocalKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes256sha256rsapss; + sym_signatureAlgorithm->getRemoteKeyLength = + (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes256sha256rsapss; + + UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); + sym_encryptionAlgorithm->encrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_aes256sha256rsapss; + sym_encryptionAlgorithm->decrypt = + (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_aes256sha256rsapss; + sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_aes256sha256rsapss; + sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_aes256sha256rsapss; + sym_encryptionAlgorithm->getRemoteBlockSize = + (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_aes256sha256rsapss; + sym_encryptionAlgorithm->getRemotePlainTextBlockSize = + (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_aes256sha256rsapss; + symmetricModule->secureChannelNonceLength = 32; + + /* Certificate Signing Algorithm */ + policy->certificateSigningAlgorithm.uri = + UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); + policy->certificateSigningAlgorithm.verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_cert_verify_sp_aes256sha256rsapss; + policy->certificateSigningAlgorithm.sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_cert_sign_sp_aes256sha256rsapss; + policy->certificateSigningAlgorithm.getLocalSignatureSize = + (size_t (*)(const void *))asym_cert_getLocalSignatureSize_sp_aes256sha256rsapss; + policy->certificateSigningAlgorithm.getRemoteSignatureSize = + (size_t (*)(const void *))asym_cert_getRemoteSignatureSize_sp_aes256sha256rsapss; + policy->certificateSigningAlgorithm.getLocalKeyLength = NULL; // TODO: Write function + policy->certificateSigningAlgorithm.getRemoteKeyLength = NULL; // TODO: Write function + + /* ChannelModule */ + channelModule->newContext = channelContext_newContext_sp_aes256sha256rsapss; + channelModule->deleteContext = (void (*)(void *)) + channelContext_deleteContext_sp_aes256sha256rsapss; + + channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymEncryptingKey_sp_aes256sha256rsapss; + channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymSigningKey_sp_aes256sha256rsapss; + channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setLocalSymIv_sp_aes256sha256rsapss; + + channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymEncryptingKey_sp_aes256sha256rsapss; + channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymSigningKey_sp_aes256sha256rsapss; + channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) + channelContext_setRemoteSymIv_sp_aes256sha256rsapss; + + channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) + channelContext_compareCertificate_sp_aes256sha256rsapss; + + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_aes256sha256rsapss; + policy->clear = clear_sp_aes256sha256rsapss; + + UA_StatusCode res = policyContext_newContext_sp_aes256sha256rsapss(policy, localPrivateKey); + if(res != UA_STATUSCODE_GOOD) + clear_sp_aes256sha256rsapss(policy); + + return res; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_mbedtls_create_certificate.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright (c) 2023 Fraunhofer IOSB (Author: Noel Graf) + * + */ + +#include + + +#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) + +#include +#include +#include +#include +#include +#include +#include + +#define SET_OID(x, oid) \ + do { x.len = MBEDTLS_OID_SIZE(oid); x.p = (unsigned char *) oid; } while (0) + +#define MBEDTLS_ASN1_CHK_CLEANUP_ADD(g, f) \ + do \ + { \ + if ((ret = (f)) < 0) \ + goto cleanup; \ + else \ + (g) += ret; \ + } while (0) + +#if MBEDTLS_VERSION_NUMBER < 0x02170000 +#define MBEDTLS_X509_SAN_OTHER_NAME 0 +#define MBEDTLS_X509_SAN_RFC822_NAME 1 +#define MBEDTLS_X509_SAN_DNS_NAME 2 +#define MBEDTLS_X509_SAN_X400_ADDRESS_NAME 3 +#define MBEDTLS_X509_SAN_DIRECTORY_NAME 4 +#define MBEDTLS_X509_SAN_EDI_PARTY_NAME 5 +#define MBEDTLS_X509_SAN_UNIFORM_RESOURCE_IDENTIFIER 6 +#define MBEDTLS_X509_SAN_IP_ADDRESS 7 +#define MBEDTLS_X509_SAN_REGISTERED_ID 8 +#endif + +#define MBEDTLS_SAN_MAX_LEN 64 +typedef struct mbedtls_write_san_node{ + int type; + char* host; + size_t hostlen; +} mbedtls_write_san_node; + +typedef struct mbedtls_write_san_list{ + mbedtls_write_san_node node; + struct mbedtls_write_san_list* next; +} mbedtls_write_san_list; + +static size_t mbedtls_get_san_list_deep(const mbedtls_write_san_list* sanlist); + +int mbedtls_x509write_crt_set_subject_alt_name(mbedtls_x509write_cert *ctx, const mbedtls_write_san_list* sanlist); + +#if MBEDTLS_VERSION_NUMBER < 0x03030000 +int mbedtls_x509write_crt_set_ext_key_usage(mbedtls_x509write_cert *ctx, + const mbedtls_asn1_sequence *exts); +#endif + +static int write_certificate(mbedtls_x509write_cert *crt, UA_CertificateFormat certFormat, + UA_ByteString *outCertificate, int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng); + +static int write_private_key(mbedtls_pk_context *key, UA_CertificateFormat keyFormat, UA_ByteString *outPrivateKey); + +UA_StatusCode +UA_CreateCertificate(const UA_Logger *logger, const UA_String *subject, + size_t subjectSize, const UA_String *subjectAltName, + size_t subjectAltNameSize, UA_CertificateFormat certFormat, + UA_KeyValueMap *params, UA_ByteString *outPrivateKey, + UA_ByteString *outCertificate) { + if(!outPrivateKey || !outCertificate || !logger || !subjectAltName || !subject || + subjectAltNameSize == 0 || subjectSize == 0 || + (certFormat != UA_CERTIFICATEFORMAT_DER && certFormat != UA_CERTIFICATEFORMAT_PEM)) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Use the maximum size */ + UA_UInt16 keySizeBits = 4096; + /* Default to 1 year */ + UA_UInt16 expiresInDays = 365; + + if(params) { + const UA_UInt16 *keySizeBitsValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( + params, UA_QUALIFIEDNAME(0, "key-size-bits"), &UA_TYPES[UA_TYPES_UINT16]); + if(keySizeBitsValue) + keySizeBits = *keySizeBitsValue; + + const UA_UInt16 *expiresInDaysValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( + params, UA_QUALIFIEDNAME(0, "expires-in-days"), &UA_TYPES[UA_TYPES_UINT16]); + if(expiresInDaysValue) + expiresInDays = *expiresInDaysValue; + } + + UA_ByteString_init(outPrivateKey); + UA_ByteString_init(outCertificate); + + mbedtls_pk_context key; + mbedtls_ctr_drbg_context ctr_drbg; + mbedtls_entropy_context entropy; + const char *pers = "gen_key"; + mbedtls_x509write_cert crt; + + UA_StatusCode errRet = UA_STATUSCODE_GOOD; + + /* Set to sane values */ + mbedtls_pk_init(&key); + mbedtls_ctr_drbg_init(&ctr_drbg); + mbedtls_entropy_init(&entropy); + mbedtls_x509write_crt_init(&crt); + + /* Seed the random number generator */ + if (mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, (const unsigned char *)pers, strlen(pers)) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Failed to initialize the random number generator."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + /* Generate an RSA key pair */ + if (mbedtls_pk_setup(&key, mbedtls_pk_info_from_type(MBEDTLS_PK_RSA)) != 0 || + mbedtls_rsa_gen_key(mbedtls_pk_rsa(key), mbedtls_ctr_drbg_random, &ctr_drbg, keySizeBits, 65537) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Failed to generate RSA key pair."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + /* Setting certificate values */ + mbedtls_x509write_crt_set_version(&crt, MBEDTLS_X509_CRT_VERSION_3); + mbedtls_x509write_crt_set_md_alg(&crt, MBEDTLS_MD_SHA256); + + size_t subject_char_len = 0; + for(size_t i = 0; i < subjectSize; i++) { + subject_char_len += subject[i].length; + } + char *subject_char = (char*)UA_malloc(subject_char_len + subjectSize); + if(!subject_char) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Cannot allocate memory for subject. Out of memory."); + errRet = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + size_t pos = 0; + for(size_t i = 0; i < subjectSize; i++) { + subject_char_len += subject[i].length; + memcpy(subject_char + pos, subject[i].data, subject[i].length); + pos += subject[i].length; + if(i < subjectSize - 1) + subject_char[pos++] = ','; + else + subject_char[pos++] = '\0'; + } + + if((mbedtls_x509write_crt_set_subject_name(&crt, subject_char)) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting subject failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + UA_free(subject_char); + goto cleanup; + } + + if((mbedtls_x509write_crt_set_issuer_name(&crt, subject_char)) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting issuer failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + UA_free(subject_char); + goto cleanup; + } + + UA_free(subject_char); + + mbedtls_write_san_list *cur = NULL; + mbedtls_write_san_list *cur_tmp = NULL; + mbedtls_write_san_list *head = NULL; + for(size_t i = 0; i < subjectAltNameSize; i++) { + char *sanType; + char *sanValue; + size_t sanValueLength; + char *subAlt = (char *)UA_malloc(subjectAltName[i].length + 1); + memcpy(subAlt, subjectAltName[i].data, subjectAltName[i].length); + + /* null-terminate the copied string */ + subAlt[subjectAltName[i].length] = 0; + /* split into SAN type and value */ + sanType = strtok(subAlt, ":"); + sanValue = (char *)subjectAltName[i].data + strlen(sanType) + 1; + sanValueLength = subjectAltName[i].length - strlen(sanType) - 1; + + if(sanType) { + cur_tmp = (mbedtls_write_san_list*)mbedtls_calloc(1, sizeof(mbedtls_write_san_list)); + cur_tmp->next = NULL; + cur_tmp->node.host = sanValue; + cur_tmp->node.hostlen = sanValueLength; + + if(strcmp(sanType, "DNS") == 0) { + cur_tmp->node.type = MBEDTLS_X509_SAN_DNS_NAME; + } else if(strcmp(sanType, "URI") == 0) { + cur_tmp->node.type = MBEDTLS_X509_SAN_UNIFORM_RESOURCE_IDENTIFIER; + } else if(strcmp(sanType, "IP") == 0) { + uint8_t ip[4] = {0}; + if(UA_inet_pton(AF_INET, sanValue, ip) <= 0) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURECHANNEL, "IP SAN preparation failed"); + mbedtls_free(cur_tmp); + UA_free(subAlt); + continue; + } + cur_tmp->node.type = MBEDTLS_X509_SAN_IP_ADDRESS; + cur_tmp->node.host = (char *)ip; + cur_tmp->node.hostlen = sizeof(ip); + } else if(strcmp(sanType, "RFC822") == 0) { + cur_tmp->node.type = MBEDTLS_X509_SAN_RFC822_NAME; + } else { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURECHANNEL, "Given an unsupported SAN"); + mbedtls_free(cur_tmp); + UA_free(subAlt); + continue; + } + } else { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURECHANNEL, "Invalid Input format"); + UA_free(subAlt); + continue; + } + + if(!cur) { + cur = cur_tmp; + head = cur_tmp; + } else { + cur->next = cur_tmp; + cur = cur->next; + } + + UA_free(subAlt); + } + + if((mbedtls_x509write_crt_set_subject_alt_name(&crt, head)) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting subject alternative name failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + while(head != NULL) { + cur_tmp = head->next; + mbedtls_free(head); + head = cur_tmp; + } + goto cleanup; + } + + while(head != NULL) { + cur_tmp = head->next; + mbedtls_free(head); + head = cur_tmp; + } + +#if MBEDTLS_VERSION_NUMBER >= 0x03040000 + unsigned char *serial = (unsigned char *)"1"; + size_t serial_len = 1; + mbedtls_x509write_crt_set_serial_raw(&crt, serial, serial_len); +#else + mbedtls_mpi serial_mpi; + mbedtls_mpi_init(&serial_mpi); + mbedtls_mpi_lset(&serial_mpi, 1); + mbedtls_x509write_crt_set_serial(&crt, &serial_mpi); + mbedtls_mpi_free(&serial_mpi); +#endif + + /* Get the current time */ + time_t rawTime; + struct tm *timeInfo; + time(&rawTime); + timeInfo = gmtime(&rawTime); + + /* Format the current timestamp */ + char current_timestamp[15]; // YYYYMMDDhhmmss + '\0' + strftime(current_timestamp, sizeof(current_timestamp), "%Y%m%d%H%M%S", timeInfo); + + /* Calculate the future timestamp */ + timeInfo->tm_mday += expiresInDays; + time_t future_time = mktime(timeInfo); + + /* Format the future timestamp */ + char future_timestamp[15]; // YYYYMMDDhhmmss + '\0' + strftime(future_timestamp, sizeof(future_timestamp), "%Y%m%d%H%M%S", gmtime(&future_time)); + + if(mbedtls_x509write_crt_set_validity(&crt, current_timestamp, future_timestamp) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting 'not before' and 'not after' failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(mbedtls_x509write_crt_set_basic_constraints(&crt, 0, -1) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting basic constraints failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(mbedtls_x509write_crt_set_key_usage(&crt, MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION + | MBEDTLS_X509_KU_KEY_ENCIPHERMENT | MBEDTLS_X509_KU_DATA_ENCIPHERMENT + | MBEDTLS_X509_KU_KEY_CERT_SIGN | MBEDTLS_X509_KU_CRL_SIGN) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting key usage failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + mbedtls_asn1_sequence *ext_key_usage; + ext_key_usage = (mbedtls_asn1_sequence *)mbedtls_calloc(1, sizeof(mbedtls_asn1_sequence)); + ext_key_usage->buf.tag = MBEDTLS_ASN1_OID; + SET_OID(ext_key_usage->buf, MBEDTLS_OID_SERVER_AUTH); + ext_key_usage->next = (mbedtls_asn1_sequence *)mbedtls_calloc(1, sizeof(mbedtls_asn1_sequence)); + ext_key_usage->next->buf.tag = MBEDTLS_ASN1_OID; + SET_OID(ext_key_usage->next->buf, MBEDTLS_OID_CLIENT_AUTH); + + if(mbedtls_x509write_crt_set_ext_key_usage(&crt, ext_key_usage) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Setting extended key usage failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + mbedtls_free(ext_key_usage->next); + mbedtls_free(ext_key_usage); + goto cleanup; + } + + mbedtls_free(ext_key_usage->next); + mbedtls_free(ext_key_usage); + + mbedtls_x509write_crt_set_subject_key(&crt, &key); + mbedtls_x509write_crt_set_issuer_key(&crt, &key); + + + /* Write private key */ + if ((write_private_key(&key, certFormat, outPrivateKey)) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Writing private key failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + /* Write Certificate */ + if ((write_certificate(&crt, certFormat, outCertificate, + mbedtls_ctr_drbg_random, &ctr_drbg)) != 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Writing certificate failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + mbedtls_ctr_drbg_free(&ctr_drbg); + mbedtls_entropy_free(&entropy); + mbedtls_x509write_crt_free(&crt); + mbedtls_pk_free(&key); + +cleanup: + mbedtls_ctr_drbg_free(&ctr_drbg); + mbedtls_entropy_free(&entropy); + mbedtls_x509write_crt_free(&crt); + mbedtls_pk_free(&key); + return errRet; +} + +static int write_private_key(mbedtls_pk_context *key, UA_CertificateFormat keyFormat, UA_ByteString *outPrivateKey) { + int ret; + unsigned char output_buf[16000]; + unsigned char *c = output_buf; + size_t len = 0; + + memset(output_buf, 0, sizeof(output_buf)); + switch(keyFormat) { + case UA_CERTIFICATEFORMAT_DER: { + if((ret = mbedtls_pk_write_key_der(key, output_buf, sizeof(output_buf))) < 0) { + return ret; + } + + len = ret; + c = output_buf + sizeof(output_buf) - len; + break; + } + case UA_CERTIFICATEFORMAT_PEM: { + if((ret = mbedtls_pk_write_key_pem(key, output_buf, sizeof(output_buf))) != 0) { + return ret; + } + + len = strlen((char *)output_buf); + break; + } + } + + outPrivateKey->length = len; + UA_ByteString_allocBuffer(outPrivateKey, outPrivateKey->length); + memcpy(outPrivateKey->data, c, outPrivateKey->length); + + return 0; +} + +static int write_certificate(mbedtls_x509write_cert *crt, UA_CertificateFormat certFormat, + UA_ByteString *outCertificate, int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng) { + int ret; + unsigned char output_buf[4096]; + unsigned char *c = output_buf; + size_t len = 0; + + memset(output_buf, 0, sizeof(output_buf)); + switch(certFormat) { + case UA_CERTIFICATEFORMAT_DER: { + if((ret = mbedtls_x509write_crt_der(crt, output_buf, sizeof(output_buf), f_rng, p_rng)) < 0) { + return ret; + } + + len = ret; + c = output_buf + sizeof(output_buf) - len; + break; + } + case UA_CERTIFICATEFORMAT_PEM: { + if((ret = mbedtls_x509write_crt_pem(crt, output_buf, sizeof(output_buf), f_rng, p_rng)) < 0) { + return ret; + } + + len = strlen((char *)output_buf); + break; + } + } + + outCertificate->length = len; + UA_ByteString_allocBuffer(outCertificate, outCertificate->length); + memcpy(outCertificate->data, c, outCertificate->length); + + return 0; +} + +#if MBEDTLS_VERSION_NUMBER < 0x03030000 +int mbedtls_x509write_crt_set_ext_key_usage(mbedtls_x509write_cert *ctx, + const mbedtls_asn1_sequence *exts) { + unsigned char buf[256]; + unsigned char *c = buf + sizeof(buf); + int ret; + size_t len = 0; + const mbedtls_asn1_sequence *last_ext = NULL; + const mbedtls_asn1_sequence *ext; + + memset(buf, 0, sizeof(buf)); + + /* We need at least one extension: SEQUENCE SIZE (1..MAX) OF KeyPurposeId */ + if(!exts) { + return MBEDTLS_ERR_X509_BAD_INPUT_DATA; + } + + /* Iterate over exts backwards, so we write them out in the requested order */ + while(last_ext != exts) { + for(ext = exts; ext->next != last_ext; ext = ext->next) { + } + if(ext->buf.tag != MBEDTLS_ASN1_OID) { + return MBEDTLS_ERR_X509_BAD_INPUT_DATA; + } + MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_raw_buffer(&c, buf, ext->buf.p, ext->buf.len)); + MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_len(&c, buf, ext->buf.len)); + MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_tag(&c, buf, MBEDTLS_ASN1_OID)); + last_ext = ext; + } + + MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_len(&c, buf, len)); + MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_tag(&c, buf, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE)); + + return mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_EXTENDED_KEY_USAGE, + MBEDTLS_OID_SIZE(MBEDTLS_OID_EXTENDED_KEY_USAGE), 1, c, len); +} + +#endif + +static size_t mbedtls_get_san_list_deep(const mbedtls_write_san_list* sanlist) { + size_t ret = 0; + const mbedtls_write_san_list* cur = sanlist; + while (cur) { + ++ret; + cur = cur->next; + } + + return ret; +} + +int mbedtls_x509write_crt_set_subject_alt_name(mbedtls_x509write_cert *ctx, const mbedtls_write_san_list* sanlist) { + int ret = 0; + size_t sandeep = 0; + const mbedtls_write_san_list* cur = sanlist; + unsigned char* buf; + unsigned char* pc; + size_t len; + size_t buflen = 0; + + /* How many alt names to be written */ + sandeep = mbedtls_get_san_list_deep(sanlist); + if (sandeep == 0) + return ret; + + buflen = MBEDTLS_SAN_MAX_LEN * sandeep + sandeep; + buf = (unsigned char *)mbedtls_calloc(1, buflen); + if(!buf) + return MBEDTLS_ERR_ASN1_ALLOC_FAILED; + + memset(buf, 0, buflen); + pc = buf + buflen; + + len = 0; + while(cur) { + switch (cur->node.type) { + case MBEDTLS_X509_SAN_DNS_NAME: + case MBEDTLS_X509_SAN_RFC822_NAME: + case MBEDTLS_X509_SAN_UNIFORM_RESOURCE_IDENTIFIER: + case MBEDTLS_X509_SAN_IP_ADDRESS: + MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, + mbedtls_asn1_write_raw_buffer(&pc, buf, (const unsigned char *)cur->node.host, + cur->node.hostlen)); + MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_len(&pc, buf, cur->node.hostlen)); + MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_tag(&pc, buf, + MBEDTLS_ASN1_CONTEXT_SPECIFIC | cur->node.type)); + break; + default: + /* Error out on an unsupported SAN */ + ret = MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE; + goto cleanup; + } + + cur = cur->next; + } + + MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_len(&pc, buf, len)); + MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_tag(&pc, buf, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE)); + + ret = mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_SUBJECT_ALT_NAME, + MBEDTLS_OID_SIZE(MBEDTLS_OID_SUBJECT_ALT_NAME), 0, buf + buflen - len, len); + + mbedtls_free(buf); + return ret; + +cleanup: + mbedtls_free(buf); + return ret; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/mbedtls/ua_pki_mbedtls.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2019 (c) Kalycito Infotech Private Limited + * Copyright 2019, 2024 (c) Julius Pfrommer, Fraunhofer IOSB + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + + +#include +#include +#include +#include +#include +#include +#include + +#define UA_MBEDTLS_MAX_CHAIN_LENGTH 10 +#define UA_MBEDTLS_MAX_DN_LENGTH 256 + +/* Find binary substring. Taken and adjusted from + * http://tungchingkai.blogspot.com/2011/07/binary-strstr.html */ + +static const unsigned char * +bstrchr(const unsigned char *s, const unsigned char ch, size_t l) { + /* find first occurrence of c in char s[] for length l*/ + for(; l > 0; ++s, --l) { + if(*s == ch) + return s; + } + return NULL; +} + +static const unsigned char * +UA_Bstrstr(const unsigned char *s1, size_t l1, const unsigned char *s2, size_t l2) { + /* find first occurrence of s2[] in s1[] for length l1*/ + const unsigned char *ss1 = s1; + const unsigned char *ss2 = s2; + /* handle special case */ + if(l1 == 0) + return (NULL); + if(l2 == 0) + return s1; + + /* match prefix */ + for (; (s1 = bstrchr(s1, *s2, (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1)) != NULL && + (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1 != 0; ++s1) { + + /* match rest of prefix */ + const unsigned char *sc1, *sc2; + for (sc1 = s1, sc2 = s2; ;) + if (++sc2 >= ss2+l2) + return s1; + else if (*++sc1 != *sc2) + break; + } + return NULL; +} + +// mbedTLS expects PEM data to be null terminated +// The data length parameter must include the null terminator +static UA_ByteString copyDataFormatAware(const UA_ByteString *data) +{ + UA_ByteString result; + UA_ByteString_init(&result); + + if (!data->length) + return result; + + if (data->length && data->data[0] == '-') { + UA_ByteString_allocBuffer(&result, data->length + 1); + memcpy(result.data, data->data, data->length); + result.data[data->length] = '\0'; + } else { + UA_ByteString_copy(data, &result); + } + + return result; +} + +typedef struct { + UA_CertificateVerification *cv; + + /* If the folders are defined, we use them to reload the certificates during + * runtime */ + UA_String trustListFolder; + UA_String issuerListFolder; + UA_String revocationListFolder; + UA_String rejectedListFolder; + + mbedtls_x509_crt certificateTrustList; + mbedtls_x509_crt certificateIssuerList; + mbedtls_x509_crl certificateRevocationList; +} CertInfo; + +#ifdef __linux__ /* Linux only so far */ + +#include +#include + +static UA_StatusCode +fileNamesFromFolder(const UA_String *folder, size_t *pathsSize, UA_String **paths) { + char buf[PATH_MAX + 1]; + if(folder->length > PATH_MAX) + return UA_STATUSCODE_BADINTERNALERROR; + + memcpy(buf, folder->data, folder->length); + buf[folder->length] = 0; + + DIR *dir = opendir(buf); + if(!dir) + return UA_STATUSCODE_BADINTERNALERROR; + + *paths = (UA_String*)UA_Array_new(256, &UA_TYPES[UA_TYPES_STRING]); + if(*paths == NULL) { + closedir(dir); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + struct dirent *ent; + char buf2[PATH_MAX + 1]; + char *res = realpath(buf, buf2); + if(!res) { + closedir(dir); + return UA_STATUSCODE_BADINTERNALERROR; + } + size_t pathlen = strlen(buf2); + *pathsSize = 0; + while((ent = readdir (dir)) != NULL && *pathsSize < 256) { + if(ent->d_type != DT_REG) + continue; + buf2[pathlen] = '/'; + buf2[pathlen+1] = 0; + strcat(buf2, ent->d_name); + (*paths)[*pathsSize] = UA_STRING_ALLOC(buf2); + *pathsSize += 1; + } + closedir(dir); + + if(*pathsSize == 0) { + UA_free(*paths); + *paths = NULL; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +reloadCertificates(const UA_CertificateVerification *cv, CertInfo *ci) { + UA_StatusCode retval = UA_STATUSCODE_GOOD; + int err = 0; + int internalErrorFlag = 0; + + /* Load the trustlists */ + if(ci->trustListFolder.length > 0) { + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the trust-list"); + mbedtls_x509_crt_free(&ci->certificateTrustList); + mbedtls_x509_crt_init(&ci->certificateTrustList); + + char f[PATH_MAX]; + memcpy(f, ci->trustListFolder.data, ci->trustListFolder.length); + f[ci->trustListFolder.length] = 0; + err = mbedtls_x509_crt_parse_path(&ci->certificateTrustList, f); + if(err == 0) { + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, + "Loaded certificate from %s", f); + } else { + char errBuff[300]; + mbedtls_strerror(err, errBuff, 300); + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to load certificate from %s, mbedTLS error: %s (error code: %d)", f, errBuff, err); + internalErrorFlag = 1; + } + } + + /* Load the revocationlists */ + if(ci->revocationListFolder.length > 0) { + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the revocation-list"); + size_t pathsSize = 0; + UA_String *paths = NULL; + retval = fileNamesFromFolder(&ci->revocationListFolder, &pathsSize, &paths); + if(retval != UA_STATUSCODE_GOOD) + return retval; + mbedtls_x509_crl_free(&ci->certificateRevocationList); + mbedtls_x509_crl_init(&ci->certificateRevocationList); + for(size_t i = 0; i < pathsSize; i++) { + char f[PATH_MAX]; + memcpy(f, paths[i].data, paths[i].length); + f[paths[i].length] = 0; + err = mbedtls_x509_crl_parse_file(&ci->certificateRevocationList, f); + if(err == 0) { + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, + "Loaded certificate from %.*s", + (int)paths[i].length, paths[i].data); + } else { + char errBuff[300]; + mbedtls_strerror(err, errBuff, 300); + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to load certificate from %.*s, mbedTLS error: %s (error code: %d)", + (int)paths[i].length, paths[i].data, errBuff, err); + internalErrorFlag = 1; + } + } + UA_Array_delete(paths, pathsSize, &UA_TYPES[UA_TYPES_STRING]); + paths = NULL; + pathsSize = 0; + } + + /* Load the issuerlists */ + if(ci->issuerListFolder.length > 0) { + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the issuer-list"); + mbedtls_x509_crt_free(&ci->certificateIssuerList); + mbedtls_x509_crt_init(&ci->certificateIssuerList); + char f[PATH_MAX]; + memcpy(f, ci->issuerListFolder.data, ci->issuerListFolder.length); + f[ci->issuerListFolder.length] = 0; + err = mbedtls_x509_crt_parse_path(&ci->certificateIssuerList, f); + if(err == 0) { + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, + "Loaded certificate from %s", f); + } else { + char errBuff[300]; + mbedtls_strerror(err, errBuff, 300); + UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to load certificate from %s, mbedTLS error: %s (error code: %d)", + f, errBuff, err); + internalErrorFlag = 1; + } + } + + return (internalErrorFlag) ? UA_STATUSCODE_BADINTERNALERROR : retval; +} + +#endif + +/* We need to access some private fields below */ +#ifndef MBEDTLS_PRIVATE +#define MBEDTLS_PRIVATE(x) x +#endif + +/* Is the certificate a CA? */ +static UA_Boolean +mbedtlsCheckCA(mbedtls_x509_crt *cert) { + /* The Basic Constraints extension must be set and the cert acts as CA */ + if(!(cert->MBEDTLS_PRIVATE(ext_types) & MBEDTLS_X509_EXT_BASIC_CONSTRAINTS) || + !cert->MBEDTLS_PRIVATE(ca_istrue)) + return false; + + /* The Key Usage extension must be set to cert signing and CRL issuing */ + if(!(cert->MBEDTLS_PRIVATE(ext_types) & MBEDTLS_X509_EXT_KEY_USAGE) || + mbedtls_x509_crt_check_key_usage(cert, MBEDTLS_X509_KU_KEY_CERT_SIGN) != 0 || + mbedtls_x509_crt_check_key_usage(cert, MBEDTLS_X509_KU_CRL_SIGN) != 0) + return false; + + return true; +} + +static UA_Boolean +mbedtlsSameName(UA_String name, const mbedtls_x509_name *name2) { + char buf[UA_MBEDTLS_MAX_DN_LENGTH]; + int len = mbedtls_x509_dn_gets(buf, UA_MBEDTLS_MAX_DN_LENGTH, name2); + if(len < 0) + return false; + UA_String nameString = {(size_t)len, (UA_Byte*)buf}; + return UA_String_equal(&name, &nameString); +} + +static UA_Boolean +mbedtlsSameBuf(mbedtls_x509_buf *a, mbedtls_x509_buf *b) { + if(a->len != b->len) + return false; + return (memcmp(a->p, b->p, a->len) == 0); +} + +/* Return the first matching issuer candidate AFTER prev. + * This can return the cert itself if self-signed. */ +static mbedtls_x509_crt * +mbedtlsFindNextIssuer(CertInfo *ci, mbedtls_x509_crt *stack, + mbedtls_x509_crt *cert, mbedtls_x509_crt *prev) { + char inbuf[UA_MBEDTLS_MAX_DN_LENGTH]; + int nameLen = mbedtls_x509_dn_gets(inbuf, UA_MBEDTLS_MAX_DN_LENGTH, &cert->issuer); + if(nameLen < 0) + return NULL; + UA_String issuerName = {(size_t)nameLen, (UA_Byte*)inbuf}; + do { + for(mbedtls_x509_crt *i = stack; i; i = i->next) { + if(prev) { + if(prev == i) + prev = NULL; /* This was the last issuer we tried to verify */ + continue; + } + /* Compare issuer name and subject name. + * Skip when the key does not match the signature. */ + if(mbedtlsSameName(issuerName, &i->subject) && + mbedtls_pk_can_do(&i->pk, cert->MBEDTLS_PRIVATE(sig_pk))) + return i; + } + + /* Switch from the stack that came with the cert to the issuer list and + * then to the trust list. */ + if(stack == &ci->certificateTrustList) + stack = NULL; + else if(stack == &ci->certificateIssuerList) + stack = &ci->certificateTrustList; + else + stack = &ci->certificateIssuerList; + } while(stack); + return NULL; +} + +static UA_StatusCode +mbedtlsCheckRevoked(CertInfo *ci, mbedtls_x509_crt *cert) { + /* Parse the Issuer Name */ + char inbuf[UA_MBEDTLS_MAX_DN_LENGTH]; + int nameLen = mbedtls_x509_dn_gets(inbuf, UA_MBEDTLS_MAX_DN_LENGTH, &cert->issuer); + if(nameLen < 0) + return UA_STATUSCODE_BADINTERNALERROR; + UA_String issuerName = {(size_t)nameLen, (UA_Byte*)inbuf}; + + if(ci->certificateRevocationList.raw.len == 0) { + UA_LOG_WARNING(ci->cv->logging, UA_LOGCATEGORY_SECURITYPOLICY, + "Zero revocation lists have been loaded. " + "This seems intentional - omitting the check."); + return UA_STATUSCODE_GOOD; + } + + /* Loop over the crl and match the Issuer Name */ + UA_StatusCode res = UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN; + for(mbedtls_x509_crl *crl = &ci->certificateRevocationList; crl; crl = crl->next) { + /* Is the CRL for certificates from the cert issuer? + * Is the serial number of the certificate contained in the CRL? */ + if(mbedtlsSameName(issuerName, &crl->issuer)) { + if(mbedtls_x509_crt_is_revoked(cert, crl) != 0) + return UA_STATUSCODE_BADCERTIFICATEREVOKED; + res = UA_STATUSCODE_GOOD; /* There was at least one crl that did not revoke (so far) */ + } + } + return res; +} + +/* Verify that the public key of the issuer was used to sign the certificate */ +static UA_Boolean +mbedtlsCheckSignature(const mbedtls_x509_crt *cert, mbedtls_x509_crt *issuer) { + size_t hash_len; + unsigned char hash[MBEDTLS_MD_MAX_SIZE]; + mbedtls_md_type_t md = cert->MBEDTLS_PRIVATE(sig_md); +#if !defined(MBEDTLS_USE_PSA_CRYPTO) + const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type(md); + hash_len = mbedtls_md_get_size(md_info); + if(mbedtls_md(md_info, cert->tbs.p, cert->tbs.len, hash) != 0) + return false; +#else + if(psa_hash_compute(mbedtls_md_psa_alg_from_type(md), cert->tbs.p, + cert->tbs.len, hash, sizeof(hash), &hash_len) != PSA_SUCCESS) + return false; +#endif + const mbedtls_x509_buf *sig = &cert->MBEDTLS_PRIVATE(sig); + void *sig_opts = cert->MBEDTLS_PRIVATE(sig_opts); + mbedtls_pk_type_t pktype = cert->MBEDTLS_PRIVATE(sig_pk); + return (mbedtls_pk_verify_ext(pktype, sig_opts, &issuer->pk, md, + hash, hash_len, sig->p, sig->len) == 0); +} + +static UA_StatusCode +mbedtlsVerifyChain(CertInfo *ci, mbedtls_x509_crt *stack, mbedtls_x509_crt **old_issuers, + mbedtls_x509_crt *cert, int depth) { + /* Maxiumum chain length */ + if(depth == UA_MBEDTLS_MAX_CHAIN_LENGTH) + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + + /* Verification Step: Validity Period */ + if(mbedtls_x509_time_is_future(&cert->valid_from) || + mbedtls_x509_time_is_past(&cert->valid_to)) + return (depth == 0) ? UA_STATUSCODE_BADCERTIFICATETIMEINVALID : + UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID; + + /* Return the most specific error code. BADCERTIFICATECHAININCOMPLETE is + * returned only if all possible chains are incomplete. */ + mbedtls_x509_crt *issuer = NULL; + UA_StatusCode ret = UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + while(ret != UA_STATUSCODE_GOOD) { + /* Find the issuer. This can return the same certificate if it is + * self-signed (subject == issuer). We come back here to try a different + * "path" if a subsequent verification fails. */ + issuer = mbedtlsFindNextIssuer(ci, stack, cert, issuer); + if(!issuer) + break; + + /* Verification Step: Certificate Usage + * Can the issuer act as CA? Omit for self-signed leaf certificates. */ + if((depth > 0 || issuer != cert) && !mbedtlsCheckCA(issuer)) { + ret = UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED; + continue; + } + + /* Verification Step: Signature */ + if(!mbedtlsCheckSignature(cert, issuer)) { + ret = UA_STATUSCODE_BADCERTIFICATEINVALID; /* Wrong issuer, try again */ + continue; + } + + /* The certificate is self-signed. We have arrived at the top of the + * chain. We check whether the certificate is trusted below. This is the + * only place where we return UA_STATUSCODE_BADCERTIFICATEUNTRUSTED. + * This signals that the chain is complete (but can be still + * untrusted). + * + * Break here as we have reached the end of the chain. Omit the + * Revocation Check for self-signed certificates. */ + if(issuer == cert || mbedtlsSameBuf(&cert->tbs, &issuer->tbs)) { + ret = UA_STATUSCODE_BADCERTIFICATEUNTRUSTED; + break; + } + + /* Verification Step: Revocation Check */ + ret = mbedtlsCheckRevoked(ci, cert); + if(depth > 0) { + if(ret == UA_STATUSCODE_BADCERTIFICATEREVOKED) + ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED; + if(ret == UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN) + ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN; + } + if(ret != UA_STATUSCODE_GOOD) + continue; + + /* Detect (endless) loops of issuers */ + for(int i = 0; i < depth; i++) { + if(old_issuers[i] == issuer) + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + } + old_issuers[depth] = issuer; + + /* We have found the issuer certificate used for the signature. Recurse + * to the next certificate in the chain (verify the current issuer). */ + ret = mbedtlsVerifyChain(ci, stack, old_issuers, issuer, depth + 1); + } + + /* The chain is complete, but we haven't yet identified a trusted + * certificate "on the way down". Can we trust this certificate? */ + if(ret == UA_STATUSCODE_BADCERTIFICATEUNTRUSTED) { + for(mbedtls_x509_crt *t = &ci->certificateTrustList; t; t = t->next) { + if(mbedtlsSameBuf(&cert->tbs, &t->tbs)) + return UA_STATUSCODE_GOOD; + } + } + + return ret; +} + +/* This follows Part 6, 6.1.3 Determining if a Certificate is trusted. + * It defines a sequence of steps for certificate verification. */ +static UA_StatusCode +certificateVerification_verify(const UA_CertificateVerification *cv, + const UA_ByteString *certificate) { + if(!cv || !certificate) + return UA_STATUSCODE_BADINTERNALERROR; + + CertInfo *ci = (CertInfo*)cv->context; + UA_StatusCode ret = UA_STATUSCODE_GOOD; + mbedtls_x509_crt *old_issuers[UA_MBEDTLS_MAX_CHAIN_LENGTH]; + +#ifdef __linux__ /* Reload certificates if folder paths are specified */ + ret = reloadCertificates(cv, ci); + if(ret != UA_STATUSCODE_GOOD) + return ret; +#endif + + /* Verification Step: Certificate Structure + * This parses the entire certificate chain contained in the bytestring. */ + mbedtls_x509_crt cert; + mbedtls_x509_crt_init(&cert); + int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, + certificate->length); + if(mbedErr) { + ret = UA_STATUSCODE_BADCERTIFICATEINVALID; + goto errout; + } + + /* Verification Step: Certificate Usage + * Check whether the certificate is a User certificate or a CA certificate. + * Refer the test case CTT/Security/Security Certificate Validation/029.js + * for more details. */ + if(mbedtlsCheckCA(&cert)) { + ret = UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; + goto errout; + } + + /* These steps are performed outside of this method. + * Because we need the server or client context. + * - Security Policy + * - Host Name + * - URI */ + + /* Verification Step: Build Certificate Chain + * We perform the checks for each certificate inside. */ + ret = mbedtlsVerifyChain(ci, &cert, old_issuers, &cert, 0); + + errout: + mbedtls_x509_crt_free(&cert); + +#ifdef UA_ENABLE_CERT_REJECTED_DIR + if(ret != UA_STATUSCODE_GOOD && + ci->rejectedListFolder.length > 0) { + char rejectedFileName[256] = {0}; + UA_ByteString thumbprint; + UA_ByteString_allocBuffer(&thumbprint, UA_SHA1_LENGTH); + if(mbedtls_thumbprint_sha1(certificate, &thumbprint) == UA_STATUSCODE_GOOD) { + static const char hex2char[] = "0123456789ABCDEF"; + for(size_t pos = 0, namePos = 0; pos < thumbprint.length; pos++) { + rejectedFileName[namePos++] = hex2char[(thumbprint.data[pos] & 0xf0) >> 4]; + rejectedFileName[namePos++] = hex2char[thumbprint.data[pos] & 0x0f]; + } + strcat(rejectedFileName, ".der"); + } else { + UA_UInt64 dt = (UA_UInt64) UA_DateTime_now(); + sprintf(rejectedFileName, "cert_%" PRIu64 ".der", dt); + } + UA_ByteString_clear(&thumbprint); + char *rejectedFullFileName = (char *) + calloc(ci->rejectedListFolder.length + 1 /* '/' */ + strlen(rejectedFileName) + 1, sizeof(char)); + if(!rejectedFullFileName) + return ret; + memcpy(rejectedFullFileName, ci->rejectedListFolder.data, ci->rejectedListFolder.length); + rejectedFullFileName[ci->rejectedListFolder.length] = '/'; + memcpy(&rejectedFullFileName[ci->rejectedListFolder.length + 1], rejectedFileName, strlen(rejectedFileName)); + FILE * fp_rejectedFile = fopen(rejectedFullFileName, "wb"); + if(fp_rejectedFile) { + fwrite(certificate->data, sizeof(certificate->data[0]), certificate->length, fp_rejectedFile); + fclose(fp_rejectedFile); + } + free(rejectedFullFileName); + } +#endif + + return ret; +} + +static UA_StatusCode +certificateVerification_verifyApplicationURI(const UA_CertificateVerification *cv, + const UA_ByteString *certificate, + const UA_String *applicationURI) { + CertInfo *ci; + if(!cv) + return UA_STATUSCODE_BADINTERNALERROR; + ci = (CertInfo*)cv->context; + if(!ci) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Parse the certificate */ + mbedtls_x509_crt remoteCertificate; + mbedtls_x509_crt_init(&remoteCertificate); + int mbedErr = mbedtls_x509_crt_parse(&remoteCertificate, certificate->data, + certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Poor man's ApplicationUri verification. mbedTLS does not parse all fields + * of the Alternative Subject Name. Instead test whether the URI-string is + * present in the v3_ext field in general. + * + * TODO: Improve parsing of the Alternative Subject Name */ + UA_StatusCode retval = UA_STATUSCODE_GOOD; + if(UA_Bstrstr(remoteCertificate.v3_ext.p, remoteCertificate.v3_ext.len, + applicationURI->data, applicationURI->length) == NULL) + retval = UA_STATUSCODE_BADCERTIFICATEURIINVALID; + + mbedtls_x509_crt_free(&remoteCertificate); + return retval; +} + +static void +certificateVerification_clear(UA_CertificateVerification *cv) { + CertInfo *ci = (CertInfo*)cv->context; + if(!ci) + return; + mbedtls_x509_crt_free(&ci->certificateTrustList); + mbedtls_x509_crl_free(&ci->certificateRevocationList); + mbedtls_x509_crt_free(&ci->certificateIssuerList); + UA_String_clear(&ci->trustListFolder); + UA_String_clear(&ci->issuerListFolder); + UA_String_clear(&ci->revocationListFolder); + UA_String_clear(&ci->rejectedListFolder); + UA_free(ci); + cv->context = NULL; +} + +static UA_StatusCode +getCertificate_ExpirationDate(UA_DateTime *expiryDateTime, + UA_ByteString *certificate) { + mbedtls_x509_crt publicKey; + mbedtls_x509_crt_init(&publicKey); + int mbedErr = mbedtls_x509_crt_parse(&publicKey, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + UA_DateTimeStruct ts; + ts.year = (UA_Int16)publicKey.valid_to.year; + ts.month = (UA_UInt16)publicKey.valid_to.mon; + ts.day = (UA_UInt16)publicKey.valid_to.day; + ts.hour = (UA_UInt16)publicKey.valid_to.hour; + ts.min = (UA_UInt16)publicKey.valid_to.min; + ts.sec = (UA_UInt16)publicKey.valid_to.sec; + ts.milliSec = 0; + ts.microSec = 0; + ts.nanoSec = 0; + *expiryDateTime = UA_DateTime_fromStruct(ts); + mbedtls_x509_crt_free(&publicKey); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +getCertificate_SubjectName(UA_String *subjectName, + UA_ByteString *certificate) { + mbedtls_x509_crt publicKey; + mbedtls_x509_crt_init(&publicKey); + int mbedErr = mbedtls_x509_crt_parse(&publicKey, certificate->data, certificate->length); + if(mbedErr) + return UA_STATUSCODE_BADINTERNALERROR; + char buf[1024]; + int res = mbedtls_x509_dn_gets(buf, 1024, &publicKey.subject); + mbedtls_x509_crt_free(&publicKey); + if(res < 0) + return UA_STATUSCODE_BADINTERNALERROR; + UA_String tmp = {(size_t)res, (UA_Byte*)buf}; + return UA_String_copy(&tmp, subjectName); +} + +UA_StatusCode +UA_CertificateVerification_Trustlist(UA_CertificateVerification *cv, + const UA_ByteString *certificateTrustList, + size_t certificateTrustListSize, + const UA_ByteString *certificateIssuerList, + size_t certificateIssuerListSize, + const UA_ByteString *certificateRevocationList, + size_t certificateRevocationListSize) { + + if(cv == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Clear if the plugin is already initialized */ + if(cv->clear) + cv->clear(cv); + + CertInfo *ci = (CertInfo*)UA_malloc(sizeof(CertInfo)); + if(!ci) + return UA_STATUSCODE_BADOUTOFMEMORY; + memset(ci, 0, sizeof(CertInfo)); + ci->cv = cv; + mbedtls_x509_crt_init(&ci->certificateTrustList); + mbedtls_x509_crl_init(&ci->certificateRevocationList); + mbedtls_x509_crt_init(&ci->certificateIssuerList); + + cv->context = (void*)ci; + cv->verifyCertificate = certificateVerification_verify; + cv->clear = certificateVerification_clear; + cv->verifyApplicationURI = certificateVerification_verifyApplicationURI; + cv->getExpirationDate = getCertificate_ExpirationDate; + cv->getSubjectName = getCertificate_SubjectName; + + int err; + UA_ByteString data; + UA_ByteString_init(&data); + + for(size_t i = 0; i < certificateTrustListSize; i++) { + data = copyDataFormatAware(&certificateTrustList[i]); + err = mbedtls_x509_crt_parse(&ci->certificateTrustList, + data.data, + data.length); + UA_ByteString_clear(&data); + if(err) + goto error; + } + for(size_t i = 0; i < certificateIssuerListSize; i++) { + data = copyDataFormatAware(&certificateIssuerList[i]); + err = mbedtls_x509_crt_parse(&ci->certificateIssuerList, + data.data, + data.length); + UA_ByteString_clear(&data); + if(err) + goto error; + } + for(size_t i = 0; i < certificateRevocationListSize; i++) { + data = copyDataFormatAware(&certificateRevocationList[i]); + err = mbedtls_x509_crl_parse(&ci->certificateRevocationList, + data.data, + data.length); + UA_ByteString_clear(&data); + if(err) + goto error; + } + + return UA_STATUSCODE_GOOD; +error: + certificateVerification_clear(cv); + return UA_STATUSCODE_BADINTERNALERROR; +} + +#ifdef __linux__ /* Linux only so far */ + +#ifdef UA_ENABLE_CERT_REJECTED_DIR +UA_StatusCode +UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, + const char *trustListFolder, + const char *issuerListFolder, + const char *revocationListFolder, + const char *rejectedListFolder) { +#else +UA_StatusCode +UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, + const char *trustListFolder, + const char *issuerListFolder, + const char *revocationListFolder) { +#endif + UA_StatusCode ret; + if(cv == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + if(cv->logging == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Clear if the plugin is already initialized */ + if(cv->clear) + cv->clear(cv); + + CertInfo *ci = (CertInfo*)UA_malloc(sizeof(CertInfo)); + if(!ci) + return UA_STATUSCODE_BADOUTOFMEMORY; + memset(ci, 0, sizeof(CertInfo)); + ci->cv = cv; + mbedtls_x509_crt_init(&ci->certificateTrustList); + mbedtls_x509_crl_init(&ci->certificateRevocationList); + mbedtls_x509_crt_init(&ci->certificateIssuerList); + + /* Only set the folder paths. They will be reloaded during runtime. + * TODO: Add a more efficient reloading of only the changes */ + ci->trustListFolder = UA_STRING_ALLOC(trustListFolder); + ci->issuerListFolder = UA_STRING_ALLOC(issuerListFolder); + ci->revocationListFolder = UA_STRING_ALLOC(revocationListFolder); +#ifdef UA_ENABLE_CERT_REJECTED_DIR + ci->rejectedListFolder = UA_STRING_ALLOC(rejectedListFolder); +#endif + + cv->context = (void*)ci; + cv->verifyCertificate = certificateVerification_verify; + cv->clear = certificateVerification_clear; + cv->verifyApplicationURI = certificateVerification_verifyApplicationURI; + + ret = reloadCertificates(cv, ci); + + return ret; +} + +#endif + +UA_StatusCode +UA_PKI_decryptPrivateKey(const UA_ByteString privateKey, + const UA_ByteString password, + UA_ByteString *outDerKey) { + if(!outDerKey) + return UA_STATUSCODE_BADINTERNALERROR; + + if (privateKey.length == 0) { + *outDerKey = UA_BYTESTRING_NULL; + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + /* Already in DER format -> return verbatim */ + if(privateKey.length > 1 && privateKey.data[0] == 0x30 && privateKey.data[1] == 0x82) + return UA_ByteString_copy(&privateKey, outDerKey); + + /* Create a null-terminated string */ + UA_ByteString nullTerminatedKey = UA_mbedTLS_CopyDataFormatAware(&privateKey); + if(nullTerminatedKey.length != privateKey.length + 1) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Create the private-key context */ + mbedtls_pk_context ctx; + mbedtls_pk_init(&ctx); +#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 + int err = mbedtls_pk_parse_key(&ctx, nullTerminatedKey.data, + nullTerminatedKey.length, + password.data, password.length); +#else + mbedtls_entropy_context entropy; + mbedtls_entropy_init(&entropy); + int err = mbedtls_pk_parse_key(&ctx, nullTerminatedKey.data, + nullTerminatedKey.length, + password.data, password.length, + mbedtls_entropy_func, &entropy); + mbedtls_entropy_free(&entropy); +#endif + UA_ByteString_clear(&nullTerminatedKey); + if(err != 0) { + mbedtls_pk_free(&ctx); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + /* Write the DER-encoded key into a local buffer */ + unsigned char buf[1 << 14]; + size_t pos = (size_t)mbedtls_pk_write_key_der(&ctx, buf, sizeof(buf)); + + /* Allocate memory */ + UA_StatusCode res = UA_ByteString_allocBuffer(outDerKey, pos); + if(res != UA_STATUSCODE_GOOD) { + mbedtls_pk_free(&ctx); + return res; + } + + /* Copy to the output */ + memcpy(outDerKey->data, &buf[sizeof(buf) - pos], pos); + mbedtls_pk_free(&ctx); + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ENABLE_ENCRYPTION_MBEDTLS */ + +/**** amalgamated original file "/plugins/crypto/openssl/securitypolicy_openssl_common.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + * + */ + + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + +#include +#include + +#define UA_SHA1_LENGTH 20 + +_UA_BEGIN_DECLS + +void saveDataToFile(const char *fileName, const UA_ByteString *str); +void UA_Openssl_Init(void); + +UA_StatusCode +UA_copyCertificate(UA_ByteString *dst, const UA_ByteString *src); + +UA_StatusCode +UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify(const UA_ByteString *msg, + X509 *publicKeyX509, + const UA_ByteString *signature); + +UA_StatusCode +UA_OpenSSL_RSA_PSS_SHA256_Verify (const UA_ByteString * msg, + X509 *publicKeyX509, + const UA_ByteString * signature); + +UA_StatusCode +UA_Openssl_X509_GetCertificateThumbprint(const UA_ByteString *certficate, + UA_ByteString *pThumbprint, + bool bThumbPrint); +UA_StatusCode +UA_Openssl_RSA_Oaep_Decrypt(UA_ByteString *data, + EVP_PKEY *privateKey); + +UA_StatusCode +UA_Openssl_RSA_Oaep_Sha2_Decrypt (UA_ByteString *data, + EVP_PKEY *privateKey); + +UA_StatusCode +UA_Openssl_RSA_OAEP_Encrypt(UA_ByteString *data, /* The data that is encrypted. + The encrypted data will overwrite + the data that was supplied. */ + size_t paddingSize, X509 *publicX509); + +UA_StatusCode +UA_Openssl_RSA_OAEP_SHA2_Encrypt (UA_ByteString * data, + size_t paddingSize, + X509 * publicX509); + +UA_StatusCode +UA_Openssl_Random_Key_PSHA256_Derive(const UA_ByteString *secret, + const UA_ByteString *seed, + UA_ByteString *out); + +UA_StatusCode +UA_Openssl_RSA_Public_GetKeyLength(X509 *publicKeyX509, UA_Int32 *keyLen); + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(const UA_ByteString *data, + EVP_PKEY *privateKey, + UA_ByteString *outSignature); + +UA_StatusCode +UA_Openssl_RSA_PSS_SHA256_Sign (const UA_ByteString * message, + EVP_PKEY * privateKey, + UA_ByteString * outSignature); + +UA_StatusCode +UA_OpenSSL_HMAC_SHA256_Verify(const UA_ByteString *message, + const UA_ByteString *key, + const UA_ByteString *signature); + +UA_StatusCode +UA_OpenSSL_HMAC_SHA256_Sign(const UA_ByteString *message, + const UA_ByteString *key, + UA_ByteString *signature); + +UA_StatusCode +UA_OpenSSL_AES_256_CBC_Decrypt(const UA_ByteString *iv, + const UA_ByteString *key, + UA_ByteString *data /* [in/out]*/); + +UA_StatusCode +UA_OpenSSL_AES_256_CBC_Encrypt(const UA_ByteString *iv, + const UA_ByteString *key, + UA_ByteString *data /* [in/out]*/); + +UA_StatusCode +UA_OpenSSL_X509_compare(const UA_ByteString *cert, const X509 *b); + +UA_StatusCode +UA_Openssl_RSA_Private_GetKeyLength(EVP_PKEY *privateKey, + UA_Int32 *keyLen) ; + +UA_StatusCode +UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify(const UA_ByteString *msg, + X509 *publicKeyX509, + const UA_ByteString *signature); + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_SHA1_Sign(const UA_ByteString *message, + EVP_PKEY *privateKey, + UA_ByteString *outSignature); +UA_StatusCode +UA_Openssl_Random_Key_PSHA1_Derive(const UA_ByteString *secret, + const UA_ByteString *seed, + UA_ByteString *out); +UA_StatusCode +UA_OpenSSL_HMAC_SHA1_Verify(const UA_ByteString *message, + const UA_ByteString *key, + const UA_ByteString *signature); + +UA_StatusCode +UA_OpenSSL_HMAC_SHA1_Sign(const UA_ByteString *message, + const UA_ByteString *key, + UA_ByteString *signature); + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_Decrypt(UA_ByteString *data, + EVP_PKEY *privateKey); + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_Encrypt(UA_ByteString *data, + size_t paddingSize, + X509 *publicX509); + +UA_StatusCode +UA_OpenSSL_AES_128_CBC_Decrypt(const UA_ByteString *iv, + const UA_ByteString *key, + UA_ByteString *data /* [in/out]*/); + +UA_StatusCode +UA_OpenSSL_AES_128_CBC_Encrypt(const UA_ByteString *iv, + const UA_ByteString *key, + UA_ByteString *data /* [in/out]*/); + +EVP_PKEY * +UA_OpenSSL_LoadPrivateKey(const UA_ByteString *privateKey); + +X509 * +UA_OpenSSL_LoadCertificate(const UA_ByteString *certificate); + +X509 * +UA_OpenSSL_LoadDerCertificate(const UA_ByteString *certificate); + +X509 * +UA_OpenSSL_LoadPemCertificate(const UA_ByteString *certificate); + +UA_StatusCode +UA_OpenSSL_LoadLocalCertificate(const UA_ByteString *certificate, UA_ByteString *target); + +_UA_END_DECLS + +#endif /* defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) */ + + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_version_abstraction.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * + */ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + +#include + +#if !defined(OPENSSL_VERSION_NUMBER) +#error "OPENSSL_VERSION_NUMBER is not defined." +#endif + +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +#define X509_STORE_CTX_set0_trusted_stack(STORE_CTX, CTX_SKTRUSTED) X509_STORE_CTX_trusted_stack(STORE_CTX, CTX_SKTRUSTED) +#endif + +#if OPENSSL_VERSION_NUMBER < 0x1010000fL || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL) +#define X509_STORE_CTX_get_check_issued(STORE_CTX) STORE_CTX->check_issued +#endif + +#if OPENSSL_VERSION_NUMBER < 0x1010000fL || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL) +#define get_pkey_rsa(evp) ((evp)->pkey.rsa) +#else +#define get_pkey_rsa(evp) EVP_PKEY_get0_RSA(evp) +#endif + +#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) +#define X509_get0_subject_key_id(PX509_CERT) (const ASN1_OCTET_STRING *)X509_get_ext_d2i(PX509_CERT, NID_subject_key_identifier, NULL, NULL); +#endif + +#if OPENSSL_VERSION_NUMBER < 0x2000000fL || defined(LIBRESSL_VERSION_NUMBER) +#define get_error_line_data(pFile, pLine, pData, pFlags) ERR_get_error_line_data(pFile, pLine, pData, pFlags) +#else +#define get_error_line_data(pFile, pLine, pData, pFlags) ERR_get_error_all(pFile, pLine, NULL, pData, pFlags) +#endif + +#endif /* defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) */ + +/**** amalgamated original file "/plugins/crypto/openssl/securitypolicy_openssl_common.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + * Copyright 2022 (c) Wind River Systems, Inc. + * Copyright 2022 (c) Fraunhofer IOSB (Author: Noel Graf) + */ + +/* +modification history +-------------------- +01feb20,lan written +*/ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SHA1_DIGEST_LENGTH 20 /* 160 bits */ +#define RSA_DECRYPT_BUFFER_LENGTH 2048 /* bytes */ + +/* Cast to prevent warnings in LibreSSL */ +#define SHA256EVP() ((EVP_MD *)(uintptr_t)EVP_sha256()) + + +/** P_SHA256 Context */ +typedef struct UA_Openssl_P_SHA256_Ctx_ { + size_t seedLen; + size_t secretLen; + UA_Byte A[32]; /* 32 bytes of SHA256 output */ + /* + char seed[seedLen]; + char secret[secretLen]; */ +} UA_Openssl_P_SHA256_Ctx; + +#define UA_Openssl_P_SHA256_SEED(ctx) ((ctx)->A+32) +#define UA_Openssl_P_SHA256_SECRET(ctx) ((ctx)->A+32+(ctx)->seedLen) + +/** P_SHA1 Context */ +typedef struct UA_Openssl_P_SHA1_Ctx_ { + size_t seedLen; + size_t secretLen; + UA_Byte A[SHA1_DIGEST_LENGTH]; /* 20 bytes of SHA1 output */ + /* + char seed[seedLen]; + char secret[secretLen]; */ +} UA_Openssl_P_SHA1_Ctx; + +#define UA_Openssl_P_SHA1_SEED(ctx) ((ctx)->A + SHA1_DIGEST_LENGTH) +#define UA_Openssl_P_SHA1_SECRET(ctx) ((ctx)->A + SHA1_DIGEST_LENGTH +(ctx)->seedLen) + +void +UA_Openssl_Init (void) { + /* VxWorks7 has initialized the openssl. */ +#ifndef __VXWORKS__ + static UA_Int16 bInit = 0; + if (bInit == 1) + return; +#if defined(OPENSSL_API_COMPAT) && (OPENSSL_API_COMPAT < 0x10100000L) + /* only needed, if OpenSSL < V1.1 */ + OpenSSL_add_all_algorithms (); + ERR_load_crypto_strings (); +#endif + bInit = 1; +#endif +} + +static int UA_OpenSSL_RSA_Key_Size (EVP_PKEY * key){ +#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) + return EVP_PKEY_get_size (key); +#else + return RSA_size (get_pkey_rsa(key)); +#endif +} + +/* UA_copyCertificate - allocalte the buffer, copy the certificate and + * add a NULL to the end + */ + +UA_StatusCode +UA_copyCertificate (UA_ByteString * dst, + const UA_ByteString * src) { + UA_StatusCode retval = UA_ByteString_allocBuffer (dst, src->length + 1); + if (retval != UA_STATUSCODE_GOOD) + return retval; + (void) memcpy (dst->data, src->data, src->length); + dst->data[dst->length - 1] = '\0'; + dst->length--; + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_OpenSSL_RSA_Public_Verify(const UA_ByteString *message, + const EVP_MD *evpMd, X509 *publicKeyX509, + UA_Int16 padding, const UA_ByteString *signature) { + EVP_MD_CTX *mdctx = EVP_MD_CTX_create(); + if(!mdctx) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + EVP_PKEY *evpPublicKey = X509_get_pubkey(publicKeyX509); + if(!evpPublicKey) { + ret = UA_STATUSCODE_BADOUTOFMEMORY; + goto errout; + } + + EVP_PKEY_CTX *evpKeyCtx; + int opensslRet = EVP_DigestVerifyInit(mdctx, &evpKeyCtx, evpMd, + NULL, evpPublicKey); + if(opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + opensslRet = EVP_PKEY_CTX_set_rsa_padding(evpKeyCtx, padding); + if(opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + if(padding == RSA_PKCS1_PSS_PADDING) { + opensslRet = EVP_PKEY_CTX_set_rsa_pss_saltlen(evpKeyCtx, RSA_PSS_SALTLEN_DIGEST); + if(opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(evpKeyCtx, SHA256EVP()); + if(opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + } + + opensslRet = EVP_DigestVerifyUpdate (mdctx, message->data, message->length); + if(opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + opensslRet = EVP_DigestVerifyFinal(mdctx, signature->data, signature->length); + if(opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + +errout: + if(evpPublicKey) + EVP_PKEY_free(evpPublicKey); + if(mdctx) + EVP_MD_CTX_destroy(mdctx); + return ret; +} + +UA_StatusCode +UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify (const UA_ByteString * msg, + X509 * publicKeyX509, + const UA_ByteString * signature + ) { + return UA_OpenSSL_RSA_Public_Verify (msg, EVP_sha256(), publicKeyX509, + RSA_PKCS1_PADDING, signature); +} + +UA_StatusCode +UA_OpenSSL_RSA_PSS_SHA256_Verify (const UA_ByteString * msg, + X509 * publicKeyX509, + const UA_ByteString * signature +) { + return UA_OpenSSL_RSA_Public_Verify (msg, EVP_sha256(), publicKeyX509, + RSA_PKCS1_PSS_PADDING, signature); +} + +/* Get certificate thumbprint, and allocate the buffer. */ + +UA_StatusCode +UA_Openssl_X509_GetCertificateThumbprint (const UA_ByteString * certficate, + UA_ByteString * pThumbprint, + bool bThumbPrint) { + if (bThumbPrint) { + pThumbprint->length = SHA_DIGEST_LENGTH; + UA_StatusCode ret = UA_ByteString_allocBuffer (pThumbprint, pThumbprint->length); + if (ret != UA_STATUSCODE_GOOD) { + return ret; + } + } + else { + if (pThumbprint->length != SHA_DIGEST_LENGTH) { + return UA_STATUSCODE_BADINTERNALERROR; + } + } + X509 * x509Certificate = UA_OpenSSL_LoadCertificate(certficate); + + if (x509Certificate == NULL) { + if (bThumbPrint) { + UA_ByteString_clear (pThumbprint); + } + return UA_STATUSCODE_BADINTERNALERROR; + } + + if (X509_digest (x509Certificate, EVP_sha1(), pThumbprint->data, NULL) + != 1) { + if (bThumbPrint) { + UA_ByteString_clear (pThumbprint); + } + return UA_STATUSCODE_BADINTERNALERROR; + } + X509_free(x509Certificate); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_Openssl_RSA_Private_Decrypt (UA_ByteString * data, + EVP_PKEY * privateKey, + UA_Int16 padding, + UA_Boolean withSha256) { + if (data == NULL || privateKey == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + if (privateKey == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + size_t keySize = (size_t) UA_OpenSSL_RSA_Key_Size (privateKey); + size_t cipherOffset = 0; + size_t outOffset = 0; + unsigned char buf[RSA_DECRYPT_BUFFER_LENGTH]; + size_t decryptedBytes; + EVP_PKEY_CTX * ctx; + int opensslRet; + + ctx = EVP_PKEY_CTX_new (privateKey, NULL); + if (ctx == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + opensslRet = EVP_PKEY_decrypt_init (ctx); + if (opensslRet != 1) { + EVP_PKEY_CTX_free (ctx); + return UA_STATUSCODE_BADINTERNALERROR; + } + opensslRet = EVP_PKEY_CTX_set_rsa_padding (ctx, padding); + if (opensslRet != 1) { + EVP_PKEY_CTX_free (ctx); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(withSha256) { + opensslRet = EVP_PKEY_CTX_set_rsa_oaep_md(ctx, SHA256EVP()); + if (opensslRet != 1) { + return UA_STATUSCODE_BADINTERNALERROR; + } + opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, SHA256EVP()); + if (opensslRet != 1) { + return UA_STATUSCODE_BADINTERNALERROR; + } + } + + while (cipherOffset < data->length) { + decryptedBytes = RSA_DECRYPT_BUFFER_LENGTH; + opensslRet = EVP_PKEY_decrypt (ctx, + buf, /* where to decrypt */ + &decryptedBytes, + data->data + cipherOffset, /* what to decrypt */ + keySize + ); + if (opensslRet != 1) { + EVP_PKEY_CTX_free (ctx); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + (void) memcpy(data->data + outOffset, buf, decryptedBytes); + cipherOffset += (size_t) keySize; + outOffset += decryptedBytes; + } + data->length = outOffset; + EVP_PKEY_CTX_free (ctx); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Openssl_RSA_Oaep_Decrypt (UA_ByteString * data, + EVP_PKEY * privateKey) { + return UA_Openssl_RSA_Private_Decrypt (data, privateKey, + RSA_PKCS1_OAEP_PADDING, false); +} + +UA_StatusCode +UA_Openssl_RSA_Oaep_Sha2_Decrypt (UA_ByteString * data, + EVP_PKEY * privateKey) { + return UA_Openssl_RSA_Private_Decrypt (data, privateKey, + RSA_PKCS1_OAEP_PADDING, true); +} + +static UA_StatusCode +UA_Openssl_RSA_Public_Encrypt (const UA_ByteString * message, + X509 * publicX509, + UA_Int16 padding, + size_t paddingSize, + UA_ByteString * encrypted, + UA_Boolean withSha256) { + EVP_PKEY_CTX * ctx = NULL; + EVP_PKEY * evpPublicKey = NULL; + int opensslRet; + UA_StatusCode ret; + size_t encryptedTextLen = 0; + size_t dataPos = 0; + size_t encryptedPos = 0; + size_t bytesToEncrypt = 0; + size_t encryptedBlockSize = 0; + size_t keySize = 0; + + evpPublicKey = X509_get_pubkey (publicX509); + if (evpPublicKey == NULL) { + ret = UA_STATUSCODE_BADOUTOFMEMORY; + goto errout; + } + ctx = EVP_PKEY_CTX_new (evpPublicKey, NULL); + if (ctx == NULL) { + ret = UA_STATUSCODE_BADOUTOFMEMORY; + goto errout; + } + opensslRet = EVP_PKEY_encrypt_init (ctx); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_PKEY_CTX_set_rsa_padding (ctx, padding); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + if(withSha256) { + opensslRet = EVP_PKEY_CTX_set_rsa_oaep_md(ctx, SHA256EVP()); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, SHA256EVP()); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + } + + /* get the encrypted block size */ + + keySize = (size_t) UA_OpenSSL_RSA_Key_Size (evpPublicKey); + if (keySize == 0) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + switch (padding) { + case RSA_PKCS1_OAEP_PADDING: + case RSA_PKCS1_PADDING: + if (keySize <= paddingSize) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + encryptedBlockSize = keySize - paddingSize; + break; + default: + ret = UA_STATUSCODE_BADNOTSUPPORTED; + goto errout; + break; + } + + /* encrypt in reverse order so that [data] may alias [encrypted] */ + + dataPos = message->length; + encryptedPos = ((dataPos - 1) / encryptedBlockSize + 1) * keySize; + bytesToEncrypt = (dataPos - 1) % encryptedBlockSize + 1; + encryptedTextLen = encryptedPos; + + while (dataPos > 0) { + size_t outlen = keySize; + encryptedPos -= keySize; + dataPos -= bytesToEncrypt; + opensslRet = EVP_PKEY_encrypt (ctx, encrypted->data + encryptedPos, &outlen, + message->data + dataPos, bytesToEncrypt); + + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + bytesToEncrypt = encryptedBlockSize; + } + encrypted->length = encryptedTextLen; + + ret = UA_STATUSCODE_GOOD; +errout: + if (evpPublicKey != NULL) { + EVP_PKEY_free (evpPublicKey); + } + if (ctx != NULL) { + EVP_PKEY_CTX_free (ctx); + } + return ret; +} + +UA_StatusCode +UA_Openssl_RSA_OAEP_Encrypt (UA_ByteString * data, + size_t paddingSize, + X509 * publicX509) { + UA_ByteString message; + UA_StatusCode ret; + + ret = UA_ByteString_copy (data, &message); + if (ret != UA_STATUSCODE_GOOD) { + return ret; + } + ret = UA_Openssl_RSA_Public_Encrypt (&message, publicX509, + RSA_PKCS1_OAEP_PADDING, + paddingSize, + data, false); + UA_ByteString_clear (&message); + return ret; +} + +UA_StatusCode +UA_Openssl_RSA_OAEP_SHA2_Encrypt (UA_ByteString * data, + size_t paddingSize, + X509 * publicX509) { + UA_ByteString message; + UA_StatusCode ret; + + ret = UA_ByteString_copy (data, &message); + if (ret != UA_STATUSCODE_GOOD) { + return ret; + } + ret = UA_Openssl_RSA_Public_Encrypt (&message, publicX509, + RSA_PKCS1_OAEP_PADDING, + paddingSize, + data, true); + UA_ByteString_clear (&message); + return ret; +} + +static UA_Openssl_P_SHA256_Ctx * +P_SHA256_Ctx_Create (const UA_ByteString * secret, + const UA_ByteString * seed) { + size_t size = (UA_Int32)sizeof (UA_Openssl_P_SHA256_Ctx) + secret->length + + seed->length; + UA_Openssl_P_SHA256_Ctx * ctx = (UA_Openssl_P_SHA256_Ctx *) UA_malloc (size); + if (ctx == NULL) { + return NULL; + } + ctx->secretLen = secret->length; + ctx->seedLen = seed->length; + (void) memcpy (UA_Openssl_P_SHA256_SEED(ctx), seed->data, seed->length); + (void) memcpy (UA_Openssl_P_SHA256_SECRET(ctx), secret->data, secret->length); + /* A(0) = seed + A(n) = HMAC_HASH(secret, A(n-1)) */ + + if (HMAC (EVP_sha256(), secret->data, (int) secret->length, seed->data, + seed->length, ctx->A, NULL) == NULL) { + UA_free (ctx); + return NULL; + } + + return ctx; +} + +static UA_StatusCode +P_SHA256_Hash_Generate (UA_Openssl_P_SHA256_Ctx * ctx, + UA_Byte * pHas + ) { + /* Calculate P_SHA256(n) = HMAC_SHA256(secret, A(n)+seed) */ + if (HMAC (EVP_sha256(),UA_Openssl_P_SHA256_SECRET(ctx), (int) ctx->secretLen, + ctx->A, sizeof (ctx->A) + ctx->seedLen, pHas, NULL) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Calculate A(n) = HMAC_SHA256(secret, A(n-1)) */ + if (HMAC (EVP_sha256(),UA_Openssl_P_SHA256_SECRET(ctx), (int) ctx->secretLen, + ctx->A, sizeof (ctx->A), ctx->A, NULL) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Openssl_Random_Key_PSHA256_Derive (const UA_ByteString * secret, + const UA_ByteString * seed, + UA_ByteString * out) { + size_t keyLen = out->length; + size_t iter = keyLen/32 + ((keyLen%32)?1:0); + size_t bufferLen = iter * 32; + size_t i; + UA_StatusCode st; + + UA_Byte * pBuffer = (UA_Byte *) UA_malloc (bufferLen); + if (pBuffer == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_Openssl_P_SHA256_Ctx * ctx = P_SHA256_Ctx_Create (secret, seed); + if (ctx == NULL) { + UA_free (pBuffer); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + for (i = 0; i < iter; i++) { + st = P_SHA256_Hash_Generate (ctx, pBuffer + (i * 32)); + if (st != UA_STATUSCODE_GOOD) { + UA_free (pBuffer); + UA_free (ctx); + return st; + } + } + + (void) memcpy (out->data, pBuffer, keyLen); + UA_free (pBuffer); + UA_free (ctx); + return UA_STATUSCODE_GOOD; +} + +/* return the key bytes */ +UA_StatusCode +UA_Openssl_RSA_Public_GetKeyLength (X509 * publicKeyX509, + UA_Int32 * keyLen) { + EVP_PKEY * evpKey = X509_get_pubkey (publicKeyX509); + if (evpKey == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + *keyLen = UA_OpenSSL_RSA_Key_Size (evpKey); + + EVP_PKEY_free (evpKey); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Openssl_RSA_Private_GetKeyLength (EVP_PKEY * privateKey, + UA_Int32 * keyLen) { + if (privateKey == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + *keyLen = UA_OpenSSL_RSA_Key_Size (privateKey); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_Openssl_RSA_Private_Sign (const UA_ByteString * message, + EVP_PKEY * privateKey, + const EVP_MD * evpMd, + UA_Int16 padding, + UA_ByteString * outSignature) { + EVP_MD_CTX * mdctx = NULL; + int opensslRet; + EVP_PKEY_CTX * evpKeyCtx; + UA_StatusCode ret; + + mdctx = EVP_MD_CTX_create (); + if (mdctx == NULL) { + ret = UA_STATUSCODE_BADOUTOFMEMORY; + goto errout; + } + + if (privateKey == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + opensslRet = EVP_DigestSignInit (mdctx, &evpKeyCtx, evpMd, NULL, privateKey); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + EVP_PKEY_CTX_set_rsa_padding (evpKeyCtx, padding); + if(padding == RSA_PKCS1_PSS_PADDING) { + opensslRet = EVP_PKEY_CTX_set_rsa_pss_saltlen(evpKeyCtx, RSA_PSS_SALTLEN_DIGEST); //RSA_PSS_SALTLEN_DIGEST + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(evpKeyCtx, SHA256EVP()); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + } + opensslRet = EVP_DigestSignUpdate (mdctx, message->data, message->length); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_DigestSignFinal (mdctx, outSignature->data, &outSignature->length); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + ret = UA_STATUSCODE_GOOD; +errout: + if (mdctx != NULL) { + EVP_MD_CTX_destroy (mdctx); + } + return ret; +} + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_SHA256_Sign (const UA_ByteString * message, + EVP_PKEY * privateKey, + UA_ByteString * outSignature) { + return UA_Openssl_RSA_Private_Sign (message, privateKey, EVP_sha256(), + RSA_PKCS1_PADDING , outSignature); +} + +UA_StatusCode +UA_Openssl_RSA_PSS_SHA256_Sign (const UA_ByteString * message, + EVP_PKEY * privateKey, + UA_ByteString * outSignature) { + return UA_Openssl_RSA_Private_Sign (message, privateKey, EVP_sha256(), + RSA_PKCS1_PSS_PADDING, outSignature); +} + +UA_StatusCode +UA_OpenSSL_HMAC_SHA256_Verify (const UA_ByteString * message, + const UA_ByteString * key, + const UA_ByteString * signature + ) { + unsigned char buf[SHA256_DIGEST_LENGTH] = {0}; + UA_ByteString mac = {SHA256_DIGEST_LENGTH, buf}; + + if (HMAC (EVP_sha256(), key->data, (int) key->length, message->data, message->length, + mac.data, (unsigned int *) &mac.length) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + if (UA_ByteString_equal (signature, &mac)) { + return UA_STATUSCODE_GOOD; + } + else { + return UA_STATUSCODE_BADINTERNALERROR; + } +} + +UA_StatusCode +UA_OpenSSL_HMAC_SHA256_Sign (const UA_ByteString * message, + const UA_ByteString * key, + UA_ByteString * signature + ) { + if (HMAC (EVP_sha256(), key->data, (int) key->length, message->data, + message->length, + signature->data, (unsigned int *) &(signature->length)) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_OpenSSL_Decrypt (const UA_ByteString * iv, + const UA_ByteString * key, + const EVP_CIPHER * cipherAlg, + UA_ByteString * data /* [in/out]*/) { + UA_ByteString ivCopy = {0, NULL}; + UA_ByteString cipherTxt = {0, NULL}; + EVP_CIPHER_CTX * ctx = NULL; + UA_StatusCode ret; + int opensslRet; + int outLen; + int tmpLen; + + /* copy the IV because the AES_cbc_encrypt function overwrites it. */ + + ret = UA_ByteString_copy (iv, &ivCopy); + if (ret != UA_STATUSCODE_GOOD) { + goto errout; + } + + ret = UA_ByteString_copy (data, &cipherTxt); + if (ret != UA_STATUSCODE_GOOD) { + goto errout; + } + + ctx = EVP_CIPHER_CTX_new (); + if (ctx == NULL) { + ret = UA_STATUSCODE_BADOUTOFMEMORY; + goto errout; + } + + /* call EVP_* to decrypt */ + + opensslRet = EVP_DecryptInit_ex (ctx, cipherAlg, NULL, key->data, ivCopy.data); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + /* EVP_DecryptFinal() will return an error code if padding is enabled + * and the final block is not correctly formatted. + */ + EVP_CIPHER_CTX_set_padding (ctx, 0); + opensslRet = EVP_DecryptUpdate (ctx, data->data, &outLen, + cipherTxt.data, (int) cipherTxt.length); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_DecryptFinal_ex (ctx, data->data + outLen, &tmpLen); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + outLen += tmpLen; + data->length = (size_t) outLen; + ret = UA_STATUSCODE_GOOD; + +errout: + UA_ByteString_clear (&ivCopy); + UA_ByteString_clear (&cipherTxt); + if (ctx != NULL) { + EVP_CIPHER_CTX_free(ctx); + } + return ret; +} + +static UA_StatusCode +UA_OpenSSL_Encrypt (const UA_ByteString * iv, + const UA_ByteString * key, + const EVP_CIPHER * cipherAlg, + UA_ByteString * data /* [in/out]*/ + ) { + + UA_ByteString ivCopy = {0, NULL}; + UA_ByteString plainTxt = {0, NULL}; + EVP_CIPHER_CTX * ctx = NULL; + UA_StatusCode ret; + int opensslRet; + int outLen; + int tmpLen; + + /* copy the IV because the AES_cbc_encrypt function overwrites it. */ + + ret = UA_ByteString_copy (iv, &ivCopy); + if (ret != UA_STATUSCODE_GOOD) { + goto errout; + } + + ret = UA_ByteString_copy (data, &plainTxt); + if (ret != UA_STATUSCODE_GOOD) { + goto errout; + } + + ctx = EVP_CIPHER_CTX_new (); + if (ctx == NULL) { + ret = UA_STATUSCODE_BADOUTOFMEMORY; + goto errout; + } + + /* call EVP_* to encrypt */ + + opensslRet = EVP_EncryptInit_ex (ctx, cipherAlg, NULL, key->data, ivCopy.data); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + /* Disable padding. Padding is done in the stack before calling encryption. + * Ensure that we have a multiple of the block size */ + if(data->length % (size_t)EVP_CIPHER_CTX_block_size(ctx)) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + opensslRet = EVP_CIPHER_CTX_set_padding(ctx, 0); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + /* Encrypt the data */ + opensslRet = EVP_EncryptUpdate (ctx, data->data, &outLen, + plainTxt.data, (int) plainTxt.length); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + + /* Encrypt-final does nothing as padding is disabled */ + opensslRet = EVP_EncryptFinal_ex(ctx, data->data + outLen, &tmpLen); + if (opensslRet != 1) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + outLen += tmpLen; + data->length = (size_t) outLen; + ret = UA_STATUSCODE_GOOD; + +errout: + UA_ByteString_clear (&ivCopy); + UA_ByteString_clear (&plainTxt); + if (ctx != NULL) { + EVP_CIPHER_CTX_free(ctx); + } + return ret; +} + +UA_StatusCode +UA_OpenSSL_AES_256_CBC_Decrypt (const UA_ByteString * iv, + const UA_ByteString * key, + UA_ByteString * data /* [in/out]*/ + ) { + return UA_OpenSSL_Decrypt (iv, key, EVP_aes_256_cbc (), data); +} + +UA_StatusCode +UA_OpenSSL_AES_256_CBC_Encrypt (const UA_ByteString * iv, + const UA_ByteString * key, + UA_ByteString * data /* [in/out]*/ + ) { + return UA_OpenSSL_Encrypt (iv, key, EVP_aes_256_cbc (), data); +} + +UA_StatusCode +UA_OpenSSL_X509_compare (const UA_ByteString * cert, + const X509 * bcert) { + X509 * acert = UA_OpenSSL_LoadCertificate(cert); + if (acert == NULL) { + return UA_STATUSCODE_BADCERTIFICATEINVALID; + } + int opensslRet = X509_cmp (acert, bcert); + X509_free (acert); + + if (opensslRet == 0) + return UA_STATUSCODE_GOOD; + return UA_STATUSCODE_UNCERTAINSUBNORMAL; +} + +UA_StatusCode +UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify (const UA_ByteString * msg, + X509 * publicKeyX509, + const UA_ByteString * signature) { + return UA_OpenSSL_RSA_Public_Verify(msg, EVP_sha1(), publicKeyX509, + RSA_PKCS1_PADDING, signature); +} + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_SHA1_Sign (const UA_ByteString * message, + EVP_PKEY * privateKey, + UA_ByteString * outSignature) { + return UA_Openssl_RSA_Private_Sign(message, privateKey, EVP_sha1(), + RSA_PKCS1_PADDING, outSignature); +} + +static UA_Openssl_P_SHA1_Ctx * +P_SHA1_Ctx_Create (const UA_ByteString * secret, + const UA_ByteString * seed) { + size_t size = (UA_Int32)sizeof (UA_Openssl_P_SHA1_Ctx) + secret->length + + seed->length; + UA_Openssl_P_SHA1_Ctx * ctx = (UA_Openssl_P_SHA1_Ctx *) UA_malloc (size); + if (ctx == NULL) { + return NULL; + } + + ctx->secretLen = secret->length; + ctx->seedLen = seed->length; + (void) memcpy (UA_Openssl_P_SHA1_SEED(ctx), seed->data, seed->length); + (void) memcpy (UA_Openssl_P_SHA1_SECRET(ctx), secret->data, secret->length); + /* A(0) = seed + A(n) = HMAC_HASH(secret, A(n-1)) */ + + if (HMAC (EVP_sha1(), secret->data, (int) secret->length, seed->data, + seed->length, ctx->A, NULL) == NULL) { + UA_free (ctx); + return NULL; + } + + return ctx; +} + +static UA_StatusCode +P_SHA1_Hash_Generate (UA_Openssl_P_SHA1_Ctx * ctx, + UA_Byte * pHas + ) { + /* Calculate P_SHA1(n) = HMAC_SHA1(secret, A(n)+seed) */ + if (HMAC (EVP_sha1 (), UA_Openssl_P_SHA1_SECRET(ctx), (int) ctx->secretLen, + ctx->A, sizeof (ctx->A) + ctx->seedLen, pHas, NULL) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Calculate A(n) = HMAC_SHA1(secret, A(n-1)) */ + if (HMAC (EVP_sha1(), UA_Openssl_P_SHA1_SECRET(ctx), (int) ctx->secretLen, + ctx->A, sizeof (ctx->A), ctx->A, NULL) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Openssl_Random_Key_PSHA1_Derive (const UA_ByteString * secret, + const UA_ByteString * seed, + UA_ByteString * out) { + size_t keyLen = out->length; + size_t iter = keyLen / SHA1_DIGEST_LENGTH + ((keyLen % SHA1_DIGEST_LENGTH)?1:0); + size_t bufferLen = iter * SHA1_DIGEST_LENGTH; + UA_Byte * pBuffer = (UA_Byte *) UA_malloc (bufferLen); + if (pBuffer == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_Openssl_P_SHA1_Ctx * ctx = P_SHA1_Ctx_Create (secret, seed); + if (ctx == NULL) { + UA_free (pBuffer); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + size_t i; + UA_StatusCode st; + + for (i = 0; i < iter; i++) { + st = P_SHA1_Hash_Generate (ctx, pBuffer + (i * SHA1_DIGEST_LENGTH)); + if (st != UA_STATUSCODE_GOOD) { + UA_free (pBuffer); + UA_free (ctx); + return st; + } + } + + (void) memcpy (out->data, pBuffer, keyLen); + UA_free (pBuffer); + UA_free (ctx); + + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_OpenSSL_HMAC_SHA1_Verify (const UA_ByteString * message, + const UA_ByteString * key, + const UA_ByteString * signature + ) { + unsigned char buf[SHA1_DIGEST_LENGTH] = {0}; + UA_ByteString mac = {SHA1_DIGEST_LENGTH, buf}; + + if(HMAC (EVP_sha1(), key->data, (int) key->length, message->data, message->length, + mac.data, (unsigned int *) &mac.length) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + if (UA_ByteString_equal (signature, &mac)) { + return UA_STATUSCODE_GOOD; + } + else { + return UA_STATUSCODE_BADINTERNALERROR; + } +} + +UA_StatusCode +UA_OpenSSL_HMAC_SHA1_Sign (const UA_ByteString * message, + const UA_ByteString * key, + UA_ByteString * signature + ) { + if (HMAC (EVP_sha1(), key->data, (int) key->length, message->data, + message->length, + signature->data, (unsigned int *) &(signature->length)) == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_Decrypt (UA_ByteString * data, + EVP_PKEY * privateKey) { + return UA_Openssl_RSA_Private_Decrypt (data, privateKey, + RSA_PKCS1_PADDING, false); +} + +UA_StatusCode +UA_Openssl_RSA_PKCS1_V15_Encrypt (UA_ByteString * data, + size_t paddingSize, + X509 * publicX509) { + UA_ByteString message; + UA_StatusCode ret = UA_ByteString_copy (data, &message); + if (ret != UA_STATUSCODE_GOOD) { + return ret; + } + ret = UA_Openssl_RSA_Public_Encrypt (&message, publicX509, + RSA_PKCS1_PADDING, + paddingSize, + data, false); + UA_ByteString_clear (&message); + return ret; +} + +UA_StatusCode +UA_OpenSSL_AES_128_CBC_Decrypt (const UA_ByteString * iv, + const UA_ByteString * key, + UA_ByteString * data /* [in/out]*/ + ) { + return UA_OpenSSL_Decrypt (iv, key, EVP_aes_128_cbc (), data); +} + +UA_StatusCode +UA_OpenSSL_AES_128_CBC_Encrypt (const UA_ByteString * iv, + const UA_ByteString * key, + UA_ByteString * data /* [in/out]*/ + ) { + return UA_OpenSSL_Encrypt (iv, key, EVP_aes_128_cbc (), data); +} + +EVP_PKEY * +UA_OpenSSL_LoadPrivateKey(const UA_ByteString *privateKey) { + const unsigned char * pkData = privateKey->data; + long len = (long) privateKey->length; + if(len == 0) + return NULL; + + EVP_PKEY *result = NULL; + + if (len > 1 && pkData[0] == 0x30 && pkData[1] == 0x82) { // Magic number for DER encoded keys + result = d2i_PrivateKey(EVP_PKEY_RSA, NULL, + &pkData, len); + } else { + BIO *bio = NULL; + bio = BIO_new_mem_buf((void *) privateKey->data, (int) privateKey->length); + result = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL); + BIO_free(bio); + } + + return result; +} + +X509 * +UA_OpenSSL_LoadCertificate(const UA_ByteString *certificate) { + X509 * result = NULL; + const unsigned char *pData = certificate->data; + + if (certificate->length > 1 && pData[0] == 0x30 && pData[1] == 0x82) { // Magic number for DER encoded files + result = UA_OpenSSL_LoadDerCertificate(certificate); + } else { + result = UA_OpenSSL_LoadPemCertificate(certificate); + } + + return result; +} + +X509 * +UA_OpenSSL_LoadDerCertificate(const UA_ByteString *certificate) { + const unsigned char *pData = certificate->data; + return d2i_X509(NULL, &pData, (long) certificate->length); +} + +X509 * +UA_OpenSSL_LoadPemCertificate(const UA_ByteString *certificate) { + X509 * result = NULL; + + BIO* bio = NULL; + bio = BIO_new_mem_buf((void *) certificate->data, (int) certificate->length); + result = PEM_read_bio_X509(bio, NULL, NULL, NULL); + BIO_free(bio); + + return result; +} + +UA_StatusCode +UA_OpenSSL_LoadLocalCertificate(const UA_ByteString *certificate, UA_ByteString *target) { + X509 *cert = UA_OpenSSL_LoadCertificate(certificate); + + if (!cert) { + UA_ByteString_init(target); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + unsigned char *derData = NULL; + int length = i2d_X509(cert, &derData); + X509_free(cert); + + if (length > 0) { + UA_ByteString temp; + temp.length = (size_t) length; + temp.data = derData; + UA_ByteString_copy(&temp, target); + OPENSSL_free(derData); + return UA_STATUSCODE_GOOD; + } else { + UA_ByteString_init(target); + } + + return UA_STATUSCODE_BADINVALIDARGUMENT; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_basic128rsa15.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + */ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + + +#include +#include +#include + +#define UA_SHA1_LENGTH 20 +#define UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN 11 +#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_KEY_LENGTH 16 +#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH 16 +#define UA_SHA1_LENGTH 20 + +typedef struct { + EVP_PKEY * localPrivateKey; + UA_ByteString localCertThumbprint; + const UA_Logger * logger; +} Policy_Context_Basic128Rsa15; + +typedef struct { + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + Policy_Context_Basic128Rsa15 * policyContext; + UA_ByteString remoteCertificate; + X509 * remoteCertificateX509; +} Channel_Context_Basic128Rsa15; + +static UA_StatusCode +UA_Policy_Basic128Rsa15_New_Context (UA_SecurityPolicy * securityPolicy, + const UA_ByteString localPrivateKey, + const UA_Logger * logger) { + Policy_Context_Basic128Rsa15 * context = (Policy_Context_Basic128Rsa15 *) + UA_malloc (sizeof (Policy_Context_Basic128Rsa15)); + if (context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); + + if (!context->localPrivateKey) { + UA_free(context); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint ( + &securityPolicy->localCertificate, + &context->localCertThumbprint, true + ); + if (retval != UA_STATUSCODE_GOOD) { + EVP_PKEY_free(context->localPrivateKey); + UA_free (context); + return retval; + } + + context->logger = logger; + securityPolicy->policyContext = context; + + return UA_STATUSCODE_GOOD; +} + +static void +UA_Policy_Basic128Rsa15_Clear_Context (UA_SecurityPolicy *policy) { + if (policy == NULL) { + return; + } + UA_ByteString_clear(&policy->localCertificate); + + Policy_Context_Basic128Rsa15 * ctx = (Policy_Context_Basic128Rsa15 *) policy->policyContext; + if (ctx == NULL) { + return; + } + + /* delete all allocated members in the context */ + + EVP_PKEY_free(ctx->localPrivateKey); + UA_ByteString_clear(&ctx->localCertThumbprint); + UA_free (ctx); + + return; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Policy_Context_Basic128Rsa15 *pc = + (Policy_Context_Basic128Rsa15 *)securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( + &newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + EVP_PKEY_free(pc->localPrivateKey); + + pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); + + if(!pc->localPrivateKey) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + UA_ByteString_clear(&pc->localCertThumbprint); + + retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, + &pc->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + goto error; + } + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + UA_Policy_Basic128Rsa15_Clear_Context(securityPolicy); + return retval; +} + +/* create the channel context */ + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_New_Context (const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * remoteCertificate, + void ** channelContext) { + if (securityPolicy == NULL || remoteCertificate == NULL || + channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + Channel_Context_Basic128Rsa15 * context = (Channel_Context_Basic128Rsa15 *) + UA_malloc (sizeof (Channel_Context_Basic128Rsa15)); + if (context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_ByteString_init(&context->localSymSigningKey); + UA_ByteString_init(&context->localSymEncryptingKey); + UA_ByteString_init(&context->localSymIv); + UA_ByteString_init(&context->remoteSymSigningKey); + UA_ByteString_init(&context->remoteSymEncryptingKey); + UA_ByteString_init(&context->remoteSymIv); + + UA_StatusCode retval = UA_copyCertificate (&context->remoteCertificate, + remoteCertificate); + if (retval != UA_STATUSCODE_GOOD) { + UA_free (context); + return retval; + } + + /* decode to X509 */ + context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); + if (context->remoteCertificateX509 == NULL) { + UA_ByteString_clear (&context->remoteCertificate); + UA_free (context); + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + } + + context->policyContext = (Policy_Context_Basic128Rsa15 *) + (securityPolicy->policyContext); + + *channelContext = context; + + UA_LOG_INFO (securityPolicy->logger, + UA_LOGCATEGORY_SECURITYPOLICY, + "The Basic128Rsa15 security policy channel with openssl is created."); + + return UA_STATUSCODE_GOOD; +} + +/* delete the channel context */ + +static void +UA_ChannelModule_Basic128Rsa15_Delete_Context (void * channelContext) { + if (channelContext != NULL) { + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) + channelContext; + X509_free (cc->remoteCertificateX509); + UA_ByteString_clear (&cc->remoteCertificate); + UA_ByteString_clear (&cc->localSymSigningKey); + UA_ByteString_clear (&cc->localSymEncryptingKey); + UA_ByteString_clear (&cc->localSymIv); + UA_ByteString_clear (&cc->remoteSymSigningKey); + UA_ByteString_clear (&cc->remoteSymEncryptingKey); + UA_ByteString_clear (&cc->remoteSymIv); + UA_LOG_INFO (cc->policyContext->logger, + UA_LOGCATEGORY_SECURITYPOLICY, + "The Basic128Rsa15 security policy channel with openssl is deleted."); + + UA_free (cc); + } +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_setLocalSymSigningKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_setLocalSymEncryptingKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_setLocalSymIv (void * channelContext, + const UA_ByteString * iv) { + if (iv == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_setRemoteSymSigningKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_setRemoteSymEncryptingKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_setRemoteSymIv (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(key, &cc->remoteSymIv); +} + +static UA_StatusCode +UA_ChannelModule_Basic128Rsa15_compareCertificate (const void * channelContext, + const UA_ByteString * certificate) { + if(channelContext == NULL || certificate == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic128Rsa15 * cc = + (const Channel_Context_Basic128Rsa15 *) channelContext; + return UA_OpenSSL_X509_compare (certificate, cc->remoteCertificateX509); +} + +static UA_StatusCode +UA_Asy_Basic128Rsa15_compareCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * certificateThumbprint) { + if (securityPolicy == NULL || certificateThumbprint == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + Policy_Context_Basic128Rsa15 *pc = (Policy_Context_Basic128Rsa15 *) + securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) { + return UA_STATUSCODE_BADCERTIFICATEINVALID; + } + return UA_STATUSCODE_GOOD; +} + +/* Generates a thumbprint for the specified certificate */ + +static UA_StatusCode +UA_Asy_Basic128Rsa15_makeCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * certificate, + UA_ByteString * thumbprint) { + return UA_Openssl_X509_GetCertificateThumbprint (certificate, + thumbprint, false); +} + +static size_t +UA_AsySig_Basic128Rsa15_getRemoteSignatureSize (const void * channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsySig_Basic128Rsa15_getLocalSignatureSize (const void * channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + Policy_Context_Basic128Rsa15 * pc = (Policy_Context_Basic128Rsa15 *) cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); + + return (size_t) keyLen; +} + +static UA_StatusCode +UA_AsySig_Basic128Rsa15_Verify (void * channelContext, + const UA_ByteString * message, + const UA_ByteString * signature) { + if (message == NULL || signature == NULL || + channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify (message, + cc->remoteCertificateX509, signature); + + return retval; +} + +static UA_StatusCode +UA_AsySig_Basic128Rsa15_Sign (void * channelContext, + const UA_ByteString * message, + UA_ByteString * signature) { + if (channelContext == NULL || message == NULL || signature == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + Policy_Context_Basic128Rsa15 *pc = cc->policyContext; + return UA_Openssl_RSA_PKCS1_V15_SHA1_Sign (message, pc->localPrivateKey, signature); +} + +static size_t +UA_AsymEn_Basic128Rsa15_getRemotePlainTextBlockSize (const void *channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; +} + +static size_t +UA_AsymEn_Basic128Rsa15_getRemoteBlockSize (const void *channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsymEn_Basic128Rsa15_getRemoteKeyLength (const void *channelContext) { + if (channelContext == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen * 8; +} + +static size_t +UA_AsymEn_Basic128Rsa15_getLocalKeyLength (const void *channelContext) { + if (channelContext == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + const Channel_Context_Basic128Rsa15 *cc = (const Channel_Context_Basic128Rsa15 *) channelContext; + Policy_Context_Basic128Rsa15 *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); + return (size_t) keyLen * 8; +} + +static UA_StatusCode +UA_AsymEn_Basic128Rsa15_Decrypt (void * channelContext, + UA_ByteString * data) { + if (channelContext == NULL || data == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + UA_StatusCode ret = UA_Openssl_RSA_PKCS1_V15_Decrypt (data, + cc->policyContext->localPrivateKey); + return ret; +} + +static UA_StatusCode +UA_AsymEn_Basic128Rsa15_Encrypt (void * channelContext, + UA_ByteString * data) { + if (channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + return UA_Openssl_RSA_PKCS1_V15_Encrypt (data, + UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN, + cc->remoteCertificateX509); +} + +static UA_StatusCode +UA_Sym_Basic128Rsa15_generateNonce(void *policyContext, + UA_ByteString *out) { + UA_Int32 rc = RAND_bytes(out->data, (int) out->length); + if (rc != 1) { + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_Sym_Basic128Rsa15_generateKey(void *policyContext, + const UA_ByteString *secret, + const UA_ByteString *seed, + UA_ByteString *out) { + return UA_Openssl_Random_Key_PSHA1_Derive(secret, seed, out); +} + +static size_t +UA_SymEn_Basic128Rsa15_getLocalKeyLength (const void *channelContext) { + /* 16 bytes 128 bits */ + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymEn_Basic128Rsa15_getBlockSize (const void *channelContext) { + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +UA_SymEn_Basic128Rsa15_getRemoteKeyLength (const void * channelContext) { + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_KEY_LENGTH; +} + +static UA_StatusCode +UA_SymEn_Basic128Rsa15_Encrypt (void *channelContext, + UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + return UA_OpenSSL_AES_128_CBC_Encrypt (&cc->localSymIv, &cc->localSymEncryptingKey, data); +} + +static UA_StatusCode +UA_SymEn_Basic128Rsa15_Decrypt (void * channelContext, + UA_ByteString * data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + return UA_OpenSSL_AES_128_CBC_Decrypt (&cc->remoteSymIv, &cc->remoteSymEncryptingKey, data); +} + +static size_t +UA_SymSig_Basic128Rsa15_getKeyLength (const void *channelContext) { + return UA_SECURITYPOLICY_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +UA_SymSig_Basic128Rsa15_getSignatureSize (const void *channelContext) { + return UA_SHA1_LENGTH; +} + +static UA_StatusCode +UA_SymSig_Basic128Rsa15_Verify (void * channelContext, + const UA_ByteString * message, + const UA_ByteString * signature) { + if (channelContext == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + return UA_OpenSSL_HMAC_SHA1_Verify (message, + &cc->remoteSymSigningKey, + signature); +} + +static UA_StatusCode +UA_SymSig_Basic128Rsa15_Sign (void * channelContext, + const UA_ByteString * message, + UA_ByteString * signature) { + if (channelContext == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; + return UA_OpenSSL_HMAC_SHA1_Sign (message, &cc->localSymSigningKey, signature); +} + +/* the main entry of Basic128Rsa15 */ + +UA_StatusCode +UA_SecurityPolicy_Basic128Rsa15 (UA_SecurityPolicy * policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger * logger) { + + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "!! WARNING !! The Basic128Rsa15 SecurityPolicy is unsecure. " + "There are known attacks that break the encryption."); + + UA_SecurityPolicyAsymmetricModule * const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule * const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule * const channelModule = &policy->channelModule; + UA_StatusCode retval; + + UA_LOG_INFO (logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Basic128Rsa15 security policy with openssl is added."); + + UA_Openssl_Init (); + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15\0"); + + /* set ChannelModule context */ + + channelModule->newContext = UA_ChannelModule_Basic128Rsa15_New_Context; + channelModule->deleteContext = UA_ChannelModule_Basic128Rsa15_Delete_Context; + + channelModule->setLocalSymSigningKey = UA_ChannelModule_Basic128Rsa15_setLocalSymSigningKey; + channelModule->setLocalSymEncryptingKey = UA_ChannelModule_Basic128Rsa15_setLocalSymEncryptingKey; + channelModule->setLocalSymIv = UA_ChannelModule_Basic128Rsa15_setLocalSymIv; + channelModule->setRemoteSymSigningKey = UA_ChannelModule_Basic128Rsa15_setRemoteSymSigningKey; + channelModule->setRemoteSymEncryptingKey = UA_ChannelModule_Basic128Rsa15_setRemoteSymEncryptingKey; + channelModule->setRemoteSymIv = UA_ChannelModule_Basic128Rsa15_setRemoteSymIv; + channelModule->compareCertificate = UA_ChannelModule_Basic128Rsa15_compareCertificate; + + retval = UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* asymmetricModule */ + + asymmetricModule->compareCertificateThumbprint = UA_Asy_Basic128Rsa15_compareCertificateThumbprint; + asymmetricModule->makeCertificateThumbprint = UA_Asy_Basic128Rsa15_makeCertificateThumbprint; + + /* AsymmetricModule - signature algorithm */ + + UA_SecurityPolicySignatureAlgorithm * asySigAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asySigAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); + asySigAlgorithm->getRemoteSignatureSize = UA_AsySig_Basic128Rsa15_getRemoteSignatureSize; + asySigAlgorithm->getLocalSignatureSize = UA_AsySig_Basic128Rsa15_getLocalSignatureSize; + asySigAlgorithm->getLocalKeyLength = NULL; + asySigAlgorithm->getRemoteKeyLength = NULL; + asySigAlgorithm->verify = UA_AsySig_Basic128Rsa15_Verify; + asySigAlgorithm->sign = UA_AsySig_Basic128Rsa15_Sign; + + /* AsymmetricModule encryption algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm * asymEncryAlg = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-1_5\0"); + asymEncryAlg->getRemotePlainTextBlockSize = UA_AsymEn_Basic128Rsa15_getRemotePlainTextBlockSize; + asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Basic128Rsa15_getRemoteBlockSize; + asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Basic128Rsa15_getRemoteKeyLength; + asymEncryAlg->getLocalKeyLength = UA_AsymEn_Basic128Rsa15_getLocalKeyLength; + asymEncryAlg->decrypt = UA_AsymEn_Basic128Rsa15_Decrypt; + asymEncryAlg->encrypt = UA_AsymEn_Basic128Rsa15_Encrypt; + + /* SymmetricModule */ + + symmetricModule->secureChannelNonceLength = 16; /* 128 bits*/ + symmetricModule->generateNonce = UA_Sym_Basic128Rsa15_generateNonce; + symmetricModule->generateKey = UA_Sym_Basic128Rsa15_generateKey; + + /* Symmetric encryption Algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm * symEncryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + symEncryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc\0"); + symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Basic128Rsa15_getLocalKeyLength; + symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Basic128Rsa15_getRemoteKeyLength; + symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Basic128Rsa15_getBlockSize; + symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Basic128Rsa15_getBlockSize; + symEncryptionAlgorithm->decrypt = UA_SymEn_Basic128Rsa15_Decrypt; + symEncryptionAlgorithm->encrypt = UA_SymEn_Basic128Rsa15_Encrypt; + + /* Symmetric signature Algorithm */ + + UA_SecurityPolicySignatureAlgorithm * symSignatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); + symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Basic128Rsa15_getKeyLength; + symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Basic128Rsa15_getKeyLength; + symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Basic128Rsa15_getSignatureSize; + symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Basic128Rsa15_getSignatureSize; + + symSignatureAlgorithm->verify = UA_SymSig_Basic128Rsa15_Verify; + symSignatureAlgorithm->sign = UA_SymSig_Basic128Rsa15_Sign; + + /* set the policy context */ + + retval = UA_Policy_Basic128Rsa15_New_Context (policy, localPrivateKey, logger); + if (retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear (&policy->localCertificate); + return retval; + } + policy->updateCertificateAndPrivateKey = + updateCertificateAndPrivateKey_sp_basic128rsa15; + policy->clear = UA_Policy_Basic128Rsa15_Clear_Context; + + /* Use the same signature algorithm as the asymmetric component for + certificate signing (see standard) */ + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + return UA_STATUSCODE_GOOD; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_basic256.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + */ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + + +#include +#include + +#define UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN 42 +#define UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256_SYM_SIGNING_KEY_LENGTH 24 +#define UA_SHA1_LENGTH 20 + +typedef struct { + EVP_PKEY * localPrivateKey; + UA_ByteString localCertThumbprint; + const UA_Logger * logger; +} Policy_Context_Basic256; + +typedef struct { + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + Policy_Context_Basic256 * policyContext; + UA_ByteString remoteCertificate; + X509 * remoteCertificateX509; +} Channel_Context_Basic256; + +static UA_StatusCode +UA_Policy_Basic256_New_Context (UA_SecurityPolicy * securityPolicy, + const UA_ByteString localPrivateKey, + const UA_Logger * logger) { + Policy_Context_Basic256 * context = (Policy_Context_Basic256 *) + UA_malloc (sizeof (Policy_Context_Basic256)); + if (context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); + + if (!context->localPrivateKey) { + UA_free (context); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint ( + &securityPolicy->localCertificate, + &context->localCertThumbprint, true + ); + if (retval != UA_STATUSCODE_GOOD) { + EVP_PKEY_free(context->localPrivateKey); + UA_free (context); + return retval; + } + + context->logger = logger; + securityPolicy->policyContext = context; + + return UA_STATUSCODE_GOOD; +} + +static void +UA_Policy_Basic256_Clear_Context (UA_SecurityPolicy *policy) { + if (policy == NULL) { + return; + } + UA_ByteString_clear(&policy->localCertificate); + + Policy_Context_Basic256 * ctx = (Policy_Context_Basic256 *) policy->policyContext; + if (ctx == NULL) { + return; + } + + /* delete all allocated members in the context */ + + EVP_PKEY_free(ctx->localPrivateKey); + UA_ByteString_clear(&ctx->localCertThumbprint); + UA_free (ctx); + + return; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_basic256(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Policy_Context_Basic256 *pc = + (Policy_Context_Basic256 *)securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( + &newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + EVP_PKEY_free(pc->localPrivateKey); + + pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); + + if(!pc->localPrivateKey) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + UA_ByteString_clear(&pc->localCertThumbprint); + + retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, + &pc->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + goto error; + } + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + UA_Policy_Basic256_Clear_Context(securityPolicy); + return retval; +} + +/* create the channel context */ + +static UA_StatusCode +UA_ChannelModule_Basic256_New_Context (const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * remoteCertificate, + void ** channelContext) { + if (securityPolicy == NULL || remoteCertificate == NULL || + channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + Channel_Context_Basic256 * context = (Channel_Context_Basic256 *) + UA_malloc (sizeof (Channel_Context_Basic256)); + if (context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_ByteString_init(&context->localSymSigningKey); + UA_ByteString_init(&context->localSymEncryptingKey); + UA_ByteString_init(&context->localSymIv); + UA_ByteString_init(&context->remoteSymSigningKey); + UA_ByteString_init(&context->remoteSymEncryptingKey); + UA_ByteString_init(&context->remoteSymIv); + + UA_StatusCode retval = UA_copyCertificate (&context->remoteCertificate, + remoteCertificate); + if (retval != UA_STATUSCODE_GOOD) { + UA_free (context); + return retval; + } + + /* decode to X509 */ + context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); + if (context->remoteCertificateX509 == NULL) { + UA_ByteString_clear (&context->remoteCertificate); + UA_free (context); + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + } + + context->policyContext = (Policy_Context_Basic256 *) + (securityPolicy->policyContext); + + *channelContext = context; + + UA_LOG_INFO (securityPolicy->logger, + UA_LOGCATEGORY_SECURITYPOLICY, + "The basic256 security policy channel with openssl is created."); + + return UA_STATUSCODE_GOOD; +} + +/* delete the channel context */ + +static void +UA_ChannelModule_Basic256_Delete_Context (void * channelContext) { + if (channelContext != NULL) { + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) + channelContext; + X509_free (cc->remoteCertificateX509); + UA_ByteString_clear (&cc->remoteCertificate); + UA_ByteString_clear (&cc->localSymSigningKey); + UA_ByteString_clear (&cc->localSymEncryptingKey); + UA_ByteString_clear (&cc->localSymIv); + UA_ByteString_clear (&cc->remoteSymSigningKey); + UA_ByteString_clear (&cc->remoteSymEncryptingKey); + UA_ByteString_clear (&cc->remoteSymIv); + UA_LOG_INFO (cc->policyContext->logger, + UA_LOGCATEGORY_SECURITYPOLICY, + "The basic256 security policy channel with openssl is deleted."); + + UA_free (cc); + } +} + +/* Compares the supplied certificate with the certificate + * in the endpoint context + */ + +static UA_StatusCode +UA_Asy_Basic256_compareCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * certificateThumbprint) { + if (securityPolicy == NULL || certificateThumbprint == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + Policy_Context_Basic256 *pc = (Policy_Context_Basic256 *) + securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) { + return UA_STATUSCODE_BADCERTIFICATEINVALID; + } + return UA_STATUSCODE_GOOD; +} + +/* Generates a thumbprint for the specified certificate */ + +static UA_StatusCode +UA_Asy_Basic256_makeCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * certificate, + UA_ByteString * thumbprint) { + return UA_Openssl_X509_GetCertificateThumbprint (certificate, + thumbprint, false); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_setLocalSymSigningKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_setLocalSymEncryptingKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_setLocalSymIv (void * channelContext, + const UA_ByteString * iv) { + if (iv == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_setRemoteSymSigningKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_setRemoteSymEncryptingKey (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_setRemoteSymIv (void * channelContext, + const UA_ByteString * key) { + if (key == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(key, &cc->remoteSymIv); +} + +static UA_StatusCode +UA_ChannelModule_Basic256_compareCertificate (const void * channelContext, + const UA_ByteString * certificate) { + if(channelContext == NULL || certificate == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic256 * cc = + (const Channel_Context_Basic256 *) channelContext; + return UA_OpenSSL_X509_compare (certificate, cc->remoteCertificateX509); +} + +static size_t +UA_AsySig_Basic256_getRemoteSignatureSize (const void *channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsySig_Basic256_getLocalSignatureSize (const void *channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; + Policy_Context_Basic256 * pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); + + return (size_t) keyLen; +} + +static UA_StatusCode +UA_AsySig_Basic256_Verify (void * channelContext, + const UA_ByteString * message, + const UA_ByteString * signature) { + if (message == NULL || signature == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify (message, + cc->remoteCertificateX509, signature); + return retval; +} + +static UA_StatusCode +UA_AsySig_Basic256_Sign (void * channelContext, + const UA_ByteString * message, + UA_ByteString * signature) { + if (channelContext == NULL || message == NULL || signature == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + Policy_Context_Basic256 * pc = cc->policyContext; + return UA_Openssl_RSA_PKCS1_V15_SHA1_Sign (message, pc->localPrivateKey, + signature); +} + +static size_t +UA_AsymEn_Basic256_getRemotePlainTextBlockSize (const void *channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen - UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN; +} + +static size_t +UA_AsymEn_Basic256_getRemoteBlockSize (const void *channelContext) { + if (channelContext == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsymEn_Basic256_getRemoteKeyLength (const void *channelContext) { + if (channelContext == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen * 8; +} + +static size_t +UA_AsymEn_Basic256_getLocalKeyLength (const void *channelContext) { + if (channelContext == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + const Channel_Context_Basic256 *cc = (const Channel_Context_Basic256 *) channelContext; + Policy_Context_Basic256 *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); + + return (size_t) keyLen * 8; +} + +static UA_StatusCode +UA_AsymEn_Basic256_Decrypt (void * channelContext, + UA_ByteString * data) { + if (channelContext == NULL || data == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + UA_StatusCode ret = UA_Openssl_RSA_Oaep_Decrypt (data, + cc->policyContext->localPrivateKey); + return ret; +} + +static UA_StatusCode +UA_AsymEn_Basic256_Encrypt (void * channelContext, + UA_ByteString * data) { + if (channelContext == NULL || data == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + return UA_Openssl_RSA_OAEP_Encrypt (data, UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN, + cc->remoteCertificateX509); +} + +static UA_StatusCode +UA_Sym_Basic256_generateNonce(void *policyContext, + UA_ByteString *out) { + UA_Int32 rc = RAND_bytes(out->data, (int) out->length); + if (rc != 1) { + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_Sym_Basic256_generateKey(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + return UA_Openssl_Random_Key_PSHA1_Derive(secret, seed, out); +} + +static size_t +UA_SymEn_Basic256_getLocalKeyLength (const void * channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymEn_Basic256_getBlockSize (const void * channelContext) { + return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +UA_SymEn_Basic256_getRemoteKeyLength (const void * channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_KEY_LENGTH; +} + +static UA_StatusCode +UA_SymEn_Basic256_Encrypt (void * channelContext, + UA_ByteString * data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + return UA_OpenSSL_AES_256_CBC_Encrypt (&cc->localSymIv, &cc->localSymEncryptingKey, data); +} + +static UA_StatusCode +UA_SymEn_Basic256_Decrypt (void * channelContext, + UA_ByteString * data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + return UA_OpenSSL_AES_256_CBC_Decrypt (&cc->remoteSymIv, &cc->remoteSymEncryptingKey, data); +} + +static size_t +UA_SymSig_Basic256_getKeyLength (const void * channelContext) { + return UA_SECURITYPOLICY_BASIC256_SYM_SIGNING_KEY_LENGTH; +} + +static size_t +UA_SymSig_Basic256_getSignatureSize (const void * channelContext) { + return UA_SHA1_LENGTH; +} + +static UA_StatusCode +UA_SymSig_Basic256_Verify (void * channelContext, + const UA_ByteString * message, + const UA_ByteString * signature) { + if (channelContext == NULL || + message == NULL || signature == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + return UA_OpenSSL_HMAC_SHA1_Verify (message, + &cc->remoteSymSigningKey, + signature); +} + +static UA_StatusCode +UA_SymSig_Basic256_Sign (void * channelContext, + const UA_ByteString * message, + UA_ByteString * signature) { + if (channelContext == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; + return UA_OpenSSL_HMAC_SHA1_Sign (message, &cc->localSymSigningKey, signature); +} + +/* the main entry of Basic256 */ + +UA_StatusCode +UA_SecurityPolicy_Basic256 (UA_SecurityPolicy * policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger * logger) { + + UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "!! WARNING !! The Basic256 SecurityPolicy is unsecure. " + "There are known attacks that break the encryption."); + + UA_SecurityPolicyAsymmetricModule * const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule * const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule * const channelModule = &policy->channelModule; + UA_StatusCode retval; + + UA_LOG_INFO (logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The basic256 security policy with openssl is added."); + + UA_Openssl_Init (); + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256\0"); + + /* set ChannelModule context */ + + channelModule->newContext = UA_ChannelModule_Basic256_New_Context; + channelModule->deleteContext = UA_ChannelModule_Basic256_Delete_Context; + + channelModule->setLocalSymSigningKey = UA_ChannelModule_Basic256_setLocalSymSigningKey; + channelModule->setLocalSymEncryptingKey = UA_ChannelModule_Basic256_setLocalSymEncryptingKey; + channelModule->setLocalSymIv = UA_ChannelModule_Basic256_setLocalSymIv; + channelModule->setRemoteSymSigningKey = UA_ChannelModule_Basic256_setRemoteSymSigningKey; + channelModule->setRemoteSymEncryptingKey = UA_ChannelModule_Basic256_setRemoteSymEncryptingKey; + channelModule->setRemoteSymIv = UA_ChannelModule_Basic256_setRemoteSymIv; + channelModule->compareCertificate = UA_ChannelModule_Basic256_compareCertificate; + + retval = UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + + if (retval != UA_STATUSCODE_GOOD) + return retval; + + /* asymmetricModule */ + + asymmetricModule->compareCertificateThumbprint = UA_Asy_Basic256_compareCertificateThumbprint; + asymmetricModule->makeCertificateThumbprint = UA_Asy_Basic256_makeCertificateThumbprint; + + /* AsymmetricModule - signature algorithm */ + + UA_SecurityPolicySignatureAlgorithm * asySigAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asySigAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); + asySigAlgorithm->getRemoteSignatureSize = UA_AsySig_Basic256_getRemoteSignatureSize; + asySigAlgorithm->getLocalSignatureSize = UA_AsySig_Basic256_getLocalSignatureSize; + asySigAlgorithm->verify = UA_AsySig_Basic256_Verify; + asySigAlgorithm->sign = UA_AsySig_Basic256_Sign; + asySigAlgorithm->getLocalKeyLength = NULL; + asySigAlgorithm->getRemoteKeyLength = NULL; + + /* AsymmetricModule encryption algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm * asymEncryAlg = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); + asymEncryAlg->getRemotePlainTextBlockSize = UA_AsymEn_Basic256_getRemotePlainTextBlockSize; + asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Basic256_getRemoteBlockSize; + asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Basic256_getRemoteKeyLength; + asymEncryAlg->getLocalKeyLength = UA_AsymEn_Basic256_getLocalKeyLength; + asymEncryAlg->decrypt = UA_AsymEn_Basic256_Decrypt; + asymEncryAlg->encrypt = UA_AsymEn_Basic256_Encrypt; + + /* SymmetricModule */ + + symmetricModule->secureChannelNonceLength = 32; + symmetricModule->generateNonce = UA_Sym_Basic256_generateNonce; + symmetricModule->generateKey = UA_Sym_Basic256_generateKey; + + /* Symmetric encryption Algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm * symEncryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + symEncryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); + symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Basic256_getLocalKeyLength; + symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Basic256_getRemoteKeyLength; + symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Basic256_getBlockSize; + symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Basic256_getBlockSize; + symEncryptionAlgorithm->decrypt = UA_SymEn_Basic256_Decrypt; + symEncryptionAlgorithm->encrypt = UA_SymEn_Basic256_Encrypt; + + /* Symmetric signature Algorithm */ + + UA_SecurityPolicySignatureAlgorithm * symSignatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); + symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Basic256_getKeyLength; + symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Basic256_getKeyLength; + symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Basic256_getSignatureSize; + symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Basic256_getSignatureSize; + symSignatureAlgorithm->verify = UA_SymSig_Basic256_Verify; + symSignatureAlgorithm->sign = UA_SymSig_Basic256_Sign; + + /* set the policy context */ + + retval = UA_Policy_Basic256_New_Context (policy, localPrivateKey, logger); + if (retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear (&policy->localCertificate); + return retval; + } + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic256; + policy->clear = UA_Policy_Basic256_Clear_Context; + + /* Use the same signature algorithm as the asymmetric component for + certificate signing (see standard) */ + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + return UA_STATUSCODE_GOOD; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_basic256sha256.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + */ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + + +#include +#include +#include +#include +#include +#include + +#define UA_SHA256_LENGTH 32 /* 256 bit */ +#define UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN 42 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_BASIC256SHA256_MINASYMKEYLENGTH 256 +#define UA_SECURITYPOLICY_BASIC256SHA256_MAXASYMKEYLENGTH 512 + +typedef struct { + EVP_PKEY *localPrivateKey; + UA_ByteString localCertThumbprint; + const UA_Logger *logger; +} Policy_Context_Basic256Sha256; + +typedef struct { + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + Policy_Context_Basic256Sha256 *policyContext; + UA_ByteString remoteCertificate; + X509 *remoteCertificateX509; /* X509 */ +} Channel_Context_Basic256Sha256; + +/* create the policy context */ + +static UA_StatusCode +UA_Policy_New_Context(UA_SecurityPolicy * securityPolicy, + const UA_ByteString localPrivateKey, + const UA_Logger *logger) { + Policy_Context_Basic256Sha256 *context = (Policy_Context_Basic256Sha256 *) + UA_malloc(sizeof(Policy_Context_Basic256Sha256)); + if(context == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); + + if(!context->localPrivateKey) { + UA_free(context); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval = + UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, + &context->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + EVP_PKEY_free(context->localPrivateKey); + UA_free(context); + return retval; + } + + context->logger = logger; + securityPolicy->policyContext = context; + return UA_STATUSCODE_GOOD; +} + +/* Clear the policy context */ +static void +UA_Policy_Clear_Context(UA_SecurityPolicy *policy) { + if(policy == NULL) + return; + + UA_ByteString_clear(&policy->localCertificate); + + /* Delete all allocated members in the context */ + Policy_Context_Basic256Sha256 *pc = + (Policy_Context_Basic256Sha256 *) policy->policyContext; + EVP_PKEY_free(pc->localPrivateKey); + UA_ByteString_clear(&pc->localCertThumbprint); + UA_free(pc); + return; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_basic256sha256(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Policy_Context_Basic256Sha256 *pc = + (Policy_Context_Basic256Sha256 *)securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( + &newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + EVP_PKEY_free(pc->localPrivateKey); + + pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); + + if(!pc->localPrivateKey) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + UA_ByteString_clear(&pc->localCertThumbprint); + + retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, + &pc->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + goto error; + } + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + UA_Policy_Clear_Context(securityPolicy); + return retval; +} + +/* create the channel context */ + +static UA_StatusCode +UA_ChannelModule_New_Context(const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * remoteCertificate, + void ** channelContext) { + if(securityPolicy == NULL || remoteCertificate == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Basic256Sha256 *context = (Channel_Context_Basic256Sha256 *) + UA_malloc(sizeof(Channel_Context_Basic256Sha256)); + if(context == NULL) + return UA_STATUSCODE_BADOUTOFMEMORY; + + UA_ByteString_init(&context->localSymSigningKey); + UA_ByteString_init(&context->localSymEncryptingKey); + UA_ByteString_init(&context->localSymIv); + UA_ByteString_init(&context->remoteSymSigningKey); + UA_ByteString_init(&context->remoteSymEncryptingKey); + UA_ByteString_init(&context->remoteSymIv); + + UA_StatusCode retval = + UA_copyCertificate(&context->remoteCertificate, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(context); + return retval; + } + + /* decode to X509 */ + context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); + if(context->remoteCertificateX509 == NULL) { + UA_ByteString_clear(&context->remoteCertificate); + UA_free(context); + return UA_STATUSCODE_BADINTERNALERROR; + } + + context->policyContext = + (Policy_Context_Basic256Sha256 *)securityPolicy->policyContext; + *channelContext = context; + + UA_LOG_INFO(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The basic256sha256 security policy channel with openssl is created."); + + return UA_STATUSCODE_GOOD; +} + +/* delete the channel context */ + +static void +UA_ChannelModule_Delete_Context(void * channelContext) { + if(!channelContext) + return; + + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *)channelContext; + X509_free(cc->remoteCertificateX509); + UA_ByteString_clear(&cc->remoteCertificate); + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + UA_LOG_INFO(cc->policyContext->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The basic256sha256 security policy channel with openssl is deleted."); + UA_free(cc); +} + +/* Verifies the signature of the message using the provided keys in the context. + * AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ +static UA_StatusCode +UA_AsySig_Basic256Sha256_Verify(void *channelContext, + const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Basic256Sha256 * cc = + (Channel_Context_Basic256Sha256 *) channelContext; + return UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify(message, cc->remoteCertificateX509, + signature); +} + +/* Compares the supplied certificate with the certificate + * in the endpoint context + */ + +static UA_StatusCode +UA_compareCertificateThumbprint(const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + Policy_Context_Basic256Sha256 *pc = (Policy_Context_Basic256Sha256 *) + securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + return UA_STATUSCODE_GOOD; +} + +/* Generates a thumbprint for the specified certificate */ + +static UA_StatusCode +UA_makeCertificateThumbprint(const UA_SecurityPolicy * securityPolicy, + const UA_ByteString * certificate, + UA_ByteString * thumbprint) { + return UA_Openssl_X509_GetCertificateThumbprint(certificate, thumbprint, false); +} + +static UA_StatusCode +UA_Asym_Basic256Sha256_Decrypt(void * channelContext, UA_ByteString * data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Basic256Sha256 * cc = + (Channel_Context_Basic256Sha256 *) channelContext; + return UA_Openssl_RSA_Oaep_Decrypt(data, cc->policyContext->localPrivateKey); +} + +static size_t +UA_Asym_Basic256Sha256_getRemoteSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 * cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsySig_Basic256Sha256_getLocalSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 *cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + Policy_Context_Basic256Sha256 * pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsymEn_Basic256Sha256_getRemotePlainTextBlockSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 *cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen - UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN; +} + +static size_t +UA_AsymEn_Basic256Sha256_getRemoteBlockSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 * cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen; +} + +static size_t +UA_AsymEn_Basic256Sha256_getRemoteKeyLength(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 *cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t) keyLen * 8; +} + +static UA_StatusCode +UA_Sym_Basic256Sha256_generateNonce(void *policyContext, + UA_ByteString *out) { + UA_Int32 rc = RAND_bytes(out->data, (int) out->length); + if(rc != 1) + return UA_STATUSCODE_BADUNEXPECTEDERROR; + return UA_STATUSCODE_GOOD; +} + +static size_t +UA_SymEn_Basic256Sha256_getLocalKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymSig_Basic256Sha256_getLocalKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH; +} + +static UA_StatusCode +UA_Sym_Basic256Sha256_generateKey(void *policyContext, + const UA_ByteString *secret, + const UA_ByteString *seed, + UA_ByteString *out) { + return UA_Openssl_Random_Key_PSHA256_Derive(secret, seed, out); +} + +static UA_StatusCode +UA_ChannelModule_Basic256Sha256_setLocalSymSigningKey(void * channelContext, + const UA_ByteString * key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + +static UA_StatusCode +UA_ChannelM_Basic256Sha256_setLocalSymEncryptingKey(void * channelContext, + const UA_ByteString * key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelM_Basic256Sha256_setLocalSymIv(void * channelContext, + const UA_ByteString * iv) { + if(iv == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static size_t +UA_SymEn_Basic256Sha256_getRemoteKeyLength(const void * channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymEn_Basic256Sha256_getBlockSize(const void *channelContext) { + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +UA_SymSig_Basic256Sha256_getRemoteKeyLength(const void * channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH; +} + +static UA_StatusCode +UA_ChannelM_Basic256Sha256_setRemoteSymSigningKey(void *channelContext, + const UA_ByteString * key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +UA_ChannelM_Basic256Sha256_setRemoteSymEncryptingKey(void *channelContext, + const UA_ByteString * key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelM_Basic256Sha256_setRemoteSymIv(void *channelContext, + const UA_ByteString * key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(key, &cc->remoteSymIv); +} + +static UA_StatusCode +UA_AsySig_Basic256Sha256_sign(void *channelContext, const UA_ByteString * message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 *cc = (Channel_Context_Basic256Sha256 *) channelContext; + Policy_Context_Basic256Sha256 *pc = cc->policyContext; + return UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(message, pc->localPrivateKey, signature); +} + +static UA_StatusCode +UA_AsymEn_Basic256Sha256_encrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = + (Channel_Context_Basic256Sha256 *) channelContext; + return UA_Openssl_RSA_OAEP_Encrypt(data, UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN, + cc->remoteCertificateX509); +} + +static size_t +UA_SymSig_Basic256Sha256_getRemoteSignatureSize(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static UA_StatusCode +UA_SymSig_Basic256Sha256_verify(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + return UA_OpenSSL_HMAC_SHA256_Verify(message, &cc->remoteSymSigningKey, signature); +} + +static UA_StatusCode +UA_SymSig_Basic256Sha256_sign(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + return UA_OpenSSL_HMAC_SHA256_Sign(message, &cc->localSymSigningKey, signature); +} + +static size_t +UA_SymSig_Basic256Sha256_getLocalSignatureSize(const void * channelContext) { + return UA_SHA256_LENGTH; +} + +static UA_StatusCode +UA_SymEn_Basic256Sha256_decrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + return UA_OpenSSL_AES_256_CBC_Decrypt(&cc->remoteSymIv, + &cc->remoteSymEncryptingKey, data); +} + +static UA_StatusCode +UA_SymEn_Basic256Sha256_encrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; + return UA_OpenSSL_AES_256_CBC_Encrypt(&cc->localSymIv, &cc->localSymEncryptingKey, data); +} + +static UA_StatusCode +UA_ChannelM_Basic256Sha256_compareCertificate(const void *channelContext, + const UA_ByteString *certificate) { + if(channelContext == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 * cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + return UA_OpenSSL_X509_compare(certificate, cc->remoteCertificateX509); +} + +static size_t +UA_AsymEn_Basic256Sha256_getLocalKeyLength(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Basic256Sha256 * cc = + (const Channel_Context_Basic256Sha256 *) channelContext; + Policy_Context_Basic256Sha256 *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t) keyLen * 8; +} + +/* the main entry of Basic256Sha256 */ + +UA_StatusCode +UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger) { + UA_SecurityPolicyAsymmetricModule *asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *channelModule = &policy->channelModule; + UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The basic256sha256 security policy with openssl is added."); + + UA_Openssl_Init(); + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + policy->policyUri = + UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256\0"); + + /* Set ChannelModule context */ + channelModule->newContext = UA_ChannelModule_New_Context; + channelModule->deleteContext = UA_ChannelModule_Delete_Context; + channelModule->setLocalSymSigningKey = + UA_ChannelModule_Basic256Sha256_setLocalSymSigningKey; + channelModule->setLocalSymEncryptingKey = + UA_ChannelM_Basic256Sha256_setLocalSymEncryptingKey; + channelModule->setLocalSymIv = UA_ChannelM_Basic256Sha256_setLocalSymIv; + channelModule->setRemoteSymSigningKey = + UA_ChannelM_Basic256Sha256_setRemoteSymSigningKey; + channelModule->setRemoteSymEncryptingKey = + UA_ChannelM_Basic256Sha256_setRemoteSymEncryptingKey; + channelModule->setRemoteSymIv = UA_ChannelM_Basic256Sha256_setRemoteSymIv; + channelModule->compareCertificate = UA_ChannelM_Basic256Sha256_compareCertificate; + UA_StatusCode retval = + UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule - signature algorithm */ + UA_SecurityPolicySignatureAlgorithm *asySigAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asySigAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); + asySigAlgorithm->verify = UA_AsySig_Basic256Sha256_Verify; + asySigAlgorithm->sign = UA_AsySig_Basic256Sha256_sign; + asySigAlgorithm->getLocalSignatureSize = UA_AsySig_Basic256Sha256_getLocalSignatureSize; + asySigAlgorithm->getRemoteSignatureSize = UA_Asym_Basic256Sha256_getRemoteSignatureSize; + asySigAlgorithm->getLocalKeyLength = NULL; + asySigAlgorithm->getRemoteKeyLength = NULL; + + /* AsymmetricModule encryption algorithm */ + UA_SecurityPolicyEncryptionAlgorithm *asymEncryAlg = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); + asymEncryAlg->encrypt = UA_AsymEn_Basic256Sha256_encrypt; + asymEncryAlg->decrypt = UA_Asym_Basic256Sha256_Decrypt; + asymEncryAlg->getLocalKeyLength = UA_AsymEn_Basic256Sha256_getLocalKeyLength; + asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Basic256Sha256_getRemoteKeyLength; + asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Basic256Sha256_getRemoteBlockSize; + asymEncryAlg->getRemotePlainTextBlockSize = + UA_AsymEn_Basic256Sha256_getRemotePlainTextBlockSize; + + /* AsymmetricModule */ + asymmetricModule->compareCertificateThumbprint = UA_compareCertificateThumbprint; + asymmetricModule->makeCertificateThumbprint = UA_makeCertificateThumbprint; + + /* SymmetricModule */ + symmetricModule->secureChannelNonceLength = 32; + symmetricModule->generateNonce = UA_Sym_Basic256Sha256_generateNonce; + symmetricModule->generateKey = UA_Sym_Basic256Sha256_generateKey; + + /* Symmetric encryption Algorithm */ + UA_SecurityPolicyEncryptionAlgorithm *symEncryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + symEncryptionAlgorithm->uri = + UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); + symEncryptionAlgorithm->encrypt = UA_SymEn_Basic256Sha256_encrypt; + symEncryptionAlgorithm->decrypt = UA_SymEn_Basic256Sha256_decrypt; + symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Basic256Sha256_getLocalKeyLength; + symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Basic256Sha256_getRemoteKeyLength; + symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Basic256Sha256_getBlockSize; + symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Basic256Sha256_getBlockSize; + + /* Symmetric signature Algorithm */ + UA_SecurityPolicySignatureAlgorithm *symSignatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + symSignatureAlgorithm->uri = + UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); + symSignatureAlgorithm->verify = UA_SymSig_Basic256Sha256_verify; + symSignatureAlgorithm->sign = UA_SymSig_Basic256Sha256_sign; + symSignatureAlgorithm->getLocalSignatureSize = + UA_SymSig_Basic256Sha256_getLocalSignatureSize; + symSignatureAlgorithm->getRemoteSignatureSize = + UA_SymSig_Basic256Sha256_getRemoteSignatureSize; + symSignatureAlgorithm->getLocalKeyLength = + UA_SymSig_Basic256Sha256_getLocalKeyLength; + symSignatureAlgorithm->getRemoteKeyLength = + UA_SymSig_Basic256Sha256_getRemoteKeyLength; + + policy->updateCertificateAndPrivateKey = + updateCertificateAndPrivateKey_sp_basic256sha256; + policy->clear = UA_Policy_Clear_Context; + retval = UA_Policy_New_Context(policy, localPrivateKey, logger); + if(retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear(&policy->localCertificate); + return retval; + } + + /* Use the same signature algorithm as the asymmetric component for + * certificate signing (see standard) */ + policy->certificateSigningAlgorithm = + policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + return UA_STATUSCODE_GOOD; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_aes128sha256rsaoaep.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2020 (c) Wind River Systems, Inc. + */ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + + +#include +#include +#include +#include +#include +#include + +#define UA_SHA256_LENGTH 32 /* 256 bit */ +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN 42 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_KEY_LENGTH 16 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MINASYMKEYLENGTH 256 +#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MAXASYMKEYLENGTH 512 + +typedef struct { + EVP_PKEY *localPrivateKey; + UA_ByteString localCertThumbprint; + const UA_Logger *logger; +} Policy_Context_Aes128Sha256RsaOaep; + +typedef struct { + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + Policy_Context_Aes128Sha256RsaOaep *policyContext; + UA_ByteString remoteCertificate; + X509 *remoteCertificateX509; /* X509 */ +} Channel_Context_Aes128Sha256RsaOaep; + +/* create the policy context */ + +static UA_StatusCode +UA_Policy_Aes128Sha256RsaOaep_New_Context(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey, + const UA_Logger *logger) { + Policy_Context_Aes128Sha256RsaOaep *context = + (Policy_Context_Aes128Sha256RsaOaep *)UA_malloc( + sizeof(Policy_Context_Aes128Sha256RsaOaep)); + if(context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); + if (!context->localPrivateKey) { + UA_free(context); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint( + &securityPolicy->localCertificate, &context->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + EVP_PKEY_free(context->localPrivateKey); + UA_free(context); + return retval; + } + + context->logger = logger; + securityPolicy->policyContext = context; + + return UA_STATUSCODE_GOOD; +} + +/* clear the policy context */ + +static void +UA_Policy_Aes128Sha256RsaOaep_Clear_Context(UA_SecurityPolicy *policy) { + if(policy == NULL) + return; + + UA_ByteString_clear(&policy->localCertificate); + + /* delete all allocated members in the context */ + + Policy_Context_Aes128Sha256RsaOaep *pc = + (Policy_Context_Aes128Sha256RsaOaep *)policy->policyContext; + if (pc == NULL) { + return; + } + + EVP_PKEY_free(pc->localPrivateKey); + UA_ByteString_clear(&pc->localCertThumbprint); + UA_free(pc); + + return; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Policy_Context_Aes128Sha256RsaOaep *pc = + (Policy_Context_Aes128Sha256RsaOaep *)securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( + &newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + EVP_PKEY_free(pc->localPrivateKey); + + pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); + + if(!pc->localPrivateKey) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + UA_ByteString_clear(&pc->localCertThumbprint); + + retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, + &pc->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + goto error; + } + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + UA_Policy_Aes128Sha256RsaOaep_Clear_Context(securityPolicy); + return retval; +} + +/* create the channel context */ + +static UA_StatusCode +UA_ChannelModule_Aes128Sha256RsaOaep_New_Context(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **channelContext) { + if(securityPolicy == NULL || remoteCertificate == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + Channel_Context_Aes128Sha256RsaOaep *context = + (Channel_Context_Aes128Sha256RsaOaep *)UA_malloc( + sizeof(Channel_Context_Aes128Sha256RsaOaep)); + if(context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_ByteString_init(&context->localSymSigningKey); + UA_ByteString_init(&context->localSymEncryptingKey); + UA_ByteString_init(&context->localSymIv); + UA_ByteString_init(&context->remoteSymSigningKey); + UA_ByteString_init(&context->remoteSymEncryptingKey); + UA_ByteString_init(&context->remoteSymIv); + + UA_StatusCode retval = + UA_copyCertificate(&context->remoteCertificate, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(context); + return retval; + } + + /* decode to X509 */ + context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); + if (context->remoteCertificateX509 == NULL) { + UA_ByteString_clear (&context->remoteCertificate); + UA_free (context); + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + } + + context->policyContext = + (Policy_Context_Aes128Sha256RsaOaep *)(securityPolicy->policyContext); + + *channelContext = context; + + UA_LOG_INFO( + securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Aes128Sha256RsaOaep security policy channel with openssl is created."); + + return UA_STATUSCODE_GOOD; +} + +/* delete the channel context */ + +static void +UA_ChannelModule_Aes128Sha256RsaOaep_Delete_Context(void *channelContext) { + if(channelContext != NULL) { + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + X509_free(cc->remoteCertificateX509); + UA_ByteString_clear(&cc->remoteCertificate); + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + UA_LOG_INFO( + cc->policyContext->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Aes128Sha256RsaOaep security policy channel with openssl is deleted."); + UA_free(cc); + } +} + +/* Verifies the signature of the message using the provided keys in the context. + * AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 + */ + +static UA_StatusCode +UA_AsySig_Aes128Sha256RsaOaep_Verify(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify( + message, cc->remoteCertificateX509, signature); + + return retval; +} + +/* Compares the supplied certificate with the certificate + * in the endpoint context + */ + +static UA_StatusCode +UA_compareCertificateThumbprint_Aes128Sha256RsaOaep(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + Policy_Context_Aes128Sha256RsaOaep *pc = + (Policy_Context_Aes128Sha256RsaOaep *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + return UA_STATUSCODE_GOOD; +} + +/* Generates a thumbprint for the specified certificate */ + +static UA_StatusCode +UA_makeCertificateThumbprint_Aes128Sha256RsaOaep(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + return UA_Openssl_X509_GetCertificateThumbprint(certificate, thumbprint, false); +} + +static UA_StatusCode +UA_Asym_Aes128Sha256RsaOaep_Decrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Aes128Sha256RsaOaep *cc = (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_StatusCode ret = UA_Openssl_RSA_Oaep_Decrypt(data, cc->policyContext->localPrivateKey); + return ret; +} + +static size_t +UA_Asym_Aes128Sha256RsaOaep_getRemoteSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_AsySig_Aes128Sha256RsaOaep_getLocalSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + Policy_Context_Aes128Sha256RsaOaep *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_AsymEn_Aes128Sha256RsaOaep_getRemotePlainTextBlockSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = + (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen - UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN; +} + +static size_t +UA_AsymEn_Aes128Sha256RsaOaep_getRemoteBlockSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = + (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_AsymEn_Aes128Sha256RsaOaep_getRemoteKeyLength(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = + (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen * 8; +} + +static UA_StatusCode +UA_Sym_Aes128Sha256RsaOaep_generateNonce(void *policyContext, + UA_ByteString *out) { + UA_Int32 rc = RAND_bytes(out->data, (int)out->length); + if(rc != 1) { + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + return UA_STATUSCODE_GOOD; +} + +static size_t +UA_SymEn_Aes128Sha256RsaOaep_getLocalKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymSig_Aes128Sha256RsaOaep_getLocalKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH; +} + +static UA_StatusCode +UA_Sym_Aes128Sha256RsaOaep_generateKey(void *policyContext, + const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + return UA_Openssl_Random_Key_PSHA256_Derive(secret, seed, out); +} + +static UA_StatusCode +UA_ChannelModule_Aes128Sha256RsaOaep_setLocalSymSigningKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + +static UA_StatusCode +UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymEncryptingKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymIv(void *channelContext, + const UA_ByteString *iv) { + if(iv == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static size_t +UA_SymEn_Aes128Sha256RsaOaep_getRemoteKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymEn_Aes128Sha256RsaOaep_getBlockSize(const void *channelContext) { + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +UA_SymSig_Aes128Sha256RsaOaep_getRemoteKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH; +} + +static UA_StatusCode +UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymSigningKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymEncryptingKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymIv(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(key, &cc->remoteSymIv); +} + +static UA_StatusCode +UA_AsySig_Aes128Sha256RsaOaep_sign(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + Policy_Context_Aes128Sha256RsaOaep *pc = cc->policyContext; + return UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(message, pc->localPrivateKey, signature); +} + +static UA_StatusCode +UA_AsymEn_Aes128Sha256RsaOaep_encrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + return UA_Openssl_RSA_OAEP_Encrypt( + data, UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN, + cc->remoteCertificateX509); +} + +static size_t +UA_SymSig_Aes128Sha256RsaOaep_getRemoteSignatureSize(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static UA_StatusCode +UA_SymSig_Aes128Sha256RsaOaep_verify(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + return UA_OpenSSL_HMAC_SHA256_Verify(message, &cc->remoteSymSigningKey, signature); +} + +static UA_StatusCode +UA_SymSig_Aes128Sha256RsaOaep_sign(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + return UA_OpenSSL_HMAC_SHA256_Sign(message, &cc->localSymSigningKey, signature); +} + +static size_t +UA_SymSig_Aes128Sha256RsaOaep_getLocalSignatureSize(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static UA_StatusCode +UA_SymEn_Aes128Sha256RsaOaep_decrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + return UA_OpenSSL_AES_128_CBC_Decrypt(&cc->remoteSymIv, &cc->remoteSymEncryptingKey, + data); +} + +static UA_StatusCode +UA_SymEn_Aes128Sha256RsaOaep_encrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Aes128Sha256RsaOaep *cc = + (Channel_Context_Aes128Sha256RsaOaep *)channelContext; + return UA_OpenSSL_AES_128_CBC_Encrypt(&cc->localSymIv, &cc->localSymEncryptingKey, + data); +} + +static UA_StatusCode +UA_ChannelM_Aes128Sha256RsaOaep_compareCertificate(const void *channelContext, + const UA_ByteString *certificate) { + if(channelContext == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + return UA_OpenSSL_X509_compare(certificate, cc->remoteCertificateX509); +} + +static size_t +UA_AsymEn_Aes128Sha256RsaOaep_getLocalKeyLength(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; + Policy_Context_Aes128Sha256RsaOaep *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t)keyLen * 8; +} + +/* the main entry of Aes128Sha256RsaOaep */ + +UA_StatusCode +UA_SecurityPolicy_Aes128Sha256RsaOaep(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger) { + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + UA_StatusCode retval; + + UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Aes128Sha256RsaOaep security policy with openssl is added."); + + UA_Openssl_Init(); + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + policy->policyUri = + UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep\0"); + + /* set ChannelModule context */ + + channelModule->newContext = UA_ChannelModule_Aes128Sha256RsaOaep_New_Context; + channelModule->deleteContext = UA_ChannelModule_Aes128Sha256RsaOaep_Delete_Context; + channelModule->setLocalSymSigningKey = + UA_ChannelModule_Aes128Sha256RsaOaep_setLocalSymSigningKey; + channelModule->setLocalSymEncryptingKey = + UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymEncryptingKey; + channelModule->setLocalSymIv = UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymIv; + channelModule->setRemoteSymSigningKey = + UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymSigningKey; + channelModule->setRemoteSymEncryptingKey = + UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymEncryptingKey; + channelModule->setRemoteSymIv = UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymIv; + channelModule->compareCertificate = + UA_ChannelM_Aes128Sha256RsaOaep_compareCertificate; + + /* Load and convert to DER if necessary */ + retval = + UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule - signature algorithm */ + + UA_SecurityPolicySignatureAlgorithm *asySigAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asySigAlgorithm->uri = + UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); + asySigAlgorithm->verify = UA_AsySig_Aes128Sha256RsaOaep_Verify; + asySigAlgorithm->getRemoteSignatureSize = + UA_Asym_Aes128Sha256RsaOaep_getRemoteSignatureSize; + asySigAlgorithm->getLocalSignatureSize = + UA_AsySig_Aes128Sha256RsaOaep_getLocalSignatureSize; + asySigAlgorithm->sign = UA_AsySig_Aes128Sha256RsaOaep_sign; + asySigAlgorithm->getLocalKeyLength = NULL; + asySigAlgorithm->getRemoteKeyLength = NULL; + + /* AsymmetricModule encryption algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm *asymEncryAlg = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); + asymEncryAlg->decrypt = UA_Asym_Aes128Sha256RsaOaep_Decrypt; + asymEncryAlg->getRemotePlainTextBlockSize = + UA_AsymEn_Aes128Sha256RsaOaep_getRemotePlainTextBlockSize; + asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Aes128Sha256RsaOaep_getRemoteBlockSize; + asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Aes128Sha256RsaOaep_getRemoteKeyLength; + asymEncryAlg->encrypt = UA_AsymEn_Aes128Sha256RsaOaep_encrypt; + asymEncryAlg->getLocalKeyLength = UA_AsymEn_Aes128Sha256RsaOaep_getLocalKeyLength; + + /* asymmetricModule */ + + asymmetricModule->compareCertificateThumbprint = + UA_compareCertificateThumbprint_Aes128Sha256RsaOaep; + asymmetricModule->makeCertificateThumbprint = + UA_makeCertificateThumbprint_Aes128Sha256RsaOaep; + + /* SymmetricModule */ + + symmetricModule->secureChannelNonceLength = 32; + symmetricModule->generateNonce = UA_Sym_Aes128Sha256RsaOaep_generateNonce; + symmetricModule->generateKey = UA_Sym_Aes128Sha256RsaOaep_generateKey; + + /* Symmetric encryption Algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm *symEncryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + symEncryptionAlgorithm->uri = + UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc\0"); + symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Aes128Sha256RsaOaep_getLocalKeyLength; + symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Aes128Sha256RsaOaep_getRemoteKeyLength; + symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Aes128Sha256RsaOaep_getBlockSize; + symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Aes128Sha256RsaOaep_getBlockSize; + symEncryptionAlgorithm->decrypt = UA_SymEn_Aes128Sha256RsaOaep_decrypt; + symEncryptionAlgorithm->encrypt = UA_SymEn_Aes128Sha256RsaOaep_encrypt; + + /* Symmetric signature Algorithm */ + + UA_SecurityPolicySignatureAlgorithm *symSignatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); + symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Aes128Sha256RsaOaep_getLocalKeyLength; + symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Aes128Sha256RsaOaep_getRemoteKeyLength; + symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Aes128Sha256RsaOaep_getRemoteSignatureSize; + symSignatureAlgorithm->verify = UA_SymSig_Aes128Sha256RsaOaep_verify; + symSignatureAlgorithm->sign = UA_SymSig_Aes128Sha256RsaOaep_sign; + symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Aes128Sha256RsaOaep_getLocalSignatureSize; + + retval = UA_Policy_Aes128Sha256RsaOaep_New_Context(policy, localPrivateKey, logger); + if(retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear(&policy->localCertificate); + return retval; + } + policy->updateCertificateAndPrivateKey = + updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep; + policy->clear = UA_Policy_Aes128Sha256RsaOaep_Clear_Context; + + /* Use the same signature algorithm as the asymmetric component for + certificate signing (see standard) */ + + policy->certificateSigningAlgorithm = + policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + return UA_STATUSCODE_GOOD; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_aes256sha256rsapss.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2022 (c) Fraunhofer IOSB (Author: Noel Graf) + */ + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + + +#include +#include +#include +#include +#include +#include + +#define UA_SHA256_LENGTH 32 /* 256 bit */ +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN 66 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_KEY_LENGTH 32 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE 16 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MINASYMKEYLENGTH 256 +#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MAXASYMKEYLENGTH 512 + +typedef struct { + EVP_PKEY *localPrivateKey; + UA_ByteString localCertThumbprint; + const UA_Logger *logger; +} Policy_Context_Aes256Sha256RsaPss; + +typedef struct { + UA_ByteString localSymSigningKey; + UA_ByteString localSymEncryptingKey; + UA_ByteString localSymIv; + UA_ByteString remoteSymSigningKey; + UA_ByteString remoteSymEncryptingKey; + UA_ByteString remoteSymIv; + + Policy_Context_Aes256Sha256RsaPss *policyContext; + UA_ByteString remoteCertificate; + X509 *remoteCertificateX509; /* X509 */ +} Channel_Context_Aes256Sha256RsaPss; + +/* create the policy context */ + +static UA_StatusCode +UA_Policy_Aes256Sha256RsaPss_New_Context(UA_SecurityPolicy *securityPolicy, + const UA_ByteString localPrivateKey, + const UA_Logger *logger) { + Policy_Context_Aes256Sha256RsaPss *context = + (Policy_Context_Aes256Sha256RsaPss *)UA_malloc( + sizeof(Policy_Context_Aes256Sha256RsaPss)); + if(context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); + if (!context->localPrivateKey) { + UA_free(context); + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint( + &securityPolicy->localCertificate, &context->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + EVP_PKEY_free(context->localPrivateKey); + UA_free(context); + return retval; + } + + context->logger = logger; + securityPolicy->policyContext = context; + + return UA_STATUSCODE_GOOD; +} + +/* clear the policy context */ + +static void +UA_Policy_Aes256Sha256RsaPss_Clear_Context(UA_SecurityPolicy *policy) { + if(policy == NULL) + return; + + UA_ByteString_clear(&policy->localCertificate); + + /* delete all allocated members in the context */ + + Policy_Context_Aes256Sha256RsaPss *pc = + (Policy_Context_Aes256Sha256RsaPss *)policy->policyContext; + if (pc == NULL) { + return; + } + + EVP_PKEY_free(pc->localPrivateKey); + UA_ByteString_clear(&pc->localCertThumbprint); + UA_free(pc); + + return; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_sp_aes128sha256rsapss(UA_SecurityPolicy *securityPolicy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + if(securityPolicy == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(securityPolicy->policyContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Policy_Context_Aes256Sha256RsaPss *pc = + (Policy_Context_Aes256Sha256RsaPss *)securityPolicy->policyContext; + + UA_ByteString_clear(&securityPolicy->localCertificate); + + UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( + &newCertificate, &securityPolicy->localCertificate); + + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* Set the new private key */ + EVP_PKEY_free(pc->localPrivateKey); + + pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); + if(!pc->localPrivateKey) { + retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; + goto error; + } + + UA_ByteString_clear(&pc->localCertThumbprint); + + retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, + &pc->localCertThumbprint, true); + if(retval != UA_STATUSCODE_GOOD) { + goto error; + } + + return retval; + +error: + UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "Could not update certificate and private key"); + if(securityPolicy->policyContext != NULL) + UA_Policy_Aes256Sha256RsaPss_Clear_Context(securityPolicy); + return retval; +} + +/* create the channel context */ + +static UA_StatusCode +UA_ChannelModule_Aes256Sha256RsaPss_New_Context(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **channelContext) { + if(securityPolicy == NULL || remoteCertificate == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + Channel_Context_Aes256Sha256RsaPss *context = + (Channel_Context_Aes256Sha256RsaPss *)UA_malloc( + sizeof(Channel_Context_Aes256Sha256RsaPss)); + if(context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + UA_ByteString_init(&context->localSymSigningKey); + UA_ByteString_init(&context->localSymEncryptingKey); + UA_ByteString_init(&context->localSymIv); + UA_ByteString_init(&context->remoteSymSigningKey); + UA_ByteString_init(&context->remoteSymEncryptingKey); + UA_ByteString_init(&context->remoteSymIv); + + UA_StatusCode retval = + UA_copyCertificate(&context->remoteCertificate, remoteCertificate); + if(retval != UA_STATUSCODE_GOOD) { + UA_free(context); + return retval; + } + + /* decode to X509 */ + context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); + if (context->remoteCertificateX509 == NULL) { + UA_ByteString_clear (&context->remoteCertificate); + UA_free (context); + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + } + + context->policyContext = + (Policy_Context_Aes256Sha256RsaPss *)(securityPolicy->policyContext); + + *channelContext = context; + + UA_LOG_INFO( + securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Aes256Sha256RsaPss security policy channel with openssl is created."); + + return UA_STATUSCODE_GOOD; +} + +/* delete the channel context */ + +static void +UA_ChannelModule_Aes256Sha256RsaPss_Delete_Context(void *channelContext) { + if(channelContext != NULL) { + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + X509_free(cc->remoteCertificateX509); + UA_ByteString_clear(&cc->remoteCertificate); + UA_ByteString_clear(&cc->localSymSigningKey); + UA_ByteString_clear(&cc->localSymEncryptingKey); + UA_ByteString_clear(&cc->localSymIv); + UA_ByteString_clear(&cc->remoteSymSigningKey); + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + UA_ByteString_clear(&cc->remoteSymIv); + + UA_LOG_INFO( + cc->policyContext->logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Aes256Sha256RsaPss security policy channel with openssl is deleted."); + UA_free(cc); + } +} + +/* Verifies the signature of the message using the provided keys in the context. + * AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 + */ + +static UA_StatusCode +UA_AsySig_Aes256Sha256RsaPss_Verify(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_StatusCode retval = UA_OpenSSL_RSA_PSS_SHA256_Verify( + message, cc->remoteCertificateX509, signature); + + return retval; +} + +/* Compares the supplied certificate with the certificate + * in the endpoint context + */ + +static UA_StatusCode +UA_compareCertificateThumbprint_Aes256Sha256RsaPss(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + if(securityPolicy == NULL || certificateThumbprint == NULL) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + Policy_Context_Aes256Sha256RsaPss *pc = + (Policy_Context_Aes256Sha256RsaPss *)securityPolicy->policyContext; + if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) + return UA_STATUSCODE_BADCERTIFICATEINVALID; + return UA_STATUSCODE_GOOD; +} + +/* Generates a thumbprint for the specified certificate */ + +static UA_StatusCode +UA_makeCertificateThumbprint_Aes256Sha256RsaPss(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + return UA_Openssl_X509_GetCertificateThumbprint(certificate, thumbprint, false); +} + +static UA_StatusCode +UA_Asym_Aes256Sha256RsaPss_Decrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + Channel_Context_Aes256Sha256RsaPss *cc = (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_StatusCode ret = UA_Openssl_RSA_Oaep_Sha2_Decrypt(data, cc->policyContext->localPrivateKey); + return ret; +} + +static size_t +UA_Asym_Aes256Sha256RsaPss_getRemoteSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_AsySig_Aes256Sha256RsaPss_getLocalSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_AsymEn_Aes256Sha256RsaPss_getRemotePlainTextBlockSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = + (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen - UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN; +} + +static size_t +UA_AsymEn_Aes256Sha256RsaPss_getRemoteBlockSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = + (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_AsymEn_Aes256Sha256RsaPss_getRemoteKeyLength(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = + (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen * 8; +} + +static UA_StatusCode +UA_Sym_Aes256Sha256RsaPss_generateNonce(void *policyContext, + UA_ByteString *out) { + UA_Int32 rc = RAND_bytes(out->data, (int)out->length); + if(rc != 1) { + return UA_STATUSCODE_BADUNEXPECTEDERROR; + } + return UA_STATUSCODE_GOOD; +} + +static size_t +UA_SymEn_Aes256Sha256RsaPss_getLocalKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymSig_Aes256Sha256RsaPss_getLocalKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH; +} + +static UA_StatusCode +UA_Sym_Aes256Sha256RsaPss_generateKey(void *policyContext, + const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + return UA_Openssl_Random_Key_PSHA256_Derive(secret, seed, out); +} + +static UA_StatusCode +UA_CertSig_Aes256Sha256RsaPss_Verify(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) { + if(message == NULL || signature == NULL || channelContext == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify( + message, cc->remoteCertificateX509, signature); + + return retval; +} + +static UA_StatusCode +UA_CertSig_Aes256Sha256RsaPss_sign(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = (Channel_Context_Aes256Sha256RsaPss *)channelContext; + Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; + return UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(message, pc->localPrivateKey, signature); +} + +static size_t +UA_CertSig_Aes256Sha256RsaPss_getRemoteSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); + return (size_t)keyLen; +} + +static size_t +UA_CertSig_Aes256Sha256RsaPss_getLocalSignatureSize(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t)keyLen; +} + +static UA_StatusCode +UA_ChannelModule_Aes256Sha256RsaPss_setLocalSymSigningKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_ByteString_clear(&cc->localSymSigningKey); + return UA_ByteString_copy(key, &cc->localSymSigningKey); +} + +static UA_StatusCode +UA_ChannelM_Aes256Sha256RsaPss_setLocalSymEncryptingKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_ByteString_clear(&cc->localSymEncryptingKey); + return UA_ByteString_copy(key, &cc->localSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelM_Aes256Sha256RsaPss_setLocalSymIv(void *channelContext, + const UA_ByteString *iv) { + if(iv == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_ByteString_clear(&cc->localSymIv); + return UA_ByteString_copy(iv, &cc->localSymIv); +} + +static size_t +UA_SymEn_Aes256Sha256RsaPss_getRemoteKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_KEY_LENGTH; +} + +static size_t +UA_SymEn_Aes256Sha256RsaPss_getBlockSize(const void *channelContext) { + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE; +} + +static size_t +UA_SymSig_Aes256Sha256RsaPss_getRemoteKeyLength(const void *channelContext) { + /* 32 bytes 256 bits */ + return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH; +} + +static UA_StatusCode +UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymSigningKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_ByteString_clear(&cc->remoteSymSigningKey); + return UA_ByteString_copy(key, &cc->remoteSymSigningKey); +} + +static UA_StatusCode +UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymEncryptingKey(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_ByteString_clear(&cc->remoteSymEncryptingKey); + return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); +} + +static UA_StatusCode +UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymIv(void *channelContext, + const UA_ByteString *key) { + if(key == NULL || channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + UA_ByteString_clear(&cc->remoteSymIv); + return UA_ByteString_copy(key, &cc->remoteSymIv); +} + +static UA_StatusCode +UA_AsySig_Aes256Sha256RsaPss_sign(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; + return UA_Openssl_RSA_PSS_SHA256_Sign(message, pc->localPrivateKey, signature); +} + +static UA_StatusCode +UA_AsymEn_Aes256Sha256RsaPss_encrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + return UA_Openssl_RSA_OAEP_SHA2_Encrypt( + data, UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN, + cc->remoteCertificateX509); +} + +static size_t +UA_SymSig_Aes256Sha256RsaPss_getRemoteSignatureSize(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static UA_StatusCode +UA_SymSig_Aes256Sha256RsaPss_verify(void *channelContext, const UA_ByteString *message, + const UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + return UA_OpenSSL_HMAC_SHA256_Verify(message, &cc->remoteSymSigningKey, signature); +} + +static UA_StatusCode +UA_SymSig_Aes256Sha256RsaPss_sign(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + if(channelContext == NULL || message == NULL || + signature == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + return UA_OpenSSL_HMAC_SHA256_Sign(message, &cc->localSymSigningKey, signature); +} + +static size_t +UA_SymSig_Aes256Sha256RsaPss_getLocalSignatureSize(const void *channelContext) { + return UA_SHA256_LENGTH; +} + +static UA_StatusCode +UA_SymEn_Aes256Sha256RsaPss_decrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + return UA_OpenSSL_AES_256_CBC_Decrypt(&cc->remoteSymIv, &cc->remoteSymEncryptingKey, + data); +} + +static UA_StatusCode +UA_SymEn_Aes256Sha256RsaPss_encrypt(void *channelContext, UA_ByteString *data) { + if(channelContext == NULL || data == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + Channel_Context_Aes256Sha256RsaPss *cc = + (Channel_Context_Aes256Sha256RsaPss *)channelContext; + return UA_OpenSSL_AES_256_CBC_Encrypt(&cc->localSymIv, &cc->localSymEncryptingKey, + data); +} + +static UA_StatusCode +UA_ChannelM_Aes256Sha256RsaPss_compareCertificate(const void *channelContext, + const UA_ByteString *certificate) { + if(channelContext == NULL || certificate == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = + (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + return UA_OpenSSL_X509_compare(certificate, cc->remoteCertificateX509); +} + +static size_t +UA_AsymEn_Aes256Sha256RsaPss_getLocalKeyLength(const void *channelContext) { + if(channelContext == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + const Channel_Context_Aes256Sha256RsaPss *cc = + (const Channel_Context_Aes256Sha256RsaPss *)channelContext; + Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; + UA_Int32 keyLen = 0; + UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); + return (size_t)keyLen * 8; +} + +/* the main entry of Aes256Sha256RsaPss */ + +UA_StatusCode +UA_SecurityPolicy_Aes256Sha256RsaPss(UA_SecurityPolicy *policy, + const UA_ByteString localCertificate, + const UA_ByteString localPrivateKey, + const UA_Logger *logger) { + + UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; + UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; + UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; + UA_StatusCode retval; + + UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURITYPOLICY, + "The Aes256Sha256RsaPss security policy with openssl is added."); + + UA_Openssl_Init(); + memset(policy, 0, sizeof(UA_SecurityPolicy)); + policy->logger = logger; + policy->policyUri = + UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss\0"); + + /* set ChannelModule context */ + + channelModule->newContext = UA_ChannelModule_Aes256Sha256RsaPss_New_Context; + channelModule->deleteContext = UA_ChannelModule_Aes256Sha256RsaPss_Delete_Context; + channelModule->setLocalSymSigningKey = + UA_ChannelModule_Aes256Sha256RsaPss_setLocalSymSigningKey; + channelModule->setLocalSymEncryptingKey = + UA_ChannelM_Aes256Sha256RsaPss_setLocalSymEncryptingKey; + channelModule->setLocalSymIv = UA_ChannelM_Aes256Sha256RsaPss_setLocalSymIv; + channelModule->setRemoteSymSigningKey = + UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymSigningKey; + channelModule->setRemoteSymEncryptingKey = + UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymEncryptingKey; + channelModule->setRemoteSymIv = UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymIv; + channelModule->compareCertificate = + UA_ChannelM_Aes256Sha256RsaPss_compareCertificate; + + /* Load and convert to DER if necessary */ + retval = + UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); + if(retval != UA_STATUSCODE_GOOD) + return retval; + + /* AsymmetricModule - signature algorithm */ + + UA_SecurityPolicySignatureAlgorithm *asySigAlgorithm = + &asymmetricModule->cryptoModule.signatureAlgorithm; + asySigAlgorithm->uri = + UA_STRING("http://opcfoundation.org/UA/security/rsa-pss-sha2-256\0"); + asySigAlgorithm->verify = UA_AsySig_Aes256Sha256RsaPss_Verify; + asySigAlgorithm->getRemoteSignatureSize = + UA_Asym_Aes256Sha256RsaPss_getRemoteSignatureSize; + asySigAlgorithm->getLocalSignatureSize = + UA_AsySig_Aes256Sha256RsaPss_getLocalSignatureSize; + asySigAlgorithm->sign = UA_AsySig_Aes256Sha256RsaPss_sign; + asySigAlgorithm->getLocalKeyLength = NULL; + asySigAlgorithm->getRemoteKeyLength = NULL; + + /* AsymmetricModule encryption algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm *asymEncryAlg = + &asymmetricModule->cryptoModule.encryptionAlgorithm; + asymEncryAlg->uri = UA_STRING("http://opcfoundation.org/UA/security/rsa-oaep-sha2-256\0"); + asymEncryAlg->decrypt = UA_Asym_Aes256Sha256RsaPss_Decrypt; + asymEncryAlg->getRemotePlainTextBlockSize = + UA_AsymEn_Aes256Sha256RsaPss_getRemotePlainTextBlockSize; + asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Aes256Sha256RsaPss_getRemoteBlockSize; + asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Aes256Sha256RsaPss_getRemoteKeyLength; + asymEncryAlg->encrypt = UA_AsymEn_Aes256Sha256RsaPss_encrypt; + asymEncryAlg->getLocalKeyLength = UA_AsymEn_Aes256Sha256RsaPss_getLocalKeyLength; + + /* asymmetricModule */ + + asymmetricModule->compareCertificateThumbprint = + UA_compareCertificateThumbprint_Aes256Sha256RsaPss; + asymmetricModule->makeCertificateThumbprint = + UA_makeCertificateThumbprint_Aes256Sha256RsaPss; + + /* SymmetricModule */ + + symmetricModule->secureChannelNonceLength = 32; + symmetricModule->generateNonce = UA_Sym_Aes256Sha256RsaPss_generateNonce; + symmetricModule->generateKey = UA_Sym_Aes256Sha256RsaPss_generateKey; + + /* Symmetric encryption Algorithm */ + + UA_SecurityPolicyEncryptionAlgorithm *symEncryptionAlgorithm = + &symmetricModule->cryptoModule.encryptionAlgorithm; + symEncryptionAlgorithm->uri = + UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); + symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Aes256Sha256RsaPss_getLocalKeyLength; + symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Aes256Sha256RsaPss_getRemoteKeyLength; + symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Aes256Sha256RsaPss_getBlockSize; + symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Aes256Sha256RsaPss_getBlockSize; + symEncryptionAlgorithm->decrypt = UA_SymEn_Aes256Sha256RsaPss_decrypt; + symEncryptionAlgorithm->encrypt = UA_SymEn_Aes256Sha256RsaPss_encrypt; + + /* Symmetric signature Algorithm */ + + UA_SecurityPolicySignatureAlgorithm *symSignatureAlgorithm = + &symmetricModule->cryptoModule.signatureAlgorithm; + symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); + symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Aes256Sha256RsaPss_getLocalKeyLength; + symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Aes256Sha256RsaPss_getRemoteKeyLength; + symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Aes256Sha256RsaPss_getRemoteSignatureSize; + symSignatureAlgorithm->verify = UA_SymSig_Aes256Sha256RsaPss_verify; + symSignatureAlgorithm->sign = UA_SymSig_Aes256Sha256RsaPss_sign; + symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Aes256Sha256RsaPss_getLocalSignatureSize; + + retval = UA_Policy_Aes256Sha256RsaPss_New_Context(policy, localPrivateKey, logger); + if(retval != UA_STATUSCODE_GOOD) { + UA_ByteString_clear(&policy->localCertificate); + return retval; + } + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_aes128sha256rsapss; + policy->clear = UA_Policy_Aes256Sha256RsaPss_Clear_Context; + + /* Certificate Signing Algorithm */ + policy->certificateSigningAlgorithm.uri = + UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); + policy->certificateSigningAlgorithm.verify = + (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))UA_CertSig_Aes256Sha256RsaPss_Verify; + policy->certificateSigningAlgorithm.sign = + (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))UA_CertSig_Aes256Sha256RsaPss_sign; + policy->certificateSigningAlgorithm.getLocalSignatureSize = + (size_t (*)(const void *))UA_CertSig_Aes256Sha256RsaPss_getLocalSignatureSize; + policy->certificateSigningAlgorithm.getRemoteSignatureSize = + (size_t (*)(const void *))UA_CertSig_Aes256Sha256RsaPss_getRemoteSignatureSize; + policy->certificateSigningAlgorithm.getLocalKeyLength = NULL; // TODO: Write function + policy->certificateSigningAlgorithm.getRemoteKeyLength = NULL; // TODO: Write function + + return UA_STATUSCODE_GOOD; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_create_certificate.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) + * Copyright 2022 (c) Wind River Systems, Inc. + * + */ + + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + + +#include +#include +#include + +/** + * Join an array of UA_String to a single NULL-Terminated UA_String + * separated by character sep + */ +static UA_StatusCode +join_string_with_sep(const UA_String *strings, size_t stringsSize, + char sep, UA_String *out) { + if(!out) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + UA_String_clear(out); + size_t totalSize = stringsSize; + for(size_t iStr = 0; iStr < stringsSize; ++iStr) { + totalSize += strings[iStr].length; + } + + UA_ByteString_allocBuffer(out, totalSize); + if(!out->data) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + size_t pos = 0; + for(size_t iStr = 0; iStr < stringsSize; ++iStr) { + memcpy(&out->data[pos], strings[iStr].data, strings[iStr].length); + pos += strings[iStr].length; + out->data[pos] = (UA_Byte) sep; + ++pos; + } + out->data[out->length-1] = 0; + + return UA_STATUSCODE_GOOD; +} + +/** + * Search for a character in a string (like strchr). + * \todo Handle UTF-8 + * + * \return index of the character or -1 on case of an error. + */ + +static UA_Int32 +UA_String_chr(const UA_String *pUaStr, char needl) { + UA_Byte byteNeedl = (UA_Byte)needl; + for(size_t i = 0; (size_t)i < pUaStr->length; ++i) { + if(pUaStr->data[i] == byteNeedl) { + return (UA_Int32) i; + } + } + return -1; +} + +/* char *value cannot be const due to openssl 1.0 compatibility */ +static UA_StatusCode +add_x509V3ext(const UA_Logger *logger, X509 *x509, int nid, char *value) { + X509_EXTENSION *ex; + X509V3_CTX ctx; + X509V3_set_ctx_nodb(&ctx); + X509V3_set_ctx(&ctx, x509, x509, NULL, NULL, 0); + ex = X509V3_EXT_conf_nid(NULL, &ctx, nid, value); + if(!ex) + { +#if UA_LOGLEVEL <= 300 + const char * file = NULL; + int line = 0; + const char * data = NULL; + int flags = 0; + get_error_line_data(&file, &line, &data, &flags); + UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Internal SSL error file: %s:%d data: %s", file, line, data); +#endif + return UA_STATUSCODE_BADINTERNALERROR; + } + X509_add_ext(x509, ex, -1); + X509_EXTENSION_free(ex); + return UA_STATUSCODE_GOOD; +} + +#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) + +/* generate the RSA key */ + +static EVP_PKEY * UA_RSA_Generate_Key (size_t keySizeBits){ + return EVP_RSA_gen(keySizeBits); +} + +#endif + +UA_StatusCode +UA_CreateCertificate(const UA_Logger *logger, const UA_String *subject, + size_t subjectSize, const UA_String *subjectAltName, + size_t subjectAltNameSize, UA_CertificateFormat certFormat, + UA_KeyValueMap *params, UA_ByteString *outPrivateKey, + UA_ByteString *outCertificate) { + if(!outPrivateKey || !outCertificate || !logger || !subjectAltName || !subject || + subjectAltNameSize == 0 || subjectSize == 0 || + (certFormat != UA_CERTIFICATEFORMAT_DER && certFormat != UA_CERTIFICATEFORMAT_PEM)) + return UA_STATUSCODE_BADINVALIDARGUMENT; + + /* Use the maximum size */ + UA_UInt16 keySizeBits = 4096; + /* Default to 1 year */ + UA_UInt16 expiresInDays = 365; + + if(params) { + const UA_UInt16 *keySizeBitsValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( + params, UA_QUALIFIEDNAME(0, "key-size-bits"), &UA_TYPES[UA_TYPES_UINT16]); + if(keySizeBitsValue) + keySizeBits = *keySizeBitsValue; + + const UA_UInt16 *expiresInDaysValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( + params, UA_QUALIFIEDNAME(0, "expires-in-days"), &UA_TYPES[UA_TYPES_UINT16]); + if(expiresInDaysValue) + expiresInDays = *expiresInDaysValue; + } + + UA_ByteString_init(outPrivateKey); + UA_ByteString_init(outCertificate); + + UA_String fullAltSubj = UA_STRING_NULL; + UA_Int32 serial = 1; + + /** \TODO: Seed Random generator + * See: (https://www.openssl.org/docs/man1.1.0/man3/RAND_add.html) */ + BIO *memCert = NULL; + BIO *memPKey = NULL; + + UA_StatusCode errRet = UA_STATUSCODE_GOOD; + + X509 *x509 = X509_new(); + +#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) + EVP_PKEY *pkey = UA_RSA_Generate_Key(keySizeBits); + if((pkey == NULL) || (x509 == NULL)) { + errRet = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } +#else + BIGNUM *exponent = BN_new(); + EVP_PKEY *pkey = EVP_PKEY_new(); + RSA *rsa = RSA_new(); + if(!pkey || !x509 || !exponent || !rsa) { + errRet = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Generating RSA key. This may take a while."); + + if(BN_set_word(exponent, RSA_F4) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting RSA exponent failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(RSA_generate_key_ex(rsa, (int) keySizeBits, exponent, NULL) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Generating RSA key failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(EVP_PKEY_assign_RSA(pkey, rsa) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Assign RSA key failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + /* rsa will be freed by pkey */ + rsa = NULL; + +#endif /* end of OPENSSL_VERSION_NUMBER >= 0x30000000L */ + + /* x509v3 has version 2 + * (https://www.openssl.org/docs/man1.1.0/man3/X509_set_version.html) */ + if(X509_set_version(x509, 2) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting version failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(ASN1_INTEGER_set(X509_get_serialNumber(x509), serial) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting serial number failed."); + /* Only memory errors are possible */ + errRet = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + if(X509_gmtime_adj(X509_get_notBefore(x509), 0) == NULL) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'not before' failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(X509_gmtime_adj(X509_get_notAfter(x509), (UA_Int64)60 * 60 * 24 * expiresInDays) == + NULL) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'not before' failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + if(X509_set_pubkey(x509, pkey) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting publik key failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + X509_NAME *name = X509_get_subject_name(x509); + if(name == NULL) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Getting name failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + for(UA_UInt32 iSubject = 0; iSubject < subjectSize; ++iSubject) { + UA_Int32 sep = UA_String_chr(&subject[iSubject], '='); + char field[16]; + if(sep == -1 || sep == 0 || + ((size_t) sep == (subject[iSubject].length - 1)) || sep >= 15) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Subject must contain one '=' with " + "content before and after."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + memcpy(field, subject[iSubject].data, (size_t) sep); + field[sep] = 0; + UA_Byte* pData = &subject[iSubject].data[sep + 1]; + if(X509_NAME_add_entry_by_txt( + name, field, MBSTRING_ASC, + (const unsigned char *)pData, + (int) subject[iSubject].length - (int) sep - 1, -1, 0) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting subject failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + } + /* Self signed, so issuer == subject */ + if(X509_set_issuer_name(x509, name) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting name failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + errRet = add_x509V3ext(logger, x509, NID_basic_constraints, "CA:FALSE"); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'Basic Constraints' failed."); + goto cleanup; + } + + /* See https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3 for + * possible values */ + errRet = add_x509V3ext(logger, x509, NID_key_usage, + "digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment,keyCertSign"); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'Key Usage' failed."); + goto cleanup; + } + + errRet = add_x509V3ext(logger, x509, NID_ext_key_usage, "serverAuth,clientAuth"); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'Extended Key Usage' failed."); + goto cleanup; + } + + errRet = add_x509V3ext(logger, x509, NID_subject_key_identifier, "hash"); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'Subject Key Identifier' failed."); + goto cleanup; + } + + errRet = join_string_with_sep(subjectAltName, subjectAltNameSize, ',', &fullAltSubj); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Joining altSubject failed."); + goto cleanup; + } + + errRet = add_x509V3ext(logger, x509, NID_subject_alt_name, (char*) fullAltSubj.data); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Setting 'Subject Alternative Name' failed."); + goto cleanup; + } + + if(X509_sign(x509, pkey, EVP_sha256()) == 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Signing failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + switch(certFormat) { + case UA_CERTIFICATEFORMAT_DER: { + unsigned char *p; + /* Private Key */ + /* get length */ + outPrivateKey->length = (size_t)i2d_PrivateKey(pkey, NULL); + if((int)outPrivateKey->length <= 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Create private DER key failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + /* allocate buffer */ + UA_ByteString_allocBuffer(outPrivateKey, outPrivateKey->length); + memset(outPrivateKey->data, 0, outPrivateKey->length); + p = outPrivateKey->data; + i2d_PrivateKey(pkey, &p); + + /* Certificate */ + /* get length */ + outCertificate->length = (size_t)i2d_X509(x509, NULL); + if((int)outCertificate->length <= 0) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Create DER-certificate failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + /* allocate buffer */ + UA_ByteString_allocBuffer(outCertificate, outCertificate->length); + memset(outCertificate->data, 0, outCertificate->length); + p = outCertificate->data; + i2d_X509(x509, &p); + break; + } + case UA_CERTIFICATEFORMAT_PEM: { + /* Private Key */ + memPKey = BIO_new(BIO_s_mem()); + if(!memPKey) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Allocate Membuffer for PKey failed."); + errRet = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + if(PEM_write_bio_PrivateKey(memPKey, pkey, NULL, NULL, 0, 0, NULL) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Generate PEM-PrivateKey failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + UA_ByteString tmpPem = UA_BYTESTRING_NULL; + tmpPem.length = (size_t) BIO_get_mem_data(memPKey, &tmpPem.data); + errRet = UA_ByteString_copy(&tmpPem, outPrivateKey); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Copy PEM PKey failed."); + goto cleanup; + } + + /* Certificate */ + memCert = BIO_new(BIO_s_mem()); + if(!memCert) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Allocate Membuffer for Cert failed."); + errRet = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + if(PEM_write_bio_X509(memCert, x509) != 1) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Generate PEM-Certifcate failed."); + errRet = UA_STATUSCODE_BADINTERNALERROR; + goto cleanup; + } + + tmpPem.length = (size_t) BIO_get_mem_data(memCert, &tmpPem.data); + errRet = UA_ByteString_copy(&tmpPem, outCertificate); + if(errRet != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, + "Create Certificate: Copy PEM Certificate failed."); + goto cleanup; + } + break; + } + } + +cleanup: + UA_String_clear(&fullAltSubj); +#if (OPENSSL_VERSION_NUMBER < 0x30000000L) + RSA_free(rsa); + BN_free(exponent); +#endif + X509_free(x509); + EVP_PKEY_free(pkey); + BIO_free(memCert); + BIO_free(memPKey); + return errRet; +} + +#endif + +/**** amalgamated original file "/plugins/crypto/openssl/ua_pki_openssl.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2020 (c) Wind River Systems, Inc. + * Copyright 2020 (c) basysKom GmbH + + */ + + + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) +#include +#include +#include +#include + + +#include + +/* Find binary substring. Taken and adjusted from + * http://tungchingkai.blogspot.com/2011/07/binary-strstr.html */ + +static const unsigned char * +bstrchr(const unsigned char *s, const unsigned char ch, size_t l) { + /* find first occurrence of c in char s[] for length l*/ + for(; l > 0; ++s, --l) { + if(*s == ch) + return s; + } + return NULL; +} + +static const unsigned char * +UA_Bstrstr(const unsigned char *s1, size_t l1, const unsigned char *s2, size_t l2) { + /* find first occurrence of s2[] in s1[] for length l1*/ + const unsigned char *ss1 = s1; + const unsigned char *ss2 = s2; + /* handle special case */ + if(l1 == 0) + return (NULL); + if(l2 == 0) + return s1; + + /* match prefix */ + for (; (s1 = bstrchr(s1, *s2, (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1)) != NULL && + (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1 != 0; ++s1) { + + /* match rest of prefix */ + const unsigned char *sc1, *sc2; + for (sc1 = s1, sc2 = s2; ;) + if (++sc2 >= ss2+l2) + return s1; + else if (*++sc1 != *sc2) + break; + } + return NULL; +} + +typedef struct { + /* + * If the folders are defined, we use them to reload the certificates during + * runtime + */ + + UA_String trustListFolder; + UA_String issuerListFolder; + UA_String revocationListFolder; + /* Used with mbedTLS and UA_ENABLE_CERT_REJECTED_DIR option */ + UA_String rejectedListFolder; + + STACK_OF(X509) * skIssue; + STACK_OF(X509) * skTrusted; + STACK_OF(X509_CRL) * skCrls; /* Revocation list*/ + + UA_CertificateVerification *cv; +} CertContext; + +static UA_StatusCode +UA_CertContext_sk_Init (CertContext * context) { + context->skTrusted = sk_X509_new_null(); + context->skIssue = sk_X509_new_null(); + context->skCrls = sk_X509_CRL_new_null(); + if (context->skTrusted == NULL || context->skIssue == NULL || + context->skCrls == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + return UA_STATUSCODE_GOOD; +} + +static void +UA_CertContext_sk_free (CertContext * context) { + sk_X509_pop_free (context->skTrusted, X509_free); + sk_X509_pop_free (context->skIssue, X509_free); + sk_X509_CRL_pop_free (context->skCrls, X509_CRL_free); +} + +static UA_StatusCode +UA_CertContext_Init (CertContext * context, UA_CertificateVerification *cv) { + (void) memset (context, 0, sizeof (CertContext)); + UA_ByteString_init (&context->trustListFolder); + UA_ByteString_init (&context->issuerListFolder); + UA_ByteString_init (&context->revocationListFolder); + UA_ByteString_init (&context->rejectedListFolder); + + context->cv = cv; + + return UA_CertContext_sk_Init (context); +} + +static void +UA_CertificateVerification_clear (UA_CertificateVerification * cv) { + if (cv == NULL) { + return; + } + CertContext * context = (CertContext *) cv->context; + if (context == NULL) { + return; + } + UA_ByteString_clear (&context->trustListFolder); + UA_ByteString_clear (&context->issuerListFolder); + UA_ByteString_clear (&context->revocationListFolder); + UA_ByteString_clear (&context->rejectedListFolder); + + UA_CertContext_sk_free (context); + context->cv = NULL; + UA_free (context); + + memset(cv, 0, sizeof(UA_CertificateVerification)); +} + +static UA_StatusCode +UA_skTrusted_Cert2X509 (const UA_ByteString * certificateTrustList, + size_t certificateTrustListSize, + CertContext * ctx) { + size_t i; + + for (i = 0; i < certificateTrustListSize; i++) { + X509 * x509 = UA_OpenSSL_LoadCertificate(&certificateTrustList[i]); + + if (x509 == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + sk_X509_push (ctx->skTrusted, x509); + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_skIssuer_Cert2X509 (const UA_ByteString * certificateIssuerList, + size_t certificateIssuerListSize, + CertContext * ctx) { + size_t i; + + for (i = 0; i < certificateIssuerListSize; i++) { + X509 * x509 = UA_OpenSSL_LoadCertificate(&certificateIssuerList[i]); + + if (x509 == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + sk_X509_push (ctx->skIssue, x509); + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_skCrls_Cert2X509 (const UA_ByteString * certificateRevocationList, + size_t certificateRevocationListSize, + CertContext * ctx) { + size_t i; + const unsigned char * pData; + + for (i = 0; i < certificateRevocationListSize; i++) { + pData = certificateRevocationList[i].data; + X509_CRL * crl = NULL; + + if (certificateRevocationList[i].length > 1 && pData[0] == 0x30 && pData[1] == 0x82) { // Magic number for DER encoded files + crl = d2i_X509_CRL (NULL, &pData, (long) certificateRevocationList[i].length); + } else { + BIO* bio = NULL; + bio = BIO_new_mem_buf((void *) certificateRevocationList[i].data, + (int) certificateRevocationList[i].length); + crl = PEM_read_bio_X509_CRL(bio, NULL, NULL, NULL); + BIO_free(bio); + } + + if (crl == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + sk_X509_CRL_push (ctx->skCrls, crl); + } + + return UA_STATUSCODE_GOOD; +} + +#ifdef __linux__ +#include + +static int UA_Certificate_Filter_der_pem (const struct dirent * entry) { + /* ignore hidden files */ + if (entry->d_name[0] == '.') return 0; + + /* check file extension */ + const char *pszFind = strrchr(entry->d_name, '.'); + if (pszFind == 0) + return 0; + pszFind++; + if (strcmp (pszFind, "der") == 0 || strcmp (pszFind, "pem") == 0) + return 1; + + return 0; +} + +static int UA_Certificate_Filter_crl (const struct dirent * entry) { + + /* ignore hidden files */ + if (entry->d_name[0] == '.') return 0; + + /* check file extension */ + const char *pszFind = strrchr(entry->d_name, '.'); + if (pszFind == 0) + return 0; + pszFind++; + if (strcmp (pszFind, "crl") == 0) + return 1; + + return 0; +} + +static UA_StatusCode +UA_BuildFullPath (const char * path, + const char * fileName, + size_t fullPathBufferLength, + char * fullPath) { + size_t pathLen = strlen (path); + size_t fileNameLen = strlen (fileName); + if ((pathLen + fileNameLen + 2) > fullPathBufferLength) { + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + strcpy (fullPath, path); + strcat (fullPath, "/"); + strcat (fullPath, fileName); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_loadCertFromFile (const char * fileName, + UA_ByteString * cert) { + + FILE * fp = fopen(fileName, "rb"); + + if (fp == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + fseek(fp, 0, SEEK_END); + cert->length = (size_t) ftell(fp); + if (UA_ByteString_allocBuffer (cert, cert->length) != UA_STATUSCODE_GOOD) { + fclose (fp); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + fseek(fp, 0, SEEK_SET); + size_t readLen = fread (cert->data, 1, cert->length, fp); + if (readLen != cert->length) { + UA_ByteString_clear (cert); + cert->length = 0; + fclose (fp); + return UA_STATUSCODE_BADINTERNALERROR; + } + fclose (fp); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UA_ReloadCertFromFolder (CertContext * ctx) { + UA_StatusCode ret; + struct dirent ** dirlist = NULL; + int i; + int numCertificates; + char certFile[PATH_MAX]; + UA_ByteString strCert; + char folderPath[PATH_MAX]; + + UA_ByteString_init (&strCert); + + if (ctx->trustListFolder.length > 0) { + UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the trust-list"); + + sk_X509_pop_free (ctx->skTrusted, X509_free); + ctx->skTrusted = sk_X509_new_null(); + if (ctx->skTrusted == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + (void) memcpy (folderPath, ctx->trustListFolder.data, + ctx->trustListFolder.length); + folderPath[ctx->trustListFolder.length] = 0; + numCertificates = scandir(folderPath, &dirlist, + UA_Certificate_Filter_der_pem, + alphasort); + for (i = 0; i < numCertificates; i++) { + if (UA_BuildFullPath (folderPath, dirlist[i]->d_name, + PATH_MAX, certFile) != UA_STATUSCODE_GOOD) { + continue; + } + ret = UA_loadCertFromFile (certFile, &strCert); + if (ret != UA_STATUSCODE_GOOD) { + UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to load the certificate file %s", certFile); + continue; /* continue or return ? */ + } + if (UA_skTrusted_Cert2X509 (&strCert, 1, ctx) != UA_STATUSCODE_GOOD) { + UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to decode the certificate file %s", certFile); + UA_ByteString_clear (&strCert); + continue; /* continue or return ? */ + } + UA_ByteString_clear (&strCert); + } + } + + if (ctx->issuerListFolder.length > 0) { + UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the issuer-list"); + + sk_X509_pop_free (ctx->skIssue, X509_free); + ctx->skIssue = sk_X509_new_null(); + if (ctx->skIssue == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + memcpy (folderPath, ctx->issuerListFolder.data, ctx->issuerListFolder.length); + folderPath[ctx->issuerListFolder.length] = 0; + numCertificates = scandir(folderPath, &dirlist, + UA_Certificate_Filter_der_pem, + alphasort); + for (i = 0; i < numCertificates; i++) { + if (UA_BuildFullPath (folderPath, dirlist[i]->d_name, + PATH_MAX, certFile) != UA_STATUSCODE_GOOD) { + continue; + } + ret = UA_loadCertFromFile (certFile, &strCert); + if (ret != UA_STATUSCODE_GOOD) { + UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to load the certificate file %s", certFile); + continue; /* continue or return ? */ + } + if (UA_skIssuer_Cert2X509 (&strCert, 1, ctx) != UA_STATUSCODE_GOOD) { + UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to decode the certificate file %s", certFile); + UA_ByteString_clear (&strCert); + continue; /* continue or return ? */ + } + UA_ByteString_clear (&strCert); + } + } + + if (ctx->revocationListFolder.length > 0) { + UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the revocation-list"); + + sk_X509_CRL_pop_free (ctx->skCrls, X509_CRL_free); + ctx->skCrls = sk_X509_CRL_new_null(); + if (ctx->skCrls == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + memcpy (folderPath, ctx->revocationListFolder.data, ctx->revocationListFolder.length); + folderPath[ctx->revocationListFolder.length] = 0; + numCertificates = scandir(folderPath, &dirlist, + UA_Certificate_Filter_crl, + alphasort); + for (i = 0; i < numCertificates; i++) { + if (UA_BuildFullPath (folderPath, dirlist[i]->d_name, + PATH_MAX, certFile) != UA_STATUSCODE_GOOD) { + continue; + } + ret = UA_loadCertFromFile (certFile, &strCert); + if (ret != UA_STATUSCODE_GOOD) { + UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to load the revocation file %s", certFile); + continue; /* continue or return ? */ + } + if (UA_skCrls_Cert2X509 (&strCert, 1, ctx) != UA_STATUSCODE_GOOD) { + UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, + "Failed to decode the revocation file %s", certFile); + UA_ByteString_clear (&strCert); + continue; /* continue or return ? */ + } + UA_ByteString_clear (&strCert); + } + } + + ret = UA_STATUSCODE_GOOD; + return ret; +} + +#endif /* end of __linux__ */ + +static const unsigned char openssl_PEM_PRE[28] = "-----BEGIN CERTIFICATE-----"; + +/* Extract the leaf certificate from a bytestring that may contain an entire chain */ +static X509 * +openSSLLoadLeafCertificate(UA_ByteString cert, size_t *offset) { + if(cert.length <= *offset) + return NULL; + cert.length -= *offset; + cert.data += *offset; + + /* Detect DER encoding. Extract the encoding length and cut. */ + if(cert.length >= 4 && cert.data[0] == 0x30 && cert.data[1] == 0x82) { + /* The certificate length is encoded after the magic bytes */ + size_t certLen = 4; /* Magic numbers + length bytes */ + certLen += (size_t)(((uint16_t)cert.data[2]) << 8); + certLen += cert.data[3]; + if(certLen > cert.length) + return NULL; + cert.length = certLen; + *offset += certLen; + const UA_Byte *dataPtr = cert.data; + return d2i_X509(NULL, &dataPtr, (long)cert.length); + } + + /* Assume PEM encoding. Detect multiple certificates and cut. */ + if(cert.length > 27 * 4) { + const unsigned char *match = + UA_Bstrstr(openssl_PEM_PRE, 27, &cert.data[27*2], cert.length - (27*2)); + if(match) + cert.length = (uintptr_t)(match - cert.data); + } + *offset += cert.length; + + BIO *bio = BIO_new_mem_buf((void *) cert.data, (int)cert.length); + X509 *result = PEM_read_bio_X509(bio, NULL, NULL, NULL); + BIO_free(bio); + return result; +} + +/* The bytestring might contain an entire certificate chain. The first + * stack-element is the leaf certificate itself. The remaining ones are + * potential issuer certificates. */ +static STACK_OF(X509) * +openSSLLoadCertificateStack(const UA_ByteString cert) { + size_t offset = 0; + X509 *x509 = NULL; + STACK_OF(X509) *result = sk_X509_new_null(); + if(!result) + return NULL; + while((x509 = openSSLLoadLeafCertificate(cert, &offset))) { + sk_X509_push(result, x509); + } + return result; +} + +/* Return the first matching issuer candidate AFTER prev */ +static X509 * +openSSLFindNextIssuer(CertContext *ctx, STACK_OF(X509) *stack, X509 *x509, X509 *prev) { + /* First check issuers from the stack - provided in the same bytestring as + * the certificate. This can also return x509 itself. */ + X509_NAME *in = X509_get_issuer_name(x509); + do { + int size = sk_X509_num(stack); + for(int i = 0; i < size; i++) { + X509 *candidate = sk_X509_value(stack, i); + if(prev) { + if(prev == candidate) + prev = NULL; /* This was the last issuer we tried to verify */ + continue; + } + /* This checks subject/issuer name and the key usage of the issuer. + * It does not verify the validity period and if the issuer key was + * used for the signature. We check that afterwards. */ + if(X509_NAME_cmp(in, X509_get_subject_name(candidate)) == 0) + return candidate; + } + /* Switch from the stack that came with the cert to the issuer list and + * then to the trust list. */ + if(stack == ctx->skTrusted) + stack = NULL; + else if(stack == ctx->skIssue) + stack = ctx->skTrusted; + else + stack = ctx->skIssue; + } while(stack); + return NULL; +} + +/* Is the certificate a CA? */ +static UA_Boolean +openSSLCheckCA(X509 *cert) { + uint32_t flags = X509_get_extension_flags(cert); + /* The basic constraints must be set with the CA flag true */ + if(!(flags & EXFLAG_CA)) + return false; + + /* The Key Usage extension must be set */ + if(!(flags & EXFLAG_KUSAGE)) + return false; + + /* The Key Usage must include cert signing and CRL issuing */ + uint32_t usage = X509_get_key_usage(cert); + if(!(usage & KU_KEY_CERT_SIGN) || !(usage & KU_CRL_SIGN)) + return false; + + return true; +} + +static UA_StatusCode +openSSLCheckRevoked(CertContext *ctx, X509 *cert) { + const ASN1_INTEGER *sn = X509_get0_serialNumber(cert); + const X509_NAME *in = X509_get_issuer_name(cert); + int size = sk_X509_CRL_num(ctx->skCrls); + + if(size == 0) { + UA_LOG_WARNING(ctx->cv->logging, UA_LOGCATEGORY_SECURITYPOLICY, + "Zero revocation lists have been loaded. " + "This seems intentional - omitting the check."); + return UA_STATUSCODE_GOOD; + } + + /* Loop over the crl and match the Issuer Name */ + UA_StatusCode res = UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN; + for(int i = 0; i < size; i++) { + /* The crl contains a list of serial numbers from the same issuer */ + X509_CRL *crl = sk_X509_CRL_value(ctx->skCrls, i); + if(X509_NAME_cmp(in, X509_CRL_get_issuer(crl)) != 0) + continue; + STACK_OF(X509_REVOKED) *rs = X509_CRL_get_REVOKED(crl); + int rsize = sk_X509_REVOKED_num(rs); + for(int j = 0; j < rsize; j++) { + X509_REVOKED *r = sk_X509_REVOKED_value(rs, j); + if(ASN1_INTEGER_cmp(sn, X509_REVOKED_get0_serialNumber(r)) == 0) + return UA_STATUSCODE_BADCERTIFICATEREVOKED; + } + res = UA_STATUSCODE_GOOD; /* There was at least one crl that did not revoke (so far) */ + } + return res; +} + +#define UA_OPENSSL_MAX_CHAIN_LENGTH 10 + +static UA_StatusCode +openSSL_verifyChain(CertContext *ctx, STACK_OF(X509) *stack, X509 **old_issuers, + X509 *cert, int depth) { + /* Maxiumum chain length */ + if(depth == UA_OPENSSL_MAX_CHAIN_LENGTH) + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + + /* Verification Step: Validity Period */ + ASN1_TIME *notBefore = X509_get_notBefore(cert); + ASN1_TIME *notAfter = X509_get_notAfter(cert); + if(X509_cmp_current_time(notBefore) != -1 || X509_cmp_current_time(notAfter) != 1) + return (depth == 0) ? UA_STATUSCODE_BADCERTIFICATETIMEINVALID : + UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID; + + /* Return the most specific error code. BADCERTIFICATECHAININCOMPLETE is + * returned only if all possible chains are incomplete. */ + X509 *issuer = NULL; + UA_StatusCode ret = UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + while(ret != UA_STATUSCODE_GOOD) { + /* Find the issuer. We jump back here to find a different path if a + * subsequent check fails. */ + issuer = openSSLFindNextIssuer(ctx, stack, cert, issuer); + if(!issuer) + break; + + /* Verification Step: Certificate Usage + * Can the issuer act as CA? Omit for self-signed leaf certificates. */ + if((depth > 0 || issuer != cert) && !openSSLCheckCA(issuer)) { + ret = UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED; + continue; + } + + /* Verification Step: Signature */ + int opensslRet = X509_verify(cert, X509_get0_pubkey(issuer)); + if(opensslRet == -1) { + return UA_STATUSCODE_BADCERTIFICATEINVALID; /* Ill-formed signature */ + } else if(opensslRet == 0) { + ret = UA_STATUSCODE_BADCERTIFICATEINVALID; /* Wrong issuer, try again */ + continue; + } + + /* The certificate is self-signed. We have arrived at the top of the + * chain. We check whether the certificate is trusted below. This is the + * only place where we return UA_STATUSCODE_BADCERTIFICATEUNTRUSTED. + * This signals that the chain is complete (but can be still + * untrusted). + * + * Break here as we have reached the end of the chain. Omit the + * Revocation Check for self-signed certificates. */ + if(cert == issuer || X509_cmp(cert, issuer) == 0) { + ret = UA_STATUSCODE_BADCERTIFICATEUNTRUSTED; + break; + } + + /* Verification Step: Revocation Check */ + ret = openSSLCheckRevoked(ctx, cert); + if(depth > 0) { + if(ret == UA_STATUSCODE_BADCERTIFICATEREVOKED) + ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED; + if(ret == UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN) + ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN; + } + if(ret != UA_STATUSCODE_GOOD) + continue; + + /* Detect (endless) loops of issuers. The last one can be skipped by the + * check for self-signed just before. */ + for(int i = 0; i < depth; i++) { + if(old_issuers[i] == issuer) + return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; + } + old_issuers[depth] = issuer; + + /* We have found the issuer certificate used for the signature. Recurse + * to the next certificate in the chain (verify the current issuer). */ + ret = openSSL_verifyChain(ctx, stack, old_issuers, issuer, depth + 1); + } + + /* Is the certificate in the trust list? If yes, then we are done. */ + if(ret == UA_STATUSCODE_BADCERTIFICATEUNTRUSTED) { + for(int i = 0; i < sk_X509_num(ctx->skTrusted); i++) { + if(X509_cmp(cert, sk_X509_value(ctx->skTrusted, i)) == 0) + return UA_STATUSCODE_GOOD; + } + } + + return ret; +} + +/* This follows Part 6, 6.1.3 Determining if a Certificate is trusted. + * It defines a sequence of steps for certificate verification. */ +static UA_StatusCode +UA_CertificateVerification_Verify(const UA_CertificateVerification *cv, + const UA_ByteString *certificate) { + if(!cv || !certificate) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_StatusCode ret = UA_STATUSCODE_GOOD; + CertContext *ctx = (CertContext *)cv->context; + X509 *old_issuers[UA_OPENSSL_MAX_CHAIN_LENGTH]; + +#ifdef __linux__ + ret = UA_ReloadCertFromFolder(ctx); + if(ret != UA_STATUSCODE_GOOD) + return ret; +#endif + + /* Verification Step: Certificate Structure */ + STACK_OF(X509) *stack = openSSLLoadCertificateStack(*certificate); + if(!stack || sk_X509_num(stack) < 1) { + ret = UA_STATUSCODE_BADCERTIFICATEINVALID; + goto errout; + } + + /* Verification Step: Certificate Usage + * Check whether the certificate is a User certificate or a CA certificate. + * Refer the test case CTT/Security/Security Certificate Validation/029.js + * for more details. */ + X509 *leaf = sk_X509_value(stack, 0); + if(openSSLCheckCA(leaf)) { + ret = UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; + goto errout; + } + + /* These steps are performed outside of this method. + * Because we need the server or client context. + * - Security Policy + * - Host Name + * - URI */ + + /* Verification Step: Build Certificate Chain + * We perform the checks for each certificate inside. */ + ret = openSSL_verifyChain(ctx, stack, old_issuers, leaf, 0); + + errout: + if(stack) + sk_X509_pop_free(stack, X509_free); + +#ifdef UA_ENABLE_CERT_REJECTED_DIR + if(ret != UA_STATUSCODE_GOOD && + ctx->rejectedListFolder.length > 0) { + char rejectedFileName[256] = {0}; + UA_ByteString thumbprint; + UA_ByteString_allocBuffer(&thumbprint, UA_SHA1_LENGTH); + if(UA_Openssl_X509_GetCertificateThumbprint(certificate, &thumbprint, true) == UA_STATUSCODE_GOOD) { + static const char hex2char[] = "0123456789ABCDEF"; + for(size_t pos = 0, namePos = 0; pos < thumbprint.length; pos++) { + rejectedFileName[namePos++] = hex2char[(thumbprint.data[pos] & 0xf0) >> 4]; + rejectedFileName[namePos++] = hex2char[thumbprint.data[pos] & 0x0f]; + } + strcat(rejectedFileName, ".der"); + } else { + UA_UInt64 dt = (UA_UInt64) UA_DateTime_now(); + sprintf(rejectedFileName, "cert_%" PRIu64 ".der", dt); + } + UA_ByteString_clear(&thumbprint); + char *rejectedFullFileName = (char *) + calloc(ctx->rejectedListFolder.length + 1 /* '/' */ + strlen(rejectedFileName) + 1, sizeof(char)); + if(!rejectedFullFileName) + return ret; + memcpy(rejectedFullFileName, ctx->rejectedListFolder.data, ctx->rejectedListFolder.length); + rejectedFullFileName[ctx->rejectedListFolder.length] = '/'; + memcpy(&rejectedFullFileName[ctx->rejectedListFolder.length + 1], rejectedFileName, strlen(rejectedFileName)); + FILE * fp_rejectedFile = fopen(rejectedFullFileName, "wb"); + if(fp_rejectedFile) { + fwrite(certificate->data, sizeof(certificate->data[0]), certificate->length, fp_rejectedFile); + fclose(fp_rejectedFile); + } + free(rejectedFullFileName); + } +#endif + + return ret; +} + +static UA_StatusCode +UA_CertificateVerification_VerifyApplicationURI (const UA_CertificateVerification *cv, + const UA_ByteString * certificate, + const UA_String * applicationURI) { + const unsigned char * pData; + X509 * certificateX509; + UA_String subjectURI = UA_STRING_NULL; + GENERAL_NAMES * pNames; + int i; + UA_StatusCode ret; + CertContext * ctx; + + if (cv == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + ctx = (CertContext *)cv->context; + if (ctx == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + pData = certificate->data; + if (pData == NULL) { + UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error Empty Certificate"); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + certificateX509 = UA_OpenSSL_LoadCertificate(certificate); + if (certificateX509 == NULL) { + UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error loading X509 Certificate"); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + pNames = (GENERAL_NAMES *) X509_get_ext_d2i(certificateX509, NID_subject_alt_name, + NULL, NULL); + if (pNames == NULL) { + X509_free (certificateX509); + UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error processing X509 Certificate"); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + + UA_String_init(&subjectURI); + + for (i = 0; i < sk_GENERAL_NAME_num (pNames); i++) { + GENERAL_NAME * value = sk_GENERAL_NAME_value (pNames, i); + if (value->type == GEN_URI) { + subjectURI.length = (size_t) (value->d.ia5->length); + subjectURI.data = (UA_Byte *) UA_malloc (subjectURI.length); + if (subjectURI.data == NULL) { + UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error Empty subjectURI"); + X509_free (certificateX509); + sk_GENERAL_NAME_pop_free(pNames, GENERAL_NAME_free); + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + } + (void) memcpy (subjectURI.data, value->d.ia5->data, subjectURI.length); + break; + } + + } + + ret = UA_STATUSCODE_GOOD; + if (UA_Bstrstr (subjectURI.data, subjectURI.length, + applicationURI->data, applicationURI->length) == NULL) { + UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Empty comparing subjectURI and applicationURI"); + ret = UA_STATUSCODE_BADCERTIFICATEURIINVALID; + } + + X509_free (certificateX509); + sk_GENERAL_NAME_pop_free(pNames, GENERAL_NAME_free); + UA_String_clear (&subjectURI); + return ret; +} + +#ifdef UA_ENABLE_ENCRYPTION_OPENSSL +static UA_StatusCode +UA_GetCertificate_ExpirationDate(UA_DateTime *expiryDateTime, + UA_ByteString *certificate) { + const unsigned char *pData = certificate->data; + X509 * x509 = d2i_X509 (NULL, &pData, (long)certificate->length); + if (x509 == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Get the certificate Expiry date */ + ASN1_TIME *not_after = X509_get_notAfter(x509); + + struct tm dtTime; + ASN1_TIME_to_tm(not_after, &dtTime); + X509_free(x509); + + struct musl_tm dateTime; + memset(&dateTime, 0, sizeof(struct musl_tm)); + dateTime.tm_year = dtTime.tm_year; + dateTime.tm_mon = dtTime.tm_mon; + dateTime.tm_mday = dtTime.tm_mday; + dateTime.tm_hour = dtTime.tm_hour; + dateTime.tm_min = dtTime.tm_min; + dateTime.tm_sec = dtTime.tm_sec; + + long long sec_epoch = musl_tm_to_secs(&dateTime); + *expiryDateTime = UA_DATETIME_UNIX_EPOCH; + *expiryDateTime += sec_epoch * UA_DATETIME_SEC; + return UA_STATUSCODE_GOOD; +} +#endif + +static UA_StatusCode +UA_GetCertificate_SubjectName(UA_String *subjectName, + UA_ByteString *certificate) { + const unsigned char *pData = certificate->data; + X509 *x509 = d2i_X509 (NULL, &pData, (long)certificate->length); + if(!x509) + return UA_STATUSCODE_BADINTERNALERROR; + X509_NAME *sn = X509_get_subject_name(x509); + char buf[1024]; + *subjectName = UA_STRING_ALLOC(X509_NAME_oneline(sn, buf, 1024)); + X509_free(x509); + return UA_STATUSCODE_GOOD; +} + +/* main entry */ + +UA_StatusCode +UA_CertificateVerification_Trustlist(UA_CertificateVerification * cv, + const UA_ByteString * certificateTrustList, + size_t certificateTrustListSize, + const UA_ByteString * certificateIssuerList, + size_t certificateIssuerListSize, + const UA_ByteString * certificateRevocationList, + size_t certificateRevocationListSize) { + UA_StatusCode ret; + + if (cv == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + if (cv->logging == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Clear if the plugin is already initialized */ + if(cv->clear) + cv->clear(cv); + + CertContext * context = (CertContext *) UA_malloc (sizeof (CertContext)); + if (context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + cv->verifyApplicationURI = UA_CertificateVerification_VerifyApplicationURI; + cv->clear = UA_CertificateVerification_clear; + cv->context = context; + cv->verifyCertificate = UA_CertificateVerification_Verify; +#ifdef UA_ENABLE_ENCRYPTION_OPENSSL + cv->getExpirationDate = UA_GetCertificate_ExpirationDate; +#endif + cv->getSubjectName = UA_GetCertificate_SubjectName; + + ret = UA_CertContext_Init (context, cv); + if (ret != UA_STATUSCODE_GOOD) { + return ret; + } + + if (certificateTrustListSize > 0) { + if (UA_skTrusted_Cert2X509 (certificateTrustList, certificateTrustListSize, + context) != UA_STATUSCODE_GOOD) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + } + + if (certificateIssuerListSize > 0) { + if (UA_skIssuer_Cert2X509 (certificateIssuerList, certificateIssuerListSize, + context) != UA_STATUSCODE_GOOD) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + } + + if (certificateRevocationListSize > 0) { + if (UA_skCrls_Cert2X509 (certificateRevocationList, certificateRevocationListSize, + context) != UA_STATUSCODE_GOOD) { + ret = UA_STATUSCODE_BADINTERNALERROR; + goto errout; + } + } + + return UA_STATUSCODE_GOOD; + +errout: + UA_CertificateVerification_clear (cv); + return ret; +} + +#ifdef __linux__ /* Linux only so far */ +UA_StatusCode +UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, + const char *trustListFolder, + const char *issuerListFolder, + const char *revocationListFolder +#ifdef UA_ENABLE_CERT_REJECTED_DIR + , const char *rejectedListFolder +#endif + ) { + UA_StatusCode ret; + if (cv == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + if (cv->logging == NULL) { + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Clear if the plugin is already initialized */ + if(cv->clear) + cv->clear(cv); + + CertContext * context = (CertContext *) UA_malloc (sizeof (CertContext)); + if (context == NULL) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + cv->verifyApplicationURI = UA_CertificateVerification_VerifyApplicationURI; + cv->clear = UA_CertificateVerification_clear; + cv->context = context; + cv->verifyCertificate = UA_CertificateVerification_Verify; + + ret = UA_CertContext_Init (context, cv); + if (ret != UA_STATUSCODE_GOOD) { + return ret; + } + + /* Only set the folder paths. They will be reloaded during runtime. */ + + context->trustListFolder = UA_STRING_ALLOC(trustListFolder); + context->issuerListFolder = UA_STRING_ALLOC(issuerListFolder); + context->revocationListFolder = UA_STRING_ALLOC(revocationListFolder); +#ifdef UA_ENABLE_CERT_REJECTED_DIR + context->rejectedListFolder = UA_STRING_ALLOC(rejectedListFolder); +#endif + + return UA_STATUSCODE_GOOD; +} +#endif + +static int +privateKeyPasswordCallback(char *buf, int size, int rwflag, void *userdata) { + (void) rwflag; + UA_ByteString *pw = (UA_ByteString*)userdata; + if(pw->length <= (size_t)size) + memcpy(buf, pw->data, pw->length); + return (int)pw->length; +} + +UA_StatusCode +UA_PKI_decryptPrivateKey(const UA_ByteString privateKey, + const UA_ByteString password, + UA_ByteString *outDerKey) { + if(!outDerKey) + return UA_STATUSCODE_BADINTERNALERROR; + + if (privateKey.length == 0) { + *outDerKey = UA_BYTESTRING_NULL; + return UA_STATUSCODE_BADINVALIDARGUMENT; + } + + /* Already in DER format -> return verbatim */ + if(privateKey.length > 1 && privateKey.data[0] == 0x30 && privateKey.data[1] == 0x82) + return UA_ByteString_copy(&privateKey, outDerKey); + + /* Decrypt */ + BIO *bio = BIO_new_mem_buf((void*)privateKey.data, (int)privateKey.length); + EVP_PKEY *pkey = PEM_read_bio_PrivateKey(bio, NULL, + privateKeyPasswordCallback, + (void*)(uintptr_t)&password); + BIO_free(bio); + if(!pkey) + return UA_STATUSCODE_BADSECURITYCHECKSFAILED; + + /* Write DER encoded, allocates the new memory */ + unsigned char *data = NULL; + const int numBytes = i2d_PrivateKey(pkey, &data); + EVP_PKEY_free(pkey); + if(!data) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Copy to the data to outDerKey + * Passing the data pointer directly causes a heap corruption on Windows + * when outDerKey is cleared. + */ + UA_ByteString temp = UA_BYTESTRING_NULL; + temp.data = data; + temp.length = (size_t)numBytes; + const UA_StatusCode success = UA_ByteString_copy(&temp, outDerKey); + /* OPENSSL_clear_free() is not supported by the LibreSSL version in the CI */ + OPENSSL_cleanse(data, numBytes); + OPENSSL_free(data); + return success; +} + +#endif /* end of defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) */ + +/**** amalgamated original file "/plugins/crypto/ua_pki_none.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2020 (c) Julius Pfrommer, Fraunhofer IOSB + */ + + +static UA_StatusCode +verifyCertificateAllowAll(const UA_CertificateVerification *cv, + const UA_ByteString *certificate) { + UA_LOG_WARNING(cv->logging, UA_LOGCATEGORY_USERLAND, + "No certificate store configured. Accepting the certificate."); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +verifyApplicationURIAllowAll(const UA_CertificateVerification *cv, + const UA_ByteString *certificate, + const UA_String *applicationURI) { + return UA_STATUSCODE_GOOD; +} + +static void +clearVerifyAllowAll(UA_CertificateVerification *cv) { + +} + +void UA_CertificateVerification_AcceptAll(UA_CertificateVerification *cv) { + /* Clear the structure, as it may have already been initialized. */ + if(cv->clear) + cv->clear(cv); + cv->verifyCertificate = verifyCertificateAllowAll; + cv->verifyApplicationURI = verifyApplicationURIAllowAll; + cv->clear = clearVerifyAllowAll; +} + +/**** amalgamated original file "/plugins/crypto/ua_securitypolicy_none.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS +#endif + +#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) +#endif + +static UA_StatusCode +verify_none(void *channelContext, + const UA_ByteString *message, + const UA_ByteString *signature) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +sign_none(void *channelContext, const UA_ByteString *message, + UA_ByteString *signature) { + return UA_STATUSCODE_GOOD; +} + +static size_t +length_none(const void *channelContext) { + return 0; +} + +static UA_StatusCode +encrypt_none(void *channelContext, UA_ByteString *data) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +decrypt_none(void *channelContext, UA_ByteString *data) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +makeThumbprint_none(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificate, + UA_ByteString *thumbprint) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +compareThumbprint_none(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *certificateThumbprint) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +generateKey_none(void *policyContext, const UA_ByteString *secret, + const UA_ByteString *seed, UA_ByteString *out) { + return UA_STATUSCODE_GOOD; +} + +/* Use the non-cryptographic RNG to set the nonce */ +static UA_StatusCode +generateNonce_none(void *policyContext, UA_ByteString *out) { + if(out == NULL) + return UA_STATUSCODE_BADINTERNALERROR; + + if(out->length == 0) + return UA_STATUSCODE_GOOD; + + /* Fill blocks of four byte */ + size_t i = 0; + while(i + 3 < out->length) { + UA_UInt32 randNumber = UA_UInt32_random(); + memcpy(&out->data[i], &randNumber, 4); + i = i+4; + } + + /* Fill the remaining byte */ + UA_UInt32 randNumber = UA_UInt32_random(); + memcpy(&out->data[i], &randNumber, out->length % 4); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +newContext_none(const UA_SecurityPolicy *securityPolicy, + const UA_ByteString *remoteCertificate, + void **channelContext) { + return UA_STATUSCODE_GOOD; +} + +static void +deleteContext_none(void *channelContext) { +} + +static UA_StatusCode +setContextValue_none(void *channelContext, + const UA_ByteString *key) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +compareCertificate_none(const void *channelContext, + const UA_ByteString *certificate) { + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +updateCertificateAndPrivateKey_none(UA_SecurityPolicy *policy, + const UA_ByteString newCertificate, + const UA_ByteString newPrivateKey) { + UA_ByteString_clear(&policy->localCertificate); + UA_ByteString_copy(&newCertificate, &policy->localCertificate); + return UA_STATUSCODE_GOOD; +} + + +static void +policy_clear_none(UA_SecurityPolicy *policy) { + UA_ByteString_clear(&policy->localCertificate); +} + +UA_StatusCode +UA_SecurityPolicy_None(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, + const UA_Logger *logger) { + policy->policyContext = (void *)(uintptr_t)logger; + policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); + policy->logger = logger; + +#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS + UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); +#elif defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) + UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); +#else + UA_ByteString_copy(&localCertificate, &policy->localCertificate); +#endif + + policy->symmetricModule.generateKey = generateKey_none; + policy->symmetricModule.generateNonce = generateNonce_none; + + UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = + &policy->symmetricModule.cryptoModule.signatureAlgorithm; + sym_signatureAlgorithm->uri = UA_STRING_NULL; + sym_signatureAlgorithm->verify = verify_none; + sym_signatureAlgorithm->sign = sign_none; + sym_signatureAlgorithm->getLocalSignatureSize = length_none; + sym_signatureAlgorithm->getRemoteSignatureSize = length_none; + sym_signatureAlgorithm->getLocalKeyLength = length_none; + sym_signatureAlgorithm->getRemoteKeyLength = length_none; + + UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = + &policy->symmetricModule.cryptoModule.encryptionAlgorithm; + sym_encryptionAlgorithm->uri = UA_STRING_NULL; + sym_encryptionAlgorithm->encrypt = encrypt_none; + sym_encryptionAlgorithm->decrypt = decrypt_none; + sym_encryptionAlgorithm->getLocalKeyLength = length_none; + sym_encryptionAlgorithm->getRemoteKeyLength = length_none; + sym_encryptionAlgorithm->getRemoteBlockSize = length_none; + sym_encryptionAlgorithm->getRemotePlainTextBlockSize = length_none; + policy->symmetricModule.secureChannelNonceLength = 0; + + policy->asymmetricModule.makeCertificateThumbprint = makeThumbprint_none; + policy->asymmetricModule.compareCertificateThumbprint = compareThumbprint_none; + + // This only works for none since symmetric and asymmetric crypto modules do the same i.e. nothing + policy->asymmetricModule.cryptoModule = policy->symmetricModule.cryptoModule; + + // Use the same signing algorithm as for asymmetric signing + policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; + + policy->channelModule.newContext = newContext_none; + policy->channelModule.deleteContext = deleteContext_none; + policy->channelModule.setLocalSymEncryptingKey = setContextValue_none; + policy->channelModule.setLocalSymSigningKey = setContextValue_none; + policy->channelModule.setLocalSymIv = setContextValue_none; + policy->channelModule.setRemoteSymEncryptingKey = setContextValue_none; + policy->channelModule.setRemoteSymSigningKey = setContextValue_none; + policy->channelModule.setRemoteSymIv = setContextValue_none; + policy->channelModule.compareCertificate = compareCertificate_none; + policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_none; + policy->clear = policy_clear_none; + + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/arch/common/ua_timer.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017, 2018, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + + +_UA_BEGIN_DECLS + +/* The timer is protected by its own mutex. The mutex is released before calling + * into the callbacks. So the timer can be modified from the callbacks it is + * executing. Also, the timer mutex can never lead to locking. Because the timer + * mutex will be left without acquiring another mutex. + * + * Obviously, the timer must not be deleted from within one of its + * callbacks. */ + +/* Callback where the application is either a client or a server */ +typedef void (*UA_ApplicationCallback)(void *application, void *data); + +typedef struct UA_TimerEntry { + ZIP_ENTRY(UA_TimerEntry) treeEntry; + UA_TimerPolicy timerPolicy; /* Timer policy to handle cycle misses */ + UA_DateTime nextTime; /* The next time when the callback is to be + * executed */ + UA_UInt64 interval; /* Interval in 100ns resolution. If the + * interval is zero, the callback is not + * repeated and removed after execution. */ + UA_ApplicationCallback callback; /* This is also a sentinel value. If the + * callback is NULL, then the entry is + * marked for deletion. */ + void *application; + void *data; + + ZIP_ENTRY(UA_TimerEntry) idTreeEntry; + UA_UInt64 id; /* Id of the entry */ +} UA_TimerEntry; + +typedef ZIP_HEAD(UA_TimerTree, UA_TimerEntry) UA_TimerTree; +typedef ZIP_HEAD(UA_TimerIdTree, UA_TimerEntry) UA_TimerIdTree; + +typedef struct { + UA_TimerTree tree; /* The root of the time-sorted tree */ + UA_TimerIdTree idTree; /* The root of the id-sorted tree */ + UA_UInt64 idCounter; /* Generate unique identifiers. Identifiers are + * always above zero. */ +#if UA_MULTITHREADING >= 100 + UA_Lock timerMutex; +#endif + + UA_TimerTree processTree; /* When the timer is processed, all entries that + * need processing now are moved to processTree. + * Then we iterate over that tree. */ +} UA_Timer; + +void +UA_Timer_init(UA_Timer *t); + +UA_DateTime +UA_Timer_nextRepeatedTime(UA_Timer *t); + +UA_StatusCode +UA_Timer_addTimedCallback(UA_Timer *t, UA_ApplicationCallback callback, + void *application, void *data, UA_DateTime date, + UA_UInt64 *callbackId); + +UA_StatusCode +UA_Timer_addRepeatedCallback(UA_Timer *t, UA_ApplicationCallback callback, + void *application, void *data, UA_Double interval_ms, + UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, + UA_UInt64 *callbackId); + +UA_StatusCode +UA_Timer_changeRepeatedCallback(UA_Timer *t, UA_UInt64 callbackId, + UA_Double interval_ms, UA_DateTime *baseTime, + UA_TimerPolicy timerPolicy); + +void +UA_Timer_removeCallback(UA_Timer *t, UA_UInt64 callbackId); + +UA_DateTime +UA_Timer_process(UA_Timer *t, UA_DateTime nowMonotonic); + +void +UA_Timer_clear(UA_Timer *t); + +_UA_END_DECLS + + +/**** amalgamated original file "/arch/eventloop_common.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + + +/* Utility definitions to be used in EventLoop implementations. + * Not part of the public API. */ + +_UA_BEGIN_DECLS + +/* Typing restrictions for key-value parameters */ +typedef struct { + UA_QualifiedName name; + const UA_DataType *type; + UA_Boolean required; + UA_Boolean scalar; + UA_Boolean array; +} UA_KeyValueRestriction; + +UA_StatusCode +UA_KeyValueRestriction_validate(const UA_Logger *logger, + const char *logprefix, + const UA_KeyValueRestriction *restrictions, + size_t restrictionsSiz, + const UA_KeyValueMap *map); + +_UA_END_DECLS + + +/**** amalgamated original file "/arch/eventloop_posix.h" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + + +#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) + +/* Include architecture-specific definitions */ +#if defined(UA_ARCHITECTURE_WIN32) +#elif defined(UA_ARCHITECTURE_POSIX) +#endif + + +#if !defined(__QNX__) +#endif + +/* epoll_pwait returns bogus data with the tc compiler */ +#if defined(__linux__) && !defined(__TINYC__) +# define UA_HAVE_EPOLL +# include +#endif + +#define UA_MAXBACKLOG 100 +#define UA_MAXHOSTNAME_LENGTH 256 +#define UA_MAXPORTSTR_LENGTH 6 + +#ifndef MSG_NOSIGNAL +#define MSG_NOSIGNAL 0 +#endif + +#ifndef MSG_DONTWAIT +#define MSG_DONTWAIT 0 +#endif + +_UA_BEGIN_DECLS + +/* POSIX events are based on sockets / file descriptors. The EventSources can + * register their fd in the EventLoop so that they are considered by the + * EventLoop dropping into "poll" to wait for events. */ + +/* TODO: Move the macro-forest from /arch//ua_architecture.h */ + +#define UA_FD UA_SOCKET +#define UA_INVALID_FD UA_INVALID_SOCKET + +struct UA_RegisteredFD; +typedef struct UA_RegisteredFD UA_RegisteredFD; + +/* Bitmask to be used for the UA_FDCallback event argument */ +#define UA_FDEVENT_IN 1 +#define UA_FDEVENT_OUT 2 +#define UA_FDEVENT_ERR 4 + +typedef void (*UA_FDCallback)(UA_EventSource *es, UA_RegisteredFD *rfd, short event); + +struct UA_RegisteredFD { + UA_DelayedCallback dc; /* Used for async closing. Must be the first member + * because the rfd is freed by the delayed callback + * mechanism. */ + + ZIP_ENTRY(UA_RegisteredFD) zipPointers; /* Register FD in the EventSource */ + UA_FD fd; + short listenEvents; /* UA_FDEVENT_IN | UA_FDEVENT_OUT*/ + + UA_EventSource *es; /* Backpointer to the EventSource */ + UA_FDCallback eventSourceCB; +}; + +enum ZIP_CMP cmpFD(const UA_FD *a, const UA_FD *b); +typedef ZIP_HEAD(UA_FDTree, UA_RegisteredFD) UA_FDTree; +ZIP_FUNCTIONS(UA_FDTree, UA_RegisteredFD, zipPointers, UA_FD, fd, cmpFD) + +/* All ConnectionManager in the POSIX EventLoop can be cast to + * UA_ConnectionManagerPOSIX. They carry a sorted tree of their open + * sockets/file-descriptors. */ +typedef struct { + UA_ConnectionManager cm; + + /* Reused receive buffer. The size is configured via + * the recv-bufsize parameter.*/ + UA_ByteString rxBuffer; + + /* Sorted tree of the FDs */ + size_t fdsSize; + UA_FDTree fds; +} UA_POSIXConnectionManager; + +typedef struct { + UA_EventLoop eventLoop; + + /* Timer */ + UA_Timer timer; + + /* Linked List of Delayed Callbacks */ + UA_DelayedCallback *delayedCallbacks; + + /* Flag determining whether the eventloop is currently within the + * "run" method */ + UA_Boolean executing; + +#if defined(UA_HAVE_EPOLL) + UA_FD epollfd; +#else + UA_RegisteredFD **fds; + size_t fdsSize; +#endif + +#if UA_MULTITHREADING >= 100 + UA_Lock elMutex; +#endif +} UA_EventLoopPOSIX; + +/* + * The following functions differ between epoll and normal select + */ + +/* Register to start receiving events */ +UA_StatusCode +UA_EventLoopPOSIX_registerFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd); + +/* Modify the events that the fd listens on */ +UA_StatusCode +UA_EventLoopPOSIX_modifyFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd); + +/* Deregister but do not close the fd. No further events are received. */ +void +UA_EventLoopPOSIX_deregisterFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd); + +UA_StatusCode +UA_EventLoopPOSIX_pollFDs(UA_EventLoopPOSIX *el, UA_DateTime listenTimeout); + +/* Helper functions between EventSources */ + +UA_StatusCode +UA_EventLoopPOSIX_allocateRXBuffer(UA_POSIXConnectionManager *pcm); + +UA_StatusCode +UA_EventLoopPOSIX_allocNetworkBuffer(UA_ConnectionManager *cm, + uintptr_t connectionId, + UA_ByteString *buf, + size_t bufSize); + +void +UA_EventLoopPOSIX_freeNetworkBuffer(UA_ConnectionManager *cm, + uintptr_t connectionId, + UA_ByteString *buf); + +/* + * Helper functions to be used across protocols + */ + +/* Set the socket non-blocking. If the listen-socket is nonblocking, incoming + * connections inherit this state. */ +UA_StatusCode +UA_EventLoopPOSIX_setNonBlocking(UA_FD sockfd); + +/* Don't have the socket create interrupt signals */ +UA_StatusCode +UA_EventLoopPOSIX_setNoSigPipe(UA_FD sockfd); + +/* Enables sharing of the same listening address on different sockets */ +UA_StatusCode +UA_EventLoopPOSIX_setReusable(UA_FD sockfd); + +_UA_END_DECLS + +#endif /* defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) */ + + +/**** amalgamated original file "/arch/posix/ua_clock.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA + */ + + +#ifdef UA_ARCHITECTURE_POSIX + +#include +#include + +#if defined(__APPLE__) || defined(__MACH__) +# include +# include +#endif + +UA_DateTime UA_DateTime_now(void) { + struct timeval tv; + gettimeofday(&tv, NULL); + return (tv.tv_sec * UA_DATETIME_SEC) + (tv.tv_usec * UA_DATETIME_USEC) + UA_DATETIME_UNIX_EPOCH; +} + +/* Credit to https://stackoverflow.com/questions/13804095/get-the-time-zone-gmt-offset-in-c */ +UA_Int64 UA_DateTime_localTimeUtcOffset(void) { + time_t gmt, rawtime = time(NULL); + struct tm *ptm; + struct tm gbuf; + ptm = gmtime_r(&rawtime, &gbuf); + // Request that mktime() looksup dst in timezone database + ptm->tm_isdst = -1; + gmt = mktime(ptm); + return (UA_Int64) (difftime(rawtime, gmt) * UA_DATETIME_SEC); +} + +UA_DateTime UA_DateTime_nowMonotonic(void) { +#if defined(__APPLE__) || defined(__MACH__) + /* OS X does not have clock_gettime, use clock_get_time */ + clock_serv_t cclock; + mach_timespec_t mts; + host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock); + clock_get_time(cclock, &mts); + mach_port_deallocate(mach_task_self(), cclock); + return (mts.tv_sec * UA_DATETIME_SEC) + (mts.tv_nsec / 100); +#elif !defined(CLOCK_MONOTONIC_RAW) + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return (ts.tv_sec * UA_DATETIME_SEC) + (ts.tv_nsec / 100); +#else + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC_RAW, &ts); + return (ts.tv_sec * UA_DATETIME_SEC) + (ts.tv_nsec / 100); +#endif +} + +#endif /* UA_ARCHITECTURE_POSIX */ + +/**** amalgamated original file "/arch/win32/ua_clock.c" ****/ + +/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. + * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. + * + * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + * Copyright 2017 (c) Thomas Stalder + */ + + +#ifdef UA_ARCHITECTURE_WIN32 + +#include +/* Backup definition of SLIST_ENTRY on mingw winnt.h */ +# ifdef SLIST_ENTRY +# pragma push_macro("SLIST_ENTRY") +# undef SLIST_ENTRY +# define POP_SLIST_ENTRY +# endif +# include +/* restore definition */ +# ifdef POP_SLIST_ENTRY +# undef SLIST_ENTRY +# undef POP_SLIST_ENTRY +# pragma pop_macro("SLIST_ENTRY") +# endif + +UA_DateTime UA_DateTime_now(void) { + /* Windows filetime has the same definition as UA_DateTime */ + FILETIME ft; + SYSTEMTIME st; + GetSystemTime(&st); + SystemTimeToFileTime(&st, &ft); + ULARGE_INTEGER ul; + ul.LowPart = ft.dwLowDateTime; + ul.HighPart = ft.dwHighDateTime; + return (UA_DateTime)ul.QuadPart; +} + +/* Credit to https://stackoverflow.com/questions/13804095/get-the-time-zone-gmt-offset-in-c */ +UA_Int64 UA_DateTime_localTimeUtcOffset(void) { + time_t gmt, rawtime = time(NULL); + + struct tm ptm; +#ifdef __CODEGEARC__ + gmtime_s(&rawtime, &ptm); +#else + gmtime_s(&ptm, &rawtime); +#endif + // Request that mktime() looksup dst in timezone database + ptm.tm_isdst = -1; + gmt = mktime(&ptm); + + return (UA_Int64) (difftime(rawtime, gmt) * UA_DATETIME_SEC); +} + +UA_DateTime UA_DateTime_nowMonotonic(void) { + LARGE_INTEGER freq, ticks; + QueryPerformanceFrequency(&freq); + QueryPerformanceCounter(&ticks); + UA_Double ticks2dt = UA_DATETIME_SEC / (UA_Double)freq.QuadPart; + return (UA_DateTime)(ticks.QuadPart * ticks2dt); +} + +#endif /* UA_ARCHITECTURE_WIN32 */ + +/**** amalgamated original file "/arch/common/ua_timer.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2017, 2018, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2017 (c) Stefan Profanter, fortiss GmbH + */ + + +static enum ZIP_CMP +cmpDateTime(const UA_DateTime *a, const UA_DateTime *b) { + if(*a == *b) + return ZIP_CMP_EQ; + return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; +} + +static enum ZIP_CMP +cmpId(const UA_UInt64 *a, const UA_UInt64 *b) { + if(*a == *b) + return ZIP_CMP_EQ; + return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; +} + +ZIP_FUNCTIONS(UA_TimerTree, UA_TimerEntry, treeEntry, UA_DateTime, nextTime, cmpDateTime) +ZIP_FUNCTIONS(UA_TimerIdTree, UA_TimerEntry, idTreeEntry, UA_UInt64, id, cmpId) + +static UA_DateTime +calculateNextTime(UA_DateTime currentTime, UA_DateTime baseTime, + UA_DateTime interval) { + /* Take the difference between current and base time */ + UA_DateTime diffCurrentTimeBaseTime = currentTime - baseTime; + + /* Take modulo of the diff time with the interval. This is the duration we + * are already "into" the current interval. Subtract it from (current + + * interval) to get the next execution time. */ + UA_DateTime cycleDelay = diffCurrentTimeBaseTime % interval; + + /* Handle the special case where the baseTime is in the future */ + if(UA_UNLIKELY(cycleDelay < 0)) + cycleDelay += interval; + + return currentTime + interval - cycleDelay; +} + +void +UA_Timer_init(UA_Timer *t) { + memset(t, 0, sizeof(UA_Timer)); + UA_LOCK_INIT(&t->timerMutex); +} + +/* Global variables, only used behind the mutex */ +static UA_DateTime earliest, latest, adjustedNextTime; + +static void * +findTimer2Batch(void *context, UA_TimerEntry *compare) { + UA_TimerEntry *te = (UA_TimerEntry*)context; + + /* NextTime deviation within interval? */ + if(compare->nextTime < earliest || compare->nextTime > latest) + return NULL; + + /* Check if one interval is a multiple of the other */ + if(te->interval < compare->interval && compare->interval % te->interval != 0) + return NULL; + if(te->interval > compare->interval && te->interval % compare->interval != 0) + return NULL; + + adjustedNextTime = compare->nextTime; /* Candidate found */ + + /* Abort when a perfect match is found */ + return (te->interval == compare->interval) ? te : NULL; +} + +static UA_StatusCode +addCallback(UA_Timer *t, UA_ApplicationCallback callback, void *application, + void *data, UA_DateTime nextTime, UA_UInt64 interval, + UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId) { + /* A callback method needs to be present */ + if(!callback) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Allocate the repeated callback structure */ + UA_TimerEntry *te = (UA_TimerEntry*)UA_malloc(sizeof(UA_TimerEntry)); + if(!te) + return UA_STATUSCODE_BADOUTOFMEMORY; + + /* Set the repeated callback */ + te->interval = interval; + te->id = ++t->idCounter; + te->callback = callback; + te->application = application; + te->data = data; + te->nextTime = nextTime; + te->timerPolicy = timerPolicy; + + /* Adjust the nextTime to batch cyclic callbacks. Look in an interval around + * the original nextTime. Deviate from the original nextTime by at most 1/4 + * of the interval and at most by 1s. */ + if(timerPolicy == UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME && interval != 0) { + UA_UInt64 deviate = te->interval / 4; + if(deviate > UA_DATETIME_SEC) + deviate = UA_DATETIME_SEC; + earliest = te->nextTime - deviate; + latest = te->nextTime + deviate; + adjustedNextTime = te->nextTime; + ZIP_ITER(UA_TimerIdTree, &t->idTree, findTimer2Batch, te); + te->nextTime = adjustedNextTime; + } + + /* Set the output identifier */ + if(callbackId) + *callbackId = te->id; + + ZIP_INSERT(UA_TimerTree, &t->tree, te); + ZIP_INSERT(UA_TimerIdTree, &t->idTree, te); + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_Timer_addTimedCallback(UA_Timer *t, UA_ApplicationCallback callback, + void *application, void *data, UA_DateTime date, + UA_UInt64 *callbackId) { + UA_LOCK(&t->timerMutex); + UA_StatusCode res = addCallback(t, callback, application, data, date, + 0, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, + callbackId); + UA_UNLOCK(&t->timerMutex); + return res; +} + +/* Adding repeated callbacks: Add an entry with the "nextTime" timestamp in the + * future. This will be picked up in the next iteration and inserted at the + * correct place. So that the next execution takes place ät "nextTime". */ +UA_StatusCode +UA_Timer_addRepeatedCallback(UA_Timer *t, UA_ApplicationCallback callback, + void *application, void *data, UA_Double interval_ms, + UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, + UA_UInt64 *callbackId) { + /* The interval needs to be positive */ + if(interval_ms <= 0.0) + return UA_STATUSCODE_BADINTERNALERROR; + UA_UInt64 interval = (UA_UInt64)(interval_ms * UA_DATETIME_MSEC); + if(interval == 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Compute the first time for execution */ + UA_DateTime currentTime = UA_DateTime_nowMonotonic(); + UA_DateTime nextTime; + if(baseTime == NULL) { + /* Use "now" as the basetime */ + nextTime = currentTime + (UA_DateTime)interval; + } else { + nextTime = calculateNextTime(currentTime, *baseTime, (UA_DateTime)interval); + } + + UA_LOCK(&t->timerMutex); + UA_StatusCode res = addCallback(t, callback, application, data, nextTime, + interval, timerPolicy, callbackId); + UA_UNLOCK(&t->timerMutex); + return res; +} + +UA_StatusCode +UA_Timer_changeRepeatedCallback(UA_Timer *t, UA_UInt64 callbackId, + UA_Double interval_ms, UA_DateTime *baseTime, + UA_TimerPolicy timerPolicy) { + /* The interval needs to be positive */ + if(interval_ms <= 0.0) + return UA_STATUSCODE_BADINTERNALERROR; + UA_UInt64 interval = (UA_UInt64)(interval_ms * UA_DATETIME_MSEC); + if(interval == 0) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_LOCK(&t->timerMutex); + + /* Find according to the id */ + UA_TimerEntry *te = ZIP_FIND(UA_TimerIdTree, &t->idTree, &callbackId); + if(!te) { + UA_UNLOCK(&t->timerMutex); + return UA_STATUSCODE_BADNOTFOUND; + } + + /* Try to remove from the time-sorted tree. If not found, then the entry is + * in the processTree. If that is the case, leave it there and only adjust + * the interval and nextTime (if the TimerPolicy uses a basetime). */ + UA_Boolean normalTree = (ZIP_REMOVE(UA_TimerTree, &t->tree, te) != NULL); + + /* Compute the next time for execution. The logic is identical to the + * creation of a new repeated callback. */ + UA_DateTime currentTime = UA_DateTime_nowMonotonic(); + if(baseTime == NULL) { + /* Use "now" as the basetime */ + te->nextTime = currentTime + (UA_DateTime)interval; + } else { + te->nextTime = calculateNextTime(currentTime, *baseTime, (UA_DateTime)interval); + } + + /* Update the remaining parameters and re-insert */ + te->interval = interval; + te->timerPolicy = timerPolicy; + + if(normalTree) + ZIP_INSERT(UA_TimerTree, &t->tree, te); + + UA_UNLOCK(&t->timerMutex); + return UA_STATUSCODE_GOOD; +} + +void +UA_Timer_removeCallback(UA_Timer *t, UA_UInt64 callbackId) { + UA_LOCK(&t->timerMutex); + UA_TimerEntry *te = ZIP_FIND(UA_TimerIdTree, &t->idTree, &callbackId); + if(UA_LIKELY(te != NULL)) { + if(t->processTree.root == NULL) { + /* Remove/free the entry */ + ZIP_REMOVE(UA_TimerTree, &t->tree, te); + ZIP_REMOVE(UA_TimerIdTree, &t->idTree, te); + UA_free(te); + } else { + /* We are currently processing. Only mark the entry to be deleted. + * Will be removed/freed the next time we reach it in the processing + * callback. */ + te->callback = NULL; + } + } + UA_UNLOCK(&t->timerMutex); +} + +struct TimerProcessContext { + UA_Timer *t; + UA_DateTime nowMonotonic; +}; + +static void * +processEntryCallback(void *context, UA_TimerEntry *te) { + struct TimerProcessContext *tpc = (struct TimerProcessContext*)context; + UA_Timer *t = tpc->t; + + /* Execute the callback. The memory is not freed during the callback. + * Instead, whenever t->processTree != NULL, the entries are only marked for + * deletion by setting elm->callback to NULL. */ + if(te->callback) { + te->callback(te->application, te->data); + } + + /* Remove and free the entry if marked for deletion or a one-time timed + * callback */ + if(!te->callback || te->interval == 0) { + ZIP_REMOVE(UA_TimerIdTree, &t->idTree, te); + UA_free(te); + return NULL; + } + + /* Set the time for the next regular execution */ + te->nextTime += (UA_DateTime)te->interval; + + /* Handle the case where the "window" was missed. E.g. due to congestion of + * the application or if the clock was shifted. + * + * If the timer policy is "CurrentTime", then there is at least the + * interval between executions. This is used for Monitoreditems, for + * which the spec says: The sampling interval indicates the fastest rate + * at which the Server should sample its underlying source for data + * changes. (Part 4, 5.12.1.2) */ + if(te->nextTime < tpc->nowMonotonic) { + if(te->timerPolicy == UA_TIMER_HANDLE_CYCLEMISS_WITH_BASETIME) + te->nextTime = calculateNextTime(tpc->nowMonotonic, te->nextTime, + (UA_DateTime)te->interval); + else + te->nextTime = tpc->nowMonotonic + (UA_DateTime)te->interval; + } + + /* Insert back into the time-sorted tree */ + ZIP_INSERT(UA_TimerTree, &t->tree, te); + return NULL; +} + +UA_DateTime +UA_Timer_process(UA_Timer *t, UA_DateTime nowMonotonic) { + UA_LOCK(&t->timerMutex); + + /* Not reentrant. Don't call _process from within _process. */ + if(!t->processTree.root) { + /* Move all entries <= nowMonotonic to processTree */ + ZIP_UNZIP(UA_TimerTree, &t->tree, &nowMonotonic, + &t->processTree, &t->tree); + + /* Consistency check. The smallest not-processed entry isn't ready. */ + UA_assert(!ZIP_MIN(UA_TimerTree, &t->tree) || + ZIP_MIN(UA_TimerTree, &t->tree)->nextTime > nowMonotonic); + + /* Iterate over the entries that need processing in-order. This also + * moves them back to the regular time-ordered tree. */ + struct TimerProcessContext ctx; + ctx.t = t; + ctx.nowMonotonic = nowMonotonic; + ZIP_ITER(UA_TimerTree, &t->processTree, processEntryCallback, &ctx); + + /* Reset processTree. All entries are already moved to the normal tree. */ + t->processTree.root = NULL; + } + + /* Compute the timestamp of the earliest next callback */ + UA_TimerEntry *first = ZIP_MIN(UA_TimerTree, &t->tree); + UA_DateTime next = (first) ? first->nextTime : UA_INT64_MAX; + if(next < nowMonotonic) + next = nowMonotonic; + + UA_UNLOCK(&t->timerMutex); + return next; +} + +UA_DateTime +UA_Timer_nextRepeatedTime(UA_Timer *t) { + UA_LOCK(&t->timerMutex); + UA_TimerEntry *first = ZIP_MIN(UA_TimerTree, &t->tree); + UA_DateTime next = (first) ? first->nextTime : UA_INT64_MAX; + UA_UNLOCK(&t->timerMutex); + return next; +} + +static void * +freeEntryCallback(void *context, UA_TimerEntry *entry) { + UA_free(entry); + return NULL; +} + +void +UA_Timer_clear(UA_Timer *t) { + UA_LOCK(&t->timerMutex); + + ZIP_ITER(UA_TimerIdTree, &t->idTree, freeEntryCallback, NULL); + t->tree.root = NULL; + t->idTree.root = NULL; + t->idCounter = 0; + + UA_UNLOCK(&t->timerMutex); + +#if UA_MULTITHREADING >= 100 + UA_LOCK_DESTROY(&t->timerMutex); +#endif +} + +/**** amalgamated original file "/arch/eventloop_common.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +UA_StatusCode +UA_KeyValueRestriction_validate(const UA_Logger *logger, const char *logprefix, + const UA_KeyValueRestriction *restrictions, size_t restrictionsSize, + const UA_KeyValueMap *map) { + for(size_t i = 0; i < restrictionsSize; i++) { + const UA_KeyValueRestriction *r = &restrictions[i]; + const UA_Variant *val = UA_KeyValueMap_get(map, r->name); + + /* Value not present but required? */ + if(!val) { + if(r->required) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, + "%s\t| Parameter %.*s required but not defined", + logprefix, (int)r->name.name.length, (char*)r->name.name.data); + return UA_STATUSCODE_BADINTERNALERROR; + } + continue; + } + + /* Type matches */ + if(val->type != r->type) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, + "%s\t| Parameter %.*s has the wrong type", + logprefix, (int)r->name.name.length, (char*)r->name.name.data); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Scalar / array is allowed */ + UA_Boolean scalar = UA_Variant_isScalar(val); + if(scalar && !r->scalar) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, + "%s\t| Parameter %.*s must not be scalar", + logprefix, (int)r->name.name.length, (char*)r->name.name.data); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(!scalar && !r->array) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, + "%s\t| Parameter %.*s must not be an array", + logprefix, (int)r->name.name.length, (char*)r->name.name.data); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + } + + return UA_STATUSCODE_GOOD; +} + +/**** amalgamated original file "/arch/eventloop_posix.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + +/*********/ +/* Timer */ +/*********/ + +static UA_DateTime +UA_EventLoopPOSIX_nextCyclicTime(UA_EventLoop *public_el) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + return UA_Timer_nextRepeatedTime(&el->timer); +} + +static UA_StatusCode +UA_EventLoopPOSIX_addTimedCallback(UA_EventLoop *public_el, + UA_Callback callback, + void *application, void *data, + UA_DateTime date, + UA_UInt64 *callbackId) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + return UA_Timer_addTimedCallback(&el->timer, callback, application, + data, date, callbackId); +} + +static UA_StatusCode +UA_EventLoopPOSIX_addCyclicCallback(UA_EventLoop *public_el, + UA_Callback cb, + void *application, void *data, + UA_Double interval_ms, + UA_DateTime *baseTime, + UA_TimerPolicy timerPolicy, + UA_UInt64 *callbackId) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + return UA_Timer_addRepeatedCallback(&el->timer, cb, application, + data, interval_ms, baseTime, + timerPolicy, callbackId); +} + +static UA_StatusCode +UA_EventLoopPOSIX_modifyCyclicCallback(UA_EventLoop *public_el, + UA_UInt64 callbackId, + UA_Double interval_ms, + UA_DateTime *baseTime, + UA_TimerPolicy timerPolicy) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + return UA_Timer_changeRepeatedCallback(&el->timer, callbackId, + interval_ms, baseTime, + timerPolicy); +} + +static void +UA_EventLoopPOSIX_removeCyclicCallback(UA_EventLoop *public_el, + UA_UInt64 callbackId) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + UA_Timer_removeCallback(&el->timer, callbackId); +} + +static void +UA_EventLoopPOSIX_addDelayedCallback(UA_EventLoop *public_el, + UA_DelayedCallback *dc) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + UA_LOCK(&el->elMutex); + dc->next = el->delayedCallbacks; + el->delayedCallbacks = dc; + UA_UNLOCK(&el->elMutex); +} + +static void +UA_EventLoopPOSIX_removeDelayedCallback(UA_EventLoop *public_el, + UA_DelayedCallback *dc) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + UA_LOCK(&el->elMutex); + UA_DelayedCallback **prev = &el->delayedCallbacks; + while(*prev) { + if(*prev == dc) { + *prev = (*prev)->next; + UA_UNLOCK(&el->elMutex); + return; + } + prev = &(*prev)->next; + } + UA_UNLOCK(&el->elMutex); +} + +/* Process and then free registered delayed callbacks */ +static void +processDelayed(UA_EventLoopPOSIX *el) { + UA_LOG_TRACE(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Process delayed callbacks"); + + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* First empty the linked list in the el. So a delayed callback can add + * (itself) to the list. New entries are then processed during the next + * iteration. */ + UA_DelayedCallback *dc = el->delayedCallbacks, *next = NULL; + el->delayedCallbacks = NULL; + + for(; dc; dc = next) { + next = dc->next; + /* Delayed Callbacks might have no callback set. We don't return a + * StatusCode during "add" and don't validate. So test here. */ + if(!dc->callback) + continue; + dc->callback(dc->application, dc->context); + } +} + +/***********************/ +/* EventLoop Lifecycle */ +/***********************/ + +static UA_StatusCode +UA_EventLoopPOSIX_start(UA_EventLoopPOSIX *el) { + UA_LOCK(&el->elMutex); + + if(el->eventLoop.state != UA_EVENTLOOPSTATE_FRESH && + el->eventLoop.state != UA_EVENTLOOPSTATE_STOPPED) { + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Starting the EventLoop"); + +#ifdef UA_HAVE_EPOLL + el->epollfd = epoll_create1(0); + if(el->epollfd == -1) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "Eventloop\t| Could not create the epoll socket (%s)", + errno_str)); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } +#endif + + UA_StatusCode res = UA_STATUSCODE_GOOD; + UA_EventSource *es = el->eventLoop.eventSources; + while(es) { + res |= es->start(es); + es = es->next; + } + + /* Dirty-write the state that is const "from the outside" */ + *(UA_EventLoopState*)(uintptr_t)&el->eventLoop.state = + UA_EVENTLOOPSTATE_STARTED; + + UA_UNLOCK(&el->elMutex); + return res; +} + +static void +checkClosed(UA_EventLoopPOSIX *el) { + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_EventSource *es = el->eventLoop.eventSources; + while(es) { + if(es->state != UA_EVENTSOURCESTATE_STOPPED) + return; + es = es->next; + } + + /* Not closed until all delayed callbacks are processed */ + if(el->delayedCallbacks != NULL) + return; + + /* Dirty-write the state that is const "from the outside" */ + *(UA_EventLoopState*)(uintptr_t)&el->eventLoop.state = + UA_EVENTLOOPSTATE_STOPPED; + + /* Close the epoll/IOCP socket once all EventSources have shut down */ +#ifdef UA_HAVE_EPOLL + close(el->epollfd); +#endif + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "The EventLoop has stopped"); +} + +static void +UA_EventLoopPOSIX_stop(UA_EventLoopPOSIX *el) { + UA_LOCK(&el->elMutex); + + if(el->eventLoop.state != UA_EVENTLOOPSTATE_STARTED) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "The EventLoop is not running, cannot be stopped"); + UA_UNLOCK(&el->elMutex); + return; + } + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Stopping the EventLoop"); + + /* Set to STOPPING to prevent "normal use" */ + *(UA_EventLoopState*)(uintptr_t)&el->eventLoop.state = + UA_EVENTLOOPSTATE_STOPPING; + + /* Stop all event sources (asynchronous) */ + UA_EventSource *es = el->eventLoop.eventSources; + for(; es; es = es->next) { + if(es->state == UA_EVENTSOURCESTATE_STARTING || + es->state == UA_EVENTSOURCESTATE_STARTED) { + es->stop(es); + } + } + + /* Set to STOPPED if all EventSources are STOPPED */ + checkClosed(el); + + UA_UNLOCK(&el->elMutex); +} + +static UA_StatusCode +UA_EventLoopPOSIX_run(UA_EventLoopPOSIX *el, UA_UInt32 timeout) { + UA_LOCK(&el->elMutex); + + if(el->executing) { + UA_LOG_ERROR(el->eventLoop.logger, + UA_LOGCATEGORY_EVENTLOOP, + "Cannot run EventLoop from the run method itself"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + el->executing = true; + + if(el->eventLoop.state == UA_EVENTLOOPSTATE_FRESH || + el->eventLoop.state == UA_EVENTLOOPSTATE_STOPPED) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Cannot iterate a stopped EventLoop"); + el->executing = false; + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_LOG_TRACE(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Iterate the EventLoop"); + + /* Process cyclic callbacks */ + UA_DateTime dateBefore = + el->eventLoop.dateTime_nowMonotonic(&el->eventLoop); + + UA_DateTime dateNext = UA_Timer_process(&el->timer, dateBefore); + + /* Process delayed callbacks here: + * - Removes closed sockets already here instead of polling them again. + * - The timeout for polling is selected to be ready in time for the next + * cyclic callback. So we want to do little work between the timeout + * running out and executing the due cyclic callbacks. */ + processDelayed(el); + + /* A delayed callback could create another delayed callback (or re-add + * itself). In that case we don't want to wait (indefinitely) for an event + * to happen. Process queued events but don't sleep. Then process the + * delayed callbacks in the next iteration. */ + if(el->delayedCallbacks != NULL) + timeout = 0; + + /* Compute the remaining time */ + UA_DateTime maxDate = dateBefore + (timeout * UA_DATETIME_MSEC); + if(dateNext > maxDate) + dateNext = maxDate; + UA_DateTime listenTimeout = + dateNext - el->eventLoop.dateTime_nowMonotonic(&el->eventLoop); + if(listenTimeout < 0) + listenTimeout = 0; + + /* Listen on the active file-descriptors (sockets) from the + * ConnectionManagers */ + UA_StatusCode rv = UA_EventLoopPOSIX_pollFDs(el, listenTimeout); + + /* Check if the last EventSource was successfully stopped */ + if(el->eventLoop.state == UA_EVENTLOOPSTATE_STOPPING) + checkClosed(el); + + el->executing = false; + UA_UNLOCK(&el->elMutex); + return rv; +} + +/*****************************/ +/* Registering Event Sources */ +/*****************************/ + +static UA_StatusCode +UA_EventLoopPOSIX_registerEventSource(UA_EventLoopPOSIX *el, + UA_EventSource *es) { + UA_LOCK(&el->elMutex); + + /* Already registered? */ + if(es->state != UA_EVENTSOURCESTATE_FRESH) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "Cannot register the EventSource \"%.*s\": " + "already registered", + (int)es->name.length, (char*)es->name.data); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Add to linked list */ + es->next = el->eventLoop.eventSources; + el->eventLoop.eventSources = es; + + es->eventLoop = &el->eventLoop; + es->state = UA_EVENTSOURCESTATE_STOPPED; + + /* Start if the entire EventLoop is started */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + if(el->eventLoop.state == UA_EVENTLOOPSTATE_STARTED) + res = es->start(es); + + UA_UNLOCK(&el->elMutex); + return res; +} + +static UA_StatusCode +UA_EventLoopPOSIX_deregisterEventSource(UA_EventLoopPOSIX *el, + UA_EventSource *es) { + UA_LOCK(&el->elMutex); + + if(es->state != UA_EVENTSOURCESTATE_STOPPED) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Cannot deregister the EventSource %.*s: " + "Has to be stopped first", + (int)es->name.length, es->name.data); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Remove from the linked list */ + UA_EventSource **s = &el->eventLoop.eventSources; + while(*s) { + if(*s == es) { + *s = es->next; + break; + } + s = &(*s)->next; + } + + /* Set the state to non-registered */ + es->state = UA_EVENTSOURCESTATE_FRESH; + + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +/***************/ +/* Time Domain */ +/***************/ + +/* No special synchronization with an external source, just use the globally + * defined functions. */ + +static UA_DateTime +UA_EventLoopPOSIX_DateTime_now(UA_EventLoop *el) { + return UA_DateTime_now(); +} + +static UA_DateTime +UA_EventLoopPOSIX_DateTime_nowMonotonic(UA_EventLoop *el) { + return UA_DateTime_nowMonotonic(); +} + +static UA_Int64 +UA_EventLoopPOSIX_DateTime_localTimeUtcOffset(UA_EventLoop *el) { + return UA_DateTime_localTimeUtcOffset(); +} + +/*************************/ +/* Initialize and Delete */ +/*************************/ + +static UA_StatusCode +UA_EventLoopPOSIX_free(UA_EventLoopPOSIX *el) { + UA_LOCK(&el->elMutex); + + /* Check if the EventLoop can be deleted */ + if(el->eventLoop.state != UA_EVENTLOOPSTATE_STOPPED && + el->eventLoop.state != UA_EVENTLOOPSTATE_FRESH) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Cannot delete a running EventLoop"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Deregister and delete all the EventSources */ + while(el->eventLoop.eventSources) { + UA_EventSource *es = el->eventLoop.eventSources; + UA_EventLoopPOSIX_deregisterEventSource(el, es); + es->free(es); + } + + /* Remove the repeated timed callbacks */ + UA_Timer_clear(&el->timer); + + /* Process remaining delayed callbacks */ + processDelayed(el); + +#ifdef UA_ARCHITECTURE_WIN32 + /* Stop the Windows networking subsystem */ + WSACleanup(); +#endif + + /* Clean up */ + UA_UNLOCK(&el->elMutex); + UA_LOCK_DESTROY(&el->elMutex); + UA_free(el); + return UA_STATUSCODE_GOOD; +} + +static void +UA_EventLoopPOSIX_lock(UA_EventLoop *public_el) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + UA_LOCK(&el->elMutex); +} + +static void +UA_EventLoopPOSIX_unlock(UA_EventLoop *public_el) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; + UA_UNLOCK(&el->elMutex); +} + +UA_EventLoop * +UA_EventLoop_new_POSIX(const UA_Logger *logger) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*) + UA_calloc(1, sizeof(UA_EventLoopPOSIX)); + if(!el) + return NULL; + + UA_LOCK_INIT(&el->elMutex); + UA_Timer_init(&el->timer); + +#ifdef UA_ARCHITECTURE_WIN32 + /* Start the WSA networking subsystem on Windows */ + WSADATA wsaData; + WSAStartup(MAKEWORD(2, 2), &wsaData); +#endif + + /* Set the public EventLoop content */ + el->eventLoop.logger = logger; + + el->eventLoop.start = (UA_StatusCode (*)(UA_EventLoop*))UA_EventLoopPOSIX_start; + el->eventLoop.stop = (void (*)(UA_EventLoop*))UA_EventLoopPOSIX_stop; + el->eventLoop.run = (UA_StatusCode (*)(UA_EventLoop*, UA_UInt32))UA_EventLoopPOSIX_run; + el->eventLoop.free = (UA_StatusCode (*)(UA_EventLoop*))UA_EventLoopPOSIX_free; + + el->eventLoop.dateTime_now = UA_EventLoopPOSIX_DateTime_now; + el->eventLoop.dateTime_nowMonotonic = + UA_EventLoopPOSIX_DateTime_nowMonotonic; + el->eventLoop.dateTime_localTimeUtcOffset = + UA_EventLoopPOSIX_DateTime_localTimeUtcOffset; + + el->eventLoop.nextCyclicTime = UA_EventLoopPOSIX_nextCyclicTime; + el->eventLoop.addCyclicCallback = UA_EventLoopPOSIX_addCyclicCallback; + el->eventLoop.modifyCyclicCallback = UA_EventLoopPOSIX_modifyCyclicCallback; + el->eventLoop.removeCyclicCallback = UA_EventLoopPOSIX_removeCyclicCallback; + el->eventLoop.addTimedCallback = UA_EventLoopPOSIX_addTimedCallback; + el->eventLoop.addDelayedCallback = UA_EventLoopPOSIX_addDelayedCallback; + el->eventLoop.removeDelayedCallback = UA_EventLoopPOSIX_removeDelayedCallback; + + el->eventLoop.registerEventSource = + (UA_StatusCode (*)(UA_EventLoop*, UA_EventSource*)) + UA_EventLoopPOSIX_registerEventSource; + el->eventLoop.deregisterEventSource = + (UA_StatusCode (*)(UA_EventLoop*, UA_EventSource*)) + UA_EventLoopPOSIX_deregisterEventSource; + + el->eventLoop.lock = UA_EventLoopPOSIX_lock; + el->eventLoop.unlock = UA_EventLoopPOSIX_unlock; + + return &el->eventLoop; +} + +/* Reusable EventSource functionality */ + +UA_StatusCode +UA_EventLoopPOSIX_allocNetworkBuffer(UA_ConnectionManager *cm, + uintptr_t connectionId, + UA_ByteString *buf, + size_t bufSize) { + return UA_ByteString_allocBuffer(buf, bufSize); +} + +void +UA_EventLoopPOSIX_freeNetworkBuffer(UA_ConnectionManager *cm, + uintptr_t connectionId, + UA_ByteString *buf) { + UA_ByteString_clear(buf); +} + +UA_StatusCode +UA_EventLoopPOSIX_allocateRXBuffer(UA_POSIXConnectionManager *pcm) { + UA_UInt32 rxBufSize = 2u << 16; /* The default is 64kb */ + const UA_UInt32 *configRxBufSize = (const UA_UInt32 *) + UA_KeyValueMap_getScalar(&pcm->cm.eventSource.params, + UA_QUALIFIEDNAME(0, "recv-bufsize"), + &UA_TYPES[UA_TYPES_UINT32]); + if(configRxBufSize) + rxBufSize = *configRxBufSize; + if(pcm->rxBuffer.length != rxBufSize) { + UA_ByteString_clear(&pcm->rxBuffer); + return UA_ByteString_allocBuffer(&pcm->rxBuffer, rxBufSize); + } + return UA_STATUSCODE_GOOD; +} + +/* Socket Handling */ + +enum ZIP_CMP +cmpFD(const UA_FD *a, const UA_FD *b) { + if(*a == *b) + return ZIP_CMP_EQ; + return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; +} + +UA_StatusCode +UA_EventLoopPOSIX_setNonBlocking(UA_FD sockfd) { +#ifndef UA_ARCHITECTURE_WIN32 + int opts = fcntl(sockfd, F_GETFL); + if(opts < 0 || fcntl(sockfd, F_SETFL, opts | O_NONBLOCK) < 0) + return UA_STATUSCODE_BADINTERNALERROR; +#else + u_long iMode = 1; + if(ioctlsocket(sockfd, FIONBIO, &iMode) != NO_ERROR) + return UA_STATUSCODE_BADINTERNALERROR; +#endif + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_EventLoopPOSIX_setNoSigPipe(UA_FD sockfd) { +#ifdef SO_NOSIGPIPE + int val = 1; + int res = UA_setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &val, sizeof(val)); + if(res < 0) + return UA_STATUSCODE_BADINTERNALERROR; +#endif + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_EventLoopPOSIX_setReusable(UA_FD sockfd) { + int enableReuseVal = 1; +#ifndef UA_ARCHITECTURE_WIN32 + int res = UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, + (const char*)&enableReuseVal, sizeof(enableReuseVal)); + res |= UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, + (const char*)&enableReuseVal, sizeof(enableReuseVal)); + return (res == 0) ? UA_STATUSCODE_GOOD : UA_STATUSCODE_BADINTERNALERROR; +#else + int res = UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, + (const char*)&enableReuseVal, sizeof(enableReuseVal)); + return (res == 0) ? UA_STATUSCODE_GOOD : UA_STATUSCODE_BADINTERNALERROR; +#endif +} + +/**** amalgamated original file "/arch/eventloop_posix_select.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#if !defined(UA_HAVE_EPOLL) + +UA_StatusCode +UA_EventLoopPOSIX_registerFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { + UA_LOCK_ASSERT(&el->elMutex, 1); + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Registering fd: %u", (unsigned)rfd->fd); + + /* Realloc */ + UA_RegisteredFD **fds_tmp = (UA_RegisteredFD**) + UA_realloc(el->fds, sizeof(UA_RegisteredFD*) * (el->fdsSize + 1)); + if(!fds_tmp) { + return UA_STATUSCODE_BADOUTOFMEMORY; + } + el->fds = fds_tmp; + + /* Add to the last entry */ + el->fds[el->fdsSize] = rfd; + el->fdsSize++; + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_EventLoopPOSIX_modifyFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { + /* Do nothing, it is enough if the data was changed in the rfd */ + UA_LOCK_ASSERT(&el->elMutex, 1); + return UA_STATUSCODE_GOOD; +} + +void +UA_EventLoopPOSIX_deregisterFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { + UA_LOCK_ASSERT(&el->elMutex, 1); + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Unregistering fd: %u", (unsigned)rfd->fd); + + /* Find the entry */ + size_t i = 0; + for(; i < el->fdsSize; i++) { + if(el->fds[i] == rfd) + break; + } + + /* Not found? */ + if(i == el->fdsSize) + return; + + if(el->fdsSize > 1) { + /* Move the last entry in the ith slot and realloc. */ + el->fdsSize--; + el->fds[i] = el->fds[el->fdsSize]; + UA_RegisteredFD **fds_tmp = (UA_RegisteredFD**) + UA_realloc(el->fds, sizeof(UA_RegisteredFD*) * el->fdsSize); + /* if realloc fails the fds are still in a correct state with + * possibly lost memory, so failing silently here is ok */ + if(fds_tmp) + el->fds = fds_tmp; + } else { + /* Remove the last entry */ + UA_free(el->fds); + el->fds = NULL; + el->fdsSize = 0; + } +} + +static UA_FD +setFDSets(UA_EventLoopPOSIX *el, fd_set *readset, fd_set *writeset, fd_set *errset) { + UA_LOCK_ASSERT(&el->elMutex, 1); + + FD_ZERO(readset); + FD_ZERO(writeset); + FD_ZERO(errset); + UA_FD highestfd = UA_INVALID_FD; + for(size_t i = 0; i < el->fdsSize; i++) { + UA_FD currentFD = el->fds[i]->fd; + + /* Add to the fd_sets */ + if(el->fds[i]->listenEvents & UA_FDEVENT_IN) + FD_SET(currentFD, readset); + if(el->fds[i]->listenEvents & UA_FDEVENT_OUT) + FD_SET(currentFD, writeset); + + /* Always return errors */ + FD_SET(currentFD, errset); + + /* Highest fd? */ + if(currentFD > highestfd || highestfd == UA_INVALID_FD) + highestfd = currentFD; + } + return highestfd; +} + +UA_StatusCode +UA_EventLoopPOSIX_pollFDs(UA_EventLoopPOSIX *el, UA_DateTime listenTimeout) { + UA_assert(listenTimeout >= 0); + UA_LOCK_ASSERT(&el->elMutex, 1); + + fd_set readset, writeset, errset; + UA_FD highestfd = setFDSets(el, &readset, &writeset, &errset); + + /* Nothing to do? */ + if(highestfd == UA_INVALID_FD) { + UA_LOG_TRACE(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "No valid FDs for processing"); + return UA_STATUSCODE_GOOD; + } + + struct timeval tmptv = { +#ifndef UA_ARCHITECTURE_WIN32 + (time_t)(listenTimeout / UA_DATETIME_SEC), + (suseconds_t)((listenTimeout % UA_DATETIME_SEC) / UA_DATETIME_USEC) +#else + (long)(listenTimeout / UA_DATETIME_SEC), + (long)((listenTimeout % UA_DATETIME_SEC) / UA_DATETIME_USEC) +#endif + }; + + UA_UNLOCK(&el->elMutex); + int selectStatus = UA_select(highestfd+1, &readset, &writeset, &errset, &tmptv); + UA_LOCK(&el->elMutex); + if(selectStatus < 0) { + /* We will retry, only log the error */ + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Error during select: %s", errno_str)); + return UA_STATUSCODE_GOOD; + } + + /* Loop over all registered FD to see if an event arrived. Yes, this is why + * select is slow for many open sockets. */ + for(size_t i = 0; i < el->fdsSize; i++) { + UA_RegisteredFD *rfd = el->fds[i]; + + /* The rfd is already registered for removal. Don't process incoming + * events any longer. */ + if(rfd->dc.callback) + continue; + + /* Event signaled for the fd? */ + short event = 0; + if(FD_ISSET(rfd->fd, &readset)) { + event = UA_FDEVENT_IN; + } else if(FD_ISSET(rfd->fd, &writeset)) { + event = UA_FDEVENT_OUT; + } else if(FD_ISSET(rfd->fd, &errset)) { + event = UA_FDEVENT_ERR; + } else { + continue; + } + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Processing event %u on fd %u", (unsigned)event, + (unsigned)rfd->fd); + + /* Call the EventSource callback */ + rfd->eventSourceCB(rfd->es, rfd, event); + + /* The fd has removed itself */ + if(i == el->fdsSize || rfd != el->fds[i]) + i--; + } + return UA_STATUSCODE_GOOD; +} + +#endif /* !defined(UA_HAVE_EPOLL) */ + +/**** amalgamated original file "/arch/eventloop_posix_epoll.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#if defined(UA_HAVE_EPOLL) + +UA_StatusCode +UA_EventLoopPOSIX_registerFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { + struct epoll_event event; + memset(&event, 0, sizeof(struct epoll_event)); + event.data.ptr = rfd; + event.events = 0; + if(rfd->listenEvents & UA_FDEVENT_IN) + event.events |= EPOLLIN; + if(rfd->listenEvents & UA_FDEVENT_OUT) + event.events |= EPOLLOUT; + + int err = epoll_ctl(el->epollfd, EPOLL_CTL_ADD, rfd->fd, &event); + if(err != 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not register for epoll (%s)", + rfd->fd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +UA_StatusCode +UA_EventLoopPOSIX_modifyFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { + struct epoll_event event; + memset(&event, 0, sizeof(struct epoll_event)); + event.data.ptr = rfd; + event.events = 0; + if(rfd->listenEvents & UA_FDEVENT_IN) + event.events |= EPOLLIN; + if(rfd->listenEvents & UA_FDEVENT_OUT) + event.events |= EPOLLOUT; + + int err = epoll_ctl(el->epollfd, EPOLL_CTL_MOD, rfd->fd, &event); + if(err != 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not modify for epoll (%s)", + rfd->fd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +void +UA_EventLoopPOSIX_deregisterFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { + int res = epoll_ctl(el->epollfd, EPOLL_CTL_DEL, rfd->fd, NULL); + if(res != 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not deregister from epoll (%s)", + rfd->fd, errno_str)); + } +} + +UA_StatusCode +UA_EventLoopPOSIX_pollFDs(UA_EventLoopPOSIX *el, UA_DateTime listenTimeout) { + UA_assert(listenTimeout >= 0); + + /* If there is a positive timeout, wait at least one millisecond, the + * minimum for blocking epoll_wait. This prevents a busy-loop, as the + * open62541 library allows even smaller timeouts, which can result in a + * zero timeout due to rounding to an integer here. */ + int timeout = (int)(listenTimeout / UA_DATETIME_MSEC); + if(timeout == 0 && listenTimeout > 0) + timeout = 1; + + /* Poll the registered sockets */ + struct epoll_event epoll_events[64]; + UA_UNLOCK(&el->elMutex); + int events = epoll_wait(el->epollfd, epoll_events, 64, timeout); + UA_LOCK(&el->elMutex); + + /* TODO: Replace with pwait2 for higher-precision timeouts once this is + * available in the standard library. + * + * struct timespec precisionTimeout = { + * (long)(listenTimeout / UA_DATETIME_SEC), + * (long)((listenTimeout % UA_DATETIME_SEC) * 100) + * }; + * int events = epoll_pwait2(epollfd, epoll_events, 64, + * precisionTimeout, NULL); */ + + /* Handle error conditions */ + if(events == -1) { + if(errno == EINTR) { + /* We will retry, only log the error */ + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Timeout during poll"); + return UA_STATUSCODE_GOOD; + } + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Error %s, closing the server socket", + errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Process all received events */ + for(int i = 0; i < events; i++) { + UA_RegisteredFD *rfd = (UA_RegisteredFD*)epoll_events[i].data.ptr; + + /* The rfd is already registered for removal. Don't process incoming + * events any longer. */ + if(rfd->dc.callback) + continue; + + /* Get the event */ + short revent = 0; + if((epoll_events[i].events & EPOLLIN) == EPOLLIN) { + revent = UA_FDEVENT_IN; + } else if((epoll_events[i].events & EPOLLOUT) == EPOLLOUT) { + revent = UA_FDEVENT_OUT; + } else { + revent = UA_FDEVENT_ERR; + } + + /* Call the EventSource callback */ + rfd->eventSourceCB(rfd->es, rfd, revent); + } + return UA_STATUSCODE_GOOD; +} + +#endif /* defined(UA_HAVE_EPOLL) */ + +/**** amalgamated original file "/arch/eventloop_posix_tcp.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + +/* Configuration parameters */ +#define TCP_PARAMETERSSIZE 6 +#define TCP_PARAMINDEX_RECVBUF 0 +#define TCP_PARAMINDEX_ADDR 1 +#define TCP_PARAMINDEX_PORT 2 +#define TCP_PARAMINDEX_LISTEN 3 +#define TCP_PARAMINDEX_VALIDATE 4 +#define TCP_PARAMINDEX_REUSE 5 + +static UA_KeyValueRestriction TCPConfigParameters[TCP_PARAMETERSSIZE] = { + {{0, UA_STRING_STATIC("recv-bufsize")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, + {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], false, true, true}, + {{0, UA_STRING_STATIC("port")}, &UA_TYPES[UA_TYPES_UINT16], true, true, false}, + {{0, UA_STRING_STATIC("listen")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("validate")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("reuse")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false} +}; + +typedef struct { + UA_RegisteredFD rfd; + + UA_ConnectionManager_connectionCallback applicationCB; + void *application; + void *context; +} TCP_FD; + +static void +TCP_shutdown(UA_ConnectionManager *cm, TCP_FD *conn); + +/* Do not merge packets on the socket (disable Nagle's algorithm) */ +static UA_StatusCode +TCP_setNoNagle(UA_FD sockfd) { + int val = 1; + int res = UA_setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); + if(res < 0) + return UA_STATUSCODE_BADINTERNALERROR; + return UA_STATUSCODE_GOOD; +} + +/* Test if the ConnectionManager can be stopped */ +static void +TCP_checkStopped(UA_POSIXConnectionManager *pcm) { + UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); + + if(pcm->fdsSize == 0 && + pcm->cm.eventSource.state == UA_EVENTSOURCESTATE_STOPPING) { + UA_LOG_DEBUG(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| All sockets closed, the EventLoop has stopped"); + pcm->cm.eventSource.state = UA_EVENTSOURCESTATE_STOPPED; + } +} + +static void +TCP_delayedClose(void *application, void *context) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; + UA_ConnectionManager *cm = &pcm->cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + TCP_FD *conn = (TCP_FD*)context; + + UA_LOCK(&el->elMutex); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "TCP %u\t| Delayed closing of the connection", + (unsigned)conn->rfd.fd); + + /* Ensure reuse is possible right away. Port-stealing is no longer an issue + * as the socket gets closed anyway. And we do not want to wait for the + * timeout to open a new socket for the same address and port. */ + UA_EventLoopPOSIX_setReusable(conn->rfd.fd); + + /* Deregister from the EventLoop */ + UA_EventLoopPOSIX_deregisterFD(el, &conn->rfd); + + /* Deregister internally */ + ZIP_REMOVE(UA_FDTree, &pcm->fds, &conn->rfd); + UA_assert(pcm->fdsSize > 0); + pcm->fdsSize--; + + /* Signal closing to the application */ + conn->applicationCB(cm, (uintptr_t)conn->rfd.fd, + conn->application, &conn->context, + UA_CONNECTIONSTATE_CLOSING, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); + + /* Close the socket */ + int ret = UA_close(conn->rfd.fd); + if(ret == 0) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Socket closed", (unsigned)conn->rfd.fd); + } else { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not close the socket (%s)", + (unsigned)conn->rfd.fd, errno_str)); + } + + UA_free(conn); + + /* Check if this was the last connection for a closing ConnectionManager */ + TCP_checkStopped(pcm); + + UA_UNLOCK(&el->elMutex); +} + +static int +getSockError(TCP_FD *conn) { + int error = 0; +#ifndef UA_ARCHITECTURE_WIN32 + socklen_t errlen = sizeof(int); + int err = getsockopt(conn->rfd.fd, SOL_SOCKET, SO_ERROR, &error, &errlen); +#else + int errlen = (int)sizeof(int); + int err = getsockopt((SOCKET)conn->rfd.fd, SOL_SOCKET, SO_ERROR, + (char*)&error, &errlen); +#endif + return (err == 0) ? error : err; +} + +/* Gets called when a connection socket opens, receives data or closes */ +static void +TCP_connectionSocketCallback(UA_ConnectionManager *cm, TCP_FD *conn, + short event) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Activity on the socket", + (unsigned)conn->rfd.fd); + + /* Error. The connection has closed. */ + if(event == UA_FDEVENT_ERR) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| The connection closes with error %i", + (unsigned)conn->rfd.fd, getSockError(conn)); + TCP_shutdown(cm, conn); + return; + } + + /* Write-Event, a new connection has opened. But some errors come as an + * out-event. For example if the remote side could not be reached to + * initiate the connection. So we check manually for error conditions on + * the socket. */ + if(event == UA_FDEVENT_OUT) { + int error = getSockError(conn); + if(error != 0) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| The connection closes with error %i", + (unsigned)conn->rfd.fd, error); + TCP_shutdown(cm, conn); + return; + } + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Opening a new connection", + (unsigned)conn->rfd.fd); + + /* Now we are interested in read-events. */ + conn->rfd.listenEvents = UA_FDEVENT_IN; + UA_EventLoopPOSIX_modifyFD(el, &conn->rfd); + + /* A new socket has opened. Signal it to the application. */ + conn->applicationCB(cm, (uintptr_t)conn->rfd.fd, + conn->application, &conn->context, + UA_CONNECTIONSTATE_ESTABLISHED, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); + return; + } + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Allocate receive buffer", + (unsigned)conn->rfd.fd); + + /* Use the already allocated receive-buffer */ + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_ByteString response = pcm->rxBuffer; + + /* Receive */ +#ifndef UA_ARCHITECTURE_WIN32 + ssize_t ret = UA_recv(conn->rfd.fd, (char*)response.data, + response.length, MSG_DONTWAIT); +#else + int ret = UA_recv(conn->rfd.fd, (char*)response.data, + response.length, MSG_DONTWAIT); +#endif + + /* Receive has failed */ + if(ret <= 0) { + if(UA_ERRNO == UA_INTERRUPTED || + UA_ERRNO == UA_WOULDBLOCK || + UA_ERRNO == UA_AGAIN) + return; /* Temporary error on an non-blocking socket */ + + /* Orderly shutdown of the socket */ + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| recv signaled the socket was shutdown (%s)", + (unsigned)conn->rfd.fd, errno_str)); + TCP_shutdown(cm, conn); + return; + } + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Received message of size %u", + (unsigned)conn->rfd.fd, (unsigned)ret); + + /* Callback to the application layer */ + response.length = (size_t)ret; /* Set the length of the received buffer */ + conn->applicationCB(cm, (uintptr_t)conn->rfd.fd, + conn->application, &conn->context, + UA_CONNECTIONSTATE_ESTABLISHED, + &UA_KEYVALUEMAP_NULL, response); +} + +/* Gets called when a new connection opens or if the listenSocket is closed */ +static void +TCP_listenSocketCallback(UA_ConnectionManager *cm, TCP_FD *conn, short event) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Callback on server socket", + (unsigned)conn->rfd.fd); + + /* Try to accept a new connection */ + struct sockaddr_storage remote; + socklen_t remote_size = sizeof(remote); + UA_FD newsockfd = accept(conn->rfd.fd, (struct sockaddr*)&remote, &remote_size); + if(newsockfd == UA_INVALID_FD) { + /* Temporary error -- retry */ + if(UA_ERRNO == UA_INTERRUPTED) + return; + + /* Close the listen socket */ + if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPING) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error %s, closing the server socket", + (unsigned)conn->rfd.fd, errno_str)); + } + + TCP_shutdown(cm, conn); + return; + } + + /* Log the name of the remote host */ + char hoststr[UA_MAXHOSTNAME_LENGTH]; + int get_res = UA_getnameinfo((struct sockaddr *)&remote, sizeof(remote), + hoststr, sizeof(hoststr), + NULL, 0, NI_NUMERICHOST); + if(get_res != 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| getnameinfo(...) could not resolve the " + "hostname (%s)", (unsigned)conn->rfd.fd, errno_str)); + } + UA_LOG_INFO(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Connection opened from \"%s\" via the server socket %u", + (unsigned)newsockfd, hoststr, (unsigned)conn->rfd.fd); + + /* Configure the new socket */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + /* res |= UA_EventLoopPOSIX_setNonBlocking(newsockfd); Inherited from the listen-socket */ + res |= UA_EventLoopPOSIX_setNoSigPipe(newsockfd); /* Supress interrupts from the socket */ + res |= TCP_setNoNagle(newsockfd); /* Disable Nagle's algorithm */ + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error seeting the TCP options (%s)", + (unsigned)newsockfd, errno_str)); + /* Close the new socket */ + UA_close(newsockfd); + return; + } + + /* Allocate the UA_RegisteredFD */ + TCP_FD *newConn = (TCP_FD*)UA_calloc(1, sizeof(TCP_FD)); + if(!newConn) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error allocating memory for the socket", + (unsigned)newsockfd); + UA_close(newsockfd); + return; + } + + newConn->rfd.fd = newsockfd; + newConn->rfd.listenEvents = UA_FDEVENT_IN; + newConn->rfd.es = &cm->eventSource; + newConn->rfd.eventSourceCB = (UA_FDCallback)TCP_connectionSocketCallback; + newConn->applicationCB = conn->applicationCB; + newConn->application = conn->application; + newConn->context = conn->context; + + /* Register in the EventLoop. Signal to the user if registering failed. */ + res = UA_EventLoopPOSIX_registerFD(el, &newConn->rfd); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error registering the socket", + (unsigned)newsockfd); + UA_free(newConn); + UA_close(newsockfd); + return; + } + + /* Register internally in the EventSource */ + ZIP_INSERT(UA_FDTree, &pcm->fds, &newConn->rfd); + pcm->fdsSize++; + + /* Forward the remote hostname to the application */ + UA_KeyValuePair kvp; + kvp.key = UA_QUALIFIEDNAME(0, "remote-address"); + UA_String hostName = UA_STRING(hoststr); + UA_Variant_setScalar(&kvp.value, &hostName, &UA_TYPES[UA_TYPES_STRING]); + + UA_KeyValueMap kvm; + kvm.mapSize = 1; + kvm.map = &kvp; + + /* The socket has opened. Signal it to the application. */ + newConn->applicationCB(cm, (uintptr_t)newsockfd, + newConn->application, &newConn->context, + UA_CONNECTIONSTATE_ESTABLISHED, + &kvm, UA_BYTESTRING_NULL); +} + +static UA_StatusCode +TCP_registerListenSocket(UA_POSIXConnectionManager *pcm, struct addrinfo *ai, + const char *hostname, UA_UInt16 port, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate, UA_Boolean reuseaddr) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Translate INADDR_ANY to IPv4/IPv6 address */ + char addrstr[UA_MAXHOSTNAME_LENGTH]; + int get_res = UA_getnameinfo(ai->ai_addr, ai->ai_addrlen, + addrstr, sizeof(addrstr), NULL, 0, 0); + if(get_res != 0) { + get_res = UA_getnameinfo(ai->ai_addr, ai->ai_addrlen, + addrstr, sizeof(addrstr), + NULL, 0, NI_NUMERICHOST); + if(get_res != 0) { + addrstr[0] = 0; + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| getnameinfo(...) could not resolve the " + "hostname (%s)", errno_str)); + } + } + + /* Create the server socket */ + UA_FD listenSocket = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); + if(listenSocket == UA_INVALID_FD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error opening the listen socket for " + "\"%s\" on port %u (%s)", + (unsigned)listenSocket, addrstr, port, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Some Linux distributions have net.ipv6.bindv6only not activated. So + * sockets can double-bind to IPv4 and IPv6. This leads to problems. Use + * AF_INET6 sockets only for IPv6. */ +#if UA_IPV6 + int optval = 1; + if(ai->ai_family == AF_INET6 && + UA_setsockopt(listenSocket, IPPROTO_IPV6, IPV6_V6ONLY, + (const char*)&optval, sizeof(optval)) == -1) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not set an IPv6 socket to IPv6 only", + (unsigned)listenSocket); + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } +#endif + + /* Allow rebinding to the IP/port combination. Eg. to restart the server. */ + if(reuseaddr && + UA_EventLoopPOSIX_setReusable(listenSocket) != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not make the socket addr reusable", + (unsigned)listenSocket); + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Set the socket non-blocking */ + if(UA_EventLoopPOSIX_setNonBlocking(listenSocket) != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not set the socket non-blocking", + (unsigned)listenSocket); + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Supress interrupts from the socket */ + if(UA_EventLoopPOSIX_setNoSigPipe(listenSocket) != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Could not disable SIGPIPE", + (unsigned)listenSocket); + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Bind socket to address */ + int ret = bind(listenSocket, ai->ai_addr, (socklen_t)ai->ai_addrlen); + + /* Get the port being used if dynamic porting was used */ + if(port == 0) { + struct sockaddr_in sin; + memset(&sin, 0, sizeof(sin)); + socklen_t len = sizeof(sin); + getsockname(listenSocket, (struct sockaddr *)&sin, &len); + port = ntohs(sin.sin_port); + } + + /* If the INADDR_ANY is used, use the local hostname */ + char hoststr[UA_MAXHOSTNAME_LENGTH]; + if(hostname) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Creating listen socket for \"%s\" on port %u", + (unsigned)listenSocket, hostname, port); + } else { + gethostname(hoststr, UA_MAXHOSTNAME_LENGTH); + hostname = hoststr; + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Creating listen socket for \"%s\" " + "(with local hostname \"%s\") on port %u", + (unsigned)listenSocket, addrstr, hostname, port); + } + + if(ret < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error binding the socket to the address %s (%s)", + (unsigned)listenSocket, hostname, errno_str)); + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Only validate, don't actually start listening */ + if(validate) { + UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ + UA_close(listenSocket); + return UA_STATUSCODE_GOOD; + } + + /* Start listening */ + if(listen(listenSocket, UA_MAXBACKLOG) < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error listening on the socket (%s)", + (unsigned)listenSocket, errno_str)); + UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Allocate the connection */ + TCP_FD *newConn = (TCP_FD*)UA_calloc(1, sizeof(TCP_FD)); + if(!newConn) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error allocating memory for the socket", + (unsigned)listenSocket); + UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ + UA_close(listenSocket); + return UA_STATUSCODE_BADINTERNALERROR; + } + + newConn->rfd.fd = listenSocket; + newConn->rfd.listenEvents = UA_FDEVENT_IN; + newConn->rfd.es = &pcm->cm.eventSource; + newConn->rfd.eventSourceCB = (UA_FDCallback)TCP_listenSocketCallback; + newConn->applicationCB = connectionCallback; + newConn->application = application; + newConn->context = context; + + /* Register in the EventLoop */ + UA_StatusCode res = UA_EventLoopPOSIX_registerFD(el, &newConn->rfd); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error registering the socket", + (unsigned)listenSocket); + UA_free(newConn); + UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ + UA_close(listenSocket); + return res; + } + + /* Register internally */ + ZIP_INSERT(UA_FDTree, &pcm->fds, &newConn->rfd); + pcm->fdsSize++; + + /* Set up the callback parameters */ + UA_String listenAddress = UA_STRING((char*)(uintptr_t)hostname); + UA_KeyValuePair params[2]; + params[0].key = UA_QUALIFIEDNAME(0, "listen-address"); + UA_Variant_setScalar(¶ms[0].value, &listenAddress, &UA_TYPES[UA_TYPES_STRING]); + params[1].key = UA_QUALIFIEDNAME(0, "listen-port"); + UA_Variant_setScalar(¶ms[1].value, &port, &UA_TYPES[UA_TYPES_UINT16]); + UA_KeyValueMap paramMap = {2, params}; + + /* Announce the listen-socket in the application */ + connectionCallback(&pcm->cm, (uintptr_t)listenSocket, + application, &newConn->context, + UA_CONNECTIONSTATE_ESTABLISHED, + ¶mMap, UA_BYTESTRING_NULL); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +TCP_registerListenSockets(UA_POSIXConnectionManager *pcm, const char *hostname, + UA_UInt16 port, void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate, UA_Boolean reuseaddr) { + UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); + + /* Create a string for the port */ + char portstr[6]; + mp_snprintf(portstr, sizeof(portstr), "%d", port); + + /* Get all the interface and IPv4/6 combinations for the configured hostname */ + struct addrinfo hints, *res; + memset(&hints, 0, sizeof hints); +#if UA_IPV6 + hints.ai_family = AF_UNSPEC; /* Allow IPv4 and IPv6 */ +#else + hints.ai_family = AF_INET; /* IPv4 only */ +#endif + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = IPPROTO_TCP; + hints.ai_flags = AI_PASSIVE; + + int retcode = getaddrinfo(hostname, portstr, &hints, &res); + if(retcode != 0) { +#ifdef UA_ARCHITECTURE_WIN32 + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Lookup for \"%s\" on port %u failed (%s)", + hostname, port, errno_str)); +#else + UA_LOG_WARNING(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Lookup for \"%s\" on port %u failed (%s)", + hostname, port, gai_strerror(retcode)); +#endif + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Add listen sockets. Aggregate the results to see if at least one + * listen-socket was established. */ + UA_StatusCode total_result = UA_INT32_MAX; + struct addrinfo *ai = res; + while(ai) { + total_result &= TCP_registerListenSocket(pcm, ai, hostname, port, application, context, + connectionCallback, validate, reuseaddr); + ai = ai->ai_next; + } + freeaddrinfo(res); + + return total_result; +} + +/* Close the connection via a delayed callback */ +static void +TCP_shutdown(UA_ConnectionManager *cm, TCP_FD *conn) { + /* Already closing - nothing to do */ + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + if(conn->rfd.dc.callback) { + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Cannot shutdown - already triggered", + (unsigned)conn->rfd.fd); + return; + } + + /* Shutdown the socket to cancel the current select/epoll */ + shutdown(conn->rfd.fd, UA_SHUT_RDWR); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Shutdown triggered", + (unsigned)conn->rfd.fd); + + /* Add to the delayed callback list. Will be cleaned up in the next + * iteration. */ + UA_DelayedCallback *dc = &conn->rfd.dc; + dc->callback = TCP_delayedClose; + dc->application = cm; + dc->context = conn; + + /* Don't use the "public" el->addDelayedCallback. It takes a lock. */ + dc->next = el->delayedCallbacks; + el->delayedCallbacks = dc; +} + +static UA_StatusCode +TCP_shutdownConnection(UA_ConnectionManager *cm, uintptr_t connectionId) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; + UA_LOCK(&el->elMutex); + + UA_FD fd = (UA_FD)connectionId; + TCP_FD *conn = (TCP_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!conn) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Cannot close TCP connection %u - not found", + (unsigned)connectionId); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADNOTFOUND; + } + + TCP_shutdown(cm, conn); + + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +TCP_sendWithConnection(UA_ConnectionManager *cm, uintptr_t connectionId, + const UA_KeyValueMap *params, UA_ByteString *buf) { + /* We may not have a lock. But we need not take it. As the connectionId is + * the fd, no need to do a lookup and access internal data strucures. */ + + /* Prevent OS signals when sending to a closed socket */ + int flags = MSG_NOSIGNAL; + + struct pollfd tmp_poll_fd; + tmp_poll_fd.fd = (UA_FD)connectionId; + tmp_poll_fd.events = UA_POLLOUT; + + /* Send the full buffer. This may require several calls to send */ + size_t nWritten = 0; + do { + ssize_t n = 0; + do { + UA_LOG_DEBUG(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Attempting to send", (unsigned)connectionId); + size_t bytes_to_send = buf->length - nWritten; + n = UA_send((UA_FD)connectionId, + (const char*)buf->data + nWritten, + bytes_to_send, flags); + if(n < 0) { + /* An error we cannot recover from? */ + if(UA_ERRNO != UA_INTERRUPTED && UA_ERRNO != UA_WOULDBLOCK && + UA_ERRNO != UA_AGAIN) + goto shutdown; + + /* Poll for the socket resources to become available and retry + * (blocking) */ + int poll_ret; + do { + poll_ret = UA_poll(&tmp_poll_fd, 1, 100); + if(poll_ret < 0 && UA_ERRNO != UA_INTERRUPTED) + goto shutdown; + } while(poll_ret <= 0); + } + } while(n < 0); + nWritten += (size_t)n; + } while(nWritten < buf->length); + + /* Free the buffer */ + UA_ByteString_clear(buf); + return UA_STATUSCODE_GOOD; + + shutdown: + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Send failed with error %s", + (unsigned)connectionId, errno_str)); + TCP_shutdownConnection(cm, connectionId); + UA_ByteString_clear(buf); + return UA_STATUSCODE_BADCONNECTIONCLOSED; +} + +/* Create a listen-socket that waits for incoming connections */ +static UA_StatusCode +TCP_openPassiveConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Get the port parameter */ + const UA_UInt16 *port = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_PORT].name, + &UA_TYPES[UA_TYPES_UINT16]); + UA_assert(port); /* existence is checked before */ + + /* Get the address parameter */ + const UA_Variant *addrs = + UA_KeyValueMap_get(params, TCPConfigParameters[TCP_PARAMINDEX_ADDR].name); + size_t addrsSize = 0; + if(addrs) { + UA_assert(addrs->type == &UA_TYPES[UA_TYPES_STRING]); + if(UA_Variant_isScalar(addrs)) + addrsSize = 1; + else + addrsSize = addrs->arrayLength; + } + + /* Get the reuseaddr parameter */ + UA_Boolean reuseaddr = false; + const UA_Boolean *reuseaddrTmp = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_REUSE].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(reuseaddrTmp) + reuseaddr = *reuseaddrTmp; + +#ifdef UA_ENABLE_ALLOW_REUSEADDR + reuseaddr = true; +#endif + + /* Undefined or empty addresses array -> listen on all interfaces */ + if(addrsSize == 0) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Listening on all interfaces"); + return TCP_registerListenSockets(pcm, NULL, *port, application, + context, connectionCallback, validate, reuseaddr); + } + + /* Iterate over the configured hostnames */ + UA_String *hostStrings = (UA_String*)addrs->data; + UA_StatusCode retval = UA_STATUSCODE_BADINTERNALERROR; + for(size_t i = 0; i < addrsSize; i++) { + char hostname[512]; + if(hostStrings[i].length >= sizeof(hostname)) + continue; + memcpy(hostname, hostStrings[i].data, hostStrings->length); + hostname[hostStrings->length] = '\0'; + if(TCP_registerListenSockets(pcm, hostname, *port, application, + context, connectionCallback, validate, reuseaddr) == UA_STATUSCODE_GOOD) + retval = UA_STATUSCODE_GOOD; + } + return retval; +} + +/* Open a TCP connection to a remote host */ +static UA_StatusCode +TCP_openActiveConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Get the connection parameters */ + char hostname[UA_MAXHOSTNAME_LENGTH]; + char portStr[UA_MAXPORTSTR_LENGTH]; + + /* Prepare the port parameter as a string */ + const UA_UInt16 *port = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_PORT].name, + &UA_TYPES[UA_TYPES_UINT16]); + UA_assert(port); /* existence is checked before */ + mp_snprintf(portStr, UA_MAXPORTSTR_LENGTH, "%d", *port); + + /* Prepare the hostname string */ + const UA_String *addr = (const UA_String*) + UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_ADDR].name, + &UA_TYPES[UA_TYPES_STRING]); + if(!addr) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Open TCP Connection: No hostname defined, aborting"); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(addr->length >= UA_MAXHOSTNAME_LENGTH) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "TCP\t| Open TCP Connection: Hostname too long, aborting"); + return UA_STATUSCODE_BADINTERNALERROR; + } + strncpy(hostname, (const char*)addr->data, addr->length); + hostname[addr->length] = 0; + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Open a connection to \"%s\" on port %s", hostname, portStr); + + /* Create the socket description from the connectString + * TODO: Make this non-blocking */ + struct addrinfo hints, *info; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + int error = getaddrinfo(hostname, portStr, &hints, &info); + if(error != 0) { +#ifdef UA_ARCHITECTURE_WIN32 + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Lookup of %s failed (%s)", + hostname, errno_str)); +#else + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Lookup of %s failed (%s)", + hostname, gai_strerror(error)); +#endif + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Create a socket */ + UA_FD newSock = socket(info->ai_family, info->ai_socktype, info->ai_protocol); + if(newSock == UA_INVALID_FD) { + freeaddrinfo(info); + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Could not create socket to connect to %s (%s)", + hostname, errno_str)); + return UA_STATUSCODE_BADDISCONNECT; + } + + /* Set the socket options */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + res |= UA_EventLoopPOSIX_setNonBlocking(newSock); + res |= UA_EventLoopPOSIX_setNoSigPipe(newSock); + res |= TCP_setNoNagle(newSock); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Could not set socket options: %s", errno_str)); + freeaddrinfo(info); + UA_close(newSock); + return res; + } + + /* Only validate, don't actually open the connection */ + if(validate) { + freeaddrinfo(info); + UA_close(newSock); + return UA_STATUSCODE_GOOD; + } + + /* Non-blocking connect */ + error = UA_connect(newSock, info->ai_addr, info->ai_addrlen); + freeaddrinfo(info); + if(error != 0 && + UA_ERRNO != UA_INPROGRESS && + UA_ERRNO != UA_WOULDBLOCK) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Connecting the socket to %s failed (%s)", + hostname, errno_str)); + UA_close(newSock); + return UA_STATUSCODE_BADDISCONNECT; + } + + /* Allocate the UA_RegisteredFD */ + TCP_FD *newConn = (TCP_FD*)UA_calloc(1, sizeof(TCP_FD)); + if(!newConn) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Error allocating memory for the socket", + (unsigned)newSock); + UA_close(newSock); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + newConn->rfd.fd = newSock; + newConn->rfd.es = &pcm->cm.eventSource; + newConn->rfd.eventSourceCB = (UA_FDCallback)TCP_connectionSocketCallback; + newConn->rfd.listenEvents = UA_FDEVENT_OUT; /* Switched to _IN once the + * connection is open */ + newConn->applicationCB = connectionCallback; + newConn->application = application; + newConn->context = context; + + /* Register the fd to trigger when output is possible (the connection is open) */ + res = UA_EventLoopPOSIX_registerFD(el, &newConn->rfd); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Registering the socket to connect to %s failed", hostname); + UA_close(newSock); + UA_free(newConn); + return res; + } + + /* Register internally in the EventSource */ + ZIP_INSERT(UA_FDTree, &pcm->fds, &newConn->rfd); + pcm->fdsSize++; + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP %u\t| Opening a connection to \"%s\" on port %s", + (unsigned)newSock, hostname, portStr); + + /* Signal the new connection to the application as asynchonously opening */ + connectionCallback(&pcm->cm, (uintptr_t)newSock, + application, &newConn->context, + UA_CONNECTIONSTATE_OPENING, &UA_KEYVALUEMAP_NULL, + UA_BYTESTRING_NULL); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +TCP_openConnection(UA_ConnectionManager *cm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK(&el->elMutex); + + if(cm->eventSource.state != UA_EVENTSOURCESTATE_STARTED) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Cannot open a connection for a " + "ConnectionManager that is not started"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check the parameters */ + UA_StatusCode res = + UA_KeyValueRestriction_validate(el->eventLoop.logger, "TCP", + &TCPConfigParameters[1], + TCP_PARAMETERSSIZE-1, params); + if(res != UA_STATUSCODE_GOOD) { + UA_UNLOCK(&el->elMutex); + return res; + } + + /* Only validate the parameters? */ + UA_Boolean validate = false; + const UA_Boolean *validateParam = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, + TCPConfigParameters[TCP_PARAMINDEX_VALIDATE].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(validateParam) + validate = *validateParam; + + /* Listen or active connection? */ + UA_Boolean listen = false; + const UA_Boolean *listenParam = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, + TCPConfigParameters[TCP_PARAMINDEX_LISTEN].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(listenParam) + listen = *listenParam; + + if(listen) { + res = TCP_openPassiveConnection(pcm, params, application, context, + connectionCallback, validate); + } else { + res = TCP_openActiveConnection(pcm, params, application, context, + connectionCallback, validate); + } + + UA_UNLOCK(&el->elMutex); + return res; +} + +static UA_StatusCode +TCP_eventSourceStart(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + if(!el) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_LOCK(&el->elMutex); + + /* Check the state */ + if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPED) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| To start the ConnectionManager, it has to be " + "registered in an EventLoop and not started yet"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check the parameters */ + UA_StatusCode res = + UA_KeyValueRestriction_validate(el->eventLoop.logger, "TCP", + TCPConfigParameters, 1, + &cm->eventSource.params); + if(res != UA_STATUSCODE_GOOD) + goto finish; + + /* Allocate the rx buffer */ + res = UA_EventLoopPOSIX_allocateRXBuffer(pcm); + if(res != UA_STATUSCODE_GOOD) + goto finish; + + /* Set the EventSource to the started state */ + cm->eventSource.state = UA_EVENTSOURCESTATE_STARTED; + + finish: + UA_UNLOCK(&el->elMutex); + return res; +} + +static void * +TCP_shutdownCB(void *application, UA_RegisteredFD *rfd) { + UA_ConnectionManager *cm = (UA_ConnectionManager*)application; + TCP_shutdown(cm, (TCP_FD*)rfd); + return NULL; +} + +static void +TCP_eventSourceStop(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + (void)el; + + UA_LOCK(&el->elMutex); + + UA_LOG_INFO(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "TCP\t| Shutting down the ConnectionManager"); + + /* Prevent new connections to open */ + cm->eventSource.state = UA_EVENTSOURCESTATE_STOPPING; + + /* Shutdown all existing connection */ + ZIP_ITER(UA_FDTree, &pcm->fds, TCP_shutdownCB, cm); + + /* All sockets closed? Otherwise iterate some more. */ + TCP_checkStopped(pcm); + + UA_UNLOCK(&el->elMutex); +} + +static UA_StatusCode +TCP_eventSourceDelete(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + if(cm->eventSource.state >= UA_EVENTSOURCESTATE_STARTING) { + UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "TCP\t| The EventSource must be stopped before it can be deleted"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_ByteString_clear(&pcm->rxBuffer); + UA_KeyValueMap_clear(&cm->eventSource.params); + UA_String_clear(&cm->eventSource.name); + UA_free(cm); + + return UA_STATUSCODE_GOOD; +} + +static const char *tcpName = "tcp"; + +UA_ConnectionManager * +UA_ConnectionManager_new_POSIX_TCP(const UA_String eventSourceName) { + UA_POSIXConnectionManager *cm = (UA_POSIXConnectionManager*) + UA_calloc(1, sizeof(UA_POSIXConnectionManager)); + if(!cm) + return NULL; + + cm->cm.eventSource.eventSourceType = UA_EVENTSOURCETYPE_CONNECTIONMANAGER; + UA_String_copy(&eventSourceName, &cm->cm.eventSource.name); + cm->cm.eventSource.start = (UA_StatusCode (*)(UA_EventSource *))TCP_eventSourceStart; + cm->cm.eventSource.stop = (void (*)(UA_EventSource *))TCP_eventSourceStop; + cm->cm.eventSource.free = (UA_StatusCode (*)(UA_EventSource *))TCP_eventSourceDelete; + cm->cm.protocol = UA_STRING((char*)(uintptr_t)tcpName); + cm->cm.openConnection = TCP_openConnection; + cm->cm.allocNetworkBuffer = UA_EventLoopPOSIX_allocNetworkBuffer; + cm->cm.freeNetworkBuffer = UA_EventLoopPOSIX_freeNetworkBuffer; + cm->cm.sendWithConnection = TCP_sendWithConnection; + cm->cm.closeConnection = TCP_shutdownConnection; + return &cm->cm; +} + +/**** amalgamated original file "/arch/eventloop_posix_udp.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) + */ + + +#define IPV4_PREFIX_MASK 0xF0 +#define IPV4_MULTICAST_PREFIX 0xE0 +#if UA_IPV6 +# define IPV6_PREFIX_MASK 0xFF +# define IPV6_MULTICAST_PREFIX 0xFF +#endif + +/* Configuration parameters */ +#define UDP_PARAMETERSSIZE 10 +#define UDP_PARAMINDEX_RECVBUF 0 +#define UDP_PARAMINDEX_LISTEN 1 +#define UDP_PARAMINDEX_ADDR 2 +#define UDP_PARAMINDEX_PORT 3 +#define UDP_PARAMINDEX_INTERFACE 4 +#define UDP_PARAMINDEX_TTL 5 +#define UDP_PARAMINDEX_LOOPBACK 6 +#define UDP_PARAMINDEX_REUSE 7 +#define UDP_PARAMINDEX_SOCKPRIO 8 +#define UDP_PARAMINDEX_VALIDATE 9 + +static UA_KeyValueRestriction UDPConfigParameters[UDP_PARAMETERSSIZE] = { + {{0, UA_STRING_STATIC("recv-bufsize")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, + {{0, UA_STRING_STATIC("listen")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], false, true, true}, + {{0, UA_STRING_STATIC("port")}, &UA_TYPES[UA_TYPES_UINT16], true, true, false}, + {{0, UA_STRING_STATIC("interface")}, &UA_TYPES[UA_TYPES_STRING], false, true, false}, + {{0, UA_STRING_STATIC("ttl")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, + {{0, UA_STRING_STATIC("loopback")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("reuse")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("sockpriority")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, + {{0, UA_STRING_STATIC("validate")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false} +}; + +/* A registered file descriptor with an additional method pointer */ +typedef struct { + UA_RegisteredFD rfd; + + UA_ConnectionManager_connectionCallback applicationCB; + void *application; + void *context; + + struct sockaddr_storage sendAddr; +#ifdef UA_ARCHITECTURE_WIN32 + size_t sendAddrLength; +#else + socklen_t sendAddrLength; +#endif +} UDP_FD; + +typedef enum { + MULTICASTTYPE_NONE = 0, + MULTICASTTYPE_IPV4, + MULTICASTTYPE_IPV6 +} MultiCastType; + +typedef union { +#if !defined(ip_mreqn) + struct ip_mreq ipv4; +#else + struct ip_mreqn ipv4; +#endif +#if UA_IPV6 + struct ipv6_mreq ipv6; +#endif +} MulticastRequest; + +static UA_Boolean +isMulticastAddress(const UA_Byte *address, UA_Byte mask, UA_Byte prefix) { + return (address[0] & mask) == prefix; +} + +static MultiCastType +multiCastType(struct addrinfo *info) { + const UA_Byte *address; + if(info->ai_family == AF_INET) { + address = (UA_Byte *)&((struct sockaddr_in *)info->ai_addr)->sin_addr; + if(isMulticastAddress(address, IPV4_PREFIX_MASK, IPV4_MULTICAST_PREFIX)) + return MULTICASTTYPE_IPV4; +#if UA_IPV6 + } else if(info->ai_family == AF_INET6) { + address = (UA_Byte *)&((struct sockaddr_in6 *)info->ai_addr)->sin6_addr; + if(isMulticastAddress(address, IPV6_PREFIX_MASK, IPV6_MULTICAST_PREFIX)) + return MULTICASTTYPE_IPV6; +#endif + } + return MULTICASTTYPE_NONE; +} + +#ifdef UA_ARCHITECTURE_WIN32 + +#define ADDR_BUFFER_SIZE 15000 /* recommended size in the MSVC docs */ + +static UA_StatusCode +setMulticastInterface(const char *netif, struct addrinfo *info, + MulticastRequest *req, const UA_Logger *logger) { + ULONG outBufLen = ADDR_BUFFER_SIZE; + UA_STACKARRAY(char, addrBuf, ADDR_BUFFER_SIZE); + + /* Get the network interface descriptions */ + ULONG flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | + GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME; + PIP_ADAPTER_ADDRESSES ifaddr = (IP_ADAPTER_ADDRESSES *)addrBuf; + DWORD ret = GetAdaptersAddresses(info->ai_family, flags, NULL, ifaddr, &outBufLen); + if(ret != NO_ERROR) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, + "UDP\t| Interface configuration preparation failed"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Iterate through linked list of network interfaces */ + char sourceAddr[64]; + unsigned int idx = 0; + for(PIP_ADAPTER_ADDRESSES ifa = ifaddr; ifa != NULL; ifa = ifa->Next) { + idx = (info->ai_family == AF_INET) ? ifa->IfIndex : ifa->Ipv6IfIndex; + + /* Check if network interface name matches */ + if(strcmp(ifa->AdapterName, netif) == 0) + goto done; + + /* Check if ip address matches */ + for(PIP_ADAPTER_UNICAST_ADDRESS u = ifa->FirstUnicastAddress; u; u = u->Next) { + LPSOCKADDR addr = u->Address.lpSockaddr; + if(addr->sa_family == AF_INET) { + inet_ntop(AF_INET, &((struct sockaddr_in*)addr)->sin_addr, + sourceAddr, sizeof(sourceAddr)); + } else if(addr->sa_family == AF_INET6) { + inet_ntop(AF_INET6, &((struct sockaddr_in6*)addr)->sin6_addr, + sourceAddr, sizeof(sourceAddr)); + } else { + continue; + } + if(strcmp(sourceAddr, netif) == 0) + goto done; + } + } + + /* Not matching interface found */ + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, + "UDP\t| Interface configuration preparation failed " + "(interface %s not found)", netif); + return UA_STATUSCODE_BADINTERNALERROR; + + done: + /* Write the interface index */ + if(info->ai_family == AF_INET) + /* MSVC documentation of struct ip_mreq: To use an interface index of 1 + * would be the same as an IP address of 0.0.0.1. */ + req->ipv4.imr_interface.s_addr = htonl(idx); +#if UA_IPV6 + else /* if(info->ai_family == AF_INET6) */ + req->ipv6.ipv6mr_interface = idx; +#endif + return UA_STATUSCODE_GOOD; +} + +#else + +static UA_StatusCode +setMulticastInterface(const char *netif, struct addrinfo *info, + MulticastRequest *req, const UA_Logger *logger) { + struct ifaddrs *ifaddr; + int ret = getifaddrs(&ifaddr); + if(ret == -1) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, + "UDP\t| Interface configuration preparation failed " + "(getifaddrs error: %s)", errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Iterate over the interfaces */ + unsigned int idx = 0; + struct ifaddrs *ifa = NULL; + for(ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { + if(!ifa->ifa_addr) + continue; + + /* Does the protocol family match? */ + if(ifa->ifa_addr->sa_family != info->ai_family) + continue; + + idx = UA_if_nametoindex(ifa->ifa_name); + if(idx == 0) + continue; + + /* Found network interface by name */ + if(strcmp(ifa->ifa_name, netif) == 0) + break; + + /* Check if the interface name is an IP address that matches */ + char host[NI_MAXHOST]; + ret = getnameinfo(ifa->ifa_addr, + (info->ai_family == AF_INET) ? + sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6), + host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST); + if(ret != 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, + "UDP\t| Interface configuration preparation " + "ifailed (getnameinfo error: %s).", errno_str)); + freeifaddrs(ifaddr); + return UA_STATUSCODE_BADINTERNALERROR; + } + if(strcmp(host, netif) == 0) + break; + } + + freeifaddrs(ifaddr); + if(!ifa) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Write the interface index */ + if(info->ai_family == AF_INET) { +#if defined(ip_mreqn) + req->ipv4.imr_ifindex = idx; +#endif +#if UA_IPV6 + } else { /* if(info->ai_family == AF_INET6) */ + req->ipv6.ipv6mr_interface = idx; +#endif + } + return UA_STATUSCODE_GOOD; +} + +#endif /* UA_ARCHITECTURE_WIN32 */ + +static UA_StatusCode +setupMulticastRequest(UA_FD socket, MulticastRequest *req, const UA_KeyValueMap *params, + struct addrinfo *info, const UA_Logger *logger) { + /* Initialize the address information */ + if(info->ai_family == AF_INET) { + struct sockaddr_in *sin = (struct sockaddr_in *)info->ai_addr; + req->ipv4.imr_multiaddr = sin->sin_addr; +#if !defined(ip_mreqn) + req->ipv4.imr_interface.s_addr = htonl(INADDR_ANY); /* default ANY */ +#else + req->ipv4.imr_address.s_addr = htonl(INADDR_ANY); /* default ANY */ + req->ipv4.imr_ifindex = 0; +#endif +#if UA_IPV6 + } else if(info->ai_family == AF_INET6) { + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)info->ai_addr; + req->ipv6.ipv6mr_multiaddr = sin6->sin6_addr; + req->ipv6.ipv6mr_interface = 0; /* default ANY interface */ +#endif + } else { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, + "UDP\t| Multicast configuration failed: Unknown protocol family"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Was an interface (or local IP address) defined? */ + const UA_String *netif = (const UA_String*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_INTERFACE].name, + &UA_TYPES[UA_TYPES_STRING]); + if(!netif) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| No network interface defined for multicast. " + "The first suitable network interface is used.", + (unsigned)socket); + return UA_STATUSCODE_GOOD; + } + + /* Set the interface index */ + UA_STACKARRAY(char, interfaceAsChar, sizeof(char) * netif->length + 1); + memcpy(interfaceAsChar, netif->data, netif->length); + interfaceAsChar[netif->length] = 0; + return setMulticastInterface(interfaceAsChar, info, req, logger); +} + +/* Retrieves hostname and port from given key value parameters. + * + * @param[in] params the parameter map to retrieve from + * @param[out] hostname the retrieved hostname when present, NULL otherwise + * @param[out] portStr the retrieved port when present, NULL otherwise + * @param[in] logger the logger to log information + * @return -1 upon error, 0 if there was no host or port parameter, 1 if + * host and port are present */ +static int +getHostAndPortFromParams(const UA_KeyValueMap *params, char *hostname, + char *portStr, const UA_Logger *logger) { + /* Prepare the port parameter as a string */ + const UA_UInt16 *port = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_PORT].name, + &UA_TYPES[UA_TYPES_UINT16]); + UA_assert(port); /* checked before */ + mp_snprintf(portStr, UA_MAXPORTSTR_LENGTH, "%d", *port); + + /* Prepare the hostname string */ + const UA_String *host = (const UA_String*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_ADDR].name, + &UA_TYPES[UA_TYPES_STRING]); + if(!host) { + UA_LOG_DEBUG(logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| No address configured"); + return -1; + } + if(host->length >= UA_MAXHOSTNAME_LENGTH) { + UA_LOG_ERROR(logger, UA_LOGCATEGORY_EVENTLOOP, + "UDP\t| Open UDP Connection: Hostname too long, aborting"); + return -1; + } + strncpy(hostname, (const char*)host->data, host->length); + hostname[host->length] = 0; + return 1; +} + +static int +getConnectionInfoFromParams(const UA_KeyValueMap *params, + char *hostname, char *portStr, + struct addrinfo **info, const UA_Logger *logger) { + int foundParams = getHostAndPortFromParams(params, hostname, portStr, logger); + if(foundParams < 0) + return -1; + + /* Create the socket description from the connectString + * TODO: Make this non-blocking */ + struct addrinfo hints; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_DGRAM; + int error = getaddrinfo(hostname, portStr, &hints, info); + if(error != 0) { + UA_LOG_SOCKET_ERRNO_GAI_WRAP( + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Lookup of %s failed with error %d - %s", + hostname, error, errno_str)); + return -1; + } + return 1; +} + +/* Set loop back data to your host */ +static UA_StatusCode +setLoopBackData(UA_SOCKET sockfd, UA_Boolean enableLoopback, + int ai_family, const UA_Logger *logger) { + /* The Linux Kernel IPv6 socket code checks for optlen to be at least the + * size of an integer. However, channelDataUDPMC->enableLoopback is a + * boolean. In order for the code to work for IPv4 and IPv6 propagate it to + * a temporary integer here. */ + UA_Int32 enable = enableLoopback; +#if UA_IPV6 + if(UA_setsockopt(sockfd, + ai_family == AF_INET6 ? IPPROTO_IPV6 : IPPROTO_IP, + ai_family == AF_INET6 ? IPV6_MULTICAST_LOOP : IP_MULTICAST_LOOP, + (const char *)&enable, + sizeof (enable)) < 0) +#else + if(UA_setsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_LOOP, + (const char *)&enable, + sizeof (enable)) < 0) +#endif + { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Loopback setup failed: " + "Cannot set socket option IP_MULTICAST_LOOP. Error: %s", + (unsigned)sockfd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setTimeToLive(UA_SOCKET sockfd, UA_UInt32 messageTTL, + int ai_family, const UA_Logger *logger) { + /* Set Time to live (TTL). Value of 1 prevent forward beyond the local network. */ +#if UA_IPV6 + if(UA_setsockopt(sockfd, + ai_family == PF_INET6 ? IPPROTO_IPV6 : IPPROTO_IP, + ai_family == PF_INET6 ? IPV6_MULTICAST_HOPS : IP_MULTICAST_TTL, + (const char *)&messageTTL, + sizeof(messageTTL)) < 0) +#else + if(UA_setsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_TTL, + (const char *)&messageTTL, + sizeof(messageTTL)) < 0) +#endif + { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Time to live setup failed: " + "Cannot set socket option IP_MULTICAST_TTL. Error: %s", + (unsigned)sockfd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setReuseAddress(UA_SOCKET sockfd, UA_Boolean enableReuse, const UA_Logger *logger) { + /* Set reuse address -> enables sharing of the same listening address on + * different sockets */ + int enableReuseVal = (enableReuse) ? 1 : 0; + if(UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, + (const char*)&enableReuseVal, sizeof(enableReuseVal)) < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Reuse address setup failed: " + "Cannot set socket option SO_REUSEADDR. Error: %s", + (unsigned)sockfd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +#ifdef __linux__ +static UA_StatusCode +setSocketPriority(UA_SOCKET sockfd, UA_UInt32 socketPriority, + const UA_Logger *logger) { + int prio = (int)socketPriority; + if(UA_setsockopt(sockfd, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(int)) < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Socket priority setup failed: " + "Cannot set socket option SO_PRIORITY. Error: %s", + (unsigned)sockfd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} +#endif + +static UA_StatusCode +setConnectionConfig(UA_FD socket, const UA_KeyValueMap *params, + int ai_family, const UA_Logger *logger) { + /* Set socket config that is always set */ + UA_StatusCode res = UA_STATUSCODE_GOOD; + res |= UA_EventLoopPOSIX_setNonBlocking(socket); + res |= UA_EventLoopPOSIX_setNoSigPipe(socket); + if(res != UA_STATUSCODE_GOOD) + return res; + + /* Some Linux distributions have net.ipv6.bindv6only not activated. So + * sockets can double-bind to IPv4 and IPv6. This leads to problems. Use + * AF_INET6 sockets only for IPv6. */ +#if UA_IPV6 + int optval = 1; + if(ai_family == AF_INET6 && + UA_setsockopt(socket, IPPROTO_IPV6, IPV6_V6ONLY, + (const char*)&optval, sizeof(optval)) == -1) { + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Could not set an IPv6 socket to IPv6 only, closing", + (unsigned)socket); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } +#endif + + /* Set socket settings from the parameters */ + const UA_UInt32 *messageTTL = (const UA_UInt32*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_TTL].name, + &UA_TYPES[UA_TYPES_UINT32]); + if(messageTTL) + res |= setTimeToLive(socket, *messageTTL, ai_family, logger); + + const UA_Boolean *enableLoopback = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_LOOPBACK].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(enableLoopback) + res |= setLoopBackData(socket, *enableLoopback, ai_family, logger); + + const UA_Boolean *enableReuse = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_REUSE].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(enableReuse) + res |= setReuseAddress(socket, *enableReuse, logger); + +#ifdef __linux__ + const UA_UInt32 *socketPriority = (const UA_UInt32*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_SOCKPRIO].name, + &UA_TYPES[UA_TYPES_UINT32]); + if(socketPriority) + res |= setSocketPriority(socket, *socketPriority, logger); +#endif + + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Could not set socket options: %s", errno_str)); + } + return res; +} + +static UA_StatusCode +setupListenMultiCast(UA_FD fd, struct addrinfo *info, const UA_KeyValueMap *params, + MultiCastType multiCastType, const UA_Logger *logger) { + MulticastRequest req; + UA_StatusCode res = setupMulticastRequest(fd, &req, params, info, logger); + if(res != UA_STATUSCODE_GOOD) + return res; + + int result = -1; + if(info->ai_family == AF_INET && multiCastType == MULTICASTTYPE_IPV4) { + result = UA_setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, + &req.ipv4, sizeof(req.ipv4)); +#if UA_IPV6 + } else if(info->ai_family == AF_INET6 && multiCastType == MULTICASTTYPE_IPV6) { + result = UA_setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, + &req.ipv6, sizeof(req.ipv6)); +#endif + } + + if(result < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Cannot set socket for multicast receiving. Error: %s", + (unsigned)fd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +setupSendMultiCast(UA_FD fd, struct addrinfo *info, const UA_KeyValueMap *params, + MultiCastType multiCastType, const UA_Logger *logger) { + MulticastRequest req; + UA_StatusCode res = setupMulticastRequest(fd, &req, params, info, logger); + if(res != UA_STATUSCODE_GOOD) + return res; + + int result = -1; + if(info->ai_family == AF_INET && multiCastType == MULTICASTTYPE_IPV4) { + result = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, +#ifdef UA_ARCHITECTURE_WIN32 + (const char *)&req.ipv4.imr_interface, + sizeof(struct in_addr)); +#else + &req.ipv4, sizeof(req.ipv4)); +#endif +#if UA_IPV6 + } else if(info->ai_family == AF_INET6 && multiCastType == MULTICASTTYPE_IPV6) { + result = setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, +#ifdef UA_ARCHITECTURE_WIN32 + (const char *)&req.ipv6.ipv6mr_interface, +#else + &req.ipv6.ipv6mr_interface, +#endif + sizeof(req.ipv6.ipv6mr_interface)); +#endif + } + + if(result < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Cannot set socket for multicast sending. Error: %s", + (unsigned)fd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + return UA_STATUSCODE_GOOD; +} + +/* Test if the ConnectionManager can be stopped */ +static void +UDP_checkStopped(UA_POSIXConnectionManager *pcm) { + UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); + + if(pcm->fdsSize == 0 && + pcm->cm.eventSource.state == UA_EVENTSOURCESTATE_STOPPING) { + UA_LOG_DEBUG(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| All sockets closed, the EventLoop has stopped"); + pcm->cm.eventSource.state = UA_EVENTSOURCESTATE_STOPPED; + } +} + +/* This method must not be called from the application directly, but from within + * the EventLoop. Otherwise we cannot be sure whether the file descriptor is + * still used after calling close. */ +static void +UDP_close(UA_POSIXConnectionManager *pcm, UDP_FD *conn) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Closing connection", + (unsigned)conn->rfd.fd); + + /* Deregister from the EventLoop */ + UA_EventLoopPOSIX_deregisterFD(el, &conn->rfd); + + /* Deregister internally */ + ZIP_REMOVE(UA_FDTree, &pcm->fds, &conn->rfd); + UA_assert(pcm->fdsSize > 0); + pcm->fdsSize--; + + /* Signal closing to the application */ + conn->applicationCB(&pcm->cm, (uintptr_t)conn->rfd.fd, + conn->application, &conn->context, + UA_CONNECTIONSTATE_CLOSING, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); + + /* Close the socket */ + int ret = UA_close(conn->rfd.fd); + if(ret == 0) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Socket closed", (unsigned)conn->rfd.fd); + } else { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Could not close the socket (%s)", + (unsigned)conn->rfd.fd, errno_str)); + } + + UA_free(conn); + + /* Stop if the ucm is stopping and this was the last open socket */ + UDP_checkStopped(pcm); +} + +static void +UDP_delayedClose(void *application, void *context) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UDP_FD *conn = (UDP_FD*)context; + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "UDP %u\t| Delayed closing of the connection", + (unsigned)conn->rfd.fd); + UA_LOCK(&el->elMutex); + UDP_close(pcm, conn); + UA_UNLOCK(&el->elMutex); +} + +/* Gets called when a socket receives data or closes */ +static void +UDP_connectionSocketCallback(UA_POSIXConnectionManager *pcm, UDP_FD *conn, + short event) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Activity on the socket", + (unsigned)conn->rfd.fd); + + if(event == UA_FDEVENT_ERR) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| recv signaled the socket was shutdown (%s)", + (unsigned)conn->rfd.fd, errno_str)); + UDP_close(pcm, conn); + return; + } + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Allocate receive buffer", (unsigned)conn->rfd.fd); + + /* Use the already allocated receive-buffer */ + UA_ByteString response = pcm->rxBuffer; + + /* Receive */ + struct sockaddr_storage source; +#ifndef UA_ARCHITECTURE_WIN32 + socklen_t sourceSize = (socklen_t)sizeof(struct sockaddr_storage); + ssize_t ret = recvfrom(conn->rfd.fd, (char*)response.data, response.length, + MSG_DONTWAIT, (struct sockaddr*)&source, &sourceSize); +#else + int sourceSize = (int)sizeof(struct sockaddr_storage); + int ret = recvfrom(conn->rfd.fd, (char*)response.data, (int)response.length, + MSG_DONTWAIT, (struct sockaddr*)&source, &sourceSize); +#endif + + /* Receive has failed */ + if(ret <= 0) { + if(UA_ERRNO == UA_INTERRUPTED) + return; + + /* Orderly shutdown of the socket. We can immediately close as no method + * "below" in the call stack will use the socket in this iteration of + * the EventLoop. */ + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| recv signaled the socket was shutdown (%s)", + (unsigned)conn->rfd.fd, errno_str)); + UDP_close(pcm, conn); + return; + } + + response.length = (size_t)ret; /* Set the length of the received buffer */ + + /* Extract message source and port */ + char sourceAddr[64]; + UA_UInt16 sourcePort; + switch(source.ss_family) { + case AF_INET: + inet_ntop(AF_INET, &((struct sockaddr_in *)&source)->sin_addr, + sourceAddr, 64); + sourcePort = htons(((struct sockaddr_in *)&source)->sin_port); + break; + case AF_INET6: + inet_ntop(AF_INET6, &(((struct sockaddr_in6 *)&source)->sin6_addr), + sourceAddr, 64); + sourcePort = htons(((struct sockaddr_in6 *)&source)->sin6_port); + break; + default: + sourceAddr[0] = 0; + sourcePort = 0; + } + + UA_String sourceAddrStr = UA_STRING(sourceAddr); + UA_KeyValuePair kvp[2]; + kvp[0].key = UA_QUALIFIEDNAME(0, "remote-address"); + UA_Variant_setScalar(&kvp[0].value, &sourceAddrStr, &UA_TYPES[UA_TYPES_STRING]); + kvp[1].key = UA_QUALIFIEDNAME(0, "remote-port"); + UA_Variant_setScalar(&kvp[1].value, &sourcePort, &UA_TYPES[UA_TYPES_UINT16]); + UA_KeyValueMap kvm = {2, kvp}; + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Received message of size %u from %s on port %u", + (unsigned)conn->rfd.fd, (unsigned)ret, + sourceAddr, sourcePort); + + /* Callback to the application layer */ + conn->applicationCB(&pcm->cm, (uintptr_t)conn->rfd.fd, + conn->application, &conn->context, + UA_CONNECTIONSTATE_ESTABLISHED, + &kvm, response); +} + +static UA_StatusCode +UDP_registerListenSocket(UA_POSIXConnectionManager *pcm, UA_UInt16 port, + struct addrinfo *info, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Get logging information */ + char hoststr[UA_MAXHOSTNAME_LENGTH]; + int get_res = UA_getnameinfo(info->ai_addr, info->ai_addrlen, + hoststr, sizeof(hoststr), + NULL, 0, NI_NUMERICHOST); + if(get_res != 0) { + hoststr[0] = 0; + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| getnameinfo(...) could not resolve the hostname (%s)", + errno_str)); + if(validate) { + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + } + + /* Create the listen socket */ + UA_FD listenSocket = socket(info->ai_family, info->ai_socktype, info->ai_protocol); + if(listenSocket == UA_INVALID_FD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Error opening the listen socket for " + "\"%s\" on port %u (%s)", + (unsigned)listenSocket, hoststr, port, errno_str)); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + /* Set the socket configuration per the parameters */ + UA_StatusCode res = + setConnectionConfig(listenSocket, params, + info->ai_family, el->eventLoop.logger); + if(res != UA_STATUSCODE_GOOD) { + UA_close(listenSocket); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + /* Are we going to prepare a socket for multicast? */ + MultiCastType mc = multiCastType(info); + + /* Bind socket to the address */ +#ifdef UA_ARCHITECTURE_WIN32 + /* On windows we need to bind the socket to INADDR_ANY before registering + * for the multicast group */ + int ret = -1; + if(mc != MULTICASTTYPE_NONE) { + if(info->ai_family == AF_INET) { + struct sockaddr_in *orig = (struct sockaddr_in *)info->ai_addr; + struct sockaddr_in sin; + memset(&sin, 0, sizeof(sin)); + sin.sin_family = AF_INET; + sin.sin_addr.s_addr = htonl(INADDR_ANY); + sin.sin_port = orig->sin_port; + ret = bind(listenSocket, (struct sockaddr*)&sin, sizeof(sin)); + } else if(info->ai_family == AF_INET6) { + struct sockaddr_in6 *orig = (struct sockaddr_in6 *)info->ai_addr; + struct sockaddr_in6 sin6; + memset(&sin6, 0, sizeof(sin6)); + sin6.sin6_family = AF_INET6; + sin6.sin6_addr = in6addr_any; + sin6.sin6_port = orig->sin6_port; + ret = bind(listenSocket, (struct sockaddr*)&sin6, sizeof(sin6)); + } + } else { + ret = bind(listenSocket, info->ai_addr, (socklen_t)info->ai_addrlen); + } +#else + int ret = bind(listenSocket, info->ai_addr, (socklen_t)info->ai_addrlen); +#endif + + /* Get the port being used if dynamic porting was used */ + if(port == 0) { + struct sockaddr_in sin; + memset(&sin, 0, sizeof(sin)); + socklen_t len = sizeof(sin); + getsockname(listenSocket, (struct sockaddr *)&sin, &len); + port = ntohs(sin.sin_port); + } + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| New listen socket for \"%s\" on port %u", + (unsigned)listenSocket, hoststr, port); + + if(ret < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Error binding the socket to the address (%s), closing", + (unsigned)listenSocket, errno_str)); + UA_close(listenSocket); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + /* Enable multicast if this is a multicast address */ + if(mc != MULTICASTTYPE_NONE) { + res = setupListenMultiCast(listenSocket, info, params, + mc, el->eventLoop.logger); + if(res != UA_STATUSCODE_GOOD) { + UA_close(listenSocket); + return res; + } + } + + /* Validation is complete - close and return */ + if(validate) { + UA_close(listenSocket); + return UA_STATUSCODE_GOOD; + } + + /* Allocate the UA_RegisteredFD */ + UDP_FD *newudpfd = (UDP_FD*)UA_calloc(1, sizeof(UDP_FD)); + if(!newudpfd) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Error allocating memory for the socket, closing", + (unsigned)listenSocket); + UA_close(listenSocket); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + newudpfd->rfd.fd = listenSocket; + newudpfd->rfd.es = &pcm->cm.eventSource; + newudpfd->rfd.listenEvents = UA_FDEVENT_IN; + newudpfd->rfd.eventSourceCB = (UA_FDCallback)UDP_connectionSocketCallback; + newudpfd->applicationCB = connectionCallback; + newudpfd->application = application; + newudpfd->context = context; + + /* Register in the EventLoop */ + res = UA_EventLoopPOSIX_registerFD(el, &newudpfd->rfd); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Error registering the socket, closing", + (unsigned)listenSocket); + UA_free(newudpfd); + UA_close(listenSocket); + return res; + } + + /* Register internally in the EventSource */ + ZIP_INSERT(UA_FDTree, &pcm->fds, &newudpfd->rfd); + pcm->fdsSize++; + + /* Register the listen socket in the application */ + connectionCallback(&pcm->cm, (uintptr_t)newudpfd->rfd.fd, + application, &newudpfd->context, + UA_CONNECTIONSTATE_ESTABLISHED, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UDP_registerListenSockets(UA_POSIXConnectionManager *pcm, const char *hostname, + UA_UInt16 port, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate) { + UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); + + /* Get all the interface and IPv4/6 combinations for the configured hostname */ + struct addrinfo hints, *res; + memset(&hints, 0, sizeof hints); +#if UA_IPV6 + hints.ai_family = AF_UNSPEC; /* Allow IPv4 and IPv6 */ +#else + hints.ai_family = AF_INET; /* IPv4 only */ +#endif + hints.ai_socktype = SOCK_DGRAM; + hints.ai_protocol = IPPROTO_UDP; + hints.ai_flags = AI_PASSIVE; + + /* Set up the port string */ + char portstr[6]; + mp_snprintf(portstr, 6, "%d", port); + + int retcode = getaddrinfo(hostname, portstr, &hints, &res); + if(retcode != 0) { + UA_LOG_SOCKET_ERRNO_GAI_WRAP( + UA_LOG_WARNING(pcm->cm.eventSource.eventLoop->logger, + UA_LOGCATEGORY_NETWORK, + "UDP\t| getaddrinfo lookup for \"%s\" on port %u failed (%s)", + hostname, port, errno_str)); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + /* Add listen sockets */ + struct addrinfo *ai = res; + UA_StatusCode rv = UA_STATUSCODE_GOOD; + while(ai) { + rv = UDP_registerListenSocket(pcm, port, ai, params, application, + context, connectionCallback, validate); + if(rv != UA_STATUSCODE_GOOD) + break; + ai = ai->ai_next; + } + freeaddrinfo(res); + return rv; +} + +/* Close the connection via a delayed callback */ +static void +UDP_shutdown(UA_ConnectionManager *cm, UA_RegisteredFD *rfd) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + if(rfd->dc.callback) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Cannot close - already closing", + (unsigned)rfd->fd); + return; + } + + /* Shutdown the socket to cancel the current select/epoll */ + shutdown(rfd->fd, UA_SHUT_RDWR); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Shutdown called", (unsigned)rfd->fd); + + UA_DelayedCallback *dc = &rfd->dc; + dc->callback = UDP_delayedClose; + dc->application = cm; + dc->context = rfd; + + /* Don't use the "public" el->addDelayedCallback. It takes a lock. */ + dc->next = el->delayedCallbacks; + el->delayedCallbacks = dc; +} + +static UA_StatusCode +UDP_shutdownConnection(UA_ConnectionManager *cm, uintptr_t connectionId) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; + UA_FD fd = (UA_FD)connectionId; + + UA_LOCK(&el->elMutex); + UA_RegisteredFD *rfd = ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!rfd) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Cannot close UDP connection %u - not found", + (unsigned)connectionId); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADNOTFOUND; + } + UDP_shutdown(cm, rfd); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UDP_sendWithConnection(UA_ConnectionManager *cm, uintptr_t connectionId, + const UA_KeyValueMap *params, + UA_ByteString *buf) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + + UA_LOCK(&el->elMutex); + + /* Look up the registered UDP socket */ + UA_FD fd = (UA_FD)connectionId; + UDP_FD *conn = (UDP_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!conn) { + UA_UNLOCK(&el->elMutex); + UA_ByteString_clear(buf); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Send the full buffer. This may require several calls to send */ + size_t nWritten = 0; + do { + ssize_t n = 0; + do { + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Attempting to send", (unsigned)connectionId); + + /* Prevent OS signals when sending to a closed socket */ + int flags = MSG_NOSIGNAL; + size_t bytes_to_send = buf->length - nWritten; + n = UA_sendto((UA_FD)connectionId, (const char*)buf->data + nWritten, + bytes_to_send, flags, (struct sockaddr*)&conn->sendAddr, + conn->sendAddrLength); + if(n < 0) { + /* An error we cannot recover from? */ + if(UA_ERRNO != UA_INTERRUPTED && + UA_ERRNO != UA_WOULDBLOCK && + UA_ERRNO != UA_AGAIN) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Send failed with error %s", + (unsigned)connectionId, errno_str)); + UA_UNLOCK(&el->elMutex); + UDP_shutdownConnection(cm, connectionId); + UA_ByteString_clear(buf); + return UA_STATUSCODE_BADCONNECTIONCLOSED; + } + + /* Poll for the socket resources to become available and retry + * (blocking) */ + int poll_ret; + struct pollfd tmp_poll_fd; + tmp_poll_fd.fd = (UA_FD)connectionId; + tmp_poll_fd.events = UA_POLLOUT; + do { + poll_ret = UA_poll(&tmp_poll_fd, 1, 100); + if(poll_ret < 0 && UA_ERRNO != UA_INTERRUPTED) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, + UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Send failed with error %s", + (unsigned)connectionId, errno_str)); + UA_UNLOCK(&el->elMutex); + UDP_shutdownConnection(cm, connectionId); + UA_ByteString_clear(buf); + return UA_STATUSCODE_BADCONNECTIONCLOSED; + } + } while(poll_ret <= 0); + } + } while(n < 0); + nWritten += (size_t)n; + } while(nWritten < buf->length); + + /* Free the buffer */ + UA_UNLOCK(&el->elMutex); + UA_ByteString_clear(buf); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +registerSocketAndDestinationForSend(const UA_KeyValueMap *params, + const char *hostname, struct addrinfo *info, + int error, UDP_FD *ufd, UA_FD *sock, + const UA_Logger *logger) { + UA_FD newSock = socket(info->ai_family, info->ai_socktype, info->ai_protocol); + *sock = newSock; + if(newSock == UA_INVALID_FD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Could not create socket to connect to %s (%s)", + hostname, errno_str)); + return UA_STATUSCODE_BADDISCONNECT; + } + UA_StatusCode res = setConnectionConfig(newSock, params, info->ai_family, logger); + if(res != UA_STATUSCODE_GOOD) { + UA_close(newSock); + return res; + } + + /* Prepare socket for multicast */ + MultiCastType mc = multiCastType(info); + if(mc != MULTICASTTYPE_NONE) { + res = setupSendMultiCast(newSock, info, params, mc, logger); + if(res != UA_STATUSCODE_GOOD) { + UA_close(newSock); + return res; + } + } + + memcpy(&ufd->sendAddr, info->ai_addr, info->ai_addrlen); + ufd->sendAddrLength = info->ai_addrlen; + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UDP_openSendConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Get the connection parameters */ + char hostname[UA_MAXHOSTNAME_LENGTH]; + char portStr[UA_MAXPORTSTR_LENGTH]; + struct addrinfo *info = NULL; + + int error = getConnectionInfoFromParams(params, hostname, + portStr, &info, el->eventLoop.logger); + if(error < 0 || info == NULL) { + if(info != NULL) { + freeaddrinfo(info); + } + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Opening a connection failed"); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Open a connection to \"%s\" on port %s", hostname, portStr); + + /* Allocate the UA_RegisteredFD */ + UDP_FD *conn = (UDP_FD*)UA_calloc(1, sizeof(UDP_FD)); + if(!conn) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Error allocating memory for the socket, closing"); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + + /* Create a socket and register the destination address from the provided parameters */ + UA_FD newSock = UA_INVALID_FD; + UA_StatusCode res = + registerSocketAndDestinationForSend(params, hostname, info, + error, conn, &newSock, + el->eventLoop.logger); + freeaddrinfo(info); + if(validate && res == UA_STATUSCODE_GOOD) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| Connection validated to \"%s\" on port %s", + (unsigned)newSock, hostname, portStr); + UA_close(newSock); + UA_free(conn); + return UA_STATUSCODE_GOOD; + } + if(res != UA_STATUSCODE_GOOD) { + UA_free(conn); + return res; + } + + conn->rfd.fd = newSock; + conn->rfd.listenEvents = 0; + conn->rfd.es = &pcm->cm.eventSource; + conn->rfd.eventSourceCB = (UA_FDCallback)UDP_connectionSocketCallback; + conn->applicationCB = connectionCallback; + conn->application = application; + conn->context = context; + + /* Register the fd to trigger when output is possible (the connection is open) */ + res = UA_EventLoopPOSIX_registerFD(el, &conn->rfd); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Registering the socket for %s failed", hostname); + UA_close(newSock); + UA_free(conn); + return res; + } + + /* Register internally in the EventSource */ + ZIP_INSERT(UA_FDTree, &pcm->fds, &conn->rfd); + pcm->fdsSize++; + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP %u\t| New connection to \"%s\" on port %s", + (unsigned)newSock, hostname, portStr); + + /* Signal the connection as opening. The connection fully opens in the next + * iteration of the EventLoop */ + connectionCallback(&pcm->cm, (uintptr_t)newSock, application, + &conn->context, UA_CONNECTIONSTATE_ESTABLISHED, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UDP_openReceiveConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback, + UA_Boolean validate) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Get the port */ + const UA_UInt16 *port = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_PORT].name, + &UA_TYPES[UA_TYPES_UINT16]); + UA_assert(port); /* checked before */ + + /* Get the hostname configuration */ + const UA_Variant *addrs = + UA_KeyValueMap_get(params, UDPConfigParameters[UDP_PARAMINDEX_ADDR].name); + size_t addrsSize = 0; + if(addrs) { + UA_assert(addrs->type == &UA_TYPES[UA_TYPES_STRING]); + if(UA_Variant_isScalar(addrs)) + addrsSize = 1; + else + addrsSize = addrs->arrayLength; + } + + /* No hostname configured -> listen on all interfaces */ + if(addrsSize == 0) { + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Listening on all interfaces"); + return UDP_registerListenSockets(pcm, NULL, *port, params, application, + context, connectionCallback, validate); + } + + /* Iterate over the configured hostnames */ + UA_String *hostStrings = (UA_String*)addrs->data; + for(size_t i = 0; i < addrsSize; i++) { + char hn[UA_MAXHOSTNAME_LENGTH]; + if(hostStrings[i].length >= sizeof(hn)) + continue; + memcpy(hn, hostStrings[i].data, hostStrings->length); + hn[hostStrings->length] = '\0'; + UA_StatusCode rv = + UDP_registerListenSockets(pcm, hn, *port, params, application, + context, connectionCallback, validate); + if(rv != UA_STATUSCODE_GOOD) + return rv; + } + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +UDP_openConnection(UA_ConnectionManager *cm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK(&el->elMutex); + + if(cm->eventSource.state != UA_EVENTSOURCESTATE_STARTED) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Cannot open a connection for a " + "ConnectionManager that is not started"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check the parameters */ + UA_StatusCode res = + UA_KeyValueRestriction_validate(el->eventLoop.logger, "UDP", + &UDPConfigParameters[1], + UDP_PARAMETERSSIZE-1, params); + if(res != UA_STATUSCODE_GOOD) { + UA_UNLOCK(&el->elMutex); + return res; + } + + UA_Boolean validate = false; + const UA_Boolean *validationValue = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_VALIDATE].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(validationValue) + validate = *validationValue; + + UA_Boolean listen = false; + const UA_Boolean *listenValue = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_LISTEN].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(listenValue) + listen = *listenValue; + + if(listen) { + res = UDP_openReceiveConnection(pcm, params, application, context, + connectionCallback, validate); + } else { + res = UDP_openSendConnection(pcm, params, application, context, + connectionCallback, validate); + } + UA_UNLOCK(&el->elMutex); + return res; +} + +static UA_StatusCode +UDP_eventSourceStart(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + if(!el) + return UA_STATUSCODE_BADINTERNALERROR; + + UA_LOCK(&el->elMutex); + + /* Check the state */ + if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPED) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| To start the ConnectionManager, " + "it has to be registered in an EventLoop and not started"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Check the parameters */ + UA_StatusCode res = + UA_KeyValueRestriction_validate(el->eventLoop.logger, "UDP", + UDPConfigParameters, 1, + &cm->eventSource.params); + if(res != UA_STATUSCODE_GOOD) + goto finish; + + /* Allocate the rx buffer */ + res = UA_EventLoopPOSIX_allocateRXBuffer(pcm); + if(res != UA_STATUSCODE_GOOD) + goto finish; + + /* Set the EventSource to the started state */ + cm->eventSource.state = UA_EVENTSOURCESTATE_STARTED; + + finish: + UA_UNLOCK(&el->elMutex); + return res; +} + +static void * +UDP_shutdownCB(void *application, UA_RegisteredFD *rfd) { + UA_ConnectionManager *cm = (UA_ConnectionManager*)application; + UDP_shutdown(cm, rfd); + return NULL; +} + +static void +UDP_eventSourceStop(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + (void)el; + UA_LOCK(&el->elMutex); + + UA_LOG_INFO(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "UDP\t| Shutting down the ConnectionManager"); + + /* Prevent new connections to open */ + cm->eventSource.state = UA_EVENTSOURCESTATE_STOPPING; + + /* Shutdown all existing connection */ + ZIP_ITER(UA_FDTree, &pcm->fds, UDP_shutdownCB, cm); + + /* Check if stopped once more (also checking inside UDP_close, but there we + * don't check if there is no rfd at all) */ + UDP_checkStopped(pcm); + + UA_UNLOCK(&el->elMutex); +} + +static UA_StatusCode +UDP_eventSourceDelete(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + if(cm->eventSource.state >= UA_EVENTSOURCESTATE_STARTING) { + UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "UDP\t| The EventSource must be stopped before it can be deleted"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_ByteString_clear(&pcm->rxBuffer); + UA_KeyValueMap_clear(&cm->eventSource.params); + UA_String_clear(&cm->eventSource.name); + UA_free(cm); + + return UA_STATUSCODE_GOOD; +} + +static const char *udpName = "udp"; + +UA_ConnectionManager * +UA_ConnectionManager_new_POSIX_UDP(const UA_String eventSourceName) { + UA_POSIXConnectionManager *cm = (UA_POSIXConnectionManager*) + UA_calloc(1, sizeof(UA_POSIXConnectionManager)); + if(!cm) + return NULL; + + cm->cm.eventSource.eventSourceType = UA_EVENTSOURCETYPE_CONNECTIONMANAGER; + UA_String_copy(&eventSourceName, &cm->cm.eventSource.name); + cm->cm.eventSource.start = (UA_StatusCode (*)(UA_EventSource *))UDP_eventSourceStart; + cm->cm.eventSource.stop = (void (*)(UA_EventSource *))UDP_eventSourceStop; + cm->cm.eventSource.free = (UA_StatusCode (*)(UA_EventSource *))UDP_eventSourceDelete; + cm->cm.protocol = UA_STRING((char*)(uintptr_t)udpName); + cm->cm.openConnection = UDP_openConnection; + cm->cm.allocNetworkBuffer = UA_EventLoopPOSIX_allocNetworkBuffer; + cm->cm.freeNetworkBuffer = UA_EventLoopPOSIX_freeNetworkBuffer; + cm->cm.sendWithConnection = UDP_sendWithConnection; + cm->cm.closeConnection = UDP_shutdownConnection; + return &cm->cm; +} + +/**** amalgamated original file "/arch/eventloop_posix_interrupt.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + +#include + +/* Different implementation approaches: + * - Linux: Use signalfd + * - Other: Use the self-pipe trick (http://cr.yp.to/docs/selfpipe.html) */ + +typedef struct UA_RegisteredSignal { +#ifdef UA_HAVE_EPOLL + /* With epoll, register each signal with a socket. + * This has to be the first element of the struct to allow casting. */ + UA_RegisteredFD rfd; +#else + /* Without epoll, we add the rfd to a tailq and self-pipe to trigger the + * traversal of the tailq */ + TAILQ_ENTRY(UA_RegisteredSignal) triggeredEntry; +#endif + + LIST_ENTRY(UA_RegisteredSignal) listPointers; + + UA_InterruptCallback signalCallback; + void *context; + int signal; /* POSIX identifier of the interrupt signal */ + + UA_Boolean active; /* Signals are only active when the EventLoop is started */ + UA_Boolean triggered; +} UA_RegisteredSignal; + +typedef struct { + UA_InterruptManager im; + + /* Registered signals */ + size_t signalsSize; + LIST_HEAD(, UA_RegisteredSignal) signals; + +#ifndef UA_HAVE_EPOLL + UA_RegisteredFD readFD; + UA_FD writeFD; + TAILQ_HEAD(, UA_RegisteredSignal) triggered; +#endif +} UA_POSIXInterruptManager; + +#ifndef UA_HAVE_EPOLL +/* On non-linux systems we can have at most one interrupt manager */ +static UA_POSIXInterruptManager *singletonIM = NULL; +#endif + +/* The following methods have to be implemented for epoll/self-pipe each. */ +static void activateSignal(UA_RegisteredSignal *rs); +static void deactivateSignal(UA_RegisteredSignal *rs); + +#ifdef UA_HAVE_EPOLL +#include + +static void +handlePOSIXInterruptEvent(UA_EventSource *es, UA_RegisteredFD *rfd, short event) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; + (void)el; + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_RegisteredSignal *rs = (UA_RegisteredSignal*)rfd; + struct signalfd_siginfo fdsi; + ssize_t s = read(rfd->fd, &fdsi, sizeof(fdsi)); + if(s < (ssize_t)sizeof(fdsi)) { + /* A problem occured */ + deactivateSignal(rs); + return; + } + + /* Signal received */ + UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt %u\t| Received a signal %u", + (unsigned)rfd->fd, fdsi.ssi_signo); + + UA_UNLOCK(&el->elMutex); + rs->signalCallback((UA_InterruptManager *)es, (uintptr_t)rfd->fd, + rs->context, &UA_KEYVALUEMAP_NULL); + UA_LOCK(&el->elMutex); +} + +static void +activateSignal(UA_RegisteredSignal *rs) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)rs->rfd.es->eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + if(rs->active) + return; + + /* Block the normal signal handling */ + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, rs->signal); + int res2 = sigprocmask(SIG_BLOCK, &mask, NULL); + if(res2 == -1) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Could not block the default " + "signal handling with an error: %s", + errno_str)); + return; + } + + /* Create the fd */ + UA_FD newfd = signalfd(-1, &mask, 0); + if(newfd < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t|Could not create a signal file " + "description with error: %s", + errno_str)); + sigprocmask(SIG_UNBLOCK, &mask, NULL); /* restore signal */ + return; + } + + rs->rfd.fd = newfd; + rs->rfd.eventSourceCB = handlePOSIXInterruptEvent; + rs->rfd.listenEvents = UA_FDEVENT_IN; + + /* Register the fd in the EventLoop */ + UA_StatusCode res = UA_EventLoopPOSIX_registerFD(el, &rs->rfd); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t|Could not register the a signal file " + "description in the EventLoop"); + UA_close(newfd); + sigprocmask(SIG_UNBLOCK, &mask, NULL); /* restore signal */ + return; + } + + rs->active = true; +} + +static void +deactivateSignal(UA_RegisteredSignal *rs) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)rs->rfd.es->eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Only dectivate if active */ + if(!rs->active) + return; + rs->active = false; + + /* Stop receiving the signal on the FD */ + UA_EventLoopPOSIX_deregisterFD(el, &rs->rfd); + + /* Unblock the signal */ + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, (int)rs->signal); + sigprocmask(SIG_UNBLOCK, &mask, NULL); + + /* Clean up locally */ + UA_close(rs->rfd.fd); +} + +#else /* !UA_HAVE_EPOLL */ + +static void +triggerPOSIXInterruptEvent(int sig) { + UA_assert(singletonIM != NULL); + + /* Don't take a lock. All we are doing here can be done from within a + * (reentrant) interrupt. */ + + /* Get the rs. Only use it if not already triggered. */ + UA_RegisteredSignal *rs; + LIST_FOREACH(rs, &singletonIM->signals, listPointers) { + if(rs->signal == sig) + break; + } + if(!rs || rs->triggered || !rs->active) + return; + + /* Add to the triggered list */ + TAILQ_INSERT_TAIL(&singletonIM->triggered, rs, triggeredEntry); + rs->triggered = true; + +#ifdef UA_ARCHITECTURE_WIN32 + /* On WIN32 we have to re-arm the signal or it will go back to SIG_DFL */ + signal(sig, triggerPOSIXInterruptEvent); +#endif + + /* Trigger the FD in the EventLoop for the self-pipe trick */ +#ifdef UA_ARCHITECTURE_WIN32 + int err = send(singletonIM->writeFD, ".", 1, 0); +#else + ssize_t err = write(singletonIM->writeFD, ".", 1); +#endif + if(err <= 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(singletonIM->im.eventSource.eventLoop->logger, + UA_LOGCATEGORY_EVENTLOOP, + "Error signaling the interrupt on FD %u to the EventLoop (%s)", + (unsigned)singletonIM->writeFD, errno_str)); + } +} + +static void +activateSignal(UA_RegisteredSignal *rs) { + UA_assert(singletonIM != NULL); + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)singletonIM->im.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Register the signal on the OS level */ + if(rs->active) + return; + + void (*prev)(int); + prev = signal(rs->signal, triggerPOSIXInterruptEvent); + if(prev == SIG_ERR) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(singletonIM->im.eventSource.eventLoop->logger, + UA_LOGCATEGORY_EVENTLOOP, + "Error registering the signal: %s", errno_str)); + return; + } + + rs->active = true; +} + +static void +deactivateSignal(UA_RegisteredSignal *rs) { + UA_assert(singletonIM != NULL); + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)singletonIM->im.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Only dectivate if active */ + if(!rs->active) + return; + + /* Stop receiving the signal */ + signal(rs->signal, SIG_DFL); + + /* Clean up locally */ + if(rs->triggered) { + TAILQ_REMOVE(&singletonIM->triggered, rs, triggeredEntry); + rs->triggered = false; + } + + rs->active = false; +} + +/* Execute all triggered interrupts via the self-pipe trick from within the EventLoop */ +static void +executeTriggeredPOSIXInterrupts(UA_EventSource *es, UA_RegisteredFD *rfd, short event) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)es->eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Re-arm the socket for the next signal by reading from it */ + char buf[128]; +#ifdef UA_ARCHITECTURE_WIN32 + recv(rfd->fd, buf, 128, 0); /* ignore the result */ +#else + ssize_t i; + do { + i = read(rfd->fd, buf, 128); + } while(i > 0); +#endif + + UA_RegisteredSignal *rs, *rs_tmp; + TAILQ_FOREACH_SAFE(rs, &singletonIM->triggered, triggeredEntry, rs_tmp) { + TAILQ_REMOVE(&singletonIM->triggered, rs, triggeredEntry); + rs->triggered = false; + UA_UNLOCK(&el->elMutex); + rs->signalCallback(&singletonIM->im, (uintptr_t)rs->signal, + rs->context, &UA_KEYVALUEMAP_NULL); + UA_LOCK(&el->elMutex); + } +} + +#endif /* !UA_HAVE_EPOLL */ + +static UA_StatusCode +registerPOSIXInterrupt(UA_InterruptManager *im, uintptr_t interruptHandle, + const UA_KeyValueMap *params, + UA_InterruptCallback callback, void *interruptContext) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)im->eventSource.eventLoop; + if(!UA_KeyValueMap_isEmpty(params)) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Supplied parameters invalid for the " + "POSIX InterruptManager"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_LOCK(&el->elMutex); + + /* Was the signal already registered? */ + int signal = (int)interruptHandle; + UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)im; + UA_RegisteredSignal *rs; + LIST_FOREACH(rs, &pim->signals, listPointers) { + if(rs->signal == signal) + break; + } + if(rs) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Signal %u already registered", + (unsigned)interruptHandle); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Create and populate the new context object */ + rs = (UA_RegisteredSignal *)UA_calloc(1, sizeof(UA_RegisteredSignal)); + if(!rs) { + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADOUTOFMEMORY; + } + +#ifdef UA_HAVE_EPOLL + rs->rfd.es = &im->eventSource; +#endif + rs->signal = (int)interruptHandle; + rs->signalCallback = callback; + rs->context = interruptContext; + + /* Add to the InterruptManager */ + LIST_INSERT_HEAD(&pim->signals, rs, listPointers); + pim->signalsSize++; + + /* Activate if we are already running */ + if(pim->im.eventSource.state == UA_EVENTSOURCESTATE_STARTED) + activateSignal(rs); + + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +static void +deregisterPOSIXInterrupt(UA_InterruptManager *im, uintptr_t interruptHandle) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)im->eventSource.eventLoop; + (void)el; + UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)im; + UA_LOCK(&el->elMutex); + + int signal = (int)interruptHandle; + UA_RegisteredSignal *rs; + LIST_FOREACH(rs, &pim->signals, listPointers) { + if(rs->signal == signal) + break; + } + if(rs) { + deactivateSignal(rs); + LIST_REMOVE(rs, listPointers); + UA_free(rs); + } + + UA_UNLOCK(&el->elMutex); +} + +#ifdef UA_ARCHITECTURE_WIN32 +/* Windows has no pipes. Use a local TCP connection for the self-pipe trick. + * https://stackoverflow.com/a/3333565 */ +static int +pair(SOCKET fds[2]) { + struct sockaddr_in inaddr; + struct sockaddr addr; + SOCKET lst = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + memset(&inaddr, 0, sizeof(inaddr)); + memset(&addr, 0, sizeof(addr)); + inaddr.sin_family = AF_INET; + inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + inaddr.sin_port = 0; + int yes = 1; + setsockopt(lst, SOL_SOCKET, SO_REUSEADDR, (char *)&yes, sizeof(yes)); + bind(lst, (struct sockaddr *)&inaddr, sizeof(inaddr)); + listen(lst, 1); + int len = sizeof(inaddr); + getsockname(lst, &addr, &len); + fds[0] = socket(AF_INET, SOCK_STREAM, 0); + int err = connect(fds[0], &addr, len); + fds[1] = accept(lst, 0, 0); + closesocket(lst); + return err; +} +#endif + +static UA_StatusCode +startPOSIXInterruptManager(UA_EventSource *es) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; + (void)el; + UA_LOCK(&el->elMutex); + + /* Check the state */ + if(es->state != UA_EVENTSOURCESTATE_STOPPED) { + UA_LOG_ERROR(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| To start the InterruptManager, " + "it has to be registered in an EventLoop and not started"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)es; + UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Starting the InterruptManager"); + +#ifndef UA_HAVE_EPOLL + /* Create pipe for self-signaling */ + UA_FD pipefd[2]; +#ifdef UA_ARCHITECTURE_WIN32 + int err = pair(pipefd); +#else + int err = pipe(pipefd); +#endif + if(err != 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "Interrupt\t| Could not open the pipe for " + "self-signaling (%s)", errno_str)); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + UA_StatusCode res = UA_STATUSCODE_GOOD; +#ifndef UA_ARCHITECTURE_WIN32 + /* Mark pipes as non-blocking */ + for(size_t i = 0; i < (sizeof(pipefd) / sizeof(*pipefd)); ++i) { + res = UA_EventLoopPOSIX_setNonBlocking(pipefd[i]); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "Interrupt\t| Could mark pipe for " + "self-signaling as non-blocking(%s)", + errno_str)); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + } +#endif + + UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Socket pair for the self-pipe: %u,%u", + (unsigned)pipefd[0], (unsigned)pipefd[1]); + + pim->writeFD = pipefd[1]; + pim->readFD.fd = pipefd[0]; + pim->readFD.es = &pim->im.eventSource; + pim->readFD.listenEvents = UA_FDEVENT_IN; + pim->readFD.eventSourceCB = executeTriggeredPOSIXInterrupts; + res = UA_EventLoopPOSIX_registerFD(el, &pim->readFD); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Could not register the InterruptManager socket"); + UA_close(pipefd[0]); + UA_close(pipefd[1]); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } +#endif + + /* Activate the registered signal handlers */ + UA_RegisteredSignal*rs; + LIST_FOREACH(rs, &pim->signals, listPointers) { + activateSignal(rs); + } + + /* Set the EventSource to the started state */ + es->state = UA_EVENTSOURCESTATE_STARTED; + + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +static void +stopPOSIXInterruptManager(UA_EventSource *es) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; + (void)el; + UA_LOCK(&el->elMutex); + + if(es->state != UA_EVENTSOURCESTATE_STARTED) { + UA_UNLOCK(&el->elMutex); + return; + } + + UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| Stopping the InterruptManager"); + + /* Close all registered signals */ + UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)es; + UA_RegisteredSignal*rs; + LIST_FOREACH(rs, &pim->signals, listPointers) { + deactivateSignal(rs); + } + +#ifndef UA_HAVE_EPOLL + /* Close the FD for the self-pipe trick */ + UA_EventLoopPOSIX_deregisterFD(el, &pim->readFD); + UA_close(pim->readFD.fd); + UA_close(pim->writeFD); +#endif + + /* Immediately set to stopped */ + es->state = UA_EVENTSOURCESTATE_STOPPED; + + UA_UNLOCK(&el->elMutex); +} + +static UA_StatusCode +freePOSIXInterruptmanager(UA_EventSource *es) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; + (void)el; + UA_LOCK_ASSERT(&el->elMutex, 1); + + if(es->state >= UA_EVENTSOURCESTATE_STARTING) { + UA_LOG_ERROR(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "Interrupt\t| The EventSource must be stopped " + "before it can be deleted"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Deactivate and remove all registered signals */ + UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)es; + UA_RegisteredSignal *rs, *rs_tmp; + LIST_FOREACH_SAFE(rs, &pim->signals, listPointers, rs_tmp) { + deactivateSignal(rs); + LIST_REMOVE(rs, listPointers); + UA_free(rs); + } + + UA_String_clear(&es->name); + UA_free(es); + +#ifndef UA_HAVE_EPOLL + singletonIM = NULL; /* Reset the global singleton pointer */ +#endif + + return UA_STATUSCODE_GOOD; +} + +UA_InterruptManager * +UA_InterruptManager_new_POSIX(const UA_String eventSourceName) { +#ifndef UA_HAVE_EPOLL + /* There can be only one InterruptManager if epoll is not present */ + if(singletonIM) + return NULL; +#endif + + UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *) + UA_calloc(1, sizeof(UA_POSIXInterruptManager)); + if(!pim) + return NULL; + + LIST_INIT(&pim->signals); + +#ifndef UA_HAVE_EPOLL + TAILQ_INIT(&pim->triggered); + singletonIM = pim; /* Register the singleton singleton pointer */ +#endif + + UA_InterruptManager *im = &pim->im; + im->eventSource.eventSourceType = UA_EVENTSOURCETYPE_INTERRUPTMANAGER; + UA_String_copy(&eventSourceName, &im->eventSource.name); + im->eventSource.start = startPOSIXInterruptManager; + im->eventSource.stop = stopPOSIXInterruptManager; + im->eventSource.free = freePOSIXInterruptmanager; + im->registerInterrupt = registerPOSIXInterrupt; + im->deregisterInterrupt = deregisterPOSIXInterrupt; + return im; +} + +/**** amalgamated original file "/arch/eventloop_posix_eth.c" ****/ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 2018 (c) Kontron Europe GmbH (Author: Rudolf Hoyler) + * Copyright 2019-2020 (c) Kalycito Infotech Private Limited + * Copyright 2019-2020 (c) Wind River Systems, Inc. + * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) + */ + + +#if defined(UA_ARCHITECTURE_POSIX) && defined(__linux__) + +#include /* htons */ +#include /* ETH_P_*/ +#include + +/* Configuration parameters */ +#define ETH_PARAMETERSSIZE 9 +#define ETH_PARAMINDEX_ADDR 0 +#define ETH_PARAMINDEX_LISTEN 1 +#define ETH_PARAMINDEX_IFACE 2 +#define ETH_PARAMINDEX_ETHERTYPE 3 +#define ETH_PARAMINDEX_VID 4 +#define ETH_PARAMINDEX_PCP 5 +#define ETH_PARAMINDEX_DEI 6 +#define ETH_PARAMINDEX_PROMISCUOUS 7 +#define ETH_PARAMINDEX_VALIDATE 8 + +static UA_KeyValueRestriction ETHConfigParameters[ETH_PARAMETERSSIZE+1] = { + {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], false, true, false}, + {{0, UA_STRING_STATIC("listen")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("interface")}, &UA_TYPES[UA_TYPES_STRING], true, true, false}, + {{0, UA_STRING_STATIC("ethertype")}, &UA_TYPES[UA_TYPES_UINT16], false, true, false}, + {{0, UA_STRING_STATIC("vid")}, &UA_TYPES[UA_TYPES_UINT16], false, true, false}, + {{0, UA_STRING_STATIC("pcp")}, &UA_TYPES[UA_TYPES_BYTE], false, true, false}, + {{0, UA_STRING_STATIC("dei")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("promiscuous")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + {{0, UA_STRING_STATIC("validate")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, + /* Duplicated address parameter with a scalar value required. For the send-socket case. */ + {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], true, true, false}, +}; + +#define UA_ETH_MAXHEADERLENGTH (2*ETHER_ADDR_LEN)+4+2+2 + +typedef struct { + UA_RegisteredFD rfd; + + UA_ConnectionManager_connectionCallback applicationCB; + void *application; + void *context; + + struct sockaddr_ll sll; + /* The Ethernet header to prepend for sending frames is precomputed and reused. + * The length field (the last 2 byte) is adjusted. + * - 2 * ETHER_ADDR_LEN: destination and source + * - 4 byte: VLAN tagging (optional) + * - 2 byte: EtherType (optional) + * - 2 byte: length */ + unsigned char header[UA_ETH_MAXHEADERLENGTH]; + unsigned char headerSize; + unsigned char lengthOffset; /* No length field if zero */ +} ETH_FD; + +/* The format of a Ethernet address is six groups of hexadecimal digits, + * separated by hyphens (e.g. 01-23-45-67-89-ab). */ +static UA_StatusCode +parseEthAddress(const UA_String *buf, UA_Byte *addr) { + size_t curr = 0, idx = 0; + for(; idx < ETHER_ADDR_LEN; idx++) { + UA_UInt32 value; + size_t progress = UA_readNumberWithBase(&buf->data[curr], + buf->length - curr, &value, 16); + if(progress == 0 || value > (long)0xff) + return UA_STATUSCODE_BADINTERNALERROR; + + addr[idx] = (UA_Byte) value; + + curr += progress; + if(curr == buf->length) + break; + + if(buf->data[curr] != '-') + return UA_STATUSCODE_BADINTERNALERROR; + + curr++; /* skip '-' */ + } + + if(idx != (ETH_ALEN-1)) + return UA_STATUSCODE_BADINTERNALERROR; + + return UA_STATUSCODE_GOOD; +} + +static UA_Boolean +isMulticastEthAddress(const UA_Byte *address) { + if((address[0] & 1) == 0) + return false; /* Unicast address */ + for(size_t i = 0; i < ETHER_ADDR_LEN; i++) { + if(address[i] != 0xff) + return true; /* Not broadcast address ff-ff-ff-ff-ff-ff */ + } + return false; +} + +static void +setAddrString(unsigned char addrStr[18], unsigned char addr[ETHER_ADDR_LEN]) { + mp_snprintf((char*)addrStr, 18, "%02x-%02x-%02x-%02x-%02x-%02x", + addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); +} + +/* Return zero if parsing failed */ +static size_t +parseETHHeader(const UA_ByteString *buf, + unsigned char destAddr[ETHER_ADDR_LEN], + unsigned char sourceAddr[ETHER_ADDR_LEN], + UA_UInt16 *etherType, UA_UInt16 *vid, + UA_Byte *pcp, UA_Boolean *dei) { + if(buf->length < (2 * ETHER_ADDR_LEN)+2) + return 0; + + /* Parse "normal" Ethernet header */ + memcpy(destAddr, buf->data, ETHER_ADDR_LEN); + memcpy(sourceAddr, &buf->data[ETHER_ADDR_LEN], ETHER_ADDR_LEN); + size_t pos = 2 * ETHER_ADDR_LEN; + UA_UInt16 length = ntohs(*(UA_UInt16*)&buf->data[pos]); + pos += 2; + + /* No EtherType and no VLAN */ + if(length <= 1500) + return pos; + + /* Parse 802.1Q VLAN header */ + if(length == 0x8100) { + if(buf->length < (2 * ETHER_ADDR_LEN)+2+4) + return 0; + pos += 2; + UA_UInt16 vlan = ntohs(*(UA_UInt16*)&buf->data[pos]); + *pcp = 0x07 & vlan; + *dei = 0x01 & (vlan >> 3); + *vid = vlan >> 4; + pos += 2; + length = ntohs(*(UA_UInt16*)&buf->data[pos]); + } + + /* Set the EtherType if it is set */ + if(length > 1500) + *etherType = length; + + return pos; +} + +static unsigned char +setETHHeader(unsigned char *buf, + unsigned char destAddr[ETHER_ADDR_LEN], + unsigned char sourceAddr[ETHER_ADDR_LEN], + UA_UInt16 etherType, UA_UInt16 vid, + UA_Byte pcp, UA_Boolean dei, unsigned char *lengthOffset) { + /* Set dest and source address */ + size_t pos = 0; + memcpy(buf, destAddr, ETHER_ADDR_LEN); + pos += ETHER_ADDR_LEN; + memcpy(&buf[pos], sourceAddr, ETHER_ADDR_LEN); + pos += ETHER_ADDR_LEN; + + /* Set the 802.1Q VLAN header */ + if(vid > 0 && vid != ETH_P_ALL) { + *(UA_UInt16*)&buf[pos] = htons(0x8100); + pos += 2; + UA_UInt16 vlan = (UA_UInt16)((UA_UInt16)pcp + (((UA_UInt16)dei) << 3) + (vid << 4)); + *(UA_UInt16*)&buf[pos] = htons(vlan); + pos += 2; + } + + /* Set the Ethertype or store the offset for the length field */ + if(etherType == 0 || etherType == ETH_P_ALL) { + *lengthOffset = (unsigned char)pos; + } else { + *(UA_UInt16*)&buf[pos] = htons(etherType); + } + pos += 2; + return (unsigned char)pos; +} + +static UA_StatusCode +ETH_allocNetworkBuffer(UA_ConnectionManager *cm, uintptr_t connectionId, + UA_ByteString *buf, size_t bufSize) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + + /* Get the ETH_FD */ + UA_FD fd = (UA_FD)connectionId; + ETH_FD *erfd = (ETH_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!erfd) + return UA_STATUSCODE_BADCONNECTIONREJECTED; + + /* Allocate the buffer with the hidden Ethernet header in front */ + UA_StatusCode res = UA_ByteString_allocBuffer(buf, bufSize+erfd->headerSize); + buf->data += erfd->headerSize; + buf->length -= erfd->headerSize; + return res; +} + +static void +ETH_freeNetworkBuffer(UA_ConnectionManager *cm, uintptr_t connectionId, + UA_ByteString *buf) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + + /* Get the ETH_FD */ + UA_FD fd = (UA_FD)connectionId; + ETH_FD *erfd = (ETH_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!erfd) + return; + + /* Unhide the Ethernet header */ + buf->data -= erfd->headerSize; + buf->length += erfd->headerSize; + UA_ByteString_clear(buf); +} + +/* Test if the ConnectionManager can be stopped */ +static void +ETH_checkStopped(UA_POSIXConnectionManager *pcm) { + UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); + + if(pcm->fdsSize == 0 && + pcm->cm.eventSource.state == UA_EVENTSOURCESTATE_STOPPING) { + UA_LOG_DEBUG(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| All sockets closed, the EventLoop has stopped"); + pcm->cm.eventSource.state = UA_EVENTSOURCESTATE_STOPPED; + } +} + +/* This method must not be called from the application directly, but from within + * the EventLoop. Otherwise we cannot be sure whether the file descriptor is + * still used after calling close. */ +static void +ETH_close(UA_POSIXConnectionManager *pcm, ETH_FD *conn) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Closing connection", + (unsigned)conn->rfd.fd); + + /* Deregister from the EventLoop */ + UA_EventLoopPOSIX_deregisterFD(el, &conn->rfd); + + /* Deregister internally */ + ZIP_REMOVE(UA_FDTree, &pcm->fds, &conn->rfd); + UA_assert(pcm->fdsSize > 0); + pcm->fdsSize--; + + /* Signal closing to the application */ + conn->applicationCB(&pcm->cm, (uintptr_t)conn->rfd.fd, + conn->application, &conn->context, + UA_CONNECTIONSTATE_CLOSING, + &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); + + /* Close the socket */ + int ret = UA_close(conn->rfd.fd); + if(ret == 0) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Socket closed", (unsigned)conn->rfd.fd); + } else { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Could not close the socket (%s)", + (unsigned)conn->rfd.fd, errno_str)); + } + + /* Don't call free here. This might be done automatically via the delayed + * callback that calls ETH_close. */ + /* UA_free(rfd); */ + + /* Stop if the ucm is stopping and this was the last open socket */ + ETH_checkStopped(pcm); +} + +static void +ETH_delayedClose(void *application, void *context) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + ETH_FD *conn = (ETH_FD*)context; + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, + "ETH %u\t| Delayed closing of the connection", + (unsigned)conn->rfd.fd); + UA_LOCK(&el->elMutex); + ETH_close(pcm, conn); + UA_UNLOCK(&el->elMutex); + UA_free(conn); +} + +/* Gets called when a socket receives data or closes */ +static void +ETH_connectionSocketCallback(UA_ConnectionManager *cm, UA_RegisteredFD *rfd, + short event) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK_ASSERT(&el->elMutex, 1); + + ETH_FD *conn = (ETH_FD*)rfd; + if(event == UA_FDEVENT_ERR) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| recv signaled the socket was shutdown (%s)", + (unsigned)rfd->fd, errno_str)); + ETH_close(pcm, conn); + UA_free(rfd); + return; + } + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Allocate receive buffer", (unsigned)rfd->fd); + + /* Get the number of available bytes */ + int bytes_available = 0; + ioctl(rfd->fd, FIONREAD, &bytes_available); + if(bytes_available <= 0) + return; + + UA_ByteString response; + UA_StatusCode res = UA_ByteString_allocBuffer(&response, (size_t)bytes_available); + if(res != UA_STATUSCODE_GOOD) + return; + + /* Receive */ +#ifndef UA_ARCHITECTURE_WIN32 + ssize_t ret = UA_recv(rfd->fd, (char*)response.data, + response.length, MSG_DONTWAIT); +#else + int ret = UA_recv(rfd->fd, (char*)response.data, + response.length, MSG_DONTWAIT); +#endif + + /* Receive has failed */ + if(ret <= 0) { + if(UA_ERRNO == UA_INTERRUPTED) { + UA_ByteString_clear(&response); + return; + } + + /* Orderly shutdown of the socket. We can immediately close as no method + * "below" in the call stack will use the socket in this iteration of + * the EventLoop. */ + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| recv signaled the socket was shutdown (%s)", + (unsigned)rfd->fd, errno_str)); + ETH_close(pcm, conn); + UA_free(rfd); + UA_ByteString_clear(&response); + return; + } + + /* Set the length of the received buffer */ + response.length = (size_t)ret; + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Received message of size %u", + (unsigned)rfd->fd, (unsigned)ret); + + /* Parse the Ethernet header */ + unsigned char destAddr[ETHER_ADDR_LEN]; + unsigned char sourceAddr[ETHER_ADDR_LEN]; + UA_UInt16 etherType = 0; + UA_UInt16 vid = 0; + UA_Byte pcp = 0; + UA_Boolean dei = 0; + size_t headerSize = parseETHHeader(&response, destAddr, sourceAddr, + ðerType, &vid, &pcp, &dei); + if(headerSize == 0) { + UA_ByteString_clear(&response); + return; + } + + /* Set up the parameter arguments */ + unsigned char destAddrBytes[18]; + unsigned char sourceAddrBytes[18]; + setAddrString(destAddrBytes, destAddr); + setAddrString(sourceAddrBytes, sourceAddr); + UA_String destAddrStr = {17, destAddrBytes}; + UA_String sourceAddrStr = {17, sourceAddrBytes}; + + size_t paramsSize = 2; + UA_KeyValuePair params[6]; + params[0].key = UA_QUALIFIEDNAME(0, "destination-address"); + UA_Variant_setScalar(¶ms[0].value, &destAddrStr, &UA_TYPES[UA_TYPES_STRING]); + params[1].key = UA_QUALIFIEDNAME(0, "source-address"); + UA_Variant_setScalar(¶ms[1].value, &sourceAddrStr, &UA_TYPES[UA_TYPES_STRING]); + if(etherType > 0) { + params[2].key = UA_QUALIFIEDNAME(0, "ethertype"); + UA_Variant_setScalar(¶ms[1].value, ðerType, &UA_TYPES[UA_TYPES_UINT16]); + paramsSize++; + } + if(vid > 0) { + params[paramsSize].key = UA_QUALIFIEDNAME(0, "vid"); + UA_Variant_setScalar(¶ms[paramsSize].value, &vid, &UA_TYPES[UA_TYPES_UINT16]); + params[paramsSize+1].key = UA_QUALIFIEDNAME(0, "pcp"); + UA_Variant_setScalar(¶ms[paramsSize+1].value, &pcp, &UA_TYPES[UA_TYPES_BYTE]); + params[paramsSize+2].key = UA_QUALIFIEDNAME(0, "dei"); + UA_Variant_setScalar(¶ms[paramsSize+2].value, &dei, &UA_TYPES[UA_TYPES_BOOLEAN]); + paramsSize += 3; + } + + UA_KeyValueMap map = {paramsSize, params}; + + /* Callback to the application layer with the Ethernet header hidden */ + response.data += headerSize; + response.length -= headerSize; + conn->applicationCB(cm, (uintptr_t)rfd->fd, conn->application, &conn->context, + UA_CONNECTIONSTATE_ESTABLISHED, &map, response); + response.data -= headerSize; + response.length += headerSize; + UA_ByteString_clear(&response); +} + +static UA_StatusCode +ETH_openListenConnection(UA_EventLoopPOSIX *el, ETH_FD *conn, + const UA_KeyValueMap *params, + int ifindex, UA_UInt16 etherType, + UA_Boolean validate) { + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Bind the socket to interface and EtherType. Don't receive anything else. */ + struct sockaddr_ll sll; + memset(&sll, 0, sizeof(struct sockaddr_ll)); + sll.sll_family = AF_PACKET; + sll.sll_protocol = htons(etherType); + sll.sll_ifindex = ifindex; + if(!validate && bind(conn->rfd.fd, (struct sockaddr*)&sll, sizeof(sll)) < 0) + return UA_STATUSCODE_BADINTERNALERROR; + + /* Immediately register for listen events. Don't have to wait for a + * connection to open. */ + conn->rfd.listenEvents = UA_FDEVENT_IN; + + /* Set receiving to promiscuous (all target host addresses) */ + const UA_Boolean *promiscuous = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_PROMISCUOUS].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(promiscuous && *promiscuous) { + struct packet_mreq mreq; + memset(&mreq, 0, sizeof(struct packet_mreq)); + mreq.mr_ifindex = ifindex; + mreq.mr_type = PACKET_MR_PROMISC; + int ret = setsockopt(conn->rfd.fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP, + &mreq, sizeof(mreq)); + if(ret < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Could not set raw socket to promiscuous mode %s", + (unsigned)conn->rfd.fd, errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } else { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| The socket was set to promiscuous mode", + (unsigned)conn->rfd.fd); + } + } + + /* Register for multicast if an address is defined */ + const UA_String *address = (const UA_String*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_ADDR].name, + &UA_TYPES[UA_TYPES_STRING]); + if(address) { + UA_Byte addr[ETHER_ADDR_LEN]; + UA_StatusCode res = parseEthAddress(address, addr); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Address for listening cannot be parsed"); + return res; + } + + if(!isMulticastEthAddress(addr)) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Address for listening is not a multicast address. Ignoring."); + return UA_STATUSCODE_GOOD; + } + + struct packet_mreq mreq; + memset(&mreq, 0, sizeof(struct packet_mreq)); + mreq.mr_ifindex = ifindex; + mreq.mr_type = PACKET_MR_MULTICAST; + mreq.mr_alen = ETH_ALEN; + memcpy(mreq.mr_address, addr, ETHER_ADDR_LEN); + if(!validate && UA_setsockopt(conn->rfd.fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP, + (char *)&mreq, sizeof(mreq)) < 0) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Registering for multicast failed with error %s", + errno_str)); + return UA_STATUSCODE_BADINTERNALERROR; + } + } + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Opened an Ethernet listen socket", + (unsigned)conn->rfd.fd); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +ETH_openSendConnection(UA_EventLoopPOSIX *el, ETH_FD *conn, const UA_KeyValueMap *params, + UA_Byte source[ETHER_ADDR_LEN], int ifindex, UA_UInt16 etherType) { + UA_LOCK_ASSERT(&el->elMutex, 1); + + /* Parse the target address (has to exist) */ + const UA_String *address = (const UA_String*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_ADDR].name, + &UA_TYPES[UA_TYPES_STRING]); + UA_Byte dest[ETHER_ADDR_LEN]; + UA_StatusCode res = parseEthAddress(address, dest); + if(res != UA_STATUSCODE_GOOD) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Could not parse the Ethernet address \"%.*s\"", + (int)address->length, (char*)address->data); + return res; + } + + /* Get the VLAN config */ + UA_UInt16 vid = 0; + UA_Byte pcp = 0; + UA_Boolean eid = false; + + const UA_UInt16 *vidp = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_VID].name, + &UA_TYPES[UA_TYPES_UINT16]); + if(vidp) + vid = *vidp; + + const UA_Byte *pcpp = (const UA_Byte*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_PCP].name, + &UA_TYPES[UA_TYPES_BYTE]); + if(pcpp) + pcp = *pcpp; + + const UA_Boolean *eidp = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_DEI].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(eidp) + eid = *eidp; + + /* Store the structure for sendto */ + conn->sll.sll_ifindex = ifindex; + conn->sll.sll_halen = ETH_ALEN; + memcpy(conn->sll.sll_addr, dest, ETHER_ADDR_LEN); + + /* Generate the Ethernet header */ + conn->headerSize = setETHHeader(conn->header, dest, source, etherType, + vid, pcp, eid, &conn->lengthOffset); + + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Opened an Ethernet send socket", + (unsigned)conn->rfd.fd); + + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +ETH_openConnection(UA_ConnectionManager *cm, const UA_KeyValueMap *params, + void *application, void *context, + UA_ConnectionManager_connectionCallback connectionCallback) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; + + UA_LOCK(&el->elMutex); + + /* Listen or send connection? */ + const UA_Boolean *listen = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_LISTEN].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + size_t ethParams = ETH_PARAMETERSSIZE; + if(!listen || !*listen) + ethParams++; /* Require the address parameter to exist */ + + /* Validate the parameters */ + UA_StatusCode res = + UA_KeyValueRestriction_validate(el->eventLoop.logger, "ETH", ETHConfigParameters, + ethParams, params); + if(res != UA_STATUSCODE_GOOD) { + UA_UNLOCK(&el->elMutex); + return res; + } + + /* Only validate the parameters? */ + UA_Boolean validate = false; + const UA_Boolean *validateParam = (const UA_Boolean*) + UA_KeyValueMap_getScalar(params, + ETHConfigParameters[ETH_PARAMINDEX_VALIDATE].name, + &UA_TYPES[UA_TYPES_BOOLEAN]); + if(validateParam) + validate = *validateParam; + + /* Get the EtherType parameter */ + UA_UInt16 etherType = ETH_P_ALL; + const UA_UInt16 *etParam = (const UA_UInt16*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_ETHERTYPE].name, + &UA_TYPES[UA_TYPES_UINT16]); + if(etParam) + etherType = *etParam; + + /* Get the interface index */ + const UA_String *interface = (const UA_String*) + UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_IFACE].name, + &UA_TYPES[UA_TYPES_STRING]); + if(interface->length >= 128) { + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + char ifname[128]; + memcpy(ifname, interface->data, interface->length); + ifname[interface->length] = 0; + int ifindex = (int)if_nametoindex(ifname); + if(ifindex == 0) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Could not find the interface %s", ifname); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Create the socket and add the basic configuration */ + ETH_FD *conn = NULL; + UA_FD sockfd; + if(listen && *listen) + sockfd = socket(PF_PACKET, SOCK_RAW, htons(etherType)); + else + sockfd = socket(PF_PACKET, SOCK_RAW, 0); /* Don't receive */ + if(sockfd == -1) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Could not create a raw Ethernet socket (are you root?)"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + res |= UA_EventLoopPOSIX_setReusable(sockfd); + res |= UA_EventLoopPOSIX_setNonBlocking(sockfd); + res |= UA_EventLoopPOSIX_setNoSigPipe(sockfd); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Create the FD object */ + conn = (ETH_FD*)UA_calloc(1, sizeof(ETH_FD)); + if(!conn) { + res = UA_STATUSCODE_BADOUTOFMEMORY; + goto cleanup; + } + + conn->rfd.fd = sockfd; + conn->rfd.es = &pcm->cm.eventSource; + conn->rfd.eventSourceCB = (UA_FDCallback)ETH_connectionSocketCallback; + conn->context = context; + conn->application = application; + conn->applicationCB = connectionCallback; + + /* Configure a listen or a send connection */ + if(!listen || !*listen) { + /* Get the source address for the interface */ + struct ifreq ifr; + memcpy(ifr.ifr_name, ifname, interface->length); + ifr.ifr_name[interface->length] = 0; + int result = ioctl(conn->rfd.fd, SIOCGIFHWADDR, &ifr); + if(result == -1) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Cannot get the source address, %s", + (unsigned)conn->rfd.fd, errno_str)); + res = UA_STATUSCODE_BADCONNECTIONREJECTED; + goto cleanup; + } + res = ETH_openSendConnection(el, conn, params, + (unsigned char*)ifr.ifr_hwaddr.sa_data, + ifindex, etherType); + } else { + res = ETH_openListenConnection(el, conn, params, ifindex, etherType, validate); + } + + /* Don't actually open or shut down */ + if(validate || res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Register in the EventLoop */ + res = UA_EventLoopPOSIX_registerFD(el, &conn->rfd); + if(res != UA_STATUSCODE_GOOD) + goto cleanup; + + /* Register locally */ + ZIP_INSERT(UA_FDTree, &pcm->fds, &conn->rfd); + pcm->fdsSize++; + + /* Register the listen socket in the application */ + connectionCallback(cm, (uintptr_t)sockfd, application, &conn->context, + UA_CONNECTIONSTATE_ESTABLISHED, &UA_KEYVALUEMAP_NULL, + UA_BYTESTRING_NULL); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; + + cleanup: + UA_close(sockfd); + UA_free(conn); + UA_UNLOCK(&el->elMutex); + return res; +} + +static void +ETH_shutdown(UA_POSIXConnectionManager *pcm, ETH_FD *conn) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); + + UA_DelayedCallback *dc = &conn->rfd.dc; + if(dc->callback) { + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Cannot close - already closing", + (unsigned)conn->rfd.fd); + return; + } + + /* Shutdown the socket to cancel the current select/epoll */ + shutdown(conn->rfd.fd, UA_SHUT_RDWR); + + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Shutdown called", (unsigned)conn->rfd.fd); + + dc->callback = ETH_delayedClose; + dc->application = pcm; + dc->context = conn; + + /* Don't use the "public" el->addDelayedCallback. It takes a lock. */ + dc->next = el->delayedCallbacks; + el->delayedCallbacks = dc; +} + +static UA_StatusCode +ETH_shutdownConnection(UA_ConnectionManager *cm, uintptr_t connectionId) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_LOCK(&el->elMutex); + + /* Get the ETH_FD */ + UA_FD fd = (UA_FD)connectionId; + UA_RegisteredFD *rfd = ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!rfd) { + UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Cannot close Ethernet connection %u - not found", + (unsigned)connectionId); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADNOTFOUND; + } + + ETH_shutdown(pcm, (ETH_FD*)rfd); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +ETH_sendWithConnection(UA_ConnectionManager *cm, uintptr_t connectionId, + const UA_KeyValueMap *params, UA_ByteString *buf) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + + UA_LOCK(&el->elMutex); + + /* Get the ETH_FD */ + UA_FD fd = (UA_FD)connectionId; + ETH_FD *conn = (ETH_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); + if(!conn) { + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADCONNECTIONREJECTED; + } + + /* Uncover and set the Ethernet header */ + buf->data -= conn->headerSize; + buf->length += conn->headerSize; + memcpy(buf->data, conn->header, conn->headerSize); + if(conn->lengthOffset) { + UA_UInt16 *ethLength = (UA_UInt16*)&buf->data[conn->lengthOffset]; + *ethLength = htons((UA_UInt16)(buf->length - conn->headerSize)); + } + + /* Prevent OS signals when sending to a closed socket */ + int flags = MSG_NOSIGNAL; + + struct pollfd tmp_poll_fd; + tmp_poll_fd.fd = (UA_FD)connectionId; + tmp_poll_fd.events = UA_POLLOUT; + + /* Send the full buffer. This may require several calls to send */ + size_t nWritten = 0; + do { + ssize_t n = 0; + do { + UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Attempting to send", (unsigned)connectionId); + size_t bytes_to_send = buf->length - nWritten; + n = UA_sendto(conn->rfd.fd, (const char*)buf->data + nWritten, bytes_to_send, + flags, (struct sockaddr*)&conn->sll, sizeof(conn->sll)); + if(n < 0) { + /* An error we cannot recover from? */ + if(UA_ERRNO != UA_INTERRUPTED && + UA_ERRNO != UA_WOULDBLOCK && + UA_ERRNO != UA_AGAIN) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Send failed with error %s", + (unsigned)connectionId, errno_str)); + ETH_shutdown(pcm, conn); + UA_UNLOCK(&el->elMutex); + UA_ByteString_clear(buf); + return UA_STATUSCODE_BADCONNECTIONCLOSED; + } + + /* Poll for the socket resources to become available and retry + * (blocking) */ + int poll_ret; + do { + poll_ret = UA_poll(&tmp_poll_fd, 1, 100); + if(poll_ret < 0 && UA_ERRNO != UA_INTERRUPTED) { + UA_LOG_SOCKET_ERRNO_WRAP( + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH %u\t| Send failed with error %s", + (unsigned)connectionId, errno_str)); + ETH_shutdown(pcm, conn); + UA_UNLOCK(&el->elMutex); + UA_ByteString_clear(buf); + return UA_STATUSCODE_BADCONNECTIONCLOSED; + } + } while(poll_ret <= 0); + } + } while(n < 0); + nWritten += (size_t)n; + } while(nWritten < buf->length); + + /* Free the buffer */ + UA_UNLOCK(&el->elMutex); + UA_ByteString_clear(buf); + return UA_STATUSCODE_GOOD; +} + +static UA_StatusCode +ETH_eventSourceStart(UA_ConnectionManager *cm) { + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; + UA_LOCK(&el->elMutex); + + /* Check the state */ + if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPED) { + UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "To start the Ethernet ConnectionManager, " + "it has to be registered in an EventLoop and not started"); + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Set the EventSource to the started state */ + cm->eventSource.state = UA_EVENTSOURCESTATE_STARTED; + + UA_UNLOCK(&el->elMutex); + return UA_STATUSCODE_GOOD; +} + +static void * +ETH_shutdownCB(void *application, UA_RegisteredFD *rfd) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; + ETH_shutdown(pcm, (ETH_FD*)rfd); + return NULL; +} + +static void +ETH_eventSourceStop(UA_ConnectionManager *cm) { + UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; + UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; + UA_LOCK(&el->elMutex); + + UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, + "ETH\t| Shutting down the ConnectionManager"); + + /* Prevent new connections to open */ + cm->eventSource.state = UA_EVENTSOURCESTATE_STOPPING; + + /* Shutdown all existing connection */ + ZIP_ITER(UA_FDTree, &pcm->fds, ETH_shutdownCB, cm); + + /* Check if stopped once more (also checking inside ETH_close, but there we + * don't check if there is no rfd at all) */ + ETH_checkStopped(pcm); + + UA_UNLOCK(&el->elMutex); +} + +static UA_StatusCode +ETH_eventSourceDelete(UA_ConnectionManager *cm) { + if(cm->eventSource.state >= UA_EVENTSOURCESTATE_STARTING) { + UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, + "ETH\t| The EventSource must be stopped before it can be deleted"); + return UA_STATUSCODE_BADINTERNALERROR; + } + + /* Delete the parameters */ + UA_KeyValueMap_clear(&cm->eventSource.params); + UA_String_clear(&cm->eventSource.name); + UA_free(cm); + return UA_STATUSCODE_GOOD; +} + +static const char *ethName = "eth"; + +UA_ConnectionManager * +UA_ConnectionManager_new_POSIX_Ethernet(const UA_String eventSourceName) { + UA_POSIXConnectionManager *cm = (UA_POSIXConnectionManager*) + UA_calloc(1, sizeof(UA_POSIXConnectionManager)); + if(!cm) + return NULL; + + cm->cm.eventSource.eventSourceType = UA_EVENTSOURCETYPE_CONNECTIONMANAGER; + UA_String_copy(&eventSourceName, &cm->cm.eventSource.name); + cm->cm.eventSource.start = (UA_StatusCode (*)(UA_EventSource *))ETH_eventSourceStart; + cm->cm.eventSource.stop = (void (*)(UA_EventSource *))ETH_eventSourceStop; + cm->cm.eventSource.free = (UA_StatusCode (*)(UA_EventSource *))ETH_eventSourceDelete; + cm->cm.protocol = UA_STRING((char*)(uintptr_t)ethName); + cm->cm.openConnection = ETH_openConnection; + cm->cm.allocNetworkBuffer = ETH_allocNetworkBuffer; + cm->cm.freeNetworkBuffer = ETH_freeNetworkBuffer; + cm->cm.sendWithConnection = ETH_sendWithConnection; + cm->cm.closeConnection = ETH_shutdownConnection; + return &cm->cm; +} + +#endif /* defined(UA_ARCHITECTURE_POSIX) && defined(__linux__) */ + From a8e1abfacdf74c51b05ca92dec5658510fbc240a Mon Sep 17 00:00:00 2001 From: Maks Boiar Date: Fri, 13 Mar 2026 20:59:01 +0100 Subject: [PATCH 3/4] Refactor --- CMakeLists.txt | 58 +- README.md | 10 +- doc/images/thumb.png | Bin 0 -> 421588 bytes examples/CMakeLists.txt | 1 + examples/DeltaRobot/CMakeLists.txt | 15 + examples/DeltaRobot/main.cpp | 99 + include/controller.h | 151 - include/device.h | 161 - include/face_detection.h | 55 - include/gesture_detection.h | 51 - include/open62541.h | 51804 --- include/robot.h | 4 - src/controller.cpp | 291 - src/core/Commands.h | 16 + src/core/controller.cpp | 215 + src/core/controller.hpp | 151 + src/core/detection.cpp | 58 + include/detection.h => src/core/detection.hpp | 33 +- src/core/device.cpp | 27 + src/core/device.hpp | 71 + src/core/face_detection.cpp | 67 + src/core/face_detection.hpp | 54 + src/core/gesture_detection.cpp | 105 + src/core/gesture_detection.hpp | 51 + {include => src/dep}/argparse.hpp | 0 src/detection.cpp | 57 - src/device.cpp | 44 - src/face_detection.cpp | 60 - src/gesture_detection.cpp | 93 - src/interfaces/opc_ua/dev_OPC_UA.cpp | 43 + src/interfaces/opc_ua/dev_OPC_UA.hpp | 131 + src/main.cpp | 111 - src/open62541.c | 272925 --------------- 33 files changed, 1137 insertions(+), 325875 deletions(-) mode change 100755 => 100644 CMakeLists.txt create mode 100644 doc/images/thumb.png create mode 100644 examples/CMakeLists.txt create mode 100755 examples/DeltaRobot/CMakeLists.txt create mode 100755 examples/DeltaRobot/main.cpp delete mode 100755 include/controller.h delete mode 100755 include/device.h delete mode 100755 include/face_detection.h delete mode 100755 include/gesture_detection.h delete mode 100644 include/open62541.h delete mode 100644 include/robot.h delete mode 100755 src/controller.cpp create mode 100644 src/core/Commands.h create mode 100755 src/core/controller.cpp create mode 100755 src/core/controller.hpp create mode 100644 src/core/detection.cpp rename include/detection.h => src/core/detection.hpp (57%) create mode 100755 src/core/device.cpp create mode 100755 src/core/device.hpp create mode 100755 src/core/face_detection.cpp create mode 100755 src/core/face_detection.hpp create mode 100755 src/core/gesture_detection.cpp create mode 100755 src/core/gesture_detection.hpp rename {include => src/dep}/argparse.hpp (100%) delete mode 100644 src/detection.cpp delete mode 100755 src/device.cpp delete mode 100755 src/face_detection.cpp delete mode 100755 src/gesture_detection.cpp create mode 100755 src/interfaces/opc_ua/dev_OPC_UA.cpp create mode 100755 src/interfaces/opc_ua/dev_OPC_UA.hpp delete mode 100755 src/main.cpp delete mode 100644 src/open62541.c diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100755 new mode 100644 index 76f3660..619c307 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,16 @@ -cmake_minimum_required(VERSION 3.30) - -set(PROJECT_ID gesture_controller) -PROJECT (${PROJECT_ID}) +cmake_minimum_required(VERSION 3.28) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) -# add_compile_options(-Wall -Wextra -Werror -Wpedantic -pedantic-errors -Wconversion) +set(PROJECT_ID delta_robot_example) + +PROJECT (${PROJECT_ID}) + +set(PROJECT_BASE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +set(SOFTWARE_SRC_PATH ${PROJECT_BASE_PATH}/src) +file(GLOB_RECURSE SOFTWARE_SRC "${SOFTWARE_SRC_PATH}/*.*") + set(USE_ASAN ON) set(BUILD_TESTS ON) @@ -14,49 +18,14 @@ set(BUILD_TESTS ON) if ((DEFINED USE_ASAN) AND (USE_ASAN STREQUAL "ON")) message(STATUS "Using AddressSanitizer (ASan).") if (UNIX) - # message(STATUS "ASAN_OPTIONS = $ENV{ASAN_OPTIONS}") - # set(ENV{ASAN_OPTIONS} allocator_may_return_null=1) add_compile_options(-fsanitize=address -fno-omit-frame-pointer) add_link_options(-fsanitize=address) endif(UNIX) endif() -# find_package(spdlog REQUIRED) -# find_package(OpenCV REQUIRED PATHS /usr/local/debug/) -if (CMAKE_BUILD_TYPE STREQUAL "Release") - set(OpenCV_DIR "C:/Users/boiar/opencv_build_release/install") - set(open62541_DIR "C:/Users/boiar/open62541/INSTALL_RELEASE/lib/cmake/open62541") -else() - set(OpenCV_DIR "C:/opencv_build_debug/install") - set(open62541_DIR "C:/Users/boiar/open62541/out/install/x64-Debug/lib/cmake/open62541") -endif() - find_package(OpenCV REQUIRED) find_package(open62541 REQUIRED) - -set( MAIN_SRC - src/main.cpp - src/controller.cpp - src/device.cpp - src/face_detection.cpp - src/gesture_detection.cpp - src/detection.cpp -) -set(MAIN_EXEC ${PROJECT_ID}__main) - -# cmrc_add_resource_library(models ALIAS models::rc NAMESPACE models -# resources/models/haarcascade_frontalface_default.xml -# resources/models/resnet18.onnx -# ) - -# cmrc_add_resource_library(test_res ALIAS test_res::rc NAMESPACE test_res -# test/data/test.png -# test/data/test_face.jpg -# resources/models/haarcascade_frontalface_default.xml -# resources/models/resnet18.onnx -# ) - include(FetchContent) FetchContent_Declare( spdlog @@ -65,11 +34,4 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(spdlog) - -add_executable( ${MAIN_EXEC} ${MAIN_SRC} ) -# target_compile_options(${MAIN_EXEC} PRIVATE -Werror -Wall -Wextra) -INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include ${OpenCV_INCLUDE_DIRS} ${open62541_INCLUDE_DIRS}) -link_directories( ${CMAKE_BINARY_DIR}/bin) -target_link_libraries(${MAIN_EXEC} PUBLIC ${OpenCV_LIBS} spdlog::spdlog open62541::open62541) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) - +add_subdirectory(examples) \ No newline at end of file diff --git a/README.md b/README.md index f7e0abb..bc1becb 100755 --- a/README.md +++ b/README.md @@ -4,9 +4,13 @@ Modular, versatile gesture-based controller written in C++. -## Demo +## Drone Software-in-the-Loop Simulation Demo -[![Watch the video](https://img.youtube.com/vi/OrVqN6P2TyY/hqdefault.jpg)](https://youtu.be/OrVqN6P2TyY) +[![Watch the demo](https://img.youtube.com/vi/OrVqN6P2TyY/hqdefault.jpg)](https://youtu.be/OrVqN6P2TyY) + +## Delta Robot PLC Demo + +[![Watch the demo](doc/images/thumb.png)](https://youtube.com/shorts/yFY8yK7BDtM) ## Features - Easily remappable gesture commands @@ -15,7 +19,7 @@ Modular, versatile gesture-based controller written in C++. - Face detection with the HaarCascade model - Gesture detection with the ResNet18 model trained on a custom dataset -## Usage +## Build and run examples Compile project with `cmake --build .` Run tests with `bin/gesture_controller__test` Run app with `bin/gesture_controller` diff --git a/doc/images/thumb.png b/doc/images/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..72abf05f0ae69ca66ad2b960bf704b71ff833822 GIT binary patch literal 421588 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�@QqA#-I%|;;*us<) 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
    1. J;yh;B?C1zb7b8 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 literal 0 HcmV?d00001 diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..41cba19 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(DeltaRobot) \ No newline at end of file diff --git a/examples/DeltaRobot/CMakeLists.txt b/examples/DeltaRobot/CMakeLists.txt new file mode 100755 index 0000000..390d2f0 --- /dev/null +++ b/examples/DeltaRobot/CMakeLists.txt @@ -0,0 +1,15 @@ +set(NAME DeltaRobotExample) + +add_executable(${NAME}) + +target_sources(${NAME} PRIVATE + ${SOFTWARE_SRC} +) + +target_include_directories(${NAME} PRIVATE ${SOFTWARE_SRC_PATH}) +target_compile_definitions(${NAME} PRIVATE UA_ENABLE_AMALGAMATION) + +target_include_directories(${NAME} PUBLIC ${OpenCV_INCLUDE_DIRS}) +link_directories( ${CMAKE_BINARY_DIR}/bin) +target_link_libraries(${NAME} PUBLIC ${OpenCV_LIBS} spdlog::spdlog) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) diff --git a/examples/DeltaRobot/main.cpp b/examples/DeltaRobot/main.cpp new file mode 100755 index 0000000..67681c0 --- /dev/null +++ b/examples/DeltaRobot/main.cpp @@ -0,0 +1,99 @@ +#include "spdlog/spdlog.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "core/controller.hpp" +#include + +using std::cerr; +using std::cout; +using std::endl; +using std::string; +using std::vector; + +int main(int argc, char *argv[]) { + + std::cout << "test" << std::endl; + + auto logger_ = spdlog::get("MAIN"); + + if (!logger_) { + logger_ = spdlog::stdout_color_mt("MAIN"); + } + logger_->set_level(spdlog::level::info); + + logger_->info("Parsing input arguments"); + + argparse::ArgumentParser parser("controller"); + parser.add_argument("-v", "--verbose") + .help("Display additional information during execution") + .default_value(false) + .implicit_value(true); + + parser.add_argument("--log-level") + .help("Choose logging level") + .scan<'d', int>() + .default_value(0); + + parser.add_argument("--save-video") + .help("Save video feed to a specified file") + .default_value(string{""}); + + parser.add_argument("mode") + .help("Choose operation mode") + .action([](const string &value) { + static const vector choices = {"SIM", "WEBCAM"}; + if (std::find(choices.begin(), choices.end(), value) != choices.end()) { + return value; + } + throw std::invalid_argument("Choose a valid mode option."); + }); + + parser.add_argument("--server-path") + .help("Save video feed to a specified file") + .default_value(string{"127.0.0.1:4840"}); + + parser.add_description("Control a delta robot with gestures."); + + try { + parser.parse_args(argc, argv); + } catch (const std::runtime_error &err) { + logger_->error(err.what()); + return EXIT_FAILURE; + } + + string mode = parser.get("mode"); + string server_addr = parser.get("--server-path"); + int log_level = parser.get("--log-level"); + string video_filepath = parser.get("--save-video"); + + spdlog::set_level(static_cast(log_level)); + + logger_->info("Connecting to device"); + std::string opc_ua_server_name = "opc.tcp://" + server_addr; + Device device = OPCUA_Device{}; + if (device.connect(opc_ua_server_name) < 0) { + logger_->info("Program exited with status {}", EXIT_FAILURE); + return EXIT_FAILURE; + } + device.streamon(); + + std::string gesture_detector_path = "../resources/models/resnet18.onnx"; + std::string face_detector_path = + "../resources/models/haarcascade_frontalface_default.xml"; + + Controller controller = + Controller(&device, true, face_detector_path, gesture_detector_path); + logger_->info("Running"); + controller.run(50); + + logger_->info("Program exited with status {}", EXIT_SUCCESS); + return EXIT_SUCCESS; +} diff --git a/include/controller.h b/include/controller.h deleted file mode 100755 index 6238a03..0000000 --- a/include/controller.h +++ /dev/null @@ -1,151 +0,0 @@ -/** - * @file controller.hpp - * - * @brief Device controller class and its components. - * - * @author Maks Boiar - * - */ - -#ifndef CONTROLLER_H -#define CONTROLLER_H - -#include -#include -#include -#include -#include -#include - -#include -#include "spdlog/spdlog.h" -#include "spdlog/sinks/stdout_color_sinks.h" - -#include "face_detection.h" -#include "gesture_detection.h" -#include "device.h" - -using std::string; -using std::vector; -using std::chrono::milliseconds; -using cv::Mat; -using std::atomic; -using TimePoint = std::chrono::time_point; -using AsyncLogger = std::shared_ptr; - -using interval_ms_t = unsigned long; -using class_id_t = unsigned long; - -class Buffer { - // TODO refactor - vector buffer_; - unsigned int max_count_; - size_t size_; - class_id_t default_class_id_; -public: - /** - * A constructor. - * @param max_count maximum count for a class_id before buffer is flushed - * @param size_ number of classes - * @param default_class_id to be returned when queried buffer is not full - */ - Buffer(unsigned int max_count, size_t size_, class_id_t default_class_id = 0) : max_count_(max_count), size_(size_), default_class_id_(default_class_id) { - buffer_ = vector(size_); - } - void add(class_id_t class_id); - class_id_t get(); - [[nodiscard]] size_t size() const { return buffer_.size(); } - unsigned int operator[](class_id_t class_id) const { return buffer_[class_id]; } -}; - -/** - * Device controller based on gesture recognition. - */ -class Controller { - constexpr static size_t buffer_len_ = 2; - constexpr static int speed_increment_[3] = { 10, 10, 10 }; - constexpr static milliseconds WAIT_RC_CONTROL_ = milliseconds(500); - constexpr static milliseconds WAIT_BATTERY_ = milliseconds(100); - constexpr static milliseconds FACE_TIMEOUT_ = milliseconds(1000); - constexpr static milliseconds GESTURE_TIMEOUT_ = milliseconds(1000); - - Device *device_; - bool dry_run_; - FaceDetector face_detector_; - GestureDetector gesture_detector_; - Buffer buffer_; - atomic battery_stat_ = -1; - atomic servoOk = false; - std::mutex modeMutex; - string modeText = ""; - atomic RobotPos[3] = { 0,0,0 }; - TimePoint last_gesture_ = TimePoint(); - TimePoint last_face_ = TimePoint(); - bool stop_device_ = false; - bool is_busy_ = false; - velocity_vector_ms_t velocity_ = { 0,0,0,0 }; - static const string cv_window_name_; - AsyncLogger logger_; - string name_; - - /** - * put additional information on the video frame. - * @param frame - * @param fps frames per second speed - */ - void put_info_on_frame_(Mat * frame, double fps/*, bool verbose = true*/); - - /** - * continuously query device's battery status and save value in `battery_stat` attribute. - */ - void update_battery_stat_(); - - /** - * Send a command from the buffer to the connected device. - */ - void send_command(); - -public: - /** - * A constructor. - * @param device pointer to a `Device` instance to be controlled. - * @param dry_run if true, commands are not being sent to the actual device. - * @param name controller instance name - */ - Controller( - Device* device, bool dry_run, const string& face_detector_path, const string& gesture_detector_path, - const string& name="CONTROLLER" - ) : - device_(device), - dry_run_(dry_run), - face_detector_(face_detector_path), - gesture_detector_(gesture_detector_path), - buffer_(buffer_len_, 19), - name_(name) { - logger_ = spdlog::get(name_); - if (!logger_) { - logger_ = spdlog::stdout_color_mt(name_); - } - logger_->set_level(spdlog::level::info); - }; - - /** - * run inference on input stream and control device. - * @param frame_refresh_rate indicates how often to refresh application window (in ms). - */ - void run(interval_ms_t frame_refresh_rate = 25); - - /** - * Detect gesture in an input image. - * @param image a matrix containing an image where gesture will be detected. - */ - void detect(image_t* image); - - /** - * Stop control and try to land the device. - */ - void stop(); - -}; - -#endif \ No newline at end of file diff --git a/include/device.h b/include/device.h deleted file mode 100755 index 33055f2..0000000 --- a/include/device.h +++ /dev/null @@ -1,161 +0,0 @@ -/** - * @file device.h - * - * @brief Generic controllable device interface. - * - * @author Maks Boiar - * - */ - -#ifndef DEVICE_H -#define DEVICE_H - -#include -#include -#include -#include - -#include -#include "spdlog/spdlog.h" -#include "spdlog/sinks/stdout_color_sinks.h" - -extern "C" { -#include -#include - -} - -using std::string; -using std::vector; -using AsyncLogger = std::shared_ptr; - -using velocity_vector_ms_t = vector; - -/** - * List of command names for device control. - */ -enum Command { - Idle, - JogXUp, // dislike - JogXDown, // fist - JogYUp, // four - JogYDown, // like - ToolOn, // ? - JogZDown, // ok - Stop, // mute - JogZUp, // palm - ToolOff, - NoGesture = 18 -}; - -/** - * Abstract controllable device with a camera. - */ -class Device { - AsyncLogger logger_; - bool simulate_; - static const char STREAM_URL_[]; - UA_Client* client; - cv::VideoCapture cap; -public: - Device(bool simulate = true): simulate_(simulate) { - string name("DEVICE"); - logger_ = spdlog::get(name); - if (!logger_) { - logger_ = spdlog::stdout_color_mt(name); - } - //logger_->set_level(spdlog::level::info); - } - int get_battery(); - template - T get_opc_value(char * key) { - UA_Variant value; - UA_Variant_init(&value); - //logger_->info("Reading {}", key); - auto status = UA_Client_readValueAttribute(client, UA_NODEID_STRING(6, key), &value); - //logger_->info("Read {}", key); - if (status == UA_STATUSCODE_GOOD /* && - UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { - logger_->debug("Read: {}\n", key); - return *(T*)value.data; - } - else { - logger_->error("Unable to read value"); - } - return T{}; - } - template - void set_opc_value(char* key, T value, const UA_DataType* type) { - UA_Variant valueVar; - UA_Variant_setScalar(&valueVar, &value, type); - auto status = UA_Client_writeValueAttribute(client, UA_NODEID_STRING(6, key), &valueVar); - if (status == UA_STATUSCODE_GOOD /* && - UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { - logger_->debug("Written: {}\n", key); - } - else { - logger_->error("Unable to read value"); - } - } - //template - //void set_opc_array(char* key, T& value, size_t size, const UA_DataType* type) { - // UA_Variant valueVar; - // UA_Variant_init(&variant); - // UA_Variant_setArray(&variant, value, size, type); - - // auto status = UA_Client_writeValueAttribute(client, UA_NODEID_STRING(6, key), &valueVar); - // if (status == UA_STATUSCODE_GOOD /* && - // UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { - // logger_->debug("Written: {}={}\n", key, *(bool*)value.data); - // } - // else { - // logger_->error("Unable to read value"); - // } - //} - - void send_rc_control(const velocity_vector_ms_t& velocity); - void land(); - - // /** - // * Capture video stream. - // * - // * @param camera_id id of the camera whose stream will be captured - // */ - cv::VideoCapture get_video_stream(int camera_id); - - // /** - // * Enable video streaming. - // */ - void streamon(){}; - - // /** - // * Connect to a device. - // */ - int connect(const std::string& server_name){ - std::string opc_ua_server_name(server_name); // 192.168.137.1 - logger_->info("Connecting to OPC UA server { }", opc_ua_server_name); - - client = UA_Client_new(); - UA_ClientConfig_setDefault(UA_Client_getConfig(client)); - UA_StatusCode retval = UA_Client_connect(client, opc_ua_server_name.c_str()); - if (retval != UA_STATUSCODE_GOOD) { - logger_->info("Unable to connect"); - UA_Client_delete(client); - return (int)retval; - } - logger_->info("Connected"); - - get_video_stream(0); - - return 0; - }; - - void get_frame(cv::Mat* frame) { cap >> *frame; } - - ~Device() { - UA_Client_disconnect(client); - UA_Client_delete(client); - } -}; - -#endif \ No newline at end of file diff --git a/include/face_detection.h b/include/face_detection.h deleted file mode 100755 index b2da95f..0000000 --- a/include/face_detection.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @file face_detection.hpp - * - * @brief Face detection implementation. - * - * @author Maks Boiar - * - */ - -#ifndef FACE_DETECTION_H -#define FACE_DETECTION_H - -#include "detection.h" - -using std::string; -using std::vector; -using std::ostream; -using cv::dnn::Net; -using TimePoint = std::chrono::time_point; -using AsyncLogger = std::shared_ptr; - - -/** - * Face detection implementation using OpenCV Cascade Classifier. - */ -class FaceDetector { - cv::CascadeClassifier detector_; - AsyncLogger logger_; - double scale_ = 4; -public: - /** - * A constructor. - * @param detector_path path to a XML file with cascade classifier weights. - */ - FaceDetector(const string& detector_path); - - /** - * Detect a face with the maximum area in the input image and find its bounding box. - * @param image matrix containing an image where face is detected. - * @see visualize() - * @see generate_bounding_box() - * @return a `struct` containing a bounding box and confidence - */ - DetectionResult detect(const image_t& frame); - - /** - * Put detection score and box on the image. - * @param img - * @param detection - * @param color - */ - static void visualize(image_t* frame, const DetectionResult& detection, const color_t& color = cv::Scalar(0, 0, 0)); -}; - -#endif \ No newline at end of file diff --git a/include/gesture_detection.h b/include/gesture_detection.h deleted file mode 100755 index add25cd..0000000 --- a/include/gesture_detection.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @file gesture_detection.hpp - * - * @brief Gesture detection implementation. - * - * @author Maks Boiar - * - */ - -#ifndef GESTURE_DETECTION_H -#define GESTURE_DETECTION_H - -#include "detection.h" -#include - -using AsyncLogger = std::shared_ptr; -using std::vector; -using std::string; -using landmarks_t = std::vector; - - -struct ClassifierOutput { - double score = 0; - int class_id = 0; - landmarks_t landmarks; - ClassifierOutput(double score, int class_id) : score(score), class_id(class_id) {} - ClassifierOutput() : score(0), class_id(0) {} -}; - -/** - * Gesture detection implementation based on a ResNet model. - */ -class GestureDetector { - AsyncLogger logger_; - cv::dnn::Net detector_; -public: - /** - * A constructor. - * @param detector_path path to a ONNX model. - */ - GestureDetector(const string& detector_path); - static void visualize( - image_t* image, const ClassifierOutput& classified_gesture, - const bounding_box_t& gesture_box, const color_t& color = cv::Scalar(0, 0, 0) - ); - ClassifierOutput detect(const cv::Mat&); - static bounding_box_t get_detection_area(const bounding_box_t& face_box, int img_width, int img_height, int w, int h); - static cv::Mat preprocess_image(const image_t& img); -}; - -#endif \ No newline at end of file diff --git a/include/open62541.h b/include/open62541.h deleted file mode 100644 index c2e6d6b..0000000 --- a/include/open62541.h +++ /dev/null @@ -1,51804 +0,0 @@ -/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES - * visit http://open62541.org/ for information about this software - * Git-Revision: v1.4.12 - */ - -/* - * Copyright (C) 2014-2021 the contributors as stated in the AUTHORS file - * - * This file is part of open62541. open62541 is free software: you can - * redistribute it and/or modify it under the terms of the Mozilla Public - * License v2.0 as stated in the LICENSE file provided with open62541. - * - * open62541 is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. - */ - -#ifndef OPEN62541_H_ -#define OPEN62541_H_ - -/**** amalgamated original file "/build/src_generated/open62541/config.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * open62541 Version - * ----------------- */ -#define UA_OPEN62541_VER_MAJOR 1 -#define UA_OPEN62541_VER_MINOR 4 -#define UA_OPEN62541_VER_PATCH 12 -#define UA_OPEN62541_VER_LABEL "" /* Release candidate label, etc. */ -#define UA_OPEN62541_VER_COMMIT "v1.4.12" -#define UA_OPEN62541_VERSION "v1.4.12" - -/** - * Architecture - * ------------ - * Define one of the following. */ - -/* #undef UA_ARCHITECTURE_WIN32 */ -#define UA_ARCHITECTURE_POSIX - -/* Select default architecture if none is selected */ -#if !defined(UA_ARCHITECTURE_WIN32) && !defined(UA_ARCHITECTURE_POSIX) -# ifdef _WIN32 -# define UA_ARCHITECTURE_WIN32 -# else -# define UA_ARCHITECTURE_POSIX -# endif -#endif - -/** - * Feature Options - * --------------- - * Changing the feature options has no effect on a pre-compiled library. */ - -#define UA_LOGLEVEL 100 -#ifndef UA_ENABLE_AMALGAMATION -#define UA_ENABLE_AMALGAMATION -#endif -#define UA_ENABLE_METHODCALLS -#define UA_ENABLE_NODEMANAGEMENT -#define UA_ENABLE_SUBSCRIPTIONS -#define UA_ENABLE_PUBSUB -#define UA_ENABLE_PUBSUB_ENCRYPTION -/* #undef UA_ENABLE_PUBSUB_FILE_CONFIG */ -#define UA_ENABLE_PUBSUB_INFORMATIONMODEL -#define UA_ENABLE_DA -#define UA_ENABLE_DIAGNOSTICS -#define UA_ENABLE_HISTORIZING -#define UA_ENABLE_PARSING -#define UA_ENABLE_SUBSCRIPTIONS_EVENTS -#define UA_ENABLE_JSON_ENCODING -/* #undef UA_ENABLE_XML_ENCODING */ -/* #undef UA_ENABLE_MQTT */ -/* #undef UA_ENABLE_NODESET_INJECTOR */ -/* #undef UA_INFORMATION_MODEL_AUTOLOAD */ -#define UA_ENABLE_ENCRYPTION_MBEDTLS -/* #undef UA_ENABLE_CERT_REJECTED_DIR */ -/* #undef UA_ENABLE_TPM2_SECURITY */ -/* #undef UA_ENABLE_ENCRYPTION_OPENSSL */ -/* #undef UA_ENABLE_ENCRYPTION_LIBRESSL */ -#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) || defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) -#define UA_ENABLE_ENCRYPTION -#endif -/* #undef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ - -/* Multithreading */ -/* #undef UA_ENABLE_IMMUTABLE_NODES */ -#define UA_MULTITHREADING 100 - -/* Advanced Options */ -#define UA_ENABLE_STATUSCODE_DESCRIPTIONS -#define UA_ENABLE_TYPEDESCRIPTION -/* #undef UA_ENABLE_INLINABLE_EXPORT */ -#define UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -/* #undef UA_ENABLE_DETERMINISTIC_RNG */ -#define UA_ENABLE_DISCOVERY -/* #undef UA_ENABLE_DISCOVERY_MULTICAST */ -/* #undef UA_ENABLE_QUERY */ -/* #undef UA_ENABLE_MALLOC_SINGLETON */ -#define UA_ENABLE_DISCOVERY_SEMAPHORE -#define UA_GENERATED_NAMESPACE_ZERO -#define UA_GENERATED_NAMESPACE_ZERO_FULL -/* #undef UA_ENABLE_PUBSUB_MONITORING */ -/* #undef UA_ENABLE_PUBSUB_BUFMALLOC */ -/* #undef UA_ENABLE_PUBSUB_SKS */ - -/* Options for Debugging */ -/* #undef UA_DEBUG */ -/* #undef UA_DEBUG_DUMP_PKGS */ -/* #undef UA_DEBUG_FILE_LINE_INFO */ - -/* Options for Tests */ -/* #undef UA_ENABLE_ALLOW_REUSEADDR */ - -/** - * Function Export - * --------------- - * On Win32: Define ``UA_DYNAMIC_LINKING`` and ``UA_DYNAMIC_LINKING_EXPORT`` in - * order to export symbols for a DLL. Define ``UA_DYNAMIC_LINKING`` only to - * import symbols from a DLL.*/ -/* #undef UA_DYNAMIC_LINKING */ - -/* Shortcuts for extern "C" declarations */ -#if !defined(_UA_BEGIN_DECLS) -# ifdef __cplusplus -# define _UA_BEGIN_DECLS extern "C" { -# else -# define _UA_BEGIN_DECLS -# endif -#endif -#if !defined(_UA_END_DECLS) -# ifdef __cplusplus -# define _UA_END_DECLS } -# else -# define _UA_END_DECLS -# endif -#endif - - -/** - * QNX Flags - * ------------------- - * Defining _QNX_SOURCE will ensure proper qnx types and other features - * are available. */ -#if defined(__QNX__) -# define _QNX_SOURCE 1 -#endif - -/** - * POSIX Feature Flags - * ------------------- - * These feature flags have to be set before including the first POSIX - * header. - * - * Special note for FreeBSD: Defining _XOPEN_SOURCE will hide lots of socket - * definitions as they are not defined by POSIX. Defining _BSD_SOURCE will - * not help as the symbols undergo a consistency check and get adjusted in - * the headers. */ -#ifdef UA_ARCHITECTURE_POSIX -# if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) -# define _XOPEN_SOURCE 600 -# endif -# ifndef _DEFAULT_SOURCE -# define _DEFAULT_SOURCE -# endif - -/* On older systems we need to define _BSD_SOURCE. - * _DEFAULT_SOURCE is an alias for that. */ -# ifndef _BSD_SOURCE -# define _BSD_SOURCE -# endif - -/* Define _GNU_SOURCE to get functions like poll. Comment this out to - * only use standard POSIX definitions. */ -# ifndef _GNU_SOURCE -# define _GNU_SOURCE -# endif - -#define UA_HAS_GETIFADDR 1 -#endif - -/** - * C99 Definitions - * --------------- */ -#include -#include -#include -#include -#include -#include - -/** - * Inline Functions - * ---------------- */ -#ifdef _MSC_VER -# define UA_INLINE __inline -#else -# define UA_INLINE inline -#endif - -/* An inlinable method is typically defined as "static inline". Some - * applications, such as language bindings with a C FFI (foreign function - * interface), can however not work with static inline methods. These can set - * the global UA_ENABLE_INLINABLE_EXPORT macro which causes all inlinable - * methods to be exported as a regular public API method. - * - * Note that UA_ENABLE_INLINABLE_EXPORT has a negative impact for both size and - * performance of the library. */ -#if defined(UA_ENABLE_INLINABLE_EXPORT) && defined(UA_INLINABLE_IMPL) -# define UA_INLINABLE(decl, impl) UA_EXPORT decl; decl impl -#elif defined(UA_ENABLE_INLINABLE_EXPORT) -# define UA_INLINABLE(decl, impl) UA_EXPORT decl; -#else -# define UA_INLINABLE(decl, impl) static UA_INLINE decl impl -#endif - -/** - * Thread-local variables - * ---------------------- */ -#if UA_MULTITHREADING >= 100 -# if defined(__GNUC__) /* Also covers clang */ -# define UA_THREAD_LOCAL __thread -# elif defined(_MSC_VER) -# define UA_THREAD_LOCAL __declspec(thread) -# endif -#endif -#ifndef UA_THREAD_LOCAL -# define UA_THREAD_LOCAL -#endif - -/** - * Atomic Operations - * ----------------- - * - * Atomic operations synchronize across processor cores and enable lockless - * multi-threading. */ - -/* Intrinsic atomic operations are not available everywhere for MSVC. - * Use the win32 API. Prevent duplicate definitions by via winsock2. */ -#if UA_MULTITHREADING >= 100 && defined(_WIN32) -# ifndef _WINSOCKAPI_ -# define _NO_WINSOCKAPI_ -# endif -# define _WINSOCKAPI_ -# include -# ifdef _NO_WINSOCKAPI_ -# undef _WINSOCKAPI_ -# endif -#endif - -static UA_INLINE void * -UA_atomic_xchg(void * volatile * addr, void *newptr) { -#if UA_MULTITHREADING >= 100 && defined(_WIN32) /* Visual Studio */ - return InterlockedExchangePointer(addr, newptr); -#elif UA_MULTITHREADING >= 100 && defined(__GNUC__) /* GCC/Clang */ - return __sync_lock_test_and_set(addr, newptr); -#else -# if UA_MULTITHREADING >= 100 -# warning Atomic operations not implemented -# endif - void *old = *addr; - *addr = newptr; - return old; -#endif -} - -static UA_INLINE void * -UA_atomic_cmpxchg(void * volatile * addr, void *expected, void *newptr) { -#if UA_MULTITHREADING >= 100 && defined(_WIN32) /* Visual Studio */ - return InterlockedCompareExchangePointer(addr, newptr, expected); -#elif UA_MULTITHREADING >= 100 && defined(__GNUC__) /* GCC/Clang */ - return __sync_val_compare_and_swap(addr, expected, newptr); -#else - void *old = *addr; - if(old == expected) - *addr = newptr; - return old; -#endif -} - -/** - * Memory Management - * ----------------- - * - * The flag ``UA_ENABLE_MALLOC_SINGLETON`` enables singleton (global) variables - * with method pointers for memory management (malloc et al.). The method - * pointers can be switched out at runtime. Use-cases for this are testing of - * constrained memory conditions and arena-based custom memory management. - * - * If the flag is undefined, then ``UA_malloc`` etc. are set to the default - * malloc, as defined in ``/arch//ua_architecture.h``. - */ - -#ifdef UA_ENABLE_MALLOC_SINGLETON -extern UA_THREAD_LOCAL void * (*UA_mallocSingleton)(size_t size); -extern UA_THREAD_LOCAL void (*UA_freeSingleton)(void *ptr); -extern UA_THREAD_LOCAL void * (*UA_callocSingleton)(size_t nelem, size_t elsize); -extern UA_THREAD_LOCAL void * (*UA_reallocSingleton)(void *ptr, size_t size); -# define UA_malloc(size) UA_mallocSingleton(size) -# define UA_free(ptr) UA_freeSingleton(ptr) -# define UA_calloc(num, size) UA_callocSingleton(num, size) -# define UA_realloc(ptr, size) UA_reallocSingleton(ptr, size) -#else -# include -# define UA_free free -# define UA_malloc malloc -# define UA_calloc calloc -# define UA_realloc realloc -#endif - -/* Stack-allocation of memory. Use C99 variable-length arrays if possible. - * Otherwise revert to alloca. Note that alloca is not supported on some - * plattforms. */ -#ifndef UA_STACKARRAY -# if defined(__GNUC__) || defined(__clang__) -# define UA_STACKARRAY(TYPE, NAME, SIZE) TYPE NAME[SIZE] -# else -# if defined(__GNUC__) || defined(__clang__) -# define UA_alloca(size) __builtin_alloca (size) -# elif defined(_WIN32) -# define UA_alloca(SIZE) _alloca(SIZE) -# else -# include -# define UA_alloca(SIZE) alloca(SIZE) -# endif -# define UA_STACKARRAY(TYPE, NAME, SIZE) \ - /* cppcheck-suppress allocaCalled */ \ - TYPE *(NAME) = (TYPE*)UA_alloca(sizeof(TYPE) * (SIZE)) -# endif -#endif - -/** - * Assertions - * ---------- - * The assert macro is disabled by defining NDEBUG. It is often forgotten to - * include -DNDEBUG in the compiler flags when using the single-file release. So - * we make assertions dependent on the UA_DEBUG definition handled by CMake. */ -#ifdef UA_DEBUG -# include -# define UA_assert(ignore) assert(ignore) -#else -# define UA_assert(ignore) do {} while(0) -#endif - -/* Outputs an error message at compile time if the assert fails. - * Example usage: - * UA_STATIC_ASSERT(sizeof(long)==7, use_another_compiler_luke) - * See: https://stackoverflow.com/a/4815532/869402 */ -#if defined(__cplusplus) && __cplusplus >= 201103L /* C++11 or above */ -# define UA_STATIC_ASSERT(cond,msg) static_assert(cond, #msg) -#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L /* C11 or above */ -# define UA_STATIC_ASSERT(cond,msg) _Static_assert(cond, #msg) -#elif defined(__GNUC__) || defined(__clang__) || defined(_MSC_VER) /* GCC, Clang, MSC */ -# define UA_CTASTR2(pre,post) pre ## post -# define UA_CTASTR(pre,post) UA_CTASTR2(pre,post) -# ifndef __COUNTER__ /* PPC GCC fix */ -# define __COUNTER__ __LINE__ -# endif -# define UA_STATIC_ASSERT(cond,msg) \ - typedef struct { \ - unsigned int UA_CTASTR(static_assertion_failed_,msg) : !!(cond); \ - } UA_CTASTR(static_assertion_failed_,__COUNTER__) -#else /* Everybody else */ -# define UA_STATIC_ASSERT(cond,msg) typedef char static_assertion_##msg[(cond)?1:-1] -#endif - -/** - * Locking for Multithreading - * -------------------------- - * If locking is enabled, the locks must be reentrant. That is, the same thread - * must be able to take the same lock several times. This is required because we - * sometimes call a user-defined callback when the server-lock is still held. - * The user-defined code then should be able to call (public) methods which - * again take the server-lock. */ - -#if UA_MULTITHREADING < 100 - -# define UA_LOCK_INIT(lock) -# define UA_LOCK_DESTROY(lock) -# define UA_LOCK(lock) -# define UA_UNLOCK(lock) -# define UA_LOCK_ASSERT(lock, num) - -#elif defined(UA_ARCHITECTURE_WIN32) - -typedef struct { - /* Critical sections on win32 are always recursive */ - CRITICAL_SECTION mutex; - int mutexCounter; -} UA_Lock; - -static UA_INLINE void -UA_LOCK_INIT(UA_Lock *lock) { - InitializeCriticalSection(&lock->mutex); - lock->mutexCounter = 0; -} - -static UA_INLINE void -UA_LOCK_DESTROY(UA_Lock *lock) { - DeleteCriticalSection(&lock->mutex); -} - -static UA_INLINE void -UA_LOCK(UA_Lock *lock) { - EnterCriticalSection(&lock->mutex); - ++lock->mutexCounter; -} - -static UA_INLINE void -UA_UNLOCK(UA_Lock *lock) { - --lock->mutexCounter; - LeaveCriticalSection(&lock->mutex); -} - -static UA_INLINE void -UA_LOCK_ASSERT(UA_Lock *lock, int num) { - UA_assert(num <= 0 || lock->mutexCounter > 0); -} - -#elif defined(UA_ARCHITECTURE_POSIX) - -#include - -typedef struct { - pthread_mutex_t mutex; - int mutexCounter; -} UA_Lock; - -static UA_INLINE void -UA_LOCK_INIT(UA_Lock *lock) { - pthread_mutexattr_t mattr; - pthread_mutexattr_init(&mattr); - pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&lock->mutex, &mattr); - pthread_mutexattr_destroy(&mattr); - lock->mutexCounter = 0; -} - -static UA_INLINE void -UA_LOCK_DESTROY(UA_Lock *lock) { - pthread_mutex_destroy(&lock->mutex); -} - -static UA_INLINE void -UA_LOCK(UA_Lock *lock) { - pthread_mutex_lock(&lock->mutex); - lock->mutexCounter++; -} - -static UA_INLINE void -UA_UNLOCK(UA_Lock *lock) { - lock->mutexCounter--; - pthread_mutex_unlock(&lock->mutex); -} - -static UA_INLINE void -UA_LOCK_ASSERT(UA_Lock *lock, int num) { - UA_assert(num <= 0 || lock->mutexCounter > 0); -} - -#endif - -/** - * Dynamic Linking - * --------------- - * Explicit attribute for functions to be exported in a shared library. */ -#if defined(_WIN32) && defined(UA_DYNAMIC_LINKING) -# ifdef UA_DYNAMIC_LINKING_EXPORT /* export dll */ -# ifdef __GNUC__ -# define UA_EXPORT __attribute__ ((dllexport)) -# else -# define UA_EXPORT __declspec(dllexport) -# endif -# else /* import dll */ -# ifdef __GNUC__ -# define UA_EXPORT __attribute__ ((dllimport)) -# else -# define UA_EXPORT __declspec(dllimport) -# endif -# endif -#else /* non win32 */ -# if __GNUC__ || __clang__ -# define UA_EXPORT __attribute__ ((visibility ("default"))) -# endif -#endif -#ifndef UA_EXPORT -# define UA_EXPORT /* fallback to default */ -#endif - -/** - * Threadsafe functions - * -------------------- - * Functions that can be called from independent threads are marked with - * the UA_THREADSAFE macro. This is currently only an information for the - * developer. It can be used in the future for instrumentation and static - * code analysis. */ -#define UA_THREADSAFE - -/** - * Non-aliasing pointers - * -------------------- */ -#ifdef _MSC_VER -# define UA_RESTRICT __restrict -#elif defined(__GNUC__) -# define UA_RESTRICT __restrict__ -#elif defined(__CODEGEARC__) -# define UA_RESTRICT _RESTRICT -#else -# define UA_RESTRICT restrict -#endif - -/** - * Likely/Unlikely Conditions - * -------------------------- - * Condition is likely/unlikely, to help branch prediction. */ -#if defined(__GNUC__) || defined(__clang__) -# define UA_LIKELY(x) __builtin_expect((x), 1) -# define UA_UNLIKELY(x) __builtin_expect((x), 0) -#else -# define UA_LIKELY(x) x -# define UA_UNLIKELY(x) x -#endif - -/** - * Function attributes - * ------------------- */ -#if defined(__GNUC__) || defined(__clang__) -# define UA_FUNC_ATTR_MALLOC __attribute__((malloc)) -# define UA_FUNC_ATTR_PURE __attribute__ ((pure)) -# define UA_FUNC_ATTR_CONST __attribute__((const)) -# define UA_FUNC_ATTR_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# define UA_FORMAT(X,Y) __attribute__ ((format (printf, X, Y))) -#elif defined(_MSC_VER) && _MSC_VER >= 1800 -# include -# define UA_FUNC_ATTR_MALLOC -# define UA_FUNC_ATTR_PURE -# define UA_FUNC_ATTR_CONST -# define UA_FUNC_ATTR_WARN_UNUSED_RESULT _Check_return_ -# define UA_FORMAT(X,Y) -#else -# define UA_FUNC_ATTR_MALLOC -# define UA_FUNC_ATTR_PURE -# define UA_FUNC_ATTR_CONST -# define UA_FUNC_ATTR_WARN_UNUSED_RESULT -# define UA_FORMAT(X,Y) -#endif - -#if defined(__GNUC__) || defined(__clang__) -# define UA_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) -# define UA_DEPRECATED __declspec(deprecated) -#else -# define UA_DEPRECATED -#endif - -/** - * Internal Attributes - * ------------------- - * These attributes are only defined if the macro UA_INTERNAL is defined. That - * way public methods can be annotated (e.g. to warn for unused results) but - * warnings are only triggered for internal code. */ - -#if defined(UA_INTERNAL) && (defined(__GNUC__) || defined(__clang__)) -# define UA_INTERNAL_DEPRECATED \ - _Pragma ("GCC warning \"Macro is deprecated for internal use\"") -#else -# define UA_INTERNAL_DEPRECATED -#endif - -#if defined(UA_INTERNAL) && (defined(__GNUC__) || defined(__clang__)) -# define UA_INTERNAL_FUNC_ATTR_WARN_UNUSED_RESULT \ - __attribute__((warn_unused_result)) -#else -# define UA_INTERNAL_FUNC_ATTR_WARN_UNUSED_RESULT -#endif - -/** - * Detect Endianness and IEEE 754 floating point - * --------------------------------------------- - * Integers and floating point numbers are transmitted in little-endian (IEEE - * 754 for floating point) encoding. If the target architecture uses the same - * format, numeral datatypes can be memcpy'd (overlayed) on the network buffer. - * Otherwise, a slow default encoding routine is used that works for every - * architecture. - * - * Integer Endianness - * ^^^^^^^^^^^^^^^^^^ - * The definition ``UA_LITTLE_ENDIAN`` is true when the integer representation - * of the target architecture is little-endian. */ -#if defined(_WIN32) -# define UA_LITTLE_ENDIAN 1 -#elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) -# define UA_LITTLE_ENDIAN 1 -#elif (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ - (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) -# define UA_LITTLE_ENDIAN 1 -#elif defined(__linux__) /* Linux (including Android) */ -# include -# if __BYTE_ORDER == __LITTLE_ENDIAN -# define UA_LITTLE_ENDIAN 1 -# endif -#elif defined(__OpenBSD__) /* OpenBSD */ -# include -# if BYTE_ORDER == LITTLE_ENDIAN -# define UA_LITTLE_ENDIAN 1 -# endif -#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) /* Other BSD */ -# include -# if _BYTE_ORDER == _LITTLE_ENDIAN -# define UA_LITTLE_ENDIAN 1 -# endif -#elif defined(__APPLE__) /* Apple (MacOS, iOS) */ -# include -# if defined(__LITTLE_ENDIAN__) -# define UA_LITTLE_ENDIAN 1 -# endif -#elif defined(__QNX__) || defined(__QNXNTO__) /* QNX */ -# include -# if defined(__LITTLEENDIAN__) -# define UA_LITTLE_ENDIAN 1 -# endif -#elif defined(_OS9000) /* OS-9 */ -# if defined(_LIL_END) -# define UA_LITTLE_ENDIAN 1 -# endif -#endif -#ifndef UA_LITTLE_ENDIAN -# define UA_LITTLE_ENDIAN 0 -#endif - -/* Can the integers be memcpy'd onto the network buffer? Add additional checks - * here. Some platforms (e.g. QNX) have sizeof(bool) > 1. Manually disable - * overlayed integer encoding if that is the case. */ -#if (UA_LITTLE_ENDIAN == 1) -UA_STATIC_ASSERT(sizeof(bool) == 1, cannot_overlay_integers_with_large_bool); -# define UA_BINARY_OVERLAYABLE_INTEGER 1 -#else -# define UA_BINARY_OVERLAYABLE_INTEGER 0 -#endif - -/** - * Float Endianness - * ^^^^^^^^^^^^^^^^ - * The definition ``UA_FLOAT_IEEE754`` is set to true when the floating point - * number representation of the target architecture is IEEE 754. The definition - * ``UA_FLOAT_LITTLE_ENDIAN`` is set to true when the floating point number - * representation is in little-endian encoding. */ - -#ifndef UA_FLOAT_IEEE754 -#if defined(_WIN32) -# define UA_FLOAT_IEEE754 1 -#elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) || \ - defined(__ia64__) || defined(__powerpc__) || defined(__sparc__) || \ - defined(__arm__) -# define UA_FLOAT_IEEE754 1 -#elif defined(__STDC_IEC_559__) -# define UA_FLOAT_IEEE754 1 -#elif defined(ESP_PLATFORM) -# define UA_FLOAT_IEEE754 1 -#else -# define UA_FLOAT_IEEE754 0 -#endif -#endif - -/* Wikipedia says (https://en.wikipedia.org/wiki/Endianness): Although the - * ubiquitous x86 processors of today use little-endian storage for all types of - * data (integer, floating point, BCD), there are a number of hardware - * architectures where floating-point numbers are represented in big-endian form - * while integers are represented in little-endian form. */ -#if defined(_WIN32) -# define UA_FLOAT_LITTLE_ENDIAN 1 -#elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) -# define UA_FLOAT_LITTLE_ENDIAN 1 -#elif defined(__FLOAT_WORD_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ - (__FLOAT_WORD_ORDER__ == __ORDER_LITTLE_ENDIAN__) /* Defined only in GCC */ -# define UA_FLOAT_LITTLE_ENDIAN 1 -#elif defined(__FLOAT_WORD_ORDER) && defined(__LITTLE_ENDIAN) && \ - (__FLOAT_WORD_ORDER == __LITTLE_ENDIAN) /* Defined only in GCC */ -# define UA_FLOAT_LITTLE_ENDIAN 1 -#endif -#ifndef UA_FLOAT_LITTLE_ENDIAN -# define UA_FLOAT_LITTLE_ENDIAN 0 -#endif - -/* Only if the floating points are litle-endian **and** in IEEE 754 format can - * we memcpy directly onto the network buffer. */ -#if (UA_FLOAT_IEEE754 == 1) && (UA_FLOAT_LITTLE_ENDIAN == 1) -# define UA_BINARY_OVERLAYABLE_FLOAT 1 -#else -# define UA_BINARY_OVERLAYABLE_FLOAT 0 -#endif - - -/**** amalgamated original file "/build/src_generated/open62541/statuscodes.h" ****/ - -/** .. _statuscodes: - * - * StatusCodes - * =========== - * - * StatusCodes are extensively used in the OPC UA protocol and in the open62541 - * API. They are represented by the :ref:`statuscode` data type. The following - * definitions are autogenerated from the ``Opc.Ua.StatusCodes.csv`` file provided - * with the OPC UA standard. */ - -/* These StatusCodes are manually generated. */ -#define UA_STATUSCODE_INFOTYPE_DATAVALUE 0x00000400 -#define UA_STATUSCODE_INFOBITS_OVERFLOW 0x00000080 - -/* The operation succeeded. */ -#define UA_STATUSCODE_GOOD 0x00000000 - -/* The operation was uncertain. */ -#define UA_STATUSCODE_UNCERTAIN 0x40000000 - -/* The operation failed. */ -#define UA_STATUSCODE_BAD 0x80000000 - -/* An unexpected error occurred. */ -#define UA_STATUSCODE_BADUNEXPECTEDERROR 0x80010000 - -/* An internal error occurred as a result of a programming or configuration error. */ -#define UA_STATUSCODE_BADINTERNALERROR 0x80020000 - -/* Not enough memory to complete the operation. */ -#define UA_STATUSCODE_BADOUTOFMEMORY 0x80030000 - -/* An operating system resource is not available. */ -#define UA_STATUSCODE_BADRESOURCEUNAVAILABLE 0x80040000 - -/* A low level communication error occurred. */ -#define UA_STATUSCODE_BADCOMMUNICATIONERROR 0x80050000 - -/* Encoding halted because of invalid data in the objects being serialized. */ -#define UA_STATUSCODE_BADENCODINGERROR 0x80060000 - -/* Decoding halted because of invalid data in the stream. */ -#define UA_STATUSCODE_BADDECODINGERROR 0x80070000 - -/* The message encoding/decoding limits imposed by the stack have been exceeded. */ -#define UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED 0x80080000 - -/* The request message size exceeds limits set by the server. */ -#define UA_STATUSCODE_BADREQUESTTOOLARGE 0x80B80000 - -/* The response message size exceeds limits set by the client. */ -#define UA_STATUSCODE_BADRESPONSETOOLARGE 0x80B90000 - -/* An unrecognized response was received from the server. */ -#define UA_STATUSCODE_BADUNKNOWNRESPONSE 0x80090000 - -/* The operation timed out. */ -#define UA_STATUSCODE_BADTIMEOUT 0x800A0000 - -/* The server does not support the requested service. */ -#define UA_STATUSCODE_BADSERVICEUNSUPPORTED 0x800B0000 - -/* The operation was cancelled because the application is shutting down. */ -#define UA_STATUSCODE_BADSHUTDOWN 0x800C0000 - -/* The operation could not complete because the client is not connected to the server. */ -#define UA_STATUSCODE_BADSERVERNOTCONNECTED 0x800D0000 - -/* The server has stopped and cannot process any requests. */ -#define UA_STATUSCODE_BADSERVERHALTED 0x800E0000 - -/* No processing could be done because there was nothing to do. */ -#define UA_STATUSCODE_BADNOTHINGTODO 0x800F0000 - -/* The request could not be processed because it specified too many operations. */ -#define UA_STATUSCODE_BADTOOMANYOPERATIONS 0x80100000 - -/* The request could not be processed because there are too many monitored items in the subscription. */ -#define UA_STATUSCODE_BADTOOMANYMONITOREDITEMS 0x80DB0000 - -/* The extension object cannot be (de)serialized because the data type id is not recognized. */ -#define UA_STATUSCODE_BADDATATYPEIDUNKNOWN 0x80110000 - -/* The certificate provided as a parameter is not valid. */ -#define UA_STATUSCODE_BADCERTIFICATEINVALID 0x80120000 - -/* An error occurred verifying security. */ -#define UA_STATUSCODE_BADSECURITYCHECKSFAILED 0x80130000 - -/* The certificate does not meet the requirements of the security policy. */ -#define UA_STATUSCODE_BADCERTIFICATEPOLICYCHECKFAILED 0x81140000 - -/* The certificate has expired or is not yet valid. */ -#define UA_STATUSCODE_BADCERTIFICATETIMEINVALID 0x80140000 - -/* An issuer certificate has expired or is not yet valid. */ -#define UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID 0x80150000 - -/* The HostName used to connect to a server does not match a HostName in the certificate. */ -#define UA_STATUSCODE_BADCERTIFICATEHOSTNAMEINVALID 0x80160000 - -/* The URI specified in the ApplicationDescription does not match the URI in the certificate. */ -#define UA_STATUSCODE_BADCERTIFICATEURIINVALID 0x80170000 - -/* The certificate may not be used for the requested operation. */ -#define UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED 0x80180000 - -/* The issuer certificate may not be used for the requested operation. */ -#define UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED 0x80190000 - -/* The certificate is not trusted. */ -#define UA_STATUSCODE_BADCERTIFICATEUNTRUSTED 0x801A0000 - -/* It was not possible to determine if the certificate has been revoked. */ -#define UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN 0x801B0000 - -/* It was not possible to determine if the issuer certificate has been revoked. */ -#define UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN 0x801C0000 - -/* The certificate has been revoked. */ -#define UA_STATUSCODE_BADCERTIFICATEREVOKED 0x801D0000 - -/* The issuer certificate has been revoked. */ -#define UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED 0x801E0000 - -/* The certificate chain is incomplete. */ -#define UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE 0x810D0000 - -/* User does not have permission to perform the requested operation. */ -#define UA_STATUSCODE_BADUSERACCESSDENIED 0x801F0000 - -/* The user identity token is not valid. */ -#define UA_STATUSCODE_BADIDENTITYTOKENINVALID 0x80200000 - -/* The user identity token is valid but the server has rejected it. */ -#define UA_STATUSCODE_BADIDENTITYTOKENREJECTED 0x80210000 - -/* The specified secure channel is no longer valid. */ -#define UA_STATUSCODE_BADSECURECHANNELIDINVALID 0x80220000 - -/* The timestamp is outside the range allowed by the server. */ -#define UA_STATUSCODE_BADINVALIDTIMESTAMP 0x80230000 - -/* The nonce does appear to be not a random value or it is not the correct length. */ -#define UA_STATUSCODE_BADNONCEINVALID 0x80240000 - -/* The session id is not valid. */ -#define UA_STATUSCODE_BADSESSIONIDINVALID 0x80250000 - -/* The session was closed by the client. */ -#define UA_STATUSCODE_BADSESSIONCLOSED 0x80260000 - -/* The session cannot be used because ActivateSession has not been called. */ -#define UA_STATUSCODE_BADSESSIONNOTACTIVATED 0x80270000 - -/* The subscription id is not valid. */ -#define UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID 0x80280000 - -/* The header for the request is missing or invalid. */ -#define UA_STATUSCODE_BADREQUESTHEADERINVALID 0x802A0000 - -/* The timestamps to return parameter is invalid. */ -#define UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID 0x802B0000 - -/* The request was cancelled by the client. */ -#define UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT 0x802C0000 - -/* Too many arguments were provided. */ -#define UA_STATUSCODE_BADTOOMANYARGUMENTS 0x80E50000 - -/* The server requires a license to operate in general or to perform a service or operatio */ -#define UA_STATUSCODE_BADLICENSEEXPIRED 0x810E0000 - -/* The server has limits on number of allowed operations / object */ -#define UA_STATUSCODE_BADLICENSELIMITSEXCEEDED 0x810F0000 - -/* The server does not have a license which is required to operate in general or to perform a service or operation. */ -#define UA_STATUSCODE_BADLICENSENOTAVAILABLE 0x81100000 - -/* The subscription was transferred to another session. */ -#define UA_STATUSCODE_GOODSUBSCRIPTIONTRANSFERRED 0x002D0000 - -/* The processing will complete asynchronously. */ -#define UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY 0x002E0000 - -/* Sampling has slowed down due to resource limitations. */ -#define UA_STATUSCODE_GOODOVERLOAD 0x002F0000 - -/* The value written was accepted but was clamped. */ -#define UA_STATUSCODE_GOODCLAMPED 0x00300000 - -/* Communication with the data source is define */ -#define UA_STATUSCODE_BADNOCOMMUNICATION 0x80310000 - -/* Waiting for the server to obtain values from the underlying data source. */ -#define UA_STATUSCODE_BADWAITINGFORINITIALDATA 0x80320000 - -/* The syntax of the node id is not valid. */ -#define UA_STATUSCODE_BADNODEIDINVALID 0x80330000 - -/* The node id refers to a node that does not exist in the server address space. */ -#define UA_STATUSCODE_BADNODEIDUNKNOWN 0x80340000 - -/* The attribute is not supported for the specified Node. */ -#define UA_STATUSCODE_BADATTRIBUTEIDINVALID 0x80350000 - -/* The syntax of the index range parameter is invalid. */ -#define UA_STATUSCODE_BADINDEXRANGEINVALID 0x80360000 - -/* No data exists within the range of indexes specified. */ -#define UA_STATUSCODE_BADINDEXRANGENODATA 0x80370000 - -/* The data encoding is invalid. */ -#define UA_STATUSCODE_BADDATAENCODINGINVALID 0x80380000 - -/* The server does not support the requested data encoding for the node. */ -#define UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED 0x80390000 - -/* The access level does not allow reading or subscribing to the Node. */ -#define UA_STATUSCODE_BADNOTREADABLE 0x803A0000 - -/* The access level does not allow writing to the Node. */ -#define UA_STATUSCODE_BADNOTWRITABLE 0x803B0000 - -/* The value was out of range. */ -#define UA_STATUSCODE_BADOUTOFRANGE 0x803C0000 - -/* The requested operation is not supported. */ -#define UA_STATUSCODE_BADNOTSUPPORTED 0x803D0000 - -/* A requested item was not found or a search operation ended without success. */ -#define UA_STATUSCODE_BADNOTFOUND 0x803E0000 - -/* The object cannot be used because it has been deleted. */ -#define UA_STATUSCODE_BADOBJECTDELETED 0x803F0000 - -/* Requested operation is not implemented. */ -#define UA_STATUSCODE_BADNOTIMPLEMENTED 0x80400000 - -/* The monitoring mode is invalid. */ -#define UA_STATUSCODE_BADMONITORINGMODEINVALID 0x80410000 - -/* The monitoring item id does not refer to a valid monitored item. */ -#define UA_STATUSCODE_BADMONITOREDITEMIDINVALID 0x80420000 - -/* The monitored item filter parameter is not valid. */ -#define UA_STATUSCODE_BADMONITOREDITEMFILTERINVALID 0x80430000 - -/* The server does not support the requested monitored item filter. */ -#define UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED 0x80440000 - -/* A monitoring filter cannot be used in combination with the attribute specified. */ -#define UA_STATUSCODE_BADFILTERNOTALLOWED 0x80450000 - -/* A mandatory structured parameter was missing or null. */ -#define UA_STATUSCODE_BADSTRUCTUREMISSING 0x80460000 - -/* The event filter is not valid. */ -#define UA_STATUSCODE_BADEVENTFILTERINVALID 0x80470000 - -/* The content filter is not valid. */ -#define UA_STATUSCODE_BADCONTENTFILTERINVALID 0x80480000 - -/* An unrecognized operator was provided in a filter. */ -#define UA_STATUSCODE_BADFILTEROPERATORINVALID 0x80C10000 - -/* A valid operator was provide */ -#define UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED 0x80C20000 - -/* The number of operands provided for the filter operator was less then expected for the operand provided. */ -#define UA_STATUSCODE_BADFILTEROPERANDCOUNTMISMATCH 0x80C30000 - -/* The operand used in a content filter is not valid. */ -#define UA_STATUSCODE_BADFILTEROPERANDINVALID 0x80490000 - -/* The referenced element is not a valid element in the content filter. */ -#define UA_STATUSCODE_BADFILTERELEMENTINVALID 0x80C40000 - -/* The referenced literal is not a valid value. */ -#define UA_STATUSCODE_BADFILTERLITERALINVALID 0x80C50000 - -/* The continuation point provide is longer valid. */ -#define UA_STATUSCODE_BADCONTINUATIONPOINTINVALID 0x804A0000 - -/* The operation could not be processed because all continuation points have been allocated. */ -#define UA_STATUSCODE_BADNOCONTINUATIONPOINTS 0x804B0000 - -/* The reference type id does not refer to a valid reference type node. */ -#define UA_STATUSCODE_BADREFERENCETYPEIDINVALID 0x804C0000 - -/* The browse direction is not valid. */ -#define UA_STATUSCODE_BADBROWSEDIRECTIONINVALID 0x804D0000 - -/* The node is not part of the view. */ -#define UA_STATUSCODE_BADNODENOTINVIEW 0x804E0000 - -/* The number was not accepted because of a numeric overflow. */ -#define UA_STATUSCODE_BADNUMERICOVERFLOW 0x81120000 - -/* The ServerUri is not a valid URI. */ -#define UA_STATUSCODE_BADSERVERURIINVALID 0x804F0000 - -/* No ServerName was specified. */ -#define UA_STATUSCODE_BADSERVERNAMEMISSING 0x80500000 - -/* No DiscoveryUrl was specified. */ -#define UA_STATUSCODE_BADDISCOVERYURLMISSING 0x80510000 - -/* The semaphore file specified by the client is not valid. */ -#define UA_STATUSCODE_BADSEMPAHOREFILEMISSING 0x80520000 - -/* The security token request type is not valid. */ -#define UA_STATUSCODE_BADREQUESTTYPEINVALID 0x80530000 - -/* The security mode does not meet the requirements set by the server. */ -#define UA_STATUSCODE_BADSECURITYMODEREJECTED 0x80540000 - -/* The security policy does not meet the requirements set by the server. */ -#define UA_STATUSCODE_BADSECURITYPOLICYREJECTED 0x80550000 - -/* The server has reached its maximum number of sessions. */ -#define UA_STATUSCODE_BADTOOMANYSESSIONS 0x80560000 - -/* The user token signature is missing or invalid. */ -#define UA_STATUSCODE_BADUSERSIGNATUREINVALID 0x80570000 - -/* The signature generated with the client certificate is missing or invalid. */ -#define UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID 0x80580000 - -/* The client did not provide at least one software certificate that is valid and meets the profile requirements for the server. */ -#define UA_STATUSCODE_BADNOVALIDCERTIFICATES 0x80590000 - -/* The server does not support changing the user identity assigned to the session. */ -#define UA_STATUSCODE_BADIDENTITYCHANGENOTSUPPORTED 0x80C60000 - -/* The request was cancelled by the client with the Cancel service. */ -#define UA_STATUSCODE_BADREQUESTCANCELLEDBYREQUEST 0x805A0000 - -/* The parent node id does not to refer to a valid node. */ -#define UA_STATUSCODE_BADPARENTNODEIDINVALID 0x805B0000 - -/* The reference could not be created because it violates constraints imposed by the data model. */ -#define UA_STATUSCODE_BADREFERENCENOTALLOWED 0x805C0000 - -/* The requested node id was reject because it was either invalid or server does not allow node ids to be specified by the client. */ -#define UA_STATUSCODE_BADNODEIDREJECTED 0x805D0000 - -/* The requested node id is already used by another node. */ -#define UA_STATUSCODE_BADNODEIDEXISTS 0x805E0000 - -/* The node class is not valid. */ -#define UA_STATUSCODE_BADNODECLASSINVALID 0x805F0000 - -/* The browse name is invalid. */ -#define UA_STATUSCODE_BADBROWSENAMEINVALID 0x80600000 - -/* The browse name is not unique among nodes that share the same relationship with the parent. */ -#define UA_STATUSCODE_BADBROWSENAMEDUPLICATED 0x80610000 - -/* The node attributes are not valid for the node class. */ -#define UA_STATUSCODE_BADNODEATTRIBUTESINVALID 0x80620000 - -/* The type definition node id does not reference an appropriate type node. */ -#define UA_STATUSCODE_BADTYPEDEFINITIONINVALID 0x80630000 - -/* The source node id does not reference a valid node. */ -#define UA_STATUSCODE_BADSOURCENODEIDINVALID 0x80640000 - -/* The target node id does not reference a valid node. */ -#define UA_STATUSCODE_BADTARGETNODEIDINVALID 0x80650000 - -/* The reference type between the nodes is already defined. */ -#define UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED 0x80660000 - -/* The server does not allow this type of self reference on this node. */ -#define UA_STATUSCODE_BADINVALIDSELFREFERENCE 0x80670000 - -/* The reference type is not valid for a reference to a remote server. */ -#define UA_STATUSCODE_BADREFERENCELOCALONLY 0x80680000 - -/* The server will not allow the node to be deleted. */ -#define UA_STATUSCODE_BADNODELETERIGHTS 0x80690000 - -/* The server was not able to delete all target references. */ -#define UA_STATUSCODE_UNCERTAINREFERENCENOTDELETED 0x40BC0000 - -/* The server index is not valid. */ -#define UA_STATUSCODE_BADSERVERINDEXINVALID 0x806A0000 - -/* The view id does not refer to a valid view node. */ -#define UA_STATUSCODE_BADVIEWIDUNKNOWN 0x806B0000 - -/* The view timestamp is not available or not supported. */ -#define UA_STATUSCODE_BADVIEWTIMESTAMPINVALID 0x80C90000 - -/* The view parameters are not consistent with each other. */ -#define UA_STATUSCODE_BADVIEWPARAMETERMISMATCH 0x80CA0000 - -/* The view version is not available or not supported. */ -#define UA_STATUSCODE_BADVIEWVERSIONINVALID 0x80CB0000 - -/* The list of references may not be complete because the underlying system is not available. */ -#define UA_STATUSCODE_UNCERTAINNOTALLNODESAVAILABLE 0x40C00000 - -/* The server should have followed a reference to a node in a remote server but did not. The result set may be incomplete. */ -#define UA_STATUSCODE_GOODRESULTSMAYBEINCOMPLETE 0x00BA0000 - -/* The provided Nodeid was not a type definition nodeid. */ -#define UA_STATUSCODE_BADNOTTYPEDEFINITION 0x80C80000 - -/* One of the references to follow in the relative path references to a node in the address space in another server. */ -#define UA_STATUSCODE_UNCERTAINREFERENCEOUTOFSERVER 0x406C0000 - -/* The requested operation has too many matches to return. */ -#define UA_STATUSCODE_BADTOOMANYMATCHES 0x806D0000 - -/* The requested operation requires too many resources in the server. */ -#define UA_STATUSCODE_BADQUERYTOOCOMPLEX 0x806E0000 - -/* The requested operation has no match to return. */ -#define UA_STATUSCODE_BADNOMATCH 0x806F0000 - -/* The max age parameter is invalid. */ -#define UA_STATUSCODE_BADMAXAGEINVALID 0x80700000 - -/* The operation is not permitted over the current secure channel. */ -#define UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT 0x80E60000 - -/* The history details parameter is not valid. */ -#define UA_STATUSCODE_BADHISTORYOPERATIONINVALID 0x80710000 - -/* The server does not support the requested operation. */ -#define UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED 0x80720000 - -/* The defined timestamp to return was invalid. */ -#define UA_STATUSCODE_BADINVALIDTIMESTAMPARGUMENT 0x80BD0000 - -/* The server does not support writing the combination of valu */ -#define UA_STATUSCODE_BADWRITENOTSUPPORTED 0x80730000 - -/* The value supplied for the attribute is not of the same type as the attribute's value. */ -#define UA_STATUSCODE_BADTYPEMISMATCH 0x80740000 - -/* The method id does not refer to a method for the specified object. */ -#define UA_STATUSCODE_BADMETHODINVALID 0x80750000 - -/* The client did not specify all of the input arguments for the method. */ -#define UA_STATUSCODE_BADARGUMENTSMISSING 0x80760000 - -/* The executable attribute does not allow the execution of the method. */ -#define UA_STATUSCODE_BADNOTEXECUTABLE 0x81110000 - -/* The server has reached its maximum number of subscriptions. */ -#define UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS 0x80770000 - -/* The server has reached the maximum number of queued publish requests. */ -#define UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS 0x80780000 - -/* There is no subscription available for this session. */ -#define UA_STATUSCODE_BADNOSUBSCRIPTION 0x80790000 - -/* The sequence number is unknown to the server. */ -#define UA_STATUSCODE_BADSEQUENCENUMBERUNKNOWN 0x807A0000 - -/* The Server does not support retransmission queue and acknowledgement of sequence numbers is not available. */ -#define UA_STATUSCODE_GOODRETRANSMISSIONQUEUENOTSUPPORTED 0x00DF0000 - -/* The requested notification message is no longer available. */ -#define UA_STATUSCODE_BADMESSAGENOTAVAILABLE 0x807B0000 - -/* The client of the current session does not support one or more Profiles that are necessary for the subscription. */ -#define UA_STATUSCODE_BADINSUFFICIENTCLIENTPROFILE 0x807C0000 - -/* The sub-state machine is not currently active. */ -#define UA_STATUSCODE_BADSTATENOTACTIVE 0x80BF0000 - -/* An equivalent rule already exists. */ -#define UA_STATUSCODE_BADALREADYEXISTS 0x81150000 - -/* The server cannot process the request because it is too busy. */ -#define UA_STATUSCODE_BADTCPSERVERTOOBUSY 0x807D0000 - -/* The type of the message specified in the header invalid. */ -#define UA_STATUSCODE_BADTCPMESSAGETYPEINVALID 0x807E0000 - -/* The SecureChannelId and/or TokenId are not currently in use. */ -#define UA_STATUSCODE_BADTCPSECURECHANNELUNKNOWN 0x807F0000 - -/* The size of the message chunk specified in the header is too large. */ -#define UA_STATUSCODE_BADTCPMESSAGETOOLARGE 0x80800000 - -/* There are not enough resources to process the request. */ -#define UA_STATUSCODE_BADTCPNOTENOUGHRESOURCES 0x80810000 - -/* An internal error occurred. */ -#define UA_STATUSCODE_BADTCPINTERNALERROR 0x80820000 - -/* The server does not recognize the QueryString specified. */ -#define UA_STATUSCODE_BADTCPENDPOINTURLINVALID 0x80830000 - -/* The request could not be sent because of a network interruption. */ -#define UA_STATUSCODE_BADREQUESTINTERRUPTED 0x80840000 - -/* Timeout occurred while processing the request. */ -#define UA_STATUSCODE_BADREQUESTTIMEOUT 0x80850000 - -/* The secure channel has been closed. */ -#define UA_STATUSCODE_BADSECURECHANNELCLOSED 0x80860000 - -/* The token has expired or is not recognized. */ -#define UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN 0x80870000 - -/* The sequence number is not valid. */ -#define UA_STATUSCODE_BADSEQUENCENUMBERINVALID 0x80880000 - -/* The applications do not have compatible protocol versions. */ -#define UA_STATUSCODE_BADPROTOCOLVERSIONUNSUPPORTED 0x80BE0000 - -/* There is a problem with the configuration that affects the usefulness of the value. */ -#define UA_STATUSCODE_BADCONFIGURATIONERROR 0x80890000 - -/* The variable should receive its value from another variabl */ -#define UA_STATUSCODE_BADNOTCONNECTED 0x808A0000 - -/* There has been a failure in the device/data source that generates the value that has affected the value. */ -#define UA_STATUSCODE_BADDEVICEFAILURE 0x808B0000 - -/* There has been a failure in the sensor from which the value is derived by the device/data source. */ -#define UA_STATUSCODE_BADSENSORFAILURE 0x808C0000 - -/* The source of the data is not operational. */ -#define UA_STATUSCODE_BADOUTOFSERVICE 0x808D0000 - -/* The deadband filter is not valid. */ -#define UA_STATUSCODE_BADDEADBANDFILTERINVALID 0x808E0000 - -/* Communication to the data source has failed. The variable value is the last value that had a good quality. */ -#define UA_STATUSCODE_UNCERTAINNOCOMMUNICATIONLASTUSABLEVALUE 0x408F0000 - -/* Whatever was updating this value has stopped doing so. */ -#define UA_STATUSCODE_UNCERTAINLASTUSABLEVALUE 0x40900000 - -/* The value is an operational value that was manually overwritten. */ -#define UA_STATUSCODE_UNCERTAINSUBSTITUTEVALUE 0x40910000 - -/* The value is an initial value for a variable that normally receives its value from another variable. */ -#define UA_STATUSCODE_UNCERTAININITIALVALUE 0x40920000 - -/* The value is at one of the sensor limits. */ -#define UA_STATUSCODE_UNCERTAINSENSORNOTACCURATE 0x40930000 - -/* The value is outside of the range of values defined for this parameter. */ -#define UA_STATUSCODE_UNCERTAINENGINEERINGUNITSEXCEEDED 0x40940000 - -/* The value is derived from multiple sources and has less than the required number of Good sources. */ -#define UA_STATUSCODE_UNCERTAINSUBNORMAL 0x40950000 - -/* The value has been overridden. */ -#define UA_STATUSCODE_GOODLOCALOVERRIDE 0x00960000 - -/* This Condition refresh faile */ -#define UA_STATUSCODE_BADREFRESHINPROGRESS 0x80970000 - -/* This condition has already been disabled. */ -#define UA_STATUSCODE_BADCONDITIONALREADYDISABLED 0x80980000 - -/* This condition has already been enabled. */ -#define UA_STATUSCODE_BADCONDITIONALREADYENABLED 0x80CC0000 - -/* Property not availabl */ -#define UA_STATUSCODE_BADCONDITIONDISABLED 0x80990000 - -/* The specified event id is not recognized. */ -#define UA_STATUSCODE_BADEVENTIDUNKNOWN 0x809A0000 - -/* The event cannot be acknowledged. */ -#define UA_STATUSCODE_BADEVENTNOTACKNOWLEDGEABLE 0x80BB0000 - -/* The dialog condition is not active. */ -#define UA_STATUSCODE_BADDIALOGNOTACTIVE 0x80CD0000 - -/* The response is not valid for the dialog. */ -#define UA_STATUSCODE_BADDIALOGRESPONSEINVALID 0x80CE0000 - -/* The condition branch has already been acknowledged. */ -#define UA_STATUSCODE_BADCONDITIONBRANCHALREADYACKED 0x80CF0000 - -/* The condition branch has already been confirmed. */ -#define UA_STATUSCODE_BADCONDITIONBRANCHALREADYCONFIRMED 0x80D00000 - -/* The condition has already been shelved. */ -#define UA_STATUSCODE_BADCONDITIONALREADYSHELVED 0x80D10000 - -/* The condition is not currently shelved. */ -#define UA_STATUSCODE_BADCONDITIONNOTSHELVED 0x80D20000 - -/* The shelving time not within an acceptable range. */ -#define UA_STATUSCODE_BADSHELVINGTIMEOUTOFRANGE 0x80D30000 - -/* No data exists for the requested time range or event filter. */ -#define UA_STATUSCODE_BADNODATA 0x809B0000 - -/* No data found to provide upper or lower bound value. */ -#define UA_STATUSCODE_BADBOUNDNOTFOUND 0x80D70000 - -/* The server cannot retrieve a bound for the variable. */ -#define UA_STATUSCODE_BADBOUNDNOTSUPPORTED 0x80D80000 - -/* Data is missing due to collection started/stopped/lost. */ -#define UA_STATUSCODE_BADDATALOST 0x809D0000 - -/* Expected data is unavailable for the requested time range due to an un-mounted volum */ -#define UA_STATUSCODE_BADDATAUNAVAILABLE 0x809E0000 - -/* The data or event was not successfully inserted because a matching entry exists. */ -#define UA_STATUSCODE_BADENTRYEXISTS 0x809F0000 - -/* The data or event was not successfully updated because no matching entry exists. */ -#define UA_STATUSCODE_BADNOENTRYEXISTS 0x80A00000 - -/* The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp). */ -#define UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED 0x80A10000 - -/* The data or event was successfully inserted into the historical database. */ -#define UA_STATUSCODE_GOODENTRYINSERTED 0x00A20000 - -/* The data or event field was successfully replaced in the historical database. */ -#define UA_STATUSCODE_GOODENTRYREPLACED 0x00A30000 - -/* The value is derived from multiple values and has less than the required number of Good values. */ -#define UA_STATUSCODE_UNCERTAINDATASUBNORMAL 0x40A40000 - -/* No data exists for the requested time range or event filter. */ -#define UA_STATUSCODE_GOODNODATA 0x00A50000 - -/* More data is available in the time range beyond the number of values requested. */ -#define UA_STATUSCODE_GOODMOREDATA 0x00A60000 - -/* The requested number of Aggregates does not match the requested number of NodeIds. */ -#define UA_STATUSCODE_BADAGGREGATELISTMISMATCH 0x80D40000 - -/* The requested Aggregate is not support by the server. */ -#define UA_STATUSCODE_BADAGGREGATENOTSUPPORTED 0x80D50000 - -/* The aggregate value could not be derived due to invalid data inputs. */ -#define UA_STATUSCODE_BADAGGREGATEINVALIDINPUTS 0x80D60000 - -/* The aggregate configuration is not valid for specified node. */ -#define UA_STATUSCODE_BADAGGREGATECONFIGURATIONREJECTED 0x80DA0000 - -/* The request specifies fields which are not valid for the EventType or cannot be saved by the historian. */ -#define UA_STATUSCODE_GOODDATAIGNORED 0x00D90000 - -/* The request was rejected by the server because it did not meet the criteria set by the server. */ -#define UA_STATUSCODE_BADREQUESTNOTALLOWED 0x80E40000 - -/* The request has not been processed by the server yet. */ -#define UA_STATUSCODE_BADREQUESTNOTCOMPLETE 0x81130000 - -/* The operation is not allowed because a transaction is in progress. */ -#define UA_STATUSCODE_BADTRANSACTIONPENDING 0x80E80000 - -/* The device identity needs a ticket before it can be accepted. */ -#define UA_STATUSCODE_BADTICKETREQUIRED 0x811F0000 - -/* The device identity needs a ticket before it can be accepted. */ -#define UA_STATUSCODE_BADTICKETINVALID 0x81200000 - -/* The requested operation is not allowe */ -#define UA_STATUSCODE_BADLOCKED 0x80E90000 - -/* The value does not come from the real source and has been edited by the server. */ -#define UA_STATUSCODE_GOODEDITED 0x00DC0000 - -/* There was an error in execution of these post-actions. */ -#define UA_STATUSCODE_GOODPOSTACTIONFAILED 0x00DD0000 - -/* The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit. */ -#define UA_STATUSCODE_UNCERTAINDOMINANTVALUECHANGED 0x40DE0000 - -/* A dependent value has been changed but the change has not been applied to the device. */ -#define UA_STATUSCODE_GOODDEPENDENTVALUECHANGED 0x00E00000 - -/* 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. */ -#define UA_STATUSCODE_BADDOMINANTVALUECHANGED 0x80E10000 - -/* A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is uncertain. */ -#define UA_STATUSCODE_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 Bad. */ -#define UA_STATUSCODE_BADDEPENDENTVALUECHANGED 0x80E30000 - -/* It is delivered with a dominant Variable value when a dependent Variable has changed but the change has not been applied. */ -#define UA_STATUSCODE_GOODEDITED_DEPENDENTVALUECHANGED 0x01160000 - -/* It is delivered with a dependent Variable value when a dominant Variable has changed but the change has not been applied. */ -#define UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED 0x01170000 - -/* It is delivered with a dependent Variable value when a dominant or dependent Variable has changed but change has not been applied. */ -#define UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED 0x01180000 - -/* It is delivered with a Variable value when Variable has changed but the value is not legal. */ -#define UA_STATUSCODE_BADEDITED_OUTOFRANGE 0x81190000 - -/* It is delivered with a Variable value when a source Variable has changed but the value is not legal. */ -#define UA_STATUSCODE_BADINITIALVALUE_OUTOFRANGE 0x811A0000 - -/* It is delivered with a dependent Variable value when a dominant Variable has changed and the value is not legal. */ -#define UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED 0x811B0000 - -/* It is delivered with a dependent Variable value when a dominant Variable has change */ -#define UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED 0x811C0000 - -/* It is delivered with a dependent Variable value when a dominant or dependent Variable has changed and the value is not legal. */ -#define UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED 0x811D0000 - -/* It is delivered with a dependent Variable value when a dominant or dependent Variable has change */ -#define UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED 0x811E0000 - -/* The communication layer has raised an event. */ -#define UA_STATUSCODE_GOODCOMMUNICATIONEVENT 0x00A70000 - -/* The system is shutting down. */ -#define UA_STATUSCODE_GOODSHUTDOWNEVENT 0x00A80000 - -/* The operation is not finished and needs to be called again. */ -#define UA_STATUSCODE_GOODCALLAGAIN 0x00A90000 - -/* A non-critical timeout occurred. */ -#define UA_STATUSCODE_GOODNONCRITICALTIMEOUT 0x00AA0000 - -/* One or more arguments are invalid. */ -#define UA_STATUSCODE_BADINVALIDARGUMENT 0x80AB0000 - -/* Could not establish a network connection to remote server. */ -#define UA_STATUSCODE_BADCONNECTIONREJECTED 0x80AC0000 - -/* The server has disconnected from the client. */ -#define UA_STATUSCODE_BADDISCONNECT 0x80AD0000 - -/* The network connection has been closed. */ -#define UA_STATUSCODE_BADCONNECTIONCLOSED 0x80AE0000 - -/* The operation cannot be completed because the object is close */ -#define UA_STATUSCODE_BADINVALIDSTATE 0x80AF0000 - -/* Cannot move beyond end of the stream. */ -#define UA_STATUSCODE_BADENDOFSTREAM 0x80B00000 - -/* No data is currently available for reading from a non-blocking stream. */ -#define UA_STATUSCODE_BADNODATAAVAILABLE 0x80B10000 - -/* The asynchronous operation is waiting for a response. */ -#define UA_STATUSCODE_BADWAITINGFORRESPONSE 0x80B20000 - -/* The asynchronous operation was abandoned by the caller. */ -#define UA_STATUSCODE_BADOPERATIONABANDONED 0x80B30000 - -/* The stream did not return all data requested (possibly because it is a non-blocking stream). */ -#define UA_STATUSCODE_BADEXPECTEDSTREAMTOBLOCK 0x80B40000 - -/* Non blocking behaviour is required and the operation would block. */ -#define UA_STATUSCODE_BADWOULDBLOCK 0x80B50000 - -/* A value had an invalid syntax. */ -#define UA_STATUSCODE_BADSYNTAXERROR 0x80B60000 - -/* The operation could not be finished because all available connections are in use. */ -#define UA_STATUSCODE_BADMAXCONNECTIONSREACHED 0x80B70000 - -/* The value may not be accurate because the transducer is in manual mode. */ -#define UA_STATUSCODE_UNCERTAINTRANSDUCERINMANUAL 0x42080000 - -/* The value is simulated. */ -#define UA_STATUSCODE_UNCERTAINSIMULATEDVALUE 0x42090000 - -/* The value may not be accurate due to a sensor calibration fault. */ -#define UA_STATUSCODE_UNCERTAINSENSORCALIBRATION 0x420A0000 - -/* The value may not be accurate due to a configuration issue. */ -#define UA_STATUSCODE_UNCERTAINCONFIGURATIONERROR 0x420F0000 - -/* The value source supports cascade handshaking and the value has been Initialized based on an initialization request from a cascade secondary. */ -#define UA_STATUSCODE_GOODCASCADEINITIALIZATIONACKNOWLEDGED 0x04010000 - -/* The value source supports cascade handshaking and is requesting initialization of a cascade primary. */ -#define UA_STATUSCODE_GOODCASCADEINITIALIZATIONREQUEST 0x04020000 - -/* The value source supports cascade handshakin */ -#define UA_STATUSCODE_GOODCASCADENOTINVITED 0x04030000 - -/* The value source supports cascade handshakin */ -#define UA_STATUSCODE_GOODCASCADENOTSELECTED 0x04040000 - -/* There is a fault state condition active in the value source. */ -#define UA_STATUSCODE_GOODFAULTSTATEACTIVE 0x04070000 - -/* A fault state condition is being requested of the destination. */ -#define UA_STATUSCODE_GOODINITIATEFAULTSTATE 0x04080000 - -/* The value is accurat */ -#define UA_STATUSCODE_GOODCASCADE 0x04090000 - -/* The DataSet specified for the DataSetWriter creation is invalid. */ -#define UA_STATUSCODE_BADDATASETIDINVALID 0x80E70000 - -/* Depending on the version of the schema, the following might be already defined: */ -#ifndef UA_STATUSCODE_GOOD -# define UA_STATUSCODE_GOOD 0x00000000 -#endif -#ifndef UA_STATUSCODE_UNCERTAIN -# define UA_STATUSCODE_UNCERTAIN 0x40000000 -#endif -#ifndef UA_STATUSCODE_BAD -# define UA_STATUSCODE_BAD 0x80000000 -#endif - - -/**** amalgamated original file "/build/src_generated/open62541/nodeids.h" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - -#ifndef UA_NODEIDS_NS0_H_ -#define UA_NODEIDS_NS0_H_ - -/** - * Namespace Zero NodeIds - * ---------------------- - * Numeric identifiers of standard-defined nodes in namespace zero. The - * following definitions are autogenerated from a CSV file */ - -#define UA_NS0ID_BOOLEAN 1 /* DataType */ -#define UA_NS0ID_SBYTE 2 /* DataType */ -#define UA_NS0ID_BYTE 3 /* DataType */ -#define UA_NS0ID_INT16 4 /* DataType */ -#define UA_NS0ID_UINT16 5 /* DataType */ -#define UA_NS0ID_INT32 6 /* DataType */ -#define UA_NS0ID_UINT32 7 /* DataType */ -#define UA_NS0ID_INT64 8 /* DataType */ -#define UA_NS0ID_UINT64 9 /* DataType */ -#define UA_NS0ID_FLOAT 10 /* DataType */ -#define UA_NS0ID_DOUBLE 11 /* DataType */ -#define UA_NS0ID_STRING 12 /* DataType */ -#define UA_NS0ID_DATETIME 13 /* DataType */ -#define UA_NS0ID_GUID 14 /* DataType */ -#define UA_NS0ID_BYTESTRING 15 /* DataType */ -#define UA_NS0ID_XMLELEMENT 16 /* DataType */ -#define UA_NS0ID_NODEID 17 /* DataType */ -#define UA_NS0ID_EXPANDEDNODEID 18 /* DataType */ -#define UA_NS0ID_STATUSCODE 19 /* DataType */ -#define UA_NS0ID_QUALIFIEDNAME 20 /* DataType */ -#define UA_NS0ID_LOCALIZEDTEXT 21 /* DataType */ -#define UA_NS0ID_STRUCTURE 22 /* DataType */ -#define UA_NS0ID_DATAVALUE 23 /* DataType */ -#define UA_NS0ID_BASEDATATYPE 24 /* DataType */ -#define UA_NS0ID_DIAGNOSTICINFO 25 /* DataType */ -#define UA_NS0ID_NUMBER 26 /* DataType */ -#define UA_NS0ID_INTEGER 27 /* DataType */ -#define UA_NS0ID_UINTEGER 28 /* DataType */ -#define UA_NS0ID_ENUMERATION 29 /* DataType */ -#define UA_NS0ID_IMAGE 30 /* DataType */ -#define UA_NS0ID_REFERENCES 31 /* ReferenceType */ -#define UA_NS0ID_NONHIERARCHICALREFERENCES 32 /* ReferenceType */ -#define UA_NS0ID_HIERARCHICALREFERENCES 33 /* ReferenceType */ -#define UA_NS0ID_HASCHILD 34 /* ReferenceType */ -#define UA_NS0ID_ORGANIZES 35 /* ReferenceType */ -#define UA_NS0ID_HASEVENTSOURCE 36 /* ReferenceType */ -#define UA_NS0ID_HASMODELLINGRULE 37 /* ReferenceType */ -#define UA_NS0ID_HASENCODING 38 /* ReferenceType */ -#define UA_NS0ID_HASDESCRIPTION 39 /* ReferenceType */ -#define UA_NS0ID_HASTYPEDEFINITION 40 /* ReferenceType */ -#define UA_NS0ID_GENERATESEVENT 41 /* ReferenceType */ -#define UA_NS0ID_AGGREGATES 44 /* ReferenceType */ -#define UA_NS0ID_HASSUBTYPE 45 /* ReferenceType */ -#define UA_NS0ID_HASPROPERTY 46 /* ReferenceType */ -#define UA_NS0ID_HASCOMPONENT 47 /* ReferenceType */ -#define UA_NS0ID_HASNOTIFIER 48 /* ReferenceType */ -#define UA_NS0ID_HASORDEREDCOMPONENT 49 /* ReferenceType */ -#define UA_NS0ID_DECIMAL 50 /* DataType */ -#define UA_NS0ID_FROMSTATE 51 /* ReferenceType */ -#define UA_NS0ID_TOSTATE 52 /* ReferenceType */ -#define UA_NS0ID_HASCAUSE 53 /* ReferenceType */ -#define UA_NS0ID_HASEFFECT 54 /* ReferenceType */ -#define UA_NS0ID_HASHISTORICALCONFIGURATION 56 /* ReferenceType */ -#define UA_NS0ID_BASEOBJECTTYPE 58 /* ObjectType */ -#define UA_NS0ID_FOLDERTYPE 61 /* ObjectType */ -#define UA_NS0ID_BASEVARIABLETYPE 62 /* VariableType */ -#define UA_NS0ID_BASEDATAVARIABLETYPE 63 /* VariableType */ -#define UA_NS0ID_PROPERTYTYPE 68 /* VariableType */ -#define UA_NS0ID_DATATYPEDESCRIPTIONTYPE 69 /* VariableType */ -#define UA_NS0ID_DATATYPEDICTIONARYTYPE 72 /* VariableType */ -#define UA_NS0ID_DATATYPESYSTEMTYPE 75 /* ObjectType */ -#define UA_NS0ID_DATATYPEENCODINGTYPE 76 /* ObjectType */ -#define UA_NS0ID_MODELLINGRULETYPE 77 /* ObjectType */ -#define UA_NS0ID_MODELLINGRULE_MANDATORY 78 /* Object */ -#define UA_NS0ID_MODELLINGRULE_OPTIONAL 80 /* Object */ -#define UA_NS0ID_MODELLINGRULE_EXPOSESITSARRAY 83 /* Object */ -#define UA_NS0ID_ROOTFOLDER 84 /* Object */ -#define UA_NS0ID_OBJECTSFOLDER 85 /* Object */ -#define UA_NS0ID_TYPESFOLDER 86 /* Object */ -#define UA_NS0ID_VIEWSFOLDER 87 /* Object */ -#define UA_NS0ID_OBJECTTYPESFOLDER 88 /* Object */ -#define UA_NS0ID_VARIABLETYPESFOLDER 89 /* Object */ -#define UA_NS0ID_DATATYPESFOLDER 90 /* Object */ -#define UA_NS0ID_REFERENCETYPESFOLDER 91 /* Object */ -#define UA_NS0ID_XMLSCHEMA_TYPESYSTEM 92 /* Object */ -#define UA_NS0ID_OPCBINARYSCHEMA_TYPESYSTEM 93 /* Object */ -#define UA_NS0ID_PERMISSIONTYPE 94 /* DataType */ -#define UA_NS0ID_ACCESSRESTRICTIONTYPE 95 /* DataType */ -#define UA_NS0ID_ROLEPERMISSIONTYPE 96 /* DataType */ -#define UA_NS0ID_DATATYPEDEFINITION 97 /* DataType */ -#define UA_NS0ID_STRUCTURETYPE 98 /* DataType */ -#define UA_NS0ID_STRUCTUREDEFINITION 99 /* DataType */ -#define UA_NS0ID_ENUMDEFINITION 100 /* DataType */ -#define UA_NS0ID_STRUCTUREFIELD 101 /* DataType */ -#define UA_NS0ID_ENUMFIELD 102 /* DataType */ -#define UA_NS0ID_DATATYPEDESCRIPTIONTYPE_DATATYPEVERSION 104 /* Variable */ -#define UA_NS0ID_DATATYPEDESCRIPTIONTYPE_DICTIONARYFRAGMENT 105 /* Variable */ -#define UA_NS0ID_DATATYPEDICTIONARYTYPE_DATATYPEVERSION 106 /* Variable */ -#define UA_NS0ID_DATATYPEDICTIONARYTYPE_NAMESPACEURI 107 /* Variable */ -#define UA_NS0ID_HASSUBSTATEMACHINE 117 /* ReferenceType */ -#define UA_NS0ID_NAMINGRULETYPE 120 /* DataType */ -#define UA_NS0ID_DATATYPEDEFINITION_ENCODING_DEFAULTBINARY 121 /* Object */ -#define UA_NS0ID_STRUCTUREDEFINITION_ENCODING_DEFAULTBINARY 122 /* Object */ -#define UA_NS0ID_ENUMDEFINITION_ENCODING_DEFAULTBINARY 123 /* Object */ -#define UA_NS0ID_DATASETMETADATATYPE_ENCODING_DEFAULTBINARY 124 /* Object */ -#define UA_NS0ID_DATATYPEDESCRIPTION_ENCODING_DEFAULTBINARY 125 /* Object */ -#define UA_NS0ID_STRUCTUREDESCRIPTION_ENCODING_DEFAULTBINARY 126 /* Object */ -#define UA_NS0ID_ENUMDESCRIPTION_ENCODING_DEFAULTBINARY 127 /* Object */ -#define UA_NS0ID_ROLEPERMISSIONTYPE_ENCODING_DEFAULTBINARY 128 /* Object */ -#define UA_NS0ID_HASARGUMENTDESCRIPTION 129 /* ReferenceType */ -#define UA_NS0ID_HASOPTIONALINPUTARGUMENTDESCRIPTION 131 /* ReferenceType */ -#define UA_NS0ID_IDTYPE 256 /* DataType */ -#define UA_NS0ID_NODECLASS 257 /* DataType */ -#define UA_NS0ID_NODE 258 /* DataType */ -#define UA_NS0ID_NODE_ENCODING_DEFAULTXML 259 /* Object */ -#define UA_NS0ID_NODE_ENCODING_DEFAULTBINARY 260 /* Object */ -#define UA_NS0ID_OBJECTNODE 261 /* DataType */ -#define UA_NS0ID_OBJECTNODE_ENCODING_DEFAULTXML 262 /* Object */ -#define UA_NS0ID_OBJECTNODE_ENCODING_DEFAULTBINARY 263 /* Object */ -#define UA_NS0ID_OBJECTTYPENODE 264 /* DataType */ -#define UA_NS0ID_OBJECTTYPENODE_ENCODING_DEFAULTXML 265 /* Object */ -#define UA_NS0ID_OBJECTTYPENODE_ENCODING_DEFAULTBINARY 266 /* Object */ -#define UA_NS0ID_VARIABLENODE 267 /* DataType */ -#define UA_NS0ID_VARIABLENODE_ENCODING_DEFAULTXML 268 /* Object */ -#define UA_NS0ID_VARIABLENODE_ENCODING_DEFAULTBINARY 269 /* Object */ -#define UA_NS0ID_VARIABLETYPENODE 270 /* DataType */ -#define UA_NS0ID_VARIABLETYPENODE_ENCODING_DEFAULTXML 271 /* Object */ -#define UA_NS0ID_VARIABLETYPENODE_ENCODING_DEFAULTBINARY 272 /* Object */ -#define UA_NS0ID_REFERENCETYPENODE 273 /* DataType */ -#define UA_NS0ID_REFERENCETYPENODE_ENCODING_DEFAULTXML 274 /* Object */ -#define UA_NS0ID_REFERENCETYPENODE_ENCODING_DEFAULTBINARY 275 /* Object */ -#define UA_NS0ID_METHODNODE 276 /* DataType */ -#define UA_NS0ID_METHODNODE_ENCODING_DEFAULTXML 277 /* Object */ -#define UA_NS0ID_METHODNODE_ENCODING_DEFAULTBINARY 278 /* Object */ -#define UA_NS0ID_VIEWNODE 279 /* DataType */ -#define UA_NS0ID_VIEWNODE_ENCODING_DEFAULTXML 280 /* Object */ -#define UA_NS0ID_VIEWNODE_ENCODING_DEFAULTBINARY 281 /* Object */ -#define UA_NS0ID_DATATYPENODE 282 /* DataType */ -#define UA_NS0ID_DATATYPENODE_ENCODING_DEFAULTXML 283 /* Object */ -#define UA_NS0ID_DATATYPENODE_ENCODING_DEFAULTBINARY 284 /* Object */ -#define UA_NS0ID_REFERENCENODE 285 /* DataType */ -#define UA_NS0ID_REFERENCENODE_ENCODING_DEFAULTXML 286 /* Object */ -#define UA_NS0ID_REFERENCENODE_ENCODING_DEFAULTBINARY 287 /* Object */ -#define UA_NS0ID_INTEGERID 288 /* DataType */ -#define UA_NS0ID_COUNTER 289 /* DataType */ -#define UA_NS0ID_DURATION 290 /* DataType */ -#define UA_NS0ID_NUMERICRANGE 291 /* DataType */ -#define UA_NS0ID_UTCTIME 294 /* DataType */ -#define UA_NS0ID_LOCALEID 295 /* DataType */ -#define UA_NS0ID_ARGUMENT 296 /* DataType */ -#define UA_NS0ID_ARGUMENT_ENCODING_DEFAULTXML 297 /* Object */ -#define UA_NS0ID_ARGUMENT_ENCODING_DEFAULTBINARY 298 /* Object */ -#define UA_NS0ID_STATUSRESULT 299 /* DataType */ -#define UA_NS0ID_STATUSRESULT_ENCODING_DEFAULTXML 300 /* Object */ -#define UA_NS0ID_STATUSRESULT_ENCODING_DEFAULTBINARY 301 /* Object */ -#define UA_NS0ID_MESSAGESECURITYMODE 302 /* DataType */ -#define UA_NS0ID_USERTOKENTYPE 303 /* DataType */ -#define UA_NS0ID_USERTOKENPOLICY 304 /* DataType */ -#define UA_NS0ID_USERTOKENPOLICY_ENCODING_DEFAULTXML 305 /* Object */ -#define UA_NS0ID_USERTOKENPOLICY_ENCODING_DEFAULTBINARY 306 /* Object */ -#define UA_NS0ID_APPLICATIONTYPE 307 /* DataType */ -#define UA_NS0ID_APPLICATIONDESCRIPTION 308 /* DataType */ -#define UA_NS0ID_APPLICATIONDESCRIPTION_ENCODING_DEFAULTXML 309 /* Object */ -#define UA_NS0ID_APPLICATIONDESCRIPTION_ENCODING_DEFAULTBINARY 310 /* Object */ -#define UA_NS0ID_APPLICATIONINSTANCECERTIFICATE 311 /* DataType */ -#define UA_NS0ID_ENDPOINTDESCRIPTION 312 /* DataType */ -#define UA_NS0ID_ENDPOINTDESCRIPTION_ENCODING_DEFAULTXML 313 /* Object */ -#define UA_NS0ID_ENDPOINTDESCRIPTION_ENCODING_DEFAULTBINARY 314 /* Object */ -#define UA_NS0ID_SECURITYTOKENREQUESTTYPE 315 /* DataType */ -#define UA_NS0ID_USERIDENTITYTOKEN 316 /* DataType */ -#define UA_NS0ID_USERIDENTITYTOKEN_ENCODING_DEFAULTXML 317 /* Object */ -#define UA_NS0ID_USERIDENTITYTOKEN_ENCODING_DEFAULTBINARY 318 /* Object */ -#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN 319 /* DataType */ -#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN_ENCODING_DEFAULTXML 320 /* Object */ -#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN_ENCODING_DEFAULTBINARY 321 /* Object */ -#define UA_NS0ID_USERNAMEIDENTITYTOKEN 322 /* DataType */ -#define UA_NS0ID_USERNAMEIDENTITYTOKEN_ENCODING_DEFAULTXML 323 /* Object */ -#define UA_NS0ID_USERNAMEIDENTITYTOKEN_ENCODING_DEFAULTBINARY 324 /* Object */ -#define UA_NS0ID_X509IDENTITYTOKEN 325 /* DataType */ -#define UA_NS0ID_X509IDENTITYTOKEN_ENCODING_DEFAULTXML 326 /* Object */ -#define UA_NS0ID_X509IDENTITYTOKEN_ENCODING_DEFAULTBINARY 327 /* Object */ -#define UA_NS0ID_ENDPOINTCONFIGURATION 331 /* DataType */ -#define UA_NS0ID_ENDPOINTCONFIGURATION_ENCODING_DEFAULTXML 332 /* Object */ -#define UA_NS0ID_ENDPOINTCONFIGURATION_ENCODING_DEFAULTBINARY 333 /* Object */ -#define UA_NS0ID_BUILDINFO 338 /* DataType */ -#define UA_NS0ID_BUILDINFO_ENCODING_DEFAULTXML 339 /* Object */ -#define UA_NS0ID_BUILDINFO_ENCODING_DEFAULTBINARY 340 /* Object */ -#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE 344 /* DataType */ -#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE_ENCODING_DEFAULTXML 345 /* Object */ -#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE_ENCODING_DEFAULTBINARY 346 /* Object */ -#define UA_NS0ID_ATTRIBUTEWRITEMASK 347 /* DataType */ -#define UA_NS0ID_NODEATTRIBUTESMASK 348 /* DataType */ -#define UA_NS0ID_NODEATTRIBUTES 349 /* DataType */ -#define UA_NS0ID_NODEATTRIBUTES_ENCODING_DEFAULTXML 350 /* Object */ -#define UA_NS0ID_NODEATTRIBUTES_ENCODING_DEFAULTBINARY 351 /* Object */ -#define UA_NS0ID_OBJECTATTRIBUTES 352 /* DataType */ -#define UA_NS0ID_OBJECTATTRIBUTES_ENCODING_DEFAULTXML 353 /* Object */ -#define UA_NS0ID_OBJECTATTRIBUTES_ENCODING_DEFAULTBINARY 354 /* Object */ -#define UA_NS0ID_VARIABLEATTRIBUTES 355 /* DataType */ -#define UA_NS0ID_VARIABLEATTRIBUTES_ENCODING_DEFAULTXML 356 /* Object */ -#define UA_NS0ID_VARIABLEATTRIBUTES_ENCODING_DEFAULTBINARY 357 /* Object */ -#define UA_NS0ID_METHODATTRIBUTES 358 /* DataType */ -#define UA_NS0ID_METHODATTRIBUTES_ENCODING_DEFAULTXML 359 /* Object */ -#define UA_NS0ID_METHODATTRIBUTES_ENCODING_DEFAULTBINARY 360 /* Object */ -#define UA_NS0ID_OBJECTTYPEATTRIBUTES 361 /* DataType */ -#define UA_NS0ID_OBJECTTYPEATTRIBUTES_ENCODING_DEFAULTXML 362 /* Object */ -#define UA_NS0ID_OBJECTTYPEATTRIBUTES_ENCODING_DEFAULTBINARY 363 /* Object */ -#define UA_NS0ID_VARIABLETYPEATTRIBUTES 364 /* DataType */ -#define UA_NS0ID_VARIABLETYPEATTRIBUTES_ENCODING_DEFAULTXML 365 /* Object */ -#define UA_NS0ID_VARIABLETYPEATTRIBUTES_ENCODING_DEFAULTBINARY 366 /* Object */ -#define UA_NS0ID_REFERENCETYPEATTRIBUTES 367 /* DataType */ -#define UA_NS0ID_REFERENCETYPEATTRIBUTES_ENCODING_DEFAULTXML 368 /* Object */ -#define UA_NS0ID_REFERENCETYPEATTRIBUTES_ENCODING_DEFAULTBINARY 369 /* Object */ -#define UA_NS0ID_DATATYPEATTRIBUTES 370 /* DataType */ -#define UA_NS0ID_DATATYPEATTRIBUTES_ENCODING_DEFAULTXML 371 /* Object */ -#define UA_NS0ID_DATATYPEATTRIBUTES_ENCODING_DEFAULTBINARY 372 /* Object */ -#define UA_NS0ID_VIEWATTRIBUTES 373 /* DataType */ -#define UA_NS0ID_VIEWATTRIBUTES_ENCODING_DEFAULTXML 374 /* Object */ -#define UA_NS0ID_VIEWATTRIBUTES_ENCODING_DEFAULTBINARY 375 /* Object */ -#define UA_NS0ID_ADDNODESITEM 376 /* DataType */ -#define UA_NS0ID_ADDNODESITEM_ENCODING_DEFAULTXML 377 /* Object */ -#define UA_NS0ID_ADDNODESITEM_ENCODING_DEFAULTBINARY 378 /* Object */ -#define UA_NS0ID_ADDREFERENCESITEM 379 /* DataType */ -#define UA_NS0ID_ADDREFERENCESITEM_ENCODING_DEFAULTXML 380 /* Object */ -#define UA_NS0ID_ADDREFERENCESITEM_ENCODING_DEFAULTBINARY 381 /* Object */ -#define UA_NS0ID_DELETENODESITEM 382 /* DataType */ -#define UA_NS0ID_DELETENODESITEM_ENCODING_DEFAULTXML 383 /* Object */ -#define UA_NS0ID_DELETENODESITEM_ENCODING_DEFAULTBINARY 384 /* Object */ -#define UA_NS0ID_DELETEREFERENCESITEM 385 /* DataType */ -#define UA_NS0ID_DELETEREFERENCESITEM_ENCODING_DEFAULTXML 386 /* Object */ -#define UA_NS0ID_DELETEREFERENCESITEM_ENCODING_DEFAULTBINARY 387 /* Object */ -#define UA_NS0ID_SESSIONAUTHENTICATIONTOKEN 388 /* DataType */ -#define UA_NS0ID_REQUESTHEADER 389 /* DataType */ -#define UA_NS0ID_REQUESTHEADER_ENCODING_DEFAULTXML 390 /* Object */ -#define UA_NS0ID_REQUESTHEADER_ENCODING_DEFAULTBINARY 391 /* Object */ -#define UA_NS0ID_RESPONSEHEADER 392 /* DataType */ -#define UA_NS0ID_RESPONSEHEADER_ENCODING_DEFAULTXML 393 /* Object */ -#define UA_NS0ID_RESPONSEHEADER_ENCODING_DEFAULTBINARY 394 /* Object */ -#define UA_NS0ID_SERVICEFAULT 395 /* DataType */ -#define UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTXML 396 /* Object */ -#define UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTBINARY 397 /* Object */ -#define UA_NS0ID_FINDSERVERSREQUEST 420 /* DataType */ -#define UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTXML 421 /* Object */ -#define UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTBINARY 422 /* Object */ -#define UA_NS0ID_FINDSERVERSRESPONSE 423 /* DataType */ -#define UA_NS0ID_FINDSERVERSRESPONSE_ENCODING_DEFAULTXML 424 /* Object */ -#define UA_NS0ID_FINDSERVERSRESPONSE_ENCODING_DEFAULTBINARY 425 /* Object */ -#define UA_NS0ID_GETENDPOINTSREQUEST 426 /* DataType */ -#define UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTXML 427 /* Object */ -#define UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTBINARY 428 /* Object */ -#define UA_NS0ID_GETENDPOINTSRESPONSE 429 /* DataType */ -#define UA_NS0ID_GETENDPOINTSRESPONSE_ENCODING_DEFAULTXML 430 /* Object */ -#define UA_NS0ID_GETENDPOINTSRESPONSE_ENCODING_DEFAULTBINARY 431 /* Object */ -#define UA_NS0ID_REGISTEREDSERVER 432 /* DataType */ -#define UA_NS0ID_REGISTEREDSERVER_ENCODING_DEFAULTXML 433 /* Object */ -#define UA_NS0ID_REGISTEREDSERVER_ENCODING_DEFAULTBINARY 434 /* Object */ -#define UA_NS0ID_REGISTERSERVERREQUEST 435 /* DataType */ -#define UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTXML 436 /* Object */ -#define UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTBINARY 437 /* Object */ -#define UA_NS0ID_REGISTERSERVERRESPONSE 438 /* DataType */ -#define UA_NS0ID_REGISTERSERVERRESPONSE_ENCODING_DEFAULTXML 439 /* Object */ -#define UA_NS0ID_REGISTERSERVERRESPONSE_ENCODING_DEFAULTBINARY 440 /* Object */ -#define UA_NS0ID_CHANNELSECURITYTOKEN 441 /* DataType */ -#define UA_NS0ID_CHANNELSECURITYTOKEN_ENCODING_DEFAULTXML 442 /* Object */ -#define UA_NS0ID_CHANNELSECURITYTOKEN_ENCODING_DEFAULTBINARY 443 /* Object */ -#define UA_NS0ID_OPENSECURECHANNELREQUEST 444 /* DataType */ -#define UA_NS0ID_OPENSECURECHANNELREQUEST_ENCODING_DEFAULTXML 445 /* Object */ -#define UA_NS0ID_OPENSECURECHANNELREQUEST_ENCODING_DEFAULTBINARY 446 /* Object */ -#define UA_NS0ID_OPENSECURECHANNELRESPONSE 447 /* DataType */ -#define UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTXML 448 /* Object */ -#define UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTBINARY 449 /* Object */ -#define UA_NS0ID_CLOSESECURECHANNELREQUEST 450 /* DataType */ -#define UA_NS0ID_CLOSESECURECHANNELREQUEST_ENCODING_DEFAULTXML 451 /* Object */ -#define UA_NS0ID_CLOSESECURECHANNELREQUEST_ENCODING_DEFAULTBINARY 452 /* Object */ -#define UA_NS0ID_CLOSESECURECHANNELRESPONSE 453 /* DataType */ -#define UA_NS0ID_CLOSESECURECHANNELRESPONSE_ENCODING_DEFAULTXML 454 /* Object */ -#define UA_NS0ID_CLOSESECURECHANNELRESPONSE_ENCODING_DEFAULTBINARY 455 /* Object */ -#define UA_NS0ID_SIGNATUREDATA 456 /* DataType */ -#define UA_NS0ID_SIGNATUREDATA_ENCODING_DEFAULTXML 457 /* Object */ -#define UA_NS0ID_SIGNATUREDATA_ENCODING_DEFAULTBINARY 458 /* Object */ -#define UA_NS0ID_CREATESESSIONREQUEST 459 /* DataType */ -#define UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTXML 460 /* Object */ -#define UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTBINARY 461 /* Object */ -#define UA_NS0ID_CREATESESSIONRESPONSE 462 /* DataType */ -#define UA_NS0ID_CREATESESSIONRESPONSE_ENCODING_DEFAULTXML 463 /* Object */ -#define UA_NS0ID_CREATESESSIONRESPONSE_ENCODING_DEFAULTBINARY 464 /* Object */ -#define UA_NS0ID_ACTIVATESESSIONREQUEST 465 /* DataType */ -#define UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTXML 466 /* Object */ -#define UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTBINARY 467 /* Object */ -#define UA_NS0ID_ACTIVATESESSIONRESPONSE 468 /* DataType */ -#define UA_NS0ID_ACTIVATESESSIONRESPONSE_ENCODING_DEFAULTXML 469 /* Object */ -#define UA_NS0ID_ACTIVATESESSIONRESPONSE_ENCODING_DEFAULTBINARY 470 /* Object */ -#define UA_NS0ID_CLOSESESSIONREQUEST 471 /* DataType */ -#define UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTXML 472 /* Object */ -#define UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTBINARY 473 /* Object */ -#define UA_NS0ID_CLOSESESSIONRESPONSE 474 /* DataType */ -#define UA_NS0ID_CLOSESESSIONRESPONSE_ENCODING_DEFAULTXML 475 /* Object */ -#define UA_NS0ID_CLOSESESSIONRESPONSE_ENCODING_DEFAULTBINARY 476 /* Object */ -#define UA_NS0ID_CANCELREQUEST 477 /* DataType */ -#define UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTXML 478 /* Object */ -#define UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTBINARY 479 /* Object */ -#define UA_NS0ID_CANCELRESPONSE 480 /* DataType */ -#define UA_NS0ID_CANCELRESPONSE_ENCODING_DEFAULTXML 481 /* Object */ -#define UA_NS0ID_CANCELRESPONSE_ENCODING_DEFAULTBINARY 482 /* Object */ -#define UA_NS0ID_ADDNODESRESULT 483 /* DataType */ -#define UA_NS0ID_ADDNODESRESULT_ENCODING_DEFAULTXML 484 /* Object */ -#define UA_NS0ID_ADDNODESRESULT_ENCODING_DEFAULTBINARY 485 /* Object */ -#define UA_NS0ID_ADDNODESREQUEST 486 /* DataType */ -#define UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTXML 487 /* Object */ -#define UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTBINARY 488 /* Object */ -#define UA_NS0ID_ADDNODESRESPONSE 489 /* DataType */ -#define UA_NS0ID_ADDNODESRESPONSE_ENCODING_DEFAULTXML 490 /* Object */ -#define UA_NS0ID_ADDNODESRESPONSE_ENCODING_DEFAULTBINARY 491 /* Object */ -#define UA_NS0ID_ADDREFERENCESREQUEST 492 /* DataType */ -#define UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTXML 493 /* Object */ -#define UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTBINARY 494 /* Object */ -#define UA_NS0ID_ADDREFERENCESRESPONSE 495 /* DataType */ -#define UA_NS0ID_ADDREFERENCESRESPONSE_ENCODING_DEFAULTXML 496 /* Object */ -#define UA_NS0ID_ADDREFERENCESRESPONSE_ENCODING_DEFAULTBINARY 497 /* Object */ -#define UA_NS0ID_DELETENODESREQUEST 498 /* DataType */ -#define UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTXML 499 /* Object */ -#define UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTBINARY 500 /* Object */ -#define UA_NS0ID_DELETENODESRESPONSE 501 /* DataType */ -#define UA_NS0ID_DELETENODESRESPONSE_ENCODING_DEFAULTXML 502 /* Object */ -#define UA_NS0ID_DELETENODESRESPONSE_ENCODING_DEFAULTBINARY 503 /* Object */ -#define UA_NS0ID_DELETEREFERENCESREQUEST 504 /* DataType */ -#define UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTXML 505 /* Object */ -#define UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTBINARY 506 /* Object */ -#define UA_NS0ID_DELETEREFERENCESRESPONSE 507 /* DataType */ -#define UA_NS0ID_DELETEREFERENCESRESPONSE_ENCODING_DEFAULTXML 508 /* Object */ -#define UA_NS0ID_DELETEREFERENCESRESPONSE_ENCODING_DEFAULTBINARY 509 /* Object */ -#define UA_NS0ID_BROWSEDIRECTION 510 /* DataType */ -#define UA_NS0ID_VIEWDESCRIPTION 511 /* DataType */ -#define UA_NS0ID_VIEWDESCRIPTION_ENCODING_DEFAULTXML 512 /* Object */ -#define UA_NS0ID_VIEWDESCRIPTION_ENCODING_DEFAULTBINARY 513 /* Object */ -#define UA_NS0ID_BROWSEDESCRIPTION 514 /* DataType */ -#define UA_NS0ID_BROWSEDESCRIPTION_ENCODING_DEFAULTXML 515 /* Object */ -#define UA_NS0ID_BROWSEDESCRIPTION_ENCODING_DEFAULTBINARY 516 /* Object */ -#define UA_NS0ID_BROWSERESULTMASK 517 /* DataType */ -#define UA_NS0ID_REFERENCEDESCRIPTION 518 /* DataType */ -#define UA_NS0ID_REFERENCEDESCRIPTION_ENCODING_DEFAULTXML 519 /* Object */ -#define UA_NS0ID_REFERENCEDESCRIPTION_ENCODING_DEFAULTBINARY 520 /* Object */ -#define UA_NS0ID_CONTINUATIONPOINT 521 /* DataType */ -#define UA_NS0ID_BROWSERESULT 522 /* DataType */ -#define UA_NS0ID_BROWSERESULT_ENCODING_DEFAULTXML 523 /* Object */ -#define UA_NS0ID_BROWSERESULT_ENCODING_DEFAULTBINARY 524 /* Object */ -#define UA_NS0ID_BROWSEREQUEST 525 /* DataType */ -#define UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTXML 526 /* Object */ -#define UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTBINARY 527 /* Object */ -#define UA_NS0ID_BROWSERESPONSE 528 /* DataType */ -#define UA_NS0ID_BROWSERESPONSE_ENCODING_DEFAULTXML 529 /* Object */ -#define UA_NS0ID_BROWSERESPONSE_ENCODING_DEFAULTBINARY 530 /* Object */ -#define UA_NS0ID_BROWSENEXTREQUEST 531 /* DataType */ -#define UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTXML 532 /* Object */ -#define UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTBINARY 533 /* Object */ -#define UA_NS0ID_BROWSENEXTRESPONSE 534 /* DataType */ -#define UA_NS0ID_BROWSENEXTRESPONSE_ENCODING_DEFAULTXML 535 /* Object */ -#define UA_NS0ID_BROWSENEXTRESPONSE_ENCODING_DEFAULTBINARY 536 /* Object */ -#define UA_NS0ID_RELATIVEPATHELEMENT 537 /* DataType */ -#define UA_NS0ID_RELATIVEPATHELEMENT_ENCODING_DEFAULTXML 538 /* Object */ -#define UA_NS0ID_RELATIVEPATHELEMENT_ENCODING_DEFAULTBINARY 539 /* Object */ -#define UA_NS0ID_RELATIVEPATH 540 /* DataType */ -#define UA_NS0ID_RELATIVEPATH_ENCODING_DEFAULTXML 541 /* Object */ -#define UA_NS0ID_RELATIVEPATH_ENCODING_DEFAULTBINARY 542 /* Object */ -#define UA_NS0ID_BROWSEPATH 543 /* DataType */ -#define UA_NS0ID_BROWSEPATH_ENCODING_DEFAULTXML 544 /* Object */ -#define UA_NS0ID_BROWSEPATH_ENCODING_DEFAULTBINARY 545 /* Object */ -#define UA_NS0ID_BROWSEPATHTARGET 546 /* DataType */ -#define UA_NS0ID_BROWSEPATHTARGET_ENCODING_DEFAULTXML 547 /* Object */ -#define UA_NS0ID_BROWSEPATHTARGET_ENCODING_DEFAULTBINARY 548 /* Object */ -#define UA_NS0ID_BROWSEPATHRESULT 549 /* DataType */ -#define UA_NS0ID_BROWSEPATHRESULT_ENCODING_DEFAULTXML 550 /* Object */ -#define UA_NS0ID_BROWSEPATHRESULT_ENCODING_DEFAULTBINARY 551 /* Object */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST 552 /* DataType */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTXML 553 /* Object */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTBINARY 554 /* Object */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE 555 /* DataType */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE_ENCODING_DEFAULTXML 556 /* Object */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE_ENCODING_DEFAULTBINARY 557 /* Object */ -#define UA_NS0ID_REGISTERNODESREQUEST 558 /* DataType */ -#define UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTXML 559 /* Object */ -#define UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTBINARY 560 /* Object */ -#define UA_NS0ID_REGISTERNODESRESPONSE 561 /* DataType */ -#define UA_NS0ID_REGISTERNODESRESPONSE_ENCODING_DEFAULTXML 562 /* Object */ -#define UA_NS0ID_REGISTERNODESRESPONSE_ENCODING_DEFAULTBINARY 563 /* Object */ -#define UA_NS0ID_UNREGISTERNODESREQUEST 564 /* DataType */ -#define UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTXML 565 /* Object */ -#define UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTBINARY 566 /* Object */ -#define UA_NS0ID_UNREGISTERNODESRESPONSE 567 /* DataType */ -#define UA_NS0ID_UNREGISTERNODESRESPONSE_ENCODING_DEFAULTXML 568 /* Object */ -#define UA_NS0ID_UNREGISTERNODESRESPONSE_ENCODING_DEFAULTBINARY 569 /* Object */ -#define UA_NS0ID_QUERYDATADESCRIPTION 570 /* DataType */ -#define UA_NS0ID_QUERYDATADESCRIPTION_ENCODING_DEFAULTXML 571 /* Object */ -#define UA_NS0ID_QUERYDATADESCRIPTION_ENCODING_DEFAULTBINARY 572 /* Object */ -#define UA_NS0ID_NODETYPEDESCRIPTION 573 /* DataType */ -#define UA_NS0ID_NODETYPEDESCRIPTION_ENCODING_DEFAULTXML 574 /* Object */ -#define UA_NS0ID_NODETYPEDESCRIPTION_ENCODING_DEFAULTBINARY 575 /* Object */ -#define UA_NS0ID_FILTEROPERATOR 576 /* DataType */ -#define UA_NS0ID_QUERYDATASET 577 /* DataType */ -#define UA_NS0ID_QUERYDATASET_ENCODING_DEFAULTXML 578 /* Object */ -#define UA_NS0ID_QUERYDATASET_ENCODING_DEFAULTBINARY 579 /* Object */ -#define UA_NS0ID_NODEREFERENCE 580 /* DataType */ -#define UA_NS0ID_NODEREFERENCE_ENCODING_DEFAULTXML 581 /* Object */ -#define UA_NS0ID_NODEREFERENCE_ENCODING_DEFAULTBINARY 582 /* Object */ -#define UA_NS0ID_CONTENTFILTERELEMENT 583 /* DataType */ -#define UA_NS0ID_CONTENTFILTERELEMENT_ENCODING_DEFAULTXML 584 /* Object */ -#define UA_NS0ID_CONTENTFILTERELEMENT_ENCODING_DEFAULTBINARY 585 /* Object */ -#define UA_NS0ID_CONTENTFILTER 586 /* DataType */ -#define UA_NS0ID_CONTENTFILTER_ENCODING_DEFAULTXML 587 /* Object */ -#define UA_NS0ID_CONTENTFILTER_ENCODING_DEFAULTBINARY 588 /* Object */ -#define UA_NS0ID_FILTEROPERAND 589 /* DataType */ -#define UA_NS0ID_FILTEROPERAND_ENCODING_DEFAULTXML 590 /* Object */ -#define UA_NS0ID_FILTEROPERAND_ENCODING_DEFAULTBINARY 591 /* Object */ -#define UA_NS0ID_ELEMENTOPERAND 592 /* DataType */ -#define UA_NS0ID_ELEMENTOPERAND_ENCODING_DEFAULTXML 593 /* Object */ -#define UA_NS0ID_ELEMENTOPERAND_ENCODING_DEFAULTBINARY 594 /* Object */ -#define UA_NS0ID_LITERALOPERAND 595 /* DataType */ -#define UA_NS0ID_LITERALOPERAND_ENCODING_DEFAULTXML 596 /* Object */ -#define UA_NS0ID_LITERALOPERAND_ENCODING_DEFAULTBINARY 597 /* Object */ -#define UA_NS0ID_ATTRIBUTEOPERAND 598 /* DataType */ -#define UA_NS0ID_ATTRIBUTEOPERAND_ENCODING_DEFAULTXML 599 /* Object */ -#define UA_NS0ID_ATTRIBUTEOPERAND_ENCODING_DEFAULTBINARY 600 /* Object */ -#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND 601 /* DataType */ -#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND_ENCODING_DEFAULTXML 602 /* Object */ -#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND_ENCODING_DEFAULTBINARY 603 /* Object */ -#define UA_NS0ID_CONTENTFILTERELEMENTRESULT 604 /* DataType */ -#define UA_NS0ID_CONTENTFILTERELEMENTRESULT_ENCODING_DEFAULTXML 605 /* Object */ -#define UA_NS0ID_CONTENTFILTERELEMENTRESULT_ENCODING_DEFAULTBINARY 606 /* Object */ -#define UA_NS0ID_CONTENTFILTERRESULT 607 /* DataType */ -#define UA_NS0ID_CONTENTFILTERRESULT_ENCODING_DEFAULTXML 608 /* Object */ -#define UA_NS0ID_CONTENTFILTERRESULT_ENCODING_DEFAULTBINARY 609 /* Object */ -#define UA_NS0ID_PARSINGRESULT 610 /* DataType */ -#define UA_NS0ID_PARSINGRESULT_ENCODING_DEFAULTXML 611 /* Object */ -#define UA_NS0ID_PARSINGRESULT_ENCODING_DEFAULTBINARY 612 /* Object */ -#define UA_NS0ID_QUERYFIRSTREQUEST 613 /* DataType */ -#define UA_NS0ID_QUERYFIRSTREQUEST_ENCODING_DEFAULTXML 614 /* Object */ -#define UA_NS0ID_QUERYFIRSTREQUEST_ENCODING_DEFAULTBINARY 615 /* Object */ -#define UA_NS0ID_QUERYFIRSTRESPONSE 616 /* DataType */ -#define UA_NS0ID_QUERYFIRSTRESPONSE_ENCODING_DEFAULTXML 617 /* Object */ -#define UA_NS0ID_QUERYFIRSTRESPONSE_ENCODING_DEFAULTBINARY 618 /* Object */ -#define UA_NS0ID_QUERYNEXTREQUEST 619 /* DataType */ -#define UA_NS0ID_QUERYNEXTREQUEST_ENCODING_DEFAULTXML 620 /* Object */ -#define UA_NS0ID_QUERYNEXTREQUEST_ENCODING_DEFAULTBINARY 621 /* Object */ -#define UA_NS0ID_QUERYNEXTRESPONSE 622 /* DataType */ -#define UA_NS0ID_QUERYNEXTRESPONSE_ENCODING_DEFAULTXML 623 /* Object */ -#define UA_NS0ID_QUERYNEXTRESPONSE_ENCODING_DEFAULTBINARY 624 /* Object */ -#define UA_NS0ID_TIMESTAMPSTORETURN 625 /* DataType */ -#define UA_NS0ID_READVALUEID 626 /* DataType */ -#define UA_NS0ID_READVALUEID_ENCODING_DEFAULTXML 627 /* Object */ -#define UA_NS0ID_READVALUEID_ENCODING_DEFAULTBINARY 628 /* Object */ -#define UA_NS0ID_READREQUEST 629 /* DataType */ -#define UA_NS0ID_READREQUEST_ENCODING_DEFAULTXML 630 /* Object */ -#define UA_NS0ID_READREQUEST_ENCODING_DEFAULTBINARY 631 /* Object */ -#define UA_NS0ID_READRESPONSE 632 /* DataType */ -#define UA_NS0ID_READRESPONSE_ENCODING_DEFAULTXML 633 /* Object */ -#define UA_NS0ID_READRESPONSE_ENCODING_DEFAULTBINARY 634 /* Object */ -#define UA_NS0ID_HISTORYREADVALUEID 635 /* DataType */ -#define UA_NS0ID_HISTORYREADVALUEID_ENCODING_DEFAULTXML 636 /* Object */ -#define UA_NS0ID_HISTORYREADVALUEID_ENCODING_DEFAULTBINARY 637 /* Object */ -#define UA_NS0ID_HISTORYREADRESULT 638 /* DataType */ -#define UA_NS0ID_HISTORYREADRESULT_ENCODING_DEFAULTXML 639 /* Object */ -#define UA_NS0ID_HISTORYREADRESULT_ENCODING_DEFAULTBINARY 640 /* Object */ -#define UA_NS0ID_HISTORYREADDETAILS 641 /* DataType */ -#define UA_NS0ID_HISTORYREADDETAILS_ENCODING_DEFAULTXML 642 /* Object */ -#define UA_NS0ID_HISTORYREADDETAILS_ENCODING_DEFAULTBINARY 643 /* Object */ -#define UA_NS0ID_READEVENTDETAILS 644 /* DataType */ -#define UA_NS0ID_READEVENTDETAILS_ENCODING_DEFAULTXML 645 /* Object */ -#define UA_NS0ID_READEVENTDETAILS_ENCODING_DEFAULTBINARY 646 /* Object */ -#define UA_NS0ID_READRAWMODIFIEDDETAILS 647 /* DataType */ -#define UA_NS0ID_READRAWMODIFIEDDETAILS_ENCODING_DEFAULTXML 648 /* Object */ -#define UA_NS0ID_READRAWMODIFIEDDETAILS_ENCODING_DEFAULTBINARY 649 /* Object */ -#define UA_NS0ID_READPROCESSEDDETAILS 650 /* DataType */ -#define UA_NS0ID_READPROCESSEDDETAILS_ENCODING_DEFAULTXML 651 /* Object */ -#define UA_NS0ID_READPROCESSEDDETAILS_ENCODING_DEFAULTBINARY 652 /* Object */ -#define UA_NS0ID_READATTIMEDETAILS 653 /* DataType */ -#define UA_NS0ID_READATTIMEDETAILS_ENCODING_DEFAULTXML 654 /* Object */ -#define UA_NS0ID_READATTIMEDETAILS_ENCODING_DEFAULTBINARY 655 /* Object */ -#define UA_NS0ID_HISTORYDATA 656 /* DataType */ -#define UA_NS0ID_HISTORYDATA_ENCODING_DEFAULTXML 657 /* Object */ -#define UA_NS0ID_HISTORYDATA_ENCODING_DEFAULTBINARY 658 /* Object */ -#define UA_NS0ID_HISTORYEVENT 659 /* DataType */ -#define UA_NS0ID_HISTORYEVENT_ENCODING_DEFAULTXML 660 /* Object */ -#define UA_NS0ID_HISTORYEVENT_ENCODING_DEFAULTBINARY 661 /* Object */ -#define UA_NS0ID_HISTORYREADREQUEST 662 /* DataType */ -#define UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTXML 663 /* Object */ -#define UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTBINARY 664 /* Object */ -#define UA_NS0ID_HISTORYREADRESPONSE 665 /* DataType */ -#define UA_NS0ID_HISTORYREADRESPONSE_ENCODING_DEFAULTXML 666 /* Object */ -#define UA_NS0ID_HISTORYREADRESPONSE_ENCODING_DEFAULTBINARY 667 /* Object */ -#define UA_NS0ID_WRITEVALUE 668 /* DataType */ -#define UA_NS0ID_WRITEVALUE_ENCODING_DEFAULTXML 669 /* Object */ -#define UA_NS0ID_WRITEVALUE_ENCODING_DEFAULTBINARY 670 /* Object */ -#define UA_NS0ID_WRITEREQUEST 671 /* DataType */ -#define UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTXML 672 /* Object */ -#define UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTBINARY 673 /* Object */ -#define UA_NS0ID_WRITERESPONSE 674 /* DataType */ -#define UA_NS0ID_WRITERESPONSE_ENCODING_DEFAULTXML 675 /* Object */ -#define UA_NS0ID_WRITERESPONSE_ENCODING_DEFAULTBINARY 676 /* Object */ -#define UA_NS0ID_HISTORYUPDATEDETAILS 677 /* DataType */ -#define UA_NS0ID_HISTORYUPDATEDETAILS_ENCODING_DEFAULTXML 678 /* Object */ -#define UA_NS0ID_HISTORYUPDATEDETAILS_ENCODING_DEFAULTBINARY 679 /* Object */ -#define UA_NS0ID_UPDATEDATADETAILS 680 /* DataType */ -#define UA_NS0ID_UPDATEDATADETAILS_ENCODING_DEFAULTXML 681 /* Object */ -#define UA_NS0ID_UPDATEDATADETAILS_ENCODING_DEFAULTBINARY 682 /* Object */ -#define UA_NS0ID_UPDATEEVENTDETAILS 683 /* DataType */ -#define UA_NS0ID_UPDATEEVENTDETAILS_ENCODING_DEFAULTXML 684 /* Object */ -#define UA_NS0ID_UPDATEEVENTDETAILS_ENCODING_DEFAULTBINARY 685 /* Object */ -#define UA_NS0ID_DELETERAWMODIFIEDDETAILS 686 /* DataType */ -#define UA_NS0ID_DELETERAWMODIFIEDDETAILS_ENCODING_DEFAULTXML 687 /* Object */ -#define UA_NS0ID_DELETERAWMODIFIEDDETAILS_ENCODING_DEFAULTBINARY 688 /* Object */ -#define UA_NS0ID_DELETEATTIMEDETAILS 689 /* DataType */ -#define UA_NS0ID_DELETEATTIMEDETAILS_ENCODING_DEFAULTXML 690 /* Object */ -#define UA_NS0ID_DELETEATTIMEDETAILS_ENCODING_DEFAULTBINARY 691 /* Object */ -#define UA_NS0ID_DELETEEVENTDETAILS 692 /* DataType */ -#define UA_NS0ID_DELETEEVENTDETAILS_ENCODING_DEFAULTXML 693 /* Object */ -#define UA_NS0ID_DELETEEVENTDETAILS_ENCODING_DEFAULTBINARY 694 /* Object */ -#define UA_NS0ID_HISTORYUPDATERESULT 695 /* DataType */ -#define UA_NS0ID_HISTORYUPDATERESULT_ENCODING_DEFAULTXML 696 /* Object */ -#define UA_NS0ID_HISTORYUPDATERESULT_ENCODING_DEFAULTBINARY 697 /* Object */ -#define UA_NS0ID_HISTORYUPDATEREQUEST 698 /* DataType */ -#define UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTXML 699 /* Object */ -#define UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTBINARY 700 /* Object */ -#define UA_NS0ID_HISTORYUPDATERESPONSE 701 /* DataType */ -#define UA_NS0ID_HISTORYUPDATERESPONSE_ENCODING_DEFAULTXML 702 /* Object */ -#define UA_NS0ID_HISTORYUPDATERESPONSE_ENCODING_DEFAULTBINARY 703 /* Object */ -#define UA_NS0ID_CALLMETHODREQUEST 704 /* DataType */ -#define UA_NS0ID_CALLMETHODREQUEST_ENCODING_DEFAULTXML 705 /* Object */ -#define UA_NS0ID_CALLMETHODREQUEST_ENCODING_DEFAULTBINARY 706 /* Object */ -#define UA_NS0ID_CALLMETHODRESULT 707 /* DataType */ -#define UA_NS0ID_CALLMETHODRESULT_ENCODING_DEFAULTXML 708 /* Object */ -#define UA_NS0ID_CALLMETHODRESULT_ENCODING_DEFAULTBINARY 709 /* Object */ -#define UA_NS0ID_CALLREQUEST 710 /* DataType */ -#define UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTXML 711 /* Object */ -#define UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTBINARY 712 /* Object */ -#define UA_NS0ID_CALLRESPONSE 713 /* DataType */ -#define UA_NS0ID_CALLRESPONSE_ENCODING_DEFAULTXML 714 /* Object */ -#define UA_NS0ID_CALLRESPONSE_ENCODING_DEFAULTBINARY 715 /* Object */ -#define UA_NS0ID_MONITORINGMODE 716 /* DataType */ -#define UA_NS0ID_DATACHANGETRIGGER 717 /* DataType */ -#define UA_NS0ID_DEADBANDTYPE 718 /* DataType */ -#define UA_NS0ID_MONITORINGFILTER 719 /* DataType */ -#define UA_NS0ID_MONITORINGFILTER_ENCODING_DEFAULTXML 720 /* Object */ -#define UA_NS0ID_MONITORINGFILTER_ENCODING_DEFAULTBINARY 721 /* Object */ -#define UA_NS0ID_DATACHANGEFILTER 722 /* DataType */ -#define UA_NS0ID_DATACHANGEFILTER_ENCODING_DEFAULTXML 723 /* Object */ -#define UA_NS0ID_DATACHANGEFILTER_ENCODING_DEFAULTBINARY 724 /* Object */ -#define UA_NS0ID_EVENTFILTER 725 /* DataType */ -#define UA_NS0ID_EVENTFILTER_ENCODING_DEFAULTXML 726 /* Object */ -#define UA_NS0ID_EVENTFILTER_ENCODING_DEFAULTBINARY 727 /* Object */ -#define UA_NS0ID_AGGREGATEFILTER 728 /* DataType */ -#define UA_NS0ID_AGGREGATEFILTER_ENCODING_DEFAULTXML 729 /* Object */ -#define UA_NS0ID_AGGREGATEFILTER_ENCODING_DEFAULTBINARY 730 /* Object */ -#define UA_NS0ID_MONITORINGFILTERRESULT 731 /* DataType */ -#define UA_NS0ID_MONITORINGFILTERRESULT_ENCODING_DEFAULTXML 732 /* Object */ -#define UA_NS0ID_MONITORINGFILTERRESULT_ENCODING_DEFAULTBINARY 733 /* Object */ -#define UA_NS0ID_EVENTFILTERRESULT 734 /* DataType */ -#define UA_NS0ID_EVENTFILTERRESULT_ENCODING_DEFAULTXML 735 /* Object */ -#define UA_NS0ID_EVENTFILTERRESULT_ENCODING_DEFAULTBINARY 736 /* Object */ -#define UA_NS0ID_AGGREGATEFILTERRESULT 737 /* DataType */ -#define UA_NS0ID_AGGREGATEFILTERRESULT_ENCODING_DEFAULTXML 738 /* Object */ -#define UA_NS0ID_AGGREGATEFILTERRESULT_ENCODING_DEFAULTBINARY 739 /* Object */ -#define UA_NS0ID_MONITORINGPARAMETERS 740 /* DataType */ -#define UA_NS0ID_MONITORINGPARAMETERS_ENCODING_DEFAULTXML 741 /* Object */ -#define UA_NS0ID_MONITORINGPARAMETERS_ENCODING_DEFAULTBINARY 742 /* Object */ -#define UA_NS0ID_MONITOREDITEMCREATEREQUEST 743 /* DataType */ -#define UA_NS0ID_MONITOREDITEMCREATEREQUEST_ENCODING_DEFAULTXML 744 /* Object */ -#define UA_NS0ID_MONITOREDITEMCREATEREQUEST_ENCODING_DEFAULTBINARY 745 /* Object */ -#define UA_NS0ID_MONITOREDITEMCREATERESULT 746 /* DataType */ -#define UA_NS0ID_MONITOREDITEMCREATERESULT_ENCODING_DEFAULTXML 747 /* Object */ -#define UA_NS0ID_MONITOREDITEMCREATERESULT_ENCODING_DEFAULTBINARY 748 /* Object */ -#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST 749 /* DataType */ -#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTXML 750 /* Object */ -#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY 751 /* Object */ -#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE 752 /* DataType */ -#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTXML 753 /* Object */ -#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTBINARY 754 /* Object */ -#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST 755 /* DataType */ -#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST_ENCODING_DEFAULTXML 756 /* Object */ -#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST_ENCODING_DEFAULTBINARY 757 /* Object */ -#define UA_NS0ID_MONITOREDITEMMODIFYRESULT 758 /* DataType */ -#define UA_NS0ID_MONITOREDITEMMODIFYRESULT_ENCODING_DEFAULTXML 759 /* Object */ -#define UA_NS0ID_MONITOREDITEMMODIFYRESULT_ENCODING_DEFAULTBINARY 760 /* Object */ -#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST 761 /* DataType */ -#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTXML 762 /* Object */ -#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY 763 /* Object */ -#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE 764 /* DataType */ -#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE_ENCODING_DEFAULTXML 765 /* Object */ -#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE_ENCODING_DEFAULTBINARY 766 /* Object */ -#define UA_NS0ID_SETMONITORINGMODEREQUEST 767 /* DataType */ -#define UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTXML 768 /* Object */ -#define UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTBINARY 769 /* Object */ -#define UA_NS0ID_SETMONITORINGMODERESPONSE 770 /* DataType */ -#define UA_NS0ID_SETMONITORINGMODERESPONSE_ENCODING_DEFAULTXML 771 /* Object */ -#define UA_NS0ID_SETMONITORINGMODERESPONSE_ENCODING_DEFAULTBINARY 772 /* Object */ -#define UA_NS0ID_SETTRIGGERINGREQUEST 773 /* DataType */ -#define UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTXML 774 /* Object */ -#define UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTBINARY 775 /* Object */ -#define UA_NS0ID_SETTRIGGERINGRESPONSE 776 /* DataType */ -#define UA_NS0ID_SETTRIGGERINGRESPONSE_ENCODING_DEFAULTXML 777 /* Object */ -#define UA_NS0ID_SETTRIGGERINGRESPONSE_ENCODING_DEFAULTBINARY 778 /* Object */ -#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST 779 /* DataType */ -#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTXML 780 /* Object */ -#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY 781 /* Object */ -#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE 782 /* DataType */ -#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTXML 783 /* Object */ -#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTBINARY 784 /* Object */ -#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST 785 /* DataType */ -#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTXML 786 /* Object */ -#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY 787 /* Object */ -#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE 788 /* DataType */ -#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE_ENCODING_DEFAULTXML 789 /* Object */ -#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE_ENCODING_DEFAULTBINARY 790 /* Object */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST 791 /* DataType */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTXML 792 /* Object */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY 793 /* Object */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE 794 /* DataType */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE_ENCODING_DEFAULTXML 795 /* Object */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE_ENCODING_DEFAULTBINARY 796 /* Object */ -#define UA_NS0ID_SETPUBLISHINGMODEREQUEST 797 /* DataType */ -#define UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTXML 798 /* Object */ -#define UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTBINARY 799 /* Object */ -#define UA_NS0ID_SETPUBLISHINGMODERESPONSE 800 /* DataType */ -#define UA_NS0ID_SETPUBLISHINGMODERESPONSE_ENCODING_DEFAULTXML 801 /* Object */ -#define UA_NS0ID_SETPUBLISHINGMODERESPONSE_ENCODING_DEFAULTBINARY 802 /* Object */ -#define UA_NS0ID_NOTIFICATIONMESSAGE 803 /* DataType */ -#define UA_NS0ID_NOTIFICATIONMESSAGE_ENCODING_DEFAULTXML 804 /* Object */ -#define UA_NS0ID_NOTIFICATIONMESSAGE_ENCODING_DEFAULTBINARY 805 /* Object */ -#define UA_NS0ID_MONITOREDITEMNOTIFICATION 806 /* DataType */ -#define UA_NS0ID_MONITOREDITEMNOTIFICATION_ENCODING_DEFAULTXML 807 /* Object */ -#define UA_NS0ID_MONITOREDITEMNOTIFICATION_ENCODING_DEFAULTBINARY 808 /* Object */ -#define UA_NS0ID_DATACHANGENOTIFICATION 809 /* DataType */ -#define UA_NS0ID_DATACHANGENOTIFICATION_ENCODING_DEFAULTXML 810 /* Object */ -#define UA_NS0ID_DATACHANGENOTIFICATION_ENCODING_DEFAULTBINARY 811 /* Object */ -#define UA_NS0ID_STATUSCHANGENOTIFICATION 818 /* DataType */ -#define UA_NS0ID_STATUSCHANGENOTIFICATION_ENCODING_DEFAULTXML 819 /* Object */ -#define UA_NS0ID_STATUSCHANGENOTIFICATION_ENCODING_DEFAULTBINARY 820 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT 821 /* DataType */ -#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT_ENCODING_DEFAULTXML 822 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT_ENCODING_DEFAULTBINARY 823 /* Object */ -#define UA_NS0ID_PUBLISHREQUEST 824 /* DataType */ -#define UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTXML 825 /* Object */ -#define UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTBINARY 826 /* Object */ -#define UA_NS0ID_PUBLISHRESPONSE 827 /* DataType */ -#define UA_NS0ID_PUBLISHRESPONSE_ENCODING_DEFAULTXML 828 /* Object */ -#define UA_NS0ID_PUBLISHRESPONSE_ENCODING_DEFAULTBINARY 829 /* Object */ -#define UA_NS0ID_REPUBLISHREQUEST 830 /* DataType */ -#define UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTXML 831 /* Object */ -#define UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTBINARY 832 /* Object */ -#define UA_NS0ID_REPUBLISHRESPONSE 833 /* DataType */ -#define UA_NS0ID_REPUBLISHRESPONSE_ENCODING_DEFAULTXML 834 /* Object */ -#define UA_NS0ID_REPUBLISHRESPONSE_ENCODING_DEFAULTBINARY 835 /* Object */ -#define UA_NS0ID_TRANSFERRESULT 836 /* DataType */ -#define UA_NS0ID_TRANSFERRESULT_ENCODING_DEFAULTXML 837 /* Object */ -#define UA_NS0ID_TRANSFERRESULT_ENCODING_DEFAULTBINARY 838 /* Object */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST 839 /* DataType */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTXML 840 /* Object */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY 841 /* Object */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE 842 /* DataType */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTXML 843 /* Object */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTBINARY 844 /* Object */ -#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST 845 /* DataType */ -#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTXML 846 /* Object */ -#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY 847 /* Object */ -#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE 848 /* DataType */ -#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTXML 849 /* Object */ -#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTBINARY 850 /* Object */ -#define UA_NS0ID_REDUNDANCYSUPPORT 851 /* DataType */ -#define UA_NS0ID_SERVERSTATE 852 /* DataType */ -#define UA_NS0ID_REDUNDANTSERVERDATATYPE 853 /* DataType */ -#define UA_NS0ID_REDUNDANTSERVERDATATYPE_ENCODING_DEFAULTXML 854 /* Object */ -#define UA_NS0ID_REDUNDANTSERVERDATATYPE_ENCODING_DEFAULTBINARY 855 /* Object */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 856 /* DataType */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 857 /* Object */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 858 /* Object */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE 859 /* DataType */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE_ENCODING_DEFAULTXML 860 /* Object */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE_ENCODING_DEFAULTBINARY 861 /* Object */ -#define UA_NS0ID_SERVERSTATUSDATATYPE 862 /* DataType */ -#define UA_NS0ID_SERVERSTATUSDATATYPE_ENCODING_DEFAULTXML 863 /* Object */ -#define UA_NS0ID_SERVERSTATUSDATATYPE_ENCODING_DEFAULTBINARY 864 /* Object */ -#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE 865 /* DataType */ -#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 866 /* Object */ -#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 867 /* Object */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE 868 /* DataType */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 869 /* Object */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 870 /* Object */ -#define UA_NS0ID_SERVICECOUNTERDATATYPE 871 /* DataType */ -#define UA_NS0ID_SERVICECOUNTERDATATYPE_ENCODING_DEFAULTXML 872 /* Object */ -#define UA_NS0ID_SERVICECOUNTERDATATYPE_ENCODING_DEFAULTBINARY 873 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE 874 /* DataType */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTXML 875 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTBINARY 876 /* Object */ -#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE 877 /* DataType */ -#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTXML 878 /* Object */ -#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTBINARY 879 /* Object */ -#define UA_NS0ID_RANGE 884 /* DataType */ -#define UA_NS0ID_RANGE_ENCODING_DEFAULTXML 885 /* Object */ -#define UA_NS0ID_RANGE_ENCODING_DEFAULTBINARY 886 /* Object */ -#define UA_NS0ID_EUINFORMATION 887 /* DataType */ -#define UA_NS0ID_EUINFORMATION_ENCODING_DEFAULTXML 888 /* Object */ -#define UA_NS0ID_EUINFORMATION_ENCODING_DEFAULTBINARY 889 /* Object */ -#define UA_NS0ID_EXCEPTIONDEVIATIONFORMAT 890 /* DataType */ -#define UA_NS0ID_ANNOTATION 891 /* DataType */ -#define UA_NS0ID_ANNOTATION_ENCODING_DEFAULTXML 892 /* Object */ -#define UA_NS0ID_ANNOTATION_ENCODING_DEFAULTBINARY 893 /* Object */ -#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE 894 /* DataType */ -#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE_ENCODING_DEFAULTXML 895 /* Object */ -#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE_ENCODING_DEFAULTBINARY 896 /* Object */ -#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE 897 /* DataType */ -#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTXML 898 /* Object */ -#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTBINARY 899 /* Object */ -#define UA_NS0ID_EVENTNOTIFICATIONLIST 914 /* DataType */ -#define UA_NS0ID_EVENTNOTIFICATIONLIST_ENCODING_DEFAULTXML 915 /* Object */ -#define UA_NS0ID_EVENTNOTIFICATIONLIST_ENCODING_DEFAULTBINARY 916 /* Object */ -#define UA_NS0ID_EVENTFIELDLIST 917 /* DataType */ -#define UA_NS0ID_EVENTFIELDLIST_ENCODING_DEFAULTXML 918 /* Object */ -#define UA_NS0ID_EVENTFIELDLIST_ENCODING_DEFAULTBINARY 919 /* Object */ -#define UA_NS0ID_HISTORYEVENTFIELDLIST 920 /* DataType */ -#define UA_NS0ID_HISTORYEVENTFIELDLIST_ENCODING_DEFAULTXML 921 /* Object */ -#define UA_NS0ID_HISTORYEVENTFIELDLIST_ENCODING_DEFAULTBINARY 922 /* Object */ -#define UA_NS0ID_ISSUEDIDENTITYTOKEN 938 /* DataType */ -#define UA_NS0ID_ISSUEDIDENTITYTOKEN_ENCODING_DEFAULTXML 939 /* Object */ -#define UA_NS0ID_ISSUEDIDENTITYTOKEN_ENCODING_DEFAULTBINARY 940 /* Object */ -#define UA_NS0ID_NOTIFICATIONDATA 945 /* DataType */ -#define UA_NS0ID_NOTIFICATIONDATA_ENCODING_DEFAULTXML 946 /* Object */ -#define UA_NS0ID_NOTIFICATIONDATA_ENCODING_DEFAULTBINARY 947 /* Object */ -#define UA_NS0ID_AGGREGATECONFIGURATION 948 /* DataType */ -#define UA_NS0ID_AGGREGATECONFIGURATION_ENCODING_DEFAULTXML 949 /* Object */ -#define UA_NS0ID_AGGREGATECONFIGURATION_ENCODING_DEFAULTBINARY 950 /* Object */ -#define UA_NS0ID_IMAGEBMP 2000 /* DataType */ -#define UA_NS0ID_IMAGEGIF 2001 /* DataType */ -#define UA_NS0ID_IMAGEJPG 2002 /* DataType */ -#define UA_NS0ID_IMAGEPNG 2003 /* DataType */ -#define UA_NS0ID_SERVERTYPE 2004 /* ObjectType */ -#define UA_NS0ID_SERVERTYPE_SERVERARRAY 2005 /* Variable */ -#define UA_NS0ID_SERVERTYPE_NAMESPACEARRAY 2006 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS 2007 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVICELEVEL 2008 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES 2009 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS 2010 /* Object */ -#define UA_NS0ID_SERVERTYPE_VENDORSERVERINFO 2011 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERREDUNDANCY 2012 /* Object */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE 2013 /* ObjectType */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_SERVERPROFILEARRAY 2014 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_LOCALEIDARRAY 2016 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MINSUPPORTEDSAMPLERATE 2017 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MODELLINGRULES 2019 /* Object */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE 2020 /* ObjectType */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY 2021 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SAMPLINGINTERVALDIAGNOSTICSARRAY 2022 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SUBSCRIPTIONDIAGNOSTICSARRAY 2023 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_ENABLEDFLAG 2025 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE 2026 /* ObjectType */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_SESSIONDIAGNOSTICSARRAY 2027 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_SESSIONSECURITYDIAGNOSTICSARRAY 2028 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE 2029 /* ObjectType */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS 2030 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS 2031 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SUBSCRIPTIONDIAGNOSTICSARRAY 2032 /* Variable */ -#define UA_NS0ID_VENDORSERVERINFOTYPE 2033 /* ObjectType */ -#define UA_NS0ID_SERVERREDUNDANCYTYPE 2034 /* ObjectType */ -#define UA_NS0ID_SERVERREDUNDANCYTYPE_REDUNDANCYSUPPORT 2035 /* Variable */ -#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE 2036 /* ObjectType */ -#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE_CURRENTSERVERID 2037 /* Variable */ -#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE_REDUNDANTSERVERARRAY 2038 /* Variable */ -#define UA_NS0ID_NONTRANSPARENTREDUNDANCYTYPE 2039 /* ObjectType */ -#define UA_NS0ID_NONTRANSPARENTREDUNDANCYTYPE_SERVERURIARRAY 2040 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE 2041 /* ObjectType */ -#define UA_NS0ID_BASEEVENTTYPE_EVENTID 2042 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_EVENTTYPE 2043 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_SOURCENODE 2044 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_SOURCENAME 2045 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_TIME 2046 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_RECEIVETIME 2047 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_MESSAGE 2050 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_SEVERITY 2051 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE 2052 /* ObjectType */ -#define UA_NS0ID_AUDITEVENTTYPE_ACTIONTIMESTAMP 2053 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_STATUS 2054 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_SERVERID 2055 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_CLIENTAUDITENTRYID 2056 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_CLIENTUSERID 2057 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE 2058 /* ObjectType */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE 2059 /* ObjectType */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE 2060 /* ObjectType */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTCERTIFICATE 2061 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_REQUESTTYPE 2062 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SECURITYPOLICYURI 2063 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SECURITYMODE 2065 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_REQUESTEDLIFETIME 2066 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE 2069 /* ObjectType */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SESSIONID 2070 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE 2071 /* ObjectType */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SECURECHANNELID 2072 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTCERTIFICATE 2073 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_REVISEDSESSIONTIMEOUT 2074 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE 2075 /* ObjectType */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CLIENTSOFTWARECERTIFICATES 2076 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_USERIDENTITYTOKEN 2077 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE 2078 /* ObjectType */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_REQUESTHANDLE 2079 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE 2080 /* ObjectType */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CERTIFICATE 2081 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE 2082 /* ObjectType */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_INVALIDHOSTNAME 2083 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_INVALIDURI 2084 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE 2085 /* ObjectType */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE 2086 /* ObjectType */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE 2087 /* ObjectType */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE 2088 /* ObjectType */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE 2089 /* ObjectType */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE 2090 /* ObjectType */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE 2091 /* ObjectType */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_NODESTOADD 2092 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE 2093 /* ObjectType */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_NODESTODELETE 2094 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE 2095 /* ObjectType */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_REFERENCESTOADD 2096 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE 2097 /* ObjectType */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_REFERENCESTODELETE 2098 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE 2099 /* ObjectType */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE 2100 /* ObjectType */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_INDEXRANGE 2101 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_OLDVALUE 2102 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_NEWVALUE 2103 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE 2104 /* ObjectType */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE 2127 /* ObjectType */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_METHODID 2128 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_INPUTARGUMENTS 2129 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE 2130 /* ObjectType */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE 2131 /* ObjectType */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE 2132 /* ObjectType */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE 2133 /* ObjectType */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CHANGES 2134 /* Variable */ -#define UA_NS0ID_SERVERVENDORCAPABILITYTYPE 2137 /* VariableType */ -#define UA_NS0ID_SERVERSTATUSTYPE 2138 /* VariableType */ -#define UA_NS0ID_SERVERSTATUSTYPE_STARTTIME 2139 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_CURRENTTIME 2140 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_STATE 2141 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO 2142 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE 2150 /* VariableType */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SERVERVIEWCOUNT 2151 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CURRENTSESSIONCOUNT 2152 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CUMULATEDSESSIONCOUNT 2153 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SECURITYREJECTEDSESSIONCOUNT 2154 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_REJECTEDSESSIONCOUNT 2155 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SESSIONTIMEOUTCOUNT 2156 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SESSIONABORTCOUNT 2157 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_PUBLISHINGINTERVALCOUNT 2159 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CURRENTSUBSCRIPTIONCOUNT 2160 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_CUMULATEDSUBSCRIPTIONCOUNT 2161 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_SECURITYREJECTEDREQUESTSCOUNT 2162 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYTYPE_REJECTEDREQUESTSCOUNT 2163 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE 2164 /* VariableType */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE 2165 /* VariableType */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_SAMPLINGINTERVAL 2166 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE 2171 /* VariableType */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE 2172 /* VariableType */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_SESSIONID 2173 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_SUBSCRIPTIONID 2174 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PRIORITY 2175 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PUBLISHINGINTERVAL 2176 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MAXKEEPALIVECOUNT 2177 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MAXNOTIFICATIONSPERPUBLISH 2179 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PUBLISHINGENABLED 2180 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MODIFYCOUNT 2181 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_ENABLECOUNT 2182 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DISABLECOUNT 2183 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_REPUBLISHREQUESTCOUNT 2184 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_REPUBLISHMESSAGEREQUESTCOUNT 2185 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_REPUBLISHMESSAGECOUNT 2186 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_TRANSFERREQUESTCOUNT 2187 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_TRANSFERREDTOALTCLIENTCOUNT 2188 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_TRANSFERREDTOSAMECLIENTCOUNT 2189 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_PUBLISHREQUESTCOUNT 2190 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DATACHANGENOTIFICATIONSCOUNT 2191 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_NOTIFICATIONSCOUNT 2193 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE 2196 /* VariableType */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE 2197 /* VariableType */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SESSIONID 2198 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SESSIONNAME 2199 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CLIENTDESCRIPTION 2200 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SERVERURI 2201 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ENDPOINTURL 2202 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_LOCALEIDS 2203 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ACTUALSESSIONTIMEOUT 2204 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CLIENTCONNECTIONTIME 2205 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CLIENTLASTCONTACTTIME 2206 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CURRENTSUBSCRIPTIONSCOUNT 2207 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CURRENTMONITOREDITEMSCOUNT 2208 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CURRENTPUBLISHREQUESTSINQUEUE 2209 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_READCOUNT 2217 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_HISTORYREADCOUNT 2218 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_WRITECOUNT 2219 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_HISTORYUPDATECOUNT 2220 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CALLCOUNT 2221 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CREATEMONITOREDITEMSCOUNT 2222 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_MODIFYMONITOREDITEMSCOUNT 2223 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SETMONITORINGMODECOUNT 2224 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SETTRIGGERINGCOUNT 2225 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETEMONITOREDITEMSCOUNT 2226 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_CREATESUBSCRIPTIONCOUNT 2227 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_MODIFYSUBSCRIPTIONCOUNT 2228 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_SETPUBLISHINGMODECOUNT 2229 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_PUBLISHCOUNT 2230 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_REPUBLISHCOUNT 2231 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_TRANSFERSUBSCRIPTIONSCOUNT 2232 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETESUBSCRIPTIONSCOUNT 2233 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ADDNODESCOUNT 2234 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_ADDREFERENCESCOUNT 2235 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETENODESCOUNT 2236 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_DELETEREFERENCESCOUNT 2237 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_BROWSECOUNT 2238 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_BROWSENEXTCOUNT 2239 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 2240 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_QUERYFIRSTCOUNT 2241 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_QUERYNEXTCOUNT 2242 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE 2243 /* VariableType */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE 2244 /* VariableType */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_SESSIONID 2245 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_CLIENTUSERIDOFSESSION 2246 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_CLIENTUSERIDHISTORY 2247 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_AUTHENTICATIONMECHANISM 2248 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_ENCODING 2249 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_TRANSPORTPROTOCOL 2250 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_SECURITYMODE 2251 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_SECURITYPOLICYURI 2252 /* Variable */ -#define UA_NS0ID_SERVER 2253 /* Object */ -#define UA_NS0ID_SERVER_SERVERARRAY 2254 /* Variable */ -#define UA_NS0ID_SERVER_NAMESPACEARRAY 2255 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS 2256 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_STARTTIME 2257 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_CURRENTTIME 2258 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_STATE 2259 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO 2260 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME 2261 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI 2262 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME 2263 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION 2264 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER 2265 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE 2266 /* Variable */ -#define UA_NS0ID_SERVER_SERVICELEVEL 2267 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES 2268 /* Object */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_SERVERPROFILEARRAY 2269 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_LOCALEIDARRAY 2271 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MINSUPPORTEDSAMPLERATE 2272 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS 2274 /* Object */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY 2275 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT 2276 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT 2277 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT 2278 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT 2279 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT 2281 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT 2282 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT 2284 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT 2285 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT 2286 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT 2287 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT 2288 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SAMPLINGINTERVALDIAGNOSTICSARRAY 2289 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY 2290 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_ENABLEDFLAG 2294 /* Variable */ -#define UA_NS0ID_SERVER_VENDORSERVERINFO 2295 /* Object */ -#define UA_NS0ID_SERVER_SERVERREDUNDANCY 2296 /* Object */ -#define UA_NS0ID_STATEMACHINETYPE 2299 /* ObjectType */ -#define UA_NS0ID_STATETYPE 2307 /* ObjectType */ -#define UA_NS0ID_STATETYPE_STATENUMBER 2308 /* Variable */ -#define UA_NS0ID_INITIALSTATETYPE 2309 /* ObjectType */ -#define UA_NS0ID_TRANSITIONTYPE 2310 /* ObjectType */ -#define UA_NS0ID_TRANSITIONEVENTTYPE 2311 /* ObjectType */ -#define UA_NS0ID_TRANSITIONTYPE_TRANSITIONNUMBER 2312 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE 2315 /* ObjectType */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE 2318 /* ObjectType */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_STEPPED 2323 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_DEFINITION 2324 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_MAXTIMEINTERVAL 2325 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_MINTIMEINTERVAL 2326 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_EXCEPTIONDEVIATION 2327 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_EXCEPTIONDEVIATIONFORMAT 2328 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE 2330 /* ObjectType */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_ACCESSHISTORYDATACAPABILITY 2331 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_ACCESSHISTORYEVENTSCAPABILITY 2332 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_INSERTDATACAPABILITY 2334 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_REPLACEDATACAPABILITY 2335 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_UPDATEDATACAPABILITY 2336 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_DELETERAWCAPABILITY 2337 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_DELETEATTIMECAPABILITY 2338 /* Variable */ -#define UA_NS0ID_AGGREGATEFUNCTIONTYPE 2340 /* ObjectType */ -#define UA_NS0ID_AGGREGATEFUNCTION_INTERPOLATIVE 2341 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_AVERAGE 2342 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_TIMEAVERAGE 2343 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_TOTAL 2344 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUM 2346 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUM 2347 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUMACTUALTIME 2348 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUMACTUALTIME 2349 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_RANGE 2350 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_ANNOTATIONCOUNT 2351 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_COUNT 2352 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_NUMBEROFTRANSITIONS 2355 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_START 2357 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_END 2358 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_DELTA 2359 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONGOOD 2360 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONBAD 2361 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_PERCENTGOOD 2362 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_PERCENTBAD 2363 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_WORSTQUALITY 2364 /* Object */ -#define UA_NS0ID_DATAITEMTYPE 2365 /* VariableType */ -#define UA_NS0ID_DATAITEMTYPE_DEFINITION 2366 /* Variable */ -#define UA_NS0ID_DATAITEMTYPE_VALUEPRECISION 2367 /* Variable */ -#define UA_NS0ID_ANALOGITEMTYPE 2368 /* VariableType */ -#define UA_NS0ID_ANALOGITEMTYPE_EURANGE 2369 /* Variable */ -#define UA_NS0ID_ANALOGITEMTYPE_INSTRUMENTRANGE 2370 /* Variable */ -#define UA_NS0ID_ANALOGITEMTYPE_ENGINEERINGUNITS 2371 /* Variable */ -#define UA_NS0ID_DISCRETEITEMTYPE 2372 /* VariableType */ -#define UA_NS0ID_TWOSTATEDISCRETETYPE 2373 /* VariableType */ -#define UA_NS0ID_TWOSTATEDISCRETETYPE_FALSESTATE 2374 /* Variable */ -#define UA_NS0ID_TWOSTATEDISCRETETYPE_TRUESTATE 2375 /* Variable */ -#define UA_NS0ID_MULTISTATEDISCRETETYPE 2376 /* VariableType */ -#define UA_NS0ID_MULTISTATEDISCRETETYPE_ENUMSTRINGS 2377 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE 2378 /* ObjectType */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_INTERMEDIATERESULT 2379 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE 2380 /* VariableType */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_CREATESESSIONID 2381 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_CREATECLIENTNAME 2382 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_INVOCATIONCREATIONTIME 2383 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTTRANSITIONTIME 2384 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODCALL 2385 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODSESSIONID 2386 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODINPUTARGUMENTS 2387 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODOUTPUTARGUMENTS 2388 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODCALLTIME 2389 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTICTYPE_LASTMETHODRETURNSTATUS 2390 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE 2391 /* ObjectType */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CREATABLE 2392 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_DELETABLE 2393 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_AUTODELETE 2394 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RECYCLECOUNT 2395 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_INSTANCECOUNT 2396 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_MAXINSTANCECOUNT 2397 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_MAXRECYCLECOUNT 2398 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC 2399 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READY 2400 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READY_STATENUMBER 2401 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNING 2402 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNING_STATENUMBER 2403 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDED 2404 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDED_STATENUMBER 2405 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTED 2406 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTED_STATENUMBER 2407 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTEDTOREADY 2408 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALTEDTOREADY_TRANSITIONNUMBER 2409 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTORUNNING 2410 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTORUNNING_TRANSITIONNUMBER 2411 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOHALTED 2412 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOHALTED_TRANSITIONNUMBER 2413 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOREADY 2414 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOREADY_TRANSITIONNUMBER 2415 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOSUSPENDED 2416 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RUNNINGTOSUSPENDED_TRANSITIONNUMBER 2417 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTORUNNING 2418 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTORUNNING_TRANSITIONNUMBER 2419 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOHALTED 2420 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOHALTED_TRANSITIONNUMBER 2421 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOREADY 2422 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPENDEDTOREADY_TRANSITIONNUMBER 2423 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTOHALTED 2424 /* Object */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_READYTOHALTED_TRANSITIONNUMBER 2425 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_START 2426 /* Method */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_SUSPEND 2427 /* Method */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RESUME 2428 /* Method */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_HALT 2429 /* Method */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_RESET 2430 /* Method */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_REGISTERNODESCOUNT 2730 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_UNREGISTERNODESCOUNT 2731 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXBROWSECONTINUATIONPOINTS 2732 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXQUERYCONTINUATIONPOINTS 2733 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXHISTORYCONTINUATIONPOINTS 2734 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBROWSECONTINUATIONPOINTS 2735 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXQUERYCONTINUATIONPOINTS 2736 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXHISTORYCONTINUATIONPOINTS 2737 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE 2738 /* ObjectType */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CHANGES 2739 /* Variable */ -#define UA_NS0ID_SERVERTYPE_AUDITING 2742 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SESSIONSDIAGNOSTICSSUMMARY 2744 /* Object */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SECURECHANNELID 2745 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTCERTIFICATETHUMBPRINT 2746 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTCERTIFICATETHUMBPRINT 2747 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE 2748 /* ObjectType */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_ENDPOINTURL 2749 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_ATTRIBUTEID 2750 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_PARAMETERDATATYPEID 2751 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_SECONDSTILLSHUTDOWN 2752 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_SHUTDOWNREASON 2753 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_AGGREGATEFUNCTIONS 2754 /* Object */ -#define UA_NS0ID_STATEVARIABLETYPE 2755 /* VariableType */ -#define UA_NS0ID_STATEVARIABLETYPE_ID 2756 /* Variable */ -#define UA_NS0ID_STATEVARIABLETYPE_NAME 2757 /* Variable */ -#define UA_NS0ID_STATEVARIABLETYPE_NUMBER 2758 /* Variable */ -#define UA_NS0ID_STATEVARIABLETYPE_EFFECTIVEDISPLAYNAME 2759 /* Variable */ -#define UA_NS0ID_FINITESTATEVARIABLETYPE 2760 /* VariableType */ -#define UA_NS0ID_FINITESTATEVARIABLETYPE_ID 2761 /* Variable */ -#define UA_NS0ID_TRANSITIONVARIABLETYPE 2762 /* VariableType */ -#define UA_NS0ID_TRANSITIONVARIABLETYPE_ID 2763 /* Variable */ -#define UA_NS0ID_TRANSITIONVARIABLETYPE_NAME 2764 /* Variable */ -#define UA_NS0ID_TRANSITIONVARIABLETYPE_NUMBER 2765 /* Variable */ -#define UA_NS0ID_TRANSITIONVARIABLETYPE_TRANSITIONTIME 2766 /* Variable */ -#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE 2767 /* VariableType */ -#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_ID 2768 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE 2769 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION 2770 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE 2771 /* ObjectType */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE 2772 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION 2773 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION 2774 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE 2775 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE 2776 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_OLDSTATEID 2777 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_NEWSTATEID 2778 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE 2782 /* ObjectType */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE 2787 /* ObjectType */ -#define UA_NS0ID_REFRESHENDEVENTTYPE 2788 /* ObjectType */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE 2789 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE 2790 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE 2803 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE 2829 /* ObjectType */ -#define UA_NS0ID_DIALOGCONDITIONTYPE 2830 /* ObjectType */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_PROMPT 2831 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE 2881 /* ObjectType */ -#define UA_NS0ID_ALARMCONDITIONTYPE 2915 /* ObjectType */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE 2929 /* ObjectType */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVED 2930 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVED 2932 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVED 2933 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOTIMEDSHELVED 2935 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOONESHOTSHELVED 2936 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOUNSHELVED 2940 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOONESHOTSHELVED 2942 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOUNSHELVED 2943 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOTIMEDSHELVED 2945 /* Object */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVE 2947 /* Method */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVE 2948 /* Method */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE 2949 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE 2955 /* ObjectType */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE_INPUTARGUMENTS 2991 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN 2992 /* Variable */ -#define UA_NS0ID_SERVER_SERVERSTATUS_SHUTDOWNREASON 2993 /* Variable */ -#define UA_NS0ID_SERVER_AUDITING 2994 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES 2996 /* Object */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_AGGREGATEFUNCTIONS 2997 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_EVENTNOTIFICATIONSCOUNT 2998 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE 2999 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_FILTER 3003 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE 3006 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE 3012 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE 3014 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_ISDELETEMODIFIED 3015 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_STARTTIME 3016 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_ENDTIME 3017 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE 3019 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_REQTIMES 3020 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_OLDVALUES 3021 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE 3022 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_EVENTIDS 3023 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_OLDVALUES 3024 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_UPDATEDNODE 3025 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_UPDATEDNODE 3026 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_UPDATEDNODE 3027 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_PERFORMINSERTREPLACE 3028 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_NEWVALUES 3029 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_OLDVALUES 3030 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_PERFORMINSERTREPLACE 3031 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_NEWVALUES 3032 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_OLDVALUES 3033 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_OLDVALUES 3034 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE 3035 /* ObjectType */ -#define UA_NS0ID_EVENTTYPESFOLDER 3048 /* Object */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_SOFTWARECERTIFICATES 3049 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_MAXRESPONSEMESSAGESIZE 3050 /* Variable */ -#define UA_NS0ID_BUILDINFOTYPE 3051 /* VariableType */ -#define UA_NS0ID_BUILDINFOTYPE_PRODUCTURI 3052 /* Variable */ -#define UA_NS0ID_BUILDINFOTYPE_MANUFACTURERNAME 3053 /* Variable */ -#define UA_NS0ID_BUILDINFOTYPE_PRODUCTNAME 3054 /* Variable */ -#define UA_NS0ID_BUILDINFOTYPE_SOFTWAREVERSION 3055 /* Variable */ -#define UA_NS0ID_BUILDINFOTYPE_BUILDNUMBER 3056 /* Variable */ -#define UA_NS0ID_BUILDINFOTYPE_BUILDDATE 3057 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSTYPE_CLIENTCERTIFICATE 3058 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION 3059 /* Object */ -#define UA_NS0ID_DEFAULTBINARY 3062 /* Object */ -#define UA_NS0ID_DEFAULTXML 3063 /* Object */ -#define UA_NS0ID_ALWAYSGENERATESEVENT 3065 /* ReferenceType */ -#define UA_NS0ID_ICON 3067 /* Variable */ -#define UA_NS0ID_NODEVERSION 3068 /* Variable */ -#define UA_NS0ID_LOCALTIME 3069 /* Variable */ -#define UA_NS0ID_ALLOWNULLS 3070 /* Variable */ -#define UA_NS0ID_ENUMVALUES 3071 /* Variable */ -#define UA_NS0ID_INPUTARGUMENTS 3072 /* Variable */ -#define UA_NS0ID_OUTPUTARGUMENTS 3073 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_STARTTIME 3074 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_CURRENTTIME 3075 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_STATE 3076 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO 3077 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_PRODUCTURI 3078 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME 3079 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_PRODUCTNAME 3080 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION 3081 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_BUILDNUMBER 3082 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_BUILDINFO_BUILDDATE 3083 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_SECONDSTILLSHUTDOWN 3084 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERSTATUS_SHUTDOWNREASON 3085 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_SERVERPROFILEARRAY 3086 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_LOCALEIDARRAY 3087 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MINSUPPORTEDSAMPLERATE 3088 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXBROWSECONTINUATIONPOINTS 3089 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXQUERYCONTINUATIONPOINTS 3090 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXHISTORYCONTINUATIONPOINTS 3091 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_SOFTWARECERTIFICATES 3092 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MODELLINGRULES 3093 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_AGGREGATEFUNCTIONS 3094 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY 3095 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT 3096 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT 3097 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT 3098 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT 3099 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT 3100 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT 3101 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT 3102 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT 3104 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT 3105 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT 3106 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT 3107 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT 3108 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SAMPLINGINTERVALDIAGNOSTICSARRAY 3109 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY 3110 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY 3111 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY 3112 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY 3113 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERDIAGNOSTICS_ENABLEDFLAG 3114 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERREDUNDANCY_REDUNDANCYSUPPORT 3115 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT 3116 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT 3117 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT 3118 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT 3119 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT 3120 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT 3121 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT 3122 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT 3124 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT 3125 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT 3126 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT 3127 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT 3128 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY 3129 /* Variable */ -#define UA_NS0ID_SERVERDIAGNOSTICSTYPE_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY 3130 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SESSIONID 3131 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SESSIONNAME 3132 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CLIENTDESCRIPTION 3133 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SERVERURI 3134 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ENDPOINTURL 3135 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_LOCALEIDS 3136 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ACTUALSESSIONTIMEOUT 3137 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_MAXRESPONSEMESSAGESIZE 3138 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CLIENTCONNECTIONTIME 3139 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CLIENTLASTCONTACTTIME 3140 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CURRENTSUBSCRIPTIONSCOUNT 3141 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CURRENTMONITOREDITEMSCOUNT 3142 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CURRENTPUBLISHREQUESTSINQUEUE 3143 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_READCOUNT 3151 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_HISTORYREADCOUNT 3152 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_WRITECOUNT 3153 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_HISTORYUPDATECOUNT 3154 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CALLCOUNT 3155 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CREATEMONITOREDITEMSCOUNT 3156 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_MODIFYMONITOREDITEMSCOUNT 3157 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SETMONITORINGMODECOUNT 3158 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SETTRIGGERINGCOUNT 3159 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETEMONITOREDITEMSCOUNT 3160 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_CREATESUBSCRIPTIONCOUNT 3161 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_MODIFYSUBSCRIPTIONCOUNT 3162 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_SETPUBLISHINGMODECOUNT 3163 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_PUBLISHCOUNT 3164 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_REPUBLISHCOUNT 3165 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_TRANSFERSUBSCRIPTIONSCOUNT 3166 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETESUBSCRIPTIONSCOUNT 3167 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ADDNODESCOUNT 3168 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_ADDREFERENCESCOUNT 3169 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETENODESCOUNT 3170 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_DELETEREFERENCESCOUNT 3171 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_BROWSECOUNT 3172 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_BROWSENEXTCOUNT 3173 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 3174 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_QUERYFIRSTCOUNT 3175 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_QUERYNEXTCOUNT 3176 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_REGISTERNODESCOUNT 3177 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_UNREGISTERNODESCOUNT 3178 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_SESSIONID 3179 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDOFSESSION 3180 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDHISTORY 3181 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_AUTHENTICATIONMECHANISM 3182 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_ENCODING 3183 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_TRANSPORTPROTOCOL 3184 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYMODE 3185 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYPOLICYURI 3186 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTCERTIFICATE 3187 /* Variable */ -#define UA_NS0ID_TRANSPARENTREDUNDANCYTYPE_REDUNDANCYSUPPORT 3188 /* Variable */ -#define UA_NS0ID_NONTRANSPARENTREDUNDANCYTYPE_REDUNDANCYSUPPORT 3189 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_LOCALTIME 3190 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_EVENTID 3191 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_EVENTTYPE 3192 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_SOURCENODE 3193 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_SOURCENAME 3194 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_TIME 3195 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_RECEIVETIME 3196 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_LOCALTIME 3197 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_MESSAGE 3198 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_SEVERITY 3199 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_EVENTID 3200 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_EVENTTYPE 3201 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_SOURCENODE 3202 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_SOURCENAME 3203 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_TIME 3204 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_RECEIVETIME 3205 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_LOCALTIME 3206 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_MESSAGE 3207 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_SEVERITY 3208 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_EVENTID 3209 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_EVENTTYPE 3210 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SOURCENODE 3211 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SOURCENAME 3212 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_TIME 3213 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_RECEIVETIME 3214 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_LOCALTIME 3215 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_MESSAGE 3216 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SEVERITY 3217 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_ACTIONTIMESTAMP 3218 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_STATUS 3219 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_SERVERID 3220 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CLIENTAUDITENTRYID 3221 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CLIENTUSERID 3222 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_EVENTID 3223 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_EVENTTYPE 3224 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SOURCENODE 3225 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SOURCENAME 3226 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_TIME 3227 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_RECEIVETIME 3228 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_LOCALTIME 3229 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_MESSAGE 3230 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SEVERITY 3231 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_ACTIONTIMESTAMP 3232 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_STATUS 3233 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_SERVERID 3234 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CLIENTAUDITENTRYID 3235 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CLIENTUSERID 3236 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_EVENTID 3237 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_EVENTTYPE 3238 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SOURCENODE 3239 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SOURCENAME 3240 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_TIME 3241 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_RECEIVETIME 3242 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_LOCALTIME 3243 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_MESSAGE 3244 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SEVERITY 3245 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_ACTIONTIMESTAMP 3246 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_STATUS 3247 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SERVERID 3248 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTAUDITENTRYID 3249 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CLIENTUSERID 3250 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_SECURECHANNELID 3251 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_EVENTID 3252 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_EVENTTYPE 3253 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SOURCENODE 3254 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SOURCENAME 3255 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_TIME 3256 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_RECEIVETIME 3257 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_LOCALTIME 3258 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_MESSAGE 3259 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SEVERITY 3260 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_ACTIONTIMESTAMP 3261 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_STATUS 3262 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_SERVERID 3263 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CLIENTAUDITENTRYID 3264 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CLIENTUSERID 3265 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_EVENTID 3266 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_EVENTTYPE 3267 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SOURCENODE 3268 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SOURCENAME 3269 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_TIME 3270 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_RECEIVETIME 3271 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_LOCALTIME 3272 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_MESSAGE 3273 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SEVERITY 3274 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_ACTIONTIMESTAMP 3275 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_STATUS 3276 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SERVERID 3277 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTAUDITENTRYID 3278 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CLIENTUSERID 3279 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_EVENTID 3281 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_EVENTTYPE 3282 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SOURCENODE 3283 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SOURCENAME 3284 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_TIME 3285 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_RECEIVETIME 3286 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_LOCALTIME 3287 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_MESSAGE 3288 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SEVERITY 3289 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_ACTIONTIMESTAMP 3290 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_STATUS 3291 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SERVERID 3292 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTAUDITENTRYID 3293 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTUSERID 3294 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SECURECHANNELID 3296 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTCERTIFICATE 3297 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CLIENTCERTIFICATETHUMBPRINT 3298 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_REVISEDSESSIONTIMEOUT 3299 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_EVENTID 3300 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_EVENTTYPE 3301 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SOURCENODE 3302 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SOURCENAME 3303 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_TIME 3304 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_RECEIVETIME 3305 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_LOCALTIME 3306 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_MESSAGE 3307 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SEVERITY 3308 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_ACTIONTIMESTAMP 3309 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_STATUS 3310 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SERVERID 3311 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CLIENTAUDITENTRYID 3312 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CLIENTUSERID 3313 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SESSIONID 3314 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_EVENTID 3315 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_EVENTTYPE 3316 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_SOURCENODE 3317 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_SOURCENAME 3318 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_TIME 3319 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_RECEIVETIME 3320 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_LOCALTIME 3321 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_MESSAGE 3322 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_SEVERITY 3323 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_ACTIONTIMESTAMP 3324 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_STATUS 3325 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_SERVERID 3326 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_CLIENTAUDITENTRYID 3327 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_CLIENTUSERID 3328 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_SESSIONID 3329 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_EVENTID 3330 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_EVENTTYPE 3331 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SOURCENODE 3332 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SOURCENAME 3333 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_TIME 3334 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_RECEIVETIME 3335 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_LOCALTIME 3336 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_MESSAGE 3337 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SEVERITY 3338 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_ACTIONTIMESTAMP 3339 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_STATUS 3340 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_SERVERID 3341 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CLIENTAUDITENTRYID 3342 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CLIENTUSERID 3343 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_EVENTID 3344 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_EVENTTYPE 3345 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SOURCENODE 3346 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SOURCENAME 3347 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_TIME 3348 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_RECEIVETIME 3349 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_LOCALTIME 3350 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_MESSAGE 3351 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SEVERITY 3352 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_ACTIONTIMESTAMP 3353 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_STATUS 3354 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_SERVERID 3355 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CLIENTAUDITENTRYID 3356 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CLIENTUSERID 3357 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CERTIFICATE 3358 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_EVENTID 3359 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_EVENTTYPE 3360 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SOURCENODE 3361 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SOURCENAME 3362 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_TIME 3363 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_RECEIVETIME 3364 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_LOCALTIME 3365 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_MESSAGE 3366 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SEVERITY 3367 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_ACTIONTIMESTAMP 3368 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_STATUS 3369 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_SERVERID 3370 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CLIENTAUDITENTRYID 3371 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CLIENTUSERID 3372 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CERTIFICATE 3373 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_EVENTID 3374 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_EVENTTYPE 3375 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SOURCENODE 3376 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SOURCENAME 3377 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_TIME 3378 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_RECEIVETIME 3379 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_LOCALTIME 3380 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_MESSAGE 3381 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SEVERITY 3382 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_ACTIONTIMESTAMP 3383 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_STATUS 3384 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_SERVERID 3385 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CLIENTAUDITENTRYID 3386 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CLIENTUSERID 3387 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CERTIFICATE 3388 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_EVENTID 3389 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_EVENTTYPE 3390 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SOURCENODE 3391 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SOURCENAME 3392 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_TIME 3393 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_RECEIVETIME 3394 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_LOCALTIME 3395 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_MESSAGE 3396 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SEVERITY 3397 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_ACTIONTIMESTAMP 3398 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_STATUS 3399 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_SERVERID 3400 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CLIENTAUDITENTRYID 3401 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CLIENTUSERID 3402 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CERTIFICATE 3403 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_EVENTID 3404 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_EVENTTYPE 3405 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SOURCENODE 3406 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SOURCENAME 3407 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_TIME 3408 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_RECEIVETIME 3409 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_LOCALTIME 3410 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_MESSAGE 3411 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SEVERITY 3412 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_ACTIONTIMESTAMP 3413 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_STATUS 3414 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_SERVERID 3415 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CLIENTAUDITENTRYID 3416 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CLIENTUSERID 3417 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CERTIFICATE 3418 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_EVENTID 3419 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_EVENTTYPE 3420 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SOURCENODE 3421 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SOURCENAME 3422 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_TIME 3423 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_RECEIVETIME 3424 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_LOCALTIME 3425 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_MESSAGE 3426 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SEVERITY 3427 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_ACTIONTIMESTAMP 3428 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_STATUS 3429 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_SERVERID 3430 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CLIENTAUDITENTRYID 3431 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CLIENTUSERID 3432 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CERTIFICATE 3433 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_EVENTID 3434 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_EVENTTYPE 3435 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SOURCENODE 3436 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SOURCENAME 3437 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_TIME 3438 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_RECEIVETIME 3439 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_LOCALTIME 3440 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_MESSAGE 3441 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SEVERITY 3442 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_ACTIONTIMESTAMP 3443 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_STATUS 3444 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_SERVERID 3445 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CLIENTAUDITENTRYID 3446 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CLIENTUSERID 3447 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_EVENTID 3448 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_EVENTTYPE 3449 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SOURCENODE 3450 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SOURCENAME 3451 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_TIME 3452 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_RECEIVETIME 3453 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_LOCALTIME 3454 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_MESSAGE 3455 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SEVERITY 3456 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_ACTIONTIMESTAMP 3457 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_STATUS 3458 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_SERVERID 3459 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CLIENTAUDITENTRYID 3460 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CLIENTUSERID 3461 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_EVENTID 3462 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_EVENTTYPE 3463 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SOURCENODE 3464 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SOURCENAME 3465 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_TIME 3466 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_RECEIVETIME 3467 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_LOCALTIME 3468 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_MESSAGE 3469 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SEVERITY 3470 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_ACTIONTIMESTAMP 3471 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_STATUS 3472 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_SERVERID 3473 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CLIENTAUDITENTRYID 3474 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CLIENTUSERID 3475 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_EVENTID 3476 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_EVENTTYPE 3477 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SOURCENODE 3478 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SOURCENAME 3479 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_TIME 3480 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_RECEIVETIME 3481 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_LOCALTIME 3482 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_MESSAGE 3483 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SEVERITY 3484 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_ACTIONTIMESTAMP 3485 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_STATUS 3486 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_SERVERID 3487 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CLIENTAUDITENTRYID 3488 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CLIENTUSERID 3489 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_EVENTID 3490 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_EVENTTYPE 3491 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SOURCENODE 3492 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SOURCENAME 3493 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_TIME 3494 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_RECEIVETIME 3495 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_LOCALTIME 3496 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_MESSAGE 3497 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SEVERITY 3498 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_ACTIONTIMESTAMP 3499 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_STATUS 3500 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_SERVERID 3501 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CLIENTAUDITENTRYID 3502 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CLIENTUSERID 3503 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_EVENTID 3504 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_EVENTTYPE 3505 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SOURCENODE 3506 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SOURCENAME 3507 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_TIME 3508 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_RECEIVETIME 3509 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_LOCALTIME 3510 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_MESSAGE 3511 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SEVERITY 3512 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_ACTIONTIMESTAMP 3513 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_STATUS 3514 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_SERVERID 3515 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3516 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CLIENTUSERID 3517 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_EVENTID 3518 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_EVENTTYPE 3519 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SOURCENODE 3520 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SOURCENAME 3521 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_TIME 3522 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_RECEIVETIME 3523 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_LOCALTIME 3524 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_MESSAGE 3525 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SEVERITY 3526 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_ACTIONTIMESTAMP 3527 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_STATUS 3528 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_SERVERID 3529 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3530 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CLIENTUSERID 3531 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_EVENTID 3532 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_EVENTTYPE 3533 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SOURCENODE 3534 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SOURCENAME 3535 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_TIME 3536 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_RECEIVETIME 3537 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_LOCALTIME 3538 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_MESSAGE 3539 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SEVERITY 3540 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_ACTIONTIMESTAMP 3541 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_STATUS 3542 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_SERVERID 3543 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3544 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CLIENTUSERID 3545 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_EVENTID 3546 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_EVENTTYPE 3547 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SOURCENODE 3548 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SOURCENAME 3549 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_TIME 3550 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_RECEIVETIME 3551 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_LOCALTIME 3552 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_MESSAGE 3553 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SEVERITY 3554 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_ACTIONTIMESTAMP 3555 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_STATUS 3556 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_SERVERID 3557 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3558 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CLIENTUSERID 3559 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_PARAMETERDATATYPEID 3560 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_EVENTID 3561 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_EVENTTYPE 3562 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SOURCENODE 3563 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SOURCENAME 3564 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_TIME 3565 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_RECEIVETIME 3566 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_LOCALTIME 3567 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_MESSAGE 3568 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SEVERITY 3569 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_ACTIONTIMESTAMP 3570 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_STATUS 3571 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_SERVERID 3572 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CLIENTAUDITENTRYID 3573 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CLIENTUSERID 3574 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_PARAMETERDATATYPEID 3575 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_EVENTID 3576 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_EVENTTYPE 3577 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SOURCENODE 3578 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SOURCENAME 3579 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_TIME 3580 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_RECEIVETIME 3581 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_LOCALTIME 3582 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_MESSAGE 3583 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SEVERITY 3584 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_ACTIONTIMESTAMP 3585 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_STATUS 3586 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_SERVERID 3587 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CLIENTAUDITENTRYID 3588 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CLIENTUSERID 3589 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_PARAMETERDATATYPEID 3590 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_EVENTID 3591 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_EVENTTYPE 3592 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SOURCENODE 3593 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SOURCENAME 3594 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_TIME 3595 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_RECEIVETIME 3596 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_LOCALTIME 3597 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_MESSAGE 3598 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SEVERITY 3599 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_ACTIONTIMESTAMP 3600 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_STATUS 3601 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_SERVERID 3602 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CLIENTAUDITENTRYID 3603 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CLIENTUSERID 3604 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_PARAMETERDATATYPEID 3605 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_UPDATEDNODE 3606 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_EVENTID 3607 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_EVENTTYPE 3608 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SOURCENODE 3609 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SOURCENAME 3610 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_TIME 3611 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_RECEIVETIME 3612 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_LOCALTIME 3613 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_MESSAGE 3614 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SEVERITY 3615 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_ACTIONTIMESTAMP 3616 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_STATUS 3617 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_SERVERID 3618 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CLIENTAUDITENTRYID 3619 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CLIENTUSERID 3620 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_PARAMETERDATATYPEID 3621 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_UPDATEDNODE 3622 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_EVENTID 3623 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_EVENTTYPE 3624 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SOURCENODE 3625 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SOURCENAME 3626 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_TIME 3627 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_RECEIVETIME 3628 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_LOCALTIME 3629 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_MESSAGE 3630 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SEVERITY 3631 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_ACTIONTIMESTAMP 3632 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_STATUS 3633 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_SERVERID 3634 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CLIENTAUDITENTRYID 3635 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CLIENTUSERID 3636 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_PARAMETERDATATYPEID 3637 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_UPDATEDNODE 3638 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_EVENTID 3639 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_EVENTTYPE 3640 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SOURCENODE 3641 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SOURCENAME 3642 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_TIME 3643 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_RECEIVETIME 3644 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_LOCALTIME 3645 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_MESSAGE 3646 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SEVERITY 3647 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_ACTIONTIMESTAMP 3648 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_STATUS 3649 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_SERVERID 3650 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CLIENTAUDITENTRYID 3651 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CLIENTUSERID 3652 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_EVENTID 3653 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_EVENTTYPE 3654 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_SOURCENODE 3655 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_SOURCENAME 3656 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_TIME 3657 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_RECEIVETIME 3658 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_LOCALTIME 3659 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_MESSAGE 3660 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_SEVERITY 3661 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_EVENTID 3662 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_EVENTTYPE 3663 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_SOURCENODE 3664 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_SOURCENAME 3665 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_TIME 3666 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_RECEIVETIME 3667 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_LOCALTIME 3668 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_MESSAGE 3669 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_SEVERITY 3670 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_EVENTID 3671 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_EVENTTYPE 3672 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_SOURCENODE 3673 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_SOURCENAME 3674 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_TIME 3675 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_RECEIVETIME 3676 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_LOCALTIME 3677 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_MESSAGE 3678 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_SEVERITY 3679 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_EVENTID 3680 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_EVENTTYPE 3681 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_SOURCENODE 3682 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_SOURCENAME 3683 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_TIME 3684 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_RECEIVETIME 3685 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_LOCALTIME 3686 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_MESSAGE 3687 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_SEVERITY 3688 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_EVENTID 3689 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_EVENTTYPE 3690 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_SOURCENODE 3691 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_SOURCENAME 3692 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_TIME 3693 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_RECEIVETIME 3694 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_LOCALTIME 3695 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_MESSAGE 3696 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_SEVERITY 3697 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_PRODUCTURI 3698 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_MANUFACTURERNAME 3699 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_PRODUCTNAME 3700 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_SOFTWAREVERSION 3701 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_BUILDNUMBER 3702 /* Variable */ -#define UA_NS0ID_SERVERSTATUSTYPE_BUILDINFO_BUILDDATE 3703 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_SOFTWARECERTIFICATES 3704 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT 3705 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY 3706 /* Object */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY 3707 /* Variable */ -#define UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY 3708 /* Variable */ -#define UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANCYSUPPORT 3709 /* Variable */ -#define UA_NS0ID_FINITESTATEVARIABLETYPE_NAME 3714 /* Variable */ -#define UA_NS0ID_FINITESTATEVARIABLETYPE_NUMBER 3715 /* Variable */ -#define UA_NS0ID_FINITESTATEVARIABLETYPE_EFFECTIVEDISPLAYNAME 3716 /* Variable */ -#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_NAME 3717 /* Variable */ -#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_NUMBER 3718 /* Variable */ -#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_TRANSITIONTIME 3719 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_ID 3720 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_NAME 3721 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_NUMBER 3722 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 3723 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_ID 3724 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_NAME 3725 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_NUMBER 3726 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 3727 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_ID 3728 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_NAME 3729 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_NUMBER 3730 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 3731 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_ID 3732 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_NAME 3733 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_NUMBER 3734 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 3735 /* Variable */ -#define UA_NS0ID_INITIALSTATETYPE_STATENUMBER 3736 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_EVENTID 3737 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_EVENTTYPE 3738 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_SOURCENODE 3739 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_SOURCENAME 3740 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TIME 3741 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_RECEIVETIME 3742 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_LOCALTIME 3743 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_MESSAGE 3744 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_SEVERITY 3745 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_ID 3746 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_NAME 3747 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_NUMBER 3748 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_FROMSTATE_EFFECTIVEDISPLAYNAME 3749 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_ID 3750 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_NAME 3751 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_NUMBER 3752 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TOSTATE_EFFECTIVEDISPLAYNAME 3753 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_ID 3754 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_NAME 3755 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_NUMBER 3756 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_TRANSITIONTIME 3757 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_EVENTID 3758 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_EVENTTYPE 3759 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SOURCENODE 3760 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SOURCENAME 3761 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_TIME 3762 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_RECEIVETIME 3763 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_LOCALTIME 3764 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_MESSAGE 3765 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SEVERITY 3766 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_ACTIONTIMESTAMP 3767 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_STATUS 3768 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_SERVERID 3769 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CLIENTAUDITENTRYID 3770 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CLIENTUSERID 3771 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_METHODID 3772 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_INPUTARGUMENTS 3773 /* Variable */ -#define UA_NS0ID_ANALOGITEMTYPE_DEFINITION 3774 /* Variable */ -#define UA_NS0ID_ANALOGITEMTYPE_VALUEPRECISION 3775 /* Variable */ -#define UA_NS0ID_DISCRETEITEMTYPE_DEFINITION 3776 /* Variable */ -#define UA_NS0ID_DISCRETEITEMTYPE_VALUEPRECISION 3777 /* Variable */ -#define UA_NS0ID_TWOSTATEDISCRETETYPE_DEFINITION 3778 /* Variable */ -#define UA_NS0ID_TWOSTATEDISCRETETYPE_VALUEPRECISION 3779 /* Variable */ -#define UA_NS0ID_MULTISTATEDISCRETETYPE_DEFINITION 3780 /* Variable */ -#define UA_NS0ID_MULTISTATEDISCRETETYPE_VALUEPRECISION 3781 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_EVENTID 3782 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_EVENTTYPE 3783 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_SOURCENODE 3784 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_SOURCENAME 3785 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TIME 3786 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_RECEIVETIME 3787 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_LOCALTIME 3788 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_MESSAGE 3789 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_SEVERITY 3790 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE 3791 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_ID 3792 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_NAME 3793 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_NUMBER 3794 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_FROMSTATE_EFFECTIVEDISPLAYNAME 3795 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE 3796 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_ID 3797 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_NAME 3798 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_NUMBER 3799 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TOSTATE_EFFECTIVEDISPLAYNAME 3800 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION 3801 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_ID 3802 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_NAME 3803 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_NUMBER 3804 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_TRANSITIONTIME 3805 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE 3806 /* ObjectType */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_EVENTID 3807 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_EVENTTYPE 3808 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SOURCENODE 3809 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SOURCENAME 3810 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TIME 3811 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_RECEIVETIME 3812 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_LOCALTIME 3813 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_MESSAGE 3814 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SEVERITY 3815 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_ACTIONTIMESTAMP 3816 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_STATUS 3817 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_SERVERID 3818 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CLIENTAUDITENTRYID 3819 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CLIENTUSERID 3820 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_METHODID 3821 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_INPUTARGUMENTS 3822 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_OLDSTATEID 3823 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_NEWSTATEID 3824 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION 3825 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_ID 3826 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_NAME 3827 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_NUMBER 3828 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_TRANSITIONTIME 3829 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE 3830 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_ID 3831 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_NAME 3832 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_NUMBER 3833 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 3834 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION 3835 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_ID 3836 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_NAME 3837 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_NUMBER 3838 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 3839 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_CREATESESSIONID 3840 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_CREATECLIENTNAME 3841 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_INVOCATIONCREATIONTIME 3842 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTTRANSITIONTIME 3843 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODCALL 3844 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODSESSIONID 3845 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODINPUTARGUMENTS 3846 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODOUTPUTARGUMENTS 3847 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODCALLTIME 3848 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODRETURNSTATUS 3849 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_FINALRESULTDATA 3850 /* Object */ -#define UA_NS0ID_ADDCOMMENTMETHODTYPE 3863 /* Method */ -#define UA_NS0ID_ADDCOMMENTMETHODTYPE_INPUTARGUMENTS 3864 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_EVENTID 3865 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_EVENTTYPE 3866 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_SOURCENODE 3867 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_SOURCENAME 3868 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_TIME 3869 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_RECEIVETIME 3870 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_LOCALTIME 3871 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_MESSAGE 3872 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_SEVERITY 3873 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_RETAIN 3874 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH 3875 /* Method */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 3876 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_EVENTID 3969 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_EVENTTYPE 3970 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_SOURCENODE 3971 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_SOURCENAME 3972 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_TIME 3973 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_RECEIVETIME 3974 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_LOCALTIME 3975 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_MESSAGE 3976 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_SEVERITY 3977 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_EVENTID 3978 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_EVENTTYPE 3979 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_SOURCENODE 3980 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_SOURCENAME 3981 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_TIME 3982 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_RECEIVETIME 3983 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_LOCALTIME 3984 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_MESSAGE 3985 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_SEVERITY 3986 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_EVENTID 3987 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_EVENTTYPE 3988 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_SOURCENODE 3989 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_SOURCENAME 3990 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_TIME 3991 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_RECEIVETIME 3992 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_LOCALTIME 3993 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_MESSAGE 3994 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_SEVERITY 3995 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_EVENTID 3996 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_EVENTTYPE 3997 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SOURCENODE 3998 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SOURCENAME 3999 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_TIME 4000 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_RECEIVETIME 4001 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_LOCALTIME 4002 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_MESSAGE 4003 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SEVERITY 4004 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_ACTIONTIMESTAMP 4005 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_STATUS 4006 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_SERVERID 4007 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CLIENTAUDITENTRYID 4008 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CLIENTUSERID 4009 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_METHODID 4010 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_INPUTARGUMENTS 4011 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_EVENTID 4106 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_EVENTTYPE 4107 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SOURCENODE 4108 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SOURCENAME 4109 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_TIME 4110 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_RECEIVETIME 4111 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_LOCALTIME 4112 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_MESSAGE 4113 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SEVERITY 4114 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_ACTIONTIMESTAMP 4115 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_STATUS 4116 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_SERVERID 4117 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CLIENTAUDITENTRYID 4118 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CLIENTUSERID 4119 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_METHODID 4120 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_INPUTARGUMENTS 4121 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_EVENTID 4170 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_EVENTTYPE 4171 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SOURCENODE 4172 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SOURCENAME 4173 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_TIME 4174 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_RECEIVETIME 4175 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_LOCALTIME 4176 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_MESSAGE 4177 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SEVERITY 4178 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_ACTIONTIMESTAMP 4179 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_STATUS 4180 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_SERVERID 4181 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CLIENTAUDITENTRYID 4182 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CLIENTUSERID 4183 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_METHODID 4184 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_INPUTARGUMENTS 4185 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_EVENTID 4188 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_EVENTTYPE 4189 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_SOURCENODE 4190 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_SOURCENAME 4191 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_TIME 4192 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RECEIVETIME 4193 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_LOCALTIME 4194 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_MESSAGE 4195 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_SEVERITY 4196 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RETAIN 4197 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH 4198 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 4199 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_EVENTID 5113 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_EVENTTYPE 5114 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SOURCENODE 5115 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SOURCENAME 5116 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_TIME 5117 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_RECEIVETIME 5118 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_LOCALTIME 5119 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_MESSAGE 5120 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SEVERITY 5121 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_RETAIN 5122 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH 5123 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 5124 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_EVENTID 5540 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_EVENTTYPE 5541 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SOURCENODE 5542 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SOURCENAME 5543 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_TIME 5544 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_RECEIVETIME 5545 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LOCALTIME 5546 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_MESSAGE 5547 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SEVERITY 5548 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_RETAIN 5549 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH 5550 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH_INPUTARGUMENTS 5551 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE 6088 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_ID 6089 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_NAME 6090 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_NUMBER 6091 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 6092 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION 6093 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_ID 6094 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_NAME 6095 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_NUMBER 6096 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 6097 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVED_STATENUMBER 6098 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVED_STATENUMBER 6100 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVED_STATENUMBER 6101 /* Variable */ -#define UA_NS0ID_TIMEDSHELVEMETHODTYPE 6102 /* Method */ -#define UA_NS0ID_TIMEDSHELVEMETHODTYPE_INPUTARGUMENTS 6103 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_EVENTID 6116 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_EVENTTYPE 6117 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SOURCENODE 6118 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SOURCENAME 6119 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_TIME 6120 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_RECEIVETIME 6121 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LOCALTIME 6122 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_MESSAGE 6123 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SEVERITY 6124 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_RETAIN 6125 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH 6126 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 6127 /* Variable */ -#define UA_NS0ID_IDTYPE_ENUMSTRINGS 7591 /* Variable */ -#define UA_NS0ID_ENUMVALUETYPE 7594 /* DataType */ -#define UA_NS0ID_MESSAGESECURITYMODE_ENUMSTRINGS 7595 /* Variable */ -#define UA_NS0ID_USERTOKENTYPE_ENUMSTRINGS 7596 /* Variable */ -#define UA_NS0ID_APPLICATIONTYPE_ENUMSTRINGS 7597 /* Variable */ -#define UA_NS0ID_SECURITYTOKENREQUESTTYPE_ENUMSTRINGS 7598 /* Variable */ -#define UA_NS0ID_BROWSEDIRECTION_ENUMSTRINGS 7603 /* Variable */ -#define UA_NS0ID_FILTEROPERATOR_ENUMSTRINGS 7605 /* Variable */ -#define UA_NS0ID_TIMESTAMPSTORETURN_ENUMSTRINGS 7606 /* Variable */ -#define UA_NS0ID_MONITORINGMODE_ENUMSTRINGS 7608 /* Variable */ -#define UA_NS0ID_DATACHANGETRIGGER_ENUMSTRINGS 7609 /* Variable */ -#define UA_NS0ID_DEADBANDTYPE_ENUMSTRINGS 7610 /* Variable */ -#define UA_NS0ID_REDUNDANCYSUPPORT_ENUMSTRINGS 7611 /* Variable */ -#define UA_NS0ID_SERVERSTATE_ENUMSTRINGS 7612 /* Variable */ -#define UA_NS0ID_EXCEPTIONDEVIATIONFORMAT_ENUMSTRINGS 7614 /* Variable */ -#define UA_NS0ID_ENUMVALUETYPE_ENCODING_DEFAULTXML 7616 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA 7617 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEVERSION 7618 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NAMESPACEURI 7619 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ARGUMENT 7650 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ARGUMENT_DATATYPEVERSION 7651 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ARGUMENT_DICTIONARYFRAGMENT 7652 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMVALUETYPE 7656 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMVALUETYPE_DATATYPEVERSION 7657 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMVALUETYPE_DICTIONARYFRAGMENT 7658 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STATUSRESULT 7659 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STATUSRESULT_DATATYPEVERSION 7660 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STATUSRESULT_DICTIONARYFRAGMENT 7661 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERTOKENPOLICY 7662 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERTOKENPOLICY_DATATYPEVERSION 7663 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERTOKENPOLICY_DICTIONARYFRAGMENT 7664 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_APPLICATIONDESCRIPTION 7665 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_APPLICATIONDESCRIPTION_DATATYPEVERSION 7666 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_APPLICATIONDESCRIPTION_DICTIONARYFRAGMENT 7667 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTDESCRIPTION 7668 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTDESCRIPTION_DATATYPEVERSION 7669 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTDESCRIPTION_DICTIONARYFRAGMENT 7670 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERIDENTITYTOKEN 7671 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERIDENTITYTOKEN_DATATYPEVERSION 7672 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERIDENTITYTOKEN_DICTIONARYFRAGMENT 7673 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANONYMOUSIDENTITYTOKEN 7674 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANONYMOUSIDENTITYTOKEN_DATATYPEVERSION 7675 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANONYMOUSIDENTITYTOKEN_DICTIONARYFRAGMENT 7676 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERNAMEIDENTITYTOKEN 7677 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERNAMEIDENTITYTOKEN_DATATYPEVERSION 7678 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERNAMEIDENTITYTOKEN_DICTIONARYFRAGMENT 7679 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_X509IDENTITYTOKEN 7680 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_X509IDENTITYTOKEN_DATATYPEVERSION 7681 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_X509IDENTITYTOKEN_DICTIONARYFRAGMENT 7682 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ISSUEDIDENTITYTOKEN 7683 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ISSUEDIDENTITYTOKEN_DATATYPEVERSION 7684 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ISSUEDIDENTITYTOKEN_DICTIONARYFRAGMENT 7685 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTCONFIGURATION 7686 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTCONFIGURATION_DATATYPEVERSION 7687 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTCONFIGURATION_DICTIONARYFRAGMENT 7688 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BUILDINFO 7692 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BUILDINFO_DATATYPEVERSION 7693 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BUILDINFO_DICTIONARYFRAGMENT 7694 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIGNEDSOFTWARECERTIFICATE 7698 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIGNEDSOFTWARECERTIFICATE_DATATYPEVERSION 7699 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIGNEDSOFTWARECERTIFICATE_DICTIONARYFRAGMENT 7700 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDNODESITEM 7728 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDNODESITEM_DATATYPEVERSION 7729 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDNODESITEM_DICTIONARYFRAGMENT 7730 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDREFERENCESITEM 7731 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDREFERENCESITEM_DATATYPEVERSION 7732 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDREFERENCESITEM_DICTIONARYFRAGMENT 7733 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETENODESITEM 7734 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETENODESITEM_DATATYPEVERSION 7735 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETENODESITEM_DICTIONARYFRAGMENT 7736 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETEREFERENCESITEM 7737 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETEREFERENCESITEM_DATATYPEVERSION 7738 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DELETEREFERENCESITEM_DICTIONARYFRAGMENT 7739 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REGISTEREDSERVER 7782 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REGISTEREDSERVER_DATATYPEVERSION 7783 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REGISTEREDSERVER_DICTIONARYFRAGMENT 7784 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTERELEMENT 7929 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTERELEMENT_DATATYPEVERSION 7930 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTERELEMENT_DICTIONARYFRAGMENT 7931 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTER 7932 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTER_DATATYPEVERSION 7933 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONTENTFILTER_DICTIONARYFRAGMENT 7934 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FILTEROPERAND 7935 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FILTEROPERAND_DATATYPEVERSION 7936 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FILTEROPERAND_DICTIONARYFRAGMENT 7937 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ELEMENTOPERAND 7938 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ELEMENTOPERAND_DATATYPEVERSION 7939 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ELEMENTOPERAND_DICTIONARYFRAGMENT 7940 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_LITERALOPERAND 7941 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_LITERALOPERAND_DATATYPEVERSION 7942 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_LITERALOPERAND_DICTIONARYFRAGMENT 7943 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ATTRIBUTEOPERAND 7944 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ATTRIBUTEOPERAND_DATATYPEVERSION 7945 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ATTRIBUTEOPERAND_DICTIONARYFRAGMENT 7946 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLEATTRIBUTEOPERAND 7947 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLEATTRIBUTEOPERAND_DATATYPEVERSION 7948 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLEATTRIBUTEOPERAND_DICTIONARYFRAGMENT 7949 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENT 8004 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENT_DATATYPEVERSION 8005 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENT_DICTIONARYFRAGMENT 8006 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MONITORINGFILTER 8067 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MONITORINGFILTER_DATATYPEVERSION 8068 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MONITORINGFILTER_DICTIONARYFRAGMENT 8069 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EVENTFILTER 8073 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EVENTFILTER_DATATYPEVERSION 8074 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EVENTFILTER_DICTIONARYFRAGMENT 8075 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_AGGREGATECONFIGURATION 8076 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_AGGREGATECONFIGURATION_DATATYPEVERSION 8077 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_AGGREGATECONFIGURATION_DICTIONARYFRAGMENT 8078 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENTFIELDLIST 8172 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENTFIELDLIST_DATATYPEVERSION 8173 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_HISTORYEVENTFIELDLIST_DICTIONARYFRAGMENT 8174 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REDUNDANTSERVERDATATYPE 8208 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REDUNDANTSERVERDATATYPE_DATATYPEVERSION 8209 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REDUNDANTSERVERDATATYPE_DICTIONARYFRAGMENT 8210 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 8211 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DATATYPEVERSION 8212 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8213 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE 8214 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DATATYPEVERSION 8215 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DICTIONARYFRAGMENT 8216 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERSTATUSDATATYPE 8217 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERSTATUSDATATYPE_DATATYPEVERSION 8218 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERSTATUSDATATYPE_DICTIONARYFRAGMENT 8219 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONDIAGNOSTICSDATATYPE 8220 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8221 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8222 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE 8223 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DATATYPEVERSION 8224 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8225 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVICECOUNTERDATATYPE 8226 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVICECOUNTERDATATYPE_DATATYPEVERSION 8227 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVICECOUNTERDATATYPE_DICTIONARYFRAGMENT 8228 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE 8229 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8230 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8231 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MODELCHANGESTRUCTUREDATATYPE 8232 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8233 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8234 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE 8235 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8236 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8237 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RANGE 8238 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RANGE_DATATYPEVERSION 8239 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RANGE_DICTIONARYFRAGMENT 8240 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EUINFORMATION 8241 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EUINFORMATION_DATATYPEVERSION 8242 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EUINFORMATION_DICTIONARYFRAGMENT 8243 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANNOTATION 8244 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANNOTATION_DATATYPEVERSION 8245 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ANNOTATION_DICTIONARYFRAGMENT 8246 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTICDATATYPE 8247 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DATATYPEVERSION 8248 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DICTIONARYFRAGMENT 8249 /* Variable */ -#define UA_NS0ID_ENUMVALUETYPE_ENCODING_DEFAULTBINARY 8251 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA 8252 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEVERSION 8253 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NAMESPACEURI 8254 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ARGUMENT 8285 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ARGUMENT_DATATYPEVERSION 8286 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ARGUMENT_DICTIONARYFRAGMENT 8287 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMVALUETYPE 8291 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMVALUETYPE_DATATYPEVERSION 8292 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMVALUETYPE_DICTIONARYFRAGMENT 8293 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STATUSRESULT 8294 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STATUSRESULT_DATATYPEVERSION 8295 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STATUSRESULT_DICTIONARYFRAGMENT 8296 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERTOKENPOLICY 8297 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERTOKENPOLICY_DATATYPEVERSION 8298 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERTOKENPOLICY_DICTIONARYFRAGMENT 8299 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_APPLICATIONDESCRIPTION 8300 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_APPLICATIONDESCRIPTION_DATATYPEVERSION 8301 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_APPLICATIONDESCRIPTION_DICTIONARYFRAGMENT 8302 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTDESCRIPTION 8303 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTDESCRIPTION_DATATYPEVERSION 8304 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTDESCRIPTION_DICTIONARYFRAGMENT 8305 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERIDENTITYTOKEN 8306 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERIDENTITYTOKEN_DATATYPEVERSION 8307 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERIDENTITYTOKEN_DICTIONARYFRAGMENT 8308 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ANONYMOUSIDENTITYTOKEN 8309 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ANONYMOUSIDENTITYTOKEN_DATATYPEVERSION 8310 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ANONYMOUSIDENTITYTOKEN_DICTIONARYFRAGMENT 8311 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERNAMEIDENTITYTOKEN 8312 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERNAMEIDENTITYTOKEN_DATATYPEVERSION 8313 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERNAMEIDENTITYTOKEN_DICTIONARYFRAGMENT 8314 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_X509IDENTITYTOKEN 8315 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_X509IDENTITYTOKEN_DATATYPEVERSION 8316 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_X509IDENTITYTOKEN_DICTIONARYFRAGMENT 8317 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ISSUEDIDENTITYTOKEN 8318 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ISSUEDIDENTITYTOKEN_DATATYPEVERSION 8319 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ISSUEDIDENTITYTOKEN_DICTIONARYFRAGMENT 8320 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTCONFIGURATION 8321 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTCONFIGURATION_DATATYPEVERSION 8322 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTCONFIGURATION_DICTIONARYFRAGMENT 8323 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BUILDINFO 8327 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BUILDINFO_DATATYPEVERSION 8328 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BUILDINFO_DICTIONARYFRAGMENT 8329 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIGNEDSOFTWARECERTIFICATE 8333 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIGNEDSOFTWARECERTIFICATE_DATATYPEVERSION 8334 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIGNEDSOFTWARECERTIFICATE_DICTIONARYFRAGMENT 8335 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDNODESITEM 8363 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDNODESITEM_DATATYPEVERSION 8364 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDNODESITEM_DICTIONARYFRAGMENT 8365 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDREFERENCESITEM 8366 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDREFERENCESITEM_DATATYPEVERSION 8367 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDREFERENCESITEM_DICTIONARYFRAGMENT 8368 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETENODESITEM 8369 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETENODESITEM_DATATYPEVERSION 8370 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETENODESITEM_DICTIONARYFRAGMENT 8371 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETEREFERENCESITEM 8372 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETEREFERENCESITEM_DATATYPEVERSION 8373 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DELETEREFERENCESITEM_DICTIONARYFRAGMENT 8374 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REGISTEREDSERVER 8417 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REGISTEREDSERVER_DATATYPEVERSION 8418 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REGISTEREDSERVER_DICTIONARYFRAGMENT 8419 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTERELEMENT 8564 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTERELEMENT_DATATYPEVERSION 8565 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTERELEMENT_DICTIONARYFRAGMENT 8566 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTER 8567 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTER_DATATYPEVERSION 8568 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONTENTFILTER_DICTIONARYFRAGMENT 8569 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FILTEROPERAND 8570 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FILTEROPERAND_DATATYPEVERSION 8571 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FILTEROPERAND_DICTIONARYFRAGMENT 8572 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ELEMENTOPERAND 8573 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ELEMENTOPERAND_DATATYPEVERSION 8574 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ELEMENTOPERAND_DICTIONARYFRAGMENT 8575 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_LITERALOPERAND 8576 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_LITERALOPERAND_DATATYPEVERSION 8577 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_LITERALOPERAND_DICTIONARYFRAGMENT 8578 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ATTRIBUTEOPERAND 8579 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ATTRIBUTEOPERAND_DATATYPEVERSION 8580 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ATTRIBUTEOPERAND_DICTIONARYFRAGMENT 8581 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLEATTRIBUTEOPERAND 8582 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLEATTRIBUTEOPERAND_DATATYPEVERSION 8583 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLEATTRIBUTEOPERAND_DICTIONARYFRAGMENT 8584 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENT 8639 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENT_DATATYPEVERSION 8640 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENT_DICTIONARYFRAGMENT 8641 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MONITORINGFILTER 8702 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MONITORINGFILTER_DATATYPEVERSION 8703 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MONITORINGFILTER_DICTIONARYFRAGMENT 8704 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EVENTFILTER 8708 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EVENTFILTER_DATATYPEVERSION 8709 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EVENTFILTER_DICTIONARYFRAGMENT 8710 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_AGGREGATECONFIGURATION 8711 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_AGGREGATECONFIGURATION_DATATYPEVERSION 8712 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_AGGREGATECONFIGURATION_DICTIONARYFRAGMENT 8713 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENTFIELDLIST 8807 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENTFIELDLIST_DATATYPEVERSION 8808 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_HISTORYEVENTFIELDLIST_DICTIONARYFRAGMENT 8809 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REDUNDANTSERVERDATATYPE 8843 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REDUNDANTSERVERDATATYPE_DATATYPEVERSION 8844 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REDUNDANTSERVERDATATYPE_DICTIONARYFRAGMENT 8845 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 8846 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DATATYPEVERSION 8847 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8848 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE 8849 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DATATYPEVERSION 8850 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERDIAGNOSTICSSUMMARYDATATYPE_DICTIONARYFRAGMENT 8851 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERSTATUSDATATYPE 8852 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERSTATUSDATATYPE_DATATYPEVERSION 8853 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERSTATUSDATATYPE_DICTIONARYFRAGMENT 8854 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONDIAGNOSTICSDATATYPE 8855 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8856 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8857 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE 8858 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DATATYPEVERSION 8859 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SESSIONSECURITYDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8860 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVICECOUNTERDATATYPE 8861 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVICECOUNTERDATATYPE_DATATYPEVERSION 8862 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVICECOUNTERDATATYPE_DICTIONARYFRAGMENT 8863 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE 8864 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DATATYPEVERSION 8865 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIPTIONDIAGNOSTICSDATATYPE_DICTIONARYFRAGMENT 8866 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MODELCHANGESTRUCTUREDATATYPE 8867 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8868 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MODELCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8869 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE 8870 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DATATYPEVERSION 8871 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SEMANTICCHANGESTRUCTUREDATATYPE_DICTIONARYFRAGMENT 8872 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RANGE 8873 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RANGE_DATATYPEVERSION 8874 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RANGE_DICTIONARYFRAGMENT 8875 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EUINFORMATION 8876 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EUINFORMATION_DATATYPEVERSION 8877 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EUINFORMATION_DICTIONARYFRAGMENT 8878 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ANNOTATION 8879 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ANNOTATION_DATATYPEVERSION 8880 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ANNOTATION_DICTIONARYFRAGMENT 8881 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTICDATATYPE 8882 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DATATYPEVERSION 8883 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTICDATATYPE_DICTIONARYFRAGMENT 8884 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MAXLIFETIMECOUNT 8888 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_LATEPUBLISHREQUESTCOUNT 8889 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_CURRENTKEEPALIVECOUNT 8890 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_CURRENTLIFETIMECOUNT 8891 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_UNACKNOWLEDGEDMESSAGECOUNT 8892 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DISCARDEDMESSAGECOUNT 8893 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MONITOREDITEMCOUNT 8894 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_DISABLEDMONITOREDITEMCOUNT 8895 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_MONITORINGQUEUEOVERFLOWCOUNT 8896 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_NEXTSEQUENCENUMBER 8897 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_TOTALREQUESTCOUNT 8898 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_TOTALREQUESTCOUNT 8900 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE_EVENTQUEUEOVERFLOWCOUNT 8902 /* Variable */ -#define UA_NS0ID_TIMEZONEDATATYPE 8912 /* DataType */ -#define UA_NS0ID_TIMEZONEDATATYPE_ENCODING_DEFAULTXML 8913 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TIMEZONEDATATYPE 8914 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TIMEZONEDATATYPE_DATATYPEVERSION 8915 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TIMEZONEDATATYPE_DICTIONARYFRAGMENT 8916 /* Variable */ -#define UA_NS0ID_TIMEZONEDATATYPE_ENCODING_DEFAULTBINARY 8917 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TIMEZONEDATATYPE 8918 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TIMEZONEDATATYPE_DATATYPEVERSION 8919 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TIMEZONEDATATYPE_DICTIONARYFRAGMENT 8920 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE 8927 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_EVENTID 8928 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_EVENTTYPE 8929 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SOURCENODE 8930 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SOURCENAME 8931 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_TIME 8932 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_RECEIVETIME 8933 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_LOCALTIME 8934 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_MESSAGE 8935 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SEVERITY 8936 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_ACTIONTIMESTAMP 8937 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_STATUS 8938 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SERVERID 8939 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CLIENTAUDITENTRYID 8940 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CLIENTUSERID 8941 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_METHODID 8942 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_INPUTARGUMENTS 8943 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE 8944 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_EVENTID 8945 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_EVENTTYPE 8946 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SOURCENODE 8947 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SOURCENAME 8948 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_TIME 8949 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_RECEIVETIME 8950 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_LOCALTIME 8951 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_MESSAGE 8952 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SEVERITY 8953 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_ACTIONTIMESTAMP 8954 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_STATUS 8955 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_SERVERID 8956 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CLIENTAUDITENTRYID 8957 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CLIENTUSERID 8958 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_METHODID 8959 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_INPUTARGUMENTS 8960 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE 8961 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_EVENTID 8962 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_EVENTTYPE 8963 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SOURCENODE 8964 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SOURCENAME 8965 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_TIME 8966 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_RECEIVETIME 8967 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_LOCALTIME 8968 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_MESSAGE 8969 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SEVERITY 8970 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_ACTIONTIMESTAMP 8971 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_STATUS 8972 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_SERVERID 8973 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CLIENTAUDITENTRYID 8974 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CLIENTUSERID 8975 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_METHODID 8976 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_INPUTARGUMENTS 8977 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE 8995 /* VariableType */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_ID 8996 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_NAME 8997 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_NUMBER 8998 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_EFFECTIVEDISPLAYNAME 8999 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_TRANSITIONTIME 9000 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_EFFECTIVETRANSITIONTIME 9001 /* Variable */ -#define UA_NS0ID_CONDITIONVARIABLETYPE 9002 /* VariableType */ -#define UA_NS0ID_CONDITIONVARIABLETYPE_SOURCETIMESTAMP 9003 /* Variable */ -#define UA_NS0ID_HASTRUESUBSTATE 9004 /* ReferenceType */ -#define UA_NS0ID_HASFALSESUBSTATE 9005 /* ReferenceType */ -#define UA_NS0ID_HASCONDITION 9006 /* ReferenceType */ -#define UA_NS0ID_CONDITIONREFRESHMETHODTYPE 9007 /* Method */ -#define UA_NS0ID_CONDITIONREFRESHMETHODTYPE_INPUTARGUMENTS 9008 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONNAME 9009 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_BRANCHID 9010 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE 9011 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_ID 9012 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_NAME 9013 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_NUMBER 9014 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9015 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9016 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9017 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9018 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9019 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_QUALITY 9020 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9021 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_LASTSEVERITY 9022 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9023 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_COMMENT 9024 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9025 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CLIENTUSERID 9026 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_ENABLE 9027 /* Method */ -#define UA_NS0ID_CONDITIONTYPE_DISABLE 9028 /* Method */ -#define UA_NS0ID_CONDITIONTYPE_ADDCOMMENT 9029 /* Method */ -#define UA_NS0ID_CONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9030 /* Variable */ -#define UA_NS0ID_DIALOGRESPONSEMETHODTYPE 9031 /* Method */ -#define UA_NS0ID_DIALOGRESPONSEMETHODTYPE_INPUTARGUMENTS 9032 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONNAME 9033 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_BRANCHID 9034 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE 9035 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_ID 9036 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_NAME 9037 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_NUMBER 9038 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9039 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9040 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9041 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9042 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9043 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_QUALITY 9044 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9045 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_LASTSEVERITY 9046 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9047 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_COMMENT 9048 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9049 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CLIENTUSERID 9050 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ENABLE 9051 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DISABLE 9052 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ADDCOMMENT 9053 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9054 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE 9055 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_ID 9056 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_NAME 9057 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_NUMBER 9058 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_EFFECTIVEDISPLAYNAME 9059 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_TRANSITIONTIME 9060 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_EFFECTIVETRANSITIONTIME 9061 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_TRUESTATE 9062 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DIALOGSTATE_FALSESTATE 9063 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPONSEOPTIONSET 9064 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_DEFAULTRESPONSE 9065 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_OKRESPONSE 9066 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CANCELRESPONSE 9067 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_LASTRESPONSE 9068 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND 9069 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND_INPUTARGUMENTS 9070 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONNAME 9071 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_BRANCHID 9072 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE 9073 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_ID 9074 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_NAME 9075 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_NUMBER 9076 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9077 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9078 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9079 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9080 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9081 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_QUALITY 9082 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9083 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_LASTSEVERITY 9084 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9085 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_COMMENT 9086 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9087 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CLIENTUSERID 9088 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ENABLE 9089 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_DISABLE 9090 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ADDCOMMENT 9091 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9092 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE 9093 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_ID 9094 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_NAME 9095 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_NUMBER 9096 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9097 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_TRANSITIONTIME 9098 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9099 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_TRUESTATE 9100 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKEDSTATE_FALSESTATE 9101 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE 9102 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_ID 9103 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_NAME 9104 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_NUMBER 9105 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9106 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9107 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9108 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_TRUESTATE 9109 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRMEDSTATE_FALSESTATE 9110 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKNOWLEDGE 9111 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9112 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRM 9113 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONFIRM_INPUTARGUMENTS 9114 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVETIME 9115 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONNAME 9116 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_BRANCHID 9117 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE 9118 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_ID 9119 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_NAME 9120 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_NUMBER 9121 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9122 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_TRANSITIONTIME 9123 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9124 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_TRUESTATE 9125 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLEDSTATE_FALSESTATE 9126 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_QUALITY 9127 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_QUALITY_SOURCETIMESTAMP 9128 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LASTSEVERITY 9129 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LASTSEVERITY_SOURCETIMESTAMP 9130 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_COMMENT 9131 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_COMMENT_SOURCETIMESTAMP 9132 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CLIENTUSERID 9133 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ENABLE 9134 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_DISABLE 9135 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ADDCOMMENT 9136 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ADDCOMMENT_INPUTARGUMENTS 9137 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE 9138 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_ID 9139 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_NAME 9140 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_NUMBER 9141 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9142 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_TRANSITIONTIME 9143 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9144 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_TRUESTATE 9145 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKEDSTATE_FALSESTATE 9146 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE 9147 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_ID 9148 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_NAME 9149 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_NUMBER 9150 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9151 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9152 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9153 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_TRUESTATE 9154 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRMEDSTATE_FALSESTATE 9155 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKNOWLEDGE 9156 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9157 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRM 9158 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONFIRM_INPUTARGUMENTS 9159 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE 9160 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_ID 9161 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_NAME 9162 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_NUMBER 9163 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9164 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_TRANSITIONTIME 9165 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9166 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_TRUESTATE 9167 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ACTIVESTATE_FALSESTATE 9168 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE 9169 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_ID 9170 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_NAME 9171 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_NUMBER 9172 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9173 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9174 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9175 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_TRUESTATE 9176 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDSTATE_FALSESTATE 9177 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE 9178 /* Object */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE 9179 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9180 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9181 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9182 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9183 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION 9184 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9185 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9186 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9187 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9188 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVETIME 9189 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVE 9211 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_ONESHOTSHELVE 9212 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE 9213 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9214 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESSEDORSHELVED 9215 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_MAXTIMESHELVED 9216 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONNAME 9217 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_BRANCHID 9218 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE 9219 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_ID 9220 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_NAME 9221 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_NUMBER 9222 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9223 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9224 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9225 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_TRUESTATE 9226 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLEDSTATE_FALSESTATE 9227 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_QUALITY 9228 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_QUALITY_SOURCETIMESTAMP 9229 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LASTSEVERITY 9230 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9231 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_COMMENT 9232 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_COMMENT_SOURCETIMESTAMP 9233 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CLIENTUSERID 9234 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ENABLE 9235 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_DISABLE 9236 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_ADDCOMMENT 9237 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9238 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE 9239 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_ID 9240 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_NAME 9241 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_NUMBER 9242 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9243 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9244 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9245 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_TRUESTATE 9246 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKEDSTATE_FALSESTATE 9247 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE 9248 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_ID 9249 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_NAME 9250 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_NUMBER 9251 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9252 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9253 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9254 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9255 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9256 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACKNOWLEDGE 9257 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9258 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRM 9259 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_CONFIRM_INPUTARGUMENTS 9260 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE 9261 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_ID 9262 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_NAME 9263 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_NUMBER 9264 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9265 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9266 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9267 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_TRUESTATE 9268 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ACTIVESTATE_FALSESTATE 9269 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE 9270 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_ID 9271 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_NAME 9272 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_NUMBER 9273 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9274 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9275 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9276 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9277 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9278 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE 9279 /* Object */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9280 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9281 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9282 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9283 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9284 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9285 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9286 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9287 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9288 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9289 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9290 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVE 9312 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9313 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9314 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9315 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESSEDORSHELVED 9316 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_MAXTIMESHELVED 9317 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE 9318 /* ObjectType */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE 9319 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_ID 9320 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_NAME 9321 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_NUMBER 9322 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9323 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION 9324 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_ID 9325 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_NAME 9326 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_NUMBER 9327 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 9328 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGH 9329 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGH_STATENUMBER 9330 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGH 9331 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGH_STATENUMBER 9332 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOW 9333 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOW_STATENUMBER 9334 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOW 9335 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOW_STATENUMBER 9336 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOWTOLOW 9337 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWTOLOWLOW 9338 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGHTOHIGH 9339 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHTOHIGHHIGH 9340 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE 9341 /* ObjectType */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_EVENTID 9342 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_EVENTTYPE 9343 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SOURCENODE 9344 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SOURCENAME 9345 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_TIME 9346 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RECEIVETIME 9347 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOCALTIME 9348 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_MESSAGE 9349 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITY 9350 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONNAME 9351 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BRANCHID 9352 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RETAIN 9353 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE 9354 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_ID 9355 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NAME 9356 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NUMBER 9357 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9358 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9359 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9360 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRUESTATE 9361 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_FALSESTATE 9362 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_QUALITY 9363 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_QUALITY_SOURCETIMESTAMP 9364 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LASTSEVERITY 9365 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9366 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_COMMENT 9367 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_COMMENT_SOURCETIMESTAMP 9368 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CLIENTUSERID 9369 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ENABLE 9370 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_DISABLE 9371 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ADDCOMMENT 9372 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9373 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH 9374 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9375 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE 9376 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_ID 9377 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NAME 9378 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NUMBER 9379 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9380 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9381 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9382 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRUESTATE 9383 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKEDSTATE_FALSESTATE 9384 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE 9385 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_ID 9386 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NAME 9387 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NUMBER 9388 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9389 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9390 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9391 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9392 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9393 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE 9394 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9395 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRM 9396 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONFIRM_INPUTARGUMENTS 9397 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE 9398 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_ID 9399 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NAME 9400 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NUMBER 9401 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9402 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9403 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9404 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRUESTATE 9405 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ACTIVESTATE_FALSESTATE 9406 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE 9407 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_ID 9408 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NAME 9409 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NUMBER 9410 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9411 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9412 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9413 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9414 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9415 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE 9416 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9417 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9418 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9419 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9420 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9421 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9422 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9423 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9424 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9425 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9426 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9427 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE 9449 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9450 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9451 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9452 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESSEDORSHELVED 9453 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_MAXTIMESHELVED 9454 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE 9455 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE 9456 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9457 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9458 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9459 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9460 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION 9461 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9462 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9463 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9464 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9465 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHHIGHLIMIT 9478 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHLIMIT 9479 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWLIMIT 9480 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWLOWLIMIT 9481 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE 9482 /* ObjectType */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_EVENTID 9483 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_EVENTTYPE 9484 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SOURCENODE 9485 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SOURCENAME 9486 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_TIME 9487 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RECEIVETIME 9488 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOCALTIME 9489 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_MESSAGE 9490 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITY 9491 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONNAME 9492 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BRANCHID 9493 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RETAIN 9494 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE 9495 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_ID 9496 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NAME 9497 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NUMBER 9498 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9499 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9500 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9501 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRUESTATE 9502 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_FALSESTATE 9503 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_QUALITY 9504 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_QUALITY_SOURCETIMESTAMP 9505 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LASTSEVERITY 9506 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9507 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_COMMENT 9508 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_COMMENT_SOURCETIMESTAMP 9509 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CLIENTUSERID 9510 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ENABLE 9511 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_DISABLE 9512 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ADDCOMMENT 9513 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9514 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH 9515 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9516 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE 9517 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_ID 9518 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NAME 9519 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NUMBER 9520 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9521 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9522 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9523 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRUESTATE 9524 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKEDSTATE_FALSESTATE 9525 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE 9526 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_ID 9527 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NAME 9528 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NUMBER 9529 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9530 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9531 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9532 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9533 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9534 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE 9535 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9536 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRM 9537 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONFIRM_INPUTARGUMENTS 9538 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE 9539 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_ID 9540 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NAME 9541 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NUMBER 9542 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9543 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9544 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9545 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRUESTATE 9546 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ACTIVESTATE_FALSESTATE 9547 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE 9548 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_ID 9549 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NAME 9550 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NUMBER 9551 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9552 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9553 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9554 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9555 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9556 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE 9557 /* Object */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9558 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9559 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9560 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9561 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9562 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9563 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9564 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9565 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9566 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9567 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9568 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE 9590 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9591 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9592 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9593 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESSEDORSHELVED 9594 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_MAXTIMESHELVED 9595 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE 9596 /* Object */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE 9597 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9598 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9599 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9600 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9601 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION 9602 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9603 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9604 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9605 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9606 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHHIGHLIMIT 9619 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHLIMIT 9620 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWLIMIT 9621 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWLOWLIMIT 9622 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE 9623 /* ObjectType */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_EVENTID 9624 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_EVENTTYPE 9625 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENODE 9626 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENAME 9627 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_TIME 9628 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RECEIVETIME 9629 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOCALTIME 9630 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_MESSAGE 9631 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITY 9632 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONNAME 9633 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BRANCHID 9634 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RETAIN 9635 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE 9636 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_ID 9637 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NAME 9638 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NUMBER 9639 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9640 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9641 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9642 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRUESTATE 9643 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_FALSESTATE 9644 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY 9645 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY_SOURCETIMESTAMP 9646 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY 9647 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9648 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT 9649 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT_SOURCETIMESTAMP 9650 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CLIENTUSERID 9651 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENABLE 9652 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_DISABLE 9653 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT 9654 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9655 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH 9656 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9657 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE 9658 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_ID 9659 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NAME 9660 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NUMBER 9661 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9662 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9663 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9664 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRUESTATE 9665 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_FALSESTATE 9666 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE 9667 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_ID 9668 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NAME 9669 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NUMBER 9670 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9671 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9672 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9673 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9674 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9675 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE 9676 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9677 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM 9678 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM_INPUTARGUMENTS 9679 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE 9680 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_ID 9681 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NAME 9682 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NUMBER 9683 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9684 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9685 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9686 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRUESTATE 9687 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_FALSESTATE 9688 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE 9689 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_ID 9690 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NAME 9691 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NUMBER 9692 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9693 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9694 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9695 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9696 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9697 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE 9698 /* Object */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9699 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9700 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9701 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9702 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9703 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9704 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9705 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9706 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9707 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9708 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9709 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE 9731 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9732 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9733 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9734 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDORSHELVED 9735 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_MAXTIMESHELVED 9736 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE 9737 /* Object */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE 9738 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9739 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9740 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9741 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9742 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION 9743 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9744 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9745 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9746 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9747 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHLIMIT 9760 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHLIMIT 9761 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWLIMIT 9762 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWLIMIT 9763 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE 9764 /* ObjectType */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_EVENTID 9765 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_EVENTTYPE 9766 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SOURCENODE 9767 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SOURCENAME 9768 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_TIME 9769 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RECEIVETIME 9770 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOCALTIME 9771 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_MESSAGE 9772 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITY 9773 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONNAME 9774 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BRANCHID 9775 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RETAIN 9776 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE 9777 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_ID 9778 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NAME 9779 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NUMBER 9780 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9781 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9782 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9783 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRUESTATE 9784 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_FALSESTATE 9785 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_QUALITY 9786 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_QUALITY_SOURCETIMESTAMP 9787 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY 9788 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9789 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_COMMENT 9790 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_COMMENT_SOURCETIMESTAMP 9791 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CLIENTUSERID 9792 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ENABLE 9793 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_DISABLE 9794 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT 9795 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9796 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH 9797 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9798 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE 9799 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_ID 9800 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NAME 9801 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NUMBER 9802 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9803 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9804 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9805 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRUESTATE 9806 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_FALSESTATE 9807 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE 9808 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_ID 9809 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NAME 9810 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NUMBER 9811 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9812 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9813 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9814 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9815 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9816 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE 9817 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9818 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRM 9819 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONFIRM_INPUTARGUMENTS 9820 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE 9821 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_ID 9822 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NAME 9823 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NUMBER 9824 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9825 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9826 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9827 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRUESTATE 9828 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_FALSESTATE 9829 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE 9830 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_ID 9831 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NAME 9832 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NUMBER 9833 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9834 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9835 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9836 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9837 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9838 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE 9839 /* Object */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9840 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9841 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9842 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9843 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9844 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9845 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9846 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9847 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9848 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9849 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9850 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE 9872 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 9873 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 9874 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 9875 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDORSHELVED 9876 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_MAXTIMESHELVED 9877 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE 9878 /* Object */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE 9879 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_ID 9880 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_NAME 9881 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_NUMBER 9882 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9883 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION 9884 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_ID 9885 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_NAME 9886 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_NUMBER 9887 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_TRANSITIONTIME 9888 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHLIMIT 9901 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHLIMIT 9902 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWLIMIT 9903 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWLOWLIMIT 9904 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SETPOINTNODE 9905 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE 9906 /* ObjectType */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_EVENTID 9907 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_EVENTTYPE 9908 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SOURCENODE 9909 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SOURCENAME 9910 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_TIME 9911 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RECEIVETIME 9912 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOCALTIME 9913 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_MESSAGE 9914 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITY 9915 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONNAME 9916 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BRANCHID 9917 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RETAIN 9918 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE 9919 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_ID 9920 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NAME 9921 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_NUMBER 9922 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 9923 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 9924 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 9925 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_TRUESTATE 9926 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLEDSTATE_FALSESTATE 9927 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_QUALITY 9928 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_QUALITY_SOURCETIMESTAMP 9929 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LASTSEVERITY 9930 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 9931 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_COMMENT 9932 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_COMMENT_SOURCETIMESTAMP 9933 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CLIENTUSERID 9934 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ENABLE 9935 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_DISABLE 9936 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ADDCOMMENT 9937 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 9938 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH 9939 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 9940 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE 9941 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_ID 9942 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NAME 9943 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_NUMBER 9944 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 9945 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRANSITIONTIME 9946 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 9947 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_TRUESTATE 9948 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKEDSTATE_FALSESTATE 9949 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE 9950 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_ID 9951 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NAME 9952 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_NUMBER 9953 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 9954 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 9955 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 9956 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_TRUESTATE 9957 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRMEDSTATE_FALSESTATE 9958 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE 9959 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 9960 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRM 9961 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONFIRM_INPUTARGUMENTS 9962 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE 9963 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_ID 9964 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NAME 9965 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_NUMBER 9966 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 9967 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRANSITIONTIME 9968 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 9969 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_TRUESTATE 9970 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ACTIVESTATE_FALSESTATE 9971 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE 9972 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_ID 9973 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NAME 9974 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_NUMBER 9975 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 9976 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 9977 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 9978 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 9979 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 9980 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE 9981 /* Object */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE 9982 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 9983 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 9984 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 9985 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 9986 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION 9987 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 9988 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 9989 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 9990 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 9991 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVETIME 9992 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE 10014 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10015 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10016 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10017 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESSEDORSHELVED 10018 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_MAXTIMESHELVED 10019 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE 10020 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_ID 10021 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_NAME 10022 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_NUMBER 10023 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10024 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10025 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10026 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10027 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10028 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE 10029 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_ID 10030 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_NAME 10031 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_NUMBER 10032 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10033 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_TRANSITIONTIME 10034 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10035 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_TRUESTATE 10036 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHSTATE_FALSESTATE 10037 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE 10038 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_ID 10039 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_NAME 10040 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_NUMBER 10041 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10042 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_TRANSITIONTIME 10043 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10044 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_TRUESTATE 10045 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWSTATE_FALSESTATE 10046 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE 10047 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_ID 10048 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_NAME 10049 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_NUMBER 10050 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10051 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10052 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10053 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_TRUESTATE 10054 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWSTATE_FALSESTATE 10055 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHLIMIT 10056 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHLIMIT 10057 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLIMIT 10058 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWLIMIT 10059 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE 10060 /* ObjectType */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_EVENTID 10061 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_EVENTTYPE 10062 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SOURCENODE 10063 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SOURCENAME 10064 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_TIME 10065 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RECEIVETIME 10066 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOCALTIME 10067 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_MESSAGE 10068 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITY 10069 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONNAME 10070 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BRANCHID 10071 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RETAIN 10072 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE 10073 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_ID 10074 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NAME 10075 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_NUMBER 10076 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10077 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10078 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10079 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_TRUESTATE 10080 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLEDSTATE_FALSESTATE 10081 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_QUALITY 10082 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_QUALITY_SOURCETIMESTAMP 10083 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LASTSEVERITY 10084 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10085 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_COMMENT 10086 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_COMMENT_SOURCETIMESTAMP 10087 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CLIENTUSERID 10088 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ENABLE 10089 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_DISABLE 10090 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ADDCOMMENT 10091 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10092 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH 10093 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10094 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE 10095 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_ID 10096 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NAME 10097 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_NUMBER 10098 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10099 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10100 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10101 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_TRUESTATE 10102 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKEDSTATE_FALSESTATE 10103 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE 10104 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_ID 10105 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NAME 10106 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_NUMBER 10107 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10108 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10109 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10110 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10111 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10112 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE 10113 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10114 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRM 10115 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONFIRM_INPUTARGUMENTS 10116 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE 10117 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_ID 10118 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NAME 10119 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_NUMBER 10120 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10121 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10122 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10123 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_TRUESTATE 10124 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ACTIVESTATE_FALSESTATE 10125 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE 10126 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_ID 10127 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NAME 10128 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_NUMBER 10129 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10130 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10131 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10132 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10133 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10134 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE 10135 /* Object */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10136 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10137 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10138 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10139 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10140 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10141 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10142 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10143 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10144 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10145 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10146 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE 10168 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10169 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10170 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10171 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESSEDORSHELVED 10172 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_MAXTIMESHELVED 10173 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE 10174 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_ID 10175 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_NAME 10176 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_NUMBER 10177 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10178 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10179 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10180 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10181 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10182 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE 10183 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_ID 10184 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_NAME 10185 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_NUMBER 10186 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10187 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_TRANSITIONTIME 10188 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10189 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_TRUESTATE 10190 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHSTATE_FALSESTATE 10191 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE 10192 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_ID 10193 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_NAME 10194 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_NUMBER 10195 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10196 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_TRANSITIONTIME 10197 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10198 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_TRUESTATE 10199 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWSTATE_FALSESTATE 10200 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE 10201 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_ID 10202 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_NAME 10203 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_NUMBER 10204 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10205 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10206 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10207 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_TRUESTATE 10208 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWSTATE_FALSESTATE 10209 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHLIMIT 10210 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHLIMIT 10211 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLIMIT 10212 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWLIMIT 10213 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE 10214 /* ObjectType */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_EVENTID 10215 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_EVENTTYPE 10216 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENODE 10217 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SOURCENAME 10218 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_TIME 10219 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RECEIVETIME 10220 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOCALTIME 10221 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_MESSAGE 10222 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITY 10223 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONNAME 10224 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BRANCHID 10225 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RETAIN 10226 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE 10227 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_ID 10228 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NAME 10229 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_NUMBER 10230 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10231 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10232 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10233 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_TRUESTATE 10234 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLEDSTATE_FALSESTATE 10235 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY 10236 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_QUALITY_SOURCETIMESTAMP 10237 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY 10238 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10239 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT 10240 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_COMMENT_SOURCETIMESTAMP 10241 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CLIENTUSERID 10242 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENABLE 10243 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_DISABLE 10244 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT 10245 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10246 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH 10247 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10248 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE 10249 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_ID 10250 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NAME 10251 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_NUMBER 10252 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10253 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10254 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10255 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_TRUESTATE 10256 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKEDSTATE_FALSESTATE 10257 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE 10258 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_ID 10259 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NAME 10260 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_NUMBER 10261 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10262 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10263 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10264 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10265 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10266 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE 10267 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10268 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM 10269 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONFIRM_INPUTARGUMENTS 10270 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE 10271 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_ID 10272 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NAME 10273 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_NUMBER 10274 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10275 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10276 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10277 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_TRUESTATE 10278 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ACTIVESTATE_FALSESTATE 10279 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE 10280 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_ID 10281 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NAME 10282 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_NUMBER 10283 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10284 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10285 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10286 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10287 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10288 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE 10289 /* Object */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10290 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10291 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10292 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10293 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10294 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10295 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10296 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10297 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10298 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10299 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10300 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE 10322 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10323 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10324 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10325 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESSEDORSHELVED 10326 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_MAXTIMESHELVED 10327 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE 10328 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_ID 10329 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_NAME 10330 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_NUMBER 10331 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10332 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10333 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10334 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10335 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10336 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE 10337 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_ID 10338 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_NAME 10339 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_NUMBER 10340 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10341 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_TRANSITIONTIME 10342 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10343 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_TRUESTATE 10344 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHSTATE_FALSESTATE 10345 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE 10346 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_ID 10347 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_NAME 10348 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_NUMBER 10349 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10350 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_TRANSITIONTIME 10351 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10352 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_TRUESTATE 10353 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWSTATE_FALSESTATE 10354 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE 10355 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_ID 10356 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_NAME 10357 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_NUMBER 10358 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10359 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10360 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10361 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_TRUESTATE 10362 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWSTATE_FALSESTATE 10363 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHLIMIT 10364 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHLIMIT 10365 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLIMIT 10366 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWLIMIT 10367 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE 10368 /* ObjectType */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_EVENTID 10369 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_EVENTTYPE 10370 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SOURCENODE 10371 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SOURCENAME 10372 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_TIME 10373 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RECEIVETIME 10374 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOCALTIME 10375 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_MESSAGE 10376 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITY 10377 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONNAME 10378 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BRANCHID 10379 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RETAIN 10380 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE 10381 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_ID 10382 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NAME 10383 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_NUMBER 10384 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10385 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10386 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10387 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_TRUESTATE 10388 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLEDSTATE_FALSESTATE 10389 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_QUALITY 10390 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_QUALITY_SOURCETIMESTAMP 10391 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY 10392 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10393 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_COMMENT 10394 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_COMMENT_SOURCETIMESTAMP 10395 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CLIENTUSERID 10396 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ENABLE 10397 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_DISABLE 10398 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT 10399 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10400 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH 10401 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10402 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE 10403 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_ID 10404 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NAME 10405 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_NUMBER 10406 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10407 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10408 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10409 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_TRUESTATE 10410 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKEDSTATE_FALSESTATE 10411 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE 10412 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_ID 10413 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NAME 10414 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_NUMBER 10415 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10416 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10417 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10418 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10419 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10420 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE 10421 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10422 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRM 10423 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONFIRM_INPUTARGUMENTS 10424 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE 10425 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_ID 10426 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NAME 10427 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_NUMBER 10428 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10429 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10430 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10431 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_TRUESTATE 10432 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ACTIVESTATE_FALSESTATE 10433 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE 10434 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_ID 10435 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NAME 10436 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_NUMBER 10437 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10438 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10439 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10440 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10441 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10442 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE 10443 /* Object */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10444 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10445 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10446 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10447 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10448 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10449 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10450 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10451 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10452 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10453 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10454 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE 10476 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10477 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10478 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10479 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESSEDORSHELVED 10480 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_MAXTIMESHELVED 10481 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE 10482 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_ID 10483 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_NAME 10484 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_NUMBER 10485 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_EFFECTIVEDISPLAYNAME 10486 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_TRANSITIONTIME 10487 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_EFFECTIVETRANSITIONTIME 10488 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_TRUESTATE 10489 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHSTATE_FALSESTATE 10490 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE 10491 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_ID 10492 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_NAME 10493 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_NUMBER 10494 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_EFFECTIVEDISPLAYNAME 10495 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_TRANSITIONTIME 10496 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_EFFECTIVETRANSITIONTIME 10497 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_TRUESTATE 10498 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHSTATE_FALSESTATE 10499 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE 10500 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_ID 10501 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_NAME 10502 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_NUMBER 10503 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_EFFECTIVEDISPLAYNAME 10504 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_TRANSITIONTIME 10505 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_EFFECTIVETRANSITIONTIME 10506 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_TRUESTATE 10507 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWSTATE_FALSESTATE 10508 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE 10509 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_ID 10510 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_NAME 10511 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_NUMBER 10512 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_EFFECTIVEDISPLAYNAME 10513 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_TRANSITIONTIME 10514 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_EFFECTIVETRANSITIONTIME 10515 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_TRUESTATE 10516 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWSTATE_FALSESTATE 10517 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHLIMIT 10518 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHLIMIT 10519 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLIMIT 10520 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWLIMIT 10521 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SETPOINTNODE 10522 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE 10523 /* ObjectType */ -#define UA_NS0ID_DISCRETEALARMTYPE_EVENTID 10524 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_EVENTTYPE 10525 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SOURCENODE 10526 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SOURCENAME 10527 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_TIME 10528 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_RECEIVETIME 10529 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LOCALTIME 10530 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_MESSAGE 10531 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SEVERITY 10532 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONNAME 10533 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_BRANCHID 10534 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_RETAIN 10535 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE 10536 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_ID 10537 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_NAME 10538 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_NUMBER 10539 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10540 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10541 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10542 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_TRUESTATE 10543 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLEDSTATE_FALSESTATE 10544 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_QUALITY 10545 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_QUALITY_SOURCETIMESTAMP 10546 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LASTSEVERITY 10547 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10548 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_COMMENT 10549 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_COMMENT_SOURCETIMESTAMP 10550 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CLIENTUSERID 10551 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ENABLE 10552 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_DISABLE 10553 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_ADDCOMMENT 10554 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10555 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH 10556 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10557 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE 10558 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_ID 10559 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_NAME 10560 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_NUMBER 10561 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10562 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10563 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10564 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_TRUESTATE 10565 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKEDSTATE_FALSESTATE 10566 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE 10567 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_ID 10568 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_NAME 10569 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_NUMBER 10570 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10571 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10572 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10573 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10574 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10575 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKNOWLEDGE 10576 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10577 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRM 10578 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONFIRM_INPUTARGUMENTS 10579 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE 10580 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_ID 10581 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_NAME 10582 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_NUMBER 10583 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10584 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10585 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10586 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_TRUESTATE 10587 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ACTIVESTATE_FALSESTATE 10588 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE 10589 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_ID 10590 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_NAME 10591 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_NUMBER 10592 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10593 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10594 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10595 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10596 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10597 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE 10598 /* Object */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10599 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10600 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10601 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10602 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10603 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10604 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10605 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10606 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10607 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10608 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10609 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVE 10631 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10632 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10633 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10634 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESSEDORSHELVED 10635 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_MAXTIMESHELVED 10636 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE 10637 /* ObjectType */ -#define UA_NS0ID_OFFNORMALALARMTYPE_EVENTID 10638 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_EVENTTYPE 10639 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SOURCENODE 10640 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SOURCENAME 10641 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_TIME 10642 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_RECEIVETIME 10643 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LOCALTIME 10644 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_MESSAGE 10645 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SEVERITY 10646 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONNAME 10647 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_BRANCHID 10648 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_RETAIN 10649 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE 10650 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_ID 10651 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_NAME 10652 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_NUMBER 10653 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10654 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10655 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10656 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_TRUESTATE 10657 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLEDSTATE_FALSESTATE 10658 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_QUALITY 10659 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_QUALITY_SOURCETIMESTAMP 10660 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LASTSEVERITY 10661 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10662 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_COMMENT 10663 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_COMMENT_SOURCETIMESTAMP 10664 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CLIENTUSERID 10665 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ENABLE 10666 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_DISABLE 10667 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ADDCOMMENT 10668 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10669 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH 10670 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10671 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE 10672 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_ID 10673 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_NAME 10674 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_NUMBER 10675 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10676 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10677 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10678 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_TRUESTATE 10679 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKEDSTATE_FALSESTATE 10680 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE 10681 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_ID 10682 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_NAME 10683 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_NUMBER 10684 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10685 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10686 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10687 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10688 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10689 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKNOWLEDGE 10690 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10691 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRM 10692 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONFIRM_INPUTARGUMENTS 10693 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE 10694 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_ID 10695 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_NAME 10696 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_NUMBER 10697 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10698 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10699 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10700 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_TRUESTATE 10701 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ACTIVESTATE_FALSESTATE 10702 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE 10703 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_ID 10704 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_NAME 10705 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_NUMBER 10706 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10707 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10708 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10709 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10710 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10711 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE 10712 /* Object */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10713 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10714 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10715 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10716 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10717 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10718 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10719 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10720 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10721 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10722 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10723 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE 10745 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10746 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10747 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10748 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESSEDORSHELVED 10749 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_MAXTIMESHELVED 10750 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE 10751 /* ObjectType */ -#define UA_NS0ID_TRIPALARMTYPE_EVENTID 10752 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_EVENTTYPE 10753 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SOURCENODE 10754 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SOURCENAME 10755 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_TIME 10756 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_RECEIVETIME 10757 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LOCALTIME 10758 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_MESSAGE 10759 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SEVERITY 10760 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONNAME 10761 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_BRANCHID 10762 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_RETAIN 10763 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE 10764 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_ID 10765 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_NAME 10766 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_NUMBER 10767 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 10768 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 10769 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 10770 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_TRUESTATE 10771 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLEDSTATE_FALSESTATE 10772 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_QUALITY 10773 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_QUALITY_SOURCETIMESTAMP 10774 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LASTSEVERITY 10775 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 10776 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_COMMENT 10777 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_COMMENT_SOURCETIMESTAMP 10778 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CLIENTUSERID 10779 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ENABLE 10780 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_DISABLE 10781 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_ADDCOMMENT 10782 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 10783 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH 10784 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 10785 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE 10786 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_ID 10787 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_NAME 10788 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_NUMBER 10789 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 10790 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_TRANSITIONTIME 10791 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 10792 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_TRUESTATE 10793 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKEDSTATE_FALSESTATE 10794 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE 10795 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_ID 10796 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_NAME 10797 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_NUMBER 10798 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 10799 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 10800 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 10801 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_TRUESTATE 10802 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRMEDSTATE_FALSESTATE 10803 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACKNOWLEDGE 10804 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 10805 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRM 10806 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_CONFIRM_INPUTARGUMENTS 10807 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE 10808 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_ID 10809 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_NAME 10810 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_NUMBER 10811 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 10812 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_TRANSITIONTIME 10813 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 10814 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_TRUESTATE 10815 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_ACTIVESTATE_FALSESTATE 10816 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE 10817 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_ID 10818 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_NAME 10819 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_NUMBER 10820 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 10821 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 10822 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 10823 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 10824 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 10825 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE 10826 /* Object */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE 10827 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 10828 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 10829 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 10830 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 10831 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION 10832 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 10833 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 10834 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 10835 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 10836 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVETIME 10837 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVE 10859 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 10860 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 10861 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 10862 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESSEDORSHELVED 10863 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_MAXTIMESHELVED 10864 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE 11093 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_EVENTID 11094 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_EVENTTYPE 11095 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SOURCENODE 11096 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SOURCENAME 11097 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_TIME 11098 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_RECEIVETIME 11099 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_LOCALTIME 11100 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_MESSAGE 11101 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SEVERITY 11102 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_ACTIONTIMESTAMP 11103 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_STATUS 11104 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SERVERID 11105 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CLIENTAUDITENTRYID 11106 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CLIENTUSERID 11107 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_METHODID 11108 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_INPUTARGUMENTS 11109 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_TRUESTATE 11110 /* Variable */ -#define UA_NS0ID_TWOSTATEVARIABLETYPE_FALSESTATE 11111 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONCLASSID 11112 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONCLASSNAME 11113 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONCLASSID 11114 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONCLASSNAME 11115 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONCLASSID 11116 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONCLASSNAME 11117 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONCLASSID 11118 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONCLASSNAME 11119 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_INPUTNODE 11120 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONCLASSID 11121 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONCLASSNAME 11122 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_INPUTNODE 11123 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_HIGHHIGHLIMIT 11124 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_HIGHLIMIT 11125 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LOWLIMIT 11126 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LOWLOWLIMIT 11127 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONCLASSID 11128 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONCLASSNAME 11129 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_INPUTNODE 11130 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONCLASSID 11131 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONCLASSNAME 11132 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_INPUTNODE 11133 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSID 11134 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSNAME 11135 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_INPUTNODE 11136 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSID 11137 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSNAME 11138 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_INPUTNODE 11139 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONCLASSID 11140 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONCLASSNAME 11141 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_INPUTNODE 11142 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONCLASSID 11143 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONCLASSNAME 11144 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_INPUTNODE 11145 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSID 11146 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONCLASSNAME 11147 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_INPUTNODE 11148 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSID 11149 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONCLASSNAME 11150 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_INPUTNODE 11151 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONCLASSID 11152 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONCLASSNAME 11153 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_INPUTNODE 11154 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONCLASSID 11155 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONCLASSNAME 11156 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_INPUTNODE 11157 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_NORMALSTATE 11158 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONCLASSID 11159 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONCLASSNAME 11160 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_INPUTNODE 11161 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_NORMALSTATE 11162 /* Variable */ -#define UA_NS0ID_BASECONDITIONCLASSTYPE 11163 /* ObjectType */ -#define UA_NS0ID_PROCESSCONDITIONCLASSTYPE 11164 /* ObjectType */ -#define UA_NS0ID_MAINTENANCECONDITIONCLASSTYPE 11165 /* ObjectType */ -#define UA_NS0ID_SYSTEMCONDITIONCLASSTYPE 11166 /* ObjectType */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_TREATUNCERTAINASBAD 11168 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_PERCENTDATABAD 11169 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_PERCENTDATAGOOD 11170 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATECONFIGURATION_USESLOPEDEXTRAPOLATION 11171 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_AGGREGATEFUNCTIONS 11172 /* Object */ -#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE 11187 /* ObjectType */ -#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_TREATUNCERTAINASBAD 11188 /* Variable */ -#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_PERCENTDATABAD 11189 /* Variable */ -#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_PERCENTDATAGOOD 11190 /* Variable */ -#define UA_NS0ID_AGGREGATECONFIGURATIONTYPE_USESLOPEDEXTRAPOLATION 11191 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES 11192 /* Object */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYDATACAPABILITY 11193 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTDATACAPABILITY 11196 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEDATACAPABILITY 11197 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEDATACAPABILITY 11198 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETERAWCAPABILITY 11199 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEATTIMECAPABILITY 11200 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_AGGREGATEFUNCTIONS 11201 /* Object */ -#define UA_NS0ID_HACONFIGURATION 11202 /* Object */ -#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION 11203 /* Object */ -#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_TREATUNCERTAINASBAD 11204 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_PERCENTDATABAD 11205 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_PERCENTDATAGOOD 11206 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_AGGREGATECONFIGURATION_USESLOPEDEXTRAPOLATION 11207 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_STEPPED 11208 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_DEFINITION 11209 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_MAXTIMEINTERVAL 11210 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_MINTIMEINTERVAL 11211 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_EXCEPTIONDEVIATION 11212 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_EXCEPTIONDEVIATIONFORMAT 11213 /* Variable */ -#define UA_NS0ID_ANNOTATIONS 11214 /* Variable */ -#define UA_NS0ID_HISTORICALEVENTFILTER 11215 /* Variable */ -#define UA_NS0ID_MODIFICATIONINFO 11216 /* DataType */ -#define UA_NS0ID_HISTORYMODIFIEDDATA 11217 /* DataType */ -#define UA_NS0ID_MODIFICATIONINFO_ENCODING_DEFAULTXML 11218 /* Object */ -#define UA_NS0ID_HISTORYMODIFIEDDATA_ENCODING_DEFAULTXML 11219 /* Object */ -#define UA_NS0ID_MODIFICATIONINFO_ENCODING_DEFAULTBINARY 11226 /* Object */ -#define UA_NS0ID_HISTORYMODIFIEDDATA_ENCODING_DEFAULTBINARY 11227 /* Object */ -#define UA_NS0ID_HISTORYUPDATETYPE 11234 /* DataType */ -#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE 11238 /* VariableType */ -#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_DEFINITION 11239 /* Variable */ -#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_VALUEPRECISION 11240 /* Variable */ -#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_ENUMVALUES 11241 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYEVENTSCAPABILITY 11242 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_MAXRETURNDATAVALUES 11268 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_MAXRETURNEVENTVALUES 11269 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_INSERTANNOTATIONCAPABILITY 11270 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNDATAVALUES 11273 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNEVENTVALUES 11274 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTANNOTATIONCAPABILITY 11275 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_INSERTEVENTCAPABILITY 11278 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_REPLACEEVENTCAPABILITY 11279 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_UPDATEEVENTCAPABILITY 11280 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTEVENTCAPABILITY 11281 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEEVENTCAPABILITY 11282 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEEVENTCAPABILITY 11283 /* Variable */ -#define UA_NS0ID_AGGREGATEFUNCTION_TIMEAVERAGE2 11285 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUM2 11286 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUM2 11287 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_RANGE2 11288 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_WORSTQUALITY2 11292 /* Object */ -#define UA_NS0ID_PERFORMUPDATETYPE 11293 /* DataType */ -#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS 11295 /* DataType */ -#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS_ENCODING_DEFAULTXML 11296 /* Object */ -#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS_ENCODING_DEFAULTBINARY 11300 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_TOTAL2 11304 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MINIMUMACTUALTIME2 11305 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_MAXIMUMACTUALTIME2 11306 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONINSTATEZERO 11307 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_DURATIONINSTATENONZERO 11308 /* Object */ -#define UA_NS0ID_SERVER_SERVERREDUNDANCY_CURRENTSERVERID 11312 /* Variable */ -#define UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANTSERVERARRAY 11313 /* Variable */ -#define UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERURIARRAY 11314 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOTIMEDSHELVED_TRANSITIONNUMBER 11322 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVEDTOONESHOTSHELVED_TRANSITIONNUMBER 11323 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOUNSHELVED_TRANSITIONNUMBER 11324 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVEDTOONESHOTSHELVED_TRANSITIONNUMBER 11325 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOUNSHELVED_TRANSITIONNUMBER 11326 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVEDTOTIMEDSHELVED_TRANSITIONNUMBER 11327 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWLOWTOLOW_TRANSITIONNUMBER 11340 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LOWTOLOWLOW_TRANSITIONNUMBER 11341 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHHIGHTOHIGH_TRANSITIONNUMBER 11342 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_HIGHTOHIGHHIGH_TRANSITIONNUMBER 11343 /* Variable */ -#define UA_NS0ID_AGGREGATEFUNCTION_STANDARDDEVIATIONSAMPLE 11426 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_STANDARDDEVIATIONPOPULATION 11427 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_VARIANCESAMPLE 11428 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_VARIANCEPOPULATION 11429 /* Object */ -#define UA_NS0ID_ENUMSTRINGS 11432 /* Variable */ -#define UA_NS0ID_VALUEASTEXT 11433 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE 11436 /* ObjectType */ -#define UA_NS0ID_PROGRESSEVENTTYPE_EVENTID 11437 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_EVENTTYPE 11438 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_SOURCENODE 11439 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_SOURCENAME 11440 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_TIME 11441 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_RECEIVETIME 11442 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_LOCALTIME 11443 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_MESSAGE 11444 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_SEVERITY 11445 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE 11446 /* ObjectType */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_EVENTID 11447 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_EVENTTYPE 11448 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SOURCENODE 11449 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SOURCENAME 11450 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_TIME 11451 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_RECEIVETIME 11452 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_LOCALTIME 11453 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_MESSAGE 11454 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SEVERITY 11455 /* Variable */ -#define UA_NS0ID_TRANSITIONVARIABLETYPE_EFFECTIVETRANSITIONTIME 11456 /* Variable */ -#define UA_NS0ID_FINITETRANSITIONVARIABLETYPE_EFFECTIVETRANSITIONTIME 11457 /* Variable */ -#define UA_NS0ID_STATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11458 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11459 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_TRANSITION_EFFECTIVETRANSITIONTIME 11460 /* Variable */ -#define UA_NS0ID_MULTISTATEVALUEDISCRETETYPE_VALUEASTEXT 11461 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_TRANSITION_EFFECTIVETRANSITIONTIME 11462 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_TRANSITION_EFFECTIVETRANSITIONTIME 11463 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11464 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11465 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11466 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11467 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11468 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11469 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11470 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11471 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11472 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11473 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11474 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11475 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11476 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11477 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11478 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11479 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11480 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11481 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11482 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11483 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_SECURECHANNELID 11485 /* Variable */ -#define UA_NS0ID_OPTIONSETTYPE 11487 /* VariableType */ -#define UA_NS0ID_OPTIONSETTYPE_OPTIONSETVALUES 11488 /* Variable */ -#define UA_NS0ID_SERVERTYPE_GETMONITOREDITEMS 11489 /* Method */ -#define UA_NS0ID_SERVERTYPE_GETMONITOREDITEMS_INPUTARGUMENTS 11490 /* Variable */ -#define UA_NS0ID_SERVERTYPE_GETMONITOREDITEMS_OUTPUTARGUMENTS 11491 /* Variable */ -#define UA_NS0ID_SERVER_GETMONITOREDITEMS 11492 /* Method */ -#define UA_NS0ID_SERVER_GETMONITOREDITEMS_INPUTARGUMENTS 11493 /* Variable */ -#define UA_NS0ID_SERVER_GETMONITOREDITEMS_OUTPUTARGUMENTS 11494 /* Variable */ -#define UA_NS0ID_GETMONITOREDITEMSMETHODTYPE 11495 /* Method */ -#define UA_NS0ID_GETMONITOREDITEMSMETHODTYPE_INPUTARGUMENTS 11496 /* Variable */ -#define UA_NS0ID_GETMONITOREDITEMSMETHODTYPE_OUTPUTARGUMENTS 11497 /* Variable */ -#define UA_NS0ID_MAXSTRINGLENGTH 11498 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_STARTOFARCHIVE 11499 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_STARTOFONLINEARCHIVE 11500 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_DELETEEVENTCAPABILITY 11501 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEEVENTCAPABILITY 11502 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_STARTOFARCHIVE 11503 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_STARTOFONLINEARCHIVE 11504 /* Variable */ -#define UA_NS0ID_AGGREGATEFUNCTION_STARTBOUND 11505 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_ENDBOUND 11506 /* Object */ -#define UA_NS0ID_AGGREGATEFUNCTION_DELTABOUNDS 11507 /* Object */ -#define UA_NS0ID_MODELLINGRULE_OPTIONALPLACEHOLDER 11508 /* Object */ -#define UA_NS0ID_MODELLINGRULE_MANDATORYPLACEHOLDER 11510 /* Object */ -#define UA_NS0ID_MAXARRAYLENGTH 11512 /* Variable */ -#define UA_NS0ID_ENGINEERINGUNITS 11513 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXARRAYLENGTH 11514 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSTRINGLENGTH 11515 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS 11516 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD 11517 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE 11519 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL 11521 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE 11522 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES 11523 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11524 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT 11525 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL 11526 /* Variable */ -#define UA_NS0ID_SERVERTYPE_NAMESPACES 11527 /* Object */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXARRAYLENGTH 11549 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSTRINGLENGTH 11550 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS 11551 /* Object */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERREAD 11552 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERWRITE 11554 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERMETHODCALL 11556 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERBROWSE 11557 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERREGISTERNODES 11558 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11559 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT 11560 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL 11561 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_VENDORCAPABILITY_PLACEHOLDER 11562 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE 11564 /* ObjectType */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERREAD 11565 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERWRITE 11567 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERMETHODCALL 11569 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERBROWSE 11570 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERREGISTERNODES 11571 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11572 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERNODEMANAGEMENT 11573 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXMONITOREDITEMSPERCALL 11574 /* Variable */ -#define UA_NS0ID_FILETYPE 11575 /* ObjectType */ -#define UA_NS0ID_FILETYPE_SIZE 11576 /* Variable */ -#define UA_NS0ID_FILETYPE_OPENCOUNT 11579 /* Variable */ -#define UA_NS0ID_FILETYPE_OPEN 11580 /* Method */ -#define UA_NS0ID_FILETYPE_OPEN_INPUTARGUMENTS 11581 /* Variable */ -#define UA_NS0ID_FILETYPE_OPEN_OUTPUTARGUMENTS 11582 /* Variable */ -#define UA_NS0ID_FILETYPE_CLOSE 11583 /* Method */ -#define UA_NS0ID_FILETYPE_CLOSE_INPUTARGUMENTS 11584 /* Variable */ -#define UA_NS0ID_FILETYPE_READ 11585 /* Method */ -#define UA_NS0ID_FILETYPE_READ_INPUTARGUMENTS 11586 /* Variable */ -#define UA_NS0ID_FILETYPE_READ_OUTPUTARGUMENTS 11587 /* Variable */ -#define UA_NS0ID_FILETYPE_WRITE 11588 /* Method */ -#define UA_NS0ID_FILETYPE_WRITE_INPUTARGUMENTS 11589 /* Variable */ -#define UA_NS0ID_FILETYPE_GETPOSITION 11590 /* Method */ -#define UA_NS0ID_FILETYPE_GETPOSITION_INPUTARGUMENTS 11591 /* Variable */ -#define UA_NS0ID_FILETYPE_GETPOSITION_OUTPUTARGUMENTS 11592 /* Variable */ -#define UA_NS0ID_FILETYPE_SETPOSITION 11593 /* Method */ -#define UA_NS0ID_FILETYPE_SETPOSITION_INPUTARGUMENTS 11594 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE 11595 /* ObjectType */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_SIZE 11596 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPENCOUNT 11599 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPEN 11600 /* Method */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPEN_INPUTARGUMENTS 11601 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_OPEN_OUTPUTARGUMENTS 11602 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_CLOSE 11603 /* Method */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_CLOSE_INPUTARGUMENTS 11604 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_READ 11605 /* Method */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_READ_INPUTARGUMENTS 11606 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_READ_OUTPUTARGUMENTS 11607 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_WRITE 11608 /* Method */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_WRITE_INPUTARGUMENTS 11609 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_GETPOSITION 11610 /* Method */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_GETPOSITION_INPUTARGUMENTS 11611 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_GETPOSITION_OUTPUTARGUMENTS 11612 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_SETPOSITION 11613 /* Method */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_SETPOSITION_INPUTARGUMENTS 11614 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_EXPORTNAMESPACE 11615 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE 11616 /* ObjectType */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEURI 11617 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEVERSION 11618 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEPUBLICATIONDATE 11619 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_ISNAMESPACESUBSET 11620 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_STATICNODEIDTYPES 11621 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_STATICNUMERICNODEIDRANGE 11622 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_STATICSTRINGNODEIDPATTERN 11623 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE 11624 /* Object */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_SIZE 11625 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPENCOUNT 11628 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPEN 11629 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPEN_INPUTARGUMENTS 11630 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_OPEN_OUTPUTARGUMENTS 11631 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_CLOSE 11632 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_CLOSE_INPUTARGUMENTS 11633 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_READ 11634 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_READ_INPUTARGUMENTS 11635 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_READ_OUTPUTARGUMENTS 11636 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_WRITE 11637 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_WRITE_INPUTARGUMENTS 11638 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_GETPOSITION 11639 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_GETPOSITION_INPUTARGUMENTS 11640 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_GETPOSITION_OUTPUTARGUMENTS 11641 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_SETPOSITION 11642 /* Method */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_SETPOSITION_INPUTARGUMENTS 11643 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_EXPORTNAMESPACE 11644 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE 11645 /* ObjectType */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER 11646 /* Object */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEURI 11647 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEVERSION 11648 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEPUBLICATIONDATE 11649 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_ISNAMESPACESUBSET 11650 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_STATICNODEIDTYPES 11651 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_STATICNUMERICNODEIDRANGE 11652 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_STATICSTRINGNODEIDPATTERN 11653 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE 11654 /* Object */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_SIZE 11655 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPENCOUNT 11658 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPEN 11659 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPEN_INPUTARGUMENTS 11660 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_OPEN_OUTPUTARGUMENTS 11661 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_CLOSE 11662 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_CLOSE_INPUTARGUMENTS 11663 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_READ 11664 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_READ_INPUTARGUMENTS 11665 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_READ_OUTPUTARGUMENTS 11666 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_WRITE 11667 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_WRITE_INPUTARGUMENTS 11668 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_GETPOSITION 11669 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_GETPOSITION_INPUTARGUMENTS 11670 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_GETPOSITION_OUTPUTARGUMENTS 11671 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_SETPOSITION 11672 /* Method */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_SETPOSITION_INPUTARGUMENTS 11673 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_EXPORTNAMESPACE 11674 /* Method */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_SYSTEMSTATE 11696 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_SAMPLEDMONITOREDITEMSCOUNT 11697 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_MAXSAMPLEDMONITOREDITEMSCOUNT 11698 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSTYPE_DISABLEDMONITOREDITEMSSAMPLINGCOUNT 11699 /* Variable */ -#define UA_NS0ID_OPTIONSETTYPE_BITMASK 11701 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXARRAYLENGTH 11702 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSTRINGLENGTH 11703 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS 11704 /* Object */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD 11705 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE 11707 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL 11709 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE 11710 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES 11711 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS 11712 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT 11713 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL 11714 /* Variable */ -#define UA_NS0ID_SERVER_NAMESPACES 11715 /* Object */ -#define UA_NS0ID_BITFIELDMASKDATATYPE 11737 /* DataType */ -#define UA_NS0ID_OPENMETHODTYPE 11738 /* Method */ -#define UA_NS0ID_OPENMETHODTYPE_INPUTARGUMENTS 11739 /* Variable */ -#define UA_NS0ID_OPENMETHODTYPE_OUTPUTARGUMENTS 11740 /* Variable */ -#define UA_NS0ID_CLOSEMETHODTYPE 11741 /* Method */ -#define UA_NS0ID_CLOSEMETHODTYPE_INPUTARGUMENTS 11742 /* Variable */ -#define UA_NS0ID_READMETHODTYPE 11743 /* Method */ -#define UA_NS0ID_READMETHODTYPE_INPUTARGUMENTS 11744 /* Variable */ -#define UA_NS0ID_READMETHODTYPE_OUTPUTARGUMENTS 11745 /* Variable */ -#define UA_NS0ID_WRITEMETHODTYPE 11746 /* Method */ -#define UA_NS0ID_WRITEMETHODTYPE_INPUTARGUMENTS 11747 /* Variable */ -#define UA_NS0ID_GETPOSITIONMETHODTYPE 11748 /* Method */ -#define UA_NS0ID_GETPOSITIONMETHODTYPE_INPUTARGUMENTS 11749 /* Variable */ -#define UA_NS0ID_GETPOSITIONMETHODTYPE_OUTPUTARGUMENTS 11750 /* Variable */ -#define UA_NS0ID_SETPOSITIONMETHODTYPE 11751 /* Method */ -#define UA_NS0ID_SETPOSITIONMETHODTYPE_INPUTARGUMENTS 11752 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE 11753 /* ObjectType */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_EVENTID 11754 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_EVENTTYPE 11755 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SOURCENODE 11756 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SOURCENAME 11757 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_TIME 11758 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RECEIVETIME 11759 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LOCALTIME 11760 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_MESSAGE 11761 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SEVERITY 11762 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONCLASSID 11763 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONCLASSNAME 11764 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONNAME 11765 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_BRANCHID 11766 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RETAIN 11767 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE 11768 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_ID 11769 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_NAME 11770 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_NUMBER 11771 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 11772 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 11773 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 11774 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_TRUESTATE 11775 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLEDSTATE_FALSESTATE 11776 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_QUALITY 11777 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_QUALITY_SOURCETIMESTAMP 11778 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LASTSEVERITY 11779 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 11780 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_COMMENT 11781 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_COMMENT_SOURCETIMESTAMP 11782 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CLIENTUSERID 11783 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_DISABLE 11784 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ENABLE 11785 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ADDCOMMENT 11786 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 11787 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH 11788 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 11789 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE 11790 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_ID 11791 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_NAME 11792 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_NUMBER 11793 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 11794 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_TRANSITIONTIME 11795 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 11796 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_TRUESTATE 11797 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKEDSTATE_FALSESTATE 11798 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE 11799 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_ID 11800 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_NAME 11801 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_NUMBER 11802 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 11803 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 11804 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 11805 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_TRUESTATE 11806 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRMEDSTATE_FALSESTATE 11807 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKNOWLEDGE 11808 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 11809 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRM 11810 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONFIRM_INPUTARGUMENTS 11811 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE 11812 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_ID 11813 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_NAME 11814 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_NUMBER 11815 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 11816 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_TRANSITIONTIME 11817 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 11818 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_TRUESTATE 11819 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ACTIVESTATE_FALSESTATE 11820 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_INPUTNODE 11821 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE 11822 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_ID 11823 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_NAME 11824 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_NUMBER 11825 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 11826 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 11827 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 11828 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 11829 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 11830 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE 11831 /* Object */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE 11832 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 11833 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 11834 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 11835 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 11836 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION 11837 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 11838 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 11839 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 11840 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 11841 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 11842 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVETIME 11843 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE 11844 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 11845 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 11846 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 11847 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESSEDORSHELVED 11848 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_MAXTIMESHELVED 11849 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_NORMALSTATE 11850 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_COMMENT 11851 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_SELECTEDRESPONSE 11852 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_COMMENT 11853 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_COMMENT 11854 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_SHELVINGTIME 11855 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE 11856 /* ObjectType */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_EVENTID 11857 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_EVENTTYPE 11858 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SOURCENODE 11859 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SOURCENAME 11860 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_TIME 11861 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_RECEIVETIME 11862 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_LOCALTIME 11863 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_MESSAGE 11864 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SEVERITY 11865 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_ACTIONTIMESTAMP 11866 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_STATUS 11867 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_SERVERID 11868 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CLIENTAUDITENTRYID 11869 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CLIENTUSERID 11870 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_METHODID 11871 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_INPUTARGUMENTS 11872 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_OLDSTATEID 11873 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_NEWSTATEID 11874 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_TRANSITIONNUMBER 11875 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_AGGREGATEFUNCTIONS 11876 /* Object */ -#define UA_NS0ID_HACONFIGURATION_AGGREGATEFUNCTIONS 11877 /* Object */ -#define UA_NS0ID_NODECLASS_ENUMVALUES 11878 /* Variable */ -#define UA_NS0ID_INSTANCENODE 11879 /* DataType */ -#define UA_NS0ID_TYPENODE 11880 /* DataType */ -#define UA_NS0ID_NODEATTRIBUTESMASK_ENUMVALUES 11881 /* Variable */ -#define UA_NS0ID_BROWSERESULTMASK_ENUMVALUES 11883 /* Variable */ -#define UA_NS0ID_HISTORYUPDATETYPE_ENUMVALUES 11884 /* Variable */ -#define UA_NS0ID_PERFORMUPDATETYPE_ENUMVALUES 11885 /* Variable */ -#define UA_NS0ID_INSTANCENODE_ENCODING_DEFAULTXML 11887 /* Object */ -#define UA_NS0ID_TYPENODE_ENCODING_DEFAULTXML 11888 /* Object */ -#define UA_NS0ID_INSTANCENODE_ENCODING_DEFAULTBINARY 11889 /* Object */ -#define UA_NS0ID_TYPENODE_ENCODING_DEFAULTBINARY 11890 /* Object */ -#define UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE_SESSIONDIAGNOSTICS_UNAUTHORIZEDREQUESTCOUNT 11891 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSVARIABLETYPE_UNAUTHORIZEDREQUESTCOUNT 11892 /* Variable */ -#define UA_NS0ID_OPENFILEMODE 11939 /* DataType */ -#define UA_NS0ID_OPENFILEMODE_ENUMVALUES 11940 /* Variable */ -#define UA_NS0ID_MODELCHANGESTRUCTUREVERBMASK 11941 /* DataType */ -#define UA_NS0ID_MODELCHANGESTRUCTUREVERBMASK_ENUMVALUES 11942 /* Variable */ -#define UA_NS0ID_ENDPOINTURLLISTDATATYPE 11943 /* DataType */ -#define UA_NS0ID_NETWORKGROUPDATATYPE 11944 /* DataType */ -#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE 11945 /* ObjectType */ -#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE_REDUNDANCYSUPPORT 11946 /* Variable */ -#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE_SERVERURIARRAY 11947 /* Variable */ -#define UA_NS0ID_NONTRANSPARENTNETWORKREDUNDANCYTYPE_SERVERNETWORKGROUPS 11948 /* Variable */ -#define UA_NS0ID_ENDPOINTURLLISTDATATYPE_ENCODING_DEFAULTXML 11949 /* Object */ -#define UA_NS0ID_NETWORKGROUPDATATYPE_ENCODING_DEFAULTXML 11950 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTURLLISTDATATYPE 11951 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTURLLISTDATATYPE_DATATYPEVERSION 11952 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTURLLISTDATATYPE_DICTIONARYFRAGMENT 11953 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKGROUPDATATYPE 11954 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKGROUPDATATYPE_DATATYPEVERSION 11955 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKGROUPDATATYPE_DICTIONARYFRAGMENT 11956 /* Variable */ -#define UA_NS0ID_ENDPOINTURLLISTDATATYPE_ENCODING_DEFAULTBINARY 11957 /* Object */ -#define UA_NS0ID_NETWORKGROUPDATATYPE_ENCODING_DEFAULTBINARY 11958 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTURLLISTDATATYPE 11959 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTURLLISTDATATYPE_DATATYPEVERSION 11960 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTURLLISTDATATYPE_DICTIONARYFRAGMENT 11961 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKGROUPDATATYPE 11962 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKGROUPDATATYPE_DATATYPEVERSION 11963 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKGROUPDATATYPE_DICTIONARYFRAGMENT 11964 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE 12021 /* VariableType */ -#define UA_NS0ID_ARRAYITEMTYPE_DEFINITION 12022 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE_VALUEPRECISION 12023 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE_INSTRUMENTRANGE 12024 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE_EURANGE 12025 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE_ENGINEERINGUNITS 12026 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE_TITLE 12027 /* Variable */ -#define UA_NS0ID_ARRAYITEMTYPE_AXISSCALETYPE 12028 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE 12029 /* VariableType */ -#define UA_NS0ID_YARRAYITEMTYPE_DEFINITION 12030 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_VALUEPRECISION 12031 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_INSTRUMENTRANGE 12032 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_EURANGE 12033 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_ENGINEERINGUNITS 12034 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_TITLE 12035 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_AXISSCALETYPE 12036 /* Variable */ -#define UA_NS0ID_YARRAYITEMTYPE_XAXISDEFINITION 12037 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE 12038 /* VariableType */ -#define UA_NS0ID_XYARRAYITEMTYPE_DEFINITION 12039 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_VALUEPRECISION 12040 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_INSTRUMENTRANGE 12041 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_EURANGE 12042 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_ENGINEERINGUNITS 12043 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_TITLE 12044 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_AXISSCALETYPE 12045 /* Variable */ -#define UA_NS0ID_XYARRAYITEMTYPE_XAXISDEFINITION 12046 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE 12047 /* VariableType */ -#define UA_NS0ID_IMAGEITEMTYPE_DEFINITION 12048 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_VALUEPRECISION 12049 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_INSTRUMENTRANGE 12050 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_EURANGE 12051 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_ENGINEERINGUNITS 12052 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_TITLE 12053 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_AXISSCALETYPE 12054 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_XAXISDEFINITION 12055 /* Variable */ -#define UA_NS0ID_IMAGEITEMTYPE_YAXISDEFINITION 12056 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE 12057 /* VariableType */ -#define UA_NS0ID_CUBEITEMTYPE_DEFINITION 12058 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_VALUEPRECISION 12059 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_INSTRUMENTRANGE 12060 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_EURANGE 12061 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_ENGINEERINGUNITS 12062 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_TITLE 12063 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_AXISSCALETYPE 12064 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_XAXISDEFINITION 12065 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_YAXISDEFINITION 12066 /* Variable */ -#define UA_NS0ID_CUBEITEMTYPE_ZAXISDEFINITION 12067 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE 12068 /* VariableType */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_DEFINITION 12069 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_VALUEPRECISION 12070 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_INSTRUMENTRANGE 12071 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_EURANGE 12072 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_ENGINEERINGUNITS 12073 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_TITLE 12074 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_AXISSCALETYPE 12075 /* Variable */ -#define UA_NS0ID_NDIMENSIONARRAYITEMTYPE_AXISDEFINITION 12076 /* Variable */ -#define UA_NS0ID_AXISSCALEENUMERATION 12077 /* DataType */ -#define UA_NS0ID_AXISSCALEENUMERATION_ENUMSTRINGS 12078 /* Variable */ -#define UA_NS0ID_AXISINFORMATION 12079 /* DataType */ -#define UA_NS0ID_XVTYPE 12080 /* DataType */ -#define UA_NS0ID_AXISINFORMATION_ENCODING_DEFAULTXML 12081 /* Object */ -#define UA_NS0ID_XVTYPE_ENCODING_DEFAULTXML 12082 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_AXISINFORMATION 12083 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_AXISINFORMATION_DATATYPEVERSION 12084 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_AXISINFORMATION_DICTIONARYFRAGMENT 12085 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_XVTYPE 12086 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_XVTYPE_DATATYPEVERSION 12087 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_XVTYPE_DICTIONARYFRAGMENT 12088 /* Variable */ -#define UA_NS0ID_AXISINFORMATION_ENCODING_DEFAULTBINARY 12089 /* Object */ -#define UA_NS0ID_XVTYPE_ENCODING_DEFAULTBINARY 12090 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_AXISINFORMATION 12091 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_AXISINFORMATION_DATATYPEVERSION 12092 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_AXISINFORMATION_DICTIONARYFRAGMENT 12093 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_XVTYPE 12094 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_XVTYPE_DATATYPEVERSION 12095 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_XVTYPE_DICTIONARYFRAGMENT 12096 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER 12097 /* Object */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS 12098 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SESSIONID 12099 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SESSIONNAME 12100 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CLIENTDESCRIPTION 12101 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SERVERURI 12102 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ENDPOINTURL 12103 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_LOCALEIDS 12104 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ACTUALSESSIONTIMEOUT 12105 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_MAXRESPONSEMESSAGESIZE 12106 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CLIENTCONNECTIONTIME 12107 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CLIENTLASTCONTACTTIME 12108 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CURRENTSUBSCRIPTIONSCOUNT 12109 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CURRENTMONITOREDITEMSCOUNT 12110 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CURRENTPUBLISHREQUESTSINQUEUE 12111 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_TOTALREQUESTCOUNT 12112 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_UNAUTHORIZEDREQUESTCOUNT 12113 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_READCOUNT 12114 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_HISTORYREADCOUNT 12115 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_WRITECOUNT 12116 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_HISTORYUPDATECOUNT 12117 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CALLCOUNT 12118 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CREATEMONITOREDITEMSCOUNT 12119 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_MODIFYMONITOREDITEMSCOUNT 12120 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SETMONITORINGMODECOUNT 12121 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SETTRIGGERINGCOUNT 12122 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETEMONITOREDITEMSCOUNT 12123 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_CREATESUBSCRIPTIONCOUNT 12124 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_MODIFYSUBSCRIPTIONCOUNT 12125 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_SETPUBLISHINGMODECOUNT 12126 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_PUBLISHCOUNT 12127 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_REPUBLISHCOUNT 12128 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_TRANSFERSUBSCRIPTIONSCOUNT 12129 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETESUBSCRIPTIONSCOUNT 12130 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ADDNODESCOUNT 12131 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_ADDREFERENCESCOUNT 12132 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETENODESCOUNT 12133 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_DELETEREFERENCESCOUNT 12134 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_BROWSECOUNT 12135 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_BROWSENEXTCOUNT 12136 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 12137 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_QUERYFIRSTCOUNT 12138 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_QUERYNEXTCOUNT 12139 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_REGISTERNODESCOUNT 12140 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONDIAGNOSTICS_UNREGISTERNODESCOUNT 12141 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS 12142 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_SESSIONID 12143 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDOFSESSION 12144 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDHISTORY 12145 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_AUTHENTICATIONMECHANISM 12146 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_ENCODING 12147 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_TRANSPORTPROTOCOL 12148 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_SECURITYMODE 12149 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_SECURITYPOLICYURI 12150 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SESSIONSECURITYDIAGNOSTICS_CLIENTCERTIFICATE 12151 /* Variable */ -#define UA_NS0ID_SESSIONSDIAGNOSTICSSUMMARYTYPE_CLIENTNAME_PLACEHOLDER_SUBSCRIPTIONDIAGNOSTICSARRAY 12152 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA 12153 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS 12154 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA 12155 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS 12156 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA 12157 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS 12158 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA 12159 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS 12160 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYREADDATA 12161 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYREADEVENTS 12162 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYUPDATEDATA 12163 /* Variable */ -#define UA_NS0ID_OPERATIONLIMITSTYPE_MAXNODESPERHISTORYUPDATEEVENTS 12164 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA 12165 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS 12166 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA 12167 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS 12168 /* Variable */ -#define UA_NS0ID_NAMINGRULETYPE_ENUMVALUES 12169 /* Variable */ -#define UA_NS0ID_VIEWVERSION 12170 /* Variable */ -#define UA_NS0ID_COMPLEXNUMBERTYPE 12171 /* DataType */ -#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE 12172 /* DataType */ -#define UA_NS0ID_COMPLEXNUMBERTYPE_ENCODING_DEFAULTXML 12173 /* Object */ -#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE_ENCODING_DEFAULTXML 12174 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_COMPLEXNUMBERTYPE 12175 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_COMPLEXNUMBERTYPE_DATATYPEVERSION 12176 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_COMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12177 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DOUBLECOMPLEXNUMBERTYPE 12178 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DATATYPEVERSION 12179 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12180 /* Variable */ -#define UA_NS0ID_COMPLEXNUMBERTYPE_ENCODING_DEFAULTBINARY 12181 /* Object */ -#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE_ENCODING_DEFAULTBINARY 12182 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_COMPLEXNUMBERTYPE 12183 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_COMPLEXNUMBERTYPE_DATATYPEVERSION 12184 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_COMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12185 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DOUBLECOMPLEXNUMBERTYPE 12186 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DATATYPEVERSION 12187 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DOUBLECOMPLEXNUMBERTYPE_DICTIONARYFRAGMENT 12188 /* Variable */ -#define UA_NS0ID_SERVERONNETWORK 12189 /* DataType */ -#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST 12190 /* DataType */ -#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE 12191 /* DataType */ -#define UA_NS0ID_REGISTERSERVER2REQUEST 12193 /* DataType */ -#define UA_NS0ID_REGISTERSERVER2RESPONSE 12194 /* DataType */ -#define UA_NS0ID_SERVERONNETWORK_ENCODING_DEFAULTXML 12195 /* Object */ -#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTXML 12196 /* Object */ -#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE_ENCODING_DEFAULTXML 12197 /* Object */ -#define UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTXML 12199 /* Object */ -#define UA_NS0ID_REGISTERSERVER2RESPONSE_ENCODING_DEFAULTXML 12200 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERONNETWORK 12201 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERONNETWORK_DATATYPEVERSION 12202 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SERVERONNETWORK_DICTIONARYFRAGMENT 12203 /* Variable */ -#define UA_NS0ID_SERVERONNETWORK_ENCODING_DEFAULTBINARY 12207 /* Object */ -#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTBINARY 12208 /* Object */ -#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE_ENCODING_DEFAULTBINARY 12209 /* Object */ -#define UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTBINARY 12211 /* Object */ -#define UA_NS0ID_REGISTERSERVER2RESPONSE_ENCODING_DEFAULTBINARY 12212 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERONNETWORK 12213 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERONNETWORK_DATATYPEVERSION 12214 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SERVERONNETWORK_DICTIONARYFRAGMENT 12215 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_CONTEXT 12502 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_PROGRESS 12503 /* Variable */ -#define UA_NS0ID_OPENWITHMASKSMETHODTYPE 12513 /* Method */ -#define UA_NS0ID_OPENWITHMASKSMETHODTYPE_INPUTARGUMENTS 12514 /* Variable */ -#define UA_NS0ID_OPENWITHMASKSMETHODTYPE_OUTPUTARGUMENTS 12515 /* Variable */ -#define UA_NS0ID_CLOSEANDUPDATEMETHODTYPE 12516 /* Method */ -#define UA_NS0ID_CLOSEANDUPDATEMETHODTYPE_OUTPUTARGUMENTS 12517 /* Variable */ -#define UA_NS0ID_ADDCERTIFICATEMETHODTYPE 12518 /* Method */ -#define UA_NS0ID_ADDCERTIFICATEMETHODTYPE_INPUTARGUMENTS 12519 /* Variable */ -#define UA_NS0ID_REMOVECERTIFICATEMETHODTYPE 12520 /* Method */ -#define UA_NS0ID_REMOVECERTIFICATEMETHODTYPE_INPUTARGUMENTS 12521 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE 12522 /* ObjectType */ -#define UA_NS0ID_TRUSTLISTTYPE_SIZE 12523 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_OPENCOUNT 12526 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_OPEN 12527 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_OPEN_INPUTARGUMENTS 12528 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_OPEN_OUTPUTARGUMENTS 12529 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_CLOSE 12530 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_CLOSE_INPUTARGUMENTS 12531 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_READ 12532 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_READ_INPUTARGUMENTS 12533 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_READ_OUTPUTARGUMENTS 12534 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_WRITE 12535 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_WRITE_INPUTARGUMENTS 12536 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_GETPOSITION 12537 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_GETPOSITION_INPUTARGUMENTS 12538 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_GETPOSITION_OUTPUTARGUMENTS 12539 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_SETPOSITION 12540 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_SETPOSITION_INPUTARGUMENTS 12541 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_LASTUPDATETIME 12542 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_OPENWITHMASKS 12543 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_OPENWITHMASKS_INPUTARGUMENTS 12544 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_OPENWITHMASKS_OUTPUTARGUMENTS 12545 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_CLOSEANDUPDATE 12546 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_CLOSEANDUPDATE_OUTPUTARGUMENTS 12547 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_ADDCERTIFICATE 12548 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_ADDCERTIFICATE_INPUTARGUMENTS 12549 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_REMOVECERTIFICATE 12550 /* Method */ -#define UA_NS0ID_TRUSTLISTTYPE_REMOVECERTIFICATE_INPUTARGUMENTS 12551 /* Variable */ -#define UA_NS0ID_TRUSTLISTMASKS 12552 /* DataType */ -#define UA_NS0ID_TRUSTLISTMASKS_ENUMVALUES 12553 /* Variable */ -#define UA_NS0ID_TRUSTLISTDATATYPE 12554 /* DataType */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE 12555 /* ObjectType */ -#define UA_NS0ID_CERTIFICATETYPE 12556 /* ObjectType */ -#define UA_NS0ID_APPLICATIONCERTIFICATETYPE 12557 /* ObjectType */ -#define UA_NS0ID_HTTPSCERTIFICATETYPE 12558 /* ObjectType */ -#define UA_NS0ID_RSAMINAPPLICATIONCERTIFICATETYPE 12559 /* ObjectType */ -#define UA_NS0ID_RSASHA256APPLICATIONCERTIFICATETYPE 12560 /* ObjectType */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE 12561 /* ObjectType */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_EVENTID 12562 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_EVENTTYPE 12563 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SOURCENODE 12564 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SOURCENAME 12565 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_TIME 12566 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_RECEIVETIME 12567 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_LOCALTIME 12568 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_MESSAGE 12569 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SEVERITY 12570 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_ACTIONTIMESTAMP 12571 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_STATUS 12572 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_SERVERID 12573 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 12574 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CLIENTUSERID 12575 /* Variable */ -#define UA_NS0ID_UPDATECERTIFICATEMETHODTYPE 12578 /* Method */ -#define UA_NS0ID_UPDATECERTIFICATEMETHODTYPE_INPUTARGUMENTS 12579 /* Variable */ -#define UA_NS0ID_UPDATECERTIFICATEMETHODTYPE_OUTPUTARGUMENTS 12580 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE 12581 /* ObjectType */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_SUPPORTEDPRIVATEKEYFORMATS 12583 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_MAXTRUSTLISTSIZE 12584 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_MULTICASTDNSENABLED 12585 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_UPDATECERTIFICATE 12616 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_UPDATECERTIFICATE_INPUTARGUMENTS 12617 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_UPDATECERTIFICATE_OUTPUTARGUMENTS 12618 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE 12620 /* ObjectType */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_EVENTID 12621 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_EVENTTYPE 12622 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SOURCENODE 12623 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SOURCENAME 12624 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_TIME 12625 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_RECEIVETIME 12626 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_LOCALTIME 12627 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_MESSAGE 12628 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SEVERITY 12629 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_ACTIONTIMESTAMP 12630 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_STATUS 12631 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_SERVERID 12632 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 12633 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CLIENTUSERID 12634 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION 12637 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_SUPPORTEDPRIVATEKEYFORMATS 12639 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_MAXTRUSTLISTSIZE 12640 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_MULTICASTDNSENABLED 12641 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 12642 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 12643 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 12646 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 12647 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 12648 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 12649 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 12650 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 12651 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 12652 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 12653 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 12654 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 12655 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 12656 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 12657 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 12658 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 12659 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 12660 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 12661 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 12662 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 12663 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 12664 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 12665 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 12666 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 12667 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 12668 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 12669 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 12670 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 12671 /* Variable */ -#define UA_NS0ID_TRUSTLISTDATATYPE_ENCODING_DEFAULTXML 12676 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRUSTLISTDATATYPE 12677 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRUSTLISTDATATYPE_DATATYPEVERSION 12678 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRUSTLISTDATATYPE_DICTIONARYFRAGMENT 12679 /* Variable */ -#define UA_NS0ID_TRUSTLISTDATATYPE_ENCODING_DEFAULTBINARY 12680 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRUSTLISTDATATYPE 12681 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRUSTLISTDATATYPE_DATATYPEVERSION 12682 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRUSTLISTDATATYPE_DICTIONARYFRAGMENT 12683 /* Variable */ -#define UA_NS0ID_FILETYPE_WRITABLE 12686 /* Variable */ -#define UA_NS0ID_FILETYPE_USERWRITABLE 12687 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_WRITABLE 12688 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_USERWRITABLE 12689 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_WRITABLE 12690 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_USERWRITABLE 12691 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_WRITABLE 12692 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_USERWRITABLE 12693 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_WRITABLE 12698 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_USERWRITABLE 12699 /* Variable */ -#define UA_NS0ID_CLOSEANDUPDATEMETHODTYPE_INPUTARGUMENTS 12704 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_CLOSEANDUPDATE_INPUTARGUMENTS 12705 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_SERVERCAPABILITIES 12708 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_SERVERCAPABILITIES 12710 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATHELEMENT 12712 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATHELEMENT_DATATYPEVERSION 12713 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATHELEMENT_DICTIONARYFRAGMENT 12714 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATH 12715 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATH_DATATYPEVERSION 12716 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RELATIVEPATH_DICTIONARYFRAGMENT 12717 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATHELEMENT 12718 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATHELEMENT_DATATYPEVERSION 12719 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATHELEMENT_DICTIONARYFRAGMENT 12720 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATH 12721 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATH_DATATYPEVERSION 12722 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RELATIVEPATH_DICTIONARYFRAGMENT 12723 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CREATESIGNINGREQUEST 12731 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CREATESIGNINGREQUEST_INPUTARGUMENTS 12732 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 12733 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_APPLYCHANGES 12734 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CREATESIGNINGREQUEST 12737 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CREATESIGNINGREQUEST_INPUTARGUMENTS 12738 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 12739 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_APPLYCHANGES 12740 /* Method */ -#define UA_NS0ID_CREATESIGNINGREQUESTMETHODTYPE 12741 /* Method */ -#define UA_NS0ID_CREATESIGNINGREQUESTMETHODTYPE_INPUTARGUMENTS 12742 /* Variable */ -#define UA_NS0ID_CREATESIGNINGREQUESTMETHODTYPE_OUTPUTARGUMENTS 12743 /* Variable */ -#define UA_NS0ID_OPTIONSETVALUES 12745 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SETSUBSCRIPTIONDURABLE 12746 /* Method */ -#define UA_NS0ID_SERVERTYPE_SETSUBSCRIPTIONDURABLE_INPUTARGUMENTS 12747 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SETSUBSCRIPTIONDURABLE_OUTPUTARGUMENTS 12748 /* Variable */ -#define UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE 12749 /* Method */ -#define UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE_INPUTARGUMENTS 12750 /* Variable */ -#define UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE_OUTPUTARGUMENTS 12751 /* Variable */ -#define UA_NS0ID_SETSUBSCRIPTIONDURABLEMETHODTYPE 12752 /* Method */ -#define UA_NS0ID_SETSUBSCRIPTIONDURABLEMETHODTYPE_INPUTARGUMENTS 12753 /* Variable */ -#define UA_NS0ID_SETSUBSCRIPTIONDURABLEMETHODTYPE_OUTPUTARGUMENTS 12754 /* Variable */ -#define UA_NS0ID_OPTIONSET 12755 /* DataType */ -#define UA_NS0ID_UNION 12756 /* DataType */ -#define UA_NS0ID_OPTIONSET_ENCODING_DEFAULTXML 12757 /* Object */ -#define UA_NS0ID_UNION_ENCODING_DEFAULTXML 12758 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_OPTIONSET 12759 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_OPTIONSET_DATATYPEVERSION 12760 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_OPTIONSET_DICTIONARYFRAGMENT 12761 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UNION 12762 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UNION_DATATYPEVERSION 12763 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UNION_DICTIONARYFRAGMENT 12764 /* Variable */ -#define UA_NS0ID_OPTIONSET_ENCODING_DEFAULTBINARY 12765 /* Object */ -#define UA_NS0ID_UNION_ENCODING_DEFAULTBINARY 12766 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_OPTIONSET 12767 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_OPTIONSET_DATATYPEVERSION 12768 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_OPTIONSET_DICTIONARYFRAGMENT 12769 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNION 12770 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNION_DATATYPEVERSION 12771 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNION_DICTIONARYFRAGMENT 12772 /* Variable */ -#define UA_NS0ID_GETREJECTEDLISTMETHODTYPE 12773 /* Method */ -#define UA_NS0ID_GETREJECTEDLISTMETHODTYPE_OUTPUTARGUMENTS 12774 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETREJECTEDLIST 12775 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETREJECTEDLIST_OUTPUTARGUMENTS 12776 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_GETREJECTEDLIST 12777 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_GETREJECTEDLIST_OUTPUTARGUMENTS 12778 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS 12779 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_SAMPLINGINTERVAL 12780 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_SAMPLEDMONITOREDITEMSCOUNT 12781 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_MAXSAMPLEDMONITOREDITEMSCOUNT 12782 /* Variable */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSARRAYTYPE_SAMPLINGINTERVALDIAGNOSTICS_DISABLEDMONITOREDITEMSSAMPLINGCOUNT 12783 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS 12784 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_SESSIONID 12785 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_SUBSCRIPTIONID 12786 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PRIORITY 12787 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PUBLISHINGINTERVAL 12788 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MAXKEEPALIVECOUNT 12789 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MAXLIFETIMECOUNT 12790 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MAXNOTIFICATIONSPERPUBLISH 12791 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PUBLISHINGENABLED 12792 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MODIFYCOUNT 12793 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_ENABLECOUNT 12794 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DISABLECOUNT 12795 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_REPUBLISHREQUESTCOUNT 12796 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_REPUBLISHMESSAGEREQUESTCOUNT 12797 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_REPUBLISHMESSAGECOUNT 12798 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_TRANSFERREQUESTCOUNT 12799 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_TRANSFERREDTOALTCLIENTCOUNT 12800 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_TRANSFERREDTOSAMECLIENTCOUNT 12801 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_PUBLISHREQUESTCOUNT 12802 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DATACHANGENOTIFICATIONSCOUNT 12803 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_EVENTNOTIFICATIONSCOUNT 12804 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_NOTIFICATIONSCOUNT 12805 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_LATEPUBLISHREQUESTCOUNT 12806 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_CURRENTKEEPALIVECOUNT 12807 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_CURRENTLIFETIMECOUNT 12808 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_UNACKNOWLEDGEDMESSAGECOUNT 12809 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DISCARDEDMESSAGECOUNT 12810 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MONITOREDITEMCOUNT 12811 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_DISABLEDMONITOREDITEMCOUNT 12812 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_MONITORINGQUEUEOVERFLOWCOUNT 12813 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_NEXTSEQUENCENUMBER 12814 /* Variable */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSARRAYTYPE_SUBSCRIPTIONDIAGNOSTICS_EVENTQUEUEOVERFLOWCOUNT 12815 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS 12816 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SESSIONID 12817 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SESSIONNAME 12818 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CLIENTDESCRIPTION 12819 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SERVERURI 12820 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ENDPOINTURL 12821 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_LOCALEIDS 12822 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ACTUALSESSIONTIMEOUT 12823 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_MAXRESPONSEMESSAGESIZE 12824 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CLIENTCONNECTIONTIME 12825 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CLIENTLASTCONTACTTIME 12826 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CURRENTSUBSCRIPTIONSCOUNT 12827 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CURRENTMONITOREDITEMSCOUNT 12828 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CURRENTPUBLISHREQUESTSINQUEUE 12829 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_TOTALREQUESTCOUNT 12830 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_UNAUTHORIZEDREQUESTCOUNT 12831 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_READCOUNT 12832 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_HISTORYREADCOUNT 12833 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_WRITECOUNT 12834 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_HISTORYUPDATECOUNT 12835 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CALLCOUNT 12836 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CREATEMONITOREDITEMSCOUNT 12837 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_MODIFYMONITOREDITEMSCOUNT 12838 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SETMONITORINGMODECOUNT 12839 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SETTRIGGERINGCOUNT 12840 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETEMONITOREDITEMSCOUNT 12841 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_CREATESUBSCRIPTIONCOUNT 12842 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_MODIFYSUBSCRIPTIONCOUNT 12843 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_SETPUBLISHINGMODECOUNT 12844 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_PUBLISHCOUNT 12845 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_REPUBLISHCOUNT 12846 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_TRANSFERSUBSCRIPTIONSCOUNT 12847 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETESUBSCRIPTIONSCOUNT 12848 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ADDNODESCOUNT 12849 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_ADDREFERENCESCOUNT 12850 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETENODESCOUNT 12851 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_DELETEREFERENCESCOUNT 12852 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_BROWSECOUNT 12853 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_BROWSENEXTCOUNT 12854 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_TRANSLATEBROWSEPATHSTONODEIDSCOUNT 12855 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_QUERYFIRSTCOUNT 12856 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_QUERYNEXTCOUNT 12857 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_REGISTERNODESCOUNT 12858 /* Variable */ -#define UA_NS0ID_SESSIONDIAGNOSTICSARRAYTYPE_SESSIONDIAGNOSTICS_UNREGISTERNODESCOUNT 12859 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS 12860 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_SESSIONID 12861 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDOFSESSION 12862 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTUSERIDHISTORY 12863 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_AUTHENTICATIONMECHANISM 12864 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_ENCODING 12865 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_TRANSPORTPROTOCOL 12866 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYMODE 12867 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_SECURITYPOLICYURI 12868 /* Variable */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSARRAYTYPE_SESSIONSECURITYDIAGNOSTICS_CLIENTCERTIFICATE 12869 /* Variable */ -#define UA_NS0ID_SERVERTYPE_RESENDDATA 12871 /* Method */ -#define UA_NS0ID_SERVERTYPE_RESENDDATA_INPUTARGUMENTS 12872 /* Variable */ -#define UA_NS0ID_SERVER_RESENDDATA 12873 /* Method */ -#define UA_NS0ID_SERVER_RESENDDATA_INPUTARGUMENTS 12874 /* Variable */ -#define UA_NS0ID_RESENDDATAMETHODTYPE 12875 /* Method */ -#define UA_NS0ID_RESENDDATAMETHODTYPE_INPUTARGUMENTS 12876 /* Variable */ -#define UA_NS0ID_NORMALIZEDSTRING 12877 /* DataType */ -#define UA_NS0ID_DECIMALSTRING 12878 /* DataType */ -#define UA_NS0ID_DURATIONSTRING 12879 /* DataType */ -#define UA_NS0ID_TIMESTRING 12880 /* DataType */ -#define UA_NS0ID_DATESTRING 12881 /* DataType */ -#define UA_NS0ID_SERVERTYPE_ESTIMATEDRETURNTIME 12882 /* Variable */ -#define UA_NS0ID_SERVERTYPE_REQUESTSERVERSTATECHANGE 12883 /* Method */ -#define UA_NS0ID_SERVERTYPE_REQUESTSERVERSTATECHANGE_INPUTARGUMENTS 12884 /* Variable */ -#define UA_NS0ID_SERVER_ESTIMATEDRETURNTIME 12885 /* Variable */ -#define UA_NS0ID_SERVER_REQUESTSERVERSTATECHANGE 12886 /* Method */ -#define UA_NS0ID_SERVER_REQUESTSERVERSTATECHANGE_INPUTARGUMENTS 12887 /* Variable */ -#define UA_NS0ID_REQUESTSERVERSTATECHANGEMETHODTYPE 12888 /* Method */ -#define UA_NS0ID_REQUESTSERVERSTATECHANGEMETHODTYPE_INPUTARGUMENTS 12889 /* Variable */ -#define UA_NS0ID_DISCOVERYCONFIGURATION 12890 /* DataType */ -#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION 12891 /* DataType */ -#define UA_NS0ID_DISCOVERYCONFIGURATION_ENCODING_DEFAULTXML 12892 /* Object */ -#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION_ENCODING_DEFAULTXML 12893 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DISCOVERYCONFIGURATION 12894 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DISCOVERYCONFIGURATION_DATATYPEVERSION 12895 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12896 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MDNSDISCOVERYCONFIGURATION 12897 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MDNSDISCOVERYCONFIGURATION_DATATYPEVERSION 12898 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_MDNSDISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12899 /* Variable */ -#define UA_NS0ID_DISCOVERYCONFIGURATION_ENCODING_DEFAULTBINARY 12900 /* Object */ -#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION_ENCODING_DEFAULTBINARY 12901 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DISCOVERYCONFIGURATION 12902 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DISCOVERYCONFIGURATION_DATATYPEVERSION 12903 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12904 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MDNSDISCOVERYCONFIGURATION 12905 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MDNSDISCOVERYCONFIGURATION_DATATYPEVERSION 12906 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_MDNSDISCOVERYCONFIGURATION_DICTIONARYFRAGMENT 12907 /* Variable */ -#define UA_NS0ID_MAXBYTESTRINGLENGTH 12908 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXBYTESTRINGLENGTH 12909 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXBYTESTRINGLENGTH 12910 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBYTESTRINGLENGTH 12911 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH2 12912 /* Method */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12913 /* Variable */ -#define UA_NS0ID_CONDITIONREFRESH2METHODTYPE 12914 /* Method */ -#define UA_NS0ID_CONDITIONREFRESH2METHODTYPE_INPUTARGUMENTS 12915 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH2 12916 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12917 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH2 12918 /* Method */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12919 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH2 12984 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12985 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH2 12986 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12987 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2 12988 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12989 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2 12990 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12991 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2 12992 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12993 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2 12994 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12995 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2 12996 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12997 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2 12998 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 12999 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2 13000 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13001 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2 13002 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13003 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH2 13004 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13005 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH2 13006 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13007 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH2 13008 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13009 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH2 13010 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13011 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE 13225 /* ObjectType */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EVENTID 13226 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EVENTTYPE 13227 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SOURCENODE 13228 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SOURCENAME 13229 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_TIME 13230 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RECEIVETIME 13231 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LOCALTIME 13232 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_MESSAGE 13233 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SEVERITY 13234 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONCLASSID 13235 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONCLASSNAME 13236 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONNAME 13237 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_BRANCHID 13238 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RETAIN 13239 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE 13240 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_ID 13241 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_NAME 13242 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_NUMBER 13243 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 13244 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 13245 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 13246 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_TRUESTATE 13247 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLEDSTATE_FALSESTATE 13248 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_QUALITY 13249 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_QUALITY_SOURCETIMESTAMP 13250 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LASTSEVERITY 13251 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 13252 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_COMMENT 13253 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_COMMENT_SOURCETIMESTAMP 13254 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CLIENTUSERID 13255 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_DISABLE 13256 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ENABLE 13257 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ADDCOMMENT 13258 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 13259 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH 13260 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 13261 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH2 13262 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 13263 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE 13264 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_ID 13265 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_NAME 13266 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_NUMBER 13267 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 13268 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_TRANSITIONTIME 13269 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 13270 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_TRUESTATE 13271 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKEDSTATE_FALSESTATE 13272 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE 13273 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_ID 13274 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_NAME 13275 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_NUMBER 13276 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 13277 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 13278 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 13279 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_TRUESTATE 13280 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRMEDSTATE_FALSESTATE 13281 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKNOWLEDGE 13282 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 13283 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRM 13284 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONFIRM_INPUTARGUMENTS 13285 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE 13286 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_ID 13287 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_NAME 13288 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_NUMBER 13289 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 13290 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_TRANSITIONTIME 13291 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 13292 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_TRUESTATE 13293 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ACTIVESTATE_FALSESTATE 13294 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_INPUTNODE 13295 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE 13296 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_ID 13297 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_NAME 13298 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_NUMBER 13299 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 13300 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 13301 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 13302 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 13303 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 13304 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE 13305 /* Object */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE 13306 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 13307 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 13308 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 13309 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 13310 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION 13311 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 13312 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 13313 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 13314 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 13315 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 13316 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVETIME 13317 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVE 13318 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 13319 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 13320 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 13321 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESSEDORSHELVED 13322 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_MAXTIMESHELVED 13323 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_NORMALSTATE 13324 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EXPIRATIONDATE 13325 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CERTIFICATETYPE 13326 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CERTIFICATE 13327 /* Variable */ -#define UA_NS0ID_FILETYPE_MIMETYPE 13341 /* Variable */ -#define UA_NS0ID_CREATEDIRECTORYMETHODTYPE 13342 /* Method */ -#define UA_NS0ID_CREATEDIRECTORYMETHODTYPE_INPUTARGUMENTS 13343 /* Variable */ -#define UA_NS0ID_CREATEDIRECTORYMETHODTYPE_OUTPUTARGUMENTS 13344 /* Variable */ -#define UA_NS0ID_CREATEFILEMETHODTYPE 13345 /* Method */ -#define UA_NS0ID_CREATEFILEMETHODTYPE_INPUTARGUMENTS 13346 /* Variable */ -#define UA_NS0ID_CREATEFILEMETHODTYPE_OUTPUTARGUMENTS 13347 /* Variable */ -#define UA_NS0ID_DELETEFILEMETHODTYPE 13348 /* Method */ -#define UA_NS0ID_DELETEFILEMETHODTYPE_INPUTARGUMENTS 13349 /* Variable */ -#define UA_NS0ID_MOVEORCOPYMETHODTYPE 13350 /* Method */ -#define UA_NS0ID_MOVEORCOPYMETHODTYPE_INPUTARGUMENTS 13351 /* Variable */ -#define UA_NS0ID_MOVEORCOPYMETHODTYPE_OUTPUTARGUMENTS 13352 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE 13353 /* ObjectType */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER 13354 /* Object */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY 13355 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_INPUTARGUMENTS 13356 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_OUTPUTARGUMENTS 13357 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE 13358 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_INPUTARGUMENTS 13359 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_OUTPUTARGUMENTS 13360 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY 13363 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_INPUTARGUMENTS 13364 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_OUTPUTARGUMENTS 13365 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER 13366 /* Object */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_SIZE 13367 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_WRITABLE 13368 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_USERWRITABLE 13369 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPENCOUNT 13370 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_MIMETYPE 13371 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPEN 13372 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPEN_INPUTARGUMENTS 13373 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_OPEN_OUTPUTARGUMENTS 13374 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_CLOSE 13375 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_CLOSE_INPUTARGUMENTS 13376 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_READ 13377 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_READ_INPUTARGUMENTS 13378 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_READ_OUTPUTARGUMENTS 13379 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_WRITE 13380 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_WRITE_INPUTARGUMENTS 13381 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_GETPOSITION 13382 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_GETPOSITION_INPUTARGUMENTS 13383 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_GETPOSITION_OUTPUTARGUMENTS 13384 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_SETPOSITION 13385 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_SETPOSITION_INPUTARGUMENTS 13386 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEDIRECTORY 13387 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEDIRECTORY_INPUTARGUMENTS 13388 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEDIRECTORY_OUTPUTARGUMENTS 13389 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEFILE 13390 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEFILE_INPUTARGUMENTS 13391 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_CREATEFILE_OUTPUTARGUMENTS 13392 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_DELETEFILESYSTEMOBJECT 13393 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 13394 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_MOVEORCOPY 13395 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_MOVEORCOPY_INPUTARGUMENTS 13396 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_MOVEORCOPY_OUTPUTARGUMENTS 13397 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_MIMETYPE 13398 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_MIMETYPE 13399 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_MIMETYPE 13400 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_MIMETYPE 13403 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST 13599 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_SIZE 13600 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_WRITABLE 13601 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_USERWRITABLE 13602 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENCOUNT 13603 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_MIMETYPE 13604 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPEN 13605 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPEN_INPUTARGUMENTS 13606 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13607 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSE 13608 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSE_INPUTARGUMENTS 13609 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_READ 13610 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_READ_INPUTARGUMENTS 13611 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_READ_OUTPUTARGUMENTS 13612 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_WRITE 13613 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_WRITE_INPUTARGUMENTS 13614 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_GETPOSITION 13615 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13616 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13617 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_SETPOSITION 13618 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13619 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_LASTUPDATETIME 13620 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENWITHMASKS 13621 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13622 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13623 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSEANDUPDATE 13624 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13625 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13626 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_ADDCERTIFICATE 13627 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13628 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_REMOVECERTIFICATE 13629 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13630 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATETYPES 13631 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CERTIFICATEGROUP 13735 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CERTIFICATETYPE 13736 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_UPDATECERTIFICATE 13737 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_UPDATECERTIFICATE_INPUTARGUMENTS 13738 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_UPDATECERTIFICATE_OUTPUTARGUMENTS 13739 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE 13813 /* ObjectType */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP 13814 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST 13815 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 13816 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 13817 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 13818 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 13819 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 13820 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 13821 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13822 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13823 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 13824 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13825 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 13826 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13827 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13828 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 13829 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13830 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 13831 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13832 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13833 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 13834 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13835 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 13836 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 13837 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13838 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13839 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 13840 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13841 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13842 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 13843 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13844 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 13845 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13846 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 13847 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP 13848 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST 13849 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 13850 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 13851 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 13852 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 13853 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 13854 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 13855 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13856 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13857 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 13858 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13859 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_READ 13860 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13861 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13862 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 13863 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13864 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 13865 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13866 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13867 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 13868 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13869 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 13870 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 13871 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13872 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13873 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 13874 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13875 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13876 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 13877 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13878 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 13879 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13880 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATETYPES 13881 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP 13882 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST 13883 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 13884 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 13885 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 13886 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 13887 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 13888 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 13889 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13890 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13891 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 13892 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13893 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 13894 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13895 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13896 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 13897 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13898 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 13899 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13900 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13901 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 13902 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13903 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 13904 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 13905 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13906 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13907 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 13908 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13909 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13910 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 13911 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13912 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 13913 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13914 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 13915 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER 13916 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST 13917 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_SIZE 13918 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_WRITABLE 13919 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_USERWRITABLE 13920 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENCOUNT 13921 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_MIMETYPE 13922 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPEN 13923 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPEN_INPUTARGUMENTS 13924 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13925 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSE 13926 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSE_INPUTARGUMENTS 13927 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_READ 13928 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_READ_INPUTARGUMENTS 13929 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_READ_OUTPUTARGUMENTS 13930 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_WRITE 13931 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_WRITE_INPUTARGUMENTS 13932 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_GETPOSITION 13933 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13934 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13935 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_SETPOSITION 13936 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13937 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_LASTUPDATETIME 13938 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENWITHMASKS 13939 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13940 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13941 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSEANDUPDATE 13942 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13943 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13944 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_ADDCERTIFICATE 13945 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13946 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_REMOVECERTIFICATE 13947 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13948 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATETYPES 13949 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS 13950 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 13951 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 13952 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 13953 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 13954 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 13955 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 13956 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 13957 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 13958 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13959 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13960 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 13961 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13962 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 13963 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13964 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13965 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 13966 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 13967 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 13968 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 13969 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 13970 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 13971 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 13972 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 13973 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 13974 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 13975 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 13976 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 13977 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 13978 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 13979 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 13980 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 13981 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 13982 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 13983 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 13984 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 13985 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 13986 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 13987 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 13988 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 13989 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 13990 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 13991 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 13992 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 13993 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 13994 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 13995 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 13996 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 13997 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 13998 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 13999 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 14000 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14001 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 14002 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14003 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14004 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 14005 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14006 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 14007 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 14008 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14009 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14010 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 14011 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14012 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14013 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 14014 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14015 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 14016 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14017 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 14018 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 14019 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 14020 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 14021 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 14022 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 14023 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 14024 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 14025 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 14026 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 14027 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 14028 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 14029 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 14030 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 14031 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 14032 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 14033 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 14034 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14035 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 14036 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14037 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14038 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 14039 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14040 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 14041 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 14042 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14043 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14044 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 14045 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14046 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14047 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 14048 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14049 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 14050 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14051 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 14052 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS 14053 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 14088 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 14089 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 14090 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 14091 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 14092 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 14093 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 14094 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 14095 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 14096 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 14097 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 14098 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 14099 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 14100 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 14101 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 14102 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 14103 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14104 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 14105 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14106 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14107 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 14108 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14109 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 14110 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 14111 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14112 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14113 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 14114 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14115 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14116 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 14117 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14118 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 14119 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14120 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 14121 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 14122 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 14123 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 14124 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 14125 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 14126 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 14127 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 14128 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 14129 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 14130 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 14131 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 14132 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 14133 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 14134 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 14135 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 14136 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 14137 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 14138 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 14139 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 14140 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 14141 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 14142 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 14143 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 14144 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 14145 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 14146 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 14147 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 14148 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14149 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 14150 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 14151 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 14152 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 14153 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 14154 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 14155 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 14156 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 14157 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 14158 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 14159 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 14160 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 14161 /* Variable */ -#define UA_NS0ID_REMOVECONNECTIONMETHODTYPE 14183 /* Method */ -#define UA_NS0ID_REMOVECONNECTIONMETHODTYPE_INPUTARGUMENTS 14184 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE 14209 /* ObjectType */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS 14221 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP 14225 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP_INPUTARGUMENTS 14226 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE 14232 /* ObjectType */ -#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE 14273 /* DataType */ -#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE_ENCODING_DEFAULTXML 14319 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDVARIABLEDATATYPE 14320 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDVARIABLEDATATYPE_DATATYPEVERSION 14321 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDVARIABLEDATATYPE_DICTIONARYFRAGMENT 14322 /* Variable */ -#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE_ENCODING_DEFAULTBINARY 14323 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDVARIABLEDATATYPE 14324 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDVARIABLEDATATYPE_DATATYPEVERSION 14325 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDVARIABLEDATATYPE_DICTIONARYFRAGMENT 14326 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_SESSIONID 14413 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_SESSIONID 14414 /* Variable */ -#define UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERNETWORKGROUPS 14415 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE 14416 /* ObjectType */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER 14417 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_PUBLISHERID 14418 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS 14419 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS_STATE 14420 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS_ENABLE 14421 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_STATUS_DISABLE 14422 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS 14423 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP 14424 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP_INPUTARGUMENTS 14425 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_REMOVECONNECTION 14432 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_REMOVECONNECTION_INPUTARGUMENTS 14433 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS 14434 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS 14435 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 14436 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 14437 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS 14438 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 14439 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 14440 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET 14441 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 14442 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE 14443 /* Object */ -#define UA_NS0ID_HASPUBSUBCONNECTION 14476 /* ReferenceType */ -#define UA_NS0ID_DATASETFOLDERTYPE 14477 /* ObjectType */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER 14478 /* Object */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMS 14479 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 14480 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 14481 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTS 14482 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 14483 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 14484 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEPUBLISHEDDATASET 14485 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 14486 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER 14487 /* Object */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_CONFIGURATIONVERSION 14489 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS 14493 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 14494 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 14495 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTS 14496 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 14497 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 14498 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET 14499 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 14500 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDDATAITEMSMETHODTYPE 14501 /* Method */ -#define UA_NS0ID_ADDPUBLISHEDDATAITEMSMETHODTYPE_INPUTARGUMENTS 14502 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDDATAITEMSMETHODTYPE_OUTPUTARGUMENTS 14503 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDEVENTSMETHODTYPE 14504 /* Method */ -#define UA_NS0ID_ADDPUBLISHEDEVENTSMETHODTYPE_INPUTARGUMENTS 14505 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDEVENTSMETHODTYPE_OUTPUTARGUMENTS 14506 /* Variable */ -#define UA_NS0ID_REMOVEPUBLISHEDDATASETMETHODTYPE 14507 /* Method */ -#define UA_NS0ID_REMOVEPUBLISHEDDATASETMETHODTYPE_INPUTARGUMENTS 14508 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE 14509 /* ObjectType */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_CONFIGURATIONVERSION 14519 /* Variable */ -#define UA_NS0ID_DATASETMETADATATYPE 14523 /* DataType */ -#define UA_NS0ID_FIELDMETADATA 14524 /* DataType */ -#define UA_NS0ID_DATATYPEDESCRIPTION 14525 /* DataType */ -#define UA_NS0ID_STRUCTURETYPE_ENUMSTRINGS 14528 /* Variable */ -#define UA_NS0ID_KEYVALUEPAIR 14533 /* DataType */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE 14534 /* ObjectType */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CONFIGURATIONVERSION 14544 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_PUBLISHEDDATA 14548 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES 14555 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES_INPUTARGUMENTS 14556 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES_OUTPUTARGUMENTS 14557 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES 14558 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES_INPUTARGUMENTS 14559 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES_OUTPUTARGUMENTS 14560 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSADDVARIABLESMETHODTYPE 14564 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSADDVARIABLESMETHODTYPE_INPUTARGUMENTS 14565 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSADDVARIABLESMETHODTYPE_OUTPUTARGUMENTS 14566 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSREMOVEVARIABLESMETHODTYPE 14567 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSREMOVEVARIABLESMETHODTYPE_INPUTARGUMENTS 14568 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSREMOVEVARIABLESMETHODTYPE_OUTPUTARGUMENTS 14569 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE 14572 /* ObjectType */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_CONFIGURATIONVERSION 14582 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_PUBSUBEVENTNOTIFIER 14586 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_SELECTEDFIELDS 14587 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_FILTER 14588 /* Variable */ -#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE 14593 /* DataType */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_PUBLISHERID 14595 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS 14600 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS_STATE 14601 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS_ENABLE 14602 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_STATUS_DISABLE 14603 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPEREMOVEGROUPMETHODTYPE 14604 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPEREMOVEGROUPMETHODTYPE_INPUTARGUMENTS 14605 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEWRITERMETHODTYPE 14623 /* Method */ -#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEWRITERMETHODTYPE_INPUTARGUMENTS 14624 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEREADERMETHODTYPE 14625 /* Method */ -#define UA_NS0ID_PUBSUBGROUPTYPEREMOVEREADERMETHODTYPE_INPUTARGUMENTS 14626 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSTYPE 14643 /* ObjectType */ -#define UA_NS0ID_PUBSUBSTATUSTYPE_STATE 14644 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSTYPE_ENABLE 14645 /* Method */ -#define UA_NS0ID_PUBSUBSTATUSTYPE_DISABLE 14646 /* Method */ -#define UA_NS0ID_PUBSUBSTATE 14647 /* DataType */ -#define UA_NS0ID_PUBSUBSTATE_ENUMSTRINGS 14648 /* Variable */ -#define UA_NS0ID_FIELDTARGETDATATYPE 14744 /* DataType */ -#define UA_NS0ID_DATASETMETADATATYPE_ENCODING_DEFAULTXML 14794 /* Object */ -#define UA_NS0ID_FIELDMETADATA_ENCODING_DEFAULTXML 14795 /* Object */ -#define UA_NS0ID_DATATYPEDESCRIPTION_ENCODING_DEFAULTXML 14796 /* Object */ -#define UA_NS0ID_DATATYPEDEFINITION_ENCODING_DEFAULTXML 14797 /* Object */ -#define UA_NS0ID_STRUCTUREDEFINITION_ENCODING_DEFAULTXML 14798 /* Object */ -#define UA_NS0ID_ENUMDEFINITION_ENCODING_DEFAULTXML 14799 /* Object */ -#define UA_NS0ID_STRUCTUREFIELD_ENCODING_DEFAULTXML 14800 /* Object */ -#define UA_NS0ID_ENUMFIELD_ENCODING_DEFAULTXML 14801 /* Object */ -#define UA_NS0ID_KEYVALUEPAIR_ENCODING_DEFAULTXML 14802 /* Object */ -#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE_ENCODING_DEFAULTXML 14803 /* Object */ -#define UA_NS0ID_FIELDTARGETDATATYPE_ENCODING_DEFAULTXML 14804 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETMETADATATYPE 14805 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETMETADATATYPE_DATATYPEVERSION 14806 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETMETADATATYPE_DICTIONARYFRAGMENT 14807 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDMETADATA 14808 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDMETADATA_DATATYPEVERSION 14809 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDMETADATA_DICTIONARYFRAGMENT 14810 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDESCRIPTION 14811 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDESCRIPTION_DATATYPEVERSION 14812 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDESCRIPTION_DICTIONARYFRAGMENT 14813 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMFIELD 14826 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMFIELD_DATATYPEVERSION 14827 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMFIELD_DICTIONARYFRAGMENT 14828 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_KEYVALUEPAIR 14829 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_KEYVALUEPAIR_DATATYPEVERSION 14830 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_KEYVALUEPAIR_DICTIONARYFRAGMENT 14831 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONFIGURATIONVERSIONDATATYPE 14832 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONFIGURATIONVERSIONDATATYPE_DATATYPEVERSION 14833 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONFIGURATIONVERSIONDATATYPE_DICTIONARYFRAGMENT 14834 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDTARGETDATATYPE 14835 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDTARGETDATATYPE_DATATYPEVERSION 14836 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FIELDTARGETDATATYPE_DICTIONARYFRAGMENT 14837 /* Variable */ -#define UA_NS0ID_FIELDMETADATA_ENCODING_DEFAULTBINARY 14839 /* Object */ -#define UA_NS0ID_STRUCTUREFIELD_ENCODING_DEFAULTBINARY 14844 /* Object */ -#define UA_NS0ID_ENUMFIELD_ENCODING_DEFAULTBINARY 14845 /* Object */ -#define UA_NS0ID_KEYVALUEPAIR_ENCODING_DEFAULTBINARY 14846 /* Object */ -#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE_ENCODING_DEFAULTBINARY 14847 /* Object */ -#define UA_NS0ID_FIELDTARGETDATATYPE_ENCODING_DEFAULTBINARY 14848 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETMETADATATYPE 14849 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETMETADATATYPE_DATATYPEVERSION 14850 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETMETADATATYPE_DICTIONARYFRAGMENT 14851 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDMETADATA 14852 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDMETADATA_DATATYPEVERSION 14853 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDMETADATA_DICTIONARYFRAGMENT 14854 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDESCRIPTION 14855 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDESCRIPTION_DATATYPEVERSION 14856 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDESCRIPTION_DICTIONARYFRAGMENT 14857 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMFIELD 14870 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMFIELD_DATATYPEVERSION 14871 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMFIELD_DICTIONARYFRAGMENT 14872 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_KEYVALUEPAIR 14873 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_KEYVALUEPAIR_DATATYPEVERSION 14874 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_KEYVALUEPAIR_DICTIONARYFRAGMENT 14875 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONFIGURATIONVERSIONDATATYPE 14876 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONFIGURATIONVERSIONDATATYPE_DATATYPEVERSION 14877 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONFIGURATIONVERSIONDATATYPE_DICTIONARYFRAGMENT 14878 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDTARGETDATATYPE_DATATYPEVERSION 14880 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDTARGETDATATYPE_DICTIONARYFRAGMENT 14881 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_EXPIRATIONLIMIT 14900 /* Variable */ -#define UA_NS0ID_DATASETTOWRITER 14936 /* ReferenceType */ -#define UA_NS0ID_DATATYPEDICTIONARYTYPE_DEPRECATED 15001 /* Variable */ -#define UA_NS0ID_MAXCHARACTERS 15002 /* Variable */ -#define UA_NS0ID_SERVERTYPE_URISVERSION 15003 /* Variable */ -#define UA_NS0ID_SERVER_URISVERSION 15004 /* Variable */ -#define UA_NS0ID_SIMPLETYPEDESCRIPTION 15005 /* DataType */ -#define UA_NS0ID_UABINARYFILEDATATYPE 15006 /* DataType */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE 15007 /* DataType */ -#define UA_NS0ID_BROKERTRANSPORTQUALITYOFSERVICE 15008 /* DataType */ -#define UA_NS0ID_BROKERTRANSPORTQUALITYOFSERVICE_ENUMSTRINGS 15009 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_KEYLIFETIME 15010 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYPOLICYURI 15011 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXFUTUREKEYCOUNT 15012 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE 15013 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_EVENTID 15014 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_EVENTTYPE 15015 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SOURCENODE 15016 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SOURCENAME 15017 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_TIME 15018 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_RECEIVETIME 15019 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_LOCALTIME 15020 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_MESSAGE 15021 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SEVERITY 15022 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_ACTIONTIMESTAMP 15023 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_STATUS 15024 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_SERVERID 15025 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CLIENTAUDITENTRYID 15026 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CLIENTUSERID 15027 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_METHODID 15028 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_INPUTARGUMENTS 15029 /* Variable */ -#define UA_NS0ID_PERMISSIONTYPE_OPTIONSETVALUES 15030 /* Variable */ -#define UA_NS0ID_ACCESSLEVELTYPE 15031 /* DataType */ -#define UA_NS0ID_ACCESSLEVELTYPE_OPTIONSETVALUES 15032 /* Variable */ -#define UA_NS0ID_EVENTNOTIFIERTYPE 15033 /* DataType */ -#define UA_NS0ID_EVENTNOTIFIERTYPE_OPTIONSETVALUES 15034 /* Variable */ -#define UA_NS0ID_ACCESSRESTRICTIONTYPE_OPTIONSETVALUES 15035 /* Variable */ -#define UA_NS0ID_ATTRIBUTEWRITEMASK_OPTIONSETVALUES 15036 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DEPRECATED 15037 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODINPUTVALUES 15038 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DEPRECATED 15039 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_PROGRAMDIAGNOSTIC_LASTMETHODOUTPUTVALUES 15040 /* Variable */ -#define UA_NS0ID_KEYVALUEPAIR_ENCODING_DEFAULTJSON 15041 /* Object */ -#define UA_NS0ID_IDENTITYMAPPINGRULETYPE_ENCODING_DEFAULTJSON 15042 /* Object */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXPASTKEYCOUNT 15043 /* Variable */ -#define UA_NS0ID_TRUSTLISTDATATYPE_ENCODING_DEFAULTJSON 15044 /* Object */ -#define UA_NS0ID_DECIMALDATATYPE_ENCODING_DEFAULTJSON 15045 /* Object */ -#define UA_NS0ID_SECURITYGROUPTYPE_KEYLIFETIME 15046 /* Variable */ -#define UA_NS0ID_SECURITYGROUPTYPE_SECURITYPOLICYURI 15047 /* Variable */ -#define UA_NS0ID_SECURITYGROUPTYPE_MAXFUTUREKEYCOUNT 15048 /* Variable */ -#define UA_NS0ID_CONFIGURATIONVERSIONDATATYPE_ENCODING_DEFAULTJSON 15049 /* Object */ -#define UA_NS0ID_DATASETMETADATATYPE_ENCODING_DEFAULTJSON 15050 /* Object */ -#define UA_NS0ID_FIELDMETADATA_ENCODING_DEFAULTJSON 15051 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_MODIFYFIELDSELECTION 15052 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_MODIFYFIELDSELECTION_INPUTARGUMENTS 15053 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPEMODIFYFIELDSELECTIONMETHODTYPE 15054 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPEMODIFYFIELDSELECTIONMETHODTYPE_INPUTARGUMENTS 15055 /* Variable */ -#define UA_NS0ID_SECURITYGROUPTYPE_MAXPASTKEYCOUNT 15056 /* Variable */ -#define UA_NS0ID_DATATYPEDESCRIPTION_ENCODING_DEFAULTJSON 15057 /* Object */ -#define UA_NS0ID_STRUCTUREDESCRIPTION_ENCODING_DEFAULTJSON 15058 /* Object */ -#define UA_NS0ID_ENUMDESCRIPTION_ENCODING_DEFAULTJSON 15059 /* Object */ -#define UA_NS0ID_PUBLISHEDVARIABLEDATATYPE_ENCODING_DEFAULTJSON 15060 /* Object */ -#define UA_NS0ID_FIELDTARGETDATATYPE_ENCODING_DEFAULTJSON 15061 /* Object */ -#define UA_NS0ID_ROLEPERMISSIONTYPE_ENCODING_DEFAULTJSON 15062 /* Object */ -#define UA_NS0ID_DATATYPEDEFINITION_ENCODING_DEFAULTJSON 15063 /* Object */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE 15064 /* ObjectType */ -#define UA_NS0ID_STRUCTUREFIELD_ENCODING_DEFAULTJSON 15065 /* Object */ -#define UA_NS0ID_STRUCTUREDEFINITION_ENCODING_DEFAULTJSON 15066 /* Object */ -#define UA_NS0ID_ENUMDEFINITION_ENCODING_DEFAULTJSON 15067 /* Object */ -#define UA_NS0ID_NODE_ENCODING_DEFAULTJSON 15068 /* Object */ -#define UA_NS0ID_INSTANCENODE_ENCODING_DEFAULTJSON 15069 /* Object */ -#define UA_NS0ID_TYPENODE_ENCODING_DEFAULTJSON 15070 /* Object */ -#define UA_NS0ID_OBJECTNODE_ENCODING_DEFAULTJSON 15071 /* Object */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS 15072 /* Object */ -#define UA_NS0ID_OBJECTTYPENODE_ENCODING_DEFAULTJSON 15073 /* Object */ -#define UA_NS0ID_VARIABLENODE_ENCODING_DEFAULTJSON 15074 /* Object */ -#define UA_NS0ID_VARIABLETYPENODE_ENCODING_DEFAULTJSON 15075 /* Object */ -#define UA_NS0ID_REFERENCETYPENODE_ENCODING_DEFAULTJSON 15076 /* Object */ -#define UA_NS0ID_METHODNODE_ENCODING_DEFAULTJSON 15077 /* Object */ -#define UA_NS0ID_VIEWNODE_ENCODING_DEFAULTJSON 15078 /* Object */ -#define UA_NS0ID_DATATYPENODE_ENCODING_DEFAULTJSON 15079 /* Object */ -#define UA_NS0ID_REFERENCENODE_ENCODING_DEFAULTJSON 15080 /* Object */ -#define UA_NS0ID_ARGUMENT_ENCODING_DEFAULTJSON 15081 /* Object */ -#define UA_NS0ID_ENUMVALUETYPE_ENCODING_DEFAULTJSON 15082 /* Object */ -#define UA_NS0ID_ENUMFIELD_ENCODING_DEFAULTJSON 15083 /* Object */ -#define UA_NS0ID_OPTIONSET_ENCODING_DEFAULTJSON 15084 /* Object */ -#define UA_NS0ID_UNION_ENCODING_DEFAULTJSON 15085 /* Object */ -#define UA_NS0ID_TIMEZONEDATATYPE_ENCODING_DEFAULTJSON 15086 /* Object */ -#define UA_NS0ID_APPLICATIONDESCRIPTION_ENCODING_DEFAULTJSON 15087 /* Object */ -#define UA_NS0ID_REQUESTHEADER_ENCODING_DEFAULTJSON 15088 /* Object */ -#define UA_NS0ID_RESPONSEHEADER_ENCODING_DEFAULTJSON 15089 /* Object */ -#define UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTJSON 15090 /* Object */ -#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE_ENCODING_DEFAULTJSON 15091 /* Object */ -#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE_ENCODING_DEFAULTJSON 15092 /* Object */ -#define UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTJSON 15093 /* Object */ -#define UA_NS0ID_FINDSERVERSRESPONSE_ENCODING_DEFAULTJSON 15094 /* Object */ -#define UA_NS0ID_SERVERONNETWORK_ENCODING_DEFAULTJSON 15095 /* Object */ -#define UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTJSON 15096 /* Object */ -#define UA_NS0ID_FINDSERVERSONNETWORKRESPONSE_ENCODING_DEFAULTJSON 15097 /* Object */ -#define UA_NS0ID_USERTOKENPOLICY_ENCODING_DEFAULTJSON 15098 /* Object */ -#define UA_NS0ID_ENDPOINTDESCRIPTION_ENCODING_DEFAULTJSON 15099 /* Object */ -#define UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTJSON 15100 /* Object */ -#define UA_NS0ID_GETENDPOINTSRESPONSE_ENCODING_DEFAULTJSON 15101 /* Object */ -#define UA_NS0ID_REGISTEREDSERVER_ENCODING_DEFAULTJSON 15102 /* Object */ -#define UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTJSON 15103 /* Object */ -#define UA_NS0ID_REGISTERSERVERRESPONSE_ENCODING_DEFAULTJSON 15104 /* Object */ -#define UA_NS0ID_DISCOVERYCONFIGURATION_ENCODING_DEFAULTJSON 15105 /* Object */ -#define UA_NS0ID_MDNSDISCOVERYCONFIGURATION_ENCODING_DEFAULTJSON 15106 /* Object */ -#define UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTJSON 15107 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETTYPE 15108 /* ObjectType */ -#define UA_NS0ID_CHOICESTATETYPE 15109 /* ObjectType */ -#define UA_NS0ID_CHOICESTATETYPE_STATENUMBER 15110 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPE 15111 /* ObjectType */ -#define UA_NS0ID_HASGUARD 15112 /* ReferenceType */ -#define UA_NS0ID_GUARDVARIABLETYPE 15113 /* VariableType */ -#define UA_NS0ID_TARGETVARIABLESTYPE_TARGETVARIABLES 15114 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPE_ADDTARGETVARIABLES 15115 /* Method */ -#define UA_NS0ID_TARGETVARIABLESTYPE_ADDTARGETVARIABLES_INPUTARGUMENTS 15116 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPE_ADDTARGETVARIABLES_OUTPUTARGUMENTS 15117 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPE_REMOVETARGETVARIABLES 15118 /* Method */ -#define UA_NS0ID_TARGETVARIABLESTYPE_REMOVETARGETVARIABLES_INPUTARGUMENTS 15119 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPE_REMOVETARGETVARIABLES_OUTPUTARGUMENTS 15120 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPEADDTARGETVARIABLESMETHODTYPE 15121 /* Method */ -#define UA_NS0ID_TARGETVARIABLESTYPEADDTARGETVARIABLESMETHODTYPE_INPUTARGUMENTS 15122 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPEADDTARGETVARIABLESMETHODTYPE_OUTPUTARGUMENTS 15123 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPEREMOVETARGETVARIABLESMETHODTYPE 15124 /* Method */ -#define UA_NS0ID_TARGETVARIABLESTYPEREMOVETARGETVARIABLESMETHODTYPE_INPUTARGUMENTS 15125 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESTYPEREMOVETARGETVARIABLESMETHODTYPE_OUTPUTARGUMENTS 15126 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORTYPE 15127 /* ObjectType */ -#define UA_NS0ID_EXPRESSIONGUARDVARIABLETYPE 15128 /* VariableType */ -#define UA_NS0ID_EXPRESSIONGUARDVARIABLETYPE_EXPRESSION 15129 /* Variable */ -#define UA_NS0ID_REGISTERSERVER2RESPONSE_ENCODING_DEFAULTJSON 15130 /* Object */ -#define UA_NS0ID_CHANNELSECURITYTOKEN_ENCODING_DEFAULTJSON 15131 /* Object */ -#define UA_NS0ID_OPENSECURECHANNELREQUEST_ENCODING_DEFAULTJSON 15132 /* Object */ -#define UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTJSON 15133 /* Object */ -#define UA_NS0ID_CLOSESECURECHANNELREQUEST_ENCODING_DEFAULTJSON 15134 /* Object */ -#define UA_NS0ID_CLOSESECURECHANNELRESPONSE_ENCODING_DEFAULTJSON 15135 /* Object */ -#define UA_NS0ID_SIGNEDSOFTWARECERTIFICATE_ENCODING_DEFAULTJSON 15136 /* Object */ -#define UA_NS0ID_SIGNATUREDATA_ENCODING_DEFAULTJSON 15137 /* Object */ -#define UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTJSON 15138 /* Object */ -#define UA_NS0ID_CREATESESSIONRESPONSE_ENCODING_DEFAULTJSON 15139 /* Object */ -#define UA_NS0ID_USERIDENTITYTOKEN_ENCODING_DEFAULTJSON 15140 /* Object */ -#define UA_NS0ID_ANONYMOUSIDENTITYTOKEN_ENCODING_DEFAULTJSON 15141 /* Object */ -#define UA_NS0ID_USERNAMEIDENTITYTOKEN_ENCODING_DEFAULTJSON 15142 /* Object */ -#define UA_NS0ID_X509IDENTITYTOKEN_ENCODING_DEFAULTJSON 15143 /* Object */ -#define UA_NS0ID_ISSUEDIDENTITYTOKEN_ENCODING_DEFAULTJSON 15144 /* Object */ -#define UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTJSON 15145 /* Object */ -#define UA_NS0ID_ACTIVATESESSIONRESPONSE_ENCODING_DEFAULTJSON 15146 /* Object */ -#define UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTJSON 15147 /* Object */ -#define UA_NS0ID_CLOSESESSIONRESPONSE_ENCODING_DEFAULTJSON 15148 /* Object */ -#define UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTJSON 15149 /* Object */ -#define UA_NS0ID_CANCELRESPONSE_ENCODING_DEFAULTJSON 15150 /* Object */ -#define UA_NS0ID_NODEATTRIBUTES_ENCODING_DEFAULTJSON 15151 /* Object */ -#define UA_NS0ID_OBJECTATTRIBUTES_ENCODING_DEFAULTJSON 15152 /* Object */ -#define UA_NS0ID_VARIABLEATTRIBUTES_ENCODING_DEFAULTJSON 15153 /* Object */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE 15154 /* Variable */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTTYPE 15155 /* ObjectType */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTTYPE_RESOURCEURI 15156 /* Variable */ -#define UA_NS0ID_METHODATTRIBUTES_ENCODING_DEFAULTJSON 15157 /* Object */ -#define UA_NS0ID_OBJECTTYPEATTRIBUTES_ENCODING_DEFAULTJSON 15158 /* Object */ -#define UA_NS0ID_VARIABLETYPEATTRIBUTES_ENCODING_DEFAULTJSON 15159 /* Object */ -#define UA_NS0ID_REFERENCETYPEATTRIBUTES_ENCODING_DEFAULTJSON 15160 /* Object */ -#define UA_NS0ID_DATATYPEATTRIBUTES_ENCODING_DEFAULTJSON 15161 /* Object */ -#define UA_NS0ID_VIEWATTRIBUTES_ENCODING_DEFAULTJSON 15162 /* Object */ -#define UA_NS0ID_GENERICATTRIBUTEVALUE_ENCODING_DEFAULTJSON 15163 /* Object */ -#define UA_NS0ID_GENERICATTRIBUTES_ENCODING_DEFAULTJSON 15164 /* Object */ -#define UA_NS0ID_ADDNODESITEM_ENCODING_DEFAULTJSON 15165 /* Object */ -#define UA_NS0ID_ADDNODESRESULT_ENCODING_DEFAULTJSON 15166 /* Object */ -#define UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTJSON 15167 /* Object */ -#define UA_NS0ID_ADDNODESRESPONSE_ENCODING_DEFAULTJSON 15168 /* Object */ -#define UA_NS0ID_ADDREFERENCESITEM_ENCODING_DEFAULTJSON 15169 /* Object */ -#define UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTJSON 15170 /* Object */ -#define UA_NS0ID_ADDREFERENCESRESPONSE_ENCODING_DEFAULTJSON 15171 /* Object */ -#define UA_NS0ID_DELETENODESITEM_ENCODING_DEFAULTJSON 15172 /* Object */ -#define UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTJSON 15173 /* Object */ -#define UA_NS0ID_DELETENODESRESPONSE_ENCODING_DEFAULTJSON 15174 /* Object */ -#define UA_NS0ID_DELETEREFERENCESITEM_ENCODING_DEFAULTJSON 15175 /* Object */ -#define UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTJSON 15176 /* Object */ -#define UA_NS0ID_DELETEREFERENCESRESPONSE_ENCODING_DEFAULTJSON 15177 /* Object */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15178 /* Variable */ -#define UA_NS0ID_VIEWDESCRIPTION_ENCODING_DEFAULTJSON 15179 /* Object */ -#define UA_NS0ID_BROWSEDESCRIPTION_ENCODING_DEFAULTJSON 15180 /* Object */ -#define UA_NS0ID_USERCREDENTIALCERTIFICATETYPE 15181 /* ObjectType */ -#define UA_NS0ID_REFERENCEDESCRIPTION_ENCODING_DEFAULTJSON 15182 /* Object */ -#define UA_NS0ID_BROWSERESULT_ENCODING_DEFAULTJSON 15183 /* Object */ -#define UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTJSON 15184 /* Object */ -#define UA_NS0ID_BROWSERESPONSE_ENCODING_DEFAULTJSON 15185 /* Object */ -#define UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTJSON 15186 /* Object */ -#define UA_NS0ID_BROWSENEXTRESPONSE_ENCODING_DEFAULTJSON 15187 /* Object */ -#define UA_NS0ID_RELATIVEPATHELEMENT_ENCODING_DEFAULTJSON 15188 /* Object */ -#define UA_NS0ID_RELATIVEPATH_ENCODING_DEFAULTJSON 15189 /* Object */ -#define UA_NS0ID_BROWSEPATH_ENCODING_DEFAULTJSON 15190 /* Object */ -#define UA_NS0ID_BROWSEPATHTARGET_ENCODING_DEFAULTJSON 15191 /* Object */ -#define UA_NS0ID_BROWSEPATHRESULT_ENCODING_DEFAULTJSON 15192 /* Object */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTJSON 15193 /* Object */ -#define UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE_ENCODING_DEFAULTJSON 15194 /* Object */ -#define UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTJSON 15195 /* Object */ -#define UA_NS0ID_REGISTERNODESRESPONSE_ENCODING_DEFAULTJSON 15196 /* Object */ -#define UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTJSON 15197 /* Object */ -#define UA_NS0ID_UNREGISTERNODESRESPONSE_ENCODING_DEFAULTJSON 15198 /* Object */ -#define UA_NS0ID_ENDPOINTCONFIGURATION_ENCODING_DEFAULTJSON 15199 /* Object */ -#define UA_NS0ID_QUERYDATADESCRIPTION_ENCODING_DEFAULTJSON 15200 /* Object */ -#define UA_NS0ID_NODETYPEDESCRIPTION_ENCODING_DEFAULTJSON 15201 /* Object */ -#define UA_NS0ID_QUERYDATASET_ENCODING_DEFAULTJSON 15202 /* Object */ -#define UA_NS0ID_NODEREFERENCE_ENCODING_DEFAULTJSON 15203 /* Object */ -#define UA_NS0ID_CONTENTFILTERELEMENT_ENCODING_DEFAULTJSON 15204 /* Object */ -#define UA_NS0ID_CONTENTFILTER_ENCODING_DEFAULTJSON 15205 /* Object */ -#define UA_NS0ID_FILTEROPERAND_ENCODING_DEFAULTJSON 15206 /* Object */ -#define UA_NS0ID_ELEMENTOPERAND_ENCODING_DEFAULTJSON 15207 /* Object */ -#define UA_NS0ID_LITERALOPERAND_ENCODING_DEFAULTJSON 15208 /* Object */ -#define UA_NS0ID_ATTRIBUTEOPERAND_ENCODING_DEFAULTJSON 15209 /* Object */ -#define UA_NS0ID_SIMPLEATTRIBUTEOPERAND_ENCODING_DEFAULTJSON 15210 /* Object */ -#define UA_NS0ID_CONTENTFILTERELEMENTRESULT_ENCODING_DEFAULTJSON 15211 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYKEYS 15212 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYKEYS_INPUTARGUMENTS 15213 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYKEYS_OUTPUTARGUMENTS 15214 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS 15215 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS_INPUTARGUMENTS 15216 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS_OUTPUTARGUMENTS 15217 /* Variable */ -#define UA_NS0ID_GETSECURITYKEYSMETHODTYPE 15218 /* Method */ -#define UA_NS0ID_GETSECURITYKEYSMETHODTYPE_INPUTARGUMENTS 15219 /* Variable */ -#define UA_NS0ID_GETSECURITYKEYSMETHODTYPE_OUTPUTARGUMENTS 15220 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_DATASETMETADATA 15221 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER 15222 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 15223 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 15224 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 15225 /* Method */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 15226 /* Method */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 15227 /* Object */ -#define UA_NS0ID_CONTENTFILTERRESULT_ENCODING_DEFAULTJSON 15228 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETMETADATA 15229 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER 15230 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 15231 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 15232 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 15233 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 15234 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 15235 /* Object */ -#define UA_NS0ID_PARSINGRESULT_ENCODING_DEFAULTJSON 15236 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETMETADATA 15237 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER 15238 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 15239 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 15240 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 15241 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 15242 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 15243 /* Object */ -#define UA_NS0ID_QUERYFIRSTREQUEST_ENCODING_DEFAULTJSON 15244 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETMETADATA 15245 /* Variable */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_RESOURCEURI 15246 /* Variable */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15247 /* Variable */ -#define UA_NS0ID_CREATECREDENTIALMETHODTYPE 15248 /* Method */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_REQUESTEDDELIVERYGUARANTEE 15249 /* Variable */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_RESOURCEURI 15250 /* Variable */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15251 /* Variable */ -#define UA_NS0ID_QUERYFIRSTRESPONSE_ENCODING_DEFAULTJSON 15252 /* Object */ -#define UA_NS0ID_CREATECREDENTIALMETHODTYPE_INPUTARGUMENTS 15253 /* Variable */ -#define UA_NS0ID_QUERYNEXTREQUEST_ENCODING_DEFAULTJSON 15254 /* Object */ -#define UA_NS0ID_QUERYNEXTRESPONSE_ENCODING_DEFAULTJSON 15255 /* Object */ -#define UA_NS0ID_READVALUEID_ENCODING_DEFAULTJSON 15256 /* Object */ -#define UA_NS0ID_READREQUEST_ENCODING_DEFAULTJSON 15257 /* Object */ -#define UA_NS0ID_READRESPONSE_ENCODING_DEFAULTJSON 15258 /* Object */ -#define UA_NS0ID_HISTORYREADVALUEID_ENCODING_DEFAULTJSON 15259 /* Object */ -#define UA_NS0ID_HISTORYREADRESULT_ENCODING_DEFAULTJSON 15260 /* Object */ -#define UA_NS0ID_HISTORYREADDETAILS_ENCODING_DEFAULTJSON 15261 /* Object */ -#define UA_NS0ID_READEVENTDETAILS_ENCODING_DEFAULTJSON 15262 /* Object */ -#define UA_NS0ID_READRAWMODIFIEDDETAILS_ENCODING_DEFAULTJSON 15263 /* Object */ -#define UA_NS0ID_READPROCESSEDDETAILS_ENCODING_DEFAULTJSON 15264 /* Object */ -#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS 15265 /* Object */ -#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS_STATE 15266 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS_ENABLE 15267 /* Method */ -#define UA_NS0ID_PUBSUBGROUPTYPE_STATUS_DISABLE 15268 /* Method */ -#define UA_NS0ID_READATTIMEDETAILS_ENCODING_DEFAULTJSON 15269 /* Object */ -#define UA_NS0ID_HISTORYDATA_ENCODING_DEFAULTJSON 15270 /* Object */ -#define UA_NS0ID_MODIFICATIONINFO_ENCODING_DEFAULTJSON 15271 /* Object */ -#define UA_NS0ID_HISTORYMODIFIEDDATA_ENCODING_DEFAULTJSON 15272 /* Object */ -#define UA_NS0ID_HISTORYEVENT_ENCODING_DEFAULTJSON 15273 /* Object */ -#define UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTJSON 15274 /* Object */ -#define UA_NS0ID_HISTORYREADRESPONSE_ENCODING_DEFAULTJSON 15275 /* Object */ -#define UA_NS0ID_WRITEVALUE_ENCODING_DEFAULTJSON 15276 /* Object */ -#define UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTJSON 15277 /* Object */ -#define UA_NS0ID_WRITERESPONSE_ENCODING_DEFAULTJSON 15278 /* Object */ -#define UA_NS0ID_HISTORYUPDATEDETAILS_ENCODING_DEFAULTJSON 15279 /* Object */ -#define UA_NS0ID_UPDATEDATADETAILS_ENCODING_DEFAULTJSON 15280 /* Object */ -#define UA_NS0ID_UPDATESTRUCTUREDATADETAILS_ENCODING_DEFAULTJSON 15281 /* Object */ -#define UA_NS0ID_UPDATEEVENTDETAILS_ENCODING_DEFAULTJSON 15282 /* Object */ -#define UA_NS0ID_DELETERAWMODIFIEDDETAILS_ENCODING_DEFAULTJSON 15283 /* Object */ -#define UA_NS0ID_DELETEATTIMEDETAILS_ENCODING_DEFAULTJSON 15284 /* Object */ -#define UA_NS0ID_DELETEEVENTDETAILS_ENCODING_DEFAULTJSON 15285 /* Object */ -#define UA_NS0ID_HISTORYUPDATERESULT_ENCODING_DEFAULTJSON 15286 /* Object */ -#define UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTJSON 15287 /* Object */ -#define UA_NS0ID_HISTORYUPDATERESPONSE_ENCODING_DEFAULTJSON 15288 /* Object */ -#define UA_NS0ID_CALLMETHODREQUEST_ENCODING_DEFAULTJSON 15289 /* Object */ -#define UA_NS0ID_CALLMETHODRESULT_ENCODING_DEFAULTJSON 15290 /* Object */ -#define UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTJSON 15291 /* Object */ -#define UA_NS0ID_CALLRESPONSE_ENCODING_DEFAULTJSON 15292 /* Object */ -#define UA_NS0ID_MONITORINGFILTER_ENCODING_DEFAULTJSON 15293 /* Object */ -#define UA_NS0ID_DATACHANGEFILTER_ENCODING_DEFAULTJSON 15294 /* Object */ -#define UA_NS0ID_EVENTFILTER_ENCODING_DEFAULTJSON 15295 /* Object */ -#define UA_NS0ID_HASDATASETWRITER 15296 /* ReferenceType */ -#define UA_NS0ID_HASDATASETREADER 15297 /* ReferenceType */ -#define UA_NS0ID_DATASETWRITERTYPE 15298 /* ObjectType */ -#define UA_NS0ID_DATASETWRITERTYPE_STATUS 15299 /* Object */ -#define UA_NS0ID_DATASETWRITERTYPE_STATUS_STATE 15300 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_STATUS_ENABLE 15301 /* Method */ -#define UA_NS0ID_DATASETWRITERTYPE_STATUS_DISABLE 15302 /* Method */ -#define UA_NS0ID_DATASETWRITERTYPE_TRANSPORTSETTINGS 15303 /* Object */ -#define UA_NS0ID_AGGREGATECONFIGURATION_ENCODING_DEFAULTJSON 15304 /* Object */ -#define UA_NS0ID_DATASETWRITERTRANSPORTTYPE 15305 /* ObjectType */ -#define UA_NS0ID_DATASETREADERTYPE 15306 /* ObjectType */ -#define UA_NS0ID_DATASETREADERTYPE_STATUS 15307 /* Object */ -#define UA_NS0ID_DATASETREADERTYPE_STATUS_STATE 15308 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_STATUS_ENABLE 15309 /* Method */ -#define UA_NS0ID_DATASETREADERTYPE_STATUS_DISABLE 15310 /* Method */ -#define UA_NS0ID_DATASETREADERTYPE_TRANSPORTSETTINGS 15311 /* Object */ -#define UA_NS0ID_AGGREGATEFILTER_ENCODING_DEFAULTJSON 15312 /* Object */ -#define UA_NS0ID_MONITORINGFILTERRESULT_ENCODING_DEFAULTJSON 15313 /* Object */ -#define UA_NS0ID_EVENTFILTERRESULT_ENCODING_DEFAULTJSON 15314 /* Object */ -#define UA_NS0ID_AGGREGATEFILTERRESULT_ENCODING_DEFAULTJSON 15315 /* Object */ -#define UA_NS0ID_DATASETREADERTYPE_SUBSCRIBEDDATASET 15316 /* Object */ -#define UA_NS0ID_ELSEGUARDVARIABLETYPE 15317 /* VariableType */ -#define UA_NS0ID_BASEANALOGTYPE 15318 /* VariableType */ -#define UA_NS0ID_DATASETREADERTRANSPORTTYPE 15319 /* ObjectType */ -#define UA_NS0ID_MONITORINGPARAMETERS_ENCODING_DEFAULTJSON 15320 /* Object */ -#define UA_NS0ID_MONITOREDITEMCREATEREQUEST_ENCODING_DEFAULTJSON 15321 /* Object */ -#define UA_NS0ID_MONITOREDITEMCREATERESULT_ENCODING_DEFAULTJSON 15322 /* Object */ -#define UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTJSON 15323 /* Object */ -#define UA_NS0ID_CREATEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTJSON 15324 /* Object */ -#define UA_NS0ID_MONITOREDITEMMODIFYREQUEST_ENCODING_DEFAULTJSON 15325 /* Object */ -#define UA_NS0ID_MONITOREDITEMMODIFYRESULT_ENCODING_DEFAULTJSON 15326 /* Object */ -#define UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTJSON 15327 /* Object */ -#define UA_NS0ID_MODIFYMONITOREDITEMSRESPONSE_ENCODING_DEFAULTJSON 15328 /* Object */ -#define UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTJSON 15329 /* Object */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_REQUESTEDDELIVERYGUARANTEE 15330 /* Variable */ -#define UA_NS0ID_SETMONITORINGMODERESPONSE_ENCODING_DEFAULTJSON 15331 /* Object */ -#define UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTJSON 15332 /* Object */ -#define UA_NS0ID_SETTRIGGERINGRESPONSE_ENCODING_DEFAULTJSON 15333 /* Object */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_RESOURCEURI 15334 /* Variable */ -#define UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTJSON 15335 /* Object */ -#define UA_NS0ID_DELETEMONITOREDITEMSRESPONSE_ENCODING_DEFAULTJSON 15336 /* Object */ -#define UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTJSON 15337 /* Object */ -#define UA_NS0ID_CREATESUBSCRIPTIONRESPONSE_ENCODING_DEFAULTJSON 15338 /* Object */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTJSON 15339 /* Object */ -#define UA_NS0ID_MODIFYSUBSCRIPTIONRESPONSE_ENCODING_DEFAULTJSON 15340 /* Object */ -#define UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTJSON 15341 /* Object */ -#define UA_NS0ID_SETPUBLISHINGMODERESPONSE_ENCODING_DEFAULTJSON 15342 /* Object */ -#define UA_NS0ID_NOTIFICATIONMESSAGE_ENCODING_DEFAULTJSON 15343 /* Object */ -#define UA_NS0ID_NOTIFICATIONDATA_ENCODING_DEFAULTJSON 15344 /* Object */ -#define UA_NS0ID_DATACHANGENOTIFICATION_ENCODING_DEFAULTJSON 15345 /* Object */ -#define UA_NS0ID_MONITOREDITEMNOTIFICATION_ENCODING_DEFAULTJSON 15346 /* Object */ -#define UA_NS0ID_EVENTNOTIFICATIONLIST_ENCODING_DEFAULTJSON 15347 /* Object */ -#define UA_NS0ID_EVENTFIELDLIST_ENCODING_DEFAULTJSON 15348 /* Object */ -#define UA_NS0ID_HISTORYEVENTFIELDLIST_ENCODING_DEFAULTJSON 15349 /* Object */ -#define UA_NS0ID_STATUSCHANGENOTIFICATION_ENCODING_DEFAULTJSON 15350 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONACKNOWLEDGEMENT_ENCODING_DEFAULTJSON 15351 /* Object */ -#define UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTJSON 15352 /* Object */ -#define UA_NS0ID_PUBLISHRESPONSE_ENCODING_DEFAULTJSON 15353 /* Object */ -#define UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTJSON 15354 /* Object */ -#define UA_NS0ID_REPUBLISHRESPONSE_ENCODING_DEFAULTJSON 15355 /* Object */ -#define UA_NS0ID_TRANSFERRESULT_ENCODING_DEFAULTJSON 15356 /* Object */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTJSON 15357 /* Object */ -#define UA_NS0ID_TRANSFERSUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTJSON 15358 /* Object */ -#define UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTJSON 15359 /* Object */ -#define UA_NS0ID_DELETESUBSCRIPTIONSRESPONSE_ENCODING_DEFAULTJSON 15360 /* Object */ -#define UA_NS0ID_BUILDINFO_ENCODING_DEFAULTJSON 15361 /* Object */ -#define UA_NS0ID_REDUNDANTSERVERDATATYPE_ENCODING_DEFAULTJSON 15362 /* Object */ -#define UA_NS0ID_ENDPOINTURLLISTDATATYPE_ENCODING_DEFAULTJSON 15363 /* Object */ -#define UA_NS0ID_NETWORKGROUPDATATYPE_ENCODING_DEFAULTJSON 15364 /* Object */ -#define UA_NS0ID_SAMPLINGINTERVALDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15365 /* Object */ -#define UA_NS0ID_SERVERDIAGNOSTICSSUMMARYDATATYPE_ENCODING_DEFAULTJSON 15366 /* Object */ -#define UA_NS0ID_SERVERSTATUSDATATYPE_ENCODING_DEFAULTJSON 15367 /* Object */ -#define UA_NS0ID_SESSIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15368 /* Object */ -#define UA_NS0ID_SESSIONSECURITYDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15369 /* Object */ -#define UA_NS0ID_SERVICECOUNTERDATATYPE_ENCODING_DEFAULTJSON 15370 /* Object */ -#define UA_NS0ID_STATUSRESULT_ENCODING_DEFAULTJSON 15371 /* Object */ -#define UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSDATATYPE_ENCODING_DEFAULTJSON 15372 /* Object */ -#define UA_NS0ID_MODELCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTJSON 15373 /* Object */ -#define UA_NS0ID_SEMANTICCHANGESTRUCTUREDATATYPE_ENCODING_DEFAULTJSON 15374 /* Object */ -#define UA_NS0ID_RANGE_ENCODING_DEFAULTJSON 15375 /* Object */ -#define UA_NS0ID_EUINFORMATION_ENCODING_DEFAULTJSON 15376 /* Object */ -#define UA_NS0ID_COMPLEXNUMBERTYPE_ENCODING_DEFAULTJSON 15377 /* Object */ -#define UA_NS0ID_DOUBLECOMPLEXNUMBERTYPE_ENCODING_DEFAULTJSON 15378 /* Object */ -#define UA_NS0ID_AXISINFORMATION_ENCODING_DEFAULTJSON 15379 /* Object */ -#define UA_NS0ID_XVTYPE_ENCODING_DEFAULTJSON 15380 /* Object */ -#define UA_NS0ID_PROGRAMDIAGNOSTICDATATYPE_ENCODING_DEFAULTJSON 15381 /* Object */ -#define UA_NS0ID_ANNOTATION_ENCODING_DEFAULTJSON 15382 /* Object */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE 15383 /* VariableType */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_CREATESESSIONID 15384 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_CREATECLIENTNAME 15385 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_INVOCATIONCREATIONTIME 15386 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTTRANSITIONTIME 15387 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODCALL 15388 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODSESSIONID 15389 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODINPUTARGUMENTS 15390 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODOUTPUTARGUMENTS 15391 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODINPUTVALUES 15392 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODOUTPUTVALUES 15393 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODCALLTIME 15394 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2TYPE_LASTMETHODRETURNSTATUS 15395 /* Variable */ -#define UA_NS0ID_ACCESSLEVELEXTYPE 15406 /* DataType */ -#define UA_NS0ID_ACCESSLEVELEXTYPE_OPTIONSETVALUES 15407 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_APPLICATIONSEXCLUDE 15408 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ENDPOINTSEXCLUDE 15409 /* Variable */ -#define UA_NS0ID_ROLETYPE_APPLICATIONSEXCLUDE 15410 /* Variable */ -#define UA_NS0ID_ROLETYPE_ENDPOINTSEXCLUDE 15411 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_APPLICATIONSEXCLUDE 15412 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ENDPOINTSEXCLUDE 15413 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_APPLICATIONSEXCLUDE 15414 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ENDPOINTSEXCLUDE 15415 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_APPLICATIONSEXCLUDE 15416 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ENDPOINTSEXCLUDE 15417 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_APPLICATIONSEXCLUDE 15418 /* Variable */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_AUTHENTICATIONPROFILEURI 15419 /* Variable */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_REQUESTEDDELIVERYGUARANTEE 15420 /* Variable */ -#define UA_NS0ID_SIMPLETYPEDESCRIPTION_ENCODING_DEFAULTBINARY 15421 /* Object */ -#define UA_NS0ID_UABINARYFILEDATATYPE_ENCODING_DEFAULTBINARY 15422 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ENDPOINTSEXCLUDE 15423 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_APPLICATIONSEXCLUDE 15424 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ENDPOINTSEXCLUDE 15425 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_APPLICATIONSEXCLUDE 15426 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ENDPOINTSEXCLUDE 15427 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_APPLICATIONSEXCLUDE 15428 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ENDPOINTSEXCLUDE 15429 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_APPLICATIONSEXCLUDE 15430 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYGROUP 15431 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYGROUP_INPUTARGUMENTS 15432 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_GETSECURITYGROUP_OUTPUTARGUMENTS 15433 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS 15434 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUP 15435 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 15436 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 15437 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUP 15438 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 15439 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYGROUP 15440 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYGROUP_INPUTARGUMENTS 15441 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYGROUP_OUTPUTARGUMENTS 15442 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS 15443 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUP 15444 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 15445 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 15446 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUP 15447 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 15448 /* Variable */ -#define UA_NS0ID_GETSECURITYGROUPMETHODTYPE 15449 /* Method */ -#define UA_NS0ID_GETSECURITYGROUPMETHODTYPE_INPUTARGUMENTS 15450 /* Variable */ -#define UA_NS0ID_GETSECURITYGROUPMETHODTYPE_OUTPUTARGUMENTS 15451 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE 15452 /* ObjectType */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER 15453 /* Object */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUP 15454 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUP_INPUTARGUMENTS 15455 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUP_OUTPUTARGUMENTS 15456 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUP 15457 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUP_INPUTARGUMENTS 15458 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER 15459 /* Object */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYGROUPID 15460 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUP 15461 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUP_INPUTARGUMENTS 15462 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUP_OUTPUTARGUMENTS 15463 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUP 15464 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUP_INPUTARGUMENTS 15465 /* Variable */ -#define UA_NS0ID_ADDSECURITYGROUPMETHODTYPE 15466 /* Method */ -#define UA_NS0ID_ADDSECURITYGROUPMETHODTYPE_INPUTARGUMENTS 15467 /* Variable */ -#define UA_NS0ID_ADDSECURITYGROUPMETHODTYPE_OUTPUTARGUMENTS 15468 /* Variable */ -#define UA_NS0ID_REMOVESECURITYGROUPMETHODTYPE 15469 /* Method */ -#define UA_NS0ID_REMOVESECURITYGROUPMETHODTYPE_INPUTARGUMENTS 15470 /* Variable */ -#define UA_NS0ID_SECURITYGROUPTYPE 15471 /* ObjectType */ -#define UA_NS0ID_SECURITYGROUPTYPE_SECURITYGROUPID 15472 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS 15473 /* Object */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15474 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15475 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15476 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15477 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15478 /* Variable */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15479 /* Object */ -#define UA_NS0ID_WRITERGROUPDATATYPE 15480 /* DataType */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS 15481 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15482 /* Method */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15483 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15484 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15485 /* Method */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15486 /* Variable */ -#define UA_NS0ID_STRUCTUREDESCRIPTION 15487 /* DataType */ -#define UA_NS0ID_ENUMDESCRIPTION 15488 /* DataType */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE 15489 /* ObjectType */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE_EXTENSIONFIELDNAME_PLACEHOLDER 15490 /* Variable */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE_ADDEXTENSIONFIELD 15491 /* Method */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE_ADDEXTENSIONFIELD_INPUTARGUMENTS 15492 /* Variable */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15493 /* Variable */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE_REMOVEEXTENSIONFIELD 15494 /* Method */ -#define UA_NS0ID_EXTENSIONFIELDSTYPE_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15495 /* Variable */ -#define UA_NS0ID_ADDEXTENSIONFIELDMETHODTYPE 15496 /* Method */ -#define UA_NS0ID_ADDEXTENSIONFIELDMETHODTYPE_INPUTARGUMENTS 15497 /* Variable */ -#define UA_NS0ID_ADDEXTENSIONFIELDMETHODTYPE_OUTPUTARGUMENTS 15498 /* Variable */ -#define UA_NS0ID_REMOVEEXTENSIONFIELDMETHODTYPE 15499 /* Method */ -#define UA_NS0ID_REMOVEEXTENSIONFIELDMETHODTYPE_INPUTARGUMENTS 15500 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLETYPEDESCRIPTION 15501 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSDATATYPE 15502 /* DataType */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS 15503 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15504 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15505 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15506 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15507 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15508 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLETYPEDESCRIPTION_DATATYPEVERSION 15509 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSURLDATATYPE 15510 /* DataType */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS 15511 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD 15512 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_INPUTARGUMENTS 15513 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_ADDEXTENSIONFIELD_OUTPUTARGUMENTS 15514 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD 15515 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_EXTENSIONFIELDS_REMOVEEXTENSIONFIELD_INPUTARGUMENTS 15516 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_MODIFYFIELDSELECTION_OUTPUTARGUMENTS 15517 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPEMODIFYFIELDSELECTIONMETHODTYPE_OUTPUTARGUMENTS 15518 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SIMPLETYPEDESCRIPTION_DICTIONARYFRAGMENT 15519 /* Variable */ -#define UA_NS0ID_READERGROUPDATATYPE 15520 /* DataType */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UABINARYFILEDATATYPE 15521 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UABINARYFILEDATATYPE_DATATYPEVERSION 15522 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UABINARYFILEDATATYPE_DICTIONARYFRAGMENT 15523 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE 15524 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 15525 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15526 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ENDPOINTSEXCLUDE 15527 /* Variable */ -#define UA_NS0ID_ENDPOINTTYPE 15528 /* DataType */ -#define UA_NS0ID_SIMPLETYPEDESCRIPTION_ENCODING_DEFAULTXML 15529 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE 15530 /* DataType */ -#define UA_NS0ID_UABINARYFILEDATATYPE_ENCODING_DEFAULTXML 15531 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 15532 /* DataType */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE 15533 /* Variable */ -#define UA_NS0ID_DATATYPESCHEMAHEADER 15534 /* DataType */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE 15535 /* ObjectType */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_EVENTID 15536 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_EVENTTYPE 15537 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_SOURCENODE 15538 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_SOURCENAME 15539 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_TIME 15540 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_RECEIVETIME 15541 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_LOCALTIME 15542 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_MESSAGE 15543 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_SEVERITY 15544 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONNECTIONID 15545 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_GROUPID 15546 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_STATE 15547 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE 15548 /* ObjectType */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_EVENTID 15549 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_EVENTTYPE 15550 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_SOURCENODE 15551 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_SOURCENAME 15552 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_TIME 15553 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_RECEIVETIME 15554 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_LOCALTIME 15555 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_MESSAGE 15556 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_SEVERITY 15557 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONNECTIONID 15558 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_GROUPID 15559 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_STATE 15560 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_ACTUAL 15561 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_MAXIMUM 15562 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE 15563 /* ObjectType */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_EVENTID 15564 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_EVENTTYPE 15565 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_SOURCENODE 15566 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_SOURCENAME 15567 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_TIME 15568 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_RECEIVETIME 15569 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_LOCALTIME 15570 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_MESSAGE 15571 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_SEVERITY 15572 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONNECTIONID 15573 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_GROUPID 15574 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_STATE 15575 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_ERROR 15576 /* Variable */ -#define UA_NS0ID_DATASETFIELDFLAGS_OPTIONSETVALUES 15577 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETDATATYPE 15578 /* DataType */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15579 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE 15580 /* DataType */ -#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE 15581 /* DataType */ -#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE 15582 /* DataType */ -#define UA_NS0ID_DATASETFIELDCONTENTMASK 15583 /* DataType */ -#define UA_NS0ID_DATASETFIELDCONTENTMASK_OPTIONSETVALUES 15584 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLETYPEDESCRIPTION 15585 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLETYPEDESCRIPTION_DATATYPEVERSION 15586 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SIMPLETYPEDESCRIPTION_DICTIONARYFRAGMENT 15587 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UABINARYFILEDATATYPE 15588 /* Variable */ -#define UA_NS0ID_STRUCTUREDESCRIPTION_ENCODING_DEFAULTXML 15589 /* Object */ -#define UA_NS0ID_ENUMDESCRIPTION_ENCODING_DEFAULTXML 15590 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDESCRIPTION 15591 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDESCRIPTION_DATATYPEVERSION 15592 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDESCRIPTION_DICTIONARYFRAGMENT 15593 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDESCRIPTION 15594 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDESCRIPTION_DATATYPEVERSION 15595 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDESCRIPTION_DICTIONARYFRAGMENT 15596 /* Variable */ -#define UA_NS0ID_DATASETWRITERDATATYPE 15597 /* DataType */ -#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE 15598 /* DataType */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDESCRIPTION 15599 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDESCRIPTION_DATATYPEVERSION 15600 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDESCRIPTION_DICTIONARYFRAGMENT 15601 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDESCRIPTION 15602 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDESCRIPTION_DATATYPEVERSION 15603 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDESCRIPTION_DICTIONARYFRAGMENT 15604 /* Variable */ -#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE 15605 /* DataType */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET 15606 /* Object */ -#define UA_NS0ID_ROLESETTYPE 15607 /* ObjectType */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER 15608 /* Object */ -#define UA_NS0ID_PUBSUBGROUPDATATYPE 15609 /* DataType */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UABINARYFILEDATATYPE_DATATYPEVERSION 15610 /* Variable */ -#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE 15611 /* DataType */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDIDENTITY 15612 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDIDENTITY_INPUTARGUMENTS 15613 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEIDENTITY 15614 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEIDENTITY_INPUTARGUMENTS 15615 /* Variable */ -#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE 15616 /* DataType */ -#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE 15617 /* DataType */ -#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE 15618 /* DataType */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UABINARYFILEDATATYPE_DICTIONARYFRAGMENT 15619 /* Variable */ -#define UA_NS0ID_ROLETYPE 15620 /* ObjectType */ -#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE 15621 /* DataType */ -#define UA_NS0ID_READERGROUPMESSAGEDATATYPE 15622 /* DataType */ -#define UA_NS0ID_DATASETREADERDATATYPE 15623 /* DataType */ -#define UA_NS0ID_ROLETYPE_ADDIDENTITY 15624 /* Method */ -#define UA_NS0ID_ROLETYPE_ADDIDENTITY_INPUTARGUMENTS 15625 /* Variable */ -#define UA_NS0ID_ROLETYPE_REMOVEIDENTITY 15626 /* Method */ -#define UA_NS0ID_ROLETYPE_REMOVEIDENTITY_INPUTARGUMENTS 15627 /* Variable */ -#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE 15628 /* DataType */ -#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE 15629 /* DataType */ -#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE 15630 /* DataType */ -#define UA_NS0ID_TARGETVARIABLESDATATYPE 15631 /* DataType */ -#define UA_NS0ID_IDENTITYCRITERIATYPE 15632 /* DataType */ -#define UA_NS0ID_IDENTITYCRITERIATYPE_ENUMVALUES 15633 /* Variable */ -#define UA_NS0ID_IDENTITYMAPPINGRULETYPE 15634 /* DataType */ -#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE 15635 /* DataType */ -#define UA_NS0ID_ADDIDENTITYMETHODTYPE 15636 /* Method */ -#define UA_NS0ID_ADDIDENTITYMETHODTYPE_INPUTARGUMENTS 15637 /* Variable */ -#define UA_NS0ID_REMOVEIDENTITYMETHODTYPE 15638 /* Method */ -#define UA_NS0ID_REMOVEIDENTITYMETHODTYPE_INPUTARGUMENTS 15639 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE 15640 /* Variable */ -#define UA_NS0ID_DATASETORDERINGTYPE_ENUMSTRINGS 15641 /* Variable */ -#define UA_NS0ID_UADPNETWORKMESSAGECONTENTMASK 15642 /* DataType */ -#define UA_NS0ID_UADPNETWORKMESSAGECONTENTMASK_OPTIONSETVALUES 15643 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS 15644 /* Object */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE 15645 /* DataType */ -#define UA_NS0ID_UADPDATASETMESSAGECONTENTMASK 15646 /* DataType */ -#define UA_NS0ID_UADPDATASETMESSAGECONTENTMASK_OPTIONSETVALUES 15647 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDIDENTITY 15648 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDIDENTITY_INPUTARGUMENTS 15649 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEIDENTITY 15650 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEIDENTITY_INPUTARGUMENTS 15651 /* Variable */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE 15652 /* DataType */ -#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE 15653 /* DataType */ -#define UA_NS0ID_JSONNETWORKMESSAGECONTENTMASK 15654 /* DataType */ -#define UA_NS0ID_JSONNETWORKMESSAGECONTENTMASK_OPTIONSETVALUES 15655 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER 15656 /* Object */ -#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE 15657 /* DataType */ -#define UA_NS0ID_JSONDATASETMESSAGECONTENTMASK 15658 /* DataType */ -#define UA_NS0ID_JSONDATASETMESSAGECONTENTMASK_OPTIONSETVALUES 15659 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDIDENTITY 15660 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDIDENTITY_INPUTARGUMENTS 15661 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEIDENTITY 15662 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEIDENTITY_INPUTARGUMENTS 15663 /* Variable */ -#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE 15664 /* DataType */ -#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE 15665 /* DataType */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 15666 /* Variable */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE 15667 /* DataType */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER 15668 /* Object */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE 15669 /* DataType */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE 15670 /* DataType */ -#define UA_NS0ID_ENDPOINTTYPE_ENCODING_DEFAULTBINARY 15671 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDIDENTITY 15672 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDIDENTITY_INPUTARGUMENTS 15673 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEIDENTITY 15674 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEIDENTITY_INPUTARGUMENTS 15675 /* Variable */ -#define UA_NS0ID_DATATYPESCHEMAHEADER_ENCODING_DEFAULTBINARY 15676 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETDATATYPE_ENCODING_DEFAULTBINARY 15677 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE_ENCODING_DEFAULTBINARY 15678 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE_ENCODING_DEFAULTBINARY 15679 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR 15680 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE_ENCODING_DEFAULTBINARY 15681 /* Object */ -#define UA_NS0ID_DATASETWRITERDATATYPE_ENCODING_DEFAULTBINARY 15682 /* Object */ -#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15683 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDIDENTITY 15684 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDIDENTITY_INPUTARGUMENTS 15685 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEIDENTITY 15686 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEIDENTITY_INPUTARGUMENTS 15687 /* Variable */ -#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15688 /* Object */ -#define UA_NS0ID_PUBSUBGROUPDATATYPE_ENCODING_DEFAULTBINARY 15689 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15690 /* Variable */ -#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15691 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR 15692 /* Object */ -#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15693 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE_ENCODING_DEFAULTBINARY 15694 /* Object */ -#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15695 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDIDENTITY 15696 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDIDENTITY_INPUTARGUMENTS 15697 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEIDENTITY 15698 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEIDENTITY_INPUTARGUMENTS 15699 /* Variable */ -#define UA_NS0ID_SIMPLETYPEDESCRIPTION_ENCODING_DEFAULTJSON 15700 /* Object */ -#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15701 /* Object */ -#define UA_NS0ID_READERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15702 /* Object */ -#define UA_NS0ID_DATASETREADERDATATYPE_ENCODING_DEFAULTBINARY 15703 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN 15704 /* Object */ -#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15705 /* Object */ -#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15706 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTBINARY 15707 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDIDENTITY 15708 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDIDENTITY_INPUTARGUMENTS 15709 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEIDENTITY 15710 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEIDENTITY_INPUTARGUMENTS 15711 /* Variable */ -#define UA_NS0ID_TARGETVARIABLESDATATYPE_ENCODING_DEFAULTBINARY 15712 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE_ENCODING_DEFAULTBINARY 15713 /* Object */ -#define UA_NS0ID_UABINARYFILEDATATYPE_ENCODING_DEFAULTJSON 15714 /* Object */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15715 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN 15716 /* Object */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15717 /* Object */ -#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15718 /* Object */ -#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15719 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDIDENTITY 15720 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDIDENTITY_INPUTARGUMENTS 15721 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEIDENTITY 15722 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEIDENTITY_INPUTARGUMENTS 15723 /* Variable */ -#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15724 /* Object */ -#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTBINARY 15725 /* Object */ -#define UA_NS0ID_BROKERCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 15726 /* Object */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15727 /* Object */ -#define UA_NS0ID_IDENTITYMAPPINGRULETYPE_ENCODING_DEFAULTXML 15728 /* Object */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15729 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_IDENTITYMAPPINGRULETYPE 15730 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_IDENTITYMAPPINGRULETYPE_DATATYPEVERSION 15731 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_IDENTITYMAPPINGRULETYPE_DICTIONARYFRAGMENT 15732 /* Variable */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 15733 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTTYPE 15734 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTTYPE_DATATYPEVERSION 15735 /* Variable */ -#define UA_NS0ID_IDENTITYMAPPINGRULETYPE_ENCODING_DEFAULTBINARY 15736 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENDPOINTTYPE_DICTIONARYFRAGMENT 15737 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_IDENTITYMAPPINGRULETYPE 15738 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_IDENTITYMAPPINGRULETYPE_DATATYPEVERSION 15739 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_IDENTITYMAPPINGRULETYPE_DICTIONARYFRAGMENT 15740 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPESCHEMAHEADER 15741 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPESCHEMAHEADER_DATATYPEVERSION 15742 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPESCHEMAHEADER_DICTIONARYFRAGMENT 15743 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE 15744 /* ObjectType */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLIENTPROCESSINGTIMEOUT 15745 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORREAD 15746 /* Method */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORREAD_INPUTARGUMENTS 15747 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORREAD_OUTPUTARGUMENTS 15748 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORWRITE 15749 /* Method */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORWRITE_OUTPUTARGUMENTS 15750 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLOSEANDCOMMIT 15751 /* Method */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLOSEANDCOMMIT_INPUTARGUMENTS 15752 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_CLOSEANDCOMMIT_OUTPUTARGUMENTS 15753 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER 15754 /* Object */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE 15755 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_ID 15756 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_NAME 15757 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_NUMBER 15758 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_CURRENTSTATE_EFFECTIVEDISPLAYNAME 15759 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION 15760 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_ID 15761 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_NAME 15762 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_NUMBER 15763 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_TRANSITIONTIME 15764 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_LASTTRANSITION_EFFECTIVETRANSITIONTIME 15765 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETDATATYPE 15766 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETDATATYPE_DATATYPEVERSION 15767 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETDATATYPE_DICTIONARYFRAGMENT 15768 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE 15769 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DATATYPEVERSION 15770 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DICTIONARYFRAGMENT 15771 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATAITEMSDATATYPE 15772 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DATATYPEVERSION 15773 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DICTIONARYFRAGMENT 15774 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDEVENTSDATATYPE 15775 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDEVENTSDATATYPE_DATATYPEVERSION 15776 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDEVENTSDATATYPE_DICTIONARYFRAGMENT 15777 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERDATATYPE 15778 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERDATATYPE_DATATYPEVERSION 15779 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERDATATYPE_DICTIONARYFRAGMENT 15780 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERTRANSPORTDATATYPE 15781 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 15782 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15783 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERMESSAGEDATATYPE 15784 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 15785 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15786 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBGROUPDATATYPE 15787 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBGROUPDATATYPE_DATATYPEVERSION 15788 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBGROUPDATATYPE_DICTIONARYFRAGMENT 15789 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER 15790 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_PUBLISHERID 15791 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI 15792 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPTRANSPORTDATATYPE 15793 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_RESET 15794 /* Method */ -#define UA_NS0ID_GENERATEFILEFORREADMETHODTYPE 15795 /* Method */ -#define UA_NS0ID_GENERATEFILEFORREADMETHODTYPE_INPUTARGUMENTS 15796 /* Variable */ -#define UA_NS0ID_GENERATEFILEFORREADMETHODTYPE_OUTPUTARGUMENTS 15797 /* Variable */ -#define UA_NS0ID_GENERATEFILEFORWRITEMETHODTYPE 15798 /* Method */ -#define UA_NS0ID_GENERATEFILEFORWRITEMETHODTYPE_OUTPUTARGUMENTS 15799 /* Variable */ -#define UA_NS0ID_CLOSEANDCOMMITMETHODTYPE 15800 /* Method */ -#define UA_NS0ID_CLOSEANDCOMMITMETHODTYPE_INPUTARGUMENTS 15801 /* Variable */ -#define UA_NS0ID_CLOSEANDCOMMITMETHODTYPE_OUTPUTARGUMENTS 15802 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE 15803 /* ObjectType */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE 15804 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_ID 15805 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_NAME 15806 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_NUMBER 15807 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 15808 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION 15809 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_ID 15810 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_NAME 15811 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_NUMBER 15812 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_TRANSITIONTIME 15813 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 15814 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLE 15815 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLE_STATENUMBER 15816 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARE 15817 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARE_STATENUMBER 15818 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFER 15819 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFER_STATENUMBER 15820 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITE 15821 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITE_STATENUMBER 15822 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERROR 15823 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERROR_STATENUMBER 15824 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOREADPREPARE 15825 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOREADPREPARE_TRANSITIONNUMBER 15826 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOREADTRANSFER 15827 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOREADTRANSFER_TRANSITIONNUMBER 15828 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOIDLE 15829 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOIDLE_TRANSITIONNUMBER 15830 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOAPPLYWRITE 15831 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_IDLETOAPPLYWRITE_TRANSITIONNUMBER 15832 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOIDLE 15833 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOIDLE_TRANSITIONNUMBER 15834 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOERROR 15835 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READPREPARETOERROR_TRANSITIONNUMBER 15836 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOERROR 15837 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_READTRANSFERTOERROR_TRANSITIONNUMBER 15838 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOERROR 15839 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_APPLYWRITETOERROR_TRANSITIONNUMBER 15840 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERRORTOIDLE 15841 /* Object */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_ERRORTOIDLE_TRANSITIONNUMBER 15842 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_RESET 15843 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS 15844 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS_STATE 15845 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS_ENABLE 15846 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_STATUS_DISABLE 15847 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONS 15848 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 15849 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_RESTRICTTOLIST 15850 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS 15851 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 15852 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15853 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPMESSAGEDATATYPE 15854 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15855 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15856 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONNECTIONDATATYPE 15857 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONNECTIONDATATYPE_DATATYPEVERSION 15858 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONNECTIONDATATYPE_DICTIONARYFRAGMENT 15859 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONNECTIONTRANSPORTDATATYPE 15860 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 15861 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15862 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE 15863 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTSETTINGS 15864 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS 15865 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPTRANSPORTDATATYPE 15866 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 15867 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15868 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPMESSAGEDATATYPE 15869 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15870 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15871 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERDATATYPE 15872 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERDATATYPE_DATATYPEVERSION 15873 /* Variable */ -#define UA_NS0ID_OVERRIDEVALUEHANDLING 15874 /* DataType */ -#define UA_NS0ID_OVERRIDEVALUEHANDLING_ENUMSTRINGS 15875 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERDATATYPE_DICTIONARYFRAGMENT 15876 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERTRANSPORTDATATYPE 15877 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 15878 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15879 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERMESSAGEDATATYPE 15880 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 15881 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15882 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETDATATYPE 15883 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 15884 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 15885 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TARGETVARIABLESDATATYPE 15886 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TARGETVARIABLESDATATYPE_DATATYPEVERSION 15887 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TARGETVARIABLESDATATYPE_DICTIONARYFRAGMENT 15888 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE 15889 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DATATYPEVERSION 15890 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DICTIONARYFRAGMENT 15891 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS_STATE 15892 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS_ENABLE 15893 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_STATUS_DISABLE 15894 /* Method */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE 15895 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15896 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15897 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE 15898 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 15899 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15900 /* Variable */ -#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE 15901 /* DataType */ -#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE_ENCODING_DEFAULTXML 15902 /* Object */ -#define UA_NS0ID_SESSIONLESSINVOKEREQUESTTYPE_ENCODING_DEFAULTBINARY 15903 /* Object */ -#define UA_NS0ID_DATASETFIELDFLAGS 15904 /* DataType */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTSETTINGS 15905 /* Object */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE 15906 /* ObjectType */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYKEYS 15907 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYKEYS_INPUTARGUMENTS 15908 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYKEYS_OUTPUTARGUMENTS 15909 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYGROUP 15910 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYGROUP_INPUTARGUMENTS 15911 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_GETSECURITYGROUP_OUTPUTARGUMENTS 15912 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS 15913 /* Object */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUP 15914 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 15915 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 15916 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUP 15917 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 15918 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETREADERMESSAGEDATATYPE 15919 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 15920 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15921 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE 15922 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 15923 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 15924 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE 15925 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE_SECURITYMODE 15926 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE_SECURITYGROUPID 15927 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE_SECURITYKEYSERVICES 15928 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 15929 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15930 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETREADERMESSAGEDATATYPE 15931 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_SECURITYMODE 15932 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_SECURITYGROUPID 15933 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_SECURITYKEYSERVICES 15934 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 15935 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 15936 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS 15937 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 15938 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 15939 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE 15940 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 15941 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15942 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE 15943 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 15944 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15945 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE 15946 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 15947 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 15948 /* Variable */ -#define UA_NS0ID_ENDPOINTTYPE_ENCODING_DEFAULTXML 15949 /* Object */ -#define UA_NS0ID_DATATYPESCHEMAHEADER_ENCODING_DEFAULTXML 15950 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETDATATYPE_ENCODING_DEFAULTXML 15951 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE_ENCODING_DEFAULTXML 15952 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE_ENCODING_DEFAULTXML 15953 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE_ENCODING_DEFAULTXML 15954 /* Object */ -#define UA_NS0ID_DATASETWRITERDATATYPE_ENCODING_DEFAULTXML 15955 /* Object */ -#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15956 /* Object */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA 15957 /* Object */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEURI 15958 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEVERSION 15959 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEPUBLICATIONDATE 15960 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_ISNAMESPACESUBSET 15961 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_STATICNODEIDTYPES 15962 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_STATICNUMERICNODEIDRANGE 15963 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_STATICSTRINGNODEIDPATTERN 15964 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE 15965 /* Object */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_SIZE 15966 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_WRITABLE 15967 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_USERWRITABLE 15968 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPENCOUNT 15969 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_MIMETYPE 15970 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPEN 15971 /* Method */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPEN_INPUTARGUMENTS 15972 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_OPEN_OUTPUTARGUMENTS 15973 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_CLOSE 15974 /* Method */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_CLOSE_INPUTARGUMENTS 15975 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_READ 15976 /* Method */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_READ_INPUTARGUMENTS 15977 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_READ_OUTPUTARGUMENTS 15978 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_WRITE 15979 /* Method */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_WRITE_INPUTARGUMENTS 15980 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_GETPOSITION 15981 /* Method */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_GETPOSITION_INPUTARGUMENTS 15982 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_GETPOSITION_OUTPUTARGUMENTS 15983 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_SETPOSITION 15984 /* Method */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_SETPOSITION_INPUTARGUMENTS 15985 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_EXPORTNAMESPACE 15986 /* Method */ -#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTXML 15987 /* Object */ -#define UA_NS0ID_PUBSUBGROUPDATATYPE_ENCODING_DEFAULTXML 15988 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 15989 /* Variable */ -#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15990 /* Object */ -#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 15991 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE_ENCODING_DEFAULTXML 15992 /* Object */ -#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15993 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 15994 /* Variable */ -#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 15995 /* Object */ -#define UA_NS0ID_READERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 15996 /* Object */ -#define UA_NS0ID_ROLESETTYPE_ADDROLE 15997 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ADDROLE_INPUTARGUMENTS 15998 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ADDROLE_OUTPUTARGUMENTS 15999 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_REMOVEROLE 16000 /* Method */ -#define UA_NS0ID_ROLESETTYPE_REMOVEROLE_INPUTARGUMENTS 16001 /* Variable */ -#define UA_NS0ID_ADDROLEMETHODTYPE 16002 /* Method */ -#define UA_NS0ID_ADDROLEMETHODTYPE_INPUTARGUMENTS 16003 /* Variable */ -#define UA_NS0ID_ADDROLEMETHODTYPE_OUTPUTARGUMENTS 16004 /* Variable */ -#define UA_NS0ID_REMOVEROLEMETHODTYPE 16005 /* Method */ -#define UA_NS0ID_REMOVEROLEMETHODTYPE_INPUTARGUMENTS 16006 /* Variable */ -#define UA_NS0ID_DATASETREADERDATATYPE_ENCODING_DEFAULTXML 16007 /* Object */ -#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16008 /* Object */ -#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16009 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTXML 16010 /* Object */ -#define UA_NS0ID_TARGETVARIABLESDATATYPE_ENCODING_DEFAULTXML 16011 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE_ENCODING_DEFAULTXML 16012 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 16013 /* Variable */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 16014 /* Object */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16015 /* Object */ -#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16016 /* Object */ -#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTXML 16017 /* Object */ -#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16018 /* Object */ -#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTXML 16019 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 16020 /* Variable */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16021 /* Object */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16022 /* Object */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 16023 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTTYPE 16024 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTTYPE_DATATYPEVERSION 16025 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENDPOINTTYPE_DICTIONARYFRAGMENT 16026 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPESCHEMAHEADER 16027 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPESCHEMAHEADER_DATATYPEVERSION 16028 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPESCHEMAHEADER_DICTIONARYFRAGMENT 16029 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETDATATYPE 16030 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETDATATYPE_DATATYPEVERSION 16031 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETDATATYPE_DICTIONARYFRAGMENT 16032 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE 16033 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DATATYPEVERSION 16034 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETSOURCEDATATYPE_DICTIONARYFRAGMENT 16035 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER 16036 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATAITEMSDATATYPE 16037 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DATATYPEVERSION 16038 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATAITEMSDATATYPE_DICTIONARYFRAGMENT 16039 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDEVENTSDATATYPE 16040 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDIDENTITY 16041 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDIDENTITY_INPUTARGUMENTS 16042 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEIDENTITY 16043 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEIDENTITY_INPUTARGUMENTS 16044 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDEVENTSDATATYPE_DATATYPEVERSION 16045 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDEVENTSDATATYPE_DICTIONARYFRAGMENT 16046 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERDATATYPE 16047 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERDATATYPE_DATATYPEVERSION 16048 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERDATATYPE_DICTIONARYFRAGMENT 16049 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERTRANSPORTDATATYPE 16050 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 16051 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16052 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERMESSAGEDATATYPE 16053 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 16054 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16055 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBGROUPDATATYPE 16056 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBGROUPDATATYPE_DATATYPEVERSION 16057 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBGROUPDATATYPE_DICTIONARYFRAGMENT 16058 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 16059 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 16060 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 16061 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPTRANSPORTDATATYPE 16062 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 16063 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16064 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPMESSAGEDATATYPE 16065 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16066 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16067 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONNECTIONDATATYPE 16068 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONNECTIONDATATYPE_DATATYPEVERSION 16069 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONNECTIONDATATYPE_DICTIONARYFRAGMENT 16070 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONNECTIONTRANSPORTDATATYPE 16071 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 16072 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16073 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 16074 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 16075 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_RESET 16076 /* Method */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPTRANSPORTDATATYPE 16077 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 16078 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16079 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPMESSAGEDATATYPE 16080 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16081 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16082 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERDATATYPE 16083 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERDATATYPE_DATATYPEVERSION 16084 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERDATATYPE_DICTIONARYFRAGMENT 16085 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERTRANSPORTDATATYPE 16086 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 16087 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16088 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERMESSAGEDATATYPE 16089 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 16090 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16091 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETDATATYPE 16092 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 16093 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 16094 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TARGETVARIABLESDATATYPE 16095 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TARGETVARIABLESDATATYPE_DATATYPEVERSION 16096 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TARGETVARIABLESDATATYPE_DICTIONARYFRAGMENT 16097 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE 16098 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DATATYPEVERSION 16099 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SUBSCRIBEDDATASETMIRRORDATATYPE_DICTIONARYFRAGMENT 16100 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 16101 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 16102 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 16103 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE 16104 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16105 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16106 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE 16107 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 16108 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16109 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETREADERMESSAGEDATATYPE 16110 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 16111 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UADPDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16112 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE 16113 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DATATYPEVERSION 16114 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONWRITERGROUPMESSAGEDATATYPE_DICTIONARYFRAGMENT 16115 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE 16116 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DATATYPEVERSION 16117 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETWRITERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16118 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETREADERMESSAGEDATATYPE 16119 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DATATYPEVERSION 16120 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_JSONDATASETREADERMESSAGEDATATYPE_DICTIONARYFRAGMENT 16121 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 16122 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 16123 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 16124 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE 16125 /* Variable */ -#define UA_NS0ID_ROLEPERMISSIONTYPE_ENCODING_DEFAULTXML 16126 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ROLEPERMISSIONTYPE 16127 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ROLEPERMISSIONTYPE_DATATYPEVERSION 16128 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ROLEPERMISSIONTYPE_DICTIONARYFRAGMENT 16129 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 16130 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ROLEPERMISSIONTYPE 16131 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ROLEPERMISSIONTYPE_DATATYPEVERSION 16132 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ROLEPERMISSIONTYPE_DICTIONARYFRAGMENT 16133 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_DEFAULTROLEPERMISSIONS 16134 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_DEFAULTUSERROLEPERMISSIONS 16135 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_DEFAULTACCESSRESTRICTIONS 16136 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_DEFAULTROLEPERMISSIONS 16137 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_DEFAULTUSERROLEPERMISSIONS 16138 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_DEFAULTACCESSRESTRICTIONS 16139 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_DEFAULTROLEPERMISSIONS 16140 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_DEFAULTUSERROLEPERMISSIONS 16141 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_DEFAULTACCESSRESTRICTIONS 16142 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16143 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE 16144 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DATATYPEVERSION 16145 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETWRITERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16146 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE 16147 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 16148 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_BROKERDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 16149 /* Variable */ -#define UA_NS0ID_ENDPOINTTYPE_ENCODING_DEFAULTJSON 16150 /* Object */ -#define UA_NS0ID_DATATYPESCHEMAHEADER_ENCODING_DEFAULTJSON 16151 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETDATATYPE_ENCODING_DEFAULTJSON 16152 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETSOURCEDATATYPE_ENCODING_DEFAULTJSON 16153 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSDATATYPE_ENCODING_DEFAULTJSON 16154 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSDATATYPE_ENCODING_DEFAULTJSON 16155 /* Object */ -#define UA_NS0ID_DATASETWRITERDATATYPE_ENCODING_DEFAULTJSON 16156 /* Object */ -#define UA_NS0ID_DATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16157 /* Object */ -#define UA_NS0ID_DATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16158 /* Object */ -#define UA_NS0ID_PUBSUBGROUPDATATYPE_ENCODING_DEFAULTJSON 16159 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 16160 /* Variable */ -#define UA_NS0ID_WRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16161 /* Object */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_IDENTITIES 16162 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_APPLICATIONS 16163 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ENDPOINTS 16164 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDAPPLICATION 16165 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDAPPLICATION_INPUTARGUMENTS 16166 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEAPPLICATION 16167 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEAPPLICATION_INPUTARGUMENTS 16168 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDENDPOINT 16169 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_ADDENDPOINT_INPUTARGUMENTS 16170 /* Variable */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEENDPOINT 16171 /* Method */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_REMOVEENDPOINT_INPUTARGUMENTS 16172 /* Variable */ -#define UA_NS0ID_ROLETYPE_IDENTITIES 16173 /* Variable */ -#define UA_NS0ID_ROLETYPE_APPLICATIONS 16174 /* Variable */ -#define UA_NS0ID_ROLETYPE_ENDPOINTS 16175 /* Variable */ -#define UA_NS0ID_ROLETYPE_ADDAPPLICATION 16176 /* Method */ -#define UA_NS0ID_ROLETYPE_ADDAPPLICATION_INPUTARGUMENTS 16177 /* Variable */ -#define UA_NS0ID_ROLETYPE_REMOVEAPPLICATION 16178 /* Method */ -#define UA_NS0ID_ROLETYPE_REMOVEAPPLICATION_INPUTARGUMENTS 16179 /* Variable */ -#define UA_NS0ID_ROLETYPE_ADDENDPOINT 16180 /* Method */ -#define UA_NS0ID_ROLETYPE_ADDENDPOINT_INPUTARGUMENTS 16181 /* Variable */ -#define UA_NS0ID_ROLETYPE_REMOVEENDPOINT 16182 /* Method */ -#define UA_NS0ID_ROLETYPE_REMOVEENDPOINT_INPUTARGUMENTS 16183 /* Variable */ -#define UA_NS0ID_ADDAPPLICATIONMETHODTYPE 16184 /* Method */ -#define UA_NS0ID_ADDAPPLICATIONMETHODTYPE_INPUTARGUMENTS 16185 /* Variable */ -#define UA_NS0ID_REMOVEAPPLICATIONMETHODTYPE 16186 /* Method */ -#define UA_NS0ID_REMOVEAPPLICATIONMETHODTYPE_INPUTARGUMENTS 16187 /* Variable */ -#define UA_NS0ID_ADDENDPOINTMETHODTYPE 16188 /* Method */ -#define UA_NS0ID_ADDENDPOINTMETHODTYPE_INPUTARGUMENTS 16189 /* Variable */ -#define UA_NS0ID_REMOVEENDPOINTMETHODTYPE 16190 /* Method */ -#define UA_NS0ID_REMOVEENDPOINTMETHODTYPE_INPUTARGUMENTS 16191 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_IDENTITIES 16192 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_APPLICATIONS 16193 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ENDPOINTS 16194 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDAPPLICATION 16195 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDAPPLICATION_INPUTARGUMENTS 16196 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEAPPLICATION 16197 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEAPPLICATION_INPUTARGUMENTS 16198 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDENDPOINT 16199 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_ADDENDPOINT_INPUTARGUMENTS 16200 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEENDPOINT 16201 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_REMOVEENDPOINT_INPUTARGUMENTS 16202 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_IDENTITIES 16203 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_APPLICATIONS 16204 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ENDPOINTS 16205 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDAPPLICATION 16206 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDAPPLICATION_INPUTARGUMENTS 16207 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEAPPLICATION 16208 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEAPPLICATION_INPUTARGUMENTS 16209 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDENDPOINT 16210 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_ADDENDPOINT_INPUTARGUMENTS 16211 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEENDPOINT 16212 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_REMOVEENDPOINT_INPUTARGUMENTS 16213 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_IDENTITIES 16214 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_APPLICATIONS 16215 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ENDPOINTS 16216 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDAPPLICATION 16217 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDAPPLICATION_INPUTARGUMENTS 16218 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEAPPLICATION 16219 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEAPPLICATION_INPUTARGUMENTS 16220 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDENDPOINT 16221 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_ADDENDPOINT_INPUTARGUMENTS 16222 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEENDPOINT 16223 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_REMOVEENDPOINT_INPUTARGUMENTS 16224 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_IDENTITIES 16225 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_APPLICATIONS 16226 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ENDPOINTS 16227 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDAPPLICATION 16228 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDAPPLICATION_INPUTARGUMENTS 16229 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEAPPLICATION 16230 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEAPPLICATION_INPUTARGUMENTS 16231 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDENDPOINT 16232 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_ADDENDPOINT_INPUTARGUMENTS 16233 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEENDPOINT 16234 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_REMOVEENDPOINT_INPUTARGUMENTS 16235 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_IDENTITIES 16236 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_APPLICATIONS 16237 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ENDPOINTS 16238 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDAPPLICATION 16239 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDAPPLICATION_INPUTARGUMENTS 16240 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEAPPLICATION 16241 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEAPPLICATION_INPUTARGUMENTS 16242 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDENDPOINT 16243 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_ADDENDPOINT_INPUTARGUMENTS 16244 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEENDPOINT 16245 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_REMOVEENDPOINT_INPUTARGUMENTS 16246 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_IDENTITIES 16247 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_APPLICATIONS 16248 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ENDPOINTS 16249 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDAPPLICATION 16250 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDAPPLICATION_INPUTARGUMENTS 16251 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEAPPLICATION 16252 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEAPPLICATION_INPUTARGUMENTS 16253 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDENDPOINT 16254 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_ADDENDPOINT_INPUTARGUMENTS 16255 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEENDPOINT 16256 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_REMOVEENDPOINT_INPUTARGUMENTS 16257 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_IDENTITIES 16258 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_APPLICATIONS 16259 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ENDPOINTS 16260 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDAPPLICATION 16261 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDAPPLICATION_INPUTARGUMENTS 16262 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEAPPLICATION 16263 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEAPPLICATION_INPUTARGUMENTS 16264 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDENDPOINT 16265 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_ADDENDPOINT_INPUTARGUMENTS 16266 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEENDPOINT 16267 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_REMOVEENDPOINT_INPUTARGUMENTS 16268 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_IDENTITIES 16269 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_APPLICATIONS 16270 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ENDPOINTS 16271 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDAPPLICATION 16272 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDAPPLICATION_INPUTARGUMENTS 16273 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEAPPLICATION 16274 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEAPPLICATION_INPUTARGUMENTS 16275 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDENDPOINT 16276 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_ADDENDPOINT_INPUTARGUMENTS 16277 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEENDPOINT 16278 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_REMOVEENDPOINT_INPUTARGUMENTS 16279 /* Variable */ -#define UA_NS0ID_WRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16280 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONDATATYPE_ENCODING_DEFAULTJSON 16281 /* Object */ -#define UA_NS0ID_CONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16282 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 16283 /* Variable */ -#define UA_NS0ID_READERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16284 /* Object */ -#define UA_NS0ID_READERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16285 /* Object */ -#define UA_NS0ID_DATASETREADERDATATYPE_ENCODING_DEFAULTJSON 16286 /* Object */ -#define UA_NS0ID_DATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16287 /* Object */ -#define UA_NS0ID_DATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16288 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET 16289 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_ADDROLE 16290 /* Method */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_ADDROLE_INPUTARGUMENTS 16291 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_ADDROLE_OUTPUTARGUMENTS 16292 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_REMOVEROLE 16293 /* Method */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_ROLESET_REMOVEROLE_INPUTARGUMENTS 16294 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET 16295 /* Object */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_ADDROLE 16296 /* Method */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_ADDROLE_INPUTARGUMENTS 16297 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_ADDROLE_OUTPUTARGUMENTS 16298 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_REMOVEROLE 16299 /* Method */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_ROLESET_REMOVEROLE_INPUTARGUMENTS 16300 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_ADDROLE 16301 /* Method */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_ADDROLE_INPUTARGUMENTS 16302 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_ADDROLE_OUTPUTARGUMENTS 16303 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_REMOVEROLE 16304 /* Method */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET_REMOVEROLE_INPUTARGUMENTS 16305 /* Variable */ -#define UA_NS0ID_AUDIODATATYPE 16307 /* DataType */ -#define UA_NS0ID_SUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTJSON 16308 /* Object */ -#define UA_NS0ID_SELECTIONLISTTYPE 16309 /* VariableType */ -#define UA_NS0ID_TARGETVARIABLESDATATYPE_ENCODING_DEFAULTJSON 16310 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETMIRRORDATATYPE_ENCODING_DEFAULTJSON 16311 /* Object */ -#define UA_NS0ID_SELECTIONLISTTYPE_RESTRICTTOLIST 16312 /* Variable */ -#define UA_NS0ID_ADDITIONALPARAMETERSTYPE 16313 /* DataType */ -#define UA_NS0ID_FILESYSTEM 16314 /* Object */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER 16315 /* Object */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY 16316 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_INPUTARGUMENTS 16317 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEDIRECTORY_OUTPUTARGUMENTS 16318 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE 16319 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_INPUTARGUMENTS 16320 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_CREATEFILE_OUTPUTARGUMENTS 16321 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 16322 /* Variable */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16323 /* Object */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY 16324 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_INPUTARGUMENTS 16325 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_MOVEORCOPY_OUTPUTARGUMENTS 16326 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER 16327 /* Object */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_SIZE 16328 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_WRITABLE 16329 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_USERWRITABLE 16330 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPENCOUNT 16331 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_MIMETYPE 16332 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPEN 16333 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPEN_INPUTARGUMENTS 16334 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_OPEN_OUTPUTARGUMENTS 16335 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_CLOSE 16336 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_CLOSE_INPUTARGUMENTS 16337 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_READ 16338 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_READ_INPUTARGUMENTS 16339 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_READ_OUTPUTARGUMENTS 16340 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_WRITE 16341 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_WRITE_INPUTARGUMENTS 16342 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_GETPOSITION 16343 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_GETPOSITION_INPUTARGUMENTS 16344 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_GETPOSITION_OUTPUTARGUMENTS 16345 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_SETPOSITION 16346 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_SETPOSITION_INPUTARGUMENTS 16347 /* Variable */ -#define UA_NS0ID_FILESYSTEM_CREATEDIRECTORY 16348 /* Method */ -#define UA_NS0ID_FILESYSTEM_CREATEDIRECTORY_INPUTARGUMENTS 16349 /* Variable */ -#define UA_NS0ID_FILESYSTEM_CREATEDIRECTORY_OUTPUTARGUMENTS 16350 /* Variable */ -#define UA_NS0ID_FILESYSTEM_CREATEFILE 16351 /* Method */ -#define UA_NS0ID_FILESYSTEM_CREATEFILE_INPUTARGUMENTS 16352 /* Variable */ -#define UA_NS0ID_FILESYSTEM_CREATEFILE_OUTPUTARGUMENTS 16353 /* Variable */ -#define UA_NS0ID_FILESYSTEM_DELETEFILESYSTEMOBJECT 16354 /* Method */ -#define UA_NS0ID_FILESYSTEM_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 16355 /* Variable */ -#define UA_NS0ID_FILESYSTEM_MOVEORCOPY 16356 /* Method */ -#define UA_NS0ID_FILESYSTEM_MOVEORCOPY_INPUTARGUMENTS 16357 /* Variable */ -#define UA_NS0ID_FILESYSTEM_MOVEORCOPY_OUTPUTARGUMENTS 16358 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_GENERATEFILEFORWRITE_INPUTARGUMENTS 16359 /* Variable */ -#define UA_NS0ID_GENERATEFILEFORWRITEMETHODTYPE_INPUTARGUMENTS 16360 /* Variable */ -#define UA_NS0ID_HASALARMSUPPRESSIONGROUP 16361 /* ReferenceType */ -#define UA_NS0ID_ALARMGROUPMEMBER 16362 /* ReferenceType */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONSUBCLASSID 16363 /* Variable */ -#define UA_NS0ID_CONDITIONTYPE_CONDITIONSUBCLASSNAME 16364 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONSUBCLASSID 16365 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_CONDITIONSUBCLASSNAME 16366 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONSUBCLASSID 16367 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_CONDITIONSUBCLASSNAME 16368 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONSUBCLASSID 16369 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_CONDITIONSUBCLASSNAME 16370 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE 16371 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_ID 16372 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_NAME 16373 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_NUMBER 16374 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16375 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16376 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16377 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_TRUESTATE 16378 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OUTOFSERVICESTATE_FALSESTATE 16379 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE 16380 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_ID 16381 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_NAME 16382 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_NUMBER 16383 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16384 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_TRANSITIONTIME 16385 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16386 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_TRUESTATE 16387 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCESTATE_FALSESTATE 16388 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLEENABLED 16389 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND 16390 /* Variable */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16391 /* Object */ -#define UA_NS0ID_UADPDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16392 /* Object */ -#define UA_NS0ID_JSONWRITERGROUPMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16393 /* Object */ -#define UA_NS0ID_JSONDATASETWRITERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16394 /* Object */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ONDELAY 16395 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_OFFDELAY 16396 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_FIRSTINGROUPFLAG 16397 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_FIRSTINGROUP 16398 /* Object */ -#define UA_NS0ID_ALARMCONDITIONTYPE_ALARMGROUP_PLACEHOLDER 16399 /* Object */ -#define UA_NS0ID_ALARMCONDITIONTYPE_REALARMTIME 16400 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_REALARMREPEATCOUNT 16401 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SILENCE 16402 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESS 16403 /* Method */ -#define UA_NS0ID_JSONDATASETREADERMESSAGEDATATYPE_ENCODING_DEFAULTJSON 16404 /* Object */ -#define UA_NS0ID_ALARMGROUPTYPE 16405 /* ObjectType */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER 16406 /* Object */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTID 16407 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTTYPE 16408 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENODE 16409 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENAME 16410 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_TIME 16411 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RECEIVETIME 16412 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LOCALTIME 16413 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MESSAGE 16414 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SEVERITY 16415 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSID 16416 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSNAME 16417 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSID 16418 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSNAME 16419 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONNAME 16420 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_BRANCHID 16421 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RETAIN 16422 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE 16423 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_ID 16424 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NAME 16425 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NUMBER 16426 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 16427 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRANSITIONTIME 16428 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 16429 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRUESTATE 16430 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_FALSESTATE 16431 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY 16432 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY_SOURCETIMESTAMP 16433 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY 16434 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY_SOURCETIMESTAMP 16435 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT 16436 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT_SOURCETIMESTAMP 16437 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CLIENTUSERID 16438 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_DISABLE 16439 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLE 16440 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT 16441 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT_INPUTARGUMENTS 16442 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE 16443 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_ID 16444 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NAME 16445 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NUMBER 16446 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVEDISPLAYNAME 16447 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRANSITIONTIME 16448 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVETRANSITIONTIME 16449 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRUESTATE 16450 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_FALSESTATE 16451 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE 16452 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_ID 16453 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NAME 16454 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NUMBER 16455 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 16456 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRANSITIONTIME 16457 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 16458 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRUESTATE 16459 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_FALSESTATE 16460 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE 16461 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE_INPUTARGUMENTS 16462 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM 16463 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM_INPUTARGUMENTS 16464 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE 16465 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_ID 16466 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NAME 16467 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NUMBER 16468 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVEDISPLAYNAME 16469 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRANSITIONTIME 16470 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVETRANSITIONTIME 16471 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRUESTATE 16472 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_FALSESTATE 16473 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_INPUTNODE 16474 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE 16475 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_ID 16476 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NAME 16477 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NUMBER 16478 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 16479 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRANSITIONTIME 16480 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 16481 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRUESTATE 16482 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_FALSESTATE 16483 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE 16484 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_ID 16485 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NAME 16486 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NUMBER 16487 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16488 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRANSITIONTIME 16489 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16490 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRUESTATE 16491 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_FALSESTATE 16492 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE 16493 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_ID 16494 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NAME 16495 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NUMBER 16496 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVEDISPLAYNAME 16497 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRANSITIONTIME 16498 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVETRANSITIONTIME 16499 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRUESTATE 16500 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_FALSESTATE 16501 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE 16502 /* Object */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE 16503 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_ID 16504 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NAME 16505 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NUMBER 16506 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 16507 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION 16508 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_ID 16509 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NAME 16510 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NUMBER 16511 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 16512 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 16513 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVETIME 16514 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE 16515 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE 16516 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE 16517 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 16518 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDORSHELVED 16519 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MAXTIMESHELVED 16520 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLEENABLED 16521 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND 16522 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 16523 /* Variable */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16524 /* Object */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16525 /* Object */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 16526 /* Object */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ONDELAY 16527 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OFFDELAY 16528 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUPFLAG 16529 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUP 16530 /* Object */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMTIME 16531 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMREPEATCOUNT 16532 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCE 16533 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS 16534 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP 16535 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONSUBCLASSID 16536 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_CONDITIONSUBCLASSNAME 16537 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE 16538 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_ID 16539 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_NAME 16540 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_NUMBER 16541 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16542 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16543 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16544 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16545 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16546 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE 16547 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_ID 16548 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_NAME 16549 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_NUMBER 16550 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16551 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_TRANSITIONTIME 16552 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16553 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_TRUESTATE 16554 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCESTATE_FALSESTATE 16555 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_AUDIBLEENABLED 16556 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND 16557 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_INPUTARGUMENTS 16558 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_OUTPUTARGUMENTS 16559 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP 16560 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_INPUTARGUMENTS 16561 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_ONDELAY 16562 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_OFFDELAY 16563 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_FIRSTINGROUPFLAG 16564 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_FIRSTINGROUP 16565 /* Object */ -#define UA_NS0ID_LIMITALARMTYPE_ALARMGROUP_PLACEHOLDER 16566 /* Object */ -#define UA_NS0ID_LIMITALARMTYPE_REALARMTIME 16567 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_REALARMREPEATCOUNT 16568 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SILENCE 16569 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESS 16570 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_OUTPUTARGUMENTS 16571 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_BASEHIGHHIGHLIMIT 16572 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_BASEHIGHLIMIT 16573 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_BASELOWLIMIT 16574 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_BASELOWLOWLIMIT 16575 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSID 16576 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSNAME 16577 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE 16578 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_ID 16579 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NAME 16580 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NUMBER 16581 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16582 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16583 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16584 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16585 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16586 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE 16587 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_ID 16588 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_NAME 16589 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_NUMBER 16590 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16591 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRANSITIONTIME 16592 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16593 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRUESTATE 16594 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCESTATE_FALSESTATE 16595 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLEENABLED 16596 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND 16597 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_ADDCONNECTION 16598 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_ADDCONNECTION_INPUTARGUMENTS 16599 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_ADDCONNECTION_OUTPUTARGUMENTS 16600 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE 16601 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ONDELAY 16602 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_OFFDELAY 16603 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_FIRSTINGROUPFLAG 16604 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_FIRSTINGROUP 16605 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_ALARMGROUP_PLACEHOLDER 16606 /* Object */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REALARMTIME 16607 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REALARMREPEATCOUNT 16608 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SILENCE 16609 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESS 16610 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 16611 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASEHIGHHIGHLIMIT 16612 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASEHIGHLIMIT 16613 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASELOWLIMIT 16614 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_BASELOWLOWLIMIT 16615 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSID 16616 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_CONDITIONSUBCLASSNAME 16617 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE 16618 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_ID 16619 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NAME 16620 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_NUMBER 16621 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16622 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16623 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16624 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16625 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16626 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE 16627 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_ID 16628 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_NAME 16629 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_NUMBER 16630 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16631 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRANSITIONTIME 16632 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16633 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_TRUESTATE 16634 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCESTATE_FALSESTATE 16635 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLEENABLED 16636 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND 16637 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 16638 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE 16639 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 16640 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 16641 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ONDELAY 16642 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_OFFDELAY 16643 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_FIRSTINGROUPFLAG 16644 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_FIRSTINGROUP 16645 /* Object */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_ALARMGROUP_PLACEHOLDER 16646 /* Object */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REALARMTIME 16647 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REALARMREPEATCOUNT 16648 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SILENCE 16649 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESS 16650 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDDATASETFOLDER 16651 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASEHIGHHIGHLIMIT 16652 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASEHIGHLIMIT 16653 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASELOWLIMIT 16654 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_BASELOWLOWLIMIT 16655 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSID 16656 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSNAME 16657 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE 16658 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_ID 16659 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NAME 16660 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NUMBER 16661 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16662 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16663 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16664 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16665 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16666 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE 16667 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_ID 16668 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_NAME 16669 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_NUMBER 16670 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16671 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRANSITIONTIME 16672 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16673 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRUESTATE 16674 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCESTATE_FALSESTATE 16675 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLEENABLED 16676 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND 16677 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 16678 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 16679 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER 16680 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 16681 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ONDELAY 16682 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_OFFDELAY 16683 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_FIRSTINGROUPFLAG 16684 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_FIRSTINGROUP 16685 /* Object */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_ALARMGROUP_PLACEHOLDER 16686 /* Object */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REALARMTIME 16687 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REALARMREPEATCOUNT 16688 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SILENCE 16689 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESS 16690 /* Method */ -#define UA_NS0ID_ADDCONNECTIONMETHODTYPE 16691 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASEHIGHHIGHLIMIT 16692 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASEHIGHLIMIT 16693 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASELOWLIMIT 16694 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_BASELOWLOWLIMIT 16695 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSID 16696 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_CONDITIONSUBCLASSNAME 16697 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE 16698 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_ID 16699 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NAME 16700 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_NUMBER 16701 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16702 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16703 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16704 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16705 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16706 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE 16707 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_ID 16708 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_NAME 16709 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_NUMBER 16710 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16711 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRANSITIONTIME 16712 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16713 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_TRUESTATE 16714 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCESTATE_FALSESTATE 16715 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLEENABLED 16716 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND 16717 /* Variable */ -#define UA_NS0ID_ADDCONNECTIONMETHODTYPE_INPUTARGUMENTS 16718 /* Variable */ -#define UA_NS0ID_ADDCONNECTIONMETHODTYPE_OUTPUTARGUMENTS 16719 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 16720 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 16721 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ONDELAY 16722 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_OFFDELAY 16723 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_FIRSTINGROUPFLAG 16724 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_FIRSTINGROUP 16725 /* Object */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_ALARMGROUP_PLACEHOLDER 16726 /* Object */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REALARMTIME 16727 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REALARMREPEATCOUNT 16728 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SILENCE 16729 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESS 16730 /* Method */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 16731 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASEHIGHHIGHLIMIT 16732 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASEHIGHLIMIT 16733 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASELOWLIMIT 16734 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_BASELOWLOWLIMIT 16735 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSID 16736 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSNAME 16737 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE 16738 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_ID 16739 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NAME 16740 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NUMBER 16741 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16742 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16743 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16744 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16745 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16746 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE 16747 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_ID 16748 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NAME 16749 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NUMBER 16750 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16751 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRANSITIONTIME 16752 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16753 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRUESTATE 16754 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_FALSESTATE 16755 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLEENABLED 16756 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND 16757 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 16758 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETCLASSID 16759 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 16760 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 16761 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ONDELAY 16762 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_OFFDELAY 16763 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUPFLAG 16764 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUP 16765 /* Object */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_ALARMGROUP_PLACEHOLDER 16766 /* Object */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REALARMTIME 16767 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REALARMREPEATCOUNT 16768 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SILENCE 16769 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS 16770 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 16771 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHHIGHLIMIT 16772 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHLIMIT 16773 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASELOWLIMIT 16774 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASELOWLOWLIMIT 16775 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_BASESETPOINTNODE 16776 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSID 16777 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_CONDITIONSUBCLASSNAME 16778 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE 16779 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_ID 16780 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NAME 16781 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_NUMBER 16782 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16783 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16784 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16785 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16786 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16787 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE 16788 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_ID 16789 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NAME 16790 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_NUMBER 16791 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16792 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRANSITIONTIME 16793 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16794 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_TRUESTATE 16795 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCESTATE_FALSESTATE 16796 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLEENABLED 16797 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND 16798 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 16799 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETCLASSID 16800 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 16801 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 16802 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ONDELAY 16803 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_OFFDELAY 16804 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUPFLAG 16805 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_FIRSTINGROUP 16806 /* Object */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_ALARMGROUP_PLACEHOLDER 16807 /* Object */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REALARMTIME 16808 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REALARMREPEATCOUNT 16809 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SILENCE 16810 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS 16811 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 16812 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHHIGHLIMIT 16813 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASEHIGHLIMIT 16814 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASELOWLIMIT 16815 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASELOWLOWLIMIT 16816 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_BASESETPOINTNODE 16817 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSID 16818 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSNAME 16819 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE 16820 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_ID 16821 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NAME 16822 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NUMBER 16823 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16824 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16825 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16826 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16827 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16828 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE 16829 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_ID 16830 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NAME 16831 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NUMBER 16832 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16833 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRANSITIONTIME 16834 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16835 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRUESTATE 16836 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_FALSESTATE 16837 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLEENABLED 16838 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND 16839 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 16840 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETCLASSID 16841 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMSTEMPLATE 16842 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 16843 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ONDELAY 16844 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_OFFDELAY 16845 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUPFLAG 16846 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUP 16847 /* Object */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ALARMGROUP_PLACEHOLDER 16848 /* Object */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REALARMTIME 16849 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REALARMREPEATCOUNT 16850 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SILENCE 16851 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS 16852 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 16853 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHHIGHLIMIT 16854 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHLIMIT 16855 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLIMIT 16856 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLOWLIMIT 16857 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_ENGINEERINGUNITS 16858 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSID 16859 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_CONDITIONSUBCLASSNAME 16860 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE 16861 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_ID 16862 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NAME 16863 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_NUMBER 16864 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16865 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16866 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16867 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16868 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16869 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE 16870 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_ID 16871 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NAME 16872 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_NUMBER 16873 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16874 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRANSITIONTIME 16875 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16876 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_TRUESTATE 16877 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCESTATE_FALSESTATE 16878 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLEENABLED 16879 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND 16880 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTSTEMPLATE 16881 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 16882 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 16883 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER 16884 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ONDELAY 16885 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_OFFDELAY 16886 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUPFLAG 16887 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_FIRSTINGROUP 16888 /* Object */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ALARMGROUP_PLACEHOLDER 16889 /* Object */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REALARMTIME 16890 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REALARMREPEATCOUNT 16891 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SILENCE 16892 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS 16893 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_INPUTARGUMENTS 16894 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHHIGHLIMIT 16895 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASEHIGHLIMIT 16896 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLIMIT 16897 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_BASELOWLOWLIMIT 16898 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_ENGINEERINGUNITS 16899 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONSUBCLASSID 16900 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_CONDITIONSUBCLASSNAME 16901 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE 16902 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_ID 16903 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_NAME 16904 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_NUMBER 16905 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16906 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16907 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16908 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16909 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16910 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE 16911 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_ID 16912 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_NAME 16913 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_NUMBER 16914 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16915 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_TRANSITIONTIME 16916 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16917 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_TRUESTATE 16918 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCESTATE_FALSESTATE 16919 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLEENABLED 16920 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND 16921 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_OUTPUTARGUMENTS 16922 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER 16923 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_DATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER_INPUTARGUMENTS 16924 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_DATASETCLASSID 16925 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_ONDELAY 16926 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_OFFDELAY 16927 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_FIRSTINGROUPFLAG 16928 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_FIRSTINGROUP 16929 /* Object */ -#define UA_NS0ID_DISCRETEALARMTYPE_ALARMGROUP_PLACEHOLDER 16930 /* Object */ -#define UA_NS0ID_DISCRETEALARMTYPE_REALARMTIME 16931 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_REALARMREPEATCOUNT 16932 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SILENCE 16933 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESS 16934 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMSTEMPLATE 16935 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONSUBCLASSID 16936 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_CONDITIONSUBCLASSNAME 16937 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE 16938 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_ID 16939 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_NAME 16940 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_NUMBER 16941 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16942 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16943 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16944 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16945 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16946 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE 16947 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_ID 16948 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_NAME 16949 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_NUMBER 16950 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16951 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_TRANSITIONTIME 16952 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16953 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_TRUESTATE 16954 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCESTATE_FALSESTATE 16955 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLEENABLED 16956 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND 16957 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 16958 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 16959 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTSTEMPLATE 16960 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 16961 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ONDELAY 16962 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_OFFDELAY 16963 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_FIRSTINGROUPFLAG 16964 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_FIRSTINGROUP 16965 /* Object */ -#define UA_NS0ID_OFFNORMALALARMTYPE_ALARMGROUP_PLACEHOLDER 16966 /* Object */ -#define UA_NS0ID_OFFNORMALALARMTYPE_REALARMTIME 16967 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_REALARMREPEATCOUNT 16968 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SILENCE 16969 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESS 16970 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 16971 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONSUBCLASSID 16972 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_CONDITIONSUBCLASSNAME 16973 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE 16974 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_ID 16975 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_NAME 16976 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_NUMBER 16977 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 16978 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 16979 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 16980 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 16981 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 16982 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE 16983 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_ID 16984 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_NAME 16985 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_NUMBER 16986 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 16987 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_TRANSITIONTIME 16988 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 16989 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_TRUESTATE 16990 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCESTATE_FALSESTATE 16991 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLEENABLED 16992 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND 16993 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER 16994 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER_INPUTARGUMENTS 16995 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER_OUTPUTARGUMENTS 16996 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER 16997 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ONDELAY 16998 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_OFFDELAY 16999 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_FIRSTINGROUPFLAG 17000 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_FIRSTINGROUP 17001 /* Object */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_ALARMGROUP_PLACEHOLDER 17002 /* Object */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REALARMTIME 17003 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REALARMREPEATCOUNT 17004 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SILENCE 17005 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESS 17006 /* Method */ -#define UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER_INPUTARGUMENTS 17007 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONSUBCLASSID 17008 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_CONDITIONSUBCLASSNAME 17009 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE 17010 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_ID 17011 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_NAME 17012 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_NUMBER 17013 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 17014 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 17015 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 17016 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 17017 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 17018 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE 17019 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_ID 17020 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_NAME 17021 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_NUMBER 17022 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 17023 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_TRANSITIONTIME 17024 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 17025 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_TRUESTATE 17026 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCESTATE_FALSESTATE 17027 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_AUDIBLEENABLED 17028 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND 17029 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDDATAITEMSTEMPLATEMETHODTYPE 17030 /* Method */ -#define UA_NS0ID_ADDPUBLISHEDDATAITEMSTEMPLATEMETHODTYPE_INPUTARGUMENTS 17031 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDDATAITEMSTEMPLATEMETHODTYPE_OUTPUTARGUMENTS 17032 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDEVENTSTEMPLATEMETHODTYPE 17033 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_ONDELAY 17034 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_OFFDELAY 17035 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_FIRSTINGROUPFLAG 17036 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_FIRSTINGROUP 17037 /* Object */ -#define UA_NS0ID_TRIPALARMTYPE_ALARMGROUP_PLACEHOLDER 17038 /* Object */ -#define UA_NS0ID_TRIPALARMTYPE_REALARMTIME 17039 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_REALARMREPEATCOUNT 17040 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SILENCE 17041 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESS 17042 /* Method */ -#define UA_NS0ID_ADDPUBLISHEDEVENTSTEMPLATEMETHODTYPE_INPUTARGUMENTS 17043 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONSUBCLASSID 17044 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_CONDITIONSUBCLASSNAME 17045 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE 17046 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_ID 17047 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_NAME 17048 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_NUMBER 17049 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 17050 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 17051 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 17052 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 17053 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 17054 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE 17055 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_ID 17056 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_NAME 17057 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_NUMBER 17058 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 17059 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_TRANSITIONTIME 17060 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 17061 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_TRUESTATE 17062 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCESTATE_FALSESTATE 17063 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLEENABLED 17064 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND 17065 /* Variable */ -#define UA_NS0ID_ADDPUBLISHEDEVENTSTEMPLATEMETHODTYPE_OUTPUTARGUMENTS 17066 /* Variable */ -#define UA_NS0ID_ADDDATASETFOLDERMETHODTYPE 17067 /* Method */ -#define UA_NS0ID_ADDDATASETFOLDERMETHODTYPE_INPUTARGUMENTS 17068 /* Variable */ -#define UA_NS0ID_ADDDATASETFOLDERMETHODTYPE_OUTPUTARGUMENTS 17069 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ONDELAY 17070 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_OFFDELAY 17071 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_FIRSTINGROUPFLAG 17072 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_FIRSTINGROUP 17073 /* Object */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_ALARMGROUP_PLACEHOLDER 17074 /* Object */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REALARMTIME 17075 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REALARMREPEATCOUNT 17076 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SILENCE 17077 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESS 17078 /* Method */ -#define UA_NS0ID_REMOVEDATASETFOLDERMETHODTYPE 17079 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE 17080 /* ObjectType */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_EVENTID 17081 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_EVENTTYPE 17082 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SOURCENODE 17083 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SOURCENAME 17084 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_TIME 17085 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_RECEIVETIME 17086 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LOCALTIME 17087 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_MESSAGE 17088 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SEVERITY 17089 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONCLASSID 17090 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONCLASSNAME 17091 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONSUBCLASSID 17092 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONSUBCLASSNAME 17093 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONNAME 17094 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_BRANCHID 17095 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_RETAIN 17096 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE 17097 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_ID 17098 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_NAME 17099 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_NUMBER 17100 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 17101 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 17102 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 17103 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_TRUESTATE 17104 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLEDSTATE_FALSESTATE 17105 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_QUALITY 17106 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_QUALITY_SOURCETIMESTAMP 17107 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LASTSEVERITY 17108 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 17109 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_COMMENT 17110 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_COMMENT_SOURCETIMESTAMP 17111 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CLIENTUSERID 17112 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_DISABLE 17113 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ENABLE 17114 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ADDCOMMENT 17115 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 17116 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH 17117 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 17118 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH2 17119 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 17120 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE 17121 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_ID 17122 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_NAME 17123 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_NUMBER 17124 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 17125 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_TRANSITIONTIME 17126 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 17127 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_TRUESTATE 17128 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKEDSTATE_FALSESTATE 17129 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE 17130 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_ID 17131 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_NAME 17132 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_NUMBER 17133 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 17134 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 17135 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 17136 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_TRUESTATE 17137 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRMEDSTATE_FALSESTATE 17138 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKNOWLEDGE 17139 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 17140 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRM 17141 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_CONFIRM_INPUTARGUMENTS 17142 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE 17143 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_ID 17144 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_NAME 17145 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_NUMBER 17146 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 17147 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_TRANSITIONTIME 17148 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 17149 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_TRUESTATE 17150 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ACTIVESTATE_FALSESTATE 17151 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_INPUTNODE 17152 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE 17153 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_ID 17154 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_NAME 17155 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_NUMBER 17156 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 17157 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 17158 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 17159 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 17160 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 17161 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE 17162 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_ID 17163 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_NAME 17164 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_NUMBER 17165 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 17166 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 17167 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 17168 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 17169 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 17170 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE 17171 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_ID 17172 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_NAME 17173 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_NUMBER 17174 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 17175 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_TRANSITIONTIME 17176 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 17177 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_TRUESTATE 17178 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCESTATE_FALSESTATE 17179 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE 17180 /* Object */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE 17181 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 17182 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 17183 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 17184 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 17185 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION 17186 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 17187 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 17188 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 17189 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 17190 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 17191 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVETIME 17192 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVE 17193 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 17194 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 17195 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 17196 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESSEDORSHELVED 17197 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_MAXTIMESHELVED 17198 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLEENABLED 17199 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND 17200 /* Variable */ -#define UA_NS0ID_REMOVEDATASETFOLDERMETHODTYPE_INPUTARGUMENTS 17201 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE 17202 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTSETTINGS 17203 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_MAXNETWORKMESSAGESIZE 17204 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ONDELAY 17205 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_OFFDELAY 17206 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_FIRSTINGROUPFLAG 17207 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_FIRSTINGROUP 17208 /* Object */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_ALARMGROUP_PLACEHOLDER 17209 /* Object */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_REALARMTIME 17210 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_REALARMREPEATCOUNT 17211 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SILENCE 17212 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESS 17213 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_WRITERGROUPID 17214 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_TARGETVALUENODE 17215 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_EXPECTEDTIME 17216 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_TOLERANCE 17217 /* Variable */ -#define UA_NS0ID_SAFETYCONDITIONCLASSTYPE 17218 /* ObjectType */ -#define UA_NS0ID_HIGHLYMANAGEDALARMCONDITIONCLASSTYPE 17219 /* ObjectType */ -#define UA_NS0ID_TRAININGCONDITIONCLASSTYPE 17220 /* ObjectType */ -#define UA_NS0ID_TESTINGCONDITIONCLASSTYPE 17221 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONEVENTID 17222 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONEVENTID 17223 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONEVENTID 17224 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE 17225 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_EVENTID 17226 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_EVENTTYPE 17227 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SOURCENODE 17228 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SOURCENAME 17229 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_TIME 17230 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_RECEIVETIME 17231 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_LOCALTIME 17232 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_MESSAGE 17233 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SEVERITY 17234 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_ACTIONTIMESTAMP 17235 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_STATUS 17236 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_SERVERID 17237 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CLIENTAUDITENTRYID 17238 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CLIENTUSERID 17239 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_METHODID 17240 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_INPUTARGUMENTS 17241 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE 17242 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_EVENTID 17243 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_EVENTTYPE 17244 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SOURCENODE 17245 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SOURCENAME 17246 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_TIME 17247 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_RECEIVETIME 17248 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_LOCALTIME 17249 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_MESSAGE 17250 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SEVERITY 17251 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_ACTIONTIMESTAMP 17252 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_STATUS 17253 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_SERVERID 17254 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CLIENTAUDITENTRYID 17255 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CLIENTUSERID 17256 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_METHODID 17257 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_INPUTARGUMENTS 17258 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE 17259 /* ObjectType */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_EVENTID 17260 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_EVENTTYPE 17261 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SOURCENODE 17262 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SOURCENAME 17263 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_TIME 17264 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_RECEIVETIME 17265 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_LOCALTIME 17266 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_MESSAGE 17267 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SEVERITY 17268 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_ACTIONTIMESTAMP 17269 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_STATUS 17270 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_SERVERID 17271 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CLIENTAUDITENTRYID 17272 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CLIENTUSERID 17273 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_METHODID 17274 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_INPUTARGUMENTS 17275 /* Variable */ -#define UA_NS0ID_HASEFFECTDISABLE 17276 /* ReferenceType */ -#define UA_NS0ID_ALARMRATEVARIABLETYPE 17277 /* VariableType */ -#define UA_NS0ID_ALARMRATEVARIABLETYPE_RATE 17278 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE 17279 /* ObjectType */ -#define UA_NS0ID_ALARMMETRICSTYPE_ALARMCOUNT 17280 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMACTIVESTATE 17281 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMUNACK 17282 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMREALARMCOUNT 17283 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_CURRENTALARMRATE 17284 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_CURRENTALARMRATE_RATE 17285 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMALARMRATE 17286 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_MAXIMUMALARMRATE_RATE 17287 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_AVERAGEALARMRATE 17288 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_AVERAGEALARMRATE_RATE 17289 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_TRANSPORTSETTINGS 17290 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_MESSAGESETTINGS 17291 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI 17292 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_ADDDATASETWRITER 17293 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_ADDDATASETWRITER_INPUTARGUMENTS 17294 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_RESTRICTTOLIST 17295 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SETSECURITYKEYS 17296 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SETSECURITYKEYS_INPUTARGUMENTS 17297 /* Variable */ -#define UA_NS0ID_SETSECURITYKEYSMETHODTYPE 17298 /* Method */ -#define UA_NS0ID_SETSECURITYKEYSMETHODTYPE_INPUTARGUMENTS 17299 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17300 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_ADDDATASETWRITER_OUTPUTARGUMENTS 17301 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_MAXNETWORKMESSAGESIZE 17302 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17303 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17304 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17305 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI 17306 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_TRANSPORTSETTINGS 17307 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_MESSAGESETTINGS 17308 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI_RESTRICTTOLIST 17309 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER 17310 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_SECURITYMODE 17311 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_SECURITYGROUPID 17312 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_SECURITYKEYSERVICES 17313 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS 17314 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS_STATE 17315 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS_ENABLE 17316 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_STATUS_DISABLE 17317 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_PUBLISHINGINTERVAL 17318 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_KEEPALIVETIME 17319 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17320 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_PRIORITY 17321 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_LOCALEIDS 17322 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_REMOVEDATASETWRITER 17323 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_REMOVEDATASETWRITER_INPUTARGUMENTS 17324 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER 17325 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_SECURITYMODE 17326 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_SECURITYGROUPID 17327 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_SECURITYKEYSERVICES 17328 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS 17329 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS_STATE 17330 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS_ENABLE 17331 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_STATUS_DISABLE 17332 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_REMOVEDATASETREADER 17333 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_REMOVEDATASETREADER_INPUTARGUMENTS 17334 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17335 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17336 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17337 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17338 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17339 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17340 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17341 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17342 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17343 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17344 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17345 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17346 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17347 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17348 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17349 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17350 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17351 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 17352 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 17353 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 17354 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_ADDDATASETREADER 17355 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP 17356 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_INPUTARGUMENTS 17357 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_OUTPUTARGUMENTS 17358 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP 17359 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_INPUTARGUMENTS 17360 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_OUTPUTARGUMENTS 17361 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP 17362 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP_INPUTARGUMENTS 17363 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SETSECURITYKEYS 17364 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SETSECURITYKEYS_INPUTARGUMENTS 17365 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION 17366 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION_INPUTARGUMENTS 17367 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION_OUTPUTARGUMENTS 17368 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION 17369 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION_INPUTARGUMENTS 17370 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS 17371 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS 17372 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 17373 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 17374 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS 17375 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 17376 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 17377 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE 17378 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 17379 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 17380 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE 17381 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 17382 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 17383 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET 17384 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 17385 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_CREATETARGETVARIABLES 17386 /* Method */ -#define UA_NS0ID_DATASETREADERTYPE_CREATETARGETVARIABLES_INPUTARGUMENTS 17387 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_CREATETARGETVARIABLES_OUTPUTARGUMENTS 17388 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_CREATEDATASETMIRROR 17389 /* Method */ -#define UA_NS0ID_DATASETREADERTYPE_CREATEDATASETMIRROR_INPUTARGUMENTS 17390 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_CREATEDATASETMIRROR_OUTPUTARGUMENTS 17391 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPECREATETARGETVARIABLESMETHODTYPE 17392 /* Method */ -#define UA_NS0ID_DATASETREADERTYPECREATETARGETVARIABLESMETHODTYPE_INPUTARGUMENTS 17393 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPECREATETARGETVARIABLESMETHODTYPE_OUTPUTARGUMENTS 17394 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPECREATEDATASETMIRRORMETHODTYPE 17395 /* Method */ -#define UA_NS0ID_DATASETREADERTYPECREATEDATASETMIRRORMETHODTYPE_INPUTARGUMENTS 17396 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPECREATEDATASETMIRRORMETHODTYPE_OUTPUTARGUMENTS 17397 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDDATASETFOLDER 17398 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_ADDDATASETREADER_INPUTARGUMENTS 17399 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_ADDDATASETREADER_OUTPUTARGUMENTS 17400 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 17401 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 17402 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER 17403 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 17404 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS 17405 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS_STATE 17406 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS_ENABLE 17407 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_STATUS_DISABLE 17408 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS 17409 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_DIAGNOSTICSLEVEL 17410 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION 17411 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 17412 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 17413 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 17414 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 17415 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR 17416 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_ACTIVE 17417 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 17418 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 17419 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 17420 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_RESET 17421 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_SUBERROR 17422 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS 17423 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR 17424 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 17425 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 17426 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP 17427 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP_INPUTARGUMENTS 17428 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 17429 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 17430 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 17431 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 17432 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 17433 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17434 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17435 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17436 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17437 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17438 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17439 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17440 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17441 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17442 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17443 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17444 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17445 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17446 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17447 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17448 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17449 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17450 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17451 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17452 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17453 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17454 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17455 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP_OUTPUTARGUMENTS 17456 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES 17457 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 17458 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 17459 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 17460 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 17461 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 17462 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 17463 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 17464 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP 17465 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 17466 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE 17467 /* DataType */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 17468 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE 17469 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 17470 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 17471 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTXML 17472 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE 17473 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DATATYPEVERSION 17474 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORTDATATYPE_DICTIONARYFRAGMENT 17475 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 17476 /* Object */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_DATASETOFFSET 17477 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_CONNECTIONPROPERTIES 17478 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUPPORTEDTRANSPORTPROFILES 17479 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_CONNECTIONPROPERTIES 17480 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUPPORTEDTRANSPORTPROFILES 17481 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17482 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17483 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17484 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_CONNECTIONPROPERTIES 17485 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_GROUPPROPERTIES 17486 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_GROUPPROPERTIES 17487 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE_GROUPPROPERTIES 17488 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_GROUPPROPERTIES 17489 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERPROPERTIES 17490 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_GROUPPROPERTIES 17491 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETREADERPROPERTIES 17492 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERPROPERTIES 17493 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DATASETREADERPROPERTIES 17494 /* Variable */ -#define UA_NS0ID_CREATECREDENTIALMETHODTYPE_OUTPUTARGUMENTS 17495 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE 17496 /* ObjectType */ -#define UA_NS0ID_ANALOGUNITTYPE 17497 /* VariableType */ -#define UA_NS0ID_ANALOGUNITTYPE_DEFINITION 17498 /* Variable */ -#define UA_NS0ID_ANALOGUNITTYPE_VALUEPRECISION 17499 /* Variable */ -#define UA_NS0ID_ANALOGUNITTYPE_INSTRUMENTRANGE 17500 /* Variable */ -#define UA_NS0ID_ANALOGUNITTYPE_EURANGE 17501 /* Variable */ -#define UA_NS0ID_ANALOGUNITTYPE_ENGINEERINGUNITS 17502 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONS 17503 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17504 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17505 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONS 17506 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP_INPUTARGUMENTS 17507 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP_OUTPUTARGUMENTS 17508 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17509 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17510 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER 17511 /* Object */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_RESOURCEURI 17512 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_PROFILEURI 17513 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_ENDPOINTURLS 17514 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_SERVICESTATUS 17515 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY 17516 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_INPUTARGUMENTS 17517 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_OUTPUTARGUMENTS 17518 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL 17519 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL_INPUTARGUMENTS 17520 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_DELETECREDENTIAL 17521 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_CREATECREDENTIAL 17522 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_CREATECREDENTIAL_INPUTARGUMENTS 17523 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONFOLDERTYPE_CREATECREDENTIAL_OUTPUTARGUMENTS 17524 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY 17525 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_INPUTARGUMENTS 17526 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_GETENCRYPTINGKEY_OUTPUTARGUMENTS 17527 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_CREATECREDENTIAL 17528 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_CREATECREDENTIAL_INPUTARGUMENTS 17529 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_CREATECREDENTIAL_OUTPUTARGUMENTS 17530 /* Variable */ -#define UA_NS0ID_GETENCRYPTINGKEYMETHODTYPE 17531 /* Method */ -#define UA_NS0ID_GETENCRYPTINGKEYMETHODTYPE_INPUTARGUMENTS 17532 /* Variable */ -#define UA_NS0ID_GETENCRYPTINGKEYMETHODTYPE_OUTPUTARGUMENTS 17533 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_GETENCRYPTINGKEY 17534 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_GETENCRYPTINGKEY_INPUTARGUMENTS 17535 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_GETENCRYPTINGKEY_OUTPUTARGUMENTS 17536 /* Variable */ -#define UA_NS0ID_ADDITIONALPARAMETERSTYPE_ENCODING_DEFAULTBINARY 17537 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDITIONALPARAMETERSTYPE 17538 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDITIONALPARAMETERSTYPE_DATATYPEVERSION 17539 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ADDITIONALPARAMETERSTYPE_DICTIONARYFRAGMENT 17540 /* Variable */ -#define UA_NS0ID_ADDITIONALPARAMETERSTYPE_ENCODING_DEFAULTXML 17541 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDITIONALPARAMETERSTYPE 17542 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDITIONALPARAMETERSTYPE_DATATYPEVERSION 17543 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ADDITIONALPARAMETERSTYPE_DICTIONARYFRAGMENT 17544 /* Variable */ -#define UA_NS0ID_RSAENCRYPTEDSECRET 17545 /* DataType */ -#define UA_NS0ID_ECCENCRYPTEDSECRET 17546 /* DataType */ -#define UA_NS0ID_ADDITIONALPARAMETERSTYPE_ENCODING_DEFAULTJSON 17547 /* Object */ -#define UA_NS0ID_EPHEMERALKEYTYPE 17548 /* DataType */ -#define UA_NS0ID_EPHEMERALKEYTYPE_ENCODING_DEFAULTBINARY 17549 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EPHEMERALKEYTYPE 17550 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EPHEMERALKEYTYPE_DATATYPEVERSION 17551 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_EPHEMERALKEYTYPE_DICTIONARYFRAGMENT 17552 /* Variable */ -#define UA_NS0ID_EPHEMERALKEYTYPE_ENCODING_DEFAULTXML 17553 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EPHEMERALKEYTYPE 17554 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EPHEMERALKEYTYPE_DATATYPEVERSION 17555 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_EPHEMERALKEYTYPE_DICTIONARYFRAGMENT 17556 /* Variable */ -#define UA_NS0ID_EPHEMERALKEYTYPE_ENCODING_DEFAULTJSON 17557 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_HEADERLAYOUTURI 17558 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_HEADERLAYOUTURI 17559 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_KEYFRAMECOUNT 17560 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPEADDWRITERGROUPMETHODTYPE 17561 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_HEADERLAYOUTURI 17562 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_KEYFRAMECOUNT 17563 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_HEADERLAYOUTURI 17564 /* Variable */ -#define UA_NS0ID_BASEANALOGTYPE_DEFINITION 17565 /* Variable */ -#define UA_NS0ID_BASEANALOGTYPE_VALUEPRECISION 17566 /* Variable */ -#define UA_NS0ID_BASEANALOGTYPE_INSTRUMENTRANGE 17567 /* Variable */ -#define UA_NS0ID_BASEANALOGTYPE_EURANGE 17568 /* Variable */ -#define UA_NS0ID_BASEANALOGTYPE_ENGINEERINGUNITS 17569 /* Variable */ -#define UA_NS0ID_ANALOGUNITRANGETYPE 17570 /* VariableType */ -#define UA_NS0ID_ANALOGUNITRANGETYPE_DEFINITION 17571 /* Variable */ -#define UA_NS0ID_ANALOGUNITRANGETYPE_VALUEPRECISION 17572 /* Variable */ -#define UA_NS0ID_ANALOGUNITRANGETYPE_INSTRUMENTRANGE 17573 /* Variable */ -#define UA_NS0ID_ANALOGUNITRANGETYPE_EURANGE 17574 /* Variable */ -#define UA_NS0ID_ANALOGUNITRANGETYPE_ENGINEERINGUNITS 17575 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONS 17576 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17577 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17578 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE_SELECTIONS 17579 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17580 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 17581 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE_SELECTIONS 17582 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17583 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE_RESTRICTTOLIST 17584 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE_SELECTIONS 17585 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 17586 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE_RESTRICTTOLIST 17587 /* Variable */ -#define UA_NS0ID_INDEX 17588 /* DataType */ -#define UA_NS0ID_DICTIONARYENTRYTYPE 17589 /* ObjectType */ -#define UA_NS0ID_DICTIONARYENTRYTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17590 /* Object */ -#define UA_NS0ID_DICTIONARYFOLDERTYPE 17591 /* ObjectType */ -#define UA_NS0ID_DICTIONARYFOLDERTYPE_DICTIONARYFOLDERNAME_PLACEHOLDER 17592 /* Object */ -#define UA_NS0ID_DICTIONARYFOLDERTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17593 /* Object */ -#define UA_NS0ID_DICTIONARIES 17594 /* Object */ -#define UA_NS0ID_DICTIONARIES_DICTIONARYFOLDERNAME_PLACEHOLDER 17595 /* Object */ -#define UA_NS0ID_DICTIONARIES_DICTIONARYENTRYNAME_PLACEHOLDER 17596 /* Object */ -#define UA_NS0ID_HASDICTIONARYENTRY 17597 /* ReferenceType */ -#define UA_NS0ID_IRDIDICTIONARYENTRYTYPE 17598 /* ObjectType */ -#define UA_NS0ID_IRDIDICTIONARYENTRYTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17599 /* Object */ -#define UA_NS0ID_URIDICTIONARYENTRYTYPE 17600 /* ObjectType */ -#define UA_NS0ID_URIDICTIONARYENTRYTYPE_DICTIONARYENTRYNAME_PLACEHOLDER 17601 /* Object */ -#define UA_NS0ID_BASEINTERFACETYPE 17602 /* ObjectType */ -#define UA_NS0ID_HASINTERFACE 17603 /* ReferenceType */ -#define UA_NS0ID_HASADDIN 17604 /* ReferenceType */ -#define UA_NS0ID_DEFAULTINSTANCEBROWSENAME 17605 /* Variable */ -#define UA_NS0ID_GENERICATTRIBUTEVALUE 17606 /* DataType */ -#define UA_NS0ID_GENERICATTRIBUTES 17607 /* DataType */ -#define UA_NS0ID_GENERICATTRIBUTEVALUE_ENCODING_DEFAULTXML 17608 /* Object */ -#define UA_NS0ID_GENERICATTRIBUTES_ENCODING_DEFAULTXML 17609 /* Object */ -#define UA_NS0ID_GENERICATTRIBUTEVALUE_ENCODING_DEFAULTBINARY 17610 /* Object */ -#define UA_NS0ID_GENERICATTRIBUTES_ENCODING_DEFAULTBINARY 17611 /* Object */ -#define UA_NS0ID_SERVERTYPE_LOCALTIME 17612 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPEADDWRITERGROUPMETHODTYPE_INPUTARGUMENTS 17613 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPEADDWRITERGROUPMETHODTYPE_OUTPUTARGUMENTS 17614 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_STATUSCODEID 17615 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_STATUSCODEID 17616 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_STATUSCODEID 17617 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_STATUSCODEID 17618 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_STATUSCODEID 17619 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_STATUSCODEID 17620 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_STATUSCODEID 17621 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_STATUSCODEID 17622 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_STATUSCODEID 17623 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_STATUSCODEID 17624 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_STATUSCODEID 17625 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_STATUSCODEID 17626 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_STATUSCODEID 17627 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_STATUSCODEID 17628 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_STATUSCODEID 17629 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONADDREADERGROUPGROUPMETHODTYPE 17630 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONADDREADERGROUPGROUPMETHODTYPE_INPUTARGUMENTS 17631 /* Variable */ -#define UA_NS0ID_SELECTIONLISTTYPE_SELECTIONS 17632 /* Variable */ -#define UA_NS0ID_SELECTIONLISTTYPE_SELECTIONDESCRIPTIONS 17633 /* Variable */ -#define UA_NS0ID_SERVER_LOCALTIME 17634 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_AVAILABLESTATES 17635 /* Variable */ -#define UA_NS0ID_FINITESTATEMACHINETYPE_AVAILABLETRANSITIONS 17636 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_AVAILABLESTATES 17637 /* Variable */ -#define UA_NS0ID_TEMPORARYFILETRANSFERTYPE_TRANSFERSTATE_PLACEHOLDER_AVAILABLETRANSITIONS 17638 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_AVAILABLESTATES 17639 /* Variable */ -#define UA_NS0ID_FILETRANSFERSTATEMACHINETYPE_AVAILABLETRANSITIONS 17640 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE 17641 /* ObjectType */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_EVENTID 17642 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_EVENTTYPE 17643 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SOURCENODE 17644 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SOURCENAME 17645 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_TIME 17646 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_RECEIVETIME 17647 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_LOCALTIME 17648 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_MESSAGE 17649 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SEVERITY 17650 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_ACTIONTIMESTAMP 17651 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_STATUS 17652 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_SERVERID 17653 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 17654 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CLIENTUSERID 17655 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_METHODID 17656 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_INPUTARGUMENTS 17657 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_AVAILABLESTATES 17658 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17659 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLESTATES 17660 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLETRANSITIONS 17661 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_AVAILABLESTATES 17662 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_AVAILABLETRANSITIONS 17663 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17664 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17665 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_AVAILABLESTATES 17666 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITSTATEMACHINETYPE_AVAILABLETRANSITIONS 17667 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17668 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17669 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_AVAILABLESTATES 17670 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17671 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17672 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17673 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17674 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17675 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17676 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17677 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_AVAILABLESTATES 17678 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17679 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17680 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17681 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17682 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17683 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_AVAILABLESTATES 17684 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17685 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17686 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17687 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17688 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17689 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_AVAILABLESTATES 17690 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LIMITSTATE_AVAILABLETRANSITIONS 17691 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17692 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17693 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17694 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17695 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17696 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17697 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17698 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17699 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17700 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17701 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 17702 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 17703 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_AVAILABLESTATES 17704 /* Variable */ -#define UA_NS0ID_PROGRAMSTATEMACHINETYPE_AVAILABLETRANSITIONS 17705 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONS 17706 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 17707 /* Variable */ -#define UA_NS0ID_INTERFACETYPES 17708 /* Object */ -#define UA_NS0ID_RATIONALNUMBERTYPE 17709 /* VariableType */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI_SELECTIONS 17710 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 17711 /* Variable */ -#define UA_NS0ID_RATIONALNUMBERTYPE_NUMERATOR 17712 /* Variable */ -#define UA_NS0ID_RATIONALNUMBERTYPE_DENOMINATOR 17713 /* Variable */ -#define UA_NS0ID_VECTORTYPE 17714 /* VariableType */ -#define UA_NS0ID_VECTORTYPE_VECTORUNIT 17715 /* Variable */ -#define UA_NS0ID_THREEDVECTORTYPE 17716 /* VariableType */ -#define UA_NS0ID_THREEDVECTORTYPE_VECTORUNIT 17717 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT 17718 /* Method */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 17719 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONADDREADERGROUPGROUPMETHODTYPE_OUTPUTARGUMENTS 17720 /* Variable */ -#define UA_NS0ID_CONNECTIONTRANSPORTTYPE 17721 /* ObjectType */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT 17722 /* Method */ -#define UA_NS0ID_FILESYSTEM_FILEDIRECTORYNAME_PLACEHOLDER_DELETEFILESYSTEMOBJECT_INPUTARGUMENTS 17723 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPE_MAXNETWORKMESSAGESIZE 17724 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE 17725 /* ObjectType */ -#define UA_NS0ID_WRITERGROUPTYPE_SECURITYMODE 17726 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_SECURITYGROUPID 17727 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_SECURITYKEYSERVICES 17728 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_MAXNETWORKMESSAGESIZE 17729 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_STATUS 17730 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_STATUS_STATE 17731 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICES 17732 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_STATUS_ENABLE 17734 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_STATUS_DISABLE 17735 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_WRITERGROUPID 17736 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL 17737 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_KEEPALIVETIME 17738 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_PRIORITY 17739 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_LOCALEIDS 17740 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_TRANSPORTSETTINGS 17741 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_MESSAGESETTINGS 17742 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER 17743 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETWRITERID 17744 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 17745 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_KEYFRAMECOUNT 17746 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_TRANSPORTSETTINGS 17747 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_MESSAGESETTINGS 17748 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS 17749 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_STATE 17750 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_ENABLE 17751 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_STATUS_DISABLE 17752 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 17753 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 17754 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 17755 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 17756 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 17757 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 17758 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 17759 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 17760 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 17761 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 17762 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 17763 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 17764 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 17765 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 17766 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 17767 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 17768 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 17769 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 17770 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 17771 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 17772 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 17773 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 17774 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 17775 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17776 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17777 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17778 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17779 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17780 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17781 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17782 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17783 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17784 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17785 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17786 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17787 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17788 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17789 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17790 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17791 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17792 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17793 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17794 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17795 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17796 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17797 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 17798 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 17799 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 17800 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 17801 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 17802 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 17803 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 17804 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 17805 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 17806 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 17807 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 17808 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 17809 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 17810 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 17811 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS 17812 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 17813 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION 17814 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 17815 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 17816 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 17817 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 17818 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR 17819 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 17820 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 17821 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 17822 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 17823 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_RESET 17824 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_SUBERROR 17825 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS 17826 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 17827 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 17828 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 17829 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 17830 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 17831 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 17832 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 17833 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 17834 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 17835 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 17836 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 17837 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 17838 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 17839 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 17840 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 17841 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 17842 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 17843 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 17844 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 17845 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 17846 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 17847 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 17848 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 17849 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 17850 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 17851 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE 17852 /* ObjectType */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 17853 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 17854 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 17855 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 17856 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 17857 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES 17858 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES 17859 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE_SERVICECERTIFICATE 17860 /* Variable */ -#define UA_NS0ID_DECIMALDATATYPE 17861 /* DataType */ -#define UA_NS0ID_DECIMALDATATYPE_ENCODING_DEFAULTXML 17862 /* Object */ -#define UA_NS0ID_DECIMALDATATYPE_ENCODING_DEFAULTBINARY 17863 /* Object */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_ACTIVE 17864 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND_LISTID 17865 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND_AGENCYID 17866 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_AUDIBLESOUND_VERSIONID 17867 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_UNSUPPRESS 17868 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_REMOVEFROMSERVICE 17869 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_PLACEINSERVICE 17870 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_CLASSIFICATION 17871 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_DIAGNOSTICSLEVEL 17872 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_TIMEFIRSTCHANGE 17873 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS 17874 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS 17875 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE 17876 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE 17877 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_ACTIVE 17878 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND_LISTID 17879 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND_AGENCYID 17880 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_AUDIBLESOUND_VERSIONID 17881 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_UNSUPPRESS 17882 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_REMOVEFROMSERVICE 17883 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_PLACEINSERVICE 17884 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_CLASSIFICATION 17885 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_LISTID 17886 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_AGENCYID 17887 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_VERSIONID 17888 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_UNSUPPRESS 17889 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE 17890 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_PLACEINSERVICE 17891 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_DIAGNOSTICSLEVEL 17892 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_LISTID 17893 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_AGENCYID 17894 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_AUDIBLESOUND_VERSIONID 17895 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_UNSUPPRESS 17896 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE 17897 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_PLACEINSERVICE 17898 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_TIMEFIRSTCHANGE 17899 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS 17900 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_ACTIVE 17901 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_CLASSIFICATION 17902 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_DIAGNOSTICSLEVEL 17903 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE 17904 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_PLACEINSERVICE 17905 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_TIMEFIRSTCHANGE 17906 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_LISTID 17907 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_AGENCYID 17908 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_VERSIONID 17909 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_UNSUPPRESS 17910 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE 17911 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_PLACEINSERVICE 17912 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 17913 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_LISTID 17914 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_AGENCYID 17915 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_VERSIONID 17916 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS 17917 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE 17918 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE 17919 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 17920 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_LISTID 17921 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_AGENCYID 17922 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_VERSIONID 17923 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS 17924 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE 17925 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE 17926 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 17927 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_LISTID 17928 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_AGENCYID 17929 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_AUDIBLESOUND_VERSIONID 17930 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS 17931 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE 17932 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE 17933 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 17934 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_LISTID 17935 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_AGENCYID 17936 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_AUDIBLESOUND_VERSIONID 17937 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS 17938 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE 17939 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE 17940 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 17941 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND_LISTID 17942 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND_AGENCYID 17943 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_AUDIBLESOUND_VERSIONID 17944 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_UNSUPPRESS 17945 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_REMOVEFROMSERVICE 17946 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_PLACEINSERVICE 17947 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 17948 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND_LISTID 17949 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND_AGENCYID 17950 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_AUDIBLESOUND_VERSIONID 17951 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_UNSUPPRESS 17952 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_REMOVEFROMSERVICE 17953 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_PLACEINSERVICE 17954 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 17955 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND_LISTID 17956 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND_AGENCYID 17957 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_AUDIBLESOUND_VERSIONID 17958 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_UNSUPPRESS 17959 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REMOVEFROMSERVICE 17960 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_PLACEINSERVICE 17961 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 17962 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND_LISTID 17963 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND_AGENCYID 17964 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_AUDIBLESOUND_VERSIONID 17965 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_UNSUPPRESS 17966 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_REMOVEFROMSERVICE 17967 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_PLACEINSERVICE 17968 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER 17969 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND_LISTID 17970 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND_AGENCYID 17971 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_AUDIBLESOUND_VERSIONID 17972 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_UNSUPPRESS 17973 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REMOVEFROMSERVICE 17974 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_PLACEINSERVICE 17975 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER_INPUTARGUMENTS 17976 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND_LISTID 17977 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND_AGENCYID 17978 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_AUDIBLESOUND_VERSIONID 17979 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_UNSUPPRESS 17980 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_REMOVEFROMSERVICE 17981 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_PLACEINSERVICE 17982 /* Method */ -#define UA_NS0ID_HASEFFECTENABLE 17983 /* ReferenceType */ -#define UA_NS0ID_HASEFFECTSUPPRESSED 17984 /* ReferenceType */ -#define UA_NS0ID_HASEFFECTUNSUPPRESSED 17985 /* ReferenceType */ -#define UA_NS0ID_AUDIOVARIABLETYPE 17986 /* VariableType */ -#define UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER_OUTPUTARGUMENTS 17987 /* Variable */ -#define UA_NS0ID_AUDIOVARIABLETYPE_LISTID 17988 /* Variable */ -#define UA_NS0ID_AUDIOVARIABLETYPE_AGENCYID 17989 /* Variable */ -#define UA_NS0ID_AUDIOVARIABLETYPE_VERSIONID 17990 /* Variable */ -#define UA_NS0ID_ALARMMETRICSTYPE_STARTTIME 17991 /* Variable */ -#define UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER 17992 /* Method */ -#define UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER_INPUTARGUMENTS 17993 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPEADDWRITERMETHODTYPE 17994 /* Method */ -#define UA_NS0ID_PUBSUBGROUPTYPEADDWRITERMETHODTYPE_INPUTARGUMENTS 17995 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPEADDWRITERMETHODTYPE_OUTPUTARGUMENTS 17996 /* Variable */ -#define UA_NS0ID_WRITERGROUPTRANSPORTTYPE 17997 /* ObjectType */ -#define UA_NS0ID_WRITERGROUPMESSAGETYPE 17998 /* ObjectType */ -#define UA_NS0ID_READERGROUPTYPE 17999 /* ObjectType */ -#define UA_NS0ID_READERGROUPTYPE_SECURITYMODE 18000 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE 18001 /* ObjectType */ -#define UA_NS0ID_READERGROUPTYPE_SECURITYGROUPID 18002 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_SECURITYKEYSERVICES 18003 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_ENDPOINTURLS 18004 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_SERVICESTATUS 18005 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_UPDATECREDENTIAL 18006 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_UPDATECREDENTIAL_INPUTARGUMENTS 18007 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_DELETECREDENTIAL 18008 /* Method */ -#define UA_NS0ID_KEYCREDENTIALUPDATEMETHODTYPE 18009 /* Method */ -#define UA_NS0ID_KEYCREDENTIALUPDATEMETHODTYPE_INPUTARGUMENTS 18010 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE 18011 /* ObjectType */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_EVENTID 18012 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_EVENTTYPE 18013 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SOURCENODE 18014 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SOURCENAME 18015 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_TIME 18016 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_RECEIVETIME 18017 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_LOCALTIME 18018 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_MESSAGE 18019 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SEVERITY 18020 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_ACTIONTIMESTAMP 18021 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_STATUS 18022 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_SERVERID 18023 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CLIENTAUDITENTRYID 18024 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CLIENTUSERID 18025 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_METHODID 18026 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_INPUTARGUMENTS 18027 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_RESOURCEURI 18028 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE 18029 /* ObjectType */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_EVENTID 18030 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_EVENTTYPE 18031 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SOURCENODE 18032 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SOURCENAME 18033 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_TIME 18034 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_RECEIVETIME 18035 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_LOCALTIME 18036 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_MESSAGE 18037 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SEVERITY 18038 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_ACTIONTIMESTAMP 18039 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_STATUS 18040 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_SERVERID 18041 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 18042 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CLIENTUSERID 18043 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_METHODID 18044 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_INPUTARGUMENTS 18045 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_RESOURCEURI 18046 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE 18047 /* ObjectType */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_EVENTID 18048 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_EVENTTYPE 18049 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SOURCENODE 18050 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SOURCENAME 18051 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_TIME 18052 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_RECEIVETIME 18053 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_LOCALTIME 18054 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_MESSAGE 18055 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SEVERITY 18056 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_ACTIONTIMESTAMP 18057 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_STATUS 18058 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_SERVERID 18059 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 18060 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CLIENTUSERID 18061 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_METHODID 18062 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_INPUTARGUMENTS 18063 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_RESOURCEURI 18064 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_MAXNETWORKMESSAGESIZE 18065 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_STATUS 18067 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_STATUS_STATE 18068 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_RESOURCEURI 18069 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE_SERVICEURI 18072 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICECONFIGURATIONTYPE_ISSUERENDPOINTURL 18073 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_STATUS_ENABLE 18074 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_STATUS_DISABLE 18075 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER 18076 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_PUBLISHERID 18077 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_WRITERGROUPID 18078 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETWRITERID 18079 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETMETADATA 18080 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DATASETFIELDCONTENTMASK 18081 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_MESSAGERECEIVETIMEOUT 18082 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SECURITYMODE 18083 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SECURITYGROUPID 18084 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SECURITYKEYSERVICES 18085 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_TRANSPORTSETTINGS 18086 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_MESSAGESETTINGS 18087 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS 18088 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS_STATE 18089 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS_ENABLE 18090 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_STATUS_DISABLE 18091 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS 18092 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18093 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18094 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18095 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18096 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18097 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18098 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18099 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18100 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18101 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18102 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18103 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18104 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18105 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18106 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18107 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18108 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18109 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18110 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18111 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18112 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18113 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18114 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18115 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18116 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18117 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18118 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18119 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18120 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18121 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18122 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18123 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18124 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18125 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18126 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18127 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18128 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18129 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18130 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18131 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18132 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18133 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18134 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18135 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18136 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18137 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 18138 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 18139 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 18140 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 18141 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 18142 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 18143 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 18144 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 18145 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 18146 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 18147 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 18148 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 18149 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 18150 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 18151 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 18152 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 18153 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 18154 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION 18155 /* Object */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER 18156 /* Object */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_RESOURCEURI 18157 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 18158 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_ENDPOINTURLS 18159 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_SERVICESTATUS 18160 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL 18161 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_UPDATECREDENTIAL_INPUTARGUMENTS 18162 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_DELETECREDENTIAL 18163 /* Method */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATION_SERVICENAME_PLACEHOLDER_PROFILEURI 18164 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALCONFIGURATIONTYPE_PROFILEURI 18165 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDEFINITION 18166 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDEFINITION_DATATYPEVERSION 18167 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATATYPEDEFINITION_DICTIONARYFRAGMENT 18168 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREFIELD 18169 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREFIELD_DATATYPEVERSION 18170 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREFIELD_DICTIONARYFRAGMENT 18171 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDEFINITION 18172 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDEFINITION_DATATYPEVERSION 18173 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STRUCTUREDEFINITION_DICTIONARYFRAGMENT 18174 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDEFINITION 18175 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDEFINITION_DATATYPEVERSION 18176 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ENUMDEFINITION_DICTIONARYFRAGMENT 18177 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDEFINITION 18178 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDEFINITION_DATATYPEVERSION 18179 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATATYPEDEFINITION_DICTIONARYFRAGMENT 18180 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREFIELD 18181 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREFIELD_DATATYPEVERSION 18182 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREFIELD_DICTIONARYFRAGMENT 18183 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDEFINITION 18184 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDEFINITION_DATATYPEVERSION 18185 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STRUCTUREDEFINITION_DICTIONARYFRAGMENT 18186 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDEFINITION 18187 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDEFINITION_DATATYPEVERSION 18188 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ENUMDEFINITION_DICTIONARYFRAGMENT 18189 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE 18190 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_ID 18191 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_NAME 18192 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_NUMBER 18193 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18194 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_TRANSITIONTIME 18195 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18196 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_TRUESTATE 18197 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_LATCHEDSTATE_FALSESTATE 18198 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_RESET 18199 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_LISTID 18200 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_AGENCYID 18201 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_VERSIONID 18202 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE 18203 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_ID 18204 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NAME 18205 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NUMBER 18206 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18207 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRANSITIONTIME 18208 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18209 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRUESTATE 18210 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_FALSESTATE 18211 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET 18212 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE 18213 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_ID 18214 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_NAME 18215 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_NUMBER 18216 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18217 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18218 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18219 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_TRUESTATE 18220 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LATCHEDSTATE_FALSESTATE 18221 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_RESET 18222 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE 18223 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_ID 18224 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NAME 18225 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NUMBER 18226 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18227 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18228 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18229 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRUESTATE 18230 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_FALSESTATE 18231 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RESET 18232 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE 18233 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_ID 18234 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NAME 18235 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_NUMBER 18236 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18237 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18238 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18239 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_TRUESTATE 18240 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LATCHEDSTATE_FALSESTATE 18241 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RESET 18242 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_LISTID 18243 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_AGENCYID 18244 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_AUDIBLESOUND_VERSIONID 18245 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE 18246 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_ID 18247 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NAME 18248 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NUMBER 18249 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18250 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18251 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18252 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRUESTATE 18253 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_FALSESTATE 18254 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_UNSUPPRESS 18255 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RESET 18256 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE 18257 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_ID 18258 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NAME 18259 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_NUMBER 18260 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18261 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18262 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18263 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_TRUESTATE 18264 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LATCHEDSTATE_FALSESTATE 18265 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RESET 18266 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE 18267 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_ID 18268 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NAME 18269 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NUMBER 18270 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18271 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18272 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18273 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRUESTATE 18274 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_FALSESTATE 18275 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RESET 18276 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE 18277 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_ID 18278 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NAME 18279 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NUMBER 18280 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18281 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18282 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18283 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRUESTATE 18284 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_FALSESTATE 18285 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RESET 18286 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE 18287 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_ID 18288 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NAME 18289 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_NUMBER 18290 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18291 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18292 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18293 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_TRUESTATE 18294 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LATCHEDSTATE_FALSESTATE 18295 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RESET 18296 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE 18297 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_ID 18298 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NAME 18299 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_NUMBER 18300 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18301 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18302 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18303 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_TRUESTATE 18304 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LATCHEDSTATE_FALSESTATE 18305 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RESET 18306 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE 18307 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_ID 18308 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_NAME 18309 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_NUMBER 18310 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18311 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18312 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18313 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_TRUESTATE 18314 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_LATCHEDSTATE_FALSESTATE 18315 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_RESET 18316 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE 18317 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_ID 18318 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_NAME 18319 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_NUMBER 18320 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18321 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18322 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18323 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_TRUESTATE 18324 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_LATCHEDSTATE_FALSESTATE 18325 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_RESET 18326 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE 18327 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_ID 18328 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_NAME 18329 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_NUMBER 18330 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18331 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18332 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18333 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_TRUESTATE 18334 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_LATCHEDSTATE_FALSESTATE 18335 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RESET 18336 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE 18337 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_ID 18338 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_NAME 18339 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_NUMBER 18340 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18341 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18342 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18343 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_TRUESTATE 18344 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_LATCHEDSTATE_FALSESTATE 18345 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_RESET 18346 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE 18347 /* ObjectType */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_EVENTID 18348 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_EVENTTYPE 18349 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SOURCENODE 18350 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SOURCENAME 18351 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_TIME 18352 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RECEIVETIME 18353 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LOCALTIME 18354 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_MESSAGE 18355 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SEVERITY 18356 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONCLASSID 18357 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONCLASSNAME 18358 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSID 18359 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSNAME 18360 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONNAME 18361 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_BRANCHID 18362 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RETAIN 18363 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE 18364 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_ID 18365 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_NAME 18366 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_NUMBER 18367 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 18368 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 18369 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 18370 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRUESTATE 18371 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLEDSTATE_FALSESTATE 18372 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_QUALITY 18373 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_QUALITY_SOURCETIMESTAMP 18374 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LASTSEVERITY 18375 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 18376 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_COMMENT 18377 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_COMMENT_SOURCETIMESTAMP 18378 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CLIENTUSERID 18379 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_DISABLE 18380 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ENABLE 18381 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ADDCOMMENT 18382 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 18383 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH 18384 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 18385 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH2 18386 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 18387 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE 18388 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_ID 18389 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_NAME 18390 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_NUMBER 18391 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 18392 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_TRANSITIONTIME 18393 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 18394 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_TRUESTATE 18395 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKEDSTATE_FALSESTATE 18396 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE 18397 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_ID 18398 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NAME 18399 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NUMBER 18400 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 18401 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 18402 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 18403 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRUESTATE 18404 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_FALSESTATE 18405 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKNOWLEDGE 18406 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 18407 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRM 18408 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_CONFIRM_INPUTARGUMENTS 18409 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE 18410 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_ID 18411 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_NAME 18412 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_NUMBER 18413 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 18414 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_TRANSITIONTIME 18415 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 18416 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_TRUESTATE 18417 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ACTIVESTATE_FALSESTATE 18418 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_INPUTNODE 18419 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE 18420 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_ID 18421 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NAME 18422 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NUMBER 18423 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 18424 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 18425 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 18426 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 18427 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 18428 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE 18429 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_ID 18430 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NAME 18431 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NUMBER 18432 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 18433 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 18434 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 18435 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 18436 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 18437 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE 18438 /* Object */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE 18439 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 18440 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 18441 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 18442 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 18443 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION 18444 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 18445 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 18446 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 18447 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 18448 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 18449 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 18450 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 18451 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVETIME 18452 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 18453 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 18454 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE 18455 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 18456 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESSEDORSHELVED 18457 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_MAXTIMESHELVED 18458 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLEENABLED 18459 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND 18460 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND_LISTID 18461 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND_AGENCYID 18462 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_AUDIBLESOUND_VERSIONID 18463 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE 18464 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_ID 18465 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_NAME 18466 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_NUMBER 18467 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 18468 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_TRANSITIONTIME 18469 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 18470 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_TRUESTATE 18471 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCESTATE_FALSESTATE 18472 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ONDELAY 18473 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_OFFDELAY 18474 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_FIRSTINGROUPFLAG 18475 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_FIRSTINGROUP 18476 /* Object */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE 18477 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_ID 18478 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_NAME 18479 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_NUMBER 18480 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18481 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18482 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18483 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRUESTATE 18484 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_LATCHEDSTATE_FALSESTATE 18485 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_ALARMGROUP_PLACEHOLDER 18486 /* Object */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REALARMTIME 18487 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REALARMREPEATCOUNT 18488 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SILENCE 18489 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESS 18490 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_UNSUPPRESS 18491 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE 18492 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_PLACEINSERVICE 18493 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RESET 18494 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_NORMALSTATE 18495 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE 18496 /* ObjectType */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_EVENTID 18497 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_EVENTTYPE 18498 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SOURCENODE 18499 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SOURCENAME 18500 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_TIME 18501 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RECEIVETIME 18502 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LOCALTIME 18503 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_MESSAGE 18504 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SEVERITY 18505 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONCLASSID 18506 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONCLASSNAME 18507 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSID 18508 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONSUBCLASSNAME 18509 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONNAME 18510 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_BRANCHID 18511 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RETAIN 18512 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE 18513 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_ID 18514 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_NAME 18515 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_NUMBER 18516 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 18517 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 18518 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 18519 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_TRUESTATE 18520 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLEDSTATE_FALSESTATE 18521 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_QUALITY 18522 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_QUALITY_SOURCETIMESTAMP 18523 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LASTSEVERITY 18524 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 18525 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_COMMENT 18526 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_COMMENT_SOURCETIMESTAMP 18527 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CLIENTUSERID 18528 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_DISABLE 18529 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ENABLE 18530 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ADDCOMMENT 18531 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 18532 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH 18533 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 18534 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH2 18535 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 18536 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE 18537 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_ID 18538 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_NAME 18539 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_NUMBER 18540 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 18541 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_TRANSITIONTIME 18542 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 18543 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_TRUESTATE 18544 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKEDSTATE_FALSESTATE 18545 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE 18546 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_ID 18547 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NAME 18548 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_NUMBER 18549 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 18550 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 18551 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 18552 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_TRUESTATE 18553 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRMEDSTATE_FALSESTATE 18554 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKNOWLEDGE 18555 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 18556 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRM 18557 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_CONFIRM_INPUTARGUMENTS 18558 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE 18559 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_ID 18560 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_NAME 18561 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_NUMBER 18562 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 18563 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_TRANSITIONTIME 18564 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 18565 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_TRUESTATE 18566 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ACTIVESTATE_FALSESTATE 18567 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_INPUTNODE 18568 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE 18569 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_ID 18570 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NAME 18571 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_NUMBER 18572 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 18573 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 18574 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 18575 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 18576 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 18577 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE 18578 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_ID 18579 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NAME 18580 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_NUMBER 18581 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 18582 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 18583 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 18584 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 18585 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 18586 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE 18587 /* Object */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE 18588 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 18589 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 18590 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 18591 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 18592 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION 18593 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 18594 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 18595 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 18596 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 18597 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 18598 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 18599 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 18600 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVETIME 18601 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 18602 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 18603 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE 18604 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 18605 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESSEDORSHELVED 18606 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_MAXTIMESHELVED 18607 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLEENABLED 18608 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND 18609 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND_LISTID 18610 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND_AGENCYID 18611 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_AUDIBLESOUND_VERSIONID 18612 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE 18613 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_ID 18614 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_NAME 18615 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_NUMBER 18616 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 18617 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_TRANSITIONTIME 18618 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 18619 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_TRUESTATE 18620 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCESTATE_FALSESTATE 18621 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ONDELAY 18622 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_OFFDELAY 18623 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_FIRSTINGROUPFLAG 18624 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_FIRSTINGROUP 18625 /* Object */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE 18626 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_ID 18627 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_NAME 18628 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_NUMBER 18629 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18630 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18631 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18632 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_TRUESTATE 18633 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_LATCHEDSTATE_FALSESTATE 18634 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_ALARMGROUP_PLACEHOLDER 18635 /* Object */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REALARMTIME 18636 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REALARMREPEATCOUNT 18637 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SILENCE 18638 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESS 18639 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_UNSUPPRESS 18640 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE 18641 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_PLACEINSERVICE 18642 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RESET 18643 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_NORMALSTATE 18644 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE 18645 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_ID 18646 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_NAME 18647 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_NUMBER 18648 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18649 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18650 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18651 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_TRUESTATE 18652 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_LATCHEDSTATE_FALSESTATE 18653 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RESET 18654 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE 18655 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_ID 18656 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_NAME 18657 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_NUMBER 18658 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 18659 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 18660 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 18661 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_TRUESTATE 18662 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_LATCHEDSTATE_FALSESTATE 18663 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_RESET 18664 /* Method */ -#define UA_NS0ID_STATISTICALCONDITIONCLASSTYPE 18665 /* ObjectType */ -#define UA_NS0ID_ALARMMETRICSTYPE_RESET 18666 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS 18667 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18668 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18669 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18670 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18671 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18672 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18673 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18674 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18675 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18676 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18677 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18678 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18679 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18680 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18681 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18682 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18683 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18684 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18685 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18686 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18687 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18688 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18689 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18690 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18691 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18692 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18693 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18694 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18695 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18696 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18697 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18698 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18699 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18700 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18701 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18702 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18703 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18704 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18705 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18706 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18707 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18708 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18709 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18710 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18711 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18712 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 18713 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 18714 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS 18715 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 18716 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION 18717 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18718 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18719 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18720 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18721 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR 18722 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 18723 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18724 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18725 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18726 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_RESET 18727 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_SUBERROR 18728 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS 18729 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR 18730 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18731 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18732 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18733 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18734 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18735 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18736 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18737 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18738 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18739 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18740 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18741 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18742 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18743 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18744 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18745 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18746 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18747 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18748 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18749 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18750 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18751 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18752 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18753 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18754 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18755 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18756 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18757 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18758 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18759 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES 18760 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 18761 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 18762 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 18763 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 18764 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 18765 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 18766 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 18767 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 18768 /* Variable */ -#define UA_NS0ID_THREEDVECTORTYPE_X 18769 /* Variable */ -#define UA_NS0ID_THREEDVECTORTYPE_Y 18770 /* Variable */ -#define UA_NS0ID_THREEDVECTORTYPE_Z 18771 /* Variable */ -#define UA_NS0ID_CARTESIANCOORDINATESTYPE 18772 /* VariableType */ -#define UA_NS0ID_CARTESIANCOORDINATESTYPE_LENGTHUNIT 18773 /* Variable */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE 18774 /* VariableType */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_LENGTHUNIT 18775 /* Variable */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_X 18776 /* Variable */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_Y 18777 /* Variable */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATESTYPE_Z 18778 /* Variable */ -#define UA_NS0ID_ORIENTATIONTYPE 18779 /* VariableType */ -#define UA_NS0ID_ORIENTATIONTYPE_ANGLEUNIT 18780 /* Variable */ -#define UA_NS0ID_THREEDORIENTATIONTYPE 18781 /* VariableType */ -#define UA_NS0ID_THREEDORIENTATIONTYPE_ANGLEUNIT 18782 /* Variable */ -#define UA_NS0ID_THREEDORIENTATIONTYPE_A 18783 /* Variable */ -#define UA_NS0ID_THREEDORIENTATIONTYPE_B 18784 /* Variable */ -#define UA_NS0ID_THREEDORIENTATIONTYPE_C 18785 /* Variable */ -#define UA_NS0ID_FRAMETYPE 18786 /* VariableType */ -#define UA_NS0ID_FRAMETYPE_ORIENTATION 18787 /* Variable */ -#define UA_NS0ID_FRAMETYPE_CONSTANT 18788 /* Variable */ -#define UA_NS0ID_FRAMETYPE_BASEFRAME 18789 /* Variable */ -#define UA_NS0ID_FRAMETYPE_FIXEDBASE 18790 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE 18791 /* VariableType */ -#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION 18792 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_CONSTANT 18793 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_BASEFRAME 18794 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_FIXEDBASE 18795 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES 18796 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_LENGTHUNIT 18797 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_X 18798 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_Y 18799 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_CARTESIANCOORDINATES_Z 18800 /* Variable */ -#define UA_NS0ID_FRAMETYPE_CARTESIANCOORDINATES 18801 /* Variable */ -#define UA_NS0ID_FRAMETYPE_CARTESIANCOORDINATES_LENGTHUNIT 18802 /* Variable */ -#define UA_NS0ID_FRAMETYPE_ORIENTATION_ANGLEUNIT 18803 /* Variable */ -#define UA_NS0ID_HASWRITERGROUP 18804 /* ReferenceType */ -#define UA_NS0ID_HASREADERGROUP 18805 /* ReferenceType */ -#define UA_NS0ID_RATIONALNUMBER 18806 /* DataType */ -#define UA_NS0ID_VECTOR 18807 /* DataType */ -#define UA_NS0ID_THREEDVECTOR 18808 /* DataType */ -#define UA_NS0ID_CARTESIANCOORDINATES 18809 /* DataType */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATES 18810 /* DataType */ -#define UA_NS0ID_ORIENTATION 18811 /* DataType */ -#define UA_NS0ID_THREEDORIENTATION 18812 /* DataType */ -#define UA_NS0ID_FRAME 18813 /* DataType */ -#define UA_NS0ID_THREEDFRAME 18814 /* DataType */ -#define UA_NS0ID_RATIONALNUMBER_ENCODING_DEFAULTBINARY 18815 /* Object */ -#define UA_NS0ID_VECTOR_ENCODING_DEFAULTBINARY 18816 /* Object */ -#define UA_NS0ID_THREEDVECTOR_ENCODING_DEFAULTBINARY 18817 /* Object */ -#define UA_NS0ID_CARTESIANCOORDINATES_ENCODING_DEFAULTBINARY 18818 /* Object */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATES_ENCODING_DEFAULTBINARY 18819 /* Object */ -#define UA_NS0ID_ORIENTATION_ENCODING_DEFAULTBINARY 18820 /* Object */ -#define UA_NS0ID_THREEDORIENTATION_ENCODING_DEFAULTBINARY 18821 /* Object */ -#define UA_NS0ID_FRAME_ENCODING_DEFAULTBINARY 18822 /* Object */ -#define UA_NS0ID_THREEDFRAME_ENCODING_DEFAULTBINARY 18823 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RATIONALNUMBER 18824 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RATIONALNUMBER_DATATYPEVERSION 18825 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RATIONALNUMBER_DICTIONARYFRAGMENT 18826 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_VECTOR 18827 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_VECTOR_DATATYPEVERSION 18828 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_VECTOR_DICTIONARYFRAGMENT 18829 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDVECTOR 18830 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDVECTOR_DATATYPEVERSION 18831 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDVECTOR_DICTIONARYFRAGMENT 18832 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CARTESIANCOORDINATES 18833 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CARTESIANCOORDINATES_DATATYPEVERSION 18834 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CARTESIANCOORDINATES_DICTIONARYFRAGMENT 18835 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDCARTESIANCOORDINATES 18836 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDCARTESIANCOORDINATES_DATATYPEVERSION 18837 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDCARTESIANCOORDINATES_DICTIONARYFRAGMENT 18838 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ORIENTATION 18839 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ORIENTATION_DATATYPEVERSION 18840 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ORIENTATION_DICTIONARYFRAGMENT 18841 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDORIENTATION 18842 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDORIENTATION_DATATYPEVERSION 18843 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDORIENTATION_DICTIONARYFRAGMENT 18844 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FRAME 18845 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FRAME_DATATYPEVERSION 18846 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FRAME_DICTIONARYFRAGMENT 18847 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDFRAME 18848 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDFRAME_DATATYPEVERSION 18849 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_THREEDFRAME_DICTIONARYFRAGMENT 18850 /* Variable */ -#define UA_NS0ID_RATIONALNUMBER_ENCODING_DEFAULTXML 18851 /* Object */ -#define UA_NS0ID_VECTOR_ENCODING_DEFAULTXML 18852 /* Object */ -#define UA_NS0ID_THREEDVECTOR_ENCODING_DEFAULTXML 18853 /* Object */ -#define UA_NS0ID_CARTESIANCOORDINATES_ENCODING_DEFAULTXML 18854 /* Object */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATES_ENCODING_DEFAULTXML 18855 /* Object */ -#define UA_NS0ID_ORIENTATION_ENCODING_DEFAULTXML 18856 /* Object */ -#define UA_NS0ID_THREEDORIENTATION_ENCODING_DEFAULTXML 18857 /* Object */ -#define UA_NS0ID_FRAME_ENCODING_DEFAULTXML 18858 /* Object */ -#define UA_NS0ID_THREEDFRAME_ENCODING_DEFAULTXML 18859 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RATIONALNUMBER 18860 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RATIONALNUMBER_DATATYPEVERSION 18861 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RATIONALNUMBER_DICTIONARYFRAGMENT 18862 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_VECTOR 18863 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_VECTOR_DATATYPEVERSION 18864 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_VECTOR_DICTIONARYFRAGMENT 18865 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDVECTOR 18866 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDVECTOR_DATATYPEVERSION 18867 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDVECTOR_DICTIONARYFRAGMENT 18868 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CARTESIANCOORDINATES 18869 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CARTESIANCOORDINATES_DATATYPEVERSION 18870 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 18871 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18872 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18873 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18874 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18875 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18876 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18877 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18878 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18879 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18880 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18881 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18882 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18883 /* Method */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18884 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18885 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18886 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18887 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18888 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18889 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18890 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18891 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18892 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18893 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18894 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18895 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18896 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18897 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18898 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18899 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18900 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18901 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18902 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18903 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18904 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18905 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18906 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18907 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18908 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18909 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18910 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18911 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18912 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18913 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18914 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18915 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18916 /* Object */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 18917 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 18918 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 18919 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 18920 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 18921 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 18922 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 18923 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 18924 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 18925 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 18926 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 18927 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 18928 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 18929 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 18930 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18931 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18932 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18933 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18934 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18935 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18936 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18937 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18938 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18939 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18940 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 18941 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 18942 /* Method */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 18943 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 18944 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 18945 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 18946 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 18947 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 18948 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 18949 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 18950 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 18951 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 18952 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 18953 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 18954 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 18955 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 18956 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 18957 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 18958 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 18959 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 18960 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 18961 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 18962 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 18963 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 18964 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 18965 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 18966 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 18967 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 18968 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 18969 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 18970 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 18971 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 18972 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 18973 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 18974 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 18975 /* Object */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 18976 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 18977 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 18978 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 18979 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 18980 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 18981 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 18982 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 18983 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 18984 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 18985 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 18986 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 18987 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 18988 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS 18989 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 18990 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 18991 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 18992 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 18993 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 18994 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 18995 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 18996 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 18997 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 18998 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 18999 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19000 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_RESET 19001 /* Method */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 19002 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 19003 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 19004 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19005 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19006 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19007 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19008 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19009 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19010 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19011 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19012 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19013 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19014 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19015 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19016 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19017 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19018 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19019 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19020 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19021 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19022 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19023 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19024 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19025 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19026 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19027 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19028 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19029 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19030 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19031 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19032 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19033 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 19034 /* Object */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 19035 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 19036 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 19037 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 19038 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 19039 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 19040 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 19041 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE 19042 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 19043 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 19044 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 19045 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION 19046 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_DATASETWRITERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 19047 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CARTESIANCOORDINATES_DICTIONARYFRAGMENT 19048 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDCARTESIANCOORDINATES 19049 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDCARTESIANCOORDINATES_DATATYPEVERSION 19050 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDCARTESIANCOORDINATES_DICTIONARYFRAGMENT 19051 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ORIENTATION 19052 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ORIENTATION_DATATYPEVERSION 19053 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ORIENTATION_DICTIONARYFRAGMENT 19054 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDORIENTATION 19055 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDORIENTATION_DATATYPEVERSION 19056 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDORIENTATION_DICTIONARYFRAGMENT 19057 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FRAME 19058 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FRAME_DATATYPEVERSION 19059 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_FRAME_DICTIONARYFRAGMENT 19060 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDFRAME 19061 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDFRAME_DATATYPEVERSION 19062 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_THREEDFRAME_DICTIONARYFRAGMENT 19063 /* Variable */ -#define UA_NS0ID_RATIONALNUMBER_ENCODING_DEFAULTJSON 19064 /* Object */ -#define UA_NS0ID_VECTOR_ENCODING_DEFAULTJSON 19065 /* Object */ -#define UA_NS0ID_THREEDVECTOR_ENCODING_DEFAULTJSON 19066 /* Object */ -#define UA_NS0ID_CARTESIANCOORDINATES_ENCODING_DEFAULTJSON 19067 /* Object */ -#define UA_NS0ID_THREEDCARTESIANCOORDINATES_ENCODING_DEFAULTJSON 19068 /* Object */ -#define UA_NS0ID_ORIENTATION_ENCODING_DEFAULTJSON 19069 /* Object */ -#define UA_NS0ID_THREEDORIENTATION_ENCODING_DEFAULTJSON 19070 /* Object */ -#define UA_NS0ID_FRAME_ENCODING_DEFAULTJSON 19071 /* Object */ -#define UA_NS0ID_THREEDFRAME_ENCODING_DEFAULTJSON 19072 /* Object */ -#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_ANGLEUNIT 19073 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_A 19074 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_B 19075 /* Variable */ -#define UA_NS0ID_THREEDFRAMETYPE_ORIENTATION_C 19076 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE 19077 /* VariableType */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_DEFINITION 19078 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_VALUEPRECISION 19079 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_ENUMVALUES 19080 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_VALUEASTEXT 19081 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_ENUMDICTIONARYENTRIES 19082 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETEBASETYPE_VALUEASDICTIONARYENTRIES 19083 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE 19084 /* VariableType */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_DEFINITION 19085 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_VALUEPRECISION 19086 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_ENUMVALUES 19087 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_VALUEASTEXT 19088 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_ENUMDICTIONARYENTRIES 19089 /* Variable */ -#define UA_NS0ID_MULTISTATEDICTIONARYENTRYDISCRETETYPE_VALUEASDICTIONARYENTRIES 19090 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIES_SERVERTIMESTAMPSUPPORTED 19091 /* Variable */ -#define UA_NS0ID_HISTORICALDATACONFIGURATIONTYPE_SERVERTIMESTAMPSUPPORTED 19092 /* Variable */ -#define UA_NS0ID_HACONFIGURATION_SERVERTIMESTAMPSUPPORTED 19093 /* Variable */ -#define UA_NS0ID_HISTORYSERVERCAPABILITIESTYPE_SERVERTIMESTAMPSUPPORTED 19094 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE 19095 /* ObjectType */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_EVENTID 19096 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_EVENTTYPE 19097 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SOURCENODE 19098 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SOURCENAME 19099 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_TIME 19100 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_RECEIVETIME 19101 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_LOCALTIME 19102 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_MESSAGE 19103 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SEVERITY 19104 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_ACTIONTIMESTAMP 19105 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_STATUS 19106 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS 19107 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 19108 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 19109 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19110 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19111 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19112 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19113 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 19114 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 19115 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19116 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19117 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19118 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_RESET 19119 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 19120 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 19121 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 19122 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19123 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19124 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19125 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19126 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19127 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19128 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19129 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19130 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19131 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19132 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19133 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19134 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19135 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19136 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19137 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19138 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19139 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19140 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19141 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19142 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19143 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19144 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19145 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19146 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19147 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19148 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19149 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19150 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19151 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 19152 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES 19153 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_ACTIVE 19154 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_CLASSIFICATION 19155 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_DIAGNOSTICSLEVEL 19156 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_SENTNETWORKMESSAGES_TIMEFIRSTCHANGE 19157 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS 19158 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_ACTIVE 19159 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_CLASSIFICATION 19160 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_DIAGNOSTICSLEVEL 19161 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_FAILEDTRANSMISSIONS_TIMEFIRSTCHANGE 19162 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS 19163 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_ACTIVE 19164 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_CLASSIFICATION 19165 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_DIAGNOSTICSLEVEL 19166 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_ENCRYPTIONERRORS_TIMEFIRSTCHANGE 19167 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 19168 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 19169 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 19170 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 19171 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 19172 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 19173 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 19174 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_WRITERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 19175 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS 19176 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 19177 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 19178 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19179 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19180 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19181 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19182 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 19183 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 19184 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19185 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19186 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19187 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_RESET 19188 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 19189 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 19190 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 19191 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19192 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19193 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19194 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19195 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19196 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19197 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19198 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19199 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19200 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19201 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19202 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19203 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19204 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19205 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19206 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19207 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19208 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19209 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19210 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19211 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19212 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19213 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19214 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19215 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19216 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19217 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19218 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19219 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19220 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 19221 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES 19222 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_ACTIVE 19223 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_CLASSIFICATION 19224 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19225 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_TIMEFIRSTCHANGE 19226 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES 19227 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_ACTIVE 19228 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_CLASSIFICATION 19229 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19230 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_TIMEFIRSTCHANGE 19231 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 19232 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 19233 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 19234 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 19235 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 19236 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 19237 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 19238 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 19239 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_READERGROUPNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 19240 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS 19241 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 19242 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION 19243 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19244 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19245 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19246 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19247 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR 19248 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 19249 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19250 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19251 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19252 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_RESET 19253 /* Method */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_SUBERROR 19254 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS 19255 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 19256 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19257 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19258 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19259 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19260 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19261 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19262 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19263 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19264 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19265 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19266 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19267 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19268 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19269 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19270 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19271 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19272 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19273 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19274 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19275 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19276 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19277 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19278 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19279 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19280 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19281 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19282 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19283 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19284 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19285 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_LIVEVALUES 19286 /* Object */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 19287 /* Variable */ -#define UA_NS0ID_PUBSUBCONNECTIONTYPE_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 19288 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_SERVERID 19289 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CLIENTAUDITENTRYID 19290 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CLIENTUSERID 19291 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_PARAMETERDATATYPEID 19292 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_PERFORMINSERTREPLACE 19293 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_NEWVALUES 19294 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_OLDVALUES 19295 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_UPDATEFREQUENCY 19296 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE 19297 /* ObjectType */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_EVENTID 19298 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_EVENTTYPE 19299 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SOURCENODE 19300 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SOURCENAME 19301 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_TIME 19302 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RECEIVETIME 19303 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LOCALTIME 19304 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_MESSAGE 19305 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SEVERITY 19306 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONCLASSID 19307 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONCLASSNAME 19308 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONSUBCLASSID 19309 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONSUBCLASSNAME 19310 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONNAME 19311 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_BRANCHID 19312 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RETAIN 19313 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE 19314 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_ID 19315 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_NAME 19316 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_NUMBER 19317 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 19318 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_TRANSITIONTIME 19319 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 19320 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_TRUESTATE 19321 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLEDSTATE_FALSESTATE 19322 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_QUALITY 19323 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_QUALITY_SOURCETIMESTAMP 19324 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LASTSEVERITY 19325 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LASTSEVERITY_SOURCETIMESTAMP 19326 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_COMMENT 19327 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_COMMENT_SOURCETIMESTAMP 19328 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CLIENTUSERID 19329 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_DISABLE 19330 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ENABLE 19331 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ADDCOMMENT 19332 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ADDCOMMENT_INPUTARGUMENTS 19333 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH 19334 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH_INPUTARGUMENTS 19335 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH2 19336 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONDITIONREFRESH2_INPUTARGUMENTS 19337 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE 19338 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_ID 19339 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_NAME 19340 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_NUMBER 19341 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 19342 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_TRANSITIONTIME 19343 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 19344 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_TRUESTATE 19345 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKEDSTATE_FALSESTATE 19346 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE 19347 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_ID 19348 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_NAME 19349 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_NUMBER 19350 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 19351 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_TRANSITIONTIME 19352 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 19353 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_TRUESTATE 19354 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRMEDSTATE_FALSESTATE 19355 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKNOWLEDGE 19356 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACKNOWLEDGE_INPUTARGUMENTS 19357 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRM 19358 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_CONFIRM_INPUTARGUMENTS 19359 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE 19360 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_ID 19361 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_NAME 19362 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_NUMBER 19363 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 19364 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_TRANSITIONTIME 19365 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 19366 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_TRUESTATE 19367 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ACTIVESTATE_FALSESTATE 19368 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_INPUTNODE 19369 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE 19370 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_ID 19371 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_NAME 19372 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_NUMBER 19373 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 19374 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_TRANSITIONTIME 19375 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 19376 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_TRUESTATE 19377 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDSTATE_FALSESTATE 19378 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE 19379 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_ID 19380 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_NAME 19381 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_NUMBER 19382 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 19383 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_TRANSITIONTIME 19384 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 19385 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_TRUESTATE 19386 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OUTOFSERVICESTATE_FALSESTATE 19387 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE 19388 /* Object */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE 19389 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_ID 19390 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NAME 19391 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_NUMBER 19392 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 19393 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION 19394 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_ID 19395 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NAME 19396 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_NUMBER 19397 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 19398 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 19399 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_AVAILABLESTATES 19400 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_AVAILABLETRANSITIONS 19401 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVETIME 19402 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE 19403 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 19404 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVE 19405 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE 19406 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESSEDORSHELVED 19407 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_MAXTIMESHELVED 19408 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLEENABLED 19409 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND 19410 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND_LISTID 19411 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND_AGENCYID 19412 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_AUDIBLESOUND_VERSIONID 19413 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE 19414 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_ID 19415 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_NAME 19416 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_NUMBER 19417 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_EFFECTIVEDISPLAYNAME 19418 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_TRANSITIONTIME 19419 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_EFFECTIVETRANSITIONTIME 19420 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_TRUESTATE 19421 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCESTATE_FALSESTATE 19422 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ONDELAY 19423 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_OFFDELAY 19424 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_FIRSTINGROUPFLAG 19425 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_FIRSTINGROUP 19426 /* Object */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE 19427 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_ID 19428 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_NAME 19429 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_NUMBER 19430 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 19431 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_TRANSITIONTIME 19432 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 19433 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_TRUESTATE 19434 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LATCHEDSTATE_FALSESTATE 19435 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_ALARMGROUP_PLACEHOLDER 19436 /* Object */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REALARMTIME 19437 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REALARMREPEATCOUNT 19438 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SILENCE 19439 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESS 19440 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UNSUPPRESS 19441 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REMOVEFROMSERVICE 19442 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_PLACEINSERVICE 19443 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RESET 19444 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_NORMALSTATE 19445 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_TRUSTLISTID 19446 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_LASTUPDATETIME 19447 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UPDATEFREQUENCY 19448 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_UPDATEFREQUENCY 19449 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED 19450 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EVENTID 19451 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EVENTTYPE 19452 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SOURCENODE 19453 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SOURCENAME 19454 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_TIME 19455 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RECEIVETIME 19456 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LOCALTIME 19457 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_MESSAGE 19458 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SEVERITY 19459 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONCLASSID 19460 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 19461 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 19462 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 19463 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONDITIONNAME 19464 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_BRANCHID 19465 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RETAIN 19466 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE 19467 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 19468 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 19469 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 19470 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 19471 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 19472 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 19473 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 19474 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 19475 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_QUALITY 19476 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 19477 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LASTSEVERITY 19478 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 19479 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_COMMENT 19480 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 19481 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CLIENTUSERID 19482 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_DISABLE 19483 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ENABLE 19484 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ADDCOMMENT 19485 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 19486 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE 19487 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_ID 19488 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 19489 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 19490 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 19491 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 19492 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 19493 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 19494 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 19495 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE 19496 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 19497 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 19498 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 19499 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 19500 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 19501 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 19502 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 19503 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 19504 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKNOWLEDGE 19505 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 19506 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRM 19507 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 19508 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE 19509 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_ID 19510 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 19511 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 19512 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 19513 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 19514 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 19515 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 19516 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 19517 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_INPUTNODE 19518 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 19519 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 19520 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 19521 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 19522 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 19523 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 19524 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 19525 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 19526 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 19527 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 19528 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 19529 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 19530 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 19531 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 19532 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 19533 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 19534 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 19535 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 19536 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE 19537 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 19538 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 19539 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 19540 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 19541 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 19542 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 19543 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 19544 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 19545 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 19546 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 19547 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 19548 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 19549 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS 19550 /* Object */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 19551 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION 19552 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19553 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19554 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19555 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19556 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR 19557 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 19558 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19559 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19560 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19561 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_RESET 19562 /* Method */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_SUBERROR 19563 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS 19564 /* Object */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 19565 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19566 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19567 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19568 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19569 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19570 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19571 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19572 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19573 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19574 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19575 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19576 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19577 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19578 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19579 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19580 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19581 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19582 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19583 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19584 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19585 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19586 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19587 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19588 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19589 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19590 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19591 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19592 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19593 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19594 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES 19595 /* Object */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 19596 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 19597 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 19598 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 19599 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 19600 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 19601 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 19602 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE 19603 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 19604 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 19605 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 19606 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION 19607 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 19608 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS 19609 /* Object */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 19610 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION 19611 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 19612 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 19613 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 19614 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 19615 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR 19616 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 19617 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 19618 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 19619 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 19620 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_RESET 19621 /* Method */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_SUBERROR 19622 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS 19623 /* Object */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 19624 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 19625 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 19626 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19627 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19628 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 19629 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19630 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19631 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19632 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19633 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 19634 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19635 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19636 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19637 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19638 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 19639 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19640 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19641 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19642 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19643 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 19644 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19645 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19646 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19647 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19648 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 19649 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19650 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19651 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19652 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19653 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES 19654 /* Object */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES 19655 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 19656 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 19657 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 19658 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 19659 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 19660 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 19661 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 19662 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 19663 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 19664 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER 19665 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 19666 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE 19667 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 19668 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION 19669 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 19670 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION 19671 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 19672 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 19673 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 19674 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 19675 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 19676 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE 19677 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_DIAGNOSTICSLEVEL 19678 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION 19679 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_ACTIVE 19680 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_CLASSIFICATION 19681 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19682 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19683 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR 19684 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_ACTIVE 19685 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_CLASSIFICATION 19686 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19687 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_TOTALERROR_TIMEFIRSTCHANGE 19688 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_RESET 19689 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_SUBERROR 19690 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS 19691 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR 19692 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_ACTIVE 19693 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19694 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19695 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19696 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19697 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19698 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19699 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19700 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19701 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19702 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19703 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19704 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19705 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19706 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19707 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19708 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19709 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19710 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19711 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT 19712 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19713 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19714 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19715 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19716 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19717 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19718 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19719 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19720 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19721 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSTYPE_LIVEVALUES 19722 /* Object */ -#define UA_NS0ID_DIAGNOSTICSLEVEL 19723 /* DataType */ -#define UA_NS0ID_DIAGNOSTICSLEVEL_ENUMSTRINGS 19724 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE 19725 /* VariableType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_ACTIVE 19726 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_CLASSIFICATION 19727 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_DIAGNOSTICSLEVEL 19728 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERTYPE_TIMEFIRSTCHANGE 19729 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION 19730 /* DataType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_ENUMSTRINGS 19731 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE 19732 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_DIAGNOSTICSLEVEL 19733 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION 19734 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_ACTIVE 19735 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_CLASSIFICATION 19736 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19737 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19738 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR 19739 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_ACTIVE 19740 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_CLASSIFICATION 19741 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19742 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_TOTALERROR_TIMEFIRSTCHANGE 19743 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_RESET 19744 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_SUBERROR 19745 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS 19746 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR 19747 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_ACTIVE 19748 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19749 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19750 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19751 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19752 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19753 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19754 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19755 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19756 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19757 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19758 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19759 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19760 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19761 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19762 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19763 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19764 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19765 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19766 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT 19767 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19768 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19769 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19770 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19771 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19772 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19773 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19774 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19775 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19776 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES 19777 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS 19778 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 19779 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS 19780 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 19781 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS 19782 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 19783 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETREADERS 19784 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSROOTTYPE_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 19785 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE 19786 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_DIAGNOSTICSLEVEL 19787 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION 19788 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_ACTIVE 19789 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_CLASSIFICATION 19790 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19791 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19792 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR 19793 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_ACTIVE 19794 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_CLASSIFICATION 19795 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19796 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_TOTALERROR_TIMEFIRSTCHANGE 19797 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_RESET 19798 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_SUBERROR 19799 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS 19800 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR 19801 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_ACTIVE 19802 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19803 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19804 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19805 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19806 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19807 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19808 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19809 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19810 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19811 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19812 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19813 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19814 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19815 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19816 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19817 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19818 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19819 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19820 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT 19821 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19822 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19823 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19824 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19825 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19826 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19827 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19828 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19829 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19830 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_LIVEVALUES 19831 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_LIVEVALUES_RESOLVEDADDRESS 19832 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSCONNECTIONTYPE_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 19833 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE 19834 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_DIAGNOSTICSLEVEL 19835 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION 19836 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_ACTIVE 19837 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_CLASSIFICATION 19838 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19839 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19840 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR 19841 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_ACTIVE 19842 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_CLASSIFICATION 19843 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19844 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_TOTALERROR_TIMEFIRSTCHANGE 19845 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_RESET 19846 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_SUBERROR 19847 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS 19848 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR 19849 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_ACTIVE 19850 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19851 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19852 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19853 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19854 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19855 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19856 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19857 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19858 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19859 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19860 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19861 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19862 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19863 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19864 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19865 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19866 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19867 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19868 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT 19869 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19870 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19871 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19872 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19873 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19874 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19875 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19876 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19877 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19878 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES 19879 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES 19880 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_ACTIVE 19881 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_CLASSIFICATION 19882 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_DIAGNOSTICSLEVEL 19883 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_SENTNETWORKMESSAGES_TIMEFIRSTCHANGE 19884 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS 19885 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_ACTIVE 19886 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_CLASSIFICATION 19887 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_DIAGNOSTICSLEVEL 19888 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_FAILEDTRANSMISSIONS_TIMEFIRSTCHANGE 19889 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS 19890 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_ACTIVE 19891 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_CLASSIFICATION 19892 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_DIAGNOSTICSLEVEL 19893 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_COUNTERS_ENCRYPTIONERRORS_TIMEFIRSTCHANGE 19894 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS 19895 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 19896 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS 19897 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 19898 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_SECURITYTOKENID 19899 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 19900 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_TIMETONEXTTOKENID 19901 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSWRITERGROUPTYPE_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 19902 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE 19903 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_DIAGNOSTICSLEVEL 19904 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION 19905 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_ACTIVE 19906 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_CLASSIFICATION 19907 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19908 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19909 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR 19910 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_ACTIVE 19911 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_CLASSIFICATION 19912 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19913 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_TOTALERROR_TIMEFIRSTCHANGE 19914 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_RESET 19915 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_SUBERROR 19916 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS 19917 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR 19918 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_ACTIVE 19919 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19920 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19921 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19922 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19923 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19924 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19925 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19926 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19927 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19928 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19929 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19930 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19931 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19932 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19933 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19934 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 19935 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 19936 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 19937 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT 19938 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 19939 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 19940 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 19941 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 19942 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD 19943 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 19944 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 19945 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 19946 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 19947 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES 19948 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES 19949 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_ACTIVE 19950 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_CLASSIFICATION 19951 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19952 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDNETWORKMESSAGES_TIMEFIRSTCHANGE 19953 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES 19954 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_ACTIVE 19955 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_CLASSIFICATION 19956 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_DIAGNOSTICSLEVEL 19957 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_TIMEFIRSTCHANGE 19958 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS 19959 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_ACTIVE 19960 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 19961 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 19962 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 19963 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS 19964 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 19965 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETREADERS 19966 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSREADERGROUPTYPE_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 19967 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE 19968 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_DIAGNOSTICSLEVEL 19969 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION 19970 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_ACTIVE 19971 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_CLASSIFICATION 19972 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 19973 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 19974 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR 19975 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_ACTIVE 19976 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_CLASSIFICATION 19977 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_DIAGNOSTICSLEVEL 19978 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_TOTALERROR_TIMEFIRSTCHANGE 19979 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_RESET 19980 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_SUBERROR 19981 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS 19982 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR 19983 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_ACTIVE 19984 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_CLASSIFICATION 19985 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 19986 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 19987 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 19988 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 19989 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 19990 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 19991 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 19992 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT 19993 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 19994 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 19995 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 19996 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 19997 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR 19998 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 19999 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 20000 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 20001 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 20002 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT 20003 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 20004 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 20005 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 20006 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 20007 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD 20008 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 20009 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 20010 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 20011 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 20012 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES 20013 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES 20014 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 20015 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 20016 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 20017 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 20018 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER 20019 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 20020 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_STATUSCODE 20021 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 20022 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MAJORVERSION 20023 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 20024 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MINORVERSION 20025 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETWRITERTYPE_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 20026 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE 20027 /* ObjectType */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_DIAGNOSTICSLEVEL 20028 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION 20029 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_ACTIVE 20030 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_CLASSIFICATION 20031 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_DIAGNOSTICSLEVEL 20032 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALINFORMATION_TIMEFIRSTCHANGE 20033 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR 20034 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_ACTIVE 20035 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_CLASSIFICATION 20036 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_DIAGNOSTICSLEVEL 20037 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_TOTALERROR_TIMEFIRSTCHANGE 20038 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_RESET 20039 /* Method */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_SUBERROR 20040 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS 20041 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR 20042 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_ACTIVE 20043 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_CLASSIFICATION 20044 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 20045 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 20046 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD 20047 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 20048 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 20049 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 20050 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 20051 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT 20052 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 20053 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 20054 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 20055 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 20056 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR 20057 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 20058 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 20059 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 20060 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 20061 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT 20062 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 20063 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 20064 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 20065 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 20066 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD 20067 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 20068 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 20069 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 20070 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 20071 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES 20072 /* Object */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES 20073 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_ACTIVE 20074 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_CLASSIFICATION 20075 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_DIAGNOSTICSLEVEL 20076 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_FAILEDDATASETMESSAGES_TIMEFIRSTCHANGE 20077 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS 20078 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_ACTIVE 20079 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 20080 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 20081 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 20082 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER 20083 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MESSAGESEQUENCENUMBER_DIAGNOSTICSLEVEL 20084 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_STATUSCODE 20085 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_STATUSCODE_DIAGNOSTICSLEVEL 20086 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MAJORVERSION 20087 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MAJORVERSION_DIAGNOSTICSLEVEL 20088 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MINORVERSION 20089 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_MINORVERSION_DIAGNOSTICSLEVEL 20090 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_SECURITYTOKENID 20091 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 20092 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_TIMETONEXTTOKENID 20093 /* Variable */ -#define UA_NS0ID_PUBSUBDIAGNOSTICSDATASETREADERTYPE_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 20094 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20095 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20096 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20097 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20098 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20099 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20100 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20101 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_MAXTIMESHELVED 20102 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLEENABLED 20103 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND 20104 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20105 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20106 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20107 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE 20108 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_ID 20109 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_NAME 20110 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 20111 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 20112 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 20113 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 20114 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 20115 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 20116 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_ONDELAY 20117 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_OFFDELAY 20118 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 20119 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_FIRSTINGROUP 20120 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE 20121 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 20122 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 20123 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 20124 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20125 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 20126 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20127 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 20128 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 20129 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REALARMTIME 20130 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 20131 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SILENCE 20132 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESS 20133 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_UNSUPPRESS 20134 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 20135 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_PLACEINSERVICE 20136 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RESET 20137 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_NORMALSTATE 20138 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EXPIRATIONDATE 20139 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 20140 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CERTIFICATETYPE 20141 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_CERTIFICATE 20142 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE 20143 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_EVENTID 20144 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_EVENTTYPE 20145 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SOURCENODE 20146 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SOURCENAME 20147 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_TIME 20148 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RECEIVETIME 20149 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LOCALTIME 20150 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_MESSAGE 20151 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SEVERITY 20152 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 20153 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 20154 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 20155 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 20156 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONDITIONNAME 20157 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_BRANCHID 20158 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RETAIN 20159 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE 20160 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 20161 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 20162 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 20163 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20164 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 20165 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20166 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 20167 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 20168 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_QUALITY 20169 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 20170 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LASTSEVERITY 20171 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 20172 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_COMMENT 20173 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 20174 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CLIENTUSERID 20175 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_DISABLE 20176 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ENABLE 20177 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ADDCOMMENT 20178 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 20179 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE 20180 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 20181 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 20182 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 20183 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20184 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 20185 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20186 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 20187 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 20188 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 20189 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 20190 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 20191 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 20192 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20193 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 20194 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20195 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 20196 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 20197 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 20198 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 20199 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRM 20200 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 20201 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE 20202 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 20203 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 20204 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 20205 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20206 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 20207 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20208 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 20209 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 20210 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_INPUTNODE 20211 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 20212 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 20213 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 20214 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 20215 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20216 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 20217 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20218 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 20219 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 20220 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 20221 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 20222 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 20223 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 20224 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20225 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 20226 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20227 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 20228 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 20229 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE 20230 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 20231 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 20232 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 20233 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 20234 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20235 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 20236 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 20237 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 20238 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 20239 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20240 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20241 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 20242 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 20243 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 20244 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 20245 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20246 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 20247 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 20248 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 20249 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 20250 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 20251 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND 20252 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 20253 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 20254 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 20255 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE 20256 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 20257 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 20258 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 20259 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 20260 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 20261 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 20262 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 20263 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 20264 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_ONDELAY 20265 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_OFFDELAY 20266 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 20267 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_FIRSTINGROUP 20268 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE 20269 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 20270 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 20271 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 20272 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20273 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 20274 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20275 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 20276 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 20277 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REALARMTIME 20278 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 20279 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SILENCE 20280 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESS 20281 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UNSUPPRESS 20282 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 20283 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_PLACEINSERVICE 20284 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RESET 20285 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_NORMALSTATE 20286 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_TRUSTLISTID 20287 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_LASTUPDATETIME 20288 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 20289 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 20290 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 20291 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 20292 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 20293 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 20294 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 20295 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 20296 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 20297 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 20298 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 20299 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 20300 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 20301 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 20302 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 20303 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 20304 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 20305 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 20306 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 20307 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 20308 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 20309 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 20310 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 20311 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20312 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 20313 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20314 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 20315 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 20316 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 20317 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 20318 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 20319 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 20320 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 20321 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 20322 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 20323 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 20324 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 20325 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 20326 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 20327 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 20328 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 20329 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 20330 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 20331 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20332 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 20333 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20334 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 20335 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 20336 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 20337 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 20338 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 20339 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 20340 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20341 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 20342 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20343 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 20344 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 20345 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 20346 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 20347 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 20348 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 20349 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 20350 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 20351 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 20352 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 20353 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20354 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 20355 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20356 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 20357 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 20358 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 20359 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 20360 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 20361 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 20362 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 20363 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20364 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 20365 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20366 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 20367 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 20368 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 20369 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 20370 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 20371 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 20372 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20373 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 20374 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20375 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 20376 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 20377 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 20378 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 20379 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 20380 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 20381 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 20382 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20383 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 20384 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 20385 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 20386 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 20387 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20388 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20389 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 20390 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20391 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20392 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20393 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20394 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20395 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20396 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20397 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 20398 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 20399 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 20400 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20401 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20402 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20403 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 20404 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 20405 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 20406 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 20407 /* Variable */ -#define UA_NS0ID_DATASETORDERINGTYPE 20408 /* DataType */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID 20409 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 20410 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 20411 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 20412 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 20413 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 20414 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 20415 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 20416 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 20417 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 20418 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 20419 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 20420 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 20421 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 20422 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20423 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 20424 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20425 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 20426 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 20427 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 20428 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 20429 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 20430 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 20431 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 20432 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 20433 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 20434 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 20435 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 20436 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 20437 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 20438 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 20439 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 20440 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 20441 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 20442 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 20443 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 20444 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 20445 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 20446 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 20447 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 20448 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 20449 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 20450 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 20451 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 20452 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 20453 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 20454 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 20455 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 20456 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 20457 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 20458 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 20459 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 20460 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 20461 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20462 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 20463 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20464 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 20465 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 20466 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 20467 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 20468 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 20469 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 20470 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 20471 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 20472 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 20473 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 20474 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 20475 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 20476 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 20477 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 20478 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 20479 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 20480 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 20481 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20482 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 20483 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20484 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 20485 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 20486 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 20487 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 20488 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 20489 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 20490 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20491 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 20492 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20493 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 20494 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 20495 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 20496 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 20497 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 20498 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 20499 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 20500 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 20501 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 20502 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 20503 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20504 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 20505 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20506 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 20507 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 20508 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 20509 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 20510 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 20511 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 20512 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 20513 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20514 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 20515 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20516 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 20517 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 20518 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 20519 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 20520 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 20521 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 20522 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20523 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 20524 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20525 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 20526 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 20527 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 20528 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 20529 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 20530 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 20531 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 20532 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20533 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 20534 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 20535 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 20536 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 20537 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20538 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20539 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 20540 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 20541 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 20542 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 20543 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20544 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 20545 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 20546 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 20547 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 20548 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 20549 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 20550 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 20551 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 20552 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 20553 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 20554 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 20555 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 20556 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 20557 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 20558 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 20559 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 20560 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 20561 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 20562 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 20563 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 20564 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 20565 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 20566 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 20567 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 20568 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 20569 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 20570 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20571 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 20572 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20573 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 20574 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 20575 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 20576 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 20577 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 20578 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 20579 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 20580 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 20581 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 20582 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 20583 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 20584 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 20585 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 20586 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 20587 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 20588 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 20589 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 20590 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 20591 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 20592 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 20593 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 20594 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 20595 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 20596 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 20597 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 20598 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 20599 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 20600 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 20601 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 20602 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 20603 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 20604 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 20605 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 20606 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 20607 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 20608 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 20609 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20610 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 20611 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20612 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 20613 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 20614 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 20615 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 20616 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 20617 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 20618 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 20619 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 20620 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 20621 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 20622 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 20623 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 20624 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 20625 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 20626 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 20627 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 20628 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 20629 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20630 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 20631 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20632 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 20633 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 20634 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 20635 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 20636 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 20637 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 20638 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20639 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 20640 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20641 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 20642 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 20643 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 20644 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 20645 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 20646 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 20647 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 20648 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 20649 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 20650 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 20651 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20652 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 20653 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20654 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 20655 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 20656 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 20657 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 20658 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 20659 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 20660 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 20661 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20662 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 20663 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20664 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 20665 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 20666 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 20667 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 20668 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 20669 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 20670 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20671 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 20672 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20673 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 20674 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 20675 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 20676 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 20677 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 20678 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 20679 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 20680 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20681 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 20682 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 20683 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 20684 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 20685 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20686 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20687 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 20688 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20689 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20690 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20691 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20692 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20693 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20694 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20695 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 20696 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 20697 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 20698 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20699 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20700 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20701 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 20702 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 20703 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 20704 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 20705 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 20706 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 20707 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 20708 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 20709 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 20710 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 20711 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 20712 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 20713 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 20714 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 20715 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 20716 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 20717 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 20718 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20719 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 20720 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20721 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 20722 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 20723 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 20724 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 20725 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 20726 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 20727 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 20728 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 20729 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 20730 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 20731 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 20732 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 20733 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 20734 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 20735 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 20736 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 20737 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 20738 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 20739 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 20740 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 20741 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 20742 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 20743 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 20744 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 20745 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 20746 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 20747 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 20748 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 20749 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 20750 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 20751 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 20752 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 20753 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 20754 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 20755 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 20756 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 20757 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20758 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 20759 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20760 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 20761 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 20762 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 20763 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 20764 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 20765 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 20766 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 20767 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 20768 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 20769 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 20770 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 20771 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 20772 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 20773 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 20774 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 20775 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 20776 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 20777 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20778 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 20779 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20780 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 20781 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 20782 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 20783 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 20784 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 20785 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 20786 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20787 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 20788 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20789 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 20790 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 20791 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 20792 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 20793 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 20794 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 20795 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 20796 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 20797 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 20798 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 20799 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20800 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 20801 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20802 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 20803 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 20804 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 20805 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 20806 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 20807 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 20808 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 20809 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20810 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 20811 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20812 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 20813 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 20814 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 20815 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 20816 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 20817 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 20818 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20819 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 20820 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20821 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 20822 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 20823 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 20824 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 20825 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 20826 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 20827 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 20828 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20829 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 20830 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 20831 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 20832 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 20833 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20834 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20835 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 20836 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 20837 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 20838 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 20839 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20840 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 20841 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 20842 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 20843 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 20844 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 20845 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 20846 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 20847 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 20848 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 20849 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 20850 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 20851 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 20852 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 20853 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 20854 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 20855 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 20856 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 20857 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 20858 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 20859 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 20860 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 20861 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 20862 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 20863 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 20864 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 20865 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 20866 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 20867 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 20868 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 20869 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 20870 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 20871 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 20872 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 20873 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 20874 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 20875 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 20876 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 20877 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 20878 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 20879 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 20880 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 20881 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 20882 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 20883 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 20884 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 20885 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 20886 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 20887 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 20888 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 20889 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 20890 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 20891 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 20892 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 20893 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 20894 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 20895 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 20896 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 20897 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 20898 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 20899 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 20900 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 20901 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 20902 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 20903 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 20904 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 20905 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 20906 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 20907 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 20908 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 20909 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 20910 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 20911 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 20912 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 20913 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 20914 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 20915 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 20916 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 20917 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 20918 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 20919 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 20920 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 20921 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 20922 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 20923 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 20924 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 20925 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 20926 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 20927 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 20928 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 20929 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 20930 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 20931 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 20932 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 20933 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 20934 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 20935 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 20936 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 20937 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 20938 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 20939 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 20940 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 20941 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 20942 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 20943 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 20944 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 20945 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 20946 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 20947 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 20948 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 20949 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 20950 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 20951 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 20952 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 20953 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 20954 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 20955 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 20956 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 20957 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 20958 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 20959 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 20960 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 20961 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 20962 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 20963 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 20964 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 20965 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 20966 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 20967 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 20968 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 20969 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 20970 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 20971 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 20972 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 20973 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 20974 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 20975 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 20976 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 20977 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 20978 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 20979 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 20980 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 20981 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 20982 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 20983 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 20984 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 20985 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 20986 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 20987 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 20988 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 20989 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 20990 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 20991 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 20992 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 20993 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 20994 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 20995 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 20996 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 20997 /* Variable */ -#define UA_NS0ID_VERSIONTIME 20998 /* DataType */ -#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE 20999 /* DataType */ -#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE_ENCODING_DEFAULTXML 21000 /* Object */ -#define UA_NS0ID_SESSIONLESSINVOKERESPONSETYPE_ENCODING_DEFAULTBINARY 21001 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_FIELDTARGETDATATYPE 21002 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_SECURITYTOKENID_DIAGNOSTICSLEVEL 21003 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID 21004 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_TIMETONEXTTOKENID_DIAGNOSTICSLEVEL 21005 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_SUBSCRIBEDDATASET 21006 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 21007 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 21008 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATETARGETVARIABLES 21009 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATETARGETVARIABLES_INPUTARGUMENTS 21010 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATETARGETVARIABLES_OUTPUTARGUMENTS 21011 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATEDATASETMIRROR 21012 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATEDATASETMIRROR_INPUTARGUMENTS 21013 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DATASETREADERNAME_PLACEHOLDER_CREATEDATASETMIRROR_OUTPUTARGUMENTS 21014 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS 21015 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_DIAGNOSTICSLEVEL 21016 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION 21017 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 21018 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 21019 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 21020 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 21021 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR 21022 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_ACTIVE 21023 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 21024 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 21025 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 21026 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_RESET 21027 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_SUBERROR 21028 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS 21029 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR 21030 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 21031 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 21032 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 21033 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 21034 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 21035 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 21036 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 21037 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 21038 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 21039 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 21040 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 21041 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 21042 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 21043 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 21044 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 21045 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 21046 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 21047 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 21048 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 21049 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 21050 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 21051 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 21052 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 21053 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 21054 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 21055 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 21056 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 21057 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 21058 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 21059 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES 21060 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES 21061 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_ACTIVE 21062 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_CLASSIFICATION 21063 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_DIAGNOSTICSLEVEL 21064 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDNETWORKMESSAGES_TIMEFIRSTCHANGE 21065 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES 21066 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_ACTIVE 21067 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_CLASSIFICATION 21068 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_DIAGNOSTICSLEVEL 21069 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_RECEIVEDINVALIDNETWORKMESSAGES_TIMEFIRSTCHANGE 21070 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS 21071 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_ACTIVE 21072 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_CLASSIFICATION 21073 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_DIAGNOSTICSLEVEL 21074 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_COUNTERS_DECRYPTIONERRORS_TIMEFIRSTCHANGE 21075 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 21076 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 21077 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 21078 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 21079 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_TRANSPORTSETTINGS 21080 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_MESSAGESETTINGS 21081 /* Object */ -#define UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER 21082 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER_INPUTARGUMENTS 21083 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER_OUTPUTARGUMENTS 21084 /* Variable */ -#define UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER 21085 /* Method */ -#define UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER_INPUTARGUMENTS 21086 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPEADDREADERMETHODTYPE 21087 /* Method */ -#define UA_NS0ID_PUBSUBGROUPTYPEADDREADERMETHODTYPE_INPUTARGUMENTS 21088 /* Variable */ -#define UA_NS0ID_PUBSUBGROUPTYPEADDREADERMETHODTYPE_OUTPUTARGUMENTS 21089 /* Variable */ -#define UA_NS0ID_READERGROUPTRANSPORTTYPE 21090 /* ObjectType */ -#define UA_NS0ID_READERGROUPMESSAGETYPE 21091 /* ObjectType */ -#define UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERID 21092 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_DATASETFIELDCONTENTMASK 21093 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_KEYFRAMECOUNT 21094 /* Variable */ -#define UA_NS0ID_DATASETWRITERTYPE_MESSAGESETTINGS 21095 /* Object */ -#define UA_NS0ID_DATASETWRITERMESSAGETYPE 21096 /* ObjectType */ -#define UA_NS0ID_DATASETREADERTYPE_PUBLISHERID 21097 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_WRITERGROUPID 21098 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DATASETWRITERID 21099 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DATASETMETADATA 21100 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_DATASETFIELDCONTENTMASK 21101 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_MESSAGERECEIVETIMEOUT 21102 /* Variable */ -#define UA_NS0ID_DATASETREADERTYPE_MESSAGESETTINGS 21103 /* Object */ -#define UA_NS0ID_DATASETREADERMESSAGETYPE 21104 /* ObjectType */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE 21105 /* ObjectType */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_GROUPVERSION 21106 /* Variable */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_DATASETORDERING 21107 /* Variable */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21108 /* Variable */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_SAMPLINGOFFSET 21109 /* Variable */ -#define UA_NS0ID_UADPWRITERGROUPMESSAGETYPE_PUBLISHINGOFFSET 21110 /* Variable */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE 21111 /* ObjectType */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21112 /* Variable */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_CONFIGUREDSIZE 21113 /* Variable */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_NETWORKMESSAGENUMBER 21114 /* Variable */ -#define UA_NS0ID_UADPDATASETWRITERMESSAGETYPE_DATASETOFFSET 21115 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE 21116 /* ObjectType */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_GROUPVERSION 21117 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 21118 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_NETWORKMESSAGENUMBER 21119 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_DATASETCLASSID 21120 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21121 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21122 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_PUBLISHINGINTERVAL 21123 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_PROCESSINGOFFSET 21124 /* Variable */ -#define UA_NS0ID_UADPDATASETREADERMESSAGETYPE_RECEIVEOFFSET 21125 /* Variable */ -#define UA_NS0ID_JSONWRITERGROUPMESSAGETYPE 21126 /* ObjectType */ -#define UA_NS0ID_JSONWRITERGROUPMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21127 /* Variable */ -#define UA_NS0ID_JSONDATASETWRITERMESSAGETYPE 21128 /* ObjectType */ -#define UA_NS0ID_JSONDATASETWRITERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21129 /* Variable */ -#define UA_NS0ID_JSONDATASETREADERMESSAGETYPE 21130 /* ObjectType */ -#define UA_NS0ID_JSONDATASETREADERMESSAGETYPE_NETWORKMESSAGECONTENTMASK 21131 /* Variable */ -#define UA_NS0ID_JSONDATASETREADERMESSAGETYPE_DATASETMESSAGECONTENTMASK 21132 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE 21133 /* ObjectType */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_MESSAGEREPEATCOUNT 21134 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_MESSAGEREPEATDELAY 21135 /* Variable */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE 21136 /* ObjectType */ -#define UA_NS0ID_BROKERWRITERGROUPTRANSPORTTYPE_QUEUENAME 21137 /* Variable */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE 21138 /* ObjectType */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_QUEUENAME 21139 /* Variable */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_METADATAQUEUENAME 21140 /* Variable */ -#define UA_NS0ID_BROKERDATASETWRITERTRANSPORTTYPE_METADATAUPDATETIME 21141 /* Variable */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE 21142 /* ObjectType */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_QUEUENAME 21143 /* Variable */ -#define UA_NS0ID_BROKERDATASETREADERTRANSPORTTYPE_METADATAQUEUENAME 21144 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSTYPE 21145 /* ObjectType */ -#define UA_NS0ID_NETWORKADDRESSTYPE_NETWORKINTERFACE 21146 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSURLTYPE 21147 /* ObjectType */ -#define UA_NS0ID_NETWORKADDRESSURLTYPE_NETWORKINTERFACE 21148 /* Variable */ -#define UA_NS0ID_NETWORKADDRESSURLTYPE_URL 21149 /* Variable */ -#define UA_NS0ID_WRITERGROUPDATATYPE_ENCODING_DEFAULTBINARY 21150 /* Object */ -#define UA_NS0ID_NETWORKADDRESSDATATYPE_ENCODING_DEFAULTBINARY 21151 /* Object */ -#define UA_NS0ID_NETWORKADDRESSURLDATATYPE_ENCODING_DEFAULTBINARY 21152 /* Object */ -#define UA_NS0ID_READERGROUPDATATYPE_ENCODING_DEFAULTBINARY 21153 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE_ENCODING_DEFAULTBINARY 21154 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 21155 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPDATATYPE 21156 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPDATATYPE_DATATYPEVERSION 21157 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_WRITERGROUPDATATYPE_DICTIONARYFRAGMENT 21158 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSDATATYPE 21159 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSDATATYPE_DATATYPEVERSION 21160 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSDATATYPE_DICTIONARYFRAGMENT 21161 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSURLDATATYPE 21162 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSURLDATATYPE_DATATYPEVERSION 21163 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_NETWORKADDRESSURLDATATYPE_DICTIONARYFRAGMENT 21164 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPDATATYPE 21165 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPDATATYPE_DATATYPEVERSION 21166 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_READERGROUPDATATYPE_DICTIONARYFRAGMENT 21167 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONDATATYPE 21168 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DATATYPEVERSION 21169 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DICTIONARYFRAGMENT 21170 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 21171 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 21172 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 21173 /* Variable */ -#define UA_NS0ID_WRITERGROUPDATATYPE_ENCODING_DEFAULTXML 21174 /* Object */ -#define UA_NS0ID_NETWORKADDRESSDATATYPE_ENCODING_DEFAULTXML 21175 /* Object */ -#define UA_NS0ID_NETWORKADDRESSURLDATATYPE_ENCODING_DEFAULTXML 21176 /* Object */ -#define UA_NS0ID_READERGROUPDATATYPE_ENCODING_DEFAULTXML 21177 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE_ENCODING_DEFAULTXML 21178 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTXML 21179 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPDATATYPE 21180 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPDATATYPE_DATATYPEVERSION 21181 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_WRITERGROUPDATATYPE_DICTIONARYFRAGMENT 21182 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSDATATYPE 21183 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSDATATYPE_DATATYPEVERSION 21184 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSDATATYPE_DICTIONARYFRAGMENT 21185 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSURLDATATYPE 21186 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSURLDATATYPE_DATATYPEVERSION 21187 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_NETWORKADDRESSURLDATATYPE_DICTIONARYFRAGMENT 21188 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPDATATYPE 21189 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPDATATYPE_DATATYPEVERSION 21190 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_READERGROUPDATATYPE_DICTIONARYFRAGMENT 21191 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONDATATYPE 21192 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DATATYPEVERSION 21193 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONDATATYPE_DICTIONARYFRAGMENT 21194 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 21195 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DATATYPEVERSION 21196 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_DICTIONARYFRAGMENT 21197 /* Variable */ -#define UA_NS0ID_WRITERGROUPDATATYPE_ENCODING_DEFAULTJSON 21198 /* Object */ -#define UA_NS0ID_NETWORKADDRESSDATATYPE_ENCODING_DEFAULTJSON 21199 /* Object */ -#define UA_NS0ID_NETWORKADDRESSURLDATATYPE_ENCODING_DEFAULTJSON 21200 /* Object */ -#define UA_NS0ID_READERGROUPDATATYPE_ENCODING_DEFAULTJSON 21201 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONDATATYPE_ENCODING_DEFAULTJSON 21202 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 21203 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 21204 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 21205 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 21206 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 21207 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 21208 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 21209 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 21210 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 21211 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 21212 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 21213 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 21214 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 21215 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 21216 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 21217 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21218 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 21219 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21220 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 21221 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 21222 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 21223 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 21224 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 21225 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 21226 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 21227 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 21228 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 21229 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 21230 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 21231 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 21232 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 21233 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 21234 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 21235 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 21236 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 21237 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 21238 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 21239 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 21240 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 21241 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 21242 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 21243 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 21244 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 21245 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 21246 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 21247 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 21248 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 21249 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 21250 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 21251 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 21252 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 21253 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 21254 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 21255 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 21256 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21257 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 21258 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21259 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 21260 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 21261 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 21262 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 21263 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 21264 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 21265 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 21266 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 21267 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 21268 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 21269 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 21270 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 21271 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 21272 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 21273 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 21274 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 21275 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 21276 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21277 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 21278 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21279 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 21280 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 21281 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 21282 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 21283 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 21284 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 21285 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21286 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 21287 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21288 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 21289 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 21290 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 21291 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 21292 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 21293 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 21294 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 21295 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 21296 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 21297 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 21298 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21299 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 21300 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21301 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 21302 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 21303 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 21304 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 21305 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 21306 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 21307 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 21308 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21309 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 21310 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21311 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 21312 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 21313 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 21314 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 21315 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 21316 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 21317 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21318 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 21319 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21320 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 21321 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 21322 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 21323 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 21324 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 21325 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 21326 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 21327 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21328 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 21329 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 21330 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 21331 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 21332 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21333 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21334 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 21335 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 21336 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 21337 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 21338 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21339 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 21340 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 21341 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 21342 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 21343 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 21344 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 21345 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 21346 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 21347 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 21348 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 21349 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 21350 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 21351 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 21352 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 21353 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 21354 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 21355 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 21356 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 21357 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 21358 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 21359 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 21360 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 21361 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 21362 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 21363 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 21364 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 21365 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21366 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 21367 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21368 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 21369 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 21370 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 21371 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 21372 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 21373 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 21374 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 21375 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 21376 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 21377 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 21378 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 21379 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 21380 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 21381 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 21382 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_UPDATEFREQUENCY 21383 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED 21384 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EVENTID 21385 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EVENTTYPE 21386 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SOURCENODE 21387 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SOURCENAME 21388 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_TIME 21389 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RECEIVETIME 21390 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LOCALTIME 21391 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_MESSAGE 21392 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SEVERITY 21393 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONCLASSID 21394 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 21395 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 21396 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 21397 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONDITIONNAME 21398 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_BRANCHID 21399 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RETAIN 21400 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE 21401 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 21402 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 21403 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 21404 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21405 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 21406 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21407 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 21408 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 21409 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_QUALITY 21410 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 21411 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LASTSEVERITY 21412 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 21413 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_COMMENT 21414 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 21415 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CLIENTUSERID 21416 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_DISABLE 21417 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ENABLE 21418 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ADDCOMMENT 21419 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 21420 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE 21421 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_ID 21422 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 21423 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 21424 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21425 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 21426 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21427 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 21428 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 21429 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE 21430 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 21431 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 21432 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 21433 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21434 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 21435 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21436 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 21437 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 21438 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKNOWLEDGE 21439 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 21440 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRM 21441 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 21442 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE 21443 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_ID 21444 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 21445 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 21446 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21447 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 21448 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21449 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 21450 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 21451 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_INPUTNODE 21452 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 21453 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 21454 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 21455 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 21456 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21457 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 21458 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21459 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 21460 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 21461 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 21462 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 21463 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 21464 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 21465 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21466 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 21467 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21468 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 21469 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 21470 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE 21471 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 21472 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 21473 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 21474 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 21475 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21476 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 21477 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 21478 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 21479 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 21480 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21481 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21482 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 21483 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 21484 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 21485 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 21486 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21487 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 21488 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 21489 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 21490 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_MAXTIMESHELVED 21491 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLEENABLED 21492 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND 21493 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 21494 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 21495 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 21496 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE 21497 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_ID 21498 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_NAME 21499 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 21500 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 21501 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 21502 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 21503 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 21504 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 21505 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_ONDELAY 21506 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_OFFDELAY 21507 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 21508 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_FIRSTINGROUP 21509 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE 21510 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 21511 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 21512 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 21513 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21514 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 21515 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21516 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 21517 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 21518 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REALARMTIME 21519 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 21520 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SILENCE 21521 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESS 21522 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_UNSUPPRESS 21523 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 21524 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_PLACEINSERVICE 21525 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RESET 21526 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_NORMALSTATE 21527 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EXPIRATIONDATE 21528 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 21529 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CERTIFICATETYPE 21530 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_CERTIFICATE 21531 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE 21532 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_EVENTID 21533 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_EVENTTYPE 21534 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SOURCENODE 21535 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SOURCENAME 21536 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_TIME 21537 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RECEIVETIME 21538 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LOCALTIME 21539 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_MESSAGE 21540 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SEVERITY 21541 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 21542 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 21543 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 21544 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 21545 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONDITIONNAME 21546 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_BRANCHID 21547 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RETAIN 21548 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE 21549 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 21550 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 21551 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 21552 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21553 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 21554 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21555 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 21556 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 21557 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_QUALITY 21558 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 21559 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LASTSEVERITY 21560 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 21561 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_COMMENT 21562 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 21563 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CLIENTUSERID 21564 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_DISABLE 21565 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ENABLE 21566 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ADDCOMMENT 21567 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 21568 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE 21569 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 21570 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 21571 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 21572 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21573 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 21574 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21575 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 21576 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 21577 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 21578 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 21579 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 21580 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 21581 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21582 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 21583 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21584 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 21585 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 21586 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 21587 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 21588 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRM 21589 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 21590 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE 21591 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 21592 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 21593 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 21594 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21595 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 21596 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21597 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 21598 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 21599 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_INPUTNODE 21600 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 21601 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 21602 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 21603 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 21604 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21605 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 21606 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21607 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 21608 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 21609 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 21610 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 21611 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 21612 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 21613 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21614 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 21615 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21616 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 21617 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 21618 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE 21619 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 21620 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 21621 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 21622 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 21623 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21624 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 21625 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 21626 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 21627 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 21628 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21629 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21630 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 21631 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 21632 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 21633 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 21634 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21635 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 21636 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 21637 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 21638 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 21639 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 21640 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND 21641 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 21642 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 21643 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 21644 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE 21645 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 21646 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 21647 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 21648 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 21649 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 21650 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 21651 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 21652 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 21653 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_ONDELAY 21654 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_OFFDELAY 21655 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 21656 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_FIRSTINGROUP 21657 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE 21658 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 21659 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 21660 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 21661 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21662 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 21663 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21664 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 21665 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 21666 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REALARMTIME 21667 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 21668 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SILENCE 21669 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESS 21670 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UNSUPPRESS 21671 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 21672 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_PLACEINSERVICE 21673 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RESET 21674 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_NORMALSTATE 21675 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_TRUSTLISTID 21676 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_LASTUPDATETIME 21677 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 21678 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 21679 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 21680 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 21681 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 21682 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 21683 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 21684 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 21685 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 21686 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 21687 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 21688 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 21689 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 21690 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 21691 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 21692 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 21693 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 21694 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 21695 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 21696 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 21697 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 21698 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 21699 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 21700 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21701 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 21702 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21703 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 21704 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 21705 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 21706 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 21707 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 21708 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 21709 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 21710 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 21711 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 21712 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 21713 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 21714 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 21715 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 21716 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 21717 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 21718 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 21719 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 21720 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21721 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 21722 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21723 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 21724 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 21725 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 21726 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 21727 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 21728 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 21729 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21730 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 21731 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21732 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 21733 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 21734 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 21735 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 21736 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 21737 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 21738 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 21739 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 21740 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 21741 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 21742 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21743 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 21744 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21745 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 21746 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 21747 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 21748 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 21749 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 21750 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 21751 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 21752 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21753 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 21754 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21755 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 21756 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 21757 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 21758 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 21759 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 21760 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 21761 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21762 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 21763 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21764 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 21765 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 21766 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 21767 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 21768 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 21769 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 21770 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 21771 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21772 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 21773 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 21774 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 21775 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 21776 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21777 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21778 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 21779 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 21780 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 21781 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 21782 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21783 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 21784 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 21785 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 21786 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 21787 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 21788 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 21789 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 21790 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 21791 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 21792 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 21793 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 21794 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 21795 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 21796 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 21797 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 21798 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 21799 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 21800 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 21801 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 21802 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 21803 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 21804 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 21805 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 21806 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 21807 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 21808 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 21809 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21810 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 21811 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21812 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 21813 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 21814 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 21815 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 21816 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 21817 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 21818 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 21819 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 21820 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 21821 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 21822 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 21823 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 21824 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 21825 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 21826 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 21827 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 21828 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 21829 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 21830 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 21831 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 21832 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 21833 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 21834 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 21835 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 21836 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 21837 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 21838 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 21839 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 21840 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 21841 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 21842 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 21843 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 21844 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 21845 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 21846 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 21847 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 21848 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21849 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 21850 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21851 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 21852 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 21853 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 21854 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 21855 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 21856 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 21857 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 21858 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 21859 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 21860 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 21861 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 21862 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 21863 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 21864 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 21865 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 21866 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 21867 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 21868 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 21869 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 21870 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 21871 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 21872 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 21873 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 21874 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 21875 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 21876 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 21877 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 21878 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 21879 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 21880 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 21881 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 21882 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 21883 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 21884 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 21885 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 21886 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 21887 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 21888 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 21889 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 21890 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 21891 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 21892 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 21893 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 21894 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 21895 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 21896 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 21897 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 21898 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 21899 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 21900 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 21901 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 21902 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 21903 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 21904 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 21905 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 21906 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 21907 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 21908 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 21909 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 21910 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 21911 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 21912 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 21913 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 21914 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 21915 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 21916 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 21917 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 21918 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 21919 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 21920 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 21921 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 21922 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 21923 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 21924 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 21925 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 21926 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 21927 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 21928 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 21929 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 21930 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 21931 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 21932 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 21933 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 21934 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 21935 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 21936 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 21937 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 21938 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 21939 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 21940 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 21941 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 21942 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 21943 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 21944 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 21945 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 21946 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 21947 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 21948 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 21949 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 21950 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 21951 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 21952 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 21953 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 21954 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 21955 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 21956 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 21957 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 21958 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 21959 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 21960 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 21961 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 21962 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 21963 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 21964 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 21965 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 21966 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 21967 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 21968 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 21969 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 21970 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 21971 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 21972 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 21973 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 21974 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 21975 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 21976 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 21977 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 21978 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 21979 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 21980 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 21981 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 21982 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 21983 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 21984 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 21985 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 21986 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 21987 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 21988 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 21989 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 21990 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 21991 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 21992 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 21993 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 21994 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 21995 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 21996 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 21997 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 21998 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 21999 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22000 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22001 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 22002 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22003 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22004 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22005 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 22006 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22007 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22008 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 22009 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 22010 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22011 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22012 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22013 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22014 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22015 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22016 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22017 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22018 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22019 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22020 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22021 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22022 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22023 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22024 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22025 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22026 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22027 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22028 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22029 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22030 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22031 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22032 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 22033 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22034 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22035 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22036 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22037 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22038 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22039 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22040 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22041 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22042 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22043 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 22044 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22045 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22046 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22047 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22048 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22049 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22050 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22051 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22052 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22053 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22054 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22055 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22056 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22057 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22058 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22059 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22060 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22061 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22062 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22063 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22064 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22065 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22066 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22067 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22068 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22069 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22070 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22071 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22072 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22073 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22074 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22075 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22076 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22077 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22078 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22079 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22080 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22081 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22082 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22083 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22084 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22085 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22086 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22087 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22088 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22089 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22090 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22091 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22092 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22093 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22094 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22095 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22096 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22097 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 22098 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 22099 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22100 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22101 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22102 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22103 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22104 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22105 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22106 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22107 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22108 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22109 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22110 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 22111 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 22112 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 22113 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 22114 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 22115 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 22116 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 22117 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 22118 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 22119 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 22120 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 22121 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 22122 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 22123 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 22124 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 22125 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 22126 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 22127 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 22128 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 22129 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 22130 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 22131 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 22132 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 22133 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 22134 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 22135 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 22136 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 22137 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 22138 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 22139 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 22140 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 22141 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 22142 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 22143 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 22144 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22145 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 22146 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22147 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 22148 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 22149 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 22150 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 22151 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 22152 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 22153 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 22154 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 22155 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 22156 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 22157 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 22158 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 22159 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 22160 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 22161 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 22162 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 22163 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 22164 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22165 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 22166 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22167 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 22168 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 22169 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 22170 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 22171 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 22172 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 22173 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22174 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 22175 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22176 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 22177 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 22178 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 22179 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 22180 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 22181 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 22182 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 22183 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 22184 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 22185 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 22186 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22187 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 22188 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22189 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 22190 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 22191 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 22192 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 22193 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 22194 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 22195 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 22196 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22197 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 22198 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22199 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 22200 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 22201 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 22202 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 22203 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 22204 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 22205 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22206 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 22207 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22208 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 22209 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 22210 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 22211 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 22212 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 22213 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 22214 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 22215 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22216 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 22217 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 22218 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 22219 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 22220 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22221 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22222 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 22223 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 22224 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 22225 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 22226 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22227 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 22228 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 22229 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 22230 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 22231 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 22232 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 22233 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 22234 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 22235 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 22236 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 22237 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 22238 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 22239 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 22240 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 22241 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 22242 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 22243 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 22244 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 22245 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 22246 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 22247 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 22248 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 22249 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 22250 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 22251 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 22252 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 22253 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22254 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 22255 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22256 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 22257 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 22258 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 22259 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 22260 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 22261 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 22262 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 22263 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 22264 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 22265 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 22266 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 22267 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 22268 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 22269 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 22270 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 22271 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 22272 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 22273 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 22274 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 22275 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 22276 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 22277 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 22278 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 22279 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 22280 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 22281 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 22282 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 22283 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 22284 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 22285 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 22286 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 22287 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 22288 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 22289 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 22290 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 22291 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 22292 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22293 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 22294 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22295 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22296 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22297 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 22298 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22299 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22300 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22301 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 22302 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22303 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22304 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 22305 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 22306 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22307 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22308 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22309 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22310 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22311 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22312 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22313 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22314 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22315 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22316 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22317 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22318 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22319 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22320 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22321 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22322 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22323 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22324 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22325 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22326 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22327 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22328 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 22329 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22330 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22331 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22332 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22333 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22334 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22335 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22336 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22337 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22338 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22339 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 22340 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22341 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22342 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22343 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22344 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22345 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22346 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22347 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22348 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22349 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22350 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22351 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22352 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22353 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22354 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22355 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22356 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22357 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22358 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22359 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22360 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22361 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22362 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22363 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22364 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22365 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22366 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22367 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22368 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22369 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22370 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22371 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22372 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22373 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22374 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22375 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22376 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22377 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22378 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22379 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22380 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22381 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22382 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22383 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22384 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22385 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22386 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22387 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22388 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22389 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22390 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22391 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22392 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22393 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 22394 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 22395 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22396 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22397 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22398 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22399 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22400 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22401 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22402 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22403 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22404 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22405 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22406 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 22407 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 22408 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 22409 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 22410 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 22411 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 22412 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 22413 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 22414 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 22415 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 22416 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 22417 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 22418 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 22419 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 22420 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 22421 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 22422 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 22423 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 22424 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 22425 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 22426 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 22427 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 22428 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 22429 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 22430 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 22431 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 22432 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 22433 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 22434 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 22435 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 22436 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 22437 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 22438 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 22439 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 22440 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22441 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 22442 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22443 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 22444 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 22445 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 22446 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 22447 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 22448 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 22449 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 22450 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 22451 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 22452 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 22453 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 22454 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 22455 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 22456 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 22457 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 22458 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 22459 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 22460 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22461 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 22462 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22463 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 22464 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 22465 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 22466 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 22467 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 22468 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 22469 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22470 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 22471 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22472 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 22473 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 22474 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 22475 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 22476 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 22477 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 22478 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 22479 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 22480 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 22481 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 22482 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22483 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 22484 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22485 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 22486 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 22487 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 22488 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 22489 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 22490 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 22491 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 22492 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22493 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 22494 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22495 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 22496 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 22497 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 22498 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 22499 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 22500 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 22501 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22502 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 22503 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22504 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 22505 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 22506 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 22507 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 22508 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 22509 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 22510 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 22511 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22512 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 22513 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 22514 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 22515 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 22516 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22517 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22518 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 22519 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 22520 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 22521 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 22522 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22523 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 22524 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 22525 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 22526 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 22527 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 22528 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 22529 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 22530 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 22531 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 22532 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 22533 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 22534 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 22535 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 22536 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 22537 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 22538 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 22539 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 22540 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 22541 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 22542 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 22543 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 22544 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 22545 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 22546 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 22547 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 22548 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 22549 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22550 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 22551 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22552 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 22553 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 22554 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 22555 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 22556 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 22557 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 22558 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 22559 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 22560 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 22561 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 22562 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 22563 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 22564 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 22565 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 22566 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 22567 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 22568 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 22569 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 22570 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 22571 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 22572 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 22573 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 22574 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 22575 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 22576 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 22577 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 22578 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 22579 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 22580 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 22581 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 22582 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 22583 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 22584 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 22585 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 22586 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 22587 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 22588 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22589 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 22590 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22591 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22592 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22593 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 22594 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22595 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22596 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22597 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 22598 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22599 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22600 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 22601 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 22602 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22603 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22604 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22605 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22606 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22607 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22608 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22609 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22610 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22611 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22612 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22613 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22614 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22615 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22616 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22617 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22618 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22619 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22620 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22621 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22622 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22623 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22624 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 22625 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22626 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22627 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22628 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22629 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22630 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22631 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22632 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22633 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22634 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22635 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 22636 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22637 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22638 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22639 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22640 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22641 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22642 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22643 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22644 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22645 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22646 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22647 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22648 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22649 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22650 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22651 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22652 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22653 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22654 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22655 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22656 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22657 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22658 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22659 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22660 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22661 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22662 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22663 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22664 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22665 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22666 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22667 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22668 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22669 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22670 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22671 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22672 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22673 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22674 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22675 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22676 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22677 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22678 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22679 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22680 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22681 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22682 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22683 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22684 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22685 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22686 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22687 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22688 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22689 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 22690 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 22691 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22692 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22693 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22694 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22695 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22696 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22697 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22698 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22699 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22700 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22701 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22702 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 22703 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 22704 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 22705 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 22706 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 22707 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 22708 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 22709 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 22710 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 22711 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 22712 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 22713 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 22714 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 22715 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 22716 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 22717 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 22718 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 22719 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 22720 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 22721 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 22722 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 22723 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 22724 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 22725 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 22726 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 22727 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 22728 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 22729 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 22730 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 22731 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 22732 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 22733 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 22734 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 22735 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 22736 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22737 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 22738 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22739 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 22740 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 22741 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 22742 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 22743 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 22744 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 22745 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 22746 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 22747 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 22748 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 22749 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 22750 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 22751 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 22752 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 22753 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 22754 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 22755 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 22756 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22757 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 22758 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22759 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 22760 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 22761 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 22762 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 22763 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 22764 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 22765 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22766 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 22767 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22768 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 22769 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 22770 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 22771 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 22772 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 22773 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 22774 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 22775 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 22776 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 22777 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 22778 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22779 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 22780 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22781 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 22782 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 22783 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 22784 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 22785 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 22786 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 22787 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 22788 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22789 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 22790 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22791 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 22792 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 22793 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 22794 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 22795 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 22796 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 22797 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22798 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 22799 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22800 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 22801 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 22802 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 22803 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 22804 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 22805 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 22806 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 22807 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22808 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 22809 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 22810 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 22811 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 22812 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22813 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22814 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 22815 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 22816 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 22817 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 22818 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22819 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 22820 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 22821 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 22822 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 22823 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 22824 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 22825 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 22826 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 22827 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 22828 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 22829 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 22830 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 22831 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 22832 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 22833 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 22834 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 22835 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 22836 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 22837 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 22838 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 22839 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 22840 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 22841 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 22842 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 22843 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 22844 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 22845 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22846 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 22847 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22848 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 22849 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 22850 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 22851 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 22852 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 22853 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 22854 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 22855 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 22856 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 22857 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 22858 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 22859 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 22860 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 22861 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 22862 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 22863 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 22864 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 22865 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 22866 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 22867 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 22868 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 22869 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 22870 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 22871 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 22872 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 22873 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 22874 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 22875 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 22876 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 22877 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 22878 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 22879 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 22880 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 22881 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 22882 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 22883 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 22884 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 22885 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 22886 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 22887 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 22888 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 22889 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 22890 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 22891 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 22892 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 22893 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 22894 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 22895 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 22896 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 22897 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 22898 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 22899 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 22900 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 22901 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 22902 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 22903 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 22904 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 22905 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 22906 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 22907 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 22908 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 22909 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 22910 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 22911 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 22912 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 22913 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 22914 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 22915 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 22916 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 22917 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 22918 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 22919 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 22920 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 22921 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 22922 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 22923 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 22924 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 22925 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 22926 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 22927 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 22928 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 22929 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 22930 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 22931 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 22932 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 22933 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 22934 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 22935 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 22936 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 22937 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 22938 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 22939 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 22940 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 22941 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 22942 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 22943 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 22944 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 22945 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 22946 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 22947 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 22948 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 22949 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 22950 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 22951 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 22952 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 22953 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 22954 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 22955 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 22956 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 22957 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 22958 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 22959 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 22960 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 22961 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 22962 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 22963 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 22964 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 22965 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 22966 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 22967 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 22968 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 22969 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 22970 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 22971 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 22972 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 22973 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 22974 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 22975 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 22976 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 22977 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 22978 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 22979 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 22980 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 22981 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 22982 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 22983 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 22984 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 22985 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 22986 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 22987 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 22988 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 22989 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 22990 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 22991 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 22992 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 22993 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 22994 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 22995 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 22996 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 22997 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 22998 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 22999 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 23000 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 23001 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 23002 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 23003 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 23004 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 23005 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 23006 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 23007 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 23008 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 23009 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 23010 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 23011 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 23012 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 23013 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 23014 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 23015 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 23016 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 23017 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 23018 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 23019 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 23020 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 23021 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 23022 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 23023 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 23024 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 23025 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 23026 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 23027 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 23028 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 23029 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 23030 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 23031 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 23032 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 23033 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 23034 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 23035 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 23036 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 23037 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 23038 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 23039 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 23040 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 23041 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 23042 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 23043 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 23044 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 23045 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 23046 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 23047 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 23048 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 23049 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 23050 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 23051 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 23052 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 23053 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 23054 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 23055 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 23056 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 23057 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 23058 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 23059 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 23060 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 23061 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 23062 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 23063 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 23064 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 23065 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 23066 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 23067 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 23068 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 23069 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 23070 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 23071 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 23072 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 23073 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 23074 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 23075 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 23076 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 23077 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 23078 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 23079 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 23080 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 23081 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 23082 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 23083 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 23084 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 23085 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 23086 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 23087 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 23088 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 23089 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 23090 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 23091 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 23092 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 23093 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 23094 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 23095 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 23096 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 23097 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 23098 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 23099 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 23100 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 23101 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 23102 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 23103 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 23104 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 23105 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 23106 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 23107 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 23108 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 23109 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 23110 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 23111 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 23112 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 23113 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 23114 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 23115 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 23116 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 23117 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 23118 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 23119 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 23120 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 23121 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 23122 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 23123 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 23124 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 23125 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 23126 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 23127 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 23128 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 23129 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 23130 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 23131 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 23132 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 23133 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 23134 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 23135 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 23136 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 23137 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 23138 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 23139 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 23140 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 23141 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 23142 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 23143 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 23144 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 23145 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 23146 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 23147 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 23148 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 23149 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 23150 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 23151 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 23152 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 23153 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 23154 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 23155 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 23156 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 23157 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 23158 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 23159 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 23160 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 23161 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 23162 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 23163 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 23164 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 23165 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 23166 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 23167 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 23168 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 23169 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 23170 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 23171 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 23172 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 23173 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 23174 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 23175 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 23176 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 23177 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 23178 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 23179 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 23180 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 23181 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 23182 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 23183 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 23184 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 23185 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 23186 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 23187 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 23188 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 23189 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 23190 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 23191 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 23192 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 23193 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 23194 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 23195 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 23196 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 23197 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 23198 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 23199 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 23200 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 23201 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 23202 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 23203 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 23204 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 23205 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 23206 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 23207 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 23208 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 23209 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 23210 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 23211 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 23212 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 23213 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 23214 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 23215 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 23216 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 23217 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 23218 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 23219 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 23220 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 23221 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 23222 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 23223 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 23224 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 23225 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 23226 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 23227 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 23228 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 23229 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 23230 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 23231 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 23232 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 23233 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 23234 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 23235 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 23236 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 23237 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 23238 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 23239 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 23240 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 23241 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 23242 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 23243 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 23244 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 23245 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 23246 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 23247 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 23248 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 23249 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 23250 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 23251 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 23252 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 23253 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 23254 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 23255 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 23256 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 23257 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 23258 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 23259 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 23260 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 23261 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 23262 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 23263 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 23264 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 23265 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 23266 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 23267 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 23268 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 23269 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 23270 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 23271 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 23272 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 23273 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 23274 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 23275 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 23276 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 23277 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 23278 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 23279 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 23280 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 23281 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 23282 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 23283 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 23284 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 23285 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 23286 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 23287 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 23288 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 23289 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 23290 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 23291 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 23292 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 23293 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 23294 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 23295 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 23296 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 23297 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 23298 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 23299 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 23300 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 23301 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 23302 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 23303 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 23304 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 23305 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 23306 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 23307 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 23308 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 23309 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 23310 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 23311 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 23312 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 23313 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 23314 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 23315 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 23316 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 23317 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 23318 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 23319 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 23320 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 23321 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 23322 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 23323 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 23324 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 23325 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 23326 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 23327 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 23328 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 23329 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 23330 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 23331 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 23332 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 23333 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 23334 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 23335 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 23336 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 23337 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 23338 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 23339 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 23340 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 23341 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 23342 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 23343 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 23344 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 23345 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 23346 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 23347 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 23348 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 23349 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 23350 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 23351 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 23352 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 23353 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 23354 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 23355 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 23356 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 23357 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 23358 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 23359 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 23360 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 23361 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 23362 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 23363 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 23364 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 23365 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 23366 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 23367 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 23368 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 23369 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 23370 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 23371 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 23372 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 23373 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 23374 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 23375 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 23376 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 23377 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 23378 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 23379 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 23380 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 23381 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 23382 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 23383 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 23384 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 23385 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 23386 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 23387 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 23388 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 23389 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 23390 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 23391 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 23392 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 23393 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 23394 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 23395 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 23396 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 23397 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 23398 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 23399 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 23400 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 23401 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 23402 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 23403 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 23404 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 23405 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 23406 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 23407 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 23408 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 23409 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 23410 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 23411 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 23412 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 23413 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 23414 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 23415 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 23416 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 23417 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 23418 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 23419 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 23420 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 23421 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 23422 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 23423 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 23424 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 23425 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 23426 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 23427 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 23428 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 23429 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 23430 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 23431 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 23432 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 23433 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 23434 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 23435 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 23436 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 23437 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 23438 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 23439 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 23440 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 23441 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 23442 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 23443 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 23444 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 23445 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 23446 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 23447 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 23448 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 23449 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 23450 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 23451 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 23452 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 23453 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 23454 /* Variable */ -#define UA_NS0ID_ALIASNAMETYPE 23455 /* ObjectType */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE 23456 /* ObjectType */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_ALIAS_PLACEHOLDER 23457 /* Object */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER 23458 /* Object */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23459 /* Method */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23460 /* Variable */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23461 /* Variable */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_FINDALIAS 23462 /* Method */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_FINDALIAS_INPUTARGUMENTS 23463 /* Variable */ -#define UA_NS0ID_ALIASNAMECATEGORYTYPE_FINDALIAS_OUTPUTARGUMENTS 23464 /* Variable */ -#define UA_NS0ID_FINDALIASMETHODTYPE 23465 /* Method */ -#define UA_NS0ID_FINDALIASMETHODTYPE_INPUTARGUMENTS 23466 /* Variable */ -#define UA_NS0ID_FINDALIASMETHODTYPE_OUTPUTARGUMENTS 23467 /* Variable */ -#define UA_NS0ID_ALIASNAMEDATATYPE 23468 /* DataType */ -#define UA_NS0ID_ALIASFOR 23469 /* ReferenceType */ -#define UA_NS0ID_ALIASES 23470 /* Object */ -#define UA_NS0ID_ALIASES_ALIAS_PLACEHOLDER 23471 /* Object */ -#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER 23472 /* Object */ -#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23473 /* Method */ -#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23474 /* Variable */ -#define UA_NS0ID_ALIASES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23475 /* Variable */ -#define UA_NS0ID_ALIASES_FINDALIAS 23476 /* Method */ -#define UA_NS0ID_ALIASES_FINDALIAS_INPUTARGUMENTS 23477 /* Variable */ -#define UA_NS0ID_ALIASES_FINDALIAS_OUTPUTARGUMENTS 23478 /* Variable */ -#define UA_NS0ID_TAGVARIABLES 23479 /* Object */ -#define UA_NS0ID_TAGVARIABLES_ALIAS_PLACEHOLDER 23480 /* Object */ -#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER 23481 /* Object */ -#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23482 /* Method */ -#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23483 /* Variable */ -#define UA_NS0ID_TAGVARIABLES_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23484 /* Variable */ -#define UA_NS0ID_TAGVARIABLES_FINDALIAS 23485 /* Method */ -#define UA_NS0ID_TAGVARIABLES_FINDALIAS_INPUTARGUMENTS 23486 /* Variable */ -#define UA_NS0ID_TAGVARIABLES_FINDALIAS_OUTPUTARGUMENTS 23487 /* Variable */ -#define UA_NS0ID_TOPICS 23488 /* Object */ -#define UA_NS0ID_TOPICS_ALIAS_PLACEHOLDER 23489 /* Object */ -#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER 23490 /* Object */ -#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS 23491 /* Method */ -#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_INPUTARGUMENTS 23492 /* Variable */ -#define UA_NS0ID_TOPICS_SUBALIASNAMECATEGORIES_PLACEHOLDER_FINDALIAS_OUTPUTARGUMENTS 23493 /* Variable */ -#define UA_NS0ID_TOPICS_FINDALIAS 23494 /* Method */ -#define UA_NS0ID_TOPICS_FINDALIAS_INPUTARGUMENTS 23495 /* Variable */ -#define UA_NS0ID_TOPICS_FINDALIAS_OUTPUTARGUMENTS 23496 /* Variable */ -#define UA_NS0ID_READANNOTATIONDATADETAILS 23497 /* DataType */ -#define UA_NS0ID_CURRENCYUNITTYPE 23498 /* DataType */ -#define UA_NS0ID_ALIASNAMEDATATYPE_ENCODING_DEFAULTBINARY 23499 /* Object */ -#define UA_NS0ID_READANNOTATIONDATADETAILS_ENCODING_DEFAULTBINARY 23500 /* Object */ -#define UA_NS0ID_CURRENCYUNIT 23501 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ALIASNAMEDATATYPE 23502 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ALIASNAMEDATATYPE_DATATYPEVERSION 23503 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_ALIASNAMEDATATYPE_DICTIONARYFRAGMENT 23504 /* Variable */ -#define UA_NS0ID_ALIASNAMEDATATYPE_ENCODING_DEFAULTXML 23505 /* Object */ -#define UA_NS0ID_READANNOTATIONDATADETAILS_ENCODING_DEFAULTXML 23506 /* Object */ -#define UA_NS0ID_CURRENCYUNITTYPE_ENCODING_DEFAULTBINARY 23507 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ALIASNAMEDATATYPE 23508 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ALIASNAMEDATATYPE_DATATYPEVERSION 23509 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_ALIASNAMEDATATYPE_DICTIONARYFRAGMENT 23510 /* Variable */ -#define UA_NS0ID_ALIASNAMEDATATYPE_ENCODING_DEFAULTJSON 23511 /* Object */ -#define UA_NS0ID_READANNOTATIONDATADETAILS_ENCODING_DEFAULTJSON 23512 /* Object */ -#define UA_NS0ID_IORDEREDOBJECTTYPE 23513 /* ObjectType */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CURRENCYUNITTYPE 23514 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CURRENCYUNITTYPE_DATATYPEVERSION 23515 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_CURRENCYUNITTYPE_DICTIONARYFRAGMENT 23516 /* Variable */ -#define UA_NS0ID_IORDEREDOBJECTTYPE_NUMBERINLIST 23517 /* Variable */ -#define UA_NS0ID_ORDEREDLISTTYPE 23518 /* ObjectType */ -#define UA_NS0ID_ORDEREDLISTTYPE_ORDEREDOBJECT_PLACEHOLDER 23519 /* Object */ -#define UA_NS0ID_CURRENCYUNITTYPE_ENCODING_DEFAULTXML 23520 /* Object */ -#define UA_NS0ID_ORDEREDLISTTYPE_ORDEREDOBJECT_PLACEHOLDER_NUMBERINLIST 23521 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CURRENCYUNITTYPE 23522 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CURRENCYUNITTYPE_DATATYPEVERSION 23523 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_CURRENCYUNITTYPE_DICTIONARYFRAGMENT 23524 /* Variable */ -#define UA_NS0ID_ORDEREDLISTTYPE_NODEVERSION 23525 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_GETREJECTEDLIST 23526 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_GETREJECTEDLIST_OUTPUTARGUMENTS 23527 /* Variable */ -#define UA_NS0ID_CURRENCYUNITTYPE_ENCODING_DEFAULTJSON 23528 /* Object */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 23529 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23530 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_GETREJECTEDLIST 23531 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23532 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 23533 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23534 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_GETREJECTEDLIST 23535 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_GETREJECTEDLIST_OUTPUTARGUMENTS 23536 /* Variable */ -#define UA_NS0ID_ECCAPPLICATIONCERTIFICATETYPE 23537 /* ObjectType */ -#define UA_NS0ID_ECCNISTP256APPLICATIONCERTIFICATETYPE 23538 /* ObjectType */ -#define UA_NS0ID_ECCNISTP384APPLICATIONCERTIFICATETYPE 23539 /* ObjectType */ -#define UA_NS0ID_ECCBRAINPOOLP256R1APPLICATIONCERTIFICATETYPE 23540 /* ObjectType */ -#define UA_NS0ID_ECCBRAINPOOLP384R1APPLICATIONCERTIFICATETYPE 23541 /* ObjectType */ -#define UA_NS0ID_ECCCURVE25519APPLICATIONCERTIFICATETYPE 23542 /* ObjectType */ -#define UA_NS0ID_ECCCURVE448APPLICATIONCERTIFICATETYPE 23543 /* ObjectType */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 23544 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23545 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 23546 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23547 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 23548 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23549 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 23550 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23551 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 23552 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23553 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 23554 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 23555 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE 23556 /* ObjectType */ -#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER 23557 /* Object */ -#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_SERVICEURI 23558 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_SERVICECERTIFICATE 23559 /* Variable */ -#define UA_NS0ID_AUTHORIZATIONSERVICESCONFIGURATIONFOLDERTYPE_SERVICENAME_PLACEHOLDER_ISSUERENDPOINTURL 23560 /* Variable */ -#define UA_NS0ID_ISDEPRECATED 23562 /* ReferenceType */ -#define UA_NS0ID_TRUSTLISTTYPE_DEFAULTVALIDATIONOPTIONS 23563 /* Variable */ -#define UA_NS0ID_TRUSTLISTVALIDATIONOPTIONS 23564 /* DataType */ -#define UA_NS0ID_TRUSTLISTVALIDATIONOPTIONS_OPTIONSETVALUES 23565 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23566 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23567 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23568 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23569 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23570 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23571 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23572 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23573 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23574 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23575 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 23576 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_HASSECUREELEMENT 23593 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_HASSECUREELEMENT 23597 /* Variable */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE 23599 /* DataType */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE 23600 /* DataType */ -#define UA_NS0ID_SECURITYGROUPDATATYPE 23601 /* DataType */ -#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE 23602 /* DataType */ -#define UA_NS0ID_QOSDATATYPE 23603 /* DataType */ -#define UA_NS0ID_TRANSMITQOSDATATYPE 23604 /* DataType */ -#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE 23605 /* DataType */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE 23606 /* ObjectType */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_EVENTID 23607 /* Variable */ -#define UA_NS0ID_RECEIVEQOSDATATYPE 23608 /* DataType */ -#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE 23609 /* DataType */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_EVENTTYPE 23610 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SOURCENODE 23611 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 23612 /* DataType */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 23613 /* DataType */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE 23614 /* DataType */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS 23622 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER 23637 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 23638 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 23639 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER 23640 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 23641 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES 23642 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXPUBSUBCONNECTIONS 23643 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXWRITERGROUPS 23644 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXREADERGROUPS 23645 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXDATASETWRITERS 23646 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXDATASETREADERS 23647 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXFIELDSPERDATASET 23648 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DATASETCLASSES 23649 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS 23658 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER 23673 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 23674 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 23675 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER 23676 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 23677 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES 23678 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXPUBSUBCONNECTIONS 23679 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXWRITERGROUPS 23680 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXREADERGROUPS 23681 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXDATASETWRITERS 23682 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXDATASETREADERS 23683 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXFIELDSPERDATASET 23684 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DATASETCLASSES 23685 /* Object */ -#define UA_NS0ID_GETCONNECTIONMETHODTYPE 23726 /* Method */ -#define UA_NS0ID_GETCONNECTIONMETHODTYPE_INPUTARGUMENTS 23727 /* Variable */ -#define UA_NS0ID_GETCONNECTIONMETHODTYPE_OUTPUTARGUMENTS 23728 /* Variable */ -#define UA_NS0ID_MODIFYCONNECTIONMETHODTYPE 23729 /* Method */ -#define UA_NS0ID_MODIFYCONNECTIONMETHODTYPE_INPUTARGUMENTS 23730 /* Variable */ -#define UA_NS0ID_MODIFYCONNECTIONMETHODTYPE_OUTPUTARGUMENTS 23731 /* Variable */ -#define UA_NS0ID_GETWRITERGROUPMETHODTYPE 23745 /* Method */ -#define UA_NS0ID_GETWRITERGROUPMETHODTYPE_INPUTARGUMENTS 23746 /* Variable */ -#define UA_NS0ID_GETWRITERGROUPMETHODTYPE_OUTPUTARGUMENTS 23747 /* Variable */ -#define UA_NS0ID_MODIFYWRITERGROUPMETHODTYPE 23748 /* Method */ -#define UA_NS0ID_MODIFYWRITERGROUPMETHODTYPE_INPUTARGUMENTS 23749 /* Variable */ -#define UA_NS0ID_MODIFYWRITERGROUPMETHODTYPE_OUTPUTARGUMENTS 23750 /* Variable */ -#define UA_NS0ID_URISTRING 23751 /* DataType */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSESSIONS 23752 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSUBSCRIPTIONS 23753 /* Variable */ -#define UA_NS0ID_GETREADERGROUPMETHODTYPE 23767 /* Method */ -#define UA_NS0ID_GETREADERGROUPMETHODTYPE_INPUTARGUMENTS 23768 /* Variable */ -#define UA_NS0ID_GETREADERGROUPMETHODTYPE_OUTPUTARGUMENTS 23769 /* Variable */ -#define UA_NS0ID_MODIFYREADERGROUPMETHODTYPE 23770 /* Method */ -#define UA_NS0ID_MODIFYREADERGROUPMETHODTYPE_INPUTARGUMENTS 23771 /* Variable */ -#define UA_NS0ID_MODIFYREADERGROUPMETHODTYPE_OUTPUTARGUMENTS 23772 /* Variable */ -#define UA_NS0ID_GETDATASETWRITERMETHODTYPE 23779 /* Method */ -#define UA_NS0ID_GETDATASETWRITERMETHODTYPE_OUTPUTARGUMENTS 23780 /* Variable */ -#define UA_NS0ID_MODIFYDATASETWRITERMETHODTYPE 23781 /* Method */ -#define UA_NS0ID_MODIFYDATASETWRITERMETHODTYPE_INPUTARGUMENTS 23782 /* Variable */ -#define UA_NS0ID_MODIFYDATASETWRITERMETHODTYPE_OUTPUTARGUMENTS 23783 /* Variable */ -#define UA_NS0ID_GETDATASETREADERMETHODTYPE 23790 /* Method */ -#define UA_NS0ID_GETDATASETREADERMETHODTYPE_OUTPUTARGUMENTS 23791 /* Variable */ -#define UA_NS0ID_MODIFYDATASETREADERMETHODTYPE 23792 /* Method */ -#define UA_NS0ID_MODIFYDATASETREADERMETHODTYPE_INPUTARGUMENTS 23793 /* Variable */ -#define UA_NS0ID_MODIFYDATASETREADERMETHODTYPE_OUTPUTARGUMENTS 23794 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE 23795 /* ObjectType */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER 23796 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDSUBSCRIBEDDATASET 23797 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 23798 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 23799 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVESUBSCRIBEDDATASET 23800 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 23801 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER 23802 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_INPUTARGUMENTS 23803 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_ADDDATASETFOLDER_OUTPUTARGUMENTS 23804 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER 23805 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_SUBSCRIBEDDATASETFOLDERNAME_PLACEHOLDER_REMOVEDATASETFOLDER_INPUTARGUMENTS 23806 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER 23807 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER_SUBSCRIBEDDATASET 23808 /* Object */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER_DATASETMETADATA 23809 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_STANDALONESUBSCRIBEDDATASETNAME_PLACEHOLDER_ISCONNECTED 23810 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDSUBSCRIBEDDATASET 23811 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 23812 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 23813 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVESUBSCRIBEDDATASET 23814 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 23815 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDDATASETFOLDER 23816 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDDATASETFOLDER_INPUTARGUMENTS 23817 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_ADDDATASETFOLDER_OUTPUTARGUMENTS 23818 /* Variable */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVEDATASETFOLDER 23819 /* Method */ -#define UA_NS0ID_SUBSCRIBEDDATASETFOLDERTYPE_REMOVEDATASETFOLDER_INPUTARGUMENTS 23820 /* Variable */ -#define UA_NS0ID_ADDSUBSCRIBEDDATASETMETHODTYPE 23821 /* Method */ -#define UA_NS0ID_ADDSUBSCRIBEDDATASETMETHODTYPE_INPUTARGUMENTS 23822 /* Variable */ -#define UA_NS0ID_ADDSUBSCRIBEDDATASETMETHODTYPE_OUTPUTARGUMENTS 23823 /* Variable */ -#define UA_NS0ID_REMOVESUBSCRIBEDDATASETMETHODTYPE 23824 /* Method */ -#define UA_NS0ID_REMOVESUBSCRIBEDDATASETMETHODTYPE_INPUTARGUMENTS 23825 /* Variable */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE 23828 /* ObjectType */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_SUBSCRIBEDDATASET 23829 /* Object */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_DATASETMETADATA 23830 /* Variable */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_ISCONNECTED 23831 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE 23832 /* ObjectType */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXPUBSUBCONNECTIONS 23833 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXWRITERGROUPS 23834 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXREADERGROUPS 23835 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXDATASETWRITERS 23836 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXDATASETREADERS 23837 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXFIELDSPERDATASET 23838 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYANNOUNCERATE 23839 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DISCOVERYMAXMESSAGESIZE 23840 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS 23842 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE 23843 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONS 23844 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 23845 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 23846 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_DATAGRAMQOS 23847 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_DISCOVERYANNOUNCERATE 23848 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_TOPIC 23849 /* Variable */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE_ENCODING_DEFAULTBINARY 23851 /* Object */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTBINARY 23852 /* Object */ -#define UA_NS0ID_SECURITYGROUPDATATYPE_ENCODING_DEFAULTBINARY 23853 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE_ENCODING_DEFAULTBINARY 23854 /* Object */ -#define UA_NS0ID_QOSDATATYPE_ENCODING_DEFAULTBINARY 23855 /* Object */ -#define UA_NS0ID_TRANSMITQOSDATATYPE_ENCODING_DEFAULTBINARY 23856 /* Object */ -#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE_ENCODING_DEFAULTBINARY 23857 /* Object */ -#define UA_NS0ID_RECEIVEQOSDATATYPE_ENCODING_DEFAULTBINARY 23860 /* Object */ -#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE_ENCODING_DEFAULTBINARY 23861 /* Object */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_ENCODING_DEFAULTBINARY 23864 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_ENCODING_DEFAULTBINARY 23865 /* Object */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTBINARY 23866 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE 23870 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DATATYPEVERSION 23871 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DICTIONARYFRAGMENT 23872 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE 23873 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 23874 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 23875 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SECURITYGROUPDATATYPE 23876 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SECURITYGROUPDATATYPE_DATATYPEVERSION 23877 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_SECURITYGROUPDATATYPE_DICTIONARYFRAGMENT 23878 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATION2DATATYPE 23879 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DATATYPEVERSION 23880 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DICTIONARYFRAGMENT 23881 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_QOSDATATYPE 23882 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_QOSDATATYPE_DATATYPEVERSION 23883 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_QOSDATATYPE_DICTIONARYFRAGMENT 23884 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSDATATYPE 23885 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSDATATYPE_DATATYPEVERSION 23886 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSDATATYPE_DICTIONARYFRAGMENT 23887 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSPRIORITYDATATYPE 23888 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DATATYPEVERSION 23889 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23890 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SOURCENAME 23891 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_TIME 23892 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_RECEIVETIME 23893 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_LOCALTIME 23894 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_MESSAGE 23895 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SEVERITY 23896 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSDATATYPE 23897 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSDATATYPE_DATATYPEVERSION 23898 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSDATATYPE_DICTIONARYFRAGMENT 23899 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSPRIORITYDATATYPE 23900 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DATATYPEVERSION 23901 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23902 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_ACTIONTIMESTAMP 23903 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_STATUS 23904 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SERVERID 23905 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CLIENTAUDITENTRYID 23906 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CLIENTUSERID 23907 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_SERVERURI 23908 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 23909 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DATATYPEVERSION 23910 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23911 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 23912 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DATATYPEVERSION 23913 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23914 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE 23915 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 23916 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 23917 /* Variable */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE_ENCODING_DEFAULTXML 23919 /* Object */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTXML 23920 /* Object */ -#define UA_NS0ID_SECURITYGROUPDATATYPE_ENCODING_DEFAULTXML 23921 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE_ENCODING_DEFAULTXML 23922 /* Object */ -#define UA_NS0ID_QOSDATATYPE_ENCODING_DEFAULTXML 23923 /* Object */ -#define UA_NS0ID_TRANSMITQOSDATATYPE_ENCODING_DEFAULTXML 23924 /* Object */ -#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE_ENCODING_DEFAULTXML 23925 /* Object */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE 23926 /* ObjectType */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_EVENTID 23927 /* Variable */ -#define UA_NS0ID_RECEIVEQOSDATATYPE_ENCODING_DEFAULTXML 23928 /* Object */ -#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE_ENCODING_DEFAULTXML 23929 /* Object */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_EVENTTYPE 23930 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SOURCENODE 23931 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_ENCODING_DEFAULTXML 23932 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_ENCODING_DEFAULTXML 23933 /* Object */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTXML 23934 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE 23938 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DATATYPEVERSION 23939 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETREFDATATYPE_DICTIONARYFRAGMENT 23940 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE 23941 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DATATYPEVERSION 23942 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_STANDALONESUBSCRIBEDDATASETDATATYPE_DICTIONARYFRAGMENT 23943 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SECURITYGROUPDATATYPE 23944 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SECURITYGROUPDATATYPE_DATATYPEVERSION 23945 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_SECURITYGROUPDATATYPE_DICTIONARYFRAGMENT 23946 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATION2DATATYPE 23947 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DATATYPEVERSION 23948 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATION2DATATYPE_DICTIONARYFRAGMENT 23949 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_QOSDATATYPE 23950 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_QOSDATATYPE_DATATYPEVERSION 23951 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_QOSDATATYPE_DICTIONARYFRAGMENT 23952 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSDATATYPE 23953 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSDATATYPE_DATATYPEVERSION 23954 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSDATATYPE_DICTIONARYFRAGMENT 23955 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSPRIORITYDATATYPE 23956 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DATATYPEVERSION 23957 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSMITQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23958 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SOURCENAME 23959 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_TIME 23960 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_RECEIVETIME 23961 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_LOCALTIME 23962 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_MESSAGE 23963 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SEVERITY 23964 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSDATATYPE 23965 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSDATATYPE_DATATYPEVERSION 23966 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSDATATYPE_DICTIONARYFRAGMENT 23967 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSPRIORITYDATATYPE 23968 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DATATYPEVERSION 23969 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_RECEIVEQOSPRIORITYDATATYPE_DICTIONARYFRAGMENT 23970 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_ACTIONTIMESTAMP 23971 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_STATUS 23972 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SERVERID 23973 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CLIENTAUDITENTRYID 23974 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CLIENTUSERID 23975 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_SERVERURI 23976 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 23977 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DATATYPEVERSION 23978 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23979 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 23980 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DATATYPEVERSION 23981 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_DICTIONARYFRAGMENT 23982 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE 23983 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DATATYPEVERSION 23984 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_DATAGRAMDATASETREADERTRANSPORTDATATYPE_DICTIONARYFRAGMENT 23985 /* Variable */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE_ENCODING_DEFAULTJSON 23987 /* Object */ -#define UA_NS0ID_STANDALONESUBSCRIBEDDATASETDATATYPE_ENCODING_DEFAULTJSON 23988 /* Object */ -#define UA_NS0ID_SECURITYGROUPDATATYPE_ENCODING_DEFAULTJSON 23989 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATION2DATATYPE_ENCODING_DEFAULTJSON 23990 /* Object */ -#define UA_NS0ID_QOSDATATYPE_ENCODING_DEFAULTJSON 23991 /* Object */ -#define UA_NS0ID_TRANSMITQOSDATATYPE_ENCODING_DEFAULTJSON 23992 /* Object */ -#define UA_NS0ID_TRANSMITQOSPRIORITYDATATYPE_ENCODING_DEFAULTJSON 23993 /* Object */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_OBJECTID 23994 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_METHODID 23995 /* Variable */ -#define UA_NS0ID_RECEIVEQOSDATATYPE_ENCODING_DEFAULTJSON 23996 /* Object */ -#define UA_NS0ID_RECEIVEQOSPRIORITYDATATYPE_ENCODING_DEFAULTJSON 23997 /* Object */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_STATUSCODEID 23998 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_INPUTARGUMENTS 23999 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORT2DATATYPE_ENCODING_DEFAULTJSON 24000 /* Object */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE_ENCODING_DEFAULTJSON 24001 /* Object */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTDATATYPE_ENCODING_DEFAULTJSON 24002 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET 24004 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 24005 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 24006 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET 24007 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 24008 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DATASETCLASSES_DATASETNAME_PLACEHOLDER 24009 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET 24010 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 24011 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 24012 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET 24013 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 24014 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DATASETCLASSES_DATASETNAME_PLACEHOLDER 24015 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE 24016 /* ObjectType */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS 24017 /* Object */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE 24018 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONS 24019 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 24020 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 24021 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_DATAGRAMQOS 24022 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_TOPIC 24023 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE 24033 /* DataType */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE_ENCODING_DEFAULTBINARY 24034 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE 24035 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DATATYPEVERSION 24036 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DICTIONARYFRAGMENT 24037 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE_ENCODING_DEFAULTXML 24038 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE 24039 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DATATYPEVERSION 24040 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PROGRAMDIAGNOSTIC2DATATYPE_DICTIONARYFRAGMENT 24041 /* Variable */ -#define UA_NS0ID_PROGRAMDIAGNOSTIC2DATATYPE_ENCODING_DEFAULTJSON 24042 /* Object */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXMONITOREDITEMS 24083 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSUBSCRIPTIONSPERSESSION 24084 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXSELECTCLAUSEPARAMETERS 24085 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXWHERECLAUSEPARAMETERS 24086 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_CONFORMANCEUNITS 24087 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSESSIONS 24088 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSUBSCRIPTIONS 24089 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXMONITOREDITEMS 24090 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSUBSCRIPTIONSPERSESSION 24091 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXSELECTCLAUSEPARAMETERS 24092 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXWHERECLAUSEPARAMETERS 24093 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_CONFORMANCEUNITS 24094 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSESSIONS 24095 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONS 24096 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMS 24097 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONSPERSESSION 24098 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSELECTCLAUSEPARAMETERS 24099 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXWHERECLAUSEPARAMETERS 24100 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_CONFORMANCEUNITS 24101 /* Variable */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXMONITOREDITEMSPERSUBSCRIPTION 24102 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXMONITOREDITEMSPERSUBSCRIPTION 24103 /* Variable */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSPERSUBSCRIPTION 24104 /* Variable */ -#define UA_NS0ID_PORTABLEQUALIFIEDNAME 24105 /* DataType */ -#define UA_NS0ID_PORTABLENODEID 24106 /* DataType */ -#define UA_NS0ID_UNSIGNEDRATIONALNUMBER 24107 /* DataType */ -#define UA_NS0ID_PORTABLEQUALIFIEDNAME_ENCODING_DEFAULTBINARY 24108 /* Object */ -#define UA_NS0ID_PORTABLENODEID_ENCODING_DEFAULTBINARY 24109 /* Object */ -#define UA_NS0ID_UNSIGNEDRATIONALNUMBER_ENCODING_DEFAULTBINARY 24110 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLEQUALIFIEDNAME 24111 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLEQUALIFIEDNAME_DATATYPEVERSION 24112 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLEQUALIFIEDNAME_DICTIONARYFRAGMENT 24113 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLENODEID 24114 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLENODEID_DATATYPEVERSION 24115 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PORTABLENODEID_DICTIONARYFRAGMENT 24116 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNSIGNEDRATIONALNUMBER 24117 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNSIGNEDRATIONALNUMBER_DATATYPEVERSION 24118 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_UNSIGNEDRATIONALNUMBER_DICTIONARYFRAGMENT 24119 /* Variable */ -#define UA_NS0ID_PORTABLEQUALIFIEDNAME_ENCODING_DEFAULTXML 24120 /* Object */ -#define UA_NS0ID_PORTABLENODEID_ENCODING_DEFAULTXML 24121 /* Object */ -#define UA_NS0ID_UNSIGNEDRATIONALNUMBER_ENCODING_DEFAULTXML 24122 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLEQUALIFIEDNAME 24123 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLEQUALIFIEDNAME_DATATYPEVERSION 24124 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLEQUALIFIEDNAME_DICTIONARYFRAGMENT 24125 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLENODEID 24126 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLENODEID_DATATYPEVERSION 24127 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PORTABLENODEID_DICTIONARYFRAGMENT 24128 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UNSIGNEDRATIONALNUMBER 24129 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UNSIGNEDRATIONALNUMBER_DATATYPEVERSION 24130 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_UNSIGNEDRATIONALNUMBER_DICTIONARYFRAGMENT 24131 /* Variable */ -#define UA_NS0ID_PORTABLEQUALIFIEDNAME_ENCODING_DEFAULTJSON 24132 /* Object */ -#define UA_NS0ID_PORTABLENODEID_ENCODING_DEFAULTJSON 24133 /* Object */ -#define UA_NS0ID_UNSIGNEDRATIONALNUMBER_ENCODING_DEFAULTJSON 24134 /* Object */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CERTIFICATEERROREVENTID 24135 /* Variable */ -#define UA_NS0ID_HASSTRUCTUREDCOMPONENT 24136 /* ReferenceType */ -#define UA_NS0ID_ASSOCIATEDWITH 24137 /* ReferenceType */ -#define UA_NS0ID_ROLESETTYPE_ROLENAME_PLACEHOLDER_CUSTOMCONFIGURATION 24138 /* Variable */ -#define UA_NS0ID_ROLETYPE_CUSTOMCONFIGURATION 24139 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ANONYMOUS_CUSTOMCONFIGURATION 24140 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_AUTHENTICATEDUSER_CUSTOMCONFIGURATION 24141 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OBSERVER_CUSTOMCONFIGURATION 24142 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_OPERATOR_CUSTOMCONFIGURATION 24143 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_ENGINEER_CUSTOMCONFIGURATION 24144 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SUPERVISOR_CUSTOMCONFIGURATION 24145 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_CONFIGUREADMIN_CUSTOMCONFIGURATION 24146 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYADMIN_CUSTOMCONFIGURATION 24147 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE 24148 /* ObjectType */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_ADMINSTATUS 24149 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_OPERSTATUS 24150 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_PHYSADDRESS 24151 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED 24152 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_DEFINITION 24153 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_VALUEPRECISION 24154 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_INSTRUMENTRANGE 24155 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_EURANGE 24156 /* Variable */ -#define UA_NS0ID_IIETFBASENETWORKINTERFACETYPE_SPEED_ENGINEERINGUNITS 24157 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE 24158 /* ObjectType */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED 24159 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_DEFINITION 24160 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_VALUEPRECISION 24161 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_INSTRUMENTRANGE 24162 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_EURANGE 24163 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_SPEED_ENGINEERINGUNITS 24164 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_DUPLEX 24165 /* Variable */ -#define UA_NS0ID_IIEEEBASEETHERNETPORTTYPE_MAXFRAMELENGTH 24166 /* Variable */ -#define UA_NS0ID_IBASEETHERNETCAPABILITIESTYPE 24167 /* ObjectType */ -#define UA_NS0ID_IBASEETHERNETCAPABILITIESTYPE_VLANTAGCAPABLE 24168 /* Variable */ -#define UA_NS0ID_ISRCLASSTYPE 24169 /* ObjectType */ -#define UA_NS0ID_ISRCLASSTYPE_ID 24170 /* Variable */ -#define UA_NS0ID_ISRCLASSTYPE_PRIORITY 24171 /* Variable */ -#define UA_NS0ID_ISRCLASSTYPE_VID 24172 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE 24173 /* ObjectType */ -#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_STREAMID 24174 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_STREAMNAME 24175 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_STATE 24176 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_ACCUMULATEDLATENCY 24177 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTREAMTYPE_SRCLASSID 24178 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE 24179 /* ObjectType */ -#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE_MAXINTERVALFRAMES 24180 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE_MAXFRAMESIZE 24181 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNTRAFFICSPECIFICATIONTYPE_INTERVAL 24182 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE 24183 /* ObjectType */ -#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_TALKERSTATUS 24184 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_LISTENERSTATUS 24185 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_FAILURECODE 24186 /* Variable */ -#define UA_NS0ID_IIEEEBASETSNSTATUSSTREAMTYPE_FAILURESYSTEMIDENTIFIER 24187 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTYPE 24188 /* ObjectType */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTYPE_MACADDRESS 24189 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTYPE_INTERFACENAME 24190 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE 24191 /* ObjectType */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE_MACADDRESS 24192 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE_INTERFACENAME 24193 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONTALKERTYPE_TIMEAWAREOFFSET 24194 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE 24195 /* ObjectType */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE_MACADDRESS 24196 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE_INTERFACENAME 24197 /* Variable */ -#define UA_NS0ID_IIEEETSNINTERFACECONFIGURATIONLISTENERTYPE_RECEIVEOFFSET 24198 /* Variable */ -#define UA_NS0ID_IIEEETSNMACADDRESSTYPE 24199 /* ObjectType */ -#define UA_NS0ID_IIEEETSNMACADDRESSTYPE_DESTINATIONADDRESS 24200 /* Variable */ -#define UA_NS0ID_IIEEETSNMACADDRESSTYPE_SOURCEADDRESS 24201 /* Variable */ -#define UA_NS0ID_IIEEETSNVLANTAGTYPE 24202 /* ObjectType */ -#define UA_NS0ID_IIEEETSNVLANTAGTYPE_VLANID 24203 /* Variable */ -#define UA_NS0ID_IIEEETSNVLANTAGTYPE_PRIORITYCODEPOINT 24204 /* Variable */ -#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE 24205 /* ObjectType */ -#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_MAPPINGURI 24206 /* Variable */ -#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_PRIORITYLABEL 24207 /* Variable */ -#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_PRIORITYVALUE_PCP 24208 /* Variable */ -#define UA_NS0ID_IPRIORITYMAPPINGENTRYTYPE_PRIORITYVALUE_DSCP 24209 /* Variable */ -#define UA_NS0ID_DUPLEX 24210 /* DataType */ -#define UA_NS0ID_INTERFACEADMINSTATUS 24212 /* DataType */ -#define UA_NS0ID_INTERFACEOPERSTATUS 24214 /* DataType */ -#define UA_NS0ID_NEGOTIATIONSTATUS 24216 /* DataType */ -#define UA_NS0ID_TSNFAILURECODE 24218 /* DataType */ -#define UA_NS0ID_TSNSTREAMSTATE 24220 /* DataType */ -#define UA_NS0ID_TSNTALKERSTATUS 24222 /* DataType */ -#define UA_NS0ID_TSNLISTENERSTATUS 24224 /* DataType */ -#define UA_NS0ID_RESOURCES 24226 /* Object */ -#define UA_NS0ID_COMMUNICATION 24227 /* Object */ -#define UA_NS0ID_MAPPINGTABLES 24228 /* Object */ -#define UA_NS0ID_NETWORKINTERFACES 24229 /* Object */ -#define UA_NS0ID_STREAMS 24230 /* Object */ -#define UA_NS0ID_TALKERSTREAMS 24231 /* Object */ -#define UA_NS0ID_LISTENERSTREAMS 24232 /* Object */ -#define UA_NS0ID_IIEEEAUTONEGOTIATIONSTATUSTYPE 24233 /* ObjectType */ -#define UA_NS0ID_IIEEEAUTONEGOTIATIONSTATUSTYPE_NEGOTIATIONSTATUS 24234 /* Variable */ -#define UA_NS0ID_DUPLEX_ENUMVALUES 24235 /* Variable */ -#define UA_NS0ID_INTERFACEADMINSTATUS_ENUMVALUES 24236 /* Variable */ -#define UA_NS0ID_INTERFACEOPERSTATUS_ENUMVALUES 24237 /* Variable */ -#define UA_NS0ID_NEGOTIATIONSTATUS_ENUMVALUES 24238 /* Variable */ -#define UA_NS0ID_TSNFAILURECODE_ENUMVALUES 24239 /* Variable */ -#define UA_NS0ID_TSNSTREAMSTATE_ENUMVALUES 24240 /* Variable */ -#define UA_NS0ID_TSNTALKERSTATUS_ENUMVALUES 24241 /* Variable */ -#define UA_NS0ID_TSNLISTENERSTATUS_ENUMVALUES 24242 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_MAXBYTESTRINGLENGTH 24243 /* Variable */ -#define UA_NS0ID_FILETYPE_MAXBYTESTRINGLENGTH 24244 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_MAXBYTESTRINGLENGTH 24245 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_MAXBYTESTRINGLENGTH 24246 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_MAXBYTESTRINGLENGTH 24247 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_MAXBYTESTRINGLENGTH 24248 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_MAXBYTESTRINGLENGTH 24249 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_MAXBYTESTRINGLENGTH 24250 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_MAXBYTESTRINGLENGTH 24251 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24252 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24253 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24254 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_MAXBYTESTRINGLENGTH 24255 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24256 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24257 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24258 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24259 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24260 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 24261 /* Variable */ -#define UA_NS0ID_SEMANTICVERSIONSTRING 24263 /* DataType */ -#define UA_NS0ID_USERMANAGEMENTTYPE 24264 /* ObjectType */ -#define UA_NS0ID_USERMANAGEMENTTYPE_USERS 24265 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_PASSWORDLENGTH 24266 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_PASSWORDOPTIONS 24267 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_PASSWORDRESTRICTIONS 24268 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_ADDUSER 24269 /* Method */ -#define UA_NS0ID_USERMANAGEMENTTYPE_ADDUSER_INPUTARGUMENTS 24270 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_MODIFYUSER 24271 /* Method */ -#define UA_NS0ID_USERMANAGEMENTTYPE_MODIFYUSER_INPUTARGUMENTS 24272 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_REMOVEUSER 24273 /* Method */ -#define UA_NS0ID_USERMANAGEMENTTYPE_REMOVEUSER_INPUTARGUMENTS 24274 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTTYPE_CHANGEPASSWORD 24275 /* Method */ -#define UA_NS0ID_USERMANAGEMENTTYPE_CHANGEPASSWORD_INPUTARGUMENTS 24276 /* Variable */ -#define UA_NS0ID_PASSWORDOPTIONSMASK 24277 /* DataType */ -#define UA_NS0ID_PASSWORDOPTIONSMASK_OPTIONSETVALUES 24278 /* Variable */ -#define UA_NS0ID_USERCONFIGURATIONMASK 24279 /* DataType */ -#define UA_NS0ID_USERCONFIGURATIONMASK_OPTIONSETVALUES 24280 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTDATATYPE 24281 /* DataType */ -#define UA_NS0ID_ADDUSERMETHODTYPE 24282 /* Method */ -#define UA_NS0ID_ADDUSERMETHODTYPE_INPUTARGUMENTS 24283 /* Variable */ -#define UA_NS0ID_MODIFYUSERMETHODTYPE 24284 /* Method */ -#define UA_NS0ID_MODIFYUSERMETHODTYPE_INPUTARGUMENTS 24285 /* Variable */ -#define UA_NS0ID_REMOVEUSERMETHODTYPE 24286 /* Method */ -#define UA_NS0ID_REMOVEUSERMETHODTYPE_INPUTARGUMENTS 24287 /* Variable */ -#define UA_NS0ID_CHANGEPASSWORDMETHODTYPE 24288 /* Method */ -#define UA_NS0ID_CHANGEPASSWORDMETHODTYPE_INPUTARGUMENTS 24289 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT 24290 /* Object */ -#define UA_NS0ID_USERMANAGEMENT_PASSWORDRESTRICTIONS 24291 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTDATATYPE_ENCODING_DEFAULTBINARY 24292 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERMANAGEMENTDATATYPE 24293 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERMANAGEMENTDATATYPE_DATATYPEVERSION 24294 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_USERMANAGEMENTDATATYPE_DICTIONARYFRAGMENT 24295 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTDATATYPE_ENCODING_DEFAULTXML 24296 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERMANAGEMENTDATATYPE 24297 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERMANAGEMENTDATATYPE_DATATYPEVERSION 24298 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_USERMANAGEMENTDATATYPE_DICTIONARYFRAGMENT 24299 /* Variable */ -#define UA_NS0ID_USERMANAGEMENTDATATYPE_ENCODING_DEFAULTJSON 24300 /* Object */ -#define UA_NS0ID_USERMANAGEMENT_USERS 24301 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT_PASSWORDLENGTH 24302 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT_PASSWORDOPTIONS 24303 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT_ADDUSER 24304 /* Method */ -#define UA_NS0ID_USERMANAGEMENT_ADDUSER_INPUTARGUMENTS 24305 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT_MODIFYUSER 24306 /* Method */ -#define UA_NS0ID_USERMANAGEMENT_MODIFYUSER_INPUTARGUMENTS 24307 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT_REMOVEUSER 24308 /* Method */ -#define UA_NS0ID_USERMANAGEMENT_REMOVEUSER_INPUTARGUMENTS 24309 /* Variable */ -#define UA_NS0ID_USERMANAGEMENT_CHANGEPASSWORD 24310 /* Method */ -#define UA_NS0ID_USERMANAGEMENT_CHANGEPASSWORD_INPUTARGUMENTS 24311 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND2 24312 /* Method */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_RESPOND2_INPUTARGUMENTS 24313 /* Variable */ -#define UA_NS0ID_DIALOGRESPONSE2METHODTYPE 24314 /* Method */ -#define UA_NS0ID_DIALOGRESPONSE2METHODTYPE_INPUTARGUMENTS 24315 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESS2 24316 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPRESS2_INPUTARGUMENTS 24317 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_UNSUPPRESS2 24318 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_UNSUPPRESS2_INPUTARGUMENTS 24319 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_REMOVEFROMSERVICE2 24320 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24321 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_PLACEINSERVICE2 24322 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24323 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_RESET2 24324 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_RESET2_INPUTARGUMENTS 24325 /* Variable */ -#define UA_NS0ID_WITHCOMMENTMETHODTYPE 24326 /* Method */ -#define UA_NS0ID_WITHCOMMENTMETHODTYPE_INPUTARGUMENTS 24327 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2 24328 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2_INPUTARGUMENTS 24329 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2 24330 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2_INPUTARGUMENTS 24331 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2 24332 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2_INPUTARGUMENTS 24333 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2 24334 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2_INPUTARGUMENTS 24335 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2 24336 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2_INPUTARGUMENTS 24337 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESS2 24338 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24339 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_UNSUPPRESS2 24340 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24341 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_REMOVEFROMSERVICE2 24342 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24343 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_PLACEINSERVICE2 24344 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24345 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_RESET2 24346 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_RESET2_INPUTARGUMENTS 24347 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESS2 24348 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24349 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_UNSUPPRESS2 24350 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24351 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2 24352 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24353 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2 24354 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24355 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RESET2 24356 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_RESET2_INPUTARGUMENTS 24357 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESS2 24358 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24359 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_UNSUPPRESS2 24360 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24361 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2 24362 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24363 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2 24364 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24365 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RESET2 24366 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_RESET2_INPUTARGUMENTS 24367 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESS2 24368 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24369 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_UNSUPPRESS2 24370 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24371 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2 24372 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24373 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2 24374 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24375 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RESET2 24376 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_RESET2_INPUTARGUMENTS 24377 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESS2 24378 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24379 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_UNSUPPRESS2 24380 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24381 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2 24382 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24383 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2 24384 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24385 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RESET2 24386 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_RESET2_INPUTARGUMENTS 24387 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2 24388 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24389 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2 24390 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24391 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2 24392 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24393 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2 24394 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24395 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RESET2 24396 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_RESET2_INPUTARGUMENTS 24397 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2 24398 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24399 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2 24400 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24401 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2 24402 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24403 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2 24404 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24405 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RESET2 24406 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_RESET2_INPUTARGUMENTS 24407 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2 24408 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24409 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2 24410 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24411 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2 24412 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24413 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2 24414 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24415 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RESET2 24416 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_RESET2_INPUTARGUMENTS 24417 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2 24418 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24419 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2 24420 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24421 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2 24422 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24423 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2 24424 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24425 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RESET2 24426 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_RESET2_INPUTARGUMENTS 24427 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESS2 24428 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24429 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_UNSUPPRESS2 24430 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24431 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_REMOVEFROMSERVICE2 24432 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24433 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_PLACEINSERVICE2 24434 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24435 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_RESET2 24436 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_RESET2_INPUTARGUMENTS 24437 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESS2 24438 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24439 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_UNSUPPRESS2 24440 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24441 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_REMOVEFROMSERVICE2 24442 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24443 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_PLACEINSERVICE2 24444 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24445 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_RESET2 24446 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_RESET2_INPUTARGUMENTS 24447 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESS2 24448 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24449 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_UNSUPPRESS2 24450 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24451 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REMOVEFROMSERVICE2 24452 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24453 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_PLACEINSERVICE2 24454 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24455 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RESET2 24456 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_RESET2_INPUTARGUMENTS 24457 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESS2 24458 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24459 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_UNSUPPRESS2 24460 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24461 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_REMOVEFROMSERVICE2 24462 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24463 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_PLACEINSERVICE2 24464 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24465 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_RESET2 24466 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_RESET2_INPUTARGUMENTS 24467 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESS2 24468 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24469 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_UNSUPPRESS2 24470 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24471 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2 24472 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24473 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_PLACEINSERVICE2 24474 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24475 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RESET2 24476 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_RESET2_INPUTARGUMENTS 24477 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESS2 24478 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24479 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_UNSUPPRESS2 24480 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24481 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2 24482 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24483 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_PLACEINSERVICE2 24484 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24485 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RESET2 24486 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_RESET2_INPUTARGUMENTS 24487 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESS2 24488 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24489 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_UNSUPPRESS2 24490 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24491 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REMOVEFROMSERVICE2 24492 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24493 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_PLACEINSERVICE2 24494 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24495 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RESET2 24496 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_RESET2_INPUTARGUMENTS 24497 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESS2 24498 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24499 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_UNSUPPRESS2 24500 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24501 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_REMOVEFROMSERVICE2 24502 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24503 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_PLACEINSERVICE2 24504 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24505 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_RESET2 24506 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_RESET2_INPUTARGUMENTS 24507 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESS2 24508 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPRESS2_INPUTARGUMENTS 24509 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UNSUPPRESS2 24510 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_UNSUPPRESS2_INPUTARGUMENTS 24511 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REMOVEFROMSERVICE2 24512 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24513 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_PLACEINSERVICE2 24514 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_PLACEINSERVICE2_INPUTARGUMENTS 24515 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RESET2 24516 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_RESET2_INPUTARGUMENTS 24517 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESS2 24518 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24519 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_UNSUPPRESS2 24520 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24521 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24522 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24523 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_PLACEINSERVICE2 24524 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24525 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RESET2 24526 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24527 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESS2 24528 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24529 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24530 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24531 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24532 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24533 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24534 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24535 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RESET2 24536 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24537 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24538 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24539 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24540 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24541 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24542 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24543 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24544 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24545 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 24546 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24547 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24548 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24549 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24550 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24551 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24552 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24553 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24554 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24555 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 24556 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24557 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24558 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24559 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24560 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24561 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24562 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24563 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24564 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24565 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 24566 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24567 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24568 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24569 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24570 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24571 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24572 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24573 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24574 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24575 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 24576 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24577 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24578 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24579 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24580 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24581 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24582 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24583 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24584 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24585 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 24586 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24587 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24588 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24589 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24590 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24591 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24592 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24593 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24594 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24595 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 24596 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24597 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESS2 24598 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24599 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_UNSUPPRESS2 24600 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24601 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24602 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24603 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_PLACEINSERVICE2 24604 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24605 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RESET2 24606 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24607 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESS2 24608 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24609 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24610 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24611 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24612 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24613 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24614 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24615 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RESET2 24616 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24617 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24618 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24619 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24620 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24621 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24622 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24623 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24624 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24625 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 24626 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24627 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24628 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24629 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24630 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24631 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24632 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24633 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24634 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24635 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 24636 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24637 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24638 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24639 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24640 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24641 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24642 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24643 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24644 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24645 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 24646 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24647 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24648 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24649 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24650 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24651 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24652 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24653 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24654 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24655 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 24656 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24657 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24658 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24659 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24660 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24661 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24662 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24663 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24664 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24665 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 24666 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24667 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24668 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24669 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24670 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24671 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24672 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24673 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24674 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24675 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 24676 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24677 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24678 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24679 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24680 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24681 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24682 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24683 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24684 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24685 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 24686 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24687 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24688 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24689 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24690 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24691 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24692 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24693 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24694 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24695 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 24696 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24697 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24698 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24699 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24700 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24701 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24702 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24703 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24704 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24705 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 24706 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24707 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24708 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24709 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24710 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24711 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24712 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24713 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24714 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24715 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 24716 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24717 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 24718 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 24719 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 24720 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 24721 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 24722 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 24723 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 24724 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 24725 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 24726 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 24727 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 24728 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 24729 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 24730 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 24731 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 24732 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 24733 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 24734 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 24735 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 24736 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 24737 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE2 24738 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24739 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVE2 24740 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24741 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24742 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24743 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_GETGROUPMEMBERSHIPS 24744 /* Method */ -#define UA_NS0ID_GETGROUPMEMBERSHIPSMETHODTYPE 24746 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2 24748 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24749 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2 24750 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24751 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2 24752 /* Method */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24753 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS 24754 /* Method */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE2 24756 /* Method */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_TIMEDSHELVE2_INPUTARGUMENTS 24757 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVE2 24758 /* Method */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_UNSHELVE2_INPUTARGUMENTS 24759 /* Variable */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVE2 24760 /* Method */ -#define UA_NS0ID_SHELVEDSTATEMACHINETYPE_ONESHOTSHELVE2_INPUTARGUMENTS 24761 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24762 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24763 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2 24764 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24765 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24766 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24767 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_GETGROUPMEMBERSHIPS 24768 /* Method */ -#define UA_NS0ID_LIMITALARMTYPE_SEVERITYHIGHHIGH 24770 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SEVERITYHIGH 24771 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SEVERITYLOW 24772 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SEVERITYLOWLOW 24773 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_HIGHHIGHDEADBAND 24774 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_HIGHDEADBAND 24775 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LOWDEADBAND 24776 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_LOWLOWDEADBAND 24777 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24778 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24779 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2 24780 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24781 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24782 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24783 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS 24784 /* Method */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYHIGHHIGH 24786 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYHIGH 24787 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYLOW 24788 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SEVERITYLOWLOW 24789 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHHIGHDEADBAND 24790 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_HIGHDEADBAND 24791 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWDEADBAND 24792 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_LOWLOWDEADBAND 24793 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24794 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24795 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2 24796 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24797 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24798 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24799 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS 24800 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYHIGHHIGH 24802 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYHIGH 24803 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYLOW 24804 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SEVERITYLOWLOW 24805 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHHIGHDEADBAND 24806 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_HIGHDEADBAND 24807 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWDEADBAND 24808 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_LOWLOWDEADBAND 24809 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24810 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24811 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2 24812 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24813 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24814 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24815 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS 24816 /* Method */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYHIGHHIGH 24818 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYHIGH 24819 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYLOW 24820 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SEVERITYLOWLOW 24821 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHHIGHDEADBAND 24822 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_HIGHDEADBAND 24823 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWDEADBAND 24824 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_LOWLOWDEADBAND 24825 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24826 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24827 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2 24828 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24829 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24830 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24831 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS 24832 /* Method */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYHIGHHIGH 24834 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYHIGH 24835 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYLOW 24836 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SEVERITYLOWLOW 24837 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHHIGHDEADBAND 24838 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_HIGHDEADBAND 24839 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWDEADBAND 24840 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_LOWLOWDEADBAND 24841 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24842 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24843 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2 24844 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24845 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24846 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24847 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS 24848 /* Method */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGHHIGH 24850 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGH 24851 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOW 24852 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOWLOW 24853 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHDEADBAND 24854 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_HIGHDEADBAND 24855 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWDEADBAND 24856 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_LOWLOWDEADBAND 24857 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24858 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24859 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24860 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24861 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24862 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24863 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS 24864 /* Method */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGHHIGH 24866 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGH 24867 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOW 24868 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOWLOW 24869 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHDEADBAND 24870 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_HIGHDEADBAND 24871 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWDEADBAND 24872 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWDEADBAND 24873 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24874 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24875 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2 24876 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24877 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24878 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24879 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS 24880 /* Method */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGHHIGH 24882 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYHIGH 24883 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOW 24884 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SEVERITYLOWLOW 24885 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHHIGHDEADBAND 24886 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_HIGHDEADBAND 24887 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWDEADBAND 24888 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_LOWLOWDEADBAND 24889 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24890 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24891 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24892 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24893 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24894 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24895 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS 24896 /* Method */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGHHIGH 24898 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYHIGH 24899 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOW 24900 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SEVERITYLOWLOW 24901 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHHIGHDEADBAND 24902 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_HIGHDEADBAND 24903 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWDEADBAND 24904 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_LOWLOWDEADBAND 24905 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24906 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24907 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24908 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24909 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24910 /* Method */ -#define UA_NS0ID_DISCRETEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24911 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_GETGROUPMEMBERSHIPS 24912 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24914 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24915 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2 24916 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24917 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24918 /* Method */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24919 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS 24920 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24922 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24923 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2 24924 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24925 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24926 /* Method */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24927 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS 24928 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24930 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24931 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVE2 24932 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24933 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24934 /* Method */ -#define UA_NS0ID_TRIPALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24935 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_GETGROUPMEMBERSHIPS 24936 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24938 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24939 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2 24940 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24941 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24942 /* Method */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24943 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS 24944 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24946 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24947 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2 24948 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24949 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24950 /* Method */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24951 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS 24952 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24954 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24955 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2 24956 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24957 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24958 /* Method */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24959 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_GETGROUPMEMBERSHIPS 24960 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24962 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24963 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVE2 24964 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24965 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24966 /* Method */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24967 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_GETGROUPMEMBERSHIPS 24968 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2 24970 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24971 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVE2 24972 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24973 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2 24974 /* Method */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24975 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_GETGROUPMEMBERSHIPS 24976 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 24978 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24979 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 24980 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24981 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 24982 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24983 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 24984 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 24986 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24987 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 24988 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24989 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 24990 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24991 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 24992 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 24994 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 24995 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 24996 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 24997 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 24998 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 24999 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25000 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25002 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25003 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25004 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25005 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25006 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25007 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25008 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25010 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25011 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25012 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25013 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25014 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25015 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25016 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25018 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25019 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25020 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25021 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25022 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25023 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25024 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25026 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25027 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25028 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25029 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25030 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25031 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25032 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25034 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25035 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25036 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25037 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25038 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25039 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25040 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25042 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25043 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25044 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25045 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25046 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25047 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25048 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25050 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25051 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25052 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25053 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25054 /* Method */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25055 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25056 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25058 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25059 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25060 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25061 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25062 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25063 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25064 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25066 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25067 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25068 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25069 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25070 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25071 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25072 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25074 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25075 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25076 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25077 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25078 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25079 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25080 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25082 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25083 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25084 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25085 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25086 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25087 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25088 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25090 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25091 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25092 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25093 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25094 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25095 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25096 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25098 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25099 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25100 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25101 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25102 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25103 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25104 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25106 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25107 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25108 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25109 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25110 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25111 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25112 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25114 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25115 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25116 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25117 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25118 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25119 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25120 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25122 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25123 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25124 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25125 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25126 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25127 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25128 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25130 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25131 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25132 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25133 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25134 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25135 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25136 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25138 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25139 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25140 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25141 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25142 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25143 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25144 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 25146 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25147 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 25148 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25149 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 25150 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25151 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 25152 /* Method */ -#define UA_NS0ID_ALARMCONDITIONTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25154 /* Variable */ -#define UA_NS0ID_GETGROUPMEMBERSHIPSMETHODTYPE_OUTPUTARGUMENTS 25155 /* Variable */ -#define UA_NS0ID_ALARMGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25156 /* Variable */ -#define UA_NS0ID_TIMEDSHELVE2METHODTYPE 25157 /* Method */ -#define UA_NS0ID_TIMEDSHELVE2METHODTYPE_INPUTARGUMENTS 25158 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25159 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25160 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25161 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25162 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25163 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25164 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25165 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25166 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25167 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25168 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25169 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25170 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25171 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25172 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25173 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25174 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25175 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25176 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25177 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25178 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25179 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25180 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25181 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25182 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25183 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25184 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25185 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25186 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25187 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25188 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25189 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25190 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25191 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25192 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25193 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25194 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25195 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25196 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25197 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25198 /* Variable */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_NAMESPACEFILE_LASTMODIFIEDTIME 25199 /* Variable */ -#define UA_NS0ID_FILETYPE_LASTMODIFIEDTIME 25200 /* Variable */ -#define UA_NS0ID_ADDRESSSPACEFILETYPE_LASTMODIFIEDTIME 25201 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_NAMESPACEFILE_LASTMODIFIEDTIME 25202 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_NAMESPACEFILE_LASTMODIFIEDTIME 25203 /* Variable */ -#define UA_NS0ID_FILEDIRECTORYTYPE_FILENAME_PLACEHOLDER_LASTMODIFIEDTIME 25204 /* Variable */ -#define UA_NS0ID_FILESYSTEM_FILENAME_PLACEHOLDER_LASTMODIFIEDTIME 25205 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_LASTMODIFIEDTIME 25206 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_LASTMODIFIEDTIME 25207 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25208 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 25209 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 25210 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_LASTMODIFIEDTIME 25211 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25212 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 25213 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 25214 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25215 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 25216 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 25217 /* Variable */ -#define UA_NS0ID_IVLANIDTYPE 25218 /* ObjectType */ -#define UA_NS0ID_IVLANIDTYPE_VLANID 25219 /* Variable */ -#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE 25220 /* DataType */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE 25221 /* ObjectType */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_ADMINSTATUS 25222 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_OPERSTATUS 25223 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_PHYSADDRESS 25224 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED 25225 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_INTERFACENAME_PLACEHOLDER 25226 /* Object */ -#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE 25227 /* ObjectType */ -#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_PRIORITYMAPPPINGENTRIES 25228 /* Variable */ -#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_ADDPRIORITYMAPPINGENTRY 25229 /* Method */ -#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_ADDPRIORITYMAPPINGENTRY_INPUTARGUMENTS 25230 /* Variable */ -#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_DELETEPRIORITYMAPPINGENTRY 25231 /* Method */ -#define UA_NS0ID_PRIORITYMAPPINGTABLETYPE_DELETEPRIORITYMAPPINGENTRY_INPUTARGUMENTS 25232 /* Variable */ -#define UA_NS0ID_ADDPRIORITYMAPPINGENTRYMETHODTYPE 25233 /* Method */ -#define UA_NS0ID_ADDPRIORITYMAPPINGENTRYMETHODTYPE_INPUTARGUMENTS 25234 /* Variable */ -#define UA_NS0ID_DELETEPRIORITYMAPPINGENTRYMETHODTYPE 25235 /* Method */ -#define UA_NS0ID_DELETEPRIORITYMAPPINGENTRYMETHODTYPE_INPUTARGUMENTS 25236 /* Variable */ -#define UA_NS0ID_USESPRIORITYMAPPINGTABLE 25237 /* ReferenceType */ -#define UA_NS0ID_HASLOWERLAYERINTERFACE 25238 /* ReferenceType */ -#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE_ENCODING_DEFAULTBINARY 25239 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PRIORITYMAPPINGENTRYTYPE 25240 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PRIORITYMAPPINGENTRYTYPE_DATATYPEVERSION 25241 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PRIORITYMAPPINGENTRYTYPE_DICTIONARYFRAGMENT 25242 /* Variable */ -#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE_ENCODING_DEFAULTXML 25243 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PRIORITYMAPPINGENTRYTYPE 25244 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PRIORITYMAPPINGENTRYTYPE_DATATYPEVERSION 25245 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PRIORITYMAPPINGENTRYTYPE_DICTIONARYFRAGMENT 25246 /* Variable */ -#define UA_NS0ID_PRIORITYMAPPINGENTRYTYPE_ENCODING_DEFAULTJSON 25247 /* Object */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_DEFINITION 25248 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_VALUEPRECISION 25249 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_INSTRUMENTRANGE 25250 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_EURANGE 25251 /* Variable */ -#define UA_NS0ID_IETFBASENETWORKINTERFACETYPE_SPEED_ENGINEERINGUNITS 25252 /* Variable */ -#define UA_NS0ID_ISEXECUTABLEON 25253 /* ReferenceType */ -#define UA_NS0ID_CONTROLS 25254 /* ReferenceType */ -#define UA_NS0ID_UTILIZES 25255 /* ReferenceType */ -#define UA_NS0ID_REQUIRES 25256 /* ReferenceType */ -#define UA_NS0ID_ISPHYSICALLYCONNECTEDTO 25257 /* ReferenceType */ -#define UA_NS0ID_REPRESENTSSAMEENTITYAS 25258 /* ReferenceType */ -#define UA_NS0ID_REPRESENTSSAMEHARDWAREAS 25259 /* ReferenceType */ -#define UA_NS0ID_REPRESENTSSAMEFUNCTIONALITYAS 25260 /* ReferenceType */ -#define UA_NS0ID_ISHOSTEDBY 25261 /* ReferenceType */ -#define UA_NS0ID_HASPHYSICALCOMPONENT 25262 /* ReferenceType */ -#define UA_NS0ID_HASCONTAINEDCOMPONENT 25263 /* ReferenceType */ -#define UA_NS0ID_HASATTACHEDCOMPONENT 25264 /* ReferenceType */ -#define UA_NS0ID_ISEXECUTINGON 25265 /* ReferenceType */ -#define UA_NS0ID_OPCUANAMESPACEMETADATA_CONFIGURATIONVERSION 25266 /* Variable */ -#define UA_NS0ID_NAMESPACEMETADATATYPE_CONFIGURATIONVERSION 25267 /* Variable */ -#define UA_NS0ID_NAMESPACESTYPE_NAMESPACEIDENTIFIER_PLACEHOLDER_CONFIGURATIONVERSION 25268 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 25269 /* DataType */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE 25270 /* DataType */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 25271 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25272 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25273 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 25274 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25275 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 25276 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS 25277 /* Object */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGET 25278 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 25279 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 25280 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET 25281 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 25282 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 25283 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25284 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25285 /* Variable */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 25286 /* Method */ -#define UA_NS0ID_PUBSUBKEYSERVICETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25287 /* Variable */ -#define UA_NS0ID_ADDSECURITYGROUPFOLDERMETHODTYPE 25288 /* Method */ -#define UA_NS0ID_ADDSECURITYGROUPFOLDERMETHODTYPE_INPUTARGUMENTS 25289 /* Variable */ -#define UA_NS0ID_ADDSECURITYGROUPFOLDERMETHODTYPE_OUTPUTARGUMENTS 25290 /* Variable */ -#define UA_NS0ID_REMOVESECURITYGROUPFOLDERMETHODTYPE 25291 /* Method */ -#define UA_NS0ID_REMOVESECURITYGROUPFOLDERMETHODTYPE_INPUTARGUMENTS 25292 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUPFOLDER 25293 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25294 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25295 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUPFOLDER 25296 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25297 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPFOLDERNAME_PLACEHOLDER_SUPPORTEDSECURITYPOLICYURIS 25298 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUPFOLDER 25312 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25313 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25314 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUPFOLDER 25315 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25316 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SUPPORTEDSECURITYPOLICYURIS 25317 /* Variable */ -#define UA_NS0ID_CONNECTSECURITYGROUPSMETHODTYPE 25331 /* Method */ -#define UA_NS0ID_CONNECTSECURITYGROUPSMETHODTYPE_INPUTARGUMENTS 25332 /* Variable */ -#define UA_NS0ID_CONNECTSECURITYGROUPSMETHODTYPE_OUTPUTARGUMENTS 25333 /* Variable */ -#define UA_NS0ID_DISCONNECTSECURITYGROUPSMETHODTYPE 25334 /* Method */ -#define UA_NS0ID_DISCONNECTSECURITYGROUPSMETHODTYPE_INPUTARGUMENTS 25335 /* Variable */ -#define UA_NS0ID_DISCONNECTSECURITYGROUPSMETHODTYPE_OUTPUTARGUMENTS 25336 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE 25337 /* ObjectType */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYPOLICYURI 25340 /* Variable */ -#define UA_NS0ID_HASPUSHEDSECURITYGROUP 25345 /* ReferenceType */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE 25346 /* ObjectType */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER 25347 /* Object */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGET 25348 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGET_INPUTARGUMENTS 25349 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGET_OUTPUTARGUMENTS 25350 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGET 25351 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGET_INPUTARGUMENTS 25352 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGETFOLDER 25353 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25354 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25355 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGETFOLDER 25356 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETFOLDERNAME_PLACEHOLDER_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25357 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER 25358 /* Object */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_SECURITYPOLICYURI 25361 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGET 25366 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGET_INPUTARGUMENTS 25367 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGET_OUTPUTARGUMENTS 25368 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGET 25369 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGET_INPUTARGUMENTS 25370 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGETFOLDER 25371 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25372 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25373 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGETFOLDER 25374 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25375 /* Variable */ -#define UA_NS0ID_ADDPUSHTARGETMETHODTYPE 25376 /* Method */ -#define UA_NS0ID_ADDPUSHTARGETMETHODTYPE_INPUTARGUMENTS 25377 /* Variable */ -#define UA_NS0ID_ADDPUSHTARGETMETHODTYPE_OUTPUTARGUMENTS 25378 /* Variable */ -#define UA_NS0ID_REMOVEPUSHTARGETMETHODTYPE 25379 /* Method */ -#define UA_NS0ID_REMOVEPUSHTARGETMETHODTYPE_INPUTARGUMENTS 25380 /* Variable */ -#define UA_NS0ID_ADDPUSHTARGETFOLDERMETHODTYPE 25381 /* Method */ -#define UA_NS0ID_ADDPUSHTARGETFOLDERMETHODTYPE_INPUTARGUMENTS 25382 /* Variable */ -#define UA_NS0ID_ADDPUSHTARGETFOLDERMETHODTYPE_OUTPUTARGUMENTS 25383 /* Variable */ -#define UA_NS0ID_REMOVEPUSHTARGETFOLDERMETHODTYPE 25384 /* Method */ -#define UA_NS0ID_REMOVEPUSHTARGETFOLDERMETHODTYPE_INPUTARGUMENTS 25385 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 25386 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25387 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25388 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 25389 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25390 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 25391 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS 25392 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGET 25393 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 25394 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 25395 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET 25396 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 25397 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 25398 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25399 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25400 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 25401 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25402 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION 25403 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_SIZE 25404 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_WRITABLE 25405 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_USERWRITABLE 25406 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPENCOUNT 25407 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_MIMETYPE 25408 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_MAXBYTESTRINGLENGTH 25409 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_LASTMODIFIEDTIME 25410 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPEN 25411 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPEN_INPUTARGUMENTS 25412 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_OPEN_OUTPUTARGUMENTS 25413 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSE 25414 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSE_INPUTARGUMENTS 25415 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_READ 25416 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_READ_INPUTARGUMENTS 25417 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_READ_OUTPUTARGUMENTS 25418 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_WRITE 25419 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_WRITE_INPUTARGUMENTS 25420 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_GETPOSITION 25421 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_GETPOSITION_INPUTARGUMENTS 25422 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_GETPOSITION_OUTPUTARGUMENTS 25423 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_SETPOSITION 25424 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_SETPOSITION_INPUTARGUMENTS 25425 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_RESERVEIDS 25426 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_RESERVEIDS_INPUTARGUMENTS 25427 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_RESERVEIDS_OUTPUTARGUMENTS 25428 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSEANDUPDATE 25429 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_INPUTARGUMENTS 25430 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_OUTPUTARGUMENTS 25431 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DEFAULTDATAGRAMPUBLISHERID 25432 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONFIGURATIONVERSION 25433 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 25434 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 25435 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 25436 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 25437 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 25438 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 25439 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS 25440 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGET 25441 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 25442 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 25443 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGET 25444 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 25445 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 25446 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 25447 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 25448 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 25449 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 25450 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION 25451 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_SIZE 25452 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_WRITABLE 25453 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_USERWRITABLE 25454 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPENCOUNT 25455 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_MIMETYPE 25456 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_MAXBYTESTRINGLENGTH 25457 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_LASTMODIFIEDTIME 25458 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPEN 25459 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPEN_INPUTARGUMENTS 25460 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_OPEN_OUTPUTARGUMENTS 25461 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSE 25462 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSE_INPUTARGUMENTS 25463 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_READ 25464 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_READ_INPUTARGUMENTS 25465 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_READ_OUTPUTARGUMENTS 25466 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_WRITE 25467 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_WRITE_INPUTARGUMENTS 25468 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_GETPOSITION 25469 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_GETPOSITION_INPUTARGUMENTS 25470 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_GETPOSITION_OUTPUTARGUMENTS 25471 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_SETPOSITION 25472 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_SETPOSITION_INPUTARGUMENTS 25473 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS 25474 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS_INPUTARGUMENTS 25475 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS_OUTPUTARGUMENTS 25476 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSEANDUPDATE 25477 /* Method */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_INPUTARGUMENTS 25478 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_CLOSEANDUPDATE_OUTPUTARGUMENTS 25479 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DEFAULTDATAGRAMPUBLISHERID 25480 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONFIGURATIONVERSION 25481 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE 25482 /* ObjectType */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_SIZE 25483 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_WRITABLE 25484 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_USERWRITABLE 25485 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPENCOUNT 25486 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_MIMETYPE 25487 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_MAXBYTESTRINGLENGTH 25488 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_LASTMODIFIEDTIME 25489 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPEN 25490 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPEN_INPUTARGUMENTS 25491 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_OPEN_OUTPUTARGUMENTS 25492 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSE 25493 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSE_INPUTARGUMENTS 25494 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_READ 25495 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_READ_INPUTARGUMENTS 25496 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_READ_OUTPUTARGUMENTS 25497 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_WRITE 25498 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_WRITE_INPUTARGUMENTS 25499 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_GETPOSITION 25500 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_GETPOSITION_INPUTARGUMENTS 25501 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_GETPOSITION_OUTPUTARGUMENTS 25502 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_SETPOSITION 25503 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_SETPOSITION_INPUTARGUMENTS 25504 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_RESERVEIDS 25505 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_RESERVEIDS_INPUTARGUMENTS 25506 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_RESERVEIDS_OUTPUTARGUMENTS 25507 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSEANDUPDATE 25508 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSEANDUPDATE_INPUTARGUMENTS 25509 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPE_CLOSEANDUPDATE_OUTPUTARGUMENTS 25510 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPERESERVEIDSMETHODTYPE 25511 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPERESERVEIDSMETHODTYPE_INPUTARGUMENTS 25512 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPERESERVEIDSMETHODTYPE_OUTPUTARGUMENTS 25513 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPECLOSEANDUPDATEMETHODTYPE 25514 /* Method */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPECLOSEANDUPDATEMETHODTYPE_INPUTARGUMENTS 25515 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONTYPECLOSEANDUPDATEMETHODTYPE_OUTPUTARGUMENTS 25516 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONREFMASK 25517 /* DataType */ -#define UA_NS0ID_PUBSUBCONFIGURATIONREFMASK_OPTIONSETVALUES 25518 /* Variable */ -#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE 25519 /* DataType */ -#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE 25520 /* DataType */ -#define UA_NS0ID_PUBLISHEDDATASETTYPE_CYCLICDATASET 25521 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CYCLICDATASET 25522 /* Variable */ -#define UA_NS0ID_PUBLISHEDEVENTSTYPE_CYCLICDATASET 25523 /* Variable */ -#define UA_NS0ID_DATASETFOLDERTYPE_PUBLISHEDDATASETNAME_PLACEHOLDER_CYCLICDATASET 25524 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_QOSCATEGORY 25525 /* Variable */ -#define UA_NS0ID_DATAGRAMCONNECTIONTRANSPORTTYPE_DATAGRAMQOS 25526 /* Variable */ -#define UA_NS0ID_DATAGRAMWRITERGROUPTRANSPORTTYPE_QOSCATEGORY 25527 /* Variable */ -#define UA_NS0ID_DATAGRAMDATASETREADERTRANSPORTTYPE_QOSCATEGORY 25528 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_ENCODING_DEFAULTBINARY 25529 /* Object */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE_ENCODING_DEFAULTBINARY 25530 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE_ENCODING_DEFAULTBINARY 25531 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE_ENCODING_DEFAULTBINARY 25532 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 25533 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DATATYPEVERSION 25534 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DICTIONARYFRAGMENT 25535 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE 25536 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DATATYPEVERSION 25537 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DICTIONARYFRAGMENT 25538 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE 25539 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DATATYPEVERSION 25540 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DICTIONARYFRAGMENT 25541 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE 25542 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DATATYPEVERSION 25543 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DICTIONARYFRAGMENT 25544 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_ENCODING_DEFAULTXML 25545 /* Object */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE_ENCODING_DEFAULTXML 25546 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE_ENCODING_DEFAULTXML 25547 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE_ENCODING_DEFAULTXML 25548 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 25549 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DATATYPEVERSION 25550 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_DICTIONARYFRAGMENT 25551 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE 25552 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DATATYPEVERSION 25553 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBKEYPUSHTARGETDATATYPE_DICTIONARYFRAGMENT 25554 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE 25555 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DATATYPEVERSION 25556 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONREFDATATYPE_DICTIONARYFRAGMENT 25557 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE 25558 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DATATYPEVERSION 25559 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_PUBSUBCONFIGURATIONVALUEDATATYPE_DICTIONARYFRAGMENT 25560 /* Variable */ -#define UA_NS0ID_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE_ENCODING_DEFAULTJSON 25561 /* Object */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETDATATYPE_ENCODING_DEFAULTJSON 25562 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONREFDATATYPE_ENCODING_DEFAULTJSON 25563 /* Object */ -#define UA_NS0ID_PUBSUBCONFIGURATIONVALUEDATATYPE_ENCODING_DEFAULTJSON 25564 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN 25565 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_IDENTITIES 25566 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_APPLICATIONSEXCLUDE 25567 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_APPLICATIONS 25568 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ENDPOINTSEXCLUDE 25569 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ENDPOINTS 25570 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_CUSTOMCONFIGURATION 25571 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDIDENTITY 25572 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDIDENTITY_INPUTARGUMENTS 25573 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEIDENTITY 25574 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEIDENTITY_INPUTARGUMENTS 25575 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDAPPLICATION 25576 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDAPPLICATION_INPUTARGUMENTS 25577 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEAPPLICATION 25578 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEAPPLICATION_INPUTARGUMENTS 25579 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDENDPOINT 25580 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_ADDENDPOINT_INPUTARGUMENTS 25581 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEENDPOINT 25582 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERADMIN_REMOVEENDPOINT_INPUTARGUMENTS 25583 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH 25584 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_IDENTITIES 25585 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_APPLICATIONSEXCLUDE 25586 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_APPLICATIONS 25587 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ENDPOINTSEXCLUDE 25588 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ENDPOINTS 25589 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_CUSTOMCONFIGURATION 25590 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDIDENTITY 25591 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDIDENTITY_INPUTARGUMENTS 25592 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEIDENTITY 25593 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEIDENTITY_INPUTARGUMENTS 25594 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDAPPLICATION 25595 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDAPPLICATION_INPUTARGUMENTS 25596 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEAPPLICATION 25597 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEAPPLICATION_INPUTARGUMENTS 25598 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDENDPOINT 25599 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_ADDENDPOINT_INPUTARGUMENTS 25600 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEENDPOINT 25601 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERPUSH_REMOVEENDPOINT_INPUTARGUMENTS 25602 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS 25603 /* Object */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_IDENTITIES 25604 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_APPLICATIONSEXCLUDE 25605 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_APPLICATIONS 25606 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ENDPOINTSEXCLUDE 25607 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ENDPOINTS 25608 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_CUSTOMCONFIGURATION 25609 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDIDENTITY 25610 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDIDENTITY_INPUTARGUMENTS 25611 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEIDENTITY 25612 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEIDENTITY_INPUTARGUMENTS 25613 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDAPPLICATION 25614 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDAPPLICATION_INPUTARGUMENTS 25615 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEAPPLICATION 25616 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEAPPLICATION_INPUTARGUMENTS 25617 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDENDPOINT 25618 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_ADDENDPOINT_INPUTARGUMENTS 25619 /* Variable */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEENDPOINT 25620 /* Method */ -#define UA_NS0ID_WELLKNOWNROLE_SECURITYKEYSERVERACCESS_REMOVEENDPOINT_INPUTARGUMENTS 25621 /* Variable */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_INVALIDATEKEYS 25622 /* Method */ -#define UA_NS0ID_SECURITYGROUPFOLDERTYPE_SECURITYGROUPNAME_PLACEHOLDER_FORCEKEYROTATION 25623 /* Method */ -#define UA_NS0ID_SECURITYGROUPTYPE_INVALIDATEKEYS 25624 /* Method */ -#define UA_NS0ID_SECURITYGROUPTYPE_FORCEKEYROTATION 25625 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER 25626 /* Object */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYGROUPID 25627 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_KEYLIFETIME 25628 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_SECURITYPOLICYURI 25629 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXFUTUREKEYCOUNT 25630 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_MAXPASTKEYCOUNT 25631 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_INVALIDATEKEYS 25632 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_SECURITYGROUPNAME_PLACEHOLDER_FORCEKEYROTATION 25633 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_APPLICATIONURI 25634 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_ENDPOINTURL 25635 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_USERTOKENTYPE 25636 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_REQUESTEDKEYCOUNT 25637 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_RETRYINTERVAL 25638 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_LASTPUSHEXECUTIONTIME 25639 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_LASTPUSHERRORTIME 25640 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_CONNECTSECURITYGROUPS 25641 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_CONNECTSECURITYGROUPS_INPUTARGUMENTS 25642 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_CONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25643 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_DISCONNECTSECURITYGROUPS 25644 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_DISCONNECTSECURITYGROUPS_INPUTARGUMENTS 25645 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_DISCONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25646 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETTYPE_TRIGGERKEYUPDATE 25647 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_APPLICATIONURI 25648 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_ENDPOINTURL 25649 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_USERTOKENTYPE 25650 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_REQUESTEDKEYCOUNT 25651 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_RETRYINTERVAL 25652 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_LASTPUSHEXECUTIONTIME 25653 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_LASTPUSHERRORTIME 25654 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_CONNECTSECURITYGROUPS 25655 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_CONNECTSECURITYGROUPS_INPUTARGUMENTS 25656 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_CONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25657 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_DISCONNECTSECURITYGROUPS 25658 /* Method */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_DISCONNECTSECURITYGROUPS_INPUTARGUMENTS 25659 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_DISCONNECTSECURITYGROUPS_OUTPUTARGUMENTS 25660 /* Variable */ -#define UA_NS0ID_PUBSUBKEYPUSHTARGETFOLDERTYPE_PUSHTARGETNAME_PLACEHOLDER_TRIGGERKEYUPDATE 25661 /* Method */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_OUTPUTARGUMENTS 25684 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_APPLICATIONURI 25696 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_APPLICATIONTYPE 25697 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CANCELCHANGES 25698 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_RESETTOSERVERDEFAULTS 25699 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_APPLICATIONURI 25706 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_APPLICATIONTYPE 25707 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CANCELCHANGES 25708 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_RESETTOSERVERDEFAULTS 25709 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_SETADMINPASSWORD 25710 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_PRODUCTURI 25724 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_PRODUCTURI 25725 /* Variable */ -#define UA_NS0ID_ENCODEDTICKET 25726 /* DataType */ -#define UA_NS0ID_REQUESTTICKETSMETHODTYPE 25727 /* Method */ -#define UA_NS0ID_REQUESTTICKETSMETHODTYPE_OUTPUTARGUMENTS 25728 /* Variable */ -#define UA_NS0ID_SETREGISTRARENDPOINTSMETHODTYPE 25729 /* Method */ -#define UA_NS0ID_SETREGISTRARENDPOINTSMETHODTYPE_INPUTARGUMENTS 25730 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE 25731 /* ObjectType */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS 25732 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 25733 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 25734 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 25735 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 25736 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 25737 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 25738 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 25739 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 25740 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 25741 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 25742 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 25743 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 25744 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 25745 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 25746 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 25747 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 25748 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 25749 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 25750 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 25751 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 25752 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 25753 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 25754 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 25755 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 25756 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 25757 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 25758 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 25759 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 25760 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 25761 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 25762 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 25763 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 25764 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 25765 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 25766 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 25767 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 25768 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 25769 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 25770 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 25772 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 25773 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 25774 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 25775 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 25776 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 25777 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 25778 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 25779 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 25780 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 25781 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 25782 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 25783 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 25784 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 25785 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 25786 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 25787 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 25788 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 25789 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 25790 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 25791 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 25792 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 25793 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 25794 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 25795 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 25796 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 25797 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 25798 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 25799 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 25800 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 25801 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 25802 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 25803 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 25804 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 25805 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 25806 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 25807 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 25808 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 25809 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 25810 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 25811 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 25812 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 25813 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 25814 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 25815 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 25816 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 25817 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 25818 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 25819 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 25820 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 25821 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 25822 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 25823 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 25824 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 25825 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 25826 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 25827 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 25828 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 25829 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 25830 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 25831 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 25832 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 25833 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 25834 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 25835 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 25836 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 25837 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 25838 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 25839 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 25840 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 25841 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 25842 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 25843 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 25844 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 25845 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 25846 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 25847 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 25848 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 25849 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 25850 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 25851 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 25852 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 25853 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 25854 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 25855 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 25856 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 25857 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 25858 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 25859 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 25860 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 25861 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 25862 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 25863 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 25864 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 25865 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 25866 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 25867 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 25868 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 25869 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 25870 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 25871 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 25872 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 25873 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 25874 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 25875 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 25876 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 25877 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 25878 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 25879 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 25880 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 25881 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 25882 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 25883 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 25884 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 25885 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 25886 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 25887 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 25888 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 25889 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 25890 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 25891 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 25892 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 25893 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 25894 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 25895 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 25896 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 25897 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 25898 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 25899 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 25900 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 25901 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 25902 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 25903 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 25904 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 25905 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 25906 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 25907 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 25908 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 25909 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 25910 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 25911 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 25912 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 25913 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 25914 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 25915 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 25916 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 25917 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 25918 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 25919 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 25920 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 25921 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 25922 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 25923 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 25924 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 25925 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 25926 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 25927 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 25928 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 25929 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 25930 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 25931 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 25932 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 25933 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 25934 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 25935 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 25936 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 25937 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 25938 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 25939 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 25940 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 25941 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 25942 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 25943 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 25944 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 25945 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 25946 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 25947 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 25948 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 25949 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 25950 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 25951 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 25952 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 25953 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 25954 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 25955 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 25956 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 25957 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 25958 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 25959 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 25960 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 25961 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 25962 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 25963 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 25964 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 25965 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 25966 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 25967 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 25968 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 25969 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 25970 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 25971 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 25972 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 25973 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 25974 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 25975 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 25976 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 25977 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 25978 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 25979 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 25980 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 25981 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 25982 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 25983 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 25984 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 25985 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 25986 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 25987 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 25988 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 25989 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 25990 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 25991 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 25992 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 25993 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 25994 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 25995 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 25996 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 25997 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 25998 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 25999 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 26000 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 26001 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 26002 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26003 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 26004 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26005 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 26006 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 26007 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 26008 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 26009 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 26010 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 26011 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 26012 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26013 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 26014 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26015 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 26016 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 26017 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 26018 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 26019 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 26020 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 26021 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26022 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 26023 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26024 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 26025 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 26026 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 26027 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 26028 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 26029 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 26030 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 26031 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26032 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 26033 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 26034 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 26035 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 26036 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26037 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26038 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 26039 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 26040 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 26041 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 26042 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26043 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 26044 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26045 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 26046 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 26047 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26048 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 26049 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 26050 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26051 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 26052 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 26053 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 26054 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 26055 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 26056 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 26057 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 26058 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 26059 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 26060 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 26061 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 26062 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 26063 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 26064 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 26065 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 26066 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 26067 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 26068 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 26069 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 26070 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 26071 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 26072 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 26073 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 26074 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 26075 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26076 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 26077 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26078 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 26079 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 26080 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 26081 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 26082 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 26083 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 26084 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 26085 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 26086 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 26087 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 26088 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 26089 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 26090 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 26091 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 26092 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 26093 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 26094 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 26095 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 26096 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 26097 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 26098 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 26099 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26100 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 26101 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 26102 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 26103 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 26104 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 26105 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 26106 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 26107 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 26108 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 26109 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 26110 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 26111 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 26112 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 26113 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 26114 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 26115 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 26116 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 26117 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 26118 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 26119 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 26120 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 26121 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 26122 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 26123 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 26124 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 26125 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 26126 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 26127 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 26128 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 26129 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 26130 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 26131 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 26132 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 26133 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 26134 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 26135 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 26136 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 26137 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 26138 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 26139 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 26140 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 26141 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 26142 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 26144 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 26145 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 26146 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 26147 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 26148 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 26149 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 26150 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 26151 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 26152 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 26153 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 26154 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 26155 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 26156 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 26157 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 26158 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 26159 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 26160 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 26161 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 26162 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 26163 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 26164 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 26165 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 26166 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26167 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 26168 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26169 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 26170 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 26171 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 26172 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 26173 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 26174 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 26175 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 26176 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 26177 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 26178 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 26179 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 26180 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 26181 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 26182 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 26183 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 26184 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 26185 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 26186 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26187 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 26188 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26189 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 26190 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 26191 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 26192 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 26193 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 26194 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 26195 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26196 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 26197 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26198 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 26199 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 26200 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 26201 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 26202 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 26203 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 26204 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 26205 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 26206 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 26207 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 26208 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26209 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 26210 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26211 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 26212 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 26213 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 26214 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 26215 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 26216 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 26217 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 26218 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26219 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 26220 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26221 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 26222 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 26223 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 26224 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 26225 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 26226 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 26227 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26228 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 26229 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26230 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 26231 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 26232 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 26233 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 26234 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 26235 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 26236 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 26237 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26238 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 26239 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 26240 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 26241 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 26242 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26243 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26244 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 26245 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 26246 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 26247 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 26248 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26249 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 26250 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26251 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 26252 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 26253 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26254 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 26255 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 26256 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26257 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 26258 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 26259 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 26260 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 26261 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 26262 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 26263 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 26264 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 26265 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 26266 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 26267 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 26268 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 26269 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 26270 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 26271 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 26272 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 26273 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 26274 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 26275 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 26276 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 26277 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 26278 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 26279 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 26280 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 26281 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26282 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 26283 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26284 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 26285 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 26286 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 26287 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 26288 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 26289 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 26290 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 26291 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 26292 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 26293 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 26294 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 26295 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 26296 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 26297 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 26298 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 26299 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 26300 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 26301 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 26302 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 26303 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 26304 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 26305 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26306 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 26307 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 26308 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 26309 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 26310 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 26311 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 26312 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 26313 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 26314 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 26315 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 26316 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 26317 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 26318 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 26319 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 26320 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 26321 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 26322 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 26323 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 26324 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 26325 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 26326 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 26327 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 26328 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 26329 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 26330 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 26331 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 26332 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26333 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 26334 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26335 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 26336 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 26337 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 26338 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 26339 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 26340 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 26341 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 26342 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 26343 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 26344 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 26345 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 26346 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 26347 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 26348 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 26349 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 26350 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 26351 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 26352 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26353 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 26354 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26355 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 26356 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 26357 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 26358 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 26359 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 26360 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 26361 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26362 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 26363 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26364 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 26365 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 26366 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 26367 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 26368 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 26369 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 26370 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 26371 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 26372 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 26373 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 26374 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26375 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 26376 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26377 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 26378 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 26379 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 26380 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 26381 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 26382 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 26383 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 26384 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26385 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 26386 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26387 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 26388 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 26389 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 26390 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 26391 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 26392 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 26393 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26394 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 26395 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26396 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 26397 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 26398 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 26399 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 26400 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 26401 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 26402 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 26403 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26404 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 26405 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 26406 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 26407 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 26408 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26409 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26410 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 26411 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 26412 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 26413 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 26414 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26415 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 26416 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26417 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 26418 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 26419 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26420 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 26421 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 26422 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26423 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 26424 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 26425 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 26426 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 26427 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 26428 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 26429 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 26430 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 26431 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 26432 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 26433 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 26434 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 26435 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 26436 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 26437 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 26438 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 26439 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 26440 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 26441 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 26442 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 26443 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 26444 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 26445 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 26446 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 26447 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26448 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 26449 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26450 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 26451 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 26452 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 26453 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 26454 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 26455 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 26456 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 26457 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 26458 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 26459 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 26460 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 26461 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 26462 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 26463 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 26464 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 26465 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 26466 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 26467 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 26468 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 26469 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 26470 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 26471 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26472 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 26473 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 26474 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 26475 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 26476 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 26477 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 26478 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 26479 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 26480 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 26481 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 26482 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 26483 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 26484 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 26485 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 26486 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 26487 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 26488 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 26489 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 26490 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 26491 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 26492 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 26493 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 26494 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 26495 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 26496 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 26497 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 26498 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 26499 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 26500 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 26501 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 26502 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 26503 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 26504 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 26505 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 26506 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 26507 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 26508 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 26509 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 26510 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 26511 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 26512 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 26513 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 26514 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 26516 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 26517 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 26518 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 26519 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 26520 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 26521 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 26522 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 26523 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 26524 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 26525 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 26526 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 26527 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 26528 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 26529 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 26530 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 26531 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 26532 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 26533 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 26534 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 26535 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 26536 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 26537 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 26538 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26539 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 26540 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26541 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 26542 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 26543 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 26544 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 26545 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 26546 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 26547 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 26548 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 26549 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 26550 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 26551 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 26552 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 26553 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 26554 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 26555 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 26556 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 26557 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 26558 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26559 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 26560 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26561 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 26562 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 26563 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 26564 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 26565 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 26566 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 26567 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26568 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 26569 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26570 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 26571 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 26572 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 26573 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 26574 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 26575 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 26576 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 26577 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 26578 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 26579 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 26580 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26581 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 26582 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26583 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 26584 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 26585 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 26586 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 26587 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 26588 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 26589 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 26590 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26591 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 26592 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26593 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 26594 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 26595 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 26596 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 26597 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 26598 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 26599 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26600 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 26601 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26602 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 26603 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 26604 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 26605 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 26606 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 26607 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 26608 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 26609 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26610 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 26611 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 26612 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 26613 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 26614 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26615 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26616 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 26617 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 26618 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 26619 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 26620 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26621 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 26622 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26623 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 26624 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 26625 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26626 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 26627 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 26628 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26629 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 26630 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 26631 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 26632 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 26633 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 26634 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 26635 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 26636 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 26637 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 26638 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 26639 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 26640 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 26641 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 26642 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 26643 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 26644 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 26645 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 26646 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 26647 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 26648 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 26649 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 26650 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 26651 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 26652 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 26653 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26654 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 26655 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26656 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 26657 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 26658 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 26659 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 26660 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 26661 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 26662 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 26663 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 26664 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 26665 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 26666 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 26667 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 26668 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 26669 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 26670 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 26671 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 26672 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 26673 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 26674 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 26675 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 26676 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 26677 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26678 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 26679 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 26680 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 26681 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 26682 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 26683 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 26684 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 26685 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 26686 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 26687 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 26688 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 26689 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 26690 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 26691 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 26692 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 26693 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 26694 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 26695 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 26696 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 26697 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 26698 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 26699 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 26700 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 26701 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 26702 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 26703 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 26704 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26705 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 26706 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26707 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 26708 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 26709 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 26710 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 26711 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 26712 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 26713 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 26714 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 26715 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 26716 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 26717 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 26718 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 26719 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 26720 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 26721 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 26722 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 26723 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 26724 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26725 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 26726 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26727 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 26728 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 26729 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 26730 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 26731 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 26732 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 26733 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26734 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 26735 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26736 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 26737 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 26738 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 26739 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 26740 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 26741 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 26742 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 26743 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 26744 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 26745 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 26746 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26747 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 26748 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26749 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 26750 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 26751 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 26752 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 26753 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 26754 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 26755 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 26756 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26757 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 26758 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26759 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 26760 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 26761 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 26762 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 26763 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 26764 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 26765 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 26766 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 26767 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 26768 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 26769 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 26770 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 26771 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 26772 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 26773 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 26774 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 26775 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 26776 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 26777 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 26778 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 26779 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 26780 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 26781 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 26782 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 26783 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 26784 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 26785 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 26786 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 26787 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 26788 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 26789 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 26790 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 26791 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 26792 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 26793 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 26794 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 26795 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 26796 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 26797 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 26798 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 26799 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 26800 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 26801 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 26802 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 26803 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 26804 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 26805 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 26806 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 26807 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 26808 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 26809 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 26810 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 26811 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 26812 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 26813 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 26814 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 26815 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 26816 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 26817 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 26818 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 26819 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 26820 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 26821 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 26822 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 26823 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 26824 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 26825 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 26826 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 26827 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 26828 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 26829 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 26830 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 26831 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 26832 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 26833 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 26834 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 26835 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 26836 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 26837 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 26838 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 26839 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 26840 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 26841 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 26842 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 26843 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 26844 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 26845 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 26846 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 26847 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 26848 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_ENABLED 26849 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_APPLICATIONURI 26850 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_PRODUCTURI 26851 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_APPLICATIONTYPE 26852 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_SERVERCAPABILITIES 26853 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_SUPPORTEDPRIVATEKEYFORMATS 26854 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_MAXTRUSTLISTSIZE 26855 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_MULTICASTDNSENABLED 26856 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_HASSECUREELEMENT 26857 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_UPDATECERTIFICATE 26858 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_UPDATECERTIFICATE_INPUTARGUMENTS 26859 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_UPDATECERTIFICATE_OUTPUTARGUMENTS 26860 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_APPLYCHANGES 26861 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CANCELCHANGES 26862 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CREATESIGNINGREQUEST 26863 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CREATESIGNINGREQUEST_INPUTARGUMENTS 26864 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 26865 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETREJECTEDLIST 26866 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETREJECTEDLIST_OUTPUTARGUMENTS 26867 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_RESETTOSERVERDEFAULTS 26868 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE 26871 /* ObjectType */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_ISSINGLETON 26872 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_REQUESTTICKETS 26873 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_REQUESTTICKETS_OUTPUTARGUMENTS 26874 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_SETREGISTRARENDPOINTS 26875 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_SETREGISTRARENDPOINTS_INPUTARGUMENTS 26876 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER 26878 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS 26879 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 26880 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 26881 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 26882 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 26883 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 26884 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 26885 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 26886 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 26887 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 26888 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 26889 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 26890 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 26891 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 26892 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 26893 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 26894 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 26895 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 26896 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 26897 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 26898 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 26899 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 26900 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 26901 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 26902 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 26903 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 26904 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 26905 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 26906 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 26907 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 26908 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 26909 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 26910 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 26911 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 26912 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 26913 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 26914 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 26915 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 26916 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 26917 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 26919 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 26920 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 26921 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 26922 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 26923 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 26924 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 26925 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 26926 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 26927 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 26928 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 26929 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 26930 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 26931 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 26932 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 26933 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 26934 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 26935 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 26936 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 26937 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 26938 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 26939 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 26940 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 26941 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 26942 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 26943 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 26944 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 26945 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 26946 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 26947 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 26948 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 26949 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 26950 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 26951 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 26952 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 26953 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 26954 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 26955 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 26956 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 26957 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 26958 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 26959 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 26960 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 26961 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 26962 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 26963 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 26964 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 26965 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 26966 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 26967 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 26968 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 26969 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 26970 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 26971 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 26972 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 26973 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 26974 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 26975 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 26976 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 26977 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 26978 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 26979 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 26980 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 26981 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 26982 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 26983 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 26984 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 26985 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 26986 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 26987 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 26988 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 26989 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 26990 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 26991 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 26992 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 26993 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 26994 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 26995 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 26996 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 26997 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 26998 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 26999 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 27000 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 27001 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 27002 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27003 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 27004 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27005 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 27006 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 27007 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 27008 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 27009 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 27010 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 27011 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 27012 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27013 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 27014 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 27015 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 27016 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 27017 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27018 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27019 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 27020 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 27021 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 27022 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 27023 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27024 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 27025 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27026 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 27027 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 27028 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27029 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 27030 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 27031 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27032 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 27033 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 27034 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 27035 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 27036 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 27037 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 27038 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 27039 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 27040 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 27041 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 27042 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 27043 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 27044 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 27045 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 27046 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 27047 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 27048 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 27049 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 27050 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 27051 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 27052 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 27053 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 27054 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 27055 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 27056 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27057 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 27058 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27059 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 27060 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 27061 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 27062 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 27063 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 27064 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 27065 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 27066 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 27067 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 27068 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 27069 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 27070 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 27071 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 27072 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 27073 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 27074 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 27075 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 27076 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 27077 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 27078 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 27079 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 27080 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27081 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 27082 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 27083 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 27084 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 27085 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 27086 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 27087 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 27088 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 27089 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 27090 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 27091 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 27092 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 27093 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 27094 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 27095 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 27096 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 27097 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 27098 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 27099 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 27100 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 27101 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 27102 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 27103 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 27104 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 27105 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 27106 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 27107 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27108 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 27109 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27110 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 27111 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 27112 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 27113 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 27114 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 27115 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 27116 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 27117 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 27118 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 27119 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 27120 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 27121 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 27122 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 27123 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 27124 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 27125 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 27126 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 27127 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27128 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 27129 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27130 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 27131 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 27132 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 27133 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 27134 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 27135 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 27136 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27137 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 27138 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27139 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 27140 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 27141 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 27142 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 27143 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 27144 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 27145 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 27146 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 27147 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 27148 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 27149 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27150 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 27151 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27152 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 27153 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 27154 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 27155 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 27156 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 27157 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 27158 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 27159 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27160 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 27161 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27162 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 27163 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 27164 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 27165 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 27166 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 27167 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 27168 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27169 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 27170 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27171 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 27172 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 27173 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 27174 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 27175 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 27176 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 27177 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 27178 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27179 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 27180 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 27181 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 27182 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 27183 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27184 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27185 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 27186 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 27187 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 27188 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 27189 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27190 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 27191 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27192 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 27193 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 27194 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27195 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 27196 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 27197 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27198 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 27199 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 27200 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 27201 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 27202 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 27203 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 27204 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 27205 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 27206 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 27207 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 27208 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 27209 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 27210 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 27211 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 27212 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 27213 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 27214 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 27215 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 27216 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 27217 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 27218 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 27219 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 27220 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 27221 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 27222 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27223 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 27224 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27225 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 27226 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 27227 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 27228 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 27229 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 27230 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 27231 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 27232 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 27233 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 27234 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 27235 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 27236 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 27237 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 27238 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 27239 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 27240 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 27241 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 27242 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 27243 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 27244 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 27245 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 27246 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27247 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 27248 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 27249 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 27250 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 27251 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 27252 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 27253 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 27254 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 27255 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 27256 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 27257 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 27258 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 27259 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 27260 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 27261 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 27262 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 27263 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 27264 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 27265 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 27266 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 27267 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 27268 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 27269 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 27270 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 27271 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 27272 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 27273 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 27274 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 27275 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 27276 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 27277 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 27278 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 27279 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 27280 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 27281 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 27282 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 27283 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 27284 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 27285 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 27286 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 27287 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 27288 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 27289 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 27291 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 27292 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 27293 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 27294 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 27295 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 27296 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 27297 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 27298 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 27299 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 27300 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 27301 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 27302 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 27303 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 27304 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 27305 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 27306 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 27307 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 27308 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 27309 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 27310 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 27311 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 27312 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 27313 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27314 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 27315 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27316 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 27317 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 27318 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 27319 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 27320 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 27321 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 27322 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 27323 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 27324 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 27325 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 27326 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 27327 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 27328 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 27329 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 27330 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 27331 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 27332 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 27333 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27334 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 27335 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27336 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 27337 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 27338 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 27339 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 27340 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 27341 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 27342 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27343 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 27344 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27345 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 27346 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 27347 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 27348 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 27349 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 27350 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 27351 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 27352 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 27353 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 27354 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 27355 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27356 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 27357 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27358 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 27359 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 27360 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 27361 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 27362 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 27363 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 27364 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 27365 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27366 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 27367 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27368 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 27369 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 27370 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 27371 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 27372 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 27373 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 27374 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27375 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 27376 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27377 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 27378 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 27379 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 27380 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 27381 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 27382 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 27383 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 27384 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27385 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 27386 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 27387 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 27388 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 27389 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27390 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27391 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 27392 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 27393 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 27394 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 27395 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27396 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 27397 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27398 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 27399 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 27400 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27401 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 27402 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 27403 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27404 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 27405 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 27406 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 27407 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 27408 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 27409 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 27410 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 27411 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 27412 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 27413 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 27414 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 27415 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 27416 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 27417 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 27418 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 27419 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 27420 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 27421 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 27422 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 27423 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 27424 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 27425 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 27426 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 27427 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 27428 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27429 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 27430 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27431 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 27432 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 27433 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 27434 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 27435 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 27436 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 27437 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 27438 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 27439 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 27440 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 27441 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 27442 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 27443 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 27444 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 27445 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 27446 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 27447 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 27448 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 27449 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 27450 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 27451 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 27452 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27453 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 27454 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 27455 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 27456 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 27457 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 27458 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 27459 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 27460 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 27461 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 27462 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 27463 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 27464 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 27465 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 27466 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 27467 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 27468 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 27469 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 27470 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 27471 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 27472 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 27473 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 27474 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 27475 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 27476 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 27477 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 27478 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 27479 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27480 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 27481 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27482 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 27483 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 27484 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 27485 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 27486 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 27487 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 27488 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 27489 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 27490 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 27491 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 27492 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 27493 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 27494 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 27495 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 27496 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 27497 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 27498 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 27499 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27500 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 27501 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27502 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 27503 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 27504 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 27505 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 27506 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 27507 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 27508 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27509 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 27510 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27511 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 27512 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 27513 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 27514 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 27515 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 27516 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 27517 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 27518 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 27519 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 27520 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 27521 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27522 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 27523 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27524 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 27525 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 27526 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 27527 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 27528 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 27529 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 27530 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 27531 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27532 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 27533 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27534 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 27535 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 27536 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 27537 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 27538 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 27539 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 27540 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27541 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 27542 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27543 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 27544 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 27545 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 27546 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 27547 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 27548 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 27549 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 27550 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27551 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 27552 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 27553 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 27554 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 27555 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27556 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27557 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 27558 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 27559 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 27560 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 27561 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27562 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 27563 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27564 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 27565 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 27566 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27567 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 27568 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 27569 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27570 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 27571 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 27572 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 27573 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 27574 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 27575 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 27576 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 27577 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 27578 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 27579 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 27580 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 27581 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 27582 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 27583 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 27584 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 27585 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 27586 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 27587 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 27588 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 27589 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 27590 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 27591 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 27592 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 27593 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 27594 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27595 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 27596 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27597 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 27598 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 27599 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 27600 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 27601 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 27602 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 27603 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 27604 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 27605 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 27606 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 27607 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 27608 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 27609 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 27610 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 27611 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 27612 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 27613 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 27614 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 27615 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 27616 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 27617 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 27618 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27619 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 27620 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 27621 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 27622 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 27623 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 27624 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 27625 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 27626 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 27627 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 27628 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 27629 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 27630 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 27631 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 27632 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 27633 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 27634 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 27635 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 27636 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 27637 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 27638 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 27639 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 27640 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 27641 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 27642 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 27643 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 27644 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 27645 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 27646 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 27647 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 27648 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 27649 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 27650 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 27651 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 27652 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 27653 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 27654 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 27655 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 27656 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 27657 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 27658 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 27659 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 27660 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 27661 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 27663 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 27664 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 27665 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 27666 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 27667 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 27668 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 27669 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 27670 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 27671 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 27672 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 27673 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 27674 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 27675 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 27676 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 27677 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 27678 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 27679 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 27680 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 27681 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 27682 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 27683 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 27684 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 27685 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27686 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 27687 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27688 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 27689 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 27690 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 27691 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 27692 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 27693 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 27694 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 27695 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 27696 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 27697 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 27698 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 27699 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 27700 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 27701 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 27702 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 27703 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 27704 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 27705 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27706 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 27707 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27708 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 27709 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 27710 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 27711 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 27712 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 27713 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 27714 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27715 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 27716 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27717 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 27718 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 27719 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 27720 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 27721 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 27722 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 27723 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 27724 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 27725 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 27726 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 27727 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27728 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 27729 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27730 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 27731 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 27732 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 27733 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 27734 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 27735 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 27736 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 27737 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27738 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 27739 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27740 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 27741 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 27742 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 27743 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 27744 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 27745 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 27746 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27747 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 27748 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27749 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 27750 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 27751 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 27752 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 27753 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 27754 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 27755 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 27756 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27757 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 27758 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 27759 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 27760 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 27761 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27762 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27763 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 27764 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 27765 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 27766 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 27767 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27768 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 27769 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27770 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 27771 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 27772 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27773 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 27774 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 27775 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27776 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 27777 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 27778 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 27779 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 27780 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 27781 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 27782 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 27783 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 27784 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 27785 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 27786 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 27787 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 27788 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 27789 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 27790 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 27791 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 27792 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 27793 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 27794 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 27795 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 27796 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 27797 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 27798 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 27799 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 27800 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27801 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 27802 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27803 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 27804 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 27805 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 27806 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 27807 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 27808 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 27809 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 27810 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 27811 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 27812 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 27813 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 27814 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 27815 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 27816 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 27817 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 27818 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 27819 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 27820 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 27821 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 27822 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 27823 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 27824 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27825 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 27826 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 27827 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 27828 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 27829 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 27830 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 27831 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 27832 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 27833 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 27834 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 27835 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 27836 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 27837 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 27838 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 27839 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 27840 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 27841 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 27842 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 27843 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 27844 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 27845 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 27846 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 27847 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 27848 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 27849 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 27850 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 27851 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 27852 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 27853 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 27854 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 27855 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 27856 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 27857 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 27858 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 27859 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 27860 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 27861 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 27862 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 27863 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 27864 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 27865 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 27866 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 27867 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 27868 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 27869 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 27870 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 27871 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 27872 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 27873 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 27874 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 27875 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 27876 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 27877 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 27878 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 27879 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 27880 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 27881 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 27882 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 27883 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 27884 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 27885 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 27886 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 27887 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 27888 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 27889 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 27890 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 27891 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 27892 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 27893 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 27894 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 27895 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 27896 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 27897 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 27898 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 27899 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 27900 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 27901 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 27902 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 27903 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 27904 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 27905 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 27906 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 27907 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 27908 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 27909 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 27910 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 27911 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 27912 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 27913 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 27914 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 27915 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 27916 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 27917 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 27918 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 27919 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 27920 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 27921 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 27922 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 27923 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 27924 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 27925 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 27926 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 27927 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 27928 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 27929 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 27930 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 27931 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 27932 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 27933 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 27934 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 27935 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 27936 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 27937 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 27938 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 27939 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 27940 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 27941 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 27942 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 27943 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 27944 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 27945 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 27946 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 27947 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 27948 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 27949 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 27950 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 27951 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 27952 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 27953 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 27954 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 27955 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 27956 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 27957 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 27958 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 27959 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 27960 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 27961 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 27962 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 27963 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 27964 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 27965 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 27966 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 27967 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 27968 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 27969 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 27970 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 27971 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 27972 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 27973 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 27974 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 27975 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 27976 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 27977 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 27978 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 27979 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 27980 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 27981 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 27982 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 27983 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 27984 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 27985 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 27986 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 27987 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 27988 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 27989 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 27990 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 27991 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 27992 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 27993 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 27994 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 27995 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_ENABLED 27996 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONURI 27997 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_PRODUCTURI 27998 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONTYPE 27999 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_SERVERCAPABILITIES 28000 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_SUPPORTEDPRIVATEKEYFORMATS 28001 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_MAXTRUSTLISTSIZE 28002 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_MULTICASTDNSENABLED 28003 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_HASSECUREELEMENT 28004 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE 28005 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_INPUTARGUMENTS 28006 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_OUTPUTARGUMENTS 28007 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_APPLYCHANGES 28008 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CANCELCHANGES 28009 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST 28010 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_INPUTARGUMENTS 28011 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 28012 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST 28013 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST_OUTPUTARGUMENTS 28014 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_RESETTOSERVERDEFAULTS 28015 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE 29878 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_ISSINGLETON 29879 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_REQUESTTICKETS 29880 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_REQUESTTICKETS_OUTPUTARGUMENTS 29881 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_SETREGISTRARENDPOINTS 29882 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_SETREGISTRARENDPOINTS_INPUTARGUMENTS 29883 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER 29885 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS 29886 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP 29887 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST 29888 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SIZE 29889 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITABLE 29890 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_USERWRITABLE 29891 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENCOUNT 29892 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MIMETYPE 29893 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 29894 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTMODIFIEDTIME 29895 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN 29896 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 29897 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 29898 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE 29899 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 29900 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ 29901 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_INPUTARGUMENTS 29902 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 29903 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE 29904 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 29905 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION 29906 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 29907 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 29908 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION 29909 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 29910 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_LASTUPDATETIME 29911 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_UPDATEFREQUENCY 29912 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 29913 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS 29914 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 29915 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 29916 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE 29917 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 29918 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 29919 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE 29920 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 29921 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE 29922 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 29923 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATETYPES 29924 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST 29926 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 29927 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED 29928 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTID 29929 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EVENTTYPE 29930 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENODE 29931 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SOURCENAME 29932 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_TIME 29933 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RECEIVETIME 29934 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LOCALTIME 29935 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MESSAGE 29936 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SEVERITY 29937 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 29938 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 29939 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 29940 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 29941 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 29942 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_BRANCHID 29943 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RETAIN 29944 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 29945 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 29946 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 29947 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 29948 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 29949 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 29950 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 29951 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 29952 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 29953 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY 29954 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 29955 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 29956 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 29957 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT 29958 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 29959 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 29960 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_DISABLE 29961 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ENABLE 29962 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 29963 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 29964 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 29965 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 29966 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 29967 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 29968 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 29969 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 29970 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 29971 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 29972 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 29973 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 29974 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 29975 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 29976 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 29977 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 29978 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 29979 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 29980 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 29981 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 29982 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 29983 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 29984 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM 29985 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 29986 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 29987 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 29988 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 29989 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 29990 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 29991 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 29992 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 29993 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 29994 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 29995 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_INPUTNODE 29996 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 29997 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 29998 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 29999 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 30000 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30001 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 30002 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30003 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 30004 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 30005 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 30006 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 30007 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 30008 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 30009 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30010 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 30011 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30012 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 30013 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 30014 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 30015 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 30016 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 30017 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 30018 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 30019 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30020 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 30021 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 30022 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 30023 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 30024 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30025 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30026 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 30027 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 30028 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 30029 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 30030 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30031 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 30032 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30033 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 30034 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 30035 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30036 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 30037 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 30038 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30039 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 30040 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 30041 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 30042 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 30043 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 30044 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 30045 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 30046 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE 30047 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 30048 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 30049 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 30050 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 30051 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 30052 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 30053 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 30054 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 30055 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_ONDELAY 30056 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_OFFDELAY 30057 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 30058 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 30059 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 30060 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 30061 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 30062 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 30063 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30064 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 30065 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30066 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 30067 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 30068 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMTIME 30069 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 30070 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SILENCE 30071 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS 30072 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2 30073 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 30074 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 30075 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 30076 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 30077 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 30078 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 30079 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 30080 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 30081 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 30082 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 30083 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET 30084 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2 30085 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 30086 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 30087 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30088 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_NORMALSTATE 30089 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 30090 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 30091 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 30092 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_CERTIFICATEEXPIRED_CERTIFICATE 30093 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE 30094 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTID 30095 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 30096 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 30097 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 30098 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TIME 30099 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 30100 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 30101 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MESSAGE 30102 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SEVERITY 30103 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 30104 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 30105 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 30106 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 30107 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 30108 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_BRANCHID 30109 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RETAIN 30110 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 30111 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 30112 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 30113 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 30114 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30115 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 30116 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30117 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 30118 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 30119 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY 30120 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 30121 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 30122 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 30123 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT 30124 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 30125 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 30126 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_DISABLE 30127 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ENABLE 30128 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 30129 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 30130 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 30131 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 30132 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 30133 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 30134 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30135 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 30136 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30137 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 30138 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 30139 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 30140 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 30141 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 30142 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 30143 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30144 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 30145 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30146 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 30147 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 30148 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 30149 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 30150 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM 30151 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 30152 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 30153 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 30154 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 30155 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 30156 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30157 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 30158 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30159 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 30160 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 30161 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 30162 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 30163 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 30164 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 30165 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 30166 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30167 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 30168 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30169 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 30170 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 30171 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 30172 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 30173 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 30174 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 30175 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30176 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 30177 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30178 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 30179 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 30180 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 30181 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 30182 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 30183 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 30184 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 30185 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30186 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 30187 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 30188 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 30189 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 30190 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30191 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30192 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 30193 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 30194 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 30195 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 30196 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30197 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 30198 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30199 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 30200 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 30201 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30202 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 30203 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 30204 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30205 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 30206 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 30207 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 30208 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 30209 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 30210 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 30211 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 30212 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 30213 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 30214 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 30215 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 30216 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 30217 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 30218 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 30219 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 30220 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 30221 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_ONDELAY 30222 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 30223 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 30224 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 30225 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 30226 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 30227 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 30228 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 30229 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30230 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 30231 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30232 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 30233 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 30234 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 30235 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 30236 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SILENCE 30237 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 30238 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 30239 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 30240 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 30241 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 30242 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 30243 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 30244 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 30245 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 30246 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 30247 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 30248 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 30249 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET 30250 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2 30251 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 30252 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 30253 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30254 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 30255 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 30256 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 30257 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 30258 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP 30259 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST 30260 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SIZE 30261 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITABLE 30262 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_USERWRITABLE 30263 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENCOUNT 30264 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MIMETYPE 30265 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 30266 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTMODIFIEDTIME 30267 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN 30268 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 30269 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 30270 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE 30271 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 30272 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ 30273 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_INPUTARGUMENTS 30274 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 30275 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE 30276 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 30277 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION 30278 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 30279 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 30280 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION 30281 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 30282 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_LASTUPDATETIME 30283 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_UPDATEFREQUENCY 30284 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 30285 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS 30286 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 30287 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 30288 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE 30289 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 30290 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 30291 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE 30292 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 30293 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE 30294 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 30295 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATETYPES 30296 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST 30298 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 30299 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED 30300 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTID 30301 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EVENTTYPE 30302 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENODE 30303 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SOURCENAME 30304 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_TIME 30305 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RECEIVETIME 30306 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LOCALTIME 30307 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MESSAGE 30308 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SEVERITY 30309 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 30310 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 30311 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 30312 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 30313 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 30314 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_BRANCHID 30315 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RETAIN 30316 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 30317 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 30318 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 30319 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 30320 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30321 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 30322 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30323 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 30324 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 30325 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY 30326 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 30327 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 30328 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 30329 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT 30330 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 30331 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 30332 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_DISABLE 30333 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ENABLE 30334 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 30335 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 30336 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 30337 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 30338 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 30339 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 30340 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30341 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 30342 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30343 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 30344 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 30345 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 30346 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 30347 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 30348 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 30349 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30350 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 30351 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30352 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 30353 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 30354 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 30355 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 30356 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM 30357 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 30358 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 30359 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 30360 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 30361 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 30362 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30363 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 30364 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30365 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 30366 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 30367 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_INPUTNODE 30368 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 30369 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 30370 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 30371 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 30372 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30373 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 30374 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30375 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 30376 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 30377 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 30378 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 30379 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 30380 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 30381 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30382 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 30383 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30384 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 30385 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 30386 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 30387 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 30388 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 30389 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 30390 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 30391 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30392 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 30393 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 30394 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 30395 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 30396 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30397 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30398 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 30399 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 30400 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 30401 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 30402 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30403 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 30404 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30405 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 30406 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 30407 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30408 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 30409 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 30410 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30411 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 30412 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 30413 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 30414 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 30415 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 30416 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 30417 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 30418 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE 30419 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 30420 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 30421 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 30422 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 30423 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 30424 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 30425 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 30426 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 30427 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_ONDELAY 30428 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_OFFDELAY 30429 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 30430 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 30431 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 30432 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 30433 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 30434 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 30435 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30436 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 30437 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30438 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 30439 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 30440 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMTIME 30441 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 30442 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SILENCE 30443 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS 30444 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2 30445 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 30446 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 30447 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 30448 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 30449 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 30450 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 30451 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 30452 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 30453 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 30454 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 30455 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET 30456 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2 30457 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 30458 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 30459 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30460 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_NORMALSTATE 30461 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 30462 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 30463 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 30464 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_CERTIFICATEEXPIRED_CERTIFICATE 30465 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE 30466 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTID 30467 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 30468 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 30469 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 30470 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TIME 30471 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 30472 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 30473 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MESSAGE 30474 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SEVERITY 30475 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 30476 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 30477 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 30478 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 30479 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 30480 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_BRANCHID 30481 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RETAIN 30482 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 30483 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 30484 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 30485 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 30486 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30487 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 30488 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30489 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 30490 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 30491 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY 30492 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 30493 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 30494 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 30495 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT 30496 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 30497 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 30498 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_DISABLE 30499 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ENABLE 30500 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 30501 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 30502 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 30503 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 30504 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 30505 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 30506 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30507 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 30508 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30509 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 30510 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 30511 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 30512 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 30513 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 30514 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 30515 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30516 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 30517 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30518 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 30519 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 30520 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 30521 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 30522 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM 30523 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 30524 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 30525 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 30526 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 30527 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 30528 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30529 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 30530 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30531 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 30532 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 30533 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 30534 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 30535 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 30536 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 30537 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 30538 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30539 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 30540 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30541 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 30542 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 30543 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 30544 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 30545 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 30546 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 30547 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30548 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 30549 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30550 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 30551 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 30552 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 30553 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 30554 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 30555 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 30556 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 30557 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30558 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 30559 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 30560 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 30561 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 30562 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30563 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30564 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 30565 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 30566 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 30567 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 30568 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30569 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 30570 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30571 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 30572 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 30573 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30574 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 30575 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 30576 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30577 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 30578 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 30579 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 30580 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 30581 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 30582 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 30583 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 30584 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 30585 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 30586 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 30587 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 30588 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 30589 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 30590 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 30591 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 30592 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 30593 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_ONDELAY 30594 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 30595 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 30596 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 30597 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 30598 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 30599 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 30600 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 30601 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30602 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 30603 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30604 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 30605 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 30606 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 30607 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 30608 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SILENCE 30609 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 30610 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 30611 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 30612 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 30613 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 30614 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 30615 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 30616 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 30617 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 30618 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 30619 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 30620 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 30621 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET 30622 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2 30623 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 30624 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 30625 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30626 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 30627 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 30628 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 30629 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 30630 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP 30631 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST 30632 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SIZE 30633 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITABLE 30634 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_USERWRITABLE 30635 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENCOUNT 30636 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MIMETYPE 30637 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_MAXBYTESTRINGLENGTH 30638 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTMODIFIEDTIME 30639 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN 30640 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_INPUTARGUMENTS 30641 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPEN_OUTPUTARGUMENTS 30642 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE 30643 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSE_INPUTARGUMENTS 30644 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ 30645 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_INPUTARGUMENTS 30646 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_READ_OUTPUTARGUMENTS 30647 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE 30648 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_WRITE_INPUTARGUMENTS 30649 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION 30650 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_INPUTARGUMENTS 30651 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_GETPOSITION_OUTPUTARGUMENTS 30652 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION 30653 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_SETPOSITION_INPUTARGUMENTS 30654 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_LASTUPDATETIME 30655 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_UPDATEFREQUENCY 30656 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_DEFAULTVALIDATIONOPTIONS 30657 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS 30658 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_INPUTARGUMENTS 30659 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_OPENWITHMASKS_OUTPUTARGUMENTS 30660 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE 30661 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_INPUTARGUMENTS 30662 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_CLOSEANDUPDATE_OUTPUTARGUMENTS 30663 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE 30664 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ADDCERTIFICATE_INPUTARGUMENTS 30665 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE 30666 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_REMOVECERTIFICATE_INPUTARGUMENTS 30667 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATETYPES 30668 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST 30670 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_GETREJECTEDLIST_OUTPUTARGUMENTS 30671 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED 30672 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTID 30673 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EVENTTYPE 30674 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENODE 30675 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SOURCENAME 30676 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_TIME 30677 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RECEIVETIME 30678 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LOCALTIME 30679 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MESSAGE 30680 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SEVERITY 30681 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSID 30682 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONCLASSNAME 30683 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSID 30684 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONSUBCLASSNAME 30685 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONDITIONNAME 30686 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_BRANCHID 30687 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RETAIN 30688 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE 30689 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_ID 30690 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NAME 30691 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_NUMBER 30692 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30693 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRANSITIONTIME 30694 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30695 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_TRUESTATE 30696 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLEDSTATE_FALSESTATE 30697 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY 30698 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_QUALITY_SOURCETIMESTAMP 30699 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY 30700 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LASTSEVERITY_SOURCETIMESTAMP 30701 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT 30702 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_COMMENT_SOURCETIMESTAMP 30703 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CLIENTUSERID 30704 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_DISABLE 30705 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ENABLE 30706 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT 30707 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ADDCOMMENT_INPUTARGUMENTS 30708 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE 30709 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_ID 30710 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NAME 30711 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_NUMBER 30712 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30713 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRANSITIONTIME 30714 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30715 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_TRUESTATE 30716 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKEDSTATE_FALSESTATE 30717 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE 30718 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_ID 30719 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NAME 30720 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_NUMBER 30721 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30722 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRANSITIONTIME 30723 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30724 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_TRUESTATE 30725 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRMEDSTATE_FALSESTATE 30726 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE 30727 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACKNOWLEDGE_INPUTARGUMENTS 30728 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM 30729 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CONFIRM_INPUTARGUMENTS 30730 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE 30731 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_ID 30732 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NAME 30733 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_NUMBER 30734 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30735 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRANSITIONTIME 30736 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30737 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_TRUESTATE 30738 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ACTIVESTATE_FALSESTATE 30739 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_INPUTNODE 30740 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE 30741 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_ID 30742 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NAME 30743 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_NUMBER 30744 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30745 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRANSITIONTIME 30746 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30747 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_TRUESTATE 30748 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDSTATE_FALSESTATE 30749 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE 30750 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_ID 30751 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NAME 30752 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_NUMBER 30753 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30754 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRANSITIONTIME 30755 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30756 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_TRUESTATE 30757 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OUTOFSERVICESTATE_FALSESTATE 30758 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE 30759 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE 30760 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_ID 30761 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NAME 30762 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_NUMBER 30763 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30764 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION 30765 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_ID 30766 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NAME 30767 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_NUMBER 30768 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30769 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30770 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLESTATES 30771 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_AVAILABLETRANSITIONS 30772 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVETIME 30773 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE 30774 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30775 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2 30776 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30777 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE 30778 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2 30779 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30780 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE 30781 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2 30782 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30783 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESSEDORSHELVED 30784 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_MAXTIMESHELVED 30785 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLEENABLED 30786 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND 30787 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_LISTID 30788 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_AGENCYID 30789 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_AUDIBLESOUND_VERSIONID 30790 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE 30791 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_ID 30792 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NAME 30793 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_NUMBER 30794 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVEDISPLAYNAME 30795 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRANSITIONTIME 30796 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_EFFECTIVETRANSITIONTIME 30797 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_TRUESTATE 30798 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCESTATE_FALSESTATE 30799 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_ONDELAY 30800 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_OFFDELAY 30801 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUPFLAG 30802 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_FIRSTINGROUP 30803 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE 30804 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_ID 30805 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NAME 30806 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_NUMBER 30807 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30808 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRANSITIONTIME 30809 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30810 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_TRUESTATE 30811 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_LATCHEDSTATE_FALSESTATE 30812 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMTIME 30813 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REALARMREPEATCOUNT 30814 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SILENCE 30815 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS 30816 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2 30817 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_SUPPRESS2_INPUTARGUMENTS 30818 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS 30819 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2 30820 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_UNSUPPRESS2_INPUTARGUMENTS 30821 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE 30822 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2 30823 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_REMOVEFROMSERVICE2_INPUTARGUMENTS 30824 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE 30825 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2 30826 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_PLACEINSERVICE2_INPUTARGUMENTS 30827 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET 30828 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2 30829 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_RESET2_INPUTARGUMENTS 30830 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS 30831 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30832 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_NORMALSTATE 30833 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONDATE 30834 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_EXPIRATIONLIMIT 30835 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATETYPE 30836 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_CERTIFICATEEXPIRED_CERTIFICATE 30837 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE 30838 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTID 30839 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_EVENTTYPE 30840 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENODE 30841 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SOURCENAME 30842 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TIME 30843 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RECEIVETIME 30844 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LOCALTIME 30845 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MESSAGE 30846 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SEVERITY 30847 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSID 30848 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONCLASSNAME 30849 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSID 30850 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONSUBCLASSNAME 30851 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONDITIONNAME 30852 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_BRANCHID 30853 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RETAIN 30854 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE 30855 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_ID 30856 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NAME 30857 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_NUMBER 30858 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 30859 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRANSITIONTIME 30860 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 30861 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_TRUESTATE 30862 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLEDSTATE_FALSESTATE 30863 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY 30864 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_QUALITY_SOURCETIMESTAMP 30865 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY 30866 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTSEVERITY_SOURCETIMESTAMP 30867 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT 30868 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_COMMENT_SOURCETIMESTAMP 30869 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CLIENTUSERID 30870 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_DISABLE 30871 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ENABLE 30872 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT 30873 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ADDCOMMENT_INPUTARGUMENTS 30874 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE 30875 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_ID 30876 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NAME 30877 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_NUMBER 30878 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVEDISPLAYNAME 30879 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRANSITIONTIME 30880 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_EFFECTIVETRANSITIONTIME 30881 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_TRUESTATE 30882 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKEDSTATE_FALSESTATE 30883 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE 30884 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_ID 30885 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NAME 30886 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_NUMBER 30887 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 30888 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRANSITIONTIME 30889 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 30890 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_TRUESTATE 30891 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRMEDSTATE_FALSESTATE 30892 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE 30893 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACKNOWLEDGE_INPUTARGUMENTS 30894 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM 30895 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_CONFIRM_INPUTARGUMENTS 30896 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE 30897 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_ID 30898 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NAME 30899 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_NUMBER 30900 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVEDISPLAYNAME 30901 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRANSITIONTIME 30902 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_EFFECTIVETRANSITIONTIME 30903 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_TRUESTATE 30904 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ACTIVESTATE_FALSESTATE 30905 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_INPUTNODE 30906 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE 30907 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_ID 30908 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NAME 30909 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_NUMBER 30910 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 30911 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRANSITIONTIME 30912 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 30913 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_TRUESTATE 30914 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDSTATE_FALSESTATE 30915 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE 30916 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_ID 30917 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NAME 30918 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_NUMBER 30919 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 30920 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRANSITIONTIME 30921 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 30922 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_TRUESTATE 30923 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OUTOFSERVICESTATE_FALSESTATE 30924 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE 30925 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE 30926 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_ID 30927 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NAME 30928 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_NUMBER 30929 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 30930 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION 30931 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_ID 30932 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NAME 30933 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_NUMBER 30934 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 30935 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 30936 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLESTATES 30937 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_AVAILABLETRANSITIONS 30938 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVETIME 30939 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE 30940 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 30941 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2 30942 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 30943 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE 30944 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2 30945 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 30946 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE 30947 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2 30948 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 30949 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESSEDORSHELVED 30950 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_MAXTIMESHELVED 30951 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLEENABLED 30952 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND 30953 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_LISTID 30954 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_AGENCYID 30955 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_AUDIBLESOUND_VERSIONID 30956 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE 30957 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_ID 30958 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NAME 30959 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_NUMBER 30960 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVEDISPLAYNAME 30961 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRANSITIONTIME 30962 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_EFFECTIVETRANSITIONTIME 30963 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_TRUESTATE 30964 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCESTATE_FALSESTATE 30965 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_ONDELAY 30966 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_OFFDELAY 30967 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUPFLAG 30968 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_FIRSTINGROUP 30969 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE 30970 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_ID 30971 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NAME 30972 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_NUMBER 30973 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 30974 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRANSITIONTIME 30975 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 30976 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_TRUESTATE 30977 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LATCHEDSTATE_FALSESTATE 30978 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMTIME 30979 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REALARMREPEATCOUNT 30980 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SILENCE 30981 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS 30982 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2 30983 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_SUPPRESS2_INPUTARGUMENTS 30984 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS 30985 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2 30986 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UNSUPPRESS2_INPUTARGUMENTS 30987 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE 30988 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2 30989 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_REMOVEFROMSERVICE2_INPUTARGUMENTS 30990 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE 30991 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2 30992 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_PLACEINSERVICE2_INPUTARGUMENTS 30993 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET 30994 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2 30995 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_RESET2_INPUTARGUMENTS 30996 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS 30997 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 30998 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_NORMALSTATE 30999 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_TRUSTLISTID 31000 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_LASTUPDATETIME 31001 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLISTOUTOFDATE_UPDATEFREQUENCY 31002 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_ENABLED 31375 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONURI 31376 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_PRODUCTURI 31377 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_APPLICATIONTYPE 31378 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_SERVERCAPABILITIES 31379 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_SUPPORTEDPRIVATEKEYFORMATS 31380 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_MAXTRUSTLISTSIZE 31381 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_MULTICASTDNSENABLED 31382 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_HASSECUREELEMENT 31383 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE 31384 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_INPUTARGUMENTS 31385 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_UPDATECERTIFICATE_OUTPUTARGUMENTS 31386 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_APPLYCHANGES 31387 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CANCELCHANGES 31388 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST 31389 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_INPUTARGUMENTS 31390 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CREATESIGNINGREQUEST_OUTPUTARGUMENTS 31391 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST 31392 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETREJECTEDLIST_OUTPUTARGUMENTS 31393 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_RESETTOSERVERDEFAULTS 31394 /* Method */ -#define UA_NS0ID_SERVERTYPE_SERVERCAPABILITIES_MAXMONITOREDITEMSQUEUESIZE 31769 /* Variable */ -#define UA_NS0ID_SERVERCAPABILITIESTYPE_MAXMONITOREDITEMSQUEUESIZE 31770 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_CONDITIONCLASSID 31771 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_CONDITIONCLASSNAME 31772 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_CONDITIONSUBCLASSID 31773 /* Variable */ -#define UA_NS0ID_BASEEVENTTYPE_CONDITIONSUBCLASSNAME 31774 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONCLASSID 31775 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONCLASSNAME 31776 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONSUBCLASSID 31777 /* Variable */ -#define UA_NS0ID_AUDITEVENTTYPE_CONDITIONSUBCLASSNAME 31778 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONCLASSID 31779 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONCLASSNAME 31780 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONSUBCLASSID 31781 /* Variable */ -#define UA_NS0ID_AUDITSECURITYEVENTTYPE_CONDITIONSUBCLASSNAME 31782 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONCLASSID 31783 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONCLASSNAME 31784 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONSUBCLASSID 31785 /* Variable */ -#define UA_NS0ID_AUDITCHANNELEVENTTYPE_CONDITIONSUBCLASSNAME 31786 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONCLASSID 31787 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONCLASSNAME 31788 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONSUBCLASSID 31789 /* Variable */ -#define UA_NS0ID_AUDITOPENSECURECHANNELEVENTTYPE_CONDITIONSUBCLASSNAME 31790 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONCLASSID 31791 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONCLASSNAME 31792 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONSUBCLASSID 31793 /* Variable */ -#define UA_NS0ID_AUDITSESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31794 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONCLASSID 31795 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONCLASSNAME 31796 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONSUBCLASSID 31797 /* Variable */ -#define UA_NS0ID_AUDITCREATESESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31798 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONCLASSID 31799 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONCLASSNAME 31800 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONSUBCLASSID 31801 /* Variable */ -#define UA_NS0ID_AUDITURLMISMATCHEVENTTYPE_CONDITIONSUBCLASSNAME 31802 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONCLASSID 31803 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONCLASSNAME 31804 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONSUBCLASSID 31805 /* Variable */ -#define UA_NS0ID_AUDITACTIVATESESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31806 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONCLASSID 31807 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONCLASSNAME 31808 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONSUBCLASSID 31809 /* Variable */ -#define UA_NS0ID_AUDITCANCELEVENTTYPE_CONDITIONSUBCLASSNAME 31810 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONCLASSID 31811 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONCLASSNAME 31812 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONSUBCLASSID 31813 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEVENTTYPE_CONDITIONSUBCLASSNAME 31814 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONCLASSID 31815 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONCLASSNAME 31816 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONSUBCLASSID 31817 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEDATAMISMATCHEVENTTYPE_CONDITIONSUBCLASSNAME 31818 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONCLASSID 31819 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONCLASSNAME 31820 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONSUBCLASSID 31821 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEEXPIREDEVENTTYPE_CONDITIONSUBCLASSNAME 31822 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONCLASSID 31823 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONCLASSNAME 31824 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONSUBCLASSID 31825 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEINVALIDEVENTTYPE_CONDITIONSUBCLASSNAME 31826 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONCLASSID 31827 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONCLASSNAME 31828 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONSUBCLASSID 31829 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEUNTRUSTEDEVENTTYPE_CONDITIONSUBCLASSNAME 31830 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONCLASSID 31831 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONCLASSNAME 31832 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONSUBCLASSID 31833 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEREVOKEDEVENTTYPE_CONDITIONSUBCLASSNAME 31834 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONCLASSID 31835 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONCLASSNAME 31836 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONSUBCLASSID 31837 /* Variable */ -#define UA_NS0ID_AUDITCERTIFICATEMISMATCHEVENTTYPE_CONDITIONSUBCLASSNAME 31838 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONCLASSID 31839 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONCLASSNAME 31840 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONSUBCLASSID 31841 /* Variable */ -#define UA_NS0ID_AUDITNODEMANAGEMENTEVENTTYPE_CONDITIONSUBCLASSNAME 31842 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONCLASSID 31843 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONCLASSNAME 31844 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONSUBCLASSID 31845 /* Variable */ -#define UA_NS0ID_AUDITADDNODESEVENTTYPE_CONDITIONSUBCLASSNAME 31846 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONCLASSID 31847 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONCLASSNAME 31848 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONSUBCLASSID 31849 /* Variable */ -#define UA_NS0ID_AUDITDELETENODESEVENTTYPE_CONDITIONSUBCLASSNAME 31850 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONCLASSID 31851 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONCLASSNAME 31852 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONSUBCLASSID 31853 /* Variable */ -#define UA_NS0ID_AUDITADDREFERENCESEVENTTYPE_CONDITIONSUBCLASSNAME 31854 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONCLASSID 31855 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONCLASSNAME 31856 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONSUBCLASSID 31857 /* Variable */ -#define UA_NS0ID_AUDITDELETEREFERENCESEVENTTYPE_CONDITIONSUBCLASSNAME 31858 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONCLASSID 31859 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONCLASSNAME 31860 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONSUBCLASSID 31861 /* Variable */ -#define UA_NS0ID_AUDITUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 31862 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONCLASSID 31863 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONCLASSNAME 31864 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONSUBCLASSID 31865 /* Variable */ -#define UA_NS0ID_AUDITWRITEUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 31866 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONCLASSID 31867 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONCLASSNAME 31868 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONSUBCLASSID 31869 /* Variable */ -#define UA_NS0ID_AUDITHISTORYUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 31870 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONCLASSID 31871 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONCLASSNAME 31872 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONSUBCLASSID 31873 /* Variable */ -#define UA_NS0ID_AUDITUPDATEMETHODEVENTTYPE_CONDITIONSUBCLASSNAME 31874 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONCLASSID 31875 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONCLASSNAME 31876 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONSUBCLASSID 31877 /* Variable */ -#define UA_NS0ID_SYSTEMEVENTTYPE_CONDITIONSUBCLASSNAME 31878 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONCLASSID 31879 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONCLASSNAME 31880 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONSUBCLASSID 31881 /* Variable */ -#define UA_NS0ID_DEVICEFAILUREEVENTTYPE_CONDITIONSUBCLASSNAME 31882 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONCLASSID 31883 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONCLASSNAME 31884 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31885 /* Variable */ -#define UA_NS0ID_SYSTEMSTATUSCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31886 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONCLASSID 31887 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONCLASSNAME 31888 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31889 /* Variable */ -#define UA_NS0ID_BASEMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31890 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONCLASSID 31891 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONCLASSNAME 31892 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31893 /* Variable */ -#define UA_NS0ID_GENERALMODELCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31894 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONCLASSID 31895 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONCLASSNAME 31896 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONSUBCLASSID 31897 /* Variable */ -#define UA_NS0ID_SEMANTICCHANGEEVENTTYPE_CONDITIONSUBCLASSNAME 31898 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONCLASSID 31899 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONCLASSNAME 31900 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONSUBCLASSID 31901 /* Variable */ -#define UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE_CONDITIONSUBCLASSNAME 31902 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONCLASSID 31903 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONCLASSNAME 31904 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONSUBCLASSID 31905 /* Variable */ -#define UA_NS0ID_PROGRESSEVENTTYPE_CONDITIONSUBCLASSNAME 31906 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONCLASSID 31907 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONCLASSNAME 31908 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONSUBCLASSID 31909 /* Variable */ -#define UA_NS0ID_AUDITCLIENTEVENTTYPE_CONDITIONSUBCLASSNAME 31910 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONCLASSID 31911 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONCLASSNAME 31912 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONSUBCLASSID 31913 /* Variable */ -#define UA_NS0ID_AUDITCLIENTUPDATEMETHODRESULTEVENTTYPE_CONDITIONSUBCLASSNAME 31914 /* Variable */ -#define UA_NS0ID_LOCATIONS 31915 /* Object */ -#define UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSQUEUESIZE 31916 /* Variable */ -#define UA_NS0ID_HANDLE 31917 /* DataType */ -#define UA_NS0ID_TRIMMEDSTRING 31918 /* DataType */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONCLASSID 31919 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONCLASSNAME 31920 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONSUBCLASSID 31921 /* Variable */ -#define UA_NS0ID_TRANSITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31922 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONCLASSID 31923 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONCLASSNAME 31924 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONSUBCLASSID 31925 /* Variable */ -#define UA_NS0ID_AUDITUPDATESTATEEVENTTYPE_CONDITIONSUBCLASSNAME 31926 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONCLASSID 31927 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONCLASSNAME 31928 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 31929 /* Variable */ -#define UA_NS0ID_ROLEMAPPINGRULECHANGEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 31930 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONCLASSID 31931 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONCLASSNAME 31932 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONSUBCLASSID 31933 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31934 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONCLASSID 31935 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONCLASSNAME 31936 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONSUBCLASSID 31937 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONENABLEEVENTTYPE_CONDITIONSUBCLASSNAME 31938 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONCLASSID 31939 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONCLASSNAME 31940 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONSUBCLASSID 31941 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCOMMENTEVENTTYPE_CONDITIONSUBCLASSNAME 31942 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONCLASSID 31943 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONCLASSNAME 31944 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONSUBCLASSID 31945 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESPONDEVENTTYPE_CONDITIONSUBCLASSNAME 31946 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONCLASSID 31947 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONCLASSNAME 31948 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONSUBCLASSID 31949 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONACKNOWLEDGEEVENTTYPE_CONDITIONSUBCLASSNAME 31950 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONCLASSID 31951 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONCLASSNAME 31952 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONSUBCLASSID 31953 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONCONFIRMEVENTTYPE_CONDITIONSUBCLASSNAME 31954 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONCLASSID 31955 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONCLASSNAME 31956 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONSUBCLASSID 31957 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSHELVINGEVENTTYPE_CONDITIONSUBCLASSNAME 31958 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONCLASSID 31959 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONCLASSNAME 31960 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONSUBCLASSID 31961 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSUPPRESSIONEVENTTYPE_CONDITIONSUBCLASSNAME 31962 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONCLASSID 31963 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONCLASSNAME 31964 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONSUBCLASSID 31965 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONSILENCEEVENTTYPE_CONDITIONSUBCLASSNAME 31966 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONCLASSID 31967 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONCLASSNAME 31968 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONSUBCLASSID 31969 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONRESETEVENTTYPE_CONDITIONSUBCLASSNAME 31970 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONCLASSID 31971 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONCLASSNAME 31972 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONSUBCLASSID 31973 /* Variable */ -#define UA_NS0ID_AUDITCONDITIONOUTOFSERVICEEVENTTYPE_CONDITIONSUBCLASSNAME 31974 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONCLASSID 31975 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONCLASSNAME 31976 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONSUBCLASSID 31977 /* Variable */ -#define UA_NS0ID_REFRESHSTARTEVENTTYPE_CONDITIONSUBCLASSNAME 31978 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONCLASSID 31979 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONCLASSNAME 31980 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONSUBCLASSID 31981 /* Variable */ -#define UA_NS0ID_REFRESHENDEVENTTYPE_CONDITIONSUBCLASSNAME 31982 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONCLASSID 31983 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONCLASSNAME 31984 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONSUBCLASSID 31985 /* Variable */ -#define UA_NS0ID_REFRESHREQUIREDEVENTTYPE_CONDITIONSUBCLASSNAME 31986 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSID 31987 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSNAME 31988 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSID 31989 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31990 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSID 31991 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONCLASSNAME 31992 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSID 31993 /* Variable */ -#define UA_NS0ID_AUDITPROGRAMTRANSITIONEVENTTYPE_CONDITIONSUBCLASSNAME 31994 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONCLASSID 31995 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONCLASSNAME 31996 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONSUBCLASSID 31997 /* Variable */ -#define UA_NS0ID_PROGRAMTRANSITIONAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 31998 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONCLASSID 31999 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONCLASSNAME 32000 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONSUBCLASSID 32001 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 32002 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONCLASSID 32003 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONCLASSNAME 32004 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONSUBCLASSID 32005 /* Variable */ -#define UA_NS0ID_AUDITHISTORYVALUEUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 32006 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONCLASSID 32007 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONCLASSNAME 32008 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONSUBCLASSID 32009 /* Variable */ -#define UA_NS0ID_AUDITHISTORYANNOTATIONUPDATEEVENTTYPE_CONDITIONSUBCLASSNAME 32010 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONCLASSID 32011 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONCLASSNAME 32012 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONSUBCLASSID 32013 /* Variable */ -#define UA_NS0ID_AUDITHISTORYDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32014 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONCLASSID 32015 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONCLASSNAME 32016 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONSUBCLASSID 32017 /* Variable */ -#define UA_NS0ID_AUDITHISTORYRAWMODIFYDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32018 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONCLASSID 32019 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONCLASSNAME 32020 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONSUBCLASSID 32021 /* Variable */ -#define UA_NS0ID_AUDITHISTORYATTIMEDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32022 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONCLASSID 32023 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONCLASSNAME 32024 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONSUBCLASSID 32025 /* Variable */ -#define UA_NS0ID_AUDITHISTORYEVENTDELETEEVENTTYPE_CONDITIONSUBCLASSNAME 32026 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONCLASSID 32027 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32028 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32029 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32030 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONCLASSID 32031 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32032 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32033 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32034 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONCLASSID 32035 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONCLASSNAME 32036 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONSUBCLASSID 32037 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32038 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONCLASSID 32039 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32040 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32041 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALUPDATEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32042 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONCLASSID 32043 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32044 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32045 /* Variable */ -#define UA_NS0ID_KEYCREDENTIALDELETEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32046 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONCLASSID 32047 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONCLASSNAME 32048 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONSUBCLASSID 32049 /* Variable */ -#define UA_NS0ID_PUBSUBSTATUSEVENTTYPE_CONDITIONSUBCLASSNAME 32050 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONCLASSID 32051 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONCLASSNAME 32052 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONSUBCLASSID 32053 /* Variable */ -#define UA_NS0ID_PUBSUBTRANSPORTLIMITSEXCEEDEVENTTYPE_CONDITIONSUBCLASSNAME 32054 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONCLASSID 32055 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONCLASSNAME 32056 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONSUBCLASSID 32057 /* Variable */ -#define UA_NS0ID_PUBSUBCOMMUNICATIONFAILUREEVENTTYPE_CONDITIONSUBCLASSNAME 32058 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPMEMBER 32059 /* ReferenceType */ -#define UA_NS0ID_CONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32060 /* Variable */ -#define UA_NS0ID_DIALOGCONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32061 /* Variable */ -#define UA_NS0ID_ACKNOWLEDGEABLECONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32062 /* Variable */ -#define UA_NS0ID_ALARMCONDITIONTYPE_SUPPORTSFILTEREDRETAIN 32063 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE 32064 /* ObjectType */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER 32065 /* Object */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTID 32066 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_EVENTTYPE 32067 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENODE 32068 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SOURCENAME 32069 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_TIME 32070 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RECEIVETIME 32071 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LOCALTIME 32072 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MESSAGE 32073 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SEVERITY 32074 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSID 32075 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONCLASSNAME 32076 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSID 32077 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONSUBCLASSNAME 32078 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONDITIONNAME 32079 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_BRANCHID 32080 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RETAIN 32081 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE 32082 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_ID 32083 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NAME 32084 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_NUMBER 32085 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVEDISPLAYNAME 32086 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRANSITIONTIME 32087 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_EFFECTIVETRANSITIONTIME 32088 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_TRUESTATE 32089 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLEDSTATE_FALSESTATE 32090 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY 32091 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_QUALITY_SOURCETIMESTAMP 32092 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY 32093 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LASTSEVERITY_SOURCETIMESTAMP 32094 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT 32095 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_COMMENT_SOURCETIMESTAMP 32096 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CLIENTUSERID 32097 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_DISABLE 32098 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ENABLE 32099 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT 32100 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ADDCOMMENT_INPUTARGUMENTS 32101 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE 32102 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_ID 32103 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NAME 32104 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_NUMBER 32105 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVEDISPLAYNAME 32106 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRANSITIONTIME 32107 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_EFFECTIVETRANSITIONTIME 32108 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_TRUESTATE 32109 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKEDSTATE_FALSESTATE 32110 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE 32111 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_ID 32112 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NAME 32113 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_NUMBER 32114 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVEDISPLAYNAME 32115 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRANSITIONTIME 32116 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_EFFECTIVETRANSITIONTIME 32117 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_TRUESTATE 32118 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRMEDSTATE_FALSESTATE 32119 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE 32120 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACKNOWLEDGE_INPUTARGUMENTS 32121 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM 32122 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_CONFIRM_INPUTARGUMENTS 32123 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE 32124 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_ID 32125 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NAME 32126 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_NUMBER 32127 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVEDISPLAYNAME 32128 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRANSITIONTIME 32129 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_EFFECTIVETRANSITIONTIME 32130 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_TRUESTATE 32131 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ACTIVESTATE_FALSESTATE 32132 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_INPUTNODE 32133 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE 32134 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_ID 32135 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NAME 32136 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_NUMBER 32137 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVEDISPLAYNAME 32138 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRANSITIONTIME 32139 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_EFFECTIVETRANSITIONTIME 32140 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_TRUESTATE 32141 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDSTATE_FALSESTATE 32142 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE 32143 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_ID 32144 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NAME 32145 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_NUMBER 32146 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVEDISPLAYNAME 32147 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRANSITIONTIME 32148 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_EFFECTIVETRANSITIONTIME 32149 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_TRUESTATE 32150 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OUTOFSERVICESTATE_FALSESTATE 32151 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE 32152 /* Object */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE 32153 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_ID 32154 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NAME 32155 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_NUMBER 32156 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_CURRENTSTATE_EFFECTIVEDISPLAYNAME 32157 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION 32158 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_ID 32159 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NAME 32160 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_NUMBER 32161 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_TRANSITIONTIME 32162 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_LASTTRANSITION_EFFECTIVETRANSITIONTIME 32163 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLESTATES 32164 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_AVAILABLETRANSITIONS 32165 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVETIME 32166 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE 32167 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE_INPUTARGUMENTS 32168 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2 32169 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_TIMEDSHELVE2_INPUTARGUMENTS 32170 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE 32171 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2 32172 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_UNSHELVE2_INPUTARGUMENTS 32173 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE 32174 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2 32175 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SHELVINGSTATE_ONESHOTSHELVE2_INPUTARGUMENTS 32176 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESSEDORSHELVED 32177 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_MAXTIMESHELVED 32178 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLEENABLED 32179 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND 32180 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_LISTID 32181 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_AGENCYID 32182 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_AUDIBLESOUND_VERSIONID 32183 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE 32184 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_ID 32185 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NAME 32186 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_NUMBER 32187 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVEDISPLAYNAME 32188 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRANSITIONTIME 32189 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_EFFECTIVETRANSITIONTIME 32190 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_TRUESTATE 32191 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCESTATE_FALSESTATE 32192 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_ONDELAY 32193 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_OFFDELAY 32194 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUPFLAG 32195 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_FIRSTINGROUP 32196 /* Object */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE 32197 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_ID 32198 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NAME 32199 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_NUMBER 32200 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVEDISPLAYNAME 32201 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRANSITIONTIME 32202 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_EFFECTIVETRANSITIONTIME 32203 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_TRUESTATE 32204 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_LATCHEDSTATE_FALSESTATE 32205 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMTIME 32206 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REALARMREPEATCOUNT 32207 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SILENCE 32208 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS 32209 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2 32210 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_SUPPRESS2_INPUTARGUMENTS 32211 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS 32212 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2 32213 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_UNSUPPRESS2_INPUTARGUMENTS 32214 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE 32215 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2 32216 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_REMOVEFROMSERVICE2_INPUTARGUMENTS 32217 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE 32218 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2 32219 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_PLACEINSERVICE2_INPUTARGUMENTS 32220 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET 32221 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2 32222 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_RESET2_INPUTARGUMENTS 32223 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS 32224 /* Method */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_ALARMCONDITIONINSTANCE_PLACEHOLDER_GETGROUPMEMBERSHIPS_OUTPUTARGUMENTS 32225 /* Variable */ -#define UA_NS0ID_ALARMSUPPRESSIONGROUPTYPE_DIGITALVARIABLE_PLACEHOLDER 32226 /* Variable */ -#define UA_NS0ID_LIMITALARMTYPE_SUPPORTSFILTEREDRETAIN 32227 /* Variable */ -#define UA_NS0ID_EXCLUSIVELIMITALARMTYPE_SUPPORTSFILTEREDRETAIN 32228 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELIMITALARMTYPE_SUPPORTSFILTEREDRETAIN 32229 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVELEVELALARMTYPE_SUPPORTSFILTEREDRETAIN 32230 /* Variable */ -#define UA_NS0ID_EXCLUSIVELEVELALARMTYPE_SUPPORTSFILTEREDRETAIN 32231 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVEDEVIATIONALARMTYPE_SUPPORTSFILTEREDRETAIN 32232 /* Variable */ -#define UA_NS0ID_NONEXCLUSIVERATEOFCHANGEALARMTYPE_SUPPORTSFILTEREDRETAIN 32233 /* Variable */ -#define UA_NS0ID_EXCLUSIVEDEVIATIONALARMTYPE_SUPPORTSFILTEREDRETAIN 32234 /* Variable */ -#define UA_NS0ID_EXCLUSIVERATEOFCHANGEALARMTYPE_SUPPORTSFILTEREDRETAIN 32235 /* Variable */ -#define UA_NS0ID_DISCRETEALARMTYPE_SUPPORTSFILTEREDRETAIN 32236 /* Variable */ -#define UA_NS0ID_OFFNORMALALARMTYPE_SUPPORTSFILTEREDRETAIN 32237 /* Variable */ -#define UA_NS0ID_SYSTEMOFFNORMALALARMTYPE_SUPPORTSFILTEREDRETAIN 32238 /* Variable */ -#define UA_NS0ID_TRIPALARMTYPE_SUPPORTSFILTEREDRETAIN 32239 /* Variable */ -#define UA_NS0ID_INSTRUMENTDIAGNOSTICALARMTYPE_SUPPORTSFILTEREDRETAIN 32240 /* Variable */ -#define UA_NS0ID_SYSTEMDIAGNOSTICALARMTYPE_SUPPORTSFILTEREDRETAIN 32241 /* Variable */ -#define UA_NS0ID_CERTIFICATEEXPIRATIONALARMTYPE_SUPPORTSFILTEREDRETAIN 32242 /* Variable */ -#define UA_NS0ID_DISCREPANCYALARMTYPE_SUPPORTSFILTEREDRETAIN 32243 /* Variable */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE 32244 /* VariableType */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE_HIGHESTACTIVESEVERITY 32245 /* Variable */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE_HIGHESTUNACKSEVERITY 32246 /* Variable */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE_ACTIVECOUNT 32247 /* Variable */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE_UNACKNOWLEDGEDCOUNT 32248 /* Variable */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE_UNCONFIRMEDCOUNT 32249 /* Variable */ -#define UA_NS0ID_ALARMSTATEVARIABLETYPE_FILTER 32250 /* Variable */ -#define UA_NS0ID_ALARMMASK 32251 /* DataType */ -#define UA_NS0ID_ALARMMASK_OPTIONSETVALUES 32252 /* Variable */ -#define UA_NS0ID_TRUSTLISTOUTOFDATEALARMTYPE_SUPPORTSFILTEREDRETAIN 32253 /* Variable */ -#define UA_NS0ID_TRUSTLISTTYPE_ACTIVITYTIMEOUT 32254 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPTYPE_TRUSTLIST_ACTIVITYTIMEOUT 32255 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32256 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32257 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32258 /* Variable */ -#define UA_NS0ID_CERTIFICATEGROUPFOLDERTYPE_ADDITIONALGROUP_PLACEHOLDER_TRUSTLIST_ACTIVITYTIMEOUT 32259 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE 32260 /* ObjectType */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_EVENTID 32261 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_EVENTTYPE 32262 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENODE 32263 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENAME 32264 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_TIME 32265 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_RECEIVETIME 32266 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_LOCALTIME 32267 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_MESSAGE 32268 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SEVERITY 32269 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSID 32270 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32271 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32272 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32273 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_ACTIONTIMESTAMP 32274 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_STATUS 32275 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_SERVERID 32276 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 32277 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTUSERID 32278 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_METHODID 32279 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEREQUESTEDAUDITEVENTTYPE_INPUTARGUMENTS 32280 /* Variable */ -#define UA_NS0ID_TRUSTLISTUPDATEDAUDITEVENTTYPE_TRUSTLISTID 32281 /* Variable */ -#define UA_NS0ID_GETCERTIFICATESMETHODTYPE 32282 /* Method */ -#define UA_NS0ID_GETCERTIFICATESMETHODTYPE_INPUTARGUMENTS 32283 /* Variable */ -#define UA_NS0ID_GETCERTIFICATESMETHODTYPE_OUTPUTARGUMENTS 32284 /* Variable */ -#define UA_NS0ID_TRANSACTIONERRORTYPE 32285 /* DataType */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE 32286 /* ObjectType */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_STARTTIME 32287 /* Variable */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_ENDTIME 32288 /* Variable */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_RESULT 32289 /* Variable */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_AFFECTEDTRUSTLISTS 32290 /* Variable */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_AFFECTEDCERTIFICATEGROUPS 32291 /* Variable */ -#define UA_NS0ID_TRANSACTIONDIAGNOSTICSTYPE_ERRORS 32292 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32293 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32294 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32295 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETCERTIFICATES 32296 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETCERTIFICATES_INPUTARGUMENTS 32297 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_GETCERTIFICATES_OUTPUTARGUMENTS 32298 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS 32299 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_STARTTIME 32300 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ENDTIME 32301 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_RESULT 32302 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32303 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32304 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ERRORS 32305 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE 32306 /* ObjectType */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_EVENTID 32307 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_EVENTTYPE 32308 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENODE 32309 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SOURCENAME 32310 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_TIME 32311 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_RECEIVETIME 32312 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_LOCALTIME 32313 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_MESSAGE 32314 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SEVERITY 32315 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSID 32316 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONCLASSNAME 32317 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSID 32318 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CONDITIONSUBCLASSNAME 32319 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_ACTIONTIMESTAMP 32320 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_STATUS 32321 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_SERVERID 32322 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTAUDITENTRYID 32323 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_CLIENTUSERID 32324 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_METHODID 32325 /* Variable */ -#define UA_NS0ID_CERTIFICATEUPDATEREQUESTEDAUDITEVENTTYPE_INPUTARGUMENTS 32326 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32330 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32331 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32332 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_GETCERTIFICATES 32333 /* Method */ -#define UA_NS0ID_SERVERCONFIGURATION_GETCERTIFICATES_INPUTARGUMENTS 32334 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_GETCERTIFICATES_OUTPUTARGUMENTS 32335 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS 32336 /* Object */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_STARTTIME 32337 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_ENDTIME 32338 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_RESULT 32339 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32340 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32341 /* Variable */ -#define UA_NS0ID_SERVERCONFIGURATION_TRANSACTIONDIAGNOSTICS_ERRORS 32342 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32343 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32344 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32345 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETCERTIFICATES 32346 /* Method */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETCERTIFICATES_INPUTARGUMENTS 32347 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_GETCERTIFICATES_OUTPUTARGUMENTS 32348 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS 32349 /* Object */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_STARTTIME 32350 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ENDTIME 32351 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_RESULT 32352 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32353 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32354 /* Variable */ -#define UA_NS0ID_APPLICATIONCONFIGURATIONTYPE_TRANSACTIONDIAGNOSTICS_ERRORS 32355 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32356 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32357 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32358 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES 32359 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_INPUTARGUMENTS 32360 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_OUTPUTARGUMENTS 32361 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS 32362 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_STARTTIME 32363 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ENDTIME 32364 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_RESULT 32365 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32366 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32367 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICETYPE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ERRORS 32368 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTAPPLICATIONGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32369 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTHTTPSGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32370 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_CERTIFICATEGROUPS_DEFAULTUSERTOKENGROUP_TRUSTLIST_ACTIVITYTIMEOUT 32371 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES 32372 /* Method */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_INPUTARGUMENTS 32373 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_GETCERTIFICATES_OUTPUTARGUMENTS 32374 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS 32375 /* Object */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_STARTTIME 32376 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ENDTIME 32377 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_RESULT 32378 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDTRUSTLISTS 32379 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_AFFECTEDCERTIFICATEGROUPS 32380 /* Variable */ -#define UA_NS0ID_PROVISIONABLEDEVICE_APPLICATIONNAME_PLACEHOLDER_TRANSACTIONDIAGNOSTICS_ERRORS 32381 /* Variable */ -#define UA_NS0ID_TRANSACTIONERRORTYPE_ENCODING_DEFAULTBINARY 32382 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSACTIONERRORTYPE 32383 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSACTIONERRORTYPE_DATATYPEVERSION 32384 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_TRANSACTIONERRORTYPE_DICTIONARYFRAGMENT 32385 /* Variable */ -#define UA_NS0ID_TRANSACTIONERRORTYPE_ENCODING_DEFAULTXML 32386 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSACTIONERRORTYPE 32387 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSACTIONERRORTYPE_DATATYPEVERSION 32388 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_TRANSACTIONERRORTYPE_DICTIONARYFRAGMENT 32389 /* Variable */ -#define UA_NS0ID_TRANSACTIONERRORTYPE_ENCODING_DEFAULTJSON 32390 /* Object */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXDATASETWRITERSPERGROUP 32391 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEDATAGRAM 32392 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEBROKER 32393 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPULL 32394 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPUSH 32395 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_DEFAULTSECURITYKEYSERVICES 32396 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBETYPE_CONFIGURATIONPROPERTIES 32397 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXDATASETWRITERSPERGROUP 32398 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEDATAGRAM 32399 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEBROKER 32400 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPULL 32401 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPUSH 32402 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_DEFAULTSECURITYKEYSERVICES 32403 /* Variable */ -#define UA_NS0ID_PUBLISHSUBSCRIBE_CONFIGURATIONPROPERTIES 32404 /* Variable */ -#define UA_NS0ID_DATASETCLASSES 32405 /* Object */ -#define UA_NS0ID_DATASETCLASSES_GETSECURITYKEYS 32406 /* Method */ -#define UA_NS0ID_DATASETCLASSES_GETSECURITYKEYS_INPUTARGUMENTS 32407 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_GETSECURITYKEYS_OUTPUTARGUMENTS 32408 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_GETSECURITYGROUP 32409 /* Method */ -#define UA_NS0ID_DATASETCLASSES_GETSECURITYGROUP_INPUTARGUMENTS 32410 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_GETSECURITYGROUP_OUTPUTARGUMENTS 32411 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS 32412 /* Object */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUP 32413 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUP_INPUTARGUMENTS 32414 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUP_OUTPUTARGUMENTS 32415 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUP 32416 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUP_INPUTARGUMENTS 32417 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUPFOLDER 32418 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_INPUTARGUMENTS 32419 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_ADDSECURITYGROUPFOLDER_OUTPUTARGUMENTS 32420 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER 32421 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_REMOVESECURITYGROUPFOLDER_INPUTARGUMENTS 32422 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SECURITYGROUPS_SUPPORTEDSECURITYPOLICYURIS 32423 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS 32424 /* Object */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGET 32425 /* Method */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGET_INPUTARGUMENTS 32426 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGET_OUTPUTARGUMENTS 32427 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGET 32428 /* Method */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGET_INPUTARGUMENTS 32429 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER 32430 /* Method */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_INPUTARGUMENTS 32431 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_ADDPUSHTARGETFOLDER_OUTPUTARGUMENTS 32432 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER 32433 /* Method */ -#define UA_NS0ID_DATASETCLASSES_KEYPUSHTARGETS_REMOVEPUSHTARGETFOLDER_INPUTARGUMENTS 32434 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER 32435 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_PUBLISHERID 32436 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI 32437 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONS 32438 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_SELECTIONDESCRIPTIONS 32439 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTPROFILEURI_RESTRICTTOLIST 32440 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_CONNECTIONPROPERTIES 32441 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS 32442 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE 32443 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONS 32444 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_SELECTIONDESCRIPTIONS 32445 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDRESS_NETWORKINTERFACE_RESTRICTTOLIST 32446 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_TRANSPORTSETTINGS 32447 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS 32448 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS_STATE 32449 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS_ENABLE 32450 /* Method */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_STATUS_DISABLE 32451 /* Method */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS 32452 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_DIAGNOSTICSLEVEL 32453 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION 32454 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 32455 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 32456 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 32457 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 32458 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR 32459 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_ACTIVE 32460 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 32461 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 32462 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 32463 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_RESET 32464 /* Method */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_SUBERROR 32465 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS 32466 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR 32467 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 32468 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 32469 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 32470 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 32471 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 32472 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 32473 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 32474 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 32475 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 32476 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 32477 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 32478 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 32479 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 32480 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 32481 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 32482 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 32483 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 32484 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 32485 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 32486 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 32487 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 32488 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 32489 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 32490 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 32491 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 32492 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 32493 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 32494 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 32495 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 32496 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES 32497 /* Object */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS 32498 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_DIAGNOSTICS_LIVEVALUES_RESOLVEDADDRESS_DIAGNOSTICSLEVEL 32499 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP 32500 /* Method */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_INPUTARGUMENTS 32501 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDWRITERGROUP_OUTPUTARGUMENTS 32502 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP 32503 /* Method */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_INPUTARGUMENTS 32504 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_ADDREADERGROUP_OUTPUTARGUMENTS 32505 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP 32506 /* Method */ -#define UA_NS0ID_DATASETCLASSES_CONNECTIONNAME_PLACEHOLDER_REMOVEGROUP_INPUTARGUMENTS 32507 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SETSECURITYKEYS 32508 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SETSECURITYKEYS_INPUTARGUMENTS 32509 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_ADDCONNECTION 32510 /* Method */ -#define UA_NS0ID_DATASETCLASSES_ADDCONNECTION_INPUTARGUMENTS 32511 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_ADDCONNECTION_OUTPUTARGUMENTS 32512 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_REMOVECONNECTION 32513 /* Method */ -#define UA_NS0ID_DATASETCLASSES_REMOVECONNECTION_INPUTARGUMENTS 32514 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS 32515 /* Object */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS 32516 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_INPUTARGUMENTS 32517 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMS_OUTPUTARGUMENTS 32518 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS 32519 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_INPUTARGUMENTS 32520 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTS_OUTPUTARGUMENTS 32521 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE 32522 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_INPUTARGUMENTS 32523 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDDATAITEMSTEMPLATE_OUTPUTARGUMENTS 32524 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE 32525 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_INPUTARGUMENTS 32526 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDPUBLISHEDEVENTSTEMPLATE_OUTPUTARGUMENTS 32527 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET 32528 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEPUBLISHEDDATASET_INPUTARGUMENTS 32529 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDDATASETFOLDER 32530 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 32531 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 32532 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEDATASETFOLDER 32533 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBLISHEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 32534 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS 32535 /* Object */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET 32536 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_INPUTARGUMENTS 32537 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDSUBSCRIBEDDATASET_OUTPUTARGUMENTS 32538 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET 32539 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVESUBSCRIBEDDATASET_INPUTARGUMENTS 32540 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDDATASETFOLDER 32541 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_INPUTARGUMENTS 32542 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_ADDDATASETFOLDER_OUTPUTARGUMENTS 32543 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER 32544 /* Method */ -#define UA_NS0ID_DATASETCLASSES_SUBSCRIBEDDATASETS_REMOVEDATASETFOLDER_INPUTARGUMENTS 32545 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION 32546 /* Object */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_SIZE 32547 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_WRITABLE 32548 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_USERWRITABLE 32549 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPENCOUNT 32550 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_MIMETYPE 32551 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_MAXBYTESTRINGLENGTH 32552 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_LASTMODIFIEDTIME 32553 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPEN 32554 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPEN_INPUTARGUMENTS 32555 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_OPEN_OUTPUTARGUMENTS 32556 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSE 32557 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSE_INPUTARGUMENTS 32558 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_READ 32559 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_READ_INPUTARGUMENTS 32560 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_READ_OUTPUTARGUMENTS 32561 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_WRITE 32562 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_WRITE_INPUTARGUMENTS 32563 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_GETPOSITION 32564 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_GETPOSITION_INPUTARGUMENTS 32565 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_GETPOSITION_OUTPUTARGUMENTS 32566 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_SETPOSITION 32567 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_SETPOSITION_INPUTARGUMENTS 32568 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_RESERVEIDS 32569 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_RESERVEIDS_INPUTARGUMENTS 32570 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_RESERVEIDS_OUTPUTARGUMENTS 32571 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSEANDUPDATE 32572 /* Method */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSEANDUPDATE_INPUTARGUMENTS 32573 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCONFIGURATION_CLOSEANDUPDATE_OUTPUTARGUMENTS 32574 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_STATUS 32575 /* Object */ -#define UA_NS0ID_DATASETCLASSES_STATUS_STATE 32576 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_STATUS_ENABLE 32577 /* Method */ -#define UA_NS0ID_DATASETCLASSES_STATUS_DISABLE 32578 /* Method */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS 32579 /* Object */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_DIAGNOSTICSLEVEL 32580 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION 32581 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_ACTIVE 32582 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_CLASSIFICATION 32583 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_DIAGNOSTICSLEVEL 32584 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALINFORMATION_TIMEFIRSTCHANGE 32585 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR 32586 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_ACTIVE 32587 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_CLASSIFICATION 32588 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_DIAGNOSTICSLEVEL 32589 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_TOTALERROR_TIMEFIRSTCHANGE 32590 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_RESET 32591 /* Method */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_SUBERROR 32592 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS 32593 /* Object */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR 32594 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_ACTIVE 32595 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_CLASSIFICATION 32596 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_DIAGNOSTICSLEVEL 32597 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEERROR_TIMEFIRSTCHANGE 32598 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD 32599 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_ACTIVE 32600 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_CLASSIFICATION 32601 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_DIAGNOSTICSLEVEL 32602 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYMETHOD_TIMEFIRSTCHANGE 32603 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT 32604 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_ACTIVE 32605 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_CLASSIFICATION 32606 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_DIAGNOSTICSLEVEL 32607 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALBYPARENT_TIMEFIRSTCHANGE 32608 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR 32609 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_ACTIVE 32610 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_CLASSIFICATION 32611 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_DIAGNOSTICSLEVEL 32612 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEOPERATIONALFROMERROR_TIMEFIRSTCHANGE 32613 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT 32614 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_ACTIVE 32615 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_CLASSIFICATION 32616 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_DIAGNOSTICSLEVEL 32617 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEPAUSEDBYPARENT_TIMEFIRSTCHANGE 32618 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD 32619 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_ACTIVE 32620 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_CLASSIFICATION 32621 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_DIAGNOSTICSLEVEL 32622 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_COUNTERS_STATEDISABLEDBYMETHOD_TIMEFIRSTCHANGE 32623 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES 32624 /* Object */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS 32625 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETWRITERS_DIAGNOSTICSLEVEL 32626 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS 32627 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_CONFIGUREDDATASETREADERS_DIAGNOSTICSLEVEL 32628 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS 32629 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETWRITERS_DIAGNOSTICSLEVEL 32630 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS 32631 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DIAGNOSTICS_LIVEVALUES_OPERATIONALDATASETREADERS_DIAGNOSTICSLEVEL 32632 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES 32633 /* Object */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXPUBSUBCONNECTIONS 32634 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXWRITERGROUPS 32635 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXREADERGROUPS 32636 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXDATASETWRITERS 32637 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXDATASETREADERS 32638 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXDATASETWRITERSPERGROUP 32639 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEDATAGRAM 32640 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXNETWORKMESSAGESIZEBROKER 32641 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPULL 32642 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_SUPPORTSECURITYKEYPUSH 32643 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DATASETCLASSES 32644 /* Object */ -#define UA_NS0ID_DATASETCLASSES_DATASETCLASSES_DATASETNAME_PLACEHOLDER 32645 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_SUPPORTEDTRANSPORTPROFILES 32646 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DEFAULTDATAGRAMPUBLISHERID 32647 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONFIGURATIONVERSION 32648 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_DEFAULTSECURITYKEYSERVICES 32649 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_CONFIGURATIONPROPERTIES 32650 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXDATASETWRITERSPERGROUP 32651 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXNETWORKMESSAGESIZEDATAGRAM 32652 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_MAXNETWORKMESSAGESIZEBROKER 32653 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_SUPPORTSECURITYKEYPULL 32654 /* Variable */ -#define UA_NS0ID_PUBSUBCAPABILITIESTYPE_SUPPORTSECURITYKEYPUSH 32655 /* Variable */ -#define UA_NS0ID_DATASETCLASSES_PUBSUBCAPABLITIES_MAXFIELDSPERDATASET 32656 /* Variable */ -#define UA_NS0ID_REFERENCEDESCRIPTIONVARIABLETYPE 32657 /* VariableType */ -#define UA_NS0ID_REFERENCEDESCRIPTIONVARIABLETYPE_REFERENCEREFINEMENT 32658 /* Variable */ -#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE 32659 /* DataType */ -#define UA_NS0ID_REFERENCELISTENTRYDATATYPE 32660 /* DataType */ -#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE_ENCODING_DEFAULTBINARY 32661 /* Object */ -#define UA_NS0ID_REFERENCELISTENTRYDATATYPE_ENCODING_DEFAULTBINARY 32662 /* Object */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCEDESCRIPTIONDATATYPE 32663 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DATATYPEVERSION 32664 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DICTIONARYFRAGMENT 32665 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCELISTENTRYDATATYPE 32666 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCELISTENTRYDATATYPE_DATATYPEVERSION 32667 /* Variable */ -#define UA_NS0ID_OPCUA_BINARYSCHEMA_REFERENCELISTENTRYDATATYPE_DICTIONARYFRAGMENT 32668 /* Variable */ -#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE_ENCODING_DEFAULTXML 32669 /* Object */ -#define UA_NS0ID_REFERENCELISTENTRYDATATYPE_ENCODING_DEFAULTXML 32670 /* Object */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCEDESCRIPTIONDATATYPE 32671 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DATATYPEVERSION 32672 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCEDESCRIPTIONDATATYPE_DICTIONARYFRAGMENT 32673 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCELISTENTRYDATATYPE 32674 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCELISTENTRYDATATYPE_DATATYPEVERSION 32675 /* Variable */ -#define UA_NS0ID_OPCUA_XMLSCHEMA_REFERENCELISTENTRYDATATYPE_DICTIONARYFRAGMENT 32676 /* Variable */ -#define UA_NS0ID_REFERENCEDESCRIPTIONDATATYPE_ENCODING_DEFAULTJSON 32677 /* Object */ -#define UA_NS0ID_REFERENCELISTENTRYDATATYPE_ENCODING_DEFAULTJSON 32678 /* Object */ -#define UA_NS0ID_HASREFERENCEDESCRIPTION 32679 /* ReferenceType */ -#define UA_NS0ID_OPTIONSETLENGTH 32750 /* Variable */ -#endif /* UA_NODEIDS_NS0_H_ */ - -/**** amalgamated original file "/include/open62541/common.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2016-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2016 (c) Sten Grüner - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Florian Palm - * Copyright 2020 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - - -_UA_BEGIN_DECLS - -/** - * Common Definitions - * ================== - * - * Common definitions for Client, Server and PubSub. - * - * .. _attribute-id: - * - * Attribute Id - * ------------ - * Every node in an OPC UA information model contains attributes depending on - * the node type. Possible attributes are as follows: */ - -typedef enum { - UA_ATTRIBUTEID_NODEID = 1, - UA_ATTRIBUTEID_NODECLASS = 2, - UA_ATTRIBUTEID_BROWSENAME = 3, - UA_ATTRIBUTEID_DISPLAYNAME = 4, - UA_ATTRIBUTEID_DESCRIPTION = 5, - UA_ATTRIBUTEID_WRITEMASK = 6, - UA_ATTRIBUTEID_USERWRITEMASK = 7, - UA_ATTRIBUTEID_ISABSTRACT = 8, - UA_ATTRIBUTEID_SYMMETRIC = 9, - UA_ATTRIBUTEID_INVERSENAME = 10, - UA_ATTRIBUTEID_CONTAINSNOLOOPS = 11, - UA_ATTRIBUTEID_EVENTNOTIFIER = 12, - UA_ATTRIBUTEID_VALUE = 13, - UA_ATTRIBUTEID_DATATYPE = 14, - UA_ATTRIBUTEID_VALUERANK = 15, - UA_ATTRIBUTEID_ARRAYDIMENSIONS = 16, - UA_ATTRIBUTEID_ACCESSLEVEL = 17, - UA_ATTRIBUTEID_USERACCESSLEVEL = 18, - UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL = 19, - UA_ATTRIBUTEID_HISTORIZING = 20, - UA_ATTRIBUTEID_EXECUTABLE = 21, - UA_ATTRIBUTEID_USEREXECUTABLE = 22, - UA_ATTRIBUTEID_DATATYPEDEFINITION = 23, - UA_ATTRIBUTEID_ROLEPERMISSIONS = 24, - UA_ATTRIBUTEID_USERROLEPERMISSIONS = 25, - UA_ATTRIBUTEID_ACCESSRESTRICTIONS = 26, - UA_ATTRIBUTEID_ACCESSLEVELEX = 27 -} UA_AttributeId; - -/** - * .. _access-level-mask: - * - * Access Level Masks - * ------------------ - * The access level to a node is given by the following constants that are ANDed - * with the overall access level. */ - -#define UA_ACCESSLEVELMASK_READ (0x01u << 0u) -#define UA_ACCESSLEVELMASK_WRITE (0x01u << 1u) -#define UA_ACCESSLEVELMASK_HISTORYREAD (0x01u << 2u) -#define UA_ACCESSLEVELMASK_HISTORYWRITE (0x01u << 3u) -#define UA_ACCESSLEVELMASK_SEMANTICCHANGE (0x01u << 4u) -#define UA_ACCESSLEVELMASK_STATUSWRITE (0x01u << 5u) -#define UA_ACCESSLEVELMASK_TIMESTAMPWRITE (0x01u << 6u) - -/** - * .. _write-mask: - * - * Write Masks - * ----------- - * The write mask and user write mask is given by the following constants that - * are ANDed for the overall write mask. Part 3: 5.2.7 Table 2 */ - -#define UA_WRITEMASK_ACCESSLEVEL (0x01u << 0u) -#define UA_WRITEMASK_ARRRAYDIMENSIONS (0x01u << 1u) -#define UA_WRITEMASK_BROWSENAME (0x01u << 2u) -#define UA_WRITEMASK_CONTAINSNOLOOPS (0x01u << 3u) -#define UA_WRITEMASK_DATATYPE (0x01u << 4u) -#define UA_WRITEMASK_DESCRIPTION (0x01u << 5u) -#define UA_WRITEMASK_DISPLAYNAME (0x01u << 6u) -#define UA_WRITEMASK_EVENTNOTIFIER (0x01u << 7u) -#define UA_WRITEMASK_EXECUTABLE (0x01u << 8u) -#define UA_WRITEMASK_HISTORIZING (0x01u << 9u) -#define UA_WRITEMASK_INVERSENAME (0x01u << 10u) -#define UA_WRITEMASK_ISABSTRACT (0x01u << 11u) -#define UA_WRITEMASK_MINIMUMSAMPLINGINTERVAL (0x01u << 12u) -#define UA_WRITEMASK_NODECLASS (0x01u << 13u) -#define UA_WRITEMASK_NODEID (0x01u << 14u) -#define UA_WRITEMASK_SYMMETRIC (0x01u << 15u) -#define UA_WRITEMASK_USERACCESSLEVEL (0x01u << 16u) -#define UA_WRITEMASK_USEREXECUTABLE (0x01u << 17u) -#define UA_WRITEMASK_USERWRITEMASK (0x01u << 18u) -#define UA_WRITEMASK_VALUERANK (0x01u << 19u) -#define UA_WRITEMASK_WRITEMASK (0x01u << 20u) -#define UA_WRITEMASK_VALUEFORVARIABLETYPE (0x01u << 21u) -#define UA_WRITEMASK_ACCESSLEVELEX (0x01u << 25u) - -/** - * .. _valuerank-defines: - * - * ValueRank - * --------- - * The following are the most common ValueRanks used for Variables, - * VariableTypes and method arguments. ValueRanks higher than 3 are valid as - * well (but less common). */ - -#define UA_VALUERANK_SCALAR_OR_ONE_DIMENSION -3 -#define UA_VALUERANK_ANY -2 -#define UA_VALUERANK_SCALAR -1 -#define UA_VALUERANK_ONE_OR_MORE_DIMENSIONS 0 -#define UA_VALUERANK_ONE_DIMENSION 1 -#define UA_VALUERANK_TWO_DIMENSIONS 2 -#define UA_VALUERANK_THREE_DIMENSIONS 3 - -/** - * .. _eventnotifier: - * - * EventNotifier - * ------------- - * The following are the available EventNotifier used for Nodes. - * The EventNotifier Attribute is used to indicate if the Node can be used - * to subscribe to Events or to read / write historic Events. - * Part 3: 5.4 Table 10 */ - -#define UA_EVENTNOTIFIER_SUBSCRIBE_TO_EVENT (0x01u << 0u) -#define UA_EVENTNOTIFIER_HISTORY_READ (0x01u << 2u) -#define UA_EVENTNOTIFIER_HISTORY_WRITE (0x01u << 3u) - -/** - * .. _rule-handling: - * - * Rule Handling - * ------------- - * - * The RuleHanding settings define how error cases that result from rules in the - * OPC UA specification shall be handled. The rule handling can be softened, - * e.g. to workaround misbehaving implementations or to mitigate the impact of - * additional rules that are introduced in later versions of the OPC UA - * specification. */ -typedef enum { - UA_RULEHANDLING_DEFAULT = 0, - UA_RULEHANDLING_ABORT, /* Abort the operation and return an error code */ - UA_RULEHANDLING_WARN, /* Print a message in the logs and continue */ - UA_RULEHANDLING_ACCEPT, /* Continue and disregard the broken rule */ -} UA_RuleHandling; - -/** - * Order - * ----- - * - * The Order enum is used to establish an absolute ordering between elements. - */ - -typedef enum { - UA_ORDER_LESS = -1, - UA_ORDER_EQ = 0, - UA_ORDER_MORE = 1 -} UA_Order; - -/** - * Connection State - * ---------------- */ - -typedef enum { - UA_CONNECTIONSTATE_CLOSED, /* The socket has been closed and the connection - * will be deleted */ - UA_CONNECTIONSTATE_OPENING, /* The socket is open, but the HEL/ACK handshake - * is not done */ - UA_CONNECTIONSTATE_ESTABLISHED,/* The socket is open and the connection - * configured */ - UA_CONNECTIONSTATE_CLOSING /* The socket is closing down */ -} UA_ConnectionState; - - -typedef enum { - UA_SECURECHANNELSTATE_CLOSED = 0, - UA_SECURECHANNELSTATE_REVERSE_LISTENING, - UA_SECURECHANNELSTATE_CONNECTING, - UA_SECURECHANNELSTATE_CONNECTED, - UA_SECURECHANNELSTATE_REVERSE_CONNECTED, - UA_SECURECHANNELSTATE_RHE_SENT, - UA_SECURECHANNELSTATE_HEL_SENT, - UA_SECURECHANNELSTATE_HEL_RECEIVED, - UA_SECURECHANNELSTATE_ACK_SENT, - UA_SECURECHANNELSTATE_ACK_RECEIVED, - UA_SECURECHANNELSTATE_OPN_SENT, - UA_SECURECHANNELSTATE_OPEN, - UA_SECURECHANNELSTATE_CLOSING, -} UA_SecureChannelState; - -typedef enum { - UA_SESSIONSTATE_CLOSED = 0, - UA_SESSIONSTATE_CREATE_REQUESTED, - UA_SESSIONSTATE_CREATED, - UA_SESSIONSTATE_ACTIVATE_REQUESTED, - UA_SESSIONSTATE_ACTIVATED, - UA_SESSIONSTATE_CLOSING -} UA_SessionState; - -/** - * Statistic Counters - * ------------------ - * - * The stack manages statistic counters for SecureChannels and Sessions. - * - * The Session layer counters are matching the counters of the - * ServerDiagnosticsSummaryDataType that are defined in the OPC UA Part 5 - * specification. The SecureChannel counters are not defined in the OPC UA spec, - * but are harmonized with the Session layer counters if possible. */ - -typedef enum { - UA_SHUTDOWNREASON_CLOSE = 0, - UA_SHUTDOWNREASON_REJECT, - UA_SHUTDOWNREASON_SECURITYREJECT, - UA_SHUTDOWNREASON_TIMEOUT, - UA_SHUTDOWNREASON_ABORT, - UA_SHUTDOWNREASON_PURGE -} UA_ShutdownReason; - -typedef struct { - size_t currentChannelCount; - size_t cumulatedChannelCount; - size_t rejectedChannelCount; - size_t channelTimeoutCount; /* only used by servers */ - size_t channelAbortCount; - size_t channelPurgeCount; /* only used by servers */ -} UA_SecureChannelStatistics; - -typedef struct { - size_t currentSessionCount; - size_t cumulatedSessionCount; - size_t securityRejectedSessionCount; /* only used by servers */ - size_t rejectedSessionCount; - size_t sessionTimeoutCount; /* only used by servers */ - size_t sessionAbortCount; /* only used by servers */ -} UA_SessionStatistics; - -/** - * Lifecycle States - * ---------------- - * - * Generic lifecycle states. The STOPPING state indicates that the lifecycle is - * being terminated. But it might take time to (asynchronously) perform a - * graceful shutdown. */ - -typedef enum { - UA_LIFECYCLESTATE_STOPPED = 0, - UA_LIFECYCLESTATE_STARTED, - UA_LIFECYCLESTATE_STOPPING -} UA_LifecycleState; - -/** - * Forward Declarations - * -------------------- - * Opaque pointers used in Client, Server and PubSub. */ - -struct UA_Server; -typedef struct UA_Server UA_Server; - -struct UA_ServerConfig; -typedef struct UA_ServerConfig UA_ServerConfig; - -typedef void (*UA_ServerCallback)(UA_Server *server, void *data); - -struct UA_Client; -typedef struct UA_Client UA_Client; - -/** - * .. include:: util.rst */ - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/types.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014 (c) Leon Urbas - * Copyright 2014, 2016-2017 (c) Florian Palm - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015 (c) Nick Goossens - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2023 (c) Fraunhofer IOSB (Author: Andreas Ebner) - */ - - - -_UA_BEGIN_DECLS - -/** - * .. _types: - * - * Data Types - * ========== - * - * The OPC UA protocol defines 25 builtin data types and three ways of combining - * them into higher-order types: arrays, structures and unions. In open62541, - * only the builtin data types are defined manually. All other data types are - * generated from standard XML definitions. Their exact definitions can be - * looked up at https://opcfoundation.org/UA/schemas/Opc.Ua.Types.bsd. - * - * For users that are new to open62541, take a look at the :ref:`tutorial for - * working with data types` before diving into the - * implementation details. - * - * Builtin Types - * ------------- - * - * Boolean - * ^^^^^^^ - * A two-state logical value (true or false). */ -typedef bool UA_Boolean; -#define UA_TRUE true UA_INTERNAL_DEPRECATED -#define UA_FALSE false UA_INTERNAL_DEPRECATED - -/** - * SByte - * ^^^^^ - * An integer value between -128 and 127. */ -typedef int8_t UA_SByte; -#define UA_SBYTE_MIN (-128) -#define UA_SBYTE_MAX 127 - -/** - * Byte - * ^^^^ - * An integer value between 0 and 255. */ -typedef uint8_t UA_Byte; -#define UA_BYTE_MIN 0 -#define UA_BYTE_MAX 255 - -/** - * Int16 - * ^^^^^ - * An integer value between -32 768 and 32 767. */ -typedef int16_t UA_Int16; -#define UA_INT16_MIN (-32768) -#define UA_INT16_MAX 32767 - -/** - * UInt16 - * ^^^^^^ - * An integer value between 0 and 65 535. */ -typedef uint16_t UA_UInt16; -#define UA_UINT16_MIN 0 -#define UA_UINT16_MAX 65535 - -/** - * Int32 - * ^^^^^ - * An integer value between -2 147 483 648 and 2 147 483 647. */ -typedef int32_t UA_Int32; -#define UA_INT32_MIN ((int32_t)-2147483648LL) -#define UA_INT32_MAX 2147483647L - -/** - * UInt32 - * ^^^^^^ - * An integer value between 0 and 4 294 967 295. */ -typedef uint32_t UA_UInt32; -#define UA_UINT32_MIN 0 -#define UA_UINT32_MAX 4294967295UL - -/** - * Int64 - * ^^^^^ - * An integer value between -9 223 372 036 854 775 808 and - * 9 223 372 036 854 775 807. */ -typedef int64_t UA_Int64; -#define UA_INT64_MAX (int64_t)9223372036854775807LL -#define UA_INT64_MIN ((int64_t)-UA_INT64_MAX-1LL) - -/** - * UInt64 - * ^^^^^^ - * An integer value between 0 and 18 446 744 073 709 551 615. */ -typedef uint64_t UA_UInt64; -#define UA_UINT64_MIN 0 -#define UA_UINT64_MAX (uint64_t)18446744073709551615ULL - -/** - * Float - * ^^^^^ - * An IEEE single precision (32 bit) floating point value. */ -typedef float UA_Float; -#define UA_FLOAT_MIN FLT_MIN -#define UA_FLOAT_MAX FLT_MAX - -/** - * Double - * ^^^^^^ - * An IEEE double precision (64 bit) floating point value. */ -typedef double UA_Double; -#define UA_DOUBLE_MIN DBL_MIN -#define UA_DOUBLE_MAX DBL_MAX - -/** - * .. _statuscode: - * - * StatusCode - * ^^^^^^^^^^ - * A numeric identifier for an error or condition that is associated with a - * value or an operation. See the section :ref:`statuscodes` for the meaning of - * a specific code. - * - * Each StatusCode has one of three "severity" bit-flags: - * Good, Uncertain, Bad. An additional reason is indicated by the SubCode - * bitfield. - * - * - A StatusCode with severity Good means that the value is of good quality. - * - A StatusCode with severity Uncertain means that the quality of the value is - * uncertain for reasons indicated by the SubCode. - * - A StatusCode with severity Bad means that the value is not usable for - * reasons indicated by the SubCode. */ -typedef uint32_t UA_StatusCode; - -/* Returns the human-readable name of the StatusCode. If no matching StatusCode - * is found, a default string for "Unknown" is returned. This feature might be - * disabled to create a smaller binary with the - * UA_ENABLE_STATUSCODE_DESCRIPTIONS build-flag. Then the function returns an - * empty string for every StatusCode. */ -UA_EXPORT const char * -UA_StatusCode_name(UA_StatusCode code); - -/* Extracts the severity from a StatusCode. See Part 4, Section 7.34 for - * details. */ -UA_INLINABLE(UA_Boolean - UA_StatusCode_isBad(UA_StatusCode code), { - return ((code >> 30) >= 0x02); -}) - -UA_INLINABLE(UA_Boolean - UA_StatusCode_isUncertain(UA_StatusCode code), { - return ((code >> 30) == 0x01); -}) - -UA_INLINABLE(UA_Boolean - UA_StatusCode_isGood(UA_StatusCode code), { - return ((code >> 30) == 0x00); -}) - -/* Compares the top 16 bits of two StatusCodes for equality. This should only - * be used when processing user-defined StatusCodes e.g when processing a ReadResponse. - * As a convention, the lower bits of StatusCodes should not be used internally, meaning - * can compare them without the use of this function. */ -UA_INLINABLE(UA_Boolean - UA_StatusCode_isEqualTop(UA_StatusCode s1, UA_StatusCode s2), { - return ((s1 & 0xFFFF0000) == (s2 & 0xFFFF0000)); -}) - -/** - * String - * ^^^^^^ - * A sequence of Unicode characters. Strings are just an array of UA_Byte. */ -typedef struct { - size_t length; /* The length of the string */ - UA_Byte *data; /* The content (not null-terminated) */ -} UA_String; - -/* Copies the content on the heap. Returns a null-string when alloc fails */ -UA_String UA_EXPORT -UA_String_fromChars(const char *src) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -UA_Boolean UA_EXPORT -UA_String_isEmpty(const UA_String *s); - -UA_EXPORT extern const UA_String UA_STRING_NULL; - -/** - * ``UA_STRING`` returns a string pointing to the original char-array. - * ``UA_STRING_ALLOC`` is shorthand for ``UA_String_fromChars`` and makes a copy - * of the char-array. */ -UA_INLINABLE(UA_String - UA_STRING(char *chars), { - UA_String s; - memset(&s, 0, sizeof(s)); - if(!chars) - return s; - s.length = strlen(chars); s.data = (UA_Byte*)chars; - return s; -}) - -#define UA_STRING_ALLOC(CHARS) UA_String_fromChars(CHARS) - -/* Define strings at compile time (in ROM) */ -#define UA_STRING_STATIC(CHARS) {sizeof(CHARS)-1, (UA_Byte*)CHARS} - -/** - * .. _datetime: - * - * DateTime - * ^^^^^^^^ - * An instance in time. A DateTime value is encoded as a 64-bit signed integer - * which represents the number of 100 nanosecond intervals since January 1, 1601 - * (UTC). - * - * The methods providing an interface to the system clock are architecture- - * specific. Usually, they provide a UTC clock that includes leap seconds. The - * OPC UA standard allows the use of International Atomic Time (TAI) for the - * DateTime instead. But this is still unusual and not implemented for most - * SDKs. Currently (2019), UTC and TAI are 37 seconds apart due to leap - * seconds. */ - -typedef int64_t UA_DateTime; - -/* Multiples to convert durations to DateTime */ -#define UA_DATETIME_USEC 10LL -#define UA_DATETIME_MSEC (UA_DATETIME_USEC * 1000LL) -#define UA_DATETIME_SEC (UA_DATETIME_MSEC * 1000LL) - -/* The current time in UTC time */ -UA_DateTime UA_EXPORT UA_DateTime_now(void); - -/* Offset between local time and UTC time */ -UA_Int64 UA_EXPORT UA_DateTime_localTimeUtcOffset(void); - -/* CPU clock invariant to system time changes. Use only to measure durations, - * not absolute time. */ -UA_DateTime UA_EXPORT UA_DateTime_nowMonotonic(void); - -/* Represents a Datetime as a structure */ -typedef struct UA_DateTimeStruct { - UA_UInt16 nanoSec; - UA_UInt16 microSec; - UA_UInt16 milliSec; - UA_UInt16 sec; - UA_UInt16 min; - UA_UInt16 hour; - UA_UInt16 day; /* From 1 to 31 */ - UA_UInt16 month; /* From 1 to 12 */ - UA_Int16 year; /* Can be negative (BC) */ -} UA_DateTimeStruct; - -UA_DateTimeStruct UA_EXPORT UA_DateTime_toStruct(UA_DateTime t); -UA_DateTime UA_EXPORT UA_DateTime_fromStruct(UA_DateTimeStruct ts); - -/* The C99 standard (7.23.1) says: "The range and precision of times - * representable in clock_t and time_t are implementation-defined." On most - * systems, time_t is a 4 or 8 byte integer counting seconds since the UTC Unix - * epoch. The following methods are used for conversion. */ - -/* Datetime of 1 Jan 1970 00:00 */ -#define UA_DATETIME_UNIX_EPOCH (11644473600LL * UA_DATETIME_SEC) - -UA_INLINABLE(UA_Int64 - UA_DateTime_toUnixTime(UA_DateTime date), { - return (date - UA_DATETIME_UNIX_EPOCH) / UA_DATETIME_SEC; -}) - -UA_INLINABLE(UA_DateTime - UA_DateTime_fromUnixTime(UA_Int64 unixDate), { - return (unixDate * UA_DATETIME_SEC) + UA_DATETIME_UNIX_EPOCH; -}) - -/** - * Guid - * ^^^^ - * A 16 byte value that can be used as a globally unique identifier. */ -typedef struct { - UA_UInt32 data1; - UA_UInt16 data2; - UA_UInt16 data3; - UA_Byte data4[8]; -} UA_Guid; - -UA_EXPORT extern const UA_Guid UA_GUID_NULL; - -/* Print a Guid in the human-readable format defined in Part 6, 5.1.3 - * - * Format: C496578A-0DFE-4B8F-870A-745238C6AEAE - * | | | | | | - * 0 8 13 18 23 36 - * - * This allocates memory if the output argument is an empty string. Tries to use - * the given buffer otherwise. */ -UA_StatusCode UA_EXPORT -UA_Guid_print(const UA_Guid *guid, UA_String *output); - -/* Parse the humand-readable Guid format */ -#ifdef UA_ENABLE_PARSING -UA_StatusCode UA_EXPORT -UA_Guid_parse(UA_Guid *guid, const UA_String str); - -UA_INLINABLE(UA_Guid - UA_GUID(const char *chars), { - UA_Guid guid; - UA_Guid_parse(&guid, UA_STRING((char*)(uintptr_t)chars)); - return guid; -}) -#endif - -/** - * ByteString - * ^^^^^^^^^^ - * A sequence of octets. */ -typedef UA_String UA_ByteString; - -UA_EXPORT extern const UA_ByteString UA_BYTESTRING_NULL; - -/* Allocates memory of size length for the bytestring. - * The content is not set to zero. */ -UA_StatusCode UA_EXPORT -UA_ByteString_allocBuffer(UA_ByteString *bs, size_t length); - -/* Converts a ByteString to the corresponding - * base64 representation */ -UA_StatusCode UA_EXPORT -UA_ByteString_toBase64(const UA_ByteString *bs, UA_String *output); - -/* Parse a ByteString from a base64 representation */ -UA_StatusCode UA_EXPORT -UA_ByteString_fromBase64(UA_ByteString *bs, - const UA_String *input); - -#define UA_BYTESTRING(chars) UA_STRING(chars) -#define UA_BYTESTRING_ALLOC(chars) UA_STRING_ALLOC(chars) - -/* Returns a non-cryptographic hash of a bytestring */ -UA_UInt32 UA_EXPORT -UA_ByteString_hash(UA_UInt32 initialHashValue, - const UA_Byte *data, size_t size); - -/** - * XmlElement - * ^^^^^^^^^^ - * An XML element. */ -typedef UA_String UA_XmlElement; - -/** - * .. _nodeid: - * - * NodeId - * ^^^^^^ - * An identifier for a node in the address space of an OPC UA Server. */ -enum UA_NodeIdType { - UA_NODEIDTYPE_NUMERIC = 0, /* In the binary encoding, this can also - * become 1 or 2 (two-byte and four-byte - * encoding of small numeric nodeids) */ - UA_NODEIDTYPE_STRING = 3, - UA_NODEIDTYPE_GUID = 4, - UA_NODEIDTYPE_BYTESTRING = 5 -}; - -typedef struct { - UA_UInt16 namespaceIndex; - enum UA_NodeIdType identifierType; - union { - UA_UInt32 numeric; - UA_String string; - UA_Guid guid; - UA_ByteString byteString; - } identifier; -} UA_NodeId; - -UA_EXPORT extern const UA_NodeId UA_NODEID_NULL; - -UA_Boolean UA_EXPORT UA_NodeId_isNull(const UA_NodeId *p); - -/* Print the NodeId in the human-readable format defined in Part 6, - * 5.3.1.10. - * - * Examples: - * UA_NODEID("i=13") - * UA_NODEID("ns=10;i=1") - * UA_NODEID("ns=10;s=Hello:World") - * UA_NODEID("g=09087e75-8e5e-499b-954f-f2a9603db28a") - * UA_NODEID("ns=1;b=b3BlbjYyNTQxIQ==") // base64 - * - * The method can either use a pre-allocated string buffer or allocates memory - * internally if called with an empty output string. */ -UA_StatusCode UA_EXPORT -UA_NodeId_print(const UA_NodeId *id, UA_String *output); - -/* Parse the human-readable NodeId format. Attention! String and - * ByteString NodeIds have their identifier malloc'ed and need to be - * cleaned up. */ -#ifdef UA_ENABLE_PARSING -UA_StatusCode UA_EXPORT -UA_NodeId_parse(UA_NodeId *id, const UA_String str); - -UA_INLINABLE(UA_NodeId - UA_NODEID(const char *chars), { - UA_NodeId id; - UA_NodeId_parse(&id, UA_STRING((char*)(uintptr_t)chars)); - return id; -}) -#endif - -/** The following methods are a shorthand for creating NodeIds. */ -UA_INLINABLE(UA_NodeId - UA_NODEID_NUMERIC(UA_UInt16 nsIndex, - UA_UInt32 identifier), { - UA_NodeId id; - memset(&id, 0, sizeof(UA_NodeId)); - id.namespaceIndex = nsIndex; - id.identifierType = UA_NODEIDTYPE_NUMERIC; - id.identifier.numeric = identifier; - return id; -}) - -UA_INLINABLE(UA_NodeId - UA_NODEID_STRING(UA_UInt16 nsIndex, char *chars), { - UA_NodeId id; - memset(&id, 0, sizeof(UA_NodeId)); - id.namespaceIndex = nsIndex; - id.identifierType = UA_NODEIDTYPE_STRING; - id.identifier.string = UA_STRING(chars); - return id; -}) - -UA_INLINABLE(UA_NodeId - UA_NODEID_STRING_ALLOC(UA_UInt16 nsIndex, - const char *chars), { - UA_NodeId id; - memset(&id, 0, sizeof(UA_NodeId)); - id.namespaceIndex = nsIndex; - id.identifierType = UA_NODEIDTYPE_STRING; - id.identifier.string = UA_STRING_ALLOC(chars); - return id; -}) - -UA_INLINABLE(UA_NodeId - UA_NODEID_GUID(UA_UInt16 nsIndex, UA_Guid guid), { - UA_NodeId id; - memset(&id, 0, sizeof(UA_NodeId)); - id.namespaceIndex = nsIndex; - id.identifierType = UA_NODEIDTYPE_GUID; - id.identifier.guid = guid; - return id; -}) - -UA_INLINABLE(UA_NodeId - UA_NODEID_BYTESTRING(UA_UInt16 nsIndex, char *chars), { - UA_NodeId id; - memset(&id, 0, sizeof(UA_NodeId)); - id.namespaceIndex = nsIndex; - id.identifierType = UA_NODEIDTYPE_BYTESTRING; - id.identifier.byteString = UA_BYTESTRING(chars); - return id; -}) - -UA_INLINABLE(UA_NodeId - UA_NODEID_BYTESTRING_ALLOC(UA_UInt16 nsIndex, - const char *chars), { - UA_NodeId id; - memset(&id, 0, sizeof(UA_NodeId)); - id.namespaceIndex = nsIndex; - id.identifierType = UA_NODEIDTYPE_BYTESTRING; - id.identifier.byteString = UA_BYTESTRING_ALLOC(chars); - return id; -}) - -/* Total ordering of NodeId */ -UA_Order UA_EXPORT -UA_NodeId_order(const UA_NodeId *n1, const UA_NodeId *n2); - -/* Returns a non-cryptographic hash for NodeId */ -UA_UInt32 UA_EXPORT UA_NodeId_hash(const UA_NodeId *n); - -/** - * .. _expandednodeid: - * - * ExpandedNodeId - * ^^^^^^^^^^^^^^ - * A NodeId that allows the namespace URI to be specified instead of an index. */ -typedef struct { - UA_NodeId nodeId; - UA_String namespaceUri; - UA_UInt32 serverIndex; -} UA_ExpandedNodeId; - -UA_EXPORT extern const UA_ExpandedNodeId UA_EXPANDEDNODEID_NULL; - -/* Print the ExpandedNodeId in the humand-readable format defined in Part 6, - * 5.3.1.11: - * - * svr=;ns=;= - * or - * svr=;nsu=;= - * - * The definitions for svr, ns and nsu is omitted if zero / the empty string. - * - * The method can either use a pre-allocated string buffer or allocates memory - * internally if called with an empty output string. */ -UA_StatusCode UA_EXPORT -UA_ExpandedNodeId_print(const UA_ExpandedNodeId *id, UA_String *output); - -/* Parse the human-readable NodeId format. Attention! String and - * ByteString NodeIds have their identifier malloc'ed and need to be - * cleaned up. */ -#ifdef UA_ENABLE_PARSING -UA_StatusCode UA_EXPORT -UA_ExpandedNodeId_parse(UA_ExpandedNodeId *id, const UA_String str); - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID(const char *chars), { - UA_ExpandedNodeId id; - UA_ExpandedNodeId_parse(&id, UA_STRING((char*)(uintptr_t)chars)); - return id; -}) -#endif - -/** The following functions are shorthand for creating ExpandedNodeIds. */ -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_NUMERIC(UA_UInt16 nsIndex, UA_UInt32 identifier), { - UA_ExpandedNodeId id; id.nodeId = UA_NODEID_NUMERIC(nsIndex, identifier); - id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; -}) - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_STRING(UA_UInt16 nsIndex, char *chars), { - UA_ExpandedNodeId id; id.nodeId = UA_NODEID_STRING(nsIndex, chars); - id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; -}) - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_STRING_ALLOC(UA_UInt16 nsIndex, const char *chars), { - UA_ExpandedNodeId id; id.nodeId = UA_NODEID_STRING_ALLOC(nsIndex, chars); - id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; -}) - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_STRING_GUID(UA_UInt16 nsIndex, UA_Guid guid), { - UA_ExpandedNodeId id; id.nodeId = UA_NODEID_GUID(nsIndex, guid); - id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; -}) - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_BYTESTRING(UA_UInt16 nsIndex, char *chars), { - UA_ExpandedNodeId id; id.nodeId = UA_NODEID_BYTESTRING(nsIndex, chars); - id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; -}) - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_BYTESTRING_ALLOC(UA_UInt16 nsIndex, const char *chars), { - UA_ExpandedNodeId id; id.nodeId = UA_NODEID_BYTESTRING_ALLOC(nsIndex, chars); - id.serverIndex = 0; id.namespaceUri = UA_STRING_NULL; return id; -}) - -UA_INLINABLE(UA_ExpandedNodeId - UA_EXPANDEDNODEID_NODEID(UA_NodeId nodeId), { - UA_ExpandedNodeId id; memset(&id, 0, sizeof(UA_ExpandedNodeId)); - id.nodeId = nodeId; return id; -}) - -/* Does the ExpandedNodeId point to a local node? That is, are namespaceUri and - * serverIndex empty? */ -UA_Boolean UA_EXPORT -UA_ExpandedNodeId_isLocal(const UA_ExpandedNodeId *n); - -/* Total ordering of ExpandedNodeId */ -UA_Order UA_EXPORT -UA_ExpandedNodeId_order(const UA_ExpandedNodeId *n1, - const UA_ExpandedNodeId *n2); - -/* Returns a non-cryptographic hash for ExpandedNodeId. The hash of an - * ExpandedNodeId is identical to the hash of the embedded (simple) NodeId if - * the ServerIndex is zero and no NamespaceUri is set. */ -UA_UInt32 UA_EXPORT -UA_ExpandedNodeId_hash(const UA_ExpandedNodeId *n); - -/** - * .. _qualifiedname: - * - * QualifiedName - * ^^^^^^^^^^^^^ - * A name qualified by a namespace. */ -typedef struct { - UA_UInt16 namespaceIndex; - UA_String name; -} UA_QualifiedName; - -UA_INLINABLE(UA_Boolean - UA_QualifiedName_isNull(const UA_QualifiedName *q), { - return (q->namespaceIndex == 0 && q->name.length == 0); -}) - -/* Returns a non-cryptographic hash for QualifiedName */ -UA_UInt32 UA_EXPORT -UA_QualifiedName_hash(const UA_QualifiedName *q); - -UA_INLINABLE(UA_QualifiedName - UA_QUALIFIEDNAME(UA_UInt16 nsIndex, char *chars), { - UA_QualifiedName qn; - qn.namespaceIndex = nsIndex; - qn.name = UA_STRING(chars); - return qn; -}) - -UA_INLINABLE(UA_QualifiedName - UA_QUALIFIEDNAME_ALLOC(UA_UInt16 nsIndex, const char *chars), { - UA_QualifiedName qn; - qn.namespaceIndex = nsIndex; - qn.name = UA_STRING_ALLOC(chars); - return qn; -}) - -/** - * LocalizedText - * ^^^^^^^^^^^^^ - * Human readable text with an optional locale identifier. */ -typedef struct { - UA_String locale; - UA_String text; -} UA_LocalizedText; - -UA_INLINABLE(UA_LocalizedText - UA_LOCALIZEDTEXT(char *locale, char *text), { - UA_LocalizedText lt; - lt.locale = UA_STRING(locale); - lt.text = UA_STRING(text); - return lt; -}) - -UA_INLINABLE(UA_LocalizedText - UA_LOCALIZEDTEXT_ALLOC(const char *locale, const char *text), { - UA_LocalizedText lt; - lt.locale = UA_STRING_ALLOC(locale); - lt.text = UA_STRING_ALLOC(text); - return lt; -}) - -/** - * .. _numericrange: - * - * NumericRange - * ^^^^^^^^^^^^ - * - * NumericRanges are used to indicate subsets of a (multidimensional) array. - * They no official data type in the OPC UA standard and are transmitted only - * with a string encoding, such as "1:2,0:3,5". The colon separates min/max - * index and the comma separates dimensions. A single value indicates a range - * with a single element (min==max). */ -typedef struct { - UA_UInt32 min; - UA_UInt32 max; -} UA_NumericRangeDimension; - -typedef struct { - size_t dimensionsSize; - UA_NumericRangeDimension *dimensions; -} UA_NumericRange; - -UA_StatusCode UA_EXPORT -UA_NumericRange_parse(UA_NumericRange *range, const UA_String str); - -UA_INLINABLE(UA_NumericRange - UA_NUMERICRANGE(const char *s), { - UA_NumericRange nr; - memset(&nr, 0, sizeof(nr)); - UA_NumericRange_parse(&nr, UA_STRING((char*)(uintptr_t)s)); - return nr; -}) - -/** - * .. _variant: - * - * Variant - * ^^^^^^^ - * - * Variants may contain values of any type together with a description of the - * content. See the section on :ref:`generic-types` on how types are described. - * The standard mandates that variants contain built-in data types only. If the - * value is not of a builtin type, it is wrapped into an :ref:`extensionobject`. - * open62541 hides this wrapping transparently in the encoding layer. If the - * data type is unknown to the receiver, the variant contains the original - * ExtensionObject in binary or XML encoding. - * - * Variants may contain a scalar value or an array. For details on the handling - * of arrays, see the section on :ref:`array-handling`. Array variants can have - * an additional dimensionality (matrix, 3-tensor, ...) defined in an array of - * dimension lengths. The actual values are kept in an array of dimensions one. - * For users who work with higher-dimensions arrays directly, keep in mind that - * dimensions of higher rank are serialized first (the highest rank dimension - * has stride 1 and elements follow each other directly). Usually it is simplest - * to interact with higher-dimensional arrays via ``UA_NumericRange`` - * descriptions (see :ref:`array-handling`). - * - * To differentiate between scalar / array variants, the following definition is - * used. ``UA_Variant_isScalar`` provides simplified access to these checks. - * - * - ``arrayLength == 0 && data == NULL``: undefined array of length -1 - * - ``arrayLength == 0 && data == UA_EMPTY_ARRAY_SENTINEL``: array of length 0 - * - ``arrayLength == 0 && data > UA_EMPTY_ARRAY_SENTINEL``: scalar value - * - ``arrayLength > 0``: array of the given length - * - * Variants can also be *empty*. Then, the pointer to the type description is - * ``NULL``. */ -/* Forward declaration. See the section on Generic Type Handling */ -struct UA_DataType; -typedef struct UA_DataType UA_DataType; - -#define UA_EMPTY_ARRAY_SENTINEL ((void*)0x01) - -typedef enum { - UA_VARIANT_DATA, /* The data has the same lifecycle as the variant */ - UA_VARIANT_DATA_NODELETE /* The data is "borrowed" by the variant and is - * not deleted when the variant is cleared up. - * The array dimensions also borrowed. */ -} UA_VariantStorageType; - -typedef struct { - const UA_DataType *type; /* The data type description */ - UA_VariantStorageType storageType; - size_t arrayLength; /* The number of elements in the data array */ - void *data; /* Points to the scalar or array data */ - size_t arrayDimensionsSize; /* The number of dimensions */ - UA_UInt32 *arrayDimensions; /* The length of each dimension */ -} UA_Variant; - -/* Returns true if the variant has no value defined (contains neither an array - * nor a scalar value). - * - * @param v The variant - * @return Is the variant empty */ -UA_INLINABLE(UA_Boolean - UA_Variant_isEmpty(const UA_Variant *v), { - return v->type == NULL; -}) - -/* Returns true if the variant contains a scalar value. Note that empty variants - * contain an array of length -1 (undefined). - * - * @param v The variant - * @return Does the variant contain a scalar value */ -UA_INLINABLE(UA_Boolean - UA_Variant_isScalar(const UA_Variant *v), { - return (v->arrayLength == 0 && v->data > UA_EMPTY_ARRAY_SENTINEL); -}) - -/* Returns true if the variant contains a scalar value of the given type. - * - * @param v The variant - * @param type The data type - * @return Does the variant contain a scalar value of the given type */ -UA_INLINABLE(UA_Boolean - UA_Variant_hasScalarType(const UA_Variant *v, - const UA_DataType *type), { - return UA_Variant_isScalar(v) && type == v->type; -}) - -/* Returns true if the variant contains an array of the given type. - * - * @param v The variant - * @param type The data type - * @return Does the variant contain an array of the given type */ -UA_INLINABLE(UA_Boolean - UA_Variant_hasArrayType(const UA_Variant *v, - const UA_DataType *type), { - return (!UA_Variant_isScalar(v)) && type == v->type; -}) - -/* Set the variant to a scalar value that already resides in memory. The value - * takes on the lifecycle of the variant and is deleted with it. - * - * @param v The variant - * @param p A pointer to the value data - * @param type The datatype of the value in question */ -void UA_EXPORT -UA_Variant_setScalar(UA_Variant *v, void * UA_RESTRICT p, - const UA_DataType *type); - -/* Set the variant to a scalar value that is copied from an existing variable. - * @param v The variant - * @param p A pointer to the value data - * @param type The datatype of the value - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT -UA_Variant_setScalarCopy(UA_Variant *v, const void * UA_RESTRICT p, - const UA_DataType *type); - -/* Set the variant to an array that already resides in memory. The array takes - * on the lifecycle of the variant and is deleted with it. - * - * @param v The variant - * @param array A pointer to the array data - * @param arraySize The size of the array - * @param type The datatype of the array */ -void UA_EXPORT -UA_Variant_setArray(UA_Variant *v, void * UA_RESTRICT array, - size_t arraySize, const UA_DataType *type); - -/* Set the variant to an array that is copied from an existing array. - * - * @param v The variant - * @param array A pointer to the array data - * @param arraySize The size of the array - * @param type The datatype of the array - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT -UA_Variant_setArrayCopy(UA_Variant *v, const void * UA_RESTRICT array, - size_t arraySize, const UA_DataType *type); - -/* Copy the variant, but use only a subset of the (multidimensional) array into - * a variant. Returns an error code if the variant is not an array or if the - * indicated range does not fit. - * - * @param src The source variant - * @param dst The target variant - * @param range The range of the copied data - * @return Returns UA_STATUSCODE_GOOD or an error code */ -UA_StatusCode UA_EXPORT -UA_Variant_copyRange(const UA_Variant *src, UA_Variant * UA_RESTRICT dst, - const UA_NumericRange range); - -/* Insert a range of data into an existing variant. The data array cannot be - * reused afterwards if it contains types without a fixed size (e.g. strings) - * since the members are moved into the variant and take on its lifecycle. - * - * @param v The variant - * @param dataArray The data array. The type must match the variant - * @param dataArraySize The length of the data array. This is checked to match - * the range size. - * @param range The range of where the new data is inserted - * @return Returns UA_STATUSCODE_GOOD or an error code */ -UA_StatusCode UA_EXPORT -UA_Variant_setRange(UA_Variant *v, void * UA_RESTRICT array, - size_t arraySize, const UA_NumericRange range); - -/* Deep-copy a range of data into an existing variant. - * - * @param v The variant - * @param dataArray The data array. The type must match the variant - * @param dataArraySize The length of the data array. This is checked to match - * the range size. - * @param range The range of where the new data is inserted - * @return Returns UA_STATUSCODE_GOOD or an error code */ -UA_StatusCode UA_EXPORT -UA_Variant_setRangeCopy(UA_Variant *v, const void * UA_RESTRICT array, - size_t arraySize, const UA_NumericRange range); - -/** - * .. _extensionobject: - * - * ExtensionObject - * ^^^^^^^^^^^^^^^ - * - * ExtensionObjects may contain scalars of any data type. Even those that are - * unknown to the receiver. See the section on :ref:`generic-types` on how types - * are described. If the received data type is unknown, the encoded string and - * target NodeId is stored instead of the decoded value. */ -typedef enum { - UA_EXTENSIONOBJECT_ENCODED_NOBODY = 0, - UA_EXTENSIONOBJECT_ENCODED_BYTESTRING = 1, - UA_EXTENSIONOBJECT_ENCODED_XML = 2, - UA_EXTENSIONOBJECT_DECODED = 3, - UA_EXTENSIONOBJECT_DECODED_NODELETE = 4 /* Don't delete the content - together with the - ExtensionObject */ -} UA_ExtensionObjectEncoding; - -typedef struct { - UA_ExtensionObjectEncoding encoding; - union { - struct { - UA_NodeId typeId; /* The nodeid of the datatype */ - UA_ByteString body; /* The bytestring of the encoded data */ - } encoded; - struct { - const UA_DataType *type; - void *data; - } decoded; - } content; -} UA_ExtensionObject; - -/* Initialize the ExtensionObject and set the "decoded" value to the given - * pointer. The value will be deleted when the ExtensionObject is cleared. */ -void UA_EXPORT -UA_ExtensionObject_setValue(UA_ExtensionObject *eo, - void * UA_RESTRICT p, - const UA_DataType *type); - -/* Initialize the ExtensionObject and set the "decoded" value to the given - * pointer. The value will *not* be deleted when the ExtensionObject is - * cleared. */ -void UA_EXPORT -UA_ExtensionObject_setValueNoDelete(UA_ExtensionObject *eo, - void * UA_RESTRICT p, - const UA_DataType *type); - -/* Initialize the ExtensionObject and set the "decoded" value to a fresh copy of - * the given value pointer. The value will be deleted when the ExtensionObject - * is cleared. */ -UA_StatusCode UA_EXPORT -UA_ExtensionObject_setValueCopy(UA_ExtensionObject *eo, - void * UA_RESTRICT p, - const UA_DataType *type); - -/** - * .. _datavalue: - * - * DataValue - * ^^^^^^^^^ - * A data value with an associated status code and timestamps. */ -typedef struct { - UA_Variant value; - UA_DateTime sourceTimestamp; - UA_DateTime serverTimestamp; - UA_UInt16 sourcePicoseconds; - UA_UInt16 serverPicoseconds; - UA_StatusCode status; - UA_Boolean hasValue : 1; - UA_Boolean hasStatus : 1; - UA_Boolean hasSourceTimestamp : 1; - UA_Boolean hasServerTimestamp : 1; - UA_Boolean hasSourcePicoseconds : 1; - UA_Boolean hasServerPicoseconds : 1; -} UA_DataValue; - -/* Copy the DataValue, but use only a subset of the (multidimensional) array of - * of the variant of the source DataValue. Returns an error code if the variant - * of the DataValue is not an array or if the indicated range does not fit. - * - * @param src The source DataValue - * @param dst The target DataValue - * @param range The range of the variant of the DataValue to copy - * @return Returns UA_STATUSCODE_GOOD or an error code */ -UA_StatusCode UA_EXPORT -UA_DataValue_copyVariantRange(const UA_DataValue *src, UA_DataValue * UA_RESTRICT dst, - const UA_NumericRange range); - -/** - * DiagnosticInfo - * ^^^^^^^^^^^^^^ - * A structure that contains detailed error and diagnostic information - * associated with a StatusCode. */ -typedef struct UA_DiagnosticInfo { - UA_Boolean hasSymbolicId : 1; - UA_Boolean hasNamespaceUri : 1; - UA_Boolean hasLocalizedText : 1; - UA_Boolean hasLocale : 1; - UA_Boolean hasAdditionalInfo : 1; - UA_Boolean hasInnerStatusCode : 1; - UA_Boolean hasInnerDiagnosticInfo : 1; - UA_Int32 symbolicId; - UA_Int32 namespaceUri; - UA_Int32 localizedText; - UA_Int32 locale; - UA_String additionalInfo; - UA_StatusCode innerStatusCode; - struct UA_DiagnosticInfo *innerDiagnosticInfo; -} UA_DiagnosticInfo; - -/** - * .. _generic-types: - * - * Generic Type Handling - * --------------------- - * - * All information about a (builtin/structured) data type is stored in a - * ``UA_DataType``. The array ``UA_TYPES`` contains the description of all - * standard-defined types. This type description is used for the following - * generic operations that work on all types: - * - * - ``void T_init(T *ptr)``: Initialize the data type. This is synonymous with - * zeroing out the memory, i.e. ``memset(ptr, 0, sizeof(T))``. - * - ``T* T_new()``: Allocate and return the memory for the data type. The - * value is already initialized. - * - ``UA_StatusCode T_copy(const T *src, T *dst)``: Copy the content of the - * data type. Returns ``UA_STATUSCODE_GOOD`` or - * ``UA_STATUSCODE_BADOUTOFMEMORY``. - * - ``void T_clear(T *ptr)``: Delete the dynamically allocated content - * of the data type and perform a ``T_init`` to reset the type. - * - ``void T_delete(T *ptr)``: Delete the content of the data type and the - * memory for the data type itself. - * - ``void T_equal(T *p1, T *p2)``: Compare whether ``p1`` and ``p2`` have - * identical content. You can use ``UA_order`` if an absolute ordering - * is required. - * - * Specializations, such as ``UA_Int32_new()`` are derived from the generic - * type operations as static inline functions. */ - -typedef struct { -#ifdef UA_ENABLE_TYPEDESCRIPTION - const char *memberName; /* Human-readable member name */ -#endif - const UA_DataType *memberType;/* The member data type description */ - UA_Byte padding : 6; /* How much padding is there before this - member element? For arrays this is the - padding before the size_t length member. - (No padding between size_t and the - following ptr.) For unions, the padding - includes the size of the switchfield (the - offset from the start of the union - type). */ - UA_Byte isArray : 1; /* The member is an array */ - UA_Byte isOptional : 1; /* The member is an optional field */ -} UA_DataTypeMember; - -/* The DataType "kind" is an internal type classification. It is used to - * dispatch handling to the correct routines. */ -#define UA_DATATYPEKINDS 31 -typedef enum { - UA_DATATYPEKIND_BOOLEAN = 0, - UA_DATATYPEKIND_SBYTE = 1, - UA_DATATYPEKIND_BYTE = 2, - UA_DATATYPEKIND_INT16 = 3, - UA_DATATYPEKIND_UINT16 = 4, - UA_DATATYPEKIND_INT32 = 5, - UA_DATATYPEKIND_UINT32 = 6, - UA_DATATYPEKIND_INT64 = 7, - UA_DATATYPEKIND_UINT64 = 8, - UA_DATATYPEKIND_FLOAT = 9, - UA_DATATYPEKIND_DOUBLE = 10, - UA_DATATYPEKIND_STRING = 11, - UA_DATATYPEKIND_DATETIME = 12, - UA_DATATYPEKIND_GUID = 13, - UA_DATATYPEKIND_BYTESTRING = 14, - UA_DATATYPEKIND_XMLELEMENT = 15, - UA_DATATYPEKIND_NODEID = 16, - UA_DATATYPEKIND_EXPANDEDNODEID = 17, - UA_DATATYPEKIND_STATUSCODE = 18, - UA_DATATYPEKIND_QUALIFIEDNAME = 19, - UA_DATATYPEKIND_LOCALIZEDTEXT = 20, - UA_DATATYPEKIND_EXTENSIONOBJECT = 21, - UA_DATATYPEKIND_DATAVALUE = 22, - UA_DATATYPEKIND_VARIANT = 23, - UA_DATATYPEKIND_DIAGNOSTICINFO = 24, - UA_DATATYPEKIND_DECIMAL = 25, - UA_DATATYPEKIND_ENUM = 26, - UA_DATATYPEKIND_STRUCTURE = 27, - UA_DATATYPEKIND_OPTSTRUCT = 28, /* struct with optional fields */ - UA_DATATYPEKIND_UNION = 29, - UA_DATATYPEKIND_BITFIELDCLUSTER = 30 /* bitfields + padding */ -} UA_DataTypeKind; - -struct UA_DataType { -#ifdef UA_ENABLE_TYPEDESCRIPTION - const char *typeName; -#endif - UA_NodeId typeId; /* The nodeid of the type */ - UA_NodeId binaryEncodingId; /* NodeId of datatype when encoded as binary */ - //UA_NodeId xmlEncodingId; /* NodeId of datatype when encoded as XML */ - UA_UInt32 memSize : 16; /* Size of the struct in memory */ - UA_UInt32 typeKind : 6; /* Dispatch index for the handling routines */ - UA_UInt32 pointerFree : 1; /* The type (and its members) contains no - * pointers that need to be freed */ - UA_UInt32 overlayable : 1; /* The type has the identical memory layout - * in memory and on the binary stream. */ - UA_UInt32 membersSize : 8; /* How many members does the type have? */ - UA_DataTypeMember *members; -}; - -/* Datatype arrays with custom type definitions can be added in a linked list to - * the client or server configuration. */ -typedef struct UA_DataTypeArray { - const struct UA_DataTypeArray *next; - const size_t typesSize; - const UA_DataType *types; - UA_Boolean cleanup; /* Free the array structure and its content - when the client or server configuration - containing it is cleaned up */ -} UA_DataTypeArray; - -/* Returns the offset and type of a structure member. The return value is false - * if the member was not found. - * - * If the member is an array, the offset points to the (size_t) length field. - * (The array pointer comes after the length field without any padding.) */ -#ifdef UA_ENABLE_TYPEDESCRIPTION -UA_Boolean UA_EXPORT -UA_DataType_getStructMember(const UA_DataType *type, - const char *memberName, - size_t *outOffset, - const UA_DataType **outMemberType, - UA_Boolean *outIsArray); -#endif - -/* Test if the data type is a numeric builtin data type (via the typeKind field - * of UA_DataType). This includes integers and floating point numbers. Not - * included are Boolean, DateTime, StatusCode and Enums. */ -UA_Boolean UA_EXPORT -UA_DataType_isNumeric(const UA_DataType *type); - -/** - * Builtin data types can be accessed as UA_TYPES[UA_TYPES_XXX], where XXX is - * the name of the data type. If only the NodeId of a type is known, use the - * following method to retrieve the data type description. */ - -/* Returns the data type description for the type's identifier or NULL if no - * matching data type was found. */ -const UA_DataType UA_EXPORT * -UA_findDataType(const UA_NodeId *typeId); - -/* - * Add custom data types to the search scope of UA_findDataType. */ - -const UA_DataType UA_EXPORT * -UA_findDataTypeWithCustom(const UA_NodeId *typeId, - const UA_DataTypeArray *customTypes); - -/** The following functions are used for generic handling of data types. */ - -/* Allocates and initializes a variable of type dataType - * - * @param type The datatype description - * @return Returns the memory location of the variable or NULL if no - * memory could be allocated */ -void UA_EXPORT * UA_new(const UA_DataType *type) UA_FUNC_ATTR_MALLOC; - -/* Initializes a variable to default values - * - * @param p The memory location of the variable - * @param type The datatype description */ -UA_INLINABLE(void - UA_init(void *p, const UA_DataType *type), { - memset(p, 0, type->memSize); -}) - -/* Copies the content of two variables. If copying fails (e.g. because no memory - * was available for an array), then dst is emptied and initialized to prevent - * memory leaks. - * - * @param src The memory location of the source variable - * @param dst The memory location of the destination variable - * @param type The datatype description - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT -UA_copy(const void *src, void *dst, const UA_DataType *type); - -/* Deletes the dynamically allocated content of a variable (e.g. resets all - * arrays to undefined arrays). Afterwards, the variable can be safely deleted - * without causing memory leaks. But the variable is not initialized and may - * contain old data that is not memory-relevant. - * - * @param p The memory location of the variable - * @param type The datatype description of the variable */ -void UA_EXPORT UA_clear(void *p, const UA_DataType *type); - -#define UA_deleteMembers(p, type) UA_clear(p, type) - -/* Frees a variable and all of its content. - * - * @param p The memory location of the variable - * @param type The datatype description of the variable */ -void UA_EXPORT UA_delete(void *p, const UA_DataType *type); - -/* Pretty-print the value from the datatype. The output is pretty-printed JSON5. - * Note that this format is non-standard and should not be sent over the - * network. It can however be read by our own JSON decoding. - * - * @param p The memory location of the variable - * @param type The datatype description of the variable - * @param output A string that is used for the pretty-printed output. If the - * memory for string is already allocated, we try to use the existing - * string (the length is adjusted). If the string is empty, memory - * is allocated for it. - * @return Indicates whether the operation succeeded */ -#ifdef UA_ENABLE_JSON_ENCODING -UA_StatusCode UA_EXPORT -UA_print(const void *p, const UA_DataType *type, UA_String *output); -#endif - -/* Compare two values and return their order. - * - * For numerical types (including StatusCodes and Enums), their natural order is - * used. NaN is the "smallest" value for floating point values. Different bit - * representations of NaN are considered identical. - * - * All other types have *some* absolute ordering so that a < b, b < c -> a < c. - * - * The ordering of arrays (also strings) is in "shortlex": A shorter array is - * always smaller than a longer array. Otherwise the first different element - * defines the order. - * - * When members of different types are permitted (in Variants and - * ExtensionObjects), the memory address in the "UA_DataType*" pointer - * determines which variable is smaller. - * - * @param p1 The memory location of the first value - * @param p2 The memory location of the first value - * @param type The datatype description of both values */ -UA_Order UA_EXPORT -UA_order(const void *p1, const void *p2, const UA_DataType *type); - -/* Compare if two values have identical content. */ -UA_INLINABLE(UA_Boolean - UA_equal(const void *p1, const void *p2, const UA_DataType *type), { - return (UA_order(p1, p2, type) == UA_ORDER_EQ); -}) - -/** - * Binary Encoding/Decoding - * ------------------------ - * - * Encoding and decoding routines for the binary format. For the binary decoding - * additional data types can be forwarded. */ - -/* Returns the number of bytes the value p takes in binary encoding. Returns - * zero if an error occurs. */ -UA_EXPORT size_t -UA_calcSizeBinary(const void *p, const UA_DataType *type); - -/* Encodes a data-structure in the binary format. If outBuf has a length of - * zero, a buffer of the required size is allocated. Otherwise, encoding into - * the existing outBuf is attempted (and may fail if the buffer is too - * small). */ -UA_EXPORT UA_StatusCode -UA_encodeBinary(const void *p, const UA_DataType *type, - UA_ByteString *outBuf); - -/* The structure with the decoding options may be extended in the future. - * Zero-out the entire structure initially to ensure code-compatibility when - * more fields are added in a later release. */ -typedef struct { - const UA_DataTypeArray *customTypes; /* Begin of a linked list with custom - * datatype definitions */ -} UA_DecodeBinaryOptions; - -/* Decodes a data structure from the input buffer in the binary format. It is - * assumed that `p` points to valid memory (not necessarily zeroed out). The - * options can be NULL and will be disregarded in that case. */ -UA_EXPORT UA_StatusCode -UA_decodeBinary(const UA_ByteString *inBuf, - void *p, const UA_DataType *type, - const UA_DecodeBinaryOptions *options); - -/** - * JSON En/Decoding - * ---------------- - * - * The JSON decoding can parse the official encoding from the OPC UA - * specification. It further allows the following extensions: - * - * - The strict JSON format is relaxed to also allow the JSON5 extensions - * (https://json5.org/). This allows for more human-readable encoding and adds - * convenience features such as trailing commas in arrays and comments within - * JSON documents. - * - Int64/UInt64 don't necessarily have to be wrapped into a string. - * - If `UA_ENABLE_PARSING` is set, NodeIds and ExpandedNodeIds can be given in - * the string encoding (e.g. "ns=1;i=42", see `UA_NodeId_parse`). The standard - * encoding is to express NodeIds as JSON objects. - * - * These extensions are not intended to be used for the OPC UA protocol on the - * network. They were rather added to allow more convenient configuration file - * formats that also include data in the OPC UA type system. - */ - -#ifdef UA_ENABLE_JSON_ENCODING - -typedef struct { - const UA_String *namespaces; - size_t namespacesSize; - const UA_String *serverUris; - size_t serverUrisSize; - UA_Boolean useReversible; - - UA_Boolean prettyPrint; /* Add newlines and spaces for legibility */ - - /* Enabling the following options leads to non-standard compatible JSON5 - * encoding! Use it for pretty-printing, but not for sending messages over - * the network. (Our own decoding can still parse it.) */ - - UA_Boolean unquotedKeys; /* Don't print quotes around object element keys */ - UA_Boolean stringNodeIds; /* String encoding for NodeIds, like "ns=1;i=42" */ -} UA_EncodeJsonOptions; - -/* Returns the number of bytes the value src takes in json encoding. Returns - * zero if an error occurs. */ -UA_EXPORT size_t -UA_calcSizeJson(const void *src, const UA_DataType *type, - const UA_EncodeJsonOptions *options); - -/* Encodes the scalar value described by type to json encoding. - * - * @param src The value. Must not be NULL. - * @param type The value type. Must not be NULL. - * @param outBuf Pointer to ByteString containing the result if the encoding - * was successful - * @return Returns a statuscode whether encoding succeeded. */ -UA_StatusCode UA_EXPORT -UA_encodeJson(const void *src, const UA_DataType *type, UA_ByteString *outBuf, - const UA_EncodeJsonOptions *options); - -/* The structure with the decoding options may be extended in the future. - * Zero-out the entire structure initially to ensure code-compatibility when - * more fields are added in a later release. */ -typedef struct { - const UA_String *namespaces; - size_t namespacesSize; - const UA_String *serverUris; - size_t serverUrisSize; - const UA_DataTypeArray *customTypes; /* Begin of a linked list with custom - * datatype definitions */ -} UA_DecodeJsonOptions; - -/* Decodes a scalar value described by type from json encoding. - * - * @param src The buffer with the json encoded value. Must not be NULL. - * @param dst The target value. Must not be NULL. The target is assumed to have - * size type->memSize. The value is reset to zero before decoding. If - * decoding fails, members are deleted and the value is reset (zeroed) - * again. - * @param type The value type. Must not be NULL. - * @param options The options struct for decoding, currently unused - * @return Returns a statuscode whether decoding succeeded. */ -UA_StatusCode UA_EXPORT -UA_decodeJson(const UA_ByteString *src, void *dst, const UA_DataType *type, - const UA_DecodeJsonOptions *options); - -#endif /* UA_ENABLE_JSON_ENCODING */ - -/** - * XML En/Decoding - * ---------------- - * - * The XML decoding can parse the official encoding from the OPC UA - * specification. - * - * These extensions are not intended to be used for the OPC UA protocol on the - * network. They were rather added to allow more convenient configuration file - * formats that also include data in the OPC UA type system. - */ - -#ifdef UA_ENABLE_XML_ENCODING - -typedef struct { - UA_Boolean prettyPrint; /* Add newlines and spaces for legibility */ -} UA_EncodeXmlOptions; - -/* Returns the number of bytes the value src takes in xml encoding. Returns - * zero if an error occurs. */ -UA_EXPORT size_t -UA_calcSizeXml(const void *src, const UA_DataType *type, - const UA_EncodeXmlOptions *options); - -/* Encodes the scalar value described by type to xml encoding. - * - * @param src The value. Must not be NULL. - * @param type The value type. Must not be NULL. - * @param outBuf Pointer to ByteString containing the result if the encoding - * was successful - * @return Returns a statuscode whether encoding succeeded. */ -UA_StatusCode UA_EXPORT -UA_encodeXml(const void *src, const UA_DataType *type, UA_ByteString *outBuf, - const UA_EncodeXmlOptions *options); - -/* The structure with the decoding options may be extended in the future. - * Zero-out the entire structure initially to ensure code-compatibility when - * more fields are added in a later release. */ -typedef struct { - const UA_DataTypeArray *customTypes; /* Begin of a linked list with custom - * datatype definitions */ -} UA_DecodeXmlOptions; - -/* Decodes a scalar value described by type from xml encoding. - * - * @param src The buffer with the xml encoded value. Must not be NULL. - * @param dst The target value. Must not be NULL. The target is assumed to have - * size type->memSize. The value is reset to zero before decoding. If - * decoding fails, members are deleted and the value is reset (zeroed) - * again. - * @param type The value type. Must not be NULL. - * @param options The options struct for decoding, currently unused - * @return Returns a statuscode whether decoding succeeded. */ -UA_StatusCode UA_EXPORT -UA_decodeXml(const UA_ByteString *src, void *dst, const UA_DataType *type, - const UA_DecodeXmlOptions *options); - -#endif /* UA_ENABLE_XML_ENCODING */ - -/** - * .. _array-handling: - * - * Array handling - * -------------- - * In OPC UA, arrays can have a length of zero or more with the usual meaning. - * In addition, arrays can be undefined. Then, they don't even have a length. In - * the binary encoding, this is indicated by an array of length -1. - * - * In open62541 however, we use ``size_t`` for array lengths. An undefined array - * has length 0 and the data pointer is ``NULL``. An array of length 0 also has - * length 0 but a data pointer ``UA_EMPTY_ARRAY_SENTINEL``. */ - -/* Allocates and initializes an array of variables of a specific type - * - * @param size The requested array length - * @param type The datatype description - * @return Returns the memory location of the variable or NULL if no memory - * could be allocated */ -void UA_EXPORT * -UA_Array_new(size_t size, const UA_DataType *type) UA_FUNC_ATTR_MALLOC; - -/* Allocates and copies an array - * - * @param src The memory location of the source array - * @param size The size of the array - * @param dst The location of the pointer to the new array - * @param type The datatype of the array members - * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY */ -UA_StatusCode UA_EXPORT -UA_Array_copy(const void *src, size_t size, void **dst, - const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -/* Resizes (and reallocates) an array. The last entries are initialized to zero - * if the array length is increased. If the array length is decreased, the last - * entries are removed if the size is decreased. - * - * @param p Double pointer to the array memory. Can be overwritten by the result - * of a realloc. - * @param size The current size of the array. Overwritten in case of success. - * @param newSize The new size of the array - * @param type The datatype of the array members - * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY. The - * original array is left untouched in the failure case. */ -UA_StatusCode UA_EXPORT -UA_Array_resize(void **p, size_t *size, size_t newSize, - const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -/* Append the given element at the end of the array. The content is moved - * (shallow copy) and the original memory is _init'ed if appending is - * successful. - * - * @param p Double pointer to the array memory. Can be overwritten by the result - * of a realloc. - * @param size The current size of the array. Overwritten in case of success. - * @param newElem The element to be appended. The memory is reset upon success. - * @param type The datatype of the array members - * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY. The - * original array is left untouched in the failure case. */ -UA_StatusCode UA_EXPORT -UA_Array_append(void **p, size_t *size, void *newElem, - const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -/* Append a copy of the given element at the end of the array. - * - * @param p Double pointer to the array memory. Can be overwritten by the result - * of a realloc. - * @param size The current size of the array. Overwritten in case of success. - * @param newElem The element to be appended. - * @param type The datatype of the array members - * @return Returns UA_STATUSCODE_GOOD or UA_STATUSCODE_BADOUTOFMEMORY. The - * original array is left untouched in the failure case. */ - -UA_StatusCode UA_EXPORT -UA_Array_appendCopy(void **p, size_t *size, const void *newElem, - const UA_DataType *type) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -/* Deletes an array. - * - * @param p The memory location of the array - * @param size The size of the array - * @param type The datatype of the array members */ -void UA_EXPORT -UA_Array_delete(void *p, size_t size, const UA_DataType *type); - -/** - * .. _generated-types: - * - * Generated Data Type Definitions - * ------------------------------- - * - * The following standard-defined datatypes are auto-generated from XML files - * that are part of the OPC UA standard. All datatypes are built up from the 25 - * builtin-in datatypes from the :ref:`types` section. - * - * .. include:: types_generated.rst */ - -/* stop-doc-generation */ - -/* Helper used to exclude type names in the definition of UA_DataType structures - * if the feature is disabled. */ -#ifdef UA_ENABLE_TYPEDESCRIPTION -# define UA_TYPENAME(name) name, -#else -# define UA_TYPENAME(name) -#endif - - -_UA_END_DECLS - - -/**** amalgamated original file "/build/src_generated/open62541/types_generated.h" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - -/* Must be before the include guards */ -#ifdef UA_ENABLE_AMALGAMATION -#else -#endif - - - -_UA_BEGIN_DECLS - -/** - * Every type is assigned an index in an array containing the type descriptions. - * These descriptions are used during type handling (copying, deletion, - * binary encoding, ...). */ -#define UA_TYPES_COUNT 394 -extern UA_EXPORT UA_DataType UA_TYPES[UA_TYPES_COUNT]; - -/* Boolean */ -#define UA_TYPES_BOOLEAN 0 - -/* SByte */ -#define UA_TYPES_SBYTE 1 - -/* Byte */ -#define UA_TYPES_BYTE 2 - -/* Int16 */ -#define UA_TYPES_INT16 3 - -/* UInt16 */ -#define UA_TYPES_UINT16 4 - -/* Int32 */ -#define UA_TYPES_INT32 5 - -/* UInt32 */ -#define UA_TYPES_UINT32 6 - -/* Int64 */ -#define UA_TYPES_INT64 7 - -/* UInt64 */ -#define UA_TYPES_UINT64 8 - -/* Float */ -#define UA_TYPES_FLOAT 9 - -/* Double */ -#define UA_TYPES_DOUBLE 10 - -/* String */ -#define UA_TYPES_STRING 11 - -/* DateTime */ -#define UA_TYPES_DATETIME 12 - -/* Guid */ -#define UA_TYPES_GUID 13 - -/* ByteString */ -#define UA_TYPES_BYTESTRING 14 - -/* XmlElement */ -#define UA_TYPES_XMLELEMENT 15 - -/* NodeId */ -#define UA_TYPES_NODEID 16 - -/* ExpandedNodeId */ -#define UA_TYPES_EXPANDEDNODEID 17 - -/* StatusCode */ -#define UA_TYPES_STATUSCODE 18 - -/* QualifiedName */ -#define UA_TYPES_QUALIFIEDNAME 19 - -/* LocalizedText */ -#define UA_TYPES_LOCALIZEDTEXT 20 - -/* ExtensionObject */ -#define UA_TYPES_EXTENSIONOBJECT 21 - -/* DataValue */ -#define UA_TYPES_DATAVALUE 22 - -/* Variant */ -#define UA_TYPES_VARIANT 23 - -/* DiagnosticInfo */ -#define UA_TYPES_DIAGNOSTICINFO 24 - -/* NamingRuleType */ -typedef enum { - UA_NAMINGRULETYPE_MANDATORY = 1, - UA_NAMINGRULETYPE_OPTIONAL = 2, - UA_NAMINGRULETYPE_CONSTRAINT = 3, - __UA_NAMINGRULETYPE_FORCE32BIT = 0x7fffffff -} UA_NamingRuleType; - -UA_STATIC_ASSERT(sizeof(UA_NamingRuleType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_NAMINGRULETYPE 25 - -/* Enumeration */ -typedef enum { - __UA_ENUMERATION_FORCE32BIT = 0x7fffffff -} UA_Enumeration; - -UA_STATIC_ASSERT(sizeof(UA_Enumeration) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_ENUMERATION 26 - -/* ImageBMP */ -typedef UA_ByteString UA_ImageBMP; - -#define UA_TYPES_IMAGEBMP 27 - -/* ImageGIF */ -typedef UA_ByteString UA_ImageGIF; - -#define UA_TYPES_IMAGEGIF 28 - -/* ImageJPG */ -typedef UA_ByteString UA_ImageJPG; - -#define UA_TYPES_IMAGEJPG 29 - -/* ImagePNG */ -typedef UA_ByteString UA_ImagePNG; - -#define UA_TYPES_IMAGEPNG 30 - -/* AudioDataType */ -typedef UA_ByteString UA_AudioDataType; - -#define UA_TYPES_AUDIODATATYPE 31 - -/* UriString */ -typedef UA_String UA_UriString; - -#define UA_TYPES_URISTRING 32 - -/* BitFieldMaskDataType */ -typedef UA_UInt64 UA_BitFieldMaskDataType; - -#define UA_TYPES_BITFIELDMASKDATATYPE 33 - -/* SemanticVersionString */ -typedef UA_String UA_SemanticVersionString; - -#define UA_TYPES_SEMANTICVERSIONSTRING 34 - -/* KeyValuePair */ -typedef struct { - UA_QualifiedName key; - UA_Variant value; -} UA_KeyValuePair; - -#define UA_TYPES_KEYVALUEPAIR 35 - -/* AdditionalParametersType */ -typedef struct { - size_t parametersSize; - UA_KeyValuePair *parameters; -} UA_AdditionalParametersType; - -#define UA_TYPES_ADDITIONALPARAMETERSTYPE 36 - -/* EphemeralKeyType */ -typedef struct { - UA_ByteString publicKey; - UA_ByteString signature; -} UA_EphemeralKeyType; - -#define UA_TYPES_EPHEMERALKEYTYPE 37 - -/* Handle */ -typedef UA_ByteString UA_Handle; - -#define UA_TYPES_HANDLE 38 - -/* TrimmedString */ -typedef UA_ByteString UA_TrimmedString; - -#define UA_TYPES_TRIMMEDSTRING 39 - -/* RationalNumber */ -typedef struct { - UA_Int32 numerator; - UA_UInt32 denominator; -} UA_RationalNumber; - -#define UA_TYPES_RATIONALNUMBER 40 - -/* ThreeDVector */ -typedef struct { - UA_Double x; - UA_Double y; - UA_Double z; -} UA_ThreeDVector; - -#define UA_TYPES_THREEDVECTOR 41 - -/* ThreeDCartesianCoordinates */ -typedef struct { - UA_Double x; - UA_Double y; - UA_Double z; -} UA_ThreeDCartesianCoordinates; - -#define UA_TYPES_THREEDCARTESIANCOORDINATES 42 - -/* ThreeDOrientation */ -typedef struct { - UA_Double a; - UA_Double b; - UA_Double c; -} UA_ThreeDOrientation; - -#define UA_TYPES_THREEDORIENTATION 43 - -/* ThreeDFrame */ -typedef struct { - UA_ThreeDCartesianCoordinates cartesianCoordinates; - UA_ThreeDOrientation orientation; -} UA_ThreeDFrame; - -#define UA_TYPES_THREEDFRAME 44 - -/* OpenFileMode */ -typedef enum { - UA_OPENFILEMODE_READ = 1, - UA_OPENFILEMODE_WRITE = 2, - UA_OPENFILEMODE_ERASEEXISTING = 4, - UA_OPENFILEMODE_APPEND = 8, - __UA_OPENFILEMODE_FORCE32BIT = 0x7fffffff -} UA_OpenFileMode; - -UA_STATIC_ASSERT(sizeof(UA_OpenFileMode) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_OPENFILEMODE 45 - -/* IdentityCriteriaType */ -typedef enum { - UA_IDENTITYCRITERIATYPE_USERNAME = 1, - UA_IDENTITYCRITERIATYPE_THUMBPRINT = 2, - UA_IDENTITYCRITERIATYPE_ROLE = 3, - UA_IDENTITYCRITERIATYPE_GROUPID = 4, - UA_IDENTITYCRITERIATYPE_ANONYMOUS = 5, - UA_IDENTITYCRITERIATYPE_AUTHENTICATEDUSER = 6, - UA_IDENTITYCRITERIATYPE_APPLICATION = 7, - UA_IDENTITYCRITERIATYPE_X509SUBJECT = 8, - __UA_IDENTITYCRITERIATYPE_FORCE32BIT = 0x7fffffff -} UA_IdentityCriteriaType; - -UA_STATIC_ASSERT(sizeof(UA_IdentityCriteriaType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_IDENTITYCRITERIATYPE 46 - -/* IdentityMappingRuleType */ -typedef struct { - UA_IdentityCriteriaType criteriaType; - UA_String criteria; -} UA_IdentityMappingRuleType; - -#define UA_TYPES_IDENTITYMAPPINGRULETYPE 47 - -/* CurrencyUnitType */ -typedef struct { - UA_Int16 numericCode; - UA_SByte exponent; - UA_String alphabeticCode; - UA_LocalizedText currency; -} UA_CurrencyUnitType; - -#define UA_TYPES_CURRENCYUNITTYPE 48 - -/* AlarmMask */ -typedef UA_UInt16 UA_AlarmMask; - -#define UA_ALARMMASK_NONE 0 -#define UA_ALARMMASK_ACTIVE 1 -#define UA_ALARMMASK_UNACKNOWLEDGED 2 -#define UA_ALARMMASK_UNCONFIRMED 4 - -#define UA_TYPES_ALARMMASK 49 - -/* TrustListValidationOptions */ -typedef UA_UInt32 UA_TrustListValidationOptions; - -#define UA_TRUSTLISTVALIDATIONOPTIONS_NONE 0 -#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSCERTIFICATEEXPIRED 1 -#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSHOSTNAMEINVALID 2 -#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSREVOCATIONSTATUSUNKNOWN 4 -#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSISSUERCERTIFICATEEXPIRED 8 -#define UA_TRUSTLISTVALIDATIONOPTIONS_SUPPRESSISSUERREVOCATIONSTATUSUNKNOWN 16 -#define UA_TRUSTLISTVALIDATIONOPTIONS_CHECKREVOCATIONSTATUSONLINE 32 -#define UA_TRUSTLISTVALIDATIONOPTIONS_CHECKREVOCATIONSTATUSOFFLINE 64 - -#define UA_TYPES_TRUSTLISTVALIDATIONOPTIONS 50 - -/* TrustListMasks */ -typedef enum { - UA_TRUSTLISTMASKS_NONE = 0, - UA_TRUSTLISTMASKS_TRUSTEDCERTIFICATES = 1, - UA_TRUSTLISTMASKS_TRUSTEDCRLS = 2, - UA_TRUSTLISTMASKS_ISSUERCERTIFICATES = 4, - UA_TRUSTLISTMASKS_ISSUERCRLS = 8, - UA_TRUSTLISTMASKS_ALL = 15, - __UA_TRUSTLISTMASKS_FORCE32BIT = 0x7fffffff -} UA_TrustListMasks; - -UA_STATIC_ASSERT(sizeof(UA_TrustListMasks) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_TRUSTLISTMASKS 51 - -/* TrustListDataType */ -typedef struct { - UA_UInt32 specifiedLists; - size_t trustedCertificatesSize; - UA_ByteString *trustedCertificates; - size_t trustedCrlsSize; - UA_ByteString *trustedCrls; - size_t issuerCertificatesSize; - UA_ByteString *issuerCertificates; - size_t issuerCrlsSize; - UA_ByteString *issuerCrls; -} UA_TrustListDataType; - -#define UA_TYPES_TRUSTLISTDATATYPE 52 - -/* TransactionErrorType */ -typedef struct { - UA_NodeId targetId; - UA_StatusCode error; - UA_LocalizedText message; -} UA_TransactionErrorType; - -#define UA_TYPES_TRANSACTIONERRORTYPE 53 - -/* DataTypeDescription */ -typedef struct { - UA_NodeId dataTypeId; - UA_QualifiedName name; -} UA_DataTypeDescription; - -#define UA_TYPES_DATATYPEDESCRIPTION 54 - -/* SimpleTypeDescription */ -typedef struct { - UA_NodeId dataTypeId; - UA_QualifiedName name; - UA_NodeId baseDataType; - UA_Byte builtInType; -} UA_SimpleTypeDescription; - -#define UA_TYPES_SIMPLETYPEDESCRIPTION 55 - -/* PortableQualifiedName */ -typedef struct { - UA_String namespaceUri; - UA_String name; -} UA_PortableQualifiedName; - -#define UA_TYPES_PORTABLEQUALIFIEDNAME 56 - -/* PortableNodeId */ -typedef struct { - UA_String namespaceUri; - UA_NodeId identifier; -} UA_PortableNodeId; - -#define UA_TYPES_PORTABLENODEID 57 - -/* UnsignedRationalNumber */ -typedef struct { - UA_UInt32 numerator; - UA_UInt32 denominator; -} UA_UnsignedRationalNumber; - -#define UA_TYPES_UNSIGNEDRATIONALNUMBER 58 - -/* PubSubState */ -typedef enum { - UA_PUBSUBSTATE_DISABLED = 0, - UA_PUBSUBSTATE_PAUSED = 1, - UA_PUBSUBSTATE_OPERATIONAL = 2, - UA_PUBSUBSTATE_ERROR = 3, - UA_PUBSUBSTATE_PREOPERATIONAL = 4, - __UA_PUBSUBSTATE_FORCE32BIT = 0x7fffffff -} UA_PubSubState; - -UA_STATIC_ASSERT(sizeof(UA_PubSubState) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_PUBSUBSTATE 59 - -/* DataSetFieldFlags */ -typedef UA_UInt16 UA_DataSetFieldFlags; - -#define UA_DATASETFIELDFLAGS_NONE 0 -#define UA_DATASETFIELDFLAGS_PROMOTEDFIELD 1 - -#define UA_TYPES_DATASETFIELDFLAGS 60 - -/* ConfigurationVersionDataType */ -typedef struct { - UA_UInt32 majorVersion; - UA_UInt32 minorVersion; -} UA_ConfigurationVersionDataType; - -#define UA_TYPES_CONFIGURATIONVERSIONDATATYPE 61 - -/* PublishedVariableDataType */ -typedef struct { - UA_NodeId publishedVariable; - UA_UInt32 attributeId; - UA_Double samplingIntervalHint; - UA_UInt32 deadbandType; - UA_Double deadbandValue; - UA_String indexRange; - UA_Variant substituteValue; - size_t metaDataPropertiesSize; - UA_QualifiedName *metaDataProperties; -} UA_PublishedVariableDataType; - -#define UA_TYPES_PUBLISHEDVARIABLEDATATYPE 62 - -/* PublishedDataItemsDataType */ -typedef struct { - size_t publishedDataSize; - UA_PublishedVariableDataType *publishedData; -} UA_PublishedDataItemsDataType; - -#define UA_TYPES_PUBLISHEDDATAITEMSDATATYPE 63 - -/* PublishedDataSetCustomSourceDataType */ -typedef struct { - UA_Boolean cyclicDataSet; -} UA_PublishedDataSetCustomSourceDataType; - -#define UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE 64 - -/* DataSetFieldContentMask */ -typedef UA_UInt32 UA_DataSetFieldContentMask; - -#define UA_DATASETFIELDCONTENTMASK_NONE 0 -#define UA_DATASETFIELDCONTENTMASK_STATUSCODE 1 -#define UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP 2 -#define UA_DATASETFIELDCONTENTMASK_SERVERTIMESTAMP 4 -#define UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS 8 -#define UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS 16 -#define UA_DATASETFIELDCONTENTMASK_RAWDATA 32 - -#define UA_TYPES_DATASETFIELDCONTENTMASK 65 - -/* DataSetWriterDataType */ -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_UInt16 dataSetWriterId; - UA_DataSetFieldContentMask dataSetFieldContentMask; - UA_UInt32 keyFrameCount; - UA_String dataSetName; - size_t dataSetWriterPropertiesSize; - UA_KeyValuePair *dataSetWriterProperties; - UA_ExtensionObject transportSettings; - UA_ExtensionObject messageSettings; -} UA_DataSetWriterDataType; - -#define UA_TYPES_DATASETWRITERDATATYPE 66 - -/* NetworkAddressDataType */ -typedef struct { - UA_String networkInterface; -} UA_NetworkAddressDataType; - -#define UA_TYPES_NETWORKADDRESSDATATYPE 67 - -/* NetworkAddressUrlDataType */ -typedef struct { - UA_String networkInterface; - UA_String url; -} UA_NetworkAddressUrlDataType; - -#define UA_TYPES_NETWORKADDRESSURLDATATYPE 68 - -/* OverrideValueHandling */ -typedef enum { - UA_OVERRIDEVALUEHANDLING_DISABLED = 0, - UA_OVERRIDEVALUEHANDLING_LASTUSABLEVALUE = 1, - UA_OVERRIDEVALUEHANDLING_OVERRIDEVALUE = 2, - __UA_OVERRIDEVALUEHANDLING_FORCE32BIT = 0x7fffffff -} UA_OverrideValueHandling; - -UA_STATIC_ASSERT(sizeof(UA_OverrideValueHandling) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_OVERRIDEVALUEHANDLING 69 - -/* StandaloneSubscribedDataSetRefDataType */ -typedef struct { - UA_String dataSetName; -} UA_StandaloneSubscribedDataSetRefDataType; - -#define UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE 70 - -/* DataSetOrderingType */ -typedef enum { - UA_DATASETORDERINGTYPE_UNDEFINED = 0, - UA_DATASETORDERINGTYPE_ASCENDINGWRITERID = 1, - UA_DATASETORDERINGTYPE_ASCENDINGWRITERIDSINGLE = 2, - __UA_DATASETORDERINGTYPE_FORCE32BIT = 0x7fffffff -} UA_DataSetOrderingType; - -UA_STATIC_ASSERT(sizeof(UA_DataSetOrderingType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_DATASETORDERINGTYPE 71 - -/* UadpNetworkMessageContentMask */ -typedef UA_UInt32 UA_UadpNetworkMessageContentMask; - -#define UA_UADPNETWORKMESSAGECONTENTMASK_NONE 0 -#define UA_UADPNETWORKMESSAGECONTENTMASK_PUBLISHERID 1 -#define UA_UADPNETWORKMESSAGECONTENTMASK_GROUPHEADER 2 -#define UA_UADPNETWORKMESSAGECONTENTMASK_WRITERGROUPID 4 -#define UA_UADPNETWORKMESSAGECONTENTMASK_GROUPVERSION 8 -#define UA_UADPNETWORKMESSAGECONTENTMASK_NETWORKMESSAGENUMBER 16 -#define UA_UADPNETWORKMESSAGECONTENTMASK_SEQUENCENUMBER 32 -#define UA_UADPNETWORKMESSAGECONTENTMASK_PAYLOADHEADER 64 -#define UA_UADPNETWORKMESSAGECONTENTMASK_TIMESTAMP 128 -#define UA_UADPNETWORKMESSAGECONTENTMASK_PICOSECONDS 256 -#define UA_UADPNETWORKMESSAGECONTENTMASK_DATASETCLASSID 512 -#define UA_UADPNETWORKMESSAGECONTENTMASK_PROMOTEDFIELDS 1024 - -#define UA_TYPES_UADPNETWORKMESSAGECONTENTMASK 72 - -/* UadpWriterGroupMessageDataType */ -typedef struct { - UA_UInt32 groupVersion; - UA_DataSetOrderingType dataSetOrdering; - UA_UadpNetworkMessageContentMask networkMessageContentMask; - UA_Double samplingOffset; - size_t publishingOffsetSize; - UA_Double *publishingOffset; -} UA_UadpWriterGroupMessageDataType; - -#define UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE 73 - -/* UadpDataSetMessageContentMask */ -typedef UA_UInt32 UA_UadpDataSetMessageContentMask; - -#define UA_UADPDATASETMESSAGECONTENTMASK_NONE 0 -#define UA_UADPDATASETMESSAGECONTENTMASK_TIMESTAMP 1 -#define UA_UADPDATASETMESSAGECONTENTMASK_PICOSECONDS 2 -#define UA_UADPDATASETMESSAGECONTENTMASK_STATUS 4 -#define UA_UADPDATASETMESSAGECONTENTMASK_MAJORVERSION 8 -#define UA_UADPDATASETMESSAGECONTENTMASK_MINORVERSION 16 -#define UA_UADPDATASETMESSAGECONTENTMASK_SEQUENCENUMBER 32 - -#define UA_TYPES_UADPDATASETMESSAGECONTENTMASK 74 - -/* UadpDataSetWriterMessageDataType */ -typedef struct { - UA_UadpDataSetMessageContentMask dataSetMessageContentMask; - UA_UInt16 configuredSize; - UA_UInt16 networkMessageNumber; - UA_UInt16 dataSetOffset; -} UA_UadpDataSetWriterMessageDataType; - -#define UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE 75 - -/* UadpDataSetReaderMessageDataType */ -typedef struct { - UA_UInt32 groupVersion; - UA_UInt16 networkMessageNumber; - UA_UInt16 dataSetOffset; - UA_Guid dataSetClassId; - UA_UadpNetworkMessageContentMask networkMessageContentMask; - UA_UadpDataSetMessageContentMask dataSetMessageContentMask; - UA_Double publishingInterval; - UA_Double receiveOffset; - UA_Double processingOffset; -} UA_UadpDataSetReaderMessageDataType; - -#define UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE 76 - -/* JsonNetworkMessageContentMask */ -typedef UA_UInt32 UA_JsonNetworkMessageContentMask; - -#define UA_JSONNETWORKMESSAGECONTENTMASK_NONE 0 -#define UA_JSONNETWORKMESSAGECONTENTMASK_NETWORKMESSAGEHEADER 1 -#define UA_JSONNETWORKMESSAGECONTENTMASK_DATASETMESSAGEHEADER 2 -#define UA_JSONNETWORKMESSAGECONTENTMASK_SINGLEDATASETMESSAGE 4 -#define UA_JSONNETWORKMESSAGECONTENTMASK_PUBLISHERID 8 -#define UA_JSONNETWORKMESSAGECONTENTMASK_DATASETCLASSID 16 -#define UA_JSONNETWORKMESSAGECONTENTMASK_REPLYTO 32 - -#define UA_TYPES_JSONNETWORKMESSAGECONTENTMASK 77 - -/* JsonWriterGroupMessageDataType */ -typedef struct { - UA_JsonNetworkMessageContentMask networkMessageContentMask; -} UA_JsonWriterGroupMessageDataType; - -#define UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE 78 - -/* JsonDataSetMessageContentMask */ -typedef UA_UInt32 UA_JsonDataSetMessageContentMask; - -#define UA_JSONDATASETMESSAGECONTENTMASK_NONE 0 -#define UA_JSONDATASETMESSAGECONTENTMASK_DATASETWRITERID 1 -#define UA_JSONDATASETMESSAGECONTENTMASK_METADATAVERSION 2 -#define UA_JSONDATASETMESSAGECONTENTMASK_SEQUENCENUMBER 4 -#define UA_JSONDATASETMESSAGECONTENTMASK_TIMESTAMP 8 -#define UA_JSONDATASETMESSAGECONTENTMASK_STATUS 16 -#define UA_JSONDATASETMESSAGECONTENTMASK_MESSAGETYPE 32 -#define UA_JSONDATASETMESSAGECONTENTMASK_DATASETWRITERNAME 64 -#define UA_JSONDATASETMESSAGECONTENTMASK_REVERSIBLEFIELDENCODING 128 - -#define UA_TYPES_JSONDATASETMESSAGECONTENTMASK 79 - -/* JsonDataSetWriterMessageDataType */ -typedef struct { - UA_JsonDataSetMessageContentMask dataSetMessageContentMask; -} UA_JsonDataSetWriterMessageDataType; - -#define UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE 80 - -/* JsonDataSetReaderMessageDataType */ -typedef struct { - UA_JsonNetworkMessageContentMask networkMessageContentMask; - UA_JsonDataSetMessageContentMask dataSetMessageContentMask; -} UA_JsonDataSetReaderMessageDataType; - -#define UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE 81 - -/* TransmitQosPriorityDataType */ -typedef struct { - UA_String priorityLabel; -} UA_TransmitQosPriorityDataType; - -#define UA_TYPES_TRANSMITQOSPRIORITYDATATYPE 82 - -/* ReceiveQosPriorityDataType */ -typedef struct { - UA_String priorityLabel; -} UA_ReceiveQosPriorityDataType; - -#define UA_TYPES_RECEIVEQOSPRIORITYDATATYPE 83 - -/* DatagramConnectionTransportDataType */ -typedef struct { - UA_ExtensionObject discoveryAddress; -} UA_DatagramConnectionTransportDataType; - -#define UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE 84 - -/* DatagramConnectionTransport2DataType */ -typedef struct { - UA_ExtensionObject discoveryAddress; - UA_UInt32 discoveryAnnounceRate; - UA_UInt32 discoveryMaxMessageSize; - UA_String qosCategory; - size_t datagramQosSize; - UA_ExtensionObject *datagramQos; -} UA_DatagramConnectionTransport2DataType; - -#define UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE 85 - -/* DatagramWriterGroupTransportDataType */ -typedef struct { - UA_Byte messageRepeatCount; - UA_Double messageRepeatDelay; -} UA_DatagramWriterGroupTransportDataType; - -#define UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE 86 - -/* DatagramWriterGroupTransport2DataType */ -typedef struct { - UA_Byte messageRepeatCount; - UA_Double messageRepeatDelay; - UA_ExtensionObject address; - UA_String qosCategory; - size_t datagramQosSize; - UA_ExtensionObject *datagramQos; - UA_UInt32 discoveryAnnounceRate; - UA_String topic; -} UA_DatagramWriterGroupTransport2DataType; - -#define UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE 87 - -/* DatagramDataSetReaderTransportDataType */ -typedef struct { - UA_ExtensionObject address; - UA_String qosCategory; - size_t datagramQosSize; - UA_ExtensionObject *datagramQos; - UA_String topic; -} UA_DatagramDataSetReaderTransportDataType; - -#define UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE 88 - -/* BrokerConnectionTransportDataType */ -typedef struct { - UA_String resourceUri; - UA_String authenticationProfileUri; -} UA_BrokerConnectionTransportDataType; - -#define UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE 89 - -/* BrokerTransportQualityOfService */ -typedef enum { - UA_BROKERTRANSPORTQUALITYOFSERVICE_NOTSPECIFIED = 0, - UA_BROKERTRANSPORTQUALITYOFSERVICE_BESTEFFORT = 1, - UA_BROKERTRANSPORTQUALITYOFSERVICE_ATLEASTONCE = 2, - UA_BROKERTRANSPORTQUALITYOFSERVICE_ATMOSTONCE = 3, - UA_BROKERTRANSPORTQUALITYOFSERVICE_EXACTLYONCE = 4, - __UA_BROKERTRANSPORTQUALITYOFSERVICE_FORCE32BIT = 0x7fffffff -} UA_BrokerTransportQualityOfService; - -UA_STATIC_ASSERT(sizeof(UA_BrokerTransportQualityOfService) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE 90 - -/* BrokerWriterGroupTransportDataType */ -typedef struct { - UA_String queueName; - UA_String resourceUri; - UA_String authenticationProfileUri; - UA_BrokerTransportQualityOfService requestedDeliveryGuarantee; -} UA_BrokerWriterGroupTransportDataType; - -#define UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE 91 - -/* BrokerDataSetWriterTransportDataType */ -typedef struct { - UA_String queueName; - UA_String resourceUri; - UA_String authenticationProfileUri; - UA_BrokerTransportQualityOfService requestedDeliveryGuarantee; - UA_String metaDataQueueName; - UA_Double metaDataUpdateTime; -} UA_BrokerDataSetWriterTransportDataType; - -#define UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE 92 - -/* BrokerDataSetReaderTransportDataType */ -typedef struct { - UA_String queueName; - UA_String resourceUri; - UA_String authenticationProfileUri; - UA_BrokerTransportQualityOfService requestedDeliveryGuarantee; - UA_String metaDataQueueName; -} UA_BrokerDataSetReaderTransportDataType; - -#define UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE 93 - -/* PubSubConfigurationRefMask */ -typedef UA_UInt32 UA_PubSubConfigurationRefMask; - -#define UA_PUBSUBCONFIGURATIONREFMASK_NONE 0 -#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTADD 1 -#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTMATCH 2 -#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTMODIFY 4 -#define UA_PUBSUBCONFIGURATIONREFMASK_ELEMENTREMOVE 8 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEWRITER 16 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEREADER 32 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEWRITERGROUP 64 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEREADERGROUP 128 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCECONNECTION 256 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEPUBDATASET 512 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCESUBDATASET 1024 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCESECURITYGROUP 2048 -#define UA_PUBSUBCONFIGURATIONREFMASK_REFERENCEPUSHTARGET 4096 - -#define UA_TYPES_PUBSUBCONFIGURATIONREFMASK 94 - -/* PubSubConfigurationRefDataType */ -typedef struct { - UA_PubSubConfigurationRefMask configurationMask; - UA_UInt16 elementIndex; - UA_UInt16 connectionIndex; - UA_UInt16 groupIndex; -} UA_PubSubConfigurationRefDataType; - -#define UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE 95 - -/* PubSubConfigurationValueDataType */ -typedef struct { - UA_PubSubConfigurationRefDataType configurationElement; - UA_String name; - UA_Variant identifier; -} UA_PubSubConfigurationValueDataType; - -#define UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE 96 - -/* DiagnosticsLevel */ -typedef enum { - UA_DIAGNOSTICSLEVEL_BASIC = 0, - UA_DIAGNOSTICSLEVEL_ADVANCED = 1, - UA_DIAGNOSTICSLEVEL_INFO = 2, - UA_DIAGNOSTICSLEVEL_LOG = 3, - UA_DIAGNOSTICSLEVEL_DEBUG = 4, - __UA_DIAGNOSTICSLEVEL_FORCE32BIT = 0x7fffffff -} UA_DiagnosticsLevel; - -UA_STATIC_ASSERT(sizeof(UA_DiagnosticsLevel) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_DIAGNOSTICSLEVEL 97 - -/* PubSubDiagnosticsCounterClassification */ -typedef enum { - UA_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_INFORMATION = 0, - UA_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_ERROR = 1, - __UA_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION_FORCE32BIT = 0x7fffffff -} UA_PubSubDiagnosticsCounterClassification; - -UA_STATIC_ASSERT(sizeof(UA_PubSubDiagnosticsCounterClassification) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION 98 - -/* AliasNameDataType */ -typedef struct { - UA_QualifiedName aliasName; - size_t referencedNodesSize; - UA_ExpandedNodeId *referencedNodes; -} UA_AliasNameDataType; - -#define UA_TYPES_ALIASNAMEDATATYPE 99 - -/* PasswordOptionsMask */ -typedef UA_UInt32 UA_PasswordOptionsMask; - -#define UA_PASSWORDOPTIONSMASK_NONE 0 -#define UA_PASSWORDOPTIONSMASK_SUPPORTINITIALPASSWORDCHANGE 1 -#define UA_PASSWORDOPTIONSMASK_SUPPORTDISABLEUSER 2 -#define UA_PASSWORDOPTIONSMASK_SUPPORTDISABLEDELETEFORUSER 4 -#define UA_PASSWORDOPTIONSMASK_SUPPORTNOCHANGEFORUSER 8 -#define UA_PASSWORDOPTIONSMASK_SUPPORTDESCRIPTIONFORUSER 16 -#define UA_PASSWORDOPTIONSMASK_REQUIRESUPPERCASECHARACTERS 32 -#define UA_PASSWORDOPTIONSMASK_REQUIRESLOWERCASECHARACTERS 64 -#define UA_PASSWORDOPTIONSMASK_REQUIRESDIGITCHARACTERS 128 -#define UA_PASSWORDOPTIONSMASK_REQUIRESSPECIALCHARACTERS 256 - -#define UA_TYPES_PASSWORDOPTIONSMASK 100 - -/* UserConfigurationMask */ -typedef UA_UInt32 UA_UserConfigurationMask; - -#define UA_USERCONFIGURATIONMASK_NONE 0 -#define UA_USERCONFIGURATIONMASK_NODELETE 1 -#define UA_USERCONFIGURATIONMASK_DISABLED 2 -#define UA_USERCONFIGURATIONMASK_NOCHANGEBYUSER 4 -#define UA_USERCONFIGURATIONMASK_MUSTCHANGEPASSWORD 8 - -#define UA_TYPES_USERCONFIGURATIONMASK 101 - -/* UserManagementDataType */ -typedef struct { - UA_String userName; - UA_UserConfigurationMask userConfiguration; - UA_String description; -} UA_UserManagementDataType; - -#define UA_TYPES_USERMANAGEMENTDATATYPE 102 - -/* EncodedTicket */ -typedef UA_ByteString UA_EncodedTicket; - -#define UA_TYPES_ENCODEDTICKET 103 - -/* Duplex */ -typedef enum { - UA_DUPLEX_FULL = 0, - UA_DUPLEX_HALF = 1, - UA_DUPLEX_UNKNOWN = 2, - __UA_DUPLEX_FORCE32BIT = 0x7fffffff -} UA_Duplex; - -UA_STATIC_ASSERT(sizeof(UA_Duplex) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_DUPLEX 104 - -/* InterfaceAdminStatus */ -typedef enum { - UA_INTERFACEADMINSTATUS_UP = 0, - UA_INTERFACEADMINSTATUS_DOWN = 1, - UA_INTERFACEADMINSTATUS_TESTING = 2, - __UA_INTERFACEADMINSTATUS_FORCE32BIT = 0x7fffffff -} UA_InterfaceAdminStatus; - -UA_STATIC_ASSERT(sizeof(UA_InterfaceAdminStatus) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_INTERFACEADMINSTATUS 105 - -/* InterfaceOperStatus */ -typedef enum { - UA_INTERFACEOPERSTATUS_UP = 0, - UA_INTERFACEOPERSTATUS_DOWN = 1, - UA_INTERFACEOPERSTATUS_TESTING = 2, - UA_INTERFACEOPERSTATUS_UNKNOWN = 3, - UA_INTERFACEOPERSTATUS_DORMANT = 4, - UA_INTERFACEOPERSTATUS_NOTPRESENT = 5, - UA_INTERFACEOPERSTATUS_LOWERLAYERDOWN = 6, - __UA_INTERFACEOPERSTATUS_FORCE32BIT = 0x7fffffff -} UA_InterfaceOperStatus; - -UA_STATIC_ASSERT(sizeof(UA_InterfaceOperStatus) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_INTERFACEOPERSTATUS 106 - -/* NegotiationStatus */ -typedef enum { - UA_NEGOTIATIONSTATUS_INPROGRESS = 0, - UA_NEGOTIATIONSTATUS_COMPLETE = 1, - UA_NEGOTIATIONSTATUS_FAILED = 2, - UA_NEGOTIATIONSTATUS_UNKNOWN = 3, - UA_NEGOTIATIONSTATUS_NONEGOTIATION = 4, - __UA_NEGOTIATIONSTATUS_FORCE32BIT = 0x7fffffff -} UA_NegotiationStatus; - -UA_STATIC_ASSERT(sizeof(UA_NegotiationStatus) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_NEGOTIATIONSTATUS 107 - -/* TsnFailureCode */ -typedef enum { - UA_TSNFAILURECODE_NOFAILURE = 0, - UA_TSNFAILURECODE_INSUFFICIENTBANDWIDTH = 1, - UA_TSNFAILURECODE_INSUFFICIENTRESOURCES = 2, - UA_TSNFAILURECODE_INSUFFICIENTTRAFFICCLASSBANDWIDTH = 3, - UA_TSNFAILURECODE_STREAMIDINUSE = 4, - UA_TSNFAILURECODE_STREAMDESTINATIONADDRESSINUSE = 5, - UA_TSNFAILURECODE_STREAMPREEMPTEDBYHIGHERRANK = 6, - UA_TSNFAILURECODE_LATENCYHASCHANGED = 7, - UA_TSNFAILURECODE_EGRESSPORTNOTAVBCAPABLE = 8, - UA_TSNFAILURECODE_USEDIFFERENTDESTINATIONADDRESS = 9, - UA_TSNFAILURECODE_OUTOFMSRPRESOURCES = 10, - UA_TSNFAILURECODE_OUTOFMMRPRESOURCES = 11, - UA_TSNFAILURECODE_CANNOTSTOREDESTINATIONADDRESS = 12, - UA_TSNFAILURECODE_PRIORITYISNOTANSRCCLASS = 13, - UA_TSNFAILURECODE_MAXFRAMESIZETOOLARGE = 14, - UA_TSNFAILURECODE_MAXFANINPORTSLIMITREACHED = 15, - UA_TSNFAILURECODE_FIRSTVALUECHANGEDFORSTREAMID = 16, - UA_TSNFAILURECODE_VLANBLOCKEDONEGRESS = 17, - UA_TSNFAILURECODE_VLANTAGGINGDISABLEDONEGRESS = 18, - UA_TSNFAILURECODE_SRCLASSPRIORITYMISMATCH = 19, - UA_TSNFAILURECODE_FEATURENOTPROPAGATED = 20, - UA_TSNFAILURECODE_MAXLATENCYEXCEEDED = 21, - UA_TSNFAILURECODE_BRIDGEDOESNOTPROVIDENETWORKID = 22, - UA_TSNFAILURECODE_STREAMTRANSFORMNOTSUPPORTED = 23, - UA_TSNFAILURECODE_STREAMIDTYPENOTSUPPORTED = 24, - UA_TSNFAILURECODE_FEATURENOTSUPPORTED = 25, - __UA_TSNFAILURECODE_FORCE32BIT = 0x7fffffff -} UA_TsnFailureCode; - -UA_STATIC_ASSERT(sizeof(UA_TsnFailureCode) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_TSNFAILURECODE 108 - -/* TsnStreamState */ -typedef enum { - UA_TSNSTREAMSTATE_DISABLED = 0, - UA_TSNSTREAMSTATE_CONFIGURING = 1, - UA_TSNSTREAMSTATE_READY = 2, - UA_TSNSTREAMSTATE_OPERATIONAL = 3, - UA_TSNSTREAMSTATE_ERROR = 4, - __UA_TSNSTREAMSTATE_FORCE32BIT = 0x7fffffff -} UA_TsnStreamState; - -UA_STATIC_ASSERT(sizeof(UA_TsnStreamState) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_TSNSTREAMSTATE 109 - -/* TsnTalkerStatus */ -typedef enum { - UA_TSNTALKERSTATUS_NONE = 0, - UA_TSNTALKERSTATUS_READY = 1, - UA_TSNTALKERSTATUS_FAILED = 2, - __UA_TSNTALKERSTATUS_FORCE32BIT = 0x7fffffff -} UA_TsnTalkerStatus; - -UA_STATIC_ASSERT(sizeof(UA_TsnTalkerStatus) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_TSNTALKERSTATUS 110 - -/* TsnListenerStatus */ -typedef enum { - UA_TSNLISTENERSTATUS_NONE = 0, - UA_TSNLISTENERSTATUS_READY = 1, - UA_TSNLISTENERSTATUS_PARTIALFAILED = 2, - UA_TSNLISTENERSTATUS_FAILED = 3, - __UA_TSNLISTENERSTATUS_FORCE32BIT = 0x7fffffff -} UA_TsnListenerStatus; - -UA_STATIC_ASSERT(sizeof(UA_TsnListenerStatus) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_TSNLISTENERSTATUS 111 - -/* PriorityMappingEntryType */ -typedef struct { - UA_String mappingUri; - UA_String priorityLabel; - UA_Byte priorityValue_PCP; - UA_UInt32 priorityValue_DSCP; -} UA_PriorityMappingEntryType; - -#define UA_TYPES_PRIORITYMAPPINGENTRYTYPE 112 - -/* ReferenceDescriptionDataType */ -typedef struct { - UA_NodeId sourceNode; - UA_NodeId referenceType; - UA_Boolean isForward; - UA_ExpandedNodeId targetNode; -} UA_ReferenceDescriptionDataType; - -#define UA_TYPES_REFERENCEDESCRIPTIONDATATYPE 113 - -/* ReferenceListEntryDataType */ -typedef struct { - UA_NodeId referenceType; - UA_Boolean isForward; - UA_ExpandedNodeId targetNode; -} UA_ReferenceListEntryDataType; - -#define UA_TYPES_REFERENCELISTENTRYDATATYPE 114 - -/* IdType */ -typedef enum { - UA_IDTYPE_NUMERIC = 0, - UA_IDTYPE_STRING = 1, - UA_IDTYPE_GUID = 2, - UA_IDTYPE_OPAQUE = 3, - __UA_IDTYPE_FORCE32BIT = 0x7fffffff -} UA_IdType; - -UA_STATIC_ASSERT(sizeof(UA_IdType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_IDTYPE 115 - -/* NodeClass */ -typedef enum { - UA_NODECLASS_UNSPECIFIED = 0, - UA_NODECLASS_OBJECT = 1, - UA_NODECLASS_VARIABLE = 2, - UA_NODECLASS_METHOD = 4, - UA_NODECLASS_OBJECTTYPE = 8, - UA_NODECLASS_VARIABLETYPE = 16, - UA_NODECLASS_REFERENCETYPE = 32, - UA_NODECLASS_DATATYPE = 64, - UA_NODECLASS_VIEW = 128, - __UA_NODECLASS_FORCE32BIT = 0x7fffffff -} UA_NodeClass; - -UA_STATIC_ASSERT(sizeof(UA_NodeClass) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_NODECLASS 116 - -/* PermissionType */ -typedef UA_UInt32 UA_PermissionType; - -#define UA_PERMISSIONTYPE_NONE 0 -#define UA_PERMISSIONTYPE_BROWSE 1 -#define UA_PERMISSIONTYPE_READROLEPERMISSIONS 2 -#define UA_PERMISSIONTYPE_WRITEATTRIBUTE 4 -#define UA_PERMISSIONTYPE_WRITEROLEPERMISSIONS 8 -#define UA_PERMISSIONTYPE_WRITEHISTORIZING 16 -#define UA_PERMISSIONTYPE_READ 32 -#define UA_PERMISSIONTYPE_WRITE 64 -#define UA_PERMISSIONTYPE_READHISTORY 128 -#define UA_PERMISSIONTYPE_INSERTHISTORY 256 -#define UA_PERMISSIONTYPE_MODIFYHISTORY 512 -#define UA_PERMISSIONTYPE_DELETEHISTORY 1024 -#define UA_PERMISSIONTYPE_RECEIVEEVENTS 2048 -#define UA_PERMISSIONTYPE_CALL 4096 -#define UA_PERMISSIONTYPE_ADDREFERENCE 8192 -#define UA_PERMISSIONTYPE_REMOVEREFERENCE 16384 -#define UA_PERMISSIONTYPE_DELETENODE 32768 -#define UA_PERMISSIONTYPE_ADDNODE 65536 - -#define UA_TYPES_PERMISSIONTYPE 117 - -/* AccessLevelType */ -typedef UA_Byte UA_AccessLevelType; - -#define UA_ACCESSLEVELTYPE_NONE 0 -#define UA_ACCESSLEVELTYPE_CURRENTREAD 1 -#define UA_ACCESSLEVELTYPE_CURRENTWRITE 2 -#define UA_ACCESSLEVELTYPE_HISTORYREAD 4 -#define UA_ACCESSLEVELTYPE_HISTORYWRITE 8 -#define UA_ACCESSLEVELTYPE_SEMANTICCHANGE 16 -#define UA_ACCESSLEVELTYPE_STATUSWRITE 32 -#define UA_ACCESSLEVELTYPE_TIMESTAMPWRITE 64 - -#define UA_TYPES_ACCESSLEVELTYPE 118 - -/* AccessLevelExType */ -typedef UA_UInt32 UA_AccessLevelExType; - -#define UA_ACCESSLEVELEXTYPE_NONE 0 -#define UA_ACCESSLEVELEXTYPE_CURRENTREAD 1 -#define UA_ACCESSLEVELEXTYPE_CURRENTWRITE 2 -#define UA_ACCESSLEVELEXTYPE_HISTORYREAD 4 -#define UA_ACCESSLEVELEXTYPE_HISTORYWRITE 8 -#define UA_ACCESSLEVELEXTYPE_SEMANTICCHANGE 16 -#define UA_ACCESSLEVELEXTYPE_STATUSWRITE 32 -#define UA_ACCESSLEVELEXTYPE_TIMESTAMPWRITE 64 -#define UA_ACCESSLEVELEXTYPE_NONATOMICREAD 256 -#define UA_ACCESSLEVELEXTYPE_NONATOMICWRITE 512 -#define UA_ACCESSLEVELEXTYPE_WRITEFULLARRAYONLY 1024 -#define UA_ACCESSLEVELEXTYPE_NOSUBDATATYPES 2048 -#define UA_ACCESSLEVELEXTYPE_NONVOLATILE 4096 -#define UA_ACCESSLEVELEXTYPE_CONSTANT 8192 - -#define UA_TYPES_ACCESSLEVELEXTYPE 119 - -/* EventNotifierType */ -typedef UA_Byte UA_EventNotifierType; - -#define UA_EVENTNOTIFIERTYPE_NONE 0 -#define UA_EVENTNOTIFIERTYPE_SUBSCRIBETOEVENTS 1 -#define UA_EVENTNOTIFIERTYPE_HISTORYREAD 4 -#define UA_EVENTNOTIFIERTYPE_HISTORYWRITE 8 - -#define UA_TYPES_EVENTNOTIFIERTYPE 120 - -/* AccessRestrictionType */ -typedef UA_UInt16 UA_AccessRestrictionType; - -#define UA_ACCESSRESTRICTIONTYPE_NONE 0 -#define UA_ACCESSRESTRICTIONTYPE_SIGNINGREQUIRED 1 -#define UA_ACCESSRESTRICTIONTYPE_ENCRYPTIONREQUIRED 2 -#define UA_ACCESSRESTRICTIONTYPE_SESSIONREQUIRED 4 -#define UA_ACCESSRESTRICTIONTYPE_APPLYRESTRICTIONSTOBROWSE 8 - -#define UA_TYPES_ACCESSRESTRICTIONTYPE 121 - -/* RolePermissionType */ -typedef struct { - UA_NodeId roleId; - UA_PermissionType permissions; -} UA_RolePermissionType; - -#define UA_TYPES_ROLEPERMISSIONTYPE 122 - -/* StructureType */ -typedef enum { - UA_STRUCTURETYPE_STRUCTURE = 0, - UA_STRUCTURETYPE_STRUCTUREWITHOPTIONALFIELDS = 1, - UA_STRUCTURETYPE_UNION = 2, - UA_STRUCTURETYPE_STRUCTUREWITHSUBTYPEDVALUES = 3, - UA_STRUCTURETYPE_UNIONWITHSUBTYPEDVALUES = 4, - __UA_STRUCTURETYPE_FORCE32BIT = 0x7fffffff -} UA_StructureType; - -UA_STATIC_ASSERT(sizeof(UA_StructureType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_STRUCTURETYPE 123 - -/* StructureField */ -typedef struct { - UA_String name; - UA_LocalizedText description; - UA_NodeId dataType; - UA_Int32 valueRank; - size_t arrayDimensionsSize; - UA_UInt32 *arrayDimensions; - UA_UInt32 maxStringLength; - UA_Boolean isOptional; -} UA_StructureField; - -#define UA_TYPES_STRUCTUREFIELD 124 - -/* StructureDefinition */ -typedef struct { - UA_NodeId defaultEncodingId; - UA_NodeId baseDataType; - UA_StructureType structureType; - size_t fieldsSize; - UA_StructureField *fields; -} UA_StructureDefinition; - -#define UA_TYPES_STRUCTUREDEFINITION 125 - -/* Argument */ -typedef struct { - UA_String name; - UA_NodeId dataType; - UA_Int32 valueRank; - size_t arrayDimensionsSize; - UA_UInt32 *arrayDimensions; - UA_LocalizedText description; -} UA_Argument; - -#define UA_TYPES_ARGUMENT 126 - -/* EnumValueType */ -typedef struct { - UA_Int64 value; - UA_LocalizedText displayName; - UA_LocalizedText description; -} UA_EnumValueType; - -#define UA_TYPES_ENUMVALUETYPE 127 - -/* EnumField */ -typedef struct { - UA_Int64 value; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_String name; -} UA_EnumField; - -#define UA_TYPES_ENUMFIELD 128 - -/* OptionSet */ -typedef struct { - UA_ByteString value; - UA_ByteString validBits; -} UA_OptionSet; - -#define UA_TYPES_OPTIONSET 129 - -/* NormalizedString */ -typedef UA_String UA_NormalizedString; - -#define UA_TYPES_NORMALIZEDSTRING 130 - -/* DecimalString */ -typedef UA_String UA_DecimalString; - -#define UA_TYPES_DECIMALSTRING 131 - -/* DurationString */ -typedef UA_String UA_DurationString; - -#define UA_TYPES_DURATIONSTRING 132 - -/* TimeString */ -typedef UA_String UA_TimeString; - -#define UA_TYPES_TIMESTRING 133 - -/* DateString */ -typedef UA_String UA_DateString; - -#define UA_TYPES_DATESTRING 134 - -/* Duration */ -typedef UA_Double UA_Duration; - -#define UA_TYPES_DURATION 135 - -/* UtcTime */ -typedef UA_DateTime UA_UtcTime; - -#define UA_TYPES_UTCTIME 136 - -/* LocaleId */ -typedef UA_String UA_LocaleId; - -#define UA_TYPES_LOCALEID 137 - -/* TimeZoneDataType */ -typedef struct { - UA_Int16 offset; - UA_Boolean daylightSavingInOffset; -} UA_TimeZoneDataType; - -#define UA_TYPES_TIMEZONEDATATYPE 138 - -/* Index */ -typedef UA_ByteString UA_Index; - -#define UA_TYPES_INDEX 139 - -/* IntegerId */ -typedef UA_UInt32 UA_IntegerId; - -#define UA_TYPES_INTEGERID 140 - -/* ApplicationType */ -typedef enum { - UA_APPLICATIONTYPE_SERVER = 0, - UA_APPLICATIONTYPE_CLIENT = 1, - UA_APPLICATIONTYPE_CLIENTANDSERVER = 2, - UA_APPLICATIONTYPE_DISCOVERYSERVER = 3, - __UA_APPLICATIONTYPE_FORCE32BIT = 0x7fffffff -} UA_ApplicationType; - -UA_STATIC_ASSERT(sizeof(UA_ApplicationType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_APPLICATIONTYPE 141 - -/* ApplicationDescription */ -typedef struct { - UA_String applicationUri; - UA_String productUri; - UA_LocalizedText applicationName; - UA_ApplicationType applicationType; - UA_String gatewayServerUri; - UA_String discoveryProfileUri; - size_t discoveryUrlsSize; - UA_String *discoveryUrls; -} UA_ApplicationDescription; - -#define UA_TYPES_APPLICATIONDESCRIPTION 142 - -/* RequestHeader */ -typedef struct { - UA_NodeId authenticationToken; - UA_DateTime timestamp; - UA_UInt32 requestHandle; - UA_UInt32 returnDiagnostics; - UA_String auditEntryId; - UA_UInt32 timeoutHint; - UA_ExtensionObject additionalHeader; -} UA_RequestHeader; - -#define UA_TYPES_REQUESTHEADER 143 - -/* ResponseHeader */ -typedef struct { - UA_DateTime timestamp; - UA_UInt32 requestHandle; - UA_StatusCode serviceResult; - UA_DiagnosticInfo serviceDiagnostics; - size_t stringTableSize; - UA_String *stringTable; - UA_ExtensionObject additionalHeader; -} UA_ResponseHeader; - -#define UA_TYPES_RESPONSEHEADER 144 - -/* VersionTime */ -typedef UA_ByteString UA_VersionTime; - -#define UA_TYPES_VERSIONTIME 145 - -/* ServiceFault */ -typedef struct { - UA_ResponseHeader responseHeader; -} UA_ServiceFault; - -#define UA_TYPES_SERVICEFAULT 146 - -/* SessionlessInvokeRequestType */ -typedef struct { - UA_UInt32 urisVersion; - size_t namespaceUrisSize; - UA_String *namespaceUris; - size_t serverUrisSize; - UA_String *serverUris; - size_t localeIdsSize; - UA_String *localeIds; - UA_UInt32 serviceId; -} UA_SessionlessInvokeRequestType; - -#define UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE 147 - -/* SessionlessInvokeResponseType */ -typedef struct { - size_t namespaceUrisSize; - UA_String *namespaceUris; - size_t serverUrisSize; - UA_String *serverUris; - UA_UInt32 serviceId; -} UA_SessionlessInvokeResponseType; - -#define UA_TYPES_SESSIONLESSINVOKERESPONSETYPE 148 - -/* FindServersRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_String endpointUrl; - size_t localeIdsSize; - UA_String *localeIds; - size_t serverUrisSize; - UA_String *serverUris; -} UA_FindServersRequest; - -#define UA_TYPES_FINDSERVERSREQUEST 149 - -/* FindServersResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t serversSize; - UA_ApplicationDescription *servers; -} UA_FindServersResponse; - -#define UA_TYPES_FINDSERVERSRESPONSE 150 - -/* ServerOnNetwork */ -typedef struct { - UA_UInt32 recordId; - UA_String serverName; - UA_String discoveryUrl; - size_t serverCapabilitiesSize; - UA_String *serverCapabilities; -} UA_ServerOnNetwork; - -#define UA_TYPES_SERVERONNETWORK 151 - -/* FindServersOnNetworkRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 startingRecordId; - UA_UInt32 maxRecordsToReturn; - size_t serverCapabilityFilterSize; - UA_String *serverCapabilityFilter; -} UA_FindServersOnNetworkRequest; - -#define UA_TYPES_FINDSERVERSONNETWORKREQUEST 152 - -/* FindServersOnNetworkResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_DateTime lastCounterResetTime; - size_t serversSize; - UA_ServerOnNetwork *servers; -} UA_FindServersOnNetworkResponse; - -#define UA_TYPES_FINDSERVERSONNETWORKRESPONSE 153 - -/* ApplicationInstanceCertificate */ -typedef UA_ByteString UA_ApplicationInstanceCertificate; - -#define UA_TYPES_APPLICATIONINSTANCECERTIFICATE 154 - -/* MessageSecurityMode */ -typedef enum { - UA_MESSAGESECURITYMODE_INVALID = 0, - UA_MESSAGESECURITYMODE_NONE = 1, - UA_MESSAGESECURITYMODE_SIGN = 2, - UA_MESSAGESECURITYMODE_SIGNANDENCRYPT = 3, - __UA_MESSAGESECURITYMODE_FORCE32BIT = 0x7fffffff -} UA_MessageSecurityMode; - -UA_STATIC_ASSERT(sizeof(UA_MessageSecurityMode) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_MESSAGESECURITYMODE 155 - -/* UserTokenType */ -typedef enum { - UA_USERTOKENTYPE_ANONYMOUS = 0, - UA_USERTOKENTYPE_USERNAME = 1, - UA_USERTOKENTYPE_CERTIFICATE = 2, - UA_USERTOKENTYPE_ISSUEDTOKEN = 3, - __UA_USERTOKENTYPE_FORCE32BIT = 0x7fffffff -} UA_UserTokenType; - -UA_STATIC_ASSERT(sizeof(UA_UserTokenType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_USERTOKENTYPE 156 - -/* UserTokenPolicy */ -typedef struct { - UA_String policyId; - UA_UserTokenType tokenType; - UA_String issuedTokenType; - UA_String issuerEndpointUrl; - UA_String securityPolicyUri; -} UA_UserTokenPolicy; - -#define UA_TYPES_USERTOKENPOLICY 157 - -/* EndpointDescription */ -typedef struct { - UA_String endpointUrl; - UA_ApplicationDescription server; - UA_ByteString serverCertificate; - UA_MessageSecurityMode securityMode; - UA_String securityPolicyUri; - size_t userIdentityTokensSize; - UA_UserTokenPolicy *userIdentityTokens; - UA_String transportProfileUri; - UA_Byte securityLevel; -} UA_EndpointDescription; - -#define UA_TYPES_ENDPOINTDESCRIPTION 158 - -/* GetEndpointsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_String endpointUrl; - size_t localeIdsSize; - UA_String *localeIds; - size_t profileUrisSize; - UA_String *profileUris; -} UA_GetEndpointsRequest; - -#define UA_TYPES_GETENDPOINTSREQUEST 159 - -/* GetEndpointsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t endpointsSize; - UA_EndpointDescription *endpoints; -} UA_GetEndpointsResponse; - -#define UA_TYPES_GETENDPOINTSRESPONSE 160 - -/* RegisteredServer */ -typedef struct { - UA_String serverUri; - UA_String productUri; - size_t serverNamesSize; - UA_LocalizedText *serverNames; - UA_ApplicationType serverType; - UA_String gatewayServerUri; - size_t discoveryUrlsSize; - UA_String *discoveryUrls; - UA_String semaphoreFilePath; - UA_Boolean isOnline; -} UA_RegisteredServer; - -#define UA_TYPES_REGISTEREDSERVER 161 - -/* RegisterServerRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_RegisteredServer server; -} UA_RegisterServerRequest; - -#define UA_TYPES_REGISTERSERVERREQUEST 162 - -/* RegisterServerResponse */ -typedef struct { - UA_ResponseHeader responseHeader; -} UA_RegisterServerResponse; - -#define UA_TYPES_REGISTERSERVERRESPONSE 163 - -/* MdnsDiscoveryConfiguration */ -typedef struct { - UA_String mdnsServerName; - size_t serverCapabilitiesSize; - UA_String *serverCapabilities; -} UA_MdnsDiscoveryConfiguration; - -#define UA_TYPES_MDNSDISCOVERYCONFIGURATION 164 - -/* RegisterServer2Request */ -typedef struct { - UA_RequestHeader requestHeader; - UA_RegisteredServer server; - size_t discoveryConfigurationSize; - UA_ExtensionObject *discoveryConfiguration; -} UA_RegisterServer2Request; - -#define UA_TYPES_REGISTERSERVER2REQUEST 165 - -/* RegisterServer2Response */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t configurationResultsSize; - UA_StatusCode *configurationResults; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_RegisterServer2Response; - -#define UA_TYPES_REGISTERSERVER2RESPONSE 166 - -/* SecurityTokenRequestType */ -typedef enum { - UA_SECURITYTOKENREQUESTTYPE_ISSUE = 0, - UA_SECURITYTOKENREQUESTTYPE_RENEW = 1, - __UA_SECURITYTOKENREQUESTTYPE_FORCE32BIT = 0x7fffffff -} UA_SecurityTokenRequestType; - -UA_STATIC_ASSERT(sizeof(UA_SecurityTokenRequestType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_SECURITYTOKENREQUESTTYPE 167 - -/* ChannelSecurityToken */ -typedef struct { - UA_UInt32 channelId; - UA_UInt32 tokenId; - UA_DateTime createdAt; - UA_UInt32 revisedLifetime; -} UA_ChannelSecurityToken; - -#define UA_TYPES_CHANNELSECURITYTOKEN 168 - -/* OpenSecureChannelRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 clientProtocolVersion; - UA_SecurityTokenRequestType requestType; - UA_MessageSecurityMode securityMode; - UA_ByteString clientNonce; - UA_UInt32 requestedLifetime; -} UA_OpenSecureChannelRequest; - -#define UA_TYPES_OPENSECURECHANNELREQUEST 169 - -/* OpenSecureChannelResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_UInt32 serverProtocolVersion; - UA_ChannelSecurityToken securityToken; - UA_ByteString serverNonce; -} UA_OpenSecureChannelResponse; - -#define UA_TYPES_OPENSECURECHANNELRESPONSE 170 - -/* CloseSecureChannelRequest */ -typedef struct { - UA_RequestHeader requestHeader; -} UA_CloseSecureChannelRequest; - -#define UA_TYPES_CLOSESECURECHANNELREQUEST 171 - -/* CloseSecureChannelResponse */ -typedef struct { - UA_ResponseHeader responseHeader; -} UA_CloseSecureChannelResponse; - -#define UA_TYPES_CLOSESECURECHANNELRESPONSE 172 - -/* SignedSoftwareCertificate */ -typedef struct { - UA_ByteString certificateData; - UA_ByteString signature; -} UA_SignedSoftwareCertificate; - -#define UA_TYPES_SIGNEDSOFTWARECERTIFICATE 173 - -/* SessionAuthenticationToken */ -typedef UA_NodeId UA_SessionAuthenticationToken; - -#define UA_TYPES_SESSIONAUTHENTICATIONTOKEN 174 - -/* SignatureData */ -typedef struct { - UA_String algorithm; - UA_ByteString signature; -} UA_SignatureData; - -#define UA_TYPES_SIGNATUREDATA 175 - -/* CreateSessionRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_ApplicationDescription clientDescription; - UA_String serverUri; - UA_String endpointUrl; - UA_String sessionName; - UA_ByteString clientNonce; - UA_ByteString clientCertificate; - UA_Double requestedSessionTimeout; - UA_UInt32 maxResponseMessageSize; -} UA_CreateSessionRequest; - -#define UA_TYPES_CREATESESSIONREQUEST 176 - -/* CreateSessionResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_NodeId sessionId; - UA_NodeId authenticationToken; - UA_Double revisedSessionTimeout; - UA_ByteString serverNonce; - UA_ByteString serverCertificate; - size_t serverEndpointsSize; - UA_EndpointDescription *serverEndpoints; - size_t serverSoftwareCertificatesSize; - UA_SignedSoftwareCertificate *serverSoftwareCertificates; - UA_SignatureData serverSignature; - UA_UInt32 maxRequestMessageSize; -} UA_CreateSessionResponse; - -#define UA_TYPES_CREATESESSIONRESPONSE 177 - -/* UserIdentityToken */ -typedef struct { - UA_String policyId; -} UA_UserIdentityToken; - -#define UA_TYPES_USERIDENTITYTOKEN 178 - -/* AnonymousIdentityToken */ -typedef struct { - UA_String policyId; -} UA_AnonymousIdentityToken; - -#define UA_TYPES_ANONYMOUSIDENTITYTOKEN 179 - -/* UserNameIdentityToken */ -typedef struct { - UA_String policyId; - UA_String userName; - UA_ByteString password; - UA_String encryptionAlgorithm; -} UA_UserNameIdentityToken; - -#define UA_TYPES_USERNAMEIDENTITYTOKEN 180 - -/* X509IdentityToken */ -typedef struct { - UA_String policyId; - UA_ByteString certificateData; -} UA_X509IdentityToken; - -#define UA_TYPES_X509IDENTITYTOKEN 181 - -/* IssuedIdentityToken */ -typedef struct { - UA_String policyId; - UA_ByteString tokenData; - UA_String encryptionAlgorithm; -} UA_IssuedIdentityToken; - -#define UA_TYPES_ISSUEDIDENTITYTOKEN 182 - -/* RsaEncryptedSecret */ -typedef UA_ByteString UA_RsaEncryptedSecret; - -#define UA_TYPES_RSAENCRYPTEDSECRET 183 - -/* EccEncryptedSecret */ -typedef UA_ByteString UA_EccEncryptedSecret; - -#define UA_TYPES_ECCENCRYPTEDSECRET 184 - -/* ActivateSessionRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_SignatureData clientSignature; - size_t clientSoftwareCertificatesSize; - UA_SignedSoftwareCertificate *clientSoftwareCertificates; - size_t localeIdsSize; - UA_String *localeIds; - UA_ExtensionObject userIdentityToken; - UA_SignatureData userTokenSignature; -} UA_ActivateSessionRequest; - -#define UA_TYPES_ACTIVATESESSIONREQUEST 185 - -/* ActivateSessionResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_ByteString serverNonce; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_ActivateSessionResponse; - -#define UA_TYPES_ACTIVATESESSIONRESPONSE 186 - -/* CloseSessionRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_Boolean deleteSubscriptions; -} UA_CloseSessionRequest; - -#define UA_TYPES_CLOSESESSIONREQUEST 187 - -/* CloseSessionResponse */ -typedef struct { - UA_ResponseHeader responseHeader; -} UA_CloseSessionResponse; - -#define UA_TYPES_CLOSESESSIONRESPONSE 188 - -/* CancelRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 requestHandle; -} UA_CancelRequest; - -#define UA_TYPES_CANCELREQUEST 189 - -/* CancelResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_UInt32 cancelCount; -} UA_CancelResponse; - -#define UA_TYPES_CANCELRESPONSE 190 - -/* NodeAttributesMask */ -typedef enum { - UA_NODEATTRIBUTESMASK_NONE = 0, - UA_NODEATTRIBUTESMASK_ACCESSLEVEL = 1, - UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS = 2, - UA_NODEATTRIBUTESMASK_BROWSENAME = 4, - UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS = 8, - UA_NODEATTRIBUTESMASK_DATATYPE = 16, - UA_NODEATTRIBUTESMASK_DESCRIPTION = 32, - UA_NODEATTRIBUTESMASK_DISPLAYNAME = 64, - UA_NODEATTRIBUTESMASK_EVENTNOTIFIER = 128, - UA_NODEATTRIBUTESMASK_EXECUTABLE = 256, - UA_NODEATTRIBUTESMASK_HISTORIZING = 512, - UA_NODEATTRIBUTESMASK_INVERSENAME = 1024, - UA_NODEATTRIBUTESMASK_ISABSTRACT = 2048, - UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL = 4096, - UA_NODEATTRIBUTESMASK_NODECLASS = 8192, - UA_NODEATTRIBUTESMASK_NODEID = 16384, - UA_NODEATTRIBUTESMASK_SYMMETRIC = 32768, - UA_NODEATTRIBUTESMASK_USERACCESSLEVEL = 65536, - UA_NODEATTRIBUTESMASK_USEREXECUTABLE = 131072, - UA_NODEATTRIBUTESMASK_USERWRITEMASK = 262144, - UA_NODEATTRIBUTESMASK_VALUERANK = 524288, - UA_NODEATTRIBUTESMASK_WRITEMASK = 1048576, - UA_NODEATTRIBUTESMASK_VALUE = 2097152, - UA_NODEATTRIBUTESMASK_DATATYPEDEFINITION = 4194304, - UA_NODEATTRIBUTESMASK_ROLEPERMISSIONS = 8388608, - UA_NODEATTRIBUTESMASK_ACCESSRESTRICTIONS = 16777216, - UA_NODEATTRIBUTESMASK_ALL = 33554431, - UA_NODEATTRIBUTESMASK_BASENODE = 26501220, - UA_NODEATTRIBUTESMASK_OBJECT = 26501348, - UA_NODEATTRIBUTESMASK_OBJECTTYPE = 26503268, - UA_NODEATTRIBUTESMASK_VARIABLE = 26571383, - UA_NODEATTRIBUTESMASK_VARIABLETYPE = 28600438, - UA_NODEATTRIBUTESMASK_METHOD = 26632548, - UA_NODEATTRIBUTESMASK_REFERENCETYPE = 26537060, - UA_NODEATTRIBUTESMASK_VIEW = 26501356, - __UA_NODEATTRIBUTESMASK_FORCE32BIT = 0x7fffffff -} UA_NodeAttributesMask; - -UA_STATIC_ASSERT(sizeof(UA_NodeAttributesMask) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_NODEATTRIBUTESMASK 191 - -/* NodeAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; -} UA_NodeAttributes; - -#define UA_TYPES_NODEATTRIBUTES 192 - -/* ObjectAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Byte eventNotifier; -} UA_ObjectAttributes; - -#define UA_TYPES_OBJECTATTRIBUTES 193 - -/* VariableAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Variant value; - UA_NodeId dataType; - UA_Int32 valueRank; - size_t arrayDimensionsSize; - UA_UInt32 *arrayDimensions; - UA_Byte accessLevel; - UA_Byte userAccessLevel; - UA_Double minimumSamplingInterval; - UA_Boolean historizing; -} UA_VariableAttributes; - -#define UA_TYPES_VARIABLEATTRIBUTES 194 - -/* MethodAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Boolean executable; - UA_Boolean userExecutable; -} UA_MethodAttributes; - -#define UA_TYPES_METHODATTRIBUTES 195 - -/* ObjectTypeAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Boolean isAbstract; -} UA_ObjectTypeAttributes; - -#define UA_TYPES_OBJECTTYPEATTRIBUTES 196 - -/* VariableTypeAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Variant value; - UA_NodeId dataType; - UA_Int32 valueRank; - size_t arrayDimensionsSize; - UA_UInt32 *arrayDimensions; - UA_Boolean isAbstract; -} UA_VariableTypeAttributes; - -#define UA_TYPES_VARIABLETYPEATTRIBUTES 197 - -/* ReferenceTypeAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Boolean isAbstract; - UA_Boolean symmetric; - UA_LocalizedText inverseName; -} UA_ReferenceTypeAttributes; - -#define UA_TYPES_REFERENCETYPEATTRIBUTES 198 - -/* DataTypeAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Boolean isAbstract; -} UA_DataTypeAttributes; - -#define UA_TYPES_DATATYPEATTRIBUTES 199 - -/* ViewAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - UA_Boolean containsNoLoops; - UA_Byte eventNotifier; -} UA_ViewAttributes; - -#define UA_TYPES_VIEWATTRIBUTES 200 - -/* GenericAttributeValue */ -typedef struct { - UA_UInt32 attributeId; - UA_Variant value; -} UA_GenericAttributeValue; - -#define UA_TYPES_GENERICATTRIBUTEVALUE 201 - -/* GenericAttributes */ -typedef struct { - UA_UInt32 specifiedAttributes; - UA_LocalizedText displayName; - UA_LocalizedText description; - UA_UInt32 writeMask; - UA_UInt32 userWriteMask; - size_t attributeValuesSize; - UA_GenericAttributeValue *attributeValues; -} UA_GenericAttributes; - -#define UA_TYPES_GENERICATTRIBUTES 202 - -/* AddNodesItem */ -typedef struct { - UA_ExpandedNodeId parentNodeId; - UA_NodeId referenceTypeId; - UA_ExpandedNodeId requestedNewNodeId; - UA_QualifiedName browseName; - UA_NodeClass nodeClass; - UA_ExtensionObject nodeAttributes; - UA_ExpandedNodeId typeDefinition; -} UA_AddNodesItem; - -#define UA_TYPES_ADDNODESITEM 203 - -/* AddNodesResult */ -typedef struct { - UA_StatusCode statusCode; - UA_NodeId addedNodeId; -} UA_AddNodesResult; - -#define UA_TYPES_ADDNODESRESULT 204 - -/* AddNodesRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t nodesToAddSize; - UA_AddNodesItem *nodesToAdd; -} UA_AddNodesRequest; - -#define UA_TYPES_ADDNODESREQUEST 205 - -/* AddNodesResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_AddNodesResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_AddNodesResponse; - -#define UA_TYPES_ADDNODESRESPONSE 206 - -/* AddReferencesItem */ -typedef struct { - UA_NodeId sourceNodeId; - UA_NodeId referenceTypeId; - UA_Boolean isForward; - UA_String targetServerUri; - UA_ExpandedNodeId targetNodeId; - UA_NodeClass targetNodeClass; -} UA_AddReferencesItem; - -#define UA_TYPES_ADDREFERENCESITEM 207 - -/* AddReferencesRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t referencesToAddSize; - UA_AddReferencesItem *referencesToAdd; -} UA_AddReferencesRequest; - -#define UA_TYPES_ADDREFERENCESREQUEST 208 - -/* AddReferencesResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_AddReferencesResponse; - -#define UA_TYPES_ADDREFERENCESRESPONSE 209 - -/* DeleteNodesItem */ -typedef struct { - UA_NodeId nodeId; - UA_Boolean deleteTargetReferences; -} UA_DeleteNodesItem; - -#define UA_TYPES_DELETENODESITEM 210 - -/* DeleteNodesRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t nodesToDeleteSize; - UA_DeleteNodesItem *nodesToDelete; -} UA_DeleteNodesRequest; - -#define UA_TYPES_DELETENODESREQUEST 211 - -/* DeleteNodesResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_DeleteNodesResponse; - -#define UA_TYPES_DELETENODESRESPONSE 212 - -/* DeleteReferencesItem */ -typedef struct { - UA_NodeId sourceNodeId; - UA_NodeId referenceTypeId; - UA_Boolean isForward; - UA_ExpandedNodeId targetNodeId; - UA_Boolean deleteBidirectional; -} UA_DeleteReferencesItem; - -#define UA_TYPES_DELETEREFERENCESITEM 213 - -/* DeleteReferencesRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t referencesToDeleteSize; - UA_DeleteReferencesItem *referencesToDelete; -} UA_DeleteReferencesRequest; - -#define UA_TYPES_DELETEREFERENCESREQUEST 214 - -/* DeleteReferencesResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_DeleteReferencesResponse; - -#define UA_TYPES_DELETEREFERENCESRESPONSE 215 - -/* AttributeWriteMask */ -typedef UA_UInt32 UA_AttributeWriteMask; - -#define UA_ATTRIBUTEWRITEMASK_NONE 0 -#define UA_ATTRIBUTEWRITEMASK_ACCESSLEVEL 1 -#define UA_ATTRIBUTEWRITEMASK_ARRAYDIMENSIONS 2 -#define UA_ATTRIBUTEWRITEMASK_BROWSENAME 4 -#define UA_ATTRIBUTEWRITEMASK_CONTAINSNOLOOPS 8 -#define UA_ATTRIBUTEWRITEMASK_DATATYPE 16 -#define UA_ATTRIBUTEWRITEMASK_DESCRIPTION 32 -#define UA_ATTRIBUTEWRITEMASK_DISPLAYNAME 64 -#define UA_ATTRIBUTEWRITEMASK_EVENTNOTIFIER 128 -#define UA_ATTRIBUTEWRITEMASK_EXECUTABLE 256 -#define UA_ATTRIBUTEWRITEMASK_HISTORIZING 512 -#define UA_ATTRIBUTEWRITEMASK_INVERSENAME 1024 -#define UA_ATTRIBUTEWRITEMASK_ISABSTRACT 2048 -#define UA_ATTRIBUTEWRITEMASK_MINIMUMSAMPLINGINTERVAL 4096 -#define UA_ATTRIBUTEWRITEMASK_NODECLASS 8192 -#define UA_ATTRIBUTEWRITEMASK_NODEID 16384 -#define UA_ATTRIBUTEWRITEMASK_SYMMETRIC 32768 -#define UA_ATTRIBUTEWRITEMASK_USERACCESSLEVEL 65536 -#define UA_ATTRIBUTEWRITEMASK_USEREXECUTABLE 131072 -#define UA_ATTRIBUTEWRITEMASK_USERWRITEMASK 262144 -#define UA_ATTRIBUTEWRITEMASK_VALUERANK 524288 -#define UA_ATTRIBUTEWRITEMASK_WRITEMASK 1048576 -#define UA_ATTRIBUTEWRITEMASK_VALUEFORVARIABLETYPE 2097152 -#define UA_ATTRIBUTEWRITEMASK_DATATYPEDEFINITION 4194304 -#define UA_ATTRIBUTEWRITEMASK_ROLEPERMISSIONS 8388608 -#define UA_ATTRIBUTEWRITEMASK_ACCESSRESTRICTIONS 16777216 -#define UA_ATTRIBUTEWRITEMASK_ACCESSLEVELEX 33554432 - -#define UA_TYPES_ATTRIBUTEWRITEMASK 216 - -/* BrowseDirection */ -typedef enum { - UA_BROWSEDIRECTION_FORWARD = 0, - UA_BROWSEDIRECTION_INVERSE = 1, - UA_BROWSEDIRECTION_BOTH = 2, - UA_BROWSEDIRECTION_INVALID = 3, - __UA_BROWSEDIRECTION_FORCE32BIT = 0x7fffffff -} UA_BrowseDirection; - -UA_STATIC_ASSERT(sizeof(UA_BrowseDirection) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_BROWSEDIRECTION 217 - -/* ViewDescription */ -typedef struct { - UA_NodeId viewId; - UA_DateTime timestamp; - UA_UInt32 viewVersion; -} UA_ViewDescription; - -#define UA_TYPES_VIEWDESCRIPTION 218 - -/* BrowseDescription */ -typedef struct { - UA_NodeId nodeId; - UA_BrowseDirection browseDirection; - UA_NodeId referenceTypeId; - UA_Boolean includeSubtypes; - UA_UInt32 nodeClassMask; - UA_UInt32 resultMask; -} UA_BrowseDescription; - -#define UA_TYPES_BROWSEDESCRIPTION 219 - -/* BrowseResultMask */ -typedef enum { - UA_BROWSERESULTMASK_NONE = 0, - UA_BROWSERESULTMASK_REFERENCETYPEID = 1, - UA_BROWSERESULTMASK_ISFORWARD = 2, - UA_BROWSERESULTMASK_NODECLASS = 4, - UA_BROWSERESULTMASK_BROWSENAME = 8, - UA_BROWSERESULTMASK_DISPLAYNAME = 16, - UA_BROWSERESULTMASK_TYPEDEFINITION = 32, - UA_BROWSERESULTMASK_ALL = 63, - UA_BROWSERESULTMASK_REFERENCETYPEINFO = 3, - UA_BROWSERESULTMASK_TARGETINFO = 60, - __UA_BROWSERESULTMASK_FORCE32BIT = 0x7fffffff -} UA_BrowseResultMask; - -UA_STATIC_ASSERT(sizeof(UA_BrowseResultMask) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_BROWSERESULTMASK 220 - -/* ReferenceDescription */ -typedef struct { - UA_NodeId referenceTypeId; - UA_Boolean isForward; - UA_ExpandedNodeId nodeId; - UA_QualifiedName browseName; - UA_LocalizedText displayName; - UA_NodeClass nodeClass; - UA_ExpandedNodeId typeDefinition; -} UA_ReferenceDescription; - -#define UA_TYPES_REFERENCEDESCRIPTION 221 - -/* ContinuationPoint */ -typedef UA_ByteString UA_ContinuationPoint; - -#define UA_TYPES_CONTINUATIONPOINT 222 - -/* BrowseResult */ -typedef struct { - UA_StatusCode statusCode; - UA_ByteString continuationPoint; - size_t referencesSize; - UA_ReferenceDescription *references; -} UA_BrowseResult; - -#define UA_TYPES_BROWSERESULT 223 - -/* BrowseRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_ViewDescription view; - UA_UInt32 requestedMaxReferencesPerNode; - size_t nodesToBrowseSize; - UA_BrowseDescription *nodesToBrowse; -} UA_BrowseRequest; - -#define UA_TYPES_BROWSEREQUEST 224 - -/* BrowseResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_BrowseResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_BrowseResponse; - -#define UA_TYPES_BROWSERESPONSE 225 - -/* BrowseNextRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_Boolean releaseContinuationPoints; - size_t continuationPointsSize; - UA_ByteString *continuationPoints; -} UA_BrowseNextRequest; - -#define UA_TYPES_BROWSENEXTREQUEST 226 - -/* BrowseNextResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_BrowseResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_BrowseNextResponse; - -#define UA_TYPES_BROWSENEXTRESPONSE 227 - -/* RelativePathElement */ -typedef struct { - UA_NodeId referenceTypeId; - UA_Boolean isInverse; - UA_Boolean includeSubtypes; - UA_QualifiedName targetName; -} UA_RelativePathElement; - -#define UA_TYPES_RELATIVEPATHELEMENT 228 - -/* RelativePath */ -typedef struct { - size_t elementsSize; - UA_RelativePathElement *elements; -} UA_RelativePath; - -#define UA_TYPES_RELATIVEPATH 229 - -/* BrowsePath */ -typedef struct { - UA_NodeId startingNode; - UA_RelativePath relativePath; -} UA_BrowsePath; - -#define UA_TYPES_BROWSEPATH 230 - -/* BrowsePathTarget */ -typedef struct { - UA_ExpandedNodeId targetId; - UA_UInt32 remainingPathIndex; -} UA_BrowsePathTarget; - -#define UA_TYPES_BROWSEPATHTARGET 231 - -/* BrowsePathResult */ -typedef struct { - UA_StatusCode statusCode; - size_t targetsSize; - UA_BrowsePathTarget *targets; -} UA_BrowsePathResult; - -#define UA_TYPES_BROWSEPATHRESULT 232 - -/* TranslateBrowsePathsToNodeIdsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t browsePathsSize; - UA_BrowsePath *browsePaths; -} UA_TranslateBrowsePathsToNodeIdsRequest; - -#define UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST 233 - -/* TranslateBrowsePathsToNodeIdsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_BrowsePathResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_TranslateBrowsePathsToNodeIdsResponse; - -#define UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE 234 - -/* RegisterNodesRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t nodesToRegisterSize; - UA_NodeId *nodesToRegister; -} UA_RegisterNodesRequest; - -#define UA_TYPES_REGISTERNODESREQUEST 235 - -/* RegisterNodesResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t registeredNodeIdsSize; - UA_NodeId *registeredNodeIds; -} UA_RegisterNodesResponse; - -#define UA_TYPES_REGISTERNODESRESPONSE 236 - -/* UnregisterNodesRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t nodesToUnregisterSize; - UA_NodeId *nodesToUnregister; -} UA_UnregisterNodesRequest; - -#define UA_TYPES_UNREGISTERNODESREQUEST 237 - -/* UnregisterNodesResponse */ -typedef struct { - UA_ResponseHeader responseHeader; -} UA_UnregisterNodesResponse; - -#define UA_TYPES_UNREGISTERNODESRESPONSE 238 - -/* Counter */ -typedef UA_UInt32 UA_Counter; - -#define UA_TYPES_COUNTER 239 - -/* OpaqueNumericRange */ -typedef UA_String UA_OpaqueNumericRange; - -#define UA_TYPES_OPAQUENUMERICRANGE 240 - -/* EndpointConfiguration */ -typedef struct { - UA_Int32 operationTimeout; - UA_Boolean useBinaryEncoding; - UA_Int32 maxStringLength; - UA_Int32 maxByteStringLength; - UA_Int32 maxArrayLength; - UA_Int32 maxMessageSize; - UA_Int32 maxBufferSize; - UA_Int32 channelLifetime; - UA_Int32 securityTokenLifetime; -} UA_EndpointConfiguration; - -#define UA_TYPES_ENDPOINTCONFIGURATION 241 - -/* QueryDataDescription */ -typedef struct { - UA_RelativePath relativePath; - UA_UInt32 attributeId; - UA_String indexRange; -} UA_QueryDataDescription; - -#define UA_TYPES_QUERYDATADESCRIPTION 242 - -/* NodeTypeDescription */ -typedef struct { - UA_ExpandedNodeId typeDefinitionNode; - UA_Boolean includeSubTypes; - size_t dataToReturnSize; - UA_QueryDataDescription *dataToReturn; -} UA_NodeTypeDescription; - -#define UA_TYPES_NODETYPEDESCRIPTION 243 - -/* FilterOperator */ -typedef enum { - UA_FILTEROPERATOR_EQUALS = 0, - UA_FILTEROPERATOR_ISNULL = 1, - UA_FILTEROPERATOR_GREATERTHAN = 2, - UA_FILTEROPERATOR_LESSTHAN = 3, - UA_FILTEROPERATOR_GREATERTHANOREQUAL = 4, - UA_FILTEROPERATOR_LESSTHANOREQUAL = 5, - UA_FILTEROPERATOR_LIKE = 6, - UA_FILTEROPERATOR_NOT = 7, - UA_FILTEROPERATOR_BETWEEN = 8, - UA_FILTEROPERATOR_INLIST = 9, - UA_FILTEROPERATOR_AND = 10, - UA_FILTEROPERATOR_OR = 11, - UA_FILTEROPERATOR_CAST = 12, - UA_FILTEROPERATOR_INVIEW = 13, - UA_FILTEROPERATOR_OFTYPE = 14, - UA_FILTEROPERATOR_RELATEDTO = 15, - UA_FILTEROPERATOR_BITWISEAND = 16, - UA_FILTEROPERATOR_BITWISEOR = 17, - __UA_FILTEROPERATOR_FORCE32BIT = 0x7fffffff -} UA_FilterOperator; - -UA_STATIC_ASSERT(sizeof(UA_FilterOperator) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_FILTEROPERATOR 244 - -/* QueryDataSet */ -typedef struct { - UA_ExpandedNodeId nodeId; - UA_ExpandedNodeId typeDefinitionNode; - size_t valuesSize; - UA_Variant *values; -} UA_QueryDataSet; - -#define UA_TYPES_QUERYDATASET 245 - -/* NodeReference */ -typedef struct { - UA_NodeId nodeId; - UA_NodeId referenceTypeId; - UA_Boolean isForward; - size_t referencedNodeIdsSize; - UA_NodeId *referencedNodeIds; -} UA_NodeReference; - -#define UA_TYPES_NODEREFERENCE 246 - -/* ContentFilterElement */ -typedef struct { - UA_FilterOperator filterOperator; - size_t filterOperandsSize; - UA_ExtensionObject *filterOperands; -} UA_ContentFilterElement; - -#define UA_TYPES_CONTENTFILTERELEMENT 247 - -/* ContentFilter */ -typedef struct { - size_t elementsSize; - UA_ContentFilterElement *elements; -} UA_ContentFilter; - -#define UA_TYPES_CONTENTFILTER 248 - -/* ElementOperand */ -typedef struct { - UA_UInt32 index; -} UA_ElementOperand; - -#define UA_TYPES_ELEMENTOPERAND 249 - -/* LiteralOperand */ -typedef struct { - UA_Variant value; -} UA_LiteralOperand; - -#define UA_TYPES_LITERALOPERAND 250 - -/* AttributeOperand */ -typedef struct { - UA_NodeId nodeId; - UA_String alias; - UA_RelativePath browsePath; - UA_UInt32 attributeId; - UA_String indexRange; -} UA_AttributeOperand; - -#define UA_TYPES_ATTRIBUTEOPERAND 251 - -/* SimpleAttributeOperand */ -typedef struct { - UA_NodeId typeDefinitionId; - size_t browsePathSize; - UA_QualifiedName *browsePath; - UA_UInt32 attributeId; - UA_String indexRange; -} UA_SimpleAttributeOperand; - -#define UA_TYPES_SIMPLEATTRIBUTEOPERAND 252 - -/* ContentFilterElementResult */ -typedef struct { - UA_StatusCode statusCode; - size_t operandStatusCodesSize; - UA_StatusCode *operandStatusCodes; - size_t operandDiagnosticInfosSize; - UA_DiagnosticInfo *operandDiagnosticInfos; -} UA_ContentFilterElementResult; - -#define UA_TYPES_CONTENTFILTERELEMENTRESULT 253 - -/* ContentFilterResult */ -typedef struct { - size_t elementResultsSize; - UA_ContentFilterElementResult *elementResults; - size_t elementDiagnosticInfosSize; - UA_DiagnosticInfo *elementDiagnosticInfos; -} UA_ContentFilterResult; - -#define UA_TYPES_CONTENTFILTERRESULT 254 - -/* ParsingResult */ -typedef struct { - UA_StatusCode statusCode; - size_t dataStatusCodesSize; - UA_StatusCode *dataStatusCodes; - size_t dataDiagnosticInfosSize; - UA_DiagnosticInfo *dataDiagnosticInfos; -} UA_ParsingResult; - -#define UA_TYPES_PARSINGRESULT 255 - -/* QueryFirstRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_ViewDescription view; - size_t nodeTypesSize; - UA_NodeTypeDescription *nodeTypes; - UA_ContentFilter filter; - UA_UInt32 maxDataSetsToReturn; - UA_UInt32 maxReferencesToReturn; -} UA_QueryFirstRequest; - -#define UA_TYPES_QUERYFIRSTREQUEST 256 - -/* QueryFirstResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t queryDataSetsSize; - UA_QueryDataSet *queryDataSets; - UA_ByteString continuationPoint; - size_t parsingResultsSize; - UA_ParsingResult *parsingResults; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; - UA_ContentFilterResult filterResult; -} UA_QueryFirstResponse; - -#define UA_TYPES_QUERYFIRSTRESPONSE 257 - -/* QueryNextRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_Boolean releaseContinuationPoint; - UA_ByteString continuationPoint; -} UA_QueryNextRequest; - -#define UA_TYPES_QUERYNEXTREQUEST 258 - -/* QueryNextResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t queryDataSetsSize; - UA_QueryDataSet *queryDataSets; - UA_ByteString revisedContinuationPoint; -} UA_QueryNextResponse; - -#define UA_TYPES_QUERYNEXTRESPONSE 259 - -/* TimestampsToReturn */ -typedef enum { - UA_TIMESTAMPSTORETURN_SOURCE = 0, - UA_TIMESTAMPSTORETURN_SERVER = 1, - UA_TIMESTAMPSTORETURN_BOTH = 2, - UA_TIMESTAMPSTORETURN_NEITHER = 3, - UA_TIMESTAMPSTORETURN_INVALID = 4, - __UA_TIMESTAMPSTORETURN_FORCE32BIT = 0x7fffffff -} UA_TimestampsToReturn; - -UA_STATIC_ASSERT(sizeof(UA_TimestampsToReturn) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_TIMESTAMPSTORETURN 260 - -/* ReadValueId */ -typedef struct { - UA_NodeId nodeId; - UA_UInt32 attributeId; - UA_String indexRange; - UA_QualifiedName dataEncoding; -} UA_ReadValueId; - -#define UA_TYPES_READVALUEID 261 - -/* ReadRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_Double maxAge; - UA_TimestampsToReturn timestampsToReturn; - size_t nodesToReadSize; - UA_ReadValueId *nodesToRead; -} UA_ReadRequest; - -#define UA_TYPES_READREQUEST 262 - -/* ReadResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_DataValue *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_ReadResponse; - -#define UA_TYPES_READRESPONSE 263 - -/* HistoryReadValueId */ -typedef struct { - UA_NodeId nodeId; - UA_String indexRange; - UA_QualifiedName dataEncoding; - UA_ByteString continuationPoint; -} UA_HistoryReadValueId; - -#define UA_TYPES_HISTORYREADVALUEID 264 - -/* HistoryReadResult */ -typedef struct { - UA_StatusCode statusCode; - UA_ByteString continuationPoint; - UA_ExtensionObject historyData; -} UA_HistoryReadResult; - -#define UA_TYPES_HISTORYREADRESULT 265 - -/* ReadRawModifiedDetails */ -typedef struct { - UA_Boolean isReadModified; - UA_DateTime startTime; - UA_DateTime endTime; - UA_UInt32 numValuesPerNode; - UA_Boolean returnBounds; -} UA_ReadRawModifiedDetails; - -#define UA_TYPES_READRAWMODIFIEDDETAILS 266 - -/* ReadAtTimeDetails */ -typedef struct { - size_t reqTimesSize; - UA_DateTime *reqTimes; - UA_Boolean useSimpleBounds; -} UA_ReadAtTimeDetails; - -#define UA_TYPES_READATTIMEDETAILS 267 - -/* ReadAnnotationDataDetails */ -typedef struct { - size_t reqTimesSize; - UA_DateTime *reqTimes; -} UA_ReadAnnotationDataDetails; - -#define UA_TYPES_READANNOTATIONDATADETAILS 268 - -/* HistoryData */ -typedef struct { - size_t dataValuesSize; - UA_DataValue *dataValues; -} UA_HistoryData; - -#define UA_TYPES_HISTORYDATA 269 - -/* HistoryReadRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_ExtensionObject historyReadDetails; - UA_TimestampsToReturn timestampsToReturn; - UA_Boolean releaseContinuationPoints; - size_t nodesToReadSize; - UA_HistoryReadValueId *nodesToRead; -} UA_HistoryReadRequest; - -#define UA_TYPES_HISTORYREADREQUEST 270 - -/* HistoryReadResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_HistoryReadResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_HistoryReadResponse; - -#define UA_TYPES_HISTORYREADRESPONSE 271 - -/* WriteValue */ -typedef struct { - UA_NodeId nodeId; - UA_UInt32 attributeId; - UA_String indexRange; - UA_DataValue value; -} UA_WriteValue; - -#define UA_TYPES_WRITEVALUE 272 - -/* WriteRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t nodesToWriteSize; - UA_WriteValue *nodesToWrite; -} UA_WriteRequest; - -#define UA_TYPES_WRITEREQUEST 273 - -/* WriteResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_WriteResponse; - -#define UA_TYPES_WRITERESPONSE 274 - -/* HistoryUpdateDetails */ -typedef struct { - UA_NodeId nodeId; -} UA_HistoryUpdateDetails; - -#define UA_TYPES_HISTORYUPDATEDETAILS 275 - -/* HistoryUpdateType */ -typedef enum { - UA_HISTORYUPDATETYPE_INSERT = 1, - UA_HISTORYUPDATETYPE_REPLACE = 2, - UA_HISTORYUPDATETYPE_UPDATE = 3, - UA_HISTORYUPDATETYPE_DELETE = 4, - __UA_HISTORYUPDATETYPE_FORCE32BIT = 0x7fffffff -} UA_HistoryUpdateType; - -UA_STATIC_ASSERT(sizeof(UA_HistoryUpdateType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_HISTORYUPDATETYPE 276 - -/* PerformUpdateType */ -typedef enum { - UA_PERFORMUPDATETYPE_INSERT = 1, - UA_PERFORMUPDATETYPE_REPLACE = 2, - UA_PERFORMUPDATETYPE_UPDATE = 3, - UA_PERFORMUPDATETYPE_REMOVE = 4, - __UA_PERFORMUPDATETYPE_FORCE32BIT = 0x7fffffff -} UA_PerformUpdateType; - -UA_STATIC_ASSERT(sizeof(UA_PerformUpdateType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_PERFORMUPDATETYPE 277 - -/* UpdateDataDetails */ -typedef struct { - UA_NodeId nodeId; - UA_PerformUpdateType performInsertReplace; - size_t updateValuesSize; - UA_DataValue *updateValues; -} UA_UpdateDataDetails; - -#define UA_TYPES_UPDATEDATADETAILS 278 - -/* UpdateStructureDataDetails */ -typedef struct { - UA_NodeId nodeId; - UA_PerformUpdateType performInsertReplace; - size_t updateValuesSize; - UA_DataValue *updateValues; -} UA_UpdateStructureDataDetails; - -#define UA_TYPES_UPDATESTRUCTUREDATADETAILS 279 - -/* DeleteRawModifiedDetails */ -typedef struct { - UA_NodeId nodeId; - UA_Boolean isDeleteModified; - UA_DateTime startTime; - UA_DateTime endTime; -} UA_DeleteRawModifiedDetails; - -#define UA_TYPES_DELETERAWMODIFIEDDETAILS 280 - -/* DeleteAtTimeDetails */ -typedef struct { - UA_NodeId nodeId; - size_t reqTimesSize; - UA_DateTime *reqTimes; -} UA_DeleteAtTimeDetails; - -#define UA_TYPES_DELETEATTIMEDETAILS 281 - -/* DeleteEventDetails */ -typedef struct { - UA_NodeId nodeId; - size_t eventIdsSize; - UA_ByteString *eventIds; -} UA_DeleteEventDetails; - -#define UA_TYPES_DELETEEVENTDETAILS 282 - -/* HistoryUpdateResult */ -typedef struct { - UA_StatusCode statusCode; - size_t operationResultsSize; - UA_StatusCode *operationResults; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_HistoryUpdateResult; - -#define UA_TYPES_HISTORYUPDATERESULT 283 - -/* HistoryUpdateRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t historyUpdateDetailsSize; - UA_ExtensionObject *historyUpdateDetails; -} UA_HistoryUpdateRequest; - -#define UA_TYPES_HISTORYUPDATEREQUEST 284 - -/* HistoryUpdateResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_HistoryUpdateResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_HistoryUpdateResponse; - -#define UA_TYPES_HISTORYUPDATERESPONSE 285 - -/* CallMethodRequest */ -typedef struct { - UA_NodeId objectId; - UA_NodeId methodId; - size_t inputArgumentsSize; - UA_Variant *inputArguments; -} UA_CallMethodRequest; - -#define UA_TYPES_CALLMETHODREQUEST 286 - -/* CallMethodResult */ -typedef struct { - UA_StatusCode statusCode; - size_t inputArgumentResultsSize; - UA_StatusCode *inputArgumentResults; - size_t inputArgumentDiagnosticInfosSize; - UA_DiagnosticInfo *inputArgumentDiagnosticInfos; - size_t outputArgumentsSize; - UA_Variant *outputArguments; -} UA_CallMethodResult; - -#define UA_TYPES_CALLMETHODRESULT 287 - -/* CallRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t methodsToCallSize; - UA_CallMethodRequest *methodsToCall; -} UA_CallRequest; - -#define UA_TYPES_CALLREQUEST 288 - -/* CallResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_CallMethodResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_CallResponse; - -#define UA_TYPES_CALLRESPONSE 289 - -/* MonitoringMode */ -typedef enum { - UA_MONITORINGMODE_DISABLED = 0, - UA_MONITORINGMODE_SAMPLING = 1, - UA_MONITORINGMODE_REPORTING = 2, - __UA_MONITORINGMODE_FORCE32BIT = 0x7fffffff -} UA_MonitoringMode; - -UA_STATIC_ASSERT(sizeof(UA_MonitoringMode) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_MONITORINGMODE 290 - -/* DataChangeTrigger */ -typedef enum { - UA_DATACHANGETRIGGER_STATUS = 0, - UA_DATACHANGETRIGGER_STATUSVALUE = 1, - UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP = 2, - __UA_DATACHANGETRIGGER_FORCE32BIT = 0x7fffffff -} UA_DataChangeTrigger; - -UA_STATIC_ASSERT(sizeof(UA_DataChangeTrigger) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_DATACHANGETRIGGER 291 - -/* DeadbandType */ -typedef enum { - UA_DEADBANDTYPE_NONE = 0, - UA_DEADBANDTYPE_ABSOLUTE = 1, - UA_DEADBANDTYPE_PERCENT = 2, - __UA_DEADBANDTYPE_FORCE32BIT = 0x7fffffff -} UA_DeadbandType; - -UA_STATIC_ASSERT(sizeof(UA_DeadbandType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_DEADBANDTYPE 292 - -/* DataChangeFilter */ -typedef struct { - UA_DataChangeTrigger trigger; - UA_UInt32 deadbandType; - UA_Double deadbandValue; -} UA_DataChangeFilter; - -#define UA_TYPES_DATACHANGEFILTER 293 - -/* EventFilter */ -typedef struct { - size_t selectClausesSize; - UA_SimpleAttributeOperand *selectClauses; - UA_ContentFilter whereClause; -} UA_EventFilter; - -#define UA_TYPES_EVENTFILTER 294 - -/* AggregateConfiguration */ -typedef struct { - UA_Boolean useServerCapabilitiesDefaults; - UA_Boolean treatUncertainAsBad; - UA_Byte percentDataBad; - UA_Byte percentDataGood; - UA_Boolean useSlopedExtrapolation; -} UA_AggregateConfiguration; - -#define UA_TYPES_AGGREGATECONFIGURATION 295 - -/* AggregateFilter */ -typedef struct { - UA_DateTime startTime; - UA_NodeId aggregateType; - UA_Double processingInterval; - UA_AggregateConfiguration aggregateConfiguration; -} UA_AggregateFilter; - -#define UA_TYPES_AGGREGATEFILTER 296 - -/* EventFilterResult */ -typedef struct { - size_t selectClauseResultsSize; - UA_StatusCode *selectClauseResults; - size_t selectClauseDiagnosticInfosSize; - UA_DiagnosticInfo *selectClauseDiagnosticInfos; - UA_ContentFilterResult whereClauseResult; -} UA_EventFilterResult; - -#define UA_TYPES_EVENTFILTERRESULT 297 - -/* AggregateFilterResult */ -typedef struct { - UA_DateTime revisedStartTime; - UA_Double revisedProcessingInterval; - UA_AggregateConfiguration revisedAggregateConfiguration; -} UA_AggregateFilterResult; - -#define UA_TYPES_AGGREGATEFILTERRESULT 298 - -/* MonitoringParameters */ -typedef struct { - UA_UInt32 clientHandle; - UA_Double samplingInterval; - UA_ExtensionObject filter; - UA_UInt32 queueSize; - UA_Boolean discardOldest; -} UA_MonitoringParameters; - -#define UA_TYPES_MONITORINGPARAMETERS 299 - -/* MonitoredItemCreateRequest */ -typedef struct { - UA_ReadValueId itemToMonitor; - UA_MonitoringMode monitoringMode; - UA_MonitoringParameters requestedParameters; -} UA_MonitoredItemCreateRequest; - -#define UA_TYPES_MONITOREDITEMCREATEREQUEST 300 - -/* MonitoredItemCreateResult */ -typedef struct { - UA_StatusCode statusCode; - UA_UInt32 monitoredItemId; - UA_Double revisedSamplingInterval; - UA_UInt32 revisedQueueSize; - UA_ExtensionObject filterResult; -} UA_MonitoredItemCreateResult; - -#define UA_TYPES_MONITOREDITEMCREATERESULT 301 - -/* CreateMonitoredItemsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - UA_TimestampsToReturn timestampsToReturn; - size_t itemsToCreateSize; - UA_MonitoredItemCreateRequest *itemsToCreate; -} UA_CreateMonitoredItemsRequest; - -#define UA_TYPES_CREATEMONITOREDITEMSREQUEST 302 - -/* CreateMonitoredItemsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_MonitoredItemCreateResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_CreateMonitoredItemsResponse; - -#define UA_TYPES_CREATEMONITOREDITEMSRESPONSE 303 - -/* MonitoredItemModifyRequest */ -typedef struct { - UA_UInt32 monitoredItemId; - UA_MonitoringParameters requestedParameters; -} UA_MonitoredItemModifyRequest; - -#define UA_TYPES_MONITOREDITEMMODIFYREQUEST 304 - -/* MonitoredItemModifyResult */ -typedef struct { - UA_StatusCode statusCode; - UA_Double revisedSamplingInterval; - UA_UInt32 revisedQueueSize; - UA_ExtensionObject filterResult; -} UA_MonitoredItemModifyResult; - -#define UA_TYPES_MONITOREDITEMMODIFYRESULT 305 - -/* ModifyMonitoredItemsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - UA_TimestampsToReturn timestampsToReturn; - size_t itemsToModifySize; - UA_MonitoredItemModifyRequest *itemsToModify; -} UA_ModifyMonitoredItemsRequest; - -#define UA_TYPES_MODIFYMONITOREDITEMSREQUEST 306 - -/* ModifyMonitoredItemsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_MonitoredItemModifyResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_ModifyMonitoredItemsResponse; - -#define UA_TYPES_MODIFYMONITOREDITEMSRESPONSE 307 - -/* SetMonitoringModeRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - UA_MonitoringMode monitoringMode; - size_t monitoredItemIdsSize; - UA_UInt32 *monitoredItemIds; -} UA_SetMonitoringModeRequest; - -#define UA_TYPES_SETMONITORINGMODEREQUEST 308 - -/* SetMonitoringModeResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_SetMonitoringModeResponse; - -#define UA_TYPES_SETMONITORINGMODERESPONSE 309 - -/* SetTriggeringRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - UA_UInt32 triggeringItemId; - size_t linksToAddSize; - UA_UInt32 *linksToAdd; - size_t linksToRemoveSize; - UA_UInt32 *linksToRemove; -} UA_SetTriggeringRequest; - -#define UA_TYPES_SETTRIGGERINGREQUEST 310 - -/* SetTriggeringResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t addResultsSize; - UA_StatusCode *addResults; - size_t addDiagnosticInfosSize; - UA_DiagnosticInfo *addDiagnosticInfos; - size_t removeResultsSize; - UA_StatusCode *removeResults; - size_t removeDiagnosticInfosSize; - UA_DiagnosticInfo *removeDiagnosticInfos; -} UA_SetTriggeringResponse; - -#define UA_TYPES_SETTRIGGERINGRESPONSE 311 - -/* DeleteMonitoredItemsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - size_t monitoredItemIdsSize; - UA_UInt32 *monitoredItemIds; -} UA_DeleteMonitoredItemsRequest; - -#define UA_TYPES_DELETEMONITOREDITEMSREQUEST 312 - -/* DeleteMonitoredItemsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_DeleteMonitoredItemsResponse; - -#define UA_TYPES_DELETEMONITOREDITEMSRESPONSE 313 - -/* CreateSubscriptionRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_Double requestedPublishingInterval; - UA_UInt32 requestedLifetimeCount; - UA_UInt32 requestedMaxKeepAliveCount; - UA_UInt32 maxNotificationsPerPublish; - UA_Boolean publishingEnabled; - UA_Byte priority; -} UA_CreateSubscriptionRequest; - -#define UA_TYPES_CREATESUBSCRIPTIONREQUEST 314 - -/* CreateSubscriptionResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_UInt32 subscriptionId; - UA_Double revisedPublishingInterval; - UA_UInt32 revisedLifetimeCount; - UA_UInt32 revisedMaxKeepAliveCount; -} UA_CreateSubscriptionResponse; - -#define UA_TYPES_CREATESUBSCRIPTIONRESPONSE 315 - -/* ModifySubscriptionRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - UA_Double requestedPublishingInterval; - UA_UInt32 requestedLifetimeCount; - UA_UInt32 requestedMaxKeepAliveCount; - UA_UInt32 maxNotificationsPerPublish; - UA_Byte priority; -} UA_ModifySubscriptionRequest; - -#define UA_TYPES_MODIFYSUBSCRIPTIONREQUEST 316 - -/* ModifySubscriptionResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_Double revisedPublishingInterval; - UA_UInt32 revisedLifetimeCount; - UA_UInt32 revisedMaxKeepAliveCount; -} UA_ModifySubscriptionResponse; - -#define UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE 317 - -/* SetPublishingModeRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_Boolean publishingEnabled; - size_t subscriptionIdsSize; - UA_UInt32 *subscriptionIds; -} UA_SetPublishingModeRequest; - -#define UA_TYPES_SETPUBLISHINGMODEREQUEST 318 - -/* SetPublishingModeResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_SetPublishingModeResponse; - -#define UA_TYPES_SETPUBLISHINGMODERESPONSE 319 - -/* NotificationMessage */ -typedef struct { - UA_UInt32 sequenceNumber; - UA_DateTime publishTime; - size_t notificationDataSize; - UA_ExtensionObject *notificationData; -} UA_NotificationMessage; - -#define UA_TYPES_NOTIFICATIONMESSAGE 320 - -/* MonitoredItemNotification */ -typedef struct { - UA_UInt32 clientHandle; - UA_DataValue value; -} UA_MonitoredItemNotification; - -#define UA_TYPES_MONITOREDITEMNOTIFICATION 321 - -/* EventFieldList */ -typedef struct { - UA_UInt32 clientHandle; - size_t eventFieldsSize; - UA_Variant *eventFields; -} UA_EventFieldList; - -#define UA_TYPES_EVENTFIELDLIST 322 - -/* HistoryEventFieldList */ -typedef struct { - size_t eventFieldsSize; - UA_Variant *eventFields; -} UA_HistoryEventFieldList; - -#define UA_TYPES_HISTORYEVENTFIELDLIST 323 - -/* StatusChangeNotification */ -typedef struct { - UA_StatusCode status; - UA_DiagnosticInfo diagnosticInfo; -} UA_StatusChangeNotification; - -#define UA_TYPES_STATUSCHANGENOTIFICATION 324 - -/* SubscriptionAcknowledgement */ -typedef struct { - UA_UInt32 subscriptionId; - UA_UInt32 sequenceNumber; -} UA_SubscriptionAcknowledgement; - -#define UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT 325 - -/* PublishRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t subscriptionAcknowledgementsSize; - UA_SubscriptionAcknowledgement *subscriptionAcknowledgements; -} UA_PublishRequest; - -#define UA_TYPES_PUBLISHREQUEST 326 - -/* PublishResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_UInt32 subscriptionId; - size_t availableSequenceNumbersSize; - UA_UInt32 *availableSequenceNumbers; - UA_Boolean moreNotifications; - UA_NotificationMessage notificationMessage; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_PublishResponse; - -#define UA_TYPES_PUBLISHRESPONSE 327 - -/* RepublishRequest */ -typedef struct { - UA_RequestHeader requestHeader; - UA_UInt32 subscriptionId; - UA_UInt32 retransmitSequenceNumber; -} UA_RepublishRequest; - -#define UA_TYPES_REPUBLISHREQUEST 328 - -/* RepublishResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - UA_NotificationMessage notificationMessage; -} UA_RepublishResponse; - -#define UA_TYPES_REPUBLISHRESPONSE 329 - -/* TransferResult */ -typedef struct { - UA_StatusCode statusCode; - size_t availableSequenceNumbersSize; - UA_UInt32 *availableSequenceNumbers; -} UA_TransferResult; - -#define UA_TYPES_TRANSFERRESULT 330 - -/* TransferSubscriptionsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t subscriptionIdsSize; - UA_UInt32 *subscriptionIds; - UA_Boolean sendInitialValues; -} UA_TransferSubscriptionsRequest; - -#define UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST 331 - -/* TransferSubscriptionsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_TransferResult *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_TransferSubscriptionsResponse; - -#define UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE 332 - -/* DeleteSubscriptionsRequest */ -typedef struct { - UA_RequestHeader requestHeader; - size_t subscriptionIdsSize; - UA_UInt32 *subscriptionIds; -} UA_DeleteSubscriptionsRequest; - -#define UA_TYPES_DELETESUBSCRIPTIONSREQUEST 333 - -/* DeleteSubscriptionsResponse */ -typedef struct { - UA_ResponseHeader responseHeader; - size_t resultsSize; - UA_StatusCode *results; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_DeleteSubscriptionsResponse; - -#define UA_TYPES_DELETESUBSCRIPTIONSRESPONSE 334 - -/* BuildInfo */ -typedef struct { - UA_String productUri; - UA_String manufacturerName; - UA_String productName; - UA_String softwareVersion; - UA_String buildNumber; - UA_DateTime buildDate; -} UA_BuildInfo; - -#define UA_TYPES_BUILDINFO 335 - -/* RedundancySupport */ -typedef enum { - UA_REDUNDANCYSUPPORT_NONE = 0, - UA_REDUNDANCYSUPPORT_COLD = 1, - UA_REDUNDANCYSUPPORT_WARM = 2, - UA_REDUNDANCYSUPPORT_HOT = 3, - UA_REDUNDANCYSUPPORT_TRANSPARENT = 4, - UA_REDUNDANCYSUPPORT_HOTANDMIRRORED = 5, - __UA_REDUNDANCYSUPPORT_FORCE32BIT = 0x7fffffff -} UA_RedundancySupport; - -UA_STATIC_ASSERT(sizeof(UA_RedundancySupport) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_REDUNDANCYSUPPORT 336 - -/* ServerState */ -typedef enum { - UA_SERVERSTATE_RUNNING = 0, - UA_SERVERSTATE_FAILED = 1, - UA_SERVERSTATE_NOCONFIGURATION = 2, - UA_SERVERSTATE_SUSPENDED = 3, - UA_SERVERSTATE_SHUTDOWN = 4, - UA_SERVERSTATE_TEST = 5, - UA_SERVERSTATE_COMMUNICATIONFAULT = 6, - UA_SERVERSTATE_UNKNOWN = 7, - __UA_SERVERSTATE_FORCE32BIT = 0x7fffffff -} UA_ServerState; - -UA_STATIC_ASSERT(sizeof(UA_ServerState) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_SERVERSTATE 337 - -/* RedundantServerDataType */ -typedef struct { - UA_String serverId; - UA_Byte serviceLevel; - UA_ServerState serverState; -} UA_RedundantServerDataType; - -#define UA_TYPES_REDUNDANTSERVERDATATYPE 338 - -/* EndpointUrlListDataType */ -typedef struct { - size_t endpointUrlListSize; - UA_String *endpointUrlList; -} UA_EndpointUrlListDataType; - -#define UA_TYPES_ENDPOINTURLLISTDATATYPE 339 - -/* NetworkGroupDataType */ -typedef struct { - UA_String serverUri; - size_t networkPathsSize; - UA_EndpointUrlListDataType *networkPaths; -} UA_NetworkGroupDataType; - -#define UA_TYPES_NETWORKGROUPDATATYPE 340 - -/* SamplingIntervalDiagnosticsDataType */ -typedef struct { - UA_Double samplingInterval; - UA_UInt32 monitoredItemCount; - UA_UInt32 maxMonitoredItemCount; - UA_UInt32 disabledMonitoredItemCount; -} UA_SamplingIntervalDiagnosticsDataType; - -#define UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE 341 - -/* ServerDiagnosticsSummaryDataType */ -typedef struct { - UA_UInt32 serverViewCount; - UA_UInt32 currentSessionCount; - UA_UInt32 cumulatedSessionCount; - UA_UInt32 securityRejectedSessionCount; - UA_UInt32 rejectedSessionCount; - UA_UInt32 sessionTimeoutCount; - UA_UInt32 sessionAbortCount; - UA_UInt32 currentSubscriptionCount; - UA_UInt32 cumulatedSubscriptionCount; - UA_UInt32 publishingIntervalCount; - UA_UInt32 securityRejectedRequestsCount; - UA_UInt32 rejectedRequestsCount; -} UA_ServerDiagnosticsSummaryDataType; - -#define UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE 342 - -/* ServerStatusDataType */ -typedef struct { - UA_DateTime startTime; - UA_DateTime currentTime; - UA_ServerState state; - UA_BuildInfo buildInfo; - UA_UInt32 secondsTillShutdown; - UA_LocalizedText shutdownReason; -} UA_ServerStatusDataType; - -#define UA_TYPES_SERVERSTATUSDATATYPE 343 - -/* SessionSecurityDiagnosticsDataType */ -typedef struct { - UA_NodeId sessionId; - UA_String clientUserIdOfSession; - size_t clientUserIdHistorySize; - UA_String *clientUserIdHistory; - UA_String authenticationMechanism; - UA_String encoding; - UA_String transportProtocol; - UA_MessageSecurityMode securityMode; - UA_String securityPolicyUri; - UA_ByteString clientCertificate; -} UA_SessionSecurityDiagnosticsDataType; - -#define UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE 344 - -/* ServiceCounterDataType */ -typedef struct { - UA_UInt32 totalCount; - UA_UInt32 errorCount; -} UA_ServiceCounterDataType; - -#define UA_TYPES_SERVICECOUNTERDATATYPE 345 - -/* StatusResult */ -typedef struct { - UA_StatusCode statusCode; - UA_DiagnosticInfo diagnosticInfo; -} UA_StatusResult; - -#define UA_TYPES_STATUSRESULT 346 - -/* SubscriptionDiagnosticsDataType */ -typedef struct { - UA_NodeId sessionId; - UA_UInt32 subscriptionId; - UA_Byte priority; - UA_Double publishingInterval; - UA_UInt32 maxKeepAliveCount; - UA_UInt32 maxLifetimeCount; - UA_UInt32 maxNotificationsPerPublish; - UA_Boolean publishingEnabled; - UA_UInt32 modifyCount; - UA_UInt32 enableCount; - UA_UInt32 disableCount; - UA_UInt32 republishRequestCount; - UA_UInt32 republishMessageRequestCount; - UA_UInt32 republishMessageCount; - UA_UInt32 transferRequestCount; - UA_UInt32 transferredToAltClientCount; - UA_UInt32 transferredToSameClientCount; - UA_UInt32 publishRequestCount; - UA_UInt32 dataChangeNotificationsCount; - UA_UInt32 eventNotificationsCount; - UA_UInt32 notificationsCount; - UA_UInt32 latePublishRequestCount; - UA_UInt32 currentKeepAliveCount; - UA_UInt32 currentLifetimeCount; - UA_UInt32 unacknowledgedMessageCount; - UA_UInt32 discardedMessageCount; - UA_UInt32 monitoredItemCount; - UA_UInt32 disabledMonitoredItemCount; - UA_UInt32 monitoringQueueOverflowCount; - UA_UInt32 nextSequenceNumber; - UA_UInt32 eventQueueOverFlowCount; -} UA_SubscriptionDiagnosticsDataType; - -#define UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE 347 - -/* ModelChangeStructureVerbMask */ -typedef enum { - UA_MODELCHANGESTRUCTUREVERBMASK_NODEADDED = 1, - UA_MODELCHANGESTRUCTUREVERBMASK_NODEDELETED = 2, - UA_MODELCHANGESTRUCTUREVERBMASK_REFERENCEADDED = 4, - UA_MODELCHANGESTRUCTUREVERBMASK_REFERENCEDELETED = 8, - UA_MODELCHANGESTRUCTUREVERBMASK_DATATYPECHANGED = 16, - __UA_MODELCHANGESTRUCTUREVERBMASK_FORCE32BIT = 0x7fffffff -} UA_ModelChangeStructureVerbMask; - -UA_STATIC_ASSERT(sizeof(UA_ModelChangeStructureVerbMask) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_MODELCHANGESTRUCTUREVERBMASK 348 - -/* ModelChangeStructureDataType */ -typedef struct { - UA_NodeId affected; - UA_NodeId affectedType; - UA_Byte verb; -} UA_ModelChangeStructureDataType; - -#define UA_TYPES_MODELCHANGESTRUCTUREDATATYPE 349 - -/* SemanticChangeStructureDataType */ -typedef struct { - UA_NodeId affected; - UA_NodeId affectedType; -} UA_SemanticChangeStructureDataType; - -#define UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE 350 - -/* Range */ -typedef struct { - UA_Double low; - UA_Double high; -} UA_Range; - -#define UA_TYPES_RANGE 351 - -/* EUInformation */ -typedef struct { - UA_String namespaceUri; - UA_Int32 unitId; - UA_LocalizedText displayName; - UA_LocalizedText description; -} UA_EUInformation; - -#define UA_TYPES_EUINFORMATION 352 - -/* AxisScaleEnumeration */ -typedef enum { - UA_AXISSCALEENUMERATION_LINEAR = 0, - UA_AXISSCALEENUMERATION_LOG = 1, - UA_AXISSCALEENUMERATION_LN = 2, - __UA_AXISSCALEENUMERATION_FORCE32BIT = 0x7fffffff -} UA_AxisScaleEnumeration; - -UA_STATIC_ASSERT(sizeof(UA_AxisScaleEnumeration) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_AXISSCALEENUMERATION 353 - -/* ComplexNumberType */ -typedef struct { - UA_Float real; - UA_Float imaginary; -} UA_ComplexNumberType; - -#define UA_TYPES_COMPLEXNUMBERTYPE 354 - -/* DoubleComplexNumberType */ -typedef struct { - UA_Double real; - UA_Double imaginary; -} UA_DoubleComplexNumberType; - -#define UA_TYPES_DOUBLECOMPLEXNUMBERTYPE 355 - -/* AxisInformation */ -typedef struct { - UA_EUInformation engineeringUnits; - UA_Range eURange; - UA_LocalizedText title; - UA_AxisScaleEnumeration axisScaleType; - size_t axisStepsSize; - UA_Double *axisSteps; -} UA_AxisInformation; - -#define UA_TYPES_AXISINFORMATION 356 - -/* XVType */ -typedef struct { - UA_Double x; - UA_Float value; -} UA_XVType; - -#define UA_TYPES_XVTYPE 357 - -/* ProgramDiagnosticDataType */ -typedef struct { - UA_NodeId createSessionId; - UA_String createClientName; - UA_DateTime invocationCreationTime; - UA_DateTime lastTransitionTime; - UA_String lastMethodCall; - UA_NodeId lastMethodSessionId; - size_t lastMethodInputArgumentsSize; - UA_Argument *lastMethodInputArguments; - size_t lastMethodOutputArgumentsSize; - UA_Argument *lastMethodOutputArguments; - UA_DateTime lastMethodCallTime; - UA_StatusResult lastMethodReturnStatus; -} UA_ProgramDiagnosticDataType; - -#define UA_TYPES_PROGRAMDIAGNOSTICDATATYPE 358 - -/* ProgramDiagnostic2DataType */ -typedef struct { - UA_NodeId createSessionId; - UA_String createClientName; - UA_DateTime invocationCreationTime; - UA_DateTime lastTransitionTime; - UA_String lastMethodCall; - UA_NodeId lastMethodSessionId; - size_t lastMethodInputArgumentsSize; - UA_Argument *lastMethodInputArguments; - size_t lastMethodOutputArgumentsSize; - UA_Argument *lastMethodOutputArguments; - size_t lastMethodInputValuesSize; - UA_Variant *lastMethodInputValues; - size_t lastMethodOutputValuesSize; - UA_Variant *lastMethodOutputValues; - UA_DateTime lastMethodCallTime; - UA_StatusCode lastMethodReturnStatus; -} UA_ProgramDiagnostic2DataType; - -#define UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE 359 - -/* Annotation */ -typedef struct { - UA_String message; - UA_String userName; - UA_DateTime annotationTime; -} UA_Annotation; - -#define UA_TYPES_ANNOTATION 360 - -/* ExceptionDeviationFormat */ -typedef enum { - UA_EXCEPTIONDEVIATIONFORMAT_ABSOLUTEVALUE = 0, - UA_EXCEPTIONDEVIATIONFORMAT_PERCENTOFVALUE = 1, - UA_EXCEPTIONDEVIATIONFORMAT_PERCENTOFRANGE = 2, - UA_EXCEPTIONDEVIATIONFORMAT_PERCENTOFEURANGE = 3, - UA_EXCEPTIONDEVIATIONFORMAT_UNKNOWN = 4, - __UA_EXCEPTIONDEVIATIONFORMAT_FORCE32BIT = 0x7fffffff -} UA_ExceptionDeviationFormat; - -UA_STATIC_ASSERT(sizeof(UA_ExceptionDeviationFormat) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TYPES_EXCEPTIONDEVIATIONFORMAT 361 - -/* EndpointType */ -typedef struct { - UA_String endpointUrl; - UA_MessageSecurityMode securityMode; - UA_String securityPolicyUri; - UA_String transportProfileUri; -} UA_EndpointType; - -#define UA_TYPES_ENDPOINTTYPE 362 - -/* StructureDescription */ -typedef struct { - UA_NodeId dataTypeId; - UA_QualifiedName name; - UA_StructureDefinition structureDefinition; -} UA_StructureDescription; - -#define UA_TYPES_STRUCTUREDESCRIPTION 363 - -/* FieldMetaData */ -typedef struct { - UA_String name; - UA_LocalizedText description; - UA_DataSetFieldFlags fieldFlags; - UA_Byte builtInType; - UA_NodeId dataType; - UA_Int32 valueRank; - size_t arrayDimensionsSize; - UA_UInt32 *arrayDimensions; - UA_UInt32 maxStringLength; - UA_Guid dataSetFieldId; - size_t propertiesSize; - UA_KeyValuePair *properties; -} UA_FieldMetaData; - -#define UA_TYPES_FIELDMETADATA 364 - -/* PublishedEventsDataType */ -typedef struct { - UA_NodeId eventNotifier; - size_t selectedFieldsSize; - UA_SimpleAttributeOperand *selectedFields; - UA_ContentFilter filter; -} UA_PublishedEventsDataType; - -#define UA_TYPES_PUBLISHEDEVENTSDATATYPE 365 - -/* PubSubGroupDataType */ -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_MessageSecurityMode securityMode; - UA_String securityGroupId; - size_t securityKeyServicesSize; - UA_EndpointDescription *securityKeyServices; - UA_UInt32 maxNetworkMessageSize; - size_t groupPropertiesSize; - UA_KeyValuePair *groupProperties; -} UA_PubSubGroupDataType; - -#define UA_TYPES_PUBSUBGROUPDATATYPE 366 - -/* WriterGroupDataType */ -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_MessageSecurityMode securityMode; - UA_String securityGroupId; - size_t securityKeyServicesSize; - UA_EndpointDescription *securityKeyServices; - UA_UInt32 maxNetworkMessageSize; - size_t groupPropertiesSize; - UA_KeyValuePair *groupProperties; - UA_UInt16 writerGroupId; - UA_Double publishingInterval; - UA_Double keepAliveTime; - UA_Byte priority; - size_t localeIdsSize; - UA_String *localeIds; - UA_String headerLayoutUri; - UA_ExtensionObject transportSettings; - UA_ExtensionObject messageSettings; - size_t dataSetWritersSize; - UA_DataSetWriterDataType *dataSetWriters; -} UA_WriterGroupDataType; - -#define UA_TYPES_WRITERGROUPDATATYPE 367 - -/* FieldTargetDataType */ -typedef struct { - UA_Guid dataSetFieldId; - UA_String receiverIndexRange; - UA_NodeId targetNodeId; - UA_UInt32 attributeId; - UA_String writeIndexRange; - UA_OverrideValueHandling overrideValueHandling; - UA_Variant overrideValue; -} UA_FieldTargetDataType; - -#define UA_TYPES_FIELDTARGETDATATYPE 368 - -/* SubscribedDataSetMirrorDataType */ -typedef struct { - UA_String parentNodeName; - size_t rolePermissionsSize; - UA_RolePermissionType *rolePermissions; -} UA_SubscribedDataSetMirrorDataType; - -#define UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE 369 - -/* SecurityGroupDataType */ -typedef struct { - UA_String name; - size_t securityGroupFolderSize; - UA_String *securityGroupFolder; - UA_Double keyLifetime; - UA_String securityPolicyUri; - UA_UInt32 maxFutureKeyCount; - UA_UInt32 maxPastKeyCount; - UA_String securityGroupId; - size_t rolePermissionsSize; - UA_RolePermissionType *rolePermissions; - size_t groupPropertiesSize; - UA_KeyValuePair *groupProperties; -} UA_SecurityGroupDataType; - -#define UA_TYPES_SECURITYGROUPDATATYPE 370 - -/* PubSubKeyPushTargetDataType */ -typedef struct { - UA_String applicationUri; - size_t pushTargetFolderSize; - UA_String *pushTargetFolder; - UA_String endpointUrl; - UA_String securityPolicyUri; - UA_UserTokenPolicy userTokenType; - UA_UInt16 requestedKeyCount; - UA_Double retryInterval; - size_t pushTargetPropertiesSize; - UA_KeyValuePair *pushTargetProperties; - size_t securityGroupsSize; - UA_String *securityGroups; -} UA_PubSubKeyPushTargetDataType; - -#define UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE 371 - -/* EnumDefinition */ -typedef struct { - size_t fieldsSize; - UA_EnumField *fields; -} UA_EnumDefinition; - -#define UA_TYPES_ENUMDEFINITION 372 - -/* ReadEventDetails */ -typedef struct { - UA_UInt32 numValuesPerNode; - UA_DateTime startTime; - UA_DateTime endTime; - UA_EventFilter filter; -} UA_ReadEventDetails; - -#define UA_TYPES_READEVENTDETAILS 373 - -/* ReadProcessedDetails */ -typedef struct { - UA_DateTime startTime; - UA_DateTime endTime; - UA_Double processingInterval; - size_t aggregateTypeSize; - UA_NodeId *aggregateType; - UA_AggregateConfiguration aggregateConfiguration; -} UA_ReadProcessedDetails; - -#define UA_TYPES_READPROCESSEDDETAILS 374 - -/* ModificationInfo */ -typedef struct { - UA_DateTime modificationTime; - UA_HistoryUpdateType updateType; - UA_String userName; -} UA_ModificationInfo; - -#define UA_TYPES_MODIFICATIONINFO 375 - -/* HistoryModifiedData */ -typedef struct { - size_t dataValuesSize; - UA_DataValue *dataValues; - size_t modificationInfosSize; - UA_ModificationInfo *modificationInfos; -} UA_HistoryModifiedData; - -#define UA_TYPES_HISTORYMODIFIEDDATA 376 - -/* HistoryEvent */ -typedef struct { - size_t eventsSize; - UA_HistoryEventFieldList *events; -} UA_HistoryEvent; - -#define UA_TYPES_HISTORYEVENT 377 - -/* UpdateEventDetails */ -typedef struct { - UA_NodeId nodeId; - UA_PerformUpdateType performInsertReplace; - UA_EventFilter filter; - size_t eventDataSize; - UA_HistoryEventFieldList *eventData; -} UA_UpdateEventDetails; - -#define UA_TYPES_UPDATEEVENTDETAILS 378 - -/* DataChangeNotification */ -typedef struct { - size_t monitoredItemsSize; - UA_MonitoredItemNotification *monitoredItems; - size_t diagnosticInfosSize; - UA_DiagnosticInfo *diagnosticInfos; -} UA_DataChangeNotification; - -#define UA_TYPES_DATACHANGENOTIFICATION 379 - -/* EventNotificationList */ -typedef struct { - size_t eventsSize; - UA_EventFieldList *events; -} UA_EventNotificationList; - -#define UA_TYPES_EVENTNOTIFICATIONLIST 380 - -/* SessionDiagnosticsDataType */ -typedef struct { - UA_NodeId sessionId; - UA_String sessionName; - UA_ApplicationDescription clientDescription; - UA_String serverUri; - UA_String endpointUrl; - size_t localeIdsSize; - UA_String *localeIds; - UA_Double actualSessionTimeout; - UA_UInt32 maxResponseMessageSize; - UA_DateTime clientConnectionTime; - UA_DateTime clientLastContactTime; - UA_UInt32 currentSubscriptionsCount; - UA_UInt32 currentMonitoredItemsCount; - UA_UInt32 currentPublishRequestsInQueue; - UA_ServiceCounterDataType totalRequestCount; - UA_UInt32 unauthorizedRequestCount; - UA_ServiceCounterDataType readCount; - UA_ServiceCounterDataType historyReadCount; - UA_ServiceCounterDataType writeCount; - UA_ServiceCounterDataType historyUpdateCount; - UA_ServiceCounterDataType callCount; - UA_ServiceCounterDataType createMonitoredItemsCount; - UA_ServiceCounterDataType modifyMonitoredItemsCount; - UA_ServiceCounterDataType setMonitoringModeCount; - UA_ServiceCounterDataType setTriggeringCount; - UA_ServiceCounterDataType deleteMonitoredItemsCount; - UA_ServiceCounterDataType createSubscriptionCount; - UA_ServiceCounterDataType modifySubscriptionCount; - UA_ServiceCounterDataType setPublishingModeCount; - UA_ServiceCounterDataType publishCount; - UA_ServiceCounterDataType republishCount; - UA_ServiceCounterDataType transferSubscriptionsCount; - UA_ServiceCounterDataType deleteSubscriptionsCount; - UA_ServiceCounterDataType addNodesCount; - UA_ServiceCounterDataType addReferencesCount; - UA_ServiceCounterDataType deleteNodesCount; - UA_ServiceCounterDataType deleteReferencesCount; - UA_ServiceCounterDataType browseCount; - UA_ServiceCounterDataType browseNextCount; - UA_ServiceCounterDataType translateBrowsePathsToNodeIdsCount; - UA_ServiceCounterDataType queryFirstCount; - UA_ServiceCounterDataType queryNextCount; - UA_ServiceCounterDataType registerNodesCount; - UA_ServiceCounterDataType unregisterNodesCount; -} UA_SessionDiagnosticsDataType; - -#define UA_TYPES_SESSIONDIAGNOSTICSDATATYPE 381 - -/* EnumDescription */ -typedef struct { - UA_NodeId dataTypeId; - UA_QualifiedName name; - UA_EnumDefinition enumDefinition; - UA_Byte builtInType; -} UA_EnumDescription; - -#define UA_TYPES_ENUMDESCRIPTION 382 - -/* UABinaryFileDataType */ -typedef struct { - size_t namespacesSize; - UA_String *namespaces; - size_t structureDataTypesSize; - UA_StructureDescription *structureDataTypes; - size_t enumDataTypesSize; - UA_EnumDescription *enumDataTypes; - size_t simpleDataTypesSize; - UA_SimpleTypeDescription *simpleDataTypes; - UA_String schemaLocation; - size_t fileHeaderSize; - UA_KeyValuePair *fileHeader; - UA_Variant body; -} UA_UABinaryFileDataType; - -#define UA_TYPES_UABINARYFILEDATATYPE 383 - -/* DataSetMetaDataType */ -typedef struct { - size_t namespacesSize; - UA_String *namespaces; - size_t structureDataTypesSize; - UA_StructureDescription *structureDataTypes; - size_t enumDataTypesSize; - UA_EnumDescription *enumDataTypes; - size_t simpleDataTypesSize; - UA_SimpleTypeDescription *simpleDataTypes; - UA_String name; - UA_LocalizedText description; - size_t fieldsSize; - UA_FieldMetaData *fields; - UA_Guid dataSetClassId; - UA_ConfigurationVersionDataType configurationVersion; -} UA_DataSetMetaDataType; - -#define UA_TYPES_DATASETMETADATATYPE 384 - -/* PublishedDataSetDataType */ -typedef struct { - UA_String name; - size_t dataSetFolderSize; - UA_String *dataSetFolder; - UA_DataSetMetaDataType dataSetMetaData; - size_t extensionFieldsSize; - UA_KeyValuePair *extensionFields; - UA_ExtensionObject dataSetSource; -} UA_PublishedDataSetDataType; - -#define UA_TYPES_PUBLISHEDDATASETDATATYPE 385 - -/* DataSetReaderDataType */ -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_Variant publisherId; - UA_UInt16 writerGroupId; - UA_UInt16 dataSetWriterId; - UA_DataSetMetaDataType dataSetMetaData; - UA_DataSetFieldContentMask dataSetFieldContentMask; - UA_Double messageReceiveTimeout; - UA_UInt32 keyFrameCount; - UA_String headerLayoutUri; - UA_MessageSecurityMode securityMode; - UA_String securityGroupId; - size_t securityKeyServicesSize; - UA_EndpointDescription *securityKeyServices; - size_t dataSetReaderPropertiesSize; - UA_KeyValuePair *dataSetReaderProperties; - UA_ExtensionObject transportSettings; - UA_ExtensionObject messageSettings; - UA_ExtensionObject subscribedDataSet; -} UA_DataSetReaderDataType; - -#define UA_TYPES_DATASETREADERDATATYPE 386 - -/* TargetVariablesDataType */ -typedef struct { - size_t targetVariablesSize; - UA_FieldTargetDataType *targetVariables; -} UA_TargetVariablesDataType; - -#define UA_TYPES_TARGETVARIABLESDATATYPE 387 - -/* StandaloneSubscribedDataSetDataType */ -typedef struct { - UA_String name; - size_t dataSetFolderSize; - UA_String *dataSetFolder; - UA_DataSetMetaDataType dataSetMetaData; - UA_ExtensionObject subscribedDataSet; -} UA_StandaloneSubscribedDataSetDataType; - -#define UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE 388 - -/* DataTypeSchemaHeader */ -typedef struct { - size_t namespacesSize; - UA_String *namespaces; - size_t structureDataTypesSize; - UA_StructureDescription *structureDataTypes; - size_t enumDataTypesSize; - UA_EnumDescription *enumDataTypes; - size_t simpleDataTypesSize; - UA_SimpleTypeDescription *simpleDataTypes; -} UA_DataTypeSchemaHeader; - -#define UA_TYPES_DATATYPESCHEMAHEADER 389 - -/* ReaderGroupDataType */ -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_MessageSecurityMode securityMode; - UA_String securityGroupId; - size_t securityKeyServicesSize; - UA_EndpointDescription *securityKeyServices; - UA_UInt32 maxNetworkMessageSize; - size_t groupPropertiesSize; - UA_KeyValuePair *groupProperties; - UA_ExtensionObject transportSettings; - UA_ExtensionObject messageSettings; - size_t dataSetReadersSize; - UA_DataSetReaderDataType *dataSetReaders; -} UA_ReaderGroupDataType; - -#define UA_TYPES_READERGROUPDATATYPE 390 - -/* PubSubConnectionDataType */ -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_Variant publisherId; - UA_String transportProfileUri; - UA_ExtensionObject address; - size_t connectionPropertiesSize; - UA_KeyValuePair *connectionProperties; - UA_ExtensionObject transportSettings; - size_t writerGroupsSize; - UA_WriterGroupDataType *writerGroups; - size_t readerGroupsSize; - UA_ReaderGroupDataType *readerGroups; -} UA_PubSubConnectionDataType; - -#define UA_TYPES_PUBSUBCONNECTIONDATATYPE 391 - -/* PubSubConfigurationDataType */ -typedef struct { - size_t publishedDataSetsSize; - UA_PublishedDataSetDataType *publishedDataSets; - size_t connectionsSize; - UA_PubSubConnectionDataType *connections; - UA_Boolean enabled; -} UA_PubSubConfigurationDataType; - -#define UA_TYPES_PUBSUBCONFIGURATIONDATATYPE 392 - -/* PubSubConfiguration2DataType */ -typedef struct { - size_t publishedDataSetsSize; - UA_PublishedDataSetDataType *publishedDataSets; - size_t connectionsSize; - UA_PubSubConnectionDataType *connections; - UA_Boolean enabled; - size_t subscribedDataSetsSize; - UA_StandaloneSubscribedDataSetDataType *subscribedDataSets; - size_t dataSetClassesSize; - UA_DataSetMetaDataType *dataSetClasses; - size_t defaultSecurityKeyServicesSize; - UA_EndpointDescription *defaultSecurityKeyServices; - size_t securityGroupsSize; - UA_SecurityGroupDataType *securityGroups; - size_t pubSubKeyPushTargetsSize; - UA_PubSubKeyPushTargetDataType *pubSubKeyPushTargets; - UA_UInt32 configurationVersion; - size_t configurationPropertiesSize; - UA_KeyValuePair *configurationProperties; -} UA_PubSubConfiguration2DataType; - -#define UA_TYPES_PUBSUBCONFIGURATION2DATATYPE 393 - - -_UA_END_DECLS - - -/**** amalgamated original file "/build/src_generated/open62541/types_generated_handling.h" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - - - -_UA_BEGIN_DECLS - -#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wmissing-field-initializers" -# pragma GCC diagnostic ignored "-Wmissing-braces" -#endif - - -/* Boolean */ -static UA_INLINE void -UA_Boolean_init(UA_Boolean *p) { - memset(p, 0, sizeof(UA_Boolean)); -} - -static UA_INLINE UA_Boolean * -UA_Boolean_new(void) { - return (UA_Boolean*)UA_new(&UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Boolean_copy(const UA_Boolean *src, UA_Boolean *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Boolean_deleteMembers(UA_Boolean *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE void -UA_Boolean_clear(UA_Boolean *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE void -UA_Boolean_delete(UA_Boolean *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BOOLEAN]); -}static UA_INLINE UA_Boolean -UA_Boolean_equal(const UA_Boolean *p1, const UA_Boolean *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BOOLEAN]) == UA_ORDER_EQ); -} - - - -/* SByte */ -static UA_INLINE void -UA_SByte_init(UA_SByte *p) { - memset(p, 0, sizeof(UA_SByte)); -} - -static UA_INLINE UA_SByte * -UA_SByte_new(void) { - return (UA_SByte*)UA_new(&UA_TYPES[UA_TYPES_SBYTE]); -} - -static UA_INLINE UA_StatusCode -UA_SByte_copy(const UA_SByte *src, UA_SByte *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SBYTE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SByte_deleteMembers(UA_SByte *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SBYTE]); -} - -static UA_INLINE void -UA_SByte_clear(UA_SByte *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SBYTE]); -} - -static UA_INLINE void -UA_SByte_delete(UA_SByte *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SBYTE]); -}static UA_INLINE UA_Boolean -UA_SByte_equal(const UA_SByte *p1, const UA_SByte *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SBYTE]) == UA_ORDER_EQ); -} - - - -/* Byte */ -static UA_INLINE void -UA_Byte_init(UA_Byte *p) { - memset(p, 0, sizeof(UA_Byte)); -} - -static UA_INLINE UA_Byte * -UA_Byte_new(void) { - return (UA_Byte*)UA_new(&UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Byte_copy(const UA_Byte *src, UA_Byte *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BYTE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Byte_deleteMembers(UA_Byte *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE void -UA_Byte_clear(UA_Byte *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE void -UA_Byte_delete(UA_Byte *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BYTE]); -}static UA_INLINE UA_Boolean -UA_Byte_equal(const UA_Byte *p1, const UA_Byte *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BYTE]) == UA_ORDER_EQ); -} - - - -/* Int16 */ -static UA_INLINE void -UA_Int16_init(UA_Int16 *p) { - memset(p, 0, sizeof(UA_Int16)); -} - -static UA_INLINE UA_Int16 * -UA_Int16_new(void) { - return (UA_Int16*)UA_new(&UA_TYPES[UA_TYPES_INT16]); -} - -static UA_INLINE UA_StatusCode -UA_Int16_copy(const UA_Int16 *src, UA_Int16 *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INT16]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Int16_deleteMembers(UA_Int16 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INT16]); -} - -static UA_INLINE void -UA_Int16_clear(UA_Int16 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INT16]); -} - -static UA_INLINE void -UA_Int16_delete(UA_Int16 *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INT16]); -}static UA_INLINE UA_Boolean -UA_Int16_equal(const UA_Int16 *p1, const UA_Int16 *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INT16]) == UA_ORDER_EQ); -} - - - -/* UInt16 */ -static UA_INLINE void -UA_UInt16_init(UA_UInt16 *p) { - memset(p, 0, sizeof(UA_UInt16)); -} - -static UA_INLINE UA_UInt16 * -UA_UInt16_new(void) { - return (UA_UInt16*)UA_new(&UA_TYPES[UA_TYPES_UINT16]); -} - -static UA_INLINE UA_StatusCode -UA_UInt16_copy(const UA_UInt16 *src, UA_UInt16 *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UINT16]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UInt16_deleteMembers(UA_UInt16 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UINT16]); -} - -static UA_INLINE void -UA_UInt16_clear(UA_UInt16 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UINT16]); -} - -static UA_INLINE void -UA_UInt16_delete(UA_UInt16 *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UINT16]); -}static UA_INLINE UA_Boolean -UA_UInt16_equal(const UA_UInt16 *p1, const UA_UInt16 *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UINT16]) == UA_ORDER_EQ); -} - - - -/* Int32 */ -static UA_INLINE void -UA_Int32_init(UA_Int32 *p) { - memset(p, 0, sizeof(UA_Int32)); -} - -static UA_INLINE UA_Int32 * -UA_Int32_new(void) { - return (UA_Int32*)UA_new(&UA_TYPES[UA_TYPES_INT32]); -} - -static UA_INLINE UA_StatusCode -UA_Int32_copy(const UA_Int32 *src, UA_Int32 *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INT32]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Int32_deleteMembers(UA_Int32 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INT32]); -} - -static UA_INLINE void -UA_Int32_clear(UA_Int32 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INT32]); -} - -static UA_INLINE void -UA_Int32_delete(UA_Int32 *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INT32]); -}static UA_INLINE UA_Boolean -UA_Int32_equal(const UA_Int32 *p1, const UA_Int32 *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INT32]) == UA_ORDER_EQ); -} - - - -/* UInt32 */ -static UA_INLINE void -UA_UInt32_init(UA_UInt32 *p) { - memset(p, 0, sizeof(UA_UInt32)); -} - -static UA_INLINE UA_UInt32 * -UA_UInt32_new(void) { - return (UA_UInt32*)UA_new(&UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_UInt32_copy(const UA_UInt32 *src, UA_UInt32 *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UINT32]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UInt32_deleteMembers(UA_UInt32 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE void -UA_UInt32_clear(UA_UInt32 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE void -UA_UInt32_delete(UA_UInt32 *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UINT32]); -}static UA_INLINE UA_Boolean -UA_UInt32_equal(const UA_UInt32 *p1, const UA_UInt32 *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UINT32]) == UA_ORDER_EQ); -} - - - -/* Int64 */ -static UA_INLINE void -UA_Int64_init(UA_Int64 *p) { - memset(p, 0, sizeof(UA_Int64)); -} - -static UA_INLINE UA_Int64 * -UA_Int64_new(void) { - return (UA_Int64*)UA_new(&UA_TYPES[UA_TYPES_INT64]); -} - -static UA_INLINE UA_StatusCode -UA_Int64_copy(const UA_Int64 *src, UA_Int64 *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INT64]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Int64_deleteMembers(UA_Int64 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INT64]); -} - -static UA_INLINE void -UA_Int64_clear(UA_Int64 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INT64]); -} - -static UA_INLINE void -UA_Int64_delete(UA_Int64 *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INT64]); -}static UA_INLINE UA_Boolean -UA_Int64_equal(const UA_Int64 *p1, const UA_Int64 *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INT64]) == UA_ORDER_EQ); -} - - - -/* UInt64 */ -static UA_INLINE void -UA_UInt64_init(UA_UInt64 *p) { - memset(p, 0, sizeof(UA_UInt64)); -} - -static UA_INLINE UA_UInt64 * -UA_UInt64_new(void) { - return (UA_UInt64*)UA_new(&UA_TYPES[UA_TYPES_UINT64]); -} - -static UA_INLINE UA_StatusCode -UA_UInt64_copy(const UA_UInt64 *src, UA_UInt64 *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UINT64]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UInt64_deleteMembers(UA_UInt64 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UINT64]); -} - -static UA_INLINE void -UA_UInt64_clear(UA_UInt64 *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UINT64]); -} - -static UA_INLINE void -UA_UInt64_delete(UA_UInt64 *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UINT64]); -}static UA_INLINE UA_Boolean -UA_UInt64_equal(const UA_UInt64 *p1, const UA_UInt64 *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UINT64]) == UA_ORDER_EQ); -} - - - -/* Float */ -static UA_INLINE void -UA_Float_init(UA_Float *p) { - memset(p, 0, sizeof(UA_Float)); -} - -static UA_INLINE UA_Float * -UA_Float_new(void) { - return (UA_Float*)UA_new(&UA_TYPES[UA_TYPES_FLOAT]); -} - -static UA_INLINE UA_StatusCode -UA_Float_copy(const UA_Float *src, UA_Float *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FLOAT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Float_deleteMembers(UA_Float *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FLOAT]); -} - -static UA_INLINE void -UA_Float_clear(UA_Float *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FLOAT]); -} - -static UA_INLINE void -UA_Float_delete(UA_Float *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FLOAT]); -}static UA_INLINE UA_Boolean -UA_Float_equal(const UA_Float *p1, const UA_Float *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FLOAT]) == UA_ORDER_EQ); -} - - - -/* Double */ -static UA_INLINE void -UA_Double_init(UA_Double *p) { - memset(p, 0, sizeof(UA_Double)); -} - -static UA_INLINE UA_Double * -UA_Double_new(void) { - return (UA_Double*)UA_new(&UA_TYPES[UA_TYPES_DOUBLE]); -} - -static UA_INLINE UA_StatusCode -UA_Double_copy(const UA_Double *src, UA_Double *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DOUBLE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Double_deleteMembers(UA_Double *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLE]); -} - -static UA_INLINE void -UA_Double_clear(UA_Double *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLE]); -} - -static UA_INLINE void -UA_Double_delete(UA_Double *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DOUBLE]); -}static UA_INLINE UA_Boolean -UA_Double_equal(const UA_Double *p1, const UA_Double *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DOUBLE]) == UA_ORDER_EQ); -} - - - -/* String */ -static UA_INLINE void -UA_String_init(UA_String *p) { - memset(p, 0, sizeof(UA_String)); -} - -static UA_INLINE UA_String * -UA_String_new(void) { - return (UA_String*)UA_new(&UA_TYPES[UA_TYPES_STRING]); -} - -static UA_INLINE UA_StatusCode -UA_String_copy(const UA_String *src, UA_String *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_String_deleteMembers(UA_String *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRING]); -} - -static UA_INLINE void -UA_String_clear(UA_String *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRING]); -} - -static UA_INLINE void -UA_String_delete(UA_String *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STRING]); -}static UA_INLINE UA_Boolean -UA_String_equal(const UA_String *p1, const UA_String *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRING]) == UA_ORDER_EQ); -} - - - -/* DateTime */ -static UA_INLINE void -UA_DateTime_init(UA_DateTime *p) { - memset(p, 0, sizeof(UA_DateTime)); -} - -static UA_INLINE UA_DateTime * -UA_DateTime_new(void) { - return (UA_DateTime*)UA_new(&UA_TYPES[UA_TYPES_DATETIME]); -} - -static UA_INLINE UA_StatusCode -UA_DateTime_copy(const UA_DateTime *src, UA_DateTime *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATETIME]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DateTime_deleteMembers(UA_DateTime *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATETIME]); -} - -static UA_INLINE void -UA_DateTime_clear(UA_DateTime *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATETIME]); -} - -static UA_INLINE void -UA_DateTime_delete(UA_DateTime *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATETIME]); -}static UA_INLINE UA_Boolean -UA_DateTime_equal(const UA_DateTime *p1, const UA_DateTime *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATETIME]) == UA_ORDER_EQ); -} - - - -/* Guid */ -static UA_INLINE void -UA_Guid_init(UA_Guid *p) { - memset(p, 0, sizeof(UA_Guid)); -} - -static UA_INLINE UA_Guid * -UA_Guid_new(void) { - return (UA_Guid*)UA_new(&UA_TYPES[UA_TYPES_GUID]); -} - -static UA_INLINE UA_StatusCode -UA_Guid_copy(const UA_Guid *src, UA_Guid *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GUID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Guid_deleteMembers(UA_Guid *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GUID]); -} - -static UA_INLINE void -UA_Guid_clear(UA_Guid *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GUID]); -} - -static UA_INLINE void -UA_Guid_delete(UA_Guid *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_GUID]); -}static UA_INLINE UA_Boolean -UA_Guid_equal(const UA_Guid *p1, const UA_Guid *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GUID]) == UA_ORDER_EQ); -} - - - -/* ByteString */ -static UA_INLINE void -UA_ByteString_init(UA_ByteString *p) { - memset(p, 0, sizeof(UA_ByteString)); -} - -static UA_INLINE UA_ByteString * -UA_ByteString_new(void) { - return (UA_ByteString*)UA_new(&UA_TYPES[UA_TYPES_BYTESTRING]); -} - -static UA_INLINE UA_StatusCode -UA_ByteString_copy(const UA_ByteString *src, UA_ByteString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BYTESTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ByteString_deleteMembers(UA_ByteString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BYTESTRING]); -} - -static UA_INLINE void -UA_ByteString_clear(UA_ByteString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BYTESTRING]); -} - -static UA_INLINE void -UA_ByteString_delete(UA_ByteString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BYTESTRING]); -}static UA_INLINE UA_Boolean -UA_ByteString_equal(const UA_ByteString *p1, const UA_ByteString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BYTESTRING]) == UA_ORDER_EQ); -} - - - -/* XmlElement */ -static UA_INLINE void -UA_XmlElement_init(UA_XmlElement *p) { - memset(p, 0, sizeof(UA_XmlElement)); -} - -static UA_INLINE UA_XmlElement * -UA_XmlElement_new(void) { - return (UA_XmlElement*)UA_new(&UA_TYPES[UA_TYPES_XMLELEMENT]); -} - -static UA_INLINE UA_StatusCode -UA_XmlElement_copy(const UA_XmlElement *src, UA_XmlElement *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_XMLELEMENT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_XmlElement_deleteMembers(UA_XmlElement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_XMLELEMENT]); -} - -static UA_INLINE void -UA_XmlElement_clear(UA_XmlElement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_XMLELEMENT]); -} - -static UA_INLINE void -UA_XmlElement_delete(UA_XmlElement *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_XMLELEMENT]); -}static UA_INLINE UA_Boolean -UA_XmlElement_equal(const UA_XmlElement *p1, const UA_XmlElement *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_XMLELEMENT]) == UA_ORDER_EQ); -} - - - -/* NodeId */ -static UA_INLINE void -UA_NodeId_init(UA_NodeId *p) { - memset(p, 0, sizeof(UA_NodeId)); -} - -static UA_INLINE UA_NodeId * -UA_NodeId_new(void) { - return (UA_NodeId*)UA_new(&UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE UA_StatusCode -UA_NodeId_copy(const UA_NodeId *src, UA_NodeId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NodeId_deleteMembers(UA_NodeId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE void -UA_NodeId_clear(UA_NodeId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE void -UA_NodeId_delete(UA_NodeId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NODEID]); -}static UA_INLINE UA_Boolean -UA_NodeId_equal(const UA_NodeId *p1, const UA_NodeId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEID]) == UA_ORDER_EQ); -} - - - -/* ExpandedNodeId */ -static UA_INLINE void -UA_ExpandedNodeId_init(UA_ExpandedNodeId *p) { - memset(p, 0, sizeof(UA_ExpandedNodeId)); -} - -static UA_INLINE UA_ExpandedNodeId * -UA_ExpandedNodeId_new(void) { - return (UA_ExpandedNodeId*)UA_new(&UA_TYPES[UA_TYPES_EXPANDEDNODEID]); -} - -static UA_INLINE UA_StatusCode -UA_ExpandedNodeId_copy(const UA_ExpandedNodeId *src, UA_ExpandedNodeId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ExpandedNodeId_deleteMembers(UA_ExpandedNodeId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); -} - -static UA_INLINE void -UA_ExpandedNodeId_clear(UA_ExpandedNodeId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); -} - -static UA_INLINE void -UA_ExpandedNodeId_delete(UA_ExpandedNodeId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); -}static UA_INLINE UA_Boolean -UA_ExpandedNodeId_equal(const UA_ExpandedNodeId *p1, const UA_ExpandedNodeId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]) == UA_ORDER_EQ); -} - - - -/* StatusCode */ -static UA_INLINE void -UA_StatusCode_init(UA_StatusCode *p) { - memset(p, 0, sizeof(UA_StatusCode)); -} - -static UA_INLINE UA_StatusCode * -UA_StatusCode_new(void) { - return (UA_StatusCode*)UA_new(&UA_TYPES[UA_TYPES_STATUSCODE]); -} - -static UA_INLINE UA_StatusCode -UA_StatusCode_copy(const UA_StatusCode *src, UA_StatusCode *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StatusCode_deleteMembers(UA_StatusCode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -static UA_INLINE void -UA_StatusCode_clear(UA_StatusCode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -static UA_INLINE void -UA_StatusCode_delete(UA_StatusCode *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STATUSCODE]); -}static UA_INLINE UA_Boolean -UA_StatusCode_equal(const UA_StatusCode *p1, const UA_StatusCode *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STATUSCODE]) == UA_ORDER_EQ); -} - - - -/* QualifiedName */ -static UA_INLINE void -UA_QualifiedName_init(UA_QualifiedName *p) { - memset(p, 0, sizeof(UA_QualifiedName)); -} - -static UA_INLINE UA_QualifiedName * -UA_QualifiedName_new(void) { - return (UA_QualifiedName*)UA_new(&UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -} - -static UA_INLINE UA_StatusCode -UA_QualifiedName_copy(const UA_QualifiedName *src, UA_QualifiedName *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QualifiedName_deleteMembers(UA_QualifiedName *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -} - -static UA_INLINE void -UA_QualifiedName_clear(UA_QualifiedName *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -} - -static UA_INLINE void -UA_QualifiedName_delete(UA_QualifiedName *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -}static UA_INLINE UA_Boolean -UA_QualifiedName_equal(const UA_QualifiedName *p1, const UA_QualifiedName *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUALIFIEDNAME]) == UA_ORDER_EQ); -} - - - -/* LocalizedText */ -static UA_INLINE void -UA_LocalizedText_init(UA_LocalizedText *p) { - memset(p, 0, sizeof(UA_LocalizedText)); -} - -static UA_INLINE UA_LocalizedText * -UA_LocalizedText_new(void) { - return (UA_LocalizedText*)UA_new(&UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_LocalizedText_copy(const UA_LocalizedText *src, UA_LocalizedText *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_LocalizedText_deleteMembers(UA_LocalizedText *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE void -UA_LocalizedText_clear(UA_LocalizedText *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE void -UA_LocalizedText_delete(UA_LocalizedText *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -}static UA_INLINE UA_Boolean -UA_LocalizedText_equal(const UA_LocalizedText *p1, const UA_LocalizedText *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]) == UA_ORDER_EQ); -} - - - -/* ExtensionObject */ -static UA_INLINE void -UA_ExtensionObject_init(UA_ExtensionObject *p) { - memset(p, 0, sizeof(UA_ExtensionObject)); -} - -static UA_INLINE UA_ExtensionObject * -UA_ExtensionObject_new(void) { - return (UA_ExtensionObject*)UA_new(&UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); -} - -static UA_INLINE UA_StatusCode -UA_ExtensionObject_copy(const UA_ExtensionObject *src, UA_ExtensionObject *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ExtensionObject_deleteMembers(UA_ExtensionObject *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); -} - -static UA_INLINE void -UA_ExtensionObject_clear(UA_ExtensionObject *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); -} - -static UA_INLINE void -UA_ExtensionObject_delete(UA_ExtensionObject *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); -}static UA_INLINE UA_Boolean -UA_ExtensionObject_equal(const UA_ExtensionObject *p1, const UA_ExtensionObject *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) == UA_ORDER_EQ); -} - - - -/* DataValue */ -static UA_INLINE void -UA_DataValue_init(UA_DataValue *p) { - memset(p, 0, sizeof(UA_DataValue)); -} - -static UA_INLINE UA_DataValue * -UA_DataValue_new(void) { - return (UA_DataValue*)UA_new(&UA_TYPES[UA_TYPES_DATAVALUE]); -} - -static UA_INLINE UA_StatusCode -UA_DataValue_copy(const UA_DataValue *src, UA_DataValue *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAVALUE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataValue_deleteMembers(UA_DataValue *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAVALUE]); -} - -static UA_INLINE void -UA_DataValue_clear(UA_DataValue *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAVALUE]); -} - -static UA_INLINE void -UA_DataValue_delete(UA_DataValue *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATAVALUE]); -}static UA_INLINE UA_Boolean -UA_DataValue_equal(const UA_DataValue *p1, const UA_DataValue *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAVALUE]) == UA_ORDER_EQ); -} - - - -/* Variant */ -static UA_INLINE void -UA_Variant_init(UA_Variant *p) { - memset(p, 0, sizeof(UA_Variant)); -} - -static UA_INLINE UA_Variant * -UA_Variant_new(void) { - return (UA_Variant*)UA_new(&UA_TYPES[UA_TYPES_VARIANT]); -} - -static UA_INLINE UA_StatusCode -UA_Variant_copy(const UA_Variant *src, UA_Variant *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VARIANT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Variant_deleteMembers(UA_Variant *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VARIANT]); -} - -static UA_INLINE void -UA_Variant_clear(UA_Variant *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VARIANT]); -} - -static UA_INLINE void -UA_Variant_delete(UA_Variant *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_VARIANT]); -}static UA_INLINE UA_Boolean -UA_Variant_equal(const UA_Variant *p1, const UA_Variant *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VARIANT]) == UA_ORDER_EQ); -} - - - -/* DiagnosticInfo */ -static UA_INLINE void -UA_DiagnosticInfo_init(UA_DiagnosticInfo *p) { - memset(p, 0, sizeof(UA_DiagnosticInfo)); -} - -static UA_INLINE UA_DiagnosticInfo * -UA_DiagnosticInfo_new(void) { - return (UA_DiagnosticInfo*)UA_new(&UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); -} - -static UA_INLINE UA_StatusCode -UA_DiagnosticInfo_copy(const UA_DiagnosticInfo *src, UA_DiagnosticInfo *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DiagnosticInfo_deleteMembers(UA_DiagnosticInfo *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); -} - -static UA_INLINE void -UA_DiagnosticInfo_clear(UA_DiagnosticInfo *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); -} - -static UA_INLINE void -UA_DiagnosticInfo_delete(UA_DiagnosticInfo *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]); -}static UA_INLINE UA_Boolean -UA_DiagnosticInfo_equal(const UA_DiagnosticInfo *p1, const UA_DiagnosticInfo *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DIAGNOSTICINFO]) == UA_ORDER_EQ); -} - - - -/* NamingRuleType */ -static UA_INLINE void -UA_NamingRuleType_init(UA_NamingRuleType *p) { - memset(p, 0, sizeof(UA_NamingRuleType)); -} - -static UA_INLINE UA_NamingRuleType * -UA_NamingRuleType_new(void) { - return (UA_NamingRuleType*)UA_new(&UA_TYPES[UA_TYPES_NAMINGRULETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_NamingRuleType_copy(const UA_NamingRuleType *src, UA_NamingRuleType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NamingRuleType_deleteMembers(UA_NamingRuleType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); -} - -static UA_INLINE void -UA_NamingRuleType_clear(UA_NamingRuleType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); -} - -static UA_INLINE void -UA_NamingRuleType_delete(UA_NamingRuleType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]); -}static UA_INLINE UA_Boolean -UA_NamingRuleType_equal(const UA_NamingRuleType *p1, const UA_NamingRuleType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NAMINGRULETYPE]) == UA_ORDER_EQ); -} - - - -/* Enumeration */ -static UA_INLINE void -UA_Enumeration_init(UA_Enumeration *p) { - memset(p, 0, sizeof(UA_Enumeration)); -} - -static UA_INLINE UA_Enumeration * -UA_Enumeration_new(void) { - return (UA_Enumeration*)UA_new(&UA_TYPES[UA_TYPES_ENUMERATION]); -} - -static UA_INLINE UA_StatusCode -UA_Enumeration_copy(const UA_Enumeration *src, UA_Enumeration *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMERATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Enumeration_deleteMembers(UA_Enumeration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMERATION]); -} - -static UA_INLINE void -UA_Enumeration_clear(UA_Enumeration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMERATION]); -} - -static UA_INLINE void -UA_Enumeration_delete(UA_Enumeration *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENUMERATION]); -}static UA_INLINE UA_Boolean -UA_Enumeration_equal(const UA_Enumeration *p1, const UA_Enumeration *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMERATION]) == UA_ORDER_EQ); -} - - - -/* ImageBMP */ -static UA_INLINE void -UA_ImageBMP_init(UA_ImageBMP *p) { - memset(p, 0, sizeof(UA_ImageBMP)); -} - -static UA_INLINE UA_ImageBMP * -UA_ImageBMP_new(void) { - return (UA_ImageBMP*)UA_new(&UA_TYPES[UA_TYPES_IMAGEBMP]); -} - -static UA_INLINE UA_StatusCode -UA_ImageBMP_copy(const UA_ImageBMP *src, UA_ImageBMP *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEBMP]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ImageBMP_deleteMembers(UA_ImageBMP *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEBMP]); -} - -static UA_INLINE void -UA_ImageBMP_clear(UA_ImageBMP *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEBMP]); -} - -static UA_INLINE void -UA_ImageBMP_delete(UA_ImageBMP *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEBMP]); -}static UA_INLINE UA_Boolean -UA_ImageBMP_equal(const UA_ImageBMP *p1, const UA_ImageBMP *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEBMP]) == UA_ORDER_EQ); -} - - - -/* ImageGIF */ -static UA_INLINE void -UA_ImageGIF_init(UA_ImageGIF *p) { - memset(p, 0, sizeof(UA_ImageGIF)); -} - -static UA_INLINE UA_ImageGIF * -UA_ImageGIF_new(void) { - return (UA_ImageGIF*)UA_new(&UA_TYPES[UA_TYPES_IMAGEGIF]); -} - -static UA_INLINE UA_StatusCode -UA_ImageGIF_copy(const UA_ImageGIF *src, UA_ImageGIF *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEGIF]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ImageGIF_deleteMembers(UA_ImageGIF *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEGIF]); -} - -static UA_INLINE void -UA_ImageGIF_clear(UA_ImageGIF *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEGIF]); -} - -static UA_INLINE void -UA_ImageGIF_delete(UA_ImageGIF *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEGIF]); -}static UA_INLINE UA_Boolean -UA_ImageGIF_equal(const UA_ImageGIF *p1, const UA_ImageGIF *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEGIF]) == UA_ORDER_EQ); -} - - - -/* ImageJPG */ -static UA_INLINE void -UA_ImageJPG_init(UA_ImageJPG *p) { - memset(p, 0, sizeof(UA_ImageJPG)); -} - -static UA_INLINE UA_ImageJPG * -UA_ImageJPG_new(void) { - return (UA_ImageJPG*)UA_new(&UA_TYPES[UA_TYPES_IMAGEJPG]); -} - -static UA_INLINE UA_StatusCode -UA_ImageJPG_copy(const UA_ImageJPG *src, UA_ImageJPG *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEJPG]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ImageJPG_deleteMembers(UA_ImageJPG *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEJPG]); -} - -static UA_INLINE void -UA_ImageJPG_clear(UA_ImageJPG *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEJPG]); -} - -static UA_INLINE void -UA_ImageJPG_delete(UA_ImageJPG *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEJPG]); -}static UA_INLINE UA_Boolean -UA_ImageJPG_equal(const UA_ImageJPG *p1, const UA_ImageJPG *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEJPG]) == UA_ORDER_EQ); -} - - - -/* ImagePNG */ -static UA_INLINE void -UA_ImagePNG_init(UA_ImagePNG *p) { - memset(p, 0, sizeof(UA_ImagePNG)); -} - -static UA_INLINE UA_ImagePNG * -UA_ImagePNG_new(void) { - return (UA_ImagePNG*)UA_new(&UA_TYPES[UA_TYPES_IMAGEPNG]); -} - -static UA_INLINE UA_StatusCode -UA_ImagePNG_copy(const UA_ImagePNG *src, UA_ImagePNG *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IMAGEPNG]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ImagePNG_deleteMembers(UA_ImagePNG *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEPNG]); -} - -static UA_INLINE void -UA_ImagePNG_clear(UA_ImagePNG *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IMAGEPNG]); -} - -static UA_INLINE void -UA_ImagePNG_delete(UA_ImagePNG *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IMAGEPNG]); -}static UA_INLINE UA_Boolean -UA_ImagePNG_equal(const UA_ImagePNG *p1, const UA_ImagePNG *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IMAGEPNG]) == UA_ORDER_EQ); -} - - - -/* AudioDataType */ -static UA_INLINE void -UA_AudioDataType_init(UA_AudioDataType *p) { - memset(p, 0, sizeof(UA_AudioDataType)); -} - -static UA_INLINE UA_AudioDataType * -UA_AudioDataType_new(void) { - return (UA_AudioDataType*)UA_new(&UA_TYPES[UA_TYPES_AUDIODATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_AudioDataType_copy(const UA_AudioDataType *src, UA_AudioDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AudioDataType_deleteMembers(UA_AudioDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); -} - -static UA_INLINE void -UA_AudioDataType_clear(UA_AudioDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); -} - -static UA_INLINE void -UA_AudioDataType_delete(UA_AudioDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_AUDIODATATYPE]); -}static UA_INLINE UA_Boolean -UA_AudioDataType_equal(const UA_AudioDataType *p1, const UA_AudioDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AUDIODATATYPE]) == UA_ORDER_EQ); -} - - - -/* UriString */ -static UA_INLINE void -UA_UriString_init(UA_UriString *p) { - memset(p, 0, sizeof(UA_UriString)); -} - -static UA_INLINE UA_UriString * -UA_UriString_new(void) { - return (UA_UriString*)UA_new(&UA_TYPES[UA_TYPES_URISTRING]); -} - -static UA_INLINE UA_StatusCode -UA_UriString_copy(const UA_UriString *src, UA_UriString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_URISTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UriString_deleteMembers(UA_UriString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_URISTRING]); -} - -static UA_INLINE void -UA_UriString_clear(UA_UriString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_URISTRING]); -} - -static UA_INLINE void -UA_UriString_delete(UA_UriString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_URISTRING]); -}static UA_INLINE UA_Boolean -UA_UriString_equal(const UA_UriString *p1, const UA_UriString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_URISTRING]) == UA_ORDER_EQ); -} - - - -/* BitFieldMaskDataType */ -static UA_INLINE void -UA_BitFieldMaskDataType_init(UA_BitFieldMaskDataType *p) { - memset(p, 0, sizeof(UA_BitFieldMaskDataType)); -} - -static UA_INLINE UA_BitFieldMaskDataType * -UA_BitFieldMaskDataType_new(void) { - return (UA_BitFieldMaskDataType*)UA_new(&UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_BitFieldMaskDataType_copy(const UA_BitFieldMaskDataType *src, UA_BitFieldMaskDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BitFieldMaskDataType_deleteMembers(UA_BitFieldMaskDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); -} - -static UA_INLINE void -UA_BitFieldMaskDataType_clear(UA_BitFieldMaskDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); -} - -static UA_INLINE void -UA_BitFieldMaskDataType_delete(UA_BitFieldMaskDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]); -}static UA_INLINE UA_Boolean -UA_BitFieldMaskDataType_equal(const UA_BitFieldMaskDataType *p1, const UA_BitFieldMaskDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BITFIELDMASKDATATYPE]) == UA_ORDER_EQ); -} - - - -/* SemanticVersionString */ -static UA_INLINE void -UA_SemanticVersionString_init(UA_SemanticVersionString *p) { - memset(p, 0, sizeof(UA_SemanticVersionString)); -} - -static UA_INLINE UA_SemanticVersionString * -UA_SemanticVersionString_new(void) { - return (UA_SemanticVersionString*)UA_new(&UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); -} - -static UA_INLINE UA_StatusCode -UA_SemanticVersionString_copy(const UA_SemanticVersionString *src, UA_SemanticVersionString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SemanticVersionString_deleteMembers(UA_SemanticVersionString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); -} - -static UA_INLINE void -UA_SemanticVersionString_clear(UA_SemanticVersionString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); -} - -static UA_INLINE void -UA_SemanticVersionString_delete(UA_SemanticVersionString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]); -}static UA_INLINE UA_Boolean -UA_SemanticVersionString_equal(const UA_SemanticVersionString *p1, const UA_SemanticVersionString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SEMANTICVERSIONSTRING]) == UA_ORDER_EQ); -} - - - -/* KeyValuePair */ -static UA_INLINE void -UA_KeyValuePair_init(UA_KeyValuePair *p) { - memset(p, 0, sizeof(UA_KeyValuePair)); -} - -static UA_INLINE UA_KeyValuePair * -UA_KeyValuePair_new(void) { - return (UA_KeyValuePair*)UA_new(&UA_TYPES[UA_TYPES_KEYVALUEPAIR]); -} - -static UA_INLINE UA_StatusCode -UA_KeyValuePair_copy(const UA_KeyValuePair *src, UA_KeyValuePair *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); -} - -UA_DEPRECATED static UA_INLINE void -UA_KeyValuePair_deleteMembers(UA_KeyValuePair *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); -} - -static UA_INLINE void -UA_KeyValuePair_clear(UA_KeyValuePair *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); -} - -static UA_INLINE void -UA_KeyValuePair_delete(UA_KeyValuePair *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); -}static UA_INLINE UA_Boolean -UA_KeyValuePair_equal(const UA_KeyValuePair *p1, const UA_KeyValuePair *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]) == UA_ORDER_EQ); -} - - - -/* AdditionalParametersType */ -static UA_INLINE void -UA_AdditionalParametersType_init(UA_AdditionalParametersType *p) { - memset(p, 0, sizeof(UA_AdditionalParametersType)); -} - -static UA_INLINE UA_AdditionalParametersType * -UA_AdditionalParametersType_new(void) { - return (UA_AdditionalParametersType*)UA_new(&UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_AdditionalParametersType_copy(const UA_AdditionalParametersType *src, UA_AdditionalParametersType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AdditionalParametersType_deleteMembers(UA_AdditionalParametersType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); -} - -static UA_INLINE void -UA_AdditionalParametersType_clear(UA_AdditionalParametersType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); -} - -static UA_INLINE void -UA_AdditionalParametersType_delete(UA_AdditionalParametersType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]); -}static UA_INLINE UA_Boolean -UA_AdditionalParametersType_equal(const UA_AdditionalParametersType *p1, const UA_AdditionalParametersType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDITIONALPARAMETERSTYPE]) == UA_ORDER_EQ); -} - - - -/* EphemeralKeyType */ -static UA_INLINE void -UA_EphemeralKeyType_init(UA_EphemeralKeyType *p) { - memset(p, 0, sizeof(UA_EphemeralKeyType)); -} - -static UA_INLINE UA_EphemeralKeyType * -UA_EphemeralKeyType_new(void) { - return (UA_EphemeralKeyType*)UA_new(&UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_EphemeralKeyType_copy(const UA_EphemeralKeyType *src, UA_EphemeralKeyType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EphemeralKeyType_deleteMembers(UA_EphemeralKeyType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); -} - -static UA_INLINE void -UA_EphemeralKeyType_clear(UA_EphemeralKeyType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); -} - -static UA_INLINE void -UA_EphemeralKeyType_delete(UA_EphemeralKeyType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]); -}static UA_INLINE UA_Boolean -UA_EphemeralKeyType_equal(const UA_EphemeralKeyType *p1, const UA_EphemeralKeyType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EPHEMERALKEYTYPE]) == UA_ORDER_EQ); -} - - - -/* Handle */ -static UA_INLINE void -UA_Handle_init(UA_Handle *p) { - memset(p, 0, sizeof(UA_Handle)); -} - -static UA_INLINE UA_Handle * -UA_Handle_new(void) { - return (UA_Handle*)UA_new(&UA_TYPES[UA_TYPES_HANDLE]); -} - -static UA_INLINE UA_StatusCode -UA_Handle_copy(const UA_Handle *src, UA_Handle *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HANDLE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Handle_deleteMembers(UA_Handle *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HANDLE]); -} - -static UA_INLINE void -UA_Handle_clear(UA_Handle *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HANDLE]); -} - -static UA_INLINE void -UA_Handle_delete(UA_Handle *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HANDLE]); -}static UA_INLINE UA_Boolean -UA_Handle_equal(const UA_Handle *p1, const UA_Handle *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HANDLE]) == UA_ORDER_EQ); -} - - - -/* TrimmedString */ -static UA_INLINE void -UA_TrimmedString_init(UA_TrimmedString *p) { - memset(p, 0, sizeof(UA_TrimmedString)); -} - -static UA_INLINE UA_TrimmedString * -UA_TrimmedString_new(void) { - return (UA_TrimmedString*)UA_new(&UA_TYPES[UA_TYPES_TRIMMEDSTRING]); -} - -static UA_INLINE UA_StatusCode -UA_TrimmedString_copy(const UA_TrimmedString *src, UA_TrimmedString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TrimmedString_deleteMembers(UA_TrimmedString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); -} - -static UA_INLINE void -UA_TrimmedString_clear(UA_TrimmedString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); -} - -static UA_INLINE void -UA_TrimmedString_delete(UA_TrimmedString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]); -}static UA_INLINE UA_Boolean -UA_TrimmedString_equal(const UA_TrimmedString *p1, const UA_TrimmedString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRIMMEDSTRING]) == UA_ORDER_EQ); -} - - - -/* RationalNumber */ -static UA_INLINE void -UA_RationalNumber_init(UA_RationalNumber *p) { - memset(p, 0, sizeof(UA_RationalNumber)); -} - -static UA_INLINE UA_RationalNumber * -UA_RationalNumber_new(void) { - return (UA_RationalNumber*)UA_new(&UA_TYPES[UA_TYPES_RATIONALNUMBER]); -} - -static UA_INLINE UA_StatusCode -UA_RationalNumber_copy(const UA_RationalNumber *src, UA_RationalNumber *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RationalNumber_deleteMembers(UA_RationalNumber *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); -} - -static UA_INLINE void -UA_RationalNumber_clear(UA_RationalNumber *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); -} - -static UA_INLINE void -UA_RationalNumber_delete(UA_RationalNumber *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RATIONALNUMBER]); -}static UA_INLINE UA_Boolean -UA_RationalNumber_equal(const UA_RationalNumber *p1, const UA_RationalNumber *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RATIONALNUMBER]) == UA_ORDER_EQ); -} - - - -/* ThreeDVector */ -static UA_INLINE void -UA_ThreeDVector_init(UA_ThreeDVector *p) { - memset(p, 0, sizeof(UA_ThreeDVector)); -} - -static UA_INLINE UA_ThreeDVector * -UA_ThreeDVector_new(void) { - return (UA_ThreeDVector*)UA_new(&UA_TYPES[UA_TYPES_THREEDVECTOR]); -} - -static UA_INLINE UA_StatusCode -UA_ThreeDVector_copy(const UA_ThreeDVector *src, UA_ThreeDVector *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDVECTOR]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ThreeDVector_deleteMembers(UA_ThreeDVector *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDVECTOR]); -} - -static UA_INLINE void -UA_ThreeDVector_clear(UA_ThreeDVector *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDVECTOR]); -} - -static UA_INLINE void -UA_ThreeDVector_delete(UA_ThreeDVector *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_THREEDVECTOR]); -}static UA_INLINE UA_Boolean -UA_ThreeDVector_equal(const UA_ThreeDVector *p1, const UA_ThreeDVector *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDVECTOR]) == UA_ORDER_EQ); -} - - - -/* ThreeDCartesianCoordinates */ -static UA_INLINE void -UA_ThreeDCartesianCoordinates_init(UA_ThreeDCartesianCoordinates *p) { - memset(p, 0, sizeof(UA_ThreeDCartesianCoordinates)); -} - -static UA_INLINE UA_ThreeDCartesianCoordinates * -UA_ThreeDCartesianCoordinates_new(void) { - return (UA_ThreeDCartesianCoordinates*)UA_new(&UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); -} - -static UA_INLINE UA_StatusCode -UA_ThreeDCartesianCoordinates_copy(const UA_ThreeDCartesianCoordinates *src, UA_ThreeDCartesianCoordinates *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ThreeDCartesianCoordinates_deleteMembers(UA_ThreeDCartesianCoordinates *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); -} - -static UA_INLINE void -UA_ThreeDCartesianCoordinates_clear(UA_ThreeDCartesianCoordinates *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); -} - -static UA_INLINE void -UA_ThreeDCartesianCoordinates_delete(UA_ThreeDCartesianCoordinates *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]); -}static UA_INLINE UA_Boolean -UA_ThreeDCartesianCoordinates_equal(const UA_ThreeDCartesianCoordinates *p1, const UA_ThreeDCartesianCoordinates *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES]) == UA_ORDER_EQ); -} - - - -/* ThreeDOrientation */ -static UA_INLINE void -UA_ThreeDOrientation_init(UA_ThreeDOrientation *p) { - memset(p, 0, sizeof(UA_ThreeDOrientation)); -} - -static UA_INLINE UA_ThreeDOrientation * -UA_ThreeDOrientation_new(void) { - return (UA_ThreeDOrientation*)UA_new(&UA_TYPES[UA_TYPES_THREEDORIENTATION]); -} - -static UA_INLINE UA_StatusCode -UA_ThreeDOrientation_copy(const UA_ThreeDOrientation *src, UA_ThreeDOrientation *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ThreeDOrientation_deleteMembers(UA_ThreeDOrientation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); -} - -static UA_INLINE void -UA_ThreeDOrientation_clear(UA_ThreeDOrientation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); -} - -static UA_INLINE void -UA_ThreeDOrientation_delete(UA_ThreeDOrientation *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_THREEDORIENTATION]); -}static UA_INLINE UA_Boolean -UA_ThreeDOrientation_equal(const UA_ThreeDOrientation *p1, const UA_ThreeDOrientation *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDORIENTATION]) == UA_ORDER_EQ); -} - - - -/* ThreeDFrame */ -static UA_INLINE void -UA_ThreeDFrame_init(UA_ThreeDFrame *p) { - memset(p, 0, sizeof(UA_ThreeDFrame)); -} - -static UA_INLINE UA_ThreeDFrame * -UA_ThreeDFrame_new(void) { - return (UA_ThreeDFrame*)UA_new(&UA_TYPES[UA_TYPES_THREEDFRAME]); -} - -static UA_INLINE UA_StatusCode -UA_ThreeDFrame_copy(const UA_ThreeDFrame *src, UA_ThreeDFrame *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_THREEDFRAME]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ThreeDFrame_deleteMembers(UA_ThreeDFrame *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDFRAME]); -} - -static UA_INLINE void -UA_ThreeDFrame_clear(UA_ThreeDFrame *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_THREEDFRAME]); -} - -static UA_INLINE void -UA_ThreeDFrame_delete(UA_ThreeDFrame *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_THREEDFRAME]); -}static UA_INLINE UA_Boolean -UA_ThreeDFrame_equal(const UA_ThreeDFrame *p1, const UA_ThreeDFrame *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_THREEDFRAME]) == UA_ORDER_EQ); -} - - - -/* OpenFileMode */ -static UA_INLINE void -UA_OpenFileMode_init(UA_OpenFileMode *p) { - memset(p, 0, sizeof(UA_OpenFileMode)); -} - -static UA_INLINE UA_OpenFileMode * -UA_OpenFileMode_new(void) { - return (UA_OpenFileMode*)UA_new(&UA_TYPES[UA_TYPES_OPENFILEMODE]); -} - -static UA_INLINE UA_StatusCode -UA_OpenFileMode_copy(const UA_OpenFileMode *src, UA_OpenFileMode *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPENFILEMODE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_OpenFileMode_deleteMembers(UA_OpenFileMode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPENFILEMODE]); -} - -static UA_INLINE void -UA_OpenFileMode_clear(UA_OpenFileMode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPENFILEMODE]); -} - -static UA_INLINE void -UA_OpenFileMode_delete(UA_OpenFileMode *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OPENFILEMODE]); -}static UA_INLINE UA_Boolean -UA_OpenFileMode_equal(const UA_OpenFileMode *p1, const UA_OpenFileMode *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPENFILEMODE]) == UA_ORDER_EQ); -} - - - -/* IdentityCriteriaType */ -static UA_INLINE void -UA_IdentityCriteriaType_init(UA_IdentityCriteriaType *p) { - memset(p, 0, sizeof(UA_IdentityCriteriaType)); -} - -static UA_INLINE UA_IdentityCriteriaType * -UA_IdentityCriteriaType_new(void) { - return (UA_IdentityCriteriaType*)UA_new(&UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_IdentityCriteriaType_copy(const UA_IdentityCriteriaType *src, UA_IdentityCriteriaType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_IdentityCriteriaType_deleteMembers(UA_IdentityCriteriaType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); -} - -static UA_INLINE void -UA_IdentityCriteriaType_clear(UA_IdentityCriteriaType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); -} - -static UA_INLINE void -UA_IdentityCriteriaType_delete(UA_IdentityCriteriaType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]); -}static UA_INLINE UA_Boolean -UA_IdentityCriteriaType_equal(const UA_IdentityCriteriaType *p1, const UA_IdentityCriteriaType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE]) == UA_ORDER_EQ); -} - - - -/* IdentityMappingRuleType */ -static UA_INLINE void -UA_IdentityMappingRuleType_init(UA_IdentityMappingRuleType *p) { - memset(p, 0, sizeof(UA_IdentityMappingRuleType)); -} - -static UA_INLINE UA_IdentityMappingRuleType * -UA_IdentityMappingRuleType_new(void) { - return (UA_IdentityMappingRuleType*)UA_new(&UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_IdentityMappingRuleType_copy(const UA_IdentityMappingRuleType *src, UA_IdentityMappingRuleType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_IdentityMappingRuleType_deleteMembers(UA_IdentityMappingRuleType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); -} - -static UA_INLINE void -UA_IdentityMappingRuleType_clear(UA_IdentityMappingRuleType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); -} - -static UA_INLINE void -UA_IdentityMappingRuleType_delete(UA_IdentityMappingRuleType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]); -}static UA_INLINE UA_Boolean -UA_IdentityMappingRuleType_equal(const UA_IdentityMappingRuleType *p1, const UA_IdentityMappingRuleType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IDENTITYMAPPINGRULETYPE]) == UA_ORDER_EQ); -} - - - -/* CurrencyUnitType */ -static UA_INLINE void -UA_CurrencyUnitType_init(UA_CurrencyUnitType *p) { - memset(p, 0, sizeof(UA_CurrencyUnitType)); -} - -static UA_INLINE UA_CurrencyUnitType * -UA_CurrencyUnitType_new(void) { - return (UA_CurrencyUnitType*)UA_new(&UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_CurrencyUnitType_copy(const UA_CurrencyUnitType *src, UA_CurrencyUnitType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CurrencyUnitType_deleteMembers(UA_CurrencyUnitType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); -} - -static UA_INLINE void -UA_CurrencyUnitType_clear(UA_CurrencyUnitType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); -} - -static UA_INLINE void -UA_CurrencyUnitType_delete(UA_CurrencyUnitType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]); -}static UA_INLINE UA_Boolean -UA_CurrencyUnitType_equal(const UA_CurrencyUnitType *p1, const UA_CurrencyUnitType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CURRENCYUNITTYPE]) == UA_ORDER_EQ); -} - - - -/* AlarmMask */ -static UA_INLINE void -UA_AlarmMask_init(UA_AlarmMask *p) { - memset(p, 0, sizeof(UA_AlarmMask)); -} - -static UA_INLINE UA_AlarmMask * -UA_AlarmMask_new(void) { - return (UA_AlarmMask*)UA_new(&UA_TYPES[UA_TYPES_ALARMMASK]); -} - -static UA_INLINE UA_StatusCode -UA_AlarmMask_copy(const UA_AlarmMask *src, UA_AlarmMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ALARMMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AlarmMask_deleteMembers(UA_AlarmMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ALARMMASK]); -} - -static UA_INLINE void -UA_AlarmMask_clear(UA_AlarmMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ALARMMASK]); -} - -static UA_INLINE void -UA_AlarmMask_delete(UA_AlarmMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ALARMMASK]); -}static UA_INLINE UA_Boolean -UA_AlarmMask_equal(const UA_AlarmMask *p1, const UA_AlarmMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ALARMMASK]) == UA_ORDER_EQ); -} - - - -/* TrustListValidationOptions */ -static UA_INLINE void -UA_TrustListValidationOptions_init(UA_TrustListValidationOptions *p) { - memset(p, 0, sizeof(UA_TrustListValidationOptions)); -} - -static UA_INLINE UA_TrustListValidationOptions * -UA_TrustListValidationOptions_new(void) { - return (UA_TrustListValidationOptions*)UA_new(&UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); -} - -static UA_INLINE UA_StatusCode -UA_TrustListValidationOptions_copy(const UA_TrustListValidationOptions *src, UA_TrustListValidationOptions *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TrustListValidationOptions_deleteMembers(UA_TrustListValidationOptions *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); -} - -static UA_INLINE void -UA_TrustListValidationOptions_clear(UA_TrustListValidationOptions *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); -} - -static UA_INLINE void -UA_TrustListValidationOptions_delete(UA_TrustListValidationOptions *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]); -}static UA_INLINE UA_Boolean -UA_TrustListValidationOptions_equal(const UA_TrustListValidationOptions *p1, const UA_TrustListValidationOptions *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRUSTLISTVALIDATIONOPTIONS]) == UA_ORDER_EQ); -} - - - -/* TrustListMasks */ -static UA_INLINE void -UA_TrustListMasks_init(UA_TrustListMasks *p) { - memset(p, 0, sizeof(UA_TrustListMasks)); -} - -static UA_INLINE UA_TrustListMasks * -UA_TrustListMasks_new(void) { - return (UA_TrustListMasks*)UA_new(&UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); -} - -static UA_INLINE UA_StatusCode -UA_TrustListMasks_copy(const UA_TrustListMasks *src, UA_TrustListMasks *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TrustListMasks_deleteMembers(UA_TrustListMasks *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); -} - -static UA_INLINE void -UA_TrustListMasks_clear(UA_TrustListMasks *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); -} - -static UA_INLINE void -UA_TrustListMasks_delete(UA_TrustListMasks *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]); -}static UA_INLINE UA_Boolean -UA_TrustListMasks_equal(const UA_TrustListMasks *p1, const UA_TrustListMasks *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRUSTLISTMASKS]) == UA_ORDER_EQ); -} - - - -/* TrustListDataType */ -static UA_INLINE void -UA_TrustListDataType_init(UA_TrustListDataType *p) { - memset(p, 0, sizeof(UA_TrustListDataType)); -} - -static UA_INLINE UA_TrustListDataType * -UA_TrustListDataType_new(void) { - return (UA_TrustListDataType*)UA_new(&UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_TrustListDataType_copy(const UA_TrustListDataType *src, UA_TrustListDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TrustListDataType_deleteMembers(UA_TrustListDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); -} - -static UA_INLINE void -UA_TrustListDataType_clear(UA_TrustListDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); -} - -static UA_INLINE void -UA_TrustListDataType_delete(UA_TrustListDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_TrustListDataType_equal(const UA_TrustListDataType *p1, const UA_TrustListDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRUSTLISTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* TransactionErrorType */ -static UA_INLINE void -UA_TransactionErrorType_init(UA_TransactionErrorType *p) { - memset(p, 0, sizeof(UA_TransactionErrorType)); -} - -static UA_INLINE UA_TransactionErrorType * -UA_TransactionErrorType_new(void) { - return (UA_TransactionErrorType*)UA_new(&UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_TransactionErrorType_copy(const UA_TransactionErrorType *src, UA_TransactionErrorType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TransactionErrorType_deleteMembers(UA_TransactionErrorType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); -} - -static UA_INLINE void -UA_TransactionErrorType_clear(UA_TransactionErrorType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); -} - -static UA_INLINE void -UA_TransactionErrorType_delete(UA_TransactionErrorType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]); -}static UA_INLINE UA_Boolean -UA_TransactionErrorType_equal(const UA_TransactionErrorType *p1, const UA_TransactionErrorType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSACTIONERRORTYPE]) == UA_ORDER_EQ); -} - - - -/* DataTypeDescription */ -static UA_INLINE void -UA_DataTypeDescription_init(UA_DataTypeDescription *p) { - memset(p, 0, sizeof(UA_DataTypeDescription)); -} - -static UA_INLINE UA_DataTypeDescription * -UA_DataTypeDescription_new(void) { - return (UA_DataTypeDescription*)UA_new(&UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_DataTypeDescription_copy(const UA_DataTypeDescription *src, UA_DataTypeDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataTypeDescription_deleteMembers(UA_DataTypeDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); -} - -static UA_INLINE void -UA_DataTypeDescription_clear(UA_DataTypeDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); -} - -static UA_INLINE void -UA_DataTypeDescription_delete(UA_DataTypeDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_DataTypeDescription_equal(const UA_DataTypeDescription *p1, const UA_DataTypeDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATATYPEDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* SimpleTypeDescription */ -static UA_INLINE void -UA_SimpleTypeDescription_init(UA_SimpleTypeDescription *p) { - memset(p, 0, sizeof(UA_SimpleTypeDescription)); -} - -static UA_INLINE UA_SimpleTypeDescription * -UA_SimpleTypeDescription_new(void) { - return (UA_SimpleTypeDescription*)UA_new(&UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_SimpleTypeDescription_copy(const UA_SimpleTypeDescription *src, UA_SimpleTypeDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SimpleTypeDescription_deleteMembers(UA_SimpleTypeDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); -} - -static UA_INLINE void -UA_SimpleTypeDescription_clear(UA_SimpleTypeDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); -} - -static UA_INLINE void -UA_SimpleTypeDescription_delete(UA_SimpleTypeDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_SimpleTypeDescription_equal(const UA_SimpleTypeDescription *p1, const UA_SimpleTypeDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* PortableQualifiedName */ -static UA_INLINE void -UA_PortableQualifiedName_init(UA_PortableQualifiedName *p) { - memset(p, 0, sizeof(UA_PortableQualifiedName)); -} - -static UA_INLINE UA_PortableQualifiedName * -UA_PortableQualifiedName_new(void) { - return (UA_PortableQualifiedName*)UA_new(&UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); -} - -static UA_INLINE UA_StatusCode -UA_PortableQualifiedName_copy(const UA_PortableQualifiedName *src, UA_PortableQualifiedName *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PortableQualifiedName_deleteMembers(UA_PortableQualifiedName *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); -} - -static UA_INLINE void -UA_PortableQualifiedName_clear(UA_PortableQualifiedName *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); -} - -static UA_INLINE void -UA_PortableQualifiedName_delete(UA_PortableQualifiedName *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]); -}static UA_INLINE UA_Boolean -UA_PortableQualifiedName_equal(const UA_PortableQualifiedName *p1, const UA_PortableQualifiedName *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PORTABLEQUALIFIEDNAME]) == UA_ORDER_EQ); -} - - - -/* PortableNodeId */ -static UA_INLINE void -UA_PortableNodeId_init(UA_PortableNodeId *p) { - memset(p, 0, sizeof(UA_PortableNodeId)); -} - -static UA_INLINE UA_PortableNodeId * -UA_PortableNodeId_new(void) { - return (UA_PortableNodeId*)UA_new(&UA_TYPES[UA_TYPES_PORTABLENODEID]); -} - -static UA_INLINE UA_StatusCode -UA_PortableNodeId_copy(const UA_PortableNodeId *src, UA_PortableNodeId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PORTABLENODEID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PortableNodeId_deleteMembers(UA_PortableNodeId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLENODEID]); -} - -static UA_INLINE void -UA_PortableNodeId_clear(UA_PortableNodeId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PORTABLENODEID]); -} - -static UA_INLINE void -UA_PortableNodeId_delete(UA_PortableNodeId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PORTABLENODEID]); -}static UA_INLINE UA_Boolean -UA_PortableNodeId_equal(const UA_PortableNodeId *p1, const UA_PortableNodeId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PORTABLENODEID]) == UA_ORDER_EQ); -} - - - -/* UnsignedRationalNumber */ -static UA_INLINE void -UA_UnsignedRationalNumber_init(UA_UnsignedRationalNumber *p) { - memset(p, 0, sizeof(UA_UnsignedRationalNumber)); -} - -static UA_INLINE UA_UnsignedRationalNumber * -UA_UnsignedRationalNumber_new(void) { - return (UA_UnsignedRationalNumber*)UA_new(&UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); -} - -static UA_INLINE UA_StatusCode -UA_UnsignedRationalNumber_copy(const UA_UnsignedRationalNumber *src, UA_UnsignedRationalNumber *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UnsignedRationalNumber_deleteMembers(UA_UnsignedRationalNumber *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); -} - -static UA_INLINE void -UA_UnsignedRationalNumber_clear(UA_UnsignedRationalNumber *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); -} - -static UA_INLINE void -UA_UnsignedRationalNumber_delete(UA_UnsignedRationalNumber *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]); -}static UA_INLINE UA_Boolean -UA_UnsignedRationalNumber_equal(const UA_UnsignedRationalNumber *p1, const UA_UnsignedRationalNumber *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UNSIGNEDRATIONALNUMBER]) == UA_ORDER_EQ); -} - - - -/* PubSubState */ -static UA_INLINE void -UA_PubSubState_init(UA_PubSubState *p) { - memset(p, 0, sizeof(UA_PubSubState)); -} - -static UA_INLINE UA_PubSubState * -UA_PubSubState_new(void) { - return (UA_PubSubState*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBSTATE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubState_copy(const UA_PubSubState *src, UA_PubSubState *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubState_deleteMembers(UA_PubSubState *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); -} - -static UA_INLINE void -UA_PubSubState_clear(UA_PubSubState *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); -} - -static UA_INLINE void -UA_PubSubState_delete(UA_PubSubState *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBSTATE]); -}static UA_INLINE UA_Boolean -UA_PubSubState_equal(const UA_PubSubState *p1, const UA_PubSubState *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBSTATE]) == UA_ORDER_EQ); -} - - - -/* DataSetFieldFlags */ -static UA_INLINE void -UA_DataSetFieldFlags_init(UA_DataSetFieldFlags *p) { - memset(p, 0, sizeof(UA_DataSetFieldFlags)); -} - -static UA_INLINE UA_DataSetFieldFlags * -UA_DataSetFieldFlags_new(void) { - return (UA_DataSetFieldFlags*)UA_new(&UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); -} - -static UA_INLINE UA_StatusCode -UA_DataSetFieldFlags_copy(const UA_DataSetFieldFlags *src, UA_DataSetFieldFlags *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataSetFieldFlags_deleteMembers(UA_DataSetFieldFlags *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); -} - -static UA_INLINE void -UA_DataSetFieldFlags_clear(UA_DataSetFieldFlags *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); -} - -static UA_INLINE void -UA_DataSetFieldFlags_delete(UA_DataSetFieldFlags *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]); -}static UA_INLINE UA_Boolean -UA_DataSetFieldFlags_equal(const UA_DataSetFieldFlags *p1, const UA_DataSetFieldFlags *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS]) == UA_ORDER_EQ); -} - - - -/* ConfigurationVersionDataType */ -static UA_INLINE void -UA_ConfigurationVersionDataType_init(UA_ConfigurationVersionDataType *p) { - memset(p, 0, sizeof(UA_ConfigurationVersionDataType)); -} - -static UA_INLINE UA_ConfigurationVersionDataType * -UA_ConfigurationVersionDataType_new(void) { - return (UA_ConfigurationVersionDataType*)UA_new(&UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ConfigurationVersionDataType_copy(const UA_ConfigurationVersionDataType *src, UA_ConfigurationVersionDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ConfigurationVersionDataType_deleteMembers(UA_ConfigurationVersionDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); -} - -static UA_INLINE void -UA_ConfigurationVersionDataType_clear(UA_ConfigurationVersionDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); -} - -static UA_INLINE void -UA_ConfigurationVersionDataType_delete(UA_ConfigurationVersionDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ConfigurationVersionDataType_equal(const UA_ConfigurationVersionDataType *p1, const UA_ConfigurationVersionDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PublishedVariableDataType */ -static UA_INLINE void -UA_PublishedVariableDataType_init(UA_PublishedVariableDataType *p) { - memset(p, 0, sizeof(UA_PublishedVariableDataType)); -} - -static UA_INLINE UA_PublishedVariableDataType * -UA_PublishedVariableDataType_new(void) { - return (UA_PublishedVariableDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PublishedVariableDataType_copy(const UA_PublishedVariableDataType *src, UA_PublishedVariableDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishedVariableDataType_deleteMembers(UA_PublishedVariableDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); -} - -static UA_INLINE void -UA_PublishedVariableDataType_clear(UA_PublishedVariableDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); -} - -static UA_INLINE void -UA_PublishedVariableDataType_delete(UA_PublishedVariableDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PublishedVariableDataType_equal(const UA_PublishedVariableDataType *p1, const UA_PublishedVariableDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PublishedDataItemsDataType */ -static UA_INLINE void -UA_PublishedDataItemsDataType_init(UA_PublishedDataItemsDataType *p) { - memset(p, 0, sizeof(UA_PublishedDataItemsDataType)); -} - -static UA_INLINE UA_PublishedDataItemsDataType * -UA_PublishedDataItemsDataType_new(void) { - return (UA_PublishedDataItemsDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PublishedDataItemsDataType_copy(const UA_PublishedDataItemsDataType *src, UA_PublishedDataItemsDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishedDataItemsDataType_deleteMembers(UA_PublishedDataItemsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); -} - -static UA_INLINE void -UA_PublishedDataItemsDataType_clear(UA_PublishedDataItemsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); -} - -static UA_INLINE void -UA_PublishedDataItemsDataType_delete(UA_PublishedDataItemsDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PublishedDataItemsDataType_equal(const UA_PublishedDataItemsDataType *p1, const UA_PublishedDataItemsDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PublishedDataSetCustomSourceDataType */ -static UA_INLINE void -UA_PublishedDataSetCustomSourceDataType_init(UA_PublishedDataSetCustomSourceDataType *p) { - memset(p, 0, sizeof(UA_PublishedDataSetCustomSourceDataType)); -} - -static UA_INLINE UA_PublishedDataSetCustomSourceDataType * -UA_PublishedDataSetCustomSourceDataType_new(void) { - return (UA_PublishedDataSetCustomSourceDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PublishedDataSetCustomSourceDataType_copy(const UA_PublishedDataSetCustomSourceDataType *src, UA_PublishedDataSetCustomSourceDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishedDataSetCustomSourceDataType_deleteMembers(UA_PublishedDataSetCustomSourceDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); -} - -static UA_INLINE void -UA_PublishedDataSetCustomSourceDataType_clear(UA_PublishedDataSetCustomSourceDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); -} - -static UA_INLINE void -UA_PublishedDataSetCustomSourceDataType_delete(UA_PublishedDataSetCustomSourceDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PublishedDataSetCustomSourceDataType_equal(const UA_PublishedDataSetCustomSourceDataType *p1, const UA_PublishedDataSetCustomSourceDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETCUSTOMSOURCEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DataSetFieldContentMask */ -static UA_INLINE void -UA_DataSetFieldContentMask_init(UA_DataSetFieldContentMask *p) { - memset(p, 0, sizeof(UA_DataSetFieldContentMask)); -} - -static UA_INLINE UA_DataSetFieldContentMask * -UA_DataSetFieldContentMask_new(void) { - return (UA_DataSetFieldContentMask*)UA_new(&UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); -} - -static UA_INLINE UA_StatusCode -UA_DataSetFieldContentMask_copy(const UA_DataSetFieldContentMask *src, UA_DataSetFieldContentMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataSetFieldContentMask_deleteMembers(UA_DataSetFieldContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); -} - -static UA_INLINE void -UA_DataSetFieldContentMask_clear(UA_DataSetFieldContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); -} - -static UA_INLINE void -UA_DataSetFieldContentMask_delete(UA_DataSetFieldContentMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); -}static UA_INLINE UA_Boolean -UA_DataSetFieldContentMask_equal(const UA_DataSetFieldContentMask *p1, const UA_DataSetFieldContentMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]) == UA_ORDER_EQ); -} - - - -/* DataSetWriterDataType */ -static UA_INLINE void -UA_DataSetWriterDataType_init(UA_DataSetWriterDataType *p) { - memset(p, 0, sizeof(UA_DataSetWriterDataType)); -} - -static UA_INLINE UA_DataSetWriterDataType * -UA_DataSetWriterDataType_new(void) { - return (UA_DataSetWriterDataType*)UA_new(&UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DataSetWriterDataType_copy(const UA_DataSetWriterDataType *src, UA_DataSetWriterDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataSetWriterDataType_deleteMembers(UA_DataSetWriterDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); -} - -static UA_INLINE void -UA_DataSetWriterDataType_clear(UA_DataSetWriterDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); -} - -static UA_INLINE void -UA_DataSetWriterDataType_delete(UA_DataSetWriterDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]); -}static UA_INLINE UA_Boolean -UA_DataSetWriterDataType_equal(const UA_DataSetWriterDataType *p1, const UA_DataSetWriterDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE]) == UA_ORDER_EQ); -} - - - -/* NetworkAddressDataType */ -static UA_INLINE void -UA_NetworkAddressDataType_init(UA_NetworkAddressDataType *p) { - memset(p, 0, sizeof(UA_NetworkAddressDataType)); -} - -static UA_INLINE UA_NetworkAddressDataType * -UA_NetworkAddressDataType_new(void) { - return (UA_NetworkAddressDataType*)UA_new(&UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_NetworkAddressDataType_copy(const UA_NetworkAddressDataType *src, UA_NetworkAddressDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NetworkAddressDataType_deleteMembers(UA_NetworkAddressDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); -} - -static UA_INLINE void -UA_NetworkAddressDataType_clear(UA_NetworkAddressDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); -} - -static UA_INLINE void -UA_NetworkAddressDataType_delete(UA_NetworkAddressDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_NetworkAddressDataType_equal(const UA_NetworkAddressDataType *p1, const UA_NetworkAddressDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NETWORKADDRESSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* NetworkAddressUrlDataType */ -static UA_INLINE void -UA_NetworkAddressUrlDataType_init(UA_NetworkAddressUrlDataType *p) { - memset(p, 0, sizeof(UA_NetworkAddressUrlDataType)); -} - -static UA_INLINE UA_NetworkAddressUrlDataType * -UA_NetworkAddressUrlDataType_new(void) { - return (UA_NetworkAddressUrlDataType*)UA_new(&UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_NetworkAddressUrlDataType_copy(const UA_NetworkAddressUrlDataType *src, UA_NetworkAddressUrlDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NetworkAddressUrlDataType_deleteMembers(UA_NetworkAddressUrlDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); -} - -static UA_INLINE void -UA_NetworkAddressUrlDataType_clear(UA_NetworkAddressUrlDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); -} - -static UA_INLINE void -UA_NetworkAddressUrlDataType_delete(UA_NetworkAddressUrlDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); -}static UA_INLINE UA_Boolean -UA_NetworkAddressUrlDataType_equal(const UA_NetworkAddressUrlDataType *p1, const UA_NetworkAddressUrlDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]) == UA_ORDER_EQ); -} - - - -/* OverrideValueHandling */ -static UA_INLINE void -UA_OverrideValueHandling_init(UA_OverrideValueHandling *p) { - memset(p, 0, sizeof(UA_OverrideValueHandling)); -} - -static UA_INLINE UA_OverrideValueHandling * -UA_OverrideValueHandling_new(void) { - return (UA_OverrideValueHandling*)UA_new(&UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); -} - -static UA_INLINE UA_StatusCode -UA_OverrideValueHandling_copy(const UA_OverrideValueHandling *src, UA_OverrideValueHandling *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_OverrideValueHandling_deleteMembers(UA_OverrideValueHandling *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); -} - -static UA_INLINE void -UA_OverrideValueHandling_clear(UA_OverrideValueHandling *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); -} - -static UA_INLINE void -UA_OverrideValueHandling_delete(UA_OverrideValueHandling *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]); -}static UA_INLINE UA_Boolean -UA_OverrideValueHandling_equal(const UA_OverrideValueHandling *p1, const UA_OverrideValueHandling *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING]) == UA_ORDER_EQ); -} - - - -/* StandaloneSubscribedDataSetRefDataType */ -static UA_INLINE void -UA_StandaloneSubscribedDataSetRefDataType_init(UA_StandaloneSubscribedDataSetRefDataType *p) { - memset(p, 0, sizeof(UA_StandaloneSubscribedDataSetRefDataType)); -} - -static UA_INLINE UA_StandaloneSubscribedDataSetRefDataType * -UA_StandaloneSubscribedDataSetRefDataType_new(void) { - return (UA_StandaloneSubscribedDataSetRefDataType*)UA_new(&UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_StandaloneSubscribedDataSetRefDataType_copy(const UA_StandaloneSubscribedDataSetRefDataType *src, UA_StandaloneSubscribedDataSetRefDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StandaloneSubscribedDataSetRefDataType_deleteMembers(UA_StandaloneSubscribedDataSetRefDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); -} - -static UA_INLINE void -UA_StandaloneSubscribedDataSetRefDataType_clear(UA_StandaloneSubscribedDataSetRefDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); -} - -static UA_INLINE void -UA_StandaloneSubscribedDataSetRefDataType_delete(UA_StandaloneSubscribedDataSetRefDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]); -}static UA_INLINE UA_Boolean -UA_StandaloneSubscribedDataSetRefDataType_equal(const UA_StandaloneSubscribedDataSetRefDataType *p1, const UA_StandaloneSubscribedDataSetRefDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETREFDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DataSetOrderingType */ -static UA_INLINE void -UA_DataSetOrderingType_init(UA_DataSetOrderingType *p) { - memset(p, 0, sizeof(UA_DataSetOrderingType)); -} - -static UA_INLINE UA_DataSetOrderingType * -UA_DataSetOrderingType_new(void) { - return (UA_DataSetOrderingType*)UA_new(&UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DataSetOrderingType_copy(const UA_DataSetOrderingType *src, UA_DataSetOrderingType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataSetOrderingType_deleteMembers(UA_DataSetOrderingType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); -} - -static UA_INLINE void -UA_DataSetOrderingType_clear(UA_DataSetOrderingType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); -} - -static UA_INLINE void -UA_DataSetOrderingType_delete(UA_DataSetOrderingType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]); -}static UA_INLINE UA_Boolean -UA_DataSetOrderingType_equal(const UA_DataSetOrderingType *p1, const UA_DataSetOrderingType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE]) == UA_ORDER_EQ); -} - - - -/* UadpNetworkMessageContentMask */ -static UA_INLINE void -UA_UadpNetworkMessageContentMask_init(UA_UadpNetworkMessageContentMask *p) { - memset(p, 0, sizeof(UA_UadpNetworkMessageContentMask)); -} - -static UA_INLINE UA_UadpNetworkMessageContentMask * -UA_UadpNetworkMessageContentMask_new(void) { - return (UA_UadpNetworkMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); -} - -static UA_INLINE UA_StatusCode -UA_UadpNetworkMessageContentMask_copy(const UA_UadpNetworkMessageContentMask *src, UA_UadpNetworkMessageContentMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UadpNetworkMessageContentMask_deleteMembers(UA_UadpNetworkMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_UadpNetworkMessageContentMask_clear(UA_UadpNetworkMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_UadpNetworkMessageContentMask_delete(UA_UadpNetworkMessageContentMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); -}static UA_INLINE UA_Boolean -UA_UadpNetworkMessageContentMask_equal(const UA_UadpNetworkMessageContentMask *p1, const UA_UadpNetworkMessageContentMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]) == UA_ORDER_EQ); -} - - - -/* UadpWriterGroupMessageDataType */ -static UA_INLINE void -UA_UadpWriterGroupMessageDataType_init(UA_UadpWriterGroupMessageDataType *p) { - memset(p, 0, sizeof(UA_UadpWriterGroupMessageDataType)); -} - -static UA_INLINE UA_UadpWriterGroupMessageDataType * -UA_UadpWriterGroupMessageDataType_new(void) { - return (UA_UadpWriterGroupMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_UadpWriterGroupMessageDataType_copy(const UA_UadpWriterGroupMessageDataType *src, UA_UadpWriterGroupMessageDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UadpWriterGroupMessageDataType_deleteMembers(UA_UadpWriterGroupMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_UadpWriterGroupMessageDataType_clear(UA_UadpWriterGroupMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_UadpWriterGroupMessageDataType_delete(UA_UadpWriterGroupMessageDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_UadpWriterGroupMessageDataType_equal(const UA_UadpWriterGroupMessageDataType *p1, const UA_UadpWriterGroupMessageDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* UadpDataSetMessageContentMask */ -static UA_INLINE void -UA_UadpDataSetMessageContentMask_init(UA_UadpDataSetMessageContentMask *p) { - memset(p, 0, sizeof(UA_UadpDataSetMessageContentMask)); -} - -static UA_INLINE UA_UadpDataSetMessageContentMask * -UA_UadpDataSetMessageContentMask_new(void) { - return (UA_UadpDataSetMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); -} - -static UA_INLINE UA_StatusCode -UA_UadpDataSetMessageContentMask_copy(const UA_UadpDataSetMessageContentMask *src, UA_UadpDataSetMessageContentMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UadpDataSetMessageContentMask_deleteMembers(UA_UadpDataSetMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_UadpDataSetMessageContentMask_clear(UA_UadpDataSetMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_UadpDataSetMessageContentMask_delete(UA_UadpDataSetMessageContentMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]); -}static UA_INLINE UA_Boolean -UA_UadpDataSetMessageContentMask_equal(const UA_UadpDataSetMessageContentMask *p1, const UA_UadpDataSetMessageContentMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK]) == UA_ORDER_EQ); -} - - - -/* UadpDataSetWriterMessageDataType */ -static UA_INLINE void -UA_UadpDataSetWriterMessageDataType_init(UA_UadpDataSetWriterMessageDataType *p) { - memset(p, 0, sizeof(UA_UadpDataSetWriterMessageDataType)); -} - -static UA_INLINE UA_UadpDataSetWriterMessageDataType * -UA_UadpDataSetWriterMessageDataType_new(void) { - return (UA_UadpDataSetWriterMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_UadpDataSetWriterMessageDataType_copy(const UA_UadpDataSetWriterMessageDataType *src, UA_UadpDataSetWriterMessageDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UadpDataSetWriterMessageDataType_deleteMembers(UA_UadpDataSetWriterMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_UadpDataSetWriterMessageDataType_clear(UA_UadpDataSetWriterMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_UadpDataSetWriterMessageDataType_delete(UA_UadpDataSetWriterMessageDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_UadpDataSetWriterMessageDataType_equal(const UA_UadpDataSetWriterMessageDataType *p1, const UA_UadpDataSetWriterMessageDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* UadpDataSetReaderMessageDataType */ -static UA_INLINE void -UA_UadpDataSetReaderMessageDataType_init(UA_UadpDataSetReaderMessageDataType *p) { - memset(p, 0, sizeof(UA_UadpDataSetReaderMessageDataType)); -} - -static UA_INLINE UA_UadpDataSetReaderMessageDataType * -UA_UadpDataSetReaderMessageDataType_new(void) { - return (UA_UadpDataSetReaderMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_UadpDataSetReaderMessageDataType_copy(const UA_UadpDataSetReaderMessageDataType *src, UA_UadpDataSetReaderMessageDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UadpDataSetReaderMessageDataType_deleteMembers(UA_UadpDataSetReaderMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_UadpDataSetReaderMessageDataType_clear(UA_UadpDataSetReaderMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_UadpDataSetReaderMessageDataType_delete(UA_UadpDataSetReaderMessageDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_UadpDataSetReaderMessageDataType_equal(const UA_UadpDataSetReaderMessageDataType *p1, const UA_UadpDataSetReaderMessageDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* JsonNetworkMessageContentMask */ -static UA_INLINE void -UA_JsonNetworkMessageContentMask_init(UA_JsonNetworkMessageContentMask *p) { - memset(p, 0, sizeof(UA_JsonNetworkMessageContentMask)); -} - -static UA_INLINE UA_JsonNetworkMessageContentMask * -UA_JsonNetworkMessageContentMask_new(void) { - return (UA_JsonNetworkMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); -} - -static UA_INLINE UA_StatusCode -UA_JsonNetworkMessageContentMask_copy(const UA_JsonNetworkMessageContentMask *src, UA_JsonNetworkMessageContentMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_JsonNetworkMessageContentMask_deleteMembers(UA_JsonNetworkMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_JsonNetworkMessageContentMask_clear(UA_JsonNetworkMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_JsonNetworkMessageContentMask_delete(UA_JsonNetworkMessageContentMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]); -}static UA_INLINE UA_Boolean -UA_JsonNetworkMessageContentMask_equal(const UA_JsonNetworkMessageContentMask *p1, const UA_JsonNetworkMessageContentMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK]) == UA_ORDER_EQ); -} - - - -/* JsonWriterGroupMessageDataType */ -static UA_INLINE void -UA_JsonWriterGroupMessageDataType_init(UA_JsonWriterGroupMessageDataType *p) { - memset(p, 0, sizeof(UA_JsonWriterGroupMessageDataType)); -} - -static UA_INLINE UA_JsonWriterGroupMessageDataType * -UA_JsonWriterGroupMessageDataType_new(void) { - return (UA_JsonWriterGroupMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_JsonWriterGroupMessageDataType_copy(const UA_JsonWriterGroupMessageDataType *src, UA_JsonWriterGroupMessageDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_JsonWriterGroupMessageDataType_deleteMembers(UA_JsonWriterGroupMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_JsonWriterGroupMessageDataType_clear(UA_JsonWriterGroupMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_JsonWriterGroupMessageDataType_delete(UA_JsonWriterGroupMessageDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_JsonWriterGroupMessageDataType_equal(const UA_JsonWriterGroupMessageDataType *p1, const UA_JsonWriterGroupMessageDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* JsonDataSetMessageContentMask */ -static UA_INLINE void -UA_JsonDataSetMessageContentMask_init(UA_JsonDataSetMessageContentMask *p) { - memset(p, 0, sizeof(UA_JsonDataSetMessageContentMask)); -} - -static UA_INLINE UA_JsonDataSetMessageContentMask * -UA_JsonDataSetMessageContentMask_new(void) { - return (UA_JsonDataSetMessageContentMask*)UA_new(&UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); -} - -static UA_INLINE UA_StatusCode -UA_JsonDataSetMessageContentMask_copy(const UA_JsonDataSetMessageContentMask *src, UA_JsonDataSetMessageContentMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_JsonDataSetMessageContentMask_deleteMembers(UA_JsonDataSetMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_JsonDataSetMessageContentMask_clear(UA_JsonDataSetMessageContentMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); -} - -static UA_INLINE void -UA_JsonDataSetMessageContentMask_delete(UA_JsonDataSetMessageContentMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]); -}static UA_INLINE UA_Boolean -UA_JsonDataSetMessageContentMask_equal(const UA_JsonDataSetMessageContentMask *p1, const UA_JsonDataSetMessageContentMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK]) == UA_ORDER_EQ); -} - - - -/* JsonDataSetWriterMessageDataType */ -static UA_INLINE void -UA_JsonDataSetWriterMessageDataType_init(UA_JsonDataSetWriterMessageDataType *p) { - memset(p, 0, sizeof(UA_JsonDataSetWriterMessageDataType)); -} - -static UA_INLINE UA_JsonDataSetWriterMessageDataType * -UA_JsonDataSetWriterMessageDataType_new(void) { - return (UA_JsonDataSetWriterMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_JsonDataSetWriterMessageDataType_copy(const UA_JsonDataSetWriterMessageDataType *src, UA_JsonDataSetWriterMessageDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_JsonDataSetWriterMessageDataType_deleteMembers(UA_JsonDataSetWriterMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_JsonDataSetWriterMessageDataType_clear(UA_JsonDataSetWriterMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_JsonDataSetWriterMessageDataType_delete(UA_JsonDataSetWriterMessageDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_JsonDataSetWriterMessageDataType_equal(const UA_JsonDataSetWriterMessageDataType *p1, const UA_JsonDataSetWriterMessageDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* JsonDataSetReaderMessageDataType */ -static UA_INLINE void -UA_JsonDataSetReaderMessageDataType_init(UA_JsonDataSetReaderMessageDataType *p) { - memset(p, 0, sizeof(UA_JsonDataSetReaderMessageDataType)); -} - -static UA_INLINE UA_JsonDataSetReaderMessageDataType * -UA_JsonDataSetReaderMessageDataType_new(void) { - return (UA_JsonDataSetReaderMessageDataType*)UA_new(&UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_JsonDataSetReaderMessageDataType_copy(const UA_JsonDataSetReaderMessageDataType *src, UA_JsonDataSetReaderMessageDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_JsonDataSetReaderMessageDataType_deleteMembers(UA_JsonDataSetReaderMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_JsonDataSetReaderMessageDataType_clear(UA_JsonDataSetReaderMessageDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); -} - -static UA_INLINE void -UA_JsonDataSetReaderMessageDataType_delete(UA_JsonDataSetReaderMessageDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_JsonDataSetReaderMessageDataType_equal(const UA_JsonDataSetReaderMessageDataType *p1, const UA_JsonDataSetReaderMessageDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_JSONDATASETREADERMESSAGEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* TransmitQosPriorityDataType */ -static UA_INLINE void -UA_TransmitQosPriorityDataType_init(UA_TransmitQosPriorityDataType *p) { - memset(p, 0, sizeof(UA_TransmitQosPriorityDataType)); -} - -static UA_INLINE UA_TransmitQosPriorityDataType * -UA_TransmitQosPriorityDataType_new(void) { - return (UA_TransmitQosPriorityDataType*)UA_new(&UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_TransmitQosPriorityDataType_copy(const UA_TransmitQosPriorityDataType *src, UA_TransmitQosPriorityDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TransmitQosPriorityDataType_deleteMembers(UA_TransmitQosPriorityDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); -} - -static UA_INLINE void -UA_TransmitQosPriorityDataType_clear(UA_TransmitQosPriorityDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); -} - -static UA_INLINE void -UA_TransmitQosPriorityDataType_delete(UA_TransmitQosPriorityDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]); -}static UA_INLINE UA_Boolean -UA_TransmitQosPriorityDataType_equal(const UA_TransmitQosPriorityDataType *p1, const UA_TransmitQosPriorityDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSMITQOSPRIORITYDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ReceiveQosPriorityDataType */ -static UA_INLINE void -UA_ReceiveQosPriorityDataType_init(UA_ReceiveQosPriorityDataType *p) { - memset(p, 0, sizeof(UA_ReceiveQosPriorityDataType)); -} - -static UA_INLINE UA_ReceiveQosPriorityDataType * -UA_ReceiveQosPriorityDataType_new(void) { - return (UA_ReceiveQosPriorityDataType*)UA_new(&UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ReceiveQosPriorityDataType_copy(const UA_ReceiveQosPriorityDataType *src, UA_ReceiveQosPriorityDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReceiveQosPriorityDataType_deleteMembers(UA_ReceiveQosPriorityDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); -} - -static UA_INLINE void -UA_ReceiveQosPriorityDataType_clear(UA_ReceiveQosPriorityDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); -} - -static UA_INLINE void -UA_ReceiveQosPriorityDataType_delete(UA_ReceiveQosPriorityDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ReceiveQosPriorityDataType_equal(const UA_ReceiveQosPriorityDataType *p1, const UA_ReceiveQosPriorityDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RECEIVEQOSPRIORITYDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DatagramConnectionTransportDataType */ -static UA_INLINE void -UA_DatagramConnectionTransportDataType_init(UA_DatagramConnectionTransportDataType *p) { - memset(p, 0, sizeof(UA_DatagramConnectionTransportDataType)); -} - -static UA_INLINE UA_DatagramConnectionTransportDataType * -UA_DatagramConnectionTransportDataType_new(void) { - return (UA_DatagramConnectionTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DatagramConnectionTransportDataType_copy(const UA_DatagramConnectionTransportDataType *src, UA_DatagramConnectionTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DatagramConnectionTransportDataType_deleteMembers(UA_DatagramConnectionTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_DatagramConnectionTransportDataType_clear(UA_DatagramConnectionTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_DatagramConnectionTransportDataType_delete(UA_DatagramConnectionTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_DatagramConnectionTransportDataType_equal(const UA_DatagramConnectionTransportDataType *p1, const UA_DatagramConnectionTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DatagramConnectionTransport2DataType */ -static UA_INLINE void -UA_DatagramConnectionTransport2DataType_init(UA_DatagramConnectionTransport2DataType *p) { - memset(p, 0, sizeof(UA_DatagramConnectionTransport2DataType)); -} - -static UA_INLINE UA_DatagramConnectionTransport2DataType * -UA_DatagramConnectionTransport2DataType_new(void) { - return (UA_DatagramConnectionTransport2DataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DatagramConnectionTransport2DataType_copy(const UA_DatagramConnectionTransport2DataType *src, UA_DatagramConnectionTransport2DataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DatagramConnectionTransport2DataType_deleteMembers(UA_DatagramConnectionTransport2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); -} - -static UA_INLINE void -UA_DatagramConnectionTransport2DataType_clear(UA_DatagramConnectionTransport2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); -} - -static UA_INLINE void -UA_DatagramConnectionTransport2DataType_delete(UA_DatagramConnectionTransport2DataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]); -}static UA_INLINE UA_Boolean -UA_DatagramConnectionTransport2DataType_equal(const UA_DatagramConnectionTransport2DataType *p1, const UA_DatagramConnectionTransport2DataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMCONNECTIONTRANSPORT2DATATYPE]) == UA_ORDER_EQ); -} - - - -/* DatagramWriterGroupTransportDataType */ -static UA_INLINE void -UA_DatagramWriterGroupTransportDataType_init(UA_DatagramWriterGroupTransportDataType *p) { - memset(p, 0, sizeof(UA_DatagramWriterGroupTransportDataType)); -} - -static UA_INLINE UA_DatagramWriterGroupTransportDataType * -UA_DatagramWriterGroupTransportDataType_new(void) { - return (UA_DatagramWriterGroupTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DatagramWriterGroupTransportDataType_copy(const UA_DatagramWriterGroupTransportDataType *src, UA_DatagramWriterGroupTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DatagramWriterGroupTransportDataType_deleteMembers(UA_DatagramWriterGroupTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_DatagramWriterGroupTransportDataType_clear(UA_DatagramWriterGroupTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_DatagramWriterGroupTransportDataType_delete(UA_DatagramWriterGroupTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_DatagramWriterGroupTransportDataType_equal(const UA_DatagramWriterGroupTransportDataType *p1, const UA_DatagramWriterGroupTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DatagramWriterGroupTransport2DataType */ -static UA_INLINE void -UA_DatagramWriterGroupTransport2DataType_init(UA_DatagramWriterGroupTransport2DataType *p) { - memset(p, 0, sizeof(UA_DatagramWriterGroupTransport2DataType)); -} - -static UA_INLINE UA_DatagramWriterGroupTransport2DataType * -UA_DatagramWriterGroupTransport2DataType_new(void) { - return (UA_DatagramWriterGroupTransport2DataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DatagramWriterGroupTransport2DataType_copy(const UA_DatagramWriterGroupTransport2DataType *src, UA_DatagramWriterGroupTransport2DataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DatagramWriterGroupTransport2DataType_deleteMembers(UA_DatagramWriterGroupTransport2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); -} - -static UA_INLINE void -UA_DatagramWriterGroupTransport2DataType_clear(UA_DatagramWriterGroupTransport2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); -} - -static UA_INLINE void -UA_DatagramWriterGroupTransport2DataType_delete(UA_DatagramWriterGroupTransport2DataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]); -}static UA_INLINE UA_Boolean -UA_DatagramWriterGroupTransport2DataType_equal(const UA_DatagramWriterGroupTransport2DataType *p1, const UA_DatagramWriterGroupTransport2DataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]) == UA_ORDER_EQ); -} - - - -/* DatagramDataSetReaderTransportDataType */ -static UA_INLINE void -UA_DatagramDataSetReaderTransportDataType_init(UA_DatagramDataSetReaderTransportDataType *p) { - memset(p, 0, sizeof(UA_DatagramDataSetReaderTransportDataType)); -} - -static UA_INLINE UA_DatagramDataSetReaderTransportDataType * -UA_DatagramDataSetReaderTransportDataType_new(void) { - return (UA_DatagramDataSetReaderTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DatagramDataSetReaderTransportDataType_copy(const UA_DatagramDataSetReaderTransportDataType *src, UA_DatagramDataSetReaderTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DatagramDataSetReaderTransportDataType_deleteMembers(UA_DatagramDataSetReaderTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_DatagramDataSetReaderTransportDataType_clear(UA_DatagramDataSetReaderTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_DatagramDataSetReaderTransportDataType_delete(UA_DatagramDataSetReaderTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_DatagramDataSetReaderTransportDataType_equal(const UA_DatagramDataSetReaderTransportDataType *p1, const UA_DatagramDataSetReaderTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATAGRAMDATASETREADERTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* BrokerConnectionTransportDataType */ -static UA_INLINE void -UA_BrokerConnectionTransportDataType_init(UA_BrokerConnectionTransportDataType *p) { - memset(p, 0, sizeof(UA_BrokerConnectionTransportDataType)); -} - -static UA_INLINE UA_BrokerConnectionTransportDataType * -UA_BrokerConnectionTransportDataType_new(void) { - return (UA_BrokerConnectionTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_BrokerConnectionTransportDataType_copy(const UA_BrokerConnectionTransportDataType *src, UA_BrokerConnectionTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrokerConnectionTransportDataType_deleteMembers(UA_BrokerConnectionTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerConnectionTransportDataType_clear(UA_BrokerConnectionTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerConnectionTransportDataType_delete(UA_BrokerConnectionTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_BrokerConnectionTransportDataType_equal(const UA_BrokerConnectionTransportDataType *p1, const UA_BrokerConnectionTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERCONNECTIONTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* BrokerTransportQualityOfService */ -static UA_INLINE void -UA_BrokerTransportQualityOfService_init(UA_BrokerTransportQualityOfService *p) { - memset(p, 0, sizeof(UA_BrokerTransportQualityOfService)); -} - -static UA_INLINE UA_BrokerTransportQualityOfService * -UA_BrokerTransportQualityOfService_new(void) { - return (UA_BrokerTransportQualityOfService*)UA_new(&UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); -} - -static UA_INLINE UA_StatusCode -UA_BrokerTransportQualityOfService_copy(const UA_BrokerTransportQualityOfService *src, UA_BrokerTransportQualityOfService *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrokerTransportQualityOfService_deleteMembers(UA_BrokerTransportQualityOfService *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); -} - -static UA_INLINE void -UA_BrokerTransportQualityOfService_clear(UA_BrokerTransportQualityOfService *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); -} - -static UA_INLINE void -UA_BrokerTransportQualityOfService_delete(UA_BrokerTransportQualityOfService *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]); -}static UA_INLINE UA_Boolean -UA_BrokerTransportQualityOfService_equal(const UA_BrokerTransportQualityOfService *p1, const UA_BrokerTransportQualityOfService *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE]) == UA_ORDER_EQ); -} - - - -/* BrokerWriterGroupTransportDataType */ -static UA_INLINE void -UA_BrokerWriterGroupTransportDataType_init(UA_BrokerWriterGroupTransportDataType *p) { - memset(p, 0, sizeof(UA_BrokerWriterGroupTransportDataType)); -} - -static UA_INLINE UA_BrokerWriterGroupTransportDataType * -UA_BrokerWriterGroupTransportDataType_new(void) { - return (UA_BrokerWriterGroupTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_BrokerWriterGroupTransportDataType_copy(const UA_BrokerWriterGroupTransportDataType *src, UA_BrokerWriterGroupTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrokerWriterGroupTransportDataType_deleteMembers(UA_BrokerWriterGroupTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerWriterGroupTransportDataType_clear(UA_BrokerWriterGroupTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerWriterGroupTransportDataType_delete(UA_BrokerWriterGroupTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_BrokerWriterGroupTransportDataType_equal(const UA_BrokerWriterGroupTransportDataType *p1, const UA_BrokerWriterGroupTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* BrokerDataSetWriterTransportDataType */ -static UA_INLINE void -UA_BrokerDataSetWriterTransportDataType_init(UA_BrokerDataSetWriterTransportDataType *p) { - memset(p, 0, sizeof(UA_BrokerDataSetWriterTransportDataType)); -} - -static UA_INLINE UA_BrokerDataSetWriterTransportDataType * -UA_BrokerDataSetWriterTransportDataType_new(void) { - return (UA_BrokerDataSetWriterTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_BrokerDataSetWriterTransportDataType_copy(const UA_BrokerDataSetWriterTransportDataType *src, UA_BrokerDataSetWriterTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrokerDataSetWriterTransportDataType_deleteMembers(UA_BrokerDataSetWriterTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerDataSetWriterTransportDataType_clear(UA_BrokerDataSetWriterTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerDataSetWriterTransportDataType_delete(UA_BrokerDataSetWriterTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_BrokerDataSetWriterTransportDataType_equal(const UA_BrokerDataSetWriterTransportDataType *p1, const UA_BrokerDataSetWriterTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERDATASETWRITERTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* BrokerDataSetReaderTransportDataType */ -static UA_INLINE void -UA_BrokerDataSetReaderTransportDataType_init(UA_BrokerDataSetReaderTransportDataType *p) { - memset(p, 0, sizeof(UA_BrokerDataSetReaderTransportDataType)); -} - -static UA_INLINE UA_BrokerDataSetReaderTransportDataType * -UA_BrokerDataSetReaderTransportDataType_new(void) { - return (UA_BrokerDataSetReaderTransportDataType*)UA_new(&UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_BrokerDataSetReaderTransportDataType_copy(const UA_BrokerDataSetReaderTransportDataType *src, UA_BrokerDataSetReaderTransportDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrokerDataSetReaderTransportDataType_deleteMembers(UA_BrokerDataSetReaderTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerDataSetReaderTransportDataType_clear(UA_BrokerDataSetReaderTransportDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); -} - -static UA_INLINE void -UA_BrokerDataSetReaderTransportDataType_delete(UA_BrokerDataSetReaderTransportDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_BrokerDataSetReaderTransportDataType_equal(const UA_BrokerDataSetReaderTransportDataType *p1, const UA_BrokerDataSetReaderTransportDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubConfigurationRefMask */ -static UA_INLINE void -UA_PubSubConfigurationRefMask_init(UA_PubSubConfigurationRefMask *p) { - memset(p, 0, sizeof(UA_PubSubConfigurationRefMask)); -} - -static UA_INLINE UA_PubSubConfigurationRefMask * -UA_PubSubConfigurationRefMask_new(void) { - return (UA_PubSubConfigurationRefMask*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubConfigurationRefMask_copy(const UA_PubSubConfigurationRefMask *src, UA_PubSubConfigurationRefMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubConfigurationRefMask_deleteMembers(UA_PubSubConfigurationRefMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); -} - -static UA_INLINE void -UA_PubSubConfigurationRefMask_clear(UA_PubSubConfigurationRefMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); -} - -static UA_INLINE void -UA_PubSubConfigurationRefMask_delete(UA_PubSubConfigurationRefMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]); -}static UA_INLINE UA_Boolean -UA_PubSubConfigurationRefMask_equal(const UA_PubSubConfigurationRefMask *p1, const UA_PubSubConfigurationRefMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK]) == UA_ORDER_EQ); -} - - - -/* PubSubConfigurationRefDataType */ -static UA_INLINE void -UA_PubSubConfigurationRefDataType_init(UA_PubSubConfigurationRefDataType *p) { - memset(p, 0, sizeof(UA_PubSubConfigurationRefDataType)); -} - -static UA_INLINE UA_PubSubConfigurationRefDataType * -UA_PubSubConfigurationRefDataType_new(void) { - return (UA_PubSubConfigurationRefDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubConfigurationRefDataType_copy(const UA_PubSubConfigurationRefDataType *src, UA_PubSubConfigurationRefDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubConfigurationRefDataType_deleteMembers(UA_PubSubConfigurationRefDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfigurationRefDataType_clear(UA_PubSubConfigurationRefDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfigurationRefDataType_delete(UA_PubSubConfigurationRefDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubConfigurationRefDataType_equal(const UA_PubSubConfigurationRefDataType *p1, const UA_PubSubConfigurationRefDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubConfigurationValueDataType */ -static UA_INLINE void -UA_PubSubConfigurationValueDataType_init(UA_PubSubConfigurationValueDataType *p) { - memset(p, 0, sizeof(UA_PubSubConfigurationValueDataType)); -} - -static UA_INLINE UA_PubSubConfigurationValueDataType * -UA_PubSubConfigurationValueDataType_new(void) { - return (UA_PubSubConfigurationValueDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubConfigurationValueDataType_copy(const UA_PubSubConfigurationValueDataType *src, UA_PubSubConfigurationValueDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubConfigurationValueDataType_deleteMembers(UA_PubSubConfigurationValueDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfigurationValueDataType_clear(UA_PubSubConfigurationValueDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfigurationValueDataType_delete(UA_PubSubConfigurationValueDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubConfigurationValueDataType_equal(const UA_PubSubConfigurationValueDataType *p1, const UA_PubSubConfigurationValueDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONVALUEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DiagnosticsLevel */ -static UA_INLINE void -UA_DiagnosticsLevel_init(UA_DiagnosticsLevel *p) { - memset(p, 0, sizeof(UA_DiagnosticsLevel)); -} - -static UA_INLINE UA_DiagnosticsLevel * -UA_DiagnosticsLevel_new(void) { - return (UA_DiagnosticsLevel*)UA_new(&UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); -} - -static UA_INLINE UA_StatusCode -UA_DiagnosticsLevel_copy(const UA_DiagnosticsLevel *src, UA_DiagnosticsLevel *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DiagnosticsLevel_deleteMembers(UA_DiagnosticsLevel *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); -} - -static UA_INLINE void -UA_DiagnosticsLevel_clear(UA_DiagnosticsLevel *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); -} - -static UA_INLINE void -UA_DiagnosticsLevel_delete(UA_DiagnosticsLevel *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]); -}static UA_INLINE UA_Boolean -UA_DiagnosticsLevel_equal(const UA_DiagnosticsLevel *p1, const UA_DiagnosticsLevel *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DIAGNOSTICSLEVEL]) == UA_ORDER_EQ); -} - - - -/* PubSubDiagnosticsCounterClassification */ -static UA_INLINE void -UA_PubSubDiagnosticsCounterClassification_init(UA_PubSubDiagnosticsCounterClassification *p) { - memset(p, 0, sizeof(UA_PubSubDiagnosticsCounterClassification)); -} - -static UA_INLINE UA_PubSubDiagnosticsCounterClassification * -UA_PubSubDiagnosticsCounterClassification_new(void) { - return (UA_PubSubDiagnosticsCounterClassification*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubDiagnosticsCounterClassification_copy(const UA_PubSubDiagnosticsCounterClassification *src, UA_PubSubDiagnosticsCounterClassification *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubDiagnosticsCounterClassification_deleteMembers(UA_PubSubDiagnosticsCounterClassification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); -} - -static UA_INLINE void -UA_PubSubDiagnosticsCounterClassification_clear(UA_PubSubDiagnosticsCounterClassification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); -} - -static UA_INLINE void -UA_PubSubDiagnosticsCounterClassification_delete(UA_PubSubDiagnosticsCounterClassification *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]); -}static UA_INLINE UA_Boolean -UA_PubSubDiagnosticsCounterClassification_equal(const UA_PubSubDiagnosticsCounterClassification *p1, const UA_PubSubDiagnosticsCounterClassification *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBDIAGNOSTICSCOUNTERCLASSIFICATION]) == UA_ORDER_EQ); -} - - - -/* AliasNameDataType */ -static UA_INLINE void -UA_AliasNameDataType_init(UA_AliasNameDataType *p) { - memset(p, 0, sizeof(UA_AliasNameDataType)); -} - -static UA_INLINE UA_AliasNameDataType * -UA_AliasNameDataType_new(void) { - return (UA_AliasNameDataType*)UA_new(&UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_AliasNameDataType_copy(const UA_AliasNameDataType *src, UA_AliasNameDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AliasNameDataType_deleteMembers(UA_AliasNameDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); -} - -static UA_INLINE void -UA_AliasNameDataType_clear(UA_AliasNameDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); -} - -static UA_INLINE void -UA_AliasNameDataType_delete(UA_AliasNameDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_AliasNameDataType_equal(const UA_AliasNameDataType *p1, const UA_AliasNameDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ALIASNAMEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PasswordOptionsMask */ -static UA_INLINE void -UA_PasswordOptionsMask_init(UA_PasswordOptionsMask *p) { - memset(p, 0, sizeof(UA_PasswordOptionsMask)); -} - -static UA_INLINE UA_PasswordOptionsMask * -UA_PasswordOptionsMask_new(void) { - return (UA_PasswordOptionsMask*)UA_new(&UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); -} - -static UA_INLINE UA_StatusCode -UA_PasswordOptionsMask_copy(const UA_PasswordOptionsMask *src, UA_PasswordOptionsMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PasswordOptionsMask_deleteMembers(UA_PasswordOptionsMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); -} - -static UA_INLINE void -UA_PasswordOptionsMask_clear(UA_PasswordOptionsMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); -} - -static UA_INLINE void -UA_PasswordOptionsMask_delete(UA_PasswordOptionsMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]); -}static UA_INLINE UA_Boolean -UA_PasswordOptionsMask_equal(const UA_PasswordOptionsMask *p1, const UA_PasswordOptionsMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PASSWORDOPTIONSMASK]) == UA_ORDER_EQ); -} - - - -/* UserConfigurationMask */ -static UA_INLINE void -UA_UserConfigurationMask_init(UA_UserConfigurationMask *p) { - memset(p, 0, sizeof(UA_UserConfigurationMask)); -} - -static UA_INLINE UA_UserConfigurationMask * -UA_UserConfigurationMask_new(void) { - return (UA_UserConfigurationMask*)UA_new(&UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); -} - -static UA_INLINE UA_StatusCode -UA_UserConfigurationMask_copy(const UA_UserConfigurationMask *src, UA_UserConfigurationMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UserConfigurationMask_deleteMembers(UA_UserConfigurationMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); -} - -static UA_INLINE void -UA_UserConfigurationMask_clear(UA_UserConfigurationMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); -} - -static UA_INLINE void -UA_UserConfigurationMask_delete(UA_UserConfigurationMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]); -}static UA_INLINE UA_Boolean -UA_UserConfigurationMask_equal(const UA_UserConfigurationMask *p1, const UA_UserConfigurationMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK]) == UA_ORDER_EQ); -} - - - -/* UserManagementDataType */ -static UA_INLINE void -UA_UserManagementDataType_init(UA_UserManagementDataType *p) { - memset(p, 0, sizeof(UA_UserManagementDataType)); -} - -static UA_INLINE UA_UserManagementDataType * -UA_UserManagementDataType_new(void) { - return (UA_UserManagementDataType*)UA_new(&UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_UserManagementDataType_copy(const UA_UserManagementDataType *src, UA_UserManagementDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UserManagementDataType_deleteMembers(UA_UserManagementDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); -} - -static UA_INLINE void -UA_UserManagementDataType_clear(UA_UserManagementDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); -} - -static UA_INLINE void -UA_UserManagementDataType_delete(UA_UserManagementDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_UserManagementDataType_equal(const UA_UserManagementDataType *p1, const UA_UserManagementDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERMANAGEMENTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* EncodedTicket */ -static UA_INLINE void -UA_EncodedTicket_init(UA_EncodedTicket *p) { - memset(p, 0, sizeof(UA_EncodedTicket)); -} - -static UA_INLINE UA_EncodedTicket * -UA_EncodedTicket_new(void) { - return (UA_EncodedTicket*)UA_new(&UA_TYPES[UA_TYPES_ENCODEDTICKET]); -} - -static UA_INLINE UA_StatusCode -UA_EncodedTicket_copy(const UA_EncodedTicket *src, UA_EncodedTicket *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EncodedTicket_deleteMembers(UA_EncodedTicket *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); -} - -static UA_INLINE void -UA_EncodedTicket_clear(UA_EncodedTicket *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); -} - -static UA_INLINE void -UA_EncodedTicket_delete(UA_EncodedTicket *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENCODEDTICKET]); -}static UA_INLINE UA_Boolean -UA_EncodedTicket_equal(const UA_EncodedTicket *p1, const UA_EncodedTicket *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENCODEDTICKET]) == UA_ORDER_EQ); -} - - - -/* Duplex */ -static UA_INLINE void -UA_Duplex_init(UA_Duplex *p) { - memset(p, 0, sizeof(UA_Duplex)); -} - -static UA_INLINE UA_Duplex * -UA_Duplex_new(void) { - return (UA_Duplex*)UA_new(&UA_TYPES[UA_TYPES_DUPLEX]); -} - -static UA_INLINE UA_StatusCode -UA_Duplex_copy(const UA_Duplex *src, UA_Duplex *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DUPLEX]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Duplex_deleteMembers(UA_Duplex *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DUPLEX]); -} - -static UA_INLINE void -UA_Duplex_clear(UA_Duplex *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DUPLEX]); -} - -static UA_INLINE void -UA_Duplex_delete(UA_Duplex *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DUPLEX]); -}static UA_INLINE UA_Boolean -UA_Duplex_equal(const UA_Duplex *p1, const UA_Duplex *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DUPLEX]) == UA_ORDER_EQ); -} - - - -/* InterfaceAdminStatus */ -static UA_INLINE void -UA_InterfaceAdminStatus_init(UA_InterfaceAdminStatus *p) { - memset(p, 0, sizeof(UA_InterfaceAdminStatus)); -} - -static UA_INLINE UA_InterfaceAdminStatus * -UA_InterfaceAdminStatus_new(void) { - return (UA_InterfaceAdminStatus*)UA_new(&UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); -} - -static UA_INLINE UA_StatusCode -UA_InterfaceAdminStatus_copy(const UA_InterfaceAdminStatus *src, UA_InterfaceAdminStatus *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_InterfaceAdminStatus_deleteMembers(UA_InterfaceAdminStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); -} - -static UA_INLINE void -UA_InterfaceAdminStatus_clear(UA_InterfaceAdminStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); -} - -static UA_INLINE void -UA_InterfaceAdminStatus_delete(UA_InterfaceAdminStatus *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]); -}static UA_INLINE UA_Boolean -UA_InterfaceAdminStatus_equal(const UA_InterfaceAdminStatus *p1, const UA_InterfaceAdminStatus *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INTERFACEADMINSTATUS]) == UA_ORDER_EQ); -} - - - -/* InterfaceOperStatus */ -static UA_INLINE void -UA_InterfaceOperStatus_init(UA_InterfaceOperStatus *p) { - memset(p, 0, sizeof(UA_InterfaceOperStatus)); -} - -static UA_INLINE UA_InterfaceOperStatus * -UA_InterfaceOperStatus_new(void) { - return (UA_InterfaceOperStatus*)UA_new(&UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); -} - -static UA_INLINE UA_StatusCode -UA_InterfaceOperStatus_copy(const UA_InterfaceOperStatus *src, UA_InterfaceOperStatus *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_InterfaceOperStatus_deleteMembers(UA_InterfaceOperStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); -} - -static UA_INLINE void -UA_InterfaceOperStatus_clear(UA_InterfaceOperStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); -} - -static UA_INLINE void -UA_InterfaceOperStatus_delete(UA_InterfaceOperStatus *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]); -}static UA_INLINE UA_Boolean -UA_InterfaceOperStatus_equal(const UA_InterfaceOperStatus *p1, const UA_InterfaceOperStatus *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INTERFACEOPERSTATUS]) == UA_ORDER_EQ); -} - - - -/* NegotiationStatus */ -static UA_INLINE void -UA_NegotiationStatus_init(UA_NegotiationStatus *p) { - memset(p, 0, sizeof(UA_NegotiationStatus)); -} - -static UA_INLINE UA_NegotiationStatus * -UA_NegotiationStatus_new(void) { - return (UA_NegotiationStatus*)UA_new(&UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); -} - -static UA_INLINE UA_StatusCode -UA_NegotiationStatus_copy(const UA_NegotiationStatus *src, UA_NegotiationStatus *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NegotiationStatus_deleteMembers(UA_NegotiationStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); -} - -static UA_INLINE void -UA_NegotiationStatus_clear(UA_NegotiationStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); -} - -static UA_INLINE void -UA_NegotiationStatus_delete(UA_NegotiationStatus *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]); -}static UA_INLINE UA_Boolean -UA_NegotiationStatus_equal(const UA_NegotiationStatus *p1, const UA_NegotiationStatus *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NEGOTIATIONSTATUS]) == UA_ORDER_EQ); -} - - - -/* TsnFailureCode */ -static UA_INLINE void -UA_TsnFailureCode_init(UA_TsnFailureCode *p) { - memset(p, 0, sizeof(UA_TsnFailureCode)); -} - -static UA_INLINE UA_TsnFailureCode * -UA_TsnFailureCode_new(void) { - return (UA_TsnFailureCode*)UA_new(&UA_TYPES[UA_TYPES_TSNFAILURECODE]); -} - -static UA_INLINE UA_StatusCode -UA_TsnFailureCode_copy(const UA_TsnFailureCode *src, UA_TsnFailureCode *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TsnFailureCode_deleteMembers(UA_TsnFailureCode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); -} - -static UA_INLINE void -UA_TsnFailureCode_clear(UA_TsnFailureCode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); -} - -static UA_INLINE void -UA_TsnFailureCode_delete(UA_TsnFailureCode *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TSNFAILURECODE]); -}static UA_INLINE UA_Boolean -UA_TsnFailureCode_equal(const UA_TsnFailureCode *p1, const UA_TsnFailureCode *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNFAILURECODE]) == UA_ORDER_EQ); -} - - - -/* TsnStreamState */ -static UA_INLINE void -UA_TsnStreamState_init(UA_TsnStreamState *p) { - memset(p, 0, sizeof(UA_TsnStreamState)); -} - -static UA_INLINE UA_TsnStreamState * -UA_TsnStreamState_new(void) { - return (UA_TsnStreamState*)UA_new(&UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); -} - -static UA_INLINE UA_StatusCode -UA_TsnStreamState_copy(const UA_TsnStreamState *src, UA_TsnStreamState *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TsnStreamState_deleteMembers(UA_TsnStreamState *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); -} - -static UA_INLINE void -UA_TsnStreamState_clear(UA_TsnStreamState *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); -} - -static UA_INLINE void -UA_TsnStreamState_delete(UA_TsnStreamState *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]); -}static UA_INLINE UA_Boolean -UA_TsnStreamState_equal(const UA_TsnStreamState *p1, const UA_TsnStreamState *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNSTREAMSTATE]) == UA_ORDER_EQ); -} - - - -/* TsnTalkerStatus */ -static UA_INLINE void -UA_TsnTalkerStatus_init(UA_TsnTalkerStatus *p) { - memset(p, 0, sizeof(UA_TsnTalkerStatus)); -} - -static UA_INLINE UA_TsnTalkerStatus * -UA_TsnTalkerStatus_new(void) { - return (UA_TsnTalkerStatus*)UA_new(&UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); -} - -static UA_INLINE UA_StatusCode -UA_TsnTalkerStatus_copy(const UA_TsnTalkerStatus *src, UA_TsnTalkerStatus *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TsnTalkerStatus_deleteMembers(UA_TsnTalkerStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); -} - -static UA_INLINE void -UA_TsnTalkerStatus_clear(UA_TsnTalkerStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); -} - -static UA_INLINE void -UA_TsnTalkerStatus_delete(UA_TsnTalkerStatus *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]); -}static UA_INLINE UA_Boolean -UA_TsnTalkerStatus_equal(const UA_TsnTalkerStatus *p1, const UA_TsnTalkerStatus *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNTALKERSTATUS]) == UA_ORDER_EQ); -} - - - -/* TsnListenerStatus */ -static UA_INLINE void -UA_TsnListenerStatus_init(UA_TsnListenerStatus *p) { - memset(p, 0, sizeof(UA_TsnListenerStatus)); -} - -static UA_INLINE UA_TsnListenerStatus * -UA_TsnListenerStatus_new(void) { - return (UA_TsnListenerStatus*)UA_new(&UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); -} - -static UA_INLINE UA_StatusCode -UA_TsnListenerStatus_copy(const UA_TsnListenerStatus *src, UA_TsnListenerStatus *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TsnListenerStatus_deleteMembers(UA_TsnListenerStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); -} - -static UA_INLINE void -UA_TsnListenerStatus_clear(UA_TsnListenerStatus *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); -} - -static UA_INLINE void -UA_TsnListenerStatus_delete(UA_TsnListenerStatus *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]); -}static UA_INLINE UA_Boolean -UA_TsnListenerStatus_equal(const UA_TsnListenerStatus *p1, const UA_TsnListenerStatus *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TSNLISTENERSTATUS]) == UA_ORDER_EQ); -} - - - -/* PriorityMappingEntryType */ -static UA_INLINE void -UA_PriorityMappingEntryType_init(UA_PriorityMappingEntryType *p) { - memset(p, 0, sizeof(UA_PriorityMappingEntryType)); -} - -static UA_INLINE UA_PriorityMappingEntryType * -UA_PriorityMappingEntryType_new(void) { - return (UA_PriorityMappingEntryType*)UA_new(&UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PriorityMappingEntryType_copy(const UA_PriorityMappingEntryType *src, UA_PriorityMappingEntryType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PriorityMappingEntryType_deleteMembers(UA_PriorityMappingEntryType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); -} - -static UA_INLINE void -UA_PriorityMappingEntryType_clear(UA_PriorityMappingEntryType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); -} - -static UA_INLINE void -UA_PriorityMappingEntryType_delete(UA_PriorityMappingEntryType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]); -}static UA_INLINE UA_Boolean -UA_PriorityMappingEntryType_equal(const UA_PriorityMappingEntryType *p1, const UA_PriorityMappingEntryType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PRIORITYMAPPINGENTRYTYPE]) == UA_ORDER_EQ); -} - - - -/* ReferenceDescriptionDataType */ -static UA_INLINE void -UA_ReferenceDescriptionDataType_init(UA_ReferenceDescriptionDataType *p) { - memset(p, 0, sizeof(UA_ReferenceDescriptionDataType)); -} - -static UA_INLINE UA_ReferenceDescriptionDataType * -UA_ReferenceDescriptionDataType_new(void) { - return (UA_ReferenceDescriptionDataType*)UA_new(&UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ReferenceDescriptionDataType_copy(const UA_ReferenceDescriptionDataType *src, UA_ReferenceDescriptionDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReferenceDescriptionDataType_deleteMembers(UA_ReferenceDescriptionDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); -} - -static UA_INLINE void -UA_ReferenceDescriptionDataType_clear(UA_ReferenceDescriptionDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); -} - -static UA_INLINE void -UA_ReferenceDescriptionDataType_delete(UA_ReferenceDescriptionDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ReferenceDescriptionDataType_equal(const UA_ReferenceDescriptionDataType *p1, const UA_ReferenceDescriptionDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTIONDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ReferenceListEntryDataType */ -static UA_INLINE void -UA_ReferenceListEntryDataType_init(UA_ReferenceListEntryDataType *p) { - memset(p, 0, sizeof(UA_ReferenceListEntryDataType)); -} - -static UA_INLINE UA_ReferenceListEntryDataType * -UA_ReferenceListEntryDataType_new(void) { - return (UA_ReferenceListEntryDataType*)UA_new(&UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ReferenceListEntryDataType_copy(const UA_ReferenceListEntryDataType *src, UA_ReferenceListEntryDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReferenceListEntryDataType_deleteMembers(UA_ReferenceListEntryDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); -} - -static UA_INLINE void -UA_ReferenceListEntryDataType_clear(UA_ReferenceListEntryDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); -} - -static UA_INLINE void -UA_ReferenceListEntryDataType_delete(UA_ReferenceListEntryDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ReferenceListEntryDataType_equal(const UA_ReferenceListEntryDataType *p1, const UA_ReferenceListEntryDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCELISTENTRYDATATYPE]) == UA_ORDER_EQ); -} - - - -/* IdType */ -static UA_INLINE void -UA_IdType_init(UA_IdType *p) { - memset(p, 0, sizeof(UA_IdType)); -} - -static UA_INLINE UA_IdType * -UA_IdType_new(void) { - return (UA_IdType*)UA_new(&UA_TYPES[UA_TYPES_IDTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_IdType_copy(const UA_IdType *src, UA_IdType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_IDTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_IdType_deleteMembers(UA_IdType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IDTYPE]); -} - -static UA_INLINE void -UA_IdType_clear(UA_IdType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_IDTYPE]); -} - -static UA_INLINE void -UA_IdType_delete(UA_IdType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_IDTYPE]); -}static UA_INLINE UA_Boolean -UA_IdType_equal(const UA_IdType *p1, const UA_IdType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_IDTYPE]) == UA_ORDER_EQ); -} - - - -/* NodeClass */ -static UA_INLINE void -UA_NodeClass_init(UA_NodeClass *p) { - memset(p, 0, sizeof(UA_NodeClass)); -} - -static UA_INLINE UA_NodeClass * -UA_NodeClass_new(void) { - return (UA_NodeClass*)UA_new(&UA_TYPES[UA_TYPES_NODECLASS]); -} - -static UA_INLINE UA_StatusCode -UA_NodeClass_copy(const UA_NodeClass *src, UA_NodeClass *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODECLASS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NodeClass_deleteMembers(UA_NodeClass *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODECLASS]); -} - -static UA_INLINE void -UA_NodeClass_clear(UA_NodeClass *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODECLASS]); -} - -static UA_INLINE void -UA_NodeClass_delete(UA_NodeClass *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NODECLASS]); -}static UA_INLINE UA_Boolean -UA_NodeClass_equal(const UA_NodeClass *p1, const UA_NodeClass *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODECLASS]) == UA_ORDER_EQ); -} - - - -/* PermissionType */ -static UA_INLINE void -UA_PermissionType_init(UA_PermissionType *p) { - memset(p, 0, sizeof(UA_PermissionType)); -} - -static UA_INLINE UA_PermissionType * -UA_PermissionType_new(void) { - return (UA_PermissionType*)UA_new(&UA_TYPES[UA_TYPES_PERMISSIONTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PermissionType_copy(const UA_PermissionType *src, UA_PermissionType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PermissionType_deleteMembers(UA_PermissionType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); -} - -static UA_INLINE void -UA_PermissionType_clear(UA_PermissionType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); -} - -static UA_INLINE void -UA_PermissionType_delete(UA_PermissionType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]); -}static UA_INLINE UA_Boolean -UA_PermissionType_equal(const UA_PermissionType *p1, const UA_PermissionType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PERMISSIONTYPE]) == UA_ORDER_EQ); -} - - - -/* AccessLevelType */ -static UA_INLINE void -UA_AccessLevelType_init(UA_AccessLevelType *p) { - memset(p, 0, sizeof(UA_AccessLevelType)); -} - -static UA_INLINE UA_AccessLevelType * -UA_AccessLevelType_new(void) { - return (UA_AccessLevelType*)UA_new(&UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_AccessLevelType_copy(const UA_AccessLevelType *src, UA_AccessLevelType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AccessLevelType_deleteMembers(UA_AccessLevelType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); -} - -static UA_INLINE void -UA_AccessLevelType_clear(UA_AccessLevelType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); -} - -static UA_INLINE void -UA_AccessLevelType_delete(UA_AccessLevelType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]); -}static UA_INLINE UA_Boolean -UA_AccessLevelType_equal(const UA_AccessLevelType *p1, const UA_AccessLevelType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACCESSLEVELTYPE]) == UA_ORDER_EQ); -} - - - -/* AccessLevelExType */ -static UA_INLINE void -UA_AccessLevelExType_init(UA_AccessLevelExType *p) { - memset(p, 0, sizeof(UA_AccessLevelExType)); -} - -static UA_INLINE UA_AccessLevelExType * -UA_AccessLevelExType_new(void) { - return (UA_AccessLevelExType*)UA_new(&UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_AccessLevelExType_copy(const UA_AccessLevelExType *src, UA_AccessLevelExType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AccessLevelExType_deleteMembers(UA_AccessLevelExType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); -} - -static UA_INLINE void -UA_AccessLevelExType_clear(UA_AccessLevelExType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); -} - -static UA_INLINE void -UA_AccessLevelExType_delete(UA_AccessLevelExType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]); -}static UA_INLINE UA_Boolean -UA_AccessLevelExType_equal(const UA_AccessLevelExType *p1, const UA_AccessLevelExType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACCESSLEVELEXTYPE]) == UA_ORDER_EQ); -} - - - -/* EventNotifierType */ -static UA_INLINE void -UA_EventNotifierType_init(UA_EventNotifierType *p) { - memset(p, 0, sizeof(UA_EventNotifierType)); -} - -static UA_INLINE UA_EventNotifierType * -UA_EventNotifierType_new(void) { - return (UA_EventNotifierType*)UA_new(&UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_EventNotifierType_copy(const UA_EventNotifierType *src, UA_EventNotifierType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EventNotifierType_deleteMembers(UA_EventNotifierType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); -} - -static UA_INLINE void -UA_EventNotifierType_clear(UA_EventNotifierType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); -} - -static UA_INLINE void -UA_EventNotifierType_delete(UA_EventNotifierType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]); -}static UA_INLINE UA_Boolean -UA_EventNotifierType_equal(const UA_EventNotifierType *p1, const UA_EventNotifierType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTNOTIFIERTYPE]) == UA_ORDER_EQ); -} - - - -/* AccessRestrictionType */ -static UA_INLINE void -UA_AccessRestrictionType_init(UA_AccessRestrictionType *p) { - memset(p, 0, sizeof(UA_AccessRestrictionType)); -} - -static UA_INLINE UA_AccessRestrictionType * -UA_AccessRestrictionType_new(void) { - return (UA_AccessRestrictionType*)UA_new(&UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_AccessRestrictionType_copy(const UA_AccessRestrictionType *src, UA_AccessRestrictionType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AccessRestrictionType_deleteMembers(UA_AccessRestrictionType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); -} - -static UA_INLINE void -UA_AccessRestrictionType_clear(UA_AccessRestrictionType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); -} - -static UA_INLINE void -UA_AccessRestrictionType_delete(UA_AccessRestrictionType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]); -}static UA_INLINE UA_Boolean -UA_AccessRestrictionType_equal(const UA_AccessRestrictionType *p1, const UA_AccessRestrictionType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACCESSRESTRICTIONTYPE]) == UA_ORDER_EQ); -} - - - -/* RolePermissionType */ -static UA_INLINE void -UA_RolePermissionType_init(UA_RolePermissionType *p) { - memset(p, 0, sizeof(UA_RolePermissionType)); -} - -static UA_INLINE UA_RolePermissionType * -UA_RolePermissionType_new(void) { - return (UA_RolePermissionType*)UA_new(&UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_RolePermissionType_copy(const UA_RolePermissionType *src, UA_RolePermissionType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RolePermissionType_deleteMembers(UA_RolePermissionType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); -} - -static UA_INLINE void -UA_RolePermissionType_clear(UA_RolePermissionType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); -} - -static UA_INLINE void -UA_RolePermissionType_delete(UA_RolePermissionType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]); -}static UA_INLINE UA_Boolean -UA_RolePermissionType_equal(const UA_RolePermissionType *p1, const UA_RolePermissionType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE]) == UA_ORDER_EQ); -} - - - -/* StructureType */ -static UA_INLINE void -UA_StructureType_init(UA_StructureType *p) { - memset(p, 0, sizeof(UA_StructureType)); -} - -static UA_INLINE UA_StructureType * -UA_StructureType_new(void) { - return (UA_StructureType*)UA_new(&UA_TYPES[UA_TYPES_STRUCTURETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_StructureType_copy(const UA_StructureType *src, UA_StructureType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StructureType_deleteMembers(UA_StructureType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); -} - -static UA_INLINE void -UA_StructureType_clear(UA_StructureType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); -} - -static UA_INLINE void -UA_StructureType_delete(UA_StructureType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTURETYPE]); -}static UA_INLINE UA_Boolean -UA_StructureType_equal(const UA_StructureType *p1, const UA_StructureType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTURETYPE]) == UA_ORDER_EQ); -} - - - -/* StructureField */ -static UA_INLINE void -UA_StructureField_init(UA_StructureField *p) { - memset(p, 0, sizeof(UA_StructureField)); -} - -static UA_INLINE UA_StructureField * -UA_StructureField_new(void) { - return (UA_StructureField*)UA_new(&UA_TYPES[UA_TYPES_STRUCTUREFIELD]); -} - -static UA_INLINE UA_StatusCode -UA_StructureField_copy(const UA_StructureField *src, UA_StructureField *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StructureField_deleteMembers(UA_StructureField *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); -} - -static UA_INLINE void -UA_StructureField_clear(UA_StructureField *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); -} - -static UA_INLINE void -UA_StructureField_delete(UA_StructureField *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]); -}static UA_INLINE UA_Boolean -UA_StructureField_equal(const UA_StructureField *p1, const UA_StructureField *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTUREFIELD]) == UA_ORDER_EQ); -} - - - -/* StructureDefinition */ -static UA_INLINE void -UA_StructureDefinition_init(UA_StructureDefinition *p) { - memset(p, 0, sizeof(UA_StructureDefinition)); -} - -static UA_INLINE UA_StructureDefinition * -UA_StructureDefinition_new(void) { - return (UA_StructureDefinition*)UA_new(&UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); -} - -static UA_INLINE UA_StatusCode -UA_StructureDefinition_copy(const UA_StructureDefinition *src, UA_StructureDefinition *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StructureDefinition_deleteMembers(UA_StructureDefinition *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); -} - -static UA_INLINE void -UA_StructureDefinition_clear(UA_StructureDefinition *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); -} - -static UA_INLINE void -UA_StructureDefinition_delete(UA_StructureDefinition *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); -}static UA_INLINE UA_Boolean -UA_StructureDefinition_equal(const UA_StructureDefinition *p1, const UA_StructureDefinition *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]) == UA_ORDER_EQ); -} - - - -/* Argument */ -static UA_INLINE void -UA_Argument_init(UA_Argument *p) { - memset(p, 0, sizeof(UA_Argument)); -} - -static UA_INLINE UA_Argument * -UA_Argument_new(void) { - return (UA_Argument*)UA_new(&UA_TYPES[UA_TYPES_ARGUMENT]); -} - -static UA_INLINE UA_StatusCode -UA_Argument_copy(const UA_Argument *src, UA_Argument *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ARGUMENT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Argument_deleteMembers(UA_Argument *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ARGUMENT]); -} - -static UA_INLINE void -UA_Argument_clear(UA_Argument *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ARGUMENT]); -} - -static UA_INLINE void -UA_Argument_delete(UA_Argument *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ARGUMENT]); -}static UA_INLINE UA_Boolean -UA_Argument_equal(const UA_Argument *p1, const UA_Argument *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ARGUMENT]) == UA_ORDER_EQ); -} - - - -/* EnumValueType */ -static UA_INLINE void -UA_EnumValueType_init(UA_EnumValueType *p) { - memset(p, 0, sizeof(UA_EnumValueType)); -} - -static UA_INLINE UA_EnumValueType * -UA_EnumValueType_new(void) { - return (UA_EnumValueType*)UA_new(&UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_EnumValueType_copy(const UA_EnumValueType *src, UA_EnumValueType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EnumValueType_deleteMembers(UA_EnumValueType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -} - -static UA_INLINE void -UA_EnumValueType_clear(UA_EnumValueType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -} - -static UA_INLINE void -UA_EnumValueType_delete(UA_EnumValueType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -}static UA_INLINE UA_Boolean -UA_EnumValueType_equal(const UA_EnumValueType *p1, const UA_EnumValueType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]) == UA_ORDER_EQ); -} - - - -/* EnumField */ -static UA_INLINE void -UA_EnumField_init(UA_EnumField *p) { - memset(p, 0, sizeof(UA_EnumField)); -} - -static UA_INLINE UA_EnumField * -UA_EnumField_new(void) { - return (UA_EnumField*)UA_new(&UA_TYPES[UA_TYPES_ENUMFIELD]); -} - -static UA_INLINE UA_StatusCode -UA_EnumField_copy(const UA_EnumField *src, UA_EnumField *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMFIELD]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EnumField_deleteMembers(UA_EnumField *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMFIELD]); -} - -static UA_INLINE void -UA_EnumField_clear(UA_EnumField *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMFIELD]); -} - -static UA_INLINE void -UA_EnumField_delete(UA_EnumField *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENUMFIELD]); -}static UA_INLINE UA_Boolean -UA_EnumField_equal(const UA_EnumField *p1, const UA_EnumField *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMFIELD]) == UA_ORDER_EQ); -} - - - -/* OptionSet */ -static UA_INLINE void -UA_OptionSet_init(UA_OptionSet *p) { - memset(p, 0, sizeof(UA_OptionSet)); -} - -static UA_INLINE UA_OptionSet * -UA_OptionSet_new(void) { - return (UA_OptionSet*)UA_new(&UA_TYPES[UA_TYPES_OPTIONSET]); -} - -static UA_INLINE UA_StatusCode -UA_OptionSet_copy(const UA_OptionSet *src, UA_OptionSet *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPTIONSET]); -} - -UA_DEPRECATED static UA_INLINE void -UA_OptionSet_deleteMembers(UA_OptionSet *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPTIONSET]); -} - -static UA_INLINE void -UA_OptionSet_clear(UA_OptionSet *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPTIONSET]); -} - -static UA_INLINE void -UA_OptionSet_delete(UA_OptionSet *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OPTIONSET]); -}static UA_INLINE UA_Boolean -UA_OptionSet_equal(const UA_OptionSet *p1, const UA_OptionSet *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPTIONSET]) == UA_ORDER_EQ); -} - - - -/* NormalizedString */ -static UA_INLINE void -UA_NormalizedString_init(UA_NormalizedString *p) { - memset(p, 0, sizeof(UA_NormalizedString)); -} - -static UA_INLINE UA_NormalizedString * -UA_NormalizedString_new(void) { - return (UA_NormalizedString*)UA_new(&UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); -} - -static UA_INLINE UA_StatusCode -UA_NormalizedString_copy(const UA_NormalizedString *src, UA_NormalizedString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NormalizedString_deleteMembers(UA_NormalizedString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); -} - -static UA_INLINE void -UA_NormalizedString_clear(UA_NormalizedString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); -} - -static UA_INLINE void -UA_NormalizedString_delete(UA_NormalizedString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]); -}static UA_INLINE UA_Boolean -UA_NormalizedString_equal(const UA_NormalizedString *p1, const UA_NormalizedString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NORMALIZEDSTRING]) == UA_ORDER_EQ); -} - - - -/* DecimalString */ -static UA_INLINE void -UA_DecimalString_init(UA_DecimalString *p) { - memset(p, 0, sizeof(UA_DecimalString)); -} - -static UA_INLINE UA_DecimalString * -UA_DecimalString_new(void) { - return (UA_DecimalString*)UA_new(&UA_TYPES[UA_TYPES_DECIMALSTRING]); -} - -static UA_INLINE UA_StatusCode -UA_DecimalString_copy(const UA_DecimalString *src, UA_DecimalString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DECIMALSTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DecimalString_deleteMembers(UA_DecimalString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DECIMALSTRING]); -} - -static UA_INLINE void -UA_DecimalString_clear(UA_DecimalString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DECIMALSTRING]); -} - -static UA_INLINE void -UA_DecimalString_delete(UA_DecimalString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DECIMALSTRING]); -}static UA_INLINE UA_Boolean -UA_DecimalString_equal(const UA_DecimalString *p1, const UA_DecimalString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DECIMALSTRING]) == UA_ORDER_EQ); -} - - - -/* DurationString */ -static UA_INLINE void -UA_DurationString_init(UA_DurationString *p) { - memset(p, 0, sizeof(UA_DurationString)); -} - -static UA_INLINE UA_DurationString * -UA_DurationString_new(void) { - return (UA_DurationString*)UA_new(&UA_TYPES[UA_TYPES_DURATIONSTRING]); -} - -static UA_INLINE UA_StatusCode -UA_DurationString_copy(const UA_DurationString *src, UA_DurationString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DURATIONSTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DurationString_deleteMembers(UA_DurationString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DURATIONSTRING]); -} - -static UA_INLINE void -UA_DurationString_clear(UA_DurationString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DURATIONSTRING]); -} - -static UA_INLINE void -UA_DurationString_delete(UA_DurationString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DURATIONSTRING]); -}static UA_INLINE UA_Boolean -UA_DurationString_equal(const UA_DurationString *p1, const UA_DurationString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DURATIONSTRING]) == UA_ORDER_EQ); -} - - - -/* TimeString */ -static UA_INLINE void -UA_TimeString_init(UA_TimeString *p) { - memset(p, 0, sizeof(UA_TimeString)); -} - -static UA_INLINE UA_TimeString * -UA_TimeString_new(void) { - return (UA_TimeString*)UA_new(&UA_TYPES[UA_TYPES_TIMESTRING]); -} - -static UA_INLINE UA_StatusCode -UA_TimeString_copy(const UA_TimeString *src, UA_TimeString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TIMESTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TimeString_deleteMembers(UA_TimeString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTRING]); -} - -static UA_INLINE void -UA_TimeString_clear(UA_TimeString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTRING]); -} - -static UA_INLINE void -UA_TimeString_delete(UA_TimeString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TIMESTRING]); -}static UA_INLINE UA_Boolean -UA_TimeString_equal(const UA_TimeString *p1, const UA_TimeString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TIMESTRING]) == UA_ORDER_EQ); -} - - - -/* DateString */ -static UA_INLINE void -UA_DateString_init(UA_DateString *p) { - memset(p, 0, sizeof(UA_DateString)); -} - -static UA_INLINE UA_DateString * -UA_DateString_new(void) { - return (UA_DateString*)UA_new(&UA_TYPES[UA_TYPES_DATESTRING]); -} - -static UA_INLINE UA_StatusCode -UA_DateString_copy(const UA_DateString *src, UA_DateString *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATESTRING]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DateString_deleteMembers(UA_DateString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATESTRING]); -} - -static UA_INLINE void -UA_DateString_clear(UA_DateString *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATESTRING]); -} - -static UA_INLINE void -UA_DateString_delete(UA_DateString *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATESTRING]); -}static UA_INLINE UA_Boolean -UA_DateString_equal(const UA_DateString *p1, const UA_DateString *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATESTRING]) == UA_ORDER_EQ); -} - - - -/* Duration */ -static UA_INLINE void -UA_Duration_init(UA_Duration *p) { - memset(p, 0, sizeof(UA_Duration)); -} - -static UA_INLINE UA_Duration * -UA_Duration_new(void) { - return (UA_Duration*)UA_new(&UA_TYPES[UA_TYPES_DURATION]); -} - -static UA_INLINE UA_StatusCode -UA_Duration_copy(const UA_Duration *src, UA_Duration *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DURATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Duration_deleteMembers(UA_Duration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DURATION]); -} - -static UA_INLINE void -UA_Duration_clear(UA_Duration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DURATION]); -} - -static UA_INLINE void -UA_Duration_delete(UA_Duration *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DURATION]); -}static UA_INLINE UA_Boolean -UA_Duration_equal(const UA_Duration *p1, const UA_Duration *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DURATION]) == UA_ORDER_EQ); -} - - - -/* UtcTime */ -static UA_INLINE void -UA_UtcTime_init(UA_UtcTime *p) { - memset(p, 0, sizeof(UA_UtcTime)); -} - -static UA_INLINE UA_UtcTime * -UA_UtcTime_new(void) { - return (UA_UtcTime*)UA_new(&UA_TYPES[UA_TYPES_UTCTIME]); -} - -static UA_INLINE UA_StatusCode -UA_UtcTime_copy(const UA_UtcTime *src, UA_UtcTime *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UTCTIME]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UtcTime_deleteMembers(UA_UtcTime *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UTCTIME]); -} - -static UA_INLINE void -UA_UtcTime_clear(UA_UtcTime *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UTCTIME]); -} - -static UA_INLINE void -UA_UtcTime_delete(UA_UtcTime *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UTCTIME]); -}static UA_INLINE UA_Boolean -UA_UtcTime_equal(const UA_UtcTime *p1, const UA_UtcTime *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UTCTIME]) == UA_ORDER_EQ); -} - - - -/* LocaleId */ -static UA_INLINE void -UA_LocaleId_init(UA_LocaleId *p) { - memset(p, 0, sizeof(UA_LocaleId)); -} - -static UA_INLINE UA_LocaleId * -UA_LocaleId_new(void) { - return (UA_LocaleId*)UA_new(&UA_TYPES[UA_TYPES_LOCALEID]); -} - -static UA_INLINE UA_StatusCode -UA_LocaleId_copy(const UA_LocaleId *src, UA_LocaleId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_LOCALEID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_LocaleId_deleteMembers(UA_LocaleId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_LOCALEID]); -} - -static UA_INLINE void -UA_LocaleId_clear(UA_LocaleId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_LOCALEID]); -} - -static UA_INLINE void -UA_LocaleId_delete(UA_LocaleId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_LOCALEID]); -}static UA_INLINE UA_Boolean -UA_LocaleId_equal(const UA_LocaleId *p1, const UA_LocaleId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_LOCALEID]) == UA_ORDER_EQ); -} - - - -/* TimeZoneDataType */ -static UA_INLINE void -UA_TimeZoneDataType_init(UA_TimeZoneDataType *p) { - memset(p, 0, sizeof(UA_TimeZoneDataType)); -} - -static UA_INLINE UA_TimeZoneDataType * -UA_TimeZoneDataType_new(void) { - return (UA_TimeZoneDataType*)UA_new(&UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_TimeZoneDataType_copy(const UA_TimeZoneDataType *src, UA_TimeZoneDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TimeZoneDataType_deleteMembers(UA_TimeZoneDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); -} - -static UA_INLINE void -UA_TimeZoneDataType_clear(UA_TimeZoneDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); -} - -static UA_INLINE void -UA_TimeZoneDataType_delete(UA_TimeZoneDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_TimeZoneDataType_equal(const UA_TimeZoneDataType *p1, const UA_TimeZoneDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TIMEZONEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* Index */ -static UA_INLINE void -UA_Index_init(UA_Index *p) { - memset(p, 0, sizeof(UA_Index)); -} - -static UA_INLINE UA_Index * -UA_Index_new(void) { - return (UA_Index*)UA_new(&UA_TYPES[UA_TYPES_INDEX]); -} - -static UA_INLINE UA_StatusCode -UA_Index_copy(const UA_Index *src, UA_Index *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INDEX]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Index_deleteMembers(UA_Index *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INDEX]); -} - -static UA_INLINE void -UA_Index_clear(UA_Index *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INDEX]); -} - -static UA_INLINE void -UA_Index_delete(UA_Index *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INDEX]); -}static UA_INLINE UA_Boolean -UA_Index_equal(const UA_Index *p1, const UA_Index *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INDEX]) == UA_ORDER_EQ); -} - - - -/* IntegerId */ -static UA_INLINE void -UA_IntegerId_init(UA_IntegerId *p) { - memset(p, 0, sizeof(UA_IntegerId)); -} - -static UA_INLINE UA_IntegerId * -UA_IntegerId_new(void) { - return (UA_IntegerId*)UA_new(&UA_TYPES[UA_TYPES_INTEGERID]); -} - -static UA_INLINE UA_StatusCode -UA_IntegerId_copy(const UA_IntegerId *src, UA_IntegerId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_INTEGERID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_IntegerId_deleteMembers(UA_IntegerId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INTEGERID]); -} - -static UA_INLINE void -UA_IntegerId_clear(UA_IntegerId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_INTEGERID]); -} - -static UA_INLINE void -UA_IntegerId_delete(UA_IntegerId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_INTEGERID]); -}static UA_INLINE UA_Boolean -UA_IntegerId_equal(const UA_IntegerId *p1, const UA_IntegerId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_INTEGERID]) == UA_ORDER_EQ); -} - - - -/* ApplicationType */ -static UA_INLINE void -UA_ApplicationType_init(UA_ApplicationType *p) { - memset(p, 0, sizeof(UA_ApplicationType)); -} - -static UA_INLINE UA_ApplicationType * -UA_ApplicationType_new(void) { - return (UA_ApplicationType*)UA_new(&UA_TYPES[UA_TYPES_APPLICATIONTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ApplicationType_copy(const UA_ApplicationType *src, UA_ApplicationType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ApplicationType_deleteMembers(UA_ApplicationType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); -} - -static UA_INLINE void -UA_ApplicationType_clear(UA_ApplicationType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); -} - -static UA_INLINE void -UA_ApplicationType_delete(UA_ApplicationType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]); -}static UA_INLINE UA_Boolean -UA_ApplicationType_equal(const UA_ApplicationType *p1, const UA_ApplicationType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_APPLICATIONTYPE]) == UA_ORDER_EQ); -} - - - -/* ApplicationDescription */ -static UA_INLINE void -UA_ApplicationDescription_init(UA_ApplicationDescription *p) { - memset(p, 0, sizeof(UA_ApplicationDescription)); -} - -static UA_INLINE UA_ApplicationDescription * -UA_ApplicationDescription_new(void) { - return (UA_ApplicationDescription*)UA_new(&UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_ApplicationDescription_copy(const UA_ApplicationDescription *src, UA_ApplicationDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ApplicationDescription_deleteMembers(UA_ApplicationDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); -} - -static UA_INLINE void -UA_ApplicationDescription_clear(UA_ApplicationDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); -} - -static UA_INLINE void -UA_ApplicationDescription_delete(UA_ApplicationDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_ApplicationDescription_equal(const UA_ApplicationDescription *p1, const UA_ApplicationDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* RequestHeader */ -static UA_INLINE void -UA_RequestHeader_init(UA_RequestHeader *p) { - memset(p, 0, sizeof(UA_RequestHeader)); -} - -static UA_INLINE UA_RequestHeader * -UA_RequestHeader_new(void) { - return (UA_RequestHeader*)UA_new(&UA_TYPES[UA_TYPES_REQUESTHEADER]); -} - -static UA_INLINE UA_StatusCode -UA_RequestHeader_copy(const UA_RequestHeader *src, UA_RequestHeader *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REQUESTHEADER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RequestHeader_deleteMembers(UA_RequestHeader *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REQUESTHEADER]); -} - -static UA_INLINE void -UA_RequestHeader_clear(UA_RequestHeader *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REQUESTHEADER]); -} - -static UA_INLINE void -UA_RequestHeader_delete(UA_RequestHeader *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REQUESTHEADER]); -}static UA_INLINE UA_Boolean -UA_RequestHeader_equal(const UA_RequestHeader *p1, const UA_RequestHeader *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REQUESTHEADER]) == UA_ORDER_EQ); -} - - - -/* ResponseHeader */ -static UA_INLINE void -UA_ResponseHeader_init(UA_ResponseHeader *p) { - memset(p, 0, sizeof(UA_ResponseHeader)); -} - -static UA_INLINE UA_ResponseHeader * -UA_ResponseHeader_new(void) { - return (UA_ResponseHeader*)UA_new(&UA_TYPES[UA_TYPES_RESPONSEHEADER]); -} - -static UA_INLINE UA_StatusCode -UA_ResponseHeader_copy(const UA_ResponseHeader *src, UA_ResponseHeader *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ResponseHeader_deleteMembers(UA_ResponseHeader *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); -} - -static UA_INLINE void -UA_ResponseHeader_clear(UA_ResponseHeader *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); -} - -static UA_INLINE void -UA_ResponseHeader_delete(UA_ResponseHeader *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RESPONSEHEADER]); -}static UA_INLINE UA_Boolean -UA_ResponseHeader_equal(const UA_ResponseHeader *p1, const UA_ResponseHeader *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RESPONSEHEADER]) == UA_ORDER_EQ); -} - - - -/* VersionTime */ -static UA_INLINE void -UA_VersionTime_init(UA_VersionTime *p) { - memset(p, 0, sizeof(UA_VersionTime)); -} - -static UA_INLINE UA_VersionTime * -UA_VersionTime_new(void) { - return (UA_VersionTime*)UA_new(&UA_TYPES[UA_TYPES_VERSIONTIME]); -} - -static UA_INLINE UA_StatusCode -UA_VersionTime_copy(const UA_VersionTime *src, UA_VersionTime *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VERSIONTIME]); -} - -UA_DEPRECATED static UA_INLINE void -UA_VersionTime_deleteMembers(UA_VersionTime *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VERSIONTIME]); -} - -static UA_INLINE void -UA_VersionTime_clear(UA_VersionTime *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VERSIONTIME]); -} - -static UA_INLINE void -UA_VersionTime_delete(UA_VersionTime *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_VERSIONTIME]); -}static UA_INLINE UA_Boolean -UA_VersionTime_equal(const UA_VersionTime *p1, const UA_VersionTime *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VERSIONTIME]) == UA_ORDER_EQ); -} - - - -/* ServiceFault */ -static UA_INLINE void -UA_ServiceFault_init(UA_ServiceFault *p) { - memset(p, 0, sizeof(UA_ServiceFault)); -} - -static UA_INLINE UA_ServiceFault * -UA_ServiceFault_new(void) { - return (UA_ServiceFault*)UA_new(&UA_TYPES[UA_TYPES_SERVICEFAULT]); -} - -static UA_INLINE UA_StatusCode -UA_ServiceFault_copy(const UA_ServiceFault *src, UA_ServiceFault *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVICEFAULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ServiceFault_deleteMembers(UA_ServiceFault *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVICEFAULT]); -} - -static UA_INLINE void -UA_ServiceFault_clear(UA_ServiceFault *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVICEFAULT]); -} - -static UA_INLINE void -UA_ServiceFault_delete(UA_ServiceFault *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SERVICEFAULT]); -}static UA_INLINE UA_Boolean -UA_ServiceFault_equal(const UA_ServiceFault *p1, const UA_ServiceFault *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVICEFAULT]) == UA_ORDER_EQ); -} - - - -/* SessionlessInvokeRequestType */ -static UA_INLINE void -UA_SessionlessInvokeRequestType_init(UA_SessionlessInvokeRequestType *p) { - memset(p, 0, sizeof(UA_SessionlessInvokeRequestType)); -} - -static UA_INLINE UA_SessionlessInvokeRequestType * -UA_SessionlessInvokeRequestType_new(void) { - return (UA_SessionlessInvokeRequestType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SessionlessInvokeRequestType_copy(const UA_SessionlessInvokeRequestType *src, UA_SessionlessInvokeRequestType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SessionlessInvokeRequestType_deleteMembers(UA_SessionlessInvokeRequestType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); -} - -static UA_INLINE void -UA_SessionlessInvokeRequestType_clear(UA_SessionlessInvokeRequestType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); -} - -static UA_INLINE void -UA_SessionlessInvokeRequestType_delete(UA_SessionlessInvokeRequestType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]); -}static UA_INLINE UA_Boolean -UA_SessionlessInvokeRequestType_equal(const UA_SessionlessInvokeRequestType *p1, const UA_SessionlessInvokeRequestType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKEREQUESTTYPE]) == UA_ORDER_EQ); -} - - - -/* SessionlessInvokeResponseType */ -static UA_INLINE void -UA_SessionlessInvokeResponseType_init(UA_SessionlessInvokeResponseType *p) { - memset(p, 0, sizeof(UA_SessionlessInvokeResponseType)); -} - -static UA_INLINE UA_SessionlessInvokeResponseType * -UA_SessionlessInvokeResponseType_new(void) { - return (UA_SessionlessInvokeResponseType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SessionlessInvokeResponseType_copy(const UA_SessionlessInvokeResponseType *src, UA_SessionlessInvokeResponseType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SessionlessInvokeResponseType_deleteMembers(UA_SessionlessInvokeResponseType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); -} - -static UA_INLINE void -UA_SessionlessInvokeResponseType_clear(UA_SessionlessInvokeResponseType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); -} - -static UA_INLINE void -UA_SessionlessInvokeResponseType_delete(UA_SessionlessInvokeResponseType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]); -}static UA_INLINE UA_Boolean -UA_SessionlessInvokeResponseType_equal(const UA_SessionlessInvokeResponseType *p1, const UA_SessionlessInvokeResponseType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONLESSINVOKERESPONSETYPE]) == UA_ORDER_EQ); -} - - - -/* FindServersRequest */ -static UA_INLINE void -UA_FindServersRequest_init(UA_FindServersRequest *p) { - memset(p, 0, sizeof(UA_FindServersRequest)); -} - -static UA_INLINE UA_FindServersRequest * -UA_FindServersRequest_new(void) { - return (UA_FindServersRequest*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_FindServersRequest_copy(const UA_FindServersRequest *src, UA_FindServersRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FindServersRequest_deleteMembers(UA_FindServersRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); -} - -static UA_INLINE void -UA_FindServersRequest_clear(UA_FindServersRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); -} - -static UA_INLINE void -UA_FindServersRequest_delete(UA_FindServersRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]); -}static UA_INLINE UA_Boolean -UA_FindServersRequest_equal(const UA_FindServersRequest *p1, const UA_FindServersRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]) == UA_ORDER_EQ); -} - - - -/* FindServersResponse */ -static UA_INLINE void -UA_FindServersResponse_init(UA_FindServersResponse *p) { - memset(p, 0, sizeof(UA_FindServersResponse)); -} - -static UA_INLINE UA_FindServersResponse * -UA_FindServersResponse_new(void) { - return (UA_FindServersResponse*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_FindServersResponse_copy(const UA_FindServersResponse *src, UA_FindServersResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FindServersResponse_deleteMembers(UA_FindServersResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); -} - -static UA_INLINE void -UA_FindServersResponse_clear(UA_FindServersResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); -} - -static UA_INLINE void -UA_FindServersResponse_delete(UA_FindServersResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_FindServersResponse_equal(const UA_FindServersResponse *p1, const UA_FindServersResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* ServerOnNetwork */ -static UA_INLINE void -UA_ServerOnNetwork_init(UA_ServerOnNetwork *p) { - memset(p, 0, sizeof(UA_ServerOnNetwork)); -} - -static UA_INLINE UA_ServerOnNetwork * -UA_ServerOnNetwork_new(void) { - return (UA_ServerOnNetwork*)UA_new(&UA_TYPES[UA_TYPES_SERVERONNETWORK]); -} - -static UA_INLINE UA_StatusCode -UA_ServerOnNetwork_copy(const UA_ServerOnNetwork *src, UA_ServerOnNetwork *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ServerOnNetwork_deleteMembers(UA_ServerOnNetwork *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); -} - -static UA_INLINE void -UA_ServerOnNetwork_clear(UA_ServerOnNetwork *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); -} - -static UA_INLINE void -UA_ServerOnNetwork_delete(UA_ServerOnNetwork *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SERVERONNETWORK]); -}static UA_INLINE UA_Boolean -UA_ServerOnNetwork_equal(const UA_ServerOnNetwork *p1, const UA_ServerOnNetwork *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERONNETWORK]) == UA_ORDER_EQ); -} - - - -/* FindServersOnNetworkRequest */ -static UA_INLINE void -UA_FindServersOnNetworkRequest_init(UA_FindServersOnNetworkRequest *p) { - memset(p, 0, sizeof(UA_FindServersOnNetworkRequest)); -} - -static UA_INLINE UA_FindServersOnNetworkRequest * -UA_FindServersOnNetworkRequest_new(void) { - return (UA_FindServersOnNetworkRequest*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_FindServersOnNetworkRequest_copy(const UA_FindServersOnNetworkRequest *src, UA_FindServersOnNetworkRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FindServersOnNetworkRequest_deleteMembers(UA_FindServersOnNetworkRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); -} - -static UA_INLINE void -UA_FindServersOnNetworkRequest_clear(UA_FindServersOnNetworkRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); -} - -static UA_INLINE void -UA_FindServersOnNetworkRequest_delete(UA_FindServersOnNetworkRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]); -}static UA_INLINE UA_Boolean -UA_FindServersOnNetworkRequest_equal(const UA_FindServersOnNetworkRequest *p1, const UA_FindServersOnNetworkRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]) == UA_ORDER_EQ); -} - - - -/* FindServersOnNetworkResponse */ -static UA_INLINE void -UA_FindServersOnNetworkResponse_init(UA_FindServersOnNetworkResponse *p) { - memset(p, 0, sizeof(UA_FindServersOnNetworkResponse)); -} - -static UA_INLINE UA_FindServersOnNetworkResponse * -UA_FindServersOnNetworkResponse_new(void) { - return (UA_FindServersOnNetworkResponse*)UA_new(&UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_FindServersOnNetworkResponse_copy(const UA_FindServersOnNetworkResponse *src, UA_FindServersOnNetworkResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FindServersOnNetworkResponse_deleteMembers(UA_FindServersOnNetworkResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); -} - -static UA_INLINE void -UA_FindServersOnNetworkResponse_clear(UA_FindServersOnNetworkResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); -} - -static UA_INLINE void -UA_FindServersOnNetworkResponse_delete(UA_FindServersOnNetworkResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); -}static UA_INLINE UA_Boolean -UA_FindServersOnNetworkResponse_equal(const UA_FindServersOnNetworkResponse *p1, const UA_FindServersOnNetworkResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]) == UA_ORDER_EQ); -} - - - -/* ApplicationInstanceCertificate */ -static UA_INLINE void -UA_ApplicationInstanceCertificate_init(UA_ApplicationInstanceCertificate *p) { - memset(p, 0, sizeof(UA_ApplicationInstanceCertificate)); -} - -static UA_INLINE UA_ApplicationInstanceCertificate * -UA_ApplicationInstanceCertificate_new(void) { - return (UA_ApplicationInstanceCertificate*)UA_new(&UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); -} - -static UA_INLINE UA_StatusCode -UA_ApplicationInstanceCertificate_copy(const UA_ApplicationInstanceCertificate *src, UA_ApplicationInstanceCertificate *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ApplicationInstanceCertificate_deleteMembers(UA_ApplicationInstanceCertificate *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); -} - -static UA_INLINE void -UA_ApplicationInstanceCertificate_clear(UA_ApplicationInstanceCertificate *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); -} - -static UA_INLINE void -UA_ApplicationInstanceCertificate_delete(UA_ApplicationInstanceCertificate *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]); -}static UA_INLINE UA_Boolean -UA_ApplicationInstanceCertificate_equal(const UA_ApplicationInstanceCertificate *p1, const UA_ApplicationInstanceCertificate *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_APPLICATIONINSTANCECERTIFICATE]) == UA_ORDER_EQ); -} - - - -/* MessageSecurityMode */ -static UA_INLINE void -UA_MessageSecurityMode_init(UA_MessageSecurityMode *p) { - memset(p, 0, sizeof(UA_MessageSecurityMode)); -} - -static UA_INLINE UA_MessageSecurityMode * -UA_MessageSecurityMode_new(void) { - return (UA_MessageSecurityMode*)UA_new(&UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); -} - -static UA_INLINE UA_StatusCode -UA_MessageSecurityMode_copy(const UA_MessageSecurityMode *src, UA_MessageSecurityMode *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MessageSecurityMode_deleteMembers(UA_MessageSecurityMode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); -} - -static UA_INLINE void -UA_MessageSecurityMode_clear(UA_MessageSecurityMode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); -} - -static UA_INLINE void -UA_MessageSecurityMode_delete(UA_MessageSecurityMode *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); -}static UA_INLINE UA_Boolean -UA_MessageSecurityMode_equal(const UA_MessageSecurityMode *p1, const UA_MessageSecurityMode *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]) == UA_ORDER_EQ); -} - - - -/* UserTokenType */ -static UA_INLINE void -UA_UserTokenType_init(UA_UserTokenType *p) { - memset(p, 0, sizeof(UA_UserTokenType)); -} - -static UA_INLINE UA_UserTokenType * -UA_UserTokenType_new(void) { - return (UA_UserTokenType*)UA_new(&UA_TYPES[UA_TYPES_USERTOKENTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_UserTokenType_copy(const UA_UserTokenType *src, UA_UserTokenType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UserTokenType_deleteMembers(UA_UserTokenType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); -} - -static UA_INLINE void -UA_UserTokenType_clear(UA_UserTokenType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); -} - -static UA_INLINE void -UA_UserTokenType_delete(UA_UserTokenType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_USERTOKENTYPE]); -}static UA_INLINE UA_Boolean -UA_UserTokenType_equal(const UA_UserTokenType *p1, const UA_UserTokenType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERTOKENTYPE]) == UA_ORDER_EQ); -} - - - -/* UserTokenPolicy */ -static UA_INLINE void -UA_UserTokenPolicy_init(UA_UserTokenPolicy *p) { - memset(p, 0, sizeof(UA_UserTokenPolicy)); -} - -static UA_INLINE UA_UserTokenPolicy * -UA_UserTokenPolicy_new(void) { - return (UA_UserTokenPolicy*)UA_new(&UA_TYPES[UA_TYPES_USERTOKENPOLICY]); -} - -static UA_INLINE UA_StatusCode -UA_UserTokenPolicy_copy(const UA_UserTokenPolicy *src, UA_UserTokenPolicy *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UserTokenPolicy_deleteMembers(UA_UserTokenPolicy *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); -} - -static UA_INLINE void -UA_UserTokenPolicy_clear(UA_UserTokenPolicy *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); -} - -static UA_INLINE void -UA_UserTokenPolicy_delete(UA_UserTokenPolicy *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); -}static UA_INLINE UA_Boolean -UA_UserTokenPolicy_equal(const UA_UserTokenPolicy *p1, const UA_UserTokenPolicy *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]) == UA_ORDER_EQ); -} - - - -/* EndpointDescription */ -static UA_INLINE void -UA_EndpointDescription_init(UA_EndpointDescription *p) { - memset(p, 0, sizeof(UA_EndpointDescription)); -} - -static UA_INLINE UA_EndpointDescription * -UA_EndpointDescription_new(void) { - return (UA_EndpointDescription*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_EndpointDescription_copy(const UA_EndpointDescription *src, UA_EndpointDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EndpointDescription_deleteMembers(UA_EndpointDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -} - -static UA_INLINE void -UA_EndpointDescription_clear(UA_EndpointDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -} - -static UA_INLINE void -UA_EndpointDescription_delete(UA_EndpointDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_EndpointDescription_equal(const UA_EndpointDescription *p1, const UA_EndpointDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* GetEndpointsRequest */ -static UA_INLINE void -UA_GetEndpointsRequest_init(UA_GetEndpointsRequest *p) { - memset(p, 0, sizeof(UA_GetEndpointsRequest)); -} - -static UA_INLINE UA_GetEndpointsRequest * -UA_GetEndpointsRequest_new(void) { - return (UA_GetEndpointsRequest*)UA_new(&UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_GetEndpointsRequest_copy(const UA_GetEndpointsRequest *src, UA_GetEndpointsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_GetEndpointsRequest_deleteMembers(UA_GetEndpointsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); -} - -static UA_INLINE void -UA_GetEndpointsRequest_clear(UA_GetEndpointsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); -} - -static UA_INLINE void -UA_GetEndpointsRequest_delete(UA_GetEndpointsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]); -}static UA_INLINE UA_Boolean -UA_GetEndpointsRequest_equal(const UA_GetEndpointsRequest *p1, const UA_GetEndpointsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]) == UA_ORDER_EQ); -} - - - -/* GetEndpointsResponse */ -static UA_INLINE void -UA_GetEndpointsResponse_init(UA_GetEndpointsResponse *p) { - memset(p, 0, sizeof(UA_GetEndpointsResponse)); -} - -static UA_INLINE UA_GetEndpointsResponse * -UA_GetEndpointsResponse_new(void) { - return (UA_GetEndpointsResponse*)UA_new(&UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_GetEndpointsResponse_copy(const UA_GetEndpointsResponse *src, UA_GetEndpointsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_GetEndpointsResponse_deleteMembers(UA_GetEndpointsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); -} - -static UA_INLINE void -UA_GetEndpointsResponse_clear(UA_GetEndpointsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); -} - -static UA_INLINE void -UA_GetEndpointsResponse_delete(UA_GetEndpointsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_GetEndpointsResponse_equal(const UA_GetEndpointsResponse *p1, const UA_GetEndpointsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* RegisteredServer */ -static UA_INLINE void -UA_RegisteredServer_init(UA_RegisteredServer *p) { - memset(p, 0, sizeof(UA_RegisteredServer)); -} - -static UA_INLINE UA_RegisteredServer * -UA_RegisteredServer_new(void) { - return (UA_RegisteredServer*)UA_new(&UA_TYPES[UA_TYPES_REGISTEREDSERVER]); -} - -static UA_INLINE UA_StatusCode -UA_RegisteredServer_copy(const UA_RegisteredServer *src, UA_RegisteredServer *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisteredServer_deleteMembers(UA_RegisteredServer *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); -} - -static UA_INLINE void -UA_RegisteredServer_clear(UA_RegisteredServer *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); -} - -static UA_INLINE void -UA_RegisteredServer_delete(UA_RegisteredServer *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]); -}static UA_INLINE UA_Boolean -UA_RegisteredServer_equal(const UA_RegisteredServer *p1, const UA_RegisteredServer *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTEREDSERVER]) == UA_ORDER_EQ); -} - - - -/* RegisterServerRequest */ -static UA_INLINE void -UA_RegisterServerRequest_init(UA_RegisterServerRequest *p) { - memset(p, 0, sizeof(UA_RegisterServerRequest)); -} - -static UA_INLINE UA_RegisterServerRequest * -UA_RegisterServerRequest_new(void) { - return (UA_RegisterServerRequest*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_RegisterServerRequest_copy(const UA_RegisterServerRequest *src, UA_RegisterServerRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisterServerRequest_deleteMembers(UA_RegisterServerRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); -} - -static UA_INLINE void -UA_RegisterServerRequest_clear(UA_RegisterServerRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); -} - -static UA_INLINE void -UA_RegisterServerRequest_delete(UA_RegisterServerRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]); -}static UA_INLINE UA_Boolean -UA_RegisterServerRequest_equal(const UA_RegisterServerRequest *p1, const UA_RegisterServerRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]) == UA_ORDER_EQ); -} - - - -/* RegisterServerResponse */ -static UA_INLINE void -UA_RegisterServerResponse_init(UA_RegisterServerResponse *p) { - memset(p, 0, sizeof(UA_RegisterServerResponse)); -} - -static UA_INLINE UA_RegisterServerResponse * -UA_RegisterServerResponse_new(void) { - return (UA_RegisterServerResponse*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_RegisterServerResponse_copy(const UA_RegisterServerResponse *src, UA_RegisterServerResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisterServerResponse_deleteMembers(UA_RegisterServerResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); -} - -static UA_INLINE void -UA_RegisterServerResponse_clear(UA_RegisterServerResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); -} - -static UA_INLINE void -UA_RegisterServerResponse_delete(UA_RegisterServerResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]); -}static UA_INLINE UA_Boolean -UA_RegisterServerResponse_equal(const UA_RegisterServerResponse *p1, const UA_RegisterServerResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]) == UA_ORDER_EQ); -} - - - -/* MdnsDiscoveryConfiguration */ -static UA_INLINE void -UA_MdnsDiscoveryConfiguration_init(UA_MdnsDiscoveryConfiguration *p) { - memset(p, 0, sizeof(UA_MdnsDiscoveryConfiguration)); -} - -static UA_INLINE UA_MdnsDiscoveryConfiguration * -UA_MdnsDiscoveryConfiguration_new(void) { - return (UA_MdnsDiscoveryConfiguration*)UA_new(&UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); -} - -static UA_INLINE UA_StatusCode -UA_MdnsDiscoveryConfiguration_copy(const UA_MdnsDiscoveryConfiguration *src, UA_MdnsDiscoveryConfiguration *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MdnsDiscoveryConfiguration_deleteMembers(UA_MdnsDiscoveryConfiguration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); -} - -static UA_INLINE void -UA_MdnsDiscoveryConfiguration_clear(UA_MdnsDiscoveryConfiguration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); -} - -static UA_INLINE void -UA_MdnsDiscoveryConfiguration_delete(UA_MdnsDiscoveryConfiguration *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); -}static UA_INLINE UA_Boolean -UA_MdnsDiscoveryConfiguration_equal(const UA_MdnsDiscoveryConfiguration *p1, const UA_MdnsDiscoveryConfiguration *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]) == UA_ORDER_EQ); -} - - - -/* RegisterServer2Request */ -static UA_INLINE void -UA_RegisterServer2Request_init(UA_RegisterServer2Request *p) { - memset(p, 0, sizeof(UA_RegisterServer2Request)); -} - -static UA_INLINE UA_RegisterServer2Request * -UA_RegisterServer2Request_new(void) { - return (UA_RegisterServer2Request*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_RegisterServer2Request_copy(const UA_RegisterServer2Request *src, UA_RegisterServer2Request *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisterServer2Request_deleteMembers(UA_RegisterServer2Request *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); -} - -static UA_INLINE void -UA_RegisterServer2Request_clear(UA_RegisterServer2Request *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); -} - -static UA_INLINE void -UA_RegisterServer2Request_delete(UA_RegisterServer2Request *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]); -}static UA_INLINE UA_Boolean -UA_RegisterServer2Request_equal(const UA_RegisterServer2Request *p1, const UA_RegisterServer2Request *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]) == UA_ORDER_EQ); -} - - - -/* RegisterServer2Response */ -static UA_INLINE void -UA_RegisterServer2Response_init(UA_RegisterServer2Response *p) { - memset(p, 0, sizeof(UA_RegisterServer2Response)); -} - -static UA_INLINE UA_RegisterServer2Response * -UA_RegisterServer2Response_new(void) { - return (UA_RegisterServer2Response*)UA_new(&UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_RegisterServer2Response_copy(const UA_RegisterServer2Response *src, UA_RegisterServer2Response *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisterServer2Response_deleteMembers(UA_RegisterServer2Response *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); -} - -static UA_INLINE void -UA_RegisterServer2Response_clear(UA_RegisterServer2Response *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); -} - -static UA_INLINE void -UA_RegisterServer2Response_delete(UA_RegisterServer2Response *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]); -}static UA_INLINE UA_Boolean -UA_RegisterServer2Response_equal(const UA_RegisterServer2Response *p1, const UA_RegisterServer2Response *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]) == UA_ORDER_EQ); -} - - - -/* SecurityTokenRequestType */ -static UA_INLINE void -UA_SecurityTokenRequestType_init(UA_SecurityTokenRequestType *p) { - memset(p, 0, sizeof(UA_SecurityTokenRequestType)); -} - -static UA_INLINE UA_SecurityTokenRequestType * -UA_SecurityTokenRequestType_new(void) { - return (UA_SecurityTokenRequestType*)UA_new(&UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SecurityTokenRequestType_copy(const UA_SecurityTokenRequestType *src, UA_SecurityTokenRequestType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SecurityTokenRequestType_deleteMembers(UA_SecurityTokenRequestType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); -} - -static UA_INLINE void -UA_SecurityTokenRequestType_clear(UA_SecurityTokenRequestType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); -} - -static UA_INLINE void -UA_SecurityTokenRequestType_delete(UA_SecurityTokenRequestType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]); -}static UA_INLINE UA_Boolean -UA_SecurityTokenRequestType_equal(const UA_SecurityTokenRequestType *p1, const UA_SecurityTokenRequestType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE]) == UA_ORDER_EQ); -} - - - -/* ChannelSecurityToken */ -static UA_INLINE void -UA_ChannelSecurityToken_init(UA_ChannelSecurityToken *p) { - memset(p, 0, sizeof(UA_ChannelSecurityToken)); -} - -static UA_INLINE UA_ChannelSecurityToken * -UA_ChannelSecurityToken_new(void) { - return (UA_ChannelSecurityToken*)UA_new(&UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_ChannelSecurityToken_copy(const UA_ChannelSecurityToken *src, UA_ChannelSecurityToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ChannelSecurityToken_deleteMembers(UA_ChannelSecurityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); -} - -static UA_INLINE void -UA_ChannelSecurityToken_clear(UA_ChannelSecurityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); -} - -static UA_INLINE void -UA_ChannelSecurityToken_delete(UA_ChannelSecurityToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]); -}static UA_INLINE UA_Boolean -UA_ChannelSecurityToken_equal(const UA_ChannelSecurityToken *p1, const UA_ChannelSecurityToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN]) == UA_ORDER_EQ); -} - - - -/* OpenSecureChannelRequest */ -static UA_INLINE void -UA_OpenSecureChannelRequest_init(UA_OpenSecureChannelRequest *p) { - memset(p, 0, sizeof(UA_OpenSecureChannelRequest)); -} - -static UA_INLINE UA_OpenSecureChannelRequest * -UA_OpenSecureChannelRequest_new(void) { - return (UA_OpenSecureChannelRequest*)UA_new(&UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_OpenSecureChannelRequest_copy(const UA_OpenSecureChannelRequest *src, UA_OpenSecureChannelRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_OpenSecureChannelRequest_deleteMembers(UA_OpenSecureChannelRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); -} - -static UA_INLINE void -UA_OpenSecureChannelRequest_clear(UA_OpenSecureChannelRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); -} - -static UA_INLINE void -UA_OpenSecureChannelRequest_delete(UA_OpenSecureChannelRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); -}static UA_INLINE UA_Boolean -UA_OpenSecureChannelRequest_equal(const UA_OpenSecureChannelRequest *p1, const UA_OpenSecureChannelRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]) == UA_ORDER_EQ); -} - - - -/* OpenSecureChannelResponse */ -static UA_INLINE void -UA_OpenSecureChannelResponse_init(UA_OpenSecureChannelResponse *p) { - memset(p, 0, sizeof(UA_OpenSecureChannelResponse)); -} - -static UA_INLINE UA_OpenSecureChannelResponse * -UA_OpenSecureChannelResponse_new(void) { - return (UA_OpenSecureChannelResponse*)UA_new(&UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_OpenSecureChannelResponse_copy(const UA_OpenSecureChannelResponse *src, UA_OpenSecureChannelResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_OpenSecureChannelResponse_deleteMembers(UA_OpenSecureChannelResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); -} - -static UA_INLINE void -UA_OpenSecureChannelResponse_clear(UA_OpenSecureChannelResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); -} - -static UA_INLINE void -UA_OpenSecureChannelResponse_delete(UA_OpenSecureChannelResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); -}static UA_INLINE UA_Boolean -UA_OpenSecureChannelResponse_equal(const UA_OpenSecureChannelResponse *p1, const UA_OpenSecureChannelResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]) == UA_ORDER_EQ); -} - - - -/* CloseSecureChannelRequest */ -static UA_INLINE void -UA_CloseSecureChannelRequest_init(UA_CloseSecureChannelRequest *p) { - memset(p, 0, sizeof(UA_CloseSecureChannelRequest)); -} - -static UA_INLINE UA_CloseSecureChannelRequest * -UA_CloseSecureChannelRequest_new(void) { - return (UA_CloseSecureChannelRequest*)UA_new(&UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CloseSecureChannelRequest_copy(const UA_CloseSecureChannelRequest *src, UA_CloseSecureChannelRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CloseSecureChannelRequest_deleteMembers(UA_CloseSecureChannelRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); -} - -static UA_INLINE void -UA_CloseSecureChannelRequest_clear(UA_CloseSecureChannelRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); -} - -static UA_INLINE void -UA_CloseSecureChannelRequest_delete(UA_CloseSecureChannelRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); -}static UA_INLINE UA_Boolean -UA_CloseSecureChannelRequest_equal(const UA_CloseSecureChannelRequest *p1, const UA_CloseSecureChannelRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]) == UA_ORDER_EQ); -} - - - -/* CloseSecureChannelResponse */ -static UA_INLINE void -UA_CloseSecureChannelResponse_init(UA_CloseSecureChannelResponse *p) { - memset(p, 0, sizeof(UA_CloseSecureChannelResponse)); -} - -static UA_INLINE UA_CloseSecureChannelResponse * -UA_CloseSecureChannelResponse_new(void) { - return (UA_CloseSecureChannelResponse*)UA_new(&UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CloseSecureChannelResponse_copy(const UA_CloseSecureChannelResponse *src, UA_CloseSecureChannelResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CloseSecureChannelResponse_deleteMembers(UA_CloseSecureChannelResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); -} - -static UA_INLINE void -UA_CloseSecureChannelResponse_clear(UA_CloseSecureChannelResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); -} - -static UA_INLINE void -UA_CloseSecureChannelResponse_delete(UA_CloseSecureChannelResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CloseSecureChannelResponse_equal(const UA_CloseSecureChannelResponse *p1, const UA_CloseSecureChannelResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESECURECHANNELRESPONSE]) == UA_ORDER_EQ); -} - - - -/* SignedSoftwareCertificate */ -static UA_INLINE void -UA_SignedSoftwareCertificate_init(UA_SignedSoftwareCertificate *p) { - memset(p, 0, sizeof(UA_SignedSoftwareCertificate)); -} - -static UA_INLINE UA_SignedSoftwareCertificate * -UA_SignedSoftwareCertificate_new(void) { - return (UA_SignedSoftwareCertificate*)UA_new(&UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); -} - -static UA_INLINE UA_StatusCode -UA_SignedSoftwareCertificate_copy(const UA_SignedSoftwareCertificate *src, UA_SignedSoftwareCertificate *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SignedSoftwareCertificate_deleteMembers(UA_SignedSoftwareCertificate *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); -} - -static UA_INLINE void -UA_SignedSoftwareCertificate_clear(UA_SignedSoftwareCertificate *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); -} - -static UA_INLINE void -UA_SignedSoftwareCertificate_delete(UA_SignedSoftwareCertificate *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]); -}static UA_INLINE UA_Boolean -UA_SignedSoftwareCertificate_equal(const UA_SignedSoftwareCertificate *p1, const UA_SignedSoftwareCertificate *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE]) == UA_ORDER_EQ); -} - - - -/* SessionAuthenticationToken */ -static UA_INLINE void -UA_SessionAuthenticationToken_init(UA_SessionAuthenticationToken *p) { - memset(p, 0, sizeof(UA_SessionAuthenticationToken)); -} - -static UA_INLINE UA_SessionAuthenticationToken * -UA_SessionAuthenticationToken_new(void) { - return (UA_SessionAuthenticationToken*)UA_new(&UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_SessionAuthenticationToken_copy(const UA_SessionAuthenticationToken *src, UA_SessionAuthenticationToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SessionAuthenticationToken_deleteMembers(UA_SessionAuthenticationToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); -} - -static UA_INLINE void -UA_SessionAuthenticationToken_clear(UA_SessionAuthenticationToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); -} - -static UA_INLINE void -UA_SessionAuthenticationToken_delete(UA_SessionAuthenticationToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]); -}static UA_INLINE UA_Boolean -UA_SessionAuthenticationToken_equal(const UA_SessionAuthenticationToken *p1, const UA_SessionAuthenticationToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONAUTHENTICATIONTOKEN]) == UA_ORDER_EQ); -} - - - -/* SignatureData */ -static UA_INLINE void -UA_SignatureData_init(UA_SignatureData *p) { - memset(p, 0, sizeof(UA_SignatureData)); -} - -static UA_INLINE UA_SignatureData * -UA_SignatureData_new(void) { - return (UA_SignatureData*)UA_new(&UA_TYPES[UA_TYPES_SIGNATUREDATA]); -} - -static UA_INLINE UA_StatusCode -UA_SignatureData_copy(const UA_SignatureData *src, UA_SignatureData *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SignatureData_deleteMembers(UA_SignatureData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); -} - -static UA_INLINE void -UA_SignatureData_clear(UA_SignatureData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); -} - -static UA_INLINE void -UA_SignatureData_delete(UA_SignatureData *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SIGNATUREDATA]); -}static UA_INLINE UA_Boolean -UA_SignatureData_equal(const UA_SignatureData *p1, const UA_SignatureData *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIGNATUREDATA]) == UA_ORDER_EQ); -} - - - -/* CreateSessionRequest */ -static UA_INLINE void -UA_CreateSessionRequest_init(UA_CreateSessionRequest *p) { - memset(p, 0, sizeof(UA_CreateSessionRequest)); -} - -static UA_INLINE UA_CreateSessionRequest * -UA_CreateSessionRequest_new(void) { - return (UA_CreateSessionRequest*)UA_new(&UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CreateSessionRequest_copy(const UA_CreateSessionRequest *src, UA_CreateSessionRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CreateSessionRequest_deleteMembers(UA_CreateSessionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); -} - -static UA_INLINE void -UA_CreateSessionRequest_clear(UA_CreateSessionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); -} - -static UA_INLINE void -UA_CreateSessionRequest_delete(UA_CreateSessionRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]); -}static UA_INLINE UA_Boolean -UA_CreateSessionRequest_equal(const UA_CreateSessionRequest *p1, const UA_CreateSessionRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]) == UA_ORDER_EQ); -} - - - -/* CreateSessionResponse */ -static UA_INLINE void -UA_CreateSessionResponse_init(UA_CreateSessionResponse *p) { - memset(p, 0, sizeof(UA_CreateSessionResponse)); -} - -static UA_INLINE UA_CreateSessionResponse * -UA_CreateSessionResponse_new(void) { - return (UA_CreateSessionResponse*)UA_new(&UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CreateSessionResponse_copy(const UA_CreateSessionResponse *src, UA_CreateSessionResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CreateSessionResponse_deleteMembers(UA_CreateSessionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); -} - -static UA_INLINE void -UA_CreateSessionResponse_clear(UA_CreateSessionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); -} - -static UA_INLINE void -UA_CreateSessionResponse_delete(UA_CreateSessionResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CreateSessionResponse_equal(const UA_CreateSessionResponse *p1, const UA_CreateSessionResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]) == UA_ORDER_EQ); -} - - - -/* UserIdentityToken */ -static UA_INLINE void -UA_UserIdentityToken_init(UA_UserIdentityToken *p) { - memset(p, 0, sizeof(UA_UserIdentityToken)); -} - -static UA_INLINE UA_UserIdentityToken * -UA_UserIdentityToken_new(void) { - return (UA_UserIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_UserIdentityToken_copy(const UA_UserIdentityToken *src, UA_UserIdentityToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UserIdentityToken_deleteMembers(UA_UserIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_UserIdentityToken_clear(UA_UserIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_UserIdentityToken_delete(UA_UserIdentityToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]); -}static UA_INLINE UA_Boolean -UA_UserIdentityToken_equal(const UA_UserIdentityToken *p1, const UA_UserIdentityToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERIDENTITYTOKEN]) == UA_ORDER_EQ); -} - - - -/* AnonymousIdentityToken */ -static UA_INLINE void -UA_AnonymousIdentityToken_init(UA_AnonymousIdentityToken *p) { - memset(p, 0, sizeof(UA_AnonymousIdentityToken)); -} - -static UA_INLINE UA_AnonymousIdentityToken * -UA_AnonymousIdentityToken_new(void) { - return (UA_AnonymousIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_AnonymousIdentityToken_copy(const UA_AnonymousIdentityToken *src, UA_AnonymousIdentityToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AnonymousIdentityToken_deleteMembers(UA_AnonymousIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_AnonymousIdentityToken_clear(UA_AnonymousIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_AnonymousIdentityToken_delete(UA_AnonymousIdentityToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); -}static UA_INLINE UA_Boolean -UA_AnonymousIdentityToken_equal(const UA_AnonymousIdentityToken *p1, const UA_AnonymousIdentityToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) == UA_ORDER_EQ); -} - - - -/* UserNameIdentityToken */ -static UA_INLINE void -UA_UserNameIdentityToken_init(UA_UserNameIdentityToken *p) { - memset(p, 0, sizeof(UA_UserNameIdentityToken)); -} - -static UA_INLINE UA_UserNameIdentityToken * -UA_UserNameIdentityToken_new(void) { - return (UA_UserNameIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_UserNameIdentityToken_copy(const UA_UserNameIdentityToken *src, UA_UserNameIdentityToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UserNameIdentityToken_deleteMembers(UA_UserNameIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_UserNameIdentityToken_clear(UA_UserNameIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_UserNameIdentityToken_delete(UA_UserNameIdentityToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); -}static UA_INLINE UA_Boolean -UA_UserNameIdentityToken_equal(const UA_UserNameIdentityToken *p1, const UA_UserNameIdentityToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) == UA_ORDER_EQ); -} - - - -/* X509IdentityToken */ -static UA_INLINE void -UA_X509IdentityToken_init(UA_X509IdentityToken *p) { - memset(p, 0, sizeof(UA_X509IdentityToken)); -} - -static UA_INLINE UA_X509IdentityToken * -UA_X509IdentityToken_new(void) { - return (UA_X509IdentityToken*)UA_new(&UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_X509IdentityToken_copy(const UA_X509IdentityToken *src, UA_X509IdentityToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_X509IdentityToken_deleteMembers(UA_X509IdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); -} - -static UA_INLINE void -UA_X509IdentityToken_clear(UA_X509IdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); -} - -static UA_INLINE void -UA_X509IdentityToken_delete(UA_X509IdentityToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]); -}static UA_INLINE UA_Boolean -UA_X509IdentityToken_equal(const UA_X509IdentityToken *p1, const UA_X509IdentityToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) == UA_ORDER_EQ); -} - - - -/* IssuedIdentityToken */ -static UA_INLINE void -UA_IssuedIdentityToken_init(UA_IssuedIdentityToken *p) { - memset(p, 0, sizeof(UA_IssuedIdentityToken)); -} - -static UA_INLINE UA_IssuedIdentityToken * -UA_IssuedIdentityToken_new(void) { - return (UA_IssuedIdentityToken*)UA_new(&UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); -} - -static UA_INLINE UA_StatusCode -UA_IssuedIdentityToken_copy(const UA_IssuedIdentityToken *src, UA_IssuedIdentityToken *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_IssuedIdentityToken_deleteMembers(UA_IssuedIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_IssuedIdentityToken_clear(UA_IssuedIdentityToken *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); -} - -static UA_INLINE void -UA_IssuedIdentityToken_delete(UA_IssuedIdentityToken *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]); -}static UA_INLINE UA_Boolean -UA_IssuedIdentityToken_equal(const UA_IssuedIdentityToken *p1, const UA_IssuedIdentityToken *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) == UA_ORDER_EQ); -} - - - -/* RsaEncryptedSecret */ -static UA_INLINE void -UA_RsaEncryptedSecret_init(UA_RsaEncryptedSecret *p) { - memset(p, 0, sizeof(UA_RsaEncryptedSecret)); -} - -static UA_INLINE UA_RsaEncryptedSecret * -UA_RsaEncryptedSecret_new(void) { - return (UA_RsaEncryptedSecret*)UA_new(&UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); -} - -static UA_INLINE UA_StatusCode -UA_RsaEncryptedSecret_copy(const UA_RsaEncryptedSecret *src, UA_RsaEncryptedSecret *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RsaEncryptedSecret_deleteMembers(UA_RsaEncryptedSecret *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); -} - -static UA_INLINE void -UA_RsaEncryptedSecret_clear(UA_RsaEncryptedSecret *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); -} - -static UA_INLINE void -UA_RsaEncryptedSecret_delete(UA_RsaEncryptedSecret *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]); -}static UA_INLINE UA_Boolean -UA_RsaEncryptedSecret_equal(const UA_RsaEncryptedSecret *p1, const UA_RsaEncryptedSecret *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RSAENCRYPTEDSECRET]) == UA_ORDER_EQ); -} - - - -/* EccEncryptedSecret */ -static UA_INLINE void -UA_EccEncryptedSecret_init(UA_EccEncryptedSecret *p) { - memset(p, 0, sizeof(UA_EccEncryptedSecret)); -} - -static UA_INLINE UA_EccEncryptedSecret * -UA_EccEncryptedSecret_new(void) { - return (UA_EccEncryptedSecret*)UA_new(&UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); -} - -static UA_INLINE UA_StatusCode -UA_EccEncryptedSecret_copy(const UA_EccEncryptedSecret *src, UA_EccEncryptedSecret *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EccEncryptedSecret_deleteMembers(UA_EccEncryptedSecret *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); -} - -static UA_INLINE void -UA_EccEncryptedSecret_clear(UA_EccEncryptedSecret *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); -} - -static UA_INLINE void -UA_EccEncryptedSecret_delete(UA_EccEncryptedSecret *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]); -}static UA_INLINE UA_Boolean -UA_EccEncryptedSecret_equal(const UA_EccEncryptedSecret *p1, const UA_EccEncryptedSecret *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ECCENCRYPTEDSECRET]) == UA_ORDER_EQ); -} - - - -/* ActivateSessionRequest */ -static UA_INLINE void -UA_ActivateSessionRequest_init(UA_ActivateSessionRequest *p) { - memset(p, 0, sizeof(UA_ActivateSessionRequest)); -} - -static UA_INLINE UA_ActivateSessionRequest * -UA_ActivateSessionRequest_new(void) { - return (UA_ActivateSessionRequest*)UA_new(&UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_ActivateSessionRequest_copy(const UA_ActivateSessionRequest *src, UA_ActivateSessionRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ActivateSessionRequest_deleteMembers(UA_ActivateSessionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); -} - -static UA_INLINE void -UA_ActivateSessionRequest_clear(UA_ActivateSessionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); -} - -static UA_INLINE void -UA_ActivateSessionRequest_delete(UA_ActivateSessionRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]); -}static UA_INLINE UA_Boolean -UA_ActivateSessionRequest_equal(const UA_ActivateSessionRequest *p1, const UA_ActivateSessionRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]) == UA_ORDER_EQ); -} - - - -/* ActivateSessionResponse */ -static UA_INLINE void -UA_ActivateSessionResponse_init(UA_ActivateSessionResponse *p) { - memset(p, 0, sizeof(UA_ActivateSessionResponse)); -} - -static UA_INLINE UA_ActivateSessionResponse * -UA_ActivateSessionResponse_new(void) { - return (UA_ActivateSessionResponse*)UA_new(&UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_ActivateSessionResponse_copy(const UA_ActivateSessionResponse *src, UA_ActivateSessionResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ActivateSessionResponse_deleteMembers(UA_ActivateSessionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); -} - -static UA_INLINE void -UA_ActivateSessionResponse_clear(UA_ActivateSessionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); -} - -static UA_INLINE void -UA_ActivateSessionResponse_delete(UA_ActivateSessionResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]); -}static UA_INLINE UA_Boolean -UA_ActivateSessionResponse_equal(const UA_ActivateSessionResponse *p1, const UA_ActivateSessionResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]) == UA_ORDER_EQ); -} - - - -/* CloseSessionRequest */ -static UA_INLINE void -UA_CloseSessionRequest_init(UA_CloseSessionRequest *p) { - memset(p, 0, sizeof(UA_CloseSessionRequest)); -} - -static UA_INLINE UA_CloseSessionRequest * -UA_CloseSessionRequest_new(void) { - return (UA_CloseSessionRequest*)UA_new(&UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CloseSessionRequest_copy(const UA_CloseSessionRequest *src, UA_CloseSessionRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CloseSessionRequest_deleteMembers(UA_CloseSessionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); -} - -static UA_INLINE void -UA_CloseSessionRequest_clear(UA_CloseSessionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); -} - -static UA_INLINE void -UA_CloseSessionRequest_delete(UA_CloseSessionRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]); -}static UA_INLINE UA_Boolean -UA_CloseSessionRequest_equal(const UA_CloseSessionRequest *p1, const UA_CloseSessionRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]) == UA_ORDER_EQ); -} - - - -/* CloseSessionResponse */ -static UA_INLINE void -UA_CloseSessionResponse_init(UA_CloseSessionResponse *p) { - memset(p, 0, sizeof(UA_CloseSessionResponse)); -} - -static UA_INLINE UA_CloseSessionResponse * -UA_CloseSessionResponse_new(void) { - return (UA_CloseSessionResponse*)UA_new(&UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CloseSessionResponse_copy(const UA_CloseSessionResponse *src, UA_CloseSessionResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CloseSessionResponse_deleteMembers(UA_CloseSessionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); -} - -static UA_INLINE void -UA_CloseSessionResponse_clear(UA_CloseSessionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); -} - -static UA_INLINE void -UA_CloseSessionResponse_delete(UA_CloseSessionResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CloseSessionResponse_equal(const UA_CloseSessionResponse *p1, const UA_CloseSessionResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]) == UA_ORDER_EQ); -} - - - -/* CancelRequest */ -static UA_INLINE void -UA_CancelRequest_init(UA_CancelRequest *p) { - memset(p, 0, sizeof(UA_CancelRequest)); -} - -static UA_INLINE UA_CancelRequest * -UA_CancelRequest_new(void) { - return (UA_CancelRequest*)UA_new(&UA_TYPES[UA_TYPES_CANCELREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CancelRequest_copy(const UA_CancelRequest *src, UA_CancelRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CANCELREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CancelRequest_deleteMembers(UA_CancelRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CANCELREQUEST]); -} - -static UA_INLINE void -UA_CancelRequest_clear(UA_CancelRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CANCELREQUEST]); -} - -static UA_INLINE void -UA_CancelRequest_delete(UA_CancelRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CANCELREQUEST]); -}static UA_INLINE UA_Boolean -UA_CancelRequest_equal(const UA_CancelRequest *p1, const UA_CancelRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CANCELREQUEST]) == UA_ORDER_EQ); -} - - - -/* CancelResponse */ -static UA_INLINE void -UA_CancelResponse_init(UA_CancelResponse *p) { - memset(p, 0, sizeof(UA_CancelResponse)); -} - -static UA_INLINE UA_CancelResponse * -UA_CancelResponse_new(void) { - return (UA_CancelResponse*)UA_new(&UA_TYPES[UA_TYPES_CANCELRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CancelResponse_copy(const UA_CancelResponse *src, UA_CancelResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CancelResponse_deleteMembers(UA_CancelResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); -} - -static UA_INLINE void -UA_CancelResponse_clear(UA_CancelResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); -} - -static UA_INLINE void -UA_CancelResponse_delete(UA_CancelResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CancelResponse_equal(const UA_CancelResponse *p1, const UA_CancelResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CANCELRESPONSE]) == UA_ORDER_EQ); -} - - - -/* NodeAttributesMask */ -static UA_INLINE void -UA_NodeAttributesMask_init(UA_NodeAttributesMask *p) { - memset(p, 0, sizeof(UA_NodeAttributesMask)); -} - -static UA_INLINE UA_NodeAttributesMask * -UA_NodeAttributesMask_new(void) { - return (UA_NodeAttributesMask*)UA_new(&UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); -} - -static UA_INLINE UA_StatusCode -UA_NodeAttributesMask_copy(const UA_NodeAttributesMask *src, UA_NodeAttributesMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NodeAttributesMask_deleteMembers(UA_NodeAttributesMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); -} - -static UA_INLINE void -UA_NodeAttributesMask_clear(UA_NodeAttributesMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); -} - -static UA_INLINE void -UA_NodeAttributesMask_delete(UA_NodeAttributesMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]); -}static UA_INLINE UA_Boolean -UA_NodeAttributesMask_equal(const UA_NodeAttributesMask *p1, const UA_NodeAttributesMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEATTRIBUTESMASK]) == UA_ORDER_EQ); -} - - - -/* NodeAttributes */ -static UA_INLINE void -UA_NodeAttributes_init(UA_NodeAttributes *p) { - memset(p, 0, sizeof(UA_NodeAttributes)); -} - -static UA_INLINE UA_NodeAttributes * -UA_NodeAttributes_new(void) { - return (UA_NodeAttributes*)UA_new(&UA_TYPES[UA_TYPES_NODEATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_NodeAttributes_copy(const UA_NodeAttributes *src, UA_NodeAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NodeAttributes_deleteMembers(UA_NodeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); -} - -static UA_INLINE void -UA_NodeAttributes_clear(UA_NodeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); -} - -static UA_INLINE void -UA_NodeAttributes_delete(UA_NodeAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_NodeAttributes_equal(const UA_NodeAttributes *p1, const UA_NodeAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* ObjectAttributes */ -static UA_INLINE void -UA_ObjectAttributes_init(UA_ObjectAttributes *p) { - memset(p, 0, sizeof(UA_ObjectAttributes)); -} - -static UA_INLINE UA_ObjectAttributes * -UA_ObjectAttributes_new(void) { - return (UA_ObjectAttributes*)UA_new(&UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_ObjectAttributes_copy(const UA_ObjectAttributes *src, UA_ObjectAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ObjectAttributes_deleteMembers(UA_ObjectAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); -} - -static UA_INLINE void -UA_ObjectAttributes_clear(UA_ObjectAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); -} - -static UA_INLINE void -UA_ObjectAttributes_delete(UA_ObjectAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_ObjectAttributes_equal(const UA_ObjectAttributes *p1, const UA_ObjectAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* VariableAttributes */ -static UA_INLINE void -UA_VariableAttributes_init(UA_VariableAttributes *p) { - memset(p, 0, sizeof(UA_VariableAttributes)); -} - -static UA_INLINE UA_VariableAttributes * -UA_VariableAttributes_new(void) { - return (UA_VariableAttributes*)UA_new(&UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_VariableAttributes_copy(const UA_VariableAttributes *src, UA_VariableAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_VariableAttributes_deleteMembers(UA_VariableAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); -} - -static UA_INLINE void -UA_VariableAttributes_clear(UA_VariableAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); -} - -static UA_INLINE void -UA_VariableAttributes_delete(UA_VariableAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_VariableAttributes_equal(const UA_VariableAttributes *p1, const UA_VariableAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* MethodAttributes */ -static UA_INLINE void -UA_MethodAttributes_init(UA_MethodAttributes *p) { - memset(p, 0, sizeof(UA_MethodAttributes)); -} - -static UA_INLINE UA_MethodAttributes * -UA_MethodAttributes_new(void) { - return (UA_MethodAttributes*)UA_new(&UA_TYPES[UA_TYPES_METHODATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_MethodAttributes_copy(const UA_MethodAttributes *src, UA_MethodAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MethodAttributes_deleteMembers(UA_MethodAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); -} - -static UA_INLINE void -UA_MethodAttributes_clear(UA_MethodAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); -} - -static UA_INLINE void -UA_MethodAttributes_delete(UA_MethodAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_MethodAttributes_equal(const UA_MethodAttributes *p1, const UA_MethodAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_METHODATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* ObjectTypeAttributes */ -static UA_INLINE void -UA_ObjectTypeAttributes_init(UA_ObjectTypeAttributes *p) { - memset(p, 0, sizeof(UA_ObjectTypeAttributes)); -} - -static UA_INLINE UA_ObjectTypeAttributes * -UA_ObjectTypeAttributes_new(void) { - return (UA_ObjectTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_ObjectTypeAttributes_copy(const UA_ObjectTypeAttributes *src, UA_ObjectTypeAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ObjectTypeAttributes_deleteMembers(UA_ObjectTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_ObjectTypeAttributes_clear(UA_ObjectTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_ObjectTypeAttributes_delete(UA_ObjectTypeAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_ObjectTypeAttributes_equal(const UA_ObjectTypeAttributes *p1, const UA_ObjectTypeAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* VariableTypeAttributes */ -static UA_INLINE void -UA_VariableTypeAttributes_init(UA_VariableTypeAttributes *p) { - memset(p, 0, sizeof(UA_VariableTypeAttributes)); -} - -static UA_INLINE UA_VariableTypeAttributes * -UA_VariableTypeAttributes_new(void) { - return (UA_VariableTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_VariableTypeAttributes_copy(const UA_VariableTypeAttributes *src, UA_VariableTypeAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_VariableTypeAttributes_deleteMembers(UA_VariableTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_VariableTypeAttributes_clear(UA_VariableTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_VariableTypeAttributes_delete(UA_VariableTypeAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_VariableTypeAttributes_equal(const UA_VariableTypeAttributes *p1, const UA_VariableTypeAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* ReferenceTypeAttributes */ -static UA_INLINE void -UA_ReferenceTypeAttributes_init(UA_ReferenceTypeAttributes *p) { - memset(p, 0, sizeof(UA_ReferenceTypeAttributes)); -} - -static UA_INLINE UA_ReferenceTypeAttributes * -UA_ReferenceTypeAttributes_new(void) { - return (UA_ReferenceTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_ReferenceTypeAttributes_copy(const UA_ReferenceTypeAttributes *src, UA_ReferenceTypeAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReferenceTypeAttributes_deleteMembers(UA_ReferenceTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_ReferenceTypeAttributes_clear(UA_ReferenceTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_ReferenceTypeAttributes_delete(UA_ReferenceTypeAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_ReferenceTypeAttributes_equal(const UA_ReferenceTypeAttributes *p1, const UA_ReferenceTypeAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* DataTypeAttributes */ -static UA_INLINE void -UA_DataTypeAttributes_init(UA_DataTypeAttributes *p) { - memset(p, 0, sizeof(UA_DataTypeAttributes)); -} - -static UA_INLINE UA_DataTypeAttributes * -UA_DataTypeAttributes_new(void) { - return (UA_DataTypeAttributes*)UA_new(&UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_DataTypeAttributes_copy(const UA_DataTypeAttributes *src, UA_DataTypeAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataTypeAttributes_deleteMembers(UA_DataTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_DataTypeAttributes_clear(UA_DataTypeAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); -} - -static UA_INLINE void -UA_DataTypeAttributes_delete(UA_DataTypeAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_DataTypeAttributes_equal(const UA_DataTypeAttributes *p1, const UA_DataTypeAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* ViewAttributes */ -static UA_INLINE void -UA_ViewAttributes_init(UA_ViewAttributes *p) { - memset(p, 0, sizeof(UA_ViewAttributes)); -} - -static UA_INLINE UA_ViewAttributes * -UA_ViewAttributes_new(void) { - return (UA_ViewAttributes*)UA_new(&UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_ViewAttributes_copy(const UA_ViewAttributes *src, UA_ViewAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ViewAttributes_deleteMembers(UA_ViewAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); -} - -static UA_INLINE void -UA_ViewAttributes_clear(UA_ViewAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); -} - -static UA_INLINE void -UA_ViewAttributes_delete(UA_ViewAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_ViewAttributes_equal(const UA_ViewAttributes *p1, const UA_ViewAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VIEWATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* GenericAttributeValue */ -static UA_INLINE void -UA_GenericAttributeValue_init(UA_GenericAttributeValue *p) { - memset(p, 0, sizeof(UA_GenericAttributeValue)); -} - -static UA_INLINE UA_GenericAttributeValue * -UA_GenericAttributeValue_new(void) { - return (UA_GenericAttributeValue*)UA_new(&UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); -} - -static UA_INLINE UA_StatusCode -UA_GenericAttributeValue_copy(const UA_GenericAttributeValue *src, UA_GenericAttributeValue *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_GenericAttributeValue_deleteMembers(UA_GenericAttributeValue *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); -} - -static UA_INLINE void -UA_GenericAttributeValue_clear(UA_GenericAttributeValue *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); -} - -static UA_INLINE void -UA_GenericAttributeValue_delete(UA_GenericAttributeValue *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]); -}static UA_INLINE UA_Boolean -UA_GenericAttributeValue_equal(const UA_GenericAttributeValue *p1, const UA_GenericAttributeValue *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE]) == UA_ORDER_EQ); -} - - - -/* GenericAttributes */ -static UA_INLINE void -UA_GenericAttributes_init(UA_GenericAttributes *p) { - memset(p, 0, sizeof(UA_GenericAttributes)); -} - -static UA_INLINE UA_GenericAttributes * -UA_GenericAttributes_new(void) { - return (UA_GenericAttributes*)UA_new(&UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); -} - -static UA_INLINE UA_StatusCode -UA_GenericAttributes_copy(const UA_GenericAttributes *src, UA_GenericAttributes *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); -} - -UA_DEPRECATED static UA_INLINE void -UA_GenericAttributes_deleteMembers(UA_GenericAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); -} - -static UA_INLINE void -UA_GenericAttributes_clear(UA_GenericAttributes *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); -} - -static UA_INLINE void -UA_GenericAttributes_delete(UA_GenericAttributes *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]); -}static UA_INLINE UA_Boolean -UA_GenericAttributes_equal(const UA_GenericAttributes *p1, const UA_GenericAttributes *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_GENERICATTRIBUTES]) == UA_ORDER_EQ); -} - - - -/* AddNodesItem */ -static UA_INLINE void -UA_AddNodesItem_init(UA_AddNodesItem *p) { - memset(p, 0, sizeof(UA_AddNodesItem)); -} - -static UA_INLINE UA_AddNodesItem * -UA_AddNodesItem_new(void) { - return (UA_AddNodesItem*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESITEM]); -} - -static UA_INLINE UA_StatusCode -UA_AddNodesItem_copy(const UA_AddNodesItem *src, UA_AddNodesItem *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESITEM]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddNodesItem_deleteMembers(UA_AddNodesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESITEM]); -} - -static UA_INLINE void -UA_AddNodesItem_clear(UA_AddNodesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESITEM]); -} - -static UA_INLINE void -UA_AddNodesItem_delete(UA_AddNodesItem *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESITEM]); -}static UA_INLINE UA_Boolean -UA_AddNodesItem_equal(const UA_AddNodesItem *p1, const UA_AddNodesItem *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESITEM]) == UA_ORDER_EQ); -} - - - -/* AddNodesResult */ -static UA_INLINE void -UA_AddNodesResult_init(UA_AddNodesResult *p) { - memset(p, 0, sizeof(UA_AddNodesResult)); -} - -static UA_INLINE UA_AddNodesResult * -UA_AddNodesResult_new(void) { - return (UA_AddNodesResult*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_AddNodesResult_copy(const UA_AddNodesResult *src, UA_AddNodesResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddNodesResult_deleteMembers(UA_AddNodesResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); -} - -static UA_INLINE void -UA_AddNodesResult_clear(UA_AddNodesResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); -} - -static UA_INLINE void -UA_AddNodesResult_delete(UA_AddNodesResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESRESULT]); -}static UA_INLINE UA_Boolean -UA_AddNodesResult_equal(const UA_AddNodesResult *p1, const UA_AddNodesResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESRESULT]) == UA_ORDER_EQ); -} - - - -/* AddNodesRequest */ -static UA_INLINE void -UA_AddNodesRequest_init(UA_AddNodesRequest *p) { - memset(p, 0, sizeof(UA_AddNodesRequest)); -} - -static UA_INLINE UA_AddNodesRequest * -UA_AddNodesRequest_new(void) { - return (UA_AddNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_AddNodesRequest_copy(const UA_AddNodesRequest *src, UA_AddNodesRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddNodesRequest_deleteMembers(UA_AddNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); -} - -static UA_INLINE void -UA_AddNodesRequest_clear(UA_AddNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); -} - -static UA_INLINE void -UA_AddNodesRequest_delete(UA_AddNodesRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]); -}static UA_INLINE UA_Boolean -UA_AddNodesRequest_equal(const UA_AddNodesRequest *p1, const UA_AddNodesRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESREQUEST]) == UA_ORDER_EQ); -} - - - -/* AddNodesResponse */ -static UA_INLINE void -UA_AddNodesResponse_init(UA_AddNodesResponse *p) { - memset(p, 0, sizeof(UA_AddNodesResponse)); -} - -static UA_INLINE UA_AddNodesResponse * -UA_AddNodesResponse_new(void) { - return (UA_AddNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_AddNodesResponse_copy(const UA_AddNodesResponse *src, UA_AddNodesResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddNodesResponse_deleteMembers(UA_AddNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); -} - -static UA_INLINE void -UA_AddNodesResponse_clear(UA_AddNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); -} - -static UA_INLINE void -UA_AddNodesResponse_delete(UA_AddNodesResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); -}static UA_INLINE UA_Boolean -UA_AddNodesResponse_equal(const UA_AddNodesResponse *p1, const UA_AddNodesResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]) == UA_ORDER_EQ); -} - - - -/* AddReferencesItem */ -static UA_INLINE void -UA_AddReferencesItem_init(UA_AddReferencesItem *p) { - memset(p, 0, sizeof(UA_AddReferencesItem)); -} - -static UA_INLINE UA_AddReferencesItem * -UA_AddReferencesItem_new(void) { - return (UA_AddReferencesItem*)UA_new(&UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); -} - -static UA_INLINE UA_StatusCode -UA_AddReferencesItem_copy(const UA_AddReferencesItem *src, UA_AddReferencesItem *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddReferencesItem_deleteMembers(UA_AddReferencesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); -} - -static UA_INLINE void -UA_AddReferencesItem_clear(UA_AddReferencesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); -} - -static UA_INLINE void -UA_AddReferencesItem_delete(UA_AddReferencesItem *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]); -}static UA_INLINE UA_Boolean -UA_AddReferencesItem_equal(const UA_AddReferencesItem *p1, const UA_AddReferencesItem *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDREFERENCESITEM]) == UA_ORDER_EQ); -} - - - -/* AddReferencesRequest */ -static UA_INLINE void -UA_AddReferencesRequest_init(UA_AddReferencesRequest *p) { - memset(p, 0, sizeof(UA_AddReferencesRequest)); -} - -static UA_INLINE UA_AddReferencesRequest * -UA_AddReferencesRequest_new(void) { - return (UA_AddReferencesRequest*)UA_new(&UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_AddReferencesRequest_copy(const UA_AddReferencesRequest *src, UA_AddReferencesRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddReferencesRequest_deleteMembers(UA_AddReferencesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); -} - -static UA_INLINE void -UA_AddReferencesRequest_clear(UA_AddReferencesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); -} - -static UA_INLINE void -UA_AddReferencesRequest_delete(UA_AddReferencesRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]); -}static UA_INLINE UA_Boolean -UA_AddReferencesRequest_equal(const UA_AddReferencesRequest *p1, const UA_AddReferencesRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]) == UA_ORDER_EQ); -} - - - -/* AddReferencesResponse */ -static UA_INLINE void -UA_AddReferencesResponse_init(UA_AddReferencesResponse *p) { - memset(p, 0, sizeof(UA_AddReferencesResponse)); -} - -static UA_INLINE UA_AddReferencesResponse * -UA_AddReferencesResponse_new(void) { - return (UA_AddReferencesResponse*)UA_new(&UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_AddReferencesResponse_copy(const UA_AddReferencesResponse *src, UA_AddReferencesResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AddReferencesResponse_deleteMembers(UA_AddReferencesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); -} - -static UA_INLINE void -UA_AddReferencesResponse_clear(UA_AddReferencesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); -} - -static UA_INLINE void -UA_AddReferencesResponse_delete(UA_AddReferencesResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); -}static UA_INLINE UA_Boolean -UA_AddReferencesResponse_equal(const UA_AddReferencesResponse *p1, const UA_AddReferencesResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]) == UA_ORDER_EQ); -} - - - -/* DeleteNodesItem */ -static UA_INLINE void -UA_DeleteNodesItem_init(UA_DeleteNodesItem *p) { - memset(p, 0, sizeof(UA_DeleteNodesItem)); -} - -static UA_INLINE UA_DeleteNodesItem * -UA_DeleteNodesItem_new(void) { - return (UA_DeleteNodesItem*)UA_new(&UA_TYPES[UA_TYPES_DELETENODESITEM]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteNodesItem_copy(const UA_DeleteNodesItem *src, UA_DeleteNodesItem *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETENODESITEM]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteNodesItem_deleteMembers(UA_DeleteNodesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESITEM]); -} - -static UA_INLINE void -UA_DeleteNodesItem_clear(UA_DeleteNodesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESITEM]); -} - -static UA_INLINE void -UA_DeleteNodesItem_delete(UA_DeleteNodesItem *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETENODESITEM]); -}static UA_INLINE UA_Boolean -UA_DeleteNodesItem_equal(const UA_DeleteNodesItem *p1, const UA_DeleteNodesItem *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETENODESITEM]) == UA_ORDER_EQ); -} - - - -/* DeleteNodesRequest */ -static UA_INLINE void -UA_DeleteNodesRequest_init(UA_DeleteNodesRequest *p) { - memset(p, 0, sizeof(UA_DeleteNodesRequest)); -} - -static UA_INLINE UA_DeleteNodesRequest * -UA_DeleteNodesRequest_new(void) { - return (UA_DeleteNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETENODESREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteNodesRequest_copy(const UA_DeleteNodesRequest *src, UA_DeleteNodesRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteNodesRequest_deleteMembers(UA_DeleteNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); -} - -static UA_INLINE void -UA_DeleteNodesRequest_clear(UA_DeleteNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); -} - -static UA_INLINE void -UA_DeleteNodesRequest_delete(UA_DeleteNodesRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]); -}static UA_INLINE UA_Boolean -UA_DeleteNodesRequest_equal(const UA_DeleteNodesRequest *p1, const UA_DeleteNodesRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETENODESREQUEST]) == UA_ORDER_EQ); -} - - - -/* DeleteNodesResponse */ -static UA_INLINE void -UA_DeleteNodesResponse_init(UA_DeleteNodesResponse *p) { - memset(p, 0, sizeof(UA_DeleteNodesResponse)); -} - -static UA_INLINE UA_DeleteNodesResponse * -UA_DeleteNodesResponse_new(void) { - return (UA_DeleteNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteNodesResponse_copy(const UA_DeleteNodesResponse *src, UA_DeleteNodesResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteNodesResponse_deleteMembers(UA_DeleteNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); -} - -static UA_INLINE void -UA_DeleteNodesResponse_clear(UA_DeleteNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); -} - -static UA_INLINE void -UA_DeleteNodesResponse_delete(UA_DeleteNodesResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); -}static UA_INLINE UA_Boolean -UA_DeleteNodesResponse_equal(const UA_DeleteNodesResponse *p1, const UA_DeleteNodesResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]) == UA_ORDER_EQ); -} - - - -/* DeleteReferencesItem */ -static UA_INLINE void -UA_DeleteReferencesItem_init(UA_DeleteReferencesItem *p) { - memset(p, 0, sizeof(UA_DeleteReferencesItem)); -} - -static UA_INLINE UA_DeleteReferencesItem * -UA_DeleteReferencesItem_new(void) { - return (UA_DeleteReferencesItem*)UA_new(&UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteReferencesItem_copy(const UA_DeleteReferencesItem *src, UA_DeleteReferencesItem *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteReferencesItem_deleteMembers(UA_DeleteReferencesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); -} - -static UA_INLINE void -UA_DeleteReferencesItem_clear(UA_DeleteReferencesItem *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); -} - -static UA_INLINE void -UA_DeleteReferencesItem_delete(UA_DeleteReferencesItem *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]); -}static UA_INLINE UA_Boolean -UA_DeleteReferencesItem_equal(const UA_DeleteReferencesItem *p1, const UA_DeleteReferencesItem *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM]) == UA_ORDER_EQ); -} - - - -/* DeleteReferencesRequest */ -static UA_INLINE void -UA_DeleteReferencesRequest_init(UA_DeleteReferencesRequest *p) { - memset(p, 0, sizeof(UA_DeleteReferencesRequest)); -} - -static UA_INLINE UA_DeleteReferencesRequest * -UA_DeleteReferencesRequest_new(void) { - return (UA_DeleteReferencesRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteReferencesRequest_copy(const UA_DeleteReferencesRequest *src, UA_DeleteReferencesRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteReferencesRequest_deleteMembers(UA_DeleteReferencesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); -} - -static UA_INLINE void -UA_DeleteReferencesRequest_clear(UA_DeleteReferencesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); -} - -static UA_INLINE void -UA_DeleteReferencesRequest_delete(UA_DeleteReferencesRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]); -}static UA_INLINE UA_Boolean -UA_DeleteReferencesRequest_equal(const UA_DeleteReferencesRequest *p1, const UA_DeleteReferencesRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]) == UA_ORDER_EQ); -} - - - -/* DeleteReferencesResponse */ -static UA_INLINE void -UA_DeleteReferencesResponse_init(UA_DeleteReferencesResponse *p) { - memset(p, 0, sizeof(UA_DeleteReferencesResponse)); -} - -static UA_INLINE UA_DeleteReferencesResponse * -UA_DeleteReferencesResponse_new(void) { - return (UA_DeleteReferencesResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteReferencesResponse_copy(const UA_DeleteReferencesResponse *src, UA_DeleteReferencesResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteReferencesResponse_deleteMembers(UA_DeleteReferencesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); -} - -static UA_INLINE void -UA_DeleteReferencesResponse_clear(UA_DeleteReferencesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); -} - -static UA_INLINE void -UA_DeleteReferencesResponse_delete(UA_DeleteReferencesResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); -}static UA_INLINE UA_Boolean -UA_DeleteReferencesResponse_equal(const UA_DeleteReferencesResponse *p1, const UA_DeleteReferencesResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]) == UA_ORDER_EQ); -} - - - -/* AttributeWriteMask */ -static UA_INLINE void -UA_AttributeWriteMask_init(UA_AttributeWriteMask *p) { - memset(p, 0, sizeof(UA_AttributeWriteMask)); -} - -static UA_INLINE UA_AttributeWriteMask * -UA_AttributeWriteMask_new(void) { - return (UA_AttributeWriteMask*)UA_new(&UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); -} - -static UA_INLINE UA_StatusCode -UA_AttributeWriteMask_copy(const UA_AttributeWriteMask *src, UA_AttributeWriteMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AttributeWriteMask_deleteMembers(UA_AttributeWriteMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); -} - -static UA_INLINE void -UA_AttributeWriteMask_clear(UA_AttributeWriteMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); -} - -static UA_INLINE void -UA_AttributeWriteMask_delete(UA_AttributeWriteMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]); -}static UA_INLINE UA_Boolean -UA_AttributeWriteMask_equal(const UA_AttributeWriteMask *p1, const UA_AttributeWriteMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ATTRIBUTEWRITEMASK]) == UA_ORDER_EQ); -} - - - -/* BrowseDirection */ -static UA_INLINE void -UA_BrowseDirection_init(UA_BrowseDirection *p) { - memset(p, 0, sizeof(UA_BrowseDirection)); -} - -static UA_INLINE UA_BrowseDirection * -UA_BrowseDirection_new(void) { - return (UA_BrowseDirection*)UA_new(&UA_TYPES[UA_TYPES_BROWSEDIRECTION]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseDirection_copy(const UA_BrowseDirection *src, UA_BrowseDirection *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseDirection_deleteMembers(UA_BrowseDirection *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); -} - -static UA_INLINE void -UA_BrowseDirection_clear(UA_BrowseDirection *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); -} - -static UA_INLINE void -UA_BrowseDirection_delete(UA_BrowseDirection *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]); -}static UA_INLINE UA_Boolean -UA_BrowseDirection_equal(const UA_BrowseDirection *p1, const UA_BrowseDirection *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEDIRECTION]) == UA_ORDER_EQ); -} - - - -/* ViewDescription */ -static UA_INLINE void -UA_ViewDescription_init(UA_ViewDescription *p) { - memset(p, 0, sizeof(UA_ViewDescription)); -} - -static UA_INLINE UA_ViewDescription * -UA_ViewDescription_new(void) { - return (UA_ViewDescription*)UA_new(&UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_ViewDescription_copy(const UA_ViewDescription *src, UA_ViewDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ViewDescription_deleteMembers(UA_ViewDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); -} - -static UA_INLINE void -UA_ViewDescription_clear(UA_ViewDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); -} - -static UA_INLINE void -UA_ViewDescription_delete(UA_ViewDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_ViewDescription_equal(const UA_ViewDescription *p1, const UA_ViewDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_VIEWDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* BrowseDescription */ -static UA_INLINE void -UA_BrowseDescription_init(UA_BrowseDescription *p) { - memset(p, 0, sizeof(UA_BrowseDescription)); -} - -static UA_INLINE UA_BrowseDescription * -UA_BrowseDescription_new(void) { - return (UA_BrowseDescription*)UA_new(&UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseDescription_copy(const UA_BrowseDescription *src, UA_BrowseDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseDescription_deleteMembers(UA_BrowseDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); -} - -static UA_INLINE void -UA_BrowseDescription_clear(UA_BrowseDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); -} - -static UA_INLINE void -UA_BrowseDescription_delete(UA_BrowseDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_BrowseDescription_equal(const UA_BrowseDescription *p1, const UA_BrowseDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* BrowseResultMask */ -static UA_INLINE void -UA_BrowseResultMask_init(UA_BrowseResultMask *p) { - memset(p, 0, sizeof(UA_BrowseResultMask)); -} - -static UA_INLINE UA_BrowseResultMask * -UA_BrowseResultMask_new(void) { - return (UA_BrowseResultMask*)UA_new(&UA_TYPES[UA_TYPES_BROWSERESULTMASK]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseResultMask_copy(const UA_BrowseResultMask *src, UA_BrowseResultMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseResultMask_deleteMembers(UA_BrowseResultMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); -} - -static UA_INLINE void -UA_BrowseResultMask_clear(UA_BrowseResultMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); -} - -static UA_INLINE void -UA_BrowseResultMask_delete(UA_BrowseResultMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]); -}static UA_INLINE UA_Boolean -UA_BrowseResultMask_equal(const UA_BrowseResultMask *p1, const UA_BrowseResultMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSERESULTMASK]) == UA_ORDER_EQ); -} - - - -/* ReferenceDescription */ -static UA_INLINE void -UA_ReferenceDescription_init(UA_ReferenceDescription *p) { - memset(p, 0, sizeof(UA_ReferenceDescription)); -} - -static UA_INLINE UA_ReferenceDescription * -UA_ReferenceDescription_new(void) { - return (UA_ReferenceDescription*)UA_new(&UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_ReferenceDescription_copy(const UA_ReferenceDescription *src, UA_ReferenceDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReferenceDescription_deleteMembers(UA_ReferenceDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); -} - -static UA_INLINE void -UA_ReferenceDescription_clear(UA_ReferenceDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); -} - -static UA_INLINE void -UA_ReferenceDescription_delete(UA_ReferenceDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_ReferenceDescription_equal(const UA_ReferenceDescription *p1, const UA_ReferenceDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* ContinuationPoint */ -static UA_INLINE void -UA_ContinuationPoint_init(UA_ContinuationPoint *p) { - memset(p, 0, sizeof(UA_ContinuationPoint)); -} - -static UA_INLINE UA_ContinuationPoint * -UA_ContinuationPoint_new(void) { - return (UA_ContinuationPoint*)UA_new(&UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); -} - -static UA_INLINE UA_StatusCode -UA_ContinuationPoint_copy(const UA_ContinuationPoint *src, UA_ContinuationPoint *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ContinuationPoint_deleteMembers(UA_ContinuationPoint *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); -} - -static UA_INLINE void -UA_ContinuationPoint_clear(UA_ContinuationPoint *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); -} - -static UA_INLINE void -UA_ContinuationPoint_delete(UA_ContinuationPoint *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]); -}static UA_INLINE UA_Boolean -UA_ContinuationPoint_equal(const UA_ContinuationPoint *p1, const UA_ContinuationPoint *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTINUATIONPOINT]) == UA_ORDER_EQ); -} - - - -/* BrowseResult */ -static UA_INLINE void -UA_BrowseResult_init(UA_BrowseResult *p) { - memset(p, 0, sizeof(UA_BrowseResult)); -} - -static UA_INLINE UA_BrowseResult * -UA_BrowseResult_new(void) { - return (UA_BrowseResult*)UA_new(&UA_TYPES[UA_TYPES_BROWSERESULT]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseResult_copy(const UA_BrowseResult *src, UA_BrowseResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSERESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseResult_deleteMembers(UA_BrowseResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULT]); -} - -static UA_INLINE void -UA_BrowseResult_clear(UA_BrowseResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESULT]); -} - -static UA_INLINE void -UA_BrowseResult_delete(UA_BrowseResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSERESULT]); -}static UA_INLINE UA_Boolean -UA_BrowseResult_equal(const UA_BrowseResult *p1, const UA_BrowseResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSERESULT]) == UA_ORDER_EQ); -} - - - -/* BrowseRequest */ -static UA_INLINE void -UA_BrowseRequest_init(UA_BrowseRequest *p) { - memset(p, 0, sizeof(UA_BrowseRequest)); -} - -static UA_INLINE UA_BrowseRequest * -UA_BrowseRequest_new(void) { - return (UA_BrowseRequest*)UA_new(&UA_TYPES[UA_TYPES_BROWSEREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseRequest_copy(const UA_BrowseRequest *src, UA_BrowseRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseRequest_deleteMembers(UA_BrowseRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); -} - -static UA_INLINE void -UA_BrowseRequest_clear(UA_BrowseRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); -} - -static UA_INLINE void -UA_BrowseRequest_delete(UA_BrowseRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEREQUEST]); -}static UA_INLINE UA_Boolean -UA_BrowseRequest_equal(const UA_BrowseRequest *p1, const UA_BrowseRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEREQUEST]) == UA_ORDER_EQ); -} - - - -/* BrowseResponse */ -static UA_INLINE void -UA_BrowseResponse_init(UA_BrowseResponse *p) { - memset(p, 0, sizeof(UA_BrowseResponse)); -} - -static UA_INLINE UA_BrowseResponse * -UA_BrowseResponse_new(void) { - return (UA_BrowseResponse*)UA_new(&UA_TYPES[UA_TYPES_BROWSERESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseResponse_copy(const UA_BrowseResponse *src, UA_BrowseResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseResponse_deleteMembers(UA_BrowseResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); -} - -static UA_INLINE void -UA_BrowseResponse_clear(UA_BrowseResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); -} - -static UA_INLINE void -UA_BrowseResponse_delete(UA_BrowseResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); -}static UA_INLINE UA_Boolean -UA_BrowseResponse_equal(const UA_BrowseResponse *p1, const UA_BrowseResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSERESPONSE]) == UA_ORDER_EQ); -} - - - -/* BrowseNextRequest */ -static UA_INLINE void -UA_BrowseNextRequest_init(UA_BrowseNextRequest *p) { - memset(p, 0, sizeof(UA_BrowseNextRequest)); -} - -static UA_INLINE UA_BrowseNextRequest * -UA_BrowseNextRequest_new(void) { - return (UA_BrowseNextRequest*)UA_new(&UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseNextRequest_copy(const UA_BrowseNextRequest *src, UA_BrowseNextRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseNextRequest_deleteMembers(UA_BrowseNextRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); -} - -static UA_INLINE void -UA_BrowseNextRequest_clear(UA_BrowseNextRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); -} - -static UA_INLINE void -UA_BrowseNextRequest_delete(UA_BrowseNextRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]); -}static UA_INLINE UA_Boolean -UA_BrowseNextRequest_equal(const UA_BrowseNextRequest *p1, const UA_BrowseNextRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]) == UA_ORDER_EQ); -} - - - -/* BrowseNextResponse */ -static UA_INLINE void -UA_BrowseNextResponse_init(UA_BrowseNextResponse *p) { - memset(p, 0, sizeof(UA_BrowseNextResponse)); -} - -static UA_INLINE UA_BrowseNextResponse * -UA_BrowseNextResponse_new(void) { - return (UA_BrowseNextResponse*)UA_new(&UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_BrowseNextResponse_copy(const UA_BrowseNextResponse *src, UA_BrowseNextResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowseNextResponse_deleteMembers(UA_BrowseNextResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); -} - -static UA_INLINE void -UA_BrowseNextResponse_clear(UA_BrowseNextResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); -} - -static UA_INLINE void -UA_BrowseNextResponse_delete(UA_BrowseNextResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); -}static UA_INLINE UA_Boolean -UA_BrowseNextResponse_equal(const UA_BrowseNextResponse *p1, const UA_BrowseNextResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]) == UA_ORDER_EQ); -} - - - -/* RelativePathElement */ -static UA_INLINE void -UA_RelativePathElement_init(UA_RelativePathElement *p) { - memset(p, 0, sizeof(UA_RelativePathElement)); -} - -static UA_INLINE UA_RelativePathElement * -UA_RelativePathElement_new(void) { - return (UA_RelativePathElement*)UA_new(&UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); -} - -static UA_INLINE UA_StatusCode -UA_RelativePathElement_copy(const UA_RelativePathElement *src, UA_RelativePathElement *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RelativePathElement_deleteMembers(UA_RelativePathElement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); -} - -static UA_INLINE void -UA_RelativePathElement_clear(UA_RelativePathElement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); -} - -static UA_INLINE void -UA_RelativePathElement_delete(UA_RelativePathElement *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]); -}static UA_INLINE UA_Boolean -UA_RelativePathElement_equal(const UA_RelativePathElement *p1, const UA_RelativePathElement *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT]) == UA_ORDER_EQ); -} - - - -/* RelativePath */ -static UA_INLINE void -UA_RelativePath_init(UA_RelativePath *p) { - memset(p, 0, sizeof(UA_RelativePath)); -} - -static UA_INLINE UA_RelativePath * -UA_RelativePath_new(void) { - return (UA_RelativePath*)UA_new(&UA_TYPES[UA_TYPES_RELATIVEPATH]); -} - -static UA_INLINE UA_StatusCode -UA_RelativePath_copy(const UA_RelativePath *src, UA_RelativePath *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RELATIVEPATH]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RelativePath_deleteMembers(UA_RelativePath *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATH]); -} - -static UA_INLINE void -UA_RelativePath_clear(UA_RelativePath *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RELATIVEPATH]); -} - -static UA_INLINE void -UA_RelativePath_delete(UA_RelativePath *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RELATIVEPATH]); -}static UA_INLINE UA_Boolean -UA_RelativePath_equal(const UA_RelativePath *p1, const UA_RelativePath *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RELATIVEPATH]) == UA_ORDER_EQ); -} - - - -/* BrowsePath */ -static UA_INLINE void -UA_BrowsePath_init(UA_BrowsePath *p) { - memset(p, 0, sizeof(UA_BrowsePath)); -} - -static UA_INLINE UA_BrowsePath * -UA_BrowsePath_new(void) { - return (UA_BrowsePath*)UA_new(&UA_TYPES[UA_TYPES_BROWSEPATH]); -} - -static UA_INLINE UA_StatusCode -UA_BrowsePath_copy(const UA_BrowsePath *src, UA_BrowsePath *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEPATH]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowsePath_deleteMembers(UA_BrowsePath *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATH]); -} - -static UA_INLINE void -UA_BrowsePath_clear(UA_BrowsePath *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATH]); -} - -static UA_INLINE void -UA_BrowsePath_delete(UA_BrowsePath *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEPATH]); -}static UA_INLINE UA_Boolean -UA_BrowsePath_equal(const UA_BrowsePath *p1, const UA_BrowsePath *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEPATH]) == UA_ORDER_EQ); -} - - - -/* BrowsePathTarget */ -static UA_INLINE void -UA_BrowsePathTarget_init(UA_BrowsePathTarget *p) { - memset(p, 0, sizeof(UA_BrowsePathTarget)); -} - -static UA_INLINE UA_BrowsePathTarget * -UA_BrowsePathTarget_new(void) { - return (UA_BrowsePathTarget*)UA_new(&UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); -} - -static UA_INLINE UA_StatusCode -UA_BrowsePathTarget_copy(const UA_BrowsePathTarget *src, UA_BrowsePathTarget *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowsePathTarget_deleteMembers(UA_BrowsePathTarget *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); -} - -static UA_INLINE void -UA_BrowsePathTarget_clear(UA_BrowsePathTarget *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); -} - -static UA_INLINE void -UA_BrowsePathTarget_delete(UA_BrowsePathTarget *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]); -}static UA_INLINE UA_Boolean -UA_BrowsePathTarget_equal(const UA_BrowsePathTarget *p1, const UA_BrowsePathTarget *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEPATHTARGET]) == UA_ORDER_EQ); -} - - - -/* BrowsePathResult */ -static UA_INLINE void -UA_BrowsePathResult_init(UA_BrowsePathResult *p) { - memset(p, 0, sizeof(UA_BrowsePathResult)); -} - -static UA_INLINE UA_BrowsePathResult * -UA_BrowsePathResult_new(void) { - return (UA_BrowsePathResult*)UA_new(&UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_BrowsePathResult_copy(const UA_BrowsePathResult *src, UA_BrowsePathResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BrowsePathResult_deleteMembers(UA_BrowsePathResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); -} - -static UA_INLINE void -UA_BrowsePathResult_clear(UA_BrowsePathResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); -} - -static UA_INLINE void -UA_BrowsePathResult_delete(UA_BrowsePathResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); -}static UA_INLINE UA_Boolean -UA_BrowsePathResult_equal(const UA_BrowsePathResult *p1, const UA_BrowsePathResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]) == UA_ORDER_EQ); -} - - - -/* TranslateBrowsePathsToNodeIdsRequest */ -static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsRequest_init(UA_TranslateBrowsePathsToNodeIdsRequest *p) { - memset(p, 0, sizeof(UA_TranslateBrowsePathsToNodeIdsRequest)); -} - -static UA_INLINE UA_TranslateBrowsePathsToNodeIdsRequest * -UA_TranslateBrowsePathsToNodeIdsRequest_new(void) { - return (UA_TranslateBrowsePathsToNodeIdsRequest*)UA_new(&UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_TranslateBrowsePathsToNodeIdsRequest_copy(const UA_TranslateBrowsePathsToNodeIdsRequest *src, UA_TranslateBrowsePathsToNodeIdsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsRequest_deleteMembers(UA_TranslateBrowsePathsToNodeIdsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); -} - -static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsRequest_clear(UA_TranslateBrowsePathsToNodeIdsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); -} - -static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsRequest_delete(UA_TranslateBrowsePathsToNodeIdsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]); -}static UA_INLINE UA_Boolean -UA_TranslateBrowsePathsToNodeIdsRequest_equal(const UA_TranslateBrowsePathsToNodeIdsRequest *p1, const UA_TranslateBrowsePathsToNodeIdsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]) == UA_ORDER_EQ); -} - - - -/* TranslateBrowsePathsToNodeIdsResponse */ -static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsResponse_init(UA_TranslateBrowsePathsToNodeIdsResponse *p) { - memset(p, 0, sizeof(UA_TranslateBrowsePathsToNodeIdsResponse)); -} - -static UA_INLINE UA_TranslateBrowsePathsToNodeIdsResponse * -UA_TranslateBrowsePathsToNodeIdsResponse_new(void) { - return (UA_TranslateBrowsePathsToNodeIdsResponse*)UA_new(&UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_TranslateBrowsePathsToNodeIdsResponse_copy(const UA_TranslateBrowsePathsToNodeIdsResponse *src, UA_TranslateBrowsePathsToNodeIdsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsResponse_deleteMembers(UA_TranslateBrowsePathsToNodeIdsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); -} - -static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsResponse_clear(UA_TranslateBrowsePathsToNodeIdsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); -} - -static UA_INLINE void -UA_TranslateBrowsePathsToNodeIdsResponse_delete(UA_TranslateBrowsePathsToNodeIdsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_TranslateBrowsePathsToNodeIdsResponse_equal(const UA_TranslateBrowsePathsToNodeIdsResponse *p1, const UA_TranslateBrowsePathsToNodeIdsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* RegisterNodesRequest */ -static UA_INLINE void -UA_RegisterNodesRequest_init(UA_RegisterNodesRequest *p) { - memset(p, 0, sizeof(UA_RegisterNodesRequest)); -} - -static UA_INLINE UA_RegisterNodesRequest * -UA_RegisterNodesRequest_new(void) { - return (UA_RegisterNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_RegisterNodesRequest_copy(const UA_RegisterNodesRequest *src, UA_RegisterNodesRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisterNodesRequest_deleteMembers(UA_RegisterNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); -} - -static UA_INLINE void -UA_RegisterNodesRequest_clear(UA_RegisterNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); -} - -static UA_INLINE void -UA_RegisterNodesRequest_delete(UA_RegisterNodesRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]); -}static UA_INLINE UA_Boolean -UA_RegisterNodesRequest_equal(const UA_RegisterNodesRequest *p1, const UA_RegisterNodesRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]) == UA_ORDER_EQ); -} - - - -/* RegisterNodesResponse */ -static UA_INLINE void -UA_RegisterNodesResponse_init(UA_RegisterNodesResponse *p) { - memset(p, 0, sizeof(UA_RegisterNodesResponse)); -} - -static UA_INLINE UA_RegisterNodesResponse * -UA_RegisterNodesResponse_new(void) { - return (UA_RegisterNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_RegisterNodesResponse_copy(const UA_RegisterNodesResponse *src, UA_RegisterNodesResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RegisterNodesResponse_deleteMembers(UA_RegisterNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); -} - -static UA_INLINE void -UA_RegisterNodesResponse_clear(UA_RegisterNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); -} - -static UA_INLINE void -UA_RegisterNodesResponse_delete(UA_RegisterNodesResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); -}static UA_INLINE UA_Boolean -UA_RegisterNodesResponse_equal(const UA_RegisterNodesResponse *p1, const UA_RegisterNodesResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]) == UA_ORDER_EQ); -} - - - -/* UnregisterNodesRequest */ -static UA_INLINE void -UA_UnregisterNodesRequest_init(UA_UnregisterNodesRequest *p) { - memset(p, 0, sizeof(UA_UnregisterNodesRequest)); -} - -static UA_INLINE UA_UnregisterNodesRequest * -UA_UnregisterNodesRequest_new(void) { - return (UA_UnregisterNodesRequest*)UA_new(&UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_UnregisterNodesRequest_copy(const UA_UnregisterNodesRequest *src, UA_UnregisterNodesRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UnregisterNodesRequest_deleteMembers(UA_UnregisterNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); -} - -static UA_INLINE void -UA_UnregisterNodesRequest_clear(UA_UnregisterNodesRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); -} - -static UA_INLINE void -UA_UnregisterNodesRequest_delete(UA_UnregisterNodesRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]); -}static UA_INLINE UA_Boolean -UA_UnregisterNodesRequest_equal(const UA_UnregisterNodesRequest *p1, const UA_UnregisterNodesRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]) == UA_ORDER_EQ); -} - - - -/* UnregisterNodesResponse */ -static UA_INLINE void -UA_UnregisterNodesResponse_init(UA_UnregisterNodesResponse *p) { - memset(p, 0, sizeof(UA_UnregisterNodesResponse)); -} - -static UA_INLINE UA_UnregisterNodesResponse * -UA_UnregisterNodesResponse_new(void) { - return (UA_UnregisterNodesResponse*)UA_new(&UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_UnregisterNodesResponse_copy(const UA_UnregisterNodesResponse *src, UA_UnregisterNodesResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UnregisterNodesResponse_deleteMembers(UA_UnregisterNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); -} - -static UA_INLINE void -UA_UnregisterNodesResponse_clear(UA_UnregisterNodesResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); -} - -static UA_INLINE void -UA_UnregisterNodesResponse_delete(UA_UnregisterNodesResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); -}static UA_INLINE UA_Boolean -UA_UnregisterNodesResponse_equal(const UA_UnregisterNodesResponse *p1, const UA_UnregisterNodesResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]) == UA_ORDER_EQ); -} - - - -/* Counter */ -static UA_INLINE void -UA_Counter_init(UA_Counter *p) { - memset(p, 0, sizeof(UA_Counter)); -} - -static UA_INLINE UA_Counter * -UA_Counter_new(void) { - return (UA_Counter*)UA_new(&UA_TYPES[UA_TYPES_COUNTER]); -} - -static UA_INLINE UA_StatusCode -UA_Counter_copy(const UA_Counter *src, UA_Counter *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_COUNTER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Counter_deleteMembers(UA_Counter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_COUNTER]); -} - -static UA_INLINE void -UA_Counter_clear(UA_Counter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_COUNTER]); -} - -static UA_INLINE void -UA_Counter_delete(UA_Counter *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_COUNTER]); -}static UA_INLINE UA_Boolean -UA_Counter_equal(const UA_Counter *p1, const UA_Counter *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_COUNTER]) == UA_ORDER_EQ); -} - - - -/* OpaqueNumericRange */ -static UA_INLINE void -UA_OpaqueNumericRange_init(UA_OpaqueNumericRange *p) { - memset(p, 0, sizeof(UA_OpaqueNumericRange)); -} - -static UA_INLINE UA_OpaqueNumericRange * -UA_OpaqueNumericRange_new(void) { - return (UA_OpaqueNumericRange*)UA_new(&UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); -} - -static UA_INLINE UA_StatusCode -UA_OpaqueNumericRange_copy(const UA_OpaqueNumericRange *src, UA_OpaqueNumericRange *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_OpaqueNumericRange_deleteMembers(UA_OpaqueNumericRange *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); -} - -static UA_INLINE void -UA_OpaqueNumericRange_clear(UA_OpaqueNumericRange *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); -} - -static UA_INLINE void -UA_OpaqueNumericRange_delete(UA_OpaqueNumericRange *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]); -}static UA_INLINE UA_Boolean -UA_OpaqueNumericRange_equal(const UA_OpaqueNumericRange *p1, const UA_OpaqueNumericRange *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_OPAQUENUMERICRANGE]) == UA_ORDER_EQ); -} - - - -/* EndpointConfiguration */ -static UA_INLINE void -UA_EndpointConfiguration_init(UA_EndpointConfiguration *p) { - memset(p, 0, sizeof(UA_EndpointConfiguration)); -} - -static UA_INLINE UA_EndpointConfiguration * -UA_EndpointConfiguration_new(void) { - return (UA_EndpointConfiguration*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); -} - -static UA_INLINE UA_StatusCode -UA_EndpointConfiguration_copy(const UA_EndpointConfiguration *src, UA_EndpointConfiguration *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EndpointConfiguration_deleteMembers(UA_EndpointConfiguration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); -} - -static UA_INLINE void -UA_EndpointConfiguration_clear(UA_EndpointConfiguration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); -} - -static UA_INLINE void -UA_EndpointConfiguration_delete(UA_EndpointConfiguration *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]); -}static UA_INLINE UA_Boolean -UA_EndpointConfiguration_equal(const UA_EndpointConfiguration *p1, const UA_EndpointConfiguration *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTCONFIGURATION]) == UA_ORDER_EQ); -} - - - -/* QueryDataDescription */ -static UA_INLINE void -UA_QueryDataDescription_init(UA_QueryDataDescription *p) { - memset(p, 0, sizeof(UA_QueryDataDescription)); -} - -static UA_INLINE UA_QueryDataDescription * -UA_QueryDataDescription_new(void) { - return (UA_QueryDataDescription*)UA_new(&UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_QueryDataDescription_copy(const UA_QueryDataDescription *src, UA_QueryDataDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QueryDataDescription_deleteMembers(UA_QueryDataDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); -} - -static UA_INLINE void -UA_QueryDataDescription_clear(UA_QueryDataDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); -} - -static UA_INLINE void -UA_QueryDataDescription_delete(UA_QueryDataDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_QueryDataDescription_equal(const UA_QueryDataDescription *p1, const UA_QueryDataDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* NodeTypeDescription */ -static UA_INLINE void -UA_NodeTypeDescription_init(UA_NodeTypeDescription *p) { - memset(p, 0, sizeof(UA_NodeTypeDescription)); -} - -static UA_INLINE UA_NodeTypeDescription * -UA_NodeTypeDescription_new(void) { - return (UA_NodeTypeDescription*)UA_new(&UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_NodeTypeDescription_copy(const UA_NodeTypeDescription *src, UA_NodeTypeDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NodeTypeDescription_deleteMembers(UA_NodeTypeDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); -} - -static UA_INLINE void -UA_NodeTypeDescription_clear(UA_NodeTypeDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); -} - -static UA_INLINE void -UA_NodeTypeDescription_delete(UA_NodeTypeDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_NodeTypeDescription_equal(const UA_NodeTypeDescription *p1, const UA_NodeTypeDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* FilterOperator */ -static UA_INLINE void -UA_FilterOperator_init(UA_FilterOperator *p) { - memset(p, 0, sizeof(UA_FilterOperator)); -} - -static UA_INLINE UA_FilterOperator * -UA_FilterOperator_new(void) { - return (UA_FilterOperator*)UA_new(&UA_TYPES[UA_TYPES_FILTEROPERATOR]); -} - -static UA_INLINE UA_StatusCode -UA_FilterOperator_copy(const UA_FilterOperator *src, UA_FilterOperator *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FilterOperator_deleteMembers(UA_FilterOperator *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); -} - -static UA_INLINE void -UA_FilterOperator_clear(UA_FilterOperator *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); -} - -static UA_INLINE void -UA_FilterOperator_delete(UA_FilterOperator *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FILTEROPERATOR]); -}static UA_INLINE UA_Boolean -UA_FilterOperator_equal(const UA_FilterOperator *p1, const UA_FilterOperator *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FILTEROPERATOR]) == UA_ORDER_EQ); -} - - - -/* QueryDataSet */ -static UA_INLINE void -UA_QueryDataSet_init(UA_QueryDataSet *p) { - memset(p, 0, sizeof(UA_QueryDataSet)); -} - -static UA_INLINE UA_QueryDataSet * -UA_QueryDataSet_new(void) { - return (UA_QueryDataSet*)UA_new(&UA_TYPES[UA_TYPES_QUERYDATASET]); -} - -static UA_INLINE UA_StatusCode -UA_QueryDataSet_copy(const UA_QueryDataSet *src, UA_QueryDataSet *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYDATASET]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QueryDataSet_deleteMembers(UA_QueryDataSet *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATASET]); -} - -static UA_INLINE void -UA_QueryDataSet_clear(UA_QueryDataSet *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYDATASET]); -} - -static UA_INLINE void -UA_QueryDataSet_delete(UA_QueryDataSet *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUERYDATASET]); -}static UA_INLINE UA_Boolean -UA_QueryDataSet_equal(const UA_QueryDataSet *p1, const UA_QueryDataSet *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYDATASET]) == UA_ORDER_EQ); -} - - - -/* NodeReference */ -static UA_INLINE void -UA_NodeReference_init(UA_NodeReference *p) { - memset(p, 0, sizeof(UA_NodeReference)); -} - -static UA_INLINE UA_NodeReference * -UA_NodeReference_new(void) { - return (UA_NodeReference*)UA_new(&UA_TYPES[UA_TYPES_NODEREFERENCE]); -} - -static UA_INLINE UA_StatusCode -UA_NodeReference_copy(const UA_NodeReference *src, UA_NodeReference *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NODEREFERENCE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NodeReference_deleteMembers(UA_NodeReference *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEREFERENCE]); -} - -static UA_INLINE void -UA_NodeReference_clear(UA_NodeReference *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NODEREFERENCE]); -} - -static UA_INLINE void -UA_NodeReference_delete(UA_NodeReference *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NODEREFERENCE]); -}static UA_INLINE UA_Boolean -UA_NodeReference_equal(const UA_NodeReference *p1, const UA_NodeReference *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NODEREFERENCE]) == UA_ORDER_EQ); -} - - - -/* ContentFilterElement */ -static UA_INLINE void -UA_ContentFilterElement_init(UA_ContentFilterElement *p) { - memset(p, 0, sizeof(UA_ContentFilterElement)); -} - -static UA_INLINE UA_ContentFilterElement * -UA_ContentFilterElement_new(void) { - return (UA_ContentFilterElement*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); -} - -static UA_INLINE UA_StatusCode -UA_ContentFilterElement_copy(const UA_ContentFilterElement *src, UA_ContentFilterElement *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ContentFilterElement_deleteMembers(UA_ContentFilterElement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); -} - -static UA_INLINE void -UA_ContentFilterElement_clear(UA_ContentFilterElement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); -} - -static UA_INLINE void -UA_ContentFilterElement_delete(UA_ContentFilterElement *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]); -}static UA_INLINE UA_Boolean -UA_ContentFilterElement_equal(const UA_ContentFilterElement *p1, const UA_ContentFilterElement *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT]) == UA_ORDER_EQ); -} - - - -/* ContentFilter */ -static UA_INLINE void -UA_ContentFilter_init(UA_ContentFilter *p) { - memset(p, 0, sizeof(UA_ContentFilter)); -} - -static UA_INLINE UA_ContentFilter * -UA_ContentFilter_new(void) { - return (UA_ContentFilter*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTER]); -} - -static UA_INLINE UA_StatusCode -UA_ContentFilter_copy(const UA_ContentFilter *src, UA_ContentFilter *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ContentFilter_deleteMembers(UA_ContentFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTER]); -} - -static UA_INLINE void -UA_ContentFilter_clear(UA_ContentFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTER]); -} - -static UA_INLINE void -UA_ContentFilter_delete(UA_ContentFilter *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTER]); -}static UA_INLINE UA_Boolean -UA_ContentFilter_equal(const UA_ContentFilter *p1, const UA_ContentFilter *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTER]) == UA_ORDER_EQ); -} - - - -/* ElementOperand */ -static UA_INLINE void -UA_ElementOperand_init(UA_ElementOperand *p) { - memset(p, 0, sizeof(UA_ElementOperand)); -} - -static UA_INLINE UA_ElementOperand * -UA_ElementOperand_new(void) { - return (UA_ElementOperand*)UA_new(&UA_TYPES[UA_TYPES_ELEMENTOPERAND]); -} - -static UA_INLINE UA_StatusCode -UA_ElementOperand_copy(const UA_ElementOperand *src, UA_ElementOperand *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ElementOperand_deleteMembers(UA_ElementOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); -} - -static UA_INLINE void -UA_ElementOperand_clear(UA_ElementOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); -} - -static UA_INLINE void -UA_ElementOperand_delete(UA_ElementOperand *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]); -}static UA_INLINE UA_Boolean -UA_ElementOperand_equal(const UA_ElementOperand *p1, const UA_ElementOperand *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ELEMENTOPERAND]) == UA_ORDER_EQ); -} - - - -/* LiteralOperand */ -static UA_INLINE void -UA_LiteralOperand_init(UA_LiteralOperand *p) { - memset(p, 0, sizeof(UA_LiteralOperand)); -} - -static UA_INLINE UA_LiteralOperand * -UA_LiteralOperand_new(void) { - return (UA_LiteralOperand*)UA_new(&UA_TYPES[UA_TYPES_LITERALOPERAND]); -} - -static UA_INLINE UA_StatusCode -UA_LiteralOperand_copy(const UA_LiteralOperand *src, UA_LiteralOperand *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_LITERALOPERAND]); -} - -UA_DEPRECATED static UA_INLINE void -UA_LiteralOperand_deleteMembers(UA_LiteralOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_LITERALOPERAND]); -} - -static UA_INLINE void -UA_LiteralOperand_clear(UA_LiteralOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_LITERALOPERAND]); -} - -static UA_INLINE void -UA_LiteralOperand_delete(UA_LiteralOperand *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_LITERALOPERAND]); -}static UA_INLINE UA_Boolean -UA_LiteralOperand_equal(const UA_LiteralOperand *p1, const UA_LiteralOperand *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_LITERALOPERAND]) == UA_ORDER_EQ); -} - - - -/* AttributeOperand */ -static UA_INLINE void -UA_AttributeOperand_init(UA_AttributeOperand *p) { - memset(p, 0, sizeof(UA_AttributeOperand)); -} - -static UA_INLINE UA_AttributeOperand * -UA_AttributeOperand_new(void) { - return (UA_AttributeOperand*)UA_new(&UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); -} - -static UA_INLINE UA_StatusCode -UA_AttributeOperand_copy(const UA_AttributeOperand *src, UA_AttributeOperand *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AttributeOperand_deleteMembers(UA_AttributeOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); -} - -static UA_INLINE void -UA_AttributeOperand_clear(UA_AttributeOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); -} - -static UA_INLINE void -UA_AttributeOperand_delete(UA_AttributeOperand *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]); -}static UA_INLINE UA_Boolean -UA_AttributeOperand_equal(const UA_AttributeOperand *p1, const UA_AttributeOperand *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]) == UA_ORDER_EQ); -} - - - -/* SimpleAttributeOperand */ -static UA_INLINE void -UA_SimpleAttributeOperand_init(UA_SimpleAttributeOperand *p) { - memset(p, 0, sizeof(UA_SimpleAttributeOperand)); -} - -static UA_INLINE UA_SimpleAttributeOperand * -UA_SimpleAttributeOperand_new(void) { - return (UA_SimpleAttributeOperand*)UA_new(&UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); -} - -static UA_INLINE UA_StatusCode -UA_SimpleAttributeOperand_copy(const UA_SimpleAttributeOperand *src, UA_SimpleAttributeOperand *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SimpleAttributeOperand_deleteMembers(UA_SimpleAttributeOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); -} - -static UA_INLINE void -UA_SimpleAttributeOperand_clear(UA_SimpleAttributeOperand *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); -} - -static UA_INLINE void -UA_SimpleAttributeOperand_delete(UA_SimpleAttributeOperand *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]); -}static UA_INLINE UA_Boolean -UA_SimpleAttributeOperand_equal(const UA_SimpleAttributeOperand *p1, const UA_SimpleAttributeOperand *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]) == UA_ORDER_EQ); -} - - - -/* ContentFilterElementResult */ -static UA_INLINE void -UA_ContentFilterElementResult_init(UA_ContentFilterElementResult *p) { - memset(p, 0, sizeof(UA_ContentFilterElementResult)); -} - -static UA_INLINE UA_ContentFilterElementResult * -UA_ContentFilterElementResult_new(void) { - return (UA_ContentFilterElementResult*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_ContentFilterElementResult_copy(const UA_ContentFilterElementResult *src, UA_ContentFilterElementResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ContentFilterElementResult_deleteMembers(UA_ContentFilterElementResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); -} - -static UA_INLINE void -UA_ContentFilterElementResult_clear(UA_ContentFilterElementResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); -} - -static UA_INLINE void -UA_ContentFilterElementResult_delete(UA_ContentFilterElementResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); -}static UA_INLINE UA_Boolean -UA_ContentFilterElementResult_equal(const UA_ContentFilterElementResult *p1, const UA_ContentFilterElementResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]) == UA_ORDER_EQ); -} - - - -/* ContentFilterResult */ -static UA_INLINE void -UA_ContentFilterResult_init(UA_ContentFilterResult *p) { - memset(p, 0, sizeof(UA_ContentFilterResult)); -} - -static UA_INLINE UA_ContentFilterResult * -UA_ContentFilterResult_new(void) { - return (UA_ContentFilterResult*)UA_new(&UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_ContentFilterResult_copy(const UA_ContentFilterResult *src, UA_ContentFilterResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ContentFilterResult_deleteMembers(UA_ContentFilterResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); -} - -static UA_INLINE void -UA_ContentFilterResult_clear(UA_ContentFilterResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); -} - -static UA_INLINE void -UA_ContentFilterResult_delete(UA_ContentFilterResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]); -}static UA_INLINE UA_Boolean -UA_ContentFilterResult_equal(const UA_ContentFilterResult *p1, const UA_ContentFilterResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT]) == UA_ORDER_EQ); -} - - - -/* ParsingResult */ -static UA_INLINE void -UA_ParsingResult_init(UA_ParsingResult *p) { - memset(p, 0, sizeof(UA_ParsingResult)); -} - -static UA_INLINE UA_ParsingResult * -UA_ParsingResult_new(void) { - return (UA_ParsingResult*)UA_new(&UA_TYPES[UA_TYPES_PARSINGRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_ParsingResult_copy(const UA_ParsingResult *src, UA_ParsingResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PARSINGRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ParsingResult_deleteMembers(UA_ParsingResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PARSINGRESULT]); -} - -static UA_INLINE void -UA_ParsingResult_clear(UA_ParsingResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PARSINGRESULT]); -} - -static UA_INLINE void -UA_ParsingResult_delete(UA_ParsingResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PARSINGRESULT]); -}static UA_INLINE UA_Boolean -UA_ParsingResult_equal(const UA_ParsingResult *p1, const UA_ParsingResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PARSINGRESULT]) == UA_ORDER_EQ); -} - - - -/* QueryFirstRequest */ -static UA_INLINE void -UA_QueryFirstRequest_init(UA_QueryFirstRequest *p) { - memset(p, 0, sizeof(UA_QueryFirstRequest)); -} - -static UA_INLINE UA_QueryFirstRequest * -UA_QueryFirstRequest_new(void) { - return (UA_QueryFirstRequest*)UA_new(&UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_QueryFirstRequest_copy(const UA_QueryFirstRequest *src, UA_QueryFirstRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QueryFirstRequest_deleteMembers(UA_QueryFirstRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); -} - -static UA_INLINE void -UA_QueryFirstRequest_clear(UA_QueryFirstRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); -} - -static UA_INLINE void -UA_QueryFirstRequest_delete(UA_QueryFirstRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]); -}static UA_INLINE UA_Boolean -UA_QueryFirstRequest_equal(const UA_QueryFirstRequest *p1, const UA_QueryFirstRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST]) == UA_ORDER_EQ); -} - - - -/* QueryFirstResponse */ -static UA_INLINE void -UA_QueryFirstResponse_init(UA_QueryFirstResponse *p) { - memset(p, 0, sizeof(UA_QueryFirstResponse)); -} - -static UA_INLINE UA_QueryFirstResponse * -UA_QueryFirstResponse_new(void) { - return (UA_QueryFirstResponse*)UA_new(&UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_QueryFirstResponse_copy(const UA_QueryFirstResponse *src, UA_QueryFirstResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QueryFirstResponse_deleteMembers(UA_QueryFirstResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); -} - -static UA_INLINE void -UA_QueryFirstResponse_clear(UA_QueryFirstResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); -} - -static UA_INLINE void -UA_QueryFirstResponse_delete(UA_QueryFirstResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); -}static UA_INLINE UA_Boolean -UA_QueryFirstResponse_equal(const UA_QueryFirstResponse *p1, const UA_QueryFirstResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]) == UA_ORDER_EQ); -} - - - -/* QueryNextRequest */ -static UA_INLINE void -UA_QueryNextRequest_init(UA_QueryNextRequest *p) { - memset(p, 0, sizeof(UA_QueryNextRequest)); -} - -static UA_INLINE UA_QueryNextRequest * -UA_QueryNextRequest_new(void) { - return (UA_QueryNextRequest*)UA_new(&UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_QueryNextRequest_copy(const UA_QueryNextRequest *src, UA_QueryNextRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QueryNextRequest_deleteMembers(UA_QueryNextRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); -} - -static UA_INLINE void -UA_QueryNextRequest_clear(UA_QueryNextRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); -} - -static UA_INLINE void -UA_QueryNextRequest_delete(UA_QueryNextRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]); -}static UA_INLINE UA_Boolean -UA_QueryNextRequest_equal(const UA_QueryNextRequest *p1, const UA_QueryNextRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYNEXTREQUEST]) == UA_ORDER_EQ); -} - - - -/* QueryNextResponse */ -static UA_INLINE void -UA_QueryNextResponse_init(UA_QueryNextResponse *p) { - memset(p, 0, sizeof(UA_QueryNextResponse)); -} - -static UA_INLINE UA_QueryNextResponse * -UA_QueryNextResponse_new(void) { - return (UA_QueryNextResponse*)UA_new(&UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_QueryNextResponse_copy(const UA_QueryNextResponse *src, UA_QueryNextResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_QueryNextResponse_deleteMembers(UA_QueryNextResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); -} - -static UA_INLINE void -UA_QueryNextResponse_clear(UA_QueryNextResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); -} - -static UA_INLINE void -UA_QueryNextResponse_delete(UA_QueryNextResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]); -}static UA_INLINE UA_Boolean -UA_QueryNextResponse_equal(const UA_QueryNextResponse *p1, const UA_QueryNextResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_QUERYNEXTRESPONSE]) == UA_ORDER_EQ); -} - - - -/* TimestampsToReturn */ -static UA_INLINE void -UA_TimestampsToReturn_init(UA_TimestampsToReturn *p) { - memset(p, 0, sizeof(UA_TimestampsToReturn)); -} - -static UA_INLINE UA_TimestampsToReturn * -UA_TimestampsToReturn_new(void) { - return (UA_TimestampsToReturn*)UA_new(&UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); -} - -static UA_INLINE UA_StatusCode -UA_TimestampsToReturn_copy(const UA_TimestampsToReturn *src, UA_TimestampsToReturn *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TimestampsToReturn_deleteMembers(UA_TimestampsToReturn *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); -} - -static UA_INLINE void -UA_TimestampsToReturn_clear(UA_TimestampsToReturn *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); -} - -static UA_INLINE void -UA_TimestampsToReturn_delete(UA_TimestampsToReturn *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]); -}static UA_INLINE UA_Boolean -UA_TimestampsToReturn_equal(const UA_TimestampsToReturn *p1, const UA_TimestampsToReturn *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN]) == UA_ORDER_EQ); -} - - - -/* ReadValueId */ -static UA_INLINE void -UA_ReadValueId_init(UA_ReadValueId *p) { - memset(p, 0, sizeof(UA_ReadValueId)); -} - -static UA_INLINE UA_ReadValueId * -UA_ReadValueId_new(void) { - return (UA_ReadValueId*)UA_new(&UA_TYPES[UA_TYPES_READVALUEID]); -} - -static UA_INLINE UA_StatusCode -UA_ReadValueId_copy(const UA_ReadValueId *src, UA_ReadValueId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READVALUEID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadValueId_deleteMembers(UA_ReadValueId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READVALUEID]); -} - -static UA_INLINE void -UA_ReadValueId_clear(UA_ReadValueId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READVALUEID]); -} - -static UA_INLINE void -UA_ReadValueId_delete(UA_ReadValueId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READVALUEID]); -}static UA_INLINE UA_Boolean -UA_ReadValueId_equal(const UA_ReadValueId *p1, const UA_ReadValueId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READVALUEID]) == UA_ORDER_EQ); -} - - - -/* ReadRequest */ -static UA_INLINE void -UA_ReadRequest_init(UA_ReadRequest *p) { - memset(p, 0, sizeof(UA_ReadRequest)); -} - -static UA_INLINE UA_ReadRequest * -UA_ReadRequest_new(void) { - return (UA_ReadRequest*)UA_new(&UA_TYPES[UA_TYPES_READREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_ReadRequest_copy(const UA_ReadRequest *src, UA_ReadRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadRequest_deleteMembers(UA_ReadRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READREQUEST]); -} - -static UA_INLINE void -UA_ReadRequest_clear(UA_ReadRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READREQUEST]); -} - -static UA_INLINE void -UA_ReadRequest_delete(UA_ReadRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READREQUEST]); -}static UA_INLINE UA_Boolean -UA_ReadRequest_equal(const UA_ReadRequest *p1, const UA_ReadRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READREQUEST]) == UA_ORDER_EQ); -} - - - -/* ReadResponse */ -static UA_INLINE void -UA_ReadResponse_init(UA_ReadResponse *p) { - memset(p, 0, sizeof(UA_ReadResponse)); -} - -static UA_INLINE UA_ReadResponse * -UA_ReadResponse_new(void) { - return (UA_ReadResponse*)UA_new(&UA_TYPES[UA_TYPES_READRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_ReadResponse_copy(const UA_ReadResponse *src, UA_ReadResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadResponse_deleteMembers(UA_ReadResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READRESPONSE]); -} - -static UA_INLINE void -UA_ReadResponse_clear(UA_ReadResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READRESPONSE]); -} - -static UA_INLINE void -UA_ReadResponse_delete(UA_ReadResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READRESPONSE]); -}static UA_INLINE UA_Boolean -UA_ReadResponse_equal(const UA_ReadResponse *p1, const UA_ReadResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READRESPONSE]) == UA_ORDER_EQ); -} - - - -/* HistoryReadValueId */ -static UA_INLINE void -UA_HistoryReadValueId_init(UA_HistoryReadValueId *p) { - memset(p, 0, sizeof(UA_HistoryReadValueId)); -} - -static UA_INLINE UA_HistoryReadValueId * -UA_HistoryReadValueId_new(void) { - return (UA_HistoryReadValueId*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryReadValueId_copy(const UA_HistoryReadValueId *src, UA_HistoryReadValueId *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryReadValueId_deleteMembers(UA_HistoryReadValueId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); -} - -static UA_INLINE void -UA_HistoryReadValueId_clear(UA_HistoryReadValueId *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); -} - -static UA_INLINE void -UA_HistoryReadValueId_delete(UA_HistoryReadValueId *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]); -}static UA_INLINE UA_Boolean -UA_HistoryReadValueId_equal(const UA_HistoryReadValueId *p1, const UA_HistoryReadValueId *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADVALUEID]) == UA_ORDER_EQ); -} - - - -/* HistoryReadResult */ -static UA_INLINE void -UA_HistoryReadResult_init(UA_HistoryReadResult *p) { - memset(p, 0, sizeof(UA_HistoryReadResult)); -} - -static UA_INLINE UA_HistoryReadResult * -UA_HistoryReadResult_new(void) { - return (UA_HistoryReadResult*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryReadResult_copy(const UA_HistoryReadResult *src, UA_HistoryReadResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryReadResult_deleteMembers(UA_HistoryReadResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); -} - -static UA_INLINE void -UA_HistoryReadResult_clear(UA_HistoryReadResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); -} - -static UA_INLINE void -UA_HistoryReadResult_delete(UA_HistoryReadResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); -}static UA_INLINE UA_Boolean -UA_HistoryReadResult_equal(const UA_HistoryReadResult *p1, const UA_HistoryReadResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]) == UA_ORDER_EQ); -} - - - -/* ReadRawModifiedDetails */ -static UA_INLINE void -UA_ReadRawModifiedDetails_init(UA_ReadRawModifiedDetails *p) { - memset(p, 0, sizeof(UA_ReadRawModifiedDetails)); -} - -static UA_INLINE UA_ReadRawModifiedDetails * -UA_ReadRawModifiedDetails_new(void) { - return (UA_ReadRawModifiedDetails*)UA_new(&UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_ReadRawModifiedDetails_copy(const UA_ReadRawModifiedDetails *src, UA_ReadRawModifiedDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadRawModifiedDetails_deleteMembers(UA_ReadRawModifiedDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); -} - -static UA_INLINE void -UA_ReadRawModifiedDetails_clear(UA_ReadRawModifiedDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); -} - -static UA_INLINE void -UA_ReadRawModifiedDetails_delete(UA_ReadRawModifiedDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]); -}static UA_INLINE UA_Boolean -UA_ReadRawModifiedDetails_equal(const UA_ReadRawModifiedDetails *p1, const UA_ReadRawModifiedDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]) == UA_ORDER_EQ); -} - - - -/* ReadAtTimeDetails */ -static UA_INLINE void -UA_ReadAtTimeDetails_init(UA_ReadAtTimeDetails *p) { - memset(p, 0, sizeof(UA_ReadAtTimeDetails)); -} - -static UA_INLINE UA_ReadAtTimeDetails * -UA_ReadAtTimeDetails_new(void) { - return (UA_ReadAtTimeDetails*)UA_new(&UA_TYPES[UA_TYPES_READATTIMEDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_ReadAtTimeDetails_copy(const UA_ReadAtTimeDetails *src, UA_ReadAtTimeDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadAtTimeDetails_deleteMembers(UA_ReadAtTimeDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); -} - -static UA_INLINE void -UA_ReadAtTimeDetails_clear(UA_ReadAtTimeDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); -} - -static UA_INLINE void -UA_ReadAtTimeDetails_delete(UA_ReadAtTimeDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]); -}static UA_INLINE UA_Boolean -UA_ReadAtTimeDetails_equal(const UA_ReadAtTimeDetails *p1, const UA_ReadAtTimeDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READATTIMEDETAILS]) == UA_ORDER_EQ); -} - - - -/* ReadAnnotationDataDetails */ -static UA_INLINE void -UA_ReadAnnotationDataDetails_init(UA_ReadAnnotationDataDetails *p) { - memset(p, 0, sizeof(UA_ReadAnnotationDataDetails)); -} - -static UA_INLINE UA_ReadAnnotationDataDetails * -UA_ReadAnnotationDataDetails_new(void) { - return (UA_ReadAnnotationDataDetails*)UA_new(&UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_ReadAnnotationDataDetails_copy(const UA_ReadAnnotationDataDetails *src, UA_ReadAnnotationDataDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadAnnotationDataDetails_deleteMembers(UA_ReadAnnotationDataDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); -} - -static UA_INLINE void -UA_ReadAnnotationDataDetails_clear(UA_ReadAnnotationDataDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); -} - -static UA_INLINE void -UA_ReadAnnotationDataDetails_delete(UA_ReadAnnotationDataDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]); -}static UA_INLINE UA_Boolean -UA_ReadAnnotationDataDetails_equal(const UA_ReadAnnotationDataDetails *p1, const UA_ReadAnnotationDataDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READANNOTATIONDATADETAILS]) == UA_ORDER_EQ); -} - - - -/* HistoryData */ -static UA_INLINE void -UA_HistoryData_init(UA_HistoryData *p) { - memset(p, 0, sizeof(UA_HistoryData)); -} - -static UA_INLINE UA_HistoryData * -UA_HistoryData_new(void) { - return (UA_HistoryData*)UA_new(&UA_TYPES[UA_TYPES_HISTORYDATA]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryData_copy(const UA_HistoryData *src, UA_HistoryData *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYDATA]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryData_deleteMembers(UA_HistoryData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYDATA]); -} - -static UA_INLINE void -UA_HistoryData_clear(UA_HistoryData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYDATA]); -} - -static UA_INLINE void -UA_HistoryData_delete(UA_HistoryData *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYDATA]); -}static UA_INLINE UA_Boolean -UA_HistoryData_equal(const UA_HistoryData *p1, const UA_HistoryData *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYDATA]) == UA_ORDER_EQ); -} - - - -/* HistoryReadRequest */ -static UA_INLINE void -UA_HistoryReadRequest_init(UA_HistoryReadRequest *p) { - memset(p, 0, sizeof(UA_HistoryReadRequest)); -} - -static UA_INLINE UA_HistoryReadRequest * -UA_HistoryReadRequest_new(void) { - return (UA_HistoryReadRequest*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryReadRequest_copy(const UA_HistoryReadRequest *src, UA_HistoryReadRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryReadRequest_deleteMembers(UA_HistoryReadRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); -} - -static UA_INLINE void -UA_HistoryReadRequest_clear(UA_HistoryReadRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); -} - -static UA_INLINE void -UA_HistoryReadRequest_delete(UA_HistoryReadRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]); -}static UA_INLINE UA_Boolean -UA_HistoryReadRequest_equal(const UA_HistoryReadRequest *p1, const UA_HistoryReadRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]) == UA_ORDER_EQ); -} - - - -/* HistoryReadResponse */ -static UA_INLINE void -UA_HistoryReadResponse_init(UA_HistoryReadResponse *p) { - memset(p, 0, sizeof(UA_HistoryReadResponse)); -} - -static UA_INLINE UA_HistoryReadResponse * -UA_HistoryReadResponse_new(void) { - return (UA_HistoryReadResponse*)UA_new(&UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryReadResponse_copy(const UA_HistoryReadResponse *src, UA_HistoryReadResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryReadResponse_deleteMembers(UA_HistoryReadResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); -} - -static UA_INLINE void -UA_HistoryReadResponse_clear(UA_HistoryReadResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); -} - -static UA_INLINE void -UA_HistoryReadResponse_delete(UA_HistoryReadResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); -}static UA_INLINE UA_Boolean -UA_HistoryReadResponse_equal(const UA_HistoryReadResponse *p1, const UA_HistoryReadResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]) == UA_ORDER_EQ); -} - - - -/* WriteValue */ -static UA_INLINE void -UA_WriteValue_init(UA_WriteValue *p) { - memset(p, 0, sizeof(UA_WriteValue)); -} - -static UA_INLINE UA_WriteValue * -UA_WriteValue_new(void) { - return (UA_WriteValue*)UA_new(&UA_TYPES[UA_TYPES_WRITEVALUE]); -} - -static UA_INLINE UA_StatusCode -UA_WriteValue_copy(const UA_WriteValue *src, UA_WriteValue *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITEVALUE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_WriteValue_deleteMembers(UA_WriteValue *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITEVALUE]); -} - -static UA_INLINE void -UA_WriteValue_clear(UA_WriteValue *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITEVALUE]); -} - -static UA_INLINE void -UA_WriteValue_delete(UA_WriteValue *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_WRITEVALUE]); -}static UA_INLINE UA_Boolean -UA_WriteValue_equal(const UA_WriteValue *p1, const UA_WriteValue *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITEVALUE]) == UA_ORDER_EQ); -} - - - -/* WriteRequest */ -static UA_INLINE void -UA_WriteRequest_init(UA_WriteRequest *p) { - memset(p, 0, sizeof(UA_WriteRequest)); -} - -static UA_INLINE UA_WriteRequest * -UA_WriteRequest_new(void) { - return (UA_WriteRequest*)UA_new(&UA_TYPES[UA_TYPES_WRITEREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_WriteRequest_copy(const UA_WriteRequest *src, UA_WriteRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITEREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_WriteRequest_deleteMembers(UA_WriteRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITEREQUEST]); -} - -static UA_INLINE void -UA_WriteRequest_clear(UA_WriteRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITEREQUEST]); -} - -static UA_INLINE void -UA_WriteRequest_delete(UA_WriteRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_WRITEREQUEST]); -}static UA_INLINE UA_Boolean -UA_WriteRequest_equal(const UA_WriteRequest *p1, const UA_WriteRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITEREQUEST]) == UA_ORDER_EQ); -} - - - -/* WriteResponse */ -static UA_INLINE void -UA_WriteResponse_init(UA_WriteResponse *p) { - memset(p, 0, sizeof(UA_WriteResponse)); -} - -static UA_INLINE UA_WriteResponse * -UA_WriteResponse_new(void) { - return (UA_WriteResponse*)UA_new(&UA_TYPES[UA_TYPES_WRITERESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_WriteResponse_copy(const UA_WriteResponse *src, UA_WriteResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITERESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_WriteResponse_deleteMembers(UA_WriteResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITERESPONSE]); -} - -static UA_INLINE void -UA_WriteResponse_clear(UA_WriteResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITERESPONSE]); -} - -static UA_INLINE void -UA_WriteResponse_delete(UA_WriteResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_WRITERESPONSE]); -}static UA_INLINE UA_Boolean -UA_WriteResponse_equal(const UA_WriteResponse *p1, const UA_WriteResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITERESPONSE]) == UA_ORDER_EQ); -} - - - -/* HistoryUpdateDetails */ -static UA_INLINE void -UA_HistoryUpdateDetails_init(UA_HistoryUpdateDetails *p) { - memset(p, 0, sizeof(UA_HistoryUpdateDetails)); -} - -static UA_INLINE UA_HistoryUpdateDetails * -UA_HistoryUpdateDetails_new(void) { - return (UA_HistoryUpdateDetails*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryUpdateDetails_copy(const UA_HistoryUpdateDetails *src, UA_HistoryUpdateDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryUpdateDetails_deleteMembers(UA_HistoryUpdateDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); -} - -static UA_INLINE void -UA_HistoryUpdateDetails_clear(UA_HistoryUpdateDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); -} - -static UA_INLINE void -UA_HistoryUpdateDetails_delete(UA_HistoryUpdateDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]); -}static UA_INLINE UA_Boolean -UA_HistoryUpdateDetails_equal(const UA_HistoryUpdateDetails *p1, const UA_HistoryUpdateDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATEDETAILS]) == UA_ORDER_EQ); -} - - - -/* HistoryUpdateType */ -static UA_INLINE void -UA_HistoryUpdateType_init(UA_HistoryUpdateType *p) { - memset(p, 0, sizeof(UA_HistoryUpdateType)); -} - -static UA_INLINE UA_HistoryUpdateType * -UA_HistoryUpdateType_new(void) { - return (UA_HistoryUpdateType*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryUpdateType_copy(const UA_HistoryUpdateType *src, UA_HistoryUpdateType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryUpdateType_deleteMembers(UA_HistoryUpdateType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); -} - -static UA_INLINE void -UA_HistoryUpdateType_clear(UA_HistoryUpdateType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); -} - -static UA_INLINE void -UA_HistoryUpdateType_delete(UA_HistoryUpdateType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]); -}static UA_INLINE UA_Boolean -UA_HistoryUpdateType_equal(const UA_HistoryUpdateType *p1, const UA_HistoryUpdateType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE]) == UA_ORDER_EQ); -} - - - -/* PerformUpdateType */ -static UA_INLINE void -UA_PerformUpdateType_init(UA_PerformUpdateType *p) { - memset(p, 0, sizeof(UA_PerformUpdateType)); -} - -static UA_INLINE UA_PerformUpdateType * -UA_PerformUpdateType_new(void) { - return (UA_PerformUpdateType*)UA_new(&UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PerformUpdateType_copy(const UA_PerformUpdateType *src, UA_PerformUpdateType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PerformUpdateType_deleteMembers(UA_PerformUpdateType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); -} - -static UA_INLINE void -UA_PerformUpdateType_clear(UA_PerformUpdateType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); -} - -static UA_INLINE void -UA_PerformUpdateType_delete(UA_PerformUpdateType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]); -}static UA_INLINE UA_Boolean -UA_PerformUpdateType_equal(const UA_PerformUpdateType *p1, const UA_PerformUpdateType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE]) == UA_ORDER_EQ); -} - - - -/* UpdateDataDetails */ -static UA_INLINE void -UA_UpdateDataDetails_init(UA_UpdateDataDetails *p) { - memset(p, 0, sizeof(UA_UpdateDataDetails)); -} - -static UA_INLINE UA_UpdateDataDetails * -UA_UpdateDataDetails_new(void) { - return (UA_UpdateDataDetails*)UA_new(&UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_UpdateDataDetails_copy(const UA_UpdateDataDetails *src, UA_UpdateDataDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UpdateDataDetails_deleteMembers(UA_UpdateDataDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); -} - -static UA_INLINE void -UA_UpdateDataDetails_clear(UA_UpdateDataDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); -} - -static UA_INLINE void -UA_UpdateDataDetails_delete(UA_UpdateDataDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]); -}static UA_INLINE UA_Boolean -UA_UpdateDataDetails_equal(const UA_UpdateDataDetails *p1, const UA_UpdateDataDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]) == UA_ORDER_EQ); -} - - - -/* UpdateStructureDataDetails */ -static UA_INLINE void -UA_UpdateStructureDataDetails_init(UA_UpdateStructureDataDetails *p) { - memset(p, 0, sizeof(UA_UpdateStructureDataDetails)); -} - -static UA_INLINE UA_UpdateStructureDataDetails * -UA_UpdateStructureDataDetails_new(void) { - return (UA_UpdateStructureDataDetails*)UA_new(&UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_UpdateStructureDataDetails_copy(const UA_UpdateStructureDataDetails *src, UA_UpdateStructureDataDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UpdateStructureDataDetails_deleteMembers(UA_UpdateStructureDataDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); -} - -static UA_INLINE void -UA_UpdateStructureDataDetails_clear(UA_UpdateStructureDataDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); -} - -static UA_INLINE void -UA_UpdateStructureDataDetails_delete(UA_UpdateStructureDataDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]); -}static UA_INLINE UA_Boolean -UA_UpdateStructureDataDetails_equal(const UA_UpdateStructureDataDetails *p1, const UA_UpdateStructureDataDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UPDATESTRUCTUREDATADETAILS]) == UA_ORDER_EQ); -} - - - -/* DeleteRawModifiedDetails */ -static UA_INLINE void -UA_DeleteRawModifiedDetails_init(UA_DeleteRawModifiedDetails *p) { - memset(p, 0, sizeof(UA_DeleteRawModifiedDetails)); -} - -static UA_INLINE UA_DeleteRawModifiedDetails * -UA_DeleteRawModifiedDetails_new(void) { - return (UA_DeleteRawModifiedDetails*)UA_new(&UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteRawModifiedDetails_copy(const UA_DeleteRawModifiedDetails *src, UA_DeleteRawModifiedDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteRawModifiedDetails_deleteMembers(UA_DeleteRawModifiedDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); -} - -static UA_INLINE void -UA_DeleteRawModifiedDetails_clear(UA_DeleteRawModifiedDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); -} - -static UA_INLINE void -UA_DeleteRawModifiedDetails_delete(UA_DeleteRawModifiedDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]); -}static UA_INLINE UA_Boolean -UA_DeleteRawModifiedDetails_equal(const UA_DeleteRawModifiedDetails *p1, const UA_DeleteRawModifiedDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]) == UA_ORDER_EQ); -} - - - -/* DeleteAtTimeDetails */ -static UA_INLINE void -UA_DeleteAtTimeDetails_init(UA_DeleteAtTimeDetails *p) { - memset(p, 0, sizeof(UA_DeleteAtTimeDetails)); -} - -static UA_INLINE UA_DeleteAtTimeDetails * -UA_DeleteAtTimeDetails_new(void) { - return (UA_DeleteAtTimeDetails*)UA_new(&UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteAtTimeDetails_copy(const UA_DeleteAtTimeDetails *src, UA_DeleteAtTimeDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteAtTimeDetails_deleteMembers(UA_DeleteAtTimeDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); -} - -static UA_INLINE void -UA_DeleteAtTimeDetails_clear(UA_DeleteAtTimeDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); -} - -static UA_INLINE void -UA_DeleteAtTimeDetails_delete(UA_DeleteAtTimeDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]); -}static UA_INLINE UA_Boolean -UA_DeleteAtTimeDetails_equal(const UA_DeleteAtTimeDetails *p1, const UA_DeleteAtTimeDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEATTIMEDETAILS]) == UA_ORDER_EQ); -} - - - -/* DeleteEventDetails */ -static UA_INLINE void -UA_DeleteEventDetails_init(UA_DeleteEventDetails *p) { - memset(p, 0, sizeof(UA_DeleteEventDetails)); -} - -static UA_INLINE UA_DeleteEventDetails * -UA_DeleteEventDetails_new(void) { - return (UA_DeleteEventDetails*)UA_new(&UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteEventDetails_copy(const UA_DeleteEventDetails *src, UA_DeleteEventDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteEventDetails_deleteMembers(UA_DeleteEventDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); -} - -static UA_INLINE void -UA_DeleteEventDetails_clear(UA_DeleteEventDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); -} - -static UA_INLINE void -UA_DeleteEventDetails_delete(UA_DeleteEventDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]); -}static UA_INLINE UA_Boolean -UA_DeleteEventDetails_equal(const UA_DeleteEventDetails *p1, const UA_DeleteEventDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEEVENTDETAILS]) == UA_ORDER_EQ); -} - - - -/* HistoryUpdateResult */ -static UA_INLINE void -UA_HistoryUpdateResult_init(UA_HistoryUpdateResult *p) { - memset(p, 0, sizeof(UA_HistoryUpdateResult)); -} - -static UA_INLINE UA_HistoryUpdateResult * -UA_HistoryUpdateResult_new(void) { - return (UA_HistoryUpdateResult*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryUpdateResult_copy(const UA_HistoryUpdateResult *src, UA_HistoryUpdateResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryUpdateResult_deleteMembers(UA_HistoryUpdateResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); -} - -static UA_INLINE void -UA_HistoryUpdateResult_clear(UA_HistoryUpdateResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); -} - -static UA_INLINE void -UA_HistoryUpdateResult_delete(UA_HistoryUpdateResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); -}static UA_INLINE UA_Boolean -UA_HistoryUpdateResult_equal(const UA_HistoryUpdateResult *p1, const UA_HistoryUpdateResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]) == UA_ORDER_EQ); -} - - - -/* HistoryUpdateRequest */ -static UA_INLINE void -UA_HistoryUpdateRequest_init(UA_HistoryUpdateRequest *p) { - memset(p, 0, sizeof(UA_HistoryUpdateRequest)); -} - -static UA_INLINE UA_HistoryUpdateRequest * -UA_HistoryUpdateRequest_new(void) { - return (UA_HistoryUpdateRequest*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryUpdateRequest_copy(const UA_HistoryUpdateRequest *src, UA_HistoryUpdateRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryUpdateRequest_deleteMembers(UA_HistoryUpdateRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); -} - -static UA_INLINE void -UA_HistoryUpdateRequest_clear(UA_HistoryUpdateRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); -} - -static UA_INLINE void -UA_HistoryUpdateRequest_delete(UA_HistoryUpdateRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]); -}static UA_INLINE UA_Boolean -UA_HistoryUpdateRequest_equal(const UA_HistoryUpdateRequest *p1, const UA_HistoryUpdateRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]) == UA_ORDER_EQ); -} - - - -/* HistoryUpdateResponse */ -static UA_INLINE void -UA_HistoryUpdateResponse_init(UA_HistoryUpdateResponse *p) { - memset(p, 0, sizeof(UA_HistoryUpdateResponse)); -} - -static UA_INLINE UA_HistoryUpdateResponse * -UA_HistoryUpdateResponse_new(void) { - return (UA_HistoryUpdateResponse*)UA_new(&UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryUpdateResponse_copy(const UA_HistoryUpdateResponse *src, UA_HistoryUpdateResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryUpdateResponse_deleteMembers(UA_HistoryUpdateResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); -} - -static UA_INLINE void -UA_HistoryUpdateResponse_clear(UA_HistoryUpdateResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); -} - -static UA_INLINE void -UA_HistoryUpdateResponse_delete(UA_HistoryUpdateResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); -}static UA_INLINE UA_Boolean -UA_HistoryUpdateResponse_equal(const UA_HistoryUpdateResponse *p1, const UA_HistoryUpdateResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]) == UA_ORDER_EQ); -} - - - -/* CallMethodRequest */ -static UA_INLINE void -UA_CallMethodRequest_init(UA_CallMethodRequest *p) { - memset(p, 0, sizeof(UA_CallMethodRequest)); -} - -static UA_INLINE UA_CallMethodRequest * -UA_CallMethodRequest_new(void) { - return (UA_CallMethodRequest*)UA_new(&UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CallMethodRequest_copy(const UA_CallMethodRequest *src, UA_CallMethodRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CallMethodRequest_deleteMembers(UA_CallMethodRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); -} - -static UA_INLINE void -UA_CallMethodRequest_clear(UA_CallMethodRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); -} - -static UA_INLINE void -UA_CallMethodRequest_delete(UA_CallMethodRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]); -}static UA_INLINE UA_Boolean -UA_CallMethodRequest_equal(const UA_CallMethodRequest *p1, const UA_CallMethodRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST]) == UA_ORDER_EQ); -} - - - -/* CallMethodResult */ -static UA_INLINE void -UA_CallMethodResult_init(UA_CallMethodResult *p) { - memset(p, 0, sizeof(UA_CallMethodResult)); -} - -static UA_INLINE UA_CallMethodResult * -UA_CallMethodResult_new(void) { - return (UA_CallMethodResult*)UA_new(&UA_TYPES[UA_TYPES_CALLMETHODRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_CallMethodResult_copy(const UA_CallMethodResult *src, UA_CallMethodResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CallMethodResult_deleteMembers(UA_CallMethodResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); -} - -static UA_INLINE void -UA_CallMethodResult_clear(UA_CallMethodResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); -} - -static UA_INLINE void -UA_CallMethodResult_delete(UA_CallMethodResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); -}static UA_INLINE UA_Boolean -UA_CallMethodResult_equal(const UA_CallMethodResult *p1, const UA_CallMethodResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]) == UA_ORDER_EQ); -} - - - -/* CallRequest */ -static UA_INLINE void -UA_CallRequest_init(UA_CallRequest *p) { - memset(p, 0, sizeof(UA_CallRequest)); -} - -static UA_INLINE UA_CallRequest * -UA_CallRequest_new(void) { - return (UA_CallRequest*)UA_new(&UA_TYPES[UA_TYPES_CALLREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CallRequest_copy(const UA_CallRequest *src, UA_CallRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CallRequest_deleteMembers(UA_CallRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLREQUEST]); -} - -static UA_INLINE void -UA_CallRequest_clear(UA_CallRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLREQUEST]); -} - -static UA_INLINE void -UA_CallRequest_delete(UA_CallRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CALLREQUEST]); -}static UA_INLINE UA_Boolean -UA_CallRequest_equal(const UA_CallRequest *p1, const UA_CallRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLREQUEST]) == UA_ORDER_EQ); -} - - - -/* CallResponse */ -static UA_INLINE void -UA_CallResponse_init(UA_CallResponse *p) { - memset(p, 0, sizeof(UA_CallResponse)); -} - -static UA_INLINE UA_CallResponse * -UA_CallResponse_new(void) { - return (UA_CallResponse*)UA_new(&UA_TYPES[UA_TYPES_CALLRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CallResponse_copy(const UA_CallResponse *src, UA_CallResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CALLRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CallResponse_deleteMembers(UA_CallResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLRESPONSE]); -} - -static UA_INLINE void -UA_CallResponse_clear(UA_CallResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CALLRESPONSE]); -} - -static UA_INLINE void -UA_CallResponse_delete(UA_CallResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CALLRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CallResponse_equal(const UA_CallResponse *p1, const UA_CallResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CALLRESPONSE]) == UA_ORDER_EQ); -} - - - -/* MonitoringMode */ -static UA_INLINE void -UA_MonitoringMode_init(UA_MonitoringMode *p) { - memset(p, 0, sizeof(UA_MonitoringMode)); -} - -static UA_INLINE UA_MonitoringMode * -UA_MonitoringMode_new(void) { - return (UA_MonitoringMode*)UA_new(&UA_TYPES[UA_TYPES_MONITORINGMODE]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoringMode_copy(const UA_MonitoringMode *src, UA_MonitoringMode *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITORINGMODE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoringMode_deleteMembers(UA_MonitoringMode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGMODE]); -} - -static UA_INLINE void -UA_MonitoringMode_clear(UA_MonitoringMode *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGMODE]); -} - -static UA_INLINE void -UA_MonitoringMode_delete(UA_MonitoringMode *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITORINGMODE]); -}static UA_INLINE UA_Boolean -UA_MonitoringMode_equal(const UA_MonitoringMode *p1, const UA_MonitoringMode *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITORINGMODE]) == UA_ORDER_EQ); -} - - - -/* DataChangeTrigger */ -static UA_INLINE void -UA_DataChangeTrigger_init(UA_DataChangeTrigger *p) { - memset(p, 0, sizeof(UA_DataChangeTrigger)); -} - -static UA_INLINE UA_DataChangeTrigger * -UA_DataChangeTrigger_new(void) { - return (UA_DataChangeTrigger*)UA_new(&UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); -} - -static UA_INLINE UA_StatusCode -UA_DataChangeTrigger_copy(const UA_DataChangeTrigger *src, UA_DataChangeTrigger *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataChangeTrigger_deleteMembers(UA_DataChangeTrigger *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); -} - -static UA_INLINE void -UA_DataChangeTrigger_clear(UA_DataChangeTrigger *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); -} - -static UA_INLINE void -UA_DataChangeTrigger_delete(UA_DataChangeTrigger *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]); -}static UA_INLINE UA_Boolean -UA_DataChangeTrigger_equal(const UA_DataChangeTrigger *p1, const UA_DataChangeTrigger *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATACHANGETRIGGER]) == UA_ORDER_EQ); -} - - - -/* DeadbandType */ -static UA_INLINE void -UA_DeadbandType_init(UA_DeadbandType *p) { - memset(p, 0, sizeof(UA_DeadbandType)); -} - -static UA_INLINE UA_DeadbandType * -UA_DeadbandType_new(void) { - return (UA_DeadbandType*)UA_new(&UA_TYPES[UA_TYPES_DEADBANDTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DeadbandType_copy(const UA_DeadbandType *src, UA_DeadbandType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeadbandType_deleteMembers(UA_DeadbandType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); -} - -static UA_INLINE void -UA_DeadbandType_clear(UA_DeadbandType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); -} - -static UA_INLINE void -UA_DeadbandType_delete(UA_DeadbandType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DEADBANDTYPE]); -}static UA_INLINE UA_Boolean -UA_DeadbandType_equal(const UA_DeadbandType *p1, const UA_DeadbandType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DEADBANDTYPE]) == UA_ORDER_EQ); -} - - - -/* DataChangeFilter */ -static UA_INLINE void -UA_DataChangeFilter_init(UA_DataChangeFilter *p) { - memset(p, 0, sizeof(UA_DataChangeFilter)); -} - -static UA_INLINE UA_DataChangeFilter * -UA_DataChangeFilter_new(void) { - return (UA_DataChangeFilter*)UA_new(&UA_TYPES[UA_TYPES_DATACHANGEFILTER]); -} - -static UA_INLINE UA_StatusCode -UA_DataChangeFilter_copy(const UA_DataChangeFilter *src, UA_DataChangeFilter *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataChangeFilter_deleteMembers(UA_DataChangeFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); -} - -static UA_INLINE void -UA_DataChangeFilter_clear(UA_DataChangeFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); -} - -static UA_INLINE void -UA_DataChangeFilter_delete(UA_DataChangeFilter *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]); -}static UA_INLINE UA_Boolean -UA_DataChangeFilter_equal(const UA_DataChangeFilter *p1, const UA_DataChangeFilter *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) == UA_ORDER_EQ); -} - - - -/* EventFilter */ -static UA_INLINE void -UA_EventFilter_init(UA_EventFilter *p) { - memset(p, 0, sizeof(UA_EventFilter)); -} - -static UA_INLINE UA_EventFilter * -UA_EventFilter_new(void) { - return (UA_EventFilter*)UA_new(&UA_TYPES[UA_TYPES_EVENTFILTER]); -} - -static UA_INLINE UA_StatusCode -UA_EventFilter_copy(const UA_EventFilter *src, UA_EventFilter *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTFILTER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EventFilter_deleteMembers(UA_EventFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTER]); -} - -static UA_INLINE void -UA_EventFilter_clear(UA_EventFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTER]); -} - -static UA_INLINE void -UA_EventFilter_delete(UA_EventFilter *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EVENTFILTER]); -}static UA_INLINE UA_Boolean -UA_EventFilter_equal(const UA_EventFilter *p1, const UA_EventFilter *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTFILTER]) == UA_ORDER_EQ); -} - - - -/* AggregateConfiguration */ -static UA_INLINE void -UA_AggregateConfiguration_init(UA_AggregateConfiguration *p) { - memset(p, 0, sizeof(UA_AggregateConfiguration)); -} - -static UA_INLINE UA_AggregateConfiguration * -UA_AggregateConfiguration_new(void) { - return (UA_AggregateConfiguration*)UA_new(&UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); -} - -static UA_INLINE UA_StatusCode -UA_AggregateConfiguration_copy(const UA_AggregateConfiguration *src, UA_AggregateConfiguration *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AggregateConfiguration_deleteMembers(UA_AggregateConfiguration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); -} - -static UA_INLINE void -UA_AggregateConfiguration_clear(UA_AggregateConfiguration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); -} - -static UA_INLINE void -UA_AggregateConfiguration_delete(UA_AggregateConfiguration *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]); -}static UA_INLINE UA_Boolean -UA_AggregateConfiguration_equal(const UA_AggregateConfiguration *p1, const UA_AggregateConfiguration *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION]) == UA_ORDER_EQ); -} - - - -/* AggregateFilter */ -static UA_INLINE void -UA_AggregateFilter_init(UA_AggregateFilter *p) { - memset(p, 0, sizeof(UA_AggregateFilter)); -} - -static UA_INLINE UA_AggregateFilter * -UA_AggregateFilter_new(void) { - return (UA_AggregateFilter*)UA_new(&UA_TYPES[UA_TYPES_AGGREGATEFILTER]); -} - -static UA_INLINE UA_StatusCode -UA_AggregateFilter_copy(const UA_AggregateFilter *src, UA_AggregateFilter *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AggregateFilter_deleteMembers(UA_AggregateFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); -} - -static UA_INLINE void -UA_AggregateFilter_clear(UA_AggregateFilter *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); -} - -static UA_INLINE void -UA_AggregateFilter_delete(UA_AggregateFilter *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]); -}static UA_INLINE UA_Boolean -UA_AggregateFilter_equal(const UA_AggregateFilter *p1, const UA_AggregateFilter *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AGGREGATEFILTER]) == UA_ORDER_EQ); -} - - - -/* EventFilterResult */ -static UA_INLINE void -UA_EventFilterResult_init(UA_EventFilterResult *p) { - memset(p, 0, sizeof(UA_EventFilterResult)); -} - -static UA_INLINE UA_EventFilterResult * -UA_EventFilterResult_new(void) { - return (UA_EventFilterResult*)UA_new(&UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_EventFilterResult_copy(const UA_EventFilterResult *src, UA_EventFilterResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EventFilterResult_deleteMembers(UA_EventFilterResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); -} - -static UA_INLINE void -UA_EventFilterResult_clear(UA_EventFilterResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); -} - -static UA_INLINE void -UA_EventFilterResult_delete(UA_EventFilterResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); -}static UA_INLINE UA_Boolean -UA_EventFilterResult_equal(const UA_EventFilterResult *p1, const UA_EventFilterResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]) == UA_ORDER_EQ); -} - - - -/* AggregateFilterResult */ -static UA_INLINE void -UA_AggregateFilterResult_init(UA_AggregateFilterResult *p) { - memset(p, 0, sizeof(UA_AggregateFilterResult)); -} - -static UA_INLINE UA_AggregateFilterResult * -UA_AggregateFilterResult_new(void) { - return (UA_AggregateFilterResult*)UA_new(&UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_AggregateFilterResult_copy(const UA_AggregateFilterResult *src, UA_AggregateFilterResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AggregateFilterResult_deleteMembers(UA_AggregateFilterResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); -} - -static UA_INLINE void -UA_AggregateFilterResult_clear(UA_AggregateFilterResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); -} - -static UA_INLINE void -UA_AggregateFilterResult_delete(UA_AggregateFilterResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]); -}static UA_INLINE UA_Boolean -UA_AggregateFilterResult_equal(const UA_AggregateFilterResult *p1, const UA_AggregateFilterResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AGGREGATEFILTERRESULT]) == UA_ORDER_EQ); -} - - - -/* MonitoringParameters */ -static UA_INLINE void -UA_MonitoringParameters_init(UA_MonitoringParameters *p) { - memset(p, 0, sizeof(UA_MonitoringParameters)); -} - -static UA_INLINE UA_MonitoringParameters * -UA_MonitoringParameters_new(void) { - return (UA_MonitoringParameters*)UA_new(&UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoringParameters_copy(const UA_MonitoringParameters *src, UA_MonitoringParameters *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoringParameters_deleteMembers(UA_MonitoringParameters *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); -} - -static UA_INLINE void -UA_MonitoringParameters_clear(UA_MonitoringParameters *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); -} - -static UA_INLINE void -UA_MonitoringParameters_delete(UA_MonitoringParameters *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]); -}static UA_INLINE UA_Boolean -UA_MonitoringParameters_equal(const UA_MonitoringParameters *p1, const UA_MonitoringParameters *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS]) == UA_ORDER_EQ); -} - - - -/* MonitoredItemCreateRequest */ -static UA_INLINE void -UA_MonitoredItemCreateRequest_init(UA_MonitoredItemCreateRequest *p) { - memset(p, 0, sizeof(UA_MonitoredItemCreateRequest)); -} - -static UA_INLINE UA_MonitoredItemCreateRequest * -UA_MonitoredItemCreateRequest_new(void) { - return (UA_MonitoredItemCreateRequest*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoredItemCreateRequest_copy(const UA_MonitoredItemCreateRequest *src, UA_MonitoredItemCreateRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoredItemCreateRequest_deleteMembers(UA_MonitoredItemCreateRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); -} - -static UA_INLINE void -UA_MonitoredItemCreateRequest_clear(UA_MonitoredItemCreateRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); -} - -static UA_INLINE void -UA_MonitoredItemCreateRequest_delete(UA_MonitoredItemCreateRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]); -}static UA_INLINE UA_Boolean -UA_MonitoredItemCreateRequest_equal(const UA_MonitoredItemCreateRequest *p1, const UA_MonitoredItemCreateRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST]) == UA_ORDER_EQ); -} - - - -/* MonitoredItemCreateResult */ -static UA_INLINE void -UA_MonitoredItemCreateResult_init(UA_MonitoredItemCreateResult *p) { - memset(p, 0, sizeof(UA_MonitoredItemCreateResult)); -} - -static UA_INLINE UA_MonitoredItemCreateResult * -UA_MonitoredItemCreateResult_new(void) { - return (UA_MonitoredItemCreateResult*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoredItemCreateResult_copy(const UA_MonitoredItemCreateResult *src, UA_MonitoredItemCreateResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoredItemCreateResult_deleteMembers(UA_MonitoredItemCreateResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); -} - -static UA_INLINE void -UA_MonitoredItemCreateResult_clear(UA_MonitoredItemCreateResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); -} - -static UA_INLINE void -UA_MonitoredItemCreateResult_delete(UA_MonitoredItemCreateResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); -}static UA_INLINE UA_Boolean -UA_MonitoredItemCreateResult_equal(const UA_MonitoredItemCreateResult *p1, const UA_MonitoredItemCreateResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]) == UA_ORDER_EQ); -} - - - -/* CreateMonitoredItemsRequest */ -static UA_INLINE void -UA_CreateMonitoredItemsRequest_init(UA_CreateMonitoredItemsRequest *p) { - memset(p, 0, sizeof(UA_CreateMonitoredItemsRequest)); -} - -static UA_INLINE UA_CreateMonitoredItemsRequest * -UA_CreateMonitoredItemsRequest_new(void) { - return (UA_CreateMonitoredItemsRequest*)UA_new(&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CreateMonitoredItemsRequest_copy(const UA_CreateMonitoredItemsRequest *src, UA_CreateMonitoredItemsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CreateMonitoredItemsRequest_deleteMembers(UA_CreateMonitoredItemsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); -} - -static UA_INLINE void -UA_CreateMonitoredItemsRequest_clear(UA_CreateMonitoredItemsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); -} - -static UA_INLINE void -UA_CreateMonitoredItemsRequest_delete(UA_CreateMonitoredItemsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]); -}static UA_INLINE UA_Boolean -UA_CreateMonitoredItemsRequest_equal(const UA_CreateMonitoredItemsRequest *p1, const UA_CreateMonitoredItemsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]) == UA_ORDER_EQ); -} - - - -/* CreateMonitoredItemsResponse */ -static UA_INLINE void -UA_CreateMonitoredItemsResponse_init(UA_CreateMonitoredItemsResponse *p) { - memset(p, 0, sizeof(UA_CreateMonitoredItemsResponse)); -} - -static UA_INLINE UA_CreateMonitoredItemsResponse * -UA_CreateMonitoredItemsResponse_new(void) { - return (UA_CreateMonitoredItemsResponse*)UA_new(&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CreateMonitoredItemsResponse_copy(const UA_CreateMonitoredItemsResponse *src, UA_CreateMonitoredItemsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CreateMonitoredItemsResponse_deleteMembers(UA_CreateMonitoredItemsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE void -UA_CreateMonitoredItemsResponse_clear(UA_CreateMonitoredItemsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE void -UA_CreateMonitoredItemsResponse_delete(UA_CreateMonitoredItemsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CreateMonitoredItemsResponse_equal(const UA_CreateMonitoredItemsResponse *p1, const UA_CreateMonitoredItemsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* MonitoredItemModifyRequest */ -static UA_INLINE void -UA_MonitoredItemModifyRequest_init(UA_MonitoredItemModifyRequest *p) { - memset(p, 0, sizeof(UA_MonitoredItemModifyRequest)); -} - -static UA_INLINE UA_MonitoredItemModifyRequest * -UA_MonitoredItemModifyRequest_new(void) { - return (UA_MonitoredItemModifyRequest*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoredItemModifyRequest_copy(const UA_MonitoredItemModifyRequest *src, UA_MonitoredItemModifyRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoredItemModifyRequest_deleteMembers(UA_MonitoredItemModifyRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); -} - -static UA_INLINE void -UA_MonitoredItemModifyRequest_clear(UA_MonitoredItemModifyRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); -} - -static UA_INLINE void -UA_MonitoredItemModifyRequest_delete(UA_MonitoredItemModifyRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]); -}static UA_INLINE UA_Boolean -UA_MonitoredItemModifyRequest_equal(const UA_MonitoredItemModifyRequest *p1, const UA_MonitoredItemModifyRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST]) == UA_ORDER_EQ); -} - - - -/* MonitoredItemModifyResult */ -static UA_INLINE void -UA_MonitoredItemModifyResult_init(UA_MonitoredItemModifyResult *p) { - memset(p, 0, sizeof(UA_MonitoredItemModifyResult)); -} - -static UA_INLINE UA_MonitoredItemModifyResult * -UA_MonitoredItemModifyResult_new(void) { - return (UA_MonitoredItemModifyResult*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoredItemModifyResult_copy(const UA_MonitoredItemModifyResult *src, UA_MonitoredItemModifyResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoredItemModifyResult_deleteMembers(UA_MonitoredItemModifyResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); -} - -static UA_INLINE void -UA_MonitoredItemModifyResult_clear(UA_MonitoredItemModifyResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); -} - -static UA_INLINE void -UA_MonitoredItemModifyResult_delete(UA_MonitoredItemModifyResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); -}static UA_INLINE UA_Boolean -UA_MonitoredItemModifyResult_equal(const UA_MonitoredItemModifyResult *p1, const UA_MonitoredItemModifyResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]) == UA_ORDER_EQ); -} - - - -/* ModifyMonitoredItemsRequest */ -static UA_INLINE void -UA_ModifyMonitoredItemsRequest_init(UA_ModifyMonitoredItemsRequest *p) { - memset(p, 0, sizeof(UA_ModifyMonitoredItemsRequest)); -} - -static UA_INLINE UA_ModifyMonitoredItemsRequest * -UA_ModifyMonitoredItemsRequest_new(void) { - return (UA_ModifyMonitoredItemsRequest*)UA_new(&UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_ModifyMonitoredItemsRequest_copy(const UA_ModifyMonitoredItemsRequest *src, UA_ModifyMonitoredItemsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModifyMonitoredItemsRequest_deleteMembers(UA_ModifyMonitoredItemsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); -} - -static UA_INLINE void -UA_ModifyMonitoredItemsRequest_clear(UA_ModifyMonitoredItemsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); -} - -static UA_INLINE void -UA_ModifyMonitoredItemsRequest_delete(UA_ModifyMonitoredItemsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]); -}static UA_INLINE UA_Boolean -UA_ModifyMonitoredItemsRequest_equal(const UA_ModifyMonitoredItemsRequest *p1, const UA_ModifyMonitoredItemsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]) == UA_ORDER_EQ); -} - - - -/* ModifyMonitoredItemsResponse */ -static UA_INLINE void -UA_ModifyMonitoredItemsResponse_init(UA_ModifyMonitoredItemsResponse *p) { - memset(p, 0, sizeof(UA_ModifyMonitoredItemsResponse)); -} - -static UA_INLINE UA_ModifyMonitoredItemsResponse * -UA_ModifyMonitoredItemsResponse_new(void) { - return (UA_ModifyMonitoredItemsResponse*)UA_new(&UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_ModifyMonitoredItemsResponse_copy(const UA_ModifyMonitoredItemsResponse *src, UA_ModifyMonitoredItemsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModifyMonitoredItemsResponse_deleteMembers(UA_ModifyMonitoredItemsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE void -UA_ModifyMonitoredItemsResponse_clear(UA_ModifyMonitoredItemsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE void -UA_ModifyMonitoredItemsResponse_delete(UA_ModifyMonitoredItemsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_ModifyMonitoredItemsResponse_equal(const UA_ModifyMonitoredItemsResponse *p1, const UA_ModifyMonitoredItemsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* SetMonitoringModeRequest */ -static UA_INLINE void -UA_SetMonitoringModeRequest_init(UA_SetMonitoringModeRequest *p) { - memset(p, 0, sizeof(UA_SetMonitoringModeRequest)); -} - -static UA_INLINE UA_SetMonitoringModeRequest * -UA_SetMonitoringModeRequest_new(void) { - return (UA_SetMonitoringModeRequest*)UA_new(&UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_SetMonitoringModeRequest_copy(const UA_SetMonitoringModeRequest *src, UA_SetMonitoringModeRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SetMonitoringModeRequest_deleteMembers(UA_SetMonitoringModeRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); -} - -static UA_INLINE void -UA_SetMonitoringModeRequest_clear(UA_SetMonitoringModeRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); -} - -static UA_INLINE void -UA_SetMonitoringModeRequest_delete(UA_SetMonitoringModeRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]); -}static UA_INLINE UA_Boolean -UA_SetMonitoringModeRequest_equal(const UA_SetMonitoringModeRequest *p1, const UA_SetMonitoringModeRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]) == UA_ORDER_EQ); -} - - - -/* SetMonitoringModeResponse */ -static UA_INLINE void -UA_SetMonitoringModeResponse_init(UA_SetMonitoringModeResponse *p) { - memset(p, 0, sizeof(UA_SetMonitoringModeResponse)); -} - -static UA_INLINE UA_SetMonitoringModeResponse * -UA_SetMonitoringModeResponse_new(void) { - return (UA_SetMonitoringModeResponse*)UA_new(&UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_SetMonitoringModeResponse_copy(const UA_SetMonitoringModeResponse *src, UA_SetMonitoringModeResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SetMonitoringModeResponse_deleteMembers(UA_SetMonitoringModeResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); -} - -static UA_INLINE void -UA_SetMonitoringModeResponse_clear(UA_SetMonitoringModeResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); -} - -static UA_INLINE void -UA_SetMonitoringModeResponse_delete(UA_SetMonitoringModeResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); -}static UA_INLINE UA_Boolean -UA_SetMonitoringModeResponse_equal(const UA_SetMonitoringModeResponse *p1, const UA_SetMonitoringModeResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]) == UA_ORDER_EQ); -} - - - -/* SetTriggeringRequest */ -static UA_INLINE void -UA_SetTriggeringRequest_init(UA_SetTriggeringRequest *p) { - memset(p, 0, sizeof(UA_SetTriggeringRequest)); -} - -static UA_INLINE UA_SetTriggeringRequest * -UA_SetTriggeringRequest_new(void) { - return (UA_SetTriggeringRequest*)UA_new(&UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_SetTriggeringRequest_copy(const UA_SetTriggeringRequest *src, UA_SetTriggeringRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SetTriggeringRequest_deleteMembers(UA_SetTriggeringRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); -} - -static UA_INLINE void -UA_SetTriggeringRequest_clear(UA_SetTriggeringRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); -} - -static UA_INLINE void -UA_SetTriggeringRequest_delete(UA_SetTriggeringRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]); -}static UA_INLINE UA_Boolean -UA_SetTriggeringRequest_equal(const UA_SetTriggeringRequest *p1, const UA_SetTriggeringRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]) == UA_ORDER_EQ); -} - - - -/* SetTriggeringResponse */ -static UA_INLINE void -UA_SetTriggeringResponse_init(UA_SetTriggeringResponse *p) { - memset(p, 0, sizeof(UA_SetTriggeringResponse)); -} - -static UA_INLINE UA_SetTriggeringResponse * -UA_SetTriggeringResponse_new(void) { - return (UA_SetTriggeringResponse*)UA_new(&UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_SetTriggeringResponse_copy(const UA_SetTriggeringResponse *src, UA_SetTriggeringResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SetTriggeringResponse_deleteMembers(UA_SetTriggeringResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); -} - -static UA_INLINE void -UA_SetTriggeringResponse_clear(UA_SetTriggeringResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); -} - -static UA_INLINE void -UA_SetTriggeringResponse_delete(UA_SetTriggeringResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); -}static UA_INLINE UA_Boolean -UA_SetTriggeringResponse_equal(const UA_SetTriggeringResponse *p1, const UA_SetTriggeringResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]) == UA_ORDER_EQ); -} - - - -/* DeleteMonitoredItemsRequest */ -static UA_INLINE void -UA_DeleteMonitoredItemsRequest_init(UA_DeleteMonitoredItemsRequest *p) { - memset(p, 0, sizeof(UA_DeleteMonitoredItemsRequest)); -} - -static UA_INLINE UA_DeleteMonitoredItemsRequest * -UA_DeleteMonitoredItemsRequest_new(void) { - return (UA_DeleteMonitoredItemsRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteMonitoredItemsRequest_copy(const UA_DeleteMonitoredItemsRequest *src, UA_DeleteMonitoredItemsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteMonitoredItemsRequest_deleteMembers(UA_DeleteMonitoredItemsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); -} - -static UA_INLINE void -UA_DeleteMonitoredItemsRequest_clear(UA_DeleteMonitoredItemsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); -} - -static UA_INLINE void -UA_DeleteMonitoredItemsRequest_delete(UA_DeleteMonitoredItemsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]); -}static UA_INLINE UA_Boolean -UA_DeleteMonitoredItemsRequest_equal(const UA_DeleteMonitoredItemsRequest *p1, const UA_DeleteMonitoredItemsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]) == UA_ORDER_EQ); -} - - - -/* DeleteMonitoredItemsResponse */ -static UA_INLINE void -UA_DeleteMonitoredItemsResponse_init(UA_DeleteMonitoredItemsResponse *p) { - memset(p, 0, sizeof(UA_DeleteMonitoredItemsResponse)); -} - -static UA_INLINE UA_DeleteMonitoredItemsResponse * -UA_DeleteMonitoredItemsResponse_new(void) { - return (UA_DeleteMonitoredItemsResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteMonitoredItemsResponse_copy(const UA_DeleteMonitoredItemsResponse *src, UA_DeleteMonitoredItemsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteMonitoredItemsResponse_deleteMembers(UA_DeleteMonitoredItemsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE void -UA_DeleteMonitoredItemsResponse_clear(UA_DeleteMonitoredItemsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); -} - -static UA_INLINE void -UA_DeleteMonitoredItemsResponse_delete(UA_DeleteMonitoredItemsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_DeleteMonitoredItemsResponse_equal(const UA_DeleteMonitoredItemsResponse *p1, const UA_DeleteMonitoredItemsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* CreateSubscriptionRequest */ -static UA_INLINE void -UA_CreateSubscriptionRequest_init(UA_CreateSubscriptionRequest *p) { - memset(p, 0, sizeof(UA_CreateSubscriptionRequest)); -} - -static UA_INLINE UA_CreateSubscriptionRequest * -UA_CreateSubscriptionRequest_new(void) { - return (UA_CreateSubscriptionRequest*)UA_new(&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_CreateSubscriptionRequest_copy(const UA_CreateSubscriptionRequest *src, UA_CreateSubscriptionRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CreateSubscriptionRequest_deleteMembers(UA_CreateSubscriptionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); -} - -static UA_INLINE void -UA_CreateSubscriptionRequest_clear(UA_CreateSubscriptionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); -} - -static UA_INLINE void -UA_CreateSubscriptionRequest_delete(UA_CreateSubscriptionRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]); -}static UA_INLINE UA_Boolean -UA_CreateSubscriptionRequest_equal(const UA_CreateSubscriptionRequest *p1, const UA_CreateSubscriptionRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]) == UA_ORDER_EQ); -} - - - -/* CreateSubscriptionResponse */ -static UA_INLINE void -UA_CreateSubscriptionResponse_init(UA_CreateSubscriptionResponse *p) { - memset(p, 0, sizeof(UA_CreateSubscriptionResponse)); -} - -static UA_INLINE UA_CreateSubscriptionResponse * -UA_CreateSubscriptionResponse_new(void) { - return (UA_CreateSubscriptionResponse*)UA_new(&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_CreateSubscriptionResponse_copy(const UA_CreateSubscriptionResponse *src, UA_CreateSubscriptionResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_CreateSubscriptionResponse_deleteMembers(UA_CreateSubscriptionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); -} - -static UA_INLINE void -UA_CreateSubscriptionResponse_clear(UA_CreateSubscriptionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); -} - -static UA_INLINE void -UA_CreateSubscriptionResponse_delete(UA_CreateSubscriptionResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); -}static UA_INLINE UA_Boolean -UA_CreateSubscriptionResponse_equal(const UA_CreateSubscriptionResponse *p1, const UA_CreateSubscriptionResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]) == UA_ORDER_EQ); -} - - - -/* ModifySubscriptionRequest */ -static UA_INLINE void -UA_ModifySubscriptionRequest_init(UA_ModifySubscriptionRequest *p) { - memset(p, 0, sizeof(UA_ModifySubscriptionRequest)); -} - -static UA_INLINE UA_ModifySubscriptionRequest * -UA_ModifySubscriptionRequest_new(void) { - return (UA_ModifySubscriptionRequest*)UA_new(&UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_ModifySubscriptionRequest_copy(const UA_ModifySubscriptionRequest *src, UA_ModifySubscriptionRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModifySubscriptionRequest_deleteMembers(UA_ModifySubscriptionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); -} - -static UA_INLINE void -UA_ModifySubscriptionRequest_clear(UA_ModifySubscriptionRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); -} - -static UA_INLINE void -UA_ModifySubscriptionRequest_delete(UA_ModifySubscriptionRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]); -}static UA_INLINE UA_Boolean -UA_ModifySubscriptionRequest_equal(const UA_ModifySubscriptionRequest *p1, const UA_ModifySubscriptionRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]) == UA_ORDER_EQ); -} - - - -/* ModifySubscriptionResponse */ -static UA_INLINE void -UA_ModifySubscriptionResponse_init(UA_ModifySubscriptionResponse *p) { - memset(p, 0, sizeof(UA_ModifySubscriptionResponse)); -} - -static UA_INLINE UA_ModifySubscriptionResponse * -UA_ModifySubscriptionResponse_new(void) { - return (UA_ModifySubscriptionResponse*)UA_new(&UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_ModifySubscriptionResponse_copy(const UA_ModifySubscriptionResponse *src, UA_ModifySubscriptionResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModifySubscriptionResponse_deleteMembers(UA_ModifySubscriptionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); -} - -static UA_INLINE void -UA_ModifySubscriptionResponse_clear(UA_ModifySubscriptionResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); -} - -static UA_INLINE void -UA_ModifySubscriptionResponse_delete(UA_ModifySubscriptionResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); -}static UA_INLINE UA_Boolean -UA_ModifySubscriptionResponse_equal(const UA_ModifySubscriptionResponse *p1, const UA_ModifySubscriptionResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]) == UA_ORDER_EQ); -} - - - -/* SetPublishingModeRequest */ -static UA_INLINE void -UA_SetPublishingModeRequest_init(UA_SetPublishingModeRequest *p) { - memset(p, 0, sizeof(UA_SetPublishingModeRequest)); -} - -static UA_INLINE UA_SetPublishingModeRequest * -UA_SetPublishingModeRequest_new(void) { - return (UA_SetPublishingModeRequest*)UA_new(&UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_SetPublishingModeRequest_copy(const UA_SetPublishingModeRequest *src, UA_SetPublishingModeRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SetPublishingModeRequest_deleteMembers(UA_SetPublishingModeRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); -} - -static UA_INLINE void -UA_SetPublishingModeRequest_clear(UA_SetPublishingModeRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); -} - -static UA_INLINE void -UA_SetPublishingModeRequest_delete(UA_SetPublishingModeRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]); -}static UA_INLINE UA_Boolean -UA_SetPublishingModeRequest_equal(const UA_SetPublishingModeRequest *p1, const UA_SetPublishingModeRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]) == UA_ORDER_EQ); -} - - - -/* SetPublishingModeResponse */ -static UA_INLINE void -UA_SetPublishingModeResponse_init(UA_SetPublishingModeResponse *p) { - memset(p, 0, sizeof(UA_SetPublishingModeResponse)); -} - -static UA_INLINE UA_SetPublishingModeResponse * -UA_SetPublishingModeResponse_new(void) { - return (UA_SetPublishingModeResponse*)UA_new(&UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_SetPublishingModeResponse_copy(const UA_SetPublishingModeResponse *src, UA_SetPublishingModeResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SetPublishingModeResponse_deleteMembers(UA_SetPublishingModeResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); -} - -static UA_INLINE void -UA_SetPublishingModeResponse_clear(UA_SetPublishingModeResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); -} - -static UA_INLINE void -UA_SetPublishingModeResponse_delete(UA_SetPublishingModeResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); -}static UA_INLINE UA_Boolean -UA_SetPublishingModeResponse_equal(const UA_SetPublishingModeResponse *p1, const UA_SetPublishingModeResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]) == UA_ORDER_EQ); -} - - - -/* NotificationMessage */ -static UA_INLINE void -UA_NotificationMessage_init(UA_NotificationMessage *p) { - memset(p, 0, sizeof(UA_NotificationMessage)); -} - -static UA_INLINE UA_NotificationMessage * -UA_NotificationMessage_new(void) { - return (UA_NotificationMessage*)UA_new(&UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); -} - -static UA_INLINE UA_StatusCode -UA_NotificationMessage_copy(const UA_NotificationMessage *src, UA_NotificationMessage *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NotificationMessage_deleteMembers(UA_NotificationMessage *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); -} - -static UA_INLINE void -UA_NotificationMessage_clear(UA_NotificationMessage *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); -} - -static UA_INLINE void -UA_NotificationMessage_delete(UA_NotificationMessage *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]); -}static UA_INLINE UA_Boolean -UA_NotificationMessage_equal(const UA_NotificationMessage *p1, const UA_NotificationMessage *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE]) == UA_ORDER_EQ); -} - - - -/* MonitoredItemNotification */ -static UA_INLINE void -UA_MonitoredItemNotification_init(UA_MonitoredItemNotification *p) { - memset(p, 0, sizeof(UA_MonitoredItemNotification)); -} - -static UA_INLINE UA_MonitoredItemNotification * -UA_MonitoredItemNotification_new(void) { - return (UA_MonitoredItemNotification*)UA_new(&UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); -} - -static UA_INLINE UA_StatusCode -UA_MonitoredItemNotification_copy(const UA_MonitoredItemNotification *src, UA_MonitoredItemNotification *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MonitoredItemNotification_deleteMembers(UA_MonitoredItemNotification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); -} - -static UA_INLINE void -UA_MonitoredItemNotification_clear(UA_MonitoredItemNotification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); -} - -static UA_INLINE void -UA_MonitoredItemNotification_delete(UA_MonitoredItemNotification *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); -}static UA_INLINE UA_Boolean -UA_MonitoredItemNotification_equal(const UA_MonitoredItemNotification *p1, const UA_MonitoredItemNotification *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]) == UA_ORDER_EQ); -} - - - -/* EventFieldList */ -static UA_INLINE void -UA_EventFieldList_init(UA_EventFieldList *p) { - memset(p, 0, sizeof(UA_EventFieldList)); -} - -static UA_INLINE UA_EventFieldList * -UA_EventFieldList_new(void) { - return (UA_EventFieldList*)UA_new(&UA_TYPES[UA_TYPES_EVENTFIELDLIST]); -} - -static UA_INLINE UA_StatusCode -UA_EventFieldList_copy(const UA_EventFieldList *src, UA_EventFieldList *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EventFieldList_deleteMembers(UA_EventFieldList *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); -} - -static UA_INLINE void -UA_EventFieldList_clear(UA_EventFieldList *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); -} - -static UA_INLINE void -UA_EventFieldList_delete(UA_EventFieldList *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); -}static UA_INLINE UA_Boolean -UA_EventFieldList_equal(const UA_EventFieldList *p1, const UA_EventFieldList *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]) == UA_ORDER_EQ); -} - - - -/* HistoryEventFieldList */ -static UA_INLINE void -UA_HistoryEventFieldList_init(UA_HistoryEventFieldList *p) { - memset(p, 0, sizeof(UA_HistoryEventFieldList)); -} - -static UA_INLINE UA_HistoryEventFieldList * -UA_HistoryEventFieldList_new(void) { - return (UA_HistoryEventFieldList*)UA_new(&UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryEventFieldList_copy(const UA_HistoryEventFieldList *src, UA_HistoryEventFieldList *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryEventFieldList_deleteMembers(UA_HistoryEventFieldList *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); -} - -static UA_INLINE void -UA_HistoryEventFieldList_clear(UA_HistoryEventFieldList *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); -} - -static UA_INLINE void -UA_HistoryEventFieldList_delete(UA_HistoryEventFieldList *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]); -}static UA_INLINE UA_Boolean -UA_HistoryEventFieldList_equal(const UA_HistoryEventFieldList *p1, const UA_HistoryEventFieldList *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST]) == UA_ORDER_EQ); -} - - - -/* StatusChangeNotification */ -static UA_INLINE void -UA_StatusChangeNotification_init(UA_StatusChangeNotification *p) { - memset(p, 0, sizeof(UA_StatusChangeNotification)); -} - -static UA_INLINE UA_StatusChangeNotification * -UA_StatusChangeNotification_new(void) { - return (UA_StatusChangeNotification*)UA_new(&UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); -} - -static UA_INLINE UA_StatusCode -UA_StatusChangeNotification_copy(const UA_StatusChangeNotification *src, UA_StatusChangeNotification *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StatusChangeNotification_deleteMembers(UA_StatusChangeNotification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); -} - -static UA_INLINE void -UA_StatusChangeNotification_clear(UA_StatusChangeNotification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); -} - -static UA_INLINE void -UA_StatusChangeNotification_delete(UA_StatusChangeNotification *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); -}static UA_INLINE UA_Boolean -UA_StatusChangeNotification_equal(const UA_StatusChangeNotification *p1, const UA_StatusChangeNotification *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]) == UA_ORDER_EQ); -} - - - -/* SubscriptionAcknowledgement */ -static UA_INLINE void -UA_SubscriptionAcknowledgement_init(UA_SubscriptionAcknowledgement *p) { - memset(p, 0, sizeof(UA_SubscriptionAcknowledgement)); -} - -static UA_INLINE UA_SubscriptionAcknowledgement * -UA_SubscriptionAcknowledgement_new(void) { - return (UA_SubscriptionAcknowledgement*)UA_new(&UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); -} - -static UA_INLINE UA_StatusCode -UA_SubscriptionAcknowledgement_copy(const UA_SubscriptionAcknowledgement *src, UA_SubscriptionAcknowledgement *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SubscriptionAcknowledgement_deleteMembers(UA_SubscriptionAcknowledgement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); -} - -static UA_INLINE void -UA_SubscriptionAcknowledgement_clear(UA_SubscriptionAcknowledgement *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); -} - -static UA_INLINE void -UA_SubscriptionAcknowledgement_delete(UA_SubscriptionAcknowledgement *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); -}static UA_INLINE UA_Boolean -UA_SubscriptionAcknowledgement_equal(const UA_SubscriptionAcknowledgement *p1, const UA_SubscriptionAcknowledgement *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]) == UA_ORDER_EQ); -} - - - -/* PublishRequest */ -static UA_INLINE void -UA_PublishRequest_init(UA_PublishRequest *p) { - memset(p, 0, sizeof(UA_PublishRequest)); -} - -static UA_INLINE UA_PublishRequest * -UA_PublishRequest_new(void) { - return (UA_PublishRequest*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_PublishRequest_copy(const UA_PublishRequest *src, UA_PublishRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishRequest_deleteMembers(UA_PublishRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); -} - -static UA_INLINE void -UA_PublishRequest_clear(UA_PublishRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); -} - -static UA_INLINE void -UA_PublishRequest_delete(UA_PublishRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]); -}static UA_INLINE UA_Boolean -UA_PublishRequest_equal(const UA_PublishRequest *p1, const UA_PublishRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHREQUEST]) == UA_ORDER_EQ); -} - - - -/* PublishResponse */ -static UA_INLINE void -UA_PublishResponse_init(UA_PublishResponse *p) { - memset(p, 0, sizeof(UA_PublishResponse)); -} - -static UA_INLINE UA_PublishResponse * -UA_PublishResponse_new(void) { - return (UA_PublishResponse*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_PublishResponse_copy(const UA_PublishResponse *src, UA_PublishResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishResponse_deleteMembers(UA_PublishResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); -} - -static UA_INLINE void -UA_PublishResponse_clear(UA_PublishResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); -} - -static UA_INLINE void -UA_PublishResponse_delete(UA_PublishResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); -}static UA_INLINE UA_Boolean -UA_PublishResponse_equal(const UA_PublishResponse *p1, const UA_PublishResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]) == UA_ORDER_EQ); -} - - - -/* RepublishRequest */ -static UA_INLINE void -UA_RepublishRequest_init(UA_RepublishRequest *p) { - memset(p, 0, sizeof(UA_RepublishRequest)); -} - -static UA_INLINE UA_RepublishRequest * -UA_RepublishRequest_new(void) { - return (UA_RepublishRequest*)UA_new(&UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_RepublishRequest_copy(const UA_RepublishRequest *src, UA_RepublishRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RepublishRequest_deleteMembers(UA_RepublishRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); -} - -static UA_INLINE void -UA_RepublishRequest_clear(UA_RepublishRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); -} - -static UA_INLINE void -UA_RepublishRequest_delete(UA_RepublishRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]); -}static UA_INLINE UA_Boolean -UA_RepublishRequest_equal(const UA_RepublishRequest *p1, const UA_RepublishRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]) == UA_ORDER_EQ); -} - - - -/* RepublishResponse */ -static UA_INLINE void -UA_RepublishResponse_init(UA_RepublishResponse *p) { - memset(p, 0, sizeof(UA_RepublishResponse)); -} - -static UA_INLINE UA_RepublishResponse * -UA_RepublishResponse_new(void) { - return (UA_RepublishResponse*)UA_new(&UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_RepublishResponse_copy(const UA_RepublishResponse *src, UA_RepublishResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RepublishResponse_deleteMembers(UA_RepublishResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); -} - -static UA_INLINE void -UA_RepublishResponse_clear(UA_RepublishResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); -} - -static UA_INLINE void -UA_RepublishResponse_delete(UA_RepublishResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]); -}static UA_INLINE UA_Boolean -UA_RepublishResponse_equal(const UA_RepublishResponse *p1, const UA_RepublishResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]) == UA_ORDER_EQ); -} - - - -/* TransferResult */ -static UA_INLINE void -UA_TransferResult_init(UA_TransferResult *p) { - memset(p, 0, sizeof(UA_TransferResult)); -} - -static UA_INLINE UA_TransferResult * -UA_TransferResult_new(void) { - return (UA_TransferResult*)UA_new(&UA_TYPES[UA_TYPES_TRANSFERRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_TransferResult_copy(const UA_TransferResult *src, UA_TransferResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TransferResult_deleteMembers(UA_TransferResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); -} - -static UA_INLINE void -UA_TransferResult_clear(UA_TransferResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); -} - -static UA_INLINE void -UA_TransferResult_delete(UA_TransferResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); -}static UA_INLINE UA_Boolean -UA_TransferResult_equal(const UA_TransferResult *p1, const UA_TransferResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSFERRESULT]) == UA_ORDER_EQ); -} - - - -/* TransferSubscriptionsRequest */ -static UA_INLINE void -UA_TransferSubscriptionsRequest_init(UA_TransferSubscriptionsRequest *p) { - memset(p, 0, sizeof(UA_TransferSubscriptionsRequest)); -} - -static UA_INLINE UA_TransferSubscriptionsRequest * -UA_TransferSubscriptionsRequest_new(void) { - return (UA_TransferSubscriptionsRequest*)UA_new(&UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_TransferSubscriptionsRequest_copy(const UA_TransferSubscriptionsRequest *src, UA_TransferSubscriptionsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TransferSubscriptionsRequest_deleteMembers(UA_TransferSubscriptionsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); -} - -static UA_INLINE void -UA_TransferSubscriptionsRequest_clear(UA_TransferSubscriptionsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); -} - -static UA_INLINE void -UA_TransferSubscriptionsRequest_delete(UA_TransferSubscriptionsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]); -}static UA_INLINE UA_Boolean -UA_TransferSubscriptionsRequest_equal(const UA_TransferSubscriptionsRequest *p1, const UA_TransferSubscriptionsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]) == UA_ORDER_EQ); -} - - - -/* TransferSubscriptionsResponse */ -static UA_INLINE void -UA_TransferSubscriptionsResponse_init(UA_TransferSubscriptionsResponse *p) { - memset(p, 0, sizeof(UA_TransferSubscriptionsResponse)); -} - -static UA_INLINE UA_TransferSubscriptionsResponse * -UA_TransferSubscriptionsResponse_new(void) { - return (UA_TransferSubscriptionsResponse*)UA_new(&UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_TransferSubscriptionsResponse_copy(const UA_TransferSubscriptionsResponse *src, UA_TransferSubscriptionsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TransferSubscriptionsResponse_deleteMembers(UA_TransferSubscriptionsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); -} - -static UA_INLINE void -UA_TransferSubscriptionsResponse_clear(UA_TransferSubscriptionsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); -} - -static UA_INLINE void -UA_TransferSubscriptionsResponse_delete(UA_TransferSubscriptionsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_TransferSubscriptionsResponse_equal(const UA_TransferSubscriptionsResponse *p1, const UA_TransferSubscriptionsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* DeleteSubscriptionsRequest */ -static UA_INLINE void -UA_DeleteSubscriptionsRequest_init(UA_DeleteSubscriptionsRequest *p) { - memset(p, 0, sizeof(UA_DeleteSubscriptionsRequest)); -} - -static UA_INLINE UA_DeleteSubscriptionsRequest * -UA_DeleteSubscriptionsRequest_new(void) { - return (UA_DeleteSubscriptionsRequest*)UA_new(&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteSubscriptionsRequest_copy(const UA_DeleteSubscriptionsRequest *src, UA_DeleteSubscriptionsRequest *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteSubscriptionsRequest_deleteMembers(UA_DeleteSubscriptionsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); -} - -static UA_INLINE void -UA_DeleteSubscriptionsRequest_clear(UA_DeleteSubscriptionsRequest *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); -} - -static UA_INLINE void -UA_DeleteSubscriptionsRequest_delete(UA_DeleteSubscriptionsRequest *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]); -}static UA_INLINE UA_Boolean -UA_DeleteSubscriptionsRequest_equal(const UA_DeleteSubscriptionsRequest *p1, const UA_DeleteSubscriptionsRequest *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]) == UA_ORDER_EQ); -} - - - -/* DeleteSubscriptionsResponse */ -static UA_INLINE void -UA_DeleteSubscriptionsResponse_init(UA_DeleteSubscriptionsResponse *p) { - memset(p, 0, sizeof(UA_DeleteSubscriptionsResponse)); -} - -static UA_INLINE UA_DeleteSubscriptionsResponse * -UA_DeleteSubscriptionsResponse_new(void) { - return (UA_DeleteSubscriptionsResponse*)UA_new(&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); -} - -static UA_INLINE UA_StatusCode -UA_DeleteSubscriptionsResponse_copy(const UA_DeleteSubscriptionsResponse *src, UA_DeleteSubscriptionsResponse *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DeleteSubscriptionsResponse_deleteMembers(UA_DeleteSubscriptionsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); -} - -static UA_INLINE void -UA_DeleteSubscriptionsResponse_clear(UA_DeleteSubscriptionsResponse *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); -} - -static UA_INLINE void -UA_DeleteSubscriptionsResponse_delete(UA_DeleteSubscriptionsResponse *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); -}static UA_INLINE UA_Boolean -UA_DeleteSubscriptionsResponse_equal(const UA_DeleteSubscriptionsResponse *p1, const UA_DeleteSubscriptionsResponse *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]) == UA_ORDER_EQ); -} - - - -/* BuildInfo */ -static UA_INLINE void -UA_BuildInfo_init(UA_BuildInfo *p) { - memset(p, 0, sizeof(UA_BuildInfo)); -} - -static UA_INLINE UA_BuildInfo * -UA_BuildInfo_new(void) { - return (UA_BuildInfo*)UA_new(&UA_TYPES[UA_TYPES_BUILDINFO]); -} - -static UA_INLINE UA_StatusCode -UA_BuildInfo_copy(const UA_BuildInfo *src, UA_BuildInfo *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_BUILDINFO]); -} - -UA_DEPRECATED static UA_INLINE void -UA_BuildInfo_deleteMembers(UA_BuildInfo *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BUILDINFO]); -} - -static UA_INLINE void -UA_BuildInfo_clear(UA_BuildInfo *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_BUILDINFO]); -} - -static UA_INLINE void -UA_BuildInfo_delete(UA_BuildInfo *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_BUILDINFO]); -}static UA_INLINE UA_Boolean -UA_BuildInfo_equal(const UA_BuildInfo *p1, const UA_BuildInfo *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_BUILDINFO]) == UA_ORDER_EQ); -} - - - -/* RedundancySupport */ -static UA_INLINE void -UA_RedundancySupport_init(UA_RedundancySupport *p) { - memset(p, 0, sizeof(UA_RedundancySupport)); -} - -static UA_INLINE UA_RedundancySupport * -UA_RedundancySupport_new(void) { - return (UA_RedundancySupport*)UA_new(&UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); -} - -static UA_INLINE UA_StatusCode -UA_RedundancySupport_copy(const UA_RedundancySupport *src, UA_RedundancySupport *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RedundancySupport_deleteMembers(UA_RedundancySupport *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); -} - -static UA_INLINE void -UA_RedundancySupport_clear(UA_RedundancySupport *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); -} - -static UA_INLINE void -UA_RedundancySupport_delete(UA_RedundancySupport *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); -}static UA_INLINE UA_Boolean -UA_RedundancySupport_equal(const UA_RedundancySupport *p1, const UA_RedundancySupport *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]) == UA_ORDER_EQ); -} - - - -/* ServerState */ -static UA_INLINE void -UA_ServerState_init(UA_ServerState *p) { - memset(p, 0, sizeof(UA_ServerState)); -} - -static UA_INLINE UA_ServerState * -UA_ServerState_new(void) { - return (UA_ServerState*)UA_new(&UA_TYPES[UA_TYPES_SERVERSTATE]); -} - -static UA_INLINE UA_StatusCode -UA_ServerState_copy(const UA_ServerState *src, UA_ServerState *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERSTATE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ServerState_deleteMembers(UA_ServerState *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATE]); -} - -static UA_INLINE void -UA_ServerState_clear(UA_ServerState *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATE]); -} - -static UA_INLINE void -UA_ServerState_delete(UA_ServerState *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SERVERSTATE]); -}static UA_INLINE UA_Boolean -UA_ServerState_equal(const UA_ServerState *p1, const UA_ServerState *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERSTATE]) == UA_ORDER_EQ); -} - - - -/* RedundantServerDataType */ -static UA_INLINE void -UA_RedundantServerDataType_init(UA_RedundantServerDataType *p) { - memset(p, 0, sizeof(UA_RedundantServerDataType)); -} - -static UA_INLINE UA_RedundantServerDataType * -UA_RedundantServerDataType_new(void) { - return (UA_RedundantServerDataType*)UA_new(&UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_RedundantServerDataType_copy(const UA_RedundantServerDataType *src, UA_RedundantServerDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_RedundantServerDataType_deleteMembers(UA_RedundantServerDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); -} - -static UA_INLINE void -UA_RedundantServerDataType_clear(UA_RedundantServerDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); -} - -static UA_INLINE void -UA_RedundantServerDataType_delete(UA_RedundantServerDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]); -}static UA_INLINE UA_Boolean -UA_RedundantServerDataType_equal(const UA_RedundantServerDataType *p1, const UA_RedundantServerDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_REDUNDANTSERVERDATATYPE]) == UA_ORDER_EQ); -} - - - -/* EndpointUrlListDataType */ -static UA_INLINE void -UA_EndpointUrlListDataType_init(UA_EndpointUrlListDataType *p) { - memset(p, 0, sizeof(UA_EndpointUrlListDataType)); -} - -static UA_INLINE UA_EndpointUrlListDataType * -UA_EndpointUrlListDataType_new(void) { - return (UA_EndpointUrlListDataType*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_EndpointUrlListDataType_copy(const UA_EndpointUrlListDataType *src, UA_EndpointUrlListDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EndpointUrlListDataType_deleteMembers(UA_EndpointUrlListDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); -} - -static UA_INLINE void -UA_EndpointUrlListDataType_clear(UA_EndpointUrlListDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); -} - -static UA_INLINE void -UA_EndpointUrlListDataType_delete(UA_EndpointUrlListDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]); -}static UA_INLINE UA_Boolean -UA_EndpointUrlListDataType_equal(const UA_EndpointUrlListDataType *p1, const UA_EndpointUrlListDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE]) == UA_ORDER_EQ); -} - - - -/* NetworkGroupDataType */ -static UA_INLINE void -UA_NetworkGroupDataType_init(UA_NetworkGroupDataType *p) { - memset(p, 0, sizeof(UA_NetworkGroupDataType)); -} - -static UA_INLINE UA_NetworkGroupDataType * -UA_NetworkGroupDataType_new(void) { - return (UA_NetworkGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_NetworkGroupDataType_copy(const UA_NetworkGroupDataType *src, UA_NetworkGroupDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_NetworkGroupDataType_deleteMembers(UA_NetworkGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); -} - -static UA_INLINE void -UA_NetworkGroupDataType_clear(UA_NetworkGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); -} - -static UA_INLINE void -UA_NetworkGroupDataType_delete(UA_NetworkGroupDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]); -}static UA_INLINE UA_Boolean -UA_NetworkGroupDataType_equal(const UA_NetworkGroupDataType *p1, const UA_NetworkGroupDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_NETWORKGROUPDATATYPE]) == UA_ORDER_EQ); -} - - - -/* SamplingIntervalDiagnosticsDataType */ -static UA_INLINE void -UA_SamplingIntervalDiagnosticsDataType_init(UA_SamplingIntervalDiagnosticsDataType *p) { - memset(p, 0, sizeof(UA_SamplingIntervalDiagnosticsDataType)); -} - -static UA_INLINE UA_SamplingIntervalDiagnosticsDataType * -UA_SamplingIntervalDiagnosticsDataType_new(void) { - return (UA_SamplingIntervalDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SamplingIntervalDiagnosticsDataType_copy(const UA_SamplingIntervalDiagnosticsDataType *src, UA_SamplingIntervalDiagnosticsDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SamplingIntervalDiagnosticsDataType_deleteMembers(UA_SamplingIntervalDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SamplingIntervalDiagnosticsDataType_clear(UA_SamplingIntervalDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SamplingIntervalDiagnosticsDataType_delete(UA_SamplingIntervalDiagnosticsDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SamplingIntervalDiagnosticsDataType_equal(const UA_SamplingIntervalDiagnosticsDataType *p1, const UA_SamplingIntervalDiagnosticsDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SAMPLINGINTERVALDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ServerDiagnosticsSummaryDataType */ -static UA_INLINE void -UA_ServerDiagnosticsSummaryDataType_init(UA_ServerDiagnosticsSummaryDataType *p) { - memset(p, 0, sizeof(UA_ServerDiagnosticsSummaryDataType)); -} - -static UA_INLINE UA_ServerDiagnosticsSummaryDataType * -UA_ServerDiagnosticsSummaryDataType_new(void) { - return (UA_ServerDiagnosticsSummaryDataType*)UA_new(&UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ServerDiagnosticsSummaryDataType_copy(const UA_ServerDiagnosticsSummaryDataType *src, UA_ServerDiagnosticsSummaryDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ServerDiagnosticsSummaryDataType_deleteMembers(UA_ServerDiagnosticsSummaryDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); -} - -static UA_INLINE void -UA_ServerDiagnosticsSummaryDataType_clear(UA_ServerDiagnosticsSummaryDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); -} - -static UA_INLINE void -UA_ServerDiagnosticsSummaryDataType_delete(UA_ServerDiagnosticsSummaryDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ServerDiagnosticsSummaryDataType_equal(const UA_ServerDiagnosticsSummaryDataType *p1, const UA_ServerDiagnosticsSummaryDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ServerStatusDataType */ -static UA_INLINE void -UA_ServerStatusDataType_init(UA_ServerStatusDataType *p) { - memset(p, 0, sizeof(UA_ServerStatusDataType)); -} - -static UA_INLINE UA_ServerStatusDataType * -UA_ServerStatusDataType_new(void) { - return (UA_ServerStatusDataType*)UA_new(&UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ServerStatusDataType_copy(const UA_ServerStatusDataType *src, UA_ServerStatusDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ServerStatusDataType_deleteMembers(UA_ServerStatusDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); -} - -static UA_INLINE void -UA_ServerStatusDataType_clear(UA_ServerStatusDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); -} - -static UA_INLINE void -UA_ServerStatusDataType_delete(UA_ServerStatusDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ServerStatusDataType_equal(const UA_ServerStatusDataType *p1, const UA_ServerStatusDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* SessionSecurityDiagnosticsDataType */ -static UA_INLINE void -UA_SessionSecurityDiagnosticsDataType_init(UA_SessionSecurityDiagnosticsDataType *p) { - memset(p, 0, sizeof(UA_SessionSecurityDiagnosticsDataType)); -} - -static UA_INLINE UA_SessionSecurityDiagnosticsDataType * -UA_SessionSecurityDiagnosticsDataType_new(void) { - return (UA_SessionSecurityDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SessionSecurityDiagnosticsDataType_copy(const UA_SessionSecurityDiagnosticsDataType *src, UA_SessionSecurityDiagnosticsDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SessionSecurityDiagnosticsDataType_deleteMembers(UA_SessionSecurityDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SessionSecurityDiagnosticsDataType_clear(UA_SessionSecurityDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SessionSecurityDiagnosticsDataType_delete(UA_SessionSecurityDiagnosticsDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SessionSecurityDiagnosticsDataType_equal(const UA_SessionSecurityDiagnosticsDataType *p1, const UA_SessionSecurityDiagnosticsDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ServiceCounterDataType */ -static UA_INLINE void -UA_ServiceCounterDataType_init(UA_ServiceCounterDataType *p) { - memset(p, 0, sizeof(UA_ServiceCounterDataType)); -} - -static UA_INLINE UA_ServiceCounterDataType * -UA_ServiceCounterDataType_new(void) { - return (UA_ServiceCounterDataType*)UA_new(&UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ServiceCounterDataType_copy(const UA_ServiceCounterDataType *src, UA_ServiceCounterDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ServiceCounterDataType_deleteMembers(UA_ServiceCounterDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); -} - -static UA_INLINE void -UA_ServiceCounterDataType_clear(UA_ServiceCounterDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); -} - -static UA_INLINE void -UA_ServiceCounterDataType_delete(UA_ServiceCounterDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ServiceCounterDataType_equal(const UA_ServiceCounterDataType *p1, const UA_ServiceCounterDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE]) == UA_ORDER_EQ); -} - - - -/* StatusResult */ -static UA_INLINE void -UA_StatusResult_init(UA_StatusResult *p) { - memset(p, 0, sizeof(UA_StatusResult)); -} - -static UA_INLINE UA_StatusResult * -UA_StatusResult_new(void) { - return (UA_StatusResult*)UA_new(&UA_TYPES[UA_TYPES_STATUSRESULT]); -} - -static UA_INLINE UA_StatusCode -UA_StatusResult_copy(const UA_StatusResult *src, UA_StatusResult *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STATUSRESULT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StatusResult_deleteMembers(UA_StatusResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STATUSRESULT]); -} - -static UA_INLINE void -UA_StatusResult_clear(UA_StatusResult *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STATUSRESULT]); -} - -static UA_INLINE void -UA_StatusResult_delete(UA_StatusResult *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STATUSRESULT]); -}static UA_INLINE UA_Boolean -UA_StatusResult_equal(const UA_StatusResult *p1, const UA_StatusResult *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STATUSRESULT]) == UA_ORDER_EQ); -} - - - -/* SubscriptionDiagnosticsDataType */ -static UA_INLINE void -UA_SubscriptionDiagnosticsDataType_init(UA_SubscriptionDiagnosticsDataType *p) { - memset(p, 0, sizeof(UA_SubscriptionDiagnosticsDataType)); -} - -static UA_INLINE UA_SubscriptionDiagnosticsDataType * -UA_SubscriptionDiagnosticsDataType_new(void) { - return (UA_SubscriptionDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SubscriptionDiagnosticsDataType_copy(const UA_SubscriptionDiagnosticsDataType *src, UA_SubscriptionDiagnosticsDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SubscriptionDiagnosticsDataType_deleteMembers(UA_SubscriptionDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SubscriptionDiagnosticsDataType_clear(UA_SubscriptionDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SubscriptionDiagnosticsDataType_delete(UA_SubscriptionDiagnosticsDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SubscriptionDiagnosticsDataType_equal(const UA_SubscriptionDiagnosticsDataType *p1, const UA_SubscriptionDiagnosticsDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ModelChangeStructureVerbMask */ -static UA_INLINE void -UA_ModelChangeStructureVerbMask_init(UA_ModelChangeStructureVerbMask *p) { - memset(p, 0, sizeof(UA_ModelChangeStructureVerbMask)); -} - -static UA_INLINE UA_ModelChangeStructureVerbMask * -UA_ModelChangeStructureVerbMask_new(void) { - return (UA_ModelChangeStructureVerbMask*)UA_new(&UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); -} - -static UA_INLINE UA_StatusCode -UA_ModelChangeStructureVerbMask_copy(const UA_ModelChangeStructureVerbMask *src, UA_ModelChangeStructureVerbMask *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModelChangeStructureVerbMask_deleteMembers(UA_ModelChangeStructureVerbMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); -} - -static UA_INLINE void -UA_ModelChangeStructureVerbMask_clear(UA_ModelChangeStructureVerbMask *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); -} - -static UA_INLINE void -UA_ModelChangeStructureVerbMask_delete(UA_ModelChangeStructureVerbMask *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]); -}static UA_INLINE UA_Boolean -UA_ModelChangeStructureVerbMask_equal(const UA_ModelChangeStructureVerbMask *p1, const UA_ModelChangeStructureVerbMask *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREVERBMASK]) == UA_ORDER_EQ); -} - - - -/* ModelChangeStructureDataType */ -static UA_INLINE void -UA_ModelChangeStructureDataType_init(UA_ModelChangeStructureDataType *p) { - memset(p, 0, sizeof(UA_ModelChangeStructureDataType)); -} - -static UA_INLINE UA_ModelChangeStructureDataType * -UA_ModelChangeStructureDataType_new(void) { - return (UA_ModelChangeStructureDataType*)UA_new(&UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ModelChangeStructureDataType_copy(const UA_ModelChangeStructureDataType *src, UA_ModelChangeStructureDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModelChangeStructureDataType_deleteMembers(UA_ModelChangeStructureDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); -} - -static UA_INLINE void -UA_ModelChangeStructureDataType_clear(UA_ModelChangeStructureDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); -} - -static UA_INLINE void -UA_ModelChangeStructureDataType_delete(UA_ModelChangeStructureDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ModelChangeStructureDataType_equal(const UA_ModelChangeStructureDataType *p1, const UA_ModelChangeStructureDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODELCHANGESTRUCTUREDATATYPE]) == UA_ORDER_EQ); -} - - - -/* SemanticChangeStructureDataType */ -static UA_INLINE void -UA_SemanticChangeStructureDataType_init(UA_SemanticChangeStructureDataType *p) { - memset(p, 0, sizeof(UA_SemanticChangeStructureDataType)); -} - -static UA_INLINE UA_SemanticChangeStructureDataType * -UA_SemanticChangeStructureDataType_new(void) { - return (UA_SemanticChangeStructureDataType*)UA_new(&UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SemanticChangeStructureDataType_copy(const UA_SemanticChangeStructureDataType *src, UA_SemanticChangeStructureDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SemanticChangeStructureDataType_deleteMembers(UA_SemanticChangeStructureDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); -} - -static UA_INLINE void -UA_SemanticChangeStructureDataType_clear(UA_SemanticChangeStructureDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); -} - -static UA_INLINE void -UA_SemanticChangeStructureDataType_delete(UA_SemanticChangeStructureDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SemanticChangeStructureDataType_equal(const UA_SemanticChangeStructureDataType *p1, const UA_SemanticChangeStructureDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SEMANTICCHANGESTRUCTUREDATATYPE]) == UA_ORDER_EQ); -} - - - -/* Range */ -static UA_INLINE void -UA_Range_init(UA_Range *p) { - memset(p, 0, sizeof(UA_Range)); -} - -static UA_INLINE UA_Range * -UA_Range_new(void) { - return (UA_Range*)UA_new(&UA_TYPES[UA_TYPES_RANGE]); -} - -static UA_INLINE UA_StatusCode -UA_Range_copy(const UA_Range *src, UA_Range *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_RANGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Range_deleteMembers(UA_Range *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RANGE]); -} - -static UA_INLINE void -UA_Range_clear(UA_Range *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_RANGE]); -} - -static UA_INLINE void -UA_Range_delete(UA_Range *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_RANGE]); -}static UA_INLINE UA_Boolean -UA_Range_equal(const UA_Range *p1, const UA_Range *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_RANGE]) == UA_ORDER_EQ); -} - - - -/* EUInformation */ -static UA_INLINE void -UA_EUInformation_init(UA_EUInformation *p) { - memset(p, 0, sizeof(UA_EUInformation)); -} - -static UA_INLINE UA_EUInformation * -UA_EUInformation_new(void) { - return (UA_EUInformation*)UA_new(&UA_TYPES[UA_TYPES_EUINFORMATION]); -} - -static UA_INLINE UA_StatusCode -UA_EUInformation_copy(const UA_EUInformation *src, UA_EUInformation *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EUINFORMATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EUInformation_deleteMembers(UA_EUInformation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EUINFORMATION]); -} - -static UA_INLINE void -UA_EUInformation_clear(UA_EUInformation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EUINFORMATION]); -} - -static UA_INLINE void -UA_EUInformation_delete(UA_EUInformation *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EUINFORMATION]); -}static UA_INLINE UA_Boolean -UA_EUInformation_equal(const UA_EUInformation *p1, const UA_EUInformation *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EUINFORMATION]) == UA_ORDER_EQ); -} - - - -/* AxisScaleEnumeration */ -static UA_INLINE void -UA_AxisScaleEnumeration_init(UA_AxisScaleEnumeration *p) { - memset(p, 0, sizeof(UA_AxisScaleEnumeration)); -} - -static UA_INLINE UA_AxisScaleEnumeration * -UA_AxisScaleEnumeration_new(void) { - return (UA_AxisScaleEnumeration*)UA_new(&UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); -} - -static UA_INLINE UA_StatusCode -UA_AxisScaleEnumeration_copy(const UA_AxisScaleEnumeration *src, UA_AxisScaleEnumeration *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AxisScaleEnumeration_deleteMembers(UA_AxisScaleEnumeration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); -} - -static UA_INLINE void -UA_AxisScaleEnumeration_clear(UA_AxisScaleEnumeration *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); -} - -static UA_INLINE void -UA_AxisScaleEnumeration_delete(UA_AxisScaleEnumeration *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]); -}static UA_INLINE UA_Boolean -UA_AxisScaleEnumeration_equal(const UA_AxisScaleEnumeration *p1, const UA_AxisScaleEnumeration *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION]) == UA_ORDER_EQ); -} - - - -/* ComplexNumberType */ -static UA_INLINE void -UA_ComplexNumberType_init(UA_ComplexNumberType *p) { - memset(p, 0, sizeof(UA_ComplexNumberType)); -} - -static UA_INLINE UA_ComplexNumberType * -UA_ComplexNumberType_new(void) { - return (UA_ComplexNumberType*)UA_new(&UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ComplexNumberType_copy(const UA_ComplexNumberType *src, UA_ComplexNumberType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ComplexNumberType_deleteMembers(UA_ComplexNumberType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); -} - -static UA_INLINE void -UA_ComplexNumberType_clear(UA_ComplexNumberType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); -} - -static UA_INLINE void -UA_ComplexNumberType_delete(UA_ComplexNumberType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]); -}static UA_INLINE UA_Boolean -UA_ComplexNumberType_equal(const UA_ComplexNumberType *p1, const UA_ComplexNumberType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_COMPLEXNUMBERTYPE]) == UA_ORDER_EQ); -} - - - -/* DoubleComplexNumberType */ -static UA_INLINE void -UA_DoubleComplexNumberType_init(UA_DoubleComplexNumberType *p) { - memset(p, 0, sizeof(UA_DoubleComplexNumberType)); -} - -static UA_INLINE UA_DoubleComplexNumberType * -UA_DoubleComplexNumberType_new(void) { - return (UA_DoubleComplexNumberType*)UA_new(&UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DoubleComplexNumberType_copy(const UA_DoubleComplexNumberType *src, UA_DoubleComplexNumberType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DoubleComplexNumberType_deleteMembers(UA_DoubleComplexNumberType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); -} - -static UA_INLINE void -UA_DoubleComplexNumberType_clear(UA_DoubleComplexNumberType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); -} - -static UA_INLINE void -UA_DoubleComplexNumberType_delete(UA_DoubleComplexNumberType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]); -}static UA_INLINE UA_Boolean -UA_DoubleComplexNumberType_equal(const UA_DoubleComplexNumberType *p1, const UA_DoubleComplexNumberType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DOUBLECOMPLEXNUMBERTYPE]) == UA_ORDER_EQ); -} - - - -/* AxisInformation */ -static UA_INLINE void -UA_AxisInformation_init(UA_AxisInformation *p) { - memset(p, 0, sizeof(UA_AxisInformation)); -} - -static UA_INLINE UA_AxisInformation * -UA_AxisInformation_new(void) { - return (UA_AxisInformation*)UA_new(&UA_TYPES[UA_TYPES_AXISINFORMATION]); -} - -static UA_INLINE UA_StatusCode -UA_AxisInformation_copy(const UA_AxisInformation *src, UA_AxisInformation *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_AXISINFORMATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AxisInformation_deleteMembers(UA_AxisInformation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AXISINFORMATION]); -} - -static UA_INLINE void -UA_AxisInformation_clear(UA_AxisInformation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_AXISINFORMATION]); -} - -static UA_INLINE void -UA_AxisInformation_delete(UA_AxisInformation *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_AXISINFORMATION]); -}static UA_INLINE UA_Boolean -UA_AxisInformation_equal(const UA_AxisInformation *p1, const UA_AxisInformation *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_AXISINFORMATION]) == UA_ORDER_EQ); -} - - - -/* XVType */ -static UA_INLINE void -UA_XVType_init(UA_XVType *p) { - memset(p, 0, sizeof(UA_XVType)); -} - -static UA_INLINE UA_XVType * -UA_XVType_new(void) { - return (UA_XVType*)UA_new(&UA_TYPES[UA_TYPES_XVTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_XVType_copy(const UA_XVType *src, UA_XVType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_XVTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_XVType_deleteMembers(UA_XVType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_XVTYPE]); -} - -static UA_INLINE void -UA_XVType_clear(UA_XVType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_XVTYPE]); -} - -static UA_INLINE void -UA_XVType_delete(UA_XVType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_XVTYPE]); -}static UA_INLINE UA_Boolean -UA_XVType_equal(const UA_XVType *p1, const UA_XVType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_XVTYPE]) == UA_ORDER_EQ); -} - - - -/* ProgramDiagnosticDataType */ -static UA_INLINE void -UA_ProgramDiagnosticDataType_init(UA_ProgramDiagnosticDataType *p) { - memset(p, 0, sizeof(UA_ProgramDiagnosticDataType)); -} - -static UA_INLINE UA_ProgramDiagnosticDataType * -UA_ProgramDiagnosticDataType_new(void) { - return (UA_ProgramDiagnosticDataType*)UA_new(&UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ProgramDiagnosticDataType_copy(const UA_ProgramDiagnosticDataType *src, UA_ProgramDiagnosticDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ProgramDiagnosticDataType_deleteMembers(UA_ProgramDiagnosticDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); -} - -static UA_INLINE void -UA_ProgramDiagnosticDataType_clear(UA_ProgramDiagnosticDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); -} - -static UA_INLINE void -UA_ProgramDiagnosticDataType_delete(UA_ProgramDiagnosticDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ProgramDiagnosticDataType_equal(const UA_ProgramDiagnosticDataType *p1, const UA_ProgramDiagnosticDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTICDATATYPE]) == UA_ORDER_EQ); -} - - - -/* ProgramDiagnostic2DataType */ -static UA_INLINE void -UA_ProgramDiagnostic2DataType_init(UA_ProgramDiagnostic2DataType *p) { - memset(p, 0, sizeof(UA_ProgramDiagnostic2DataType)); -} - -static UA_INLINE UA_ProgramDiagnostic2DataType * -UA_ProgramDiagnostic2DataType_new(void) { - return (UA_ProgramDiagnostic2DataType*)UA_new(&UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ProgramDiagnostic2DataType_copy(const UA_ProgramDiagnostic2DataType *src, UA_ProgramDiagnostic2DataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ProgramDiagnostic2DataType_deleteMembers(UA_ProgramDiagnostic2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); -} - -static UA_INLINE void -UA_ProgramDiagnostic2DataType_clear(UA_ProgramDiagnostic2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); -} - -static UA_INLINE void -UA_ProgramDiagnostic2DataType_delete(UA_ProgramDiagnostic2DataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]); -}static UA_INLINE UA_Boolean -UA_ProgramDiagnostic2DataType_equal(const UA_ProgramDiagnostic2DataType *p1, const UA_ProgramDiagnostic2DataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PROGRAMDIAGNOSTIC2DATATYPE]) == UA_ORDER_EQ); -} - - - -/* Annotation */ -static UA_INLINE void -UA_Annotation_init(UA_Annotation *p) { - memset(p, 0, sizeof(UA_Annotation)); -} - -static UA_INLINE UA_Annotation * -UA_Annotation_new(void) { - return (UA_Annotation*)UA_new(&UA_TYPES[UA_TYPES_ANNOTATION]); -} - -static UA_INLINE UA_StatusCode -UA_Annotation_copy(const UA_Annotation *src, UA_Annotation *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ANNOTATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_Annotation_deleteMembers(UA_Annotation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ANNOTATION]); -} - -static UA_INLINE void -UA_Annotation_clear(UA_Annotation *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ANNOTATION]); -} - -static UA_INLINE void -UA_Annotation_delete(UA_Annotation *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ANNOTATION]); -}static UA_INLINE UA_Boolean -UA_Annotation_equal(const UA_Annotation *p1, const UA_Annotation *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ANNOTATION]) == UA_ORDER_EQ); -} - - - -/* ExceptionDeviationFormat */ -static UA_INLINE void -UA_ExceptionDeviationFormat_init(UA_ExceptionDeviationFormat *p) { - memset(p, 0, sizeof(UA_ExceptionDeviationFormat)); -} - -static UA_INLINE UA_ExceptionDeviationFormat * -UA_ExceptionDeviationFormat_new(void) { - return (UA_ExceptionDeviationFormat*)UA_new(&UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); -} - -static UA_INLINE UA_StatusCode -UA_ExceptionDeviationFormat_copy(const UA_ExceptionDeviationFormat *src, UA_ExceptionDeviationFormat *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ExceptionDeviationFormat_deleteMembers(UA_ExceptionDeviationFormat *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); -} - -static UA_INLINE void -UA_ExceptionDeviationFormat_clear(UA_ExceptionDeviationFormat *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); -} - -static UA_INLINE void -UA_ExceptionDeviationFormat_delete(UA_ExceptionDeviationFormat *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]); -}static UA_INLINE UA_Boolean -UA_ExceptionDeviationFormat_equal(const UA_ExceptionDeviationFormat *p1, const UA_ExceptionDeviationFormat *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EXCEPTIONDEVIATIONFORMAT]) == UA_ORDER_EQ); -} - - - -/* EndpointType */ -static UA_INLINE void -UA_EndpointType_init(UA_EndpointType *p) { - memset(p, 0, sizeof(UA_EndpointType)); -} - -static UA_INLINE UA_EndpointType * -UA_EndpointType_new(void) { - return (UA_EndpointType*)UA_new(&UA_TYPES[UA_TYPES_ENDPOINTTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_EndpointType_copy(const UA_EndpointType *src, UA_EndpointType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EndpointType_deleteMembers(UA_EndpointType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); -} - -static UA_INLINE void -UA_EndpointType_clear(UA_EndpointType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); -} - -static UA_INLINE void -UA_EndpointType_delete(UA_EndpointType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]); -}static UA_INLINE UA_Boolean -UA_EndpointType_equal(const UA_EndpointType *p1, const UA_EndpointType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENDPOINTTYPE]) == UA_ORDER_EQ); -} - - - -/* StructureDescription */ -static UA_INLINE void -UA_StructureDescription_init(UA_StructureDescription *p) { - memset(p, 0, sizeof(UA_StructureDescription)); -} - -static UA_INLINE UA_StructureDescription * -UA_StructureDescription_new(void) { - return (UA_StructureDescription*)UA_new(&UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_StructureDescription_copy(const UA_StructureDescription *src, UA_StructureDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StructureDescription_deleteMembers(UA_StructureDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); -} - -static UA_INLINE void -UA_StructureDescription_clear(UA_StructureDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); -} - -static UA_INLINE void -UA_StructureDescription_delete(UA_StructureDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_StructureDescription_equal(const UA_StructureDescription *p1, const UA_StructureDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* FieldMetaData */ -static UA_INLINE void -UA_FieldMetaData_init(UA_FieldMetaData *p) { - memset(p, 0, sizeof(UA_FieldMetaData)); -} - -static UA_INLINE UA_FieldMetaData * -UA_FieldMetaData_new(void) { - return (UA_FieldMetaData*)UA_new(&UA_TYPES[UA_TYPES_FIELDMETADATA]); -} - -static UA_INLINE UA_StatusCode -UA_FieldMetaData_copy(const UA_FieldMetaData *src, UA_FieldMetaData *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FIELDMETADATA]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FieldMetaData_deleteMembers(UA_FieldMetaData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FIELDMETADATA]); -} - -static UA_INLINE void -UA_FieldMetaData_clear(UA_FieldMetaData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FIELDMETADATA]); -} - -static UA_INLINE void -UA_FieldMetaData_delete(UA_FieldMetaData *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FIELDMETADATA]); -}static UA_INLINE UA_Boolean -UA_FieldMetaData_equal(const UA_FieldMetaData *p1, const UA_FieldMetaData *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FIELDMETADATA]) == UA_ORDER_EQ); -} - - - -/* PublishedEventsDataType */ -static UA_INLINE void -UA_PublishedEventsDataType_init(UA_PublishedEventsDataType *p) { - memset(p, 0, sizeof(UA_PublishedEventsDataType)); -} - -static UA_INLINE UA_PublishedEventsDataType * -UA_PublishedEventsDataType_new(void) { - return (UA_PublishedEventsDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PublishedEventsDataType_copy(const UA_PublishedEventsDataType *src, UA_PublishedEventsDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishedEventsDataType_deleteMembers(UA_PublishedEventsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); -} - -static UA_INLINE void -UA_PublishedEventsDataType_clear(UA_PublishedEventsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); -} - -static UA_INLINE void -UA_PublishedEventsDataType_delete(UA_PublishedEventsDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PublishedEventsDataType_equal(const UA_PublishedEventsDataType *p1, const UA_PublishedEventsDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubGroupDataType */ -static UA_INLINE void -UA_PubSubGroupDataType_init(UA_PubSubGroupDataType *p) { - memset(p, 0, sizeof(UA_PubSubGroupDataType)); -} - -static UA_INLINE UA_PubSubGroupDataType * -UA_PubSubGroupDataType_new(void) { - return (UA_PubSubGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubGroupDataType_copy(const UA_PubSubGroupDataType *src, UA_PubSubGroupDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubGroupDataType_deleteMembers(UA_PubSubGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); -} - -static UA_INLINE void -UA_PubSubGroupDataType_clear(UA_PubSubGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); -} - -static UA_INLINE void -UA_PubSubGroupDataType_delete(UA_PubSubGroupDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubGroupDataType_equal(const UA_PubSubGroupDataType *p1, const UA_PubSubGroupDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBGROUPDATATYPE]) == UA_ORDER_EQ); -} - - - -/* WriterGroupDataType */ -static UA_INLINE void -UA_WriterGroupDataType_init(UA_WriterGroupDataType *p) { - memset(p, 0, sizeof(UA_WriterGroupDataType)); -} - -static UA_INLINE UA_WriterGroupDataType * -UA_WriterGroupDataType_new(void) { - return (UA_WriterGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_WriterGroupDataType_copy(const UA_WriterGroupDataType *src, UA_WriterGroupDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_WriterGroupDataType_deleteMembers(UA_WriterGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); -} - -static UA_INLINE void -UA_WriterGroupDataType_clear(UA_WriterGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); -} - -static UA_INLINE void -UA_WriterGroupDataType_delete(UA_WriterGroupDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]); -}static UA_INLINE UA_Boolean -UA_WriterGroupDataType_equal(const UA_WriterGroupDataType *p1, const UA_WriterGroupDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE]) == UA_ORDER_EQ); -} - - - -/* FieldTargetDataType */ -static UA_INLINE void -UA_FieldTargetDataType_init(UA_FieldTargetDataType *p) { - memset(p, 0, sizeof(UA_FieldTargetDataType)); -} - -static UA_INLINE UA_FieldTargetDataType * -UA_FieldTargetDataType_new(void) { - return (UA_FieldTargetDataType*)UA_new(&UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_FieldTargetDataType_copy(const UA_FieldTargetDataType *src, UA_FieldTargetDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_FieldTargetDataType_deleteMembers(UA_FieldTargetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); -} - -static UA_INLINE void -UA_FieldTargetDataType_clear(UA_FieldTargetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); -} - -static UA_INLINE void -UA_FieldTargetDataType_delete(UA_FieldTargetDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); -}static UA_INLINE UA_Boolean -UA_FieldTargetDataType_equal(const UA_FieldTargetDataType *p1, const UA_FieldTargetDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]) == UA_ORDER_EQ); -} - - - -/* SubscribedDataSetMirrorDataType */ -static UA_INLINE void -UA_SubscribedDataSetMirrorDataType_init(UA_SubscribedDataSetMirrorDataType *p) { - memset(p, 0, sizeof(UA_SubscribedDataSetMirrorDataType)); -} - -static UA_INLINE UA_SubscribedDataSetMirrorDataType * -UA_SubscribedDataSetMirrorDataType_new(void) { - return (UA_SubscribedDataSetMirrorDataType*)UA_new(&UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SubscribedDataSetMirrorDataType_copy(const UA_SubscribedDataSetMirrorDataType *src, UA_SubscribedDataSetMirrorDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SubscribedDataSetMirrorDataType_deleteMembers(UA_SubscribedDataSetMirrorDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); -} - -static UA_INLINE void -UA_SubscribedDataSetMirrorDataType_clear(UA_SubscribedDataSetMirrorDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); -} - -static UA_INLINE void -UA_SubscribedDataSetMirrorDataType_delete(UA_SubscribedDataSetMirrorDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SubscribedDataSetMirrorDataType_equal(const UA_SubscribedDataSetMirrorDataType *p1, const UA_SubscribedDataSetMirrorDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]) == UA_ORDER_EQ); -} - - - -/* SecurityGroupDataType */ -static UA_INLINE void -UA_SecurityGroupDataType_init(UA_SecurityGroupDataType *p) { - memset(p, 0, sizeof(UA_SecurityGroupDataType)); -} - -static UA_INLINE UA_SecurityGroupDataType * -UA_SecurityGroupDataType_new(void) { - return (UA_SecurityGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SecurityGroupDataType_copy(const UA_SecurityGroupDataType *src, UA_SecurityGroupDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SecurityGroupDataType_deleteMembers(UA_SecurityGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); -} - -static UA_INLINE void -UA_SecurityGroupDataType_clear(UA_SecurityGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); -} - -static UA_INLINE void -UA_SecurityGroupDataType_delete(UA_SecurityGroupDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SecurityGroupDataType_equal(const UA_SecurityGroupDataType *p1, const UA_SecurityGroupDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubKeyPushTargetDataType */ -static UA_INLINE void -UA_PubSubKeyPushTargetDataType_init(UA_PubSubKeyPushTargetDataType *p) { - memset(p, 0, sizeof(UA_PubSubKeyPushTargetDataType)); -} - -static UA_INLINE UA_PubSubKeyPushTargetDataType * -UA_PubSubKeyPushTargetDataType_new(void) { - return (UA_PubSubKeyPushTargetDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubKeyPushTargetDataType_copy(const UA_PubSubKeyPushTargetDataType *src, UA_PubSubKeyPushTargetDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubKeyPushTargetDataType_deleteMembers(UA_PubSubKeyPushTargetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); -} - -static UA_INLINE void -UA_PubSubKeyPushTargetDataType_clear(UA_PubSubKeyPushTargetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); -} - -static UA_INLINE void -UA_PubSubKeyPushTargetDataType_delete(UA_PubSubKeyPushTargetDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubKeyPushTargetDataType_equal(const UA_PubSubKeyPushTargetDataType *p1, const UA_PubSubKeyPushTargetDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE]) == UA_ORDER_EQ); -} - - - -/* EnumDefinition */ -static UA_INLINE void -UA_EnumDefinition_init(UA_EnumDefinition *p) { - memset(p, 0, sizeof(UA_EnumDefinition)); -} - -static UA_INLINE UA_EnumDefinition * -UA_EnumDefinition_new(void) { - return (UA_EnumDefinition*)UA_new(&UA_TYPES[UA_TYPES_ENUMDEFINITION]); -} - -static UA_INLINE UA_StatusCode -UA_EnumDefinition_copy(const UA_EnumDefinition *src, UA_EnumDefinition *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EnumDefinition_deleteMembers(UA_EnumDefinition *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); -} - -static UA_INLINE void -UA_EnumDefinition_clear(UA_EnumDefinition *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); -} - -static UA_INLINE void -UA_EnumDefinition_delete(UA_EnumDefinition *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENUMDEFINITION]); -}static UA_INLINE UA_Boolean -UA_EnumDefinition_equal(const UA_EnumDefinition *p1, const UA_EnumDefinition *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMDEFINITION]) == UA_ORDER_EQ); -} - - - -/* ReadEventDetails */ -static UA_INLINE void -UA_ReadEventDetails_init(UA_ReadEventDetails *p) { - memset(p, 0, sizeof(UA_ReadEventDetails)); -} - -static UA_INLINE UA_ReadEventDetails * -UA_ReadEventDetails_new(void) { - return (UA_ReadEventDetails*)UA_new(&UA_TYPES[UA_TYPES_READEVENTDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_ReadEventDetails_copy(const UA_ReadEventDetails *src, UA_ReadEventDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadEventDetails_deleteMembers(UA_ReadEventDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); -} - -static UA_INLINE void -UA_ReadEventDetails_clear(UA_ReadEventDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); -} - -static UA_INLINE void -UA_ReadEventDetails_delete(UA_ReadEventDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READEVENTDETAILS]); -}static UA_INLINE UA_Boolean -UA_ReadEventDetails_equal(const UA_ReadEventDetails *p1, const UA_ReadEventDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READEVENTDETAILS]) == UA_ORDER_EQ); -} - - - -/* ReadProcessedDetails */ -static UA_INLINE void -UA_ReadProcessedDetails_init(UA_ReadProcessedDetails *p) { - memset(p, 0, sizeof(UA_ReadProcessedDetails)); -} - -static UA_INLINE UA_ReadProcessedDetails * -UA_ReadProcessedDetails_new(void) { - return (UA_ReadProcessedDetails*)UA_new(&UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_ReadProcessedDetails_copy(const UA_ReadProcessedDetails *src, UA_ReadProcessedDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReadProcessedDetails_deleteMembers(UA_ReadProcessedDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); -} - -static UA_INLINE void -UA_ReadProcessedDetails_clear(UA_ReadProcessedDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); -} - -static UA_INLINE void -UA_ReadProcessedDetails_delete(UA_ReadProcessedDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]); -}static UA_INLINE UA_Boolean -UA_ReadProcessedDetails_equal(const UA_ReadProcessedDetails *p1, const UA_ReadProcessedDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]) == UA_ORDER_EQ); -} - - - -/* ModificationInfo */ -static UA_INLINE void -UA_ModificationInfo_init(UA_ModificationInfo *p) { - memset(p, 0, sizeof(UA_ModificationInfo)); -} - -static UA_INLINE UA_ModificationInfo * -UA_ModificationInfo_new(void) { - return (UA_ModificationInfo*)UA_new(&UA_TYPES[UA_TYPES_MODIFICATIONINFO]); -} - -static UA_INLINE UA_StatusCode -UA_ModificationInfo_copy(const UA_ModificationInfo *src, UA_ModificationInfo *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ModificationInfo_deleteMembers(UA_ModificationInfo *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); -} - -static UA_INLINE void -UA_ModificationInfo_clear(UA_ModificationInfo *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); -} - -static UA_INLINE void -UA_ModificationInfo_delete(UA_ModificationInfo *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]); -}static UA_INLINE UA_Boolean -UA_ModificationInfo_equal(const UA_ModificationInfo *p1, const UA_ModificationInfo *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_MODIFICATIONINFO]) == UA_ORDER_EQ); -} - - - -/* HistoryModifiedData */ -static UA_INLINE void -UA_HistoryModifiedData_init(UA_HistoryModifiedData *p) { - memset(p, 0, sizeof(UA_HistoryModifiedData)); -} - -static UA_INLINE UA_HistoryModifiedData * -UA_HistoryModifiedData_new(void) { - return (UA_HistoryModifiedData*)UA_new(&UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryModifiedData_copy(const UA_HistoryModifiedData *src, UA_HistoryModifiedData *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryModifiedData_deleteMembers(UA_HistoryModifiedData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); -} - -static UA_INLINE void -UA_HistoryModifiedData_clear(UA_HistoryModifiedData *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); -} - -static UA_INLINE void -UA_HistoryModifiedData_delete(UA_HistoryModifiedData *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]); -}static UA_INLINE UA_Boolean -UA_HistoryModifiedData_equal(const UA_HistoryModifiedData *p1, const UA_HistoryModifiedData *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]) == UA_ORDER_EQ); -} - - - -/* HistoryEvent */ -static UA_INLINE void -UA_HistoryEvent_init(UA_HistoryEvent *p) { - memset(p, 0, sizeof(UA_HistoryEvent)); -} - -static UA_INLINE UA_HistoryEvent * -UA_HistoryEvent_new(void) { - return (UA_HistoryEvent*)UA_new(&UA_TYPES[UA_TYPES_HISTORYEVENT]); -} - -static UA_INLINE UA_StatusCode -UA_HistoryEvent_copy(const UA_HistoryEvent *src, UA_HistoryEvent *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_HISTORYEVENT]); -} - -UA_DEPRECATED static UA_INLINE void -UA_HistoryEvent_deleteMembers(UA_HistoryEvent *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENT]); -} - -static UA_INLINE void -UA_HistoryEvent_clear(UA_HistoryEvent *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_HISTORYEVENT]); -} - -static UA_INLINE void -UA_HistoryEvent_delete(UA_HistoryEvent *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_HISTORYEVENT]); -}static UA_INLINE UA_Boolean -UA_HistoryEvent_equal(const UA_HistoryEvent *p1, const UA_HistoryEvent *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_HISTORYEVENT]) == UA_ORDER_EQ); -} - - - -/* UpdateEventDetails */ -static UA_INLINE void -UA_UpdateEventDetails_init(UA_UpdateEventDetails *p) { - memset(p, 0, sizeof(UA_UpdateEventDetails)); -} - -static UA_INLINE UA_UpdateEventDetails * -UA_UpdateEventDetails_new(void) { - return (UA_UpdateEventDetails*)UA_new(&UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); -} - -static UA_INLINE UA_StatusCode -UA_UpdateEventDetails_copy(const UA_UpdateEventDetails *src, UA_UpdateEventDetails *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UpdateEventDetails_deleteMembers(UA_UpdateEventDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); -} - -static UA_INLINE void -UA_UpdateEventDetails_clear(UA_UpdateEventDetails *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); -} - -static UA_INLINE void -UA_UpdateEventDetails_delete(UA_UpdateEventDetails *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]); -}static UA_INLINE UA_Boolean -UA_UpdateEventDetails_equal(const UA_UpdateEventDetails *p1, const UA_UpdateEventDetails *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UPDATEEVENTDETAILS]) == UA_ORDER_EQ); -} - - - -/* DataChangeNotification */ -static UA_INLINE void -UA_DataChangeNotification_init(UA_DataChangeNotification *p) { - memset(p, 0, sizeof(UA_DataChangeNotification)); -} - -static UA_INLINE UA_DataChangeNotification * -UA_DataChangeNotification_new(void) { - return (UA_DataChangeNotification*)UA_new(&UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); -} - -static UA_INLINE UA_StatusCode -UA_DataChangeNotification_copy(const UA_DataChangeNotification *src, UA_DataChangeNotification *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataChangeNotification_deleteMembers(UA_DataChangeNotification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); -} - -static UA_INLINE void -UA_DataChangeNotification_clear(UA_DataChangeNotification *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); -} - -static UA_INLINE void -UA_DataChangeNotification_delete(UA_DataChangeNotification *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); -}static UA_INLINE UA_Boolean -UA_DataChangeNotification_equal(const UA_DataChangeNotification *p1, const UA_DataChangeNotification *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]) == UA_ORDER_EQ); -} - - - -/* EventNotificationList */ -static UA_INLINE void -UA_EventNotificationList_init(UA_EventNotificationList *p) { - memset(p, 0, sizeof(UA_EventNotificationList)); -} - -static UA_INLINE UA_EventNotificationList * -UA_EventNotificationList_new(void) { - return (UA_EventNotificationList*)UA_new(&UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); -} - -static UA_INLINE UA_StatusCode -UA_EventNotificationList_copy(const UA_EventNotificationList *src, UA_EventNotificationList *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EventNotificationList_deleteMembers(UA_EventNotificationList *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); -} - -static UA_INLINE void -UA_EventNotificationList_clear(UA_EventNotificationList *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); -} - -static UA_INLINE void -UA_EventNotificationList_delete(UA_EventNotificationList *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); -}static UA_INLINE UA_Boolean -UA_EventNotificationList_equal(const UA_EventNotificationList *p1, const UA_EventNotificationList *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]) == UA_ORDER_EQ); -} - - - -/* SessionDiagnosticsDataType */ -static UA_INLINE void -UA_SessionDiagnosticsDataType_init(UA_SessionDiagnosticsDataType *p) { - memset(p, 0, sizeof(UA_SessionDiagnosticsDataType)); -} - -static UA_INLINE UA_SessionDiagnosticsDataType * -UA_SessionDiagnosticsDataType_new(void) { - return (UA_SessionDiagnosticsDataType*)UA_new(&UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_SessionDiagnosticsDataType_copy(const UA_SessionDiagnosticsDataType *src, UA_SessionDiagnosticsDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SessionDiagnosticsDataType_deleteMembers(UA_SessionDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SessionDiagnosticsDataType_clear(UA_SessionDiagnosticsDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); -} - -static UA_INLINE void -UA_SessionDiagnosticsDataType_delete(UA_SessionDiagnosticsDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); -}static UA_INLINE UA_Boolean -UA_SessionDiagnosticsDataType_equal(const UA_SessionDiagnosticsDataType *p1, const UA_SessionDiagnosticsDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]) == UA_ORDER_EQ); -} - - - -/* EnumDescription */ -static UA_INLINE void -UA_EnumDescription_init(UA_EnumDescription *p) { - memset(p, 0, sizeof(UA_EnumDescription)); -} - -static UA_INLINE UA_EnumDescription * -UA_EnumDescription_new(void) { - return (UA_EnumDescription*)UA_new(&UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); -} - -static UA_INLINE UA_StatusCode -UA_EnumDescription_copy(const UA_EnumDescription *src, UA_EnumDescription *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); -} - -UA_DEPRECATED static UA_INLINE void -UA_EnumDescription_deleteMembers(UA_EnumDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); -} - -static UA_INLINE void -UA_EnumDescription_clear(UA_EnumDescription *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); -} - -static UA_INLINE void -UA_EnumDescription_delete(UA_EnumDescription *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]); -}static UA_INLINE UA_Boolean -UA_EnumDescription_equal(const UA_EnumDescription *p1, const UA_EnumDescription *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_ENUMDESCRIPTION]) == UA_ORDER_EQ); -} - - - -/* UABinaryFileDataType */ -static UA_INLINE void -UA_UABinaryFileDataType_init(UA_UABinaryFileDataType *p) { - memset(p, 0, sizeof(UA_UABinaryFileDataType)); -} - -static UA_INLINE UA_UABinaryFileDataType * -UA_UABinaryFileDataType_new(void) { - return (UA_UABinaryFileDataType*)UA_new(&UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_UABinaryFileDataType_copy(const UA_UABinaryFileDataType *src, UA_UABinaryFileDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_UABinaryFileDataType_deleteMembers(UA_UABinaryFileDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); -} - -static UA_INLINE void -UA_UABinaryFileDataType_clear(UA_UABinaryFileDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); -} - -static UA_INLINE void -UA_UABinaryFileDataType_delete(UA_UABinaryFileDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]); -}static UA_INLINE UA_Boolean -UA_UABinaryFileDataType_equal(const UA_UABinaryFileDataType *p1, const UA_UABinaryFileDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DataSetMetaDataType */ -static UA_INLINE void -UA_DataSetMetaDataType_init(UA_DataSetMetaDataType *p) { - memset(p, 0, sizeof(UA_DataSetMetaDataType)); -} - -static UA_INLINE UA_DataSetMetaDataType * -UA_DataSetMetaDataType_new(void) { - return (UA_DataSetMetaDataType*)UA_new(&UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DataSetMetaDataType_copy(const UA_DataSetMetaDataType *src, UA_DataSetMetaDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataSetMetaDataType_deleteMembers(UA_DataSetMetaDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); -} - -static UA_INLINE void -UA_DataSetMetaDataType_clear(UA_DataSetMetaDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); -} - -static UA_INLINE void -UA_DataSetMetaDataType_delete(UA_DataSetMetaDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); -}static UA_INLINE UA_Boolean -UA_DataSetMetaDataType_equal(const UA_DataSetMetaDataType *p1, const UA_DataSetMetaDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]) == UA_ORDER_EQ); -} - - - -/* PublishedDataSetDataType */ -static UA_INLINE void -UA_PublishedDataSetDataType_init(UA_PublishedDataSetDataType *p) { - memset(p, 0, sizeof(UA_PublishedDataSetDataType)); -} - -static UA_INLINE UA_PublishedDataSetDataType * -UA_PublishedDataSetDataType_new(void) { - return (UA_PublishedDataSetDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PublishedDataSetDataType_copy(const UA_PublishedDataSetDataType *src, UA_PublishedDataSetDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PublishedDataSetDataType_deleteMembers(UA_PublishedDataSetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); -} - -static UA_INLINE void -UA_PublishedDataSetDataType_clear(UA_PublishedDataSetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); -} - -static UA_INLINE void -UA_PublishedDataSetDataType_delete(UA_PublishedDataSetDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PublishedDataSetDataType_equal(const UA_PublishedDataSetDataType *p1, const UA_PublishedDataSetDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DataSetReaderDataType */ -static UA_INLINE void -UA_DataSetReaderDataType_init(UA_DataSetReaderDataType *p) { - memset(p, 0, sizeof(UA_DataSetReaderDataType)); -} - -static UA_INLINE UA_DataSetReaderDataType * -UA_DataSetReaderDataType_new(void) { - return (UA_DataSetReaderDataType*)UA_new(&UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_DataSetReaderDataType_copy(const UA_DataSetReaderDataType *src, UA_DataSetReaderDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataSetReaderDataType_deleteMembers(UA_DataSetReaderDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); -} - -static UA_INLINE void -UA_DataSetReaderDataType_clear(UA_DataSetReaderDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); -} - -static UA_INLINE void -UA_DataSetReaderDataType_delete(UA_DataSetReaderDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]); -}static UA_INLINE UA_Boolean -UA_DataSetReaderDataType_equal(const UA_DataSetReaderDataType *p1, const UA_DataSetReaderDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE]) == UA_ORDER_EQ); -} - - - -/* TargetVariablesDataType */ -static UA_INLINE void -UA_TargetVariablesDataType_init(UA_TargetVariablesDataType *p) { - memset(p, 0, sizeof(UA_TargetVariablesDataType)); -} - -static UA_INLINE UA_TargetVariablesDataType * -UA_TargetVariablesDataType_new(void) { - return (UA_TargetVariablesDataType*)UA_new(&UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_TargetVariablesDataType_copy(const UA_TargetVariablesDataType *src, UA_TargetVariablesDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TargetVariablesDataType_deleteMembers(UA_TargetVariablesDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); -} - -static UA_INLINE void -UA_TargetVariablesDataType_clear(UA_TargetVariablesDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); -} - -static UA_INLINE void -UA_TargetVariablesDataType_delete(UA_TargetVariablesDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); -}static UA_INLINE UA_Boolean -UA_TargetVariablesDataType_equal(const UA_TargetVariablesDataType *p1, const UA_TargetVariablesDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]) == UA_ORDER_EQ); -} - - - -/* StandaloneSubscribedDataSetDataType */ -static UA_INLINE void -UA_StandaloneSubscribedDataSetDataType_init(UA_StandaloneSubscribedDataSetDataType *p) { - memset(p, 0, sizeof(UA_StandaloneSubscribedDataSetDataType)); -} - -static UA_INLINE UA_StandaloneSubscribedDataSetDataType * -UA_StandaloneSubscribedDataSetDataType_new(void) { - return (UA_StandaloneSubscribedDataSetDataType*)UA_new(&UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_StandaloneSubscribedDataSetDataType_copy(const UA_StandaloneSubscribedDataSetDataType *src, UA_StandaloneSubscribedDataSetDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_StandaloneSubscribedDataSetDataType_deleteMembers(UA_StandaloneSubscribedDataSetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); -} - -static UA_INLINE void -UA_StandaloneSubscribedDataSetDataType_clear(UA_StandaloneSubscribedDataSetDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); -} - -static UA_INLINE void -UA_StandaloneSubscribedDataSetDataType_delete(UA_StandaloneSubscribedDataSetDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]); -}static UA_INLINE UA_Boolean -UA_StandaloneSubscribedDataSetDataType_equal(const UA_StandaloneSubscribedDataSetDataType *p1, const UA_StandaloneSubscribedDataSetDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE]) == UA_ORDER_EQ); -} - - - -/* DataTypeSchemaHeader */ -static UA_INLINE void -UA_DataTypeSchemaHeader_init(UA_DataTypeSchemaHeader *p) { - memset(p, 0, sizeof(UA_DataTypeSchemaHeader)); -} - -static UA_INLINE UA_DataTypeSchemaHeader * -UA_DataTypeSchemaHeader_new(void) { - return (UA_DataTypeSchemaHeader*)UA_new(&UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); -} - -static UA_INLINE UA_StatusCode -UA_DataTypeSchemaHeader_copy(const UA_DataTypeSchemaHeader *src, UA_DataTypeSchemaHeader *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_DataTypeSchemaHeader_deleteMembers(UA_DataTypeSchemaHeader *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); -} - -static UA_INLINE void -UA_DataTypeSchemaHeader_clear(UA_DataTypeSchemaHeader *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); -} - -static UA_INLINE void -UA_DataTypeSchemaHeader_delete(UA_DataTypeSchemaHeader *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]); -}static UA_INLINE UA_Boolean -UA_DataTypeSchemaHeader_equal(const UA_DataTypeSchemaHeader *p1, const UA_DataTypeSchemaHeader *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_DATATYPESCHEMAHEADER]) == UA_ORDER_EQ); -} - - - -/* ReaderGroupDataType */ -static UA_INLINE void -UA_ReaderGroupDataType_init(UA_ReaderGroupDataType *p) { - memset(p, 0, sizeof(UA_ReaderGroupDataType)); -} - -static UA_INLINE UA_ReaderGroupDataType * -UA_ReaderGroupDataType_new(void) { - return (UA_ReaderGroupDataType*)UA_new(&UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ReaderGroupDataType_copy(const UA_ReaderGroupDataType *src, UA_ReaderGroupDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ReaderGroupDataType_deleteMembers(UA_ReaderGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); -} - -static UA_INLINE void -UA_ReaderGroupDataType_clear(UA_ReaderGroupDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); -} - -static UA_INLINE void -UA_ReaderGroupDataType_delete(UA_ReaderGroupDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]); -}static UA_INLINE UA_Boolean -UA_ReaderGroupDataType_equal(const UA_ReaderGroupDataType *p1, const UA_ReaderGroupDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_READERGROUPDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubConnectionDataType */ -static UA_INLINE void -UA_PubSubConnectionDataType_init(UA_PubSubConnectionDataType *p) { - memset(p, 0, sizeof(UA_PubSubConnectionDataType)); -} - -static UA_INLINE UA_PubSubConnectionDataType * -UA_PubSubConnectionDataType_new(void) { - return (UA_PubSubConnectionDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubConnectionDataType_copy(const UA_PubSubConnectionDataType *src, UA_PubSubConnectionDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubConnectionDataType_deleteMembers(UA_PubSubConnectionDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConnectionDataType_clear(UA_PubSubConnectionDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConnectionDataType_delete(UA_PubSubConnectionDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubConnectionDataType_equal(const UA_PubSubConnectionDataType *p1, const UA_PubSubConnectionDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubConfigurationDataType */ -static UA_INLINE void -UA_PubSubConfigurationDataType_init(UA_PubSubConfigurationDataType *p) { - memset(p, 0, sizeof(UA_PubSubConfigurationDataType)); -} - -static UA_INLINE UA_PubSubConfigurationDataType * -UA_PubSubConfigurationDataType_new(void) { - return (UA_PubSubConfigurationDataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubConfigurationDataType_copy(const UA_PubSubConfigurationDataType *src, UA_PubSubConfigurationDataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubConfigurationDataType_deleteMembers(UA_PubSubConfigurationDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfigurationDataType_clear(UA_PubSubConfigurationDataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfigurationDataType_delete(UA_PubSubConfigurationDataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubConfigurationDataType_equal(const UA_PubSubConfigurationDataType *p1, const UA_PubSubConfigurationDataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]) == UA_ORDER_EQ); -} - - - -/* PubSubConfiguration2DataType */ -static UA_INLINE void -UA_PubSubConfiguration2DataType_init(UA_PubSubConfiguration2DataType *p) { - memset(p, 0, sizeof(UA_PubSubConfiguration2DataType)); -} - -static UA_INLINE UA_PubSubConfiguration2DataType * -UA_PubSubConfiguration2DataType_new(void) { - return (UA_PubSubConfiguration2DataType*)UA_new(&UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); -} - -static UA_INLINE UA_StatusCode -UA_PubSubConfiguration2DataType_copy(const UA_PubSubConfiguration2DataType *src, UA_PubSubConfiguration2DataType *dst) { - return UA_copy(src, dst, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_PubSubConfiguration2DataType_deleteMembers(UA_PubSubConfiguration2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfiguration2DataType_clear(UA_PubSubConfiguration2DataType *p) { - UA_clear(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); -} - -static UA_INLINE void -UA_PubSubConfiguration2DataType_delete(UA_PubSubConfiguration2DataType *p) { - UA_delete(p, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]); -}static UA_INLINE UA_Boolean -UA_PubSubConfiguration2DataType_equal(const UA_PubSubConfiguration2DataType *p1, const UA_PubSubConfiguration2DataType *p2) { - return (UA_order(p1, p2, &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATION2DATATYPE]) == UA_ORDER_EQ); -} - - - -#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 -# pragma GCC diagnostic pop -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/util.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Stefan Profanter, fortiss GmbH - */ - - - -_UA_BEGIN_DECLS - -/** - * Range Definition - * ---------------- */ - -typedef struct { - UA_UInt32 min; - UA_UInt32 max; -} UA_UInt32Range; - -typedef struct { - UA_Duration min; - UA_Duration max; -} UA_DurationRange; - -/** - * Random Number Generator - * ----------------------- - * If UA_MULTITHREADING is defined, then the seed is stored in thread - * local storage. The seed is initialized for every thread in the - * server/client. */ - -void UA_EXPORT -UA_random_seed(UA_UInt64 seed); - -UA_UInt32 UA_EXPORT -UA_UInt32_random(void); /* no cryptographic entropy */ - -UA_Guid UA_EXPORT -UA_Guid_random(void); /* no cryptographic entropy */ - -/** - * Key Value Map - * ------------- - * Helper functions to work with configuration parameters in an array of - * UA_KeyValuePair. Lookup is linear. So this is for small numbers of keys. The - * methods below that accept a `const UA_KeyValueMap` as an argument also accept - * NULL for that argument and treat it as an empty map. */ - -typedef struct { - size_t mapSize; - UA_KeyValuePair *map; -} UA_KeyValueMap; - -UA_EXPORT extern const UA_KeyValueMap UA_KEYVALUEMAP_NULL; - -UA_EXPORT UA_KeyValueMap * -UA_KeyValueMap_new(void); - -UA_EXPORT void -UA_KeyValueMap_clear(UA_KeyValueMap *map); - -UA_EXPORT void -UA_KeyValueMap_delete(UA_KeyValueMap *map); - -/* Is the map empty (or NULL)? */ -UA_EXPORT UA_Boolean -UA_KeyValueMap_isEmpty(const UA_KeyValueMap *map); - -/* Does the map contain an entry for the key? */ -UA_EXPORT UA_Boolean -UA_KeyValueMap_contains(const UA_KeyValueMap *map, const UA_QualifiedName key); - -/* Insert a copy of the value. Can reallocate the underlying array. This - * invalidates pointers into the previous array. If the key exists already, the - * value is overwritten (upsert semantics). */ -UA_EXPORT UA_StatusCode -UA_KeyValueMap_set(UA_KeyValueMap *map, - const UA_QualifiedName key, - const UA_Variant *value); - -/* Helper function for scalar insertion that internally calls - * `UA_KeyValueMap_set` */ -UA_EXPORT UA_StatusCode -UA_KeyValueMap_setScalar(UA_KeyValueMap *map, - const UA_QualifiedName key, - void * UA_RESTRICT p, - const UA_DataType *type); - -/* Returns a pointer to the value or NULL if the key is not found */ -UA_EXPORT const UA_Variant * -UA_KeyValueMap_get(const UA_KeyValueMap *map, - const UA_QualifiedName key); - -/* Returns NULL if the value for the key is not defined, not of the right - * datatype or not a scalar */ -UA_EXPORT const void * -UA_KeyValueMap_getScalar(const UA_KeyValueMap *map, - const UA_QualifiedName key, - const UA_DataType *type); - -/* Remove a single entry. To delete the entire map, use `UA_KeyValueMap_clear`. */ -UA_EXPORT UA_StatusCode -UA_KeyValueMap_remove(UA_KeyValueMap *map, - const UA_QualifiedName key); - -/* Create a deep copy of the given KeyValueMap */ -UA_EXPORT UA_StatusCode -UA_KeyValueMap_copy(const UA_KeyValueMap *src, UA_KeyValueMap *dst); - -/* Copy entries from the right-hand-side into the left-hand-size. Reallocates - * previous memory in the left-hand-side. If the operation fails, both maps are - * left untouched. */ -UA_EXPORT UA_StatusCode -UA_KeyValueMap_merge(UA_KeyValueMap *lhs, const UA_KeyValueMap *rhs); - -/** - * Binary Connection Config Parameters - * ----------------------------------- */ - -typedef struct { - UA_UInt32 protocolVersion; - UA_UInt32 recvBufferSize; - UA_UInt32 sendBufferSize; - UA_UInt32 localMaxMessageSize; /* (0 = unbounded) */ - UA_UInt32 remoteMaxMessageSize; /* (0 = unbounded) */ - UA_UInt32 localMaxChunkCount; /* (0 = unbounded) */ - UA_UInt32 remoteMaxChunkCount; /* (0 = unbounded) */ -} UA_ConnectionConfig; - -/** - * .. _default-node-attributes: - * - * Default Node Attributes - * ----------------------- - * Default node attributes to simplify the use of the AddNodes services. For - * example, Setting the ValueRank and AccessLevel to zero is often an unintended - * setting and leads to errors that are hard to track down. */ - -/* The default for variables is "BaseDataType" for the datatype, -2 for the - * valuerank and a read-accesslevel. */ -UA_EXPORT extern const UA_VariableAttributes UA_VariableAttributes_default; -UA_EXPORT extern const UA_VariableTypeAttributes UA_VariableTypeAttributes_default; - -/* Methods are executable by default */ -UA_EXPORT extern const UA_MethodAttributes UA_MethodAttributes_default; - -/* The remaining attribute definitions are currently all zeroed out */ -UA_EXPORT extern const UA_ObjectAttributes UA_ObjectAttributes_default; -UA_EXPORT extern const UA_ObjectTypeAttributes UA_ObjectTypeAttributes_default; -UA_EXPORT extern const UA_ReferenceTypeAttributes UA_ReferenceTypeAttributes_default; -UA_EXPORT extern const UA_DataTypeAttributes UA_DataTypeAttributes_default; -UA_EXPORT extern const UA_ViewAttributes UA_ViewAttributes_default; - -/** - * Endpoint URL Parser - * ------------------- - * The endpoint URL parser is generally useful for the implementation of network - * layer plugins. */ - -/* Split the given endpoint url into hostname, port and path. All arguments must - * be non-NULL. EndpointUrls have the form "opc.tcp://hostname:port/path", port - * and path may be omitted (together with the prefix colon and slash). - * - * @param endpointUrl The endpoint URL. - * @param outHostname Set to the parsed hostname. The string points into the - * original endpointUrl, so no memory is allocated. If an IPv6 address is - * given, hostname contains e.g. '[2001:0db8:85a3::8a2e:0370:7334]' - * @param outPort Set to the port of the url or left unchanged. - * @param outPath Set to the path if one is present in the endpointUrl. Can be - * NULL. Then not path is returned. Starting or trailing '/' are NOT - * included in the path. The string points into the original endpointUrl, - * so no memory is allocated. - * @return Returns UA_STATUSCODE_BADTCPENDPOINTURLINVALID if parsing failed. */ -UA_StatusCode UA_EXPORT -UA_parseEndpointUrl(const UA_String *endpointUrl, UA_String *outHostname, - UA_UInt16 *outPort, UA_String *outPath); - -/* Split the given endpoint url into hostname, vid and pcp. All arguments must - * be non-NULL. EndpointUrls have the form "opc.eth://[:[.PCP]]". - * The host is a MAC address, an IP address or a registered name like a - * hostname. The format of a MAC address is six groups of hexadecimal digits, - * separated by hyphens (e.g. 01-23-45-67-89-ab). A system may also accept - * hostnames and/or IP addresses if it provides means to resolve it to a MAC - * address (e.g. DNS and Reverse-ARP). - * - * Note: currently only parsing MAC address is supported. - * - * @param endpointUrl The endpoint URL. - * @param vid Set to VLAN ID. - * @param pcp Set to Priority Code Point. - * @return Returns UA_STATUSCODE_BADINTERNALERROR if parsing failed. */ -UA_StatusCode UA_EXPORT -UA_parseEndpointUrlEthernet(const UA_String *endpointUrl, UA_String *target, - UA_UInt16 *vid, UA_Byte *pcp); - -/* Convert given byte string to a positive number. Returns the number of valid - * digits. Stops if a non-digit char is found and returns the number of digits - * up to that point. */ -size_t UA_EXPORT -UA_readNumber(const UA_Byte *buf, size_t buflen, UA_UInt32 *number); - -/* Same as UA_ReadNumber but with a base parameter */ -size_t UA_EXPORT -UA_readNumberWithBase(const UA_Byte *buf, size_t buflen, - UA_UInt32 *number, UA_Byte base); - -#ifndef UA_MIN -#define UA_MIN(A, B) ((A) > (B) ? (B) : (A)) -#endif - -#ifndef UA_MAX -#define UA_MAX(A, B) ((A) > (B) ? (A) : (B)) -#endif - -/** - * Parse RelativePath Expressions - * ------------------------------ - * - * Parse a RelativePath according to the format defined in Part 4, A2. This is - * used e.g. for the BrowsePath structure. For now, only the standard - * ReferenceTypes from Namespace 0 are recognized (see Part 3). - * - * ``RelativePath := ( ReferenceType [BrowseName]? )*`` - * - * The ReferenceTypes have either of the following formats: - * - * - ``/``: *HierarchicalReferences* and subtypes - * - ``.``: *Aggregates* ReferenceTypesand subtypes - * - ``< [!#]* BrowseName >``: The ReferenceType is indicated by its BrowseName - * (a QualifiedName). Prefixed modifiers can be as follows: ``!`` switches to - * inverse References. ``#`` excludes subtypes of the ReferenceType. - * - * QualifiedNames consist of an optional NamespaceIndex and the nameitself: - * - * ``QualifiedName := ([0-9]+ ":")? Name`` - * - * The QualifiedName representation for RelativePaths uses ``&`` as the escape - * character. Occurences of the characters ``/.<>:#!&`` in a QualifiedName have - * to be escaped (prefixed with ``&``). - * - * Example RelativePaths - * ````````````````````` - * - * - ``/2:Block&.Output`` - * - ``/3:Truck.0:NodeVersion`` - * - ``<0:HasProperty>1:Boiler/1:HeatSensor`` - * - ``<0:HasChild>2:Wheel`` - * - ``<#Aggregates>1:Boiler/`` - * - ``Truck`` - * - ```` - */ -#ifdef UA_ENABLE_PARSING -UA_EXPORT UA_StatusCode -UA_RelativePath_parse(UA_RelativePath *rp, const UA_String str); -#endif - -/** - * Convenience macros for complex types - * ------------------------------------ */ -#define UA_PRINTF_GUID_FORMAT "%08" PRIx32 "-%04" PRIx16 "-%04" PRIx16 \ - "-%02" PRIx8 "%02" PRIx8 "-%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 -#define UA_PRINTF_GUID_DATA(GUID) (GUID).data1, (GUID).data2, (GUID).data3, \ - (GUID).data4[0], (GUID).data4[1], (GUID).data4[2], (GUID).data4[3], \ - (GUID).data4[4], (GUID).data4[5], (GUID).data4[6], (GUID).data4[7] - -#define UA_PRINTF_STRING_FORMAT "\"%.*s\"" -#define UA_PRINTF_STRING_DATA(STRING) (int)(STRING).length, (STRING).data - -/** - * Cryptography Helpers - * -------------------- */ - -/* Compare memory in constant time to mitigate timing attacks. - * Returns true if ptr1 and ptr2 are equal for length bytes. */ -UA_EXPORT UA_Boolean -UA_constantTimeEqual(const void *ptr1, const void *ptr2, size_t length); - -/* Zero-out memory in a way that is not removed by compiler-optimizations. Use - * this to ensure cryptographic secrets don't leave traces after the memory was - * freed. */ -UA_EXPORT void -UA_ByteString_memZero(UA_ByteString *bs); - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/log.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -#include - -_UA_BEGIN_DECLS - -/** - * .. _logging: - * - * Logging Plugin API - * ================== - * - * Servers and clients define a logger in their configuration. The logger is a - * plugin. A default plugin that logs to ``stdout`` is provided as an example. - * The logger plugin is stateful and can point to custom data. So it is possible - * to keep open file handlers in the logger context. - * - * Every log message consists of a log level, a log category and a string - * message content. The timestamp of the log message is created within the - * logger. */ - -typedef enum { - UA_LOGLEVEL_TRACE = 100, - UA_LOGLEVEL_DEBUG = 200, - UA_LOGLEVEL_INFO = 300, - UA_LOGLEVEL_WARNING = 400, - UA_LOGLEVEL_ERROR = 500, - UA_LOGLEVEL_FATAL = 600 -} UA_LogLevel; - -#define UA_LOGCATEGORIES 10 - -typedef enum { - UA_LOGCATEGORY_NETWORK = 0, - UA_LOGCATEGORY_SECURECHANNEL, - UA_LOGCATEGORY_SESSION, - UA_LOGCATEGORY_SERVER, - UA_LOGCATEGORY_CLIENT, - UA_LOGCATEGORY_USERLAND, - UA_LOGCATEGORY_SECURITYPOLICY, - UA_LOGCATEGORY_EVENTLOOP, - UA_LOGCATEGORY_PUBSUB, - UA_LOGCATEGORY_DISCOVERY -} UA_LogCategory; - -typedef struct UA_Logger { - /* Log a message. The message string and following varargs are formatted - * according to the rules of the printf command. Use the convenience macros - * below that take the minimum log level defined in ua_config.h into - * account. */ - void (*log)(void *logContext, UA_LogLevel level, UA_LogCategory category, - const char *msg, va_list args); - - void *context; /* Logger state */ - - void (*clear)(struct UA_Logger *logger); /* Clean up the logger plugin */ -} UA_Logger; - -static UA_INLINE UA_FORMAT(3,4) void -UA_LOG_TRACE(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { -#if UA_LOGLEVEL <= 100 - if(!logger || !logger->log) - return; - va_list args; va_start(args, msg); - logger->log(logger->context, UA_LOGLEVEL_TRACE, category, msg, args); - va_end(args); -#else - (void) logger; - (void) category; - (void) msg; -#endif -} - -static UA_INLINE UA_FORMAT(3,4) void -UA_LOG_DEBUG(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { -#if UA_LOGLEVEL <= 200 - if(!logger || !logger->log) - return; - va_list args; va_start(args, msg); - logger->log(logger->context, UA_LOGLEVEL_DEBUG, category, msg, args); - va_end(args); -#else - (void) logger; - (void) category; - (void) msg; -#endif -} - -static UA_INLINE UA_FORMAT(3,4) void -UA_LOG_INFO(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { -#if UA_LOGLEVEL <= 300 - if(!logger || !logger->log) - return; - va_list args; va_start(args, msg); - logger->log(logger->context, UA_LOGLEVEL_INFO, category, msg, args); - va_end(args); -#else - (void) logger; - (void) category; - (void) msg; -#endif -} - -static UA_INLINE UA_FORMAT(3,4) void -UA_LOG_WARNING(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { -#if UA_LOGLEVEL <= 400 - if(!logger || !logger->log) - return; - va_list args; va_start(args, msg); - logger->log(logger->context, UA_LOGLEVEL_WARNING, category, msg, args); - va_end(args); -#else - (void) logger; - (void) category; - (void) msg; -#endif -} - -static UA_INLINE UA_FORMAT(3,4) void -UA_LOG_ERROR(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { -#if UA_LOGLEVEL <= 500 - if(!logger || !logger->log) - return; - va_list args; va_start(args, msg); - logger->log(logger->context, UA_LOGLEVEL_ERROR, category, msg, args); - va_end(args); -#else - (void) logger; - (void) category; - (void) msg; -#endif -} - -static UA_INLINE UA_FORMAT(3,4) void -UA_LOG_FATAL(const UA_Logger *logger, UA_LogCategory category, const char *msg, ...) { -#if UA_LOGLEVEL <= 600 - if(!logger || !logger->log) - return; - va_list args; va_start(args, msg); - logger->log(logger->context, UA_LOGLEVEL_FATAL, category, msg, args); - va_end(args); -#else - (void) logger; - (void) category; - (void) msg; -#endif -} - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/accesscontrol.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -_UA_BEGIN_DECLS - -struct UA_AccessControl; -typedef struct UA_AccessControl UA_AccessControl; - -/** - * .. _access-control: - * - * Access Control Plugin API - * ========================= - * The access control callback is used to authenticate sessions and grant access - * rights accordingly. - * - * The ``sessionId`` and ``sessionContext`` can be both NULL. This is the case - * when, for example, a MonitoredItem (the underlying Subscription) is detached - * from its Session but continues to run. */ - -struct UA_AccessControl { - void *context; - void (*clear)(UA_AccessControl *ac); - - /* Supported login mechanisms. The server endpoints are created from here. */ - size_t userTokenPoliciesSize; - UA_UserTokenPolicy *userTokenPolicies; - - /* Authenticate a session. The session context is attached to the session - * and later passed into the node-based access control callbacks. The new - * session is rejected if a StatusCode other than UA_STATUSCODE_GOOD is - * returned. - * - * Note that this callback can be called several times for a Session. For - * example when a Session is recovered (activated) on a new - * SecureChannel. */ - UA_StatusCode (*activateSession)(UA_Server *server, UA_AccessControl *ac, - const UA_EndpointDescription *endpointDescription, - const UA_ByteString *secureChannelRemoteCertificate, - const UA_NodeId *sessionId, - const UA_ExtensionObject *userIdentityToken, - void **sessionContext); - - /* Deauthenticate a session and cleanup */ - void (*closeSession)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext); - - /* Access control for all nodes*/ - UA_UInt32 (*getUserRightsMask)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext); - - /* Additional access control for variable nodes */ - UA_Byte (*getUserAccessLevel)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext); - - /* Additional access control for method nodes */ - UA_Boolean (*getUserExecutable)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *methodId, void *methodContext); - - /* Additional access control for calling a method node in the context of a - * specific object */ - UA_Boolean (*getUserExecutableOnObject)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext); - - /* Allow adding a node */ - UA_Boolean (*allowAddNode)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_AddNodesItem *item); - - /* Allow adding a reference */ - UA_Boolean (*allowAddReference)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_AddReferencesItem *item); - - /* Allow deleting a node */ - UA_Boolean (*allowDeleteNode)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_DeleteNodesItem *item); - - /* Allow deleting a reference */ - UA_Boolean (*allowDeleteReference)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_DeleteReferencesItem *item); - - /* Allow browsing a node */ - UA_Boolean (*allowBrowseNode)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* Allow transfer of a subscription to another session. The Server shall - * validate that the Client of that Session is operating on behalf of the - * same user */ - UA_Boolean (*allowTransferSubscription)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *oldSessionId, void *oldSessionContext, - const UA_NodeId *newSessionId, void *newSessionContext); -#endif - -#ifdef UA_ENABLE_HISTORIZING - /* Allow insert,replace,update of historical data */ - UA_Boolean (*allowHistoryUpdateUpdateData)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, - UA_PerformUpdateType performInsertReplace, - const UA_DataValue *value); - - /* Allow delete of historical data */ - UA_Boolean (*allowHistoryUpdateDeleteRawModified)(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, - UA_DateTime startTimestamp, - UA_DateTime endTimestamp, - bool isDeleteModified); -#endif -}; - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/pki.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - */ - - - -_UA_BEGIN_DECLS - -/** - * Public Key Infrastructure Integration - * ===================================== - * This file contains interface definitions for integration in a Public Key - * Infrastructure (PKI). Currently only one plugin interface is defined. - * - * Certificate Verification - * ------------------------ - * This plugin verifies that the origin of the certificate is trusted. It does - * not assign any access rights/roles to the holder of the certificate. - * - * Usually, implementations of the certificate verification plugin provide an - * initialization method that takes a trust-list and a revocation-list as input. - * The lifecycle of the plugin is attached to a server or client config. The - * ``clear`` method is called automatically when the config is destroyed. */ - -struct UA_CertificateVerification; -typedef struct UA_CertificateVerification UA_CertificateVerification; - -struct UA_CertificateVerification { - void *context; - - /* Verify the certificate against the configured policies and trust chain. */ - UA_StatusCode (*verifyCertificate)(const UA_CertificateVerification *cv, - const UA_ByteString *certificate); - - /* Verify that the certificate has the applicationURI in the subject name. */ - UA_StatusCode (*verifyApplicationURI)(const UA_CertificateVerification *cv, - const UA_ByteString *certificate, - const UA_String *applicationURI); - - /* Get the expire date from certificate */ - UA_StatusCode (*getExpirationDate)(UA_DateTime *expiryDateTime, - UA_ByteString *certificate); - - UA_StatusCode (*getSubjectName)(UA_String *subjectName, - UA_ByteString *certificate); - - /* Delete the certificate verification context */ - void (*clear)(UA_CertificateVerification *cv); - - /* Pointer to logging pointer in the server/client configuration. If the - * logging pointer is changed outside of the plugin, the new logger is used - * automatically*/ - const UA_Logger *logging; -}; - -/* Decrypt a private key in PEM format using a password. The output is the key - * in the binary DER format. Also succeeds if the PEM private key does not - * require a password or is already in the DER format. The outDerKey memory is - * allocated internally. - * - * Returns UA_STATUSCODE_BADSECURITYCHECKSFAILED if the password is wrong. */ -UA_EXPORT UA_StatusCode -UA_PKI_decryptPrivateKey(const UA_ByteString privateKey, - const UA_ByteString password, - UA_ByteString *outDerKey); - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/securitypolicy.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -_UA_BEGIN_DECLS - -extern UA_EXPORT const UA_String UA_SECURITY_POLICY_NONE_URI; - -struct UA_SecurityPolicy; -typedef struct UA_SecurityPolicy UA_SecurityPolicy; - -/** - * SecurityPolicy - * -------------- */ - -typedef struct { - UA_String uri; - - /* Verifies the signature of the message using the provided keys in the context. - * - * @param channelContext the channelContext that contains the key to verify - * the supplied message with. - * @param message the message to which the signature is supposed to belong. - * @param signature the signature of the message, that should be verified. */ - UA_StatusCode (*verify)(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Signs the given message using this policys signing algorithm and the - * provided keys in the context. - * - * @param channelContext the channelContext that contains the key to sign - * the supplied message with. - * @param message the message to sign. - * @param signature an output buffer to which the signature is written. The - * buffer needs to be allocated by the caller. The - * necessary size can be acquired with the signatureSize - * attribute of this module. */ - UA_StatusCode (*sign)(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Gets the signature size that depends on the local (private) key. - * - * @param channelContext the channelContext that contains the - * certificate/key. - * @return the size of the local signature. Returns 0 if no local - * certificate was set. */ - size_t (*getLocalSignatureSize)(const void *channelContext); - - /* Gets the signature size that depends on the remote (public) key. - * - * @param channelContext the context to retrieve data from. - * @return the size of the remote signature. Returns 0 if no - * remote certificate was set previousely. */ - size_t (*getRemoteSignatureSize)(const void *channelContext); - - /* Gets the local signing key length. - * - * @param channelContext the context to retrieve data from. - * @return the length of the signing key in bytes. Returns 0 if no length can be found. - */ - size_t (*getLocalKeyLength)(const void *channelContext); - - /* Gets the local signing key length. - * - * @param channelContext the context to retrieve data from. - * @return the length of the signing key in bytes. Returns 0 if no length can be found. - */ - size_t (*getRemoteKeyLength)(const void *channelContext); -} UA_SecurityPolicySignatureAlgorithm; - -typedef struct { - UA_String uri; - - /* Encrypt the given data in place. For asymmetric encryption, the block - * size for plaintext and cypher depend on the remote key (certificate). - * - * @param channelContext the channelContext which contains information about - * the keys to encrypt data. - * @param data the data that is encrypted. The encrypted data will overwrite - * the data that was supplied. */ - UA_StatusCode (*encrypt)(void *channelContext, - UA_ByteString *data) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Decrypts the given ciphertext in place. For asymmetric encryption, the - * block size for plaintext and cypher depend on the local private key. - * - * @param channelContext the channelContext which contains information about - * the keys needed to decrypt the message. - * @param data the data to decrypt. The decryption is done in place. */ - UA_StatusCode (*decrypt)(void *channelContext, - UA_ByteString *data) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Returns the length of the key used to encrypt messages in bits. For - * asymmetric encryption the key length is for the local private key. - * - * @param channelContext the context to retrieve data from. - * @return the length of the local key. Returns 0 if no - * key length is known. */ - size_t (*getLocalKeyLength)(const void *channelContext); - - /* Returns the length of the key to encrypt messages in bits. Depends on the - * key (certificate) from the remote side. - * - * @param channelContext the context to retrieve data from. - * @return the length of the remote key. Returns 0 if no - * key length is known. */ - size_t (*getRemoteKeyLength)(const void *channelContext); - - /* Returns the size of encrypted blocks for sending. For asymmetric - * encryption this depends on the remote key (certificate). For symmetric - * encryption the local and remote encrypted block size are identical. - * - * @param channelContext the context to retrieve data from. - * @return the size of encrypted blocks in bytes. Returns 0 if no key length is known. - */ - size_t (*getRemoteBlockSize)(const void *channelContext); - - /* Returns the size of plaintext blocks for sending. For asymmetric - * encryption this depends on the remote key (certificate). For symmetric - * encryption the local and remote plaintext block size are identical. - * - * @param channelContext the context to retrieve data from. - * @return the size of plaintext blocks in bytes. Returns 0 if no key length is known. - */ - size_t (*getRemotePlainTextBlockSize)(const void *channelContext); -} UA_SecurityPolicyEncryptionAlgorithm; - -typedef struct { - /* The algorithm used to sign and verify certificates. */ - UA_SecurityPolicySignatureAlgorithm signatureAlgorithm; - - /* The algorithm used to encrypt and decrypt messages. */ - UA_SecurityPolicyEncryptionAlgorithm encryptionAlgorithm; - -} UA_SecurityPolicyCryptoModule; - -typedef struct { - /* Generates a thumbprint for the specified certificate. - * - * @param certificate the certificate to make a thumbprint of. - * @param thumbprint an output buffer for the resulting thumbprint. Always - * has the length specified in the thumbprintLength in the - * asymmetricModule. */ - UA_StatusCode (*makeCertificateThumbprint)(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Compares the supplied certificate with the certificate in the endpoint context. - * - * @param securityPolicy the policy data that contains the certificate - * to compare to. - * @param certificateThumbprint the certificate thumbprint to compare to the - * one stored in the context. - * @return if the thumbprints match UA_STATUSCODE_GOOD is returned. If they - * don't match or an error occurred an error code is returned. */ - UA_StatusCode (*compareCertificateThumbprint)(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - UA_SecurityPolicyCryptoModule cryptoModule; -} UA_SecurityPolicyAsymmetricModule; - -typedef struct { - /* Pseudo random function that is used to generate the symmetric keys. - * - * For information on what parameters this function receives in what situation, - * refer to the OPC UA specification 1.03 Part6 Table 33 - * - * @param policyContext The context of the policy instance - * @param secret - * @param seed - * @param out an output to write the data to. The length defines the maximum - * number of output bytes that are produced. */ - UA_StatusCode (*generateKey)(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Random generator for generating nonces. - * - * @param policyContext The context of the policy instance - * @param out pointer to a buffer to store the nonce in. Needs to be - * allocated by the caller. The buffer is filled with random - * data. */ - UA_StatusCode (*generateNonce)(void *policyContext, UA_ByteString *out) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* - * The length of the nonce used in the SecureChannel as specified in the standard. - */ - size_t secureChannelNonceLength; - - UA_SecurityPolicyCryptoModule cryptoModule; -} UA_SecurityPolicySymmetricModule; - -typedef struct { - /* This method creates a new context data object. - * - * The caller needs to call delete on the received object to free allocated - * memory. Memory is only allocated if the function succeeds so there is no - * need to manually free the memory pointed to by *channelContext or to - * call delete in case of failure. - * - * @param securityPolicy the policy context of the endpoint that is connected - * to. It will be stored in the channelContext for - * further access by the policy. - * @param remoteCertificate the remote certificate contains the remote - * asymmetric key. The certificate will be verified - * and then stored in the context so that its - * details may be accessed. - * @param channelContext the initialized channelContext that is passed to - * functions that work on a context. */ - UA_StatusCode (*newContext)(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **channelContext) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Deletes the the security context. */ - void (*deleteContext)(void *channelContext); - - /* Sets the local encrypting key in the supplied context. - * - * @param channelContext the context to work on. - * @param key the local encrypting key to store in the context. */ - UA_StatusCode (*setLocalSymEncryptingKey)(void *channelContext, - const UA_ByteString *key) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Sets the local signing key in the supplied context. - * - * @param channelContext the context to work on. - * @param key the local signing key to store in the context. */ - UA_StatusCode (*setLocalSymSigningKey)(void *channelContext, - const UA_ByteString *key) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Sets the local initialization vector in the supplied context. - * - * @param channelContext the context to work on. - * @param iv the local initialization vector to store in the context. */ - UA_StatusCode (*setLocalSymIv)(void *channelContext, - const UA_ByteString *iv) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Sets the remote encrypting key in the supplied context. - * - * @param channelContext the context to work on. - * @param key the remote encrypting key to store in the context. */ - UA_StatusCode (*setRemoteSymEncryptingKey)(void *channelContext, - const UA_ByteString *key) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Sets the remote signing key in the supplied context. - * - * @param channelContext the context to work on. - * @param key the remote signing key to store in the context. */ - UA_StatusCode (*setRemoteSymSigningKey)(void *channelContext, - const UA_ByteString *key) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Sets the remote initialization vector in the supplied context. - * - * @param channelContext the context to work on. - * @param iv the remote initialization vector to store in the context. */ - UA_StatusCode (*setRemoteSymIv)(void *channelContext, - const UA_ByteString *iv) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* Compares the supplied certificate with the certificate in the channel - * context. - * - * @param channelContext the channel context data that contains the - * certificate to compare to. - * @param certificate the certificate to compare to the one stored in the context. - * @return if the certificates match UA_STATUSCODE_GOOD is returned. If they - * don't match or an errror occurred an error code is returned. */ - UA_StatusCode (*compareCertificate)(const void *channelContext, - const UA_ByteString *certificate) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; -} UA_SecurityPolicyChannelModule; - -struct UA_SecurityPolicy { - /* Additional data */ - void *policyContext; - - /* The policy uri that identifies the implemented algorithms */ - UA_String policyUri; - - /* The local certificate is specific for each SecurityPolicy since it - * depends on the used key length. */ - UA_ByteString localCertificate; - - /* Function pointers grouped into modules */ - UA_SecurityPolicyAsymmetricModule asymmetricModule; - UA_SecurityPolicySymmetricModule symmetricModule; - UA_SecurityPolicySignatureAlgorithm certificateSigningAlgorithm; - UA_SecurityPolicyChannelModule channelModule; - - const UA_Logger *logger; - - /* Updates the ApplicationInstanceCertificate and the corresponding private - * key at runtime. */ - UA_StatusCode (*updateCertificateAndPrivateKey)(UA_SecurityPolicy *policy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey); - - /* Deletes the dynamic content of the policy */ - void (*clear)(UA_SecurityPolicy *policy); -}; - -/** - * PubSub SecurityPolicy - * --------------------- - * - * For PubSub encryption, the message nonce is part of the (unencrypted) - * SecurityHeader. The nonce is required for the de- and encryption and has to - * be set in the channel context before de/encrypting. */ - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -struct UA_PubSubSecurityPolicy; -typedef struct UA_PubSubSecurityPolicy UA_PubSubSecurityPolicy; - -struct UA_PubSubSecurityPolicy { - UA_String policyUri; /* The policy uri that identifies the implemented - * algorithms */ - UA_SecurityPolicySymmetricModule symmetricModule; - - /* Create the context for the WriterGroup. The keys and nonce can be NULL - * here. Then they have to be set before the first encryption or signing - * operation. */ - UA_StatusCode - (*newContext)(void *policyContext, - const UA_ByteString *signingKey, - const UA_ByteString *encryptingKey, - const UA_ByteString *keyNonce, - void **wgContext); - - /* Delete the WriterGroup SecurityPolicy context */ - void (*deleteContext)(void *wgContext); - - /* Set the keys and nonce for the WriterGroup. This is returned from the - * GetSecurityKeys method of a Security Key Service (SKS). Otherwise, set - * manually via out-of-band transmission of the keys. */ - UA_StatusCode - (*setSecurityKeys)(void *wgContext, - const UA_ByteString *signingKey, - const UA_ByteString *encryptingKey, - const UA_ByteString *keyNonce) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - /* The nonce is contained in the NetworkMessage SecurityHeader. Set before - * each en-/decryption step. */ - UA_StatusCode - (*setMessageNonce)(void *wgContext, - const UA_ByteString *nonce) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - - const UA_Logger *logger; - - /* Deletes the dynamic content of the policy */ - void (*clear)(UA_PubSubSecurityPolicy *policy); - void *policyContext; -}; - -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/eventloop.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - - -_UA_BEGIN_DECLS - -struct UA_EventLoop; -typedef struct UA_EventLoop UA_EventLoop; - -struct UA_EventSource; -typedef struct UA_EventSource UA_EventSource; - -struct UA_ConnectionManager; -typedef struct UA_ConnectionManager UA_ConnectionManager; - -struct UA_InterruptManager; -typedef struct UA_InterruptManager UA_InterruptManager; - -/** - * Event Loop Subsystem - * ==================== - * An OPC UA-enabled application can have several clients and servers. And - * server can serve different transport-level protocols for OPC UA. The - * EventLoop is a central module that provides a unified control-flow for all of - * these. Hence, several applications can share an EventLoop. - * - * The EventLoop and the ConnectionManager implementation is - * architecture-specific. The goal is to have a single call to "poll" (epoll, - * kqueue, ...) in the EventLoop that covers all ConnectionManagers. Hence the - * EventLoop plugin implementation must know implementation details of the - * ConnectionManager implementations. So the EventLoop can extract socket - * information, etc. from the ConnectionManagers. - * - * Timer Policies - * -------------- - * A timer comes with a cyclic interval in which a callback is executed. If an - * application is congested the interval can be missed. Two different policies - * can be used when this happens. Either schedule the next execution after the - * interval has elapsed again from the current time onwards or stay within the - * regular interval with respect to the original basetime. */ - -typedef enum { - UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, - UA_TIMER_HANDLE_CYCLEMISS_WITH_BASETIME -} UA_TimerPolicy; - -/** - * Event Loop - * ---------- - * The EventLoop implementation is part of the selected architecture. For - * example, "Win32/POSIX" stands for a Windows environment with an EventLoop - * that uses the POSIX API. Several EventLoops can be instantiated in parallel. - * But the globally defined functions are the same everywhere. */ - -typedef void (*UA_Callback)(void *application, void *context); - -/* Delayed callbacks are executed not when they are registered, but in the - * following EventLoop cycle */ -typedef struct UA_DelayedCallback { - struct UA_DelayedCallback *next; /* Singly-linked list */ - UA_Callback callback; - void *application; - void *context; -} UA_DelayedCallback; - -typedef enum { - UA_EVENTLOOPSTATE_FRESH = 0, - UA_EVENTLOOPSTATE_STOPPED, - UA_EVENTLOOPSTATE_STARTED, - UA_EVENTLOOPSTATE_STOPPING /* Stopping in progress, needs EventLoop - * cycles to finish */ -} UA_EventLoopState; - -struct UA_EventLoop { - /* Configuration - * ~~~~~~~~~~~~~~~ - * The configuration should be set before the EventLoop is started */ - - const UA_Logger *logger; - UA_KeyValueMap *params; /* See the implementation-specific documentation */ - - /* EventLoop Lifecycle - * ~~~~~~~~~~~~~~~~~~~~ - * The EventLoop state also controls the state of the configured - * EventSources. Stopping the EventLoop gracefully closes e.g. the open - * network connections. The only way to process incoming events is to call - * the 'run' method. Events are then triggering their respective callbacks - * from within that method.*/ - - const volatile UA_EventLoopState state; /* Only read the state from outside */ - - /* Start the EventLoop and start all already registered EventSources */ - UA_StatusCode (*start)(UA_EventLoop *el); - - /* Stop all EventSources. This is asynchronous and might need a few - * iterations of the main-loop to succeed. */ - void (*stop)(UA_EventLoop *el); - - /* Process events for at most "timeout" ms or until an unrecoverable error - * occurs. If timeout==0, then only already received events are - * processed. */ - UA_StatusCode (*run)(UA_EventLoop *el, UA_UInt32 timeout); - - /* Clean up the EventLoop and free allocated memory. Can fail if the - * EventLoop is not stopped. */ - UA_StatusCode (*free)(UA_EventLoop *el); - - /* EventLoop Time Domain - * ~~~~~~~~~~~~~~~~~~~~~ - * Each EventLoop instance can manage its own time domain. This affects the - * execution of timed/cyclic callbacks and time-based sending of network - * packets (if this is implemented). Managing independent time domains is - * important when different parts of a system a synchronized to different - * external (network-wide) clocks. - * - * Note that the logger configured in the EventLoop generates timestamps - * internally as well. If the logger uses a different time domain than the - * EventLoop, discrepancies may appear in the logs. - * - * The time domain of the EventLoop is exposed via the following functons. - * See `open62541/types.h` for the documentation of their equivalent - * globally defined functions. */ - - UA_DateTime (*dateTime_now)(UA_EventLoop *el); - UA_DateTime (*dateTime_nowMonotonic)(UA_EventLoop *el); - UA_Int64 (*dateTime_localTimeUtcOffset)(UA_EventLoop *el); - - /* Timed Callbacks - * ~~~~~~~~~~~~~~~ - * Cyclic callbacks are executed regularly with an interval. - * A timed callback is executed only once. */ - - /* Time of the next cyclic callback. Returns the max DateTime if no cyclic - * callback is registered. */ - UA_DateTime (*nextCyclicTime)(UA_EventLoop *el); - - /* The execution interval is in ms. Returns the callbackId if the pointer is - * non-NULL. */ - UA_StatusCode - (*addCyclicCallback)(UA_EventLoop *el, UA_Callback cb, void *application, - void *data, UA_Double interval_ms, UA_DateTime *baseTime, - UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId); - - UA_StatusCode - (*modifyCyclicCallback)(UA_EventLoop *el, UA_UInt64 callbackId, - UA_Double interval_ms, UA_DateTime *baseTime, - UA_TimerPolicy timerPolicy); - - void (*removeCyclicCallback)(UA_EventLoop *el, UA_UInt64 callbackId); - - /* Like a cyclic callback, but executed only once */ - UA_StatusCode - (*addTimedCallback)(UA_EventLoop *el, UA_Callback cb, void *application, - void *data, UA_DateTime date, UA_UInt64 *callbackId); - - /* Delayed Callbacks - * ~~~~~~~~~~~~~~~~~ - * Delayed callbacks are executed once in the next iteration of the - * EventLoop and then deregistered automatically. A typical use case is to - * delay a resource cleanup to a point where it is known that the resource - * has no remaining users. - * - * The delayed callbacks are processed in each of the cycle of the EventLoop - * between the handling of timed cyclic callbacks and polling for (network) - * events. The memory for the delayed callback is *NOT* automatically freed - * after the execution. */ - - void (*addDelayedCallback)(UA_EventLoop *el, UA_DelayedCallback *dc); - void (*removeDelayedCallback)(UA_EventLoop *el, UA_DelayedCallback *dc); - - /* EventSources - * ~~~~~~~~~~~~ - * EventSources are stored in a singly-linked list for direct access. But - * only the below methods shall be used for adding and removing - this - * impacts the lifecycle of the EventSource. For example it may be - * auto-started if the EventLoop is already running. */ - - /* Linked list of EventSources */ - UA_EventSource *eventSources; - - /* Register the ES. Immediately starts the ES if the EventLoop is already - * started. Otherwise the ES is started together with the EventLoop. */ - UA_StatusCode - (*registerEventSource)(UA_EventLoop *el, UA_EventSource *es); - - /* Stops the EventSource before deregistrering it */ - UA_StatusCode - (*deregisterEventSource)(UA_EventLoop *el, UA_EventSource *es); - - /* Locking - * ~~~~~~~ - * - * For multi-threading the EventLoop is protected by a mutex. The mutex is - * expected to be recursive (can be taken more than once from the same - * thread). A common approach to avoid deadlocks is to establish an absolute - * ordering between the locks. Where the "lower" locks needs to be taken - * before the "upper" lock. The EventLoop-mutex is exposed here to allow it - * to be taken from the outside. */ - void (*lock)(UA_EventLoop *el); - void (*unlock)(UA_EventLoop *el); -}; - -/** - * Event Source - * ------------ - * Event Sources are attached to an EventLoop. Typically the event source and - * the EventLoop are developed together and share a private API in the - * background. */ - -typedef enum { - UA_EVENTSOURCESTATE_FRESH = 0, - UA_EVENTSOURCESTATE_STOPPED, /* Registered but stopped */ - UA_EVENTSOURCESTATE_STARTING, - UA_EVENTSOURCESTATE_STARTED, - UA_EVENTSOURCESTATE_STOPPING /* Stopping in progress, needs - * EventLoop cycles to finish */ -} UA_EventSourceState; - -/* Type-tag for proper casting of the difference EventSource (e.g. when they are - * looked up via UA_EventLoop_findEventSource). */ -typedef enum { - UA_EVENTSOURCETYPE_CONNECTIONMANAGER, - UA_EVENTSOURCETYPE_INTERRUPTMANAGER -} UA_EventSourceType; - -struct UA_EventSource { - struct UA_EventSource *next; /* Singly-linked list for use by the - * application that registered the ES */ - - UA_EventSourceType eventSourceType; - - /* Configuration - * ~~~~~~~~~~~~~ */ - UA_String name; /* Unique name of the ES */ - UA_EventLoop *eventLoop; /* EventLoop where the ES is registered */ - UA_KeyValueMap params; - - /* Lifecycle - * ~~~~~~~~~ */ - UA_EventSourceState state; - UA_StatusCode (*start)(UA_EventSource *es); - void (*stop)(UA_EventSource *es); /* Asynchronous. Iterate theven EventLoop - * until the EventSource is stopped. */ - UA_StatusCode (*free)(UA_EventSource *es); -}; - -/** - * Connection Manager - * ------------------ - * Every Connection is created by a ConnectionManager. Every ConnectionManager - * belongs to just one application. A ConnectionManager can act purely as a - * passive "Factory" for Connections. But it can also be stateful. For example, - * it can keep a session to an MQTT broker open which is used by individual - * connections that are each bound to an MQTT topic. */ - -/* The ConnectionCallback is the only interface from the connection back to - * the application. - * - * - The connectionId is initially unknown to the target application and - * "announced" to the application when first used first in this callback. - * - * - The context is attached to the connection. Initially a default context - * is set. The context can be replaced within the callback (via the - * double-pointer). - * - * - The state argument indicates the lifecycle of the connection. Every - * connection calls the callback a last time with UA_CONNECTIONSTATE_CLOSING. - * Protocols individually can forward diagnostic information relevant to the - * state as part of the key-value parameters. - * - * - The parameters are a key-value list with additional information. The - * possible keys and their meaning are documented for the individual - * ConnectionManager implementations. - * - * - The msg ByteString is the message (or packet) received on the - * connection. Can be empty. */ -typedef void -(*UA_ConnectionManager_connectionCallback) - (UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, UA_ConnectionState state, - const UA_KeyValueMap *params, UA_ByteString msg); - -struct UA_ConnectionManager { - /* Every ConnectionManager is treated like an EventSource from the - * perspective of the EventLoop. */ - UA_EventSource eventSource; - - /* Name of the protocol supported by the ConnectionManager. For example - * "mqtt", "udp", "mqtt". */ - UA_String protocol; - - /* Open a Connection - * ~~~~~~~~~~~~~~~~~ - * Connecting is asynchronous. The connection-callback is called when the - * connection is open (status=GOOD) or aborted (status!=GOOD) when - * connecting failed. - * - * Some ConnectionManagers can also passively listen for new connections. - * Configuration parameters for this are passed via the key-value list. The - * `context` pointer of the listening connection is also set as the initial - * context of newly opened connections. - * - * The parameters describe the connection. For example hostname and port - * (for TCP). Other protocols (e.g. MQTT, AMQP, etc.) may required - * additional arguments to open a connection in the key-value list. - * - * The provided context is set as the initial context attached to this - * connection. It is already set before the first call to - * connectionCallback. - * - * The connection can be opened synchronously or asynchronously. - * - * - For synchronous connection, the connectionCallback is called with the - * status UA_CONNECTIONSTATE_ESTABLISHED immediately from within the - * openConnection operation. - * - * - In the asynchronous case the connectionCallback is called immediately - * from within the openConnection operation with the status - * UA_CONNECTIONSTATE_OPENING. The connectionCallback is called with the - * status UA_CONNECTIONSTATE_ESTABLISHED once the connection has fully - * opened. - * - * Note that a single call to openConnection might open multiple - * connections. For example listening on IPv4 and IPv6 for a single - * hostname. Each protocol implementation documents whether multiple - * connections might be opened at once. */ - UA_StatusCode - (*openConnection)(UA_ConnectionManager *cm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback); - - /* Send a message over a Connection - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Sending is asynchronous. That is, the function returns before the message - * is ACKed from remote. The memory for the buffer is expected to be - * allocated with allocNetworkBuffer and is released internally (also if - * sending fails). - * - * Some ConnectionManagers can accept additional parameters for sending. For - * example a tx-time for sending in time-synchronized TSN settings. */ - UA_StatusCode - (*sendWithConnection)(UA_ConnectionManager *cm, uintptr_t connectionId, - const UA_KeyValueMap *params, UA_ByteString *buf); - - /* Close a Connection - * ~~~~~~~~~~~~~~~~~~ - * When a connection is closed its `connectionCallback` is called with - * (status=BadConnectionClosed, msg=empty). Then the connection is cleared - * up inside the ConnectionManager. This is the case both for connections - * that are actively closed and those that are closed remotely. The return - * code is non-good only if the connection is already closed. */ - UA_StatusCode - (*closeConnection)(UA_ConnectionManager *cm, uintptr_t connectionId); - - /* Buffer Management - * ~~~~~~~~~~~~~~~~~ - * Each ConnectionManager allocates and frees his own memory for the network - * buffers. This enables, for example, zero-copy neworking mechanisms. The - * connectionId is part of the API to enable cases where memory is - * statically allocated for every connection */ - UA_StatusCode - (*allocNetworkBuffer)(UA_ConnectionManager *cm, uintptr_t connectionId, - UA_ByteString *buf, size_t bufSize); - void - (*freeNetworkBuffer)(UA_ConnectionManager *cm, uintptr_t connectionId, - UA_ByteString *buf); -}; - -/** - * Interrupt Manager - * ----------------- - * The Interrupt Manager allows to register to listen for system interrupts. - * Triggering the interrupt calls the callback associated with it. - * - * The implementations of the interrupt manager for the different platforms - * shall be designed such that: - * - * - Registered interrupts are only intercepted from within the running EventLoop - * - Processing an interrupt in the EventLoop is handled similarly to handling a - * network event: all methods and also memory allocation are available from - * within the interrupt callback. */ - -/* Interrupts can have additional key-value 'instanceInfos' for each individual - * triggering. See the architecture-specific documentation. */ -typedef void -(*UA_InterruptCallback)(UA_InterruptManager *im, - uintptr_t interruptHandle, void *interruptContext, - const UA_KeyValueMap *instanceInfos); - -struct UA_InterruptManager { - /* Every InterruptManager is treated like an EventSource from the - * perspective of the EventLoop. */ - UA_EventSource eventSource; - - /* Register an interrupt. The handle and context information is passed - * through to the callback. - * - * The interruptHandle is a numerical identifier of the interrupt. In some - * cases, such as POSIX signals, this is enough information to register - * callback. For other interrupt systems (architectures) additional - * parameters may be required and can be passed in via the parameters - * key-value list. See the implementation-specific documentation. - * - * The interruptContext is opaque user-defined information and passed - * through to the callback without modification. */ - UA_StatusCode - (*registerInterrupt)(UA_InterruptManager *im, uintptr_t interruptHandle, - const UA_KeyValueMap *params, - UA_InterruptCallback callback, void *interruptContext); - - /* Remove a registered interrupt. Returns no error code if the interrupt is - * already deregistered. */ - void - (*deregisterInterrupt)(UA_InterruptManager *im, uintptr_t interruptHandle); -}; - -/** - * POSIX-Specific Implementation - * ----------------------------- - * The POSIX compatibility of WIN32 is 'close enough'. So a joint implementation - * is provided. */ - -#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) - -UA_EXPORT UA_EventLoop * -UA_EventLoop_new_POSIX(const UA_Logger *logger); - -/** - * TCP Connection Manager - * ~~~~~~~~~~~~~~~~~~~~~~ - * Listens on the network and manages TCP connections. This should be available - * for all architectures. - * - * The `openConnection` callback is used to create both client and server - * sockets. A server socket listens and accepts incoming connections (creates an - * active connection). This is distinguished by the key-value parameters passed - * to `openConnection`. Note that a single call to `openConnection` for a server - * connection may actually create multiple connections (one per hostname / - * device). - * - * The `connectionCallback` of the server socket and `context` of the server - * socket is reused for each new connection. But the key-value parameters for - * the first callback are different between server and client connections. - * - * The following list defines the parameters and their type. Note that some - * parameters are only set for the first callback when a new connection opens. - * - * **Configuration parameters for the entire ConnectionManager:** - * - * 0:recv-bufsize [uint32] - * Size of the buffer that is allocated for receiving messages (default 64kB). - * - * **Open Connection Parameters:** - * - * 0:address [string | array of string] - * Hostname or IPv4/v6 address for the connection (scalar parameter required - * for active connections). For listen-connections the address contains the - * local hostnames or IP addresses for listening. If undefined, listen on all - * interfaces INADDR_ANY. (default: undefined) - * - * 0:port [uint16] - * Port of the target host (required). - * - * 0:listen [boolean] - * Listen-connection or active-connection (default: false) - * - * 0:validate [boolean] - * If true, the connection setup will act as a dry-run without actually - * creating any connection but solely validating the provided parameters - * (default: false) - * - * **Active Connection Connection Callback Parameters (first callback only):** - * - * 0:remote-address [string] - * Address of the remote side (hostname or IP address). - * - * **Listen Connection Connection Callback Parameters (first callback only):** - * - * 0:listen-address [string] - * Local address (IP or hostname) for the new listen-connection. - * - * 0:listen-port [uint16] - * Port on which the new connection listens. - * - * **Send Parameters:** - * - * No additional parameters for sending over an established TCP socket - * defined. */ -UA_EXPORT UA_ConnectionManager * -UA_ConnectionManager_new_POSIX_TCP(const UA_String eventSourceName); - -/** - * UDP Connection Manager - * ~~~~~~~~~~~~~~~~~~~~~~ - * Manages UDP connections. This should be available for all architectures. The - * configuration parameters have to set before calling _start to take effect. - * - * **Configuration Parameters:** - * - * 0:recv-bufsize [uint32] - * Size of the buffer that is allocated for receiving messages (default - * 64kB). - * - * **Open Connection Parameters:** - * - * 0:listen [boolean] - * Use the connection for listening or for sending (default: false) - * - * 0:address [string | string array] - * Hostname (or IPv4/v6 address) for sending or receiving. A scalar is - * required for sending. For listening a string array for the list-hostnames - * is possible as well (default: list on all hostnames). - * - * 0:port [uint16] - * Port for sending or listening (required). - * - * 0:interface [string] - * Network interface for listening or sending (e.g. when using multicast - * addresses). Can be either the IP address of the network interface - * or the interface name (e.g. 'eth0'). - * - * 0:ttl [uint32] - * Multicast time to live, (optional, default: 1 - meaning multicast is - * available only to the local subnet). - * - * 0:loopback [boolean] - * Whether or not to use multicast loopback, enabling local interfaces - * belonging to the multicast group to receive packages. (default: enabled). - * - * 0:reuse [boolean] - * Enables sharing of the same listening address on different sockets - * (default: disabled). - * - * 0:sockpriority [uint32] - * The socket priority (optional) - only available on linux. packets with a - * higher priority may be processed first depending on the selected device - * queueing discipline. Setting a priority outside the range 0 to 6 requires - * the CAP_NET_ADMIN capability (on Linux). - * - * 0:validate [boolean] - * If true, the connection setup will act as a dry-run without actually - * creating any connection but solely validating the provided parameters - * (default: false) - * - * **Connection Callback Parameters:** - * - * 0:remote-address [string] - * Contains the remote IP address. - * - * 0:remote-port [uint16] - * Contains the remote port. - * - * **Send Parameters:** - * - * No additional parameters for sending over an UDP connection defined. */ -UA_EXPORT UA_ConnectionManager * -UA_ConnectionManager_new_POSIX_UDP(const UA_String eventSourceName); - -#if defined(__linux__) /* Linux only so far */ -/** - * Ethernet Connection Manager - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * Listens on the network and manages UDP connections. This should be available - * for all architectures. The configuration parameters have to set before - * calling _start to take effect. - * - * **Open Connection Parameters:** - * - * 0:listen [bool] - * The connection is either for sending or for listening (default: false). - * - * 0:interface [string] - * The name of the Ethernet interface to use (required). - * - * 0:address [string] - * MAC target address consisting of six groups of hexadecimal digits - * separated by hyphens such as 01-23-45-67-89-ab. For sending this is a - * required parameter. For listening this is a multicast address that the - * connections tries to register for. - * - * 0:ethertype [uint16] - * EtherType for sending and receiving frames (optional). For listening - * connections, this filters out all frames with different EtherTypes. - * - * 0:promiscuous [bool] - * Receive frames also for different target addresses. Defined only for - * listening connections (default: false). - * - * 0:vid [uint16] - * 12-bit VLAN identifier (optional for send connections). - * - * 0:pcp [byte] - * 3-bit priority code point (optional for send connections). - * - * 0:dei [bool] - * 1-bit drop eligible indicator (optional for seond connections). - * - * 0:validate [boolean] - * If true, the connection setup will act as a dry-run without actually - * creating any connection but solely validating the provided parameters - * (default: false) - * - * **Send Parameters:** - * - * No additional parameters for sending over an Ethernet connection defined. */ -UA_EXPORT UA_ConnectionManager * -UA_ConnectionManager_new_POSIX_Ethernet(const UA_String eventSourceName); -#endif - -/** - * MQTT Connection Manager - * ~~~~~~~~~~~~~~~~~~~~~~~ - * The MQTT ConnectionManager reuses the TCP ConnectionManager that is - * configured in the EventLoop. Hence the MQTT ConnectionManager is platform - * agnostic and does not require porting. An MQTT connection is for a - * combination of broker and topic. The MQTT ConnectionManager can group - * connections to the same broker in the background. Hence adding multiple - * connections for the same broker is "cheap". To have individual control, - * separate connections are created for each topic and for each direction - * (publishing / subscribing). - * - * **Open Connection Parameters:** - * - * 0:address [string] - * Hostname or IPv4/v6 address of the MQTT broker (required). - * - * 0:port [uint16] - * Port of the MQTT broker (default: 1883). - * - * 0:username [string] - * Username to use (default: none) - * - * 0:password [string] - * Password to use (default: none) - * - * 0:keep-alive [uint16] - * Number of seconds for the keep-alive (ping) (default: 400). - * - * 0:validate [boolean] - * If true, the connection setup will act as a dry-run without actually - * creating any connection but solely validating the provided parameters - * (default: false) - * - * 0:topic [string] - * Topic to which the connection is associated (required). - * - * 0:subscribe [bool] - * Subscribe to the topic (default: false). Otherwise it is only possible to - * publish on the topic. Subscribed topics can also be published to. - * - * **Connection Callback Parameters:** - * - * 0:topic [string] - * The value set during connect. - * - * 0:subscribe [bool] - * The value set during connect. - * - * **Send Parameters:** - * - * No additional parameters for sending over an Ethernet connection defined. */ -UA_EXPORT UA_ConnectionManager * -UA_ConnectionManager_new_MQTT(const UA_String eventSourceName); - -/** - * Signal Interrupt Manager - * ~~~~~~~~~~~~~~~~~~~~~~~~ - * Create an instance of the interrupt manager that handles POSX signals. This - * interrupt manager takes the numerical interrupt identifiers from - * for the interruptHandle. */ -UA_EXPORT UA_InterruptManager * -UA_InterruptManager_new_POSIX(const UA_String eventSourceName); - -#endif /* defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) */ - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/nodestore.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - -/* !!! Warning !!! - * - * If you are not developing a nodestore plugin, then you should not work with - * the definitions from this file directly. The underlying node structures are - * not meant to be used directly by end users. Please use the public server API - * / OPC UA services to interact with the information model. */ - - -_UA_BEGIN_DECLS - -/* Forward declaration */ -#ifdef UA_ENABLE_SUBSCRIPTIONS -struct UA_MonitoredItem; -typedef struct UA_MonitoredItem UA_MonitoredItem; -#endif - -/** - * Node Store Plugin API - * ===================== - * - * **Warning!!** The structures defined in this section are only relevant for - * the developers of custom Nodestores. The interaction with the information - * model is possible only via the OPC UA :ref:`services`. So the following - * sections are purely informational so that users may have a clear mental - * model of the underlying representation. - * - * .. _node-lifecycle: - * - * Node Lifecycle: Constructors, Destructors and Node Contexts - * ----------------------------------------------------------- - * - * To finalize the instantiation of a node, a (user-defined) constructor - * callback is executed. There can be both a global constructor for all nodes - * and node-type constructor specific to the TypeDefinition of the new node - * (attached to an ObjectTypeNode or VariableTypeNode). - * - * In the hierarchy of ObjectTypes and VariableTypes, only the constructor of - * the (lowest) type defined for the new node is executed. Note that every - * Object and Variable can have only one ``isTypeOf`` reference. But type-nodes - * can technically have several ``hasSubType`` references to implement multiple - * inheritance. Issues of (multiple) inheritance in the constructor need to be - * solved by the user. - * - * When a node is destroyed, the node-type destructor is called before the - * global destructor. So the overall node lifecycle is as follows: - * - * 1. Global Constructor (set in the server config) - * 2. Node-Type Constructor (for VariableType or ObjectTypes) - * 3. (Usage-period of the Node) - * 4. Node-Type Destructor - * 5. Global Destructor - * - * The constructor and destructor callbacks can be set to ``NULL`` and are not - * used in that case. If the node-type constructor fails, the global destructor - * will be called before removing the node. The destructors are assumed to never - * fail. - * - * Every node carries a user-context and a constructor-context pointer. The - * user-context is used to attach custom data to a node. But the (user-defined) - * constructors and destructors may replace the user-context pointer if they - * wish to do so. The initial value for the constructor-context is ``NULL``. - * When the ``AddNodes`` service is used over the network, the user-context - * pointer of the new node is also initially set to ``NULL``. - * - * Global Node Lifecycle - * ~~~~~~~~~~~~~~~~~~~~~~ - * Global constructor and destructor callbacks used for every node type. - * To be set in the server config. - */ - -typedef struct { - /* Can be NULL. May replace the nodeContext */ - UA_StatusCode (*constructor)(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void **nodeContext); - - /* Can be NULL. The context cannot be replaced since the node is destroyed - * immediately afterwards anyway. */ - void (*destructor)(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext); - - /* Can be NULL. Called during recursive node instantiation. While mandatory - * child nodes are automatically created if not already present, optional child - * nodes are not. This callback can be used to define whether an optional child - * node should be created. - * - * @param server The server executing the callback - * @param sessionId The identifier of the session - * @param sessionContext Additional data attached to the session in the - * access control layer - * @param sourceNodeId Source node from the type definition. If the new node - * shall be created, it will be a copy of this node. - * @param targetParentNodeId Parent of the potential new child node - * @param referenceTypeId Identifies the reference type which that the parent - * node has to the new node. - * @return Return UA_TRUE if the child node shall be instantiated, - * UA_FALSE otherwise. */ - UA_Boolean (*createOptionalChild)(UA_Server *server, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *sourceNodeId, - const UA_NodeId *targetParentNodeId, - const UA_NodeId *referenceTypeId); - - /* Can be NULL. Called when a node is to be copied during recursive - * node instantiation. Allows definition of the NodeId for the new node. - * If the callback is set to NULL or the resulting NodeId is UA_NODEID_NUMERIC(X,0) - * an unused nodeid in namespace X will be used. E.g. passing UA_NODEID_NULL will - * result in a NodeId in namespace 0. - * - * @param server The server executing the callback - * @param sessionId The identifier of the session - * @param sessionContext Additional data attached to the session in the - * access control layer - * @param sourceNodeId Source node of the copy operation - * @param targetParentNodeId Parent node of the new node - * @param referenceTypeId Identifies the reference type which that the parent - * node has to the new node. */ - UA_StatusCode (*generateChildNodeId)(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *sourceNodeId, - const UA_NodeId *targetParentNodeId, - const UA_NodeId *referenceTypeId, - UA_NodeId *targetNodeId); -} UA_GlobalNodeLifecycle; - -/** - * Node Type Lifecycle - * ~~~~~~~~~~~~~~~~~~~ - * Constructor and destructors for specific object and variable types. */ -typedef struct { - /* Can be NULL. May replace the nodeContext */ - UA_StatusCode (*constructor)(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeNodeId, void *typeNodeContext, - const UA_NodeId *nodeId, void **nodeContext); - - /* Can be NULL. May replace the nodeContext. */ - void (*destructor)(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeNodeId, void *typeNodeContext, - const UA_NodeId *nodeId, void **nodeContext); -} UA_NodeTypeLifecycle; - -/** - * ReferenceType Bitfield Representation - * ------------------------------------- - * ReferenceTypes have an alternative represention as an index into a bitfield - * for fast comparison. The index is generated when the corresponding - * ReferenceTypeNode is added. By bounding the number of ReferenceTypes that can - * exist in the server, the bitfield can represent a set of an combination of - * ReferenceTypes. - * - * Every ReferenceTypeNode contains a bitfield with the set of all its subtypes. - * This speeds up the Browse services substantially. - * - * The following ReferenceTypes have a fixed index. The NS0 bootstrapping - * creates these ReferenceTypes in-order. */ -#define UA_REFERENCETYPEINDEX_REFERENCES 0 -#define UA_REFERENCETYPEINDEX_HASSUBTYPE 1 -#define UA_REFERENCETYPEINDEX_AGGREGATES 2 -#define UA_REFERENCETYPEINDEX_HIERARCHICALREFERENCES 3 -#define UA_REFERENCETYPEINDEX_NONHIERARCHICALREFERENCES 4 -#define UA_REFERENCETYPEINDEX_HASCHILD 5 -#define UA_REFERENCETYPEINDEX_ORGANIZES 6 -#define UA_REFERENCETYPEINDEX_HASEVENTSOURCE 7 -#define UA_REFERENCETYPEINDEX_HASMODELLINGRULE 8 -#define UA_REFERENCETYPEINDEX_HASENCODING 9 -#define UA_REFERENCETYPEINDEX_HASDESCRIPTION 10 -#define UA_REFERENCETYPEINDEX_HASTYPEDEFINITION 11 -#define UA_REFERENCETYPEINDEX_GENERATESEVENT 12 -#define UA_REFERENCETYPEINDEX_HASPROPERTY 13 -#define UA_REFERENCETYPEINDEX_HASCOMPONENT 14 -#define UA_REFERENCETYPEINDEX_HASNOTIFIER 15 -#define UA_REFERENCETYPEINDEX_HASORDEREDCOMPONENT 16 -#define UA_REFERENCETYPEINDEX_HASINTERFACE 17 - -/* The maximum number of ReferrenceTypes. Must be a multiple of 32. */ -#define UA_REFERENCETYPESET_MAX 128 -typedef struct { - UA_UInt32 bits[UA_REFERENCETYPESET_MAX / 32]; -} UA_ReferenceTypeSet; - -UA_EXPORT extern const UA_ReferenceTypeSet UA_REFERENCETYPESET_NONE; -UA_EXPORT extern const UA_ReferenceTypeSet UA_REFERENCETYPESET_ALL; - -static UA_INLINE void -UA_ReferenceTypeSet_init(UA_ReferenceTypeSet *set) { - memset(set, 0, sizeof(UA_ReferenceTypeSet)); -} - -static UA_INLINE UA_ReferenceTypeSet -UA_REFTYPESET(UA_Byte index) { - UA_Byte i = index / 32, j = index % 32; - UA_ReferenceTypeSet set; - UA_ReferenceTypeSet_init(&set); - set.bits[i] |= ((UA_UInt32)1) << j; - return set; -} - -static UA_INLINE UA_ReferenceTypeSet -UA_ReferenceTypeSet_union(const UA_ReferenceTypeSet setA, - const UA_ReferenceTypeSet setB) { - UA_ReferenceTypeSet set; - for(size_t i = 0; i < UA_REFERENCETYPESET_MAX / 32; i++) - set.bits[i] = setA.bits[i] | setB.bits[i]; - return set; -} - -static UA_INLINE UA_Boolean -UA_ReferenceTypeSet_contains(const UA_ReferenceTypeSet *set, UA_Byte index) { - UA_Byte i = index / 32, j = index % 32; - return !!(set->bits[i] & (((UA_UInt32)1) << j)); -} - -/** - * Node Pointer - * ------------ - * - * The "native" format for reference between nodes is the ExpandedNodeId. That - * is, references can also point to external servers. In practice, most - * references point to local nodes using numerical NodeIds from the - * standard-defined namespace zero. In order to save space (and time), - * pointer-tagging is used for compressed "NodePointer" representations. - * Numerical NodeIds are immediately contained in the pointer. Full NodeIds and - * ExpandedNodeIds are behind a pointer indirection. If the Nodestore supports - * it, a NodePointer can also be an actual pointer to the target node. - * - * Depending on the processor architecture, some numerical NodeIds don't fit - * into an immediate encoding and are kept as pointers. ExpandedNodeIds may be - * internally translated to "normal" NodeIds. Use the provided functions to - * generate NodePointers that fit the assumptions for the local architecture. */ - -/* Forward declaration. All node structures begin with the NodeHead. */ -struct UA_NodeHead; -typedef struct UA_NodeHead UA_NodeHead; - -/* Tagged Pointer structure. */ -typedef union { - uintptr_t immediate; /* 00: Small numerical NodeId */ - const UA_NodeId *id; /* 01: Pointer to NodeId */ - const UA_ExpandedNodeId *expandedId; /* 10: Pointer to ExternalNodeId */ - const UA_NodeHead *node; /* 11: Pointer to a node */ -} UA_NodePointer; - -/* Sets the pointer to an immediate NodeId "ns=0;i=0" similar to a freshly - * initialized UA_NodeId */ -static UA_INLINE void -UA_NodePointer_init(UA_NodePointer *np) { np->immediate = 0; } - -/* NodeId and ExpandedNodeId targets are freed */ -void UA_EXPORT -UA_NodePointer_clear(UA_NodePointer *np); - -/* Makes a deep copy */ -UA_StatusCode UA_EXPORT -UA_NodePointer_copy(UA_NodePointer in, UA_NodePointer *out); - -/* Test if an ExpandedNodeId or a local NodeId */ -UA_Boolean UA_EXPORT -UA_NodePointer_isLocal(UA_NodePointer np); - -UA_Order UA_EXPORT -UA_NodePointer_order(UA_NodePointer p1, UA_NodePointer p2); - -static UA_INLINE UA_Boolean -UA_NodePointer_equal(UA_NodePointer p1, UA_NodePointer p2) { - return (UA_NodePointer_order(p1, p2) == UA_ORDER_EQ); -} - -/* Cannot fail. The resulting NodePointer can point to the memory from the - * NodeId. Make a deep copy if required. */ -UA_NodePointer UA_EXPORT -UA_NodePointer_fromNodeId(const UA_NodeId *id); - -/* Cannot fail. The resulting NodePointer can point to the memory from the - * ExpandedNodeId. Make a deep copy if required. */ -UA_NodePointer UA_EXPORT -UA_NodePointer_fromExpandedNodeId(const UA_ExpandedNodeId *id); - -/* Can point to the memory from the NodePointer */ -UA_ExpandedNodeId UA_EXPORT -UA_NodePointer_toExpandedNodeId(UA_NodePointer np); - -/* Can point to the memory from the NodePointer. Discards the ServerIndex and - * NamespaceUri of a potential ExpandedNodeId inside the NodePointer. Test - * before if the NodePointer is local. */ -UA_NodeId UA_EXPORT -UA_NodePointer_toNodeId(UA_NodePointer np); - -/** - * Base Node Attributes - * -------------------- - * - * Nodes contain attributes according to their node type. The base node - * attributes are common to all node types. In the OPC UA :ref:`services`, - * attributes are referred to via the :ref:`nodeid` of the containing node and - * an integer :ref:`attribute-id`. - * - * Internally, open62541 uses ``UA_Node`` in places where the exact node type is - * not known or not important. The ``nodeClass`` attribute is used to ensure the - * correctness of casting from ``UA_Node`` to a specific node type. */ - -typedef struct { - UA_NodePointer targetId; /* Has to be the first entry */ - UA_UInt32 targetNameHash; /* Hash of the target's BrowseName. Set to zero - * if the target is remote. */ -} UA_ReferenceTarget; - -typedef struct UA_ReferenceTargetTreeElem { - UA_ReferenceTarget target; /* Has to be the first entry */ - UA_UInt32 targetIdHash; /* Hash of the targetId */ - struct { - struct UA_ReferenceTargetTreeElem *left; - struct UA_ReferenceTargetTreeElem *right; - } idTreeEntry; - struct { - struct UA_ReferenceTargetTreeElem *left; - struct UA_ReferenceTargetTreeElem *right; - } nameTreeEntry; -} UA_ReferenceTargetTreeElem; - - -/* List of reference targets with the same reference type and direction. Uses - * either an array or a tree structure. The SDK will not change the type of - * reference target structure internally. The nodestore implementations may - * switch internally when a node is updated. - * - * The recommendation is to switch to a tree once the number of refs > 8. */ -typedef struct { - union { - /* Organize the references in an array. Uses less memory, but incurs - * lookups in linear time. Recommended if the number of references is - * known to be small. */ - UA_ReferenceTarget *array; - - /* Organize the references in a tree for fast lookup. Use - * UA_Node_addReference and UA_Node_deleteReference to modify the - * tree-structure. The binary tree implementation (and absolute ordering - * / duplicate browseNames are allowed) are not exposed otherwise in the - * public API. */ - struct { - UA_ReferenceTargetTreeElem *idRoot; /* Lookup based on target id */ - UA_ReferenceTargetTreeElem *nameRoot; /* Lookup based on browseName*/ - } tree; - } targets; - size_t targetsSize; - UA_Boolean hasRefTree; /* RefTree or RefArray? */ - UA_Byte referenceTypeIndex; - UA_Boolean isInverse; -} UA_NodeReferenceKind; - -/* Iterate over the references. Aborts when the first callback return a non-NULL - * pointer and returns that pointer. Do not modify the reference targets during - * the iteration. */ -typedef void * -(*UA_NodeReferenceKind_iterateCallback)(void *context, UA_ReferenceTarget *target); - -UA_EXPORT void * -UA_NodeReferenceKind_iterate(UA_NodeReferenceKind *rk, - UA_NodeReferenceKind_iterateCallback callback, - void *context); - -/* Returns the entry for the targetId or NULL if not found */ -UA_EXPORT const UA_ReferenceTarget * -UA_NodeReferenceKind_findTarget(const UA_NodeReferenceKind *rk, - const UA_ExpandedNodeId *targetId); - -/* Switch between array and tree representation. Does nothing upon error (e.g. - * out-of-memory). */ -UA_EXPORT UA_StatusCode -UA_NodeReferenceKind_switch(UA_NodeReferenceKind *rk); - -/* Singly-linked LocalizedText list */ -typedef struct UA_LocalizedTextListEntry { - struct UA_LocalizedTextListEntry *next; - UA_LocalizedText localizedText; -} UA_LocalizedTextListEntry; - -/* Every Node starts with these attributes */ -struct UA_NodeHead { - UA_NodeId nodeId; - UA_NodeClass nodeClass; - UA_QualifiedName browseName; - - /* A node can have different localizations for displayName and description. - * The server selects a suitable localization depending on the locale ids - * that are set for the current session. - * - * Locales are added simply by writing a LocalizedText value with a new - * locale. A locale can be removed by writing a LocalizedText value of the - * corresponding locale with an empty text field. */ - UA_LocalizedTextListEntry *displayName; - UA_LocalizedTextListEntry *description; - - UA_UInt32 writeMask; - size_t referencesSize; - UA_NodeReferenceKind *references; - - /* Members specific to open62541 */ - void *context; - UA_Boolean constructed; /* Constructors were called */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_MonitoredItem *monitoredItems; /* MonitoredItems for Events and immediate - * DataChanges (no sampling interval). */ -#endif -}; - -/** - * VariableNode - * ------------ */ - -/* Indicates whether a variable contains data inline or whether it points to an - * external data source */ -typedef enum { - UA_VALUESOURCE_DATA, - UA_VALUESOURCE_DATASOURCE -} UA_ValueSource; - -typedef struct { - /* Called before the value attribute is read. It is possible to write into the - * value attribute during onRead (using the write service). The node is - * re-opened afterwards so that changes are considered in the following read - * operation. - * - * @param handle Points to user-provided data for the callback. - * @param nodeid The identifier of the node. - * @param data Points to the current node value. - * @param range Points to the numeric range the client wants to read from - * (or NULL). */ - void (*onRead)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeid, - void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *value); - - /* Called after writing the value attribute. The node is re-opened after - * writing so that the new value is visible in the callback. - * - * @param server The server executing the callback - * @sessionId The identifier of the session - * @sessionContext Additional data attached to the session - * in the access control layer - * @param nodeid The identifier of the node. - * @param nodeUserContext Additional data attached to the node by - * the user. - * @param nodeConstructorContext Additional data attached to the node - * by the type constructor(s). - * @param range Points to the numeric range the client wants to write to (or - * NULL). */ - void (*onWrite)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *data); -} UA_ValueCallback; - -typedef struct { - /* Copies the data from the source into the provided value. - * - * !! ZERO-COPY OPERATIONS POSSIBLE !! - * It is not required to return a copy of the actual content data. You can - * return a pointer to memory owned by the user. Memory can be reused - * between read callbacks of a DataSource, as the result is already encoded - * on the network buffer between each read operation. - * - * To use zero-copy reads, set the value of the `value->value` Variant - * without copying, e.g. with `UA_Variant_setScalar`. Then, also set - * `value->value.storageType` to `UA_VARIANT_DATA_NODELETE` to prevent the - * memory being cleaned up. Don't forget to also set `value->hasValue` to - * true to indicate the presence of a value. - * - * @param server The server executing the callback - * @param sessionId The identifier of the session - * @param sessionContext Additional data attached to the session in the - * access control layer - * @param nodeId The identifier of the node being read from - * @param nodeContext Additional data attached to the node by the user - * @param includeSourceTimeStamp If true, then the datasource is expected to - * set the source timestamp in the returned value - * @param range If not null, then the datasource shall return only a - * selection of the (nonscalar) data. Set - * UA_STATUSCODE_BADINDEXRANGEINVALID in the value if this does not - * apply - * @param value The (non-null) DataValue that is returned to the client. The - * data source sets the read data, the result status and optionally a - * sourcetimestamp. - * @return Returns a status code for logging. Error codes intended for the - * original caller are set in the value. If an error is returned, - * then no releasing of the value is done - */ - UA_StatusCode (*read)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, UA_DataValue *value); - - /* Write into a data source. This method pointer can be NULL if the - * operation is unsupported. - * - * @param server The server executing the callback - * @param sessionId The identifier of the session - * @param sessionContext Additional data attached to the session in the - * access control layer - * @param nodeId The identifier of the node being written to - * @param nodeContext Additional data attached to the node by the user - * @param range If not NULL, then the datasource shall return only a - * selection of the (nonscalar) data. Set - * UA_STATUSCODE_BADINDEXRANGEINVALID in the value if this does not - * apply - * @param value The (non-NULL) DataValue that has been written by the client. - * The data source contains the written data, the result status and - * optionally a sourcetimestamp - * @return Returns a status code for logging. Error codes intended for the - * original caller are set in the value. If an error is returned, - * then no releasing of the value is done - */ - UA_StatusCode (*write)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *value); -} UA_DataSource; - -/** - * .. _value-callback: - * - * Value Callback - * ~~~~~~~~~~~~~~ - * Value Callbacks can be attached to variable and variable type nodes. If - * not ``NULL``, they are called before reading and after writing respectively. */ -typedef struct { - /* Called before the value attribute is read. The external value source can be - * be updated and/or locked during this notification call. After this function returns - * to the core, the external value source is readed immediately. - */ - UA_StatusCode (*notificationRead)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeid, - void *nodeContext, const UA_NumericRange *range); - - /* Called after writing the value attribute. The node is re-opened after - * writing so that the new value is visible in the callback. - * - * @param server The server executing the callback - * @sessionId The identifier of the session - * @sessionContext Additional data attached to the session - * in the access control layer - * @param nodeid The identifier of the node. - * @param nodeUserContext Additional data attached to the node by - * the user. - * @param nodeConstructorContext Additional data attached to the node - * by the type constructor(s). - * @param range Points to the numeric range the client wants to write to (or - * NULL). */ - UA_StatusCode (*userWrite)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *data); -} UA_ExternalValueCallback; - -typedef enum { - UA_VALUEBACKENDTYPE_NONE, - UA_VALUEBACKENDTYPE_INTERNAL, - UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK, - UA_VALUEBACKENDTYPE_EXTERNAL -} UA_ValueBackendType; - -typedef struct { - UA_ValueBackendType backendType; - union { - struct { - UA_DataValue value; - UA_ValueCallback callback; - } internal; - UA_DataSource dataSource; - struct { - UA_DataValue **value; - UA_ExternalValueCallback callback; - } external; - } backend; -} UA_ValueBackend; - -#define UA_NODE_VARIABLEATTRIBUTES \ - /* Constraints on possible values */ \ - UA_NodeId dataType; \ - UA_Int32 valueRank; \ - size_t arrayDimensionsSize; \ - UA_UInt32 *arrayDimensions; \ - \ - UA_ValueBackend valueBackend; \ - \ - /* The current value */ \ - UA_ValueSource valueSource; \ - union { \ - struct { \ - UA_DataValue value; \ - UA_ValueCallback callback; \ - } data; \ - UA_DataSource dataSource; \ - } value; - -typedef struct { - UA_NodeHead head; - UA_NODE_VARIABLEATTRIBUTES - UA_Byte accessLevel; - UA_Double minimumSamplingInterval; - UA_Boolean historizing; - - /* Members specific to open62541 */ - UA_Boolean isDynamic; /* Some variables are "static" in the sense that they - * are not attached to a dynamic process in the - * background. Only dynamic variables conserve source - * and server timestamp for the value attribute. - * Static variables have timestamps of "now". */ -} UA_VariableNode; - -/** - * VariableTypeNode - * ---------------- */ - -typedef struct { - UA_NodeHead head; - UA_NODE_VARIABLEATTRIBUTES - UA_Boolean isAbstract; - - /* Members specific to open62541 */ - UA_NodeTypeLifecycle lifecycle; -} UA_VariableTypeNode; - -/** - * MethodNode - * ---------- */ - -typedef UA_StatusCode -(*UA_MethodCallback)(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *methodId, - void *methodContext, const UA_NodeId *objectId, - void *objectContext, size_t inputSize, - const UA_Variant *input, size_t outputSize, - UA_Variant *output); - -typedef struct { - UA_NodeHead head; - UA_Boolean executable; - - /* Members specific to open62541 */ - UA_MethodCallback method; -#if UA_MULTITHREADING >= 100 - UA_Boolean async; /* Indicates an async method call */ -#endif -} UA_MethodNode; - -/** - * ObjectNode - * ---------- */ - -typedef struct { - UA_NodeHead head; - UA_Byte eventNotifier; -} UA_ObjectNode; - -/** - * ObjectTypeNode - * -------------- */ - -typedef struct { - UA_NodeHead head; - UA_Boolean isAbstract; - - /* Members specific to open62541 */ - UA_NodeTypeLifecycle lifecycle; -} UA_ObjectTypeNode; - -/** - * ReferenceTypeNode - * ----------------- */ - -typedef struct { - UA_NodeHead head; - UA_Boolean isAbstract; - UA_Boolean symmetric; - UA_LocalizedText inverseName; - - /* Members specific to open62541 */ - UA_Byte referenceTypeIndex; - UA_ReferenceTypeSet subTypes; /* contains the type itself as well */ -} UA_ReferenceTypeNode; - -/** - * DataTypeNode - * ------------ */ - -typedef struct { - UA_NodeHead head; - UA_Boolean isAbstract; -} UA_DataTypeNode; - -/** - * ViewNode - * -------- */ - -typedef struct { - UA_NodeHead head; - UA_Byte eventNotifier; - UA_Boolean containsNoLoops; -} UA_ViewNode; - -/** - * Node Union - * ---------- - * - * A union that represents any kind of node. The node head can always be used. - * Check the NodeClass before accessing specific content. - */ - -typedef union { - UA_NodeHead head; - UA_VariableNode variableNode; - UA_VariableTypeNode variableTypeNode; - UA_MethodNode methodNode; - UA_ObjectNode objectNode; - UA_ObjectTypeNode objectTypeNode; - UA_ReferenceTypeNode referenceTypeNode; - UA_DataTypeNode dataTypeNode; - UA_ViewNode viewNode; -} UA_Node; - -/** - * Nodestore - * --------- - * - * The following definitions are used for implementing custom node storage - * backends. **Most users will want to use the default nodestore and don't need - * to work with the nodestore API**. - * - * Outside of custom nodestore implementations, users should not manually edit - * nodes. Please use the OPC UA services for that. Otherwise, all consistency - * checks are omitted. This can crash the application eventually. */ - -typedef void (*UA_NodestoreVisitor)(void *visitorCtx, const UA_Node *node); - -typedef struct { - /* Nodestore context and lifecycle */ - void *context; - void (*clear)(void *nsCtx); - - /* The following definitions are used to create empty nodes of the different - * node types. The memory is managed by the nodestore. Therefore, the node - * has to be removed via a special deleteNode function. (If the new node is - * not added to the nodestore.) */ - UA_Node * (*newNode)(void *nsCtx, UA_NodeClass nodeClass); - - void (*deleteNode)(void *nsCtx, UA_Node *node); - - /* ``Get`` returns a pointer to an immutable node. Call ``releaseNode`` to - * indicate when the pointer is no longer accessed. - * - * It can be indicated if only a subset of the attributes and referencs need - * to be accessed. That is relevant when the nodestore accesses a slow - * storage backend for the attributes. The attribute mask is a bitfield with - * ORed entries from UA_NodeAttributesMask. - * - * The returned node always contains the context-pointer and other fields - * specific to open626541 (not official attributes). - * - * The NodeStore does not complain if attributes and references that don't - * exist (for that node) are requested. Attributes and references in - * addition to those specified can be returned. For example, if the full - * node already is kept in memory by the Nodestore. */ - const UA_Node * (*getNode)(void *nsCtx, const UA_NodeId *nodeId, - UA_UInt32 attributeMask, - UA_ReferenceTypeSet references, - UA_BrowseDirection referenceDirections); - - /* Similar to the normal ``getNode``. But it can take advantage of the - * NodePointer structure, e.g. if it contains a direct pointer. */ - const UA_Node * (*getNodeFromPtr)(void *nsCtx, UA_NodePointer ptr, - UA_UInt32 attributeMask, - UA_ReferenceTypeSet references, - UA_BrowseDirection referenceDirections); - - /* Release a node that has been retrieved with ``getNode`` or - * ``getNodeFromPtr``. */ - void (*releaseNode)(void *nsCtx, const UA_Node *node); - - /* Returns an editable copy of a node (needs to be deleted with the - * deleteNode function or inserted / replaced into the nodestore). */ - UA_StatusCode (*getNodeCopy)(void *nsCtx, const UA_NodeId *nodeId, - UA_Node **outNode); - - /* Inserts a new node into the nodestore. If the NodeId is zero, then a - * fresh numeric NodeId is assigned. If insertion fails, the node is - * deleted. */ - UA_StatusCode (*insertNode)(void *nsCtx, UA_Node *node, - UA_NodeId *addedNodeId); - - /* To replace a node, get an editable copy of the node, edit and replace - * with this function. If the node was already replaced since the copy was - * made, UA_STATUSCODE_BADINTERNALERROR is returned. If the NodeId is not - * found, UA_STATUSCODE_BADNODEIDUNKNOWN is returned. In both error cases, - * the editable node is deleted. */ - UA_StatusCode (*replaceNode)(void *nsCtx, UA_Node *node); - - /* Removes a node from the nodestore. */ - UA_StatusCode (*removeNode)(void *nsCtx, const UA_NodeId *nodeId); - - /* Maps the ReferenceTypeIndex used for the references to the NodeId of the - * ReferenceType. The returned pointer is stable until the Nodestore is - * deleted. */ - const UA_NodeId * (*getReferenceTypeId)(void *nsCtx, UA_Byte refTypeIndex); - - /* Execute a callback for every node in the nodestore. */ - void (*iterate)(void *nsCtx, UA_NodestoreVisitor visitor, - void *visitorCtx); -} UA_Nodestore; - -/* Attributes must be of a matching type (VariableAttributes, ObjectAttributes, - * and so on). The attributes are copied. Note that the attributes structs do - * not contain NodeId, NodeClass and BrowseName. The NodeClass of the node needs - * to be correctly set before calling this method. UA_Node_clear is called on - * the node when an error occurs internally. */ -UA_StatusCode UA_EXPORT -UA_Node_setAttributes(UA_Node *node, const void *attributes, - const UA_DataType *attributeType); - -/* Reset the destination node and copy the content of the source */ -UA_StatusCode UA_EXPORT -UA_Node_copy(const UA_Node *src, UA_Node *dst); - -/* Allocate new node and copy the values from src */ -UA_EXPORT UA_Node * -UA_Node_copy_alloc(const UA_Node *src); - -/* Add a single reference to the node */ -UA_StatusCode UA_EXPORT -UA_Node_addReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, - const UA_ExpandedNodeId *targetNodeId, - UA_UInt32 targetBrowseNameHash); - -/* Delete a single reference from the node */ -UA_StatusCode UA_EXPORT -UA_Node_deleteReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, - const UA_ExpandedNodeId *targetNodeId); - -/* Deletes references from the node which are not matching any type in the given - * array. Could be used to e.g. delete all the references, except - * 'HASMODELINGRULE' */ -void UA_EXPORT -UA_Node_deleteReferencesSubset(UA_Node *node, const UA_ReferenceTypeSet *keepSet); - -/* Delete all references of the node */ -void UA_EXPORT -UA_Node_deleteReferences(UA_Node *node); - -/* Remove all malloc'ed members of the node and reset */ -void UA_EXPORT -UA_Node_clear(UA_Node *node); - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/plugin/historydatabase.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - */ - - - -_UA_BEGIN_DECLS - -typedef struct UA_HistoryDatabase UA_HistoryDatabase; - -struct UA_HistoryDatabase { - void *context; - - void (*clear)(UA_HistoryDatabase *hdb); - - /* This function will be called when a nodes value is set. - * Use this to insert data into your database(s) if polling is not suitable - * and you need to get all data changes. - * Set it to NULL if you do not need it. - * - * server is the server this node lives in. - * hdbContext is the context of the UA_HistoryDatabase. - * sessionId and sessionContext identify the session which set this value. - * nodeId is the node id for which data was set. - * historizing is the nodes boolean flag for historizing - * value is the new value. */ - void - (*setValue)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_Boolean historizing, - const UA_DataValue *value); - - /* This function will be called when an event is triggered. - * Use it to insert data into your event database. - * No default implementation is provided by UA_HistoryDatabase_default. - * - * server is the server this node lives in. - * hdbContext is the context of the UA_HistoryDatabase. - * originId is the node id of the event's origin. - * emitterId is the node id of the event emitter. - * historicalEventFilter is the value of the HistoricalEventFilter property of - * the emitter (OPC UA Part 11, 5.3.2), it is NULL if - * the property does not exist or is not set. - * fieldList is the event field list returned after application of - * historicalEventFilter to the event node. */ - void - (*setEvent)(UA_Server *server, - void *hdbContext, - const UA_NodeId *originId, - const UA_NodeId *emitterId, - const UA_EventFilter *historicalEventFilter, - UA_EventFieldList *fieldList); - - /* This function is called if a history read is requested with - * isRawReadModified set to false. Setting it to NULL will result in a - * response with statuscode UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED. - * - * server is the server this node lives in. - * hdbContext is the context of the UA_HistoryDatabase. - * sessionId and sessionContext identify the session which set this value. - * requestHeader, historyReadDetails, timestampsToReturn, releaseContinuationPoints - * nodesToReadSize and nodesToRead is the requested data from the client. It - * is from the request object. - * response the response to fill for the client. If the request is ok, there - * is no need to use it. Use this to set status codes other than - * "Good" or other data. You find an already allocated - * UA_HistoryReadResult array with an UA_HistoryData object in the - * extension object in the size of nodesToReadSize. If you are not - * willing to return data, you have to delete the results array, - * set it to NULL and set the resultsSize to 0. Do not access - * historyData after that. - * historyData is a proper typed pointer array pointing in the - * UA_HistoryReadResult extension object. use this to provide - * result data to the client. Index in the array is the same as - * in nodesToRead and the UA_HistoryReadResult array. */ - void - (*readRaw)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_ReadRawModifiedDetails *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - UA_HistoryData * const * const historyData); - - /* No default implementation is provided by UA_HistoryDatabase_default - * for the following function */ - void - (*readModified)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_ReadRawModifiedDetails *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - UA_HistoryModifiedData * const * const historyData); - - /* No default implementation is provided by UA_HistoryDatabase_default - * for the following function */ - void - (*readEvent)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_ReadEventDetails *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - UA_HistoryEvent * const * const historyData); - - /* No default implementation is provided by UA_HistoryDatabase_default - * for the following function */ - void - (*readProcessed)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_ReadProcessedDetails *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - UA_HistoryData * const * const historyData); - - /* No default implementation is provided by UA_HistoryDatabase_default - * for the following function */ - void - (*readAtTime)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_ReadAtTimeDetails *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - UA_HistoryData * const * const historyData); - - void - (*updateData)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_UpdateDataDetails *details, - UA_HistoryUpdateResult *result); - - void - (*deleteRawModified)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_DeleteRawModifiedDetails *details, - UA_HistoryUpdateResult *result); - - /* Add more function pointer here. - * For example for read_event, read_annotation, update_details */ -}; - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/server_pubsub.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - -#ifndef UA_SERVER_PUBSUB_H -#define UA_SERVER_PUBSUB_H - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_PUBSUB - -/** - * .. _pubsub: - * - * PubSub - * ====== - * - * In PubSub the participating OPC UA Applications take their roles as - * Publishers and Subscribers. Publishers are the sources of data, while - * Subscribers consume that data. Communication in PubSub is message-based. - * Publishers send messages to a Message Oriented Middleware, without knowledge - * of what, if any, Subscribers there may be. Similarly, Subscribers express - * interest in specific types of data, and process messages that contain this - * data, without knowledge of what Publishers there are. - * - * Message Oriented Middleware is software or hardware infrastructure that - * supports sending and receiving messages between distributed systems. OPC UA - * PubSub supports two different Message Oriented Middleware variants, namely - * the broker-less form and broker-based form. A broker-less form is where the - * Message Oriented Middleware is the network infrastructure that is able to - * route datagram-based messages. Subscribers and Publishers use datagram - * protocols like UDP. In a broker-based form, the core component of the Message - * Oriented Middleware is a message Broker. Subscribers and Publishers use - * standard messaging protocols like AMQP or MQTT to communicate with the - * Broker. - * - * This makes PubSub suitable for applications where location independence - * and/or scalability are required. - * - * The Publish/Subscribe (PubSub) extension for OPC UA enables fast and - * efficient 1:m communication. The PubSub extension is protocol agnostic and - * can be used with broker based protocols like MQTT and AMQP or brokerless - * implementations like UDP-Multicasting. - * - * The configuration model for PubSub uses the following components: */ - -typedef enum { - UA_PUBSUB_COMPONENT_CONNECTION, - UA_PUBSUB_COMPONENT_WRITERGROUP, - UA_PUBSUB_COMPONENT_DATASETWRITER, - UA_PUBSUB_COMPONENT_READERGROUP, - UA_PUBSUB_COMPONENT_DATASETREADER -} UA_PubSubComponentEnumType; - -/** - * The open62541 PubSub API uses the following scheme: - * - * 1. Create a configuration for the needed PubSub element. - * - * 2. Call the add[element] function and pass in the configuration. - * - * 3. The add[element] function returns the unique nodeId of the internally created element. - * - * Take a look on the PubSub Tutorials for more details about the API usage:: - * - * +-----------+ - * | UA_Server | - * +-----------+ - * | | - * | | - * | | - * | | +----------------------+ - * | +--> UA_PubSubConnection | UA_Server_addPubSubConnection - * | +----------------------+ - * | | | - * | | | +----------------+ - * | | +----> UA_WriterGroup | UA_PubSubConnection_addWriterGroup - * | | +----------------+ - * | | | - * | | | +------------------+ - * | | +----> UA_DataSetWriter | UA_WriterGroup_addDataSetWriter +-+ - * | | +------------------+ | - * | | | - * | | +----------------+ | r - * | +---------> UA_ReaderGroup | UA_PubSubConnection_addReaderGroup | e - * | +----------------+ | f - * | | | - * | | +------------------+ | - * | +----> UA_DataSetReader | UA_ReaderGroup_addDataSetReader | - * | +------------------+ | - * | | | - * | | +----------------------+ | - * | +----> UA_SubscribedDataSet | | - * | +----------------------+ | - * | | | - * | | +----------------------------+ | - * | +----> UA_TargetVariablesDataType | | - * | | +----------------------------+ | - * | | | - * | | +------------------------------------+ | - * | +----> UA_SubscribedDataSetMirrorDataType | | - * | +------------------------------------+ | - * | | - * | +---------------------------+ | - * +-------> UA_PubSubPublishedDataSet | UA_Server_addPublishedDataSet <-+ - * +---------------------------+ - * | - * | +-----------------+ - * +----> UA_DataSetField | UA_PublishedDataSet_addDataSetField - * +-----------------+ - * - * PubSub Information Model Representation - * --------------------------------------- - * .. _pubsub_informationmodel: - * - * The complete PubSub configuration is available inside the information model. - * The entry point is the node 'PublishSubscribe', located under the Server - * node. - * The standard defines for PubSub no new Service set. The configuration can - * optionally be done over methods inside the information model. - * The information model representation of the current PubSub configuration is - * generated automatically. This feature can be enabled/disabled by changing the - * UA_ENABLE_PUBSUB_INFORMATIONMODEL option. - * - * Connections - * ----------- - * The PubSub connections are the abstraction between the concrete transport protocol - * and the PubSub functionality. It is possible to create multiple connections with - * different transport protocols at runtime. - */ - -/* Valid PublisherId types from Part 14 */ -typedef enum { - UA_PUBLISHERIDTYPE_BYTE = 0, - UA_PUBLISHERIDTYPE_UINT16 = 1, - UA_PUBLISHERIDTYPE_UINT32 = 2, - UA_PUBLISHERIDTYPE_UINT64 = 3, - UA_PUBLISHERIDTYPE_STRING = 4 -} UA_PublisherIdType; - -/* Publisher Id - Valid types are defined in Part 14, 7.2.2.2.2 NetworkMessage Layout: - - Bit range 0-2: PublisherId Type - 000 The PublisherId is of DataType Byte This is the default value if ExtendedFlags1 is omitted - 001 The PublisherId is of DataType UInt16 - 010 The PublisherId is of DataType UInt32 - 011 The PublisherId is of DataType UInt64 - 100 The PublisherId is of DataType String -*/ -typedef union { - UA_Byte byte; - UA_UInt16 uint16; - UA_UInt32 uint32; - UA_UInt64 uint64; - UA_String string; -} UA_PublisherId; - -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_PublisherIdType publisherIdType; - UA_PublisherId publisherId; - UA_String transportProfileUri; - UA_Variant address; - UA_KeyValueMap connectionProperties; - UA_Variant connectionTransportSettings; - - UA_EventLoop *eventLoop; /* Use an external EventLoop (use the EventLoop of - * the server if this is NULL). Propagates to the - * ReaderGroup/WriterGroup attached to the - * Connection. */ -} UA_PubSubConnectionConfig; - -#ifdef UA_ENABLE_PUBSUB_MONITORING - -typedef enum { - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT - // extend as needed -} UA_PubSubMonitoringType; - -/* PubSub monitoring interface */ -typedef struct { - UA_StatusCode (*createMonitoring)(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, - void *data, UA_ServerCallback callback); - UA_StatusCode (*startMonitoring)(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data); - UA_StatusCode (*stopMonitoring)(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data); - UA_StatusCode (*updateMonitoringInterval)(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, - void *data); - UA_StatusCode (*deleteMonitoring)(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data); -} UA_PubSubMonitoringInterface; - -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - -/* General PubSub configuration */ -struct UA_PubSubConfiguration { - /* Callback for PubSub component state changes: If provided this callback - * informs the application about PubSub component state changes. E.g. state - * change from operational to error in case of a DataSetReader - * MessageReceiveTimeout. The status code provides additional - * information. */ - void (*stateChangeCallback)(UA_Server *server, UA_NodeId *id, - UA_PubSubState state, UA_StatusCode status); - - UA_Boolean enableDeltaFrames; - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - UA_Boolean enableInformationModelMethods; -#endif - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - /* PubSub security policies */ - size_t securityPoliciesSize; - UA_PubSubSecurityPolicy *securityPolicies; -#endif - -#ifdef UA_ENABLE_PUBSUB_MONITORING - UA_PubSubMonitoringInterface monitoringInterface; -#endif -}; - -/* Add a new PubSub connection to the given server and open it. - * @param server The server to add the connection to. - * @param connectionConfig The configuration for the newly added connection. - * @param connectionIdentifier If not NULL will be set to the identifier of the - * newly added connection. - * @return UA_STATUSCODE_GOOD if connection was successfully added, otherwise an - * error code. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addPubSubConnection(UA_Server *server, - const UA_PubSubConnectionConfig *connectionConfig, - UA_NodeId *connectionIdentifier); - -/* Returns a deep copy of the config */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_getPubSubConnectionConfig(UA_Server *server, - const UA_NodeId connection, - UA_PubSubConnectionConfig *config); - -/* Remove Connection, identified by the NodeId. Deletion of Connection - * removes all contained WriterGroups and Writers. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_removePubSubConnection(UA_Server *server, const UA_NodeId connection); - -/** - * PublishedDataSets - * ----------------- - * The PublishedDataSets (PDS) are containers for the published information. The - * PDS contain the published variables and meta information. The metadata is - * commonly autogenerated or given as constant argument as part of the template - * functions. The template functions are standard defined and intended for - * configuration tools. You should normally create an empty PDS and call the - * functions to add new fields. */ - -/* The UA_PUBSUB_DATASET_PUBLISHEDITEMS has currently no additional members and - * thus no dedicated config structure. */ - -typedef enum { - UA_PUBSUB_DATASET_PUBLISHEDITEMS, - UA_PUBSUB_DATASET_PUBLISHEDEVENTS, - UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE, - UA_PUBSUB_DATASET_PUBLISHEDEVENTS_TEMPLATE, -} UA_PublishedDataSetType; - -typedef struct { - UA_DataSetMetaDataType metaData; - size_t variablesToAddSize; - UA_PublishedVariableDataType *variablesToAdd; -} UA_PublishedDataItemsTemplateConfig; - -typedef struct { - UA_NodeId eventNotfier; - UA_ContentFilter filter; -} UA_PublishedEventConfig; - -typedef struct { - UA_DataSetMetaDataType metaData; - UA_NodeId eventNotfier; - size_t selectedFieldsSize; - UA_SimpleAttributeOperand *selectedFields; - UA_ContentFilter filter; -} UA_PublishedEventTemplateConfig; - -/* Configuration structure for PublishedDataSet */ -typedef struct { - UA_String name; - UA_PublishedDataSetType publishedDataSetType; - union { - /* The UA_PUBSUB_DATASET_PUBLISHEDITEMS has currently no additional members - * and thus no dedicated config structure.*/ - UA_PublishedDataItemsTemplateConfig itemsTemplate; - UA_PublishedEventConfig event; - UA_PublishedEventTemplateConfig eventTemplate; - } config; -} UA_PublishedDataSetConfig; - -void UA_EXPORT -UA_PublishedDataSetConfig_clear(UA_PublishedDataSetConfig *pdsConfig); - -typedef struct { - UA_StatusCode addResult; - size_t fieldAddResultsSize; - UA_StatusCode *fieldAddResults; - UA_ConfigurationVersionDataType configurationVersion; -} UA_AddPublishedDataSetResult; - -UA_EXPORT UA_AddPublishedDataSetResult UA_THREADSAFE -UA_Server_addPublishedDataSet(UA_Server *server, - const UA_PublishedDataSetConfig *publishedDataSetConfig, - UA_NodeId *pdsIdentifier); - -/* Returns a deep copy of the config */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, - UA_PublishedDataSetConfig *config); - -/* Returns a deep copy of the DataSetMetaData for an specific PDS */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_getPublishedDataSetMetaData(UA_Server *server, const UA_NodeId pds, - UA_DataSetMetaDataType *metaData); - -/* Remove PublishedDataSet, identified by the NodeId. Deletion of PDS removes - * all contained and linked PDS Fields. Connected WriterGroups will be also - * removed. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_removePublishedDataSet(UA_Server *server, const UA_NodeId pds); - -/** - * DataSetFields - * ------------- - * The description of published variables is named DataSetField. Each - * DataSetField contains the selection of one information model node. The - * DataSetField has additional parameters for the publishing, sampling and error - * handling process. */ - -typedef struct{ - UA_ConfigurationVersionDataType configurationVersion; - UA_String fieldNameAlias; - UA_Boolean promotedField; - UA_PublishedVariableDataType publishParameters; - - /* non std. field */ - struct { - UA_Boolean rtFieldSourceEnabled; - /* If the rtInformationModelNode is set, the nodeid in publishParameter must point - * to a node with external data source backend defined - * */ - UA_Boolean rtInformationModelNode; - //TODO -> decide if suppress C++ warnings and use 'UA_DataValue * * const staticValueSource;' - UA_DataValue ** staticValueSource; - } rtValueSource; - UA_UInt32 maxStringLength; - -} UA_DataSetVariableConfig; - -typedef enum { - UA_PUBSUB_DATASETFIELD_VARIABLE, - UA_PUBSUB_DATASETFIELD_EVENT -} UA_DataSetFieldType; - -typedef struct { - UA_DataSetFieldType dataSetFieldType; - union { - /* events need other config later */ - UA_DataSetVariableConfig variable; - } field; -} UA_DataSetFieldConfig; - -void UA_EXPORT -UA_DataSetFieldConfig_clear(UA_DataSetFieldConfig *dataSetFieldConfig); - -typedef struct { - UA_StatusCode result; - UA_ConfigurationVersionDataType configurationVersion; -} UA_DataSetFieldResult; - -UA_EXPORT UA_DataSetFieldResult UA_THREADSAFE -UA_Server_addDataSetField(UA_Server *server, - const UA_NodeId publishedDataSet, - const UA_DataSetFieldConfig *fieldConfig, - UA_NodeId *fieldIdentifier); - -/* Returns a deep copy of the config */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_getDataSetFieldConfig(UA_Server *server, const UA_NodeId dsf, - UA_DataSetFieldConfig *config); - -UA_EXPORT UA_DataSetFieldResult UA_THREADSAFE -UA_Server_removeDataSetField(UA_Server *server, const UA_NodeId dsf); - -/** - * Custom Callback Implementation - * ------------------------------ - * The user can use his own callback implementation for publishing - * and subscribing. The user must take care of the callback to call for - * every publishing or subscibing interval */ - -typedef struct { - /* User's callback implementation. The user configured base time and timer policy - * will be provided as an argument to this callback so that the user can - * implement his callback (thread) considering base time and timer policies */ - UA_StatusCode (*addCustomCallback)(UA_Server *server, UA_NodeId identifier, - UA_ServerCallback callback, - void *data, UA_Double interval_ms, - UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, - UA_UInt64 *callbackId); - - UA_StatusCode (*changeCustomCallback)(UA_Server *server, UA_NodeId identifier, - UA_UInt64 callbackId, UA_Double interval_ms, - UA_DateTime *baseTime, UA_TimerPolicy timerPolicy); - - void (*removeCustomCallback)(UA_Server *server, UA_NodeId identifier, UA_UInt64 callbackId); - -} UA_PubSub_CallbackLifecycle; - -/** - * WriterGroup - * ----------- - * All WriterGroups are created within a PubSubConnection and automatically - * deleted if the connection is removed. The WriterGroup is primary used as - * container for :ref:`dsw` and network message settings. The WriterGroup can be - * imagined as producer of the network messages. The creation of network - * messages is controlled by parameters like the publish interval, which is e.g. - * contained in the WriterGroup. */ - -typedef enum { - UA_PUBSUB_ENCODING_UADP = 0, - UA_PUBSUB_ENCODING_JSON = 1, - UA_PUBSUB_ENCODING_BINARY = 2 -} UA_PubSubEncodingType; - -/** - * WriterGroup - * ----------- - * The message publishing can be configured for realtime requirements. The RT-levels - * go along with different requirements. The below listed levels can be configured: - * - * UA_PUBSUB_RT_NONE - * No realtime-specific configuration. - * - * UA_PUBSUB_RT_DIRECT_VALUE_ACCESS - * All PublishedDataSets need to point to a variable with a - * ``UA_VALUEBACKENDTYPE_EXTERNAL`` value backend. The value backend gets - * cached when the configuration is frozen. No lookup of the variable from - * the information is performed afterwards. This enables also big data - * structures to be updated atomically with a compare-and-switch operation on - * the ``UA_DataValue`` double-pointer in the backend. - * - * UA_PUBSUB_RT_FIXED_SIZE - * Validate that the message constains only fields with a known size. - * Then the message fields have fixed offsets that are known ahead of time. - * - * UA_PUBSUB_RT_DETERMINISTIC - * Both direct-access and fixed-size is being used. The server pre-allocates - * buffers when the configuration is frozen and uses only memcpy operations - * to update the PubSub network messages for sending. - * - * WARNING! For hard real time requirements the underlying system must be - * RT-capable. Also note that each PubSubConnection can have a dedicated - * EventLoop. That way normal client/server operations can run independently - * from PubSub. The double-pointer in the ``UA_VALUEBACKENDTYPE_EXTERNAL`` value - * backend allows avoid race-condition with non-blocking atomic operations. */ - -typedef enum { - UA_PUBSUB_RT_NONE = 0, - UA_PUBSUB_RT_DIRECT_VALUE_ACCESS = 1, - UA_PUBSUB_RT_FIXED_SIZE = 2, - UA_PUBSUB_RT_DETERMINISTIC = 3, -} UA_PubSubRTLevel; - -typedef struct { - UA_String name; - UA_Boolean enabled; - UA_UInt16 writerGroupId; - UA_Duration publishingInterval; - UA_Double keepAliveTime; - UA_Byte priority; - UA_ExtensionObject transportSettings; - UA_ExtensionObject messageSettings; - UA_KeyValueMap groupProperties; - UA_PubSubEncodingType encodingMimeType; - /* PubSub Manager Callback */ - UA_PubSub_CallbackLifecycle pubsubManagerCallback; - /* non std. config parameter. maximum count of embedded DataSetMessage in - * one NetworkMessage */ - UA_UInt16 maxEncapsulatedDataSetMessageCount; - /* non std. field */ - UA_PubSubRTLevel rtLevel; - - /* Message are encrypted if a SecurityPolicy is configured and the - * securityMode set accordingly. The symmetric key is a runtime information - * and has to be set via UA_Server_setWriterGroupEncryptionKey. */ - UA_MessageSecurityMode securityMode; /* via the UA_WriterGroupDataType */ -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_PubSubSecurityPolicy *securityPolicy; - UA_String securityGroupId; -#endif -} UA_WriterGroupConfig; - -void UA_EXPORT -UA_WriterGroupConfig_clear(UA_WriterGroupConfig *writerGroupConfig); - -/* Add a new WriterGroup to an existing Connection */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_addWriterGroup(UA_Server *server, const UA_NodeId connection, - const UA_WriterGroupConfig *writerGroupConfig, - UA_NodeId *writerGroupIdentifier); - -/* Returns a deep copy of the config */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_getWriterGroupConfig(UA_Server *server, const UA_NodeId writerGroup, - UA_WriterGroupConfig *config); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_updateWriterGroupConfig(UA_Server *server, UA_NodeId writerGroupIdentifier, - const UA_WriterGroupConfig *config); - -/* Get state of WriterGroup */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_WriterGroup_getState(UA_Server *server, UA_NodeId writerGroupIdentifier, - UA_PubSubState *state); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_WriterGroup_publish(UA_Server *server, const UA_NodeId writerGroupIdentifier); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_WriterGroup_lastPublishTimestamp(UA_Server *server, const UA_NodeId writerGroupId, - UA_DateTime *timestamp); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_removeWriterGroup(UA_Server *server, const UA_NodeId writerGroup); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_freezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_unfreezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_setWriterGroupOperational(UA_Server *server, const UA_NodeId writerGroup); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_setWriterGroupDisabled(UA_Server *server, const UA_NodeId writerGroup); - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -/* Set the group key for the message encryption */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce); -#endif - -/** - * .. _dsw: - * - * DataSetWriter - * ------------- - * The DataSetWriters are the glue between the WriterGroups and the - * PublishedDataSets. The DataSetWriter contain configuration parameters and - * flags which influence the creation of DataSet messages. These messages are - * encapsulated inside the network message. The DataSetWriter must be linked - * with an existing PublishedDataSet and be contained within a WriterGroup. */ - -typedef struct { - UA_String name; - UA_UInt16 dataSetWriterId; - UA_DataSetFieldContentMask dataSetFieldContentMask; - UA_UInt32 keyFrameCount; - UA_ExtensionObject messageSettings; - UA_ExtensionObject transportSettings; - UA_String dataSetName; - UA_KeyValueMap dataSetWriterProperties; -} UA_DataSetWriterConfig; - -void UA_EXPORT -UA_DataSetWriterConfig_clear(UA_DataSetWriterConfig *pdsConfig); - -/* Add a new DataSetWriter to an existing WriterGroup. The DataSetWriter must be - * coupled with a PublishedDataSet on creation. - * - * Part 14, 7.1.5.2.1 defines: The link between the PublishedDataSet and - * DataSetWriter shall be created when an instance of the DataSetWriterType is - * created. */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_addDataSetWriter(UA_Server *server, - const UA_NodeId writerGroup, const UA_NodeId dataSet, - const UA_DataSetWriterConfig *dataSetWriterConfig, - UA_NodeId *writerIdentifier); - -/* Returns a deep copy of the config */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_getDataSetWriterConfig(UA_Server *server, const UA_NodeId dsw, - UA_DataSetWriterConfig *config); - -/* Get state of DataSetWriter */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_DataSetWriter_getState(UA_Server *server, UA_NodeId dataSetWriterIdentifier, - UA_PubSubState *state); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_removeDataSetWriter(UA_Server *server, const UA_NodeId dsw); - -/** - * SubscribedDataSet - * ----------------- - * SubscribedDataSet describes the processing of the received DataSet. - * SubscribedDataSet defines which field in the DataSet is mapped to which - * Variable in the OPC UA Application. SubscribedDataSet has two sub-types - * called the TargetVariablesType and SubscribedDataSetMirrorType. - * SubscribedDataSetMirrorType is currently not supported. SubscribedDataSet is - * set to TargetVariablesType and then the list of target Variables are created - * in the Subscriber AddressSpace. TargetVariables are a list of variables that - * are to be added in the Subscriber AddressSpace. It defines a list of Variable - * mappings between received DataSet fields and added Variables in the - * Subscriber AddressSpace. */ - -/* SubscribedDataSetDataType Definition */ -typedef enum { - UA_PUBSUB_SDS_TARGET, - UA_PUBSUB_SDS_MIRROR -} UA_SubscribedDataSetEnumType; - -typedef struct { - /* Standard-defined FieldTargetDataType */ - UA_FieldTargetDataType targetVariable; - - /* If realtime-handling is required, set this pointer non-NULL and it will be used - * to memcpy the value instead of using the Write service. - * If the beforeWrite method pointer is set, it will be called before a memcpy update - * to the value. - * If the afterWrite method pointer is set, it will be called after a memcpy update - * to the value. */ - UA_DataValue **externalDataValue; - void *targetVariableContext; /* user-defined pointer */ - void (*beforeWrite)(UA_Server *server, - const UA_NodeId *readerIdentifier, - const UA_NodeId *readerGroupIdentifier, - const UA_NodeId *targetVariableIdentifier, - void *targetVariableContext, - UA_DataValue **externalDataValue); - void (*afterWrite)(UA_Server *server, - const UA_NodeId *readerIdentifier, - const UA_NodeId *readerGroupIdentifier, - const UA_NodeId *targetVariableIdentifier, - void *targetVariableContext, - UA_DataValue **externalDataValue); -} UA_FieldTargetVariable; - -typedef struct { - size_t targetVariablesSize; - UA_FieldTargetVariable *targetVariables; -} UA_TargetVariables; - -/* Return Status Code after creating TargetVariables in Subscriber AddressSpace */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_DataSetReader_createTargetVariables(UA_Server *server, - UA_NodeId dataSetReaderIdentifier, - size_t targetVariablesSize, - const UA_FieldTargetVariable *targetVariables); - -/* To Do:Implementation of SubscribedDataSetMirrorType - * UA_StatusCode - * A_PubSubDataSetReader_createDataSetMirror(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - * UA_SubscribedDataSetMirrorDataType* mirror) */ - -/** - * DataSetReader - * ------------- - * DataSetReader can receive NetworkMessages with the DataSetMessage - * of interest sent by the Publisher. DataSetReaders represent - * the configuration necessary to receive and process DataSetMessages - * on the Subscriber side. DataSetReader must be linked with a - * SubscribedDataSet and be contained within a ReaderGroup. */ - -typedef enum { - UA_PUBSUB_RT_UNKNOWN = 0, - UA_PUBSUB_RT_VARIANT = 1, - UA_PUBSUB_RT_DATA_VALUE = 2, - UA_PUBSUB_RT_RAW = 4, -} UA_PubSubRtEncoding; - -/* Parameters for PubSub DataSetReader Configuration */ -typedef struct { - UA_String name; - UA_Variant publisherId; - UA_UInt16 writerGroupId; - UA_UInt16 dataSetWriterId; - UA_DataSetMetaDataType dataSetMetaData; - UA_DataSetFieldContentMask dataSetFieldContentMask; - UA_Double messageReceiveTimeout; - UA_ExtensionObject messageSettings; - UA_ExtensionObject transportSettings; - UA_SubscribedDataSetEnumType subscribedDataSetType; - /* TODO UA_SubscribedDataSetMirrorDataType subscribedDataSetMirror */ - union { - UA_TargetVariables subscribedDataSetTarget; - // UA_SubscribedDataSetMirrorDataType subscribedDataSetMirror; - } subscribedDataSet; - /* non std. fields */ - UA_String linkedStandaloneSubscribedDataSetName; - UA_PubSubRtEncoding expectedEncoding; -} UA_DataSetReaderConfig; - -/* Copy the configuration of DataSetReader */ -UA_EXPORT UA_StatusCode -UA_DataSetReaderConfig_copy(const UA_DataSetReaderConfig *src, - UA_DataSetReaderConfig *dst); - -/* Clear the configuration of a DataSetReader */ -UA_EXPORT void -UA_DataSetReaderConfig_clear(UA_DataSetReaderConfig *cfg); - -/* Update configuration to the DataSetReader */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_DataSetReader_updateConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - UA_NodeId readerGroupIdentifier, - const UA_DataSetReaderConfig *config); - -/* Get the configuration (copy) of the DataSetReader */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_DataSetReader_getConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - UA_DataSetReaderConfig *config); - -/* Get state of DataSetReader */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_DataSetReader_getState(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - UA_PubSubState *state); - -typedef struct { - UA_String name; - UA_SubscribedDataSetEnumType subscribedDataSetType; - union { - /* datasetmirror is currently not implemented */ - UA_TargetVariablesDataType target; - } subscribedDataSet; - UA_DataSetMetaDataType dataSetMetaData; - UA_Boolean isConnected; -} UA_StandaloneSubscribedDataSetConfig; - -void -UA_StandaloneSubscribedDataSetConfig_clear(UA_StandaloneSubscribedDataSetConfig *sdsConfig); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_addStandaloneSubscribedDataSet(UA_Server *server, - const UA_StandaloneSubscribedDataSetConfig *subscribedDataSetConfig, - UA_NodeId *sdsIdentifier); - -/* Remove StandaloneSubscribedDataSet, identified by the NodeId. */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds); - -/** - * ReaderGroup - * ----------- - * - * ReaderGroup is used to group a list of DataSetReaders. All ReaderGroups are - * created within a PubSubConnection and automatically deleted if the connection - * is removed. All network message related filters are only available in the - * DataSetReader. - * - * The RT-levels go along with different requirements. The below listed levels - * can be configured for a ReaderGroup. - * - * - UA_PUBSUB_RT_NONE: RT applied to this level - * - PUBSUB_CONFIG_FASTPATH_FIXED_OFFSETS: Extends PubSub RT functionality and - * implements fast path message decoding in the Subscriber. Uses a buffered - * network message and only decodes the necessary offsets stored in an offset - * buffer. */ - -/* ReaderGroup configuration */ -typedef struct { - UA_String name; - - /* non std. field */ - UA_PubSubRTLevel rtLevel; - UA_KeyValueMap groupProperties; - UA_PubSubEncodingType encodingMimeType; - UA_ExtensionObject transportSettings; - - /* Messages are decrypted if a SecurityPolicy is configured and the - * securityMode set accordingly. The symmetric key is a runtime information - * and has to be set via UA_Server_setReaderGroupEncryptionKey. */ - UA_MessageSecurityMode securityMode; -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_PubSubSecurityPolicy *securityPolicy; - UA_String securityGroupId; -#endif -} UA_ReaderGroupConfig; - -void UA_EXPORT -UA_ReaderGroupConfig_clear(UA_ReaderGroupConfig *readerGroupConfig); - -/* Add DataSetReader to the ReaderGroup */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_addDataSetReader(UA_Server *server, UA_NodeId readerGroupIdentifier, - const UA_DataSetReaderConfig *dataSetReaderConfig, - UA_NodeId *readerIdentifier); - -/* Remove DataSetReader from ReaderGroup */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_removeDataSetReader(UA_Server *server, UA_NodeId readerIdentifier); - -/* To Do: Update Configuration of ReaderGroup - * UA_StatusCode UA_EXPORT - * UA_Server_ReaderGroup_updateConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, - * const UA_ReaderGroupConfig *config); - */ - -/* Get configuraiton of ReaderGroup */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_ReaderGroup_getConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, - UA_ReaderGroupConfig *config); - -/* Get state of ReaderGroup */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_ReaderGroup_getState(UA_Server *server, UA_NodeId readerGroupIdentifier, - UA_PubSubState *state); - -/* Add ReaderGroup to the created connection */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_addReaderGroup(UA_Server *server, UA_NodeId connectionIdentifier, - const UA_ReaderGroupConfig *readerGroupConfig, - UA_NodeId *readerGroupIdentifier); - -/* Remove ReaderGroup from connection */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_removeReaderGroup(UA_Server *server, UA_NodeId groupIdentifier); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_freezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_unfreezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_setReaderGroupOperational(UA_Server *server, const UA_NodeId readerGroupId); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_setReaderGroupDisabled(UA_Server *server, const UA_NodeId readerGroupId); - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -/* Set the group key for the message encryption */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_setReaderGroupEncryptionKeys(UA_Server *server, UA_NodeId readerGroup, - UA_UInt32 securityTokenId, - UA_ByteString signingKey, - UA_ByteString encryptingKey, - UA_ByteString keyNonce); -#endif - -#ifdef UA_ENABLE_PUBSUB_SKS - -/** - * SecurityGroup - * ------------- - * - * A SecurityGroup is an abstraction that represents the message security settings and - * security keys for a subset of NetworkMessages exchanged between Publishers and - * Subscribers. The SecurityGroup objects are created on a Security Key Service (SKS). The - * SKS manages the access to the keys based on the role permission for a user assigned to - * a SecurityGroup Object. A SecurityGroup is identified with a unique identifier called - * the SecurityGroupId. It is unique within the SKS. - * - * .. note:: The access to the SecurityGroup and therefore the securitykeys managed by SKS - * requires management of Roles and Permissions in the SKS. The Role Permission - * model is not supported at the time of writing. However, the access control plugin can - * be used to create and manage role permission on SecurityGroup object. - */ - -typedef struct { - UA_String securityGroupName; - UA_Duration keyLifeTime; - UA_String securityPolicyUri; - UA_UInt32 maxFutureKeyCount; - UA_UInt32 maxPastKeyCount; -} UA_SecurityGroupConfig; - -/** - * @brief Creates a SecurityGroup object and add it to the list in PubSub Manager. If the - * information model is enabled then the SecurityGroup object Node is also created in the - * server. A keyStorage with initial list of keys is created with a SecurityGroup. A - * callback is added to new SecurityGroup which updates the keys periodically at each - * KeyLifeTime expire. - * - * @param server The server instance - * @param securityGroupFolderNodeId The parent node of the SecurityGroup. It must be of - * SecurityGroupFolderType - * @param securityGroupConfig The security settings of a SecurityGroup - * @param securityGroupNodeId The output nodeId of the new SecurityGroup - * @return UA_StatusCode The return status code - */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_addSecurityGroup(UA_Server *server, UA_NodeId securityGroupFolderNodeId, - const UA_SecurityGroupConfig *securityGroupConfig, - UA_NodeId *securityGroupNodeId); - -/** - * @brief Removes the SecurityGroup from PubSub Manager. It removes the KeyStorage - * associated with the SecurityGroup from the server. - * - * @param server The server instance - * @param securityGroup The nodeId of the securityGroup to be removed - * @return UA_StatusCode The returned status code. - */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_removeSecurityGroup(UA_Server *server, const UA_NodeId securityGroup); - -/** - * @brief This is a repeated callback which is triggered on each iteration of SKS Pull request. - * The server uses this callback to notify user about the status of current Pull request iteration. - * The period is calculated based on the KeylifeTime of specified in the SecurityGroup object node on - * the SKS server. - * - * @param server The server instance managing the publisher/subscriber. - * @param sksPullRequestStatus The current status of sks pull request. - * @param context The pointer to user defined data passed to this callback. - */ -typedef void -(*UA_Server_sksPullRequestCallback)(UA_Server *server, UA_StatusCode sksPullRequestStatus, void* context); - -/** - * @brief Sets the SKS client config used to call the GetSecurityKeys Method on SKS and get the - * initial set of keys for a SecurityGroupId and adds timedCallback for the next GetSecurityKeys - * method Call. This uses async Client API for SKS Pull request. The SKS Client instance is created and destroyed at - * runtime on each iteration of SKS Pull request by the server. The key Rollover mechanism will check if the new - * keys are needed then it will call the getSecurityKeys Method on SKS Server. At the end of SKS Pull request - * iteration, the sks client will be deleted by a delayed callback (in next server iteration). - * - * @note It is be called before setting Reader/Writer Group into Operational because this also allocates - * a channel context for the pubsub security policy. - * - * @note the stateCallback of sksClientConfig will be overwritten by an internal callback. - * - * @param server the server instance - * @param clientConfig holds the required configuration to make encrypted connection with - * SKS Server. The input client config takes the lifecycle as long as SKS request are made. - * It is deleted with its plugins when the server is deleted or the last Reader/Writer - * Group of the securityGroupId is deleted. The input config is copied to an internal - * config object and the content of input config object will be reset to zero. - * @param endpointUrl holds the endpointUrl of the SKS server - * @param securityGroupId the SecurityGroupId of the securityGroup on SKS and - * reader/writergroups - * @param callback the user defined callback to notify the user about the status of SKS - * Pull request. - * @param context passed to the callback function - * @return UA_StatusCode the retuned status - */ -UA_StatusCode UA_EXPORT -UA_Server_setSksClient(UA_Server *server, UA_String securityGroupId, - UA_ClientConfig *clientConfig, const char *endpointUrl, - UA_Server_sksPullRequestCallback callback, void *context); - -#endif /* UA_ENABLE_PUBSUB_SKS */ - -#endif /* UA_ENABLE_PUBSUB */ - -_UA_END_DECLS - -#endif /* UA_SERVER_PUBSUB_H */ - -/**** amalgamated original file "/include/open62541/client.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015-2017 (c) Florian Palm - * Copyright 2015 (c) Holger Jeromin - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Kalycito Infotech Private Limited - * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart - * Copyright 2022 (c) Linutronix GmbH (Author: Muddasir Shakil) - */ - - - - -/* Forward declarations */ -struct UA_ClientConfig; -typedef struct UA_ClientConfig UA_ClientConfig; - -_UA_BEGIN_DECLS - -/** - * .. _client: - * - * Client - * ====== - * - * The client implementation allows remote access to all OPC UA services. For - * convenience, some functionality has been wrapped in :ref:`high-level - * abstractions `. - * - * **However**: At this time, the client does not yet contain its own thread or - * event-driven main-loop, meaning that the client will not perform any actions - * automatically in the background. This is especially relevant for - * connection/session management and subscriptions. The user will have to - * periodically call `UA_Client_run_iterate` to ensure that asynchronous events - * are handled, including keeping a secure connection established. - * See more about :ref:`asynchronicity` and - * :ref:`subscriptions`. - * - * .. _client-config: - * - * Client Configuration - * -------------------- - * - * The client configuration is used for setting connection parameters and - * additional settings used by the client. - * The configuration should not be modified after it is passed to a client. - * Currently, only one client can use a configuration at a time. - * - * Examples for configurations are provided in the ``/plugins`` folder. - * The usual usage is as follows: - * - * 1. Create a client configuration with default settings as a starting point - * 2. Modifiy the configuration, e.g. modifying the timeout - * 3. Instantiate a client with it - * 4. After shutdown of the client, clean up the configuration (free memory) - * - * The :ref:`tutorials` provide a good starting point for this. */ - -struct UA_ClientConfig { - void *clientContext; /* User-defined pointer attached to the client */ - UA_Logger *logging; /* Plugin for log output */ - - /* Response timeout in ms (0 -> no timeout). If the server does not answer a - * request within this time a StatusCode UA_STATUSCODE_BADTIMEOUT is - * returned. This timeout can be overridden for individual requests by - * setting a non-null "timeoutHint" in the request header. */ - UA_UInt32 timeout; - - /* The description must be internally consistent. - * - The ApplicationUri set in the ApplicationDescription must match the - * URI set in the certificate */ - UA_ApplicationDescription clientDescription; - - /* The endpoint for the client to connect to. - * Such as "opc.tcp://host:port". */ - UA_String endpointUrl; - - /** - * Connection configuration - * ~~~~~~~~~~~~~~~~~~~~~~~~ - * - * The following configuration elements reduce the "degrees of freedom" the - * client has when connecting to a server. If no connection can be made - * under these restrictions, then the connection will abort with an error - * message. */ - UA_ExtensionObject userIdentityToken; /* Configured User-Identity Token */ - UA_MessageSecurityMode securityMode; /* None, Sign, SignAndEncrypt. The - * default is "invalid". This - * indicates the client to select any - * matching endpoint. */ - UA_String securityPolicyUri; /* SecurityPolicy for the SecureChannel. An - * empty string indicates the client to select - * any matching SecurityPolicy. */ - - UA_Boolean noSession; /* Only open a SecureChannel, but no Session */ - UA_Boolean noReconnect; /* Don't reconnect SecureChannel when the connection - * is lost without explicitly closing. */ - UA_Boolean noNewSession; /* Don't automatically create a new Session when - * the intial one is lost. Instead abort the - * connection when the Session is lost. */ - - /** - * If either endpoint or userTokenPolicy has been set, then they are used - * directly. Otherwise this information comes from the GetEndpoints response - * from the server (filtered and selected for the SecurityMode, etc.). */ - UA_EndpointDescription endpoint; - UA_UserTokenPolicy userTokenPolicy; - - /** - * If the EndpointDescription has not been defined, the ApplicationURI - * filters the servers considered in the FindServers service and the - * Endpoints considered in the GetEndpoints service. */ - UA_String applicationUri; - - /** - * Custom Data Types - * ~~~~~~~~~~~~~~~~~ - * The following is a linked list of arrays with custom data types. All data - * types that are accessible from here are automatically considered for the - * decoding of received messages. Custom data types are not cleaned up - * together with the configuration. So it is possible to allocate them on - * ROM. - * - * See the section on :ref:`generic-types`. Examples for working with custom - * data types are provided in ``/examples/custom_datatype/``. */ - const UA_DataTypeArray *customDataTypes; - - /** - * Advanced Client Configuration - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - - UA_UInt32 secureChannelLifeTime; /* Lifetime in ms (then the channel needs - to be renewed) */ - UA_UInt32 requestedSessionTimeout; /* Session timeout in ms */ - UA_ConnectionConfig localConnectionConfig; - UA_UInt32 connectivityCheckInterval; /* Connectivity check interval in ms. - * 0 = background task disabled */ - - /* EventLoop */ - UA_EventLoop *eventLoop; - UA_Boolean externalEventLoop; /* The EventLoop is not deleted with the config */ - - /* Available SecurityPolicies */ - size_t securityPoliciesSize; - UA_SecurityPolicy *securityPolicies; - - /* Certificate Verification Plugin */ - UA_CertificateVerification certificateVerification; - - /* Available SecurityPolicies for Authentication. The policy defined by the - * AccessControl is selected. If no policy is defined, the policy of the - * secure channel is selected.*/ - size_t authSecurityPoliciesSize; - UA_SecurityPolicy *authSecurityPolicies; - - /* SecurityPolicyUri for the Authentication. */ - UA_String authSecurityPolicyUri; - - /* Callback for state changes. The client state is differentated into the - * SecureChannel state and the Session state. The connectStatus is set if - * the client connection (including reconnects) has failed and the client - * has to "give up". If the connectStatus is not set, the client still has - * hope to connect or recover. */ - void (*stateCallback)(UA_Client *client, - UA_SecureChannelState channelState, - UA_SessionState sessionState, - UA_StatusCode connectStatus); - - /* When connectivityCheckInterval is greater than 0, every - * connectivityCheckInterval (in ms), an async read request is performed on - * the server. inactivityCallback is called when the client receive no - * response for this read request The connection can be closed, this in an - * attempt to recreate a healthy connection. */ - void (*inactivityCallback)(UA_Client *client); - - /* Number of PublishResponse queued up in the server */ - UA_UInt16 outStandingPublishRequests; - - /* If the client does not receive a PublishResponse after the defined delay - * of ``(sub->publishingInterval * sub->maxKeepAliveCount) + - * client->config.timeout)``, then subscriptionInactivityCallback is called - * for the subscription.. */ - void (*subscriptionInactivityCallback)(UA_Client *client, - UA_UInt32 subscriptionId, - void *subContext); - - /* Session config */ - UA_String sessionName; - UA_LocaleId *sessionLocaleIds; - size_t sessionLocaleIdsSize; - -#ifdef UA_ENABLE_ENCRYPTION - /* If the private key is in PEM format and password protected, this callback - * is called during initialization to get the password to decrypt the - * private key. The memory containing the password is freed by the client - * after use. The callback should be set early, other parts of the client - * config setup may depend on it. */ - UA_StatusCode (*privateKeyPasswordCallback)(UA_ClientConfig *cc, - UA_ByteString *password); -#endif -}; - -/** - * @brief It makes a partial deep copy of the clientconfig. It makes a shallow - * copies of the plugins (logger, eventloop, securitypolicy). - * - * NOTE: It makes a shallow copy of all the plugins from source to destination. - * Therefore calling _clear on the dst object will also delete the plugins in src - * object. - */ -UA_EXPORT UA_StatusCode -UA_ClientConfig_copy(UA_ClientConfig const *src, UA_ClientConfig *dst); - -/** - * @brief It cleans the client config and frees the pointer. - */ -UA_EXPORT void -UA_ClientConfig_delete(UA_ClientConfig *config); - -/** - * @brief It cleans the client config and deletes the plugins, whereas - * _copy makes a shallow copy of the plugins. - */ -UA_EXPORT void -UA_ClientConfig_clear(UA_ClientConfig *config); - -/* Configure Username/Password for the Session authentication. Also see - * UA_ClientConfig_setAuthenticationCert for x509-based authentication, which is - * implemented as a plugin (as it can be based on different crypto - * libraries). */ -static UA_INLINE UA_StatusCode -UA_ClientConfig_setAuthenticationUsername(UA_ClientConfig *config, - const char *username, - const char *password) { - UA_UserNameIdentityToken* identityToken = UA_UserNameIdentityToken_new(); - if(!identityToken) - return UA_STATUSCODE_BADOUTOFMEMORY; - identityToken->userName = UA_STRING_ALLOC(username); - identityToken->password = UA_STRING_ALLOC(password); - - UA_ExtensionObject_clear(&config->userIdentityToken); - UA_ExtensionObject_setValue(&config->userIdentityToken, identityToken, - &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]); - return UA_STATUSCODE_GOOD; -} - -/** - * Client Lifecycle - * ---------------- */ - -/* Create a new client with a default configuration that adds plugins for - * networking, security, logging and so on. See `client_config_default.h` for - * more detailed options. - * - * The default configuration can be used as the starting point to adjust the - * client configuration to individual needs. UA_Client_new is implemented in the - * /plugins folder under the CC0 license. Furthermore the client confiugration - * only uses the public server API. - * - * @return Returns the configured client or NULL if an error occurs. */ -UA_EXPORT UA_Client * UA_Client_new(void); - -/* Creates a new client. Moves the config into the client with a shallow copy. - * The config content is cleared together with the client. */ -UA_Client UA_EXPORT * -UA_Client_newWithConfig(const UA_ClientConfig *config); - -/* Returns the current state. All arguments except ``client`` can be NULL. */ -void UA_EXPORT UA_THREADSAFE -UA_Client_getState(UA_Client *client, - UA_SecureChannelState *channelState, - UA_SessionState *sessionState, - UA_StatusCode *connectStatus); - -/* Get the client configuration */ -UA_EXPORT UA_ClientConfig * -UA_Client_getConfig(UA_Client *client); - -/* Get the client context */ -static UA_INLINE void * -UA_Client_getContext(UA_Client *client) { - return UA_Client_getConfig(client)->clientContext; /* Cannot fail */ -} - -/* (Disconnect and) delete the client */ -void UA_EXPORT -UA_Client_delete(UA_Client *client); - -/** - * Connection Attrbiutes - * --------------------- - * - * Besides the client configuration, some attributes of the connection are - * defined only at runtime. For example the choice of SecurityPolicy or the - * ApplicationDescripton from the server. This API allows to access such - * connection attributes. - * - * The currently defined connection attributes are: - * - * - 0:serverDescription [UA_ApplicationDescription]: Server description - * - 0:securityPolicyUri [UA_String]: Uri of the SecurityPolicy used - * - 0:securityMode [UA_MessageSecurityMode]: SecurityMode of the SecureChannel - */ - -/* Returns a shallow copy of the attribute. Don't _clear or _delete the value - * variant. Don't use the value after returning the control flow to the client. - * Also don't use this in a multi-threaded application. */ -UA_EXPORT UA_StatusCode -UA_Client_getConnectionAttribute(UA_Client *client, const UA_QualifiedName key, - UA_Variant *outValue); - -/* Return a deep copy of the attribute */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Client_getConnectionAttributeCopy(UA_Client *client, const UA_QualifiedName key, - UA_Variant *outValue); - -/* Returns NULL if the attribute is not defined or not a scalar or not of the - * right datatype. Otherwise a shallow copy of the scalar value is created at - * the target location of the void pointer. Hence don't use this in a - * multi-threaded application. */ -UA_EXPORT UA_StatusCode -UA_Client_getConnectionAttribute_scalar(UA_Client *client, - const UA_QualifiedName key, - const UA_DataType *type, - void *outValue); - -/** - * Connect to a Server - * ------------------- - * - * Once a client is connected to an endpointUrl, it is not possible to switch to - * another server. A new client has to be created for that. - * - * Once a connection is established, the client keeps the connection open and - * reconnects if necessary. - * - * If the connection fails unrecoverably (state->connectStatus is set to an - * error), the client is no longer usable. Create a new client if required. */ - -/* Connect with the client configuration. For the async connection, finish - * connecting via UA_Client_run_iterate (or manually running a configured - * external EventLoop). */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -__UA_Client_connect(UA_Client *client, UA_Boolean async); - -/* Connect to the server. First a SecureChannel is opened, then a Session. The - * client configuration restricts the SecureChannel selection and contains the - * UserIdentityToken for the Session. - * - * @param client to use - * @param endpointURL to connect (for example "opc.tcp://localhost:4840") - * @return Indicates whether the operation succeeded or returns an error code */ -static UA_INLINE UA_StatusCode -UA_Client_connect(UA_Client *client, const char *endpointUrl) { - /* Update the configuration */ - UA_ClientConfig *cc = UA_Client_getConfig(client); - cc->noSession = false; /* Open a Session */ - UA_String_clear(&cc->endpointUrl); - cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); - - /* Connect */ - return __UA_Client_connect(client, false); -} - -/* Connect async (non-blocking) to the server. After initiating the connection, - * call UA_Client_run_iterate repeatedly until the connection is fully - * established. You can set a callback to client->config.stateCallback to be - * notified when the connection status changes. Or use UA_Client_getState to get - * the state manually. */ -static UA_INLINE UA_StatusCode -UA_Client_connectAsync(UA_Client *client, const char *endpointUrl) { - /* Update the configuration */ - UA_ClientConfig *cc = UA_Client_getConfig(client); - cc->noSession = false; /* Open a Session */ - UA_String_clear(&cc->endpointUrl); - cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); - - /* Connect */ - return __UA_Client_connect(client, true); -} - -/* Connect to the server without creating a session - * - * @param client to use - * @param endpointURL to connect (for example "opc.tcp://localhost:4840") - * @return Indicates whether the operation succeeded or returns an error code */ -static UA_INLINE UA_StatusCode -UA_Client_connectSecureChannel(UA_Client *client, const char *endpointUrl) { - /* Update the configuration */ - UA_ClientConfig *cc = UA_Client_getConfig(client); - cc->noSession = true; /* Don't open a Session */ - UA_String_clear(&cc->endpointUrl); - cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); - - /* Connect */ - return __UA_Client_connect(client, false); -} - -/* Connect async (non-blocking) only the SecureChannel */ -static UA_INLINE UA_StatusCode -UA_Client_connectSecureChannelAsync(UA_Client *client, const char *endpointUrl) { - /* Update the configuration */ - UA_ClientConfig *cc = UA_Client_getConfig(client); - cc->noSession = true; /* Don't open a Session */ - UA_String_clear(&cc->endpointUrl); - cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); - - /* Connect */ - return __UA_Client_connect(client, true); -} - -/* Connect to the server and create+activate a Session with the given username - * and password. This first set the UserIdentityToken in the client config and - * then calls the regular connect method. */ -static UA_INLINE UA_StatusCode -UA_Client_connectUsername(UA_Client *client, const char *endpointUrl, - const char *username, const char *password) { - /* Set the user identity token */ - UA_ClientConfig *cc = UA_Client_getConfig(client); - UA_StatusCode res = - UA_ClientConfig_setAuthenticationUsername(cc, username, password); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Connect */ - return UA_Client_connect(client, endpointUrl); -} - -/* Sets up a listening socket for incoming reverse connect requests by OPC UA - * servers. After the first server has connected, the listening socket is - * removed. The client state callback is also used for reverse connect. An - * implementation could for example issue a new call to - * UA_Client_startListeningForReverseConnect after the server has closed the - * connection. If the client is connected to any server while - * UA_Client_startListeningForReverseConnect is called, the connection will be - * closed. - * - * The reverse connect is closed by calling the standard disconnect functions - * like for a "normal" connection that was initiated by the client. Calling one - * of the connect methods will also close the listening socket and the - * connection to the remote server. */ -UA_StatusCode UA_EXPORT -UA_Client_startListeningForReverseConnect( - UA_Client *client, const UA_String *listenHostnames, - size_t listenHostnamesLength, UA_UInt16 port); - -/* Disconnect and close a connection to the selected server. Disconnection is - * always performed async (without blocking). */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_disconnect(UA_Client *client); - -/* Disconnect async. Run UA_Client_run_iterate until the callback notifies that - * all connections are closed. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_disconnectAsync(UA_Client *client); - -/* Disconnect the SecureChannel but keep the Session intact (if it exists). */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_disconnectSecureChannel(UA_Client *client); - -/* Disconnect the SecureChannel but keep the Session intact (if it exists). This - * is an async operation. Iterate the client until the SecureChannel was fully - * cleaned up. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_disconnectSecureChannelAsync(UA_Client *client); - -/* Get the AuthenticationToken and ServerNonce required to activate the current - * Session on a different SecureChannel. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_getSessionAuthenticationToken( - UA_Client *client, UA_NodeId *authenticationToken, UA_ByteString *serverNonce); - -/* Re-activate the current session. A change of prefered locales can be done by - * updating the client configuration. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_activateCurrentSession(UA_Client *client); - -/* Async version of UA_Client_activateCurrentSession */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_activateCurrentSessionAsync(UA_Client *client); - -/* Activate an already created Session. This allows a Session to be transferred - * from a different client instance. The AuthenticationToken and ServerNonce - * must be provided for this. Both can be retrieved for an activated Session - * with UA_Client_getSessionAuthenticationToken. - * - * The UserIdentityToken used for authentication must be identical to the - * original activation of the Session. The UserIdentityToken is set in the - * client configuration. - * - * Note the noNewSession option if there should not be a new Session - * automatically created when this one closes. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_activateSession(UA_Client *client, - const UA_NodeId authenticationToken, - const UA_ByteString serverNonce); - -/* Async version of UA_Client_activateSession */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_activateSessionAsync(UA_Client *client, - const UA_NodeId authenticationToken, - const UA_ByteString serverNonce); - -/** - * Discovery - * --------- */ - -/* Gets a list of endpoints of a server - * - * @param client to use. Must be connected to the same endpoint given in - * serverUrl or otherwise in disconnected state. - * @param serverUrl url to connect (for example "opc.tcp://localhost:4840") - * @param endpointDescriptionsSize size of the array of endpoint descriptions - * @param endpointDescriptions array of endpoint descriptions that is allocated - * by the function (you need to free manually) - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_getEndpoints(UA_Client *client, const char *serverUrl, - size_t* endpointDescriptionsSize, - UA_EndpointDescription** endpointDescriptions); - -/* Gets a list of all registered servers at the given server. - * - * You can pass an optional filter for serverUris. If the given server is not - * registered, an empty array will be returned. If the server is registered, - * only that application description will be returned. - * - * Additionally you can optionally indicate which locale you want for the server - * name in the returned application description. The array indicates the order - * of preference. A server may have localized names. - * - * @param client to use. Must be connected to the same endpoint given in - * serverUrl or otherwise in disconnected state. - * @param serverUrl url to connect (for example "opc.tcp://localhost:4840") - * @param serverUrisSize Optional filter for specific server uris - * @param serverUris Optional filter for specific server uris - * @param localeIdsSize Optional indication which locale you prefer - * @param localeIds Optional indication which locale you prefer - * @param registeredServersSize size of returned array, i.e., number of - * found/registered servers - * @param registeredServers array containing found/registered servers - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_findServers(UA_Client *client, const char *serverUrl, - size_t serverUrisSize, UA_String *serverUris, - size_t localeIdsSize, UA_String *localeIds, - size_t *registeredServersSize, - UA_ApplicationDescription **registeredServers); - -/* Get a list of all known server in the network. Only supported by LDS servers. - * - * @param client to use. Must be connected to the same endpoint given in - * serverUrl or otherwise in disconnected state. - * @param serverUrl url to connect (for example "opc.tcp://localhost:4840") - * @param startingRecordId optional. Only return the records with an ID higher - * or equal the given. Can be used for pagination to only get a subset of - * the full list - * @param maxRecordsToReturn optional. Only return this number of records - - * @param serverCapabilityFilterSize optional. Filter the returned list to only - * get servers with given capabilities, e.g. "LDS" - * @param serverCapabilityFilter optional. Filter the returned list to only get - * servers with given capabilities, e.g. "LDS" - * @param serverOnNetworkSize size of returned array, i.e., number of - * known/registered servers - * @param serverOnNetwork array containing known/registered servers - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_findServersOnNetwork(UA_Client *client, const char *serverUrl, - UA_UInt32 startingRecordId, - UA_UInt32 maxRecordsToReturn, - size_t serverCapabilityFilterSize, - UA_String *serverCapabilityFilter, - size_t *serverOnNetworkSize, - UA_ServerOnNetwork **serverOnNetwork); - -/** - * .. _client-services: - * - * Services - * -------- - * - * The raw OPC UA services are exposed to the client. But most of the time, it - * is better to use the convenience functions from ``ua_client_highlevel.h`` - * that wrap the raw services. */ -/* Don't use this function. Use the type versions below instead. */ -void UA_EXPORT UA_THREADSAFE -__UA_Client_Service(UA_Client *client, const void *request, - const UA_DataType *requestType, void *response, - const UA_DataType *responseType); - -/* - * Attribute Service Set - * ^^^^^^^^^^^^^^^^^^^^^ */ -static UA_INLINE UA_THREADSAFE UA_ReadResponse -UA_Client_Service_read(UA_Client *client, const UA_ReadRequest request) { - UA_ReadResponse response; - __UA_Client_Service(client, &request, &UA_TYPES[UA_TYPES_READREQUEST], - &response, &UA_TYPES[UA_TYPES_READRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_WriteResponse -UA_Client_Service_write(UA_Client *client, const UA_WriteRequest request) { - UA_WriteResponse response; - __UA_Client_Service(client, &request, &UA_TYPES[UA_TYPES_WRITEREQUEST], - &response, &UA_TYPES[UA_TYPES_WRITERESPONSE]); - return response; -} - -/* - * Historical Access Service Set - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ -static UA_INLINE UA_THREADSAFE UA_HistoryReadResponse -UA_Client_Service_historyRead(UA_Client *client, - const UA_HistoryReadRequest request) { - UA_HistoryReadResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_HISTORYREADREQUEST], - &response, &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_HistoryUpdateResponse -UA_Client_Service_historyUpdate(UA_Client *client, - const UA_HistoryUpdateRequest request) { - UA_HistoryUpdateResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST], - &response, &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]); - return response; -} - -/* - * Method Service Set - * ^^^^^^^^^^^^^^^^^^ */ -static UA_INLINE UA_THREADSAFE UA_CallResponse -UA_Client_Service_call(UA_Client *client, - const UA_CallRequest request) { - UA_CallResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_CALLREQUEST], - &response, &UA_TYPES[UA_TYPES_CALLRESPONSE]); - return response; -} - -/* - * NodeManagement Service Set - * ^^^^^^^^^^^^^^^^^^^^^^^^^^ */ -static UA_INLINE UA_THREADSAFE UA_AddNodesResponse -UA_Client_Service_addNodes(UA_Client *client, - const UA_AddNodesRequest request) { - UA_AddNodesResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_ADDNODESREQUEST], - &response, &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_AddReferencesResponse -UA_Client_Service_addReferences(UA_Client *client, - const UA_AddReferencesRequest request) { - UA_AddReferencesResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST], - &response, &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_DeleteNodesResponse -UA_Client_Service_deleteNodes(UA_Client *client, - const UA_DeleteNodesRequest request) { - UA_DeleteNodesResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_DELETENODESREQUEST], - &response, &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_DeleteReferencesResponse -UA_Client_Service_deleteReferences( - UA_Client *client, const UA_DeleteReferencesRequest request) { - UA_DeleteReferencesResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST], - &response, &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]); - return response; -} - -/* - * View Service Set - * ^^^^^^^^^^^^^^^^ */ -static UA_INLINE UA_THREADSAFE UA_BrowseResponse -UA_Client_Service_browse(UA_Client *client, - const UA_BrowseRequest request) { - UA_BrowseResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_BROWSEREQUEST], - &response, &UA_TYPES[UA_TYPES_BROWSERESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_BrowseNextResponse -UA_Client_Service_browseNext(UA_Client *client, - const UA_BrowseNextRequest request) { - UA_BrowseNextResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST], - &response, &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_TranslateBrowsePathsToNodeIdsResponse -UA_Client_Service_translateBrowsePathsToNodeIds( - UA_Client *client, - const UA_TranslateBrowsePathsToNodeIdsRequest request) { - UA_TranslateBrowsePathsToNodeIdsResponse response; - __UA_Client_Service( - client, &request, - &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST], - &response, - &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_RegisterNodesResponse -UA_Client_Service_registerNodes(UA_Client *client, - const UA_RegisterNodesRequest request) { - UA_RegisterNodesResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST], - &response, &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_UnregisterNodesResponse -UA_Client_Service_unregisterNodes( - UA_Client *client, const UA_UnregisterNodesRequest request) { - UA_UnregisterNodesResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST], - &response, &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]); - return response; -} - -/* - * Query Service Set - * ^^^^^^^^^^^^^^^^^ */ -#ifdef UA_ENABLE_QUERY - -static UA_INLINE UA_THREADSAFE UA_QueryFirstResponse -UA_Client_Service_queryFirst(UA_Client *client, - const UA_QueryFirstRequest request) { - UA_QueryFirstResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST], - &response, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); - return response; -} - -static UA_INLINE UA_THREADSAFE UA_QueryNextResponse -UA_Client_Service_queryNext(UA_Client *client, - const UA_QueryNextRequest request) { - UA_QueryNextResponse response; - __UA_Client_Service( - client, &request, &UA_TYPES[UA_TYPES_QUERYFIRSTREQUEST], - &response, &UA_TYPES[UA_TYPES_QUERYFIRSTRESPONSE]); - return response; -} - -#endif - -/** - * .. _client-async-services: - * - * Asynchronous Services - * --------------------- - * All OPC UA services are asynchronous in nature. So several service calls can - * be made without waiting for the individual responses. Depending on the - * server's priorities responses may come in a different ordering than sent. Use - * the typed wrappers for async service requests instead of - * `__UA_Client_AsyncService` directly. See :ref:`client_async`. However, the - * general mechanism of async service calls is explained here. - * - * Connection and session management are performed in `UA_Client_run_iterate`, - * so to keep a connection healthy any client needs to consider how and when it - * is appropriate to do the call. This is especially true for the periodic - * renewal of a SecureChannel's SecurityToken which is designed to have a - * limited lifetime and will invalidate the connection if not renewed. - * - * We say that an async service call has been dispatched once - * __UA_Client_AsyncService returns UA_STATUSCODE_GOOD. If there is an error - * after an async service has been dispatched, the callback is called with an - * "empty" response where the StatusCode has been set accordingly. This is also - * done if the client is shutting down and the list of dispatched async services - * is emptied. - * - * The StatusCode received when the client is shutting down is - * UA_STATUSCODE_BADSHUTDOWN. The StatusCode received when the client doesn't - * receive response after the specified in config->timeout (can be overridden - * via the "timeoutHint" in the request header) is UA_STATUSCODE_BADTIMEOUT. - * - * The userdata and requestId arguments can be NULL. The (optional) requestId - * output can be used to cancel the service while it is still pending. The - * requestId is unique for each service request. Alternatively the requestHandle - * can be manually set (non necessarily unique) in the request header for full - * service call. This can be used to cancel all outstanding requests using that - * handle together. Note that the client will auto-generate a requestHandle - * >100,000 if none is defined. Avoid these when manually setting a requetHandle - * in the requestHeader to avoid clashes. */ - -typedef void -(*UA_ClientAsyncServiceCallback)(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -__UA_Client_AsyncService(UA_Client *client, const void *request, - const UA_DataType *requestType, - UA_ClientAsyncServiceCallback callback, - const UA_DataType *responseType, - void *userdata, UA_UInt32 *requestId); - -/* Cancel all dispatched requests with the given requestHandle. - * The number if cancelled requests is returned by the server. - * The output argument cancelCount is not set if NULL. */ -UA_EXPORT UA_THREADSAFE UA_StatusCode -UA_Client_cancelByRequestHandle(UA_Client *client, UA_UInt32 requestHandle, - UA_UInt32 *cancelCount); - -/* Map the requestId to the requestHandle used for that request and call the - * Cancel service for that requestHandle. */ -UA_EXPORT UA_THREADSAFE UA_StatusCode -UA_Client_cancelByRequestId(UA_Client *client, UA_UInt32 requestId, - UA_UInt32 *cancelCount); - -/* Set new userdata and callback for an existing request. - * - * @param client Pointer to the UA_Client - * @param requestId RequestId of the request, which was returned by - * __UA_Client_AsyncService before - * @param userdata The new userdata - * @param callback The new callback - * @return UA_StatusCode UA_STATUSCODE_GOOD on success - * UA_STATUSCODE_BADNOTFOUND when no request with requestId is found. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_modifyAsyncCallback(UA_Client *client, UA_UInt32 requestId, - void *userdata, UA_ClientAsyncServiceCallback callback); - -/* Listen on the network and process arriving asynchronous responses in the - * background. Internal housekeeping, renewal of SecureChannels and subscription - * management is done as well. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_run_iterate(UA_Client *client, UA_UInt32 timeout); - -/* Force the manual renewal of the SecureChannel. This is useful to renew the - * SecureChannel during a downtime when no time-critical operations are - * performed. This method is asynchronous. The renewal is triggered (the OPN - * message is sent) but not completed. The OPN response is handled with - * ``UA_Client_run_iterate`` or a synchronous service-call operation. - * - * @return The return value is UA_STATUSCODE_GOODCALLAGAIN if the SecureChannel - * has not elapsed at least 75% of its lifetime. Otherwise the - * ``connectStatus`` is returned. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_renewSecureChannel(UA_Client *client); - -/** - * Timed Callbacks - * --------------- - * Repeated callbacks can be attached to a client and will be executed in the - * defined interval. */ - -typedef void (*UA_ClientCallback)(UA_Client *client, void *data); - -/* Add a callback for execution at a specified time. If the indicated time lies - * in the past, then the callback is executed at the next iteration of the - * server's main loop. - * - * @param client The client object. - * @param callback The callback that shall be added. - * @param data Data that is forwarded to the callback. - * @param date The timestamp for the execution time. - * @param callbackId Set to the identifier of the repeated callback. This can - * be used to cancel the callback later on. If the pointer is null, the - * identifier is not set. - * @return Upon success, UA_STATUSCODE_GOOD is returned. An error code - * otherwise. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_addTimedCallback(UA_Client *client, UA_ClientCallback callback, - void *data, UA_DateTime date, UA_UInt64 *callbackId); - -/* Add a callback for cyclic repetition to the client. - * - * @param client The client object. - * @param callback The callback that shall be added. - * @param data Data that is forwarded to the callback. - * @param interval_ms The callback shall be repeatedly executed with the given - * interval (in ms). The interval must be positive. The first execution - * occurs at now() + interval at the latest. - * @param callbackId Set to the identifier of the repeated callback. This can - * be used to cancel the callback later on. If the pointer is null, the - * identifier is not set. - * @return Upon success, UA_STATUSCODE_GOOD is returned. An error code - * otherwise. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_addRepeatedCallback(UA_Client *client, UA_ClientCallback callback, - void *data, UA_Double interval_ms, - UA_UInt64 *callbackId); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Client_changeRepeatedCallbackInterval(UA_Client *client, - UA_UInt64 callbackId, - UA_Double interval_ms); - -void UA_EXPORT UA_THREADSAFE -UA_Client_removeCallback(UA_Client *client, UA_UInt64 callbackId); - -#define UA_Client_removeRepeatedCallback(server, callbackId) \ - UA_Client_removeCallback(server, callbackId); - -/** - * Client Utility Functions - * ------------------------ */ - -/* Lookup a datatype by its NodeId. Takes the custom types in the client - * configuration into account. Return NULL if none found. */ -UA_EXPORT const UA_DataType * -UA_Client_findDataType(UA_Client *client, const UA_NodeId *typeId); - -/** - * .. toctree:: - * - * client_highlevel - * client_highlevel_async - * client_subscriptions */ - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/server.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2024 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2014-2015, 2017 (c) Florian Palm - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Henrik Norrman - * Copyright 2018 (c) Fabian Arndt, Root-Core - * Copyright 2017-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2020-2022 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - */ - - - - - -#ifdef UA_ENABLE_PUBSUB -#endif - -#ifdef UA_ENABLE_HISTORIZING -#endif - -_UA_BEGIN_DECLS - -/* Forward declarations */ -struct UA_PubSubConfiguration; -typedef struct UA_PubSubConfiguration UA_PubSubConfiguration; -typedef void (*UA_Server_AsyncOperationNotifyCallback)(UA_Server *server); - -/** - * .. _server: - * - * Server - * ====== - * - * .. _server-configuration: - * - * Server Configuration - * -------------------- - * The configuration structure is passed to the server during initialization. - * The server expects that the configuration is not modified during runtime. - * Currently, only one server can use a configuration at a time. During - * shutdown, the server will clean up the parts of the configuration that are - * modified at runtime through the provided API. - * - * Examples for configurations are provided in the ``/plugins`` folder. - * The usual usage is as follows: - * - * 1. Create a server configuration with default settings as a starting point - * 2. Modifiy the configuration, e.g. by adding a server certificate - * 3. Instantiate a server with it - * 4. After shutdown of the server, clean up the configuration (free memory) - * - * The :ref:`tutorials` provide a good starting point for this. */ - -struct UA_ServerConfig { - void *context; /* Used to attach custom data to a server config. This can - * then be retrieved e.g. in a callback that forwards a - * pointer to the server. */ - UA_Logger *logging; /* Plugin for log output */ - - /** - * Server Description - * ^^^^^^^^^^^^^^^^^^ - * The description must be internally consistent. The ApplicationUri set in - * the ApplicationDescription must match the URI set in the server - * certificate. - * The applicationType is not just descriptive, it changes the actual - * functionality of the server. The RegisterServer service is available only - * if the server is a DiscoveryServer and the applicationType is set to the - * appropriate value.*/ - UA_BuildInfo buildInfo; - UA_ApplicationDescription applicationDescription; - - /** - * Server Lifecycle - * ^^^^^^^^^^^^^^^^ */ - /* Delay in ms from the shutdown signal (ctrl-c) until the actual shutdown. - * Clients need to be able to get a notification ahead of time. */ - UA_Double shutdownDelay; - - /* If an asynchronous server shutdown is used, this callback notifies about - * the current lifecycle state (notably the STOPPING -> STOPPED - * transition). */ - void (*notifyLifecycleState)(UA_Server *server, UA_LifecycleState state); - - /** - * Rule Handling - * ^^^^^^^^^^^^^ - * Override the handling of standard-defined behavior. These settings are - * used to balance the following contradicting requirements: - * - * - Strict conformance with the standard (for certification). - * - Ensure interoperability with old/non-conforming implementations - * encountered in the wild. - * - * The defaults are set for compatibility with the largest number of OPC UA - * vendors (with log warnings activated). Cf. Postel's Law "be conservative - * in what you send, be liberal in what you accept". - * - * See the section :ref:`rule-handling` for the possible settings. */ - - /* Verify that the server sends a timestamp in the request header */ - UA_RuleHandling verifyRequestTimestamp; - - /* Variables (that don't have a DataType of BaseDataType) must not have an - * empty variant value. The default behaviour is to auto-create a matching - * zeroed-out value for empty VariableNodes when they are added. */ - UA_RuleHandling allowEmptyVariables; - - /** - * Custom Data Types - * ^^^^^^^^^^^^^^^^^ - * The following is a linked list of arrays with custom data types. All data - * types that are accessible from here are automatically considered for the - * decoding of received messages. Custom data types are not cleaned up - * together with the configuration. So it is possible to allocate them on - * ROM. - * - * See the section on :ref:`generic-types`. Examples for working with custom - * data types are provided in ``/examples/custom_datatype/``. */ - const UA_DataTypeArray *customDataTypes; - - /** - * .. note:: See the section on :ref:`generic-types`. Examples for working - * with custom data types are provided in - * ``/examples/custom_datatype/``. */ - - /** - * EventLoop - * ^^^^^^^^^ - * The sever can be plugged into an external EventLoop. Otherwise the - * EventLoop is considered to be attached to the server's lifecycle and will - * be destroyed when the config is cleaned up. */ - UA_EventLoop *eventLoop; - UA_Boolean externalEventLoop; /* The EventLoop is not deleted with the config */ - - /** - * Networking - * ^^^^^^^^^^ - * The `severUrls` array contains the server URLs like - * `opc.tcp://my-server:4840` or `opc.wss://localhost:443`. The URLs are - * used both for discovery and to set up the server sockets based on the - * defined hostnames (and ports). - * - * - If the list is empty: Listen on all network interfaces with TCP port 4840. - * - If the hostname of a URL is empty: Use the define protocol and port and - * listen on all interfaces. */ - UA_String *serverUrls; - size_t serverUrlsSize; - - /** - * The following settings are specific to OPC UA with TCP transport. */ - UA_Boolean tcpEnabled; - UA_UInt32 tcpBufSize; /* Max length of sent and received chunks (packets) - * (default: 64kB) */ - UA_UInt32 tcpMaxMsgSize; /* Max length of messages - * (default: 0 -> unbounded) */ - UA_UInt32 tcpMaxChunks; /* Max number of chunks per message - * (default: 0 -> unbounded) */ - UA_Boolean tcpReuseAddr; - - /** - * Security and Encryption - * ^^^^^^^^^^^^^^^^^^^^^^^ */ - size_t securityPoliciesSize; - UA_SecurityPolicy* securityPolicies; - - /* Endpoints with combinations of SecurityPolicy and SecurityMode. If the - * UserIdentityToken array of the Endpoint is not set, then it will be - * filled by the server for all UserTokenPolicies that are configured in the - * AccessControl plugin. */ - size_t endpointsSize; - UA_EndpointDescription *endpoints; - - /* Only allow the following discovery services to be executed on a - * SecureChannel with SecurityPolicyNone: GetEndpointsRequest, - * FindServersRequest and FindServersOnNetworkRequest. - * - * Only enable this option if there is no endpoint with SecurityPolicy#None - * in the endpoints list. The SecurityPolicy#None must be present in the - * securityPolicies list. */ - UA_Boolean securityPolicyNoneDiscoveryOnly; - - /* Allow clients without encryption support to connect with username and password. - * This requires to transmit the password in plain text over the network which is - * why this option is disabled by default. - * Make sure you really need this before enabling plain text passwords. */ - UA_Boolean allowNonePolicyPassword; - - /* Different sets of certificates are trusted for SecureChannel / Session */ - UA_CertificateVerification secureChannelPKI; - UA_CertificateVerification sessionPKI; - - /** - * See the section for :ref:`access-control - * handling`. */ - UA_AccessControl accessControl; - - /** - * Nodes and Node Lifecycle - * ^^^^^^^^^^^^^^^^^^^^^^^^ - * See the section for :ref:`node lifecycle handling`. */ - UA_Nodestore nodestore; - UA_GlobalNodeLifecycle nodeLifecycle; - - /** - * Copy the HasModellingRule reference in instances from the type - * definition in UA_Server_addObjectNode and UA_Server_addVariableNode. - * - * Part 3 - 6.4.4: [...] it is not required that newly created or referenced - * instances based on InstanceDeclarations have a ModellingRule, however, it - * is allowed that they have any ModellingRule independent of the - * ModellingRule of their InstanceDeclaration */ - UA_Boolean modellingRulesOnInstances; - - /** - * Limits - * ^^^^^^ */ - /* Limits for SecureChannels */ - UA_UInt16 maxSecureChannels; - UA_UInt32 maxSecurityTokenLifetime; /* in ms */ - - /* Limits for Sessions */ - UA_UInt16 maxSessions; - UA_Double maxSessionTimeout; /* in ms */ - - /* Operation limits */ - UA_UInt32 maxNodesPerRead; - UA_UInt32 maxNodesPerWrite; - UA_UInt32 maxNodesPerMethodCall; - UA_UInt32 maxNodesPerBrowse; - UA_UInt32 maxNodesPerRegisterNodes; - UA_UInt32 maxNodesPerTranslateBrowsePathsToNodeIds; - UA_UInt32 maxNodesPerNodeManagement; - UA_UInt32 maxMonitoredItemsPerCall; - - /* Limits for Requests */ - UA_UInt32 maxReferencesPerNode; - - /** - * Async Operations - * ^^^^^^^^^^^^^^^^ - * See the section for :ref:`async operations`. */ -#if UA_MULTITHREADING >= 100 - UA_Double asyncOperationTimeout; /* in ms, 0 => unlimited */ - size_t maxAsyncOperationQueueSize; /* 0 => unlimited */ - /* Notify workers when an async operation was enqueued */ - UA_Server_AsyncOperationNotifyCallback asyncOperationNotifyCallback; -#endif - - /** - * Discovery - * ^^^^^^^^^ */ -#ifdef UA_ENABLE_DISCOVERY - /* Timeout in seconds when to automatically remove a registered server from - * the list, if it doesn't re-register within the given time frame. A value - * of 0 disables automatic removal. Default is 60 Minutes (60*60). Must be - * bigger than 10 seconds, because cleanup is only triggered approximately - * every 10 seconds. The server will still be removed depending on the - * state of the semaphore file. */ - UA_UInt32 discoveryCleanupTimeout; - -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_Boolean mdnsEnabled; - UA_MdnsDiscoveryConfiguration mdnsConfig; - UA_String mdnsInterfaceIP; -# if !defined(UA_HAS_GETIFADDR) - size_t mdnsIpAddressListSize; - UA_UInt32 *mdnsIpAddressList; -# endif -# endif -#endif - - /** - * Subscriptions - * ^^^^^^^^^^^^^ */ - UA_Boolean subscriptionsEnabled; -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* Limits for Subscriptions */ - UA_UInt32 maxSubscriptions; - UA_UInt32 maxSubscriptionsPerSession; - UA_DurationRange publishingIntervalLimits; /* in ms (must not be less than 5) */ - UA_UInt32Range lifeTimeCountLimits; - UA_UInt32Range keepAliveCountLimits; - UA_UInt32 maxNotificationsPerPublish; - UA_Boolean enableRetransmissionQueue; - UA_UInt32 maxRetransmissionQueueSize; /* 0 -> unlimited size */ -# ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - UA_UInt32 maxEventsPerNode; /* 0 -> unlimited size */ -# endif - - /* Limits for MonitoredItems */ - UA_UInt32 maxMonitoredItems; - UA_UInt32 maxMonitoredItemsPerSubscription; - UA_DurationRange samplingIntervalLimits; /* in ms (must not be less than 5) */ - UA_UInt32Range queueSizeLimits; /* Negotiated with the client */ - - /* Limits for PublishRequests */ - UA_UInt32 maxPublishReqPerSession; - - /* Register MonitoredItem in Userland - * - * @param server Allows the access to the server object - * @param sessionId The session id, represented as an node id - * @param sessionContext An optional pointer to user-defined data for the - * specific data source - * @param nodeid Id of the node in question - * @param nodeidContext An optional pointer to user-defined data, associated - * with the node in the nodestore. Note that, if the node has already - * been removed, this value contains a NULL pointer. - * @param attributeId Identifies which attribute (value, data type etc.) is - * monitored - * @param removed Determines if the MonitoredItem was removed or created. */ - void (*monitoredItemRegisterCallback)(UA_Server *server, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - void *nodeContext, - UA_UInt32 attibuteId, - UA_Boolean removed); -#endif - - /** - * PubSub - * ^^^^^^ */ - UA_Boolean pubsubEnabled; -#ifdef UA_ENABLE_PUBSUB - UA_PubSubConfiguration pubSubConfig; -#endif - - /** - * Historical Access - * ^^^^^^^^^^^^^^^^^ */ - UA_Boolean historizingEnabled; -#ifdef UA_ENABLE_HISTORIZING - UA_HistoryDatabase historyDatabase; - - UA_Boolean accessHistoryDataCapability; - UA_UInt32 maxReturnDataValues; /* 0 -> unlimited size */ - - UA_Boolean accessHistoryEventsCapability; - UA_UInt32 maxReturnEventValues; /* 0 -> unlimited size */ - - UA_Boolean insertDataCapability; - UA_Boolean insertEventCapability; - UA_Boolean insertAnnotationsCapability; - - UA_Boolean replaceDataCapability; - UA_Boolean replaceEventCapability; - - UA_Boolean updateDataCapability; - UA_Boolean updateEventCapability; - - UA_Boolean deleteRawCapability; - UA_Boolean deleteEventCapability; - UA_Boolean deleteAtTimeDataCapability; -#endif - - /** - * Reverse Connect - * ^^^^^^^^^^^^^^^ */ - UA_UInt32 reverseReconnectInterval; /* Default is 15000 ms */ - - /** - * Certificate Password Callback - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ -#ifdef UA_ENABLE_ENCRYPTION - /* If the private key is in PEM format and password protected, this callback - * is called during initialization to get the password to decrypt the - * private key. The memory containing the password is freed by the client - * after use. The callback should be set early, other parts of the client - * config setup may depend on it. */ - UA_StatusCode (*privateKeyPasswordCallback)(UA_ServerConfig *sc, - UA_ByteString *password); -#endif -}; - -void UA_EXPORT -UA_ServerConfig_clean(UA_ServerConfig *config); - -/** - * .. _server-lifecycle: - * - * Server Lifecycle - * ---------------- */ - -/* Create a new server with a default configuration that adds plugins for - * networking, security, logging and so on. See `server_config_default.h` for - * more detailed options. - * - * The default configuration can be used as the starting point to adjust the - * server configuration to individual needs. UA_Server_new is implemented in the - * /plugins folder under the CC0 license. Furthermore the server confiugration - * only uses the public server API. - * - * @return Returns the configured server or NULL if an error occurs. */ -UA_EXPORT UA_Server * -UA_Server_new(void); - -/* Creates a new server. Moves the config into the server with a shallow copy. - * The config content is cleared together with the server. */ -UA_EXPORT UA_Server * -UA_Server_newWithConfig(UA_ServerConfig *config); - -/* Delete the server. */ -UA_EXPORT UA_StatusCode -UA_Server_delete(UA_Server *server); - -/* Get the configuration. Always succeeds as this simplfy resolves a pointer. - * Attention! Do not adjust the configuration while the server is running! */ -UA_EXPORT UA_ServerConfig * -UA_Server_getConfig(UA_Server *server); - -/* Get the current server lifecycle state */ -UA_EXPORT UA_LifecycleState -UA_Server_getLifecycleState(UA_Server *server); - -/* Runs the server until interrupted. On Unix/Windows this registers an - * interrupt for SIGINT (ctrl-c). The method only returns after having received - * the interrupt. The logical sequence is as follows: - * - * - UA_Server_run_startup - * - Loop until interrupt: UA_Server_run_iterate - * - UA_Server_run_shutdown - * - * @param server The server object. - * @return Returns a bad statuscode if an error occurred internally. */ -UA_EXPORT UA_StatusCode -UA_Server_run(UA_Server *server, const volatile UA_Boolean *running); - -/* Runs the server until interrupted. On Unix/Windows this registers an - * interrupt for SIGINT (ctrl-c). The method only returns after having received - * the interrupt or upon an error condition. The logical sequence is as follows: - * - * - Register the interrupt - * - UA_Server_run_startup - * - Loop until interrupt: UA_Server_run_iterate - * - UA_Server_run_shutdown - * - Deregister the interrupt - * - * Attention! This method is implemented individually for the different - * platforms (POSIX/Win32/etc.). The default implementation is in - * /plugins/ua_config_default.c under the CC0 license. Adjust as needed. - * - * @param server The server object. - * @return Returns a bad statuscode if an error occurred internally. */ -UA_EXPORT UA_StatusCode -UA_Server_runUntilInterrupt(UA_Server *server); - -/* The prologue part of UA_Server_run (no need to use if you call - * UA_Server_run or UA_Server_runUntilInterrupt) */ -UA_EXPORT UA_StatusCode -UA_Server_run_startup(UA_Server *server); - -/* Executes a single iteration of the server's main loop. - * - * @param server The server object. - * @param waitInternal Should we wait for messages in the networklayer? - * Otherwise, the timouts for the networklayers are set to zero. - * The default max wait time is 200ms. - * @return Returns how long we can wait until the next scheduled - * callback (in ms) */ -UA_EXPORT UA_UInt16 -UA_Server_run_iterate(UA_Server *server, UA_Boolean waitInternal); - -/* The epilogue part of UA_Server_run (no need to use if you call - * UA_Server_run or UA_Server_runUntilInterrupt) */ -UA_EXPORT UA_StatusCode -UA_Server_run_shutdown(UA_Server *server); - -/** - * Timed Callbacks - * --------------- - * Add a callback to the server that is executed at a defined time. - * The callback can also be registered with a cyclic interval. */ - -/* Add a callback for execution at a specified time. If the indicated time lies - * in the past, then the callback is executed at the next iteration of the - * server's main loop. - * - * @param server The server object. - * @param callback The callback that shall be added. - * @param data Data that is forwarded to the callback. - * @param date The timestamp for the execution time. - * @param callbackId Set to the identifier of the repeated callback . This can - * be used to cancel the callback later on. If the pointer is null, the - * identifier is not set. - * @return Upon success, ``UA_STATUSCODE_GOOD`` is returned. An error code - * otherwise. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addTimedCallback(UA_Server *server, UA_ServerCallback callback, - void *data, UA_DateTime date, UA_UInt64 *callbackId); - -/* Add a callback for cyclic repetition to the server. - * - * @param server The server object. - * @param callback The callback that shall be added. - * @param data Data that is forwarded to the callback. - * @param interval_ms The callback shall be repeatedly executed with the given - * interval (in ms). The interval must be positive. The first execution - * occurs at now() + interval at the latest. - * @param callbackId Set to the identifier of the repeated callback . This can - * be used to cancel the callback later on. If the pointer is null, the - * identifier is not set. - * @return Upon success, ``UA_STATUSCODE_GOOD`` is returned. An error code - * otherwise. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, - void *data, UA_Double interval_ms, - UA_UInt64 *callbackId); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, - UA_Double interval_ms); - -/* Remove a repeated callback. Does nothing if the callback is not found. - * - * @param server The server object. - * @param callbackId The id of the callback */ -void UA_EXPORT UA_THREADSAFE -UA_Server_removeCallback(UA_Server *server, UA_UInt64 callbackId); - -#define UA_Server_removeRepeatedCallback(server, callbackId) \ - UA_Server_removeCallback(server, callbackId); - -/** - * Session Handling - * ---------------- - * A new session is announced via the AccessControl plugin. The session - * identifier is forwarded to the relevant callbacks back into userland. The - * following methods enable an interaction with a particular session. */ - -/* Manually close a session */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_closeSession(UA_Server *server, const UA_NodeId *sessionId); - -/** - * Session attributes: Besides the user-definable session context pointer (set - * by the AccessControl plugin when the Session is created), a session carries - * attributes in a key-value list. Some attributes are present in every session - * and shown in the list below. Additional attributes can be manually set as - * meta-data. - * - * Always present as session attributes are: - * - * - 0:localeIds [UA_String]: List of preferred languages (read-only) - * - 0:clientDescription [UA_ApplicationDescription]: Client description (read-only) - * - 0:sessionName [String] Client-defined name of the session (read-only) - * - 0:clientUserId [String] User identifier used to activate the session (read-only) */ - -/* Returns a shallow copy of the attribute. Don't _clear or _delete the value - * variant. Don't use the value once the Session could be already closed in the - * background or the attribute of the session replaced. Hence don't use this in a - * multi-threaded application. */ -UA_EXPORT UA_StatusCode -UA_Server_getSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, UA_Variant *outValue); - -/* Return a deep copy of the attribute */ -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_getSessionAttributeCopy(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, UA_Variant *outValue); - -/* Returns NULL if the attribute is not defined or not a scalar or not of the - * right datatype. Otherwise a shallow copy of the scalar value is created at - * the target location of the void pointer. Hence don't use this in a - * multi-threaded application. */ -UA_EXPORT UA_StatusCode -UA_Server_getSessionAttribute_scalar(UA_Server *server, - const UA_NodeId *sessionId, - const UA_QualifiedName key, - const UA_DataType *type, - void *outValue); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_setSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, - const UA_Variant *value); - -UA_EXPORT UA_StatusCode UA_THREADSAFE -UA_Server_deleteSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key); - -/** - * Reading and Writing Node Attributes - * ----------------------------------- - * The functions for reading and writing node attributes call the regular read - * and write service in the background that are also used over the network. - * - * The following attributes cannot be read, since the local "admin" user always - * has full rights. - * - * - UserWriteMask - * - UserAccessLevel - * - UserExecutable */ - -/* Read an attribute of a node. The specialized functions below provide a more - * concise syntax. - * - * @param server The server object. - * @param item ReadValueIds contain the NodeId of the target node, the id of the - * attribute to read and (optionally) an index range to read parts - * of an array only. See the section on NumericRange for the format - * used for array ranges. - * @param timestamps Which timestamps to return for the attribute. - * @return Returns a DataValue that contains either an error code, or a variant - * with the attribute value and the timestamps. */ -UA_DataValue UA_EXPORT UA_THREADSAFE -UA_Server_read(UA_Server *server, const UA_ReadValueId *item, - UA_TimestampsToReturn timestamps); - -/* Don't use this function. There are typed versions for every supported - * attribute. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -__UA_Server_read(UA_Server *server, const UA_NodeId *nodeId, - UA_AttributeId attributeId, void *v); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readNodeId(UA_Server *server, const UA_NodeId nodeId, - UA_NodeId *outNodeId) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_NODEID, outNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readNodeClass(UA_Server *server, const UA_NodeId nodeId, - UA_NodeClass *outNodeClass) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_NODECLASS, - outNodeClass); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readBrowseName(UA_Server *server, const UA_NodeId nodeId, - UA_QualifiedName *outBrowseName) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_BROWSENAME, - outBrowseName); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readDisplayName(UA_Server *server, const UA_NodeId nodeId, - UA_LocalizedText *outDisplayName) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, - outDisplayName); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readDescription(UA_Server *server, const UA_NodeId nodeId, - UA_LocalizedText *outDescription) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, - outDescription); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readWriteMask(UA_Server *server, const UA_NodeId nodeId, - UA_UInt32 *outWriteMask) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_WRITEMASK, - outWriteMask); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readIsAbstract(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean *outIsAbstract) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, - outIsAbstract); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readSymmetric(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean *outSymmetric) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, - outSymmetric); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readInverseName(UA_Server *server, const UA_NodeId nodeId, - UA_LocalizedText *outInverseName) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_INVERSENAME, - outInverseName); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readContainsNoLoops(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean *outContainsNoLoops) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, - outContainsNoLoops); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readEventNotifier(UA_Server *server, const UA_NodeId nodeId, - UA_Byte *outEventNotifier) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, - outEventNotifier); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readValue(UA_Server *server, const UA_NodeId nodeId, - UA_Variant *outValue) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_VALUE, outValue); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readDataType(UA_Server *server, const UA_NodeId nodeId, - UA_NodeId *outDataType) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_DATATYPE, - outDataType); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readValueRank(UA_Server *server, const UA_NodeId nodeId, - UA_Int32 *outValueRank) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_VALUERANK, - outValueRank); -} - -/* Returns a variant with an int32 array */ -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readArrayDimensions(UA_Server *server, const UA_NodeId nodeId, - UA_Variant *outArrayDimensions) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ARRAYDIMENSIONS, - outArrayDimensions); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readAccessLevel(UA_Server *server, const UA_NodeId nodeId, - UA_Byte *outAccessLevel) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, - outAccessLevel); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readAccessLevelEx(UA_Server *server, const UA_NodeId nodeId, - UA_UInt32 *outAccessLevelEx) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, - outAccessLevelEx); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readMinimumSamplingInterval(UA_Server *server, const UA_NodeId nodeId, - UA_Double *outMinimumSamplingInterval) { - return __UA_Server_read(server, &nodeId, - UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - outMinimumSamplingInterval); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readHistorizing(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean *outHistorizing) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_HISTORIZING, - outHistorizing); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_readExecutable(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean *outExecutable) { - return __UA_Server_read(server, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, - outExecutable); -} - -/** - * The following node attributes cannot be changed once a node has been created: - * - * - NodeClass - * - NodeId - * - Symmetric - * - ContainsNoLoops - * - * The following attributes cannot be written from the server, as they are - * specific to the different users and set by the access control callback: - * - * - UserWriteMask - * - UserAccessLevel - * - UserExecutable - */ - -/* Overwrite an attribute of a node. The specialized functions below provide a - * more concise syntax. - * - * @param server The server object. - * @param value WriteValues contain the NodeId of the target node, the id of the - * attribute to overwritten, the actual value and (optionally) an - * index range to replace parts of an array only. of an array only. - * See the section on NumericRange for the format used for array - * ranges. - * @return Returns a status code. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_write(UA_Server *server, const UA_WriteValue *value); - -/* Don't use this function. There are typed versions with no additional - * overhead. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -__UA_Server_write(UA_Server *server, const UA_NodeId *nodeId, - const UA_AttributeId attributeId, - const UA_DataType *attr_type, const void *attr); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeBrowseName(UA_Server *server, const UA_NodeId nodeId, - const UA_QualifiedName browseName) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_BROWSENAME, - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], &browseName); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeDisplayName(UA_Server *server, const UA_NodeId nodeId, - const UA_LocalizedText displayName) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], &displayName); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeDescription(UA_Server *server, const UA_NodeId nodeId, - const UA_LocalizedText description) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], &description); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeWriteMask(UA_Server *server, const UA_NodeId nodeId, - const UA_UInt32 writeMask) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_WRITEMASK, - &UA_TYPES[UA_TYPES_UINT32], &writeMask); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeIsAbstract(UA_Server *server, const UA_NodeId nodeId, - const UA_Boolean isAbstract) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, - &UA_TYPES[UA_TYPES_BOOLEAN], &isAbstract); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeInverseName(UA_Server *server, const UA_NodeId nodeId, - const UA_LocalizedText inverseName) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_INVERSENAME, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], &inverseName); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeEventNotifier(UA_Server *server, const UA_NodeId nodeId, - const UA_Byte eventNotifier) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, - &UA_TYPES[UA_TYPES_BYTE], &eventNotifier); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeValue(UA_Server *server, const UA_NodeId nodeId, - const UA_Variant value) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_VALUE, - &UA_TYPES[UA_TYPES_VARIANT], &value); -} - -/* Writes an UA_DataValue to a variable/variableType node. In contrast to - * UA_Server_writeValue, this functions can also write SourceTimestamp, - * ServerTimestamp and StatusCode. */ -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeDataValue(UA_Server *server, const UA_NodeId nodeId, - const UA_DataValue value) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_VALUE, - &UA_TYPES[UA_TYPES_DATAVALUE], &value); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeDataType(UA_Server *server, const UA_NodeId nodeId, - const UA_NodeId dataType) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_DATATYPE, - &UA_TYPES[UA_TYPES_NODEID], &dataType); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeValueRank(UA_Server *server, const UA_NodeId nodeId, - const UA_Int32 valueRank) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_VALUERANK, - &UA_TYPES[UA_TYPES_INT32], &valueRank); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeArrayDimensions(UA_Server *server, const UA_NodeId nodeId, - const UA_Variant arrayDimensions) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ARRAYDIMENSIONS, - &UA_TYPES[UA_TYPES_VARIANT], &arrayDimensions); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeAccessLevel(UA_Server *server, const UA_NodeId nodeId, - const UA_Byte accessLevel) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, - &UA_TYPES[UA_TYPES_BYTE], &accessLevel); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeAccessLevelEx(UA_Server *server, const UA_NodeId nodeId, - const UA_UInt32 accessLevelEx) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, - &UA_TYPES[UA_TYPES_UINT32], &accessLevelEx); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeMinimumSamplingInterval(UA_Server *server, const UA_NodeId nodeId, - const UA_Double miniumSamplingInterval) { - return __UA_Server_write(server, &nodeId, - UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - &UA_TYPES[UA_TYPES_DOUBLE], - &miniumSamplingInterval); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeHistorizing(UA_Server *server, const UA_NodeId nodeId, - const UA_Boolean historizing) { - return __UA_Server_write(server, &nodeId, - UA_ATTRIBUTEID_HISTORIZING, - &UA_TYPES[UA_TYPES_BOOLEAN], - &historizing); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_writeExecutable(UA_Server *server, const UA_NodeId nodeId, - const UA_Boolean executable) { - return __UA_Server_write(server, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, - &UA_TYPES[UA_TYPES_BOOLEAN], &executable); } - -/** - * Browsing - * -------- */ - -/* Browse the references of a particular node. See the definition of - * BrowseDescription structure for details. */ -UA_BrowseResult UA_EXPORT UA_THREADSAFE -UA_Server_browse(UA_Server *server, UA_UInt32 maxReferences, - const UA_BrowseDescription *bd); - -UA_BrowseResult UA_EXPORT UA_THREADSAFE -UA_Server_browseNext(UA_Server *server, UA_Boolean releaseContinuationPoint, - const UA_ByteString *continuationPoint); - -/* Non-standard version of the Browse service that recurses into child nodes. - * - * Possible loops (that can occur for non-hierarchical references) are handled - * internally. Every node is added at most once to the results array. - * - * Nodes are only added if they match the NodeClassMask in the - * BrowseDescription. However, child nodes are still recursed into if the - * NodeClass does not match. So it is possible, for example, to get all - * VariableNodes below a certain ObjectNode, with additional objects in the - * hierarchy below. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_browseRecursive(UA_Server *server, const UA_BrowseDescription *bd, - size_t *resultsSize, UA_ExpandedNodeId **results); - -UA_BrowsePathResult UA_EXPORT UA_THREADSAFE -UA_Server_translateBrowsePathToNodeIds(UA_Server *server, - const UA_BrowsePath *browsePath); - -/* A simplified TranslateBrowsePathsToNodeIds based on the - * SimpleAttributeOperand type (Part 4, 7.4.4.5). - * - * This specifies a relative path using a list of BrowseNames instead of the - * RelativePath structure. The list of BrowseNames is equivalent to a - * RelativePath that specifies forward references which are subtypes of the - * HierarchicalReferences ReferenceType. All Nodes followed by the browsePath - * shall be of the NodeClass Object or Variable. */ -UA_BrowsePathResult UA_EXPORT UA_THREADSAFE -UA_Server_browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, - size_t browsePathSize, - const UA_QualifiedName *browsePath); - -#ifndef HAVE_NODEITER_CALLBACK -#define HAVE_NODEITER_CALLBACK -/* Iterate over all nodes referenced by parentNodeId by calling the callback - * function for each child node (in ifdef because GCC/CLANG handle include order - * differently) */ -typedef UA_StatusCode -(*UA_NodeIteratorCallback)(UA_NodeId childId, UA_Boolean isInverse, - UA_NodeId referenceTypeId, void *handle); -#endif - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_forEachChildNodeCall(UA_Server *server, UA_NodeId parentNodeId, - UA_NodeIteratorCallback callback, void *handle); - -#ifdef UA_ENABLE_DISCOVERY - -/** - * Discovery - * --------- - * - * Registering at a Discovery Server - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ - -/* Register the given server instance at the discovery server. This should be - * called periodically, for example every 10 minutes, depending on the - * configuration of the discovery server. You should also call - * _unregisterDiscovery when the server shuts down. - * - * The supplied client configuration is used to create a new client to connect - * to the discovery server. The client configuration is moved over to the server - * and eventually cleaned up internally. The structure pointed at by `cc` is - * zeroed to avoid accessing outdated information. - * - * The eventloop and logging plugins in the client configuration are replaced by - * those configured in the server. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_registerDiscovery(UA_Server *server, UA_ClientConfig *cc, - const UA_String discoveryServerUrl, - const UA_String semaphoreFilePath); - -/* Deregister the given server instance from the discovery server. - * This should be called when the server is shutting down. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_deregisterDiscovery(UA_Server *server, UA_ClientConfig *cc, - const UA_String discoveryServerUrl); - -/** - * Operating a Discovery Server - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ - -/* Callback for RegisterServer. Data is passed from the register call */ -typedef void -(*UA_Server_registerServerCallback)(const UA_RegisteredServer *registeredServer, - void* data); - -/* Set the callback which is called if another server registeres or unregisters - * with this instance. This callback is called every time the server gets a - * register call. This especially means that for every periodic server register - * the callback will be called. - * - * @param server - * @param cb the callback - * @param data data passed to the callback - * @return ``UA_STATUSCODE_SUCCESS`` on success */ -void UA_EXPORT UA_THREADSAFE -UA_Server_setRegisterServerCallback(UA_Server *server, - UA_Server_registerServerCallback cb, void* data); - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - -/* Callback for server detected through mDNS. Data is passed from the register - * call - * - * @param isServerAnnounce indicates if the server has just been detected. If - * set to false, this means the server is shutting down. - * @param isTxtReceived indicates if we already received the corresponding TXT - * record with the path and caps data */ -typedef void -(*UA_Server_serverOnNetworkCallback)(const UA_ServerOnNetwork *serverOnNetwork, - UA_Boolean isServerAnnounce, - UA_Boolean isTxtReceived, void* data); - -/* Set the callback which is called if another server is found through mDNS or - * deleted. It will be called for any mDNS message from the remote server, thus - * it may be called multiple times for the same instance. Also the SRV and TXT - * records may arrive later, therefore for the first call the server - * capabilities may not be set yet. If called multiple times, previous data will - * be overwritten. - * - * @param server - * @param cb the callback - * @param data data passed to the callback - * @return ``UA_STATUSCODE_SUCCESS`` on success */ -void UA_EXPORT UA_THREADSAFE -UA_Server_setServerOnNetworkCallback(UA_Server *server, - UA_Server_serverOnNetworkCallback cb, - void* data); - -#endif /* UA_ENABLE_DISCOVERY_MULTICAST */ - -#endif /* UA_ENABLE_DISCOVERY */ - -/** - * Information Model Callbacks - * --------------------------- - * There are three places where a callback from an information model to - * user-defined code can happen. - * - * - Custom node constructors and destructors - * - Linking VariableNodes with an external data source - * - MethodNode callbacks */ - -void UA_EXPORT -UA_Server_setAdminSessionContext(UA_Server *server, - void *context); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, - UA_NodeTypeLifecycle lifecycle); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_getNodeContext(UA_Server *server, UA_NodeId nodeId, - void **nodeContext); - -/* Careful! The user has to ensure that the destructor callbacks still work. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setNodeContext(UA_Server *server, UA_NodeId nodeId, - void *nodeContext); - -/** - * .. _datasource: - * - * Data Source Callback - * ^^^^^^^^^^^^^^^^^^^^ - * The server has a unique way of dealing with the content of variables. Instead - * of storing a variant attached to the variable node, the node can point to a - * function with a local data provider. Whenever the value attribute is read, - * the function will be called and asked to provide a UA_DataValue return value - * that contains the value content and additional timestamps. - * - * It is expected that the read callback is implemented. The write callback can - * be set to a null-pointer. */ - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, - const UA_DataSource dataSource); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setVariableNode_valueCallback(UA_Server *server, - const UA_NodeId nodeId, - const UA_ValueCallback callback); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setVariableNode_valueBackend(UA_Server *server, - const UA_NodeId nodeId, - const UA_ValueBackend valueBackend); - -/** - * .. _local-monitoreditems: - * - * Local MonitoredItems - * ^^^^^^^^^^^^^^^^^^^^ - * MonitoredItems are used with the Subscription mechanism of OPC UA to - * transported notifications for data changes and events. MonitoredItems can - * also be registered locally. Notifications are then forwarded to a - * user-defined callback instead of a remote client. */ - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -typedef void (*UA_Server_DataChangeNotificationCallback) - (UA_Server *server, UA_UInt32 monitoredItemId, void *monitoredItemContext, - const UA_NodeId *nodeId, void *nodeContext, UA_UInt32 attributeId, - const UA_DataValue *value); - -typedef void (*UA_Server_EventNotificationCallback) - (UA_Server *server, UA_UInt32 monId, void *monContext, - size_t nEventFields, const UA_Variant *eventFields); - -/* Create a local MonitoredItem with a sampling interval that detects data - * changes. - * - * @param server The server executing the MonitoredItem - * @timestampsToReturn Shall timestamps be added to the value for the callback? - * @item The parameters of the new MonitoredItem. Note that the attribute of the - * ReadValueId (the node that is monitored) can not be - * ``UA_ATTRIBUTEID_EVENTNOTIFIER``. A different callback type needs to be - * registered for event notifications. - * @monitoredItemContext A pointer that is forwarded with the callback - * @callback The callback that is executed on detected data changes - * - * @return Returns a description of the created MonitoredItem. The structure - * also contains a StatusCode (in case of an error) and the identifier of the - * new MonitoredItem. */ -UA_MonitoredItemCreateResult UA_EXPORT UA_THREADSAFE -UA_Server_createDataChangeMonitoredItem(UA_Server *server, - UA_TimestampsToReturn timestampsToReturn, - const UA_MonitoredItemCreateRequest item, - void *monitoredItemContext, - UA_Server_DataChangeNotificationCallback callback); - -/* UA_MonitoredItemCreateResult UA_EXPORT */ -/* UA_Server_createEventMonitoredItem(UA_Server *server, */ -/* UA_TimestampsToReturn timestampsToReturn, */ -/* const UA_MonitoredItemCreateRequest item, void *context, */ -/* UA_Server_EventNotificationCallback callback); */ - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_deleteMonitoredItem(UA_Server *server, UA_UInt32 monitoredItemId); - -#endif - -/** - * Method Callbacks - * ^^^^^^^^^^^^^^^^ - * Method callbacks are set to `NULL` (not executable) when a method node is - * added over the network. In theory, it is possible to add a callback via - * ``UA_Server_setMethodNode_callback`` within the global constructor when - * adding methods over the network is really wanted. See the Section - * :ref:`object-interaction` for calling methods on an object. */ - -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setMethodNodeCallback(UA_Server *server, - const UA_NodeId methodNodeId, - UA_MethodCallback methodCallback); - -/* Backwards compatibility definition */ -#define UA_Server_setMethodNode_callback(server, methodNodeId, methodCallback) \ - UA_Server_setMethodNodeCallback(server, methodNodeId, methodCallback) - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_getMethodNodeCallback(UA_Server *server, - const UA_NodeId methodNodeId, - UA_MethodCallback *outMethodCallback); - -UA_CallMethodResult UA_EXPORT UA_THREADSAFE -UA_Server_call(UA_Server *server, const UA_CallMethodRequest *request); -#endif - -/** - * .. _object-interaction: - * - * Interacting with Objects - * ------------------------ - * Objects in the information model are represented as ObjectNodes. Some - * convenience functions are provided to simplify the interaction with objects. */ - -/* Write an object property. The property is represented as a VariableNode with - * a ``HasProperty`` reference from the ObjectNode. The VariableNode is - * identified by its BrowseName. Writing the property sets the value attribute - * of the VariableNode. - * - * @param server The server object - * @param objectId The identifier of the object (node) - * @param propertyName The name of the property - * @param value The value to be set for the event attribute - * @return The StatusCode for setting the event attribute */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_writeObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const UA_Variant value); - -/* Directly point to the scalar value instead of a variant */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const void *value, const UA_DataType *type); - -/* Read an object property. - * - * @param server The server object - * @param objectId The identifier of the object (node) - * @param propertyName The name of the property - * @param value Contains the property value after reading. Must not be NULL. - * @return The StatusCode for setting the event attribute */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_readObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - UA_Variant *value); - -/** - * .. _addnodes: - * - * Node Addition and Deletion - * -------------------------- - * When creating dynamic node instances at runtime, chances are that you will - * not care about the specific NodeId of the new node, as long as you can - * reference it later. When passing numeric NodeIds with a numeric identifier 0, - * the stack evaluates this as "select a random unassigned numeric NodeId in - * that namespace". To find out which NodeId was actually assigned to the new - * node, you may pass a pointer `outNewNodeId`, which will (after a successful - * node insertion) contain the nodeId of the new node. You may also pass a - * ``NULL`` pointer if this result is not needed. - * - * See the Section :ref:`node-lifecycle` on constructors and on attaching - * user-defined data to nodes. - * - * The Section :ref:`default-node-attributes` contains useful starting points - * for defining node attributes. Forgetting to set the ValueRank or the - * AccessLevel leads to errors that can be hard to track down for new users. The - * default attributes have a high likelihood to "do the right thing". - * - * The methods for node addition and deletion take mostly const arguments that - * are not modified. When creating a node, a deep copy of the node identifier, - * node attributes, etc. is created. Therefore, it is possible to call for - * example ``UA_Server_addVariablenode`` with a value attribute (a - * :ref:`variant`) pointing to a memory location on the stack. If you need - * changes to a variable value to manifest at a specific memory location, please - * use a :ref:`datasource` or a :ref:`value-callback`. */ - -/* Don't use this function. There are typed versions as inline functions. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -__UA_Server_addNode(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId *requestedNewNodeId, - const UA_NodeId *parentNodeId, - const UA_NodeId *referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId *typeDefinition, - const UA_NodeAttributes *attr, - const UA_DataType *attributeType, - void *nodeContext, UA_NodeId *outNewNodeId); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addVariableNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_VariableAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_VARIABLE, &requestedNewNodeId, - &parentNodeId, &referenceTypeId, browseName, - &typeDefinition, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], - nodeContext, outNewNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addVariableTypeNode(UA_Server *server, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_VariableTypeAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_VARIABLETYPE, - &requestedNewNodeId, &parentNodeId, &referenceTypeId, - browseName, &typeDefinition, - (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], - nodeContext, outNewNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addObjectNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_ObjectAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_OBJECT, &requestedNewNodeId, - &parentNodeId, &referenceTypeId, browseName, - &typeDefinition, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - nodeContext, outNewNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addObjectTypeNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ObjectTypeAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_OBJECTTYPE, &requestedNewNodeId, - &parentNodeId, &referenceTypeId, browseName, - &UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], - nodeContext, outNewNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addViewNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ViewAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_VIEW, &requestedNewNodeId, - &parentNodeId, &referenceTypeId, browseName, - &UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], - nodeContext, outNewNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addReferenceTypeNode(UA_Server *server, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ReferenceTypeAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_REFERENCETYPE, - &requestedNewNodeId, &parentNodeId, &referenceTypeId, - browseName, &UA_NODEID_NULL, - (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], - nodeContext, outNewNodeId); -} - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addDataTypeNode(UA_Server *server, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_DataTypeAttributes attr, - void *nodeContext, UA_NodeId *outNewNodeId) { - return __UA_Server_addNode(server, UA_NODECLASS_DATATYPE, &requestedNewNodeId, - &parentNodeId, &referenceTypeId, browseName, - &UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES], - nodeContext, outNewNodeId); -} - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addDataSourceVariableNode(UA_Server *server, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_VariableAttributes attr, - const UA_DataSource dataSource, - void *nodeContext, UA_NodeId *outNewNodeId); - -/* VariableNodes that are "dynamic" (default for user-created variables) receive - * and store a SourceTimestamp. For non-dynamic VariableNodes the current time - * is used for the SourceTimestamp. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setVariableNodeDynamic(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean isDynamic); - -#ifdef UA_ENABLE_METHODCALLS - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addMethodNodeEx(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_MethodAttributes attr, UA_MethodCallback method, - size_t inputArgumentsSize, const UA_Argument *inputArguments, - const UA_NodeId inputArgumentsRequestedNewNodeId, - UA_NodeId *inputArgumentsOutNewNodeId, - size_t outputArgumentsSize, const UA_Argument *outputArguments, - const UA_NodeId outputArgumentsRequestedNewNodeId, - UA_NodeId *outputArgumentsOutNewNodeId, - void *nodeContext, UA_NodeId *outNewNodeId); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Server_addMethodNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_MethodAttributes attr, - UA_MethodCallback method, - size_t inputArgumentsSize, const UA_Argument *inputArguments, - size_t outputArgumentsSize, const UA_Argument *outputArguments, - void *nodeContext, UA_NodeId *outNewNodeId) { - return UA_Server_addMethodNodeEx(server, requestedNewNodeId, parentNodeId, - referenceTypeId, browseName, attr, method, - inputArgumentsSize, inputArguments, - UA_NODEID_NULL, NULL, - outputArgumentsSize, outputArguments, - UA_NODEID_NULL, NULL, - nodeContext, outNewNodeId); -} - -#endif - - -/** - * The method pair UA_Server_addNode_begin and _finish splits the AddNodes - * service in two parts. This is useful if the node shall be modified before - * finish the instantiation. For example to add children with specific NodeIds. - * Otherwise, mandatory children (e.g. of an ObjectType) are added with - * pseudo-random unique NodeIds. Existing children are detected during the - * _finish part via their matching BrowseName. - * - * The _begin method: - * - prepares the node and adds it to the nodestore - * - copies some unassigned attributes from the TypeDefinition node internally - * - adds the references to the parent (and the TypeDefinition if applicable) - * - performs type-checking of variables. - * - * You can add an object node without a parent if you set the parentNodeId and - * referenceTypeId to UA_NODE_ID_NULL. Then you need to add the parent reference - * and hasTypeDef reference yourself before calling the _finish method. - * Not that this is only allowed for object nodes. - * - * The _finish method: - * - copies mandatory children - * - calls the node constructor(s) at the end - * - may remove the node if it encounters an error. - * - * The special UA_Server_addMethodNode_finish method needs to be used for method - * nodes, since there you need to explicitly specifiy the input and output - * arguments which are added in the finish step (if not yet already there) */ - -/* The ``attr`` argument must have a type according to the NodeClass. - * ``VariableAttributes`` for variables, ``ObjectAttributes`` for objects, and - * so on. Missing attributes are taken from the TypeDefinition node if - * applicable. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const void *attr, const UA_DataType *attributeType, - void *nodeContext, UA_NodeId *outNewNodeId); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addNode_finish(UA_Server *server, const UA_NodeId nodeId); - -#ifdef UA_ENABLE_METHODCALLS - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addMethodNode_finish(UA_Server *server, const UA_NodeId nodeId, - UA_MethodCallback method, - size_t inputArgumentsSize, const UA_Argument *inputArguments, - size_t outputArgumentsSize, const UA_Argument *outputArguments); - -#endif - -/* Deletes a node and optionally all references leading to the node. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_deleteNode(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean deleteReferences); - -/** - * Reference Management - * -------------------- */ - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_addReference(UA_Server *server, const UA_NodeId sourceId, - const UA_NodeId refTypeId, - const UA_ExpandedNodeId targetId, UA_Boolean isForward); - -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_ExpandedNodeId targetNodeId, - UA_Boolean deleteBidirectional); - -/** - * .. _events: - * - * Events - * ------ - * The method ``UA_Server_createEvent`` creates an event and represents it as - * node. The node receives a unique `EventId` which is automatically added to - * the node. The method returns a `NodeId` to the object node which represents - * the event through ``outNodeId``. The `NodeId` can be used to set the - * attributes of the event. The generated `NodeId` is always numeric. - * ``outNodeId`` cannot be ``NULL``. - * - * Note: In order to see an event in UAExpert, the field `Time` must be given a - * value! - * - * The method ``UA_Server_triggerEvent`` "triggers" an event by adding it to all - * monitored items of the specified origin node and those of all its parents. - * Any filters specified by the monitored items are automatically applied. Using - * this method deletes the node generated by ``UA_Server_createEvent``. The - * `EventId` for the new event is generated automatically and is returned - * through ``outEventId``. ``NULL`` can be passed if the `EventId` is not - * needed. ``deleteEventNode`` specifies whether the node representation of the - * event should be deleted after invoking the method. This can be useful if - * events with the similar attributes are triggered frequently. ``UA_TRUE`` - * would cause the node to be deleted. */ - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - -/* Creates a node representation of an event - * - * @param server The server object - * @param eventType The type of the event for which a node should be created - * @param outNodeId The NodeId of the newly created node for the event - * @return The StatusCode of the UA_Server_createEvent method */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_createEvent(UA_Server *server, const UA_NodeId eventType, - UA_NodeId *outNodeId); - -/* Triggers a node representation of an event by applying EventFilters and - * adding the event to the appropriate queues. - * - * @param server The server object - * @param eventNodeId The NodeId of the node representation of the event which - * should be triggered - * @param outEvent the EventId of the new event - * @param deleteEventNode Specifies whether the node representation of the event - * should be deleted - * @return The StatusCode of the UA_Server_triggerEvent method */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, - const UA_NodeId originId, UA_ByteString *outEventId, - const UA_Boolean deleteEventNode); - -#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ - -/** - * Alarms & Conditions (Experimental) - * ---------------------------------- */ - -#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS -typedef enum UA_TwoStateVariableCallbackType { - UA_ENTERING_ENABLEDSTATE, - UA_ENTERING_ACKEDSTATE, - UA_ENTERING_CONFIRMEDSTATE, - UA_ENTERING_ACTIVESTATE -} UA_TwoStateVariableCallbackType; - -/* Callback prototype to set user specific callbacks */ -typedef UA_StatusCode -(*UA_TwoStateVariableChangeCallback)(UA_Server *server, const UA_NodeId *condition); - -/* Create condition instance. The function checks first whether the passed - * conditionType is a subType of ConditionType. Then checks whether the - * condition source has HasEventSource reference to its parent. If not, a - * HasEventSource reference will be created between condition source and server - * object. To expose the condition in address space, a hierarchical - * ReferenceType should be passed to create the reference to condition source. - * Otherwise, UA_NODEID_NULL should be passed to make the condition not exposed. - * - * @param server The server object - * @param conditionId The NodeId of the requested Condition Object. When passing - * UA_NODEID_NUMERIC(X,0) an unused nodeid in namespace X will be used. - * E.g. passing UA_NODEID_NULL will result in a NodeId in namespace 0. - * @param conditionType The NodeId of the node representation of the ConditionType - * @param conditionName The name of the condition to be created - * @param conditionSource The NodeId of the Condition Source (Parent of the Condition) - * @param hierarchialReferenceType The NodeId of Hierarchical ReferenceType - * between Condition and its source - * @param outConditionId The NodeId of the created Condition - * @return The StatusCode of the UA_Server_createCondition method */ -UA_StatusCode UA_EXPORT -UA_Server_createCondition(UA_Server *server, - const UA_NodeId conditionId, - const UA_NodeId conditionType, - const UA_QualifiedName conditionName, - const UA_NodeId conditionSource, - const UA_NodeId hierarchialReferenceType, - UA_NodeId *outConditionId); - -/* The method pair UA_Server_addCondition_begin and _finish splits the - * UA_Server_createCondtion in two parts similiar to the - * UA_Server_addNode_begin / _finish pair. This is useful if the node shall be - * modified before finish the instantiation. For example to add children with - * specific NodeIds. - * For details refer to the UA_Server_addNode_begin / _finish methods. - * - * Additionally to UA_Server_addNode_begin UA_Server_addCondition_begin checks - * if the passed condition type is a subtype of the OPC UA ConditionType. - * - * @param server The server object - * @param conditionId The NodeId of the requested Condition Object. When passing - * UA_NODEID_NUMERIC(X,0) an unused nodeid in namespace X will be used. - * E.g. passing UA_NODEID_NULL will result in a NodeId in namespace 0. - * @param conditionType The NodeId of the node representation of the ConditionType - * @param conditionName The name of the condition to be added - * @param outConditionId The NodeId of the added Condition - * @return The StatusCode of the UA_Server_addCondition_begin method */ -UA_StatusCode UA_EXPORT -UA_Server_addCondition_begin(UA_Server *server, - const UA_NodeId conditionId, - const UA_NodeId conditionType, - const UA_QualifiedName conditionName, - UA_NodeId *outConditionId); - -/* Second call of the UA_Server_addCondition_begin and _finish pair. - * Additionally to UA_Server_addNode_finish UA_Server_addCondition_finish: - * - checks whether the condition source has HasEventSource reference to its - * parent. If not, a HasEventSource reference will be created between - * condition source and server object - * - exposes the condition in the address space if hierarchialReferenceType is - * not UA_NODEID_NULL by adding a reference of this type from the condition - * source to the condition instance - * - initializes the standard condition fields and callbacks - * - * @param server The server object - * @param conditionId The NodeId of the unfinished Condition Object - * @param conditionSource The NodeId of the Condition Source (Parent of the Condition) - * @param hierarchialReferenceType The NodeId of Hierarchical ReferenceType - * between Condition and its source - * @return The StatusCode of the UA_Server_addCondition_finish method */ - -UA_StatusCode UA_EXPORT -UA_Server_addCondition_finish(UA_Server *server, - const UA_NodeId conditionId, - const UA_NodeId conditionSource, - const UA_NodeId hierarchialReferenceType); - -/* Set the value of condition field. - * - * @param server The server object - * @param condition The NodeId of the node representation of the Condition Instance - * @param value Variant Value to be written to the Field - * @param fieldName Name of the Field in which the value should be written - * @return The StatusCode of the UA_Server_setConditionField method*/ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_setConditionField(UA_Server *server, - const UA_NodeId condition, - const UA_Variant *value, - const UA_QualifiedName fieldName); - -/* Set the value of property of condition field. - * - * @param server The server object - * @param condition The NodeId of the node representation of the Condition - * Instance - * @param value Variant Value to be written to the Field - * @param variableFieldName Name of the Field which has a property - * @param variablePropertyName Name of the Field Property in which the value - * should be written - * @return The StatusCode of the UA_Server_setConditionVariableFieldProperty*/ -UA_StatusCode UA_EXPORT -UA_Server_setConditionVariableFieldProperty(UA_Server *server, - const UA_NodeId condition, - const UA_Variant *value, - const UA_QualifiedName variableFieldName, - const UA_QualifiedName variablePropertyName); - -/* Triggers an event only for an enabled condition. The condition list is - * updated then with the last generated EventId. - * - * @param server The server object - * @param condition The NodeId of the node representation of the Condition Instance - * @param conditionSource The NodeId of the node representation of the Condition Source - * @param outEventId last generated EventId - * @return The StatusCode of the UA_Server_triggerConditionEvent method */ -UA_StatusCode UA_EXPORT -UA_Server_triggerConditionEvent(UA_Server *server, - const UA_NodeId condition, - const UA_NodeId conditionSource, - UA_ByteString *outEventId); - -/* Add an optional condition field using its name. (TODO Adding optional methods - * is not implemented yet) - * - * @param server The server object - * @param condition The NodeId of the node representation of the Condition Instance - * @param conditionType The NodeId of the node representation of the Condition Type - * from which the optional field comes - * @param fieldName Name of the optional field - * @param outOptionalVariable The NodeId of the created field (Variable Node) - * @return The StatusCode of the UA_Server_addConditionOptionalField method */ -UA_StatusCode UA_EXPORT -UA_Server_addConditionOptionalField(UA_Server *server, - const UA_NodeId condition, - const UA_NodeId conditionType, - const UA_QualifiedName fieldName, - UA_NodeId *outOptionalVariable); - -/* Function used to set a user specific callback to TwoStateVariable Fields of a - * condition. The callbacks will be called before triggering the events when - * transition to true State of EnabledState/Id, AckedState/Id, ConfirmedState/Id - * and ActiveState/Id occurs. - * - * @param server The server object - * @param condition The NodeId of the node representation of the Condition Instance - * @param conditionSource The NodeId of the node representation of the Condition Source - * @param removeBranch (Not Implemented yet) - * @param callback User specific callback function - * @param callbackType Callback function type, indicates where it should be called - * @return The StatusCode of the UA_Server_setConditionTwoStateVariableCallback method */ -UA_StatusCode UA_EXPORT -UA_Server_setConditionTwoStateVariableCallback(UA_Server *server, - const UA_NodeId condition, - const UA_NodeId conditionSource, - UA_Boolean removeBranch, - UA_TwoStateVariableChangeCallback callback, - UA_TwoStateVariableCallbackType callbackType); - -/* Delete a condition from the address space and the internal lists. - * - * @param server The server object - * @param condition The NodeId of the node representation of the Condition Instance - * @param conditionSource The NodeId of the node representation of the Condition Source - * @return ``UA_STATUSCODE_GOOD`` on success */ -UA_StatusCode UA_EXPORT -UA_Server_deleteCondition(UA_Server *server, - const UA_NodeId condition, - const UA_NodeId conditionSource); - -/* Set the LimitState of the LimitAlarmType - * - * @param server The server object - * @param conditionId NodeId of the node representation of the Condition Instance - * @param limitValue The value from the trigger node */ -UA_StatusCode UA_EXPORT -UA_Server_setLimitState(UA_Server *server, const UA_NodeId conditionId, - UA_Double limitValue); - -/* Parse the certifcate and set Expiration date - * - * @param server The server object - * @param conditionId NodeId of the node representation of the Condition Instance - * @param cert The certificate for parsing */ -UA_StatusCode UA_EXPORT -UA_Server_setExpirationDate(UA_Server *server, const UA_NodeId conditionId, - UA_ByteString cert); - -#endif /* UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ - -/** - * Update the Server Certificate at Runtime - * ---------------------------------------- */ - -UA_StatusCode UA_EXPORT -UA_Server_updateCertificate(UA_Server *server, - const UA_ByteString *oldCertificate, - const UA_ByteString *newCertificate, - const UA_ByteString *newPrivateKey, - UA_Boolean closeSessions, - UA_Boolean closeSecureChannels); - -/** - * Utility Functions - * ----------------- */ - -/* Lookup a datatype by its NodeId. Takes the custom types in the server - * configuration into account. Return NULL if none found. */ -UA_EXPORT const UA_DataType * -UA_Server_findDataType(UA_Server *server, const UA_NodeId *typeId); - -/* Add a new namespace to the server. Returns the index of the new namespace */ -UA_UInt16 UA_EXPORT UA_THREADSAFE -UA_Server_addNamespace(UA_Server *server, const char* name); - -/* Get namespace by name from the server. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_getNamespaceByName(UA_Server *server, const UA_String namespaceUri, - size_t* foundIndex); - -/* Get namespace by id from the server. */ -UA_StatusCode UA_EXPORT UA_THREADSAFE -UA_Server_getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, - UA_String *foundUri); - -/** - * .. _async-operations: - * - * Async Operations - * ---------------- - * Some operations (such as reading out a sensor that needs to warm up) can take - * quite some time. In order not to block the server during such an operation, it - * can be "outsourced" to a worker thread. - * - * Take the example of a CallRequest. It is split into the individual method call - * operations. If the method is marked as async, then the operation is put into a - * queue where it is be retrieved by a worker. The worker returns the result when - * ready. See the examples in ``/examples/tutorial_server_method_async.c`` for - * the usage. - * - * Note that the operation can time out (see the asyncOperationTimeout setting in - * the server config) also when it has been retrieved by the worker. */ - -#if UA_MULTITHREADING >= 100 - -/* Set the async flag in a method node */ -UA_StatusCode UA_EXPORT -UA_Server_setMethodNodeAsync(UA_Server *server, const UA_NodeId id, - UA_Boolean isAsync); - -typedef enum { - UA_ASYNCOPERATIONTYPE_INVALID, /* 0, the default */ - UA_ASYNCOPERATIONTYPE_CALL - /* UA_ASYNCOPERATIONTYPE_READ, */ - /* UA_ASYNCOPERATIONTYPE_WRITE, */ -} UA_AsyncOperationType; - -typedef union { - UA_CallMethodRequest callMethodRequest; - /* UA_ReadValueId readValueId; */ - /* UA_WriteValue writeValue; */ -} UA_AsyncOperationRequest; - -typedef union { - UA_CallMethodResult callMethodResult; - /* UA_DataValue readResult; */ - /* UA_StatusCode writeResult; */ -} UA_AsyncOperationResponse; - -/* Get the next async operation without blocking - * - * @param server The server object - * @param type The type of the async operation - * @param request Receives pointer to the operation - * @param context Receives the pointer to the operation context - * @param timeout The timestamp when the operation times out and can - * no longer be returned to the client. The response has to - * be set in UA_Server_setAsyncOperationResult in any case. - * @return false if queue is empty, true else */ -UA_Boolean UA_EXPORT -UA_Server_getAsyncOperationNonBlocking(UA_Server *server, - UA_AsyncOperationType *type, - const UA_AsyncOperationRequest **request, - void **context, UA_DateTime *timeout); - -/* UA_Boolean UA_EXPORT */ -/* UA_Server_getAsyncOperationBlocking(UA_Server *server, */ -/* UA_AsyncOperationType *type, */ -/* const UA_AsyncOperationRequest **request, */ -/* void **context, UA_DateTime *timeout); */ - -/* Submit an async operation result - * - * @param server The server object - * @param response Pointer to the operation result - * @param context Pointer to the operation context */ -void UA_EXPORT -UA_Server_setAsyncOperationResult(UA_Server *server, - const UA_AsyncOperationResponse *response, - void *context); - -#endif /* !UA_MULTITHREADING >= 100 */ - -/** - * Statistics - * ---------- - * Statistic counters keeping track of the current state of the stack. Counters - * are structured per OPC UA communication layer. */ - -typedef struct { - UA_SecureChannelStatistics scs; - UA_SessionStatistics ss; -} UA_ServerStatistics; - -UA_ServerStatistics UA_EXPORT UA_THREADSAFE -UA_Server_getStatistics(UA_Server *server); - -/** - * Reverse Connect - * --------------- - * The reverse connect feature of OPC UA permits the server instead of the - * client to establish the connection. The client must expose the listening port - * so the server is able to reach it. */ - -/* The reverse connect state change callback is called whenever the state of a - * reverse connect is changed by a connection attempt, a successful connection - * or a connection loss. - * - * The reverse connect states reflect the state of the secure channel currently - * associated with a reverse connect. The state will remain - * UA_SECURECHANNELSTATE_CONNECTING while the server attempts repeatedly to - * establish a connection. */ -typedef void (*UA_Server_ReverseConnectStateCallback)(UA_Server *server, - UA_UInt64 handle, - UA_SecureChannelState state, - void *context); - -/* Registers a reverse connect in the server. The server periodically attempts - * to establish a connection if the initial connect fails or if the connection - * breaks. - * - * @param server The server object - * @param url The URL of the remote client - * @param stateCallback The callback which will be called on state changes - * @param callbackContext The context for the state callback - * @param handle Is set to the handle of the reverse connect if not NULL - * @return Returns UA_STATUSCODE_GOOD if the reverse connect has been registered */ -UA_StatusCode UA_EXPORT -UA_Server_addReverseConnect(UA_Server *server, UA_String url, - UA_Server_ReverseConnectStateCallback stateCallback, - void *callbackContext, UA_UInt64 *handle); - -/* Removes a reverse connect from the server and closes the connection if it is - * currently open. - * - * @param server The server object - * @param handle The handle of the reverse connect to remove - * @return Returns UA_STATUSCODE_GOOD if the reverse connect has been - * successfully removed */ -UA_StatusCode UA_EXPORT -UA_Server_removeReverseConnect(UA_Server *server, UA_UInt64 handle); - -_UA_END_DECLS - -#ifdef UA_ENABLE_PUBSUB -#endif - - -/**** amalgamated original file "/include/open62541/client_highlevel.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Florian Palm - * Copyright 2016 (c) Chris Iatrou - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Frank Meerkötter - * Copyright 2018 (c) Fabian Arndt - * Copyright 2018 (c) Peter Rustler, basyskom GmbH - */ - - - -_UA_BEGIN_DECLS - -/** - * .. _client-highlevel: - * - * Highlevel Client Functionality - * ------------------------------ - * - * The following definitions are convenience functions making use of the - * standard OPC UA services in the background. This is a less flexible way of - * handling the stack, because at many places sensible defaults are presumed; at - * the same time using these functions is the easiest way of implementing an OPC - * UA application, as you will not have to consider all the details that go into - * the OPC UA services. If more flexibility is needed, you can always achieve - * the same functionality using the raw :ref:`OPC UA services - * `. - * - * Read Attributes - * ^^^^^^^^^^^^^^^ - * The following functions can be used to retrieve a single node attribute. Use - * the regular service to read several attributes at once. */ - -/* Don't call this function, use the typed versions */ -UA_StatusCode UA_EXPORT -__UA_Client_readAttribute(UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, void *out, - const UA_DataType *outDataType); - -static UA_INLINE UA_StatusCode -UA_Client_readNodeIdAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_NodeId *outNodeId) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_NODEID, - outNodeId, &UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readNodeClassAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_NodeClass *outNodeClass) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_NODECLASS, - outNodeClass, &UA_TYPES[UA_TYPES_NODECLASS]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readBrowseNameAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_QualifiedName *outBrowseName) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, - outBrowseName, - &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readDisplayNameAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_LocalizedText *outDisplayName) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, - outDisplayName, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readDescriptionAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_LocalizedText *outDescription) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, - outDescription, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_UInt32 *outWriteMask) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, - outWriteMask, &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readUserWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_UInt32 *outUserWriteMask) { - return __UA_Client_readAttribute(client, &nodeId, - UA_ATTRIBUTEID_USERWRITEMASK, - outUserWriteMask, - &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readIsAbstractAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean *outIsAbstract) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, - outIsAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readSymmetricAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean *outSymmetric) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, - outSymmetric, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readInverseNameAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_LocalizedText *outInverseName) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, - outInverseName, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readContainsNoLoopsAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean *outContainsNoLoops) { - return __UA_Client_readAttribute(client, &nodeId, - UA_ATTRIBUTEID_CONTAINSNOLOOPS, - outContainsNoLoops, - &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readEventNotifierAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Byte *outEventNotifier) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, - outEventNotifier, &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readValueAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Variant *outValue) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, - outValue, &UA_TYPES[UA_TYPES_VARIANT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readDataTypeAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_NodeId *outDataType) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_DATATYPE, - outDataType, &UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readValueRankAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Int32 *outValueRank) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUERANK, - outValueRank, &UA_TYPES[UA_TYPES_INT32]); -} - -UA_StatusCode UA_EXPORT -UA_Client_readArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, - size_t *outArrayDimensionsSize, - UA_UInt32 **outArrayDimensions); - -static UA_INLINE UA_StatusCode -UA_Client_readAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Byte *outAccessLevel) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, - outAccessLevel, &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readAccessLevelExAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_UInt32 *outAccessLevelEx) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, - outAccessLevelEx, &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readUserAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Byte *outUserAccessLevel) { - return __UA_Client_readAttribute(client, &nodeId, - UA_ATTRIBUTEID_USERACCESSLEVEL, - outUserAccessLevel, - &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readMinimumSamplingIntervalAttribute(UA_Client *client, - const UA_NodeId nodeId, - UA_Double *outMinSamplingInterval) { - return __UA_Client_readAttribute(client, &nodeId, - UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - outMinSamplingInterval, - &UA_TYPES[UA_TYPES_DOUBLE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readHistorizingAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean *outHistorizing) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, - outHistorizing, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean *outExecutable) { - return __UA_Client_readAttribute(client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, - outExecutable, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_readUserExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean *outUserExecutable) { - return __UA_Client_readAttribute(client, &nodeId, - UA_ATTRIBUTEID_USEREXECUTABLE, - outUserExecutable, - &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -/** - * Historical Access - * ^^^^^^^^^^^^^^^^^ - * The following functions can be used to read a single node historically. - * Use the regular service to read several nodes at once. */ - -typedef UA_Boolean -(*UA_HistoricalIteratorCallback)( - UA_Client *client, const UA_NodeId *nodeId, UA_Boolean moreDataAvailable, - const UA_ExtensionObject *data, void *callbackContext); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryRead_events( - UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, - UA_DateTime endTime, UA_String indexRange, const UA_EventFilter filter, - UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, - void *callbackContext); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryRead_raw( - UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, - UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds, - UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, - void *callbackContext); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryRead_modified( - UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, - UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds, - UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, - void *callbackContext); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryUpdate_insert( - UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryUpdate_replace( - UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryUpdate_update( - UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value); - -UA_StatusCode UA_EXPORT -UA_Client_HistoryUpdate_deleteRaw( - UA_Client *client, const UA_NodeId *nodeId, - UA_DateTime startTimestamp, UA_DateTime endTimestamp); - -/** - * Write Attributes - * ^^^^^^^^^^^^^^^^ - * - * The following functions can be use to write a single node attribute at a - * time. Use the regular write service to write several attributes at once. */ - -/* Don't call this function, use the typed versions */ -UA_StatusCode UA_EXPORT -__UA_Client_writeAttribute(UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, const void *in, - const UA_DataType *inDataType); - -static UA_INLINE UA_StatusCode -UA_Client_writeNodeIdAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_NodeId *newNodeId) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_NODEID, - newNodeId, &UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeNodeClassAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_NodeClass *newNodeClass) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_NODECLASS, - newNodeClass, &UA_TYPES[UA_TYPES_NODECLASS]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeBrowseNameAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_QualifiedName *newBrowseName) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, - newBrowseName, - &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeDisplayNameAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_LocalizedText *newDisplayName) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, - newDisplayName, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeDescriptionAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_LocalizedText *newDescription) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, - newDescription, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_UInt32 *newWriteMask) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, - newWriteMask, &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeUserWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_UInt32 *newUserWriteMask) { - return __UA_Client_writeAttribute(client, &nodeId, - UA_ATTRIBUTEID_USERWRITEMASK, - newUserWriteMask, - &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeIsAbstractAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *newIsAbstract) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, - newIsAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeSymmetricAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *newSymmetric) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, - newSymmetric, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeInverseNameAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_LocalizedText *newInverseName) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, - newInverseName, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeContainsNoLoopsAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *newContainsNoLoops) { - return __UA_Client_writeAttribute(client, &nodeId, - UA_ATTRIBUTEID_CONTAINSNOLOOPS, - newContainsNoLoops, - &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeEventNotifierAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Byte *newEventNotifier) { - return __UA_Client_writeAttribute(client, &nodeId, - UA_ATTRIBUTEID_EVENTNOTIFIER, - newEventNotifier, - &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeValueAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Variant *newValue) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, - newValue, &UA_TYPES[UA_TYPES_VARIANT]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeValueAttribute_scalar(UA_Client *client, const UA_NodeId nodeId, - const void *newValue, - const UA_DataType *valueType) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, - newValue, valueType); -} - -/* Write a DataValue that can include timestamps and status codes */ -static UA_INLINE UA_StatusCode -UA_Client_writeValueAttributeEx(UA_Client *client, const UA_NodeId nodeId, - const UA_DataValue *newValue) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUE, - newValue, &UA_TYPES[UA_TYPES_DATAVALUE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeDataTypeAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_NodeId *newDataType) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_DATATYPE, - newDataType, &UA_TYPES[UA_TYPES_NODEID]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeValueRankAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Int32 *newValueRank) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_VALUERANK, - newValueRank, &UA_TYPES[UA_TYPES_INT32]); -} - -UA_StatusCode UA_EXPORT -UA_Client_writeArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, - size_t newArrayDimensionsSize, - const UA_UInt32 *newArrayDimensions); - -static UA_INLINE UA_StatusCode -UA_Client_writeAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Byte *newAccessLevel) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, - newAccessLevel, &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeAccessLevelExAttribute(UA_Client *client, const UA_NodeId nodeId, - UA_UInt32 *newAccessLevelEx) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, - newAccessLevelEx, &UA_TYPES[UA_TYPES_UINT32]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeUserAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Byte *newUserAccessLevel) { - return __UA_Client_writeAttribute(client, &nodeId, - UA_ATTRIBUTEID_USERACCESSLEVEL, - newUserAccessLevel, - &UA_TYPES[UA_TYPES_BYTE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeMinimumSamplingIntervalAttribute(UA_Client *client, - const UA_NodeId nodeId, - const UA_Double *newMinInterval) { - return __UA_Client_writeAttribute(client, &nodeId, - UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - newMinInterval, &UA_TYPES[UA_TYPES_DOUBLE]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeHistorizingAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *newHistorizing) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, - newHistorizing, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *newExecutable) { - return __UA_Client_writeAttribute(client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, - newExecutable, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeUserExecutableAttribute(UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *newUserExecutable) { - return __UA_Client_writeAttribute(client, &nodeId, - UA_ATTRIBUTEID_USEREXECUTABLE, - newUserExecutable, - &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -/** - * Method Calling - * ^^^^^^^^^^^^^^ */ - -UA_StatusCode UA_EXPORT -UA_Client_call(UA_Client *client, - const UA_NodeId objectId, const UA_NodeId methodId, - size_t inputSize, const UA_Variant *input, - size_t *outputSize, UA_Variant **output); - -/** - * Node Management - * ^^^^^^^^^^^^^^^ - * See the section on :ref:`server-side node management `. */ - -UA_StatusCode UA_EXPORT -UA_Client_addReference(UA_Client *client, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_String targetServerUri, - const UA_ExpandedNodeId targetNodeId, - UA_NodeClass targetNodeClass); - -UA_StatusCode UA_EXPORT -UA_Client_deleteReference(UA_Client *client, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_ExpandedNodeId targetNodeId, - UA_Boolean deleteBidirectional); - -UA_StatusCode UA_EXPORT -UA_Client_deleteNode(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean deleteTargetReferences); - -/* Don't call this function, use the typed versions */ -UA_StatusCode UA_EXPORT -__UA_Client_addNode(UA_Client *client, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, - const UA_DataType *attributeType, UA_NodeId *outNewNodeId); - -static UA_INLINE UA_StatusCode -UA_Client_addVariableNode(UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_VariableAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_VARIABLE, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - typeDefinition, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], - outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addVariableTypeNode(UA_Client *client, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_VariableTypeAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_VARIABLETYPE, - requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], - outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addObjectNode(UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_ObjectAttributes attr, UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_OBJECT, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - typeDefinition, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addObjectTypeNode(UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ObjectTypeAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_OBJECTTYPE, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], - outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addViewNode(UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ViewAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_VIEW, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addReferenceTypeNode(UA_Client *client, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ReferenceTypeAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_REFERENCETYPE, - requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], - outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addDataTypeNode(UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_DataTypeAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_DATATYPE, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES], - outNewNodeId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addMethodNode(UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_MethodAttributes attr, - UA_NodeId *outNewNodeId) { - return __UA_Client_addNode(client, UA_NODECLASS_METHOD, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_METHODATTRIBUTES], outNewNodeId); -} - -/** - * Misc Highlevel Functionality - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ - -/* Get the namespace-index of a namespace-URI - * - * @param client The UA_Client struct for this connection - * @param namespaceUri The interested namespace URI - * @param namespaceIndex The namespace index of the URI. The value is unchanged - * in case of an error - * @return Indicates whether the operation succeeded or returns an error code */ -UA_StatusCode UA_EXPORT -UA_Client_NamespaceGetIndex(UA_Client *client, UA_String *namespaceUri, - UA_UInt16 *namespaceIndex); - -#ifndef HAVE_NODEITER_CALLBACK -#define HAVE_NODEITER_CALLBACK -/* Iterate over all nodes referenced by parentNodeId by calling the callback - * function for each child node */ -typedef UA_StatusCode -(*UA_NodeIteratorCallback)(UA_NodeId childId, UA_Boolean isInverse, - UA_NodeId referenceTypeId, void *handle); -#endif - -UA_StatusCode UA_EXPORT -UA_Client_forEachChildNodeCall( - UA_Client *client, UA_NodeId parentNodeId, - UA_NodeIteratorCallback callback, void *handle); - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/client_subscriptions.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - - -_UA_BEGIN_DECLS - -/** - * .. _client-subscriptions: - * - * Subscriptions - * ------------- - * - * Subscriptions in OPC UA are asynchronous. That is, the client sends several - * PublishRequests to the server. The server returns PublishResponses with - * notifications. But only when a notification has been generated. The client - * does not wait for the responses and continues normal operations. - * - * Note the difference between Subscriptions and MonitoredItems. Subscriptions - * are used to report back notifications. MonitoredItems are used to generate - * notifications. Every MonitoredItem is attached to exactly one Subscription. - * And a Subscription can contain many MonitoredItems. - * - * The client automatically processes PublishResponses (with a callback) in the - * background and keeps enough PublishRequests in transit. The PublishResponses - * may be recieved during a synchronous service call or in - * ``UA_Client_run_iterate``. See more about - * :ref:`asynchronicity`. - */ - -/* Callbacks defined for Subscriptions */ -typedef void (*UA_Client_DeleteSubscriptionCallback) - (UA_Client *client, UA_UInt32 subId, void *subContext); - -typedef void (*UA_Client_StatusChangeNotificationCallback) - (UA_Client *client, UA_UInt32 subId, void *subContext, - UA_StatusChangeNotification *notification); - -/* Provides default values for a new subscription. - * - * RequestedPublishingInterval: 500.0 [ms] - * RequestedLifetimeCount: 10000 - * RequestedMaxKeepAliveCount: 10 - * MaxNotificationsPerPublish: 0 (unlimited) - * PublishingEnabled: true - * Priority: 0 */ -static UA_INLINE UA_CreateSubscriptionRequest -UA_CreateSubscriptionRequest_default(void) { - UA_CreateSubscriptionRequest request; - UA_CreateSubscriptionRequest_init(&request); - - request.requestedPublishingInterval = 500.0; - request.requestedLifetimeCount = 10000; - request.requestedMaxKeepAliveCount = 10; - request.maxNotificationsPerPublish = 0; - request.publishingEnabled = true; - request.priority = 0; - return request; -} - -UA_CreateSubscriptionResponse UA_EXPORT -UA_Client_Subscriptions_create(UA_Client *client, - const UA_CreateSubscriptionRequest request, - void *subscriptionContext, - UA_Client_StatusChangeNotificationCallback statusChangeCallback, - UA_Client_DeleteSubscriptionCallback deleteCallback); - -UA_StatusCode UA_EXPORT -UA_Client_Subscriptions_create_async(UA_Client *client, - const UA_CreateSubscriptionRequest request, - void *subscriptionContext, - UA_Client_StatusChangeNotificationCallback statusChangeCallback, - UA_Client_DeleteSubscriptionCallback deleteCallback, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId); - -UA_ModifySubscriptionResponse UA_EXPORT -UA_Client_Subscriptions_modify(UA_Client *client, - const UA_ModifySubscriptionRequest request); - -UA_StatusCode UA_EXPORT -UA_Client_Subscriptions_modify_async(UA_Client *client, - const UA_ModifySubscriptionRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId); - -UA_DeleteSubscriptionsResponse UA_EXPORT -UA_Client_Subscriptions_delete(UA_Client *client, - const UA_DeleteSubscriptionsRequest request); - -UA_StatusCode UA_EXPORT -UA_Client_Subscriptions_delete_async(UA_Client *client, - const UA_DeleteSubscriptionsRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Delete a single subscription */ -UA_StatusCode UA_EXPORT -UA_Client_Subscriptions_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId); - -static UA_INLINE UA_SetPublishingModeResponse -UA_Client_Subscriptions_setPublishingMode(UA_Client *client, - const UA_SetPublishingModeRequest request) { - UA_SetPublishingModeResponse response; - __UA_Client_Service(client, - &request, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST], - &response, &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]); - return response; -} - -/** - * MonitoredItems - * -------------- - * - * MonitoredItems for Events indicate the ``EventNotifier`` attribute. This - * indicates to the server not to monitor changes of the attribute, but to - * forward Event notifications from that node. - * - * During the creation of a MonitoredItem, the server may return changed - * adjusted parameters. Check the returned ``UA_CreateMonitoredItemsResponse`` - * to get the current parameters. */ - -/* Provides default values for a new monitored item. */ -static UA_INLINE UA_MonitoredItemCreateRequest -UA_MonitoredItemCreateRequest_default(UA_NodeId nodeId) { - UA_MonitoredItemCreateRequest request; - UA_MonitoredItemCreateRequest_init(&request); - request.itemToMonitor.nodeId = nodeId; - request.itemToMonitor.attributeId = UA_ATTRIBUTEID_VALUE; - request.monitoringMode = UA_MONITORINGMODE_REPORTING; - request.requestedParameters.samplingInterval = 250; - request.requestedParameters.discardOldest = true; - request.requestedParameters.queueSize = 1; - return request; -} - -/** - * The clientHandle parameter cannot be set by the user, any value will be replaced - * by the client before sending the request to the server. */ - -/* Callback for the deletion of a MonitoredItem */ -typedef void (*UA_Client_DeleteMonitoredItemCallback) - (UA_Client *client, UA_UInt32 subId, void *subContext, - UA_UInt32 monId, void *monContext); - -/* Callback for DataChange notifications */ -typedef void (*UA_Client_DataChangeNotificationCallback) - (UA_Client *client, UA_UInt32 subId, void *subContext, - UA_UInt32 monId, void *monContext, - UA_DataValue *value); - -/* Callback for Event notifications */ -typedef void (*UA_Client_EventNotificationCallback) - (UA_Client *client, UA_UInt32 subId, void *subContext, - UA_UInt32 monId, void *monContext, - size_t nEventFields, UA_Variant *eventFields); - -/* Don't use to monitor the EventNotifier attribute */ -UA_CreateMonitoredItemsResponse UA_EXPORT -UA_Client_MonitoredItems_createDataChanges(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, void **contexts, - UA_Client_DataChangeNotificationCallback *callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks); - -UA_StatusCode UA_EXPORT -UA_Client_MonitoredItems_createDataChanges_async(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, void **contexts, - UA_Client_DataChangeNotificationCallback *callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - UA_ClientAsyncServiceCallback createCallback, - void *userdata, UA_UInt32 *requestId); - -UA_MonitoredItemCreateResult UA_EXPORT -UA_Client_MonitoredItems_createDataChange(UA_Client *client, - UA_UInt32 subscriptionId, - UA_TimestampsToReturn timestampsToReturn, - const UA_MonitoredItemCreateRequest item, - void *context, UA_Client_DataChangeNotificationCallback callback, - UA_Client_DeleteMonitoredItemCallback deleteCallback); - -/* Monitor the EventNotifier attribute only */ -UA_CreateMonitoredItemsResponse UA_EXPORT -UA_Client_MonitoredItems_createEvents(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, void **contexts, - UA_Client_EventNotificationCallback *callback, - UA_Client_DeleteMonitoredItemCallback *deleteCallback); - -/* Monitor the EventNotifier attribute only */ -UA_StatusCode UA_EXPORT -UA_Client_MonitoredItems_createEvents_async(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, void **contexts, - UA_Client_EventNotificationCallback *callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - UA_ClientAsyncServiceCallback createCallback, - void *userdata, UA_UInt32 *requestId); - -UA_MonitoredItemCreateResult UA_EXPORT -UA_Client_MonitoredItems_createEvent(UA_Client *client, - UA_UInt32 subscriptionId, - UA_TimestampsToReturn timestampsToReturn, - const UA_MonitoredItemCreateRequest item, - void *context, UA_Client_EventNotificationCallback callback, - UA_Client_DeleteMonitoredItemCallback deleteCallback); - -UA_DeleteMonitoredItemsResponse UA_EXPORT -UA_Client_MonitoredItems_delete(UA_Client *client, - const UA_DeleteMonitoredItemsRequest); - -UA_StatusCode UA_EXPORT -UA_Client_MonitoredItems_delete_async(UA_Client *client, - const UA_DeleteMonitoredItemsRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId); - -UA_StatusCode UA_EXPORT -UA_Client_MonitoredItems_deleteSingle(UA_Client *client, - UA_UInt32 subscriptionId, UA_UInt32 monitoredItemId); - -/* The clientHandle parameter will be filled automatically */ -UA_ModifyMonitoredItemsResponse UA_EXPORT -UA_Client_MonitoredItems_modify(UA_Client *client, - const UA_ModifyMonitoredItemsRequest request); - -UA_StatusCode UA_EXPORT -UA_Client_MonitoredItems_modify_async(UA_Client *client, - const UA_ModifyMonitoredItemsRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId); - -/** - * The following service calls go directly to the server. The MonitoredItem - * settings are not stored in the client. */ - -static UA_INLINE UA_SetMonitoringModeResponse -UA_Client_MonitoredItems_setMonitoringMode(UA_Client *client, - const UA_SetMonitoringModeRequest request) { - UA_SetMonitoringModeResponse response; - __UA_Client_Service(client, - &request, &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST], - &response, &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]); - return response; -} - -static UA_INLINE UA_StatusCode -UA_Client_MonitoredItems_setMonitoringMode_async(UA_Client *client, - const UA_SetMonitoringModeRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId) { - return __UA_Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST], callback, - &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE], - userdata, requestId); -} - -static UA_INLINE UA_SetTriggeringResponse -UA_Client_MonitoredItems_setTriggering(UA_Client *client, - const UA_SetTriggeringRequest request) { - UA_SetTriggeringResponse response; - __UA_Client_Service(client, - &request, &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST], - &response, &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]); - return response; -} - -static UA_INLINE UA_StatusCode -UA_Client_MonitoredItems_setTriggering_async(UA_Client *client, - const UA_SetTriggeringRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId) { - return __UA_Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST], callback, - &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE], - userdata, requestId); -} - -_UA_END_DECLS - - -/**** amalgamated original file "/include/open62541/client_highlevel_async.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - - -_UA_BEGIN_DECLS - -/** - * .. _client_async: - * - * Async Services - * ^^^^^^^^^^^^^^ - * - * Call OPC UA Services asynchronously with a callback. The (optional) requestId - * output can be used to cancel the service while it is still pending. */ - -typedef void -(*UA_ClientAsyncReadCallback)( - UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_ReadResponse *rr); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Client_sendAsyncReadRequest( - UA_Client *client, UA_ReadRequest *request, - UA_ClientAsyncReadCallback readCallback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_AsyncService( - client, request, &UA_TYPES[UA_TYPES_READREQUEST], - (UA_ClientAsyncServiceCallback)readCallback, - &UA_TYPES[UA_TYPES_READRESPONSE], userdata, reqId); -} - -typedef void -(*UA_ClientAsyncWriteCallback)( - UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_WriteResponse *wr); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Client_sendAsyncWriteRequest( - UA_Client *client, UA_WriteRequest *request, - UA_ClientAsyncWriteCallback writeCallback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_AsyncService( - client, request, &UA_TYPES[UA_TYPES_WRITEREQUEST], - (UA_ClientAsyncServiceCallback)writeCallback, - &UA_TYPES[UA_TYPES_WRITERESPONSE], userdata, reqId); -} - -typedef void -(*UA_ClientAsyncBrowseCallback)( - UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_BrowseResponse *wr); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Client_sendAsyncBrowseRequest( - UA_Client *client, UA_BrowseRequest *request, - UA_ClientAsyncBrowseCallback browseCallback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_AsyncService( - client, request, &UA_TYPES[UA_TYPES_BROWSEREQUEST], - (UA_ClientAsyncServiceCallback)browseCallback, - &UA_TYPES[UA_TYPES_BROWSERESPONSE], userdata, reqId); -} - -typedef void -(*UA_ClientAsyncBrowseNextCallback)( - UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_BrowseNextResponse *wr); - -static UA_INLINE UA_THREADSAFE UA_StatusCode -UA_Client_sendAsyncBrowseNextRequest( - UA_Client *client, UA_BrowseNextRequest *request, - UA_ClientAsyncBrowseNextCallback browseNextCallback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_AsyncService( - client, request, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST], - (UA_ClientAsyncServiceCallback)browseNextCallback, - &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE], userdata, reqId); -} - -/** - * Asynchronous Operations - * ^^^^^^^^^^^^^^^^^^^^^^^ - * - * Many Services can be called with an array of operations. For example, a - * request to the Read Service contains an array of ReadValueId, each - * corresponding to a single read operation. For convenience, wrappers are - * provided to call single operations for the most common Services. - * - * All async operations have a callback of the following structure: The returned - * StatusCode is split in two parts. The status indicates the overall success of - * the request and the operation. The result argument is non-NULL only if the - * status is no good. */ -typedef void -(*UA_ClientAsyncOperationCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, void *result); - -/** - * Read Attribute - * ^^^^^^^^^^^^^^ - * - * Asynchronously read a single attribute. The attribute is unpacked from the - * response as the datatype of the attribute is known ahead of time. Value - * attributes are variants. - * - * Note that the last argument (value pointer) of the callbacks can be NULL if - * the status of the operation is not good. */ - -/* Reading a single attribute */ -typedef void -(*UA_ClientAsyncReadAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_DataValue *attribute); - -UA_StatusCode UA_EXPORT -UA_Client_readAttribute_async( - UA_Client *client, const UA_ReadValueId *rvi, - UA_TimestampsToReturn timestampsToReturn, - UA_ClientAsyncReadAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single Value attribute */ -typedef void -(*UA_ClientAsyncReadValueAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_DataValue *value); - -UA_StatusCode UA_EXPORT -UA_Client_readValueAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadValueAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single DataType attribute */ -typedef void -(*UA_ClientAsyncReadDataTypeAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_NodeId *dataType); - -UA_StatusCode UA_EXPORT -UA_Client_readDataTypeAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadDataTypeAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single ArrayDimensions attribute. If the status is good, the variant - * carries an UInt32 array. */ -typedef void -(*UA_ClientReadArrayDimensionsAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Variant *arrayDimensions); - -UA_StatusCode UA_EXPORT -UA_Client_readArrayDimensionsAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientReadArrayDimensionsAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single NodeClass attribute */ -typedef void -(*UA_ClientAsyncReadNodeClassAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_NodeClass *nodeClass); - -UA_StatusCode UA_EXPORT -UA_Client_readNodeClassAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadNodeClassAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single BrowseName attribute */ -typedef void -(*UA_ClientAsyncReadBrowseNameAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_QualifiedName *browseName); - -UA_StatusCode UA_EXPORT -UA_Client_readBrowseNameAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadBrowseNameAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single DisplayName attribute */ -typedef void -(*UA_ClientAsyncReadDisplayNameAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_LocalizedText *displayName); - -UA_StatusCode UA_EXPORT -UA_Client_readDisplayNameAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadDisplayNameAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single Description attribute */ -typedef void -(*UA_ClientAsyncReadDescriptionAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_LocalizedText *description); - -UA_StatusCode UA_EXPORT -UA_Client_readDescriptionAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadDescriptionAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single WriteMask attribute */ -typedef void -(*UA_ClientAsyncReadWriteMaskAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_UInt32 *writeMask); - -UA_StatusCode UA_EXPORT -UA_Client_readWriteMaskAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadWriteMaskAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single UserWriteMask attribute */ -typedef void -(*UA_ClientAsyncReadUserWriteMaskAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_UInt32 *writeMask); - -UA_StatusCode UA_EXPORT -UA_Client_readUserWriteMaskAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadUserWriteMaskAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single IsAbstract attribute */ -typedef void -(*UA_ClientAsyncReadIsAbstractAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Boolean *isAbstract); - -UA_StatusCode UA_EXPORT -UA_Client_readIsAbstractAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadIsAbstractAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single Symmetric attribute */ -typedef void -(*UA_ClientAsyncReadSymmetricAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Boolean *symmetric); - -UA_StatusCode UA_EXPORT -UA_Client_readSymmetricAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadSymmetricAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single InverseName attribute */ -typedef void -(*UA_ClientAsyncReadInverseNameAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_LocalizedText *inverseName); - -UA_StatusCode UA_EXPORT -UA_Client_readInverseNameAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadInverseNameAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single ContainsNoLoops attribute */ -typedef void -(*UA_ClientAsyncReadContainsNoLoopsAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Boolean *containsNoLoops); - -UA_StatusCode UA_EXPORT -UA_Client_readContainsNoLoopsAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadContainsNoLoopsAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single EventNotifier attribute */ -typedef void -(*UA_ClientAsyncReadEventNotifierAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Byte *eventNotifier); - -UA_StatusCode UA_EXPORT -UA_Client_readEventNotifierAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadEventNotifierAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single ValueRank attribute */ -typedef void -(*UA_ClientAsyncReadValueRankAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Int32 *valueRank); - -UA_StatusCode UA_EXPORT -UA_Client_readValueRankAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadValueRankAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single AccessLevel attribute */ -typedef void -(*UA_ClientAsyncReadAccessLevelAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Byte *accessLevel); - -UA_StatusCode UA_EXPORT -UA_Client_readAccessLevelAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadAccessLevelAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single AccessLevelEx attribute */ -typedef void -(*UA_ClientAsyncReadAccessLevelExAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_UInt32 *accessLevelEx); - -UA_StatusCode UA_EXPORT -UA_Client_readAccessLevelExAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadAccessLevelExAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single UserAccessLevel attribute */ -typedef void -(*UA_ClientAsyncReadUserAccessLevelAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Byte *userAccessLevel); - -UA_StatusCode UA_EXPORT -UA_Client_readUserAccessLevelAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadUserAccessLevelAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single MinimumSamplingInterval attribute */ -typedef void -(*UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Double *minimumSamplingInterval); - -UA_StatusCode UA_EXPORT -UA_Client_readMinimumSamplingIntervalAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single Historizing attribute */ -typedef void -(*UA_ClientAsyncReadHistorizingAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Boolean *historizing); - -UA_StatusCode UA_EXPORT -UA_Client_readHistorizingAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadHistorizingAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single Executable attribute */ -typedef void -(*UA_ClientAsyncReadExecutableAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Boolean *executable); - -UA_StatusCode UA_EXPORT -UA_Client_readExecutableAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadExecutableAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/* Read a single UserExecutable attribute */ -typedef void -(*UA_ClientAsyncReadUserExecutableAttributeCallback)( - UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_StatusCode status, UA_Boolean *userExecutable); - -UA_StatusCode UA_EXPORT -UA_Client_readUserExecutableAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadUserExecutableAttributeCallback callback, - void *userdata, UA_UInt32 *requestId); - -/** - * Write Attribute - * ^^^^^^^^^^^^^^^ */ - -UA_StatusCode UA_EXPORT -__UA_Client_writeAttribute_async( - UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, const void *in, - const UA_DataType *inDataType, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId); - -static UA_INLINE UA_StatusCode -UA_Client_writeValueAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Variant *attr, UA_ClientAsyncWriteCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_VALUE, attr, - &UA_TYPES[UA_TYPES_VARIANT], - (UA_ClientAsyncServiceCallback)callback, - userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeNodeIdAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_NODEID, attr, - &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeNodeClassAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_NodeClass *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_NODECLASS, attr, - &UA_TYPES[UA_TYPES_NODECLASS], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeBrowseNameAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_QualifiedName *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, attr, - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeDisplayNameAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_LocalizedText *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, attr, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeDescriptionAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_LocalizedText *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, attr, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeWriteMaskAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, attr, - &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeUserWriteMaskAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_USERWRITEMASK, attr, - &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeIsAbstractAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, attr, - &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeSymmetricAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, attr, - &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeInverseNameAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_LocalizedText *attr, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, attr, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeContainsNoLoopsAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, attr, - &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeEventNotifierAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Byte *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, attr, - &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeDataTypeAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_DATATYPE, attr, - &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeValueRankAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Int32 *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_VALUERANK, attr, - &UA_TYPES[UA_TYPES_INT32], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeAccessLevelAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Byte *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, attr, - &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeAccessLevelExAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, attr, - &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeUserAccessLevelAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Byte *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_USERACCESSLEVEL, attr, - &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeMinimumSamplingIntervalAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Double *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - attr, &UA_TYPES[UA_TYPES_DOUBLE], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeHistorizingAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, attr, - &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeExecutableAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, attr, - &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_writeUserExecutableAttribute_async( - UA_Client *client, const UA_NodeId nodeId, - const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_writeAttribute_async( - client, &nodeId, UA_ATTRIBUTEID_USEREXECUTABLE, attr, - &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId); -} - -/** - * Method Calling - * ^^^^^^^^^^^^^^ */ -UA_StatusCode UA_EXPORT -__UA_Client_call_async( - UA_Client *client, - const UA_NodeId objectId, const UA_NodeId methodId, - size_t inputSize, const UA_Variant *input, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId); - -typedef void -(*UA_ClientAsyncCallCallback)( - UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_CallResponse *cr); - -static UA_INLINE UA_StatusCode -UA_Client_call_async( - UA_Client *client, - const UA_NodeId objectId, const UA_NodeId methodId, - size_t inputSize, const UA_Variant *input, - UA_ClientAsyncCallCallback callback, void *userdata, - UA_UInt32 *reqId) { - return __UA_Client_call_async( - client, objectId, methodId, inputSize, input, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -/** - * Node Management - * ^^^^^^^^^^^^^^^ */ -typedef void -(*UA_ClientAsyncAddNodesCallback)( - UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_AddNodesResponse *ar); - -UA_StatusCode UA_EXPORT -__UA_Client_addNode_async( - UA_Client *client, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, - const UA_DataType *attributeType, UA_NodeId *outNewNodeId, - UA_ClientAsyncServiceCallback callback, void *userdata, - UA_UInt32 *reqId); - -static UA_INLINE UA_StatusCode -UA_Client_addVariableNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_NodeId typeDefinition, - const UA_VariableAttributes attr, UA_NodeId *outNewNodeId, - UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_VARIABLE, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - typeDefinition, (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addVariableTypeNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_VariableTypeAttributes attr, - UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_VARIABLETYPE, - requestedNewNodeId, parentNodeId, - referenceTypeId, browseName, UA_NODEID_NULL, - (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], - outNewNodeId, (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addObjectNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_NodeId typeDefinition, - const UA_ObjectAttributes attr, UA_NodeId *outNewNodeId, - UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_OBJECT, requestedNewNodeId, - parentNodeId, referenceTypeId, - browseName, typeDefinition, (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addObjectTypeNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ObjectTypeAttributes attr, - UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_OBJECTTYPE, requestedNewNodeId, parentNodeId, - referenceTypeId, browseName, UA_NODEID_NULL, - (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addViewNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_ViewAttributes attr, - UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_VIEW, requestedNewNodeId, - parentNodeId, referenceTypeId, - browseName, UA_NODEID_NULL, (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addReferenceTypeNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_ReferenceTypeAttributes attr, - UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_REFERENCETYPE, requestedNewNodeId, parentNodeId, - referenceTypeId, browseName, UA_NODEID_NULL, - (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addDataTypeNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_DataTypeAttributes attr, - UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_DATATYPE, requestedNewNodeId, - parentNodeId, referenceTypeId, browseName, - UA_NODEID_NULL, (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -static UA_INLINE UA_StatusCode -UA_Client_addMethodNode_async( - UA_Client *client, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_MethodAttributes attr, - UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback, - void *userdata, UA_UInt32 *reqId) { - return __UA_Client_addNode_async( - client, UA_NODECLASS_METHOD, requestedNewNodeId, parentNodeId, - referenceTypeId, browseName, UA_NODEID_NULL, - (const UA_NodeAttributes *)&attr, - &UA_TYPES[UA_TYPES_METHODATTRIBUTES], outNewNodeId, - (UA_ClientAsyncServiceCallback)callback, userdata, reqId); -} - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/accesscontrol_default.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -_UA_BEGIN_DECLS - -typedef struct { - UA_String username; - UA_String password; -} UA_UsernamePasswordLogin; - -typedef UA_StatusCode (*UA_UsernamePasswordLoginCallback) - (const UA_String *userName, const UA_ByteString *password, - size_t usernamePasswordLoginSize, const UA_UsernamePasswordLogin - *usernamePasswordLogin, void **sessionContext, void *loginContext); - -/* Default access control. The login can be anonymous, username-password or - * certificate-based. A logged-in user has all access rights. - * - * The plugin stores the UserIdentityToken in the session context. So that - * cannot be used for other purposes. - * - * The certificate verification plugin lifecycle is moved to the access control - * system. So it is cleared up eventually together with the AccessControl. */ -UA_EXPORT UA_StatusCode -UA_AccessControl_default(UA_ServerConfig *config, - UA_Boolean allowAnonymous, - const UA_ByteString *userTokenPolicyUri, - size_t usernamePasswordLoginSize, - const UA_UsernamePasswordLogin *usernamePasswordLogin); - -UA_EXPORT UA_StatusCode -UA_AccessControl_defaultWithLoginCallback(UA_ServerConfig *config, - UA_Boolean allowAnonymous, - const UA_ByteString *userTokenPolicyUri, - size_t usernamePasswordLoginSize, - const UA_UsernamePasswordLogin *usernamePasswordLogin, - UA_UsernamePasswordLoginCallback loginCallback, - void *loginContext); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/pki_default.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2019 (c) Kalycito Infotech Private Limited - */ - - - -_UA_BEGIN_DECLS - -/* Default implementation that accepts all certificates */ -UA_EXPORT void -UA_CertificateVerification_AcceptAll(UA_CertificateVerification *cv); - -#ifdef UA_ENABLE_ENCRYPTION - -/* Accept certificates based on a trust-list and a revocation-list. Based on - * mbedTLS. */ -UA_EXPORT UA_StatusCode -UA_CertificateVerification_Trustlist(UA_CertificateVerification *cv, - const UA_ByteString *certificateTrustList, - size_t certificateTrustListSize, - const UA_ByteString *certificateIssuerList, - size_t certificateIssuerListSize, - const UA_ByteString *certificateRevocationList, - size_t certificateRevocationListSize); - -#ifdef __linux__ /* Linux only so far */ - -#ifdef UA_ENABLE_CERT_REJECTED_DIR -UA_EXPORT UA_StatusCode -UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, - const char *trustListFolder, - const char *issuerListFolder, - const char *revocationListFolder, - const char *rejectedListFolder); -#else -UA_EXPORT UA_StatusCode -UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, - const char *trustListFolder, - const char *issuerListFolder, - const char *revocationListFolder); -#endif -#endif - -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/log_stdout.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016, 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - - -_UA_BEGIN_DECLS - -extern UA_EXPORT const UA_Logger UA_Log_Stdout_; /* Logger structure */ -extern UA_EXPORT const UA_Logger *UA_Log_Stdout; /* Shorthand pointer */ - -/* Returns a logger for messages up to the specified level */ -UA_EXPORT UA_Logger -UA_Log_Stdout_withLevel(UA_LogLevel minlevel); - -/* Allocates memory for the logger. Automatically cleared up via _clear. */ -UA_EXPORT UA_Logger * -UA_Log_Stdout_new(UA_LogLevel minlevel); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/nodestore_default.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2019 (c) Julius Pfrommer, Fraunhofer IOSB - */ - - - -_UA_BEGIN_DECLS - -/* The HashMap Nodestore holds all nodes in RAM in single hash-map. Lookip is - * done based on hashing/comparison of the NodeId with close to O(1) lookup - * time. However, sometimes the underlying array has to be resized when nodes - * are added/removed. This can take O(n) time. */ -UA_EXPORT UA_StatusCode -UA_Nodestore_HashMap(UA_Nodestore *ns); - -/* The ZipTree Nodestore holds all nodes in RAM in a tree structure. The lookup - * time is about O(log n). Adding/removing nodes does not require resizing of - * the underlying array with the linear overhead. - * - * For most usage scenarios the hash-map Nodestore will be faster. - */ -UA_EXPORT UA_StatusCode -UA_Nodestore_ZipTree(UA_Nodestore *ns); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/server_config_default.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2019 (c) Kalycito Infotech Private Limited - */ - - - -_UA_BEGIN_DECLS - -/**********************/ -/* Default Connection */ -/**********************/ - -extern const UA_EXPORT -UA_ConnectionConfig UA_ConnectionConfig_default; - -/*************************/ -/* Default Server Config */ -/*************************/ - -/* Creates a new server config with one endpoint and custom buffer size. - * - * The config will set the tcp network layer to the given port and adds a single - * endpoint with the security policy ``SecurityPolicy#None`` to the server. - * If the port is set to 0, it will be dynamically assigned. - * A server certificate may be supplied but is optional. - * Additionally you can define a custom buffer size for send and receive buffer. - * - * @param portNumber The port number for the tcp network layer - * @param certificate Optional certificate for the server endpoint. Can be - * ``NULL``. - * @param sendBufferSize The size in bytes for the network send buffer - * @param recvBufferSize The size in bytes for the network receive buffer - * - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_setMinimalCustomBuffer(UA_ServerConfig *config, - UA_UInt16 portNumber, - const UA_ByteString *certificate, - UA_UInt32 sendBufferSize, - UA_UInt32 recvBufferSize); - -/* Creates a new server config with one endpoint. - * - * The config will set the tcp network layer to the given port and adds a single - * endpoint with the security policy ``SecurityPolicy#None`` to the server. A - * server certificate may be supplied but is optional. */ -static UA_INLINE UA_StatusCode -UA_ServerConfig_setMinimal(UA_ServerConfig *config, UA_UInt16 portNumber, - const UA_ByteString *certificate) { - return UA_ServerConfig_setMinimalCustomBuffer(config, portNumber, - certificate, 0, 0); -} - -#ifdef UA_ENABLE_ENCRYPTION - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setDefaultWithSecurityPolicies(UA_ServerConfig *conf, - UA_UInt16 portNumber, - const UA_ByteString *certificate, - const UA_ByteString *privateKey, - const UA_ByteString *trustList, - size_t trustListSize, - const UA_ByteString *issuerList, - size_t issuerListSize, - const UA_ByteString *revocationList, - size_t revocationListSize); - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setDefaultWithSecureSecurityPolicies(UA_ServerConfig *conf, - UA_UInt16 portNumber, - const UA_ByteString *certificate, - const UA_ByteString *privateKey, - const UA_ByteString *trustList, - size_t trustListSize, - const UA_ByteString *issuerList, - size_t issuerListSize, - const UA_ByteString *revocationList, - size_t revocationListSize); - -#endif - -/* Creates a server config on the default port 4840 with no server - * certificate. */ -static UA_INLINE UA_StatusCode -UA_ServerConfig_setDefault(UA_ServerConfig *config) { - return UA_ServerConfig_setMinimal(config, 4840, NULL); -} - -/* Creates a new server config with no security policies and no endpoints. - * - * It initializes reasonable defaults for many things, but does not - * add any security policies and endpoints. - * Use the various UA_ServerConfig_addXxx functions to add them. - * The config will set the tcp network layer to the default port 4840 if the - * eventloop is not already set. - * - * @param conf The configuration to manipulate - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_setBasics(UA_ServerConfig *conf); - -/* Creates a new server config with no security policies and no endpoints. - * - * It initializes reasonable defaults for many things, but does not - * add any security policies and endpoints. - * Use the various UA_ServerConfig_addXxx functions to add them. - * The config will set the tcp network layer to the given port if the - * eventloop is not already set. - * If the port is set to 0, it will be dynamically assigned. - * - * @param conf The configuration to manipulate - * @param portNumber The port number for the tcp network layer - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_setBasics_withPort(UA_ServerConfig *conf, - UA_UInt16 portNumber); - -/* Adds the security policy ``SecurityPolicy#None`` to the server. A - * server certificate may be supplied but is optional. - * - * @param config The configuration to manipulate - * @param certificate The optional server certificate. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyNone(UA_ServerConfig *config, - const UA_ByteString *certificate); - -#ifdef UA_ENABLE_ENCRYPTION - -/* Adds the security policy ``SecurityPolicy#Basic128Rsa15`` to the server. A - * server certificate may be supplied but is optional. - * - * Certificate verification should be configured before calling this - * function. See PKI plugin. - * - * @param config The configuration to manipulate - * @param certificate The server certificate. - * @param privateKey The private key that corresponds to the certificate. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyBasic128Rsa15(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -/* Adds the security policy ``SecurityPolicy#Basic256`` to the server. A - * server certificate may be supplied but is optional. - * - * Certificate verification should be configured before calling this - * function. See PKI plugin. - * - * @param config The configuration to manipulate - * @param certificate The server certificate. - * @param privateKey The private key that corresponds to the certificate. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyBasic256(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -/* Adds the security policy ``SecurityPolicy#Basic256Sha256`` to the server. A - * server certificate may be supplied but is optional. - * - * Certificate verification should be configured before calling this - * function. See PKI plugin. - * - * @param config The configuration to manipulate - * @param certificate The server certificate. - * @param privateKey The private key that corresponds to the certificate. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyBasic256Sha256(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -/* Adds the security policy ``SecurityPolicy#Aes128Sha256RsaOaep`` to the server. A - * server certificate may be supplied but is optional. - * - * Certificate verification should be configured before calling this - * function. See PKI plugin. - * - * @param config The configuration to manipulate - * @param certificate The server certificate. - * @param privateKey The private key that corresponds to the certificate. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -/* Adds the security policy ``SecurityPolicy#Aes256Sha256RsaPss`` to the server. A - * server certificate may be supplied but is optional. - * - * Certificate verification should be configured before calling this - * function. See PKI plugin. - * - * @param config The configuration to manipulate - * @param certificate The server certificate. - * @param privateKey The private key that corresponds to the certificate. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -/* Adds all supported security policies and sets up certificate - * validation procedures. - * - * Certificate verification should be configured before calling this - * function. See PKI plugin. - * - * @param config The configuration to manipulate - * @param certificate The server certificate. - * @param privateKey The private key that corresponds to the certificate. - * @param trustList The trustList for client certificate validation. - * @param trustListSize The trustList size. - * @param revocationList The revocationList for client certificate validation. - * @param revocationListSize The revocationList size. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addAllSecurityPolicies(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addAllSecureSecurityPolicies(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey); - -#endif - -/* Adds an endpoint for the given security policy and mode. The security - * policy has to be added already. See UA_ServerConfig_addXxx functions. - * - * @param config The configuration to manipulate - * @param securityPolicyUri The security policy for which to add the endpoint. - * @param securityMode The security mode for which to add the endpoint. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addEndpoint(UA_ServerConfig *config, const UA_String securityPolicyUri, - UA_MessageSecurityMode securityMode); - -/* Adds endpoints for all configured security policies in each mode. - * - * @param config The configuration to manipulate - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addAllEndpoints(UA_ServerConfig *config); - -/* Adds endpoints for all secure configured security policies in each mode. - * - * @param config The configuration to manipulate - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_addAllSecureEndpoints(UA_ServerConfig *config); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/client_config_default.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - */ - - - -_UA_BEGIN_DECLS - -UA_StatusCode UA_EXPORT -UA_ClientConfig_setDefault(UA_ClientConfig *config); - -/* If certificates are used for authentication, this is only possible when - * openssl or mbedtls is used. Libressl is currently not supported.*/ -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_MBEDTLS) -UA_StatusCode UA_EXPORT -UA_ClientConfig_setAuthenticationCert(UA_ClientConfig *config, - UA_ByteString certificateAuth, UA_ByteString privateKeyAuth); -#endif - -#ifdef UA_ENABLE_ENCRYPTION -UA_StatusCode UA_EXPORT -UA_ClientConfig_setDefaultEncryption(UA_ClientConfig *config, - UA_ByteString localCertificate, UA_ByteString privateKey, - const UA_ByteString *trustList, size_t trustListSize, - const UA_ByteString *revocationList, size_t revocationListSize); -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/securitypolicy_default.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG - */ - - - -_UA_BEGIN_DECLS - -UA_EXPORT UA_StatusCode -UA_SecurityPolicy_None(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_Logger *logger); - -#ifdef UA_ENABLE_ENCRYPTION - -UA_EXPORT UA_StatusCode -UA_SecurityPolicy_Basic128Rsa15(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger); - -UA_EXPORT UA_StatusCode -UA_SecurityPolicy_Basic256(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger); - -UA_EXPORT UA_StatusCode -UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger); - -UA_EXPORT UA_StatusCode -UA_SecurityPolicy_Aes128Sha256RsaOaep(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger); - -UA_EXPORT UA_StatusCode -UA_SecurityPolicy_Aes256Sha256RsaPss(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger); - -#endif - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - -UA_EXPORT UA_StatusCode -UA_PubSubSecurityPolicy_Aes128Ctr(UA_PubSubSecurityPolicy *policy, - const UA_Logger *logger); -UA_EXPORT UA_StatusCode -UA_PubSubSecurityPolicy_Aes256Ctr(UA_PubSubSecurityPolicy *policy, - const UA_Logger *logger); - -#endif - -#ifdef UA_ENABLE_TPM2_SECURITY - -UA_EXPORT UA_StatusCode -UA_PubSubSecurityPolicy_Aes128CtrTPM(UA_PubSubSecurityPolicy *policy, char *userpin, unsigned long slotId, - char *encryptionKeyLabel, char *signingKeyLabel, const UA_Logger *logger); -UA_EXPORT UA_StatusCode -UA_PubSubSecurityPolicy_Aes256CtrTPM(UA_PubSubSecurityPolicy *policy, char *userpin, unsigned long slotId, - char *encryptionKeyLabel, char *signingKeyLabel, const UA_Logger *logger); - -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/server_config_file_based.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2023 (c) Fraunhofer IOSB (Author: Noel Graf) - */ - -#ifndef UA_SERVER_CONFIG_FILE_BASED_H -#define UA_SERVER_CONFIG_FILE_BASED_H - -#include -#include - -_UA_BEGIN_DECLS - -/* Loads the server configuration from a Json5 file into the server. - * - * @param json The configuration in json5 format. - */ -UA_EXPORT UA_Server * -UA_Server_newFromFile(const UA_ByteString json_config); - -/* Loads the server configuration from a Json5 file into the server. - * - * @param config The server configuration. - * @param json The configuration in json5 format. - */ -UA_EXPORT UA_StatusCode -UA_ServerConfig_updateFromFile(UA_ServerConfig *config, const UA_ByteString json_config); - -_UA_END_DECLS - -#endif //UA_SERVER_CONFIG_FILE_BASED_H - -/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_backend.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - */ - - - -_UA_BEGIN_DECLS - -typedef enum { - MATCH_EQUAL, /* Match with the exact timestamp. */ - MATCH_AFTER, /* Match the value with the timestamp in the - database that is the first later in time from the provided timestamp. */ - MATCH_EQUAL_OR_AFTER, /* Match exactly if possible, or the first timestamp - later in time from the provided timestamp. */ - MATCH_BEFORE, /* Match the first timestamp in the database that is earlier - in time from the provided timestamp. */ - MATCH_EQUAL_OR_BEFORE /* Match exactly if possible, or the first timestamp - that is earlier in time from the provided timestamp. */ -} MatchStrategy; - -typedef struct UA_HistoryDataBackend UA_HistoryDataBackend; - -struct UA_HistoryDataBackend { - void *context; - - void - (*deleteMembers)(UA_HistoryDataBackend *backend); - - /* This function sets a DataValue for a node in the historical data storage. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node for which the value shall be stored. - * value is the value which shall be stored. - * historizing is the historizing flag of the node identified by nodeId. - * If sessionId is NULL, the historizing flag is invalid and must not be used. */ - UA_StatusCode - (*serverSetHistoryData)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_Boolean historizing, - const UA_DataValue *value); - - /* This function is the high level interface for the ReadRaw operation. Set - * it to NULL if you use the low level API for your plugin. It should be - * used if the low level interface does not suite your database. It is more - * complex to implement the high level interface but it also provide more - * freedom. If you implement this, then set all low level api function - * pointer to NULL. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * backend is the HistoryDataBackend whose storage is to be queried. - * start is the start time of the HistoryRead request. - * end is the end time of the HistoryRead request. - * nodeId is the node id of the node for which historical data is requested. - * maxSizePerResponse is the maximum number of items per response the server can provide. - * numValuesPerNode is the maximum number of items per response the client wants to receive. - * returnBounds determines if the client wants to receive bounding values. - * timestampsToReturn contains the time stamps the client is interested in. - * range is the numeric range the client wants to read. - * releaseContinuationPoints determines if the continuation points shall be released. - * continuationPoint is the continuation point the client wants to release or start from. - * outContinuationPoint is the continuation point that gets passed to the - * client by the HistoryRead service. - * result contains the result histoy data that gets passed to the client. */ - UA_StatusCode - (*getHistoryData)(UA_Server *server, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_HistoryDataBackend *backend, - const UA_DateTime start, - const UA_DateTime end, - const UA_NodeId *nodeId, - size_t maxSizePerResponse, - UA_UInt32 numValuesPerNode, - UA_Boolean returnBounds, - UA_TimestampsToReturn timestampsToReturn, - UA_NumericRange range, - UA_Boolean releaseContinuationPoints, - const UA_ByteString *continuationPoint, - UA_ByteString *outContinuationPoint, - UA_HistoryData *result); - - /* This function is part of the low level HistoryRead API. It returns the - * index of a value in the database which matches certain criteria. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the matching value shall be found. - * timestamp is the timestamp of the requested index. - * strategy is the matching strategy which shall be applied in finding the index. */ - size_t - (*getDateTimeMatch)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DateTime timestamp, - const MatchStrategy strategy); - - /* This function is part of the low level HistoryRead API. It returns the - * index of the element after the last valid entry in the database for a - * node. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the end of storage shall be returned. */ - size_t - (*getEnd)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId); - - /* This function is part of the low level HistoryRead API. It returns the - * index of the last element in the database for a node. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the index of the last element - * shall be returned. */ - size_t - (*lastIndex)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId); - - /* This function is part of the low level HistoryRead API. It returns the - * index of the first element in the database for a node. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the index of the first - * element shall be returned. */ - size_t - (*firstIndex)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId); - - /* This function is part of the low level HistoryRead API. It returns the - * number of elements between startIndex and endIndex including both. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the number of elements shall be returned. - * startIndex is the index of the first element in the range. - * endIndex is the index of the last element in the range. */ - size_t - (*resultSize)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - size_t startIndex, - size_t endIndex); - - /* This function is part of the low level HistoryRead API. It copies data - * values inside a certain range into a buffer. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the data values shall be copied. - * startIndex is the index of the first value in the range. - * endIndex is the index of the last value in the range. - * reverse determines if the values shall be copied in reverse order. - * valueSize is the maximal number of data values to copy. - * range is the numeric range which shall be copied for every data value. - * releaseContinuationPoints determines if the continuation points shall be released. - * continuationPoint is a continuation point the client wants to release or start from. - * outContinuationPoint is a continuation point which will be passed to the client. - * providedValues contains the number of values that were copied. - * values contains the values that have been copied from the database. */ - UA_StatusCode - (*copyDataValues)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - size_t startIndex, - size_t endIndex, - UA_Boolean reverse, - size_t valueSize, - UA_NumericRange range, - UA_Boolean releaseContinuationPoints, - const UA_ByteString *continuationPoint, - UA_ByteString *outContinuationPoint, - size_t *providedValues, - UA_DataValue *values); - - /* This function is part of the low level HistoryRead API. It returns the - * data value stored at a certain index in the database. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the data value shall be returned. - * index is the index in the database for which the data value is requested. */ - const UA_DataValue* - (*getDataValue)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - size_t index); - - /* This function returns UA_TRUE if the backend supports returning bounding - * values for a node. This function is mandatory. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read - * historical data. - * nodeId is the node id of the node for which the capability to return - * bounds shall be queried. */ - UA_Boolean - (*boundSupported)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId); - - /* This function returns UA_TRUE if the backend supports returning the - * requested timestamps for a node. This function is mandatory. - * - * server is the server the node lives in. - * hdbContext is the context of the UA_HistoryDataBackend. - * sessionId and sessionContext identify the session that wants to read historical data. - * nodeId is the node id of the node for which the capability to return - * certain timestamps shall be queried. */ - UA_Boolean - (*timestampsToReturnSupported)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_TimestampsToReturn timestampsToReturn); - - UA_StatusCode - (*insertDataValue)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DataValue *value); - UA_StatusCode - (*replaceDataValue)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DataValue *value); - UA_StatusCode - (*updateDataValue)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DataValue *value); - UA_StatusCode - (*removeDataValue)(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_DateTime startTimestamp, - UA_DateTime endTimestamp); -}; - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_gathering.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - */ - - - -_UA_BEGIN_DECLS - -typedef enum { - UA_HISTORIZINGUPDATESTRATEGY_USER = 0x00, /* The user of the api stores the values to the database himself. - The api will not store any value to the database. */ - UA_HISTORIZINGUPDATESTRATEGY_VALUESET = 0x01, /* Values will be stored when a node's value is set. - The values will be stored when a node is updated via write service.*/ - UA_HISTORIZINGUPDATESTRATEGY_POLL = 0x02 /* The value of the node will be read periodically. - This is mainly relevant for datasource nodes which do - not use the write service. - Values will not be stored if the value is - equal to the old value. */ -} UA_HistorizingUpdateStrategy; - -typedef struct { - UA_HistoryDataBackend historizingBackend; /* The database backend used for this node. */ - size_t maxHistoryDataResponseSize; /* The maximum number of values returned by the server in one response. - If the result has more values, continuation points will be used. */ - UA_HistorizingUpdateStrategy historizingUpdateStrategy; /* Defines how the values in the database will be updated. - See UA_HistorizingUpdateStrategy for details. */ - size_t pollingInterval; /* The polling interval for UA_HISTORIZINGUPDATESTRATEGY_POLL. */ - void *userContext; /* A pointer to store your own settings. */ -} UA_HistorizingNodeIdSettings; - -typedef struct UA_HistoryDataGathering UA_HistoryDataGathering; -struct UA_HistoryDataGathering { - void *context; - - void - (*deleteMembers)(UA_HistoryDataGathering *gathering); - - /* This function registers a node for the gathering of historical data. - * - * server is the server the node lives in. - * hdgContext is the context of the UA_HistoryDataGathering. - * nodeId is the node id of the node to register. - * setting contains the gatering settings for the node to register. */ - UA_StatusCode - (*registerNodeId)(UA_Server *server, - void *hdgContext, - const UA_NodeId *nodeId, - const UA_HistorizingNodeIdSettings setting); - - /* This function stops polling a node for value changes. - * - * server is the server the node lives in. - * hdgContext is the context of the UA_HistoryDataGathering. - * nodeId is id of the node for which polling shall be stopped. - * setting contains the gatering settings for the node. */ - UA_StatusCode - (*stopPoll)(UA_Server *server, - void *hdgContext, - const UA_NodeId *nodeId); - - /* This function starts polling a node for value changes. - * - * server is the server the node lives in. - * hdgContext is the context of the UA_HistoryDataGathering. - * nodeId is the id of the node for which polling shall be started. */ - UA_StatusCode - (*startPoll)(UA_Server *server, - void *hdgContext, - const UA_NodeId *nodeId); - - /* This function modifies the gathering settings for a node. - * - * server is the server the node lives in. - * hdgContext is the context of the UA_HistoryDataGathering. - * nodeId is the node id of the node for which gathering shall be modified. - * setting contains the new gatering settings for the node. */ - UA_Boolean - (*updateNodeIdSetting)(UA_Server *server, - void *hdgContext, - const UA_NodeId *nodeId, - const UA_HistorizingNodeIdSettings setting); - - /* Returns the gathering settings for a node. - * - * server is the server the node lives in. - * hdgContext is the context of the UA_HistoryDataGathering. - * nodeId is the node id of the node for which the gathering settings shall - * be retrieved. */ - const UA_HistorizingNodeIdSettings* - (*getHistorizingSetting)(UA_Server *server, - void *hdgContext, - const UA_NodeId *nodeId); - - /* Sets a DataValue for a node in the historical data storage. - * - * server is the server the node lives in. - * hdgContext is the context of the UA_HistoryDataGathering. - * sessionId and sessionContext identify the session which wants to set this value. - * nodeId is the node id of the node for which a value shall be set. - * historizing is the historizing flag of the node identified by nodeId. - * value is the value to set in the history data storage. */ - void - (*setValue)(UA_Server *server, - void *hdgContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_Boolean historizing, - const UA_DataValue *value); -}; - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_database_default.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - */ - - - - -_UA_BEGIN_DECLS - -UA_HistoryDatabase UA_EXPORT -UA_HistoryDatabase_default(UA_HistoryDataGathering gathering); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_gathering_default.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) - */ - - - -_UA_BEGIN_DECLS - -UA_HistoryDataGathering UA_EXPORT -UA_HistoryDataGathering_Default(size_t initialNodeIdStoreSize); - -/* This function construct a UA_HistoryDataGathering which implements a circular buffer in memory. - * - * initialNodeIdStoreSize is the maximum number of NodeIds for which the data will be gathered. This number cannot be overcomed. - */ -UA_HistoryDataGathering UA_EXPORT -UA_HistoryDataGathering_Circular(size_t initialNodeIdStoreSize); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/historydata/history_data_backend_memory.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) - */ - - - -_UA_BEGIN_DECLS - -#define INITIAL_MEMORY_STORE_SIZE 1000 - -UA_HistoryDataBackend UA_EXPORT -UA_HistoryDataBackend_Memory(size_t initialNodeIdStoreSize, size_t initialDataStoreSize); - -/* This function construct a UA_HistoryDataBackend which implements a circular buffer in memory. - * - * initialNodeIdStoreSize is the maximum number of NodeIds that will be historized. This number cannot be overcomed. - * initialDataStoreSize is the maximum number of UA_DataValueMemoryStoreItem that will be saved in the circular buffer for a particular NodeId. - * Subsequent UA_DataValueMemoryStoreItem will be saved replacing the oldest ones following the logic of circular buffers. - */ -UA_HistoryDataBackend UA_EXPORT -UA_HistoryDataBackend_Memory_Circular(size_t initialNodeIdStoreSize, size_t initialDataStoreSize); - -void UA_EXPORT -UA_HistoryDataBackend_Memory_clear(UA_HistoryDataBackend *backend); - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/log_syslog.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - - -_UA_BEGIN_DECLS - -/* Syslog-logging is available only for Linux/Unices. - * - * open62541 log levels are translated to syslog levels as follows: - * - * UA_LOGLEVEL_TRACE => not available for syslog - * UA_LOGLEVEL_DEBUG => LOG_DEBUG - * UA_LOGLEVEL_INFO => LOG_INFO - * UA_LOGLEVEL_WARNING => LOG_WARNING - * UA_LOGLEVEL_ERROR => LOG_ERR - * UA_LOGLEVEL_FATAL => LOG_CRIT - */ - -#if defined(__linux__) || defined(__unix__) - -/* Returns a syslog-logger for messages up to the specified level. - * The programm must call openlog(3) before using this logger. */ -UA_EXPORT UA_Logger -UA_Log_Syslog_withLevel(UA_LogLevel minlevel); - -/* Allocates memory for the logger. Automatically cleared up via _clear. */ -UA_EXPORT UA_Logger * -UA_Log_Syslog_new(UA_LogLevel minlevel); - -/* Log all warning levels supported by syslog (no trace-warnings). - * The programm must call openlog(3) before using this logger. */ -UA_EXPORT UA_Logger -UA_Log_Syslog(void); - -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/plugins/include/open62541/plugin/create_certificate.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - */ - - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_ENCRYPTION -typedef enum { - UA_CERTIFICATEFORMAT_DER, - UA_CERTIFICATEFORMAT_PEM -} UA_CertificateFormat; - -/** - * Create a self-signed certificate - * - * It is recommended to store the generated certificate on disk for reuse, so the - * application can be recognized across several executions. - * - * \param subject Elements for the subject, - * e.g. ["C=DE", "O=SampleOrganization", "CN=Open62541Server@localhost"] - * \param subjectAltName Elements for SubjectAltName, - * e.g. ["DNS:localhost", "URI:urn:open62541.server.application"] - * \param params key value map with optional parameters: - * - expires-in-days after these the cert expires default: 365 - * - key-size-bits Size of the generated key in bits. Possible values are: - * [0, 1024 (deprecated), 2048, 4096] default: 4096 - */ -UA_StatusCode UA_EXPORT -UA_CreateCertificate(const UA_Logger *logger, const UA_String *subject, - size_t subjectSize, const UA_String *subjectAltName, - size_t subjectAltNameSize, UA_CertificateFormat certFormat, - UA_KeyValueMap *params, UA_ByteString *outPrivateKey, - UA_ByteString *outCertificate); -#endif - -_UA_END_DECLS - -#endif /* OPEN62541_H_ */ diff --git a/include/robot.h b/include/robot.h deleted file mode 100644 index 231ea13..0000000 --- a/include/robot.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#include "device.h" - diff --git a/src/controller.cpp b/src/controller.cpp deleted file mode 100755 index c9192b8..0000000 --- a/src/controller.cpp +++ /dev/null @@ -1,291 +0,0 @@ -#include -#include -#include -#include -#include -#include "controller.h" - -extern "C" { -#include -#include - -} - -using std::chrono::system_clock; -using std::chrono::milliseconds; -using std::string; -using std::vector; -using std::atomic; -using TimePoint = std::chrono::time_point; -using namespace std::chrono_literals; - - -const string Controller::cv_window_name_ = "Device camera"; - -void Controller::update_battery_stat_() { - while (true) { - battery_stat_ = device_->get_battery(); - servoOk = device_->get_opc_value("::AsGlobalPV:gMainInterface.Robot.Status.ServoOK"); - RobotPos[0].store(device_->get_opc_value("::AsGlobalPV:MpDelta4Axis_0.X")); - RobotPos[1].store(device_->get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Y")); - RobotPos[2].store(device_->get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Z")); - UA_String uastr = device_->get_opc_value("::AsGlobalPV:gModeText"); - char* modeTextVal = (char*)malloc(uastr.length + 1); - memcpy(modeTextVal, uastr.data, uastr.length); - modeTextVal[uastr.length] = '\0'; - //logger_->info("Read {}", modeTextVal); - //std::lock_guard lock(modeMutex); - modeText = modeTextVal; - free(modeTextVal); - //std::lock_guard unlock(modeMutex); - std::this_thread::sleep_for(WAIT_BATTERY_); - } -} - -void Controller::run(interval_ms_t frame_refresh_rate) { - std::thread control_thread(&Controller::send_command, this); - control_thread.detach(); - std::thread battery_thread(&Controller::update_battery_stat_, this); - battery_thread.detach(); - - cv::Mat frame; - cv::namedWindow(cv_window_name_); - - unsigned int frame_count = 0; - TimePoint start_time = system_clock::now(); - TimePoint end_time; - double fps = 0; - logger_->info("Starting detection"); - - while (true) { - device_->get_frame(&frame); - if (frame.empty()) { - logger_->info("Skipping empty frame"); - continue; - } - - if (++frame_count >= 10) { - end_time = system_clock::now(); - fps = (double)frame_count / (double)((end_time - start_time)/1.0s); - start_time = end_time; - frame_count = 0; - } - if (modeText != "AUTO") { - try { - detect(&frame); - } - catch (const std::exception& e) { - std::cerr << "[DETECT] Caught exception: " << e.what() << std::endl; - } - } - //std::cout << "Detection successful" << std::endl; - try { - put_info_on_frame_(&frame, fps); - } - catch (const std::exception& e) { - std::cerr << "[PUT INFO] Caught exception: " << e.what() << std::endl; - } - //std::cout << "Visualization successful" << std::endl; - - try { - cv::imshow(cv_window_name_, frame); - } - catch (const std::exception& e) { - std::cerr << "[IMSHOW] Caught exception: " << e.what() << std::endl; - } - - char key = (char)cv::waitKey(frame_refresh_rate); - if (key == 27 || key == 'q' || (int)key == -29) { - // TODO clean-up - break; - } - } - // TODO catch Ctrl+C KeyboardInterrupt (?) -} - -void Controller::detect(cv::Mat* img) { - //std::cout << "0 "; - DetectionResult face_detection = face_detector_.detect(*img); - //std::cout << "1 "; - if (face_detection.score > 0) { - last_face_ = system_clock::now(); - color_t color = cv::Scalar(0, 0, 255); - - FaceDetector::visualize(img, face_detection); - bounding_box_t gesture_box = gesture_detector_.get_detection_area(face_detection.box, img->cols, img->rows, 256, 256); - cv::rectangle(*img, gesture_box, color, 2); - - cv::Mat gesture_detection_region = (*img)(gesture_box); - //cv::imshow("Gesture detection area", gesture_detection_area); - - ClassifierOutput classified_gesture = gesture_detector_.detect(gesture_detection_region); - - //std::cout << "3 "; - - if (classified_gesture.score > 0 && classified_gesture.class_id != 18) { - last_gesture_ = system_clock::now(); - stop_device_ = false; - buffer_.add(classified_gesture.class_id); - //std::cout << "4 "; - gesture_detector_.visualize(img, classified_gesture, gesture_box); - //std::cout << "5 " << std::endl; - } - } -} - -void Controller::send_command() { - while (true) { - if (!stop_device_) { - if ((system_clock::now() - last_face_) > FACE_TIMEOUT_ || - (system_clock::now() - last_gesture_) > GESTURE_TIMEOUT_) { - logger_->info("No face or gesture: stopping"); - stop(); - } - else { - velocity_vector_ms_t velocity = { 0, 0, 0, -1 }; - auto command = static_cast(buffer_.get()); - - if (command != NoGesture) { - logger_->info("Received command {}", static_cast(command)); - if (!is_busy_) { - switch (command) - { - case NoGesture: - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case Stop: - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - stop(); - break; - case JogYUp: - velocity[0] = -1*speed_increment_[0]; - velocity[3] = 0; - device_->set_opc_value("::Manual:JogYUp", true, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case JogYDown: - velocity[0] = speed_increment_[0]; - velocity[3] = 0; - device_->set_opc_value("::Manual:JogYDown", true, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case JogXUp: - velocity[2] = speed_increment_[2]; - velocity[3] = 0; - device_->set_opc_value("::Manual:JogXUp", true, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case JogXDown: - velocity[2] = -1*speed_increment_[2]; - velocity[3] = 0; - device_->set_opc_value("::Manual:JogXDown", true, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case JogZUp: - velocity[1] = speed_increment_[1]; - velocity[3] = 0; - device_->set_opc_value("::Manual:JogZUp", true, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case JogZDown: - velocity[1] = -1*speed_increment_[1]; - velocity[3] = 0; - device_->set_opc_value("::Manual:JogZDown", true, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case ToolOn: - device_->land(); - //is_busy_ = true; - break; - case ToolOff: - default: - break; - } - } - - if (velocity[3] != -1 && velocity_ != velocity) { - velocity_ = velocity; - if (!dry_run_) { - device_->send_rc_control(velocity); - } - } - } - } - } - std::this_thread::sleep_for(WAIT_RC_CONTROL_); - } -} - -void Controller::stop() { - device_->set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - device_->set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - velocity_ = { 0, 0, 0, 0 }; - stop_device_ = true; - device_->send_rc_control(velocity_); -} - -void Controller::put_info_on_frame_(cv::Mat* frame, double fps/*, TODO bool verbose*/) { - cv::putText(*frame, "ServoOK: "+std::to_string(servoOk), cv::Point(20, 100), 1, 1, cv::Scalar(0, 0, 0), 2); - //std::lock_guard lock(modeMutex); - cv::putText(*frame, "Mode: " + modeText, cv::Point(20, 120), 1, 1, cv::Scalar(0, 0, 0), 2); - cv::putText(*frame, "PosX: " + std::to_string(RobotPos[0].load()), cv::Point(20, 200), 1, 1, cv::Scalar(0, 0, 0), 2); - cv::putText(*frame, "PosY: " + std::to_string(RobotPos[1].load()), cv::Point(20, 220), 1, 1, cv::Scalar(0, 0, 0), 2); - cv::putText(*frame, "PosZ: " + std::to_string(RobotPos[2].load()), cv::Point(20, 240), 1, 1, cv::Scalar(0, 0, 0), 2); - cv::putText(*frame, std::to_string((int)fps)+" fps", cv::Point(20, 80), 1, 2, cv::Scalar(0, 0, 0), 2); -} - - -void Buffer::add(class_id_t class_id) { - //std::cout << buffer_.size() << " " << class_id << std::endl; - buffer_.at(class_id)++; -} - -class_id_t Buffer::get() { - auto curr_max_count_it = std::max_element(buffer_.begin(), buffer_.end()); - if (curr_max_count_it != buffer_.end() && *curr_max_count_it >= max_count_) { - class_id_t class_id = std::distance(buffer_.begin(), curr_max_count_it); - buffer_.assign(size_, 0); - return class_id; - } - else { - return default_class_id_; - } -} diff --git a/src/core/Commands.h b/src/core/Commands.h new file mode 100644 index 0000000..9de3267 --- /dev/null +++ b/src/core/Commands.h @@ -0,0 +1,16 @@ +#pragma once + +/** + * List of command names for device control. + */ +enum Command { + Idle, + Up, // dislike + Down, // fist + Left, // four + Right, // like + Forth, // ok + Back, // mute + Stop, // palm + NoGesture = 18 +}; \ No newline at end of file diff --git a/src/core/controller.cpp b/src/core/controller.cpp new file mode 100755 index 0000000..839b626 --- /dev/null +++ b/src/core/controller.cpp @@ -0,0 +1,215 @@ +#include "controller.hpp" +#include "Commands.h" + +#include +#include +#include +#include +#include + +using std::atomic; +using std::string; +using std::vector; +using std::chrono::milliseconds; +using std::chrono::system_clock; +using TimePoint = std::chrono::time_point; +using namespace std::chrono_literals; + +const string Controller::cv_window_name_ = "Device camera"; + +void Controller::update_device_stat_() { + std::vector curPos; + while (true) { + servoOk = device_->get_status(); + curPos = device_->get_position(); + modeText = device_->get_mode(); + RobotPos[0].store(curPos[0]); + RobotPos[1].store(curPos[1]); + RobotPos[2].store(curPos[2]); + + std::this_thread::sleep_for(WAIT_DEVICE_STAT_); + } +} + +void Controller::run(interval_ms_t frame_refresh_rate) { + std::thread control_thread(&Controller::send_command, this); + control_thread.detach(); + std::thread stat_thread(&Controller::update_device_stat_, this); + stat_thread.detach(); + + cv::Mat frame; + cv::namedWindow(cv_window_name_); + + unsigned int frame_count = 0; + TimePoint start_time = system_clock::now(); + TimePoint end_time; + double fps = 0; + logger_->info("Starting detection"); + + while (true) { + device_->get_frame(&frame); + if (frame.empty()) { + logger_->info("Skipping empty frame"); + continue; + } + + if (++frame_count >= 10) { + end_time = system_clock::now(); + fps = (double)frame_count / (double)((end_time - start_time) / 1.0s); + start_time = end_time; + frame_count = 0; + } + if (modeText != "AUTO") { + try { + detect(&frame); + } catch (const std::exception &e) { + std::cerr << "[DETECT] Caught exception: " << e.what() << std::endl; + } + } + try { + put_info_on_frame_(&frame, fps); + } catch (const std::exception &e) { + std::cerr << "[PUT INFO] Caught exception: " << e.what() << std::endl; + } + + try { + cv::imshow(cv_window_name_, frame); + } catch (const std::exception &e) { + std::cerr << "[IMSHOW] Caught exception: " << e.what() << std::endl; + } + + char key = (char)cv::waitKey(frame_refresh_rate); + if (key == 27 || key == 'q' || (int)key == -29) { + break; + } + } +} + +void Controller::detect(cv::Mat *img) { + DetectionResult face_detection = face_detector_.detect(*img); + if (face_detection.score > 0) { + last_face_ = system_clock::now(); + color_t color = cv::Scalar(0, 0, 255); + + FaceDetector::visualize(img, face_detection); + bounding_box_t gesture_box = gesture_detector_.get_detection_area( + face_detection.box, img->cols, img->rows, 256, 256); + cv::rectangle(*img, gesture_box, color, 2); + + cv::Mat gesture_detection_region = (*img)(gesture_box); + + ClassifierOutput classified_gesture = + gesture_detector_.detect(gesture_detection_region); + + if (classified_gesture.score > 0 && classified_gesture.class_id != 18) { + last_gesture_ = system_clock::now(); + stop_device_ = false; + buffer_.add(classified_gesture.class_id); + gesture_detector_.visualize(img, classified_gesture, gesture_box); + } + } +} + +void Controller::send_command() { + while (true) { + if (!stop_device_) { + if ((system_clock::now() - last_face_) > FACE_TIMEOUT_ || + (system_clock::now() - last_gesture_) > GESTURE_TIMEOUT_) { + logger_->info("No face or gesture: stopping"); + stop(); + } else { + velocity_vector_ms_t velocity = {0, 0, 0, -1}; + auto command = static_cast(buffer_.get()); + + if (command != NoGesture) { + logger_->info("Received command {}", static_cast(command)); + if (!is_busy_) { + switch (command) { + case Stop: + stop(); + break; + + case Up: + velocity[0] = -1 * speed_increment_[0]; + velocity[3] = 0; + break; + + case Down: + velocity[0] = speed_increment_[0]; + velocity[3] = 0; + break; + + case Left: + velocity[2] = speed_increment_[2]; + velocity[3] = 0; + break; + + case Right: + velocity[2] = -1 * speed_increment_[2]; + velocity[3] = 0; + break; + + case Forth: + velocity[1] = speed_increment_[1]; + velocity[3] = 0; + break; + + case Back: + velocity[1] = -1 * speed_increment_[1]; + velocity[3] = 0; + device_->stop(); + break; + + default: + break; + } + } + + if (velocity[3] != -1 && velocity_ != velocity) { + velocity_ = velocity; + if (!dry_run_) { + device_->send_rc_control(velocity); + } + } + } + } + } + std::this_thread::sleep_for(WAIT_RC_CONTROL_); + } +} + +void Controller::stop() { + + velocity_ = {0, 0, 0, 0}; + stop_device_ = true; + device_->send_rc_control(velocity_); +} + +void Controller::put_info_on_frame_(cv::Mat *frame, + double fps /*, TODO bool verbose*/) { + cv::putText(*frame, "ServoOK: " + std::to_string(servoOk), cv::Point(20, 100), + 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "Mode: " + modeText, cv::Point(20, 120), 1, 1, + cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "PosX: " + std::to_string(RobotPos[0].load()), + cv::Point(20, 200), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "PosY: " + std::to_string(RobotPos[1].load()), + cv::Point(20, 220), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, "PosZ: " + std::to_string(RobotPos[2].load()), + cv::Point(20, 240), 1, 1, cv::Scalar(0, 0, 0), 2); + cv::putText(*frame, std::to_string((int)fps) + " fps", cv::Point(20, 80), 1, + 2, cv::Scalar(0, 0, 0), 2); +} + +void Buffer::add(class_id_t class_id) { buffer_.at(class_id)++; } + +class_id_t Buffer::get() { + auto curr_max_count_it = std::max_element(buffer_.begin(), buffer_.end()); + if (curr_max_count_it != buffer_.end() && *curr_max_count_it >= max_count_) { + class_id_t class_id = std::distance(buffer_.begin(), curr_max_count_it); + buffer_.assign(size_, 0); + return class_id; + } else { + return default_class_id_; + } +} diff --git a/src/core/controller.hpp b/src/core/controller.hpp new file mode 100755 index 0000000..6674d5d --- /dev/null +++ b/src/core/controller.hpp @@ -0,0 +1,151 @@ +/** + * @file controller.hpp + * + * @brief Device controller class and its components. + * + * @author Maks Boiar + * + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "spdlog/sinks/stdout_color_sinks.h" +#include "spdlog/spdlog.h" +#include + +#include "device.hpp" +#include "face_detection.hpp" +#include "gesture_detection.hpp" + +using cv::Mat; +using std::atomic; +using std::string; +using std::vector; +using std::chrono::milliseconds; +using TimePoint = std::chrono::time_point; +using AsyncLogger = std::shared_ptr; + +using interval_ms_t = unsigned long; +using class_id_t = unsigned long; + +class Buffer { + // TODO refactor + vector buffer_; + unsigned int max_count_; + size_t size_; + class_id_t default_class_id_; + +public: + /** + * A constructor. + * @param max_count maximum count for a class_id before buffer is flushed + * @param size_ number of classes + * @param default_class_id to be returned when queried buffer is not full + */ + Buffer(unsigned int max_count, size_t size_, class_id_t default_class_id = 0) + : max_count_(max_count), size_(size_), + default_class_id_(default_class_id) { + buffer_ = vector(size_); + } + void add(class_id_t class_id); + class_id_t get(); + [[nodiscard]] size_t size() const { return buffer_.size(); } + unsigned int operator[](class_id_t class_id) const { + return buffer_[class_id]; + } +}; + +/** + * Device controller based on gesture recognition. + */ +class Controller { + constexpr static size_t buffer_len_ = 2; + constexpr static int speed_increment_[3] = {10, 10, 10}; + constexpr static milliseconds WAIT_RC_CONTROL_ = milliseconds(500); + constexpr static milliseconds WAIT_DEVICE_STAT_ = milliseconds(100); + constexpr static milliseconds FACE_TIMEOUT_ = milliseconds(1000); + constexpr static milliseconds GESTURE_TIMEOUT_ = milliseconds(1000); + + std::unique_ptr device_; + bool dry_run_; + FaceDetector face_detector_; + GestureDetector gesture_detector_; + Buffer buffer_; + atomic servoOk = false; + string modeText = ""; + atomic RobotPos[3] = {0, 0, 0}; + TimePoint last_gesture_ = TimePoint(); + TimePoint last_face_ = TimePoint(); + bool stop_device_ = false; + bool is_busy_ = false; + velocity_vector_ms_t velocity_ = {0, 0, 0, 0}; + static const string cv_window_name_; + AsyncLogger logger_; + string name_; + + /** + * put additional information on the video frame. + * @param frame + * @param fps frames per second speed + */ + void put_info_on_frame_(Mat *frame, double fps /*, bool verbose = true*/); + + /** + * continuously query device's battery status and save value in `battery_stat` + * attribute. + */ + void update_device_stat_(); + + /** + * Send a command from the buffer to the connected device. + */ + void send_command(); + +public: + /** + * A constructor. + * @param device pointer to a `Device` instance to be controlled. + * @param dry_run if true, commands are not being sent to the actual device. + * @param name controller instance name + */ + Controller(std::unique_ptr device, bool dry_run, + const string &face_detector_path, + const string &gesture_detector_path, + const string &name = "CONTROLLER") + : device_(std::move(device)), dry_run_(dry_run), + face_detector_(face_detector_path), + gesture_detector_(gesture_detector_path), buffer_(buffer_len_, 19), + name_(name) { + logger_ = spdlog::get(name_); + if (!logger_) { + logger_ = spdlog::stdout_color_mt(name_); + } + logger_->set_level(spdlog::level::info); + }; + + /** + * run inference on input stream and control device. + * @param frame_refresh_rate indicates how often to refresh application window + * (in ms). + */ + void run(interval_ms_t frame_refresh_rate = 25); + + /** + * Detect gesture in an input image. + * @param image a matrix containing an image where gesture will be detected. + */ + void detect(image_t *image); + + /** + * Stop control and try to land the device. + */ + void stop(); +}; diff --git a/src/core/detection.cpp b/src/core/detection.cpp new file mode 100644 index 0000000..6f121fc --- /dev/null +++ b/src/core/detection.cpp @@ -0,0 +1,58 @@ + +#include "detection.hpp" + +void resize_and_pad(const image_t &src, image_t &dst, cv::Size new_shape, + int pad_color) { + int src_width = src.cols; + int src_height = src.rows; + int new_width = new_shape.width; + int new_height = new_shape.height; + int interpolation_method; + int pad_top, pad_bottom, pad_left, pad_right; + double aspect_ratio = double(src_width) / src_height; + double new_aspect_ratio = double(new_width) / new_height; + if (src_height > new_height || src_width > new_width) { + interpolation_method = cv::INTER_AREA; + } else { + interpolation_method = cv::INTER_CUBIC; + } + if ((new_aspect_ratio >= aspect_ratio) || + ((new_aspect_ratio == 1) && (aspect_ratio <= 1))) { + // new_height = new_height; + new_width = int(new_height * aspect_ratio); + pad_left = int(double(new_shape.width - new_width) / 2); + pad_right = int(double(new_shape.width - new_width) / 2); + pad_top = 0; + pad_bottom = 0; + } else { + new_height = int(new_width / aspect_ratio); + pad_top = int(double(new_shape.height - new_height) / 2); + pad_bottom = int(double(new_shape.height - new_width) / 2); + pad_left = 0; + pad_right = 0; + } + + cv::resize(src, dst, cv::Size(new_width, new_height), 0, 0, + interpolation_method); + + color_t color = cv::Scalar(pad_color, pad_color, pad_color); + cv::copyMakeBorder(dst, dst, pad_top, pad_bottom, pad_left, pad_right, + cv::BORDER_CONSTANT | CV_HAL_BORDER_ISOLATED, color); +} + +void softmax(cv::InputArray inblob, cv::OutputArray outblob) { + const cv::Mat input = inblob.getMat(); + outblob.create(inblob.size(), inblob.type()); + + cv::Mat exp; + const float max = *std::max_element(input.begin(), input.end()); + cv::exp((input - max), exp); + outblob.getMat() = exp / cv::sum(exp)[0]; +} + +void rescale_box(const bounding_box_t &src, bounding_box_t &dst, double scale) { + dst.x = (int)((double)src.x * scale); + dst.y = (int)((double)src.y * scale); + dst.width = (int)((double)src.width * scale); + dst.height = (int)((double)src.height * scale); +} \ No newline at end of file diff --git a/include/detection.h b/src/core/detection.hpp similarity index 57% rename from include/detection.h rename to src/core/detection.hpp index 5490bc3..45f8e85 100755 --- a/include/detection.h +++ b/src/core/detection.hpp @@ -1,13 +1,12 @@ -#ifndef DETECTION_H -#define DETECTION_H +#pragma once #include -#include -#include +#include +#include -#include -#include "spdlog/spdlog.h" #include "spdlog/sinks/stdout_color_sinks.h" +#include "spdlog/spdlog.h" +#include using bounding_box_t = cv::Rect; using score_t = double; @@ -18,13 +17,13 @@ using color_t = cv::Scalar; * Contains bounding box and confidence score for a detection result. */ struct DetectionResult { - bounding_box_t box = cv::Rect(); - score_t score = 0; - DetectionResult(bounding_box_t box, score_t score) : box(box), score(score) {}; - DetectionResult(): box(), score(0) {} + bounding_box_t box = cv::Rect(); + score_t score = 0; + DetectionResult(bounding_box_t box, score_t score) : box(box), score(score){}; + DetectionResult() : box(), score(0) {} }; -void rescale_box(const bounding_box_t& src, bounding_box_t& dst, double scale); +void rescale_box(const bounding_box_t &src, bounding_box_t &dst, double scale); /** * Evaluate softmax function on input array. @@ -34,14 +33,14 @@ void rescale_box(const bounding_box_t& src, bounding_box_t& dst, double scale); void softmax(cv::InputArray inblob, cv::OutputArray outblob); /** - * Resize an OpenCV image up or down keeping the aspect ratio of the original image constant and padding with specified - * color if necessary. See https://stackoverflow.com/a/72955620. + * Resize an OpenCV image up or down keeping the aspect ratio of the original + * image constant and padding with specified color if necessary. See + * https://stackoverflow.com/a/72955620. * * @param src input image * @param dst output image * @param new_shape shape of the image after resizing * @param pad_color color of the padding region -*/ -void resize_and_pad(const image_t& src, image_t& dst, cv::Size new_shape, int pad_color=0); - -#endif // !DETECTION_H + */ +void resize_and_pad(const image_t &src, image_t &dst, cv::Size new_shape, + int pad_color = 0); diff --git a/src/core/device.cpp b/src/core/device.cpp new file mode 100755 index 0000000..4412e22 --- /dev/null +++ b/src/core/device.cpp @@ -0,0 +1,27 @@ +#include "device.hpp" + +using std::string; +using std::vector; + +cv::VideoCapture GenericDevice::get_video_stream(int camera_id) { + + if (simulate_) { + logger_->info("Opening stream {}", camera_id); + // while (true) { + // if (cap.open(camera_id++)) { + // logger_->info("Opened {}", camera_id); + // } + // } + cap = cv::VideoCapture(camera_id, cv::CAP_MSMF); + logger_->info(cap.getBackendName()); + } else { + logger_->info("Opening stream... {}", STREAM_URL_); + cap = cv::VideoCapture(STREAM_URL_, cv::CAP_FFMPEG); + } + if (!cap.isOpened()) { + logger_->error("Unable to get video stream"); + // TODO handle error + } + logger_->info("Done"); + return cap; +} \ No newline at end of file diff --git a/src/core/device.hpp b/src/core/device.hpp new file mode 100755 index 0000000..48d5be3 --- /dev/null +++ b/src/core/device.hpp @@ -0,0 +1,71 @@ +/** + * @file device.h + * + * @brief Generic controllable device interface. + * + * @author Maks Boiar + * + */ + +#pragma once + +#include +#include +#include +#include + +#include "spdlog/sinks/stdout_color_sinks.h" +#include "spdlog/spdlog.h" +#include + +using std::string; +using std::vector; +using AsyncLogger = std::shared_ptr; + +using velocity_vector_ms_t = vector; + +/** + * Abstract controllable device with a camera. + */ +class GenericDevice { +public: + GenericDevice(bool simulate = true) : simulate_(simulate) { + string name("DEVICE"); + logger_ = spdlog::get(name); + if (!logger_) { + logger_ = spdlog::stdout_color_mt(name); + } + } + + void send_rc_control(const velocity_vector_ms_t &velocity); + + virtual void stop(); + + // /** + // * Capture video stream. + // * + // * @param camera_id id of the camera whose stream will be captured + // */ + cv::VideoCapture get_video_stream(int camera_id); + + // /** + // * Connect to a device. + // */ + virtual int connect(const std::string &server_name); + + void get_frame(cv::Mat *frame) { cap >> *frame; } + + virtual bool get_status() const; + + virtual std::string get_mode() const; + + virtual std::vector get_position(); + + ~GenericDevice() = default; + +protected: + AsyncLogger logger_; + bool simulate_; + cv::VideoCapture cap; + std::string STREAM_URL_; +}; diff --git a/src/core/face_detection.cpp b/src/core/face_detection.cpp new file mode 100755 index 0000000..7acce3e --- /dev/null +++ b/src/core/face_detection.cpp @@ -0,0 +1,67 @@ +#include "face_detection.hpp" + +#include +#include + +using cv::dnn::Net; +using std::chrono::system_clock; +using TimePoint = std::chrono::time_point; + +FaceDetector::FaceDetector(const std::string &detector_path) { + string name("DETECTION"); + logger_ = spdlog::get(name); + if (!logger_) { + logger_ = spdlog::stdout_color_mt(name); + } + + detector_ = cv::CascadeClassifier(); + string detector_name = cv::samples::findFileOrKeep(detector_path); + logger_->info("Load face cascade classifier"); + if (!detector_.load(detector_name)) { + logger_->error("Error loading classifier"); + // TODO handle error + } +} + +DetectionResult FaceDetector::detect(const image_t &image) { + auto start = std::chrono::high_resolution_clock::now(); + + vector faces; + image_t gray; + cv::cvtColor(image, gray, cv::COLOR_RGBA2GRAY, 0); + + cv::resize(gray, gray, cv::Size(), 1 / scale_, 1 / scale_, cv::INTER_LINEAR); + cv::equalizeHist(gray, gray); + detector_.detectMultiScale(gray, faces, 1.1, 3, 0); + + if (faces.empty()) { + return {}; + } + bounding_box_t max_face = *std::max_element( + faces.begin(), faces.end(), [](cv::Rect face1, cv::Rect face2) { + return face1.area() < face2.area(); + }); + + // TODO get detection score + score_t score = 0.99; + DetectionResult detection = DetectionResult(max_face, score); + rescale_box(detection.box, detection.box, scale_); + + auto stop = std::chrono::high_resolution_clock::now(); + logger_->debug( + "Detected face: {:03.1f}% at ({} {} {} {}) duration: {}", score * 100, + max_face.x, max_face.y, max_face.x + max_face.width, + max_face.y + max_face.height, + std::chrono::duration_cast(stop - start) + .count()); + + return detection; +} + +void FaceDetector::visualize(image_t *img, const DetectionResult &detection, + const color_t &color) { + cv::rectangle(*img, detection.box, color, 1); + cv::putText(*img, std::to_string((int)(detection.score * 100)) + " %", + cv::Point(detection.box.x, detection.box.y - 20), 0, 0.5, color, + 1); +} diff --git a/src/core/face_detection.hpp b/src/core/face_detection.hpp new file mode 100755 index 0000000..7ab511a --- /dev/null +++ b/src/core/face_detection.hpp @@ -0,0 +1,54 @@ +/** + * @file face_detection.hpp + * + * @brief Face detection implementation. + * + * @author Maks Boiar + * + */ + +#pragma once + +#include "detection.hpp" + +using cv::dnn::Net; +using std::ostream; +using std::string; +using std::vector; +using TimePoint = std::chrono::time_point; +using AsyncLogger = std::shared_ptr; + +/** + * Face detection implementation using OpenCV Cascade Classifier. + */ +class FaceDetector { + cv::CascadeClassifier detector_; + AsyncLogger logger_; + double scale_ = 4; + +public: + /** + * A constructor. + * @param detector_path path to a XML file with cascade classifier weights. + */ + FaceDetector(const string &detector_path); + + /** + * Detect a face with the maximum area in the input image and find its + * bounding box. + * @param image matrix containing an image where face is detected. + * @see visualize() + * @see generate_bounding_box() + * @return a `struct` containing a bounding box and confidence + */ + DetectionResult detect(const image_t &frame); + + /** + * Put detection score and box on the image. + * @param img + * @param detection + * @param color + */ + static void visualize(image_t *frame, const DetectionResult &detection, + const color_t &color = cv::Scalar(0, 0, 0)); +}; diff --git a/src/core/gesture_detection.cpp b/src/core/gesture_detection.cpp new file mode 100755 index 0000000..a607049 --- /dev/null +++ b/src/core/gesture_detection.cpp @@ -0,0 +1,105 @@ +#include "gesture_detection.hpp" +#include + +using cv::dnn::Net; +using std::string; + +std::map gesture_map = { + {1, "JogXUp"}, {2, "JogXDown"}, {3, "JogYUp"}, {4, "JogYDown"}, + {5, "JogZUp"}, {6, "JogZDown"}, {7, "Stop"}, {8, "ToolOn"}, +}; + +GestureDetector::GestureDetector(const string &detector_path) { + string name("DETECTION"); + logger_ = spdlog::get(name); + if (!logger_) { + logger_ = spdlog::stdout_color_mt(name); + } + + detector_ = cv::dnn::readNet(detector_path); +} + +ClassifierOutput GestureDetector::detect(const image_t &img) { + auto start = std::chrono::high_resolution_clock::now(); + + cv::Mat blob = preprocess_image(img); + detector_.setInput(blob); + std::vector outNames = detector_.getUnconnectedOutLayersNames(); + std::vector outs; + detector_.forward(outs, outNames); + for (auto i : outs) { + softmax(i, i); + } + cv::Point classIdPoint_leading_hand; + score_t confidence_leading_hand; + cv::Point classIdPoint_gesture; + score_t confidence_gesture; + + auto stop = std::chrono::high_resolution_clock::now(); + cv::minMaxLoc(outs.at(1).reshape(1, 1), nullptr, &confidence_gesture, nullptr, + &classIdPoint_gesture); + logger_->debug( + "Gesture class: {} conf: {:.2f} duration {}", classIdPoint_gesture.x, + confidence_gesture, + std::chrono::duration_cast(stop - start) + .count()); + cv::minMaxLoc(outs.at(0).reshape(1, 1), nullptr, &confidence_leading_hand, + nullptr, &classIdPoint_leading_hand); + logger_->debug("Leading hand: {} conf: {:.2f}", classIdPoint_leading_hand.x, + confidence_leading_hand); + + ClassifierOutput classified_gesture = + ClassifierOutput(confidence_gesture, classIdPoint_gesture.x); + return classified_gesture; +} + +cv::Mat GestureDetector::preprocess_image(const image_t &img) { + // rescale frame to [0, 1] than resize and pad to [224, 224, 3] + double scale = 1.0 / 255.0; + int inpWidth = 224; + int inpHeight = 224; + image_t resized_img = img; + resize_and_pad(resized_img, resized_img, cv::Size(inpWidth, inpHeight)); + return cv::dnn::blobFromImage(resized_img, scale, + cv::Size(inpWidth, inpHeight), 0, true, false); +} + +void GestureDetector::visualize(image_t *img, + const ClassifierOutput &classified_gesture, + const bounding_box_t &gesture_box, + const color_t &color) { + // draw gesture name + cv::putText(*img, gesture_map[classified_gesture.class_id], + cv::Point(gesture_box.x + 80, gesture_box.y - 20), 0, 0.5, color, + 1); + // draw landmarks + if (!classified_gesture.landmarks.empty()) { + // TODO draw gesture landmarks + } + // draw score + cv::putText(*img, + std::to_string((int)(classified_gesture.score * 100)) + " %", + cv::Point(gesture_box.x, gesture_box.y - 20), 0, 0.5, color, 1); +} + +/** + * Given a face detection box, define an area of the image where gestures will + * be detected.. + * @param box area of the image where face has been detected in (x1, y1, x2, y2) + * format + * @param img_width image width + * @param img_height image height + * @param w new detection area width + * @param h new detection area height + * @return bounding box of an area where gestures will be detected + */ +bounding_box_t +GestureDetector::get_detection_area(const bounding_box_t &face_box, + int img_width, int img_height, int w, + int h) { + int x1 = face_box.x + face_box.width; + int y1 = face_box.y; + int x2 = std::min(x1 + w, img_width); + int y2 = std::min(y1 + h, img_height); + return {cv::Point(x1, y1), cv::Point(x2, y2)}; +} diff --git a/src/core/gesture_detection.hpp b/src/core/gesture_detection.hpp new file mode 100755 index 0000000..632c990 --- /dev/null +++ b/src/core/gesture_detection.hpp @@ -0,0 +1,51 @@ +/** + * @file gesture_detection.hpp + * + * @brief Gesture detection implementation. + * + * @author Maks Boiar + * + */ + +#pragma once + +#include "detection.hpp" +#include + +using AsyncLogger = std::shared_ptr; +using std::string; +using std::vector; +using landmarks_t = std::vector; + +struct ClassifierOutput { + double score = 0; + int class_id = 0; + landmarks_t landmarks; + ClassifierOutput(double score, int class_id) + : score(score), class_id(class_id) {} + ClassifierOutput() : score(0), class_id(0) {} +}; + +/** + * Gesture detection implementation based on a ResNet model. + */ +class GestureDetector { + AsyncLogger logger_; + cv::dnn::Net detector_; + +public: + /** + * A constructor. + * @param detector_path path to a ONNX model. + */ + GestureDetector(const string &detector_path); + static void visualize(image_t *image, + const ClassifierOutput &classified_gesture, + const bounding_box_t &gesture_box, + const color_t &color = cv::Scalar(0, 0, 0)); + ClassifierOutput detect(const cv::Mat &); + static bounding_box_t get_detection_area(const bounding_box_t &face_box, + int img_width, int img_height, int w, + int h); + static cv::Mat preprocess_image(const image_t &img); +}; diff --git a/include/argparse.hpp b/src/dep/argparse.hpp similarity index 100% rename from include/argparse.hpp rename to src/dep/argparse.hpp diff --git a/src/detection.cpp b/src/detection.cpp deleted file mode 100644 index 7796daf..0000000 --- a/src/detection.cpp +++ /dev/null @@ -1,57 +0,0 @@ - -#include "detection.h" - - -void resize_and_pad(const image_t& src, image_t& dst, cv::Size new_shape, int pad_color) { - int src_width = src.cols; - int src_height = src.rows; - int new_width = new_shape.width; - int new_height = new_shape.height; - int interpolation_method; - int pad_top, pad_bottom, pad_left, pad_right; - double aspect_ratio = double(src_width) / src_height; - double new_aspect_ratio = double(new_width) / new_height; - if (src_height > new_height || src_width > new_width){ - interpolation_method = cv::INTER_AREA; - } else { - interpolation_method = cv::INTER_CUBIC; - } - if ( (new_aspect_ratio >= aspect_ratio) || ((new_aspect_ratio == 1) && (aspect_ratio <= 1)) ){ - // new_height = new_height; - new_width = int(new_height * aspect_ratio); - pad_left = int(double(new_shape.width - new_width) / 2); - pad_right = int(double(new_shape.width - new_width) / 2); - pad_top = 0; - pad_bottom = 0; - } - else { - new_height = int(new_width / aspect_ratio); - pad_top = int(double(new_shape.height - new_height) / 2); - pad_bottom = int(double(new_shape.height - new_width) / 2); - pad_left = 0; - pad_right = 0; - } - - cv::resize(src, dst, cv::Size(new_width, new_height), 0, 0, interpolation_method); - - color_t color = cv::Scalar(pad_color, pad_color, pad_color); - cv::copyMakeBorder(dst, dst, pad_top, pad_bottom, pad_left, pad_right, cv::BORDER_CONSTANT | CV_HAL_BORDER_ISOLATED, color); -} - -void softmax(cv::InputArray inblob, cv::OutputArray outblob) -{ - const cv::Mat input = inblob.getMat(); - outblob.create(inblob.size(), inblob.type()); - - cv::Mat exp; - const float max = *std::max_element(input.begin(), input.end()); - cv::exp((input - max), exp); - outblob.getMat() = exp / cv::sum(exp)[0]; -} - -void rescale_box(const bounding_box_t& src, bounding_box_t& dst, double scale){ - dst.x = (int)((double)src.x * scale); - dst.y = (int)((double)src.y * scale); - dst.width = (int)((double)src.width * scale); - dst.height = (int)((double)src.height * scale); -} \ No newline at end of file diff --git a/src/device.cpp b/src/device.cpp deleted file mode 100755 index aba0b34..0000000 --- a/src/device.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "device.h" - -using std::vector; -using std::string; -// -const char Device::STREAM_URL_[] = "udp://0.0.0.0:11111"; - -void Device::send_rc_control(const velocity_vector_ms_t& vel) { - logger_->info("rc {} {} {} {}", vel.at(0), vel.at(1), vel.at(2), vel.at(3)); -} - -void Device::land() { - logger_->info("land"); - // TODO -} - -int Device::get_battery() { - //logger_->info("Battery: {}%", 100); - return 100; // TODO -} - -cv::VideoCapture Device::get_video_stream(int camera_id) { - - if (simulate_) { - logger_->info("Opening stream {}", camera_id); - //while (true) { - // if (cap.open(camera_id++)) { - // logger_->info("Opened {}", camera_id); - // } - //} - cap = cv::VideoCapture(camera_id, cv::CAP_MSMF); - logger_->info(cap.getBackendName()); - } - else { - logger_->info("Opening stream... {}", STREAM_URL_); - cap = cv::VideoCapture(STREAM_URL_, cv::CAP_FFMPEG); - } - if (!cap.isOpened()) { - logger_->error("Unable to get video stream"); - // TODO handle error - } - logger_->info("Done"); - return cap; -} \ No newline at end of file diff --git a/src/face_detection.cpp b/src/face_detection.cpp deleted file mode 100755 index 6fc4ad4..0000000 --- a/src/face_detection.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include "face_detection.h" - -#include -#include - -using cv::dnn::Net; -using std::chrono::system_clock; -using TimePoint = std::chrono::time_point; - - -FaceDetector::FaceDetector(const std::string& detector_path) { - string name("DETECTION"); - logger_ = spdlog::get(name); - if (!logger_) { - logger_ = spdlog::stdout_color_mt(name); - } - //logger_->set_level(spdlog::level::info); - - detector_ = cv::CascadeClassifier(); - string detector_name = cv::samples::findFileOrKeep(detector_path); - logger_->info("Load face cascade classifier"); - if (!detector_.load(detector_name)) { - logger_->error("Error loading classifier"); - // TODO handle error - } -} - - -DetectionResult FaceDetector::detect(const image_t &image) { - auto start = std::chrono::high_resolution_clock::now(); - - vector faces; - image_t gray; - cv::cvtColor(image, gray, cv::COLOR_RGBA2GRAY, 0); - - cv::resize(gray, gray, cv::Size(), 1 / scale_, 1 / scale_, cv::INTER_LINEAR); - cv::equalizeHist(gray, gray); - detector_.detectMultiScale(gray, faces, 1.1, 3, 0); - - if (faces.empty()){ - return {}; - } - bounding_box_t max_face = *std::max_element(faces.begin(), faces.end(), [](cv::Rect face1, cv::Rect face2){return face1.area() < face2.area();}); - - // TODO get detection score - score_t score = 0.99; - DetectionResult detection = DetectionResult(max_face, score); - rescale_box(detection.box, detection.box, scale_); - - auto stop = std::chrono::high_resolution_clock::now(); - logger_->debug("Detected face: {:03.1f}% at ({} {} {} {}) duration: {}", score*100, max_face.x, max_face.y, max_face.x+max_face.width, max_face.y+max_face.height, std::chrono::duration_cast(stop - start).count()); - - return detection; -} - - -void FaceDetector::visualize(image_t* img, const DetectionResult& detection, const color_t& color) { - cv::rectangle(*img, detection.box, color, 1); - cv::putText(*img, std::to_string((int)(detection.score*100))+" %", cv::Point(detection.box.x, detection.box.y - 20), 0, 0.5, color, 1); -} diff --git a/src/gesture_detection.cpp b/src/gesture_detection.cpp deleted file mode 100755 index 2d13bf0..0000000 --- a/src/gesture_detection.cpp +++ /dev/null @@ -1,93 +0,0 @@ -#include "gesture_detection.h" -#include - -using cv::dnn::Net; -using std::string; - -std::map gesture_map = { - { 1, "JogXUp"}, - { 2, "JogXDown"}, - { 3, "JogYUp"}, - { 4, "JogYDown"}, - { 5, "JogZUp"}, - { 6, "JogZDown"}, - { 7, "Stop"}, - { 8, "ToolOn"}, -}; - -GestureDetector::GestureDetector(const string &detector_path) { - string name("DETECTION"); - logger_ = spdlog::get(name); - if (!logger_) { - logger_ = spdlog::stdout_color_mt(name); - } - //logger_->set_level(spdlog::level::debug); - - detector_ = cv::dnn::readNet(detector_path); -} - -ClassifierOutput GestureDetector::detect(const image_t& img) { - auto start = std::chrono::high_resolution_clock::now(); - - cv::Mat blob = preprocess_image(img); - detector_.setInput(blob); - std::vector outNames = detector_.getUnconnectedOutLayersNames(); - std::vector outs; - detector_.forward(outs, outNames); - for (auto i : outs) { - softmax(i, i); - } - cv::Point classIdPoint_leading_hand; - score_t confidence_leading_hand; - cv::Point classIdPoint_gesture; - score_t confidence_gesture; - //for (auto& val : outs) { - // std::cout << val << std::endl; - //} - auto stop = std::chrono::high_resolution_clock::now(); - cv::minMaxLoc(outs.at(1).reshape(1, 1), nullptr, &confidence_gesture, nullptr, &classIdPoint_gesture); - logger_->debug("Gesture class: {} conf: {:.2f} duration {}", classIdPoint_gesture.x, confidence_gesture, std::chrono::duration_cast(stop-start).count()); - cv::minMaxLoc(outs.at(0).reshape(1, 1), nullptr, &confidence_leading_hand, nullptr, &classIdPoint_leading_hand); - logger_->debug("Leading hand: {} conf: {:.2f}", classIdPoint_leading_hand.x, confidence_leading_hand); - - ClassifierOutput classified_gesture = ClassifierOutput(confidence_gesture, classIdPoint_gesture.x); - return classified_gesture; -} - -cv::Mat GestureDetector::preprocess_image(const image_t& img) { - // rescale frame to [0, 1] than resize and pad to [224, 224, 3] - double scale = 1.0 / 255.0; - int inpWidth = 224; - int inpHeight = 224; - image_t resized_img = img; - resize_and_pad(resized_img, resized_img, cv::Size(inpWidth, inpHeight)); - return cv::dnn::blobFromImage(resized_img, scale, cv::Size(inpWidth, inpHeight), 0, true, false); -} - -void GestureDetector::visualize(image_t* img, const ClassifierOutput& classified_gesture, const bounding_box_t& gesture_box, const color_t& color) { - // draw gesture name - cv::putText(*img, gesture_map[classified_gesture.class_id], cv::Point(gesture_box.x + 80, gesture_box.y - 20), 0, 0.5, color, 1); - // draw landmarks - if (!classified_gesture.landmarks.empty()) { - // TODO draw gesture landmarks - } - // draw score - cv::putText(*img, std::to_string((int)(classified_gesture.score * 100)) + " %", cv::Point(gesture_box.x, gesture_box.y - 20), 0, 0.5, color, 1); -} - -/** - * Given a face detection box, define an area of the image where gestures will be detected.. - * @param box area of the image where face has been detected in (x1, y1, x2, y2) format - * @param img_width image width - * @param img_height image height - * @param w new detection area width - * @param h new detection area height - * @return bounding box of an area where gestures will be detected - */ -bounding_box_t GestureDetector::get_detection_area(const bounding_box_t& face_box, int img_width, int img_height, int w, int h) { - int x1 = face_box.x + face_box.width; - int y1 = face_box.y; - int x2 = std::min(x1 + w, img_width); - int y2 = std::min(y1 + h, img_height); - return {cv::Point(x1, y1), cv::Point(x2, y2)}; -} diff --git a/src/interfaces/opc_ua/dev_OPC_UA.cpp b/src/interfaces/opc_ua/dev_OPC_UA.cpp new file mode 100755 index 0000000..d5a8282 --- /dev/null +++ b/src/interfaces/opc_ua/dev_OPC_UA.cpp @@ -0,0 +1,43 @@ +#include "dev_OPC_UA.hpp" + +using std::string; +using std::vector; + +void OPCUA_Device::send_rc_control(const velocity_vector_ms_t &vel) { + logger_->info("rc {} {} {} {}", vel.at(0), vel.at(1), vel.at(2), vel.at(3)); + + if (vel.at(0) < 0) { + set_opc_bool("::Manual:JogYUp", true); + set_opc_bool("::Manual:JogYDown", false); + + } else if (vel.at(0) > 0) { + set_opc_bool("::Manual:JogYUp", false); + set_opc_bool("::Manual:JogYDown", true); + } else { + set_opc_bool("::Manual:JogYUp", false); + set_opc_bool("::Manual:JogYDown", false); + } + + if (vel.at(1) < 0) { + set_opc_bool("::Manual:JogXUp", true); + set_opc_bool("::Manual:JogXDown", false); + + } else if (vel.at(1) > 0) { + set_opc_bool("::Manual:JogXUp", false); + set_opc_bool("::Manual:JogXDown", true); + } else { + set_opc_bool("::Manual:JogYUp", false); + set_opc_bool("::Manual:JogYDown", false); + } + if (vel.at(2) < 0) { + set_opc_bool("::Manual:JogZUp", true); + set_opc_bool("::Manual:JogZDown", false); + + } else if (vel.at(2) > 0) { + set_opc_bool("::Manual:JogZUp", false); + set_opc_bool("::Manual:JogZDown", true); + } else { + set_opc_bool("::Manual:JogZUp", false); + set_opc_bool("::Manual:JogZDown", false); + } +} diff --git a/src/interfaces/opc_ua/dev_OPC_UA.hpp b/src/interfaces/opc_ua/dev_OPC_UA.hpp new file mode 100755 index 0000000..3e49533 --- /dev/null +++ b/src/interfaces/opc_ua/dev_OPC_UA.hpp @@ -0,0 +1,131 @@ +/** + * @file if_opc_ua.h + * + * @brief OPC UA control interface. + * + * @author Maks Boiar + * + */ + +#pragma once + +#include +#include + +#include "core/device.hpp" + +extern "C" { +#include +} + +/** + * OPC UA controllable device with a camera. + */ +class OPCUA_Device : public GenericDevice { + +public: + OPCUA_Device() : GenericDevice() { STREAM_URL_ = "udp://0.0.0.0:11111"; } + + void stop() { + set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogYDown", false, + &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogXDown", false, + &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogZDown", false, + &UA_TYPES[UA_TYPES_BOOLEAN]); + } + + bool get_status() const { + return get_opc_value( + "::AsGlobalPV:gMainInterface.Robot.Status.ServoOK"); + } + + std::string get_mode() const { + UA_String uastr = get_opc_value("::AsGlobalPV:gModeText"); + char *modeTextVal = (char *)malloc(uastr.length + 1); + memcpy(modeTextVal, uastr.data, uastr.length); + modeTextVal[uastr.length] = '\0'; + std::string modeText = modeTextVal; + free(modeTextVal); + return std::string(modeText); + } + + std::vector get_position() { + std::vector RobotPos(3, 0.0); + + RobotPos[0] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.X"); + RobotPos[1] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Y"); + RobotPos[2] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Z"); + + return RobotPos; + } + + template T get_opc_value(const std::string &key) const { + UA_Variant value; + UA_Variant_init(&value); + // logger_->info("Reading {}", key); + auto status = UA_Client_readValueAttribute( + client, UA_NODEID_STRING(6, const_cast(key.c_str())), &value); + // logger_->info("Read {}", key); + if (status == UA_STATUSCODE_GOOD /* && + UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + logger_->debug("Read: {}\n", key); + return *(T *)value.data; + } else { + logger_->error("Unable to read value"); + } + return T{}; + } + + template + void set_opc_value(const std::string &key, T value, const UA_DataType *type) { + UA_Variant valueVar; + UA_Variant_setScalar(&valueVar, &value, type); + auto status = UA_Client_writeValueAttribute( + client, UA_NODEID_STRING(6, const_cast(key.c_str())), + &valueVar); + if (status == UA_STATUSCODE_GOOD /* && + UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + logger_->debug("Written: {}\n", key); + } else { + logger_->error("Unable to read value"); + } + } + + void set_opc_bool(const std::string &key, bool value) { + set_opc_value(key, value, &UA_TYPES[UA_TYPES_BOOLEAN]); + } + + void send_rc_control(const velocity_vector_ms_t &velocity); + + int connect(const std::string &server_name) { + std::string opc_ua_server_name(server_name); // 192.168.137.1 + logger_->info("Connecting to OPC UA server { }", opc_ua_server_name); + + client = UA_Client_new(); + UA_ClientConfig_setDefault(UA_Client_getConfig(client)); + UA_StatusCode retval = + UA_Client_connect(client, opc_ua_server_name.c_str()); + if (retval != UA_STATUSCODE_GOOD) { + logger_->info("Unable to connect"); + UA_Client_delete(client); + return (int)retval; + } + logger_->info("Connected"); + + get_video_stream(0); + + return 0; + }; + + ~OPCUA_Device() { + UA_Client_disconnect(client); + UA_Client_delete(client); + } + +private: + UA_Client *client; +}; diff --git a/src/main.cpp b/src/main.cpp deleted file mode 100755 index a307630..0000000 --- a/src/main.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include "spdlog/spdlog.h" -#include -#include - -#include "controller.h" - -extern "C" { -#include -#include - -} - - -using std::cerr; -using std::cout; -using std::endl; -using std::vector; -using std::string; - - -int main(int argc, char* argv[]) { - - std::cout << "test" << std::endl; - - auto logger_ = spdlog::get("MAIN"); - - if (!logger_) { - logger_ = spdlog::stdout_color_mt("MAIN"); - } - logger_->set_level(spdlog::level::info); - - logger_->info("Parsing input arguments"); - - argparse::ArgumentParser parser("controller"); - parser.add_argument("-v", "--verbose") - .help("Display additional information during execution") - .default_value(false) - .implicit_value(true); - - parser.add_argument("--log-level") - .help("Choose logging level") - .scan<'d', int>() - .default_value(0); - - parser.add_argument("--save-video") - .help("Save video feed to a specified file") - .default_value(string{ "" }); - - parser.add_argument("mode") - .help("Choose operation mode") - .action([](const string& value) { - static const vector choices = { "SIM", "WEBCAM" }; - if (std::find(choices.begin(), choices.end(), value) != choices.end()) { - return value; - } - throw std::invalid_argument("Choose a valid mode option."); - }); - - parser.add_argument("--server-path") - .help("Save video feed to a specified file") - .default_value(string{"127.0.0.1:4840" }); - - parser.add_description("Control a drone with gestures."); - - try { - parser.parse_args(argc, argv); - } - catch (const std::runtime_error& err) { - logger_->error(err.what()); - return EXIT_FAILURE; - } - - - // auto verbose = parser.get("--verbose"); - string mode = parser.get("mode"); - string server_addr = parser.get("--server-path"); - int log_level = parser.get("--log-level"); - string video_filepath = parser.get("--save-video"); - - spdlog::set_level(static_cast(log_level)); - - - logger_->info("Connecting to device"); - std::string opc_ua_server_name = "opc.tcp://" + server_addr; - Device device = Device{}; - if (device.connect(opc_ua_server_name) < 0) { - logger_->info("Program exited with status {}", EXIT_FAILURE); - return EXIT_FAILURE; - } - device.streamon(); - - //std::cout << cv::getBuildInformation() << std::endl; - - std::string gesture_detector_path = "../resources/models/resnet18.onnx"; - std::string face_detector_path = "../resources/models/haarcascade_frontalface_default.xml"; - - Controller controller = Controller(&device, true, face_detector_path, gesture_detector_path); - logger_->info("Running"); - controller.run(50); - - logger_->info("Program exited with status {}", EXIT_SUCCESS); - return EXIT_SUCCESS; -} - \ No newline at end of file diff --git a/src/open62541.c b/src/open62541.c deleted file mode 100644 index bb44f14..0000000 --- a/src/open62541.c +++ /dev/null @@ -1,272925 +0,0 @@ -/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES - * visit http://open62541.org/ for information about this software - * Git-Revision: v1.4.12 - */ - -/* - * Copyright (C) 2014-2021 the contributors as stated in the AUTHORS file - * - * This file is part of open62541. open62541 is free software: you can - * redistribute it and/or modify it under the terms of the Mozilla Public - * License v2.0 as stated in the LICENSE file provided with open62541. - * - * open62541 is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. - */ - -#ifndef UA_DYNAMIC_LINKING_EXPORT -# define UA_DYNAMIC_LINKING_EXPORT -# define MDNSD_DYNAMIC_LINKING -#endif - -#define UA_INLINABLE_IMPL 1 - -/* Disable security warnings for BSD sockets on MSVC */ -#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) -# define _CRT_SECURE_NO_WARNINGS -#endif - -#include "open62541.h" - -/**** amalgamated original file "/arch/win32/ua_architecture.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - */ - -#ifdef UA_ARCHITECTURE_WIN32 - -#ifndef PLUGINS_ARCH_WIN32_UA_ARCHITECTURE_H_ -#define PLUGINS_ARCH_WIN32_UA_ARCHITECTURE_H_ - -/* Disable some security warnings on MSVC */ -#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) -# define _CRT_SECURE_NO_WARNINGS -#endif - - -#include -#include -#include -#include -#include -#include -#include - -#ifndef _SSIZE_T_DEFINED -typedef SSIZE_T ssize_t; -#endif - -#define UA_IPV6 1 -#define UA_SOCKET SOCKET -#define UA_INVALID_SOCKET INVALID_SOCKET -#define UA_ERRNO WSAGetLastError() -#define UA_INTERRUPTED WSAEINTR -#define UA_AGAIN EAGAIN /* the same as wouldblock on nearly every system */ -#define UA_INPROGRESS WSAEINPROGRESS -#define UA_WOULDBLOCK WSAEWOULDBLOCK -#define UA_POLLIN POLLRDNORM -#define UA_POLLOUT POLLWRNORM -#define UA_SHUT_RDWR SD_BOTH - -#define UA_getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) \ - getnameinfo(sa, (socklen_t)salen, host, (DWORD)hostlen, serv, (DWORD)servlen, flags) -#define UA_poll(fds,nfds,timeout) WSAPoll((LPWSAPOLLFD)fds, nfds, timeout) -#define UA_send(sockfd, buf, len, flags) send(sockfd, buf, (int)(len), flags) -#define UA_recv(sockfd, buf, len, flags) recv(sockfd, buf, (int)(len), flags) -#define UA_sendto(sockfd, buf, len, flags, dest_addr, addrlen) \ - sendto(sockfd, (const char*)(buf), (int)(len), flags, dest_addr, (int) (addrlen)) -#define UA_close closesocket -#define UA_select(nfds, readfds, writefds, exceptfds, timeout) \ - select((int)(nfds), readfds, writefds, exceptfds, timeout) -#define UA_connect(sockfd, addr, addrlen) connect(sockfd, addr, (int)(addrlen)) -#define UA_getsockopt(sockfd, level, optname, optval, optlen) \ - getsockopt(sockfd, level, optname, (char*) (optval), optlen) -#define UA_setsockopt(sockfd, level, optname, optval, optlen) \ - setsockopt(sockfd, level, optname, (const char*) (optval), optlen) -#define UA_inet_pton InetPton - -#if UA_IPV6 -# define UA_if_nametoindex if_nametoindex - -# include - -#endif - -#ifdef maxStringLength //defined in mingw64 -# undef maxStringLength -#endif - -#define UA_LOG_SOCKET_ERRNO_WRAP(LOG) { \ - char *errno_str = NULL; \ - FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, \ - NULL, WSAGetLastError(), \ - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), \ - (LPSTR)&errno_str, 0, NULL); \ - LOG; \ - LocalFree(errno_str); \ -} -#define UA_LOG_SOCKET_ERRNO_GAI_WRAP UA_LOG_SOCKET_ERRNO_WRAP - -/* Fix redefinition of SLIST_ENTRY on mingw winnt.h */ -#if !defined(_SYS_QUEUE_H_) && defined(SLIST_ENTRY) -# undef SLIST_ENTRY -#endif - -#endif /* PLUGINS_ARCH_WIN32_UA_ARCHITECTURE_H_ */ - -#endif /* UA_ARCHITECTURE_WIN32 */ - -/**** amalgamated original file "/arch/posix/ua_architecture.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - -#ifdef UA_ARCHITECTURE_POSIX - - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) -# include -# if defined(BSD) -# include -# endif -#endif - -#define UA_IPV6 1 -#define UA_SOCKET int -#define UA_INVALID_SOCKET -1 -#define UA_ERRNO errno -#define UA_INTERRUPTED EINTR -#define UA_AGAIN EAGAIN /* the same as wouldblock on nearly every system */ -#define UA_INPROGRESS EINPROGRESS -#define UA_WOULDBLOCK EWOULDBLOCK -#define UA_POLLIN POLLIN -#define UA_POLLOUT POLLOUT -#define UA_SHUT_RDWR SHUT_RDWR - -#define UA_getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) \ - getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) -#define UA_poll poll -#define UA_send send -#define UA_recv recv -#define UA_sendto sendto -#define UA_close close -#define UA_select select -#define UA_connect connect -#define UA_getsockopt getsockopt -#define UA_setsockopt setsockopt -#define UA_inet_pton inet_pton -#define UA_if_nametoindex if_nametoindex - -#define UA_clean_errno(STR_FUN) (errno == 0 ? (char*) "None" : (STR_FUN)(errno)) - -#define UA_LOG_SOCKET_ERRNO_WRAP(LOG) { \ - char *errno_str = UA_clean_errno(strerror); \ - LOG; \ - errno = 0; \ -} -#define UA_LOG_SOCKET_ERRNO_GAI_WRAP(LOG) { \ - const char *errno_str = UA_clean_errno(gai_strerror); \ - LOG; \ - errno = 0; \ -} - -#if defined(__APPLE__) && defined(_SYS_QUEUE_H_) -// in some compilers there's already a _SYS_QUEUE_H_ which is included first and doesn't -// have all functions - -#undef SLIST_HEAD -#undef SLIST_HEAD_INITIALIZER -#undef SLIST_ENTRY -#undef SLIST_FIRST -#undef SLIST_END -#undef SLIST_EMPTY -#undef SLIST_NEXT -#undef SLIST_FOREACH -#undef SLIST_FOREACH_SAFE -#undef SLIST_INIT -#undef SLIST_INSERT_AFTER -#undef SLIST_INSERT_HEAD -#undef SLIST_REMOVE_AFTER -#undef SLIST_REMOVE_HEAD -#undef SLIST_REMOVE -#undef LIST_HEAD -#undef LIST_HEAD_INITIALIZER -#undef LIST_ENTRY -#undef LIST_FIRST -#undef LIST_END -#undef LIST_EMPTY -#undef LIST_NEXT -#undef LIST_FOREACH -#undef LIST_FOREACH_SAFE -#undef LIST_INIT -#undef LIST_INSERT_AFTER -#undef LIST_INSERT_BEFORE -#undef LIST_INSERT_HEAD -#undef LIST_REMOVE -#undef LIST_REPLACE -#undef SIMPLEQ_HEAD -#undef SIMPLEQ_HEAD_INITIALIZER -#undef SIMPLEQ_ENTRY -#undef SIMPLEQ_FIRST -#undef SIMPLEQ_END -#undef SIMPLEQ_EMPTY -#undef SIMPLEQ_NEXT -#undef SIMPLEQ_FOREACH -#undef SIMPLEQ_FOREACH_SAFE -#undef SIMPLEQ_INIT -#undef SIMPLEQ_INSERT_HEAD -#undef SIMPLEQ_INSERT_TAIL -#undef SIMPLEQ_INSERT_AFTER -#undef SIMPLEQ_REMOVE_HEAD -#undef SIMPLEQ_REMOVE_AFTER -#undef XSIMPLEQ_HEAD -#undef XSIMPLEQ_ENTRY -#undef XSIMPLEQ_XOR -#undef XSIMPLEQ_FIRST -#undef XSIMPLEQ_END -#undef XSIMPLEQ_EMPTY -#undef XSIMPLEQ_NEXT -#undef XSIMPLEQ_FOREACH -#undef XSIMPLEQ_FOREACH_SAFE -#undef XSIMPLEQ_INIT -#undef XSIMPLEQ_INSERT_HEAD -#undef XSIMPLEQ_INSERT_TAIL -#undef XSIMPLEQ_INSERT_AFTER -#undef XSIMPLEQ_REMOVE_HEAD -#undef XSIMPLEQ_REMOVE_AFTER -#undef TAILQ_HEAD -#undef TAILQ_HEAD_INITIALIZER -#undef TAILQ_ENTRY -#undef TAILQ_FIRST -#undef TAILQ_END -#undef TAILQ_NEXT -#undef TAILQ_LAST -#undef TAILQ_PREV -#undef TAILQ_EMPTY -#undef TAILQ_FOREACH -#undef TAILQ_FOREACH_SAFE -#undef TAILQ_FOREACH_REVERSE -#undef TAILQ_FOREACH_REVERSE_SAFE -#undef TAILQ_INIT -#undef TAILQ_INSERT_HEAD -#undef TAILQ_INSERT_TAIL -#undef TAILQ_INSERT_AFTER -#undef TAILQ_INSERT_BEFORE -#undef TAILQ_REMOVE -#undef TAILQ_REPLACE -#undef CIRCLEQ_HEAD -#undef CIRCLEQ_HEAD_INITIALIZER -#undef CIRCLEQ_ENTRY -#undef CIRCLEQ_FIRST -#undef CIRCLEQ_LAST -#undef CIRCLEQ_END -#undef CIRCLEQ_NEXT -#undef CIRCLEQ_PREV -#undef CIRCLEQ_EMPTY -#undef CIRCLEQ_FOREACH -#undef CIRCLEQ_FOREACH_SAFE -#undef CIRCLEQ_FOREACH_REVERSE -#undef CIRCLEQ_FOREACH_REVERSE_SAFE -#undef CIRCLEQ_INIT -#undef CIRCLEQ_INSERT_AFTER -#undef CIRCLEQ_INSERT_BEFORE -#undef CIRCLEQ_INSERT_HEAD -#undef CIRCLEQ_INSERT_TAIL -#undef CIRCLEQ_REMOVE -#undef CIRCLEQ_REPLACE - -#undef _SYS_QUEUE_H_ - -#endif /* defined(__APPLE__) && defined(_SYS_QUEUE_H_) */ - - -#endif /* UA_ARCHITECTURE_POSIX */ - -/**** amalgamated original file "/deps/open62541_queue.h" ****/ - -/* $OpenBSD: queue.h,v 1.38 2013/07/03 15:05:21 fgsch Exp $ */ -/* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */ - -/* - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)queue.h 8.5 (Berkeley) 8/20/94 - */ - - -/* - * This file defines five types of data structures: singly-linked lists, - * lists, simple queues, tail queues, and circular queues. - * - * - * A singly-linked list is headed by a single forward pointer. The elements - * are singly linked for minimum space and pointer manipulation overhead at - * the expense of O(n) removal for arbitrary elements. New elements can be - * added to the list after an existing element or at the head of the list. - * Elements being removed from the head of the list should use the explicit - * macro for this purpose for optimum efficiency. A singly-linked list may - * only be traversed in the forward direction. Singly-linked lists are ideal - * for applications with large datasets and few or no removals or for - * implementing a LIFO queue. - * - * A list is headed by a single forward pointer (or an array of forward - * pointers for a hash table header). The elements are doubly linked - * so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before - * or after an existing element or at the head of the list. A list - * may only be traversed in the forward direction. - * - * A simple queue is headed by a pair of pointers, one the head of the - * list and the other to the tail of the list. The elements are singly - * linked to save space, so elements can only be removed from the - * head of the list. New elements can be added to the list before or after - * an existing element, at the head of the list, or at the end of the - * list. A simple queue may only be traversed in the forward direction. - * - * A tail queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or - * after an existing element, at the head of the list, or at the end of - * the list. A tail queue may be traversed in either direction. - * - * A circle queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or after - * an existing element, at the head of the list, or at the end of the list. - * A circle queue may be traversed in either direction, but has a more - * complex end of list detection. - * - * For details on the use of these macros, see the queue(3) manual page. - */ - -#if defined(QUEUE_MACRO_DEBUG) || (defined(_KERNEL) && defined(DIAGNOSTIC)) -#define _Q_INVALIDATE(a) (a) = ((void *)-1) -#else -#define _Q_INVALIDATE(a) -#endif - -/* - * Singly-linked List definitions. - */ -#define SLIST_HEAD(name, type) \ -struct name { \ - struct type *slh_first; /* first element */ \ -} - -#define SLIST_HEAD_INITIALIZER(head) \ - { NULL } - -#define SLIST_ENTRY(type) \ -struct { \ - struct type *sle_next; /* next element */ \ -} - -/* - * Singly-linked List access methods. - */ -#define SLIST_FIRST(head) ((head)->slh_first) -#define SLIST_END(head) NULL -#define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head)) -#define SLIST_NEXT(elm, field) ((elm)->field.sle_next) - -#define SLIST_FOREACH(var, head, field) \ - for((var) = SLIST_FIRST(head); \ - (var) != SLIST_END(head); \ - (var) = SLIST_NEXT(var, field)) - -#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = SLIST_FIRST(head); \ - (var) && ((tvar) = SLIST_NEXT(var, field), 1); \ - (var) = (tvar)) - -/* - * Singly-linked List functions. - */ -#define SLIST_INIT(head) do { \ - SLIST_FIRST(head) = SLIST_END(head); \ -} while(0) - -#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ - (elm)->field.sle_next = (slistelm)->field.sle_next; \ - (slistelm)->field.sle_next = (elm); \ -} while (0) - -#define SLIST_INSERT_HEAD(head, elm, field) do { \ - (elm)->field.sle_next = (head)->slh_first; \ - (head)->slh_first = (elm); \ -} while (0) - -#define SLIST_REMOVE_AFTER(elm, field) do { \ - (elm)->field.sle_next = (elm)->field.sle_next->field.sle_next; \ -} while (0) - -#define SLIST_REMOVE_HEAD(head, field) do { \ - (head)->slh_first = (head)->slh_first->field.sle_next; \ -} while (0) - -#define SLIST_REMOVE(head, elm, type, field) do { \ - if ((head)->slh_first == (elm)) { \ - SLIST_REMOVE_HEAD((head), field); \ - } else { \ - struct type *curelm = (head)->slh_first; \ - \ - while (curelm->field.sle_next != (elm)) \ - curelm = curelm->field.sle_next; \ - curelm->field.sle_next = \ - curelm->field.sle_next->field.sle_next; \ - _Q_INVALIDATE((elm)->field.sle_next); \ - } \ -} while (0) - -/* - * List definitions. - */ -#define LIST_HEAD(name, type) \ -struct name { \ - struct type *lh_first; /* first element */ \ -} - -#define LIST_HEAD_INITIALIZER(head) \ - { NULL } - -#define LIST_ENTRY(type) \ -struct { \ - struct type *le_next; /* next element */ \ - struct type **le_prev; /* address of previous next element */ \ -} - -/* - * List access methods - */ -#define LIST_FIRST(head) ((head)->lh_first) -#define LIST_END(head) NULL -#define LIST_EMPTY(head) (LIST_FIRST(head) == LIST_END(head)) -#define LIST_NEXT(elm, field) ((elm)->field.le_next) - -#define LIST_FOREACH(var, head, field) \ - for((var) = LIST_FIRST(head); \ - (var)!= LIST_END(head); \ - (var) = LIST_NEXT(var, field)) - -#define LIST_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = LIST_FIRST(head); \ - (var) && ((tvar) = LIST_NEXT(var, field), 1); \ - (var) = (tvar)) - -/* - * List functions. - */ -#define LIST_INIT(head) do { \ - LIST_FIRST(head) = LIST_END(head); \ -} while (0) - -#define LIST_INSERT_AFTER(listelm, elm, field) do { \ - if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ - (listelm)->field.le_next->field.le_prev = \ - &(elm)->field.le_next; \ - (listelm)->field.le_next = (elm); \ - (elm)->field.le_prev = &(listelm)->field.le_next; \ -} while (0) - -#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.le_prev = (listelm)->field.le_prev; \ - (elm)->field.le_next = (listelm); \ - *(listelm)->field.le_prev = (elm); \ - (listelm)->field.le_prev = &(elm)->field.le_next; \ -} while (0) - -#define LIST_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.le_next = (head)->lh_first) != NULL) \ - (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ - (head)->lh_first = (elm); \ - (elm)->field.le_prev = &(head)->lh_first; \ -} while (0) - -#define LIST_REMOVE(elm, field) do { \ - if ((elm)->field.le_next != NULL) \ - (elm)->field.le_next->field.le_prev = \ - (elm)->field.le_prev; \ - *(elm)->field.le_prev = (elm)->field.le_next; \ - _Q_INVALIDATE((elm)->field.le_prev); \ - _Q_INVALIDATE((elm)->field.le_next); \ -} while (0) - -#define LIST_REPLACE(elm, elm2, field) do { \ - if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \ - (elm2)->field.le_next->field.le_prev = \ - &(elm2)->field.le_next; \ - (elm2)->field.le_prev = (elm)->field.le_prev; \ - *(elm2)->field.le_prev = (elm2); \ - _Q_INVALIDATE((elm)->field.le_prev); \ - _Q_INVALIDATE((elm)->field.le_next); \ -} while (0) - -/* - * Simple queue definitions. - */ -#define SIMPLEQ_HEAD(name, type) \ -struct name { \ - struct type *sqh_first; /* first element */ \ - struct type **sqh_last; /* addr of last next element */ \ -} - -#define SIMPLEQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).sqh_first } - -#define SIMPLEQ_ENTRY(type) \ -struct { \ - struct type *sqe_next; /* next element */ \ -} - -/* - * Simple queue access methods. - */ -#define SIMPLEQ_FIRST(head) ((head)->sqh_first) -#define SIMPLEQ_END(head) NULL -#define SIMPLEQ_EMPTY(head) (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head)) -#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) - -#define SIMPLEQ_FOREACH(var, head, field) \ - for((var) = SIMPLEQ_FIRST(head); \ - (var) != SIMPLEQ_END(head); \ - (var) = SIMPLEQ_NEXT(var, field)) - -#define SIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = SIMPLEQ_FIRST(head); \ - (var) && ((tvar) = SIMPLEQ_NEXT(var, field), 1); \ - (var) = (tvar)) - -/* - * Simple queue functions. - */ -#define SIMPLEQ_INIT(head) do { \ - (head)->sqh_first = NULL; \ - (head)->sqh_last = &(head)->sqh_first; \ -} while (0) - -#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ - (head)->sqh_last = &(elm)->field.sqe_next; \ - (head)->sqh_first = (elm); \ -} while (0) - -#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.sqe_next = NULL; \ - *(head)->sqh_last = (elm); \ - (head)->sqh_last = &(elm)->field.sqe_next; \ -} while (0) - -#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ - (head)->sqh_last = &(elm)->field.sqe_next; \ - (listelm)->field.sqe_next = (elm); \ -} while (0) - -#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ - if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ - (head)->sqh_last = &(head)->sqh_first; \ -} while (0) - -#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do { \ - if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \ - == NULL) \ - (head)->sqh_last = &(elm)->field.sqe_next; \ -} while (0) - -/* - * XOR Simple queue definitions. - */ -#define XSIMPLEQ_HEAD(name, type) \ -struct name { \ - struct type *sqx_first; /* first element */ \ - struct type **sqx_last; /* addr of last next element */ \ - unsigned long sqx_cookie; \ -} - -#define XSIMPLEQ_ENTRY(type) \ -struct { \ - struct type *sqx_next; /* next element */ \ -} - -/* - * XOR Simple queue access methods. - */ -#define XSIMPLEQ_XOR(head, ptr) ((__typeof(ptr))((head)->sqx_cookie ^ \ - (unsigned long)(ptr))) -#define XSIMPLEQ_FIRST(head) XSIMPLEQ_XOR(head, ((head)->sqx_first)) -#define XSIMPLEQ_END(head) NULL -#define XSIMPLEQ_EMPTY(head) (XSIMPLEQ_FIRST(head) == XSIMPLEQ_END(head)) -#define XSIMPLEQ_NEXT(head, elm, field) XSIMPLEQ_XOR(head, ((elm)->field.sqx_next)) - - -#define XSIMPLEQ_FOREACH(var, head, field) \ - for ((var) = XSIMPLEQ_FIRST(head); \ - (var) != XSIMPLEQ_END(head); \ - (var) = XSIMPLEQ_NEXT(head, var, field)) - -#define XSIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = XSIMPLEQ_FIRST(head); \ - (var) && ((tvar) = XSIMPLEQ_NEXT(head, var, field), 1); \ - (var) = (tvar)) - -/* - * XOR Simple queue functions. - */ -#define XSIMPLEQ_INIT(head) do { \ - arc4random_buf(&(head)->sqx_cookie, sizeof((head)->sqx_cookie)); \ - (head)->sqx_first = XSIMPLEQ_XOR(head, NULL); \ - (head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \ -} while (0) - -#define XSIMPLEQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.sqx_next = (head)->sqx_first) == \ - XSIMPLEQ_XOR(head, NULL)) \ - (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ - (head)->sqx_first = XSIMPLEQ_XOR(head, (elm)); \ -} while (0) - -#define XSIMPLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.sqx_next = XSIMPLEQ_XOR(head, NULL); \ - *(XSIMPLEQ_XOR(head, (head)->sqx_last)) = XSIMPLEQ_XOR(head, (elm)); \ - (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ -} while (0) - -#define XSIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.sqx_next = (listelm)->field.sqx_next) == \ - XSIMPLEQ_XOR(head, NULL)) \ - (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ - (listelm)->field.sqx_next = XSIMPLEQ_XOR(head, (elm)); \ -} while (0) - -#define XSIMPLEQ_REMOVE_HEAD(head, field) do { \ - if (((head)->sqx_first = XSIMPLEQ_XOR(head, \ - (head)->sqx_first)->field.sqx_next) == XSIMPLEQ_XOR(head, NULL)) \ - (head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \ -} while (0) - -#define XSIMPLEQ_REMOVE_AFTER(head, elm, field) do { \ - if (((elm)->field.sqx_next = XSIMPLEQ_XOR(head, \ - (elm)->field.sqx_next)->field.sqx_next) \ - == XSIMPLEQ_XOR(head, NULL)) \ - (head)->sqx_last = \ - XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ -} while (0) - - -/* - * Tail queue definitions. - */ -#define TAILQ_HEAD(name, type) \ -struct name { \ - struct type *tqh_first; /* first element */ \ - struct type **tqh_last; /* addr of last next element */ \ -} - -#define TAILQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).tqh_first } - -#define TAILQ_ENTRY(type) \ -struct { \ - struct type *tqe_next; /* next element */ \ - struct type **tqe_prev; /* address of previous next element */ \ -} - -/* - * tail queue access methods - */ -#define TAILQ_FIRST(head) ((head)->tqh_first) -#define TAILQ_END(head) NULL -#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) -#define TAILQ_LAST(head, headname) \ - (*(((struct headname *)((head)->tqh_last))->tqh_last)) -/* XXX */ -#define TAILQ_PREV(elm, headname, field) \ - (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) -#define TAILQ_EMPTY(head) \ - (TAILQ_FIRST(head) == TAILQ_END(head)) - -#define TAILQ_FOREACH(var, head, field) \ - for((var) = TAILQ_FIRST(head); \ - (var) != TAILQ_END(head); \ - (var) = TAILQ_NEXT(var, field)) - -#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = TAILQ_FIRST(head); \ - (var) != TAILQ_END(head) && \ - ((tvar) = TAILQ_NEXT(var, field), 1); \ - (var) = (tvar)) - - -#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for((var) = TAILQ_LAST(head, headname); \ - (var) != TAILQ_END(head); \ - (var) = TAILQ_PREV(var, headname, field)) - -#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ - for ((var) = TAILQ_LAST(head, headname); \ - (var) != TAILQ_END(head) && \ - ((tvar) = TAILQ_PREV(var, headname, field), 1); \ - (var) = (tvar)) - -/* - * Tail queue functions. - */ -#define TAILQ_INIT(head) do { \ - (head)->tqh_first = NULL; \ - (head)->tqh_last = &(head)->tqh_first; \ -} while (0) - -#define TAILQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ - (head)->tqh_first->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (head)->tqh_first = (elm); \ - (elm)->field.tqe_prev = &(head)->tqh_first; \ -} while (0) - -#define TAILQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.tqe_next = NULL; \ - (elm)->field.tqe_prev = (head)->tqh_last; \ - *(head)->tqh_last = (elm); \ - (head)->tqh_last = &(elm)->field.tqe_next; \ -} while (0) - -#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ - (elm)->field.tqe_next->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (listelm)->field.tqe_next = (elm); \ - (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ -} while (0) - -#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ - (elm)->field.tqe_next = (listelm); \ - *(listelm)->field.tqe_prev = (elm); \ - (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ -} while (0) - -#define TAILQ_REMOVE(head, elm, field) do { \ - if (((elm)->field.tqe_next) != NULL) \ - (elm)->field.tqe_next->field.tqe_prev = \ - (elm)->field.tqe_prev; \ - else \ - (head)->tqh_last = (elm)->field.tqe_prev; \ - *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ - _Q_INVALIDATE((elm)->field.tqe_prev); \ - _Q_INVALIDATE((elm)->field.tqe_next); \ -} while (0) - -#define TAILQ_REPLACE(head, elm, elm2, field) do { \ - if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL) \ - (elm2)->field.tqe_next->field.tqe_prev = \ - &(elm2)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm2)->field.tqe_next; \ - (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \ - *(elm2)->field.tqe_prev = (elm2); \ - _Q_INVALIDATE((elm)->field.tqe_prev); \ - _Q_INVALIDATE((elm)->field.tqe_next); \ -} while (0) - -/* - * Circular queue definitions. - */ -#define CIRCLEQ_HEAD(name, type) \ -struct name { \ - struct type *cqh_first; /* first element */ \ - struct type *cqh_last; /* last element */ \ -} - -#define CIRCLEQ_HEAD_INITIALIZER(head) \ - { CIRCLEQ_END(&head), CIRCLEQ_END(&head) } - -#define CIRCLEQ_ENTRY(type) \ -struct { \ - struct type *cqe_next; /* next element */ \ - struct type *cqe_prev; /* previous element */ \ -} - -/* - * Circular queue access methods - */ -#define CIRCLEQ_FIRST(head) ((head)->cqh_first) -#define CIRCLEQ_LAST(head) ((head)->cqh_last) -#define CIRCLEQ_END(head) ((void *)(head)) -#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) -#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) -#define CIRCLEQ_EMPTY(head) \ - (CIRCLEQ_FIRST(head) == CIRCLEQ_END(head)) - -#define CIRCLEQ_FOREACH(var, head, field) \ - for((var) = CIRCLEQ_FIRST(head); \ - (var) != CIRCLEQ_END(head); \ - (var) = CIRCLEQ_NEXT(var, field)) - -#define CIRCLEQ_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = CIRCLEQ_FIRST(head); \ - (var) != CIRCLEQ_END(head) && \ - ((tvar) = CIRCLEQ_NEXT(var, field), 1); \ - (var) = (tvar)) - -#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ - for((var) = CIRCLEQ_LAST(head); \ - (var) != CIRCLEQ_END(head); \ - (var) = CIRCLEQ_PREV(var, field)) - -#define CIRCLEQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ - for ((var) = CIRCLEQ_LAST(head, headname); \ - (var) != CIRCLEQ_END(head) && \ - ((tvar) = CIRCLEQ_PREV(var, headname, field), 1); \ - (var) = (tvar)) - -/* - * Circular queue functions. - */ -#define CIRCLEQ_INIT(head) do { \ - (head)->cqh_first = CIRCLEQ_END(head); \ - (head)->cqh_last = CIRCLEQ_END(head); \ -} while (0) - -#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - (elm)->field.cqe_next = (listelm)->field.cqe_next; \ - (elm)->field.cqe_prev = (listelm); \ - if ((listelm)->field.cqe_next == CIRCLEQ_END(head)) \ - (head)->cqh_last = (elm); \ - else \ - (listelm)->field.cqe_next->field.cqe_prev = (elm); \ - (listelm)->field.cqe_next = (elm); \ -} while (0) - -#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ - (elm)->field.cqe_next = (listelm); \ - (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ - if ((listelm)->field.cqe_prev == CIRCLEQ_END(head)) \ - (head)->cqh_first = (elm); \ - else \ - (listelm)->field.cqe_prev->field.cqe_next = (elm); \ - (listelm)->field.cqe_prev = (elm); \ -} while (0) - -#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ - (elm)->field.cqe_next = (head)->cqh_first; \ - (elm)->field.cqe_prev = CIRCLEQ_END(head); \ - if ((head)->cqh_last == CIRCLEQ_END(head)) \ - (head)->cqh_last = (elm); \ - else \ - (head)->cqh_first->field.cqe_prev = (elm); \ - (head)->cqh_first = (elm); \ -} while (0) - -#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.cqe_next = CIRCLEQ_END(head); \ - (elm)->field.cqe_prev = (head)->cqh_last; \ - if ((head)->cqh_first == CIRCLEQ_END(head)) \ - (head)->cqh_first = (elm); \ - else \ - (head)->cqh_last->field.cqe_next = (elm); \ - (head)->cqh_last = (elm); \ -} while (0) - -#define CIRCLEQ_REMOVE(head, elm, field) do { \ - if ((elm)->field.cqe_next == CIRCLEQ_END(head)) \ - (head)->cqh_last = (elm)->field.cqe_prev; \ - else \ - (elm)->field.cqe_next->field.cqe_prev = \ - (elm)->field.cqe_prev; \ - if ((elm)->field.cqe_prev == CIRCLEQ_END(head)) \ - (head)->cqh_first = (elm)->field.cqe_next; \ - else \ - (elm)->field.cqe_prev->field.cqe_next = \ - (elm)->field.cqe_next; \ - _Q_INVALIDATE((elm)->field.cqe_prev); \ - _Q_INVALIDATE((elm)->field.cqe_next); \ -} while (0) - -#define CIRCLEQ_REPLACE(head, elm, elm2, field) do { \ - if (((elm2)->field.cqe_next = (elm)->field.cqe_next) == \ - CIRCLEQ_END(head)) \ - (head)->cqh_last = (elm2); \ - else \ - (elm2)->field.cqe_next->field.cqe_prev = (elm2); \ - if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \ - CIRCLEQ_END(head)) \ - (head)->cqh_first = (elm2); \ - else \ - (elm2)->field.cqe_prev->field.cqe_next = (elm2); \ - _Q_INVALIDATE((elm)->field.cqe_prev); \ - _Q_INVALIDATE((elm)->field.cqe_next); \ -} while (0) - - -/**** amalgamated original file "/deps/pcg_basic.h" ****/ - -/* - * PCG Random Number Generation for C. - * - * Copyright 2014 Melissa O'Neill - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * For additional information about the PCG random number generation scheme, - * including its license and other licensing options, visit - * - * http://www.pcg-random.org - */ - - -#if defined(UNDER_CE) || !defined(_MSC_VER) || _MSC_VER >= 1800 -# include -#else -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct pcg_state_setseq_64 { - uint64_t state; /* RNG state. All values are possible. */ - uint64_t inc; /* Controls which RNG sequence (stream) is selected. Must - * *always* be odd. */ -} pcg32_random_t; - -#define PCG32_INITIALIZER { 0x853c49e6748fea9bULL, 0xda3e39cb94b95bdbULL } - -void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initial_state, uint64_t initseq); -uint32_t pcg32_random_r(pcg32_random_t* rng); - -#ifdef __cplusplus -} -#endif - - -/**** amalgamated original file "/deps/libc_time.h" ****/ - - -struct musl_tm { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - /* int tm_isdst; */ - /* long __tm_gmtoff; */ - /* const char *__tm_zone; */ -}; - -int musl_secs_to_tm(long long t, struct musl_tm *tm); -long long musl_tm_to_secs(const struct musl_tm *tm); - - -/**** amalgamated original file "/deps/base64.h" ****/ - -#ifndef UA_BASE64_H_ -#define UA_BASE64_H_ - - -_UA_BEGIN_DECLS - -#include - -/** - * base64_encode - Base64 encode - * @src: Data to be encoded - * @len: Length of the data to be encoded - * @out_len: Pointer to output length variable - * Returns: Allocated buffer of out_len bytes of encoded data, - * or %NULL on failure. The output is NOT Null-terminated. */ -unsigned char * -UA_base64(const unsigned char *src, size_t len, size_t *out_len); - -/* Requires as input a buffer of length at least 4*((len + 2) / 3). - * Returns the actual size */ -size_t -UA_base64_buf(const unsigned char *src, size_t len, unsigned char *out); - -/** - * base64_decode - Base64 decode - * @src: Data to be decoded - * @len: Length of the data to be decoded - * @out_len: Pointer to output length variable - * Returns: Allocated buffer of out_len bytes of decoded data, - * or %NULL on failure. */ -unsigned char * -UA_unbase64(const unsigned char *src, size_t len, size_t *out_len); - -_UA_END_DECLS - -#endif /* UA_BASE64_H_ */ - -/**** amalgamated original file "/deps/dtoa.h" ****/ - -// Copyright 2013, Andreas Samoljuk -// Copyright 2023, Julius Pfrommer -// -// Boost Software License - Version 1.0 - August 17th, 2003 -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef DTOA_H -#define DTOA_H - -#ifdef __cplusplus -extern "C" { -#endif - -// Prints a double-value as a readable string. The buffer must be at least 24 -// chars wide. Returns the number of printed characters. Does not -// null-terminate. -unsigned dtoa(double d, char* buffer); - -#ifdef __cplusplus -} -#endif - -#endif // DTOA_H - -/**** amalgamated original file "/deps/mp_printf.h" ****/ - -/** - * @author (c) Eyal Rozenberg - * 2021-2023, Haifa, Palestine/Israel - * @author (c) Marco Paland (info@paland.com) - * 2014-2019, PALANDesign Hannover, Germany - * - * @note Others have made smaller contributions to this file: see the - * contributors page at https://github.com/eyalroz/printf/graphs/contributors - * or ask one of the authors. - * - * @brief Small stand-alone implementation of the printf family of functions - * (`(v)printf`, `(v)s(n)printf` etc., geared towards use on embedded systems with - * a very limited resources. - * - * @note the implementations are thread-safe; re-entrant; use no functions from - * the standard library; and do not dynamically allocate any memory. - * - * @license The MIT License (MIT) - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#ifndef MP_PRINTF_H -#define MP_PRINTF_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __GNUC__ -# if ((__GNUC__ == 4 && __GNUC_MINOR__>= 4) || __GNUC__ > 4) -# define ATTR_PRINTF(one_based_format_index, first_arg) \ -__attribute__((format(gnu_printf, (one_based_format_index), (first_arg)))) -# else -# define ATTR_PRINTF(one_based_format_index, first_arg) \ -__attribute__((format(printf, (one_based_format_index), (first_arg)))) -# endif -# define ATTR_VPRINTF(one_based_format_index) ATTR_PRINTF((one_based_format_index), 0) -#else -# define ATTR_PRINTF(one_based_format_index, first_arg) -# define ATTR_VPRINTF(one_based_format_index) -#endif - -/** - * An implementation of the C standard's snprintf/vsnprintf - * - * @param s An array in which to store the formatted string. It must be large - * enough to fit either the entire formatted output, or at least @p n - * characters. Alternatively, it can be NULL, in which case nothing will be - * printed, and only the number of characters which _could_ have been printed is - * tallied and returned. - * @param n The maximum number of characters to write to the array, including a - * terminating null character - * @param format A string specifying the format of the output, with %-marked - * specifiers of how to interpret additional arguments. - * @param arg Additional arguments to the function, one for each specifier in @p - * format - * @return The number of characters that COULD have been written into @p s, not - * counting the terminating null character. A value equal or larger than @p n - * indicates truncation. Only when the returned value is non-negative and less - * than @p n, the null-terminated string has been fully and successfully - * printed. - */ -int mp_snprintf(char* s, size_t count, const char* format, ...) ATTR_PRINTF(3, 4); -int mp_vsnprintf(char* s, size_t count, const char* format, va_list arg) ATTR_VPRINTF(3); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // MP_PRINTF_H - -/**** amalgamated original file "/deps/itoa.h" ****/ - -/* - * Copyright 2017 Techie Delight - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef ITOA_H -#define ITOA_H - -#ifdef __cplusplus -extern "C" { -#endif - - -UA_UInt16 itoaUnsigned(UA_UInt64 value, char* buffer, UA_Byte base); -UA_UInt16 itoaSigned(UA_Int64 value, char* buffer); - -#ifdef __cplusplus -} -#endif - -#endif /* ITOA_H */ - - -/**** amalgamated original file "/deps/ziptree.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018, 2021-2022 (c) Julius Pfrommer - */ - - -#include - -#ifdef _MSC_VER -# define ZIP_INLINE __inline -#else -# define ZIP_INLINE inline -#endif - -#if defined(__GNUC__) || defined(__clang__) -# define ZIP_UNUSED __attribute__((unused)) -#else -# define ZIP_UNUSED -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Reusable zip tree implementation. The style is inspired by the BSD - * sys/queue.h linked list definition. - * - * Zip trees were developed in: Tarjan, R. E., Levy, C. C., and Timmel, S. "Zip - * Trees." arXiv preprint arXiv:1806.06726 (2018). The original definition was - * modified in two ways: - * - * - Multiple elements with the same key can be inserted. These appear adjacent - * in the tree. ZIP_FIND will return the topmost of these elements. - * - The pointer-value of the elements are used as the rank. This simplifies the - * code and is (empirically) faster. - * - * The ZIP_ENTRY definitions are to be contained in the tree entries themselves. - * Use ZIP_FUNCTIONS to define the signature of the zip tree functions. */ - -#define ZIP_HEAD(name, type) \ -struct name { \ - struct type *root; \ -} - -#define ZIP_ENTRY(type) \ -struct { \ - struct type *left; \ - struct type *right; \ -} - -enum ZIP_CMP { - ZIP_CMP_LESS = -1, - ZIP_CMP_EQ = 0, - ZIP_CMP_MORE = 1 -}; - -/* The comparison method "cmp" for a zip tree has the signature. - * Provide this to the ZIP_FUNCTIONS macro. - * - * enum ZIP_CMP cmpMethod(const keytype *a, const keytype *b); - */ -typedef enum ZIP_CMP (*zip_cmp_cb)(const void *key1, const void *key2); - -#define ZIP_INIT(head) do { (head)->root = NULL; } while (0) -#define ZIP_ROOT(head) (head)->root -#define ZIP_LEFT(elm, field) (elm)->field.left -#define ZIP_RIGHT(elm, field) (elm)->field.right -#define ZIP_INSERT(name, head, elm) name##_ZIP_INSERT(head, elm) -#define ZIP_FIND(name, head, key) name##_ZIP_FIND(head, key) -#define ZIP_MIN(name, head) name##_ZIP_MIN(head) -#define ZIP_MAX(name, head) name##_ZIP_MAX(head) - -/* Returns the element if it was found in the tree. Returns NULL otherwise. */ -#define ZIP_REMOVE(name, head, elm) name##_ZIP_REMOVE(head, elm) - -/* Split (_UNZIP) and merge (_ZIP) trees. _UNZIP splits at the key and moves - * elements <= into the left output (right otherwise). */ -#define ZIP_ZIP(name, left, right) name##_ZIP_ZIP(left, right) -#define ZIP_UNZIP(name, head, key, left, right) \ - name##_ZIP_UNZIP(head, key, left, right) - -/* ZIP_ITER uses in-order traversal of the tree (in the order of the keys). The - * memory if a node is not accessed by ZIP_ITER after the callback has been - * executed for it. So a tree can be cleaned by calling free on each node from - * within the iteration callback. - * - * ZIP_ITER returns a void pointer. The first callback to return non-NULL aborts - * the iteration. This pointer is then returned. */ -typedef void * (*zip_iter_cb)(void *context, void *elm); -#define ZIP_ITER(name, head, cb, ctx) name##_ZIP_ITER(head, cb, ctx) - -/* Same as _ITER, but only visits elements with the given key */ -#define ZIP_ITER_KEY(name, head, key, cb, ctx) name##_ZIP_ITER_KEY(head, key, cb, ctx) - -/* Macro to generate typed ziptree methods */ -#define ZIP_FUNCTIONS(name, type, field, keytype, keyfield, cmp) \ - \ -ZIP_UNUSED static ZIP_INLINE void \ -name##_ZIP_INSERT(struct name *head, struct type *el) { \ - __ZIP_INSERT(head, (zip_cmp_cb)cmp, offsetof(struct type, field), \ - offsetof(struct type, keyfield), el); \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE struct type * \ -name##_ZIP_REMOVE(struct name *head, struct type *elm) { \ - return (struct type*) \ - __ZIP_REMOVE(head, (zip_cmp_cb)cmp, \ - offsetof(struct type, field), \ - offsetof(struct type, keyfield), elm); \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE struct type * \ -name##_ZIP_FIND(struct name *head, const keytype *key) { \ - struct type *cur = ZIP_ROOT(head); \ - while(cur) { \ - enum ZIP_CMP eq = cmp(key, &cur->keyfield); \ - if(eq == ZIP_CMP_EQ) \ - break; \ - if(eq == ZIP_CMP_LESS) \ - cur = ZIP_LEFT(cur, field); \ - else \ - cur = ZIP_RIGHT(cur, field); \ - } \ - return cur; \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE struct type * \ -name##_ZIP_MIN(struct name *head) { \ - struct type *cur = ZIP_ROOT(head); \ - if(!cur) \ - return NULL; \ - while(ZIP_LEFT(cur, field)) { \ - cur = ZIP_LEFT(cur, field); \ - } \ - return cur; \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE struct type * \ -name##_ZIP_MAX(struct name *head) { \ - struct type *cur = ZIP_ROOT(head); \ - if(!cur) \ - return NULL; \ - while(ZIP_RIGHT(cur, field)) { \ - cur = ZIP_RIGHT(cur, field); \ - } \ - return cur; \ -} \ - \ -typedef void * (*name##_cb)(void *context, struct type *elm); \ - \ -ZIP_UNUSED static ZIP_INLINE void * \ -name##_ZIP_ITER(struct name *head, name##_cb cb, void *context) { \ - return __ZIP_ITER(offsetof(struct type, field), (zip_iter_cb)cb, \ - context, ZIP_ROOT(head)); \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE void * \ -name##_ZIP_ITER_KEY(struct name *head, const keytype *key, \ - name##_cb cb, void *context) { \ - return __ZIP_ITER_KEY((zip_cmp_cb)cmp, offsetof(struct type, field), \ - offsetof(struct type, keyfield), key, \ - (zip_iter_cb)cb, context, ZIP_ROOT(head)); \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE struct type * \ -name##_ZIP_ZIP(struct type *left, struct type *right) { \ - return (struct type*) \ - __ZIP_ZIP(offsetof(struct type, field), left, right); \ -} \ - \ -ZIP_UNUSED static ZIP_INLINE void \ -name##_ZIP_UNZIP(struct name *head, const keytype *key, \ - struct name *left, struct name *right) { \ - __ZIP_UNZIP((zip_cmp_cb)cmp, offsetof(struct type, field), \ - offsetof(struct type, keyfield), key, \ - head, left, right); \ -} - -/* Internal definitions. Don't use directly. */ - -void -__ZIP_INSERT(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, void *elm); - -void * -__ZIP_REMOVE(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, void *elm); - -void * -__ZIP_ITER(unsigned short fieldoffset, zip_iter_cb cb, - void *context, void *elm); - -void * -__ZIP_ITER_KEY(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *key, - zip_iter_cb cb, void *context, void *elm); - -void * -__ZIP_ZIP(unsigned short fieldoffset, void *left, void *right); - -void -__ZIP_UNZIP(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *key, - void *h, void *l, void *r); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - - -/**** amalgamated original file "/src/ua_types_encoding_binary.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Sten Grüner - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - */ - - - -_UA_BEGIN_DECLS - -typedef UA_StatusCode (*UA_exchangeEncodeBuffer)(void *handle, UA_Byte **bufPos, - const UA_Byte **bufEnd); - -/* Encodes the scalar value described by type in the binary encoding. Encoding - * is thread-safe if thread-local variables are enabled. Encoding is also - * reentrant and can be safely called from signal handlers or interrupts. - * - * @param src The value. Must not be NULL. - * @param type The value type. Must not be NULL. - * @param bufPos Points to a pointer to the current position in the encoding - * buffer. Must not be NULL. The pointer is advanced by the number of - * encoded bytes, or, if the buffer is exchanged, to the position in the - * new buffer. - * @param bufEnd Points to a pointer to the end of the encoding buffer (encoding - * always stops before *buf_end). Must not be NULL. The pointer is - * changed when the buffer is exchanged. - * @param exchangeCallback Called when the end of the buffer is reached. This is - used to send out a message chunk before continuing with the encoding. - Is ignored if NULL. - * @param exchangeHandle Custom data passed into the exchangeCallback. - * @return Returns a statuscode whether encoding succeeded. */ -UA_StatusCode -UA_encodeBinaryInternal(const void *src, const UA_DataType *type, - UA_Byte **bufPos, const UA_Byte **bufEnd, - UA_exchangeEncodeBuffer exchangeCallback, - void *exchangeHandle) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -/* Decodes a scalar value described by type from binary encoding. Decoding - * is thread-safe if thread-local variables are enabled. Decoding is also - * reentrant and can be safely called from signal handlers or interrupts. - * - * @param src The buffer with the binary encoded value. Must not be NULL. - * @param offset The current position in the buffer. Must not be NULL. The value - * is advanced as decoding progresses. - * @param dst The target value. Must not be NULL. The target is assumed to have - * size type->memSize. The value is reset to zero before decoding. If - * decoding fails, members are deleted and the value is reset (zeroed) - * again. - * @param type The value type. Must not be NULL. - * @param customTypesSize The number of non-standard datatypes contained in the - * customTypes array. - * @param customTypes An array of non-standard datatypes (not included in - * UA_TYPES). Can be NULL if customTypesSize is zero. - * @return Returns a statuscode whether decoding succeeded. */ -UA_StatusCode -UA_decodeBinaryInternal(const UA_ByteString *src, size_t *offset, - void *dst, const UA_DataType *type, - const UA_DataTypeArray *customTypes) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -const UA_DataType * -UA_findDataTypeByBinary(const UA_NodeId *typeId); - -_UA_END_DECLS - - -/**** amalgamated original file "/src/ua_util_internal.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2015 (c) LEvertz - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - -#define UA_INTERNAL - - -_UA_BEGIN_DECLS - -/* Macro-Expand for MSVC workarounds */ -#define UA_MACRO_EXPAND(x) x - -/* Try if the type of the value can be adjusted "in situ" to the target type. - * That can be done, for example, to map between int32 and an enum. - * - * This can also "unwrap" a type. For example: string -> array of bytes - * - * If value->data is changed during adjustType, free the pointer afterwards (if - * you did not keep the original variant for _clear). */ -void -adjustType(UA_Variant *value, const UA_DataType *targetType); - -/* Print a NodeId in logs */ -#define UA_LOG_NODEID_INTERNAL(NODEID, LEVEL, LOG) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String nodeIdStr = UA_STRING_NULL; \ - UA_NodeId_print(NODEID, &nodeIdStr); \ - LOG; \ - UA_String_clear(&nodeIdStr); \ - } - -#define UA_LOG_NODEID_TRACE(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, TRACE, LOG) -#define UA_LOG_NODEID_DEBUG(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, DEBUG, LOG) -#define UA_LOG_NODEID_INFO(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, INFO, LOG) -#define UA_LOG_NODEID_WARNING(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, WARNING, LOG) -#define UA_LOG_NODEID_ERROR(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, ERROR, LOG) -#define UA_LOG_NODEID_FATAL(NODEID, LOG) UA_LOG_NODEID_INTERNAL(NODEID, FATAL, LOG) - -/* Short names for integer. These are not exposed on the public API, since many - * user-applications make the same definitions in their headers. */ -typedef UA_Byte u8; -typedef UA_SByte i8; -typedef UA_UInt16 u16; -typedef UA_Int16 i16; -typedef UA_UInt32 u32; -typedef UA_Int32 i32; -typedef UA_UInt64 u64; -typedef UA_Int64 i64; -typedef UA_StatusCode status; - -/** - * Error checking macros - */ - -static UA_INLINE UA_Boolean -isGood(UA_StatusCode code) { - return code == UA_STATUSCODE_GOOD; -} - -static UA_INLINE UA_Boolean -isNonNull(const void *ptr) { - return ptr != NULL; -} - -static UA_INLINE UA_Boolean -isTrue(uint8_t expr) { - return expr; -} - -#define UA_CHECK(A, EVAL_ON_ERROR) \ - do { \ - if(UA_UNLIKELY(!isTrue(A))) { \ - EVAL_ON_ERROR; \ - } \ - } while(0) - -#define UA_CHECK_STATUS(STATUSCODE, EVAL_ON_ERROR) \ - UA_CHECK(isGood(STATUSCODE), EVAL_ON_ERROR) - -#define UA_CHECK_MEM(STATUSCODE, EVAL_ON_ERROR) \ - UA_CHECK(isNonNull(STATUSCODE), EVAL_ON_ERROR) - -#ifdef UA_DEBUG_FILE_LINE_INFO -#define UA_CHECK_LOG_INTERNAL(A, STATUSCODE, EVAL, LOG, LOGGER, CAT, MSG, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK(A, LOG(LOGGER, CAT, "" MSG "%s (%s:%d: StatusCode: %s)", __VA_ARGS__, \ - __FILE__, __LINE__, UA_StatusCode_name(STATUSCODE)); \ - EVAL)) -#else -#define UA_CHECK_LOG_INTERNAL(A, STATUSCODE, EVAL, LOG, LOGGER, CAT, MSG, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK(A, LOG(LOGGER, CAT, "" MSG "%s (StatusCode: %s)", __VA_ARGS__, \ - UA_StatusCode_name(STATUSCODE)); \ - EVAL)) -#endif - -#define UA_CHECK_LOG(A, EVAL, LEVEL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG_INTERNAL(A, UA_STATUSCODE_BAD, EVAL, UA_LOG_##LEVEL, \ - LOGGER, CAT, __VA_ARGS__, "")) - -#define UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, LEVEL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG_INTERNAL(isGood(STATUSCODE), STATUSCODE, \ - EVAL, UA_LOG_##LEVEL, LOGGER, CAT, \ - __VA_ARGS__, "")) - -#define UA_CHECK_MEM_LOG(PTR, EVAL, LEVEL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG_INTERNAL(isNonNull(PTR), UA_STATUSCODE_BADOUTOFMEMORY, \ - EVAL, UA_LOG_##LEVEL, LOGGER, CAT, \ - __VA_ARGS__, "")) - -/** - * Check Macros - * Usage examples: - * - * void *data = malloc(...); - * UA_CHECK(data, return error); - * - * UA_StatusCode rv = some_func(...); - * UA_CHECK_STATUS(rv, return rv); - * - * UA_Logger *logger = &server->config.logger; - * rv = bar_func(...); - * UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SERVER, "msg & args %s", "arg"); - */ -#define UA_CHECK_FATAL(A, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, FATAL, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_ERROR(A, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, ERROR, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_WARN(A, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, WARNING, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_INFO(A, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND(UA_CHECK_LOG(A, EVAL, INFO, LOGGER, CAT, __VA_ARGS__)) - -#define UA_CHECK_STATUS_FATAL(STATUSCODE, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, FATAL, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_STATUS_ERROR(STATUSCODE, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, ERROR, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_STATUS_WARN(STATUSCODE, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, WARNING, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_STATUS_INFO(STATUSCODE, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, INFO, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_STATUS_DEBUG(STATUSCODE, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_STATUS_LOG(STATUSCODE, EVAL, DEBUG, LOGGER, CAT, __VA_ARGS__)) - -#define UA_CHECK_MEM_FATAL(PTR, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_MEM_LOG(PTR, EVAL, FATAL, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_MEM_ERROR(PTR, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_MEM_LOG(PTR, EVAL, ERROR, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_MEM_WARN(PTR, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_MEM_LOG(PTR, EVAL, WARNING, LOGGER, CAT, __VA_ARGS__)) -#define UA_CHECK_MEM_INFO(PTR, EVAL, LOGGER, CAT, ...) \ - UA_MACRO_EXPAND( \ - UA_CHECK_MEM_LOG(PTR, EVAL, INFO, LOGGER, CAT, __VA_ARGS__)) - -/** - * Utility Functions - * ----------------- */ - -#ifdef UA_ENABLE_DISCOVERY_SEMAPHORE -# ifdef UA_ARCHITECTURE_WIN32 -# include -# define UA_fileExists(X) ( _access(X, 0) == 0) -# else -# include -# define UA_fileExists(X) ( access(X, 0) == 0) -# endif -#endif - -void -UA_cleanupDataTypeWithCustom(const UA_DataTypeArray *customTypes); - -/* Get the number of optional fields contained in an structure type */ -size_t UA_EXPORT -getCountOfOptionalFields(const UA_DataType *type); - -/* Dump packet for debugging / fuzzing */ -#ifdef UA_DEBUG_DUMP_PKGS -void UA_EXPORT -UA_dump_hex_pkg(UA_Byte* buffer, size_t bufferLen); -#endif - -/* Get pointer to leaf certificate of a specified valid chain of DER encoded - * certificates */ -UA_ByteString getLeafCertificate(UA_ByteString chain); - -/* Unions that represent any of the supported request or response message */ -typedef union { - UA_RequestHeader requestHeader; - UA_FindServersRequest findServersRequest; - UA_GetEndpointsRequest getEndpointsRequest; -#ifdef UA_ENABLE_DISCOVERY -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_FindServersOnNetworkRequest findServersOnNetworkRequest; -# endif - UA_RegisterServerRequest registerServerRequest; - UA_RegisterServer2Request registerServer2Request; -#endif - UA_OpenSecureChannelRequest openSecureChannelRequest; - UA_CreateSessionRequest createSessionRequest; - UA_ActivateSessionRequest activateSessionRequest; - UA_CloseSessionRequest closeSessionRequest; - UA_AddNodesRequest addNodesRequest; - UA_AddReferencesRequest addReferencesRequest; - UA_DeleteNodesRequest deleteNodesRequest; - UA_DeleteReferencesRequest deleteReferencesRequest; - UA_BrowseRequest browseRequest; - UA_BrowseNextRequest browseNextRequest; - UA_TranslateBrowsePathsToNodeIdsRequest translateBrowsePathsToNodeIdsRequest; - UA_RegisterNodesRequest registerNodesRequest; - UA_UnregisterNodesRequest unregisterNodesRequest; - UA_ReadRequest readRequest; - UA_WriteRequest writeRequest; -#ifdef UA_ENABLE_HISTORIZING - UA_HistoryReadRequest historyReadRequest; - UA_HistoryUpdateRequest historyUpdateRequest; -#endif -#ifdef UA_ENABLE_METHODCALLS - UA_CallRequest callRequest; -#endif -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_CreateMonitoredItemsRequest createMonitoredItemsRequest; - UA_DeleteMonitoredItemsRequest deleteMonitoredItemsRequest; - UA_ModifyMonitoredItemsRequest modifyMonitoredItemsRequest; - UA_SetMonitoringModeRequest setMonitoringModeRequest; - UA_CreateSubscriptionRequest createSubscriptionRequest; - UA_ModifySubscriptionRequest modifySubscriptionRequest; - UA_SetPublishingModeRequest setPublishingModeRequest; - UA_PublishRequest publishRequest; - UA_RepublishRequest republishRequest; - UA_DeleteSubscriptionsRequest deleteSubscriptionsRequest; -#endif -} UA_Request; - -typedef union { - UA_ResponseHeader responseHeader; - UA_FindServersResponse findServersResponse; - UA_GetEndpointsResponse getEndpointsResponse; -#ifdef UA_ENABLE_DISCOVERY -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_FindServersOnNetworkResponse findServersOnNetworkResponse; -# endif - UA_RegisterServerResponse registerServerResponse; - UA_RegisterServer2Response registerServer2Response; -#endif - UA_OpenSecureChannelResponse openSecureChannelResponse; - UA_CreateSessionResponse createSessionResponse; - UA_ActivateSessionResponse activateSessionResponse; - UA_CloseSessionResponse closeSessionResponse; - UA_AddNodesResponse addNodesResponse; - UA_AddReferencesResponse addReferencesResponse; - UA_DeleteNodesResponse deleteNodesResponse; - UA_DeleteReferencesResponse deleteReferencesResponse; - UA_BrowseResponse browseResponse; - UA_BrowseNextResponse browseNextResponse; - UA_TranslateBrowsePathsToNodeIdsResponse translateBrowsePathsToNodeIdsResponse; - UA_RegisterNodesResponse registerNodesResponse; - UA_UnregisterNodesResponse unregisterNodesResponse; - UA_ReadResponse readResponse; - UA_WriteResponse writeResponse; -#ifdef UA_ENABLE_HISTORIZING - UA_HistoryReadResponse historyReadResponse; - UA_HistoryUpdateResponse historyUpdateResponse; -#endif -#ifdef UA_ENABLE_METHODCALLS - UA_CallResponse callResponse; -#endif -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_CreateMonitoredItemsResponse createMonitoredItemsResponse; - UA_DeleteMonitoredItemsResponse deleteMonitoredItemsResponse; - UA_ModifyMonitoredItemsResponse modifyMonitoredItemsResponse; - UA_SetMonitoringModeResponse setMonitoringModeResponse; - UA_CreateSubscriptionResponse createSubscriptionResponse; - UA_ModifySubscriptionResponse modifySubscriptionResponse; - UA_SetPublishingModeResponse setPublishingModeResponse; - UA_PublishResponse publishResponse; - UA_RepublishResponse republishResponse; - UA_DeleteSubscriptionsResponse deleteSubscriptionsResponse; -#endif -} UA_Response; - -/* Do not expose UA_String_equal_ignorecase to public API as it currently only handles - * ASCII strings, and not UTF8! */ -UA_Boolean UA_EXPORT -UA_String_equal_ignorecase(const UA_String *s1, const UA_String *s2); - -/********************/ -/* Encoding Helpers */ -/********************/ - -/* out must be a buffer with at least 36 elements, the length of every guid */ -void UA_Guid_to_hex(const UA_Guid *guid, u8* out, UA_Boolean lower); - -#define UA_ENCODING_HELPERS(TYPE, UPCASE_TYPE) \ - static UA_INLINE size_t \ - UA_##TYPE##_calcSizeBinary(const UA_##TYPE *src) { \ - return UA_calcSizeBinary(src, &UA_TYPES[UA_TYPES_##UPCASE_TYPE]); \ - } \ - static UA_INLINE UA_StatusCode \ - UA_##TYPE##_encodeBinary(const UA_##TYPE *src, UA_Byte **bufPos, const UA_Byte *bufEnd) { \ - return UA_encodeBinaryInternal(src, &UA_TYPES[UA_TYPES_##UPCASE_TYPE], \ - bufPos, &bufEnd, NULL, NULL); \ - } \ - static UA_INLINE UA_StatusCode \ - UA_##TYPE##_decodeBinary(const UA_ByteString *src, size_t *offset, UA_##TYPE *dst) { \ - return UA_decodeBinaryInternal(src, offset, dst, \ - &UA_TYPES[UA_TYPES_##UPCASE_TYPE], NULL); \ - } - -UA_ENCODING_HELPERS(Boolean, BOOLEAN) -UA_ENCODING_HELPERS(SByte, SBYTE) -UA_ENCODING_HELPERS(Byte, BYTE) -UA_ENCODING_HELPERS(Int16, INT16) -UA_ENCODING_HELPERS(UInt16, UINT16) -UA_ENCODING_HELPERS(Int32, INT32) -UA_ENCODING_HELPERS(UInt32, UINT32) -UA_ENCODING_HELPERS(Int64, INT64) -UA_ENCODING_HELPERS(UInt64, UINT64) -UA_ENCODING_HELPERS(Float, FLOAT) -UA_ENCODING_HELPERS(Double, DOUBLE) -UA_ENCODING_HELPERS(String, STRING) -UA_ENCODING_HELPERS(DateTime, DATETIME) -UA_ENCODING_HELPERS(Guid, GUID) -UA_ENCODING_HELPERS(ByteString, BYTESTRING) -UA_ENCODING_HELPERS(XmlElement, XMLELEMENT) -UA_ENCODING_HELPERS(NodeId, NODEID) -UA_ENCODING_HELPERS(ExpandedNodeId, EXPANDEDNODEID) -UA_ENCODING_HELPERS(StatusCode, STATUSCODE) -UA_ENCODING_HELPERS(QualifiedName, QUALIFIEDNAME) -UA_ENCODING_HELPERS(LocalizedText, LOCALIZEDTEXT) -UA_ENCODING_HELPERS(ExtensionObject, EXTENSIONOBJECT) -UA_ENCODING_HELPERS(DataValue, DATAVALUE) -UA_ENCODING_HELPERS(Variant, VARIANT) -UA_ENCODING_HELPERS(DiagnosticInfo, DIAGNOSTICINFO) - -_UA_END_DECLS - - -/**** amalgamated original file "/build/src_generated/open62541/transport_generated.h" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - -/* Must be before the include guards */ -#ifdef UA_ENABLE_AMALGAMATION -#else -#endif - - - -_UA_BEGIN_DECLS - -/** - * Every type is assigned an index in an array containing the type descriptions. - * These descriptions are used during type handling (copying, deletion, - * binary encoding, ...). */ -#define UA_TRANSPORT_COUNT 9 -extern UA_EXPORT UA_DataType UA_TRANSPORT[UA_TRANSPORT_COUNT]; - -/* MessageType: Message Type and whether the message contains an intermediate chunk */ -typedef enum { - UA_MESSAGETYPE_ACK = 0x4B4341, - UA_MESSAGETYPE_HEL = 0x4C4548, - UA_MESSAGETYPE_MSG = 0x47534D, - UA_MESSAGETYPE_OPN = 0x4E504F, - UA_MESSAGETYPE_CLO = 0x4F4C43, - UA_MESSAGETYPE_ERR = 0x525245, - UA_MESSAGETYPE_RHE = 0x454852, - UA_MESSAGETYPE_INVALID = 0x0, - __UA_MESSAGETYPE_FORCE32BIT = 0x7fffffff -} UA_MessageType; - -UA_STATIC_ASSERT(sizeof(UA_MessageType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TRANSPORT_MESSAGETYPE 0 - -/* ChunkType: Type of the chunk */ -typedef enum { - UA_CHUNKTYPE_FINAL = 0x46000000, - UA_CHUNKTYPE_INTERMEDIATE = 0x43000000, - UA_CHUNKTYPE_ABORT = 0x41000000, - __UA_CHUNKTYPE_FORCE32BIT = 0x7fffffff -} UA_ChunkType; - -UA_STATIC_ASSERT(sizeof(UA_ChunkType) == sizeof(UA_Int32), enum_must_be_32bit); - -#define UA_TRANSPORT_CHUNKTYPE 1 - -/* TcpMessageHeader: TCP Header */ -typedef struct { - UA_UInt32 messageTypeAndChunkType; - UA_UInt32 messageSize; -} UA_TcpMessageHeader; - -#define UA_TRANSPORT_TCPMESSAGEHEADER 2 - -/* TcpHelloMessage: Hello Message */ -typedef struct { - UA_UInt32 protocolVersion; - UA_UInt32 receiveBufferSize; - UA_UInt32 sendBufferSize; - UA_UInt32 maxMessageSize; - UA_UInt32 maxChunkCount; - UA_String endpointUrl; -} UA_TcpHelloMessage; - -#define UA_TRANSPORT_TCPHELLOMESSAGE 3 - -/* TcpReverseHelloMessage */ -typedef struct { - UA_String serverUri; - UA_String endpointUrl; -} UA_TcpReverseHelloMessage; - -#define UA_TRANSPORT_TCPREVERSEHELLOMESSAGE 4 - -/* TcpAcknowledgeMessage: Acknowledge Message */ -typedef struct { - UA_UInt32 protocolVersion; - UA_UInt32 receiveBufferSize; - UA_UInt32 sendBufferSize; - UA_UInt32 maxMessageSize; - UA_UInt32 maxChunkCount; -} UA_TcpAcknowledgeMessage; - -#define UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE 5 - -/* TcpErrorMessage: Error Message */ -typedef struct { - UA_UInt32 error; - UA_String reason; -} UA_TcpErrorMessage; - -#define UA_TRANSPORT_TCPERRORMESSAGE 6 - -/* AsymmetricAlgorithmSecurityHeader: Asymmetric Security Header */ -typedef struct { - UA_ByteString securityPolicyUri; - UA_ByteString senderCertificate; - UA_ByteString receiverCertificateThumbprint; -} UA_AsymmetricAlgorithmSecurityHeader; - -#define UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER 7 - -/* SequenceHeader: Secure Layer Sequence Header */ -typedef struct { - UA_UInt32 sequenceNumber; - UA_UInt32 requestId; -} UA_SequenceHeader; - -#define UA_TRANSPORT_SEQUENCEHEADER 8 - - -_UA_END_DECLS - - -/**** amalgamated original file "/build/src_generated/open62541/transport_generated_handling.h" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - - - -_UA_BEGIN_DECLS - -#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wmissing-field-initializers" -# pragma GCC diagnostic ignored "-Wmissing-braces" -#endif - - -/* MessageType */ -static UA_INLINE void -UA_MessageType_init(UA_MessageType *p) { - memset(p, 0, sizeof(UA_MessageType)); -} - -static UA_INLINE UA_MessageType * -UA_MessageType_new(void) { - return (UA_MessageType*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); -} - -static UA_INLINE UA_StatusCode -UA_MessageType_copy(const UA_MessageType *src, UA_MessageType *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_MessageType_deleteMembers(UA_MessageType *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); -} - -static UA_INLINE void -UA_MessageType_clear(UA_MessageType *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); -} - -static UA_INLINE void -UA_MessageType_delete(UA_MessageType *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]); -}static UA_INLINE UA_Boolean -UA_MessageType_equal(const UA_MessageType *p1, const UA_MessageType *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_MESSAGETYPE]) == UA_ORDER_EQ); -} - - - -/* ChunkType */ -static UA_INLINE void -UA_ChunkType_init(UA_ChunkType *p) { - memset(p, 0, sizeof(UA_ChunkType)); -} - -static UA_INLINE UA_ChunkType * -UA_ChunkType_new(void) { - return (UA_ChunkType*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); -} - -static UA_INLINE UA_StatusCode -UA_ChunkType_copy(const UA_ChunkType *src, UA_ChunkType *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_ChunkType_deleteMembers(UA_ChunkType *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); -} - -static UA_INLINE void -UA_ChunkType_clear(UA_ChunkType *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); -} - -static UA_INLINE void -UA_ChunkType_delete(UA_ChunkType *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]); -}static UA_INLINE UA_Boolean -UA_ChunkType_equal(const UA_ChunkType *p1, const UA_ChunkType *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_CHUNKTYPE]) == UA_ORDER_EQ); -} - - - -/* TcpMessageHeader */ -static UA_INLINE void -UA_TcpMessageHeader_init(UA_TcpMessageHeader *p) { - memset(p, 0, sizeof(UA_TcpMessageHeader)); -} - -static UA_INLINE UA_TcpMessageHeader * -UA_TcpMessageHeader_new(void) { - return (UA_TcpMessageHeader*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); -} - -static UA_INLINE UA_StatusCode -UA_TcpMessageHeader_copy(const UA_TcpMessageHeader *src, UA_TcpMessageHeader *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TcpMessageHeader_deleteMembers(UA_TcpMessageHeader *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); -} - -static UA_INLINE void -UA_TcpMessageHeader_clear(UA_TcpMessageHeader *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); -} - -static UA_INLINE void -UA_TcpMessageHeader_delete(UA_TcpMessageHeader *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]); -}static UA_INLINE UA_Boolean -UA_TcpMessageHeader_equal(const UA_TcpMessageHeader *p1, const UA_TcpMessageHeader *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER]) == UA_ORDER_EQ); -} - - - -/* TcpHelloMessage */ -static UA_INLINE void -UA_TcpHelloMessage_init(UA_TcpHelloMessage *p) { - memset(p, 0, sizeof(UA_TcpHelloMessage)); -} - -static UA_INLINE UA_TcpHelloMessage * -UA_TcpHelloMessage_new(void) { - return (UA_TcpHelloMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); -} - -static UA_INLINE UA_StatusCode -UA_TcpHelloMessage_copy(const UA_TcpHelloMessage *src, UA_TcpHelloMessage *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TcpHelloMessage_deleteMembers(UA_TcpHelloMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); -} - -static UA_INLINE void -UA_TcpHelloMessage_clear(UA_TcpHelloMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); -} - -static UA_INLINE void -UA_TcpHelloMessage_delete(UA_TcpHelloMessage *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]); -}static UA_INLINE UA_Boolean -UA_TcpHelloMessage_equal(const UA_TcpHelloMessage *p1, const UA_TcpHelloMessage *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE]) == UA_ORDER_EQ); -} - - - -/* TcpReverseHelloMessage */ -static UA_INLINE void -UA_TcpReverseHelloMessage_init(UA_TcpReverseHelloMessage *p) { - memset(p, 0, sizeof(UA_TcpReverseHelloMessage)); -} - -static UA_INLINE UA_TcpReverseHelloMessage * -UA_TcpReverseHelloMessage_new(void) { - return (UA_TcpReverseHelloMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); -} - -static UA_INLINE UA_StatusCode -UA_TcpReverseHelloMessage_copy(const UA_TcpReverseHelloMessage *src, UA_TcpReverseHelloMessage *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TcpReverseHelloMessage_deleteMembers(UA_TcpReverseHelloMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); -} - -static UA_INLINE void -UA_TcpReverseHelloMessage_clear(UA_TcpReverseHelloMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); -} - -static UA_INLINE void -UA_TcpReverseHelloMessage_delete(UA_TcpReverseHelloMessage *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]); -}static UA_INLINE UA_Boolean -UA_TcpReverseHelloMessage_equal(const UA_TcpReverseHelloMessage *p1, const UA_TcpReverseHelloMessage *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE]) == UA_ORDER_EQ); -} - - - -/* TcpAcknowledgeMessage */ -static UA_INLINE void -UA_TcpAcknowledgeMessage_init(UA_TcpAcknowledgeMessage *p) { - memset(p, 0, sizeof(UA_TcpAcknowledgeMessage)); -} - -static UA_INLINE UA_TcpAcknowledgeMessage * -UA_TcpAcknowledgeMessage_new(void) { - return (UA_TcpAcknowledgeMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); -} - -static UA_INLINE UA_StatusCode -UA_TcpAcknowledgeMessage_copy(const UA_TcpAcknowledgeMessage *src, UA_TcpAcknowledgeMessage *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TcpAcknowledgeMessage_deleteMembers(UA_TcpAcknowledgeMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); -} - -static UA_INLINE void -UA_TcpAcknowledgeMessage_clear(UA_TcpAcknowledgeMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); -} - -static UA_INLINE void -UA_TcpAcknowledgeMessage_delete(UA_TcpAcknowledgeMessage *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]); -}static UA_INLINE UA_Boolean -UA_TcpAcknowledgeMessage_equal(const UA_TcpAcknowledgeMessage *p1, const UA_TcpAcknowledgeMessage *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE]) == UA_ORDER_EQ); -} - - - -/* TcpErrorMessage */ -static UA_INLINE void -UA_TcpErrorMessage_init(UA_TcpErrorMessage *p) { - memset(p, 0, sizeof(UA_TcpErrorMessage)); -} - -static UA_INLINE UA_TcpErrorMessage * -UA_TcpErrorMessage_new(void) { - return (UA_TcpErrorMessage*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); -} - -static UA_INLINE UA_StatusCode -UA_TcpErrorMessage_copy(const UA_TcpErrorMessage *src, UA_TcpErrorMessage *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); -} - -UA_DEPRECATED static UA_INLINE void -UA_TcpErrorMessage_deleteMembers(UA_TcpErrorMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); -} - -static UA_INLINE void -UA_TcpErrorMessage_clear(UA_TcpErrorMessage *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); -} - -static UA_INLINE void -UA_TcpErrorMessage_delete(UA_TcpErrorMessage *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]); -}static UA_INLINE UA_Boolean -UA_TcpErrorMessage_equal(const UA_TcpErrorMessage *p1, const UA_TcpErrorMessage *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE]) == UA_ORDER_EQ); -} - - - -/* AsymmetricAlgorithmSecurityHeader */ -static UA_INLINE void -UA_AsymmetricAlgorithmSecurityHeader_init(UA_AsymmetricAlgorithmSecurityHeader *p) { - memset(p, 0, sizeof(UA_AsymmetricAlgorithmSecurityHeader)); -} - -static UA_INLINE UA_AsymmetricAlgorithmSecurityHeader * -UA_AsymmetricAlgorithmSecurityHeader_new(void) { - return (UA_AsymmetricAlgorithmSecurityHeader*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); -} - -static UA_INLINE UA_StatusCode -UA_AsymmetricAlgorithmSecurityHeader_copy(const UA_AsymmetricAlgorithmSecurityHeader *src, UA_AsymmetricAlgorithmSecurityHeader *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_AsymmetricAlgorithmSecurityHeader_deleteMembers(UA_AsymmetricAlgorithmSecurityHeader *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); -} - -static UA_INLINE void -UA_AsymmetricAlgorithmSecurityHeader_clear(UA_AsymmetricAlgorithmSecurityHeader *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); -} - -static UA_INLINE void -UA_AsymmetricAlgorithmSecurityHeader_delete(UA_AsymmetricAlgorithmSecurityHeader *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]); -}static UA_INLINE UA_Boolean -UA_AsymmetricAlgorithmSecurityHeader_equal(const UA_AsymmetricAlgorithmSecurityHeader *p1, const UA_AsymmetricAlgorithmSecurityHeader *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER]) == UA_ORDER_EQ); -} - - - -/* SequenceHeader */ -static UA_INLINE void -UA_SequenceHeader_init(UA_SequenceHeader *p) { - memset(p, 0, sizeof(UA_SequenceHeader)); -} - -static UA_INLINE UA_SequenceHeader * -UA_SequenceHeader_new(void) { - return (UA_SequenceHeader*)UA_new(&UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); -} - -static UA_INLINE UA_StatusCode -UA_SequenceHeader_copy(const UA_SequenceHeader *src, UA_SequenceHeader *dst) { - return UA_copy(src, dst, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); -} - -UA_DEPRECATED static UA_INLINE void -UA_SequenceHeader_deleteMembers(UA_SequenceHeader *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); -} - -static UA_INLINE void -UA_SequenceHeader_clear(UA_SequenceHeader *p) { - UA_clear(p, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); -} - -static UA_INLINE void -UA_SequenceHeader_delete(UA_SequenceHeader *p) { - UA_delete(p, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]); -}static UA_INLINE UA_Boolean -UA_SequenceHeader_equal(const UA_SequenceHeader *p1, const UA_SequenceHeader *p2) { - return (UA_order(p1, p2, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER]) == UA_ORDER_EQ); -} - - - -#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 -# pragma GCC diagnostic pop -#endif - -_UA_END_DECLS - - -/**** amalgamated original file "/src/ua_securechannel.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Florian Palm - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - */ - - - - -_UA_BEGIN_DECLS - -struct UA_SecureChannel; -typedef struct UA_SecureChannel UA_SecureChannel; - -/* The message header of the OPC UA binary protocol is structured as follows: - * - * - MessageType (3 Byte) - * - IsFinal (1 Byte) - * - MessageSize (4 Byte) - * *** UA_SECURECHANNEL_MESSAGEHEADER_LENGTH *** - * - SecureChannelId (4 Byte) - * *** UA_SECURECHANNEL_CHANNELHEADER_LENGTH *** - * - SecurityHeader (4 Byte TokenId for symmetric, otherwise dynamic length) - * - SequenceHeader (8 Byte) - * - SequenceNumber - * - RequestId - */ - -#define UA_SECURECHANNEL_MESSAGEHEADER_LENGTH 8 -#define UA_SECURECHANNEL_CHANNELHEADER_LENGTH 12 -#define UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH 4 -#define UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH 8 -#define UA_SECURECHANNEL_SYMMETRIC_HEADER_UNENCRYPTEDLENGTH \ - (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + \ - UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH) -#define UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH \ - (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + \ - UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH + \ - UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH) - -/* Minimum length of a valid message (ERR message with an empty reason) */ -#define UA_SECURECHANNEL_MESSAGE_MIN_LENGTH 16 - -/* The Session implementation differs between client and server. Still, it is - * expected that the Session structure begins with the SessionHeader. This is - * the interface that will be used by the SecureChannel. The lifecycle of - * Sessions is independent of the underlying SecureChannel. But every Session - * can be attached to only one SecureChannel. */ -typedef struct UA_SessionHeader { - SLIST_ENTRY(UA_SessionHeader) next; - UA_NodeId authenticationToken; - UA_Boolean serverSession; /* Disambiguate client and server session */ - UA_SecureChannel *channel; /* The pointer back to the SecureChannel in the session. */ -} UA_SessionHeader; - -/* For chunked requests */ -typedef struct UA_Chunk { - TAILQ_ENTRY(UA_Chunk) pointers; - UA_ByteString bytes; - UA_MessageType messageType; - UA_ChunkType chunkType; - UA_UInt32 requestId; - UA_Boolean copied; /* Do the bytes point to a buffer from the network or was - * memory allocated for the chunk separately */ -} UA_Chunk; - -typedef TAILQ_HEAD(UA_ChunkQueue, UA_Chunk) UA_ChunkQueue; - -typedef enum { - UA_SECURECHANNELRENEWSTATE_NORMAL, - - /* Client has sent an OPN, but not received a response so far. */ - UA_SECURECHANNELRENEWSTATE_SENT, - - /* The server waits for the first request with the new token for the rollover. - * The new token is stored in the altSecurityToken. The configured local and - * remote symmetric encryption keys are the old ones. */ - UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER, - - /* The client already uses the new token. But he waits for the server to respond - * with the new token to complete the rollover. The old token is stored in - * altSecurityToken. The local symmetric encryption key is new. The remote - * encryption key is the old one. */ - UA_SECURECHANNELRENEWSTATE_NEWTOKEN_CLIENT -} UA_SecureChannelRenewState; - -struct UA_SecureChannel { - UA_SecureChannelState state; - UA_SecureChannelRenewState renewState; - UA_MessageSecurityMode securityMode; - UA_ShutdownReason shutdownReason; - UA_ConnectionConfig config; - - UA_String endpointUrl; - - /* Connection handling in the EventLoop */ - UA_ConnectionManager *connectionManager; - uintptr_t connectionId; - - /* Rules for revolving the token with a renew OPN request: The client is - * allowed to accept messages with the old token until the OPN response has - * arrived. The server accepts the old token until one message secured with - * the new token has arrived. - * - * We recognize whether nextSecurityToken contains a valid next token if the - * ChannelId is not 0. */ - UA_ChannelSecurityToken securityToken; /* Also contains the channelId */ - UA_ChannelSecurityToken altSecurityToken; /* Alternative token for the rollover. - * See the renewState. */ - - /* The endpoint and context of the channel */ - UA_SecurityPolicy *securityPolicy; - void *channelContext; /* For interaction with the security policy */ - - /* Asymmetric encryption info */ - UA_ByteString remoteCertificate; - UA_Byte remoteCertificateThumbprint[20]; /* The thumbprint of the remote certificate */ - - /* Symmetric encryption nonces. These are used to generate the key material - * and must not be reused once the keys are in place. - * - * Nonces are also used during the CreateSession / ActivateSession - * handshake. These are not handled here, as the Session handling can - * overlap with a RenewSecureChannel. */ - UA_ByteString remoteNonce; - UA_ByteString localNonce; - - UA_UInt32 receiveSequenceNumber; - UA_UInt32 sendSequenceNumber; - - /* Sessions that are bound to the SecureChannel */ - SLIST_HEAD(, UA_SessionHeader) sessions; - - /* (Decrypted) chunks waiting to be processed */ - UA_ChunkQueue chunks; - size_t chunksCount; - size_t chunksLength; - - /* Received buffer from which no chunks have been extracted so far */ - UA_ByteString unprocessed; - size_t unprocessedOffset; - UA_Boolean unprocessedCopied; - UA_DelayedCallback unprocessedDelayed; - - UA_CertificateVerification *certificateVerification; - void *processOPNHeaderApplication; - UA_StatusCode (*processOPNHeader)(void *application, UA_SecureChannel *channel, - const UA_AsymmetricAlgorithmSecurityHeader *asymHeader); -}; - -void UA_SecureChannel_init(UA_SecureChannel *channel); - -/* Trigger the shutdown */ -void UA_SecureChannel_shutdown(UA_SecureChannel *channel, - UA_ShutdownReason shutdownReason); - -/* Eventual cleanup after the channel has closed. It is possible to call _init - * on the channel afterwards to reset it to the fresh status. */ -void UA_SecureChannel_clear(UA_SecureChannel *channel); - -/* Process the remote configuration in the HEL/ACK handshake. The connection - * config is initialized with the local settings. */ -UA_StatusCode -UA_SecureChannel_processHELACK(UA_SecureChannel *channel, - const UA_TcpAcknowledgeMessage *remoteConfig); - -UA_StatusCode -UA_SecureChannel_setSecurityPolicy(UA_SecureChannel *channel, - UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate); - -UA_Boolean -UA_SecureChannel_isConnected(UA_SecureChannel *channel); - -/* When a fatal error occurs the Server shall send an Error Message to the - * Client and close the socket. When a Client encounters one of these errors, it - * shall also close the socket but does not send an Error Message. After the - * socket is closed a Client shall try to reconnect automatically using the - * mechanisms described in [...]. */ -void -UA_SecureChannel_sendError(UA_SecureChannel *channel, UA_TcpErrorMessage *error); - -/* Remove (partially) received unprocessed chunks */ -void -UA_SecureChannel_deleteBuffered(UA_SecureChannel *channel); - -/* Wrapper function for generating a local nonce for the supplied channel. Uses - * the random generator of the channels security policy to allocate and generate - * a nonce with the specified length. */ -UA_StatusCode -UA_SecureChannel_generateLocalNonce(UA_SecureChannel *channel); - -UA_StatusCode -UA_SecureChannel_generateLocalKeys(const UA_SecureChannel *channel); - -UA_StatusCode -generateRemoteKeys(const UA_SecureChannel *channel); - -/** - * Sending Messages - * ---------------- */ - -UA_StatusCode -UA_SecureChannel_sendAsymmetricOPNMessage(UA_SecureChannel *channel, UA_UInt32 requestId, - const void *content, const UA_DataType *contentType); - -UA_StatusCode -UA_SecureChannel_sendSymmetricMessage(UA_SecureChannel *channel, UA_UInt32 requestId, - UA_MessageType messageType, void *payload, - const UA_DataType *payloadType); - -/* The MessageContext is forwarded into the encoding layer so that we can send - * chunks before continuing to encode. This lets us reuse a fixed chunk-sized - * messages buffer. */ -typedef struct { - UA_SecureChannel *channel; - UA_UInt32 requestId; - UA_UInt32 messageType; - - UA_UInt16 chunksSoFar; - size_t messageSizeSoFar; - - UA_ByteString messageBuffer; - UA_Byte *buf_pos; - const UA_Byte *buf_end; - - UA_Boolean final; -} UA_MessageContext; - -/* Start the context of a new symmetric message. */ -UA_StatusCode -UA_MessageContext_begin(UA_MessageContext *mc, UA_SecureChannel *channel, - UA_UInt32 requestId, UA_MessageType messageType); - -/* Encode the content and send out full chunks. If the return code is good, then - * the ChunkInfo contains encoded content that has not been sent. If the return - * code is bad, then the ChunkInfo has been cleaned up internally. */ -UA_StatusCode -UA_MessageContext_encode(UA_MessageContext *mc, const void *content, - const UA_DataType *contentType); - -/* Sends a symmetric message already encoded in the context. The context is - * cleaned up, also in case of errors. */ -UA_StatusCode -UA_MessageContext_finish(UA_MessageContext *mc); - -/* To be used when a failure occures when a MessageContext is open. Note that - * the _encode and _finish methods will clean up internally. _abort can be run - * on a MessageContext that has already been cleaned up before. */ -void -UA_MessageContext_abort(UA_MessageContext *mc); - -/** - * Receive Message - * --------------- */ - -/* Process a received buffer. This always has these three steps: - * - * 1. loadBuffer: The chunks in the SecureChannel are cut into chunks. - * The chunks can still point to the buffer. - * 2. getCompleteMessage: Assemble chunks into a complete message. This is - * repeated until an error occours or an empty message is returned. - * 3. persistBuffer: Make a copy of the remaining unpprocessed bytestring. So - * that the NetworkManager can reuse or free the packet memory. - * - * Note that only MSG and CLO messages are decrypted. HEL/ACK/OPN/... are - * forwarded verbatim to the application. */ -UA_StatusCode -UA_SecureChannel_loadBuffer(UA_SecureChannel *channel, const UA_ByteString buffer); - -UA_StatusCode -UA_SecureChannel_getCompleteMessage(UA_SecureChannel *channel, - UA_MessageType *messageType, UA_UInt32 *requestId, - UA_ByteString *payload, UA_Boolean *copied); - -UA_StatusCode -UA_SecureChannel_persistBuffer(UA_SecureChannel *channel); - -/* Internal methods in ua_securechannel_crypto.h */ - -void -hideBytesAsym(const UA_SecureChannel *channel, UA_Byte **buf_start, - const UA_Byte **buf_end); - -/* Decrypt and verify via the signature. The chunk buffer is reused to hold the - * decrypted data after the MessageHeader and SecurityHeader. The chunk length - * is reduced by the signature, padding and encryption overhead. - * - * The offset argument points to the start of the encrypted content (beginning - * with the SequenceHeader).*/ -UA_StatusCode -decryptAndVerifyChunk(const UA_SecureChannel *channel, - const UA_SecurityPolicyCryptoModule *cryptoModule, - UA_MessageType messageType, UA_ByteString *chunk, - size_t offset); - -size_t -calculateAsymAlgSecurityHeaderLength(const UA_SecureChannel *channel); - -UA_StatusCode -prependHeadersAsym(UA_SecureChannel *const channel, UA_Byte *header_pos, - const UA_Byte *buf_end, size_t totalLength, - size_t securityHeaderLength, UA_UInt32 requestId, - size_t *const finalLength); - -void -setBufPos(UA_MessageContext *mc); - -UA_StatusCode -checkSymHeader(UA_SecureChannel *channel, const UA_UInt32 tokenId); - -UA_StatusCode -checkAsymHeader(UA_SecureChannel *channel, - const UA_AsymmetricAlgorithmSecurityHeader *asymHeader); - -void -padChunk(UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cm, - const UA_Byte *start, UA_Byte **pos); - -UA_StatusCode -signAndEncryptAsym(UA_SecureChannel *channel, size_t preSignLength, - UA_ByteString *buf, size_t securityHeaderLength, - size_t totalLength); - -UA_StatusCode -signAndEncryptSym(UA_MessageContext *messageContext, - size_t preSigLength, size_t totalLength); - -/** - * Log Helper - * ---------- - * C99 requires at least one element for the variadic argument. If the log - * statement has no variable arguments, supply an additional NULL. It will be - * ignored by printf. - * - * We have to jump through some hoops to enable the use of format strings - * without arguments since (pedantic) C99 does not allow variadic macros with - * zero arguments. So we add a dummy argument that is not printed (%.0s is - * string of length zero). */ - -#define UA_LOG_CHANNEL_INTERNAL(LOGGER, LEVEL, CHANNEL, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_SECURECHANNEL, \ - "TCP %lu\t| SC %" PRIu32 "\t| " MSG "%.0s", \ - (long unsigned)(CHANNEL)->connectionId, \ - (CHANNEL)->securityToken.channelId, __VA_ARGS__); \ - } - -#define UA_LOG_TRACE_CHANNEL(LOGGER, CHANNEL, ...) \ - UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, TRACE, CHANNEL, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_CHANNEL(LOGGER, CHANNEL, ...) \ - UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, DEBUG, CHANNEL, __VA_ARGS__, "")) -#define UA_LOG_INFO_CHANNEL(LOGGER, CHANNEL, ...) \ - UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, INFO, CHANNEL, __VA_ARGS__, "")) -#define UA_LOG_WARNING_CHANNEL(LOGGER, CHANNEL, ...) \ - UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, WARNING, CHANNEL, __VA_ARGS__, "")) -#define UA_LOG_ERROR_CHANNEL(LOGGER, CHANNEL, ...) \ - UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, ERROR, CHANNEL, __VA_ARGS__, "")) -#define UA_LOG_FATAL_CHANNEL(LOGGER, CHANNEL, ...) \ - UA_MACRO_EXPAND(UA_LOG_CHANNEL_INTERNAL(LOGGER, FATAL, CHANNEL, __VA_ARGS__, "")) - -_UA_END_DECLS - - -/**** amalgamated original file "/src/server/ua_session.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - - - -_UA_BEGIN_DECLS - -#define UA_MAXCONTINUATIONPOINTS 5 - -struct ContinuationPoint; -typedef struct ContinuationPoint ContinuationPoint; - -/* Returns the next entry in the linked list */ -ContinuationPoint * -ContinuationPoint_clear(ContinuationPoint *cp); - -struct UA_Subscription; -typedef struct UA_Subscription UA_Subscription; - -#ifdef UA_ENABLE_SUBSCRIPTIONS -typedef struct UA_PublishResponseEntry { - SIMPLEQ_ENTRY(UA_PublishResponseEntry) listEntry; - UA_UInt32 requestId; - UA_DateTime maxTime; /* Based on the TimeoutHint of the request */ - UA_PublishResponse response; -} UA_PublishResponseEntry; -#endif - -typedef struct { - UA_SessionHeader header; - UA_ApplicationDescription clientDescription; - UA_String sessionName; - UA_Boolean activated; - void *sessionHandle; /* pointer assigned in userland-callback */ - UA_NodeId sessionId; - UA_String clientUserIdOfSession; - UA_UInt32 maxRequestMessageSize; - UA_UInt32 maxResponseMessageSize; - UA_Double timeout; /* in ms */ - UA_DateTime validTill; - UA_ByteString serverNonce; - - UA_UInt16 availableContinuationPoints; - ContinuationPoint *continuationPoints; - - UA_KeyValueMap *attributes; - - /* Localization information */ - size_t localeIdsSize; - UA_String *localeIds; - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* The queue is ordered according to the priority byte (higher bytes come - * first). When a late subscription finally publishes, then it is pushed to - * the back within the sub-set of subscriptions that has the same priority - * (round-robin scheduling). */ - size_t subscriptionsSize; - TAILQ_HEAD(, UA_Subscription) subscriptions; - - size_t responseQueueSize; - SIMPLEQ_HEAD(, UA_PublishResponseEntry) responseQueue; - - size_t totalRetransmissionQueueSize; /* Retransmissions of all subscriptions */ -#endif - -#ifdef UA_ENABLE_DIAGNOSTICS - UA_SessionSecurityDiagnosticsDataType securityDiagnostics; - UA_SessionDiagnosticsDataType diagnostics; -#endif -} UA_Session; - -/** - * Session Lifecycle - * ----------------- */ - -void UA_Session_init(UA_Session *session); -void UA_Session_clear(UA_Session *session, UA_Server *server); -void UA_Session_attachToSecureChannel(UA_Session *session, UA_SecureChannel *channel); -void UA_Session_detachFromSecureChannel(UA_Session *session); -UA_StatusCode UA_Session_generateNonce(UA_Session *session); - -/* If any activity on a session happens, the timeout is extended */ -void UA_Session_updateLifetime(UA_Session *session); - -/** - * Subscription handling - * --------------------- */ - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -void -UA_Session_attachSubscription(UA_Session *session, UA_Subscription *sub); - -/* If releasePublishResponses is true and the last subscription is removed, all - * outstanding PublishResponse are sent with a StatusCode. But we don't do that - * if a Subscription is only detached for modification. */ -void -UA_Session_detachSubscription(UA_Server *server, UA_Session *session, - UA_Subscription *sub, UA_Boolean releasePublishResponses); - -UA_Subscription * -UA_Session_getSubscriptionById(UA_Session *session, - UA_UInt32 subscriptionId); - - -void -UA_Session_queuePublishReq(UA_Session *session, - UA_PublishResponseEntry* entry, - UA_Boolean head); - -UA_PublishResponseEntry * -UA_Session_dequeuePublishReq(UA_Session *session); - -#endif - -/** - * Log Helper - * ---------- - * We have to jump through some hoops to enable the use of format strings - * without arguments since (pedantic) C99 does not allow variadic macros with - * zero arguments. So we add a dummy argument that is not printed (%.0s is - * string of length zero). */ - -#define UA_LOG_SESSION_INTERNAL(LOGGER, LEVEL, SESSION, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - int nameLen = (SESSION) ? (int)(SESSION)->sessionName.length : 0; \ - const char *nameStr = (SESSION) ? \ - (const char*)(SESSION)->sessionName.data : ""; \ - unsigned long sockId = ((SESSION) && (SESSION)->header.channel) ? \ - (unsigned long)(SESSION)->header.channel->connectionId : 0; \ - UA_UInt32 chanId = ((SESSION) && (SESSION)->header.channel) ? \ - (SESSION)->header.channel->securityToken.channelId : 0; \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_SESSION, \ - "TCP %lu\t| SC %" PRIu32 "\t| Session \"%.*s\"\t| " MSG "%.0s", \ - sockId, chanId, nameLen, nameStr, __VA_ARGS__); \ - } - -#define UA_LOG_TRACE_SESSION(LOGGER, SESSION, ...) \ - UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, TRACE, SESSION, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_SESSION(LOGGER, SESSION, ...) \ - UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, DEBUG, SESSION, __VA_ARGS__, "")) -#define UA_LOG_INFO_SESSION(LOGGER, SESSION, ...) \ - UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, INFO, SESSION, __VA_ARGS__, "")) -#define UA_LOG_WARNING_SESSION(LOGGER, SESSION, ...) \ - UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, WARNING, SESSION, __VA_ARGS__, "")) -#define UA_LOG_ERROR_SESSION(LOGGER, SESSION, ...) \ - UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, ERROR, SESSION, __VA_ARGS__, "")) -#define UA_LOG_FATAL_SESSION(LOGGER, SESSION, ...) \ - UA_MACRO_EXPAND(UA_LOG_SESSION_INTERNAL(LOGGER, FATAL, SESSION, __VA_ARGS__, "")) - -_UA_END_DECLS - - -/**** amalgamated original file "/src/server/ua_subscription.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2018, 2021-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Florian Palm - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Mattias Bornhager - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -/* MonitoredItems create Notifications. Subscriptions collect Notifications from - * (several) MonitoredItems and publish them to the client. - * - * Notifications are put into two queues at the same time. One for the - * MonitoredItem that generated the notification. Here we can remove it if the - * space reserved for the MonitoredItem runs full. The second queue is the - * "global" queue for all Notifications generated in a Subscription. For - * publication, the notifications are taken out of the "global" queue in the - * order of their creation. */ - -/*****************/ -/* Notifications */ -/*****************/ - -/* Set to the TAILQ_NEXT pointer of a notification, the sentinel that the - * notification was not added to the global queue */ -#define UA_SUBSCRIPTION_QUEUE_SENTINEL ((UA_Notification*)0x01) - -typedef struct UA_Notification { - TAILQ_ENTRY(UA_Notification) localEntry; /* Notification list for the MonitoredItem */ - TAILQ_ENTRY(UA_Notification) globalEntry; /* Notification list for the Subscription */ - UA_MonitoredItem *mon; /* Always set */ - - /* The event field is used if mon->attributeId is the EventNotifier */ - union { - UA_MonitoredItemNotification dataChange; -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - UA_EventFieldList event; -#endif - } data; - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - UA_Boolean isOverflowEvent; /* Counted manually */ -#endif -} UA_Notification; - -/* Initializes and sets the sentinel pointers */ -UA_Notification * UA_Notification_new(void); - -/* Notifications are always added to the queue of the MonitoredItem. That queue - * can overflow. If Notifications are reported, they are also added to the - * global queue of the Subscription. There they are picked up by the publishing - * callback. - * - * There are two ways Notifications can be put into the global queue of the - * Subscription: They are added because the MonitoringMode of the MonitoredItem - * is "reporting". Or the MonitoringMode is "sampling" and a link is trigered - * that puts the last Notification into the global queue. */ -void UA_Notification_enqueueAndTrigger(UA_Server *server, - UA_Notification *n); - -/* Dequeue and delete the notification */ -void UA_Notification_delete(UA_Notification *n); - -/* A NotificationMessage contains an array of notifications. - * Sent NotificationMessages are stored for the republish service. */ -typedef struct UA_NotificationMessageEntry { - TAILQ_ENTRY(UA_NotificationMessageEntry) listEntry; - UA_NotificationMessage message; -} UA_NotificationMessageEntry; - -/* Queue Definitions */ -typedef TAILQ_HEAD(NotificationQueue, UA_Notification) NotificationQueue; -typedef TAILQ_HEAD(NotificationMessageQueue, UA_NotificationMessageEntry) - NotificationMessageQueue; - -/*****************/ -/* MonitoredItem */ -/*****************/ - -/* The type of sampling for MonitoredItems depends on the sampling interval. - * - * >0: Cyclic callback - * =0: Attached to the node. Sampling is triggered after every "write". - * <0: Attached to the subscription. Triggered just before every "publish". */ -typedef enum { - UA_MONITOREDITEMSAMPLINGTYPE_NONE = 0, - UA_MONITOREDITEMSAMPLINGTYPE_CYCLIC, /* Cyclic callback */ - UA_MONITOREDITEMSAMPLINGTYPE_EVENT, /* Attached to the node. Can be a "write - * event" for DataChange MonitoredItems - * with a zero sampling interval .*/ - UA_MONITOREDITEMSAMPLINGTYPE_PUBLISH /* Attached to the subscription */ -} UA_MonitoredItemSamplingType; - -struct UA_MonitoredItem { - UA_DelayedCallback delayedFreePointers; - LIST_ENTRY(UA_MonitoredItem) listEntry; /* Linked list in the Subscription */ - UA_Subscription *subscription; /* If NULL, then this is a Local MonitoredItem */ - UA_UInt32 monitoredItemId; - - /* Status and Settings */ - UA_ReadValueId itemToMonitor; - UA_MonitoringMode monitoringMode; - UA_TimestampsToReturn timestampsToReturn; - UA_Boolean registered; /* Registered in the server / Subscription */ - UA_DateTime triggeredUntil; /* If the MonitoringMode is SAMPLING, - * triggering the MonitoredItem puts the latest - * Notification into the publishing queue (of - * the Subscription). In addition, the first - * new sample is also published (and not just - * sampled) if it occurs within the duration of - * one publishing cycle after the triggering. */ - - /* If the filter is a UA_DataChangeFilter: The DataChangeFilter always - * contains an absolute deadband definition. Part 8, §6.2 gives the - * following formula to test for percentage deadbands: - * - * DataChange if (absolute value of (last cached value - current value) - * > (deadbandValue/100.0) * ((high–low) of EURange))) - * - * So we can convert from a percentage to an absolute deadband and keep - * the hot code path simple. - * - * TODO: Store the percentage deadband to recompute when the UARange is - * changed at runtime of the MonitoredItem */ - UA_MonitoringParameters parameters; - - /* Sampling */ - UA_MonitoredItemSamplingType samplingType; - union { - UA_UInt64 callbackId; - UA_MonitoredItem *nodeListNext; /* Event-Based: Attached to Node */ - LIST_ENTRY(UA_MonitoredItem) subscriptionSampling; /* Linked to publish - * interval */ - } sampling; - UA_DataValue lastValue; - - /* Triggering Links */ - size_t triggeringLinksSize; - UA_UInt32 *triggeringLinks; - - /* Notification Queue */ - NotificationQueue queue; - size_t queueSize; /* This is the current size. See also the configured - * (maximum) queueSize in the parameters. */ - size_t eventOverflows; /* Separate counter for the queue. Can at most double - * the queue size */ -}; - -void UA_MonitoredItem_init(UA_MonitoredItem *mon); -void UA_MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *mon); -void UA_MonitoredItem_removeOverflowInfoBits(UA_MonitoredItem *mon); -void UA_MonitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon); -void UA_Server_registerMonitoredItem(UA_Server *server, UA_MonitoredItem *mon); - -/* Register sampling. Either by adding a repeated callback or by adding the - * MonitoredItem to a linked list in the node. */ -UA_StatusCode -UA_MonitoredItem_registerSampling(UA_Server *server, UA_MonitoredItem *mon); - -void -UA_MonitoredItem_unregisterSampling(UA_Server *server, UA_MonitoredItem *mon); - -UA_StatusCode -UA_MonitoredItem_setMonitoringMode(UA_Server *server, UA_MonitoredItem *mon, - UA_MonitoringMode monitoringMode); - - -/* Do not use the value after calling this. It will be moved to mon or freed. */ -void -UA_MonitoredItem_processSampledValue(UA_Server *server, UA_MonitoredItem *mon, - UA_DataValue *value); - -UA_StatusCode -UA_MonitoredItem_removeLink(UA_Subscription *sub, UA_MonitoredItem *mon, - UA_UInt32 linkId); - -UA_StatusCode -UA_MonitoredItem_addLink(UA_Subscription *sub, UA_MonitoredItem *mon, - UA_UInt32 linkId); - -UA_StatusCode -UA_MonitoredItem_createDataChangeNotification(UA_Server *server, UA_MonitoredItem *mon, - const UA_DataValue *value); - -/* Remove entries until mon->maxQueueSize is reached. Sets infobits for lost - * data if required. */ -void UA_MonitoredItem_ensureQueueSpace(UA_Server *server, UA_MonitoredItem *mon); - -/****************/ -/* Subscription */ -/****************/ - -/* We use only a subset of the states defined in the standard */ -typedef enum { - UA_SUBSCRIPTIONSTATE_STOPPED = 0, - UA_SUBSCRIPTIONSTATE_REMOVING, - UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH, /* only keepalive */ - UA_SUBSCRIPTIONSTATE_ENABLED -} UA_SubscriptionState; - -/* Subscriptions are managed in a server-wide linked list. If they are attached - * to a Session, then they are additionaly in the per-Session linked-list. A - * subscription is always generated for a Session. But the CloseSession Service - * may keep Subscriptions intact beyond the Session lifetime. They can then be - * re-bound to a new Session with the TransferSubscription Service. */ -struct UA_Subscription { - UA_DelayedCallback delayedFreePointers; - LIST_ENTRY(UA_Subscription) serverListEntry; - /* Ordered according to the priority byte and round-robin scheduling for - * late subscriptions. See ua_session.h. Only set if session != NULL. */ - TAILQ_ENTRY(UA_Subscription) sessionListEntry; - UA_Session *session; /* May be NULL if no session is attached. */ - UA_UInt32 subscriptionId; - - /* Settings */ - UA_UInt32 lifeTimeCount; - UA_UInt32 maxKeepAliveCount; - UA_Double publishingInterval; /* in ms */ - UA_UInt32 notificationsPerPublish; - UA_Byte priority; - - /* Runtime information */ - UA_SubscriptionState state; - UA_Boolean late; - UA_StatusCode statusChange; /* If set, a notification is generated and the - * Subscription is deleted within - * UA_Subscription_publish. */ - UA_UInt32 nextSequenceNumber; - UA_UInt32 currentKeepAliveCount; - UA_UInt32 currentLifetimeCount; - - /* Publish Callback. Registered if id > 0. */ - UA_UInt64 publishCallbackId; - - /* Delayed callback to schedule publication of more notifications */ - UA_Boolean delayedCallbackRegistered; - UA_DelayedCallback delayedMoreNotifications; - - /* MonitoredItems */ - UA_UInt32 lastMonitoredItemId; /* increase the identifiers */ - LIST_HEAD(, UA_MonitoredItem) monitoredItems; - UA_UInt32 monitoredItemsSize; - - /* MonitoredItems that are sampled in every publish callback (with the - * publish interval of the subscription) */ - LIST_HEAD(, UA_MonitoredItem) samplingMonitoredItems; - - /* Global list of notifications from the MonitoredItems */ - TAILQ_HEAD(, UA_Notification) notificationQueue; - UA_UInt32 notificationQueueSize; /* Total queue size */ - UA_UInt32 dataChangeNotifications; - UA_UInt32 eventNotifications; - - /* Retransmission Queue */ - NotificationMessageQueue retransmissionQueue; - size_t retransmissionQueueSize; - - /* Statistics for the server diagnostics. The fields are defined according - * to the SubscriptionDiagnosticsDataType (Part 5, §12.15). */ -#ifdef UA_ENABLE_DIAGNOSTICS - UA_NodeId ns0Id; /* Representation in the Session object */ - - UA_UInt32 modifyCount; - UA_UInt32 enableCount; - UA_UInt32 disableCount; - UA_UInt32 republishRequestCount; - UA_UInt32 republishMessageCount; - UA_UInt32 transferRequestCount; - UA_UInt32 transferredToAltClientCount; - UA_UInt32 transferredToSameClientCount; - UA_UInt32 publishRequestCount; - UA_UInt32 dataChangeNotificationsCount; - UA_UInt32 eventNotificationsCount; - UA_UInt32 notificationsCount; - UA_UInt32 latePublishRequestCount; - UA_UInt32 discardedMessageCount; - UA_UInt32 monitoringQueueOverflowCount; - UA_UInt32 eventQueueOverFlowCount; -#endif -}; - -UA_Subscription * UA_Subscription_new(void); - -void -UA_Subscription_delete(UA_Server *server, UA_Subscription *sub); - -UA_StatusCode -Subscription_setState(UA_Server *server, UA_Subscription *sub, - UA_SubscriptionState state); - -void -Subscription_resetLifetime(UA_Subscription *sub); - -UA_MonitoredItem * -UA_Subscription_getMonitoredItem(UA_Subscription *sub, - UA_UInt32 monitoredItemId); - -void -UA_Subscription_publish(UA_Server *server, UA_Subscription *sub); - -void -UA_Subscription_resendData(UA_Server *server, UA_Subscription *sub); - -UA_StatusCode -UA_Subscription_removeRetransmissionMessage(UA_Subscription *sub, - UA_UInt32 sequenceNumber); - -void -UA_Session_ensurePublishQueueSpace(UA_Server *server, UA_Session *session); - -/* Forward declaration for A&C used in ua_server_internal.h" */ -struct UA_ConditionSource; -typedef struct UA_ConditionSource UA_ConditionSource; - -/* Event Handling */ -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - -#define UA_EVENTFILTER_MAXELEMENTS 64 /* Max operator elements */ -#define UA_EVENTFILTER_MAXOPERANDS 64 /* Max operands per operator */ -#define UA_EVENTFILTER_MAXSELECT 64 /* Max select clauses */ - -UA_StatusCode -UA_MonitoredItem_addEvent(UA_Server *server, UA_MonitoredItem *mon, - const UA_NodeId *event); - -UA_StatusCode -generateEventId(UA_ByteString *generatedId); - -/* Static validation when the filter is registered */ -UA_StatusCode -UA_SimpleAttributeOperandValidation(UA_Server *server, - const UA_SimpleAttributeOperand *sao); - -/* Static validation when the filter is registered */ -UA_ContentFilterElementResult -UA_ContentFilterElementValidation(UA_Server *server, size_t operatorIndex, - size_t operatorsCount, - const UA_ContentFilterElement *ef); - -/* Evaluate content filter, exported only for unit testing */ -UA_StatusCode -evaluateWhereClause(UA_Server *server, UA_Session *session, const UA_NodeId *eventNode, - const UA_ContentFilter *contentFilter, - UA_ContentFilterResult *contentFilterResult); - -#endif - -/***********/ -/* Helpers */ -/***********/ - -/* Setting an integer value within bounds */ -#define UA_BOUNDEDVALUE_SETWBOUNDS(BOUNDS, SRC, DST) { \ - if(SRC > BOUNDS.max) DST = BOUNDS.max; \ - else if(SRC < BOUNDS.min) DST = BOUNDS.min; \ - else DST = SRC; \ - } - -/* Logging - * See a description of the tricks used in ua_session.h */ -#define UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, LEVEL, SUB, MSG, ...) \ - do { \ - if((SUB) && (SUB)->session) { \ - UA_LOG_##LEVEL##_SESSION(LOGGER, (SUB)->session, \ - "Subscription %" PRIu32 " | " MSG "%.0s", \ - (SUB)->subscriptionId, __VA_ARGS__); \ - } else { \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_SERVER, \ - "Subscription %" PRIu32 " | " MSG "%.0s", \ - (SUB) ? (SUB)->subscriptionId : 0, __VA_ARGS__); \ - } \ - } while(0) - -#if UA_LOGLEVEL <= 100 -# define UA_LOG_TRACE_SUBSCRIPTION(LOGGER, SUB, ...) \ - UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, TRACE, SUB, __VA_ARGS__, "")) -#else -# define UA_LOG_TRACE_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) -#endif - -#if UA_LOGLEVEL <= 200 -# define UA_LOG_DEBUG_SUBSCRIPTION(LOGGER, SUB, ...) \ - UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, DEBUG, SUB, __VA_ARGS__, "")) -#else -# define UA_LOG_DEBUG_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) -#endif - -#if UA_LOGLEVEL <= 300 -# define UA_LOG_INFO_SUBSCRIPTION(LOGGER, SUB, ...) \ - UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, INFO, SUB, __VA_ARGS__, "")) -#else -# define UA_LOG_INFO_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) -#endif - -#if UA_LOGLEVEL <= 400 -# define UA_LOG_WARNING_SUBSCRIPTION(LOGGER, SUB, ...) \ - UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, WARNING, SUB, __VA_ARGS__, "")) -#else -# define UA_LOG_WARNING_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) -#endif - -#if UA_LOGLEVEL <= 500 -# define UA_LOG_ERROR_SUBSCRIPTION(LOGGER, SUB, ...) \ - UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, ERROR, SUB, __VA_ARGS__, "")) -#else -# define UA_LOG_ERROR_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) -#endif - -#if UA_LOGLEVEL <= 600 -# define UA_LOG_FATAL_SUBSCRIPTION(LOGGER, SUB, ...) \ - UA_MACRO_EXPAND(UA_LOG_SUBSCRIPTION_INTERNAL(LOGGER, FATAL, SUB, __VA_ARGS__, "")) -#else -# define UA_LOG_FATAL_SUBSCRIPTION(LOGGER, SUB, ...) do {} while(0) -#endif - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -_UA_END_DECLS - - -/**** amalgamated original file "/src/pubsub/ua_pubsub_networkmessage.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017 - 2018 Fraunhofer IOSB (Author: Tino Bischoff) - * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) - */ - - - -#ifdef UA_ENABLE_PUBSUB - -_UA_BEGIN_DECLS - -#define UA_NETWORKMESSAGE_MAX_NONCE_LENGTH 16 - -/* DataSet Payload Header */ -typedef struct { - UA_Byte count; - UA_UInt16* dataSetWriterIds; -} UA_DataSetPayloadHeader; - -/* FieldEncoding Enum */ -typedef enum { - UA_FIELDENCODING_VARIANT = 0, - UA_FIELDENCODING_RAWDATA = 1, - UA_FIELDENCODING_DATAVALUE = 2, - UA_FIELDENCODING_UNKNOWN = 3 -} UA_FieldEncoding; - -/* DataSetMessage Type */ -typedef enum { - UA_DATASETMESSAGE_DATAKEYFRAME = 0, - UA_DATASETMESSAGE_DATADELTAFRAME = 1, - UA_DATASETMESSAGE_EVENT = 2, - UA_DATASETMESSAGE_KEEPALIVE = 3 -} UA_DataSetMessageType; - -/* DataSetMessage Header */ -typedef struct { - UA_Boolean dataSetMessageValid; - UA_FieldEncoding fieldEncoding; - UA_Boolean dataSetMessageSequenceNrEnabled; - UA_Boolean timestampEnabled; - UA_Boolean statusEnabled; - UA_Boolean configVersionMajorVersionEnabled; - UA_Boolean configVersionMinorVersionEnabled; - UA_DataSetMessageType dataSetMessageType; - UA_Boolean picoSecondsIncluded; - UA_UInt16 dataSetMessageSequenceNr; - UA_UtcTime timestamp; - UA_UInt16 picoSeconds; - UA_UInt16 status; - UA_UInt32 configVersionMajorVersion; - UA_UInt32 configVersionMinorVersion; -} UA_DataSetMessageHeader; - -/** - * DataSetMessage - * ^^^^^^^^^^^^^^ */ - -typedef struct { - UA_UInt16 fieldCount; - UA_DataValue* dataSetFields; - UA_ByteString rawFields; - /* Json keys for the dataSetFields: TODO: own dataSetMessageType for json? */ - UA_String* fieldNames; - /* This information is for proper en- and decoding needed */ - UA_DataSetMetaDataType *dataSetMetaDataType; -} UA_DataSetMessage_DataKeyFrameData; - -typedef struct { - UA_UInt16 fieldIndex; - UA_DataValue fieldValue; -} UA_DataSetMessage_DeltaFrameField; - -typedef struct { - UA_UInt16 fieldCount; - UA_DataSetMessage_DeltaFrameField* deltaFrameFields; -} UA_DataSetMessage_DataDeltaFrameData; - -typedef struct { - UA_DataSetMessageHeader header; - union { - UA_DataSetMessage_DataKeyFrameData keyFrameData; - UA_DataSetMessage_DataDeltaFrameData deltaFrameData; - } data; - size_t configuredSize; -} UA_DataSetMessage; - -typedef struct { - UA_UInt16* sizes; - UA_DataSetMessage* dataSetMessages; -} UA_DataSetPayload; - -typedef enum { - UA_NETWORKMESSAGE_DATASET = 0, - UA_NETWORKMESSAGE_DISCOVERY_REQUEST = 1, - UA_NETWORKMESSAGE_DISCOVERY_RESPONSE = 2 -} UA_NetworkMessageType; - -/** - * UA_NetworkMessageGroupHeader - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ -typedef struct { - UA_Boolean writerGroupIdEnabled; - UA_Boolean groupVersionEnabled; - UA_Boolean networkMessageNumberEnabled; - UA_Boolean sequenceNumberEnabled; - UA_UInt16 writerGroupId; - UA_UInt32 groupVersion; // spec: type "VersionTime" - UA_UInt16 networkMessageNumber; - UA_UInt16 sequenceNumber; -} UA_NetworkMessageGroupHeader; - -/** - * UA_NetworkMessageSecurityHeader - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ -typedef struct { - UA_Boolean networkMessageSigned; - UA_Boolean networkMessageEncrypted; - UA_Boolean securityFooterEnabled; - UA_Boolean forceKeyReset; - UA_UInt32 securityTokenId; // spec: IntegerId - UA_Byte messageNonce[UA_NETWORKMESSAGE_MAX_NONCE_LENGTH]; - UA_UInt16 messageNonceSize; - UA_UInt16 securityFooterSize; -} UA_NetworkMessageSecurityHeader; - -/** - * UA_NetworkMessage - * ^^^^^^^^^^^^^^^^^ */ -typedef struct { - UA_Byte version; - UA_Boolean messageIdEnabled; - UA_String messageId; /* For Json NetworkMessage */ - UA_Boolean publisherIdEnabled; - UA_Boolean groupHeaderEnabled; - UA_Boolean payloadHeaderEnabled; - UA_Boolean dataSetClassIdEnabled; - UA_Boolean securityEnabled; - UA_Boolean timestampEnabled; - UA_Boolean picosecondsEnabled; - UA_Boolean chunkMessage; - UA_Boolean promotedFieldsEnabled; - UA_NetworkMessageType networkMessageType; - UA_PublisherIdType publisherIdType; - UA_PublisherId publisherId; - UA_Guid dataSetClassId; - - UA_NetworkMessageGroupHeader groupHeader; - - union { - UA_DataSetPayloadHeader dataSetPayloadHeader; - } payloadHeader; - - UA_DateTime timestamp; - UA_UInt16 picoseconds; - UA_UInt16 promotedFieldsSize; - UA_Variant* promotedFields; /* BaseDataType */ - - UA_NetworkMessageSecurityHeader securityHeader; - - union { - UA_DataSetPayload dataSetPayload; - } payload; - - UA_ByteString securityFooter; -} UA_NetworkMessage; - -/**********************************************/ -/* Network Message Offsets */ -/**********************************************/ - -/* Offsets for buffered messages in the PubSub fast path. */ -typedef enum { - UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER, - UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER, - UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING, - UA_PUBSUB_OFFSETTYPE_TIMESTAMP_PICOSECONDS, - UA_PUBSUB_OFFSETTYPE_TIMESTAMP, /* source pointer */ - UA_PUBSUB_OFFSETTYPE_TIMESTAMP_NOW, /* no source */ - UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE, - UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL, - UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT, - UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL, - UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW, - UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL, - /* For subscriber RT */ - UA_PUBSUB_OFFSETTYPE_PUBLISHERID, - UA_PUBSUB_OFFSETTYPE_WRITERGROUPID, - UA_PUBSUB_OFFSETTYPE_DATASETWRITERID - /* Add more offset types as needed */ -} UA_NetworkMessageOffsetType; - -typedef struct { - UA_NetworkMessageOffsetType contentType; - union { - UA_UInt16 sequenceNumber; - UA_DataValue **externalValue; - UA_DataValue value; - } content; - size_t offset; -} UA_NetworkMessageOffset; - -typedef struct { - UA_ByteString buffer; /* The precomputed message buffer */ - UA_NetworkMessageOffset *offsets; /* Offsets for changes in the message buffer */ - size_t offsetsSize; - UA_NetworkMessage *nm; /* The precomputed NetworkMessage for subscriber */ - size_t rawMessageLength; -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_ByteString encryptBuffer; /* The precomputed message buffer is copied - * into the encrypt buffer for encryption and - * signing*/ - UA_Byte *payloadPosition; /* Payload Position of the message to encrypt*/ -#endif -} UA_NetworkMessageOffsetBuffer; - -void -UA_NetworkMessageOffsetBuffer_clear(UA_NetworkMessageOffsetBuffer *nmob); - -UA_StatusCode -UA_NetworkMessage_updateBufferedMessage(UA_NetworkMessageOffsetBuffer *buffer); - -UA_StatusCode -UA_NetworkMessage_updateBufferedNwMessage(UA_NetworkMessageOffsetBuffer *buffer, - const UA_ByteString *src, size_t *bufferPosition); - -/** - * DataSetMessage - * ^^^^^^^^^^^^^^ */ - -UA_StatusCode -UA_DataSetMessageHeader_encodeBinary(const UA_DataSetMessageHeader* src, - UA_Byte **bufPos, const UA_Byte *bufEnd); - -UA_StatusCode -UA_DataSetMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_DataSetMessageHeader* dst); - -UA_StatusCode -UA_DataSetMessage_encodeBinary(const UA_DataSetMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd); - -UA_StatusCode -UA_DataSetMessage_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_DataSetMessage* dst, UA_UInt16 dsmSize, - const UA_DataTypeArray *customTypes, - UA_DataSetMetaDataType *dsm); - -size_t -UA_DataSetMessage_calcSizeBinary(UA_DataSetMessage *p, - UA_NetworkMessageOffsetBuffer *offsetBuffer, - size_t currentOffset); - -void UA_DataSetMessage_clear(UA_DataSetMessage* p); - -/** - * NetworkMessage Encoding - * ^^^^^^^^^^^^^^^^^^^^^^^ */ - -/* If dataToEncryptStart not-NULL, then it will be set to the start-position of - * the payload in the buffer. */ -UA_StatusCode -UA_NetworkMessage_encodeBinary(const UA_NetworkMessage* src, - UA_Byte **bufPos, const UA_Byte *bufEnd, - UA_Byte **dataToEncryptStart); - -UA_StatusCode -UA_NetworkMessage_encodeHeaders(const UA_NetworkMessage* src, - UA_Byte **bufPos, const UA_Byte *bufEnd); - -UA_StatusCode -UA_NetworkMessage_encodePayload(const UA_NetworkMessage* src, - UA_Byte **bufPos, const UA_Byte *bufEnd); - -UA_StatusCode -UA_NetworkMessage_encodeFooters(const UA_NetworkMessage* src, - UA_Byte **bufPos, const UA_Byte *bufEnd); - -/** - * NetworkMessage Decoding - * ^^^^^^^^^^^^^^^^^^^^^^^ */ - -UA_StatusCode -UA_NetworkMessage_decodeHeaders(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage *dst); - -UA_StatusCode -UA_NetworkMessage_decodePayload(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage *dst, const UA_DataTypeArray *customTypes, - UA_DataSetMetaDataType *dsm); - -UA_StatusCode -UA_NetworkMessage_decodeFooters(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage *dst); - -UA_StatusCode -UA_NetworkMessage_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage* dst, const UA_DataTypeArray *customTypes); - -UA_StatusCode -UA_NetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage *dst); - -/* Also stores the offset if offsetBuffer != NULL */ -size_t -UA_NetworkMessage_calcSizeBinary(UA_NetworkMessage *p, - UA_NetworkMessageOffsetBuffer *offsetBuffer); - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - -UA_StatusCode -UA_NetworkMessage_signEncrypt(UA_NetworkMessage *nm, UA_MessageSecurityMode securityMode, - UA_PubSubSecurityPolicy *policy, void *policyContext, - UA_Byte *messageStart, UA_Byte *encryptStart, - UA_Byte *sigStart); -#endif - -void -UA_NetworkMessage_clear(UA_NetworkMessage* p); - -#ifdef UA_ENABLE_JSON_ENCODING -UA_StatusCode -UA_NetworkMessage_encodeJson(const UA_NetworkMessage *src, - UA_Byte **bufPos, const UA_Byte **bufEnd, UA_String *namespaces, - size_t namespaceSize, UA_String *serverUris, - size_t serverUriSize, UA_Boolean useReversible); - -size_t -UA_NetworkMessage_calcSizeJson(const UA_NetworkMessage *src, - UA_String *namespaces, size_t namespaceSize, - UA_String *serverUris, size_t serverUriSize, - UA_Boolean useReversible); - -UA_StatusCode UA_NetworkMessage_decodeJson(UA_NetworkMessage *dst, const UA_ByteString *src); -#endif - -_UA_END_DECLS - -#endif /* UA_ENABLE_PUBSUB */ - - -/**** amalgamated original file "/src/pubsub/ua_pubsub.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2020 Yannick Wallerer, Siemens AG - * Copyright (c) 2020, 2022 Thomas Fischer, Siemens AG - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) - * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - - -#define UA_INTERNAL - - -#ifdef UA_ENABLE_PUBSUB_SKS -#endif - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_PUBSUB - -/* Max number of underlying for sending and receiving */ -#define UA_PUBSUB_MAXCHANNELS 8 - -struct UA_WriterGroup; -typedef struct UA_WriterGroup UA_WriterGroup; - -struct UA_ReaderGroup; -typedef struct UA_ReaderGroup UA_ReaderGroup; - -struct UA_SecurityGroup; -typedef struct UA_SecurityGroup UA_SecurityGroup; - -/**********************************************/ -/* PublishedDataSet */ -/**********************************************/ - -typedef struct UA_PublishedDataSet { - UA_PublishedDataSetConfig config; - UA_DataSetMetaDataType dataSetMetaData; - TAILQ_HEAD(, UA_DataSetField) fields; - UA_UInt16 fieldSize; - UA_NodeId identifier; - UA_UInt16 promotedFieldsCount; - UA_UInt16 configurationFreezeCounter; - TAILQ_ENTRY(UA_PublishedDataSet) listEntry; -} UA_PublishedDataSet; - -UA_StatusCode -UA_PublishedDataSetConfig_copy(const UA_PublishedDataSetConfig *src, - UA_PublishedDataSetConfig *dst); - -UA_PublishedDataSet * -UA_PublishedDataSet_findPDSbyId(UA_Server *server, UA_NodeId identifier); - -UA_PublishedDataSet * -UA_PublishedDataSet_findPDSbyName(UA_Server *server, UA_String name); - -UA_AddPublishedDataSetResult -UA_PublishedDataSet_create(UA_Server *server, - const UA_PublishedDataSetConfig *publishedDataSetConfig, - UA_NodeId *pdsIdentifier); - -void -UA_PublishedDataSet_clear(UA_Server *server, - UA_PublishedDataSet *publishedDataSet); - -UA_StatusCode -UA_PublishedDataSet_remove(UA_Server *server, UA_PublishedDataSet *publishedDataSet); - -UA_StatusCode -getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, - UA_PublishedDataSetConfig *config); - -typedef struct UA_StandaloneSubscribedDataSet{ - UA_StandaloneSubscribedDataSetConfig config; - UA_NodeId identifier; - TAILQ_ENTRY(UA_StandaloneSubscribedDataSet) listEntry; - UA_NodeId connectedReader; -} UA_StandaloneSubscribedDataSet; - -UA_StatusCode -UA_StandaloneSubscribedDataSetConfig_copy(const UA_StandaloneSubscribedDataSetConfig *src, - UA_StandaloneSubscribedDataSetConfig *dst); -UA_StandaloneSubscribedDataSet * -UA_StandaloneSubscribedDataSet_findSDSbyId(UA_Server *server, UA_NodeId identifier); -UA_StandaloneSubscribedDataSet * -UA_StandaloneSubscribedDataSet_findSDSbyName(UA_Server *server, UA_String identifier); -void -UA_StandaloneSubscribedDataSet_clear(UA_Server *server, - UA_StandaloneSubscribedDataSet *subscribedDataSet); - -#define UA_LOG_PDS_INTERNAL(LOGGER, LEVEL, PDS, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String idStr = UA_STRING_NULL; \ - if(PDS) \ - UA_NodeId_print(&(PDS)->identifier, &idStr); \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ - "DataSet %.*s\t| " MSG "%.0s", (int)idStr.length, \ - (char*)idStr.data, __VA_ARGS__); \ - UA_String_clear(&idStr); \ - } - -#define UA_LOG_TRACE_DATASET(LOGGER, PDS, ...) \ - UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, TRACE, PDS, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_DATASET(LOGGER, PDS, ...) \ - UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, DEBUG, PDS, __VA_ARGS__, "")) -#define UA_LOG_INFO_DATASET(LOGGER, PDS, ...) \ - UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, INFO, PDS, __VA_ARGS__, "")) -#define UA_LOG_WARNING_DATASET(LOGGER, PDS, ...) \ - UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, WARNING, PDS, __VA_ARGS__, "")) -#define UA_LOG_ERROR_DATASET(LOGGER, PDS, ...) \ - UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, ERROR, PDS, __VA_ARGS__, "")) -#define UA_LOG_FATAL_DATASET(LOGGER, PDS, ...) \ - UA_MACRO_EXPAND(UA_LOG_PDS_INTERNAL(LOGGER, FATAL, PDS, __VA_ARGS__, "")) - -/**********************************************/ -/* Connection */ -/**********************************************/ - -typedef struct UA_PubSubConnection { - UA_PubSubComponentEnumType componentType; - - TAILQ_ENTRY(UA_PubSubConnection) listEntry; - UA_NodeId identifier; - - /* The send/recv connections are only opened if the state is operational */ - UA_PubSubState state; - UA_PubSubConnectionConfig config; - UA_Boolean json; /* Extracted from the TransportProfileUrl */ - - /* Channels belonging to the PubSubConnection. Send channels belong to - * WriterGroups, recv channels belong to ReaderGroups. We only open channels - * if there is at least one WriterGroup/ReaderGroup respectively. - * - * Some channels belong exclusively to just one WriterGroup/ReaderGroup that - * defines additional connection properties. For example an MQTT topic name - * or QoS parameters. In that case a dedicated NetworkCallback is used that - * takes this ReaderGroup/WriterGroup directly as context. */ - UA_ConnectionManager *cm; - uintptr_t recvChannels[UA_PUBSUB_MAXCHANNELS]; - size_t recvChannelsSize; - uintptr_t sendChannel; - - size_t writerGroupsSize; - LIST_HEAD(, UA_WriterGroup) writerGroups; - - size_t readerGroupsSize; - LIST_HEAD(, UA_ReaderGroup) readerGroups; - - UA_UInt16 configurationFreezeCounter; - - UA_DateTime silenceErrorUntil; /* Avoid generating too many logs */ - - UA_Boolean deleteFlag; /* To be deleted - in addition to the PubSubState */ - UA_DelayedCallback dc; /* For delayed freeing */ -} UA_PubSubConnection; - -UA_StatusCode -UA_PubSubConnectionConfig_copy(const UA_PubSubConnectionConfig *src, - UA_PubSubConnectionConfig *dst); - -UA_PubSubConnection * -UA_PubSubConnection_findConnectionbyId(UA_Server *server, - UA_NodeId connectionIdentifier); - -UA_StatusCode -UA_PubSubConnection_create(UA_Server *server, - const UA_PubSubConnectionConfig *connectionConfig, - UA_NodeId *connectionIdentifier); - -void -UA_PubSubConnectionConfig_clear(UA_PubSubConnectionConfig *connectionConfig); - -void -UA_PubSubConnection_delete(UA_Server *server, UA_PubSubConnection *c); - -UA_StatusCode -UA_PubSubConnection_connect(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate); - -void -UA_PubSubConnection_disconnect(UA_PubSubConnection *c); - -/* Returns either the eventloop configured in the connection or, in its absence, - * for the server */ -UA_EventLoop * -UA_PubSubConnection_getEL(UA_Server *server, UA_PubSubConnection *c); - -UA_StatusCode -UA_PubSubConnection_setPubSubState(UA_Server *server, - UA_PubSubConnection *connection, - UA_PubSubState state, - UA_StatusCode cause); - -#define UA_LOG_CONNECTION_INTERNAL(LOGGER, LEVEL, CONNECTION, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String idStr = UA_STRING_NULL; \ - if(CONNECTION) \ - UA_NodeId_print(&(CONNECTION)->identifier, &idStr); \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ - "Connection %.*s\t| " MSG "%.0s", (int)idStr.length, \ - (char*)idStr.data, __VA_ARGS__); \ - UA_String_clear(&idStr); \ - } - -#define UA_LOG_TRACE_CONNECTION(LOGGER, CONNECTION, ...) \ - UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, TRACE, CONNECTION, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_CONNECTION(LOGGER, CONNECTION, ...) \ - UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, DEBUG, CONNECTION, __VA_ARGS__, "")) -#define UA_LOG_INFO_CONNECTION(LOGGER, CONNECTION, ...) \ - UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, INFO, CONNECTION, __VA_ARGS__, "")) -#define UA_LOG_WARNING_CONNECTION(LOGGER, CONNECTION, ...) \ - UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, WARNING, CONNECTION, __VA_ARGS__, "")) -#define UA_LOG_ERROR_CONNECTION(LOGGER, CONNECTION, ...) \ - UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, ERROR, CONNECTION, __VA_ARGS__, "")) -#define UA_LOG_FATAL_CONNECTION(LOGGER, CONNECTION, ...) \ - UA_MACRO_EXPAND(UA_LOG_CONNECTION_INTERNAL(LOGGER, FATAL, CONNECTION, __VA_ARGS__, "")) - -/**********************************************/ -/* DataSetWriter */ -/**********************************************/ - -typedef struct UA_DataSetWriterSample { - UA_Boolean valueChanged; - UA_DataValue value; -} UA_DataSetWriterSample; - -typedef struct UA_DataSetWriter { - UA_PubSubComponentEnumType componentType; - UA_DataSetWriterConfig config; - LIST_ENTRY(UA_DataSetWriter) listEntry; - UA_NodeId identifier; - UA_NodeId linkedWriterGroup; - UA_NodeId connectedDataSet; - UA_ConfigurationVersionDataType connectedDataSetVersion; - UA_PubSubState state; - - /* Deltaframes */ - UA_UInt16 deltaFrameCounter; /* count of sent deltaFrames */ - size_t lastSamplesCount; - UA_DataSetWriterSample *lastSamples; - - UA_UInt16 actualDataSetMessageSequenceCount; - UA_Boolean configurationFrozen; -} UA_DataSetWriter; - -UA_StatusCode -UA_DataSetWriterConfig_copy(const UA_DataSetWriterConfig *src, - UA_DataSetWriterConfig *dst); - -UA_DataSetWriter * -UA_DataSetWriter_findDSWbyId(UA_Server *server, UA_NodeId identifier); - -UA_StatusCode -UA_DataSetWriter_setPubSubState(UA_Server *server, - UA_DataSetWriter *dataSetWriter, - UA_PubSubState state, - UA_StatusCode cause); - -UA_StatusCode -UA_DataSetWriter_generateDataSetMessage(UA_Server *server, - UA_DataSetMessage *dataSetMessage, - UA_DataSetWriter *dataSetWriter); - -UA_StatusCode -UA_DataSetWriter_prepareDataSet(UA_Server *server, UA_DataSetWriter *dsw, - UA_DataSetMessage *dsm); - -void -UA_DataSetWriter_freezeConfiguration(UA_Server *server, UA_DataSetWriter *dsw); - -void -UA_DataSetWriter_unfreezeConfiguration(UA_Server *server, UA_DataSetWriter *dsw); - -UA_StatusCode -UA_DataSetWriter_create(UA_Server *server, - const UA_NodeId writerGroup, const UA_NodeId dataSet, - const UA_DataSetWriterConfig *dataSetWriterConfig, - UA_NodeId *writerIdentifier); - - -UA_StatusCode -UA_DataSetWriter_remove(UA_Server *server, UA_DataSetWriter *dataSetWriter); - -#define UA_LOG_WRITER_INTERNAL(LOGGER, LEVEL, WRITER, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String idStr = UA_STRING_NULL; \ - UA_String groupIdStr = UA_STRING_NULL; \ - if(WRITER) { \ - UA_NodeId_print(&(WRITER)->identifier, &idStr); \ - UA_NodeId_print(&(WRITER)->linkedWriterGroup, &groupIdStr); \ - } \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ - "WriterGroup %.*s\t| Writer %.*s\t| " MSG "%.0s", \ - (int)groupIdStr.length, (char*)groupIdStr.data, \ - (int)idStr.length, (char*)idStr.data, \ - __VA_ARGS__); \ - UA_String_clear(&idStr); \ - UA_String_clear(&groupIdStr); \ - } - -#define UA_LOG_TRACE_WRITER(LOGGER, WRITER, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, TRACE, WRITER, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_WRITER(LOGGER, WRITER, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, DEBUG, WRITER, __VA_ARGS__, "")) -#define UA_LOG_INFO_WRITER(LOGGER, WRITER, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, INFO, WRITER, __VA_ARGS__, "")) -#define UA_LOG_WARNING_WRITER(LOGGER, WRITER, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, WARNING, WRITER, __VA_ARGS__, "")) -#define UA_LOG_ERROR_WRITER(LOGGER, WRITER, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, ERROR, WRITER, __VA_ARGS__, "")) -#define UA_LOG_FATAL_WRITER(LOGGER, WRITER, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITER_INTERNAL(LOGGER, FATAL, WRITER, __VA_ARGS__, "")) - -/**********************************************/ -/* WriterGroup */ -/**********************************************/ - -struct UA_WriterGroup { - UA_PubSubComponentEnumType componentType; - UA_WriterGroupConfig config; - LIST_ENTRY(UA_WriterGroup) listEntry; - UA_NodeId identifier; - - LIST_HEAD(, UA_DataSetWriter) writers; - UA_UInt32 writersCount; - - UA_UInt64 publishCallbackId; /* registered if != 0 */ - UA_PubSubState state; - UA_NetworkMessageOffsetBuffer bufferedMessage; - UA_UInt16 sequenceNumber; /* Increased after every succressuly sent message */ - UA_Boolean configurationFrozen; - UA_DateTime lastPublishTimeStamp; - - /* The ConnectionManager pointer is stored in the Connection. The channels - * are either stored here or in the Connection, but never both. */ - UA_PubSubConnection *linkedConnection; - uintptr_t sendChannel; - UA_Boolean deleteFlag; - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_UInt32 securityTokenId; - UA_UInt32 nonceSequenceNumber; /* To be part of the MessageNonce */ - void *securityPolicyContext; -#ifdef UA_ENABLE_PUBSUB_SKS - UA_PubSubKeyStorage *keyStorage; /* non-owning pointer to keyStorage*/ -#endif -#endif -}; - -UA_StatusCode -UA_WriterGroup_create(UA_Server *server, const UA_NodeId connection, - const UA_WriterGroupConfig *writerGroupConfig, - UA_NodeId *writerGroupIdentifier); - -UA_StatusCode -UA_WriterGroup_remove(UA_Server *server, UA_WriterGroup *wg); - -void -UA_WriterGroup_disconnect(UA_WriterGroup *wg); - -UA_StatusCode -UA_WriterGroup_connect(UA_Server *server, UA_WriterGroup *wg, - UA_Boolean validate); - -UA_StatusCode -setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce); - -UA_StatusCode -UA_WriterGroupConfig_copy(const UA_WriterGroupConfig *src, - UA_WriterGroupConfig *dst); - -UA_WriterGroup * -UA_WriterGroup_findWGbyId(UA_Server *server, UA_NodeId identifier); - -UA_StatusCode -UA_WriterGroup_freezeConfiguration(UA_Server *server, UA_WriterGroup *wg); - -UA_StatusCode -UA_WriterGroup_unfreezeConfiguration(UA_Server *server, UA_WriterGroup *wg); - -UA_StatusCode -UA_WriterGroup_setPubSubState(UA_Server *server, - UA_WriterGroup *writerGroup, - UA_PubSubState state, - UA_StatusCode cause); - -UA_StatusCode -UA_WriterGroup_addPublishCallback(UA_Server *server, UA_WriterGroup *writerGroup); - -void -UA_WriterGroup_publishCallback(UA_Server *server, - UA_WriterGroup *writerGroup); - -UA_StatusCode -UA_WriterGroup_updateConfig(UA_Server *server, UA_WriterGroup *wg, - const UA_WriterGroupConfig *config); - -#define UA_LOG_WRITERGROUP_INTERNAL(LOGGER, LEVEL, WRITERGROUP, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String idStr = UA_STRING_NULL; \ - if(WRITERGROUP) \ - UA_NodeId_print(&(WRITERGROUP)->identifier, &idStr); \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ - "WriterGroup %.*s\t| " MSG "%.0s", \ - (int)idStr.length, (char*)idStr.data, \ - __VA_ARGS__); \ - UA_String_clear(&idStr); \ - } - -#define UA_LOG_TRACE_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, TRACE, WRITERGROUP, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, DEBUG, WRITERGROUP, __VA_ARGS__, "")) -#define UA_LOG_INFO_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, INFO, WRITERGROUP, __VA_ARGS__, "")) -#define UA_LOG_WARNING_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, WARNING, WRITERGROUP, __VA_ARGS__, "")) -#define UA_LOG_ERROR_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, ERROR, WRITERGROUP, __VA_ARGS__, "")) -#define UA_LOG_FATAL_WRITERGROUP(LOGGER, WRITERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_WRITERGROUP_INTERNAL(LOGGER, FATAL, WRITERGROUP, __VA_ARGS__, "")) - -/**********************************************/ -/* DataSetField */ -/**********************************************/ - -typedef struct UA_DataSetField { - UA_DataSetFieldConfig config; - TAILQ_ENTRY(UA_DataSetField) listEntry; - UA_NodeId identifier; - UA_NodeId publishedDataSet; /* parent pds */ - UA_FieldMetaData fieldMetaData; /* contains the dataSetFieldId */ - UA_UInt64 sampleCallbackId; - UA_Boolean sampleCallbackIsRegistered; - UA_Boolean configurationFrozen; -} UA_DataSetField; - -UA_StatusCode -UA_DataSetFieldConfig_copy(const UA_DataSetFieldConfig *src, - UA_DataSetFieldConfig *dst); - -UA_DataSetField * -UA_DataSetField_findDSFbyId(UA_Server *server, UA_NodeId identifier); - -UA_DataSetFieldResult -UA_DataSetField_remove(UA_Server *server, UA_DataSetField *currentField); - -UA_DataSetFieldResult -UA_DataSetField_create(UA_Server *server, const UA_NodeId publishedDataSet, - const UA_DataSetFieldConfig *fieldConfig, - UA_NodeId *fieldIdentifier); - -void -UA_PubSubDataSetField_sampleValue(UA_Server *server, UA_DataSetField *field, - UA_DataValue *value); - -/**********************************************/ -/* DataSetReader */ -/**********************************************/ - -/* DataSetReader Type definition */ -typedef struct UA_DataSetReader { - UA_PubSubComponentEnumType componentType; - UA_DataSetReaderConfig config; - UA_NodeId identifier; - UA_NodeId linkedReaderGroup; - LIST_ENTRY(UA_DataSetReader) listEntry; - - UA_PubSubState state; /* non std */ - UA_Boolean configurationFrozen; - UA_NetworkMessageOffsetBuffer bufferedMessage; - -#ifdef UA_ENABLE_PUBSUB_MONITORING - /* MessageReceiveTimeout handling */ - UA_ServerCallback msgRcvTimeoutTimerCallback; - UA_UInt64 msgRcvTimeoutTimerId; - UA_Boolean msgRcvTimeoutTimerRunning; -#endif - UA_DateTime lastHeartbeatReceived; -} UA_DataSetReader; - -/* Process Network Message using DataSetReader */ -void -UA_DataSetReader_process(UA_Server *server, - UA_ReaderGroup *readerGroup, - UA_DataSetReader *dataSetReader, - UA_DataSetMessage *dataSetMsg); - -UA_StatusCode -UA_DataSetReader_checkIdentifier(UA_Server *server, UA_NetworkMessage *msg, - UA_DataSetReader *reader, - UA_ReaderGroupConfig readerGroupConfig); - -UA_StatusCode -UA_DataSetReader_create(UA_Server *server, UA_NodeId readerGroupIdentifier, - const UA_DataSetReaderConfig *dataSetReaderConfig, - UA_NodeId *readerIdentifier); - -UA_StatusCode -UA_DataSetReader_remove(UA_Server *server, UA_DataSetReader *dsr); - -/* Copy the configuration of Target Variables */ -UA_StatusCode UA_TargetVariables_copy(const UA_TargetVariables *src, - UA_TargetVariables *dst); - -/* Clear the Target Variables configuration */ -void UA_TargetVariables_clear(UA_TargetVariables *subscribedDataSetTarget); - -/* Copy the configuration of Field Target Variables */ -UA_StatusCode UA_FieldTargetVariable_copy(const UA_FieldTargetVariable *src, - UA_FieldTargetVariable *dst); - -UA_StatusCode -DataSetReader_createTargetVariables(UA_Server *server, UA_DataSetReader *dsr, - size_t targetVariablesSize, - const UA_FieldTargetVariable *targetVariables); - -UA_StatusCode -UA_DataSetReader_setPubSubState(UA_Server *server, - UA_DataSetReader *dataSetReader, - UA_PubSubState state, - UA_StatusCode cause); - -#define UA_LOG_READER_INTERNAL(LOGGER, LEVEL, READER, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String idStr = UA_STRING_NULL; \ - UA_String groupIdStr = UA_STRING_NULL; \ - if(READER) { \ - UA_NodeId_print(&(READER)->identifier, &idStr); \ - UA_NodeId_print(&(READER)->linkedReaderGroup, &groupIdStr); \ - } \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ - "ReaderGroup %.*s\t| Reader %.*s\t| " MSG "%.0s", \ - (int)groupIdStr.length, (char*)groupIdStr.data, \ - (int)idStr.length, (char*)idStr.data, \ - __VA_ARGS__); \ - UA_String_clear(&idStr); \ - UA_String_clear(&groupIdStr); \ - } - -#define UA_LOG_TRACE_READER(LOGGER, READER, ...) \ - UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, TRACE, READER, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_READER(LOGGER, READER, ...) \ - UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, DEBUG, READER, __VA_ARGS__, "")) -#define UA_LOG_INFO_READER(LOGGER, READER, ...) \ - UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, INFO, READER, __VA_ARGS__, "")) -#define UA_LOG_WARNING_READER(LOGGER, READER, ...) \ - UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, WARNING, READER, __VA_ARGS__, "")) -#define UA_LOG_ERROR_READER(LOGGER, READER, ...) \ - UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, ERROR, READER, __VA_ARGS__, "")) -#define UA_LOG_FATAL_READER(LOGGER, READER, ...) \ - UA_MACRO_EXPAND(UA_LOG_READER_INTERNAL(LOGGER, FATAL, READER, __VA_ARGS__, "")) - -/**********************************************/ -/* ReaderGroup */ -/**********************************************/ - -struct UA_ReaderGroup { - UA_PubSubComponentEnumType componentType; - UA_ReaderGroupConfig config; - UA_NodeId identifier; - LIST_ENTRY(UA_ReaderGroup) listEntry; - - LIST_HEAD(, UA_DataSetReader) readers; - UA_UInt32 readersCount; - - UA_PubSubState state; - UA_Boolean configurationFrozen; - - /* The ConnectionManager pointer is stored in the Connection. The channels - * are either stored here or in the Connection, but never both. */ - UA_PubSubConnection *linkedConnection; - uintptr_t recvChannels[UA_PUBSUB_MAXCHANNELS]; - size_t recvChannelsSize; - UA_Boolean deleteFlag; - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_UInt32 securityTokenId; - UA_UInt32 nonceSequenceNumber; /* To be part of the MessageNonce */ - void *securityPolicyContext; -#ifdef UA_ENABLE_PUBSUB_SKS - UA_PubSubKeyStorage *keyStorage; -#endif -#endif -}; - -UA_StatusCode -UA_ReaderGroup_create(UA_Server *server, UA_NodeId connectionId, - const UA_ReaderGroupConfig *rgc, - UA_NodeId *readerGroupId); - -UA_StatusCode -UA_ReaderGroup_remove(UA_Server *server, UA_ReaderGroup *rg); - -UA_StatusCode -UA_ReaderGroup_connect(UA_Server *server, UA_ReaderGroup *rg, UA_Boolean validate); - -void -UA_ReaderGroup_disconnect(UA_ReaderGroup *rg); - -UA_StatusCode -setReaderGroupEncryptionKeys(UA_Server *server, const UA_NodeId readerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce); - -UA_StatusCode -UA_ReaderGroupConfig_copy(const UA_ReaderGroupConfig *src, - UA_ReaderGroupConfig *dst); - -/* Prototypes for internal util functions - some functions maybe removed later - * (currently moved from public to internal) */ -UA_ReaderGroup * -UA_ReaderGroup_findRGbyId(UA_Server *server, UA_NodeId identifier); - -UA_DataSetReader * -UA_ReaderGroup_findDSRbyId(UA_Server *server, UA_NodeId identifier); - -UA_StatusCode -UA_ReaderGroup_freezeConfiguration(UA_Server *server, UA_ReaderGroup *rg); - -UA_StatusCode -UA_ReaderGroup_unfreezeConfiguration(UA_Server *server, UA_ReaderGroup *rg); - -UA_StatusCode -UA_ReaderGroup_setPubSubState(UA_Server *server, - UA_ReaderGroup *readerGroup, - UA_PubSubState state, - UA_StatusCode cause); - -UA_Boolean -UA_ReaderGroup_decodeAndProcessRT(UA_Server *server, UA_ReaderGroup *readerGroup, - UA_ByteString *buf); - -UA_Boolean -UA_ReaderGroup_process(UA_Server *server, UA_ReaderGroup *readerGroup, - UA_NetworkMessage *nm); - -#define UA_LOG_READERGROUP_INTERNAL(LOGGER, LEVEL, RG, MSG, ...) \ - if(UA_LOGLEVEL <= UA_LOGLEVEL_##LEVEL) { \ - UA_String idStr = UA_STRING_NULL; \ - if(RG) \ - UA_NodeId_print(&(RG)->identifier, &idStr); \ - UA_LOG_##LEVEL(LOGGER, UA_LOGCATEGORY_PUBSUB, \ - "ReaderGroup %.*s\t| " MSG "%.0s", (int)idStr.length, \ - (char*)idStr.data, __VA_ARGS__); \ - UA_String_clear(&idStr); \ - } - -#define UA_LOG_TRACE_READERGROUP(LOGGER, READERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, TRACE, READERGROUP, __VA_ARGS__, "")) -#define UA_LOG_DEBUG_READERGROUP(LOGGER, READERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, DEBUG, READERGROUP, __VA_ARGS__, "")) -#define UA_LOG_INFO_READERGROUP(LOGGER, READERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, INFO, READERGROUP, __VA_ARGS__, "")) -#define UA_LOG_WARNING_READERGROUP(LOGGER, READERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, WARNING, READERGROUP, __VA_ARGS__, "")) -#define UA_LOG_ERROR_READERGROUP(LOGGER, READERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, ERROR, READERGROUP, __VA_ARGS__, "")) -#define UA_LOG_FATAL_READERGROUP(LOGGER, READERGROUP, ...) \ - UA_MACRO_EXPAND(UA_LOG_READERGROUP_INTERNAL(LOGGER, FATAL, READERGROUP, __VA_ARGS__, "")) - -/*********************************************************/ -/* Reading Message handling */ -/*********************************************************/ - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -UA_StatusCode -verifyAndDecrypt(const UA_Logger *logger, UA_ByteString *buffer, - const size_t *currentPosition, const UA_NetworkMessage *nm, - UA_Boolean doValidate, UA_Boolean doDecrypt, - void *channelContext, UA_PubSubSecurityPolicy *securityPolicy); - -UA_StatusCode -verifyAndDecryptNetworkMessage(const UA_Logger *logger, UA_ByteString *buffer, - size_t *currentPosition, UA_NetworkMessage *nm, - UA_ReaderGroup *readerGroup); -#endif - -/* Takes a value (and not a pointer) to the buffer. The original buffer is - const. Internally we may adjust the length during decryption. */ -UA_StatusCode -decodeNetworkMessage(UA_Server *server, UA_ByteString *buffer, size_t *pos, - UA_NetworkMessage *nm, UA_PubSubConnection *connection); - -#ifdef UA_ENABLE_PUBSUB_SKS -/*********************************************************/ -/* SecurityGroup */ -/*********************************************************/ -struct UA_SecurityGroup { - UA_String securityGroupId; - UA_SecurityGroupConfig config; - UA_PubSubKeyStorage *keyStorage; - UA_NodeId securityGroupNodeId; - UA_UInt64 callbackId; - UA_DateTime baseTime; -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - UA_NodeId securityGroupFolderId; -#endif - TAILQ_ENTRY(UA_SecurityGroup) listEntry; -}; - -UA_StatusCode -UA_SecurityGroupConfig_copy(const UA_SecurityGroupConfig *src, - UA_SecurityGroupConfig *dst); - -/* finds the SecurityGroup within the server by SecurityGroup Name/Id*/ -UA_SecurityGroup * -UA_SecurityGroup_findSGbyName(UA_Server *server, UA_String securityGroupName); - -/* finds the SecurityGroup within the server by NodeId*/ -UA_SecurityGroup * -UA_SecurityGroup_findSGbyId(UA_Server *server, UA_NodeId identifier); - -void -UA_SecurityGroup_delete(UA_SecurityGroup *securityGroup); - -void -removeSecurityGroup(UA_Server *server, UA_SecurityGroup *securityGroup); - -#endif /* UA_ENABLE_PUBSUB_SKS */ - -/******************/ -/* PubSub Manager */ -/******************/ - -typedef struct UA_TopicAssign { - UA_ReaderGroup *rgIdentifier; - UA_String topic; - TAILQ_ENTRY(UA_TopicAssign) listEntry; -} UA_TopicAssign; - -typedef enum { - UA_WRITER_GROUP = 0, - UA_DATA_SET_WRITER = 1, -} UA_ReserveIdType; - -typedef struct UA_ReserveId { - UA_UInt16 id; - UA_ReserveIdType reserveIdType; - UA_String transportProfileUri; - UA_NodeId sessionId; - ZIP_ENTRY(UA_ReserveId) treeEntry; -} UA_ReserveId; - -typedef ZIP_HEAD(UA_ReserveIdTree, UA_ReserveId) UA_ReserveIdTree; - -typedef struct UA_PubSubManager { - UA_UInt64 defaultPublisherId; - /* Connections and PublishedDataSets can exist alone (own lifecycle) -> top - * level components */ - size_t connectionsSize; - TAILQ_HEAD(, UA_PubSubConnection) connections; - - size_t publishedDataSetsSize; - TAILQ_HEAD(, UA_PublishedDataSet) publishedDataSets; - - size_t subscribedDataSetsSize; - TAILQ_HEAD(, UA_StandaloneSubscribedDataSet) subscribedDataSets; - - size_t topicAssignSize; - TAILQ_HEAD(, UA_TopicAssign) topicAssign; - - size_t reserveIdsSize; - UA_ReserveIdTree reserveIds; - -#ifdef UA_ENABLE_PUBSUB_SKS - LIST_HEAD(, UA_PubSubKeyStorage) pubSubKeyList; - - size_t securityGroupsSize; - TAILQ_HEAD(, UA_SecurityGroup) securityGroups; -#endif - -#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL - UA_UInt32 uniqueIdCount; -#endif -} UA_PubSubManager; - -UA_StatusCode -UA_PubSubManager_addPubSubTopicAssign(UA_Server *server, UA_ReaderGroup *readerGroup, - UA_String topic); - -UA_StatusCode -UA_PubSubManager_reserveIds(UA_Server *server, UA_NodeId sessionId, UA_UInt16 numRegWriterGroupIds, - UA_UInt16 numRegDataSetWriterIds, UA_String transportProfileUri, - UA_UInt16 **writerGroupIds, UA_UInt16 **dataSetWriterIds); - -void -UA_PubSubManager_freeIds(UA_Server *server); - -void -UA_PubSubManager_init(UA_Server *server, UA_PubSubManager *pubSubManager); - -void -UA_PubSubManager_shutdown(UA_Server *server, UA_PubSubManager *pubSubManager); - -void -UA_PubSubManager_delete(UA_Server *server, UA_PubSubManager *pubSubManager); - -#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL -void -UA_PubSubManager_generateUniqueNodeId(UA_PubSubManager *psm, UA_NodeId *nodeId); -#endif - -#ifdef UA_ENABLE_PUBSUB_FILE_CONFIG -/* Decodes the information from the ByteString. If the decoded content is a - * PubSubConfiguration in a UABinaryFileDataType-object. It will overwrite the - * current PubSub configuration from the server. */ -UA_StatusCode -UA_PubSubManager_loadPubSubConfigFromByteString(UA_Server *server, - const UA_ByteString buffer); - -/* Saves the current PubSub configuration of a server in a byteString. */ -UA_StatusCode -UA_PubSubManager_getEncodedPubSubConfiguration(UA_Server *server, - UA_ByteString *buffer); -#endif - -UA_Guid -UA_PubSubManager_generateUniqueGuid(UA_Server *server); - -UA_UInt32 -UA_PubSubConfigurationVersionTimeDifference(void); - -/*************************************************/ -/* PubSub component monitoring */ -/*************************************************/ - -#ifdef UA_ENABLE_PUBSUB_MONITORING - -UA_StatusCode -UA_PubSubManager_setDefaultMonitoringCallbacks(UA_PubSubMonitoringInterface *monitoringInterface); - -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - -#endif /* UA_ENABLE_PUBSUB */ - -_UA_END_DECLS - - -/**** amalgamated original file "/src/pubsub/ua_pubsub_ns0.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2018 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - -#ifndef UA_PUBSUB_NS0_H_ -#define UA_PUBSUB_NS0_H_ - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL /* conditional compilation */ - -UA_StatusCode -initPubSubNS0(UA_Server *server); - -UA_StatusCode -addPubSubConnectionRepresentation(UA_Server *server, UA_PubSubConnection *connection); - -UA_StatusCode -addWriterGroupRepresentation(UA_Server *server, UA_WriterGroup *writerGroup); - -UA_StatusCode -addReaderGroupRepresentation(UA_Server *server, UA_ReaderGroup *readerGroup); - -UA_StatusCode -addDataSetWriterRepresentation(UA_Server *server, UA_DataSetWriter *dataSetWriter); - -UA_StatusCode -addPublishedDataItemsRepresentation(UA_Server *server, UA_PublishedDataSet *publishedDataSet); - -UA_StatusCode -addStandaloneSubscribedDataSetRepresentation(UA_Server *server, UA_StandaloneSubscribedDataSet *subscribedDataSet); - -UA_StatusCode -addDataSetReaderRepresentation(UA_Server *server, UA_DataSetReader *dataSetReader); - -UA_StatusCode -connectDataSetReaderToDataSet(UA_Server *server, UA_NodeId dsrId, UA_NodeId standaloneSdsId); - -#ifdef UA_ENABLE_PUBSUB_SKS -UA_StatusCode -addSecurityGroupRepresentation(UA_Server *server, UA_SecurityGroup *securityGroup); -#endif /* UA_ENABLE_PUBSUB_SKS */ - -#endif /* UA_ENABLE_PUBSUB_INFORMATIONMODEL */ - -_UA_END_DECLS - -#endif /* UA_PUBSUB_NS0_H_ */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_keystorage.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2019 ifak e.V. Magdeburg (Holger Zipper) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - -#ifndef UA_PUBSUB_KEYSTORAGE -#define UA_PUBSUB_KEYSTORAGE - - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_PUBSUB_SKS - -/** - * PubSubKeyStorage - * ================ - * A PubSubKeyStorage provides a linked list to store all the keys used to - * secure the messages. It keeps the records of old keys (past keys), current - * key, new keys (futurekeys), time to move to next key and callback id. - * - * PubSubKeyListItem is the basic item stored in the KeyList of KeyStorage. It - * provides keyId, Key, and pointer to the next key in KeyList. The KeyId is used - * to identify and update currentKey in the keystorage. The KeyId is the SecurityTokenId - * that appears in the header of messages secured with the CurrentKey. - * - * Working - * ======= - * +------------------------------+ - * |AddReaderGroup/AddWriterGroup | - * +------------------------------+ - * | - * V - * +--------------------+ - * |CheckSecurityGroupId| - * +--------------------+ - * |Yes - * V - * +--------------------+ - * |InitializeKeyStorage| - * +--------------------+ - * | - * V - * +----------------------------+ - * |store/updateKeysInKeyStorage| - * +----------------------------+ - * | - * V - * +------------------------------------------+ - * |activateKeysToAllPubSubGroupChannelContext| - * +------------------------------------------+ - * | Ʌ - * V | - * +-----------------------+ | - * |addKeyRolloverCallbacks| | - * +-----------------------+ | - * | | - * V | - * +-------------------+ | - * |keyRolloverCallback| | - * +-------------------+ | - * |CurrentKey!=LastItem | - * -------------------------+ - * - * A KeyStorage is created and initialized when a ReaderGroup or WriterGroup is - * created with securityGroupId and SecurityMode SignAndEncrypt. The new - * KeyStorage is added to the server KeyStorageList. At this time KeyList is empty. - * - * UA_PubSubKeyStorage_storeSecurityKeys is used to push the keys into existing - * keystorage. In order to update the KeyList of an existing keyStorage, - * UA_PubSubKeyStorage_update is called. - * - * After adding/updating the keys to keystorage, the current key should be - * activated to the associated PubSub Group's ChannelContext in the server. The - * security Policy associated with PubSub Group will take the keys from - * channel context and use them to secure the messages. - * The UA_PubSubKeyStorage_storeSecurityKeys and UA_PubSubKeyStorage_update - * method will be used by setSecurityKeysAction and getSecurityKeysAction to - * retrieve the keys from SKS server and store keys in local storage. - * - * Each key has a life time, after which the current key is expired and move to - * next key in the existing list. For this a callback function is added to the - * server. The callback function keyRolloverCallback is added to the server as a - * timed callback. The addKeyRolloverCallbacks function calculates the time - * stamp to trigger the callback when the current Key expires and roll - * over to the next key in existing list. - * - */ - -/** - * @brief This structure holds the information about the keys - */ -typedef struct UA_PubSubKeyListItem { - /* The SecurityTokenId associated with Key*/ - UA_UInt32 keyID; - - /* This key is not used directly since the protocol associated with the PubSubGroup(s) - * specifies an algorithm to generate distinct keys for different types of - * cryptography operations*/ - UA_ByteString key; - - /* Pointers to the key list entries*/ - TAILQ_ENTRY(UA_PubSubKeyListItem) keyListEntry; -} UA_PubSubKeyListItem; - -/* Queue Definition*/ -typedef TAILQ_HEAD(keyListItems, UA_PubSubKeyListItem) keyListItems; - -/** - * @brief It is used to hold configuration information required to connect an SKS server - * and fetch the security keys - */ -typedef struct UA_PubSubSKSConfig { - UA_ClientConfig clientConfig; - const char *endpointUrl; - UA_Server_sksPullRequestCallback userNotifyCallback; - void *context; - UA_UInt32 reqId; -} UA_PubSubSKSConfig; - -/** - * @brief This structure holds all info and keys related to one SecurityGroup. - * it is used as a list. - */ -typedef struct UA_PubSubKeyStorage { - - /** - * security group id of the security group related to this storage - */ - UA_String securityGroupID; - - /** - * none-owning pointer to the security policy related to this storage - */ - UA_PubSubSecurityPolicy *policy; - - /** - * in case of the SKS server, the key storage structure is deleted when removing the - * security group. - * in case of publisher / subscriber, one key storage structure is - * referenced by multiple reader / writer groups have a reference count to manage free - */ - UA_UInt32 referenceCount; - - /** - * array of keys. the elements inside this array have a next pointer. - * keyList can therefore be used as linked list. - */ - keyListItems keyList; - - /** - * size of the keyList - */ - size_t keyListSize; - - /** - * The maximum number of Past keys a keystorage is allowed to store - */ - UA_UInt32 maxPastKeyCount; - - /** - * The maximum number of Future keys a keyStorage is allowed to store - */ - UA_UInt32 maxFutureKeyCount; - - /* - * The maximum keylist size, calculated from maxPastKeyCount and maxFutureKeyCount - */ - UA_UInt32 maxKeyListSize; - - /** - * The SecurityTokenId that appears in the header of messages secured with the - * CurrentKey. It starts at 1 and is incremented by 1 each time the KeyLifetime - * elapses even if no keys are requested. If the CurrentTokenId increments past the - * maximum value of UInt32 it restarts a 1. - */ - UA_UInt32 currentTokenId; - - /** - * the current key used to secure the messages - */ - UA_PubSubKeyListItem *currentItem; - - /** - * keyLifeTime used to update the CurrentKey from the Local KeyStorage - */ - UA_Duration keyLifeTime; - - /** - * id used to register the callback to retrieve the keys related to this security - * group - */ - UA_UInt64 callBackId; - - /** - * used to store the sks related information to connect with SKS server and fetch security keys. - */ - UA_PubSubSKSConfig sksConfig; - - /** - * Pointer to the key storage list - */ - LIST_ENTRY(UA_PubSubKeyStorage) keyStorageList; - -} UA_PubSubKeyStorage; - -/** - * @brief Find the Keystorage from the Server KeyStorageList and returns the pointer to - * the keystorage - * - * @param server holds the keystoragelist - * @param securityGroupId of the keystorage to be found - * @return Pointer to the keystorage on success, null pointer on failure - */ -UA_PubSubKeyStorage * -UA_PubSubKeyStorage_findKeyStorage(UA_Server *server, UA_String securityGroupId); - -/** - * @brief retreives the security policy pointer from the PubSub configuration by - * SecurityPolicyUri - * - * @param server the server object - * @param securityPolicyUri the URI of the security policy - * @param policy the pointer to the security policy - * @return UA_StatusCode return status code - */ -UA_PubSubSecurityPolicy * -findPubSubSecurityPolicy(UA_Server *server, const UA_String *securityPolicyUri); - -/** - * @brief Deletes the keystorage from the server and its members - * - * @param server where the keystorage is created - * @param keyStorage pointer to the keystorage - */ -void -UA_PubSubKeyStorage_delete(UA_Server *server, UA_PubSubKeyStorage *keyStorage); - -/** - * @brief Initializes an empty Keystorage for the SecurityGroupId and add it to the Server - * KeyStorageList - * - * @param server The server object - * @param keyStorage Pointer to the keystorage to be initialized - * @param securityGroupId The identifier of the SecurityGroup - * @param policy The security policy assocaited with the security algorithm - * @param maxPastKeyCount maximum number of past keys a keystorage is allowed to store - * @param maxFutureKeyCount maximum number of future keys a keystorage is allowed to store - * @return UA_StatusCode return status code - */ -UA_StatusCode -UA_PubSubKeyStorage_init(UA_Server *server, UA_PubSubKeyStorage *keyStorage, - const UA_String *securityGroupId, - UA_PubSubSecurityPolicy *policy, - UA_UInt32 maxPastKeyCount, UA_UInt32 maxFutureKeyCount); - -/** - * @brief After Keystorage is initialized and added to the server, this method is called - * to store the current Keys and futurekeys. - * - * @param server the server object - * @param keyStorage pointer to the keyStorage - * @param currentTokenId The token Id of the current key it starts with 1 and increaments - * each time keylifetime expires - * @param currentKey the key used for encrypt the current messages - * @param futureKeys pointer to the future keys - * @param futureKeyCount the number future keys provided - * @param keyLifeTime the time period when the key expires and move to next future key in - * milli seconds - * @return UA_StatusCode the return status - */ -UA_StatusCode -UA_PubSubKeyStorage_storeSecurityKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage, - UA_UInt32 currentTokenId, const UA_ByteString *currentKey, - UA_ByteString *futureKeys, size_t futureKeyCount, - UA_Duration msKeyLifeTime); - -/** - * @brief Finds the KeyItem from the KeyList by KeyId - * - * @param keyId the identifier of the Key - * @param keyStorage pointer to the keystorage - * @param keyItem returned pointer to the keyItem in the KeyList - * @return UA_StatusCode return status code - */ -UA_StatusCode -UA_PubSubKeyStorage_getKeyByKeyID(const UA_UInt32 keyId, UA_PubSubKeyStorage *keyStorage, - UA_PubSubKeyListItem **keyItem); - -/** - * @brief Adds a new KeyItem at the end of the KeyList - * to the new KeyListItem. - * - * @param keyStorage pointer to the keystorage - * @param key the key to be added - * @param keyID the keyID associated with the key to be added - */ -UA_PubSubKeyListItem * -UA_PubSubKeyStorage_push(UA_PubSubKeyStorage *keyStorage, const UA_ByteString *key, - UA_UInt32 keyID); - -/** - * @brief It calculates the time to trigger the callback to update current key, adds the - * callback to the server and returns the callbackId. - * - * @param server the server object - * @param keyStorage the pointer to the existing keystorage in the server - * @param callback the callback function to be added to the server - * @param timeToNextMs time in milli seconds to trigger the callback function - * @param callbackID the returned callbackId of the added callback function - * @return UA_StatusCode the return status - */ -UA_StatusCode -UA_PubSubKeyStorage_addKeyRolloverCallback(UA_Server *server, - UA_PubSubKeyStorage *keyStorage, - UA_ServerCallback callback, - UA_Duration timeToNextMs, - UA_UInt64 *callbackID); - -/** - * @brief It takes the current Key data, divide it into signing key, encrypting key and - * keyNonce according to security policy associated with PubSub Group and set it in - * channel context of the assocaited PubSub Group. In case of pubSubGroupId is - * UA_NODEID_NULL, all the Reader/WriterGroup's channelcontext are updated with matching - * SecurityGroupId. - * - * @param server The server object - * @param pubSubGroupId the nodeId of the Reader/WirterGroup whose channel context to be - * updated - * @param securityGroupId The identifier for the SecurityGroup - * @return UA_StatusCode return status code - */ -UA_StatusCode -UA_PubSubKeyStorage_activateKeyToChannelContext(UA_Server *server, const UA_NodeId pubSubGroupId, - const UA_String securityGroupId); - -/** - * @brief The callback function to update the current key from keystorage in the server - * and activate the current key into channel context of the associated PubSub Group - * - * @param server the server object - * @param keyStorage the pointer to the keystorage - */ -void -UA_PubSubKeyStorage_keyRolloverCallback(UA_Server *server, UA_PubSubKeyStorage *keyStorage); - -/** - * @brief It updates/adds the current and future keys into the existing KeyStorage. - * If the currentKeyID is known to existing keyStorage, then it is set as the currentKey - * and any future keys are appended to the existing list. If the currentKeyId is not know - * then, existing keyList is discarded and replaced with the new list. - * - * @param server the server object - * @param keyStorage pointer to the keystorage - * @param currentKey the currentKey data - * @param currentKeyID the identifier of the current Key - * @param futureKeySize the size of the future key list - * @param futureKeys the pointer to the future keys list - * @param msKeyLifeTime the updated time to move to next key - * @return UA_StatusCode the return status - */ -UA_StatusCode -UA_PubSubKeyStorage_update(UA_Server *server, UA_PubSubKeyStorage *keyStorage, - const UA_ByteString *currentKey, UA_UInt32 currentKeyID, - const size_t futureKeySize, UA_ByteString *futureKeys, - UA_Duration msKeyLifeTime); - -/* KeyStorage must be referenced by atleast one PubSubGroup. This method reduces - * the reference count by one. If no PubSubGroup uses the key storage, then it - * is deleted. */ -void -UA_PubSubKeyStorage_detachKeyStorage(UA_Server *server, UA_PubSubKeyStorage *keyStorage); - -/*Calls get SecurityKeys Method and Store the returned keys into KeyStorage*/ -UA_StatusCode -getSecurityKeysAndStoreFetchedKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage); - -#endif - -_UA_END_DECLS - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/server/ua_server_async.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2019 (c) Fraunhofer IOSB (Author: Klaus Schick) - * based on - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2015 (c) Sten Grüner - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - - -_UA_BEGIN_DECLS - -#if UA_MULTITHREADING >= 100 - -struct UA_AsyncResponse; -typedef struct UA_AsyncResponse UA_AsyncResponse; - -/* A single operation (of a larger request) */ -typedef struct UA_AsyncOperation { - TAILQ_ENTRY(UA_AsyncOperation) pointers; - UA_CallMethodRequest request; - UA_CallMethodResult response; - size_t index; /* Index of the operation in the array of ops in - * request/response */ - UA_AsyncResponse *parent; /* Always non-NULL. The parent is only removed - * when its operations are removed */ -} UA_AsyncOperation; - -struct UA_AsyncResponse { - TAILQ_ENTRY(UA_AsyncResponse) pointers; /* Insert new at the end */ - UA_UInt32 requestId; - UA_NodeId sessionId; - UA_UInt32 requestHandle; - UA_DateTime timeout; - UA_AsyncOperationType operationType; - union { - UA_CallResponse callResponse; - UA_ReadResponse readResponse; - UA_WriteResponse writeResponse; - } response; - UA_UInt32 opCountdown; /* Counter for outstanding operations. The AR can - * only be deleted when all have returned. */ -}; - -typedef TAILQ_HEAD(UA_AsyncOperationQueue, UA_AsyncOperation) UA_AsyncOperationQueue; - -typedef struct { - /* Requests / Responses */ - TAILQ_HEAD(, UA_AsyncResponse) asyncResponses; - size_t asyncResponsesCount; - - /* Operations for the workers. The queues are all FIFO: Put in at the tail, - * take out at the head.*/ - UA_Lock queueLock; /* Either take this lock free-standing (with no other - * locks). Or take server->serviceMutex first and then - * the queueLock. Never take the server->serviceMutex - * when the queueLock is already acquired (deadlock)! */ - UA_AsyncOperationQueue newQueue; /* New operations for the workers */ - UA_AsyncOperationQueue dispatchedQueue; /* Operations taken by a worker. When a result is - * returned, we search for the op here to see if it - * is still "alive" (not timed out). */ - UA_AsyncOperationQueue resultQueue; /* Results to be integrated */ - size_t opsCount; /* How many operations are transient (in one of the three queues)? */ - - UA_UInt64 checkTimeoutCallbackId; /* Registered repeated callbacks */ -} UA_AsyncManager; - -void UA_AsyncManager_init(UA_AsyncManager *am, UA_Server *server); -void UA_AsyncManager_clear(UA_AsyncManager *am, UA_Server *server); - -UA_StatusCode -UA_AsyncManager_createAsyncResponse(UA_AsyncManager *am, UA_Server *server, - const UA_NodeId *sessionId, - const UA_UInt32 requestId, - const UA_UInt32 requestHandle, - const UA_AsyncOperationType operationType, - UA_AsyncResponse **outAr); - -/* Only remove the AsyncResponse when the operation count is zero */ -void -UA_AsyncManager_removeAsyncResponse(UA_AsyncManager *am, UA_AsyncResponse *ar); - -UA_StatusCode -UA_AsyncManager_createAsyncOp(UA_AsyncManager *am, UA_Server *server, - UA_AsyncResponse *ar, size_t opIndex, - const UA_CallMethodRequest *opRequest); - -/* Send out the response with status set. Also removes all outstanding - * operations from the dispatch queue. The queuelock needs to be taken before - * calling _cancel. */ -UA_UInt32 -UA_AsyncManager_cancel(UA_Server *server, UA_Session *session, UA_UInt32 requestHandle); - -typedef void (*UA_AsyncServiceOperation)(UA_Server *server, UA_Session *session, - UA_UInt32 requestId, UA_UInt32 requestHandle, - size_t opIndex, const void *requestOperation, - void *responseOperation, UA_AsyncResponse **ar); - -/* Creates an AsyncResponse in-situ when an async operation is encountered. If - * that is the case, the sync responses are moved to the AsyncResponse. */ -UA_StatusCode -UA_Server_processServiceOperationsAsync(UA_Server *server, UA_Session *session, - UA_UInt32 requestId, UA_UInt32 requestHandle, - UA_AsyncServiceOperation operationCallback, - const size_t *requestOperations, - const UA_DataType *requestOperationsType, - size_t *responseOperations, - const UA_DataType *responseOperationsType, - UA_AsyncResponse **ar) -UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -#endif /* UA_MULTITHREADING >= 100 */ - -_UA_END_DECLS - - -/**** amalgamated original file "/src/server/ua_server_internal.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2019 (c) Fraunhofer IOSB (Author: Klaus Schick) - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Julian Grothoff - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright 2022 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - */ - - -#define UA_INTERNAL - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_PUBSUB -#endif - -#ifdef UA_ENABLE_DISCOVERY -struct UA_DiscoveryManager; -typedef struct UA_DiscoveryManager UA_DiscoveryManager; -#endif - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -typedef struct { - UA_MonitoredItem monitoredItem; - void *context; - union { - UA_Server_DataChangeNotificationCallback dataChangeCallback; - /* UA_Server_EventNotificationCallback eventCallback; */ - } callback; -} UA_LocalMonitoredItem; - -#endif /* !UA_ENABLE_SUBSCRIPTIONS */ - -/********************/ -/* Server Component */ -/********************/ - -/* ServerComponents have an explicit lifecycle. But they can only be started - * when the underlying server is started. The starting/stopping of - * ServerComponents is asynchronous. That is, they might require several - * iterations of the EventLoop to finish starting/stopping. - * - * ServerComponents can only be deleted when they are STOPPED. The server will - * not fully shut down as long as there is a component remaining. */ - -typedef struct UA_ServerComponent { - UA_UInt64 identifier; - UA_String name; - ZIP_ENTRY(UA_ServerComponent) treeEntry; - UA_LifecycleState state; - - /* Starting fails if the server is not also already started */ - UA_StatusCode (*start)(UA_Server *server, - struct UA_ServerComponent *sc); - - /* Stopping is asynchronous and might need a few iterations of the main-loop - * to succeed. */ - void (*stop)(UA_Server *server, - struct UA_ServerComponent *sc); - - /* Clean up the ServerComponent. Can fail if it is not stopped. */ - UA_StatusCode (*free)(UA_Server *server, - struct UA_ServerComponent *sc); - - /* To be set by the server. So the component can notify the server about - * asynchronous state changes. */ - void (*notifyState)(UA_Server *server, struct UA_ServerComponent *sc, - UA_LifecycleState state); -} UA_ServerComponent; - -enum ZIP_CMP -cmpServerComponent(const UA_UInt64 *a, const UA_UInt64 *b); - -typedef ZIP_HEAD(UA_ServerComponentTree, UA_ServerComponent) UA_ServerComponentTree; - -ZIP_FUNCTIONS(UA_ServerComponentTree, UA_ServerComponent, treeEntry, - UA_UInt64, identifier, cmpServerComponent) - -/* Assigns the identifier if the pointer is non-NULL. - * Starts the component if the server is started. */ -void -addServerComponent(UA_Server *server, UA_ServerComponent *sc, - UA_UInt64 *identifier); - -UA_ServerComponent * -getServerComponentByName(UA_Server *server, UA_String name); - -/********************/ -/* Server Structure */ -/********************/ - -typedef struct session_list_entry { - UA_DelayedCallback cleanupCallback; - LIST_ENTRY(session_list_entry) pointers; - UA_Session session; -} session_list_entry; - -struct UA_Server { - /* Config */ - UA_ServerConfig config; - - /* Runtime state */ - UA_DateTime startTime; - UA_DateTime endTime; /* Zeroed out. If a time is set, then the server shuts - * down once the time has been reached */ - - UA_LifecycleState state; - UA_UInt64 houseKeepingCallbackId; - - UA_UInt64 serverComponentIds; /* Counter to assign ids from */ - UA_ServerComponentTree serverComponents; - -#if UA_MULTITHREADING >= 100 - UA_AsyncManager asyncManager; -#endif - - /* Session Management */ - LIST_HEAD(session_list, session_list_entry) sessions; - UA_UInt32 sessionCount; - UA_UInt32 activeSessionCount; - UA_Session adminSession; /* Local access to the services (for startup and - * maintenance) uses this Session with all possible - * access rights (Session Id: 1) */ - - /* Namespaces */ - size_t namespacesSize; - UA_String *namespaces; - - /* For bootstrapping, omit some consistency checks, creating a reference to - * the parent and member instantiation */ - UA_Boolean bootstrapNS0; - - /* Subscriptions */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - size_t subscriptionsSize; /* Number of active subscriptions */ - size_t monitoredItemsSize; /* Number of active monitored items */ - LIST_HEAD(, UA_Subscription) subscriptions; /* All subscriptions in the - * server. They may be detached - * from a session. */ - UA_UInt32 lastSubscriptionId; /* To generate unique SubscriptionIds */ - - /* To be cast to UA_LocalMonitoredItem to get the callback and context */ - LIST_HEAD(, UA_MonitoredItem) localMonitoredItems; - UA_UInt32 lastLocalMonitoredItemId; - -# ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS - LIST_HEAD(, UA_ConditionSource) conditionSources; - UA_NodeId refreshEvents[2]; -# endif -#endif - - /* Publish/Subscribe */ -#ifdef UA_ENABLE_PUBSUB - UA_PubSubManager pubSubManager; -#endif - -#if UA_MULTITHREADING >= 100 - UA_Lock serviceMutex; -#endif - - /* Statistics */ - UA_SecureChannelStatistics secureChannelStatistics; - UA_ServerDiagnosticsSummaryDataType serverDiagnosticsSummary; -}; - -/***********************/ -/* References Handling */ -/***********************/ - -enum ZIP_CMP -cmpRefTargetId(const void *a, const void *b); - -enum ZIP_CMP -cmpRefTargetName(const void *a, const void *b); - -/* Static inline methods for tree handling */ -typedef ZIP_HEAD(UA_ReferenceIdTree, UA_ReferenceTargetTreeElem) UA_ReferenceIdTree; -ZIP_FUNCTIONS(UA_ReferenceIdTree, UA_ReferenceTargetTreeElem, idTreeEntry, - UA_ReferenceTargetTreeElem, target, cmpRefTargetId) - -typedef ZIP_HEAD(UA_ReferenceNameTree, UA_ReferenceTargetTreeElem) UA_ReferenceNameTree; -ZIP_FUNCTIONS(UA_ReferenceNameTree, UA_ReferenceTargetTreeElem, nameTreeEntry, - UA_ReferenceTarget, target, cmpRefTargetName) - -/**************************/ -/* SecureChannel Handling */ -/**************************/ - -void -serverNetworkCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, - const UA_KeyValueMap *params, - UA_ByteString msg); - -UA_StatusCode -sendServiceFault(UA_SecureChannel *channel, UA_UInt32 requestId, - UA_UInt32 requestHandle, UA_StatusCode statusCode); - -/* Gets the a pointer to the context of a security policy supported by the - * server matched by the security policy uri. */ -UA_SecurityPolicy * -getSecurityPolicyByUri(const UA_Server *server, - const UA_ByteString *securityPolicyUri); - -UA_UInt32 -generateSecureChannelTokenId(UA_Server *server); - -/********************/ -/* Session Handling */ -/********************/ - -UA_StatusCode -getNamespaceByName(UA_Server *server, const UA_String namespaceUri, - size_t *foundIndex); - -UA_StatusCode -getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, - UA_String *foundUri); - -UA_StatusCode -getBoundSession(UA_Server *server, const UA_SecureChannel *channel, - const UA_NodeId *token, UA_Session **session); - -UA_StatusCode -UA_Server_createSession(UA_Server *server, UA_SecureChannel *channel, - const UA_CreateSessionRequest *request, UA_Session **session); - -void -UA_Server_removeSession(UA_Server *server, session_list_entry *sentry, - UA_ShutdownReason shutdownReason); - -UA_StatusCode -UA_Server_removeSessionByToken(UA_Server *server, const UA_NodeId *token, - UA_ShutdownReason shutdownReason); - -void -UA_Server_cleanupSessions(UA_Server *server, UA_DateTime nowMonotonic); - -UA_Session * -getSessionByToken(UA_Server *server, const UA_NodeId *token); - -UA_Session * -getSessionById(UA_Server *server, const UA_NodeId *sessionId); - -/*****************/ -/* Node Handling */ -/*****************/ - -/* Calls the callback with the node retrieved from the nodestore on top of the - * stack. Either a copy or the original node for in-situ editing. Depends on - * multithreading and the nodestore.*/ -typedef UA_StatusCode (*UA_EditNodeCallback)(UA_Server*, UA_Session*, - UA_Node *node, void*); -UA_StatusCode UA_Server_editNode(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, - UA_EditNodeCallback callback, - void *data); - -/*********************/ -/* Utility Functions */ -/*********************/ - -void setServerLifecycleState(UA_Server *server, UA_LifecycleState state); - -void setupNs1Uri(UA_Server *server); -UA_UInt16 addNamespace(UA_Server *server, const UA_String name); - -UA_Boolean -UA_Node_hasSubTypeOrInstances(const UA_NodeHead *head); - -/* Recursively searches "upwards" in the tree following specific reference types */ -UA_Boolean -isNodeInTree(UA_Server *server, const UA_NodeId *leafNode, - const UA_NodeId *nodeToFind, const UA_ReferenceTypeSet *relevantRefs); - -/* Convenience function with just a single ReferenceTypeIndex */ -UA_Boolean -isNodeInTree_singleRef(UA_Server *server, const UA_NodeId *leafNode, - const UA_NodeId *nodeToFind, const UA_Byte relevantRefTypeIndex); - -/* Returns an array with the hierarchy of nodes. The start nodes can be returned - * as well. The returned array starts at the leaf and continues "upwards" or - * "downwards". Duplicate entries are removed. */ -UA_StatusCode -browseRecursive(UA_Server *server, size_t startNodesSize, const UA_NodeId *startNodes, - UA_BrowseDirection browseDirection, const UA_ReferenceTypeSet *refTypes, - UA_UInt32 nodeClassMask, UA_Boolean includeStartNodes, - size_t *resultsSize, UA_ExpandedNodeId **results); - -/* Get the bitfield indices of a ReferenceType and possibly its subtypes. - * refType must point to a ReferenceTypeNode. */ -UA_StatusCode -referenceTypeIndices(UA_Server *server, const UA_NodeId *refType, - UA_ReferenceTypeSet *indices, UA_Boolean includeSubtypes); - -/* Returns the recursive type and interface hierarchy of the node */ -UA_StatusCode -getParentTypeAndInterfaceHierarchy(UA_Server *server, const UA_NodeId *typeNode, - UA_NodeId **typeHierarchy, size_t *typeHierarchySize); - -/* Returns the recursive interface hierarchy of the node */ -UA_StatusCode -getAllInterfaceChildNodeIds(UA_Server *server, const UA_NodeId *objectNode, const UA_NodeId *objectTypeNode, - UA_NodeId **interfaceChildNodes, size_t *interfaceChildNodesSize); - -#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS - -UA_StatusCode -UA_getConditionId(UA_Server *server, const UA_NodeId *conditionNodeId, - UA_NodeId *outConditionId); - -void -UA_ConditionList_delete(UA_Server *server); - -UA_Boolean -isConditionOrBranch(UA_Server *server, - const UA_NodeId *condition, - const UA_NodeId *conditionSource, - UA_Boolean *isCallerAC); - -#endif /* UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ - -/* Returns the type node from the node on the stack top. The type node is pushed - * on the stack and returned. */ -const UA_Node * -getNodeType(UA_Server *server, const UA_NodeHead *nodeHead); - -UA_StatusCode -sendResponse(UA_Server *server, UA_Session *session, UA_SecureChannel *channel, - UA_UInt32 requestId, UA_Response *response, const UA_DataType *responseType); - -/* Many services come as an array of operations. This function generalizes the - * processing of the operations. */ -typedef void (*UA_ServiceOperation)(UA_Server *server, UA_Session *session, - const void *context, - const void *requestOperation, - void *responseOperation); - -UA_StatusCode -UA_Server_processServiceOperations(UA_Server *server, UA_Session *session, - UA_ServiceOperation operationCallback, - const void *context, - const size_t *requestOperations, - const UA_DataType *requestOperationsType, - size_t *responseOperations, - const UA_DataType *responseOperationsType) - UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -/*********************/ -/* Locking/Unlocking */ -/*********************/ - -/* In order to prevent deadlocks between the EventLoop mutex and the - * server-mutex, we always take the EventLoop mutex first. */ - -void lockServer(UA_Server *server); -void unlockServer(UA_Server *server); - -/******************************************/ -/* Internal function calls, without locks */ -/******************************************/ -UA_StatusCode -deleteNode(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean deleteReferences); - -UA_StatusCode -addRef(UA_Server *server, const UA_NodeId sourceId, - const UA_NodeId referenceTypeId, const UA_NodeId targetId, - UA_Boolean forward); - -UA_StatusCode -deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_ExpandedNodeId targetNodeId, - UA_Boolean deleteBidirectional); - -UA_StatusCode -addRefWithSession(UA_Server *server, UA_Session *session, const UA_NodeId *sourceId, - const UA_NodeId *referenceTypeId, const UA_NodeId *targetId, - UA_Boolean forward); - -UA_StatusCode -setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, - const UA_DataSource dataSource); - -UA_StatusCode -setVariableNode_valueCallback(UA_Server *server, const UA_NodeId nodeId, - const UA_ValueCallback callback); - -UA_StatusCode -setMethodNode_callback(UA_Server *server, const UA_NodeId methodNodeId, - UA_MethodCallback methodCallback); - -UA_StatusCode -setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, - UA_NodeTypeLifecycle lifecycle); - -void -Operation_Write(UA_Server *server, UA_Session *session, void *context, - const UA_WriteValue *wv, UA_StatusCode *result); - -UA_StatusCode -writeAttribute(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, const UA_AttributeId attributeId, - const void *attr, const UA_DataType *attr_type); - -#define UA_WRITEATTRIBUTEFUNCS(ATTR, ATTRID, TYPE, TYPENAME) \ - static UA_INLINE UA_StatusCode \ - write##ATTR##Attribute(UA_Server *server, const UA_NodeId nodeId, \ - const TYPE value) { \ - return writeAttribute(server, &server->adminSession, &nodeId, \ - ATTRID, &value, &UA_TYPES[UA_TYPES_##TYPENAME]); \ - } \ - static UA_INLINE UA_StatusCode \ - write##ATTR##AttributeWithSession(UA_Server *server, UA_Session *session, \ - const UA_NodeId nodeId, const TYPE value) { \ - return writeAttribute(server, session, &nodeId, ATTRID, &value, \ - &UA_TYPES[UA_TYPES_##TYPENAME]); \ - } - -static UA_INLINE UA_StatusCode -writeValueAttribute(UA_Server *server, const UA_NodeId nodeId, - const UA_Variant *value) { - return writeAttribute(server, &server->adminSession, &nodeId, - UA_ATTRIBUTEID_VALUE, value, &UA_TYPES[UA_TYPES_VARIANT]); -} - -UA_WRITEATTRIBUTEFUNCS(IsAbstract, UA_ATTRIBUTEID_ISABSTRACT, UA_Boolean, BOOLEAN) -UA_WRITEATTRIBUTEFUNCS(ValueRank, UA_ATTRIBUTEID_VALUERANK, UA_Int32, INT32) -UA_WRITEATTRIBUTEFUNCS(AccessLevel, UA_ATTRIBUTEID_ACCESSLEVEL, UA_Byte, BYTE) -UA_WRITEATTRIBUTEFUNCS(MinimumSamplingInterval, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - UA_Double, DOUBLE) - -void -Operation_Read(UA_Server *server, UA_Session *session, UA_TimestampsToReturn *ttr, - const UA_ReadValueId *rvi, UA_DataValue *dv); - -UA_DataValue -readWithSession(UA_Server *server, UA_Session *session, - const UA_ReadValueId *item, - UA_TimestampsToReturn timestampsToReturn); - -UA_StatusCode -readWithReadValue(UA_Server *server, const UA_NodeId *nodeId, - const UA_AttributeId attributeId, void *v); - -UA_StatusCode -readObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - UA_Variant *value); - -UA_BrowsePathResult -translateBrowsePathToNodeIds(UA_Server *server, const UA_BrowsePath *browsePath); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -void monitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon); - -UA_Subscription * -getSubscriptionById(UA_Server *server, UA_UInt32 subscriptionId); - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - -UA_StatusCode -createEvent(UA_Server *server, const UA_NodeId eventType, - UA_NodeId *outNodeId); - -UA_StatusCode -triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, - const UA_NodeId origin, UA_ByteString *outEventId, - const UA_Boolean deleteEventNode); - -/* Filters the given event with the given filter and writes the results into a - * notification */ -UA_StatusCode -filterEvent(UA_Server *server, UA_Session *session, - const UA_NodeId *eventNode, UA_EventFilter *filter, - UA_EventFieldList *efl, UA_EventFilterResult *result); - -#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -/* Returns a configured SecurityPolicy with encryption. Use Basic256Sha256 if - * available. Otherwise use any encrypted SecurityPolicy. */ -UA_SecurityPolicy * -getDefaultEncryptedSecurityPolicy(UA_Server *server); - -UA_StatusCode -setCurrentEndPointsArray(UA_Server *server, const UA_String endpointURL, - UA_String *profileUris, size_t profileUrisSize, - UA_EndpointDescription **arr, size_t *arrSize); - -UA_BrowsePathResult -browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, - size_t browsePathSize, const UA_QualifiedName *browsePath); - -UA_StatusCode -writeObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, const UA_Variant value); - -UA_StatusCode -writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const void *value, const UA_DataType *type); - -UA_StatusCode -getNodeContext(UA_Server *server, UA_NodeId nodeId, void **nodeContext); - -UA_StatusCode -setNodeContext(UA_Server *server, UA_NodeId nodeId, void *nodeContext); - -void -removeCallback(UA_Server *server, UA_UInt64 callbackId); - -UA_StatusCode -changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, - UA_Double interval_ms); - -UA_StatusCode -addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, - void *data, UA_Double interval_ms, UA_UInt64 *callbackId); - -#ifdef UA_ENABLE_DISCOVERY -UA_ServerComponent * -UA_DiscoveryManager_new(UA_Server *server); -#endif - -UA_String -securityPolicyUriPostfix(const UA_String uri); - -UA_ServerComponent * -UA_BinaryProtocolManager_new(UA_Server *server); - -/***********/ -/* RefTree */ -/***********/ - -/* A RefTree is a sorted set of NodeIds that ensures we consider each node just - * once. It holds a single array for both the ExpandedNodeIds and the entries of - * a tree-structure for fast lookup. A single realloc operation (with some - * pointer repairing) can be used to increase the capacity of the RefTree. - * - * When the RefTree is complete, the tree-part at the end of the targets array - * can be ignored / cut away to use it as a simple ExpandedNodeId array. - * - * The layout of the targets array is as follows: - * - * | Targets [ExpandedNodeId, n times] | Tree [RefEntry, n times] | */ - -#define UA_REFTREE_INITIAL_SIZE 16 - -typedef struct RefEntry { - ZIP_ENTRY(RefEntry) zipfields; - const UA_ExpandedNodeId *target; - UA_UInt32 targetHash; /* Hash of the target nodeid */ -} RefEntry; - -ZIP_HEAD(RefHead, RefEntry); -typedef struct RefHead RefHead; - -typedef struct { - UA_ExpandedNodeId *targets; - RefHead head; - size_t capacity; /* available space */ - size_t size; /* used space */ -} RefTree; - -UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT -RefTree_init(RefTree *rt); - -void RefTree_clear(RefTree *rt); - -UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT -RefTree_addNodeId(RefTree *rt, const UA_NodeId *target, UA_Boolean *duplicate); - -UA_Boolean -RefTree_contains(RefTree *rt, const UA_ExpandedNodeId *target); - -UA_Boolean -RefTree_containsNodeId(RefTree *rt, const UA_NodeId *target); - -/***************************************/ -/* Check Information Model Consistency */ -/***************************************/ - -/* Read a node attribute in the context of a "checked-out" node. So the - * attribute will not be copied when possible. The variant then points into the - * node and has UA_VARIANT_DATA_NODELETE set. */ -void -ReadWithNode(const UA_Node *node, UA_Server *server, UA_Session *session, - UA_TimestampsToReturn timestampsToReturn, - const UA_ReadValueId *id, UA_DataValue *v); - -UA_StatusCode -readValueAttribute(UA_Server *server, UA_Session *session, - const UA_VariableNode *vn, UA_DataValue *v); - -/* Test whether the value matches a variable definition given by - * - datatype - * - valuerank - * - array dimensions. - * Sometimes it can be necessary to transform the content of the value, e.g. - * byte array to bytestring or uint32 to some enum. If editableValue is non-NULL, - * we try to create a matching variant that points to the original data. - * - * The reason is set whenever the return value is false */ -UA_Boolean -compatibleValue(UA_Server *server, UA_Session *session, const UA_NodeId *targetDataTypeId, - UA_Int32 targetValueRank, size_t targetArrayDimensionsSize, - const UA_UInt32 *targetArrayDimensions, const UA_Variant *value, - const UA_NumericRange *range, const char **reason); - -/* Is the DataType compatible */ -UA_Boolean -compatibleDataTypes(UA_Server *server, const UA_NodeId *dataType, - const UA_NodeId *constraintDataType); - -/* Set to the target type if compatible */ -void -adjustValueType(UA_Server *server, UA_Variant *value, - const UA_NodeId *targetDataTypeId); - -/* Is the Value compatible with the DataType? Can perform additional checks - * compared to compatibleDataTypes. */ -UA_Boolean -compatibleValueDataType(UA_Server *server, const UA_DataType *dataType, - const UA_NodeId *constraintDataType); - - -UA_Boolean -compatibleArrayDimensions(size_t constraintArrayDimensionsSize, - const UA_UInt32 *constraintArrayDimensions, - size_t testArrayDimensionsSize, - const UA_UInt32 *testArrayDimensions); - -UA_Boolean -compatibleValueArrayDimensions(const UA_Variant *value, size_t targetArrayDimensionsSize, - const UA_UInt32 *targetArrayDimensions); - -UA_Boolean -compatibleValueRankArrayDimensions(UA_Server *server, UA_Session *session, - UA_Int32 valueRank, size_t arrayDimensionsSize); - -UA_Boolean -compatibleValueRanks(UA_Int32 valueRank, UA_Int32 constraintValueRank); - -struct BrowseOpts { - UA_UInt32 maxReferences; - UA_Boolean recursive; -}; - -void -Operation_Browse(UA_Server *server, UA_Session *session, const UA_UInt32 *maxrefs, - const UA_BrowseDescription *descr, UA_BrowseResult *result); - -/************/ -/* AddNodes */ -/************/ - -UA_StatusCode -addNode(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_NodeId typeDefinition, - const void *attr, const UA_DataType *attributeType, - void *nodeContext, UA_NodeId *outNewNodeId); - -UA_StatusCode -addMethodNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_MethodAttributes *attr, UA_MethodCallback method, - size_t inputArgumentsSize, const UA_Argument *inputArguments, - const UA_NodeId inputArgumentsRequestedNewNodeId, - UA_NodeId *inputArgumentsOutNewNodeId, - size_t outputArgumentsSize, const UA_Argument *outputArguments, - const UA_NodeId outputArgumentsRequestedNewNodeId, - UA_NodeId *outputArgumentsOutNewNodeId, - void *nodeContext, UA_NodeId *outNewNodeId); - -UA_StatusCode -addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const void *attr, - const UA_DataType *attributeType, void *nodeContext, - UA_NodeId *outNewNodeId); - -/* Creates a new node in the nodestore. */ -UA_StatusCode -addNode_raw(UA_Server *server, UA_Session *session, void *nodeContext, - const UA_AddNodesItem *item, UA_NodeId *outNewNodeId); - -/* Check the reference to the parent node; Add references. */ -UA_StatusCode -addNode_addRefs(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId, - const UA_NodeId *parentNodeId, const UA_NodeId *referenceTypeId, - const UA_NodeId *typeDefinitionId); - -/* Type-check type-definition; Run the constructors */ -UA_StatusCode -addNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId); - -/**********************/ -/* Create Namespace 0 */ -/**********************/ - -UA_StatusCode initNS0(UA_Server *server); - -#ifdef UA_ENABLE_DIAGNOSTICS -void createSessionObject(UA_Server *server, UA_Session *session); - -void createSubscriptionObject(UA_Server *server, UA_Session *session, - UA_Subscription *sub); - -UA_StatusCode -readDiagnostics(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value); - -UA_StatusCode -readSubscriptionDiagnosticsArray(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value); - -UA_StatusCode -readSessionDiagnosticsArray(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value); - -UA_StatusCode -readSessionSecurityDiagnostics(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value); -#endif - -/***************************/ -/* Nodestore Access Macros */ -/***************************/ - -#define UA_NODESTORE_NEW(server, nodeClass) \ - server->config.nodestore.newNode(server->config.nodestore.context, nodeClass) - -#define UA_NODESTORE_DELETE(server, node) \ - server->config.nodestore.deleteNode(server->config.nodestore.context, node) - -/* Get the node with all attributes and references */ -static UA_INLINE const UA_Node * -UA_NODESTORE_GET(UA_Server *server, const UA_NodeId *nodeId) { - return server->config.nodestore. - getNode(server->config.nodestore.context, nodeId, UA_NODEATTRIBUTESMASK_ALL, - UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); -} - -/* Get the node with all attributes and references */ -static UA_INLINE const UA_Node * -UA_NODESTORE_GETFROMREF(UA_Server *server, UA_NodePointer target) { - return server->config.nodestore. - getNodeFromPtr(server->config.nodestore.context, target, UA_NODEATTRIBUTESMASK_ALL, - UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); -} - -#define UA_NODESTORE_GET_SELECTIVE(server, nodeid, attrMask, refs, refDirs) \ - server->config.nodestore.getNode(server->config.nodestore.context, \ - nodeid, attrMask, refs, refDirs) - -#define UA_NODESTORE_GETFROMREF_SELECTIVE(server, target, attrMask, refs, refDirs) \ - server->config.nodestore.getNodeFromPtr(server->config.nodestore.context, \ - target, attrMask, refs, refDirs) - -#define UA_NODESTORE_RELEASE(server, node) \ - server->config.nodestore.releaseNode(server->config.nodestore.context, node) - -#define UA_NODESTORE_GETCOPY(server, nodeid, outnode) \ - server->config.nodestore.getNodeCopy(server->config.nodestore.context, \ - nodeid, outnode) - -#define UA_NODESTORE_INSERT(server, node, addedNodeId) \ - server->config.nodestore.insertNode(server->config.nodestore.context, \ - node, addedNodeId) - -#define UA_NODESTORE_REPLACE(server, node) \ - server->config.nodestore.replaceNode(server->config.nodestore.context, node) - -#define UA_NODESTORE_REMOVE(server, nodeId) \ - server->config.nodestore.removeNode(server->config.nodestore.context, nodeId) - -#define UA_NODESTORE_GETREFERENCETYPEID(server, index) \ - server->config.nodestore.getReferenceTypeId(server->config.nodestore.context, \ - index) - -/* Handling of Locales */ - -/* Returns a shallow copy */ -UA_LocalizedText -UA_Session_getNodeDisplayName(const UA_Session *session, - const UA_NodeHead *head); - -UA_LocalizedText -UA_Session_getNodeDescription(const UA_Session *session, - const UA_NodeHead *head); - -UA_StatusCode -UA_Node_insertOrUpdateDisplayName(UA_NodeHead *head, - const UA_LocalizedText *value); - -UA_StatusCode -UA_Node_insertOrUpdateDescription(UA_NodeHead *head, - const UA_LocalizedText *value); - -_UA_END_DECLS - - -/**** amalgamated original file "/src/server/ua_services.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017, 2024 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2015 (c) Sten Grüner - * Copyright 2014 (c) LEvertz - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015 (c) Christian Fimmers - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -_UA_BEGIN_DECLS - -typedef void (*UA_Service)(UA_Server*, UA_Session*, - const void *request, void *response); - -typedef void (*UA_ChannelService)(UA_Server*, UA_SecureChannel*, - const void *request, void *response); - -/** Discovery Service Set **/ -void Service_FindServers(UA_Server *server, UA_Session *session, - const UA_FindServersRequest *request, - UA_FindServersResponse *response); - -void Service_GetEndpoints(UA_Server *server, UA_Session *session, - const UA_GetEndpointsRequest *request, - UA_GetEndpointsResponse *response); - -#ifdef UA_ENABLE_DISCOVERY - -void Service_RegisterServer(UA_Server *server, UA_Session *session, - const UA_RegisterServerRequest *request, - UA_RegisterServerResponse *response); - -void Service_RegisterServer2(UA_Server *server, UA_Session *session, - const UA_RegisterServer2Request *request, - UA_RegisterServer2Response *response); - -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - -void Service_FindServersOnNetwork(UA_Server *server, UA_Session *session, - const UA_FindServersOnNetworkRequest *request, - UA_FindServersOnNetworkResponse *response); - -# endif /* UA_ENABLE_DISCOVERY_MULTICAST */ - -#endif /* UA_ENABLE_DISCOVERY */ - -/** SecureChannel Service Set **/ -void Service_OpenSecureChannel(UA_Server *server, UA_SecureChannel* channel, - UA_OpenSecureChannelRequest *request, - UA_OpenSecureChannelResponse *response); - -void Service_CloseSecureChannel(UA_Server *server, UA_SecureChannel *channel); - -/** Session Service Set **/ -void Service_CreateSession(UA_Server *server, UA_SecureChannel *channel, - const UA_CreateSessionRequest *request, - UA_CreateSessionResponse *response); - -void Service_ActivateSession(UA_Server *server, UA_SecureChannel *channel, - const UA_ActivateSessionRequest *request, - UA_ActivateSessionResponse *response); - -void Service_CloseSession(UA_Server *server, UA_SecureChannel *channel, - const UA_CloseSessionRequest *request, - UA_CloseSessionResponse *response); - -void Service_Cancel(UA_Server *server, UA_Session *session, - const UA_CancelRequest *request, - UA_CancelResponse *response); - -/** NodeManagement Service Set **/ -void Service_AddNodes(UA_Server *server, UA_Session *session, - const UA_AddNodesRequest *request, - UA_AddNodesResponse *response); - -void Service_AddReferences(UA_Server *server, UA_Session *session, - const UA_AddReferencesRequest *request, - UA_AddReferencesResponse *response); - -void Service_DeleteNodes(UA_Server *server, UA_Session *session, - const UA_DeleteNodesRequest *request, - UA_DeleteNodesResponse *response); - -void Service_DeleteReferences(UA_Server *server, UA_Session *session, - const UA_DeleteReferencesRequest *request, - UA_DeleteReferencesResponse *response); - -/** View Service Set **/ -void Service_Browse(UA_Server *server, UA_Session *session, - const UA_BrowseRequest *request, - UA_BrowseResponse *response); - -void Service_BrowseNext(UA_Server *server, UA_Session *session, - const UA_BrowseNextRequest *request, - UA_BrowseNextResponse *response); - -void Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *session, - const UA_TranslateBrowsePathsToNodeIdsRequest *request, - UA_TranslateBrowsePathsToNodeIdsResponse *response); - -void Service_RegisterNodes(UA_Server *server, UA_Session *session, - const UA_RegisterNodesRequest *request, - UA_RegisterNodesResponse *response); - -void Service_UnregisterNodes(UA_Server *server, UA_Session *session, - const UA_UnregisterNodesRequest *request, - UA_UnregisterNodesResponse *response); - -/** Query Service Set (not implemented) **/ - -/** Attribute Service Set **/ -void Service_Read(UA_Server *server, UA_Session *session, - const UA_ReadRequest *request, - UA_ReadResponse *response); - -void Service_Write(UA_Server *server, UA_Session *session, - const UA_WriteRequest *request, - UA_WriteResponse *response); - -#ifdef UA_ENABLE_HISTORIZING -void Service_HistoryRead(UA_Server *server, UA_Session *session, - const UA_HistoryReadRequest *request, - UA_HistoryReadResponse *response); - -void Service_HistoryUpdate(UA_Server *server, UA_Session *session, - const UA_HistoryUpdateRequest *request, - UA_HistoryUpdateResponse *response); -#endif - -/** Method Service Set **/ -#ifdef UA_ENABLE_METHODCALLS -void Service_Call(UA_Server *server, UA_Session *session, - const UA_CallRequest *request, - UA_CallResponse *response); - -# if UA_MULTITHREADING >= 100 -void Service_CallAsync(UA_Server *server, UA_Session *session, UA_UInt32 requestId, - const UA_CallRequest *request, UA_CallResponse *response, - UA_Boolean *finished); -#endif -#endif - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -/** MonitoredItem Service Set **/ -void Service_CreateMonitoredItems(UA_Server *server, UA_Session *session, - const UA_CreateMonitoredItemsRequest *request, - UA_CreateMonitoredItemsResponse *response); - -void Service_DeleteMonitoredItems(UA_Server *server, UA_Session *session, - const UA_DeleteMonitoredItemsRequest *request, - UA_DeleteMonitoredItemsResponse *response); - -void Service_ModifyMonitoredItems(UA_Server *server, UA_Session *session, - const UA_ModifyMonitoredItemsRequest *request, - UA_ModifyMonitoredItemsResponse *response); - -void Service_SetMonitoringMode(UA_Server *server, UA_Session *session, - const UA_SetMonitoringModeRequest *request, - UA_SetMonitoringModeResponse *response); - -void Service_SetTriggering(UA_Server *server, UA_Session *session, - const UA_SetTriggeringRequest *request, - UA_SetTriggeringResponse *response); - -/** Subscription Service Set **/ -void Service_CreateSubscription(UA_Server *server, UA_Session *session, - const UA_CreateSubscriptionRequest *request, - UA_CreateSubscriptionResponse *response); - -void Service_ModifySubscription(UA_Server *server, UA_Session *session, - const UA_ModifySubscriptionRequest *request, - UA_ModifySubscriptionResponse *response); - -void Service_SetPublishingMode(UA_Server *server, UA_Session *session, - const UA_SetPublishingModeRequest *request, - UA_SetPublishingModeResponse *response); - -/* Special async service. Do not answer if StatusCode == Good. */ -UA_StatusCode -Service_Publish(UA_Server *server, UA_Session *session, - const UA_PublishRequest *request, UA_UInt32 requestId); - -void Service_Republish(UA_Server *server, UA_Session *session, - const UA_RepublishRequest *request, - UA_RepublishResponse *response); - -void Service_DeleteSubscriptions(UA_Server *server, UA_Session *session, - const UA_DeleteSubscriptionsRequest *request, - UA_DeleteSubscriptionsResponse *response); - -void Service_TransferSubscriptions(UA_Server *server, UA_Session *session, - const UA_TransferSubscriptionsRequest *request, - UA_TransferSubscriptionsResponse *response); - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -_UA_END_DECLS - - -/**** amalgamated original file "/src/client/ua_client_internal.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Florian Palm - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - */ - - -#define UA_INTERNAL - - -_UA_BEGIN_DECLS - -/**************************/ -/* Subscriptions Handling */ -/**************************/ - -typedef struct UA_Client_NotificationsAckNumber { - LIST_ENTRY(UA_Client_NotificationsAckNumber) listEntry; - UA_SubscriptionAcknowledgement subAck; -} UA_Client_NotificationsAckNumber; - -typedef struct UA_Client_MonitoredItem { - ZIP_ENTRY(UA_Client_MonitoredItem) zipfields; - UA_UInt32 monitoredItemId; - UA_UInt32 clientHandle; - void *context; - UA_Client_DeleteMonitoredItemCallback deleteCallback; - union { - UA_Client_DataChangeNotificationCallback dataChangeCallback; - UA_Client_EventNotificationCallback eventCallback; - } handler; - UA_Boolean isEventMonitoredItem; /* Otherwise a DataChange MoniitoredItem */ -} UA_Client_MonitoredItem; - -ZIP_HEAD(MonitorItemsTree, UA_Client_MonitoredItem); -typedef struct MonitorItemsTree MonitorItemsTree; - -typedef struct UA_Client_Subscription { - LIST_ENTRY(UA_Client_Subscription) listEntry; - UA_UInt32 subscriptionId; - void *context; - UA_Double publishingInterval; - UA_UInt32 maxKeepAliveCount; - UA_Client_StatusChangeNotificationCallback statusChangeCallback; - UA_Client_DeleteSubscriptionCallback deleteCallback; - UA_UInt32 sequenceNumber; - UA_DateTime lastActivity; - MonitorItemsTree monitoredItems; -} UA_Client_Subscription; - -void -__Client_Subscriptions_clean(UA_Client *client); - -/* Exposed for fuzzing */ -UA_StatusCode -__Client_preparePublishRequest(UA_Client *client, UA_PublishRequest *request); - -void -__Client_Subscriptions_backgroundPublish(UA_Client *client); - -void -__Client_Subscriptions_backgroundPublishInactivityCheck(UA_Client *client); - -/**********/ -/* Client */ -/**********/ - -typedef struct AsyncServiceCall { - LIST_ENTRY(AsyncServiceCall) pointers; - UA_UInt32 requestId; /* Unique id */ - UA_UInt32 requestHandle; /* Potentially non-unique if manually defined in - * the request header*/ - UA_ClientAsyncServiceCallback callback; - const UA_DataType *responseType; - void *userdata; - UA_DateTime start; - UA_UInt32 timeout; - UA_Response *syncResponse; /* If non-null, then this is the synchronous - * response to be filled. Set back to null to - * indicate that the response was filled. */ -} AsyncServiceCall; - -typedef LIST_HEAD(UA_AsyncServiceList, AsyncServiceCall) UA_AsyncServiceList; - -void -__Client_AsyncService_removeAll(UA_Client *client, UA_StatusCode statusCode); - -typedef struct CustomCallback { - UA_UInt32 callbackId; - - UA_ClientAsyncServiceCallback userCallback; - void *userData; - - void *clientData; -} CustomCallback; - -struct UA_Client { - UA_ClientConfig config; - - /* Callback ID to remove it from the EventLoop */ - UA_UInt64 houseKeepingCallbackId; - - /* Overall connection status */ - UA_StatusCode connectStatus; - - /* Old status to notify only changes */ - UA_SecureChannelState oldChannelState; - UA_SessionState oldSessionState; - UA_StatusCode oldConnectStatus; - - UA_Boolean findServersHandshake; /* Ongoing FindServers */ - UA_Boolean endpointsHandshake; /* Ongoing GetEndpoints */ - - /* The discoveryUrl can be different from the EndpointUrl in the client - * configuration. The EndpointUrl is used to connect initially, then the - * DiscoveryUrl is selected via FindServers. This triggers a reconnect if - * EndpointUrl != DiscoveryUrl. */ - UA_String discoveryUrl; - - /* Contains the Server description, etc. */ - UA_EndpointDescription endpoint; - - /* SecureChannel */ - UA_SecureChannel channel; - UA_UInt32 requestId; /* Unique, internally defined for each request */ - UA_DateTime nextChannelRenewal; - - /* Reverse connect (listen) connections */ - UA_ConnectionManager *reverseConnectionCM; - uintptr_t reverseConnectionIds[16]; - - /* Session */ - UA_SessionState sessionState; - UA_NodeId authenticationToken; - UA_UInt32 requestHandle; /* Unique handles >100,000 are generated if the - * request header contains a zero-handle. */ - UA_ByteString serverSessionNonce; - UA_ByteString clientSessionNonce; - - /* Connectivity check */ - UA_DateTime lastConnectivityCheck; - UA_Boolean pendingConnectivityCheck; - - /* Async Service */ - UA_AsyncServiceList asyncServiceCalls; - - /* Subscriptions */ - LIST_HEAD(, UA_Client_NotificationsAckNumber) pendingNotificationsAcks; - LIST_HEAD(, UA_Client_Subscription) subscriptions; - UA_UInt32 monitoredItemHandles; - UA_UInt16 currentlyOutStandingPublishRequests; - - /* Internal locking for thread-safety. Methods starting with UA_Client_ that - * are marked with UA_THREADSAFE take the lock. The lock is released before - * dropping into the EventLoop and before calling user-defined callbacks. - * That way user-defined callbacks can themselves call thread-safe client - * methods. */ -#if UA_MULTITHREADING >= 100 - UA_Lock clientMutex; -#endif -}; - -/* In order to prevent deadlocks between the EventLoop mutex and the - * client-mutex, we always take the EventLoop mutex first. */ - -void lockClient(UA_Client *client); -void unlockClient(UA_Client *client); - -UA_StatusCode -__Client_AsyncService(UA_Client *client, const void *request, - const UA_DataType *requestType, - UA_ClientAsyncServiceCallback callback, - const UA_DataType *responseType, - void *userdata, UA_UInt32 *requestId); - -void -__Client_Service(UA_Client *client, const void *request, - const UA_DataType *requestType, void *response, - const UA_DataType *responseType); - -UA_StatusCode -__UA_Client_startup(UA_Client *client); - -UA_StatusCode -__Client_renewSecureChannel(UA_Client *client); - -UA_StatusCode -processServiceResponse(UA_Client *client, UA_SecureChannel *channel, - UA_MessageType messageType, UA_UInt32 requestId, - UA_ByteString *message); - -UA_StatusCode connectInternal(UA_Client *client, UA_Boolean async); -UA_StatusCode connectSecureChannel(UA_Client *client, const char *endpointUrl); -UA_Boolean isFullyConnected(UA_Client *client); -void connectSync(UA_Client *client); -void notifyClientState(UA_Client *client); -void processRHEMessage(UA_Client *client, const UA_ByteString *chunk); -void processERRResponse(UA_Client *client, const UA_ByteString *chunk); -void processACKResponse(UA_Client *client, const UA_ByteString *chunk); -void processOPNResponse(UA_Client *client, const UA_ByteString *message); -void closeSecureChannel(UA_Client *client); -void cleanupSession(UA_Client *client); - -void -Client_warnEndpointsResult(UA_Client *client, - const UA_GetEndpointsResponse *response, - const UA_String *endpointUrl); - -_UA_END_DECLS - - -/**** amalgamated original file "/build/src_generated/open62541/namespace0_generated.h" ****/ - -/* WARNING: This is a generated file. - * Any manual changes will be overwritten. */ - -#ifndef NAMESPACE0_GENERATED_H_ -#define NAMESPACE0_GENERATED_H_ - - -#ifdef UA_ENABLE_AMALGAMATION - -/* The following declarations are in the open62541.c file so here's needed when compiling nodesets externally */ - -# ifndef UA_INTERNAL //this definition is needed to hide this code in the amalgamated .c file - -typedef UA_StatusCode (*UA_exchangeEncodeBuffer)(void *handle, UA_Byte **bufPos, - const UA_Byte **bufEnd); - -UA_StatusCode -UA_encodeBinary(const void *src, const UA_DataType *type, - UA_Byte **bufPos, const UA_Byte **bufEnd, - UA_exchangeEncodeBuffer exchangeCallback, - void *exchangeHandle) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -UA_StatusCode -UA_decodeBinary(const UA_ByteString *src, size_t *offset, void *dst, - const UA_DataType *type, size_t customTypesSize, - const UA_DataType *customTypes) UA_FUNC_ATTR_WARN_UNUSED_RESULT; - -size_t -UA_calcSizeBinary(void *p, const UA_DataType *type); - -const UA_DataType * -UA_findDataTypeByBinary(const UA_NodeId *typeId); - -# endif // UA_INTERNAL - -#else // UA_ENABLE_AMALGAMATION -#endif - - - - -_UA_BEGIN_DECLS - -extern UA_StatusCode namespace0_generated(UA_Server *server); - -_UA_END_DECLS - -#endif /* NAMESPACE0_GENERATED_H_ */ - -/**** amalgamated original file "/deps/cj5.h" ****/ - -// MIT License -// -// Copyright (c) 2020 Sepehr Taghdisian -// Copyright (c) 2022 Julius Pfrommer -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Very minimal single header JSON5 parser in C99, dervied from jsmn This is the -// modified version of jsmn library Thus main parts of the code is taken from -// jsmn project (https://github.com/zserge/jsmn). -// -// Compliance with JSON5: -// [x] Object keys may be an ECMAScript 5.1 IdentifierName. -// [x] Objects may have a single trailing comma. -// [x] Strings may be single quoted. -// [x] Strings may span multiple lines by escaping new line characters. -// [x] Strings may include character escapes. -// [x] Numbers may be hexadecimal. -// [x] Numbers may have a leading or trailing decimal point. -// [x] Numbers may be IEEE 754 positive infinity, negative infinity, and NaN. -// [x] Numbers may begin with an explicit plus sign. -// [x] Single and multi-line comments are allowed. -// [x] Additional white space characters are allowed. -// -// Extensions to JSON5 (more permissive): -// [x] Root objects can be an array or a primitive value -// [x] The root object may omit the surrounding brackets -// [x] Hash ('#') comments out until the end of the line. -// [x] Strings may include unescaped utf8 bytes -// [x] Optionally: Stop early when the first encountered JSON element (object, -// array, value) has been successfully parsed. Do not return an error when -// the input string was not processed to its full length. This allows the -// detection of JSON sub-strings as part of an input "lexer". -// -// Usage: -// The main function to parse json is `cj5_parse`. Like in jsmn, you provide -// all tokens to be filled as an array and provide the maximum count The result -// will be return in `cj5_result` struct, and `num_tokens` will represent the -// actual token count that is parsed. In case of errors, cj_result.error will -// be set to an error code Here's a quick example of the usage. -// -// #include "cj5.h" -// -// cj5_token tokens[32]; -// cj5_result r = cj5_parse(g_json, (int)strlen(g_json), tokens, 32, NULL); -// if(r.error != CJ5_ERROR_NONE) { -// if(r.error == CJ5_ERROR_OVERFLOW) { -// // you can use r.num_tokens to determine the actual token count and reparse -// printf("Error: line: %d, col: %d\n", r.error_line, r.error_code); -// } -// } - -#ifndef __CJ5_H_ -#define __CJ5_H_ - -#ifdef __cplusplus -# define CJ5_API extern "C" -#else -# define CJ5_API -#endif - -#if !defined(_MSC_VER) || _MSC_VER >= 1800 -# include -# include -#else -# if !defined(__bool_true_false_are_defined) -# define bool unsigned char -# define true 1 -# define false 0 -# define __bool_true_false_are_defined -# endif -#endif - -typedef enum cj5_token_type { - CJ5_TOKEN_OBJECT = 0, - CJ5_TOKEN_ARRAY, - CJ5_TOKEN_NUMBER, - CJ5_TOKEN_STRING, - CJ5_TOKEN_BOOL, - CJ5_TOKEN_NULL -} cj5_token_type; - -typedef enum cj5_error_code { - CJ5_ERROR_NONE = 0, - CJ5_ERROR_INVALID, // Invalid character/syntax - CJ5_ERROR_INCOMPLETE, // Incomplete JSON string - CJ5_ERROR_OVERFLOW, // Token buffer overflow (see cj5_result.num_tokens) - CJ5_ERROR_NOTFOUND -} cj5_error_code; - -typedef struct cj5_token { - cj5_token_type type; - unsigned int start; // Start position in the json5 string - unsigned int end; // Position of the last character (included) - unsigned int size; // For objects and arrays the number of direct - // children. Note that this is *not* the number of - // overall (recursively nested) child tokens. For - // other tokens the length of token in the json - // encoding. - unsigned int parent_id; // The root object is at position zero. It is an - // object that has itself as parent. -} cj5_token; - -typedef struct cj5_result { - cj5_error_code error; - unsigned int error_line; - unsigned int error_col; - unsigned int num_tokens; - const cj5_token* tokens; - const char* json5; -} cj5_result; - -typedef struct cj5_options { - bool stop_early; /* Return when the first element was parsed. Otherwise an - * error is returned if the input was not fully - * processed. (default: false) */ -} cj5_options; - -/* Options can be NULL */ -CJ5_API cj5_result -cj5_parse(const char *json5, unsigned int len, - cj5_token *tokens, unsigned int max_tokens, - cj5_options *options); - -CJ5_API cj5_error_code -cj5_get_bool(const cj5_result *r, unsigned int tok_index, bool *out); - -CJ5_API cj5_error_code -cj5_get_float(const cj5_result *r, unsigned int tok_index, double *out); - -CJ5_API cj5_error_code -cj5_get_int(const cj5_result *r, unsigned int tok_index, int64_t *out); - -CJ5_API cj5_error_code -cj5_get_uint(const cj5_result *r, unsigned int tok_index, uint64_t *out); - -// Replaces escape characters, utf8 codepoints, etc. -// The buffer shall have a length of at least token->size + 1. -// Upon success, the length is written to buflen. -// The output string is terminated with \0. -CJ5_API cj5_error_code -cj5_get_str(const cj5_result *r, unsigned int tok_index, - char *buf, unsigned int *buflen); - -// Skips the (nested) structure that starts at the current index. The index is -// updated accordingly. Afterwards it points to the beginning of the following -// structure. -// -// Attention! The index can point to the first element after the token array if -// the root object is skipped. -// -// Cannot fail as long as the token array is the result of cj5_parse. -CJ5_API void -cj5_skip(const cj5_result *r, unsigned int *tok_index); - -// Lookup of a key within an object (linear search). -// The current token (index) must point to an object. -// The error code CJ5_ERROR_NOTFOUND is returned if the key is not present. -// Otherwise the index is updated to point to the value associated with the key. -CJ5_API cj5_error_code -cj5_find(const cj5_result *r, unsigned int *tok_index, const char *key); - -#endif /* __CJ5_H_ */ - -/**** amalgamated original file "/deps/parse_num.h" ****/ - -#ifndef ATOI_H -#define ATOI_H - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined(_MSC_VER) || _MSC_VER >= 1800 -# include -# include -# include /* C99 Boolean */ -#else -# if !defined(__bool_true_false_are_defined) -# define bool unsigned char -# define true 1 -# define false 0 -# define __bool_true_false_are_defined -# endif -#endif - -/* Parse integer numbers. Returns the number of parsed digits until the first - * non-valid character. Returns 0 upon failure. - * - * Hex numbers start with 0x. - * Signed numbers may have a +/- prefix. */ - -size_t parseUInt64(const char *str, size_t size, uint64_t *result); -size_t parseInt64(const char *str, size_t size, int64_t *result); -size_t parseDouble(const char *str, size_t size, double *result); - -#ifdef __cplusplus -} -#endif - -#endif /* ATOI_H */ - - -/**** amalgamated original file "/src/ua_types_encoding_json.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2018 (c) Fraunhofer IOSB (Author: Lukas Meling) - */ - - - - - -_UA_BEGIN_DECLS - -#define UA_JSON_MAXTOKENCOUNT 256 -#define UA_JSON_ENCODING_MAX_RECURSION 100 - -typedef struct { - uint8_t *pos; - const uint8_t *end; - - uint16_t depth; /* How often did we en-/decoding recurse? */ - UA_Boolean commaNeeded[UA_JSON_ENCODING_MAX_RECURSION]; - UA_Boolean useReversible; - UA_Boolean calcOnly; /* Only compute the length of the decoding */ - - size_t namespacesSize; - const UA_String *namespaces; - - size_t serverUrisSize; - const UA_String *serverUris; - - UA_Boolean prettyPrint; - UA_Boolean unquotedKeys; - UA_Boolean stringNodeIds; -} CtxJson; - -UA_StatusCode writeJsonObjStart(CtxJson *ctx); -UA_StatusCode writeJsonObjElm(CtxJson *ctx, const char *key, - const void *value, const UA_DataType *type); -UA_StatusCode writeJsonObjEnd(CtxJson *ctx); - -UA_StatusCode writeJsonArrStart(CtxJson *ctx); -UA_StatusCode writeJsonArrElm(CtxJson *ctx, const void *value, - const UA_DataType *type); -UA_StatusCode writeJsonArrEnd(CtxJson *ctx); - -UA_StatusCode writeJsonKey(CtxJson *ctx, const char* key); - -/* Adds a comma if needed. Distinct elements go on a new line if pretty-printing - * is enabled. */ -UA_StatusCode writeJsonBeforeElement(CtxJson *ctx, UA_Boolean distinct); - -typedef struct { - const char *json5; - cj5_token *tokens; - size_t tokensSize; - size_t index; - UA_Byte depth; - - size_t namespacesSize; - const UA_String *namespaces; - - size_t serverUrisSize; - const UA_String *serverUris; - - const UA_DataTypeArray *customTypes; - - /* Additonal data for special cases such as networkmessage/datasetmessage - * Currently only used for dataSetWriterIds */ - size_t numCustom; - void * custom; - size_t currentCustomIndex; -} ParseCtx; - -typedef UA_StatusCode -(*encodeJsonSignature)(CtxJson *ctx, const void *src, const UA_DataType *type); - -typedef UA_StatusCode -(*decodeJsonSignature)(ParseCtx *ctx, void *dst, const UA_DataType *type); - -/* Map for decoding a Json Object. An array of this is passed to the - * decodeFields function. If the key "fieldName" is found in the json object - * (mark as found and) decode the value with the "function" and write result - * into "fieldPointer" (destination). */ -typedef struct { - const char *fieldName; - void *fieldPointer; - decodeJsonSignature function; - UA_Boolean found; - const UA_DataType *type; /* Must be set for values that can be "null". If - * the function is not set, decode via the - * type->typeKind. */ -} DecodeEntry; - -UA_StatusCode decodeFields(ParseCtx *ctx, DecodeEntry *entries, size_t entryCount); - -/* Expose the jump tables and some methods for PubSub JSON decoding */ -extern const encodeJsonSignature encodeJsonJumpTable[UA_DATATYPEKINDS]; -extern const decodeJsonSignature decodeJsonJumpTable[UA_DATATYPEKINDS]; - -UA_StatusCode lookAheadForKey(ParseCtx *ctx, const char *search, size_t *resultIndex); -UA_StatusCode tokenize(ParseCtx *ctx, const UA_ByteString *src, size_t tokensSize); - -static UA_INLINE -cj5_token_type currentTokenType(const ParseCtx *ctx) { - return ctx->tokens[ctx->index].type; -} - -static UA_INLINE -size_t getTokenLength(const cj5_token *t) { - return (size_t)(1u + t->end - t->start); -} - -_UA_END_DECLS - - -/**** amalgamated original file "/src/server/ua_discovery.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Julian Grothoff - */ - - - -_UA_BEGIN_DECLS - -#ifdef UA_ENABLE_DISCOVERY - -typedef struct registeredServer_list_entry { - LIST_ENTRY(registeredServer_list_entry) pointers; - UA_RegisteredServer registeredServer; - UA_DateTime lastSeen; -} registeredServer_list_entry; - -/* Store async register service calls. So we can cancel outstanding requests - * during shutdown. */ -typedef struct { - UA_DelayedCallback cleanupCallback; /* delayed cleanup */ - UA_Server *server; - UA_DiscoveryManager *dm; - UA_Client *client; - UA_String semaphoreFilePath; - UA_Boolean unregister; - - UA_Boolean register2; - UA_Boolean shutdown; - UA_Boolean connectSuccess; -} asyncRegisterRequest; -#define UA_MAXREGISTERREQUESTS 4 - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - -#define UA_MAXMDNSRECVSOCKETS 8 - -/** - * TXT record: - * [servername]-[hostname]._opcua-tcp._tcp.local. TXT path=/ caps=NA,DA,... - * - * A/AAAA record for all ip addresses: - * [servername]-[hostname]._opcua-tcp._tcp.local. A [ip]. - * [hostname]. A [ip]. - */ - -typedef struct serverOnNetwork_list_entry { - LIST_ENTRY(serverOnNetwork_list_entry) pointers; - UA_ServerOnNetwork serverOnNetwork; - UA_DateTime created; - UA_DateTime lastSeen; - UA_Boolean txtSet; - UA_Boolean srvSet; - char* pathTmp; -} serverOnNetwork_list_entry; - -#define SERVER_ON_NETWORK_HASH_SIZE 1000 -typedef struct serverOnNetwork_hash_entry { - serverOnNetwork_list_entry* entry; - struct serverOnNetwork_hash_entry* next; -} serverOnNetwork_hash_entry; - -#endif - -struct UA_DiscoveryManager { - UA_ServerComponent sc; - - UA_UInt64 discoveryCallbackId; - - /* Taken from the server config during startup */ - const UA_Logger *logging; - UA_ServerConfig *serverConfig; - - /* Outstanding requests. So they can be cancelled during shutdown. */ - asyncRegisterRequest registerRequests[UA_MAXREGISTERREQUESTS]; - - LIST_HEAD(, registeredServer_list_entry) registeredServers; - size_t registeredServersSize; - UA_Server_registerServerCallback registerServerCallback; - void* registerServerCallbackData; - -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - mdns_daemon_t *mdnsDaemon; - UA_ConnectionManager *cm; - uintptr_t mdnsSendConnection; - uintptr_t mdnsRecvConnections[UA_MAXMDNSRECVSOCKETS]; - size_t mdnsRecvConnectionsSize; - UA_Boolean mdnsMainSrvAdded; - - /* Full Domain Name of server itself. Used to detect if received mDNS - * message was from itself */ - UA_String selfFqdnMdnsRecord; - - LIST_HEAD(, serverOnNetwork_list_entry) serverOnNetwork; - - UA_UInt32 serverOnNetworkRecordIdCounter; - UA_DateTime serverOnNetworkRecordIdLastReset; - - /* hash mapping domain name to serverOnNetwork list entry */ - struct serverOnNetwork_hash_entry* serverOnNetworkHash[SERVER_ON_NETWORK_HASH_SIZE]; - - UA_Server_serverOnNetworkCallback serverOnNetworkCallback; - void *serverOnNetworkCallbackData; - - UA_UInt64 mdnsCallbackId; -# endif /* UA_ENABLE_DISCOVERY_MULTICAST */ -}; - -void -UA_DiscoveryManager_setState(UA_Server *server, - UA_DiscoveryManager *dm, - UA_LifecycleState state); - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - -/* Sends out a new mDNS package for the given server data. This Method is - * normally called when another server calls the RegisterServer Service on this - * server. Then this server is responsible to send out a new mDNS package to - * announce it. - * - * Additionally this method also adds the given server to the internal - * serversOnNetwork list so that a client finds it when calling - * FindServersOnNetwork. */ -void -UA_Discovery_updateMdnsForDiscoveryUrl(UA_DiscoveryManager *dm, const UA_String *serverName, - const UA_MdnsDiscoveryConfiguration *mdnsConfig, - const UA_String *discoveryUrl, UA_Boolean isOnline, - UA_Boolean updateTxt); - -void mdns_record_received(const struct resource *r, void *data); - -void mdns_create_txt(UA_DiscoveryManager *dm, const char *fullServiceDomain, - const char *path, const UA_String *capabilites, - const size_t capabilitiesSize, - void (*conflict)(char *host, int type, void *arg)); - -void mdns_set_address_record(UA_DiscoveryManager *dm, const char *fullServiceDomain, - const char *localDomain); - -mdns_record_t * -mdns_find_record(mdns_daemon_t *mdnsDaemon, unsigned short type, - const char *host, const char *rdname); - -void startMulticastDiscoveryServer(UA_Server *server); -void stopMulticastDiscoveryServer(UA_Server *server); -void sendMulticastMessages(UA_DiscoveryManager *dm); - -UA_StatusCode -UA_DiscoveryManager_addEntryToServersOnNetwork(UA_DiscoveryManager *dm, - const char *fqdnMdnsRecord, - const char *serverName, - size_t serverNameLen, - struct serverOnNetwork_list_entry **addedEntry); - -UA_StatusCode -UA_DiscoveryManager_removeEntryFromServersOnNetwork(UA_DiscoveryManager *dm, - const char *fqdnMdnsRecord, - const char *serverName, - size_t serverNameLen); - -#endif /* UA_ENABLE_DISCOVERY_MULTICAST */ - -#endif /* UA_ENABLE_DISCOVERY */ - -_UA_END_DECLS - - -/**** amalgamated original file "/src/ua_types.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2016-2017 (c) Florian Palm - * Copyright 2014-2016 (c) Sten Grüner - * Copyright 2014 (c) Leon Urbas - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015 (c) Markus Graube - * Copyright 2015 (c) Reza Ebrahimi - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) Lorenz Haas - */ - - - -#define UA_MAX_ARRAY_DIMS 100 /* Max dimensions of an array */ - -/* Datatype Handling - * ----------------- - * This file contains handling functions for the builtin types and functions - * handling of structured types and arrays. These need type descriptions in a - * UA_DataType structure. The UA_DataType structures as well as all non-builtin - * datatypes are autogenerated. */ - -/* Global definition of NULL type instances. These are always zeroed out, as - * mandated by the C/C++ standard for global values with no initializer. */ -const UA_String UA_STRING_NULL = {0, NULL}; -const UA_ByteString UA_BYTESTRING_NULL = {0, NULL}; -const UA_Guid UA_GUID_NULL = {0, 0, 0, {0,0,0,0,0,0,0,0}}; -const UA_NodeId UA_NODEID_NULL = {0, UA_NODEIDTYPE_NUMERIC, {0}}; -const UA_ExpandedNodeId UA_EXPANDEDNODEID_NULL = {{0, UA_NODEIDTYPE_NUMERIC, {0}}, {0, NULL}, 0}; - -typedef UA_StatusCode -(*UA_copySignature)(const void *src, void *dst, const UA_DataType *type); -extern const UA_copySignature copyJumpTable[UA_DATATYPEKINDS]; - -typedef void (*UA_clearSignature)(void *p, const UA_DataType *type); -extern const UA_clearSignature clearJumpTable[UA_DATATYPEKINDS]; - -typedef UA_Order -(*UA_orderSignature)(const void *p1, const void *p2, const UA_DataType *type); -extern const UA_orderSignature orderJumpTable[UA_DATATYPEKINDS]; - -static UA_Order -nodeIdOrder(const UA_NodeId *p1, const UA_NodeId *p2, const UA_DataType *_); -static UA_Order -expandedNodeIdOrder(const UA_ExpandedNodeId *p1, const UA_ExpandedNodeId *p2, - const UA_DataType *_); -static UA_Order -guidOrder(const UA_Guid *p1, const UA_Guid *p2, const UA_DataType *_); - -const UA_DataType * -UA_findDataTypeWithCustom(const UA_NodeId *typeId, - const UA_DataTypeArray *customTypes) { - /* Always look in built-in types first (may contain data types from all - * namespaces). - * - * TODO: The standard-defined types are ordered. See if binary search is - * more efficient. */ - for(size_t i = 0; i < UA_TYPES_COUNT; ++i) { - if(nodeIdOrder(&UA_TYPES[i].typeId, typeId, NULL) == UA_ORDER_EQ) - return &UA_TYPES[i]; - } - - /* Search in the customTypes */ - while(customTypes) { - for(size_t i = 0; i < customTypes->typesSize; ++i) { - if(nodeIdOrder(&customTypes->types[i].typeId, typeId, NULL) == UA_ORDER_EQ) - return &customTypes->types[i]; - } - customTypes = customTypes->next; - } - - return NULL; -} - -const UA_DataType * -UA_findDataType(const UA_NodeId *typeId) { - return UA_findDataTypeWithCustom(typeId, NULL); -} - -void -UA_cleanupDataTypeWithCustom(const UA_DataTypeArray *customTypes) { - while (customTypes) { - const UA_DataTypeArray *next = customTypes->next; - if (customTypes->cleanup) { - for(size_t i = 0; i < customTypes->typesSize; ++i) { - const UA_DataType *type = &customTypes->types[i]; - UA_free((void*)(uintptr_t)type->typeName); - for(size_t j = 0; j < type->membersSize; ++j) { - const UA_DataTypeMember *m = &type->members[j]; - UA_free((void*)(uintptr_t)m->memberName); - } - UA_free((void*)type->members); - } - UA_free((void*)(uintptr_t)customTypes->types); - UA_free((void*)(uintptr_t)customTypes); - } - customTypes = next; - } -} - -/*****************/ -/* Builtin Types */ -/*****************/ - -UA_String -UA_String_fromChars(const char *src) { - UA_String s; s.length = 0; s.data = NULL; - if(!src) - return s; - s.length = strlen(src); - if(s.length > 0) { - s.data = (u8*)UA_malloc(s.length); - if(UA_UNLIKELY(!s.data)) { - s.length = 0; - return s; - } - memcpy(s.data, src, s.length); - } else { - s.data = (u8*)UA_EMPTY_ARRAY_SENTINEL; - } - return s; -} - -UA_Boolean -UA_String_isEmpty(const UA_String *s) { - return (s->length == 0 || s->data == NULL); -} - -static UA_Byte -lowercase(UA_Byte c) { - if(((int)c) - 'A' < 26) return c | 32; - return c; -} - -static int -casecmp(const UA_Byte *l, const UA_Byte *r, size_t n) { - if(!n--) return 0; - for(; *l && *r && n && (*l == *r || lowercase(*l) == lowercase(*r)); l++, r++, n--); - return lowercase(*l) - lowercase(*r); -} - -/* Do not expose UA_String_equal_ignorecase to public API as it currently only handles - * ASCII strings, and not UTF8! */ -UA_Boolean -UA_String_equal_ignorecase(const UA_String *s1, const UA_String *s2) { - if(s1->length != s2->length) - return false; - if(s1->length == 0) - return true; - if(s2->data == NULL) - return false; - - return casecmp(s1->data, s2->data, s1->length) == 0; -} - -static UA_StatusCode -String_copy(UA_String const *src, UA_String *dst, const UA_DataType *_) { - UA_StatusCode res = - UA_Array_copy(src->data, src->length, (void**)&dst->data, - &UA_TYPES[UA_TYPES_BYTE]); - if(res == UA_STATUSCODE_GOOD) - dst->length = src->length; - return res; -} - -static void -String_clear(UA_String *s, const UA_DataType *_) { - UA_Array_delete(s->data, s->length, &UA_TYPES[UA_TYPES_BYTE]); -} - -/* QualifiedName */ -static UA_StatusCode -QualifiedName_copy(const UA_QualifiedName *src, UA_QualifiedName *dst, - const UA_DataType *_) { - dst->namespaceIndex = src->namespaceIndex; - return String_copy(&src->name, &dst->name, NULL); -} - -static void -QualifiedName_clear(UA_QualifiedName *p, const UA_DataType *_) { - String_clear(&p->name, NULL); -} - -u32 -UA_QualifiedName_hash(const UA_QualifiedName *q) { - return UA_ByteString_hash(q->namespaceIndex, - q->name.data, q->name.length); -} - -/* DateTime */ -UA_DateTimeStruct -UA_DateTime_toStruct(UA_DateTime t) { - /* Divide, then subtract -> avoid underflow. Also, negative numbers are - * rounded up, not down. */ - long long secSinceUnixEpoch = (long long)(t / UA_DATETIME_SEC) - - (long long)(UA_DATETIME_UNIX_EPOCH / UA_DATETIME_SEC); - - /* Negative fractions of a second? Remove one full second from the epoch - * distance and allow only a positive fraction. */ - UA_DateTime frac = t % UA_DATETIME_SEC; - if(frac < 0) { - secSinceUnixEpoch--; - frac += UA_DATETIME_SEC; - } - - struct musl_tm ts; - memset(&ts, 0, sizeof(struct musl_tm)); - musl_secs_to_tm(secSinceUnixEpoch, &ts); - - UA_DateTimeStruct dateTimeStruct; - dateTimeStruct.year = (i16)(ts.tm_year + 1900); - dateTimeStruct.month = (u16)(ts.tm_mon + 1); - dateTimeStruct.day = (u16)ts.tm_mday; - dateTimeStruct.hour = (u16)ts.tm_hour; - dateTimeStruct.min = (u16)ts.tm_min; - dateTimeStruct.sec = (u16)ts.tm_sec; - dateTimeStruct.milliSec = (u16)((frac % 10000000) / 10000); - dateTimeStruct.microSec = (u16)((frac % 10000) / 10); - dateTimeStruct.nanoSec = (u16)((frac % 10) * 100); - return dateTimeStruct; -} - -UA_DateTime -UA_DateTime_fromStruct(UA_DateTimeStruct ts) { - /* Seconds since the Unix epoch */ - struct musl_tm tm; - memset(&tm, 0, sizeof(struct musl_tm)); - tm.tm_year = ts.year - 1900; - tm.tm_mon = ts.month - 1; - tm.tm_mday = ts.day; - tm.tm_hour = ts.hour; - tm.tm_min = ts.min; - tm.tm_sec = ts.sec; - long long sec_epoch = musl_tm_to_secs(&tm); - - UA_DateTime t = UA_DATETIME_UNIX_EPOCH; - t += sec_epoch * UA_DATETIME_SEC; - t += ts.milliSec * UA_DATETIME_MSEC; - t += ts.microSec * UA_DATETIME_USEC; - t += ts.nanoSec / 100; - return t; -} - -/* Guid */ -static const u8 hexmapLower[16] = - {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; -static const u8 hexmapUpper[16] = - {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; - -void -UA_Guid_to_hex(const UA_Guid *guid, u8* out, UA_Boolean lower) { - const u8 *hexmap = (lower) ? hexmapLower : hexmapUpper; - size_t i = 0, j = 28; - for(; i<8;i++,j-=4) /* pos 0-7, 4byte, (a) */ - out[i] = hexmap[(guid->data1 >> j) & 0x0Fu]; - out[i++] = '-'; /* pos 8 */ - for(j=12; i<13;i++,j-=4) /* pos 9-12, 2byte, (b) */ - out[i] = hexmap[(uint16_t)(guid->data2 >> j) & 0x0Fu]; - out[i++] = '-'; /* pos 13 */ - for(j=12; i<18;i++,j-=4) /* pos 14-17, 2byte (c) */ - out[i] = hexmap[(uint16_t)(guid->data3 >> j) & 0x0Fu]; - out[i++] = '-'; /* pos 18 */ - for(j=0;i<23;i+=2,j++) { /* pos 19-22, 2byte (d) */ - out[i] = hexmap[(guid->data4[j] & 0xF0u) >> 4u]; - out[i+1] = hexmap[guid->data4[j] & 0x0Fu]; - } - out[i++] = '-'; /* pos 23 */ - for(j=2; i<36;i+=2,j++) { /* pos 24-35, 6byte (e) */ - out[i] = hexmap[(guid->data4[j] & 0xF0u) >> 4u]; - out[i+1] = hexmap[guid->data4[j] & 0x0Fu]; - } -} - -UA_StatusCode -UA_Guid_print(const UA_Guid *guid, UA_String *output) { - if(output->length == 0) { - UA_StatusCode res = - UA_ByteString_allocBuffer((UA_ByteString*)output, 36); - if(res != UA_STATUSCODE_GOOD) - return res; - } else { - if(output->length < 36) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - output->length = 36; - } - UA_Guid_to_hex(guid, output->data, true); - return UA_STATUSCODE_GOOD; -} - -/* ByteString */ -UA_StatusCode -UA_ByteString_allocBuffer(UA_ByteString *bs, size_t length) { - UA_ByteString_init(bs); - if(length == 0) - return UA_STATUSCODE_GOOD; - bs->data = (u8*)UA_malloc(length); - if(UA_UNLIKELY(!bs->data)) - return UA_STATUSCODE_BADOUTOFMEMORY; - bs->length = length; - return UA_STATUSCODE_GOOD; -} - -/* NodeId */ -static void -NodeId_clear(UA_NodeId *p, const UA_DataType *_) { - switch(p->identifierType) { - case UA_NODEIDTYPE_STRING: - case UA_NODEIDTYPE_BYTESTRING: - String_clear(&p->identifier.string, NULL); - break; - default: break; - } -} - -static UA_StatusCode -NodeId_copy(UA_NodeId const *src, UA_NodeId *dst, const UA_DataType *_) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - switch(src->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - *dst = *src; - return UA_STATUSCODE_GOOD; - case UA_NODEIDTYPE_STRING: - case UA_NODEIDTYPE_BYTESTRING: - retval |= String_copy(&src->identifier.string, - &dst->identifier.string, NULL); - break; - case UA_NODEIDTYPE_GUID: - dst->identifier.guid = src->identifier.guid; - break; - default: - return UA_STATUSCODE_BADINTERNALERROR; - } - dst->namespaceIndex = src->namespaceIndex; - dst->identifierType = src->identifierType; - return retval; -} - -UA_Boolean -UA_NodeId_isNull(const UA_NodeId *p) { - if(p->namespaceIndex != 0) - return false; - switch (p->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - return (p->identifier.numeric == 0); - case UA_NODEIDTYPE_STRING: - case UA_NODEIDTYPE_BYTESTRING: - return (p->identifier.string.length == 0); /* Null and empty string */ - case UA_NODEIDTYPE_GUID: - return (guidOrder(&p->identifier.guid, &UA_GUID_NULL, NULL) == UA_ORDER_EQ); - } - return false; -} - -UA_Order -UA_NodeId_order(const UA_NodeId *n1, const UA_NodeId *n2) { - return nodeIdOrder(n1, n2, NULL); -} - -/* sdbm-hash (http://www.cse.yorku.ca/~oz/hash.html) */ -u32 -UA_ByteString_hash(u32 initialHashValue, - const u8 *data, size_t size) { - u32 h = initialHashValue; - for(size_t i = 0; i < size; i++) - h = data[i] + (h << 6) + (h << 16) - h; - return h; -} - -u32 -UA_NodeId_hash(const UA_NodeId *n) { - switch(n->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - default: - return UA_ByteString_hash(n->namespaceIndex, (const u8*)&n->identifier.numeric, - sizeof(UA_UInt32)); - case UA_NODEIDTYPE_STRING: - case UA_NODEIDTYPE_BYTESTRING: - return UA_ByteString_hash(n->namespaceIndex, n->identifier.string.data, - n->identifier.string.length); - case UA_NODEIDTYPE_GUID: - return UA_ByteString_hash(n->namespaceIndex, (const u8*)&n->identifier.guid, - sizeof(UA_Guid)); - } -} - -/* Computes length for the encoding size and pre-encodes the numeric values */ -static size_t -nodeIdSize(const UA_NodeId *id, - char *nsStr, size_t *nsStrSize, - char *numIdStr, size_t *numIdStrSize) { - /* Namespace length */ - size_t len = 0; - if(id->namespaceIndex != 0) { - len += 4; /* ns=; */ - *nsStrSize = itoaUnsigned(id->namespaceIndex, nsStr, 10); - len += *nsStrSize; - } - - switch (id->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - *numIdStrSize = itoaUnsigned(id->identifier.numeric, numIdStr, 10); - len += 2 + *numIdStrSize; - break; - case UA_NODEIDTYPE_STRING: - len += 2 + id->identifier.string.length; - break; - case UA_NODEIDTYPE_GUID: - len += 2 + 36; - break; - case UA_NODEIDTYPE_BYTESTRING: - len += 2 + (4*((id->identifier.byteString.length + 2) / 3)); - break; - default: - len = 0; - } - return len; -} - -#define PRINT_NODEID \ - /* Encode the namespace */ \ - if(id->namespaceIndex != 0) { \ - memcpy(pos, "ns=", 3); \ - pos += 3; \ - memcpy(pos, nsStr, nsStrSize); \ - pos += nsStrSize; \ - *pos++ = ';'; \ - } \ - \ - /* Encode the identifier */ \ - switch(id->identifierType) { \ - case UA_NODEIDTYPE_NUMERIC: \ - memcpy(pos, "i=", 2); \ - pos += 2; \ - memcpy(pos, numIdStr, numIdStrSize); \ - pos += numIdStrSize; \ - break; \ - case UA_NODEIDTYPE_STRING: \ - memcpy(pos, "s=", 2); \ - pos += 2; \ - memcpy(pos, id->identifier.string.data, \ - id->identifier.string.length); \ - pos += id->identifier.string.length; \ - break; \ - case UA_NODEIDTYPE_GUID: \ - memcpy(pos, "g=", 2); \ - pos += 2; \ - UA_Guid_to_hex(&id->identifier.guid, \ - (unsigned char*)pos, true); \ - pos += 36; \ - break; \ - case UA_NODEIDTYPE_BYTESTRING: \ - memcpy(pos, "b=", 2); \ - pos += 2; \ - pos += UA_base64_buf(id->identifier.byteString.data, \ - id->identifier.byteString.length, \ - (unsigned char*)pos); \ - break; \ - } \ - do { } while(false) - -UA_StatusCode -UA_NodeId_print(const UA_NodeId *id, UA_String *output) { - /* Compute the string length */ - char nsStr[6]; - size_t nsStrSize = 0; - char numIdStr[11]; - size_t numIdStrSize = 0; - size_t idLen = nodeIdSize(id, nsStr, &nsStrSize, numIdStr, &numIdStrSize); - if(idLen == 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate memory if required */ - if(output->length == 0) { - UA_StatusCode res = UA_ByteString_allocBuffer((UA_ByteString*)output, idLen); - if(res != UA_STATUSCODE_GOOD) - return res; - } else { - if(output->length < idLen) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - output->length = idLen; - } - - /* Print the NodeId */ - char *pos = (char*)output->data; - PRINT_NODEID; - - UA_assert(output->length == (size_t)((UA_Byte*)pos - output->data)); - return UA_STATUSCODE_GOOD; -} - -/* ExpandedNodeId */ -static void -ExpandedNodeId_clear(UA_ExpandedNodeId *p, const UA_DataType *_) { - NodeId_clear(&p->nodeId, _); - String_clear(&p->namespaceUri, NULL); -} - -static UA_StatusCode -ExpandedNodeId_copy(UA_ExpandedNodeId const *src, UA_ExpandedNodeId *dst, - const UA_DataType *_) { - UA_StatusCode retval = NodeId_copy(&src->nodeId, &dst->nodeId, NULL); - retval |= String_copy(&src->namespaceUri, &dst->namespaceUri, NULL); - dst->serverIndex = src->serverIndex; - return retval; -} - -UA_Boolean -UA_ExpandedNodeId_isLocal(const UA_ExpandedNodeId *n) { - return (n->namespaceUri.length == 0 && n->serverIndex == 0); -} - -UA_Order -UA_ExpandedNodeId_order(const UA_ExpandedNodeId *n1, - const UA_ExpandedNodeId *n2) { - return expandedNodeIdOrder(n1, n2, NULL); -} - -u32 -UA_ExpandedNodeId_hash(const UA_ExpandedNodeId *n) { - u32 h = UA_NodeId_hash(&n->nodeId); - if(n->serverIndex != 0) - h = UA_ByteString_hash(h, (const UA_Byte*)&n->serverIndex, 4); - if(n->namespaceUri.length != 0) - h = UA_ByteString_hash(h, n->namespaceUri.data, n->namespaceUri.length); - return h; -} - -UA_StatusCode -UA_ExpandedNodeId_print(const UA_ExpandedNodeId *eid, UA_String *output) { - /* Don't print the namespace-index if a NamespaceUri is set */ - UA_NodeId stackid = eid->nodeId; - UA_NodeId *id = &stackid; /* for the print-macro below */ - if(eid->namespaceUri.data != NULL) - id->namespaceIndex = 0; - - /* Compute the string length */ - char nsStr[6]; - size_t nsStrSize = 0; - char numIdStr[11]; - size_t numIdStrSize = 0; - size_t idLen = nodeIdSize(id, nsStr, &nsStrSize, numIdStr, &numIdStrSize); - if(idLen == 0) - return UA_STATUSCODE_BADINTERNALERROR; - - char srvIdxStr[11]; - size_t srvIdxSize = 0; - if(eid->serverIndex != 0) { - idLen += 5; /* svr=; */ - srvIdxSize = itoaUnsigned(eid->serverIndex, srvIdxStr, 10); - idLen += srvIdxSize; - } - - if(eid->namespaceUri.data != NULL) { - idLen += 5; /* nsu=; */ - idLen += eid->namespaceUri.length; - } - - /* Allocate memory if required */ - if(output->length == 0) { - UA_StatusCode res = UA_ByteString_allocBuffer((UA_ByteString*)output, idLen); - if(res != UA_STATUSCODE_GOOD) - return res; - } else { - if(output->length < idLen) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - output->length = idLen; - } - - /* Encode the ServerIndex */ - char *pos = (char*)output->data; - if(eid->serverIndex != 0) { - memcpy(pos, "svr=", 4); - pos += 4; - memcpy(pos, srvIdxStr, srvIdxSize); - pos += srvIdxSize; - *pos++ = ';'; - } - - /* Encode the NamespaceUri */ - if(eid->namespaceUri.data != NULL) { - memcpy(pos, "nsu=", 4); - pos += 4; - memcpy(pos, eid->namespaceUri.data, eid->namespaceUri.length); - pos += eid->namespaceUri.length; - *pos++ = ';'; - } - - /* Print the NodeId */ - PRINT_NODEID; - - UA_assert(output->length == (size_t)((UA_Byte*)pos - output->data)); - return UA_STATUSCODE_GOOD; -} - -/* ExtensionObject */ -static void -ExtensionObject_clear(UA_ExtensionObject *p, const UA_DataType *_) { - switch(p->encoding) { - case UA_EXTENSIONOBJECT_ENCODED_NOBODY: - case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: - case UA_EXTENSIONOBJECT_ENCODED_XML: - NodeId_clear(&p->content.encoded.typeId, NULL); - String_clear(&p->content.encoded.body, NULL); - break; - case UA_EXTENSIONOBJECT_DECODED: - if(p->content.decoded.data) - UA_delete(p->content.decoded.data, p->content.decoded.type); - break; - default: - break; - } -} - -static UA_StatusCode -ExtensionObject_copy(UA_ExtensionObject const *src, UA_ExtensionObject *dst, - const UA_DataType *_) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - switch(src->encoding) { - case UA_EXTENSIONOBJECT_ENCODED_NOBODY: - case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: - case UA_EXTENSIONOBJECT_ENCODED_XML: - dst->encoding = src->encoding; - retval = NodeId_copy(&src->content.encoded.typeId, - &dst->content.encoded.typeId, NULL); - /* ByteString -> copy as string */ - retval |= String_copy(&src->content.encoded.body, - &dst->content.encoded.body, NULL); - break; - case UA_EXTENSIONOBJECT_DECODED: - case UA_EXTENSIONOBJECT_DECODED_NODELETE: - if(!src->content.decoded.type || !src->content.decoded.data) - return UA_STATUSCODE_BADINTERNALERROR; - dst->encoding = UA_EXTENSIONOBJECT_DECODED; - dst->content.decoded.type = src->content.decoded.type; - retval = UA_Array_copy(src->content.decoded.data, 1, - &dst->content.decoded.data, src->content.decoded.type); - break; - default: - break; - } - return retval; -} - -void -UA_ExtensionObject_setValue(UA_ExtensionObject *eo, - void * UA_RESTRICT p, - const UA_DataType *type) { - UA_ExtensionObject_init(eo); - eo->content.decoded.data = p; - eo->content.decoded.type = type; - eo->encoding = UA_EXTENSIONOBJECT_DECODED; -} - -void -UA_ExtensionObject_setValueNoDelete(UA_ExtensionObject *eo, - void * UA_RESTRICT p, - const UA_DataType *type) { - UA_ExtensionObject_init(eo); - eo->content.decoded.data = p; - eo->content.decoded.type = type; - eo->encoding = UA_EXTENSIONOBJECT_DECODED_NODELETE; -} - -UA_StatusCode -UA_ExtensionObject_setValueCopy(UA_ExtensionObject *eo, - void * UA_RESTRICT p, - const UA_DataType *type) { - UA_ExtensionObject_init(eo); - - /* Make a copy of the value */ - void *val = UA_malloc(type->memSize); - if(UA_UNLIKELY(!val)) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_StatusCode res = UA_copy(p, val, type); - if(UA_UNLIKELY(res != UA_STATUSCODE_GOOD)) { - UA_free(val); - return res; - } - - /* Set the ExtensionObject */ - eo->content.decoded.data = val; - eo->content.decoded.type = type; - eo->encoding = UA_EXTENSIONOBJECT_DECODED; - return UA_STATUSCODE_GOOD; -} - -/* Variant */ -static void -Variant_clear(UA_Variant *p, const UA_DataType *_) { - /* The content is "borrowed" */ - if(p->storageType == UA_VARIANT_DATA_NODELETE) - return; - - /* Delete the value */ - if(p->type && p->data > UA_EMPTY_ARRAY_SENTINEL) { - if(p->arrayLength == 0) - p->arrayLength = 1; - UA_Array_delete(p->data, p->arrayLength, p->type); - p->data = NULL; - } - - /* Delete the array dimensions */ - if((void*)p->arrayDimensions > UA_EMPTY_ARRAY_SENTINEL) - UA_free(p->arrayDimensions); -} - -static UA_StatusCode -Variant_copy(UA_Variant const *src, UA_Variant *dst, const UA_DataType *_) { - size_t length = src->arrayLength; - if(UA_Variant_isScalar(src)) - length = 1; - UA_StatusCode retval = UA_Array_copy(src->data, length, - &dst->data, src->type); - if(retval != UA_STATUSCODE_GOOD) - return retval; - dst->arrayLength = src->arrayLength; - dst->type = src->type; - if(src->arrayDimensions) { - retval = UA_Array_copy(src->arrayDimensions, src->arrayDimensionsSize, - (void**)&dst->arrayDimensions, &UA_TYPES[UA_TYPES_INT32]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - dst->arrayDimensionsSize = src->arrayDimensionsSize; - } - return UA_STATUSCODE_GOOD; -} - -void -UA_Variant_setScalar(UA_Variant *v, void * UA_RESTRICT p, - const UA_DataType *type) { - UA_Variant_init(v); - v->type = type; - v->arrayLength = 0; - v->data = p; -} - -UA_StatusCode -UA_Variant_setScalarCopy(UA_Variant *v, const void * UA_RESTRICT p, - const UA_DataType *type) { - void *n = UA_malloc(type->memSize); - if(UA_UNLIKELY(!n)) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_StatusCode retval = UA_copy(p, n, type); - if(UA_UNLIKELY(retval != UA_STATUSCODE_GOOD)) { - UA_free(n); - //cppcheck-suppress memleak - return retval; - } - UA_Variant_setScalar(v, n, type); - //cppcheck-suppress memleak - return UA_STATUSCODE_GOOD; -} - -void UA_Variant_setArray(UA_Variant *v, void * UA_RESTRICT array, - size_t arraySize, const UA_DataType *type) { - UA_Variant_init(v); - v->data = array; - v->arrayLength = arraySize; - v->type = type; -} - -UA_StatusCode -UA_Variant_setArrayCopy(UA_Variant *v, const void * UA_RESTRICT array, - size_t arraySize, const UA_DataType *type) { - UA_Variant_init(v); - UA_StatusCode retval = UA_Array_copy(array, arraySize, &v->data, type); - if(retval != UA_STATUSCODE_GOOD) - return retval; - v->arrayLength = arraySize; - v->type = type; - return UA_STATUSCODE_GOOD; -} - -/* Test if a range is compatible with a variant. This may adjust the upper bound - * (max) in order to fit the variant. */ -static UA_StatusCode -checkAdjustRange(const UA_Variant *v, UA_NumericRange *range) { - /* Test for max array size (64bit only) */ -#if (SIZE_MAX > 0xffffffff) - if(v->arrayLength > UA_UINT32_MAX) - return UA_STATUSCODE_BADINTERNALERROR; -#endif - u32 arrayLength = (u32)v->arrayLength; - - /* Assume one array dimension if none defined */ - const u32 *dims = v->arrayDimensions; - size_t dims_count = v->arrayDimensionsSize; - if(v->arrayDimensionsSize == 0) { - dims_count = 1; - dims = &arrayLength; - } - - /* Does the range match the dimension of the variant? */ - if(range->dimensionsSize != dims_count) - return UA_STATUSCODE_BADINDEXRANGENODATA; - - /* Check that the number of elements in the variant matches the array - * dimensions */ - size_t elements = 1; - for(size_t i = 0; i < dims_count; ++i) - elements *= dims[i]; - if(elements != v->arrayLength) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Test the integrity of the range and compute the max index used for every - * dimension. The standard says in Part 4, Section 7.22: - * - * When reading a value, the indexes may not specify a range that is within - * the bounds of the array. The Server shall return a partial result if some - * elements exist within the range. */ - for(size_t i = 0; i < dims_count; ++i) { - if(range->dimensions[i].min > range->dimensions[i].max) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - if(range->dimensions[i].min >= dims[i]) - return UA_STATUSCODE_BADINDEXRANGENODATA; - - /* Reduce the max to fit the variant */ - if(range->dimensions[i].max >= dims[i]) - range->dimensions[i].max = dims[i] - 1; - } - - return UA_STATUSCODE_GOOD; -} - -/* Computes the stride for copying the range elements. - * - total: how many elements are in the range - * - block: how big is each contiguous block of elements in the variant that - * maps into the range - * - stride: how many elements are between the blocks (beginning to beginning) - * - first: where does the first block begin */ -static void -computeStrides(const UA_Variant *v, const UA_NumericRange range, - size_t *total, size_t *block, size_t *stride, size_t *first) { - /* Number of total elements to be copied */ - size_t count = 1; - for(size_t i = 0; i < range.dimensionsSize; ++i) - count *= (range.dimensions[i].max - range.dimensions[i].min) + 1; - *total = count; - - /* Assume one array dimension if none defined */ - u32 arrayLength = (u32)v->arrayLength; - const u32 *dims = v->arrayDimensions; - size_t dims_count = v->arrayDimensionsSize; - if(v->arrayDimensionsSize == 0) { - dims_count = 1; - dims = &arrayLength; - } - - /* Compute the stride length and the position of the first element */ - *block = count; /* Assume the range describes the entire array. */ - *stride = v->arrayLength; /* So it can be copied as a contiguous block. */ - *first = 0; - size_t running_dimssize = 1; - UA_Boolean found_contiguous = false; - for(size_t k = dims_count; k > 0;) { - --k; - size_t dimrange = 1 + range.dimensions[k].max - range.dimensions[k].min; - if(!found_contiguous && dimrange != dims[k]) { - /* Found the maximum block that can be copied contiguously */ - found_contiguous = true; - *block = running_dimssize * dimrange; - *stride = running_dimssize * dims[k]; - } - *first += running_dimssize * range.dimensions[k].min; - running_dimssize *= dims[k]; - } -} - -/* Is the type string-like? */ -static UA_Boolean -isStringLike(const UA_DataType *type) { - if(type == &UA_TYPES[UA_TYPES_STRING] || - type == &UA_TYPES[UA_TYPES_BYTESTRING] || - type == &UA_TYPES[UA_TYPES_XMLELEMENT]) - return true; - return false; -} - -/* Returns the part of the string that lies within the rangedimension */ -static UA_StatusCode -copySubString(const UA_String *src, UA_String *dst, - const UA_NumericRangeDimension *dim) { - if(dim->min > dim->max) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - if(dim->min >= src->length) - return UA_STATUSCODE_BADINDEXRANGENODATA; - - size_t length; - if(dim->max < src->length) - length = dim->max - dim->min + 1; - else - length = src->length - dim->min; - - UA_StatusCode retval = UA_ByteString_allocBuffer(dst, length); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - memcpy(dst->data, &src->data[dim->min], length); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Variant_copyRange(const UA_Variant *src, UA_Variant * UA_RESTRICT dst, - const UA_NumericRange range) { - if(!src->type) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_Boolean isScalar = UA_Variant_isScalar(src); - UA_Boolean stringLike = isStringLike(src->type); - - /* Upper bound of the dimensions for stack-allocation */ - if(range.dimensionsSize > UA_MAX_ARRAY_DIMS) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Copy the const range to a mutable stack location */ - UA_NumericRangeDimension thisrangedims[UA_MAX_ARRAY_DIMS]; - memcpy(thisrangedims, range.dimensions, sizeof(UA_NumericRangeDimension) * range.dimensionsSize); - UA_NumericRange thisrange = {range.dimensionsSize, thisrangedims}; - - UA_NumericRangeDimension scalarThisDimension = {0,0}; /* a single entry */ - UA_NumericRange nextrange = {0, NULL}; - - /* Extract the range for copying at this level. The remaining range is dealt - * with in the "scalar" type that may define an array by itself (string, - * variant, ...). */ - UA_Variant arraySrc; - if(isScalar) { - /* Replace scalar src with array of length 1 */ - arraySrc = *src; - arraySrc.arrayLength = 1; - src = &arraySrc; - /* Deal with all range dimensions within the scalar */ - thisrange.dimensions = &scalarThisDimension; - thisrange.dimensionsSize = 1; - nextrange = range; - } else { - /* Deal with as many range dimensions as possible right now */ - size_t dims = src->arrayDimensionsSize; - if(dims == 0) - dims = 1; - if(dims > range.dimensionsSize) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - thisrange.dimensionsSize = dims; - nextrange.dimensions = &range.dimensions[dims]; - nextrange.dimensionsSize = range.dimensionsSize - dims; - } - - UA_StatusCode retval = checkAdjustRange(src, &thisrange); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Compute the strides */ - size_t count, block, stride, first; - computeStrides(src, thisrange, &count, &block, &stride, &first); - UA_assert(block > 0); - - /* Allocate the array */ - UA_Variant_init(dst); - dst->data = UA_Array_new(count, src->type); - if(!dst->data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Copy the range */ - size_t block_count = count / block; - size_t elem_size = src->type->memSize; - uintptr_t nextdst = (uintptr_t)dst->data; - uintptr_t nextsrc = (uintptr_t)src->data + (elem_size * first); - if(nextrange.dimensionsSize == 0) { - /* no nextrange */ - if(src->type->pointerFree) { - for(size_t i = 0; i < block_count; ++i) { - memcpy((void*)nextdst, (void*)nextsrc, elem_size * block); - nextdst += block * elem_size; - nextsrc += stride * elem_size; - } - } else { - for(size_t i = 0; i < block_count; ++i) { - for(size_t j = 0; j < block; ++j) { - retval = UA_copy((const void*)nextsrc, - (void*)nextdst, src->type); - nextdst += elem_size; - nextsrc += elem_size; - } - nextsrc += (stride - block) * elem_size; - } - } - } else { - /* nextrange can only be used for variants and stringlike with remaining - * range of dimension 1 */ - if(src->type != &UA_TYPES[UA_TYPES_VARIANT]) { - if(!stringLike) - retval = UA_STATUSCODE_BADINDEXRANGENODATA; - if(nextrange.dimensionsSize != 1) - retval = UA_STATUSCODE_BADINDEXRANGENODATA; - } - - /* Copy the content */ - for(size_t i = 0; i < block_count; ++i) { - for(size_t j = 0; j < block && retval == UA_STATUSCODE_GOOD; ++j) { - if(stringLike) - retval = copySubString((const UA_String*)nextsrc, - (UA_String*)nextdst, - nextrange.dimensions); - else - retval = UA_Variant_copyRange((const UA_Variant*)nextsrc, - (UA_Variant*)nextdst, - nextrange); - nextdst += elem_size; - nextsrc += elem_size; - } - nextsrc += (stride - block) * elem_size; - } - } - - /* Clean up if copying failed */ - if(retval != UA_STATUSCODE_GOOD) { - UA_Array_delete(dst->data, count, src->type); - dst->data = NULL; - return retval; - } - - /* Done if scalar */ - dst->type = src->type; - if(isScalar) - return retval; - - /* Copy array dimensions */ - dst->arrayLength = count; - if(src->arrayDimensionsSize > 0) { - dst->arrayDimensions = - (u32*)UA_Array_new(thisrange.dimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); - if(!dst->arrayDimensions) { - Variant_clear(dst, NULL); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - dst->arrayDimensionsSize = thisrange.dimensionsSize; - for(size_t k = 0; k < thisrange.dimensionsSize; ++k) - dst->arrayDimensions[k] = - thisrange.dimensions[k].max - thisrange.dimensions[k].min + 1; - } - return UA_STATUSCODE_GOOD; -} - -/* TODO: Allow ranges to reach inside a scalars that are array-like, e.g. - * variant and strings. This is already possible for reading... */ -static UA_StatusCode -Variant_setRange(UA_Variant *v, void *array, size_t arraySize, - const UA_NumericRange range, UA_Boolean copy) { - if(!v->type) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Upper bound of the dimensions for stack-allocation */ - if(range.dimensionsSize > UA_MAX_ARRAY_DIMS) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Copy the const range to a mutable stack location */ - UA_NumericRangeDimension thisrangedims[UA_MAX_ARRAY_DIMS]; - memcpy(thisrangedims, range.dimensions, sizeof(UA_NumericRangeDimension) * range.dimensionsSize); - UA_NumericRange thisrange = {range.dimensionsSize, thisrangedims}; - - UA_StatusCode retval = checkAdjustRange(v, &thisrange); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Compute the strides */ - size_t count, block, stride, first; - computeStrides(v, range, &count, &block, &stride, &first); - if(count != arraySize) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - - /* Move/copy the elements */ - size_t block_count = count / block; - size_t elem_size = v->type->memSize; - uintptr_t nextdst = (uintptr_t)v->data + (first * elem_size); - uintptr_t nextsrc = (uintptr_t)array; - if(v->type->pointerFree || !copy) { - for(size_t i = 0; i < block_count; ++i) { - memcpy((void*)nextdst, (void*)nextsrc, elem_size * block); - nextsrc += block * elem_size; - nextdst += stride * elem_size; - } - } else { - for(size_t i = 0; i < block_count; ++i) { - for(size_t j = 0; j < block; ++j) { - clearJumpTable[v->type->typeKind]((void*)nextdst, v->type); - retval |= UA_copy((void*)nextsrc, (void*)nextdst, v->type); - nextdst += elem_size; - nextsrc += elem_size; - } - nextdst += (stride - block) * elem_size; - } - } - - /* If members were moved, initialize original array to prevent reuse */ - if(!copy && !v->type->pointerFree) - memset(array, 0, sizeof(elem_size)*arraySize); - - return retval; -} - -UA_StatusCode -UA_Variant_setRange(UA_Variant *v, void * UA_RESTRICT array, - size_t arraySize, const UA_NumericRange range) { - return Variant_setRange(v, array, arraySize, range, false); -} - -UA_StatusCode -UA_Variant_setRangeCopy(UA_Variant *v, const void * UA_RESTRICT array, - size_t arraySize, const UA_NumericRange range) { - return Variant_setRange(v, (void*)(uintptr_t)array, - arraySize, range, true); -} - -/* LocalizedText */ -static void -LocalizedText_clear(UA_LocalizedText *p, const UA_DataType *_) { - String_clear(&p->locale, NULL); - String_clear(&p->text, NULL); -} - -static UA_StatusCode -LocalizedText_copy(UA_LocalizedText const *src, UA_LocalizedText *dst, - const UA_DataType *_) { - UA_StatusCode retval = String_copy(&src->locale, &dst->locale, NULL); - retval |= String_copy(&src->text, &dst->text, NULL); - return retval; -} - -/* DataValue */ -static void -DataValue_clear(UA_DataValue *p, const UA_DataType *_) { - Variant_clear(&p->value, NULL); -} - -static UA_StatusCode -DataValue_copy(UA_DataValue const *src, UA_DataValue *dst, - const UA_DataType *_) { - memcpy(dst, src, sizeof(UA_DataValue)); - UA_Variant_init(&dst->value); - UA_StatusCode retval = Variant_copy(&src->value, &dst->value, NULL); - if(retval != UA_STATUSCODE_GOOD) - DataValue_clear(dst, NULL); - return retval; -} - -UA_StatusCode -UA_DataValue_copyVariantRange(const UA_DataValue *src, UA_DataValue * UA_RESTRICT dst, - const UA_NumericRange range) { - memcpy(dst, src, sizeof(UA_DataValue)); - UA_Variant_init(&dst->value); - UA_StatusCode retval = UA_Variant_copyRange(&src->value, &dst->value, range); - if(retval != UA_STATUSCODE_GOOD) - DataValue_clear(dst, NULL); - return retval; -} - -/* DiagnosticInfo */ -static void -DiagnosticInfo_clear(UA_DiagnosticInfo *p, const UA_DataType *_) { - String_clear(&p->additionalInfo, NULL); - if(p->hasInnerDiagnosticInfo && p->innerDiagnosticInfo) { - DiagnosticInfo_clear(p->innerDiagnosticInfo, NULL); - UA_free(p->innerDiagnosticInfo); - } -} - -static UA_StatusCode -DiagnosticInfo_copy(UA_DiagnosticInfo const *src, UA_DiagnosticInfo *dst, - const UA_DataType *_) { - memcpy(dst, src, sizeof(UA_DiagnosticInfo)); - UA_String_init(&dst->additionalInfo); - dst->innerDiagnosticInfo = NULL; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(src->hasAdditionalInfo) - retval = String_copy(&src->additionalInfo, &dst->additionalInfo, NULL); - if(src->hasInnerDiagnosticInfo && src->innerDiagnosticInfo) { - dst->innerDiagnosticInfo = (UA_DiagnosticInfo*) - UA_malloc(sizeof(UA_DiagnosticInfo)); - if(UA_LIKELY(dst->innerDiagnosticInfo != NULL)) { - retval |= DiagnosticInfo_copy(src->innerDiagnosticInfo, - dst->innerDiagnosticInfo, NULL); - dst->hasInnerDiagnosticInfo = true; - } else { - dst->hasInnerDiagnosticInfo = false; - retval |= UA_STATUSCODE_BADOUTOFMEMORY; - } - } - return retval; -} - -/********************/ -/* Structured Types */ -/********************/ - -void * -UA_new(const UA_DataType *type) { - void *p = UA_calloc(1, type->memSize); - return p; -} - -static UA_StatusCode -copyByte(const u8 *src, u8 *dst, const UA_DataType *_) { - *dst = *src; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copy2Byte(const u16 *src, u16 *dst, const UA_DataType *_) { - *dst = *src; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copy4Byte(const u32 *src, u32 *dst, const UA_DataType *_) { - *dst = *src; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copy8Byte(const u64 *src, u64 *dst, const UA_DataType *_) { - *dst = *src; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copyGuid(const UA_Guid *src, UA_Guid *dst, const UA_DataType *_) { - *dst = *src; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copyStructure(const void *src, void *dst, const UA_DataType *type) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - uintptr_t ptrs = (uintptr_t)src; - uintptr_t ptrd = (uintptr_t)dst; - for(size_t i = 0; i < type->membersSize; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - ptrs += m->padding; - ptrd += m->padding; - if(!m->isOptional) { - if(!m->isArray) { - retval |= copyJumpTable[mt->typeKind]((const void *)ptrs, (void *)ptrd, mt); - ptrs += mt->memSize; - ptrd += mt->memSize; - } else { - size_t *dst_size = (size_t*)ptrd; - const size_t size = *((const size_t*)ptrs); - ptrs += sizeof(size_t); - ptrd += sizeof(size_t); - retval |= UA_Array_copy(*(void* const*)ptrs, size, (void**)ptrd, mt); - if(retval == UA_STATUSCODE_GOOD) - *dst_size = size; - else - *dst_size = 0; - ptrs += sizeof(void*); - ptrd += sizeof(void*); - } - } else { - if(!m->isArray) { - if(*(void* const*)ptrs != NULL) - retval |= UA_Array_copy(*(void* const*)ptrs, 1, (void**)ptrd, mt); - } else { - if(*(void* const*)(ptrs+sizeof(size_t)) != NULL) { - size_t *dst_size = (size_t*)ptrd; - const size_t size = *((const size_t*)ptrs); - ptrs += sizeof(size_t); - ptrd += sizeof(size_t); - retval |= UA_Array_copy(*(void* const*)ptrs, size, (void**)ptrd, mt); - if(retval == UA_STATUSCODE_GOOD) - *dst_size = size; - else - *dst_size = 0; - } else { - ptrs += sizeof(size_t); - ptrd += sizeof(size_t); - } - } - ptrs += sizeof(void*); - ptrd += sizeof(void*); - } - } - return retval; -} - -static UA_StatusCode -copyUnion(const void *src, void *dst, const UA_DataType *type) { - uintptr_t ptrs = (uintptr_t) src; - uintptr_t ptrd = (uintptr_t) dst; - UA_UInt32 selection = *(UA_UInt32 *)ptrs; - UA_copy((const UA_UInt32 *) ptrs, (UA_UInt32 *) ptrd, &UA_TYPES[UA_TYPES_UINT32]); - if(selection == 0) - return UA_STATUSCODE_GOOD; - const UA_DataTypeMember *m = &type->members[selection-1]; - const UA_DataType *mt = m->memberType; - ptrs += m->padding; - ptrd += m->padding; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - if (m->isArray) { - size_t *dst_size = (size_t*)ptrd; - const size_t size = *((const size_t*)ptrs); - ptrs += sizeof(size_t); - ptrd += sizeof(size_t); - retval = UA_Array_copy(*(void* const*)ptrs, size, (void**)ptrd, mt); - if(retval == UA_STATUSCODE_GOOD) - *dst_size = size; - else - *dst_size = 0; - } else { - retval = copyJumpTable[mt->typeKind]((const void *)ptrs, (void *)ptrd, mt); - } - - return retval; -} - -static UA_StatusCode -copyNotImplemented(const void *src, void *dst, const UA_DataType *type) { - return UA_STATUSCODE_BADNOTIMPLEMENTED; -} - -const UA_copySignature copyJumpTable[UA_DATATYPEKINDS] = { - (UA_copySignature)copyByte, /* Boolean */ - (UA_copySignature)copyByte, /* SByte */ - (UA_copySignature)copyByte, /* Byte */ - (UA_copySignature)copy2Byte, /* Int16 */ - (UA_copySignature)copy2Byte, /* UInt16 */ - (UA_copySignature)copy4Byte, /* Int32 */ - (UA_copySignature)copy4Byte, /* UInt32 */ - (UA_copySignature)copy8Byte, /* Int64 */ - (UA_copySignature)copy8Byte, /* UInt64 */ - (UA_copySignature)copy4Byte, /* Float */ - (UA_copySignature)copy8Byte, /* Double */ - (UA_copySignature)String_copy, - (UA_copySignature)copy8Byte, /* DateTime */ - (UA_copySignature)copyGuid, /* Guid */ - (UA_copySignature)String_copy, /* ByteString */ - (UA_copySignature)String_copy, /* XmlElement */ - (UA_copySignature)NodeId_copy, - (UA_copySignature)ExpandedNodeId_copy, - (UA_copySignature)copy4Byte, /* StatusCode */ - (UA_copySignature)QualifiedName_copy, - (UA_copySignature)LocalizedText_copy, - (UA_copySignature)ExtensionObject_copy, - (UA_copySignature)DataValue_copy, - (UA_copySignature)Variant_copy, - (UA_copySignature)DiagnosticInfo_copy, - (UA_copySignature)copyNotImplemented, /* Decimal */ - (UA_copySignature)copy4Byte, /* Enumeration */ - (UA_copySignature)copyStructure, - (UA_copySignature)copyStructure, /* Structure with Optional Fields */ - (UA_copySignature)copyUnion, /* Union */ - (UA_copySignature)copyNotImplemented /* BitfieldCluster*/ -}; - -UA_StatusCode -UA_copy(const void *src, void *dst, const UA_DataType *type) { - memset(dst, 0, type->memSize); /* init */ - UA_StatusCode retval = copyJumpTable[type->typeKind](src, dst, type); - if(retval != UA_STATUSCODE_GOOD) - UA_clear(dst, type); - return retval; -} - -static void -clearStructure(void *p, const UA_DataType *type) { - uintptr_t ptr = (uintptr_t)p; - for(size_t i = 0; i < type->membersSize; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - if(!m->isOptional) { - if(!m->isArray) { - clearJumpTable[mt->typeKind]((void*)ptr, mt); - ptr += mt->memSize; - } else { - size_t length = *(size_t*)ptr; - ptr += sizeof(size_t); - UA_Array_delete(*(void**)ptr, length, mt); - ptr += sizeof(void*); - } - } else { /* field is optional */ - if(!m->isArray) { - /* optional scalar field is contained */ - if((*(void *const *)ptr != NULL)) - UA_Array_delete(*(void **)ptr, 1, mt); - ptr += sizeof(void *); - } else { - /* optional array field is contained */ - if((*(void *const *)(ptr + sizeof(size_t)) != NULL)) { - size_t length = *(size_t *)ptr; - ptr += sizeof(size_t); - UA_Array_delete(*(void **)ptr, length, mt); - ptr += sizeof(void *); - } else { /* optional array field not contained */ - ptr += sizeof(size_t); - ptr += sizeof(void *); - } - } - } - } -} - -static void -clearUnion(void *p, const UA_DataType *type) { - uintptr_t ptr = (uintptr_t) p; - UA_UInt32 selection = *(UA_UInt32 *)ptr; - if(selection == 0) - return; - const UA_DataTypeMember *m = &type->members[selection-1]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - if (m->isArray) { - size_t length = *(size_t *)ptr; - ptr += sizeof(size_t); - UA_Array_delete(*(void **)ptr, length, mt); - } else { - UA_clear((void *) ptr, mt); - } -} - -static void nopClear(void *p, const UA_DataType *type) { } - -const -UA_clearSignature clearJumpTable[UA_DATATYPEKINDS] = { - (UA_clearSignature)nopClear, /* Boolean */ - (UA_clearSignature)nopClear, /* SByte */ - (UA_clearSignature)nopClear, /* Byte */ - (UA_clearSignature)nopClear, /* Int16 */ - (UA_clearSignature)nopClear, /* UInt16 */ - (UA_clearSignature)nopClear, /* Int32 */ - (UA_clearSignature)nopClear, /* UInt32 */ - (UA_clearSignature)nopClear, /* Int64 */ - (UA_clearSignature)nopClear, /* UInt64 */ - (UA_clearSignature)nopClear, /* Float */ - (UA_clearSignature)nopClear, /* Double */ - (UA_clearSignature)String_clear, /* String */ - (UA_clearSignature)nopClear, /* DateTime */ - (UA_clearSignature)nopClear, /* Guid */ - (UA_clearSignature)String_clear, /* ByteString */ - (UA_clearSignature)String_clear, /* XmlElement */ - (UA_clearSignature)NodeId_clear, - (UA_clearSignature)ExpandedNodeId_clear, - (UA_clearSignature)nopClear, /* StatusCode */ - (UA_clearSignature)QualifiedName_clear, - (UA_clearSignature)LocalizedText_clear, - (UA_clearSignature)ExtensionObject_clear, - (UA_clearSignature)DataValue_clear, - (UA_clearSignature)Variant_clear, - (UA_clearSignature)DiagnosticInfo_clear, - (UA_clearSignature)nopClear, /* Decimal, not implemented */ - (UA_clearSignature)nopClear, /* Enumeration */ - (UA_clearSignature)clearStructure, - (UA_clearSignature)clearStructure, /* Struct with Optional Fields*/ - (UA_clearSignature)clearUnion, /* Union*/ - (UA_clearSignature)nopClear /* BitfieldCluster, not implemented*/ -}; - -void -UA_clear(void *p, const UA_DataType *type) { - clearJumpTable[type->typeKind](p, type); - memset(p, 0, type->memSize); /* init */ -} - -void -UA_delete(void *p, const UA_DataType *type) { - clearJumpTable[type->typeKind](p, type); - UA_free(p); -} - -/******************/ -/* Value Ordering */ -/******************/ - -#define UA_NUMERICORDER(NAME, TYPE) \ - static UA_Order \ - NAME(const TYPE *p1, const TYPE *p2, const UA_DataType *type) { \ - if(*p1 != *p2) \ - return (*p1 < *p2) ? UA_ORDER_LESS : UA_ORDER_MORE; \ - return UA_ORDER_EQ; \ - } - -UA_NUMERICORDER(booleanOrder, UA_Boolean) -UA_NUMERICORDER(sByteOrder, UA_SByte) -UA_NUMERICORDER(byteOrder, UA_Byte) -UA_NUMERICORDER(int16Order, UA_Int16) -UA_NUMERICORDER(uInt16Order, UA_UInt16) -UA_NUMERICORDER(int32Order, UA_Int32) -UA_NUMERICORDER(uInt32Order, UA_UInt32) -UA_NUMERICORDER(int64Order, UA_Int64) -UA_NUMERICORDER(uInt64Order, UA_UInt64) - -#define UA_FLOATORDER(NAME, TYPE) \ - static UA_Order \ - NAME(const TYPE *p1, const TYPE *p2, const UA_DataType *type) { \ - if(*p1 != *p2) { \ - /* p1 is NaN */ \ - if(*p1 != *p1) { \ - if(*p2 != *p2) \ - return UA_ORDER_EQ; \ - return UA_ORDER_LESS; \ - } \ - /* p2 is NaN */ \ - if(*p2 != *p2) \ - return UA_ORDER_MORE; \ - return (*p1 < *p2) ? UA_ORDER_LESS : UA_ORDER_MORE; \ - } \ - return UA_ORDER_EQ; \ - } - -UA_FLOATORDER(floatOrder, UA_Float) -UA_FLOATORDER(doubleOrder, UA_Double) - -static UA_Order -guidOrder(const UA_Guid *p1, const UA_Guid *p2, const UA_DataType *type) { - if(p1->data1 != p2->data1) - return (p1->data1 < p2->data1) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->data2 != p2->data2) - return (p1->data2 < p2->data2) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->data3 != p2->data3) - return (p1->data3 < p2->data3) ? UA_ORDER_LESS : UA_ORDER_MORE; - int cmp = memcmp(p1->data4, p2->data4, 8); - if(cmp != 0) - return (cmp < 0) ? UA_ORDER_LESS : UA_ORDER_MORE; - return UA_ORDER_EQ; -} - -static UA_Order -stringOrder(const UA_String *p1, const UA_String *p2, const UA_DataType *type) { - if(p1->length != p2->length) - return (p1->length < p2->length) ? UA_ORDER_LESS : UA_ORDER_MORE; - /* For zero-length arrays, every pointer not NULL is considered a - * UA_EMPTY_ARRAY_SENTINEL. */ - if(p1->data == p2->data) return UA_ORDER_EQ; - if(p1->data == NULL) return UA_ORDER_LESS; - if(p2->data == NULL) return UA_ORDER_MORE; - int cmp = memcmp((const char*)p1->data, (const char*)p2->data, p1->length); - if(cmp != 0) - return (cmp < 0) ? UA_ORDER_LESS : UA_ORDER_MORE; - return UA_ORDER_EQ; -} - -static UA_Order -nodeIdOrder(const UA_NodeId *p1, const UA_NodeId *p2, const UA_DataType *_) { - /* Compare namespaceIndex */ - if(p1->namespaceIndex != p2->namespaceIndex) - return (p1->namespaceIndex < p2->namespaceIndex) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* Compare identifierType */ - if(p1->identifierType != p2->identifierType) - return (p1->identifierType < p2->identifierType) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* Compare the identifier */ - switch(p1->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - default: - if(p1->identifier.numeric != p2->identifier.numeric) - return (p1->identifier.numeric < p2->identifier.numeric) ? - UA_ORDER_LESS : UA_ORDER_MORE; - return UA_ORDER_EQ; - case UA_NODEIDTYPE_GUID: - return guidOrder(&p1->identifier.guid, &p2->identifier.guid, NULL); - case UA_NODEIDTYPE_STRING: - case UA_NODEIDTYPE_BYTESTRING: - return stringOrder(&p1->identifier.string, &p2->identifier.string, NULL); - } -} - -static UA_Order -expandedNodeIdOrder(const UA_ExpandedNodeId *p1, const UA_ExpandedNodeId *p2, - const UA_DataType *_) { - if(p1->serverIndex != p2->serverIndex) - return (p1->serverIndex < p2->serverIndex) ? UA_ORDER_LESS : UA_ORDER_MORE; - UA_Order o = stringOrder(&p1->namespaceUri, &p2->namespaceUri, NULL); - if(o != UA_ORDER_EQ) - return o; - return nodeIdOrder(&p1->nodeId, &p2->nodeId, NULL); -} - -static UA_Order -qualifiedNameOrder(const UA_QualifiedName *p1, const UA_QualifiedName *p2, - const UA_DataType *_) { - if(p1->namespaceIndex != p2->namespaceIndex) - return (p1->namespaceIndex < p2->namespaceIndex) ? UA_ORDER_LESS : UA_ORDER_MORE; - return stringOrder(&p1->name, &p2->name, NULL); -} - -static UA_Order -localizedTextOrder(const UA_LocalizedText *p1, const UA_LocalizedText *p2, - const UA_DataType *_) { - UA_Order o = stringOrder(&p1->locale, &p2->locale, NULL); - if(o != UA_ORDER_EQ) - return o; - return stringOrder(&p1->text, &p2->text, NULL); -} - -static UA_Order -extensionObjectOrder(const UA_ExtensionObject *p1, const UA_ExtensionObject *p2, - const UA_DataType *_) { - UA_ExtensionObjectEncoding enc1 = p1->encoding; - UA_ExtensionObjectEncoding enc2 = p2->encoding; - if(enc1 > UA_EXTENSIONOBJECT_DECODED) - enc1 = UA_EXTENSIONOBJECT_DECODED; - if(enc2 > UA_EXTENSIONOBJECT_DECODED) - enc2 = UA_EXTENSIONOBJECT_DECODED; - if(enc1 != enc2) - return (enc1 < enc2) ? UA_ORDER_LESS : UA_ORDER_MORE; - - switch(enc1) { - case UA_EXTENSIONOBJECT_ENCODED_NOBODY: - return UA_ORDER_EQ; - - case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: - case UA_EXTENSIONOBJECT_ENCODED_XML: { - UA_Order o = nodeIdOrder(&p1->content.encoded.typeId, - &p2->content.encoded.typeId, NULL); - if(o != UA_ORDER_EQ) - return o; - return stringOrder((const UA_String*)&p1->content.encoded.body, - (const UA_String*)&p2->content.encoded.body, NULL); - } - - case UA_EXTENSIONOBJECT_DECODED: - default: { - const UA_DataType *type1 = p1->content.decoded.type; - const UA_DataType *type2 = p2->content.decoded.type; - if(type1 != type2) - return ((uintptr_t)type1 < (uintptr_t)type2) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(!type1) - return UA_ORDER_EQ; - return orderJumpTable[type1->typeKind] - (p1->content.decoded.data, p2->content.decoded.data, type1); - } - } -} - -/* Part 4: When testing for equality, a Server shall treat null and empty arrays - * as equal. - * - * Don't compare overlayable types as "binary blobs". We have specific order - * rules also for some overlayable types. For example how NaN floats are - * compared. */ -static UA_Order -arrayOrder(const void *p1, size_t p1Length, - const void *p2, size_t p2Length, - const UA_DataType *type) { - if(p1Length != p2Length) - return (p1Length < p2Length) ? UA_ORDER_LESS : UA_ORDER_MORE; - uintptr_t u1 = (uintptr_t)p1; - uintptr_t u2 = (uintptr_t)p2; - for(size_t i = 0; i < p1Length; i++) { - UA_Order o = orderJumpTable[type->typeKind]((const void*)u1, (const void*)u2, type); - if(o != UA_ORDER_EQ) - return o; - u1 += type->memSize; - u2 += type->memSize; - } - return UA_ORDER_EQ; -} - -static UA_Order -variantOrder(const UA_Variant *p1, const UA_Variant *p2, const UA_DataType *_) { - if(p1->type != p2->type) - return ((uintptr_t)p1->type < (uintptr_t)p2->type) ? UA_ORDER_LESS : UA_ORDER_MORE; - - UA_Order o; - if(p1->type != NULL) { - /* Check if both variants are scalars or arrays */ - UA_Boolean s1 = UA_Variant_isScalar(p1); - UA_Boolean s2 = UA_Variant_isScalar(p2); - if(s1 != s2) - return s1 ? UA_ORDER_LESS : UA_ORDER_MORE; - if(s1) { - o = orderJumpTable[p1->type->typeKind](p1->data, p2->data, p1->type); - } else { - /* Mismatching array length? */ - if(p1->arrayLength != p2->arrayLength) - return (p1->arrayLength < p2->arrayLength) ? UA_ORDER_LESS : UA_ORDER_MORE; - o = arrayOrder(p1->data, p1->arrayLength, p2->data, p2->arrayLength, p1->type); - } - if(o != UA_ORDER_EQ) - return o; - } - - if(p1->arrayDimensionsSize != p2->arrayDimensionsSize) - return (p1->arrayDimensionsSize < p2->arrayDimensionsSize) ? - UA_ORDER_LESS : UA_ORDER_MORE; - o = UA_ORDER_EQ; - if(p1->arrayDimensionsSize > 0) - o = arrayOrder(p1->arrayDimensions, p1->arrayDimensionsSize, - p2->arrayDimensions, p2->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_UINT32]); - return o; -} - -static UA_Order -dataValueOrder(const UA_DataValue *p1, const UA_DataValue *p2, const UA_DataType *_) { - /* Value */ - if(p1->hasValue != p2->hasValue) - return (!p1->hasValue) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasValue) { - UA_Order o = variantOrder(&p1->value, &p2->value, NULL); - if(o != UA_ORDER_EQ) - return o; - } - - /* Status */ - if(p1->hasStatus != p2->hasStatus) - return (!p1->hasStatus) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasStatus && p1->status != p2->status) - return (p1->status < p2->status) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* SourceTimestamp */ - if(p1->hasSourceTimestamp != p2->hasSourceTimestamp) - return (!p1->hasSourceTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasSourceTimestamp && p1->sourceTimestamp != p2->sourceTimestamp) - return (p1->sourceTimestamp < p2->sourceTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* ServerTimestamp */ - if(p1->hasServerTimestamp != p2->hasServerTimestamp) - return (!p1->hasServerTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasServerTimestamp && p1->serverTimestamp != p2->serverTimestamp) - return (p1->serverTimestamp < p2->serverTimestamp) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* SourcePicoseconds */ - if(p1->hasSourcePicoseconds != p2->hasSourcePicoseconds) - return (!p1->hasSourcePicoseconds) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasSourcePicoseconds && p1->sourcePicoseconds != p2->sourcePicoseconds) - return (p1->sourcePicoseconds < p2->sourcePicoseconds) ? - UA_ORDER_LESS : UA_ORDER_MORE; - - /* ServerPicoseconds */ - if(p1->hasServerPicoseconds != p2->hasServerPicoseconds) - return (!p1->hasServerPicoseconds) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasServerPicoseconds && p1->serverPicoseconds != p2->serverPicoseconds) - return (p1->serverPicoseconds < p2->serverPicoseconds) ? - UA_ORDER_LESS : UA_ORDER_MORE; - - return UA_ORDER_EQ; -} - -static UA_Order -diagnosticInfoOrder(const UA_DiagnosticInfo *p1, const UA_DiagnosticInfo *p2, - const UA_DataType *_) { - /* SymbolicId */ - if(p1->hasSymbolicId != p2->hasSymbolicId) - return (!p1->hasSymbolicId) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasSymbolicId && p1->symbolicId != p2->symbolicId) - return (p1->symbolicId < p2->symbolicId) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* NamespaceUri */ - if(p1->hasNamespaceUri != p2->hasNamespaceUri) - return (!p1->hasNamespaceUri) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasNamespaceUri && p1->namespaceUri != p2->namespaceUri) - return (p1->namespaceUri < p2->namespaceUri) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* LocalizedText */ - if(p1->hasLocalizedText != p2->hasLocalizedText) - return (!p1->hasLocalizedText) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasLocalizedText && p1->localizedText != p2->localizedText) - return (p1->localizedText < p2->localizedText) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* Locale */ - if(p1->hasLocale != p2->hasLocale) - return (!p1->hasLocale) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasLocale && p1->locale != p2->locale) - return (p1->locale < p2->locale) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* AdditionalInfo */ - if(p1->hasAdditionalInfo != p2->hasAdditionalInfo) - return (!p1->hasAdditionalInfo) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasAdditionalInfo) { - UA_Order o = stringOrder(&p1->additionalInfo, &p2->additionalInfo, NULL); - if(o != UA_ORDER_EQ) - return o; - } - - /* InnerStatusCode */ - if(p1->hasInnerStatusCode != p2->hasInnerStatusCode) - return (!p1->hasInnerStatusCode) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->hasInnerStatusCode && p1->innerStatusCode != p2->innerStatusCode) - return (p1->innerStatusCode < p2->innerStatusCode) ? UA_ORDER_LESS : UA_ORDER_MORE; - - /* InnerDiagnosticInfo */ - if(p1->hasInnerDiagnosticInfo != p2->hasInnerDiagnosticInfo) - return (!p1->hasInnerDiagnosticInfo) ? UA_ORDER_LESS : UA_ORDER_MORE; - if(p1->innerDiagnosticInfo == p2->innerDiagnosticInfo) - return UA_ORDER_EQ; - if(!p1->innerDiagnosticInfo || !p2->innerDiagnosticInfo) - return (!p1->innerDiagnosticInfo) ? UA_ORDER_LESS : UA_ORDER_MORE; - return diagnosticInfoOrder(p1->innerDiagnosticInfo, p2->innerDiagnosticInfo, NULL); -} - -static UA_Order -structureOrder(const void *p1, const void *p2, const UA_DataType *type) { - uintptr_t u1 = (uintptr_t)p1; - uintptr_t u2 = (uintptr_t)p2; - UA_Order o = UA_ORDER_EQ; - for(size_t i = 0; i < type->membersSize; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - u1 += m->padding; - u2 += m->padding; - if(!m->isOptional) { - if(!m->isArray) { - o = orderJumpTable[mt->typeKind]((const void *)u1, (const void *)u2, mt); - u1 += mt->memSize; - u2 += mt->memSize; - } else { - size_t size1 = *(size_t*)u1; - size_t size2 = *(size_t*)u2; - u1 += sizeof(size_t); - u2 += sizeof(size_t); - o = arrayOrder(*(void* const*)u1, size1, *(void* const*)u2, size2, mt); - u1 += sizeof(void*); - u2 += sizeof(void*); - } - } else { - if(!m->isArray) { - const void *pp1 = *(void* const*)u1; - const void *pp2 = *(void* const*)u2; - if(pp1 == pp2) { - o = UA_ORDER_EQ; - } else if(pp1 == NULL) { - o = UA_ORDER_LESS; - } else if(pp2 == NULL) { - o = UA_ORDER_MORE; - } else { - o = orderJumpTable[mt->typeKind](pp1, pp2, mt); - } - } else { - size_t sa1 = *(size_t*)u1; - size_t sa2 = *(size_t*)u2; - u1 += sizeof(size_t); - u2 += sizeof(size_t); - o = arrayOrder(*(void* const*)u1, sa1, *(void* const*)u2, sa2, mt); - } - u1 += sizeof(void*); - u2 += sizeof(void*); - } - - if(o != UA_ORDER_EQ) - break; - } - return o; -} - -static UA_Order -unionOrder(const void *p1, const void *p2, const UA_DataType *type) { - UA_UInt32 sel1 = *(const UA_UInt32 *)p1; - UA_UInt32 sel2 = *(const UA_UInt32 *)p2; - if(sel1 != sel2) - return (sel1 < sel2) ? UA_ORDER_LESS : UA_ORDER_MORE; - - if(sel1 == 0) { - return UA_ORDER_EQ; - } - - const UA_DataTypeMember *m = &type->members[sel1-1]; - const UA_DataType *mt = m->memberType; - - uintptr_t u1 = ((uintptr_t)p1) + m->padding; /* includes switchfield length */ - uintptr_t u2 = ((uintptr_t)p2) + m->padding; - if(m->isArray) { - size_t sa1 = *(size_t*)u1; - size_t sa2 = *(size_t*)u2; - u1 += sizeof(size_t); - u2 += sizeof(size_t); - return arrayOrder(*(void* const*)u1, sa1, *(void* const*)u2, sa2, mt); - } - return orderJumpTable[mt->typeKind]((const void*)u1, (const void*)u2, mt); -} - -static UA_Order -notImplementedOrder(const void *p1, const void *p2, const UA_DataType *type) { - return UA_ORDER_EQ; -} - -const -UA_orderSignature orderJumpTable[UA_DATATYPEKINDS] = { - (UA_orderSignature)booleanOrder, - (UA_orderSignature)sByteOrder, - (UA_orderSignature)byteOrder, - (UA_orderSignature)int16Order, - (UA_orderSignature)uInt16Order, - (UA_orderSignature)int32Order, - (UA_orderSignature)uInt32Order, - (UA_orderSignature)int64Order, - (UA_orderSignature)uInt64Order, - (UA_orderSignature)floatOrder, - (UA_orderSignature)doubleOrder, - (UA_orderSignature)stringOrder, - (UA_orderSignature)int64Order, /* DateTime */ - (UA_orderSignature)guidOrder, - (UA_orderSignature)stringOrder, /* ByteString */ - (UA_orderSignature)stringOrder, /* XmlElement */ - (UA_orderSignature)nodeIdOrder, - (UA_orderSignature)expandedNodeIdOrder, - (UA_orderSignature)uInt32Order, /* StatusCode */ - (UA_orderSignature)qualifiedNameOrder, - (UA_orderSignature)localizedTextOrder, - (UA_orderSignature)extensionObjectOrder, - (UA_orderSignature)dataValueOrder, - (UA_orderSignature)variantOrder, - (UA_orderSignature)diagnosticInfoOrder, - notImplementedOrder, /* Decimal, not implemented */ - (UA_orderSignature)uInt32Order, /* Enumeration */ - (UA_orderSignature)structureOrder, - (UA_orderSignature)structureOrder, /* Struct with Optional Fields*/ - (UA_orderSignature)unionOrder, /* Union*/ - notImplementedOrder /* BitfieldCluster, not implemented */ -}; - -UA_Order UA_order(const void *p1, const void *p2, const UA_DataType *type) { - return orderJumpTable[type->typeKind](p1, p2, type); -} - -/******************/ -/* Array Handling */ -/******************/ - -void * -UA_Array_new(size_t size, const UA_DataType *type) { - if(size > UA_INT32_MAX) - return NULL; - if(size == 0) - return UA_EMPTY_ARRAY_SENTINEL; - return UA_calloc(size, type->memSize); -} - -UA_StatusCode -UA_Array_copy(const void *src, size_t size, - void **dst, const UA_DataType *type) { - if(size == 0) { - if(src == NULL) - *dst = NULL; - else - *dst= UA_EMPTY_ARRAY_SENTINEL; - return UA_STATUSCODE_GOOD; - } - - /* Check the array consistency -- defensive programming in case the user - * manually created an inconsistent array */ - if(UA_UNLIKELY(!type || !src)) - return UA_STATUSCODE_BADINTERNALERROR; - - /* calloc, so we don't have to check retval in every iteration of copying */ - *dst = UA_calloc(size, type->memSize); - if(!*dst) - return UA_STATUSCODE_BADOUTOFMEMORY; - - if(type->pointerFree) { - memcpy(*dst, src, type->memSize * size); - return UA_STATUSCODE_GOOD; - } - - uintptr_t ptrs = (uintptr_t)src; - uintptr_t ptrd = (uintptr_t)*dst; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < size; ++i) { - retval |= UA_copy((void*)ptrs, (void*)ptrd, type); - ptrs += type->memSize; - ptrd += type->memSize; - } - if(retval != UA_STATUSCODE_GOOD) { - UA_Array_delete(*dst, size, type); - *dst = NULL; - } - return retval; -} - -UA_StatusCode -UA_Array_resize(void **p, size_t *size, size_t newSize, - const UA_DataType *type) { - if(*size == newSize) - return UA_STATUSCODE_GOOD; - - /* Empty array? */ - if(newSize == 0) { - UA_Array_delete(*p, *size, type); - *p = UA_EMPTY_ARRAY_SENTINEL; - *size = 0; - return UA_STATUSCODE_GOOD; - } - - /* Make a copy of the members that shall be removed. Realloc can fail during - * trimming. So we cannot clear the members already here. */ - void *deleteMembers = NULL; - if(newSize < *size && !type->pointerFree) { - size_t deleteSize = *size - newSize; - deleteMembers = UA_malloc(deleteSize * type->memSize); - if(!deleteMembers) - return UA_STATUSCODE_BADOUTOFMEMORY; - memcpy(deleteMembers, (void*)((uintptr_t)*p + (newSize * type->memSize)), - deleteSize * type->memSize); /* shallow copy */ - } - - void *oldP = *p; - if(oldP == UA_EMPTY_ARRAY_SENTINEL) - oldP = NULL; - - /* Realloc */ - void *newP = UA_realloc(oldP, newSize * type->memSize); - if(!newP) { - if(deleteMembers) - UA_free(deleteMembers); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Clear removed members or initialize the new ones. Note that deleteMembers - * depends on type->pointerFree. */ - if(newSize > *size) - memset((void*)((uintptr_t)newP + (*size * type->memSize)), 0, - (newSize - *size) * type->memSize); - else if(deleteMembers) - UA_Array_delete(deleteMembers, *size - newSize, type); - - /* Set the new array */ - *p = newP; - *size = newSize; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Array_append(void **p, size_t *size, void *newElem, - const UA_DataType *type) { - /* Resize the array */ - size_t oldSize = *size; - UA_StatusCode res = UA_Array_resize(p, size, oldSize+1, type); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Move the value */ - memcpy((void*)((uintptr_t)*p + (oldSize * type->memSize)), - newElem, type->memSize); - UA_init(newElem, type); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Array_appendCopy(void **p, size_t *size, const void *newElem, - const UA_DataType *type) { - char scratch[512]; - if(type->memSize > 512) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Copy the value */ - UA_StatusCode res = UA_copy(newElem, (void*)scratch, type); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Append */ - res = UA_Array_append(p, size, (void*)scratch, type); - if(res != UA_STATUSCODE_GOOD) - UA_clear((void*)scratch, type); - return res; -} - -void -UA_Array_delete(void *p, size_t size, const UA_DataType *type) { - if(!type->pointerFree) { - uintptr_t ptr = (uintptr_t)p; - for(size_t i = 0; i < size; ++i) { - UA_clear((void*)ptr, type); - ptr += type->memSize; - } - } - UA_free((void*)((uintptr_t)p & ~(uintptr_t)UA_EMPTY_ARRAY_SENTINEL)); -} - -#ifdef UA_ENABLE_TYPEDESCRIPTION -UA_Boolean -UA_DataType_getStructMember(const UA_DataType *type, const char *memberName, - size_t *outOffset, const UA_DataType **outMemberType, - UA_Boolean *outIsArray) { - if(type->typeKind != UA_DATATYPEKIND_STRUCTURE && - type->typeKind != UA_DATATYPEKIND_OPTSTRUCT) - return false; - - size_t offset = 0; - for(size_t i = 0; i < type->membersSize; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - offset += m->padding; - - if(strcmp(memberName, m->memberName) == 0) { - *outOffset = offset; - *outMemberType = mt; - *outIsArray = m->isArray; - return true; - } - - if(!m->isOptional) { - if(!m->isArray) { - offset += mt->memSize; - } else { - offset += sizeof(size_t); - offset += sizeof(void*); - } - } else { /* field is optional */ - if(!m->isArray) { - offset += sizeof(void *); - } else { - offset += sizeof(size_t); - offset += sizeof(void *); - } - } - } - - return false; -} -#endif - -UA_Boolean -UA_DataType_isNumeric(const UA_DataType *type) { - switch(type->typeKind) { - case UA_DATATYPEKIND_SBYTE: - case UA_DATATYPEKIND_BYTE: - case UA_DATATYPEKIND_INT16: - case UA_DATATYPEKIND_UINT16: - case UA_DATATYPEKIND_INT32: - case UA_DATATYPEKIND_UINT32: - case UA_DATATYPEKIND_INT64: - case UA_DATATYPEKIND_UINT64: - case UA_DATATYPEKIND_FLOAT: - case UA_DATATYPEKIND_DOUBLE: - /* not implemented: UA_DATATYPEKIND_DECIMAL */ - return true; - default: - return false; - } -} - -/**********************/ -/* Parse NumericRange */ -/**********************/ - -static size_t -readDimension(UA_Byte *buf, size_t buflen, UA_NumericRangeDimension *dim) { - size_t progress = UA_readNumber(buf, buflen, &dim->min); - if(progress == 0) - return 0; - if(buflen <= progress + 1 || buf[progress] != ':') { - dim->max = dim->min; - return progress; - } - - ++progress; - size_t progress2 = UA_readNumber(&buf[progress], buflen - progress, &dim->max); - if(progress2 == 0) - return 0; - - /* invalid range */ - if(dim->min >= dim->max) - return 0; - - return progress + progress2; -} - -UA_StatusCode -UA_NumericRange_parse(UA_NumericRange *range, const UA_String str) { - size_t idx = 0; - size_t dimensionsMax = 0; - UA_NumericRangeDimension *dimensions = NULL; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - size_t offset = 0; - while(true) { - /* alloc dimensions */ - if(idx >= dimensionsMax) { - UA_NumericRangeDimension *newds; - size_t newdssize = sizeof(UA_NumericRangeDimension) * (dimensionsMax + 2); - newds = (UA_NumericRangeDimension*)UA_realloc(dimensions, newdssize); - if(!newds) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - break; - } - dimensions = newds; - dimensionsMax = dimensionsMax + 2; - } - - /* read the dimension */ - size_t progress = readDimension(&str.data[offset], str.length - offset, - &dimensions[idx]); - if(progress == 0) { - retval = UA_STATUSCODE_BADINDEXRANGEINVALID; - break; - } - offset += progress; - ++idx; - - /* loop into the next dimension */ - if(offset >= str.length) - break; - - if(str.data[offset] != ',') { - retval = UA_STATUSCODE_BADINDEXRANGEINVALID; - break; - } - ++offset; - } - - if(retval == UA_STATUSCODE_GOOD && idx > 0) { - range->dimensions = dimensions; - range->dimensionsSize = idx; - } else { - UA_free(dimensions); - } - - return retval; -} - -/**** amalgamated original file "/src/ua_types_encoding_binary.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright 2020 (c) Grigory Friedman - * Copyright 2014-2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2014-2016 (c) Sten Grüner - * Copyright 2014 (c) Leon Urbas - * Copyright 2015 (c) LEvertz - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) Lorenz Haas - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2017 (c) Henrik Norrman - */ - - - -/** - * Type Encoding and Decoding - * -------------------------- - * The following methods contain encoding and decoding functions for the builtin - * data types and generic functions that operate on all types and arrays. This - * requires the type description from a UA_DataType structure. - * - * Breaking a message up into chunks is integrated with the encoding. When the - * end of a buffer is reached, a callback is executed that sends the current - * buffer as a chunk and exchanges the encoding buffer "underneath" the ongoing - * encoding. This reduces the RAM requirements and unnecessary copying. */ - -/* Part 6 §5.1.5: Decoders shall support at least 100 nesting levels */ -#define UA_ENCODING_MAX_RECURSION 100 - -typedef struct { - /* Pointers to the current and last buffer position */ - u8 *pos; - const u8 *end; - - /* How often did we en-/decoding recurse? */ - u16 depth; - - const UA_DataTypeArray *customTypes; - UA_exchangeEncodeBuffer exchangeBufferCallback; - void *exchangeBufferCallbackHandle; -} Ctx; - -typedef status -(*encodeBinarySignature)(const void *UA_RESTRICT src, const UA_DataType *type, - Ctx *UA_RESTRICT ctx); -typedef status -(*decodeBinarySignature)(void *UA_RESTRICT dst, const UA_DataType *type, - Ctx *UA_RESTRICT ctx); -typedef size_t -(*calcSizeBinarySignature)(const void *UA_RESTRICT p, const UA_DataType *type); - -#define ENCODE_BINARY(TYPE) static status \ - TYPE##_encodeBinary(const UA_##TYPE *UA_RESTRICT src, \ - const UA_DataType *type, Ctx *UA_RESTRICT ctx) -#define DECODE_BINARY(TYPE) static status \ - TYPE##_decodeBinary(UA_##TYPE *UA_RESTRICT dst, \ - const UA_DataType *type, Ctx *UA_RESTRICT ctx) -#define CALCSIZE_BINARY(TYPE) static size_t \ - TYPE##_calcSizeBinary(const UA_##TYPE *UA_RESTRICT src, const UA_DataType *_) -#define ENCODE_DIRECT(SRC, TYPE) TYPE##_encodeBinary((const UA_##TYPE*)SRC, NULL, ctx) -#define DECODE_DIRECT(DST, TYPE) TYPE##_decodeBinary((UA_##TYPE*)DST, NULL, ctx) - -/* Jumptables for de-/encoding and computing the buffer length. The methods in - * the decoding jumptable do not all clean up their allocated memory when an - * error occurs. So a final _clear needs to be called before returning to the - * user. */ -extern const encodeBinarySignature encodeBinaryJumpTable[UA_DATATYPEKINDS]; -extern const decodeBinarySignature decodeBinaryJumpTable[UA_DATATYPEKINDS]; -extern const calcSizeBinarySignature calcSizeBinaryJumpTable[UA_DATATYPEKINDS]; - -/* Send the current chunk and replace the buffer */ -static status exchangeBuffer(Ctx *ctx) { - if(!ctx->exchangeBufferCallback) - return UA_STATUSCODE_BADENCODINGERROR; - return ctx->exchangeBufferCallback(ctx->exchangeBufferCallbackHandle, - &ctx->pos, &ctx->end); -} - -/* If encoding fails, exchange the buffer and try again. */ -static status -encodeWithExchangeBuffer(const void *ptr, const UA_DataType *type, Ctx *ctx) { - u8 *oldpos = ctx->pos; /* Last known good position */ -#ifndef NDEBUG - /* We have to ensure that the buffer was not exchanged AND - * BADENCODINGLIMITSEXCEEDED was returned. If that were the case, oldpos - * would be invalid. That means, a type encoding must never return - * BADENCODINGLIMITSEXCEEDED once the buffer could have been exchanged. This - * is achieved by the use of encodeWithExchangeBuffer. */ - const u8 *oldend = ctx->end; - (void)oldend; /* For compilers who don't understand NDEBUG... */ -#endif - status ret = encodeBinaryJumpTable[type->typeKind](ptr, type, ctx); - if(ret == UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED) { - UA_assert(ctx->end == oldend); - ctx->pos = oldpos; /* Set to the last known good position and exchange */ - ret = exchangeBuffer(ctx); - UA_CHECK_STATUS(ret, return ret); - ret = encodeBinaryJumpTable[type->typeKind](ptr, type, ctx); - } - return ret; -} - -/*****************/ -/* Integer Types */ -/*****************/ - -#if !UA_BINARY_OVERLAYABLE_INTEGER - -#pragma message "Integer endianness could not be detected to be little endian. Use slow generic encoding." - -/* These en/decoding functions are only used when the architecture isn't little-endian. */ -static void -UA_encode16(const u16 v, u8 buf[2]) { - buf[0] = (u8)v; - buf[1] = (u8)(v >> 8); -} - -static void -UA_decode16(const u8 buf[2], u16 *v) { - *v = (u16)((u16)buf[0] + (((u16)buf[1]) << 8)); -} - -static void -UA_encode32(const u32 v, u8 buf[4]) { - buf[0] = (u8)v; - buf[1] = (u8)(v >> 8); - buf[2] = (u8)(v >> 16); - buf[3] = (u8)(v >> 24); -} - -static void -UA_decode32(const u8 buf[4], u32 *v) { - *v = (u32)((u32)buf[0] + (((u32)buf[1]) << 8) + - (((u32)buf[2]) << 16) + (((u32)buf[3]) << 24)); -} - -static void -UA_encode64(const u64 v, u8 buf[8]) { - buf[0] = (u8)v; - buf[1] = (u8)(v >> 8); - buf[2] = (u8)(v >> 16); - buf[3] = (u8)(v >> 24); - buf[4] = (u8)(v >> 32); - buf[5] = (u8)(v >> 40); - buf[6] = (u8)(v >> 48); - buf[7] = (u8)(v >> 56); -} - -static void -UA_decode64(const u8 buf[8], u64 *v) { - *v = (u64)((u64)buf[0] + (((u64)buf[1]) << 8) + - (((u64)buf[2]) << 16) + (((u64)buf[3]) << 24) + - (((u64)buf[4]) << 32) + (((u64)buf[5]) << 40) + - (((u64)buf[6]) << 48) + (((u64)buf[7]) << 56)); -} - -#endif /* !UA_BINARY_OVERLAYABLE_INTEGER */ - -/* Boolean */ -/* Note that sizeof(bool) != 1 on some platforms. Overlayable integer encoding - * is disabled in those cases. */ -ENCODE_BINARY(Boolean) { - UA_CHECK(ctx->pos + 1 <= ctx->end, return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - *ctx->pos = *(const u8*)src; - ++ctx->pos; - return UA_STATUSCODE_GOOD; -} - -DECODE_BINARY(Boolean) { - UA_CHECK(ctx->pos + 1 <= ctx->end, return UA_STATUSCODE_BADDECODINGERROR); - *dst = (*ctx->pos > 0) ? true : false; - ++ctx->pos; - return UA_STATUSCODE_GOOD; -} - -/* Byte */ -ENCODE_BINARY(Byte) { - UA_CHECK(ctx->pos + sizeof(u8) <= ctx->end, - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - *ctx->pos = *(const u8*)src; - ++ctx->pos; - return UA_STATUSCODE_GOOD; -} - -DECODE_BINARY(Byte) { - UA_CHECK(ctx->pos + sizeof(u8) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); - *dst = *ctx->pos; - ++ctx->pos; - return UA_STATUSCODE_GOOD; -} - -/* UInt16 */ -ENCODE_BINARY(UInt16) { - UA_CHECK(ctx->pos + sizeof(u16) <= ctx->end, - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); -#if UA_BINARY_OVERLAYABLE_INTEGER - memcpy(ctx->pos, src, sizeof(u16)); -#else - UA_encode16(*src, ctx->pos); -#endif - ctx->pos += 2; - return UA_STATUSCODE_GOOD; -} - -DECODE_BINARY(UInt16) { - UA_CHECK(ctx->pos + sizeof(u16) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); -#if UA_BINARY_OVERLAYABLE_INTEGER - memcpy(dst, ctx->pos, sizeof(u16)); -#else - UA_decode16(ctx->pos, dst); -#endif - ctx->pos += 2; - return UA_STATUSCODE_GOOD; -} - -/* UInt32 */ -ENCODE_BINARY(UInt32) { - UA_CHECK(ctx->pos + sizeof(u32) <= ctx->end, - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); -#if UA_BINARY_OVERLAYABLE_INTEGER - memcpy(ctx->pos, src, sizeof(u32)); -#else - UA_encode32(*src, ctx->pos); -#endif - ctx->pos += 4; - return UA_STATUSCODE_GOOD; -} - -DECODE_BINARY(UInt32) { - UA_CHECK(ctx->pos + sizeof(u32) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); -#if UA_BINARY_OVERLAYABLE_INTEGER - memcpy(dst, ctx->pos, sizeof(u32)); -#else - UA_decode32(ctx->pos, dst); -#endif - ctx->pos += 4; - return UA_STATUSCODE_GOOD; -} - -/* UInt64 */ -ENCODE_BINARY(UInt64) { - UA_CHECK(ctx->pos + sizeof(u64) <= ctx->end, - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); -#if UA_BINARY_OVERLAYABLE_INTEGER - memcpy(ctx->pos, src, sizeof(u64)); -#else - UA_encode64(*src, ctx->pos); -#endif - ctx->pos += 8; - return UA_STATUSCODE_GOOD; -} - -DECODE_BINARY(UInt64) { - UA_CHECK(ctx->pos + sizeof(u64) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); -#if UA_BINARY_OVERLAYABLE_INTEGER - memcpy(dst, ctx->pos, sizeof(u64)); -#else - UA_decode64(ctx->pos, dst); -#endif - ctx->pos += 8; - return UA_STATUSCODE_GOOD; -} - -/************************/ -/* Floating Point Types */ -/************************/ - -/* Can we reuse the integer encoding mechanism by casting floating point - * values? */ -#if (UA_FLOAT_IEEE754 == 1) && (UA_LITTLE_ENDIAN == UA_FLOAT_LITTLE_ENDIAN) -# define Float_encodeBinary UInt32_encodeBinary -# define Float_decodeBinary UInt32_decodeBinary -# define Double_encodeBinary UInt64_encodeBinary -# define Double_decodeBinary UInt64_decodeBinary -#else - -#include - -#pragma message "No native IEEE 754 format detected. Use slow generic encoding." - -/* Handling of IEEE754 floating point values was taken from Beej's Guide to - * Network Programming (http://beej.us/guide/bgnet/) and enhanced to cover the - * edge cases +/-0, +/-inf and nan. */ -static uint64_t -pack754(long double f, unsigned bits, unsigned expbits) { - unsigned significandbits = bits - expbits - 1; - long double fnorm; - long long sign; - if(f < 0) { sign = 1; fnorm = -f; } - else { sign = 0; fnorm = f; } - int shift = 0; - while(fnorm >= 2.0) { fnorm /= 2.0; ++shift; } - while(fnorm < 1.0) { fnorm *= 2.0; --shift; } - fnorm = fnorm - 1.0; - long long significand = (long long)(fnorm * ((float)(1LL<>significandbits) & (uint64_t)((1LL< 0) { result *= 2.0; --shift; } - while(shift < 0) { result /= 2.0; ++shift; } - result *= ((i>>(bits-1))&1)? -1.0: 1.0; - return result; -} - -/* Float */ -#define FLOAT_NAN 0xffc00000 -#define FLOAT_INF 0x7f800000 -#define FLOAT_NEG_INF 0xff800000 -#define FLOAT_NEG_ZERO 0x80000000 - -ENCODE_BINARY(Float) { - UA_Float f = *src; - u32 encoded; - /* cppcheck-suppress duplicateExpression */ - if(f != f) encoded = FLOAT_NAN; - else if(f == 0.0f) encoded = signbit(f) ? FLOAT_NEG_ZERO : 0; - else if(f/f != f/f) encoded = f > 0 ? FLOAT_INF : FLOAT_NEG_INF; - else encoded = (u32)pack754(f, 32, 8); - return ENCODE_DIRECT(&encoded, UInt32); -} - -DECODE_BINARY(Float) { - u32 decoded; - status ret = DECODE_DIRECT(&decoded, UInt32); - if(ret != UA_STATUSCODE_GOOD) - return ret; - if(decoded == 0) *dst = 0.0f; - else if(decoded == FLOAT_NEG_ZERO) *dst = -0.0f; - else if(decoded == FLOAT_INF) *dst = INFINITY; - else if(decoded == FLOAT_NEG_INF) *dst = -INFINITY; - else if((decoded >= 0x7f800001 && decoded <= 0x7fffffff) || - (decoded >= 0xff800001)) *dst = NAN; - else *dst = (UA_Float)unpack754(decoded, 32, 8); - return UA_STATUSCODE_GOOD; -} - -/* Double */ -#define DOUBLE_NAN 0xfff8000000000000L -#define DOUBLE_INF 0x7ff0000000000000L -#define DOUBLE_NEG_INF 0xfff0000000000000L -#define DOUBLE_NEG_ZERO 0x8000000000000000L - -ENCODE_BINARY(Double) { - UA_Double d = *src; - u64 encoded; - /* cppcheck-suppress duplicateExpression */ - if(d != d) encoded = DOUBLE_NAN; - else if(d == 0.0) encoded = signbit(d) ? DOUBLE_NEG_ZERO : 0; - else if(d/d != d/d) encoded = d > 0 ? DOUBLE_INF : DOUBLE_NEG_INF; - else encoded = pack754(d, 64, 11); - return ENCODE_DIRECT(&encoded, UInt64); -} - -DECODE_BINARY(Double) { - u64 decoded; - status ret = DECODE_DIRECT(&decoded, UInt64); - UA_CHECK_STATUS(ret, return ret); - if(decoded == 0) *dst = 0.0; - else if(decoded == DOUBLE_NEG_ZERO) *dst = -0.0; - else if(decoded == DOUBLE_INF) *dst = INFINITY; - else if(decoded == DOUBLE_NEG_INF) *dst = -INFINITY; - else if((decoded >= 0x7ff0000000000001L && decoded <= 0x7fffffffffffffffL) || - (decoded >= 0xfff0000000000001L)) *dst = NAN; - else *dst = (UA_Double)unpack754(decoded, 64, 11); - return UA_STATUSCODE_GOOD; -} - -#endif - -/******************/ -/* Array Handling */ -/******************/ - -static status -Array_encodeBinaryOverlayable(uintptr_t ptr, size_t memSize, Ctx *ctx) { - /* Loop as long as more elements remain than fit into the chunk */ - while(ctx->end < ctx->pos + memSize) { - size_t possible = ((uintptr_t)ctx->end - (uintptr_t)ctx->pos); - memcpy(ctx->pos, (void*)ptr, possible); - ctx->pos += possible; - ptr += possible; - status ret = exchangeBuffer(ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - memSize -= possible; - } - - /* Encode the remaining elements */ - memcpy(ctx->pos, (void*)ptr, memSize); - ctx->pos += memSize; - return UA_STATUSCODE_GOOD; -} - -static status -Array_encodeBinaryComplex(uintptr_t ptr, size_t length, - const UA_DataType *type, Ctx *ctx) { - /* Encode every element */ - for(size_t i = 0; i < length; ++i) { - status ret = encodeWithExchangeBuffer((const void*)ptr, type, ctx); - ptr += type->memSize; - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); /* Unrecoverable fail */ - } - return UA_STATUSCODE_GOOD; -} - -static status -Array_encodeBinary(const void *src, size_t length, const UA_DataType *type, Ctx *ctx) { - /* Check and convert the array length to int32 */ - i32 signed_length = -1; - if(length > UA_INT32_MAX) - return UA_STATUSCODE_BADINTERNALERROR; - if(length > 0) - signed_length = (i32)length; - else if(src >= UA_EMPTY_ARRAY_SENTINEL) /* src != NULL */ - signed_length = 0; - - /* Encode the array length */ - status ret = encodeWithExchangeBuffer(&signed_length, &UA_TYPES[UA_TYPES_INT32], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the content */ - if(length > 0) { - if(type->overlayable) - ret = Array_encodeBinaryOverlayable((uintptr_t)src, length * type->memSize, ctx); - else - ret = Array_encodeBinaryComplex((uintptr_t)src, length, type, ctx); - } - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; -} - -static status -Array_decodeBinary(void *UA_RESTRICT *UA_RESTRICT dst, size_t *out_length, - const UA_DataType *type, Ctx *ctx) { - /* Decode the length */ - i32 signed_length; - status ret = DECODE_DIRECT(&signed_length, UInt32); /* Int32 */ - UA_CHECK_STATUS(ret, return ret); - - /* Return early for empty arrays */ - if(signed_length <= 0) { - *out_length = 0; - if(signed_length < 0) - *dst = NULL; - else - *dst = UA_EMPTY_ARRAY_SENTINEL; - return UA_STATUSCODE_GOOD; - } - - /* Filter out arrays that can obviously not be decoded, because the message - * is too small for the array length. This prevents the allocation of very - * long arrays for bogus messages. - * - * The worst known case (so far) is UA_DataValue. It has - * sizeof(UA_DataValue) == 80 and an empty DataValue is encoded with just - * one byte. We use 128 as the smallest power of 2 larger than 80. */ - size_t length = (size_t)signed_length; - UA_CHECK(ctx->pos + ((type->memSize * length) / 128) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); - - /* Allocate memory */ - *dst = UA_calloc(length, type->memSize); - UA_CHECK_MEM(*dst, return UA_STATUSCODE_BADOUTOFMEMORY); - - if(type->overlayable) { - /* memcpy overlayable array */ - UA_CHECK(ctx->pos + (type->memSize * length) <= ctx->end, - UA_free(*dst); *dst = NULL; return UA_STATUSCODE_BADDECODINGERROR); - memcpy(*dst, ctx->pos, type->memSize * length); - ctx->pos += type->memSize * length; - } else { - /* Decode array members */ - uintptr_t ptr = (uintptr_t)*dst; - for(size_t i = 0; i < length; ++i) { - ret = decodeBinaryJumpTable[type->typeKind]((void*)ptr, type, ctx); - UA_CHECK_STATUS(ret, /* +1 because last element is also already initialized */ - UA_Array_delete(*dst, i+1, type); *dst = NULL; return ret); - ptr += type->memSize; - } - } - *out_length = length; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* Builtin Types */ -/*****************/ - -ENCODE_BINARY(String) { - return Array_encodeBinary(src->data, src->length, &UA_TYPES[UA_TYPES_BYTE], ctx); -} - -DECODE_BINARY(String) { - return Array_decodeBinary((void**)&dst->data, &dst->length, &UA_TYPES[UA_TYPES_BYTE], ctx); -} - -/* Guid */ -ENCODE_BINARY(Guid) { - status ret = UA_STATUSCODE_GOOD; - ret |= ENCODE_DIRECT(&src->data1, UInt32); - ret |= ENCODE_DIRECT(&src->data2, UInt16); - ret |= ENCODE_DIRECT(&src->data3, UInt16); - UA_CHECK(ctx->pos + (8*sizeof(u8)) <= ctx->end, - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - memcpy(ctx->pos, src->data4, 8*sizeof(u8)); - ctx->pos += 8; - return ret; -} - -DECODE_BINARY(Guid) { - status ret = UA_STATUSCODE_GOOD; - ret |= DECODE_DIRECT(&dst->data1, UInt32); - ret |= DECODE_DIRECT(&dst->data2, UInt16); - ret |= DECODE_DIRECT(&dst->data3, UInt16); - UA_CHECK(ctx->pos + (8*sizeof(u8)) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); - memcpy(dst->data4, ctx->pos, 8*sizeof(u8)); - ctx->pos += 8; - return ret; -} - -/* NodeId */ -#define UA_NODEIDTYPE_NUMERIC_TWOBYTE 0u -#define UA_NODEIDTYPE_NUMERIC_FOURBYTE 1u -#define UA_NODEIDTYPE_NUMERIC_COMPLETE 2u - -#define UA_EXPANDEDNODEID_SERVERINDEX_FLAG 0x40u -#define UA_EXPANDEDNODEID_NAMESPACEURI_FLAG 0x80u - -/* For ExpandedNodeId, we prefill the encoding mask. */ -static status -NodeId_encodeBinaryWithEncodingMask(UA_NodeId const *src, u8 encoding, Ctx *ctx) { - status ret = UA_STATUSCODE_GOOD; - switch(src->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - if(src->identifier.numeric > UA_UINT16_MAX || src->namespaceIndex > UA_BYTE_MAX) { - encoding |= UA_NODEIDTYPE_NUMERIC_COMPLETE; - ret |= ENCODE_DIRECT(&encoding, Byte); - ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); - ret |= ENCODE_DIRECT(&src->identifier.numeric, UInt32); - } else if(src->identifier.numeric > UA_BYTE_MAX || src->namespaceIndex > 0) { - encoding |= UA_NODEIDTYPE_NUMERIC_FOURBYTE; - ret |= ENCODE_DIRECT(&encoding, Byte); - u8 nsindex = (u8)src->namespaceIndex; - ret |= ENCODE_DIRECT(&nsindex, Byte); - u16 identifier16 = (u16)src->identifier.numeric; - ret |= ENCODE_DIRECT(&identifier16, UInt16); - } else { - encoding |= UA_NODEIDTYPE_NUMERIC_TWOBYTE; - ret |= ENCODE_DIRECT(&encoding, Byte); - u8 identifier8 = (u8)src->identifier.numeric; - ret |= ENCODE_DIRECT(&identifier8, Byte); - } - break; - case UA_NODEIDTYPE_STRING: - encoding |= (u8)UA_NODEIDTYPE_STRING; - ret |= ENCODE_DIRECT(&encoding, Byte); - ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); - UA_CHECK_STATUS(ret, return ret); - /* Can exchange the buffer */ - ret = ENCODE_DIRECT(&src->identifier.string, String); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - break; - case UA_NODEIDTYPE_GUID: - encoding |= (u8)UA_NODEIDTYPE_GUID; - ret |= ENCODE_DIRECT(&encoding, Byte); - ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); - ret |= ENCODE_DIRECT(&src->identifier.guid, Guid); - break; - case UA_NODEIDTYPE_BYTESTRING: - encoding |= (u8)UA_NODEIDTYPE_BYTESTRING; - ret |= ENCODE_DIRECT(&encoding, Byte); - ret |= ENCODE_DIRECT(&src->namespaceIndex, UInt16); - UA_CHECK_STATUS(ret, return ret); - /* Can exchange the buffer */ - ret = ENCODE_DIRECT(&src->identifier.byteString, String); /* ByteString */ - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - break; - default: - return UA_STATUSCODE_BADINTERNALERROR; - } - return ret; -} - -ENCODE_BINARY(NodeId) { - return NodeId_encodeBinaryWithEncodingMask(src, 0, ctx); -} - -DECODE_BINARY(NodeId) { - u8 dstByte = 0, encodingByte = 0; - u16 dstUInt16 = 0; - - /* Decode the encoding bitfield */ - status ret = DECODE_DIRECT(&encodingByte, Byte); - UA_CHECK_STATUS(ret, return ret); - - /* Filter out the bits used only for ExpandedNodeIds */ - encodingByte &= (u8)~(u8)(UA_EXPANDEDNODEID_SERVERINDEX_FLAG | - UA_EXPANDEDNODEID_NAMESPACEURI_FLAG); - - /* Decode the namespace and identifier */ - switch(encodingByte) { - case UA_NODEIDTYPE_NUMERIC_TWOBYTE: - dst->identifierType = UA_NODEIDTYPE_NUMERIC; - ret = DECODE_DIRECT(&dstByte, Byte); - dst->identifier.numeric = dstByte; - dst->namespaceIndex = 0; - break; - case UA_NODEIDTYPE_NUMERIC_FOURBYTE: - dst->identifierType = UA_NODEIDTYPE_NUMERIC; - ret |= DECODE_DIRECT(&dstByte, Byte); - dst->namespaceIndex = dstByte; - ret |= DECODE_DIRECT(&dstUInt16, UInt16); - dst->identifier.numeric = dstUInt16; - break; - case UA_NODEIDTYPE_NUMERIC_COMPLETE: - dst->identifierType = UA_NODEIDTYPE_NUMERIC; - ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); - ret |= DECODE_DIRECT(&dst->identifier.numeric, UInt32); - break; - case UA_NODEIDTYPE_STRING: - dst->identifierType = UA_NODEIDTYPE_STRING; - ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); - ret |= DECODE_DIRECT(&dst->identifier.string, String); - break; - case UA_NODEIDTYPE_GUID: - dst->identifierType = UA_NODEIDTYPE_GUID; - ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); - ret |= DECODE_DIRECT(&dst->identifier.guid, Guid); - break; - case UA_NODEIDTYPE_BYTESTRING: - dst->identifierType = UA_NODEIDTYPE_BYTESTRING; - ret |= DECODE_DIRECT(&dst->namespaceIndex, UInt16); - ret |= DECODE_DIRECT(&dst->identifier.byteString, String); /* ByteString */ - break; - default: - ret |= UA_STATUSCODE_BADINTERNALERROR; - break; - } - return ret; -} - -/* ExpandedNodeId */ -ENCODE_BINARY(ExpandedNodeId) { - /* Set up the encoding mask */ - u8 encoding = 0; - if((void*)src->namespaceUri.data > UA_EMPTY_ARRAY_SENTINEL) - encoding |= UA_EXPANDEDNODEID_NAMESPACEURI_FLAG; - if(src->serverIndex > 0) - encoding |= UA_EXPANDEDNODEID_SERVERINDEX_FLAG; - - /* Encode the NodeId. Can exchange the buffer. */ - status ret = NodeId_encodeBinaryWithEncodingMask(&src->nodeId, encoding, ctx); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the namespace. Internally uses encodeWithExchangeBuffer - * everywhere. So it will never return - * UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED. */ - if((void*)src->namespaceUri.data > UA_EMPTY_ARRAY_SENTINEL) { - ret = ENCODE_DIRECT(&src->namespaceUri, String); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - } - - /* Encode the serverIndex */ - if(src->serverIndex > 0) - ret = encodeWithExchangeBuffer(&src->serverIndex, &UA_TYPES[UA_TYPES_UINT32], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; -} - -DECODE_BINARY(ExpandedNodeId) { - /* Decode the encoding mask */ - UA_CHECK(ctx->pos + 1 <= ctx->end, return UA_STATUSCODE_BADDECODINGERROR); - u8 encoding = *ctx->pos; - - /* Decode the NodeId */ - status ret = DECODE_DIRECT(&dst->nodeId, NodeId); - - /* Decode the NamespaceUri */ - if(encoding & UA_EXPANDEDNODEID_NAMESPACEURI_FLAG) { - dst->nodeId.namespaceIndex = 0; - ret |= DECODE_DIRECT(&dst->namespaceUri, String); - } - - /* Decode the ServerIndex */ - if(encoding & UA_EXPANDEDNODEID_SERVERINDEX_FLAG) - ret |= DECODE_DIRECT(&dst->serverIndex, UInt32); - return ret; -} - -/* QualifiedName */ -ENCODE_BINARY(QualifiedName) { - status ret = ENCODE_DIRECT(&src->namespaceIndex, UInt16); - /* Must check here so we can exchange the buffer in the string encoding */ - UA_CHECK_STATUS(ret, return ret); - ret |= ENCODE_DIRECT(&src->name, String); - return ret; -} - -DECODE_BINARY(QualifiedName) { - status ret = DECODE_DIRECT(&dst->namespaceIndex, UInt16); - ret |= DECODE_DIRECT(&dst->name, String); - return ret; -} - -/* LocalizedText */ -#define UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE 0x01u -#define UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT 0x02u - -ENCODE_BINARY(LocalizedText) { - /* Set up the encoding mask */ - u8 encoding = 0; - if(src->locale.data) - encoding |= UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE; - if(src->text.data) - encoding |= UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT; - - /* Encode the encoding byte */ - status ret = ENCODE_DIRECT(&encoding, Byte); - /* Must check here so we can exchange the buffer in the string encoding */ - UA_CHECK_STATUS(ret, return ret); - - /* Encode the strings */ - if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE) - ret |= ENCODE_DIRECT(&src->locale, String); - if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT) - ret |= ENCODE_DIRECT(&src->text, String); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; -} - -DECODE_BINARY(LocalizedText) { - /* Decode the encoding mask */ - u8 encoding = 0; - status ret = DECODE_DIRECT(&encoding, Byte); - - /* Decode the content */ - if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_LOCALE) - ret |= DECODE_DIRECT(&dst->locale, String); - if(encoding & UA_LOCALIZEDTEXT_ENCODINGMASKTYPE_TEXT) - ret |= DECODE_DIRECT(&dst->text, String); - return ret; -} - -/* The binary encoding has a different nodeid from the data type. So it is not - * possible to reuse UA_findDataType */ -static const UA_DataType * -UA_findDataTypeByBinaryInternal(const UA_NodeId *typeId, Ctx *ctx) { - /* Always look in the built-in types first. Assume that only numeric - * identifiers are used for the builtin types. (They may contain data types - * from all namespaces though.) */ - if(typeId->identifierType == UA_NODEIDTYPE_NUMERIC) { - for(size_t i = 0; i < UA_TYPES_COUNT; ++i) { - if(UA_TYPES[i].binaryEncodingId.identifier.numeric == typeId->identifier.numeric && - UA_TYPES[i].binaryEncodingId.namespaceIndex == typeId->namespaceIndex) - return &UA_TYPES[i]; - } - } - - const UA_DataTypeArray *customTypes = ctx->customTypes; - while(customTypes) { - for(size_t i = 0; i < customTypes->typesSize; ++i) { - if(UA_NodeId_equal(typeId, &customTypes->types[i].binaryEncodingId)) - return &customTypes->types[i]; - } - customTypes = customTypes->next; - } - - return NULL; -} - -const UA_DataType * -UA_findDataTypeByBinary(const UA_NodeId *typeId) { - Ctx ctx; - ctx.customTypes = NULL; - return UA_findDataTypeByBinaryInternal(typeId, &ctx); -} - -/* ExtensionObject */ -ENCODE_BINARY(ExtensionObject) { - u8 encoding = (u8)src->encoding; - - /* No content or already encoded content. */ - if(encoding <= UA_EXTENSIONOBJECT_ENCODED_XML) { - /* Can exchange the buffer */ - status ret = ENCODE_DIRECT(&src->content.encoded.typeId, NodeId); - UA_CHECK_STATUS(ret, return ret); - ret = encodeWithExchangeBuffer(&encoding, &UA_TYPES[UA_TYPES_BYTE], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - switch(src->encoding) { - case UA_EXTENSIONOBJECT_ENCODED_NOBODY: - break; - case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: - case UA_EXTENSIONOBJECT_ENCODED_XML: - /* ByteString in disguise. Array encoding can exchange the buffer */ - ret = ENCODE_DIRECT(&src->content.encoded.body, String); - break; - default: - ret = UA_STATUSCODE_BADINTERNALERROR; - } - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; - } - - /* Cannot encode with no data or no type description */ - if(!src->content.decoded.type || !src->content.decoded.data) - return UA_STATUSCODE_BADENCODINGERROR; - - /* Write the NodeId for the binary encoded type. This could perform a buffer - * exchange, but can also return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED. */ - status ret = ENCODE_DIRECT(&src->content.decoded.type->binaryEncodingId, NodeId); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the encoding byte */ - encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; - ret = encodeWithExchangeBuffer(&encoding, &UA_TYPES[UA_TYPES_BYTE], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the content length */ - const UA_DataType *contentType = src->content.decoded.type; - size_t len = UA_calcSizeBinary(src->content.decoded.data, contentType); - UA_CHECK(len <= UA_INT32_MAX, return UA_STATUSCODE_BADENCODINGERROR); - i32 signed_len = (i32)len; - ret = encodeWithExchangeBuffer(&signed_len, &UA_TYPES[UA_TYPES_INT32], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the content */ - ret = encodeWithExchangeBuffer(src->content.decoded.data, contentType, ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; -} - -static status -ExtensionObject_decodeBinaryContent(UA_ExtensionObject *dst, const UA_NodeId *typeId, - Ctx *ctx) { - /* Lookup the datatype */ - const UA_DataType *type = UA_findDataTypeByBinaryInternal(typeId, ctx); - - /* Unknown type, just take the binary content */ - if(!type) { - dst->encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; - UA_NodeId_copy(typeId, &dst->content.encoded.typeId); - return DECODE_DIRECT(&dst->content.encoded.body, String); /* ByteString */ - } - - /* Allocate memory */ - dst->content.decoded.data = UA_new(type); - UA_CHECK_MEM(dst->content.decoded.data, return UA_STATUSCODE_BADOUTOFMEMORY); - - /* Jump over the length field (TODO: check if the decoded length matches) */ - ctx->pos += 4; - - /* Decode */ - dst->encoding = UA_EXTENSIONOBJECT_DECODED; - dst->content.decoded.type = type; - return decodeBinaryJumpTable[type->typeKind](dst->content.decoded.data, type, ctx); -} - -DECODE_BINARY(ExtensionObject) { - u8 encoding = 0; - UA_NodeId binTypeId; - UA_NodeId_init(&binTypeId); - - status ret = UA_STATUSCODE_GOOD; - ret |= DECODE_DIRECT(&binTypeId, NodeId); - ret |= DECODE_DIRECT(&encoding, Byte); - UA_CHECK_STATUS(ret, UA_NodeId_clear(&binTypeId); return ret); - - switch(encoding) { - case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: - ret = ExtensionObject_decodeBinaryContent(dst, &binTypeId, ctx); - UA_NodeId_clear(&binTypeId); - break; - case UA_EXTENSIONOBJECT_ENCODED_NOBODY: - dst->encoding = (UA_ExtensionObjectEncoding)encoding; - dst->content.encoded.typeId = binTypeId; /* move to dst */ - dst->content.encoded.body = UA_BYTESTRING_NULL; - break; - case UA_EXTENSIONOBJECT_ENCODED_XML: - dst->encoding = (UA_ExtensionObjectEncoding)encoding; - dst->content.encoded.typeId = binTypeId; /* move to dst */ - ret = DECODE_DIRECT(&dst->content.encoded.body, String); /* ByteString */ - UA_CHECK_STATUS(ret, UA_NodeId_clear(&dst->content.encoded.typeId)); - break; - default: - UA_NodeId_clear(&binTypeId); - ret = UA_STATUSCODE_BADDECODINGERROR; - break; - } - - return ret; -} - -/* Variant */ - -static status -Variant_encodeBinaryWrapExtensionObject(const UA_Variant *src, - const UA_Boolean isArray, Ctx *ctx) { - size_t length = 1; /* Default to 1 for a scalar. */ - - /* Encode the array length if required */ - status ret = UA_STATUSCODE_GOOD; - if(isArray) { - UA_CHECK(src->arrayLength <= UA_INT32_MAX, return UA_STATUSCODE_BADENCODINGERROR); - length = src->arrayLength; - - i32 encodedLength = (i32)src->arrayLength; - ret = encodeWithExchangeBuffer(&encodedLength, &UA_TYPES[UA_TYPES_INT32], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - } - - /* Set up the ExtensionObject */ - UA_ExtensionObject eo; - UA_ExtensionObject_init(&eo); - eo.encoding = UA_EXTENSIONOBJECT_DECODED; - eo.content.decoded.type = src->type; - const u16 memSize = src->type->memSize; - uintptr_t ptr = (uintptr_t)src->data; - - /* Iterate over the array */ - for(size_t i = 0; i < length && ret == UA_STATUSCODE_GOOD; ++i) { - eo.content.decoded.data = (void*)ptr; - ret = encodeWithExchangeBuffer(&eo, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - ptr += memSize; - } - return ret; -} - -enum UA_VARIANT_ENCODINGMASKTYPE { - UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK = 0x3Fu, /* bits 0:5 */ - UA_VARIANT_ENCODINGMASKTYPE_DIMENSIONS = (u8)(0x01u << 6u), /* bit 6 */ - UA_VARIANT_ENCODINGMASKTYPE_ARRAY = (u8)(0x01u << 7u) /* bit 7 */ -}; - -ENCODE_BINARY(Variant) { - /* Quit early for the empty variant */ - u8 encoding = 0; - if(!src->type) - return ENCODE_DIRECT(&encoding, Byte); - - /* Set the content type in the encoding mask */ - const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - const UA_Boolean isEnum = (src->type->typeKind == UA_DATATYPEKIND_ENUM); - if(isBuiltin) - encoding = (u8)(encoding | (u8)((u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK & (u8)(src->type->typeKind + 1u))); - else if(isEnum) - encoding = (u8)(encoding | (u8)((u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK & (u8)(UA_TYPES_INT32 + 1u))); - else - encoding = (u8)(encoding | (u8)((u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK & (u8)(UA_TYPES_EXTENSIONOBJECT + 1u))); - - /* Set the array type in the encoding mask */ - const UA_Boolean isArray = src->arrayLength > 0 || src->data <= UA_EMPTY_ARRAY_SENTINEL; - const UA_Boolean hasDimensions = isArray && src->arrayDimensionsSize > 0; - if(isArray) { - encoding |= (u8)UA_VARIANT_ENCODINGMASKTYPE_ARRAY; - if(hasDimensions) { - encoding |= (u8)UA_VARIANT_ENCODINGMASKTYPE_DIMENSIONS; - size_t totalRequiredSize = 1; - for(size_t i = 0; i < src->arrayDimensionsSize; ++i) - totalRequiredSize *= src->arrayDimensions[i]; - if(totalRequiredSize != src->arrayLength) return UA_STATUSCODE_BADENCODINGERROR; - } - } - - /* Encode the encoding byte */ - status ret = ENCODE_DIRECT(&encoding, Byte); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the content. This can exchange the buffer. */ - if(!isBuiltin && !isEnum) { - /* This could return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED. But we - * have not exchanged the buffer so far. */ - ret = Variant_encodeBinaryWrapExtensionObject(src, isArray, ctx); - } else if(!isArray) { - ret = encodeWithExchangeBuffer(src->data, src->type, ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - } else { - ret = Array_encodeBinary(src->data, src->arrayLength, src->type, ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - } - UA_CHECK_STATUS(ret, return ret); - - /* Encode the array dimensions */ - if(hasDimensions && ret == UA_STATUSCODE_GOOD) - ret = Array_encodeBinary(src->arrayDimensions, src->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_INT32], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; -} - -static status -Variant_decodeBinaryUnwrapExtensionObject(UA_Variant *dst, Ctx *ctx) { - /* Save the position in the ByteString. If unwrapping is not possible, start - * from here to decode a normal ExtensionObject. */ - u8 *old_pos = ctx->pos; - - /* Decode the DataType */ - UA_NodeId typeId; - UA_NodeId_init(&typeId); - status ret = DECODE_DIRECT(&typeId, NodeId); - UA_CHECK_STATUS(ret, return ret); - - /* Decode the EncodingByte */ - u8 encoding; - ret = DECODE_DIRECT(&encoding, Byte); - UA_CHECK_STATUS(ret, UA_NodeId_clear(&typeId); return ret); - - /* Search for the datatype. Default to ExtensionObject. */ - if(encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING && - (dst->type = UA_findDataTypeByBinaryInternal(&typeId, ctx)) != NULL) { - /* Jump over the length field (TODO: check if length matches) */ - ctx->pos += 4; - } else { - /* Reset and decode as ExtensionObject */ - dst->type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; - ctx->pos = old_pos; - } - UA_NodeId_clear(&typeId); - - /* Allocate memory */ - dst->data = UA_new(dst->type); - UA_CHECK_MEM(dst->data, return UA_STATUSCODE_BADOUTOFMEMORY); - - /* Decode the content */ - return decodeBinaryJumpTable[dst->type->typeKind](dst->data, dst->type, ctx); -} - -/* Unwraps all ExtensionObjects in an array if they have the same type. - * For that we check whether all ExtensionObjects have the same header. */ -static status -Variant_decodeBinaryUnwrapExtensionObjectArray(void *UA_RESTRICT *UA_RESTRICT dst, - size_t *out_length, const UA_DataType **type, - Ctx *ctx) { - u8 *orig_pos = ctx->pos; - - /* Decode the length */ - i32 signed_length; - status ret = DECODE_DIRECT(&signed_length, UInt32); /* Int32 */ - UA_CHECK_STATUS(ret, return ret); - - /* Return early for empty arrays */ - if(signed_length <= 0) { - *out_length = 0; - if(signed_length < 0) - *dst = NULL; - else - *dst = UA_EMPTY_ARRAY_SENTINEL; - /* The *type field stays an ExtensionObject, as we did not decode any - * member who's type is known. */ - return UA_STATUSCODE_GOOD; - } - - /* Protect against memory exhaustion by unrealistic array lengths. An - * ExtensionObject is at least 4 byte long (3 byte NodeId + 1 Byte encoding - * field). */ - size_t length = (size_t)signed_length; - UA_CHECK(ctx->pos + ((4 * length) / 32) <= ctx->end, - return UA_STATUSCODE_BADDECODINGERROR); - - /* Decode the type NodeId of the first member */ - UA_NodeId binTypeId; - UA_NodeId_init(&binTypeId); - ret |= DECODE_DIRECT(&binTypeId, NodeId); - UA_CHECK_STATUS(ret, return ret); - - /* Lookup the data type */ - const UA_DataType *contentType = UA_findDataTypeByBinaryInternal(&binTypeId, ctx); - UA_NodeId_clear(&binTypeId); - if(!contentType) { - /* DataType unknown, decode as ExtensionObject array */ - ctx->pos = orig_pos; - return Array_decodeBinary(dst, out_length, *type, ctx); - } - - /* Check that the encoding is binary */ - u8 encoding = 0; - ret |= DECODE_DIRECT(&encoding, Byte); - UA_CHECK_STATUS(ret, return ret); - if(encoding != UA_EXTENSIONOBJECT_ENCODED_BYTESTRING) { - /* Encoding format is not automatically decoded, decode as - * ExtensionObject array */ - ctx->pos = orig_pos; - return Array_decodeBinary(dst, out_length, *type, ctx); - } - - /* Compare the header of all array members if the array can be unwrapped */ - UA_ByteString header = {(uintptr_t)ctx->pos - (uintptr_t)orig_pos - 4, &orig_pos[4]}; - UA_ByteString compare_header = header; - ctx->pos = &orig_pos[4]; - - for(size_t i = 0; i < length; i++) { - compare_header.data = ctx->pos; - UA_CHECK(compare_header.data + compare_header.length <= ctx->end, - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - if(!UA_ByteString_equal(&header, &compare_header)) { - /* Different member types, decode as ExtensionObject array */ - ctx->pos = orig_pos; - return Array_decodeBinary(dst, out_length, *type, ctx); - } - - /* Decode the length field and jump to the next element */ - ctx->pos += header.length; - u32 member_length = 0; - ret = DECODE_DIRECT(&member_length, UInt32); - UA_CHECK_STATUS(ret, return ret); - ctx->pos += member_length; - } - - /* Allocate memory for the unwrapped members */ - *dst = UA_calloc(length, contentType->memSize); - UA_CHECK_MEM(*dst, return UA_STATUSCODE_BADOUTOFMEMORY); - *out_length = length; - *type = contentType; - - /* Decode unwrapped members */ - uintptr_t array_pos = (uintptr_t)*dst; - ctx->pos = &orig_pos[4]; - for(size_t i = 0; i < length && ret == UA_STATUSCODE_GOOD; i++) { - ctx->pos += header.length + 4; /* Jump over the header and length field */ - ret = decodeBinaryJumpTable[contentType->typeKind] - ((void*)array_pos, contentType, ctx); - array_pos += contentType->memSize; - } - return ret; -} - -/* The resulting variant always has the storagetype UA_VARIANT_DATA. */ -DECODE_BINARY(Variant) { - /* Decode the encoding byte */ - u8 encodingByte; - status ret = DECODE_DIRECT(&encodingByte, Byte); - UA_CHECK_STATUS(ret, return ret); - - /* Return early for an empty variant (was already _inited) */ - if(encodingByte == 0) - return UA_STATUSCODE_GOOD; - - /* Does the variant contain an array? */ - const UA_Boolean isArray = (encodingByte & (u8)UA_VARIANT_ENCODINGMASKTYPE_ARRAY) > 0; - - /* Get the datatype of the content. The type must be a builtin data type. - * All not-builtin types are wrapped in an ExtensionObject. The "type kind" - * for types up to DiagnsticInfo equals to the index in the encoding - * byte. */ - size_t typeKind = (size_t)((encodingByte & (u8)UA_VARIANT_ENCODINGMASKTYPE_TYPEID_MASK) - 1); - UA_CHECK(typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO, return UA_STATUSCODE_BADDECODINGERROR); - - /* A variant cannot contain a variant. But it can contain an array of - * variants */ - UA_CHECK(typeKind != UA_DATATYPEKIND_VARIANT || isArray, - return UA_STATUSCODE_BADDECODINGERROR); - - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, return UA_STATUSCODE_BADENCODINGERROR); - ctx->depth++; - - /* Decode the content */ - dst->type = &UA_TYPES[typeKind]; - if(!isArray) { - /* Decode scalar */ - if(typeKind != UA_DATATYPEKIND_EXTENSIONOBJECT) { - dst->data = UA_new(dst->type); - UA_CHECK_MEM(dst->data, ctx->depth--; return UA_STATUSCODE_BADOUTOFMEMORY); - ret = decodeBinaryJumpTable[typeKind](dst->data, dst->type, ctx); - } else { - ret = Variant_decodeBinaryUnwrapExtensionObject(dst, ctx); - } - } else { - /* Decode array */ - if(typeKind != UA_DATATYPEKIND_EXTENSIONOBJECT) { - ret = Array_decodeBinary(&dst->data, &dst->arrayLength, dst->type, ctx); - } else { - ret = Variant_decodeBinaryUnwrapExtensionObjectArray(&dst->data, &dst->arrayLength, - &dst->type, ctx); - } - - /* Decode array dimensions */ - if((encodingByte & (u8)UA_VARIANT_ENCODINGMASKTYPE_DIMENSIONS) > 0) { - ret |= Array_decodeBinary((void**)&dst->arrayDimensions, &dst->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_INT32], ctx); - /* Validate array length against array dimensions */ - size_t totalSize = 1; - for(size_t i = 0; i < dst->arrayDimensionsSize; ++i) { - if(dst->arrayDimensions[i] == 0) - ret = UA_STATUSCODE_BADDECODINGERROR; - totalSize *= dst->arrayDimensions[i]; - } - UA_CHECK(totalSize == dst->arrayLength, ret = UA_STATUSCODE_BADDECODINGERROR); - } - } - - ctx->depth--; - return ret; -} - -/* DataValue */ -ENCODE_BINARY(DataValue) { - /* Set up the encoding mask */ - u8 encodingMask = src->hasValue; - encodingMask |= (u8)(src->hasStatus << 1u); - encodingMask |= (u8)(src->hasSourceTimestamp << 2u); - encodingMask |= (u8)(src->hasServerTimestamp << 3u); - encodingMask |= (u8)(src->hasSourcePicoseconds << 4u); - encodingMask |= (u8)(src->hasServerPicoseconds << 5u); - - /* Encode the encoding byte */ - status ret = ENCODE_DIRECT(&encodingMask, Byte); - UA_CHECK_STATUS(ret, return ret); - - /* Encode the variant. */ - if(src->hasValue) { - ret = ENCODE_DIRECT(&src->value, Variant); - if(ret != UA_STATUSCODE_GOOD) - return ret; - } - - if(src->hasStatus) - ret |= encodeWithExchangeBuffer(&src->status, &UA_TYPES[UA_TYPES_STATUSCODE], ctx); - if(src->hasSourceTimestamp) - ret |= encodeWithExchangeBuffer(&src->sourceTimestamp, &UA_TYPES[UA_TYPES_DATETIME], ctx); - if(src->hasSourcePicoseconds) - ret |= encodeWithExchangeBuffer(&src->sourcePicoseconds, &UA_TYPES[UA_TYPES_UINT16], ctx); - if(src->hasServerTimestamp) - ret |= encodeWithExchangeBuffer(&src->serverTimestamp, &UA_TYPES[UA_TYPES_DATETIME], ctx); - if(src->hasServerPicoseconds) - ret |= encodeWithExchangeBuffer(&src->serverPicoseconds, &UA_TYPES[UA_TYPES_UINT16], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - return ret; -} - -#define MAX_PICO_SECONDS 9999 - -DECODE_BINARY(DataValue) { - /* Decode the encoding mask */ - u8 encodingMask; - status ret = DECODE_DIRECT(&encodingMask, Byte); - UA_CHECK_STATUS(ret, return ret); - - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, return UA_STATUSCODE_BADENCODINGERROR); - ctx->depth++; - - /* Decode the content */ - if(encodingMask & 0x01u) { - dst->hasValue = true; - ret |= DECODE_DIRECT(&dst->value, Variant); - } - if(encodingMask & 0x02u) { - dst->hasStatus = true; - ret |= DECODE_DIRECT(&dst->status, UInt32); /* StatusCode */ - } - if(encodingMask & 0x04u) { - dst->hasSourceTimestamp = true; - ret |= DECODE_DIRECT(&dst->sourceTimestamp, UInt64); /* DateTime */ - } - if(encodingMask & 0x10u) { - dst->hasSourcePicoseconds = true; - ret |= DECODE_DIRECT(&dst->sourcePicoseconds, UInt16); - if(dst->sourcePicoseconds > MAX_PICO_SECONDS) - dst->sourcePicoseconds = MAX_PICO_SECONDS; - } - if(encodingMask & 0x08u) { - dst->hasServerTimestamp = true; - ret |= DECODE_DIRECT(&dst->serverTimestamp, UInt64); /* DateTime */ - } - if(encodingMask & 0x20u) { - dst->hasServerPicoseconds = true; - ret |= DECODE_DIRECT(&dst->serverPicoseconds, UInt16); - if(dst->serverPicoseconds > MAX_PICO_SECONDS) - dst->serverPicoseconds = MAX_PICO_SECONDS; - } - - ctx->depth--; - return ret; -} - -/* DiagnosticInfo */ -ENCODE_BINARY(DiagnosticInfo) { - /* Set up the encoding mask */ - u8 encodingMask = src->hasSymbolicId; - encodingMask |= (u8)(src->hasNamespaceUri << 1u); - encodingMask |= (u8)(src->hasLocalizedText << 2u); - encodingMask |= (u8)(src->hasLocale << 3u); - encodingMask |= (u8)(src->hasAdditionalInfo << 4u); - encodingMask |= (u8)(src->hasInnerStatusCode << 5u); - encodingMask |= (u8)(src->hasInnerDiagnosticInfo << 6u); - - /* Encode the numeric content */ - status ret = ENCODE_DIRECT(&encodingMask, Byte); - if(src->hasSymbolicId) - ret |= ENCODE_DIRECT(&src->symbolicId, UInt32); /* Int32 */ - if(src->hasNamespaceUri) - ret |= ENCODE_DIRECT(&src->namespaceUri, UInt32); /* Int32 */ - if(src->hasLocale) - ret |= ENCODE_DIRECT(&src->locale, UInt32); /* Int32 */ - if(src->hasLocalizedText) - ret |= ENCODE_DIRECT(&src->localizedText, UInt32); /* Int32 */ - if(ret != UA_STATUSCODE_GOOD) - return ret; - - /* Encode the additional info. Can exchange the buffer. */ - if(src->hasAdditionalInfo) { - ret = ENCODE_DIRECT(&src->additionalInfo, String); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - } - - /* Encode the inner status code */ - if(src->hasInnerStatusCode) { - ret = encodeWithExchangeBuffer(&src->innerStatusCode, &UA_TYPES[UA_TYPES_UINT32], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - UA_CHECK_STATUS(ret, return ret); - } - - /* Encode the inner diagnostic info */ - if(src->hasInnerDiagnosticInfo) { - ret = encodeWithExchangeBuffer(src->innerDiagnosticInfo, - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - } - - return ret; -} - -DECODE_BINARY(DiagnosticInfo) { - /* Decode the encoding mask */ - u8 encodingMask; - status ret = DECODE_DIRECT(&encodingMask, Byte); - UA_CHECK_STATUS(ret, return ret); - - /* Decode the content */ - if(encodingMask & 0x01u) { - dst->hasSymbolicId = true; - ret |= DECODE_DIRECT(&dst->symbolicId, UInt32); /* Int32 */ - } - if(encodingMask & 0x02u) { - dst->hasNamespaceUri = true; - ret |= DECODE_DIRECT(&dst->namespaceUri, UInt32); /* Int32 */ - } - if(encodingMask & 0x08u) { - dst->hasLocale = true; - ret |= DECODE_DIRECT(&dst->locale, UInt32); /* Int32 */ - } - if(encodingMask & 0x04u) { - dst->hasLocalizedText = true; - ret |= DECODE_DIRECT(&dst->localizedText, UInt32); /* Int32 */ - } - if(encodingMask & 0x10u) { - dst->hasAdditionalInfo = true; - ret |= DECODE_DIRECT(&dst->additionalInfo, String); - } - if(encodingMask & 0x20u) { - dst->hasInnerStatusCode = true; - ret |= DECODE_DIRECT(&dst->innerStatusCode, UInt32); /* StatusCode */ - } - if(encodingMask & 0x40u) { - /* innerDiagnosticInfo is allocated on the heap */ - dst->innerDiagnosticInfo = (UA_DiagnosticInfo*) - UA_calloc(1, sizeof(UA_DiagnosticInfo)); - UA_CHECK_MEM(dst->innerDiagnosticInfo, return UA_STATUSCODE_BADOUTOFMEMORY); - dst->hasInnerDiagnosticInfo = true; - - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, - return UA_STATUSCODE_BADENCODINGERROR); - - ctx->depth++; - ret |= DECODE_DIRECT(dst->innerDiagnosticInfo, DiagnosticInfo); - ctx->depth--; - } - return ret; -} - -/********************/ -/* Structured Types */ -/********************/ - -static status -encodeBinaryStruct(const void *src, const UA_DataType *type, Ctx *ctx) { - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, - return UA_STATUSCODE_BADENCODINGERROR); - ctx->depth++; - - /* Loop over members */ - uintptr_t ptr = (uintptr_t)src; - status ret = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < type->membersSize && ret == UA_STATUSCODE_GOOD; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - - /* Array. Buffer-exchange is done inside Array_encodeBinary if required. */ - if(m->isArray) { - const size_t length = *((const size_t*)ptr); - ptr += sizeof(size_t); - ret = Array_encodeBinary(*(void *UA_RESTRICT const *)ptr, length, mt, ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - ptr += sizeof(void*); - continue; - } - - /* Scalar */ - ret = encodeWithExchangeBuffer((const void*)ptr, mt, ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - ptr += mt->memSize; - } - - ctx->depth--; - return ret; -} - -static status -encodeBinaryStructWithOptFields(const void *src, const UA_DataType *type, Ctx *ctx) { - /* Check the recursion limit */ - if(ctx->depth > UA_ENCODING_MAX_RECURSION) - return UA_STATUSCODE_BADENCODINGERROR; - ctx->depth++; - - /* Creating the encoding mask, marking the available optional fields */ - uintptr_t ptr = (uintptr_t)src; - size_t optFieldCounter = 0; - UA_UInt32 encodingMask = 0; - for(size_t j = 0; j < type->membersSize; ++j) { - const UA_DataTypeMember *m = &type->members[j]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - if(m->isOptional) { - if(m->isArray) - ptr += sizeof(size_t); - if(*(void* const*)ptr != NULL) - encodingMask |= (UA_UInt32) 1 << optFieldCounter; - ptr += sizeof(void *); - optFieldCounter++; - } else if (m->isArray) { - ptr += sizeof(size_t); - ptr += sizeof(void *); - } else { - ptr += mt->memSize; - } - } - - /* Encode the mask */ - status ret = ENCODE_DIRECT(&encodingMask, UInt32); - UA_CHECK_STATUS(ret, ctx->depth--; return ret); - - /* Loop over members */ - ptr = (uintptr_t)src; - for(size_t i = 0, o = 0; i < type->membersSize && UA_LIKELY(ret == UA_STATUSCODE_GOOD); ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - - if(m->isOptional) { - if(!(encodingMask & (UA_UInt32) ( (UA_UInt32) 1<<(o++)))) { - /* Optional and not contained */ - if(m->isArray) - ptr += sizeof(size_t); - } else if(m->isArray) { - /* Optional Array */ - const size_t length = *((const size_t *) ptr); - ptr += sizeof(size_t); - ret = Array_encodeBinary(*(void *UA_RESTRICT const *) ptr, length, mt, ctx); - } else { - /* Optional Scalar */ - ret = encodeWithExchangeBuffer(*(void* const*) ptr, mt, ctx); - } - ptr += sizeof(void *); - continue; - } - - /* Mandatory Array */ - if(m->isArray) { - const size_t length = *((const size_t *) ptr); - ptr += sizeof(size_t); - ret = Array_encodeBinary(*(void *UA_RESTRICT const *) ptr, length, mt, ctx); - ptr += sizeof(void *); - continue; - } - - /* Mandatory Scalar */ - ret = encodeWithExchangeBuffer((const void*)ptr, mt, ctx); - ptr += mt->memSize; - } - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - - ctx->depth--; - return ret; -} - -static status -encodeBinaryUnion(const void *src, const UA_DataType *type, Ctx *ctx) { - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, - return UA_STATUSCODE_BADENCODINGERROR); - ctx->depth++; - - /* Encode the selection */ - const UA_UInt32 selection = *(const UA_UInt32*)src; - status ret = ENCODE_DIRECT(&selection, UInt32); - if(UA_UNLIKELY(ret != UA_STATUSCODE_GOOD) || selection == 0) { - ctx->depth--; - return ret; - } - - /* Select the member */ - const UA_DataTypeMember *m = &type->members[selection-1]; - const UA_DataType *mt = m->memberType; - - /* Encode the member */ - uintptr_t ptr = ((uintptr_t)src) + m->padding; /* includes the switchfield length */ - if(!m->isArray) { - ret = encodeWithExchangeBuffer((const void*)ptr, mt, ctx); - } else { - const size_t length = *((const size_t*)ptr); - ptr += sizeof(size_t); - ret = Array_encodeBinary(*(void *UA_RESTRICT const *)ptr, length, mt, ctx); - } - - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - - ctx->depth--; - return ret; -} - -static status -encodeBinaryNotImplemented(const void *src, const UA_DataType *type, Ctx *ctx) { - (void)src, (void)type, (void)ctx; - return UA_STATUSCODE_BADNOTIMPLEMENTED; -} - -const encodeBinarySignature encodeBinaryJumpTable[UA_DATATYPEKINDS] = { - (encodeBinarySignature)Boolean_encodeBinary, - (encodeBinarySignature)Byte_encodeBinary, /* SByte */ - (encodeBinarySignature)Byte_encodeBinary, - (encodeBinarySignature)UInt16_encodeBinary, /* Int16 */ - (encodeBinarySignature)UInt16_encodeBinary, - (encodeBinarySignature)UInt32_encodeBinary, /* Int32 */ - (encodeBinarySignature)UInt32_encodeBinary, - (encodeBinarySignature)UInt64_encodeBinary, /* Int64 */ - (encodeBinarySignature)UInt64_encodeBinary, - (encodeBinarySignature)Float_encodeBinary, - (encodeBinarySignature)Double_encodeBinary, - (encodeBinarySignature)String_encodeBinary, - (encodeBinarySignature)UInt64_encodeBinary, /* DateTime */ - (encodeBinarySignature)Guid_encodeBinary, - (encodeBinarySignature)String_encodeBinary, /* ByteString */ - (encodeBinarySignature)String_encodeBinary, /* XmlElement */ - (encodeBinarySignature)NodeId_encodeBinary, - (encodeBinarySignature)ExpandedNodeId_encodeBinary, - (encodeBinarySignature)UInt32_encodeBinary, /* StatusCode */ - (encodeBinarySignature)QualifiedName_encodeBinary, - (encodeBinarySignature)LocalizedText_encodeBinary, - (encodeBinarySignature)ExtensionObject_encodeBinary, - (encodeBinarySignature)DataValue_encodeBinary, - (encodeBinarySignature)Variant_encodeBinary, - (encodeBinarySignature)DiagnosticInfo_encodeBinary, - (encodeBinarySignature)encodeBinaryNotImplemented, /* Decimal */ - (encodeBinarySignature)UInt32_encodeBinary, /* Enumeration */ - (encodeBinarySignature)encodeBinaryStruct, - (encodeBinarySignature)encodeBinaryStructWithOptFields, /* Structure with Optional Fields */ - (encodeBinarySignature)encodeBinaryUnion, /* Union */ - (encodeBinarySignature)encodeBinaryStruct /* BitfieldCluster */ -}; - -status -UA_encodeBinaryInternal(const void *src, const UA_DataType *type, - u8 **bufPos, const u8 **bufEnd, - UA_exchangeEncodeBuffer exchangeCallback, - void *exchangeHandle) { - if(!type || !src) - return UA_STATUSCODE_BADENCODINGERROR; - - /* Set up the context */ - Ctx ctx; - ctx.pos = *bufPos; - ctx.end = *bufEnd; - ctx.depth = 0; - ctx.exchangeBufferCallback = exchangeCallback; - ctx.exchangeBufferCallbackHandle = exchangeHandle; - - UA_CHECK_MEM(ctx.pos, return UA_STATUSCODE_BADINVALIDARGUMENT); - - /* Encode */ - status ret = encodeWithExchangeBuffer(src, type, &ctx); - UA_assert(ret != UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED); - - /* Set the new buffer position for the output. Beware that the buffer might - * have been exchanged internally. */ - *bufPos = ctx.pos; - *bufEnd = ctx.end; - return ret; -} - -UA_StatusCode -UA_encodeBinary(const void *p, const UA_DataType *type, - UA_ByteString *outBuf) { - /* Allocate buffer */ - UA_Boolean allocated = false; - status res = UA_STATUSCODE_GOOD; - if(outBuf->length == 0) { - size_t len = UA_calcSizeBinary(p, type); - res = UA_ByteString_allocBuffer(outBuf, len); - if(res != UA_STATUSCODE_GOOD) - return res; - allocated = true; - } - - /* Encode */ - u8 *pos = outBuf->data; - const u8 *posEnd = &outBuf->data[outBuf->length]; - res = UA_encodeBinaryInternal(p, type, &pos, &posEnd, NULL, NULL); - - /* Clean up */ - if(res == UA_STATUSCODE_GOOD) { - outBuf->length = (size_t)((uintptr_t)pos - (uintptr_t)outBuf->data); - } else if(allocated) { - UA_ByteString_clear(outBuf); - } - return res; -} - -static status -decodeBinaryNotImplemented(void *dst, const UA_DataType *type, Ctx *ctx) { - (void)dst, (void)type, (void)ctx; - return UA_STATUSCODE_BADNOTIMPLEMENTED; -} - -static status -decodeBinaryStructure(void *dst, const UA_DataType *type, Ctx *ctx) { - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, - return UA_STATUSCODE_BADENCODINGERROR); - ctx->depth++; - - uintptr_t ptr = (uintptr_t)dst; - status ret = UA_STATUSCODE_GOOD; - u8 membersSize = type->membersSize; - - /* Loop over members */ - for(size_t i = 0; i < membersSize && ret == UA_STATUSCODE_GOOD; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - - /* Array */ - if(m->isArray) { - size_t *length = (size_t*)ptr; - ptr += sizeof(size_t); - ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt , ctx); - ptr += sizeof(void*); - continue; - } - - /* Scalar */ - ret = decodeBinaryJumpTable[mt->typeKind]((void *UA_RESTRICT)ptr, mt, ctx); - ptr += mt->memSize; - } - - ctx->depth--; - return ret; -} - -static status -decodeBinaryStructureWithOptFields(void *dst, const UA_DataType *type, Ctx *ctx) { - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, return UA_STATUSCODE_BADENCODINGERROR); - ctx->depth++; - - uintptr_t ptr = (uintptr_t)dst; - UA_UInt32 encodingMask = 0; - status ret = UInt32_decodeBinary(&encodingMask, &UA_TYPES[UA_TYPES_UINT32], ctx); - UA_CHECK_STATUS(ret, ctx->depth--; return ret); - - /* Loop over members */ - for(size_t i = 0, o = 0; i < type->membersSize && ret == UA_STATUSCODE_GOOD; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - ptr += m->padding; - if(m->isOptional) { - if(!(encodingMask & (UA_UInt32) ( (UA_UInt32) 1<<(o++)))) { - /* Optional field is not contained */ - if(m->isArray) - ptr += sizeof(size_t); - } else if(m->isArray) { - /* Optional Array */ - size_t *length = (size_t*)ptr; - ptr += sizeof(size_t); - ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt , ctx); - } else { - /* Optional Scalar */ - *(void *UA_RESTRICT *UA_RESTRICT) ptr = UA_calloc(1, mt->memSize); - UA_CHECK_MEM(*(void *UA_RESTRICT *UA_RESTRICT) ptr, return UA_STATUSCODE_BADOUTOFMEMORY); - ret = decodeBinaryJumpTable[mt->typeKind](*(void *UA_RESTRICT *UA_RESTRICT) ptr, mt, ctx); - } - ptr += sizeof(void *); - continue; - } - - /* Array */ - if(m->isArray) { - size_t *length = (size_t *)ptr; - ptr += sizeof(size_t); - ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt, ctx); - ptr += sizeof(void *); - continue; - } - - /* Scalar */ - ret = decodeBinaryJumpTable[mt->typeKind]((void *UA_RESTRICT)ptr, mt, ctx); - ptr += mt->memSize; - } - ctx->depth--; - return ret; -} - -static status -decodeBinaryUnion(void *UA_RESTRICT dst, const UA_DataType *type, Ctx *ctx) { - /* Check the recursion limit */ - UA_CHECK(ctx->depth <= UA_ENCODING_MAX_RECURSION, - return UA_STATUSCODE_BADENCODINGERROR); - - /* Decode the selection directly into the switchfield */ - status ret = DECODE_DIRECT(dst, UInt32); - UA_CHECK_STATUS(ret, return ret); - - /* No content? */ - UA_UInt32 selection = *(UA_UInt32*)dst; - if(selection == 0) - return UA_STATUSCODE_GOOD; - - /* Sanity check the selection */ - UA_CHECK(selection-1 < type->membersSize, - return UA_STATUSCODE_BADDECODINGERROR); - - /* Select the member */ - const UA_DataTypeMember *m = &type->members[selection-1]; - const UA_DataType *mt = m->memberType; - - /* Decode */ - ctx->depth++; - uintptr_t ptr = ((uintptr_t)dst) + m->padding; /* includes the switchfield */ - if(!m->isArray) { - ret = decodeBinaryJumpTable[mt->typeKind]((void *UA_RESTRICT)ptr, mt, ctx); - } else { - size_t *length = (size_t *)ptr; - ptr += sizeof(size_t); - ret = Array_decodeBinary((void *UA_RESTRICT *UA_RESTRICT)ptr, length, mt, ctx); - } - ctx->depth--; - return ret; -} - -const decodeBinarySignature decodeBinaryJumpTable[UA_DATATYPEKINDS] = { - (decodeBinarySignature)Boolean_decodeBinary, - (decodeBinarySignature)Byte_decodeBinary, /* SByte */ - (decodeBinarySignature)Byte_decodeBinary, - (decodeBinarySignature)UInt16_decodeBinary, /* Int16 */ - (decodeBinarySignature)UInt16_decodeBinary, - (decodeBinarySignature)UInt32_decodeBinary, /* Int32 */ - (decodeBinarySignature)UInt32_decodeBinary, - (decodeBinarySignature)UInt64_decodeBinary, /* Int64 */ - (decodeBinarySignature)UInt64_decodeBinary, - (decodeBinarySignature)Float_decodeBinary, - (decodeBinarySignature)Double_decodeBinary, - (decodeBinarySignature)String_decodeBinary, - (decodeBinarySignature)UInt64_decodeBinary, /* DateTime */ - (decodeBinarySignature)Guid_decodeBinary, - (decodeBinarySignature)String_decodeBinary, /* ByteString */ - (decodeBinarySignature)String_decodeBinary, /* XmlElement */ - (decodeBinarySignature)NodeId_decodeBinary, - (decodeBinarySignature)ExpandedNodeId_decodeBinary, - (decodeBinarySignature)UInt32_decodeBinary, /* StatusCode */ - (decodeBinarySignature)QualifiedName_decodeBinary, - (decodeBinarySignature)LocalizedText_decodeBinary, - (decodeBinarySignature)ExtensionObject_decodeBinary, - (decodeBinarySignature)DataValue_decodeBinary, - (decodeBinarySignature)Variant_decodeBinary, - (decodeBinarySignature)DiagnosticInfo_decodeBinary, - (decodeBinarySignature)decodeBinaryNotImplemented, /* Decimal */ - (decodeBinarySignature)UInt32_decodeBinary, /* Enumeration */ - (decodeBinarySignature)decodeBinaryStructure, - (decodeBinarySignature)decodeBinaryStructureWithOptFields, /* Structure with optional fields */ - (decodeBinarySignature)decodeBinaryUnion, /* Union */ - (decodeBinarySignature)decodeBinaryNotImplemented /* BitfieldCluster */ -}; - -status -UA_decodeBinaryInternal(const UA_ByteString *src, size_t *offset, - void *dst, const UA_DataType *type, - const UA_DataTypeArray *customTypes) { - /* Set up the context */ - Ctx ctx; - ctx.pos = &src->data[*offset]; - ctx.end = &src->data[src->length]; - ctx.depth = 0; - ctx.customTypes = customTypes; - - /* Decode */ - memset(dst, 0, type->memSize); /* Initialize the value */ - status ret = decodeBinaryJumpTable[type->typeKind](dst, type, &ctx); - - if(UA_LIKELY(ret == UA_STATUSCODE_GOOD)) { - /* Set the new offset */ - *offset = (size_t)(ctx.pos - src->data) / sizeof(u8); - } else { - /* Clean up */ - UA_clear(dst, type); - memset(dst, 0, type->memSize); - } - return ret; -} - -UA_StatusCode -UA_decodeBinary(const UA_ByteString *inBuf, - void *p, const UA_DataType *type, - const UA_DecodeBinaryOptions *options) { - size_t offset = 0; - const UA_DataTypeArray *customTypes = options ? options->customTypes : NULL; - return UA_decodeBinaryInternal(inBuf, &offset, p, type, customTypes); -} - -/** - * Compute the Message Size - * ------------------------ - * The following methods are used to compute the length of a datum in binary - * encoding. */ - -static size_t -Array_calcSizeBinary(const void *src, size_t length, const UA_DataType *type) { - size_t s = 4; /* length */ - if(type->overlayable) { - s += type->memSize * length; - return s; - } - uintptr_t ptr = (uintptr_t)src; - for(size_t i = 0; i < length; ++i) { - s += calcSizeBinaryJumpTable[type->typeKind]((const void*)ptr, type); - ptr += type->memSize; - } - return s; -} - -static size_t calcSizeBinary1(const void *_, const UA_DataType *__) { (void)_, (void)__; return 1; } -static size_t calcSizeBinary2(const void *_, const UA_DataType *__) { (void)_, (void)__; return 2; } -static size_t calcSizeBinary4(const void *_, const UA_DataType *__) { (void)_, (void)__; return 4; } -static size_t calcSizeBinary8(const void *_, const UA_DataType *__) { (void)_, (void)__; return 8; } - -CALCSIZE_BINARY(String) { return 4 + src->length; } - -CALCSIZE_BINARY(Guid) { return 16; } - -CALCSIZE_BINARY(NodeId) { - size_t s = 1; /* Encoding byte */ - switch(src->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - if(src->identifier.numeric > UA_UINT16_MAX || src->namespaceIndex > UA_BYTE_MAX) { - s += 6; - } else if(src->identifier.numeric > UA_BYTE_MAX || src->namespaceIndex > 0) { - s += 3; - } else { - s += 1; - } - break; - case UA_NODEIDTYPE_BYTESTRING: - case UA_NODEIDTYPE_STRING: - s += 2; - s += String_calcSizeBinary(&src->identifier.string, NULL); - break; - case UA_NODEIDTYPE_GUID: - s += 18; - break; - default: - return 0; - } - return s; -} - -CALCSIZE_BINARY(ExpandedNodeId) { - size_t s = NodeId_calcSizeBinary(&src->nodeId, NULL); - if(src->namespaceUri.length > 0) - s += String_calcSizeBinary(&src->namespaceUri, NULL); - if(src->serverIndex > 0) - s += 4; - return s; -} - -CALCSIZE_BINARY(QualifiedName) { - return 2 + String_calcSizeBinary(&src->name, NULL); -} - -CALCSIZE_BINARY(LocalizedText) { - size_t s = 1; /* Encoding byte */ - if(src->locale.data) - s += String_calcSizeBinary(&src->locale, NULL); - if(src->text.data) - s += String_calcSizeBinary(&src->text, NULL); - return s; -} - -CALCSIZE_BINARY(ExtensionObject) { - size_t s = 1; /* Encoding byte */ - - /* Encoded content */ - if(src->encoding <= UA_EXTENSIONOBJECT_ENCODED_XML) { - s += NodeId_calcSizeBinary(&src->content.encoded.typeId, NULL); - switch(src->encoding) { - case UA_EXTENSIONOBJECT_ENCODED_NOBODY: - break; - case UA_EXTENSIONOBJECT_ENCODED_BYTESTRING: - case UA_EXTENSIONOBJECT_ENCODED_XML: - s += String_calcSizeBinary(&src->content.encoded.body, NULL); - break; - default: - return 0; - } - return s; - } - - /* Decoded content */ - if(!src->content.decoded.type || !src->content.decoded.data) - return 0; - if(src->content.decoded.type->typeId.identifierType != UA_NODEIDTYPE_NUMERIC) - return 0; - - s += NodeId_calcSizeBinary(&src->content.decoded.type->binaryEncodingId, NULL); /* Type encoding length */ - s += 4; /* Encoding length field */ - const UA_DataType *type = src->content.decoded.type; - s += calcSizeBinaryJumpTable[type->typeKind](src->content.decoded.data, type); /* Encoding length */ - return s; -} - -CALCSIZE_BINARY(Variant) { - size_t s = 1; /* Encoding byte */ - if(!src->type) - return s; - - const UA_Boolean isArray = src->arrayLength > 0 || src->data <= UA_EMPTY_ARRAY_SENTINEL; - if(isArray) - s += Array_calcSizeBinary(src->data, src->arrayLength, src->type); - else - s += calcSizeBinaryJumpTable[src->type->typeKind](src->data, src->type); - - const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - const UA_Boolean isEnum = (src->type->typeKind == UA_DATATYPEKIND_ENUM); - if(!isBuiltin && !isEnum) { - /* The type is wrapped inside an extensionobject */ - /* (NodeId + encoding byte + extension object length) * array length */ - size_t length = isArray ? src->arrayLength : 1; - s += (NodeId_calcSizeBinary(&src->type->binaryEncodingId, NULL) + 1 + 4) * length; - } - - const UA_Boolean hasDimensions = isArray && src->arrayDimensionsSize > 0; - if(hasDimensions) - s += Array_calcSizeBinary(src->arrayDimensions, src->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_INT32]); - return s; -} - -CALCSIZE_BINARY(DataValue) { - size_t s = 1; /* Encoding byte */ - if(src->hasValue) - s += Variant_calcSizeBinary(&src->value, NULL); - if(src->hasStatus) - s += 4; - if(src->hasSourceTimestamp) - s += 8; - if(src->hasSourcePicoseconds) - s += 2; - if(src->hasServerTimestamp) - s += 8; - if(src->hasServerPicoseconds) - s += 2; - return s; -} - -CALCSIZE_BINARY(DiagnosticInfo) { - size_t s = 1; /* Encoding byte */ - if(src->hasSymbolicId) - s += 4; - if(src->hasNamespaceUri) - s += 4; - if(src->hasLocalizedText) - s += 4; - if(src->hasLocale) - s += 4; - if(src->hasAdditionalInfo) - s += String_calcSizeBinary(&src->additionalInfo, NULL); - if(src->hasInnerStatusCode) - s += 4; - if(src->hasInnerDiagnosticInfo) - s += DiagnosticInfo_calcSizeBinary(src->innerDiagnosticInfo, NULL); - return s; -} - -static size_t -calcSizeBinaryStructure(const void *p, const UA_DataType *type) { - size_t s = 0; - uintptr_t ptr = (uintptr_t)p; - u8 membersSize = type->membersSize; - - /* Loop over members */ - for(size_t i = 0; i < membersSize; ++i) { - const UA_DataTypeMember *member = &type->members[i]; - const UA_DataType *membertype = member->memberType; - ptr += member->padding; - - /* Array */ - if(member->isArray) { - const size_t length = *((const size_t*)ptr); - ptr += sizeof(size_t); - s += Array_calcSizeBinary(*(void *UA_RESTRICT const *)ptr, length, membertype); - ptr += sizeof(void*); - continue; - } - - /* Scalar */ - s += calcSizeBinaryJumpTable[membertype->typeKind]((const void*)ptr, membertype); - ptr += membertype->memSize; - } - - return s; -} - -static size_t -calcSizeBinaryStructureWithOptFields(const void *p, const UA_DataType *type) { - /* Start with the size of the encoding mask */ - size_t s = sizeof(UA_UInt32); - - /* Loop over members */ - uintptr_t ptr = (uintptr_t)p; - for(size_t i = 0; i < type->membersSize; ++i) { - const UA_DataTypeMember *member = &type->members[i]; - const UA_DataType *membertype = member->memberType; - ptr += member->padding; - if(member->isOptional) { - if((member->isArray && ((*(void* const*)(ptr+sizeof(size_t))) == NULL)) || - (!member->isArray && (*(void* const*)ptr == NULL))) { - /* Optional member not contained */ - if(member->isArray) - ptr += sizeof(size_t); - ptr += sizeof(void *); - continue; - } - /* Fallthrough to take the size into account */ - } - /* Array */ - if(member->isArray) { - const size_t length = *((const size_t*)ptr); - ptr += sizeof(size_t); - s += Array_calcSizeBinary(*(void *UA_RESTRICT const *)ptr, length, membertype); - ptr += sizeof(void*); - continue; - } - /* Scalar */ - if (member->isOptional) { - s += calcSizeBinaryJumpTable[membertype->typeKind](*(void* const*)ptr, membertype); - ptr += sizeof(void *); - } else { - s += calcSizeBinaryJumpTable[membertype->typeKind]((const void*)ptr, membertype); - ptr += membertype->memSize; - } - } - return s; -} - -static size_t -calcSizeBinaryUnion(const void *p, const UA_DataType *type) { - size_t s = 4; /* UA_TYPES[UA_TYPES_UINT32].memSize; */ - const UA_UInt32 selection = *(const UA_UInt32 *)p; - if(selection == 0) - return s; - - const UA_DataTypeMember *m = &type->members[selection-1]; - const UA_DataType *mt = m->memberType; - - uintptr_t ptr = ((uintptr_t)p) + m->padding; /* includes switchfield length */ - if(!m->isArray) { - s += UA_calcSizeBinary((const void*)ptr, mt); - } else { - const size_t length = *((const size_t*)ptr); - ptr += sizeof(size_t); - s += Array_calcSizeBinary(*(void *UA_RESTRICT const *)ptr, length, mt); - } - return s; -} - -static size_t -calcSizeBinaryNotImplemented(const void *p, const UA_DataType *type) { - (void)p, (void)type; - return 0; -} - -const calcSizeBinarySignature calcSizeBinaryJumpTable[UA_DATATYPEKINDS] = { - (calcSizeBinarySignature)calcSizeBinary1, /* Boolean */ - (calcSizeBinarySignature)calcSizeBinary1, /* SByte */ - (calcSizeBinarySignature)calcSizeBinary1, /* Byte */ - (calcSizeBinarySignature)calcSizeBinary2, /* Int16 */ - (calcSizeBinarySignature)calcSizeBinary2, /* UInt16 */ - (calcSizeBinarySignature)calcSizeBinary4, /* Int32 */ - (calcSizeBinarySignature)calcSizeBinary4, /* UInt32 */ - (calcSizeBinarySignature)calcSizeBinary8, /* Int64 */ - (calcSizeBinarySignature)calcSizeBinary8, /* UInt64 */ - (calcSizeBinarySignature)calcSizeBinary4, /* Float */ - (calcSizeBinarySignature)calcSizeBinary8, /* Double */ - (calcSizeBinarySignature)String_calcSizeBinary, - (calcSizeBinarySignature)calcSizeBinary8, /* DateTime */ - (calcSizeBinarySignature)Guid_calcSizeBinary, - (calcSizeBinarySignature)String_calcSizeBinary, /* ByteString */ - (calcSizeBinarySignature)String_calcSizeBinary, /* XmlElement */ - (calcSizeBinarySignature)NodeId_calcSizeBinary, - (calcSizeBinarySignature)ExpandedNodeId_calcSizeBinary, - (calcSizeBinarySignature)calcSizeBinary4, /* StatusCode */ - (calcSizeBinarySignature)QualifiedName_calcSizeBinary, - (calcSizeBinarySignature)LocalizedText_calcSizeBinary, - (calcSizeBinarySignature)ExtensionObject_calcSizeBinary, - (calcSizeBinarySignature)DataValue_calcSizeBinary, - (calcSizeBinarySignature)Variant_calcSizeBinary, - (calcSizeBinarySignature)DiagnosticInfo_calcSizeBinary, - (calcSizeBinarySignature)calcSizeBinaryNotImplemented, /* Decimal */ - (calcSizeBinarySignature)calcSizeBinary4, /* Enumeration */ - (calcSizeBinarySignature)calcSizeBinaryStructure, - (calcSizeBinarySignature)calcSizeBinaryStructureWithOptFields, /* Structure with Optional Fields */ - (calcSizeBinarySignature)calcSizeBinaryUnion, /* Union */ - (calcSizeBinarySignature)calcSizeBinaryNotImplemented /* BitfieldCluster */ -}; - -size_t -UA_calcSizeBinary(const void *p, const UA_DataType *type) { - return calcSizeBinaryJumpTable[type->typeKind](p, type); -} - -/**** amalgamated original file "/build/src_generated/open62541/types_generated.c" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - - -/* Boolean */ -#define Boolean_members NULL - -/* SByte */ -#define SByte_members NULL - -/* Byte */ -#define Byte_members NULL - -/* Int16 */ -#define Int16_members NULL - -/* UInt16 */ -#define UInt16_members NULL - -/* Int32 */ -#define Int32_members NULL - -/* UInt32 */ -#define UInt32_members NULL - -/* Int64 */ -#define Int64_members NULL - -/* UInt64 */ -#define UInt64_members NULL - -/* Float */ -#define Float_members NULL - -/* Double */ -#define Double_members NULL - -/* String */ -#define String_members NULL - -/* DateTime */ -#define DateTime_members NULL - -/* Guid */ -#define Guid_members NULL - -/* ByteString */ -#define ByteString_members NULL - -/* XmlElement */ -#define XmlElement_members NULL - -/* NodeId */ -#define NodeId_members NULL - -/* ExpandedNodeId */ -#define ExpandedNodeId_members NULL - -/* StatusCode */ -#define StatusCode_members NULL - -/* QualifiedName */ -#define QualifiedName_members NULL - -/* LocalizedText */ -#define LocalizedText_members NULL - -/* ExtensionObject */ -#define ExtensionObject_members NULL - -/* DataValue */ -#define DataValue_members NULL - -/* Variant */ -#define Variant_members NULL - -/* DiagnosticInfo */ -#define DiagnosticInfo_members NULL - -/* NamingRuleType */ -#define NamingRuleType_members NULL - -/* Enumeration */ -#define Enumeration_members NULL - -/* ImageBMP */ -#define ImageBMP_members NULL - -/* ImageGIF */ -#define ImageGIF_members NULL - -/* ImageJPG */ -#define ImageJPG_members NULL - -/* ImagePNG */ -#define ImagePNG_members NULL - -/* AudioDataType */ -#define AudioDataType_members NULL - -/* UriString */ -#define UriString_members NULL - -/* BitFieldMaskDataType */ -#define BitFieldMaskDataType_members NULL - -/* SemanticVersionString */ -#define SemanticVersionString_members NULL - -/* KeyValuePair */ -static UA_DataTypeMember KeyValuePair_members[2] = { -{ - UA_TYPENAME("Key") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_KeyValuePair, value) - offsetof(UA_KeyValuePair, key) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AdditionalParametersType */ -static UA_DataTypeMember AdditionalParametersType_members[1] = { -{ - UA_TYPENAME("Parameters") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* EphemeralKeyType */ -static UA_DataTypeMember EphemeralKeyType_members[2] = { -{ - UA_TYPENAME("PublicKey") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Signature") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_EphemeralKeyType, signature) - offsetof(UA_EphemeralKeyType, publicKey) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* Handle */ -#define Handle_members NULL - -/* TrimmedString */ -#define TrimmedString_members NULL - -/* RationalNumber */ -static UA_DataTypeMember RationalNumber_members[2] = { -{ - UA_TYPENAME("Numerator") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Denominator") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_RationalNumber, denominator) - offsetof(UA_RationalNumber, numerator) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ThreeDVector */ -static UA_DataTypeMember ThreeDVector_members[3] = { -{ - UA_TYPENAME("X") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Y") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ThreeDVector, y) - offsetof(UA_ThreeDVector, x) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Z") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ThreeDVector, z) - offsetof(UA_ThreeDVector, y) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ThreeDCartesianCoordinates */ -static UA_DataTypeMember ThreeDCartesianCoordinates_members[3] = { -{ - UA_TYPENAME("X") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Y") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ThreeDCartesianCoordinates, y) - offsetof(UA_ThreeDCartesianCoordinates, x) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Z") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ThreeDCartesianCoordinates, z) - offsetof(UA_ThreeDCartesianCoordinates, y) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ThreeDOrientation */ -static UA_DataTypeMember ThreeDOrientation_members[3] = { -{ - UA_TYPENAME("A") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("B") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ThreeDOrientation, b) - offsetof(UA_ThreeDOrientation, a) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("C") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ThreeDOrientation, c) - offsetof(UA_ThreeDOrientation, b) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ThreeDFrame */ -static UA_DataTypeMember ThreeDFrame_members[2] = { -{ - UA_TYPENAME("CartesianCoordinates") /* .memberName */ - &UA_TYPES[UA_TYPES_THREEDCARTESIANCOORDINATES], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Orientation") /* .memberName */ - &UA_TYPES[UA_TYPES_THREEDORIENTATION], /* .memberType */ - offsetof(UA_ThreeDFrame, orientation) - offsetof(UA_ThreeDFrame, cartesianCoordinates) - sizeof(UA_ThreeDCartesianCoordinates), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* OpenFileMode */ -#define OpenFileMode_members NULL - -/* IdentityCriteriaType */ -#define IdentityCriteriaType_members NULL - -/* IdentityMappingRuleType */ -static UA_DataTypeMember IdentityMappingRuleType_members[2] = { -{ - UA_TYPENAME("CriteriaType") /* .memberName */ - &UA_TYPES[UA_TYPES_IDENTITYCRITERIATYPE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Criteria") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_IdentityMappingRuleType, criteria) - offsetof(UA_IdentityMappingRuleType, criteriaType) - sizeof(UA_IdentityCriteriaType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CurrencyUnitType */ -static UA_DataTypeMember CurrencyUnitType_members[4] = { -{ - UA_TYPENAME("NumericCode") /* .memberName */ - &UA_TYPES[UA_TYPES_INT16], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Exponent") /* .memberName */ - &UA_TYPES[UA_TYPES_SBYTE], /* .memberType */ - offsetof(UA_CurrencyUnitType, exponent) - offsetof(UA_CurrencyUnitType, numericCode) - sizeof(UA_Int16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AlphabeticCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_CurrencyUnitType, alphabeticCode) - offsetof(UA_CurrencyUnitType, exponent) - sizeof(UA_SByte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Currency") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_CurrencyUnitType, currency) - offsetof(UA_CurrencyUnitType, alphabeticCode) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AlarmMask */ -#define AlarmMask_members NULL - -/* TrustListValidationOptions */ -#define TrustListValidationOptions_members NULL - -/* TrustListMasks */ -#define TrustListMasks_members NULL - -/* TrustListDataType */ -static UA_DataTypeMember TrustListDataType_members[5] = { -{ - UA_TYPENAME("SpecifiedLists") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TrustedCertificates") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_TrustListDataType, trustedCertificatesSize) - offsetof(UA_TrustListDataType, specifiedLists) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TrustedCrls") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_TrustListDataType, trustedCrlsSize) - offsetof(UA_TrustListDataType, trustedCertificates) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IssuerCertificates") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_TrustListDataType, issuerCertificatesSize) - offsetof(UA_TrustListDataType, trustedCrls) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IssuerCrls") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_TrustListDataType, issuerCrlsSize) - offsetof(UA_TrustListDataType, issuerCertificates) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* TransactionErrorType */ -static UA_DataTypeMember TransactionErrorType_members[3] = { -{ - UA_TYPENAME("TargetId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Error") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_TransactionErrorType, error) - offsetof(UA_TransactionErrorType, targetId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Message") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_TransactionErrorType, message) - offsetof(UA_TransactionErrorType, error) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataTypeDescription */ -static UA_DataTypeMember DataTypeDescription_members[2] = { -{ - UA_TYPENAME("DataTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_DataTypeDescription, name) - offsetof(UA_DataTypeDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SimpleTypeDescription */ -static UA_DataTypeMember SimpleTypeDescription_members[4] = { -{ - UA_TYPENAME("DataTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_SimpleTypeDescription, name) - offsetof(UA_SimpleTypeDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BaseDataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_SimpleTypeDescription, baseDataType) - offsetof(UA_SimpleTypeDescription, name) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BuiltInType") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_SimpleTypeDescription, builtInType) - offsetof(UA_SimpleTypeDescription, baseDataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PortableQualifiedName */ -static UA_DataTypeMember PortableQualifiedName_members[2] = { -{ - UA_TYPENAME("NamespaceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PortableQualifiedName, name) - offsetof(UA_PortableQualifiedName, namespaceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PortableNodeId */ -static UA_DataTypeMember PortableNodeId_members[2] = { -{ - UA_TYPENAME("NamespaceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Identifier") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_PortableNodeId, identifier) - offsetof(UA_PortableNodeId, namespaceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* UnsignedRationalNumber */ -static UA_DataTypeMember UnsignedRationalNumber_members[2] = { -{ - UA_TYPENAME("Numerator") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Denominator") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_UnsignedRationalNumber, denominator) - offsetof(UA_UnsignedRationalNumber, numerator) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubState */ -#define PubSubState_members NULL - -/* DataSetFieldFlags */ -#define DataSetFieldFlags_members NULL - -/* ConfigurationVersionDataType */ -static UA_DataTypeMember ConfigurationVersionDataType_members[2] = { -{ - UA_TYPENAME("MajorVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MinorVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ConfigurationVersionDataType, minorVersion) - offsetof(UA_ConfigurationVersionDataType, majorVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishedVariableDataType */ -static UA_DataTypeMember PublishedVariableDataType_members[8] = { -{ - UA_TYPENAME("PublishedVariable") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PublishedVariableDataType, attributeId) - offsetof(UA_PublishedVariableDataType, publishedVariable) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SamplingIntervalHint") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_PublishedVariableDataType, samplingIntervalHint) - offsetof(UA_PublishedVariableDataType, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeadbandType") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PublishedVariableDataType, deadbandType) - offsetof(UA_PublishedVariableDataType, samplingIntervalHint) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeadbandValue") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_PublishedVariableDataType, deadbandValue) - offsetof(UA_PublishedVariableDataType, deadbandType) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PublishedVariableDataType, indexRange) - offsetof(UA_PublishedVariableDataType, deadbandValue) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubstituteValue") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_PublishedVariableDataType, substituteValue) - offsetof(UA_PublishedVariableDataType, indexRange) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MetaDataProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_PublishedVariableDataType, metaDataPropertiesSize) - offsetof(UA_PublishedVariableDataType, substituteValue) - sizeof(UA_Variant), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishedDataItemsDataType */ -static UA_DataTypeMember PublishedDataItemsDataType_members[1] = { -{ - UA_TYPENAME("PublishedData") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishedDataSetCustomSourceDataType */ -static UA_DataTypeMember PublishedDataSetCustomSourceDataType_members[1] = { -{ - UA_TYPENAME("CyclicDataSet") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataSetFieldContentMask */ -#define DataSetFieldContentMask_members NULL - -/* DataSetWriterDataType */ -static UA_DataTypeMember DataSetWriterDataType_members[9] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DataSetWriterDataType, enabled) - offsetof(UA_DataSetWriterDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetWriterId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_DataSetWriterDataType, dataSetWriterId) - offsetof(UA_DataSetWriterDataType, enabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetFieldContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK], /* .memberType */ - offsetof(UA_DataSetWriterDataType, dataSetFieldContentMask) - offsetof(UA_DataSetWriterDataType, dataSetWriterId) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("KeyFrameCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DataSetWriterDataType, keyFrameCount) - offsetof(UA_DataSetWriterDataType, dataSetFieldContentMask) - sizeof(UA_DataSetFieldContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DataSetWriterDataType, dataSetName) - offsetof(UA_DataSetWriterDataType, keyFrameCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetWriterProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_DataSetWriterDataType, dataSetWriterPropertiesSize) - offsetof(UA_DataSetWriterDataType, dataSetName) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DataSetWriterDataType, transportSettings) - offsetof(UA_DataSetWriterDataType, dataSetWriterProperties) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DataSetWriterDataType, messageSettings) - offsetof(UA_DataSetWriterDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* NetworkAddressDataType */ -static UA_DataTypeMember NetworkAddressDataType_members[1] = { -{ - UA_TYPENAME("NetworkInterface") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* NetworkAddressUrlDataType */ -static UA_DataTypeMember NetworkAddressUrlDataType_members[2] = { -{ - UA_TYPENAME("NetworkInterface") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Url") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_NetworkAddressUrlDataType, url) - offsetof(UA_NetworkAddressUrlDataType, networkInterface) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* OverrideValueHandling */ -#define OverrideValueHandling_members NULL - -/* StandaloneSubscribedDataSetRefDataType */ -static UA_DataTypeMember StandaloneSubscribedDataSetRefDataType_members[1] = { -{ - UA_TYPENAME("DataSetName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataSetOrderingType */ -#define DataSetOrderingType_members NULL - -/* UadpNetworkMessageContentMask */ -#define UadpNetworkMessageContentMask_members NULL - -/* UadpWriterGroupMessageDataType */ -static UA_DataTypeMember UadpWriterGroupMessageDataType_members[5] = { -{ - UA_TYPENAME("GroupVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetOrdering") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETORDERINGTYPE], /* .memberType */ - offsetof(UA_UadpWriterGroupMessageDataType, dataSetOrdering) - offsetof(UA_UadpWriterGroupMessageDataType, groupVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK], /* .memberType */ - offsetof(UA_UadpWriterGroupMessageDataType, networkMessageContentMask) - offsetof(UA_UadpWriterGroupMessageDataType, dataSetOrdering) - sizeof(UA_DataSetOrderingType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SamplingOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_UadpWriterGroupMessageDataType, samplingOffset) - offsetof(UA_UadpWriterGroupMessageDataType, networkMessageContentMask) - sizeof(UA_UadpNetworkMessageContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_UadpWriterGroupMessageDataType, publishingOffsetSize) - offsetof(UA_UadpWriterGroupMessageDataType, samplingOffset) - sizeof(UA_Double), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* UadpDataSetMessageContentMask */ -#define UadpDataSetMessageContentMask_members NULL - -/* UadpDataSetWriterMessageDataType */ -static UA_DataTypeMember UadpDataSetWriterMessageDataType_members[4] = { -{ - UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConfiguredSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_UadpDataSetWriterMessageDataType, configuredSize) - offsetof(UA_UadpDataSetWriterMessageDataType, dataSetMessageContentMask) - sizeof(UA_UadpDataSetMessageContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NetworkMessageNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_UadpDataSetWriterMessageDataType, networkMessageNumber) - offsetof(UA_UadpDataSetWriterMessageDataType, configuredSize) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_UadpDataSetWriterMessageDataType, dataSetOffset) - offsetof(UA_UadpDataSetWriterMessageDataType, networkMessageNumber) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* UadpDataSetReaderMessageDataType */ -static UA_DataTypeMember UadpDataSetReaderMessageDataType_members[9] = { -{ - UA_TYPENAME("GroupVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NetworkMessageNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageNumber) - offsetof(UA_UadpDataSetReaderMessageDataType, groupVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetOffset) - offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageNumber) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetClassId") /* .memberName */ - &UA_TYPES[UA_TYPES_GUID], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetClassId) - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetOffset) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageContentMask) - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetClassId) - sizeof(UA_Guid), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UADPDATASETMESSAGECONTENTMASK], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetMessageContentMask) - offsetof(UA_UadpDataSetReaderMessageDataType, networkMessageContentMask) - sizeof(UA_UadpNetworkMessageContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, publishingInterval) - offsetof(UA_UadpDataSetReaderMessageDataType, dataSetMessageContentMask) - sizeof(UA_UadpDataSetMessageContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReceiveOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, receiveOffset) - offsetof(UA_UadpDataSetReaderMessageDataType, publishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProcessingOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_UadpDataSetReaderMessageDataType, processingOffset) - offsetof(UA_UadpDataSetReaderMessageDataType, receiveOffset) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* JsonNetworkMessageContentMask */ -#define JsonNetworkMessageContentMask_members NULL - -/* JsonWriterGroupMessageDataType */ -static UA_DataTypeMember JsonWriterGroupMessageDataType_members[1] = { -{ - UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* JsonDataSetMessageContentMask */ -#define JsonDataSetMessageContentMask_members NULL - -/* JsonDataSetWriterMessageDataType */ -static UA_DataTypeMember JsonDataSetWriterMessageDataType_members[1] = { -{ - UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* JsonDataSetReaderMessageDataType */ -static UA_DataTypeMember JsonDataSetReaderMessageDataType_members[2] = { -{ - UA_TYPENAME("NetworkMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_JSONNETWORKMESSAGECONTENTMASK], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetMessageContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_JSONDATASETMESSAGECONTENTMASK], /* .memberType */ - offsetof(UA_JsonDataSetReaderMessageDataType, dataSetMessageContentMask) - offsetof(UA_JsonDataSetReaderMessageDataType, networkMessageContentMask) - sizeof(UA_JsonNetworkMessageContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TransmitQosPriorityDataType */ -static UA_DataTypeMember TransmitQosPriorityDataType_members[1] = { -{ - UA_TYPENAME("PriorityLabel") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReceiveQosPriorityDataType */ -static UA_DataTypeMember ReceiveQosPriorityDataType_members[1] = { -{ - UA_TYPENAME("PriorityLabel") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DatagramConnectionTransportDataType */ -static UA_DataTypeMember DatagramConnectionTransportDataType_members[1] = { -{ - UA_TYPENAME("DiscoveryAddress") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DatagramConnectionTransport2DataType */ -static UA_DataTypeMember DatagramConnectionTransport2DataType_members[5] = { -{ - UA_TYPENAME("DiscoveryAddress") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryAnnounceRate") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DatagramConnectionTransport2DataType, discoveryAnnounceRate) - offsetof(UA_DatagramConnectionTransport2DataType, discoveryAddress) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryMaxMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DatagramConnectionTransport2DataType, discoveryMaxMessageSize) - offsetof(UA_DatagramConnectionTransport2DataType, discoveryAnnounceRate) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QosCategory") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DatagramConnectionTransport2DataType, qosCategory) - offsetof(UA_DatagramConnectionTransport2DataType, discoveryMaxMessageSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DatagramQos") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DatagramConnectionTransport2DataType, datagramQosSize) - offsetof(UA_DatagramConnectionTransport2DataType, qosCategory) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DatagramWriterGroupTransportDataType */ -static UA_DataTypeMember DatagramWriterGroupTransportDataType_members[2] = { -{ - UA_TYPENAME("MessageRepeatCount") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageRepeatDelay") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransportDataType, messageRepeatDelay) - offsetof(UA_DatagramWriterGroupTransportDataType, messageRepeatCount) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DatagramWriterGroupTransport2DataType */ -static UA_DataTypeMember DatagramWriterGroupTransport2DataType_members[7] = { -{ - UA_TYPENAME("MessageRepeatCount") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageRepeatDelay") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransport2DataType, messageRepeatDelay) - offsetof(UA_DatagramWriterGroupTransport2DataType, messageRepeatCount) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Address") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransport2DataType, address) - offsetof(UA_DatagramWriterGroupTransport2DataType, messageRepeatDelay) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QosCategory") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransport2DataType, qosCategory) - offsetof(UA_DatagramWriterGroupTransport2DataType, address) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DatagramQos") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransport2DataType, datagramQosSize) - offsetof(UA_DatagramWriterGroupTransport2DataType, qosCategory) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryAnnounceRate") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransport2DataType, discoveryAnnounceRate) - offsetof(UA_DatagramWriterGroupTransport2DataType, datagramQos) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Topic") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DatagramWriterGroupTransport2DataType, topic) - offsetof(UA_DatagramWriterGroupTransport2DataType, discoveryAnnounceRate) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DatagramDataSetReaderTransportDataType */ -static UA_DataTypeMember DatagramDataSetReaderTransportDataType_members[4] = { -{ - UA_TYPENAME("Address") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QosCategory") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DatagramDataSetReaderTransportDataType, qosCategory) - offsetof(UA_DatagramDataSetReaderTransportDataType, address) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DatagramQos") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DatagramDataSetReaderTransportDataType, datagramQosSize) - offsetof(UA_DatagramDataSetReaderTransportDataType, qosCategory) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Topic") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DatagramDataSetReaderTransportDataType, topic) - offsetof(UA_DatagramDataSetReaderTransportDataType, datagramQos) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrokerConnectionTransportDataType */ -static UA_DataTypeMember BrokerConnectionTransportDataType_members[2] = { -{ - UA_TYPENAME("ResourceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerConnectionTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerConnectionTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrokerTransportQualityOfService */ -#define BrokerTransportQualityOfService_members NULL - -/* BrokerWriterGroupTransportDataType */ -static UA_DataTypeMember BrokerWriterGroupTransportDataType_members[4] = { -{ - UA_TYPENAME("QueueName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ResourceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerWriterGroupTransportDataType, resourceUri) - offsetof(UA_BrokerWriterGroupTransportDataType, queueName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerWriterGroupTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerWriterGroupTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedDeliveryGuarantee") /* .memberName */ - &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE], /* .memberType */ - offsetof(UA_BrokerWriterGroupTransportDataType, requestedDeliveryGuarantee) - offsetof(UA_BrokerWriterGroupTransportDataType, authenticationProfileUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrokerDataSetWriterTransportDataType */ -static UA_DataTypeMember BrokerDataSetWriterTransportDataType_members[6] = { -{ - UA_TYPENAME("QueueName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ResourceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerDataSetWriterTransportDataType, resourceUri) - offsetof(UA_BrokerDataSetWriterTransportDataType, queueName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerDataSetWriterTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerDataSetWriterTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedDeliveryGuarantee") /* .memberName */ - &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE], /* .memberType */ - offsetof(UA_BrokerDataSetWriterTransportDataType, requestedDeliveryGuarantee) - offsetof(UA_BrokerDataSetWriterTransportDataType, authenticationProfileUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MetaDataQueueName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerDataSetWriterTransportDataType, metaDataQueueName) - offsetof(UA_BrokerDataSetWriterTransportDataType, requestedDeliveryGuarantee) - sizeof(UA_BrokerTransportQualityOfService), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MetaDataUpdateTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_BrokerDataSetWriterTransportDataType, metaDataUpdateTime) - offsetof(UA_BrokerDataSetWriterTransportDataType, metaDataQueueName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrokerDataSetReaderTransportDataType */ -static UA_DataTypeMember BrokerDataSetReaderTransportDataType_members[5] = { -{ - UA_TYPENAME("QueueName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ResourceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerDataSetReaderTransportDataType, resourceUri) - offsetof(UA_BrokerDataSetReaderTransportDataType, queueName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuthenticationProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerDataSetReaderTransportDataType, authenticationProfileUri) - offsetof(UA_BrokerDataSetReaderTransportDataType, resourceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedDeliveryGuarantee") /* .memberName */ - &UA_TYPES[UA_TYPES_BROKERTRANSPORTQUALITYOFSERVICE], /* .memberType */ - offsetof(UA_BrokerDataSetReaderTransportDataType, requestedDeliveryGuarantee) - offsetof(UA_BrokerDataSetReaderTransportDataType, authenticationProfileUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MetaDataQueueName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BrokerDataSetReaderTransportDataType, metaDataQueueName) - offsetof(UA_BrokerDataSetReaderTransportDataType, requestedDeliveryGuarantee) - sizeof(UA_BrokerTransportQualityOfService), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubConfigurationRefMask */ -#define PubSubConfigurationRefMask_members NULL - -/* PubSubConfigurationRefDataType */ -static UA_DataTypeMember PubSubConfigurationRefDataType_members[4] = { -{ - UA_TYPENAME("ConfigurationMask") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFMASK], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ElementIndex") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_PubSubConfigurationRefDataType, elementIndex) - offsetof(UA_PubSubConfigurationRefDataType, configurationMask) - sizeof(UA_PubSubConfigurationRefMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConnectionIndex") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_PubSubConfigurationRefDataType, connectionIndex) - offsetof(UA_PubSubConfigurationRefDataType, elementIndex) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GroupIndex") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_PubSubConfigurationRefDataType, groupIndex) - offsetof(UA_PubSubConfigurationRefDataType, connectionIndex) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubConfigurationValueDataType */ -static UA_DataTypeMember PubSubConfigurationValueDataType_members[3] = { -{ - UA_TYPENAME("ConfigurationElement") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONREFDATATYPE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubConfigurationValueDataType, name) - offsetof(UA_PubSubConfigurationValueDataType, configurationElement) - sizeof(UA_PubSubConfigurationRefDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Identifier") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_PubSubConfigurationValueDataType, identifier) - offsetof(UA_PubSubConfigurationValueDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DiagnosticsLevel */ -#define DiagnosticsLevel_members NULL - -/* PubSubDiagnosticsCounterClassification */ -#define PubSubDiagnosticsCounterClassification_members NULL - -/* AliasNameDataType */ -static UA_DataTypeMember AliasNameDataType_members[2] = { -{ - UA_TYPENAME("AliasName") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferencedNodes") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_AliasNameDataType, referencedNodesSize) - offsetof(UA_AliasNameDataType, aliasName) - sizeof(UA_QualifiedName), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PasswordOptionsMask */ -#define PasswordOptionsMask_members NULL - -/* UserConfigurationMask */ -#define UserConfigurationMask_members NULL - -/* UserManagementDataType */ -static UA_DataTypeMember UserManagementDataType_members[3] = { -{ - UA_TYPENAME("UserName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserConfiguration") /* .memberName */ - &UA_TYPES[UA_TYPES_USERCONFIGURATIONMASK], /* .memberType */ - offsetof(UA_UserManagementDataType, userConfiguration) - offsetof(UA_UserManagementDataType, userName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UserManagementDataType, description) - offsetof(UA_UserManagementDataType, userConfiguration) - sizeof(UA_UserConfigurationMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EncodedTicket */ -#define EncodedTicket_members NULL - -/* Duplex */ -#define Duplex_members NULL - -/* InterfaceAdminStatus */ -#define InterfaceAdminStatus_members NULL - -/* InterfaceOperStatus */ -#define InterfaceOperStatus_members NULL - -/* NegotiationStatus */ -#define NegotiationStatus_members NULL - -/* TsnFailureCode */ -#define TsnFailureCode_members NULL - -/* TsnStreamState */ -#define TsnStreamState_members NULL - -/* TsnTalkerStatus */ -#define TsnTalkerStatus_members NULL - -/* TsnListenerStatus */ -#define TsnListenerStatus_members NULL - -/* PriorityMappingEntryType */ -static UA_DataTypeMember PriorityMappingEntryType_members[4] = { -{ - UA_TYPENAME("MappingUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PriorityLabel") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PriorityMappingEntryType, priorityLabel) - offsetof(UA_PriorityMappingEntryType, mappingUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PriorityValue_PCP") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_PriorityMappingEntryType, priorityValue_PCP) - offsetof(UA_PriorityMappingEntryType, priorityLabel) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PriorityValue_DSCP") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PriorityMappingEntryType, priorityValue_DSCP) - offsetof(UA_PriorityMappingEntryType, priorityValue_PCP) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReferenceDescriptionDataType */ -static UA_DataTypeMember ReferenceDescriptionDataType_members[4] = { -{ - UA_TYPENAME("SourceNode") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferenceType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_ReferenceDescriptionDataType, referenceType) - offsetof(UA_ReferenceDescriptionDataType, sourceNode) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsForward") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReferenceDescriptionDataType, isForward) - offsetof(UA_ReferenceDescriptionDataType, referenceType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetNode") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_ReferenceDescriptionDataType, targetNode) - offsetof(UA_ReferenceDescriptionDataType, isForward) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReferenceListEntryDataType */ -static UA_DataTypeMember ReferenceListEntryDataType_members[3] = { -{ - UA_TYPENAME("ReferenceType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsForward") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReferenceListEntryDataType, isForward) - offsetof(UA_ReferenceListEntryDataType, referenceType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetNode") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_ReferenceListEntryDataType, targetNode) - offsetof(UA_ReferenceListEntryDataType, isForward) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* IdType */ -#define IdType_members NULL - -/* NodeClass */ -#define NodeClass_members NULL - -/* PermissionType */ -#define PermissionType_members NULL - -/* AccessLevelType */ -#define AccessLevelType_members NULL - -/* AccessLevelExType */ -#define AccessLevelExType_members NULL - -/* EventNotifierType */ -#define EventNotifierType_members NULL - -/* AccessRestrictionType */ -#define AccessRestrictionType_members NULL - -/* RolePermissionType */ -static UA_DataTypeMember RolePermissionType_members[2] = { -{ - UA_TYPENAME("RoleId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Permissions") /* .memberName */ - &UA_TYPES[UA_TYPES_PERMISSIONTYPE], /* .memberType */ - offsetof(UA_RolePermissionType, permissions) - offsetof(UA_RolePermissionType, roleId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* StructureType */ -#define StructureType_members NULL - -/* StructureField */ -static UA_DataTypeMember StructureField_members[7] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_StructureField, description) - offsetof(UA_StructureField, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_StructureField, dataType) - offsetof(UA_StructureField, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ValueRank") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_StructureField, valueRank) - offsetof(UA_StructureField, dataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ArrayDimensions") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_StructureField, arrayDimensionsSize) - offsetof(UA_StructureField, valueRank) - sizeof(UA_Int32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxStringLength") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_StructureField, maxStringLength) - offsetof(UA_StructureField, arrayDimensions) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsOptional") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_StructureField, isOptional) - offsetof(UA_StructureField, maxStringLength) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* StructureDefinition */ -static UA_DataTypeMember StructureDefinition_members[4] = { -{ - UA_TYPENAME("DefaultEncodingId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BaseDataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_StructureDefinition, baseDataType) - offsetof(UA_StructureDefinition, defaultEncodingId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StructureType") /* .memberName */ - &UA_TYPES[UA_TYPES_STRUCTURETYPE], /* .memberType */ - offsetof(UA_StructureDefinition, structureType) - offsetof(UA_StructureDefinition, baseDataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Fields") /* .memberName */ - &UA_TYPES[UA_TYPES_STRUCTUREFIELD], /* .memberType */ - offsetof(UA_StructureDefinition, fieldsSize) - offsetof(UA_StructureDefinition, structureType) - sizeof(UA_StructureType), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* Argument */ -static UA_DataTypeMember Argument_members[5] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_Argument, dataType) - offsetof(UA_Argument, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ValueRank") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_Argument, valueRank) - offsetof(UA_Argument, dataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ArrayDimensions") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_Argument, arrayDimensionsSize) - offsetof(UA_Argument, valueRank) - sizeof(UA_Int32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_Argument, description) - offsetof(UA_Argument, arrayDimensions) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EnumValueType */ -static UA_DataTypeMember EnumValueType_members[3] = { -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_INT64], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_EnumValueType, displayName) - offsetof(UA_EnumValueType, value) - sizeof(UA_Int64), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_EnumValueType, description) - offsetof(UA_EnumValueType, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EnumField */ -static UA_DataTypeMember EnumField_members[4] = { -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_INT64], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_EnumField, displayName) - offsetof(UA_EnumField, value) - sizeof(UA_Int64), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_EnumField, description) - offsetof(UA_EnumField, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_EnumField, name) - offsetof(UA_EnumField, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* OptionSet */ -static UA_DataTypeMember OptionSet_members[2] = { -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ValidBits") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_OptionSet, validBits) - offsetof(UA_OptionSet, value) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* NormalizedString */ -#define NormalizedString_members NULL - -/* DecimalString */ -#define DecimalString_members NULL - -/* DurationString */ -#define DurationString_members NULL - -/* TimeString */ -#define TimeString_members NULL - -/* DateString */ -#define DateString_members NULL - -/* Duration */ -#define Duration_members NULL - -/* UtcTime */ -#define UtcTime_members NULL - -/* LocaleId */ -#define LocaleId_members NULL - -/* TimeZoneDataType */ -static UA_DataTypeMember TimeZoneDataType_members[2] = { -{ - UA_TYPENAME("Offset") /* .memberName */ - &UA_TYPES[UA_TYPES_INT16], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DaylightSavingInOffset") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_TimeZoneDataType, daylightSavingInOffset) - offsetof(UA_TimeZoneDataType, offset) - sizeof(UA_Int16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* Index */ -#define Index_members NULL - -/* IntegerId */ -#define IntegerId_members NULL - -/* ApplicationType */ -#define ApplicationType_members NULL - -/* ApplicationDescription */ -static UA_DataTypeMember ApplicationDescription_members[7] = { -{ - UA_TYPENAME("ApplicationUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProductUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ApplicationDescription, productUri) - offsetof(UA_ApplicationDescription, applicationUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ApplicationName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ApplicationDescription, applicationName) - offsetof(UA_ApplicationDescription, productUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ApplicationType") /* .memberName */ - &UA_TYPES[UA_TYPES_APPLICATIONTYPE], /* .memberType */ - offsetof(UA_ApplicationDescription, applicationType) - offsetof(UA_ApplicationDescription, applicationName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GatewayServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ApplicationDescription, gatewayServerUri) - offsetof(UA_ApplicationDescription, applicationType) - sizeof(UA_ApplicationType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ApplicationDescription, discoveryProfileUri) - offsetof(UA_ApplicationDescription, gatewayServerUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryUrls") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ApplicationDescription, discoveryUrlsSize) - offsetof(UA_ApplicationDescription, discoveryProfileUri) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RequestHeader */ -static UA_DataTypeMember RequestHeader_members[7] = { -{ - UA_TYPENAME("AuthenticationToken") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Timestamp") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_RequestHeader, timestamp) - offsetof(UA_RequestHeader, authenticationToken) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestHandle") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_RequestHeader, requestHandle) - offsetof(UA_RequestHeader, timestamp) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReturnDiagnostics") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_RequestHeader, returnDiagnostics) - offsetof(UA_RequestHeader, requestHandle) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuditEntryId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_RequestHeader, auditEntryId) - offsetof(UA_RequestHeader, returnDiagnostics) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TimeoutHint") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_RequestHeader, timeoutHint) - offsetof(UA_RequestHeader, auditEntryId) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AdditionalHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_RequestHeader, additionalHeader) - offsetof(UA_RequestHeader, timeoutHint) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ResponseHeader */ -static UA_DataTypeMember ResponseHeader_members[6] = { -{ - UA_TYPENAME("Timestamp") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestHandle") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ResponseHeader, requestHandle) - offsetof(UA_ResponseHeader, timestamp) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServiceResult") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_ResponseHeader, serviceResult) - offsetof(UA_ResponseHeader, requestHandle) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServiceDiagnostics") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ResponseHeader, serviceDiagnostics) - offsetof(UA_ResponseHeader, serviceResult) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StringTable") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ResponseHeader, stringTableSize) - offsetof(UA_ResponseHeader, serviceDiagnostics) - sizeof(UA_DiagnosticInfo), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AdditionalHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_ResponseHeader, additionalHeader) - offsetof(UA_ResponseHeader, stringTable) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* VersionTime */ -#define VersionTime_members NULL - -/* ServiceFault */ -static UA_DataTypeMember ServiceFault_members[1] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SessionlessInvokeRequestType */ -static UA_DataTypeMember SessionlessInvokeRequestType_members[5] = { -{ - UA_TYPENAME("UrisVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NamespaceUris") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionlessInvokeRequestType, namespaceUrisSize) - offsetof(UA_SessionlessInvokeRequestType, urisVersion) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerUris") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionlessInvokeRequestType, serverUrisSize) - offsetof(UA_SessionlessInvokeRequestType, namespaceUris) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LocaleIds") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionlessInvokeRequestType, localeIdsSize) - offsetof(UA_SessionlessInvokeRequestType, serverUris) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServiceId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionlessInvokeRequestType, serviceId) - offsetof(UA_SessionlessInvokeRequestType, localeIds) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SessionlessInvokeResponseType */ -static UA_DataTypeMember SessionlessInvokeResponseType_members[3] = { -{ - UA_TYPENAME("NamespaceUris") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerUris") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionlessInvokeResponseType, serverUrisSize) - offsetof(UA_SessionlessInvokeResponseType, namespaceUris) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServiceId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionlessInvokeResponseType, serviceId) - offsetof(UA_SessionlessInvokeResponseType, serverUris) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* FindServersRequest */ -static UA_DataTypeMember FindServersRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_FindServersRequest, endpointUrl) - offsetof(UA_FindServersRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LocaleIds") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_FindServersRequest, localeIdsSize) - offsetof(UA_FindServersRequest, endpointUrl) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerUris") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_FindServersRequest, serverUrisSize) - offsetof(UA_FindServersRequest, localeIds) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* FindServersResponse */ -static UA_DataTypeMember FindServersResponse_members[2] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Servers") /* .memberName */ - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ - offsetof(UA_FindServersResponse, serversSize) - offsetof(UA_FindServersResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ServerOnNetwork */ -static UA_DataTypeMember ServerOnNetwork_members[4] = { -{ - UA_TYPENAME("RecordId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ServerOnNetwork, serverName) - offsetof(UA_ServerOnNetwork, recordId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ServerOnNetwork, discoveryUrl) - offsetof(UA_ServerOnNetwork, serverName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerCapabilities") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ServerOnNetwork, serverCapabilitiesSize) - offsetof(UA_ServerOnNetwork, discoveryUrl) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* FindServersOnNetworkRequest */ -static UA_DataTypeMember FindServersOnNetworkRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StartingRecordId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_FindServersOnNetworkRequest, startingRecordId) - offsetof(UA_FindServersOnNetworkRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxRecordsToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_FindServersOnNetworkRequest, maxRecordsToReturn) - offsetof(UA_FindServersOnNetworkRequest, startingRecordId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerCapabilityFilter") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_FindServersOnNetworkRequest, serverCapabilityFilterSize) - offsetof(UA_FindServersOnNetworkRequest, maxRecordsToReturn) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* FindServersOnNetworkResponse */ -static UA_DataTypeMember FindServersOnNetworkResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastCounterResetTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_FindServersOnNetworkResponse, lastCounterResetTime) - offsetof(UA_FindServersOnNetworkResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Servers") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVERONNETWORK], /* .memberType */ - offsetof(UA_FindServersOnNetworkResponse, serversSize) - offsetof(UA_FindServersOnNetworkResponse, lastCounterResetTime) - sizeof(UA_DateTime), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ApplicationInstanceCertificate */ -#define ApplicationInstanceCertificate_members NULL - -/* MessageSecurityMode */ -#define MessageSecurityMode_members NULL - -/* UserTokenType */ -#define UserTokenType_members NULL - -/* UserTokenPolicy */ -static UA_DataTypeMember UserTokenPolicy_members[5] = { -{ - UA_TYPENAME("PolicyId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TokenType") /* .memberName */ - &UA_TYPES[UA_TYPES_USERTOKENTYPE], /* .memberType */ - offsetof(UA_UserTokenPolicy, tokenType) - offsetof(UA_UserTokenPolicy, policyId) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IssuedTokenType") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UserTokenPolicy, issuedTokenType) - offsetof(UA_UserTokenPolicy, tokenType) - sizeof(UA_UserTokenType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IssuerEndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UserTokenPolicy, issuerEndpointUrl) - offsetof(UA_UserTokenPolicy, issuedTokenType) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UserTokenPolicy, securityPolicyUri) - offsetof(UA_UserTokenPolicy, issuerEndpointUrl) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EndpointDescription */ -static UA_DataTypeMember EndpointDescription_members[8] = { -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Server") /* .memberName */ - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ - offsetof(UA_EndpointDescription, server) - offsetof(UA_EndpointDescription, endpointUrl) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerCertificate") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_EndpointDescription, serverCertificate) - offsetof(UA_EndpointDescription, server) - sizeof(UA_ApplicationDescription), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_EndpointDescription, securityMode) - offsetof(UA_EndpointDescription, serverCertificate) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_EndpointDescription, securityPolicyUri) - offsetof(UA_EndpointDescription, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserIdentityTokens") /* .memberName */ - &UA_TYPES[UA_TYPES_USERTOKENPOLICY], /* .memberType */ - offsetof(UA_EndpointDescription, userIdentityTokensSize) - offsetof(UA_EndpointDescription, securityPolicyUri) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_EndpointDescription, transportProfileUri) - offsetof(UA_EndpointDescription, userIdentityTokens) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityLevel") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_EndpointDescription, securityLevel) - offsetof(UA_EndpointDescription, transportProfileUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* GetEndpointsRequest */ -static UA_DataTypeMember GetEndpointsRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_GetEndpointsRequest, endpointUrl) - offsetof(UA_GetEndpointsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LocaleIds") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_GetEndpointsRequest, localeIdsSize) - offsetof(UA_GetEndpointsRequest, endpointUrl) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProfileUris") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_GetEndpointsRequest, profileUrisSize) - offsetof(UA_GetEndpointsRequest, localeIds) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* GetEndpointsResponse */ -static UA_DataTypeMember GetEndpointsResponse_members[2] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Endpoints") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_GetEndpointsResponse, endpointsSize) - offsetof(UA_GetEndpointsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisteredServer */ -static UA_DataTypeMember RegisteredServer_members[8] = { -{ - UA_TYPENAME("ServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProductUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_RegisteredServer, productUri) - offsetof(UA_RegisteredServer, serverUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerNames") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_RegisteredServer, serverNamesSize) - offsetof(UA_RegisteredServer, productUri) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerType") /* .memberName */ - &UA_TYPES[UA_TYPES_APPLICATIONTYPE], /* .memberType */ - offsetof(UA_RegisteredServer, serverType) - offsetof(UA_RegisteredServer, serverNames) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GatewayServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_RegisteredServer, gatewayServerUri) - offsetof(UA_RegisteredServer, serverType) - sizeof(UA_ApplicationType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryUrls") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_RegisteredServer, discoveryUrlsSize) - offsetof(UA_RegisteredServer, gatewayServerUri) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SemaphoreFilePath") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_RegisteredServer, semaphoreFilePath) - offsetof(UA_RegisteredServer, discoveryUrls) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsOnline") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_RegisteredServer, isOnline) - offsetof(UA_RegisteredServer, semaphoreFilePath) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisterServerRequest */ -static UA_DataTypeMember RegisterServerRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Server") /* .memberName */ - &UA_TYPES[UA_TYPES_REGISTEREDSERVER], /* .memberType */ - offsetof(UA_RegisterServerRequest, server) - offsetof(UA_RegisterServerRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisterServerResponse */ -static UA_DataTypeMember RegisterServerResponse_members[1] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* MdnsDiscoveryConfiguration */ -static UA_DataTypeMember MdnsDiscoveryConfiguration_members[2] = { -{ - UA_TYPENAME("MdnsServerName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerCapabilities") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_MdnsDiscoveryConfiguration, serverCapabilitiesSize) - offsetof(UA_MdnsDiscoveryConfiguration, mdnsServerName) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisterServer2Request */ -static UA_DataTypeMember RegisterServer2Request_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Server") /* .memberName */ - &UA_TYPES[UA_TYPES_REGISTEREDSERVER], /* .memberType */ - offsetof(UA_RegisterServer2Request, server) - offsetof(UA_RegisterServer2Request, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscoveryConfiguration") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_RegisterServer2Request, discoveryConfigurationSize) - offsetof(UA_RegisterServer2Request, server) - sizeof(UA_RegisteredServer), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisterServer2Response */ -static UA_DataTypeMember RegisterServer2Response_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConfigurationResults") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_RegisterServer2Response, configurationResultsSize) - offsetof(UA_RegisterServer2Response, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_RegisterServer2Response, diagnosticInfosSize) - offsetof(UA_RegisterServer2Response, configurationResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SecurityTokenRequestType */ -#define SecurityTokenRequestType_members NULL - -/* ChannelSecurityToken */ -static UA_DataTypeMember ChannelSecurityToken_members[4] = { -{ - UA_TYPENAME("ChannelId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TokenId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ChannelSecurityToken, tokenId) - offsetof(UA_ChannelSecurityToken, channelId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CreatedAt") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ChannelSecurityToken, createdAt) - offsetof(UA_ChannelSecurityToken, tokenId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedLifetime") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ChannelSecurityToken, revisedLifetime) - offsetof(UA_ChannelSecurityToken, createdAt) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* OpenSecureChannelRequest */ -static UA_DataTypeMember OpenSecureChannelRequest_members[6] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientProtocolVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_OpenSecureChannelRequest, clientProtocolVersion) - offsetof(UA_OpenSecureChannelRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestType") /* .memberName */ - &UA_TYPES[UA_TYPES_SECURITYTOKENREQUESTTYPE], /* .memberType */ - offsetof(UA_OpenSecureChannelRequest, requestType) - offsetof(UA_OpenSecureChannelRequest, clientProtocolVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_OpenSecureChannelRequest, securityMode) - offsetof(UA_OpenSecureChannelRequest, requestType) - sizeof(UA_SecurityTokenRequestType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientNonce") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_OpenSecureChannelRequest, clientNonce) - offsetof(UA_OpenSecureChannelRequest, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedLifetime") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_OpenSecureChannelRequest, requestedLifetime) - offsetof(UA_OpenSecureChannelRequest, clientNonce) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* OpenSecureChannelResponse */ -static UA_DataTypeMember OpenSecureChannelResponse_members[4] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerProtocolVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_OpenSecureChannelResponse, serverProtocolVersion) - offsetof(UA_OpenSecureChannelResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityToken") /* .memberName */ - &UA_TYPES[UA_TYPES_CHANNELSECURITYTOKEN], /* .memberType */ - offsetof(UA_OpenSecureChannelResponse, securityToken) - offsetof(UA_OpenSecureChannelResponse, serverProtocolVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerNonce") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_OpenSecureChannelResponse, serverNonce) - offsetof(UA_OpenSecureChannelResponse, securityToken) - sizeof(UA_ChannelSecurityToken), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CloseSecureChannelRequest */ -static UA_DataTypeMember CloseSecureChannelRequest_members[1] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CloseSecureChannelResponse */ -static UA_DataTypeMember CloseSecureChannelResponse_members[1] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SignedSoftwareCertificate */ -static UA_DataTypeMember SignedSoftwareCertificate_members[2] = { -{ - UA_TYPENAME("CertificateData") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Signature") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_SignedSoftwareCertificate, signature) - offsetof(UA_SignedSoftwareCertificate, certificateData) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SessionAuthenticationToken */ -#define SessionAuthenticationToken_members NULL - -/* SignatureData */ -static UA_DataTypeMember SignatureData_members[2] = { -{ - UA_TYPENAME("Algorithm") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Signature") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_SignatureData, signature) - offsetof(UA_SignatureData, algorithm) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CreateSessionRequest */ -static UA_DataTypeMember CreateSessionRequest_members[9] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientDescription") /* .memberName */ - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ - offsetof(UA_CreateSessionRequest, clientDescription) - offsetof(UA_CreateSessionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_CreateSessionRequest, serverUri) - offsetof(UA_CreateSessionRequest, clientDescription) - sizeof(UA_ApplicationDescription), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_CreateSessionRequest, endpointUrl) - offsetof(UA_CreateSessionRequest, serverUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SessionName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_CreateSessionRequest, sessionName) - offsetof(UA_CreateSessionRequest, endpointUrl) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientNonce") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_CreateSessionRequest, clientNonce) - offsetof(UA_CreateSessionRequest, sessionName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientCertificate") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_CreateSessionRequest, clientCertificate) - offsetof(UA_CreateSessionRequest, clientNonce) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedSessionTimeout") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_CreateSessionRequest, requestedSessionTimeout) - offsetof(UA_CreateSessionRequest, clientCertificate) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxResponseMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSessionRequest, maxResponseMessageSize) - offsetof(UA_CreateSessionRequest, requestedSessionTimeout) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CreateSessionResponse */ -static UA_DataTypeMember CreateSessionResponse_members[10] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_CreateSessionResponse, sessionId) - offsetof(UA_CreateSessionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuthenticationToken") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_CreateSessionResponse, authenticationToken) - offsetof(UA_CreateSessionResponse, sessionId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedSessionTimeout") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_CreateSessionResponse, revisedSessionTimeout) - offsetof(UA_CreateSessionResponse, authenticationToken) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerNonce") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_CreateSessionResponse, serverNonce) - offsetof(UA_CreateSessionResponse, revisedSessionTimeout) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerCertificate") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_CreateSessionResponse, serverCertificate) - offsetof(UA_CreateSessionResponse, serverNonce) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerEndpoints") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_CreateSessionResponse, serverEndpointsSize) - offsetof(UA_CreateSessionResponse, serverCertificate) - sizeof(UA_ByteString), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerSoftwareCertificates") /* .memberName */ - &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE], /* .memberType */ - offsetof(UA_CreateSessionResponse, serverSoftwareCertificatesSize) - offsetof(UA_CreateSessionResponse, serverEndpoints) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerSignature") /* .memberName */ - &UA_TYPES[UA_TYPES_SIGNATUREDATA], /* .memberType */ - offsetof(UA_CreateSessionResponse, serverSignature) - offsetof(UA_CreateSessionResponse, serverSoftwareCertificates) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxRequestMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSessionResponse, maxRequestMessageSize) - offsetof(UA_CreateSessionResponse, serverSignature) - sizeof(UA_SignatureData), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* UserIdentityToken */ -static UA_DataTypeMember UserIdentityToken_members[1] = { -{ - UA_TYPENAME("PolicyId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AnonymousIdentityToken */ -static UA_DataTypeMember AnonymousIdentityToken_members[1] = { -{ - UA_TYPENAME("PolicyId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* UserNameIdentityToken */ -static UA_DataTypeMember UserNameIdentityToken_members[4] = { -{ - UA_TYPENAME("PolicyId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UserNameIdentityToken, userName) - offsetof(UA_UserNameIdentityToken, policyId) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Password") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_UserNameIdentityToken, password) - offsetof(UA_UserNameIdentityToken, userName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EncryptionAlgorithm") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UserNameIdentityToken, encryptionAlgorithm) - offsetof(UA_UserNameIdentityToken, password) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* X509IdentityToken */ -static UA_DataTypeMember X509IdentityToken_members[2] = { -{ - UA_TYPENAME("PolicyId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CertificateData") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_X509IdentityToken, certificateData) - offsetof(UA_X509IdentityToken, policyId) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* IssuedIdentityToken */ -static UA_DataTypeMember IssuedIdentityToken_members[3] = { -{ - UA_TYPENAME("PolicyId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TokenData") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_IssuedIdentityToken, tokenData) - offsetof(UA_IssuedIdentityToken, policyId) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EncryptionAlgorithm") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_IssuedIdentityToken, encryptionAlgorithm) - offsetof(UA_IssuedIdentityToken, tokenData) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* RsaEncryptedSecret */ -#define RsaEncryptedSecret_members NULL - -/* EccEncryptedSecret */ -#define EccEncryptedSecret_members NULL - -/* ActivateSessionRequest */ -static UA_DataTypeMember ActivateSessionRequest_members[6] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientSignature") /* .memberName */ - &UA_TYPES[UA_TYPES_SIGNATUREDATA], /* .memberType */ - offsetof(UA_ActivateSessionRequest, clientSignature) - offsetof(UA_ActivateSessionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientSoftwareCertificates") /* .memberName */ - &UA_TYPES[UA_TYPES_SIGNEDSOFTWARECERTIFICATE], /* .memberType */ - offsetof(UA_ActivateSessionRequest, clientSoftwareCertificatesSize) - offsetof(UA_ActivateSessionRequest, clientSignature) - sizeof(UA_SignatureData), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LocaleIds") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ActivateSessionRequest, localeIdsSize) - offsetof(UA_ActivateSessionRequest, clientSoftwareCertificates) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserIdentityToken") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_ActivateSessionRequest, userIdentityToken) - offsetof(UA_ActivateSessionRequest, localeIds) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserTokenSignature") /* .memberName */ - &UA_TYPES[UA_TYPES_SIGNATUREDATA], /* .memberType */ - offsetof(UA_ActivateSessionRequest, userTokenSignature) - offsetof(UA_ActivateSessionRequest, userIdentityToken) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ActivateSessionResponse */ -static UA_DataTypeMember ActivateSessionResponse_members[4] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerNonce") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_ActivateSessionResponse, serverNonce) - offsetof(UA_ActivateSessionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_ActivateSessionResponse, resultsSize) - offsetof(UA_ActivateSessionResponse, serverNonce) - sizeof(UA_ByteString), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ActivateSessionResponse, diagnosticInfosSize) - offsetof(UA_ActivateSessionResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CloseSessionRequest */ -static UA_DataTypeMember CloseSessionRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteSubscriptions") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_CloseSessionRequest, deleteSubscriptions) - offsetof(UA_CloseSessionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CloseSessionResponse */ -static UA_DataTypeMember CloseSessionResponse_members[1] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CancelRequest */ -static UA_DataTypeMember CancelRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestHandle") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CancelRequest, requestHandle) - offsetof(UA_CancelRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CancelResponse */ -static UA_DataTypeMember CancelResponse_members[2] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CancelCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CancelResponse, cancelCount) - offsetof(UA_CancelResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* NodeAttributesMask */ -#define NodeAttributesMask_members NULL - -/* NodeAttributes */ -static UA_DataTypeMember NodeAttributes_members[5] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_NodeAttributes, displayName) - offsetof(UA_NodeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_NodeAttributes, description) - offsetof(UA_NodeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_NodeAttributes, writeMask) - offsetof(UA_NodeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_NodeAttributes, userWriteMask) - offsetof(UA_NodeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ObjectAttributes */ -static UA_DataTypeMember ObjectAttributes_members[6] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ObjectAttributes, displayName) - offsetof(UA_ObjectAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ObjectAttributes, description) - offsetof(UA_ObjectAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ObjectAttributes, writeMask) - offsetof(UA_ObjectAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ObjectAttributes, userWriteMask) - offsetof(UA_ObjectAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventNotifier") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_ObjectAttributes, eventNotifier) - offsetof(UA_ObjectAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* VariableAttributes */ -static UA_DataTypeMember VariableAttributes_members[13] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_VariableAttributes, displayName) - offsetof(UA_VariableAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_VariableAttributes, description) - offsetof(UA_VariableAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_VariableAttributes, writeMask) - offsetof(UA_VariableAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_VariableAttributes, userWriteMask) - offsetof(UA_VariableAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_VariableAttributes, value) - offsetof(UA_VariableAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_VariableAttributes, dataType) - offsetof(UA_VariableAttributes, value) - sizeof(UA_Variant), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ValueRank") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_VariableAttributes, valueRank) - offsetof(UA_VariableAttributes, dataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ArrayDimensions") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_VariableAttributes, arrayDimensionsSize) - offsetof(UA_VariableAttributes, valueRank) - sizeof(UA_Int32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AccessLevel") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_VariableAttributes, accessLevel) - offsetof(UA_VariableAttributes, arrayDimensions) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserAccessLevel") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_VariableAttributes, userAccessLevel) - offsetof(UA_VariableAttributes, accessLevel) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MinimumSamplingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_VariableAttributes, minimumSamplingInterval) - offsetof(UA_VariableAttributes, userAccessLevel) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Historizing") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_VariableAttributes, historizing) - offsetof(UA_VariableAttributes, minimumSamplingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* MethodAttributes */ -static UA_DataTypeMember MethodAttributes_members[7] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_MethodAttributes, displayName) - offsetof(UA_MethodAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_MethodAttributes, description) - offsetof(UA_MethodAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_MethodAttributes, writeMask) - offsetof(UA_MethodAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_MethodAttributes, userWriteMask) - offsetof(UA_MethodAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Executable") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_MethodAttributes, executable) - offsetof(UA_MethodAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserExecutable") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_MethodAttributes, userExecutable) - offsetof(UA_MethodAttributes, executable) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ObjectTypeAttributes */ -static UA_DataTypeMember ObjectTypeAttributes_members[6] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ObjectTypeAttributes, displayName) - offsetof(UA_ObjectTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ObjectTypeAttributes, description) - offsetof(UA_ObjectTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ObjectTypeAttributes, writeMask) - offsetof(UA_ObjectTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ObjectTypeAttributes, userWriteMask) - offsetof(UA_ObjectTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsAbstract") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ObjectTypeAttributes, isAbstract) - offsetof(UA_ObjectTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* VariableTypeAttributes */ -static UA_DataTypeMember VariableTypeAttributes_members[10] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_VariableTypeAttributes, displayName) - offsetof(UA_VariableTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_VariableTypeAttributes, description) - offsetof(UA_VariableTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_VariableTypeAttributes, writeMask) - offsetof(UA_VariableTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_VariableTypeAttributes, userWriteMask) - offsetof(UA_VariableTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_VariableTypeAttributes, value) - offsetof(UA_VariableTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_VariableTypeAttributes, dataType) - offsetof(UA_VariableTypeAttributes, value) - sizeof(UA_Variant), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ValueRank") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_VariableTypeAttributes, valueRank) - offsetof(UA_VariableTypeAttributes, dataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ArrayDimensions") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_VariableTypeAttributes, arrayDimensionsSize) - offsetof(UA_VariableTypeAttributes, valueRank) - sizeof(UA_Int32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsAbstract") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_VariableTypeAttributes, isAbstract) - offsetof(UA_VariableTypeAttributes, arrayDimensions) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReferenceTypeAttributes */ -static UA_DataTypeMember ReferenceTypeAttributes_members[8] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, displayName) - offsetof(UA_ReferenceTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, description) - offsetof(UA_ReferenceTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, writeMask) - offsetof(UA_ReferenceTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, userWriteMask) - offsetof(UA_ReferenceTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsAbstract") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, isAbstract) - offsetof(UA_ReferenceTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Symmetric") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, symmetric) - offsetof(UA_ReferenceTypeAttributes, isAbstract) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("InverseName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ReferenceTypeAttributes, inverseName) - offsetof(UA_ReferenceTypeAttributes, symmetric) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataTypeAttributes */ -static UA_DataTypeMember DataTypeAttributes_members[6] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_DataTypeAttributes, displayName) - offsetof(UA_DataTypeAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_DataTypeAttributes, description) - offsetof(UA_DataTypeAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DataTypeAttributes, writeMask) - offsetof(UA_DataTypeAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DataTypeAttributes, userWriteMask) - offsetof(UA_DataTypeAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsAbstract") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DataTypeAttributes, isAbstract) - offsetof(UA_DataTypeAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ViewAttributes */ -static UA_DataTypeMember ViewAttributes_members[7] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ViewAttributes, displayName) - offsetof(UA_ViewAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ViewAttributes, description) - offsetof(UA_ViewAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ViewAttributes, writeMask) - offsetof(UA_ViewAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ViewAttributes, userWriteMask) - offsetof(UA_ViewAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContainsNoLoops") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ViewAttributes, containsNoLoops) - offsetof(UA_ViewAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventNotifier") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_ViewAttributes, eventNotifier) - offsetof(UA_ViewAttributes, containsNoLoops) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* GenericAttributeValue */ -static UA_DataTypeMember GenericAttributeValue_members[2] = { -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_GenericAttributeValue, value) - offsetof(UA_GenericAttributeValue, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* GenericAttributes */ -static UA_DataTypeMember GenericAttributes_members[6] = { -{ - UA_TYPENAME("SpecifiedAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_GenericAttributes, displayName) - offsetof(UA_GenericAttributes, specifiedAttributes) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_GenericAttributes, description) - offsetof(UA_GenericAttributes, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_GenericAttributes, writeMask) - offsetof(UA_GenericAttributes, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserWriteMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_GenericAttributes, userWriteMask) - offsetof(UA_GenericAttributes, writeMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeValues") /* .memberName */ - &UA_TYPES[UA_TYPES_GENERICATTRIBUTEVALUE], /* .memberType */ - offsetof(UA_GenericAttributes, attributeValuesSize) - offsetof(UA_GenericAttributes, userWriteMask) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddNodesItem */ -static UA_DataTypeMember AddNodesItem_members[7] = { -{ - UA_TYPENAME("ParentNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_AddNodesItem, referenceTypeId) - offsetof(UA_AddNodesItem, parentNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedNewNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_AddNodesItem, requestedNewNodeId) - offsetof(UA_AddNodesItem, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowseName") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_AddNodesItem, browseName) - offsetof(UA_AddNodesItem, requestedNewNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodeClass") /* .memberName */ - &UA_TYPES[UA_TYPES_NODECLASS], /* .memberType */ - offsetof(UA_AddNodesItem, nodeClass) - offsetof(UA_AddNodesItem, browseName) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodeAttributes") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_AddNodesItem, nodeAttributes) - offsetof(UA_AddNodesItem, nodeClass) - sizeof(UA_NodeClass), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TypeDefinition") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_AddNodesItem, typeDefinition) - offsetof(UA_AddNodesItem, nodeAttributes) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddNodesResult */ -static UA_DataTypeMember AddNodesResult_members[2] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AddedNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_AddNodesResult, addedNodeId) - offsetof(UA_AddNodesResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddNodesRequest */ -static UA_DataTypeMember AddNodesRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToAdd") /* .memberName */ - &UA_TYPES[UA_TYPES_ADDNODESITEM], /* .memberType */ - offsetof(UA_AddNodesRequest, nodesToAddSize) - offsetof(UA_AddNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddNodesResponse */ -static UA_DataTypeMember AddNodesResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_ADDNODESRESULT], /* .memberType */ - offsetof(UA_AddNodesResponse, resultsSize) - offsetof(UA_AddNodesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_AddNodesResponse, diagnosticInfosSize) - offsetof(UA_AddNodesResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddReferencesItem */ -static UA_DataTypeMember AddReferencesItem_members[6] = { -{ - UA_TYPENAME("SourceNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_AddReferencesItem, referenceTypeId) - offsetof(UA_AddReferencesItem, sourceNodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsForward") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_AddReferencesItem, isForward) - offsetof(UA_AddReferencesItem, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_AddReferencesItem, targetServerUri) - offsetof(UA_AddReferencesItem, isForward) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_AddReferencesItem, targetNodeId) - offsetof(UA_AddReferencesItem, targetServerUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetNodeClass") /* .memberName */ - &UA_TYPES[UA_TYPES_NODECLASS], /* .memberType */ - offsetof(UA_AddReferencesItem, targetNodeClass) - offsetof(UA_AddReferencesItem, targetNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddReferencesRequest */ -static UA_DataTypeMember AddReferencesRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferencesToAdd") /* .memberName */ - &UA_TYPES[UA_TYPES_ADDREFERENCESITEM], /* .memberType */ - offsetof(UA_AddReferencesRequest, referencesToAddSize) - offsetof(UA_AddReferencesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* AddReferencesResponse */ -static UA_DataTypeMember AddReferencesResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_AddReferencesResponse, resultsSize) - offsetof(UA_AddReferencesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_AddReferencesResponse, diagnosticInfosSize) - offsetof(UA_AddReferencesResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteNodesItem */ -static UA_DataTypeMember DeleteNodesItem_members[2] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteTargetReferences") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DeleteNodesItem, deleteTargetReferences) - offsetof(UA_DeleteNodesItem, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteNodesRequest */ -static UA_DataTypeMember DeleteNodesRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToDelete") /* .memberName */ - &UA_TYPES[UA_TYPES_DELETENODESITEM], /* .memberType */ - offsetof(UA_DeleteNodesRequest, nodesToDeleteSize) - offsetof(UA_DeleteNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteNodesResponse */ -static UA_DataTypeMember DeleteNodesResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_DeleteNodesResponse, resultsSize) - offsetof(UA_DeleteNodesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_DeleteNodesResponse, diagnosticInfosSize) - offsetof(UA_DeleteNodesResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteReferencesItem */ -static UA_DataTypeMember DeleteReferencesItem_members[5] = { -{ - UA_TYPENAME("SourceNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_DeleteReferencesItem, referenceTypeId) - offsetof(UA_DeleteReferencesItem, sourceNodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsForward") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DeleteReferencesItem, isForward) - offsetof(UA_DeleteReferencesItem, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_DeleteReferencesItem, targetNodeId) - offsetof(UA_DeleteReferencesItem, isForward) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteBidirectional") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DeleteReferencesItem, deleteBidirectional) - offsetof(UA_DeleteReferencesItem, targetNodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteReferencesRequest */ -static UA_DataTypeMember DeleteReferencesRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferencesToDelete") /* .memberName */ - &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM], /* .memberType */ - offsetof(UA_DeleteReferencesRequest, referencesToDeleteSize) - offsetof(UA_DeleteReferencesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteReferencesResponse */ -static UA_DataTypeMember DeleteReferencesResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_DeleteReferencesResponse, resultsSize) - offsetof(UA_DeleteReferencesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_DeleteReferencesResponse, diagnosticInfosSize) - offsetof(UA_DeleteReferencesResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* AttributeWriteMask */ -#define AttributeWriteMask_members NULL - -/* BrowseDirection */ -#define BrowseDirection_members NULL - -/* ViewDescription */ -static UA_DataTypeMember ViewDescription_members[3] = { -{ - UA_TYPENAME("ViewId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Timestamp") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ViewDescription, timestamp) - offsetof(UA_ViewDescription, viewId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ViewVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ViewDescription, viewVersion) - offsetof(UA_ViewDescription, timestamp) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowseDescription */ -static UA_DataTypeMember BrowseDescription_members[6] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowseDirection") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSEDIRECTION], /* .memberType */ - offsetof(UA_BrowseDescription, browseDirection) - offsetof(UA_BrowseDescription, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_BrowseDescription, referenceTypeId) - offsetof(UA_BrowseDescription, browseDirection) - sizeof(UA_BrowseDirection), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IncludeSubtypes") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_BrowseDescription, includeSubtypes) - offsetof(UA_BrowseDescription, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodeClassMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_BrowseDescription, nodeClassMask) - offsetof(UA_BrowseDescription, includeSubtypes) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ResultMask") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_BrowseDescription, resultMask) - offsetof(UA_BrowseDescription, nodeClassMask) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowseResultMask */ -#define BrowseResultMask_members NULL - -/* ReferenceDescription */ -static UA_DataTypeMember ReferenceDescription_members[7] = { -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsForward") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReferenceDescription, isForward) - offsetof(UA_ReferenceDescription, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_ReferenceDescription, nodeId) - offsetof(UA_ReferenceDescription, isForward) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowseName") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_ReferenceDescription, browseName) - offsetof(UA_ReferenceDescription, nodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ReferenceDescription, displayName) - offsetof(UA_ReferenceDescription, browseName) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodeClass") /* .memberName */ - &UA_TYPES[UA_TYPES_NODECLASS], /* .memberType */ - offsetof(UA_ReferenceDescription, nodeClass) - offsetof(UA_ReferenceDescription, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TypeDefinition") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_ReferenceDescription, typeDefinition) - offsetof(UA_ReferenceDescription, nodeClass) - sizeof(UA_NodeClass), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ContinuationPoint */ -#define ContinuationPoint_members NULL - -/* BrowseResult */ -static UA_DataTypeMember BrowseResult_members[3] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_BrowseResult, continuationPoint) - offsetof(UA_BrowseResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("References") /* .memberName */ - &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION], /* .memberType */ - offsetof(UA_BrowseResult, referencesSize) - offsetof(UA_BrowseResult, continuationPoint) - sizeof(UA_ByteString), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowseRequest */ -static UA_DataTypeMember BrowseRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("View") /* .memberName */ - &UA_TYPES[UA_TYPES_VIEWDESCRIPTION], /* .memberType */ - offsetof(UA_BrowseRequest, view) - offsetof(UA_BrowseRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedMaxReferencesPerNode") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_BrowseRequest, requestedMaxReferencesPerNode) - offsetof(UA_BrowseRequest, view) - sizeof(UA_ViewDescription), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToBrowse") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION], /* .memberType */ - offsetof(UA_BrowseRequest, nodesToBrowseSize) - offsetof(UA_BrowseRequest, requestedMaxReferencesPerNode) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowseResponse */ -static UA_DataTypeMember BrowseResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSERESULT], /* .memberType */ - offsetof(UA_BrowseResponse, resultsSize) - offsetof(UA_BrowseResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_BrowseResponse, diagnosticInfosSize) - offsetof(UA_BrowseResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowseNextRequest */ -static UA_DataTypeMember BrowseNextRequest_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReleaseContinuationPoints") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_BrowseNextRequest, releaseContinuationPoints) - offsetof(UA_BrowseNextRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContinuationPoints") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_BrowseNextRequest, continuationPointsSize) - offsetof(UA_BrowseNextRequest, releaseContinuationPoints) - sizeof(UA_Boolean), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowseNextResponse */ -static UA_DataTypeMember BrowseNextResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSERESULT], /* .memberType */ - offsetof(UA_BrowseNextResponse, resultsSize) - offsetof(UA_BrowseNextResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_BrowseNextResponse, diagnosticInfosSize) - offsetof(UA_BrowseNextResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RelativePathElement */ -static UA_DataTypeMember RelativePathElement_members[4] = { -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsInverse") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_RelativePathElement, isInverse) - offsetof(UA_RelativePathElement, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IncludeSubtypes") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_RelativePathElement, includeSubtypes) - offsetof(UA_RelativePathElement, isInverse) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetName") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_RelativePathElement, targetName) - offsetof(UA_RelativePathElement, includeSubtypes) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* RelativePath */ -static UA_DataTypeMember RelativePath_members[1] = { -{ - UA_TYPENAME("Elements") /* .memberName */ - &UA_TYPES[UA_TYPES_RELATIVEPATHELEMENT], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowsePath */ -static UA_DataTypeMember BrowsePath_members[2] = { -{ - UA_TYPENAME("StartingNode") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RelativePath") /* .memberName */ - &UA_TYPES[UA_TYPES_RELATIVEPATH], /* .memberType */ - offsetof(UA_BrowsePath, relativePath) - offsetof(UA_BrowsePath, startingNode) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowsePathTarget */ -static UA_DataTypeMember BrowsePathTarget_members[2] = { -{ - UA_TYPENAME("TargetId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RemainingPathIndex") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_BrowsePathTarget, remainingPathIndex) - offsetof(UA_BrowsePathTarget, targetId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* BrowsePathResult */ -static UA_DataTypeMember BrowsePathResult_members[2] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Targets") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSEPATHTARGET], /* .memberType */ - offsetof(UA_BrowsePathResult, targetsSize) - offsetof(UA_BrowsePathResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* TranslateBrowsePathsToNodeIdsRequest */ -static UA_DataTypeMember TranslateBrowsePathsToNodeIdsRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowsePaths") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSEPATH], /* .memberType */ - offsetof(UA_TranslateBrowsePathsToNodeIdsRequest, browsePathsSize) - offsetof(UA_TranslateBrowsePathsToNodeIdsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* TranslateBrowsePathsToNodeIdsResponse */ -static UA_DataTypeMember TranslateBrowsePathsToNodeIdsResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_BROWSEPATHRESULT], /* .memberType */ - offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, resultsSize) - offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, diagnosticInfosSize) - offsetof(UA_TranslateBrowsePathsToNodeIdsResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisterNodesRequest */ -static UA_DataTypeMember RegisterNodesRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToRegister") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_RegisterNodesRequest, nodesToRegisterSize) - offsetof(UA_RegisterNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RegisterNodesResponse */ -static UA_DataTypeMember RegisterNodesResponse_members[2] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RegisteredNodeIds") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_RegisterNodesResponse, registeredNodeIdsSize) - offsetof(UA_RegisterNodesResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* UnregisterNodesRequest */ -static UA_DataTypeMember UnregisterNodesRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToUnregister") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_UnregisterNodesRequest, nodesToUnregisterSize) - offsetof(UA_UnregisterNodesRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* UnregisterNodesResponse */ -static UA_DataTypeMember UnregisterNodesResponse_members[1] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* Counter */ -#define Counter_members NULL - -/* OpaqueNumericRange */ -#define OpaqueNumericRange_members NULL - -/* EndpointConfiguration */ -static UA_DataTypeMember EndpointConfiguration_members[9] = { -{ - UA_TYPENAME("OperationTimeout") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UseBinaryEncoding") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_EndpointConfiguration, useBinaryEncoding) - offsetof(UA_EndpointConfiguration, operationTimeout) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxStringLength") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, maxStringLength) - offsetof(UA_EndpointConfiguration, useBinaryEncoding) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxByteStringLength") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, maxByteStringLength) - offsetof(UA_EndpointConfiguration, maxStringLength) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxArrayLength") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, maxArrayLength) - offsetof(UA_EndpointConfiguration, maxByteStringLength) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, maxMessageSize) - offsetof(UA_EndpointConfiguration, maxArrayLength) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxBufferSize") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, maxBufferSize) - offsetof(UA_EndpointConfiguration, maxMessageSize) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ChannelLifetime") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, channelLifetime) - offsetof(UA_EndpointConfiguration, maxBufferSize) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityTokenLifetime") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EndpointConfiguration, securityTokenLifetime) - offsetof(UA_EndpointConfiguration, channelLifetime) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* QueryDataDescription */ -static UA_DataTypeMember QueryDataDescription_members[3] = { -{ - UA_TYPENAME("RelativePath") /* .memberName */ - &UA_TYPES[UA_TYPES_RELATIVEPATH], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_QueryDataDescription, attributeId) - offsetof(UA_QueryDataDescription, relativePath) - sizeof(UA_RelativePath), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_QueryDataDescription, indexRange) - offsetof(UA_QueryDataDescription, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* NodeTypeDescription */ -static UA_DataTypeMember NodeTypeDescription_members[3] = { -{ - UA_TYPENAME("TypeDefinitionNode") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IncludeSubTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_NodeTypeDescription, includeSubTypes) - offsetof(UA_NodeTypeDescription, typeDefinitionNode) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_QUERYDATADESCRIPTION], /* .memberType */ - offsetof(UA_NodeTypeDescription, dataToReturnSize) - offsetof(UA_NodeTypeDescription, includeSubTypes) - sizeof(UA_Boolean), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* FilterOperator */ -#define FilterOperator_members NULL - -/* QueryDataSet */ -static UA_DataTypeMember QueryDataSet_members[3] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TypeDefinitionNode") /* .memberName */ - &UA_TYPES[UA_TYPES_EXPANDEDNODEID], /* .memberType */ - offsetof(UA_QueryDataSet, typeDefinitionNode) - offsetof(UA_QueryDataSet, nodeId) - sizeof(UA_ExpandedNodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Values") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_QueryDataSet, valuesSize) - offsetof(UA_QueryDataSet, typeDefinitionNode) - sizeof(UA_ExpandedNodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* NodeReference */ -static UA_DataTypeMember NodeReference_members[4] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferenceTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_NodeReference, referenceTypeId) - offsetof(UA_NodeReference, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsForward") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_NodeReference, isForward) - offsetof(UA_NodeReference, referenceTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReferencedNodeIds") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_NodeReference, referencedNodeIdsSize) - offsetof(UA_NodeReference, isForward) - sizeof(UA_Boolean), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ContentFilterElement */ -static UA_DataTypeMember ContentFilterElement_members[2] = { -{ - UA_TYPENAME("FilterOperator") /* .memberName */ - &UA_TYPES[UA_TYPES_FILTEROPERATOR], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("FilterOperands") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_ContentFilterElement, filterOperandsSize) - offsetof(UA_ContentFilterElement, filterOperator) - sizeof(UA_FilterOperator), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ContentFilter */ -static UA_DataTypeMember ContentFilter_members[1] = { -{ - UA_TYPENAME("Elements") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENT], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ElementOperand */ -static UA_DataTypeMember ElementOperand_members[1] = { -{ - UA_TYPENAME("Index") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* LiteralOperand */ -static UA_DataTypeMember LiteralOperand_members[1] = { -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AttributeOperand */ -static UA_DataTypeMember AttributeOperand_members[5] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Alias") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_AttributeOperand, alias) - offsetof(UA_AttributeOperand, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowsePath") /* .memberName */ - &UA_TYPES[UA_TYPES_RELATIVEPATH], /* .memberType */ - offsetof(UA_AttributeOperand, browsePath) - offsetof(UA_AttributeOperand, alias) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_AttributeOperand, attributeId) - offsetof(UA_AttributeOperand, browsePath) - sizeof(UA_RelativePath), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_AttributeOperand, indexRange) - offsetof(UA_AttributeOperand, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SimpleAttributeOperand */ -static UA_DataTypeMember SimpleAttributeOperand_members[4] = { -{ - UA_TYPENAME("TypeDefinitionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowsePath") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_SimpleAttributeOperand, browsePathSize) - offsetof(UA_SimpleAttributeOperand, typeDefinitionId) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SimpleAttributeOperand, attributeId) - offsetof(UA_SimpleAttributeOperand, browsePath) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SimpleAttributeOperand, indexRange) - offsetof(UA_SimpleAttributeOperand, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ContentFilterElementResult */ -static UA_DataTypeMember ContentFilterElementResult_members[3] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("OperandStatusCodes") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_ContentFilterElementResult, operandStatusCodesSize) - offsetof(UA_ContentFilterElementResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("OperandDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ContentFilterElementResult, operandDiagnosticInfosSize) - offsetof(UA_ContentFilterElementResult, operandStatusCodes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ContentFilterResult */ -static UA_DataTypeMember ContentFilterResult_members[2] = { -{ - UA_TYPENAME("ElementResults") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ElementDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ContentFilterResult, elementDiagnosticInfosSize) - offsetof(UA_ContentFilterResult, elementResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ParsingResult */ -static UA_DataTypeMember ParsingResult_members[3] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataStatusCodes") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_ParsingResult, dataStatusCodesSize) - offsetof(UA_ParsingResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ParsingResult, dataDiagnosticInfosSize) - offsetof(UA_ParsingResult, dataStatusCodes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* QueryFirstRequest */ -static UA_DataTypeMember QueryFirstRequest_members[6] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("View") /* .memberName */ - &UA_TYPES[UA_TYPES_VIEWDESCRIPTION], /* .memberType */ - offsetof(UA_QueryFirstRequest, view) - offsetof(UA_QueryFirstRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodeTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_NODETYPEDESCRIPTION], /* .memberType */ - offsetof(UA_QueryFirstRequest, nodeTypesSize) - offsetof(UA_QueryFirstRequest, view) - sizeof(UA_ViewDescription), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Filter") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTER], /* .memberType */ - offsetof(UA_QueryFirstRequest, filter) - offsetof(UA_QueryFirstRequest, nodeTypes) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxDataSetsToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_QueryFirstRequest, maxDataSetsToReturn) - offsetof(UA_QueryFirstRequest, filter) - sizeof(UA_ContentFilter), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxReferencesToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_QueryFirstRequest, maxReferencesToReturn) - offsetof(UA_QueryFirstRequest, maxDataSetsToReturn) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* QueryFirstResponse */ -static UA_DataTypeMember QueryFirstResponse_members[6] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QueryDataSets") /* .memberName */ - &UA_TYPES[UA_TYPES_QUERYDATASET], /* .memberType */ - offsetof(UA_QueryFirstResponse, queryDataSetsSize) - offsetof(UA_QueryFirstResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_QueryFirstResponse, continuationPoint) - offsetof(UA_QueryFirstResponse, queryDataSets) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ParsingResults") /* .memberName */ - &UA_TYPES[UA_TYPES_PARSINGRESULT], /* .memberType */ - offsetof(UA_QueryFirstResponse, parsingResultsSize) - offsetof(UA_QueryFirstResponse, continuationPoint) - sizeof(UA_ByteString), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_QueryFirstResponse, diagnosticInfosSize) - offsetof(UA_QueryFirstResponse, parsingResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("FilterResult") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT], /* .memberType */ - offsetof(UA_QueryFirstResponse, filterResult) - offsetof(UA_QueryFirstResponse, diagnosticInfos) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* QueryNextRequest */ -static UA_DataTypeMember QueryNextRequest_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReleaseContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_QueryNextRequest, releaseContinuationPoint) - offsetof(UA_QueryNextRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_QueryNextRequest, continuationPoint) - offsetof(UA_QueryNextRequest, releaseContinuationPoint) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* QueryNextResponse */ -static UA_DataTypeMember QueryNextResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QueryDataSets") /* .memberName */ - &UA_TYPES[UA_TYPES_QUERYDATASET], /* .memberType */ - offsetof(UA_QueryNextResponse, queryDataSetsSize) - offsetof(UA_QueryNextResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_QueryNextResponse, revisedContinuationPoint) - offsetof(UA_QueryNextResponse, queryDataSets) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TimestampsToReturn */ -#define TimestampsToReturn_members NULL - -/* ReadValueId */ -static UA_DataTypeMember ReadValueId_members[4] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ReadValueId, attributeId) - offsetof(UA_ReadValueId, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ReadValueId, indexRange) - offsetof(UA_ReadValueId, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataEncoding") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_ReadValueId, dataEncoding) - offsetof(UA_ReadValueId, indexRange) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadRequest */ -static UA_DataTypeMember ReadRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxAge") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ReadRequest, maxAge) - offsetof(UA_ReadRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TimestampsToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ - offsetof(UA_ReadRequest, timestampsToReturn) - offsetof(UA_ReadRequest, maxAge) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToRead") /* .memberName */ - &UA_TYPES[UA_TYPES_READVALUEID], /* .memberType */ - offsetof(UA_ReadRequest, nodesToReadSize) - offsetof(UA_ReadRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadResponse */ -static UA_DataTypeMember ReadResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - offsetof(UA_ReadResponse, resultsSize) - offsetof(UA_ReadResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ReadResponse, diagnosticInfosSize) - offsetof(UA_ReadResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryReadValueId */ -static UA_DataTypeMember HistoryReadValueId_members[4] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_HistoryReadValueId, indexRange) - offsetof(UA_HistoryReadValueId, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataEncoding") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_HistoryReadValueId, dataEncoding) - offsetof(UA_HistoryReadValueId, indexRange) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_HistoryReadValueId, continuationPoint) - offsetof(UA_HistoryReadValueId, dataEncoding) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryReadResult */ -static UA_DataTypeMember HistoryReadResult_members[3] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ContinuationPoint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_HistoryReadResult, continuationPoint) - offsetof(UA_HistoryReadResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HistoryData") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_HistoryReadResult, historyData) - offsetof(UA_HistoryReadResult, continuationPoint) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadRawModifiedDetails */ -static UA_DataTypeMember ReadRawModifiedDetails_members[5] = { -{ - UA_TYPENAME("IsReadModified") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ReadRawModifiedDetails, startTime) - offsetof(UA_ReadRawModifiedDetails, isReadModified) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ReadRawModifiedDetails, endTime) - offsetof(UA_ReadRawModifiedDetails, startTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NumValuesPerNode") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ReadRawModifiedDetails, numValuesPerNode) - offsetof(UA_ReadRawModifiedDetails, endTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReturnBounds") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReadRawModifiedDetails, returnBounds) - offsetof(UA_ReadRawModifiedDetails, numValuesPerNode) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadAtTimeDetails */ -static UA_DataTypeMember ReadAtTimeDetails_members[2] = { -{ - UA_TYPENAME("ReqTimes") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UseSimpleBounds") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReadAtTimeDetails, useSimpleBounds) - offsetof(UA_ReadAtTimeDetails, reqTimes) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadAnnotationDataDetails */ -static UA_DataTypeMember ReadAnnotationDataDetails_members[1] = { -{ - UA_TYPENAME("ReqTimes") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryData */ -static UA_DataTypeMember HistoryData_members[1] = { -{ - UA_TYPENAME("DataValues") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryReadRequest */ -static UA_DataTypeMember HistoryReadRequest_members[5] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HistoryReadDetails") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_HistoryReadRequest, historyReadDetails) - offsetof(UA_HistoryReadRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TimestampsToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ - offsetof(UA_HistoryReadRequest, timestampsToReturn) - offsetof(UA_HistoryReadRequest, historyReadDetails) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReleaseContinuationPoints") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_HistoryReadRequest, releaseContinuationPoints) - offsetof(UA_HistoryReadRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToRead") /* .memberName */ - &UA_TYPES[UA_TYPES_HISTORYREADVALUEID], /* .memberType */ - offsetof(UA_HistoryReadRequest, nodesToReadSize) - offsetof(UA_HistoryReadRequest, releaseContinuationPoints) - sizeof(UA_Boolean), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryReadResponse */ -static UA_DataTypeMember HistoryReadResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_HISTORYREADRESULT], /* .memberType */ - offsetof(UA_HistoryReadResponse, resultsSize) - offsetof(UA_HistoryReadResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_HistoryReadResponse, diagnosticInfosSize) - offsetof(UA_HistoryReadResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* WriteValue */ -static UA_DataTypeMember WriteValue_members[4] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_WriteValue, attributeId) - offsetof(UA_WriteValue, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_WriteValue, indexRange) - offsetof(UA_WriteValue, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - offsetof(UA_WriteValue, value) - offsetof(UA_WriteValue, indexRange) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* WriteRequest */ -static UA_DataTypeMember WriteRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NodesToWrite") /* .memberName */ - &UA_TYPES[UA_TYPES_WRITEVALUE], /* .memberType */ - offsetof(UA_WriteRequest, nodesToWriteSize) - offsetof(UA_WriteRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* WriteResponse */ -static UA_DataTypeMember WriteResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_WriteResponse, resultsSize) - offsetof(UA_WriteResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_WriteResponse, diagnosticInfosSize) - offsetof(UA_WriteResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryUpdateDetails */ -static UA_DataTypeMember HistoryUpdateDetails_members[1] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryUpdateType */ -#define HistoryUpdateType_members NULL - -/* PerformUpdateType */ -#define PerformUpdateType_members NULL - -/* UpdateDataDetails */ -static UA_DataTypeMember UpdateDataDetails_members[3] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PerformInsertReplace") /* .memberName */ - &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE], /* .memberType */ - offsetof(UA_UpdateDataDetails, performInsertReplace) - offsetof(UA_UpdateDataDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UpdateValues") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - offsetof(UA_UpdateDataDetails, updateValuesSize) - offsetof(UA_UpdateDataDetails, performInsertReplace) - sizeof(UA_PerformUpdateType), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* UpdateStructureDataDetails */ -static UA_DataTypeMember UpdateStructureDataDetails_members[3] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PerformInsertReplace") /* .memberName */ - &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE], /* .memberType */ - offsetof(UA_UpdateStructureDataDetails, performInsertReplace) - offsetof(UA_UpdateStructureDataDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UpdateValues") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - offsetof(UA_UpdateStructureDataDetails, updateValuesSize) - offsetof(UA_UpdateStructureDataDetails, performInsertReplace) - sizeof(UA_PerformUpdateType), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteRawModifiedDetails */ -static UA_DataTypeMember DeleteRawModifiedDetails_members[4] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("IsDeleteModified") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DeleteRawModifiedDetails, isDeleteModified) - offsetof(UA_DeleteRawModifiedDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_DeleteRawModifiedDetails, startTime) - offsetof(UA_DeleteRawModifiedDetails, isDeleteModified) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_DeleteRawModifiedDetails, endTime) - offsetof(UA_DeleteRawModifiedDetails, startTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteAtTimeDetails */ -static UA_DataTypeMember DeleteAtTimeDetails_members[2] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReqTimes") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_DeleteAtTimeDetails, reqTimesSize) - offsetof(UA_DeleteAtTimeDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteEventDetails */ -static UA_DataTypeMember DeleteEventDetails_members[2] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventIds") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_DeleteEventDetails, eventIdsSize) - offsetof(UA_DeleteEventDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryUpdateResult */ -static UA_DataTypeMember HistoryUpdateResult_members[3] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("OperationResults") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_HistoryUpdateResult, operationResultsSize) - offsetof(UA_HistoryUpdateResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_HistoryUpdateResult, diagnosticInfosSize) - offsetof(UA_HistoryUpdateResult, operationResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryUpdateRequest */ -static UA_DataTypeMember HistoryUpdateRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HistoryUpdateDetails") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_HistoryUpdateRequest, historyUpdateDetailsSize) - offsetof(UA_HistoryUpdateRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryUpdateResponse */ -static UA_DataTypeMember HistoryUpdateResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT], /* .memberType */ - offsetof(UA_HistoryUpdateResponse, resultsSize) - offsetof(UA_HistoryUpdateResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_HistoryUpdateResponse, diagnosticInfosSize) - offsetof(UA_HistoryUpdateResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CallMethodRequest */ -static UA_DataTypeMember CallMethodRequest_members[3] = { -{ - UA_TYPENAME("ObjectId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MethodId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_CallMethodRequest, methodId) - offsetof(UA_CallMethodRequest, objectId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("InputArguments") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_CallMethodRequest, inputArgumentsSize) - offsetof(UA_CallMethodRequest, methodId) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CallMethodResult */ -static UA_DataTypeMember CallMethodResult_members[4] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("InputArgumentResults") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_CallMethodResult, inputArgumentResultsSize) - offsetof(UA_CallMethodResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("InputArgumentDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_CallMethodResult, inputArgumentDiagnosticInfosSize) - offsetof(UA_CallMethodResult, inputArgumentResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("OutputArguments") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_CallMethodResult, outputArgumentsSize) - offsetof(UA_CallMethodResult, inputArgumentDiagnosticInfos) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CallRequest */ -static UA_DataTypeMember CallRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MethodsToCall") /* .memberName */ - &UA_TYPES[UA_TYPES_CALLMETHODREQUEST], /* .memberType */ - offsetof(UA_CallRequest, methodsToCallSize) - offsetof(UA_CallRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CallResponse */ -static UA_DataTypeMember CallResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_CALLMETHODRESULT], /* .memberType */ - offsetof(UA_CallResponse, resultsSize) - offsetof(UA_CallResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_CallResponse, diagnosticInfosSize) - offsetof(UA_CallResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoringMode */ -#define MonitoringMode_members NULL - -/* DataChangeTrigger */ -#define DataChangeTrigger_members NULL - -/* DeadbandType */ -#define DeadbandType_members NULL - -/* DataChangeFilter */ -static UA_DataTypeMember DataChangeFilter_members[3] = { -{ - UA_TYPENAME("Trigger") /* .memberName */ - &UA_TYPES[UA_TYPES_DATACHANGETRIGGER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeadbandType") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DataChangeFilter, deadbandType) - offsetof(UA_DataChangeFilter, trigger) - sizeof(UA_DataChangeTrigger), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeadbandValue") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_DataChangeFilter, deadbandValue) - offsetof(UA_DataChangeFilter, deadbandType) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EventFilter */ -static UA_DataTypeMember EventFilter_members[2] = { -{ - UA_TYPENAME("SelectClauses") /* .memberName */ - &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WhereClause") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTER], /* .memberType */ - offsetof(UA_EventFilter, whereClause) - offsetof(UA_EventFilter, selectClauses) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AggregateConfiguration */ -static UA_DataTypeMember AggregateConfiguration_members[5] = { -{ - UA_TYPENAME("UseServerCapabilitiesDefaults") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TreatUncertainAsBad") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_AggregateConfiguration, treatUncertainAsBad) - offsetof(UA_AggregateConfiguration, useServerCapabilitiesDefaults) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PercentDataBad") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_AggregateConfiguration, percentDataBad) - offsetof(UA_AggregateConfiguration, treatUncertainAsBad) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PercentDataGood") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_AggregateConfiguration, percentDataGood) - offsetof(UA_AggregateConfiguration, percentDataBad) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UseSlopedExtrapolation") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_AggregateConfiguration, useSlopedExtrapolation) - offsetof(UA_AggregateConfiguration, percentDataGood) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AggregateFilter */ -static UA_DataTypeMember AggregateFilter_members[4] = { -{ - UA_TYPENAME("StartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AggregateType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_AggregateFilter, aggregateType) - offsetof(UA_AggregateFilter, startTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProcessingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_AggregateFilter, processingInterval) - offsetof(UA_AggregateFilter, aggregateType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AggregateConfiguration") /* .memberName */ - &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION], /* .memberType */ - offsetof(UA_AggregateFilter, aggregateConfiguration) - offsetof(UA_AggregateFilter, processingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EventFilterResult */ -static UA_DataTypeMember EventFilterResult_members[3] = { -{ - UA_TYPENAME("SelectClauseResults") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SelectClauseDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_EventFilterResult, selectClauseDiagnosticInfosSize) - offsetof(UA_EventFilterResult, selectClauseResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WhereClauseResult") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTERRESULT], /* .memberType */ - offsetof(UA_EventFilterResult, whereClauseResult) - offsetof(UA_EventFilterResult, selectClauseDiagnosticInfos) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AggregateFilterResult */ -static UA_DataTypeMember AggregateFilterResult_members[3] = { -{ - UA_TYPENAME("RevisedStartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedProcessingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_AggregateFilterResult, revisedProcessingInterval) - offsetof(UA_AggregateFilterResult, revisedStartTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedAggregateConfiguration") /* .memberName */ - &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION], /* .memberType */ - offsetof(UA_AggregateFilterResult, revisedAggregateConfiguration) - offsetof(UA_AggregateFilterResult, revisedProcessingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoringParameters */ -static UA_DataTypeMember MonitoringParameters_members[5] = { -{ - UA_TYPENAME("ClientHandle") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SamplingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_MonitoringParameters, samplingInterval) - offsetof(UA_MonitoringParameters, clientHandle) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Filter") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_MonitoringParameters, filter) - offsetof(UA_MonitoringParameters, samplingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QueueSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_MonitoringParameters, queueSize) - offsetof(UA_MonitoringParameters, filter) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscardOldest") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_MonitoringParameters, discardOldest) - offsetof(UA_MonitoringParameters, queueSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoredItemCreateRequest */ -static UA_DataTypeMember MonitoredItemCreateRequest_members[3] = { -{ - UA_TYPENAME("ItemToMonitor") /* .memberName */ - &UA_TYPES[UA_TYPES_READVALUEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoringMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITORINGMODE], /* .memberType */ - offsetof(UA_MonitoredItemCreateRequest, monitoringMode) - offsetof(UA_MonitoredItemCreateRequest, itemToMonitor) - sizeof(UA_ReadValueId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedParameters") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS], /* .memberType */ - offsetof(UA_MonitoredItemCreateRequest, requestedParameters) - offsetof(UA_MonitoredItemCreateRequest, monitoringMode) - sizeof(UA_MonitoringMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoredItemCreateResult */ -static UA_DataTypeMember MonitoredItemCreateResult_members[5] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoredItemId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_MonitoredItemCreateResult, monitoredItemId) - offsetof(UA_MonitoredItemCreateResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedSamplingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_MonitoredItemCreateResult, revisedSamplingInterval) - offsetof(UA_MonitoredItemCreateResult, monitoredItemId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedQueueSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_MonitoredItemCreateResult, revisedQueueSize) - offsetof(UA_MonitoredItemCreateResult, revisedSamplingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("FilterResult") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_MonitoredItemCreateResult, filterResult) - offsetof(UA_MonitoredItemCreateResult, revisedQueueSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CreateMonitoredItemsRequest */ -static UA_DataTypeMember CreateMonitoredItemsRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateMonitoredItemsRequest, subscriptionId) - offsetof(UA_CreateMonitoredItemsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TimestampsToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ - offsetof(UA_CreateMonitoredItemsRequest, timestampsToReturn) - offsetof(UA_CreateMonitoredItemsRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ItemsToCreate") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST], /* .memberType */ - offsetof(UA_CreateMonitoredItemsRequest, itemsToCreateSize) - offsetof(UA_CreateMonitoredItemsRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CreateMonitoredItemsResponse */ -static UA_DataTypeMember CreateMonitoredItemsResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT], /* .memberType */ - offsetof(UA_CreateMonitoredItemsResponse, resultsSize) - offsetof(UA_CreateMonitoredItemsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_CreateMonitoredItemsResponse, diagnosticInfosSize) - offsetof(UA_CreateMonitoredItemsResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoredItemModifyRequest */ -static UA_DataTypeMember MonitoredItemModifyRequest_members[2] = { -{ - UA_TYPENAME("MonitoredItemId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedParameters") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITORINGPARAMETERS], /* .memberType */ - offsetof(UA_MonitoredItemModifyRequest, requestedParameters) - offsetof(UA_MonitoredItemModifyRequest, monitoredItemId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoredItemModifyResult */ -static UA_DataTypeMember MonitoredItemModifyResult_members[4] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedSamplingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_MonitoredItemModifyResult, revisedSamplingInterval) - offsetof(UA_MonitoredItemModifyResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedQueueSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_MonitoredItemModifyResult, revisedQueueSize) - offsetof(UA_MonitoredItemModifyResult, revisedSamplingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("FilterResult") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_MonitoredItemModifyResult, filterResult) - offsetof(UA_MonitoredItemModifyResult, revisedQueueSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ModifyMonitoredItemsRequest */ -static UA_DataTypeMember ModifyMonitoredItemsRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifyMonitoredItemsRequest, subscriptionId) - offsetof(UA_ModifyMonitoredItemsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TimestampsToReturn") /* .memberName */ - &UA_TYPES[UA_TYPES_TIMESTAMPSTORETURN], /* .memberType */ - offsetof(UA_ModifyMonitoredItemsRequest, timestampsToReturn) - offsetof(UA_ModifyMonitoredItemsRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ItemsToModify") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST], /* .memberType */ - offsetof(UA_ModifyMonitoredItemsRequest, itemsToModifySize) - offsetof(UA_ModifyMonitoredItemsRequest, timestampsToReturn) - sizeof(UA_TimestampsToReturn), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ModifyMonitoredItemsResponse */ -static UA_DataTypeMember ModifyMonitoredItemsResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT], /* .memberType */ - offsetof(UA_ModifyMonitoredItemsResponse, resultsSize) - offsetof(UA_ModifyMonitoredItemsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_ModifyMonitoredItemsResponse, diagnosticInfosSize) - offsetof(UA_ModifyMonitoredItemsResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SetMonitoringModeRequest */ -static UA_DataTypeMember SetMonitoringModeRequest_members[4] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetMonitoringModeRequest, subscriptionId) - offsetof(UA_SetMonitoringModeRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoringMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITORINGMODE], /* .memberType */ - offsetof(UA_SetMonitoringModeRequest, monitoringMode) - offsetof(UA_SetMonitoringModeRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoredItemIds") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetMonitoringModeRequest, monitoredItemIdsSize) - offsetof(UA_SetMonitoringModeRequest, monitoringMode) - sizeof(UA_MonitoringMode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SetMonitoringModeResponse */ -static UA_DataTypeMember SetMonitoringModeResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_SetMonitoringModeResponse, resultsSize) - offsetof(UA_SetMonitoringModeResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_SetMonitoringModeResponse, diagnosticInfosSize) - offsetof(UA_SetMonitoringModeResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SetTriggeringRequest */ -static UA_DataTypeMember SetTriggeringRequest_members[5] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetTriggeringRequest, subscriptionId) - offsetof(UA_SetTriggeringRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TriggeringItemId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetTriggeringRequest, triggeringItemId) - offsetof(UA_SetTriggeringRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LinksToAdd") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetTriggeringRequest, linksToAddSize) - offsetof(UA_SetTriggeringRequest, triggeringItemId) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LinksToRemove") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetTriggeringRequest, linksToRemoveSize) - offsetof(UA_SetTriggeringRequest, linksToAdd) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SetTriggeringResponse */ -static UA_DataTypeMember SetTriggeringResponse_members[5] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AddResults") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_SetTriggeringResponse, addResultsSize) - offsetof(UA_SetTriggeringResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AddDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_SetTriggeringResponse, addDiagnosticInfosSize) - offsetof(UA_SetTriggeringResponse, addResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RemoveResults") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_SetTriggeringResponse, removeResultsSize) - offsetof(UA_SetTriggeringResponse, addDiagnosticInfos) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RemoveDiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_SetTriggeringResponse, removeDiagnosticInfosSize) - offsetof(UA_SetTriggeringResponse, removeResults) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteMonitoredItemsRequest */ -static UA_DataTypeMember DeleteMonitoredItemsRequest_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DeleteMonitoredItemsRequest, subscriptionId) - offsetof(UA_DeleteMonitoredItemsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoredItemIds") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DeleteMonitoredItemsRequest, monitoredItemIdsSize) - offsetof(UA_DeleteMonitoredItemsRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteMonitoredItemsResponse */ -static UA_DataTypeMember DeleteMonitoredItemsResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_DeleteMonitoredItemsResponse, resultsSize) - offsetof(UA_DeleteMonitoredItemsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_DeleteMonitoredItemsResponse, diagnosticInfosSize) - offsetof(UA_DeleteMonitoredItemsResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* CreateSubscriptionRequest */ -static UA_DataTypeMember CreateSubscriptionRequest_members[7] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedPublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_CreateSubscriptionRequest, requestedPublishingInterval) - offsetof(UA_CreateSubscriptionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedLifetimeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSubscriptionRequest, requestedLifetimeCount) - offsetof(UA_CreateSubscriptionRequest, requestedPublishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedMaxKeepAliveCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSubscriptionRequest, requestedMaxKeepAliveCount) - offsetof(UA_CreateSubscriptionRequest, requestedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxNotificationsPerPublish") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSubscriptionRequest, maxNotificationsPerPublish) - offsetof(UA_CreateSubscriptionRequest, requestedMaxKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingEnabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_CreateSubscriptionRequest, publishingEnabled) - offsetof(UA_CreateSubscriptionRequest, maxNotificationsPerPublish) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Priority") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_CreateSubscriptionRequest, priority) - offsetof(UA_CreateSubscriptionRequest, publishingEnabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* CreateSubscriptionResponse */ -static UA_DataTypeMember CreateSubscriptionResponse_members[5] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSubscriptionResponse, subscriptionId) - offsetof(UA_CreateSubscriptionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedPublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_CreateSubscriptionResponse, revisedPublishingInterval) - offsetof(UA_CreateSubscriptionResponse, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedLifetimeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSubscriptionResponse, revisedLifetimeCount) - offsetof(UA_CreateSubscriptionResponse, revisedPublishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedMaxKeepAliveCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_CreateSubscriptionResponse, revisedMaxKeepAliveCount) - offsetof(UA_CreateSubscriptionResponse, revisedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ModifySubscriptionRequest */ -static UA_DataTypeMember ModifySubscriptionRequest_members[7] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifySubscriptionRequest, subscriptionId) - offsetof(UA_ModifySubscriptionRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedPublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ModifySubscriptionRequest, requestedPublishingInterval) - offsetof(UA_ModifySubscriptionRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedLifetimeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifySubscriptionRequest, requestedLifetimeCount) - offsetof(UA_ModifySubscriptionRequest, requestedPublishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedMaxKeepAliveCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifySubscriptionRequest, requestedMaxKeepAliveCount) - offsetof(UA_ModifySubscriptionRequest, requestedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxNotificationsPerPublish") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifySubscriptionRequest, maxNotificationsPerPublish) - offsetof(UA_ModifySubscriptionRequest, requestedMaxKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Priority") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_ModifySubscriptionRequest, priority) - offsetof(UA_ModifySubscriptionRequest, maxNotificationsPerPublish) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ModifySubscriptionResponse */ -static UA_DataTypeMember ModifySubscriptionResponse_members[4] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedPublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ModifySubscriptionResponse, revisedPublishingInterval) - offsetof(UA_ModifySubscriptionResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedLifetimeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifySubscriptionResponse, revisedLifetimeCount) - offsetof(UA_ModifySubscriptionResponse, revisedPublishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RevisedMaxKeepAliveCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ModifySubscriptionResponse, revisedMaxKeepAliveCount) - offsetof(UA_ModifySubscriptionResponse, revisedLifetimeCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SetPublishingModeRequest */ -static UA_DataTypeMember SetPublishingModeRequest_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingEnabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_SetPublishingModeRequest, publishingEnabled) - offsetof(UA_SetPublishingModeRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionIds") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SetPublishingModeRequest, subscriptionIdsSize) - offsetof(UA_SetPublishingModeRequest, publishingEnabled) - sizeof(UA_Boolean), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SetPublishingModeResponse */ -static UA_DataTypeMember SetPublishingModeResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_SetPublishingModeResponse, resultsSize) - offsetof(UA_SetPublishingModeResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_SetPublishingModeResponse, diagnosticInfosSize) - offsetof(UA_SetPublishingModeResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* NotificationMessage */ -static UA_DataTypeMember NotificationMessage_members[3] = { -{ - UA_TYPENAME("SequenceNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_NotificationMessage, publishTime) - offsetof(UA_NotificationMessage, sequenceNumber) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NotificationData") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_NotificationMessage, notificationDataSize) - offsetof(UA_NotificationMessage, publishTime) - sizeof(UA_DateTime), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* MonitoredItemNotification */ -static UA_DataTypeMember MonitoredItemNotification_members[2] = { -{ - UA_TYPENAME("ClientHandle") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - offsetof(UA_MonitoredItemNotification, value) - offsetof(UA_MonitoredItemNotification, clientHandle) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EventFieldList */ -static UA_DataTypeMember EventFieldList_members[2] = { -{ - UA_TYPENAME("ClientHandle") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventFields") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_EventFieldList, eventFieldsSize) - offsetof(UA_EventFieldList, clientHandle) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryEventFieldList */ -static UA_DataTypeMember HistoryEventFieldList_members[1] = { -{ - UA_TYPENAME("EventFields") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* StatusChangeNotification */ -static UA_DataTypeMember StatusChangeNotification_members[2] = { -{ - UA_TYPENAME("Status") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfo") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_StatusChangeNotification, diagnosticInfo) - offsetof(UA_StatusChangeNotification, status) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SubscriptionAcknowledgement */ -static UA_DataTypeMember SubscriptionAcknowledgement_members[2] = { -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SequenceNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionAcknowledgement, sequenceNumber) - offsetof(UA_SubscriptionAcknowledgement, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishRequest */ -static UA_DataTypeMember PublishRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionAcknowledgements") /* .memberName */ - &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT], /* .memberType */ - offsetof(UA_PublishRequest, subscriptionAcknowledgementsSize) - offsetof(UA_PublishRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishResponse */ -static UA_DataTypeMember PublishResponse_members[7] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PublishResponse, subscriptionId) - offsetof(UA_PublishResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AvailableSequenceNumbers") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PublishResponse, availableSequenceNumbersSize) - offsetof(UA_PublishResponse, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MoreNotifications") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_PublishResponse, moreNotifications) - offsetof(UA_PublishResponse, availableSequenceNumbers) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NotificationMessage") /* .memberName */ - &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE], /* .memberType */ - offsetof(UA_PublishResponse, notificationMessage) - offsetof(UA_PublishResponse, moreNotifications) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_PublishResponse, resultsSize) - offsetof(UA_PublishResponse, notificationMessage) - sizeof(UA_NotificationMessage), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_PublishResponse, diagnosticInfosSize) - offsetof(UA_PublishResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* RepublishRequest */ -static UA_DataTypeMember RepublishRequest_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_RepublishRequest, subscriptionId) - offsetof(UA_RepublishRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RetransmitSequenceNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_RepublishRequest, retransmitSequenceNumber) - offsetof(UA_RepublishRequest, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* RepublishResponse */ -static UA_DataTypeMember RepublishResponse_members[2] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NotificationMessage") /* .memberName */ - &UA_TYPES[UA_TYPES_NOTIFICATIONMESSAGE], /* .memberType */ - offsetof(UA_RepublishResponse, notificationMessage) - offsetof(UA_RepublishResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TransferResult */ -static UA_DataTypeMember TransferResult_members[2] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AvailableSequenceNumbers") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TransferResult, availableSequenceNumbersSize) - offsetof(UA_TransferResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* TransferSubscriptionsRequest */ -static UA_DataTypeMember TransferSubscriptionsRequest_members[3] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionIds") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TransferSubscriptionsRequest, subscriptionIdsSize) - offsetof(UA_TransferSubscriptionsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SendInitialValues") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_TransferSubscriptionsRequest, sendInitialValues) - offsetof(UA_TransferSubscriptionsRequest, subscriptionIds) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TransferSubscriptionsResponse */ -static UA_DataTypeMember TransferSubscriptionsResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_TRANSFERRESULT], /* .memberType */ - offsetof(UA_TransferSubscriptionsResponse, resultsSize) - offsetof(UA_TransferSubscriptionsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_TransferSubscriptionsResponse, diagnosticInfosSize) - offsetof(UA_TransferSubscriptionsResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteSubscriptionsRequest */ -static UA_DataTypeMember DeleteSubscriptionsRequest_members[2] = { -{ - UA_TYPENAME("RequestHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_REQUESTHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionIds") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DeleteSubscriptionsRequest, subscriptionIdsSize) - offsetof(UA_DeleteSubscriptionsRequest, requestHeader) - sizeof(UA_RequestHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DeleteSubscriptionsResponse */ -static UA_DataTypeMember DeleteSubscriptionsResponse_members[3] = { -{ - UA_TYPENAME("ResponseHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_RESPONSEHEADER], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Results") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_DeleteSubscriptionsResponse, resultsSize) - offsetof(UA_DeleteSubscriptionsResponse, responseHeader) - sizeof(UA_ResponseHeader), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_DeleteSubscriptionsResponse, diagnosticInfosSize) - offsetof(UA_DeleteSubscriptionsResponse, results) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* BuildInfo */ -static UA_DataTypeMember BuildInfo_members[6] = { -{ - UA_TYPENAME("ProductUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ManufacturerName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BuildInfo, manufacturerName) - offsetof(UA_BuildInfo, productUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProductName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BuildInfo, productName) - offsetof(UA_BuildInfo, manufacturerName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SoftwareVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BuildInfo, softwareVersion) - offsetof(UA_BuildInfo, productName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BuildNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_BuildInfo, buildNumber) - offsetof(UA_BuildInfo, softwareVersion) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BuildDate") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_BuildInfo, buildDate) - offsetof(UA_BuildInfo, buildNumber) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* RedundancySupport */ -#define RedundancySupport_members NULL - -/* ServerState */ -#define ServerState_members NULL - -/* RedundantServerDataType */ -static UA_DataTypeMember RedundantServerDataType_members[3] = { -{ - UA_TYPENAME("ServerId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServiceLevel") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_RedundantServerDataType, serviceLevel) - offsetof(UA_RedundantServerDataType, serverId) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerState") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVERSTATE], /* .memberType */ - offsetof(UA_RedundantServerDataType, serverState) - offsetof(UA_RedundantServerDataType, serviceLevel) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EndpointUrlListDataType */ -static UA_DataTypeMember EndpointUrlListDataType_members[1] = { -{ - UA_TYPENAME("EndpointUrlList") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* NetworkGroupDataType */ -static UA_DataTypeMember NetworkGroupDataType_members[2] = { -{ - UA_TYPENAME("ServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NetworkPaths") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTURLLISTDATATYPE], /* .memberType */ - offsetof(UA_NetworkGroupDataType, networkPathsSize) - offsetof(UA_NetworkGroupDataType, serverUri) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SamplingIntervalDiagnosticsDataType */ -static UA_DataTypeMember SamplingIntervalDiagnosticsDataType_members[4] = { -{ - UA_TYPENAME("SamplingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoredItemCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SamplingIntervalDiagnosticsDataType, monitoredItemCount) - offsetof(UA_SamplingIntervalDiagnosticsDataType, samplingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxMonitoredItemCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SamplingIntervalDiagnosticsDataType, maxMonitoredItemCount) - offsetof(UA_SamplingIntervalDiagnosticsDataType, monitoredItemCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisabledMonitoredItemCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SamplingIntervalDiagnosticsDataType, disabledMonitoredItemCount) - offsetof(UA_SamplingIntervalDiagnosticsDataType, maxMonitoredItemCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ServerDiagnosticsSummaryDataType */ -static UA_DataTypeMember ServerDiagnosticsSummaryDataType_members[12] = { -{ - UA_TYPENAME("ServerViewCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentSessionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, currentSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, serverViewCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CumulatedSessionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, currentSessionCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityRejectedSessionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSessionCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RejectedSessionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, rejectedSessionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedSessionCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SessionTimeoutCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, sessionTimeoutCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, rejectedSessionCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SessionAbortCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, sessionAbortCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, sessionTimeoutCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentSubscriptionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, currentSubscriptionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, sessionAbortCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CumulatedSubscriptionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSubscriptionCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, currentSubscriptionCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingIntervalCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, publishingIntervalCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, cumulatedSubscriptionCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityRejectedRequestsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedRequestsCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, publishingIntervalCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RejectedRequestsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerDiagnosticsSummaryDataType, rejectedRequestsCount) - offsetof(UA_ServerDiagnosticsSummaryDataType, securityRejectedRequestsCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ServerStatusDataType */ -static UA_DataTypeMember ServerStatusDataType_members[6] = { -{ - UA_TYPENAME("StartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ServerStatusDataType, currentTime) - offsetof(UA_ServerStatusDataType, startTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("State") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVERSTATE], /* .memberType */ - offsetof(UA_ServerStatusDataType, state) - offsetof(UA_ServerStatusDataType, currentTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BuildInfo") /* .memberName */ - &UA_TYPES[UA_TYPES_BUILDINFO], /* .memberType */ - offsetof(UA_ServerStatusDataType, buildInfo) - offsetof(UA_ServerStatusDataType, state) - sizeof(UA_ServerState), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecondsTillShutdown") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServerStatusDataType, secondsTillShutdown) - offsetof(UA_ServerStatusDataType, buildInfo) - sizeof(UA_BuildInfo), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ShutdownReason") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_ServerStatusDataType, shutdownReason) - offsetof(UA_ServerStatusDataType, secondsTillShutdown) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SessionSecurityDiagnosticsDataType */ -static UA_DataTypeMember SessionSecurityDiagnosticsDataType_members[9] = { -{ - UA_TYPENAME("SessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientUserIdOfSession") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdOfSession) - offsetof(UA_SessionSecurityDiagnosticsDataType, sessionId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientUserIdHistory") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdHistorySize) - offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdOfSession) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AuthenticationMechanism") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, authenticationMechanism) - offsetof(UA_SessionSecurityDiagnosticsDataType, clientUserIdHistory) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Encoding") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, encoding) - offsetof(UA_SessionSecurityDiagnosticsDataType, authenticationMechanism) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportProtocol") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, transportProtocol) - offsetof(UA_SessionSecurityDiagnosticsDataType, encoding) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, securityMode) - offsetof(UA_SessionSecurityDiagnosticsDataType, transportProtocol) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, securityPolicyUri) - offsetof(UA_SessionSecurityDiagnosticsDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientCertificate") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_SessionSecurityDiagnosticsDataType, clientCertificate) - offsetof(UA_SessionSecurityDiagnosticsDataType, securityPolicyUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ServiceCounterDataType */ -static UA_DataTypeMember ServiceCounterDataType_members[2] = { -{ - UA_TYPENAME("TotalCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ErrorCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ServiceCounterDataType, errorCount) - offsetof(UA_ServiceCounterDataType, totalCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* StatusResult */ -static UA_DataTypeMember StatusResult_members[2] = { -{ - UA_TYPENAME("StatusCode") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfo") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_StatusResult, diagnosticInfo) - offsetof(UA_StatusResult, statusCode) - sizeof(UA_StatusCode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SubscriptionDiagnosticsDataType */ -static UA_DataTypeMember SubscriptionDiagnosticsDataType_members[31] = { -{ - UA_TYPENAME("SessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscriptionId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, subscriptionId) - offsetof(UA_SubscriptionDiagnosticsDataType, sessionId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Priority") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, priority) - offsetof(UA_SubscriptionDiagnosticsDataType, subscriptionId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, publishingInterval) - offsetof(UA_SubscriptionDiagnosticsDataType, priority) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxKeepAliveCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, maxKeepAliveCount) - offsetof(UA_SubscriptionDiagnosticsDataType, publishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxLifetimeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, maxLifetimeCount) - offsetof(UA_SubscriptionDiagnosticsDataType, maxKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxNotificationsPerPublish") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, maxNotificationsPerPublish) - offsetof(UA_SubscriptionDiagnosticsDataType, maxLifetimeCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingEnabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, publishingEnabled) - offsetof(UA_SubscriptionDiagnosticsDataType, maxNotificationsPerPublish) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ModifyCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, modifyCount) - offsetof(UA_SubscriptionDiagnosticsDataType, publishingEnabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EnableCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, enableCount) - offsetof(UA_SubscriptionDiagnosticsDataType, modifyCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisableCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, disableCount) - offsetof(UA_SubscriptionDiagnosticsDataType, enableCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RepublishRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, republishRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, disableCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RepublishMessageRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, republishRequestCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RepublishMessageCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageCount) - offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageRequestCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransferRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, transferRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, republishMessageCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransferredToAltClientCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, transferredToAltClientCount) - offsetof(UA_SubscriptionDiagnosticsDataType, transferRequestCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransferredToSameClientCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, transferredToSameClientCount) - offsetof(UA_SubscriptionDiagnosticsDataType, transferredToAltClientCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, publishRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, transferredToSameClientCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataChangeNotificationsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, dataChangeNotificationsCount) - offsetof(UA_SubscriptionDiagnosticsDataType, publishRequestCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventNotificationsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, eventNotificationsCount) - offsetof(UA_SubscriptionDiagnosticsDataType, dataChangeNotificationsCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NotificationsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, notificationsCount) - offsetof(UA_SubscriptionDiagnosticsDataType, eventNotificationsCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LatePublishRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, latePublishRequestCount) - offsetof(UA_SubscriptionDiagnosticsDataType, notificationsCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentKeepAliveCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, currentKeepAliveCount) - offsetof(UA_SubscriptionDiagnosticsDataType, latePublishRequestCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentLifetimeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, currentLifetimeCount) - offsetof(UA_SubscriptionDiagnosticsDataType, currentKeepAliveCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UnacknowledgedMessageCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, unacknowledgedMessageCount) - offsetof(UA_SubscriptionDiagnosticsDataType, currentLifetimeCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiscardedMessageCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, discardedMessageCount) - offsetof(UA_SubscriptionDiagnosticsDataType, unacknowledgedMessageCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoredItemCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, monitoredItemCount) - offsetof(UA_SubscriptionDiagnosticsDataType, discardedMessageCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisabledMonitoredItemCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, disabledMonitoredItemCount) - offsetof(UA_SubscriptionDiagnosticsDataType, monitoredItemCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MonitoringQueueOverflowCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, monitoringQueueOverflowCount) - offsetof(UA_SubscriptionDiagnosticsDataType, disabledMonitoredItemCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("NextSequenceNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, nextSequenceNumber) - offsetof(UA_SubscriptionDiagnosticsDataType, monitoringQueueOverflowCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventQueueOverFlowCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SubscriptionDiagnosticsDataType, eventQueueOverFlowCount) - offsetof(UA_SubscriptionDiagnosticsDataType, nextSequenceNumber) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ModelChangeStructureVerbMask */ -#define ModelChangeStructureVerbMask_members NULL - -/* ModelChangeStructureDataType */ -static UA_DataTypeMember ModelChangeStructureDataType_members[3] = { -{ - UA_TYPENAME("Affected") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AffectedType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_ModelChangeStructureDataType, affectedType) - offsetof(UA_ModelChangeStructureDataType, affected) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Verb") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_ModelChangeStructureDataType, verb) - offsetof(UA_ModelChangeStructureDataType, affectedType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SemanticChangeStructureDataType */ -static UA_DataTypeMember SemanticChangeStructureDataType_members[2] = { -{ - UA_TYPENAME("Affected") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AffectedType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_SemanticChangeStructureDataType, affectedType) - offsetof(UA_SemanticChangeStructureDataType, affected) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* Range */ -static UA_DataTypeMember Range_members[2] = { -{ - UA_TYPENAME("Low") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("High") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_Range, high) - offsetof(UA_Range, low) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EUInformation */ -static UA_DataTypeMember EUInformation_members[4] = { -{ - UA_TYPENAME("NamespaceUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UnitId") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_EUInformation, unitId) - offsetof(UA_EUInformation, namespaceUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DisplayName") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_EUInformation, displayName) - offsetof(UA_EUInformation, unitId) - sizeof(UA_Int32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_EUInformation, description) - offsetof(UA_EUInformation, displayName) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AxisScaleEnumeration */ -#define AxisScaleEnumeration_members NULL - -/* ComplexNumberType */ -static UA_DataTypeMember ComplexNumberType_members[2] = { -{ - UA_TYPENAME("Real") /* .memberName */ - &UA_TYPES[UA_TYPES_FLOAT], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Imaginary") /* .memberName */ - &UA_TYPES[UA_TYPES_FLOAT], /* .memberType */ - offsetof(UA_ComplexNumberType, imaginary) - offsetof(UA_ComplexNumberType, real) - sizeof(UA_Float), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DoubleComplexNumberType */ -static UA_DataTypeMember DoubleComplexNumberType_members[2] = { -{ - UA_TYPENAME("Real") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Imaginary") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_DoubleComplexNumberType, imaginary) - offsetof(UA_DoubleComplexNumberType, real) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AxisInformation */ -static UA_DataTypeMember AxisInformation_members[5] = { -{ - UA_TYPENAME("EngineeringUnits") /* .memberName */ - &UA_TYPES[UA_TYPES_EUINFORMATION], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EURange") /* .memberName */ - &UA_TYPES[UA_TYPES_RANGE], /* .memberType */ - offsetof(UA_AxisInformation, eURange) - offsetof(UA_AxisInformation, engineeringUnits) - sizeof(UA_EUInformation), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Title") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_AxisInformation, title) - offsetof(UA_AxisInformation, eURange) - sizeof(UA_Range), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AxisScaleType") /* .memberName */ - &UA_TYPES[UA_TYPES_AXISSCALEENUMERATION], /* .memberType */ - offsetof(UA_AxisInformation, axisScaleType) - offsetof(UA_AxisInformation, title) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AxisSteps") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_AxisInformation, axisStepsSize) - offsetof(UA_AxisInformation, axisScaleType) - sizeof(UA_AxisScaleEnumeration), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* XVType */ -static UA_DataTypeMember XVType_members[2] = { -{ - UA_TYPENAME("X") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Value") /* .memberName */ - &UA_TYPES[UA_TYPES_FLOAT], /* .memberType */ - offsetof(UA_XVType, value) - offsetof(UA_XVType, x) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ProgramDiagnosticDataType */ -static UA_DataTypeMember ProgramDiagnosticDataType_members[10] = { -{ - UA_TYPENAME("CreateSessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CreateClientName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, createClientName) - offsetof(UA_ProgramDiagnosticDataType, createSessionId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("InvocationCreationTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, invocationCreationTime) - offsetof(UA_ProgramDiagnosticDataType, createClientName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastTransitionTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastTransitionTime) - offsetof(UA_ProgramDiagnosticDataType, invocationCreationTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodCall") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastMethodCall) - offsetof(UA_ProgramDiagnosticDataType, lastTransitionTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodSessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastMethodSessionId) - offsetof(UA_ProgramDiagnosticDataType, lastMethodCall) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodInputArguments") /* .memberName */ - &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastMethodInputArgumentsSize) - offsetof(UA_ProgramDiagnosticDataType, lastMethodSessionId) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodOutputArguments") /* .memberName */ - &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastMethodOutputArgumentsSize) - offsetof(UA_ProgramDiagnosticDataType, lastMethodInputArguments) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodCallTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastMethodCallTime) - offsetof(UA_ProgramDiagnosticDataType, lastMethodOutputArguments) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodReturnStatus") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSRESULT], /* .memberType */ - offsetof(UA_ProgramDiagnosticDataType, lastMethodReturnStatus) - offsetof(UA_ProgramDiagnosticDataType, lastMethodCallTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ProgramDiagnostic2DataType */ -static UA_DataTypeMember ProgramDiagnostic2DataType_members[12] = { -{ - UA_TYPENAME("CreateSessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CreateClientName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, createClientName) - offsetof(UA_ProgramDiagnostic2DataType, createSessionId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("InvocationCreationTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, invocationCreationTime) - offsetof(UA_ProgramDiagnostic2DataType, createClientName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastTransitionTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastTransitionTime) - offsetof(UA_ProgramDiagnostic2DataType, invocationCreationTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodCall") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodCall) - offsetof(UA_ProgramDiagnostic2DataType, lastTransitionTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodSessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodSessionId) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodCall) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodInputArguments") /* .memberName */ - &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputArgumentsSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodSessionId) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodOutputArguments") /* .memberName */ - &UA_TYPES[UA_TYPES_ARGUMENT], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputArgumentsSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputArguments) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodInputValues") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputValuesSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputArguments) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodOutputValues") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputValuesSize) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodInputValues) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodCallTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodCallTime) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodOutputValues) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LastMethodReturnStatus") /* .memberName */ - &UA_TYPES[UA_TYPES_STATUSCODE], /* .memberType */ - offsetof(UA_ProgramDiagnostic2DataType, lastMethodReturnStatus) - offsetof(UA_ProgramDiagnostic2DataType, lastMethodCallTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* Annotation */ -static UA_DataTypeMember Annotation_members[3] = { -{ - UA_TYPENAME("Message") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_Annotation, userName) - offsetof(UA_Annotation, message) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AnnotationTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_Annotation, annotationTime) - offsetof(UA_Annotation, userName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ExceptionDeviationFormat */ -#define ExceptionDeviationFormat_members NULL - -/* EndpointType */ -static UA_DataTypeMember EndpointType_members[4] = { -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_EndpointType, securityMode) - offsetof(UA_EndpointType, endpointUrl) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_EndpointType, securityPolicyUri) - offsetof(UA_EndpointType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_EndpointType, transportProfileUri) - offsetof(UA_EndpointType, securityPolicyUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* StructureDescription */ -static UA_DataTypeMember StructureDescription_members[3] = { -{ - UA_TYPENAME("DataTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_StructureDescription, name) - offsetof(UA_StructureDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StructureDefinition") /* .memberName */ - &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION], /* .memberType */ - offsetof(UA_StructureDescription, structureDefinition) - offsetof(UA_StructureDescription, name) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* FieldMetaData */ -static UA_DataTypeMember FieldMetaData_members[10] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_FieldMetaData, description) - offsetof(UA_FieldMetaData, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("FieldFlags") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETFIELDFLAGS], /* .memberType */ - offsetof(UA_FieldMetaData, fieldFlags) - offsetof(UA_FieldMetaData, description) - sizeof(UA_LocalizedText), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BuiltInType") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_FieldMetaData, builtInType) - offsetof(UA_FieldMetaData, fieldFlags) - sizeof(UA_DataSetFieldFlags), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_FieldMetaData, dataType) - offsetof(UA_FieldMetaData, builtInType) - sizeof(UA_Byte), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ValueRank") /* .memberName */ - &UA_TYPES[UA_TYPES_INT32], /* .memberType */ - offsetof(UA_FieldMetaData, valueRank) - offsetof(UA_FieldMetaData, dataType) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ArrayDimensions") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_FieldMetaData, arrayDimensionsSize) - offsetof(UA_FieldMetaData, valueRank) - sizeof(UA_Int32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxStringLength") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_FieldMetaData, maxStringLength) - offsetof(UA_FieldMetaData, arrayDimensions) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetFieldId") /* .memberName */ - &UA_TYPES[UA_TYPES_GUID], /* .memberType */ - offsetof(UA_FieldMetaData, dataSetFieldId) - offsetof(UA_FieldMetaData, maxStringLength) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Properties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_FieldMetaData, propertiesSize) - offsetof(UA_FieldMetaData, dataSetFieldId) - sizeof(UA_Guid), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishedEventsDataType */ -static UA_DataTypeMember PublishedEventsDataType_members[3] = { -{ - UA_TYPENAME("EventNotifier") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SelectedFields") /* .memberName */ - &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND], /* .memberType */ - offsetof(UA_PublishedEventsDataType, selectedFieldsSize) - offsetof(UA_PublishedEventsDataType, eventNotifier) - sizeof(UA_NodeId), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Filter") /* .memberName */ - &UA_TYPES[UA_TYPES_CONTENTFILTER], /* .memberType */ - offsetof(UA_PublishedEventsDataType, filter) - offsetof(UA_PublishedEventsDataType, selectedFields) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubGroupDataType */ -static UA_DataTypeMember PubSubGroupDataType_members[7] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_PubSubGroupDataType, enabled) - offsetof(UA_PubSubGroupDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_PubSubGroupDataType, securityMode) - offsetof(UA_PubSubGroupDataType, enabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubGroupDataType, securityGroupId) - offsetof(UA_PubSubGroupDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityKeyServices") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_PubSubGroupDataType, securityKeyServicesSize) - offsetof(UA_PubSubGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxNetworkMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PubSubGroupDataType, maxNetworkMessageSize) - offsetof(UA_PubSubGroupDataType, securityKeyServices) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GroupProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_PubSubGroupDataType, groupPropertiesSize) - offsetof(UA_PubSubGroupDataType, maxNetworkMessageSize) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* WriterGroupDataType */ -static UA_DataTypeMember WriterGroupDataType_members[16] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_WriterGroupDataType, enabled) - offsetof(UA_WriterGroupDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_WriterGroupDataType, securityMode) - offsetof(UA_WriterGroupDataType, enabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_WriterGroupDataType, securityGroupId) - offsetof(UA_WriterGroupDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityKeyServices") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_WriterGroupDataType, securityKeyServicesSize) - offsetof(UA_WriterGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxNetworkMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_WriterGroupDataType, maxNetworkMessageSize) - offsetof(UA_WriterGroupDataType, securityKeyServices) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GroupProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_WriterGroupDataType, groupPropertiesSize) - offsetof(UA_WriterGroupDataType, maxNetworkMessageSize) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriterGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_WriterGroupDataType, writerGroupId) - offsetof(UA_WriterGroupDataType, groupProperties) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_WriterGroupDataType, publishingInterval) - offsetof(UA_WriterGroupDataType, writerGroupId) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("KeepAliveTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_WriterGroupDataType, keepAliveTime) - offsetof(UA_WriterGroupDataType, publishingInterval) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Priority") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_WriterGroupDataType, priority) - offsetof(UA_WriterGroupDataType, keepAliveTime) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LocaleIds") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_WriterGroupDataType, localeIdsSize) - offsetof(UA_WriterGroupDataType, priority) - sizeof(UA_Byte), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HeaderLayoutUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_WriterGroupDataType, headerLayoutUri) - offsetof(UA_WriterGroupDataType, localeIds) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_WriterGroupDataType, transportSettings) - offsetof(UA_WriterGroupDataType, headerLayoutUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_WriterGroupDataType, messageSettings) - offsetof(UA_WriterGroupDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetWriters") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETWRITERDATATYPE], /* .memberType */ - offsetof(UA_WriterGroupDataType, dataSetWritersSize) - offsetof(UA_WriterGroupDataType, messageSettings) - sizeof(UA_ExtensionObject), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* FieldTargetDataType */ -static UA_DataTypeMember FieldTargetDataType_members[7] = { -{ - UA_TYPENAME("DataSetFieldId") /* .memberName */ - &UA_TYPES[UA_TYPES_GUID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReceiverIndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_FieldTargetDataType, receiverIndexRange) - offsetof(UA_FieldTargetDataType, dataSetFieldId) - sizeof(UA_Guid), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TargetNodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_FieldTargetDataType, targetNodeId) - offsetof(UA_FieldTargetDataType, receiverIndexRange) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AttributeId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_FieldTargetDataType, attributeId) - offsetof(UA_FieldTargetDataType, targetNodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteIndexRange") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_FieldTargetDataType, writeIndexRange) - offsetof(UA_FieldTargetDataType, attributeId) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("OverrideValueHandling") /* .memberName */ - &UA_TYPES[UA_TYPES_OVERRIDEVALUEHANDLING], /* .memberType */ - offsetof(UA_FieldTargetDataType, overrideValueHandling) - offsetof(UA_FieldTargetDataType, writeIndexRange) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("OverrideValue") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_FieldTargetDataType, overrideValue) - offsetof(UA_FieldTargetDataType, overrideValueHandling) - sizeof(UA_OverrideValueHandling), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SubscribedDataSetMirrorDataType */ -static UA_DataTypeMember SubscribedDataSetMirrorDataType_members[2] = { -{ - UA_TYPENAME("ParentNodeName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RolePermissions") /* .memberName */ - &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE], /* .memberType */ - offsetof(UA_SubscribedDataSetMirrorDataType, rolePermissionsSize) - offsetof(UA_SubscribedDataSetMirrorDataType, parentNodeName) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SecurityGroupDataType */ -static UA_DataTypeMember SecurityGroupDataType_members[9] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroupFolder") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SecurityGroupDataType, securityGroupFolderSize) - offsetof(UA_SecurityGroupDataType, name) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("KeyLifetime") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_SecurityGroupDataType, keyLifetime) - offsetof(UA_SecurityGroupDataType, securityGroupFolder) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SecurityGroupDataType, securityPolicyUri) - offsetof(UA_SecurityGroupDataType, keyLifetime) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxFutureKeyCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SecurityGroupDataType, maxFutureKeyCount) - offsetof(UA_SecurityGroupDataType, securityPolicyUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxPastKeyCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SecurityGroupDataType, maxPastKeyCount) - offsetof(UA_SecurityGroupDataType, maxFutureKeyCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SecurityGroupDataType, securityGroupId) - offsetof(UA_SecurityGroupDataType, maxPastKeyCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RolePermissions") /* .memberName */ - &UA_TYPES[UA_TYPES_ROLEPERMISSIONTYPE], /* .memberType */ - offsetof(UA_SecurityGroupDataType, rolePermissionsSize) - offsetof(UA_SecurityGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GroupProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_SecurityGroupDataType, groupPropertiesSize) - offsetof(UA_SecurityGroupDataType, rolePermissions) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubKeyPushTargetDataType */ -static UA_DataTypeMember PubSubKeyPushTargetDataType_members[9] = { -{ - UA_TYPENAME("ApplicationUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PushTargetFolder") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, pushTargetFolderSize) - offsetof(UA_PubSubKeyPushTargetDataType, applicationUri) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, endpointUrl) - offsetof(UA_PubSubKeyPushTargetDataType, pushTargetFolder) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, securityPolicyUri) - offsetof(UA_PubSubKeyPushTargetDataType, endpointUrl) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserTokenType") /* .memberName */ - &UA_TYPES[UA_TYPES_USERTOKENPOLICY], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, userTokenType) - offsetof(UA_PubSubKeyPushTargetDataType, securityPolicyUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestedKeyCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, requestedKeyCount) - offsetof(UA_PubSubKeyPushTargetDataType, userTokenType) - sizeof(UA_UserTokenPolicy), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RetryInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, retryInterval) - offsetof(UA_PubSubKeyPushTargetDataType, requestedKeyCount) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PushTargetProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, pushTargetPropertiesSize) - offsetof(UA_PubSubKeyPushTargetDataType, retryInterval) - sizeof(UA_Double), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroups") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubKeyPushTargetDataType, securityGroupsSize) - offsetof(UA_PubSubKeyPushTargetDataType, pushTargetProperties) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* EnumDefinition */ -static UA_DataTypeMember EnumDefinition_members[1] = { -{ - UA_TYPENAME("Fields") /* .memberName */ - &UA_TYPES[UA_TYPES_ENUMFIELD], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadEventDetails */ -static UA_DataTypeMember ReadEventDetails_members[4] = { -{ - UA_TYPENAME("NumValuesPerNode") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ReadEventDetails, startTime) - offsetof(UA_ReadEventDetails, numValuesPerNode) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ReadEventDetails, endTime) - offsetof(UA_ReadEventDetails, startTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Filter") /* .memberName */ - &UA_TYPES[UA_TYPES_EVENTFILTER], /* .memberType */ - offsetof(UA_ReadEventDetails, filter) - offsetof(UA_ReadEventDetails, endTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReadProcessedDetails */ -static UA_DataTypeMember ReadProcessedDetails_members[5] = { -{ - UA_TYPENAME("StartTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_ReadProcessedDetails, endTime) - offsetof(UA_ReadProcessedDetails, startTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ProcessingInterval") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_ReadProcessedDetails, processingInterval) - offsetof(UA_ReadProcessedDetails, endTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AggregateType") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - offsetof(UA_ReadProcessedDetails, aggregateTypeSize) - offsetof(UA_ReadProcessedDetails, processingInterval) - sizeof(UA_Double), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AggregateConfiguration") /* .memberName */ - &UA_TYPES[UA_TYPES_AGGREGATECONFIGURATION], /* .memberType */ - offsetof(UA_ReadProcessedDetails, aggregateConfiguration) - offsetof(UA_ReadProcessedDetails, aggregateType) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* ModificationInfo */ -static UA_DataTypeMember ModificationInfo_members[3] = { -{ - UA_TYPENAME("ModificationTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UpdateType") /* .memberName */ - &UA_TYPES[UA_TYPES_HISTORYUPDATETYPE], /* .memberType */ - offsetof(UA_ModificationInfo, updateType) - offsetof(UA_ModificationInfo, modificationTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UserName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ModificationInfo, userName) - offsetof(UA_ModificationInfo, updateType) - sizeof(UA_HistoryUpdateType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryModifiedData */ -static UA_DataTypeMember HistoryModifiedData_members[2] = { -{ - UA_TYPENAME("DataValues") /* .memberName */ - &UA_TYPES[UA_TYPES_DATAVALUE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ModificationInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_MODIFICATIONINFO], /* .memberType */ - offsetof(UA_HistoryModifiedData, modificationInfosSize) - offsetof(UA_HistoryModifiedData, dataValues) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* HistoryEvent */ -static UA_DataTypeMember HistoryEvent_members[1] = { -{ - UA_TYPENAME("Events") /* .memberName */ - &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* UpdateEventDetails */ -static UA_DataTypeMember UpdateEventDetails_members[4] = { -{ - UA_TYPENAME("NodeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PerformInsertReplace") /* .memberName */ - &UA_TYPES[UA_TYPES_PERFORMUPDATETYPE], /* .memberType */ - offsetof(UA_UpdateEventDetails, performInsertReplace) - offsetof(UA_UpdateEventDetails, nodeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Filter") /* .memberName */ - &UA_TYPES[UA_TYPES_EVENTFILTER], /* .memberType */ - offsetof(UA_UpdateEventDetails, filter) - offsetof(UA_UpdateEventDetails, performInsertReplace) - sizeof(UA_PerformUpdateType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EventData") /* .memberName */ - &UA_TYPES[UA_TYPES_HISTORYEVENTFIELDLIST], /* .memberType */ - offsetof(UA_UpdateEventDetails, eventDataSize) - offsetof(UA_UpdateEventDetails, filter) - sizeof(UA_EventFilter), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataChangeNotification */ -static UA_DataTypeMember DataChangeNotification_members[2] = { -{ - UA_TYPENAME("MonitoredItems") /* .memberName */ - &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DiagnosticInfos") /* .memberName */ - &UA_TYPES[UA_TYPES_DIAGNOSTICINFO], /* .memberType */ - offsetof(UA_DataChangeNotification, diagnosticInfosSize) - offsetof(UA_DataChangeNotification, monitoredItems) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* EventNotificationList */ -static UA_DataTypeMember EventNotificationList_members[1] = { -{ - UA_TYPENAME("Events") /* .memberName */ - &UA_TYPES[UA_TYPES_EVENTFIELDLIST], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* SessionDiagnosticsDataType */ -static UA_DataTypeMember SessionDiagnosticsDataType_members[43] = { -{ - UA_TYPENAME("SessionId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SessionName") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, sessionName) - offsetof(UA_SessionDiagnosticsDataType, sessionId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientDescription") /* .memberName */ - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, clientDescription) - offsetof(UA_SessionDiagnosticsDataType, sessionName) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, serverUri) - offsetof(UA_SessionDiagnosticsDataType, clientDescription) - sizeof(UA_ApplicationDescription), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, endpointUrl) - offsetof(UA_SessionDiagnosticsDataType, serverUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("LocaleIds") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, localeIdsSize) - offsetof(UA_SessionDiagnosticsDataType, endpointUrl) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ActualSessionTimeout") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, actualSessionTimeout) - offsetof(UA_SessionDiagnosticsDataType, localeIds) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxResponseMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, maxResponseMessageSize) - offsetof(UA_SessionDiagnosticsDataType, actualSessionTimeout) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientConnectionTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, clientConnectionTime) - offsetof(UA_SessionDiagnosticsDataType, maxResponseMessageSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ClientLastContactTime") /* .memberName */ - &UA_TYPES[UA_TYPES_DATETIME], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, clientLastContactTime) - offsetof(UA_SessionDiagnosticsDataType, clientConnectionTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentSubscriptionsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, currentSubscriptionsCount) - offsetof(UA_SessionDiagnosticsDataType, clientLastContactTime) - sizeof(UA_DateTime), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentMonitoredItemsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, currentMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, currentSubscriptionsCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CurrentPublishRequestsInQueue") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, currentPublishRequestsInQueue) - offsetof(UA_SessionDiagnosticsDataType, currentMonitoredItemsCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TotalRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, totalRequestCount) - offsetof(UA_SessionDiagnosticsDataType, currentPublishRequestsInQueue) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UnauthorizedRequestCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, unauthorizedRequestCount) - offsetof(UA_SessionDiagnosticsDataType, totalRequestCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReadCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, readCount) - offsetof(UA_SessionDiagnosticsDataType, unauthorizedRequestCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HistoryReadCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, historyReadCount) - offsetof(UA_SessionDiagnosticsDataType, readCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriteCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, writeCount) - offsetof(UA_SessionDiagnosticsDataType, historyReadCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HistoryUpdateCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, historyUpdateCount) - offsetof(UA_SessionDiagnosticsDataType, writeCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CallCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, callCount) - offsetof(UA_SessionDiagnosticsDataType, historyUpdateCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CreateMonitoredItemsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, createMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, callCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ModifyMonitoredItemsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, modifyMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, createMonitoredItemsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SetMonitoringModeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, setMonitoringModeCount) - offsetof(UA_SessionDiagnosticsDataType, modifyMonitoredItemsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SetTriggeringCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, setTriggeringCount) - offsetof(UA_SessionDiagnosticsDataType, setMonitoringModeCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteMonitoredItemsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, deleteMonitoredItemsCount) - offsetof(UA_SessionDiagnosticsDataType, setTriggeringCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("CreateSubscriptionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, createSubscriptionCount) - offsetof(UA_SessionDiagnosticsDataType, deleteMonitoredItemsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ModifySubscriptionCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, modifySubscriptionCount) - offsetof(UA_SessionDiagnosticsDataType, createSubscriptionCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SetPublishingModeCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, setPublishingModeCount) - offsetof(UA_SessionDiagnosticsDataType, modifySubscriptionCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublishCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, publishCount) - offsetof(UA_SessionDiagnosticsDataType, setPublishingModeCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RepublishCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, republishCount) - offsetof(UA_SessionDiagnosticsDataType, publishCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransferSubscriptionsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, transferSubscriptionsCount) - offsetof(UA_SessionDiagnosticsDataType, republishCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteSubscriptionsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, deleteSubscriptionsCount) - offsetof(UA_SessionDiagnosticsDataType, transferSubscriptionsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AddNodesCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, addNodesCount) - offsetof(UA_SessionDiagnosticsDataType, deleteSubscriptionsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("AddReferencesCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, addReferencesCount) - offsetof(UA_SessionDiagnosticsDataType, addNodesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteNodesCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, deleteNodesCount) - offsetof(UA_SessionDiagnosticsDataType, addReferencesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DeleteReferencesCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, deleteReferencesCount) - offsetof(UA_SessionDiagnosticsDataType, deleteNodesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowseCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, browseCount) - offsetof(UA_SessionDiagnosticsDataType, deleteReferencesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BrowseNextCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, browseNextCount) - offsetof(UA_SessionDiagnosticsDataType, browseCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TranslateBrowsePathsToNodeIdsCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, translateBrowsePathsToNodeIdsCount) - offsetof(UA_SessionDiagnosticsDataType, browseNextCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QueryFirstCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, queryFirstCount) - offsetof(UA_SessionDiagnosticsDataType, translateBrowsePathsToNodeIdsCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("QueryNextCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, queryNextCount) - offsetof(UA_SessionDiagnosticsDataType, queryFirstCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RegisterNodesCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, registerNodesCount) - offsetof(UA_SessionDiagnosticsDataType, queryNextCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("UnregisterNodesCount") /* .memberName */ - &UA_TYPES[UA_TYPES_SERVICECOUNTERDATATYPE], /* .memberType */ - offsetof(UA_SessionDiagnosticsDataType, unregisterNodesCount) - offsetof(UA_SessionDiagnosticsDataType, registerNodesCount) - sizeof(UA_ServiceCounterDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* EnumDescription */ -static UA_DataTypeMember EnumDescription_members[4] = { -{ - UA_TYPENAME("DataTypeId") /* .memberName */ - &UA_TYPES[UA_TYPES_NODEID], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], /* .memberType */ - offsetof(UA_EnumDescription, name) - offsetof(UA_EnumDescription, dataTypeId) - sizeof(UA_NodeId), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EnumDefinition") /* .memberName */ - &UA_TYPES[UA_TYPES_ENUMDEFINITION], /* .memberType */ - offsetof(UA_EnumDescription, enumDefinition) - offsetof(UA_EnumDescription, name) - sizeof(UA_QualifiedName), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("BuiltInType") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTE], /* .memberType */ - offsetof(UA_EnumDescription, builtInType) - offsetof(UA_EnumDescription, enumDefinition) - sizeof(UA_EnumDefinition), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* UABinaryFileDataType */ -static UA_DataTypeMember UABinaryFileDataType_members[7] = { -{ - UA_TYPENAME("Namespaces") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StructureDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION], /* .memberType */ - offsetof(UA_UABinaryFileDataType, structureDataTypesSize) - offsetof(UA_UABinaryFileDataType, namespaces) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EnumDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_ENUMDESCRIPTION], /* .memberType */ - offsetof(UA_UABinaryFileDataType, enumDataTypesSize) - offsetof(UA_UABinaryFileDataType, structureDataTypes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SimpleDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION], /* .memberType */ - offsetof(UA_UABinaryFileDataType, simpleDataTypesSize) - offsetof(UA_UABinaryFileDataType, enumDataTypes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SchemaLocation") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_UABinaryFileDataType, schemaLocation) - offsetof(UA_UABinaryFileDataType, simpleDataTypes) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("FileHeader") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_UABinaryFileDataType, fileHeaderSize) - offsetof(UA_UABinaryFileDataType, schemaLocation) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Body") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_UABinaryFileDataType, body) - offsetof(UA_UABinaryFileDataType, fileHeader) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataSetMetaDataType */ -static UA_DataTypeMember DataSetMetaDataType_members[9] = { -{ - UA_TYPENAME("Namespaces") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StructureDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION], /* .memberType */ - offsetof(UA_DataSetMetaDataType, structureDataTypesSize) - offsetof(UA_DataSetMetaDataType, namespaces) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EnumDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_ENUMDESCRIPTION], /* .memberType */ - offsetof(UA_DataSetMetaDataType, enumDataTypesSize) - offsetof(UA_DataSetMetaDataType, structureDataTypes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SimpleDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION], /* .memberType */ - offsetof(UA_DataSetMetaDataType, simpleDataTypesSize) - offsetof(UA_DataSetMetaDataType, enumDataTypes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DataSetMetaDataType, name) - offsetof(UA_DataSetMetaDataType, simpleDataTypes) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Description") /* .memberName */ - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], /* .memberType */ - offsetof(UA_DataSetMetaDataType, description) - offsetof(UA_DataSetMetaDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Fields") /* .memberName */ - &UA_TYPES[UA_TYPES_FIELDMETADATA], /* .memberType */ - offsetof(UA_DataSetMetaDataType, fieldsSize) - offsetof(UA_DataSetMetaDataType, description) - sizeof(UA_LocalizedText), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetClassId") /* .memberName */ - &UA_TYPES[UA_TYPES_GUID], /* .memberType */ - offsetof(UA_DataSetMetaDataType, dataSetClassId) - offsetof(UA_DataSetMetaDataType, fields) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConfigurationVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE], /* .memberType */ - offsetof(UA_DataSetMetaDataType, configurationVersion) - offsetof(UA_DataSetMetaDataType, dataSetClassId) - sizeof(UA_Guid), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PublishedDataSetDataType */ -static UA_DataTypeMember PublishedDataSetDataType_members[5] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetFolder") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PublishedDataSetDataType, dataSetFolderSize) - offsetof(UA_PublishedDataSetDataType, name) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetMetaData") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ - offsetof(UA_PublishedDataSetDataType, dataSetMetaData) - offsetof(UA_PublishedDataSetDataType, dataSetFolder) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ExtensionFields") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_PublishedDataSetDataType, extensionFieldsSize) - offsetof(UA_PublishedDataSetDataType, dataSetMetaData) - sizeof(UA_DataSetMetaDataType), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetSource") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_PublishedDataSetDataType, dataSetSource) - offsetof(UA_PublishedDataSetDataType, extensionFields) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataSetReaderDataType */ -static UA_DataTypeMember DataSetReaderDataType_members[17] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_DataSetReaderDataType, enabled) - offsetof(UA_DataSetReaderDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublisherId") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_DataSetReaderDataType, publisherId) - offsetof(UA_DataSetReaderDataType, enabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriterGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_DataSetReaderDataType, writerGroupId) - offsetof(UA_DataSetReaderDataType, publisherId) - sizeof(UA_Variant), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetWriterId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT16], /* .memberType */ - offsetof(UA_DataSetReaderDataType, dataSetWriterId) - offsetof(UA_DataSetReaderDataType, writerGroupId) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetMetaData") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ - offsetof(UA_DataSetReaderDataType, dataSetMetaData) - offsetof(UA_DataSetReaderDataType, dataSetWriterId) - sizeof(UA_UInt16), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetFieldContentMask") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK], /* .memberType */ - offsetof(UA_DataSetReaderDataType, dataSetFieldContentMask) - offsetof(UA_DataSetReaderDataType, dataSetMetaData) - sizeof(UA_DataSetMetaDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageReceiveTimeout") /* .memberName */ - &UA_TYPES[UA_TYPES_DOUBLE], /* .memberType */ - offsetof(UA_DataSetReaderDataType, messageReceiveTimeout) - offsetof(UA_DataSetReaderDataType, dataSetFieldContentMask) - sizeof(UA_DataSetFieldContentMask), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("KeyFrameCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_DataSetReaderDataType, keyFrameCount) - offsetof(UA_DataSetReaderDataType, messageReceiveTimeout) - sizeof(UA_Double), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("HeaderLayoutUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DataSetReaderDataType, headerLayoutUri) - offsetof(UA_DataSetReaderDataType, keyFrameCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_DataSetReaderDataType, securityMode) - offsetof(UA_DataSetReaderDataType, headerLayoutUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_DataSetReaderDataType, securityGroupId) - offsetof(UA_DataSetReaderDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityKeyServices") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_DataSetReaderDataType, securityKeyServicesSize) - offsetof(UA_DataSetReaderDataType, securityGroupId) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetReaderProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_DataSetReaderDataType, dataSetReaderPropertiesSize) - offsetof(UA_DataSetReaderDataType, securityKeyServices) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DataSetReaderDataType, transportSettings) - offsetof(UA_DataSetReaderDataType, dataSetReaderProperties) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DataSetReaderDataType, messageSettings) - offsetof(UA_DataSetReaderDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscribedDataSet") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_DataSetReaderDataType, subscribedDataSet) - offsetof(UA_DataSetReaderDataType, messageSettings) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TargetVariablesDataType */ -static UA_DataTypeMember TargetVariablesDataType_members[1] = { -{ - UA_TYPENAME("TargetVariables") /* .memberName */ - &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* StandaloneSubscribedDataSetDataType */ -static UA_DataTypeMember StandaloneSubscribedDataSetDataType_members[4] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetFolder") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetFolderSize) - offsetof(UA_StandaloneSubscribedDataSetDataType, name) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetMetaData") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ - offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetMetaData) - offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetFolder) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscribedDataSet") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_StandaloneSubscribedDataSetDataType, subscribedDataSet) - offsetof(UA_StandaloneSubscribedDataSetDataType, dataSetMetaData) - sizeof(UA_DataSetMetaDataType), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* DataTypeSchemaHeader */ -static UA_DataTypeMember DataTypeSchemaHeader_members[4] = { -{ - UA_TYPENAME("Namespaces") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("StructureDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_STRUCTUREDESCRIPTION], /* .memberType */ - offsetof(UA_DataTypeSchemaHeader, structureDataTypesSize) - offsetof(UA_DataTypeSchemaHeader, namespaces) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EnumDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_ENUMDESCRIPTION], /* .memberType */ - offsetof(UA_DataTypeSchemaHeader, enumDataTypesSize) - offsetof(UA_DataTypeSchemaHeader, structureDataTypes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SimpleDataTypes") /* .memberName */ - &UA_TYPES[UA_TYPES_SIMPLETYPEDESCRIPTION], /* .memberType */ - offsetof(UA_DataTypeSchemaHeader, simpleDataTypesSize) - offsetof(UA_DataTypeSchemaHeader, enumDataTypes) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* ReaderGroupDataType */ -static UA_DataTypeMember ReaderGroupDataType_members[10] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_ReaderGroupDataType, enabled) - offsetof(UA_ReaderGroupDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityMode") /* .memberName */ - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], /* .memberType */ - offsetof(UA_ReaderGroupDataType, securityMode) - offsetof(UA_ReaderGroupDataType, enabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroupId") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_ReaderGroupDataType, securityGroupId) - offsetof(UA_ReaderGroupDataType, securityMode) - sizeof(UA_MessageSecurityMode), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityKeyServices") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_ReaderGroupDataType, securityKeyServicesSize) - offsetof(UA_ReaderGroupDataType, securityGroupId) - sizeof(UA_String), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxNetworkMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_ReaderGroupDataType, maxNetworkMessageSize) - offsetof(UA_ReaderGroupDataType, securityKeyServices) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("GroupProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_ReaderGroupDataType, groupPropertiesSize) - offsetof(UA_ReaderGroupDataType, maxNetworkMessageSize) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_ReaderGroupDataType, transportSettings) - offsetof(UA_ReaderGroupDataType, groupProperties) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_ReaderGroupDataType, messageSettings) - offsetof(UA_ReaderGroupDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetReaders") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETREADERDATATYPE], /* .memberType */ - offsetof(UA_ReaderGroupDataType, dataSetReadersSize) - offsetof(UA_ReaderGroupDataType, messageSettings) - sizeof(UA_ExtensionObject), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubConnectionDataType */ -static UA_DataTypeMember PubSubConnectionDataType_members[9] = { -{ - UA_TYPENAME("Name") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, enabled) - offsetof(UA_PubSubConnectionDataType, name) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PublisherId") /* .memberName */ - &UA_TYPES[UA_TYPES_VARIANT], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, publisherId) - offsetof(UA_PubSubConnectionDataType, enabled) - sizeof(UA_Boolean), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportProfileUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, transportProfileUri) - offsetof(UA_PubSubConnectionDataType, publisherId) - sizeof(UA_Variant), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Address") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, address) - offsetof(UA_PubSubConnectionDataType, transportProfileUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConnectionProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, connectionPropertiesSize) - offsetof(UA_PubSubConnectionDataType, address) - sizeof(UA_ExtensionObject), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("TransportSettings") /* .memberName */ - &UA_TYPES[UA_TYPES_EXTENSIONOBJECT], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, transportSettings) - offsetof(UA_PubSubConnectionDataType, connectionProperties) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("WriterGroups") /* .memberName */ - &UA_TYPES[UA_TYPES_WRITERGROUPDATATYPE], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, writerGroupsSize) - offsetof(UA_PubSubConnectionDataType, transportSettings) - sizeof(UA_ExtensionObject), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReaderGroups") /* .memberName */ - &UA_TYPES[UA_TYPES_READERGROUPDATATYPE], /* .memberType */ - offsetof(UA_PubSubConnectionDataType, readerGroupsSize) - offsetof(UA_PubSubConnectionDataType, writerGroups) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubConfigurationDataType */ -static UA_DataTypeMember PubSubConfigurationDataType_members[3] = { -{ - UA_TYPENAME("PublishedDataSets") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Connections") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE], /* .memberType */ - offsetof(UA_PubSubConfigurationDataType, connectionsSize) - offsetof(UA_PubSubConfigurationDataType, publishedDataSets) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_PubSubConfigurationDataType, enabled) - offsetof(UA_PubSubConfigurationDataType, connections) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* PubSubConfiguration2DataType */ -static UA_DataTypeMember PubSubConfiguration2DataType_members[10] = { -{ - UA_TYPENAME("PublishedDataSets") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBLISHEDDATASETDATATYPE], /* .memberType */ - 0, /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Connections") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBSUBCONNECTIONDATATYPE], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, connectionsSize) - offsetof(UA_PubSubConfiguration2DataType, publishedDataSets) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Enabled") /* .memberName */ - &UA_TYPES[UA_TYPES_BOOLEAN], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, enabled) - offsetof(UA_PubSubConfiguration2DataType, connections) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SubscribedDataSets") /* .memberName */ - &UA_TYPES[UA_TYPES_STANDALONESUBSCRIBEDDATASETDATATYPE], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, subscribedDataSetsSize) - offsetof(UA_PubSubConfiguration2DataType, enabled) - sizeof(UA_Boolean), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DataSetClasses") /* .memberName */ - &UA_TYPES[UA_TYPES_DATASETMETADATATYPE], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, dataSetClassesSize) - offsetof(UA_PubSubConfiguration2DataType, subscribedDataSets) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("DefaultSecurityKeyServices") /* .memberName */ - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, defaultSecurityKeyServicesSize) - offsetof(UA_PubSubConfiguration2DataType, dataSetClasses) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SecurityGroups") /* .memberName */ - &UA_TYPES[UA_TYPES_SECURITYGROUPDATATYPE], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, securityGroupsSize) - offsetof(UA_PubSubConfiguration2DataType, defaultSecurityKeyServices) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("PubSubKeyPushTargets") /* .memberName */ - &UA_TYPES[UA_TYPES_PUBSUBKEYPUSHTARGETDATATYPE], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, pubSubKeyPushTargetsSize) - offsetof(UA_PubSubConfiguration2DataType, securityGroups) - sizeof(void *), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConfigurationVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, configurationVersion) - offsetof(UA_PubSubConfiguration2DataType, pubSubKeyPushTargets) - sizeof(void *), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ConfigurationProperties") /* .memberName */ - &UA_TYPES[UA_TYPES_KEYVALUEPAIR], /* .memberType */ - offsetof(UA_PubSubConfiguration2DataType, configurationPropertiesSize) - offsetof(UA_PubSubConfiguration2DataType, configurationVersion) - sizeof(UA_UInt32), /* .padding */ - true, /* .isArray */ - false /* .isOptional */ -},}; -UA_DataType UA_TYPES[UA_TYPES_COUNT] = { -/* Boolean */ -{ - UA_TYPENAME("Boolean") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {1LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Boolean), /* .memSize */ - UA_DATATYPEKIND_BOOLEAN, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - Boolean_members /* .members */ -}, -/* SByte */ -{ - UA_TYPENAME("SByte") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {2LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_SByte), /* .memSize */ - UA_DATATYPEKIND_SBYTE, /* .typeKind */ - true, /* .pointerFree */ - true, /* .overlayable */ - 0, /* .membersSize */ - SByte_members /* .members */ -}, -/* Byte */ -{ - UA_TYPENAME("Byte") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {3LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Byte), /* .memSize */ - UA_DATATYPEKIND_BYTE, /* .typeKind */ - true, /* .pointerFree */ - true, /* .overlayable */ - 0, /* .membersSize */ - Byte_members /* .members */ -}, -/* Int16 */ -{ - UA_TYPENAME("Int16") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {4LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Int16), /* .memSize */ - UA_DATATYPEKIND_INT16, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - Int16_members /* .members */ -}, -/* UInt16 */ -{ - UA_TYPENAME("UInt16") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {5LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UInt16), /* .memSize */ - UA_DATATYPEKIND_UINT16, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UInt16_members /* .members */ -}, -/* Int32 */ -{ - UA_TYPENAME("Int32") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {6LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Int32), /* .memSize */ - UA_DATATYPEKIND_INT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - Int32_members /* .members */ -}, -/* UInt32 */ -{ - UA_TYPENAME("UInt32") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {7LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UInt32), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UInt32_members /* .members */ -}, -/* Int64 */ -{ - UA_TYPENAME("Int64") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {8LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Int64), /* .memSize */ - UA_DATATYPEKIND_INT64, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - Int64_members /* .members */ -}, -/* UInt64 */ -{ - UA_TYPENAME("UInt64") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {9LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UInt64), /* .memSize */ - UA_DATATYPEKIND_UINT64, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UInt64_members /* .members */ -}, -/* Float */ -{ - UA_TYPENAME("Float") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {10LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Float), /* .memSize */ - UA_DATATYPEKIND_FLOAT, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_FLOAT, /* .overlayable */ - 0, /* .membersSize */ - Float_members /* .members */ -}, -/* Double */ -{ - UA_TYPENAME("Double") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Double), /* .memSize */ - UA_DATATYPEKIND_DOUBLE, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_FLOAT, /* .overlayable */ - 0, /* .membersSize */ - Double_members /* .members */ -}, -/* String */ -{ - UA_TYPENAME("String") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_String), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - String_members /* .members */ -}, -/* DateTime */ -{ - UA_TYPENAME("DateTime") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {13LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DateTime), /* .memSize */ - UA_DATATYPEKIND_DATETIME, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DateTime_members /* .members */ -}, -/* Guid */ -{ - UA_TYPENAME("Guid") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Guid), /* .memSize */ - UA_DATATYPEKIND_GUID, /* .typeKind */ - true, /* .pointerFree */ - (UA_BINARY_OVERLAYABLE_INTEGER && offsetof(UA_Guid, data2) == sizeof(UA_UInt32) && offsetof(UA_Guid, data3) == (sizeof(UA_UInt16) + sizeof(UA_UInt32)) && offsetof(UA_Guid, data4) == (2*sizeof(UA_UInt32))), /* .overlayable */ - 0, /* .membersSize */ - Guid_members /* .members */ -}, -/* ByteString */ -{ - UA_TYPENAME("ByteString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ByteString), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ByteString_members /* .members */ -}, -/* XmlElement */ -{ - UA_TYPENAME("XmlElement") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {16LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_XmlElement), /* .memSize */ - UA_DATATYPEKIND_XMLELEMENT, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - XmlElement_members /* .members */ -}, -/* NodeId */ -{ - UA_TYPENAME("NodeId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_NodeId), /* .memSize */ - UA_DATATYPEKIND_NODEID, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - NodeId_members /* .members */ -}, -/* ExpandedNodeId */ -{ - UA_TYPENAME("ExpandedNodeId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {18LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ExpandedNodeId), /* .memSize */ - UA_DATATYPEKIND_EXPANDEDNODEID, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ExpandedNodeId_members /* .members */ -}, -/* StatusCode */ -{ - UA_TYPENAME("StatusCode") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {19LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_StatusCode), /* .memSize */ - UA_DATATYPEKIND_STATUSCODE, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - StatusCode_members /* .members */ -}, -/* QualifiedName */ -{ - UA_TYPENAME("QualifiedName") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {20LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_QualifiedName), /* .memSize */ - UA_DATATYPEKIND_QUALIFIEDNAME, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - QualifiedName_members /* .members */ -}, -/* LocalizedText */ -{ - UA_TYPENAME("LocalizedText") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {21LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_LocalizedText), /* .memSize */ - UA_DATATYPEKIND_LOCALIZEDTEXT, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - LocalizedText_members /* .members */ -}, -/* ExtensionObject */ -{ - UA_TYPENAME("ExtensionObject") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {22LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ExtensionObject), /* .memSize */ - UA_DATATYPEKIND_EXTENSIONOBJECT, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ExtensionObject_members /* .members */ -}, -/* DataValue */ -{ - UA_TYPENAME("DataValue") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DataValue), /* .memSize */ - UA_DATATYPEKIND_DATAVALUE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - DataValue_members /* .members */ -}, -/* Variant */ -{ - UA_TYPENAME("Variant") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Variant), /* .memSize */ - UA_DATATYPEKIND_VARIANT, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - Variant_members /* .members */ -}, -/* DiagnosticInfo */ -{ - UA_TYPENAME("DiagnosticInfo") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DiagnosticInfo), /* .memSize */ - UA_DATATYPEKIND_DIAGNOSTICINFO, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - DiagnosticInfo_members /* .members */ -}, -/* NamingRuleType */ -{ - UA_TYPENAME("NamingRuleType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {120LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_NamingRuleType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - NamingRuleType_members /* .members */ -}, -/* Enumeration */ -{ - UA_TYPENAME("Enumeration") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {29LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Enumeration), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - Enumeration_members /* .members */ -}, -/* ImageBMP */ -{ - UA_TYPENAME("ImageBMP") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {2000LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ImageBMP), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ImageBMP_members /* .members */ -}, -/* ImageGIF */ -{ - UA_TYPENAME("ImageGIF") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {2001LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ImageGIF), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ImageGIF_members /* .members */ -}, -/* ImageJPG */ -{ - UA_TYPENAME("ImageJPG") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {2002LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ImageJPG), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ImageJPG_members /* .members */ -}, -/* ImagePNG */ -{ - UA_TYPENAME("ImagePNG") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {2003LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ImagePNG), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ImagePNG_members /* .members */ -}, -/* AudioDataType */ -{ - UA_TYPENAME("AudioDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {16307LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AudioDataType), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - AudioDataType_members /* .members */ -}, -/* UriString */ -{ - UA_TYPENAME("UriString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23751LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UriString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - UriString_members /* .members */ -}, -/* BitFieldMaskDataType */ -{ - UA_TYPENAME("BitFieldMaskDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11737LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_BitFieldMaskDataType), /* .memSize */ - UA_DATATYPEKIND_UINT64, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - BitFieldMaskDataType_members /* .members */ -}, -/* SemanticVersionString */ -{ - UA_TYPENAME("SemanticVersionString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24263LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_SemanticVersionString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - SemanticVersionString_members /* .members */ -}, -/* KeyValuePair */ -{ - UA_TYPENAME("KeyValuePair") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14533LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14846LU}}, /* .binaryEncodingId */ - sizeof(UA_KeyValuePair), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - KeyValuePair_members /* .members */ -}, -/* AdditionalParametersType */ -{ - UA_TYPENAME("AdditionalParametersType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {16313LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {17537LU}}, /* .binaryEncodingId */ - sizeof(UA_AdditionalParametersType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - AdditionalParametersType_members /* .members */ -}, -/* EphemeralKeyType */ -{ - UA_TYPENAME("EphemeralKeyType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17548LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {17549LU}}, /* .binaryEncodingId */ - sizeof(UA_EphemeralKeyType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - EphemeralKeyType_members /* .members */ -}, -/* Handle */ -{ - UA_TYPENAME("Handle") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {31917LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Handle), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - Handle_members /* .members */ -}, -/* TrimmedString */ -{ - UA_TYPENAME("TrimmedString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {31918LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TrimmedString), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - TrimmedString_members /* .members */ -}, -/* RationalNumber */ -{ - UA_TYPENAME("RationalNumber") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {18806LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {18815LU}}, /* .binaryEncodingId */ - sizeof(UA_RationalNumber), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - RationalNumber_members /* .members */ -}, -/* ThreeDVector */ -{ - UA_TYPENAME("ThreeDVector") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {18808LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {18817LU}}, /* .binaryEncodingId */ - sizeof(UA_ThreeDVector), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ThreeDVector_members /* .members */ -}, -/* ThreeDCartesianCoordinates */ -{ - UA_TYPENAME("ThreeDCartesianCoordinates") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {18810LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {18819LU}}, /* .binaryEncodingId */ - sizeof(UA_ThreeDCartesianCoordinates), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ThreeDCartesianCoordinates_members /* .members */ -}, -/* ThreeDOrientation */ -{ - UA_TYPENAME("ThreeDOrientation") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {18812LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {18821LU}}, /* .binaryEncodingId */ - sizeof(UA_ThreeDOrientation), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ThreeDOrientation_members /* .members */ -}, -/* ThreeDFrame */ -{ - UA_TYPENAME("ThreeDFrame") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {18814LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {18823LU}}, /* .binaryEncodingId */ - sizeof(UA_ThreeDFrame), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ThreeDFrame_members /* .members */ -}, -/* OpenFileMode */ -{ - UA_TYPENAME("OpenFileMode") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11939LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_OpenFileMode), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - OpenFileMode_members /* .members */ -}, -/* IdentityCriteriaType */ -{ - UA_TYPENAME("IdentityCriteriaType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15632LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_IdentityCriteriaType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - IdentityCriteriaType_members /* .members */ -}, -/* IdentityMappingRuleType */ -{ - UA_TYPENAME("IdentityMappingRuleType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15634LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15736LU}}, /* .binaryEncodingId */ - sizeof(UA_IdentityMappingRuleType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - IdentityMappingRuleType_members /* .members */ -}, -/* CurrencyUnitType */ -{ - UA_TYPENAME("CurrencyUnitType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23498LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23507LU}}, /* .binaryEncodingId */ - sizeof(UA_CurrencyUnitType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - CurrencyUnitType_members /* .members */ -}, -/* AlarmMask */ -{ - UA_TYPENAME("AlarmMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {32251LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AlarmMask), /* .memSize */ - UA_DATATYPEKIND_UINT16, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - AlarmMask_members /* .members */ -}, -/* TrustListValidationOptions */ -{ - UA_TYPENAME("TrustListValidationOptions") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23564LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TrustListValidationOptions), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TrustListValidationOptions_members /* .members */ -}, -/* TrustListMasks */ -{ - UA_TYPENAME("TrustListMasks") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12552LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TrustListMasks), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TrustListMasks_members /* .members */ -}, -/* TrustListDataType */ -{ - UA_TYPENAME("TrustListDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12554LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12680LU}}, /* .binaryEncodingId */ - sizeof(UA_TrustListDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - TrustListDataType_members /* .members */ -}, -/* TransactionErrorType */ -{ - UA_TYPENAME("TransactionErrorType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {32285LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {32382LU}}, /* .binaryEncodingId */ - sizeof(UA_TransactionErrorType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - TransactionErrorType_members /* .members */ -}, -/* DataTypeDescription */ -{ - UA_TYPENAME("DataTypeDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14525LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {125LU}}, /* .binaryEncodingId */ - sizeof(UA_DataTypeDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DataTypeDescription_members /* .members */ -}, -/* SimpleTypeDescription */ -{ - UA_TYPENAME("SimpleTypeDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15005LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15421LU}}, /* .binaryEncodingId */ - sizeof(UA_SimpleTypeDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - SimpleTypeDescription_members /* .members */ -}, -/* PortableQualifiedName */ -{ - UA_TYPENAME("PortableQualifiedName") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24105LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {24108LU}}, /* .binaryEncodingId */ - sizeof(UA_PortableQualifiedName), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - PortableQualifiedName_members /* .members */ -}, -/* PortableNodeId */ -{ - UA_TYPENAME("PortableNodeId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24106LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {24109LU}}, /* .binaryEncodingId */ - sizeof(UA_PortableNodeId), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - PortableNodeId_members /* .members */ -}, -/* UnsignedRationalNumber */ -{ - UA_TYPENAME("UnsignedRationalNumber") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24107LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {24110LU}}, /* .binaryEncodingId */ - sizeof(UA_UnsignedRationalNumber), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - UnsignedRationalNumber_members /* .members */ -}, -/* PubSubState */ -{ - UA_TYPENAME("PubSubState") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14647LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_PubSubState), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - PubSubState_members /* .members */ -}, -/* DataSetFieldFlags */ -{ - UA_TYPENAME("DataSetFieldFlags") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15904LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DataSetFieldFlags), /* .memSize */ - UA_DATATYPEKIND_UINT16, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DataSetFieldFlags_members /* .members */ -}, -/* ConfigurationVersionDataType */ -{ - UA_TYPENAME("ConfigurationVersionDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14593LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14847LU}}, /* .binaryEncodingId */ - sizeof(UA_ConfigurationVersionDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ConfigurationVersionDataType_members /* .members */ -}, -/* PublishedVariableDataType */ -{ - UA_TYPENAME("PublishedVariableDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14273LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14323LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishedVariableDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 8, /* .membersSize */ - PublishedVariableDataType_members /* .members */ -}, -/* PublishedDataItemsDataType */ -{ - UA_TYPENAME("PublishedDataItemsDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15581LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15679LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishedDataItemsDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - PublishedDataItemsDataType_members /* .members */ -}, -/* PublishedDataSetCustomSourceDataType */ -{ - UA_TYPENAME("PublishedDataSetCustomSourceDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25269LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {25529LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishedDataSetCustomSourceDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - PublishedDataSetCustomSourceDataType_members /* .members */ -}, -/* DataSetFieldContentMask */ -{ - UA_TYPENAME("DataSetFieldContentMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15583LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DataSetFieldContentMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DataSetFieldContentMask_members /* .members */ -}, -/* DataSetWriterDataType */ -{ - UA_TYPENAME("DataSetWriterDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15597LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15682LU}}, /* .binaryEncodingId */ - sizeof(UA_DataSetWriterDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - DataSetWriterDataType_members /* .members */ -}, -/* NetworkAddressDataType */ -{ - UA_TYPENAME("NetworkAddressDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15502LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21151LU}}, /* .binaryEncodingId */ - sizeof(UA_NetworkAddressDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - NetworkAddressDataType_members /* .members */ -}, -/* NetworkAddressUrlDataType */ -{ - UA_TYPENAME("NetworkAddressUrlDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15510LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21152LU}}, /* .binaryEncodingId */ - sizeof(UA_NetworkAddressUrlDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - NetworkAddressUrlDataType_members /* .members */ -}, -/* OverrideValueHandling */ -{ - UA_TYPENAME("OverrideValueHandling") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15874LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_OverrideValueHandling), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - OverrideValueHandling_members /* .members */ -}, -/* StandaloneSubscribedDataSetRefDataType */ -{ - UA_TYPENAME("StandaloneSubscribedDataSetRefDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23599LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23851LU}}, /* .binaryEncodingId */ - sizeof(UA_StandaloneSubscribedDataSetRefDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - StandaloneSubscribedDataSetRefDataType_members /* .members */ -}, -/* DataSetOrderingType */ -{ - UA_TYPENAME("DataSetOrderingType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {20408LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DataSetOrderingType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DataSetOrderingType_members /* .members */ -}, -/* UadpNetworkMessageContentMask */ -{ - UA_TYPENAME("UadpNetworkMessageContentMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15642LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UadpNetworkMessageContentMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UadpNetworkMessageContentMask_members /* .members */ -}, -/* UadpWriterGroupMessageDataType */ -{ - UA_TYPENAME("UadpWriterGroupMessageDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15645LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15715LU}}, /* .binaryEncodingId */ - sizeof(UA_UadpWriterGroupMessageDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - UadpWriterGroupMessageDataType_members /* .members */ -}, -/* UadpDataSetMessageContentMask */ -{ - UA_TYPENAME("UadpDataSetMessageContentMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15646LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UadpDataSetMessageContentMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UadpDataSetMessageContentMask_members /* .members */ -}, -/* UadpDataSetWriterMessageDataType */ -{ - UA_TYPENAME("UadpDataSetWriterMessageDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15652LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15717LU}}, /* .binaryEncodingId */ - sizeof(UA_UadpDataSetWriterMessageDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - UadpDataSetWriterMessageDataType_members /* .members */ -}, -/* UadpDataSetReaderMessageDataType */ -{ - UA_TYPENAME("UadpDataSetReaderMessageDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15653LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15718LU}}, /* .binaryEncodingId */ - sizeof(UA_UadpDataSetReaderMessageDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - UadpDataSetReaderMessageDataType_members /* .members */ -}, -/* JsonNetworkMessageContentMask */ -{ - UA_TYPENAME("JsonNetworkMessageContentMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15654LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_JsonNetworkMessageContentMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - JsonNetworkMessageContentMask_members /* .members */ -}, -/* JsonWriterGroupMessageDataType */ -{ - UA_TYPENAME("JsonWriterGroupMessageDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15657LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15719LU}}, /* .binaryEncodingId */ - sizeof(UA_JsonWriterGroupMessageDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - JsonWriterGroupMessageDataType_members /* .members */ -}, -/* JsonDataSetMessageContentMask */ -{ - UA_TYPENAME("JsonDataSetMessageContentMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15658LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_JsonDataSetMessageContentMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - JsonDataSetMessageContentMask_members /* .members */ -}, -/* JsonDataSetWriterMessageDataType */ -{ - UA_TYPENAME("JsonDataSetWriterMessageDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15664LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15724LU}}, /* .binaryEncodingId */ - sizeof(UA_JsonDataSetWriterMessageDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - JsonDataSetWriterMessageDataType_members /* .members */ -}, -/* JsonDataSetReaderMessageDataType */ -{ - UA_TYPENAME("JsonDataSetReaderMessageDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15665LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15725LU}}, /* .binaryEncodingId */ - sizeof(UA_JsonDataSetReaderMessageDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - JsonDataSetReaderMessageDataType_members /* .members */ -}, -/* TransmitQosPriorityDataType */ -{ - UA_TYPENAME("TransmitQosPriorityDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23605LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23857LU}}, /* .binaryEncodingId */ - sizeof(UA_TransmitQosPriorityDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - TransmitQosPriorityDataType_members /* .members */ -}, -/* ReceiveQosPriorityDataType */ -{ - UA_TYPENAME("ReceiveQosPriorityDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23609LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23861LU}}, /* .binaryEncodingId */ - sizeof(UA_ReceiveQosPriorityDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - ReceiveQosPriorityDataType_members /* .members */ -}, -/* DatagramConnectionTransportDataType */ -{ - UA_TYPENAME("DatagramConnectionTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17467LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {17468LU}}, /* .binaryEncodingId */ - sizeof(UA_DatagramConnectionTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - DatagramConnectionTransportDataType_members /* .members */ -}, -/* DatagramConnectionTransport2DataType */ -{ - UA_TYPENAME("DatagramConnectionTransport2DataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23612LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23864LU}}, /* .binaryEncodingId */ - sizeof(UA_DatagramConnectionTransport2DataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - DatagramConnectionTransport2DataType_members /* .members */ -}, -/* DatagramWriterGroupTransportDataType */ -{ - UA_TYPENAME("DatagramWriterGroupTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15532LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21155LU}}, /* .binaryEncodingId */ - sizeof(UA_DatagramWriterGroupTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DatagramWriterGroupTransportDataType_members /* .members */ -}, -/* DatagramWriterGroupTransport2DataType */ -{ - UA_TYPENAME("DatagramWriterGroupTransport2DataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23613LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23865LU}}, /* .binaryEncodingId */ - sizeof(UA_DatagramWriterGroupTransport2DataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - DatagramWriterGroupTransport2DataType_members /* .members */ -}, -/* DatagramDataSetReaderTransportDataType */ -{ - UA_TYPENAME("DatagramDataSetReaderTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23614LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23866LU}}, /* .binaryEncodingId */ - sizeof(UA_DatagramDataSetReaderTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - DatagramDataSetReaderTransportDataType_members /* .members */ -}, -/* BrokerConnectionTransportDataType */ -{ - UA_TYPENAME("BrokerConnectionTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15007LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15479LU}}, /* .binaryEncodingId */ - sizeof(UA_BrokerConnectionTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - BrokerConnectionTransportDataType_members /* .members */ -}, -/* BrokerTransportQualityOfService */ -{ - UA_TYPENAME("BrokerTransportQualityOfService") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15008LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_BrokerTransportQualityOfService), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - BrokerTransportQualityOfService_members /* .members */ -}, -/* BrokerWriterGroupTransportDataType */ -{ - UA_TYPENAME("BrokerWriterGroupTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15667LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15727LU}}, /* .binaryEncodingId */ - sizeof(UA_BrokerWriterGroupTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - BrokerWriterGroupTransportDataType_members /* .members */ -}, -/* BrokerDataSetWriterTransportDataType */ -{ - UA_TYPENAME("BrokerDataSetWriterTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15669LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15729LU}}, /* .binaryEncodingId */ - sizeof(UA_BrokerDataSetWriterTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - BrokerDataSetWriterTransportDataType_members /* .members */ -}, -/* BrokerDataSetReaderTransportDataType */ -{ - UA_TYPENAME("BrokerDataSetReaderTransportDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15670LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15733LU}}, /* .binaryEncodingId */ - sizeof(UA_BrokerDataSetReaderTransportDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - BrokerDataSetReaderTransportDataType_members /* .members */ -}, -/* PubSubConfigurationRefMask */ -{ - UA_TYPENAME("PubSubConfigurationRefMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25517LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_PubSubConfigurationRefMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - PubSubConfigurationRefMask_members /* .members */ -}, -/* PubSubConfigurationRefDataType */ -{ - UA_TYPENAME("PubSubConfigurationRefDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25519LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {25531LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubConfigurationRefDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - PubSubConfigurationRefDataType_members /* .members */ -}, -/* PubSubConfigurationValueDataType */ -{ - UA_TYPENAME("PubSubConfigurationValueDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25520LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {25532LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubConfigurationValueDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - PubSubConfigurationValueDataType_members /* .members */ -}, -/* DiagnosticsLevel */ -{ - UA_TYPENAME("DiagnosticsLevel") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {19723LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DiagnosticsLevel), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DiagnosticsLevel_members /* .members */ -}, -/* PubSubDiagnosticsCounterClassification */ -{ - UA_TYPENAME("PubSubDiagnosticsCounterClassification") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {19730LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_PubSubDiagnosticsCounterClassification), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - PubSubDiagnosticsCounterClassification_members /* .members */ -}, -/* AliasNameDataType */ -{ - UA_TYPENAME("AliasNameDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23468LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23499LU}}, /* .binaryEncodingId */ - sizeof(UA_AliasNameDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - AliasNameDataType_members /* .members */ -}, -/* PasswordOptionsMask */ -{ - UA_TYPENAME("PasswordOptionsMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24277LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_PasswordOptionsMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - PasswordOptionsMask_members /* .members */ -}, -/* UserConfigurationMask */ -{ - UA_TYPENAME("UserConfigurationMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24279LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UserConfigurationMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UserConfigurationMask_members /* .members */ -}, -/* UserManagementDataType */ -{ - UA_TYPENAME("UserManagementDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24281LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {24292LU}}, /* .binaryEncodingId */ - sizeof(UA_UserManagementDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - UserManagementDataType_members /* .members */ -}, -/* EncodedTicket */ -{ - UA_TYPENAME("EncodedTicket") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25726LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_EncodedTicket), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - EncodedTicket_members /* .members */ -}, -/* Duplex */ -{ - UA_TYPENAME("Duplex") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24210LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Duplex), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - Duplex_members /* .members */ -}, -/* InterfaceAdminStatus */ -{ - UA_TYPENAME("InterfaceAdminStatus") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24212LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_InterfaceAdminStatus), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - InterfaceAdminStatus_members /* .members */ -}, -/* InterfaceOperStatus */ -{ - UA_TYPENAME("InterfaceOperStatus") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24214LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_InterfaceOperStatus), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - InterfaceOperStatus_members /* .members */ -}, -/* NegotiationStatus */ -{ - UA_TYPENAME("NegotiationStatus") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24216LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_NegotiationStatus), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - NegotiationStatus_members /* .members */ -}, -/* TsnFailureCode */ -{ - UA_TYPENAME("TsnFailureCode") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24218LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TsnFailureCode), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TsnFailureCode_members /* .members */ -}, -/* TsnStreamState */ -{ - UA_TYPENAME("TsnStreamState") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24220LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TsnStreamState), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TsnStreamState_members /* .members */ -}, -/* TsnTalkerStatus */ -{ - UA_TYPENAME("TsnTalkerStatus") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24222LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TsnTalkerStatus), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TsnTalkerStatus_members /* .members */ -}, -/* TsnListenerStatus */ -{ - UA_TYPENAME("TsnListenerStatus") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24224LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TsnListenerStatus), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TsnListenerStatus_members /* .members */ -}, -/* PriorityMappingEntryType */ -{ - UA_TYPENAME("PriorityMappingEntryType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25220LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {25239LU}}, /* .binaryEncodingId */ - sizeof(UA_PriorityMappingEntryType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - PriorityMappingEntryType_members /* .members */ -}, -/* ReferenceDescriptionDataType */ -{ - UA_TYPENAME("ReferenceDescriptionDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {32659LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {32661LU}}, /* .binaryEncodingId */ - sizeof(UA_ReferenceDescriptionDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ReferenceDescriptionDataType_members /* .members */ -}, -/* ReferenceListEntryDataType */ -{ - UA_TYPENAME("ReferenceListEntryDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {32660LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {32662LU}}, /* .binaryEncodingId */ - sizeof(UA_ReferenceListEntryDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ReferenceListEntryDataType_members /* .members */ -}, -/* IdType */ -{ - UA_TYPENAME("IdType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {256LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_IdType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - IdType_members /* .members */ -}, -/* NodeClass */ -{ - UA_TYPENAME("NodeClass") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {257LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_NodeClass), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - NodeClass_members /* .members */ -}, -/* PermissionType */ -{ - UA_TYPENAME("PermissionType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {94LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_PermissionType), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - PermissionType_members /* .members */ -}, -/* AccessLevelType */ -{ - UA_TYPENAME("AccessLevelType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15031LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AccessLevelType), /* .memSize */ - UA_DATATYPEKIND_BYTE, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - AccessLevelType_members /* .members */ -}, -/* AccessLevelExType */ -{ - UA_TYPENAME("AccessLevelExType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15406LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AccessLevelExType), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - AccessLevelExType_members /* .members */ -}, -/* EventNotifierType */ -{ - UA_TYPENAME("EventNotifierType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15033LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_EventNotifierType), /* .memSize */ - UA_DATATYPEKIND_BYTE, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - EventNotifierType_members /* .members */ -}, -/* AccessRestrictionType */ -{ - UA_TYPENAME("AccessRestrictionType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {95LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AccessRestrictionType), /* .memSize */ - UA_DATATYPEKIND_UINT16, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - AccessRestrictionType_members /* .members */ -}, -/* RolePermissionType */ -{ - UA_TYPENAME("RolePermissionType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {96LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {128LU}}, /* .binaryEncodingId */ - sizeof(UA_RolePermissionType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - RolePermissionType_members /* .members */ -}, -/* StructureType */ -{ - UA_TYPENAME("StructureType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {98LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_StructureType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - StructureType_members /* .members */ -}, -/* StructureField */ -{ - UA_TYPENAME("StructureField") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {101LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14844LU}}, /* .binaryEncodingId */ - sizeof(UA_StructureField), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - StructureField_members /* .members */ -}, -/* StructureDefinition */ -{ - UA_TYPENAME("StructureDefinition") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {99LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {122LU}}, /* .binaryEncodingId */ - sizeof(UA_StructureDefinition), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - StructureDefinition_members /* .members */ -}, -/* Argument */ -{ - UA_TYPENAME("Argument") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {296LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {298LU}}, /* .binaryEncodingId */ - sizeof(UA_Argument), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - Argument_members /* .members */ -}, -/* EnumValueType */ -{ - UA_TYPENAME("EnumValueType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {7594LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {8251LU}}, /* .binaryEncodingId */ - sizeof(UA_EnumValueType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - EnumValueType_members /* .members */ -}, -/* EnumField */ -{ - UA_TYPENAME("EnumField") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {102LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14845LU}}, /* .binaryEncodingId */ - sizeof(UA_EnumField), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - EnumField_members /* .members */ -}, -/* OptionSet */ -{ - UA_TYPENAME("OptionSet") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12755LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12765LU}}, /* .binaryEncodingId */ - sizeof(UA_OptionSet), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - OptionSet_members /* .members */ -}, -/* NormalizedString */ -{ - UA_TYPENAME("NormalizedString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12877LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_NormalizedString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - NormalizedString_members /* .members */ -}, -/* DecimalString */ -{ - UA_TYPENAME("DecimalString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12878LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DecimalString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - DecimalString_members /* .members */ -}, -/* DurationString */ -{ - UA_TYPENAME("DurationString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12879LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DurationString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - DurationString_members /* .members */ -}, -/* TimeString */ -{ - UA_TYPENAME("TimeString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12880LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TimeString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - TimeString_members /* .members */ -}, -/* DateString */ -{ - UA_TYPENAME("DateString") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12881LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DateString), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - DateString_members /* .members */ -}, -/* Duration */ -{ - UA_TYPENAME("Duration") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {290LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Duration), /* .memSize */ - UA_DATATYPEKIND_DOUBLE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - Duration_members /* .members */ -}, -/* UtcTime */ -{ - UA_TYPENAME("UtcTime") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {294LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UtcTime), /* .memSize */ - UA_DATATYPEKIND_DATETIME, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - UtcTime_members /* .members */ -}, -/* LocaleId */ -{ - UA_TYPENAME("LocaleId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {295LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_LocaleId), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - LocaleId_members /* .members */ -}, -/* TimeZoneDataType */ -{ - UA_TYPENAME("TimeZoneDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {8912LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {8917LU}}, /* .binaryEncodingId */ - sizeof(UA_TimeZoneDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - TimeZoneDataType_members /* .members */ -}, -/* Index */ -{ - UA_TYPENAME("Index") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17588LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Index), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - Index_members /* .members */ -}, -/* IntegerId */ -{ - UA_TYPENAME("IntegerId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {288LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_IntegerId), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - IntegerId_members /* .members */ -}, -/* ApplicationType */ -{ - UA_TYPENAME("ApplicationType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {307LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ApplicationType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - ApplicationType_members /* .members */ -}, -/* ApplicationDescription */ -{ - UA_TYPENAME("ApplicationDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {308LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {310LU}}, /* .binaryEncodingId */ - sizeof(UA_ApplicationDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - ApplicationDescription_members /* .members */ -}, -/* RequestHeader */ -{ - UA_TYPENAME("RequestHeader") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {389LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {391LU}}, /* .binaryEncodingId */ - sizeof(UA_RequestHeader), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - RequestHeader_members /* .members */ -}, -/* ResponseHeader */ -{ - UA_TYPENAME("ResponseHeader") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {392LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {394LU}}, /* .binaryEncodingId */ - sizeof(UA_ResponseHeader), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - ResponseHeader_members /* .members */ -}, -/* VersionTime */ -{ - UA_TYPENAME("VersionTime") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {20998LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_VersionTime), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - VersionTime_members /* .members */ -}, -/* ServiceFault */ -{ - UA_TYPENAME("ServiceFault") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {395LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {397LU}}, /* .binaryEncodingId */ - sizeof(UA_ServiceFault), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - ServiceFault_members /* .members */ -}, -/* SessionlessInvokeRequestType */ -{ - UA_TYPENAME("SessionlessInvokeRequestType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15901LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15903LU}}, /* .binaryEncodingId */ - sizeof(UA_SessionlessInvokeRequestType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - SessionlessInvokeRequestType_members /* .members */ -}, -/* SessionlessInvokeResponseType */ -{ - UA_TYPENAME("SessionlessInvokeResponseType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {20999LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21001LU}}, /* .binaryEncodingId */ - sizeof(UA_SessionlessInvokeResponseType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - SessionlessInvokeResponseType_members /* .members */ -}, -/* FindServersRequest */ -{ - UA_TYPENAME("FindServersRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {420LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {422LU}}, /* .binaryEncodingId */ - sizeof(UA_FindServersRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - FindServersRequest_members /* .members */ -}, -/* FindServersResponse */ -{ - UA_TYPENAME("FindServersResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {423LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {425LU}}, /* .binaryEncodingId */ - sizeof(UA_FindServersResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - FindServersResponse_members /* .members */ -}, -/* ServerOnNetwork */ -{ - UA_TYPENAME("ServerOnNetwork") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12189LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12207LU}}, /* .binaryEncodingId */ - sizeof(UA_ServerOnNetwork), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ServerOnNetwork_members /* .members */ -}, -/* FindServersOnNetworkRequest */ -{ - UA_TYPENAME("FindServersOnNetworkRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12190LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12208LU}}, /* .binaryEncodingId */ - sizeof(UA_FindServersOnNetworkRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - FindServersOnNetworkRequest_members /* .members */ -}, -/* FindServersOnNetworkResponse */ -{ - UA_TYPENAME("FindServersOnNetworkResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12191LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12209LU}}, /* .binaryEncodingId */ - sizeof(UA_FindServersOnNetworkResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - FindServersOnNetworkResponse_members /* .members */ -}, -/* ApplicationInstanceCertificate */ -{ - UA_TYPENAME("ApplicationInstanceCertificate") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {311LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ApplicationInstanceCertificate), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ApplicationInstanceCertificate_members /* .members */ -}, -/* MessageSecurityMode */ -{ - UA_TYPENAME("MessageSecurityMode") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {302LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_MessageSecurityMode), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - MessageSecurityMode_members /* .members */ -}, -/* UserTokenType */ -{ - UA_TYPENAME("UserTokenType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {303LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_UserTokenType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - UserTokenType_members /* .members */ -}, -/* UserTokenPolicy */ -{ - UA_TYPENAME("UserTokenPolicy") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {304LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {306LU}}, /* .binaryEncodingId */ - sizeof(UA_UserTokenPolicy), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - UserTokenPolicy_members /* .members */ -}, -/* EndpointDescription */ -{ - UA_TYPENAME("EndpointDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {312LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {314LU}}, /* .binaryEncodingId */ - sizeof(UA_EndpointDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 8, /* .membersSize */ - EndpointDescription_members /* .members */ -}, -/* GetEndpointsRequest */ -{ - UA_TYPENAME("GetEndpointsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {426LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {428LU}}, /* .binaryEncodingId */ - sizeof(UA_GetEndpointsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - GetEndpointsRequest_members /* .members */ -}, -/* GetEndpointsResponse */ -{ - UA_TYPENAME("GetEndpointsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {429LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {431LU}}, /* .binaryEncodingId */ - sizeof(UA_GetEndpointsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - GetEndpointsResponse_members /* .members */ -}, -/* RegisteredServer */ -{ - UA_TYPENAME("RegisteredServer") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {432LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {434LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisteredServer), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 8, /* .membersSize */ - RegisteredServer_members /* .members */ -}, -/* RegisterServerRequest */ -{ - UA_TYPENAME("RegisterServerRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {435LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {437LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisterServerRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - RegisterServerRequest_members /* .members */ -}, -/* RegisterServerResponse */ -{ - UA_TYPENAME("RegisterServerResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {438LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {440LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisterServerResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - RegisterServerResponse_members /* .members */ -}, -/* MdnsDiscoveryConfiguration */ -{ - UA_TYPENAME("MdnsDiscoveryConfiguration") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12891LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12901LU}}, /* .binaryEncodingId */ - sizeof(UA_MdnsDiscoveryConfiguration), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - MdnsDiscoveryConfiguration_members /* .members */ -}, -/* RegisterServer2Request */ -{ - UA_TYPENAME("RegisterServer2Request") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12193LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12211LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisterServer2Request), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - RegisterServer2Request_members /* .members */ -}, -/* RegisterServer2Response */ -{ - UA_TYPENAME("RegisterServer2Response") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12194LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12212LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisterServer2Response), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - RegisterServer2Response_members /* .members */ -}, -/* SecurityTokenRequestType */ -{ - UA_TYPENAME("SecurityTokenRequestType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {315LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_SecurityTokenRequestType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - SecurityTokenRequestType_members /* .members */ -}, -/* ChannelSecurityToken */ -{ - UA_TYPENAME("ChannelSecurityToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {441LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {443LU}}, /* .binaryEncodingId */ - sizeof(UA_ChannelSecurityToken), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ChannelSecurityToken_members /* .members */ -}, -/* OpenSecureChannelRequest */ -{ - UA_TYPENAME("OpenSecureChannelRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {444LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {446LU}}, /* .binaryEncodingId */ - sizeof(UA_OpenSecureChannelRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - OpenSecureChannelRequest_members /* .members */ -}, -/* OpenSecureChannelResponse */ -{ - UA_TYPENAME("OpenSecureChannelResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {447LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {449LU}}, /* .binaryEncodingId */ - sizeof(UA_OpenSecureChannelResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - OpenSecureChannelResponse_members /* .members */ -}, -/* CloseSecureChannelRequest */ -{ - UA_TYPENAME("CloseSecureChannelRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {450LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {452LU}}, /* .binaryEncodingId */ - sizeof(UA_CloseSecureChannelRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - CloseSecureChannelRequest_members /* .members */ -}, -/* CloseSecureChannelResponse */ -{ - UA_TYPENAME("CloseSecureChannelResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {453LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {455LU}}, /* .binaryEncodingId */ - sizeof(UA_CloseSecureChannelResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - CloseSecureChannelResponse_members /* .members */ -}, -/* SignedSoftwareCertificate */ -{ - UA_TYPENAME("SignedSoftwareCertificate") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {344LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {346LU}}, /* .binaryEncodingId */ - sizeof(UA_SignedSoftwareCertificate), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - SignedSoftwareCertificate_members /* .members */ -}, -/* SessionAuthenticationToken */ -{ - UA_TYPENAME("SessionAuthenticationToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {388LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_SessionAuthenticationToken), /* .memSize */ - UA_DATATYPEKIND_NODEID, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - SessionAuthenticationToken_members /* .members */ -}, -/* SignatureData */ -{ - UA_TYPENAME("SignatureData") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {456LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {458LU}}, /* .binaryEncodingId */ - sizeof(UA_SignatureData), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - SignatureData_members /* .members */ -}, -/* CreateSessionRequest */ -{ - UA_TYPENAME("CreateSessionRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {459LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {461LU}}, /* .binaryEncodingId */ - sizeof(UA_CreateSessionRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - CreateSessionRequest_members /* .members */ -}, -/* CreateSessionResponse */ -{ - UA_TYPENAME("CreateSessionResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {462LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {464LU}}, /* .binaryEncodingId */ - sizeof(UA_CreateSessionResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 10, /* .membersSize */ - CreateSessionResponse_members /* .members */ -}, -/* UserIdentityToken */ -{ - UA_TYPENAME("UserIdentityToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {316LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {318LU}}, /* .binaryEncodingId */ - sizeof(UA_UserIdentityToken), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - UserIdentityToken_members /* .members */ -}, -/* AnonymousIdentityToken */ -{ - UA_TYPENAME("AnonymousIdentityToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {319LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {321LU}}, /* .binaryEncodingId */ - sizeof(UA_AnonymousIdentityToken), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - AnonymousIdentityToken_members /* .members */ -}, -/* UserNameIdentityToken */ -{ - UA_TYPENAME("UserNameIdentityToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {322LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {324LU}}, /* .binaryEncodingId */ - sizeof(UA_UserNameIdentityToken), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - UserNameIdentityToken_members /* .members */ -}, -/* X509IdentityToken */ -{ - UA_TYPENAME("X509IdentityToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {325LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {327LU}}, /* .binaryEncodingId */ - sizeof(UA_X509IdentityToken), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - X509IdentityToken_members /* .members */ -}, -/* IssuedIdentityToken */ -{ - UA_TYPENAME("IssuedIdentityToken") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {938LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {940LU}}, /* .binaryEncodingId */ - sizeof(UA_IssuedIdentityToken), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - IssuedIdentityToken_members /* .members */ -}, -/* RsaEncryptedSecret */ -{ - UA_TYPENAME("RsaEncryptedSecret") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17545LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_RsaEncryptedSecret), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - RsaEncryptedSecret_members /* .members */ -}, -/* EccEncryptedSecret */ -{ - UA_TYPENAME("EccEncryptedSecret") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17546LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_EccEncryptedSecret), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - EccEncryptedSecret_members /* .members */ -}, -/* ActivateSessionRequest */ -{ - UA_TYPENAME("ActivateSessionRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {465LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {467LU}}, /* .binaryEncodingId */ - sizeof(UA_ActivateSessionRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - ActivateSessionRequest_members /* .members */ -}, -/* ActivateSessionResponse */ -{ - UA_TYPENAME("ActivateSessionResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {468LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {470LU}}, /* .binaryEncodingId */ - sizeof(UA_ActivateSessionResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ActivateSessionResponse_members /* .members */ -}, -/* CloseSessionRequest */ -{ - UA_TYPENAME("CloseSessionRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {471LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {473LU}}, /* .binaryEncodingId */ - sizeof(UA_CloseSessionRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - CloseSessionRequest_members /* .members */ -}, -/* CloseSessionResponse */ -{ - UA_TYPENAME("CloseSessionResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {474LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {476LU}}, /* .binaryEncodingId */ - sizeof(UA_CloseSessionResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - CloseSessionResponse_members /* .members */ -}, -/* CancelRequest */ -{ - UA_TYPENAME("CancelRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {477LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {479LU}}, /* .binaryEncodingId */ - sizeof(UA_CancelRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - CancelRequest_members /* .members */ -}, -/* CancelResponse */ -{ - UA_TYPENAME("CancelResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {480LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {482LU}}, /* .binaryEncodingId */ - sizeof(UA_CancelResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - CancelResponse_members /* .members */ -}, -/* NodeAttributesMask */ -{ - UA_TYPENAME("NodeAttributesMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {348LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_NodeAttributesMask), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - NodeAttributesMask_members /* .members */ -}, -/* NodeAttributes */ -{ - UA_TYPENAME("NodeAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {349LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {351LU}}, /* .binaryEncodingId */ - sizeof(UA_NodeAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - NodeAttributes_members /* .members */ -}, -/* ObjectAttributes */ -{ - UA_TYPENAME("ObjectAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {352LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {354LU}}, /* .binaryEncodingId */ - sizeof(UA_ObjectAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - ObjectAttributes_members /* .members */ -}, -/* VariableAttributes */ -{ - UA_TYPENAME("VariableAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {355LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {357LU}}, /* .binaryEncodingId */ - sizeof(UA_VariableAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 13, /* .membersSize */ - VariableAttributes_members /* .members */ -}, -/* MethodAttributes */ -{ - UA_TYPENAME("MethodAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {358LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {360LU}}, /* .binaryEncodingId */ - sizeof(UA_MethodAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - MethodAttributes_members /* .members */ -}, -/* ObjectTypeAttributes */ -{ - UA_TYPENAME("ObjectTypeAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {361LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {363LU}}, /* .binaryEncodingId */ - sizeof(UA_ObjectTypeAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - ObjectTypeAttributes_members /* .members */ -}, -/* VariableTypeAttributes */ -{ - UA_TYPENAME("VariableTypeAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {364LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {366LU}}, /* .binaryEncodingId */ - sizeof(UA_VariableTypeAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 10, /* .membersSize */ - VariableTypeAttributes_members /* .members */ -}, -/* ReferenceTypeAttributes */ -{ - UA_TYPENAME("ReferenceTypeAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {367LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {369LU}}, /* .binaryEncodingId */ - sizeof(UA_ReferenceTypeAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 8, /* .membersSize */ - ReferenceTypeAttributes_members /* .members */ -}, -/* DataTypeAttributes */ -{ - UA_TYPENAME("DataTypeAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {370LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {372LU}}, /* .binaryEncodingId */ - sizeof(UA_DataTypeAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - DataTypeAttributes_members /* .members */ -}, -/* ViewAttributes */ -{ - UA_TYPENAME("ViewAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {373LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {375LU}}, /* .binaryEncodingId */ - sizeof(UA_ViewAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - ViewAttributes_members /* .members */ -}, -/* GenericAttributeValue */ -{ - UA_TYPENAME("GenericAttributeValue") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17606LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {17610LU}}, /* .binaryEncodingId */ - sizeof(UA_GenericAttributeValue), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - GenericAttributeValue_members /* .members */ -}, -/* GenericAttributes */ -{ - UA_TYPENAME("GenericAttributes") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {17607LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {17611LU}}, /* .binaryEncodingId */ - sizeof(UA_GenericAttributes), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - GenericAttributes_members /* .members */ -}, -/* AddNodesItem */ -{ - UA_TYPENAME("AddNodesItem") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {376LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {378LU}}, /* .binaryEncodingId */ - sizeof(UA_AddNodesItem), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - AddNodesItem_members /* .members */ -}, -/* AddNodesResult */ -{ - UA_TYPENAME("AddNodesResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {483LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {485LU}}, /* .binaryEncodingId */ - sizeof(UA_AddNodesResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - AddNodesResult_members /* .members */ -}, -/* AddNodesRequest */ -{ - UA_TYPENAME("AddNodesRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {486LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {488LU}}, /* .binaryEncodingId */ - sizeof(UA_AddNodesRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - AddNodesRequest_members /* .members */ -}, -/* AddNodesResponse */ -{ - UA_TYPENAME("AddNodesResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {489LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {491LU}}, /* .binaryEncodingId */ - sizeof(UA_AddNodesResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - AddNodesResponse_members /* .members */ -}, -/* AddReferencesItem */ -{ - UA_TYPENAME("AddReferencesItem") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {379LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {381LU}}, /* .binaryEncodingId */ - sizeof(UA_AddReferencesItem), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - AddReferencesItem_members /* .members */ -}, -/* AddReferencesRequest */ -{ - UA_TYPENAME("AddReferencesRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {492LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {494LU}}, /* .binaryEncodingId */ - sizeof(UA_AddReferencesRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - AddReferencesRequest_members /* .members */ -}, -/* AddReferencesResponse */ -{ - UA_TYPENAME("AddReferencesResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {495LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {497LU}}, /* .binaryEncodingId */ - sizeof(UA_AddReferencesResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - AddReferencesResponse_members /* .members */ -}, -/* DeleteNodesItem */ -{ - UA_TYPENAME("DeleteNodesItem") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {382LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {384LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteNodesItem), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DeleteNodesItem_members /* .members */ -}, -/* DeleteNodesRequest */ -{ - UA_TYPENAME("DeleteNodesRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {498LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {500LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteNodesRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DeleteNodesRequest_members /* .members */ -}, -/* DeleteNodesResponse */ -{ - UA_TYPENAME("DeleteNodesResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {501LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {503LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteNodesResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - DeleteNodesResponse_members /* .members */ -}, -/* DeleteReferencesItem */ -{ - UA_TYPENAME("DeleteReferencesItem") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {385LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {387LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteReferencesItem), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - DeleteReferencesItem_members /* .members */ -}, -/* DeleteReferencesRequest */ -{ - UA_TYPENAME("DeleteReferencesRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {504LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {506LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteReferencesRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DeleteReferencesRequest_members /* .members */ -}, -/* DeleteReferencesResponse */ -{ - UA_TYPENAME("DeleteReferencesResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {507LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {509LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteReferencesResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - DeleteReferencesResponse_members /* .members */ -}, -/* AttributeWriteMask */ -{ - UA_TYPENAME("AttributeWriteMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {347LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AttributeWriteMask), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - AttributeWriteMask_members /* .members */ -}, -/* BrowseDirection */ -{ - UA_TYPENAME("BrowseDirection") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {510LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_BrowseDirection), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - BrowseDirection_members /* .members */ -}, -/* ViewDescription */ -{ - UA_TYPENAME("ViewDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {511LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {513LU}}, /* .binaryEncodingId */ - sizeof(UA_ViewDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ViewDescription_members /* .members */ -}, -/* BrowseDescription */ -{ - UA_TYPENAME("BrowseDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {514LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {516LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowseDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - BrowseDescription_members /* .members */ -}, -/* BrowseResultMask */ -{ - UA_TYPENAME("BrowseResultMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {517LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_BrowseResultMask), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - BrowseResultMask_members /* .members */ -}, -/* ReferenceDescription */ -{ - UA_TYPENAME("ReferenceDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {518LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {520LU}}, /* .binaryEncodingId */ - sizeof(UA_ReferenceDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - ReferenceDescription_members /* .members */ -}, -/* ContinuationPoint */ -{ - UA_TYPENAME("ContinuationPoint") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {521LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ContinuationPoint), /* .memSize */ - UA_DATATYPEKIND_BYTESTRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - ContinuationPoint_members /* .members */ -}, -/* BrowseResult */ -{ - UA_TYPENAME("BrowseResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {522LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {524LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowseResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - BrowseResult_members /* .members */ -}, -/* BrowseRequest */ -{ - UA_TYPENAME("BrowseRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {525LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {527LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowseRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - BrowseRequest_members /* .members */ -}, -/* BrowseResponse */ -{ - UA_TYPENAME("BrowseResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {528LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {530LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowseResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - BrowseResponse_members /* .members */ -}, -/* BrowseNextRequest */ -{ - UA_TYPENAME("BrowseNextRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {531LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {533LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowseNextRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - BrowseNextRequest_members /* .members */ -}, -/* BrowseNextResponse */ -{ - UA_TYPENAME("BrowseNextResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {534LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {536LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowseNextResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - BrowseNextResponse_members /* .members */ -}, -/* RelativePathElement */ -{ - UA_TYPENAME("RelativePathElement") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {537LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {539LU}}, /* .binaryEncodingId */ - sizeof(UA_RelativePathElement), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - RelativePathElement_members /* .members */ -}, -/* RelativePath */ -{ - UA_TYPENAME("RelativePath") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {540LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {542LU}}, /* .binaryEncodingId */ - sizeof(UA_RelativePath), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - RelativePath_members /* .members */ -}, -/* BrowsePath */ -{ - UA_TYPENAME("BrowsePath") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {543LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {545LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowsePath), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - BrowsePath_members /* .members */ -}, -/* BrowsePathTarget */ -{ - UA_TYPENAME("BrowsePathTarget") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {546LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {548LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowsePathTarget), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - BrowsePathTarget_members /* .members */ -}, -/* BrowsePathResult */ -{ - UA_TYPENAME("BrowsePathResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {549LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {551LU}}, /* .binaryEncodingId */ - sizeof(UA_BrowsePathResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - BrowsePathResult_members /* .members */ -}, -/* TranslateBrowsePathsToNodeIdsRequest */ -{ - UA_TYPENAME("TranslateBrowsePathsToNodeIdsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {552LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {554LU}}, /* .binaryEncodingId */ - sizeof(UA_TranslateBrowsePathsToNodeIdsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - TranslateBrowsePathsToNodeIdsRequest_members /* .members */ -}, -/* TranslateBrowsePathsToNodeIdsResponse */ -{ - UA_TYPENAME("TranslateBrowsePathsToNodeIdsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {555LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {557LU}}, /* .binaryEncodingId */ - sizeof(UA_TranslateBrowsePathsToNodeIdsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - TranslateBrowsePathsToNodeIdsResponse_members /* .members */ -}, -/* RegisterNodesRequest */ -{ - UA_TYPENAME("RegisterNodesRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {558LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {560LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisterNodesRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - RegisterNodesRequest_members /* .members */ -}, -/* RegisterNodesResponse */ -{ - UA_TYPENAME("RegisterNodesResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {561LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {563LU}}, /* .binaryEncodingId */ - sizeof(UA_RegisterNodesResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - RegisterNodesResponse_members /* .members */ -}, -/* UnregisterNodesRequest */ -{ - UA_TYPENAME("UnregisterNodesRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {564LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {566LU}}, /* .binaryEncodingId */ - sizeof(UA_UnregisterNodesRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - UnregisterNodesRequest_members /* .members */ -}, -/* UnregisterNodesResponse */ -{ - UA_TYPENAME("UnregisterNodesResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {567LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {569LU}}, /* .binaryEncodingId */ - sizeof(UA_UnregisterNodesResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - UnregisterNodesResponse_members /* .members */ -}, -/* Counter */ -{ - UA_TYPENAME("Counter") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {289LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_Counter), /* .memSize */ - UA_DATATYPEKIND_UINT32, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - Counter_members /* .members */ -}, -/* OpaqueNumericRange */ -{ - UA_TYPENAME("OpaqueNumericRange") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {291LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_OpaqueNumericRange), /* .memSize */ - UA_DATATYPEKIND_STRING, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 0, /* .membersSize */ - OpaqueNumericRange_members /* .members */ -}, -/* EndpointConfiguration */ -{ - UA_TYPENAME("EndpointConfiguration") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {331LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {333LU}}, /* .binaryEncodingId */ - sizeof(UA_EndpointConfiguration), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - EndpointConfiguration_members /* .members */ -}, -/* QueryDataDescription */ -{ - UA_TYPENAME("QueryDataDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {570LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {572LU}}, /* .binaryEncodingId */ - sizeof(UA_QueryDataDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - QueryDataDescription_members /* .members */ -}, -/* NodeTypeDescription */ -{ - UA_TYPENAME("NodeTypeDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {573LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {575LU}}, /* .binaryEncodingId */ - sizeof(UA_NodeTypeDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - NodeTypeDescription_members /* .members */ -}, -/* FilterOperator */ -{ - UA_TYPENAME("FilterOperator") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {576LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_FilterOperator), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - FilterOperator_members /* .members */ -}, -/* QueryDataSet */ -{ - UA_TYPENAME("QueryDataSet") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {577LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {579LU}}, /* .binaryEncodingId */ - sizeof(UA_QueryDataSet), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - QueryDataSet_members /* .members */ -}, -/* NodeReference */ -{ - UA_TYPENAME("NodeReference") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {580LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {582LU}}, /* .binaryEncodingId */ - sizeof(UA_NodeReference), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - NodeReference_members /* .members */ -}, -/* ContentFilterElement */ -{ - UA_TYPENAME("ContentFilterElement") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {583LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {585LU}}, /* .binaryEncodingId */ - sizeof(UA_ContentFilterElement), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ContentFilterElement_members /* .members */ -}, -/* ContentFilter */ -{ - UA_TYPENAME("ContentFilter") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {586LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {588LU}}, /* .binaryEncodingId */ - sizeof(UA_ContentFilter), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - ContentFilter_members /* .members */ -}, -/* ElementOperand */ -{ - UA_TYPENAME("ElementOperand") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {592LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {594LU}}, /* .binaryEncodingId */ - sizeof(UA_ElementOperand), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - ElementOperand_members /* .members */ -}, -/* LiteralOperand */ -{ - UA_TYPENAME("LiteralOperand") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {595LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {597LU}}, /* .binaryEncodingId */ - sizeof(UA_LiteralOperand), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - LiteralOperand_members /* .members */ -}, -/* AttributeOperand */ -{ - UA_TYPENAME("AttributeOperand") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {598LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {600LU}}, /* .binaryEncodingId */ - sizeof(UA_AttributeOperand), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - AttributeOperand_members /* .members */ -}, -/* SimpleAttributeOperand */ -{ - UA_TYPENAME("SimpleAttributeOperand") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {601LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {603LU}}, /* .binaryEncodingId */ - sizeof(UA_SimpleAttributeOperand), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - SimpleAttributeOperand_members /* .members */ -}, -/* ContentFilterElementResult */ -{ - UA_TYPENAME("ContentFilterElementResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {604LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {606LU}}, /* .binaryEncodingId */ - sizeof(UA_ContentFilterElementResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ContentFilterElementResult_members /* .members */ -}, -/* ContentFilterResult */ -{ - UA_TYPENAME("ContentFilterResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {607LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {609LU}}, /* .binaryEncodingId */ - sizeof(UA_ContentFilterResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ContentFilterResult_members /* .members */ -}, -/* ParsingResult */ -{ - UA_TYPENAME("ParsingResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {610LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {612LU}}, /* .binaryEncodingId */ - sizeof(UA_ParsingResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ParsingResult_members /* .members */ -}, -/* QueryFirstRequest */ -{ - UA_TYPENAME("QueryFirstRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {613LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {615LU}}, /* .binaryEncodingId */ - sizeof(UA_QueryFirstRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - QueryFirstRequest_members /* .members */ -}, -/* QueryFirstResponse */ -{ - UA_TYPENAME("QueryFirstResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {616LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {618LU}}, /* .binaryEncodingId */ - sizeof(UA_QueryFirstResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - QueryFirstResponse_members /* .members */ -}, -/* QueryNextRequest */ -{ - UA_TYPENAME("QueryNextRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {619LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {621LU}}, /* .binaryEncodingId */ - sizeof(UA_QueryNextRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - QueryNextRequest_members /* .members */ -}, -/* QueryNextResponse */ -{ - UA_TYPENAME("QueryNextResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {622LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {624LU}}, /* .binaryEncodingId */ - sizeof(UA_QueryNextResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - QueryNextResponse_members /* .members */ -}, -/* TimestampsToReturn */ -{ - UA_TYPENAME("TimestampsToReturn") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {625LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TimestampsToReturn), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - TimestampsToReturn_members /* .members */ -}, -/* ReadValueId */ -{ - UA_TYPENAME("ReadValueId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {626LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {628LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadValueId), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ReadValueId_members /* .members */ -}, -/* ReadRequest */ -{ - UA_TYPENAME("ReadRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {629LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {631LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ReadRequest_members /* .members */ -}, -/* ReadResponse */ -{ - UA_TYPENAME("ReadResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {632LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {634LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ReadResponse_members /* .members */ -}, -/* HistoryReadValueId */ -{ - UA_TYPENAME("HistoryReadValueId") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {635LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {637LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryReadValueId), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - HistoryReadValueId_members /* .members */ -}, -/* HistoryReadResult */ -{ - UA_TYPENAME("HistoryReadResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {638LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {640LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryReadResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - HistoryReadResult_members /* .members */ -}, -/* ReadRawModifiedDetails */ -{ - UA_TYPENAME("ReadRawModifiedDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {647LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {649LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadRawModifiedDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - ReadRawModifiedDetails_members /* .members */ -}, -/* ReadAtTimeDetails */ -{ - UA_TYPENAME("ReadAtTimeDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {653LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {655LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadAtTimeDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ReadAtTimeDetails_members /* .members */ -}, -/* ReadAnnotationDataDetails */ -{ - UA_TYPENAME("ReadAnnotationDataDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23497LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23500LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadAnnotationDataDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - ReadAnnotationDataDetails_members /* .members */ -}, -/* HistoryData */ -{ - UA_TYPENAME("HistoryData") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {656LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {658LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryData), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - HistoryData_members /* .members */ -}, -/* HistoryReadRequest */ -{ - UA_TYPENAME("HistoryReadRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {662LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {664LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryReadRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - HistoryReadRequest_members /* .members */ -}, -/* HistoryReadResponse */ -{ - UA_TYPENAME("HistoryReadResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {665LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {667LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryReadResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - HistoryReadResponse_members /* .members */ -}, -/* WriteValue */ -{ - UA_TYPENAME("WriteValue") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {668LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {670LU}}, /* .binaryEncodingId */ - sizeof(UA_WriteValue), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - WriteValue_members /* .members */ -}, -/* WriteRequest */ -{ - UA_TYPENAME("WriteRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {671LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {673LU}}, /* .binaryEncodingId */ - sizeof(UA_WriteRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - WriteRequest_members /* .members */ -}, -/* WriteResponse */ -{ - UA_TYPENAME("WriteResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {674LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {676LU}}, /* .binaryEncodingId */ - sizeof(UA_WriteResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - WriteResponse_members /* .members */ -}, -/* HistoryUpdateDetails */ -{ - UA_TYPENAME("HistoryUpdateDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {677LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {679LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryUpdateDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - HistoryUpdateDetails_members /* .members */ -}, -/* HistoryUpdateType */ -{ - UA_TYPENAME("HistoryUpdateType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11234LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_HistoryUpdateType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - HistoryUpdateType_members /* .members */ -}, -/* PerformUpdateType */ -{ - UA_TYPENAME("PerformUpdateType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11293LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_PerformUpdateType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - PerformUpdateType_members /* .members */ -}, -/* UpdateDataDetails */ -{ - UA_TYPENAME("UpdateDataDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {680LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {682LU}}, /* .binaryEncodingId */ - sizeof(UA_UpdateDataDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - UpdateDataDetails_members /* .members */ -}, -/* UpdateStructureDataDetails */ -{ - UA_TYPENAME("UpdateStructureDataDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11295LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {11300LU}}, /* .binaryEncodingId */ - sizeof(UA_UpdateStructureDataDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - UpdateStructureDataDetails_members /* .members */ -}, -/* DeleteRawModifiedDetails */ -{ - UA_TYPENAME("DeleteRawModifiedDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {686LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {688LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteRawModifiedDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - DeleteRawModifiedDetails_members /* .members */ -}, -/* DeleteAtTimeDetails */ -{ - UA_TYPENAME("DeleteAtTimeDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {689LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {691LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteAtTimeDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DeleteAtTimeDetails_members /* .members */ -}, -/* DeleteEventDetails */ -{ - UA_TYPENAME("DeleteEventDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {692LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {694LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteEventDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DeleteEventDetails_members /* .members */ -}, -/* HistoryUpdateResult */ -{ - UA_TYPENAME("HistoryUpdateResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {695LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {697LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryUpdateResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - HistoryUpdateResult_members /* .members */ -}, -/* HistoryUpdateRequest */ -{ - UA_TYPENAME("HistoryUpdateRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {698LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {700LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryUpdateRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - HistoryUpdateRequest_members /* .members */ -}, -/* HistoryUpdateResponse */ -{ - UA_TYPENAME("HistoryUpdateResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {701LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {703LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryUpdateResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - HistoryUpdateResponse_members /* .members */ -}, -/* CallMethodRequest */ -{ - UA_TYPENAME("CallMethodRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {704LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {706LU}}, /* .binaryEncodingId */ - sizeof(UA_CallMethodRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - CallMethodRequest_members /* .members */ -}, -/* CallMethodResult */ -{ - UA_TYPENAME("CallMethodResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {707LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {709LU}}, /* .binaryEncodingId */ - sizeof(UA_CallMethodResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - CallMethodResult_members /* .members */ -}, -/* CallRequest */ -{ - UA_TYPENAME("CallRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {710LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {712LU}}, /* .binaryEncodingId */ - sizeof(UA_CallRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - CallRequest_members /* .members */ -}, -/* CallResponse */ -{ - UA_TYPENAME("CallResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {713LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {715LU}}, /* .binaryEncodingId */ - sizeof(UA_CallResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - CallResponse_members /* .members */ -}, -/* MonitoringMode */ -{ - UA_TYPENAME("MonitoringMode") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {716LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_MonitoringMode), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - MonitoringMode_members /* .members */ -}, -/* DataChangeTrigger */ -{ - UA_TYPENAME("DataChangeTrigger") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {717LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DataChangeTrigger), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DataChangeTrigger_members /* .members */ -}, -/* DeadbandType */ -{ - UA_TYPENAME("DeadbandType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {718LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_DeadbandType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - DeadbandType_members /* .members */ -}, -/* DataChangeFilter */ -{ - UA_TYPENAME("DataChangeFilter") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {722LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {724LU}}, /* .binaryEncodingId */ - sizeof(UA_DataChangeFilter), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - DataChangeFilter_members /* .members */ -}, -/* EventFilter */ -{ - UA_TYPENAME("EventFilter") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {725LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {727LU}}, /* .binaryEncodingId */ - sizeof(UA_EventFilter), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - EventFilter_members /* .members */ -}, -/* AggregateConfiguration */ -{ - UA_TYPENAME("AggregateConfiguration") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {948LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {950LU}}, /* .binaryEncodingId */ - sizeof(UA_AggregateConfiguration), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - AggregateConfiguration_members /* .members */ -}, -/* AggregateFilter */ -{ - UA_TYPENAME("AggregateFilter") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {728LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {730LU}}, /* .binaryEncodingId */ - sizeof(UA_AggregateFilter), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - AggregateFilter_members /* .members */ -}, -/* EventFilterResult */ -{ - UA_TYPENAME("EventFilterResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {734LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {736LU}}, /* .binaryEncodingId */ - sizeof(UA_EventFilterResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - EventFilterResult_members /* .members */ -}, -/* AggregateFilterResult */ -{ - UA_TYPENAME("AggregateFilterResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {737LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {739LU}}, /* .binaryEncodingId */ - sizeof(UA_AggregateFilterResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - AggregateFilterResult_members /* .members */ -}, -/* MonitoringParameters */ -{ - UA_TYPENAME("MonitoringParameters") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {740LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {742LU}}, /* .binaryEncodingId */ - sizeof(UA_MonitoringParameters), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - MonitoringParameters_members /* .members */ -}, -/* MonitoredItemCreateRequest */ -{ - UA_TYPENAME("MonitoredItemCreateRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {743LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {745LU}}, /* .binaryEncodingId */ - sizeof(UA_MonitoredItemCreateRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - MonitoredItemCreateRequest_members /* .members */ -}, -/* MonitoredItemCreateResult */ -{ - UA_TYPENAME("MonitoredItemCreateResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {746LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {748LU}}, /* .binaryEncodingId */ - sizeof(UA_MonitoredItemCreateResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - MonitoredItemCreateResult_members /* .members */ -}, -/* CreateMonitoredItemsRequest */ -{ - UA_TYPENAME("CreateMonitoredItemsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {749LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {751LU}}, /* .binaryEncodingId */ - sizeof(UA_CreateMonitoredItemsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - CreateMonitoredItemsRequest_members /* .members */ -}, -/* CreateMonitoredItemsResponse */ -{ - UA_TYPENAME("CreateMonitoredItemsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {752LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {754LU}}, /* .binaryEncodingId */ - sizeof(UA_CreateMonitoredItemsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - CreateMonitoredItemsResponse_members /* .members */ -}, -/* MonitoredItemModifyRequest */ -{ - UA_TYPENAME("MonitoredItemModifyRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {755LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {757LU}}, /* .binaryEncodingId */ - sizeof(UA_MonitoredItemModifyRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - MonitoredItemModifyRequest_members /* .members */ -}, -/* MonitoredItemModifyResult */ -{ - UA_TYPENAME("MonitoredItemModifyResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {758LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {760LU}}, /* .binaryEncodingId */ - sizeof(UA_MonitoredItemModifyResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - MonitoredItemModifyResult_members /* .members */ -}, -/* ModifyMonitoredItemsRequest */ -{ - UA_TYPENAME("ModifyMonitoredItemsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {761LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {763LU}}, /* .binaryEncodingId */ - sizeof(UA_ModifyMonitoredItemsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ModifyMonitoredItemsRequest_members /* .members */ -}, -/* ModifyMonitoredItemsResponse */ -{ - UA_TYPENAME("ModifyMonitoredItemsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {764LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {766LU}}, /* .binaryEncodingId */ - sizeof(UA_ModifyMonitoredItemsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ModifyMonitoredItemsResponse_members /* .members */ -}, -/* SetMonitoringModeRequest */ -{ - UA_TYPENAME("SetMonitoringModeRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {767LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {769LU}}, /* .binaryEncodingId */ - sizeof(UA_SetMonitoringModeRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - SetMonitoringModeRequest_members /* .members */ -}, -/* SetMonitoringModeResponse */ -{ - UA_TYPENAME("SetMonitoringModeResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {770LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {772LU}}, /* .binaryEncodingId */ - sizeof(UA_SetMonitoringModeResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - SetMonitoringModeResponse_members /* .members */ -}, -/* SetTriggeringRequest */ -{ - UA_TYPENAME("SetTriggeringRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {773LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {775LU}}, /* .binaryEncodingId */ - sizeof(UA_SetTriggeringRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - SetTriggeringRequest_members /* .members */ -}, -/* SetTriggeringResponse */ -{ - UA_TYPENAME("SetTriggeringResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {776LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {778LU}}, /* .binaryEncodingId */ - sizeof(UA_SetTriggeringResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - SetTriggeringResponse_members /* .members */ -}, -/* DeleteMonitoredItemsRequest */ -{ - UA_TYPENAME("DeleteMonitoredItemsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {779LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {781LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteMonitoredItemsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - DeleteMonitoredItemsRequest_members /* .members */ -}, -/* DeleteMonitoredItemsResponse */ -{ - UA_TYPENAME("DeleteMonitoredItemsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {782LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {784LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteMonitoredItemsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - DeleteMonitoredItemsResponse_members /* .members */ -}, -/* CreateSubscriptionRequest */ -{ - UA_TYPENAME("CreateSubscriptionRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {785LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {787LU}}, /* .binaryEncodingId */ - sizeof(UA_CreateSubscriptionRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - CreateSubscriptionRequest_members /* .members */ -}, -/* CreateSubscriptionResponse */ -{ - UA_TYPENAME("CreateSubscriptionResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {788LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {790LU}}, /* .binaryEncodingId */ - sizeof(UA_CreateSubscriptionResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - CreateSubscriptionResponse_members /* .members */ -}, -/* ModifySubscriptionRequest */ -{ - UA_TYPENAME("ModifySubscriptionRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {791LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {793LU}}, /* .binaryEncodingId */ - sizeof(UA_ModifySubscriptionRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - ModifySubscriptionRequest_members /* .members */ -}, -/* ModifySubscriptionResponse */ -{ - UA_TYPENAME("ModifySubscriptionResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {794LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {796LU}}, /* .binaryEncodingId */ - sizeof(UA_ModifySubscriptionResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ModifySubscriptionResponse_members /* .members */ -}, -/* SetPublishingModeRequest */ -{ - UA_TYPENAME("SetPublishingModeRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {797LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {799LU}}, /* .binaryEncodingId */ - sizeof(UA_SetPublishingModeRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - SetPublishingModeRequest_members /* .members */ -}, -/* SetPublishingModeResponse */ -{ - UA_TYPENAME("SetPublishingModeResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {800LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {802LU}}, /* .binaryEncodingId */ - sizeof(UA_SetPublishingModeResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - SetPublishingModeResponse_members /* .members */ -}, -/* NotificationMessage */ -{ - UA_TYPENAME("NotificationMessage") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {803LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {805LU}}, /* .binaryEncodingId */ - sizeof(UA_NotificationMessage), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - NotificationMessage_members /* .members */ -}, -/* MonitoredItemNotification */ -{ - UA_TYPENAME("MonitoredItemNotification") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {806LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {808LU}}, /* .binaryEncodingId */ - sizeof(UA_MonitoredItemNotification), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - MonitoredItemNotification_members /* .members */ -}, -/* EventFieldList */ -{ - UA_TYPENAME("EventFieldList") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {917LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {919LU}}, /* .binaryEncodingId */ - sizeof(UA_EventFieldList), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - EventFieldList_members /* .members */ -}, -/* HistoryEventFieldList */ -{ - UA_TYPENAME("HistoryEventFieldList") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {920LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {922LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryEventFieldList), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - HistoryEventFieldList_members /* .members */ -}, -/* StatusChangeNotification */ -{ - UA_TYPENAME("StatusChangeNotification") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {818LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {820LU}}, /* .binaryEncodingId */ - sizeof(UA_StatusChangeNotification), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - StatusChangeNotification_members /* .members */ -}, -/* SubscriptionAcknowledgement */ -{ - UA_TYPENAME("SubscriptionAcknowledgement") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {821LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {823LU}}, /* .binaryEncodingId */ - sizeof(UA_SubscriptionAcknowledgement), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - SubscriptionAcknowledgement_members /* .members */ -}, -/* PublishRequest */ -{ - UA_TYPENAME("PublishRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {824LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {826LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - PublishRequest_members /* .members */ -}, -/* PublishResponse */ -{ - UA_TYPENAME("PublishResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {827LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {829LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - PublishResponse_members /* .members */ -}, -/* RepublishRequest */ -{ - UA_TYPENAME("RepublishRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {830LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {832LU}}, /* .binaryEncodingId */ - sizeof(UA_RepublishRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - RepublishRequest_members /* .members */ -}, -/* RepublishResponse */ -{ - UA_TYPENAME("RepublishResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {833LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {835LU}}, /* .binaryEncodingId */ - sizeof(UA_RepublishResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - RepublishResponse_members /* .members */ -}, -/* TransferResult */ -{ - UA_TYPENAME("TransferResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {836LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {838LU}}, /* .binaryEncodingId */ - sizeof(UA_TransferResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - TransferResult_members /* .members */ -}, -/* TransferSubscriptionsRequest */ -{ - UA_TYPENAME("TransferSubscriptionsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {839LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {841LU}}, /* .binaryEncodingId */ - sizeof(UA_TransferSubscriptionsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - TransferSubscriptionsRequest_members /* .members */ -}, -/* TransferSubscriptionsResponse */ -{ - UA_TYPENAME("TransferSubscriptionsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {842LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {844LU}}, /* .binaryEncodingId */ - sizeof(UA_TransferSubscriptionsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - TransferSubscriptionsResponse_members /* .members */ -}, -/* DeleteSubscriptionsRequest */ -{ - UA_TYPENAME("DeleteSubscriptionsRequest") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {845LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {847LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteSubscriptionsRequest), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DeleteSubscriptionsRequest_members /* .members */ -}, -/* DeleteSubscriptionsResponse */ -{ - UA_TYPENAME("DeleteSubscriptionsResponse") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {848LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {850LU}}, /* .binaryEncodingId */ - sizeof(UA_DeleteSubscriptionsResponse), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - DeleteSubscriptionsResponse_members /* .members */ -}, -/* BuildInfo */ -{ - UA_TYPENAME("BuildInfo") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {338LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {340LU}}, /* .binaryEncodingId */ - sizeof(UA_BuildInfo), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - BuildInfo_members /* .members */ -}, -/* RedundancySupport */ -{ - UA_TYPENAME("RedundancySupport") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {851LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_RedundancySupport), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - RedundancySupport_members /* .members */ -}, -/* ServerState */ -{ - UA_TYPENAME("ServerState") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {852LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ServerState), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - ServerState_members /* .members */ -}, -/* RedundantServerDataType */ -{ - UA_TYPENAME("RedundantServerDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {853LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {855LU}}, /* .binaryEncodingId */ - sizeof(UA_RedundantServerDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - RedundantServerDataType_members /* .members */ -}, -/* EndpointUrlListDataType */ -{ - UA_TYPENAME("EndpointUrlListDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11943LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {11957LU}}, /* .binaryEncodingId */ - sizeof(UA_EndpointUrlListDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - EndpointUrlListDataType_members /* .members */ -}, -/* NetworkGroupDataType */ -{ - UA_TYPENAME("NetworkGroupDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11944LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {11958LU}}, /* .binaryEncodingId */ - sizeof(UA_NetworkGroupDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - NetworkGroupDataType_members /* .members */ -}, -/* SamplingIntervalDiagnosticsDataType */ -{ - UA_TYPENAME("SamplingIntervalDiagnosticsDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {856LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {858LU}}, /* .binaryEncodingId */ - sizeof(UA_SamplingIntervalDiagnosticsDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - SamplingIntervalDiagnosticsDataType_members /* .members */ -}, -/* ServerDiagnosticsSummaryDataType */ -{ - UA_TYPENAME("ServerDiagnosticsSummaryDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {859LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {861LU}}, /* .binaryEncodingId */ - sizeof(UA_ServerDiagnosticsSummaryDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 12, /* .membersSize */ - ServerDiagnosticsSummaryDataType_members /* .members */ -}, -/* ServerStatusDataType */ -{ - UA_TYPENAME("ServerStatusDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {862LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {864LU}}, /* .binaryEncodingId */ - sizeof(UA_ServerStatusDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - ServerStatusDataType_members /* .members */ -}, -/* SessionSecurityDiagnosticsDataType */ -{ - UA_TYPENAME("SessionSecurityDiagnosticsDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {868LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {870LU}}, /* .binaryEncodingId */ - sizeof(UA_SessionSecurityDiagnosticsDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - SessionSecurityDiagnosticsDataType_members /* .members */ -}, -/* ServiceCounterDataType */ -{ - UA_TYPENAME("ServiceCounterDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {871LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {873LU}}, /* .binaryEncodingId */ - sizeof(UA_ServiceCounterDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ServiceCounterDataType_members /* .members */ -}, -/* StatusResult */ -{ - UA_TYPENAME("StatusResult") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {299LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {301LU}}, /* .binaryEncodingId */ - sizeof(UA_StatusResult), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - StatusResult_members /* .members */ -}, -/* SubscriptionDiagnosticsDataType */ -{ - UA_TYPENAME("SubscriptionDiagnosticsDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {874LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {876LU}}, /* .binaryEncodingId */ - sizeof(UA_SubscriptionDiagnosticsDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 31, /* .membersSize */ - SubscriptionDiagnosticsDataType_members /* .members */ -}, -/* ModelChangeStructureVerbMask */ -{ - UA_TYPENAME("ModelChangeStructureVerbMask") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11941LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ModelChangeStructureVerbMask), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - ModelChangeStructureVerbMask_members /* .members */ -}, -/* ModelChangeStructureDataType */ -{ - UA_TYPENAME("ModelChangeStructureDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {877LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {879LU}}, /* .binaryEncodingId */ - sizeof(UA_ModelChangeStructureDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ModelChangeStructureDataType_members /* .members */ -}, -/* SemanticChangeStructureDataType */ -{ - UA_TYPENAME("SemanticChangeStructureDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {897LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {899LU}}, /* .binaryEncodingId */ - sizeof(UA_SemanticChangeStructureDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - SemanticChangeStructureDataType_members /* .members */ -}, -/* Range */ -{ - UA_TYPENAME("Range") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {884LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {886LU}}, /* .binaryEncodingId */ - sizeof(UA_Range), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - Range_members /* .members */ -}, -/* EUInformation */ -{ - UA_TYPENAME("EUInformation") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {887LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {889LU}}, /* .binaryEncodingId */ - sizeof(UA_EUInformation), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - EUInformation_members /* .members */ -}, -/* AxisScaleEnumeration */ -{ - UA_TYPENAME("AxisScaleEnumeration") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12077LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AxisScaleEnumeration), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - AxisScaleEnumeration_members /* .members */ -}, -/* ComplexNumberType */ -{ - UA_TYPENAME("ComplexNumberType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12171LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12181LU}}, /* .binaryEncodingId */ - sizeof(UA_ComplexNumberType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - ComplexNumberType_members /* .members */ -}, -/* DoubleComplexNumberType */ -{ - UA_TYPENAME("DoubleComplexNumberType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12172LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12182LU}}, /* .binaryEncodingId */ - sizeof(UA_DoubleComplexNumberType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DoubleComplexNumberType_members /* .members */ -}, -/* AxisInformation */ -{ - UA_TYPENAME("AxisInformation") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12079LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12089LU}}, /* .binaryEncodingId */ - sizeof(UA_AxisInformation), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - AxisInformation_members /* .members */ -}, -/* XVType */ -{ - UA_TYPENAME("XVType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {12080LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {12090LU}}, /* .binaryEncodingId */ - sizeof(UA_XVType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - XVType_members /* .members */ -}, -/* ProgramDiagnosticDataType */ -{ - UA_TYPENAME("ProgramDiagnosticDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {894LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {896LU}}, /* .binaryEncodingId */ - sizeof(UA_ProgramDiagnosticDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 10, /* .membersSize */ - ProgramDiagnosticDataType_members /* .members */ -}, -/* ProgramDiagnostic2DataType */ -{ - UA_TYPENAME("ProgramDiagnostic2DataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {24033LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {24034LU}}, /* .binaryEncodingId */ - sizeof(UA_ProgramDiagnostic2DataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 12, /* .membersSize */ - ProgramDiagnostic2DataType_members /* .members */ -}, -/* Annotation */ -{ - UA_TYPENAME("Annotation") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {891LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {893LU}}, /* .binaryEncodingId */ - sizeof(UA_Annotation), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - Annotation_members /* .members */ -}, -/* ExceptionDeviationFormat */ -{ - UA_TYPENAME("ExceptionDeviationFormat") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {890LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ExceptionDeviationFormat), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - ExceptionDeviationFormat_members /* .members */ -}, -/* EndpointType */ -{ - UA_TYPENAME("EndpointType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15528LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15671LU}}, /* .binaryEncodingId */ - sizeof(UA_EndpointType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - EndpointType_members /* .members */ -}, -/* StructureDescription */ -{ - UA_TYPENAME("StructureDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15487LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {126LU}}, /* .binaryEncodingId */ - sizeof(UA_StructureDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - StructureDescription_members /* .members */ -}, -/* FieldMetaData */ -{ - UA_TYPENAME("FieldMetaData") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14524LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14839LU}}, /* .binaryEncodingId */ - sizeof(UA_FieldMetaData), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 10, /* .membersSize */ - FieldMetaData_members /* .members */ -}, -/* PublishedEventsDataType */ -{ - UA_TYPENAME("PublishedEventsDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15582LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15681LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishedEventsDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - PublishedEventsDataType_members /* .members */ -}, -/* PubSubGroupDataType */ -{ - UA_TYPENAME("PubSubGroupDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15609LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15689LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubGroupDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - PubSubGroupDataType_members /* .members */ -}, -/* WriterGroupDataType */ -{ - UA_TYPENAME("WriterGroupDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15480LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21150LU}}, /* .binaryEncodingId */ - sizeof(UA_WriterGroupDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 16, /* .membersSize */ - WriterGroupDataType_members /* .members */ -}, -/* FieldTargetDataType */ -{ - UA_TYPENAME("FieldTargetDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14744LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {14848LU}}, /* .binaryEncodingId */ - sizeof(UA_FieldTargetDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - FieldTargetDataType_members /* .members */ -}, -/* SubscribedDataSetMirrorDataType */ -{ - UA_TYPENAME("SubscribedDataSetMirrorDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15635LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15713LU}}, /* .binaryEncodingId */ - sizeof(UA_SubscribedDataSetMirrorDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - SubscribedDataSetMirrorDataType_members /* .members */ -}, -/* SecurityGroupDataType */ -{ - UA_TYPENAME("SecurityGroupDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23601LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23853LU}}, /* .binaryEncodingId */ - sizeof(UA_SecurityGroupDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - SecurityGroupDataType_members /* .members */ -}, -/* PubSubKeyPushTargetDataType */ -{ - UA_TYPENAME("PubSubKeyPushTargetDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {25270LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {25530LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubKeyPushTargetDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - PubSubKeyPushTargetDataType_members /* .members */ -}, -/* EnumDefinition */ -{ - UA_TYPENAME("EnumDefinition") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {100LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {123LU}}, /* .binaryEncodingId */ - sizeof(UA_EnumDefinition), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - EnumDefinition_members /* .members */ -}, -/* ReadEventDetails */ -{ - UA_TYPENAME("ReadEventDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {644LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {646LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadEventDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - ReadEventDetails_members /* .members */ -}, -/* ReadProcessedDetails */ -{ - UA_TYPENAME("ReadProcessedDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {650LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {652LU}}, /* .binaryEncodingId */ - sizeof(UA_ReadProcessedDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - ReadProcessedDetails_members /* .members */ -}, -/* ModificationInfo */ -{ - UA_TYPENAME("ModificationInfo") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11216LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {11226LU}}, /* .binaryEncodingId */ - sizeof(UA_ModificationInfo), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - ModificationInfo_members /* .members */ -}, -/* HistoryModifiedData */ -{ - UA_TYPENAME("HistoryModifiedData") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {11217LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {11227LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryModifiedData), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - HistoryModifiedData_members /* .members */ -}, -/* HistoryEvent */ -{ - UA_TYPENAME("HistoryEvent") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {659LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {661LU}}, /* .binaryEncodingId */ - sizeof(UA_HistoryEvent), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - HistoryEvent_members /* .members */ -}, -/* UpdateEventDetails */ -{ - UA_TYPENAME("UpdateEventDetails") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {683LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {685LU}}, /* .binaryEncodingId */ - sizeof(UA_UpdateEventDetails), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - UpdateEventDetails_members /* .members */ -}, -/* DataChangeNotification */ -{ - UA_TYPENAME("DataChangeNotification") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {809LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {811LU}}, /* .binaryEncodingId */ - sizeof(UA_DataChangeNotification), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - DataChangeNotification_members /* .members */ -}, -/* EventNotificationList */ -{ - UA_TYPENAME("EventNotificationList") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {914LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {916LU}}, /* .binaryEncodingId */ - sizeof(UA_EventNotificationList), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - EventNotificationList_members /* .members */ -}, -/* SessionDiagnosticsDataType */ -{ - UA_TYPENAME("SessionDiagnosticsDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {865LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {867LU}}, /* .binaryEncodingId */ - sizeof(UA_SessionDiagnosticsDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 43, /* .membersSize */ - SessionDiagnosticsDataType_members /* .members */ -}, -/* EnumDescription */ -{ - UA_TYPENAME("EnumDescription") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15488LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {127LU}}, /* .binaryEncodingId */ - sizeof(UA_EnumDescription), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - EnumDescription_members /* .members */ -}, -/* UABinaryFileDataType */ -{ - UA_TYPENAME("UABinaryFileDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15006LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15422LU}}, /* .binaryEncodingId */ - sizeof(UA_UABinaryFileDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 7, /* .membersSize */ - UABinaryFileDataType_members /* .members */ -}, -/* DataSetMetaDataType */ -{ - UA_TYPENAME("DataSetMetaDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {14523LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {124LU}}, /* .binaryEncodingId */ - sizeof(UA_DataSetMetaDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - DataSetMetaDataType_members /* .members */ -}, -/* PublishedDataSetDataType */ -{ - UA_TYPENAME("PublishedDataSetDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15578LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15677LU}}, /* .binaryEncodingId */ - sizeof(UA_PublishedDataSetDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - PublishedDataSetDataType_members /* .members */ -}, -/* DataSetReaderDataType */ -{ - UA_TYPENAME("DataSetReaderDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15623LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15703LU}}, /* .binaryEncodingId */ - sizeof(UA_DataSetReaderDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 17, /* .membersSize */ - DataSetReaderDataType_members /* .members */ -}, -/* TargetVariablesDataType */ -{ - UA_TYPENAME("TargetVariablesDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15631LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15712LU}}, /* .binaryEncodingId */ - sizeof(UA_TargetVariablesDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 1, /* .membersSize */ - TargetVariablesDataType_members /* .members */ -}, -/* StandaloneSubscribedDataSetDataType */ -{ - UA_TYPENAME("StandaloneSubscribedDataSetDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23600LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23852LU}}, /* .binaryEncodingId */ - sizeof(UA_StandaloneSubscribedDataSetDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - StandaloneSubscribedDataSetDataType_members /* .members */ -}, -/* DataTypeSchemaHeader */ -{ - UA_TYPENAME("DataTypeSchemaHeader") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15534LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15676LU}}, /* .binaryEncodingId */ - sizeof(UA_DataTypeSchemaHeader), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 4, /* .membersSize */ - DataTypeSchemaHeader_members /* .members */ -}, -/* ReaderGroupDataType */ -{ - UA_TYPENAME("ReaderGroupDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15520LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21153LU}}, /* .binaryEncodingId */ - sizeof(UA_ReaderGroupDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 10, /* .membersSize */ - ReaderGroupDataType_members /* .members */ -}, -/* PubSubConnectionDataType */ -{ - UA_TYPENAME("PubSubConnectionDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15617LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {15694LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubConnectionDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 9, /* .membersSize */ - PubSubConnectionDataType_members /* .members */ -}, -/* PubSubConfigurationDataType */ -{ - UA_TYPENAME("PubSubConfigurationDataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {15530LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {21154LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubConfigurationDataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - PubSubConfigurationDataType_members /* .members */ -}, -/* PubSubConfiguration2DataType */ -{ - UA_TYPENAME("PubSubConfiguration2DataType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {23602LU}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {23854LU}}, /* .binaryEncodingId */ - sizeof(UA_PubSubConfiguration2DataType), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 10, /* .membersSize */ - PubSubConfiguration2DataType_members /* .members */ -}, -}; - - -/**** amalgamated original file "/build/src_generated/open62541/transport_generated.c" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - - -/* MessageType */ -#define MessageType_members NULL - -/* ChunkType */ -#define ChunkType_members NULL - -/* TcpMessageHeader */ -static UA_DataTypeMember TcpMessageHeader_members[2] = { -{ - UA_TYPENAME("MessageTypeAndChunkType") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpMessageHeader, messageSize) - offsetof(UA_TcpMessageHeader, messageTypeAndChunkType) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TcpHelloMessage */ -static UA_DataTypeMember TcpHelloMessage_members[6] = { -{ - UA_TYPENAME("ProtocolVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReceiveBufferSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpHelloMessage, receiveBufferSize) - offsetof(UA_TcpHelloMessage, protocolVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SendBufferSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpHelloMessage, sendBufferSize) - offsetof(UA_TcpHelloMessage, receiveBufferSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpHelloMessage, maxMessageSize) - offsetof(UA_TcpHelloMessage, sendBufferSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxChunkCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpHelloMessage, maxChunkCount) - offsetof(UA_TcpHelloMessage, maxMessageSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_TcpHelloMessage, endpointUrl) - offsetof(UA_TcpHelloMessage, maxChunkCount) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TcpReverseHelloMessage */ -static UA_DataTypeMember TcpReverseHelloMessage_members[2] = { -{ - UA_TYPENAME("ServerUri") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("EndpointUrl") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_TcpReverseHelloMessage, endpointUrl) - offsetof(UA_TcpReverseHelloMessage, serverUri) - sizeof(UA_String), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TcpAcknowledgeMessage */ -static UA_DataTypeMember TcpAcknowledgeMessage_members[5] = { -{ - UA_TYPENAME("ProtocolVersion") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReceiveBufferSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpAcknowledgeMessage, receiveBufferSize) - offsetof(UA_TcpAcknowledgeMessage, protocolVersion) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SendBufferSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpAcknowledgeMessage, sendBufferSize) - offsetof(UA_TcpAcknowledgeMessage, receiveBufferSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxMessageSize") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpAcknowledgeMessage, maxMessageSize) - offsetof(UA_TcpAcknowledgeMessage, sendBufferSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("MaxChunkCount") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_TcpAcknowledgeMessage, maxChunkCount) - offsetof(UA_TcpAcknowledgeMessage, maxMessageSize) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* TcpErrorMessage */ -static UA_DataTypeMember TcpErrorMessage_members[2] = { -{ - UA_TYPENAME("Error") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("Reason") /* .memberName */ - &UA_TYPES[UA_TYPES_STRING], /* .memberType */ - offsetof(UA_TcpErrorMessage, reason) - offsetof(UA_TcpErrorMessage, error) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* AsymmetricAlgorithmSecurityHeader */ -static UA_DataTypeMember AsymmetricAlgorithmSecurityHeader_members[3] = { -{ - UA_TYPENAME("SecurityPolicyUri") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("SenderCertificate") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_AsymmetricAlgorithmSecurityHeader, senderCertificate) - offsetof(UA_AsymmetricAlgorithmSecurityHeader, securityPolicyUri) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("ReceiverCertificateThumbprint") /* .memberName */ - &UA_TYPES[UA_TYPES_BYTESTRING], /* .memberType */ - offsetof(UA_AsymmetricAlgorithmSecurityHeader, receiverCertificateThumbprint) - offsetof(UA_AsymmetricAlgorithmSecurityHeader, senderCertificate) - sizeof(UA_ByteString), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; - -/* SequenceHeader */ -static UA_DataTypeMember SequenceHeader_members[2] = { -{ - UA_TYPENAME("SequenceNumber") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - 0, /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -}, -{ - UA_TYPENAME("RequestId") /* .memberName */ - &UA_TYPES[UA_TYPES_UINT32], /* .memberType */ - offsetof(UA_SequenceHeader, requestId) - offsetof(UA_SequenceHeader, sequenceNumber) - sizeof(UA_UInt32), /* .padding */ - false, /* .isArray */ - false /* .isOptional */ -},}; -UA_DataType UA_TRANSPORT[UA_TRANSPORT_COUNT] = { -/* MessageType */ -{ - UA_TYPENAME("MessageType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_MessageType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - MessageType_members /* .members */ -}, -/* ChunkType */ -{ - UA_TYPENAME("ChunkType") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_ChunkType), /* .memSize */ - UA_DATATYPEKIND_ENUM, /* .typeKind */ - true, /* .pointerFree */ - UA_BINARY_OVERLAYABLE_INTEGER, /* .overlayable */ - 0, /* .membersSize */ - ChunkType_members /* .members */ -}, -/* TcpMessageHeader */ -{ - UA_TYPENAME("TcpMessageHeader") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TcpMessageHeader), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - TcpMessageHeader_members /* .members */ -}, -/* TcpHelloMessage */ -{ - UA_TYPENAME("TcpHelloMessage") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TcpHelloMessage), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 6, /* .membersSize */ - TcpHelloMessage_members /* .members */ -}, -/* TcpReverseHelloMessage */ -{ - UA_TYPENAME("TcpReverseHelloMessage") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TcpReverseHelloMessage), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - TcpReverseHelloMessage_members /* .members */ -}, -/* TcpAcknowledgeMessage */ -{ - UA_TYPENAME("TcpAcknowledgeMessage") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TcpAcknowledgeMessage), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 5, /* .membersSize */ - TcpAcknowledgeMessage_members /* .members */ -}, -/* TcpErrorMessage */ -{ - UA_TYPENAME("TcpErrorMessage") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_TcpErrorMessage), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - TcpErrorMessage_members /* .members */ -}, -/* AsymmetricAlgorithmSecurityHeader */ -{ - UA_TYPENAME("AsymmetricAlgorithmSecurityHeader") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_AsymmetricAlgorithmSecurityHeader), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - false, /* .pointerFree */ - false, /* .overlayable */ - 3, /* .membersSize */ - AsymmetricAlgorithmSecurityHeader_members /* .members */ -}, -/* SequenceHeader */ -{ - UA_TYPENAME("SequenceHeader") /* .typeName */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .typeId */ - {0, UA_NODEIDTYPE_NUMERIC, {0}}, /* .binaryEncodingId */ - sizeof(UA_SequenceHeader), /* .memSize */ - UA_DATATYPEKIND_STRUCTURE, /* .typeKind */ - true, /* .pointerFree */ - false, /* .overlayable */ - 2, /* .membersSize */ - SequenceHeader_members /* .members */ -}, -}; - - -/**** amalgamated original file "/build/src_generated/open62541/statuscodes.c" ****/ - -/********************************** - * Autogenerated -- do not modify * - **********************************/ - - -typedef struct { - UA_StatusCode code; - const char *name; -} UA_StatusCodeName; - -#ifndef UA_ENABLE_STATUSCODE_DESCRIPTIONS -static const char * emptyStatusCodeName = ""; -const char * UA_StatusCode_name(UA_StatusCode code) { - return emptyStatusCodeName; -} -#else -static const size_t statusCodeDescriptionsSize = 266; -static const UA_StatusCodeName statusCodeDescriptions[266] = { - {UA_STATUSCODE_GOOD, "Good"}, - {UA_STATUSCODE_GOOD, "Good"}, - {UA_STATUSCODE_UNCERTAIN, "Uncertain"}, - {UA_STATUSCODE_BAD, "Bad"}, - {UA_STATUSCODE_BADUNEXPECTEDERROR, "BadUnexpectedError"}, - {UA_STATUSCODE_BADINTERNALERROR, "BadInternalError"}, - {UA_STATUSCODE_BADOUTOFMEMORY, "BadOutOfMemory"}, - {UA_STATUSCODE_BADRESOURCEUNAVAILABLE, "BadResourceUnavailable"}, - {UA_STATUSCODE_BADCOMMUNICATIONERROR, "BadCommunicationError"}, - {UA_STATUSCODE_BADENCODINGERROR, "BadEncodingError"}, - {UA_STATUSCODE_BADDECODINGERROR, "BadDecodingError"}, - {UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED, "BadEncodingLimitsExceeded"}, - {UA_STATUSCODE_BADREQUESTTOOLARGE, "BadRequestTooLarge"}, - {UA_STATUSCODE_BADRESPONSETOOLARGE, "BadResponseTooLarge"}, - {UA_STATUSCODE_BADUNKNOWNRESPONSE, "BadUnknownResponse"}, - {UA_STATUSCODE_BADTIMEOUT, "BadTimeout"}, - {UA_STATUSCODE_BADSERVICEUNSUPPORTED, "BadServiceUnsupported"}, - {UA_STATUSCODE_BADSHUTDOWN, "BadShutdown"}, - {UA_STATUSCODE_BADSERVERNOTCONNECTED, "BadServerNotConnected"}, - {UA_STATUSCODE_BADSERVERHALTED, "BadServerHalted"}, - {UA_STATUSCODE_BADNOTHINGTODO, "BadNothingToDo"}, - {UA_STATUSCODE_BADTOOMANYOPERATIONS, "BadTooManyOperations"}, - {UA_STATUSCODE_BADTOOMANYMONITOREDITEMS, "BadTooManyMonitoredItems"}, - {UA_STATUSCODE_BADDATATYPEIDUNKNOWN, "BadDataTypeIdUnknown"}, - {UA_STATUSCODE_BADCERTIFICATEINVALID, "BadCertificateInvalid"}, - {UA_STATUSCODE_BADSECURITYCHECKSFAILED, "BadSecurityChecksFailed"}, - {UA_STATUSCODE_BADCERTIFICATEPOLICYCHECKFAILED, "BadCertificatePolicyCheckFailed"}, - {UA_STATUSCODE_BADCERTIFICATETIMEINVALID, "BadCertificateTimeInvalid"}, - {UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID, "BadCertificateIssuerTimeInvalid"}, - {UA_STATUSCODE_BADCERTIFICATEHOSTNAMEINVALID, "BadCertificateHostNameInvalid"}, - {UA_STATUSCODE_BADCERTIFICATEURIINVALID, "BadCertificateUriInvalid"}, - {UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED, "BadCertificateUseNotAllowed"}, - {UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED, "BadCertificateIssuerUseNotAllowed"}, - {UA_STATUSCODE_BADCERTIFICATEUNTRUSTED, "BadCertificateUntrusted"}, - {UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN, "BadCertificateRevocationUnknown"}, - {UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN, "BadCertificateIssuerRevocationUnknown"}, - {UA_STATUSCODE_BADCERTIFICATEREVOKED, "BadCertificateRevoked"}, - {UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED, "BadCertificateIssuerRevoked"}, - {UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE, "BadCertificateChainIncomplete"}, - {UA_STATUSCODE_BADUSERACCESSDENIED, "BadUserAccessDenied"}, - {UA_STATUSCODE_BADIDENTITYTOKENINVALID, "BadIdentityTokenInvalid"}, - {UA_STATUSCODE_BADIDENTITYTOKENREJECTED, "BadIdentityTokenRejected"}, - {UA_STATUSCODE_BADSECURECHANNELIDINVALID, "BadSecureChannelIdInvalid"}, - {UA_STATUSCODE_BADINVALIDTIMESTAMP, "BadInvalidTimestamp"}, - {UA_STATUSCODE_BADNONCEINVALID, "BadNonceInvalid"}, - {UA_STATUSCODE_BADSESSIONIDINVALID, "BadSessionIdInvalid"}, - {UA_STATUSCODE_BADSESSIONCLOSED, "BadSessionClosed"}, - {UA_STATUSCODE_BADSESSIONNOTACTIVATED, "BadSessionNotActivated"}, - {UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID, "BadSubscriptionIdInvalid"}, - {UA_STATUSCODE_BADREQUESTHEADERINVALID, "BadRequestHeaderInvalid"}, - {UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID, "BadTimestampsToReturnInvalid"}, - {UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT, "BadRequestCancelledByClient"}, - {UA_STATUSCODE_BADTOOMANYARGUMENTS, "BadTooManyArguments"}, - {UA_STATUSCODE_BADLICENSEEXPIRED, "BadLicenseExpired"}, - {UA_STATUSCODE_BADLICENSELIMITSEXCEEDED, "BadLicenseLimitsExceeded"}, - {UA_STATUSCODE_BADLICENSENOTAVAILABLE, "BadLicenseNotAvailable"}, - {UA_STATUSCODE_GOODSUBSCRIPTIONTRANSFERRED, "GoodSubscriptionTransferred"}, - {UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY, "GoodCompletesAsynchronously"}, - {UA_STATUSCODE_GOODOVERLOAD, "GoodOverload"}, - {UA_STATUSCODE_GOODCLAMPED, "GoodClamped"}, - {UA_STATUSCODE_BADNOCOMMUNICATION, "BadNoCommunication"}, - {UA_STATUSCODE_BADWAITINGFORINITIALDATA, "BadWaitingForInitialData"}, - {UA_STATUSCODE_BADNODEIDINVALID, "BadNodeIdInvalid"}, - {UA_STATUSCODE_BADNODEIDUNKNOWN, "BadNodeIdUnknown"}, - {UA_STATUSCODE_BADATTRIBUTEIDINVALID, "BadAttributeIdInvalid"}, - {UA_STATUSCODE_BADINDEXRANGEINVALID, "BadIndexRangeInvalid"}, - {UA_STATUSCODE_BADINDEXRANGENODATA, "BadIndexRangeNoData"}, - {UA_STATUSCODE_BADDATAENCODINGINVALID, "BadDataEncodingInvalid"}, - {UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED, "BadDataEncodingUnsupported"}, - {UA_STATUSCODE_BADNOTREADABLE, "BadNotReadable"}, - {UA_STATUSCODE_BADNOTWRITABLE, "BadNotWritable"}, - {UA_STATUSCODE_BADOUTOFRANGE, "BadOutOfRange"}, - {UA_STATUSCODE_BADNOTSUPPORTED, "BadNotSupported"}, - {UA_STATUSCODE_BADNOTFOUND, "BadNotFound"}, - {UA_STATUSCODE_BADOBJECTDELETED, "BadObjectDeleted"}, - {UA_STATUSCODE_BADNOTIMPLEMENTED, "BadNotImplemented"}, - {UA_STATUSCODE_BADMONITORINGMODEINVALID, "BadMonitoringModeInvalid"}, - {UA_STATUSCODE_BADMONITOREDITEMIDINVALID, "BadMonitoredItemIdInvalid"}, - {UA_STATUSCODE_BADMONITOREDITEMFILTERINVALID, "BadMonitoredItemFilterInvalid"}, - {UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED, "BadMonitoredItemFilterUnsupported"}, - {UA_STATUSCODE_BADFILTERNOTALLOWED, "BadFilterNotAllowed"}, - {UA_STATUSCODE_BADSTRUCTUREMISSING, "BadStructureMissing"}, - {UA_STATUSCODE_BADEVENTFILTERINVALID, "BadEventFilterInvalid"}, - {UA_STATUSCODE_BADCONTENTFILTERINVALID, "BadContentFilterInvalid"}, - {UA_STATUSCODE_BADFILTEROPERATORINVALID, "BadFilterOperatorInvalid"}, - {UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED, "BadFilterOperatorUnsupported"}, - {UA_STATUSCODE_BADFILTEROPERANDCOUNTMISMATCH, "BadFilterOperandCountMismatch"}, - {UA_STATUSCODE_BADFILTEROPERANDINVALID, "BadFilterOperandInvalid"}, - {UA_STATUSCODE_BADFILTERELEMENTINVALID, "BadFilterElementInvalid"}, - {UA_STATUSCODE_BADFILTERLITERALINVALID, "BadFilterLiteralInvalid"}, - {UA_STATUSCODE_BADCONTINUATIONPOINTINVALID, "BadContinuationPointInvalid"}, - {UA_STATUSCODE_BADNOCONTINUATIONPOINTS, "BadNoContinuationPoints"}, - {UA_STATUSCODE_BADREFERENCETYPEIDINVALID, "BadReferenceTypeIdInvalid"}, - {UA_STATUSCODE_BADBROWSEDIRECTIONINVALID, "BadBrowseDirectionInvalid"}, - {UA_STATUSCODE_BADNODENOTINVIEW, "BadNodeNotInView"}, - {UA_STATUSCODE_BADNUMERICOVERFLOW, "BadNumericOverflow"}, - {UA_STATUSCODE_BADSERVERURIINVALID, "BadServerUriInvalid"}, - {UA_STATUSCODE_BADSERVERNAMEMISSING, "BadServerNameMissing"}, - {UA_STATUSCODE_BADDISCOVERYURLMISSING, "BadDiscoveryUrlMissing"}, - {UA_STATUSCODE_BADSEMPAHOREFILEMISSING, "BadSempahoreFileMissing"}, - {UA_STATUSCODE_BADREQUESTTYPEINVALID, "BadRequestTypeInvalid"}, - {UA_STATUSCODE_BADSECURITYMODEREJECTED, "BadSecurityModeRejected"}, - {UA_STATUSCODE_BADSECURITYPOLICYREJECTED, "BadSecurityPolicyRejected"}, - {UA_STATUSCODE_BADTOOMANYSESSIONS, "BadTooManySessions"}, - {UA_STATUSCODE_BADUSERSIGNATUREINVALID, "BadUserSignatureInvalid"}, - {UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID, "BadApplicationSignatureInvalid"}, - {UA_STATUSCODE_BADNOVALIDCERTIFICATES, "BadNoValidCertificates"}, - {UA_STATUSCODE_BADIDENTITYCHANGENOTSUPPORTED, "BadIdentityChangeNotSupported"}, - {UA_STATUSCODE_BADREQUESTCANCELLEDBYREQUEST, "BadRequestCancelledByRequest"}, - {UA_STATUSCODE_BADPARENTNODEIDINVALID, "BadParentNodeIdInvalid"}, - {UA_STATUSCODE_BADREFERENCENOTALLOWED, "BadReferenceNotAllowed"}, - {UA_STATUSCODE_BADNODEIDREJECTED, "BadNodeIdRejected"}, - {UA_STATUSCODE_BADNODEIDEXISTS, "BadNodeIdExists"}, - {UA_STATUSCODE_BADNODECLASSINVALID, "BadNodeClassInvalid"}, - {UA_STATUSCODE_BADBROWSENAMEINVALID, "BadBrowseNameInvalid"}, - {UA_STATUSCODE_BADBROWSENAMEDUPLICATED, "BadBrowseNameDuplicated"}, - {UA_STATUSCODE_BADNODEATTRIBUTESINVALID, "BadNodeAttributesInvalid"}, - {UA_STATUSCODE_BADTYPEDEFINITIONINVALID, "BadTypeDefinitionInvalid"}, - {UA_STATUSCODE_BADSOURCENODEIDINVALID, "BadSourceNodeIdInvalid"}, - {UA_STATUSCODE_BADTARGETNODEIDINVALID, "BadTargetNodeIdInvalid"}, - {UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED, "BadDuplicateReferenceNotAllowed"}, - {UA_STATUSCODE_BADINVALIDSELFREFERENCE, "BadInvalidSelfReference"}, - {UA_STATUSCODE_BADREFERENCELOCALONLY, "BadReferenceLocalOnly"}, - {UA_STATUSCODE_BADNODELETERIGHTS, "BadNoDeleteRights"}, - {UA_STATUSCODE_UNCERTAINREFERENCENOTDELETED, "UncertainReferenceNotDeleted"}, - {UA_STATUSCODE_BADSERVERINDEXINVALID, "BadServerIndexInvalid"}, - {UA_STATUSCODE_BADVIEWIDUNKNOWN, "BadViewIdUnknown"}, - {UA_STATUSCODE_BADVIEWTIMESTAMPINVALID, "BadViewTimestampInvalid"}, - {UA_STATUSCODE_BADVIEWPARAMETERMISMATCH, "BadViewParameterMismatch"}, - {UA_STATUSCODE_BADVIEWVERSIONINVALID, "BadViewVersionInvalid"}, - {UA_STATUSCODE_UNCERTAINNOTALLNODESAVAILABLE, "UncertainNotAllNodesAvailable"}, - {UA_STATUSCODE_GOODRESULTSMAYBEINCOMPLETE, "GoodResultsMayBeIncomplete"}, - {UA_STATUSCODE_BADNOTTYPEDEFINITION, "BadNotTypeDefinition"}, - {UA_STATUSCODE_UNCERTAINREFERENCEOUTOFSERVER, "UncertainReferenceOutOfServer"}, - {UA_STATUSCODE_BADTOOMANYMATCHES, "BadTooManyMatches"}, - {UA_STATUSCODE_BADQUERYTOOCOMPLEX, "BadQueryTooComplex"}, - {UA_STATUSCODE_BADNOMATCH, "BadNoMatch"}, - {UA_STATUSCODE_BADMAXAGEINVALID, "BadMaxAgeInvalid"}, - {UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT, "BadSecurityModeInsufficient"}, - {UA_STATUSCODE_BADHISTORYOPERATIONINVALID, "BadHistoryOperationInvalid"}, - {UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED, "BadHistoryOperationUnsupported"}, - {UA_STATUSCODE_BADINVALIDTIMESTAMPARGUMENT, "BadInvalidTimestampArgument"}, - {UA_STATUSCODE_BADWRITENOTSUPPORTED, "BadWriteNotSupported"}, - {UA_STATUSCODE_BADTYPEMISMATCH, "BadTypeMismatch"}, - {UA_STATUSCODE_BADMETHODINVALID, "BadMethodInvalid"}, - {UA_STATUSCODE_BADARGUMENTSMISSING, "BadArgumentsMissing"}, - {UA_STATUSCODE_BADNOTEXECUTABLE, "BadNotExecutable"}, - {UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS, "BadTooManySubscriptions"}, - {UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS, "BadTooManyPublishRequests"}, - {UA_STATUSCODE_BADNOSUBSCRIPTION, "BadNoSubscription"}, - {UA_STATUSCODE_BADSEQUENCENUMBERUNKNOWN, "BadSequenceNumberUnknown"}, - {UA_STATUSCODE_GOODRETRANSMISSIONQUEUENOTSUPPORTED, "GoodRetransmissionQueueNotSupported"}, - {UA_STATUSCODE_BADMESSAGENOTAVAILABLE, "BadMessageNotAvailable"}, - {UA_STATUSCODE_BADINSUFFICIENTCLIENTPROFILE, "BadInsufficientClientProfile"}, - {UA_STATUSCODE_BADSTATENOTACTIVE, "BadStateNotActive"}, - {UA_STATUSCODE_BADALREADYEXISTS, "BadAlreadyExists"}, - {UA_STATUSCODE_BADTCPSERVERTOOBUSY, "BadTcpServerTooBusy"}, - {UA_STATUSCODE_BADTCPMESSAGETYPEINVALID, "BadTcpMessageTypeInvalid"}, - {UA_STATUSCODE_BADTCPSECURECHANNELUNKNOWN, "BadTcpSecureChannelUnknown"}, - {UA_STATUSCODE_BADTCPMESSAGETOOLARGE, "BadTcpMessageTooLarge"}, - {UA_STATUSCODE_BADTCPNOTENOUGHRESOURCES, "BadTcpNotEnoughResources"}, - {UA_STATUSCODE_BADTCPINTERNALERROR, "BadTcpInternalError"}, - {UA_STATUSCODE_BADTCPENDPOINTURLINVALID, "BadTcpEndpointUrlInvalid"}, - {UA_STATUSCODE_BADREQUESTINTERRUPTED, "BadRequestInterrupted"}, - {UA_STATUSCODE_BADREQUESTTIMEOUT, "BadRequestTimeout"}, - {UA_STATUSCODE_BADSECURECHANNELCLOSED, "BadSecureChannelClosed"}, - {UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN, "BadSecureChannelTokenUnknown"}, - {UA_STATUSCODE_BADSEQUENCENUMBERINVALID, "BadSequenceNumberInvalid"}, - {UA_STATUSCODE_BADPROTOCOLVERSIONUNSUPPORTED, "BadProtocolVersionUnsupported"}, - {UA_STATUSCODE_BADCONFIGURATIONERROR, "BadConfigurationError"}, - {UA_STATUSCODE_BADNOTCONNECTED, "BadNotConnected"}, - {UA_STATUSCODE_BADDEVICEFAILURE, "BadDeviceFailure"}, - {UA_STATUSCODE_BADSENSORFAILURE, "BadSensorFailure"}, - {UA_STATUSCODE_BADOUTOFSERVICE, "BadOutOfService"}, - {UA_STATUSCODE_BADDEADBANDFILTERINVALID, "BadDeadbandFilterInvalid"}, - {UA_STATUSCODE_UNCERTAINNOCOMMUNICATIONLASTUSABLEVALUE, "UncertainNoCommunicationLastUsableValue"}, - {UA_STATUSCODE_UNCERTAINLASTUSABLEVALUE, "UncertainLastUsableValue"}, - {UA_STATUSCODE_UNCERTAINSUBSTITUTEVALUE, "UncertainSubstituteValue"}, - {UA_STATUSCODE_UNCERTAININITIALVALUE, "UncertainInitialValue"}, - {UA_STATUSCODE_UNCERTAINSENSORNOTACCURATE, "UncertainSensorNotAccurate"}, - {UA_STATUSCODE_UNCERTAINENGINEERINGUNITSEXCEEDED, "UncertainEngineeringUnitsExceeded"}, - {UA_STATUSCODE_UNCERTAINSUBNORMAL, "UncertainSubNormal"}, - {UA_STATUSCODE_GOODLOCALOVERRIDE, "GoodLocalOverride"}, - {UA_STATUSCODE_BADREFRESHINPROGRESS, "BadRefreshInProgress"}, - {UA_STATUSCODE_BADCONDITIONALREADYDISABLED, "BadConditionAlreadyDisabled"}, - {UA_STATUSCODE_BADCONDITIONALREADYENABLED, "BadConditionAlreadyEnabled"}, - {UA_STATUSCODE_BADCONDITIONDISABLED, "BadConditionDisabled"}, - {UA_STATUSCODE_BADEVENTIDUNKNOWN, "BadEventIdUnknown"}, - {UA_STATUSCODE_BADEVENTNOTACKNOWLEDGEABLE, "BadEventNotAcknowledgeable"}, - {UA_STATUSCODE_BADDIALOGNOTACTIVE, "BadDialogNotActive"}, - {UA_STATUSCODE_BADDIALOGRESPONSEINVALID, "BadDialogResponseInvalid"}, - {UA_STATUSCODE_BADCONDITIONBRANCHALREADYACKED, "BadConditionBranchAlreadyAcked"}, - {UA_STATUSCODE_BADCONDITIONBRANCHALREADYCONFIRMED, "BadConditionBranchAlreadyConfirmed"}, - {UA_STATUSCODE_BADCONDITIONALREADYSHELVED, "BadConditionAlreadyShelved"}, - {UA_STATUSCODE_BADCONDITIONNOTSHELVED, "BadConditionNotShelved"}, - {UA_STATUSCODE_BADSHELVINGTIMEOUTOFRANGE, "BadShelvingTimeOutOfRange"}, - {UA_STATUSCODE_BADNODATA, "BadNoData"}, - {UA_STATUSCODE_BADBOUNDNOTFOUND, "BadBoundNotFound"}, - {UA_STATUSCODE_BADBOUNDNOTSUPPORTED, "BadBoundNotSupported"}, - {UA_STATUSCODE_BADDATALOST, "BadDataLost"}, - {UA_STATUSCODE_BADDATAUNAVAILABLE, "BadDataUnavailable"}, - {UA_STATUSCODE_BADENTRYEXISTS, "BadEntryExists"}, - {UA_STATUSCODE_BADNOENTRYEXISTS, "BadNoEntryExists"}, - {UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED, "BadTimestampNotSupported"}, - {UA_STATUSCODE_GOODENTRYINSERTED, "GoodEntryInserted"}, - {UA_STATUSCODE_GOODENTRYREPLACED, "GoodEntryReplaced"}, - {UA_STATUSCODE_UNCERTAINDATASUBNORMAL, "UncertainDataSubNormal"}, - {UA_STATUSCODE_GOODNODATA, "GoodNoData"}, - {UA_STATUSCODE_GOODMOREDATA, "GoodMoreData"}, - {UA_STATUSCODE_BADAGGREGATELISTMISMATCH, "BadAggregateListMismatch"}, - {UA_STATUSCODE_BADAGGREGATENOTSUPPORTED, "BadAggregateNotSupported"}, - {UA_STATUSCODE_BADAGGREGATEINVALIDINPUTS, "BadAggregateInvalidInputs"}, - {UA_STATUSCODE_BADAGGREGATECONFIGURATIONREJECTED, "BadAggregateConfigurationRejected"}, - {UA_STATUSCODE_GOODDATAIGNORED, "GoodDataIgnored"}, - {UA_STATUSCODE_BADREQUESTNOTALLOWED, "BadRequestNotAllowed"}, - {UA_STATUSCODE_BADREQUESTNOTCOMPLETE, "BadRequestNotComplete"}, - {UA_STATUSCODE_BADTRANSACTIONPENDING, "BadTransactionPending"}, - {UA_STATUSCODE_BADTICKETREQUIRED, "BadTicketRequired"}, - {UA_STATUSCODE_BADTICKETINVALID, "BadTicketInvalid"}, - {UA_STATUSCODE_BADLOCKED, "BadLocked"}, - {UA_STATUSCODE_GOODEDITED, "GoodEdited"}, - {UA_STATUSCODE_GOODPOSTACTIONFAILED, "GoodPostActionFailed"}, - {UA_STATUSCODE_UNCERTAINDOMINANTVALUECHANGED, "UncertainDominantValueChanged"}, - {UA_STATUSCODE_GOODDEPENDENTVALUECHANGED, "GoodDependentValueChanged"}, - {UA_STATUSCODE_BADDOMINANTVALUECHANGED, "BadDominantValueChanged"}, - {UA_STATUSCODE_UNCERTAINDEPENDENTVALUECHANGED, "UncertainDependentValueChanged"}, - {UA_STATUSCODE_BADDEPENDENTVALUECHANGED, "BadDependentValueChanged"}, - {UA_STATUSCODE_GOODEDITED_DEPENDENTVALUECHANGED, "GoodEdited_DependentValueChanged"}, - {UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED, "GoodEdited_DominantValueChanged"}, - {UA_STATUSCODE_GOODEDITED_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED, "GoodEdited_DominantValueChanged_DependentValueChanged"}, - {UA_STATUSCODE_BADEDITED_OUTOFRANGE, "BadEdited_OutOfRange"}, - {UA_STATUSCODE_BADINITIALVALUE_OUTOFRANGE, "BadInitialValue_OutOfRange"}, - {UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED, "BadOutOfRange_DominantValueChanged"}, - {UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED, "BadEdited_OutOfRange_DominantValueChanged"}, - {UA_STATUSCODE_BADOUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED, "BadOutOfRange_DominantValueChanged_DependentValueChanged"}, - {UA_STATUSCODE_BADEDITED_OUTOFRANGE_DOMINANTVALUECHANGED_DEPENDENTVALUECHANGED, "BadEdited_OutOfRange_DominantValueChanged_DependentValueChanged"}, - {UA_STATUSCODE_GOODCOMMUNICATIONEVENT, "GoodCommunicationEvent"}, - {UA_STATUSCODE_GOODSHUTDOWNEVENT, "GoodShutdownEvent"}, - {UA_STATUSCODE_GOODCALLAGAIN, "GoodCallAgain"}, - {UA_STATUSCODE_GOODNONCRITICALTIMEOUT, "GoodNonCriticalTimeout"}, - {UA_STATUSCODE_BADINVALIDARGUMENT, "BadInvalidArgument"}, - {UA_STATUSCODE_BADCONNECTIONREJECTED, "BadConnectionRejected"}, - {UA_STATUSCODE_BADDISCONNECT, "BadDisconnect"}, - {UA_STATUSCODE_BADCONNECTIONCLOSED, "BadConnectionClosed"}, - {UA_STATUSCODE_BADINVALIDSTATE, "BadInvalidState"}, - {UA_STATUSCODE_BADENDOFSTREAM, "BadEndOfStream"}, - {UA_STATUSCODE_BADNODATAAVAILABLE, "BadNoDataAvailable"}, - {UA_STATUSCODE_BADWAITINGFORRESPONSE, "BadWaitingForResponse"}, - {UA_STATUSCODE_BADOPERATIONABANDONED, "BadOperationAbandoned"}, - {UA_STATUSCODE_BADEXPECTEDSTREAMTOBLOCK, "BadExpectedStreamToBlock"}, - {UA_STATUSCODE_BADWOULDBLOCK, "BadWouldBlock"}, - {UA_STATUSCODE_BADSYNTAXERROR, "BadSyntaxError"}, - {UA_STATUSCODE_BADMAXCONNECTIONSREACHED, "BadMaxConnectionsReached"}, - {UA_STATUSCODE_UNCERTAINTRANSDUCERINMANUAL, "UncertainTransducerInManual"}, - {UA_STATUSCODE_UNCERTAINSIMULATEDVALUE, "UncertainSimulatedValue"}, - {UA_STATUSCODE_UNCERTAINSENSORCALIBRATION, "UncertainSensorCalibration"}, - {UA_STATUSCODE_UNCERTAINCONFIGURATIONERROR, "UncertainConfigurationError"}, - {UA_STATUSCODE_GOODCASCADEINITIALIZATIONACKNOWLEDGED, "GoodCascadeInitializationAcknowledged"}, - {UA_STATUSCODE_GOODCASCADEINITIALIZATIONREQUEST, "GoodCascadeInitializationRequest"}, - {UA_STATUSCODE_GOODCASCADENOTINVITED, "GoodCascadeNotInvited"}, - {UA_STATUSCODE_GOODCASCADENOTSELECTED, "GoodCascadeNotSelected"}, - {UA_STATUSCODE_GOODFAULTSTATEACTIVE, "GoodFaultStateActive"}, - {UA_STATUSCODE_GOODINITIATEFAULTSTATE, "GoodInitiateFaultState"}, - {UA_STATUSCODE_GOODCASCADE, "GoodCascade"}, - {UA_STATUSCODE_BADDATASETIDINVALID, "BadDataSetIdInvalid"}, - {0xffffffff, "Unknown StatusCode"} -}; - -const char * UA_StatusCode_name(UA_StatusCode code) { - for (size_t i = 0; i < statusCodeDescriptionsSize; ++i) { - if (UA_StatusCode_isEqualTop(statusCodeDescriptions[i].code,code)) - return statusCodeDescriptions[i].name; - } - return statusCodeDescriptions[statusCodeDescriptionsSize-1].name; -} - -#endif - -/**** amalgamated original file "/src/ua_util.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014, 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014 (c) Florian Palm - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - -/* If UA_ENABLE_INLINABLE_EXPORT is enabled, then this file is the compilation - * unit for the generated code from UA_INLINABLE definitions. */ -#define UA_INLINABLE_IMPL 1 - - - -static UA_DataTypeKind -typeEquivalence(const UA_DataType *t) { - UA_DataTypeKind k = (UA_DataTypeKind)t->typeKind; - if(k == UA_DATATYPEKIND_ENUM) - return UA_DATATYPEKIND_INT32; - return k; -} - -void -adjustType(UA_Variant *value, const UA_DataType *targetType) { - /* If the value is empty, there is nothing we can do here */ - const UA_DataType *type = value->type; - if(!type || !targetType) - return; - - /* A string is written to a byte array. the valuerank and array dimensions - * are checked later */ - if(targetType == &UA_TYPES[UA_TYPES_BYTE] && - type == &UA_TYPES[UA_TYPES_BYTESTRING] && - UA_Variant_isScalar(value)) { - UA_ByteString *str = (UA_ByteString*)value->data; - value->type = &UA_TYPES[UA_TYPES_BYTE]; - value->arrayLength = str->length; - value->data = str->data; - return; - } - - /* An enum was sent as an int32, or an opaque type as a bytestring. This - * is detected with the typeKind indicating the "true" datatype. */ - UA_DataTypeKind te1 = typeEquivalence(targetType); - UA_DataTypeKind te2 = typeEquivalence(type); - if(te1 == te2 && te1 <= UA_DATATYPEKIND_ENUM) { - value->type = targetType; - return; - } - - /* Add more possible type adjustments here. What are they? */ -} - -size_t -UA_readNumberWithBase(const UA_Byte *buf, size_t buflen, UA_UInt32 *number, UA_Byte base) { - UA_assert(buf); - UA_assert(number); - u32 n = 0; - size_t progress = 0; - /* read numbers until the end or a non-number character appears */ - while(progress < buflen) { - u8 c = buf[progress]; - if(c >= '0' && c <= '9' && c <= '0' + (base-1)) - n = (n * base) + c - '0'; - else if(base > 9 && c >= 'a' && c <= 'z' && c <= 'a' + (base-11)) - n = (n * base) + c-'a' + 10; - else if(base > 9 && c >= 'A' && c <= 'Z' && c <= 'A' + (base-11)) - n = (n * base) + c-'A' + 10; - else - break; - ++progress; - } - *number = n; - return progress; -} - -size_t -UA_readNumber(const UA_Byte *buf, size_t buflen, UA_UInt32 *number) { - return UA_readNumberWithBase(buf, buflen, number, 10); -} - -struct urlSchema { - const char *schema; -}; - -static const struct urlSchema schemas[] = { - {"opc.tcp://"}, - {"opc.udp://"}, - {"opc.eth://"}, - {"opc.mqtt://"} -}; - -static const unsigned scNumSchemas = sizeof(schemas) / sizeof(schemas[0]); -static const unsigned scEthSchemaIdx = 2; - -UA_StatusCode -UA_parseEndpointUrl(const UA_String *endpointUrl, UA_String *outHostname, - UA_UInt16 *outPort, UA_String *outPath) { - /* Url must begin with "opc.tcp://" or opc.udp:// (if pubsub enabled) */ - if(endpointUrl->length < 11) { - return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; - } - - /* Which type of schema is this? */ - unsigned schemaType = 0; - for(; schemaType < scNumSchemas; schemaType++) { - if(strncmp((char*)endpointUrl->data, - schemas[schemaType].schema, - strlen(schemas[schemaType].schema)) == 0) - break; - } - if(schemaType == scNumSchemas) - return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; - - /* Forward the current position until the first colon or slash */ - size_t start = strlen(schemas[schemaType].schema); - size_t curr = start; - UA_Boolean ipv6 = false; - if(endpointUrl->length > curr && endpointUrl->data[curr] == '[') { - /* IPv6: opc.tcp://[2001:0db8:85a3::8a2e:0370:7334]:1234/path */ - for(; curr < endpointUrl->length; ++curr) { - if(endpointUrl->data[curr] == ']') - break; - } - if(curr == endpointUrl->length) - return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; - curr++; - ipv6 = true; - } else { - /* IPv4 or hostname: opc.tcp://something.something:1234/path */ - for(; curr < endpointUrl->length; ++curr) { - if(endpointUrl->data[curr] == ':' || endpointUrl->data[curr] == '/') - break; - } - } - - /* Set the hostname */ - if(ipv6) { - /* Skip the ipv6 '[]' container for getaddrinfo() later */ - outHostname->data = &endpointUrl->data[start+1]; - outHostname->length = curr - (start+2); - } else { - outHostname->data = &endpointUrl->data[start]; - outHostname->length = curr - start; - } - - /* Empty string? */ - if(outHostname->length == 0) - outHostname->data = NULL; - - /* Already at the end */ - if(curr == endpointUrl->length) - return UA_STATUSCODE_GOOD; - - /* Set the port - and for ETH set the VID.PCP postfix in the outpath string. - * We have to parse that externally. */ - if(endpointUrl->data[curr] == ':') { - if(++curr == endpointUrl->length) - return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; - - /* ETH schema */ - if(schemaType == scEthSchemaIdx) { - if(outPath != NULL) { - outPath->data = &endpointUrl->data[curr]; - outPath->length = endpointUrl->length - curr; - } - return UA_STATUSCODE_GOOD; - } - - u32 largeNum; - size_t progress = UA_readNumber(&endpointUrl->data[curr], - endpointUrl->length - curr, &largeNum); - if(progress == 0 || largeNum > 65535) - return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; - /* Test if the end of a valid port was reached */ - curr += progress; - if(curr == endpointUrl->length || endpointUrl->data[curr] == '/') - *outPort = (u16)largeNum; - if(curr == endpointUrl->length) - return UA_STATUSCODE_GOOD; - } - - /* Set the path */ - UA_assert(curr < endpointUrl->length); - if(endpointUrl->data[curr] != '/') - return UA_STATUSCODE_BADTCPENDPOINTURLINVALID; - if(++curr == endpointUrl->length) - return UA_STATUSCODE_GOOD; - if(outPath != NULL) { - outPath->data = &endpointUrl->data[curr]; - outPath->length = endpointUrl->length - curr; - - /* Remove trailing slash from the path */ - if(endpointUrl->data[endpointUrl->length - 1] == '/') - outPath->length--; - - /* Empty string? */ - if(outPath->length == 0) - outPath->data = NULL; - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_parseEndpointUrlEthernet(const UA_String *endpointUrl, UA_String *target, - UA_UInt16 *vid, UA_Byte *pcp) { - /* Url must begin with "opc.eth://" */ - if(endpointUrl->length < 11) { - return UA_STATUSCODE_BADINTERNALERROR; - } - if(strncmp((char*) endpointUrl->data, "opc.eth://", 10) != 0) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Where does the host address end? */ - size_t curr = 10; - for(; curr < endpointUrl->length; ++curr) { - if(endpointUrl->data[curr] == ':') { - break; - } - } - - /* set host address */ - target->data = &endpointUrl->data[10]; - target->length = curr - 10; - if(curr == endpointUrl->length) { - return UA_STATUSCODE_GOOD; - } - - /* Set VLAN */ - u32 value = 0; - curr++; /* skip ':' */ - size_t progress = UA_readNumber(&endpointUrl->data[curr], - endpointUrl->length - curr, &value); - if(progress == 0 || value > 4096) { - return UA_STATUSCODE_BADINTERNALERROR; - } - curr += progress; - if(curr == endpointUrl->length || endpointUrl->data[curr] == '.') { - *vid = (UA_UInt16) value; - } - if(curr == endpointUrl->length) { - return UA_STATUSCODE_GOOD; - } - - /* Set priority */ - if(endpointUrl->data[curr] != '.') { - return UA_STATUSCODE_BADINTERNALERROR; - } - curr++; /* skip '.' */ - progress = UA_readNumber(&endpointUrl->data[curr], - endpointUrl->length - curr, &value); - if(progress == 0 || value > 7) { - return UA_STATUSCODE_BADINTERNALERROR; - } - curr += progress; - if(curr != endpointUrl->length) { - return UA_STATUSCODE_BADINTERNALERROR; - } - *pcp = (UA_Byte) value; - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_ByteString_toBase64(const UA_ByteString *byteString, - UA_String *str) { - UA_String_init(str); - if(!byteString || !byteString->data) - return UA_STATUSCODE_GOOD; - - str->data = (UA_Byte*) - UA_base64(byteString->data, byteString->length, &str->length); - if(!str->data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_ByteString_fromBase64(UA_ByteString *bs, - const UA_String *input) { - UA_ByteString_init(bs); - if(input->length == 0) - return UA_STATUSCODE_GOOD; - bs->data = UA_unbase64((const unsigned char*)input->data, - input->length, &bs->length); - /* TODO: Differentiate between encoding and memory errors */ - if(!bs->data) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -/* Key Value Map */ - -const UA_KeyValueMap UA_KEYVALUEMAP_NULL = {0, NULL}; - -UA_KeyValueMap * -UA_KeyValueMap_new(void) { - return (UA_KeyValueMap*)UA_calloc(1, sizeof(UA_KeyValueMap)); -} - -UA_StatusCode -UA_KeyValueMap_set(UA_KeyValueMap *map, - const UA_QualifiedName key, - const UA_Variant *value) { - if(map == NULL || value == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Key exists already */ - const UA_Variant *v = UA_KeyValueMap_get(map, key); - if(v) { - UA_Variant copyV; - UA_StatusCode res = UA_Variant_copy(value, ©V); - if(res != UA_STATUSCODE_GOOD) - return res; - UA_Variant *target = (UA_Variant*)(uintptr_t)v; - UA_Variant_clear(target); - *target = copyV; - return UA_STATUSCODE_GOOD; - } - - /* Append to the array */ - UA_KeyValuePair pair; - pair.key = key; - pair.value = *value; - return UA_Array_appendCopy((void**)&map->map, &map->mapSize, &pair, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); -} - -UA_StatusCode -UA_KeyValueMap_setScalar(UA_KeyValueMap *map, - const UA_QualifiedName key, - void * UA_RESTRICT p, - const UA_DataType *type) { - if(p == NULL || type == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - UA_Variant v; - UA_Variant_init(&v); - v.type = type; - v.arrayLength = 0; - v.data = p; - return UA_KeyValueMap_set(map, key, &v); -} - -const UA_Variant * -UA_KeyValueMap_get(const UA_KeyValueMap *map, - const UA_QualifiedName key) { - if(!map) - return NULL; - for(size_t i = 0; i < map->mapSize; i++) { - if(map->map[i].key.namespaceIndex == key.namespaceIndex && - UA_String_equal(&map->map[i].key.name, &key.name)) - return &map->map[i].value; - - } - return NULL; -} - -UA_Boolean -UA_KeyValueMap_isEmpty(const UA_KeyValueMap *map) { - if(!map) - return true; - return map->mapSize == 0; -} - -const void * -UA_KeyValueMap_getScalar(const UA_KeyValueMap *map, - const UA_QualifiedName key, - const UA_DataType *type) { - const UA_Variant *v = UA_KeyValueMap_get(map, key); - if(!v || !UA_Variant_hasScalarType(v, type)) - return NULL; - return v->data; -} - -void -UA_KeyValueMap_clear(UA_KeyValueMap *map) { - if(!map) - return; - if(map->mapSize > 0) { - UA_Array_delete(map->map, map->mapSize, &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - map->mapSize = 0; - } -} - -void -UA_KeyValueMap_delete(UA_KeyValueMap *map) { - UA_KeyValueMap_clear(map); - UA_free(map); -} - -UA_StatusCode -UA_KeyValueMap_remove(UA_KeyValueMap *map, - const UA_QualifiedName key) { - if(!map) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_KeyValuePair *m = map->map; - size_t s = map->mapSize; - size_t i = 0; - for(; i < s; i++) { - if(m[i].key.namespaceIndex == key.namespaceIndex && - UA_String_equal(&m[i].key.name, &key.name)) - break; - } - if(i == s) - return UA_STATUSCODE_BADNOTFOUND; - - /* Clean the slot and move the last entry to fill the slot */ - UA_KeyValuePair_clear(&m[i]); - if(s > 1 && i < s - 1) { - m[i] = m[s-1]; - UA_KeyValuePair_init(&m[s-1]); - } - - /* Ignore the result. In case resize fails, keep the longer original array - * around. Resize never fails when reducing the size to zero. */ - UA_StatusCode res = - UA_Array_resize((void**)&map->map, &map->mapSize, map->mapSize - 1, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - /* Adjust map->mapSize only when UA_Array_resize() failed. On success, the - * value has already been decremented by UA_Array_resize(). */ - if(res != UA_STATUSCODE_GOOD) - map->mapSize--; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_KeyValueMap_copy(const UA_KeyValueMap *src, UA_KeyValueMap *dst) { - if(!dst) - return UA_STATUSCODE_BADINVALIDARGUMENT; - if(!src) { - dst->map = NULL; - dst->mapSize = 0; - return UA_STATUSCODE_GOOD; - } - UA_StatusCode res = UA_Array_copy(src->map, src->mapSize, (void**)&dst->map, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - if(res == UA_STATUSCODE_GOOD) - dst->mapSize = src->mapSize; - return res; -} - -UA_Boolean -UA_KeyValueMap_contains(const UA_KeyValueMap *map, const UA_QualifiedName key) { - if(!map) - return false; - for(size_t i = 0; i < map->mapSize; ++i) { - if(UA_QualifiedName_equal(&map->map[i].key, &key)) - return true; - } - return false; -} - -UA_StatusCode -UA_KeyValueMap_merge(UA_KeyValueMap *lhs, const UA_KeyValueMap *rhs) { - if(!lhs) - return UA_STATUSCODE_BADINVALIDARGUMENT; - if(!rhs) - return UA_STATUSCODE_GOOD; - - UA_KeyValueMap merge; - UA_StatusCode res = UA_KeyValueMap_copy(lhs, &merge); - if(res != UA_STATUSCODE_GOOD) - return res; - - for(size_t i = 0; i < rhs->mapSize; ++i) { - res = UA_KeyValueMap_set(&merge, rhs->map[i].key, &rhs->map[i].value); - if(res != UA_STATUSCODE_GOOD) { - UA_KeyValueMap_clear(&merge); - return res; - } - } - - UA_KeyValueMap_clear(lhs); - *lhs = merge; - return UA_STATUSCODE_GOOD; -} - -/***************************/ -/* Random Number Generator */ -/***************************/ - -/* TODO is this safe for multithreading? */ -static pcg32_random_t UA_rng = PCG32_INITIALIZER; - -void -UA_random_seed(u64 seed) { - pcg32_srandom_r(&UA_rng, seed, (u64)UA_DateTime_now()); -} - -u32 -UA_UInt32_random(void) { - return (u32)pcg32_random_r(&UA_rng); -} - -UA_Guid -UA_Guid_random(void) { - UA_Guid result; - result.data1 = (u32)pcg32_random_r(&UA_rng); - u32 r = (u32)pcg32_random_r(&UA_rng); - result.data2 = (u16) r; - result.data3 = (u16) (r >> 16); - r = (u32)pcg32_random_r(&UA_rng); - result.data4[0] = (u8)r; - result.data4[1] = (u8)(r >> 4); - result.data4[2] = (u8)(r >> 8); - result.data4[3] = (u8)(r >> 12); - r = (u32)pcg32_random_r(&UA_rng); - result.data4[4] = (u8)r; - result.data4[5] = (u8)(r >> 4); - result.data4[6] = (u8)(r >> 8); - result.data4[7] = (u8)(r >> 12); - return result; -} - -/********************/ -/* Malloc Singleton */ -/********************/ - -#ifdef UA_ENABLE_MALLOC_SINGLETON -# include -UA_EXPORT UA_THREAD_LOCAL void * (*UA_mallocSingleton)(size_t size) = malloc; -UA_EXPORT UA_THREAD_LOCAL void (*UA_freeSingleton)(void *ptr) = free; -UA_EXPORT UA_THREAD_LOCAL void * (*UA_callocSingleton)(size_t nelem, size_t elsize) = calloc; -UA_EXPORT UA_THREAD_LOCAL void * (*UA_reallocSingleton)(void *ptr, size_t size) = realloc; -#endif - -/************************/ -/* Cryptography Helpers */ -/************************/ - -UA_ByteString -getLeafCertificate(UA_ByteString chain) { - /* Detect DER encoded X.509 v3 certificate. If the DER detection fails, - * return the entire chain. - * - * The OPC UA standard requires this to be DER. But we also allow other - * formats like PEM. Afterwards it depends on the crypto backend to parse - * it. mbedTLS and OpenSSL detect the format automatically. */ - if(chain.length < 4 || chain.data[0] != 0x30 || chain.data[1] != 0x82) - return chain; - - /* The certificate length is encoded in the next 2 bytes. */ - size_t leafLen = 4; /* Magic numbers + length bytes */ - leafLen += (size_t)(((uint16_t)chain.data[2]) << 8); - leafLen += chain.data[3]; - - /* Consistency check */ - if(leafLen > chain.length) - return UA_BYTESTRING_NULL; - - /* Adjust the length and return */ - chain.length = leafLen; - return chain; -} - -UA_Boolean -UA_constantTimeEqual(const void *ptr1, const void *ptr2, size_t length) { - volatile const UA_Byte *a = (volatile const UA_Byte *)ptr1; - volatile const UA_Byte *b = (volatile const UA_Byte *)ptr2; - volatile UA_Byte c = 0; - for(size_t i = 0; i < length; ++i) { - UA_Byte x = a[i], y = b[i]; - c = c | (x ^ y); - } - return !c; -} - -void -UA_ByteString_memZero(UA_ByteString *bs) { -#if defined(__STDC_LIB_EXT1__) - memset_s(bs->data, bs->length, 0, bs->length); -#elif defined(UA_ARCHITECTURE_WIN32) - SecureZeroMemory(bs->data, bs->length); -#else - volatile unsigned char *volatile ptr = - (volatile unsigned char *)bs->data; - size_t i = 0; - size_t maxLen = bs->length; - while(i < maxLen) { - ptr[i++] = 0; - } -#endif -} - -/**** amalgamated original file "/src/ua_securechannel.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2016-2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016 (c) TorbenD - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018-2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - - -#define UA_BITMASK_MESSAGETYPE 0x00ffffffu -#define UA_BITMASK_CHUNKTYPE 0xff000000u - -const UA_String UA_SECURITY_POLICY_NONE_URI = - {47, (UA_Byte *)"http://opcfoundation.org/UA/SecurityPolicy#None"}; - -void -UA_SecureChannel_init(UA_SecureChannel *channel) { - /* Normal linked lists are initialized by zeroing out */ - memset(channel, 0, sizeof(UA_SecureChannel)); - TAILQ_INIT(&channel->chunks); -} - -UA_StatusCode -UA_SecureChannel_setSecurityPolicy(UA_SecureChannel *channel, - UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate) { - /* Is a policy already configured? */ - UA_CHECK_ERROR(!channel->securityPolicy, return UA_STATUSCODE_BADINTERNALERROR, - securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Security policy already configured"); - - /* Create the context */ - UA_StatusCode res = securityPolicy->channelModule. - newContext(securityPolicy, remoteCertificate, &channel->channelContext); - res |= UA_ByteString_copy(remoteCertificate, &channel->remoteCertificate); - UA_CHECK_STATUS_WARN(res, return res, securityPolicy->logger, - UA_LOGCATEGORY_SECURITYPOLICY, - "Could not set up the SecureChannel context"); - - /* Compute the certificate thumbprint */ - UA_ByteString remoteCertificateThumbprint = - {20, channel->remoteCertificateThumbprint}; - res = securityPolicy->asymmetricModule. - makeCertificateThumbprint(securityPolicy, &channel->remoteCertificate, - &remoteCertificateThumbprint); - UA_CHECK_STATUS_WARN(res, return res, securityPolicy->logger, - UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create the certificate thumbprint"); - - /* Set the policy */ - channel->securityPolicy = securityPolicy; - return UA_STATUSCODE_GOOD; -} - -/* Hides some errors before sending them to a client according to the - * standard. */ -static void -hideErrors(UA_TcpErrorMessage *const error) { - switch(error->error) { - case UA_STATUSCODE_BADCERTIFICATEUNTRUSTED: - case UA_STATUSCODE_BADCERTIFICATEREVOKED: - case UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED: - case UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE: - case UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED: - error->error = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - error->reason = UA_STRING_NULL; - break; - // TODO: Check if these are all cases that need to be covered. - default: - break; - } -} - -UA_Boolean -UA_SecureChannel_isConnected(UA_SecureChannel *channel) { - return (channel->state > UA_SECURECHANNELSTATE_CLOSED && - channel->state < UA_SECURECHANNELSTATE_CLOSING); -} - -void -UA_SecureChannel_sendError(UA_SecureChannel *channel, UA_TcpErrorMessage *error) { - if(!UA_SecureChannel_isConnected(channel)) - return; - - hideErrors(error); - - UA_TcpMessageHeader header; - header.messageTypeAndChunkType = UA_MESSAGETYPE_ERR + UA_CHUNKTYPE_FINAL; - /* Header + ErrorMessage (error + reasonLength_field + length) */ - header.messageSize = 8 + (4 + 4 + (UA_UInt32)error->reason.length); - - /* Get the send buffer from the network layer */ - UA_ConnectionManager *cm = channel->connectionManager; - UA_ByteString msg = UA_BYTESTRING_NULL; - UA_StatusCode retval = cm->allocNetworkBuffer(cm, channel->connectionId, - &msg, header.messageSize); - if(retval != UA_STATUSCODE_GOOD) - return; - - /* Encode and send the response */ - UA_Byte *bufPos = msg.data; - const UA_Byte *bufEnd = &msg.data[msg.length]; - retval |= UA_encodeBinaryInternal(&header, - &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], - &bufPos, &bufEnd, NULL, NULL); - retval |= UA_encodeBinaryInternal(error, - &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE], - &bufPos, &bufEnd, NULL, NULL); - (void)retval; /* Encoding of these cannot fail */ - msg.length = header.messageSize; - cm->sendWithConnection(cm, channel->connectionId, &UA_KEYVALUEMAP_NULL, &msg); -} - -static void -UA_Chunk_delete(UA_Chunk *chunk) { - if(chunk->copied) - UA_ByteString_clear(&chunk->bytes); - UA_free(chunk); -} - -static void -deleteChunks(UA_SecureChannel *channel) { - UA_Chunk *chunk, *chunk_tmp; - TAILQ_FOREACH_SAFE(chunk, &channel->chunks, pointers, chunk_tmp) { - TAILQ_REMOVE(&channel->chunks, chunk, pointers); - UA_Chunk_delete(chunk); - } - channel->chunksCount = 0; - channel->chunksLength = 0; -} - -void -UA_SecureChannel_deleteBuffered(UA_SecureChannel *channel) { - deleteChunks(channel); - if(channel->unprocessedCopied) - UA_ByteString_clear(&channel->unprocessed); -} - -void -UA_SecureChannel_shutdown(UA_SecureChannel *channel, - UA_ShutdownReason shutdownReason) { - /* No open socket or already closing -> nothing to do */ - if(!UA_SecureChannel_isConnected(channel)) - return; - - /* Set the shutdown event for diagnostics */ - channel->shutdownReason= shutdownReason; - - /* Trigger the async closing of the connection */ - UA_ConnectionManager *cm = channel->connectionManager; - cm->closeConnection(cm, channel->connectionId); - channel->state = UA_SECURECHANNELSTATE_CLOSING; -} - -void -UA_SecureChannel_clear(UA_SecureChannel *channel) { - /* Detach Sessions from the SecureChannel. This also removes outstanding - * Publish requests whose RequestId is valid only for the SecureChannel. */ - UA_SessionHeader *sh, *sh_tmp; - SLIST_FOREACH_SAFE(sh, &channel->sessions, next, sh_tmp) { - if(sh->serverSession) { - UA_Session_detachFromSecureChannel((UA_Session *)sh); - } else { - sh->channel = NULL; - SLIST_REMOVE_HEAD(&channel->sessions, next); - } - } - - /* Delete the channel context for the security policy */ - if(channel->securityPolicy) { - channel->securityPolicy->channelModule.deleteContext(channel->channelContext); - channel->securityPolicy = NULL; - channel->channelContext = NULL; - } - - /* Remove remaining delayed callback */ - if(channel->connectionManager && - channel->connectionManager->eventSource.eventLoop) { - UA_EventLoop *el = channel->connectionManager->eventSource.eventLoop; - el->removeDelayedCallback(el, &channel->unprocessedDelayed); - } - - /* The EventLoop connection is no longer valid */ - channel->connectionId = 0; - channel->connectionManager = NULL; - - /* Clean up the SecurityToken */ - UA_ChannelSecurityToken_clear(&channel->securityToken); - UA_ChannelSecurityToken_clear(&channel->altSecurityToken); - - /* Clean up certificate and nonces */ - UA_ByteString_clear(&channel->remoteCertificate); - UA_ByteString_clear(&channel->localNonce); - UA_ByteString_clear(&channel->remoteNonce); - - /* Clean up endpointUrl */ - UA_String_clear(&channel->endpointUrl); - - /* Delete remaining chunks */ - UA_SecureChannel_deleteBuffered(channel); - - /* Reset the SecureChannel for reuse (in the client) */ - channel->securityMode = UA_MESSAGESECURITYMODE_INVALID; - channel->shutdownReason = UA_SHUTDOWNREASON_CLOSE; - memset(&channel->config, 0, sizeof(UA_ConnectionConfig)); - channel->receiveSequenceNumber = 0; - channel->sendSequenceNumber = 0; - - /* Set the state to closed */ - channel->state = UA_SECURECHANNELSTATE_CLOSED; - channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; -} - -UA_StatusCode -UA_SecureChannel_processHELACK(UA_SecureChannel *channel, - const UA_TcpAcknowledgeMessage *remoteConfig) { - /* The lowest common version is used by both sides */ - if(channel->config.protocolVersion > remoteConfig->protocolVersion) - channel->config.protocolVersion = remoteConfig->protocolVersion; - - /* Can we receive the max send size? */ - if(channel->config.sendBufferSize > remoteConfig->receiveBufferSize) - channel->config.sendBufferSize = remoteConfig->receiveBufferSize; - - /* Can we send the max receive size? */ - if(channel->config.recvBufferSize > remoteConfig->sendBufferSize) - channel->config.recvBufferSize = remoteConfig->sendBufferSize; - - channel->config.remoteMaxMessageSize = remoteConfig->maxMessageSize; - channel->config.remoteMaxChunkCount = remoteConfig->maxChunkCount; - - /* Chunks of at least 8192 bytes must be permissible. - * See Part 6, Clause 6.7.1 */ - if(channel->config.recvBufferSize < 8192 || - channel->config.sendBufferSize < 8192 || - (channel->config.remoteMaxMessageSize != 0 && - channel->config.remoteMaxMessageSize < 8192)) - return UA_STATUSCODE_BADINTERNALERROR; - - return UA_STATUSCODE_GOOD; -} - -/* Sends an OPN message using asymmetric encryption if defined */ -UA_StatusCode -UA_SecureChannel_sendAsymmetricOPNMessage(UA_SecureChannel *channel, - UA_UInt32 requestId, const void *content, - const UA_DataType *contentType) { - UA_CHECK(channel->securityMode != UA_MESSAGESECURITYMODE_INVALID, - return UA_STATUSCODE_BADSECURITYMODEREJECTED); - - /* Can we use the connection manager? */ - UA_ConnectionManager *cm = channel->connectionManager; - if(!UA_SecureChannel_isConnected(channel)) - return UA_STATUSCODE_BADCONNECTIONCLOSED; - - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); - - /* Allocate the message buffer */ - UA_ByteString buf = UA_BYTESTRING_NULL; - UA_StatusCode res = cm->allocNetworkBuffer(cm, channel->connectionId, &buf, - channel->config.sendBufferSize); - UA_CHECK_STATUS(res, return res); - - /* Restrict buffer to the available space for the payload */ - UA_Byte *buf_pos = buf.data; - const UA_Byte *buf_end = &buf.data[buf.length]; - hideBytesAsym(channel, &buf_pos, &buf_end); - - /* Define variables here to pacify some compilers wrt goto */ - size_t securityHeaderLength, pre_sig_length, total_length, encryptedLength; - - /* Encode the message type and content */ - res |= UA_NodeId_encodeBinary(&contentType->binaryEncodingId, &buf_pos, buf_end); - res |= UA_encodeBinaryInternal(content, contentType, &buf_pos, &buf_end, NULL, NULL); - UA_CHECK_STATUS(res, goto error); - - /* Compute the header length */ - securityHeaderLength = calculateAsymAlgSecurityHeaderLength(channel); - - /* Add padding to the chunk. Also pad if the securityMode is SIGN_ONLY, - * since we are using asymmetric communication to exchange keys and thus - * need to encrypt. */ -#ifdef UA_ENABLE_ENCRYPTION - if(channel->securityMode != UA_MESSAGESECURITYMODE_NONE) - padChunk(channel, &channel->securityPolicy->asymmetricModule.cryptoModule, - &buf.data[UA_SECURECHANNEL_CHANNELHEADER_LENGTH + securityHeaderLength], - &buf_pos); -#endif - - /* The total message length */ - pre_sig_length = (uintptr_t)buf_pos - (uintptr_t)buf.data; - total_length = pre_sig_length; - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || - channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - total_length += sp->asymmetricModule.cryptoModule.signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - - /* The total message length is known here which is why we encode the headers - * at this step and not earlier. */ - res = prependHeadersAsym(channel, buf.data, buf_end, total_length, - securityHeaderLength, requestId, &encryptedLength); - UA_CHECK_STATUS(res, goto error); - -#ifdef UA_ENABLE_ENCRYPTION - res = signAndEncryptAsym(channel, pre_sig_length, &buf, - securityHeaderLength, total_length); - UA_CHECK_STATUS(res, goto error); -#endif - - /* Send the message, the buffer is freed in the network layer */ - buf.length = encryptedLength; - return cm->sendWithConnection(cm, channel->connectionId, &UA_KEYVALUEMAP_NULL, &buf); - - error: - cm->freeNetworkBuffer(cm, channel->connectionId, &buf); - return res; -} - -/* Will this chunk surpass the capacity of the SecureChannel for the message? */ -static UA_StatusCode -adjustCheckMessageLimitsSym(UA_MessageContext *mc, size_t bodyLength) { - mc->messageSizeSoFar += bodyLength; - mc->chunksSoFar++; - - UA_SecureChannel *channel = mc->channel; - if(mc->messageSizeSoFar > channel->config.localMaxMessageSize && - channel->config.localMaxMessageSize != 0) - return UA_STATUSCODE_BADRESPONSETOOLARGE; - - if(mc->chunksSoFar > channel->config.localMaxChunkCount && - channel->config.localMaxChunkCount != 0) - return UA_STATUSCODE_BADRESPONSETOOLARGE; - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -encodeHeadersSym(UA_MessageContext *mc, size_t totalLength) { - UA_SecureChannel *channel = mc->channel; - UA_Byte *header_pos = mc->messageBuffer.data; - - UA_TcpMessageHeader header; - header.messageTypeAndChunkType = mc->messageType; - header.messageSize = (UA_UInt32)totalLength; - if(mc->final) - header.messageTypeAndChunkType += UA_CHUNKTYPE_FINAL; - else - header.messageTypeAndChunkType += UA_CHUNKTYPE_INTERMEDIATE; - - /* Increase the sequence number in the channel */ - channel->sendSequenceNumber++; - - UA_SequenceHeader seqHeader; - seqHeader.requestId = mc->requestId; - seqHeader.sequenceNumber = channel->sendSequenceNumber; - - UA_StatusCode res = UA_STATUSCODE_GOOD; - res |= UA_encodeBinaryInternal(&header, &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], - &header_pos, &mc->buf_end, NULL, NULL); - res |= UA_UInt32_encodeBinary(&channel->securityToken.channelId, - &header_pos, mc->buf_end); - res |= UA_UInt32_encodeBinary(&channel->securityToken.tokenId, - &header_pos, mc->buf_end); - res |= UA_encodeBinaryInternal(&seqHeader, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], - &header_pos, &mc->buf_end, NULL, NULL); - return res; -} - -static UA_StatusCode -sendSymmetricChunk(UA_MessageContext *mc) { - UA_SecureChannel *channel = mc->channel; - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_ConnectionManager *cm = channel->connectionManager; - if(!UA_SecureChannel_isConnected(channel)) - return UA_STATUSCODE_BADCONNECTIONCLOSED; - - /* The size of the message payload */ - size_t bodyLength = (uintptr_t)mc->buf_pos - - (uintptr_t)&mc->messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]; - - /* Early-declare variables so we can use a goto in the error case */ - size_t total_length = 0; - size_t pre_sig_length = 0; - - /* Check if chunk exceeds the limits for the overall message */ - UA_StatusCode res = adjustCheckMessageLimitsSym(mc, bodyLength); - UA_CHECK_STATUS(res, goto error); - - UA_LOG_TRACE_CHANNEL(sp->logger, channel, - "Send from a symmetric message buffer of length %lu " - "a message of header+payload length of %lu", - (long unsigned int)mc->messageBuffer.length, - (long unsigned int) - ((uintptr_t)mc->buf_pos - (uintptr_t)mc->messageBuffer.data)); - -#ifdef UA_ENABLE_ENCRYPTION - /* Add padding if the message is encrypted */ - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - padChunk(channel, &sp->symmetricModule.cryptoModule, - &mc->messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_UNENCRYPTEDLENGTH], - &mc->buf_pos); -#endif - - /* Compute the total message length */ - pre_sig_length = (uintptr_t)mc->buf_pos - (uintptr_t)mc->messageBuffer.data; - total_length = pre_sig_length; - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || - channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - total_length += sp->symmetricModule.cryptoModule.signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - - UA_LOG_TRACE_CHANNEL(sp->logger, channel, - "Send from a symmetric message buffer of length %lu " - "a message of length %lu", - (long unsigned int)mc->messageBuffer.length, - (long unsigned int)total_length); - - /* Space for the padding and the signature have been reserved in setBufPos() */ - UA_assert(total_length <= channel->config.sendBufferSize); - - /* Adjust the buffer size of the network layer */ - mc->messageBuffer.length = total_length; - - /* Generate and encode the header for symmetric messages */ - res = encodeHeadersSym(mc, total_length); - UA_CHECK_STATUS(res, goto error); - -#ifdef UA_ENABLE_ENCRYPTION - /* Sign and encrypt the messge */ - res = signAndEncryptSym(mc, pre_sig_length, total_length); - UA_CHECK_STATUS(res, goto error); -#endif - - /* Send the chunk. The buffer is freed in the network layer. If sending goes - * wrong, the connection is removed in the next iteration of the - * SecureChannel. Set the SecureChannel to closing already. */ - res = cm->sendWithConnection(cm, channel->connectionId, - &UA_KEYVALUEMAP_NULL, &mc->messageBuffer); - if(res != UA_STATUSCODE_GOOD && UA_SecureChannel_isConnected(channel)) - channel->state = UA_SECURECHANNELSTATE_CLOSING; - - error: - /* Free the unused message buffer */ - cm->freeNetworkBuffer(cm, channel->connectionId, &mc->messageBuffer); - return res; -} - -/* Callback from the encoding layer. Send the chunk and replace the buffer. */ -static UA_StatusCode -sendSymmetricEncodingCallback(void *data, UA_Byte **buf_pos, - const UA_Byte **buf_end) { - /* Set buf values from encoding in the messagecontext */ - UA_MessageContext *mc = (UA_MessageContext *)data; - mc->buf_pos = *buf_pos; - mc->buf_end = *buf_end; - - /* Send out */ - UA_StatusCode res = sendSymmetricChunk(mc); - UA_CHECK_STATUS(res, return res); - - /* Set a new buffer for the next chunk */ - UA_ConnectionManager *cm = mc->channel->connectionManager; - if(!UA_SecureChannel_isConnected(mc->channel)) - return UA_STATUSCODE_BADCONNECTIONCLOSED; - - res = cm->allocNetworkBuffer(cm, mc->channel->connectionId, - &mc->messageBuffer, - mc->channel->config.sendBufferSize); - UA_CHECK_STATUS(res, return res); - - /* Hide bytes for header, padding and signature */ - setBufPos(mc); - *buf_pos = mc->buf_pos; - *buf_end = mc->buf_end; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_MessageContext_begin(UA_MessageContext *mc, UA_SecureChannel *channel, - UA_UInt32 requestId, UA_MessageType messageType) { - UA_CHECK(messageType == UA_MESSAGETYPE_MSG || messageType == UA_MESSAGETYPE_CLO, - return UA_STATUSCODE_BADINTERNALERROR); - - UA_ConnectionManager *cm = channel->connectionManager; - if(!UA_SecureChannel_isConnected(channel)) - return UA_STATUSCODE_BADCONNECTIONCLOSED; - - /* Create the chunking info structure */ - mc->channel = channel; - mc->requestId = requestId; - mc->chunksSoFar = 0; - mc->messageSizeSoFar = 0; - mc->final = false; - mc->messageBuffer = UA_BYTESTRING_NULL; - mc->messageType = messageType; - - /* Allocate the message buffer */ - UA_StatusCode res = - cm->allocNetworkBuffer(cm, channel->connectionId, - &mc->messageBuffer, - channel->config.sendBufferSize); - UA_CHECK_STATUS(res, return res); - - /* Hide bytes for header, padding and signature */ - setBufPos(mc); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_MessageContext_encode(UA_MessageContext *mc, const void *content, - const UA_DataType *contentType) { - UA_StatusCode res = - UA_encodeBinaryInternal(content, contentType, &mc->buf_pos, &mc->buf_end, - sendSymmetricEncodingCallback, mc); - if(res != UA_STATUSCODE_GOOD && mc->messageBuffer.length > 0) - UA_MessageContext_abort(mc); - return res; -} - -UA_StatusCode -UA_MessageContext_finish(UA_MessageContext *mc) { - mc->final = true; - return sendSymmetricChunk(mc); -} - -void -UA_MessageContext_abort(UA_MessageContext *mc) { - UA_ConnectionManager *cm = mc->channel->connectionManager; - if(!UA_SecureChannel_isConnected(mc->channel)) - return; - cm->freeNetworkBuffer(cm, mc->channel->connectionId, &mc->messageBuffer); -} - -UA_StatusCode -UA_SecureChannel_sendSymmetricMessage(UA_SecureChannel *channel, UA_UInt32 requestId, - UA_MessageType messageType, void *payload, - const UA_DataType *payloadType) { - if(!channel || !payload || !payloadType) - return UA_STATUSCODE_BADINTERNALERROR; - - if(channel->state != UA_SECURECHANNELSTATE_OPEN) - return UA_STATUSCODE_BADCONNECTIONCLOSED; - - UA_MessageContext mc; - UA_StatusCode res = UA_MessageContext_begin(&mc, channel, requestId, messageType); - UA_CHECK_STATUS(res, return res); - - /* Assert's required for clang-analyzer */ - UA_assert(mc.buf_pos == - &mc.messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]); - UA_assert(mc.buf_end <= &mc.messageBuffer.data[mc.messageBuffer.length]); - - res = UA_MessageContext_encode(&mc, &payloadType->binaryEncodingId, - &UA_TYPES[UA_TYPES_NODEID]); - UA_CHECK_STATUS(res, return res); - - res = UA_MessageContext_encode(&mc, payload, payloadType); - UA_CHECK_STATUS(res, return res); - - return UA_MessageContext_finish(&mc); -} - -/********************************/ -/* Receive and Process Messages */ -/********************************/ - -/* Does the sequence number match? Otherwise try to rollover. See Part 6, - * Section 6.7.2.4 of the standard. */ -#define UA_SEQUENCENUMBER_ROLLOVER 4294966271 - -#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -static UA_StatusCode -processSequenceNumberSym(UA_SecureChannel *channel, UA_UInt32 sequenceNumber) { - if(sequenceNumber != channel->receiveSequenceNumber + 1) { - if(channel->receiveSequenceNumber + 1 <= UA_SEQUENCENUMBER_ROLLOVER || - sequenceNumber >= 1024) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - channel->receiveSequenceNumber = sequenceNumber - 1; /* Roll over */ - } - ++channel->receiveSequenceNumber; - return UA_STATUSCODE_GOOD; -} -#endif - -static UA_StatusCode -unpackPayloadOPN(UA_SecureChannel *channel, UA_Chunk *chunk) { - UA_assert(chunk->bytes.length >= UA_SECURECHANNEL_MESSAGE_MIN_LENGTH); - size_t offset = UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; /* Skip the message header */ - UA_UInt32 secureChannelId; - UA_StatusCode res = UA_UInt32_decodeBinary(&chunk->bytes, &offset, &secureChannelId); - UA_assert(res == UA_STATUSCODE_GOOD); - - UA_AsymmetricAlgorithmSecurityHeader asymHeader; - res = UA_decodeBinaryInternal(&chunk->bytes, &offset, &asymHeader, - &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER], NULL); - UA_CHECK_STATUS(res, return res); - - if(asymHeader.senderCertificate.length > 0) { - if(channel->certificateVerification && channel->certificateVerification->verifyCertificate) - res = channel->certificateVerification-> - verifyCertificate(channel->certificateVerification, - &asymHeader.senderCertificate); - else - res = UA_STATUSCODE_BADINTERNALERROR; - UA_CHECK_STATUS(res, goto error); - } - - /* New channel, create a security policy context and attach */ - UA_assert(channel->processOPNHeader); - res = channel->processOPNHeader(channel->processOPNHeaderApplication, - channel, &asymHeader); - UA_CHECK_STATUS(res, goto error); - - /* On the client side, take the SecureChannelId from the first response */ - if(secureChannelId != 0 && channel->securityToken.channelId == 0) - channel->securityToken.channelId = secureChannelId; - - /* Check the ChannelId */ -#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) - if(secureChannelId != channel->securityToken.channelId) { - /* Allow the channel id to be different if the sent channel id is zero - * and the SecurityToken is not initialized. This only happens on the - * server side before we had a chance to tell the client which ChannelId - * to use. */ - if(secureChannelId != 0 || channel->securityToken.tokenId != 0) { - res = UA_STATUSCODE_BADSECURECHANNELIDINVALID; - goto error; - } - } -#endif - - /* Check the header for the channel's security policy */ - res = checkAsymHeader(channel, &asymHeader); - UA_AsymmetricAlgorithmSecurityHeader_clear(&asymHeader); - UA_CHECK_STATUS(res, return res); - - /* Decrypt the chunk payload */ - res = decryptAndVerifyChunk(channel, - &channel->securityPolicy->asymmetricModule.cryptoModule, - chunk->messageType, &chunk->bytes, offset); - UA_CHECK_STATUS(res, return res); - - /* Decode the SequenceHeader */ - UA_SequenceHeader sequenceHeader; - res = UA_decodeBinaryInternal(&chunk->bytes, &offset, &sequenceHeader, - &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], NULL); - UA_CHECK_STATUS(res, return res); - - /* Set the sequence number for the channel from which to count up */ - channel->receiveSequenceNumber = sequenceHeader.sequenceNumber; - chunk->requestId = sequenceHeader.requestId; /* Set the RequestId of the chunk */ - - /* Use only the payload */ - chunk->bytes.data += offset; - chunk->bytes.length -= offset; - return UA_STATUSCODE_GOOD; - -error: - UA_AsymmetricAlgorithmSecurityHeader_clear(&asymHeader); - return res; -} - -static UA_StatusCode -unpackPayloadMSG(UA_SecureChannel *channel, UA_Chunk *chunk) { - UA_CHECK_MEM(channel->securityPolicy, return UA_STATUSCODE_BADINTERNALERROR); - - UA_assert(chunk->bytes.length >= UA_SECURECHANNEL_MESSAGE_MIN_LENGTH); - size_t offset = UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; /* Skip the message header */ - UA_UInt32 secureChannelId; - UA_UInt32 tokenId; /* SymmetricAlgorithmSecurityHeader */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - res |= UA_UInt32_decodeBinary(&chunk->bytes, &offset, &secureChannelId); - res |= UA_UInt32_decodeBinary(&chunk->bytes, &offset, &tokenId); - UA_assert(offset == UA_SECURECHANNEL_MESSAGE_MIN_LENGTH); - UA_assert(res == UA_STATUSCODE_GOOD); - -#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) - /* Check the ChannelId. Non-opened channels have the id zero. */ - if(secureChannelId != channel->securityToken.channelId) - return UA_STATUSCODE_BADSECURECHANNELIDINVALID; -#endif - - /* Check (and revolve) the SecurityToken */ - res = checkSymHeader(channel, tokenId); - UA_CHECK_STATUS(res, return res); - - /* Decrypt the chunk payload */ - res = decryptAndVerifyChunk(channel, - &channel->securityPolicy->symmetricModule.cryptoModule, - chunk->messageType, &chunk->bytes, offset); - UA_CHECK_STATUS(res, return res); - - /* Check the sequence number. Skip sequence number checking for fuzzer to - * improve coverage */ - UA_SequenceHeader sequenceHeader; - res = UA_decodeBinaryInternal(&chunk->bytes, &offset, &sequenceHeader, - &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], NULL); -#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION - res |= processSequenceNumberSym(channel, sequenceHeader.sequenceNumber); -#endif - UA_CHECK_STATUS(res, return res); - - chunk->requestId = sequenceHeader.requestId; /* Set the RequestId of the chunk */ - - /* Use only the payload */ - chunk->bytes.data += offset; - chunk->bytes.length -= offset; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -extractCompleteChunk(UA_SecureChannel *channel, UA_Chunk *chunk) { - /* At least 8 byte needed for the header */ - size_t offset = channel->unprocessedOffset; - size_t remaining = channel->unprocessed.length - offset; - if(remaining < UA_SECURECHANNEL_MESSAGEHEADER_LENGTH) - return UA_STATUSCODE_GOOD; - - /* Decoding the header cannot fail */ - UA_TcpMessageHeader hdr; - UA_StatusCode res = - UA_decodeBinaryInternal(&channel->unprocessed, &offset, &hdr, - &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], NULL); - UA_assert(res == UA_STATUSCODE_GOOD); - (void)res; /* pacify compilers if assert is ignored */ - UA_MessageType msgType = (UA_MessageType) - (hdr.messageTypeAndChunkType & UA_BITMASK_MESSAGETYPE); - UA_ChunkType chunkType = (UA_ChunkType) - (hdr.messageTypeAndChunkType & UA_BITMASK_CHUNKTYPE); - - /* The message size is not allowed */ - if(hdr.messageSize < UA_SECURECHANNEL_MESSAGE_MIN_LENGTH) - return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - if(hdr.messageSize > channel->config.recvBufferSize) - return UA_STATUSCODE_BADTCPMESSAGETOOLARGE; - - /* Incomplete chunk. Continue processing later. */ - if(hdr.messageSize > remaining) - return UA_STATUSCODE_GOOD; - - /* Set the chunk information */ - chunk->bytes.data = channel->unprocessed.data + channel->unprocessedOffset; - chunk->bytes.length = hdr.messageSize; - chunk->messageType = msgType; - chunk->chunkType = chunkType; - chunk->requestId = 0; - chunk->copied = false; - - /* Increase the unprocessed offset */ - channel->unprocessedOffset += hdr.messageSize; - - /* Validate, decrypt and unpack the chunk payload */ - switch(msgType) { - case UA_MESSAGETYPE_OPN: - if(chunkType != UA_CHUNKTYPE_FINAL) - return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - if(channel->state != UA_SECURECHANNELSTATE_OPEN && - channel->state != UA_SECURECHANNELSTATE_OPN_SENT && - channel->state != UA_SECURECHANNELSTATE_ACK_SENT) - return UA_STATUSCODE_BADINVALIDSTATE; - res = unpackPayloadOPN(channel, chunk); - break; - - case UA_MESSAGETYPE_MSG: - case UA_MESSAGETYPE_CLO: - if(chunkType != UA_CHUNKTYPE_FINAL && - chunkType != UA_CHUNKTYPE_INTERMEDIATE && - chunkType != UA_CHUNKTYPE_ABORT) - return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - if(channel->state != UA_SECURECHANNELSTATE_OPEN) - return UA_STATUSCODE_BADINVALIDSTATE; - res = unpackPayloadMSG(channel, chunk); - break; - - case UA_MESSAGETYPE_RHE: - case UA_MESSAGETYPE_HEL: - case UA_MESSAGETYPE_ACK: - case UA_MESSAGETYPE_ERR: - if(chunkType != UA_CHUNKTYPE_FINAL) - return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - /* Hide the message header */ - chunk->bytes.data += UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; - chunk->bytes.length -= UA_SECURECHANNEL_MESSAGEHEADER_LENGTH; - break; - - default: - res = UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - break; - } - return res; -} - -UA_StatusCode -UA_SecureChannel_loadBuffer(UA_SecureChannel *channel, const UA_ByteString buffer) { - /* Append to the previous unprocessed buffer */ - if(channel->unprocessed.length > 0) { - UA_assert(channel->unprocessedCopied == true); - - UA_Byte *t = (UA_Byte*) - UA_realloc(channel->unprocessed.data, - channel->unprocessed.length + buffer.length); - if(!t) - return UA_STATUSCODE_BADOUTOFMEMORY; - - memcpy(t + channel->unprocessed.length, buffer.data, buffer.length); - channel->unprocessed.data = t; - channel->unprocessed.length += buffer.length; - return UA_STATUSCODE_GOOD; - } - - /* Use the new buffer directly */ - channel->unprocessed = buffer; - channel->unprocessedCopied = false; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_SecureChannel_getCompleteMessage(UA_SecureChannel *channel, - UA_MessageType *messageType, UA_UInt32 *requestId, - UA_ByteString *payload, UA_Boolean *copied) { - UA_Chunk chunk, *pchunk; - UA_StatusCode res = UA_STATUSCODE_GOOD; - - extract_chunk: - /* Extract+decode the next chunk from the buffer */ - memset(&chunk, 0, sizeof(UA_Chunk)); - res = extractCompleteChunk(channel, &chunk); - if(chunk.bytes.length == 0 || res != UA_STATUSCODE_GOOD) - return res; /* Error or no complete chunk could be extracted */ - - /* Process the chunk */ - switch(chunk.chunkType) { - case UA_CHUNKTYPE_ABORT: - /* Remove all chunks received so far. Then continue extracting chunks. */ - deleteChunks(channel); - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - goto extract_chunk; - - case UA_CHUNKTYPE_INTERMEDIATE: - /* Validate the resource limits */ - if((channel->config.localMaxChunkCount != 0 && - channel->chunksCount >= channel->config.localMaxChunkCount) || - (channel->config.localMaxMessageSize != 0 && - channel->chunksLength + chunk.bytes.length > channel->config.localMaxMessageSize)) { - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - return UA_STATUSCODE_BADTCPMESSAGETOOLARGE; - } - - /* Add the chunk to the queue. Then continue extracting more chunks. */ - pchunk = (UA_Chunk*)UA_malloc(sizeof(UA_Chunk)); - if(!pchunk) { - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - *pchunk = chunk; - TAILQ_INSERT_TAIL(&channel->chunks, pchunk, pointers); - channel->chunksCount++; - channel->chunksLength += pchunk->bytes.length; - goto extract_chunk; - - case UA_CHUNKTYPE_FINAL: - default: - UA_assert(chunk.chunkType == UA_CHUNKTYPE_FINAL); /* Was checked before */ - break; /* A final chunk was received -- assemble the message */ - } - - /* Compute the message size */ - size_t messageSize = chunk.bytes.length; - UA_Chunk *first = NULL; - TAILQ_FOREACH(pchunk, &channel->chunks, pointers) { - if(chunk.requestId != pchunk->requestId) - continue; - if(chunk.messageType != pchunk->messageType) { - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - } - if(!first) - first = pchunk; - messageSize += pchunk->bytes.length; - } - - /* Validate the assembled message size */ - if(channel->config.localMaxMessageSize != 0 && - channel->chunksLength > channel->config.localMaxMessageSize) { - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - return UA_STATUSCODE_BADTCPMESSAGETOOLARGE; - } - - /* Assemble the full payload and store it in chunk.bytes */ - if(messageSize > chunk.bytes.length) { - UA_assert(first != NULL); - - /* Allocate the full memory and initialize with the first chunk content. - * Use realloc to speed up. */ - UA_ByteString message; - if(first->copied) { - message.data = (UA_Byte*)UA_realloc(first->bytes.data, messageSize); - } else { - message.data = (UA_Byte*)UA_malloc(messageSize); - if(message.data) - memcpy(message.data, first->bytes.data, first->bytes.length); - } - if(!message.data) { - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - message.length = first->bytes.length; - - /* Remove the the first chunk */ - pchunk = TAILQ_NEXT(first, pointers); - first->copied = false; - channel->chunksCount--; - channel->chunksLength -= first->bytes.length; - TAILQ_REMOVE(&channel->chunks, first, pointers); - UA_Chunk_delete(first); - - /* Copy over the content from the remaining intermediate chunks. - * And remove them right away. */ - UA_Chunk *next; - for(; pchunk; pchunk = next) { - next = TAILQ_NEXT(pchunk, pointers); - if(chunk.requestId != pchunk->requestId) - continue; - memcpy(message.data + message.length, pchunk->bytes.data, pchunk->bytes.length); - message.length += pchunk->bytes.length; - channel->chunksCount--; - channel->chunksLength -= pchunk->bytes.length; - TAILQ_REMOVE(&channel->chunks, pchunk, pointers); - UA_Chunk_delete(pchunk); - } - - /* Copy over the content from the final chunk */ - memcpy(message.data + message.length, chunk.bytes.data, chunk.bytes.length); - message.length += chunk.bytes.length; - UA_assert(message.length == messageSize); - - /* Set assembled message as the content of the final chunk */ - if(chunk.copied) - UA_ByteString_clear(&chunk.bytes); - chunk.bytes = message; - chunk.copied = true; - } - - /* Return the assembled message */ - *requestId = chunk.requestId; - *messageType = chunk.messageType; - *payload = chunk.bytes; - *copied = chunk.copied; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_SecureChannel_persistBuffer(UA_SecureChannel *channel) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - - /* Persist the chunks */ - UA_Chunk *chunk; - TAILQ_FOREACH(chunk, &channel->chunks, pointers) { - if(chunk->copied) - continue; - UA_ByteString tmp = UA_BYTESTRING_NULL; - res |= UA_ByteString_copy(&chunk->bytes, &tmp); - chunk->bytes = tmp; - chunk->copied = true; - } - - /* No unprocessed bytes remaining */ - UA_assert(channel->unprocessed.length >= channel->unprocessedOffset); - if(channel->unprocessed.length == channel->unprocessedOffset) { - if(channel->unprocessedCopied) - UA_ByteString_clear(&channel->unprocessed); - else - UA_ByteString_init(&channel->unprocessed); - channel->unprocessedOffset = 0; - return res; - } - - /* Allocate a new unprocessed ByteString. - * tmp is the empty string if malloc fails. */ - UA_ByteString tmp = UA_BYTESTRING_NULL; - UA_ByteString remaining = channel->unprocessed; - remaining.data += channel->unprocessedOffset; - remaining.length -= channel->unprocessedOffset; - res |= UA_ByteString_copy(&remaining, &tmp); - if(channel->unprocessedCopied) - UA_ByteString_clear(&channel->unprocessed); - channel->unprocessed = tmp; - channel->unprocessedOffset = 0; - channel->unprocessedCopied = true; - return res; -} - -/**** amalgamated original file "/src/ua_securechannel_crypto.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2016-2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016 (c) TorbenD - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - */ - - - -UA_StatusCode -UA_SecureChannel_generateLocalNonce(UA_SecureChannel *channel) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); - UA_LOG_DEBUG_CHANNEL(sp->logger, channel, "Generating new local nonce"); - - /* Is the length of the previous nonce correct? */ - size_t nonceLength = sp->symmetricModule.secureChannelNonceLength; - if(channel->localNonce.length != nonceLength) { - UA_ByteString_clear(&channel->localNonce); - UA_StatusCode res = UA_ByteString_allocBuffer(&channel->localNonce, nonceLength); - UA_CHECK_STATUS(res, return res); - } - - /* Generate the nonce */ - return sp->symmetricModule.generateNonce(sp->policyContext, &channel->localNonce); -} - -UA_StatusCode -UA_SecureChannel_generateLocalKeys(const UA_SecureChannel *channel) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); - UA_LOG_TRACE_CHANNEL(sp->logger, channel, "Generating new local keys"); - - void *cc = channel->channelContext; - const UA_SecurityPolicyChannelModule *cm = &sp->channelModule; - const UA_SecurityPolicySymmetricModule *sm = &sp->symmetricModule; - const UA_SecurityPolicyCryptoModule *crm = &sm->cryptoModule; - - /* Generate symmetric key buffer of the required length. The block size is - * identical for local/remote. */ - UA_ByteString buf; - size_t encrKL = crm->encryptionAlgorithm.getLocalKeyLength(cc); - size_t encrBS = crm->encryptionAlgorithm.getRemoteBlockSize(cc); - size_t signKL = crm->signatureAlgorithm.getLocalKeyLength(cc); - if(encrBS + signKL + encrKL == 0) - return UA_STATUSCODE_GOOD; /* No keys to generate */ - - UA_StatusCode retval = UA_ByteString_allocBuffer(&buf, encrBS + signKL + encrKL); - UA_CHECK_STATUS(retval, return retval); - UA_ByteString localSigningKey = {signKL, buf.data}; - UA_ByteString localEncryptingKey = {encrKL, &buf.data[signKL]}; - UA_ByteString localIv = {encrBS, &buf.data[signKL + encrKL]}; - - /* Generate key */ - retval = sm->generateKey(sp->policyContext, &channel->remoteNonce, - &channel->localNonce, &buf); - UA_CHECK_STATUS(retval, goto error); - - /* Set the channel context */ - retval |= cm->setLocalSymSigningKey(cc, &localSigningKey); - retval |= cm->setLocalSymEncryptingKey(cc, &localEncryptingKey); - retval |= cm->setLocalSymIv(cc, &localIv); - - error: - UA_CHECK_STATUS(retval, UA_LOG_WARNING_CHANNEL(sp->logger, channel, - "Could not generate local keys (statuscode: %s)", - UA_StatusCode_name(retval))); - UA_ByteString_clear(&buf); - return retval; -} - -UA_StatusCode -generateRemoteKeys(const UA_SecureChannel *channel) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); - UA_LOG_TRACE_CHANNEL(sp->logger, channel, "Generating new remote keys"); - - void *cc = channel->channelContext; - const UA_SecurityPolicyChannelModule *cm = &sp->channelModule; - const UA_SecurityPolicySymmetricModule *sm = &sp->symmetricModule; - const UA_SecurityPolicyCryptoModule *crm = &sm->cryptoModule; - - /* Generate symmetric key buffer of the required length */ - UA_ByteString buf; - size_t encrKL = crm->encryptionAlgorithm.getRemoteKeyLength(cc); - size_t encrBS = crm->encryptionAlgorithm.getRemoteBlockSize(cc); - size_t signKL = crm->signatureAlgorithm.getRemoteKeyLength(cc); - if(encrBS + signKL + encrKL == 0) - return UA_STATUSCODE_GOOD; /* No keys to generate */ - - UA_StatusCode retval = UA_ByteString_allocBuffer(&buf, encrBS + signKL + encrKL); - UA_CHECK_STATUS(retval, return retval); - UA_ByteString remoteSigningKey = {signKL, buf.data}; - UA_ByteString remoteEncryptingKey = {encrKL, &buf.data[signKL]}; - UA_ByteString remoteIv = {encrBS, &buf.data[signKL + encrKL]}; - - /* Generate key */ - retval = sm->generateKey(sp->policyContext, &channel->localNonce, - &channel->remoteNonce, &buf); - UA_CHECK_STATUS(retval, goto error); - - /* Set the channel context */ - retval |= cm->setRemoteSymSigningKey(cc, &remoteSigningKey); - retval |= cm->setRemoteSymEncryptingKey(cc, &remoteEncryptingKey); - retval |= cm->setRemoteSymIv(cc, &remoteIv); - - error: - UA_CHECK_STATUS(retval, UA_LOG_WARNING_CHANNEL(sp->logger, channel, - "Could not generate remote keys (statuscode: %s)", - UA_StatusCode_name(retval))); - UA_ByteString_clear(&buf); - return retval; -} - -/***************************/ -/* Send Asymmetric Message */ -/***************************/ - -/* The length of the static header content */ -#define UA_SECURECHANNEL_ASYMMETRIC_SECURITYHEADER_FIXED_LENGTH 12 - -size_t -calculateAsymAlgSecurityHeaderLength(const UA_SecureChannel *channel) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); - - size_t asymHeaderLength = UA_SECURECHANNEL_ASYMMETRIC_SECURITYHEADER_FIXED_LENGTH + - sp->policyUri.length; - if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) - return asymHeaderLength; - - /* OPN is always encrypted even if the mode is sign only */ - asymHeaderLength += 20; /* Thumbprints are always 20 byte long */ - asymHeaderLength += sp->localCertificate.length; - return asymHeaderLength; -} - -UA_StatusCode -prependHeadersAsym(UA_SecureChannel *const channel, UA_Byte *header_pos, - const UA_Byte *buf_end, size_t totalLength, - size_t securityHeaderLength, UA_UInt32 requestId, - size_t *const encryptedLength) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_CHECK_MEM(sp, return UA_STATUSCODE_BADINTERNALERROR); - - if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) { - *encryptedLength = totalLength; - } else { - size_t dataToEncryptLength = totalLength - - (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + securityHeaderLength); - size_t plainTextBlockSize = sp->asymmetricModule.cryptoModule. - encryptionAlgorithm.getRemotePlainTextBlockSize(channel->channelContext); - size_t encryptedBlockSize = sp->asymmetricModule.cryptoModule. - encryptionAlgorithm.getRemoteBlockSize(channel->channelContext); - - /* Padding always fills up the last block */ - UA_assert(dataToEncryptLength % plainTextBlockSize == 0); - size_t blocks = dataToEncryptLength / plainTextBlockSize; - *encryptedLength = totalLength + blocks * (encryptedBlockSize - plainTextBlockSize); - } - - UA_TcpMessageHeader messageHeader; - messageHeader.messageTypeAndChunkType = UA_MESSAGETYPE_OPN + UA_CHUNKTYPE_FINAL; - messageHeader.messageSize = (UA_UInt32)*encryptedLength; - UA_UInt32 secureChannelId = channel->securityToken.channelId; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - retval |= UA_encodeBinaryInternal(&messageHeader, - &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], - &header_pos, &buf_end, NULL, NULL); - retval |= UA_UInt32_encodeBinary(&secureChannelId, &header_pos, buf_end); - UA_CHECK_STATUS(retval, return retval); - - UA_AsymmetricAlgorithmSecurityHeader asymHeader; - UA_AsymmetricAlgorithmSecurityHeader_init(&asymHeader); - asymHeader.securityPolicyUri = sp->policyUri; - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || - channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - asymHeader.senderCertificate = sp->localCertificate; - asymHeader.receiverCertificateThumbprint.length = 20; - asymHeader.receiverCertificateThumbprint.data = channel->remoteCertificateThumbprint; - } - retval = UA_encodeBinaryInternal(&asymHeader, - &UA_TRANSPORT[UA_TRANSPORT_ASYMMETRICALGORITHMSECURITYHEADER], - &header_pos, &buf_end, NULL, NULL); - UA_CHECK_STATUS(retval, return retval); - - /* Increase the sequence number in the channel */ - channel->sendSequenceNumber++; - - UA_SequenceHeader seqHeader; - seqHeader.requestId = requestId; - seqHeader.sequenceNumber = channel->sendSequenceNumber; - retval = UA_encodeBinaryInternal(&seqHeader, &UA_TRANSPORT[UA_TRANSPORT_SEQUENCEHEADER], - &header_pos, &buf_end, NULL, NULL); - return retval; -} - -void -hideBytesAsym(const UA_SecureChannel *channel, UA_Byte **buf_start, - const UA_Byte **buf_end) { - /* Set buf_start to the beginning of the payload body */ - *buf_start += UA_SECURECHANNEL_CHANNELHEADER_LENGTH; - *buf_start += calculateAsymAlgSecurityHeaderLength(channel); - *buf_start += UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH; - -#ifdef UA_ENABLE_ENCRYPTION - if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) - return; - - /* Make space for the certificate */ - const UA_SecurityPolicy *sp = channel->securityPolicy; - *buf_end -= sp->asymmetricModule.cryptoModule.signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - - /* Block sizes depend on the remote key (certificate) */ - size_t plainTextBlockSize = sp->asymmetricModule.cryptoModule. - encryptionAlgorithm.getRemotePlainTextBlockSize(channel->channelContext); - size_t encryptedBlockSize = sp->asymmetricModule.cryptoModule. - encryptionAlgorithm.getRemoteBlockSize(channel->channelContext); - UA_Boolean extraPadding = (sp->asymmetricModule.cryptoModule.encryptionAlgorithm. - getRemoteKeyLength(channel->channelContext) > 2048); - - /* Compute the maximum number of encrypted blocks that can fit entirely - * before the signature. From that compute the maximum usable plaintext - * size. */ - size_t maxEncrypted = (size_t)(*buf_end - *buf_start) + - UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH; - size_t max_blocks = maxEncrypted / encryptedBlockSize; - size_t paddingBytes = (UA_LIKELY(!extraPadding)) ? 1u : 2u; - *buf_end = *buf_start + (max_blocks * plainTextBlockSize) - - UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH - paddingBytes; -#endif -} - -#ifdef UA_ENABLE_ENCRYPTION - -/* Assumes that pos can be advanced to the end of the current block */ -void -padChunk(UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cm, - const UA_Byte *start, UA_Byte **pos) { - const size_t bytesToWrite = (uintptr_t)*pos - (uintptr_t)start; - size_t signatureSize = cm->signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - size_t plainTextBlockSize = cm->encryptionAlgorithm. - getRemotePlainTextBlockSize(channel->channelContext); - UA_Boolean extraPadding = (cm->encryptionAlgorithm. - getRemoteKeyLength(channel->channelContext) > 2048); - size_t paddingBytes = (UA_LIKELY(!extraPadding)) ? 1u : 2u; - - size_t lastBlock = ((bytesToWrite + signatureSize + paddingBytes) % plainTextBlockSize); - size_t paddingLength = (lastBlock != 0) ? plainTextBlockSize - lastBlock : 0; - - UA_LOG_TRACE_CHANNEL(channel->securityPolicy->logger, channel, - "Add %lu bytes of padding plus %lu padding size bytes", - (long unsigned int)paddingLength, - (long unsigned int)paddingBytes); - - /* Write the padding. This is <= because the paddingSize byte also has to be - * written */ - UA_Byte paddingByte = (UA_Byte)paddingLength; - for(UA_UInt16 i = 0; i <= paddingLength; ++i) { - **pos = paddingByte; - ++*pos; - } - - /* Write the extra padding byte if required */ - if(extraPadding) { - **pos = (UA_Byte)(paddingLength >> 8u); - ++*pos; - } -} - -UA_StatusCode -signAndEncryptAsym(UA_SecureChannel *channel, size_t preSignLength, - UA_ByteString *buf, size_t securityHeaderLength, - size_t totalLength) { - if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && - channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return UA_STATUSCODE_GOOD; - - /* Sign message */ - const UA_SecurityPolicy *sp = channel->securityPolicy; - const UA_ByteString dataToSign = {preSignLength, buf->data}; - size_t sigsize = sp->asymmetricModule.cryptoModule.signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - UA_ByteString signature = {sigsize, buf->data + preSignLength}; - UA_StatusCode retval = sp->asymmetricModule.cryptoModule.signatureAlgorithm. - sign(channel->channelContext, &dataToSign, &signature); - UA_CHECK_STATUS(retval, return retval); - - /* Specification part 6, 6.7.4: The OpenSecureChannel Messages are - * signed and encrypted if the SecurityMode is not None (even if the - * SecurityMode is SignOnly). */ - size_t unencrypted_length = - UA_SECURECHANNEL_CHANNELHEADER_LENGTH + securityHeaderLength; - UA_ByteString dataToEncrypt = {totalLength - unencrypted_length, - &buf->data[unencrypted_length]}; - return sp->asymmetricModule.cryptoModule.encryptionAlgorithm. - encrypt(channel->channelContext, &dataToEncrypt); -} - -/**************************/ -/* Send Symmetric Message */ -/**************************/ - -UA_StatusCode -signAndEncryptSym(UA_MessageContext *messageContext, - size_t preSigLength, size_t totalLength) { - const UA_SecureChannel *channel = messageContext->channel; - if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) - return UA_STATUSCODE_GOOD; - - /* Sign */ - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_ByteString dataToSign = messageContext->messageBuffer; - dataToSign.length = preSigLength; - UA_ByteString signature; - signature.length = sp->symmetricModule.cryptoModule.signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - signature.data = messageContext->buf_pos; - UA_StatusCode res = sp->symmetricModule.cryptoModule.signatureAlgorithm. - sign(channel->channelContext, &dataToSign, &signature); - UA_CHECK_STATUS(res, return res); - - if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return UA_STATUSCODE_GOOD; - - /* Encrypt */ - UA_ByteString dataToEncrypt; - dataToEncrypt.data = messageContext->messageBuffer.data + - UA_SECURECHANNEL_CHANNELHEADER_LENGTH + - UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH; - dataToEncrypt.length = totalLength - - (UA_SECURECHANNEL_CHANNELHEADER_LENGTH + - UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH); - return sp->symmetricModule.cryptoModule.encryptionAlgorithm. - encrypt(channel->channelContext, &dataToEncrypt); -} - -#endif /* UA_ENABLE_ENCRYPTION */ - -void -setBufPos(UA_MessageContext *mc) { - /* Forward the data pointer so that the payload is encoded after the message - * header. This has to be a symmetric message because OPN (with asymmetric - * encryption) does not support chunking. */ - mc->buf_pos = &mc->messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]; - mc->buf_end = &mc->messageBuffer.data[mc->messageBuffer.length]; - -#ifdef UA_ENABLE_ENCRYPTION - if(mc->channel->securityMode == UA_MESSAGESECURITYMODE_NONE) - return; - - const UA_SecureChannel *channel = mc->channel; - const UA_SecurityPolicy *sp = channel->securityPolicy; - size_t sigsize = sp->symmetricModule.cryptoModule.signatureAlgorithm. - getLocalSignatureSize(channel->channelContext); - size_t plainBlockSize = sp->symmetricModule.cryptoModule. - encryptionAlgorithm.getRemotePlainTextBlockSize(channel->channelContext); - - /* Assuming that for symmetric encryption the plainTextBlockSize == - * cypherTextBlockSize. For symmetric encryption the remote/local block - * sizes are identical. */ - UA_assert(sp->symmetricModule.cryptoModule.encryptionAlgorithm. - getRemoteBlockSize(channel->channelContext) == plainBlockSize); - - /* Leave enough space for the signature and padding */ - mc->buf_end -= sigsize; - mc->buf_end -= mc->messageBuffer.length % plainBlockSize; - - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - /* Reserve space for the padding bytes */ - UA_Boolean extraPadding = - (sp->symmetricModule.cryptoModule.encryptionAlgorithm. - getRemoteKeyLength(channel->channelContext) > 2048); - mc->buf_end -= (UA_LIKELY(!extraPadding)) ? 1 : 2; - } - - UA_LOG_TRACE_CHANNEL(sp->logger, channel, - "Prepare a symmetric message buffer of length %lu " - "with a usable maximum payload length of %lu", - (long unsigned)mc->messageBuffer.length, - (long unsigned)((uintptr_t)mc->buf_end - - (uintptr_t)mc->messageBuffer.data)); -#endif -} - -/****************************/ -/* Process a received Chunk */ -/****************************/ - -static size_t -decodePadding(const UA_SecureChannel *channel, - const UA_SecurityPolicyCryptoModule *cryptoModule, - const UA_ByteString *chunk, size_t sigsize) { - /* Read the byte with the padding size */ - size_t paddingSize = chunk->data[chunk->length - sigsize - 1]; - - /* Extra padding size */ - if(cryptoModule->encryptionAlgorithm. - getLocalKeyLength(channel->channelContext) > 2048) { - paddingSize <<= 8u; - paddingSize += chunk->data[chunk->length - sigsize - 2]; - paddingSize += 1; /* Extra padding byte itself */ - } - - /* Add one since the paddingSize byte itself needs to be removed as well */ - return paddingSize + 1; -} - -static UA_StatusCode -verifySignature(const UA_SecureChannel *channel, - const UA_SecurityPolicyCryptoModule *cryptoModule, - const UA_ByteString *chunk, size_t sigsize) { - UA_LOG_TRACE_CHANNEL(channel->securityPolicy->logger, channel, - "Verifying chunk signature"); - UA_CHECK(sigsize < chunk->length, return UA_STATUSCODE_BADSECURITYCHECKSFAILED); - const UA_ByteString content = {chunk->length - sigsize, chunk->data}; - const UA_ByteString sig = {sigsize, chunk->data + chunk->length - sigsize}; - UA_StatusCode retval = cryptoModule->signatureAlgorithm. - verify(channel->channelContext, &content, &sig); - return retval; -} - -/* Sets the payload to a pointer inside the chunk buffer. Returns the requestId - * and the sequenceNumber */ -UA_StatusCode -decryptAndVerifyChunk(const UA_SecureChannel *channel, - const UA_SecurityPolicyCryptoModule *cryptoModule, - UA_MessageType messageType, UA_ByteString *chunk, - size_t offset) { - /* Decrypt the chunk */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT || - messageType == UA_MESSAGETYPE_OPN) { - UA_ByteString cipher = {chunk->length - offset, chunk->data + offset}; - res = cryptoModule->encryptionAlgorithm.decrypt(channel->channelContext, &cipher); - UA_CHECK_STATUS(res, return res); - chunk->length = cipher.length + offset; - } - - /* Does the message have a signature? */ - if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && - channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT && - messageType != UA_MESSAGETYPE_OPN) - return UA_STATUSCODE_GOOD; - - /* Verify the chunk signature */ - size_t sigsize = cryptoModule->signatureAlgorithm. - getRemoteSignatureSize(channel->channelContext); - res = verifySignature(channel, cryptoModule, chunk, sigsize); - UA_CHECK_STATUS(res, - UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, - "Could not verify the signature"); return res); - - /* Compute the padding if the payload as encrypted */ - size_t padSize = 0; - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT || - (messageType == UA_MESSAGETYPE_OPN && - cryptoModule->encryptionAlgorithm.uri.length > 0)) { - padSize = decodePadding(channel, cryptoModule, chunk, sigsize); - UA_LOG_TRACE_CHANNEL(channel->securityPolicy->logger, channel, - "Calculated padding size to be %lu", - (long unsigned)padSize); - } - - /* Verify the content length. The encrypted payload has to be at least 9 - * bytes long: 8 byte for the SequenceHeader and one byte for the actual - * message */ - UA_CHECK(offset + padSize + sigsize + 9 < chunk->length, - UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, - "Impossible padding value"); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED); - - /* Hide the signature and padding */ - chunk->length -= (sigsize + padSize); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -checkAsymHeader(UA_SecureChannel *channel, - const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - if(!UA_ByteString_equal(&sp->policyUri, &asymHeader->securityPolicyUri)) - return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - - return sp->asymmetricModule. - compareCertificateThumbprint(sp, &asymHeader->receiverCertificateThumbprint); - - /* The certificate in the header is verified via the configured PKI plugin - * as certificateVerification.verifyCertificate(...). We cannot do it here - * because the client/server context is needed. */ -} - -UA_StatusCode -checkSymHeader(UA_SecureChannel *channel, const UA_UInt32 tokenId) { - /* If no match, try to revolve to the next token after a - * RenewSecureChannel */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - UA_ChannelSecurityToken *token = &channel->securityToken; - switch(channel->renewState) { - case UA_SECURECHANNELRENEWSTATE_NORMAL: - case UA_SECURECHANNELRENEWSTATE_SENT: - default: - break; - - case UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER: - /* Old token still in use */ - if(tokenId == channel->securityToken.tokenId) - break; - - /* Not the new token */ - UA_CHECK(tokenId == channel->altSecurityToken.tokenId, - UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, - "Unknown SecurityToken"); - return UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN); - - /* Roll over to the new token, generate new local and remote keys */ - channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; - channel->securityToken = channel->altSecurityToken; - UA_ChannelSecurityToken_init(&channel->altSecurityToken); - retval |= UA_SecureChannel_generateLocalKeys(channel); - retval |= generateRemoteKeys(channel); - UA_CHECK_STATUS(retval, return retval); - break; - - case UA_SECURECHANNELRENEWSTATE_NEWTOKEN_CLIENT: - /* The server is still using the old token. That's okay. */ - if(tokenId == channel->altSecurityToken.tokenId) { - token = &channel->altSecurityToken; - break; - } - - /* Not the new token */ - UA_CHECK(tokenId == channel->securityToken.tokenId, - UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, - "Unknown SecurityToken"); - return UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN); - - /* The remote server uses the new token for the first time. Delete the - * old token and roll the remote key over. The local key already uses - * the nonce pair from the last OPN exchange. */ - channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; - UA_ChannelSecurityToken_init(&channel->altSecurityToken); - retval = generateRemoteKeys(channel); - UA_CHECK_STATUS(retval, return retval); - } - - UA_DateTime timeout = token->createdAt + (token->revisedLifetime * UA_DATETIME_MSEC); - if(channel->state == UA_SECURECHANNELSTATE_OPEN && - timeout < UA_DateTime_nowMonotonic()) { - UA_LOG_WARNING_CHANNEL(channel->securityPolicy->logger, channel, - "SecurityToken timed out"); - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_TIMEOUT); - return UA_STATUSCODE_BADSECURECHANNELCLOSED; - } - - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/src/server/ua_session.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - -#ifdef UA_ENABLE_SUBSCRIPTIONS -#endif - -#define UA_SESSION_NONCELENTH 32 - -void UA_Session_init(UA_Session *session) { - memset(session, 0, sizeof(UA_Session)); - session->availableContinuationPoints = UA_MAXCONTINUATIONPOINTS; -#ifdef UA_ENABLE_SUBSCRIPTIONS - SIMPLEQ_INIT(&session->responseQueue); - TAILQ_INIT(&session->subscriptions); -#endif -} - -void UA_Session_clear(UA_Session *session, UA_Server* server) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Remove all Subscriptions. This may send out remaining publish - * responses. */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_Subscription *sub, *tempsub; - TAILQ_FOREACH_SAFE(sub, &session->subscriptions, sessionListEntry, tempsub) { - UA_Subscription_delete(server, sub); - } -#endif - -#ifdef UA_ENABLE_DIAGNOSTICS - deleteNode(server, session->sessionId, true); -#endif - - UA_Session_detachFromSecureChannel(session); - UA_ApplicationDescription_clear(&session->clientDescription); - UA_NodeId_clear(&session->header.authenticationToken); - UA_String_clear(&session->clientUserIdOfSession); - UA_NodeId_clear(&session->sessionId); - UA_String_clear(&session->sessionName); - UA_ByteString_clear(&session->serverNonce); - struct ContinuationPoint *cp, *next = session->continuationPoints; - while((cp = next)) { - next = ContinuationPoint_clear(cp); - UA_free(cp); - } - session->continuationPoints = NULL; - session->availableContinuationPoints = UA_MAXCONTINUATIONPOINTS; - - UA_KeyValueMap_delete(session->attributes); - session->attributes = NULL; - - UA_Array_delete(session->localeIds, session->localeIdsSize, - &UA_TYPES[UA_TYPES_STRING]); - session->localeIds = NULL; - session->localeIdsSize = 0; - -#ifdef UA_ENABLE_DIAGNOSTICS - UA_SessionDiagnosticsDataType_clear(&session->diagnostics); - UA_SessionSecurityDiagnosticsDataType_clear(&session->securityDiagnostics); -#endif -} - -void -UA_Session_attachToSecureChannel(UA_Session *session, UA_SecureChannel *channel) { - UA_Session_detachFromSecureChannel(session); - session->header.channel = channel; - session->header.serverSession = true; - SLIST_INSERT_HEAD(&channel->sessions, &session->header, next); -} - -void -UA_Session_detachFromSecureChannel(UA_Session *session) { - UA_SecureChannel *channel = session->header.channel; - if(!channel) - return; - session->header.channel = NULL; - UA_SessionHeader *sh; - SLIST_FOREACH(sh, &channel->sessions, next) { - if((UA_Session*)sh != session) - continue; - SLIST_REMOVE(&channel->sessions, sh, UA_SessionHeader, next); - break; - } - - /* Clean up the response queue. Their RequestId is bound to the - * SecureChannel so they cannot be reused. */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_PublishResponseEntry *pre; - while((pre = UA_Session_dequeuePublishReq(session))) { - UA_PublishResponse_clear(&pre->response); - UA_free(pre); - } -#endif -} - -UA_StatusCode -UA_Session_generateNonce(UA_Session *session) { - UA_SecureChannel *channel = session->header.channel; - if(!channel || !channel->securityPolicy) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Is the length of the previous nonce correct? */ - if(session->serverNonce.length != UA_SESSION_NONCELENTH) { - UA_ByteString_clear(&session->serverNonce); - UA_StatusCode retval = - UA_ByteString_allocBuffer(&session->serverNonce, UA_SESSION_NONCELENTH); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - - return channel->securityPolicy->symmetricModule. - generateNonce(channel->securityPolicy->policyContext, &session->serverNonce); -} - -void UA_Session_updateLifetime(UA_Session *session) { - session->validTill = UA_DateTime_nowMonotonic() + - (UA_DateTime)(session->timeout * UA_DATETIME_MSEC); -#ifdef UA_ENABLE_DIAGNOSTICS - session->diagnostics.clientLastContactTime = UA_DateTime_now(); -#endif -} - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -void -UA_Session_attachSubscription(UA_Session *session, UA_Subscription *sub) { - /* Attach to the session */ - sub->session = session; - - /* Increase the count */ - session->subscriptionsSize++; - - /* Increase the number of outstanding retransmissions */ - session->totalRetransmissionQueueSize += sub->retransmissionQueueSize; - - /* Insert at the end of the subscriptions of the same priority / just before - * the subscriptions with the next lower priority. */ - UA_Subscription *after = NULL; - TAILQ_FOREACH(after, &session->subscriptions, sessionListEntry) { - if(after->priority < sub->priority) { - TAILQ_INSERT_BEFORE(after, sub, sessionListEntry); - return; - } - } - TAILQ_INSERT_TAIL(&session->subscriptions, sub, sessionListEntry); -} - -void -UA_Session_detachSubscription(UA_Server *server, UA_Session *session, - UA_Subscription *sub, UA_Boolean releasePublishResponses) { - /* Detach from the session */ - sub->session = NULL; - TAILQ_REMOVE(&session->subscriptions, sub, sessionListEntry); - - /* Reduce the count */ - UA_assert(session->subscriptionsSize > 0); - session->subscriptionsSize--; - - /* Reduce the number of outstanding retransmissions */ - session->totalRetransmissionQueueSize -= sub->retransmissionQueueSize; - - /* Send remaining publish responses if the last subscription was removed */ - if(!releasePublishResponses || !TAILQ_EMPTY(&session->subscriptions)) - return; - UA_PublishResponseEntry *pre; - while((pre = UA_Session_dequeuePublishReq(session))) { - UA_PublishResponse *response = &pre->response; - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOSUBSCRIPTION; - sendResponse(server, session, session->header.channel, pre->requestId, - (UA_Response*)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); - UA_PublishResponse_clear(response); - UA_free(pre); - } -} - -UA_Subscription * -UA_Session_getSubscriptionById(UA_Session *session, UA_UInt32 subscriptionId) { - UA_Subscription *sub; - TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { - /* Prevent lookup of subscriptions that are to be deleted with a statuschange */ - if(sub->statusChange != UA_STATUSCODE_GOOD) - continue; - if(sub->subscriptionId == subscriptionId) - break; - } - return sub; -} - -UA_Subscription * -getSubscriptionById(UA_Server *server, UA_UInt32 subscriptionId) { - UA_Subscription *sub; - LIST_FOREACH(sub, &server->subscriptions, serverListEntry) { - /* Prevent lookup of subscriptions that are to be deleted with a statuschange */ - if(sub->statusChange != UA_STATUSCODE_GOOD) - continue; - if(sub->subscriptionId == subscriptionId) - break; - } - return sub; -} - -UA_PublishResponseEntry* -UA_Session_dequeuePublishReq(UA_Session *session) { - UA_PublishResponseEntry *entry = SIMPLEQ_FIRST(&session->responseQueue); - if(entry) { - SIMPLEQ_REMOVE_HEAD(&session->responseQueue, listEntry); - session->responseQueueSize--; - } - return entry; -} - -void -UA_Session_queuePublishReq(UA_Session *session, UA_PublishResponseEntry* entry, - UA_Boolean head) { - if(!head) - SIMPLEQ_INSERT_TAIL(&session->responseQueue, entry, listEntry); - else - SIMPLEQ_INSERT_HEAD(&session->responseQueue, entry, listEntry); - session->responseQueueSize++; -} - -#endif - -/* Session Handling */ - -UA_StatusCode -UA_Server_closeSession(UA_Server *server, const UA_NodeId *sessionId) { - lockServer(server); - session_list_entry *entry; - UA_StatusCode res = UA_STATUSCODE_BADSESSIONIDINVALID; - LIST_FOREACH(entry, &server->sessions, pointers) { - if(UA_NodeId_equal(&entry->session.sessionId, sessionId)) { - UA_Server_removeSession(server, entry, UA_SHUTDOWNREASON_CLOSE); - res = UA_STATUSCODE_GOOD; - break; - } - } - unlockServer(server); - return res; -} - -/* Session Attributes */ - -#define UA_PROTECTEDATTRIBUTESSIZE 4 -static const UA_QualifiedName protectedAttributes[UA_PROTECTEDATTRIBUTESSIZE] = { - {0, UA_STRING_STATIC("localeIds")}, - {0, UA_STRING_STATIC("clientDescription")}, - {0, UA_STRING_STATIC("sessionName")}, - {0, UA_STRING_STATIC("clientUserId")} -}; - -static UA_Boolean -protectedAttribute(const UA_QualifiedName key) { - for(size_t i = 0; i < UA_PROTECTEDATTRIBUTESSIZE; i++) { - if(UA_QualifiedName_equal(&key, &protectedAttributes[i])) - return true; - } - return false; -} - -UA_StatusCode -UA_Server_setSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, const UA_Variant *value) { - if(protectedAttribute(key)) - return UA_STATUSCODE_BADNOTWRITABLE; - lockServer(server); - UA_Session *session = getSessionById(server, sessionId); - UA_StatusCode res = UA_STATUSCODE_BADSESSIONIDINVALID; - if(session) - res = UA_KeyValueMap_set(session->attributes, - key, value); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_deleteSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key) { - if(protectedAttribute(key)) - return UA_STATUSCODE_BADNOTWRITABLE; - lockServer(server); - UA_Session *session = getSessionById(server, sessionId); - if(!session) { - unlockServer(server); - return UA_STATUSCODE_BADSESSIONIDINVALID; - } - UA_StatusCode res = - UA_KeyValueMap_remove(session->attributes, key); - unlockServer(server); - return res; -} - -static UA_StatusCode -getSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, UA_Variant *outValue, - UA_Boolean copy) { - if(!outValue) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_Session *session = getSessionById(server, sessionId); - if(!session) - return UA_STATUSCODE_BADSESSIONIDINVALID; - - const UA_Variant *attr; - UA_Variant localAttr; - - if(UA_QualifiedName_equal(&key, &protectedAttributes[0])) { - /* Return LocaleIds */ - UA_Variant_setArray(&localAttr, session->localeIds, - session->localeIdsSize, &UA_TYPES[UA_TYPES_STRING]); - attr = &localAttr; - } else if(UA_QualifiedName_equal(&key, &protectedAttributes[1])) { - /* Return client description */ - UA_Variant_setScalar(&localAttr, &session->clientDescription, - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); - attr = &localAttr; - } else if(UA_QualifiedName_equal(&key, &protectedAttributes[2])) { - /* Return session name */ - UA_Variant_setScalar(&localAttr, &session->sessionName, - &UA_TYPES[UA_TYPES_STRING]); - attr = &localAttr; - } else if(UA_QualifiedName_equal(&key, &protectedAttributes[3])) { - /* Return client user id */ - UA_Variant_setScalar(&localAttr, &session->clientUserIdOfSession, - &UA_TYPES[UA_TYPES_STRING]); - attr = &localAttr; - } else { - /* Get from the actual key-value list */ - attr = UA_KeyValueMap_get(session->attributes, key); - if(!attr) - return UA_STATUSCODE_BADNOTFOUND; - } - - if(copy) - return UA_Variant_copy(attr, outValue); - - *outValue = *attr; - outValue->storageType = UA_VARIANT_DATA_NODELETE; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_getSessionAttribute(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, UA_Variant *outValue) { - lockServer(server); - UA_StatusCode res = getSessionAttribute(server, sessionId, key, outValue, false); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_getSessionAttributeCopy(UA_Server *server, const UA_NodeId *sessionId, - const UA_QualifiedName key, UA_Variant *outValue) { - lockServer(server); - UA_StatusCode res = getSessionAttribute(server, sessionId, key, outValue, true); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_getSessionAttribute_scalar(UA_Server *server, - const UA_NodeId *sessionId, - const UA_QualifiedName key, - const UA_DataType *type, - void *outValue) { - lockServer(server); - - UA_Variant attr; - UA_StatusCode res = getSessionAttribute(server, sessionId, key, &attr, false); - if(res != UA_STATUSCODE_GOOD) { - unlockServer(server); - return res; - } - - if(!UA_Variant_hasScalarType(&attr, type)) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - - memcpy(outValue, attr.data, type->memSize); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/src/server/ua_nodes.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2018, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015, 2017 (c) Florian Palm - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Julian Grothoff - */ - - -/*********************/ -/* ReferenceType Set */ -/*********************/ - -#define UA_REFTYPES_ALL_MASK (~(UA_UInt32)0) -#define UA_REFTYPES_ALL_MASK2 UA_REFTYPES_ALL_MASK, UA_REFTYPES_ALL_MASK -#define UA_REFTYPES_ALL_MASK4 UA_REFTYPES_ALL_MASK2, UA_REFTYPES_ALL_MASK2 -#if (UA_REFERENCETYPESET_MAX) / 32 > 8 -# error Adjust macros to support than 256 reference types -#elif (UA_REFERENCETYPESET_MAX) / 32 == 8 -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK4 -#elif (UA_REFERENCETYPESET_MAX) / 32 == 7 -# define UA_REFTYPES_ALL_ARRAY \ - UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK2, UA_REFTYPES_ALL_MASK -#elif (UA_REFERENCETYPESET_MAX) / 32 == 6 -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK2 -#elif (UA_REFERENCETYPESET_MAX) / 32 == 5 -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4, UA_REFTYPES_ALL_MASK -#elif (UA_REFERENCETYPESET_MAX) / 32 == 4 -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK4 -#elif (UA_REFERENCETYPESET_MAX) / 32 == 3 -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK2, UA_REFTYPES_ALL_MASK -#elif (UA_REFERENCETYPESET_MAX) / 32 == 2 -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK2 -#else -# define UA_REFTYPES_ALL_ARRAY UA_REFTYPES_ALL_MASK -#endif - -const UA_ReferenceTypeSet UA_REFERENCETYPESET_NONE = {{0}}; -const UA_ReferenceTypeSet UA_REFERENCETYPESET_ALL = {{UA_REFTYPES_ALL_ARRAY}}; - -/*****************/ -/* Node Pointers */ -/*****************/ - -#define UA_NODEPOINTER_MASK 0x03 -#define UA_NODEPOINTER_TAG_IMMEDIATE 0x00 -#define UA_NODEPOINTER_TAG_NODEID 0x01 -#define UA_NODEPOINTER_TAG_EXPANDEDNODEID 0x02 -#define UA_NODEPOINTER_TAG_NODE 0x03 - -void -UA_NodePointer_clear(UA_NodePointer *np) { - switch(np->immediate & UA_NODEPOINTER_MASK) { - case UA_NODEPOINTER_TAG_NODEID: - np->immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - UA_NodeId_delete((UA_NodeId*)(uintptr_t)np->id); - break; - case UA_NODEPOINTER_TAG_EXPANDEDNODEID: - np->immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - UA_ExpandedNodeId_delete((UA_ExpandedNodeId*)(uintptr_t) - np->expandedId); - break; - default: - break; - } - UA_NodePointer_init(np); -} - -UA_StatusCode -UA_NodePointer_copy(UA_NodePointer in, UA_NodePointer *out) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_Byte tag = in.immediate & UA_NODEPOINTER_MASK; - in.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - switch(tag) { - case UA_NODEPOINTER_TAG_NODE: - in.id = &in.node->nodeId; - goto nodeid; /* fallthrough */ - case UA_NODEPOINTER_TAG_NODEID: - nodeid: - out->id = UA_NodeId_new(); - if(!out->id) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_NodeId_copy(in.id, (UA_NodeId*)(uintptr_t)out->id); - if(res != UA_STATUSCODE_GOOD) { - UA_free((void*)out->immediate); - out->immediate = 0; - break; - } - out->immediate |= UA_NODEPOINTER_TAG_NODEID; - break; - case UA_NODEPOINTER_TAG_EXPANDEDNODEID: - out->expandedId = UA_ExpandedNodeId_new(); - if(!out->expandedId) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_ExpandedNodeId_copy(in.expandedId, - (UA_ExpandedNodeId*)(uintptr_t) - out->expandedId); - if(res != UA_STATUSCODE_GOOD) { - UA_free((void*)out->immediate); - out->immediate = 0; - break; - } - out->immediate |= UA_NODEPOINTER_TAG_EXPANDEDNODEID; - break; - default: - case UA_NODEPOINTER_TAG_IMMEDIATE: - *out = in; - break; - } - return res; -} - -UA_Boolean -UA_NodePointer_isLocal(UA_NodePointer np) { - UA_Byte tag = np.immediate & UA_NODEPOINTER_MASK; - return (tag != UA_NODEPOINTER_TAG_EXPANDEDNODEID); -} - -UA_Order -UA_NodePointer_order(UA_NodePointer p1, UA_NodePointer p2) { - if(p1.immediate == p2.immediate) - return UA_ORDER_EQ; - - /* Extract the tag and resolve pointers to nodes */ - UA_Byte tag1 = p1.immediate & UA_NODEPOINTER_MASK; - if(tag1 == UA_NODEPOINTER_TAG_NODE) { - p1 = UA_NodePointer_fromNodeId(&p1.node->nodeId); - tag1 = p1.immediate & UA_NODEPOINTER_MASK; - } - UA_Byte tag2 = p2.immediate & UA_NODEPOINTER_MASK; - if(tag2 == UA_NODEPOINTER_TAG_NODE) { - p2 = UA_NodePointer_fromNodeId(&p2.node->nodeId); - tag2 = p2.immediate & UA_NODEPOINTER_MASK; - } - - /* Different tags, cannot be identical */ - if(tag1 != tag2) - return (tag1 > tag2) ? UA_ORDER_MORE : UA_ORDER_LESS; - - /* Immediate */ - if(UA_LIKELY(tag1 == UA_NODEPOINTER_TAG_IMMEDIATE)) - return (p1.immediate > p2.immediate) ? - UA_ORDER_MORE : UA_ORDER_LESS; - - /* Compare from pointers */ - p1.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - p2.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - if(tag1 == UA_NODEPOINTER_TAG_EXPANDEDNODEID) - return UA_ExpandedNodeId_order(p1.expandedId, p2.expandedId); - return UA_NodeId_order(p1.id, p2.id); -} - -UA_NodePointer -UA_NodePointer_fromNodeId(const UA_NodeId *id) { - UA_NodePointer np; - if(id->identifierType != UA_NODEIDTYPE_NUMERIC) { - np.id = id; - np.immediate |= UA_NODEPOINTER_TAG_NODEID; - return np; - } - -#if SIZE_MAX > UA_UINT32_MAX - /* 64bit: 4 Byte for the numeric identifier + 2 Byte for the namespaceIndex - * + 1 Byte for the tagging bit (zero) */ - np.immediate = ((uintptr_t)id->identifier.numeric) << 32; - np.immediate |= ((uintptr_t)id->namespaceIndex) << 8; -#else - /* 32bit: 3 Byte for the numeric identifier + 6 Bit for the namespaceIndex - * + 2 Bit for the tagging bit (zero) */ - if(id->namespaceIndex < (0x01 << 6) && - id->identifier.numeric < (0x01 << 24)) { - np.immediate = ((uintptr_t)id->identifier.numeric) << 8; - np.immediate |= ((uintptr_t)id->namespaceIndex) << 2; - } else { - np.id = id; - np.immediate |= UA_NODEPOINTER_TAG_NODEID; - } -#endif - return np; -} - -UA_NodeId -UA_NodePointer_toNodeId(UA_NodePointer np) { - UA_Byte tag = np.immediate & UA_NODEPOINTER_MASK; - np.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - switch(tag) { - case UA_NODEPOINTER_TAG_NODE: - return np.node->nodeId; - case UA_NODEPOINTER_TAG_NODEID: - return *np.id; - case UA_NODEPOINTER_TAG_EXPANDEDNODEID: - return np.expandedId->nodeId; - default: - case UA_NODEPOINTER_TAG_IMMEDIATE: - break; - } - - UA_NodeId id; - id.identifierType = UA_NODEIDTYPE_NUMERIC; -#if SIZE_MAX > UA_UINT32_MAX /* 64bit */ - id.namespaceIndex = (UA_UInt16)(np.immediate >> 8); - id.identifier.numeric = (UA_UInt32)(np.immediate >> 32); -#else /* 32bit */ - id.namespaceIndex = ((UA_Byte)np.immediate) >> 2; - id.identifier.numeric = np.immediate >> 8; -#endif - return id; -} - -UA_NodePointer -UA_NodePointer_fromExpandedNodeId(const UA_ExpandedNodeId *id) { - if(!UA_ExpandedNodeId_isLocal(id)) { - UA_NodePointer np; - np.expandedId = id; - np.immediate |= UA_NODEPOINTER_TAG_EXPANDEDNODEID; - return np; - } - return UA_NodePointer_fromNodeId(&id->nodeId); -} - -UA_ExpandedNodeId -UA_NodePointer_toExpandedNodeId(UA_NodePointer np) { - /* Resolve node pointer to get the NodeId */ - UA_Byte tag = np.immediate & UA_NODEPOINTER_MASK; - if(tag == UA_NODEPOINTER_TAG_NODE) { - np = UA_NodePointer_fromNodeId(&np.node->nodeId); - tag = np.immediate & UA_NODEPOINTER_MASK; - } - - /* ExpandedNodeId, make a shallow copy */ - if(tag == UA_NODEPOINTER_TAG_EXPANDEDNODEID) { - np.immediate &= ~(uintptr_t)UA_NODEPOINTER_MASK; - return *np.expandedId; - } - - /* NodeId, either immediate or via a pointer */ - UA_ExpandedNodeId en; - UA_ExpandedNodeId_init(&en); - en.nodeId = UA_NodePointer_toNodeId(np); - return en; -} - -/**************/ -/* References */ -/**************/ - -static UA_StatusCode -addReferenceTarget(UA_NodeReferenceKind *refs, UA_NodePointer target, - UA_UInt32 targetNameHash); - -static UA_StatusCode -addReferenceTargetToTree(UA_NodeReferenceKind *rk, UA_NodePointer targetId, - UA_UInt32 targetIdHash, UA_UInt32 targetNameHash); - -enum ZIP_CMP -cmpRefTargetId(const void *a, const void *b) { - const UA_ReferenceTargetTreeElem *aa = (const UA_ReferenceTargetTreeElem*)a; - const UA_ReferenceTargetTreeElem *bb = (const UA_ReferenceTargetTreeElem*)b; - if(aa->targetIdHash < bb->targetIdHash) - return ZIP_CMP_LESS; - if(aa->targetIdHash > bb->targetIdHash) - return ZIP_CMP_MORE; - return (enum ZIP_CMP)UA_NodePointer_order(aa->target.targetId, - bb->target.targetId); -} - -enum ZIP_CMP -cmpRefTargetName(const void *a, const void *b) { - const UA_ReferenceTargetTreeElem *aa = (const UA_ReferenceTargetTreeElem*)a; - const UA_ReferenceTargetTreeElem *bb = (const UA_ReferenceTargetTreeElem*)b; - if(aa->target.targetNameHash == bb->target.targetNameHash) - return ZIP_CMP_EQ; - return (aa->target.targetNameHash < bb->target.targetNameHash) ? - ZIP_CMP_LESS : ZIP_CMP_MORE; -} - -/* Move to the array in-order, also deletes the tree elements */ -static void -moveTreeToArray(UA_ReferenceTarget *array, size_t *pos, - UA_ReferenceTargetTreeElem *elem) { - if(!elem) - return; - moveTreeToArray(array, pos, elem->idTreeEntry.left); - array[*pos] = elem->target; - (*pos)++; - moveTreeToArray(array, pos, elem->idTreeEntry.right); - UA_free(elem); -} - -static void * -removeTreeEntry(void *context, UA_ReferenceTargetTreeElem *elem) { - (void)context; - UA_NodePointer_clear(&elem->target.targetId); - UA_free(elem); - return NULL; -} - -UA_StatusCode -UA_NodeReferenceKind_switch(UA_NodeReferenceKind *rk) { - UA_assert(rk->targetsSize > 0); - - if(rk->hasRefTree) { - /* From tree to array */ - UA_ReferenceTarget *array = (UA_ReferenceTarget*) - UA_malloc(sizeof(UA_ReferenceTarget) * rk->targetsSize); - if(!array) - return UA_STATUSCODE_BADOUTOFMEMORY; - size_t pos = 0; - moveTreeToArray(array, &pos, rk->targets.tree.idRoot); - rk->targets.array = array; - rk->hasRefTree = false; - return UA_STATUSCODE_GOOD; - } - - /* From array to tree */ - UA_NodeReferenceKind newRk = *rk; - newRk.hasRefTree = true; - newRk.targets.tree.idRoot = NULL; - newRk.targets.tree.nameRoot = NULL; - newRk.targetsSize = 0; - for(size_t i = 0; i < rk->targetsSize; i++) { - UA_StatusCode res = - addReferenceTarget(&newRk, rk->targets.array[i].targetId, - rk->targets.array[i].targetNameHash); - if(res != UA_STATUSCODE_GOOD) { - ZIP_ITER(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&newRk.targets.tree.idRoot, - removeTreeEntry, NULL); - return res; - } - } - for(size_t i = 0; i < rk->targetsSize; i++) - UA_NodePointer_clear(&rk->targets.array[i].targetId); - UA_free(rk->targets.array); - *rk = newRk; - return UA_STATUSCODE_GOOD; -} - -void * -UA_NodeReferenceKind_iterate(UA_NodeReferenceKind *rk, - UA_NodeReferenceKind_iterateCallback callback, - void *context) { - if(rk->hasRefTree) - return ZIP_ITER(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&rk->targets.tree.idRoot, - (UA_ReferenceIdTree_cb)callback, context); - for(size_t i = 0; i < rk->targetsSize; i++) { - void *res = callback(context, &rk->targets.array[i]); - if(res) - return res; - } - return NULL; -} - -const UA_ReferenceTarget * -UA_NodeReferenceKind_findTarget(const UA_NodeReferenceKind *rk, - const UA_ExpandedNodeId *targetId) { - UA_NodePointer targetP = UA_NodePointer_fromExpandedNodeId(targetId); - if(rk->hasRefTree) { - /* Return from the tree */ - UA_ReferenceTargetTreeElem tmpTarget; - tmpTarget.target.targetId = targetP; - tmpTarget.targetIdHash = UA_ExpandedNodeId_hash(targetId); - UA_ReferenceTargetTreeElem *result = - ZIP_FIND(UA_ReferenceIdTree, (UA_ReferenceIdTree*) - (uintptr_t)&rk->targets.tree.idRoot, &tmpTarget); - if(result) - return &result->target; - } else { - /* Return from the array */ - for(size_t i = 0; i < rk->targetsSize; i++) { - if(UA_NodePointer_equal(targetP, rk->targets.array[i].targetId)) - return &rk->targets.array[i]; - } - } - return NULL; -} - -/* General node handling methods. There is no UA_Node_new() method here. - * Creating nodes is part of the Nodestore layer */ - -void UA_Node_clear(UA_Node *node) { - /* Delete references */ - UA_Node_deleteReferences(node); - - /* Delete other head content */ - UA_NodeHead *head = &node->head; - UA_NodeId_clear(&head->nodeId); - UA_QualifiedName_clear(&head->browseName); - - UA_LocalizedTextListEntry *lt; - - while((lt = head->displayName)) { - head->displayName = lt->next; - UA_LocalizedText_clear(<->localizedText); - UA_free(lt); - } - - while((lt = head->description)) { - head->description = lt->next; - UA_LocalizedText_clear(<->localizedText); - UA_free(lt); - } - - /* Delete unique content of the nodeclass */ - switch(head->nodeClass) { - case UA_NODECLASS_OBJECT: - break; - case UA_NODECLASS_METHOD: - break; - case UA_NODECLASS_OBJECTTYPE: - break; - case UA_NODECLASS_VARIABLE: - case UA_NODECLASS_VARIABLETYPE: { - UA_VariableNode *p = &node->variableNode; - UA_NodeId_clear(&p->dataType); - UA_Array_delete(p->arrayDimensions, p->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_INT32]); - p->arrayDimensions = NULL; - p->arrayDimensionsSize = 0; - if(p->valueSource == UA_VALUESOURCE_DATA) - UA_DataValue_clear(&p->value.data.value); - break; - } - case UA_NODECLASS_REFERENCETYPE: { - UA_ReferenceTypeNode *p = &node->referenceTypeNode; - UA_LocalizedText_clear(&p->inverseName); - break; - } - case UA_NODECLASS_DATATYPE: - break; - case UA_NODECLASS_VIEW: - break; - default: - break; - } -} - -static UA_StatusCode -UA_ObjectNode_copy(const UA_ObjectNode *src, UA_ObjectNode *dst) { - dst->eventNotifier = src->eventNotifier; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_CommonVariableNode_copy(const UA_VariableNode *src, UA_VariableNode *dst) { - UA_StatusCode retval = - UA_Array_copy(src->arrayDimensions, src->arrayDimensionsSize, - (void**)&dst->arrayDimensions, &UA_TYPES[UA_TYPES_INT32]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - dst->arrayDimensionsSize = src->arrayDimensionsSize; - retval = UA_NodeId_copy(&src->dataType, &dst->dataType); - dst->valueRank = src->valueRank; - dst->valueBackend = src->valueBackend; - dst->valueSource = src->valueSource; - if(src->valueSource == UA_VALUESOURCE_DATA) { - retval |= UA_DataValue_copy(&src->value.data.value, - &dst->value.data.value); - dst->value.data.callback = src->value.data.callback; - } else { - dst->value.dataSource = src->value.dataSource; - } - return retval; -} - -static UA_StatusCode -UA_VariableNode_copy(const UA_VariableNode *src, UA_VariableNode *dst) { - dst->accessLevel = src->accessLevel; - dst->minimumSamplingInterval = src->minimumSamplingInterval; - dst->historizing = src->historizing; - dst->isDynamic = src->isDynamic; - return UA_CommonVariableNode_copy(src, dst); -} - -static UA_StatusCode -UA_VariableTypeNode_copy(const UA_VariableTypeNode *src, - UA_VariableTypeNode *dst) { - dst->isAbstract = src->isAbstract; - return UA_CommonVariableNode_copy((const UA_VariableNode*)src, (UA_VariableNode*)dst); -} - -static UA_StatusCode -UA_MethodNode_copy(const UA_MethodNode *src, UA_MethodNode *dst) { - dst->executable = src->executable; - dst->method = src->method; -#if UA_MULTITHREADING >= 100 - dst->async = src->async; -#endif - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ObjectTypeNode_copy(const UA_ObjectTypeNode *src, UA_ObjectTypeNode *dst) { - dst->isAbstract = src->isAbstract; - dst->lifecycle = src->lifecycle; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ReferenceTypeNode_copy(const UA_ReferenceTypeNode *src, - UA_ReferenceTypeNode *dst) { - dst->isAbstract = src->isAbstract; - dst->symmetric = src->symmetric; - dst->referenceTypeIndex = src->referenceTypeIndex; - dst->subTypes = src->subTypes; - return UA_LocalizedText_copy(&src->inverseName, &dst->inverseName); -} - -static UA_StatusCode -UA_DataTypeNode_copy(const UA_DataTypeNode *src, UA_DataTypeNode *dst) { - dst->isAbstract = src->isAbstract; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ViewNode_copy(const UA_ViewNode *src, UA_ViewNode *dst) { - dst->containsNoLoops = src->containsNoLoops; - dst->eventNotifier = src->eventNotifier; - return UA_STATUSCODE_GOOD; -} - -static void * -copyTarget(void *context, UA_ReferenceTargetTreeElem *elm) { - UA_NodeReferenceKind *drefs = (UA_NodeReferenceKind*)context; - return (void*)(uintptr_t) - addReferenceTargetToTree(drefs, elm->target.targetId, - elm->targetIdHash, - elm->target.targetNameHash); -} - -UA_StatusCode -UA_Node_copy(const UA_Node *src, UA_Node *dst) { - const UA_NodeHead *srchead = &src->head; - UA_NodeHead *dsthead = &dst->head; - if(srchead->nodeClass != dsthead->nodeClass) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Copy standard content */ - UA_StatusCode retval = UA_NodeId_copy(&srchead->nodeId, &dsthead->nodeId); - retval |= UA_QualifiedName_copy(&srchead->browseName, &dsthead->browseName); - - /* Copy the display name in several languages */ - for(UA_LocalizedTextListEntry *lt = srchead->displayName; lt != NULL; lt = lt->next) { - UA_LocalizedTextListEntry *newEntry = (UA_LocalizedTextListEntry *) - UA_calloc(1, sizeof(UA_LocalizedTextListEntry)); - if(!newEntry) { - retval |= UA_STATUSCODE_BADOUTOFMEMORY; - break; - } - retval |= UA_LocalizedText_copy(<->localizedText, &newEntry->localizedText); - - /* Add to the linked list possibly in reverse order */ - newEntry->next = dsthead->displayName; - dsthead->displayName = newEntry; - } - - /* Copy the description in several languages */ - for(UA_LocalizedTextListEntry *lt = srchead->description; lt != NULL; lt = lt->next) { - UA_LocalizedTextListEntry *newEntry = (UA_LocalizedTextListEntry *) - UA_calloc(1, sizeof(UA_LocalizedTextListEntry)); - if(!newEntry) { - retval |= UA_STATUSCODE_BADOUTOFMEMORY; - break; - } - retval |= UA_LocalizedText_copy(<->localizedText, &newEntry->localizedText); - - /* Add to the linked list possibly in reverse order */ - newEntry->next = dsthead->description; - dsthead->description= newEntry; - } - - dsthead->writeMask = srchead->writeMask; - dsthead->context = srchead->context; - dsthead->constructed = srchead->constructed; -#ifdef UA_ENABLE_SUBSCRIPTIONS - dsthead->monitoredItems = srchead->monitoredItems; -#endif - if(retval != UA_STATUSCODE_GOOD) { - UA_Node_clear(dst); - return retval; - } - - /* Copy the references */ - dsthead->references = NULL; - if(srchead->referencesSize > 0) { - dsthead->references = (UA_NodeReferenceKind*) - UA_calloc(srchead->referencesSize, sizeof(UA_NodeReferenceKind)); - if(!dsthead->references) { - UA_Node_clear(dst); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - dsthead->referencesSize = srchead->referencesSize; - - for(size_t i = 0; i < srchead->referencesSize; ++i) { - UA_NodeReferenceKind *srefs = &srchead->references[i]; - UA_NodeReferenceKind *drefs = &dsthead->references[i]; - drefs->referenceTypeIndex = srefs->referenceTypeIndex; - drefs->isInverse = srefs->isInverse; - drefs->hasRefTree = srefs->hasRefTree; /* initially empty */ - - /* Copy all the targets */ - if(!srefs->hasRefTree) { - drefs->targets.array = (UA_ReferenceTarget*) - UA_malloc(sizeof(UA_ReferenceTarget) * srefs->targetsSize); - if(!drefs->targets.array) { - UA_Node_clear(dst); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - for(size_t j = 0; j < srefs->targetsSize; j++) { - drefs->targets.array[j].targetNameHash = - srefs->targets.array[j].targetNameHash; - retval = UA_NodePointer_copy(srefs->targets.array[j].targetId, - &drefs->targets.array[j].targetId); - drefs->targetsSize++; /* avoid that targetsSize == 0 in error case */ - if(retval != UA_STATUSCODE_GOOD) { - UA_Node_clear(dst); - return retval; - } - } - } else { - void *res = ZIP_ITER(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&srefs->targets.tree.idRoot, - copyTarget, drefs); - if(res != NULL) { - UA_Node_clear(dst); - return (UA_StatusCode)(uintptr_t)res; - } - } - - UA_assert(srefs->targetsSize > 0); - UA_assert(srefs->targetsSize == drefs->targetsSize); - } - } - - /* Copy unique content of the nodeclass */ - switch(src->head.nodeClass) { - case UA_NODECLASS_OBJECT: - retval = UA_ObjectNode_copy(&src->objectNode, &dst->objectNode); - break; - case UA_NODECLASS_VARIABLE: - retval = UA_VariableNode_copy(&src->variableNode, &dst->variableNode); - break; - case UA_NODECLASS_METHOD: - retval = UA_MethodNode_copy(&src->methodNode, &dst->methodNode); - break; - case UA_NODECLASS_OBJECTTYPE: - retval = UA_ObjectTypeNode_copy(&src->objectTypeNode, &dst->objectTypeNode); - break; - case UA_NODECLASS_VARIABLETYPE: - retval = UA_VariableTypeNode_copy(&src->variableTypeNode, &dst->variableTypeNode); - break; - case UA_NODECLASS_REFERENCETYPE: - retval = UA_ReferenceTypeNode_copy(&src->referenceTypeNode, &dst->referenceTypeNode); - break; - case UA_NODECLASS_DATATYPE: - retval = UA_DataTypeNode_copy(&src->dataTypeNode, &dst->dataTypeNode); - break; - case UA_NODECLASS_VIEW: - retval = UA_ViewNode_copy(&src->viewNode, &dst->viewNode); - break; - default: - break; - } - - if(retval != UA_STATUSCODE_GOOD) - UA_Node_clear(dst); - - return retval; -} - -UA_Node * -UA_Node_copy_alloc(const UA_Node *src) { - size_t nodesize = 0; - switch(src->head.nodeClass) { - case UA_NODECLASS_OBJECT: - nodesize = sizeof(UA_ObjectNode); - break; - case UA_NODECLASS_VARIABLE: - nodesize = sizeof(UA_VariableNode); - break; - case UA_NODECLASS_METHOD: - nodesize = sizeof(UA_MethodNode); - break; - case UA_NODECLASS_OBJECTTYPE: - nodesize = sizeof(UA_ObjectTypeNode); - break; - case UA_NODECLASS_VARIABLETYPE: - nodesize = sizeof(UA_VariableTypeNode); - break; - case UA_NODECLASS_REFERENCETYPE: - nodesize = sizeof(UA_ReferenceTypeNode); - break; - case UA_NODECLASS_DATATYPE: - nodesize = sizeof(UA_DataTypeNode); - break; - case UA_NODECLASS_VIEW: - nodesize = sizeof(UA_ViewNode); - break; - default: - return NULL; - } - - UA_Node *dst = (UA_Node*)UA_calloc(1, nodesize); - if(!dst) - return NULL; - - dst->head.nodeClass = src->head.nodeClass; - - UA_StatusCode retval = UA_Node_copy(src, dst); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(dst); - return NULL; - } - return dst; -} -/******************************/ -/* Copy Attributes into Nodes */ -/******************************/ - -static UA_StatusCode -copyStandardAttributes(UA_NodeHead *head, const UA_NodeAttributes *attr) { - /* UA_NodeId_copy(&item->requestedNewNodeId.nodeId, &node->nodeId); */ - /* UA_QualifiedName_copy(&item->browseName, &node->browseName); */ - - head->writeMask = attr->writeMask; - UA_StatusCode retval = UA_Node_insertOrUpdateDescription(head, &attr->description); - /* The new nodeset format has optional display names: - * https://github.com/open62541/open62541/issues/2627. If the display name - * is NULL, take the name part of the browse name */ - if(attr->displayName.text.length == 0) { - UA_LocalizedText lt; - UA_LocalizedText_init(<); - lt.text = head->browseName.name; - retval |= UA_Node_insertOrUpdateDisplayName(head, <); - } else - retval |= UA_Node_insertOrUpdateDisplayName(head, &attr->displayName); - return retval; -} - -static UA_StatusCode -copyCommonVariableAttributes(UA_VariableNode *node, - const UA_VariableAttributes *attr) { - /* Copy the array dimensions */ - UA_StatusCode retval = - UA_Array_copy(attr->arrayDimensions, attr->arrayDimensionsSize, - (void**)&node->arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - node->arrayDimensionsSize = attr->arrayDimensionsSize; - - /* Data type and value rank */ - retval = UA_NodeId_copy(&attr->dataType, &node->dataType); - if(retval != UA_STATUSCODE_GOOD) - return retval; - node->valueRank = attr->valueRank; - - /* Copy the value */ - retval = UA_Variant_copy(&attr->value, &node->value.data.value.value); - node->valueSource = UA_VALUESOURCE_DATA; - node->value.data.value.hasValue = (node->value.data.value.value.type != NULL); - - return retval; -} - -static UA_StatusCode -copyVariableNodeAttributes(UA_VariableNode *vnode, - const UA_VariableAttributes *attr) { - vnode->accessLevel = attr->accessLevel; - vnode->historizing = attr->historizing; - vnode->minimumSamplingInterval = attr->minimumSamplingInterval; - return copyCommonVariableAttributes(vnode, attr); -} - -static UA_StatusCode -copyVariableTypeNodeAttributes(UA_VariableTypeNode *vtnode, - const UA_VariableTypeAttributes *attr) { - vtnode->isAbstract = attr->isAbstract; - return copyCommonVariableAttributes((UA_VariableNode*)vtnode, - (const UA_VariableAttributes*)attr); -} - -static UA_StatusCode -copyObjectNodeAttributes(UA_ObjectNode *onode, const UA_ObjectAttributes *attr) { - onode->eventNotifier = attr->eventNotifier; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copyReferenceTypeNodeAttributes(UA_ReferenceTypeNode *rtnode, - const UA_ReferenceTypeAttributes *attr) { - rtnode->isAbstract = attr->isAbstract; - rtnode->symmetric = attr->symmetric; - return UA_LocalizedText_copy(&attr->inverseName, &rtnode->inverseName); -} - -static UA_StatusCode -copyObjectTypeNodeAttributes(UA_ObjectTypeNode *otnode, - const UA_ObjectTypeAttributes *attr) { - otnode->isAbstract = attr->isAbstract; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copyViewNodeAttributes(UA_ViewNode *vnode, const UA_ViewAttributes *attr) { - vnode->containsNoLoops = attr->containsNoLoops; - vnode->eventNotifier = attr->eventNotifier; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copyDataTypeNodeAttributes(UA_DataTypeNode *dtnode, - const UA_DataTypeAttributes *attr) { - dtnode->isAbstract = attr->isAbstract; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -copyMethodNodeAttributes(UA_MethodNode *mnode, - const UA_MethodAttributes *attr) { - mnode->executable = attr->executable; - return UA_STATUSCODE_GOOD; -} - -#define CHECK_ATTRIBUTES(TYPE) \ - if(attributeType != &UA_TYPES[UA_TYPES_##TYPE]) { \ - retval = UA_STATUSCODE_BADNODEATTRIBUTESINVALID; \ - break; \ - } - -UA_StatusCode -UA_Node_setAttributes(UA_Node *node, const void *attributes, const UA_DataType *attributeType) { - /* Copy the attributes into the node */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - switch(node->head.nodeClass) { - case UA_NODECLASS_OBJECT: - CHECK_ATTRIBUTES(OBJECTATTRIBUTES); - retval = copyObjectNodeAttributes(&node->objectNode, - (const UA_ObjectAttributes*)attributes); - break; - case UA_NODECLASS_VARIABLE: - CHECK_ATTRIBUTES(VARIABLEATTRIBUTES); - retval = copyVariableNodeAttributes(&node->variableNode, - (const UA_VariableAttributes*)attributes); - break; - case UA_NODECLASS_OBJECTTYPE: - CHECK_ATTRIBUTES(OBJECTTYPEATTRIBUTES); - retval = copyObjectTypeNodeAttributes(&node->objectTypeNode, - (const UA_ObjectTypeAttributes*)attributes); - break; - case UA_NODECLASS_VARIABLETYPE: - CHECK_ATTRIBUTES(VARIABLETYPEATTRIBUTES); - retval = copyVariableTypeNodeAttributes(&node->variableTypeNode, - (const UA_VariableTypeAttributes*)attributes); - break; - case UA_NODECLASS_REFERENCETYPE: - CHECK_ATTRIBUTES(REFERENCETYPEATTRIBUTES); - retval = copyReferenceTypeNodeAttributes(&node->referenceTypeNode, - (const UA_ReferenceTypeAttributes*)attributes); - break; - case UA_NODECLASS_DATATYPE: - CHECK_ATTRIBUTES(DATATYPEATTRIBUTES); - retval = copyDataTypeNodeAttributes(&node->dataTypeNode, - (const UA_DataTypeAttributes*)attributes); - break; - case UA_NODECLASS_VIEW: - CHECK_ATTRIBUTES(VIEWATTRIBUTES); - retval = copyViewNodeAttributes(&node->viewNode, (const UA_ViewAttributes*)attributes); - break; - case UA_NODECLASS_METHOD: - CHECK_ATTRIBUTES(METHODATTRIBUTES); - retval = copyMethodNodeAttributes(&node->methodNode, (const UA_MethodAttributes*)attributes); - break; - case UA_NODECLASS_UNSPECIFIED: - default: - retval = UA_STATUSCODE_BADNODECLASSINVALID; - } - - if(retval == UA_STATUSCODE_GOOD) - retval = copyStandardAttributes(&node->head, (const UA_NodeAttributes*)attributes); - if(retval != UA_STATUSCODE_GOOD) - UA_Node_clear(node); - return retval; -} - -/*********************/ -/* Manage References */ -/*********************/ - -static UA_StatusCode -addReferenceTargetToTree(UA_NodeReferenceKind *rk, UA_NodePointer targetId, - UA_UInt32 targetIdHash, UA_UInt32 targetNameHash) { - UA_ReferenceTargetTreeElem *entry = (UA_ReferenceTargetTreeElem*) - UA_malloc(sizeof(UA_ReferenceTargetTreeElem)); - if(!entry) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_StatusCode res = UA_NodePointer_copy(targetId, &entry->target.targetId); - if(res != UA_STATUSCODE_GOOD) { - UA_free(entry); - return res; - } - - entry->targetIdHash = targetIdHash; - entry->target.targetNameHash = targetNameHash; - - ZIP_INSERT(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&rk->targets.tree.idRoot, entry); - ZIP_INSERT(UA_ReferenceNameTree, - (UA_ReferenceNameTree*)&rk->targets.tree.nameRoot, entry); - - rk->targetsSize++; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -addReferenceTarget(UA_NodeReferenceKind *rk, UA_NodePointer targetId, - UA_UInt32 targetNameHash) { - /* Insert into tree */ - if(rk->hasRefTree) { - UA_ExpandedNodeId en = UA_NodePointer_toExpandedNodeId(targetId); - return addReferenceTargetToTree(rk, targetId, UA_ExpandedNodeId_hash(&en), - targetNameHash); - } - - /* Insert to the array */ - UA_ReferenceTarget *newRefs = (UA_ReferenceTarget*) - UA_realloc(rk->targets.array, - sizeof(UA_ReferenceTarget) * (rk->targetsSize + 1)); - if(!newRefs) - return UA_STATUSCODE_BADOUTOFMEMORY; - rk->targets.array = newRefs; - - UA_StatusCode retval = - UA_NodePointer_copy(targetId, - &rk->targets.array[rk->targetsSize].targetId); - rk->targets.array[rk->targetsSize].targetNameHash = targetNameHash; - if(retval != UA_STATUSCODE_GOOD) { - if(rk->targetsSize == 0) { - UA_free(rk->targets.array); - rk->targets.array = NULL; - } - return retval; - } - - rk->targetsSize++; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -addReferenceKind(UA_NodeHead *head, UA_Byte refTypeIndex, UA_Boolean isForward, - const UA_NodePointer target, UA_UInt32 targetBrowseNameHash) { - UA_NodeReferenceKind *refs = (UA_NodeReferenceKind*) - UA_realloc(head->references, - sizeof(UA_NodeReferenceKind) * (head->referencesSize+1)); - if(!refs) - return UA_STATUSCODE_BADOUTOFMEMORY; - head->references = refs; - - UA_NodeReferenceKind *newRef = &refs[head->referencesSize]; - memset(newRef, 0, sizeof(UA_NodeReferenceKind)); - newRef->referenceTypeIndex = refTypeIndex; - newRef->isInverse = !isForward; - UA_StatusCode res = addReferenceTarget(newRef, target, targetBrowseNameHash); - if(res != UA_STATUSCODE_GOOD) { - if(head->referencesSize == 0) { - UA_free(head->references); - head->references = NULL; - } - return res; - } - - head->referencesSize++; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Node_addReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, - const UA_ExpandedNodeId *targetNodeId, - UA_UInt32 targetBrowseNameHash) { - /* Find the matching reference kind */ - for(size_t i = 0; i < node->head.referencesSize; ++i) { - UA_NodeReferenceKind *refs = &node->head.references[i]; - - /* Reference direction does not match */ - if(refs->isInverse == isForward) - continue; - - /* Reference type does not match */ - if(refs->referenceTypeIndex != refTypeIndex) - continue; - - /* Does an identical reference already exist? */ - const UA_ReferenceTarget *found = - UA_NodeReferenceKind_findTarget(refs, targetNodeId); - if(found) - return UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED; - - /* Add to existing ReferenceKind */ - return addReferenceTarget(refs, UA_NodePointer_fromExpandedNodeId(targetNodeId), - targetBrowseNameHash); - } - - /* Add new ReferenceKind for the target */ - return addReferenceKind(&node->head, refTypeIndex, isForward, - UA_NodePointer_fromExpandedNodeId(targetNodeId), - targetBrowseNameHash); - -} - -UA_StatusCode -UA_Node_deleteReference(UA_Node *node, UA_Byte refTypeIndex, UA_Boolean isForward, - const UA_ExpandedNodeId *targetNodeId) { - UA_NodeHead *head = &node->head; - for(size_t i = 0; i < head->referencesSize; i++) { - UA_NodeReferenceKind *refs = &head->references[i]; - if(isForward == refs->isInverse) - continue; - if(refTypeIndex != refs->referenceTypeIndex) - continue; - - /* Cast out the const qualifier (hack!) */ - UA_ReferenceTarget *target = (UA_ReferenceTarget*)(uintptr_t) - UA_NodeReferenceKind_findTarget(refs, targetNodeId); - if(!target) - continue; - - /* Ok, delete the reference. Cannot fail */ - refs->targetsSize--; - - if(!refs->hasRefTree) { - /* Remove from array */ - UA_NodePointer_clear(&target->targetId); - - /* Elements remaining. Realloc. */ - if(refs->targetsSize > 0) { - if(target != &refs->targets.array[refs->targetsSize]) - *target = refs->targets.array[refs->targetsSize]; - UA_ReferenceTarget *newRefs = (UA_ReferenceTarget*) - UA_realloc(refs->targets.array, - sizeof(UA_ReferenceTarget) * refs->targetsSize); - if(newRefs) - refs->targets.array = newRefs; - return UA_STATUSCODE_GOOD; /* Realloc allowed to fail */ - } - - /* Remove the last target. Remove the ReferenceKind below */ - UA_free(refs->targets.array); - } else { - UA_ReferenceTargetTreeElem *elem = (UA_ReferenceTargetTreeElem*)target; - ZIP_REMOVE(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&refs->targets.tree.idRoot, elem); - ZIP_REMOVE(UA_ReferenceNameTree, - (UA_ReferenceNameTree*)&refs->targets.tree.nameRoot, elem); - UA_NodePointer_clear(&target->targetId); - UA_free(target); - if(refs->targetsSize > 0) - return UA_STATUSCODE_GOOD; - } - - /* No targets remaining. Remove the ReferenceKind. */ - head->referencesSize--; - if(head->referencesSize > 0) { - /* No target for the ReferenceType remaining. Remove and shrink down - * allocated buffer. Ignore errors in case memory buffer could not - * be shrinked down. */ - if(i != head->referencesSize) - head->references[i] = head->references[node->head.referencesSize]; - UA_NodeReferenceKind *newRefs = (UA_NodeReferenceKind*) - UA_realloc(head->references, - sizeof(UA_NodeReferenceKind) * head->referencesSize); - if(newRefs) - head->references = newRefs; - } else { - /* No remaining references of any ReferenceType */ - UA_free(head->references); - head->references = NULL; - } - return UA_STATUSCODE_GOOD; - } - return UA_STATUSCODE_UNCERTAINREFERENCENOTDELETED; -} - -void -UA_Node_deleteReferencesSubset(UA_Node *node, const UA_ReferenceTypeSet *keepSet) { - UA_NodeHead *head = &node->head; - for(size_t i = 0; i < head->referencesSize; i++) { - /* Keep the references of this type? */ - UA_NodeReferenceKind *refs = &head->references[i]; - if(UA_ReferenceTypeSet_contains(keepSet, refs->referenceTypeIndex)) - continue; - - /* Remove all target entries. Don't remove entries from browseName tree. - * The entire ReferenceKind will be removed anyway. */ - if(!refs->hasRefTree) { - for(size_t j = 0; j < refs->targetsSize; j++) - UA_NodePointer_clear(&refs->targets.array[j].targetId); - UA_free(refs->targets.array); - } else { - ZIP_ITER(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&refs->targets.tree.idRoot, - removeTreeEntry, NULL); - } - - /* Move last references-kind entry to this position. Don't memcpy over - * the same position. Decrease i to repeat at this location. */ - head->referencesSize--; - if(i != head->referencesSize) { - head->references[i] = head->references[head->referencesSize]; - i--; - } - } - - if(head->referencesSize > 0) { - /* Realloc to save memory. Ignore if realloc fails. */ - UA_NodeReferenceKind *refs = (UA_NodeReferenceKind*) - UA_realloc(head->references, - sizeof(UA_NodeReferenceKind) * head->referencesSize); - if(refs) - head->references = refs; - } else { - /* The array is empty. Remove. */ - UA_free(head->references); - head->references = NULL; - } -} - -void UA_Node_deleteReferences(UA_Node *node) { - UA_ReferenceTypeSet noRefs; - UA_ReferenceTypeSet_init(&noRefs); - UA_Node_deleteReferencesSubset(node, &noRefs); -} - -static UA_StatusCode -UA_Node_insertOrUpdateLocale(UA_LocalizedTextListEntry **root, - const UA_LocalizedText *value) { - UA_StatusCode res; - UA_LocalizedTextListEntry *lt, *prev = NULL; - for(lt = *root; lt != NULL; prev = lt, lt = lt->next) { - if(!UA_String_equal(&value->locale, <->localizedText.locale)) - continue; - - /* No text -> remove the entry for this locale */ - if(value->text.length == 0) { - if(prev == NULL) - *root = lt->next; - else - prev->next = lt->next; - UA_LocalizedText_clear(<->localizedText); - UA_free(lt); - return UA_STATUSCODE_GOOD; - } - - /* First make a copy of the text, if this succeeds replace the old - * version */ - UA_String tmp; - res = UA_String_copy(&value->text, &tmp); - if(res != UA_STATUSCODE_GOOD) - return res; - - UA_String_clear(<->localizedText.text); - lt->localizedText.text = tmp; - return UA_STATUSCODE_GOOD; - } - - /* The locale does not exist so far */ - - /* Do nothing if a non-existing locale should be removed */ - if(value->text.length == 0) - return UA_STATUSCODE_GOOD; - - /* Add a new localized text */ - lt = (UA_LocalizedTextListEntry *)UA_malloc(sizeof(UA_LocalizedTextListEntry)); - if(!lt) - return UA_STATUSCODE_BADOUTOFMEMORY; - - res = UA_LocalizedText_copy(value, <->localizedText); - if(res != UA_STATUSCODE_GOOD) { - UA_free(lt); - return res; - } - - lt->next = *root; - *root = lt; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Node_insertOrUpdateDisplayName(UA_NodeHead *head, - const UA_LocalizedText *value) { - return UA_Node_insertOrUpdateLocale(&head->displayName, value); -} - -UA_StatusCode -UA_Node_insertOrUpdateDescription(UA_NodeHead *head, - const UA_LocalizedText *value) { - return UA_Node_insertOrUpdateLocale(&head->description, value); -} - -/**** amalgamated original file "/src/server/ua_server.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015 (c) LEvertz - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016 (c) Julian Grothoff - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) Lorenz Haas - * Copyright 2017 (c) frax2222 - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Martin Lang) - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - * Copyright 2022 (c) Fraunhofer IOSB (Author: Andreas Ebner) - */ - - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -#endif - -#ifdef UA_ENABLE_SUBSCRIPTIONS -#endif - -#ifdef UA_ENABLE_NODESET_INJECTOR -#endif - -/**********************/ -/* Namespace Handling */ -/**********************/ - -/* The NS1 Uri can be changed by the user to some custom string. This method is - * called to initialize the NS1 Uri if it is not set before to the default - * Application URI. - * - * This is done as soon as the Namespace Array is read or written via node value - * read / write services, or UA_Server_addNamespace, or UA_Server_getNamespaceByIndex - * UA_Server_getNamespaceByName or UA_Server_run_startup is called. - * - * Therefore one has to set the custom NS1 URI before one of the previously - * mentioned steps. */ - -void -setupNs1Uri(UA_Server *server) { - if(!server->namespaces[1].data) { - UA_String_copy(&server->config.applicationDescription.applicationUri, - &server->namespaces[1]); - } -} - -UA_UInt16 addNamespace(UA_Server *server, const UA_String name) { - /* ensure that the uri for ns1 is set up from the app description */ - setupNs1Uri(server); - - /* Check if the namespace already exists in the server's namespace array */ - for(size_t i = 0; i < server->namespacesSize; ++i) { - if(UA_String_equal(&name, &server->namespaces[i])) - return (UA_UInt16) i; - } - - /* Make the array bigger */ - UA_String *newNS = (UA_String*)UA_realloc(server->namespaces, - sizeof(UA_String) * (server->namespacesSize + 1)); - UA_CHECK_MEM(newNS, return 0); - - server->namespaces = newNS; - - /* Copy the namespace string */ - UA_StatusCode retval = UA_String_copy(&name, &server->namespaces[server->namespacesSize]); - UA_CHECK_STATUS(retval, return 0); - - /* Announce the change (otherwise, the array appears unchanged) */ - ++server->namespacesSize; - return (UA_UInt16)(server->namespacesSize - 1); -} - -UA_UInt16 UA_Server_addNamespace(UA_Server *server, const char* name) { - /* Override const attribute to get string (dirty hack) */ - UA_String nameString; - nameString.length = strlen(name); - nameString.data = (UA_Byte*)(uintptr_t)name; - lockServer(server); - UA_UInt16 retVal = addNamespace(server, nameString); - unlockServer(server); - return retVal; -} - -UA_ServerConfig* -UA_Server_getConfig(UA_Server *server) { - UA_CHECK_MEM(server, return NULL); - return &server->config; -} - -UA_StatusCode -getNamespaceByName(UA_Server *server, const UA_String namespaceUri, - size_t *foundIndex) { - /* ensure that the uri for ns1 is set up from the app description */ - setupNs1Uri(server); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - for(size_t idx = 0; idx < server->namespacesSize; idx++) { - if(UA_String_equal(&server->namespaces[idx], &namespaceUri)) { - (*foundIndex) = idx; - res = UA_STATUSCODE_GOOD; - break; - } - } - return res; -} - -UA_StatusCode -getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, - UA_String *foundUri) { - /* ensure that the uri for ns1 is set up from the app description */ - setupNs1Uri(server); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(namespaceIndex >= server->namespacesSize) - return res; - res = UA_String_copy(&server->namespaces[namespaceIndex], foundUri); - return res; -} - -UA_StatusCode -UA_Server_getNamespaceByName(UA_Server *server, const UA_String namespaceUri, - size_t *foundIndex) { - lockServer(server); - UA_StatusCode res = getNamespaceByName(server, namespaceUri, foundIndex); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_getNamespaceByIndex(UA_Server *server, const size_t namespaceIndex, - UA_String *foundUri) { - lockServer(server); - UA_StatusCode res = getNamespaceByIndex(server, namespaceIndex, foundUri); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_forEachChildNodeCall(UA_Server *server, UA_NodeId parentNodeId, - UA_NodeIteratorCallback callback, void *handle) { - UA_BrowseDescription bd; - UA_BrowseDescription_init(&bd); - bd.nodeId = parentNodeId; - bd.browseDirection = UA_BROWSEDIRECTION_BOTH; - bd.resultMask = UA_BROWSERESULTMASK_REFERENCETYPEID | UA_BROWSERESULTMASK_ISFORWARD; - - UA_BrowseResult br = UA_Server_browse(server, 0, &bd); - UA_StatusCode res = br.statusCode; - UA_CHECK_STATUS(res, goto cleanup); - - for(size_t i = 0; i < br.referencesSize; i++) { - if(!UA_ExpandedNodeId_isLocal(&br.references[i].nodeId)) - continue; - res = callback(br.references[i].nodeId.nodeId, !br.references[i].isForward, - br.references[i].referenceTypeId, handle); - UA_CHECK_STATUS(res, goto cleanup); - } -cleanup: - UA_BrowseResult_clear(&br); - return res; -} - -/*********************/ -/* Server Components */ -/*********************/ - -enum ZIP_CMP -cmpServerComponent(const UA_UInt64 *a, const UA_UInt64 *b) { - if(*a == *b) - return ZIP_CMP_EQ; - return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; -} - -void -addServerComponent(UA_Server *server, UA_ServerComponent *sc, - UA_UInt64 *identifier) { - if(!sc) - return; - - sc->identifier = ++server->serverComponentIds; - ZIP_INSERT(UA_ServerComponentTree, &server->serverComponents, sc); - - /* Start the component if the server is started */ - if(server->state == UA_LIFECYCLESTATE_STARTED && sc->start) - sc->start(server, sc); - - if(identifier) - *identifier = sc->identifier; -} - -static void * -findServerComponent(void *context, UA_ServerComponent *sc) { - UA_String *name = (UA_String*)context; - return (UA_String_equal(&sc->name, name)) ? sc : NULL; -} - -UA_ServerComponent * -getServerComponentByName(UA_Server *server, UA_String name) { - return (UA_ServerComponent*) - ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, - findServerComponent, &name); -} - -static void * -removeServerComponent(void *application, UA_ServerComponent *sc) { - UA_assert(sc->state == UA_LIFECYCLESTATE_STOPPED); - sc->free((UA_Server*)application, sc); - return NULL; -} - -static void * -startServerComponent(void *application, UA_ServerComponent *sc) { - sc->start((UA_Server*)application, sc); - return NULL; -} - -static void * -stopServerComponent(void *application, UA_ServerComponent *sc) { - sc->stop((UA_Server*)application, sc); - return NULL; -} - -/* ZIP_ITER returns NULL only if all components are stopped */ -static void * -checkServerComponent(void *application, UA_ServerComponent *sc) { - return (sc->state == UA_LIFECYCLESTATE_STOPPED) ? NULL : (void*)0x01; -} - -/********************/ -/* Server Lifecycle */ -/********************/ - -/* The server needs to be stopped before it can be deleted */ -UA_StatusCode -UA_Server_delete(UA_Server *server) { - if(server == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - if(server->state != UA_LIFECYCLESTATE_STOPPED) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "The server must be fully stopped before it can be deleted"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - lockServer(server); - - session_list_entry *current, *temp; - LIST_FOREACH_SAFE(current, &server->sessions, pointers, temp) { - UA_Server_removeSession(server, current, UA_SHUTDOWNREASON_CLOSE); - } - UA_Array_delete(server->namespaces, server->namespacesSize, &UA_TYPES[UA_TYPES_STRING]); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_MonitoredItem *mon, *mon_tmp; - LIST_FOREACH_SAFE(mon, &server->localMonitoredItems, listEntry, mon_tmp) { - LIST_REMOVE(mon, listEntry); - UA_MonitoredItem_delete(server, mon); - } - - /* Remove subscriptions without a session */ - UA_Subscription *sub, *sub_tmp; - LIST_FOREACH_SAFE(sub, &server->subscriptions, serverListEntry, sub_tmp) { - UA_Subscription_delete(server, sub); - } - UA_assert(server->monitoredItemsSize == 0); - UA_assert(server->subscriptionsSize == 0); - -#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS - UA_ConditionList_delete(server); -#endif - -#endif - -#ifdef UA_ENABLE_PUBSUB - UA_PubSubManager_delete(server, &server->pubSubManager); -#endif - -#if UA_MULTITHREADING >= 100 - UA_AsyncManager_clear(&server->asyncManager, server); -#endif - - /* Clean up the Admin Session */ - UA_Session_clear(&server->adminSession, server); - - /* Remove all remaining server components (must be all stopped) */ - ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, - removeServerComponent, server); - - unlockServer(server); /* The timer has its own mutex */ - - /* Clean up the config */ - UA_ServerConfig_clean(&server->config); - -#if UA_MULTITHREADING >= 100 - UA_LOCK_DESTROY(&server->serviceMutex); -#endif - - /* Delete the server itself and return */ - UA_free(server); - return UA_STATUSCODE_GOOD; -} - -/* Regular house-keeping tasks. Removing unused and timed-out channels and - * sessions. */ -static void -serverHouseKeeping(UA_Server *server, void *_) { - lockServer(server); - UA_DateTime nowMonotonic = UA_DateTime_nowMonotonic(); - UA_Server_cleanupSessions(server, nowMonotonic); - unlockServer(server); -} - -/********************/ -/* Server Lifecycle */ -/********************/ - -static -UA_INLINE -UA_Boolean UA_Server_NodestoreIsConfigured(UA_Server *server) { - return server->config.nodestore.getNode != NULL; -} - -static UA_Server * -UA_Server_init(UA_Server *server) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_CHECK_FATAL(UA_Server_NodestoreIsConfigured(server), goto cleanup, - server->config.logging, UA_LOGCATEGORY_SERVER, - "No Nodestore configured in the server"); - - /* Init start time to zero, the actual start time will be sampled in - * UA_Server_run_startup() */ - server->startTime = 0; - - /* Set a seed for non-cyptographic randomness */ -#ifndef UA_ENABLE_DETERMINISTIC_RNG - UA_random_seed((UA_UInt64)UA_DateTime_now()); -#endif - - UA_LOCK_INIT(&server->serviceMutex); - lockServer(server); - - /* Initialize the adminSession */ - UA_Session_init(&server->adminSession); - server->adminSession.sessionId.identifierType = UA_NODEIDTYPE_GUID; - server->adminSession.sessionId.identifier.guid.data1 = 1; - server->adminSession.validTill = UA_INT64_MAX; - server->adminSession.sessionName = UA_STRING_ALLOC("Administrator"); - - /* Create Namespaces 0 and 1 - * Ns1 will be filled later with the uri from the app description */ - server->namespaces = (UA_String *)UA_Array_new(2, &UA_TYPES[UA_TYPES_STRING]); - UA_CHECK_MEM(server->namespaces, goto cleanup); - - server->namespaces[0] = UA_STRING_ALLOC("http://opcfoundation.org/UA/"); - server->namespaces[1] = UA_STRING_NULL; - server->namespacesSize = 2; - - /* Initialize Session Management */ - LIST_INIT(&server->sessions); - server->sessionCount = 0; - -#if UA_MULTITHREADING >= 100 - UA_AsyncManager_init(&server->asyncManager, server); -#endif - - /* Initialize the binay protocol support */ - addServerComponent(server, UA_BinaryProtocolManager_new(server), NULL); - - /* Initialized discovery */ -#ifdef UA_ENABLE_DISCOVERY - addServerComponent(server, UA_DiscoveryManager_new(server), NULL); -#endif - - /* Initialize namespace 0*/ - res = initNS0(server); - UA_CHECK_STATUS(res, goto cleanup); - -#ifdef UA_ENABLE_NODESET_INJECTOR - res = UA_Server_injectNodesets(server); - UA_CHECK_STATUS(res, goto cleanup); -#endif - -#ifdef UA_ENABLE_PUBSUB - /* Initialized PubSubManager */ - UA_PubSubManager_init(server, &server->pubSubManager); - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - /* Build PubSub information model */ - initPubSubNS0(server); -#endif - -#ifdef UA_ENABLE_PUBSUB_MONITORING - /* setup default PubSub monitoring callbacks */ - res = UA_PubSubManager_setDefaultMonitoringCallbacks(&server->config.pubSubConfig.monitoringInterface); - UA_CHECK_STATUS(res, goto cleanup); -#endif /* UA_ENABLE_PUBSUB_MONITORING */ -#endif /* UA_ENABLE_PUBSUB */ - - unlockServer(server); - return server; - - cleanup: - unlockServer(server); - UA_Server_delete(server); - return NULL; -} - -UA_Server * -UA_Server_newWithConfig(UA_ServerConfig *config) { - UA_CHECK_MEM(config, return NULL); - - UA_CHECK_LOG(config->eventLoop != NULL, return NULL, ERROR, - config->logging, UA_LOGCATEGORY_SERVER, "No EventLoop configured"); - - UA_Server *server = (UA_Server *)UA_calloc(1, sizeof(UA_Server)); - UA_CHECK_MEM(server, UA_ServerConfig_clean(config); return NULL); - - server->config = *config; - - /* If not defined, set logging to what the server has */ - if(!server->config.secureChannelPKI.logging) - server->config.secureChannelPKI.logging = server->config.logging; - if(!server->config.sessionPKI.logging) - server->config.sessionPKI.logging = server->config.logging; - - /* Reset the old config */ - memset(config, 0, sizeof(UA_ServerConfig)); - return UA_Server_init(server); -} - -/* Returns if the server should be shut down immediately */ -static UA_Boolean -setServerShutdown(UA_Server *server) { - if(server->endTime != 0) - return false; - if(server->config.shutdownDelay == 0) - return true; - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Shutting down the server with a delay of %i ms", (int)server->config.shutdownDelay); - server->endTime = UA_DateTime_now() + (UA_DateTime)(server->config.shutdownDelay * UA_DATETIME_MSEC); - return false; -} - -/*******************/ -/* Timed Callbacks */ -/*******************/ - -UA_StatusCode -UA_Server_addTimedCallback(UA_Server *server, UA_ServerCallback callback, - void *data, UA_DateTime date, UA_UInt64 *callbackId) { - lockServer(server); - UA_StatusCode retval = server->config.eventLoop-> - addTimedCallback(server->config.eventLoop, (UA_Callback)callback, - server, data, date, callbackId); - unlockServer(server); - return retval; -} - -UA_StatusCode -addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, - void *data, UA_Double interval_ms, UA_UInt64 *callbackId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return server->config.eventLoop-> - addCyclicCallback(server->config.eventLoop, (UA_Callback) callback, - server, data, interval_ms, NULL, - UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, callbackId); -} - -UA_StatusCode -UA_Server_addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, - void *data, UA_Double interval_ms, - UA_UInt64 *callbackId) { - lockServer(server); - UA_StatusCode res = addRepeatedCallback(server, callback, data, interval_ms, callbackId); - unlockServer(server); - return res; -} - -UA_StatusCode -changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, - UA_Double interval_ms) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return server->config.eventLoop-> - modifyCyclicCallback(server->config.eventLoop, callbackId, interval_ms, - NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME); -} - -UA_StatusCode -UA_Server_changeRepeatedCallbackInterval(UA_Server *server, UA_UInt64 callbackId, - UA_Double interval_ms) { - lockServer(server); - UA_StatusCode retval = - changeRepeatedCallbackInterval(server, callbackId, interval_ms); - unlockServer(server); - return retval; -} - -void -removeCallback(UA_Server *server, UA_UInt64 callbackId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_EventLoop *el = server->config.eventLoop; - if(el) { - el->removeCyclicCallback(el, callbackId); - } -} - -void -UA_Server_removeCallback(UA_Server *server, UA_UInt64 callbackId) { - lockServer(server); - removeCallback(server, callbackId); - unlockServer(server); -} - -static void -notifySecureChannelsStopped(UA_Server *server, struct UA_ServerComponent *sc, - UA_LifecycleState state) { - if(sc->state == UA_LIFECYCLESTATE_STOPPED && - server->state == UA_LIFECYCLESTATE_STARTED) { - sc->notifyState = NULL; /* remove the callback */ - sc->start(server, sc); - } -} - -UA_StatusCode -UA_Server_updateCertificate(UA_Server *server, - const UA_ByteString *oldCertificate, - const UA_ByteString *newCertificate, - const UA_ByteString *newPrivateKey, - UA_Boolean closeSessions, - UA_Boolean closeSecureChannels) { - UA_CHECK(server && oldCertificate && newCertificate && newPrivateKey, - return UA_STATUSCODE_BADINTERNALERROR); - - lockServer(server); - - if(closeSessions) { - session_list_entry *current; - LIST_FOREACH(current, &server->sessions, pointers) { - UA_SessionHeader *header = ¤t->session.header; - if(UA_ByteString_equal(oldCertificate, &header->channel->securityPolicy->localCertificate)) - UA_Server_removeSessionByToken(server, &header->authenticationToken, - UA_SHUTDOWNREASON_CLOSE); - } - } - - /* Gracefully close all SecureChannels. And restart the - * BinaryProtocolManager once it has fully stopped. */ - if(closeSecureChannels) { - UA_ServerComponent *binaryProtocolManager = - getServerComponentByName(server, UA_STRING("binary")); - if(binaryProtocolManager) { - binaryProtocolManager->notifyState = notifySecureChannelsStopped; - binaryProtocolManager->stop(server, binaryProtocolManager); - } - } - - size_t i = 0; - UA_StatusCode res = UA_STATUSCODE_GOOD; - while(i < server->config.endpointsSize) { - UA_EndpointDescription *ed = &server->config.endpoints[i]; - if(UA_ByteString_equal(&ed->serverCertificate, oldCertificate)) { - UA_String_clear(&ed->serverCertificate); - UA_String_copy(newCertificate, &ed->serverCertificate); - UA_SecurityPolicy *sp = getSecurityPolicyByUri(server, - &server->config.endpoints[i].securityPolicyUri); - if(!sp) { - res = UA_STATUSCODE_BADINTERNALERROR; - break; - } - sp->updateCertificateAndPrivateKey(sp, *newCertificate, *newPrivateKey); - } - i++; - } - - unlockServer(server); - - return res; -} - -/***************************/ -/* Server lookup functions */ -/***************************/ - -UA_SecurityPolicy * -getSecurityPolicyByUri(const UA_Server *server, const UA_ByteString *securityPolicyUri) { - for(size_t i = 0; i < server->config.securityPoliciesSize; i++) { - UA_SecurityPolicy *securityPolicyCandidate = &server->config.securityPolicies[i]; - if(UA_ByteString_equal(securityPolicyUri, &securityPolicyCandidate->policyUri)) - return securityPolicyCandidate; - } - return NULL; -} - -#ifdef UA_ENABLE_ENCRYPTION -/* The local ApplicationURI has to match the certificates of the - * SecurityPolicies */ -static UA_StatusCode -verifyServerApplicationURI(const UA_Server *server) { - const UA_String securityPolicyNoneUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - for(size_t i = 0; i < server->config.securityPoliciesSize; i++) { - UA_SecurityPolicy *sp = &server->config.securityPolicies[i]; - if(UA_String_equal(&sp->policyUri, &securityPolicyNoneUri) && (sp->localCertificate.length == 0)) - continue; - UA_StatusCode retval = server->config.secureChannelPKI. - verifyApplicationURI(&server->config.secureChannelPKI, - &sp->localCertificate, - &server->config.applicationDescription.applicationUri); - - UA_CHECK_STATUS_ERROR(retval, return retval, server->config.logging, UA_LOGCATEGORY_SERVER, - "The configured ApplicationURI \"%.*s\"does not match the " - "ApplicationURI specified in the certificate for the " - "SecurityPolicy %.*s", - (int)server->config.applicationDescription.applicationUri.length, - server->config.applicationDescription.applicationUri.data, - (int)sp->policyUri.length, sp->policyUri.data); - } - return UA_STATUSCODE_GOOD; -} -#endif - -UA_ServerStatistics -UA_Server_getStatistics(UA_Server *server) { - UA_ServerStatistics stat; - lockServer(server); - stat.scs = server->secureChannelStatistics; - UA_ServerDiagnosticsSummaryDataType *sds = &server->serverDiagnosticsSummary; - stat.ss.currentSessionCount = server->activeSessionCount; - stat.ss.cumulatedSessionCount = sds->cumulatedSessionCount; - stat.ss.securityRejectedSessionCount = sds->securityRejectedSessionCount; - stat.ss.rejectedSessionCount = sds->rejectedSessionCount; - stat.ss.sessionTimeoutCount = sds->sessionTimeoutCount; - stat.ss.sessionAbortCount = sds->sessionAbortCount; - unlockServer(server); - return stat; -} - -/********************/ -/* Main Server Loop */ -/********************/ - -#define UA_MAXTIMEOUT 500 /* Max timeout in ms between main-loop iterations */ - -void -setServerLifecycleState(UA_Server *server, UA_LifecycleState state) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(server->state == state) - return; - server->state = state; - if(server->config.notifyLifecycleState) - server->config.notifyLifecycleState(server, server->state); -} - -UA_LifecycleState -UA_Server_getLifecycleState(UA_Server *server) { - return server->state; -} - -/* Start: Spin up the workers and the network layer and sample the server's - * start time. - * Iterate: Process repeated callbacks and events in the network layer. This - * part can be driven from an external main-loop in an event-driven - * single-threaded architecture. - * Stop: Stop workers, finish all callbacks, stop the network layer, clean up */ - -UA_StatusCode -UA_Server_run_startup(UA_Server *server) { - if(server == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - UA_ServerConfig *config = &server->config; - -#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION - /* Prominently warn user that fuzzing build is enabled. This will tamper - * with authentication tokens and other important variables E.g. if fuzzing - * is enabled, and two clients are connected, subscriptions do not work - * properly, since the tokens will be overridden to allow easier fuzzing. */ - UA_LOG_FATAL(server->config.logging, UA_LOGCATEGORY_SERVER, - "Server was built with unsafe fuzzing mode. " - "This should only be used for specific fuzzing builds."); -#endif - - if(server->state != UA_LIFECYCLESTATE_STOPPED) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "The server has already been started"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check if UserIdentityTokens are defined */ - bool hasUserIdentityTokens = false; - for(size_t i = 0; i < config->endpointsSize; i++) { - if(config->endpoints[i].userIdentityTokensSize > 0) { - hasUserIdentityTokens = true; - break; - } - } - if(config->accessControl.userTokenPoliciesSize == 0 && hasUserIdentityTokens == false) { - UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, - "The server has no userIdentificationPolicies defined."); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Start the EventLoop if not already started */ - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_EventLoop *el = config->eventLoop; - UA_CHECK_MEM_ERROR(el, return UA_STATUSCODE_BADINTERNALERROR, - config->logging, UA_LOGCATEGORY_SERVER, - "An EventLoop must be configured"); - - if(el->state != UA_EVENTLOOPSTATE_STARTED) { - retVal = el->start(el); - UA_CHECK_STATUS(retVal, return retVal); /* Errors are logged internally */ - } - - /* Take the server lock */ - lockServer(server); - - /* Does the ApplicationURI match the local certificates? */ -#ifdef UA_ENABLE_ENCRYPTION - retVal = verifyServerApplicationURI(server); - UA_CHECK_STATUS(retVal, unlockServer(server); return retVal); -#endif - - /* Are there enough SecureChannels possible for the max number of sessions? */ - if(config->maxSecureChannels != 0 && - (config->maxSessions == 0 || config->maxSessions > config->maxSecureChannels)) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "Maximum SecureChannels count not enough for the " - "maximum Sessions count"); - } - - /* Add a regular callback for housekeeping tasks. With a 1s interval. */ - retVal = addRepeatedCallback(server, serverHouseKeeping, - NULL, 1000.0, &server->houseKeepingCallbackId); - UA_CHECK_STATUS_ERROR(retVal, unlockServer(server); return retVal, - config->logging, UA_LOGCATEGORY_SERVER, - "Could not create the server housekeeping task"); - - /* Ensure that the uri for ns1 is set up from the app description */ - UA_String_clear(&server->namespaces[1]); - setupNs1Uri(server); - - /* At least one endpoint has to be configured */ - if(config->endpointsSize == 0) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "There has to be at least one endpoint."); - } - - /* Update Endpoint description */ - for(size_t i = 0; i < config->endpointsSize; ++i) { - UA_ApplicationDescription_clear(&config->endpoints[i].server); - UA_ApplicationDescription_copy(&config->applicationDescription, - &config->endpoints[i].server); - } - - /* Write ServerArray with same ApplicationUri value as NamespaceArray */ - UA_Variant var; - UA_Variant_init(&var); - UA_Variant_setArray(&var, &config->applicationDescription.applicationUri, - 1, &UA_TYPES[UA_TYPES_STRING]); - UA_NodeId serverArray = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERARRAY); - writeValueAttribute(server, serverArray, &var); - - /* Sample the start time and set it to the Server object */ - server->startTime = UA_DateTime_now(); - UA_Variant_init(&var); - UA_Variant_setScalar(&var, &server->startTime, &UA_TYPES[UA_TYPES_DATETIME]); - UA_NodeId startTime = - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_STARTTIME); - writeValueAttribute(server, startTime, &var); - - /* Start all ServerComponents */ - ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, - startServerComponent, server); - - /* Check that the binary protocol support component have been started */ - UA_ServerComponent *binaryProtocolManager = - getServerComponentByName(server, UA_STRING("binary")); - if(binaryProtocolManager->state != UA_LIFECYCLESTATE_STARTED) { - UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, - "The binary protocol support component could not been started."); - /* Stop all server components that have already been started */ - ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, - stopServerComponent, server); - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Set the server to STARTED. From here on, only use - * UA_Server_run_shutdown(server) to stop the server. */ - setServerLifecycleState(server, UA_LIFECYCLESTATE_STARTED); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -UA_UInt16 -UA_Server_run_iterate(UA_Server *server, UA_Boolean waitInternal) { - /* Make sure an EventLoop is configured */ - UA_EventLoop *el = server->config.eventLoop; - if(!el) - return 0; - - /* Process timed and network events in the EventLoop */ - UA_UInt32 timeout = (waitInternal) ? UA_MAXTIMEOUT : 0; - el->run(el, timeout); - - /* Return the time until the next scheduled callback */ - UA_DateTime now = el->dateTime_nowMonotonic(el); - UA_DateTime nextTimeout = (el->nextCyclicTime(el) - now) / UA_DATETIME_MSEC; - if(nextTimeout < 0) - nextTimeout = 0; - if(nextTimeout > UA_UINT16_MAX) - nextTimeout = UA_UINT16_MAX; - return (UA_UInt16)nextTimeout; -} - -static UA_Boolean -testShutdownCondition(UA_Server *server) { - /* Was there a wait time until the shutdown configured? */ - if(server->endTime == 0) - return false; - return (UA_DateTime_now() > server->endTime); -} - -static UA_Boolean -testStoppedCondition(UA_Server *server) { - /* Check if there are remaining server components that did not fully stop */ - if(ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, - checkServerComponent, server) != NULL) - return false; - return true; -} - -UA_StatusCode -UA_Server_run_shutdown(UA_Server *server) { - if(server == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - lockServer(server); - - if(server->state != UA_LIFECYCLESTATE_STARTED) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "The server is not started, cannot be shut down"); - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Set to stopping and notify the application */ - setServerLifecycleState(server, UA_LIFECYCLESTATE_STOPPING); - - /* Stop the regular housekeeping tasks */ - if(server->houseKeepingCallbackId != 0) { - removeCallback(server, server->houseKeepingCallbackId); - server->houseKeepingCallbackId = 0; - } - - /* Stop PubSub */ -#ifdef UA_ENABLE_PUBSUB - UA_PubSubManager_shutdown(server, &server->pubSubManager); -#endif - - /* Stop all ServerComponents */ - ZIP_ITER(UA_ServerComponentTree, &server->serverComponents, - stopServerComponent, server); - - /* Are we already stopped? */ - if(testStoppedCondition(server)) { - setServerLifecycleState(server, UA_LIFECYCLESTATE_STOPPED); - } - - /* Only stop the EventLoop if it is coupled to the server lifecycle */ - if(server->config.externalEventLoop) { - unlockServer(server); - return UA_STATUSCODE_GOOD; - } - - /* Iterate the EventLoop until the server is stopped */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_EventLoop *el = server->config.eventLoop; - while(!testStoppedCondition(server) && - res == UA_STATUSCODE_GOOD) { - res = el->run(el, 100); - } - - /* Stop the EventLoop. Iterate until stopped. */ - el->stop(el); - while(el->state != UA_EVENTLOOPSTATE_STOPPED && - el->state != UA_EVENTLOOPSTATE_FRESH && - res == UA_STATUSCODE_GOOD) { - res = el->run(el, 100); - } - - /* Set server lifecycle state to stopped if not already the case */ - setServerLifecycleState(server, UA_LIFECYCLESTATE_STOPPED); - - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_run(UA_Server *server, const volatile UA_Boolean *running) { - UA_StatusCode retval = UA_Server_run_startup(server); - UA_CHECK_STATUS(retval, return retval); - - while(!testShutdownCondition(server)) { - UA_Server_run_iterate(server, true); - if(!*running) { - if(setServerShutdown(server)) - break; - } - } - return UA_Server_run_shutdown(server); -} - -void lockServer(UA_Server *server) { - if(UA_LIKELY(server->config.eventLoop && server->config.eventLoop->lock)) - server->config.eventLoop->lock(server->config.eventLoop); - UA_LOCK(&server->serviceMutex); -} - -void unlockServer(UA_Server *server) { - if(UA_LIKELY(server->config.eventLoop && server->config.eventLoop->unlock)) - server->config.eventLoop->unlock(server->config.eventLoop); - UA_UNLOCK(&server->serviceMutex); -} - -/**** amalgamated original file "/src/server/ua_server_ns0.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Thomas Bender - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017 (c) Henrik Norrman - * Copyright 2018 (c) Fabian Arndt, Root-Core - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * Copyright 2023 (c) Fraunhofer IOSB (Author: Andreas Ebner) - */ - - - -static UA_StatusCode -ns0_addNode_raw(UA_Server *server, UA_NodeClass nodeClass, - UA_UInt32 nodeId, char *name, void *attributes, - const UA_DataType *attributesType) { - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.nodeClass = nodeClass; - item.requestedNewNodeId.nodeId = UA_NODEID_NUMERIC(0, nodeId); - item.browseName = UA_QUALIFIEDNAME(0, name); - UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, - attributes, attributesType); - return addNode_raw(server, &server->adminSession, NULL, &item, NULL); -} - -static UA_StatusCode -ns0_addNode_finish(UA_Server *server, UA_UInt32 nodeId, - UA_UInt32 parentNodeId, UA_UInt32 referenceTypeId) { - const UA_NodeId sourceId = UA_NODEID_NUMERIC(0, nodeId); - const UA_NodeId refTypeId = UA_NODEID_NUMERIC(0, referenceTypeId); - const UA_NodeId targetId = UA_NODEID_NUMERIC(0, parentNodeId); - UA_StatusCode retval = addRef(server, sourceId, refTypeId, targetId, false); - if(retval != UA_STATUSCODE_GOOD) - return retval; - return addNode_finish(server, &server->adminSession, &sourceId); -} - -static UA_StatusCode -addObjectNode(UA_Server *server, char* name, UA_UInt32 objectid, - UA_UInt32 parentid, UA_UInt32 referenceid, UA_UInt32 type_id) { - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", name); - return addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(0, objectid), - UA_NODEID_NUMERIC(0, parentid), UA_NODEID_NUMERIC(0, referenceid), - UA_QUALIFIEDNAME(0, name), UA_NODEID_NUMERIC(0, type_id), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, NULL); -} - -static UA_StatusCode -addReferenceTypeNode(UA_Server *server, char* name, char *inverseName, UA_UInt32 referencetypeid, - UA_Boolean isabstract, UA_Boolean symmetric, UA_UInt32 parentid) { - UA_ReferenceTypeAttributes reference_attr = UA_ReferenceTypeAttributes_default; - reference_attr.displayName = UA_LOCALIZEDTEXT("", name); - reference_attr.isAbstract = isabstract; - reference_attr.symmetric = symmetric; - if(inverseName) - reference_attr.inverseName = UA_LOCALIZEDTEXT("", inverseName); - return addNode(server, UA_NODECLASS_REFERENCETYPE, UA_NODEID_NUMERIC(0, referencetypeid), - UA_NODEID_NUMERIC(0, parentid), UA_NODEID_NULL, UA_QUALIFIEDNAME(0, name), - UA_NODEID_NULL, &reference_attr, - &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES], NULL, NULL); -} - -/***************************/ -/* Bootstrap NS0 hierarchy */ -/***************************/ - -/* Creates the basic nodes which are expected by the nodeset compiler to be - * already created. This is necessary to reduce the dependencies for the nodeset - * compiler. */ -static UA_StatusCode -createNS0_base(UA_Server *server) { - /* Bootstrap ReferenceTypes. The order of these is important for the - * ReferenceTypeIndex. The ReferenceTypeIndex is created with the raw node. - * The ReferenceTypeSet of subtypes for every ReferenceType is created - * during the call to AddNode_finish. */ - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_ReferenceTypeAttributes references_attr = UA_ReferenceTypeAttributes_default; - references_attr.displayName = UA_LOCALIZEDTEXT("", "References"); - references_attr.isAbstract = true; - references_attr.symmetric = true; - references_attr.inverseName = UA_LOCALIZEDTEXT("", "References"); - ret |= ns0_addNode_raw(server, UA_NODECLASS_REFERENCETYPE, UA_NS0ID_REFERENCES, "References", - &references_attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); - - UA_ReferenceTypeAttributes hassubtype_attr = UA_ReferenceTypeAttributes_default; - hassubtype_attr.displayName = UA_LOCALIZEDTEXT("", "HasSubtype"); - hassubtype_attr.isAbstract = false; - hassubtype_attr.symmetric = false; - hassubtype_attr.inverseName = UA_LOCALIZEDTEXT("", "SubtypeOf"); - ret |= ns0_addNode_raw(server, UA_NODECLASS_REFERENCETYPE, UA_NS0ID_HASSUBTYPE, "HasSubtype", - &hassubtype_attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); - - UA_ReferenceTypeAttributes aggregates_attr = UA_ReferenceTypeAttributes_default; - aggregates_attr.displayName = UA_LOCALIZEDTEXT("", "Aggregates"); - aggregates_attr.isAbstract = true; - aggregates_attr.symmetric = false; - aggregates_attr.inverseName = UA_LOCALIZEDTEXT("", "AggregatedBy"); - ret |= ns0_addNode_raw(server, UA_NODECLASS_REFERENCETYPE, UA_NS0ID_AGGREGATES, "Aggregates", - &aggregates_attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES]); - - ret |= addReferenceTypeNode(server, "HierarchicalReferences", NULL, - UA_NS0ID_HIERARCHICALREFERENCES, true, false, UA_NS0ID_REFERENCES); - - ret |= addReferenceTypeNode(server, "NonHierarchicalReferences", NULL, - UA_NS0ID_NONHIERARCHICALREFERENCES, true, true, UA_NS0ID_REFERENCES); - - ret |= addReferenceTypeNode(server, "HasChild", NULL, UA_NS0ID_HASCHILD, - true, false, UA_NS0ID_HIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "Organizes", "OrganizedBy", UA_NS0ID_ORGANIZES, - false, false, UA_NS0ID_HIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "HasEventSource", "EventSourceOf", UA_NS0ID_HASEVENTSOURCE, - false, false, UA_NS0ID_HIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "HasModellingRule", "ModellingRuleOf", UA_NS0ID_HASMODELLINGRULE, - false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "HasEncoding", "EncodingOf", UA_NS0ID_HASENCODING, - false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "HasDescription", "DescriptionOf", UA_NS0ID_HASDESCRIPTION, - false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "HasTypeDefinition", "TypeDefinitionOf", UA_NS0ID_HASTYPEDEFINITION, - false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); - - ret |= addReferenceTypeNode(server, "GeneratesEvent", "GeneratedBy", UA_NS0ID_GENERATESEVENT, - false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); - - /* Complete bootstrap of Aggregates */ - ret |= ns0_addNode_finish(server, UA_NS0ID_AGGREGATES, UA_NS0ID_HASCHILD, UA_NS0ID_HASSUBTYPE); - - /* Complete bootstrap of HasSubtype */ - ret |= ns0_addNode_finish(server, UA_NS0ID_HASSUBTYPE, UA_NS0ID_HASCHILD, UA_NS0ID_HASSUBTYPE); - - ret |= addReferenceTypeNode(server, "HasProperty", "PropertyOf", UA_NS0ID_HASPROPERTY, - false, false, UA_NS0ID_AGGREGATES); - - ret |= addReferenceTypeNode(server, "HasComponent", "ComponentOf", UA_NS0ID_HASCOMPONENT, - false, false, UA_NS0ID_AGGREGATES); - - ret |= addReferenceTypeNode(server, "HasNotifier", "NotifierOf", UA_NS0ID_HASNOTIFIER, - false, false, UA_NS0ID_HASEVENTSOURCE); - - ret |= addReferenceTypeNode(server, "HasOrderedComponent", "OrderedComponentOf", - UA_NS0ID_HASORDEREDCOMPONENT, false, false, UA_NS0ID_HASCOMPONENT); - - ret |= addReferenceTypeNode(server, "HasInterface", "InterfaceOf", - UA_NS0ID_HASINTERFACE, false, false, UA_NS0ID_NONHIERARCHICALREFERENCES); - - /**************/ - /* Data Types */ - /**************/ - - /* Bootstrap BaseDataType */ - UA_DataTypeAttributes basedatatype_attr = UA_DataTypeAttributes_default; - basedatatype_attr.displayName = UA_LOCALIZEDTEXT("", "BaseDataType"); - basedatatype_attr.isAbstract = true; - ret |= ns0_addNode_raw(server, UA_NODECLASS_DATATYPE, UA_NS0ID_BASEDATATYPE, "BaseDataType", - &basedatatype_attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES]); - - /*****************/ - /* VariableTypes */ - /*****************/ - - UA_VariableTypeAttributes basevar_attr = UA_VariableTypeAttributes_default; - basevar_attr.displayName = UA_LOCALIZEDTEXT("", "BaseVariableType"); - basevar_attr.isAbstract = true; - basevar_attr.valueRank = UA_VALUERANK_ANY; - basevar_attr.dataType = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATATYPE); - ret |= ns0_addNode_raw(server, UA_NODECLASS_VARIABLETYPE, - UA_NS0ID_BASEVARIABLETYPE, "BaseVariableType", - &basevar_attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES]); - - UA_VariableTypeAttributes bdv_attr = UA_VariableTypeAttributes_default; - bdv_attr.displayName = UA_LOCALIZEDTEXT("", "BaseDataVariableType"); - bdv_attr.dataType = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATATYPE); - bdv_attr.valueRank = UA_VALUERANK_ANY; - ret |= addNode(server, UA_NODECLASS_VARIABLETYPE, - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEVARIABLETYPE), - UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "BaseDataVariableType"), - UA_NODEID_NULL, &bdv_attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], - NULL, NULL); - - UA_VariableTypeAttributes prop_attr = UA_VariableTypeAttributes_default; - prop_attr.displayName = UA_LOCALIZEDTEXT("", "PropertyType"); - prop_attr.dataType = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATATYPE); - prop_attr.valueRank = UA_VALUERANK_ANY; - ret |= addNode(server, UA_NODECLASS_VARIABLETYPE, - UA_NODEID_NUMERIC(0, UA_NS0ID_PROPERTYTYPE), - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEVARIABLETYPE), - UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "PropertyType"), - UA_NODEID_NULL, &prop_attr, - &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES], NULL, NULL); - - /***************/ - /* ObjectTypes */ - /***************/ - - UA_ObjectTypeAttributes baseobj_attr = UA_ObjectTypeAttributes_default; - baseobj_attr.displayName = UA_LOCALIZEDTEXT("", "BaseObjectType"); - ret |= ns0_addNode_raw(server, UA_NODECLASS_OBJECTTYPE, - UA_NS0ID_BASEOBJECTTYPE, "BaseObjectType", - &baseobj_attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES]); - - UA_ObjectTypeAttributes folder_attr = UA_ObjectTypeAttributes_default; - folder_attr.displayName = UA_LOCALIZEDTEXT("", "FolderType"); - ret |= addNode(server, UA_NODECLASS_OBJECTTYPE, - UA_NODEID_NUMERIC(0, UA_NS0ID_FOLDERTYPE), - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE), - UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "FolderType"), - UA_NODEID_NULL, - &folder_attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], NULL, NULL); - - /******************/ - /* Root and below */ - /******************/ - - ret |= addObjectNode(server, "Root", UA_NS0ID_ROOTFOLDER, 0, 0, UA_NS0ID_FOLDERTYPE); - - ret |= addObjectNode(server, "Objects", UA_NS0ID_OBJECTSFOLDER, UA_NS0ID_ROOTFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - - ret |= addObjectNode(server, "Types", UA_NS0ID_TYPESFOLDER, UA_NS0ID_ROOTFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - - ret |= addObjectNode(server, "ReferenceTypes", UA_NS0ID_REFERENCETYPESFOLDER, UA_NS0ID_TYPESFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - ret |= ns0_addNode_finish(server, UA_NS0ID_REFERENCES, - UA_NS0ID_REFERENCETYPESFOLDER, UA_NS0ID_ORGANIZES); - - ret |= addObjectNode(server, "DataTypes", UA_NS0ID_DATATYPESFOLDER, UA_NS0ID_TYPESFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - ret |= ns0_addNode_finish(server, UA_NS0ID_BASEDATATYPE, - UA_NS0ID_DATATYPESFOLDER, UA_NS0ID_ORGANIZES); - - ret |= addObjectNode(server, "VariableTypes", UA_NS0ID_VARIABLETYPESFOLDER, UA_NS0ID_TYPESFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - ret |= ns0_addNode_finish(server, UA_NS0ID_BASEVARIABLETYPE, - UA_NS0ID_VARIABLETYPESFOLDER, UA_NS0ID_ORGANIZES); - - ret |= addObjectNode(server, "ObjectTypes", UA_NS0ID_OBJECTTYPESFOLDER, UA_NS0ID_TYPESFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - ret |= ns0_addNode_finish(server, UA_NS0ID_BASEOBJECTTYPE, - UA_NS0ID_OBJECTTYPESFOLDER, UA_NS0ID_ORGANIZES); - - ret |= addObjectNode(server, "EventTypes", UA_NS0ID_EVENTTYPESFOLDER, UA_NS0ID_TYPESFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - - ret |= addObjectNode(server, "Views", UA_NS0ID_VIEWSFOLDER, UA_NS0ID_ROOTFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_FOLDERTYPE); - - /* Add BaseEventType */ - UA_ObjectTypeAttributes eventtype_attr = UA_ObjectTypeAttributes_default; - eventtype_attr.displayName = UA_LOCALIZEDTEXT("", "BaseEventType"); - ret |= addNode(server, UA_NODECLASS_OBJECTTYPE, - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE), - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE), - UA_NODEID_NULL, UA_QUALIFIEDNAME(0, "BaseEventType"), - UA_NODEID_NULL, - &eventtype_attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES], NULL, NULL); - ret |= addRef(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_EVENTTYPESFOLDER), - UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES), - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE), true); - - if(ret != UA_STATUSCODE_GOOD) - ret = UA_STATUSCODE_BADINTERNALERROR; - - return ret; -} - -/****************/ -/* Data Sources */ -/****************/ - -static UA_StatusCode -writeStatus(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *value) { - if(range) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - - if(nodeId->identifier.numeric != UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Only the local user can write into this variable */ - if(sessionId != &server->adminSession.sessionId) - return UA_STATUSCODE_BADUSERACCESSDENIED; - - if(!UA_Variant_hasScalarType(&value->value, &UA_TYPES[UA_TYPES_UINT32])) - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_UInt32 *endTime = (UA_UInt32*)value->value.data; - server->endTime = UA_DateTime_now() + (UA_DateTime)(*endTime * UA_DATETIME_SEC); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -readStatus(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - - if(sourceTimestamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = UA_DateTime_now(); - } - - void *data = NULL; - - UA_assert(nodeId->identifierType == UA_NODEIDTYPE_NUMERIC); - - switch(nodeId->identifier.numeric) { - case UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN: { - UA_UInt32 *shutdown = UA_UInt32_new(); - if(!shutdown) - return UA_STATUSCODE_BADOUTOFMEMORY; - if(server->endTime != 0) - *shutdown = (UA_UInt32)((server->endTime - UA_DateTime_now()) / UA_DATETIME_SEC); - value->value.data = shutdown; - value->value.type = &UA_TYPES[UA_TYPES_UINT32]; - value->hasValue = true; - return UA_STATUSCODE_GOOD; - } - - case UA_NS0ID_SERVER_SERVERSTATUS_STATE: { - UA_ServerState *state = UA_ServerState_new(); - if(!state) - return UA_STATUSCODE_BADOUTOFMEMORY; - if(server->endTime != 0) - *state = UA_SERVERSTATE_SHUTDOWN; - value->value.data = state; - value->value.type = &UA_TYPES[UA_TYPES_SERVERSTATE]; - value->hasValue = true; - return UA_STATUSCODE_GOOD; - } - - case UA_NS0ID_SERVER_SERVERSTATUS: { - UA_ServerStatusDataType *statustype = UA_ServerStatusDataType_new(); - if(!statustype) - return UA_STATUSCODE_BADOUTOFMEMORY; - statustype->startTime = server->startTime; - statustype->currentTime = UA_DateTime_now(); - - statustype->state = UA_SERVERSTATE_RUNNING; - statustype->secondsTillShutdown = 0; - if(server->endTime != 0) { - statustype->state = UA_SERVERSTATE_SHUTDOWN; - statustype->secondsTillShutdown = (UA_UInt32) - ((server->endTime - UA_DateTime_now()) / UA_DATETIME_SEC); - } - - value->value.data = statustype; - value->value.type = &UA_TYPES[UA_TYPES_SERVERSTATUSDATATYPE]; - value->hasValue = true; - return UA_BuildInfo_copy(&server->config.buildInfo, &statustype->buildInfo); - } - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO: - value->value.type = &UA_TYPES[UA_TYPES_BUILDINFO]; - data = &server->config.buildInfo; - break; - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI: - value->value.type = &UA_TYPES[UA_TYPES_STRING]; - data = &server->config.buildInfo.productUri; - break; - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME: - value->value.type = &UA_TYPES[UA_TYPES_STRING]; - data = &server->config.buildInfo.manufacturerName; - break; - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME: - value->value.type = &UA_TYPES[UA_TYPES_STRING]; - data = &server->config.buildInfo.productName; - break; - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION: - value->value.type = &UA_TYPES[UA_TYPES_STRING]; - data = &server->config.buildInfo.softwareVersion; - break; - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER: - value->value.type = &UA_TYPES[UA_TYPES_STRING]; - data = &server->config.buildInfo.buildNumber; - break; - - case UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE: - value->value.type = &UA_TYPES[UA_TYPES_DATETIME]; - data = &server->config.buildInfo.buildDate; - break; - - default: - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; - } - - value->value.data = UA_new(value->value.type); - if(!value->value.data) { - value->value.type = NULL; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - value->hasValue = true; - return UA_copy(data, value->value.data, value->value.type); -} - -#ifdef UA_GENERATED_NAMESPACE_ZERO -static UA_StatusCode -readServiceLevel(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, UA_DataValue *value) { - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - - value->value.type = &UA_TYPES[UA_TYPES_BYTE]; - value->value.arrayLength = 0; - UA_Byte *byte = UA_Byte_new(); - *byte = 255; - value->value.data = byte; - value->value.arrayDimensionsSize = 0; - value->value.arrayDimensions = NULL; - value->hasValue = true; - if(includeSourceTimeStamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = UA_DateTime_now(); - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -readAuditing(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, UA_DataValue *value) { - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - - value->value.type = &UA_TYPES[UA_TYPES_BOOLEAN]; - value->value.arrayLength = 0; - UA_Boolean *boolean = UA_Boolean_new(); - *boolean = false; - value->value.data = boolean; - value->value.arrayDimensionsSize = 0; - value->value.arrayDimensions = NULL; - value->hasValue = true; - if(includeSourceTimeStamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = UA_DateTime_now(); - } - return UA_STATUSCODE_GOOD; -} -#endif - -static UA_StatusCode -readNamespaces(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, - UA_DataValue *value) { - /* ensure that the uri for ns1 is set up from the app description */ - setupNs1Uri(server); - - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - UA_StatusCode retval; - retval = UA_Variant_setArrayCopy(&value->value, server->namespaces, - server->namespacesSize, &UA_TYPES[UA_TYPES_STRING]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - value->hasValue = true; - if(includeSourceTimeStamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = UA_DateTime_now(); - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -writeNamespaces(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *value) { - /* Check the data type */ - if(!value->hasValue || - value->value.type != &UA_TYPES[UA_TYPES_STRING]) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* Check that the variant is not empty */ - if(!value->value.data) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* TODO: Writing with a range is not implemented */ - if(range) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_String *newNamespaces = (UA_String*)value->value.data; - size_t newNamespacesSize = value->value.arrayLength; - - /* Test if we append to the existing namespaces */ - if(newNamespacesSize <= server->namespacesSize) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* ensure that the uri for ns1 is set up from the app description */ - setupNs1Uri(server); - - /* Test if the existing namespaces are unchanged */ - for(size_t i = 0; i < server->namespacesSize; ++i) { - if(!UA_String_equal(&server->namespaces[i], &newNamespaces[i])) - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Add namespaces */ - for(size_t i = server->namespacesSize; i < newNamespacesSize; ++i) - addNamespace(server, newNamespaces[i]); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -readCurrentTime(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *nodeContext, UA_Boolean sourceTimeStamp, - const UA_NumericRange *range, UA_DataValue *value) { - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - UA_DateTime currentTime = UA_DateTime_now(); - UA_StatusCode retval = UA_Variant_setScalarCopy(&value->value, ¤tTime, - &UA_TYPES[UA_TYPES_DATETIME]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - value->hasValue = true; - if(sourceTimeStamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = currentTime; - } - return UA_STATUSCODE_GOOD; -} - -#ifdef UA_GENERATED_NAMESPACE_ZERO -static UA_StatusCode -readOperationLimits(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, - UA_DataValue *value) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(nodeid->identifierType != UA_NODEIDTYPE_NUMERIC) - return UA_STATUSCODE_BADNOTSUPPORTED; - switch(nodeid->identifier.numeric) { - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerRead, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerWrite, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerMethodCall, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerBrowse, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerRegisterNodes, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerTranslateBrowsePathsToNodeIds, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxNodesPerNodeManagement, &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL: - retval = UA_Variant_setScalarCopy(&value->value, &server->config.maxMonitoredItemsPerCall, &UA_TYPES[UA_TYPES_UINT32]); - break; - default: - retval = UA_STATUSCODE_BADNOTSUPPORTED; - } - return retval; -} - -static UA_StatusCode -readMinSamplingInterval(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, - UA_DataValue *value) { - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - - UA_StatusCode retval; - UA_Duration minInterval; -#ifdef UA_ENABLE_SUBSCRIPTIONS - minInterval = server->config.samplingIntervalLimits.min; -#else - minInterval = 0.0; -#endif - retval = UA_Variant_setScalarCopy(&value->value, &minInterval, &UA_TYPES[UA_TYPES_DURATION]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - value->hasValue = true; - if(includeSourceTimeStamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = UA_DateTime_now(); - } - return UA_STATUSCODE_GOOD; -} -#endif - -#if defined(UA_GENERATED_NAMESPACE_ZERO) && defined(UA_ENABLE_METHODCALLS) && defined(UA_ENABLE_SUBSCRIPTIONS) -static UA_StatusCode -resendData(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *methodId, void *methodContext, const UA_NodeId *objectId, - void *objectContext, size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - /* Get the input argument */ - if(inputSize != 1 || - !UA_Variant_hasScalarType(input, &UA_TYPES[UA_TYPES_UINT32])) - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - UA_UInt32 subscriptionId = *((UA_UInt32*)(input[0].data)); - - /* Get the Session */ - lockServer(server); - UA_Session *session = getSessionById(server, sessionId); - if(!session) { - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Get the Subscription */ - UA_Subscription *subscription = getSubscriptionById(server, subscriptionId); - if(!subscription) { - unlockServer(server); - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - } - - /* The Subscription is not attached to this Session */ - if(subscription->session != session) { - unlockServer(server); - return UA_STATUSCODE_BADUSERACCESSDENIED; - } - - UA_Subscription_resendData(server, subscription); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} -static UA_StatusCode -readMonitoredItems(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *methodId, void *methodContext, const UA_NodeId *objectId, - void *objectContext, size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - /* Return two empty arrays by default */ - UA_Variant_setArray(&output[0], UA_Array_new(0, &UA_TYPES[UA_TYPES_UINT32]), - 0, &UA_TYPES[UA_TYPES_UINT32]); - UA_Variant_setArray(&output[1], UA_Array_new(0, &UA_TYPES[UA_TYPES_UINT32]), - 0, &UA_TYPES[UA_TYPES_UINT32]); - - lockServer(server); - - /* Get the Session */ - UA_Session *session = getSessionById(server, sessionId); - if(!session) { - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(inputSize == 0 || !input[0].data) { - unlockServer(server); - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - } - - /* Get the Subscription */ - UA_UInt32 subscriptionId = *((UA_UInt32*)(input[0].data)); - UA_Subscription *subscription = getSubscriptionById(server, subscriptionId); - if(!subscription) { - unlockServer(server); - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - } - - /* The Subscription is not attached to this Session */ - if(subscription->session != session) { - unlockServer(server); - return UA_STATUSCODE_BADUSERACCESSDENIED; - } - - /* Count the MonitoredItems */ - UA_UInt32 sizeOfOutput = 0; - UA_MonitoredItem* monitoredItem; - LIST_FOREACH(monitoredItem, &subscription->monitoredItems, listEntry) { - ++sizeOfOutput; - } - if(sizeOfOutput == 0) { - unlockServer(server); - return UA_STATUSCODE_GOOD; - } - - /* Allocate the output arrays */ - UA_UInt32 *clientHandles = (UA_UInt32*) - UA_Array_new(sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); - if(!clientHandles) { - unlockServer(server); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - UA_UInt32 *serverHandles = (UA_UInt32*) - UA_Array_new(sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); - if(!serverHandles) { - unlockServer(server); - UA_free(clientHandles); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Fill the array */ - UA_UInt32 i = 0; - LIST_FOREACH(monitoredItem, &subscription->monitoredItems, listEntry) { - clientHandles[i] = monitoredItem->parameters.clientHandle; - serverHandles[i] = monitoredItem->monitoredItemId; - ++i; - } - UA_Variant_setArray(&output[0], serverHandles, sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); - UA_Variant_setArray(&output[1], clientHandles, sizeOfOutput, &UA_TYPES[UA_TYPES_UINT32]); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} -#endif /* defined(UA_ENABLE_METHODCALLS) && defined(UA_ENABLE_SUBSCRIPTIONS) */ - -static UA_StatusCode -writeNs0VariableArray(UA_Server *server, UA_UInt32 id, void *v, - size_t length, const UA_DataType *type) { - UA_Variant var; - UA_Variant_init(&var); - UA_Variant_setArray(&var, v, length, type); - return writeValueAttribute(server, UA_NODEID_NUMERIC(0, id), &var); -} - -#ifdef UA_GENERATED_NAMESPACE_ZERO -static UA_StatusCode -writeNs0Variable(UA_Server *server, UA_UInt32 id, void *v, const UA_DataType *type) { - UA_Variant var; - UA_Variant_init(&var); - UA_Variant_setScalar(&var, v, type); - return writeValueAttribute(server, UA_NODEID_NUMERIC(0, id), &var); -} -#endif - -#ifndef UA_GENERATED_NAMESPACE_ZERO -static UA_StatusCode -addVariableNode(UA_Server *server, char* name, UA_UInt32 variableid, - UA_UInt32 parentid, UA_UInt32 referenceid, - UA_Int32 valueRank, UA_UInt32 dataType) { - UA_VariableAttributes attr = UA_VariableAttributes_default; - attr.displayName = UA_LOCALIZEDTEXT("", name); - attr.dataType = UA_NODEID_NUMERIC(0, dataType); - attr.valueRank = valueRank; - attr.accessLevel = UA_ACCESSLEVELMASK_READ; - return addNode(server, UA_NODECLASS_VARIABLE, UA_NODEID_NUMERIC(0, variableid), - UA_NODEID_NUMERIC(0, parentid), UA_NODEID_NUMERIC(0, referenceid), - UA_QUALIFIEDNAME(0, name), - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), - &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], NULL, NULL); -} - -/* A minimal server object that is not complete and does not use the mandated - * references to a server type. To be used on very constrained devices. */ -static UA_StatusCode -minimalServerObject(UA_Server *server) { - /* Server */ - UA_StatusCode retval = addObjectNode(server, "Server", UA_NS0ID_SERVER, UA_NS0ID_OBJECTSFOLDER, - UA_NS0ID_ORGANIZES, UA_NS0ID_BASEOBJECTTYPE); - - /* Use a valuerank of -2 for now. The array is added later on and the valuerank set to 1. */ - retval |= addVariableNode(server, "ServerArray", UA_NS0ID_SERVER_SERVERARRAY, - UA_NS0ID_SERVER, UA_NS0ID_HASPROPERTY, - UA_VALUERANK_ANY, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "NamespaceArray", UA_NS0ID_SERVER_NAMESPACEARRAY, - UA_NS0ID_SERVER, UA_NS0ID_HASPROPERTY, - UA_VALUERANK_ANY, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "ServerStatus", UA_NS0ID_SERVER_SERVERSTATUS, - UA_NS0ID_SERVER, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "StartTime", UA_NS0ID_SERVER_SERVERSTATUS_STARTTIME, - UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "CurrentTime", UA_NS0ID_SERVER_SERVERSTATUS_CURRENTTIME, - UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "State", UA_NS0ID_SERVER_SERVERSTATUS_STATE, - UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "BuildInfo", UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, - UA_NS0ID_SERVER_SERVERSTATUS, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "ProductUri", UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI, - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "ManufacturerName", - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME, - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "ProductName", - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME, - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "SoftwareVersion", - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION, - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "BuildNumber", - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER, - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - retval |= addVariableNode(server, "BuildDate", - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE, - UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO, UA_NS0ID_HASCOMPONENT, - UA_VALUERANK_SCALAR, UA_NS0ID_BASEDATATYPE); - - return retval; -} - -#else - -static void -addModellingRules(UA_Server *server) { - /* Test if the ModellingRules folder was added. (Only for the full ns0.) */ - UA_NodeId mrNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES); - const UA_Node *mrnode = UA_NODESTORE_GET(server, &mrNodeId); - if(!mrnode) - return; - UA_NODESTORE_RELEASE(server, mrnode); - - /* Add ExposesItsArray */ - addRef(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_EXPOSESITSARRAY), true); - - /* Add Mandatory */ - addRef(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_MANDATORY), true); - - - /* Add MandatoryPlaceholder */ - addRef(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_MANDATORYPLACEHOLDER), true); - - /* Add Optional */ - addRef(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_OPTIONAL), true); - - /* Add OptionalPlaceholder */ - addRef(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MODELLINGRULES), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_MODELLINGRULE_OPTIONALPLACEHOLDER), true); -} - -#endif - -/* Initialize the nodeset 0 by using the generated code of the nodeset compiler. - * This also initialized the data sources for various variables, such as for - * example server time. */ -UA_StatusCode -initNS0(UA_Server *server) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Initialize base nodes which are always required an cannot be created - * through the NS compiler */ - server->bootstrapNS0 = true; - UA_StatusCode retVal = createNS0_base(server); - -#ifdef UA_GENERATED_NAMESPACE_ZERO - /* Load nodes and references generated from the XML ns0 definition */ - retVal |= namespace0_generated(server); -#else - /* Create a minimal server object */ - retVal |= minimalServerObject(server); -#endif - - server->bootstrapNS0 = false; - - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Initialization of Namespace 0 failed with %s. " - "See previous outputs for any error messages.", - UA_StatusCode_name(retVal)); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* NamespaceArray */ - UA_DataSource namespaceDataSource = {readNamespaces, writeNamespaces}; - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY), - namespaceDataSource); - retVal |= writeValueRankAttribute(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY), 1); - - /* ServerArray */ - retVal |= writeNs0VariableArray(server, UA_NS0ID_SERVER_SERVERARRAY, - &server->config.applicationDescription.applicationUri, - 1, &UA_TYPES[UA_TYPES_STRING]); - retVal |= writeValueRankAttribute(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERARRAY), 1); - - /* ServerStatus */ - UA_DataSource serverStatus = {readStatus, writeStatus}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS), serverStatus); - - /* StartTime will be sampled in UA_Server_run_startup()*/ - - /* CurrentTime */ - UA_DataSource currentTime = {readCurrentTime, NULL}; - UA_NodeId currTime = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_CURRENTTIME); - retVal |= setVariableNode_dataSource(server, currTime, currentTime); - retVal |= writeMinimumSamplingIntervalAttribute(server, currTime, 100.0); - - /* State */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_STATE), serverStatus); - - /* BuildInfo */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO), serverStatus); - - /* BuildInfo - ProductUri */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTURI), - serverStatus); - - /* BuildInfo - ManufacturerName */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_MANUFACTURERNAME), - serverStatus); - - /* BuildInfo - ProductName */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_PRODUCTNAME), - serverStatus); - - /* BuildInfo - SoftwareVersion */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_SOFTWAREVERSION), - serverStatus); - - /* BuildInfo - BuildNumber */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDNUMBER), - serverStatus); - - /* BuildInfo - BuildDate */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_BUILDINFO_BUILDDATE), - serverStatus); - -#ifdef UA_GENERATED_NAMESPACE_ZERO - - /* SecondsTillShutdown */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN), - serverStatus); - - /* ShutDownReason */ - UA_LocalizedText shutdownReason; - UA_LocalizedText_init(&shutdownReason); - retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERSTATUS_SHUTDOWNREASON, - &shutdownReason, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); - - /* ServiceLevel */ - UA_DataSource serviceLevel = {readServiceLevel, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVICELEVEL), serviceLevel); - - /* ServerDiagnostics - EnabledFlag */ -#ifdef UA_ENABLE_DIAGNOSTICS - UA_Boolean enabledFlag = true; -#else - UA_Boolean enabledFlag = false; -#endif - retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_ENABLEDFLAG, - &enabledFlag, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* According to Specification part-5 - pg.no-11(PDF pg.no-29), when the ServerDiagnostics is disabled the client - * may modify the value of enabledFlag=true in the server. By default, this node have CurrentRead/Write access. - * In CTT, Subscription_Minimum_1/002.js test will modify the above flag. This will not be a problem when build - * configuration is set at UA_NAMESPACE_ZERO="REDUCED" as NodeIds will not be present. When UA_NAMESPACE_ZERO="FULL", - * the test will fail. Hence made the NodeId as read only */ - retVal |= writeAccessLevelAttribute(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_ENABLEDFLAG), - UA_ACCESSLEVELMASK_READ); - - /* Auditing */ - UA_DataSource auditing = {readAuditing, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_AUDITING), auditing); - - /* Redundancy Support */ - UA_RedundancySupport redundancySupport = UA_REDUNDANCYSUPPORT_NONE; - retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANCYSUPPORT, - &redundancySupport, &UA_TYPES[UA_TYPES_REDUNDANCYSUPPORT]); - /* Remove unused subtypes of ServerRedundancy */ - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_CURRENTSERVERID), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_REDUNDANTSERVERARRAY), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERURIARRAY), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERREDUNDANCY_SERVERNETWORKGROUPS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_CONFORMANCEUNITS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_URISVERSION), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_CONFORMANCEUNITS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSPERSUBSCRIPTION), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXMONITOREDITEMSQUEUESIZE), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSELECTCLAUSEPARAMETERS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSESSIONS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSUBSCRIPTIONSPERSESSION), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXWHERECLAUSEPARAMETERS), true); - - /* ServerCapabilities - LocaleIdArray */ - UA_LocaleId locale_en = UA_STRING("en"); - retVal |= writeNs0VariableArray(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_LOCALEIDARRAY, - &locale_en, 1, &UA_TYPES[UA_TYPES_LOCALEID]); - - /* ServerCapabilities - MaxBrowseContinuationPoints */ - UA_UInt16 maxBrowseContinuationPoints = UA_MAXCONTINUATIONPOINTS; - retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBROWSECONTINUATIONPOINTS, - &maxBrowseContinuationPoints, &UA_TYPES[UA_TYPES_UINT16]); - - /* ServerProfileArray */ - UA_String profileArray[3]; - UA_UInt16 profileArraySize = 0; -#define ADDPROFILEARRAY(x) profileArray[profileArraySize++] = UA_STRING(x) - ADDPROFILEARRAY("http://opcfoundation.org/UA-Profile/Server/StandardUA2017"); -#ifdef UA_ENABLE_NODEMANAGEMENT - ADDPROFILEARRAY("http://opcfoundation.org/UA-Profile/Server/NodeManagement"); -#endif -#ifdef UA_ENABLE_METHODCALLS - ADDPROFILEARRAY("http://opcfoundation.org/UA-Profile/Server/Methods"); -#endif - retVal |= writeNs0VariableArray(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_SERVERPROFILEARRAY, - profileArray, profileArraySize, &UA_TYPES[UA_TYPES_STRING]); - - /* ServerCapabilities - MaxQueryContinuationPoints */ - UA_UInt16 maxQueryContinuationPoints = 0; - retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXQUERYCONTINUATIONPOINTS, - &maxQueryContinuationPoints, &UA_TYPES[UA_TYPES_UINT16]); - - /* ServerCapabilities - MaxHistoryContinuationPoints */ - UA_UInt16 maxHistoryContinuationPoints = 0; - retVal |= writeNs0Variable(server, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXHISTORYCONTINUATIONPOINTS, - &maxHistoryContinuationPoints, &UA_TYPES[UA_TYPES_UINT16]); - - /* ServerCapabilities - MinSupportedSampleRate */ - UA_DataSource samplingInterval = {readMinSamplingInterval, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MINSUPPORTEDSAMPLERATE), - samplingInterval); - - /* ServerCapabilities - OperationLimits - MaxNodesPerRead */ - UA_DataSource operationLimitRead = {readOperationLimits, NULL}; - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREAD), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - maxNodesPerWrite */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERWRITE), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - MaxNodesPerMethodCall */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERMETHODCALL), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - MaxNodesPerBrowse */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERBROWSE), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - MaxNodesPerRegisterNodes */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERREGISTERNODES), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - MaxNodesPerTranslateBrowsePathsToNodeIds */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERTRANSLATEBROWSEPATHSTONODEIDS), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - MaxNodesPerNodeManagement */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERNODEMANAGEMENT), - operationLimitRead); - - /* ServerCapabilities - OperationLimits - MaxMonitoredItemsPerCall */ - retVal |= setVariableNode_dataSource(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXMONITOREDITEMSPERCALL), - operationLimitRead); - - /* Remove unused operation limit components */ - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADDATA), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYREADEVENTS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEDATA), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_OPERATIONLIMITS_MAXNODESPERHISTORYUPDATEEVENTS), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_ROLESET), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXSTRINGLENGTH), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXARRAYLENGTH), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERCAPABILITIES_MAXBYTESTRINGLENGTH), true); - - /* Remove not supported server configurations */ - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_ESTIMATEDRETURNTIME), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_LOCALTIME), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_REQUESTSERVERSTATECHANGE), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVERCONFIGURATION), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SETSUBSCRIPTIONDURABLE), true); - -#ifdef UA_ENABLE_DIAGNOSTICS - /* ServerDiagnostics - ServerDiagnosticsSummary */ - UA_DataSource serverDiagSummary = {readDiagnostics, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - ServerViewCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - CurrentSessionCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - CumulatedSessionCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - SecurityRejectedSessionCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - RejectedSessionCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - SessionTimeoutCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - SessionAbortCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - CurrentSubscriptionCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - CumulatedSubscriptionCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - PublishingIntervalCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - SecurityRejectedRequestsCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT), serverDiagSummary); - - /* ServerDiagnostics - ServerDiagnosticsSummary - RejectedRequestsCount */ - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT), serverDiagSummary); - - /* ServerDiagnostics - SubscriptionDiagnosticsArray */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_DataSource serverSubDiagSummary = {readSubscriptionDiagnosticsArray, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY), serverSubDiagSummary); -#endif - - /* ServerDiagnostics - SessionDiagnosticsSummary - SessionDiagnosticsArray */ - UA_DataSource sessionDiagSummary = {readSessionDiagnosticsArray, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONDIAGNOSTICSARRAY), sessionDiagSummary); - - /* ServerDiagnostics - SessionDiagnosticsSummary - SessionSecurityDiagnosticsArray */ - UA_DataSource sessionSecDiagSummary = {readSessionSecurityDiagnostics, NULL}; - retVal |= setVariableNode_dataSource(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY_SESSIONSECURITYDIAGNOSTICSARRAY), sessionSecDiagSummary); - -#else - /* Removing these NodeIds make Server Object to be non-complaint with UA - * 1.03 in CTT (Base Inforamtion/Base Info Core Structure/ 001.js) In the - * 1.04 specification this has been resolved by allowing to remove these - * static nodes as well */ - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY), true); - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY), true); -#endif - - /* The sampling diagnostics array is optional - * TODO: Add support for this diagnostics */ - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SAMPLINGINTERVALDIAGNOSTICSARRAY), true); - -#ifndef UA_ENABLE_PUBSUB - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), true); -#endif - -#ifndef UA_ENABLE_HISTORIZING - deleteNode(server, UA_NODEID_NUMERIC(0, UA_NS0ID_HISTORYSERVERCAPABILITIES), true); -#else - /* ServerCapabilities - HistoryServerCapabilities - AccessHistoryDataCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYDATACAPABILITY, - &server->config.accessHistoryDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - MaxReturnDataValues */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNDATAVALUES, - &server->config.maxReturnDataValues, &UA_TYPES[UA_TYPES_UINT32]); - - /* ServerCapabilities - HistoryServerCapabilities - AccessHistoryEventsCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_ACCESSHISTORYEVENTSCAPABILITY, - &server->config.accessHistoryEventsCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - MaxReturnEventValues */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_MAXRETURNEVENTVALUES, - &server->config.maxReturnEventValues, &UA_TYPES[UA_TYPES_UINT32]); - - /* ServerCapabilities - HistoryServerCapabilities - InsertDataCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTDATACAPABILITY, - &server->config.insertDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - InsertEventCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTEVENTCAPABILITY, - &server->config.insertEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - InsertAnnotationsCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_INSERTANNOTATIONCAPABILITY, - &server->config.insertAnnotationsCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - ReplaceDataCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEDATACAPABILITY, - &server->config.replaceDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - ReplaceEventCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_REPLACEEVENTCAPABILITY, - &server->config.replaceEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - UpdateDataCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEDATACAPABILITY, - &server->config.updateDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - UpdateEventCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_UPDATEEVENTCAPABILITY, - &server->config.updateEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - DeleteRawCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETERAWCAPABILITY, - &server->config.deleteRawCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - DeleteEventCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEEVENTCAPABILITY, - &server->config.deleteEventCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* ServerCapabilities - HistoryServerCapabilities - DeleteAtTimeDataCapability */ - retVal |= writeNs0Variable(server, UA_NS0ID_HISTORYSERVERCAPABILITIES_DELETEATTIMECAPABILITY, - &server->config.deleteAtTimeDataCapability, &UA_TYPES[UA_TYPES_BOOLEAN]); -#endif - -#if defined(UA_ENABLE_METHODCALLS) && defined(UA_ENABLE_SUBSCRIPTIONS) - retVal |= setMethodNode_callback(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_GETMONITOREDITEMS), - readMonitoredItems); - - retVal |= setMethodNode_callback(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_RESENDDATA), - resendData); -#endif - - /* The HasComponent references to the ModellingRules are not part of the - * Nodeset2.xml. So we add the references manually. */ - addModellingRules(server); - -#endif /* UA_GENERATED_NAMESPACE_ZERO */ - - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Initialization of Namespace 0 (after bootstrapping) " - "failed with %s. See previous outputs for any error messages.", - UA_StatusCode_name(retVal)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/src/server/ua_server_ns0_diagnostics.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#ifdef UA_ENABLE_DIAGNOSTICS - -static UA_Boolean -equalBrowseName(UA_String *bn, char *n) { - UA_String name = UA_STRING(n); - return UA_String_equal(bn, &name); -} - -#ifdef UA_ENABLE_SUBSCRIPTIONS - -/****************************/ -/* Subscription Diagnostics */ -/****************************/ - -static void -fillSubscriptionDiagnostics(UA_Subscription *sub, - UA_SubscriptionDiagnosticsDataType *diag) { - UA_NodeId_copy(&sub->session->sessionId, &diag->sessionId); /* ignore status */ - diag->subscriptionId = sub->subscriptionId; - diag->priority = sub->priority; - diag->publishingInterval = sub->publishingInterval; - diag->maxKeepAliveCount = sub->maxKeepAliveCount; - diag->maxLifetimeCount = sub->lifeTimeCount; - diag->maxNotificationsPerPublish = sub->notificationsPerPublish; - diag->publishingEnabled = (sub->state > UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH); - diag->modifyCount = sub->modifyCount; - diag->enableCount = sub->enableCount; - diag->disableCount = sub->disableCount; - diag->republishRequestCount = sub->republishRequestCount; - diag->republishMessageRequestCount = - sub->republishRequestCount; /* Always equal to the previous republishRequestCount */ - diag->republishMessageCount = sub->republishMessageCount; - diag->transferRequestCount = sub->transferRequestCount; - diag->transferredToAltClientCount = sub->transferredToAltClientCount; - diag->transferredToSameClientCount = sub->transferredToSameClientCount; - diag->publishRequestCount = sub->publishRequestCount; - diag->dataChangeNotificationsCount = sub->dataChangeNotificationsCount; - diag->eventNotificationsCount = sub->eventNotificationsCount; - diag->notificationsCount = sub->notificationsCount; - diag->latePublishRequestCount = sub->latePublishRequestCount; - diag->currentKeepAliveCount = sub->currentKeepAliveCount; - diag->currentLifetimeCount = sub->currentLifetimeCount; - diag->unacknowledgedMessageCount = (UA_UInt32)sub->retransmissionQueueSize; - diag->discardedMessageCount = sub->discardedMessageCount; - diag->monitoredItemCount = sub->monitoredItemsSize; - diag->monitoringQueueOverflowCount = sub->monitoringQueueOverflowCount; - diag->nextSequenceNumber = sub->nextSequenceNumber; - diag->eventQueueOverFlowCount = sub->eventQueueOverFlowCount; - - /* Count the disabled MonitoredItems */ - UA_MonitoredItem *mon; - LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { - if(mon->monitoringMode == UA_MONITORINGMODE_DISABLED) - diag->disabledMonitoredItemCount++; - } -} - -/* The node context points to the subscription */ -static UA_StatusCode -readSubscriptionDiagnostics(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - /* Check the Subscription pointer */ - UA_Subscription *sub = (UA_Subscription*)nodeContext; - if(!sub) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Read the BrowseName */ - UA_QualifiedName bn; - UA_StatusCode res = UA_Server_readBrowseName(server, *nodeId, &bn); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Set the value */ - UA_SubscriptionDiagnosticsDataType sddt; - UA_SubscriptionDiagnosticsDataType_init(&sddt); - fillSubscriptionDiagnostics(sub, &sddt); - - char memberName[128]; - memcpy(memberName, bn.name.data, bn.name.length); - memberName[bn.name.length] = 0; - - size_t memberOffset; - const UA_DataType *memberType; - UA_Boolean isArray; - UA_Boolean found = - UA_DataType_getStructMember(&UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE], - memberName, &memberOffset, &memberType, &isArray); - if(!found) { - /* Not the member, but the main subscription diagnostics variable... */ - memberOffset = 0; - memberType = &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]; - } - - void *content = (void*)(((uintptr_t)&sddt) + memberOffset); - res = UA_Variant_setScalarCopy(&value->value, content, memberType); - if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) - value->hasValue = true; - - UA_SubscriptionDiagnosticsDataType_clear(&sddt); - UA_QualifiedName_clear(&bn); - return res; -} - -/* Return all subscriptions in the server. */ -UA_StatusCode -readSubscriptionDiagnosticsArray(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - lockServer(server); - - /* Get the current session */ - size_t sdSize = 0; - session_list_entry *sentry; - LIST_FOREACH(sentry, &server->sessions, pointers) { - sdSize += sentry->session.subscriptionsSize; - } - - /* Allocate the output array */ - UA_SubscriptionDiagnosticsDataType *sd = (UA_SubscriptionDiagnosticsDataType*) - UA_Array_new(sdSize, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); - if(!sd) { - unlockServer(server); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Collect the statistics */ - size_t i = 0; - UA_Subscription *sub; - LIST_FOREACH(sentry, &server->sessions, pointers) { - TAILQ_FOREACH(sub, &sentry->session.subscriptions, sessionListEntry) { - fillSubscriptionDiagnostics(sub, &sd[i]); - i++; - } - } - - /* Set the output */ - value->hasValue = true; - UA_Variant_setArray(&value->value, sd, sdSize, - &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -void -createSubscriptionObject(UA_Server *server, UA_Session *session, - UA_Subscription *sub) { - UA_ExpandedNodeId *children = NULL; - size_t childrenSize = 0; - UA_ReferenceTypeSet refTypes; - UA_NodeId hasComponent = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); - - char subIdStr[32]; - itoaUnsigned(sub->subscriptionId, subIdStr, 10); - - /* Find the NodeId of the SubscriptionDiagnosticsArray */ - UA_BrowsePath bp; - UA_BrowsePath_init(&bp); - bp.startingNode = sub->session->sessionId; - UA_RelativePathElement rpe[1]; - memset(rpe, 0, sizeof(UA_RelativePathElement) * 1); - rpe[0].targetName = UA_QUALIFIEDNAME(0, "SubscriptionDiagnosticsArray"); - bp.relativePath.elements = rpe; - bp.relativePath.elementsSize = 1; - UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); - if(bpr.targetsSize < 1) - return; - - /* Create an object for the subscription. Instantiates all the mandatory - * children. */ - UA_VariableAttributes var_attr = UA_VariableAttributes_default; - var_attr.displayName.text = UA_STRING(subIdStr); - var_attr.dataType = UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE].typeId; - UA_NodeId refId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); - UA_QualifiedName browseName = UA_QUALIFIEDNAME(0, subIdStr); - UA_NodeId typeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SUBSCRIPTIONDIAGNOSTICSTYPE); - /* Assign a random free NodeId */ - UA_StatusCode res = addNode(server, UA_NODECLASS_VARIABLE, UA_NODEID_NUMERIC(1, 0), - bpr.targets[0].targetId.nodeId, - refId, browseName, typeId, &var_attr, - &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], NULL, - &sub->ns0Id); - UA_CHECK_STATUS(res, goto cleanup); - - /* Add a second reference from the overall SubscriptionDiagnosticsArray variable */ - const UA_NodeId subDiagArray = - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SUBSCRIPTIONDIAGNOSTICSARRAY); - res = addRefWithSession(server, session, &subDiagArray, &refId, &sub->ns0Id, true); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Get all children (including the variable itself) and set the contenxt + callback */ - res = referenceTypeIndices(server, &hasComponent, &refTypes, false); - if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) { - res = browseRecursive(server, 1, &sub->ns0Id, - UA_BROWSEDIRECTION_FORWARD, &refTypes, - UA_NODECLASS_VARIABLE, true, &childrenSize, &children); - } - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Add the callback to all variables */ - UA_DataSource subDiagSource = {readSubscriptionDiagnostics, NULL}; - for(size_t i = 0; i < childrenSize; i++) { - setVariableNode_dataSource(server, children[i].nodeId, subDiagSource); - setNodeContext(server, children[i].nodeId, sub); - } - - UA_Array_delete(children, childrenSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - - cleanup: - UA_BrowsePathResult_clear(&bpr); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "Creating the subscription diagnostics object failed " - "with StatusCode %s", UA_StatusCode_name(res)); - } -} - -/***********************/ -/* Session Diagnostics */ -/***********************/ - -static UA_StatusCode -setSessionSubscriptionDiagnostics(UA_Server *server, UA_Session *session, - UA_DataValue *value) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Get the current session */ - size_t sdSize = session->subscriptionsSize; - - /* Allocate the output array */ - UA_SubscriptionDiagnosticsDataType *sd = (UA_SubscriptionDiagnosticsDataType*) - UA_Array_new(sdSize, &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); - if(!sd) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Collect the statistics */ - size_t i = 0; - UA_Subscription *sub; - TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { - fillSubscriptionDiagnostics(sub, &sd[i]); - i++; - } - - /* Set the output */ - value->hasValue = true; - UA_Variant_setArray(&value->value, sd, sdSize, - &UA_TYPES[UA_TYPES_SUBSCRIPTIONDIAGNOSTICSDATATYPE]); - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -static void -setSessionDiagnostics(UA_Session *session, UA_SessionDiagnosticsDataType *sd) { - UA_SessionDiagnosticsDataType_copy(&session->diagnostics, sd); - UA_NodeId_copy(&session->sessionId, &sd->sessionId); - UA_String_copy(&session->sessionName, &sd->sessionName); - UA_ApplicationDescription_copy(&session->clientDescription, - &sd->clientDescription); - sd->maxResponseMessageSize = session->maxResponseMessageSize; -#ifdef UA_ENABLE_SUBSCRIPTIONS - sd->currentPublishRequestsInQueue = (UA_UInt32)session->responseQueueSize; -#endif - sd->actualSessionTimeout = session->timeout; - - /* Set LocaleIds */ - UA_StatusCode res = - UA_Array_copy(session->localeIds, session->localeIdsSize, - (void **)&sd->localeIds, &UA_TYPES[UA_TYPES_STRING]); - if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) - sd->localeIdsSize = session->localeIdsSize; - - /* Set Subscription diagnostics */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - sd->currentSubscriptionsCount = (UA_UInt32)session->subscriptionsSize; - - UA_Subscription *sub; - TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { - sd->currentMonitoredItemsCount += (UA_UInt32)sub->monitoredItemsSize; - } -#endif -} - -UA_StatusCode -readSessionDiagnosticsArray(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - /* Allocate the output array */ - UA_SessionDiagnosticsDataType *sd = (UA_SessionDiagnosticsDataType*) - UA_Array_new(server->sessionCount, - &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); - if(!sd) - return UA_STATUSCODE_BADOUTOFMEMORY; - - lockServer(server); - - /* Collect the statistics */ - size_t i = 0; - session_list_entry *session; - LIST_FOREACH(session, &server->sessions, pointers) { - setSessionDiagnostics(&session->session, &sd[i]); - i++; - } - - /* Set the output */ - value->hasValue = true; - UA_Variant_setArray(&value->value, sd, server->sessionCount, - &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -static void -setSessionSecurityDiagnostics(UA_Session *session, - UA_SessionSecurityDiagnosticsDataType *sd) { - UA_SessionSecurityDiagnosticsDataType_copy(&session->securityDiagnostics, sd); - UA_NodeId_copy(&session->sessionId, &sd->sessionId); - UA_String_copy(&session->clientUserIdOfSession, &sd->clientUserIdOfSession); - UA_SecureChannel *channel = session->header.channel; - if(channel) { - UA_ByteString_copy(&channel->remoteCertificate, &sd->clientCertificate); - UA_String_copy(&channel->securityPolicy->policyUri, &sd->securityPolicyUri); - sd->securityMode = channel->securityMode; - sd->encoding = UA_STRING_ALLOC("UA Binary"); /* The only one atm */ - sd->transportProtocol = UA_STRING_ALLOC("opc.tcp"); /* The only one atm */ - } -} - -static UA_StatusCode -readSessionDiagnostics(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - lockServer(server); - - /* Get the Session */ - UA_Session *session = getSessionById(server, sessionId); - if(!session) { - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Read the BrowseName */ - UA_QualifiedName bn; - UA_StatusCode res = readWithReadValue(server, nodeId, UA_ATTRIBUTEID_BROWSENAME, &bn); - if(res != UA_STATUSCODE_GOOD) { - unlockServer(server); - return res; - } - - union { - UA_SessionDiagnosticsDataType sddt; - UA_SessionSecurityDiagnosticsDataType ssddt; - } data; - void *content; - UA_Boolean isArray = false; - const UA_DataType *type = NULL; - UA_Boolean securityDiagnostics = false; - - char memberName[128]; - size_t memberOffset; - UA_Boolean found; - -#ifdef UA_ENABLE_SUBSCRIPTIONS - if(equalBrowseName(&bn.name, "SubscriptionDiagnosticsArray")) { - res = setSessionSubscriptionDiagnostics(server, session, value); - goto cleanup; - } -#endif - - if(equalBrowseName(&bn.name, "SessionDiagnostics")) { - setSessionDiagnostics(session, &data.sddt); - content = &data.sddt; - type = &UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE]; - } else if(equalBrowseName(&bn.name, "SessionSecurityDiagnostics")) { - setSessionSecurityDiagnostics(session, &data.ssddt); - securityDiagnostics = true; - content = &data.ssddt; - type = &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]; - } else { - /* Try to find the member in SessionDiagnosticsDataType and - * SessionSecurityDiagnosticsDataType */ - memcpy(memberName, bn.name.data, bn.name.length); - memberName[bn.name.length] = 0; - found = UA_DataType_getStructMember(&UA_TYPES[UA_TYPES_SESSIONDIAGNOSTICSDATATYPE], - memberName, &memberOffset, &type, &isArray); - if(found) { - setSessionDiagnostics(session, &data.sddt); - content = (void*)(((uintptr_t)&data.sddt) + memberOffset); - } else { - const UA_DataType *dt = &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]; - found = UA_DataType_getStructMember(dt, memberName, &memberOffset, - &type, &isArray); - if(!found) { - res = UA_STATUSCODE_BADNOTIMPLEMENTED; - goto cleanup; - } - setSessionSecurityDiagnostics(session, &data.ssddt); - securityDiagnostics = true; - content = (void*)(((uintptr_t)&data.ssddt) + memberOffset); - } - } - - if(!isArray) { - res = UA_Variant_setScalarCopy(&value->value, content, type); - } else { - size_t len = *(size_t*)content; - content = *(void**)((uintptr_t)content + sizeof(size_t)); - res = UA_Variant_setArrayCopy(&value->value, content, len, type); - } - if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) - value->hasValue = true; - - if(securityDiagnostics) - UA_SessionSecurityDiagnosticsDataType_clear(&data.ssddt); - else - UA_SessionDiagnosticsDataType_clear(&data.sddt); - - cleanup: - UA_QualifiedName_clear(&bn); - unlockServer(server); - return res; -} - -UA_StatusCode -readSessionSecurityDiagnostics(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - /* Allocate the output array */ - UA_SessionSecurityDiagnosticsDataType *sd = (UA_SessionSecurityDiagnosticsDataType*) - UA_Array_new(server->sessionCount, - &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); - if(!sd) - return UA_STATUSCODE_BADOUTOFMEMORY; - - lockServer(server); - - /* Collect the statistics */ - size_t i = 0; - session_list_entry *session; - LIST_FOREACH(session, &server->sessions, pointers) { - setSessionSecurityDiagnostics(&session->session, &sd[i]); - i++; - } - - /* Set the output */ - value->hasValue = true; - UA_Variant_setArray(&value->value, sd, server->sessionCount, - &UA_TYPES[UA_TYPES_SESSIONSECURITYDIAGNOSTICSDATATYPE]); - - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -void -createSessionObject(UA_Server *server, UA_Session *session) { - UA_ExpandedNodeId *children = NULL; - size_t childrenSize = 0; - UA_ReferenceTypeSet refTypes; - UA_NodeId hasComponent = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); - - /* Create an object for the session. Instantiates all the mandatory children. */ - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName.text = session->sessionName; - UA_NodeId parentId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SESSIONSDIAGNOSTICSSUMMARY); - UA_NodeId refId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); - UA_QualifiedName browseName = UA_QUALIFIEDNAME(0, ""); - browseName.name = session->sessionName; /* shallow copy */ - UA_NodeId typeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SESSIONDIAGNOSTICSOBJECTTYPE); - UA_StatusCode res = addNode(server, UA_NODECLASS_OBJECT, session->sessionId, - parentId, refId, browseName, typeId, &object_attr, - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], NULL, NULL); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Recursively browse all children */ - res = referenceTypeIndices(server, &hasComponent, &refTypes, false); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - res = browseRecursive(server, 1, &session->sessionId, - UA_BROWSEDIRECTION_FORWARD, &refTypes, - UA_NODECLASS_VARIABLE, false, &childrenSize, &children); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Add the callback to all variables */ - UA_DataSource sessionDiagSource = {readSessionDiagnostics, NULL}; - for(size_t i = 0; i < childrenSize; i++) { - setVariableNode_dataSource(server, children[i].nodeId, sessionDiagSource); - } - - cleanup: - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "Creating the session diagnostics object failed " - "with StatusCode %s", UA_StatusCode_name(res)); - } - UA_Array_delete(children, childrenSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); -} - -/***************************/ -/* Server-Wide Diagnostics */ -/***************************/ - -UA_StatusCode -readDiagnostics(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { - if(range) { - value->hasStatus = true; - value->status = UA_STATUSCODE_BADINDEXRANGEINVALID; - return UA_STATUSCODE_GOOD; - } - - if(sourceTimestamp) { - value->hasSourceTimestamp = true; - value->sourceTimestamp = UA_DateTime_now(); - } - - UA_assert(nodeId->identifierType == UA_NODEIDTYPE_NUMERIC); - - void *data = NULL; - const UA_DataType *type = &UA_TYPES[UA_TYPES_UINT32]; /* Default */ - - lockServer(server); - - switch(nodeId->identifier.numeric) { - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY: - server->serverDiagnosticsSummary.currentSessionCount = - server->activeSessionCount; - data = &server->serverDiagnosticsSummary; - type = &UA_TYPES[UA_TYPES_SERVERDIAGNOSTICSSUMMARYDATATYPE]; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SERVERVIEWCOUNT: - data = &server->serverDiagnosticsSummary.serverViewCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSESSIONCOUNT: - data = &server->activeSessionCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSESSIONCOUNT: - data = &server->serverDiagnosticsSummary.cumulatedSessionCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDSESSIONCOUNT: - data = &server->serverDiagnosticsSummary.securityRejectedSessionCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDSESSIONCOUNT: - data = &server->serverDiagnosticsSummary.rejectedSessionCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONTIMEOUTCOUNT: - data = &server->serverDiagnosticsSummary.sessionTimeoutCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SESSIONABORTCOUNT: - data = &server->serverDiagnosticsSummary.sessionAbortCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CURRENTSUBSCRIPTIONCOUNT: - data = &server->serverDiagnosticsSummary.currentSubscriptionCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_CUMULATEDSUBSCRIPTIONCOUNT: - data = &server->serverDiagnosticsSummary.cumulatedSubscriptionCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_PUBLISHINGINTERVALCOUNT: - data = &server->serverDiagnosticsSummary.publishingIntervalCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_SECURITYREJECTEDREQUESTSCOUNT: - data = &server->serverDiagnosticsSummary.securityRejectedRequestsCount; - break; - case UA_NS0ID_SERVER_SERVERDIAGNOSTICS_SERVERDIAGNOSTICSSUMMARY_REJECTEDREQUESTSCOUNT: - data = &server->serverDiagnosticsSummary.rejectedRequestsCount; - break; - default: - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_StatusCode res = UA_Variant_setScalarCopy(&value->value, data, type); - if(res == UA_STATUSCODE_GOOD) - value->hasValue = true; - - unlockServer(server); - return res; -} - -#endif /* UA_ENABLE_DIAGNOSTICS */ - -/**** amalgamated original file "/src/server/ua_server_config.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - - -void -UA_ServerConfig_clean(UA_ServerConfig *config) { - if(!config) - return; - - /* Server Description */ - UA_BuildInfo_clear(&config->buildInfo); - UA_ApplicationDescription_clear(&config->applicationDescription); -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_MdnsDiscoveryConfiguration_clear(&config->mdnsConfig); - UA_String_clear(&config->mdnsInterfaceIP); -# if !defined(UA_HAS_GETIFADDR) - if (config->mdnsIpAddressListSize) { - UA_free(config->mdnsIpAddressList); - } -# endif -#endif - - /* Stop and delete the EventLoop */ - UA_EventLoop *el = config->eventLoop; - if(el && !config->externalEventLoop) { - if(el->state != UA_EVENTLOOPSTATE_FRESH && - el->state != UA_EVENTLOOPSTATE_STOPPED) { - el->stop(el); - while(el->state != UA_EVENTLOOPSTATE_STOPPED) { - el->run(el, 100); - } - } - el->free(el); - config->eventLoop = NULL; - } - - /* Networking */ - UA_Array_delete(config->serverUrls, config->serverUrlsSize, - &UA_TYPES[UA_TYPES_STRING]); - config->serverUrls = NULL; - config->serverUrlsSize = 0; - - /* Security Policies */ - for(size_t i = 0; i < config->securityPoliciesSize; ++i) { - UA_SecurityPolicy *policy = &config->securityPolicies[i]; - policy->clear(policy); - } - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - config->securityPoliciesSize = 0; - - for(size_t i = 0; i < config->endpointsSize; ++i) - UA_EndpointDescription_clear(&config->endpoints[i]); - - UA_free(config->endpoints); - config->endpoints = NULL; - config->endpointsSize = 0; - - /* Nodestore */ - if(config->nodestore.context && config->nodestore.clear) { - config->nodestore.clear(config->nodestore.context); - config->nodestore.context = NULL; - } - - /* Certificate Validation */ - if(config->secureChannelPKI.clear) - config->secureChannelPKI.clear(&config->secureChannelPKI); - if(config->sessionPKI.clear) - config->sessionPKI.clear(&config->sessionPKI); - - /* Access Control */ - if(config->accessControl.clear) - config->accessControl.clear(&config->accessControl); - - /* Historical data */ -#ifdef UA_ENABLE_HISTORIZING - if(config->historyDatabase.clear) - config->historyDatabase.clear(&config->historyDatabase); -#endif - -#ifdef UA_ENABLE_PUBSUB -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(config->pubSubConfig.securityPolicies != NULL) { - for(size_t i = 0; i < config->pubSubConfig.securityPoliciesSize; i++) { - config->pubSubConfig.securityPolicies[i].clear(&config->pubSubConfig.securityPolicies[i]); - } - UA_free(config->pubSubConfig.securityPolicies); - config->pubSubConfig.securityPolicies = NULL; - config->pubSubConfig.securityPoliciesSize = 0; - } -#endif -#endif /* UA_ENABLE_PUBSUB */ - - /* Logger */ - if(config->logging != NULL && config->logging->clear != NULL) - config->logging->clear(config->logging); - config->logging = NULL; - - /* Custom Data Types */ - UA_cleanupDataTypeWithCustom(config->customDataTypes); - config->customDataTypes = NULL; -} - -/**** amalgamated original file "/src/server/ua_server_binary.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2016 (c) Sten Grüner - * Copyright 2014-2015, 2017 (c) Florian Palm - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016 (c) Joakim L. Gilje - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) TorbenD - * Copyright 2017 (c) frax2222 - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2023 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Phuong Nguyen) - */ - - - -#define STARTCHANNELID 1 -#define STARTTOKENID 1 - -#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -// store the authentication token and session ID so we can help fuzzing by setting -// these values in the next request automatically -UA_NodeId unsafe_fuzz_authenticationToken = {0, UA_NODEIDTYPE_NUMERIC, {0}}; -#endif - -#ifdef UA_DEBUG_DUMP_PKGS_FILE -void UA_debug_dumpCompleteChunk(UA_Server *const server, UA_Connection *const connection, - UA_ByteString *messageBuffer); -#endif - -/************************************/ -/* Binary Protocol Server Component */ -/************************************/ - -/* Maximum numbers of sockets to listen on */ -#define UA_MAXSERVERCONNECTIONS 16 - -/* SecureChannel Linked List */ -typedef struct channel_entry { - UA_SecureChannel channel; - TAILQ_ENTRY(channel_entry) pointers; -} channel_entry; - -typedef struct { - UA_ConnectionState state; - uintptr_t connectionId; - UA_ConnectionManager *connectionManager; -} UA_ServerConnection; - -/* Reverse connect */ -typedef struct reverse_connect_context { - UA_String hostname; - UA_UInt16 port; - UA_UInt64 handle; - - UA_SecureChannelState state; - UA_Server_ReverseConnectStateCallback stateCallback; - void *callbackContext; - - /* If this is set to true, the reverse connection is removed/freed when the - * connection closes. Otherwise we try to reconnect when the connection - * closes. */ - UA_Boolean destruction; - - UA_ServerConnection currentConnection; - UA_SecureChannel *channel; - LIST_ENTRY(reverse_connect_context) next; -} reverse_connect_context; - -/* Binary Protocol Manager */ -typedef struct { - UA_ServerComponent sc; - UA_Server *server; /* remember the pointer so we don't need an additional - context pointer for connections */ - const UA_Logger *logging; /* shortcut */ - UA_UInt64 houseKeepingCallbackId; - - UA_ServerConnection serverConnections[UA_MAXSERVERCONNECTIONS]; - size_t serverConnectionsSize; - - UA_ConnectionConfig tcpConnectionConfig; /* Extracted from the server config - * parameters */ - - /* SecureChannels */ - TAILQ_HEAD(, channel_entry) channels; - UA_UInt32 lastChannelId; - UA_UInt32 lastTokenId; - - /* Reverse Connections */ - LIST_HEAD(, reverse_connect_context) reverseConnects; - UA_UInt64 reverseConnectsCheckHandle; - UA_UInt64 lastReverseConnectHandle; -} UA_BinaryProtocolManager; - -void setReverseConnectState(UA_Server *server, reverse_connect_context *context, - UA_SecureChannelState newState); -UA_StatusCode attemptReverseConnect(UA_BinaryProtocolManager *bpm, - reverse_connect_context *context); -UA_StatusCode setReverseConnectRetryCallback(UA_BinaryProtocolManager *bpm, - UA_Boolean enabled); - -/********************/ -/* Helper Functions */ -/********************/ - -UA_UInt32 -generateSecureChannelTokenId(UA_Server *server) { - UA_ServerComponent *sc = - getServerComponentByName(server, UA_STRING("binary")); - if(!sc) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Cannot generate a SecureChannel Token Id. " - "No BinaryProtocolManager configured."); - return 0; - } - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; - return bpm->lastTokenId++; -} - -static void -setBinaryProtocolManagerState(UA_Server *server, - UA_BinaryProtocolManager *bpm, - UA_LifecycleState state) { - if(state == bpm->sc.state) - return; - bpm->sc.state = state; - if(bpm->sc.notifyState) - bpm->sc.notifyState(server, &bpm->sc, state); -} - -static void -deleteServerSecureChannel(UA_BinaryProtocolManager *bpm, - UA_SecureChannel *channel) { - UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); - - /* Detach the channel from the server list */ - TAILQ_REMOVE(&bpm->channels, (channel_entry*)channel, pointers); - - /* Update the statistics */ - UA_SecureChannelStatistics *scs = &bpm->server->secureChannelStatistics; - scs->currentChannelCount--; - switch(channel->shutdownReason) { - case UA_SHUTDOWNREASON_CLOSE: - UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel closed"); - break; - case UA_SHUTDOWNREASON_TIMEOUT: - UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel closed due to timeout"); - scs->channelTimeoutCount++; - break; - case UA_SHUTDOWNREASON_PURGE: - UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel was purged"); - scs->channelPurgeCount++; - break; - case UA_SHUTDOWNREASON_REJECT: - case UA_SHUTDOWNREASON_SECURITYREJECT: - UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel was rejected"); - scs->rejectedChannelCount++; - break; - case UA_SHUTDOWNREASON_ABORT: - UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel was aborted"); - scs->channelAbortCount++; - break; - default: - UA_assert(false); - break; - } - - /* Clean up the SecureChannel. This is the only place where - * UA_SecureChannel_clear must be called within the server code-base. */ - UA_SecureChannel_clear(channel); - UA_free(channel); -} - -UA_StatusCode -sendServiceFault(UA_SecureChannel *channel, UA_UInt32 requestId, - UA_UInt32 requestHandle, UA_StatusCode statusCode) { - UA_ServiceFault response; - UA_ServiceFault_init(&response); - UA_ResponseHeader *responseHeader = &response.responseHeader; - responseHeader->requestHandle = requestHandle; - responseHeader->timestamp = UA_DateTime_now(); - responseHeader->serviceResult = statusCode; - - UA_LOG_DEBUG(channel->securityPolicy->logger, UA_LOGCATEGORY_SERVER, - "Sending response for RequestId %u with ServiceResult %s", - (unsigned)requestId, UA_StatusCode_name(statusCode)); - - /* Send error message. Message type is MSG and not ERR, since we are on a - * SecureChannel! */ - return UA_SecureChannel_sendSymmetricMessage(channel, requestId, - UA_MESSAGETYPE_MSG, &response, - &UA_TYPES[UA_TYPES_SERVICEFAULT]); -} - -/* This is not an ERR message, the connection is not closed afterwards */ -static UA_StatusCode -decodeHeaderSendServiceFault(UA_SecureChannel *channel, const UA_ByteString *msg, - size_t offset, const UA_DataType *responseType, - UA_UInt32 requestId, UA_StatusCode error) { - UA_RequestHeader requestHeader; - UA_StatusCode retval = - UA_decodeBinaryInternal(msg, &offset, &requestHeader, - &UA_TYPES[UA_TYPES_REQUESTHEADER], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - retval = sendServiceFault(channel, requestId, requestHeader.requestHandle, error); - UA_RequestHeader_clear(&requestHeader); - return retval; -} - -/* The counterOffset is the offset of the UA_ServiceCounterDataType for the - * service in the UA_ SessionDiagnosticsDataType. */ -#ifdef UA_ENABLE_DIAGNOSTICS -#define UA_SERVICECOUNTER_OFFSET(X) \ - *counterOffset = offsetof(UA_SessionDiagnosticsDataType, X) -#else -#define UA_SERVICECOUNTER_OFFSET(X) -#endif - -static void -getServicePointers(UA_UInt32 requestTypeId, const UA_DataType **requestType, - const UA_DataType **responseType, UA_Service *service, - UA_Boolean *requiresSession, size_t *counterOffset) { - switch(requestTypeId) { - case UA_NS0ID_GETENDPOINTSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_GetEndpoints; - *requestType = &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]; - *requiresSession = false; - break; - case UA_NS0ID_FINDSERVERSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_FindServers; - *requestType = &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]; - *requiresSession = false; - break; -#ifdef UA_ENABLE_DISCOVERY -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - case UA_NS0ID_FINDSERVERSONNETWORKREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_FindServersOnNetwork; - *requestType = &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]; - *requiresSession = false; - break; -# endif - case UA_NS0ID_REGISTERSERVERREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_RegisterServer; - *requestType = &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]; - *requiresSession = false; - break; - case UA_NS0ID_REGISTERSERVER2REQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_RegisterServer2; - *requestType = &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]; - *responseType = &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]; - *requiresSession = false; - break; -#endif - case UA_NS0ID_CREATESESSIONREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_CreateSession; - *requestType = &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE]; - *requiresSession = false; - break; - case UA_NS0ID_ACTIVATESESSIONREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_ActivateSession; - *requestType = &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE]; - break; - case UA_NS0ID_CLOSESESSIONREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_CloseSession; - *requestType = &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]; - break; - case UA_NS0ID_CANCELREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_Cancel; - *requestType = &UA_TYPES[UA_TYPES_CANCELREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_CANCELRESPONSE]; - break; - case UA_NS0ID_READREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_Read; - *requestType = &UA_TYPES[UA_TYPES_READREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_READRESPONSE]; - UA_SERVICECOUNTER_OFFSET(readCount); - break; - case UA_NS0ID_WRITEREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_Write; - *requestType = &UA_TYPES[UA_TYPES_WRITEREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_WRITERESPONSE]; - UA_SERVICECOUNTER_OFFSET(writeCount); - break; - case UA_NS0ID_BROWSEREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_Browse; - *requestType = &UA_TYPES[UA_TYPES_BROWSEREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_BROWSERESPONSE]; - UA_SERVICECOUNTER_OFFSET(browseCount); - break; - case UA_NS0ID_BROWSENEXTREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_BrowseNext; - *requestType = &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE]; - UA_SERVICECOUNTER_OFFSET(browseNextCount); - break; - case UA_NS0ID_REGISTERNODESREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_RegisterNodes; - *requestType = &UA_TYPES[UA_TYPES_REGISTERNODESREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_REGISTERNODESRESPONSE]; - UA_SERVICECOUNTER_OFFSET(registerNodesCount); - break; - case UA_NS0ID_UNREGISTERNODESREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_UnregisterNodes; - *requestType = &UA_TYPES[UA_TYPES_UNREGISTERNODESREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_UNREGISTERNODESRESPONSE]; - UA_SERVICECOUNTER_OFFSET(unregisterNodesCount); - break; - case UA_NS0ID_TRANSLATEBROWSEPATHSTONODEIDSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_TranslateBrowsePathsToNodeIds; - *requestType = &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE]; - UA_SERVICECOUNTER_OFFSET(translateBrowsePathsToNodeIdsCount); - break; - -#ifdef UA_ENABLE_SUBSCRIPTIONS - case UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_CreateSubscription; - *requestType = &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]; - UA_SERVICECOUNTER_OFFSET(createSubscriptionCount); - break; - case UA_NS0ID_PUBLISHREQUEST_ENCODING_DEFAULTBINARY: - *requestType = &UA_TYPES[UA_TYPES_PUBLISHREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]; - UA_SERVICECOUNTER_OFFSET(publishCount); - break; - case UA_NS0ID_REPUBLISHREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_Republish; - *requestType = &UA_TYPES[UA_TYPES_REPUBLISHREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_REPUBLISHRESPONSE]; - UA_SERVICECOUNTER_OFFSET(republishCount); - break; - case UA_NS0ID_MODIFYSUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_ModifySubscription; - *requestType = &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]; - UA_SERVICECOUNTER_OFFSET(modifySubscriptionCount); - break; - case UA_NS0ID_SETPUBLISHINGMODEREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_SetPublishingMode; - *requestType = &UA_TYPES[UA_TYPES_SETPUBLISHINGMODEREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_SETPUBLISHINGMODERESPONSE]; - UA_SERVICECOUNTER_OFFSET(setPublishingModeCount); - break; - case UA_NS0ID_DELETESUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_DeleteSubscriptions; - *requestType = &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]; - UA_SERVICECOUNTER_OFFSET(deleteSubscriptionsCount); - break; - case UA_NS0ID_TRANSFERSUBSCRIPTIONSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_TransferSubscriptions; - *requestType = &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_TRANSFERSUBSCRIPTIONSRESPONSE]; - UA_SERVICECOUNTER_OFFSET(transferSubscriptionsCount); - break; - case UA_NS0ID_CREATEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_CreateMonitoredItems; - *requestType = &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]; - UA_SERVICECOUNTER_OFFSET(createMonitoredItemsCount); - break; - case UA_NS0ID_DELETEMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_DeleteMonitoredItems; - *requestType = &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]; - UA_SERVICECOUNTER_OFFSET(deleteMonitoredItemsCount); - break; - case UA_NS0ID_MODIFYMONITOREDITEMSREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_ModifyMonitoredItems; - *requestType = &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]; - UA_SERVICECOUNTER_OFFSET(modifyMonitoredItemsCount); - break; - case UA_NS0ID_SETMONITORINGMODEREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_SetMonitoringMode; - *requestType = &UA_TYPES[UA_TYPES_SETMONITORINGMODEREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_SETMONITORINGMODERESPONSE]; - UA_SERVICECOUNTER_OFFSET(setMonitoringModeCount); - break; - case UA_NS0ID_SETTRIGGERINGREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_SetTriggering; - *requestType = &UA_TYPES[UA_TYPES_SETTRIGGERINGREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_SETTRIGGERINGRESPONSE]; - UA_SERVICECOUNTER_OFFSET(setTriggeringCount); - break; -#endif -#ifdef UA_ENABLE_HISTORIZING - /* For History read */ - case UA_NS0ID_HISTORYREADREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_HistoryRead; - *requestType = &UA_TYPES[UA_TYPES_HISTORYREADREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_HISTORYREADRESPONSE]; - UA_SERVICECOUNTER_OFFSET(historyReadCount); - break; - /* For History update */ - case UA_NS0ID_HISTORYUPDATEREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_HistoryUpdate; - *requestType = &UA_TYPES[UA_TYPES_HISTORYUPDATEREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_HISTORYUPDATERESPONSE]; - UA_SERVICECOUNTER_OFFSET(historyUpdateCount); - break; -#endif - -#ifdef UA_ENABLE_METHODCALLS - case UA_NS0ID_CALLREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_Call; - *requestType = &UA_TYPES[UA_TYPES_CALLREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_CALLRESPONSE]; - UA_SERVICECOUNTER_OFFSET(callCount); - break; -#endif - -#ifdef UA_ENABLE_NODEMANAGEMENT - case UA_NS0ID_ADDNODESREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_AddNodes; - *requestType = &UA_TYPES[UA_TYPES_ADDNODESREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_ADDNODESRESPONSE]; - UA_SERVICECOUNTER_OFFSET(addNodesCount); - break; - case UA_NS0ID_ADDREFERENCESREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_AddReferences; - *requestType = &UA_TYPES[UA_TYPES_ADDREFERENCESREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_ADDREFERENCESRESPONSE]; - UA_SERVICECOUNTER_OFFSET(addReferencesCount); - break; - case UA_NS0ID_DELETENODESREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_DeleteNodes; - *requestType = &UA_TYPES[UA_TYPES_DELETENODESREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_DELETENODESRESPONSE]; - UA_SERVICECOUNTER_OFFSET(deleteNodesCount); - break; - case UA_NS0ID_DELETEREFERENCESREQUEST_ENCODING_DEFAULTBINARY: - *service = (UA_Service)Service_DeleteReferences; - *requestType = &UA_TYPES[UA_TYPES_DELETEREFERENCESREQUEST]; - *responseType = &UA_TYPES[UA_TYPES_DELETEREFERENCESRESPONSE]; - UA_SERVICECOUNTER_OFFSET(deleteReferencesCount); - break; -#endif - - default: - break; - } -} - -/*************************/ -/* Process Message Types */ -/*************************/ - -/* HEL -> Open up the connection */ -static UA_StatusCode -processHEL(UA_Server *server, UA_SecureChannel *channel, const UA_ByteString *msg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_ConnectionManager *cm = channel->connectionManager; - if(!cm || (channel->state != UA_SECURECHANNELSTATE_CONNECTED && - channel->state != UA_SECURECHANNELSTATE_RHE_SENT)) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t offset = 0; /* Go to the beginning of the TcpHelloMessage */ - UA_TcpHelloMessage helloMessage; - UA_StatusCode retval = - UA_decodeBinaryInternal(msg, &offset, &helloMessage, - &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Currently not checked */ - UA_String_copy(&helloMessage.endpointUrl, &channel->endpointUrl); - UA_String_clear(&helloMessage.endpointUrl); - - /* Parameterize the connection. The TcpHelloMessage casts to a - * TcpAcknowledgeMessage. */ - retval = UA_SecureChannel_processHELACK(channel, - (UA_TcpAcknowledgeMessage*)&helloMessage); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "Error during the HEL/ACK handshake"); - return retval; - } - - /* Get the send buffer from the network layer */ - UA_ByteString ack_msg; - UA_ByteString_init(&ack_msg); - retval = cm->allocNetworkBuffer(cm, channel->connectionId, - &ack_msg, channel->config.sendBufferSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Build acknowledge response */ - UA_TcpAcknowledgeMessage ackMessage; - ackMessage.protocolVersion = 0; - ackMessage.receiveBufferSize = channel->config.recvBufferSize; - ackMessage.sendBufferSize = channel->config.sendBufferSize; - ackMessage.maxMessageSize = channel->config.localMaxMessageSize; - ackMessage.maxChunkCount = channel->config.localMaxChunkCount; - - UA_TcpMessageHeader ackHeader; - ackHeader.messageTypeAndChunkType = UA_MESSAGETYPE_ACK + UA_CHUNKTYPE_FINAL; - ackHeader.messageSize = 8 + 20; /* ackHeader + ackMessage */ - - /* Encode and send the response */ - UA_Byte *bufPos = ack_msg.data; - const UA_Byte *bufEnd = &ack_msg.data[ack_msg.length]; - retval |= UA_encodeBinaryInternal(&ackHeader, - &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], - &bufPos, &bufEnd, NULL, NULL); - retval |= UA_encodeBinaryInternal(&ackMessage, - &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE], - &bufPos, &bufEnd, NULL, NULL); - if(retval != UA_STATUSCODE_GOOD) { - cm->freeNetworkBuffer(cm, channel->connectionId, &ack_msg); - return retval; - } - - ack_msg.length = ackHeader.messageSize; - retval = cm->sendWithConnection(cm, channel->connectionId, &UA_KEYVALUEMAP_NULL, &ack_msg); - if(retval == UA_STATUSCODE_GOOD) - channel->state = UA_SECURECHANNELSTATE_ACK_SENT; - return retval; -} - -/* OPN -> Open up/renew the securechannel */ -static UA_StatusCode -processOPN(UA_Server *server, UA_SecureChannel *channel, - const UA_UInt32 requestId, const UA_ByteString *msg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(channel->state != UA_SECURECHANNELSTATE_ACK_SENT && - channel->state != UA_SECURECHANNELSTATE_OPEN) - return UA_STATUSCODE_BADINTERNALERROR; - /* Decode the request */ - UA_NodeId requestType; - UA_OpenSecureChannelRequest openSecureChannelRequest; - size_t offset = 0; - UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &requestType); - if(retval != UA_STATUSCODE_GOOD) { - UA_NodeId_clear(&requestType); - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Could not decode the NodeId. " - "Closing the SecureChannel."); - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); - return retval; - } - retval = UA_decodeBinaryInternal(msg, &offset, &openSecureChannelRequest, - &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST], NULL); - - /* Error occurred */ - const UA_NodeId *opnRequestId = - &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST].binaryEncodingId; - if(retval != UA_STATUSCODE_GOOD || !UA_NodeId_equal(&requestType, opnRequestId)) { - UA_NodeId_clear(&requestType); - UA_OpenSecureChannelRequest_clear(&openSecureChannelRequest); - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Could not decode the OPN message. " - "Closing the SecureChannel."); - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); - return retval; - } - UA_NodeId_clear(&requestType); - - /* Call the service */ - UA_OpenSecureChannelResponse openScResponse; - UA_OpenSecureChannelResponse_init(&openScResponse); - Service_OpenSecureChannel(server, channel, &openSecureChannelRequest, &openScResponse); - UA_OpenSecureChannelRequest_clear(&openSecureChannelRequest); - if(openScResponse.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Could not open a SecureChannel. " - "Closing the connection."); - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); - return openScResponse.responseHeader.serviceResult; - } - - /* Send the response */ - retval = UA_SecureChannel_sendAsymmetricOPNMessage(channel, requestId, &openScResponse, - &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]); - UA_OpenSecureChannelResponse_clear(&openScResponse); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Could not send the OPN answer with error code %s", - UA_StatusCode_name(retval)); - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_REJECT); - } - - return retval; -} - -/* The responseHeader must have the requestHandle already set */ -UA_StatusCode -sendResponse(UA_Server *server, UA_Session *session, UA_SecureChannel *channel, - UA_UInt32 requestId, UA_Response *response, const UA_DataType *responseType) { - if(!channel) - return UA_STATUSCODE_BADINTERNALERROR; - - /* If the overall service call failed, answer with a ServiceFault */ - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) - return sendServiceFault(channel, requestId, response->responseHeader.requestHandle, - response->responseHeader.serviceResult); - - /* Prepare the ResponseHeader */ - response->responseHeader.timestamp = UA_DateTime_now(); - - if(session) { -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Sending response for RequestId %u of type %s", - (unsigned)requestId, responseType->typeName); -#else - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Sending reponse for RequestId %u of type %" PRIu32, - (unsigned)requestId, responseType->binaryEncodingId.identifier.numeric); -#endif - } else { -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, - "Sending response for RequestId %u of type %s", - (unsigned)requestId, responseType->typeName); -#else - UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, - "Sending reponse for RequestId %u of type %" PRIu32, - (unsigned)requestId, responseType->binaryEncodingId.identifier.numeric); -#endif - } - - /* Start the message context */ - UA_MessageContext mc; - UA_StatusCode retval = UA_MessageContext_begin(&mc, channel, requestId, UA_MESSAGETYPE_MSG); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Assert's required for clang-analyzer */ - UA_assert(mc.buf_pos == &mc.messageBuffer.data[UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH]); - UA_assert(mc.buf_end <= &mc.messageBuffer.data[mc.messageBuffer.length]); - - /* Encode the response type */ - retval = UA_MessageContext_encode(&mc, &responseType->binaryEncodingId, - &UA_TYPES[UA_TYPES_NODEID]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Encode the response */ - retval = UA_MessageContext_encode(&mc, response, responseType); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Finish / send out */ - return UA_MessageContext_finish(&mc); -} - -/* A Session is "bound" to a SecureChannel if it was created by the - * SecureChannel or if it was activated on it. A Session can only be bound to - * one SecureChannel. A Session can only be closed from the SecureChannel to - * which it is bound. - * - * Returns Good if the AuthenticationToken exists nowhere (for CTT). */ -UA_StatusCode -getBoundSession(UA_Server *server, const UA_SecureChannel *channel, - const UA_NodeId *token, UA_Session **session) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_DateTime now = UA_DateTime_nowMonotonic(); - UA_SessionHeader *sh; - SLIST_FOREACH(sh, &channel->sessions, next) { - if(!UA_NodeId_equal(token, &sh->authenticationToken)) - continue; - UA_Session *current = (UA_Session*)sh; - /* Has the session timed out? */ - if(current->validTill < now) { - server->serverDiagnosticsSummary.rejectedSessionCount++; - return UA_STATUSCODE_BADSESSIONCLOSED; - } - *session = current; - return UA_STATUSCODE_GOOD; - } - - server->serverDiagnosticsSummary.rejectedSessionCount++; - - /* Session exists on another SecureChannel. The CTT expect this error. */ - UA_Session *tmpSession = getSessionByToken(server, token); - if(tmpSession) { -#ifdef UA_ENABLE_DIAGNOSTICS - tmpSession->diagnostics.unauthorizedRequestCount++; -#endif - return UA_STATUSCODE_BADSECURECHANNELIDINVALID; - } - - return UA_STATUSCODE_GOOD; -} - -static const UA_String securityPolicyNone = - UA_STRING_STATIC("http://opcfoundation.org/UA/SecurityPolicy#None"); - -/* Returns a status of the SecureChannel. The detailed service status (usually - * part of the response) is set in the serviceResult argument. */ -static UA_StatusCode -processMSGDecoded(UA_Server *server, UA_SecureChannel *channel, UA_UInt32 requestId, - UA_Service service, const UA_Request *request, - const UA_DataType *requestType, UA_Response *response, - const UA_DataType *responseType, UA_Boolean sessionRequired, - size_t counterOffset) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_Session anonymousSession; - UA_Session *session = NULL; - UA_StatusCode channelRes = UA_STATUSCODE_GOOD; - UA_ResponseHeader *rh = &response->responseHeader; - - /* If it is an unencrypted (#None) channel, only allow the discovery services */ - if(server->config.securityPolicyNoneDiscoveryOnly && - UA_String_equal(&channel->securityPolicy->policyUri, &securityPolicyNone ) && - requestType != &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST] && - requestType != &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST] -#if defined(UA_ENABLE_DISCOVERY) && defined(UA_ENABLE_DISCOVERY_MULTICAST) - && requestType != &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST] -#endif - ) { - rh->serviceResult = UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - goto send_response; - } - - /* Session lifecycle services. */ - if(requestType == &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST] || - requestType == &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST] || - requestType == &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]) { - ((UA_ChannelService)service)(server, channel, request, response); -#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION - /* Store the authentication token so we can help fuzzing by setting - * these values in the next request automatically */ - if(requestType == &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST]) { - UA_CreateSessionResponse *res = &response->createSessionResponse; - UA_NodeId_copy(&res->authenticationToken, &unsafe_fuzz_authenticationToken); - } -#endif - goto send_response; - } - - /* Get the Session bound to the SecureChannel (not necessarily activated) */ - if(!UA_NodeId_isNull(&request->requestHeader.authenticationToken)) { - rh->serviceResult = getBoundSession(server, channel, - &request->requestHeader.authenticationToken, - &session); - if(rh->serviceResult != UA_STATUSCODE_GOOD) - goto send_response; - } - - /* Set an anonymous, inactive session for services that need no session */ - if(!session) { - if(sessionRequired) { -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "%s refused without a valid session", - requestType->typeName); -#else - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Service %" PRIu32 " refused without a valid session", - requestType->binaryEncodingId.identifier.numeric); -#endif - rh->serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; - goto send_response; - } - - UA_Session_init(&anonymousSession); - anonymousSession.sessionId = UA_NODEID_GUID(0, UA_GUID_NULL); - anonymousSession.header.channel = channel; - session = &anonymousSession; - } - - UA_assert(session != NULL); - - /* Trying to use a non-activated session? */ - if(sessionRequired && !session->activated) { -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_WARNING_SESSION(server->config.logging, session, - "%s refused on a non-activated session", - requestType->typeName); -#else - UA_LOG_WARNING_SESSION(server->config.logging, session, - "Service %" PRIu32 " refused on a non-activated session", - requestType->binaryEncodingId.identifier.numeric); -#endif - if(session != &anonymousSession) { - UA_Server_removeSessionByToken(server, &session->header.authenticationToken, - UA_SHUTDOWNREASON_ABORT); - } - rh->serviceResult = UA_STATUSCODE_BADSESSIONNOTACTIVATED; - goto send_response; - } - - /* Update the session lifetime */ - UA_Session_updateLifetime(session); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* The publish request is not answered immediately */ - if(requestType == &UA_TYPES[UA_TYPES_PUBLISHREQUEST]) { - rh->serviceResult = - Service_Publish(server, session, &request->publishRequest, requestId); - - /* Don't send a response */ - goto update_statistics; - } -#endif - -#if UA_MULTITHREADING >= 100 && defined(UA_ENABLE_METHODCALLS) - /* The call request might not be answered immediately */ - if(requestType == &UA_TYPES[UA_TYPES_CALLREQUEST]) { - UA_Boolean finished = true; - Service_CallAsync(server, session, requestId, &request->callRequest, - &response->callResponse, &finished); - - /* Async method calls remain. Don't send a response now. In case we have - * an async call, count as a "good" request for the diagnostics - * statistic. */ - if(UA_LIKELY(finished)) - goto send_response; - goto update_statistics; - } -#endif - - /* Execute the synchronous service call */ - service(server, session, request, response); - - /* Upon success, send the response. Otherwise a ServiceFault. */ - send_response: - channelRes = sendResponse(server, session, channel, - requestId, response, responseType); - - /* Update the diagnostics statistics */ - update_statistics: -#ifdef UA_ENABLE_DIAGNOSTICS - if(session && session != &server->adminSession) { - session->diagnostics.totalRequestCount.totalCount++; - if(rh->serviceResult != UA_STATUSCODE_GOOD) - session->diagnostics.totalRequestCount.errorCount++; - if(counterOffset != 0) { - UA_ServiceCounterDataType *serviceCounter = (UA_ServiceCounterDataType*) - (((uintptr_t)&session->diagnostics) + counterOffset); - serviceCounter->totalCount++; - if(rh->serviceResult != UA_STATUSCODE_GOOD) - serviceCounter->errorCount++; - } - } -#endif - - return channelRes; -} - -static UA_StatusCode -processMSG(UA_Server *server, UA_SecureChannel *channel, - UA_UInt32 requestId, const UA_ByteString *msg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(channel->state != UA_SECURECHANNELSTATE_OPEN) - return UA_STATUSCODE_BADINTERNALERROR; - /* Decode the nodeid */ - size_t offset = 0; - UA_NodeId requestTypeId; - UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &requestTypeId); - if(retval != UA_STATUSCODE_GOOD) - return retval; - if(requestTypeId.namespaceIndex != 0 || - requestTypeId.identifierType != UA_NODEIDTYPE_NUMERIC) - UA_NodeId_clear(&requestTypeId); /* leads to badserviceunsupported */ - - size_t requestPos = offset; /* Store the offset (for sendServiceFault) */ - - /* Get the service pointers */ - UA_Service service = NULL; - UA_Boolean sessionRequired = true; - const UA_DataType *requestType = NULL; - const UA_DataType *responseType = NULL; - size_t counterOffset = 0; - getServicePointers(requestTypeId.identifier.numeric, &requestType, - &responseType, &service, &sessionRequired, &counterOffset); - if(!requestType) { - if(requestTypeId.identifier.numeric == - UA_NS0ID_CREATESUBSCRIPTIONREQUEST_ENCODING_DEFAULTBINARY) { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "Client requested a subscription, " - "but those are not enabled in the build"); - } else { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "Unknown request with type identifier %" PRIi32, - requestTypeId.identifier.numeric); - } - return decodeHeaderSendServiceFault(channel, msg, requestPos, - &UA_TYPES[UA_TYPES_SERVICEFAULT], - requestId, UA_STATUSCODE_BADSERVICEUNSUPPORTED); - } - UA_assert(responseType); - - /* Decode the request */ - UA_Request request; - retval = UA_decodeBinaryInternal(msg, &offset, &request, - requestType, server->config.customDataTypes); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, - "Could not decode the request with StatusCode %s", - UA_StatusCode_name(retval)); - return decodeHeaderSendServiceFault(channel, msg, requestPos, - responseType, requestId, retval); - } - - /* Check timestamp in the request header */ - UA_RequestHeader *requestHeader = &request.requestHeader; - if(requestHeader->timestamp == 0 && - server->config.verifyRequestTimestamp <= UA_RULEHANDLING_WARN) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "The server sends no timestamp in the request header. " - "See the 'verifyRequestTimestamp' setting."); - if(server->config.verifyRequestTimestamp <= UA_RULEHANDLING_ABORT) { - retval = sendServiceFault(channel, requestId, requestHeader->requestHandle, - UA_STATUSCODE_BADINVALIDTIMESTAMP); - UA_clear(&request, requestType); - return retval; - } - } - -#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION - /* Set the authenticationToken from the create session request to help - * fuzzing cover more lines */ - if(!UA_NodeId_isNull(&unsafe_fuzz_authenticationToken) && - !UA_NodeId_isNull(&requestHeader->authenticationToken)) { - UA_NodeId_clear(&requestHeader->authenticationToken); - UA_NodeId_copy(&unsafe_fuzz_authenticationToken, &requestHeader->authenticationToken); - } -#endif - - /* Prepare the respone and process the request */ - UA_Response response; - UA_init(&response, responseType); - response.responseHeader.requestHandle = requestHeader->requestHandle; - retval = processMSGDecoded(server, channel, requestId, service, &request, requestType, - &response, responseType, sessionRequired, counterOffset); - - /* Clean up */ - UA_clear(&request, requestType); - UA_clear(&response, responseType); - return retval; -} - -/* Takes decoded messages starting at the nodeid of the content type. */ -static UA_StatusCode -processSecureChannelMessage(UA_Server *server, UA_SecureChannel *channel, - UA_MessageType messagetype, UA_UInt32 requestId, - UA_ByteString *message) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - switch(messagetype) { - case UA_MESSAGETYPE_HEL: - UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process a HEL message"); - retval = processHEL(server, channel, message); - break; - case UA_MESSAGETYPE_OPN: - UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process an OPN message"); - retval = processOPN(server, channel, requestId, message); - break; - case UA_MESSAGETYPE_MSG: - UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process a MSG"); - retval = processMSG(server, channel, requestId, message); - break; - case UA_MESSAGETYPE_CLO: - UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Process a CLO"); - Service_CloseSecureChannel(server, channel); /* Regular close */ - break; - default: - UA_LOG_TRACE_CHANNEL(server->config.logging, channel, "Invalid message type"); - retval = UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - break; - } - if(retval != UA_STATUSCODE_GOOD) { - if(!UA_SecureChannel_isConnected(channel)) { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "Processing the message failed. Channel already closed " - "with StatusCode %s. ", UA_StatusCode_name(retval)); - return retval; - } - - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "Processing the message failed with StatusCode %s. " - "Closing the channel.", UA_StatusCode_name(retval)); - UA_TcpErrorMessage errMsg; - UA_TcpErrorMessage_init(&errMsg); - errMsg.error = retval; - UA_SecureChannel_sendError(channel, &errMsg); - UA_ShutdownReason reason; - switch(retval) { - case UA_STATUSCODE_BADSECURITYMODEREJECTED: - case UA_STATUSCODE_BADSECURITYCHECKSFAILED: - case UA_STATUSCODE_BADSECURECHANNELIDINVALID: - case UA_STATUSCODE_BADSECURECHANNELTOKENUNKNOWN: - case UA_STATUSCODE_BADSECURITYPOLICYREJECTED: - case UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED: - reason = UA_SHUTDOWNREASON_SECURITYREJECT; - break; - default: - reason = UA_SHUTDOWNREASON_CLOSE; - break; - } - UA_SecureChannel_shutdown(channel, reason); - } - - return retval; -} - -/* remove the first channel that has no session attached */ -static UA_Boolean -purgeFirstChannelWithoutSession(UA_BinaryProtocolManager *bpm) { - channel_entry *entry; - TAILQ_FOREACH(entry, &bpm->channels, pointers) { - if(SLIST_FIRST(&entry->channel.sessions)) - continue; - UA_LOG_INFO_CHANNEL(bpm->logging, &entry->channel, - "Channel was purged since maxSecureChannels was " - "reached and channel had no session attached"); - UA_SecureChannel_shutdown(&entry->channel, UA_SHUTDOWNREASON_PURGE); - return true; - } - return false; -} - -static UA_StatusCode -configServerSecureChannel(void *application, UA_SecureChannel *channel, - const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) { - if(channel->securityPolicy) - return UA_STATUSCODE_GOOD; - - /* Iterate over available endpoints and choose the correct one */ - UA_Server *server = (UA_Server *)application; - UA_SecurityPolicy *securityPolicy = NULL; - for(size_t i = 0; i < server->config.securityPoliciesSize; ++i) { - UA_SecurityPolicy *policy = &server->config.securityPolicies[i]; - if(!UA_ByteString_equal(&asymHeader->securityPolicyUri, &policy->policyUri)) - continue; - - UA_StatusCode res = policy->asymmetricModule. - compareCertificateThumbprint(policy, &asymHeader->receiverCertificateThumbprint); - if(res != UA_STATUSCODE_GOOD) - continue; - - /* We found the correct policy (except for security mode). The endpoint - * needs to be selected by the client / server to match the security - * mode in the endpoint for the session. */ - securityPolicy = policy; - break; - } - - if(!securityPolicy) - return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - - /* If the sender provides a chain of certificates then we shall extract the - * ApplicationInstanceCertificate. and ignore the extra bytes. See also: OPC - * UA Part 6, V1.04, 6.7.2.3 Security Header, Table 42 - Asymmetric - * algorithm Security header */ - UA_ByteString appInstCert = getLeafCertificate(asymHeader->senderCertificate); - - /* Create the channel context and parse the sender (remote) certificate used - * for the secureChannel. */ - return UA_SecureChannel_setSecurityPolicy(channel, securityPolicy, &appInstCert); -} - -static UA_StatusCode -createServerSecureChannel(UA_BinaryProtocolManager *bpm, UA_ConnectionManager *cm, - uintptr_t connectionId, UA_SecureChannel **outChannel) { - UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); - - UA_Server *server = bpm->server; - UA_ServerConfig *config = &server->config; - - /* Check if we have space for another SC, otherwise try to find an SC - * without a session and purge it */ - UA_SecureChannelStatistics *scs = &server->secureChannelStatistics; - if(scs->currentChannelCount >= config->maxSecureChannels && - !purgeFirstChannelWithoutSession(bpm)) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Allocate memory for the SecureChannel */ - channel_entry *entry = (channel_entry *)UA_calloc(1, sizeof(channel_entry)); - if(!entry) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Set up the initial connection config */ - UA_ConnectionConfig connConfig; - connConfig.protocolVersion = 0; - connConfig.recvBufferSize = config->tcpBufSize; - connConfig.sendBufferSize = config->tcpBufSize; - connConfig.localMaxMessageSize = config->tcpMaxMsgSize; - connConfig.remoteMaxMessageSize = config->tcpMaxMsgSize; - connConfig.localMaxChunkCount = config->tcpMaxChunks; - connConfig.remoteMaxChunkCount = config->tcpMaxChunks; - - if(connConfig.recvBufferSize == 0) - connConfig.recvBufferSize = 1 << 16; /* 64kB */ - if(connConfig.sendBufferSize == 0) - connConfig.sendBufferSize = 1 << 16; /* 64kB */ - - /* Set up the new SecureChannel */ - UA_SecureChannel_init(&entry->channel); - entry->channel.config = connConfig; - entry->channel.certificateVerification = &config->secureChannelPKI; - entry->channel.processOPNHeader = configServerSecureChannel; - entry->channel.processOPNHeaderApplication = server; - entry->channel.connectionManager = cm; - entry->channel.connectionId = connectionId; - - /* Set the SecureChannel identifier already here. So we get the right - * identifier for logging right away. The rest of the SecurityToken is set - * in UA_SecureChannelManager_open. Set the ChannelId also in the - * alternative security token, we don't touch this value during the token - * rollover. */ - entry->channel.securityToken.channelId = bpm->lastChannelId++; - - /* Set an initial timeout before the negotiation handshake. So the channel - * is caught if the client is unresponsive. - * - * TODO: Make this a configuration option */ - entry->channel.securityToken.createdAt = UA_DateTime_nowMonotonic(); - entry->channel.securityToken.revisedLifetime = 10000; /* 10s should be enough */ - - /* Add to the server's list */ - TAILQ_INSERT_TAIL(&bpm->channels, entry, pointers); - - /* Update the statistics */ - server->secureChannelStatistics.currentChannelCount++; - server->secureChannelStatistics.cumulatedChannelCount++; - - *outChannel = &entry->channel; - return UA_STATUSCODE_GOOD; -} - -static void -addDiscoveryUrl(UA_Server *server, const UA_String hostname, UA_UInt16 port) { - char urlstr[1024]; - mp_snprintf(urlstr, 1024, "opc.tcp://%.*s:%d", - (int)hostname.length, (char*)hostname.data, port); - UA_String discoveryServerUrl = UA_STRING(urlstr); - - /* Check if the ServerUrl is already present in the DiscoveryUrl array. - * Add if not already there. */ - for(size_t i = 0; i < server->config.applicationDescription.discoveryUrlsSize; i++) { - if(UA_String_equal(&discoveryServerUrl, - &server->config.applicationDescription.discoveryUrls[i])) - return; - } - - /* Add to the list of discovery url */ - UA_StatusCode res = - UA_Array_appendCopy((void **)&server->config.applicationDescription.discoveryUrls, - &server->config.applicationDescription.discoveryUrlsSize, - &discoveryServerUrl, &UA_TYPES[UA_TYPES_STRING]); - if(res == UA_STATUSCODE_GOOD) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "New DiscoveryUrl added: %.*s", (int)discoveryServerUrl.length, - (char*)discoveryServerUrl.data); - } else { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Could not register DiscoveryUrl -- out of memory"); - } -} - -/* Callback of a TCP socket (server socket or an active connection) */ -static void -serverNetworkCallbackLocked(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, - const UA_KeyValueMap *params, - UA_ByteString msg) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; - UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); - - /* A server socket that is not yet registered in the server. Register it and - * set the connection context to the pointer in the - * bpm->serverConnections list. New connections on that server socket - * inherit the context (and on the first callback we set the context of - * client-connections to a SecureChannel). */ - if(*connectionContext == NULL) { - /* The socket is closing without being previously registered -> ignore */ - if(state == UA_CONNECTIONSTATE_CLOSED || - state == UA_CONNECTIONSTATE_CLOSING) - return; - - /* Cannot register */ - if(bpm->serverConnectionsSize >= UA_MAXSERVERCONNECTIONS) { - UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, - "Cannot register server socket - too many already open"); - cm->closeConnection(cm, connectionId); - return; - } - - /* Find and use a free connection slot */ - bpm->serverConnectionsSize++; - UA_ServerConnection *sc = bpm->serverConnections; - while(sc->connectionId != 0) - sc++; - sc->state = state; - sc->connectionId = connectionId; - sc->connectionManager = cm; - *connectionContext = (void*)sc; /* Set the context pointer in the connection */ - - /* Add to the DiscoveryUrls */ - const UA_UInt16 *port = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, UA_QUALIFIEDNAME(0, "listen-port"), - &UA_TYPES[UA_TYPES_UINT16]); - const UA_String *address = (const UA_String*) - UA_KeyValueMap_getScalar(params, UA_QUALIFIEDNAME(0, "listen-address"), - &UA_TYPES[UA_TYPES_STRING]); - if(port && address) - addDiscoveryUrl(bpm->server, *address, *port); - return; - } - - UA_ServerConnection *sc = (UA_ServerConnection*)*connectionContext; - UA_SecureChannel *channel = (UA_SecureChannel*)*connectionContext; - UA_Boolean serverSocket = (sc >= bpm->serverConnections && - sc < &bpm->serverConnections[UA_MAXSERVERCONNECTIONS]); - - /* The connection is closing. This is the last callback for it. */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - if(serverSocket) { - /* Server socket is closed */ - sc->state = UA_CONNECTIONSTATE_CLOSED; - sc->connectionId = 0; - bpm->serverConnectionsSize--; - } else { - /* A connection attached to a SecureChannel is closing. This is the - * only place where deleteSecureChannel must be used. */ - deleteServerSecureChannel(bpm, channel); - } - - /* Set BinaryProtocolManager to STOPPED if it is STOPPING and the last - * socket just closed */ - if(bpm->sc.state == UA_LIFECYCLESTATE_STOPPING && - bpm->serverConnectionsSize == 0 && - LIST_EMPTY(&bpm->reverseConnects) && - TAILQ_EMPTY(&bpm->channels)) { - setBinaryProtocolManagerState(bpm->server, bpm, - UA_LIFECYCLESTATE_STOPPED); - } - return; - } - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(serverSocket) { - /* A new connection is opening. This is the only place where - * createSecureChannel is used. */ - retval = createServerSecureChannel(bpm, cm, connectionId, &channel); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, - "TCP %lu\t| Could not accept the connection with status %s", - (unsigned long)sc->connectionId, UA_StatusCode_name(retval)); - *connectionContext = NULL; - cm->closeConnection(cm, connectionId); - return; - } - - /* Set the new channel as the new context for the connection */ - *connectionContext = (void*)channel; - - /* Set the channel state to CONNECTED until the HEL message is received */ - channel->state = UA_SECURECHANNELSTATE_CONNECTED; - - UA_LOG_INFO_CHANNEL(bpm->logging, channel, "SecureChannel created"); - } - - /* Received a message on a normal connection */ -#ifdef UA_DEBUG_DUMP_PKGS - UA_dump_hex_pkg(message->data, message->length); -#endif -#ifdef UA_DEBUG_DUMP_PKGS_FILE - UA_debug_dumpCompleteChunk(server, channel->connection, message); -#endif - - /* Process all complete messages */ - retval = UA_SecureChannel_loadBuffer(channel, msg); - while(UA_LIKELY(retval == UA_STATUSCODE_GOOD)) { - UA_MessageType messageType; - UA_UInt32 requestId = 0; - UA_ByteString payload = UA_BYTESTRING_NULL; - UA_Boolean copied = false; - retval = UA_SecureChannel_getCompleteMessage(channel, &messageType, &requestId, - &payload, &copied); - if(retval != UA_STATUSCODE_GOOD || payload.length == 0) - break; - retval = processSecureChannelMessage(bpm->server, channel, - messageType, requestId, &payload); - if(copied) - UA_ByteString_clear(&payload); - } - retval |= UA_SecureChannel_persistBuffer(channel); - - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(bpm->logging, channel, - "Processing the message failed with error %s", - UA_StatusCode_name(retval)); - - /* Send an ERR message and close the connection */ - UA_TcpErrorMessage error; - error.error = retval; - error.reason = UA_STRING_NULL; - UA_SecureChannel_sendError(channel, &error); - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_ABORT); - } -} - -void -serverNetworkCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, - const UA_KeyValueMap *params, - UA_ByteString msg) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; - lockServer(bpm->server); - serverNetworkCallbackLocked(cm, connectionId, application, connectionContext, - state, params, msg); - unlockServer(bpm->server); -} - -static UA_StatusCode -createServerConnection(UA_BinaryProtocolManager *bpm, const UA_String *serverUrl) { - UA_Server *server = bpm->server; - UA_ServerConfig *config = &server->config; - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Extract the protocol, hostname and port from the url */ - UA_String hostname = UA_STRING_NULL; - UA_String path = UA_STRING_NULL; - UA_UInt16 port = 4840; /* default */ - UA_StatusCode res = UA_parseEndpointUrl(serverUrl, &hostname, &port, &path); - if(res != UA_STATUSCODE_GOOD) - return res; - - UA_String tcpString = UA_STRING("tcp"); - for(UA_EventSource *es = config->eventLoop->eventSources; - es != NULL; es = es->next) { - /* Is this a usable connection manager? */ - if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) - continue; - UA_ConnectionManager *cm = (UA_ConnectionManager*)es; - if(!UA_String_equal(&tcpString, &cm->protocol)) - continue; - - /* Set up the parameters */ - UA_KeyValuePair params[4]; - size_t paramsSize = 3; - - params[0].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(¶ms[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - - UA_Boolean listen = true; - params[1].key = UA_QUALIFIEDNAME(0, "listen"); - UA_Variant_setScalar(¶ms[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); - - UA_Boolean reuseaddr = config->tcpReuseAddr; - params[2].key = UA_QUALIFIEDNAME(0, "reuse"); - UA_Variant_setScalar(¶ms[2].value, &reuseaddr, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* The hostname is non-empty */ - if(hostname.length > 0) { - params[3].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setArray(¶ms[3].value, &hostname, 1, &UA_TYPES[UA_TYPES_STRING]); - paramsSize = 4; - } - - UA_KeyValueMap paramsMap; - paramsMap.map = params; - paramsMap.mapSize = paramsSize; - - /* Open the server connection */ - res = cm->openConnection(cm, ¶msMap, bpm, NULL, serverNetworkCallback); - if(res == UA_STATUSCODE_GOOD) - return res; - } - - return UA_STATUSCODE_BADINTERNALERROR; -} - -/* Remove timed out SecureChannels */ -static void -secureChannelHouseKeeping(UA_Server *server, void *context) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)context; - lockServer(server); - - UA_DateTime nowMonotonic = UA_DateTime_nowMonotonic(); - channel_entry *entry; - TAILQ_FOREACH(entry, &bpm->channels, pointers) { - /* Compute the timeout date of the SecurityToken */ - UA_DateTime timeout = - entry->channel.securityToken.createdAt + - (UA_DateTime)(entry->channel.securityToken.revisedLifetime * UA_DATETIME_MSEC); - - /* The token has timed out. Try to do the token revolving now instead of - * shutting the channel down. - * - * Part 4, 5.5.2 says: Servers shall use the existing SecurityToken to - * secure outgoing Messages until the SecurityToken expires or the - * Server receives a Message secured with a new SecurityToken.*/ - if(timeout < nowMonotonic && - entry->channel.renewState == UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER) { - /* Revolve the token manually. This is otherwise done in checkSymHeader. */ - entry->channel.renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; - entry->channel.securityToken = entry->channel.altSecurityToken; - UA_ChannelSecurityToken_init(&entry->channel.altSecurityToken); - UA_SecureChannel_generateLocalKeys(&entry->channel); - generateRemoteKeys(&entry->channel); - - /* Use the timeout of the new SecurityToken */ - timeout = entry->channel.securityToken.createdAt + - (UA_DateTime)(entry->channel.securityToken.revisedLifetime * UA_DATETIME_MSEC); - } - - if(timeout < nowMonotonic) { - UA_LOG_INFO_CHANNEL(bpm->logging, &entry->channel, - "SecureChannel has timed out"); - UA_SecureChannel_shutdown(&entry->channel, UA_SHUTDOWNREASON_TIMEOUT); - } - } - unlockServer(server); -} - -/**********************/ -/* Reverse Connection */ -/**********************/ - -#define UA_MINMESSAGESIZE 8192 - -static UA_StatusCode -sendRHEMessage(UA_Server *server, uintptr_t connectionId, - UA_ConnectionManager *cm) { - UA_ServerConfig *config = UA_Server_getConfig(server); - - /* Get a buffer */ - UA_ByteString message; - UA_StatusCode retval = - cm->allocNetworkBuffer(cm, connectionId, &message, UA_MINMESSAGESIZE); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Prepare the RHE message and encode at offset 8 */ - UA_TcpReverseHelloMessage reverseHello; - UA_TcpReverseHelloMessage_init(&reverseHello); - reverseHello.serverUri = config->applicationDescription.applicationUri; - if(config->applicationDescription.discoveryUrlsSize) - reverseHello.endpointUrl = config->applicationDescription.discoveryUrls[0]; - - UA_Byte *bufPos = &message.data[8]; /* skip the header */ - const UA_Byte *bufEnd = &message.data[message.length]; - UA_StatusCode result = - UA_encodeBinaryInternal(&reverseHello, - &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE], - &bufPos, &bufEnd, NULL, NULL); - - if(result != UA_STATUSCODE_GOOD) { - cm->freeNetworkBuffer(cm, connectionId, &message); - return result; - } - - /* Encode the message header at offset 0 */ - UA_TcpMessageHeader messageHeader; - messageHeader.messageTypeAndChunkType = UA_CHUNKTYPE_FINAL + UA_MESSAGETYPE_RHE; - messageHeader.messageSize = (UA_UInt32) ((uintptr_t)bufPos - (uintptr_t)message.data); - bufPos = message.data; - retval = UA_encodeBinaryInternal(&messageHeader, - &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], - &bufPos, &bufEnd, NULL, NULL); - if(retval != UA_STATUSCODE_GOOD) { - cm->freeNetworkBuffer(cm, connectionId, &message); - return retval; - } - - /* Send the RHE message */ - message.length = messageHeader.messageSize; - return cm->sendWithConnection(cm, connectionId, NULL, &message); -} - -static void -retryReverseConnectCallback(UA_Server *server, void *context) { - lockServer(server); - - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)context; - - reverse_connect_context *rc = NULL; - LIST_FOREACH(rc, &bpm->reverseConnects, next) { - if(rc->currentConnection.connectionId) - continue; - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Attempt to reverse reconnect to %.*s:%d", - (int)rc->hostname.length, rc->hostname.data, rc->port); - attemptReverseConnect(bpm, rc); - } - - unlockServer(server); -} - -UA_StatusCode -setReverseConnectRetryCallback(UA_BinaryProtocolManager *bpm, UA_Boolean enabled) { - UA_Server *server = bpm->server; - UA_ServerConfig *config = &server->config; - - if(enabled && !bpm->reverseConnectsCheckHandle) { - UA_UInt32 reconnectInterval = config->reverseReconnectInterval ? - config->reverseReconnectInterval : 15000; - return addRepeatedCallback(server, retryReverseConnectCallback, bpm, - reconnectInterval, &bpm->reverseConnectsCheckHandle); - } else if(!enabled && bpm->reverseConnectsCheckHandle) { - removeCallback(server, bpm->reverseConnectsCheckHandle); - bpm->reverseConnectsCheckHandle = 0; - } - return UA_STATUSCODE_GOOD; -} - -void -setReverseConnectState(UA_Server *server, reverse_connect_context *context, - UA_SecureChannelState newState) { - if(context->state == newState) - return; - - context->state = newState; - - if(context->stateCallback) - context->stateCallback(server, context->handle, context->state, - context->callbackContext); -} - -static void -serverReverseConnectCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg); - -UA_StatusCode -attemptReverseConnect(UA_BinaryProtocolManager *bpm, reverse_connect_context *context) { - UA_Server *server = bpm->server; - UA_ServerConfig *config = &server->config; - UA_EventLoop *el = config->eventLoop; - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Find a TCP ConnectionManager */ - UA_String tcpString = UA_STRING_STATIC("tcp"); - for(UA_EventSource *es = el->eventSources; es != NULL; es = es->next) { - /* Is this a usable connection manager? */ - if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) - continue; - - UA_ConnectionManager *cm = (UA_ConnectionManager*)es; - if(!UA_String_equal(&tcpString, &cm->protocol)) - continue; - - if(es->state != UA_EVENTSOURCESTATE_STARTED) - continue; - - /* Set up the parameters */ - UA_KeyValuePair params[2]; - params[0].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(¶ms[0].value, &context->hostname, - &UA_TYPES[UA_TYPES_STRING]); - params[1].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(¶ms[1].value, &context->port, - &UA_TYPES[UA_TYPES_UINT16]); - UA_KeyValueMap kvm = {2, params}; - - /* Open the connection */ - UA_StatusCode res = cm->openConnection(cm, &kvm, bpm, context, - serverReverseConnectCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Failed to create connection for reverse connect: %s\n", - UA_StatusCode_name(res)); - } - return res; - } - - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "No ConnectionManager found for reverse connect"); - return UA_STATUSCODE_BADINTERNALERROR; -} - -UA_StatusCode -UA_Server_addReverseConnect(UA_Server *server, UA_String url, - UA_Server_ReverseConnectStateCallback stateCallback, - void *callbackContext, UA_UInt64 *handle) { - UA_ServerConfig *config = UA_Server_getConfig(server); - UA_ServerComponent *sc = - getServerComponentByName(server, UA_STRING("binary")); - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; - if(!bpm) { - UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, - "No BinaryProtocolManager configured"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Parse the reverse connect URL */ - UA_String hostname = UA_STRING_NULL; - UA_UInt16 port = 0; - UA_StatusCode res = UA_parseEndpointUrl(&url, &hostname, &port, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "OPC UA URL is invalid: %.*s", - (int)url.length, url.data); - return res; - } - - /* Set up the reverse connection */ - reverse_connect_context *newContext = (reverse_connect_context *) - UA_calloc(1, sizeof(reverse_connect_context)); - if(!newContext) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_String_copy(&hostname, &newContext->hostname); - newContext->port = port; - newContext->handle = ++bpm->lastReverseConnectHandle; - newContext->stateCallback = stateCallback; - newContext->callbackContext = callbackContext; - - lockServer(server); - - /* Register the retry callback */ - setReverseConnectRetryCallback(bpm, true); - - /* Register the new reverse connection */ - LIST_INSERT_HEAD(&bpm->reverseConnects, newContext, next); - - if(handle) - *handle = newContext->handle; - - /* Attempt to connect right away */ - res = attemptReverseConnect(bpm, newContext); - - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_removeReverseConnect(UA_Server *server, UA_UInt64 handle) { - UA_StatusCode result = UA_STATUSCODE_BADNOTFOUND; - - lockServer(server); - - UA_ServerComponent *sc = - getServerComponentByName(server, UA_STRING("binary")); - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; - if(!bpm) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "No BinaryProtocolManager configured"); - unlockServer(server); - return UA_STATUSCODE_BADINTERNALERROR; - } - - reverse_connect_context *rev, *temp; - LIST_FOREACH_SAFE(rev, &bpm->reverseConnects, next, temp) { - if(rev->handle != handle) - continue; - - LIST_REMOVE(rev, next); - - /* Connected -> disconnect, otherwise free immediately */ - if(rev->currentConnection.connectionId) { - UA_ConnectionManager *cm = rev->currentConnection.connectionManager; - rev->destruction = true; - cm->closeConnection(cm, rev->currentConnection.connectionId); - } else { - setReverseConnectState(server, rev, UA_SECURECHANNELSTATE_CLOSED); - UA_String_clear(&rev->hostname); - UA_free(rev); - } - result = UA_STATUSCODE_GOOD; - break; - } - - if(LIST_EMPTY(&bpm->reverseConnects)) - setReverseConnectRetryCallback(bpm, false); - - unlockServer(server); - return result; -} - -static void -serverReverseConnectCallbackLocked(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - (void)params; - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; - UA_LOCK_ASSERT(&bpm->server->serviceMutex, 1); - - UA_LOG_DEBUG(bpm->logging, UA_LOGCATEGORY_SERVER, - "Activity for reverse connect %lu with state %d", - (long unsigned)connectionId, state); - - reverse_connect_context *context = (reverse_connect_context *)*connectionContext; - context->currentConnection.state = state; - - /* New connection */ - if(context->currentConnection.connectionId == 0) { - context->currentConnection.connectionId = connectionId; - context->currentConnection.connectionManager = cm; - setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CONNECTING); - /* Fall through -- e.g. if state == ESTABLISHED already */ - } - - /* The connection is closing. This is the last callback for it. */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - if(context->channel) { - deleteServerSecureChannel(bpm, context->channel); - context->channel = NULL; - } - - /* Delete the ReverseConnect entry */ - if(context->destruction) { - setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CLOSED); - LIST_REMOVE(context, next); - UA_String_clear(&context->hostname); - UA_free(context); - - /* Check if the Binary Protocol Manager is stopped */ - if(bpm->sc.state == UA_LIFECYCLESTATE_STOPPING && - bpm->serverConnectionsSize == 0 && - LIST_EMPTY(&bpm->reverseConnects) && - TAILQ_EMPTY(&bpm->channels)) { - setBinaryProtocolManagerState(bpm->server, bpm, - UA_LIFECYCLESTATE_STOPPED); - } - return; - } - - /* Reset. Will be picked up in the regular retry callback. */ - context->currentConnection.connectionId = 0; - setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CONNECTING); - return; - } - - if(state != UA_CONNECTIONSTATE_ESTABLISHED) - return; - - /* A new connection is opening. This is the only place where - * createSecureChannel is used. */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(!context->channel) { - retval = createServerSecureChannel(bpm, cm, connectionId, &context->channel); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, - "TCP %lu\t| Could not accept the reverse " - "connection with status %s", - (unsigned long)context->currentConnection.connectionId, - UA_StatusCode_name(retval)); - cm->closeConnection(cm, connectionId); - return; - } - - /* Send the RHE message */ - retval = sendRHEMessage(bpm->server, connectionId, cm); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(bpm->logging, UA_LOGCATEGORY_SERVER, - "TCP %lu\t| Could not send the RHE message " - "with status %s", - (unsigned long)context->currentConnection.connectionId, - UA_StatusCode_name(retval)); - cm->closeConnection(cm, connectionId); - return; - } - - context->channel->state = UA_SECURECHANNELSTATE_RHE_SENT; - setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_RHE_SENT); - return; - } - - /* The connection is fully opened and we have a SecureChannel. - * Process the received buffer */ - retval = UA_SecureChannel_loadBuffer(context->channel, msg); - while(UA_LIKELY(retval == UA_STATUSCODE_GOOD)) { - UA_MessageType messageType; - UA_UInt32 requestId = 0; - UA_ByteString payload = UA_BYTESTRING_NULL; - UA_Boolean copied = false; - retval = UA_SecureChannel_getCompleteMessage(context->channel, &messageType, - &requestId, &payload, &copied); - if(retval != UA_STATUSCODE_GOOD || payload.length == 0) - break; - retval = processSecureChannelMessage(bpm->server, context->channel, - messageType, requestId, &payload); - if(copied) - UA_ByteString_clear(&payload); - } - retval |= UA_SecureChannel_persistBuffer(context->channel); - - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(bpm->logging, context->channel, - "Processing the message failed with error %s", - UA_StatusCode_name(retval)); - - /* Processing the buffer failed within the SecureChannel. - * Send an ERR message and close the connection. */ - UA_TcpErrorMessage error; - error.error = retval; - error.reason = UA_STRING_NULL; - UA_SecureChannel_sendError(context->channel, &error); - UA_SecureChannel_shutdown(context->channel, UA_SHUTDOWNREASON_ABORT); - setReverseConnectState(bpm->server, context, UA_SECURECHANNELSTATE_CLOSING); - return; - } - - /* Update the state with the current SecureChannel state */ - setReverseConnectState(bpm->server, context, context->channel->state); -} - -void -serverReverseConnectCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)application; - lockServer(bpm->server); - serverReverseConnectCallbackLocked(cm, connectionId, application, connectionContext, - state, params, msg); - unlockServer(bpm->server); -} - -/***************************/ -/* Binary Protocol Manager */ -/***************************/ - -static UA_StatusCode -UA_BinaryProtocolManager_start(UA_Server *server, - UA_ServerComponent *sc) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)sc; - UA_ServerConfig *config = &server->config; - - UA_StatusCode retVal = - addRepeatedCallback(server, secureChannelHouseKeeping, - bpm, 1000.0, &bpm->houseKeepingCallbackId); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - /* Open server sockets */ - UA_Boolean haveServerSocket = false; - if(config->serverUrlsSize == 0) { - /* Empty hostname -> listen on all devices */ - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "No Server URL configured. Using \"opc.tcp://:4840\" " - "to configure the listen socket."); - UA_String defaultUrl = UA_STRING("opc.tcp://:4840"); - retVal = createServerConnection(bpm, &defaultUrl); - if(retVal == UA_STATUSCODE_GOOD) - haveServerSocket = true; - } else { - for(size_t i = 0; i < config->serverUrlsSize; i++) { - retVal = createServerConnection(bpm, &config->serverUrls[i]); - if(retVal == UA_STATUSCODE_GOOD) - haveServerSocket = true; - } - } - - if(!haveServerSocket) { - UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_SERVER, - "The server has no server socket"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Update the application description to include the server urls for - * discovery. Don't add the urls with an empty host (listening on all - * interfaces) */ - for(size_t i = 0; i < config->serverUrlsSize; i++) { - UA_String hostname = UA_STRING_NULL; - UA_String path = UA_STRING_NULL; - UA_UInt16 port = 0; - retVal = UA_parseEndpointUrl(&config->serverUrls[i], - &hostname, &port, &path); - if(retVal != UA_STATUSCODE_GOOD || hostname.length == 0) - continue; - - /* Check if the ServerUrl is already present in the DiscoveryUrl array. - * Add if not already there. */ - size_t j = 0; - for(; j < config->applicationDescription.discoveryUrlsSize; j++) { - if(UA_String_equal(&config->serverUrls[i], - &config->applicationDescription.discoveryUrls[j])) - break; - } - if(j == config->applicationDescription.discoveryUrlsSize) { - retVal = - UA_Array_appendCopy((void**)&config->applicationDescription.discoveryUrls, - &config->applicationDescription.discoveryUrlsSize, - &config->serverUrls[i], &UA_TYPES[UA_TYPES_STRING]); - (void)retVal; - } - } - - /* Set the state to started */ - setBinaryProtocolManagerState(bpm->server, bpm, - UA_LIFECYCLESTATE_STARTED); - - return UA_STATUSCODE_GOOD; -} - -static void -UA_BinaryProtocolManager_stop(UA_Server *server, - UA_ServerComponent *comp) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*)comp; - - /* Stop the Housekeeping Task */ - removeCallback(server, bpm->houseKeepingCallbackId); - bpm->houseKeepingCallbackId = 0; - - /* Stop the regular retry callback */ - setReverseConnectRetryCallback(bpm, false); - - /* Close or free all reverse connections */ - reverse_connect_context *rev, *rev_tmp; - LIST_FOREACH_SAFE(rev, &bpm->reverseConnects, next, rev_tmp) { - if(rev->currentConnection.connectionId) { - UA_ConnectionManager *cm = rev->currentConnection.connectionManager; - rev->destruction = true; - cm->closeConnection(cm, rev->currentConnection.connectionId); - } else { - LIST_REMOVE(rev, next); - setReverseConnectState(server, rev, UA_SECURECHANNELSTATE_CLOSED); - UA_String_clear(&rev->hostname); - UA_free(rev); - } - } - - /* Stop all SecureChannels */ - channel_entry *entry; - TAILQ_FOREACH(entry, &bpm->channels, pointers) { - UA_SecureChannel_shutdown(&entry->channel, UA_SHUTDOWNREASON_CLOSE); - } - - /* Stop all server sockets */ - for(size_t i = 0; i < UA_MAXSERVERCONNECTIONS; i++) { - UA_ServerConnection *sc = &bpm->serverConnections[i]; - UA_ConnectionManager *cm = sc->connectionManager; - if(sc->connectionId > 0) - cm->closeConnection(cm, sc->connectionId); - } - - /* If open sockets remain, set to STOPPING */ - if(bpm->serverConnectionsSize == 0 && - LIST_EMPTY(&bpm->reverseConnects) && - TAILQ_EMPTY(&bpm->channels)) { - setBinaryProtocolManagerState(bpm->server, bpm, - UA_LIFECYCLESTATE_STOPPED); - } else { - setBinaryProtocolManagerState(bpm->server, bpm, - UA_LIFECYCLESTATE_STOPPING); - } -} - -static UA_StatusCode -UA_BinaryProtocolManager_free(UA_Server *server, - UA_ServerComponent *sc) { - if(sc->state != UA_LIFECYCLESTATE_STOPPED) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_free(sc); - return UA_STATUSCODE_GOOD; -} - -UA_ServerComponent * -UA_BinaryProtocolManager_new(UA_Server *server) { - UA_BinaryProtocolManager *bpm = (UA_BinaryProtocolManager*) - UA_calloc(1, sizeof(UA_BinaryProtocolManager)); - if(!bpm) - return NULL; - - bpm->server = server; - bpm->logging = server->config.logging; - - /* Initialize SecureChannel */ - TAILQ_INIT(&bpm->channels); - - /* TODO: use an ID that is likely to be unique after a restart */ - bpm->lastChannelId = STARTCHANNELID; - bpm->lastTokenId = STARTTOKENID; - - bpm->sc.name = UA_STRING("binary"); - bpm->sc.start = UA_BinaryProtocolManager_start; - bpm->sc.stop = UA_BinaryProtocolManager_stop; - bpm->sc.free = UA_BinaryProtocolManager_free; - return &bpm->sc; -} - -/**** amalgamated original file "/src/server/ua_server_utils.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2016 (c) Lorenz Haas - * Copyright 2017 (c) frax2222 - * Copyright 2017 (c) Florian Palm - * Copyright 2017-2018 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Julian Grothoff - */ - - -const UA_DataType * -UA_Server_findDataType(UA_Server *server, const UA_NodeId *typeId) { - return UA_findDataTypeWithCustom(typeId, server->config.customDataTypes); -} - -/********************************/ -/* Information Model Operations */ -/********************************/ - -static void * -returnFirstType(void *context, UA_ReferenceTarget *t) { - UA_Server *server = (UA_Server*)context; - /* Don't release the node that is returned. - * Continues to iterate if NULL is returned. */ - return (void*)(uintptr_t)UA_NODESTORE_GETFROMREF(server, t->targetId); -} - -const UA_Node * -getNodeType(UA_Server *server, const UA_NodeHead *head) { - /* The reference to the parent is different for variable and variabletype */ - UA_Byte parentRefIndex; - UA_Boolean inverse; - switch(head->nodeClass) { - case UA_NODECLASS_OBJECT: - case UA_NODECLASS_VARIABLE: - parentRefIndex = UA_REFERENCETYPEINDEX_HASTYPEDEFINITION; - inverse = false; - break; - case UA_NODECLASS_OBJECTTYPE: - case UA_NODECLASS_VARIABLETYPE: - case UA_NODECLASS_REFERENCETYPE: - case UA_NODECLASS_DATATYPE: - parentRefIndex = UA_REFERENCETYPEINDEX_HASSUBTYPE; - inverse = true; - break; - default: - return NULL; - } - - /* Return the first matching candidate */ - for(size_t i = 0; i < head->referencesSize; ++i) { - UA_NodeReferenceKind *rk = &head->references[i]; - if(rk->isInverse != inverse) - continue; - if(rk->referenceTypeIndex != parentRefIndex) - continue; - const UA_Node *type = (const UA_Node*) - UA_NodeReferenceKind_iterate(rk, returnFirstType, server); - if(type) - return type; - } - - return NULL; -} - -UA_Boolean -UA_Node_hasSubTypeOrInstances(const UA_NodeHead *head) { - for(size_t i = 0; i < head->referencesSize; ++i) { - if(head->references[i].isInverse == false && - head->references[i].referenceTypeIndex == UA_REFERENCETYPEINDEX_HASSUBTYPE) - return true; - if(head->references[i].isInverse == true && - head->references[i].referenceTypeIndex == UA_REFERENCETYPEINDEX_HASTYPEDEFINITION) - return true; - } - return false; -} - -UA_StatusCode -getParentTypeAndInterfaceHierarchy(UA_Server *server, const UA_NodeId *typeNode, - UA_NodeId **typeHierarchy, size_t *typeHierarchySize) { - UA_ReferenceTypeSet reftypes_subtype = - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); - UA_ExpandedNodeId *subTypes = NULL; - size_t subTypesSize = 0; - UA_StatusCode retval = browseRecursive(server, 1, typeNode, - UA_BROWSEDIRECTION_INVERSE, - &reftypes_subtype, UA_NODECLASS_UNSPECIFIED, - false, &subTypesSize, &subTypes); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - UA_assert(subTypesSize < 1000); - - UA_ReferenceTypeSet reftypes_interface = - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASINTERFACE); - UA_ExpandedNodeId *interfaces = NULL; - size_t interfacesSize = 0; - retval = browseRecursive(server, 1, typeNode, UA_BROWSEDIRECTION_FORWARD, - &reftypes_interface, UA_NODECLASS_UNSPECIFIED, - false, &interfacesSize, &interfaces); - if(retval != UA_STATUSCODE_GOOD) { - UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_NODEID]); - return retval; - } - - UA_assert(interfacesSize < 1000); - - UA_NodeId *hierarchy = (UA_NodeId*) - UA_malloc(sizeof(UA_NodeId) * (1 + subTypesSize + interfacesSize)); - if(!hierarchy) { - UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - UA_Array_delete(interfaces, interfacesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - retval = UA_NodeId_copy(typeNode, hierarchy); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(hierarchy); - UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - UA_Array_delete(interfaces, interfacesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - for(size_t i = 0; i < subTypesSize; i++) { - hierarchy[i+1] = subTypes[i].nodeId; - UA_NodeId_init(&subTypes[i].nodeId); - } - for(size_t i = 0; i < interfacesSize; i++) { - hierarchy[i+1+subTypesSize] = interfaces[i].nodeId; - UA_NodeId_init(&interfaces[i].nodeId); - } - - *typeHierarchy = hierarchy; - *typeHierarchySize = subTypesSize + interfacesSize + 1; - - UA_assert(*typeHierarchySize < 1000); - - UA_Array_delete(subTypes, subTypesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - UA_Array_delete(interfaces, interfacesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -getAllInterfaceChildNodeIds(UA_Server *server, const UA_NodeId *objectNode, - const UA_NodeId *objectTypeNode, - UA_NodeId **interfaceChildNodes, - size_t *interfaceChildNodesSize) { - if(interfaceChildNodesSize == NULL || interfaceChildNodes == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - *interfaceChildNodesSize = 0; - *interfaceChildNodes = NULL; - - UA_ExpandedNodeId *hasInterfaceCandidates = NULL; - size_t hasInterfaceCandidatesSize = 0; - UA_ReferenceTypeSet reftypes_subtype = - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); - - UA_StatusCode retval = - browseRecursive(server, 1, objectTypeNode, UA_BROWSEDIRECTION_INVERSE, - &reftypes_subtype, UA_NODECLASS_OBJECTTYPE, - true, &hasInterfaceCandidatesSize, - &hasInterfaceCandidates); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* The interface could also have been added manually before calling UA_Server_addNode_finish - * This can be handled by adding the object node as a start node for the HasInterface lookup */ - UA_ExpandedNodeId *resizedHasInterfaceCandidates = (UA_ExpandedNodeId*) - UA_realloc(hasInterfaceCandidates, - (hasInterfaceCandidatesSize + 1) * sizeof(UA_ExpandedNodeId)); - - if(!resizedHasInterfaceCandidates) { - if(hasInterfaceCandidates) - UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - hasInterfaceCandidates = resizedHasInterfaceCandidates; - hasInterfaceCandidatesSize += 1; - UA_ExpandedNodeId_init(&hasInterfaceCandidates[hasInterfaceCandidatesSize - 1]); - - UA_ExpandedNodeId_init(&hasInterfaceCandidates[hasInterfaceCandidatesSize - 1]); - UA_NodeId_copy(objectNode, &hasInterfaceCandidates[hasInterfaceCandidatesSize - 1].nodeId); - - size_t outputIndex = 0; - - for(size_t i = 0; i < hasInterfaceCandidatesSize; ++i) { - UA_ReferenceTypeSet reftypes_interface = - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASINTERFACE); - UA_ExpandedNodeId *interfaceChildren = NULL; - size_t interfacesChildrenSize = 0; - retval = browseRecursive(server, 1, &hasInterfaceCandidates[i].nodeId, - UA_BROWSEDIRECTION_FORWARD, - &reftypes_interface, UA_NODECLASS_OBJECTTYPE, - false, &interfacesChildrenSize, &interfaceChildren); - if(retval != UA_STATUSCODE_GOOD) { - UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - if(*interfaceChildNodesSize) { - UA_Array_delete(*interfaceChildNodes, *interfaceChildNodesSize, - &UA_TYPES[UA_TYPES_NODEID]); - *interfaceChildNodesSize = 0; - } - return retval; - } - - UA_assert(interfacesChildrenSize < 1000); - - if(interfacesChildrenSize == 0) { - continue; - } - - if(!*interfaceChildNodes) { - *interfaceChildNodes = (UA_NodeId*) - UA_calloc(interfacesChildrenSize, sizeof(UA_NodeId)); - *interfaceChildNodesSize = interfacesChildrenSize; - - if(!*interfaceChildNodes) { - UA_Array_delete(interfaceChildren, interfacesChildrenSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - } else { - UA_NodeId *resizedInterfaceChildNodes = (UA_NodeId*) - UA_realloc(*interfaceChildNodes, - ((*interfaceChildNodesSize + interfacesChildrenSize) * sizeof(UA_NodeId))); - - if(!resizedInterfaceChildNodes) { - UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - UA_Array_delete(interfaceChildren, interfacesChildrenSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - const size_t oldSize = *interfaceChildNodesSize; - *interfaceChildNodesSize += interfacesChildrenSize; - *interfaceChildNodes = resizedInterfaceChildNodes; - - for(size_t j = oldSize; j < *interfaceChildNodesSize; ++j) - UA_NodeId_init(&(*interfaceChildNodes)[j]); - } - - for(size_t j = 0; j < interfacesChildrenSize; j++) { - (*interfaceChildNodes)[outputIndex++] = interfaceChildren[j].nodeId; - } - - UA_assert(*interfaceChildNodesSize < 1000); - UA_Array_delete(interfaceChildren, interfacesChildrenSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - } - - UA_Array_delete(hasInterfaceCandidates, hasInterfaceCandidatesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - - return UA_STATUSCODE_GOOD; -} - -/* For mulithreading: make a copy of the node, edit and replace. - * For singlethreading: edit the original */ -UA_StatusCode -UA_Server_editNode(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, UA_EditNodeCallback callback, - void *data) { -#ifndef UA_ENABLE_IMMUTABLE_NODES - /* Get the node and process it in-situ */ - const UA_Node *node = UA_NODESTORE_GET(server, nodeId); - if(!node) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - UA_StatusCode retval = callback(server, session, (UA_Node*)(uintptr_t)node, data); - UA_NODESTORE_RELEASE(server, node); - return retval; -#else - UA_StatusCode retval; - do { - /* Get an editable copy of the node */ - UA_Node *node; - retval = UA_NODESTORE_GETCOPY(server, nodeId, &node); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Run the operation on the copy */ - retval = callback(server, session, node, data); - if(retval != UA_STATUSCODE_GOOD) { - UA_NODESTORE_DELETE(server, node); - return retval; - } - - /* Replace the node */ - retval = UA_NODESTORE_REPLACE(server, node); - } while(retval != UA_STATUSCODE_GOOD); - return retval; -#endif -} - -UA_StatusCode -UA_Server_processServiceOperations(UA_Server *server, UA_Session *session, - UA_ServiceOperation operationCallback, - const void *context, const size_t *requestOperations, - const UA_DataType *requestOperationsType, - size_t *responseOperations, - const UA_DataType *responseOperationsType) { - size_t ops = *requestOperations; - if(ops == 0) - return UA_STATUSCODE_BADNOTHINGTODO; - - /* No padding after size_t */ - void **respPos = (void**)((uintptr_t)responseOperations + sizeof(size_t)); - *respPos = UA_Array_new(ops, responseOperationsType); - if(!(*respPos)) - return UA_STATUSCODE_BADOUTOFMEMORY; - - *responseOperations = ops; - uintptr_t respOp = (uintptr_t)*respPos; - /* No padding after size_t */ - uintptr_t reqOp = *(uintptr_t*)((uintptr_t)requestOperations + sizeof(size_t)); - for(size_t i = 0; i < ops; i++) { - operationCallback(server, session, context, (void*)reqOp, (void*)respOp); - reqOp += requestOperationsType->memSize; - respOp += responseOperationsType->memSize; - } - return UA_STATUSCODE_GOOD; -} - -/* A few global NodeId definitions */ -const UA_NodeId subtypeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASSUBTYPE}}; -const UA_NodeId hierarchicalReferences = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HIERARCHICALREFERENCES}}; - -/*********************************/ -/* Default attribute definitions */ -/*********************************/ - -const UA_ObjectAttributes UA_ObjectAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - 0 /* eventNotifier */ -}; - -const UA_VariableAttributes UA_VariableAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - {NULL, UA_VARIANT_DATA, - 0, NULL, 0, NULL}, /* value */ - {0, UA_NODEIDTYPE_NUMERIC, - {UA_NS0ID_BASEDATATYPE}}, /* dataType */ - UA_VALUERANK_ANY, /* valueRank */ - 0, NULL, /* arrayDimensions */ - UA_ACCESSLEVELMASK_READ | /* accessLevel */ - UA_ACCESSLEVELMASK_STATUSWRITE | - UA_ACCESSLEVELMASK_TIMESTAMPWRITE, - 0, /* userAccessLevel */ - 0.0, /* minimumSamplingInterval */ - false /* historizing */ -}; - -const UA_MethodAttributes UA_MethodAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - true, true /* executable (userExecutable) */ -}; - -const UA_ObjectTypeAttributes UA_ObjectTypeAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - false /* isAbstract */ -}; - -const UA_VariableTypeAttributes UA_VariableTypeAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - {NULL, UA_VARIANT_DATA, - 0, NULL, 0, NULL}, /* value */ - {0, UA_NODEIDTYPE_NUMERIC, - {UA_NS0ID_BASEDATATYPE}}, /* dataType */ - UA_VALUERANK_ANY, /* valueRank */ - 0, NULL, /* arrayDimensions */ - false /* isAbstract */ -}; - -const UA_ReferenceTypeAttributes UA_ReferenceTypeAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - false, /* isAbstract */ - false, /* symmetric */ - {{0, NULL}, {0, NULL}} /* inverseName */ -}; - -const UA_DataTypeAttributes UA_DataTypeAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - false /* isAbstract */ -}; - -const UA_ViewAttributes UA_ViewAttributes_default = { - 0, /* specifiedAttributes */ - {{0, NULL}, {0, NULL}}, /* displayName */ - {{0, NULL}, {0, NULL}}, /* description */ - 0, 0, /* writeMask (userWriteMask) */ - false, /* containsNoLoops */ - 0 /* eventNotifier */ -}; - - -/**** amalgamated original file "/src/server/ua_server_async.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2019 (c) Fraunhofer IOSB (Author: Klaus Schick) - * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#if UA_MULTITHREADING >= 100 - -static void -UA_AsyncOperation_delete(UA_AsyncOperation *ar) { - UA_CallMethodRequest_clear(&ar->request); - UA_CallMethodResult_clear(&ar->response); - UA_free(ar); -} - -static void -UA_AsyncManager_sendAsyncResponse(UA_AsyncManager *am, UA_Server *server, - UA_AsyncResponse *ar) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOCK_ASSERT(&am->queueLock, 1); - - /* Get the session */ - UA_Session* session = getSessionById(server, &ar->sessionId); - if(!session) { - UA_String sessionId = UA_STRING_NULL; - UA_NodeId_print(&ar->sessionId, &sessionId); - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Async Service: Session %.*s no longer exists", - (int)sessionId.length, sessionId.data); - UA_String_clear(&sessionId); - UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); - return; - } - - /* Check the channel */ - UA_SecureChannel *channel = session->header.channel; - if(!channel) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "Async Service Response cannot be sent. " - "No SecureChannel for the session."); - UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); - return; - } - - /* Set the request handle */ - UA_ResponseHeader *responseHeader = (UA_ResponseHeader*) - &ar->response.callResponse.responseHeader; - responseHeader->requestHandle = ar->requestHandle; - - /* Send the Response */ - UA_StatusCode res = - sendResponse(server, session, channel, ar->requestId, - (UA_Response*)&ar->response, &UA_TYPES[UA_TYPES_CALLRESPONSE]); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "Async Response for Req# %" PRIu32 " failed " - "with StatusCode %s", ar->requestId, - UA_StatusCode_name(res)); - } - UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); -} - -/* Integrate operation result in the AsyncResponse and send out the response if - * it is ready. */ -static UA_Boolean -integrateOperationResult(UA_AsyncManager *am, UA_Server *server, - UA_AsyncOperation *ao) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOCK_ASSERT(&am->queueLock, 1); - - /* Grab the open request, so we can continue to construct the response */ - UA_AsyncResponse *ar = ao->parent; - - /* Reduce the number of open results */ - ar->opCountdown -= 1; - - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "Return result in the server thread with %" PRIu32 " remaining", - ar->opCountdown); - - /* Move the UA_CallMethodResult to UA_CallResponse */ - ar->response.callResponse.results[ao->index] = ao->response; - UA_CallMethodResult_init(&ao->response); - - /* Done with all operations -> send the response */ - UA_Boolean done = (ar->opCountdown == 0); - if(done) - UA_AsyncManager_sendAsyncResponse(am, server, ar); - return done; -} - -/* Process all operations in the result queue -> move content over to the - * AsyncResponse. This is only done by the server thread. Returns the nmber of - * completed async sesponses. */ -static UA_UInt32 -processAsyncResults(UA_Server *server) { - UA_AsyncManager *am = &server->asyncManager; - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_UInt32 count = 0; - UA_AsyncOperation *ao; - UA_LOCK(&am->queueLock); - while((ao = TAILQ_FIRST(&am->resultQueue))) { - TAILQ_REMOVE(&am->resultQueue, ao, pointers); - if(integrateOperationResult(am, server, ao)) - count++; - UA_AsyncOperation_delete(ao); - /* Pacify clang-analyzer */ - UA_assert(TAILQ_FIRST(&am->resultQueue) != ao); - am->opsCount--; - } - UA_UNLOCK(&am->queueLock); - return count; -} - -/* Check if any operations have timed out */ -static void -checkTimeouts(UA_Server *server, void *_) { - /* Timeouts are not configured */ - if(server->config.asyncOperationTimeout <= 0.0) - return; - - UA_AsyncManager *am = &server->asyncManager; - const UA_DateTime tNow = UA_DateTime_now(); - - UA_LOCK(&am->queueLock); - - /* Loop over the queue of dispatched ops */ - UA_AsyncOperation *op = NULL, *op_tmp = NULL; - TAILQ_FOREACH_SAFE(op, &am->dispatchedQueue, pointers, op_tmp) { - /* The timeout has not passed. Also for all elements following in the queue. */ - if(tNow <= op->parent->timeout) - break; - - /* Mark as timed out and put it into the result queue */ - op->response.statusCode = UA_STATUSCODE_BADTIMEOUT; - TAILQ_REMOVE(&am->dispatchedQueue, op, pointers); - TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Operation was removed due to a timeout"); - } - - /* Loop over the queue of new ops */ - TAILQ_FOREACH_SAFE(op, &am->newQueue, pointers, op_tmp) { - /* The timeout has not passed. Also for all elements following in the queue. */ - if(tNow <= op->parent->timeout) - break; - - /* Mark as timed out and put it into the result queue */ - op->response.statusCode = UA_STATUSCODE_BADTIMEOUT; - TAILQ_REMOVE(&am->newQueue, op, pointers); - TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Operation was removed due to a timeout"); - } - - UA_UNLOCK(&am->queueLock); - - /* Integrate async results and send out complete responses */ - lockServer(server); - processAsyncResults(server); - unlockServer(server); -} - -void -UA_AsyncManager_init(UA_AsyncManager *am, UA_Server *server) { - memset(am, 0, sizeof(UA_AsyncManager)); - TAILQ_INIT(&am->asyncResponses); - TAILQ_INIT(&am->newQueue); - TAILQ_INIT(&am->dispatchedQueue); - TAILQ_INIT(&am->resultQueue); - UA_LOCK_INIT(&am->queueLock); - - /* Add a regular callback for cleanup and sending finished responses at a - * 1s interval. */ - addRepeatedCallback(server, (UA_ServerCallback)checkTimeouts, - NULL, 1000.0, &am->checkTimeoutCallbackId); -} - -void -UA_AsyncManager_clear(UA_AsyncManager *am, UA_Server *server) { - removeCallback(server, am->checkTimeoutCallbackId); - - UA_AsyncOperation *ar, *ar_tmp; - - /* Clean up queues */ - UA_LOCK(&am->queueLock); - TAILQ_FOREACH_SAFE(ar, &am->newQueue, pointers, ar_tmp) { - TAILQ_REMOVE(&am->newQueue, ar, pointers); - UA_AsyncOperation_delete(ar); - } - TAILQ_FOREACH_SAFE(ar, &am->dispatchedQueue, pointers, ar_tmp) { - TAILQ_REMOVE(&am->dispatchedQueue, ar, pointers); - UA_AsyncOperation_delete(ar); - } - TAILQ_FOREACH_SAFE(ar, &am->resultQueue, pointers, ar_tmp) { - TAILQ_REMOVE(&am->resultQueue, ar, pointers); - UA_AsyncOperation_delete(ar); - } - UA_UNLOCK(&am->queueLock); - - /* Remove responses */ - UA_AsyncResponse *current, *temp; - TAILQ_FOREACH_SAFE(current, &am->asyncResponses, pointers, temp) { - UA_AsyncManager_removeAsyncResponse(am, current); - } - - /* Delete all locks */ - UA_LOCK_DESTROY(&am->queueLock); -} - -UA_StatusCode -UA_AsyncManager_createAsyncResponse(UA_AsyncManager *am, UA_Server *server, - const UA_NodeId *sessionId, - const UA_UInt32 requestId, const UA_UInt32 requestHandle, - const UA_AsyncOperationType operationType, - UA_AsyncResponse **outAr) { - UA_AsyncResponse *newentry = (UA_AsyncResponse*)UA_calloc(1, sizeof(UA_AsyncResponse)); - if(!newentry) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_StatusCode res = UA_NodeId_copy(sessionId, &newentry->sessionId); - if(res != UA_STATUSCODE_GOOD) { - UA_free(newentry); - return res; - } - - am->asyncResponsesCount += 1; - newentry->requestId = requestId; - newentry->requestHandle = requestHandle; - newentry->timeout = UA_DateTime_now(); - if(server->config.asyncOperationTimeout > 0.0) - newentry->timeout += (UA_DateTime) - (server->config.asyncOperationTimeout * (UA_DateTime)UA_DATETIME_MSEC); - TAILQ_INSERT_TAIL(&am->asyncResponses, newentry, pointers); - - *outAr = newentry; - return UA_STATUSCODE_GOOD; -} - -/* Remove entry and free all allocated data */ -void -UA_AsyncManager_removeAsyncResponse(UA_AsyncManager *am, UA_AsyncResponse *ar) { - TAILQ_REMOVE(&am->asyncResponses, ar, pointers); - am->asyncResponsesCount -= 1; - UA_CallResponse_clear(&ar->response.callResponse); - UA_NodeId_clear(&ar->sessionId); - UA_free(ar); -} - -/* Enqueue next MethodRequest */ -UA_StatusCode -UA_AsyncManager_createAsyncOp(UA_AsyncManager *am, UA_Server *server, - UA_AsyncResponse *ar, size_t opIndex, - const UA_CallMethodRequest *opRequest) { - if(server->config.maxAsyncOperationQueueSize != 0 && - am->opsCount >= server->config.maxAsyncOperationQueueSize) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_Server_SetNextAsyncMethod: Queue exceeds limit (%d).", - (int unsigned)server->config.maxAsyncOperationQueueSize); - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - - UA_AsyncOperation *ao = (UA_AsyncOperation*)UA_calloc(1, sizeof(UA_AsyncOperation)); - if(!ao) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_Server_SetNextAsyncMethod: Mem alloc failed."); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_StatusCode result = UA_CallMethodRequest_copy(opRequest, &ao->request); - if(result != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_Server_SetAsyncMethodResult: UA_CallMethodRequest_copy failed."); - UA_free(ao); - return result; - } - - UA_CallMethodResult_init(&ao->response); - ao->index = opIndex; - ao->parent = ar; - - UA_LOCK(&am->queueLock); - TAILQ_INSERT_TAIL(&am->newQueue, ao, pointers); - am->opsCount++; - ar->opCountdown++; - UA_UNLOCK(&am->queueLock); - - if(server->config.asyncOperationNotifyCallback) - server->config.asyncOperationNotifyCallback(server); - - return UA_STATUSCODE_GOOD; -} - -/* Get and remove next Method Call Request */ -UA_Boolean -UA_Server_getAsyncOperationNonBlocking(UA_Server *server, UA_AsyncOperationType *type, - const UA_AsyncOperationRequest **request, - void **context, UA_DateTime *timeout) { - UA_AsyncManager *am = &server->asyncManager; - - UA_Boolean bRV = false; - *type = UA_ASYNCOPERATIONTYPE_INVALID; - UA_LOCK(&am->queueLock); - UA_AsyncOperation *ao = TAILQ_FIRST(&am->newQueue); - if(ao) { - TAILQ_REMOVE(&am->newQueue, ao, pointers); - TAILQ_INSERT_TAIL(&am->dispatchedQueue, ao, pointers); - *type = UA_ASYNCOPERATIONTYPE_CALL; - *request = (UA_AsyncOperationRequest*)&ao->request; - *context = (void*)ao; - if(timeout) - *timeout = ao->parent->timeout; - bRV = true; - } - UA_UNLOCK(&am->queueLock); - - return bRV; -} - -/* Worker submits Method Call Response */ -void -UA_Server_setAsyncOperationResult(UA_Server *server, - const UA_AsyncOperationResponse *response, - void *context) { - UA_AsyncManager *am = &server->asyncManager; - - UA_AsyncOperation *ao = (UA_AsyncOperation*)context; - if(!ao) { - /* Something went wrong. Not a good AsyncOp. */ - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_Server_SetAsyncMethodResult: Invalid context"); - return; - } - - UA_LOCK(&am->queueLock); - - /* See if the operation is still in the dispatched queue. Otherwise it has - * been removed due to a timeout. - * - * TODO: Add a tree-structure for the dispatch queue. The linear lookup does - * not scale. */ - UA_Boolean found = false; - UA_AsyncOperation *op = NULL; - TAILQ_FOREACH(op, &am->dispatchedQueue, pointers) { - if(op == ao) { - found = true; - break; - } - } - - if(!found) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_Server_SetAsyncMethodResult: The operation has timed out"); - UA_UNLOCK(&am->queueLock); - return; - } - - /* Copy the result into the internal AsyncOperation */ - UA_StatusCode result = - UA_CallMethodResult_copy(&response->callMethodResult, &ao->response); - if(result != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_Server_SetAsyncMethodResult: UA_CallMethodResult_copy failed."); - ao->response.statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Move to the result queue */ - TAILQ_REMOVE(&am->dispatchedQueue, ao, pointers); - TAILQ_INSERT_TAIL(&am->resultQueue, ao, pointers); - - UA_UNLOCK(&am->queueLock); - - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "Set the result from the worker thread"); -} - -/******************/ -/* Server Methods */ -/******************/ - -static UA_StatusCode -setMethodNodeAsync(UA_Server *server, UA_Session *session, - UA_Node *node, UA_Boolean *isAsync) { - if(node->head.nodeClass != UA_NODECLASS_METHOD) - return UA_STATUSCODE_BADNODECLASSINVALID; - node->methodNode.async = *isAsync; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_setMethodNodeAsync(UA_Server *server, const UA_NodeId id, - UA_Boolean isAsync) { - lockServer(server); - UA_StatusCode res = - UA_Server_editNode(server, &server->adminSession, &id, - (UA_EditNodeCallback)setMethodNodeAsync, &isAsync); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_processServiceOperationsAsync(UA_Server *server, UA_Session *session, - UA_UInt32 requestId, UA_UInt32 requestHandle, - UA_AsyncServiceOperation operationCallback, - const size_t *requestOperations, - const UA_DataType *requestOperationsType, - size_t *responseOperations, - const UA_DataType *responseOperationsType, - UA_AsyncResponse **ar) { - size_t ops = *requestOperations; - if(ops == 0) - return UA_STATUSCODE_BADNOTHINGTODO; - - /* Allocate the response array. No padding after size_t */ - void **respPos = (void**)((uintptr_t)responseOperations + sizeof(size_t)); - *respPos = UA_Array_new(ops, responseOperationsType); - if(!*respPos) - return UA_STATUSCODE_BADOUTOFMEMORY; - *responseOperations = ops; - - /* Finish / dispatch the operations. This may allocate a new AsyncResponse internally */ - uintptr_t respOp = (uintptr_t)*respPos; - uintptr_t reqOp = *(uintptr_t*)((uintptr_t)requestOperations + sizeof(size_t)); - for(size_t i = 0; i < ops; i++) { - operationCallback(server, session, requestId, requestHandle, - i, (void*)reqOp, (void*)respOp, ar); - reqOp += requestOperationsType->memSize; - respOp += responseOperationsType->memSize; - } - - return UA_STATUSCODE_GOOD; -} - -UA_UInt32 -UA_AsyncManager_cancel(UA_Server *server, UA_Session *session, UA_UInt32 requestHandle) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_AsyncManager *am = &server->asyncManager; - - UA_LOCK(&am->queueLock); - - /* Loop over the queue of dispatched ops */ - UA_AsyncOperation *op = NULL, *op_tmp = NULL; - TAILQ_FOREACH_SAFE(op, &am->dispatchedQueue, pointers, op_tmp) { - if(op->parent->requestHandle != requestHandle || - !UA_NodeId_equal(&session->sessionId, &op->parent->sessionId)) - continue; - - /* Set status and put it into the result queue */ - op->response.statusCode = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; - TAILQ_REMOVE(&am->dispatchedQueue, op, pointers); - TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); - - /* Also set the status of the overall response */ - op->parent->response.callResponse.responseHeader. - serviceResult = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; - } - - /* Idem for waiting ops */ - TAILQ_FOREACH_SAFE(op, &am->newQueue, pointers, op_tmp) { - if(op->parent->requestHandle != requestHandle || - !UA_NodeId_equal(&session->sessionId, &op->parent->sessionId)) - continue; - - /* Mark as timed out and put it into the result queue */ - op->response.statusCode = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; - TAILQ_REMOVE(&am->newQueue, op, pointers); - TAILQ_INSERT_TAIL(&am->resultQueue, op, pointers); - - op->parent->response.callResponse.responseHeader. - serviceResult = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; - } - - UA_UNLOCK(&am->queueLock); - - /* Process messages that have all ops completed */ - return processAsyncResults(server); -} - -#endif - -/**** amalgamated original file "/src/server/ua_services_view.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) LEvertz - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015 (c) Ecosmos - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) Lorenz Haas - * Copyright 2017 (c) pschoppe - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017 (c) Henrik Norrman - */ - - -#define UA_MAX_TREE_RECURSE 50 /* How deep up/down the tree do we recurse at most? */ - -static UA_UInt32 -resultMask2AttributesMask(UA_UInt32 resultMask) { - UA_UInt32 result = 0; - if(resultMask & UA_BROWSERESULTMASK_NODECLASS) - result |= UA_NODEATTRIBUTESMASK_NODECLASS; - if(resultMask & UA_BROWSERESULTMASK_BROWSENAME) - result |= UA_NODEATTRIBUTESMASK_BROWSENAME; - if(resultMask & UA_BROWSERESULTMASK_DISPLAYNAME) - result |= UA_NODEATTRIBUTESMASK_DISPLAYNAME; - return result; -} - -UA_StatusCode -referenceTypeIndices(UA_Server *server, const UA_NodeId *refType, - UA_ReferenceTypeSet *indices, UA_Boolean includeSubtypes) { - if(UA_NodeId_isNull(refType)) { - *indices = UA_REFERENCETYPESET_ALL; - return UA_STATUSCODE_GOOD; - } - - UA_ReferenceTypeSet_init(indices); - - /* Get the node with only the NodeClass attribute. If it is a - * ReferenceTypeNode, then the indices are always included, as this is an - * open62541 specific field (not selectable via the attribute id). */ - const UA_Node *refNode = - UA_NODESTORE_GET_SELECTIVE(server, refType, - UA_NODEATTRIBUTESMASK_NODECLASS, - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - - if(!refNode) - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - - if(refNode->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { - UA_NODESTORE_RELEASE(server, refNode); - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - } - - if(!includeSubtypes) - *indices = UA_REFTYPESET(refNode->referenceTypeNode.referenceTypeIndex); - else - *indices = refNode->referenceTypeNode.subTypes; - - UA_NODESTORE_RELEASE(server, refNode); - return UA_STATUSCODE_GOOD; -} - -static UA_Boolean -matchClassMask(const UA_Node *node, UA_UInt32 nodeClassMask) { - if(nodeClassMask != UA_NODECLASS_UNSPECIFIED && - (node->head.nodeClass & nodeClassMask) == 0) - return false; - return true; -} - -/****************/ -/* IsNodeInTree */ -/****************/ - -/* Internal method to check if a node is already upwards from a leaf node */ - -static enum ZIP_CMP -cmpRefTarget(const void *a, const void *b) { - const UA_ReferenceTarget *aa = (const UA_ReferenceTarget*)a; - const UA_ReferenceTarget *bb = (const UA_ReferenceTarget*)b; - return (enum ZIP_CMP)UA_NodePointer_order(aa->targetId, bb->targetId); -} - -typedef ZIP_HEAD(UA_ParentRefsTree, UA_ReferenceTargetTreeElem) UA_ParentRefsTree; -ZIP_FUNCTIONS(UA_ParentRefsTree, UA_ReferenceTargetTreeElem, idTreeEntry, - UA_NodePointer, target, cmpRefTarget) - -struct IsNodeInTreeContext { - UA_Server *server; - UA_NodePointer nodeToFind; - UA_ParentRefsTree parents; - UA_ReferenceTypeSet relevantRefs; - UA_UInt16 depth; -}; - -static void * -isNodeInTreeIterateCallback(void *context, UA_ReferenceTarget *t) { - struct IsNodeInTreeContext *tc = - (struct IsNodeInTreeContext*)context; - - /* Don't follow remote targets */ - if(!UA_NodePointer_isLocal(t->targetId)) - return NULL; - - /* Found the node? -> return non-NULL */ - if(UA_NodePointer_equal(tc->nodeToFind, t->targetId)) - return (void*)0x01; - - /* Prevent endless loop */ - if(ZIP_FIND(UA_ParentRefsTree, &tc->parents, &t->targetId)) - return NULL; - - /* Prevent pathological recursion depth */ - if(tc->depth >= UA_MAX_TREE_RECURSE) - return NULL; - - /* Get the node without attributes (if the NodeStore supports it) and only - * the relevant references in inverse direction */ - const UA_Node *node = - UA_NODESTORE_GETFROMREF_SELECTIVE(tc->server, t->targetId, - UA_NODEATTRIBUTESMASK_NONE, - tc->relevantRefs, - UA_BROWSEDIRECTION_INVERSE); - if(!node) - return NULL; - - /* Add current NodeId to parents tree */ - UA_ReferenceTargetTreeElem stackElem; - stackElem.target = *t; - ZIP_INSERT(UA_ParentRefsTree, &tc->parents, &stackElem); - - /* Recurse into appropriate references starting from this tree */ - tc->depth++; - void *res = NULL; - for(size_t i = 0; i < node->head.referencesSize && !res; i++) { - UA_NodeReferenceKind *rk = &node->head.references[i]; - /* Search upwards in the tree */ - if(!rk->isInverse) - continue; - - /* Consider only the indicated reference types */ - if(!UA_ReferenceTypeSet_contains(&tc->relevantRefs, rk->referenceTypeIndex)) - continue; - - res = UA_NodeReferenceKind_iterate(rk, isNodeInTreeIterateCallback, tc); - } - tc->depth--; - - /* Clean up */ - UA_NODESTORE_RELEASE(tc->server, node); - ZIP_REMOVE(UA_ParentRefsTree, &tc->parents, &stackElem); - return res; -} - -UA_Boolean -isNodeInTree(UA_Server *server, const UA_NodeId *leafNode, - const UA_NodeId *nodeToFind, - const UA_ReferenceTypeSet *relevantRefs) { - struct IsNodeInTreeContext ctx; - memset(&ctx, 0, sizeof(struct IsNodeInTreeContext)); - ctx.server = server; - ctx.nodeToFind = UA_NodePointer_fromNodeId(nodeToFind); - ctx.relevantRefs = *relevantRefs; - UA_ReferenceTarget tmpTarget; - memset(&tmpTarget, 0, sizeof(UA_ReferenceTarget)); - tmpTarget.targetId = UA_NodePointer_fromNodeId(leafNode); - return (isNodeInTreeIterateCallback(&ctx, &tmpTarget) != NULL); -} - -UA_Boolean -isNodeInTree_singleRef(UA_Server *server, const UA_NodeId *leafNode, - const UA_NodeId *nodeToFind, const UA_Byte relevantRefTypeIndex) { - UA_ReferenceTypeSet reftypes = UA_REFTYPESET(relevantRefTypeIndex); - return isNodeInTree(server, leafNode, nodeToFind, &reftypes); -} - -static enum ZIP_CMP -cmpTarget(const void *a, const void *b) { - const RefEntry *aa = (const RefEntry*)a; - const RefEntry *bb = (const RefEntry*)b; - if(aa->targetHash < bb->targetHash) - return ZIP_CMP_LESS; - if(aa->targetHash > bb->targetHash) - return ZIP_CMP_MORE; - return (enum ZIP_CMP)UA_ExpandedNodeId_order(aa->target, bb->target); -} - -ZIP_FUNCTIONS(RefHead, RefEntry, zipfields, RefEntry, zipfields, cmpTarget) - -UA_StatusCode -RefTree_init(RefTree *rt) { - rt->size = 0; - rt->capacity = 0; - ZIP_INIT(&rt->head); - size_t space = (sizeof(UA_ExpandedNodeId) + sizeof(RefEntry)) * UA_REFTREE_INITIAL_SIZE; - rt->targets = (UA_ExpandedNodeId*)UA_malloc(space); - if(!rt->targets) - return UA_STATUSCODE_BADOUTOFMEMORY; - rt->capacity = UA_REFTREE_INITIAL_SIZE; - return UA_STATUSCODE_GOOD; -} - -void -RefTree_clear(RefTree *rt) { - for(size_t i = 0; i < rt->size; i++) - UA_ExpandedNodeId_clear(&rt->targets[i]); - if(rt->targets) - UA_free(rt->targets); -} - -/* Double the capacity of the reftree */ -static UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT -RefTree_double(RefTree *rt) { - size_t capacity = rt->capacity * 2; - UA_assert(capacity > 0); - size_t space = (sizeof(UA_ExpandedNodeId) + sizeof(RefEntry)) * capacity; - UA_ExpandedNodeId *newTargets = (UA_ExpandedNodeId*)UA_realloc(rt->targets, space); - if(!newTargets) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Move the entries to the new location */ - RefEntry *reArray = (RefEntry*) - ((uintptr_t)newTargets + (capacity * sizeof(UA_ExpandedNodeId))); - RefEntry *oldReArray = (RefEntry*) - ((uintptr_t)newTargets + (rt->capacity * sizeof(UA_ExpandedNodeId))); - memmove(reArray, oldReArray, rt->size * sizeof(RefEntry)); - - /* Reinsert all entries into the tree. The new pointer location has changed - * their ziptree rank. */ - rt->head.root = NULL; - for(size_t i = 0; i < rt->size; i++) { - reArray[i].target = &newTargets[i]; - ZIP_INSERT(RefHead, &rt->head, &reArray[i]); - } - - rt->capacity = capacity; - rt->targets = newTargets; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -RefTree_add(RefTree *rt, UA_NodePointer target, UA_Boolean *duplicate) { - UA_ExpandedNodeId en = UA_NodePointer_toExpandedNodeId(target); - - /* Is the target already in the tree? */ - RefEntry dummy; - memset(&dummy, 0, sizeof(RefEntry)); - dummy.target = &en; - dummy.targetHash = UA_ExpandedNodeId_hash(&en); - if(ZIP_FIND(RefHead, &rt->head, &dummy)) { - if(duplicate) - *duplicate = true; - return UA_STATUSCODE_GOOD; - } - - UA_StatusCode s = UA_STATUSCODE_GOOD; - if(rt->capacity <= rt->size) { - s = RefTree_double(rt); - if(s != UA_STATUSCODE_GOOD) - return s; - } - s = UA_ExpandedNodeId_copy(&en, &rt->targets[rt->size]); - if(s != UA_STATUSCODE_GOOD) - return s; - RefEntry *re = (RefEntry*)((uintptr_t)rt->targets + - (sizeof(UA_ExpandedNodeId) * rt->capacity) + - (sizeof(RefEntry) * rt->size)); - re->target = &rt->targets[rt->size]; - re->targetHash = dummy.targetHash; - ZIP_INSERT(RefHead, &rt->head, re); - rt->size++; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -RefTree_addNodeId(RefTree *rt, const UA_NodeId *target, - UA_Boolean *duplicate) { - return RefTree_add(rt, UA_NodePointer_fromNodeId(target), duplicate); -} - -UA_Boolean -RefTree_contains(RefTree *rt, const UA_ExpandedNodeId *target) { - RefEntry dummy; - dummy.target = target; - dummy.targetHash = UA_ExpandedNodeId_hash(target); - return !!ZIP_FIND(RefHead, &rt->head, &dummy); -} - -UA_Boolean -RefTree_containsNodeId(RefTree *rt, const UA_NodeId *target) { - UA_ExpandedNodeId en; - en.nodeId = *target; - en.namespaceUri = UA_STRING_NULL; - en.serverIndex = 0; - return RefTree_contains(rt, &en); -} - -/********************/ -/* Browse Recursive */ -/********************/ - -struct BrowseRecursiveContext { - UA_Server *server; - RefTree *rt; - UA_UInt16 depth; - UA_BrowseDirection browseDirection; - UA_ReferenceTypeSet refTypes; - UA_UInt32 nodeClassMask; - UA_StatusCode status; - UA_Boolean includeStartNodes; -}; - -static void * -browseRecursiveCallback(void *context, UA_ReferenceTarget *t) { - struct BrowseRecursiveContext *brc = - (struct BrowseRecursiveContext*)context; - - /* Have we reached the max recursion depth? */ - if(brc->depth >= UA_MAX_TREE_RECURSE) - return NULL; - - /* Is this a non-local reference? If yes include it in the returned set. */ - if(!UA_NodePointer_isLocal(t->targetId)) { - brc->status = RefTree_add(brc->rt, t->targetId, NULL); - return (brc->status == UA_STATUSCODE_GOOD) ? NULL : (void*)0x01; - } - - /* We only look at the NodeClass attribute and a subset of the references. - * Get a node with only these elements if the NodeStore supports that. */ - const UA_Node *node = - UA_NODESTORE_GETFROMREF_SELECTIVE(brc->server, t->targetId, - UA_NODEATTRIBUTESMASK_NODECLASS, - brc->refTypes, brc->browseDirection); - if(!node) - return NULL; - - /* Add the current node if we don't want to skip it as a start node and it - * matches the nodeClassMask filter Recurse into the children in any - * case. */ - const UA_NodeHead *head = &node->head; - if((brc->includeStartNodes || brc->depth > 0) && - matchClassMask(node, brc->nodeClassMask)) { - UA_Boolean duplicate = false; - brc->status = RefTree_addNodeId(brc->rt, &head->nodeId, &duplicate); - if(duplicate || brc->status != UA_STATUSCODE_GOOD) - goto cleanup; - } - - /* Recurse */ - brc->depth++; - void *res = NULL; - for(size_t i = 0; i < head->referencesSize && !res; i++) { - UA_NodeReferenceKind *rk = &head->references[i]; - - /* Reference in the right direction? */ - if(rk->isInverse && brc->browseDirection == UA_BROWSEDIRECTION_FORWARD) - continue; - if(!rk->isInverse && brc->browseDirection == UA_BROWSEDIRECTION_INVERSE) - continue; - - /* Is the reference part of the hierarchy of references we look for? */ - if(!UA_ReferenceTypeSet_contains(&brc->refTypes, rk->referenceTypeIndex)) - continue; - - res = UA_NodeReferenceKind_iterate(rk, browseRecursiveCallback, brc); - } - brc->depth--; - - cleanup: - UA_NODESTORE_RELEASE(brc->server, node); - return (brc->status == UA_STATUSCODE_GOOD) ? NULL : (void*)0x01; -} - -UA_StatusCode -browseRecursive(UA_Server *server, size_t startNodesSize, const UA_NodeId *startNodes, - UA_BrowseDirection browseDirection, const UA_ReferenceTypeSet *refTypes, - UA_UInt32 nodeClassMask, UA_Boolean includeStartNodes, - size_t *resultsSize, UA_ExpandedNodeId **results) { - RefTree rt; - UA_StatusCode retval = RefTree_init(&rt); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - struct BrowseRecursiveContext brc; - brc.server = server; - brc.rt = &rt; - brc.depth = 0; - brc.refTypes = *refTypes; - brc.nodeClassMask = nodeClassMask; - brc.status = UA_STATUSCODE_GOOD; - brc.includeStartNodes = includeStartNodes; - - for(size_t i = 0; i < startNodesSize && brc.status == UA_STATUSCODE_GOOD; i++) { - UA_ReferenceTarget target; - target.targetId = UA_NodePointer_fromNodeId(&startNodes[i]); - - /* Call the inner recursive browse separately for the search direction. - * Otherwise we might take one step up and another step down in the - * search tree. */ - if(browseDirection == UA_BROWSEDIRECTION_FORWARD || - browseDirection == UA_BROWSEDIRECTION_BOTH) { - brc.browseDirection = UA_BROWSEDIRECTION_FORWARD; - browseRecursiveCallback(&brc, &target); - } - - if(browseDirection == UA_BROWSEDIRECTION_INVERSE || - browseDirection == UA_BROWSEDIRECTION_BOTH) { - brc.browseDirection = UA_BROWSEDIRECTION_INVERSE; - browseRecursiveCallback(&brc, &target); - } - } - - if(rt.size > 0 && brc.status == UA_STATUSCODE_GOOD) { - *results = rt.targets; - *resultsSize = rt.size; - } else { - RefTree_clear(&rt); - } - return brc.status; -} - -UA_StatusCode -UA_Server_browseRecursive(UA_Server *server, const UA_BrowseDescription *bd, - size_t *resultsSize, UA_ExpandedNodeId **results) { - lockServer(server); - - /* Set the list of relevant reference types */ - UA_ReferenceTypeSet refTypes; - UA_StatusCode retval = referenceTypeIndices(server, &bd->referenceTypeId, - &refTypes, bd->includeSubtypes); - if(retval != UA_STATUSCODE_GOOD) { - unlockServer(server); - return retval; - } - - /* Browse */ - retval = browseRecursive(server, 1, &bd->nodeId, bd->browseDirection, - &refTypes, bd->nodeClassMask, false, resultsSize, results); - - unlockServer(server); - return retval; -} - -/**********/ -/* Browse */ -/**********/ - -typedef struct { - size_t size; - size_t capacity; - UA_ReferenceDescription *descr; -} RefResult; - -static UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT -RefResult_init(RefResult *rr) { - memset(rr, 0, sizeof(RefResult)); - rr->descr = (UA_ReferenceDescription*) - UA_Array_new(UA_REFTREE_INITIAL_SIZE, &UA_TYPES[UA_TYPES_REFERENCEDESCRIPTION]); - if(!rr->descr) - return UA_STATUSCODE_BADOUTOFMEMORY; - rr->capacity = UA_REFTREE_INITIAL_SIZE; - rr->size = 0; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode UA_FUNC_ATTR_WARN_UNUSED_RESULT -RefResult_double(RefResult *rr) { - size_t newSize = rr->capacity * 2; - UA_ReferenceDescription *rd = (UA_ReferenceDescription*) - UA_realloc(rr->descr, newSize * sizeof(UA_ReferenceDescription)); - if(!rd) - return UA_STATUSCODE_BADOUTOFMEMORY; - memset(&rd[rr->size], 0, sizeof(UA_ReferenceDescription) * (newSize - rr->size)); - rr->descr = rd; - rr->capacity = newSize; - return UA_STATUSCODE_GOOD; -} - -static void -RefResult_clear(RefResult *rr) { - UA_assert(rr->descr != NULL); - for(size_t i = 0; i < rr->size; i++) - UA_ReferenceDescription_clear(&rr->descr[i]); - UA_free(rr->descr); -} - -struct ContinuationPoint { - ContinuationPoint *next; - UA_ByteString identifier; - - /* Parameters of the Browse Request */ - UA_BrowseDescription browseDescription; - UA_UInt32 maxReferences; - UA_ReferenceTypeSet relevantReferences; - - /* The last reference target that was transmitted to the client. The results - * list may be incomplete if the last target is removed or references added - * between the calls to Browse/BrowseNext. */ - UA_NodePointer lastTarget; - UA_Byte lastRefKindIndex; - UA_Boolean lastRefInverse; -}; - -ContinuationPoint * -ContinuationPoint_clear(ContinuationPoint *cp) { - UA_ByteString_clear(&cp->identifier); - UA_BrowseDescription_clear(&cp->browseDescription); - UA_NodePointer_clear(&cp->lastTarget); - return cp->next; -} - -struct BrowseContext { - /* Context */ - ContinuationPoint *cp; - UA_Server *server; - UA_Session *session; - UA_NodeReferenceKind *rk; - UA_ReferenceTypeSet resultRefs; /* With additional references for type - * lookups */ - UA_Boolean activeCP; /* true during "forwarding" to the position of the last - * reference target */ - - /* Results */ - RefResult rr; - UA_StatusCode status; - UA_Boolean done; -}; - -/* Target node on top of the stack */ -static UA_StatusCode -addReferenceDescription(struct BrowseContext *bc, UA_NodePointer nodeP, - const UA_Node *curr) { - UA_assert(curr); - UA_BrowseDescription *bd = &bc->cp->browseDescription; - - /* Ensure capacity is left */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(bc->rr.size >= bc->rr.capacity) { - res = RefResult_double(&bc->rr); - if(res != UA_STATUSCODE_GOOD) - return res; - } - - UA_ReferenceDescription *descr = &bc->rr.descr[bc->rr.size]; - - /* Fields without access to the actual node */ - UA_ExpandedNodeId en = UA_NodePointer_toExpandedNodeId(nodeP); - res = UA_ExpandedNodeId_copy(&en, &descr->nodeId); - if(bd->resultMask & UA_BROWSERESULTMASK_REFERENCETYPEID) { - const UA_NodeId *refTypeId = - UA_NODESTORE_GETREFERENCETYPEID(bc->server, bc->rk->referenceTypeIndex); - res |= UA_NodeId_copy(refTypeId, &descr->referenceTypeId); - } - if(bd->resultMask & UA_BROWSERESULTMASK_ISFORWARD) - descr->isForward = !bc->rk->isInverse; - - /* Create fields that require access to the actual node */ - if(bd->resultMask & UA_BROWSERESULTMASK_NODECLASS) - descr->nodeClass = curr->head.nodeClass; - - if(bd->resultMask & UA_BROWSERESULTMASK_BROWSENAME) - res |= UA_QualifiedName_copy(&curr->head.browseName, - &descr->browseName); - - if(bd->resultMask & UA_BROWSERESULTMASK_DISPLAYNAME) { - UA_LocalizedText displayname = - UA_Session_getNodeDisplayName(bc->session, &curr->head); - res |= UA_LocalizedText_copy(&displayname, &descr->displayName); - } - - if(bd->resultMask & UA_BROWSERESULTMASK_TYPEDEFINITION) { - if(curr->head.nodeClass == UA_NODECLASS_OBJECT || - curr->head.nodeClass == UA_NODECLASS_VARIABLE) { - const UA_Node *type = getNodeType(bc->server, &curr->head); - if(type) { - res |= UA_NodeId_copy(&type->head.nodeId, - &descr->typeDefinition.nodeId); - UA_NODESTORE_RELEASE(bc->server, type); - } - } - } - - /* Clean up and return */ - if(res != UA_STATUSCODE_GOOD) { - UA_ReferenceDescription_clear(descr); - return res; - } - bc->rr.size++; - return UA_STATUSCODE_GOOD; -} - -static void * -browseReferencTargetCallback(void *context, UA_ReferenceTarget *t) { - struct BrowseContext *bc = (struct BrowseContext*)context; - const UA_BrowseDescription *bd = &bc->cp->browseDescription; - ContinuationPoint *cp = bc->cp; - - /* Remote references are ignored */ - if(!UA_NodePointer_isLocal(t->targetId)) - return NULL; - - /* Get the node. Include only the ReferenceTypes we are interested in, - * including those for figuring out the TypeDefinition (if that was - * requested). */ - const UA_Node *target = - UA_NODESTORE_GETFROMREF_SELECTIVE(bc->server, t->targetId, - resultMask2AttributesMask(bd->resultMask), - bc->resultRefs, bd->browseDirection); - if(!target) - return NULL; - - /* The node class has to match */ - if(!matchClassMask(target, bd->nodeClassMask)) { - UA_NODESTORE_RELEASE(bc->server, target); - return NULL; - } - - /* Reached maxrefs. Return the "abort" signal. */ - if(bc->rr.size >= cp->maxReferences) { - UA_NODESTORE_RELEASE(bc->server, target); - return (void*)0x01; - } - - /* Create the reference description */ - bc->status = addReferenceDescription(bc, t->targetId, target); - - /* Release the node */ - UA_NODESTORE_RELEASE(bc->server, target); - - /* Store as last target. The itarget-id is a shallow copy for now. */ - cp->lastTarget = t->targetId; - cp->lastRefKindIndex = bc->rk->referenceTypeIndex; - cp->lastRefInverse = bc->rk->isInverse; - - /* Abort if the status is not good. Also doesn't make a deep-copy of - * cp->lastTarget after returning from here. */ - if(bc->status != UA_STATUSCODE_GOOD) { - UA_NodePointer_init(&cp->lastTarget); - return (void*)0x01; - } - return NULL; -} - -/* Returns whether the node / continuationpoint is done */ -static void -browseWithNode(struct BrowseContext *bc, const UA_NodeHead *head ) { - ContinuationPoint *cp = bc->cp; - const UA_BrowseDescription *bd = &cp->browseDescription; - - /* Loop over the ReferenceKinds */ - for(size_t i = 0; i < head->referencesSize && bc->status == UA_STATUSCODE_GOOD; ++i) { - UA_NodeReferenceKind *rk = &head->references[i]; - - /* If the continuation point was previously used, skip forward to the - * last ReferenceType that was transmitted */ - if(bc->activeCP && rk->referenceTypeIndex != cp->lastRefKindIndex) - continue; - if(bc->activeCP && rk->isInverse != cp->lastRefInverse) - continue; - - /* Reference in the right direction? */ - if(rk->isInverse && bd->browseDirection == UA_BROWSEDIRECTION_FORWARD) - continue; - if(!rk->isInverse && bd->browseDirection == UA_BROWSEDIRECTION_INVERSE) - continue; - - /* Is the reference part of the hierarchy of references we look for? */ - if(!UA_ReferenceTypeSet_contains(&cp->relevantReferences, rk->referenceTypeIndex)) - continue; - - /* We have a matching ReferenceKind */ - - /* Skip ahead to the target where the last continuation point stopped. - * This temporarily modifies rk. */ - UA_ReferenceIdTree left = {NULL}, right = {NULL}; - size_t nextTargetIndex = 0; - if(bc->activeCP) { - if(rk->hasRefTree) { - /* Unzip the tree until the continuation point. All NodeIds - * larger than the last target are guaranteed to sit on the - * right-hand side. */ - UA_ExpandedNodeId lastEn = - UA_NodePointer_toExpandedNodeId(cp->lastTarget); - UA_ReferenceTargetTreeElem key; - key.target.targetId = cp->lastTarget; - key.targetIdHash = UA_ExpandedNodeId_hash(&lastEn); - ZIP_UNZIP(UA_ReferenceIdTree, - (UA_ReferenceIdTree*)&rk->targets.tree.idRoot, - &key, &left, &right); - rk->targets.tree.idRoot = right.root; - } else { - /* Iterate over the array to find the match */ - for(; nextTargetIndex < rk->targetsSize; nextTargetIndex++) { - UA_ReferenceTarget *t = &rk->targets.array[nextTargetIndex]; - if(UA_NodePointer_equal(cp->lastTarget, t->targetId)) - break; - } - if(nextTargetIndex == rk->targetsSize) { - /* Not found - assume that this reference kind is done */ - bc->activeCP = false; - continue; - } - nextTargetIndex++; /* From the last index to the next index */ - rk->targets.array = &rk->targets.array[nextTargetIndex]; - rk->targetsSize -= nextTargetIndex; - } - - /* Clear cp->lastTarget before it gets overwritten in the following - * browse steps. */ - UA_NodePointer_clear(&cp->lastTarget); - } - - /* Iterate over all reference targets */ - bc->rk = rk; - void *res = UA_NodeReferenceKind_iterate(rk, browseReferencTargetCallback, bc); - - /* Undo the "skipping ahead" for the continuation point */ - if(bc->activeCP) { - if(rk->hasRefTree) { - rk->targets.tree.idRoot = - ZIP_ZIP(UA_ReferenceIdTree, left.root, right.root); - } else { - /* rk->targets.array = rk->targets.array[-nextTargetIndex]; */ - rk->targets.array = rk->targets.array - nextTargetIndex; - rk->targetsSize += nextTargetIndex; - UA_assert(rk->targetsSize > 0); - } - bc->activeCP = false; - } - - /* The iteration was aborted */ - if(res != NULL) { - /* Aborted with status code good -> the maximum number of browse - * results was reached. Make a deep copy of the last target for the - * continuation point. */ - if(bc->status == UA_STATUSCODE_GOOD) - bc->status = UA_NodePointer_copy(cp->lastTarget, &cp->lastTarget); - return; - } - } - - /* Reset last-target to prevent clearing it up */ - UA_NodePointer_init(&cp->lastTarget); - - /* Browsing the node is done */ - bc->done = true; -} - -/* Results for a single browsedescription. This is the inner loop for both - * Browse and BrowseNext. The ContinuationPoint contains all the data used. - * Including the BrowseDescription. Returns whether there are remaining - * references. */ -static void -browse(struct BrowseContext *bc) { - /* Is the browsedirection valid? */ - struct ContinuationPoint *cp = bc->cp; - const UA_BrowseDescription *descr = &cp->browseDescription; - if(descr->browseDirection != UA_BROWSEDIRECTION_BOTH && - descr->browseDirection != UA_BROWSEDIRECTION_FORWARD && - descr->browseDirection != UA_BROWSEDIRECTION_INVERSE) { - bc->status = UA_STATUSCODE_BADBROWSEDIRECTIONINVALID; - return; - } - - /* Get node with only the selected references and attributes */ - const UA_Node *node = - UA_NODESTORE_GET_SELECTIVE(bc->server, &descr->nodeId, - resultMask2AttributesMask(descr->resultMask), - bc->resultRefs, descr->browseDirection); - if(!node) { - bc->status = UA_STATUSCODE_BADNODEIDUNKNOWN; - return; - } - - /* Check AccessControl rights */ - if(bc->session != &bc->server->adminSession) { - UA_LOCK_ASSERT(&bc->server->serviceMutex, 1); - if(!bc->server->config.accessControl. - allowBrowseNode(bc->server, &bc->server->config.accessControl, - &bc->session->sessionId, bc->session->sessionHandle, - &descr->nodeId, node->head.context)) { - UA_NODESTORE_RELEASE(bc->server, node); - bc->status = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - } - - /* Browse the node */ - browseWithNode(bc, &node->head); - UA_NODESTORE_RELEASE(bc->server, node); - - /* Is the reference type valid? This is very infrequent. So we only test - * this if browsing came up empty. If the node has references of that type, - * we know the reftype to be good. */ - if(bc->rr.size == 0 && !UA_NodeId_isNull(&descr->referenceTypeId)) { - const UA_Node *reftype = - UA_NODESTORE_GET_SELECTIVE(bc->server, &descr->referenceTypeId, - UA_NODEATTRIBUTESMASK_NODECLASS, - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - if(!reftype) { - bc->status = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - return; - } - - UA_Boolean isRef = (reftype->head.nodeClass == UA_NODECLASS_REFERENCETYPE); - UA_NODESTORE_RELEASE(bc->server, reftype); - - if(!isRef) { - bc->status = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - return; - } - } -} - -/* Start to browse with no previous cp */ -void -Operation_Browse(UA_Server *server, UA_Session *session, const UA_UInt32 *maxrefs, - const UA_BrowseDescription *descr, UA_BrowseResult *result) { - /* Stack-allocate a temporary cp */ - ContinuationPoint cp; - memset(&cp, 0, sizeof(ContinuationPoint)); - cp.maxReferences = *maxrefs; - cp.browseDescription = *descr; /* Shallow copy. Deep-copy later if we persist the cp. */ - - /* How many references can we return at most? */ - if(cp.maxReferences == 0) { - if(server->config.maxReferencesPerNode != 0) { - cp.maxReferences = server->config.maxReferencesPerNode; - } else { - cp.maxReferences = UA_INT32_MAX; - } - } else { - if(server->config.maxReferencesPerNode != 0 && - cp.maxReferences > server->config.maxReferencesPerNode) { - cp.maxReferences= server->config.maxReferencesPerNode; - } - } - - /* Get the list of relevant reference types */ - result->statusCode = - referenceTypeIndices(server, &descr->referenceTypeId, - &cp.relevantReferences, descr->includeSubtypes); - if(result->statusCode != UA_STATUSCODE_GOOD) - return; - - /* Prepare the context */ - struct BrowseContext bc; - bc.cp = &cp; - bc.server = server; - bc.session = session; - bc.status = UA_STATUSCODE_GOOD; - bc.done = false; - bc.activeCP = false; - bc.resultRefs = cp.relevantReferences; - if(cp.browseDescription.resultMask & UA_BROWSERESULTMASK_TYPEDEFINITION) { - /* Get the node with additional reference types if we need to lookup the - * TypeDefinition */ - bc.resultRefs = UA_ReferenceTypeSet_union(bc.resultRefs, - UA_ReferenceTypeSet_union(UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASTYPEDEFINITION), - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE))); - } - result->statusCode = RefResult_init(&bc.rr); - if(result->statusCode != UA_STATUSCODE_GOOD) - return; - - /* Perform the browse */ - browse(&bc); - - if(bc.status != UA_STATUSCODE_GOOD || bc.rr.size == 0) { - /* No relevant references, return array of length zero */ - RefResult_clear(&bc.rr); - result->references = (UA_ReferenceDescription*)UA_EMPTY_ARRAY_SENTINEL; - result->statusCode = bc.status; - return; - } - - /* Move results */ - result->references = bc.rr.descr; - result->referencesSize = bc.rr.size; - - /* Exit early if done */ - if(bc.done) - return; - - /* Persist the continuation point */ - - ContinuationPoint *cp2 = NULL; - UA_Guid *ident = NULL; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - /* Enough space for the continuation point? */ - if(session->availableContinuationPoints == 0) { - retval = UA_STATUSCODE_BADNOCONTINUATIONPOINTS; - goto cleanup; - } - - /* Allocate and fill the data structure */ - cp2 = (ContinuationPoint*)UA_calloc(1, sizeof(ContinuationPoint)); - if(!cp2) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - /* The BrowseDescription is only a shallow copy so far */ - retval = UA_BrowseDescription_copy(descr, &cp2->browseDescription); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - cp2->maxReferences = cp.maxReferences; - cp2->relevantReferences = cp.relevantReferences; - cp2->lastTarget = cp.lastTarget; /* Move the (deep) copy */ - UA_NodePointer_init(&cp.lastTarget); /* No longer clear below (cleanup) */ - cp2->lastRefKindIndex = cp.lastRefKindIndex; - cp2->lastRefInverse = cp.lastRefInverse; - - /* Create a random bytestring via a Guid */ - ident = UA_Guid_new(); - if(!ident) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - *ident = UA_Guid_random(); - cp2->identifier.data = (UA_Byte*)ident; - cp2->identifier.length = sizeof(UA_Guid); - - /* Return the cp identifier */ - retval = UA_ByteString_copy(&cp2->identifier, &result->continuationPoint); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Attach the cp to the session */ - cp2->next = session->continuationPoints; - session->continuationPoints = cp2; - --session->availableContinuationPoints; - return; - - cleanup: - if(cp2) { - ContinuationPoint_clear(cp2); - UA_free(cp2); - } - UA_NodePointer_clear(&cp.lastTarget); - UA_BrowseResult_clear(result); - result->statusCode = retval; -} - -void Service_Browse(UA_Server *server, UA_Session *session, - const UA_BrowseRequest *request, UA_BrowseResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing BrowseRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Test the number of operations in the request */ - if(server->config.maxNodesPerBrowse != 0 && - request->nodesToBrowseSize > server->config.maxNodesPerBrowse) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - /* No views supported at the moment */ - if(!UA_NodeId_isNull(&request->view.viewId)) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADVIEWIDUNKNOWN; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_Browse, - &request->requestedMaxReferencesPerNode, - &request->nodesToBrowseSize, - &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION], - &response->resultsSize, - &UA_TYPES[UA_TYPES_BROWSERESULT]); -} - -UA_BrowseResult -UA_Server_browse(UA_Server *server, UA_UInt32 maxReferences, - const UA_BrowseDescription *bd) { - UA_BrowseResult result; - UA_BrowseResult_init(&result); - lockServer(server); - Operation_Browse(server, &server->adminSession, &maxReferences, bd, &result); - unlockServer(server); - return result; -} - -static void -Operation_BrowseNext(UA_Server *server, UA_Session *session, - const UA_Boolean *releaseContinuationPoints, - const UA_ByteString *continuationPoint, UA_BrowseResult *result) { - /* Find the continuation point */ - ContinuationPoint **prev = &session->continuationPoints; - ContinuationPoint *cp; - while((cp = *prev)) { - if(UA_ByteString_equal(&cp->identifier, continuationPoint)) - break; - prev = &cp->next; - } - if(!cp) { - result->statusCode = UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; - return; - } - - /* Remove the cp */ - if(*releaseContinuationPoints) { - *prev = ContinuationPoint_clear(cp); - UA_free(cp); - ++session->availableContinuationPoints; - return; - } - - /* Prepare the context */ - struct BrowseContext bc; - bc.cp = cp; - bc.server = server; - bc.session = session; - bc.status = UA_STATUSCODE_GOOD; - bc.done = false; - bc.activeCP = true; - bc.resultRefs = cp->relevantReferences; - if(cp->browseDescription.resultMask & UA_BROWSERESULTMASK_TYPEDEFINITION) { - /* Get the node with additional reference types if we need to lookup the - * TypeDefinition */ - bc.resultRefs = UA_ReferenceTypeSet_union(bc.resultRefs, - UA_ReferenceTypeSet_union(UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASTYPEDEFINITION), - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE))); - } - result->statusCode = RefResult_init(&bc.rr); - if(result->statusCode != UA_STATUSCODE_GOOD) - return; - - /* Continue browsing */ - browse(&bc); - - if(bc.status != UA_STATUSCODE_GOOD || bc.rr.size == 0) { - /* No relevant references, return array of length zero */ - RefResult_clear(&bc.rr); - result->references = (UA_ReferenceDescription*)UA_EMPTY_ARRAY_SENTINEL; - result->statusCode = bc.status; - goto remove_cp; - } - - /* Move results */ - result->references = bc.rr.descr; - result->referencesSize = bc.rr.size; - - if(bc.done) - goto remove_cp; - - /* Return the cp identifier to signal that there are references left */ - bc.status = UA_ByteString_copy(&cp->identifier, &result->continuationPoint); - if(bc.status != UA_STATUSCODE_GOOD) { - UA_BrowseResult_clear(result); - result->statusCode = bc.status; - } - return; - - remove_cp: - /* Remove the cp */ - *prev = ContinuationPoint_clear(cp); - UA_free(cp); - ++session->availableContinuationPoints; -} - -void -Service_BrowseNext(UA_Server *server, UA_Session *session, - const UA_BrowseNextRequest *request, - UA_BrowseNextResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing BrowseNextRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_Boolean releaseContinuationPoints = - request->releaseContinuationPoints; /* request is const */ - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_BrowseNext, - &releaseContinuationPoints, - &request->continuationPointsSize, - &UA_TYPES[UA_TYPES_BYTESTRING], - &response->resultsSize, - &UA_TYPES[UA_TYPES_BROWSERESULT]); -} - -UA_BrowseResult -UA_Server_browseNext(UA_Server *server, UA_Boolean releaseContinuationPoint, - const UA_ByteString *continuationPoint) { - UA_BrowseResult result; - UA_BrowseResult_init(&result); - lockServer(server); - Operation_BrowseNext(server, &server->adminSession, &releaseContinuationPoint, - continuationPoint, &result); - unlockServer(server); - return result; -} - -/***********************/ -/* TranslateBrowsePath */ -/***********************/ - -/* Add all entries for the hash. There are possible duplicates due to hash - * collisions. The full browsename is checked afterwards. */ -static void * -addBrowseHashTarget(void *context, UA_ReferenceTargetTreeElem *elem) { - RefTree *next = (RefTree*)context; - return (void*)(uintptr_t)RefTree_add(next, elem->target.targetId, NULL); -} - -static UA_StatusCode -walkBrowsePathElement(UA_Server *server, UA_Session *session, - const UA_RelativePath *path, const size_t pathIndex, - UA_UInt32 nodeClassMask, const UA_QualifiedName *lastBrowseName, - UA_BrowsePathResult *result, RefTree *current, RefTree *next) { - /* For the next level. Note the difference from lastBrowseName */ - const UA_RelativePathElement *elem = &path->elements[pathIndex]; - UA_UInt32 browseNameHash = UA_QualifiedName_hash(&elem->targetName); - - /* Get the relevant ReferenceTypes */ - UA_ReferenceTypeSet refTypes; - UA_StatusCode res = - referenceTypeIndices(server, &elem->referenceTypeId, - &refTypes, elem->includeSubtypes); - if(res != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADNOMATCH; - - /* Loop over all Nodes in the current depth level */ - for(size_t i = 0; i < current->size; i++) { - /* Remote Node. Immediately add to the results with the - * RemainingPathIndex set. */ - if(!UA_ExpandedNodeId_isLocal(¤t->targets[i])) { - /* Increase the size of the results array */ - UA_BrowsePathTarget *tmpResults = (UA_BrowsePathTarget*) - UA_realloc(result->targets, sizeof(UA_BrowsePathTarget) * - (result->targetsSize + 1)); - if(!tmpResults) - return UA_STATUSCODE_BADOUTOFMEMORY; - result->targets = tmpResults; - - /* Copy over the result */ - res = UA_ExpandedNodeId_copy(¤t->targets[i], - &result->targets[result->targetsSize].targetId); - result->targets[result->targetsSize].remainingPathIndex = (UA_UInt32)pathIndex; - result->targetsSize++; - if(res != UA_STATUSCODE_GOOD) - break; - continue; - } - - /* Local Node. Add to the tree of results at the next depth. Get only - * the NodeClass + BrowseName attribute and the selected ReferenceTypes - * if the nodestore supports that. */ - const UA_Node *node = - UA_NODESTORE_GET_SELECTIVE(server, ¤t->targets[i].nodeId, - UA_NODEATTRIBUTESMASK_NODECLASS | - UA_NODEATTRIBUTESMASK_BROWSENAME, - refTypes, - elem->isInverse ? UA_BROWSEDIRECTION_INVERSE : - UA_BROWSEDIRECTION_FORWARD); - if(!node) - continue; - - /* Test whether the node fits the class mask */ - UA_Boolean skip = !matchClassMask(node, nodeClassMask); - - /* Does the BrowseName match for the current node (not the references - * going out here) */ - skip |= (lastBrowseName && - !UA_QualifiedName_equal(lastBrowseName, &node->head.browseName)); - - if(skip) { - UA_NODESTORE_RELEASE(server, node); - continue; - } - - /* Loop over the ReferenceKinds */ - UA_ReferenceTarget targetHashKey; - targetHashKey.targetNameHash = browseNameHash; - for(size_t j = 0; j < node->head.referencesSize; j++) { - UA_NodeReferenceKind *rk = &node->head.references[j]; - - /* Does the direction of the reference match? */ - if(rk->isInverse != elem->isInverse) - continue; - - /* Does the reference type match? */ - if(!UA_ReferenceTypeSet_contains(&refTypes, rk->referenceTypeIndex)) - continue; - - /* Retrieve by BrowseName hash. We might have several nodes where - * the hash matches. The exact BrowseName will be verified in the - * next iteration of the outer loop. So we only have to retrieve - * every node just once. */ - - if(rk->hasRefTree) { - res = (UA_StatusCode)(uintptr_t) - ZIP_ITER_KEY(UA_ReferenceNameTree, - (UA_ReferenceNameTree*)&rk->targets.tree.nameRoot, - &targetHashKey, addBrowseHashTarget, next); - if(res != UA_STATUSCODE_GOOD) - break; - } else { - /* The array entries don't have a BrowseName hash. Add all of - * them at this level to be checked with a full string - * comparison. */ - for(size_t k = 0; k < rk->targetsSize; k++) { - if(rk->targets.array[k].targetNameHash != browseNameHash) - continue; - res = RefTree_add(next, rk->targets.array[k].targetId, NULL); - if(res != UA_STATUSCODE_GOOD) - break; - } - if(res != UA_STATUSCODE_GOOD) - break; - } - } - - UA_NODESTORE_RELEASE(server, node); - } - return res; -} - -static void -Operation_TranslateBrowsePathToNodeIds(UA_Server *server, UA_Session *session, - const UA_UInt32 *nodeClassMask, - const UA_BrowsePath *path, - UA_BrowsePathResult *result) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(path->relativePath.elementsSize == 0) { - result->statusCode = UA_STATUSCODE_BADNOTHINGTODO; - return; - } - - /* RelativePath elements must not have an empty targetName */ - for(size_t i = 0; i < path->relativePath.elementsSize; ++i) { - if(UA_QualifiedName_isNull(&path->relativePath.elements[i].targetName)) { - result->statusCode = UA_STATUSCODE_BADBROWSENAMEINVALID; - return; - } - } - - /* Check if the starting node exists */ - const UA_Node *startingNode = - UA_NODESTORE_GET_SELECTIVE(server, &path->startingNode, - UA_NODEATTRIBUTESMASK_NONE, - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - if(!startingNode) { - result->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN; - return; - } - UA_NODESTORE_RELEASE(server, startingNode); - - /* Create two RefTrees that are alternated between path elements */ - RefTree rt1; - RefTree rt2; - RefTree *current = &rt1; - RefTree *next = &rt2; - RefTree *tmp; - result->statusCode |= RefTree_init(&rt1); - result->statusCode |= RefTree_init(&rt2); - UA_BrowsePathTarget *tmpResults = NULL; - UA_QualifiedName *browseNameFilter = NULL; - if(result->statusCode != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Copy the starting node into next */ - result->statusCode = RefTree_addNodeId(next, &path->startingNode, NULL); - if(result->statusCode != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Walk the path elements. Retrieve the nodes only once from the NodeStore. - * Hence the BrowseName is checked with one element "delay". */ - for(size_t i = 0; i < path->relativePath.elementsSize; i++) { - /* Switch the trees */ - tmp = current; - current = next; - next = tmp; - - /* Clear up current, keep the capacity */ - for(size_t j = 0; j < next->size; j++) - UA_ExpandedNodeId_clear(&next->targets[j]); - next->size = 0; - ZIP_INIT(&next->head); - - /* Do this check after next->size has been set to zero */ - if(current->size == 0) - break; - - /* Walk element for all NodeIds in the "current" tree. - * Puts new results in the "next" tree. */ - result->statusCode = - walkBrowsePathElement(server, session, &path->relativePath, i, - *nodeClassMask, browseNameFilter, result, current, next); - if(result->statusCode != UA_STATUSCODE_GOOD) - goto cleanup; - - browseNameFilter = &path->relativePath.elements[i].targetName; - } - - /* Allocate space for the results array */ - tmpResults = (UA_BrowsePathTarget*) - UA_realloc(result->targets, sizeof(UA_BrowsePathTarget) * - (result->targetsSize + next->size)); - if(!tmpResults && next->size > 0) { - result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - result->targets = tmpResults; - - for(size_t k = 0; k < next->size; k++) { - /* Check the BrowseName. It has been filtered only via its hash so far. - * Get only the BrowseName attribute if the nodestore supports that. */ - const UA_Node *node = - UA_NODESTORE_GET_SELECTIVE(server, &next->targets[k].nodeId, - UA_NODEATTRIBUTESMASK_BROWSENAME, - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - if(!node) - continue; - UA_Boolean match = UA_QualifiedName_equal(browseNameFilter, &node->head.browseName); - UA_NODESTORE_RELEASE(server, node); - if(!match) - continue; - - /* Move to the target to the results array */ - result->targets[result->targetsSize].targetId = next->targets[k]; - result->targets[result->targetsSize].remainingPathIndex = UA_UINT32_MAX; - UA_ExpandedNodeId_init(&next->targets[k]); - result->targetsSize++; - } - - /* No results => BadNoMatch status code */ - if(result->targetsSize == 0 && result->statusCode == UA_STATUSCODE_GOOD) - result->statusCode = UA_STATUSCODE_BADNOMATCH; - - /* Clean up the temporary arrays and the targets */ - cleanup: - RefTree_clear(&rt1); - RefTree_clear(&rt2); - if(result->statusCode != UA_STATUSCODE_GOOD) { - for(size_t i = 0; i < result->targetsSize; ++i) - UA_BrowsePathTarget_clear(&result->targets[i]); - if(result->targets) - UA_free(result->targets); - result->targets = NULL; - result->targetsSize = 0; - } -} - -UA_BrowsePathResult -translateBrowsePathToNodeIds(UA_Server *server, - const UA_BrowsePath *browsePath) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_BrowsePathResult result; - UA_BrowsePathResult_init(&result); - UA_UInt32 nodeClassMask = 0; /* All node classes */ - Operation_TranslateBrowsePathToNodeIds(server, &server->adminSession, &nodeClassMask, - browsePath, &result); - return result; -} - -UA_BrowsePathResult -UA_Server_translateBrowsePathToNodeIds(UA_Server *server, - const UA_BrowsePath *browsePath) { - lockServer(server); - UA_BrowsePathResult result = translateBrowsePathToNodeIds(server, browsePath); - unlockServer(server); - return result; -} - -void -Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *session, - const UA_TranslateBrowsePathsToNodeIdsRequest *request, - UA_TranslateBrowsePathsToNodeIdsResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing TranslateBrowsePathsToNodeIdsRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Test the number of operations in the request */ - if(server->config.maxNodesPerTranslateBrowsePathsToNodeIds != 0 && - request->browsePathsSize > server->config.maxNodesPerTranslateBrowsePathsToNodeIds) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - UA_UInt32 nodeClassMask = 0; /* All node classes */ - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_TranslateBrowsePathToNodeIds, - &nodeClassMask, - &request->browsePathsSize, &UA_TYPES[UA_TYPES_BROWSEPATH], - &response->resultsSize, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]); -} - -UA_BrowsePathResult -browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, - size_t browsePathSize, const UA_QualifiedName *browsePath) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_BrowsePathResult bpr; - UA_BrowsePathResult_init(&bpr); - if(browsePathSize > UA_MAX_TREE_RECURSE) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Simplified Browse Path too long"); - bpr.statusCode = UA_STATUSCODE_BADINTERNALERROR; - return bpr; - } - - /* Construct the BrowsePath */ - UA_BrowsePath bp; - UA_BrowsePath_init(&bp); - bp.startingNode = origin; - - UA_RelativePathElement rpe[UA_MAX_TREE_RECURSE]; - memset(rpe, 0, sizeof(UA_RelativePathElement) * browsePathSize); - for(size_t j = 0; j < browsePathSize; j++) { - rpe[j].referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); - rpe[j].includeSubtypes = true; - rpe[j].targetName = browsePath[j]; - } - bp.relativePath.elements = rpe; - bp.relativePath.elementsSize = browsePathSize; - - /* Browse */ - UA_UInt32 nodeClassMask = UA_NODECLASS_OBJECT | UA_NODECLASS_VARIABLE | UA_NODECLASS_OBJECTTYPE; - - Operation_TranslateBrowsePathToNodeIds(server, &server->adminSession, &nodeClassMask, &bp, &bpr); - return bpr; -} - -UA_BrowsePathResult -UA_Server_browseSimplifiedBrowsePath(UA_Server *server, const UA_NodeId origin, - size_t browsePathSize, const UA_QualifiedName *browsePath) { - lockServer(server); - UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, origin, browsePathSize, browsePath); - unlockServer(server); - return bpr; -} - -/************/ -/* Register */ -/************/ - -void Service_RegisterNodes(UA_Server *server, UA_Session *session, - const UA_RegisterNodesRequest *request, - UA_RegisterNodesResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing RegisterNodesRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - //TODO: hang the nodeids to the session if really needed - if(request->nodesToRegisterSize == 0) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; - return; - } - - /* Test the number of operations in the request */ - if(server->config.maxNodesPerRegisterNodes != 0 && - request->nodesToRegisterSize > server->config.maxNodesPerRegisterNodes) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Array_copy(request->nodesToRegister, request->nodesToRegisterSize, - (void**)&response->registeredNodeIds, &UA_TYPES[UA_TYPES_NODEID]); - if(response->responseHeader.serviceResult == UA_STATUSCODE_GOOD) - response->registeredNodeIdsSize = request->nodesToRegisterSize; -} - -void Service_UnregisterNodes(UA_Server *server, UA_Session *session, - const UA_UnregisterNodesRequest *request, - UA_UnregisterNodesResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing UnRegisterNodesRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - //TODO: remove the nodeids from the session if really needed - if(request->nodesToUnregisterSize == 0) - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; - - /* Test the number of operations in the request */ - if(server->config.maxNodesPerRegisterNodes != 0 && - request->nodesToUnregisterSize > server->config.maxNodesPerRegisterNodes) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } -} - -/**** amalgamated original file "/src/server/ua_services_method.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2017 (c) Florian Palm - * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016 (c) LEvertz - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Julian Grothoff - * Copyright 2020 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Martin Lang) - */ - - -#ifdef UA_ENABLE_METHODCALLS /* conditional compilation */ - -#define UA_MAX_METHOD_ARGUMENTS 64 - -struct GetArgumentsNodeContext { - UA_Server *server; - UA_String withBrowseName; -}; - -static void * -getArgumentsNodeCallback(void *context, UA_ReferenceTarget *t) { - struct GetArgumentsNodeContext *ctx = (struct GetArgumentsNodeContext*)context; - const UA_Node *refTarget = - UA_NODESTORE_GETFROMREF_SELECTIVE(ctx->server, t->targetId, - UA_NODEATTRIBUTESMASK_NODECLASS | - UA_NODEATTRIBUTESMASK_VALUE, - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - if(!refTarget) - return NULL; - if(refTarget->head.nodeClass == UA_NODECLASS_VARIABLE && - refTarget->head.browseName.namespaceIndex == 0 && - UA_String_equal(&ctx->withBrowseName, &refTarget->head.browseName.name)) { - return (void*)(uintptr_t)&refTarget->variableNode; - } - UA_NODESTORE_RELEASE(ctx->server, refTarget); - return NULL; -} - -static const UA_VariableNode * -getArgumentsVariableNode(UA_Server *server, const UA_NodeHead *head, - UA_String withBrowseName) { - for(size_t i = 0; i < head->referencesSize; ++i) { - UA_NodeReferenceKind *rk = &head->references[i]; - if(rk->isInverse) - continue; - if(rk->referenceTypeIndex != UA_REFERENCETYPEINDEX_HASPROPERTY) - continue; - struct GetArgumentsNodeContext ctx; - ctx.server = server; - ctx.withBrowseName = withBrowseName; - return (const UA_VariableNode*) - UA_NodeReferenceKind_iterate(rk, getArgumentsNodeCallback, &ctx); - } - return NULL; -} - -/* inputArgumentResults has the length request->inputArgumentsSize */ -static UA_StatusCode -checkAdjustArguments(UA_Server *server, UA_Session *session, - const UA_VariableNode *argRequirements, size_t argsSize, - UA_Variant *args, UA_StatusCode *inputArgumentResults) { - /* Verify that we have a Variant containing UA_Argument (scalar or array) in - * the "InputArguments" node */ - if(argRequirements->valueSource != UA_VALUESOURCE_DATA) - return UA_STATUSCODE_BADINTERNALERROR; - if(!argRequirements->value.data.value.hasValue) - return UA_STATUSCODE_BADINTERNALERROR; - if(argRequirements->value.data.value.value.type != &UA_TYPES[UA_TYPES_ARGUMENT]) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Verify the number of arguments. A scalar argument value is interpreted as - * an array of length 1. */ - size_t argReqsSize = argRequirements->value.data.value.value.arrayLength; - if(UA_Variant_isScalar(&argRequirements->value.data.value.value)) - argReqsSize = 1; - if(argReqsSize > argsSize) - return UA_STATUSCODE_BADARGUMENTSMISSING; - if(argReqsSize < argsSize) - return UA_STATUSCODE_BADTOOMANYARGUMENTS; - - /* Type-check every argument against the definition */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - UA_Argument *argReqs = (UA_Argument*)argRequirements->value.data.value.value.data; - const char *reason; - for(size_t i = 0; i < argReqsSize; ++i) { - /* Incompatible value. Try to correct the type if possible. */ - adjustValueType(server, &args[i], &argReqs[i].dataType); - - /* Check */ - if(!compatibleValue(server, session, &argReqs[i].dataType, argReqs[i].valueRank, - argReqs[i].arrayDimensionsSize, argReqs[i].arrayDimensions, - &args[i], NULL, &reason)) { - inputArgumentResults[i] = UA_STATUSCODE_BADTYPEMISMATCH; - retval = UA_STATUSCODE_BADINVALIDARGUMENT; - } - } - return retval; -} - -static const UA_NodeId hasComponentNodeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}}; -static const UA_NodeId organizedByNodeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_ORGANIZES}}; -static const UA_String namespaceDiModel = UA_STRING_STATIC("http://opcfoundation.org/UA/DI/"); -static const UA_NodeId hasTypeDefinitionNodeId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASTYPEDEFINITION}}; -// ns=0 will be replace dynamically. DI-Spec. 1.01: -static UA_NodeId functionGroupNodeId = {0, UA_NODEIDTYPE_NUMERIC, {1005}}; - -static UA_Boolean -checkMethodReference(const UA_NodeHead *h, UA_ReferenceTypeSet refs, - const UA_ExpandedNodeId *methodId) { - for(size_t i = 0; i < h->referencesSize; i++) { - const UA_NodeReferenceKind *rk = &h->references[i]; - if(rk->isInverse) - continue; - if(!UA_ReferenceTypeSet_contains(&refs, rk->referenceTypeIndex)) - continue; - if(UA_NodeReferenceKind_findTarget(rk, methodId)) - return true; - } - return false; -} - -static void * -iterateFunctionGroupSearch(void *context, UA_ReferenceTarget *t) { - UA_Server *server = (UA_Server*)context; - if(!UA_NodePointer_isLocal(t->targetId)) - return NULL; - - UA_NodeId tmpId = UA_NodePointer_toNodeId(t->targetId); - if(isNodeInTree_singleRef(server, &tmpId, &functionGroupNodeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) - return (void*)0x01; - return NULL; -} - -static UA_StatusCode -checkFunctionalGroupMethodReference(UA_Server *server, const UA_NodeHead *h, - const UA_ExpandedNodeId *methodId, - UA_Boolean *found) { - /* Check whether the DI namespace is available */ - size_t foundNamespace = 0; - UA_StatusCode res = getNamespaceByName(server, namespaceDiModel, &foundNamespace); - UA_CHECK_STATUS(res, return UA_STATUSCODE_BADMETHODINVALID); - functionGroupNodeId.namespaceIndex = (UA_UInt16)foundNamespace; - - UA_ReferenceTypeSet hasTypeDefinitionRefs; - res = referenceTypeIndices(server, &hasTypeDefinitionNodeId, - &hasTypeDefinitionRefs, true); - UA_CHECK_STATUS(res, return res); - - /* Search for a HasTypeDefinition (or sub-) reference to the FunctionGroupType */ - UA_Boolean isFunctionGroup = false; - for(size_t i = 0; i < h->referencesSize && !isFunctionGroup; ++i) { - UA_NodeReferenceKind *rk = &h->references[i]; - if(rk->isInverse) - continue; - - /* Are these HasTypeDefinition references */ - if(!UA_ReferenceTypeSet_contains(&hasTypeDefinitionRefs, rk->referenceTypeIndex)) - continue; - - /* Reference points to FunctionGroupType (or sub-type) from the DI - * model? */ - isFunctionGroup = - (UA_NodeReferenceKind_iterate(rk, iterateFunctionGroupSearch, - server) != NULL); - if(isFunctionGroup) - break; - } - if(!isFunctionGroup) - return UA_STATUSCODE_GOOD; - - /* Search for the called method with reference Organize (or sub-type) from - * the parent object */ - UA_ReferenceTypeSet organizesRefs; - res = referenceTypeIndices(server, &organizedByNodeId, &organizesRefs, true); - UA_CHECK_STATUS(res, return res); - for(size_t k = 0; k < h->referencesSize; ++k) { - const UA_NodeReferenceKind *rk = &h->references[k]; - if(rk->isInverse) - continue; - if(!UA_ReferenceTypeSet_contains(&organizesRefs, rk->referenceTypeIndex)) - continue; - if(UA_NodeReferenceKind_findTarget(rk, methodId)) { - *found = true; - break; - } - } - return UA_STATUSCODE_GOOD; -} - -static void -callWithMethodAndObject(UA_Server *server, UA_Session *session, - const UA_CallMethodRequest *request, UA_CallMethodResult *result, - const UA_MethodNode *method, const UA_ObjectNode *object) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Verify the object's NodeClass */ - if(object->head.nodeClass != UA_NODECLASS_OBJECT && - object->head.nodeClass != UA_NODECLASS_OBJECTTYPE) { - result->statusCode = UA_STATUSCODE_BADNODECLASSINVALID; - return; - } - - /* Verify the method's NodeClass */ - if(method->head.nodeClass != UA_NODECLASS_METHOD) { - result->statusCode = UA_STATUSCODE_BADNODECLASSINVALID; - return; - } - - /* Is there a method to execute? */ - if(!method->method) { - result->statusCode = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* Verify method/object relations. Object must have a hasComponent or a - * subtype of hasComponent reference to the method node. Therefore, check - * every reference between the parent object and the method node if there is - * a hasComponent (or subtype) reference */ - UA_ExpandedNodeId methodId = UA_EXPANDEDNODEID_NODEID(request->methodId); - UA_ReferenceTypeSet hasComponentRefs; - result->statusCode = referenceTypeIndices(server, &hasComponentNodeId, - &hasComponentRefs, true); - UA_CHECK_STATUS(result->statusCode, return); - UA_Boolean found = checkMethodReference(&object->head, hasComponentRefs, &methodId); - - if(!found) { - /* If the object doesn't have a hasComponent reference to the method node, - * check its objectType (and its supertypes). Invoked method can be a component - * of objectType and be invoked on this objectType's instance (or on a instance - * of one of its subtypes). */ - const UA_Node *objectType = getNodeType(server, &object->head); - if(objectType) { - found = checkMethodReference(&objectType->head, hasComponentRefs, &methodId); - UA_NODESTORE_RELEASE(server, objectType); - } - } - - if(!found) { - /* The following ParentObject evaluation is a workaround only to fulfill - * the OPC UA Spec. Part 100 - Devices requirements regarding functional - * groups. Compare OPC UA Spec. Part 100 - Devices, Release 1.02 - * - 5.4 FunctionalGroupType - * - B.1 Functional Group Usages - * A functional group is a sub-type of the FolderType and is used to - * organize the Parameters and Methods from the complete set (named - * ParameterSet and MethodSet) in (Functional) groups for instance - * Configuration or Identification. The same Property, Parameter or - * Method can be referenced from more than one FunctionalGroup. */ - result->statusCode = - checkFunctionalGroupMethodReference(server, &object->head, &methodId, &found); - if(!found && result->statusCode == UA_STATUSCODE_GOOD) - result->statusCode = UA_STATUSCODE_BADMETHODINVALID; - UA_CHECK_STATUS(result->statusCode, return); - } - - /* Verify access rights */ - UA_Boolean executable = method->executable; - if(session != &server->adminSession) { - executable = executable && server->config.accessControl. - getUserExecutableOnObject(server, &server->config.accessControl, - &session->sessionId, session->sessionHandle, - &request->methodId, method->head.context, - &request->objectId, object->head.context); - } - - if(!executable) { - result->statusCode = UA_STATUSCODE_BADNOTEXECUTABLE; - return; - } - - /* The input arguments are const and not changed. We move the input - * arguments to a secondary array that is mutable. This is used for small - * adjustments on the type level during the type checking. But it has to be - * ensured that the original array can still by _clear'ed after the methods - * call. */ - if(request->inputArgumentsSize > UA_MAX_METHOD_ARGUMENTS) { - result->statusCode = UA_STATUSCODE_BADTOOMANYARGUMENTS; - return; - } - UA_Variant mutableInputArgs[UA_MAX_METHOD_ARGUMENTS]; - memcpy(mutableInputArgs, request->inputArguments, - sizeof(UA_Variant) * request->inputArgumentsSize); - - /* Allocate the inputArgumentResults array */ - result->inputArgumentResults = (UA_StatusCode*) - UA_Array_new(request->inputArgumentsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!result->inputArgumentResults) { - result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - result->inputArgumentResultsSize = request->inputArgumentsSize; - - /* Type-check the input arguments */ - const UA_VariableNode *inputArguments = - getArgumentsVariableNode(server, &method->head, UA_STRING("InputArguments")); - if(inputArguments) { - result->statusCode = - checkAdjustArguments(server, session, inputArguments, request->inputArgumentsSize, - mutableInputArgs, result->inputArgumentResults); - UA_NODESTORE_RELEASE(server, (const UA_Node*)inputArguments); - } else { - if(request->inputArgumentsSize > 0) { - result->statusCode = UA_STATUSCODE_BADTOOMANYARGUMENTS; - return; - } - } - - /* Return inputArgumentResults only for BADINVALIDARGUMENT */ - if(result->statusCode != UA_STATUSCODE_BADINVALIDARGUMENT) { - UA_Array_delete(result->inputArgumentResults, result->inputArgumentResultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); - result->inputArgumentResults = NULL; - result->inputArgumentResultsSize = 0; - } - - /* Error during type-checking? */ - if(result->statusCode != UA_STATUSCODE_GOOD) - return; - - /* Get the output arguments node */ - const UA_VariableNode *outputArguments = - getArgumentsVariableNode(server, &method->head, UA_STRING("OutputArguments")); - - /* Allocate the output arguments array */ - size_t outputArgsSize = 0; - if(outputArguments) - outputArgsSize = outputArguments->value.data.value.value.arrayLength; - result->outputArguments = (UA_Variant*) - UA_Array_new(outputArgsSize, &UA_TYPES[UA_TYPES_VARIANT]); - if(!result->outputArguments) { - result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - result->outputArgumentsSize = outputArgsSize; - - /* Release the output arguments node */ - UA_NODESTORE_RELEASE(server, (const UA_Node*)outputArguments); - - /* Call the method. If this is an async method, unlock the server lock for - * the duration of the (long-running) call. */ -#if UA_MULTITHREADING >= 100 - if(method->async) - unlockServer(server); -#endif - result->statusCode = method->method(server, &session->sessionId, session->sessionHandle, - &method->head.nodeId, method->head.context, - &object->head.nodeId, object->head.context, - request->inputArgumentsSize, mutableInputArgs, - result->outputArgumentsSize, result->outputArguments); -#if UA_MULTITHREADING >= 100 - if(method->async) - lockServer(server); -#endif - - /* TODO: Verify Output matches the argument definition */ -} - -#if UA_MULTITHREADING >= 100 - -static void -Operation_CallMethodAsync(UA_Server *server, UA_Session *session, UA_UInt32 requestId, - UA_UInt32 requestHandle, size_t opIndex, - UA_CallMethodRequest *opRequest, UA_CallMethodResult *opResult, - UA_AsyncResponse **ar) { - /* Get the method node. We only need the nodeClass and executable attribute. - * Take all forward hasProperty references to get the input/output argument - * definition variables. */ - const UA_Node *method = - UA_NODESTORE_GET_SELECTIVE(server, &opRequest->methodId, - UA_NODEATTRIBUTESMASK_NODECLASS | - UA_NODEATTRIBUTESMASK_EXECUTABLE, - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASPROPERTY), - UA_BROWSEDIRECTION_FORWARD); - if(!method) { - opResult->statusCode = UA_STATUSCODE_BADMETHODINVALID; - return; - } - - /* Get the object node. We only need the NodeClass attribute. But take all - * references for now. - * - * TODO: Which references do we need actually? */ - const UA_Node *object = - UA_NODESTORE_GET_SELECTIVE(server, &opRequest->objectId, - UA_NODEATTRIBUTESMASK_NODECLASS, - UA_REFERENCETYPESET_ALL, - UA_BROWSEDIRECTION_BOTH); - if(!object) { - opResult->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN; - UA_NODESTORE_RELEASE(server, method); - return; - } - - /* Synchronous execution */ - if(!method->methodNode.async) { - callWithMethodAndObject(server, session, opRequest, opResult, - &method->methodNode, &object->objectNode); - goto cleanup; - } - - /* <-- Async method call --> */ - - /* No AsyncResponse allocated so far */ - if(!*ar) { - opResult->statusCode = - UA_AsyncManager_createAsyncResponse(&server->asyncManager, server, - &session->sessionId, requestId, requestHandle, - UA_ASYNCOPERATIONTYPE_CALL, ar); - if(opResult->statusCode != UA_STATUSCODE_GOOD) - goto cleanup; - } - - /* Create the Async Request to be taken by workers */ - opResult->statusCode = - UA_AsyncManager_createAsyncOp(&server->asyncManager, - server, *ar, opIndex, opRequest); - - cleanup: - /* Release the method and object node */ - UA_NODESTORE_RELEASE(server, method); - UA_NODESTORE_RELEASE(server, object); -} - -void -Service_CallAsync(UA_Server *server, UA_Session *session, UA_UInt32 requestId, - const UA_CallRequest *request, UA_CallResponse *response, - UA_Boolean *finished) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing CallRequestAsync"); - if(server->config.maxNodesPerMethodCall != 0 && - request->methodsToCallSize > server->config.maxNodesPerMethodCall) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - UA_AsyncResponse *ar = NULL; - response->responseHeader.serviceResult = - UA_Server_processServiceOperationsAsync(server, session, requestId, - request->requestHeader.requestHandle, - (UA_AsyncServiceOperation)Operation_CallMethodAsync, - &request->methodsToCallSize, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST], - &response->resultsSize, &UA_TYPES[UA_TYPES_CALLMETHODRESULT], &ar); - - if(ar) { - if(ar->opCountdown > 0) { - /* Move all results to the AsyncResponse. The async operation - * results will be overwritten when the workers return results. */ - ar->response.callResponse = *response; - UA_CallResponse_init(response); - *finished = false; - } else { - /* If there is a new AsyncResponse, ensure it has at least one - * pending operation */ - UA_AsyncManager_removeAsyncResponse(&server->asyncManager, ar); - } - } -} -#endif - -static void -Operation_CallMethod(UA_Server *server, UA_Session *session, void *context, - const UA_CallMethodRequest *request, UA_CallMethodResult *result) { - /* Get the method node. We only need the nodeClass and executable attribute. - * Take all forward hasProperty references to get the input/output argument - * definition variables. */ - const UA_Node *method = - UA_NODESTORE_GET_SELECTIVE(server, &request->methodId, - UA_NODEATTRIBUTESMASK_NODECLASS | - UA_NODEATTRIBUTESMASK_EXECUTABLE, - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASPROPERTY), - UA_BROWSEDIRECTION_FORWARD); - if(!method) { - result->statusCode = UA_STATUSCODE_BADMETHODINVALID; - return; - } - - /* Get the object node. We only need the NodeClass attribute. But take all - * references for now. - * - * TODO: Which references do we need actually? */ - const UA_Node *object = - UA_NODESTORE_GET_SELECTIVE(server, &request->objectId, - UA_NODEATTRIBUTESMASK_NODECLASS, - UA_REFERENCETYPESET_ALL, - UA_BROWSEDIRECTION_BOTH); - if(!object) { - result->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN; - UA_NODESTORE_RELEASE(server, method); - return; - } - - /* Continue with method and object as context */ - callWithMethodAndObject(server, session, request, result, - &method->methodNode, &object->objectNode); - - /* Release the method and object node */ - UA_NODESTORE_RELEASE(server, method); - UA_NODESTORE_RELEASE(server, object); -} - -void Service_Call(UA_Server *server, UA_Session *session, - const UA_CallRequest *request, UA_CallResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing CallRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxNodesPerMethodCall != 0 && - request->methodsToCallSize > server->config.maxNodesPerMethodCall) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_CallMethod, NULL, - &request->methodsToCallSize, &UA_TYPES[UA_TYPES_CALLMETHODREQUEST], - &response->resultsSize, &UA_TYPES[UA_TYPES_CALLMETHODRESULT]); -} - -UA_CallMethodResult -UA_Server_call(UA_Server *server, const UA_CallMethodRequest *request) { - UA_CallMethodResult result; - UA_CallMethodResult_init(&result); - lockServer(server); - Operation_CallMethod(server, &server->adminSession, NULL, request, &result); - unlockServer(server); - return result; -} - -#endif /* UA_ENABLE_METHODCALLS */ - -/**** amalgamated original file "/src/server/ua_services_session.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2014-2016 (c) Sten Grüner - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2018-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - -/* Delayed callback to free the session memory */ -static void -removeSessionCallback(UA_Server *server, session_list_entry *entry) { - lockServer(server); - UA_Session_clear(&entry->session, server); - unlockServer(server); - UA_free(entry); -} - -void -UA_Server_removeSession(UA_Server *server, session_list_entry *sentry, - UA_ShutdownReason shutdownReason) { - UA_Session *session = &sentry->session; - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Remove the Subscriptions */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_Subscription *sub, *tempsub; - TAILQ_FOREACH_SAFE(sub, &session->subscriptions, sessionListEntry, tempsub) { - UA_Subscription_delete(server, sub); - } - - UA_PublishResponseEntry *entry; - while((entry = UA_Session_dequeuePublishReq(session))) { - UA_PublishResponse_clear(&entry->response); - UA_free(entry); - } -#endif - - /* Callback into userland access control */ - if(server->config.accessControl.closeSession) { - server->config.accessControl. - closeSession(server, &server->config.accessControl, - &session->sessionId, session->sessionHandle); - } - - /* Detach the Session from the SecureChannel */ - UA_Session_detachFromSecureChannel(session); - - /* Deactivate the session */ - if(sentry->session.activated) { - sentry->session.activated = false; - server->activeSessionCount--; - } - - /* Detach the session from the session manager and make the capacity - * available */ - LIST_REMOVE(sentry, pointers); - server->sessionCount--; - - switch(shutdownReason) { - case UA_SHUTDOWNREASON_CLOSE: - case UA_SHUTDOWNREASON_PURGE: - break; - case UA_SHUTDOWNREASON_TIMEOUT: - server->serverDiagnosticsSummary.sessionTimeoutCount++; - break; - case UA_SHUTDOWNREASON_REJECT: - server->serverDiagnosticsSummary.rejectedSessionCount++; - break; - case UA_SHUTDOWNREASON_SECURITYREJECT: - server->serverDiagnosticsSummary.securityRejectedSessionCount++; - break; - case UA_SHUTDOWNREASON_ABORT: - server->serverDiagnosticsSummary.sessionAbortCount++; - break; - default: - UA_assert(false); - break; - } - - /* Add a delayed callback to remove the session when the currently - * scheduled jobs have completed */ - sentry->cleanupCallback.callback = (UA_Callback)removeSessionCallback; - sentry->cleanupCallback.application = server; - sentry->cleanupCallback.context = sentry; - UA_EventLoop *el = server->config.eventLoop; - el->addDelayedCallback(el, &sentry->cleanupCallback); -} - -UA_StatusCode -UA_Server_removeSessionByToken(UA_Server *server, const UA_NodeId *token, - UA_ShutdownReason shutdownReason) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - session_list_entry *entry; - LIST_FOREACH(entry, &server->sessions, pointers) { - if(UA_NodeId_equal(&entry->session.header.authenticationToken, token)) { - UA_Server_removeSession(server, entry, shutdownReason); - return UA_STATUSCODE_GOOD; - } - } - return UA_STATUSCODE_BADSESSIONIDINVALID; -} - -void -UA_Server_cleanupSessions(UA_Server *server, UA_DateTime nowMonotonic) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - session_list_entry *sentry, *temp; - LIST_FOREACH_SAFE(sentry, &server->sessions, pointers, temp) { - /* Session has timed out? */ - if(sentry->session.validTill >= nowMonotonic) - continue; - UA_LOG_INFO_SESSION(server->config.logging, &sentry->session, - "Session has timed out"); - UA_Server_removeSession(server, sentry, UA_SHUTDOWNREASON_TIMEOUT); - } -} - -/************/ -/* Services */ -/************/ - -UA_Session * -getSessionByToken(UA_Server *server, const UA_NodeId *token) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - session_list_entry *current = NULL; - LIST_FOREACH(current, &server->sessions, pointers) { - /* Token does not match */ - if(!UA_NodeId_equal(¤t->session.header.authenticationToken, token)) - continue; - - /* Session has timed out */ - if(UA_DateTime_nowMonotonic() > current->session.validTill) { - UA_LOG_INFO_SESSION(server->config.logging, ¤t->session, - "Client tries to use a session that has timed out"); - return NULL; - } - - return ¤t->session; - } - - return NULL; -} - -UA_Session * -getSessionById(UA_Server *server, const UA_NodeId *sessionId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - session_list_entry *current = NULL; - LIST_FOREACH(current, &server->sessions, pointers) { - /* Token does not match */ - if(!UA_NodeId_equal(¤t->session.sessionId, sessionId)) - continue; - - /* Session has timed out */ - if(UA_DateTime_nowMonotonic() > current->session.validTill) { - UA_LOG_INFO_SESSION(server->config.logging, ¤t->session, - "Client tries to use a session that has timed out"); - return NULL; - } - - return ¤t->session; - } - - if(UA_NodeId_equal(sessionId, &server->adminSession.sessionId)) - return &server->adminSession; - - return NULL; -} - -static UA_StatusCode -signCreateSessionResponse(UA_Server *server, UA_SecureChannel *channel, - const UA_CreateSessionRequest *request, - UA_CreateSessionResponse *response) { - if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && - channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return UA_STATUSCODE_GOOD; - - const UA_SecurityPolicy *securityPolicy = channel->securityPolicy; - UA_SignatureData *signatureData = &response->serverSignature; - - /* Prepare the signature */ - const UA_SecurityPolicySignatureAlgorithm *signAlg = - &securityPolicy->asymmetricModule.cryptoModule.signatureAlgorithm; - size_t signatureSize = signAlg->getLocalSignatureSize(channel->channelContext); - UA_StatusCode retval = UA_String_copy(&signAlg->uri, &signatureData->algorithm); - retval |= UA_ByteString_allocBuffer(&signatureData->signature, signatureSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Allocate a temp buffer */ - size_t dataToSignSize = - request->clientCertificate.length + request->clientNonce.length; - UA_ByteString dataToSign; - retval = UA_ByteString_allocBuffer(&dataToSign, dataToSignSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; /* signatureData->signature is cleaned up with the response */ - - /* Sign the signature */ - memcpy(dataToSign.data, request->clientCertificate.data, - request->clientCertificate.length); - memcpy(dataToSign.data + request->clientCertificate.length, - request->clientNonce.data, request->clientNonce.length); - retval = securityPolicy->asymmetricModule.cryptoModule.signatureAlgorithm. - sign(channel->channelContext, &dataToSign, &signatureData->signature); - - /* Clean up */ - UA_ByteString_clear(&dataToSign); - return retval; -} - -/* Creates and adds a session. But it is not yet attached to a secure channel. */ -UA_StatusCode -UA_Server_createSession(UA_Server *server, UA_SecureChannel *channel, - const UA_CreateSessionRequest *request, UA_Session **session) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->sessionCount >= server->config.maxSessions) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Could not create a Session - Server limits reached"); - return UA_STATUSCODE_BADTOOMANYSESSIONS; - } - - session_list_entry *newentry = (session_list_entry*) - UA_malloc(sizeof(session_list_entry)); - if(!newentry) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Initialize the Session */ - UA_Session_init(&newentry->session); - newentry->session.sessionId = UA_NODEID_GUID(1, UA_Guid_random()); - newentry->session.header.authenticationToken = UA_NODEID_GUID(1, UA_Guid_random()); - - newentry->session.timeout = server->config.maxSessionTimeout; - if(request->requestedSessionTimeout <= server->config.maxSessionTimeout && - request->requestedSessionTimeout > 0) - newentry->session.timeout = request->requestedSessionTimeout; - - /* Attach the session to the channel. But don't activate for now. */ - if(channel) - UA_Session_attachToSecureChannel(&newentry->session, channel); - UA_Session_updateLifetime(&newentry->session); - - /* Add to the server */ - LIST_INSERT_HEAD(&server->sessions, newentry, pointers); - server->sessionCount++; - - *session = &newentry->session; - return UA_STATUSCODE_GOOD; -} - -void -Service_CreateSession(UA_Server *server, UA_SecureChannel *channel, - const UA_CreateSessionRequest *request, - UA_CreateSessionResponse *response) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, "Trying to create session"); - - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || - channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - /* Compare the clientCertificate with the remoteCertificate of the channel. - * Both the clientCertificate of this request and the remoteCertificate - * of the channel may contain a partial or a complete certificate chain. - * The compareCertificate function of the channelModule will compare the - * first certificate of each chain. The end certificate shall be located - * first in the chain according to the OPC UA specification Part 6 (1.04), - * chapter 6.2.3.*/ - UA_StatusCode retval = channel->securityPolicy->channelModule. - compareCertificate(channel->channelContext, &request->clientCertificate); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "The client certificate did not validate"); - response->responseHeader.serviceResult = UA_STATUSCODE_BADCERTIFICATEINVALID; - return; - } - } - - UA_assert(channel->securityToken.channelId != 0); - - if(!UA_ByteString_equal(&channel->securityPolicy->policyUri, - &UA_SECURITY_POLICY_NONE_URI) && - request->clientNonce.length < 32) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNONCEINVALID; - return; - } - - if(request->clientCertificate.length > 0) { - UA_CertificateVerification *cv = &server->config.sessionPKI; - response->responseHeader.serviceResult = - cv->verifyApplicationURI(cv, &request->clientCertificate, - &request->clientDescription.applicationUri); - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "The client's ApplicationURI did not match the certificate"); - server->serverDiagnosticsSummary.securityRejectedSessionCount++; - server->serverDiagnosticsSummary.rejectedSessionCount++; - return; - } - } - - /* Create the Session */ - UA_Session *newSession = NULL; - response->responseHeader.serviceResult = - UA_Server_createSession(server, channel, request, &newSession); - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "Processing CreateSessionRequest failed"); - server->serverDiagnosticsSummary.rejectedSessionCount++; - return; - } - - /* If the session name is empty, use the generated SessionId */ - response->responseHeader.serviceResult |= - UA_String_copy(&request->sessionName, &newSession->sessionName); - if(newSession->sessionName.length == 0) - response->responseHeader.serviceResult |= - UA_NodeId_print(&newSession->sessionId, &newSession->sessionName); - - response->responseHeader.serviceResult |= UA_Session_generateNonce(newSession); - newSession->maxResponseMessageSize = request->maxResponseMessageSize; - newSession->maxRequestMessageSize = channel->config.localMaxMessageSize; - response->responseHeader.serviceResult |= - UA_ApplicationDescription_copy(&request->clientDescription, - &newSession->clientDescription); - -#ifdef UA_ENABLE_DIAGNOSTICS - response->responseHeader.serviceResult |= - UA_String_copy(&request->serverUri, &newSession->diagnostics.serverUri); - response->responseHeader.serviceResult |= - UA_String_copy(&request->endpointUrl, &newSession->diagnostics.endpointUrl); -#endif - - /* Prepare the response */ - response->sessionId = newSession->sessionId; - response->revisedSessionTimeout = (UA_Double)newSession->timeout; - response->authenticationToken = newSession->header.authenticationToken; - response->responseHeader.serviceResult |= - UA_ByteString_copy(&newSession->serverNonce, &response->serverNonce); - - /* Copy the server's endpointdescriptions into the response */ - response->responseHeader.serviceResult = - setCurrentEndPointsArray(server, request->endpointUrl, NULL, 0, - &response->serverEndpoints, - &response->serverEndpointsSize); - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_Server_removeSessionByToken(server, &newSession->header.authenticationToken, - UA_SHUTDOWNREASON_REJECT); - return; - } - - /* Return the server certificate from the SecurityPolicy of the current - * channel. Or, if the channel is unencrypted, return the standard policy - * used for usertoken encryption. */ - const UA_SecurityPolicy *sp = channel->securityPolicy; - if(UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &sp->policyUri) || - sp->localCertificate.length == 0) - sp = getDefaultEncryptedSecurityPolicy(server); - if(sp) - response->responseHeader.serviceResult |= - UA_ByteString_copy(&sp->localCertificate, &response->serverCertificate); - - /* Sign the signature */ - response->responseHeader.serviceResult |= - signCreateSessionResponse(server, channel, request, response); - - /* Failure -> remove the session */ - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_Server_removeSessionByToken(server, &newSession->header.authenticationToken, - UA_SHUTDOWNREASON_REJECT); - return; - } - -#ifdef UA_ENABLE_DIAGNOSTICS - newSession->diagnostics.clientConnectionTime = UA_DateTime_now(); - newSession->diagnostics.clientLastContactTime = - newSession->diagnostics.clientConnectionTime; - - /* Create the object in the information model */ - createSessionObject(server, newSession); -#endif - - UA_LOG_INFO_SESSION(server->config.logging, newSession, "Session created"); -} - -static UA_StatusCode -checkCertificateSignature(const UA_Server *server, const UA_SecurityPolicy *securityPolicy, - void *channelContext, const UA_ByteString *serverNonce, - const UA_SignatureData *signature, - const bool isUserTokenSignature) { - /* Check for zero signature length */ - if(signature->signature.length == 0) { - if(isUserTokenSignature) - return UA_STATUSCODE_BADUSERSIGNATUREINVALID; - return UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID; - } - - if(!securityPolicy) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Server certificate */ - const UA_ByteString *localCertificate = &securityPolicy->localCertificate; - /* Data to verify is calculated by appending the serverNonce to the local certificate */ - UA_ByteString dataToVerify; - size_t dataToVerifySize = localCertificate->length + serverNonce->length; - UA_StatusCode retval = UA_ByteString_allocBuffer(&dataToVerify, dataToVerifySize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - memcpy(dataToVerify.data, localCertificate->data, localCertificate->length); - memcpy(dataToVerify.data + localCertificate->length, - serverNonce->data, serverNonce->length); - retval = securityPolicy->asymmetricModule.cryptoModule.signatureAlgorithm. - verify(channelContext, &dataToVerify, &signature->signature); - UA_ByteString_clear(&dataToVerify); - if(retval != UA_STATUSCODE_GOOD) { - if(isUserTokenSignature) - retval = UA_STATUSCODE_BADUSERSIGNATUREINVALID; - else - retval = UA_STATUSCODE_BADAPPLICATIONSIGNATUREINVALID; - } - return retval; -} - -static void -selectEndpointAndTokenPolicy(UA_Server *server, UA_SecureChannel *channel, - const UA_ExtensionObject *identityToken, - const UA_EndpointDescription **ed, - const UA_UserTokenPolicy **utp, - const UA_SecurityPolicy **tokenSp) { - UA_ServerConfig *sc = &server->config; - for(size_t i = 0; i < sc->endpointsSize; ++i) { - const UA_EndpointDescription *desc = &sc->endpoints[i]; - - /* Match the Security Mode */ - if(desc->securityMode != channel->securityMode) - continue; - - /* Match the SecurityPolicy of the endpoint with the current channel */ - if(!UA_String_equal(&desc->securityPolicyUri, &channel->securityPolicy->policyUri)) - continue; - - /* If no UserTokenPolicies are configured in the endpoint, then use - * those of the AccessControl plugin. */ - size_t identPoliciesSize = desc->userIdentityTokensSize; - const UA_UserTokenPolicy *identPolicies = desc->userIdentityTokens; - if(identPoliciesSize == 0) { - identPoliciesSize = sc->accessControl.userTokenPoliciesSize; - identPolicies = sc->accessControl.userTokenPolicies; - } - - /* Match the UserTokenType */ - const UA_DataType *tokenDataType = identityToken->content.decoded.type; - for(size_t j = 0; j < identPoliciesSize ; j++) { - const UA_UserTokenPolicy *pol = &identPolicies[j]; - - /* Part 4, Section 5.6.3.2, Table 17: A NULL or empty - * UserIdentityToken should be treated as Anonymous */ - if(identityToken->encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY && - pol->tokenType == UA_USERTOKENTYPE_ANONYMOUS) { - *ed = desc; - *utp = pol; - return; - } - - /* Expect decoded content if not anonymous */ - if(!tokenDataType) - continue; - - if(pol->tokenType == UA_USERTOKENTYPE_ANONYMOUS) { - if(tokenDataType != &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) - continue; - } else if(pol->tokenType == UA_USERTOKENTYPE_USERNAME) { - if(tokenDataType != &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) - continue; - } else if(pol->tokenType == UA_USERTOKENTYPE_CERTIFICATE) { - if(tokenDataType != &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) - continue; - } else if(pol->tokenType == UA_USERTOKENTYPE_ISSUEDTOKEN) { - if(tokenDataType != &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) - continue; - } else { - continue; - } - - /* All valid token data types start with a string policyId */ - UA_AnonymousIdentityToken *token = (UA_AnonymousIdentityToken*) - identityToken->content.decoded.data; - - /* Select the SecurityPolicy used to encrypt the token. - * The default is to use the SecurityPolicy of the SecureChannel. */ - *tokenSp = channel->securityPolicy; -#ifdef UA_ENABLE_ENCRYPTION - if(identPolicies == sc->accessControl.userTokenPolicies) { - /* If the standard UserTokenPolicies from the AccessControl - * plugin are used, use the same logic as in - * updateEndpointUserIdentityToken (ua_services_discovery.c). */ - if(pol->tokenType != UA_USERTOKENTYPE_ANONYMOUS && - !(sc->allowNonePolicyPassword && pol->tokenType == UA_USERTOKENTYPE_USERNAME) && - UA_String_equal(&channel->securityPolicy->policyUri, &UA_SECURITY_POLICY_NONE_URI)) - *tokenSp = getDefaultEncryptedSecurityPolicy(server); - } else if(pol->securityPolicyUri.length > 0) { - /* Manually defined UserTokenPolicy. Lookup by URI */ - *tokenSp = getSecurityPolicyByUri(server, &pol->securityPolicyUri); - } - if(!*tokenSp) - continue; - - /* Anonymous tokens don't need encryption. All other tokens require - * encryption with the exception of Username/Password if also the - * allowNonePolicyPassword option has been set. */ - if(pol->tokenType != UA_USERTOKENTYPE_ANONYMOUS && - !(sc->allowNonePolicyPassword && pol->tokenType == UA_USERTOKENTYPE_USERNAME) && - UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &(*tokenSp)->policyUri)) - continue; -#endif - - /* In setCurrentEndPointsArray we prepend the PolicyId with the - * SecurityMode of the endpoint and the postfix of the - * SecurityPolicyUri to make it unique. Check the SecurityPolicyUri - * postfix. */ - if(pol->policyId.length > token->policyId.length) - continue; - UA_String policyPrefix = token->policyId; - policyPrefix.length = pol->policyId.length; - if(!UA_String_equal(&policyPrefix, &pol->policyId)) - continue; - - UA_String secPolPostfix = securityPolicyUriPostfix((*tokenSp)->policyUri); - UA_String utPolPostfix = securityPolicyUriPostfix(token->policyId); - if(!UA_String_equal(&secPolPostfix, &utPolPostfix)) - continue; - - /* Match found */ - *ed = desc; - *utp = pol; - return; - } - } -} - -#ifdef UA_ENABLE_ENCRYPTION -static UA_StatusCode -decryptUserToken(UA_Server *server, UA_Session *session, - UA_SecureChannel *channel, const UA_SecurityPolicy *sp, - const UA_String encryptionAlgorithm, UA_String *encrypted) { - /* If SecurityPolicy is None there shall be no EncryptionAlgorithm */ - if(UA_String_equal(&sp->policyUri, &UA_SECURITY_POLICY_NONE_URI)) { - if(encryptionAlgorithm.length > 0) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - if(channel->securityMode == UA_MESSAGESECURITYMODE_NONE) { - UA_LOG_WARNING_SESSION(server->config.logging, session, "ActivateSession: " - "Received an unencrypted UserToken. " - "Is the server misconfigured to allow that?"); - } - return UA_STATUSCODE_GOOD; - } - - /* Test if the correct encryption algorithm is used */ - if(!UA_String_equal(&encryptionAlgorithm, - &sp->asymmetricModule.cryptoModule.encryptionAlgorithm.uri)) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - /* Encrypted password -- Create a temporary channel context. - * TODO: We should not need a ChannelContext at all for asymmetric - * decryption where the remote certificate is not used. */ - void *tempChannelContext = NULL; - UA_StatusCode res = sp->channelModule.newContext(sp, &sp->localCertificate, &tempChannelContext); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: Failed to create a " - "context for the SecurityPolicy %.*s", - (int)sp->policyUri.length, - sp->policyUri.data); - return res; - } - - UA_UInt32 secretLen = 0; - UA_ByteString secret, tokenNonce; - size_t tokenpos = 0; - size_t offset = 0; - UA_ByteString *sn = &session->serverNonce; - const UA_SecurityPolicyEncryptionAlgorithm *asymEnc = - &sp->asymmetricModule.cryptoModule.encryptionAlgorithm; - - res = UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - /* Decrypt the secret */ - if(UA_ByteString_copy(encrypted, &secret) != UA_STATUSCODE_GOOD || - asymEnc->decrypt(tempChannelContext, &secret) != UA_STATUSCODE_GOOD) - goto cleanup; - - /* The secret starts with a UInt32 length for the content */ - if(UA_UInt32_decodeBinary(&secret, &offset, &secretLen) != UA_STATUSCODE_GOOD) - goto cleanup; - - /* The decrypted data must be large enough to include the Encrypted Token - * Secret Format and the length field must indicate enough data to include - * the server nonce. */ - if(secret.length < sizeof(UA_UInt32) + sn->length || - secret.length < sizeof(UA_UInt32) + secretLen || - secretLen < sn->length) - goto cleanup; - - /* If the Encrypted Token Secret contains padding, the padding must be - * zeroes according to the 1.04.1 specification errata, chapter 3. */ - for(size_t i = sizeof(UA_UInt32) + secretLen; i < secret.length; i++) { - if(secret.data[i] != 0) - goto cleanup; - } - - /* The server nonce must match according to the 1.04.1 specification errata, - * chapter 3. */ - tokenpos = sizeof(UA_UInt32) + secretLen - sn->length; - tokenNonce.length = sn->length; - tokenNonce.data = &secret.data[tokenpos]; - if(!UA_ByteString_equal(sn, &tokenNonce)) - goto cleanup; - - /* The password was decrypted successfully. Replace usertoken with the - * decrypted password. The encryptionAlgorithm and policyId fields are left - * in the UserToken as an indication for the AccessControl plugin that - * evaluates the decrypted content. */ - memcpy(encrypted->data, - &secret.data[sizeof(UA_UInt32)], secretLen - sn->length); - encrypted->length = secretLen - sn->length; - res = UA_STATUSCODE_GOOD; - - cleanup: - UA_ByteString_clear(&secret); - - /* Remove the temporary channel context */ - sp->channelModule.deleteContext(tempChannelContext); - - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: Failed to decrypt the " - "password with the StatusCode %s", - UA_StatusCode_name(res)); - } - return res; -} - -static UA_StatusCode -checkActivateSessionX509(UA_Server *server, UA_Session *session, - const UA_SecurityPolicy *sp, UA_X509IdentityToken* token, - const UA_SignatureData *tokenSignature) { - /* The SecurityPolicy must not be None for the signature */ - if(UA_String_equal(&sp->policyUri, &UA_SECURITY_POLICY_NONE_URI)) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - /* We need a channel context with the user certificate in order to reuse - * the signature checking code. */ - void *tempChannelContext; - UA_StatusCode res = sp->channelModule. newContext(sp, &token->certificateData, &tempChannelContext); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: Failed to create a context " - "for the SecurityPolicy %.*s", - (int)sp->policyUri.length, - sp->policyUri.data); - return res; - } - - /* Check the user token signature */ - res = checkCertificateSignature(server, sp, tempChannelContext, - &session->serverNonce, tokenSignature, true); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: User token signature check " - "failed with StatusCode %s", UA_StatusCode_name(res)); - } - - /* Delete the temporary channel context */ - sp->channelModule.deleteContext(tempChannelContext); - return res; -} -#endif - -/* TODO: Check all of the following: The Server shall verify that the - * Certificate the Client used to create the new SecureChannel is the same as - * the Certificate used to create the original SecureChannel. In addition, the - * Server shall verify that the Client supplied a UserIdentityToken that is - * identical to the token currently associated with the Session. Once the Server - * accepts the new SecureChannel it shall reject requests sent via the old - * SecureChannel. */ - -void -Service_ActivateSession(UA_Server *server, UA_SecureChannel *channel, - const UA_ActivateSessionRequest *req, - UA_ActivateSessionResponse *resp) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - const UA_EndpointDescription *ed = NULL; - const UA_UserTokenPolicy *utp = NULL; - const UA_SecurityPolicy *tokenSp = NULL; - UA_String *tmpLocaleIds; - - /* Get the session */ - UA_Session *session = getSessionByToken(server, &req->requestHeader.authenticationToken); - if(!session) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "ActivateSession: Session not found"); - resp->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; - goto rejected; - } - - /* Part 4, §5.6.3: When the ActivateSession Service is called for the - * first time then the Server shall reject the request if the - * SecureChannel is not same as the one associated with the - * CreateSession request. Subsequent calls to ActivateSession may be - * associated with different SecureChannels. */ - if(!session->activated && session->header.channel != channel) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "ActivateSession: The Session has to be initially activated " - "on the SecureChannel that created it"); - resp->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; - goto rejected; - } - - /* Has the session timed out? */ - if(session->validTill < UA_DateTime_nowMonotonic()) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: The Session has timed out"); - resp->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; - goto rejected; - } - - /* Check the client signature */ - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || - channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - resp->responseHeader.serviceResult = - checkCertificateSignature(server, channel->securityPolicy, - channel->channelContext, - &session->serverNonce, - &req->clientSignature, false); - if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: Client signature check failed " - "with StatusCode %s", - UA_StatusCode_name(resp->responseHeader.serviceResult)); - goto securityRejected; - } - } - - /* Find the matching Endpoint with UserTokenPolicy. - * Also sets the SecurityPolicy used to encrypt the token. */ - selectEndpointAndTokenPolicy(server, channel, &req->userIdentityToken, - &ed, &utp, &tokenSp); - if(!ed || !tokenSp) { - resp->responseHeader.serviceResult = UA_STATUSCODE_BADIDENTITYTOKENINVALID; - goto rejected; - } - - /* Decrypt (or validate the signature) of the UserToken. The DataType of the - * UserToken was already checked in selectEndpointAndTokenPolicy */ -#ifdef UA_ENABLE_ENCRYPTION - if(utp->tokenType == UA_USERTOKENTYPE_USERNAME) { - /* If it is a UserNameIdentityToken, the password may be encrypted */ - UA_UserNameIdentityToken *userToken = (UA_UserNameIdentityToken *) - req->userIdentityToken.content.decoded.data; - resp->responseHeader.serviceResult = - decryptUserToken(server, session, channel, tokenSp, - userToken->encryptionAlgorithm, &userToken->password); - } else if(utp->tokenType == UA_USERTOKENTYPE_CERTIFICATE) { - /* If it is a X509IdentityToken, check the userTokenSignature. Note this - * only validates that the user has the corresponding private key for - * the given user certificate. Checking whether the user certificate is - * trusted has to be implemented in the access control plugin. The - * entire token is forwarded in the call to ActivateSession. */ - UA_X509IdentityToken* x509token = (UA_X509IdentityToken*) - req->userIdentityToken.content.decoded.data; - resp->responseHeader.serviceResult = - checkActivateSessionX509(server, session, tokenSp, - x509token, &req->userTokenSignature); - } else if(utp->tokenType == UA_USERTOKENTYPE_ISSUEDTOKEN) { - /* IssuedTokens are encrypted */ - UA_IssuedIdentityToken *issuedToken = (UA_IssuedIdentityToken*) - req->userIdentityToken.content.decoded.data; - resp->responseHeader.serviceResult = decryptUserToken( - server, session, channel, tokenSp, issuedToken->encryptionAlgorithm, - &issuedToken->tokenData); - } /* else Anonymous */ - if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) - goto securityRejected; -#endif - - /* Callback into userland access control */ - resp->responseHeader.serviceResult = server->config.accessControl. - activateSession(server, &server->config.accessControl, ed, - &channel->remoteCertificate, &session->sessionId, - &req->userIdentityToken, &session->sessionHandle); - if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: The AccessControl " - "plugin denied the activation with the StatusCode %s", - UA_StatusCode_name(resp->responseHeader.serviceResult)); - goto securityRejected; - } - - /* Attach the session to the currently used channel if the session isn't - * attached to a channel or if the session is activated on a different - * channel than it is attached to. */ - if(!session->header.channel || session->header.channel != channel) { - /* Attach the new SecureChannel, the old channel will be detached if present */ - UA_Session_attachToSecureChannel(session, channel); - UA_LOG_INFO_SESSION(server->config.logging, session, - "ActivateSession: Session attached to new channel"); - } - - /* Generate a new session nonce for the next time ActivateSession is called */ - resp->responseHeader.serviceResult = UA_Session_generateNonce(session); - resp->responseHeader.serviceResult |= - UA_ByteString_copy(&session->serverNonce, &resp->serverNonce); - if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_Session_detachFromSecureChannel(session); - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: Could not generate the server nonce"); - goto rejected; - } - - /* Set the Locale */ - if(req->localeIdsSize > 0) { - /* Part 4, §5.6.3.2: This parameter only needs to be specified during - * the first call to ActivateSession during a single application - * Session. If it is not specified the Server shall keep using the - * current localeIds for the Session. */ - resp->responseHeader.serviceResult |= - UA_Array_copy(req->localeIds, req->localeIdsSize, - (void**)&tmpLocaleIds, &UA_TYPES[UA_TYPES_STRING]); - if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_Session_detachFromSecureChannel(session); - UA_LOG_WARNING_SESSION(server->config.logging, session, - "ActivateSession: Could not store the Session LocaleIds"); - goto rejected; - } - UA_Array_delete(session->localeIds, session->localeIdsSize, - &UA_TYPES[UA_TYPES_STRING]); - session->localeIds = tmpLocaleIds; - session->localeIdsSize = req->localeIdsSize; - } - - /* Update the Session lifetime */ - UA_Session_updateLifetime(session); - - /* Activate the session */ - if(!session->activated) { - session->activated = true; - server->activeSessionCount++; - server->serverDiagnosticsSummary.cumulatedSessionCount++; - } - - /* Store the ClientUserId. tokenType can be NULL for the anonymous user. */ - UA_String_clear(&session->clientUserIdOfSession); - const UA_DataType *tokenType = req->userIdentityToken.content.decoded.type; - if(tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) { - const UA_UserNameIdentityToken *userToken = (UA_UserNameIdentityToken*) - req->userIdentityToken.content.decoded.data; - UA_String_copy(&userToken->userName, &session->clientUserIdOfSession); - } else if(tokenType == &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) { - UA_X509IdentityToken* userCertToken = (UA_X509IdentityToken*) - req->userIdentityToken.content.decoded.data; - if(server->config.sessionPKI.getSubjectName) - server->config.sessionPKI. - getSubjectName(&session->clientUserIdOfSession, - &userCertToken->certificateData); - } else { - /* TODO: Handle issued token */ - } - -#ifdef UA_ENABLE_DIAGNOSTICS - /* Add the ClientUserId to the diagnostics history */ - UA_SessionSecurityDiagnosticsDataType *ssd = &session->securityDiagnostics; - UA_StatusCode res = - UA_Array_appendCopy((void**)&ssd->clientUserIdHistory, - &ssd->clientUserIdHistorySize, - &ssd->clientUserIdOfSession, - &UA_TYPES[UA_TYPES_STRING]); - (void)res; - - /* Store the auth mechanism */ - UA_String_clear(&ssd->authenticationMechanism); - switch(utp->tokenType) { - case UA_USERTOKENTYPE_ANONYMOUS: - ssd->authenticationMechanism = UA_STRING_ALLOC("Anonymous"); break; - case UA_USERTOKENTYPE_USERNAME: - ssd->authenticationMechanism = UA_STRING_ALLOC("UserName"); break; - case UA_USERTOKENTYPE_CERTIFICATE: - ssd->authenticationMechanism = UA_STRING_ALLOC("Certificate"); break; - case UA_USERTOKENTYPE_ISSUEDTOKEN: - ssd->authenticationMechanism = UA_STRING_ALLOC("IssuedToken"); break; - default: break; - } -#endif - - /* Log the user for which the Session was activated */ - UA_LOG_INFO_SESSION(server->config.logging, session, - "ActivateSession: Session activated with ClientUserId \"%.*s\"", - (int)session->clientUserIdOfSession.length, - session->clientUserIdOfSession.data); - return; - -securityRejected: - server->serverDiagnosticsSummary.securityRejectedSessionCount++; -rejected: - server->serverDiagnosticsSummary.rejectedSessionCount++; -} - -void -Service_CloseSession(UA_Server *server, UA_SecureChannel *channel, - const UA_CloseSessionRequest *request, - UA_CloseSessionResponse *response) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Part 4, 5.6.4: When the CloseSession Service is called before the Session - * is successfully activated, the Server shall reject the request if the - * SecureChannel is not the same as the one associated with the - * CreateSession request. - * - * A non-activated Session is already bound to the SecureChannel that - * created the Session. */ - UA_Session *session = NULL; - response->responseHeader.serviceResult = - getBoundSession(server, channel, &request->requestHeader.authenticationToken, &session); - if(!session && response->responseHeader.serviceResult == UA_STATUSCODE_GOOD) - response->responseHeader.serviceResult = UA_STATUSCODE_BADSESSIONIDINVALID; - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CHANNEL(server->config.logging, channel, - "CloseSession: No Session activated to the SecureChannel"); - return; - } - - UA_assert(session); /* Assured by the previous section */ - UA_LOG_INFO_SESSION(server->config.logging, session, "Closing the Session"); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* If Subscriptions are not deleted, detach them from the Session */ - if(!request->deleteSubscriptions) { - UA_Subscription *sub, *sub_tmp; - TAILQ_FOREACH_SAFE(sub, &session->subscriptions, sessionListEntry, sub_tmp) { - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, - "Detaching the Subscription from the Session"); - UA_Session_detachSubscription(server, session, sub, true); - } - } -#endif - - /* Remove the sesison */ - response->responseHeader.serviceResult = - UA_Server_removeSessionByToken(server, &session->header.authenticationToken, - UA_SHUTDOWNREASON_CLOSE); -} - -void Service_Cancel(UA_Server *server, UA_Session *session, - const UA_CancelRequest *request, - UA_CancelResponse *response) { - /* If multithreading is disabled, then there are no async services. If all - * services are answered "right away", then there are no services that can - * be cancelled. */ -#if UA_MULTITHREADING >= 100 - response->cancelCount = UA_AsyncManager_cancel(server, session, request->requestHandle); -#endif - - /* Publish requests for Subscriptions are stored separately */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_PublishResponseEntry *pre, *pre_tmp; - UA_PublishResponseEntry *prev = NULL; - SIMPLEQ_FOREACH_SAFE(pre, &session->responseQueue, listEntry, pre_tmp) { - /* Skip entry and set as the previous entry that is kept in the list */ - if(pre->response.responseHeader.requestHandle != request->requestHandle) { - prev = pre; - continue; - } - - /* Dequeue */ - if(prev) - SIMPLEQ_REMOVE_AFTER(&session->responseQueue, prev, listEntry); - else - SIMPLEQ_REMOVE_HEAD(&session->responseQueue, listEntry); - session->responseQueueSize--; - - /* Send response and clean up */ - response->responseHeader.serviceResult = UA_STATUSCODE_BADREQUESTCANCELLEDBYCLIENT; - sendResponse(server, session, session->header.channel, pre->requestId, - (UA_Response *)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); - UA_PublishResponse_clear(&pre->response); - UA_free(pre); - - /* Increase the CancelCount */ - response->cancelCount++; - } -#endif -} - -/**** amalgamated original file "/src/server/ua_services_attribute.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2015 (c) Christian Fimmers - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2015 (c) wuyangtang - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) Lorenz Haas - * Copyright 2017 (c) frax2222 - * Copyright 2017 (c) Thomas Bender - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2017 (c) Henrik Norrman - * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - */ - - -#ifdef UA_ENABLE_HISTORIZING -#endif - -static const UA_NodeAttributesMask attr2mask[28] = { - UA_NODEATTRIBUTESMASK_NODEID, - UA_NODEATTRIBUTESMASK_NODECLASS, - UA_NODEATTRIBUTESMASK_BROWSENAME, - UA_NODEATTRIBUTESMASK_DISPLAYNAME, - UA_NODEATTRIBUTESMASK_DESCRIPTION, - UA_NODEATTRIBUTESMASK_WRITEMASK, - UA_NODEATTRIBUTESMASK_USERWRITEMASK, - UA_NODEATTRIBUTESMASK_ISABSTRACT, - UA_NODEATTRIBUTESMASK_SYMMETRIC, - UA_NODEATTRIBUTESMASK_INVERSENAME, - UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS, - UA_NODEATTRIBUTESMASK_EVENTNOTIFIER, - UA_NODEATTRIBUTESMASK_VALUE, - UA_NODEATTRIBUTESMASK_DATATYPE, - UA_NODEATTRIBUTESMASK_VALUERANK, - UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS, - UA_NODEATTRIBUTESMASK_ACCESSLEVEL, - UA_NODEATTRIBUTESMASK_USERACCESSLEVEL, - UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL, - UA_NODEATTRIBUTESMASK_HISTORIZING, - UA_NODEATTRIBUTESMASK_EXECUTABLE, - UA_NODEATTRIBUTESMASK_USEREXECUTABLE, - UA_NODEATTRIBUTESMASK_DATATYPEDEFINITION, - UA_NODEATTRIBUTESMASK_ROLEPERMISSIONS, - UA_NODEATTRIBUTESMASK_ROLEPERMISSIONS, - UA_NODEATTRIBUTESMASK_ACCESSRESTRICTIONS, - UA_NODEATTRIBUTESMASK_ACCESSLEVEL -}; - -static UA_UInt32 -attributeId2AttributeMask(UA_AttributeId id) { - if(UA_UNLIKELY(id > UA_ATTRIBUTEID_ACCESSLEVELEX)) - return UA_NODEATTRIBUTESMASK_NONE; - return attr2mask[id]; -} - -/******************/ -/* Access Control */ -/******************/ - -/* Session for read operations can be NULL. For example for a MonitoredItem - * where the underlying Subscription was detached during CloseSession. */ - -static UA_UInt32 -getUserWriteMask(UA_Server *server, const UA_Session *session, - const UA_NodeHead *head) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(session == &server->adminSession) - return 0xFFFFFFFF; /* the local admin user has all rights */ - return head->writeMask & server->config.accessControl. - getUserRightsMask(server, &server->config.accessControl, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &head->nodeId, head->context); -} - -static UA_Byte -getAccessLevel(UA_Server *server, const UA_Session *session, - const UA_VariableNode *node) { - if(session == &server->adminSession) - return 0xFF; /* the local admin user has all rights */ - return node->accessLevel; -} - -static UA_Byte -getUserAccessLevel(UA_Server *server, const UA_Session *session, - const UA_VariableNode *node) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(session == &server->adminSession) - return 0xFF; /* the local admin user has all rights */ - return node->accessLevel & server->config.accessControl. - getUserAccessLevel(server, &server->config.accessControl, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &node->head.nodeId, node->head.context); -} - -static UA_Boolean -getUserExecutable(UA_Server *server, const UA_Session *session, - const UA_MethodNode *node) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(session == &server->adminSession) - return true; /* the local admin user has all rights */ - return node->executable & server->config.accessControl. - getUserExecutable(server, &server->config.accessControl, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &node->head.nodeId, node->head.context); -} - -/****************/ -/* Read Service */ -/****************/ - -static UA_StatusCode -readIsAbstractAttribute(const UA_Node *node, UA_Variant *v) { - const UA_Boolean *isAbstract; - switch(node->head.nodeClass) { - case UA_NODECLASS_REFERENCETYPE: - isAbstract = &node->referenceTypeNode.isAbstract; - break; - case UA_NODECLASS_OBJECTTYPE: - isAbstract = &node->objectTypeNode.isAbstract; - break; - case UA_NODECLASS_VARIABLETYPE: - isAbstract = &node->variableTypeNode.isAbstract; - break; - case UA_NODECLASS_DATATYPE: - isAbstract = &node->dataTypeNode.isAbstract; - break; - default: - return UA_STATUSCODE_BADATTRIBUTEIDINVALID; - } - - return UA_Variant_setScalarCopy(v, isAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]); -} - -static UA_StatusCode -readValueAttributeFromNode(UA_Server *server, UA_Session *session, - const UA_VariableNode *vn, UA_DataValue *v, - UA_NumericRange *rangeptr) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - /* Update the value by the user callback */ - if(vn->value.data.callback.onRead) { - vn->value.data.callback.onRead(server, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &vn->head.nodeId, vn->head.context, rangeptr, - &vn->value.data.value); - vn = (const UA_VariableNode*) - UA_NODESTORE_GET_SELECTIVE(server, &vn->head.nodeId, - UA_NODEATTRIBUTESMASK_VALUE, - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - if(!vn) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - } - - /* Set the result */ - UA_StatusCode retval; - if(!rangeptr) { - retval = UA_DataValue_copy(&vn->value.data.value, v); - } else { - *v = vn->value.data.value; /* Copy timestamps */ - UA_Variant_init(&v->value); - retval = UA_Variant_copyRange(&vn->value.data.value.value, &v->value, *rangeptr); - } - - /* Clean up */ - if(vn->value.data.callback.onRead) - UA_NODESTORE_RELEASE(server, (const UA_Node *)vn); - return retval; -} - -static UA_StatusCode -readValueAttributeFromDataSource(UA_Server *server, UA_Session *session, - const UA_VariableNode *vn, UA_DataValue *v, - UA_TimestampsToReturn timestamps, - UA_NumericRange *rangeptr) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(!vn->value.dataSource.read) - return UA_STATUSCODE_BADINTERNALERROR; - UA_Boolean sourceTimeStamp = (timestamps == UA_TIMESTAMPSTORETURN_SOURCE || - timestamps == UA_TIMESTAMPSTORETURN_BOTH); - UA_DataValue v2; - UA_DataValue_init(&v2); - UA_StatusCode retval = vn->value.dataSource. - read(server, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &vn->head.nodeId, vn->head.context, - sourceTimeStamp, rangeptr, &v2); - if(v2.hasValue && v2.value.storageType == UA_VARIANT_DATA_NODELETE) { - retval = UA_DataValue_copy(&v2, v); - UA_DataValue_clear(&v2); - } else { - *v = v2; - } - return retval; -} - -static UA_StatusCode -readValueAttributeComplete(UA_Server *server, UA_Session *session, - const UA_VariableNode *vn, UA_TimestampsToReturn timestamps, - const UA_String *indexRange, UA_DataValue *v) { - /* Compute the index range */ - UA_NumericRange range; - UA_NumericRange *rangeptr = NULL; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(indexRange && indexRange->length > 0) { - retval = UA_NumericRange_parse(&range, *indexRange); - if(retval != UA_STATUSCODE_GOOD) - return retval; - rangeptr = ⦥ - } - - switch(vn->valueBackend.backendType) { - case UA_VALUEBACKENDTYPE_INTERNAL: - retval = readValueAttributeFromNode(server, session, vn, v, rangeptr); - //TODO change old structure to value backend - break; - case UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK: - retval = readValueAttributeFromDataSource(server, session, vn, v, - timestamps, rangeptr); - //TODO change old structure to value backend - break; - case UA_VALUEBACKENDTYPE_EXTERNAL: - if(!vn->valueBackend.backend.external.callback.notificationRead) { - retval = UA_STATUSCODE_BADNOTREADABLE; - break; - } - retval = vn->valueBackend.backend.external.callback. - notificationRead(server, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &vn->head.nodeId, vn->head.context, rangeptr); - if(retval != UA_STATUSCODE_GOOD) - break; - - /* Set the result */ - if(rangeptr) - retval = UA_DataValue_copyVariantRange( - *vn->valueBackend.backend.external.value, v, *rangeptr); - else - retval = UA_DataValue_copy(*vn->valueBackend.backend.external.value, v); - break; - case UA_VALUEBACKENDTYPE_NONE: - /* Read the value */ - if(vn->valueSource == UA_VALUESOURCE_DATA) - retval = readValueAttributeFromNode(server, session, vn, v, rangeptr); - else - retval = readValueAttributeFromDataSource(server, session, vn, v, - timestamps, rangeptr); - /* end lagacy */ - break; - } - - /* If not defined return a source timestamp of "now". - * Static nodes always have the current time as source-time. */ - if(!v->hasSourceTimestamp) { - v->sourceTimestamp = UA_DateTime_now(); - v->hasSourceTimestamp = true; - } - - /* Clean up */ - if(rangeptr) - UA_free(range.dimensions); - return retval; -} - -UA_StatusCode -readValueAttribute(UA_Server *server, UA_Session *session, - const UA_VariableNode *vn, UA_DataValue *v) { - return readValueAttributeComplete(server, session, vn, - UA_TIMESTAMPSTORETURN_NEITHER, NULL, v); -} - -static const UA_String binEncoding = {sizeof("Default Binary")-1, (UA_Byte*)"Default Binary"}; -static const UA_String xmlEncoding = {sizeof("Default XML")-1, (UA_Byte*)"Default XML"}; -static const UA_String jsonEncoding = {sizeof("Default JSON")-1, (UA_Byte*)"Default JSON"}; - -#define CHECK_NODECLASS(CLASS) \ - if(!(node->head.nodeClass & (CLASS))) { \ - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; \ - break; \ - } - -#ifdef UA_ENABLE_TYPEDESCRIPTION -static const UA_DataType * -findDataType(const UA_Node *node, const UA_DataTypeArray *customTypes) { - for(size_t i = 0; i < UA_TYPES_COUNT; ++i) { - if(UA_NodeId_equal(&UA_TYPES[i].typeId, &node->head.nodeId)) { - return &UA_TYPES[i]; - } - } - - // lookup custom type - while(customTypes) { - for(size_t i = 0; i < customTypes->typesSize; ++i) { - if(UA_NodeId_equal(&customTypes->types[i].typeId, &node->head.nodeId)) - return &customTypes->types[i]; - } - customTypes = customTypes->next; - } - return NULL; -} - -static UA_StatusCode -getStructureDefinition(const UA_DataType *type, UA_StructureDefinition *def) { - UA_StatusCode retval = - UA_NodeId_copy(&type->binaryEncodingId, &def->defaultEncodingId); - if(retval != UA_STATUSCODE_GOOD) - return retval; - switch(type->typeKind) { - case UA_DATATYPEKIND_STRUCTURE: - def->structureType = UA_STRUCTURETYPE_STRUCTURE; - def->baseDataType = UA_NODEID_NUMERIC(0, UA_NS0ID_STRUCTURE); - break; - case UA_DATATYPEKIND_OPTSTRUCT: - def->structureType = UA_STRUCTURETYPE_STRUCTUREWITHOPTIONALFIELDS; - def->baseDataType = UA_NODEID_NUMERIC(0, UA_NS0ID_STRUCTURE); - break; - case UA_DATATYPEKIND_UNION: - def->structureType = UA_STRUCTURETYPE_UNION; - def->baseDataType = UA_NODEID_NUMERIC(0, UA_NS0ID_UNION); - break; - default: - return UA_STATUSCODE_BADENCODINGERROR; - } - def->fieldsSize = type->membersSize; - def->fields = (UA_StructureField *) - UA_calloc(def->fieldsSize, sizeof(UA_StructureField)); - if(!def->fields) { - UA_NodeId_clear(&def->defaultEncodingId); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - for(size_t cnt = 0; cnt < def->fieldsSize; cnt++) { - const UA_DataTypeMember *m = &type->members[cnt]; - def->fields[cnt].valueRank = (m->isArray) ? UA_VALUERANK_ONE_DIMENSION : UA_VALUERANK_SCALAR; - def->fields[cnt].arrayDimensions = NULL; - def->fields[cnt].arrayDimensionsSize = 0; - def->fields[cnt].name = UA_STRING((char *)(uintptr_t)m->memberName); - def->fields[cnt].description.locale = UA_STRING_NULL; - def->fields[cnt].description.text = UA_STRING_NULL; - def->fields[cnt].dataType = m->memberType->typeId; - def->fields[cnt].maxStringLength = 0; - def->fields[cnt].isOptional = m->isOptional; - } - return UA_STATUSCODE_GOOD; -} -#endif - -/* Returns a datavalue that may point into the node via the - * UA_VARIANT_DATA_NODELETE tag. Don't access the returned DataValue once the - * node has been released! */ -void -ReadWithNode(const UA_Node *node, UA_Server *server, UA_Session *session, - UA_TimestampsToReturn timestampsToReturn, - const UA_ReadValueId *id, UA_DataValue *v) { - UA_LOG_NODEID_TRACE(&node->head.nodeId, - UA_LOG_TRACE_SESSION(server->config.logging, session, - "Read attribute %"PRIi32 " of Node %.*s", - id->attributeId, (int)nodeIdStr.length, - nodeIdStr.data)); - - /* Only Binary Encoding is supported */ - if(id->dataEncoding.name.length > 0 && - !UA_String_equal(&binEncoding, &id->dataEncoding.name)) { - if(UA_String_equal(&xmlEncoding, &id->dataEncoding.name) || - UA_String_equal(&jsonEncoding, &id->dataEncoding.name)) - v->status = UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED; - else - v->status = UA_STATUSCODE_BADDATAENCODINGINVALID; - v->hasStatus = true; - return; - } - - /* Index range for an attribute other than value */ - if(id->indexRange.length > 0 && id->attributeId != UA_ATTRIBUTEID_VALUE) { - v->hasStatus = true; - v->status = UA_STATUSCODE_BADINDEXRANGENODATA; - return; - } - - /* Read the attribute */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - switch(id->attributeId) { - case UA_ATTRIBUTEID_NODEID: - retval = UA_Variant_setScalarCopy(&v->value, &node->head.nodeId, - &UA_TYPES[UA_TYPES_NODEID]); - break; - case UA_ATTRIBUTEID_NODECLASS: - retval = UA_Variant_setScalarCopy(&v->value, &node->head.nodeClass, - &UA_TYPES[UA_TYPES_NODECLASS]); - break; - case UA_ATTRIBUTEID_BROWSENAME: - retval = UA_Variant_setScalarCopy(&v->value, &node->head.browseName, - &UA_TYPES[UA_TYPES_QUALIFIEDNAME]); - break; - case UA_ATTRIBUTEID_DISPLAYNAME: { - UA_LocalizedText lt = UA_Session_getNodeDisplayName(session, &node->head); - retval = UA_Variant_setScalarCopy(&v->value, <, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); - break; - } - case UA_ATTRIBUTEID_DESCRIPTION: { - UA_LocalizedText lt = UA_Session_getNodeDescription(session, &node->head); - retval = UA_Variant_setScalarCopy(&v->value, <, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); - break; - } - case UA_ATTRIBUTEID_WRITEMASK: - retval = UA_Variant_setScalarCopy(&v->value, &node->head.writeMask, - &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_ATTRIBUTEID_USERWRITEMASK: { - UA_UInt32 userWriteMask = getUserWriteMask(server, session, &node->head); - retval = UA_Variant_setScalarCopy(&v->value, &userWriteMask, - &UA_TYPES[UA_TYPES_UINT32]); - break; } - case UA_ATTRIBUTEID_ISABSTRACT: - retval = readIsAbstractAttribute(node, &v->value); - break; - case UA_ATTRIBUTEID_SYMMETRIC: - CHECK_NODECLASS(UA_NODECLASS_REFERENCETYPE); - retval = UA_Variant_setScalarCopy(&v->value, &node->referenceTypeNode.symmetric, - &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case UA_ATTRIBUTEID_INVERSENAME: - CHECK_NODECLASS(UA_NODECLASS_REFERENCETYPE); - if(node->referenceTypeNode.symmetric) { - /* Symmetric reference types don't have an inverse name */ - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; - break; - } - retval = UA_Variant_setScalarCopy(&v->value, &node->referenceTypeNode.inverseName, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); - break; - case UA_ATTRIBUTEID_CONTAINSNOLOOPS: - CHECK_NODECLASS(UA_NODECLASS_VIEW); - retval = UA_Variant_setScalarCopy(&v->value, &node->viewNode.containsNoLoops, - &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case UA_ATTRIBUTEID_EVENTNOTIFIER: - CHECK_NODECLASS(UA_NODECLASS_VIEW | UA_NODECLASS_OBJECT); - if(node->head.nodeClass == UA_NODECLASS_VIEW) { - retval = UA_Variant_setScalarCopy(&v->value, &node->viewNode.eventNotifier, - &UA_TYPES[UA_TYPES_BYTE]); - } else { - retval = UA_Variant_setScalarCopy(&v->value, &node->objectNode.eventNotifier, - &UA_TYPES[UA_TYPES_BYTE]); - } - break; - case UA_ATTRIBUTEID_VALUE: { - CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - /* VariableTypes don't have the AccessLevel concept. Always allow - * reading the value. */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { - /* The access to a value variable is granted via the AccessLevel - * and UserAccessLevel attributes */ - UA_Byte accessLevel = getAccessLevel(server, session, &node->variableNode); - if(!(accessLevel & (UA_ACCESSLEVELMASK_READ))) { - retval = UA_STATUSCODE_BADNOTREADABLE; - break; - } - accessLevel = getUserAccessLevel(server, session, &node->variableNode); - if(!(accessLevel & (UA_ACCESSLEVELMASK_READ))) { - retval = UA_STATUSCODE_BADUSERACCESSDENIED; - break; - } - } - retval = readValueAttributeComplete(server, session, &node->variableNode, - timestampsToReturn, &id->indexRange, v); - break; - } - case UA_ATTRIBUTEID_DATATYPE: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - retval = UA_Variant_setScalarCopy(&v->value, &node->variableTypeNode.dataType, - &UA_TYPES[UA_TYPES_NODEID]); - break; - case UA_ATTRIBUTEID_VALUERANK: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - retval = UA_Variant_setScalarCopy(&v->value, &node->variableTypeNode.valueRank, - &UA_TYPES[UA_TYPES_INT32]); - break; - case UA_ATTRIBUTEID_ARRAYDIMENSIONS: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - retval = UA_Variant_setArrayCopy(&v->value, node->variableTypeNode.arrayDimensions, - node->variableTypeNode.arrayDimensionsSize, - &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_ATTRIBUTEID_ACCESSLEVEL: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE); - retval = UA_Variant_setScalarCopy(&v->value, &node->variableNode.accessLevel, - &UA_TYPES[UA_TYPES_BYTE]); - break; - case UA_ATTRIBUTEID_ACCESSLEVELEX: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE); - /* The normal AccessLevelEx contains the lowest 8 bits from the normal AccessLevel. - * In our case, all other bits are zero. */ - const UA_Byte accessLevel = *((const UA_Byte*)(&node->variableNode.accessLevel)); - UA_UInt32 accessLevelEx = accessLevel & 0xFF; - retval = UA_Variant_setScalarCopy(&v->value, &accessLevelEx, - &UA_TYPES[UA_TYPES_UINT32]); - - break; - case UA_ATTRIBUTEID_USERACCESSLEVEL: { - CHECK_NODECLASS(UA_NODECLASS_VARIABLE); - UA_Byte userAccessLevel = getUserAccessLevel(server, session, &node->variableNode); - retval = UA_Variant_setScalarCopy(&v->value, &userAccessLevel, - &UA_TYPES[UA_TYPES_BYTE]); - break; } - case UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE); - retval = UA_Variant_setScalarCopy(&v->value, - &node->variableNode.minimumSamplingInterval, - &UA_TYPES[UA_TYPES_DOUBLE]); - break; - case UA_ATTRIBUTEID_HISTORIZING: - CHECK_NODECLASS(UA_NODECLASS_VARIABLE); - retval = UA_Variant_setScalarCopy(&v->value, &node->variableNode.historizing, - &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case UA_ATTRIBUTEID_EXECUTABLE: - CHECK_NODECLASS(UA_NODECLASS_METHOD); - retval = UA_Variant_setScalarCopy(&v->value, &node->methodNode.executable, - &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case UA_ATTRIBUTEID_USEREXECUTABLE: { - CHECK_NODECLASS(UA_NODECLASS_METHOD); - UA_Boolean userExecutable = - getUserExecutable(server, session, &node->methodNode); - retval = UA_Variant_setScalarCopy(&v->value, &userExecutable, - &UA_TYPES[UA_TYPES_BOOLEAN]); - break; } - case UA_ATTRIBUTEID_DATATYPEDEFINITION: { - CHECK_NODECLASS(UA_NODECLASS_DATATYPE); - -#ifdef UA_ENABLE_TYPEDESCRIPTION - const UA_DataType *type = - findDataType(node, server->config.customDataTypes); - if(!type) { - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; - break; - } - - if(UA_DATATYPEKIND_STRUCTURE == type->typeKind || - UA_DATATYPEKIND_OPTSTRUCT == type->typeKind || - UA_DATATYPEKIND_UNION == type->typeKind) { - UA_StructureDefinition def; - retval = getStructureDefinition(type, &def); - if(UA_STATUSCODE_GOOD!=retval) - break; - retval = UA_Variant_setScalarCopy(&v->value, &def, - &UA_TYPES[UA_TYPES_STRUCTUREDEFINITION]); - UA_free(def.fields); - break; - } -#endif - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; - break; } - - case UA_ATTRIBUTEID_ROLEPERMISSIONS: - case UA_ATTRIBUTEID_USERROLEPERMISSIONS: - case UA_ATTRIBUTEID_ACCESSRESTRICTIONS: - /* TODO: Add support for the attributes from the 1.04 spec */ - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; - break; - - default: - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; - } - - /* Reading has failed? */ - if(retval == UA_STATUSCODE_GOOD) { - v->hasValue = true; - } else { - v->hasStatus = true; - v->status = retval; - } - - /* Always use the current time as the server-timestamp */ - if(timestampsToReturn == UA_TIMESTAMPSTORETURN_SERVER || - timestampsToReturn == UA_TIMESTAMPSTORETURN_BOTH) { - v->serverTimestamp = UA_DateTime_now(); - v->hasServerTimestamp = true; - v->hasServerPicoseconds = false; - } else { - v->hasServerTimestamp = false; - v->hasServerPicoseconds = false; - } - - /* Don't "invent" source timestamps. But remove them when not required. */ - if(timestampsToReturn == UA_TIMESTAMPSTORETURN_SERVER || - timestampsToReturn == UA_TIMESTAMPSTORETURN_NEITHER) { - v->hasSourceTimestamp = false; - v->hasSourcePicoseconds = false; - } -} - -void -Operation_Read(UA_Server *server, UA_Session *session, UA_TimestampsToReturn *ttr, - const UA_ReadValueId *rvi, UA_DataValue *dv) { - /* Get the node (with only the selected attribute if the NodeStore supports that) */ - const UA_Node *node = - UA_NODESTORE_GET_SELECTIVE(server, &rvi->nodeId, - attributeId2AttributeMask((UA_AttributeId)rvi->attributeId), - UA_REFERENCETYPESET_NONE, - UA_BROWSEDIRECTION_INVALID); - if(!node) { - dv->hasStatus = true; - dv->status = UA_STATUSCODE_BADNODEIDUNKNOWN; - return; - } - - /* Perform the read operation */ - ReadWithNode(node, server, session, *ttr, rvi, dv); - UA_NODESTORE_RELEASE(server, node); -} - -void -Service_Read(UA_Server *server, UA_Session *session, - const UA_ReadRequest *request, UA_ReadResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing ReadRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Check if the timestampstoreturn is valid */ - if(request->timestampsToReturn > UA_TIMESTAMPSTORETURN_NEITHER) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID; - return; - } - - /* Check if maxAge is valid */ - if(request->maxAge < 0) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADMAXAGEINVALID; - return; - } - - /* Check if there are too many operations */ - if(server->config.maxNodesPerRead != 0 && - request->nodesToReadSize > server->config.maxNodesPerRead) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_Read, - &request->timestampsToReturn, - &request->nodesToReadSize, - &UA_TYPES[UA_TYPES_READVALUEID], - &response->resultsSize, - &UA_TYPES[UA_TYPES_DATAVALUE]); -} - -UA_DataValue -readWithSession(UA_Server *server, UA_Session *session, - const UA_ReadValueId *item, - UA_TimestampsToReturn timestampsToReturn) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_DataValue dv; - UA_DataValue_init(&dv); - Operation_Read(server, session, ×tampsToReturn, item, &dv); - return dv; -} - -UA_StatusCode -readWithReadValue(UA_Server *server, const UA_NodeId *nodeId, - const UA_AttributeId attributeId, void *v) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Call the read service */ - UA_ReadValueId item; - UA_ReadValueId_init(&item); - item.nodeId = *nodeId; - item.attributeId = attributeId; - UA_DataValue dv = readWithSession(server, &server->adminSession, - &item, UA_TIMESTAMPSTORETURN_NEITHER); - - /* Check the return value */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(dv.hasStatus) - retval = dv.status; - else if(!dv.hasValue) - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - if(retval != UA_STATUSCODE_GOOD) { - UA_DataValue_clear(&dv); - return retval; - } - - if(attributeId == UA_ATTRIBUTEID_VALUE || - attributeId == UA_ATTRIBUTEID_ARRAYDIMENSIONS) { - /* Return the entire variant */ - memcpy(v, &dv.value, sizeof(UA_Variant)); - } else { - /* Return the variant content only */ - memcpy(v, dv.value.data, dv.value.type->memSize); - UA_free(dv.value.data); - } - return retval; -} - -/* Exposes the Read service to local users */ -UA_DataValue -UA_Server_read(UA_Server *server, const UA_ReadValueId *item, - UA_TimestampsToReturn timestamps) { - lockServer(server); - UA_DataValue dv = readWithSession(server, &server->adminSession, item, timestamps); - unlockServer(server); - return dv; -} - -/* Used in inline functions exposing the Read service with more syntactic sugar - * for individual attributes */ -UA_StatusCode -__UA_Server_read(UA_Server *server, const UA_NodeId *nodeId, - const UA_AttributeId attributeId, void *v) { - lockServer(server); - UA_StatusCode retval = readWithReadValue(server, nodeId, attributeId, v); - unlockServer(server); - return retval; -} - -UA_StatusCode -readObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - UA_Variant *value) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Create a BrowsePath to get the target NodeId */ - UA_RelativePathElement rpe; - UA_RelativePathElement_init(&rpe); - rpe.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); - rpe.isInverse = false; - rpe.includeSubtypes = false; - rpe.targetName = propertyName; - - UA_BrowsePath bp; - UA_BrowsePath_init(&bp); - bp.startingNode = objectId; - bp.relativePath.elementsSize = 1; - bp.relativePath.elements = &rpe; - - UA_StatusCode retval; - UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - retval = bpr.statusCode; - UA_BrowsePathResult_clear(&bpr); - return retval; - } - - /* Use the first result from the BrowsePath */ - retval = readWithReadValue(server, &bpr.targets[0].targetId.nodeId, - UA_ATTRIBUTEID_VALUE, value); - - UA_BrowsePathResult_clear(&bpr); - return retval; -} - - -UA_StatusCode -UA_Server_readObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - UA_Variant *value) { - lockServer(server); - UA_StatusCode retval = readObjectProperty(server, objectId, propertyName, value); - unlockServer(server); - return retval; -} - -/*****************/ -/* Type Checking */ -/*****************/ - -UA_Boolean -compatibleValueDataType(UA_Server *server, const UA_DataType *dataType, - const UA_NodeId *constraintDataType) { - if(compatibleDataTypes(server, &dataType->typeId, constraintDataType)) - return true; - - /* For actual values, the constraint DataType may be a subtype of the - * DataType of the value -- subtyping in the wrong direction. E.g. UtcTime - * is a subtype of DateTime. But we allow it to be encoded as a DateTime - * value when transferred over the wire. - * - * We do not allow "subtyping in the "wrong direction" if the received type - * is abstract. For example, ExtensionObjects (== "Structure" in the type - * hierarchy) is an abstract type. But ExtensionObject could still be - * transported over the network. */ - UA_Boolean abstract = false; - UA_StatusCode res = readWithReadValue(server, &dataType->typeId, - UA_ATTRIBUTEID_ISABSTRACT, &abstract); - if(res != UA_STATUSCODE_GOOD || abstract) - return false; - - if(isNodeInTree_singleRef(server, constraintDataType, &dataType->typeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) - return true; - - return false; -} - -UA_Boolean -compatibleDataTypes(UA_Server *server, const UA_NodeId *dataType, - const UA_NodeId *constraintDataType) { - /* Do not allow empty datatypes */ - if(UA_NodeId_isNull(dataType)) - return false; - - /* No constraint or Variant / BaseDataType which allows any content */ - if(UA_NodeId_isNull(constraintDataType) || - UA_NodeId_equal(constraintDataType, &UA_TYPES[UA_TYPES_VARIANT].typeId)) - return true; - - /* Same datatypes */ - if(UA_NodeId_equal(dataType, constraintDataType)) - return true; - - /* Is the DataType a subtype of the constraint type? */ - if(isNodeInTree_singleRef(server, dataType, constraintDataType, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) - return true; - - return false; -} - -/* Test whether a ValueRank and the given arraydimensions are compatible. - * - * 5.6.2 Variable NodeClass: If the maximum is unknown the value shall be 0. The - * number of elements shall be equal to the value of the ValueRank Attribute. - * This Attribute shall be null if ValueRank <= 0. */ -UA_Boolean -compatibleValueRankArrayDimensions(UA_Server *server, UA_Session *session, - UA_Int32 valueRank, size_t arrayDimensionsSize) { - /* ValueRank invalid */ - if(valueRank < UA_VALUERANK_SCALAR_OR_ONE_DIMENSION) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "The ValueRank is invalid (< -3)"); - return false; - } - - /* case -3, UA_VALUERANK_SCALAR_OR_ONE_DIMENSION: the value can be a scalar - * or a one dimensional array - * case -2, UA_VALUERANK_ANY: the value can be a scalar or an array with any - * number of dimensions - * case -1, UA_VALUERANK_SCALAR: the value is a scalar - * case 0, UA_VALUERANK_ONE_OR_MORE_DIMENSIONS: the value is an array with - * one or more dimensions */ - if(valueRank <= UA_VALUERANK_ONE_OR_MORE_DIMENSIONS) { - if(arrayDimensionsSize > 0) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "No ArrayDimensions can be defined for a ValueRank <= 0"); - return false; - } - return true; - } - - /* case >= 1, UA_VALUERANK_ONE_DIMENSION: the value is an array with the - specified number of dimensions */ - if(arrayDimensionsSize != (size_t)valueRank) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "The number of ArrayDimensions is not equal to " - "the (positive) ValueRank"); - return false; - } - return true; -} - -UA_Boolean -compatibleValueRanks(UA_Int32 valueRank, UA_Int32 constraintValueRank) { - /* Check if the valuerank of the variabletype allows the change. */ - switch(constraintValueRank) { - case UA_VALUERANK_SCALAR_OR_ONE_DIMENSION: /* the value can be a scalar or a - one dimensional array */ - if(valueRank != UA_VALUERANK_SCALAR && valueRank != UA_VALUERANK_ONE_DIMENSION) - return false; - break; - case UA_VALUERANK_ANY: /* the value can be a scalar or an array with any - number of dimensions */ - break; - case UA_VALUERANK_SCALAR: /* the value is a scalar */ - if(valueRank != UA_VALUERANK_SCALAR) - return false; - break; - case UA_VALUERANK_ONE_OR_MORE_DIMENSIONS: /* the value is an array with one - or more dimensions */ - if(valueRank < (UA_Int32) UA_VALUERANK_ONE_OR_MORE_DIMENSIONS) - return false; - break; - default: /* >= 1: the value is an array with the specified number of - dimensions */ - if(valueRank != constraintValueRank) - return false; - break; - } - return true; -} - -/* Check if the ValueRank allows for the value dimension. This is more - * permissive than checking for the ArrayDimensions attribute. Because the value - * can have dimensions if the ValueRank < 0 */ -static UA_Boolean -compatibleValueRankValue(UA_Int32 valueRank, const UA_Variant *value) { - /* Invalid ValueRank */ - if(valueRank < UA_VALUERANK_SCALAR_OR_ONE_DIMENSION) - return false; - - /* Empty arrays (-1) always match */ - if(!value->data) - return true; - - size_t arrayDims = value->arrayDimensionsSize; - if(arrayDims == 0 && !UA_Variant_isScalar(value)) - arrayDims = 1; /* array but no arraydimensions -> implicit array dimension 1 */ - - /* We cannot simply use compatibleValueRankArrayDimensions since we can have - * defined ArrayDimensions for the value if the ValueRank is -2 */ - switch(valueRank) { - case UA_VALUERANK_SCALAR_OR_ONE_DIMENSION: /* The value can be a scalar or a - one dimensional array */ - return (arrayDims <= 1); - case UA_VALUERANK_ANY: /* The value can be a scalar or an array with any - number of dimensions */ - return true; - case UA_VALUERANK_SCALAR: /* The value is a scalar */ - return (arrayDims == 0); - case UA_VALUERANK_ONE_OR_MORE_DIMENSIONS: - return (arrayDims >= 1); - default: - break; - } - - UA_assert(valueRank >= UA_VALUERANK_ONE_OR_MORE_DIMENSIONS); - - /* case 0: the value is an array with one or more dimensions */ - return (arrayDims == (UA_UInt32)valueRank); -} - -UA_Boolean -compatibleArrayDimensions(size_t constraintArrayDimensionsSize, - const UA_UInt32 *constraintArrayDimensions, - size_t testArrayDimensionsSize, - const UA_UInt32 *testArrayDimensions) { - /* No array dimensions defined -> everything is permitted if the value rank fits */ - if(constraintArrayDimensionsSize == 0) - return true; - - /* Dimension count must match */ - if(testArrayDimensionsSize != constraintArrayDimensionsSize) - return false; - - /* Dimension lengths must not be larger than the constraint. Zero in the - * constraint indicates a wildcard. */ - for(size_t i = 0; i < constraintArrayDimensionsSize; ++i) { - if(constraintArrayDimensions[i] < testArrayDimensions[i] && - constraintArrayDimensions[i] != 0) - return false; - } - return true; -} - -UA_Boolean -compatibleValueArrayDimensions(const UA_Variant *value, size_t targetArrayDimensionsSize, - const UA_UInt32 *targetArrayDimensions) { - size_t valueArrayDimensionsSize = value->arrayDimensionsSize; - UA_UInt32 const *valueArrayDimensions = value->arrayDimensions; - UA_UInt32 tempArrayDimensions; - if(!valueArrayDimensions && !UA_Variant_isScalar(value)) { - /* An empty array implicitly has array dimensions [0,0,...] with the - * correct number of dimensions. So it always matches. */ - if(value->arrayLength == 0) - return true; - - /* Arrays with content and without array dimensions have one implicit dimension */ - valueArrayDimensionsSize = 1; - tempArrayDimensions = (UA_UInt32)value->arrayLength; - valueArrayDimensions = &tempArrayDimensions; - } - UA_assert(valueArrayDimensionsSize == 0 || valueArrayDimensions != NULL); - return compatibleArrayDimensions(targetArrayDimensionsSize, targetArrayDimensions, - valueArrayDimensionsSize, valueArrayDimensions); -} - -const char *reason_EmptyType = "Empty value only allowed for BaseDataType"; -const char *reason_ValueDataType = "DataType of the value is incompatible"; -const char *reason_ValueArrayDimensions = "ArrayDimensions of the value are incompatible"; -const char *reason_ValueValueRank = "ValueRank of the value is incompatible"; - -UA_Boolean -compatibleValue(UA_Server *server, UA_Session *session, const UA_NodeId *targetDataTypeId, - UA_Int32 targetValueRank, size_t targetArrayDimensionsSize, - const UA_UInt32 *targetArrayDimensions, const UA_Variant *value, - const UA_NumericRange *range, const char **reason) { - /* Empty value */ - if(UA_Variant_isEmpty(value)) { - /* Empty value is allowed for BaseDataType */ - if(UA_NodeId_equal(targetDataTypeId, &UA_TYPES[UA_TYPES_VARIANT].typeId) || - UA_NodeId_equal(targetDataTypeId, &UA_NODEID_NULL)) - return true; - - /* Ignore if that is configured */ - if(server->bootstrapNS0 || - server->config.allowEmptyVariables == UA_RULEHANDLING_ACCEPT) - return true; - - UA_LOG_INFO_SESSION(server->config.logging, session, - "Only Variables with data type BaseDataType " - "can contain an empty value"); - - /* Ignore if that is configured */ - if(server->config.allowEmptyVariables == UA_RULEHANDLING_WARN) - return true; - - /* Default handling is to abort */ - *reason = reason_EmptyType; - return false; - } - - /* Empty array of ExtensionObjects */ - if(UA_Variant_hasArrayType(value, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) && - value->arrayLength == 0) { - /* There is no way to check type compatibility here. Leave it for the upper layers to - * decide, if empty array is okay. */ - return true; - } - - /* Is the datatype compatible? */ - if(!compatibleValueDataType(server, value->type, targetDataTypeId)) { - *reason = reason_ValueDataType; - return false; - } - - /* Array dimensions are checked later when writing the range */ - if(range) - return true; - - /* See if the array dimensions match. */ - if(!compatibleValueArrayDimensions(value, targetArrayDimensionsSize, - targetArrayDimensions)) { - *reason = reason_ValueArrayDimensions; - return false; - } - - /* Check if the valuerank allows for the value dimension */ - if(!compatibleValueRankValue(targetValueRank, value)) { - *reason = reason_ValueValueRank; - return false; - } - - return true; -} - -/*****************/ -/* Write Service */ -/*****************/ - -static void -freeWrapperArray(void *app, void *context) { - UA_free(context); -} - -static void -unwrapEOArray(UA_Server *server, UA_Variant *value) { - /* Only works on arrays of ExtensionObjects */ - if(!UA_Variant_hasArrayType(value, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) || - value->arrayLength == 0) - return; - - /* All eo need to be already decoded and have the same wrapped type */ - UA_ExtensionObject *eo = (UA_ExtensionObject*)value->data; - const UA_DataType *innerType = eo[0].content.decoded.type; - for(size_t i = 0; i < value->arrayLength; i++) { - if(eo[i].encoding != UA_EXTENSIONOBJECT_DECODED && - eo[i].encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) - return; - if(eo[i].content.decoded.type != innerType) - return; - } - - /* Allocate the array for the unwrapped data. Since the adjusted value is - * not cleaned up (only the original value), this memory is being cleaned up - * by a delayed callback in the server after the method call has - * finished. */ - UA_DelayedCallback *dc = (UA_DelayedCallback*) - UA_malloc(sizeof(UA_DelayedCallback) + (value->arrayLength * innerType->memSize)); - if(!dc) - return; - - /* Move the content */ - uintptr_t pos = ((uintptr_t)dc) + sizeof(UA_DelayedCallback); - void *unwrappedArray = (void*)pos; - for(size_t i = 0; i < value->arrayLength; i++) { - memcpy((void*)pos, eo[i].content.decoded.data, innerType->memSize); - pos += innerType->memSize; - } - - /* Adjust the value */ - value->type = innerType; - value->data = unwrappedArray; - - /* Add the delayed callback to free the memory of the unwrapped array */ - dc->callback = freeWrapperArray; - dc->application = NULL; - dc->context = dc; - UA_EventLoop *el = server->config.eventLoop; - el->addDelayedCallback(el, dc); -} - -void -adjustValueType(UA_Server *server, UA_Variant *value, - const UA_NodeId *targetDataTypeId) { - /* If the value is empty, there is nothing we can do here */ - const UA_DataType *type = value->type; - if(!type) - return; - - /* The target type is already achieved. No adjustment needed. */ - if(UA_NodeId_equal(&type->typeId, targetDataTypeId)) - return; - - /* Unwrap ExtensionObject arrays if they all contain the same DataType */ - unwrapEOArray(server, value); - - /* Find the target type */ - const UA_DataType *targetType = - UA_findDataTypeWithCustom(targetDataTypeId, server->config.customDataTypes); - if(!targetType) - return; - - /* Use the generic functionality shared by client and server */ - adjustType(value, targetType); -} - -static UA_StatusCode -writeArrayDimensionsAttribute(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_VariableTypeNode *type, - size_t arrayDimensionsSize, UA_UInt32 *arrayDimensions) { - UA_assert(node != NULL); - UA_assert(type != NULL); - - /* If this is a variabletype, there must be no instances or subtypes of it - * when we do the change */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE && - UA_Node_hasSubTypeOrInstances(&node->head)) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Cannot change a variable type with existing instances"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check that the array dimensions match with the valuerank */ - if(!compatibleValueRankArrayDimensions(server, session, node->valueRank, - arrayDimensionsSize)) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "Cannot write the ArrayDimensions. The ValueRank does not match."); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Check if the array dimensions match with the wildcards in the - * variabletype (dimension length 0) */ - if(type->arrayDimensions && - !compatibleArrayDimensions(type->arrayDimensionsSize, type->arrayDimensions, - arrayDimensionsSize, arrayDimensions)) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "Array dimensions in the variable type do not match"); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Check if the current value is compatible with the array dimensions */ - UA_DataValue value; - UA_DataValue_init(&value); - UA_StatusCode retval = readValueAttribute(server, session, node, &value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - if(value.hasValue) { - if(!compatibleValueArrayDimensions(&value.value, arrayDimensionsSize, - arrayDimensions)) - retval = UA_STATUSCODE_BADTYPEMISMATCH; - UA_DataValue_clear(&value); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "Array dimensions in the current value do not match"); - return retval; - } - } - - /* Ok, apply */ - UA_UInt32 *oldArrayDimensions = node->arrayDimensions; - size_t oldArrayDimensionsSize = node->arrayDimensionsSize; - retval = UA_Array_copy(arrayDimensions, arrayDimensionsSize, - (void**)&node->arrayDimensions, - &UA_TYPES[UA_TYPES_UINT32]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_Array_delete(oldArrayDimensions, oldArrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); - node->arrayDimensionsSize = arrayDimensionsSize; - return UA_STATUSCODE_GOOD; -} - -/* Stack layout: ... | node | type */ -static UA_StatusCode -writeValueRank(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_VariableTypeNode *type, - UA_Int32 valueRank) { - UA_assert(node != NULL); - UA_assert(type != NULL); - - UA_Int32 constraintValueRank = type->valueRank; - - /* If this is a variabletype, there must be no instances or subtypes of it - * when we do the change */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE && - UA_Node_hasSubTypeOrInstances(&node->head)) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Check if the valuerank of the variabletype allows the change. */ - if(!compatibleValueRanks(valueRank, constraintValueRank)) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* Check if the new valuerank is compatible with the array dimensions. Use - * the read service to handle data sources. */ - size_t arrayDims = node->arrayDimensionsSize; - if(arrayDims == 0) { - /* the value could be an array with no arrayDimensions defined. - dimensions zero indicate a scalar for compatibleValueRankArrayDimensions. */ - UA_DataValue value; - UA_DataValue_init(&value); - UA_StatusCode retval = readValueAttribute(server, session, node, &value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - if(!value.hasValue || !value.value.type) { - /* no value -> apply */ - node->valueRank = valueRank; - return UA_STATUSCODE_GOOD; - } - if(!UA_Variant_isScalar(&value.value)) - arrayDims = 1; - UA_DataValue_clear(&value); - } - if(!compatibleValueRankArrayDimensions(server, session, valueRank, arrayDims)) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* All good, apply the change */ - node->valueRank = valueRank; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -writeDataTypeAttribute(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_VariableTypeNode *type, - const UA_NodeId *dataType) { - UA_assert(node != NULL); - UA_assert(type != NULL); - - /* If this is a variabletype, there must be no instances or subtypes of it - when we do the change */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE && - UA_Node_hasSubTypeOrInstances(&node->head)) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Does the new type match the constraints of the variabletype? */ - if(!compatibleDataTypes(server, dataType, &type->dataType)) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* Check if the current value would match the new type */ - UA_DataValue value; - UA_DataValue_init(&value); - UA_StatusCode retval = readValueAttribute(server, session, node, &value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - if(value.hasValue) { - const char *reason; /* temp value */ - if(!compatibleValue(server, session, dataType, node->valueRank, - node->arrayDimensionsSize, node->arrayDimensions, - &value.value, NULL, &reason)) - retval = UA_STATUSCODE_BADTYPEMISMATCH; - UA_DataValue_clear(&value); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "The current value does not match the new data type"); - return retval; - } - } - - /* Replace the datatype nodeid */ - UA_NodeId dtCopy = node->dataType; - retval = UA_NodeId_copy(dataType, &node->dataType); - if(retval != UA_STATUSCODE_GOOD) { - node->dataType = dtCopy; - return retval; - } - UA_NodeId_clear(&dtCopy); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -writeValueAttributeWithoutRange(UA_VariableNode *node, const UA_DataValue *value) { - UA_DataValue *oldValue = &node->value.data.value; - UA_DataValue tmpValue = *value; - - /* If possible memcpy the new value over the old value without - * a malloc. For this the value needs to be "pointerfree". */ - if(oldValue->hasValue && oldValue->value.type && oldValue->value.type->pointerFree && - value->hasValue && value->value.type && value->value.type->pointerFree && - oldValue->value.type->memSize == value->value.type->memSize) { - size_t oSize = 1; - size_t vSize = 1; - if(!UA_Variant_isScalar(&oldValue->value)) - oSize = oldValue->value.arrayLength; - if(!UA_Variant_isScalar(&value->value)) - vSize = value->value.arrayLength; - - if(oSize == vSize && - oldValue->value.arrayDimensionsSize == value->value.arrayDimensionsSize) { - /* Keep the old pointers, but adjust type and array length */ - tmpValue.value = oldValue->value; - tmpValue.value.type = value->value.type; - tmpValue.value.arrayLength = value->value.arrayLength; - - /* Copy the data over the old memory */ - memcpy(tmpValue.value.data, value->value.data, - oSize * oldValue->value.type->memSize); - memcpy(tmpValue.value.arrayDimensions, value->value.arrayDimensions, - sizeof(UA_UInt32) * oldValue->value.arrayDimensionsSize); - - /* Set the value */ - node->value.data.value = tmpValue; - return UA_STATUSCODE_GOOD; - } - } - - /* Make a deep copy of the value and replace when this succeeds */ - UA_StatusCode retval = UA_Variant_copy(&value->value, &tmpValue.value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_DataValue_clear(&node->value.data.value); - node->value.data.value = tmpValue; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -writeValueAttributeWithRange(UA_VariableNode *node, const UA_DataValue *value, - const UA_NumericRange *rangeptr) { - /* Value on both sides? */ - if(value->status != node->value.data.value.status || - !value->hasValue || !node->value.data.value.hasValue) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - - /* Make scalar a one-entry array for range matching */ - UA_Variant editableValue; - const UA_Variant *v = &value->value; - if(UA_Variant_isScalar(&value->value)) { - editableValue = value->value; - editableValue.arrayLength = 1; - v = &editableValue; - } - - /* Check that the type is an exact match and not only "compatible" */ - if(!node->value.data.value.value.type || !v->type || - !UA_NodeId_equal(&node->value.data.value.value.type->typeId, - &v->type->typeId)) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* Write the value */ - UA_StatusCode retval = - UA_Variant_setRangeCopy(&node->value.data.value.value, - v->data, v->arrayLength, *rangeptr); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Write the status and timestamps */ - node->value.data.value.hasStatus = value->hasStatus; - node->value.data.value.status = value->status; - node->value.data.value.hasSourceTimestamp = value->hasSourceTimestamp; - node->value.data.value.sourceTimestamp = value->sourceTimestamp; - node->value.data.value.hasSourcePicoseconds = value->hasSourcePicoseconds; - node->value.data.value.sourcePicoseconds = value->sourcePicoseconds; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -writeNodeValueAttribute(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_DataValue *value, - const UA_String *indexRange) { - UA_assert(node != NULL); - UA_assert(session != NULL); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Parse the range */ - UA_NumericRange range; - range.dimensions = NULL; - UA_NumericRange *rangeptr = NULL; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(indexRange && indexRange->length > 0) { - retval = UA_NumericRange_parse(&range, *indexRange); - if(retval != UA_STATUSCODE_GOOD) - return retval; - rangeptr = ⦥ - } - - /* Created an editable version. The data is not touched. Only the variant - * "container". */ - UA_DataValue adjustedValue = *value; - - /* Type checking. May change the type of adjustedValue */ - const char *reason; - if(value->hasValue && value->value.type) { - /* Try to correct the type */ - adjustValueType(server, &adjustedValue.value, &node->dataType); - - /* Check the type */ - if(!compatibleValue(server, session, &node->dataType, node->valueRank, - node->arrayDimensionsSize, node->arrayDimensions, - &adjustedValue.value, rangeptr, &reason)) { - UA_LOG_NODEID_WARNING(&node->head.nodeId, - if(session == &server->adminSession) { - /* If the value is written via the local API, log a warning */ - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Writing the value of Node %.*s failed with the " - "following reason: %s", - (int)nodeIdStr.length, nodeIdStr.data, reason); - } else { - /* Don't spam the logs if writing from remote failed */ - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Writing the value of Node %.*s failed with the " - "following reason: %s", - (int)nodeIdStr.length, nodeIdStr.data, reason); - }); - if(rangeptr && rangeptr->dimensions != NULL) - UA_free(rangeptr->dimensions); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - } - - /* If no source timestamp is defined create one here. - * It should be created as close to the source as possible. */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE && !node->isDynamic) { - adjustedValue.hasSourceTimestamp = false; - adjustedValue.hasSourcePicoseconds = false; - } - - /* Call into the different value storage backends. - * - * TODO: Clean up this mess with duplicated possibilities for external - * callbacks */ - retval = UA_STATUSCODE_BADWRITENOTSUPPORTED; /* default */ - switch(node->valueBackend.backendType) { - case UA_VALUEBACKENDTYPE_NONE: - if(node->valueSource == UA_VALUESOURCE_DATA) { - /* Write into the in-situ DataValue */ - if(!rangeptr) - retval = writeValueAttributeWithoutRange(node, &adjustedValue); - else - retval = writeValueAttributeWithRange(node, &adjustedValue, rangeptr); - - /* Callback after writing */ - if(retval == UA_STATUSCODE_GOOD && - node->value.data.callback.onWrite) { - node->value.data.callback. - onWrite(server, &session->sessionId, session->sessionHandle, - &node->head.nodeId, node->head.context, - rangeptr, &adjustedValue); - } - } else if(node->value.dataSource.write) { - /* Write via the datasource callback */ - retval = node->value.dataSource. - write(server, &session->sessionId, session->sessionHandle, - &node->head.nodeId, node->head.context, - rangeptr, &adjustedValue); - } - break; - - case UA_VALUEBACKENDTYPE_EXTERNAL: - retval = UA_STATUSCODE_GOOD; - if(node->valueBackend.backend.external.callback.userWrite) { - retval = node->valueBackend.backend.external.callback. - userWrite(server, &session->sessionId, session->sessionHandle, - &node->head.nodeId, node->head.context, - rangeptr, &adjustedValue); - } else { - if(node->valueBackend.backend.external.value) { - UA_DataValue_clear(*node->valueBackend.backend.external.value); - retval = UA_DataValue_copy(&adjustedValue, - *node->valueBackend.backend.external.value); - } - } - break; - - case UA_VALUEBACKENDTYPE_INTERNAL: - case UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK: - default: - break; - } - - /* Write into the historical data backend. Not that the historical data - * backend can be configured to "poll" data like a MonitoredItem also. */ -#ifdef UA_ENABLE_HISTORIZING - if(retval == UA_STATUSCODE_GOOD && - node->head.nodeClass == UA_NODECLASS_VARIABLE && - server->config.historyDatabase.setValue) { - server->config.historyDatabase. - setValue(server, server->config.historyDatabase.context, - &session->sessionId, session->sessionHandle, - &node->head.nodeId, node->historizing, &adjustedValue); - } -#endif - - /* Clean up */ - if(rangeptr && rangeptr->dimensions != NULL) - UA_free(rangeptr->dimensions); - return retval; -} - -static UA_StatusCode -writeIsAbstract(UA_Node *node, UA_Boolean value) { - switch(node->head.nodeClass) { - case UA_NODECLASS_OBJECTTYPE: - node->objectTypeNode.isAbstract = value; - break; - case UA_NODECLASS_REFERENCETYPE: - node->referenceTypeNode.isAbstract = value; - break; - case UA_NODECLASS_VARIABLETYPE: - node->variableTypeNode.isAbstract = value; - break; - case UA_NODECLASS_DATATYPE: - node->dataTypeNode.isAbstract = value; - break; - default: - return UA_STATUSCODE_BADNODECLASSINVALID; - } - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* Write Service */ -/*****************/ - -#define CHECK_DATATYPE_SCALAR(EXP_DT) \ - if(!wvalue->value.hasValue || \ - &UA_TYPES[UA_TYPES_##EXP_DT] != wvalue->value.value.type || \ - !UA_Variant_isScalar(&wvalue->value.value)) { \ - retval = UA_STATUSCODE_BADTYPEMISMATCH; \ - break; \ - } - -#define CHECK_DATATYPE_ARRAY(EXP_DT) \ - if(!wvalue->value.hasValue || \ - &UA_TYPES[UA_TYPES_##EXP_DT] != wvalue->value.value.type || \ - UA_Variant_isScalar(&wvalue->value.value)) { \ - retval = UA_STATUSCODE_BADTYPEMISMATCH; \ - break; \ - } - -#define CHECK_NODECLASS_WRITE(CLASS) \ - if((node->head.nodeClass & (CLASS)) == 0) { \ - retval = UA_STATUSCODE_BADNODECLASSINVALID; \ - break; \ - } - -#define CHECK_USERWRITEMASK(mask) \ - if(!(userWriteMask & (mask))) { \ - retval = UA_STATUSCODE_BADUSERACCESSDENIED; \ - break; \ - } - -#define GET_NODETYPE \ - type = (const UA_VariableTypeNode*) \ - getNodeType(server, &node->head); \ - if(!type) { \ - retval = UA_STATUSCODE_BADTYPEMISMATCH; \ - break; \ - } - -/* Update a localized text. Don't touch the target if copying fails - * (maybe due to BadOutOfMemory). */ -static UA_StatusCode -updateLocalizedText(const UA_LocalizedText *source, UA_LocalizedText *target) { - UA_LocalizedText tmp; - UA_StatusCode retval = UA_LocalizedText_copy(source, &tmp); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_LocalizedText_clear(target); - *target = tmp; - return UA_STATUSCODE_GOOD; -} - -/* Trigger sampling if a MonitoredItem surveils the attribute with no sampling - * interval */ -#ifdef UA_ENABLE_SUBSCRIPTIONS -static void -triggerImmediateDataChange(UA_Server *server, UA_Session *session, - UA_Node *node, const UA_WriteValue *wvalue) { - UA_MonitoredItem *mon = node->head.monitoredItems; - for(; mon != NULL; mon = mon->sampling.nodeListNext) { - if(mon->itemToMonitor.attributeId != wvalue->attributeId) - continue; - UA_DataValue value; - UA_DataValue_init(&value); - ReadWithNode(node, server, session, mon->timestampsToReturn, - &mon->itemToMonitor, &value); - UA_MonitoredItem_processSampledValue(server, mon, &value); - } -} -#endif - -/* This function implements the main part of the write service and operates on a - copy of the node (not in single-threaded mode). */ -static UA_StatusCode -copyAttributeIntoNode(UA_Server *server, UA_Session *session, - UA_Node *node, const UA_WriteValue *wvalue) { - UA_assert(session != NULL); - const void *value = wvalue->value.value.data; - UA_UInt32 userWriteMask = getUserWriteMask(server, session, &node->head); - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - UA_LOG_NODEID_TRACE(&node->head.nodeId, - UA_LOG_TRACE_SESSION(server->config.logging, session, - "Write attribute %"PRIi32 " of Node %.*s", - wvalue->attributeId, (int)nodeIdStr.length, - nodeIdStr.data)); - - const UA_VariableTypeNode *type; - - switch(wvalue->attributeId) { - case UA_ATTRIBUTEID_NODEID: - case UA_ATTRIBUTEID_NODECLASS: - case UA_ATTRIBUTEID_USERWRITEMASK: - case UA_ATTRIBUTEID_USERACCESSLEVEL: - case UA_ATTRIBUTEID_USEREXECUTABLE: - case UA_ATTRIBUTEID_BROWSENAME: /* BrowseName is tracked in a binary tree - for fast lookup */ - retval = UA_STATUSCODE_BADWRITENOTSUPPORTED; - break; - case UA_ATTRIBUTEID_DISPLAYNAME: - CHECK_USERWRITEMASK(UA_WRITEMASK_DISPLAYNAME); - CHECK_DATATYPE_SCALAR(LOCALIZEDTEXT); - retval = UA_Node_insertOrUpdateDisplayName(&node->head, - (const UA_LocalizedText *)value); - break; - case UA_ATTRIBUTEID_DESCRIPTION: - CHECK_USERWRITEMASK(UA_WRITEMASK_DESCRIPTION); - CHECK_DATATYPE_SCALAR(LOCALIZEDTEXT); - retval = UA_Node_insertOrUpdateDescription(&node->head, - (const UA_LocalizedText *)value); - break; - case UA_ATTRIBUTEID_WRITEMASK: - CHECK_USERWRITEMASK(UA_WRITEMASK_WRITEMASK); - CHECK_DATATYPE_SCALAR(UINT32); - node->head.writeMask = *(const UA_UInt32*)value; - break; - case UA_ATTRIBUTEID_ISABSTRACT: - CHECK_USERWRITEMASK(UA_WRITEMASK_ISABSTRACT); - CHECK_DATATYPE_SCALAR(BOOLEAN); - retval = writeIsAbstract(node, *(const UA_Boolean*)value); - break; - case UA_ATTRIBUTEID_SYMMETRIC: - CHECK_NODECLASS_WRITE(UA_NODECLASS_REFERENCETYPE); - CHECK_USERWRITEMASK(UA_WRITEMASK_SYMMETRIC); - CHECK_DATATYPE_SCALAR(BOOLEAN); - node->referenceTypeNode.symmetric = *(const UA_Boolean*)value; - break; - case UA_ATTRIBUTEID_INVERSENAME: - CHECK_NODECLASS_WRITE(UA_NODECLASS_REFERENCETYPE); - CHECK_USERWRITEMASK(UA_WRITEMASK_INVERSENAME); - CHECK_DATATYPE_SCALAR(LOCALIZEDTEXT); - retval = updateLocalizedText((const UA_LocalizedText *)value, - &node->referenceTypeNode.inverseName); - break; - case UA_ATTRIBUTEID_CONTAINSNOLOOPS: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VIEW); - CHECK_USERWRITEMASK(UA_WRITEMASK_CONTAINSNOLOOPS); - CHECK_DATATYPE_SCALAR(BOOLEAN); - node->viewNode.containsNoLoops = *(const UA_Boolean*)value; - break; - case UA_ATTRIBUTEID_EVENTNOTIFIER: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VIEW | UA_NODECLASS_OBJECT); - CHECK_USERWRITEMASK(UA_WRITEMASK_EVENTNOTIFIER); - CHECK_DATATYPE_SCALAR(BYTE); - if(node->head.nodeClass == UA_NODECLASS_VIEW) { - node->viewNode.eventNotifier = *(const UA_Byte*)value; - } else { - node->objectNode.eventNotifier = *(const UA_Byte*)value; - } - break; - case UA_ATTRIBUTEID_VALUE: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { - /* The access to a value variable is granted via the AccessLevel - * and UserAccessLevel attributes */ - UA_Byte accessLevel = getAccessLevel(server, session, &node->variableNode); - if(!(accessLevel & (UA_ACCESSLEVELMASK_WRITE))) { - retval = UA_STATUSCODE_BADNOTWRITABLE; - break; - } - accessLevel = getUserAccessLevel(server, session, &node->variableNode); - if(!(accessLevel & (UA_ACCESSLEVELMASK_WRITE))) { - retval = UA_STATUSCODE_BADUSERACCESSDENIED; - break; - } - } else { /* UA_NODECLASS_VARIABLETYPE */ - CHECK_USERWRITEMASK(UA_WRITEMASK_VALUEFORVARIABLETYPE); - } - retval = writeNodeValueAttribute(server, session, &node->variableNode, - &wvalue->value, &wvalue->indexRange); - break; - case UA_ATTRIBUTEID_DATATYPE: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - CHECK_USERWRITEMASK(UA_WRITEMASK_DATATYPE); - CHECK_DATATYPE_SCALAR(NODEID); - GET_NODETYPE; - retval = writeDataTypeAttribute(server, session, &node->variableNode, - type, (const UA_NodeId*)value); - UA_NODESTORE_RELEASE(server, (const UA_Node*)type); - break; - case UA_ATTRIBUTEID_VALUERANK: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - CHECK_USERWRITEMASK(UA_WRITEMASK_VALUERANK); - CHECK_DATATYPE_SCALAR(INT32); - GET_NODETYPE; - retval = writeValueRank(server, session, &node->variableNode, - type, *(const UA_Int32*)value); - UA_NODESTORE_RELEASE(server, (const UA_Node*)type); - break; - case UA_ATTRIBUTEID_ARRAYDIMENSIONS: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE); - CHECK_USERWRITEMASK(UA_WRITEMASK_ARRRAYDIMENSIONS); - CHECK_DATATYPE_ARRAY(UINT32); - GET_NODETYPE; - retval = writeArrayDimensionsAttribute(server, session, &node->variableNode, - type, wvalue->value.value.arrayLength, - (UA_UInt32 *)wvalue->value.value.data); - UA_NODESTORE_RELEASE(server, (const UA_Node*)type); - break; - case UA_ATTRIBUTEID_ACCESSLEVEL: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); - CHECK_USERWRITEMASK(UA_WRITEMASK_ACCESSLEVEL); - CHECK_DATATYPE_SCALAR(BYTE); - node->variableNode.accessLevel = *(const UA_Byte*)value; - break; - case UA_ATTRIBUTEID_ACCESSLEVELEX: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); - CHECK_USERWRITEMASK(UA_WRITEMASK_ACCESSLEVELEX); - CHECK_DATATYPE_SCALAR(UINT32); - node->variableNode.accessLevel = (UA_Byte)(*(const UA_UInt32*)value & 0xFF); - break; - case UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); - CHECK_USERWRITEMASK(UA_WRITEMASK_MINIMUMSAMPLINGINTERVAL); - CHECK_DATATYPE_SCALAR(DOUBLE); - node->variableNode.minimumSamplingInterval = *(const UA_Double*)value; - break; - case UA_ATTRIBUTEID_HISTORIZING: - CHECK_NODECLASS_WRITE(UA_NODECLASS_VARIABLE); - CHECK_USERWRITEMASK(UA_WRITEMASK_HISTORIZING); - CHECK_DATATYPE_SCALAR(BOOLEAN); - node->variableNode.historizing = *(const UA_Boolean*)value; - break; - case UA_ATTRIBUTEID_EXECUTABLE: - CHECK_NODECLASS_WRITE(UA_NODECLASS_METHOD); - CHECK_USERWRITEMASK(UA_WRITEMASK_EXECUTABLE); - CHECK_DATATYPE_SCALAR(BOOLEAN); - node->methodNode.executable = *(const UA_Boolean*)value; - break; - default: - retval = UA_STATUSCODE_BADATTRIBUTEIDINVALID; - break; - } - - /* Check if writing succeeded */ - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "WriteRequest returned status code %s", - UA_StatusCode_name(retval)); - return retval; - } - - /* Trigger MonitoredItems with no SamplingInterval */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - triggerImmediateDataChange(server, session, node, wvalue); -#endif - - return UA_STATUSCODE_GOOD; -} - -void -Operation_Write(UA_Server *server, UA_Session *session, void *context, - const UA_WriteValue *wv, UA_StatusCode *result) { - UA_assert(session != NULL); - *result = UA_Server_editNode(server, session, &wv->nodeId, - (UA_EditNodeCallback)copyAttributeIntoNode, - (void*)(uintptr_t)wv); -} - -void -Service_Write(UA_Server *server, UA_Session *session, - const UA_WriteRequest *request, - UA_WriteResponse *response) { - UA_assert(session != NULL); - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing WriteRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxNodesPerWrite != 0 && - request->nodesToWriteSize > server->config.maxNodesPerWrite) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_Write, NULL, - &request->nodesToWriteSize, - &UA_TYPES[UA_TYPES_WRITEVALUE], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_StatusCode -UA_Server_write(UA_Server *server, const UA_WriteValue *value) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - lockServer(server); - Operation_Write(server, &server->adminSession, NULL, value, &res); - unlockServer(server); - return res; -} - -/* Convenience function to be wrapped into inline functions */ -UA_StatusCode -__UA_Server_write(UA_Server *server, const UA_NodeId *nodeId, - const UA_AttributeId attributeId, - const UA_DataType *attr_type, const void *attr) { - lockServer(server); - UA_StatusCode res = writeAttribute(server, &server->adminSession, - nodeId, attributeId, attr, attr_type); - unlockServer(server); - return res; -} - -/* Internal convenience function */ -UA_StatusCode -writeAttribute(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, const UA_AttributeId attributeId, - const void *attr, const UA_DataType *attr_type) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_WriteValue wvalue; - UA_WriteValue_init(&wvalue); - wvalue.nodeId = *nodeId; - wvalue.attributeId = attributeId; - wvalue.value.hasValue = true; - if(attr_type == &UA_TYPES[UA_TYPES_VARIANT]) { - wvalue.value.value = *(const UA_Variant*)attr; - } else if(attr_type == &UA_TYPES[UA_TYPES_DATAVALUE]) { - wvalue.value = *(const UA_DataValue*)attr; - } else { - /* hacked cast. the target WriteValue is used as const anyway */ - UA_Variant_setScalar(&wvalue.value.value, - (void*)(uintptr_t)attr, attr_type); - } - - UA_StatusCode res = UA_STATUSCODE_GOOD; - Operation_Write(server, session, NULL, &wvalue, &res); - return res; -} - -#ifdef UA_ENABLE_HISTORIZING -typedef void - (*UA_HistoryDatabase_readFunc)(UA_Server *server, void *hdbContext, - const UA_NodeId *sessionId, void *sessionContext, - const UA_RequestHeader *requestHeader, - const void *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - void * const * const historyData); - -void -Service_HistoryRead(UA_Server *server, UA_Session *session, - const UA_HistoryReadRequest *request, - UA_HistoryReadResponse *response) { - UA_assert(session != NULL); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(server->config.historyDatabase.context == NULL) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTSUPPORTED; - return; - } - - if(request->historyReadDetails.encoding != UA_EXTENSIONOBJECT_DECODED) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTSUPPORTED; - return; - } - - const UA_DataType *historyDataType = &UA_TYPES[UA_TYPES_HISTORYDATA]; - UA_HistoryDatabase_readFunc readHistory = NULL; - if(request->historyReadDetails.content.decoded.type == - &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]) { - UA_ReadRawModifiedDetails *details = (UA_ReadRawModifiedDetails*) - request->historyReadDetails.content.decoded.data; - if(!details->isReadModified) { - readHistory = (UA_HistoryDatabase_readFunc) - server->config.historyDatabase.readRaw; - } else { - historyDataType = &UA_TYPES[UA_TYPES_HISTORYMODIFIEDDATA]; - readHistory = (UA_HistoryDatabase_readFunc) - server->config.historyDatabase.readModified; - } - } else if(request->historyReadDetails.content.decoded.type == - &UA_TYPES[UA_TYPES_READEVENTDETAILS]) { - historyDataType = &UA_TYPES[UA_TYPES_HISTORYEVENT]; - readHistory = (UA_HistoryDatabase_readFunc) - server->config.historyDatabase.readEvent; - } else if(request->historyReadDetails.content.decoded.type == - &UA_TYPES[UA_TYPES_READPROCESSEDDETAILS]) { - readHistory = (UA_HistoryDatabase_readFunc) - server->config.historyDatabase.readProcessed; - } else if(request->historyReadDetails.content.decoded.type == - &UA_TYPES[UA_TYPES_READATTIMEDETAILS]) { - readHistory = (UA_HistoryDatabase_readFunc) - server->config.historyDatabase.readAtTime; - } else { - /* TODO handle more request->historyReadDetails.content.decoded.type types */ - response->responseHeader.serviceResult = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; - return; - } - - /* Check if the configured History-Backend supports the requested history type */ - if(!readHistory) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "The configured HistoryBackend does not support the selected history-type."); - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTSUPPORTED; - return; - } - - /* Something to do? */ - if(request->nodesToReadSize == 0) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; - return; - } - - /* Check if there are too many operations */ - if(server->config.maxNodesPerRead != 0 && - request->nodesToReadSize > server->config.maxNodesPerRead) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - /* Allocate a temporary array to forward the result pointers to the - * backend */ - void **historyData = (void **) - UA_calloc(request->nodesToReadSize, sizeof(void*)); - if(!historyData) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - /* Allocate the results array */ - response->results = (UA_HistoryReadResult*) - UA_Array_new(request->nodesToReadSize, &UA_TYPES[UA_TYPES_HISTORYREADRESULT]); - if(!response->results) { - UA_free(historyData); - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - response->resultsSize = request->nodesToReadSize; - - for(size_t i = 0; i < response->resultsSize; ++i) { - void * data = UA_new(historyDataType); - UA_ExtensionObject_setValue(&response->results[i].historyData, - data, historyDataType); - historyData[i] = data; - } - readHistory(server, server->config.historyDatabase.context, - &session->sessionId, session->sessionHandle, - &request->requestHeader, - request->historyReadDetails.content.decoded.data, - request->timestampsToReturn, - request->releaseContinuationPoints, - request->nodesToReadSize, request->nodesToRead, - response, historyData); - UA_free(historyData); -} - -void -Service_HistoryUpdate(UA_Server *server, UA_Session *session, - const UA_HistoryUpdateRequest *request, - UA_HistoryUpdateResponse *response) { - UA_assert(session != NULL); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - response->resultsSize = request->historyUpdateDetailsSize; - response->results = (UA_HistoryUpdateResult*) - UA_Array_new(response->resultsSize, &UA_TYPES[UA_TYPES_HISTORYUPDATERESULT]); - if(!response->results) { - response->resultsSize = 0; - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - for(size_t i = 0; i < request->historyUpdateDetailsSize; ++i) { - UA_HistoryUpdateResult_init(&response->results[i]); - if(request->historyUpdateDetails[i].encoding != UA_EXTENSIONOBJECT_DECODED) { - response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; - continue; - } - - const UA_DataType *updateDetailsType = - request->historyUpdateDetails[i].content.decoded.type; - void *updateDetailsData = request->historyUpdateDetails[i].content.decoded.data; - - if(updateDetailsType == &UA_TYPES[UA_TYPES_UPDATEDATADETAILS]) { - if(!server->config.historyDatabase.updateData) { - response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; - continue; - } - server->config.historyDatabase. - updateData(server, server->config.historyDatabase.context, - &session->sessionId, session->sessionHandle, - &request->requestHeader, - (UA_UpdateDataDetails*)updateDetailsData, - &response->results[i]); - continue; - } - - if(updateDetailsType == &UA_TYPES[UA_TYPES_DELETERAWMODIFIEDDETAILS]) { - if(!server->config.historyDatabase.deleteRawModified) { - response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; - continue; - } - server->config.historyDatabase. - deleteRawModified(server, server->config.historyDatabase.context, - &session->sessionId, session->sessionHandle, - &request->requestHeader, - (UA_DeleteRawModifiedDetails*)updateDetailsData, - &response->results[i]); - continue; - } - - response->results[i].statusCode = UA_STATUSCODE_BADNOTSUPPORTED; - } -} - -#endif - -UA_StatusCode -UA_Server_writeObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const UA_Variant value) { - lockServer(server); - UA_StatusCode retVal = writeObjectProperty(server, objectId, propertyName, value); - unlockServer(server); - return retVal; -} - -UA_StatusCode -writeObjectProperty(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const UA_Variant value) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_RelativePathElement rpe; - UA_RelativePathElement_init(&rpe); - rpe.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); - rpe.isInverse = false; - rpe.includeSubtypes = false; - rpe.targetName = propertyName; - - UA_BrowsePath bp; - UA_BrowsePath_init(&bp); - bp.startingNode = objectId; - bp.relativePath.elementsSize = 1; - bp.relativePath.elements = &rpe; - - UA_StatusCode retval; - UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - retval = bpr.statusCode; - UA_BrowsePathResult_clear(&bpr); - return retval; - } - - retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); - - UA_BrowsePathResult_clear(&bpr); - return retval; -} - -UA_StatusCode -writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const void *value, const UA_DataType *type) { - UA_Variant var; - UA_Variant_init(&var); - UA_Variant_setScalar(&var, (void*)(uintptr_t)value, type); - return writeObjectProperty(server, objectId, propertyName, var); -} - -UA_StatusCode UA_EXPORT -UA_Server_writeObjectProperty_scalar(UA_Server *server, const UA_NodeId objectId, - const UA_QualifiedName propertyName, - const void *value, const UA_DataType *type) { - lockServer(server); - UA_StatusCode retval = - writeObjectProperty_scalar(server, objectId, propertyName, value, type); - unlockServer(server); - return retval; -} - -static UA_LocalizedText -getLocalizedForSession(const UA_Session *session, - const UA_LocalizedTextListEntry *root) { - const UA_LocalizedTextListEntry *lt; - UA_LocalizedText result; - UA_LocalizedText_init(&result); - - /* No session. Return the first */ - if(!session) - goto not_found; - - /* Exact match? */ - for(size_t i = 0; i < session->localeIdsSize; ++i) { - for(lt = root; lt != NULL; lt = lt->next) { - if(UA_String_equal(&session->localeIds[i], <->localizedText.locale)) - return lt->localizedText; - } - } - - /* Partial match, e.g. de-DE instead of de-CH */ - for(size_t i = 0; i < session->localeIdsSize; ++i) { - if(session->localeIds[i].length < 2 || - (session->localeIdsSize > 2 && - session->localeIds[i].data[2] != '-')) - continue; - - UA_String requestedPrefix; - requestedPrefix.data = session->localeIds[i].data; - requestedPrefix.length = 2; - - for(lt = root; lt != NULL; lt = lt->next) { - if(lt->localizedText.locale.length < 2 || - (lt->localizedText.locale.length > 2 && - lt->localizedText.locale.data[2] != '-')) - continue; - - UA_String currentPrefix; - currentPrefix.data = lt->localizedText.locale.data; - currentPrefix.length = 2; - - if(UA_String_equal(&requestedPrefix, ¤tPrefix)) - return lt->localizedText; - } - } - - /* Not found. Return the first localized text that was added (last in the - * linked list). Return an empty result if the list is empty. */ - not_found: - if(!root) - return result; - while(root->next) - root = root->next; - return root->localizedText; -} - -UA_LocalizedText -UA_Session_getNodeDisplayName(const UA_Session *session, - const UA_NodeHead *head) { - return getLocalizedForSession(session, head->displayName); -} - -UA_LocalizedText -UA_Session_getNodeDescription(const UA_Session *session, - const UA_NodeHead *head) { - return getLocalizedForSession(session, head->description); -} - -/**** amalgamated original file "/src/server/ua_services_discovery.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2016 (c) Sten Grüner - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2016 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) frax2222 - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - */ - - -#ifdef UA_ENABLE_DISCOVERY - - -static UA_StatusCode -setApplicationDescriptionFromRegisteredServer(const UA_FindServersRequest *request, - UA_ApplicationDescription *target, - const UA_RegisteredServer *registeredServer) { - UA_ApplicationDescription_init(target); - UA_StatusCode retval = - UA_String_copy(®isteredServer->serverUri, &target->applicationUri); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - retval = UA_String_copy(®isteredServer->productUri, &target->productUri); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - // if the client requests a specific locale, select the corresponding server name - if(request->localeIdsSize) { - UA_Boolean appNameFound = false; - for(size_t i =0; ilocaleIdsSize && !appNameFound; i++) { - for(size_t j =0; jserverNamesSize; j++) { - if(UA_String_equal(&request->localeIds[i], - ®isteredServer->serverNames[j].locale)) { - retval = UA_LocalizedText_copy(®isteredServer->serverNames[j], - &target->applicationName); - if(retval != UA_STATUSCODE_GOOD) - return retval; - appNameFound = true; - break; - } - } - } - - // server does not have the requested local, therefore we can select the - // most suitable one - if(!appNameFound && registeredServer->serverNamesSize) { - retval = UA_LocalizedText_copy(®isteredServer->serverNames[0], - &target->applicationName); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - } else if(registeredServer->serverNamesSize) { - // just take the first name - retval = UA_LocalizedText_copy(®isteredServer->serverNames[0], - &target->applicationName); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - - target->applicationType = registeredServer->serverType; - retval = UA_String_copy(®isteredServer->gatewayServerUri, &target->gatewayServerUri); - if(retval != UA_STATUSCODE_GOOD) - return retval; - // TODO where do we get the discoveryProfileUri for application data? - - target->discoveryUrlsSize = registeredServer->discoveryUrlsSize; - if(registeredServer->discoveryUrlsSize) { - size_t duSize = sizeof(UA_String) * registeredServer->discoveryUrlsSize; - target->discoveryUrls = (UA_String *)UA_malloc(duSize); - if(!target->discoveryUrls) - return UA_STATUSCODE_BADOUTOFMEMORY; - for(size_t i = 0; i < registeredServer->discoveryUrlsSize; i++) { - retval = UA_String_copy(®isteredServer->discoveryUrls[i], - &target->discoveryUrls[i]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - } - - return retval; -} -#endif - -void Service_FindServers(UA_Server *server, UA_Session *session, - const UA_FindServersRequest *request, - UA_FindServersResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing FindServersRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Return the server itself? */ - UA_Boolean foundSelf = false; - if(request->serverUrisSize) { - for(size_t i = 0; i < request->serverUrisSize; i++) { - if(UA_String_equal(&request->serverUris[i], - &server->config.applicationDescription.applicationUri)) { - foundSelf = true; - break; - } - } - } else { - foundSelf = true; - } - -#ifndef UA_ENABLE_DISCOVERY - if(!foundSelf) - return; - - response->responseHeader.serviceResult = - UA_Array_copy(&server->config.applicationDescription, 1, - (void**)&response->servers, - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) - return; - - response->serversSize = 1; -#else - UA_DiscoveryManager *dm = (UA_DiscoveryManager*) - getServerComponentByName(server, UA_STRING("discovery")); - if(!dm) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* Allocate enough memory, including memory for the "self" response */ - size_t maxResults = dm->registeredServersSize + 1; - response->servers = (UA_ApplicationDescription*) - UA_Array_new(maxResults, &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); - if(!response->servers) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - /* Copy into the response. TODO: Evaluate return codes */ - size_t pos = 0; - if(foundSelf) - UA_ApplicationDescription_copy(&server->config.applicationDescription, - &response->servers[pos++]); - - registeredServer_list_entry* current; - LIST_FOREACH(current, &dm->registeredServers, pointers) { - UA_Boolean usable = (request->serverUrisSize == 0); - if(!usable) { - /* If client only requested a specific set of servers */ - for(size_t i = 0; i < request->serverUrisSize; i++) { - if(UA_String_equal(¤t->registeredServer.serverUri, - &request->serverUris[i])) { - usable = true; - break; - } - } - } - - if(usable) - setApplicationDescriptionFromRegisteredServer(request, &response->servers[pos++], - ¤t->registeredServer); - } - - /* Set the final size */ - if(pos > 0) { - response->serversSize = pos; - } else { - UA_free(response->servers); - response->servers = NULL; - } -#endif - - if(request->endpointUrl.length > 0 && response->servers != NULL) { - for(size_t i = 0; i < response->serversSize; i++) { - UA_Array_delete(response->servers[i].discoveryUrls, - response->servers[i].discoveryUrlsSize, - &UA_TYPES[UA_TYPES_STRING]); - response->servers[i].discoveryUrls = NULL; - response->servers[i].discoveryUrlsSize = 0; - response->responseHeader.serviceResult |= - UA_Array_appendCopy((void**)&response->servers[i].discoveryUrls, - &response->servers[i].discoveryUrlsSize, - &request->endpointUrl, &UA_TYPES[UA_TYPES_STRING]); - } - } -} - -#if defined(UA_ENABLE_DISCOVERY) && defined(UA_ENABLE_DISCOVERY_MULTICAST) -/* All filter criteria must be fulfilled in the list entry. The comparison is - * case insensitive. Returns true if the entry matches the filter. */ -static UA_Boolean -entryMatchesCapabilityFilter(size_t serverCapabilityFilterSize, - UA_String *serverCapabilityFilter, - serverOnNetwork_list_entry* current) { - /* If the entry has less capabilities defined than the filter, there's no match */ - if(serverCapabilityFilterSize > current->serverOnNetwork.serverCapabilitiesSize) - return false; - for(size_t i = 0; i < serverCapabilityFilterSize; i++) { - UA_Boolean capabilityFound = false; - for(size_t j = 0; j < current->serverOnNetwork.serverCapabilitiesSize; j++) { - if(UA_String_equal_ignorecase(&serverCapabilityFilter[i], - ¤t->serverOnNetwork.serverCapabilities[j])) { - capabilityFound = true; - break; - } - } - if(!capabilityFound) - return false; - } - return true; -} - -void -Service_FindServersOnNetwork(UA_Server *server, UA_Session *session, - const UA_FindServersOnNetworkRequest *request, - UA_FindServersOnNetworkResponse *response) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_DiscoveryManager *dm = (UA_DiscoveryManager*) - getServerComponentByName(server, UA_STRING("discovery")); - if(!dm) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - if(!server->config.mdnsEnabled) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTIMPLEMENTED; - return; - } - - /* Set LastCounterResetTime */ - response->lastCounterResetTime = - dm->serverOnNetworkRecordIdLastReset; - - /* Compute the max number of records to return */ - UA_UInt32 recordCount = 0; - if(request->startingRecordId < dm->serverOnNetworkRecordIdCounter) - recordCount = dm->serverOnNetworkRecordIdCounter - request->startingRecordId; - if(request->maxRecordsToReturn && recordCount > request->maxRecordsToReturn) - recordCount = UA_MIN(recordCount, request->maxRecordsToReturn); - if(recordCount == 0) { - response->serversSize = 0; - return; - } - - /* Iterate over all records and add to filtered list */ - UA_UInt32 filteredCount = 0; - UA_STACKARRAY(UA_ServerOnNetwork*, filtered, recordCount); - serverOnNetwork_list_entry* current; - LIST_FOREACH(current, &dm->serverOnNetwork, pointers) { - if(filteredCount >= recordCount) - break; - if(current->serverOnNetwork.recordId < request->startingRecordId) - continue; - if(!entryMatchesCapabilityFilter(request->serverCapabilityFilterSize, - request->serverCapabilityFilter, current)) - continue; - filtered[filteredCount++] = ¤t->serverOnNetwork; - } - - if(filteredCount == 0) - return; - - /* Allocate the array for the response */ - response->servers = (UA_ServerOnNetwork*) - UA_malloc(sizeof(UA_ServerOnNetwork)*filteredCount); - if(!response->servers) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - response->serversSize = filteredCount; - - /* Copy the server names */ - for(size_t i = 0; i < filteredCount; i++) - UA_ServerOnNetwork_copy(filtered[i], &response->servers[filteredCount-i-1]); -} -#endif - -static const UA_String UA_SECURITY_POLICY_BASIC256SHA256_URI = - UA_STRING_STATIC("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"); - -UA_SecurityPolicy * -getDefaultEncryptedSecurityPolicy(UA_Server *server) { - for(size_t i = 0; i < server->config.securityPoliciesSize; i++) { - UA_SecurityPolicy *sp = &server->config.securityPolicies[i]; - if(UA_String_equal(&UA_SECURITY_POLICY_BASIC256SHA256_URI, &sp->policyUri)) - return sp; - } - for(size_t i = server->config.securityPoliciesSize; i > 0; i--) { - UA_SecurityPolicy *sp = &server->config.securityPolicies[i-1]; - if(!UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &sp->policyUri)) - return sp; - } - return NULL; /* No encrypted policy found */ -} - -const char *securityModeStrs[4] = {"-invalid", "-none", "-sign", "-sign+encrypt"}; - -UA_String -securityPolicyUriPostfix(const UA_String uri) { - for(UA_Byte *b = uri.data + uri.length - 1; b >= uri.data; b--) { - if(*b != '#') - continue; - UA_String postfix = {uri.length - (size_t)(b - uri.data), b}; - return postfix; - } - return uri; -} - -static UA_StatusCode -updateEndpointUserIdentityToken(UA_Server *server, UA_EndpointDescription *ed) { - /* Don't change the UserIdentityTokens if there are manually configured - * entries */ - if(ed->userIdentityTokensSize > 0) - return UA_STATUSCODE_GOOD; - - /* Copy the UserTokenPolicies from the AccessControl plugin, but only the matching ones to the securityPolicyUri. - * TODO: Different instances of the AccessControl plugin per Endpoint */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_ServerConfig *sc = &server->config; - for(size_t i = 0; i < sc->accessControl.userTokenPoliciesSize; i++) { - UA_UserTokenPolicy *utp = &sc->accessControl.userTokenPolicies[i]; - res = UA_Array_appendCopy((void**)&ed->userIdentityTokens, - &ed->userIdentityTokensSize, utp, - &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Select the SecurityPolicy for the UserTokenType. - * If not set, the SecurityPolicy of the SecureChannel is used. */ - utp = &ed->userIdentityTokens[ed->userIdentityTokensSize - 1]; - UA_String_clear(&utp->securityPolicyUri); -#ifdef UA_ENABLE_ENCRYPTION - /* Anonymous tokens don't need encryption. All other tokens require - * encryption with the exception of Username/Password if also the - * allowNonePolicyPassword option has been set. The same logic is used - * in selectEndpointAndTokenPolicy (ua_services_session.c). */ - if(utp->tokenType != UA_USERTOKENTYPE_ANONYMOUS && - !(sc->allowNonePolicyPassword && utp->tokenType == UA_USERTOKENTYPE_USERNAME) && - UA_String_equal(&ed->securityPolicyUri, &UA_SECURITY_POLICY_NONE_URI)) { - UA_SecurityPolicy *encSP = getDefaultEncryptedSecurityPolicy(server); - if(!encSP) { - /* No encrypted SecurityPolicy available */ - UA_LOG_WARNING(sc->logging, UA_LOGCATEGORY_CLIENT, - "Removing a UserTokenPolicy that would allow the " - "password to be transmitted without encryption " - "(Can be enabled via config->allowNonePolicyPassword)"); - UA_StatusCode res2 = - UA_Array_resize((void **)&ed->userIdentityTokens, - &ed->userIdentityTokensSize, - ed->userIdentityTokensSize - 1, - &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); - (void)res2; - continue; - } - res |= UA_String_copy(&encSP->policyUri, &utp->securityPolicyUri); - } -#endif - - /* Append the SecurityMode and SecurityPolicy postfix to the PolicyId to - * make it unique */ - UA_String postfix; - if(utp->securityPolicyUri.length > 0) - postfix = securityPolicyUriPostfix(utp->securityPolicyUri); - else - postfix = securityPolicyUriPostfix(ed->securityPolicyUri); - size_t newLen = utp->policyId.length + postfix.length + - strlen(securityModeStrs[ed->securityMode]); - UA_Byte *newString = (UA_Byte*)UA_realloc(utp->policyId.data, newLen); - if(!newString) - continue; - size_t pos = utp->policyId.length; - memcpy(&newString[pos], securityModeStrs[ed->securityMode], - strlen(securityModeStrs[ed->securityMode])); - pos += strlen(securityModeStrs[ed->securityMode]); - memcpy(&newString[pos], postfix.data, postfix.length); - utp->policyId.data = newString; - utp->policyId.length = newLen; - } - - return res; -} - -/* Also reused to create the EndpointDescription array in the CreateSessionResponse */ -UA_StatusCode -setCurrentEndPointsArray(UA_Server *server, const UA_String endpointUrl, - UA_String *profileUris, size_t profileUrisSize, - UA_EndpointDescription **arr, size_t *arrSize) { - /* Clone the endpoint for each discoveryURL? */ - size_t clone_times = 1; - if(endpointUrl.length == 0) - clone_times = server->config.applicationDescription.discoveryUrlsSize; - - /* Allocate the array */ - *arr = (UA_EndpointDescription*) - UA_Array_new(server->config.endpointsSize * clone_times, - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); - if(!*arr) - return UA_STATUSCODE_BADOUTOFMEMORY; - - size_t pos = 0; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - for(size_t j = 0; j < server->config.endpointsSize; ++j) { - /* Test if the supported binary profile shall be returned */ - UA_Boolean usable = (profileUrisSize == 0); - if(!usable) { - for(size_t i = 0; i < profileUrisSize; ++i) { - if(!UA_String_equal(&profileUris[i], &server->config.endpoints[j].transportProfileUri)) - continue; - usable = true; - break; - } - } - if(!usable) - continue; - - /* Copy into the results */ - for(size_t i = 0; i < clone_times; ++i) { - /* Copy the endpoint with a current ApplicationDescription */ - UA_EndpointDescription *ed = &(*arr)[pos]; - retval |= UA_EndpointDescription_copy(&server->config.endpoints[j], ed); - UA_ApplicationDescription_clear(&ed->server); - retval |= UA_ApplicationDescription_copy(&server->config.applicationDescription, - &ed->server); - - /* Return the certificate for the SecurityPolicy. If the - * SecureChannel is unencrypted, select the default encrypted - * SecurityPolicy. */ - UA_SecurityPolicy *sp = getSecurityPolicyByUri(server, &ed->securityPolicyUri); - if(!sp || UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &sp->policyUri)) - sp = getDefaultEncryptedSecurityPolicy(server); - if(sp) { - UA_ByteString_clear(&ed->serverCertificate); - retval |= UA_String_copy(&sp->localCertificate, &ed->serverCertificate); - } - - /* Set the User Identity Token list fromt the AccessControl plugin */ - retval |= updateEndpointUserIdentityToken(server, ed); - - /* Set the EndpointURL */ - UA_String_clear(&ed->endpointUrl); - if(endpointUrl.length == 0) { - retval |= UA_String_copy(&server->config.applicationDescription. - discoveryUrls[i], &ed->endpointUrl); - } else { - /* Mirror back the requested EndpointUrl and also add it to the - * array of discovery urls */ - retval |= UA_String_copy(&endpointUrl, &ed->endpointUrl); - - /* Check if the ServerUrl is already present in the DiscoveryUrl array */ - size_t k = 0; - for(; k < ed->server.discoveryUrlsSize; k++) { - if(UA_String_equal(&ed->endpointUrl, &ed->server.discoveryUrls[k])) - break; - } - if(k == ed->server.discoveryUrlsSize) { - retval |= UA_Array_appendCopy( - (void **)&ed->server.discoveryUrls, &ed->server.discoveryUrlsSize, - &endpointUrl, &UA_TYPES[UA_TYPES_STRING]); - } - } - if(retval != UA_STATUSCODE_GOOD) - goto error; - - pos++; - } - } - - *arrSize = pos; - return UA_STATUSCODE_GOOD; - - error: - UA_Array_delete(*arr, server->config.endpointsSize * clone_times, - &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); - *arr = NULL; - return retval; -} - -void -Service_GetEndpoints(UA_Server *server, UA_Session *session, - const UA_GetEndpointsRequest *request, - UA_GetEndpointsResponse *response) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* If the client expects to see a specific endpointurl, mirror it back. If - * not, clone the endpoints with the discovery url of all networklayers. */ - if(request->endpointUrl.length > 0) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing GetEndpointsRequest with endpointUrl " - UA_PRINTF_STRING_FORMAT, UA_PRINTF_STRING_DATA(request->endpointUrl)); - } else { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing GetEndpointsRequest with an empty endpointUrl"); - } - - response->responseHeader.serviceResult = - setCurrentEndPointsArray(server, request->endpointUrl, - request->profileUris, request->profileUrisSize, - &response->endpoints, &response->endpointsSize); -} - -#ifdef UA_ENABLE_DISCOVERY - -static void -process_RegisterServer(UA_Server *server, UA_Session *session, - const UA_RequestHeader* requestHeader, - const UA_RegisteredServer *requestServer, - const size_t requestDiscoveryConfigurationSize, - const UA_ExtensionObject *requestDiscoveryConfiguration, - UA_ResponseHeader* responseHeader, - size_t *responseConfigurationResultsSize, - UA_StatusCode **responseConfigurationResults, - size_t *responseDiagnosticInfosSize, - UA_DiagnosticInfo *responseDiagnosticInfos) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_DiscoveryManager *dm = (UA_DiscoveryManager*) - getServerComponentByName(server, UA_STRING("discovery")); - if(!dm) - return; - - if(dm->serverConfig->applicationDescription.applicationType != UA_APPLICATIONTYPE_DISCOVERYSERVER) { - responseHeader->serviceResult = UA_STATUSCODE_BADSERVICEUNSUPPORTED; - return; - } - - /* Find the server from the request in the registered list */ - registeredServer_list_entry* current; - registeredServer_list_entry *registeredServer_entry = NULL; - LIST_FOREACH(current, &dm->registeredServers, pointers) { - if(UA_String_equal(¤t->registeredServer.serverUri, &requestServer->serverUri)) { - registeredServer_entry = current; - break; - } - } - - UA_MdnsDiscoveryConfiguration *mdnsConfig = NULL; - - const UA_String* mdnsServerName = NULL; - if(requestDiscoveryConfigurationSize) { - *responseConfigurationResults = - (UA_StatusCode *)UA_Array_new(requestDiscoveryConfigurationSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!(*responseConfigurationResults)) { - responseHeader->serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - *responseConfigurationResultsSize = requestDiscoveryConfigurationSize; - - for(size_t i = 0; i < requestDiscoveryConfigurationSize; i++) { - const UA_ExtensionObject *object = &requestDiscoveryConfiguration[i]; - if(!mdnsConfig && (object->encoding == UA_EXTENSIONOBJECT_DECODED || - object->encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && - (object->content.decoded.type == &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION])) { - mdnsConfig = (UA_MdnsDiscoveryConfiguration *)object->content.decoded.data; - mdnsServerName = &mdnsConfig->mdnsServerName; - (*responseConfigurationResults)[i] = UA_STATUSCODE_GOOD; - } else { - (*responseConfigurationResults)[i] = UA_STATUSCODE_BADNOTSUPPORTED; - } - } - } - - if(!mdnsServerName && requestServer->serverNamesSize) - mdnsServerName = &requestServer->serverNames[0].text; - - if(!mdnsServerName) { - responseHeader->serviceResult = UA_STATUSCODE_BADSERVERNAMEMISSING; - return; - } - - if(requestServer->discoveryUrlsSize == 0) { - responseHeader->serviceResult = UA_STATUSCODE_BADDISCOVERYURLMISSING; - return; - } - - if(requestServer->semaphoreFilePath.length) { -#ifdef UA_ENABLE_DISCOVERY_SEMAPHORE - char* filePath = (char*) - UA_malloc(sizeof(char)*requestServer->semaphoreFilePath.length+1); - if(!filePath) { - UA_LOG_ERROR_SESSION(server->config.logging, session, - "Cannot allocate memory for semaphore path. Out of memory."); - responseHeader->serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - memcpy(filePath, requestServer->semaphoreFilePath.data, requestServer->semaphoreFilePath.length ); - filePath[requestServer->semaphoreFilePath.length] = '\0'; - if(!UA_fileExists( filePath )) { - responseHeader->serviceResult = UA_STATUSCODE_BADSEMPAHOREFILEMISSING; - UA_free(filePath); - return; - } - UA_free(filePath); -#else - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_CLIENT, - "Ignoring semaphore file path. open62541 not compiled " - "with UA_ENABLE_DISCOVERY_SEMAPHORE=ON"); -#endif - } - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - if(server->config.mdnsEnabled) { - for(size_t i = 0; i < requestServer->discoveryUrlsSize; i++) { - /* create TXT if is online and first index, delete TXT if is offline and last index */ - UA_Boolean updateTxt = (requestServer->isOnline && i==0) || - (!requestServer->isOnline && i==requestServer->discoveryUrlsSize); - UA_Discovery_updateMdnsForDiscoveryUrl(dm, mdnsServerName, mdnsConfig, - &requestServer->discoveryUrls[i], - requestServer->isOnline, updateTxt); - } - } -#endif - - if(!requestServer->isOnline) { - // server is shutting down. Remove it from the registered servers list - if(!registeredServer_entry) { - // server not found, show warning - UA_LOG_WARNING_SESSION(server->config.logging, session, - "Could not unregister server %.*s. Not registered.", - (int)requestServer->serverUri.length, requestServer->serverUri.data); - responseHeader->serviceResult = UA_STATUSCODE_BADNOTHINGTODO; - return; - } - - if(dm->registerServerCallback) - dm->registerServerCallback(requestServer, dm->registerServerCallbackData); - - // server found, remove from list - LIST_REMOVE(registeredServer_entry, pointers); - UA_RegisteredServer_clear(®isteredServer_entry->registeredServer); - UA_free(registeredServer_entry); - dm->registeredServersSize--; - responseHeader->serviceResult = UA_STATUSCODE_GOOD; - return; - } - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(!registeredServer_entry) { - // server not yet registered, register it by adding it to the list - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Registering new server: %.*s", - (int)requestServer->serverUri.length, requestServer->serverUri.data); - - registeredServer_entry = - (registeredServer_list_entry *)UA_malloc(sizeof(registeredServer_list_entry)); - if(!registeredServer_entry) { - responseHeader->serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - LIST_INSERT_HEAD(&dm->registeredServers, - registeredServer_entry, pointers); - dm->registeredServersSize++; - } else { - UA_RegisteredServer_clear(®isteredServer_entry->registeredServer); - } - - // Always call the callback, if it is set. - // Previously we only called it if it was a new register call. It may be the case that this endpoint - // registered before, then crashed, restarts and registeres again. In that case the entry is not deleted - // and the callback would not be called. - if(dm->registerServerCallback) - dm->registerServerCallback(requestServer, dm->registerServerCallbackData); - - // copy the data from the request into the list - UA_RegisteredServer_copy(requestServer, ®isteredServer_entry->registeredServer); - registeredServer_entry->lastSeen = UA_DateTime_nowMonotonic(); - responseHeader->serviceResult = retval; -} - -void Service_RegisterServer(UA_Server *server, UA_Session *session, - const UA_RegisterServerRequest *request, - UA_RegisterServerResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing RegisterServerRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - process_RegisterServer(server, session, &request->requestHeader, &request->server, 0, - NULL, &response->responseHeader, 0, NULL, 0, NULL); -} - -void Service_RegisterServer2(UA_Server *server, UA_Session *session, - const UA_RegisterServer2Request *request, - UA_RegisterServer2Response *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing RegisterServer2Request"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - process_RegisterServer(server, session, &request->requestHeader, &request->server, - request->discoveryConfigurationSize, request->discoveryConfiguration, - &response->responseHeader, &response->configurationResultsSize, - &response->configurationResults, &response->diagnosticInfosSize, - response->diagnosticInfos); -} - -#endif /* UA_ENABLE_DISCOVERY */ - -/**** amalgamated original file "/src/server/ua_services_subscription.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018, 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2016-2017 (c) Florian Palm - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2017 (c) Mattias Bornhager - * Copyright 2017 (c) Henrik Norrman - * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Fabian Arndt, Root-Core - * Copyright 2017-2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ - -static void -setSubscriptionSettings(UA_Server *server, UA_Subscription *subscription, - UA_Double requestedPublishingInterval, - UA_UInt32 requestedLifetimeCount, - UA_UInt32 requestedMaxKeepAliveCount, - UA_UInt32 maxNotificationsPerPublish, - UA_Byte priority) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* re-parameterize the subscription */ - UA_BOUNDEDVALUE_SETWBOUNDS(server->config.publishingIntervalLimits, - requestedPublishingInterval, - subscription->publishingInterval); - /* check for nan*/ - if(requestedPublishingInterval != requestedPublishingInterval) - subscription->publishingInterval = server->config.publishingIntervalLimits.min; - UA_BOUNDEDVALUE_SETWBOUNDS(server->config.keepAliveCountLimits, - requestedMaxKeepAliveCount, subscription->maxKeepAliveCount); - UA_BOUNDEDVALUE_SETWBOUNDS(server->config.lifeTimeCountLimits, - requestedLifetimeCount, subscription->lifeTimeCount); - if(subscription->lifeTimeCount < 3 * subscription->maxKeepAliveCount) - subscription->lifeTimeCount = 3 * subscription->maxKeepAliveCount; - subscription->notificationsPerPublish = maxNotificationsPerPublish; - if(maxNotificationsPerPublish == 0 || - maxNotificationsPerPublish > server->config.maxNotificationsPerPublish) - subscription->notificationsPerPublish = server->config.maxNotificationsPerPublish; - subscription->priority = priority; -} - -void -Service_CreateSubscription(UA_Server *server, UA_Session *session, - const UA_CreateSubscriptionRequest *request, - UA_CreateSubscriptionResponse *response) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Check limits for the number of subscriptions */ - if(((server->config.maxSubscriptions != 0) && - (server->subscriptionsSize >= server->config.maxSubscriptions)) || - ((server->config.maxSubscriptionsPerSession != 0) && - (session->subscriptionsSize >= server->config.maxSubscriptionsPerSession))) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS; - return; - } - - /* Create the subscription */ - UA_Subscription *sub = UA_Subscription_new(); - if(!sub) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing CreateSubscriptionRequest failed"); - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - /* Set the subscription parameters */ - setSubscriptionSettings(server, sub, request->requestedPublishingInterval, - request->requestedLifetimeCount, - request->requestedMaxKeepAliveCount, - request->maxNotificationsPerPublish, request->priority); - sub->subscriptionId = ++server->lastSubscriptionId; /* Assign the SubscriptionId */ - - /* Register the subscription in the server */ - LIST_INSERT_HEAD(&server->subscriptions, sub, serverListEntry); - server->subscriptionsSize++; - - /* Update the server statistics */ - server->serverDiagnosticsSummary.currentSubscriptionCount++; - server->serverDiagnosticsSummary.cumulatedSubscriptionCount++; - - /* Attach the Subscription to the session */ - UA_Session_attachSubscription(session, sub); - - /* Create representation in the Session object */ -#ifdef UA_ENABLE_DIAGNOSTICS - createSubscriptionObject(server, session, sub); -#endif - - /* Set the subscription state. This also registers the callback. - * Note that also a disabled subscription publishes keepalives. */ - UA_SubscriptionState sState = (request->publishingEnabled) ? - UA_SUBSCRIPTIONSTATE_ENABLED : UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH; - UA_StatusCode res = Subscription_setState(server, sub, sState); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG_SESSION(server->config.logging, sub->session, - "Subscription %" PRIu32 " | Could not register " - "publish callback with error code %s", - sub->subscriptionId, UA_StatusCode_name(res)); - response->responseHeader.serviceResult = res; - UA_Subscription_delete(server, sub); - return; - } - - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, - "Subscription created (Publishing interval %.2fms, " - "max %lu notifications per publish)", - sub->publishingInterval, - (long unsigned)sub->notificationsPerPublish); - - /* Prepare the response */ - response->subscriptionId = sub->subscriptionId; - response->revisedPublishingInterval = sub->publishingInterval; - response->revisedLifetimeCount = sub->lifeTimeCount; - response->revisedMaxKeepAliveCount = sub->maxKeepAliveCount; -} - -void -Service_ModifySubscription(UA_Server *server, UA_Session *session, - const UA_ModifySubscriptionRequest *request, - UA_ModifySubscriptionResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing ModifySubscriptionRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Store the old publishing interval */ - UA_Double oldPublishingInterval = sub->publishingInterval; - UA_Byte oldPriority = sub->priority; - - /* Change the Subscription settings */ - setSubscriptionSettings(server, sub, request->requestedPublishingInterval, - request->requestedLifetimeCount, - request->requestedMaxKeepAliveCount, - request->maxNotificationsPerPublish, request->priority); - - /* Reset the subscription lifetime */ - Subscription_resetLifetime(sub); - - /* The publish interval has changed */ - if(sub->publishingInterval != oldPublishingInterval) { - /* Change the repeated callback to the new interval. This cannot fail as - * memory is reused. */ - if(sub->publishCallbackId > 0) - changeRepeatedCallbackInterval(server, sub->publishCallbackId, - sub->publishingInterval); - - /* For each MonitoredItem check if it was/shall be attached to the - * publish interval. This ensures that we have less cyclic callbacks - * registered and that the notifications are fresh. */ - UA_MonitoredItem *mon; - LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { - if(mon->parameters.samplingInterval == sub->publishingInterval || - mon->parameters.samplingInterval == oldPublishingInterval) { - UA_MonitoredItem_unregisterSampling(server, mon); - UA_MonitoredItem_registerSampling(server, mon); - } - } - } - - /* If the priority has changed, re-enter the subscription to the - * priority-ordered queue in the session. */ - if(oldPriority != sub->priority) { - UA_Session_detachSubscription(server, session, sub, false); - UA_Session_attachSubscription(session, sub); - } - - /* Set the response */ - response->revisedPublishingInterval = sub->publishingInterval; - response->revisedLifetimeCount = sub->lifeTimeCount; - response->revisedMaxKeepAliveCount = sub->maxKeepAliveCount; - - /* Update the diagnostics statistics */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->modifyCount++; -#endif -} - -static void -Operation_SetPublishingMode(UA_Server *server, UA_Session *session, - const UA_Boolean *publishingEnabled, - const UA_UInt32 *subscriptionId, - UA_StatusCode *result) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_Subscription *sub = UA_Session_getSubscriptionById(session, *subscriptionId); - if(!sub) { - *result = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Enable/disable */ - UA_SubscriptionState sState = (*publishingEnabled) ? - UA_SUBSCRIPTIONSTATE_ENABLED : UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH; - *result = Subscription_setState(server, sub, sState); - - /* Reset the lifetime counter */ - Subscription_resetLifetime(sub); -} - -void -Service_SetPublishingMode(UA_Server *server, UA_Session *session, - const UA_SetPublishingModeRequest *request, - UA_SetPublishingModeResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing SetPublishingModeRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_Boolean publishingEnabled = request->publishingEnabled; /* request is const */ - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_SetPublishingMode, - &publishingEnabled, - &request->subscriptionIdsSize, - &UA_TYPES[UA_TYPES_UINT32], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_StatusCode -Service_Publish(UA_Server *server, UA_Session *session, - const UA_PublishRequest *request, UA_UInt32 requestId) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing PublishRequest with RequestId %u", requestId); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Return an error if the session has no subscription */ - if(TAILQ_EMPTY(&session->subscriptions)) { - sendServiceFault(session->header.channel, requestId, - request->requestHeader.requestHandle, - UA_STATUSCODE_BADNOSUBSCRIPTION); - return UA_STATUSCODE_BADNOSUBSCRIPTION; - } - - /* Handle too many subscriptions to free resources before trying to allocate - * resources for the new publish request. If the limit has been reached the - * oldest publish request are returned with an error message. */ - UA_Session_ensurePublishQueueSpace(server, session); - - /* Allocate the response to store it in the retransmission queue */ - UA_PublishResponseEntry *entry = (UA_PublishResponseEntry *) - UA_malloc(sizeof(UA_PublishResponseEntry)); - if(!entry) { - sendServiceFault(session->header.channel, requestId, - request->requestHeader.requestHandle, - UA_STATUSCODE_BADOUTOFMEMORY); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Prepare the response */ - entry->requestId = requestId; - UA_PublishResponse *response = &entry->response; - UA_PublishResponse_init(response); - response->responseHeader.requestHandle = request->requestHeader.requestHandle; - - /* Allocate the results array to acknowledge the acknowledge */ - if(request->subscriptionAcknowledgementsSize > 0) { - response->results = (UA_StatusCode *) - UA_Array_new(request->subscriptionAcknowledgementsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!response->results) { - UA_free(entry); - sendServiceFault(session->header.channel, requestId, - request->requestHeader.requestHandle, - UA_STATUSCODE_BADOUTOFMEMORY); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - response->resultsSize = request->subscriptionAcknowledgementsSize; - } - - /* <--- A good StatusCode is returned from here on ---> */ - - /* Delete Acknowledged Subscription Messages */ - for(size_t i = 0; i < request->subscriptionAcknowledgementsSize; ++i) { - UA_SubscriptionAcknowledgement *ack = &request->subscriptionAcknowledgements[i]; - UA_Subscription *sub = UA_Session_getSubscriptionById(session, ack->subscriptionId); - if(!sub) { - response->results[i] = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Cannot process acknowledgements subscription %u" PRIu32, - ack->subscriptionId); - continue; - } - /* Remove the acked transmission from the retransmission queue */ - response->results[i] = - UA_Subscription_removeRetransmissionMessage(sub, ack->sequenceNumber); - } - - /* Set the maxTime if a timeout hint is defined */ - entry->maxTime = UA_INT64_MAX; - if(request->requestHeader.timeoutHint > 0) { - UA_EventLoop *el = server->config.eventLoop; - entry->maxTime = el->dateTime_nowMonotonic(el) + - (request->requestHeader.timeoutHint * UA_DATETIME_MSEC); - } - - /* Queue the publish response. It will be dequeued in a repeated publish - * callback. This can also be triggered right now for a late - * subscription. */ - UA_Session_queuePublishReq(session, entry, false); - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Queued a publication message"); - - /* If there are late subscriptions, the new publish request is used to - * answer them immediately. Late subscriptions with higher priority are - * considered earlier. However, a single subscription that generates many - * notifications must not "starve" other late subscriptions. Hence we move - * it to the end of the queue for the subscriptions of that priority. */ - UA_Subscription *late, *late_tmp; - TAILQ_FOREACH_SAFE(late, &session->subscriptions, sessionListEntry, late_tmp) { - /* Skip non-late subscriptions */ - if(!late->late) - continue; - - /* Call publish on the late subscription */ - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, late, - "Send PublishResponse on a late subscription"); - UA_Subscription_publish(server, late); - - /* Skip re-insert if the subscription was deleted or deactivated during - * _publish */ - if(late->state >= UA_SUBSCRIPTIONSTATE_ENABLED_NOPUBLISH) { - /* Find the first element with smaller priority and insert before - * that. If there is none, insert at the end of the queue. */ - UA_Subscription *after = TAILQ_NEXT(late, sessionListEntry); - while(after && after->priority >= late->priority) - after = TAILQ_NEXT(after, sessionListEntry); - TAILQ_REMOVE(&session->subscriptions, late, sessionListEntry); - if(after) - TAILQ_INSERT_BEFORE(after, late, sessionListEntry); - else - TAILQ_INSERT_TAIL(&session->subscriptions, late, sessionListEntry); - } - - /* Responses left in the queue? */ - if(session->responseQueueSize == 0) - break; - } - - return UA_STATUSCODE_GOOD; -} - -static void -Operation_DeleteSubscription(UA_Server *server, UA_Session *session, void *_, - const UA_UInt32 *subscriptionId, UA_StatusCode *result) { - UA_Subscription *sub = UA_Session_getSubscriptionById(session, *subscriptionId); - if(!sub) { - *result = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Deleting Subscription with Id %" PRIu32 - " failed with error code %s", - *subscriptionId, UA_StatusCode_name(*result)); - return; - } - - UA_Subscription_delete(server, sub); - *result = UA_STATUSCODE_GOOD; - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Subscription %" PRIu32 " | Subscription deleted", - *subscriptionId); -} - -void -Service_DeleteSubscriptions(UA_Server *server, UA_Session *session, - const UA_DeleteSubscriptionsRequest *request, - UA_DeleteSubscriptionsResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing DeleteSubscriptionsRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_DeleteSubscription, NULL, - &request->subscriptionIdsSize, &UA_TYPES[UA_TYPES_UINT32], - &response->resultsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -void -Service_Republish(UA_Server *server, UA_Session *session, - const UA_RepublishRequest *request, - UA_RepublishResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing RepublishRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Get the subscription */ - UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Reset the lifetime counter */ - Subscription_resetLifetime(sub); - - /* Update the subscription statistics */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->republishRequestCount++; -#endif - - /* Find the notification in the retransmission queue */ - UA_NotificationMessageEntry *entry; - TAILQ_FOREACH(entry, &sub->retransmissionQueue, listEntry) { - if(entry->message.sequenceNumber == request->retransmitSequenceNumber) - break; - } - if(!entry) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADMESSAGENOTAVAILABLE; - return; - } - - response->responseHeader.serviceResult = - UA_NotificationMessage_copy(&entry->message, &response->notificationMessage); - - /* Update the subscription statistics for the case where we return a message */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->republishMessageCount++; -#endif -} - -static UA_StatusCode -setTransferredSequenceNumbers(const UA_Subscription *sub, UA_TransferResult *result) { - /* Allocate memory */ - result->availableSequenceNumbers = (UA_UInt32*) - UA_Array_new(sub->retransmissionQueueSize, &UA_TYPES[UA_TYPES_UINT32]); - if(!result->availableSequenceNumbers) - return UA_STATUSCODE_BADOUTOFMEMORY; - result->availableSequenceNumbersSize = sub->retransmissionQueueSize; - - /* Copy over the sequence numbers */ - UA_NotificationMessageEntry *entry; - size_t i = 0; - TAILQ_FOREACH(entry, &sub->retransmissionQueue, listEntry) { - result->availableSequenceNumbers[i] = entry->message.sequenceNumber; - i++; - } - - UA_assert(i == result->availableSequenceNumbersSize); - - return UA_STATUSCODE_GOOD; -} - -static void -Operation_TransferSubscription(UA_Server *server, UA_Session *session, - const UA_Boolean *sendInitialValues, - const UA_UInt32 *subscriptionId, - UA_TransferResult *result) { - /* Get the subscription. This requires a server-wide lookup instead of the - * usual session-wide lookup. */ - UA_Subscription *sub = getSubscriptionById(server, *subscriptionId); - if(!sub) { - result->statusCode = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Update the diagnostics statistics */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->transferRequestCount++; -#endif - - /* Is this the same session? Return the sequence numbers and do nothing else. */ - UA_Session *oldSession = sub->session; - if(oldSession == session) { - result->statusCode = setTransferredSequenceNumbers(sub, result); -#ifdef UA_ENABLE_DIAGNOSTICS - sub->transferredToSameClientCount++; -#endif - return; - } - - /* Check with AccessControl if the transfer is allowed */ - if(server->config.accessControl.allowTransferSubscription) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(!server->config.accessControl. - allowTransferSubscription(server, &server->config.accessControl, - oldSession ? &oldSession->sessionId : NULL, - oldSession ? oldSession->sessionHandle : NULL, - &session->sessionId, session->sessionHandle)) { - result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - } else { - result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - - /* Check limits for the number of subscriptions for this Session */ - if((server->config.maxSubscriptionsPerSession != 0) && - (session->subscriptionsSize >= server->config.maxSubscriptionsPerSession)) { - result->statusCode = UA_STATUSCODE_BADTOOMANYSUBSCRIPTIONS; - return; - } - - /* Allocate memory for the new subscription */ - UA_Subscription *newSub = (UA_Subscription*)UA_malloc(sizeof(UA_Subscription)); - if(!newSub) { - result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - /* Set the available sequence numbers */ - result->statusCode = setTransferredSequenceNumbers(sub, result); - if(result->statusCode != UA_STATUSCODE_GOOD) { - UA_free(newSub); - return; - } - - /* Create an identical copy of the Subscription struct. The original - * subscription remains in place until a StatusChange notification has been - * sent. The elements for lists and queues are moved over manually to ensure - * that all backpointers are set correctly. */ - memcpy(newSub, sub, sizeof(UA_Subscription)); - - /* Set to the same state as the original subscription */ - newSub->publishCallbackId = 0; - result->statusCode = Subscription_setState(server, newSub, sub->state); - if(result->statusCode != UA_STATUSCODE_GOOD) { - UA_Array_delete(result->availableSequenceNumbers, - sub->retransmissionQueueSize, &UA_TYPES[UA_TYPES_UINT32]); - result->availableSequenceNumbers = NULL; - result->availableSequenceNumbersSize = 0; - UA_free(newSub); - return; - } - - /* <-- The point of no return --> */ - - /* Move over the MonitoredItems and adjust the backpointers */ - LIST_INIT(&newSub->monitoredItems); - UA_MonitoredItem *mon, *mon_tmp; - LIST_FOREACH_SAFE(mon, &sub->monitoredItems, listEntry, mon_tmp) { - LIST_REMOVE(mon, listEntry); - mon->subscription = newSub; - LIST_INSERT_HEAD(&newSub->monitoredItems, mon, listEntry); - } - sub->monitoredItemsSize = 0; - - /* Move over the notification queue */ - TAILQ_INIT(&newSub->notificationQueue); - UA_Notification *nn, *nn_tmp; - TAILQ_FOREACH_SAFE(nn, &sub->notificationQueue, globalEntry, nn_tmp) { - TAILQ_REMOVE(&sub->notificationQueue, nn, globalEntry); - TAILQ_INSERT_TAIL(&newSub->notificationQueue, nn, globalEntry); - } - sub->notificationQueueSize = 0; - sub->dataChangeNotifications = 0; - sub->eventNotifications = 0; - - TAILQ_INIT(&newSub->retransmissionQueue); - UA_NotificationMessageEntry *nme, *nme_tmp; - TAILQ_FOREACH_SAFE(nme, &sub->retransmissionQueue, listEntry, nme_tmp) { - TAILQ_REMOVE(&sub->retransmissionQueue, nme, listEntry); - TAILQ_INSERT_TAIL(&newSub->retransmissionQueue, nme, listEntry); - if(oldSession) - oldSession->totalRetransmissionQueueSize -= 1; - sub->retransmissionQueueSize -= 1; - } - UA_assert(sub->retransmissionQueueSize == 0); - sub->retransmissionQueueSize = 0; - - /* Add to the server */ - UA_assert(newSub->subscriptionId == sub->subscriptionId); - LIST_INSERT_HEAD(&server->subscriptions, newSub, serverListEntry); - server->subscriptionsSize++; - - /* Attach to the session */ - UA_Session_attachSubscription(session, newSub); - - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, newSub, "Transferred to this Session"); - - /* Set StatusChange in the original subscription and force publish. This - * also removes the Subscription, even if there was no PublishResponse - * queued to send a StatusChangeNotification. */ - sub->statusChange = UA_STATUSCODE_GOODSUBSCRIPTIONTRANSFERRED; - UA_Subscription_publish(server, sub); - - /* Re-create notifications with the current values for the new subscription */ - if(*sendInitialValues) - UA_Subscription_resendData(server, newSub); - - /* Do not update the statistics for the number of Subscriptions here. The - * fact that we duplicate the subscription and move over the content is just - * an implementtion detail. - * server->serverDiagnosticsSummary.currentSubscriptionCount++; - * server->serverDiagnosticsSummary.cumulatedSubscriptionCount++; - * - * Update the diagnostics statistics: */ -#ifdef UA_ENABLE_DIAGNOSTICS - if(oldSession && - UA_equal(&oldSession->clientDescription, &session->clientDescription, - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION])) - sub->transferredToSameClientCount++; - else - sub->transferredToAltClientCount++; -#endif -} - -void Service_TransferSubscriptions(UA_Server *server, UA_Session *session, - const UA_TransferSubscriptionsRequest *request, - UA_TransferSubscriptionsResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing TransferSubscriptionsRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_TransferSubscription, - &request->sendInitialValues, - &request->subscriptionIdsSize, &UA_TYPES[UA_TYPES_UINT32], - &response->resultsSize, &UA_TYPES[UA_TYPES_TRANSFERRESULT]); -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -/**** amalgamated original file "/src/server/ua_services_monitoreditem.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2016-2017 (c) Florian Palm - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2017 (c) Mattias Bornhager - * Copyright 2017 (c) Henrik Norrman - * Copyright 2017-2023 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Fabian Arndt, Root-Core - * Copyright 2020 (c) Kalycito Infotech Private Limited - * Copyright 2021 (c) Uranik, Berisha - * Copyright 2021 (c) Ammar, Morshed - * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ - -#ifdef UA_ENABLE_DA - -/* Translate a percentage deadband into an absolute deadband based on the - * UARange property of the variable */ -static UA_StatusCode -setAbsoluteFromPercentageDeadband(UA_Server *server, UA_Session *session, - const UA_MonitoredItem *mon, UA_DataChangeFilter *filter) { - /* A valid deadband? */ - if(filter->deadbandValue < 0.0 || filter->deadbandValue > 100.0) - return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; - - /* Browse for the percent range */ - UA_QualifiedName qn = UA_QUALIFIEDNAME(0, "EURange"); - UA_BrowsePathResult bpr = - browseSimplifiedBrowsePath(server, mon->itemToMonitor.nodeId, 1, &qn); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - UA_BrowsePathResult_clear(&bpr); - return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; - } - - /* Read the range */ - UA_ReadValueId rvi; - UA_ReadValueId_init(&rvi); - rvi.nodeId = bpr.targets->targetId.nodeId; - rvi.attributeId = UA_ATTRIBUTEID_VALUE; - UA_DataValue rangeVal = readWithSession(server, session, &rvi, - UA_TIMESTAMPSTORETURN_NEITHER); - UA_BrowsePathResult_clear(&bpr); - if(!UA_Variant_isScalar(&rangeVal.value) || - rangeVal.value.type != &UA_TYPES[UA_TYPES_RANGE]) { - UA_DataValue_clear(&rangeVal); - return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; - } - - /* Compute the abs deadband */ - UA_Range *euRange = (UA_Range*)rangeVal.value.data; - UA_Double absDeadband = (filter->deadbandValue/100.0) * (euRange->high - euRange->low); - - UA_DataValue_clear(&rangeVal); - - /* EURange invalid or NaN? */ - if(absDeadband < 0.0 || absDeadband != absDeadband) { - UA_DataValue_clear(&rangeVal); - return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; - } - - /* Adjust the original filter */ - filter->deadbandType = UA_DEADBANDTYPE_ABSOLUTE; - filter->deadbandValue = absDeadband; - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_DA */ - -void -Service_SetTriggering(UA_Server *server, UA_Session *session, - const UA_SetTriggeringRequest *request, - UA_SetTriggeringResponse *response) { - /* Nothing to do? */ - if(request->linksToRemoveSize == 0 && - request->linksToAddSize == 0) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO; - return; - } - - /* Get the Subscription */ - UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Reset the lifetime counter of the Subscription */ - Subscription_resetLifetime(sub); - - /* Get the MonitoredItem */ - UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(sub, request->triggeringItemId); - if(!mon) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - return; - } - - /* Allocate the results arrays */ - if(request->linksToRemoveSize > 0) { - response->removeResults = (UA_StatusCode*) - UA_Array_new(request->linksToRemoveSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!response->removeResults) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - response->removeResultsSize = request->linksToRemoveSize; - } - - if(request->linksToAddSize> 0) { - response->addResults = (UA_StatusCode*) - UA_Array_new(request->linksToAddSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!response->addResults) { - UA_Array_delete(response->removeResults, - request->linksToAddSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - response->removeResults = NULL; - response->removeResultsSize = 0; - response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - response->addResultsSize = request->linksToAddSize; - } - - /* Apply the changes */ - for(size_t i = 0; i < request->linksToRemoveSize; i++) - response->removeResults[i] = - UA_MonitoredItem_removeLink(sub, mon, request->linksToRemove[i]); - - for(size_t i = 0; i < request->linksToAddSize; i++) - response->addResults[i] = - UA_MonitoredItem_addLink(sub, mon, request->linksToAdd[i]); -} - -/* Verify and adjust the parameters of a MonitoredItem */ -static UA_StatusCode -checkAdjustMonitoredItemParams(UA_Server *server, UA_Session *session, - const UA_MonitoredItem *mon, - const UA_DataType* valueType, - UA_MonitoringParameters *params) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Check the filter */ - if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) { - /* Event MonitoredItems need a filter */ -#ifndef UA_ENABLE_SUBSCRIPTIONS_EVENTS - return UA_STATUSCODE_BADNOTSUPPORTED; -#else - if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED && - params->filter.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) - return UA_STATUSCODE_BADEVENTFILTERINVALID; - if(params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) - return UA_STATUSCODE_BADEVENTFILTERINVALID; -#endif - } else { - /* DataChange MonitoredItem. Can be "no filter" which defaults to - * triggering on Status and Value. */ - if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED && - params->filter.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE && - params->filter.encoding != UA_EXTENSIONOBJECT_ENCODED_NOBODY) - return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; - - /* If the filter ExtensionObject has a body, then it must be a - * DataChangeFilter */ - if(params->filter.encoding != UA_EXTENSIONOBJECT_ENCODED_NOBODY && - params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) - return UA_STATUSCODE_BADFILTERNOTALLOWED; - - /* Check the deadband and adjust if necessary. */ - if(params->filter.content.decoded.type == &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) { - UA_DataChangeFilter *filter = (UA_DataChangeFilter *) - params->filter.content.decoded.data; - switch(filter->deadbandType) { - case UA_DEADBANDTYPE_NONE: - break; - case UA_DEADBANDTYPE_ABSOLUTE: - if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE || - !valueType || !UA_DataType_isNumeric(valueType)) - return UA_STATUSCODE_BADFILTERNOTALLOWED; - break; -#ifdef UA_ENABLE_DA - case UA_DEADBANDTYPE_PERCENT: { - if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE || - !valueType || !UA_DataType_isNumeric(valueType)) - return UA_STATUSCODE_BADFILTERNOTALLOWED; - /* If percentage deadband is supported, look up the range values - * and precompute as if it was an absolute deadband. */ - UA_StatusCode res = - setAbsoluteFromPercentageDeadband(server, session, mon, filter); - if(res != UA_STATUSCODE_GOOD) - return res; - break; - } -#endif - default: - return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED; - } - } - } - - /* Read the minimum sampling interval for the variable. The sampling - * interval of the MonitoredItem must not be less than that. */ - if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_VALUE) { - const UA_Node *node = UA_NODESTORE_GET(server, &mon->itemToMonitor.nodeId); - if(node) { - const UA_VariableNode *vn = &node->variableNode; - if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { - /* Take into account if the publishing interval is used for sampling */ - UA_Double samplingInterval = params->samplingInterval; - if(samplingInterval < 0 && mon->subscription) - samplingInterval = mon->subscription->publishingInterval; - /* Adjust if smaller than the allowed minimum for the variable */ - if(samplingInterval < vn->minimumSamplingInterval) - params->samplingInterval = vn->minimumSamplingInterval; - } - UA_NODESTORE_RELEASE(server, node); - } - } - - - /* A negative number indicates that the sampling interval is the publishing - * interval of the Subscription. Note that the sampling interval selected - * here remains also when the Subscription's publish interval is adjusted - * afterwards. */ - if(mon->subscription && params->samplingInterval < 0.0) - params->samplingInterval = mon->subscription->publishingInterval; - - /* Adjust non-null sampling interval to lie within the configured limits */ - if(params->samplingInterval != 0.0) { - UA_BOUNDEDVALUE_SETWBOUNDS(server->config.samplingIntervalLimits, - params->samplingInterval, params->samplingInterval); - /* Check for NaN */ - if(mon->parameters.samplingInterval != mon->parameters.samplingInterval) - params->samplingInterval = server->config.samplingIntervalLimits.min; - } - - /* Adjust the maximum queue size */ -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) { - /* 0 => Set to the configured maximum. Otherwise adjust with configured limits */ - if(params->queueSize == 0) { - params->queueSize = server->config.queueSizeLimits.max; - } else { - UA_BOUNDEDVALUE_SETWBOUNDS(server->config.queueSizeLimits, - params->queueSize, params->queueSize); - } - } else -#endif - { - /* 0 or 1 => queue-size 1. Otherwise adjust with configured limits */ - if(params->queueSize == 0) - params->queueSize = 1; - if(params->queueSize != 1) - UA_BOUNDEDVALUE_SETWBOUNDS(server->config.queueSizeLimits, - params->queueSize, params->queueSize); - } - - return UA_STATUSCODE_GOOD; -} - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS -static UA_StatusCode -checkEventFilterParam(UA_Server *server, UA_Session *session, - const UA_MonitoredItem *mon, - UA_MonitoringParameters *params, - UA_MonitoredItemCreateResult *result) { - /* Is an Event MonitoredItem? */ - if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER) - return UA_STATUSCODE_GOOD; - - /* Correct data type? */ - if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED && - params->filter.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) - return UA_STATUSCODE_BADEVENTFILTERINVALID; - if(params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) - return UA_STATUSCODE_BADEVENTFILTERINVALID; - - UA_EventFilter *eventFilter = (UA_EventFilter *)params->filter.content.decoded.data; - - /* Correct number of elements? */ - if(eventFilter->selectClausesSize == 0 || - eventFilter->selectClausesSize > UA_EVENTFILTER_MAXSELECT) - return UA_STATUSCODE_BADEVENTFILTERINVALID; - - /* Allow empty where clauses --> select every event */ - if(eventFilter->whereClause.elementsSize > UA_EVENTFILTER_MAXELEMENTS) - return UA_STATUSCODE_BADEVENTFILTERINVALID; - - /* Check where-clause */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - const UA_ContentFilter *cf = &eventFilter->whereClause; - UA_ContentFilterElementResult whereRes[UA_EVENTFILTER_MAXELEMENTS]; - for(size_t i = 0; i < cf->elementsSize; ++i) { - UA_ContentFilterElement *ef = &cf->elements[i]; - whereRes[i] = UA_ContentFilterElementValidation(server, i, cf->elementsSize, ef); - if(whereRes[i].statusCode != UA_STATUSCODE_GOOD && res == UA_STATUSCODE_GOOD) - res = whereRes[i].statusCode; - } - - /* Check select clause */ - UA_StatusCode selectRes[UA_EVENTFILTER_MAXSELECT]; - for(size_t i = 0; i < eventFilter->selectClausesSize; i++) { - const UA_SimpleAttributeOperand *sao = &eventFilter->selectClauses[i]; - selectRes[i] = UA_SimpleAttributeOperandValidation(server, sao); - if(selectRes[i] != UA_STATUSCODE_GOOD && res == UA_STATUSCODE_GOOD) - res = selectRes[i]; - } - - /* Filter bad, return details */ - if(res != UA_STATUSCODE_GOOD) { - UA_EventFilterResult *efr = UA_EventFilterResult_new(); - if(!efr) { - res = UA_STATUSCODE_BADOUTOFMEMORY; - } else { - UA_EventFilterResult tmp_efr; - UA_EventFilterResult_init(&tmp_efr); - tmp_efr.selectClauseResultsSize = eventFilter->selectClausesSize; - tmp_efr.selectClauseResults = selectRes; - tmp_efr.whereClauseResult.elementResultsSize = cf->elementsSize; - tmp_efr.whereClauseResult.elementResults = whereRes; - UA_EventFilterResult_copy(&tmp_efr, efr); - UA_ExtensionObject_setValue(&result->filterResult, efr, - &UA_TYPES[UA_TYPES_EVENTFILTERRESULT]); - } - } - - for(size_t i = 0; i < cf->elementsSize; ++i) - UA_ContentFilterElementResult_clear(&whereRes[i]); - return res; -} -#endif - -static const UA_String -binaryEncoding = {sizeof("Default Binary") - 1, (UA_Byte *)"Default Binary"}; - -/* Structure to pass additional arguments into the operation */ -struct createMonContext { - UA_Subscription *sub; - UA_TimestampsToReturn timestampsToReturn; - - /* If sub is NULL, use local callbacks */ - UA_Server_DataChangeNotificationCallback dataChangeCallback; - void *context; -}; - -static void -Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, - struct createMonContext *cmc, - const UA_MonitoredItemCreateRequest *request, - UA_MonitoredItemCreateResult *result) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Check available capacity */ - if(cmc->sub && - (((server->config.maxMonitoredItems != 0) && - (server->monitoredItemsSize >= server->config.maxMonitoredItems)) || - ((server->config.maxMonitoredItemsPerSubscription != 0) && - (cmc->sub->monitoredItemsSize >= server->config.maxMonitoredItemsPerSubscription)))) { - result->statusCode = UA_STATUSCODE_BADTOOMANYMONITOREDITEMS; - return; - } - - /* Check if the encoding is supported */ - if(request->itemToMonitor.dataEncoding.name.length > 0 && - (!UA_String_equal(&binaryEncoding, &request->itemToMonitor.dataEncoding.name) || - request->itemToMonitor.dataEncoding.namespaceIndex != 0)) { - result->statusCode = UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED; - return; - } - - /* Check if the encoding is set for a value */ - if(request->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE && - request->itemToMonitor.dataEncoding.name.length > 0) { - result->statusCode = UA_STATUSCODE_BADDATAENCODINGINVALID; - return; - } - - /* Make an example read to check the itemToMonitor. The DataSource itself - * could return a (temporary) error. This should still result in a valid - * MonitoredItem. Only a few StatusCodes are considered unrecoverable and - * lead to an abort: - * - The Node does not exist - * - The AttributeId does not match the NodeClass - * - The Session does not have sufficient access rights - * - The indicated encoding is not supported or not valid */ - UA_DataValue v = readWithSession(server, session, &request->itemToMonitor, - cmc->timestampsToReturn); - if(v.hasStatus && - (v.status == UA_STATUSCODE_BADNODEIDUNKNOWN || - v.status == UA_STATUSCODE_BADATTRIBUTEIDINVALID || - v.status == UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED || - v.status == UA_STATUSCODE_BADDATAENCODINGINVALID || - v.status == UA_STATUSCODE_BADINDEXRANGEINVALID - /* Part 4, 5.12.2 CreateMonitoredItems: When a user adds a monitored - * item that the user is denied read access to, the add operation for - * the item shall succeed and the bad status Bad_NotReadable or - * Bad_UserAccessDenied shall be returned in the Publish response. - * v.status == UA_STATUSCODE_BADNOTREADABLE - * v.status == UA_STATUSCODE_BADUSERACCESSDENIED - * - * The IndexRange error can change depending on the value. - * v.status == UA_STATUSCODE_BADINDEXRANGENODATA */ - )) { - result->statusCode = v.status; - UA_DataValue_clear(&v); - return; - } - - /* Adding an Event MonitoredItem */ -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - if(request->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) { - /* TODO: Only remote clients can add Event-MonitoredItems at the moment */ - if(!cmc->sub) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Only remote clients can add Event-MonitoredItems"); - result->statusCode = UA_STATUSCODE_BADNOTSUPPORTED; - UA_DataValue_clear(&v); - return; - } - - /* If the 'SubscribeToEvents' bit of EventNotifier attribute is - * zero, then the object cannot be subscribed to monitor events */ - if(!v.hasValue || !v.value.data) { - result->statusCode = UA_STATUSCODE_BADINTERNALERROR; - UA_DataValue_clear(&v); - return; - } - UA_Byte eventNotifierValue = *((UA_Byte *)v.value.data); - if((eventNotifierValue & 0x01) != 1) { - result->statusCode = UA_STATUSCODE_BADNOTSUPPORTED; - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, cmc->sub, - "Could not create a MonitoredItem as the " - "'SubscribeToEvents' bit of the EventNotifier " - "attribute is not set"); - UA_DataValue_clear(&v); - return; - } - } -#endif - - const UA_DataType *valueType = v.value.type; - UA_DataValue_clear(&v); - - /* Allocate the MonitoredItem */ - UA_MonitoredItem *newMon = NULL; - if(cmc->sub) { - newMon = (UA_MonitoredItem*)UA_malloc(sizeof(UA_MonitoredItem)); - } else { - UA_LocalMonitoredItem *localMon = (UA_LocalMonitoredItem*) - UA_malloc(sizeof(UA_LocalMonitoredItem)); - if(localMon) { - /* Set special values only for the LocalMonitoredItem */ - localMon->context = cmc->context; - localMon->callback.dataChangeCallback = cmc->dataChangeCallback; - } - newMon = &localMon->monitoredItem; - } - if(!newMon) { - result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - return; - } - - /* Initialize the MonitoredItem */ - UA_MonitoredItem_init(newMon); - newMon->subscription = cmc->sub; /* Can be NULL for local MonitoredItems */ - newMon->timestampsToReturn = cmc->timestampsToReturn; - result->statusCode |= UA_ReadValueId_copy(&request->itemToMonitor, - &newMon->itemToMonitor); - result->statusCode |= UA_MonitoringParameters_copy(&request->requestedParameters, - &newMon->parameters); - result->statusCode |= checkAdjustMonitoredItemParams(server, session, newMon, - valueType, &newMon->parameters); -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - result->statusCode |= checkEventFilterParam(server, session, newMon, - &newMon->parameters, result); -#endif - if(result->statusCode != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, cmc->sub, - "Could not create a MonitoredItem " - "with StatusCode %s", - UA_StatusCode_name(result->statusCode)); - UA_MonitoredItem_delete(server, newMon); - return; - } - - /* Initialize the value status so the first sample always passes the filter */ - newMon->lastValue.hasStatus = true; - newMon->lastValue.status = ~(UA_StatusCode)0; - - /* Register the Monitoreditem in the server and subscription */ - UA_Server_registerMonitoredItem(server, newMon); - - /* Activate the MonitoredItem */ - result->statusCode |= - UA_MonitoredItem_setMonitoringMode(server, newMon, request->monitoringMode); - if(result->statusCode != UA_STATUSCODE_GOOD) { - UA_MonitoredItem_delete(server, newMon); - return; - } - - /* Prepare the response */ - result->revisedSamplingInterval = newMon->parameters.samplingInterval; - result->revisedQueueSize = newMon->parameters.queueSize; - result->monitoredItemId = newMon->monitoredItemId; - - /* If the sampling interval is negative (the sampling callback is called - * from within the publishing callback), return the publishing interval of - * the Subscription. Note that we only use the cyclic callback of the - * Subscription. So if the Subscription publishing interval is modified, - * this also impacts this MonitoredItem. */ - if(result->revisedSamplingInterval < 0.0 && cmc->sub) - result->revisedSamplingInterval = cmc->sub->publishingInterval; - - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, cmc->sub, - "MonitoredItem %" PRIi32 " | " - "Created the MonitoredItem " - "(Sampling Interval: %.2fms, Queue Size: %lu)", - newMon->monitoredItemId, - newMon->parameters.samplingInterval, - (unsigned long)newMon->parameters.queueSize); -} - -void -Service_CreateMonitoredItems(UA_Server *server, UA_Session *session, - const UA_CreateMonitoredItemsRequest *request, - UA_CreateMonitoredItemsResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing CreateMonitoredItemsRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxMonitoredItemsPerCall != 0 && - request->itemsToCreateSize > server->config.maxMonitoredItemsPerCall) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - /* Check if the timestampstoreturn is valid */ - struct createMonContext cmc; - cmc.timestampsToReturn = request->timestampsToReturn; - if(cmc.timestampsToReturn > UA_TIMESTAMPSTORETURN_NEITHER) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID; - return; - } - - /* Find the subscription */ - cmc.sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!cmc.sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Reset the lifetime counter of the Subscription */ - Subscription_resetLifetime(cmc.sub); - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_CreateMonitoredItem, - &cmc, &request->itemsToCreateSize, - &UA_TYPES[UA_TYPES_MONITOREDITEMCREATEREQUEST], - &response->resultsSize, - &UA_TYPES[UA_TYPES_MONITOREDITEMCREATERESULT]); -} - -UA_MonitoredItemCreateResult -UA_Server_createDataChangeMonitoredItem(UA_Server *server, - UA_TimestampsToReturn timestampsToReturn, - const UA_MonitoredItemCreateRequest item, - void *monitoredItemContext, - UA_Server_DataChangeNotificationCallback callback) { - struct createMonContext cmc; - cmc.sub = NULL; - cmc.context = monitoredItemContext; - cmc.dataChangeCallback = callback; - cmc.timestampsToReturn = timestampsToReturn; - - UA_MonitoredItemCreateResult result; - UA_MonitoredItemCreateResult_init(&result); - lockServer(server); - Operation_CreateMonitoredItem(server, &server->adminSession, &cmc, &item, &result); - unlockServer(server); - return result; -} - -static void -Operation_ModifyMonitoredItem(UA_Server *server, UA_Session *session, UA_Subscription *sub, - const UA_MonitoredItemModifyRequest *request, - UA_MonitoredItemModifyResult *result) { - /* Get the MonitoredItem */ - UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(sub, request->monitoredItemId); - if(!mon) { - result->statusCode = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - return; - } - - /* Make local copy of the settings */ - UA_MonitoringParameters params; - result->statusCode = - UA_MonitoringParameters_copy(&request->requestedParameters, ¶ms); - if(result->statusCode != UA_STATUSCODE_GOOD) - return; - - /* Read the current value to test if filters are possible. - * Can return an empty value (v.value.type == NULL). */ - UA_DataValue v = readWithSession(server, session, &mon->itemToMonitor, - mon->timestampsToReturn); - - /* Verify and adjust the new parameters. This still leaves the original - * MonitoredItem untouched. */ - result->statusCode = - checkAdjustMonitoredItemParams(server, session, mon, - v.value.type, ¶ms); - UA_DataValue_clear(&v); - if(result->statusCode != UA_STATUSCODE_GOOD) { - UA_MonitoringParameters_clear(¶ms); - return; - } - - /* Store the old sampling interval */ - UA_Double oldSamplingInterval = mon->parameters.samplingInterval; - - /* Move over the new settings */ - UA_MonitoringParameters_clear(&mon->parameters); - mon->parameters = params; - - /* Re-register the callback if necessary */ - if(oldSamplingInterval != mon->parameters.samplingInterval) { - UA_MonitoredItem_unregisterSampling(server, mon); - result->statusCode = - UA_MonitoredItem_setMonitoringMode(server, mon, mon->monitoringMode); - } - - result->revisedSamplingInterval = mon->parameters.samplingInterval; - result->revisedQueueSize = mon->parameters.queueSize; - - /* If the sampling interval is negative (the sampling callback is called - * from within the publishing callback), return the publishing interval of - * the Subscription. Note that we only use the cyclic callback of the - * Subscription. So if the Subscription publishing interval is modified, - * this also impacts this MonitoredItem. */ - if(result->revisedSamplingInterval < 0.0 && mon->subscription) - result->revisedSamplingInterval = mon->subscription->publishingInterval; - - /* Remove some notifications if the queue is now too small */ - UA_MonitoredItem_ensureQueueSpace(server, mon); - - /* Remove the overflow bits if the queue has now a size of 1 */ - UA_MonitoredItem_removeOverflowInfoBits(mon); - - /* If the sampling interval is negative (the sampling callback is called - * from within the publishing callback), return the publishing interval of - * the Subscription. Note that we only use the cyclic callback of the - * Subscription. So if the Subscription publishing interval is modified, - * this also impacts this MonitoredItem. */ - if(result->revisedSamplingInterval < 0.0 && mon->subscription) - result->revisedSamplingInterval = mon->subscription->publishingInterval; - - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, - "MonitoredItem %" PRIi32 " | " - "Modified the MonitoredItem " - "(Sampling Interval: %fms, Queue Size: %lu)", - mon->monitoredItemId, - mon->parameters.samplingInterval, - (unsigned long)mon->queueSize); -} - -void -Service_ModifyMonitoredItems(UA_Server *server, UA_Session *session, - const UA_ModifyMonitoredItemsRequest *request, - UA_ModifyMonitoredItemsResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing ModifyMonitoredItemsRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxMonitoredItemsPerCall != 0 && - request->itemsToModifySize > server->config.maxMonitoredItemsPerCall) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - /* Check if the timestampstoreturn is valid */ - if(request->timestampsToReturn > UA_TIMESTAMPSTORETURN_NEITHER) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTIMESTAMPSTORETURNINVALID; - return; - } - - /* Get the subscription */ - UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Reset the lifetime counter of the Subscription */ - Subscription_resetLifetime(sub); - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_ModifyMonitoredItem, - sub, &request->itemsToModifySize, - &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYREQUEST], - &response->resultsSize, - &UA_TYPES[UA_TYPES_MONITOREDITEMMODIFYRESULT]); -} - -struct setMonitoringContext { - UA_Subscription *sub; - UA_MonitoringMode monitoringMode; -}; - -static void -Operation_SetMonitoringMode(UA_Server *server, UA_Session *session, - struct setMonitoringContext *smc, - const UA_UInt32 *monitoredItemId, UA_StatusCode *result) { - UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(smc->sub, *monitoredItemId); - if(!mon) { - *result = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - return; - } - *result = UA_MonitoredItem_setMonitoringMode(server, mon, smc->monitoringMode); -} - -void -Service_SetMonitoringMode(UA_Server *server, UA_Session *session, - const UA_SetMonitoringModeRequest *request, - UA_SetMonitoringModeResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing SetMonitoringMode"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxMonitoredItemsPerCall != 0 && - request->monitoredItemIdsSize > server->config.maxMonitoredItemsPerCall) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - /* Get the subscription */ - struct setMonitoringContext smc; - smc.sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!smc.sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Reset the lifetime counter of the Subscription */ - Subscription_resetLifetime(smc.sub); - - smc.monitoringMode = request->monitoringMode; - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_SetMonitoringMode, - &smc, &request->monitoredItemIdsSize, - &UA_TYPES[UA_TYPES_UINT32], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -static void -Operation_DeleteMonitoredItem(UA_Server *server, UA_Session *session, UA_Subscription *sub, - const UA_UInt32 *monitoredItemId, UA_StatusCode *result) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_MonitoredItem *mon = UA_Subscription_getMonitoredItem(sub, *monitoredItemId); - if(!mon) { - *result = UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - return; - } - UA_MonitoredItem_delete(server, mon); -} - -void -Service_DeleteMonitoredItems(UA_Server *server, UA_Session *session, - const UA_DeleteMonitoredItemsRequest *request, - UA_DeleteMonitoredItemsResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing DeleteMonitoredItemsRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxMonitoredItemsPerCall != 0 && - request->monitoredItemIdsSize > server->config.maxMonitoredItemsPerCall) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - /* Get the subscription */ - UA_Subscription *sub = UA_Session_getSubscriptionById(session, request->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - /* Reset the lifetime counter of the Subscription */ - Subscription_resetLifetime(sub); - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_DeleteMonitoredItem, - sub, &request->monitoredItemIdsSize, - &UA_TYPES[UA_TYPES_UINT32], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_StatusCode -UA_Server_deleteMonitoredItem(UA_Server *server, UA_UInt32 monitoredItemId) { - lockServer(server); - UA_MonitoredItem *mon, *mon_tmp; - LIST_FOREACH_SAFE(mon, &server->localMonitoredItems, listEntry, mon_tmp) { - if(mon->monitoredItemId != monitoredItemId) - continue; - UA_MonitoredItem_delete(server, mon); - unlockServer(server); - return UA_STATUSCODE_GOOD; - } - unlockServer(server); - return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -/**** amalgamated original file "/src/server/ua_services_securechannel.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2023 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Phuong Nguyen) - */ - - -/* This contains the SecureChannel Services to be called after validation and - * decoding of the message. The main SecureChannel logic is handled in - * /src/ua_securechannel.* and /src/server/ua_server_binary.c. */ - -void -Service_OpenSecureChannel(UA_Server *server, UA_SecureChannel *channel, - UA_OpenSecureChannelRequest *request, - UA_OpenSecureChannelResponse *response) { - const UA_SecurityPolicy *sp = channel->securityPolicy; - - switch(request->requestType) { - /* Open the channel */ - case UA_SECURITYTOKENREQUESTTYPE_ISSUE: - /* We must expect an OPN handshake */ - if(channel->state != UA_SECURECHANNELSTATE_ACK_SENT) { - UA_LOG_ERROR_CHANNEL(server->config.logging, channel, - "Called open on already open or closed channel"); - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - goto error; - } - - /* Set the SecurityMode */ - if(request->securityMode != UA_MESSAGESECURITYMODE_NONE && - UA_ByteString_equal(&sp->policyUri, &UA_SECURITY_POLICY_NONE_URI)) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSECURITYMODEREJECTED; - goto error; - } - channel->securityMode = request->securityMode; - break; - - /* Renew the channel */ - case UA_SECURITYTOKENREQUESTTYPE_RENEW: - /* The channel must be open to be renewed */ - if(channel->state != UA_SECURECHANNELSTATE_OPEN) { - UA_LOG_ERROR_CHANNEL(server->config.logging, channel, - "Called renew on channel which is not open"); - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - goto error; - } - - /* Check whether the nonce was reused */ - if(channel->securityMode != UA_MESSAGESECURITYMODE_NONE && - UA_ByteString_equal(&channel->remoteNonce, &request->clientNonce)) { - UA_LOG_ERROR_CHANNEL(server->config.logging, channel, - "The client reused the last nonce"); - response->responseHeader.serviceResult = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - break; - - /* Unknown request type */ - default: - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* Create a new SecurityToken. It will be switched over when the first - * message is received. The ChannelId is left unchanged. */ - channel->altSecurityToken.channelId = channel->securityToken.channelId; - channel->altSecurityToken.tokenId = generateSecureChannelTokenId(server); - channel->altSecurityToken.createdAt = UA_DateTime_nowMonotonic(); - channel->altSecurityToken.revisedLifetime = - (request->requestedLifetime > server->config.maxSecurityTokenLifetime) ? - server->config.maxSecurityTokenLifetime : request->requestedLifetime; - if(channel->altSecurityToken.revisedLifetime == 0) - channel->altSecurityToken.revisedLifetime = server->config.maxSecurityTokenLifetime; - - /* Set the nonces. The remote nonce will be "rotated in" when it is first used. */ - UA_ByteString_clear(&channel->remoteNonce); - channel->remoteNonce = request->clientNonce; - UA_ByteString_init(&request->clientNonce); - - response->responseHeader.serviceResult = UA_SecureChannel_generateLocalNonce(channel); - UA_CHECK_STATUS(response->responseHeader.serviceResult, goto error); - - /* Update the channel state */ - channel->renewState = UA_SECURECHANNELRENEWSTATE_NEWTOKEN_SERVER; - channel->state = UA_SECURECHANNELSTATE_OPEN; - - /* Set the response */ - response->securityToken = channel->altSecurityToken; - response->securityToken.createdAt = UA_DateTime_now(); /* only for sending */ - response->responseHeader.timestamp = response->securityToken.createdAt; - response->responseHeader.requestHandle = request->requestHeader.requestHandle; - response->responseHeader.serviceResult = - UA_ByteString_copy(&channel->localNonce, &response->serverNonce); - UA_CHECK_STATUS(response->responseHeader.serviceResult, goto error); - - /* Success */ - if(request->requestType == UA_SECURITYTOKENREQUESTTYPE_ISSUE) { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "SecureChannel opened with SecurityPolicy %.*s " - "and a revised lifetime of %.2fs", - (int)channel->securityPolicy->policyUri.length, - channel->securityPolicy->policyUri.data, - (UA_Float)response->securityToken.revisedLifetime / 1000); - } else { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, "SecureChannel renewed " - "with a revised lifetime of %.2fs", - (UA_Float)response->securityToken.revisedLifetime / 1000); - } - - return; - - error: - if(request->requestType == UA_SECURITYTOKENREQUESTTYPE_ISSUE) { - UA_LOG_INFO_CHANNEL(server->config.logging, channel, - "Opening a SecureChannel failed"); - } else { - UA_LOG_DEBUG_CHANNEL(server->config.logging, channel, - "Renewing SecureChannel failed"); - } -} - -/* The server does not send a CloseSecureChannel response */ -void -Service_CloseSecureChannel(UA_Server *server, UA_SecureChannel *channel) { - UA_SecureChannel_shutdown(channel, UA_SHUTDOWNREASON_CLOSE); -} - -/**** amalgamated original file "/src/server/ua_services_nodemanagement.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014-2017 (c) Florian Palm - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Julian Grothoff - * Copyright 2016 (c) LEvertz - * Copyright 2016 (c) Lorenz Haas - * Copyright 2017 (c) frax2222 - * Copyright 2017-2018 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Christian von Arnim - * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * Copyright 2017 (c) Henrik Norrman - * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) - */ - - -/*********************/ -/* Edit Node Context */ -/*********************/ - -UA_StatusCode -UA_Server_getNodeContext(UA_Server *server, UA_NodeId nodeId, - void **nodeContext) { - lockServer(server); - UA_StatusCode retval = getNodeContext(server, nodeId, nodeContext); - unlockServer(server); - return retval; -} - -UA_StatusCode -getNodeContext(UA_Server *server, UA_NodeId nodeId, - void **nodeContext) { - const UA_Node *node = UA_NODESTORE_GET(server, &nodeId); - if(!node) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - *nodeContext = node->head.context; - UA_NODESTORE_RELEASE(server, node); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setDeconstructedNode(UA_Server *server, UA_Session *session, - UA_NodeHead *head, void *context) { - head->constructed = false; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setConstructedNodeContext(UA_Server *server, UA_Session *session, - UA_NodeHead *head, void *context) { - head->context = context; - head->constructed = true; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -editNodeContext(UA_Server *server, UA_Session* session, - UA_NodeHead *head, void *context) { - head->context = context; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -setNodeContext(UA_Server *server, UA_NodeId nodeId, - void *nodeContext) { - return UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback)editNodeContext, nodeContext); -} - -UA_StatusCode -UA_Server_setNodeContext(UA_Server *server, UA_NodeId nodeId, - void *nodeContext) { - lockServer(server); - UA_StatusCode retval = setNodeContext(server, nodeId, nodeContext); - unlockServer(server); - return retval; -} - -static UA_StatusCode -checkSetIsDynamicVariable(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId); - -/**********************/ -/* Consistency Checks */ -/**********************/ - -#define UA_PARENT_REFERENCES_COUNT 2 - -const UA_NodeId parentReferences[UA_PARENT_REFERENCES_COUNT] = { - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASSUBTYPE}}, - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}} -}; - -static void -logAddNode(const UA_Logger *logger, UA_Session *session, - const UA_NodeId *nodeId, const char *msg) { - UA_LOG_NODEID_INFO(nodeId, - UA_LOG_INFO_SESSION(logger, session, "AddNode (%.*s): %s", - (int)nodeIdStr.length, nodeIdStr.data, msg)); -} - -/* Check if the requested parent node exists, has the right node class and is - * referenced with an allowed (hierarchical) reference type. For "type" nodes, - * only hasSubType references are allowed. */ -static UA_StatusCode -checkParentReference(UA_Server *server, UA_Session *session, const UA_NodeHead *head, - const UA_NodeId *parentNodeId, const UA_NodeId *referenceTypeId) { - /* Objects do not need a parent (e.g. mandatory/optional modellingrules). - * Also, there are some variables which do not have parents, e.g. - * EnumStrings, EnumValues */ - if((head->nodeClass == UA_NODECLASS_OBJECT || - head->nodeClass == UA_NODECLASS_VARIABLE) && - UA_NodeId_isNull(parentNodeId) && UA_NodeId_isNull(referenceTypeId)) - return UA_STATUSCODE_GOOD; - - /* See if the parent exists */ - const UA_Node *parent = UA_NODESTORE_GET(server, parentNodeId); - if(!parent) { - logAddNode(server->config.logging, session, &head->nodeId, - "Parent node not found"); - return UA_STATUSCODE_BADPARENTNODEIDINVALID; - } - - UA_NodeClass parentNodeClass = parent->head.nodeClass; - UA_NODESTORE_RELEASE(server, parent); - - /* Check the referencetype exists */ - const UA_Node *referenceType = UA_NODESTORE_GET(server, referenceTypeId); - if(!referenceType) { - logAddNode(server->config.logging, session, &head->nodeId, - "Reference type to the parent not found"); - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - } - - /* Check if the referencetype is a reference type node */ - if(referenceType->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { - logAddNode(server->config.logging, session, &head->nodeId, - "Reference type to the parent is not a ReferenceTypeNode"); - UA_NODESTORE_RELEASE(server, referenceType); - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - } - - /* Check that the reference type is not abstract */ - UA_Boolean referenceTypeIsAbstract = referenceType->referenceTypeNode.isAbstract; - UA_NODESTORE_RELEASE(server, referenceType); - if(referenceTypeIsAbstract == true) { - logAddNode(server->config.logging, session, &head->nodeId, - "Abstract reference type to the parent not allowed"); - return UA_STATUSCODE_BADREFERENCENOTALLOWED; - } - - /* Check hassubtype relation for type nodes */ - if(head->nodeClass == UA_NODECLASS_DATATYPE || - head->nodeClass == UA_NODECLASS_VARIABLETYPE || - head->nodeClass == UA_NODECLASS_OBJECTTYPE || - head->nodeClass == UA_NODECLASS_REFERENCETYPE) { - /* Type needs hassubtype reference to the supertype */ - if(referenceType->referenceTypeNode.referenceTypeIndex != - UA_REFERENCETYPEINDEX_HASSUBTYPE) { - logAddNode(server->config.logging, session, &head->nodeId, - "Type nodes need to have a HasSubType reference to the parent"); - return UA_STATUSCODE_BADREFERENCENOTALLOWED; - } - /* Supertype needs to be of the same node type */ - if(parentNodeClass != head->nodeClass) { - logAddNode(server->config.logging, session, &head->nodeId, - "Type nodes needs to be of the same node " - "type as their parent"); - return UA_STATUSCODE_BADPARENTNODEIDINVALID; - } - return UA_STATUSCODE_GOOD; - } - - /* Test if the referencetype is hierarchical */ - const UA_NodeId hierarchRefs = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); - if(!isNodeInTree_singleRef(server, referenceTypeId, &hierarchRefs, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) { - logAddNode(server->config.logging, session, &head->nodeId, - "Reference type to the parent is not hierarchical"); - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - } - - return UA_STATUSCODE_GOOD; -} - -/* Only BaseDataType can have empty values. Generate a default value. */ -static UA_StatusCode -setDefaultValue(UA_Server *server, const UA_VariableNode *node) { - /* Get the DataType */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - const UA_DataType *type = UA_Server_findDataType(server, &node->dataType); - if(!type) { - /* No description for the DataType found. It is possible that an - * abstract DataType is used, e.g. UInteger. Browse to see if there is a - * non-abstract subtype that can be used for the default value. - * - * Look up and downwards in the hierarchy. Some data types (e.g. - * UtcTime) are derived from a non-abstract data type. This is then used - * for the actual value, Use the first match. */ - UA_ReferenceTypeSet refs = UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); - UA_ExpandedNodeId *typeCandidates = NULL; - size_t typeCandidatesSize = 0; - res = browseRecursive(server, 1, &node->dataType, - UA_BROWSEDIRECTION_BOTH, &refs, - UA_NODECLASS_DATATYPE, false, - &typeCandidatesSize, &typeCandidates); - if(res != UA_STATUSCODE_GOOD) - return res; - - for(size_t i = 0; i < typeCandidatesSize; i++) { - /* Skip BaseDataType (Variant). This is the root of the DataType - * hierarchy. Variables of BaseDataType can be empty. */ - if(UA_NodeId_equal(&UA_TYPES[UA_TYPES_VARIANT].typeId, - &typeCandidates[i].nodeId)) - continue; - - /* Skip ExtensionObject. Even though we can encode the type it is - * abstract and nodes should not contain them as value. */ - if(UA_NodeId_equal(&UA_TYPES[UA_TYPES_EXTENSIONOBJECT].typeId, - &typeCandidates[i].nodeId)) - continue; - - /* Get the type encoding information */ - type = UA_Server_findDataType(server, &typeCandidates[i].nodeId); - if(type) - break; - } - - UA_Array_delete(typeCandidates, typeCandidatesSize, - &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - if(!type) - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Set up the value with the default content */ - UA_Variant val; - UA_Variant_init(&val); - if(node->valueRank < 0) { - /* Set a scalar */ - void *data = UA_new(type); - if(!data) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_Variant_setScalar(&val, data, type); - } else { - /* Set an array - * - * https://reference.opcfoundation.org/v104/Core/docs/Part3/5.6.2/#Table13 - * specifies ArrayDimensions as follows: This Attribute specifies the - * maximum supported length of each dimension. If the maximum is unknown - * the value shall be 0. The number of elements shall be equal to the - * value of the ValueRank Attribute. This Attribute shall be null if - * ValueRank <= 0. - * - * The (variant) values themselves cannot have ArrayDimensions with a - * dimension length of zero. We however consider that empty arrays - * (null-array or length zero) have implicit array dimensions [0,0,...]. - * With the appropriate number of dimensions. So they always match. - * - * We automatically create a null array during the node creation when - * required for the type-checking.. - * - * Also see the method 'compatibleValueArrayDimensions' where the - * compatibility of the ArrayDimensions is checked. */ - UA_Variant_setArray(&val, NULL, 0, type); - } - - /* Write the value */ - res = writeAttribute(server, &server->adminSession, &node->head.nodeId, - UA_ATTRIBUTEID_VALUE, &val, &UA_TYPES[UA_TYPES_VARIANT]); - - /* Clean up */ - UA_Variant_clear(&val); - return res; -} - -static UA_StatusCode -typeCheckVariableNode(UA_Server *server, UA_Session *session, - const UA_VariableNode *node, - const UA_VariableTypeNode *vt) { - /* Check the datatype against the vt */ - if(!compatibleDataTypes(server, &node->dataType, &vt->dataType)) { - logAddNode(server->config.logging, session, &node->head.nodeId, - "The value of is incompatible with " - "the datatype of the VariableType"); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Check valueRank against array dimensions */ - if(!compatibleValueRankArrayDimensions(server, session, node->valueRank, - node->arrayDimensionsSize)) { - logAddNode(server->config.logging, session, &node->head.nodeId, - "The value rank of is incompatible with its array dimensions"); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Check valueRank against the vt */ - if(!compatibleValueRanks(node->valueRank, vt->valueRank)) { - logAddNode(server->config.logging, session, &node->head.nodeId, - "The value rank is incompatible " - "with the value rank of the VariableType"); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Check array dimensions against the vt */ - if(!compatibleArrayDimensions(vt->arrayDimensionsSize, vt->arrayDimensions, - node->arrayDimensionsSize, node->arrayDimensions)) { - logAddNode(server->config.logging, session, &node->head.nodeId, - "The array dimensions are incompatible with the " - "array dimensions of the VariableType"); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - /* Typecheck the value. Less strict for NS0 -- we adjust nodes after loading - * the generated definitions. */ - if(server->bootstrapNS0) - return UA_STATUSCODE_GOOD; - - /* The value might come from a datasource, so we perform a - * regular read. */ - UA_DataValue value; - UA_DataValue_init(&value); - UA_StatusCode retval = readValueAttribute(server, session, node, &value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* We have a value. Write it back to perform checks and adjustments. */ - const char *reason; - if(node->valueSource == UA_VALUESOURCE_DATA && value.hasValue) { - if(!compatibleValue(server, session, &node->dataType, node->valueRank, - node->arrayDimensionsSize, node->arrayDimensions, - &value.value, NULL, &reason)) { - retval = writeAttribute(server, session, &node->head.nodeId, - UA_ATTRIBUTEID_VALUE, &value.value, - &UA_TYPES[UA_TYPES_VARIANT]); - } - UA_DataValue_clear(&value); - return retval; - } - - /* Only BaseDataType (Variant) can have empty values */ - if(!value.hasValue && - !UA_NodeId_equal(&node->dataType, &UA_TYPES[UA_TYPES_VARIANT].typeId)) { - /* Warn if that is configured */ - if(server->config.allowEmptyVariables != UA_RULEHANDLING_ACCEPT) - UA_LOG_NODEID_DEBUG(&node->head.nodeId, - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "AddNode (%.*s): The value is empty. " - "But this is only allowed for BaseDataType. " - "Create a matching default value.", - (int)nodeIdStr.length, nodeIdStr.data)); - - /* Abort if that is configured */ - if(server->config.allowEmptyVariables == UA_RULEHANDLING_ABORT) - retval = UA_STATUSCODE_BADTYPEMISMATCH; - - /* Try to generate and write a default value */ - if(server->config.allowEmptyVariables == UA_RULEHANDLING_DEFAULT) { - retval = setDefaultValue(server, node); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Could not create a default value " - "with StatusCode %s", (int)nodeIdStr.length, - nodeIdStr.data, UA_StatusCode_name(retval))); - } - } - return retval; - } - - /* Type-check the value */ - UA_Boolean compatible = - compatibleValue(server, session, &node->dataType, - node->valueRank, node->arrayDimensionsSize, - node->arrayDimensions, &value.value, NULL, &reason); - if(!compatible) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): The VariableNode value has " - "failed the type check with reason %s. ", - (int)nodeIdStr.length, nodeIdStr.data, reason)); - retval = UA_STATUSCODE_BADINTERNALERROR; - } - - UA_DataValue_clear(&value); - return retval; -} - -/********************/ -/* Instantiate Node */ -/********************/ - -static const UA_NodeId baseDataVariableType = - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_BASEDATAVARIABLETYPE}}; -static const UA_NodeId baseObjectType = - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_BASEOBJECTTYPE}}; -static const UA_NodeId hasTypeDefinition = - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASTYPEDEFINITION}}; - -/* Use attributes from the variable type wherever required. Reload the node if - * changes were made. */ -static UA_StatusCode -useVariableTypeAttributes(UA_Server *server, UA_Session *session, - const UA_VariableNode *node, - const UA_VariableTypeNode *vt) { - /* If no value is set, see if the vt provides one and copy it. This needs to - * be done before copying the datatype from the vt, as setting the datatype - * triggers a typecheck. */ - UA_Variant orig; - UA_StatusCode retval = - readWithReadValue(server, &node->head.nodeId, UA_ATTRIBUTEID_VALUE, &orig); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - if(orig.type) { - /* A value is present */ - UA_Variant_clear(&orig); - } else { - UA_DataValue v; - UA_DataValue_init(&v); - retval = readValueAttribute(server, session, (const UA_VariableNode*)vt, &v); - if(retval == UA_STATUSCODE_GOOD && v.hasValue) { - retval = writeAttribute(server, session, &node->head.nodeId, - UA_ATTRIBUTEID_VALUE, &v.value, - &UA_TYPES[UA_TYPES_VARIANT]); - } - UA_DataValue_clear(&v); - - if(retval != UA_STATUSCODE_GOOD) { - logAddNode(server->config.logging, session, &node->head.nodeId, - "The default content of the VariableType could " - "not be used. This may happen if the VariableNode " - "makes additional restrictions."); - retval = UA_STATUSCODE_GOOD; - } - } - - /* If no datatype is given, use the datatype of the vt */ - if(UA_NodeId_isNull(&node->dataType)) { - logAddNode(server->config.logging, session, &node->head.nodeId, - "No datatype given; Copy the datatype attribute " - "from the TypeDefinition"); - retval = writeAttribute(server, session, &node->head.nodeId, - UA_ATTRIBUTEID_DATATYPE, &vt->dataType, - &UA_TYPES[UA_TYPES_NODEID]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - - /* Use the ArrayDimensions of the vt */ - if(node->arrayDimensionsSize == 0 && vt->arrayDimensionsSize > 0) { - UA_Variant v; - UA_Variant_init(&v); - UA_Variant_setArray(&v, vt->arrayDimensions, vt->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_UINT32]); - retval = writeAttribute(server, session, &node->head.nodeId, - UA_ATTRIBUTEID_ARRAYDIMENSIONS, &v, - &UA_TYPES[UA_TYPES_VARIANT]); - } - - return retval; -} - -/* Search for an instance of "browseName" in node searchInstance. Used during - * copyChildNodes to find overwritable/mergable nodes. Does not touch - * outInstanceNodeId if no child is found. */ -static UA_StatusCode -findChildByBrowsename(UA_Server *server, UA_Session *session, - const UA_NodeId *searchInstance, - const UA_QualifiedName *browseName, - UA_NodeId *outInstanceNodeId) { - UA_BrowseDescription bd; - UA_BrowseDescription_init(&bd); - bd.nodeId = *searchInstance; - bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); - bd.includeSubtypes = true; - bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; - bd.nodeClassMask = UA_NODECLASS_OBJECT | UA_NODECLASS_VARIABLE | UA_NODECLASS_METHOD; - bd.resultMask = UA_BROWSERESULTMASK_BROWSENAME; - - UA_BrowseResult br; - UA_BrowseResult_init(&br); - UA_UInt32 maxrefs = 0; - Operation_Browse(server, session, &maxrefs, &bd, &br); - if(br.statusCode != UA_STATUSCODE_GOOD) - return br.statusCode; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < br.referencesSize; ++i) { - UA_ReferenceDescription *rd = &br.references[i]; - if(rd->browseName.namespaceIndex == browseName->namespaceIndex && - UA_String_equal(&rd->browseName.name, &browseName->name)) { - retval = UA_NodeId_copy(&rd->nodeId.nodeId, outInstanceNodeId); - break; - } - } - - UA_BrowseResult_clear(&br); - return retval; -} - -static const UA_ExpandedNodeId mandatoryId = - {{0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_MODELLINGRULE_MANDATORY}}, {0, NULL}, 0}; - -static UA_Boolean -isMandatoryChild(UA_Server *server, UA_Session *session, - const UA_NodeId *childNodeId) { - /* Get the child */ - const UA_Node *child = UA_NODESTORE_GET(server, childNodeId); - if(!child) - return false; - - /* Look for the reference making the child mandatory */ - UA_Boolean found = false; - for(size_t i = 0; i < child->head.referencesSize; ++i) { - UA_NodeReferenceKind *rk = &child->head.references[i]; - if(rk->referenceTypeIndex != UA_REFERENCETYPEINDEX_HASMODELLINGRULE) - continue; - if(rk->isInverse) - continue; - - if(UA_NodeReferenceKind_findTarget(rk, &mandatoryId)) { - found = true; - break; - } - } - - UA_NODESTORE_RELEASE(server, child); - return found; -} - -static UA_StatusCode -copyAllChildren(UA_Server *server, UA_Session *session, - const UA_NodeId *source, const UA_NodeId *destination); - -static void -Operation_addReference(UA_Server *server, UA_Session *session, void *context, - const UA_AddReferencesItem *item, UA_StatusCode *retval); - -UA_StatusCode -addRefWithSession(UA_Server *server, UA_Session *session, const UA_NodeId *sourceId, - const UA_NodeId *referenceTypeId, const UA_NodeId *targetId, - UA_Boolean forward) { - UA_AddReferencesItem ref_item; - UA_AddReferencesItem_init(&ref_item); - ref_item.sourceNodeId = *sourceId; - ref_item.referenceTypeId = *referenceTypeId; - ref_item.isForward = forward; - ref_item.targetNodeId.nodeId = *targetId; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - Operation_addReference(server, session, NULL, &ref_item, &retval); - return retval; -} - -UA_StatusCode -addRef(UA_Server *server, const UA_NodeId sourceId, - const UA_NodeId referenceTypeId, const UA_NodeId targetId, - UA_Boolean forward) { - return addRefWithSession(server, &server->adminSession, &sourceId, - &referenceTypeId, &targetId, forward); -} - -static UA_StatusCode -addInterfaceChildren(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, const UA_NodeId *typeId) { - /* Get the hierarchy of the type and all its supertypes */ - UA_NodeId *hierarchy = NULL; - size_t hierarchySize = 0; - UA_StatusCode retval = getAllInterfaceChildNodeIds(server, nodeId, typeId, - &hierarchy, &hierarchySize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Copy members of the type and supertypes (and instantiate them) */ - for(size_t i = 0; i < hierarchySize; ++i) { - retval = copyAllChildren(server, session, &hierarchy[i], nodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_Array_delete(hierarchy, hierarchySize, &UA_TYPES[UA_TYPES_NODEID]); - return retval; - } - } - - for(size_t i = 0; i < hierarchySize; ++i) { - UA_NodeId refId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASINTERFACE); - retval = addRef(server, *nodeId, refId, hierarchy[i], true); - - /* Don't add the original HasInterface reference to ObjectType sub nodes */ - if(retval == UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED) { - retval = UA_STATUSCODE_GOOD; - } else if(retval != UA_STATUSCODE_GOOD) { - break; - } - } - - UA_Array_delete(hierarchy, hierarchySize, &UA_TYPES[UA_TYPES_NODEID]); - return retval; -} - -static UA_StatusCode -copyChild(UA_Server *server, UA_Session *session, - const UA_NodeId *destinationNodeId, - const UA_ReferenceDescription *rd) { - UA_assert(session); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Is there an existing child with the browsename? */ - UA_NodeId existingChild = UA_NODEID_NULL; - UA_StatusCode retval = findChildByBrowsename(server, session, destinationNodeId, - &rd->browseName, &existingChild); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Have a child with that browseName. Deep-copy missing members. */ - if(!UA_NodeId_isNull(&existingChild)) { - if(rd->nodeClass == UA_NODECLASS_VARIABLE || - rd->nodeClass == UA_NODECLASS_OBJECT) - retval = copyAllChildren(server, session, &rd->nodeId.nodeId, &existingChild); - UA_NodeId_clear(&existingChild); - return retval; - } - - /* Is the child mandatory? If not, ask callback whether child should be instantiated. - * If not, skip. */ - if(!isMandatoryChild(server, session, &rd->nodeId.nodeId)) { - if(!server->config.nodeLifecycle.createOptionalChild) - return UA_STATUSCODE_GOOD; - UA_Boolean createChild = server->config.nodeLifecycle. - createOptionalChild(server, &session->sessionId, session->sessionHandle, - &rd->nodeId.nodeId, destinationNodeId, &rd->referenceTypeId); - if(!createChild) - return UA_STATUSCODE_GOOD; - } - - /* Child is a method -> create a reference */ - if(rd->nodeClass == UA_NODECLASS_METHOD) { - UA_AddReferencesItem newItem; - UA_AddReferencesItem_init(&newItem); - newItem.sourceNodeId = *destinationNodeId; - newItem.referenceTypeId = rd->referenceTypeId; - newItem.isForward = true; - newItem.targetNodeId = rd->nodeId; - newItem.targetNodeClass = UA_NODECLASS_METHOD; - Operation_addReference(server, session, NULL, &newItem, &retval); - return retval; - } - - /* Child is a variable or object */ - if(rd->nodeClass == UA_NODECLASS_VARIABLE || - rd->nodeClass == UA_NODECLASS_OBJECT) { - /* Make a copy of the node */ - UA_Node *node; - retval = UA_NODESTORE_GETCOPY(server, &rd->nodeId.nodeId, &node); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Remove the context of the copied node */ - node->head.context = NULL; - node->head.constructed = false; -#ifdef UA_ENABLE_SUBSCRIPTIONS - node->head.monitoredItems = NULL; -#endif - - /* The value backend is copied by default. But we don't want to keep it - * here. */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE || - node->head.nodeClass == UA_NODECLASS_VARIABLETYPE) { - if(node->variableNode.valueSource != UA_VALUESOURCE_DATA) - memset(&node->variableNode.value, 0, sizeof(node->variableNode.value)); - node->variableNode.valueSource = UA_VALUESOURCE_DATA; - memset(&node->variableNode.valueBackend, 0, sizeof(UA_ValueBackend)); - } - - /* Reset the NodeId (random numeric id will be assigned in the nodestore) */ - UA_NodeId_clear(&node->head.nodeId); - node->head.nodeId.namespaceIndex = destinationNodeId->namespaceIndex; - - if(server->config.nodeLifecycle.generateChildNodeId) { - retval = server->config.nodeLifecycle. - generateChildNodeId(server, &session->sessionId, session->sessionHandle, - &rd->nodeId.nodeId, destinationNodeId, - &rd->referenceTypeId, &node->head.nodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_NODESTORE_DELETE(server, node); - return retval; - } - } - - /* Remove references, they are re-created from scratch in addnode_finish */ - /* TODO: Be more clever in removing references that are re-added during - * addnode_finish. That way, we can call addnode_finish also on children that were - * manually added by the user during addnode_begin and addnode_finish. */ - /* For now we keep all the modelling rule references and delete all others */ - const UA_NodeId nodeId_typesFolder= UA_NODEID_NUMERIC(0, UA_NS0ID_TYPESFOLDER); - const UA_ReferenceTypeSet reftypes_aggregates = - UA_REFTYPESET(UA_REFERENCETYPEINDEX_AGGREGATES); - UA_ReferenceTypeSet reftypes_skipped; - /* Check if the hasModellingRule-reference is required (configured or node in an - instance declaration) */ - if(server->config.modellingRulesOnInstances || - isNodeInTree(server, destinationNodeId, - &nodeId_typesFolder, &reftypes_aggregates)) { - reftypes_skipped = UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASMODELLINGRULE); - } else { - UA_ReferenceTypeSet_init(&reftypes_skipped); - } - reftypes_skipped = UA_ReferenceTypeSet_union(reftypes_skipped, UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASINTERFACE)); - UA_Node_deleteReferencesSubset(node, &reftypes_skipped); - - /* Add the node to the nodestore */ - UA_NodeId newNodeId = UA_NODEID_NULL; - retval = UA_NODESTORE_INSERT(server, node, &newNodeId); - /* node = NULL; The pointer is no longer valid */ - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Add the node references */ - retval = addNode_addRefs(server, session, &newNodeId, destinationNodeId, - &rd->referenceTypeId, &rd->typeDefinition.nodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_NODESTORE_REMOVE(server, &newNodeId); - UA_NodeId_clear(&newNodeId); - return retval; - } - - if (rd->nodeClass == UA_NODECLASS_VARIABLE) { - retval = checkSetIsDynamicVariable(server, session, &newNodeId); - - if(retval != UA_STATUSCODE_GOOD) { - UA_NODESTORE_REMOVE(server, &newNodeId); - return retval; - } - } - - /* For the new child, recursively copy the members of the original. No - * typechecking is performed here. Assuming that the original is - * consistent. */ - retval = copyAllChildren(server, session, &rd->nodeId.nodeId, &newNodeId); - if(retval != UA_STATUSCODE_GOOD) { - deleteNode(server, newNodeId, true); - return retval; - } - - /* Check if its a dynamic variable, add all type and/or interface - * children and call the constructor */ - retval = addNode_finish(server, session, &newNodeId); - if(retval != UA_STATUSCODE_GOOD) { - deleteNode(server, newNodeId, true); - return retval; - } - - /* Clean up. Because it can happen that a string is assigned as ID at - * generateChildNodeId. */ - UA_NodeId_clear(&newNodeId); - } - - return retval; -} - -/* Copy any children of Node sourceNodeId to another node destinationNodeId. */ -static UA_StatusCode -copyAllChildren(UA_Server *server, UA_Session *session, - const UA_NodeId *source, const UA_NodeId *destination) { - /* Browse to get all children of the source */ - UA_BrowseDescription bd; - UA_BrowseDescription_init(&bd); - bd.nodeId = *source; - bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); - bd.includeSubtypes = true; - bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; - bd.nodeClassMask = UA_NODECLASS_OBJECT | UA_NODECLASS_VARIABLE | UA_NODECLASS_METHOD; - bd.resultMask = UA_BROWSERESULTMASK_REFERENCETYPEID | UA_BROWSERESULTMASK_NODECLASS | - UA_BROWSERESULTMASK_BROWSENAME | UA_BROWSERESULTMASK_TYPEDEFINITION; - - UA_BrowseResult br; - UA_BrowseResult_init(&br); - UA_UInt32 maxrefs = 0; - Operation_Browse(server, session, &maxrefs, &bd, &br); - if(br.statusCode != UA_STATUSCODE_GOOD) - return br.statusCode; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < br.referencesSize; ++i) { - UA_ReferenceDescription *rd = &br.references[i]; - retval = copyChild(server, session, destination, rd); - if(retval != UA_STATUSCODE_GOOD) - break; - } - - UA_BrowseResult_clear(&br); - return retval; -} - -static UA_StatusCode -addTypeChildren(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, const UA_NodeId *typeId) { - /* Get the hierarchy of the type and all its supertypes */ - UA_NodeId *hierarchy = NULL; - size_t hierarchySize = 0; - UA_StatusCode retval = getParentTypeAndInterfaceHierarchy(server, typeId, - &hierarchy, &hierarchySize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_assert(hierarchySize < 1000); - - /* Copy members of the type and supertypes (and instantiate them) */ - for(size_t i = 0; i < hierarchySize; ++i) { - retval = copyAllChildren(server, session, &hierarchy[i], nodeId); - if(retval != UA_STATUSCODE_GOOD) - break; - } - - UA_Array_delete(hierarchy, hierarchySize, &UA_TYPES[UA_TYPES_NODEID]); - return retval; -} - -/************/ -/* Add Node */ -/************/ - -static const UA_NodeId hasSubtype = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASSUBTYPE}}; - -UA_StatusCode -addNode_addRefs(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId, - const UA_NodeId *parentNodeId, const UA_NodeId *referenceTypeId, - const UA_NodeId *typeDefinitionId) { - /* Get the node */ - const UA_Node *type = NULL; - const UA_Node *node = UA_NODESTORE_GET(server, nodeId); - if(!node) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - - /* Use the typeDefinition as parent for type-nodes */ - const UA_NodeHead *head = &node->head; - if(head->nodeClass == UA_NODECLASS_VARIABLETYPE || - head->nodeClass == UA_NODECLASS_OBJECTTYPE || - head->nodeClass == UA_NODECLASS_REFERENCETYPE || - head->nodeClass == UA_NODECLASS_DATATYPE) { - if(UA_NodeId_equal(referenceTypeId, &UA_NODEID_NULL)) - referenceTypeId = &hasSubtype; - const UA_Node *parentNode = UA_NODESTORE_GET(server, parentNodeId); - if(parentNode) { - if(parentNode->head.nodeClass == head->nodeClass) - typeDefinitionId = parentNodeId; - UA_NODESTORE_RELEASE(server, parentNode); - } - } - - UA_StatusCode retval; - /* Make sure newly created node does not have itself as parent */ - if(UA_NodeId_equal(nodeId, parentNodeId)) { - logAddNode(server->config.logging, session, nodeId, - "A node cannot have itself as parent"); - retval = UA_STATUSCODE_BADINVALIDARGUMENT; - goto cleanup; - } - - - /* Check parent reference. Objects may have no parent. */ - retval = checkParentReference(server, session, head, parentNodeId, referenceTypeId); - if(retval != UA_STATUSCODE_GOOD) { - logAddNode(server->config.logging, session, nodeId, - "The parent reference for is invalid"); - goto cleanup; - } - - /* Replace empty typeDefinition with the most permissive default */ - if((head->nodeClass == UA_NODECLASS_VARIABLE || - head->nodeClass == UA_NODECLASS_OBJECT) && - UA_NodeId_isNull(typeDefinitionId)) { - logAddNode(server->config.logging, session, nodeId, - "No TypeDefinition. Use the default " - "TypeDefinition for the Variable/Object"); - if(head->nodeClass == UA_NODECLASS_VARIABLE) - typeDefinitionId = &baseDataVariableType; - else - typeDefinitionId = &baseObjectType; - } - - /* Get the node type. There must be a typedefinition for variables, objects - * and type-nodes. See the above checks. */ - if(!UA_NodeId_isNull(typeDefinitionId)) { - /* Get the type node */ - type = UA_NODESTORE_GET(server, typeDefinitionId); - if(!type) { - logAddNode(server->config.logging, session, nodeId, "Node type not found"); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - goto cleanup; - } - - UA_Boolean typeOk = false; - const UA_NodeHead *typeHead = &type->head; - switch(head->nodeClass) { - case UA_NODECLASS_DATATYPE: - typeOk = typeHead->nodeClass == UA_NODECLASS_DATATYPE; - break; - case UA_NODECLASS_METHOD: - typeOk = typeHead->nodeClass == UA_NODECLASS_METHOD; - break; - case UA_NODECLASS_OBJECT: - case UA_NODECLASS_OBJECTTYPE: - typeOk = typeHead->nodeClass == UA_NODECLASS_OBJECTTYPE; - break; - case UA_NODECLASS_REFERENCETYPE: - typeOk = typeHead->nodeClass == UA_NODECLASS_REFERENCETYPE; - break; - case UA_NODECLASS_VARIABLE: - case UA_NODECLASS_VARIABLETYPE: - typeOk = typeHead->nodeClass == UA_NODECLASS_VARIABLETYPE; - break; - case UA_NODECLASS_VIEW: - typeOk = typeHead->nodeClass == UA_NODECLASS_VIEW; - break; - default: - typeOk = false; - } - if(!typeOk) { - logAddNode(server->config.logging, session, nodeId, - "Type does not match the NodeClass"); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - goto cleanup; - } - - /* See if the type has the correct node class. For type-nodes, we know - * that type has the same nodeClass from checkParentReference. */ - if(head->nodeClass == UA_NODECLASS_VARIABLE && - type->variableTypeNode.isAbstract) { - /* Get subtypes of the parent reference types */ - UA_ReferenceTypeSet refTypes1, refTypes2; - retval |= referenceTypeIndices(server, &parentReferences[0], &refTypes1, true); - retval |= referenceTypeIndices(server, &parentReferences[1], &refTypes2, true); - UA_ReferenceTypeSet refTypes = UA_ReferenceTypeSet_union(refTypes1, refTypes2); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Abstract variable is allowed if parent is a children of a - * base data variable. An abstract variable may be part of an - * object type which again is below BaseObjectType */ - const UA_NodeId variableTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE); - const UA_NodeId objectTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE); - if(!isNodeInTree(server, parentNodeId, &variableTypes, &refTypes) && - !isNodeInTree(server, parentNodeId, &objectTypes, &refTypes)) { - logAddNode(server->config.logging, session, nodeId, - "Type of variable node must be a " - "VariableType and not cannot be abstract"); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - goto cleanup; - } - } - - if(head->nodeClass == UA_NODECLASS_OBJECT && - type->objectTypeNode.isAbstract) { - /* Get subtypes of the parent reference types */ - UA_ReferenceTypeSet refTypes1, refTypes2; - retval |= referenceTypeIndices(server, &parentReferences[0], &refTypes1, true); - retval |= referenceTypeIndices(server, &parentReferences[1], &refTypes2, true); - UA_ReferenceTypeSet refTypes = UA_ReferenceTypeSet_union(refTypes1, refTypes2); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - - /* Object node created of an abstract ObjectType. Only allowed if - * within BaseObjectType folder or if it's an event (subType of - * BaseEventType) */ - const UA_NodeId objectTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEOBJECTTYPE); - UA_Boolean isInBaseObjectType = - isNodeInTree(server, parentNodeId, &objectTypes, &refTypes); - - const UA_NodeId eventTypes = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); - UA_Boolean isInBaseEventType = - isNodeInTree_singleRef(server, &type->head.nodeId, &eventTypes, - UA_REFERENCETYPEINDEX_HASSUBTYPE); - - if(!isInBaseObjectType && - !(isInBaseEventType && UA_NodeId_isNull(parentNodeId))) { - logAddNode(server->config.logging, session, nodeId, - "Type of ObjectNode must be ObjectType and not be abstract"); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - goto cleanup; - } - } - } - - /* Add reference to the parent */ - if(!UA_NodeId_isNull(parentNodeId)) { - if(UA_NodeId_isNull(referenceTypeId)) { - logAddNode(server->config.logging, session, nodeId, - "Reference to parent cannot be null"); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - goto cleanup; - } - - retval = addRefWithSession(server, session, &head->nodeId, referenceTypeId, - parentNodeId, false); - if(retval != UA_STATUSCODE_GOOD) { - logAddNode(server->config.logging, session, nodeId, - "Adding reference to parent failed"); - goto cleanup; - } - } - - /* Add a hasTypeDefinition reference */ - if(head->nodeClass == UA_NODECLASS_VARIABLE || - head->nodeClass == UA_NODECLASS_OBJECT) { - UA_assert(type != NULL); /* see above */ - retval = addRefWithSession(server, session, &head->nodeId, &hasTypeDefinition, - &type->head.nodeId, true); - if(retval != UA_STATUSCODE_GOOD) { - logAddNode(server->config.logging, session, nodeId, - "Adding a reference to the type definition failed"); - } - } - - cleanup: - UA_NODESTORE_RELEASE(server, node); - if(type) - UA_NODESTORE_RELEASE(server, type); - return retval; -} - -/* Create the node and add it to the nodestore. But don't typecheck and add - * references so far */ -UA_StatusCode -addNode_raw(UA_Server *server, UA_Session *session, void *nodeContext, - const UA_AddNodesItem *item, UA_NodeId *outNewNodeId) { - /* Do not check access for server */ - if(session != &server->adminSession && server->config.accessControl.allowAddNode) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(!server->config.accessControl. - allowAddNode(server, &server->config.accessControl, - &session->sessionId, session->sessionHandle, item)) { - return UA_STATUSCODE_BADUSERACCESSDENIED; - } - } - - /* Check the namespaceindex */ - if(item->requestedNewNodeId.nodeId.namespaceIndex >= server->namespacesSize) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode: Namespace invalid"); - return UA_STATUSCODE_BADNODEIDINVALID; - } - - if(item->nodeAttributes.encoding != UA_EXTENSIONOBJECT_DECODED && - item->nodeAttributes.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode: Node attributes invalid"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Create a node */ - UA_Node *node = UA_NODESTORE_NEW(server, item->nodeClass); - if(!node) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode: Node could not create a node " - "in the nodestore"); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_NodeId tmpOutId = UA_NODEID_NULL; - /* Fill the node attributes */ - node->head.context = nodeContext; - UA_StatusCode retval = - UA_NodeId_copy(&item->requestedNewNodeId.nodeId, &node->head.nodeId); - if(retval != UA_STATUSCODE_GOOD) - goto create_error; - - retval = UA_QualifiedName_copy(&item->browseName, &node->head.browseName); - if(retval != UA_STATUSCODE_GOOD) - goto create_error; - - retval = UA_Node_setAttributes(node, item->nodeAttributes.content.decoded.data, - item->nodeAttributes.content.decoded.type); - if(retval != UA_STATUSCODE_GOOD) - goto create_error; - - /* Create a current source timestamp for values that don't have any */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE && - !node->variableNode.value.data.value.hasSourceTimestamp) { - node->variableNode.value.data.value.hasSourceTimestamp = true; - node->variableNode.value.data.value.sourceTimestamp = UA_DateTime_now(); - } - - /* Add the node to the nodestore */ - if(!outNewNodeId) - outNewNodeId = &tmpOutId; - retval = UA_NODESTORE_INSERT(server, node, outNewNodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode: Node could not add the new node " - "to the nodestore with error code %s", - UA_StatusCode_name(retval)); - return retval; - } - - if(outNewNodeId == &tmpOutId) - UA_NodeId_clear(&tmpOutId); - - return UA_STATUSCODE_GOOD; - -create_error: - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode: Node could not create a node " - "with error code %s", UA_StatusCode_name(retval)); - UA_NODESTORE_DELETE(server, node); - return retval; -} - -static UA_StatusCode -findDefaultInstanceBrowseNameNode(UA_Server *server, UA_NodeId startingNode, - UA_NodeId *foundId) { - UA_NodeId_init(foundId); - UA_RelativePathElement rpe; - UA_RelativePathElement_init(&rpe); - rpe.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); - rpe.targetName = UA_QUALIFIEDNAME(0, "DefaultInstanceBrowseName"); - UA_BrowsePath bp; - UA_BrowsePath_init(&bp); - bp.startingNode = startingNode; - bp.relativePath.elementsSize = 1; - bp.relativePath.elements = &rpe; - UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); - UA_StatusCode retval = bpr.statusCode; - if(retval == UA_STATUSCODE_GOOD && bpr.targetsSize > 0) - retval = UA_NodeId_copy(&bpr.targets[0].targetId.nodeId, foundId); - UA_BrowsePathResult_clear(&bpr); - return retval; -} - -/* Check if we got a valid browse name for the new node. For object nodes the - * BrowseName may only be null if the parent type has a - * 'DefaultInstanceBrowseName' property. */ -static UA_StatusCode -checkSetBrowseName(UA_Server *server, UA_Session *session, UA_AddNodesItem *item) { - /* If the object node already has a browse name we are done here. */ - if(!UA_QualifiedName_isNull(&item->browseName)) - return UA_STATUSCODE_GOOD; - - /* Nodes other than Objects must have a BrowseName */ - if(item->nodeClass != UA_NODECLASS_OBJECT) - return UA_STATUSCODE_BADBROWSENAMEINVALID; - - /* At this point we have an object with an empty browse name. Check the type - * node if it has a DefaultInstanceBrowseName property. */ - UA_NodeId defaultBrowseNameNode; - UA_StatusCode retval = - findDefaultInstanceBrowseNameNode(server, item->typeDefinition.nodeId, - &defaultBrowseNameNode); - if(retval != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADBROWSENAMEINVALID; - - UA_Variant defaultBrowseName; - retval = readWithReadValue(server, &defaultBrowseNameNode, - UA_ATTRIBUTEID_VALUE, &defaultBrowseName); - UA_NodeId_clear(&defaultBrowseNameNode); - if(retval != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADBROWSENAMEINVALID; - - if(UA_Variant_hasScalarType(&defaultBrowseName, &UA_TYPES[UA_TYPES_QUALIFIEDNAME])) { - item->browseName = *(UA_QualifiedName*)defaultBrowseName.data; - UA_QualifiedName_init((UA_QualifiedName*)defaultBrowseName.data); - } else { - retval = UA_STATUSCODE_BADBROWSENAMEINVALID; - } - - UA_Variant_clear(&defaultBrowseName); - return retval; -} - -/* Prepare the node, then add it to the nodestore */ -static UA_StatusCode -Operation_addNode_begin(UA_Server *server, UA_Session *session, void *nodeContext, - const UA_AddNodesItem *item, const UA_NodeId *parentNodeId, - const UA_NodeId *referenceTypeId, UA_NodeId *outNewNodeId) { - /* Create a temporary NodeId if none is returned */ - UA_NodeId newId; - if(!outNewNodeId) { - UA_NodeId_init(&newId); - outNewNodeId = &newId; - } - - /* Set the BrowsenName before adding to the Nodestore. The BrowseName is - * immutable afterwards. */ - UA_Boolean noBrowseName = UA_QualifiedName_isNull(&item->browseName); - UA_StatusCode retval = - checkSetBrowseName(server, session, (UA_AddNodesItem*)(uintptr_t)item); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Create the node and add it to the nodestore */ - retval = addNode_raw(server, session, nodeContext, item, outNewNodeId); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Typecheck and add references to parent and type definition */ - retval = addNode_addRefs(server, session, outNewNodeId, parentNodeId, - referenceTypeId, &item->typeDefinition.nodeId); - if(retval != UA_STATUSCODE_GOOD) - deleteNode(server, *outNewNodeId, true); - - if(outNewNodeId == &newId) - UA_NodeId_clear(&newId); - - cleanup: - if(noBrowseName) - UA_QualifiedName_clear((UA_QualifiedName*)(uintptr_t)&item->browseName); - return retval; -} - -/* Construct children first */ -static UA_StatusCode -recursiveCallConstructors(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId, const UA_Node *type) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Browse the children */ - UA_BrowseDescription bd; - UA_BrowseDescription_init(&bd); - bd.nodeId = *nodeId; - bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); - bd.includeSubtypes = true; - bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; - - UA_BrowseResult br; - UA_BrowseResult_init(&br); - UA_UInt32 maxrefs = 0; - Operation_Browse(server, session, &maxrefs, &bd, &br); - if(br.statusCode != UA_STATUSCODE_GOOD) - return br.statusCode; - - /* Call the constructor for every unconstructed child node */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < br.referencesSize; ++i) { - UA_ReferenceDescription *rd = &br.references[i]; - if(!UA_ExpandedNodeId_isLocal(&rd->nodeId)) - continue; - const UA_Node *target = UA_NODESTORE_GET(server, &rd->nodeId.nodeId); - if(!target) - continue; - if(target->head.constructed) { - UA_NODESTORE_RELEASE(server, target); - continue; - } - - const UA_Node *targetType = NULL; - if(target->head.nodeClass == UA_NODECLASS_VARIABLE || - target->head.nodeClass == UA_NODECLASS_OBJECT) { - targetType = getNodeType(server, &target->head); - if(!targetType) { - UA_NODESTORE_RELEASE(server, target); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - break; - } - } - - UA_NODESTORE_RELEASE(server, target); - retval = recursiveCallConstructors(server, session, &rd->nodeId.nodeId, targetType); - - if(targetType) - UA_NODESTORE_RELEASE(server, targetType); - if(retval != UA_STATUSCODE_GOOD) - break; - } - - UA_BrowseResult_clear(&br); - - /* If a child could not be constructed or the node is already constructed */ - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Get the node context */ - const UA_Node *node = UA_NODESTORE_GET(server, nodeId); - if(!node) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - void *context = node->head.context; - UA_NODESTORE_RELEASE(server, node); - - /* Call the global constructor */ - if(server->config.nodeLifecycle.constructor) { - retval = server->config.nodeLifecycle. - constructor(server, &session->sessionId, - session->sessionHandle, nodeId, &context); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - - /* Call the local (per-type) constructor */ - const UA_NodeTypeLifecycle *lifecycle = NULL; - if(type && node->head.nodeClass == UA_NODECLASS_OBJECT) - lifecycle = &type->objectTypeNode.lifecycle; - else if(type && node->head.nodeClass == UA_NODECLASS_VARIABLE) - lifecycle = &type->variableTypeNode.lifecycle; - if(lifecycle && lifecycle->constructor) { - retval = lifecycle->constructor(server, &session->sessionId, - session->sessionHandle, &type->head.nodeId, - type->head.context, nodeId, &context); - if(retval != UA_STATUSCODE_GOOD) - goto global_destructor; - } - - /* Set the context *and* mark the node as constructed */ - retval = UA_Server_editNode(server, &server->adminSession, nodeId, - (UA_EditNodeCallback)setConstructedNodeContext, context); - if(retval != UA_STATUSCODE_GOOD) - goto local_destructor; - - /* All good, return */ - return retval; - - /* Fail. Call the destructors. */ - local_destructor: - if(lifecycle && lifecycle->destructor) { - lifecycle->destructor(server, &session->sessionId, session->sessionHandle, - &type->head.nodeId, type->head.context, nodeId, &context); - } - - global_destructor: - if(server->config.nodeLifecycle.destructor) { - server->config.nodeLifecycle.destructor(server, &session->sessionId, - session->sessionHandle, - nodeId, context); - } - return retval; -} - -/* Add new ReferenceType to the subtypes bitfield */ -static UA_StatusCode -addReferenceTypeSubtype(UA_Server *server, UA_Session *session, - UA_Node *node, void *context) { - node->referenceTypeNode.subTypes = - UA_ReferenceTypeSet_union(node->referenceTypeNode.subTypes, - *(UA_ReferenceTypeSet*)context); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setReferenceTypeSubtypes(UA_Server *server, const UA_ReferenceTypeNode *node) { - /* Get the ReferenceTypes upwards in the hierarchy */ - size_t parentsSize = 0; - UA_ExpandedNodeId *parents = NULL; - UA_ReferenceTypeSet reftypes_subtype = UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); - UA_StatusCode res = - browseRecursive(server, 1, &node->head.nodeId, UA_BROWSEDIRECTION_INVERSE, - &reftypes_subtype, UA_NODECLASS_UNSPECIFIED, - false, &parentsSize, &parents); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Add the ReferenceTypeIndex of this node */ - const UA_ReferenceTypeSet *newRefSet = &node->subTypes; - for(size_t i = 0; i < parentsSize; i++) { - UA_Server_editNode(server, &server->adminSession, &parents[i].nodeId, - addReferenceTypeSubtype, (void*)(uintptr_t)newRefSet); - } - - UA_Array_delete(parents, parentsSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setVariableNodeDynamic(UA_Server *server, UA_Session *session, - UA_Node *node, const void *ctx) { - if(node->head.nodeClass != UA_NODECLASS_VARIABLE) - return UA_STATUSCODE_BADINTERNALERROR; - ((UA_VariableNode*)node)->isDynamic = *(const UA_Boolean*)ctx; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -checkSetIsDynamicVariable(UA_Server *server, UA_Session *session, - const UA_NodeId *nodeId) { - /* Get all hierarchical reference types */ - UA_ReferenceTypeSet reftypes_hierarchical; - UA_ReferenceTypeSet_init(&reftypes_hierarchical); - UA_NodeId hierarchicalRefs = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); - UA_StatusCode res = - referenceTypeIndices(server, &hierarchicalRefs, &reftypes_hierarchical, true); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Is the variable under the server object? */ - UA_NodeId serverNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER); - if(isNodeInTree(server, nodeId, &serverNodeId, &reftypes_hierarchical)) - return UA_STATUSCODE_GOOD; - - /* Is the variable in the type hierarchy? */ - UA_NodeId typesNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_TYPESFOLDER); - if(isNodeInTree(server, nodeId, &typesNodeId, &reftypes_hierarchical)) - return UA_STATUSCODE_GOOD; - - /* Is the variable a property of a method node (InputArguments / - * OutputArguments)? */ - UA_BrowseDescription bd; - UA_BrowseDescription_init(&bd); - bd.nodeId = *nodeId; - bd.browseDirection = UA_BROWSEDIRECTION_INVERSE; - bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); - bd.includeSubtypes = false; - bd.nodeClassMask = UA_NODECLASS_METHOD; - UA_BrowseResult br; - UA_BrowseResult_init(&br); - UA_UInt32 maxrefs = 0; - Operation_Browse(server, session, &maxrefs, &bd, &br); - UA_Boolean hasParentMethod = (br.referencesSize > 0); - UA_BrowseResult_clear(&br); - if(hasParentMethod) - return UA_STATUSCODE_GOOD; - - /* Set the variable to "dynamic" */ - UA_Boolean isDynamic = true; - UA_Server_editNode(server, session, nodeId, - (UA_EditNodeCallback)setVariableNodeDynamic, &isDynamic); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_setVariableNodeDynamic(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean isDynamic) { - lockServer(server); - UA_StatusCode res = - UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback)setVariableNodeDynamic, &isDynamic); - unlockServer(server); - return res; -} - -/* Children, references, type-checking, constructors. */ -UA_StatusCode -addNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId) { - /* Get the node */ - const UA_Node *type = NULL; - const UA_Node *node = UA_NODESTORE_GET(server, nodeId); - if(!node) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - - /* Set the ReferenceTypesSet of subtypes in the ReferenceTypeNode */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(node->head.nodeClass == UA_NODECLASS_REFERENCETYPE) { - retval = setReferenceTypeSubtypes(server, &node->referenceTypeNode); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - } - - /* Check NodeClass for 'hasSubtype'. UA_NODECLASS_VARIABLE not allowed - * to have subtype */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { - for(size_t i = 0; i < node->head.referencesSize; i++) { - if(node->head.references[i].referenceTypeIndex == - UA_REFERENCETYPEINDEX_HASSUBTYPE) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Variable not allowed " - "to have HasSubType reference", - (int)nodeIdStr.length, nodeIdStr.data)); - retval = UA_STATUSCODE_BADREFERENCENOTALLOWED; - goto cleanup; - } - } - } - - /* Set variables to dynamic (source and server timestamps are meaningful) if - * they fulfill some conditions. (Do this before replacing the default value - * in a VariableNode. So that the sourceTimestamp is set in the Write service.) */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE) { - retval = checkSetIsDynamicVariable(server, session, nodeId); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - } - - /* Get the type node */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE || - node->head.nodeClass == UA_NODECLASS_VARIABLETYPE || - node->head.nodeClass == UA_NODECLASS_OBJECT) { - type = getNodeType(server, &node->head); - if(!type) { - if(server->bootstrapNS0) - goto constructor; - logAddNode(server->config.logging, session, &node->head.nodeId, - "Node type not found"); - retval = UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - goto cleanup; - } - } - - /* Initialize and typecheck the variable */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE || - node->head.nodeClass == UA_NODECLASS_VARIABLETYPE) { - /* Use attributes from the type. The value and value constraints are the - * same for the variable and variabletype attribute structs. */ - retval = useVariableTypeAttributes(server, session, - &node->variableNode, - &type->variableTypeNode); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Using attributes for from " - "the variable type failed with error code %s", - (int)nodeIdStr.length, nodeIdStr.data, - UA_StatusCode_name(retval))); - goto cleanup; - } - - /* Get a new pointer to the node. It might have been switched out */ -#ifdef UA_ENABLE_IMMUTABLE_NODES - UA_NODESTORE_RELEASE(server, node); - node = UA_NODESTORE_GET(server, nodeId); - if(!node || (node->head.nodeClass != UA_NODECLASS_VARIABLE && - node->head.nodeClass != UA_NODECLASS_VARIABLETYPE)) { - retval = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } -#endif - - /* Check if all attributes hold the constraints of the type now. The initial - * attributes must type-check. The constructor might change the attributes - * again. Then, the changes are type-checked by the normal write service. */ - retval = typeCheckVariableNode(server, session, &node->variableNode, - &type->variableTypeNode); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Type-checking " - "failed with error code %s", (int)nodeIdStr.length, - nodeIdStr.data, UA_StatusCode_name(retval))); - goto cleanup; - } - } - - /* Add (mandatory) child nodes from the type definition */ - if(node->head.nodeClass == UA_NODECLASS_VARIABLE || - node->head.nodeClass == UA_NODECLASS_OBJECT) { - retval = addTypeChildren(server, session, nodeId, &type->head.nodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Adding child nodes " - "failed with error code %s", (int)nodeIdStr.length, - nodeIdStr.data, UA_StatusCode_name(retval))); - goto cleanup; - } - } - - /* Add (mandatory) child nodes from the HasInterface references */ - if(node->head.nodeClass == UA_NODECLASS_OBJECT) { - retval = addInterfaceChildren(server, session, nodeId, &type->head.nodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Adding child nodes " - "interface failed with error code %s", - (int)nodeIdStr.length, nodeIdStr.data, - UA_StatusCode_name(retval))); - goto cleanup; - } - } - - /* Call the constructor(s) */ - constructor: - if(!node->head.constructed) - retval = recursiveCallConstructors(server, session, nodeId, type); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, - "AddNode (%.*s): Calling the node constructor(s) " - "failed with status code %s", (int)nodeIdStr.length, - nodeIdStr.data, UA_StatusCode_name(retval))); - } - - cleanup: - UA_NODESTORE_RELEASE(server, node); - if(type) - UA_NODESTORE_RELEASE(server, type); - if(retval != UA_STATUSCODE_GOOD) - deleteNode(server, *nodeId, true); - return retval; -} - -static void -Operation_addNode(UA_Server *server, UA_Session *session, void *nodeContext, - const UA_AddNodesItem *item, UA_AddNodesResult *result) { - result->statusCode = - Operation_addNode_begin(server, session, nodeContext, - item, &item->parentNodeId.nodeId, - &item->referenceTypeId, &result->addedNodeId); - if(result->statusCode != UA_STATUSCODE_GOOD) - return; - - /* AddNodes_finish */ - result->statusCode = addNode_finish(server, session, &result->addedNodeId); - - /* If finishing failed, the node was deleted */ - if(result->statusCode != UA_STATUSCODE_GOOD) - UA_NodeId_clear(&result->addedNodeId); -} - -void -Service_AddNodes(UA_Server *server, UA_Session *session, - const UA_AddNodesRequest *request, - UA_AddNodesResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, "Processing AddNodesRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxNodesPerNodeManagement != 0 && - request->nodesToAddSize > server->config.maxNodesPerNodeManagement) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_addNode, NULL, - &request->nodesToAddSize, - &UA_TYPES[UA_TYPES_ADDNODESITEM], - &response->resultsSize, - &UA_TYPES[UA_TYPES_ADDNODESRESULT]); -} - -UA_StatusCode -addNode(UA_Server *server, const UA_NodeClass nodeClass, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, const UA_NodeId typeDefinition, - const void *attr, const UA_DataType *attributeType, - void *nodeContext, UA_NodeId *outNewNodeId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Create the AddNodesItem */ - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.nodeClass = nodeClass; - item.requestedNewNodeId.nodeId = requestedNewNodeId; - item.browseName = browseName; - item.parentNodeId.nodeId = parentNodeId; - item.referenceTypeId = referenceTypeId; - item.typeDefinition.nodeId = typeDefinition; - UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, - (void*)(uintptr_t)attr, attributeType); - - /* Call the normal addnodes service */ - UA_AddNodesResult result; - UA_AddNodesResult_init(&result); - Operation_addNode(server, &server->adminSession, nodeContext, &item, &result); - if(outNewNodeId) - *outNewNodeId = result.addedNodeId; - else - UA_NodeId_clear(&result.addedNodeId); - return result.statusCode; -} - -UA_StatusCode -__UA_Server_addNode(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId *requestedNewNodeId, - const UA_NodeId *parentNodeId, - const UA_NodeId *referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId *typeDefinition, - const UA_NodeAttributes *attr, - const UA_DataType *attributeType, - void *nodeContext, UA_NodeId *outNewNodeId) { - lockServer(server); - UA_StatusCode reval = - addNode(server, nodeClass, *requestedNewNodeId, *parentNodeId, - *referenceTypeId, browseName, *typeDefinition, attr, - attributeType, nodeContext, outNewNodeId); - unlockServer(server); - return reval; -} - -UA_StatusCode -addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const void *attr, - const UA_DataType *attributeType, void *nodeContext, - UA_NodeId *outNewNodeId) { - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.nodeClass = nodeClass; - item.requestedNewNodeId.nodeId = requestedNewNodeId; - item.browseName = browseName; - item.typeDefinition.nodeId = typeDefinition; - UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, - (void*)(uintptr_t)attr, attributeType); - return Operation_addNode_begin(server, &server->adminSession, nodeContext, &item, - &parentNodeId, &referenceTypeId, outNewNodeId); -} - -UA_StatusCode -UA_Server_addNode_begin(UA_Server *server, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const void *attr, - const UA_DataType *attributeType, void *nodeContext, - UA_NodeId *outNewNodeId) { - lockServer(server); - UA_StatusCode res = - addNode_begin(server, nodeClass, requestedNewNodeId, parentNodeId, - referenceTypeId, browseName, typeDefinition, attr, - attributeType, nodeContext, outNewNodeId); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_addNode_finish(UA_Server *server, const UA_NodeId nodeId) { - lockServer(server); - UA_StatusCode retval = addNode_finish(server, &server->adminSession, &nodeId); - unlockServer(server); - return retval; -} - -/****************/ -/* Delete Nodes */ -/****************/ - -static void -Operation_deleteReference(UA_Server *server, UA_Session *session, void *context, - const UA_DeleteReferencesItem *item, UA_StatusCode *retval); - -struct RemoveIncomingContext { - UA_Server *server; - UA_Session *session; - UA_DeleteReferencesItem *item; -}; - -static void * -removeIncomingReferencesCallback(void *context, UA_ReferenceTarget *t) { - struct RemoveIncomingContext *ctx = (struct RemoveIncomingContext *)context; - if(!UA_NodePointer_isLocal(t->targetId)) - return NULL; - UA_StatusCode dummy; - ctx->item->sourceNodeId = UA_NodePointer_toNodeId(t->targetId); - Operation_deleteReference(ctx->server, ctx->session, NULL, ctx->item, &dummy); - return NULL; -} - -/* Remove references to this node (in the other nodes) */ -static void -removeIncomingReferences(UA_Server *server, UA_Session *session, - const UA_NodeHead *head) { - UA_DeleteReferencesItem item; - UA_DeleteReferencesItem_init(&item); - item.targetNodeId.nodeId = head->nodeId; - item.deleteBidirectional = false; - - struct RemoveIncomingContext ctx; - ctx.server = server; - ctx.session = session; - ctx.item = &item; - - for(size_t i = 0; i < head->referencesSize; ++i) { - UA_NodeReferenceKind *rk = &head->references[i]; - item.isForward = rk->isInverse; - item.referenceTypeId = - *UA_NODESTORE_GETREFERENCETYPEID(server, rk->referenceTypeIndex); - UA_NodeReferenceKind_iterate(rk, removeIncomingReferencesCallback, &ctx); - } -} - -static void * -checkTargetInRefTree(void *context, UA_ReferenceTarget *t) { - RefTree *refTree = (RefTree*)context; - if(!UA_NodePointer_isLocal(t->targetId)) - return NULL; - UA_NodeId tmpId = UA_NodePointer_toNodeId(t->targetId); - if(!RefTree_containsNodeId(refTree, &tmpId)) - return (void*)0x1; - return NULL; -} - -/* A node is auto-deleted if all its hierarchical parents are being deleted */ -static UA_Boolean -hasParentRef(const UA_NodeHead *head, const UA_ReferenceTypeSet *refSet, - RefTree *refTree) { - for(size_t i = 0; i < head->referencesSize; i++) { - UA_NodeReferenceKind *rk = &head->references[i]; - if(!rk->isInverse) - continue; - if(!UA_ReferenceTypeSet_contains(refSet, rk->referenceTypeIndex)) - continue; - if(UA_NodeReferenceKind_iterate(rk, checkTargetInRefTree, refTree) != NULL) - return true; - } - return false; -} - -static void -deconstructNodeSet(UA_Server *server, UA_Session *session, - UA_ReferenceTypeSet *hierarchRefsSet, RefTree *refTree) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Deconstruct the nodes based on the RefTree entries, parent nodes first */ - for(size_t i = 0; i < refTree->size; i++) { - const UA_Node *member = UA_NODESTORE_GET(server, &refTree->targets[i].nodeId); - if(!member) - continue; - - /* Call the type-level destructor */ - void *context = member->head.context; /* No longer needed after this function */ - if(member->head.nodeClass == UA_NODECLASS_OBJECT || - member->head.nodeClass == UA_NODECLASS_VARIABLE) { - const UA_Node *type = getNodeType(server, &member->head); - if(type) { - /* Get the lifecycle */ - const UA_NodeTypeLifecycle *lifecycle; - if(member->head.nodeClass == UA_NODECLASS_OBJECT) - lifecycle = &type->objectTypeNode.lifecycle; - else - lifecycle = &type->variableTypeNode.lifecycle; - - /* Call the destructor */ - if(lifecycle->destructor) { - lifecycle->destructor(server, - &session->sessionId, session->sessionHandle, - &type->head.nodeId, type->head.context, - &member->head.nodeId, &context); - } - - /* Release the type node */ - UA_NODESTORE_RELEASE(server, type); - } - } - - /* Call the global destructor */ - if(server->config.nodeLifecycle.destructor) { - server->config.nodeLifecycle.destructor(server, &session->sessionId, - session->sessionHandle, - &member->head.nodeId, context); - } - - /* Release the node. Don't access the node context from here on. */ - UA_NODESTORE_RELEASE(server, member); - - /* Set the constructed flag to false */ - UA_Server_editNode(server, &server->adminSession, &refTree->targets[i].nodeId, - (UA_EditNodeCallback)setDeconstructedNode, NULL); - } -} - -struct DeleteChildrenContext { - UA_Server *server; - const UA_ReferenceTypeSet *hierarchRefsSet; - RefTree *refTree; - UA_StatusCode res; -}; - -static void * -deleteChildrenCallback(void *context, UA_ReferenceTarget *t) { - struct DeleteChildrenContext *ctx = (struct DeleteChildrenContext*)context; - - /* Get the child */ - const UA_Node *child = UA_NODESTORE_GETFROMREF(ctx->server, t->targetId); - if(!child) - return NULL; - - /* Only delete child nodes that have no other parent */ - if(!hasParentRef(&child->head, ctx->hierarchRefsSet, ctx->refTree)) - ctx->res = RefTree_addNodeId(ctx->refTree, &child->head.nodeId, NULL); - - UA_NODESTORE_RELEASE(ctx->server, child); - return (ctx->res == UA_STATUSCODE_GOOD) ? NULL : (void*)0x01; -} - -/* The processNodeLayer function searches all children's of the head node and - * adds the children node to the RefTree if all incoming references sources are - * contained in the RefTree (No external references to this node --> node can be - * deleted) */ -static UA_StatusCode -autoDeleteChildren(UA_Server *server, UA_Session *session, RefTree *refTree, - const UA_ReferenceTypeSet *hierarchRefsSet, const UA_NodeHead *head){ - struct DeleteChildrenContext ctx; - ctx.server = server; - ctx.hierarchRefsSet = hierarchRefsSet; - ctx.refTree = refTree; - ctx.res = UA_STATUSCODE_GOOD; - - for(size_t i = 0; i < head->referencesSize; ++i) { - /* Check if the ReferenceType is hierarchical */ - UA_NodeReferenceKind *rk = &head->references[i]; - if(!UA_ReferenceTypeSet_contains(hierarchRefsSet, rk->referenceTypeIndex)) - continue; - - /* Check if the references are forward (to a child) */ - if(rk->isInverse) - continue; - - /* Loop over the references */ - UA_NodeReferenceKind_iterate(rk, deleteChildrenCallback, &ctx); - if(ctx.res != UA_STATUSCODE_GOOD) - return ctx.res; - } - return UA_STATUSCODE_GOOD; -} - -/* Build up an ordered set (tree) of all nodes that can be deleted. Step through - * the ordered set in order to avoid recursion. */ -static UA_StatusCode -buildDeleteNodeSet(UA_Server *server, UA_Session *session, - const UA_ReferenceTypeSet *hierarchRefsSet, - const UA_NodeId *initial, UA_Boolean removeTargetRefs, - RefTree *refTree) { - /* Add the initial node to delete */ - UA_StatusCode res = RefTree_addNodeId(refTree, initial, NULL); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Find out which hierarchical children should also be deleted. We know - * there are no "external" ExpandedNodeId in the RefTree. */ - size_t pos = 0; - while(pos < refTree->size) { - const UA_Node *member = UA_NODESTORE_GET(server, &refTree->targets[pos].nodeId); - pos++; - if(!member) - continue; - res |= autoDeleteChildren(server, session, refTree, hierarchRefsSet, &member->head); - UA_NODESTORE_RELEASE(server, member); - } - return res; -} - -static void -deleteNodeSet(UA_Server *server, UA_Session *session, - const UA_ReferenceTypeSet *hierarchRefsSet, - UA_Boolean removeTargetRefs, RefTree *refTree) { - /* Delete the nodes based on the RefTree entries */ - for(size_t i = refTree->size; i > 0; --i) { - const UA_Node *member = UA_NODESTORE_GET(server, &refTree->targets[i-1].nodeId); - if(!member) - continue; - UA_NODESTORE_RELEASE(server, member); - if(removeTargetRefs) - removeIncomingReferences(server, session, &member->head); - UA_NODESTORE_REMOVE(server, &member->head.nodeId); - } -} - -static void -deleteNodeOperation(UA_Server *server, UA_Session *session, void *context, - const UA_DeleteNodesItem *item, UA_StatusCode *result) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Do not check access for server */ - if(session != &server->adminSession && server->config.accessControl.allowDeleteNode) { - if(!server->config.accessControl. - allowDeleteNode(server, &server->config.accessControl, - &session->sessionId, session->sessionHandle, item)) { - *result = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - } - - const UA_Node *node = UA_NODESTORE_GET(server, &item->nodeId); - if(!node) { - *result = UA_STATUSCODE_BADNODEIDUNKNOWN; - return; - } - - if(UA_Node_hasSubTypeOrInstances(&node->head)) { - UA_LOG_NODEID_INFO(&node->head.nodeId, - UA_LOG_INFO_SESSION(server->config.logging, session, "DeleteNode (%.*s): " - "Cannot delete a type node with active instances or " - "subtypes", (int)nodeIdStr.length, nodeIdStr.data)); - UA_NODESTORE_RELEASE(server, node); - *result = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* TODO: Check if the information model consistency is violated */ - /* TODO: Check if the node is a mandatory child of a parent */ - - /* Relase the node. Don't access the pointer after this! */ - UA_NODESTORE_RELEASE(server, node); - - /* A node can be referenced with hierarchical references from several - * parents in the information model. (But not in a circular way.) The - * hierarchical references are checked to see if a node can be deleted. - * Getting the type hierarchy can fail in case of low RAM. In that case the - * nodes are always deleted. */ - UA_ReferenceTypeSet hierarchRefsSet; - UA_NodeId hr = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); - *result = referenceTypeIndices(server, &hr, &hierarchRefsSet, true); - if(*result != UA_STATUSCODE_GOOD) - return; - - /* The list of childs is needed for the deconstructing and deleting phase. - * Within the processNodeLayer we generate a RefTree based set of childs - * which can be deleted beside the parent node. */ - RefTree refTree; - *result = RefTree_init(&refTree); - if(*result != UA_STATUSCODE_GOOD) - return; - *result = buildDeleteNodeSet(server, session, &hierarchRefsSet, &item->nodeId, - item->deleteTargetReferences, &refTree); - if(*result != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SESSION(server->config.logging, session, - "DeleteNode: Incomplete lookup of nodes. " - "Still deleting what we have."); - /* Continue, so the RefTree is cleaned up. Return the error message - * anyway. */ - } - - /* Deconstruct, then delete, then clean up the set */ - deconstructNodeSet(server, session, &hierarchRefsSet, &refTree); - deleteNodeSet(server, session, &hierarchRefsSet, - item->deleteTargetReferences, &refTree); - RefTree_clear(&refTree); -} - -void -Service_DeleteNodes(UA_Server *server, UA_Session *session, - const UA_DeleteNodesRequest *request, - UA_DeleteNodesResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing DeleteNodesRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxNodesPerNodeManagement != 0 && - request->nodesToDeleteSize > server->config.maxNodesPerNodeManagement) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)deleteNodeOperation, - NULL, &request->nodesToDeleteSize, - &UA_TYPES[UA_TYPES_DELETENODESITEM], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_StatusCode -UA_Server_deleteNode(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean deleteReferences) { - lockServer(server); - UA_StatusCode retval = deleteNode(server, nodeId, deleteReferences); - unlockServer(server); - return retval; -} - -UA_StatusCode -deleteNode(UA_Server *server, const UA_NodeId nodeId, - UA_Boolean deleteReferences) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_DeleteNodesItem item; - item.deleteTargetReferences = deleteReferences; - item.nodeId = nodeId; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - deleteNodeOperation(server, &server->adminSession, NULL, &item, &retval); - return retval; -} - -/******************/ -/* Add References */ -/******************/ - -struct AddNodeInfo { - UA_Byte refTypeIndex; - UA_Boolean isForward; - const UA_ExpandedNodeId *targetNodeId; - UA_UInt32 targetBrowseNameHash; -}; - -static UA_StatusCode -addOneWayReference(UA_Server *server, UA_Session *session, UA_Node *node, - const struct AddNodeInfo *info) { - return UA_Node_addReference(node, info->refTypeIndex, info->isForward, - info->targetNodeId, info->targetBrowseNameHash); -} - -static UA_StatusCode -deleteOneWayReference(UA_Server *server, UA_Session *session, UA_Node *node, - const UA_DeleteReferencesItem *item) { - const UA_Node *refType = UA_NODESTORE_GET(server, &item->referenceTypeId); - if(!refType) - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - if(refType->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { - UA_NODESTORE_RELEASE(server, refType); - return UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - } - UA_Byte refTypeIndex = refType->referenceTypeNode.referenceTypeIndex; - UA_NODESTORE_RELEASE(server, refType); - return UA_Node_deleteReference(node, refTypeIndex, item->isForward, &item->targetNodeId); -} - -static void -Operation_addReference(UA_Server *server, UA_Session *session, void *context, - const UA_AddReferencesItem *item, UA_StatusCode *retval) { - (void)context; - UA_assert(session); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Check access rights */ - if(session != &server->adminSession && server->config.accessControl.allowAddReference) { - if (!server->config.accessControl. - allowAddReference(server, &server->config.accessControl, - &session->sessionId, session->sessionHandle, item)) { - *retval = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - } - - /* TODO: Currently no expandednodeids are allowed */ - if(item->targetServerUri.length > 0) { - *retval = UA_STATUSCODE_BADNOTIMPLEMENTED; - return; - } - - /* Check the ReferenceType and get the index */ - const UA_Node *refType = UA_NODESTORE_GET(server, &item->referenceTypeId); - if(!refType) { - UA_LOG_NODEID_DEBUG(&item->referenceTypeId, - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Cannot add reference - ReferenceType %.*s unknown", - (int)nodeIdStr.length, nodeIdStr.data)); - *retval = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - return; - } - if(refType->head.nodeClass != UA_NODECLASS_REFERENCETYPE) { - UA_LOG_NODEID_DEBUG(&item->referenceTypeId, - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Cannot add reference - ReferenceType %.*s with wrong NodeClass", - (int)nodeIdStr.length, nodeIdStr.data)); - UA_NODESTORE_RELEASE(server, refType); - *retval = UA_STATUSCODE_BADREFERENCETYPEIDINVALID; - return; - } - UA_Byte refTypeIndex = refType->referenceTypeNode.referenceTypeIndex; - UA_NODESTORE_RELEASE(server, refType); - - /* Get the source and target node BrowseName hash */ - const UA_Node *targetNode = UA_NODESTORE_GET(server, &item->targetNodeId.nodeId); - if(!targetNode) { - UA_LOG_NODEID_DEBUG(&item->targetNodeId.nodeId, - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Cannot add reference - target %.*s does not exist", - (int)nodeIdStr.length, nodeIdStr.data)); - *retval = UA_STATUSCODE_BADTARGETNODEIDINVALID; - return; - } - UA_UInt32 targetNameHash = UA_QualifiedName_hash(&targetNode->head.browseName); - UA_NODESTORE_RELEASE(server, targetNode); - - const UA_Node *sourceNode = UA_NODESTORE_GET(server, &item->sourceNodeId); - if(!sourceNode) { - *retval = UA_STATUSCODE_BADSOURCENODEIDINVALID; - return; - } - UA_UInt32 sourceNameHash = UA_QualifiedName_hash(&sourceNode->head.browseName); - UA_NODESTORE_RELEASE(server, sourceNode); - - /* Compute the BrowseName hash and release the target */ - struct AddNodeInfo info; - info.refTypeIndex = refTypeIndex; - info.targetNodeId = &item->targetNodeId; - info.isForward = item->isForward; - info.targetBrowseNameHash = targetNameHash; - - /* Add the first direction */ - *retval = UA_Server_editNode(server, session, &item->sourceNodeId, - (UA_EditNodeCallback)addOneWayReference, &info); - UA_Boolean firstExisted = false; - if(*retval == UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED) { - *retval = UA_STATUSCODE_GOOD; - firstExisted = true; - } - if(*retval != UA_STATUSCODE_GOOD) - return; - - /* Add the second direction */ - UA_ExpandedNodeId target2; - UA_ExpandedNodeId_init(&target2); - target2.nodeId = item->sourceNodeId; - info.targetNodeId = &target2; - info.isForward = !info.isForward; - info.targetBrowseNameHash = sourceNameHash; - *retval = UA_Server_editNode(server, session, &item->targetNodeId.nodeId, - (UA_EditNodeCallback)addOneWayReference, &info); - - /* Second direction existed already */ - if(*retval == UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED) { - /* Calculate common duplicate reference not allowed result and set bad - * result if BOTH directions already existed */ - if(UA_NodeId_equal(&item->sourceNodeId, &item->targetNodeId.nodeId)) { - *retval = UA_STATUSCODE_GOOD; - UA_LOG_INFO_SESSION(server->config.logging, session, "The source node and the target node are identical. The check for duplicate references is skipped."); - } - else if(firstExisted) { - *retval = UA_STATUSCODE_BADDUPLICATEREFERENCENOTALLOWED; - return; - } - *retval = UA_STATUSCODE_GOOD; - } - - /* Remove first direction if the second direction failed */ - if(*retval != UA_STATUSCODE_GOOD && !firstExisted) { - UA_DeleteReferencesItem deleteItem; - deleteItem.sourceNodeId = item->sourceNodeId; - deleteItem.referenceTypeId = item->referenceTypeId; - deleteItem.isForward = item->isForward; - deleteItem.targetNodeId = item->targetNodeId; - deleteItem.deleteBidirectional = false; - /* Ignore status code */ - UA_Server_editNode(server, session, &item->sourceNodeId, - (UA_EditNodeCallback)deleteOneWayReference, &deleteItem); - } -} - -void -Service_AddReferences(UA_Server *server, UA_Session *session, - const UA_AddReferencesRequest *request, - UA_AddReferencesResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing AddReferencesRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_assert(session); - - if(server->config.maxNodesPerNodeManagement != 0 && - request->referencesToAddSize > server->config.maxNodesPerNodeManagement) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_addReference, - NULL, &request->referencesToAddSize, - &UA_TYPES[UA_TYPES_ADDREFERENCESITEM], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_StatusCode -UA_Server_addReference(UA_Server *server, const UA_NodeId sourceId, - const UA_NodeId refTypeId, - const UA_ExpandedNodeId targetId, - UA_Boolean isForward) { - UA_AddReferencesItem item; - UA_AddReferencesItem_init(&item); - item.sourceNodeId = sourceId; - item.referenceTypeId = refTypeId; - item.isForward = isForward; - item.targetNodeId = targetId; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - lockServer(server); - Operation_addReference(server, &server->adminSession, NULL, &item, &retval); - unlockServer(server); - return retval; -} - -/*********************/ -/* Delete References */ -/*********************/ - -static void -Operation_deleteReference(UA_Server *server, UA_Session *session, void *context, - const UA_DeleteReferencesItem *item, UA_StatusCode *retval) { - /* Do not check access for server */ - if(session != &server->adminSession && - server->config.accessControl.allowDeleteReference) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if (!server->config.accessControl. - allowDeleteReference(server, &server->config.accessControl, - &session->sessionId, session->sessionHandle, item)){ - *retval = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - } - - // TODO: Check consistency constraints, remove the references. - *retval = UA_Server_editNode(server, session, &item->sourceNodeId, - (UA_EditNodeCallback)deleteOneWayReference, - /* cast away const qualifier because callback - * uses it anyway */ - (UA_DeleteReferencesItem *)(uintptr_t)item); - if(*retval != UA_STATUSCODE_GOOD) - return; - - if(!item->deleteBidirectional || item->targetNodeId.serverIndex != 0) - return; - - UA_DeleteReferencesItem secondItem; - UA_DeleteReferencesItem_init(&secondItem); - secondItem.isForward = !item->isForward; - secondItem.sourceNodeId = item->targetNodeId.nodeId; - secondItem.targetNodeId.nodeId = item->sourceNodeId; - secondItem.referenceTypeId = item->referenceTypeId; - *retval = UA_Server_editNode(server, session, &secondItem.sourceNodeId, - (UA_EditNodeCallback)deleteOneWayReference, - &secondItem); -} - -void -Service_DeleteReferences(UA_Server *server, UA_Session *session, - const UA_DeleteReferencesRequest *request, - UA_DeleteReferencesResponse *response) { - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Processing DeleteReferencesRequest"); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(server->config.maxNodesPerNodeManagement != 0 && - request->referencesToDeleteSize > server->config.maxNodesPerNodeManagement) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS; - return; - } - - response->responseHeader.serviceResult = - UA_Server_processServiceOperations(server, session, - (UA_ServiceOperation)Operation_deleteReference, - NULL, &request->referencesToDeleteSize, - &UA_TYPES[UA_TYPES_DELETEREFERENCESITEM], - &response->resultsSize, - &UA_TYPES[UA_TYPES_STATUSCODE]); -} - -UA_StatusCode -deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_ExpandedNodeId targetNodeId, - UA_Boolean deleteBidirectional) { - UA_DeleteReferencesItem item; - item.sourceNodeId = sourceNodeId; - item.referenceTypeId = referenceTypeId; - item.isForward = isForward; - item.targetNodeId = targetNodeId; - item.deleteBidirectional = deleteBidirectional; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - Operation_deleteReference(server, &server->adminSession, NULL, &item, &retval); - return retval; -} - -UA_StatusCode -UA_Server_deleteReference(UA_Server *server, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_ExpandedNodeId targetNodeId, - UA_Boolean deleteBidirectional) { - lockServer(server); - UA_StatusCode res = deleteReference(server, sourceNodeId, referenceTypeId, - isForward, targetNodeId, deleteBidirectional); - unlockServer(server); - return res; -} - -/**********************/ -/* Set Value Callback */ -/**********************/ - -static UA_StatusCode -setValueCallback(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_ValueCallback *callback) { - if(node->head.nodeClass != UA_NODECLASS_VARIABLE) - return UA_STATUSCODE_BADNODECLASSINVALID; - node->value.data.callback = *callback; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -setVariableNode_valueCallback(UA_Server *server, const UA_NodeId nodeId, - const UA_ValueCallback callback) { - return UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback)setValueCallback, - /* cast away const because - * callback uses const anyway */ - (UA_ValueCallback *)(uintptr_t) &callback); -} - -UA_StatusCode -UA_Server_setVariableNode_valueCallback(UA_Server *server, - const UA_NodeId nodeId, - const UA_ValueCallback callback) { - lockServer(server); - UA_StatusCode retval = UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback)setValueCallback, - /* cast away const because - * callback uses const anyway */ - (UA_ValueCallback *)(uintptr_t) &callback); - unlockServer(server); - return retval; -} - -/***************************************************/ -/* Special Handling of Variables with Data Sources */ -/***************************************************/ - -UA_StatusCode -UA_Server_addDataSourceVariableNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, - const UA_VariableAttributes attr, - const UA_DataSource dataSource, - void *nodeContext, UA_NodeId *outNewNodeId) { - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.nodeClass = UA_NODECLASS_VARIABLE; - item.requestedNewNodeId.nodeId = requestedNewNodeId; - item.browseName = browseName; - UA_ExpandedNodeId typeDefinitionId; - UA_ExpandedNodeId_init(&typeDefinitionId); - typeDefinitionId.nodeId = typeDefinition; - item.typeDefinition = typeDefinitionId; - UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, (void*)(uintptr_t)&attr, - &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES]); - UA_NodeId newNodeId; - if(!outNewNodeId) { - newNodeId = UA_NODEID_NULL; - outNewNodeId = &newNodeId; - } - - lockServer(server); - - /* Create the node and add it to the nodestore */ - UA_StatusCode retval = addNode_raw(server, &server->adminSession, nodeContext, - &item, outNewNodeId); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Set the data source */ - retval = setVariableNode_dataSource(server, *outNewNodeId, dataSource); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Typecheck and add references to parent and type definition */ - retval = addNode_addRefs(server, &server->adminSession, outNewNodeId, &parentNodeId, - &referenceTypeId, &typeDefinition); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Call the constructors */ - retval = addNode_finish(server, &server->adminSession, outNewNodeId); - - cleanup: - unlockServer(server); - if(outNewNodeId == &newNodeId) - UA_NodeId_clear(&newNodeId); - - return retval; -} - -static UA_StatusCode -setDataSource(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_DataSource *dataSource) { - if(node->head.nodeClass != UA_NODECLASS_VARIABLE) - return UA_STATUSCODE_BADNODECLASSINVALID; - if(node->valueSource == UA_VALUESOURCE_DATA) - UA_DataValue_clear(&node->value.data.value); - node->value.dataSource = *dataSource; - node->valueSource = UA_VALUESOURCE_DATASOURCE; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, - const UA_DataSource dataSource) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback)setDataSource, - /* casting away const because callback casts it back anyway */ - (UA_DataSource *) (uintptr_t)&dataSource); -} - -UA_StatusCode -UA_Server_setVariableNode_dataSource(UA_Server *server, const UA_NodeId nodeId, - const UA_DataSource dataSource) { - lockServer(server); - UA_StatusCode retval = setVariableNode_dataSource(server, nodeId, dataSource); - unlockServer(server); - return retval; -} - -/******************************/ -/* Set External Value Source */ -/******************************/ -static UA_StatusCode -setExternalValueSource(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_ValueBackend *externalValueSource) { - if(node->head.nodeClass != UA_NODECLASS_VARIABLE) - return UA_STATUSCODE_BADNODECLASSINVALID; - node->valueBackend.backendType = UA_VALUEBACKENDTYPE_EXTERNAL; - node->valueBackend.backend.external.value = - externalValueSource->backend.external.value; - node->valueBackend.backend.external.callback.notificationRead = - externalValueSource->backend.external.callback.notificationRead; - node->valueBackend.backend.external.callback.userWrite = - externalValueSource->backend.external.callback.userWrite; - return UA_STATUSCODE_GOOD; -} - -/****************************/ -/* Set Data Source Callback */ -/****************************/ -static UA_StatusCode -setDataSourceCallback(UA_Server *server, UA_Session *session, - UA_VariableNode *node, const UA_DataSource *dataSource) { - if(node->head.nodeClass != UA_NODECLASS_VARIABLE) - return UA_STATUSCODE_BADNODECLASSINVALID; - node->valueBackend.backendType = UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK; - node->valueBackend.backend.dataSource.read = dataSource->read; - node->valueBackend.backend.dataSource.write = dataSource->write; - return UA_STATUSCODE_GOOD; -} - -/**********************/ -/* Set Value Backend */ -/**********************/ - -UA_StatusCode -UA_Server_setVariableNode_valueBackend(UA_Server *server, const UA_NodeId nodeId, - const UA_ValueBackend valueBackend){ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - lockServer(server); - switch(valueBackend.backendType){ - case UA_VALUEBACKENDTYPE_NONE: - unlockServer(server); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - case UA_VALUEBACKENDTYPE_DATA_SOURCE_CALLBACK: - retval = UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback) setDataSourceCallback, - (UA_DataSource *)(uintptr_t) &valueBackend.backend.dataSource); - break; - case UA_VALUEBACKENDTYPE_INTERNAL: - break; - case UA_VALUEBACKENDTYPE_EXTERNAL: - retval = UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback) setExternalValueSource, - /* cast away const because callback uses const anyway */ - (UA_ValueCallback *)(uintptr_t) &valueBackend); - break; - } - - - // UA_StatusCode retval = UA_Server_editNode(server, &server->adminSession, &nodeId, - // (UA_EditNodeCallback)setValueCallback, - /* cast away const because callback uses const anyway */ - // (UA_ValueCallback *)(uintptr_t) &callback); - - - unlockServer(server); - return retval; -} - - -/************************************/ -/* Special Handling of Method Nodes */ -/************************************/ - -#ifdef UA_ENABLE_METHODCALLS - -static const UA_NodeId hasproperty = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASPROPERTY}}; -static const UA_NodeId propertytype = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_PROPERTYTYPE}}; - -static UA_StatusCode -UA_Server_addMethodNodeEx_finish(UA_Server *server, const UA_NodeId nodeId, - UA_MethodCallback method, - const size_t inputArgumentsSize, - const UA_Argument *inputArguments, - const UA_NodeId inputArgumentsRequestedNewNodeId, - UA_NodeId *inputArgumentsOutNewNodeId, - const size_t outputArgumentsSize, - const UA_Argument *outputArguments, - const UA_NodeId outputArgumentsRequestedNewNodeId, - UA_NodeId *outputArgumentsOutNewNodeId) { - /* Browse to see which argument nodes exist */ - UA_BrowseDescription bd; - UA_BrowseDescription_init(&bd); - bd.nodeId = nodeId; - bd.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY); - bd.includeSubtypes = false; - bd.browseDirection = UA_BROWSEDIRECTION_FORWARD; - bd.nodeClassMask = UA_NODECLASS_VARIABLE; - bd.resultMask = UA_BROWSERESULTMASK_BROWSENAME; - - UA_BrowseResult br; - UA_BrowseResult_init(&br); - UA_UInt32 maxrefs = 0; - Operation_Browse(server, &server->adminSession, &maxrefs, &bd, &br); - - UA_StatusCode retval = br.statusCode; - if(retval != UA_STATUSCODE_GOOD) { - deleteNode(server, nodeId, true); - UA_BrowseResult_clear(&br); - return retval; - } - - /* Filter out the argument nodes */ - UA_NodeId inputArgsId = UA_NODEID_NULL; - UA_NodeId outputArgsId = UA_NODEID_NULL; - const UA_QualifiedName inputArgsName = UA_QUALIFIEDNAME(0, "InputArguments"); - const UA_QualifiedName outputArgsName = UA_QUALIFIEDNAME(0, "OutputArguments"); - for(size_t i = 0; i < br.referencesSize; i++) { - UA_ReferenceDescription *rd = &br.references[i]; - if(rd->browseName.namespaceIndex == 0 && - UA_String_equal(&rd->browseName.name, &inputArgsName.name)) - inputArgsId = rd->nodeId.nodeId; - else if(rd->browseName.namespaceIndex == 0 && - UA_String_equal(&rd->browseName.name, &outputArgsName.name)) - outputArgsId = rd->nodeId.nodeId; - } - - /* Add the Input Arguments VariableNode */ - if(inputArgumentsSize > 0 && UA_NodeId_isNull(&inputArgsId)) { - UA_VariableAttributes attr = UA_VariableAttributes_default; - char *name = "InputArguments"; - attr.displayName = UA_LOCALIZEDTEXT("", name); - attr.dataType = UA_TYPES[UA_TYPES_ARGUMENT].typeId; - attr.valueRank = UA_VALUERANK_ONE_DIMENSION; - UA_UInt32 inputArgsSize32 = (UA_UInt32)inputArgumentsSize; - attr.arrayDimensions = &inputArgsSize32; - attr.arrayDimensionsSize = 1; - UA_Variant_setArray(&attr.value, (void *)(uintptr_t)inputArguments, - inputArgumentsSize, &UA_TYPES[UA_TYPES_ARGUMENT]); - retval = addNode(server, UA_NODECLASS_VARIABLE, inputArgumentsRequestedNewNodeId, - nodeId, hasproperty, UA_QUALIFIEDNAME(0, name), - propertytype, &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], - NULL, &inputArgsId); - if(retval != UA_STATUSCODE_GOOD) - goto error; - } - - /* Add the Output Arguments VariableNode */ - if(outputArgumentsSize > 0 && UA_NodeId_isNull(&outputArgsId)) { - UA_VariableAttributes attr = UA_VariableAttributes_default; - char *name = "OutputArguments"; - attr.displayName = UA_LOCALIZEDTEXT("", name); - attr.dataType = UA_TYPES[UA_TYPES_ARGUMENT].typeId; - attr.valueRank = UA_VALUERANK_ONE_DIMENSION; - UA_UInt32 outputArgsSize32 = (UA_UInt32)outputArgumentsSize; - attr.arrayDimensions = &outputArgsSize32; - attr.arrayDimensionsSize = 1; - UA_Variant_setArray(&attr.value, (void *)(uintptr_t)outputArguments, - outputArgumentsSize, &UA_TYPES[UA_TYPES_ARGUMENT]); - retval = addNode(server, UA_NODECLASS_VARIABLE, outputArgumentsRequestedNewNodeId, - nodeId, hasproperty, UA_QUALIFIEDNAME(0, name), - propertytype, &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], - NULL, &outputArgsId); - if(retval != UA_STATUSCODE_GOOD) - goto error; - } - - retval = setMethodNode_callback(server, nodeId, method); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - /* Call finish to add the parent reference */ - retval = addNode_finish(server, &server->adminSession, &nodeId); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - if(inputArgumentsOutNewNodeId != NULL) { - UA_NodeId_copy(&inputArgsId, inputArgumentsOutNewNodeId); - } - if(outputArgumentsOutNewNodeId != NULL) { - UA_NodeId_copy(&outputArgsId, outputArgumentsOutNewNodeId); - } - UA_BrowseResult_clear(&br); - return retval; - -error: - deleteNode(server, nodeId, true); - deleteNode(server, inputArgsId, true); - deleteNode(server, outputArgsId, true); - UA_BrowseResult_clear(&br); - return retval; -} - -UA_StatusCode -UA_Server_addMethodNode_finish(UA_Server *server, const UA_NodeId nodeId, - UA_MethodCallback method, - size_t inputArgumentsSize, - const UA_Argument* inputArguments, - size_t outputArgumentsSize, - const UA_Argument* outputArguments) { - lockServer(server); - UA_StatusCode retval = - UA_Server_addMethodNodeEx_finish(server, nodeId, method, - inputArgumentsSize, inputArguments, - UA_NODEID_NULL, NULL, - outputArgumentsSize, outputArguments, - UA_NODEID_NULL, NULL); - unlockServer(server); - return retval; -} - -UA_StatusCode -addMethodNode(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_MethodAttributes *attr, UA_MethodCallback method, - size_t inputArgumentsSize, const UA_Argument *inputArguments, - const UA_NodeId inputArgumentsRequestedNewNodeId, - UA_NodeId *inputArgumentsOutNewNodeId, - size_t outputArgumentsSize, const UA_Argument *outputArguments, - const UA_NodeId outputArgumentsRequestedNewNodeId, - UA_NodeId *outputArgumentsOutNewNodeId, - void *nodeContext, UA_NodeId *outNewNodeId) { - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.nodeClass = UA_NODECLASS_METHOD; - item.requestedNewNodeId.nodeId = requestedNewNodeId; - item.browseName = browseName; - UA_ExtensionObject_setValueNoDelete(&item.nodeAttributes, (void*)(uintptr_t)attr, - &UA_TYPES[UA_TYPES_METHODATTRIBUTES]); - UA_NodeId newId; - if(!outNewNodeId) { - UA_NodeId_init(&newId); - outNewNodeId = &newId; - } - UA_StatusCode retval = Operation_addNode_begin(server, &server->adminSession, - nodeContext, &item, &parentNodeId, - &referenceTypeId, outNewNodeId); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - retval = UA_Server_addMethodNodeEx_finish(server, *outNewNodeId, method, - inputArgumentsSize, inputArguments, - inputArgumentsRequestedNewNodeId, - inputArgumentsOutNewNodeId, - outputArgumentsSize, outputArguments, - outputArgumentsRequestedNewNodeId, - outputArgumentsOutNewNodeId); - if(outNewNodeId == &newId) - UA_NodeId_clear(&newId); - return retval; -} - -UA_StatusCode -UA_Server_addMethodNodeEx(UA_Server *server, const UA_NodeId requestedNewNodeId, - const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, - const UA_QualifiedName browseName, - const UA_MethodAttributes attr, UA_MethodCallback method, - size_t inputArgumentsSize, const UA_Argument *inputArguments, - const UA_NodeId inputArgumentsRequestedNewNodeId, - UA_NodeId *inputArgumentsOutNewNodeId, - size_t outputArgumentsSize, const UA_Argument *outputArguments, - const UA_NodeId outputArgumentsRequestedNewNodeId, - UA_NodeId *outputArgumentsOutNewNodeId, - void *nodeContext, UA_NodeId *outNewNodeId) { - lockServer(server); - UA_StatusCode res = addMethodNode(server, requestedNewNodeId, - parentNodeId, referenceTypeId, - browseName, &attr, method, - inputArgumentsSize, inputArguments, - inputArgumentsRequestedNewNodeId, - inputArgumentsOutNewNodeId, - outputArgumentsSize, - outputArguments, - outputArgumentsRequestedNewNodeId, - outputArgumentsOutNewNodeId, - nodeContext, outNewNodeId); - unlockServer(server); - return res; -} - -static UA_StatusCode -editMethodCallback(UA_Server *server, UA_Session* session, - UA_Node *node, UA_MethodCallback methodCallback) { - if(node->head.nodeClass != UA_NODECLASS_METHOD) - return UA_STATUSCODE_BADNODECLASSINVALID; - node->methodNode.method = methodCallback; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -setMethodNode_callback(UA_Server *server, - const UA_NodeId methodNodeId, - UA_MethodCallback methodCallback) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return UA_Server_editNode(server, &server->adminSession, &methodNodeId, - (UA_EditNodeCallback)editMethodCallback, - (void*)(uintptr_t)methodCallback); -} - -UA_StatusCode -UA_Server_setMethodNodeCallback(UA_Server *server, - const UA_NodeId methodNodeId, - UA_MethodCallback methodCallback) { - lockServer(server); - UA_StatusCode retVal = setMethodNode_callback(server, methodNodeId, methodCallback); - unlockServer(server); - return retVal; -} - -UA_StatusCode -UA_Server_getMethodNodeCallback(UA_Server *server, - const UA_NodeId methodNodeId, - UA_MethodCallback *outMethodCallback) { - lockServer(server); - const UA_Node *node = UA_NODESTORE_GET(server, &methodNodeId); - if(!node) { - unlockServer(server); - return UA_STATUSCODE_BADNODEIDUNKNOWN; - } - - if(node->head.nodeClass != UA_NODECLASS_METHOD) { - UA_NODESTORE_RELEASE(server, node); - unlockServer(server); - return UA_STATUSCODE_BADNODECLASSINVALID; - } - - *outMethodCallback = node->methodNode.method; - UA_NODESTORE_RELEASE(server, node); - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -#endif - -/************************/ -/* Lifecycle Management */ -/************************/ - -void UA_EXPORT -UA_Server_setAdminSessionContext(UA_Server *server, - void *context) { - server->adminSession.sessionHandle = context; -} - -static UA_StatusCode -setNodeTypeLifecycleCallback(UA_Server *server, UA_Session *session, - UA_Node *node, UA_NodeTypeLifecycle *lifecycle) { - if(node->head.nodeClass == UA_NODECLASS_OBJECTTYPE) { - node->objectTypeNode.lifecycle = *lifecycle; - } else if(node->head.nodeClass == UA_NODECLASS_VARIABLETYPE) { - node->variableTypeNode.lifecycle = *lifecycle; - } else { - return UA_STATUSCODE_BADNODECLASSINVALID; - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, - UA_NodeTypeLifecycle lifecycle) { - return UA_Server_editNode(server, &server->adminSession, &nodeId, - (UA_EditNodeCallback)setNodeTypeLifecycleCallback, - &lifecycle); -} - -UA_StatusCode -UA_Server_setNodeTypeLifecycle(UA_Server *server, UA_NodeId nodeId, - UA_NodeTypeLifecycle lifecycle) { - lockServer(server); - UA_StatusCode retval = setNodeTypeLifecycle(server, nodeId, lifecycle); - unlockServer(server); - return retval; -} - -/**** amalgamated original file "/src/pubsub/ua_pubsub_networkmessage.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017 - 2018 Fraunhofer IOSB (Author: Tino Bischoff) - * Copyright (c) 2019 Fraunhofer IOSB (Author: Andreas Ebner) - */ - - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -const UA_Byte NM_VERSION_MASK = 15; -const UA_Byte NM_PUBLISHER_ID_ENABLED_MASK = 16; -const UA_Byte NM_GROUP_HEADER_ENABLED_MASK = 32; -const UA_Byte NM_PAYLOAD_HEADER_ENABLED_MASK = 64; -const UA_Byte NM_EXTENDEDFLAGS1_ENABLED_MASK = 128; -const UA_Byte NM_PUBLISHER_ID_MASK = 7; -const UA_Byte NM_DATASET_CLASSID_ENABLED_MASK = 8; -const UA_Byte NM_SECURITY_ENABLED_MASK = 16; -const UA_Byte NM_TIMESTAMP_ENABLED_MASK = 32; -const UA_Byte NM_PICOSECONDS_ENABLED_MASK = 64; -const UA_Byte NM_EXTENDEDFLAGS2_ENABLED_MASK = 128; -const UA_Byte NM_NETWORK_MSG_TYPE_MASK = 28; -const UA_Byte NM_CHUNK_MESSAGE_MASK = 1; -const UA_Byte NM_PROMOTEDFIELDS_ENABLED_MASK = 2; -const UA_Byte GROUP_HEADER_WRITER_GROUPID_ENABLED = 1; -const UA_Byte GROUP_HEADER_GROUP_VERSION_ENABLED = 2; -const UA_Byte GROUP_HEADER_NM_NUMBER_ENABLED = 4; -const UA_Byte GROUP_HEADER_SEQUENCE_NUMBER_ENABLED = 8; -const UA_Byte SECURITY_HEADER_NM_SIGNED = 1; -const UA_Byte SECURITY_HEADER_NM_ENCRYPTED = 2; -const UA_Byte SECURITY_HEADER_SEC_FOOTER_ENABLED = 4; -const UA_Byte SECURITY_HEADER_FORCE_KEY_RESET = 8; -const UA_Byte DS_MESSAGEHEADER_DS_MSG_VALID = 1; -const UA_Byte DS_MESSAGEHEADER_FIELD_ENCODING_MASK = 6; -const UA_Byte DS_MESSAGEHEADER_SEQ_NR_ENABLED_MASK = 8; -const UA_Byte DS_MESSAGEHEADER_STATUS_ENABLED_MASK = 16; -const UA_Byte DS_MESSAGEHEADER_CONFIGMAJORVERSION_ENABLED_MASK = 32; -const UA_Byte DS_MESSAGEHEADER_CONFIGMINORVERSION_ENABLED_MASK = 64; -const UA_Byte DS_MESSAGEHEADER_FLAGS2_ENABLED_MASK = 128; -const UA_Byte DS_MESSAGEHEADER_DS_MESSAGE_TYPE_MASK = 15; -const UA_Byte DS_MESSAGEHEADER_TIMESTAMP_ENABLED_MASK = 16; -const UA_Byte DS_MESSAGEHEADER_PICOSECONDS_INCLUDED_MASK = 32; -const UA_Byte NM_SHIFT_LEN = 2; -const UA_Byte DS_MH_SHIFT_LEN = 1; - -static UA_Boolean UA_NetworkMessage_ExtendedFlags1Enabled(const UA_NetworkMessage* src); -static UA_Boolean UA_NetworkMessage_ExtendedFlags2Enabled(const UA_NetworkMessage* src); -static UA_Boolean UA_DataSetMessageHeader_DataSetFlags2Enabled(const UA_DataSetMessageHeader* src); - -UA_StatusCode -UA_NetworkMessage_updateBufferedMessage(UA_NetworkMessageOffsetBuffer *buffer) { - UA_StatusCode rv = UA_STATUSCODE_GOOD; - const UA_Byte *bufEnd = &buffer->buffer.data[buffer->buffer.length]; - for(size_t i = 0; i < buffer->offsetsSize; ++i) { - UA_NetworkMessageOffset *nmo = &buffer->offsets[i]; - UA_Byte *bufPos = &buffer->buffer.data[nmo->offset]; - switch(nmo->contentType) { - case UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER: - case UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER: - rv = UA_UInt16_encodeBinary(&nmo->content.sequenceNumber, &bufPos, bufEnd); - nmo->content.sequenceNumber++; - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE: - rv = UA_DataValue_encodeBinary(&nmo->content.value, &bufPos, bufEnd); - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL: - rv = UA_DataValue_encodeBinary(*nmo->content.externalValue, &bufPos, bufEnd); - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT: - rv = UA_Variant_encodeBinary(&nmo->content.value.value, &bufPos, bufEnd); - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL: - rv = UA_Variant_encodeBinary(&(*nmo->content.externalValue)->value, &bufPos, bufEnd); - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW: - rv = UA_encodeBinaryInternal(nmo->content.value.value.data, - nmo->content.value.value.type, - &bufPos, &bufEnd, NULL, NULL); - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL: - rv = UA_encodeBinaryInternal((*nmo->content.externalValue)->value.data, - (*nmo->content.externalValue)->value.type, - &bufPos, &bufEnd, NULL, NULL); - break; - default: - break; /* The other fields are assumed to not change between messages. - * Only used for RT decoding (not encoding). */ - } - } - return rv; -} - -UA_StatusCode -UA_NetworkMessage_updateBufferedNwMessage(UA_NetworkMessageOffsetBuffer *buffer, - const UA_ByteString *src, size_t *bufferPosition) { - /* The offset buffer was not prepared */ - UA_NetworkMessage *nm = buffer->nm; - if(!nm) - return UA_STATUSCODE_BADINTERNALERROR; - - /* The source string is too short */ - if(src->length < buffer->buffer.length + *bufferPosition) - return UA_STATUSCODE_BADDECODINGERROR; - - /* If this remains at UA_UINT32_MAX, then no raw fields are contained */ - size_t smallestRawOffset = UA_UINT32_MAX; - - /* Considering one DSM in RT TODO: Clarify multiple DSM */ - UA_DataSetMessage* dsm = nm->payload.dataSetPayload.dataSetMessages; - - size_t pos = 0; - size_t payloadCounter = 0; - UA_DataSetMessageHeader header; - UA_StatusCode rv = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < buffer->offsetsSize; ++i) { - pos = buffer->offsets[i].offset + *bufferPosition; - switch(buffer->offsets[i].contentType) { - case UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING: - rv = UA_DataSetMessageHeader_decodeBinary(src, &pos, &header); - break; - case UA_PUBSUB_OFFSETTYPE_PUBLISHERID: - switch(nm->publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - rv = UA_Byte_decodeBinary(src, &pos, &nm->publisherId.byte); - break; - case UA_PUBLISHERIDTYPE_UINT16: - rv = UA_UInt16_decodeBinary(src, &pos, &nm->publisherId.uint16); - break; - case UA_PUBLISHERIDTYPE_UINT32: - rv = UA_UInt32_decodeBinary(src, &pos, &nm->publisherId.uint32); - break; - case UA_PUBLISHERIDTYPE_UINT64: - rv = UA_UInt64_decodeBinary(src, &pos, &nm->publisherId.uint64); - break; - default: - /* UA_PUBLISHERIDTYPE_STRING is not supported because of - * UA_PUBSUB_RT_FIXED_SIZE */ - return UA_STATUSCODE_BADNOTSUPPORTED; - } - break; - case UA_PUBSUB_OFFSETTYPE_WRITERGROUPID: - rv = UA_UInt16_decodeBinary(src, &pos, &nm->groupHeader.writerGroupId); - break; - case UA_PUBSUB_OFFSETTYPE_DATASETWRITERID: - rv = UA_UInt16_decodeBinary(src, &pos, - &nm->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[0]); /* TODO */ - break; - case UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER: - rv = UA_UInt16_decodeBinary(src, &pos, &nm->groupHeader.sequenceNumber); - break; - case UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER: - rv = UA_UInt16_decodeBinary(src, &pos, &dsm->header.dataSetMessageSequenceNr); - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE: - UA_DataValue_clear(&dsm->data.keyFrameData.dataSetFields[payloadCounter]); - rv = UA_DataValue_decodeBinary(src, &pos, - &dsm->data.keyFrameData.dataSetFields[payloadCounter]); - payloadCounter++; - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT: - UA_Variant_clear(&dsm->data.keyFrameData.dataSetFields[payloadCounter].value); - rv = UA_Variant_decodeBinary(src, &pos, - &dsm->data.keyFrameData.dataSetFields[payloadCounter].value); - dsm->data.keyFrameData.dataSetFields[payloadCounter].hasValue = - (rv == UA_STATUSCODE_GOOD); - payloadCounter++; - break; - case UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW: - /* We need only the start address of the raw fields */ - if(smallestRawOffset > pos){ - smallestRawOffset = pos; - dsm->data.keyFrameData.rawFields.data = &src->data[pos]; - dsm->data.keyFrameData.rawFields.length = buffer->rawMessageLength; - } - payloadCounter++; - break; - default: - return UA_STATUSCODE_BADNOTSUPPORTED; - } - UA_CHECK_STATUS(rv, return rv); - } - - /* Check if the frame is of type "raw" payload. If yes, set the new buffer - * position to the start position of the raw fields plus the length of the - * raw fields. */ - if(smallestRawOffset != UA_UINT32_MAX) { - *bufferPosition = smallestRawOffset + buffer->rawMessageLength; - } else { - *bufferPosition = pos; - } - - return rv; -} - -static UA_StatusCode -UA_NetworkMessageHeader_encodeBinary(const UA_NetworkMessage *src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - /* UADPVersion + UADP Flags */ - UA_Byte v = src->version; - if(src->publisherIdEnabled) - v |= NM_PUBLISHER_ID_ENABLED_MASK; - - if(src->groupHeaderEnabled) - v |= NM_GROUP_HEADER_ENABLED_MASK; - - if(src->payloadHeaderEnabled) - v |= NM_PAYLOAD_HEADER_ENABLED_MASK; - - if(UA_NetworkMessage_ExtendedFlags1Enabled(src)) - v |= NM_EXTENDEDFLAGS1_ENABLED_MASK; - - UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - // ExtendedFlags1 - if(UA_NetworkMessage_ExtendedFlags1Enabled(src)) { - v = (UA_Byte)src->publisherIdType; - - if(src->dataSetClassIdEnabled) - v |= NM_DATASET_CLASSID_ENABLED_MASK; - - if(src->securityEnabled) - v |= NM_SECURITY_ENABLED_MASK; - - if(src->timestampEnabled) - v |= NM_TIMESTAMP_ENABLED_MASK; - - if(src->picosecondsEnabled) - v |= NM_PICOSECONDS_ENABLED_MASK; - - if(UA_NetworkMessage_ExtendedFlags2Enabled(src)) - v |= NM_EXTENDEDFLAGS2_ENABLED_MASK; - - rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - // ExtendedFlags2 - if(UA_NetworkMessage_ExtendedFlags2Enabled(src)) { - v = (UA_Byte)src->networkMessageType; - // shift left 2 bit - v = (UA_Byte) (v << NM_SHIFT_LEN); - - if(src->chunkMessage) - v |= NM_CHUNK_MESSAGE_MASK; - - if(src->promotedFieldsEnabled) - v |= NM_PROMOTEDFIELDS_ENABLED_MASK; - - rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - } - - // PublisherId - if(src->publisherIdEnabled) { - switch (src->publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - rv = UA_Byte_encodeBinary(&src->publisherId.byte, bufPos, bufEnd); - break; - - case UA_PUBLISHERIDTYPE_UINT16: - rv = UA_UInt16_encodeBinary(&src->publisherId.uint16, bufPos, bufEnd); - break; - - case UA_PUBLISHERIDTYPE_UINT32: - rv = UA_UInt32_encodeBinary(&src->publisherId.uint32, bufPos, bufEnd); - break; - - case UA_PUBLISHERIDTYPE_UINT64: - rv = UA_UInt64_encodeBinary(&src->publisherId.uint64, bufPos, bufEnd); - break; - - case UA_PUBLISHERIDTYPE_STRING: - rv = UA_String_encodeBinary(&src->publisherId.string, bufPos, bufEnd); - break; - - default: - rv = UA_STATUSCODE_BADINTERNALERROR; - break; - } - UA_CHECK_STATUS(rv, return rv); - } - - // DataSetClassId - if(src->dataSetClassIdEnabled) { - rv = UA_Guid_encodeBinary(&src->dataSetClassId, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_GroupHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - UA_Byte v = 0; - if(src->groupHeader.writerGroupIdEnabled) - v |= GROUP_HEADER_WRITER_GROUPID_ENABLED; - - if(src->groupHeader.groupVersionEnabled) - v |= GROUP_HEADER_GROUP_VERSION_ENABLED; - - if(src->groupHeader.networkMessageNumberEnabled) - v |= GROUP_HEADER_NM_NUMBER_ENABLED; - - if(src->groupHeader.sequenceNumberEnabled) - v |= GROUP_HEADER_SEQUENCE_NUMBER_ENABLED; - - UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - - if(src->groupHeader.writerGroupIdEnabled) - rv |= UA_UInt16_encodeBinary(&src->groupHeader.writerGroupId, bufPos, bufEnd); - - if(src->groupHeader.groupVersionEnabled) - rv |= UA_UInt32_encodeBinary(&src->groupHeader.groupVersion, bufPos, bufEnd); - - if(src->groupHeader.networkMessageNumberEnabled) - rv |= UA_UInt16_encodeBinary(&src->groupHeader.networkMessageNumber, bufPos, bufEnd); - - if(src->groupHeader.sequenceNumberEnabled) - rv |= UA_UInt16_encodeBinary(&src->groupHeader.sequenceNumber, bufPos, bufEnd); - - return rv; -} - -static UA_StatusCode -UA_PayloadHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - if(src->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - if(src->payloadHeader.dataSetPayloadHeader.dataSetWriterIds == NULL) - return UA_STATUSCODE_BADENCODINGERROR; - - UA_Byte count = src->payloadHeader.dataSetPayloadHeader.count; - - UA_StatusCode rv = UA_Byte_encodeBinary(&count, bufPos, bufEnd); - - for(UA_Byte i = 0; i < count; i++) { - UA_UInt16 dswId = src->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[i]; - rv |= UA_UInt16_encodeBinary(&dswId, bufPos, bufEnd); - } - - return rv; -} - -static UA_StatusCode -UA_ExtendedNetworkMessageHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - UA_StatusCode rv = UA_STATUSCODE_GOOD; - if(src->timestampEnabled) - rv |= UA_DateTime_encodeBinary(&src->timestamp, bufPos, bufEnd); - - if(src->picosecondsEnabled) - rv |= UA_UInt16_encodeBinary(&src->picoseconds, bufPos, bufEnd); - - if(src->promotedFieldsEnabled) { - /* Size (calculate & encode) */ - UA_UInt16 pfSize = 0; - for(UA_UInt16 i = 0; i < src->promotedFieldsSize; i++) - pfSize = (UA_UInt16)(pfSize + UA_Variant_calcSizeBinary(&src->promotedFields[i])); - rv |= UA_UInt16_encodeBinary(&pfSize, bufPos, bufEnd); - - for(UA_UInt16 i = 0; i < src->promotedFieldsSize; i++) - rv |= UA_Variant_encodeBinary(&src->promotedFields[i], bufPos, bufEnd); - } - - return rv; -} - -static UA_StatusCode -UA_SecurityHeader_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - /* SecurityFlags */ - UA_Byte v = 0; - if(src->securityHeader.networkMessageSigned) - v |= SECURITY_HEADER_NM_SIGNED; - - if(src->securityHeader.networkMessageEncrypted) - v |= SECURITY_HEADER_NM_ENCRYPTED; - - if(src->securityHeader.securityFooterEnabled) - v |= SECURITY_HEADER_SEC_FOOTER_ENABLED; - - if(src->securityHeader.forceKeyReset) - v |= SECURITY_HEADER_FORCE_KEY_RESET; - - UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - - /* SecurityTokenId */ - rv |= UA_UInt32_encodeBinary(&src->securityHeader.securityTokenId, bufPos, bufEnd); - - /* NonceLength */ - UA_Byte nonceLength = (UA_Byte)src->securityHeader.messageNonceSize; - rv |= UA_Byte_encodeBinary(&nonceLength, bufPos, bufEnd); - - /* MessageNonce */ - for(size_t i = 0; i < src->securityHeader.messageNonceSize; i++) { - rv |= UA_Byte_encodeBinary(&src->securityHeader.messageNonce[i], - bufPos, bufEnd); - } - - /* SecurityFooterSize */ - if(src->securityHeader.securityFooterEnabled) { - rv |= UA_UInt16_encodeBinary(&src->securityHeader.securityFooterSize, - bufPos, bufEnd); - } - - return rv; -} - -UA_StatusCode -UA_NetworkMessage_encodeHeaders(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - /* Message Header */ - UA_StatusCode rv = UA_NetworkMessageHeader_encodeBinary(src, bufPos, bufEnd); - - /* Group Header */ - if(src->groupHeaderEnabled) - rv |= UA_GroupHeader_encodeBinary(src, bufPos, bufEnd); - - /* Payload Header */ - if(src->payloadHeaderEnabled) - rv |= UA_PayloadHeader_encodeBinary(src, bufPos, bufEnd); - - /* Extended Network Message Header */ - rv |= UA_ExtendedNetworkMessageHeader_encodeBinary(src, bufPos, bufEnd); - - /* SecurityHeader */ - if(src->securityEnabled) - rv |= UA_SecurityHeader_encodeBinary(src, bufPos, bufEnd); - - return rv; -} - - -UA_StatusCode -UA_NetworkMessage_encodePayload(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - UA_StatusCode rv; - - // Payload - if(src->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - UA_Byte count = 1; - - if(src->payloadHeaderEnabled) { - count = src->payloadHeader.dataSetPayloadHeader.count; - if(count > 1) { - for(UA_Byte i = 0; i < count; i++) { - /* Calculate the size, if not specified */ - UA_UInt16 sz = 0; - if((src->payload.dataSetPayload.sizes != NULL) && - (src->payload.dataSetPayload.sizes[i] != 0)) { - sz = src->payload.dataSetPayload.sizes[i]; - } else { - UA_DataSetMessage *dsm = &src->payload.dataSetPayload.dataSetMessages[i]; - sz = (UA_UInt16)UA_DataSetMessage_calcSizeBinary(dsm, NULL, 0); - } - - rv = UA_UInt16_encodeBinary(&sz, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - } - } - - for(UA_Byte i = 0; i < count; i++) { - UA_DataSetMessage *dsm = &src->payload.dataSetPayload.dataSetMessages[i]; - rv = UA_DataSetMessage_encodeBinary(dsm, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_NetworkMessage_encodeFooters(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - UA_StatusCode rv = UA_STATUSCODE_GOOD; - if(src->securityEnabled && - src->securityHeader.securityFooterEnabled) { - for(size_t i = 0; i < src->securityHeader.securityFooterSize; i++) { - rv |= UA_Byte_encodeBinary(&src->securityFooter.data[i], bufPos, bufEnd); - } - } - return rv; -} - -UA_StatusCode -UA_NetworkMessage_encodeBinary(const UA_NetworkMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd, UA_Byte **dataToEncryptStart) { - UA_StatusCode rv = UA_NetworkMessage_encodeHeaders(src, bufPos, bufEnd); - - if(dataToEncryptStart) - *dataToEncryptStart = *bufPos; - - rv |= UA_NetworkMessage_encodePayload(src, bufPos, bufEnd); - rv |= UA_NetworkMessage_encodeFooters(src, bufPos, bufEnd); - return rv; -} - -UA_StatusCode -UA_NetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst) { - UA_Byte decoded = 0; - UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &decoded); - UA_CHECK_STATUS(rv, return rv); - - dst->version = decoded & NM_VERSION_MASK; - - if((decoded & NM_PUBLISHER_ID_ENABLED_MASK) != 0) - dst->publisherIdEnabled = true; - - if((decoded & NM_GROUP_HEADER_ENABLED_MASK) != 0) - dst->groupHeaderEnabled = true; - - if((decoded & NM_PAYLOAD_HEADER_ENABLED_MASK) != 0) - dst->payloadHeaderEnabled = true; - - if((decoded & NM_EXTENDEDFLAGS1_ENABLED_MASK) != 0) { - decoded = 0; - rv = UA_Byte_decodeBinary(src, offset, &decoded); - UA_CHECK_STATUS(rv, return rv); - - dst->publisherIdType = (UA_PublisherIdType)(decoded & NM_PUBLISHER_ID_MASK); - if((decoded & NM_DATASET_CLASSID_ENABLED_MASK) != 0) - dst->dataSetClassIdEnabled = true; - - if((decoded & NM_SECURITY_ENABLED_MASK) != 0) - dst->securityEnabled = true; - - if((decoded & NM_TIMESTAMP_ENABLED_MASK) != 0) - dst->timestampEnabled = true; - - if((decoded & NM_PICOSECONDS_ENABLED_MASK) != 0) - dst->picosecondsEnabled = true; - - if((decoded & NM_EXTENDEDFLAGS2_ENABLED_MASK) != 0) { - decoded = 0; - rv = UA_Byte_decodeBinary(src, offset, &decoded); - UA_CHECK_STATUS(rv, return rv); - - if((decoded & NM_CHUNK_MESSAGE_MASK) != 0) - dst->chunkMessage = true; - - if((decoded & NM_PROMOTEDFIELDS_ENABLED_MASK) != 0) - dst->promotedFieldsEnabled = true; - - decoded = decoded & NM_NETWORK_MSG_TYPE_MASK; - decoded = (UA_Byte) (decoded >> NM_SHIFT_LEN); - dst->networkMessageType = (UA_NetworkMessageType)decoded; - } - } - - if(dst->publisherIdEnabled) { - switch (dst->publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - rv = UA_Byte_decodeBinary(src, offset, &dst->publisherId.byte); - break; - - case UA_PUBLISHERIDTYPE_UINT16: - rv = UA_UInt16_decodeBinary(src, offset, &dst->publisherId.uint16); - break; - - case UA_PUBLISHERIDTYPE_UINT32: - rv = UA_UInt32_decodeBinary(src, offset, &dst->publisherId.uint32); - break; - - case UA_PUBLISHERIDTYPE_UINT64: - rv = UA_UInt64_decodeBinary(src, offset, &dst->publisherId.uint64); - break; - - case UA_PUBLISHERIDTYPE_STRING: - rv = UA_String_decodeBinary(src, offset, &dst->publisherId.string); - break; - - default: - rv = UA_STATUSCODE_BADINTERNALERROR; - break; - } - UA_CHECK_STATUS(rv, return rv); - } - - if(dst->dataSetClassIdEnabled) { - rv = UA_Guid_decodeBinary(src, offset, &dst->dataSetClassId); - UA_CHECK_STATUS(rv, return rv); - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_GroupHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage* dst) { - UA_Byte decoded = 0; - UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &decoded); - - if((decoded & GROUP_HEADER_WRITER_GROUPID_ENABLED) != 0) { - dst->groupHeader.writerGroupIdEnabled = true; - rv |= UA_UInt16_decodeBinary(src, offset, &dst->groupHeader.writerGroupId); - } - - if((decoded & GROUP_HEADER_GROUP_VERSION_ENABLED) != 0) { - dst->groupHeader.groupVersionEnabled = true; - rv |= UA_UInt32_decodeBinary(src, offset, &dst->groupHeader.groupVersion); - } - - if((decoded & GROUP_HEADER_NM_NUMBER_ENABLED) != 0) { - dst->groupHeader.networkMessageNumberEnabled = true; - rv |= UA_UInt16_decodeBinary(src, offset, &dst->groupHeader.networkMessageNumber); - } - - if((decoded & GROUP_HEADER_SEQUENCE_NUMBER_ENABLED) != 0) { - dst->groupHeader.sequenceNumberEnabled = true; - rv |= UA_UInt16_decodeBinary(src, offset, &dst->groupHeader.sequenceNumber); - } - - return rv; -} - -static UA_StatusCode -UA_PayloadHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage* dst) { - - if(dst->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &dst->payloadHeader.dataSetPayloadHeader.count); - UA_CHECK_STATUS(rv, return rv); - - dst->payloadHeader.dataSetPayloadHeader.dataSetWriterIds = - (UA_UInt16 *)UA_Array_new(dst->payloadHeader.dataSetPayloadHeader.count, - &UA_TYPES[UA_TYPES_UINT16]); - for(UA_Byte i = 0; i < dst->payloadHeader.dataSetPayloadHeader.count; i++) { - rv = UA_UInt16_decodeBinary(src, offset, - &dst->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[i]); - UA_CHECK_STATUS(rv, return rv); - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ExtendedNetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage* dst) { - UA_StatusCode rv; - - // Timestamp - if(dst->timestampEnabled) { - rv = UA_DateTime_decodeBinary(src, offset, &dst->timestamp); - UA_CHECK_STATUS(rv, goto error); - } - - // Picoseconds - if(dst->picosecondsEnabled) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->picoseconds); - UA_CHECK_STATUS(rv, goto error); - } - - // PromotedFields - if(dst->promotedFieldsEnabled) { - // Size - UA_UInt16 promotedFieldsSize = 0; - rv = UA_UInt16_decodeBinary(src, offset, &promotedFieldsSize); - UA_CHECK_STATUS(rv, goto error); - - // promotedFieldsSize: here size in Byte, not the number of objects! - if(promotedFieldsSize > 0) { - // store offset, later compared with promotedFieldsSize - size_t offsetEnd = (*offset) + promotedFieldsSize; - - unsigned int counter = 0; - do { - if(counter == 0) { - dst->promotedFields = (UA_Variant*)UA_malloc(UA_TYPES[UA_TYPES_VARIANT].memSize); - UA_CHECK_MEM(dst->promotedFields, - return UA_STATUSCODE_BADOUTOFMEMORY); - // set promotedFieldsSize to the number of objects - dst->promotedFieldsSize = (UA_UInt16) (counter + 1); - } else { - dst->promotedFields = (UA_Variant*) - UA_realloc(dst->promotedFields, - (size_t) UA_TYPES[UA_TYPES_VARIANT].memSize * (counter + 1)); - UA_CHECK_MEM(dst->promotedFields, - return UA_STATUSCODE_BADOUTOFMEMORY); - // set promotedFieldsSize to the number of objects - dst->promotedFieldsSize = (UA_UInt16) (counter + 1); - } - - UA_Variant_init(&dst->promotedFields[counter]); - rv = UA_Variant_decodeBinary(src, offset, &dst->promotedFields[counter]); - UA_CHECK_STATUS(rv, goto error); - - counter++; - } while ((*offset) < offsetEnd); - } - } - return UA_STATUSCODE_GOOD; - -error: - if(dst->promotedFields) { - UA_free(dst->promotedFields); - dst->promotedFields = NULL; - } - return rv; -} - -static UA_StatusCode -UA_SecurityHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage* dst) { - UA_Byte decoded = 0; - // SecurityFlags - decoded = 0; - UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &decoded); - UA_CHECK_STATUS(rv, return rv); - - if((decoded & SECURITY_HEADER_NM_SIGNED) != 0) - dst->securityHeader.networkMessageSigned = true; - - if((decoded & SECURITY_HEADER_NM_ENCRYPTED) != 0) - dst->securityHeader.networkMessageEncrypted = true; - - if((decoded & SECURITY_HEADER_SEC_FOOTER_ENABLED) != 0) - dst->securityHeader.securityFooterEnabled = true; - - if((decoded & SECURITY_HEADER_FORCE_KEY_RESET) != 0) - dst->securityHeader.forceKeyReset = true; - - // SecurityTokenId - rv = UA_UInt32_decodeBinary(src, offset, &dst->securityHeader.securityTokenId); - UA_CHECK_STATUS(rv, return rv); - - // MessageNonce - UA_Byte nonceLength; - rv = UA_Byte_decodeBinary(src, offset, &nonceLength); - UA_CHECK_STATUS(rv, return rv); - if(nonceLength > UA_NETWORKMESSAGE_MAX_NONCE_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - if(nonceLength > 0) { - dst->securityHeader.messageNonceSize = nonceLength; - for(UA_Byte i = 0; i < nonceLength; i++) { - rv = UA_Byte_decodeBinary(src, offset, - &dst->securityHeader.messageNonce[i]); - UA_CHECK_STATUS(rv, return rv); - } - } - - // SecurityFooterSize - if(dst->securityHeader.securityFooterEnabled) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->securityHeader.securityFooterSize); - UA_CHECK_STATUS(rv, return rv); - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_NetworkMessage_decodeHeaders(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst) { - - UA_StatusCode rv = UA_NetworkMessageHeader_decodeBinary(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - - if(dst->groupHeaderEnabled) { - rv = UA_GroupHeader_decodeBinary(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - } - - if(dst->payloadHeaderEnabled) { - rv = UA_PayloadHeader_decodeBinary(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - } - - rv = UA_ExtendedNetworkMessageHeader_decodeBinary(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - - if(dst->securityEnabled) { - rv = UA_SecurityHeader_decodeBinary(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_NetworkMessage_decodePayload(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst, const UA_DataTypeArray *customTypes, UA_DataSetMetaDataType *dsm) { - - // Payload - if(dst->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - UA_StatusCode rv; - - UA_Byte count = 1; - if(dst->payloadHeaderEnabled) { - count = dst->payloadHeader.dataSetPayloadHeader.count; - if(count > 1) { - dst->payload.dataSetPayload.sizes = (UA_UInt16 *)UA_Array_new(count, &UA_TYPES[UA_TYPES_UINT16]); - for(UA_Byte i = 0; i < count; i++) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->payload.dataSetPayload.sizes[i]); - UA_CHECK_STATUS(rv, return rv); - } - } - } - - dst->payload.dataSetPayload.dataSetMessages = (UA_DataSetMessage*) - UA_calloc(count, sizeof(UA_DataSetMessage)); - UA_CHECK_MEM(dst->payload.dataSetPayload.dataSetMessages, - return UA_STATUSCODE_BADOUTOFMEMORY); - - if(count == 1) - rv = UA_DataSetMessage_decodeBinary(src, offset, - &dst->payload.dataSetPayload.dataSetMessages[0], - 0, customTypes, dsm); - else { - for(UA_Byte i = 0; i < count; i++) { - rv = UA_DataSetMessage_decodeBinary(src, offset, - &dst->payload.dataSetPayload.dataSetMessages[i], - dst->payload.dataSetPayload.sizes[i], customTypes, - dsm); - } - } - UA_CHECK_STATUS(rv, return rv); - - return UA_STATUSCODE_GOOD; - - /** - * TODO: check if making the cleanup to free its own allocated memory is better, - * currently the free happens in a parent context - */ -} - -UA_StatusCode -UA_NetworkMessage_decodeFooters(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage *dst) { - if(!dst->securityEnabled) - return UA_STATUSCODE_GOOD; - - // SecurityFooter - UA_StatusCode rv = UA_STATUSCODE_GOOD; - if(dst->securityHeader.securityFooterEnabled && - dst->securityHeader.securityFooterSize > 0) { - rv = UA_ByteString_allocBuffer(&dst->securityFooter, - dst->securityHeader.securityFooterSize); - UA_CHECK_STATUS(rv, return rv); - - for(UA_UInt16 i = 0; i < dst->securityHeader.securityFooterSize; i++) { - rv |= UA_Byte_decodeBinary(src, offset, &dst->securityFooter.data[i]); - } - } - return rv; -} - -UA_StatusCode -UA_NetworkMessage_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_NetworkMessage* dst, const UA_DataTypeArray *customTypes) { - /* headers only need to be decoded when not in encryption mode - * because headers are already decoded when encryption mode is enabled - * to check for security parameters and decrypt/verify - * - * TODO: check if there is a workaround to use this function - * also when encryption is enabled - */ - // #ifndef UA_ENABLE_PUBSUB_ENCRYPTION - // if(*offset == 0) { - // rv = UA_NetworkMessage_decodeHeaders(src, offset, dst); - // UA_CHECK_STATUS(rv, return rv); - // } - // #endif - - UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - - rv = UA_NetworkMessage_decodePayload(src, offset, dst, customTypes, NULL); - UA_CHECK_STATUS(rv, return rv); - - rv = UA_NetworkMessage_decodeFooters(src, offset, dst); - UA_CHECK_STATUS(rv, return rv); - - return UA_STATUSCODE_GOOD; -} - -static UA_Boolean -increaseOffsetArray(UA_NetworkMessageOffsetBuffer *offsetBuffer) { - UA_NetworkMessageOffset *tmpOffsets = (UA_NetworkMessageOffset *) - UA_realloc(offsetBuffer->offsets, sizeof(UA_NetworkMessageOffset) * (offsetBuffer->offsetsSize + (size_t)1)); - UA_CHECK_MEM(tmpOffsets, return false); - memset(&tmpOffsets[offsetBuffer->offsetsSize], 0, sizeof(UA_NetworkMessageOffset)); - offsetBuffer->offsets = tmpOffsets; - offsetBuffer->offsetsSize++; - return true; -} - -size_t -UA_NetworkMessage_calcSizeBinary(UA_NetworkMessage *p, - UA_NetworkMessageOffsetBuffer *offsetBuffer) { - size_t size = 1; /* byte */ - if(UA_NetworkMessage_ExtendedFlags1Enabled(p)) { - size += 1; /* byte */ - if(UA_NetworkMessage_ExtendedFlags2Enabled(p)) - size += 1; /* byte */ - } - - if(p->publisherIdEnabled) { - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_PUBLISHERID; - } - - switch(p->publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - size += 1; /* byte */ - break; - case UA_PUBLISHERIDTYPE_UINT16: - size += 2; /* uint16 */ - break; - case UA_PUBLISHERIDTYPE_UINT32: - size += 4; /* uint32 */ - break; - case UA_PUBLISHERIDTYPE_UINT64: - size += 8; /* uint64 */ - break; - case UA_PUBLISHERIDTYPE_STRING: - size += UA_String_calcSizeBinary(&p->publisherId.string); - break; - } - } - - if(p->dataSetClassIdEnabled) - size += 16; /* guid */ - - // Group Header - if(p->groupHeaderEnabled) { - size += 1; /* byte */ - - if(p->groupHeader.writerGroupIdEnabled) { - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_WRITERGROUPID; - } - size += 2; /* UA_UInt16_calcSizeBinary(&p->groupHeader.writerGroupId) */ - } - - if(p->groupHeader.groupVersionEnabled) - size += 4; /* UA_UInt32_calcSizeBinary(&p->groupHeader.groupVersion) */ - - if(p->groupHeader.networkMessageNumberEnabled) { - size += 2; /* UA_UInt16_calcSizeBinary(&p->groupHeader.networkMessageNumber) */ - } - - if(p->groupHeader.sequenceNumberEnabled){ - if(offsetBuffer){ - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].content.sequenceNumber = - p->groupHeader.sequenceNumber; - offsetBuffer->offsets[pos].contentType = - UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER; - } - size += 2; /* UA_UInt16_calcSizeBinary(&p->groupHeader.sequenceNumber) */ - } - } - - // Payload Header - if(p->payloadHeaderEnabled) { - if(p->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return 0; /* not implemented */ - if(!p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds) - return 0; /* no dataSetWriterIds given! */ - size += 1; /* p->payloadHeader.dataSetPayloadHeader.count */ - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_DATASETWRITERID; - } - size += (size_t)(2LU * p->payloadHeader.dataSetPayloadHeader.count); /* uint16 */ - } - - if(p->timestampEnabled) { - if(offsetBuffer){ - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_TIMESTAMP; - } - size += 8; /* UA_DateTime_calcSizeBinary(&p->timestamp) */ - } - - if(p->picosecondsEnabled){ - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].contentType = UA_PUBSUB_OFFSETTYPE_TIMESTAMP_PICOSECONDS; - } - size += 2; /* UA_UInt16_calcSizeBinary(&p->picoseconds) */ - } - - if(p->promotedFieldsEnabled) { - size += 2; /* UA_UInt16_calcSizeBinary(&p->promotedFieldsSize) */ - for(UA_UInt16 i = 0; i < p->promotedFieldsSize; i++) - size += UA_Variant_calcSizeBinary(&p->promotedFields[i]); - } - - if(p->securityEnabled) { - size += 1; /* UA_Byte_calcSizeBinary(&byte) */ - size += 4; /* UA_UInt32_calcSizeBinary(&p->securityHeader.securityTokenId) */ - size += 1; /* UA_Byte_calcSizeBinary(&p->securityHeader.nonceLength) */ - size += p->securityHeader.messageNonceSize; - if(p->securityHeader.securityFooterEnabled) - size += 2; /* UA_UInt16_calcSizeBinary(&p->securityHeader.securityFooterSize) */ - } - - /* Encode the payload */ - if(p->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return 0; /* not implemented */ - UA_Byte count = 1; - if(p->payloadHeaderEnabled) { - count = p->payloadHeader.dataSetPayloadHeader.count; - if(count > 1) - size += (size_t)(2LU * count); /* uint16 */ - } - for(size_t i = 0; i < count; i++) { - UA_DataSetMessage *dsm = &p->payload.dataSetPayload.dataSetMessages[i]; - size = UA_DataSetMessage_calcSizeBinary(dsm, offsetBuffer, size); - } - - if(p->securityEnabled && p->securityHeader.securityFooterEnabled) - size += p->securityHeader.securityFooterSize; - - return size; -} - -void -UA_NetworkMessage_clear(UA_NetworkMessage* p) { - if(p->promotedFieldsEnabled) { - UA_Array_delete(p->promotedFields, p->promotedFieldsSize, - &UA_TYPES[UA_TYPES_VARIANT]); - } - - if(p->networkMessageType == UA_NETWORKMESSAGE_DATASET) { - if(p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds && - p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds != UA_EMPTY_ARRAY_SENTINEL) - UA_free(p->payloadHeader.dataSetPayloadHeader.dataSetWriterIds); - - if(p->payload.dataSetPayload.sizes) - UA_free(p->payload.dataSetPayload.sizes); - - if(p->payload.dataSetPayload.dataSetMessages) { - UA_Byte count = 1; - if(p->payloadHeaderEnabled) - count = p->payloadHeader.dataSetPayloadHeader.count; - for(size_t i = 0; i < count; i++) - UA_DataSetMessage_clear(&p->payload.dataSetPayload.dataSetMessages[i]); - UA_free(p->payload.dataSetPayload.dataSetMessages); - } - } - - UA_ByteString_clear(&p->securityFooter); - UA_String_clear(&p->messageId); - - if(p->publisherIdEnabled && - p->publisherIdType == UA_PUBLISHERIDTYPE_STRING) - UA_String_clear(&p->publisherId.string); - - memset(p, 0, sizeof(UA_NetworkMessage)); -} - -UA_Boolean -UA_NetworkMessage_ExtendedFlags1Enabled(const UA_NetworkMessage* src) { - if(src->publisherIdType != UA_PUBLISHERIDTYPE_BYTE || - src->dataSetClassIdEnabled || src->securityEnabled || - src->timestampEnabled || src->picosecondsEnabled || - UA_NetworkMessage_ExtendedFlags2Enabled(src)) - return true; - return false; -} - -UA_Boolean -UA_NetworkMessage_ExtendedFlags2Enabled(const UA_NetworkMessage* src) { - if(src->chunkMessage || src->promotedFieldsEnabled || - src->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return true; - return false; -} - -UA_Boolean -UA_DataSetMessageHeader_DataSetFlags2Enabled(const UA_DataSetMessageHeader* src) { - if(src->dataSetMessageType != UA_DATASETMESSAGE_DATAKEYFRAME || - src->timestampEnabled || src->picoSecondsIncluded) - return true; - return false; -} - -UA_StatusCode -UA_DataSetMessageHeader_encodeBinary(const UA_DataSetMessageHeader* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - UA_Byte v; - // DataSetFlags1 - v = (UA_Byte)src->fieldEncoding; - // shift left 1 bit - v = (UA_Byte)(v << DS_MH_SHIFT_LEN); - - if(src->dataSetMessageValid) - v |= DS_MESSAGEHEADER_DS_MSG_VALID; - - if(src->dataSetMessageSequenceNrEnabled) - v |= DS_MESSAGEHEADER_SEQ_NR_ENABLED_MASK; - - if(src->statusEnabled) - v |= DS_MESSAGEHEADER_STATUS_ENABLED_MASK; - - if(src->configVersionMajorVersionEnabled) - v |= DS_MESSAGEHEADER_CONFIGMAJORVERSION_ENABLED_MASK; - - if(src->configVersionMinorVersionEnabled) - v |= DS_MESSAGEHEADER_CONFIGMINORVERSION_ENABLED_MASK; - - if(UA_DataSetMessageHeader_DataSetFlags2Enabled(src)) - v |= DS_MESSAGEHEADER_FLAGS2_ENABLED_MASK; - - UA_StatusCode rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - // DataSetFlags2 - if(UA_DataSetMessageHeader_DataSetFlags2Enabled(src)) { - v = (UA_Byte)src->dataSetMessageType; - - if(src->timestampEnabled) - v |= DS_MESSAGEHEADER_TIMESTAMP_ENABLED_MASK; - - if(src->picoSecondsIncluded) - v |= DS_MESSAGEHEADER_PICOSECONDS_INCLUDED_MASK; - - rv = UA_Byte_encodeBinary(&v, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - // DataSetMessageSequenceNr - if(src->dataSetMessageSequenceNrEnabled) { - rv = UA_UInt16_encodeBinary(&src->dataSetMessageSequenceNr, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - // Timestamp - if(src->timestampEnabled) { - rv = UA_DateTime_encodeBinary(&src->timestamp, bufPos, bufEnd); /* UtcTime */ - UA_CHECK_STATUS(rv, return rv); - } - - // PicoSeconds - if(src->picoSecondsIncluded) { - rv = UA_UInt16_encodeBinary(&src->picoSeconds, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - // Status - if(src->statusEnabled) { - rv = UA_UInt16_encodeBinary(&src->status, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - // ConfigVersionMajorVersion - if(src->configVersionMajorVersionEnabled) { - rv = UA_UInt32_encodeBinary(&src->configVersionMajorVersion, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - // ConfigVersionMinorVersion - if(src->configVersionMinorVersionEnabled) { - rv = UA_UInt32_encodeBinary(&src->configVersionMinorVersion, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - return UA_STATUSCODE_GOOD; -} - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - -UA_StatusCode -UA_NetworkMessage_signEncrypt(UA_NetworkMessage *nm, UA_MessageSecurityMode securityMode, - UA_PubSubSecurityPolicy *policy, void *policyContext, - UA_Byte *messageStart, UA_Byte *encryptStart, - UA_Byte *sigStart) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - - /* Encrypt the payload */ - if(securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - /* Set the temporary MessageNonce in the SecurityPolicy */ - const UA_ByteString nonce = { - (size_t)nm->securityHeader.messageNonceSize, - nm->securityHeader.messageNonce - }; - res = policy->setMessageNonce(policyContext, &nonce); - UA_CHECK_STATUS(res, return res); - - /* The encryption is done in-place, no need to encode again */ - UA_ByteString encryptBuf; - encryptBuf.data = encryptStart; - encryptBuf.length = (uintptr_t)sigStart - (uintptr_t)encryptStart; - res = policy->symmetricModule.cryptoModule.encryptionAlgorithm. - encrypt(policyContext, &encryptBuf); - UA_CHECK_STATUS(res, return res); - } - - /* Sign the entire message */ - if(securityMode == UA_MESSAGESECURITYMODE_SIGN || - securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - UA_ByteString sigBuf; - sigBuf.length = (uintptr_t)sigStart - (uintptr_t)messageStart; - sigBuf.data = messageStart; - size_t sigSize = policy->symmetricModule.cryptoModule. - signatureAlgorithm.getLocalSignatureSize(policyContext); - UA_ByteString sig = {sigSize, sigStart}; - res = policy->symmetricModule.cryptoModule. - signatureAlgorithm.sign(policyContext, &sigBuf, &sig); - } - - return res; -} -#endif - -UA_StatusCode -UA_DataSetMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, - UA_DataSetMessageHeader* dst) { - memset(dst, 0, sizeof(UA_DataSetMessageHeader)); - UA_Byte v = 0; - UA_StatusCode rv = UA_Byte_decodeBinary(src, offset, &v); - UA_CHECK_STATUS(rv, return rv); - - UA_Byte v2 = v & DS_MESSAGEHEADER_FIELD_ENCODING_MASK; - v2 = (UA_Byte)(v2 >> DS_MH_SHIFT_LEN); - dst->fieldEncoding = (UA_FieldEncoding)v2; - - if((v & DS_MESSAGEHEADER_DS_MSG_VALID) != 0) - dst->dataSetMessageValid = true; - - if((v & DS_MESSAGEHEADER_SEQ_NR_ENABLED_MASK) != 0) - dst->dataSetMessageSequenceNrEnabled = true; - - if((v & DS_MESSAGEHEADER_STATUS_ENABLED_MASK) != 0) - dst->statusEnabled = true; - - if((v & DS_MESSAGEHEADER_CONFIGMAJORVERSION_ENABLED_MASK) != 0) - dst->configVersionMajorVersionEnabled = true; - - if((v & DS_MESSAGEHEADER_CONFIGMINORVERSION_ENABLED_MASK) != 0) - dst->configVersionMinorVersionEnabled = true; - - if((v & DS_MESSAGEHEADER_FLAGS2_ENABLED_MASK) != 0) { - v = 0; - rv = UA_Byte_decodeBinary(src, offset, &v); - UA_CHECK_STATUS(rv, return rv); - - dst->dataSetMessageType = (UA_DataSetMessageType)(v & DS_MESSAGEHEADER_DS_MESSAGE_TYPE_MASK); - - if((v & DS_MESSAGEHEADER_TIMESTAMP_ENABLED_MASK) != 0) - dst->timestampEnabled = true; - - if((v & DS_MESSAGEHEADER_PICOSECONDS_INCLUDED_MASK) != 0) - dst->picoSecondsIncluded = true; - } else { - dst->dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; - dst->picoSecondsIncluded = false; - } - - if(dst->dataSetMessageSequenceNrEnabled) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->dataSetMessageSequenceNr); - UA_CHECK_STATUS(rv, return rv); - } else { - dst->dataSetMessageSequenceNr = 0; - } - - if(dst->timestampEnabled) { - rv = UA_DateTime_decodeBinary(src, offset, &dst->timestamp); /* UtcTime */ - UA_CHECK_STATUS(rv, return rv); - } else { - dst->timestamp = 0; - } - - if(dst->picoSecondsIncluded) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->picoSeconds); - UA_CHECK_STATUS(rv, return rv); - } else { - dst->picoSeconds = 0; - } - - if(dst->statusEnabled) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->status); - UA_CHECK_STATUS(rv, return rv); - } else { - dst->status = 0; - } - - if(dst->configVersionMajorVersionEnabled) { - rv = UA_UInt32_decodeBinary(src, offset, &dst->configVersionMajorVersion); - UA_CHECK_STATUS(rv, return rv); - } else { - dst->configVersionMajorVersion = 0; - } - - if(dst->configVersionMinorVersionEnabled) { - rv = UA_UInt32_decodeBinary(src, offset, &dst->configVersionMinorVersion); - UA_CHECK_STATUS(rv, return rv); - } else { - dst->configVersionMinorVersion = 0; - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_DataSetMessage_encodeBinary(const UA_DataSetMessage* src, UA_Byte **bufPos, - const UA_Byte *bufEnd) { - UA_StatusCode rv = UA_DataSetMessageHeader_encodeBinary(&src->header, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - if(src->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { - /* Heartbeat: "DataSetMessage is a key frame that only contains header - * information" */ - if(src->data.keyFrameData.fieldCount == 0) - return rv; - - if(src->header.fieldEncoding != UA_FIELDENCODING_RAWDATA) { - rv = UA_UInt16_encodeBinary(&src->data.keyFrameData.fieldCount, - bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - - for(UA_UInt16 i = 0; i < src->data.keyFrameData.fieldCount; i++) { - const UA_DataValue *v = &src->data.keyFrameData.dataSetFields[i]; - - if(src->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { - rv = UA_Variant_encodeBinary(&v->value, bufPos, bufEnd); - } else if(src->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { - UA_FieldMetaData *fmd = - &src->data.keyFrameData.dataSetMetaDataType->fields[i]; - if(fmd->maxStringLength != 0 && - (v->value.type->typeKind == UA_DATATYPEKIND_STRING || - v->value.type->typeKind == UA_DATATYPEKIND_BYTESTRING)){ - rv = UA_encodeBinaryInternal(v->value.data, v->value.type, - bufPos, &bufEnd, NULL, NULL); - size_t lengthDifference = fmd->maxStringLength - - ((UA_String *)v->value.data)->length; - memset(*bufPos, 0, lengthDifference); - *bufPos += lengthDifference; - } else { - /* padding not yet supported for strings as part of structures */ - rv = UA_encodeBinaryInternal(v->value.data, v->value.type, - bufPos, &bufEnd, NULL, NULL); - } - } else if(src->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { - rv = UA_DataValue_encodeBinary(v, bufPos, bufEnd); - } - - UA_CHECK_STATUS(rv, return rv); - } - } else if(src->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { - // Encode Delta Frame - // Here the FieldCount is always present - rv = UA_UInt16_encodeBinary(&src->data.deltaFrameData.fieldCount, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - if(src->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { - for(UA_UInt16 i = 0; i < src->data.deltaFrameData.fieldCount; i++) { - rv = UA_UInt16_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldIndex, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - rv = UA_Variant_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldValue.value, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - } else if(src->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } else if(src->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { - for(UA_UInt16 i = 0; i < src->data.deltaFrameData.fieldCount; i++) { - rv = UA_UInt16_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldIndex, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - rv = UA_DataValue_encodeBinary(&src->data.deltaFrameData.deltaFrameFields[i].fieldValue, bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - } - } - } else if(src->header.dataSetMessageType != UA_DATASETMESSAGE_KEEPALIVE) { - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - - /* if the configuredSize is set -> padd the message with 0. */ - if(src->configuredSize > 0 && src->header.dataSetMessageValid) { - size_t padding = (size_t)(bufEnd - *bufPos); - /* Set the bytes to 0*/ - memset(*bufPos, 0, padding); - /* move the bufpos accordingly*/ - *bufPos += padding; - } - /* Keep-Alive Message contains no Payload Data */ - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_DataSetMessage_decodeBinary(const UA_ByteString *src, size_t *offset, UA_DataSetMessage* dst, UA_UInt16 dsmSize, const UA_DataTypeArray *customTypes, UA_DataSetMetaDataType *dsm) { - size_t initialOffset = *offset; - memset(dst, 0, sizeof(UA_DataSetMessage)); - UA_StatusCode rv = UA_DataSetMessageHeader_decodeBinary(src, offset, &dst->header); - UA_CHECK_STATUS(rv, return rv); - - if(dst->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { - if(*offset == src->length) { - /* Messages ends after the header --> Heartbeat */ - return rv; - } - - switch(dst->header.fieldEncoding) { - case UA_FIELDENCODING_VARIANT: - rv = UA_UInt16_decodeBinary(src, offset, &dst->data.keyFrameData.fieldCount); - UA_CHECK_STATUS(rv, return rv); - dst->data.keyFrameData.dataSetFields = - (UA_DataValue *)UA_Array_new(dst->data.keyFrameData.fieldCount, &UA_TYPES[UA_TYPES_DATAVALUE]); - for(UA_UInt16 i = 0; i < dst->data.keyFrameData.fieldCount; i++) { - UA_DataValue_init(&dst->data.keyFrameData.dataSetFields[i]); - rv = UA_decodeBinaryInternal(src, offset, &dst->data.keyFrameData.dataSetFields[i].value, &UA_TYPES[UA_TYPES_VARIANT], customTypes); - UA_CHECK_STATUS(rv, return rv); - - dst->data.keyFrameData.dataSetFields[i].hasValue = true; - } - break; - case UA_FIELDENCODING_DATAVALUE: - rv = UA_UInt16_decodeBinary(src, offset, &dst->data.keyFrameData.fieldCount); - UA_CHECK_STATUS(rv, return rv); - dst->data.keyFrameData.dataSetFields = - (UA_DataValue *)UA_Array_new(dst->data.keyFrameData.fieldCount, &UA_TYPES[UA_TYPES_DATAVALUE]); - for(UA_UInt16 i = 0; i < dst->data.keyFrameData.fieldCount; i++) { - rv = UA_decodeBinaryInternal(src, offset, - &dst->data.keyFrameData.dataSetFields[i], - &UA_TYPES[UA_TYPES_DATAVALUE], customTypes); - UA_CHECK_STATUS(rv, return rv); - } - break; - case UA_FIELDENCODING_RAWDATA: - dst->data.keyFrameData.rawFields.data = &src->data[*offset]; - dst->data.keyFrameData.rawFields.length = dsmSize; - if(dsmSize == 0){ - if(dsm != NULL) { - size_t tmpOffset = 0; - // calculate the length of the DSM-Payload for a single DSM - dst->data.keyFrameData.fieldCount = (UA_UInt16)dsm->fieldsSize; - for(size_t i = 0; i < dsm->fieldsSize; i++) { - /* TODO The datatype reference should be part of the internal - * pubsub configuration to avoid the time-expensive lookup */ - const UA_DataType *type = - UA_findDataTypeWithCustom(&dsm->fields[i].dataType, - customTypes); - dst->data.keyFrameData.rawFields.length += type->memSize; - UA_STACKARRAY(UA_Byte, value, type->memSize); - rv = UA_decodeBinaryInternal(&dst->data.keyFrameData.rawFields, - &tmpOffset, value, type, NULL); - UA_CHECK_STATUS(rv, return rv); - if(dsm->fields[i].maxStringLength != 0) { - if(type->typeKind == UA_DATATYPEKIND_STRING || - type->typeKind == UA_DATATYPEKIND_BYTESTRING) { - UA_ByteString *bs = (UA_ByteString *) value; - //check if length < maxStringLength, The types ByteString and String are equal in their base definition - size_t lengthDifference = dsm->fields[i].maxStringLength - bs->length; - tmpOffset += lengthDifference; - dst->data.keyFrameData.rawFields.length += lengthDifference; - } - } - } - *offset += tmpOffset; - } else { - //TODO calculate the length of the DSM-Payload for a single DSM - //Problem: Size is not set and MetaData information are needed. - //Increase offset to avoid endless chunk loop. Needs to be fixed when - //pubsub security footer and signatur is enabled. - *offset += 1500; - } - } else { - *offset += (dsmSize - (*offset - initialOffset)); - } - break; - default: - return UA_STATUSCODE_BADINTERNALERROR; - } - } else if(dst->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { - switch(dst->header.fieldEncoding) { - case UA_FIELDENCODING_VARIANT: { - rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.fieldCount); - UA_CHECK_STATUS(rv, return rv); - size_t memsize = sizeof(UA_DataSetMessage_DeltaFrameField) * dst->data.deltaFrameData.fieldCount; - dst->data.deltaFrameData.deltaFrameFields = (UA_DataSetMessage_DeltaFrameField*)UA_malloc(memsize); - for(UA_UInt16 i = 0; i < dst->data.deltaFrameData.fieldCount; i++) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.deltaFrameFields[i].fieldIndex); - UA_CHECK_STATUS(rv, return rv); - - UA_DataValue_init(&dst->data.deltaFrameData.deltaFrameFields[i].fieldValue); - rv = UA_decodeBinaryInternal(src, offset, &dst->data.deltaFrameData.deltaFrameFields[i].fieldValue.value, &UA_TYPES[UA_TYPES_VARIANT], customTypes); - UA_CHECK_STATUS(rv, return rv); - - dst->data.deltaFrameData.deltaFrameFields[i].fieldValue.hasValue = true; - } - break; - } - case UA_FIELDENCODING_DATAVALUE: { - rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.fieldCount); - UA_CHECK_STATUS(rv, return rv); - size_t memsize = sizeof(UA_DataSetMessage_DeltaFrameField) * dst->data.deltaFrameData.fieldCount; - dst->data.deltaFrameData.deltaFrameFields = (UA_DataSetMessage_DeltaFrameField*)UA_malloc(memsize); - for(UA_UInt16 i = 0; i < dst->data.deltaFrameData.fieldCount; i++) { - rv = UA_UInt16_decodeBinary(src, offset, &dst->data.deltaFrameData.deltaFrameFields[i].fieldIndex); - UA_CHECK_STATUS(rv, return rv); - - rv = UA_decodeBinaryInternal(src, offset, - &dst->data.deltaFrameData.deltaFrameFields[i].fieldValue, - &UA_TYPES[UA_TYPES_DATAVALUE], customTypes); - - UA_CHECK_STATUS(rv, return rv); - } - break; - } - case UA_FIELDENCODING_RAWDATA: { - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - default: - return UA_STATUSCODE_BADINTERNALERROR; - } - } else if(dst->header.dataSetMessageType != UA_DATASETMESSAGE_KEEPALIVE) { - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - - /* Keep-Alive Message contains no Payload Data */ - return UA_STATUSCODE_GOOD; -} - -size_t -UA_DataSetMessage_calcSizeBinary(UA_DataSetMessage* p, - UA_NetworkMessageOffsetBuffer *offsetBuffer, - size_t currentOffset) { - size_t size = currentOffset; - - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - offsetBuffer->offsets[pos].offset = size; - UA_DataValue_init(&offsetBuffer->offsets[pos].content.value); - UA_Variant_setScalar(&offsetBuffer->offsets[pos].content.value.value, - &p->header.fieldEncoding, &UA_TYPES[UA_TYPES_UINT32]); - offsetBuffer->offsets[pos].contentType = - UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING; - } - - size += 1; /* byte: DataSetMessage Type + Flags */ - if(UA_DataSetMessageHeader_DataSetFlags2Enabled(&p->header)) - size += 1; /* byte */ - - if(p->header.dataSetMessageSequenceNrEnabled) { - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - offsetBuffer->offsets[pos].offset = size; - offsetBuffer->offsets[pos].content.sequenceNumber = - p->header.dataSetMessageSequenceNr; - offsetBuffer->offsets[pos].contentType = - UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER; - } - size += 2; /* UA_UInt16_calcSizeBinary(&p->header.dataSetMessageSequenceNr) */ - } - - if(p->header.timestampEnabled) - size += 8; /* UA_DateTime_calcSizeBinary(&p->header.timestamp) */ - - if(p->header.picoSecondsIncluded) - size += 2; /* UA_UInt16_calcSizeBinary(&p->header.picoSeconds) */ - - if(p->header.statusEnabled) - size += 2; /* UA_UInt16_calcSizeBinary(&p->header.status) */ - - if(p->header.configVersionMajorVersionEnabled) - size += 4; /* UA_UInt32_calcSizeBinary(&p->header.configVersionMajorVersion) */ - - if(p->header.configVersionMinorVersionEnabled) - size += 4; /* UA_UInt32_calcSizeBinary(&p->header.configVersionMinorVersion) */ - - /* Keyframe with no fields is a heartbeat */ - if(p->header.dataSetMessageType == UA_DATASETMESSAGE_KEEPALIVE || - (p->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME && - p->data.keyFrameData.fieldCount == 0)) - return size; - - if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { - if(p->header.fieldEncoding != UA_FIELDENCODING_RAWDATA) - size += 2; /* p->data.keyFrameData.fieldCount */ - - for(UA_UInt16 i = 0; i < p->data.keyFrameData.fieldCount; i++){ - UA_NetworkMessageOffset *nmo = NULL; - const UA_DataValue *v = &p->data.keyFrameData.dataSetFields[i]; - if(offsetBuffer) { - size_t pos = offsetBuffer->offsetsSize; - if(!increaseOffsetArray(offsetBuffer)) - return 0; - nmo = &offsetBuffer->offsets[pos]; - nmo->offset = size; - } - - if(p->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { - if(offsetBuffer) - nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT; - size += UA_calcSizeBinary(&v->value, &UA_TYPES[UA_TYPES_VARIANT]); - } else if(p->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { - if(p->data.keyFrameData.dataSetFields != NULL) { - if(offsetBuffer) { - if(!v->value.type->pointerFree) - return 0; /* only integer types for now */ - /* Count the memory size of the specific field */ - offsetBuffer->rawMessageLength += v->value.type->memSize; - nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW; - } - size += UA_calcSizeBinary(v->value.data, v->value.type); - - /* Handle zero-padding for strings with max-string-length. - * Currently not supported for strings that are a part of larger - * structures. */ - UA_FieldMetaData *fmd = - &p->data.keyFrameData.dataSetMetaDataType->fields[i]; - if(fmd->maxStringLength != 0 && - (v->value.type->typeKind == UA_DATATYPEKIND_STRING || - v->value.type->typeKind == UA_DATATYPEKIND_BYTESTRING)) { - /* Check if length < maxStringLength, The types ByteString - * and String are equal in their base definition */ - size_t lengthDifference = fmd->maxStringLength - - ((UA_String *)v->value.data)->length; - size += lengthDifference; - } - } else { - /* get length calculated in UA_DataSetMessage_decodeBinary */ - if(offsetBuffer) { - offsetBuffer->rawMessageLength = p->data.keyFrameData.rawFields.length; - nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW; - } - size += p->data.keyFrameData.rawFields.length; - /* no iteration needed */ - break; - } - } else if(p->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { - if(offsetBuffer) - nmo->contentType = UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE; - size += UA_calcSizeBinary(v, &UA_TYPES[UA_TYPES_DATAVALUE]); - } - } - } else if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { - if(offsetBuffer) - return 0; /* Not supported for RT */ - - if(p->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) - return 0; /* not supported */ - - size += 2; /* p->data.deltaFrameData.fieldCount */ - size += (size_t)(2LU * p->data.deltaFrameData.fieldCount); /* fieldIndex per field */ - - for(UA_UInt16 i = 0; i < p->data.deltaFrameData.fieldCount; i++) { - const UA_DataValue *v = &p->data.deltaFrameData.deltaFrameFields[i].fieldValue; - if(p->header.fieldEncoding == UA_FIELDENCODING_VARIANT) - size += UA_calcSizeBinary(&v->value, &UA_TYPES[UA_TYPES_VARIANT]); - else if(p->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) - size += UA_calcSizeBinary(v, &UA_TYPES[UA_TYPES_DATAVALUE]); - } - } else { - return 0; - } - - if(p->configuredSize > 0) { - /* If the message is larger than the configuredSize, it shall be set to not valid */ - if(p->configuredSize < size) - p->header.dataSetMessageValid = UA_FALSE; - - size = p->configuredSize; - } - - /* KeepAlive-Message contains no Payload Data */ - return size; -} - -void -UA_DataSetMessage_clear(UA_DataSetMessage* p) { - if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { - if(p->data.keyFrameData.dataSetFields) { - UA_Array_delete(p->data.keyFrameData.dataSetFields, - p->data.keyFrameData.fieldCount, - &UA_TYPES[UA_TYPES_DATAVALUE]); - } - - /* Json keys */ - if(p->data.keyFrameData.fieldNames){ - UA_Array_delete(p->data.keyFrameData.fieldNames, - p->data.keyFrameData.fieldCount, - &UA_TYPES[UA_TYPES_STRING]); - } - } else if(p->header.dataSetMessageType == UA_DATASETMESSAGE_DATADELTAFRAME) { - if(p->data.deltaFrameData.deltaFrameFields) { - for(UA_UInt16 i = 0; i < p->data.deltaFrameData.fieldCount; i++) { - UA_DataSetMessage_DeltaFrameField *f = - &p->data.deltaFrameData.deltaFrameFields[i]; - UA_DataValue_clear(&f->fieldValue); - } - UA_free(p->data.deltaFrameData.deltaFrameFields); - } - } - - memset(p, 0, sizeof(UA_DataSetMessage)); -} - -void -UA_NetworkMessageOffsetBuffer_clear(UA_NetworkMessageOffsetBuffer *nmob) { - UA_ByteString_clear(&nmob->buffer); - - if(nmob->nm) { - UA_NetworkMessage_clear(nmob->nm); - UA_free(nmob->nm); - } - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_ByteString_clear(&nmob->encryptBuffer); -#endif - - if(nmob->offsetsSize == 0) - return; - - for(size_t i = 0; i < nmob->offsetsSize; i++) { - UA_NetworkMessageOffset *offset = &nmob->offsets[i]; - if(offset->contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT || - offset->contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE || - offset->contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW) { - UA_DataValue_clear(&offset->content.value); - continue; - } - - if(offset->contentType == UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING) { - offset->content.value.value.data = NULL; - UA_DataValue_clear(&offset->content.value); - } - } - - UA_free(nmob->offsets); - - memset(nmob, 0, sizeof(UA_NetworkMessageOffsetBuffer)); -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_eventloop.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2023 Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -/********************/ -/* PubSubConnection */ -/********************/ - -static UA_StatusCode -UA_PubSubConnection_connectUDP(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate); - -static UA_StatusCode -UA_PubSubConnection_connectETH(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate); - -static UA_StatusCode -UA_ReaderGroup_connectMQTT(UA_Server *server, UA_ReaderGroup *rg, - UA_Boolean validate); - -static UA_StatusCode -UA_WriterGroup_connectMQTT(UA_Server *server, UA_WriterGroup *wg, - UA_Boolean validate); - -static UA_StatusCode -UA_WriterGroup_connectUDPUnicast(UA_Server *server, UA_WriterGroup *wg, - UA_Boolean validate); - -#define UA_PUBSUB_PROFILES_SIZE 4 - -typedef struct { - UA_String profileURI; - UA_String protocol; - UA_Boolean json; - UA_StatusCode (*connect)(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate); - UA_StatusCode (*connectWriterGroup)(UA_Server *server, UA_WriterGroup *wg, - UA_Boolean validate); - UA_StatusCode (*connectReaderGroup)(UA_Server *server, UA_ReaderGroup *rg, - UA_Boolean validate); -} ProfileMapping; - -static ProfileMapping transportProfiles[UA_PUBSUB_PROFILES_SIZE] = { - {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-udp-uadp"), - UA_STRING_STATIC("udp"), false, UA_PubSubConnection_connectUDP, - UA_WriterGroup_connectUDPUnicast, NULL}, - {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-uadp"), - UA_STRING_STATIC("mqtt"), false, NULL, - UA_WriterGroup_connectMQTT, UA_ReaderGroup_connectMQTT}, - {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-json"), - UA_STRING_STATIC("mqtt"), true, NULL, - UA_WriterGroup_connectMQTT, UA_ReaderGroup_connectMQTT}, - {UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/pubsub-eth-uadp"), - UA_STRING_STATIC("eth"), false, UA_PubSubConnection_connectETH, NULL, NULL} -}; - -static ProfileMapping * -getProfile(UA_String profileUri) { - for(size_t profile = 0; profile < UA_PUBSUB_PROFILES_SIZE; profile++) { - if(UA_String_equal(&profileUri, &transportProfiles[profile].profileURI)) - return &transportProfiles[profile]; - } - return NULL; -} - -static UA_ConnectionManager * -getCM(UA_EventLoop *el, UA_String protocol) { - for(UA_EventSource *es = el->eventSources; es != NULL; es = es->next) { - if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) - continue; - UA_ConnectionManager *cm = (UA_ConnectionManager*)es; - if(UA_String_equal(&protocol, &cm->protocol)) - return cm; - } - return NULL; -} - -static void -UA_PubSubConnection_removeConnection(UA_PubSubConnection *c, - uintptr_t connectionId) { - if(c->sendChannel == connectionId) { - c->sendChannel = 0; - return; - } - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(c->recvChannels[i] != connectionId) - continue; - c->recvChannels[i] = 0; - c->recvChannelsSize--; - return; - } -} - -static UA_StatusCode -UA_PubSubConnection_addSendConnection(UA_PubSubConnection *c, - uintptr_t connectionId) { - if(c->sendChannel != 0 && c->sendChannel != connectionId) - return UA_STATUSCODE_BADINTERNALERROR; - c->sendChannel = connectionId; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_PubSubConnection_addRecvConnection(UA_PubSubConnection *c, - uintptr_t connectionId) { - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(c->recvChannels[i] == connectionId) - return UA_STATUSCODE_GOOD; - } - if(c->recvChannelsSize >= UA_PUBSUB_MAXCHANNELS) - return UA_STATUSCODE_BADINTERNALERROR; - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(c->recvChannels[i] != 0) - continue; - c->recvChannels[i] = connectionId; - c->recvChannelsSize++; - break; - } - return UA_STATUSCODE_GOOD; -} - -void -UA_PubSubConnection_disconnect(UA_PubSubConnection *c) { - if(!c->cm) - return; - if(c->sendChannel != 0) - c->cm->closeConnection(c->cm, c->sendChannel); - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(c->recvChannels[i] != 0) - c->cm->closeConnection(c->cm, c->recvChannels[i]); - } -} - -static void -PubSubChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg, UA_Boolean recv) { - if(!connectionContext) - return; - - /* Get the context pointers */ - UA_Server *server = (UA_Server*)application; - UA_PubSubConnection *psc = (UA_PubSubConnection*)*connectionContext; - - lockServer(server); - - /* The connection is closing in the EventLoop. This is the last callback - * from that connection. Clean up the SecureChannel in the client. */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - /* Reset the connection identifiers */ - UA_PubSubConnection_removeConnection(psc, connectionId); - - /* PSC marked for deletion and the last EventLoop connection has closed */ - if(psc->deleteFlag && psc->recvChannelsSize == 0 && psc->sendChannel == 0) { - UA_PubSubConnection_delete(server, psc); - unlockServer(server); - return; - } - - /* Reconnect automatically if the connection was operational. This sets - * the connection state if connecting fails. Attention! If there are - * several send or recv channels, then the connection is only reopened if - * all of them close - which is usually the case. */ - if(psc->state == UA_PUBSUBSTATE_OPERATIONAL) - UA_PubSubConnection_connect(server, psc, false); - - unlockServer(server); - return; - } - - /* Store the connectionId (if a new connection) */ - UA_StatusCode res = (recv) ? - UA_PubSubConnection_addRecvConnection(psc, connectionId) : - UA_PubSubConnection_addSendConnection(psc, connectionId); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CONNECTION(server->config.logging, psc, - "No more space for an additional EventLoop connection"); - if(psc->cm) - psc->cm->closeConnection(psc->cm, connectionId); - unlockServer(server); - return; - } - - /* No message received */ - if(!recv || msg.length == 0) { - unlockServer(server); - return; - } - - /* Connection open, set to operational if not already done */ - if(psc->state != UA_PUBSUBSTATE_OPERATIONAL) - UA_PubSubConnection_setPubSubState(server, psc, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - - UA_NetworkMessage nm; - memset(&nm, 0, sizeof(UA_NetworkMessage)); - - UA_Boolean nonRT = false; - UA_Boolean processed = false; - - /* Process buffer ReaderGroups */ - UA_ReaderGroup *rg; - LIST_FOREACH(rg, &psc->readerGroups, listEntry) { - if(rg->state != UA_PUBSUBSTATE_OPERATIONAL && - rg->state != UA_PUBSUBSTATE_PREOPERATIONAL) - continue; - if(rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { - processed |= UA_ReaderGroup_decodeAndProcessRT(server, rg, &msg); - continue; - } - - if(!nonRT) { - nonRT = true; - /* Decode once for all nonRT ReaderGroups */ - if(rg->config.encodingMimeType == UA_PUBSUB_ENCODING_UADP) { - size_t currentPosition = 0; - res = decodeNetworkMessage(server, &msg, ¤tPosition, &nm, psc); - } else { /* if(writerGroup->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) */ -#ifdef UA_ENABLE_JSON_ENCODING - res = UA_NetworkMessage_decodeJson(&nm, &msg); -#else - res = UA_STATUSCODE_BADNOTSUPPORTED; -#endif - } - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CONNECTION(server->config.logging, psc, - "Verify, decrypt and decode network message failed"); - nonRT = false; - } - } - } - - /* Process the received message for the non-RT ReaderGroups */ - if(nonRT) { - LIST_FOREACH(rg, &psc->readerGroups, listEntry) { - if(rg->state != UA_PUBSUBSTATE_OPERATIONAL && - rg->state != UA_PUBSUBSTATE_PREOPERATIONAL) - continue; - if(rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) - continue; - processed |= UA_ReaderGroup_process(server, rg, &nm); - } - UA_NetworkMessage_clear(&nm); - } - - if(!processed) { - UA_DateTime nowM = UA_DateTime_nowMonotonic(); - if(psc->silenceErrorUntil < nowM) { - UA_LOG_WARNING_CONNECTION(server->config.logging, psc, - "Message received that could not be processed. " - "Check PublisherID, WriterGroupID and DatasetWriterID. " - "(This error is now silenced for 10s.)"); - psc->silenceErrorUntil = nowM + (UA_DateTime)(10.0 * UA_DATETIME_SEC); - } - } - - unlockServer(server); -} - -static void -PubSubRecvChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - PubSubChannelCallback(cm, connectionId, application, connectionContext, - state, params, msg, true); -} - -static void -PubSubSendChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - PubSubChannelCallback(cm, connectionId, application, connectionContext, - state, params, msg, false); -} - -static UA_StatusCode -UA_PubSubConnection_connectUDP(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) - c->config.address.data; - - /* Extract hostname and port */ - UA_String address; - UA_UInt16 port; - UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not parse the UDP network URL"); - return res; - } - - /* Detect a wildcard address for unicast receiving. The individual - * DataSetWriters then contain additional target hostnames for sending. - * - * "localhost" and the empty hostname are used as a special "receive all" - * wildcard for PubSub UDP. All other addresses (also the 127.0.0/8 and ::1 - * range) are handled differently. For them we only receive messages that - * originate from these addresses. - * - * The EventLoop backend detects whether an address is multicast capable and - * registers it for the multicast group in the background. */ - UA_String localhostAddr = UA_STRING_STATIC("localhost"); - UA_Boolean receive_all = - (address.length == 0) || UA_String_equal(&localhostAddr, &address); - - /* Set up the connection parameters */ - UA_Boolean listen = true; - UA_Boolean reuse = true; - UA_Boolean loopback = true; - UA_KeyValuePair kvp[7]; - UA_KeyValueMap kvm = {5, kvp}; - kvp[0].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(&kvp[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - kvp[1].key = UA_QUALIFIEDNAME(0, "listen"); - UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[2].key = UA_QUALIFIEDNAME(0, "validate"); - UA_Variant_setScalar(&kvp[2].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[3].key = UA_QUALIFIEDNAME(0, "reuse"); - UA_Variant_setScalar(&kvp[3].value, &reuse, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[4].key = UA_QUALIFIEDNAME(0, "loopback"); - UA_Variant_setScalar(&kvp[4].value, &loopback, &UA_TYPES[UA_TYPES_BOOLEAN]); - if(!receive_all) { - /* The "receive all" wildcard is different in the eventloop UDP layer. - * Omit the address entirely to receive all.*/ - kvp[5].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(&kvp[5].value, &address, &UA_TYPES[UA_TYPES_STRING]); - kvm.mapSize++; - } - if(!UA_String_isEmpty(&addressUrl->networkInterface)) { - kvp[kvm.mapSize].key = UA_QUALIFIEDNAME(0, "interface"); - UA_Variant_setScalar(&kvp[kvm.mapSize].value, &addressUrl->networkInterface, - &UA_TYPES[UA_TYPES_STRING]); - kvm.mapSize++; - } - - /* Open a recv connection */ - if(c->recvChannelsSize == 0) { - /* Validate only if no ReaderGroup configured */ - validate = (c->readerGroupsSize == 0); - if(validate) { - UA_LOG_INFO_CONNECTION(server->config.logging, c, - "No ReaderGroups configured. " - "Only validate the connection parameters " - "instead of opening a receiving channel."); - } - - res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubRecvChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not open an UDP channel for receiving"); - return res; - } - } - - /* Receive all -- sending is handled in the DataSetWriter */ - if(receive_all) { - UA_LOG_INFO_CONNECTION(server->config.logging, c, - "Localhost address - don't open UDP send connection"); - return UA_STATUSCODE_GOOD; - } - - /* Open a send connection */ - if(c->sendChannel == 0) { - /* Validate only if no WriterGroup configured */ - validate = (c->writerGroupsSize == 0); - if(validate) { - UA_LOG_INFO_CONNECTION(server->config.logging, c, - "No WriterGroups configured. " - "Only validate the connection parameters " - "instead of opening a channel for sending."); - } - - listen = false; - res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubSendChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not open an UDP recv channel"); - return res; - } - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_PubSubConnection_connectETH(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) - c->config.address.data; - - /* Extract hostname and port */ - UA_String address; - UA_String vidPCP = UA_STRING_NULL; - UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, NULL, &vidPCP); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not parse the ETH network URL"); - return res; - } - - /* Set up the connection parameters. - * TDOD: Complete the considered parameters. VID, PCP, etc. */ - UA_Boolean listen = true; - UA_KeyValuePair kvp[4]; - UA_KeyValueMap kvm = {4, kvp}; - kvp[0].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); - kvp[1].key = UA_QUALIFIEDNAME(0, "listen"); - UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[2].key = UA_QUALIFIEDNAME(0, "interface"); - UA_Variant_setScalar(&kvp[2].value, &addressUrl->networkInterface, - &UA_TYPES[UA_TYPES_STRING]); - kvp[3].key = UA_QUALIFIEDNAME(0, "validate"); - UA_Variant_setScalar(&kvp[3].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* Open recv channels */ - if(c->recvChannelsSize == 0) { - res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubRecvChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not open an ETH recv channel"); - return res; - } - } - - /* Open send channels */ - if(c->sendChannel == 0) { - listen = false; - res = c->cm->openConnection(c->cm, &kvm, server, c, PubSubSendChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not open an ETH channel for sending"); - } - } - - return res; -} - -static UA_Boolean -UA_PubSubConnection_isConnected(UA_PubSubConnection *c) { - if(c->sendChannel == 0 && c->writerGroupsSize > 0) - return false; - if(c->recvChannelsSize == 0 && c->readerGroupsSize > 0) - return false; - return true; -} - -UA_StatusCode -UA_PubSubConnection_connect(UA_Server *server, UA_PubSubConnection *c, - UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already connected -> success */ - if(UA_PubSubConnection_isConnected(c) && !validate) - return UA_STATUSCODE_GOOD; - - UA_EventLoop *el = UA_PubSubConnection_getEL(server, c); - if(!el) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, "No EventLoop configured"); - UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - return UA_STATUSCODE_BADINTERNALERROR;; - } - - /* Look up the connection manager for the connection */ - ProfileMapping *profile = getProfile(c->config.transportProfileUri); - UA_ConnectionManager *cm = NULL; - if(profile) - cm = getCM(el, profile->protocol); - if(!cm || (c->cm && cm != c->cm)) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "The requested protocol is not supported"); - UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - return UA_STATUSCODE_BADINTERNALERROR; - } - - c->cm = cm; - c->json = profile->json; - - /* Check the configuration address type */ - if(!UA_Variant_hasScalarType(&c->config.address, - &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE])) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, "No NetworkAddressUrlDataType " - "for the address configuration"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Connect */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(profile->connect) - res = profile->connect(server, c, validate); - if(res != UA_STATUSCODE_GOOD && !validate) - UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, res); - return res; -} - -/***************/ -/* WriterGroup */ -/***************/ - -static void -WriterGroupChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - if(!connectionContext) - return; - - /* Get the context pointers */ - UA_Server *server = (UA_Server*)application; - UA_WriterGroup *wg = (UA_WriterGroup*)*connectionContext; - - lockServer(server); - - /* The connection is closing in the EventLoop. This is the last callback - * from that connection. Clean up the SecureChannel in the client. */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - if(wg->sendChannel == connectionId) { - /* Reset the connection channel */ - wg->sendChannel = 0; - - /* PSC marked for deletion and the last EventLoop connection has closed */ - if(wg->deleteFlag) { - UA_WriterGroup_remove(server, wg); - unlockServer(server); - return; - } - } - - /* Reconnect automatically if the connection was operational. This sets - * the connection state if connecting fails. Attention! If there are - * several send or recv channels, then the connection is only reopened if - * all of them close - which is usually the case. */ - if(wg->state == UA_PUBSUBSTATE_OPERATIONAL) - UA_WriterGroup_connect(server, wg, false); - - unlockServer(server); - return; - } - - /* Store the connectionId (if a new connection) */ - if(wg->sendChannel && wg->sendChannel != connectionId) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "WriterGroup is already bound to a different channel"); - unlockServer(server); - return; - } - wg->sendChannel = connectionId; - - /* Connection open, set to operational if not already done */ - if(wg->state != UA_PUBSUBSTATE_OPERATIONAL) - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - - /* Send-channels don't receive messages */ - unlockServer(server); -} - -static UA_StatusCode -UA_WriterGroup_connectUDPUnicast(UA_Server *server, UA_WriterGroup *wg, - UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already connected? */ - if(wg->sendChannel != 0 && !validate) - return UA_STATUSCODE_GOOD; - - /* Check if address is available in TransportSettings */ - if(((wg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_DECODED || - wg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && - wg->config.transportSettings.content.decoded.type == - &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE])) - return UA_STATUSCODE_GOOD; - - /* Unpack the TransportSettings */ - if((wg->config.transportSettings.encoding != UA_EXTENSIONOBJECT_DECODED && - wg->config.transportSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - wg->config.transportSettings.content.decoded.type != - &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORT2DATATYPE]) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Invalid TransportSettings for a UDP Connection"); - return UA_STATUSCODE_BADINTERNALERROR; - } - UA_DatagramWriterGroupTransport2DataType *ts = - (UA_DatagramWriterGroupTransport2DataType*) - wg->config.transportSettings.content.decoded.data; - - /* Unpack the address */ - if((ts->address.encoding != UA_EXTENSIONOBJECT_DECODED && - ts->address.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - ts->address.content.decoded.type != &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Invalid TransportSettings Address for a UDP Connection"); - return UA_STATUSCODE_BADINTERNALERROR; - } - UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType *) - ts->address.content.decoded.data; - - /* Extract hostname and port */ - UA_String address; - UA_UInt16 port; - UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Could not parse the UDP network URL"); - return res; - } - - /* Set up the connection parameters */ - UA_Boolean listen = false; - UA_KeyValuePair kvp[5]; - UA_KeyValueMap kvm = {4, kvp}; - kvp[0].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); - kvp[1].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(&kvp[1].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - kvp[2].key = UA_QUALIFIEDNAME(0, "listen"); - UA_Variant_setScalar(&kvp[2].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[3].key = UA_QUALIFIEDNAME(0, "validate"); - UA_Variant_setScalar(&kvp[3].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); - if(!UA_String_isEmpty(&addressUrl->networkInterface)) { - kvp[4].key = UA_QUALIFIEDNAME(0, "interface"); - UA_Variant_setScalar(&kvp[4].value, &addressUrl->networkInterface, - &UA_TYPES[UA_TYPES_STRING]); - kvm.mapSize++; - } - - /* Connect */ - UA_ConnectionManager *cm = wg->linkedConnection->cm; - res = cm->openConnection(cm, &kvm, server, wg, WriterGroupChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Could not open a UDP send channel"); - } - return res; -} - -static UA_StatusCode -UA_WriterGroup_connectMQTT(UA_Server *server, UA_WriterGroup *wg, - UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PubSubConnection *c = wg->linkedConnection; - UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) - c->config.address.data; - - /* Get the TransportSettings */ - UA_ExtensionObject *ts = &wg->config.transportSettings; - if((ts->encoding != UA_EXTENSIONOBJECT_DECODED && - ts->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - ts->content.decoded.type != - &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Wrong TransportSettings type for MQTT"); - return UA_STATUSCODE_BADINTERNALERROR; - } - UA_BrokerWriterGroupTransportDataType *transportSettings = - (UA_BrokerWriterGroupTransportDataType*)ts->content.decoded.data; - - /* Extract hostname and port */ - UA_String address; - UA_UInt16 port = 1883; /* Default */ - UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not parse the MQTT network URL"); - return res; - } - - /* Set up the connection parameters. - * TODO: Complete the MQTT parameters. */ - UA_Boolean listen = false; - UA_KeyValuePair kvp[5]; - UA_KeyValueMap kvm = {5, kvp}; - kvp[0].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); - kvp[1].key = UA_QUALIFIEDNAME(0, "subscribe"); - UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[2].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(&kvp[2].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - kvp[3].key = UA_QUALIFIEDNAME(0, "topic"); - UA_Variant_setScalar(&kvp[3].value, &transportSettings->queueName, - &UA_TYPES[UA_TYPES_STRING]); - kvp[4].key = UA_QUALIFIEDNAME(0, "validate"); - UA_Variant_setScalar(&kvp[4].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* Connect */ - res = c->cm->openConnection(c->cm, &kvm, server, wg, WriterGroupChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Could not open the MQTT connection"); - } - return res; -} - -void -UA_WriterGroup_disconnect(UA_WriterGroup *wg) { - if(wg->sendChannel == 0) - return; - UA_PubSubConnection *c = wg->linkedConnection; - if(!c || !c->cm) - return; - c->cm->closeConnection(c->cm, wg->sendChannel); -} - -UA_StatusCode -UA_WriterGroup_connect(UA_Server *server, UA_WriterGroup *wg, UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already connected */ - if(wg->sendChannel != 0 && !validate) - return UA_STATUSCODE_GOOD; - - /* Is this a WriterGroup with custom TransportSettings beyond the - * PubSubConnection? */ - if(wg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) - return UA_STATUSCODE_GOOD; - - UA_EventLoop *el = UA_PubSubConnection_getEL(server, wg->linkedConnection); - if(!el) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, "No EventLoop configured"); - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - return UA_STATUSCODE_BADINTERNALERROR;; - } - - UA_PubSubConnection *c = wg->linkedConnection; - if(!c) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Look up the connection manager for the connection */ - ProfileMapping *profile = getProfile(c->config.transportProfileUri); - UA_ConnectionManager *cm = NULL; - if(profile) - cm = getCM(el, profile->protocol); - if(!cm || (c->cm && cm != c->cm)) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "The requested protocol is not supported"); - UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - return UA_STATUSCODE_BADINTERNALERROR; - } - - c->cm = cm; - c->json = profile->json; - - /* Connect */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(profile->connectWriterGroup) - res = profile->connectWriterGroup(server, wg, validate); - if(res != UA_STATUSCODE_GOOD && !validate) { - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, res); - return res; - } - - /* Set to preoperational. Set the state "manually" to avoid recursion. Also - * this is the only place to set pre-operational for PubSubConnections. The - * state will be set to operational in the network callback when the - * connection has fully opened. */ - if(wg->state != UA_PUBSUBSTATE_OPERATIONAL && !validate) - wg->state = UA_PUBSUBSTATE_PREOPERATIONAL; - - return UA_STATUSCODE_GOOD; -} - -/***************/ -/* ReaderGroup */ -/***************/ - -static void -UA_ReaderGroup_removeConnection(UA_ReaderGroup *rg, - uintptr_t connectionId) { - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(rg->recvChannels[i] != connectionId) - continue; - rg->recvChannels[i] = 0; - rg->recvChannelsSize--; - return; - } -} - -static UA_StatusCode -UA_ReaderGroup_addRecvConnection(UA_ReaderGroup*c, - uintptr_t connectionId) { - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(c->recvChannels[i] == connectionId) - return UA_STATUSCODE_GOOD; - } - if(c->recvChannelsSize >= UA_PUBSUB_MAXCHANNELS) - return UA_STATUSCODE_BADINTERNALERROR; - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(c->recvChannels[i] != 0) - continue; - c->recvChannels[i] = connectionId; - c->recvChannelsSize++; - break; - } - return UA_STATUSCODE_GOOD; -} - -static void -ReaderGroupChannelCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - if(!connectionContext) - return; - - /* Get the context pointers */ - UA_Server *server = (UA_Server*)application; - UA_ReaderGroup *rg = (UA_ReaderGroup*)*connectionContext; - - lockServer(server); - - /* The connection is closing in the EventLoop. This is the last callback - * from that connection. Clean up the SecureChannel in the client. */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - /* Reset the connection identifiers */ - UA_ReaderGroup_removeConnection(rg, connectionId); - - /* PSC marked for deletion and the last EventLoop connection has closed */ - if(rg->deleteFlag && rg->recvChannelsSize == 0) { - UA_ReaderGroup_remove(server, rg); - unlockServer(server); - return; - } - - /* Reconnect if still operational */ - UA_ReaderGroup_setPubSubState(server, rg, rg->state, UA_STATUSCODE_GOOD); - unlockServer(server); - return; - } - - /* Store the connectionId (if a new connection) */ - UA_StatusCode res = UA_ReaderGroup_addRecvConnection(rg, connectionId); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "No more space for an additional EventLoop connection"); - UA_PubSubConnection *c = rg->linkedConnection; - if(c && c->cm) - c->cm->closeConnection(c->cm, connectionId); - unlockServer(server); - return; - } - - /* No message received */ - if(msg.length == 0) { - unlockServer(server); - return; - } - - /* Received the first message - set to operational */ - if(rg->state == UA_PUBSUBSTATE_PREOPERATIONAL) { - rg->state = UA_PUBSUBSTATE_OPERATIONAL; - UA_ServerConfig *config = &server->config; - if(config->pubSubConfig.stateChangeCallback != 0) { - config->pubSubConfig.stateChangeCallback(server, &rg->identifier, - rg->state, UA_STATUSCODE_GOOD); - } - } - - if(rg->state != UA_PUBSUBSTATE_OPERATIONAL) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Received a messaage for a non-operational ReaderGroup"); - unlockServer(server); - return; - } - - /* ReaderGroup with realtime processing */ - if(rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { - UA_ReaderGroup_decodeAndProcessRT(server, rg, &msg); - unlockServer(server); - return; - } - - /* Decode message */ - UA_NetworkMessage nm; - memset(&nm, 0, sizeof(UA_NetworkMessage)); - if(rg->config.encodingMimeType == UA_PUBSUB_ENCODING_UADP) { - size_t currentPosition = 0; - res = decodeNetworkMessage(server, &msg, ¤tPosition, - &nm, rg->linkedConnection); - } else { /* if(writerGroup->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) */ -#ifdef UA_ENABLE_JSON_ENCODING - res = UA_NetworkMessage_decodeJson(&nm, &msg); -#else - res = UA_STATUSCODE_BADNOTSUPPORTED; -#endif - } - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Verify, decrypt and decode network message failed"); - unlockServer(server); - return; - } - - /* Process the decoded message */ - UA_ReaderGroup_process(server, rg, &nm); - UA_NetworkMessage_clear(&nm); - unlockServer(server); -} - -static UA_StatusCode -UA_ReaderGroup_connectMQTT(UA_Server *server, UA_ReaderGroup *rg, - UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PubSubConnection *c = rg->linkedConnection; - UA_NetworkAddressUrlDataType *addressUrl = (UA_NetworkAddressUrlDataType*) - c->config.address.data; - - /* Get the TransportSettings */ - UA_ExtensionObject *ts = &rg->config.transportSettings; - if((ts->encoding != UA_EXTENSIONOBJECT_DECODED && - ts->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - ts->content.decoded.type != - &UA_TYPES[UA_TYPES_BROKERDATASETREADERTRANSPORTDATATYPE]) { - UA_LOG_ERROR_READERGROUP(server->config.logging, rg, - "Wrong TransportSettings type for MQTT"); - return UA_STATUSCODE_BADINTERNALERROR; - } - UA_BrokerDataSetReaderTransportDataType *transportSettings = - (UA_BrokerDataSetReaderTransportDataType*)ts->content.decoded.data; - - /* Extract hostname and port */ - UA_String address; - UA_UInt16 port = 1883; /* Default */ - UA_StatusCode res = UA_parseEndpointUrl(&addressUrl->url, &address, &port, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "Could not parse the MQTT network URL"); - return res; - } - - /* Set up the connection parameters. - * TODO: Complete the MQTT parameters. */ - UA_Boolean listen = true; - UA_KeyValuePair kvp[5]; - UA_KeyValueMap kvm = {5, kvp}; - kvp[0].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(&kvp[0].value, &address, &UA_TYPES[UA_TYPES_STRING]); - kvp[1].key = UA_QUALIFIEDNAME(0, "subscribe"); - UA_Variant_setScalar(&kvp[1].value, &listen, &UA_TYPES[UA_TYPES_BOOLEAN]); - kvp[2].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(&kvp[2].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - kvp[3].key = UA_QUALIFIEDNAME(0, "topic"); - UA_Variant_setScalar(&kvp[3].value, &transportSettings->queueName, - &UA_TYPES[UA_TYPES_STRING]); - kvp[4].key = UA_QUALIFIEDNAME(0, "validate"); - UA_Variant_setScalar(&kvp[4].value, &validate, &UA_TYPES[UA_TYPES_BOOLEAN]); - - /* Connect */ - res = c->cm->openConnection(c->cm, &kvm, server, rg, ReaderGroupChannelCallback); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READERGROUP(server->config.logging, rg, - "Could not open the MQTT connection"); - } - return res; -} - -void -UA_ReaderGroup_disconnect(UA_ReaderGroup *rg) { - UA_PubSubConnection *c = rg->linkedConnection; - if(!c) - return; - for(size_t i = 0; i < UA_PUBSUB_MAXCHANNELS; i++) { - if(rg->recvChannels[i] != 0) - c->cm->closeConnection(c->cm, rg->recvChannels[i]); - } -} - -UA_StatusCode -UA_ReaderGroup_connect(UA_Server *server, UA_ReaderGroup *rg, UA_Boolean validate) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already connected */ - if(rg->recvChannelsSize != 0 && !validate) - return UA_STATUSCODE_GOOD; - - /* Is this a ReaderGroup with custom TransportSettings beyond the - * PubSubConnection? */ - if(rg->config.transportSettings.encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) - return UA_STATUSCODE_GOOD; - - UA_EventLoop *el = UA_PubSubConnection_getEL(server, rg->linkedConnection); - if(!el) { - UA_LOG_ERROR_READERGROUP(server->config.logging, rg, "No EventLoop configured"); - UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - return UA_STATUSCODE_BADINTERNALERROR;; - } - - UA_PubSubConnection *c = rg->linkedConnection; - if(!c) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Look up the connection manager for the connection */ - ProfileMapping *profile = getProfile(c->config.transportProfileUri); - UA_ConnectionManager *cm = NULL; - if(profile) - cm = getCM(el, profile->protocol); - if(!cm || (c->cm && cm != c->cm)) { - UA_LOG_ERROR_CONNECTION(server->config.logging, c, - "The requested protocol is not supported"); - UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - return UA_STATUSCODE_BADINTERNALERROR; - } - - c->cm = cm; - c->json = profile->json; - - /* Connect */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(profile->connectReaderGroup) - res = profile->connectReaderGroup(server, rg, validate); - if(res != UA_STATUSCODE_GOOD && !validate) { - UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_ERROR, res); - return res; - } - - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_connection.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019, 2022 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) - * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) - */ - - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -#endif - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -UA_StatusCode -decodeNetworkMessage(UA_Server *server, UA_ByteString *buffer, size_t *pos, - UA_NetworkMessage *nm, UA_PubSubConnection *connection) { -#ifdef UA_DEBUG_DUMP_PKGS - UA_dump_hex_pkg(buffer->data, buffer->length); -#endif - - UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(buffer, pos, nm); - if(rv != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CONNECTION(server->config.logging, connection, - "PubSub receive. decoding headers failed"); - UA_NetworkMessage_clear(nm); - return rv; - } - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_Boolean processed = false; - UA_ReaderGroup *readerGroup; - UA_DataSetReader *reader; - - /* Choose a correct readergroup for decrypt/verify this message - * (there could be multiple) */ - LIST_FOREACH(readerGroup, &connection->readerGroups, listEntry) { - LIST_FOREACH(reader, &readerGroup->readers, listEntry) { - UA_StatusCode retval = - UA_DataSetReader_checkIdentifier(server, nm, reader, readerGroup->config); - if(retval != UA_STATUSCODE_GOOD) - continue; - processed = true; - rv = verifyAndDecryptNetworkMessage(server->config.logging, buffer, pos, - nm, readerGroup); - if(rv != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_CONNECTION(server->config.logging, connection, - "Subscribe failed, verify and decrypt " - "network message failed."); - UA_NetworkMessage_clear(nm); - return rv; - } - - /* break out of all loops when first verify & decrypt was successful */ - goto loops_exit; - } - } - -loops_exit: - if(!processed) { - UA_DateTime nowM = UA_DateTime_nowMonotonic(); - if(connection->silenceErrorUntil < nowM) { - UA_LOG_INFO_CONNECTION(server->config.logging, connection, - "Dataset reader not found. Check PublisherId, " - "WriterGroupId and DatasetWriterId. " - "(This error is now silenced for 10s.)"); - connection->silenceErrorUntil = nowM + (UA_DateTime)(10.0 * UA_DATETIME_SEC); - } - /* Possible multicast scenario: there are multiple connections (with one - * or more ReaderGroups) within a multicast group every connection - * receives all network messages, even if some of them are not meant for - * the connection currently processed -> therefore it is ok if the - * connection does not have a DataSetReader for every received network - * message. We must not return an error here, but continue with the - * buffer decoding and see if we have a matching DataSetReader for the - * next network message. */ - } -#endif - - rv = UA_NetworkMessage_decodePayload(buffer, pos, nm, server->config.customDataTypes, NULL); - if(rv != UA_STATUSCODE_GOOD) { - UA_NetworkMessage_clear(nm); - return rv; - } - - rv = UA_NetworkMessage_decodeFooters(buffer, pos, nm); - if(rv != UA_STATUSCODE_GOOD) { - UA_NetworkMessage_clear(nm); - return rv; - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_PubSubConnectionConfig_copy(const UA_PubSubConnectionConfig *src, - UA_PubSubConnectionConfig *dst) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - memcpy(dst, src, sizeof(UA_PubSubConnectionConfig)); - if(src->publisherIdType == UA_PUBLISHERIDTYPE_STRING) { - res |= UA_String_copy(&src->publisherId.string, &dst->publisherId.string); - } - res |= UA_String_copy(&src->name, &dst->name); - res |= UA_Variant_copy(&src->address, &dst->address); - res |= UA_String_copy(&src->transportProfileUri, &dst->transportProfileUri); - res |= UA_Variant_copy(&src->connectionTransportSettings, - &dst->connectionTransportSettings); - res |= UA_KeyValueMap_copy(&src->connectionProperties, - &dst->connectionProperties); - if(res != UA_STATUSCODE_GOOD) - UA_PubSubConnectionConfig_clear(dst); - return res; -} - -UA_StatusCode -UA_Server_getPubSubConnectionConfig(UA_Server *server, const UA_NodeId connection, - UA_PubSubConnectionConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_PubSubConnection *currentPubSubConnection = - UA_PubSubConnection_findConnectionbyId(server, connection); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(currentPubSubConnection) - res = UA_PubSubConnectionConfig_copy(¤tPubSubConnection->config, config); - unlockServer(server); - return res; -} - -UA_PubSubConnection * -UA_PubSubConnection_findConnectionbyId(UA_Server *server, UA_NodeId connectionIdentifier) { - UA_PubSubConnection *pubSubConnection; - TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ - if(UA_NodeId_equal(&connectionIdentifier, &pubSubConnection->identifier)) - break; - } - return pubSubConnection; -} - -void -UA_PubSubConnectionConfig_clear(UA_PubSubConnectionConfig *connectionConfig) { - if(connectionConfig->publisherIdType == UA_PUBLISHERIDTYPE_STRING) - UA_String_clear(&connectionConfig->publisherId.string); - UA_String_clear(&connectionConfig->name); - UA_String_clear(&connectionConfig->transportProfileUri); - UA_Variant_clear(&connectionConfig->connectionTransportSettings); - UA_Variant_clear(&connectionConfig->address); - UA_KeyValueMap_clear(&connectionConfig->connectionProperties); -} - -UA_StatusCode -UA_PubSubConnection_create(UA_Server *server, const UA_PubSubConnectionConfig *cc, - UA_NodeId *cId) { - /* Validate preconditions */ - UA_CHECK_MEM(server, return UA_STATUSCODE_BADINTERNALERROR); - UA_CHECK_ERROR(cc != NULL, return UA_STATUSCODE_BADINTERNALERROR, - server->config.logging, UA_LOGCATEGORY_SERVER, - "PubSub Connection creation failed. Missing connection configuration."); - - /* Allocate */ - UA_PubSubConnection *c = (UA_PubSubConnection *) - UA_calloc(1, sizeof(UA_PubSubConnection)); - if(!c) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PubSub Connection creation failed. Out of Memory."); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - c->componentType = UA_PUBSUB_COMPONENT_CONNECTION; - - /* Copy the connection config */ - UA_StatusCode ret = UA_PubSubConnectionConfig_copy(cc, &c->config); - UA_CHECK_STATUS(ret, UA_free(c); return ret); - - /* Assign the connection identifier */ -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - /* Internally create a unique id */ - addPubSubConnectionRepresentation(server, c); -#else - /* Create a unique NodeId that does not correspond to a Node */ - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, - &c->identifier); -#endif - - /* Register */ - UA_PubSubManager *pubSubManager = &server->pubSubManager; - TAILQ_INSERT_HEAD(&pubSubManager->connections, c, listEntry); - pubSubManager->connectionsSize++; - - /* Validate-connect to check the parameters */ - ret = UA_PubSubConnection_connect(server, c, true); - if(ret != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Make the connection operational */ - ret = UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - if(ret != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Copy the created NodeId to the output. Cannot fail as we create a - * numerical NodeId. */ - if(cId) - UA_NodeId_copy(&c->identifier, cId); - - cleanup: - if(ret != UA_STATUSCODE_GOOD) - UA_PubSubConnection_delete(server, c); - return ret; -} - -UA_StatusCode -UA_Server_addPubSubConnection(UA_Server *server, const UA_PubSubConnectionConfig *cc, - UA_NodeId *cId) { - lockServer(server); - UA_StatusCode res = UA_PubSubConnection_create(server, cc, cId); - unlockServer(server); - return res; -} - -static void -delayedPubSubConnection_delete(void *application, void *context) { - UA_Server *server = (UA_Server*)application; - UA_PubSubConnection *c = (UA_PubSubConnection*)context; - lockServer(server); - UA_PubSubConnection_delete(server, c); - unlockServer(server); -} - -/* Clean up the PubSubConnection. If no EventLoop connection is attached we can - * immediately free. Otherwise we close the EventLoop connections and free in - * the connection callback. */ -void -UA_PubSubConnection_delete(UA_Server *server, UA_PubSubConnection *c) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Disable (and disconnect) and set the deleteFlag. This prevents a - * reconnect and triggers the deletion when the last open socket is - * closed. */ - c->deleteFlag = true; - UA_PubSubConnection_setPubSubState(server, c, UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); - - /* Stop and unfreeze all ReaderGroupds and WriterGroups attached to the - * Connection. Do this before removing them because we need to unfreeze all - * to remove the Connection.*/ - UA_ReaderGroup *readerGroup, *tmpReaderGroup; - LIST_FOREACH(readerGroup, &c->readerGroups, listEntry) { - UA_ReaderGroup_setPubSubState(server, readerGroup, UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADSHUTDOWN); - UA_ReaderGroup_unfreezeConfiguration(server, readerGroup); - } - - UA_WriterGroup *writerGroup, *tmpWriterGroup; - LIST_FOREACH(writerGroup, &c->writerGroups, listEntry) { - UA_WriterGroup_setPubSubState(server, writerGroup, UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADSHUTDOWN); - UA_WriterGroup_unfreezeConfiguration(server, writerGroup); - } - - /* Remove all ReaderGorups and WriterGroups */ - LIST_FOREACH_SAFE(readerGroup, &c->readerGroups, listEntry, tmpReaderGroup) { - UA_ReaderGroup_remove(server, readerGroup); - } - - LIST_FOREACH_SAFE(writerGroup, &c->writerGroups, listEntry, tmpWriterGroup) { - UA_WriterGroup_remove(server, writerGroup); - } - - /* Not all sockets are closed. This method will be called again */ - if(c->sendChannel != 0 || c->recvChannelsSize > 0) - return; - - /* The WriterGroups / ReaderGroups are not deleted. Try again in the next - * iteration of the event loop.*/ - if(!LIST_EMPTY(&c->writerGroups) || !LIST_EMPTY(&c->readerGroups)) { - UA_EventLoop *el = UA_PubSubConnection_getEL(server, c); - c->dc.callback = delayedPubSubConnection_delete; - c->dc.application = server; - c->dc.context = c; - el->addDelayedCallback(el, &c->dc); - return; - } - - /* Remove from the information model */ -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, c->identifier, true); -#endif - - /* Unlink from the server */ - TAILQ_REMOVE(&server->pubSubManager.connections, c, listEntry); - server->pubSubManager.connectionsSize--; - - UA_PubSubConnectionConfig_clear(&c->config); - UA_NodeId_clear(&c->identifier); - UA_free(c); -} - -UA_StatusCode -UA_Server_removePubSubConnection(UA_Server *server, const UA_NodeId connection) { - lockServer(server); - UA_PubSubConnection *psc = - UA_PubSubConnection_findConnectionbyId(server, connection); - if(!psc) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_PubSubConnection_delete(server, psc); - unlockServer(server); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_PubSubConnection_setPubSubState(UA_Server *server, UA_PubSubConnection *c, - UA_PubSubState state, UA_StatusCode cause) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(c->deleteFlag && state != UA_PUBSUBSTATE_DISABLED) { - UA_LOG_WARNING_CONNECTION(server->config.logging, c, - "The connection is being deleted. Can only be disabled."); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_PubSubState oldState = c->state; - UA_WriterGroup *writerGroup; - UA_ReaderGroup *readerGroup; - - switch(state) { - case UA_PUBSUBSTATE_ERROR: - case UA_PUBSUBSTATE_PAUSED: - case UA_PUBSUBSTATE_DISABLED: - if(state == oldState) - break; - - /* Close the EventLoop connection */ - c->state = state; - UA_PubSubConnection_disconnect(c); - - /* Disable Reader and WriterGroups */ - LIST_FOREACH(readerGroup, &c->readerGroups, listEntry) { - UA_ReaderGroup_setPubSubState(server, readerGroup, state, - UA_STATUSCODE_BADRESOURCEUNAVAILABLE); - } - LIST_FOREACH(writerGroup, &c->writerGroups, listEntry) { - UA_WriterGroup_setPubSubState(server, writerGroup, state, - UA_STATUSCODE_BADRESOURCEUNAVAILABLE); - } - break; - - case UA_PUBSUBSTATE_PREOPERATIONAL: - case UA_PUBSUBSTATE_OPERATIONAL: - /* Called also if the connection is already operational. We might to - * open an additional recv connection, etc. Sets the new state - * internally. */ - if(oldState != UA_PUBSUBSTATE_OPERATIONAL) - c->state = UA_PUBSUBSTATE_PREOPERATIONAL; - ret = UA_PubSubConnection_connect(server, c, false); - if(ret != UA_STATUSCODE_GOOD) - UA_PubSubConnection_setPubSubState(server, c, - UA_PUBSUBSTATE_ERROR, ret); - break; - default: - UA_LOG_WARNING_CONNECTION(server->config.logging, c, - "Received unknown PubSub state!"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Inform application about state change */ - if(c->state != oldState) { - UA_ServerConfig *config = &server->config; - if(config->pubSubConfig.stateChangeCallback) - config->pubSubConfig.stateChangeCallback(server, &c->identifier, state, cause); - } - return ret; -} - -UA_EventLoop * -UA_PubSubConnection_getEL(UA_Server *server, UA_PubSubConnection *c) { - if(c->config.eventLoop) - return c->config.eventLoop; - return server->config.eventLoop; -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_dataset.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2019-2021 Kalycito Infotech Private Limited - * Copyright (c) 2020 Yannick Wallerer, Siemens AG - * Copyright (c) 2020 Thomas Fischer, Siemens AG - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -static void -UA_DataSetField_clear(UA_DataSetField *field) { - UA_DataSetFieldConfig_clear(&field->config); - UA_NodeId_clear(&field->identifier); - UA_NodeId_clear(&field->publishedDataSet); - UA_FieldMetaData_clear(&field->fieldMetaData); -} - -UA_StatusCode -UA_PublishedDataSetConfig_copy(const UA_PublishedDataSetConfig *src, - UA_PublishedDataSetConfig *dst) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - memcpy(dst, src, sizeof(UA_PublishedDataSetConfig)); - res |= UA_String_copy(&src->name, &dst->name); - switch(src->publishedDataSetType) { - case UA_PUBSUB_DATASET_PUBLISHEDITEMS: - //no additional items - break; - - case UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE: - if(src->config.itemsTemplate.variablesToAddSize > 0) { - dst->config.itemsTemplate.variablesToAdd = (UA_PublishedVariableDataType *) - UA_calloc(src->config.itemsTemplate.variablesToAddSize, - sizeof(UA_PublishedVariableDataType)); - if(!dst->config.itemsTemplate.variablesToAdd) { - res = UA_STATUSCODE_BADOUTOFMEMORY; - break; - } - dst->config.itemsTemplate.variablesToAddSize = - src->config.itemsTemplate.variablesToAddSize; - } - - for(size_t i = 0; i < src->config.itemsTemplate.variablesToAddSize; i++) { - res |= UA_PublishedVariableDataType_copy(&src->config.itemsTemplate.variablesToAdd[i], - &dst->config.itemsTemplate.variablesToAdd[i]); - } - res |= UA_DataSetMetaDataType_copy(&src->config.itemsTemplate.metaData, - &dst->config.itemsTemplate.metaData); - break; - - default: - res = UA_STATUSCODE_BADINVALIDARGUMENT; - break; - } - - if(res != UA_STATUSCODE_GOOD) - UA_PublishedDataSetConfig_clear(dst); - return res; -} - -UA_StatusCode -getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, - UA_PublishedDataSetConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - UA_PublishedDataSet *currentPDS = UA_PublishedDataSet_findPDSbyId(server, pds); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(currentPDS) - res = UA_PublishedDataSetConfig_copy(¤tPDS->config, config); - return res; -} - -UA_StatusCode -UA_Server_getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, - UA_PublishedDataSetConfig *config) { - lockServer(server); - UA_StatusCode res = getPublishedDataSetConfig(server, pds, config); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_getPublishedDataSetMetaData(UA_Server *server, const UA_NodeId pds, - UA_DataSetMetaDataType *metaData) { - if(!metaData) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_PublishedDataSet *currentPDS = UA_PublishedDataSet_findPDSbyId(server, pds); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(currentPDS) - res = UA_DataSetMetaDataType_copy(¤tPDS->dataSetMetaData, metaData); - unlockServer(server); - return res; -} - -UA_PublishedDataSet * -UA_PublishedDataSet_findPDSbyId(UA_Server *server, UA_NodeId identifier) { - UA_PublishedDataSet *tmpPDS = NULL; - TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry) { - if(UA_NodeId_equal(&tmpPDS->identifier, &identifier)) - break; - } - return tmpPDS; -} - -UA_PublishedDataSet * -UA_PublishedDataSet_findPDSbyName(UA_Server *server, UA_String name) { - UA_PublishedDataSet *tmpPDS = NULL; - TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry) { - if(UA_String_equal(&name, &tmpPDS->config.name)) - break; - } - - return tmpPDS; -} - -void -UA_PublishedDataSetConfig_clear(UA_PublishedDataSetConfig *pdsConfig) { - //delete pds config - UA_String_clear(&pdsConfig->name); - switch (pdsConfig->publishedDataSetType){ - case UA_PUBSUB_DATASET_PUBLISHEDITEMS: - //no additional items - break; - case UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE: - if(pdsConfig->config.itemsTemplate.variablesToAddSize > 0){ - for(size_t i = 0; i < pdsConfig->config.itemsTemplate.variablesToAddSize; i++){ - UA_PublishedVariableDataType_clear(&pdsConfig->config.itemsTemplate.variablesToAdd[i]); - } - UA_free(pdsConfig->config.itemsTemplate.variablesToAdd); - } - UA_DataSetMetaDataType_clear(&pdsConfig->config.itemsTemplate.metaData); - break; - default: - break; - } -} - -void -UA_PublishedDataSet_clear(UA_Server *server, UA_PublishedDataSet *publishedDataSet) { - UA_DataSetField *field, *tmpField; - TAILQ_FOREACH_SAFE(field, &publishedDataSet->fields, listEntry, tmpField) { - /* Code in this block is a duplication of similar code in UA_DataSetField_remove, but - * this is intentional. We don't want to call UA_DataSetField_remove here as that - * function regenerates DataSetMetaData, which is not necessary if we want to - * clear the whole PDS anyway. */ - if(field->configurationFrozen) { - UA_LOG_WARNING_DATASET(server->config.logging, publishedDataSet, - "Clearing a frozen field."); - } - field->fieldMetaData.arrayDimensions = NULL; - field->fieldMetaData.properties = NULL; - field->fieldMetaData.name = UA_STRING_NULL; - field->fieldMetaData.description.locale = UA_STRING_NULL; - field->fieldMetaData.description.text = UA_STRING_NULL; - UA_DataSetField_clear(field); - TAILQ_REMOVE(&publishedDataSet->fields, field, listEntry); - UA_free(field); - } - UA_PublishedDataSetConfig_clear(&publishedDataSet->config); - UA_DataSetMetaDataType_clear(&publishedDataSet->dataSetMetaData); - UA_NodeId_clear(&publishedDataSet->identifier); -} - -/* The fieldMetaData variable has to be cleaned up external in case of an error */ -static UA_StatusCode -generateFieldMetaData(UA_Server *server, UA_PublishedDataSet *pds, - UA_DataSetField *field, UA_FieldMetaData *fieldMetaData) { - if(field->config.dataSetFieldType != UA_PUBSUB_DATASETFIELD_VARIABLE) - return UA_STATUSCODE_BADNOTSUPPORTED; - - /* Set the field identifier */ - fieldMetaData->dataSetFieldId = UA_PubSubManager_generateUniqueGuid(server); - - /* Set the description */ - fieldMetaData->description = UA_LOCALIZEDTEXT_ALLOC("", ""); - - /* Set the name */ - const UA_DataSetVariableConfig *var = &field->config.field.variable; - UA_StatusCode res = UA_String_copy(&var->fieldNameAlias, &fieldMetaData->name); - UA_CHECK_STATUS(res, return res); - - /* Static value source. ToDo after freeze PR, the value source must be - * checked (other behavior for static value source) */ - if(var->rtValueSource.rtFieldSourceEnabled && - !var->rtValueSource.rtInformationModelNode) { - const UA_DataValue *svs = *var->rtValueSource.staticValueSource; - if(svs->value.arrayDimensionsSize > 0) { - fieldMetaData->arrayDimensions = (UA_UInt32 *) - UA_calloc(svs->value.arrayDimensionsSize, sizeof(UA_UInt32)); - if(fieldMetaData->arrayDimensions == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - memcpy(fieldMetaData->arrayDimensions, svs->value.arrayDimensions, - sizeof(UA_UInt32) * svs->value.arrayDimensionsSize); - } - fieldMetaData->arrayDimensionsSize = svs->value.arrayDimensionsSize; - - if(svs->value.type) - res = UA_NodeId_copy(&svs->value.type->typeId, &fieldMetaData->dataType); - UA_CHECK_STATUS(res, return res); - - //TODO collect value rank for the static field source - fieldMetaData->properties = NULL; - fieldMetaData->propertiesSize = 0; - fieldMetaData->fieldFlags = UA_DATASETFIELDFLAGS_NONE; - return UA_STATUSCODE_GOOD; - } - - /* Set the Array Dimensions */ - const UA_PublishedVariableDataType *pp = &var->publishParameters; - UA_Variant value; - UA_Variant_init(&value); - res = readWithReadValue(server, &pp->publishedVariable, - UA_ATTRIBUTEID_ARRAYDIMENSIONS, &value); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "PubSub meta data generation: Reading the array dimensions failed"); - return res; - } - - if(value.arrayDimensionsSize > 0) { - fieldMetaData->arrayDimensions = (UA_UInt32 *) - UA_calloc(value.arrayDimensionsSize, sizeof(UA_UInt32)); - if(!fieldMetaData->arrayDimensions) - return UA_STATUSCODE_BADOUTOFMEMORY; - memcpy(fieldMetaData->arrayDimensions, value.arrayDimensions, - sizeof(UA_UInt32)*value.arrayDimensionsSize); - } - fieldMetaData->arrayDimensionsSize = value.arrayDimensionsSize; - - UA_Variant_clear(&value); - - /* Set the DataType */ - res = readWithReadValue(server, &pp->publishedVariable, - UA_ATTRIBUTEID_DATATYPE, &fieldMetaData->dataType); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "PubSub meta data generation: Reading the datatype failed"); - return res; - } - - if(!UA_NodeId_isNull(&fieldMetaData->dataType)) { - const UA_DataType *currentDataType = - UA_findDataTypeWithCustom(&fieldMetaData->dataType, - server->config.customDataTypes); -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_DEBUG_DATASET(server->config.logging, pds, - "MetaData creation: Found DataType %s", - currentDataType->typeName); -#endif - /* Check if the datatype is a builtInType, if yes set the builtinType. */ - if(currentDataType->typeKind <= UA_DATATYPEKIND_ENUM) - fieldMetaData->builtInType = (UA_Byte)currentDataType->typeId.identifier.numeric; - /* set the maxStringLength attribute */ - if(field->config.field.variable.maxStringLength != 0){ - if(currentDataType->typeKind == UA_DATATYPEKIND_BYTESTRING || - currentDataType->typeKind == UA_DATATYPEKIND_STRING || - currentDataType->typeKind == UA_DATATYPEKIND_LOCALIZEDTEXT) { - fieldMetaData->maxStringLength = field->config.field.variable.maxStringLength; - } else { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "PubSub meta data generation: MaxStringLength with incompatible DataType configured."); - } - } - } else { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "PubSub meta data generation: DataType is UA_NODEID_NULL"); - } - - /* Set the ValueRank */ - UA_Int32 valueRank; - res = readWithReadValue(server, &pp->publishedVariable, - UA_ATTRIBUTEID_VALUERANK, &valueRank); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "PubSub meta data generation: Reading the value rank failed"); - return res; - } - fieldMetaData->valueRank = valueRank; - - /* PromotedField? */ - if(var->promotedField) - fieldMetaData->fieldFlags = UA_DATASETFIELDFLAGS_PROMOTEDFIELD; - else - fieldMetaData->fieldFlags = UA_DATASETFIELDFLAGS_NONE; - - /* Properties */ - fieldMetaData->properties = NULL; - fieldMetaData->propertiesSize = 0; - - //TODO collect the following fields*/ - //fieldMetaData.builtInType - //fieldMetaData.maxStringLength - - return UA_STATUSCODE_GOOD; -} - -UA_DataSetFieldResult -UA_DataSetField_create(UA_Server *server, const UA_NodeId publishedDataSet, - const UA_DataSetFieldConfig *fieldConfig, - UA_NodeId *fieldIdentifier) { - UA_DataSetFieldResult result; - memset(&result, 0, sizeof(UA_DataSetFieldResult)); - if(!fieldConfig) { - result.result = UA_STATUSCODE_BADINVALIDARGUMENT; - return result; - } - - UA_PublishedDataSet *currDS = - UA_PublishedDataSet_findPDSbyId(server, publishedDataSet); - if(!currDS) { - result.result = UA_STATUSCODE_BADNOTFOUND; - return result; - } - - if(currDS->configurationFreezeCounter > 0) { - UA_LOG_WARNING_DATASET(server->config.logging, currDS, - "Adding DataSetField failed: PublishedDataSet is frozen"); - result.result = UA_STATUSCODE_BADCONFIGURATIONERROR; - return result; - } - - if(currDS->config.publishedDataSetType != UA_PUBSUB_DATASET_PUBLISHEDITEMS) { - result.result = UA_STATUSCODE_BADNOTIMPLEMENTED; - return result; - } - - UA_DataSetField *newField = (UA_DataSetField*)UA_calloc(1, sizeof(UA_DataSetField)); - if(!newField) { - result.result = UA_STATUSCODE_BADINTERNALERROR; - return result; - } - - result.result = UA_DataSetFieldConfig_copy(fieldConfig, &newField->config); - if(result.result != UA_STATUSCODE_GOOD) { - UA_free(newField); - return result; - } - - result.result = UA_NodeId_copy(&currDS->identifier, &newField->publishedDataSet); - if(result.result != UA_STATUSCODE_GOOD) { - UA_DataSetFieldConfig_clear(&newField->config); - UA_free(newField); - return result; - } - - /* Initialize the field metadata. Also generates a FieldId */ - UA_FieldMetaData fmd; - UA_FieldMetaData_init(&fmd); - result.result = generateFieldMetaData(server, currDS, newField, &fmd); - if(result.result != UA_STATUSCODE_GOOD) { - UA_FieldMetaData_clear(&fmd); - UA_DataSetFieldConfig_clear(&newField->config); - UA_NodeId_clear(&newField->publishedDataSet); - UA_free(newField); - return result; - } - - /* Append to the metadata fields array. Point of last return. */ - result.result = UA_Array_appendCopy((void**)&currDS->dataSetMetaData.fields, - &currDS->dataSetMetaData.fieldsSize, - &fmd, &UA_TYPES[UA_TYPES_FIELDMETADATA]); - if(result.result != UA_STATUSCODE_GOOD) { - UA_FieldMetaData_clear(&fmd); - UA_DataSetFieldConfig_clear(&newField->config); - UA_NodeId_clear(&newField->publishedDataSet); - UA_free(newField); - return result; - } - - /* Copy the identifier from the metadata. Cannot fail with a guid NodeId. */ - newField->identifier = UA_NODEID_GUID(1, fmd.dataSetFieldId); - if(fieldIdentifier) - UA_NodeId_copy(&newField->identifier, fieldIdentifier); - UA_FieldMetaData_clear(&fmd); - - /* Register the field. The order of DataSetFields should be the same in both - * creating and publishing. So adding DataSetFields at the the end of the - * DataSets using the TAILQ structure. */ - TAILQ_INSERT_TAIL(&currDS->fields, newField, listEntry); - currDS->fieldSize++; - - if(newField->config.field.variable.promotedField) - currDS->promotedFieldsCount++; - - /* The values of the metadata are "borrowed" in a mirrored structure in the - * pds. Reset them after resizing the array. */ - size_t counter = 0; - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, &currDS->fields, listEntry) { - dsf->fieldMetaData = currDS->dataSetMetaData.fields[counter++]; - } - - /* Update major version of parent published data set */ - currDS->dataSetMetaData.configurationVersion.majorVersion = - UA_PubSubConfigurationVersionTimeDifference(); - - result.configurationVersion.majorVersion = - currDS->dataSetMetaData.configurationVersion.majorVersion; - result.configurationVersion.minorVersion = - currDS->dataSetMetaData.configurationVersion.minorVersion; - return result; -} - -UA_DataSetFieldResult -UA_Server_addDataSetField(UA_Server *server, const UA_NodeId publishedDataSet, - const UA_DataSetFieldConfig *fieldConfig, - UA_NodeId *fieldIdentifier) { - lockServer(server); - UA_DataSetFieldResult res = - UA_DataSetField_create(server, publishedDataSet, fieldConfig, fieldIdentifier); - unlockServer(server); - return res; -} - -UA_DataSetFieldResult -UA_DataSetField_remove(UA_Server *server, UA_DataSetField *currentField) { - UA_DataSetFieldResult result; - memset(&result, 0, sizeof(UA_DataSetFieldResult)); - - UA_PublishedDataSet *pds = - UA_PublishedDataSet_findPDSbyId(server, currentField->publishedDataSet); - if(!pds) { - result.result = UA_STATUSCODE_BADNOTFOUND; - return result; - } - - if(currentField->configurationFrozen) { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "Remove DataSetField failed: DataSetField is frozen"); - result.result = UA_STATUSCODE_BADCONFIGURATIONERROR; - return result; - } - - if(pds->configurationFreezeCounter > 0) { - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "Remove DataSetField failed: PublishedDataSet is frozen"); - result.result = UA_STATUSCODE_BADCONFIGURATIONERROR; - return result; - } - - /* Reduce the counters before the config is cleaned up */ - if(currentField->config.field.variable.promotedField) - pds->promotedFieldsCount--; - pds->fieldSize--; - - /* Update major version of PublishedDataSet */ - pds->dataSetMetaData.configurationVersion.majorVersion = - UA_PubSubConfigurationVersionTimeDifference(); - - /* Clean up */ - currentField->fieldMetaData.arrayDimensions = NULL; - currentField->fieldMetaData.properties = NULL; - currentField->fieldMetaData.name = UA_STRING_NULL; - currentField->fieldMetaData.description.locale = UA_STRING_NULL; - currentField->fieldMetaData.description.text = UA_STRING_NULL; - UA_DataSetField_clear(currentField); - - /* Remove */ - TAILQ_REMOVE(&pds->fields, currentField, listEntry); - UA_free(currentField); - - /* Regenerate DataSetMetaData */ - pds->dataSetMetaData.fieldsSize--; - if(pds->dataSetMetaData.fieldsSize > 0) { - for(size_t i = 0; i < pds->dataSetMetaData.fieldsSize+1; i++) { - UA_FieldMetaData_clear(&pds->dataSetMetaData.fields[i]); - } - UA_free(pds->dataSetMetaData.fields); - UA_FieldMetaData *fieldMetaData = (UA_FieldMetaData *) - UA_calloc(pds->dataSetMetaData.fieldsSize, sizeof(UA_FieldMetaData)); - if(!fieldMetaData) { - result.result = UA_STATUSCODE_BADOUTOFMEMORY; - return result; - } - UA_DataSetField *tmpDSF; - size_t counter = 0; - TAILQ_FOREACH(tmpDSF, &pds->fields, listEntry) { - result.result = generateFieldMetaData(server, pds, tmpDSF, &fieldMetaData[counter]); - if(result.result != UA_STATUSCODE_GOOD) { - UA_FieldMetaData_clear(&fieldMetaData[counter]); - UA_LOG_WARNING_DATASET(server->config.logging, pds, - "PubSub MetaData regeneration failed " - "after removing a field!"); - break; - } - // The contents of the metadata is shared between the PDS and its fields. - tmpDSF->fieldMetaData = fieldMetaData[counter++]; - } - pds->dataSetMetaData.fields = fieldMetaData; - } else { - UA_FieldMetaData_delete(pds->dataSetMetaData.fields); - pds->dataSetMetaData.fields = NULL; - } - - result.configurationVersion.majorVersion = - pds->dataSetMetaData.configurationVersion.majorVersion; - result.configurationVersion.minorVersion = - pds->dataSetMetaData.configurationVersion.minorVersion; - return result; -} - -UA_DataSetFieldResult -UA_Server_removeDataSetField(UA_Server *server, const UA_NodeId dsf) { - lockServer(server); - UA_DataSetFieldResult res; - memset(&res, 0, sizeof(UA_DataSetFieldResult)); - UA_DataSetField *field = UA_DataSetField_findDSFbyId(server, dsf); - if(!field) { - res.result = UA_STATUSCODE_BADNOTFOUND; - unlockServer(server); - return res; - } - res = UA_DataSetField_remove(server, field); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_DataSetFieldConfig_copy(const UA_DataSetFieldConfig *src, - UA_DataSetFieldConfig *dst) { - if(src->dataSetFieldType != UA_PUBSUB_DATASETFIELD_VARIABLE) - return UA_STATUSCODE_BADNOTSUPPORTED; - memcpy(dst, src, sizeof(UA_DataSetFieldConfig)); - UA_StatusCode res = UA_STATUSCODE_GOOD; - res |= UA_String_copy(&src->field.variable.fieldNameAlias, - &dst->field.variable.fieldNameAlias); - res |= UA_PublishedVariableDataType_copy(&src->field.variable.publishParameters, - &dst->field.variable.publishParameters); - if(res != UA_STATUSCODE_GOOD) - UA_DataSetFieldConfig_clear(dst); - return res; -} - -UA_StatusCode -UA_Server_getDataSetFieldConfig(UA_Server *server, const UA_NodeId dsf, - UA_DataSetFieldConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_DataSetField *currentDataSetField = UA_DataSetField_findDSFbyId(server, dsf); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(currentDataSetField) - res = UA_DataSetFieldConfig_copy(¤tDataSetField->config, config); - unlockServer(server); - return res; -} - -UA_DataSetField * -UA_DataSetField_findDSFbyId(UA_Server *server, UA_NodeId identifier) { - UA_PublishedDataSet *tmpPDS; - TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry) { - UA_DataSetField *tmpField; - TAILQ_FOREACH(tmpField, &tmpPDS->fields, listEntry) { - if(UA_NodeId_equal(&tmpField->identifier, &identifier)) - return tmpField; - } - } - return NULL; -} - -void -UA_DataSetFieldConfig_clear(UA_DataSetFieldConfig *dataSetFieldConfig) { - if(dataSetFieldConfig->dataSetFieldType == UA_PUBSUB_DATASETFIELD_VARIABLE) { - UA_String_clear(&dataSetFieldConfig->field.variable.fieldNameAlias); - UA_PublishedVariableDataType_clear(&dataSetFieldConfig->field.variable.publishParameters); - } -} - -/* Obtain the latest value for a specific DataSetField. This method is currently - * called inside the DataSetMessage generation process. */ -void -UA_PubSubDataSetField_sampleValue(UA_Server *server, UA_DataSetField *field, - UA_DataValue *value) { - UA_PublishedVariableDataType *params = &field->config.field.variable.publishParameters; - - /* Read the value */ - if(field->config.field.variable.rtValueSource.rtInformationModelNode) { - const UA_VariableNode *rtNode = (const UA_VariableNode *) - UA_NODESTORE_GET(server, ¶ms->publishedVariable); - *value = **rtNode->valueBackend.backend.external.value; - value->value.storageType = UA_VARIANT_DATA_NODELETE; - UA_NODESTORE_RELEASE(server, (const UA_Node *) rtNode); - } else if(field->config.field.variable.rtValueSource.rtFieldSourceEnabled == false){ - UA_ReadValueId rvid; - UA_ReadValueId_init(&rvid); - rvid.nodeId = params->publishedVariable; - rvid.attributeId = params->attributeId; - rvid.indexRange = params->indexRange; - *value = readWithSession(server, &server->adminSession, - &rvid, UA_TIMESTAMPSTORETURN_BOTH); - } else { - *value = **field->config.field.variable.rtValueSource.staticValueSource; - value->value.storageType = UA_VARIANT_DATA_NODELETE; - } -} - -UA_AddPublishedDataSetResult -UA_PublishedDataSet_create(UA_Server *server, - const UA_PublishedDataSetConfig *publishedDataSetConfig, - UA_NodeId *pdsIdentifier) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_AddPublishedDataSetResult result = {UA_STATUSCODE_BADINVALIDARGUMENT, 0, NULL, {0, 0}}; - if(!publishedDataSetConfig){ - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PublishedDataSet creation failed. No config passed in."); - return result; - } - - if(publishedDataSetConfig->publishedDataSetType != UA_PUBSUB_DATASET_PUBLISHEDITEMS){ - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PublishedDataSet creation failed. Unsupported PublishedDataSet type."); - return result; - } - - if(UA_String_isEmpty(&publishedDataSetConfig->name)) { - // DataSet has to have a valid name - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PublishedDataSet creation failed. Invalid name."); - return result; - } - - if(UA_PublishedDataSet_findPDSbyName(server, publishedDataSetConfig->name)) { - // DataSet name has to be unique in the publisher - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PublishedDataSet creation failed. DataSet with the same name already exists."); - result.addResult = UA_STATUSCODE_BADBROWSENAMEDUPLICATED; - return result; - } - - /* Create new PDS and add to UA_PubSubManager */ - UA_PublishedDataSet *newPDS = (UA_PublishedDataSet *) - UA_calloc(1, sizeof(UA_PublishedDataSet)); - if(!newPDS) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PublishedDataSet creation failed. Out of Memory."); - result.addResult = UA_STATUSCODE_BADOUTOFMEMORY; - return result; - } - TAILQ_INIT(&newPDS->fields); - - UA_PublishedDataSetConfig *newConfig = &newPDS->config; - - /* Deep copy the given connection config */ - UA_StatusCode res = UA_PublishedDataSetConfig_copy(publishedDataSetConfig, newConfig); - if(res != UA_STATUSCODE_GOOD){ - UA_free(newPDS); - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PublishedDataSet creation failed. Configuration copy failed."); - result.addResult = UA_STATUSCODE_BADINTERNALERROR; - return result; - } - - /* TODO: Parse template config and add fields (later PubSub batch) */ - if(newConfig->publishedDataSetType == UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE) { - } - - /* Fill the DataSetMetaData */ - result.configurationVersion.majorVersion = UA_PubSubConfigurationVersionTimeDifference(); - result.configurationVersion.minorVersion = UA_PubSubConfigurationVersionTimeDifference(); - switch(newConfig->publishedDataSetType) { - case UA_PUBSUB_DATASET_PUBLISHEDEVENTS_TEMPLATE: - case UA_PUBSUB_DATASET_PUBLISHEDEVENTS: - res = UA_STATUSCODE_BADNOTSUPPORTED; - break; - case UA_PUBSUB_DATASET_PUBLISHEDITEMS: - newPDS->dataSetMetaData.configurationVersion.majorVersion = - UA_PubSubConfigurationVersionTimeDifference(); - newPDS->dataSetMetaData.configurationVersion.minorVersion = - UA_PubSubConfigurationVersionTimeDifference(); - newPDS->dataSetMetaData.description = UA_LOCALIZEDTEXT_ALLOC("", ""); - newPDS->dataSetMetaData.dataSetClassId = UA_GUID_NULL; - res = UA_String_copy(&newConfig->name, &newPDS->dataSetMetaData.name); - break; - case UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE: - res = UA_DataSetMetaDataType_copy(&newConfig->config.itemsTemplate.metaData, - &newPDS->dataSetMetaData); - break; - default: - res = UA_STATUSCODE_BADINTERNALERROR; - } - - /* Abort? */ - result.addResult = res; - if(result.addResult != UA_STATUSCODE_GOOD) { - UA_PublishedDataSetConfig_clear(newConfig); - UA_free(newPDS); - return result; - } - - /* Insert into the queue of the manager */ - TAILQ_INSERT_TAIL(&server->pubSubManager.publishedDataSets, newPDS, listEntry); - server->pubSubManager.publishedDataSetsSize++; - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - /* Create representation and unique id */ - addPublishedDataItemsRepresentation(server, newPDS); -#else - /* Generate unique nodeId */ - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, &newPDS->identifier); -#endif - if(pdsIdentifier) - UA_NodeId_copy(&newPDS->identifier, pdsIdentifier); - - return result; -} - -UA_AddPublishedDataSetResult -UA_Server_addPublishedDataSet(UA_Server *server, - const UA_PublishedDataSetConfig *publishedDataSetConfig, - UA_NodeId *pdsIdentifier) { - lockServer(server); - UA_AddPublishedDataSetResult res = - UA_PublishedDataSet_create(server, publishedDataSetConfig, pdsIdentifier); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_PublishedDataSet_remove(UA_Server *server, UA_PublishedDataSet *publishedDataSet) { - if(publishedDataSet->configurationFreezeCounter > 0) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Remove PublishedDataSet failed. PublishedDataSet is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - //search for referenced writers -> delete this writers. (Standard: writer must be connected with PDS) - UA_PubSubConnection *tmpConnectoin; - TAILQ_FOREACH(tmpConnectoin, &server->pubSubManager.connections, listEntry){ - UA_WriterGroup *writerGroup; - LIST_FOREACH(writerGroup, &tmpConnectoin->writerGroups, listEntry){ - UA_DataSetWriter *currentWriter, *tmpWriterGroup; - LIST_FOREACH_SAFE(currentWriter, &writerGroup->writers, listEntry, tmpWriterGroup){ - if(UA_NodeId_equal(¤tWriter->connectedDataSet, - &publishedDataSet->identifier)) { - UA_DataSetWriter_remove(server, currentWriter); - } - } - } - } - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, publishedDataSet->identifier, true); -#endif - - UA_PublishedDataSet_clear(server, publishedDataSet); - server->pubSubManager.publishedDataSetsSize--; - - TAILQ_REMOVE(&server->pubSubManager.publishedDataSets, publishedDataSet, listEntry); - UA_free(publishedDataSet); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_removePublishedDataSet(UA_Server *server, const UA_NodeId pds) { - lockServer(server); - UA_PublishedDataSet *currentPDS = UA_PublishedDataSet_findPDSbyId(server, pds); - if(!currentPDS) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_PublishedDataSet_remove(server, currentPDS); - unlockServer(server); - return res; -} - - -UA_StandaloneSubscribedDataSet * -UA_StandaloneSubscribedDataSet_findSDSbyId(UA_Server *server, UA_NodeId identifier) { - UA_StandaloneSubscribedDataSet *subscribedDataSet; - TAILQ_FOREACH(subscribedDataSet, &server->pubSubManager.subscribedDataSets, - listEntry) { - if(UA_NodeId_equal(&identifier, &subscribedDataSet->identifier)) - return subscribedDataSet; - } - return NULL; -} - -UA_StandaloneSubscribedDataSet * -UA_StandaloneSubscribedDataSet_findSDSbyName(UA_Server *server, UA_String identifier) { - UA_StandaloneSubscribedDataSet *subscribedDataSet; - TAILQ_FOREACH(subscribedDataSet, &server->pubSubManager.subscribedDataSets, - listEntry) { - if(UA_String_equal(&identifier, &subscribedDataSet->config.name)) - return subscribedDataSet; - } - return NULL; -} - -UA_StatusCode -UA_StandaloneSubscribedDataSetConfig_copy(const UA_StandaloneSubscribedDataSetConfig *src, - UA_StandaloneSubscribedDataSetConfig *dst) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - memcpy(dst, src, sizeof(UA_StandaloneSubscribedDataSetConfig)); - res = UA_DataSetMetaDataType_copy(&src->dataSetMetaData, &dst->dataSetMetaData); - res |= UA_String_copy(&src->name, &dst->name); - res |= UA_Boolean_copy(&src->isConnected, &dst->isConnected); - res |= UA_TargetVariablesDataType_copy(&src->subscribedDataSet.target, - &dst->subscribedDataSet.target); - - if(res != UA_STATUSCODE_GOOD) - UA_StandaloneSubscribedDataSetConfig_clear(dst); - return res; -} - -void -UA_StandaloneSubscribedDataSetConfig_clear( - UA_StandaloneSubscribedDataSetConfig *sdsConfig) { - UA_String_clear(&sdsConfig->name); - UA_DataSetMetaDataType_clear(&sdsConfig->dataSetMetaData); - UA_TargetVariablesDataType_clear(&sdsConfig->subscribedDataSet.target); -} - -void -UA_StandaloneSubscribedDataSet_clear(UA_Server *server, - UA_StandaloneSubscribedDataSet *subscribedDataSet) { - UA_StandaloneSubscribedDataSetConfig_clear(&subscribedDataSet->config); - UA_NodeId_clear(&subscribedDataSet->identifier); - UA_NodeId_clear(&subscribedDataSet->connectedReader); -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_writer.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2019-2021 Kalycito Infotech Private Limited - * Copyright (c) 2020 Yannick Wallerer, Siemens AG - * Copyright (c) 2020 Thomas Fischer, Siemens AG - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -#endif - - -UA_StatusCode -UA_DataSetWriterConfig_copy(const UA_DataSetWriterConfig *src, - UA_DataSetWriterConfig *dst){ - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - memcpy(dst, src, sizeof(UA_DataSetWriterConfig)); - retVal |= UA_String_copy(&src->name, &dst->name); - retVal |= UA_String_copy(&src->dataSetName, &dst->dataSetName); - retVal |= UA_ExtensionObject_copy(&src->messageSettings, &dst->messageSettings); - retVal |= UA_KeyValueMap_copy(&src->dataSetWriterProperties, &dst->dataSetWriterProperties); - if(retVal != UA_STATUSCODE_GOOD) - UA_DataSetWriterConfig_clear(dst); - return retVal; -} - -UA_StatusCode -UA_Server_getDataSetWriterConfig(UA_Server *server, const UA_NodeId dsw, - UA_DataSetWriterConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_DataSetWriter *currentDataSetWriter = UA_DataSetWriter_findDSWbyId(server, dsw); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(currentDataSetWriter) - res = UA_DataSetWriterConfig_copy(¤tDataSetWriter->config, config); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_DataSetWriter_getState(UA_Server *server, UA_NodeId dataSetWriterIdentifier, - UA_PubSubState *state) { - if((server == NULL) || (state == NULL)) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_DataSetWriter *currentDataSetWriter = - UA_DataSetWriter_findDSWbyId(server, dataSetWriterIdentifier); - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(currentDataSetWriter) { - *state = currentDataSetWriter->state; - } else { - res = UA_STATUSCODE_BADNOTFOUND; - } - unlockServer(server); - return res; -} - -UA_DataSetWriter * -UA_DataSetWriter_findDSWbyId(UA_Server *server, UA_NodeId identifier) { - UA_PubSubConnection *pubSubConnection; - TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ - UA_WriterGroup *tmpWriterGroup; - LIST_FOREACH(tmpWriterGroup, &pubSubConnection->writerGroups, listEntry){ - UA_DataSetWriter *tmpWriter; - LIST_FOREACH(tmpWriter, &tmpWriterGroup->writers, listEntry){ - if(UA_NodeId_equal(&tmpWriter->identifier, &identifier)){ - return tmpWriter; - } - } - } - } - return NULL; -} - -void -UA_DataSetWriterConfig_clear(UA_DataSetWriterConfig *pdsConfig) { - UA_String_clear(&pdsConfig->name); - UA_String_clear(&pdsConfig->dataSetName); - UA_KeyValueMap_clear(&pdsConfig->dataSetWriterProperties); - UA_ExtensionObject_clear(&pdsConfig->messageSettings); - memset(pdsConfig, 0, sizeof(UA_DataSetWriterConfig)); -} - -//state machine methods not part of the open62541 state machine API -UA_StatusCode -UA_DataSetWriter_setPubSubState(UA_Server *server, - UA_DataSetWriter *dataSetWriter, - UA_PubSubState state, - UA_StatusCode cause) { - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_PubSubState oldState = dataSetWriter->state; - switch(state){ - case UA_PUBSUBSTATE_DISABLED: - switch (dataSetWriter->state){ - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - dataSetWriter->state = UA_PUBSUBSTATE_DISABLED; - //no further action is required - break; - case UA_PUBSUBSTATE_OPERATIONAL: - dataSetWriter->state = UA_PUBSUBSTATE_DISABLED; - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Received unknown PubSub state!"); - } - break; - case UA_PUBSUBSTATE_PAUSED: - switch (dataSetWriter->state){ - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Received unknown PubSub state!"); - } - break; - case UA_PUBSUBSTATE_OPERATIONAL: - switch (dataSetWriter->state){ - case UA_PUBSUBSTATE_DISABLED: - dataSetWriter->state = UA_PUBSUBSTATE_OPERATIONAL; - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Received unknown PubSub state!"); - } - break; - case UA_PUBSUBSTATE_ERROR: - switch (dataSetWriter->state){ - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Received unknown PubSub state!"); - } - break; - default: - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Received unknown PubSub state!"); - } - if (state != oldState) { - /* inform application about state change */ - UA_ServerConfig *pConfig = &server->config; - if(pConfig->pubSubConfig.stateChangeCallback != 0) { - pConfig->pubSubConfig. - stateChangeCallback(server, &dataSetWriter->identifier, state, cause); - } - } - return ret; -} - -UA_StatusCode -UA_DataSetWriter_create(UA_Server *server, - const UA_NodeId writerGroup, const UA_NodeId dataSet, - const UA_DataSetWriterConfig *dataSetWriterConfig, - UA_NodeId *writerIdentifier) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(!dataSetWriterConfig) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(!wg) - return UA_STATUSCODE_BADNOTFOUND; - - /* Make checks for a heartbeat */ - if(UA_NodeId_isNull(&dataSet) && dataSetWriterConfig->keyFrameCount != 1) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Adding DataSetWriter failed: DataSet can be null only for " - "a heartbeat in which case KeyFrameCount shall be 1"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - if(wg->configurationFrozen) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Adding DataSetWriter failed: WriterGroup is frozen"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - UA_PublishedDataSet *currentDataSetContext = NULL; - - if(!UA_NodeId_isNull(&dataSet)) { - currentDataSetContext = UA_PublishedDataSet_findPDSbyId(server, dataSet); - if(!currentDataSetContext) - return UA_STATUSCODE_BADNOTFOUND; - - if(currentDataSetContext->configurationFreezeCounter > 0) { - UA_LOG_WARNING_DATASET(server->config.logging, currentDataSetContext, - "Adding DataSetWriter failed: PublishedDataSet is frozen"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - if(wg->config.rtLevel != UA_PUBSUB_RT_NONE) { - UA_DataSetField *tmpDSF; - TAILQ_FOREACH(tmpDSF, ¤tDataSetContext->fields, listEntry) { - if(!tmpDSF->config.field.variable.rtValueSource.rtFieldSourceEnabled && - !tmpDSF->config.field.variable.rtValueSource.rtInformationModelNode) { - UA_LOG_WARNING_DATASET(server->config.logging, currentDataSetContext, - "Adding DataSetWriter failed: " - "Fields in PDS are not RT capable"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - } - } - } - - UA_DataSetWriter *newDataSetWriter = (UA_DataSetWriter *) - UA_calloc(1, sizeof(UA_DataSetWriter)); - if(!newDataSetWriter) - return UA_STATUSCODE_BADOUTOFMEMORY; - - newDataSetWriter->componentType = UA_PUBSUB_COMPONENT_DATASETWRITER; - - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(wg->state == UA_PUBSUBSTATE_OPERATIONAL) { - res = UA_DataSetWriter_setPubSubState(server, newDataSetWriter, - UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Add DataSetWriter failed: setPubSubState failed"); - UA_free(newDataSetWriter); - return res; - } - } - - /* Copy the config into the new dataSetWriter */ - res = UA_DataSetWriterConfig_copy(dataSetWriterConfig, &newDataSetWriter->config); - UA_CHECK_STATUS(res, UA_free(newDataSetWriter); return res); - - if(!UA_NodeId_isNull(&dataSet) && currentDataSetContext != NULL) { - /* Save the current version of the connected PublishedDataSet */ - newDataSetWriter->connectedDataSetVersion = - currentDataSetContext->dataSetMetaData.configurationVersion; - - if(server->config.pubSubConfig.enableDeltaFrames) { - /* Initialize the queue for the last values */ - if(currentDataSetContext->fieldSize > 0) { - newDataSetWriter->lastSamples = (UA_DataSetWriterSample*) - UA_calloc(currentDataSetContext->fieldSize, sizeof(UA_DataSetWriterSample)); - if(!newDataSetWriter->lastSamples) { - UA_DataSetWriterConfig_clear(&newDataSetWriter->config); - UA_free(newDataSetWriter); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - newDataSetWriter->lastSamplesCount = currentDataSetContext->fieldSize; - for(size_t i = 0; i < newDataSetWriter->lastSamplesCount; i++) { - UA_DataValue_init(&newDataSetWriter->lastSamples[i].value); - newDataSetWriter->lastSamples[i].valueChanged = false; - } - } - } - /* Connect PublishedDataSet with DataSetWriter */ - newDataSetWriter->connectedDataSet = currentDataSetContext->identifier; - } else { - /* If the dataSet is NULL, we are adding a heartbeat writer */ - newDataSetWriter->connectedDataSetVersion.majorVersion = 0; - newDataSetWriter->connectedDataSetVersion.minorVersion = 0; - newDataSetWriter->connectedDataSet = UA_NODEID_NULL; - } - - newDataSetWriter->linkedWriterGroup = wg->identifier; - - /* Add the new writer to the group. Add to the end of the linked list to - * ensure the order in the generated NetworkMessage is as expected. */ - UA_DataSetWriter *after = LIST_FIRST(&wg->writers); - if(!after) { - LIST_INSERT_HEAD(&wg->writers, newDataSetWriter, listEntry); - } else { - while(LIST_NEXT(after, listEntry)) - after = LIST_NEXT(after, listEntry); - LIST_INSERT_AFTER(after, newDataSetWriter, listEntry); - } - wg->writersCount++; - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - res |= addDataSetWriterRepresentation(server, newDataSetWriter); -#else - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, - &newDataSetWriter->identifier); -#endif - if(writerIdentifier) - UA_NodeId_copy(&newDataSetWriter->identifier, writerIdentifier); - return res; -} - -UA_StatusCode -UA_Server_addDataSetWriter(UA_Server *server, - const UA_NodeId writerGroup, const UA_NodeId dataSet, - const UA_DataSetWriterConfig *dataSetWriterConfig, - UA_NodeId *writerIdentifier) { - lockServer(server); - /* Delete the reserved IDs if the related session no longer exists. */ - UA_PubSubManager_freeIds(server); - UA_StatusCode res = UA_DataSetWriter_create(server, writerGroup, dataSet, - dataSetWriterConfig, writerIdentifier); - unlockServer(server); - return res; -} - -void -UA_DataSetWriter_freezeConfiguration(UA_Server *server, - UA_DataSetWriter *dsw) { - UA_PublishedDataSet *pds = - UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); - if(pds) { /* Skip for heartbeat writers */ - pds->configurationFreezeCounter++; - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, &pds->fields, listEntry) { - dsf->configurationFrozen = true; - } - } - dsw->configurationFrozen = true; -} - -void -UA_DataSetWriter_unfreezeConfiguration(UA_Server *server, - UA_DataSetWriter *dsw) { - UA_PublishedDataSet *pds = - UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); - if(pds) { /* Skip for heartbeat writers */ - pds->configurationFreezeCounter--; - if(pds->configurationFreezeCounter == 0) { - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, &pds->fields, listEntry){ - dsf->configurationFrozen = false; - } - } - dsw->configurationFrozen = false; - } -} - -UA_StatusCode -UA_DataSetWriter_prepareDataSet(UA_Server *server, UA_DataSetWriter *dsw, - UA_DataSetMessage *dsm) { - /* No PublishedDataSet defined -> Heartbeat messages only */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(UA_NodeId_isNull(&dsw->connectedDataSet)) { - res = UA_DataSetWriter_generateDataSetMessage(server, dsm, dsw); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "Heartbeat DataSetMessage creation failed"); - } - return res; - } - - /* Get the PublishedDataSet */ - UA_PublishedDataSet *pds = - UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); - if(!pds) { - UA_LOG_WARNING_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "PublishedDataSet not found"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, dsw->linkedWriterGroup); - UA_assert(wg); - - /* Promoted Fields not allowed if RT is enabled */ - if(wg->config.rtLevel > UA_PUBSUB_RT_NONE && - pds->promotedFieldsCount > 0) { - UA_LOG_WARNING_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "PDS contains promoted fields"); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - - /* Test the DataSetFields */ - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, &pds->fields, listEntry) { - UA_NodeId *publishedVariable = - &dsf->config.field.variable.publishParameters.publishedVariable; - - /* Check that the target is a VariableNode */ - const UA_VariableNode *rtNode = (const UA_VariableNode*) - UA_NODESTORE_GET(server, publishedVariable); - if(rtNode && rtNode->head.nodeClass != UA_NODECLASS_VARIABLE) { - UA_LOG_ERROR_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "PDS points to a node that is not a variable"); - UA_NODESTORE_RELEASE(server, (const UA_Node *)rtNode); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - UA_NODESTORE_RELEASE(server, (const UA_Node *)rtNode); - - /* TODO: Get the External Value Source from the node instead of from the config */ - - /* If direct-value-access is enabled, the pointers need to be set */ - if(wg->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS && - !dsf->config.field.variable.rtValueSource.rtFieldSourceEnabled) { - UA_LOG_ERROR_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: PDS published-variable " - "does not have an external data source"); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - - /* Check that the values have a fixed size if fixed offsets are needed */ - if(wg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { - if((UA_NodeId_equal(&dsf->fieldMetaData.dataType, - &UA_TYPES[UA_TYPES_STRING].typeId) || - UA_NodeId_equal(&dsf->fieldMetaData.dataType, - &UA_TYPES[UA_TYPES_BYTESTRING].typeId)) && - dsf->fieldMetaData.maxStringLength == 0) { - UA_LOG_WARNING_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "PDS contains String/ByteString with dynamic length"); - return UA_STATUSCODE_BADNOTSUPPORTED; - } else if(!UA_DataType_isNumeric( - UA_findDataType(&dsf->fieldMetaData.dataType)) && - !UA_NodeId_equal(&dsf->fieldMetaData.dataType, - &UA_TYPES[UA_TYPES_BOOLEAN].typeId)) { - UA_LOG_WARNING_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "PDS contains variable with dynamic size"); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - } - } - - /* Generate the DSM */ - res = UA_DataSetWriter_generateDataSetMessage(server, dsm, dsw); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_WRITER(server->config.logging, dsw, - "PubSub-RT configuration fail: " - "DataSetMessage buffering failed"); - } - - return res; -} - -UA_StatusCode -UA_DataSetWriter_remove(UA_Server *server, UA_DataSetWriter *dataSetWriter) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Frozen? */ - if(dataSetWriter->configurationFrozen) { - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Remove DataSetWriter failed: WriterGroup is frozen"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* Remove from information model */ -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, dataSetWriter->identifier, true); -#endif - - /* Remove DataSetWriter from group */ - UA_WriterGroup *linkedWriterGroup = - UA_WriterGroup_findWGbyId(server, dataSetWriter->linkedWriterGroup); - if(linkedWriterGroup) { - LIST_REMOVE(dataSetWriter, listEntry); - linkedWriterGroup->writersCount--; - } - - UA_DataSetWriterConfig_clear(&dataSetWriter->config); - UA_NodeId_clear(&dataSetWriter->identifier); - UA_NodeId_clear(&dataSetWriter->linkedWriterGroup); - UA_NodeId_clear(&dataSetWriter->connectedDataSet); - - if(server->config.pubSubConfig.enableDeltaFrames) { - /* Delete lastSamples store */ - for(size_t i = 0; i < dataSetWriter->lastSamplesCount; i++) { - UA_DataValue_clear(&dataSetWriter->lastSamples[i].value); - } - UA_free(dataSetWriter->lastSamples); - dataSetWriter->lastSamples = NULL; - dataSetWriter->lastSamplesCount = 0; - } - - UA_free(dataSetWriter); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_removeDataSetWriter(UA_Server *server, const UA_NodeId dsw) { - lockServer(server); - UA_DataSetWriter *dataSetWriter = UA_DataSetWriter_findDSWbyId(server, dsw); - if(!dataSetWriter) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_DataSetWriter_remove(server, dataSetWriter); - unlockServer(server); - return res; -} - -/*********************************************************/ -/* PublishValues handling */ -/*********************************************************/ - -/* Compare two variants. Internally used for value change detection. */ -static UA_Boolean -valueChangedVariant(UA_Variant *oldValue, UA_Variant *newValue) { - if(!oldValue || !newValue) - return false; - - size_t oldValueEncodingSize = UA_calcSizeBinary(oldValue, &UA_TYPES[UA_TYPES_VARIANT]); - size_t newValueEncodingSize = UA_calcSizeBinary(newValue, &UA_TYPES[UA_TYPES_VARIANT]); - if(oldValueEncodingSize == 0 || newValueEncodingSize == 0) - return false; - - if(oldValueEncodingSize != newValueEncodingSize) - return true; - - UA_ByteString oldValueEncoding = UA_BYTESTRING_NULL; - UA_StatusCode res = UA_ByteString_allocBuffer(&oldValueEncoding, oldValueEncodingSize); - if(res != UA_STATUSCODE_GOOD) - return false; - - UA_ByteString newValueEncoding = UA_BYTESTRING_NULL; - res = UA_ByteString_allocBuffer(&newValueEncoding, newValueEncodingSize); - if(res != UA_STATUSCODE_GOOD) { - UA_ByteString_clear(&oldValueEncoding); - return false; - } - - UA_Byte *bufPosOldValue = oldValueEncoding.data; - const UA_Byte *bufEndOldValue = &oldValueEncoding.data[oldValueEncoding.length]; - UA_Byte *bufPosNewValue = newValueEncoding.data; - const UA_Byte *bufEndNewValue = &newValueEncoding.data[newValueEncoding.length]; - - UA_Boolean compareResult = false; /* default */ - - res = UA_encodeBinaryInternal(oldValue, &UA_TYPES[UA_TYPES_VARIANT], - &bufPosOldValue, &bufEndOldValue, NULL, NULL); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - res = UA_encodeBinaryInternal(newValue, &UA_TYPES[UA_TYPES_VARIANT], - &bufPosNewValue, &bufEndNewValue, NULL, NULL); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - oldValueEncoding.length = (uintptr_t)bufPosOldValue - (uintptr_t)oldValueEncoding.data; - newValueEncoding.length = (uintptr_t)bufPosNewValue - (uintptr_t)newValueEncoding.data; - compareResult = !UA_ByteString_equal(&oldValueEncoding, &newValueEncoding); - - cleanup: - UA_ByteString_clear(&oldValueEncoding); - UA_ByteString_clear(&newValueEncoding); - return compareResult; -} - -static UA_StatusCode -UA_PubSubDataSetWriter_generateKeyFrameMessage(UA_Server *server, - UA_DataSetMessage *dataSetMessage, - UA_DataSetWriter *dataSetWriter) { - UA_PublishedDataSet *currentDataSet = - UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); - if(!currentDataSet) - return UA_STATUSCODE_BADNOTFOUND; - - /* Prepare DataSetMessageContent */ - dataSetMessage->header.dataSetMessageValid = true; - dataSetMessage->header.dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; - dataSetMessage->data.keyFrameData.fieldCount = currentDataSet->fieldSize; - dataSetMessage->data.keyFrameData.dataSetFields = (UA_DataValue *) - UA_Array_new(currentDataSet->fieldSize, &UA_TYPES[UA_TYPES_DATAVALUE]); - UA_PublishedDataSet *pds = UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); - dataSetMessage->data.keyFrameData.dataSetMetaDataType = &pds->dataSetMetaData; - if(!dataSetMessage->data.keyFrameData.dataSetFields) - return UA_STATUSCODE_BADOUTOFMEMORY; - -#ifdef UA_ENABLE_JSON_ENCODING - dataSetMessage->data.keyFrameData.fieldNames = (UA_String *) - UA_Array_new(currentDataSet->fieldSize, &UA_TYPES[UA_TYPES_STRING]); - if(!dataSetMessage->data.keyFrameData.fieldNames) { - UA_DataSetMessage_clear(dataSetMessage); - return UA_STATUSCODE_BADOUTOFMEMORY; - } -#endif - - /* Loop over the fields */ - size_t counter = 0; - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, ¤tDataSet->fields, listEntry) { -#ifdef UA_ENABLE_JSON_ENCODING - /* Set the field name alias */ - UA_String_copy(&dsf->config.field.variable.fieldNameAlias, - &dataSetMessage->data.keyFrameData.fieldNames[counter]); -#endif - - /* Sample the value */ - UA_DataValue *dfv = &dataSetMessage->data.keyFrameData.dataSetFields[counter]; - UA_PubSubDataSetField_sampleValue(server, dsf, dfv); - - /* Deactivate statuscode? */ - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_STATUSCODE) == 0) - dfv->hasStatus = false; - - /* Deactivate timestamps */ - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP) == 0) - dfv->hasSourceTimestamp = false; - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS) == 0) - dfv->hasSourcePicoseconds = false; - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SERVERTIMESTAMP) == 0) - dfv->hasServerTimestamp = false; - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS) == 0) - dfv->hasServerPicoseconds = false; - - if(server->config.pubSubConfig.enableDeltaFrames) { - /* Update lastValue store */ - UA_DataValue_clear(&dataSetWriter->lastSamples[counter].value); - UA_DataValue_copy(dfv, &dataSetWriter->lastSamples[counter].value); - } - counter++; - } - return UA_STATUSCODE_GOOD; -} - -/* the input message is already initialized and that the method - * must not be called twice for the same message */ -static UA_StatusCode -UA_PubSubDataSetWriter_generateDeltaFrameMessage(UA_Server *server, - UA_DataSetMessage *dataSetMessage, - UA_DataSetWriter *dataSetWriter) { - UA_PublishedDataSet *currentDataSet = - UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); - if(!currentDataSet) - return UA_STATUSCODE_BADNOTFOUND; - - /* Prepare DataSetMessageContent */ - dataSetMessage->header.dataSetMessageValid = true; - dataSetMessage->header.dataSetMessageType = UA_DATASETMESSAGE_DATADELTAFRAME; - if(currentDataSet->fieldSize == 0) - return UA_STATUSCODE_GOOD; - - UA_DataSetField *dsf; - UA_UInt16 counter = 0; - TAILQ_FOREACH(dsf, ¤tDataSet->fields, listEntry) { - /* Sample the value */ - UA_DataValue value; - UA_DataValue_init(&value); - UA_PubSubDataSetField_sampleValue(server, dsf, &value); - - /* Check if the value has changed */ - UA_DataSetWriterSample *ls = &dataSetWriter->lastSamples[counter]; - if(valueChangedVariant(&ls->value.value, &value.value)) { - /* increase fieldCount for current delta message */ - dataSetMessage->data.deltaFrameData.fieldCount++; - ls->valueChanged = true; - - /* Update last stored sample */ - UA_DataValue_clear(&ls->value); - ls->value = value; - } else { - UA_DataValue_clear(&value); - ls->valueChanged = false; - } - - counter++; - } - - /* Allocate DeltaFrameFields */ - UA_DataSetMessage_DeltaFrameField *deltaFields = (UA_DataSetMessage_DeltaFrameField *) - UA_calloc(counter, sizeof(UA_DataSetMessage_DeltaFrameField)); - if(!deltaFields) - return UA_STATUSCODE_BADOUTOFMEMORY; - - dataSetMessage->data.deltaFrameData.deltaFrameFields = deltaFields; - dataSetMessage->data.deltaFrameData.fieldCount = counter; - - size_t currentDeltaField = 0; - for(size_t i = 0; i < currentDataSet->fieldSize; i++) { - if(!dataSetWriter->lastSamples[i].valueChanged) - continue; - - UA_DataSetMessage_DeltaFrameField *dff = &deltaFields[currentDeltaField]; - - dff->fieldIndex = (UA_UInt16) i; - UA_DataValue_copy(&dataSetWriter->lastSamples[i].value, &dff->fieldValue); - - /* Reset the changed flag */ - dataSetWriter->lastSamples[i].valueChanged = false; - - /* Deactivate statuscode? */ - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_STATUSCODE) == 0) - dff->fieldValue.hasStatus = false; - - /* Deactivate timestamps? */ - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP) == 0) - dff->fieldValue.hasSourceTimestamp = false; - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS) == 0) - dff->fieldValue.hasServerPicoseconds = false; - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SERVERTIMESTAMP) == 0) - dff->fieldValue.hasServerTimestamp = false; - if(((u64)dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS) == 0) - dff->fieldValue.hasServerPicoseconds = false; - - currentDeltaField++; - } - return UA_STATUSCODE_GOOD; -} - -/* Generate a DataSetMessage for the given writer. */ -UA_StatusCode -UA_DataSetWriter_generateDataSetMessage(UA_Server *server, - UA_DataSetMessage *dataSetMessage, - UA_DataSetWriter *dataSetWriter) { - UA_Boolean heartbeat = false; - UA_PublishedDataSet *currentDataSet = NULL; - if(UA_NodeId_isNull(&dataSetWriter->connectedDataSet)){ - heartbeat = true; - } else { - currentDataSet = - UA_PublishedDataSet_findPDSbyId(server, dataSetWriter->connectedDataSet); - if(!currentDataSet){ - return UA_STATUSCODE_BADNOTFOUND; - } - } - - /* Reset the message */ - memset(dataSetMessage, 0, sizeof(UA_DataSetMessage)); - - /* The configuration Flags are included - * inside the std. defined UA_UadpDataSetWriterMessageDataType */ - UA_UadpDataSetWriterMessageDataType defaultUadpConfiguration; - UA_UadpDataSetWriterMessageDataType *dsm = NULL; - UA_JsonDataSetWriterMessageDataType *jsonDsm = NULL; - const UA_ExtensionObject *ms = &dataSetWriter->config.messageSettings; - if((ms->encoding == UA_EXTENSIONOBJECT_DECODED || - ms->encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && - ms->content.decoded.type == &UA_TYPES[UA_TYPES_UADPDATASETWRITERMESSAGEDATATYPE]) { - dsm = (UA_UadpDataSetWriterMessageDataType*)ms->content.decoded.data; /* type is UADP */ - } else if((ms->encoding == UA_EXTENSIONOBJECT_DECODED || - ms->encoding == UA_EXTENSIONOBJECT_DECODED_NODELETE) && - ms->content.decoded.type == &UA_TYPES[UA_TYPES_JSONDATASETWRITERMESSAGEDATATYPE]) { - jsonDsm = (UA_JsonDataSetWriterMessageDataType*)ms->content.decoded.data; /* type is JSON */ - } else { - /* Create default flag configuration if no - * UadpDataSetWriterMessageDataType was passed in */ - memset(&defaultUadpConfiguration, 0, sizeof(UA_UadpDataSetWriterMessageDataType)); - defaultUadpConfiguration.dataSetMessageContentMask = (UA_UadpDataSetMessageContentMask) - ((u64)UA_UADPDATASETMESSAGECONTENTMASK_TIMESTAMP | - (u64)UA_UADPDATASETMESSAGECONTENTMASK_MAJORVERSION | - (u64)UA_UADPDATASETMESSAGECONTENTMASK_MINORVERSION); - dsm = &defaultUadpConfiguration; /* type is UADP */ - } - - /* The field encoding depends on the flags inside the writer config. */ - if(dataSetWriter->config.dataSetFieldContentMask & - (u64)UA_DATASETFIELDCONTENTMASK_RAWDATA) { - dataSetMessage->header.fieldEncoding = UA_FIELDENCODING_RAWDATA; - } else if((u64)dataSetWriter->config.dataSetFieldContentMask & - ((u64)UA_DATASETFIELDCONTENTMASK_SOURCETIMESTAMP | - (u64)UA_DATASETFIELDCONTENTMASK_SERVERPICOSECONDS | - (u64)UA_DATASETFIELDCONTENTMASK_SOURCEPICOSECONDS | - (u64)UA_DATASETFIELDCONTENTMASK_STATUSCODE)) { - dataSetMessage->header.fieldEncoding = UA_FIELDENCODING_DATAVALUE; - } else { - dataSetMessage->header.fieldEncoding = UA_FIELDENCODING_VARIANT; - } - - if(dsm) { - /* Sanity-test the configuration */ - if(dsm->networkMessageNumber != 0 || - dsm->dataSetOffset != 0 || - dsm->configuredSize != 0) { - UA_LOG_WARNING_WRITER(server->config.logging, dataSetWriter, - "Static DSM configuration not supported, using defaults"); - dsm->networkMessageNumber = 0; - dsm->dataSetOffset = 0; - // dsm->configuredSize = 0; - } - - /* setting configured size in the dataSetMessage to add padding later on */ - dataSetMessage->configuredSize = dsm->configuredSize; - - /* Std: 'The DataSetMessageContentMask defines the flags for the content - * of the DataSetMessage header.' */ - if((u64)dsm->dataSetMessageContentMask & - (u64)UA_UADPDATASETMESSAGECONTENTMASK_MAJORVERSION) { - dataSetMessage->header.configVersionMajorVersionEnabled = true; - if(heartbeat){ - dataSetMessage->header.configVersionMajorVersion = 0; - } else { - dataSetMessage->header.configVersionMajorVersion = - currentDataSet->dataSetMetaData.configurationVersion.majorVersion; - } - } - if((u64)dsm->dataSetMessageContentMask & - (u64)UA_UADPDATASETMESSAGECONTENTMASK_MINORVERSION) { - dataSetMessage->header.configVersionMinorVersionEnabled = true; - if(heartbeat){ - dataSetMessage->header.configVersionMinorVersion = 0; - } else { - dataSetMessage->header.configVersionMinorVersion = - currentDataSet->dataSetMetaData.configurationVersion.minorVersion; - } - } - - if((u64)dsm->dataSetMessageContentMask & - (u64)UA_UADPDATASETMESSAGECONTENTMASK_SEQUENCENUMBER) { - dataSetMessage->header.dataSetMessageSequenceNrEnabled = true; - dataSetMessage->header.dataSetMessageSequenceNr = - dataSetWriter->actualDataSetMessageSequenceCount; - } - - if((u64)dsm->dataSetMessageContentMask & - (u64)UA_UADPDATASETMESSAGECONTENTMASK_TIMESTAMP) { - dataSetMessage->header.timestampEnabled = true; - dataSetMessage->header.timestamp = UA_DateTime_now(); - } - - /* TODO: Picoseconds resolution not supported atm */ - if((u64)dsm->dataSetMessageContentMask & - (u64)UA_UADPDATASETMESSAGECONTENTMASK_PICOSECONDS) { - dataSetMessage->header.picoSecondsIncluded = false; - } - - /* TODO: Statuscode not supported yet */ - if((u64)dsm->dataSetMessageContentMask & - (u64)UA_UADPDATASETMESSAGECONTENTMASK_STATUS) { - dataSetMessage->header.statusEnabled = true; - } - } else if(jsonDsm) { - if((u64)jsonDsm->dataSetMessageContentMask & - (u64)UA_JSONDATASETMESSAGECONTENTMASK_METADATAVERSION) { - dataSetMessage->header.configVersionMajorVersionEnabled = true; - dataSetMessage->header.configVersionMinorVersionEnabled = true; - if(heartbeat){ - dataSetMessage->header.configVersionMajorVersion = 0; - dataSetMessage->header.configVersionMinorVersion = 0; - } else { - dataSetMessage->header.configVersionMajorVersion = - currentDataSet->dataSetMetaData.configurationVersion.majorVersion; - dataSetMessage->header.configVersionMinorVersion = - currentDataSet->dataSetMetaData.configurationVersion.minorVersion; - } - } - - if((u64)jsonDsm->dataSetMessageContentMask & - (u64)UA_JSONDATASETMESSAGECONTENTMASK_SEQUENCENUMBER) { - dataSetMessage->header.dataSetMessageSequenceNrEnabled = true; - dataSetMessage->header.dataSetMessageSequenceNr = - dataSetWriter->actualDataSetMessageSequenceCount; - } - - if((u64)jsonDsm->dataSetMessageContentMask & - (u64)UA_JSONDATASETMESSAGECONTENTMASK_TIMESTAMP) { - dataSetMessage->header.timestampEnabled = true; - dataSetMessage->header.timestamp = UA_DateTime_now(); - } - - /* TODO: Statuscode not supported yet */ - if((u64)jsonDsm->dataSetMessageContentMask & - (u64)UA_JSONDATASETMESSAGECONTENTMASK_STATUS) { - dataSetMessage->header.statusEnabled = true; - } - } - - /* Set the sequence count. Automatically rolls over to zero */ - dataSetWriter->actualDataSetMessageSequenceCount++; - - if(heartbeat) { - /* Prepare DataSetMessageContent */ - dataSetMessage->header.dataSetMessageValid = true; - dataSetMessage->header.dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; - dataSetMessage->data.keyFrameData.fieldCount = 0; - return UA_STATUSCODE_GOOD; - } - - /* JSON does not differ between deltaframes and keyframes, only keyframes - * are currently used. */ - if(dsm && server->config.pubSubConfig.enableDeltaFrames) { - /* Check if the PublishedDataSet version has changed -> if yes flush the - * lastValue store and send a KeyFrame */ - if(dataSetWriter->connectedDataSetVersion.majorVersion != - currentDataSet->dataSetMetaData.configurationVersion.majorVersion || - dataSetWriter->connectedDataSetVersion.minorVersion != - currentDataSet->dataSetMetaData.configurationVersion.minorVersion) { - /* Remove old samples */ - for(size_t i = 0; i < dataSetWriter->lastSamplesCount; i++) - UA_DataValue_clear(&dataSetWriter->lastSamples[i].value); - - /* Realloc PDS dependent memory */ - dataSetWriter->lastSamplesCount = currentDataSet->fieldSize; - UA_DataSetWriterSample *newSamplesArray = (UA_DataSetWriterSample * ) - UA_realloc(dataSetWriter->lastSamples, - sizeof(UA_DataSetWriterSample) * dataSetWriter->lastSamplesCount); - if(!newSamplesArray) - return UA_STATUSCODE_BADOUTOFMEMORY; - dataSetWriter->lastSamples = newSamplesArray; - memset(dataSetWriter->lastSamples, 0, - sizeof(UA_DataSetWriterSample) * dataSetWriter->lastSamplesCount); - - dataSetWriter->connectedDataSetVersion = - currentDataSet->dataSetMetaData.configurationVersion; - UA_PubSubDataSetWriter_generateKeyFrameMessage(server, dataSetMessage, - dataSetWriter); - dataSetWriter->deltaFrameCounter = 0; - return UA_STATUSCODE_GOOD; - } - - /* The standard defines: if a PDS contains only one fields no delta messages - * should be generated because they need more memory than a keyframe with 1 - * field. */ - if(currentDataSet->fieldSize > 1 && dataSetWriter->deltaFrameCounter > 0 && - dataSetWriter->deltaFrameCounter <= dataSetWriter->config.keyFrameCount) { - UA_PubSubDataSetWriter_generateDeltaFrameMessage(server, dataSetMessage, - dataSetWriter); - dataSetWriter->deltaFrameCounter++; - return UA_STATUSCODE_GOOD; - } - - dataSetWriter->deltaFrameCounter = 1; - } - - return UA_PubSubDataSetWriter_generateKeyFrameMessage(server, dataSetMessage, - dataSetWriter); -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_writergroup.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2020 Yannick Wallerer, Siemens AG - * Copyright (c) 2020 Thomas Fischer, Siemens AG - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -#endif - -#define UA_MAX_STACKBUF 128 /* Max size of network messages on the stack */ - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -static UA_StatusCode -encryptAndSign(UA_WriterGroup *wg, const UA_NetworkMessage *nm, - UA_Byte *signStart, UA_Byte *encryptStart, - UA_Byte *msgEnd); - -#endif - -static UA_StatusCode -generateNetworkMessage(UA_PubSubConnection *connection, UA_WriterGroup *wg, - UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount, - UA_ExtensionObject *messageSettings, - UA_ExtensionObject *transportSettings, - UA_NetworkMessage *networkMessage); - -/* Add new publishCallback. The first execution is triggered directly after - * creation. */ -UA_StatusCode -UA_WriterGroup_addPublishCallback(UA_Server *server, UA_WriterGroup *wg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already registered */ - if(wg->publishCallbackId != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(wg->config.pubsubManagerCallback.addCustomCallback) { - /* Use configured mechanism for cyclic callbacks */ - retval = wg->config.pubsubManagerCallback. - addCustomCallback(server, wg->identifier, - (UA_ServerCallback)UA_WriterGroup_publishCallback, - wg, wg->config.publishingInterval, - NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, - &wg->publishCallbackId); - } else { - /* Use EventLoop for cyclic callbacks */ - UA_EventLoop *el = UA_PubSubConnection_getEL(server, wg->linkedConnection); - retval = el->addCyclicCallback(el, (UA_Callback)UA_WriterGroup_publishCallback, - server, wg, wg->config.publishingInterval, - NULL /* TODO: use basetime */, - UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, - &wg->publishCallbackId); - } - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Run once after creation. The Publish callback itself takes the server - * mutex. So we release it first. */ - UA_WriterGroup_publishCallback(server, wg); - return retval; -} - -static void -UA_WriterGroup_removePublishCallback(UA_Server *server, UA_WriterGroup *wg) { - if(wg->publishCallbackId == 0) - return; - if(wg->config.pubsubManagerCallback.removeCustomCallback) { - wg->config.pubsubManagerCallback. - removeCustomCallback(server, wg->identifier, wg->publishCallbackId); - } else { - UA_EventLoop *el = UA_PubSubConnection_getEL(server, wg->linkedConnection); - el->removeCyclicCallback(el, wg->publishCallbackId); - } - wg->publishCallbackId = 0; -} - -UA_StatusCode -UA_WriterGroup_create(UA_Server *server, const UA_NodeId connection, - const UA_WriterGroupConfig *writerGroupConfig, - UA_NodeId *writerGroupIdentifier) { - /* Delete the reserved IDs if the related session no longer exists. */ - UA_PubSubManager_freeIds(server); - if(!writerGroupConfig) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Search the connection by the given connectionIdentifier */ - UA_PubSubConnection *currentConnectionContext = - UA_PubSubConnection_findConnectionbyId(server, connection); - if(!currentConnectionContext) - return UA_STATUSCODE_BADNOTFOUND; - - if(currentConnectionContext->configurationFreezeCounter > 0) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Adding WriterGroup failed. PubSubConnection is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* Validate messageSettings type */ - const UA_ExtensionObject *ms = &writerGroupConfig->messageSettings; - if(ms->content.decoded.type) { - if(writerGroupConfig->encodingMimeType == UA_PUBSUB_ENCODING_JSON && - (ms->encoding != UA_EXTENSIONOBJECT_DECODED || - ms->content.decoded.type != &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE])) { - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - if(writerGroupConfig->encodingMimeType == UA_PUBSUB_ENCODING_UADP && - (ms->encoding != UA_EXTENSIONOBJECT_DECODED || - ms->content.decoded.type != &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE])) { - return UA_STATUSCODE_BADTYPEMISMATCH; - } - } - - /* Allocate new WriterGroup */ - UA_WriterGroup *newWriterGroup = (UA_WriterGroup*)UA_calloc(1, sizeof(UA_WriterGroup)); - if(!newWriterGroup) - return UA_STATUSCODE_BADOUTOFMEMORY; - - memset(newWriterGroup, 0, sizeof(UA_WriterGroup)); - newWriterGroup->componentType = UA_PUBSUB_COMPONENT_WRITERGROUP; - newWriterGroup->linkedConnection = currentConnectionContext; - - /* Deep copy of the config */ - UA_WriterGroupConfig *newConfig = &newWriterGroup->config; - UA_StatusCode res = UA_WriterGroupConfig_copy(writerGroupConfig, newConfig); - if(res != UA_STATUSCODE_GOOD) { - UA_free(newWriterGroup); - return res; - } - - /* Create the datatype value if not present */ - if(!newConfig->messageSettings.content.decoded.type) { - UA_UadpWriterGroupMessageDataType *wgm = UA_UadpWriterGroupMessageDataType_new(); - newConfig->messageSettings.content.decoded.data = wgm; - newConfig->messageSettings.content.decoded.type = - &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]; - newConfig->messageSettings.encoding = UA_EXTENSIONOBJECT_DECODED; - } - - /* Attach to the connection */ - LIST_INSERT_HEAD(¤tConnectionContext->writerGroups, newWriterGroup, listEntry); - currentConnectionContext->writerGroupsSize++; - - /* Add representation / create unique identifier */ -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - res = addWriterGroupRepresentation(server, newWriterGroup); -#else - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, - &newWriterGroup->identifier); -#endif - -#ifdef UA_ENABLE_PUBSUB_SKS - if(writerGroupConfig->securityMode == UA_MESSAGESECURITYMODE_SIGN || - writerGroupConfig->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - if(!UA_String_isEmpty(&writerGroupConfig->securityGroupId) && - writerGroupConfig->securityPolicy) { - /* Does the key storage already exist? */ - newWriterGroup->keyStorage = - UA_PubSubKeyStorage_findKeyStorage(server, writerGroupConfig->securityGroupId); - - if(!newWriterGroup->keyStorage) { - /* Create a new key storage */ - newWriterGroup->keyStorage = (UA_PubSubKeyStorage *) - UA_calloc(1, sizeof(UA_PubSubKeyStorage)); - if(!newWriterGroup) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_PubSubKeyStorage_init(server, newWriterGroup->keyStorage, - &writerGroupConfig->securityGroupId, - writerGroupConfig->securityPolicy, 0, 0); - if(res != UA_STATUSCODE_GOOD) { - UA_free(newWriterGroup); - return res; - } - } - - /* Increase the ref count */ - newWriterGroup->keyStorage->referenceCount++; - } - } - -#endif - - if(writerGroupIdentifier) - UA_NodeId_copy(&newWriterGroup->identifier, writerGroupIdentifier); - - /* Trigger the connection to open a connection */ - UA_PubSubConnection_setPubSubState(server, currentConnectionContext, - currentConnectionContext->state, - UA_STATUSCODE_GOOD); - - return res; -} - -UA_StatusCode -UA_Server_addWriterGroup(UA_Server *server, const UA_NodeId connection, - const UA_WriterGroupConfig *writerGroupConfig, - UA_NodeId *writerGroupIdentifier) { - lockServer(server); - UA_StatusCode res = UA_WriterGroup_create(server, connection, writerGroupConfig, - writerGroupIdentifier); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_WriterGroup_remove(UA_Server *server, UA_WriterGroup *wg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(wg->configurationFrozen) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Deleting the WriterGroup failed. " - "WriterGroup is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - UA_PubSubConnection *connection = wg->linkedConnection; - UA_assert(connection); - if(connection->configurationFreezeCounter > 0) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Deleting the WriterGroup failed. " - "PubSubConnection is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* Disable (and disconnect) and set the deleteFlag. This prevents a - * reconnect and triggers the deletion when the last open socket is - * closed. */ - wg->deleteFlag = true; - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); - - UA_DataSetWriter *dsw, *dsw_tmp; - LIST_FOREACH_SAFE(dsw, &wg->writers, listEntry, dsw_tmp) { - UA_DataSetWriter_remove(server, dsw); - } - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(wg->config.securityPolicy && wg->securityPolicyContext) { - wg->config.securityPolicy->deleteContext(wg->securityPolicyContext); - wg->securityPolicyContext = NULL; - } -#endif - -#ifdef UA_ENABLE_PUBSUB_SKS - if(wg->keyStorage) { - UA_PubSubKeyStorage_detachKeyStorage(server, wg->keyStorage); - wg->keyStorage = NULL; - } -#endif - - if(wg->sendChannel == 0) { - /* Unlink from the connection */ - LIST_REMOVE(wg, listEntry); - connection->writerGroupsSize--; - wg->linkedConnection = NULL; - - /* Actually remove the WriterGroup */ -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, wg->identifier, true); -#endif - UA_WriterGroupConfig_clear(&wg->config); - UA_NodeId_clear(&wg->identifier); - UA_NetworkMessageOffsetBuffer_clear(&wg->bufferedMessage); - UA_free(wg); - } - - /* Update the connection state */ - UA_PubSubConnection_setPubSubState(server, connection, connection->state, - UA_STATUSCODE_GOOD); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_removeWriterGroup(UA_Server *server, const UA_NodeId writerGroup) { - lockServer(server); - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(!wg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_WriterGroup_remove(server, wg); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_WriterGroup_freezeConfiguration(UA_Server *server, UA_WriterGroup *wg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(wg->configurationFrozen) - return UA_STATUSCODE_GOOD; - - /* Increase PubSubConnection freezeCounter */ - UA_PubSubConnection *pubSubConnection = wg->linkedConnection; - pubSubConnection->configurationFreezeCounter++; - - /* Freeze the WriterGroup */ - wg->configurationFrozen = true; - - /* Freeze the DataSetWriter */ - UA_DataSetWriter *dsw; - LIST_FOREACH(dsw, &wg->writers, listEntry) { - UA_DataSetWriter_freezeConfiguration(server, dsw); - } - - /* Offset table enabled? */ - if((wg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) == 0) - return UA_STATUSCODE_GOOD; - - /* Offset table only possible for binary encoding */ - if(wg->config.encodingMimeType != UA_PUBSUB_ENCODING_UADP) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "PubSub-RT configuration fail: Non-RT capable encoding."); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - - //TODO Clarify: should we only allow = maxEncapsulatedDataSetMessageCount == 1 with RT? - //TODO Clarify: Behaviour if the finale size is more than MTU - - /* Define variables here for goto */ - size_t msgSize; - UA_ByteString buf; - const UA_Byte *bufEnd; - UA_Byte *bufPos; - UA_NetworkMessage networkMessage; - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_STACKARRAY(UA_UInt16, dsWriterIds, wg->writersCount); - UA_STACKARRAY(UA_DataSetMessage, dsmStore, wg->writersCount); - - /* Validate the DataSetWriters and generate their DataSetMessage */ - size_t dsmCount = 0; - LIST_FOREACH(dsw, &wg->writers, listEntry) { - dsWriterIds[dsmCount] = dsw->config.dataSetWriterId; - res = UA_DataSetWriter_prepareDataSet(server, dsw, &dsmStore[dsmCount]); - if(res != UA_STATUSCODE_GOOD) - goto cleanup_dsm; - dsmCount++; - } - - /* Generate the NetworkMessage */ - memset(&networkMessage, 0, sizeof(networkMessage)); - res = generateNetworkMessage(pubSubConnection, wg, dsmStore, dsWriterIds, - (UA_Byte) dsmCount, &wg->config.messageSettings, - &wg->config.transportSettings, &networkMessage); - if(res != UA_STATUSCODE_GOOD) - goto cleanup_dsm; - - /* Compute the message length and generate the offset-table (done inside - * calcSizeBinary) */ - memset(&wg->bufferedMessage, 0, sizeof(UA_NetworkMessageOffsetBuffer)); - msgSize = UA_NetworkMessage_calcSizeBinary(&networkMessage, &wg->bufferedMessage); -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { - UA_PubSubSecurityPolicy *sp = wg->config.securityPolicy; - msgSize += sp->symmetricModule.cryptoModule. - signatureAlgorithm.getLocalSignatureSize(sp->policyContext); - } -#endif - - /* Generate the buffer for the pre-encoded message */ - res = UA_ByteString_allocBuffer(&buf, msgSize); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - wg->bufferedMessage.buffer = buf; - - /* Encode the NetworkMessage */ - bufEnd = &wg->bufferedMessage.buffer.data[wg->bufferedMessage.buffer.length]; - bufPos = wg->bufferedMessage.buffer.data; - - /* Preallocate the encryption buffer */ -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { - UA_Byte *payloadPosition; - UA_NetworkMessage_encodeBinary(&networkMessage, &bufPos, bufEnd, &payloadPosition); - wg->bufferedMessage.payloadPosition = payloadPosition; - wg->bufferedMessage.nm = (UA_NetworkMessage *)UA_calloc(1,sizeof(UA_NetworkMessage)); - wg->bufferedMessage.nm->securityHeader = networkMessage.securityHeader; - UA_ByteString_allocBuffer(&wg->bufferedMessage.encryptBuffer, msgSize); - } -#endif - - if(wg->config.securityMode <= UA_MESSAGESECURITYMODE_NONE) - UA_NetworkMessage_encodeBinary(&networkMessage, &bufPos, bufEnd, NULL); - - /* Post-processing of the OffsetBuffer to set the external data source from - * the DataSetField configuration */ - if(wg->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS) { - size_t fieldPos = 0; - LIST_FOREACH(dsw, &wg->writers, listEntry) { - UA_PublishedDataSet *pds = - UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); - if(!pds) - continue; - - /* Loop over all DataSetFields */ - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, &pds->fields, listEntry) { - UA_NetworkMessageOffsetType contentType; - /* Move forward to the next payload-type offset field */ - do { - fieldPos++; - contentType = wg->bufferedMessage.offsets[fieldPos].contentType; - } while(contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW); - UA_assert(fieldPos < wg->bufferedMessage.offsetsSize); - - if(!dsf->config.field.variable.rtValueSource.rtFieldSourceEnabled) - continue; - - /* Set the external value soure in the offset buffer */ - UA_DataValue_clear(&wg->bufferedMessage.offsets[fieldPos].content.value); - wg->bufferedMessage.offsets[fieldPos].content.externalValue = - dsf->config.field.variable.rtValueSource.staticValueSource; - - /* Update the content type to _EXTERNAL */ - wg->bufferedMessage.offsets[fieldPos].contentType = - (UA_NetworkMessageOffsetType)(contentType + 1); - } - } - } - - cleanup: - UA_free(networkMessage.payload.dataSetPayload.sizes); - - cleanup_dsm: - /* Clean up DataSetMessages */ - for(size_t i = 0; i < dsmCount; i++) { - UA_DataSetMessage_clear(&dsmStore[i]); - } - return res; -} - -UA_StatusCode -UA_Server_freezeWriterGroupConfiguration(UA_Server *server, - const UA_NodeId writerGroup) { - lockServer(server); - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(!wg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_WriterGroup_freezeConfiguration(server, wg); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_WriterGroup_unfreezeConfiguration(UA_Server *server, UA_WriterGroup *wg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already unfrozen */ - if(!wg->configurationFrozen) - return UA_STATUSCODE_GOOD; - - UA_PubSubConnection *pubSubConnection = wg->linkedConnection; - pubSubConnection->configurationFreezeCounter--; - - /* DataSetWriter unfreeze */ - UA_DataSetWriter *dsw; - LIST_FOREACH(dsw, &wg->writers, listEntry) { - UA_DataSetWriter_unfreezeConfiguration(server, dsw); - } - - UA_NetworkMessageOffsetBuffer_clear(&wg->bufferedMessage); - wg->configurationFrozen = false; - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_unfreezeWriterGroupConfiguration(UA_Server *server, - const UA_NodeId writerGroup) { - lockServer(server); - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(!wg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_WriterGroup_unfreezeConfiguration(server, wg); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_setWriterGroupOperational(UA_Server *server, - const UA_NodeId writerGroup) { - lockServer(server); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(wg) { -#ifdef UA_ENABLE_PUBSUB_SKS - if(wg->keyStorage && wg->keyStorage->currentItem) { - res = UA_PubSubKeyStorage_activateKeyToChannelContext( - server, wg->identifier, wg->config.securityGroupId); - if(res != UA_STATUSCODE_GOOD) { - unlockServer(server); - return res; - } - } -#endif - - res = UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - } - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_setWriterGroupDisabled(UA_Server *server, - const UA_NodeId writerGroup) { - lockServer(server); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(wg) - res = UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADRESOURCEUNAVAILABLE); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_WriterGroupConfig_copy(const UA_WriterGroupConfig *src, - UA_WriterGroupConfig *dst) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - memcpy(dst, src, sizeof(UA_WriterGroupConfig)); - res |= UA_String_copy(&src->name, &dst->name); - res |= UA_ExtensionObject_copy(&src->transportSettings, &dst->transportSettings); - res |= UA_ExtensionObject_copy(&src->messageSettings, &dst->messageSettings); - res |= UA_KeyValueMap_copy(&src->groupProperties, &dst->groupProperties); -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - res |= UA_String_copy(&src->securityGroupId, &dst->securityGroupId); -#endif - if(res != UA_STATUSCODE_GOOD) - UA_WriterGroupConfig_clear(dst); - return res; -} - -UA_StatusCode -UA_Server_getWriterGroupConfig(UA_Server *server, const UA_NodeId writerGroup, - UA_WriterGroupConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_WriterGroup *currentWG = UA_WriterGroup_findWGbyId(server, writerGroup); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - if(currentWG) - res = UA_WriterGroupConfig_copy(¤tWG->config, config); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_WriterGroup_updateConfig(UA_Server *server, UA_WriterGroup *wg, - const UA_WriterGroupConfig *config) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - if(wg->configurationFrozen){ - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Modify WriterGroup failed. WriterGroup is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - //The update functionality will be extended during the next PubSub batches. - //Currently is only a change of the publishing interval possible. - if(wg->config.maxEncapsulatedDataSetMessageCount != config->maxEncapsulatedDataSetMessageCount) { - wg->config.maxEncapsulatedDataSetMessageCount = config->maxEncapsulatedDataSetMessageCount; - if(wg->config.messageSettings.encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "MaxEncapsulatedDataSetMessag need enabled " - "'PayloadHeader' within the message settings."); - } - } - - if(wg->config.publishingInterval != config->publishingInterval) { - wg->config.publishingInterval = config->publishingInterval; - if(wg->config.rtLevel == UA_PUBSUB_RT_NONE && - wg->state == UA_PUBSUBSTATE_OPERATIONAL) { - UA_WriterGroup_removePublishCallback(server, wg); - res = UA_WriterGroup_addPublishCallback(server, wg); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Modify WriterGroup failed. Adding publish callback failed" - "with status code %s", UA_StatusCode_name(res)); - return res; - } - } - } - - if(wg->config.priority != config->priority) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "Priority parameter is not yet " - "supported for WriterGroup updates"); - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_updateWriterGroupConfig(UA_Server *server, UA_NodeId writerGroupIdentifier, - const UA_WriterGroupConfig *config) { - lockServer(server); - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroupIdentifier); - if(!wg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - - UA_StatusCode res = UA_WriterGroup_updateConfig(server, wg, config); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_WriterGroup_getState(UA_Server *server, UA_NodeId writerGroupIdentifier, - UA_PubSubState *state) { - if((server == NULL) || (state == NULL)) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_WriterGroup *currentWriterGroup = - UA_WriterGroup_findWGbyId(server, writerGroupIdentifier); - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(currentWriterGroup) { - *state = currentWriterGroup->state; - } else { - res = UA_STATUSCODE_BADNOTFOUND; - } - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_WriterGroup_publish(UA_Server *server, const UA_NodeId writerGroupIdentifier){ - lockServer(server); - - //search WriterGroup ToDo create lookup table for more efficiency - UA_WriterGroup *writerGroup; - writerGroup = UA_WriterGroup_findWGbyId(server, writerGroupIdentifier); - if(writerGroup == NULL){ - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - unlockServer(server); - UA_WriterGroup_publishCallback(server, writerGroup); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_WriterGroup_lastPublishTimestamp(UA_Server *server, const UA_NodeId writerGroupId, - UA_DateTime *timestamp){ - lockServer(server); - //search WriterGroup ToDo create lookup table for more efficiency - UA_WriterGroup *writerGroup; - writerGroup = UA_WriterGroup_findWGbyId(server, writerGroupId); - if(writerGroup == NULL){ - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - *timestamp = writerGroup->lastPublishTimeStamp; - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; -} - -UA_WriterGroup * -UA_WriterGroup_findWGbyId(UA_Server *server, UA_NodeId identifier) { - UA_PubSubConnection *tmpConnection; - TAILQ_FOREACH(tmpConnection, &server->pubSubManager.connections, listEntry) { - UA_WriterGroup *tmpWriterGroup; - LIST_FOREACH(tmpWriterGroup, &tmpConnection->writerGroups, listEntry) { - if(UA_NodeId_equal(&identifier, &tmpWriterGroup->identifier)) - return tmpWriterGroup; - } - } - return NULL; -} - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -UA_StatusCode -setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce) { - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroup); - if(!wg) - return UA_STATUSCODE_BADNOTFOUND; - if(wg->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "JSON encoding is enabled. The message security is only defined for the UADP message mapping."); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(!wg->config.securityPolicy) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, wg, - "No SecurityPolicy configured for the WriterGroup"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - if(securityTokenId != wg->securityTokenId) { - wg->securityTokenId = securityTokenId; - wg->nonceSequenceNumber = 1; - } - - /* Create a new context */ - if(!wg->securityPolicyContext) { - return wg->config.securityPolicy-> - newContext(wg->config.securityPolicy->policyContext, - &signingKey, &encryptingKey, &keyNonce, - &wg->securityPolicyContext); - } - - /* Update the context */ - return wg->config.securityPolicy-> - setSecurityKeys(wg->securityPolicyContext, &signingKey, &encryptingKey, &keyNonce); -} - -UA_StatusCode -UA_Server_setWriterGroupEncryptionKeys(UA_Server *server, const UA_NodeId writerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce) { - lockServer(server); - UA_StatusCode res = setWriterGroupEncryptionKeys(server, writerGroup, securityTokenId, - signingKey, encryptingKey, keyNonce); - unlockServer(server); - return res; -} -#endif - -void -UA_WriterGroupConfig_clear(UA_WriterGroupConfig *writerGroupConfig) { - UA_String_clear(&writerGroupConfig->name); - UA_ExtensionObject_clear(&writerGroupConfig->transportSettings); - UA_ExtensionObject_clear(&writerGroupConfig->messageSettings); - UA_KeyValueMap_clear(&writerGroupConfig->groupProperties); -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_String_clear(&writerGroupConfig->securityGroupId); -#endif - memset(writerGroupConfig, 0, sizeof(UA_WriterGroupConfig)); -} - -UA_StatusCode -UA_WriterGroup_setPubSubState(UA_Server *server, UA_WriterGroup *writerGroup, - UA_PubSubState state, UA_StatusCode cause) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(writerGroup->deleteFlag && state != UA_PUBSUBSTATE_DISABLED) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "The WriterGroup is being deleted. Can only be disabled."); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_DataSetWriter *dataSetWriter; - UA_PubSubState oldState = writerGroup->state; - switch(state) { - case UA_PUBSUBSTATE_DISABLED: - UA_WriterGroup_disconnect(writerGroup); - switch (writerGroup->state){ - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: { - UA_WriterGroup_removePublishCallback(server, writerGroup); - LIST_FOREACH(dataSetWriter, &writerGroup->writers, listEntry) { - UA_DataSetWriter_setPubSubState(server, dataSetWriter, - UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADRESOURCEUNAVAILABLE); - } - - writerGroup->state = UA_PUBSUBSTATE_DISABLED; - break; - } - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "Received unknown PubSub state!"); - } - break; - case UA_PUBSUBSTATE_PAUSED: - switch (writerGroup->state) { - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "Received unknown PubSub state!"); - } - break; - case UA_PUBSUBSTATE_OPERATIONAL: - switch (writerGroup->state) { - case UA_PUBSUBSTATE_DISABLED: { - writerGroup->state = UA_PUBSUBSTATE_OPERATIONAL; - UA_WriterGroup_removePublishCallback(server, writerGroup); - LIST_FOREACH(dataSetWriter, &writerGroup->writers, listEntry) { - UA_DataSetWriter_setPubSubState(server, dataSetWriter, - UA_PUBSUBSTATE_OPERATIONAL, cause); - } - - ret = UA_WriterGroup_connect(server, writerGroup, false); - if(ret != UA_STATUSCODE_GOOD) { - UA_WriterGroup_setPubSubState(server, writerGroup, - UA_PUBSUBSTATE_ERROR, ret); - break; - } - ret = UA_WriterGroup_addPublishCallback(server, writerGroup); - if(ret != UA_STATUSCODE_GOOD) { - UA_WriterGroup_setPubSubState(server, writerGroup, - UA_PUBSUBSTATE_ERROR, ret); - break; - } - break; - } - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "Received unknown PubSub state!"); - } - - UA_PubSubConnection *c = writerGroup->linkedConnection; - ret = UA_PubSubConnection_setPubSubState(server, c, - UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - if(ret != UA_STATUSCODE_GOOD || - (c->state != UA_PUBSUBSTATE_OPERATIONAL && - c->state != UA_PUBSUBSTATE_PREOPERATIONAL)) { - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "Connection not operational"); - return UA_STATUSCODE_BADINTERNALERROR; - } - break; - case UA_PUBSUBSTATE_ERROR: { - switch (writerGroup->state){ - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: { - UA_WriterGroup_removePublishCallback(server, writerGroup); - LIST_FOREACH(dataSetWriter, &writerGroup->writers, listEntry){ - UA_DataSetWriter_setPubSubState(server, dataSetWriter, - UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_GOOD); - } - break; - } - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "Received unknown PubSub state!"); - } - writerGroup->state = UA_PUBSUBSTATE_ERROR; - break; - } - default: - UA_LOG_WARNING_WRITERGROUP(server->config.logging, writerGroup, - "Received unknown PubSub state!"); - } - - if(state != oldState) { - /* inform application about state change */ - UA_ServerConfig *pConfig = &server->config; - if(pConfig->pubSubConfig.stateChangeCallback != 0) { - pConfig->pubSubConfig. - stateChangeCallback(server, &writerGroup->identifier, state, cause); - } - } - return ret; -} - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -static UA_StatusCode -encryptAndSign(UA_WriterGroup *wg, const UA_NetworkMessage *nm, - UA_Byte *signStart, UA_Byte *encryptStart, - UA_Byte *msgEnd) { - UA_StatusCode rv; - void *channelContext = wg->securityPolicyContext; - - if(nm->securityHeader.networkMessageEncrypted) { - /* Set the temporary MessageNonce in the SecurityPolicy */ - const UA_ByteString nonce = { - (size_t)nm->securityHeader.messageNonceSize, - (UA_Byte*)(uintptr_t)nm->securityHeader.messageNonce - }; - rv = wg->config.securityPolicy->setMessageNonce(channelContext, &nonce); - UA_CHECK_STATUS(rv, return rv); - - /* The encryption is done in-place, no need to encode again */ - UA_ByteString toBeEncrypted = - {(uintptr_t)msgEnd - (uintptr_t)encryptStart, encryptStart}; - rv = wg->config.securityPolicy->symmetricModule.cryptoModule.encryptionAlgorithm. - encrypt(channelContext, &toBeEncrypted); - UA_CHECK_STATUS(rv, return rv); - } - - if(nm->securityHeader.networkMessageSigned) { - UA_ByteString toBeSigned = {(uintptr_t)msgEnd - (uintptr_t)signStart, - signStart}; - - size_t sigSize = wg->config.securityPolicy->symmetricModule.cryptoModule. - signatureAlgorithm.getLocalSignatureSize(channelContext); - UA_ByteString signature = {sigSize, msgEnd}; - - rv = wg->config.securityPolicy->symmetricModule.cryptoModule. - signatureAlgorithm.sign(channelContext, &toBeSigned, &signature); - UA_CHECK_STATUS(rv, return rv); - } - return UA_STATUSCODE_GOOD; -} -#endif - -static UA_StatusCode -encodeNetworkMessage(UA_WriterGroup *wg, UA_NetworkMessage *nm, - UA_ByteString *buf) { - UA_Byte *bufPos = buf->data; - UA_Byte *bufEnd = &buf->data[buf->length]; - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_Byte *networkMessageStart = bufPos; -#endif - UA_StatusCode rv = UA_NetworkMessage_encodeHeaders(nm, &bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_Byte *payloadStart = bufPos; -#endif - rv = UA_NetworkMessage_encodePayload(nm, &bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - - rv = UA_NetworkMessage_encodeFooters(nm, &bufPos, bufEnd); - UA_CHECK_STATUS(rv, return rv); - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - /* Encrypt and Sign the message */ - UA_Byte *footerEnd = bufPos; - rv = encryptAndSign(wg, nm, networkMessageStart, payloadStart, footerEnd); - UA_CHECK_STATUS(rv, return rv); -#endif - - return UA_STATUSCODE_GOOD; -} - -static void -sendNetworkMessageBuffer(UA_Server *server, UA_WriterGroup *wg, - UA_PubSubConnection *connection, uintptr_t connectionId, - UA_ByteString *buffer) { - UA_StatusCode res = connection->cm-> - sendWithConnection(connection->cm, connectionId, - &UA_KEYVALUEMAP_NULL, buffer); - - /* Failure, set the WriterGroup into an error mode */ - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Sending NetworkMessage failed"); - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, res); - UA_PubSubConnection_setPubSubState(server, connection, UA_PUBSUBSTATE_ERROR, res); - return; - } - - /* Sending successful - increase the sequence number */ - wg->sequenceNumber++; -} - -#ifdef UA_ENABLE_JSON_ENCODING -static UA_StatusCode -sendNetworkMessageJson(UA_Server *server, UA_PubSubConnection *connection, UA_WriterGroup *wg, - UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount) { - /* Prepare the NetworkMessage */ - UA_NetworkMessage nm; - memset(&nm, 0, sizeof(UA_NetworkMessage)); - nm.version = 1; - nm.networkMessageType = UA_NETWORKMESSAGE_DATASET; - nm.payloadHeaderEnabled = true; - nm.payloadHeader.dataSetPayloadHeader.count = dsmCount; - nm.payloadHeader.dataSetPayloadHeader.dataSetWriterIds = writerIds; - nm.payload.dataSetPayload.dataSetMessages = dsm; - nm.publisherIdEnabled = true; - nm.publisherIdType = connection->config.publisherIdType; - nm.publisherId = connection->config.publisherId; - - /* Compute the message length */ - size_t msgSize = UA_NetworkMessage_calcSizeJson(&nm, NULL, 0, NULL, 0, true); - - UA_ConnectionManager *cm = connection->cm; - if(!cm) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Select the wg sendchannel if configured */ - uintptr_t sendChannel = connection->sendChannel; - if(wg->sendChannel != 0) - sendChannel = wg->sendChannel; - if(sendChannel == 0) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Cannot send, no open connection"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Allocate the buffer */ - UA_ByteString buf; - UA_StatusCode res = cm->allocNetworkBuffer(cm, sendChannel, &buf, msgSize); - UA_CHECK_STATUS(res, return res); - - /* Encode the message */ - UA_Byte *bufPos = buf.data; - const UA_Byte *bufEnd = &buf.data[msgSize]; - res = UA_NetworkMessage_encodeJson(&nm, &bufPos, &bufEnd, NULL, 0, NULL, 0, true); - if(res != UA_STATUSCODE_GOOD) { - cm->freeNetworkBuffer(cm, sendChannel, &buf); - return res; - } - UA_assert(bufPos == bufEnd); - - /* Send the prepared messages */ - sendNetworkMessageBuffer(server, wg, connection, sendChannel, &buf); - return UA_STATUSCODE_GOOD; -} -#endif - -static UA_StatusCode -generateNetworkMessage(UA_PubSubConnection *connection, UA_WriterGroup *wg, - UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount, - UA_ExtensionObject *messageSettings, - UA_ExtensionObject *transportSettings, - UA_NetworkMessage *networkMessage) { - if(messageSettings->content.decoded.type != - &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) - return UA_STATUSCODE_BADINTERNALERROR; - UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) - messageSettings->content.decoded.data; - - networkMessage->publisherIdEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PUBLISHERID) != 0; - networkMessage->groupHeaderEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_GROUPHEADER) != 0; - networkMessage->groupHeader.writerGroupIdEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_WRITERGROUPID) != 0; - networkMessage->groupHeader.groupVersionEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_GROUPVERSION) != 0; - networkMessage->groupHeader.networkMessageNumberEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_NETWORKMESSAGENUMBER) != 0; - networkMessage->groupHeader.sequenceNumberEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_SEQUENCENUMBER) != 0; - networkMessage->payloadHeaderEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PAYLOADHEADER) != 0; - networkMessage->timestampEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_TIMESTAMP) != 0; - networkMessage->picosecondsEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PICOSECONDS) != 0; - networkMessage->dataSetClassIdEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_DATASETCLASSID) != 0; - networkMessage->promotedFieldsEnabled = - ((u64)wgm->networkMessageContentMask & - (u64)UA_UADPNETWORKMESSAGECONTENTMASK_PROMOTEDFIELDS) != 0; - - /* Set the SecurityHeader */ -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { - networkMessage->securityEnabled = true; - networkMessage->securityHeader.networkMessageSigned = true; - if(wg->config.securityMode >= UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - networkMessage->securityHeader.networkMessageEncrypted = true; - networkMessage->securityHeader.securityTokenId = wg->securityTokenId; - - /* Generate the MessageNonce. Four random bytes followed by a four-byte - * sequence number */ - UA_ByteString nonce = {4, networkMessage->securityHeader.messageNonce}; - UA_StatusCode rv = wg->config.securityPolicy->symmetricModule. - generateNonce(wg->config.securityPolicy->policyContext, &nonce); - if(rv != UA_STATUSCODE_GOOD) - return rv; - UA_Byte *pos = &networkMessage->securityHeader.messageNonce[4]; - const UA_Byte *end = &networkMessage->securityHeader.messageNonce[8]; - UA_UInt32_encodeBinary(&wg->nonceSequenceNumber, &pos, end); - networkMessage->securityHeader.messageNonceSize = 8; - } -#endif - - networkMessage->version = 1; - networkMessage->networkMessageType = UA_NETWORKMESSAGE_DATASET; - networkMessage->publisherIdType = connection->config.publisherIdType; - /* shallow copy of the PublisherId from connection configuration - -> the configuration needs to be stable during publishing process - -> it must not be cleaned after network message has been sent */ - networkMessage->publisherId = connection->config.publisherId; - - if(networkMessage->groupHeader.sequenceNumberEnabled) - networkMessage->groupHeader.sequenceNumber = wg->sequenceNumber; - - if(networkMessage->groupHeader.groupVersionEnabled) - networkMessage->groupHeader.groupVersion = wgm->groupVersion; - - /* Compute the length of the dsm separately for the header */ - UA_UInt16 *dsmLengths = (UA_UInt16 *) UA_calloc(dsmCount, sizeof(UA_UInt16)); - if(!dsmLengths) - return UA_STATUSCODE_BADOUTOFMEMORY; - for(UA_Byte i = 0; i < dsmCount; i++) - dsmLengths[i] = (UA_UInt16) UA_DataSetMessage_calcSizeBinary(&dsm[i], NULL, 0); - - networkMessage->payloadHeader.dataSetPayloadHeader.count = dsmCount; - networkMessage->payloadHeader.dataSetPayloadHeader.dataSetWriterIds = writerIds; - networkMessage->groupHeader.writerGroupId = wg->config.writerGroupId; - /* number of the NetworkMessage inside a PublishingInterval */ - networkMessage->groupHeader.networkMessageNumber = 1; - networkMessage->payload.dataSetPayload.sizes = dsmLengths; - networkMessage->payload.dataSetPayload.dataSetMessages = dsm; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sendNetworkMessageBinary(UA_Server *server, UA_PubSubConnection *connection, UA_WriterGroup *wg, - UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount) { - UA_NetworkMessage nm; - memset(&nm, 0, sizeof(UA_NetworkMessage)); - - /* Fill the message structure */ - UA_StatusCode rv = - generateNetworkMessage(connection, wg, dsm, writerIds, dsmCount, - &wg->config.messageSettings, - &wg->config.transportSettings, &nm); - UA_CHECK_STATUS(rv, return rv); - - /* Compute the message size. Add the overhead for the security signature. - * There is no padding and the encryption incurs no size overhead. */ - size_t msgSize = UA_NetworkMessage_calcSizeBinary(&nm, NULL); -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(wg->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { - UA_PubSubSecurityPolicy *sp = wg->config.securityPolicy; - msgSize += sp->symmetricModule.cryptoModule. - signatureAlgorithm.getLocalSignatureSize(sp->policyContext); - } -#endif - - UA_ConnectionManager *cm = connection->cm; - if(!cm) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Select the wg sendchannel if configured */ - uintptr_t sendChannel = connection->sendChannel; - if(wg->sendChannel != 0) - sendChannel = wg->sendChannel; - if(sendChannel == 0) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "Cannot send, no open connection"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Allocate the buffer. Allocate on the stack if the buffer is small. */ - UA_ByteString buf = UA_BYTESTRING_NULL; - rv = cm->allocNetworkBuffer(cm, sendChannel, &buf, msgSize); - UA_CHECK_STATUS(rv, return rv); - - /* Encode and encrypt the message */ - rv = encodeNetworkMessage(wg, &nm, &buf); - if(rv != UA_STATUSCODE_GOOD) { - cm->freeNetworkBuffer(cm, sendChannel, &buf); - UA_free(nm.payload.dataSetPayload.sizes); - return rv; - } - - /* Send out the message */ - sendNetworkMessageBuffer(server, wg, connection, sendChannel, &buf); - - UA_free(nm.payload.dataSetPayload.sizes); - return UA_STATUSCODE_GOOD; -} - -static void -sampleOffsetPublishingValues(UA_Server *server, UA_WriterGroup *wg) { - lockServer(server); - - size_t fieldPos = 0; - UA_DataSetWriter *dsw; - LIST_FOREACH(dsw, &wg->writers, listEntry) { - UA_PublishedDataSet *pds = - UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); - if(!pds) - continue; - - /* Loop over the fields */ - UA_DataSetField *dsf; - TAILQ_FOREACH(dsf, &pds->fields, listEntry) { - /* Get the matching offset table entry */ - UA_NetworkMessageOffsetType contentType; - do { - fieldPos++; - contentType = wg->bufferedMessage.offsets[fieldPos].contentType; - } while(contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW && - contentType != UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL); - - /* External data source is never sampled, but accessed directly in - * the encoding */ - if(contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL || - contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL || - contentType == UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL) - continue; - - /* Sample the value into the offset table */ - UA_DataValue *dfv = &wg->bufferedMessage.offsets[fieldPos].content.value; - UA_DataValue_clear(dfv); - UA_PubSubDataSetField_sampleValue(server, dsf, dfv); - } - } - - unlockServer(server); -} - -static void -publishWithOffsets(UA_Server *server, UA_WriterGroup *writerGroup, - UA_PubSubConnection *connection) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_assert(writerGroup->configurationFrozen); - - /* Fixed size but no direct value access. Sample to get recent values into - * the offset buffer structure. */ - if((writerGroup->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS) == 0) - sampleOffsetPublishingValues(server, writerGroup); - - UA_StatusCode res = - UA_NetworkMessage_updateBufferedMessage(&writerGroup->bufferedMessage); - - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG_WRITERGROUP(server->config.logging, writerGroup, - "PubSub sending. Unknown field type."); - return; - } - - UA_ByteString *buf = &writerGroup->bufferedMessage.buffer; - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - /* Send the encrypted buffered message if PubSub encryption is enabled */ - if(writerGroup->config.securityMode > UA_MESSAGESECURITYMODE_NONE) { - size_t sigSize = writerGroup->config.securityPolicy->symmetricModule.cryptoModule. - signatureAlgorithm.getLocalSignatureSize(writerGroup->securityPolicyContext); - - UA_Byte payloadOffset = (UA_Byte)(writerGroup->bufferedMessage.payloadPosition - - writerGroup->bufferedMessage.buffer.data); - memcpy(writerGroup->bufferedMessage.encryptBuffer.data, - writerGroup->bufferedMessage.buffer.data, - writerGroup->bufferedMessage.buffer.length); - res = encryptAndSign(writerGroup, writerGroup->bufferedMessage.nm, - writerGroup->bufferedMessage.encryptBuffer.data, - writerGroup->bufferedMessage.encryptBuffer.data + payloadOffset, - writerGroup->bufferedMessage.encryptBuffer.data + - writerGroup->bufferedMessage.encryptBuffer.length - sigSize); - - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, - "PubSub Encryption failed"); - return; - } - - buf = &writerGroup->bufferedMessage.encryptBuffer; - } -#endif - - UA_ConnectionManager *cm = connection->cm; - if(!cm) - return; - - /* Select the wg sendchannel if configured */ - uintptr_t sendChannel = connection->sendChannel; - if(writerGroup->sendChannel != 0) - sendChannel = writerGroup->sendChannel; - if(sendChannel == 0) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, - "Cannot send, no open connection"); - return; - } - - /* Copy into the network buffer */ - UA_ByteString outBuf; - res = cm->allocNetworkBuffer(cm, sendChannel, &outBuf, buf->length); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, - "PubSub message memory allocation failed"); - return; - } - memcpy(outBuf.data, buf->data, buf->length); - sendNetworkMessageBuffer(server, writerGroup, connection, sendChannel, &outBuf); -} - -static void -sendNetworkMessage(UA_Server *server, UA_WriterGroup *wg, UA_PubSubConnection *connection, - UA_DataSetMessage *dsm, UA_UInt16 *writerIds, UA_Byte dsmCount) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - switch(wg->config.encodingMimeType) { - case UA_PUBSUB_ENCODING_UADP: - res = sendNetworkMessageBinary(server, connection, wg, dsm, writerIds, dsmCount); - break; -#ifdef UA_ENABLE_JSON_ENCODING - case UA_PUBSUB_ENCODING_JSON: - res = sendNetworkMessageJson(server, connection, wg, dsm, writerIds, dsmCount); - break; -#endif - default: - res = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - - /* If sending failed, disable all writer of the writergroup */ - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, wg, - "PubSub Publish: Could not send a NetworkMessage " - "with status code %s", UA_StatusCode_name(res)); - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_ERROR, res); - } -} - -/* This callback triggers the collection and publish of NetworkMessages and the - * contained DataSetMessages. */ -void -UA_WriterGroup_publishCallback(UA_Server *server, UA_WriterGroup *writerGroup) { - UA_assert(writerGroup != NULL); - UA_assert(server != NULL); - - lockServer(server); - - UA_LOG_DEBUG_WRITERGROUP(server->config.logging, writerGroup, "Publish Callback"); - - /* Find the connection associated with the writer */ - UA_PubSubConnection *connection = writerGroup->linkedConnection; - if(!connection) { - UA_LOG_ERROR_WRITERGROUP(server->config.logging, writerGroup, - "Publish failed. PubSubConnection invalid"); - UA_WriterGroup_setPubSubState(server, writerGroup, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADNOTCONNECTED); - unlockServer(server); - return; - } - - /* Realtime path - update the buffer message and send directly */ - if(writerGroup->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) { - publishWithOffsets(server, writerGroup, connection); - unlockServer(server); - return; - } - - /* Nothing to do? */ - if(writerGroup->writersCount == 0) { - unlockServer(server); - return; - } - - /* How many DSM can be sent in one NM? */ - UA_Byte maxDSM = (UA_Byte)writerGroup->config.maxEncapsulatedDataSetMessageCount; - if(writerGroup->config.maxEncapsulatedDataSetMessageCount > UA_BYTE_MAX) - maxDSM = UA_BYTE_MAX; - if(maxDSM == 0) - maxDSM = 1; /* Send at least one dsm */ - - /* It is possible to put several DataSetMessages into one NetworkMessage. - * But only if they do not contain promoted fields. NM with promoted fields - * are sent out right away. The others are kept in a buffer for - * "batching". */ - size_t dsmCount = 0; - UA_STACKARRAY(UA_UInt16, dsWriterIds, writerGroup->writersCount); - UA_STACKARRAY(UA_DataSetMessage, dsmStore, writerGroup->writersCount); - - UA_DataSetWriter *dsw; - LIST_FOREACH(dsw, &writerGroup->writers, listEntry) { - if(dsw->state != UA_PUBSUBSTATE_OPERATIONAL) - continue; - - /* Heartbeats are send when no dataset is attached */ - UA_Boolean heartbeat = UA_NodeId_isNull(&dsw->connectedDataSet); - UA_PublishedDataSet *pds = (heartbeat) ? NULL : - UA_PublishedDataSet_findPDSbyId(server, dsw->connectedDataSet); - if(!heartbeat && !pds) { - UA_LOG_ERROR_WRITER(server->config.logging, dsw, - "PubSub Publish: PublishedDataSet not found"); - UA_DataSetWriter_setPubSubState(server, dsw, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - continue; - } - - /* Generate the DSM */ - dsWriterIds[dsmCount] = dsw->config.dataSetWriterId; - UA_StatusCode res = - UA_DataSetWriter_generateDataSetMessage(server, &dsmStore[dsmCount], dsw); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_WRITER(server->config.logging, dsw, - "PubSub Publish: DataSetMessage creation failed"); - UA_DataSetWriter_setPubSubState(server, dsw, UA_PUBSUBSTATE_ERROR, res); - continue; - } - - /* There is no promoted field -> send right away */ - if(pds && pds->promotedFieldsCount > 0) { - writerGroup->lastPublishTimeStamp = UA_DateTime_nowMonotonic(); - sendNetworkMessage(server, writerGroup, connection, &dsmStore[dsmCount], - &dsWriterIds[dsmCount], 1); - - /* Clean up the current store entry */ - if(writerGroup->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS && - dsmStore[dsmCount].header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { - for(size_t i = 0; i < dsmStore[dsmCount].data.keyFrameData.fieldCount; ++i) { - dsmStore[dsmCount].data.keyFrameData.dataSetFields[i].value.data = NULL; - } - } - UA_DataSetMessage_clear(&dsmStore[dsmCount]); - - continue; /* Don't increase the dsmCount, reuse the slot */ - } - - dsmCount++; - } - - /* Send the NetworkMessages with batched DataSetMessages */ - UA_Byte nmDsmCount = 0; - for(size_t i = 0; i < dsmCount; i += nmDsmCount) { - /* How many dsm are batched in this iteration? */ - nmDsmCount = (i + maxDSM > dsmCount) ? (UA_Byte)(dsmCount - i) : maxDSM; - - writerGroup->lastPublishTimeStamp = UA_DateTime_nowMonotonic(); - /* Send the batched messages */ - sendNetworkMessage(server, writerGroup, connection, &dsmStore[i], - &dsWriterIds[i], nmDsmCount); - } - - /* Clean up DSM */ - for(size_t i = 0; i < dsmCount; i++) { - if(writerGroup->config.rtLevel & UA_PUBSUB_RT_DIRECT_VALUE_ACCESS && - dsmStore[i].header.dataSetMessageType == UA_DATASETMESSAGE_DATAKEYFRAME) { - for(size_t j = 0; j < dsmStore[i].data.keyFrameData.fieldCount; ++j) { - dsmStore[i].data.keyFrameData.dataSetFields[j].value.data = NULL; - } - } - UA_DataSetMessage_clear(&dsmStore[i]); - } - - unlockServer(server); -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_reader.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) - * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -#endif - - -#ifdef UA_ENABLE_PUBSUB_BUFMALLOC -#endif - -#ifdef UA_ENABLE_PUBSUB_MONITORING -static void -UA_DataSetReader_checkMessageReceiveTimeout(UA_Server *server, UA_DataSetReader *dsr); - -static void -UA_DataSetReader_handleMessageReceiveTimeout(UA_Server *server, UA_DataSetReader *dsr); -#endif - -static UA_Boolean -publisherIdIsMatching(UA_NetworkMessage *msg, UA_Variant publisherId) { - if(!msg->publisherIdEnabled) { - return true; - } - switch(msg->publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - return (publisherId.type == &UA_TYPES[UA_TYPES_BYTE] && - msg->publisherId.byte == *(UA_Byte*)publisherId.data); - case UA_PUBLISHERIDTYPE_UINT16: - return (publisherId.type == &UA_TYPES[UA_TYPES_UINT16] && - msg->publisherId.uint16 == *(UA_UInt16*)publisherId.data); - case UA_PUBLISHERIDTYPE_UINT32: - return (publisherId.type == &UA_TYPES[UA_TYPES_UINT32] && - msg->publisherId.uint32 == *(UA_UInt32*)publisherId.data); - case UA_PUBLISHERIDTYPE_UINT64: - return (publisherId.type == &UA_TYPES[UA_TYPES_UINT64] && - msg->publisherId.uint64 == *(UA_UInt64*)publisherId.data); - case UA_PUBLISHERIDTYPE_STRING: - return (publisherId.type == &UA_TYPES[UA_TYPES_STRING] && - UA_String_equal(&msg->publisherId.string, (UA_String*)publisherId.data)); - default: - return false; - } - return true; -} - -UA_StatusCode -UA_DataSetReader_checkIdentifier(UA_Server *server, UA_NetworkMessage *msg, - UA_DataSetReader *reader, - UA_ReaderGroupConfig readerGroupConfig) { - if(readerGroupConfig.encodingMimeType != UA_PUBSUB_ENCODING_JSON){ - if(!publisherIdIsMatching(msg, reader->config.publisherId)) { - return UA_STATUSCODE_BADNOTFOUND; - } - if(msg->groupHeaderEnabled && msg->groupHeader.writerGroupIdEnabled) { - if(reader->config.writerGroupId != msg->groupHeader.writerGroupId) { - UA_LOG_INFO_READER(server->config.logging, reader, - "WriterGroupId doesn't match"); - return UA_STATUSCODE_BADNOTFOUND; - } - } - if(msg->payloadHeaderEnabled) { - UA_Byte totalDataSets = msg->payloadHeader.dataSetPayloadHeader.count; - UA_Byte iterator = 0; - for(iterator = 0; iterator < totalDataSets; iterator++) { - if(reader->config.dataSetWriterId == msg->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[iterator]) { - return UA_STATUSCODE_GOOD; - } - } - if (iterator == totalDataSets) { - UA_LOG_INFO_READER(server->config.logging, reader, "DataSetWriterId doesn't match"); - return UA_STATUSCODE_BADNOTFOUND; - } - } - return UA_STATUSCODE_GOOD; - } else { - if (!publisherIdIsMatching(msg, reader->config.publisherId)) - return UA_STATUSCODE_BADNOTFOUND; - - if(reader->config.dataSetWriterId == *msg->payloadHeader.dataSetPayloadHeader.dataSetWriterIds) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "DataSetReader found. Process NetworkMessage"); - return UA_STATUSCODE_GOOD; - } - } - return UA_STATUSCODE_BADNOTFOUND; -} - -UA_StatusCode -UA_DataSetReader_create(UA_Server *server, UA_NodeId readerGroupIdentifier, - const UA_DataSetReaderConfig *dataSetReaderConfig, - UA_NodeId *readerIdentifier) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Search the reader group by the given readerGroupIdentifier */ - UA_ReaderGroup *readerGroup = UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); - if(readerGroup == NULL) - return UA_STATUSCODE_BADNOTFOUND; - - if(!dataSetReaderConfig) - return UA_STATUSCODE_BADNOTFOUND; - - if(readerGroup->configurationFrozen) { - UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, - "Add DataSetReader failed, Subscriber configuration is frozen"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* Allocate memory for new DataSetReader */ - UA_DataSetReader *newDataSetReader = (UA_DataSetReader *) - UA_calloc(1, sizeof(UA_DataSetReader)); - if(!newDataSetReader) - return UA_STATUSCODE_BADOUTOFMEMORY; - - newDataSetReader->componentType = UA_PUBSUB_COMPONENT_DATASETREADER; - - /* Copy the config into the new dataSetReader */ - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_DataSetReaderConfig_copy(dataSetReaderConfig, &newDataSetReader->config); - newDataSetReader->linkedReaderGroup = readerGroup->identifier; - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - retVal = addDataSetReaderRepresentation(server, newDataSetReader); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READERGROUP(server->config.logging, readerGroup, - "Add DataSetReader failed, addDataSetReaderRepresentation failed"); - UA_DataSetReaderConfig_clear(&newDataSetReader->config); - UA_free(newDataSetReader); - newDataSetReader = 0; - return retVal; - } -#else - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, - &newDataSetReader->identifier); -#endif - -#ifdef UA_ENABLE_PUBSUB_MONITORING - /* Create message receive timeout timer */ - retVal = server->config.pubSubConfig.monitoringInterface. - createMonitoring(server, newDataSetReader->identifier, - UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, - newDataSetReader, - (void (*)(UA_Server *, void *)) - UA_DataSetReader_handleMessageReceiveTimeout); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READERGROUP(server->config.logging, readerGroup, - "Add DataSetReader failed, create message " - "receive timeout timer failed"); - UA_DataSetReaderConfig_clear(&newDataSetReader->config); - UA_free(newDataSetReader); - newDataSetReader = 0; - return retVal; - } -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - - /* Add the new reader to the group. Add to the end of the linked list to - * ensure the order for the realtime offsets is as expected. The received - * DataSetMessages are matched via UA_DataSetReader_checkIdentifier for the - * non-RT path. */ - UA_DataSetReader *after = LIST_FIRST(&readerGroup->readers); - if(!after) { - LIST_INSERT_HEAD(&readerGroup->readers, newDataSetReader, listEntry); - } else { - while(LIST_NEXT(after, listEntry)) - after = LIST_NEXT(after, listEntry); - LIST_INSERT_AFTER(after, newDataSetReader, listEntry); - } - readerGroup->readersCount++; - - if(!UA_String_isEmpty(&newDataSetReader->config.linkedStandaloneSubscribedDataSetName)) { - // find sds by name - UA_StandaloneSubscribedDataSet *subscribedDataSet = - UA_StandaloneSubscribedDataSet_findSDSbyName(server, - newDataSetReader->config.linkedStandaloneSubscribedDataSetName); - if(subscribedDataSet != NULL) { - if(subscribedDataSet->config.subscribedDataSetType != UA_PUBSUB_SDS_TARGET) { - UA_LOG_ERROR_READER(server->config.logging, newDataSetReader, - "Not implemented! Currently only SubscribedDataSet as " - "TargetVariables is implemented"); - } else { - if(subscribedDataSet->config.isConnected) { - UA_LOG_ERROR_READER(server->config.logging, newDataSetReader, - "SubscribedDataSet is already connected"); - } else { - UA_LOG_DEBUG_READER(server->config.logging, newDataSetReader, - "Found SubscribedDataSet"); - subscribedDataSet->config.isConnected = true; - UA_DataSetMetaDataType_copy( - &subscribedDataSet->config.dataSetMetaData, - &newDataSetReader->config.dataSetMetaData); - UA_FieldTargetVariable *targetVars = - (UA_FieldTargetVariable *)UA_calloc( - subscribedDataSet->config.subscribedDataSet.target - .targetVariablesSize, - sizeof(UA_FieldTargetVariable)); - for(size_t index = 0; - index < subscribedDataSet->config.subscribedDataSet.target - .targetVariablesSize; - index++) { - UA_FieldTargetDataType_copy( - &subscribedDataSet->config.subscribedDataSet.target - .targetVariables[index], - &targetVars[index].targetVariable); - } - - DataSetReader_createTargetVariables(server, newDataSetReader, - subscribedDataSet->config.subscribedDataSet. - target.targetVariablesSize, targetVars); - subscribedDataSet->connectedReader = newDataSetReader->identifier; - - for(size_t index = 0; - index < subscribedDataSet->config.subscribedDataSet.target - .targetVariablesSize; - index++) { - UA_FieldTargetDataType_clear(&targetVars[index].targetVariable); - } - - UA_free(targetVars); - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - connectDataSetReaderToDataSet(server, newDataSetReader->identifier, - subscribedDataSet->identifier); -#endif - } - } - } - } - - if(readerIdentifier) - UA_NodeId_copy(&newDataSetReader->identifier, readerIdentifier); - - /* Set the ReaderGroup state after finalizing the configuration */ - if(readerGroup->state == UA_PUBSUBSTATE_OPERATIONAL || - readerGroup->state == UA_PUBSUBSTATE_PREOPERATIONAL) { - retVal = UA_DataSetReader_setPubSubState(server, newDataSetReader, readerGroup->state, - UA_STATUSCODE_GOOD); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READERGROUP(server->config.logging, readerGroup, - "Add DataSetReader failed, setPubSubState failed"); - } - } - - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_addDataSetReader(UA_Server *server, UA_NodeId readerGroupIdentifier, - const UA_DataSetReaderConfig *dataSetReaderConfig, - UA_NodeId *readerIdentifier) { - lockServer(server); - UA_StatusCode res = UA_DataSetReader_create(server, readerGroupIdentifier, - dataSetReaderConfig, readerIdentifier); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_DataSetReader_remove(UA_Server *server, UA_DataSetReader *dsr) { - if(dsr->configurationFrozen) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Remove DataSetReader failed, " - "Subscriber configuration is frozen"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, dsr->identifier, true); -#endif - -#ifdef UA_ENABLE_PUBSUB_MONITORING - /* Stop and remove message receive timeout timer */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(dsr->msgRcvTimeoutTimerRunning) { - res = server->config.pubSubConfig.monitoringInterface. - stopMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "Remove DataSetReader failed. Stop message " - "receive timeout timer of DataSetReader '%.*s' failed.", - (int) dsr->config.name.length, dsr->config.name.data); - } - } - - res |= server->config.pubSubConfig.monitoringInterface. - deleteMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "Remove DataSetReader failed. Delete message receive " - "timeout timer of DataSetReader '%.*s' failed.", - (int) dsr->config.name.length, dsr->config.name.data); - } -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - /* check if a Standalone-SubscribedDataSet is associated with this reader and disconnect it*/ - if(!UA_String_isEmpty(&dsr->config.linkedStandaloneSubscribedDataSetName)) { - UA_StandaloneSubscribedDataSet *subscribedDataSet = - UA_StandaloneSubscribedDataSet_findSDSbyName( - server, dsr->config.linkedStandaloneSubscribedDataSetName); - if(subscribedDataSet != NULL) { - subscribedDataSet->config.isConnected = false; - } - } - - /* Delete DataSetReader config */ - UA_DataSetReaderConfig_clear(&dsr->config); - - /* Get the ReaderGroup. This must succeed since all Readers are removed from - * the group before it is deleted in UA_ReaderGroup_remove.*/ - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, dsr->linkedReaderGroup); - UA_assert(rg); - - /* Remove DataSetReader from group */ - LIST_REMOVE(dsr, listEntry); - rg->readersCount--; - - /* THe offset buffer is only set when the dsr is frozen - * UA_NetworkMessageOffsetBuffer_clear(&dsr->bufferedMessage); */ - - UA_NodeId_clear(&dsr->identifier); - UA_NodeId_clear(&dsr->linkedReaderGroup); - - /* Free memory allocated for DataSetReader */ - UA_free(dsr); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_removeDataSetReader(UA_Server *server, UA_NodeId readerIdentifier) { - lockServer(server); - UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, readerIdentifier); - if(!dsr) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_DataSetReader_remove(server, dsr); - unlockServer(server); - return res; -} - -static UA_StatusCode -DataSetReader_updateConfig(UA_Server *server, UA_ReaderGroup *rg, UA_DataSetReader *dsr, - const UA_DataSetReaderConfig *config) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(dsr->configurationFrozen) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Update DataSetReader config failed. " - "Subscriber configuration is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - if(rg->configurationFrozen) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Update DataSetReader config failed. " - "Subscriber configuration is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - if(dsr->config.subscribedDataSetType != UA_PUBSUB_SDS_TARGET) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Unsupported SubscribedDataSetType."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* The update functionality will be extended during the next PubSub batches. - * Currently changes for writerGroupId, dataSetWriterId and TargetVariables are possible. */ - if(dsr->config.writerGroupId != config->writerGroupId) - dsr->config.writerGroupId = config->writerGroupId; - if(dsr->config.dataSetWriterId != config->dataSetWriterId) - dsr->config.dataSetWriterId = config->dataSetWriterId; - - UA_TargetVariables *oldTV = &dsr->config.subscribedDataSet.subscribedDataSetTarget; - const UA_TargetVariables *newTV = &config->subscribedDataSet.subscribedDataSetTarget; - if(oldTV->targetVariablesSize == newTV->targetVariablesSize) { - for(size_t i = 0; i < newTV->targetVariablesSize; i++) { - if(!UA_NodeId_equal(&oldTV->targetVariables[i].targetVariable.targetNodeId, - &newTV->targetVariables[i].targetVariable.targetNodeId)) { - DataSetReader_createTargetVariables(server, dsr, - newTV->targetVariablesSize, - newTV->targetVariables); - break; - } - } - } else { - DataSetReader_createTargetVariables(server, dsr, newTV->targetVariablesSize, - newTV->targetVariables); - } - - UA_StatusCode res = UA_STATUSCODE_GOOD; -#ifdef UA_ENABLE_PUBSUB_MONITORING - if(dsr->config.messageReceiveTimeout != config->messageReceiveTimeout) { - /* Update message receive timeout timer interval */ - dsr->config.messageReceiveTimeout = config->messageReceiveTimeout; - res = server->config.pubSubConfig.monitoringInterface. - updateMonitoringInterval(server, dsr->identifier, - UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, - dsr); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "Update DataSetReader message receive timeout timer failed."); - } - } -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - return res; -} - -UA_StatusCode -UA_Server_DataSetReader_updateConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - UA_NodeId readerGroupIdentifier, - const UA_DataSetReaderConfig *config) { - if(config == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - lockServer(server); - UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); - if(!dsr || !rg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = DataSetReader_updateConfig(server, rg, dsr, config); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_DataSetReader_getConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - UA_DataSetReaderConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); - if(dsr) - res = UA_DataSetReaderConfig_copy(&dsr->config, config); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_DataSetReaderConfig_copy(const UA_DataSetReaderConfig *src, - UA_DataSetReaderConfig *dst) { - memset(dst, 0, sizeof(UA_DataSetReaderConfig)); - UA_StatusCode retVal = UA_String_copy(&src->name, &dst->name); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - retVal = UA_Variant_copy(&src->publisherId, &dst->publisherId); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - dst->writerGroupId = src->writerGroupId; - dst->dataSetWriterId = src->dataSetWriterId; - dst->expectedEncoding = src->expectedEncoding; - retVal = UA_DataSetMetaDataType_copy(&src->dataSetMetaData, &dst->dataSetMetaData); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - dst->dataSetFieldContentMask = src->dataSetFieldContentMask; - dst->messageReceiveTimeout = src->messageReceiveTimeout; - - retVal = UA_ExtensionObject_copy(&src->messageSettings, &dst->messageSettings); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - retVal = UA_ExtensionObject_copy(&src->transportSettings, &dst->transportSettings); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - if(src->subscribedDataSetType == UA_PUBSUB_SDS_TARGET) { - retVal = UA_TargetVariables_copy(&src->subscribedDataSet.subscribedDataSetTarget, - &dst->subscribedDataSet.subscribedDataSetTarget); - if(retVal != UA_STATUSCODE_GOOD) { - return retVal; - } - } - - retVal = UA_String_copy(&src->linkedStandaloneSubscribedDataSetName, &dst->linkedStandaloneSubscribedDataSetName); - - return retVal; -} - -void -UA_DataSetReaderConfig_clear(UA_DataSetReaderConfig *cfg) { - UA_String_clear(&cfg->name); - UA_String_clear(&cfg->linkedStandaloneSubscribedDataSetName); - UA_Variant_clear(&cfg->publisherId); - UA_DataSetMetaDataType_clear(&cfg->dataSetMetaData); - UA_ExtensionObject_clear(&cfg->messageSettings); - UA_ExtensionObject_clear(&cfg->transportSettings); - if(cfg->subscribedDataSetType == UA_PUBSUB_SDS_TARGET) { - UA_TargetVariables_clear(&cfg->subscribedDataSet.subscribedDataSetTarget); - } -} - -UA_StatusCode -UA_Server_DataSetReader_getState(UA_Server *server, UA_NodeId dataSetReaderIdentifier, - UA_PubSubState *state) { - if(!server || !state) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - lockServer(server); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); - if(dsr) { - res = UA_STATUSCODE_GOOD; - *state = dsr->state; - } - unlockServer(server); - return res; -} - -static UA_StatusCode -UA_DataSetReader_setState_disabled(UA_Server *server, UA_DataSetReader *dsr) { - UA_StatusCode ret = UA_STATUSCODE_GOOD; - switch(dsr->state) { - case UA_PUBSUBSTATE_DISABLED: - return UA_STATUSCODE_GOOD; - case UA_PUBSUBSTATE_PAUSED: - dsr->state = UA_PUBSUBSTATE_DISABLED; - return UA_STATUSCODE_GOOD; - case UA_PUBSUBSTATE_OPERATIONAL: -#ifdef UA_ENABLE_PUBSUB_MONITORING - /* Stop MessageReceiveTimeout timer */ - if(dsr->msgRcvTimeoutTimerRunning == true) { - ret = server->config.pubSubConfig.monitoringInterface. - stopMonitoring(server, dsr->identifier, - UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); - if(ret == UA_STATUSCODE_GOOD) { - dsr->msgRcvTimeoutTimerRunning = false; - } else { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "Disable ReaderGroup failed. Stop message receive " - "timeout timer of DataSetReader '%.*s' failed.", - (int) dsr->config.name.length, dsr->config.name.data); - } - } -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - if(ret == UA_STATUSCODE_GOOD) - dsr->state = UA_PUBSUBSTATE_DISABLED; - return ret; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Received unknown PubSub state!"); - } - return UA_STATUSCODE_BADINVALIDARGUMENT; -} - -/* State machine methods not part of the open62541 state machine API */ -UA_StatusCode -UA_DataSetReader_setPubSubState(UA_Server *server, - UA_DataSetReader *dataSetReader, - UA_PubSubState state, - UA_StatusCode cause) { - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_PubSubState oldState = dataSetReader->state; - switch(state) { - case UA_PUBSUBSTATE_DISABLED: - ret = UA_DataSetReader_setState_disabled(server, dataSetReader); - break; - case UA_PUBSUBSTATE_PAUSED: - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - case UA_PUBSUBSTATE_OPERATIONAL: - case UA_PUBSUBSTATE_PREOPERATIONAL: - case UA_PUBSUBSTATE_ERROR: - dataSetReader->state = state; - break; - default: - UA_LOG_WARNING_READER(server->config.logging, dataSetReader, - "Received unknown PubSub state!"); - ret = UA_STATUSCODE_BADINVALIDARGUMENT; - break; - } - if (state != oldState) { - /* inform application about state change */ - UA_ServerConfig *config = &server->config; - if(config->pubSubConfig.stateChangeCallback != 0) { - config->pubSubConfig. - stateChangeCallback(server, &dataSetReader->identifier, state, cause); - } - } - return ret; -} - -UA_StatusCode -UA_FieldTargetVariable_copy(const UA_FieldTargetVariable *src, UA_FieldTargetVariable *dst) { - /* Do a simple memcpy */ - memcpy(dst, src, sizeof(UA_FieldTargetVariable)); - return UA_FieldTargetDataType_copy(&src->targetVariable, &dst->targetVariable); -} - -UA_StatusCode -UA_TargetVariables_copy(const UA_TargetVariables *src, UA_TargetVariables *dst) { - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - memcpy(dst, src, sizeof(UA_TargetVariables)); - if(src->targetVariablesSize > 0) { - dst->targetVariables = (UA_FieldTargetVariable*) - UA_calloc(src->targetVariablesSize, sizeof(UA_FieldTargetVariable)); - if(!dst->targetVariables) - return UA_STATUSCODE_BADOUTOFMEMORY; - for(size_t i = 0; i < src->targetVariablesSize; i++) - retVal |= UA_FieldTargetVariable_copy(&src->targetVariables[i], &dst->targetVariables[i]); - } - return retVal; -} - -void -UA_TargetVariables_clear(UA_TargetVariables *subscribedDataSetTarget) { - for(size_t i = 0; i < subscribedDataSetTarget->targetVariablesSize; i++) { - UA_FieldTargetDataType_clear(&subscribedDataSetTarget->targetVariables[i].targetVariable); - } - if(subscribedDataSetTarget->targetVariablesSize > 0) - UA_free(subscribedDataSetTarget->targetVariables); - memset(subscribedDataSetTarget, 0, sizeof(UA_TargetVariables)); -} - -/* This Method is used to initially set the SubscribedDataSet to - * TargetVariablesType and to create the list of target Variables of a - * SubscribedDataSetType. */ -UA_StatusCode -DataSetReader_createTargetVariables(UA_Server *server, UA_DataSetReader *dsr, - size_t targetVariablesSize, - const UA_FieldTargetVariable *targetVariables) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(dsr->configurationFrozen) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Create Target Variables failed. " - "Subscriber configuration is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - if(dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariablesSize > 0) - UA_TargetVariables_clear(&dsr->config.subscribedDataSet.subscribedDataSetTarget); - - /* Set subscribed dataset to TargetVariableType */ - dsr->config.subscribedDataSetType = UA_PUBSUB_SDS_TARGET; - UA_TargetVariables tmp; - tmp.targetVariablesSize = targetVariablesSize; - tmp.targetVariables = (UA_FieldTargetVariable*)(uintptr_t)targetVariables; - return UA_TargetVariables_copy(&tmp, &dsr->config.subscribedDataSet.subscribedDataSetTarget); -} - -UA_StatusCode -UA_Server_DataSetReader_createTargetVariables(UA_Server *server, - UA_NodeId dataSetReaderIdentifier, - size_t targetVariablesSize, - const UA_FieldTargetVariable *targetVariables) { - lockServer(server); - UA_DataSetReader *dataSetReader = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); - if(!dataSetReader) { - unlockServer(server); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - UA_StatusCode res = DataSetReader_createTargetVariables(server, dataSetReader, - targetVariablesSize, targetVariables); - unlockServer(server); - return res; -} - -/* This functionality of this API will be used in future to create mirror Variables - TODO */ -/* UA_StatusCode -UA_Server_DataSetReader_createDataSetMirror(UA_Server *server, UA_String *parentObjectNodeName, - UA_NodeId dataSetReaderIdentifier) { - if((server == NULL) || (parentNode == NULL)) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - UA_DataSetReader* pDataSetReader = UA_ReaderGroup_findDSRbyId(server, dataSetReaderIdentifier); - if(pDataSetReader == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - if(pDataSetReader->configurationFrozen) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Add Target Variables failed. Subscriber configuration is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } // TODO: Frozen configuration variable in TargetVariable structure - - UA_TargetVariables targetVars; - targetVars.targetVariablesSize = pDataSetReader->config.dataSetMetaData.fieldsSize; - targetVars.targetVariables = (UA_FieldTargetVariable *) - UA_calloc(targetVars.targetVariablesSize, sizeof(UA_FieldTargetVariable)); - - for(size_t i = 0; i < pDataSetReader->config.dataSetMetaData.fieldsSize; i++) { - UA_VariableAttributes vAttr = UA_VariableAttributes_default; - vAttr.valueRank = pDataSetReader->config.dataSetMetaData.fields[i].valueRank; - if(pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensionsSize > 0) { - retval = UA_Array_copy(pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensions, - pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensionsSize, - (void**)&vAttr.arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); - if(retval == UA_STATUSCODE_GOOD) { - vAttr.arrayDimensionsSize = - pDataSetReader->config.dataSetMetaData.fields[i].arrayDimensionsSize; - } - - } - - vAttr.dataType = pDataSetReader->config.dataSetMetaData.fields[i].dataType; - - vAttr.accessLevel = UA_ACCESSLEVELMASK_READ; - UA_LocalizedText_copy(&pDataSetReader->config.dataSetMetaData.fields[i].description, - &vAttr.description); - UA_QualifiedName qn; - UA_QualifiedName_init(&qn); - char szTmpName[UA_MAX_SIZENAME]; - if(pDataSetReader->config.dataSetMetaData.fields[i].name.length > 0) { - UA_UInt16 slen = UA_MAX_SIZENAME -1; - vAttr.displayName.locale = UA_STRING("en-US"); - vAttr.displayName.text = pDataSetReader->config.dataSetMetaData.fields[i].name; - if(pDataSetReader->config.dataSetMetaData.fields[i].name.length < slen) { - slen = (UA_UInt16)pDataSetReader->config.dataSetMetaData.fields[i].name.length; - mp_snprintf(szTmpName, sizeof(szTmpName), "%.*s", (int)slen, - (const char*)pDataSetReader->config.dataSetMetaData.fields[i].name.data); - } - - szTmpName[slen] = '\0'; - qn = UA_QUALIFIEDNAME(1, szTmpName); - } - else { - strcpy(szTmpName, "SubscribedVariable"); - vAttr.displayName = UA_LOCALIZEDTEXT("en-US", szTmpName); - qn = UA_QUALIFIEDNAME(1, "SubscribedVariable"); - } - - // Add variable to the given parent node - UA_NodeId newNode; - retval = UA_Server_addVariableNode(server, UA_NODEID_NULL, *parentNode, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), qn, - UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), - vAttr, NULL, &newNode); - if(retval == UA_STATUSCODE_GOOD) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "addVariableNode %s succeeded", szTmpName); - } - else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, - "addVariableNode: error 0x%" PRIx32, retval); - } - - targetVars.targetVariables[i].targetVariable.attributeId = UA_ATTRIBUTEID_VALUE; - UA_NodeId_copy(&newNode, &targetVars.targetVariables[i].targetVariable.targetNodeId); - UA_NodeId_clear(&newNode); - if(vAttr.arrayDimensionsSize > 0) { - UA_Array_delete(vAttr.arrayDimensions, vAttr.arrayDimensionsSize, - &UA_TYPES[UA_TYPES_UINT32]); - } - } - - UA_TargetVariables_clear(&targetVars); - return retval; -}*/ - -static void -DataSetReader_processRaw(UA_Server *server, UA_ReaderGroup *rg, - UA_DataSetReader *dsr, UA_DataSetMessage* msg) { - UA_LOG_TRACE_READER(server->config.logging, dsr, "Received RAW Frame"); - msg->data.keyFrameData.fieldCount = (UA_UInt16) - dsr->config.dataSetMetaData.fieldsSize; - - /* Start iteration from beginning of rawFields buffer */ - size_t offset = 0; - msg->data.keyFrameData.rawFields.length = 0; - for(size_t i = 0; i < dsr->config.dataSetMetaData.fieldsSize; i++) { - /* TODO The datatype reference should be part of the internal - * pubsub configuration to avoid the time-expensive lookup */ - const UA_DataType *type = - UA_findDataTypeWithCustom(&dsr->config.dataSetMetaData.fields[i].dataType, - server->config.customDataTypes); - msg->data.keyFrameData.rawFields.length += type->memSize; - UA_STACKARRAY(UA_Byte, value, type->memSize); - UA_StatusCode res = - UA_decodeBinaryInternal(&msg->data.keyFrameData.rawFields, - &offset, value, type, NULL); - if(dsr->config.dataSetMetaData.fields[i].maxStringLength != 0) { - if(type->typeKind == UA_DATATYPEKIND_STRING || - type->typeKind == UA_DATATYPEKIND_BYTESTRING) { - UA_ByteString *bs = (UA_ByteString *) value; - /* Check if length < maxStringLength, The types ByteString and - * String are equal in their base definition */ - size_t lengthDifference = - dsr->config.dataSetMetaData.fields[i].maxStringLength - bs->length; - offset += lengthDifference; - } - } - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_READER(server->config.logging, dsr, - "Error during Raw-decode KeyFrame field %u: %s", - (unsigned)i, UA_StatusCode_name(res)); - return; - } - - UA_FieldTargetVariable *tv = - &dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariables[i]; - - if(tv->externalDataValue) { - if(tv->beforeWrite) - tv->beforeWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, - &tv->targetVariable.targetNodeId, - tv->targetVariableContext, tv->externalDataValue); - memcpy((*tv->externalDataValue)->value.data, value, type->memSize); - if(tv->afterWrite) - tv->afterWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, - &tv->targetVariable.targetNodeId, - tv->targetVariableContext, tv->externalDataValue); - continue; /* No dynamic allocation for fixed-size msg, no need to _clear */ - } - - UA_WriteValue writeVal; - UA_WriteValue_init(&writeVal); - writeVal.attributeId = tv->targetVariable.attributeId; - writeVal.indexRange = tv->targetVariable.receiverIndexRange; - writeVal.nodeId = tv->targetVariable.targetNodeId; - UA_Variant_setScalar(&writeVal.value.value, value, type); - writeVal.value.hasValue = true; - Operation_Write(server, &server->adminSession, NULL, &writeVal, &res); - UA_clear(value, type); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_READER(server->config.logging, dsr, - "Error writing KeyFrame field %u: %s", - (unsigned)i, UA_StatusCode_name(res)); - } - } -} - -void -UA_DataSetReader_process(UA_Server *server, UA_ReaderGroup *rg, - UA_DataSetReader *dsr, UA_DataSetMessage *msg) { - if(!dsr || !rg || !msg || !server) - return; - - UA_LOG_DEBUG_READER(server->config.logging, dsr, "Received a network message"); - - if(!msg->header.dataSetMessageValid) { - UA_LOG_INFO_READER(server->config.logging, dsr, - "DataSetMessage is discarded: message is not valid"); - return; - } - - /* TODO: Check ConfigurationVersion */ - /* if(msg->header.configVersionMajorVersionEnabled) { - * if(msg->header.configVersionMajorVersion != - * dsr->config.dataSetMetaData.configurationVersion.majorVersion) { - * UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - * "DataSetMessage is discarded: ConfigurationVersion " - * "MajorVersion does not match"); - * return; - * } - * } */ - - if(msg->header.dataSetMessageType != UA_DATASETMESSAGE_DATAKEYFRAME) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "DataSetMessage is discarded: Only keyframes are supported"); - return; - } - -#ifdef UA_ENABLE_PUBSUB_MONITORING - UA_DataSetReader_checkMessageReceiveTimeout(server, dsr); -#endif - - if(dsr->state != UA_PUBSUBSTATE_OPERATIONAL && - dsr->state != UA_PUBSUBSTATE_PREOPERATIONAL) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Received a network message but not operational"); - return; - } - - /* Process message with raw encoding. We have no field-count information for - * the message. */ - if(msg->header.fieldEncoding == UA_FIELDENCODING_RAWDATA) { - DataSetReader_processRaw(server, rg, dsr, msg); - return; - } - - /* Received a heartbeat with no fields */ - if(msg->data.keyFrameData.fieldCount == 0) { - dsr->lastHeartbeatReceived = UA_DateTime_nowMonotonic(); - return; - } - - /* Check whether the field count matches the configuration */ - size_t fieldCount = msg->data.keyFrameData.fieldCount; - if(dsr->config.dataSetMetaData.fieldsSize != fieldCount) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Number of fields does not match the DataSetMetaData configuration"); - return; - } - - if(dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariablesSize != fieldCount) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "Number of fields does not match the TargetVariables configuration"); - return; - } - - /* Write the message fields. RT has the external data value configured. */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < fieldCount; i++) { - UA_DataValue *field = &msg->data.keyFrameData.dataSetFields[i]; - if(!field->hasValue) - continue; - - UA_FieldTargetVariable *tv = - &dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariables[i]; - - /* RT-path: write directly into the target memory */ - if(tv->externalDataValue) { - if(field->value.type != (*tv->externalDataValue)->value.type) { - UA_LOG_WARNING_READER(server->config.logging, dsr, "Mismatching type"); - continue; - } - - if(tv->beforeWrite) - tv->beforeWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, - &tv->targetVariable.targetNodeId, - tv->targetVariableContext, tv->externalDataValue); - memcpy((*tv->externalDataValue)->value.data, - field->value.data, field->value.type->memSize); - if(tv->afterWrite) - tv->afterWrite(server, &dsr->identifier, &dsr->linkedReaderGroup, - &tv->targetVariable.targetNodeId, - tv->targetVariableContext, tv->externalDataValue); - continue; - } - - /* Write via the Write-Service */ - UA_WriteValue writeVal; - UA_WriteValue_init(&writeVal); - writeVal.attributeId = tv->targetVariable.attributeId; - writeVal.indexRange = tv->targetVariable.receiverIndexRange; - writeVal.nodeId = tv->targetVariable.targetNodeId; - writeVal.value = *field; - Operation_Write(server, &server->adminSession, NULL, &writeVal, &res); - if(res != UA_STATUSCODE_GOOD) - UA_LOG_INFO_READER(server->config.logging, dsr, - "Error writing KeyFrame field %u: %s", - (unsigned)i, UA_StatusCode_name(res)); - } -} - -#ifdef UA_ENABLE_PUBSUB_MONITORING - -static void -UA_DataSetReader_checkMessageReceiveTimeout(UA_Server *server, - UA_DataSetReader *dsr) { - UA_assert(server != 0); - UA_assert(dsr != 0); - - /* If previous reader state was error (because we haven't received messages - * and ran into timeout) we should set the state back to operational */ - if(dsr->state == UA_PUBSUBSTATE_ERROR) { - UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - } - - /* Stop message receive timeout timer */ - UA_StatusCode res; - if(dsr->msgRcvTimeoutTimerRunning) { - res = server->config.pubSubConfig.monitoringInterface. - stopMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); - if(res == UA_STATUSCODE_GOOD) { - dsr->msgRcvTimeoutTimerRunning = false; - } else { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "DataSetReader '%.*s': stop receive timeout timer failed", - (int)dsr->config.name.length, dsr->config.name.data); - UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - } - } - - /* Start message receive timeout timer */ - res = server->config.pubSubConfig.monitoringInterface. - startMonitoring(server, dsr->identifier, UA_PUBSUB_COMPONENT_DATASETREADER, - UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT, dsr); - if(res == UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG_READER(server->config.logging, dsr, - "Info: DataSetReader '%.*s': start receive timeout timer", - (int)dsr->config.name.length, dsr->config.name.data); - dsr->msgRcvTimeoutTimerRunning = true; - } else { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "Starting Message Receive Timeout timer failed."); - UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADINTERNALERROR); - } -} - -/* Timeout callback for DataSetReader MessageReceiveTimeout handling */ -static void -UA_DataSetReader_handleMessageReceiveTimeout(UA_Server *server, UA_DataSetReader *dsr) { - UA_assert(server); - UA_assert(dsr); - - if(dsr->componentType != UA_PUBSUB_COMPONENT_DATASETREADER) { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "UA_DataSetReader_handleMessageReceiveTimeout(): " - "input param is not of type DataSetReader"); - return; - } - - UA_LOG_DEBUG_READER(server->config.logging, dsr, - "UA_DataSetReader_handleMessageReceiveTimeout(): " - "MessageReceiveTimeout occurred at DataSetReader " - "'%.*s': MessageReceiveTimeout = %f Timer Id = %u ", - (int)dsr->config.name.length, dsr->config.name.data, - dsr->config.messageReceiveTimeout, - (UA_UInt32) dsr->msgRcvTimeoutTimerId); - - UA_StatusCode res = - UA_DataSetReader_setPubSubState(server, dsr, UA_PUBSUBSTATE_ERROR, - UA_STATUSCODE_BADTIMEOUT); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READER(server->config.logging, dsr, - "UA_DataSetReader_handleMessageReceiveTimeout(): " - "setting pubsub state failed"); - } -} -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - -static void -processMessageWithReader(UA_Server *server, UA_ReaderGroup *readerGroup, - UA_DataSetReader *reader, UA_NetworkMessage *msg) { - UA_Byte totalDataSets = 1; - if(msg->payloadHeaderEnabled) - totalDataSets = msg->payloadHeader.dataSetPayloadHeader.count; - - for(UA_Byte i = 0; i < totalDataSets; i++) { - /* Map dataset reader to dataset message since multiple dataset reader - * may read this network message. Otherwise the dataset message may be - * written to the wrong dataset reader. */ - if(!msg->payloadHeaderEnabled || - (reader->config.dataSetWriterId == msg->payloadHeader.dataSetPayloadHeader.dataSetWriterIds[i])) { - UA_LOG_DEBUG_READER(server->config.logging, reader, - "Process Msg with DataSetReader!"); - UA_DataSetReader_process(server, readerGroup, reader, - &msg->payload.dataSetPayload.dataSetMessages[i]); - } - } -} - -UA_Boolean -UA_ReaderGroup_process(UA_Server *server, UA_ReaderGroup *readerGroup, - UA_NetworkMessage *nm) { - UA_Boolean processed = false; - UA_DataSetReader *reader; - - /* Received a (first) message for the ReaderGroup. - * Transition from PreOperational to Operational. */ - if(readerGroup->state == UA_PUBSUBSTATE_PREOPERATIONAL) { - readerGroup->state = UA_PUBSUBSTATE_OPERATIONAL; - UA_ServerConfig *config = &server->config; - if(config->pubSubConfig.stateChangeCallback != 0) { - config->pubSubConfig.stateChangeCallback(server, &readerGroup->identifier, - readerGroup->state, UA_STATUSCODE_GOOD); - } - } - LIST_FOREACH(reader, &readerGroup->readers, listEntry) { - UA_StatusCode res = - UA_DataSetReader_checkIdentifier(server, nm, reader, readerGroup->config); - if(res != UA_STATUSCODE_GOOD) - continue; - processed = true; - processMessageWithReader(server, readerGroup, reader, nm); - } - return processed; -} - -/******************************************************************************** - * Functionality related to decoding, decrypting and processing network messages - * as a subscriber - ********************************************************************************/ - -static UA_StatusCode -prepareOffsetBuffer(UA_Server *server, UA_DataSetReader *reader, - UA_ByteString *buf, size_t *pos) { - UA_NetworkMessage *nm = (UA_NetworkMessage*)UA_calloc(1, sizeof(UA_NetworkMessage)); - if(!nm) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Decode using the non-rt decoding */ - UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(buf, pos, nm); - if(rv != UA_STATUSCODE_GOOD) { - UA_NetworkMessage_clear(nm); - UA_free(nm); - return rv; - } - rv |= UA_NetworkMessage_decodePayload(buf, pos, nm, server->config.customDataTypes, &reader->config.dataSetMetaData); - rv |= UA_NetworkMessage_decodeFooters(buf, pos, nm); - if(rv != UA_STATUSCODE_GOOD) { - UA_NetworkMessage_clear(nm); - UA_free(nm); - return rv; - } - - /* Compute and store the offsets necessary to decode */ - size_t nmSize = UA_NetworkMessage_calcSizeBinary(nm, &reader->bufferedMessage); - if(nmSize == 0) { - UA_NetworkMessage_clear(nm); - UA_free(nm); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Set the offset buffer in the reader */ - reader->bufferedMessage.nm = nm; - - return rv; -} - -/*******************************/ -/* Realtime Message Processing */ -/*******************************/ - -UA_Boolean -UA_ReaderGroup_decodeAndProcessRT(UA_Server *server, UA_ReaderGroup *readerGroup, - UA_ByteString *buf) { -#ifdef UA_ENABLE_PUBSUB_BUFMALLOC - useMembufAlloc(); -#endif - - size_t i = 0; - size_t pos = 0; - UA_Boolean match = false; - UA_DataSetReader *dsr; - UA_STACKARRAY(UA_Boolean, matches, readerGroup->readersCount); -#ifdef __clang_analyzer__ - memset(matches, 0, sizeof(UA_Boolean)* readerGroup->readersCount); /* Pacify warning */ -#endif - - /* Decode headers necessary for checking identifier. This can use malloc. - * So enable membufAlloc if you need RT timings. */ - UA_NetworkMessage currentNetworkMessage; - memset(¤tNetworkMessage, 0, sizeof(UA_NetworkMessage)); - UA_StatusCode rv = UA_NetworkMessage_decodeHeaders(buf, &pos, ¤tNetworkMessage); - if(rv != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, - "PubSub receive. decoding headers failed"); - goto error; - } - - /* Check if the message is intended for each reader individually */ - LIST_FOREACH(dsr, &readerGroup->readers, listEntry) { - rv = UA_DataSetReader_checkIdentifier(server, ¤tNetworkMessage, dsr, readerGroup->config); - matches[i] = (rv == UA_STATUSCODE_GOOD); - i++; - if(rv != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_READER(server->config.logging, dsr, - "PubSub receive. Message intended for a different reader."); - continue; - } - match = true; - } - if(!match) - goto error; - UA_assert(i == readerGroup->readersCount); - - /* Decrypt the message once for all readers */ -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - /* Keep pos to right after the header */ - rv = verifyAndDecryptNetworkMessage(server->config.logging, buf, &pos, - ¤tNetworkMessage, readerGroup); - if(rv != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, - "Subscribe failed. verify and decrypt network " - "message failed."); - goto error; - } -#endif - - /* Reset back to the normal malloc before processing the message. - * Any changes from here may be persisted longer than this. - * The userland (from callbacks) might rely on that. */ - UA_NetworkMessage_clear(¤tNetworkMessage); -#ifdef UA_ENABLE_PUBSUB_BUFMALLOC - useNormalAlloc(); -#endif - - /* Decode message for every reader. If this fails for one reader, abort overall. */ - i = 0; - LIST_FOREACH(dsr, &readerGroup->readers, listEntry) { - UA_assert(i < readerGroup->readersCount); - UA_Boolean match = matches[i]; - i++; - if(!match) - continue; - - pos = 0; /* reset */ - if(!dsr->bufferedMessage.nm) { - /* This is the first message being received for the RT fastpath. - * Prepare the offset buffer and set operational. */ - rv = prepareOffsetBuffer(server, dsr, buf, &pos); - } else { - /* Decode with offset information and update the networkMessage */ - rv = UA_NetworkMessage_updateBufferedNwMessage(&dsr->bufferedMessage, buf, &pos); - } - if(rv != UA_STATUSCODE_GOOD) { - UA_LOG_INFO_READER(server->config.logging, dsr, - "PubSub decoding failed. Could not decode with " - "status code %s.", UA_StatusCode_name(rv)); - return false; - } else if (readerGroup->state == UA_PUBSUBSTATE_PREOPERATIONAL) { - /* If pre-operational, set to operational after the first message was - * processed */ - readerGroup->state = UA_PUBSUBSTATE_OPERATIONAL; - UA_ServerConfig *config = &server->config; - if(config->pubSubConfig.stateChangeCallback != 0) { - config->pubSubConfig.stateChangeCallback(server, &readerGroup->identifier, - readerGroup->state, UA_STATUSCODE_GOOD); - } - } - } - - /* Process the decoded messages */ - i = 0; - LIST_FOREACH(dsr, &readerGroup->readers, listEntry) { - UA_assert(i < readerGroup->readersCount); - UA_Boolean match = matches[i]; - i++; - if(!match) - continue; - UA_DataSetReader_process(server, readerGroup, dsr, - dsr->bufferedMessage.nm->payload.dataSetPayload.dataSetMessages); - } - - return match; - - error: - UA_NetworkMessage_clear(¤tNetworkMessage); -#ifdef UA_ENABLE_PUBSUB_BUFMALLOC - useNormalAlloc(); -#endif - return false; -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_readergroup.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2018 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2019 Kalycito Infotech Private Limited - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - * - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -#endif - -UA_ReaderGroup * -UA_ReaderGroup_findRGbyId(UA_Server *server, UA_NodeId identifier) { - UA_PubSubConnection *pubSubConnection; - TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ - UA_ReaderGroup* readerGroup = NULL; - LIST_FOREACH(readerGroup, &pubSubConnection->readerGroups, listEntry) { - if(UA_NodeId_equal(&identifier, &readerGroup->identifier)) - return readerGroup; - } - } - return NULL; -} - -UA_DataSetReader * -UA_ReaderGroup_findDSRbyId(UA_Server *server, UA_NodeId identifier) { - UA_PubSubConnection *pubSubConnection; - TAILQ_FOREACH(pubSubConnection, &server->pubSubManager.connections, listEntry){ - UA_ReaderGroup* readerGroup = NULL; - LIST_FOREACH(readerGroup, &pubSubConnection->readerGroups, listEntry) { - UA_DataSetReader *tmpReader; - LIST_FOREACH(tmpReader, &readerGroup->readers, listEntry) { - if(UA_NodeId_equal(&tmpReader->identifier, &identifier)) - return tmpReader; - } - } - } - return NULL; -} - -/* ReaderGroup Config Handling */ - -UA_StatusCode -UA_ReaderGroupConfig_copy(const UA_ReaderGroupConfig *src, - UA_ReaderGroupConfig *dst) { - memcpy(dst, src, sizeof(UA_ReaderGroupConfig)); - UA_StatusCode res = UA_STATUSCODE_GOOD; - res |= UA_String_copy(&src->name, &dst->name); - res |= UA_KeyValueMap_copy(&src->groupProperties, &dst->groupProperties); - res |= UA_ExtensionObject_copy(&src->transportSettings, &dst->transportSettings); -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - res = UA_String_copy(&src->securityGroupId, &dst->securityGroupId); -#endif - if(res != UA_STATUSCODE_GOOD) - UA_ReaderGroupConfig_clear(dst); - return res; -} - -void -UA_ReaderGroupConfig_clear(UA_ReaderGroupConfig *readerGroupConfig) { - UA_String_clear(&readerGroupConfig->name); - UA_KeyValueMap_clear(&readerGroupConfig->groupProperties); - UA_ExtensionObject_clear(&readerGroupConfig->transportSettings); -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - UA_String_clear(&readerGroupConfig->securityGroupId); -#endif -} - -/* ReaderGroup Lifecycle */ - -UA_StatusCode -UA_ReaderGroup_create(UA_Server *server, UA_NodeId connectionId, - const UA_ReaderGroupConfig *rgc, - UA_NodeId *readerGroupId) { - /* Check for valid readergroup configuration */ - if(!rgc) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Search the connection by the given connectionIdentifier */ - UA_PubSubConnection *connection = - UA_PubSubConnection_findConnectionbyId(server, connectionId); - if(!connection) - return UA_STATUSCODE_BADNOTFOUND; - - if(connection->configurationFreezeCounter > 0) { - UA_LOG_WARNING_CONNECTION(server->config.logging, connection, - "Adding ReaderGroup failed. " - "Connection configuration is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* Allocate memory for new reader group and add settings */ - UA_ReaderGroup *newGroup = (UA_ReaderGroup *)UA_calloc(1, sizeof(UA_ReaderGroup)); - if(!newGroup) - return UA_STATUSCODE_BADOUTOFMEMORY; - - newGroup->componentType = UA_PUBSUB_COMPONENT_READERGROUP; - - /* Deep copy of the config */ - UA_StatusCode retval = UA_ReaderGroupConfig_copy(rgc, &newGroup->config); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(newGroup); - return retval; - } - - newGroup->linkedConnection = connection; - - /* Add to the connection */ - LIST_INSERT_HEAD(&connection->readerGroups, newGroup, listEntry); - connection->readerGroupsSize++; - -#ifdef UA_ENABLE_PUBSUB_SKS - if(rgc->securityMode == UA_MESSAGESECURITYMODE_SIGN || - rgc->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - if(!UA_String_isEmpty(&rgc->securityGroupId) && rgc->securityPolicy) { - /* Does the key storage already exist? */ - newGroup->keyStorage = - UA_PubSubKeyStorage_findKeyStorage(server, rgc->securityGroupId); - - if(!newGroup->keyStorage) { - /* Create a new key storage */ - newGroup->keyStorage = (UA_PubSubKeyStorage *) - UA_calloc(1, sizeof(UA_PubSubKeyStorage)); - if(!newGroup->keyStorage) - return UA_STATUSCODE_BADOUTOFMEMORY; - retval = UA_PubSubKeyStorage_init(server, newGroup->keyStorage, - &rgc->securityGroupId, - rgc->securityPolicy, 0, 0); - if(retval != UA_STATUSCODE_GOOD) { - UA_ReaderGroupConfig_clear(&newGroup->config); - UA_free(newGroup); - return retval; - } - } - - /* Increase the ref count */ - newGroup->keyStorage->referenceCount++; - } - } -#endif - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - retval |= addReaderGroupRepresentation(server, newGroup); -#else - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, - &newGroup->identifier); -#endif - - - if(readerGroupId) - UA_NodeId_copy(&newGroup->identifier, readerGroupId); - - /* Trigger the connection to open a connection */ - UA_PubSubConnection_setPubSubState(server, connection, - connection->state, UA_STATUSCODE_GOOD); - - /* If the connection is operational, we still reset the state. We might open - * a different (recv) connection internally when a readergroup is - * present. */ - if(connection->state == UA_PUBSUBSTATE_OPERATIONAL || - connection->state == UA_PUBSUBSTATE_PREOPERATIONAL) - UA_PubSubConnection_setPubSubState(server, connection, - UA_PUBSUBSTATE_OPERATIONAL, UA_STATUSCODE_GOOD); - - return retval; -} - -UA_StatusCode -UA_Server_addReaderGroup(UA_Server *server, UA_NodeId connectionIdentifier, - const UA_ReaderGroupConfig *readerGroupConfig, - UA_NodeId *readerGroupIdentifier) { - lockServer(server); - UA_StatusCode res = - UA_ReaderGroup_create(server, connectionIdentifier, - readerGroupConfig, readerGroupIdentifier); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_ReaderGroup_remove(UA_Server *server, UA_ReaderGroup *rg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(rg->configurationFrozen) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Remove ReaderGroup failed. " - "Subscriber configuration is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - UA_PubSubConnection *connection = rg->linkedConnection; - UA_assert(connection); - if(connection->configurationFreezeCounter > 0) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Deleting the ReaderGroup failed. " - "PubSubConnection is frozen."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - /* Disable (and disconnect) and set the deleteFlag. This prevents a - * reconnect and triggers the deletion when the last open socket is - * closed. */ - rg->deleteFlag = true; - UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); - - UA_DataSetReader *dsr, *tmp_dsr; - LIST_FOREACH_SAFE(dsr, &rg->readers, listEntry, tmp_dsr) { - UA_DataSetReader_remove(server, dsr); - } - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - if(rg->config.securityPolicy && rg->securityPolicyContext) { - rg->config.securityPolicy->deleteContext(rg->securityPolicyContext); - rg->securityPolicyContext = NULL; - } -#endif - -#ifdef UA_ENABLE_PUBSUB_SKS - if(rg->keyStorage) { - UA_PubSubKeyStorage_detachKeyStorage(server, rg->keyStorage); - rg->keyStorage = NULL; - } -#endif - - if(rg->recvChannelsSize == 0) { - /* Unlink from the connection */ - LIST_REMOVE(rg, listEntry); - connection->readerGroupsSize--; - rg->linkedConnection = NULL; - - /* Actually remove the ReaderGroup */ -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, rg->identifier, true); -#endif - UA_ReaderGroupConfig_clear(&rg->config); - UA_NodeId_clear(&rg->identifier); - UA_free(rg); - } - - /* Update the connection state */ - UA_PubSubConnection_setPubSubState(server, connection, connection->state, - UA_STATUSCODE_GOOD); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_removeReaderGroup(UA_Server *server, UA_NodeId groupIdentifier) { - lockServer(server); - UA_ReaderGroup* readerGroup = - UA_ReaderGroup_findRGbyId(server, groupIdentifier); - if(!readerGroup) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_ReaderGroup_remove(server, readerGroup); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_ReaderGroup_getConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, - UA_ReaderGroupConfig *config) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - lockServer(server); - - /* Identify the readergroup through the readerGroupIdentifier */ - UA_ReaderGroup *currentReaderGroup = - UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); - if(!currentReaderGroup) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - - UA_StatusCode ret = - UA_ReaderGroupConfig_copy(¤tReaderGroup->config, config); - - unlockServer(server); - return ret; -} - -UA_StatusCode -UA_Server_ReaderGroup_getState(UA_Server *server, UA_NodeId readerGroupIdentifier, - UA_PubSubState *state) { - if((server == NULL) || (state == NULL)) - return UA_STATUSCODE_BADINVALIDARGUMENT; - lockServer(server); - UA_StatusCode ret = UA_STATUSCODE_BADNOTFOUND; - UA_ReaderGroup *rg = - UA_ReaderGroup_findRGbyId(server, readerGroupIdentifier); - if(rg) { - *state = rg->state; - ret = UA_STATUSCODE_GOOD; - } - unlockServer(server); - return ret; -} - -/* ReaderGroup State */ - -static UA_StatusCode -UA_ReaderGroup_setPubSubState_disable(UA_Server *server, - UA_ReaderGroup *rg, - UA_StatusCode cause) { - /* Disconnect if not already done */ - UA_ReaderGroup_disconnect(rg); - - UA_DataSetReader *dataSetReader; - switch(rg->state) { - case UA_PUBSUBSTATE_DISABLED: - return UA_STATUSCODE_GOOD; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - case UA_PUBSUBSTATE_PREOPERATIONAL: - LIST_FOREACH(dataSetReader, &rg->readers, listEntry) { - UA_DataSetReader_setPubSubState(server, dataSetReader, - UA_PUBSUBSTATE_DISABLED, cause); - } - rg->state = UA_PUBSUBSTATE_DISABLED; - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Unknown PubSub state!"); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ReaderGroup_setPubSubState_paused(UA_Server *server, - UA_ReaderGroup *rg, - UA_StatusCode cause) { - UA_LOG_DEBUG_READERGROUP(server->config.logging, rg, - "PubSub state paused is unsupported at the moment!"); - (void)cause; - switch(rg->state) { - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - return UA_STATUSCODE_GOOD; - case UA_PUBSUBSTATE_OPERATIONAL: - case UA_PUBSUBSTATE_PREOPERATIONAL: - break; - case UA_PUBSUBSTATE_ERROR: - break; - default: - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, "Unknown PubSub state!"); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_BADNOTSUPPORTED; -} - -static UA_StatusCode -UA_ReaderGroup_setPubSubState_operational(UA_Server *server, - UA_ReaderGroup *rg, - UA_StatusCode cause) { - UA_PubSubConnection *pubSubConnection = rg->linkedConnection; - UA_StatusCode ret = - UA_PubSubConnection_setPubSubState(server, pubSubConnection, - UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - if(ret != UA_STATUSCODE_GOOD || - (pubSubConnection->state != UA_PUBSUBSTATE_OPERATIONAL && - pubSubConnection->state != UA_PUBSUBSTATE_PREOPERATIONAL)) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Connection not operational"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Connect if the ReaderGroup has dedicated connections */ - if(rg->recvChannelsSize == 0) - ret = UA_ReaderGroup_connect(server, rg, false); - if(ret != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_READERGROUP(server->config.logging, rg, "Could not connect"); - UA_PubSubConnection_setPubSubState(server, pubSubConnection, - UA_PUBSUBSTATE_ERROR, ret); - } - - /* Set to preoperational until the first message was received */ - if(rg->state != UA_PUBSUBSTATE_OPERATIONAL) - rg->state = UA_PUBSUBSTATE_PREOPERATIONAL; - - /* Set all readers operational */ - UA_DataSetReader *dsr; - LIST_FOREACH(dsr, &rg->readers, listEntry) { - UA_DataSetReader_setPubSubState(server, dsr, - UA_PUBSUBSTATE_OPERATIONAL, cause); - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ReaderGroup_setPubSubState_error(UA_Server *server, - UA_ReaderGroup *rg, - UA_StatusCode cause) { - UA_DataSetReader *dataSetReader; - switch(rg->state) { - case UA_PUBSUBSTATE_DISABLED: - break; - case UA_PUBSUBSTATE_PAUSED: - break; - case UA_PUBSUBSTATE_OPERATIONAL: - case UA_PUBSUBSTATE_PREOPERATIONAL: - LIST_FOREACH(dataSetReader, &rg->readers, listEntry){ - UA_DataSetReader_setPubSubState(server, dataSetReader, UA_PUBSUBSTATE_ERROR, - cause); - } - break; - case UA_PUBSUBSTATE_ERROR: - return UA_STATUSCODE_GOOD; - default: - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, "Unknown PubSub state!"); - return UA_STATUSCODE_BADINTERNALERROR; - } - rg->state = UA_PUBSUBSTATE_ERROR; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_ReaderGroup_setPubSubState(UA_Server *server, - UA_ReaderGroup *readerGroup, - UA_PubSubState state, - UA_StatusCode cause) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(readerGroup->deleteFlag && state != UA_PUBSUBSTATE_DISABLED) { - UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, - "The ReaderGroup is being deleted. Can only be disabled."); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_StatusCode ret = UA_STATUSCODE_BADINVALIDARGUMENT; - UA_PubSubState oldState = readerGroup->state; - switch(state) { - case UA_PUBSUBSTATE_DISABLED: - ret = UA_ReaderGroup_setPubSubState_disable(server, readerGroup, cause); - break; - case UA_PUBSUBSTATE_PAUSED: - ret = UA_ReaderGroup_setPubSubState_paused(server, readerGroup, cause); - break; - case UA_PUBSUBSTATE_OPERATIONAL: - ret = UA_ReaderGroup_setPubSubState_operational(server, readerGroup, cause); - break; - case UA_PUBSUBSTATE_ERROR: - ret = UA_ReaderGroup_setPubSubState_error(server, readerGroup, cause); - break; - default: - UA_LOG_WARNING_READERGROUP(server->config.logging, readerGroup, - "Received unknown PubSub state!"); - break; - } - - /* inform application about state change */ - if(readerGroup->state != oldState) { - UA_ServerConfig *pConfig = &server->config; - if(pConfig->pubSubConfig.stateChangeCallback != 0) { - pConfig->pubSubConfig. - stateChangeCallback(server, &readerGroup->identifier, - readerGroup->state, cause); - } - } - return ret; -} - -UA_StatusCode -UA_Server_setReaderGroupOperational(UA_Server *server, - const UA_NodeId readerGroupId) { - lockServer(server); - UA_StatusCode ret = UA_STATUSCODE_BADNOTFOUND; - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); - if(rg) { -#ifdef UA_ENABLE_PUBSUB_SKS - if(rg->keyStorage && rg->keyStorage->currentItem) { - UA_StatusCode retval = UA_PubSubKeyStorage_activateKeyToChannelContext( - server, rg->identifier, rg->config.securityGroupId); - if(retval != UA_STATUSCODE_GOOD) { - unlockServer(server); - return retval; - } - } -#endif - ret = UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - } - unlockServer(server); - return ret; -} - -UA_StatusCode -UA_Server_setReaderGroupDisabled(UA_Server *server, - const UA_NodeId readerGroupId) { - lockServer(server); - UA_StatusCode ret = UA_STATUSCODE_BADNOTFOUND; - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); - if(rg) - ret = UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADRESOURCEUNAVAILABLE); - unlockServer(server); - return ret; -} - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION -UA_StatusCode -setReaderGroupEncryptionKeys(UA_Server *server, const UA_NodeId readerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce) { - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroup); - UA_CHECK_MEM(rg, return UA_STATUSCODE_BADNOTFOUND); - if(rg->config.encodingMimeType == UA_PUBSUB_ENCODING_JSON) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "JSON encoding is enabled. The message security is " - "only defined for the UADP message mapping."); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(!rg->config.securityPolicy) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "No SecurityPolicy configured for the ReaderGroup"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - if(securityTokenId != rg->securityTokenId) { - rg->securityTokenId = securityTokenId; - rg->nonceSequenceNumber = 1; - } - - /* Create a new context */ - if(!rg->securityPolicyContext) { - return rg->config.securityPolicy-> - newContext(rg->config.securityPolicy->policyContext, - &signingKey, &encryptingKey, &keyNonce, - &rg->securityPolicyContext); - } - - /* Update the context */ - return rg->config.securityPolicy-> - setSecurityKeys(rg->securityPolicyContext, &signingKey, - &encryptingKey, &keyNonce); -} - -UA_StatusCode -UA_Server_setReaderGroupEncryptionKeys(UA_Server *server, - const UA_NodeId readerGroup, - UA_UInt32 securityTokenId, - const UA_ByteString signingKey, - const UA_ByteString encryptingKey, - const UA_ByteString keyNonce) { - lockServer(server); - UA_StatusCode res = setReaderGroupEncryptionKeys(server, readerGroup, - securityTokenId, signingKey, - encryptingKey, keyNonce); - unlockServer(server); - return res; -} -#endif - -/* Freezing of the configuration */ - -UA_StatusCode -UA_ReaderGroup_freezeConfiguration(UA_Server *server, UA_ReaderGroup *rg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(rg->configurationFrozen) - return UA_STATUSCODE_GOOD; - - /* PubSubConnection freezeCounter++ */ - UA_PubSubConnection *pubSubConnection = rg->linkedConnection; - pubSubConnection->configurationFreezeCounter++; - - /* ReaderGroup freeze */ - /* TODO: Clarify on the freeze functionality in multiple DSR, multiple - * networkMessage conf in a RG */ - rg->configurationFrozen = true; - - /* DataSetReader freeze */ - UA_DataSetReader *dsr; - UA_UInt16 dsrCount = 0; - LIST_FOREACH(dsr, &rg->readers, listEntry){ - dsr->configurationFrozen = true; - dsrCount++; - /* TODO: Configuration frozen for subscribedDataSet once - * UA_Server_DataSetReader_addTargetVariables API modified to support - * adding target variable one by one or in a group stored in a list. */ - } - - /* Not rt, we don't have to adjust anything */ - if((rg->config.rtLevel & UA_PUBSUB_RT_FIXED_SIZE) == 0) - return UA_STATUSCODE_GOOD; - - if(dsrCount > 1) { - UA_LOG_WARNING_READERGROUP(server->config.logging, rg, - "Multiple DSR in a readerGroup not supported in RT " - "fixed size configuration"); - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - - dsr = LIST_FIRST(&rg->readers); - - /* Support only to UADP encoding */ - if(dsr->config.messageSettings.content.decoded.type != - &UA_TYPES[UA_TYPES_UADPDATASETREADERMESSAGEDATATYPE]) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "PubSub-RT configuration fail: Non-RT capable encoding."); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - - /* Don't support string PublisherId for the fast-path (at this time) */ - if(!dsr->config.publisherId.type->pointerFree) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "PubSub-RT configuration fail: String PublisherId"); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - - size_t fieldsSize = dsr->config.dataSetMetaData.fieldsSize; - for(size_t i = 0; i < fieldsSize; i++) { - /* TODO: Use the datasource from the node */ - /* UA_FieldTargetVariable *tv = */ - /* &dsr->config.subscribedDataSet.subscribedDataSetTarget.targetVariables[i]; */ - /* const UA_VariableNode *rtNode = (const UA_VariableNode *) */ - /* UA_NODESTORE_GET(server, &tv->targetVariable.targetNodeId); */ - /* if(!rtNode || */ - /* rtNode->valueBackend.backendType != UA_VALUEBACKENDTYPE_EXTERNAL) { */ - /* UA_LOG_WARNING_READER(server->config.logging, dsr, */ - /* "PubSub-RT configuration fail: PDS contains field " */ - /* "without external data source."); */ - /* UA_NODESTORE_RELEASE(server, (const UA_Node *) rtNode); */ - /* return UA_STATUSCODE_BADNOTSUPPORTED; */ - /* } */ - - /* /\* Set the external data source in the tv *\/ */ - /* tv->externalDataValue = rtNode->valueBackend.backend.external.value; */ - - /* UA_NODESTORE_RELEASE(server, (const UA_Node *) rtNode); */ - - UA_FieldMetaData *field = &dsr->config.dataSetMetaData.fields[i]; - if((UA_NodeId_equal(&field->dataType, &UA_TYPES[UA_TYPES_STRING].typeId) || - UA_NodeId_equal(&field->dataType, &UA_TYPES[UA_TYPES_BYTESTRING].typeId)) && - field->maxStringLength == 0) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "PubSub-RT configuration fail: " - "PDS contains String/ByteString with dynamic length."); - return UA_STATUSCODE_BADNOTSUPPORTED; - } else if(!UA_DataType_isNumeric(UA_findDataType(&field->dataType)) && - !UA_NodeId_equal(&field->dataType, &UA_TYPES[UA_TYPES_BOOLEAN].typeId)) { - UA_LOG_WARNING_READER(server->config.logging, dsr, - "PubSub-RT configuration fail: " - "PDS contains variable with dynamic size."); - return UA_STATUSCODE_BADNOTSUPPORTED; - } - } - - /* Reset the OffsetBuffer. The OffsetBuffer for a frozen configuration is - * generated when the first message is received. So we know the exact - * settings which headers are present, etc. Until then the ReaderGroup is - * "PreOperational". */ - UA_NetworkMessageOffsetBuffer_clear(&dsr->bufferedMessage); - - /* Set the current state again. This can move the state from Operational to - * PreOperational. */ - return UA_ReaderGroup_setPubSubState(server, rg, rg->state, UA_STATUSCODE_GOOD); -} - -UA_StatusCode -UA_Server_freezeReaderGroupConfiguration(UA_Server *server, - const UA_NodeId readerGroupId) { - lockServer(server); - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); - if(!rg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_ReaderGroup_freezeConfiguration(server, rg); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_ReaderGroup_unfreezeConfiguration(UA_Server *server, UA_ReaderGroup *rg) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Already unfrozen */ - if(!rg->configurationFrozen) - return UA_STATUSCODE_GOOD; - - /* PubSubConnection freezeCounter-- */ - UA_PubSubConnection *pubSubConnection = rg->linkedConnection; - pubSubConnection->configurationFreezeCounter--; - - /* ReaderGroup unfreeze */ - rg->configurationFrozen = false; - - /* DataSetReader unfreeze */ - UA_DataSetReader *dataSetReader; - LIST_FOREACH(dataSetReader, &rg->readers, listEntry) { - dataSetReader->configurationFrozen = false; - UA_NetworkMessageOffsetBuffer_clear(&dataSetReader->bufferedMessage); - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_unfreezeReaderGroupConfiguration(UA_Server *server, - const UA_NodeId readerGroupId) { - lockServer(server); - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); - if(!rg) { - unlockServer(server); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_StatusCode res = UA_ReaderGroup_unfreezeConfiguration(server, rg); - unlockServer(server); - return res; -} - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_manager.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2018 Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - * Copyright (c) 2022 Siemens AG (Author: Thomas Fischer) - * Copyright (c) 2022 Fraunhofer IOSB (Author: Noel Graf) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - - -#ifdef UA_ENABLE_PUBSUB /* conditional compilation */ - -#ifdef UA_ENABLE_PUBSUB_SKS -#endif - -#define UA_DATETIMESTAMP_2000 125911584000000000 -#define UA_RESERVEID_FIRST_ID 0x8000 - -static void -UA_PubSubManager_addTopic(UA_PubSubManager *pubSubManager, UA_TopicAssign *topicAssign) { - TAILQ_INSERT_TAIL(&pubSubManager->topicAssign, topicAssign, listEntry); - pubSubManager->topicAssignSize++; -} - -static UA_TopicAssign * -UA_TopicAssign_new(UA_ReaderGroup *readerGroup, - UA_String topic, const UA_Logger *logger) { - UA_TopicAssign *topicAssign = (UA_TopicAssign *) - UA_calloc(1, sizeof(UA_TopicAssign)); - if(!topicAssign) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, - "PubSub TopicAssign creation failed. Out of Memory."); - return NULL; - } - topicAssign->rgIdentifier = readerGroup; - topicAssign->topic = topic; - return topicAssign; -} - -UA_StatusCode -UA_PubSubManager_addPubSubTopicAssign(UA_Server *server, UA_ReaderGroup *readerGroup, UA_String topic) { - UA_PubSubManager *pubSubManager = &server->pubSubManager; - UA_TopicAssign *topicAssign = UA_TopicAssign_new(readerGroup, topic, server->config.logging); - UA_PubSubManager_addTopic(pubSubManager, topicAssign); - return UA_STATUSCODE_GOOD; -} - -static enum ZIP_CMP -cmpReserveId(const void *a, const void *b) { - const UA_ReserveId *aa = (const UA_ReserveId*)a; - const UA_ReserveId *bb = (const UA_ReserveId*)b; - if(aa->id != bb->id) - return (aa->id < bb->id) ? ZIP_CMP_LESS : ZIP_CMP_MORE; - if(aa->reserveIdType != bb->reserveIdType) - return (aa->reserveIdType < bb->reserveIdType) ? ZIP_CMP_LESS : ZIP_CMP_MORE; - return (enum ZIP_CMP)UA_order(&aa->transportProfileUri, - &bb->transportProfileUri, &UA_TYPES[UA_TYPES_STRING]); -} - -ZIP_FUNCTIONS(UA_ReserveIdTree, UA_ReserveId, treeEntry, UA_ReserveId, id, cmpReserveId) - -static UA_ReserveId * -UA_ReserveId_new(UA_Server *server, UA_UInt16 id, UA_String transportProfileUri, - UA_ReserveIdType reserveIdType, UA_NodeId sessionId) { - UA_ReserveId *reserveId = (UA_ReserveId *) - UA_calloc(1, sizeof(UA_ReserveId)); - if(!reserveId) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PubSub ReserveId creation failed. Out of Memory."); - return NULL; - } - reserveId->id = id; - reserveId->reserveIdType = reserveIdType; - UA_String_copy(&transportProfileUri, &reserveId->transportProfileUri); - reserveId->sessionId = sessionId; - - return reserveId; -} - -static UA_Boolean -UA_ReserveId_isFree(UA_Server *server, UA_UInt16 id, - UA_String transportProfileUri, UA_ReserveIdType reserveIdType) { - UA_PubSubManager *pubSubManager = &server->pubSubManager; - - /* Is the id already in use? */ - UA_ReserveId compare; - compare.id = id; - compare.reserveIdType = reserveIdType; - compare.transportProfileUri = transportProfileUri; - if(ZIP_FIND(UA_ReserveIdTree, &pubSubManager->reserveIds, &compare)) - return false; - - UA_PubSubConnection *tmpConnection; - TAILQ_FOREACH(tmpConnection, &server->pubSubManager.connections, listEntry) { - UA_WriterGroup *writerGroup; - LIST_FOREACH(writerGroup, &tmpConnection->writerGroups, listEntry) { - if(reserveIdType == UA_WRITER_GROUP) { - if(UA_String_equal(&tmpConnection->config.transportProfileUri, - &transportProfileUri) && - writerGroup->config.writerGroupId == id) - return false; - /* reserveIdType == UA_DATA_SET_WRITER */ - } else { - UA_DataSetWriter *currentWriter; - LIST_FOREACH(currentWriter, &writerGroup->writers, listEntry) { - if(UA_String_equal(&tmpConnection->config.transportProfileUri, - &transportProfileUri) && - currentWriter->config.dataSetWriterId == id) - return false; - } - } - } - } - return true; -} - -static UA_UInt16 -UA_ReserveId_createId(UA_Server *server, UA_NodeId sessionId, - UA_String transportProfileUri, UA_ReserveIdType reserveIdType) { - /* Total number of possible Ids */ - UA_UInt16 numberOfIds = 0x8000; - /* Contains next possible free Id */ - static UA_UInt16 next_id_writerGroup = UA_RESERVEID_FIRST_ID; - static UA_UInt16 next_id_writer = UA_RESERVEID_FIRST_ID; - UA_UInt16 next_id; - UA_Boolean is_free = false; - - if(reserveIdType == UA_WRITER_GROUP) - next_id = next_id_writerGroup; - else - next_id = next_id_writer; - - for(;numberOfIds > 0;numberOfIds--) { - if(next_id < UA_RESERVEID_FIRST_ID) - next_id = UA_RESERVEID_FIRST_ID; - is_free = UA_ReserveId_isFree(server, next_id, transportProfileUri, reserveIdType); - if(is_free) - break; - next_id++; - } - if(!is_free) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PubSub ReserveId creation failed. No free ID could be found."); - return 0; - } - - if(reserveIdType == UA_WRITER_GROUP) - next_id_writerGroup = (UA_UInt16)(next_id + 1); - else - next_id_writer = (UA_UInt16)(next_id + 1); - - UA_ReserveId *reserveId = - UA_ReserveId_new(server, next_id, transportProfileUri, reserveIdType, sessionId); - if(!reserveId) - return 0; - UA_PubSubManager *pubSubManager = &server->pubSubManager; - ZIP_INSERT(UA_ReserveIdTree, &pubSubManager->reserveIds, reserveId); - pubSubManager->reserveIdsSize++; - return next_id; -} - -static void * -removeReserveId(void *context, UA_ReserveId *elem) { - UA_String_clear(&elem->transportProfileUri); - UA_free(elem); - return NULL; -} - -struct RemoveInactiveReserveIdContext { - UA_Server *server; - UA_ReserveIdTree newTree; -}; - -/* Remove ReserveIds that are not attached to any session */ -static void * -removeInactiveReserveId(void *context, UA_ReserveId *elem) { - struct RemoveInactiveReserveIdContext *ctx = - (struct RemoveInactiveReserveIdContext*)context; - - if(UA_NodeId_equal(&ctx->server->adminSession.sessionId, &elem->sessionId)) - goto still_active; - - session_list_entry *session; - LIST_FOREACH(session, &ctx->server->sessions, pointers) { - if(UA_NodeId_equal(&session->session.sessionId, &elem->sessionId)) - goto still_active; - } - - ctx->server->pubSubManager.reserveIdsSize--; - UA_String_clear(&elem->transportProfileUri); - UA_free(elem); - return NULL; - - still_active: - ZIP_INSERT(UA_ReserveIdTree, &ctx->newTree, elem); - return NULL; -} - -void -UA_PubSubManager_freeIds(UA_Server *server) { - struct RemoveInactiveReserveIdContext removeCtx; - removeCtx.server = server; - removeCtx.newTree.root = NULL; - ZIP_ITER(UA_ReserveIdTree, &server->pubSubManager.reserveIds, - removeInactiveReserveId, &removeCtx); - server->pubSubManager.reserveIds = removeCtx.newTree; -} - -UA_StatusCode -UA_PubSubManager_reserveIds(UA_Server *server, UA_NodeId sessionId, UA_UInt16 numRegWriterGroupIds, - UA_UInt16 numRegDataSetWriterIds, UA_String transportProfileUri, - UA_UInt16 **writerGroupIds, UA_UInt16 **dataSetWriterIds) { - UA_PubSubManager_freeIds(server); - - /* Check the validation of the transportProfileUri */ - UA_String profile_1 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-uadp"); - UA_String profile_2 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-json"); - UA_String profile_3 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-udp-uadp"); - if(!UA_String_equal(&transportProfileUri, &profile_1) && - !UA_String_equal(&transportProfileUri, &profile_2) && - !UA_String_equal(&transportProfileUri, &profile_3)) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "PubSub ReserveId creation failed. No valid transport profile uri."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - *writerGroupIds = (UA_UInt16*)UA_Array_new(numRegWriterGroupIds, &UA_TYPES[UA_TYPES_UINT16]); - *dataSetWriterIds = (UA_UInt16*)UA_Array_new(numRegDataSetWriterIds, &UA_TYPES[UA_TYPES_UINT16]); - - for(int i = 0; i < numRegWriterGroupIds; i++) { - (*writerGroupIds)[i] = - UA_ReserveId_createId(server, sessionId, transportProfileUri, UA_WRITER_GROUP); - } - for(int i = 0; i < numRegDataSetWriterIds; i++) { - (*dataSetWriterIds)[i] = - UA_ReserveId_createId(server, sessionId, transportProfileUri, UA_DATA_SET_WRITER); - } - return UA_STATUSCODE_GOOD; -} - -/* Calculate the time difference between current time and UTC (00:00) on January - * 1, 2000. */ -UA_UInt32 -UA_PubSubConfigurationVersionTimeDifference(void) { - UA_UInt32 timeDiffSince2000 = (UA_UInt32) (UA_DateTime_now() - UA_DATETIMESTAMP_2000); - return timeDiffSince2000; -} - -static UA_StatusCode -addStandaloneSubscribedDataSet(UA_Server *server, - const UA_StandaloneSubscribedDataSetConfig *sdsConfig, - UA_NodeId *sdsIdentifier) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(!sdsConfig){ - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "SubscribedDataSet creation failed. No config passed in."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StandaloneSubscribedDataSetConfig tmpSubscribedDataSetConfig; - memset(&tmpSubscribedDataSetConfig, 0, sizeof(UA_StandaloneSubscribedDataSetConfig)); - if(UA_StandaloneSubscribedDataSetConfig_copy(sdsConfig, &tmpSubscribedDataSetConfig) != UA_STATUSCODE_GOOD){ - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "SubscribedDataSet creation failed. Configuration copy failed."); - return UA_STATUSCODE_BADINTERNALERROR; - } - //create new PDS and add to UA_PubSubManager - UA_StandaloneSubscribedDataSet *newSubscribedDataSet = (UA_StandaloneSubscribedDataSet *) - UA_calloc(1, sizeof(UA_StandaloneSubscribedDataSet)); - if(!newSubscribedDataSet) { - UA_StandaloneSubscribedDataSetConfig_clear(&tmpSubscribedDataSetConfig); - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "SubscribedDataSet creation failed. Out of Memory."); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - newSubscribedDataSet->config = tmpSubscribedDataSetConfig; - newSubscribedDataSet->connectedReader = UA_NODEID_NULL; - - TAILQ_INSERT_TAIL(&server->pubSubManager.subscribedDataSets, newSubscribedDataSet, listEntry); - server->pubSubManager.subscribedDataSetsSize++; - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - addStandaloneSubscribedDataSetRepresentation(server, newSubscribedDataSet); -#else - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, &newSubscribedDataSet->identifier); -#endif - - if(sdsIdentifier) - UA_NodeId_copy(&newSubscribedDataSet->identifier, sdsIdentifier); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_addStandaloneSubscribedDataSet(UA_Server *server, - const UA_StandaloneSubscribedDataSetConfig *sdsConfig, - UA_NodeId *sdsIdentifier) { - lockServer(server); - UA_StatusCode res = addStandaloneSubscribedDataSet(server, sdsConfig, sdsIdentifier); - unlockServer(server); - return res; -} - -static UA_StatusCode -removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StandaloneSubscribedDataSet *subscribedDataSet = - UA_StandaloneSubscribedDataSet_findSDSbyId(server, sds); - if(!subscribedDataSet){ - return UA_STATUSCODE_BADNOTFOUND; - } - - //search for referenced readers. - UA_PubSubConnection *tmpConnectoin; - TAILQ_FOREACH(tmpConnectoin, &server->pubSubManager.connections, listEntry){ - UA_ReaderGroup *readerGroup; - LIST_FOREACH(readerGroup, &tmpConnectoin->readerGroups, listEntry){ - UA_DataSetReader *currentReader, *tmpReader; - LIST_FOREACH_SAFE(currentReader, &readerGroup->readers, listEntry, tmpReader){ - if(UA_NodeId_equal(¤tReader->identifier, &subscribedDataSet->connectedReader)){ - UA_DataSetReader_remove(server, currentReader); - goto done; - } - } - } - } - - done: - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, subscribedDataSet->identifier, true); -#endif - - UA_StandaloneSubscribedDataSet_clear(server, subscribedDataSet); - server->pubSubManager.subscribedDataSetsSize--; - - TAILQ_REMOVE(&server->pubSubManager.subscribedDataSets, subscribedDataSet, listEntry); - UA_free(subscribedDataSet); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds) { - lockServer(server); - UA_StatusCode res = removeStandaloneSubscribedDataSet(server, sds); - unlockServer(server); - return res; -} - -/* Generate a new unique NodeId. This NodeId will be used for the information - * model representation of PubSub entities. */ -#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL -void -UA_PubSubManager_generateUniqueNodeId(UA_PubSubManager *psm, UA_NodeId *nodeId) { - *nodeId = UA_NODEID_NUMERIC(1, ++psm->uniqueIdCount); -} -#endif - -UA_Guid -UA_PubSubManager_generateUniqueGuid(UA_Server *server) { - while(true) { - UA_NodeId testId = UA_NODEID_GUID(1, UA_Guid_random()); - const UA_Node *testNode = UA_NODESTORE_GET(server, &testId); - if(!testNode) - return testId.identifier.guid; - UA_NODESTORE_RELEASE(server, testNode); - } -} - -static UA_UInt64 -generateRandomUInt64(UA_Server *server) { - UA_UInt64 id = 0; - UA_Guid ident = UA_Guid_random(); - - id = id + ident.data1; - id = (id << 32) + ident.data2; - id = (id << 16) + ident.data3; - return id; -} - -/* Initialization the PubSub configuration. */ -void -UA_PubSubManager_init(UA_Server *server, UA_PubSubManager *pubSubManager) { - //TODO: Using the Mac address to generate the defaultPublisherId. - // In the future, this can be retrieved from the eventloop. - pubSubManager->defaultPublisherId = generateRandomUInt64(server); - - TAILQ_INIT(&pubSubManager->connections); - TAILQ_INIT(&pubSubManager->publishedDataSets); - TAILQ_INIT(&pubSubManager->subscribedDataSets); - TAILQ_INIT(&pubSubManager->topicAssign); - -#ifdef UA_ENABLE_PUBSUB_SKS - TAILQ_INIT(&pubSubManager->securityGroups); -#endif -} - -void -UA_PubSubManager_shutdown(UA_Server *server, UA_PubSubManager *pubSubManager) { - UA_PubSubConnection *tmpConnection; - TAILQ_FOREACH(tmpConnection, &server->pubSubManager.connections, listEntry) { - UA_PubSubConnection_setPubSubState(server, tmpConnection, - UA_PUBSUBSTATE_DISABLED, UA_STATUSCODE_GOOD); - } -} - -/* Delete the current PubSub configuration including all nested members. This - * action also delete the configured PubSub transport Layers. */ -void -UA_PubSubManager_delete(UA_Server *server, UA_PubSubManager *pubSubManager) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "PubSub cleanup was called."); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Remove Connections - this also remove WriterGroups and ReaderGroups */ - UA_PubSubConnection *tmpConnection1, *tmpConnection2; - TAILQ_FOREACH_SAFE(tmpConnection1, &server->pubSubManager.connections, - listEntry, tmpConnection2) { - UA_PubSubConnection_delete(server, tmpConnection1); - } - - /* Remove the DataSets */ - UA_PublishedDataSet *tmpPDS1, *tmpPDS2; - TAILQ_FOREACH_SAFE(tmpPDS1, &server->pubSubManager.publishedDataSets, - listEntry, tmpPDS2){ - UA_PublishedDataSet_remove(server, tmpPDS1); - } - - /* Remove the TopicAssigns */ - UA_TopicAssign *tmpTopicAssign1, *tmpTopicAssign2; - TAILQ_FOREACH_SAFE(tmpTopicAssign1, &server->pubSubManager.topicAssign, - listEntry, tmpTopicAssign2){ - server->pubSubManager.topicAssignSize--; - TAILQ_REMOVE(&server->pubSubManager.topicAssign, tmpTopicAssign1, listEntry); - UA_free(tmpTopicAssign1); - } - - /* Remove the ReserveIds*/ - ZIP_ITER(UA_ReserveIdTree, &server->pubSubManager.reserveIds, removeReserveId, NULL); - server->pubSubManager.reserveIdsSize = 0; - - /* Delete subscribed datasets */ - UA_StandaloneSubscribedDataSet *tmpSDS1, *tmpSDS2; - TAILQ_FOREACH_SAFE(tmpSDS1, &server->pubSubManager.subscribedDataSets, listEntry, tmpSDS2){ - removeStandaloneSubscribedDataSet(server, tmpSDS1->identifier); - } - -#ifdef UA_ENABLE_PUBSUB_SKS - /* Remove the SecurityGroups */ - UA_SecurityGroup *tmpSG1, *tmpSG2; - TAILQ_FOREACH_SAFE(tmpSG1, &server->pubSubManager.securityGroups, listEntry, tmpSG2) { - removeSecurityGroup(server, tmpSG1); - } - - /* Remove the keyStorages */ - UA_PubSubKeyStorage *ks, *ksTmp; - LIST_FOREACH_SAFE(ks, &server->pubSubManager.pubSubKeyList, keyStorageList, ksTmp) { - UA_PubSubKeyStorage_delete(server, ks); - } -#endif -} - -#ifdef UA_ENABLE_PUBSUB_MONITORING - -static UA_StatusCode -UA_PubSubComponent_createMonitoring(UA_Server *server, UA_NodeId Id, UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data, UA_ServerCallback callback) { - - if(!server || !data) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - switch (eComponentType) { - case UA_PUBSUB_COMPONENT_DATASETREADER: { - UA_DataSetReader *reader = (UA_DataSetReader*) data; - switch (eMonitoringType) { - case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, "UA_PubSubComponent_createMonitoring(): DataSetReader '%.*s' " - "- MessageReceiveTimeout", (UA_Int32) reader->config.name.length, reader->config.name.data); - reader->msgRcvTimeoutTimerCallback = callback; - break; - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "UA_PubSubComponent_createMonitoring(): DataSetReader '%.*s' " - "DataSetReader does not support timeout type '%i'", (UA_Int32) reader->config.name.length, reader->config.name.data, - eMonitoringType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_createMonitoring(): PubSub component type '%i' is not supported", eComponentType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - return ret; -} - -static void -monitoringReceiveTimeoutOnce(UA_Server *server, void *data) { - UA_DataSetReader *reader = (UA_DataSetReader*)data; - reader->msgRcvTimeoutTimerCallback(server, reader); - UA_EventLoop *el = server->config.eventLoop; - el->removeCyclicCallback(el, reader->msgRcvTimeoutTimerId); - reader->msgRcvTimeoutTimerId = 0; -} - -static UA_StatusCode -UA_PubSubComponent_startMonitoring(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data) { - if(!server || !data) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - switch (eComponentType) { - case UA_PUBSUB_COMPONENT_DATASETREADER: { - UA_DataSetReader *reader = (UA_DataSetReader*) data; - switch (eMonitoringType) { - case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: { - if(reader->config.messageReceiveTimeout == 0) { - UA_LOG_WARNING_READER(server->config.logging, reader, - "Cannot monitor timeout for messageReceiveTimeout == 0"); - return UA_STATUSCODE_GOOD; - } - - /* use a timed callback, because one notification is enough, - * we assume that MessageReceiveTimeout configuration is in - * [ms], we do not handle or check fractions */ - UA_EventLoop *el = server->config.eventLoop; - ret = el->addCyclicCallback(el, (UA_Callback)monitoringReceiveTimeoutOnce, - server, reader, reader->config.messageReceiveTimeout, - NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, - &reader->msgRcvTimeoutTimerId); - if(ret == UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_startMonitoring(): DataSetReader '%.*s'- " - "MessageReceiveTimeout: MessageReceiveTimeout = '%f' " - "Timer Id = '%u'", (UA_Int32) reader->config.name.length, - reader->config.name.data, reader->config.messageReceiveTimeout, - (UA_UInt32) reader->msgRcvTimeoutTimerId); - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_startMonitoring(): DataSetReader " - "'%.*s' - MessageReceiveTimeout: start timer failed", - (UA_Int32) reader->config.name.length, reader->config.name.data); - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_startMonitoring(): DataSetReader '%.*s' " - "DataSetReader does not support timeout type '%i'", - (UA_Int32) reader->config.name.length, reader->config.name.data, - eMonitoringType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_startMonitoring(): PubSub component " - "type '%i' is not supported", eComponentType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - return ret; -} - -static UA_StatusCode -UA_PubSubComponent_stopMonitoring(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data) { - if(!server || !data) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - switch (eComponentType) { - case UA_PUBSUB_COMPONENT_DATASETREADER: { - UA_DataSetReader *reader = (UA_DataSetReader*) data; - switch (eMonitoringType) { - case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: { - UA_EventLoop *el = server->config.eventLoop; - el->removeCyclicCallback(el, reader->msgRcvTimeoutTimerId); - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_stopMonitoring(): DataSetReader '%.*s' - " - "MessageReceiveTimeout: MessageReceiveTimeout = '%f' " - "Timer Id = '%u'", (UA_Int32) reader->config.name.length, - reader->config.name.data, reader->config.messageReceiveTimeout, - (UA_UInt32) reader->msgRcvTimeoutTimerId); - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_stopMonitoring(): DataSetReader '%.*s' " - "DataSetReader does not support timeout type '%i'", - (UA_Int32) reader->config.name.length, reader->config.name.data, - eMonitoringType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_stopMonitoring(): PubSub component type '%i' " - "is not supported", eComponentType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - return ret; -} - -static UA_StatusCode -UA_PubSubComponent_updateMonitoringInterval(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data) { - if(!server || !data) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - switch (eComponentType) { - case UA_PUBSUB_COMPONENT_DATASETREADER: { - UA_DataSetReader *reader = (UA_DataSetReader*) data; - switch (eMonitoringType) { - case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: { - UA_EventLoop *el = server->config.eventLoop; - ret = el->modifyCyclicCallback(el, reader->msgRcvTimeoutTimerId, - reader->config.messageReceiveTimeout, NULL, - UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME); - if (ret == UA_STATUSCODE_GOOD) { - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_updateMonitoringInterval(): " - "DataSetReader '%.*s' - MessageReceiveTimeout: new " - "MessageReceiveTimeout = '%f' Timer Id = '%u'", - (UA_Int32) reader->config.name.length, reader->config.name.data, - reader->config.messageReceiveTimeout, - (UA_UInt32) reader->msgRcvTimeoutTimerId); - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_updateMonitoringInterval(): " - "DataSetReader '%.*s': update timer interval failed", - (UA_Int32) reader->config.name.length, reader->config.name.data); - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_createMonitoring(): DataSetReader '%.*s' " - "DataSetReader does not support timeout type '%i'", - (UA_Int32) reader->config.name.length, reader->config.name.data, - eMonitoringType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_updateMonitoringInterval(): " - "PubSub component type '%i' is not supported", eComponentType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - return ret; -} - -static UA_StatusCode -UA_PubSubComponent_deleteMonitoring(UA_Server *server, UA_NodeId Id, - UA_PubSubComponentEnumType eComponentType, - UA_PubSubMonitoringType eMonitoringType, void *data) { - - if(!server || !data) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - switch (eComponentType) { - case UA_PUBSUB_COMPONENT_DATASETREADER: { - UA_DataSetReader *reader = (UA_DataSetReader*) data; - switch (eMonitoringType) { - case UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT: - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_deleteMonitoring(): DataSetReader '%.*s' - " - "MessageReceiveTimeout: Timer Id = '%u'", - (UA_Int32)reader->config.name.length, reader->config.name.data, - (UA_UInt32) reader->msgRcvTimeoutTimerId); - break; - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "UA_PubSubComponent_deleteMonitoring(): DataSetReader '%.*s' " - "DataSetReader does not support timeout type '%i'", - (UA_Int32) reader->config.name.length, reader->config.name.data, - eMonitoringType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - break; - } - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Error UA_PubSubComponent_deleteMonitoring(): PubSub component type " - "'%i' is not supported", eComponentType); - ret = UA_STATUSCODE_BADNOTSUPPORTED; - break; - } - return ret; -} - -UA_StatusCode -UA_PubSubManager_setDefaultMonitoringCallbacks(UA_PubSubMonitoringInterface *monitoringInterface) { - if (monitoringInterface == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - monitoringInterface->createMonitoring = UA_PubSubComponent_createMonitoring; - monitoringInterface->startMonitoring = UA_PubSubComponent_startMonitoring; - monitoringInterface->stopMonitoring = UA_PubSubComponent_stopMonitoring; - monitoringInterface->updateMonitoringInterval = UA_PubSubComponent_updateMonitoringInterval; - monitoringInterface->deleteMonitoring = UA_PubSubComponent_deleteMonitoring; - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_PUBSUB_MONITORING */ - -#endif /* UA_ENABLE_PUBSUB */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_ns0.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2017-2022 Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright (c) 2019-2021 Kalycito Infotech Private Limited - * Copyright (c) 2020 Yannick Wallerer, Siemens AG - * Copyright (c) 2020-2022 Thomas Fischer, Siemens AG - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL /* conditional compilation */ - -typedef struct { - UA_NodeId parentNodeId; - UA_UInt32 parentClassifier; - UA_UInt32 elementClassiefier; -} UA_NodePropertyContext; - -static UA_StatusCode -writePubSubNs0VariableArray(UA_Server *server, const UA_NodeId id, void *v, - size_t length, const UA_DataType *type) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_Variant var; - UA_Variant_init(&var); - UA_Variant_setArray(&var, v, length, type); - return writeValueAttribute(server, id, &var); -} - -static UA_NodeId -findSingleChildNode(UA_Server *server, UA_QualifiedName targetName, - UA_NodeId referenceTypeId, UA_NodeId startingNode){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_NodeId resultNodeId; - UA_RelativePathElement rpe; - UA_RelativePathElement_init(&rpe); - rpe.referenceTypeId = referenceTypeId; - rpe.isInverse = false; - rpe.includeSubtypes = false; - rpe.targetName = targetName; - UA_BrowsePath bp; - UA_BrowsePath_init(&bp); - bp.startingNode = startingNode; - bp.relativePath.elementsSize = 1; - bp.relativePath.elements = &rpe; - UA_BrowsePathResult bpr = translateBrowsePathToNodeIds(server, &bp); - if(bpr.statusCode != UA_STATUSCODE_GOOD || - bpr.targetsSize < 1) - return UA_NODEID_NULL; - UA_StatusCode res = UA_NodeId_copy(&bpr.targets[0].targetId.nodeId, &resultNodeId); - if(res != UA_STATUSCODE_GOOD){ - UA_BrowsePathResult_clear(&bpr); - return UA_NODEID_NULL; - } - UA_BrowsePathResult_clear(&bpr); - return resultNodeId; -} - -static void -onReadLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *context, - const UA_NumericRange *range, const UA_DataValue *data) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - const UA_NodePropertyContext *nodeContext = (const UA_NodePropertyContext*)context; - const UA_NodeId *myNodeId = &nodeContext->parentNodeId; - - UA_PublishedVariableDataType *pvd = NULL; - UA_PublishedDataSet *publishedDataSet = NULL; - - UA_Variant value; - UA_Variant_init(&value); - - switch(nodeContext->parentClassifier){ - case UA_NS0ID_PUBSUBCONNECTIONTYPE: { - UA_PubSubConnection *pubSubConnection = - UA_PubSubConnection_findConnectionbyId(server, *myNodeId); - switch(nodeContext->elementClassiefier) { - case UA_NS0ID_PUBSUBCONNECTIONTYPE_PUBLISHERID: - switch (pubSubConnection->config.publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.byte, - &UA_TYPES[UA_TYPES_BYTE]); - break; - case UA_PUBLISHERIDTYPE_UINT16: - UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.uint16, - &UA_TYPES[UA_TYPES_UINT16]); - break; - case UA_PUBLISHERIDTYPE_UINT32: - UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.uint32, - &UA_TYPES[UA_TYPES_UINT32]); - break; - case UA_PUBLISHERIDTYPE_UINT64: - UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.uint64, - &UA_TYPES[UA_TYPES_UINT64]); - break; - case UA_PUBLISHERIDTYPE_STRING: - UA_Variant_setScalar(&value, &pubSubConnection->config.publisherId.string, - &UA_TYPES[UA_TYPES_STRING]); - break; - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown PublisherId type."); - } - break; - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown property."); - } - break; - } - case UA_NS0ID_DATASETREADERTYPE: { - UA_DataSetReader *dataSetReader = UA_ReaderGroup_findDSRbyId(server, *myNodeId); - if(!dataSetReader) - return; - - switch(nodeContext->elementClassiefier) { - case UA_NS0ID_DATASETREADERTYPE_PUBLISHERID: - UA_Variant_setScalar(&value, dataSetReader->config.publisherId.data, - dataSetReader->config.publisherId.type); - break; - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown property."); - } - break; - } - case UA_NS0ID_WRITERGROUPTYPE: { - UA_WriterGroup *writerGroup = UA_WriterGroup_findWGbyId(server, *myNodeId); - if(!writerGroup) - return; - switch(nodeContext->elementClassiefier){ - case UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL: - UA_Variant_setScalar(&value, &writerGroup->config.publishingInterval, - &UA_TYPES[UA_TYPES_DURATION]); - break; - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown property."); - } - break; - } - case UA_NS0ID_DATASETWRITERTYPE: { - UA_DataSetWriter *dataSetWriter = UA_DataSetWriter_findDSWbyId(server, *myNodeId); - if(!dataSetWriter) - return; - - switch(nodeContext->elementClassiefier) { - case UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERID: - UA_Variant_setScalar(&value, &dataSetWriter->config.dataSetWriterId, - &UA_TYPES[UA_TYPES_UINT16]); - break; - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown property."); - } - break; - } - case UA_NS0ID_PUBLISHEDDATAITEMSTYPE: { - publishedDataSet = UA_PublishedDataSet_findPDSbyId(server, *myNodeId); - if(!publishedDataSet) - return; - switch(nodeContext->elementClassiefier) { - case UA_NS0ID_PUBLISHEDDATAITEMSTYPE_PUBLISHEDDATA: { - pvd = (UA_PublishedVariableDataType *) - UA_calloc(publishedDataSet->fieldSize, sizeof(UA_PublishedVariableDataType)); - size_t counter = 0; - UA_DataSetField *field; - TAILQ_FOREACH(field, &publishedDataSet->fields, listEntry) { - pvd[counter].attributeId = UA_ATTRIBUTEID_VALUE; - pvd[counter].publishedVariable = - field->config.field.variable.publishParameters.publishedVariable; - UA_NodeId_copy(&field->config.field.variable.publishParameters.publishedVariable, - &pvd[counter].publishedVariable); - counter++; - } - UA_Variant_setArray(&value, pvd, publishedDataSet->fieldSize, - &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); - break; - } - case UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETMETADATA: { - UA_Variant_setScalar(&value, &publishedDataSet->dataSetMetaData, - &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); - break; - } - case UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CONFIGURATIONVERSION: { - UA_Variant_setScalar(&value, &publishedDataSet->dataSetMetaData.configurationVersion, - &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); - break; - } - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown property."); - } - break; - } - case UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE: { - UA_StandaloneSubscribedDataSet *sds = - UA_StandaloneSubscribedDataSet_findSDSbyId(server, *myNodeId); - switch(nodeContext->elementClassiefier) { - case UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_ISCONNECTED: { - UA_Variant_setScalar(&value, &sds->config.isConnected, - &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - } - case UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_DATASETMETADATA: { - UA_Variant_setScalar(&value, &sds->config.dataSetMetaData, - &UA_TYPES[UA_TYPES_DATASETMETADATATYPE]); - break; - } - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown property."); - } - break; - } - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown parent element."); - } - - writeValueAttribute(server, *nodeid, &value); - if(pvd && publishedDataSet) { - UA_Array_delete(pvd, publishedDataSet->fieldSize, - &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); - } -} - -static void -onRead(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeid, void *context, - const UA_NumericRange *range, const UA_DataValue *data) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - onReadLocked(server, sessionId, sessionContext, nodeid, context, range, data); -} - -static void -onWriteLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - const UA_NumericRange *range, const UA_DataValue *data) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_NodePropertyContext *npc = (UA_NodePropertyContext *)nodeContext; - - UA_WriterGroup *writerGroup = NULL; - UA_StatusCode res = UA_STATUSCODE_GOOD; - switch(npc->parentClassifier) { - case UA_NS0ID_PUBSUBCONNECTIONTYPE: - //no runtime writable attributes - break; - case UA_NS0ID_WRITERGROUPTYPE: { - writerGroup = UA_WriterGroup_findWGbyId(server, npc->parentNodeId); - if(!writerGroup) - return; - UA_WriterGroupConfig writerGroupConfig; - memset(&writerGroupConfig, 0, sizeof(writerGroupConfig)); - switch(npc->elementClassiefier) { - case UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL: - if(!UA_Variant_hasScalarType(&data->value, &UA_TYPES[UA_TYPES_DURATION]) && - !UA_Variant_hasScalarType(&data->value, &UA_TYPES[UA_TYPES_DOUBLE])) { - res = UA_STATUSCODE_BADTYPEMISMATCH; - goto cleanup; - } - res = UA_WriterGroupConfig_copy(&writerGroup->config, &writerGroupConfig); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - writerGroupConfig.publishingInterval = *((UA_Duration *) data->value.data); - UA_WriterGroup_updateConfig(server, writerGroup, &writerGroupConfig); - UA_WriterGroupConfig_clear(&writerGroupConfig); - break; - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Write error! Unknown property element."); - } - break; - } - default: - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Read error! Unknown parent element."); - } - - cleanup: - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Changing the ReaderGroupConfig failed with status %s", - UA_StatusCode_name(res)); - } -} - -static void -onWrite(UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - const UA_NumericRange *range, const UA_DataValue *data) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - onWriteLocked(server, sessionId, sessionContext, nodeId, nodeContext, range, data); -} - -static UA_StatusCode -addVariableValueSource(UA_Server *server, UA_ValueCallback valueCallback, - UA_NodeId node, UA_NodePropertyContext *context){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - setNodeContext(server, node, context); - return setVariableNode_valueCallback(server, node, valueCallback); -} - -static UA_StatusCode -addPubSubConnectionConfig(UA_Server *server, UA_PubSubConnectionDataType *pubsubConnection, - UA_NodeId *connectionId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_NetworkAddressUrlDataType networkAddressUrl; - memset(&networkAddressUrl, 0, sizeof(networkAddressUrl)); - UA_ExtensionObject *eo = &pubsubConnection->address; - if(eo->encoding == UA_EXTENSIONOBJECT_DECODED && - eo->content.decoded.type == &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]) { - void *data = eo->content.decoded.data; - retVal = - UA_NetworkAddressUrlDataType_copy((UA_NetworkAddressUrlDataType *)data, - &networkAddressUrl); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - } - - UA_PubSubConnectionConfig connectionConfig; - memset(&connectionConfig, 0, sizeof(UA_PubSubConnectionConfig)); - connectionConfig.transportProfileUri = pubsubConnection->transportProfileUri; - connectionConfig.name = pubsubConnection->name; - //TODO set real connection state - connectionConfig.enabled = pubsubConnection->enabled; - //connectionConfig.enabled = pubSubConnection.enabled; - UA_Variant_setScalar(&connectionConfig.address, &networkAddressUrl, - &UA_TYPES[UA_TYPES_NETWORKADDRESSURLDATATYPE]); - - if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_BYTE]) { - connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_BYTE; - connectionConfig.publisherId.byte = *((UA_Byte*)pubsubConnection->publisherId.data); - } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_UINT16]) { - connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_UINT16; - connectionConfig.publisherId.uint16 = *((UA_UInt16*)pubsubConnection->publisherId.data); - } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_UINT32]) { - connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_UINT32; - connectionConfig.publisherId.uint32 = *((UA_UInt32*)pubsubConnection->publisherId.data); - } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_UINT64]) { - connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_UINT64; - connectionConfig.publisherId.uint64 = *((UA_UInt64*)pubsubConnection->publisherId.data); - } else if (pubsubConnection->publisherId.type == &UA_TYPES[UA_TYPES_STRING]) { - connectionConfig.publisherIdType = UA_PUBLISHERIDTYPE_STRING; - UA_String_copy((UA_String *) pubsubConnection->publisherId.data, - &connectionConfig.publisherId.string); - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Unsupported PublisherId Type used."); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - retVal |= UA_PubSubConnection_create(server, &connectionConfig, connectionId); - UA_NetworkAddressUrlDataType_clear(&networkAddressUrl); - return retVal; -} - -/** - * **WriterGroup handling** - * - * The WriterGroup (WG) is part of the connection and contains the primary - * configuration parameters for the message creation. */ -static UA_StatusCode -addWriterGroupConfig(UA_Server *server, UA_NodeId connectionId, - UA_WriterGroupDataType *writerGroup, UA_NodeId *writerGroupId){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Now we create a new WriterGroupConfig and add the group to the existing - * PubSubConnection. */ - UA_WriterGroupConfig writerGroupConfig; - memset(&writerGroupConfig, 0, sizeof(UA_WriterGroupConfig)); - writerGroupConfig.name = writerGroup->name; - writerGroupConfig.publishingInterval = writerGroup->publishingInterval; - writerGroupConfig.enabled = writerGroup->enabled; - writerGroupConfig.writerGroupId = writerGroup->writerGroupId; - writerGroupConfig.priority = writerGroup->priority; - - UA_ExtensionObject *eoWG = &writerGroup->messageSettings; - UA_UadpWriterGroupMessageDataType uadpWriterGroupMessage; - UA_JsonWriterGroupMessageDataType jsonWriterGroupMessage; - if(eoWG->encoding == UA_EXTENSIONOBJECT_DECODED){ - writerGroupConfig.messageSettings.encoding = UA_EXTENSIONOBJECT_DECODED; - if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]){ - writerGroupConfig.encodingMimeType = UA_PUBSUB_ENCODING_UADP; - if(UA_UadpWriterGroupMessageDataType_copy( - (UA_UadpWriterGroupMessageDataType *)eoWG->content.decoded.data, - &uadpWriterGroupMessage) != UA_STATUSCODE_GOOD) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - writerGroupConfig.messageSettings.content.decoded.type = &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]; - writerGroupConfig.messageSettings.content.decoded.data = &uadpWriterGroupMessage; - } else if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]) { - writerGroupConfig.encodingMimeType = UA_PUBSUB_ENCODING_JSON; - if(UA_JsonWriterGroupMessageDataType_copy( - (UA_JsonWriterGroupMessageDataType *)eoWG->content.decoded.data, - &jsonWriterGroupMessage) != UA_STATUSCODE_GOOD) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - writerGroupConfig.messageSettings.content.decoded.type = &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]; - writerGroupConfig.messageSettings.content.decoded.data = &jsonWriterGroupMessage; - } - } - - eoWG = &writerGroup->transportSettings; - UA_BrokerWriterGroupTransportDataType brokerWriterGroupTransport; - UA_DatagramWriterGroupTransportDataType datagramWriterGroupTransport; - if(eoWG->encoding == UA_EXTENSIONOBJECT_DECODED) { - writerGroupConfig.transportSettings.encoding = UA_EXTENSIONOBJECT_DECODED; - if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]) { - if(UA_BrokerWriterGroupTransportDataType_copy( - (UA_BrokerWriterGroupTransportDataType*)eoWG->content.decoded.data, - &brokerWriterGroupTransport) != UA_STATUSCODE_GOOD) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - writerGroupConfig.transportSettings.content.decoded.type = &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE]; - writerGroupConfig.transportSettings.content.decoded.data = &brokerWriterGroupTransport; - } else if(eoWG->content.decoded.type == &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]) { - if(UA_DatagramWriterGroupTransportDataType_copy( - (UA_DatagramWriterGroupTransportDataType *)eoWG->content.decoded.data, - &datagramWriterGroupTransport) != UA_STATUSCODE_GOOD) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - writerGroupConfig.transportSettings.content.decoded.type = &UA_TYPES[UA_TYPES_DATAGRAMWRITERGROUPTRANSPORTDATATYPE]; - writerGroupConfig.transportSettings.content.decoded.data = &datagramWriterGroupTransport; - } - } - if (writerGroupConfig.encodingMimeType == UA_PUBSUB_ENCODING_JSON - && (writerGroupConfig.transportSettings.encoding != UA_EXTENSIONOBJECT_DECODED || - writerGroupConfig.transportSettings.content.decoded.type != - &UA_TYPES[UA_TYPES_BROKERWRITERGROUPTRANSPORTDATATYPE])) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "JSON encoding is supported only for MQTT transport"); - return UA_STATUSCODE_BADCONFIGURATIONERROR; - } - - return UA_WriterGroup_create(server, connectionId, &writerGroupConfig, writerGroupId); -} - -/** - * **DataSetWriter handling** - * - * A DataSetWriter (DSW) is the glue between the WG and the PDS. The DSW is - * linked to exactly one PDS and contains additional informations for the - * message generation. */ -static UA_StatusCode -addDataSetWriterConfig(UA_Server *server, const UA_NodeId *writerGroupId, - UA_DataSetWriterDataType *dataSetWriter, - UA_NodeId *dataSetWriterId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_NodeId publishedDataSetId = UA_NODEID_NULL; - UA_PublishedDataSet *tmpPDS; - TAILQ_FOREACH(tmpPDS, &server->pubSubManager.publishedDataSets, listEntry){ - if(UA_String_equal(&dataSetWriter->dataSetName, &tmpPDS->config.name)) { - publishedDataSetId = tmpPDS->identifier; - break; - } - } - - if(UA_NodeId_isNull(&publishedDataSetId)) - return UA_STATUSCODE_BADPARENTNODEIDINVALID; - - /* We need now a DataSetWriter within the WriterGroup. This means we must - * create a new DataSetWriterConfig and add call the addWriterGroup function. */ - UA_DataSetWriterConfig dataSetWriterConfig; - memset(&dataSetWriterConfig, 0, sizeof(UA_DataSetWriterConfig)); - dataSetWriterConfig.name = dataSetWriter->name; - dataSetWriterConfig.dataSetWriterId = dataSetWriter->dataSetWriterId; - dataSetWriterConfig.keyFrameCount = dataSetWriter->keyFrameCount; - dataSetWriterConfig.dataSetFieldContentMask = dataSetWriter->dataSetFieldContentMask; - return UA_DataSetWriter_create(server, *writerGroupId, publishedDataSetId, - &dataSetWriterConfig, dataSetWriterId); -} - -/** - * **ReaderGroup** - * - * ReaderGroup is used to group a list of DataSetReaders. All ReaderGroups are - * created within a PubSubConnection and automatically deleted if the connection - * is removed. All network message related filters are only available in the DataSetReader. */ -/* Add ReaderGroup to the created connection */ -static UA_StatusCode -addReaderGroupConfig(UA_Server *server, UA_NodeId connectionId, - UA_ReaderGroupDataType *readerGroup, - UA_NodeId *readerGroupId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_ReaderGroupConfig readerGroupConfig; - memset(&readerGroupConfig, 0, sizeof(UA_ReaderGroupConfig)); - readerGroupConfig.name = readerGroup->name; - return UA_ReaderGroup_create(server, connectionId, - &readerGroupConfig, readerGroupId); -} - -/** - * **SubscribedDataSet** - * - * Set SubscribedDataSet type to TargetVariables data type. - * Add subscribedvariables to the DataSetReader */ -static UA_StatusCode -addSubscribedVariables(UA_Server *server, UA_NodeId dataSetReaderId, - UA_DataSetReaderDataType *dataSetReader, - UA_DataSetMetaDataType *pMetaData) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_ExtensionObject *eoTargetVar = &dataSetReader->subscribedDataSet; - if(eoTargetVar->encoding != UA_EXTENSIONOBJECT_DECODED || - eoTargetVar->content.decoded.type != &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - - const UA_TargetVariablesDataType *targetVars = - (UA_TargetVariablesDataType*)eoTargetVar->content.decoded.data; - - UA_NodeId folderId; - UA_String folderName = pMetaData->name; - UA_ObjectAttributes oAttr = UA_ObjectAttributes_default; - UA_QualifiedName folderBrowseName; - if(folderName.length > 0) { - oAttr.displayName.locale = UA_STRING(""); - oAttr.displayName.text = folderName; - folderBrowseName.namespaceIndex = 1; - folderBrowseName.name = folderName; - } else { - oAttr.displayName = UA_LOCALIZEDTEXT("", "Subscribed Variables"); - folderBrowseName = UA_QUALIFIEDNAME(1, "Subscribed Variables"); - } - - addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NULL, - UA_NODEID_NUMERIC (0, UA_NS0ID_OBJECTSFOLDER), - UA_NODEID_NUMERIC (0, UA_NS0ID_ORGANIZES), - folderBrowseName, - UA_NODEID_NUMERIC (0, UA_NS0ID_BASEOBJECTTYPE), - &oAttr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &folderId); - - /* The SubscribedDataSet option TargetVariables defines a list of Variable - * mappings between received DataSet fields and target Variables in the - * Subscriber AddressSpace. The values subscribed from the Publisher are - * updated in the value field of these variables */ - - /* Create the TargetVariables with respect to DataSetMetaData fields */ - UA_FieldTargetVariable *targetVarsData = (UA_FieldTargetVariable *) - UA_calloc(targetVars->targetVariablesSize, sizeof(UA_FieldTargetVariable)); - for(size_t i = 0; i < targetVars->targetVariablesSize; i++) { - /* Prepare the output structure */ - UA_FieldTargetDataType_init(&targetVarsData[i].targetVariable); - targetVarsData[i].targetVariable.attributeId = targetVars->targetVariables[i].attributeId; - - /* Add variable for the field */ - UA_VariableAttributes vAttr = UA_VariableAttributes_default; - vAttr.description = pMetaData->fields[i].description; - vAttr.displayName.locale = UA_STRING(""); - vAttr.displayName.text = pMetaData->fields[i].name; - vAttr.dataType = pMetaData->fields[i].dataType; - UA_QualifiedName varname = {1, pMetaData->fields[i].name}; - retVal |= addNode(server, UA_NODECLASS_VARIABLE, - targetVars->targetVariables[i].targetNodeId, - folderId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - varname, UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), - &vAttr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], - NULL, &targetVarsData[i].targetVariable.targetNodeId); - - } - UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dataSetReaderId); - if(dsr) { - retVal = DataSetReader_createTargetVariables(server, dsr, - targetVars->targetVariablesSize, - targetVarsData); - } else { - retVal = UA_STATUSCODE_BADINTERNALERROR; - } - for(size_t j = 0; j < targetVars->targetVariablesSize; j++) - UA_FieldTargetDataType_clear(&targetVarsData[j].targetVariable); - UA_free(targetVarsData); - return retVal; -} - -/** - * **DataSetReader** - * - * DataSetReader can receive NetworkMessages with the DataSetMessage - * of interest sent by the Publisher. DataSetReader provides - * the configuration necessary to receive and process DataSetMessages - * on the Subscriber side. DataSetReader must be linked with a - * SubscribedDataSet and be contained within a ReaderGroup. */ -static UA_StatusCode -addDataSetReaderConfig(UA_Server *server, UA_NodeId readerGroupId, - UA_DataSetReaderDataType *dataSetReader, - UA_NodeId *dataSetReaderId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_DataSetReaderConfig readerConfig; - memset(&readerConfig, 0, sizeof(UA_DataSetReaderConfig)); - readerConfig.name = dataSetReader->name; - readerConfig.publisherId = dataSetReader->publisherId; - readerConfig.writerGroupId = dataSetReader->writerGroupId; - readerConfig.dataSetWriterId = dataSetReader->dataSetWriterId; - - /* Setting up Meta data configuration in DataSetReader */ - UA_DataSetMetaDataType *pMetaData; - pMetaData = &readerConfig.dataSetMetaData; - UA_DataSetMetaDataType_init (pMetaData); - pMetaData->name = dataSetReader->dataSetMetaData.name; - pMetaData->fieldsSize = dataSetReader->dataSetMetaData.fieldsSize; - pMetaData->fields = (UA_FieldMetaData*)UA_Array_new (pMetaData->fieldsSize, - &UA_TYPES[UA_TYPES_FIELDMETADATA]); - for(size_t i = 0; i < pMetaData->fieldsSize; i++){ - UA_FieldMetaData_init (&pMetaData->fields[i]); - UA_NodeId_copy (&dataSetReader->dataSetMetaData.fields[i].dataType, - &pMetaData->fields[i].dataType); - pMetaData->fields[i].builtInType = dataSetReader->dataSetMetaData.fields[i].builtInType; - pMetaData->fields[i].name = dataSetReader->dataSetMetaData.fields[i].name; - pMetaData->fields[i].valueRank = dataSetReader->dataSetMetaData.fields[i].valueRank; - } - - retVal |= UA_DataSetReader_create(server, readerGroupId, - &readerConfig, dataSetReaderId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_free(pMetaData->fields); - return retVal; - } - - retVal |= addSubscribedVariables(server, *dataSetReaderId, dataSetReader, pMetaData); - UA_free(pMetaData->fields); - return retVal; -} - -/*************************************************/ -/* PubSubConnection */ -/*************************************************/ - -UA_StatusCode -addPubSubConnectionRepresentation(UA_Server *server, UA_PubSubConnection *connection) { - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - if(connection->config.name.length > 512) - return UA_STATUSCODE_BADOUTOFMEMORY; - char connectionName[513]; - memcpy(connectionName, connection->config.name.data, connection->config.name.length); - connectionName[connection->config.name.length] = '\0'; - - UA_ObjectAttributes attr = UA_ObjectAttributes_default; - attr.displayName = UA_LOCALIZEDTEXT("", connectionName); - retVal |= addNode_begin(server, UA_NODECLASS_OBJECT, - UA_NODEID_NUMERIC(1, 0), /* Generate a new id */ - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPUBSUBCONNECTION), - UA_QUALIFIEDNAME(0, connectionName), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE), - (const UA_NodeAttributes*)&attr, - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &connection->identifier); - - attr.displayName = UA_LOCALIZEDTEXT("", "Address"); - retVal |= addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), - connection->identifier, UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, "Address"), - UA_NODEID_NUMERIC(0, UA_NS0ID_NETWORKADDRESSURLTYPE), - &attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], NULL, NULL); - - retVal |= addNode_finish(server, &server->adminSession, &connection->identifier); - - UA_NodeId addressNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "Address"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - connection->identifier); - UA_NodeId urlNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "Url"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), addressNode); - UA_NodeId interfaceNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "NetworkInterface"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), addressNode); - UA_NodeId publisherIdNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), connection->identifier); - UA_NodeId connectionPropertyNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "ConnectionProperties"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - connection->identifier); - UA_NodeId transportProfileUri = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "TransportProfileUri"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - connection->identifier); - - if(UA_NodeId_isNull(&addressNode) || UA_NodeId_isNull(&urlNode) || - UA_NodeId_isNull(&interfaceNode) || UA_NodeId_isNull(&publisherIdNode) || - UA_NodeId_isNull(&connectionPropertyNode) || - UA_NodeId_isNull(&transportProfileUri)) { - return UA_STATUSCODE_BADNOTFOUND; - } - - retVal |= writePubSubNs0VariableArray(server, connectionPropertyNode, - connection->config.connectionProperties.map, - connection->config.connectionProperties.mapSize, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - - UA_NetworkAddressUrlDataType *networkAddressUrl= - ((UA_NetworkAddressUrlDataType*)connection->config.address.data); - UA_Variant value; - UA_Variant_init(&value); - - UA_Variant_setScalar(&value, &networkAddressUrl->url, &UA_TYPES[UA_TYPES_STRING]); - writeValueAttribute(server, urlNode, &value); - - UA_Variant_setScalar(&value, &networkAddressUrl->networkInterface, &UA_TYPES[UA_TYPES_STRING]); - writeValueAttribute(server, interfaceNode, &value); - - UA_Variant_setScalar(&value, &connection->config.transportProfileUri, &UA_TYPES[UA_TYPES_STRING]); - writeValueAttribute(server, transportProfileUri, &value); - - UA_NodePropertyContext *connectionPublisherIdContext = - (UA_NodePropertyContext *)UA_malloc(sizeof(UA_NodePropertyContext)); - connectionPublisherIdContext->parentNodeId = connection->identifier; - connectionPublisherIdContext->parentClassifier = UA_NS0ID_PUBSUBCONNECTIONTYPE; - connectionPublisherIdContext->elementClassiefier = - UA_NS0ID_PUBSUBCONNECTIONTYPE_PUBLISHERID; - UA_ValueCallback valueCallback; - valueCallback.onRead = onRead; - valueCallback.onWrite = NULL; - retVal |= addVariableValueSource(server, valueCallback, publisherIdNode, - connectionPublisherIdContext); - - if(server->config.pubSubConfig.enableInformationModelMethods) { - retVal |= addRef(server, connection->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP), true); - retVal |= addRef(server, connection->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP), true); - retVal |= addRef(server, connection->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP), true); - } - return retVal; -} - -static UA_StatusCode -addPubSubConnectionLocked(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_PubSubConnectionDataType *pubSubConnection = - (UA_PubSubConnectionDataType *) input[0].data; - - //call API function and create the connection - UA_NodeId connectionId; - retVal |= addPubSubConnectionConfig(server, pubSubConnection, &connectionId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addPubSubConnection failed"); - return retVal; - } - - for(size_t i = 0; i < pubSubConnection->writerGroupsSize; i++) { - UA_NodeId writerGroupId; - UA_WriterGroupDataType *writerGroup = &pubSubConnection->writerGroups[i]; - retVal |= addWriterGroupConfig(server, connectionId, writerGroup, &writerGroupId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addWriterGroup failed"); - return retVal; - } - - for(size_t j = 0; j < writerGroup->dataSetWritersSize; j++) { - UA_DataSetWriterDataType *dataSetWriter = &writerGroup->dataSetWriters[j]; - retVal |= addDataSetWriterConfig(server, &writerGroupId, dataSetWriter, NULL); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addDataSetWriter failed"); - return retVal; - } - } - - /* TODO: Need to handle the UA_Server_setWriterGroupOperational based on - * the status variable in information model */ - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroupId); - if(!wg) - continue; - if(pubSubConnection->enabled) { - UA_WriterGroup_freezeConfiguration(server, wg); - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - } else { - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADINTERNALERROR); - } - } - - for(size_t i = 0; i < pubSubConnection->readerGroupsSize; i++){ - UA_NodeId readerGroupId; - UA_ReaderGroupDataType *readerGroup = &pubSubConnection->readerGroups[i]; - retVal |= addReaderGroupConfig(server, connectionId, readerGroup, &readerGroupId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addReaderGroup failed"); - return retVal; - } - - for(size_t j = 0; j < readerGroup->dataSetReadersSize; j++) { - UA_NodeId dataSetReaderId; - UA_DataSetReaderDataType *dataSetReader = &readerGroup->dataSetReaders[j]; - retVal |= addDataSetReaderConfig(server, readerGroupId, - dataSetReader, &dataSetReaderId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addDataSetReader failed"); - return retVal; - } - - } - - /* TODO: Need to handle the UA_Server_setReaderGroupOperational based on - * the status variable in information model */ - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupId); - if(!rg) - continue; - if(pubSubConnection->enabled) { - UA_ReaderGroup_freezeConfiguration(server, rg); - UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - } else { - UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_DISABLED, - UA_STATUSCODE_BADINTERNALERROR); - } - } - - /* Set ouput value */ - UA_Variant_setScalarCopy(output, &connectionId, &UA_TYPES[UA_TYPES_NODEID]); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -addPubSubConnectionAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return addPubSubConnectionLocked(server, sessionId, sessionHandle, - methodId, methodContext, - objectId, objectContext, - inputSize, input, outputSize, output); -} - -static UA_StatusCode -removeConnectionAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); - retVal |= UA_Server_removePubSubConnection(server, nodeToRemove); - if(retVal == UA_STATUSCODE_BADNOTFOUND) - retVal = UA_STATUSCODE_BADNODEIDUNKNOWN; - return retVal; -} - -/**********************************************/ -/* DataSetReader */ -/**********************************************/ - -UA_StatusCode -addDataSetReaderRepresentation(UA_Server *server, UA_DataSetReader *dataSetReader){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(dataSetReader->config.name.length > 512) - return UA_STATUSCODE_BADCONFIGURATIONERROR; - - char dsrName[513]; - memcpy(dsrName, dataSetReader->config.name.data, dataSetReader->config.name.length); - dsrName[dataSetReader->config.name.length] = '\0'; - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_NodeId publisherIdNode, writerGroupIdNode, dataSetwriterIdNode; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", dsrName); - retVal = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* create an id */ - dataSetReader->linkedReaderGroup, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASDATASETREADER), - UA_QUALIFIEDNAME(0, dsrName), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETREADERTYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &dataSetReader->identifier); - - /* Add childNodes such as PublisherId, WriterGroupId and DataSetWriterId in - * DataSetReader object */ - publisherIdNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - dataSetReader->identifier); - writerGroupIdNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "WriterGroupId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - dataSetReader->identifier); - dataSetwriterIdNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetWriterId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - dataSetReader->identifier); - - if(UA_NodeId_isNull(&publisherIdNode) || - UA_NodeId_isNull(&writerGroupIdNode) || - UA_NodeId_isNull(&dataSetwriterIdNode)) { - return UA_STATUSCODE_BADNOTFOUND; - } - - UA_NodePropertyContext *dataSetReaderPublisherIdContext = - (UA_NodePropertyContext *) UA_malloc(sizeof(UA_NodePropertyContext)); - dataSetReaderPublisherIdContext->parentNodeId = dataSetReader->identifier; - dataSetReaderPublisherIdContext->parentClassifier = UA_NS0ID_DATASETREADERTYPE; - dataSetReaderPublisherIdContext->elementClassiefier = UA_NS0ID_DATASETREADERTYPE_PUBLISHERID; - UA_ValueCallback valueCallback; - valueCallback.onRead = onRead; - valueCallback.onWrite = NULL; - retVal |= addVariableValueSource(server, valueCallback, publisherIdNode, - dataSetReaderPublisherIdContext); - - /* Update childNode with values from Publisher */ - UA_Variant value; - UA_Variant_init(&value); - UA_Variant_setScalar(&value, &dataSetReader->config.writerGroupId, - &UA_TYPES[UA_TYPES_UINT16]); - writeValueAttribute(server, writerGroupIdNode, &value); - UA_Variant_setScalar(&value, &dataSetReader->config.dataSetWriterId, - &UA_TYPES[UA_TYPES_UINT16]); - writeValueAttribute(server, dataSetwriterIdNode, &value); - return retVal; -} - -static UA_StatusCode -addDataSetReaderLocked(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, *objectId); - if(rg->configurationFrozen) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "AddDataSetReader cannot be done because ReaderGroup config frozen"); - return UA_STATUSCODE_BAD; - } - - UA_NodeId dataSetReaderId; - UA_DataSetReaderDataType *dataSetReader= (UA_DataSetReaderDataType *) input[0].data; - retVal |= addDataSetReaderConfig(server, *objectId, dataSetReader, &dataSetReaderId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "AddDataSetReader failed"); - return retVal; - } - - UA_Variant_setScalarCopy(output, &dataSetReaderId, &UA_TYPES[UA_TYPES_NODEID]); - return retVal; -} - -static UA_StatusCode -addDataSetReaderAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return addDataSetReaderLocked(server, sessionId, sessionHandle, - methodId, methodContext, objectId, objectContext, - inputSize, input, outputSize, output); -} - -static UA_StatusCode -removeDataSetReaderAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_NodeId nodeToRemove = *((UA_NodeId *)input[0].data); - return UA_Server_removeDataSetReader(server, nodeToRemove); -} - -/*************************************************/ -/* PublishedDataSet */ -/*************************************************/ -static UA_StatusCode -addDataSetFolderAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - /* defined in R 1.04 9.1.4.5.7 */ - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_String newFolderName = *((UA_String *) input[0].data); - UA_NodeId generatedId; - UA_ObjectAttributes objectAttributes = UA_ObjectAttributes_default; - UA_LocalizedText name = {UA_STRING(""), newFolderName}; - objectAttributes.displayName = name; - retVal |= UA_Server_addObjectNode(server, UA_NODEID_NULL, *objectId, - UA_NODEID_NUMERIC(0,UA_NS0ID_ORGANIZES), - UA_QUALIFIEDNAME(0, "DataSetFolder"), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE), - objectAttributes, NULL, &generatedId); - UA_Variant_setScalarCopy(output, &generatedId, &UA_TYPES[UA_TYPES_NODEID]); - - if(server->config.pubSubConfig.enableInformationModelMethods) { - retVal |= UA_Server_addReference(server, generatedId, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS), true); - retVal |= UA_Server_addReference(server, generatedId, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET), true); - retVal |= UA_Server_addReference(server, generatedId, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER), true); - retVal |= UA_Server_addReference(server, generatedId, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER), true); - } - return retVal; -} - -static UA_StatusCode -removeDataSetFolderAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); - return UA_Server_deleteNode(server, nodeToRemove, true); -} - -UA_StatusCode -addPublishedDataItemsRepresentation(UA_Server *server, - UA_PublishedDataSet *publishedDataSet) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - if(publishedDataSet->config.name.length > 512) - return UA_STATUSCODE_BADOUTOFMEMORY; - char pdsName[513]; - memcpy(pdsName, publishedDataSet->config.name.data, publishedDataSet->config.name.length); - pdsName[publishedDataSet->config.name.length] = '\0'; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", pdsName); - retVal = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* Create a new id */ - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, pdsName), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &publishedDataSet->identifier); - UA_CHECK_STATUS(retVal, return retVal); - - UA_ValueCallback valueCallback; - valueCallback.onRead = onRead; - valueCallback.onWrite = NULL; - //ToDo: Need to move the browse name from namespaceindex 0 to 1 - UA_NodeId configurationVersionNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "ConfigurationVersion"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - publishedDataSet->identifier); - if(UA_NodeId_isNull(&configurationVersionNode)) - return UA_STATUSCODE_BADNOTFOUND; - - UA_NodePropertyContext *configurationVersionContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - configurationVersionContext->parentNodeId = publishedDataSet->identifier; - configurationVersionContext->parentClassifier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE; - configurationVersionContext->elementClassiefier = - UA_NS0ID_PUBLISHEDDATAITEMSTYPE_CONFIGURATIONVERSION; - retVal |= addVariableValueSource(server, valueCallback, configurationVersionNode, - configurationVersionContext); - - UA_NodeId publishedDataNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishedData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - publishedDataSet->identifier); - if(UA_NodeId_isNull(&publishedDataNode)) - return UA_STATUSCODE_BADNOTFOUND; - - UA_NodePropertyContext * publishingIntervalContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - publishingIntervalContext->parentNodeId = publishedDataSet->identifier; - publishingIntervalContext->parentClassifier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE; - publishingIntervalContext->elementClassiefier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE_PUBLISHEDDATA; - retVal |= addVariableValueSource(server, valueCallback, publishedDataNode, - publishingIntervalContext); - - UA_NodeId dataSetMetaDataNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - publishedDataSet->identifier); - if(UA_NodeId_isNull(&dataSetMetaDataNode)) - return UA_STATUSCODE_BADNOTFOUND; - - UA_NodePropertyContext *metaDataContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - metaDataContext->parentNodeId = publishedDataSet->identifier; - metaDataContext->parentClassifier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE; - metaDataContext->elementClassiefier = UA_NS0ID_PUBLISHEDDATAITEMSTYPE_DATASETMETADATA; - retVal |= addVariableValueSource(server, valueCallback, - dataSetMetaDataNode, metaDataContext); - - if(server->config.pubSubConfig.enableInformationModelMethods) { - retVal |= addRef(server, publishedDataSet->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES), true); - retVal |= addRef(server, publishedDataSet->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES), true); - } - return retVal; -} - -static UA_StatusCode -addPublishedDataItemsAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - size_t fieldNameAliasesSize = input[1].arrayLength; - UA_String * fieldNameAliases = (UA_String *) input[1].data; - size_t fieldFlagsSize = input[2].arrayLength; - UA_DataSetFieldFlags * fieldFlags = (UA_DataSetFieldFlags *) input[2].data; - size_t variablesToAddSize = input[3].arrayLength; - UA_PublishedVariableDataType *eoAddVar = - (UA_PublishedVariableDataType *)input[3].data; - - if(fieldNameAliasesSize != fieldFlagsSize || - fieldFlagsSize != variablesToAddSize) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_PublishedDataSetConfig publishedDataSetConfig; - memset(&publishedDataSetConfig, 0, sizeof(publishedDataSetConfig)); - publishedDataSetConfig.name = *((UA_String *) input[0].data); - publishedDataSetConfig.publishedDataSetType = UA_PUBSUB_DATASET_PUBLISHEDITEMS; - - UA_NodeId dataSetItemsNodeId; - retVal |= UA_Server_addPublishedDataSet(server, &publishedDataSetConfig, - &dataSetItemsNodeId).addResult; - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addPublishedDataset failed"); - return retVal; - } - - UA_DataSetFieldConfig dataSetFieldConfig; - for(size_t j = 0; j < variablesToAddSize; ++j) { - /* Prepare the config */ - memset(&dataSetFieldConfig, 0, sizeof(UA_DataSetFieldConfig)); - dataSetFieldConfig.dataSetFieldType = UA_PUBSUB_DATASETFIELD_VARIABLE; - dataSetFieldConfig.field.variable.fieldNameAlias = fieldNameAliases[j]; - dataSetFieldConfig.field.variable.publishParameters = eoAddVar[j]; - if(fieldFlags[j] == UA_DATASETFIELDFLAGS_PROMOTEDFIELD) - dataSetFieldConfig.field.variable.promotedField = true; - retVal |= UA_Server_addDataSetField(server, dataSetItemsNodeId, - &dataSetFieldConfig, NULL).result; - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addDataSetField failed"); - return retVal; - } - } - - UA_Variant_setScalarCopy(output, &dataSetItemsNodeId, &UA_TYPES[UA_TYPES_NODEID]); - return retVal; -} - -static UA_StatusCode -addVariablesAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -removeVariablesAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -removePublishedDataSetAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); - return UA_Server_removePublishedDataSet(server, nodeToRemove); -} - -/**********************************************/ -/* StandaloneSubscribedDataSet */ -/**********************************************/ - -UA_StatusCode -addStandaloneSubscribedDataSetRepresentation(UA_Server *server, - UA_StandaloneSubscribedDataSet *subscribedDataSet) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - if(subscribedDataSet->config.name.length > 512) - return UA_STATUSCODE_BADCONFIGURATIONERROR; - - UA_STACKARRAY(char, sdsName, sizeof(char) * subscribedDataSet->config.name.length +1); - memcpy(sdsName, subscribedDataSet->config.name.data, subscribedDataSet->config.name.length); - sdsName[subscribedDataSet->config.name.length] = '\0'; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", sdsName); - addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* Create a new id */ - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_SUBSCRIBEDDATASETS), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, sdsName), - UA_NODEID_NUMERIC(0, UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &subscribedDataSet->identifier); - UA_NodeId sdsObjectNode = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "SubscribedDataSet"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - subscribedDataSet->identifier); - UA_NodeId metaDataId = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - subscribedDataSet->identifier); - UA_NodeId connectedId = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "IsConnected"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - subscribedDataSet->identifier); - - if(UA_NodeId_equal(&sdsObjectNode, &UA_NODEID_NULL) || - UA_NodeId_equal(&metaDataId, &UA_NODEID_NULL) || - UA_NodeId_equal(&connectedId, &UA_NODEID_NULL)) { - return UA_STATUSCODE_BADNOTFOUND; - } - if(subscribedDataSet->config.subscribedDataSetType == UA_PUBSUB_SDS_TARGET){ - UA_VariableAttributes attr = UA_VariableAttributes_default; - UA_NodeId targetVarsId; - attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariables"); - attr.dataType = UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE].typeId; - attr.valueRank = UA_VALUERANK_ONE_DIMENSION; - attr.arrayDimensionsSize = 1; - UA_UInt32 arrayDimensions[1]; - arrayDimensions[0] = (UA_UInt32) - subscribedDataSet->config.subscribedDataSet.target.targetVariablesSize; - attr.arrayDimensions = arrayDimensions; - attr.accessLevel = UA_ACCESSLEVELMASK_READ; - UA_Variant_setArray(&attr.value, - subscribedDataSet->config.subscribedDataSet.target.targetVariables, - subscribedDataSet->config.subscribedDataSet.target.targetVariablesSize, - &UA_TYPES[UA_TYPES_FIELDTARGETDATATYPE]); - ret |= addNode(server, UA_NODECLASS_VARIABLE, UA_NODEID_NULL, sdsObjectNode, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - UA_QUALIFIEDNAME(0, "TargetVariables"), - UA_NODEID_NUMERIC(0, UA_NS0ID_PROPERTYTYPE), - &attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES], - NULL, &targetVarsId); - } - - UA_NodePropertyContext *isConnectedNodeContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - isConnectedNodeContext->parentNodeId = subscribedDataSet->identifier; - isConnectedNodeContext->parentClassifier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE; - isConnectedNodeContext->elementClassiefier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_ISCONNECTED; - - UA_ValueCallback valueCallback; - valueCallback.onRead = onRead; - valueCallback.onWrite = NULL; - ret |= addVariableValueSource(server, valueCallback, connectedId, isConnectedNodeContext); - - UA_NodePropertyContext *metaDataContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - metaDataContext->parentNodeId = subscribedDataSet->identifier; - metaDataContext->parentClassifier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETREFDATATYPE; - metaDataContext->elementClassiefier = UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE_DATASETMETADATA; - ret |= addVariableValueSource(server, valueCallback, metaDataId, metaDataContext); - - return ret; -} - -/**********************************************/ -/* WriterGroup */ -/**********************************************/ - -static UA_StatusCode -readContentMask(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, UA_DataValue *value) { - UA_WriterGroup *writerGroup = (UA_WriterGroup*)nodeContext; - if((writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED && - writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - writerGroup->config.messageSettings.content.decoded.type != - &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) - return UA_STATUSCODE_BADINTERNALERROR; - UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) - writerGroup->config.messageSettings.content.decoded.data; - - UA_Variant_setScalarCopy(&value->value, &wgm->networkMessageContentMask, - &UA_TYPES[UA_TYPES_UADPNETWORKMESSAGECONTENTMASK]); - value->hasValue = true; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -writeContentMask(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, const UA_NumericRange *range, - const UA_DataValue *value) { - UA_WriterGroup *writerGroup = (UA_WriterGroup*)nodeContext; - if((writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED && - writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - writerGroup->config.messageSettings.content.decoded.type != - &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) - return UA_STATUSCODE_BADINTERNALERROR; - UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) - writerGroup->config.messageSettings.content.decoded.data; - - if(!value->value.type) - return UA_STATUSCODE_BADTYPEMISMATCH; - if(value->value.type->typeKind != UA_DATATYPEKIND_ENUM && - value->value.type->typeKind != UA_DATATYPEKIND_INT32) - return UA_STATUSCODE_BADTYPEMISMATCH; - - wgm->networkMessageContentMask = *(UA_UadpNetworkMessageContentMask*)value->value.data; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -readGroupVersion(UA_Server *server, const UA_NodeId *sessionId, - void *sessionContext, const UA_NodeId *nodeId, - void *nodeContext, UA_Boolean includeSourceTimeStamp, - const UA_NumericRange *range, UA_DataValue *value) { - UA_WriterGroup *writerGroup = (UA_WriterGroup*)nodeContext; - if((writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED && - writerGroup->config.messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) || - writerGroup->config.messageSettings.content.decoded.type != - &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) - return UA_STATUSCODE_BADINTERNALERROR; - UA_UadpWriterGroupMessageDataType *wgm = (UA_UadpWriterGroupMessageDataType*) - writerGroup->config.messageSettings.content.decoded.data; - - UA_Variant_setScalarCopy(&value->value, &wgm->groupVersion, - &UA_TYPES[UA_DATATYPEKIND_UINT32]); - value->hasValue = true; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -addWriterGroupRepresentation(UA_Server *server, UA_WriterGroup *writerGroup) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - if(writerGroup->config.name.length > 512) - return UA_STATUSCODE_BADOUTOFMEMORY; - char wgName[513]; - memcpy(wgName, writerGroup->config.name.data, writerGroup->config.name.length); - wgName[writerGroup->config.name.length] = '\0'; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", wgName); - retVal = addNode(server, UA_NODECLASS_OBJECT, - UA_NODEID_NUMERIC(1, 0), /* create a new id */ - writerGroup->linkedConnection->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, wgName), - UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &writerGroup->identifier); - - UA_NodeId keepAliveNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "KeepAliveTime"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - writerGroup->identifier); - UA_NodeId publishingIntervalNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishingInterval"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - writerGroup->identifier); - if(UA_NodeId_isNull(&keepAliveNode) || - UA_NodeId_isNull(&publishingIntervalNode)) - return UA_STATUSCODE_BADNOTFOUND; - - UA_NodePropertyContext * publishingIntervalContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - publishingIntervalContext->parentNodeId = writerGroup->identifier; - publishingIntervalContext->parentClassifier = UA_NS0ID_WRITERGROUPTYPE; - publishingIntervalContext->elementClassiefier = UA_NS0ID_WRITERGROUPTYPE_PUBLISHINGINTERVAL; - UA_ValueCallback valueCallback; - valueCallback.onRead = onRead; - valueCallback.onWrite = onWrite; - retVal |= addVariableValueSource(server, valueCallback, - publishingIntervalNode, publishingIntervalContext); - writeAccessLevelAttribute(server, publishingIntervalNode, - UA_ACCESSLEVELMASK_READ ^ UA_ACCESSLEVELMASK_WRITE); - - UA_NodeId priorityNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "Priority"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - writerGroup->identifier); - UA_NodeId writerGroupIdNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "WriterGroupId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - writerGroup->identifier); - - UA_Variant value; - UA_Variant_init(&value); - UA_Variant_setScalar(&value, &writerGroup->config.publishingInterval, &UA_TYPES[UA_TYPES_DURATION]); - writeValueAttribute(server, publishingIntervalNode, &value); - UA_Variant_setScalar(&value, &writerGroup->config.keepAliveTime, &UA_TYPES[UA_TYPES_DURATION]); - writeValueAttribute(server, keepAliveNode, &value); - UA_Variant_setScalar(&value, &writerGroup->config.priority, &UA_TYPES[UA_TYPES_BYTE]); - writeValueAttribute(server, priorityNode, &value); - UA_Variant_setScalar(&value, &writerGroup->config.writerGroupId, &UA_TYPES[UA_TYPES_UINT16]); - writeValueAttribute(server, writerGroupIdNode, &value); - - object_attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); - retVal |= addNode(server, UA_NODECLASS_OBJECT, - UA_NODEID_NUMERIC(1, 0), - writerGroup->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, "MessageSettings"), - UA_NODEID_NUMERIC(0, UA_NS0ID_UADPWRITERGROUPMESSAGETYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, NULL); - - /* Find the variable with the content mask */ - - UA_NodeId messageSettingsId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "MessageSettings"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - writerGroup->identifier); - UA_NodeId contentMaskId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "NetworkMessageContentMask"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), messageSettingsId); - if(!UA_NodeId_isNull(&contentMaskId)) { - /* Set the callback */ - UA_DataSource ds; - ds.read = readContentMask; - ds.write = writeContentMask; - setVariableNode_dataSource(server, contentMaskId, ds); - setNodeContext(server, contentMaskId, writerGroup); - - /* Make writable */ - writeAccessLevelAttribute(server, contentMaskId, - UA_ACCESSLEVELMASK_WRITE | UA_ACCESSLEVELMASK_READ); - - } - UA_NodeId groupVersionId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "GroupVersion"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), messageSettingsId); - if(!UA_NodeId_isNull(&groupVersionId)) { - /* Set the callback */ - UA_DataSource ds; - ds.read = readGroupVersion; - ds.write = NULL; - setVariableNode_dataSource(server, groupVersionId, ds); - setNodeContext(server, groupVersionId, writerGroup); - - /* Read only */ - writeAccessLevelAttribute(server, groupVersionId, - UA_ACCESSLEVELMASK_READ); - - } - - /* Add reference to methods */ - if(server->config.pubSubConfig.enableInformationModelMethods) { - retVal |= addRef(server, writerGroup->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER), true); - retVal |= addRef(server, writerGroup->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER), true); - } - return retVal; -} - -static UA_StatusCode -addWriterGroupAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_WriterGroupDataType *writerGroup = ((UA_WriterGroupDataType *) input[0].data); - UA_NodeId writerGroupId; - retVal |= addWriterGroupConfig(server, *objectId, writerGroup, &writerGroupId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "addWriterGroup failed"); - return retVal; - } - // TODO: Need to handle the UA_Server_setWriterGroupOperational based on the - // status variable in information model - - UA_Variant_setScalarCopy(output, &writerGroupId, &UA_TYPES[UA_TYPES_NODEID]); - return retVal; -} - -static UA_StatusCode -removeGroupAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_NodeId nodeToRemove = *((UA_NodeId *)input->data); - if(UA_WriterGroup_findWGbyId(server, nodeToRemove)) { - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, nodeToRemove); - if(wg->configurationFrozen) - UA_Server_unfreezeWriterGroupConfiguration(server, nodeToRemove); - return UA_Server_removeWriterGroup(server, nodeToRemove); - } else { - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, nodeToRemove); - if(rg->configurationFrozen) - UA_Server_unfreezeReaderGroupConfiguration(server, nodeToRemove); - return UA_Server_removeReaderGroup(server, nodeToRemove); - } -} - -/**********************************************/ -/* ReserveIds */ -/**********************************************/ - -static UA_StatusCode -addReserveIdsLocked(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_String transportProfileUri = *((UA_String *)input[0].data); - UA_UInt16 numRegWriterGroupIds = *((UA_UInt16 *)input[1].data); - UA_UInt16 numRegDataSetWriterIds = *((UA_UInt16 *)input[2].data); - - UA_UInt16 *writerGroupIds; - UA_UInt16 *dataSetWriterIds; - - retVal |= UA_PubSubManager_reserveIds(server, *sessionId, numRegWriterGroupIds, - numRegDataSetWriterIds, transportProfileUri, - &writerGroupIds, &dataSetWriterIds); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "addReserveIds failed"); - return retVal; - } - - /* Check the transportProfileUri */ - UA_String profile_1 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-uadp"); - UA_String profile_2 = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-mqtt-json"); - - if(UA_String_equal(&transportProfileUri, &profile_1) || - UA_String_equal(&transportProfileUri, &profile_2)) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, "ApplicationUri: %.*s", - (int)server->config.applicationDescription.applicationUri.length, - server->config.applicationDescription.applicationUri.data); - retVal |= UA_Variant_setScalarCopy(&output[0], - &server->config.applicationDescription.applicationUri, - &UA_TYPES[UA_TYPES_STRING]); - } else { - retVal |= UA_Variant_setScalarCopy(&output[0], - &server->pubSubManager.defaultPublisherId, - &UA_TYPES[UA_TYPES_UINT64]); - } - - UA_Variant_setArray(&output[1], writerGroupIds, - numRegWriterGroupIds, &UA_TYPES[UA_TYPES_UINT16]); - UA_Variant_setArray(&output[2], dataSetWriterIds, - numRegDataSetWriterIds, &UA_TYPES[UA_TYPES_UINT16]); - - return retVal; -} - -static UA_StatusCode -addReserveIdsAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return addReserveIdsLocked(server, sessionId, sessionHandle, - methodId, methodContext, objectId, objectContext, - inputSize, input, outputSize, output); -} - -/**********************************************/ -/* ReaderGroup */ -/**********************************************/ - -UA_StatusCode -addReaderGroupRepresentation(UA_Server *server, UA_ReaderGroup *readerGroup) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(readerGroup->config.name.length > 512) - return UA_STATUSCODE_BADCONFIGURATIONERROR; - char rgName[513]; - memcpy(rgName, readerGroup->config.name.data, readerGroup->config.name.length); - rgName[readerGroup->config.name.length] = '\0'; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", rgName); - UA_StatusCode retVal = - addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* create an id */ - readerGroup->linkedConnection->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, rgName), UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &readerGroup->identifier); - if(server->config.pubSubConfig.enableInformationModelMethods) { - retVal |= addRef(server, readerGroup->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER), true); - retVal |= addRef(server, readerGroup->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER), true); - } - return retVal; -} - -static UA_StatusCode -addReaderGroupAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_ReaderGroupDataType *readerGroup = ((UA_ReaderGroupDataType *) input->data); - UA_NodeId readerGroupId; - retVal |= addReaderGroupConfig(server, *objectId, readerGroup, &readerGroupId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "addReaderGroup failed"); - return retVal; - } - // TODO: Need to handle the UA_Server_setReaderGroupOperational based on the - // status variable in information model - - UA_Variant_setScalarCopy(output, &readerGroupId, &UA_TYPES[UA_TYPES_NODEID]); - return retVal; -} - -#ifdef UA_ENABLE_PUBSUB_SKS -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL -static UA_Boolean -isValidParentNode(UA_Server *server, UA_NodeId parentId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_Boolean retval = true; - const UA_Node *parentNodeType; - const UA_NodeId parentNodeTypeId = - UA_NODEID_NUMERIC(0, UA_NS0ID_SECURITYGROUPFOLDERTYPE); - const UA_Node *parentNode = UA_NODESTORE_GET(server, &parentId); - - if(parentNode) { - parentNodeType = getNodeType(server, &parentNode->head); - if(parentNodeType) { - retval = UA_NodeId_equal(&parentNodeType->head.nodeId, &parentNodeTypeId); - UA_NODESTORE_RELEASE(server, parentNodeType); - } - UA_NODESTORE_RELEASE(server, parentNode); - } - return retval; -} - -static UA_StatusCode -updateSecurityGroupProperties(UA_Server *server, UA_NodeId *securityGroupNodeId, - UA_SecurityGroupConfig *config) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retval = UA_STATUSCODE_BAD; - UA_Variant value; - UA_Variant_init(&value); - UA_Variant_setScalar(&value, &config->securityGroupName, &UA_TYPES[UA_TYPES_STRING]); - retval = writeObjectProperty(server, *securityGroupNodeId, - UA_QUALIFIEDNAME(0, "SecurityGroupId"), value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /*AddValueCallback*/ - UA_Variant_setScalar(&value, &config->securityPolicyUri, &UA_TYPES[UA_TYPES_STRING]); - retval = writeObjectProperty(server, *securityGroupNodeId, - UA_QUALIFIEDNAME(0, "SecurityPolicyUri"), value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - UA_Variant_setScalar(&value, &config->keyLifeTime, &UA_TYPES[UA_TYPES_DURATION]); - retval = writeObjectProperty(server, *securityGroupNodeId, - UA_QUALIFIEDNAME(0, "KeyLifetime"), value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - UA_Variant_setScalar(&value, &config->maxFutureKeyCount, &UA_TYPES[UA_TYPES_UINT32]); - retval = writeObjectProperty(server, *securityGroupNodeId, - UA_QUALIFIEDNAME(0, "MaxFutureKeyCount"), value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - UA_Variant_setScalar(&value, &config->maxPastKeyCount, &UA_TYPES[UA_TYPES_UINT32]); - retval = writeObjectProperty(server, *securityGroupNodeId, - UA_QUALIFIEDNAME(0, "MaxPastKeyCount"), value); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - return retval; -} - -UA_StatusCode -addSecurityGroupRepresentation(UA_Server *server, UA_SecurityGroup *securityGroup) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_StatusCode retval = UA_STATUSCODE_BAD; - - UA_SecurityGroupConfig *securityGroupConfig = &securityGroup->config; - if(!isValidParentNode(server, securityGroup->securityGroupFolderId)) - return UA_STATUSCODE_BADPARENTNODEIDINVALID; - - if(securityGroupConfig->securityGroupName.length <= 0) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_QualifiedName browseName; - UA_QualifiedName_init(&browseName); - browseName.name = securityGroupConfig->securityGroupName; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName.text = securityGroupConfig->securityGroupName; - UA_NodeId refType = UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT); - UA_NodeId nodeType = UA_NODEID_NUMERIC(0, UA_NS0ID_SECURITYGROUPTYPE); - retval = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NULL, - securityGroup->securityGroupFolderId, refType, - browseName, nodeType, &object_attr, - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], NULL, - &securityGroup->securityGroupNodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Add SecurityGroup failed with error: %s.", - UA_StatusCode_name(retval)); - return retval; - } - - retval = updateSecurityGroupProperties(server, - &securityGroup->securityGroupNodeId, - securityGroupConfig); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Add SecurityGroup failed with error: %s.", - UA_StatusCode_name(retval)); - deleteNode(server, securityGroup->securityGroupNodeId, true); - } - return retval; -} - -#endif /* UA_ENABLE_PUBSUB_INFORMATIONMODEL*/ -#endif /* UA_ENABLE_PUBSUB_SKS */ - -/**********************************************/ -/* DataSetWriter */ -/**********************************************/ - -UA_StatusCode -addDataSetWriterRepresentation(UA_Server *server, UA_DataSetWriter *dataSetWriter) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - if(dataSetWriter->config.name.length > 512) - return UA_STATUSCODE_BADOUTOFMEMORY; - - char dswName[513]; - memcpy(dswName, dataSetWriter->config.name.data, dataSetWriter->config.name.length); - dswName[dataSetWriter->config.name.length] = '\0'; - - UA_ObjectAttributes object_attr = UA_ObjectAttributes_default; - object_attr.displayName = UA_LOCALIZEDTEXT("", dswName); - retVal = addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), /* create an id */ - dataSetWriter->linkedWriterGroup, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASDATASETWRITER), - UA_QUALIFIEDNAME(0, dswName), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETWRITERTYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, &dataSetWriter->identifier); - //if connected dataset is null this means it's configured for heartbeats - if(!UA_NodeId_isNull(&dataSetWriter->connectedDataSet)) { - retVal |= addRef(server, dataSetWriter->connectedDataSet, - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETTOWRITER), - dataSetWriter->identifier, true); - } - - UA_NodeId dataSetWriterIdNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetWriterId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - dataSetWriter->identifier); - UA_NodeId keyFrameNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "KeyFrameCount"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - dataSetWriter->identifier); - UA_NodeId dataSetFieldContentMaskNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetFieldContentMask"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - dataSetWriter->identifier); - - UA_NodePropertyContext *dataSetWriterIdContext = (UA_NodePropertyContext *) - UA_malloc(sizeof(UA_NodePropertyContext)); - dataSetWriterIdContext->parentNodeId = dataSetWriter->identifier; - dataSetWriterIdContext->parentClassifier = UA_NS0ID_DATASETWRITERTYPE; - dataSetWriterIdContext->elementClassiefier = UA_NS0ID_DATASETWRITERTYPE_DATASETWRITERID; - UA_ValueCallback valueCallback; - valueCallback.onRead = onRead; - valueCallback.onWrite = NULL; - retVal |= addVariableValueSource(server, valueCallback, - dataSetWriterIdNode, dataSetWriterIdContext); - - UA_Variant value; - UA_Variant_init(&value); - UA_Variant_setScalar(&value, &dataSetWriter->config.dataSetWriterId, - &UA_TYPES[UA_TYPES_UINT16]); - writeValueAttribute(server, dataSetWriterIdNode, &value); - - UA_Variant_setScalar(&value, &dataSetWriter->config.keyFrameCount, - &UA_TYPES[UA_TYPES_UINT32]); - writeValueAttribute(server, keyFrameNode, &value); - - UA_Variant_setScalar(&value, &dataSetWriter->config.dataSetFieldContentMask, - &UA_TYPES[UA_TYPES_DATASETFIELDCONTENTMASK]); - writeValueAttribute(server, dataSetFieldContentMaskNode, &value); - - object_attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); - retVal |= addNode(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0), - dataSetWriter->identifier, - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_QUALIFIEDNAME(0, "MessageSettings"), - UA_NODEID_NUMERIC(0, UA_NS0ID_UADPDATASETWRITERMESSAGETYPE), - &object_attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, NULL); - - return retVal; -} - -static UA_StatusCode -addDataSetWriterLocked(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, *objectId); - if(!wg) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Not a WriterGroup"); - return UA_STATUSCODE_BAD; - } - if(wg->configurationFrozen) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addDataSetWriter cannot be done because writergroup config frozen"); - return UA_STATUSCODE_BAD; - } - - UA_NodeId dataSetWriterId; - UA_DataSetWriterDataType *dataSetWriterData = (UA_DataSetWriterDataType *)input->data; - retVal |= addDataSetWriterConfig(server, objectId, dataSetWriterData, &dataSetWriterId); - if(retVal != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "addDataSetWriter failed"); - return retVal; - } - - UA_Variant_setScalarCopy(output, &dataSetWriterId, &UA_TYPES[UA_TYPES_NODEID]); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -addDataSetWriterAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return addDataSetWriterLocked(server, sessionId, sessionHandle, - methodId, methodContext, objectId, objectContext, - inputSize, input, outputSize, output); -} - -static UA_StatusCode -removeDataSetWriterAction(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output){ - UA_NodeId nodeToRemove = *((UA_NodeId *) input[0].data); - return UA_Server_removeDataSetWriter(server, nodeToRemove); -} - -#ifdef UA_ENABLE_PUBSUB_SKS -/** - * @note The user credentials and permissions are checked in the AccessControl plugin - * before this callback is executed. - */ -static UA_StatusCode -setSecurityKeysLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, size_t inputSize, - const UA_Variant *input, size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /*Check whether the channel is encrypted according to specification*/ - session_list_entry *session_entry; - LIST_FOREACH(session_entry, &server->sessions, pointers) { - if(UA_NodeId_equal(&session_entry->session.sessionId, sessionId)) { - if(session_entry->session.header.channel->securityMode != - UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; - } - } - - if(!server || !input) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - if(inputSize < 7) - return UA_STATUSCODE_BADARGUMENTSMISSING; - if(inputSize > 7 || outputSize > 0) - return UA_STATUSCODE_BADTOOMANYARGUMENTS; - - /*check for types*/ - if(!UA_Variant_hasScalarType(&input[0], &UA_TYPES[UA_TYPES_STRING]) || /*SecurityGroupId*/ - !UA_Variant_hasScalarType(&input[1], &UA_TYPES[UA_TYPES_STRING]) || /*SecurityPolicyUri*/ - !UA_Variant_hasScalarType(&input[2], &UA_TYPES[UA_TYPES_INTEGERID]) || /*CurrentTokenId*/ - !UA_Variant_hasScalarType(&input[3], &UA_TYPES[UA_TYPES_BYTESTRING]) || /*CurrentKey*/ - !UA_Variant_hasArrayType(&input[4], &UA_TYPES[UA_TYPES_BYTESTRING]) || /*FutureKeys*/ - (!UA_Variant_hasScalarType(&input[5], &UA_TYPES[UA_TYPES_DURATION]) && - !UA_Variant_hasScalarType(&input[5], &UA_TYPES[UA_TYPES_DOUBLE])) || /*TimeToNextKey*/ - (!UA_Variant_hasScalarType(&input[6], &UA_TYPES[UA_TYPES_DURATION]) && - !UA_Variant_hasScalarType(&input[6], &UA_TYPES[UA_TYPES_DOUBLE]))) /*TimeToNextKey*/ - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_StatusCode retval = UA_STATUSCODE_BAD; - UA_Duration callbackTime; - UA_String *securityGroupId = (UA_String *)input[0].data; - UA_String *securityPolicyUri = (UA_String *)input[1].data; - UA_UInt32 currentKeyId = *(UA_UInt32 *)input[2].data; - UA_ByteString *currentKey = (UA_ByteString *)input[3].data; - UA_ByteString *futureKeys = (UA_ByteString *)input[4].data; - size_t futureKeySize = input[4].arrayLength; - UA_Duration msTimeToNextKey = *(UA_Duration *)input[5].data; - UA_Duration msKeyLifeTime = *(UA_Duration *)input[6].data; - - UA_PubSubKeyStorage *ks = - UA_PubSubKeyStorage_findKeyStorage(server, *securityGroupId); - if(!ks) - return UA_STATUSCODE_BADNOTFOUND; - - if(!UA_String_equal(securityPolicyUri, &ks->policy->policyUri)) - return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - - if(ks->keyListSize == 0) { - retval = UA_PubSubKeyStorage_storeSecurityKeys(server, ks, currentKeyId, - currentKey, futureKeys, futureKeySize, - msKeyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } else { - retval = UA_PubSubKeyStorage_update(server, ks, currentKey, currentKeyId, - futureKeySize, futureKeys, msKeyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - - retval = UA_PubSubKeyStorage_activateKeyToChannelContext(server, UA_NODEID_NULL, - ks->securityGroupID); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_INFO( - server->config.logging, UA_LOGCATEGORY_SERVER, - "Failed to import Symmetric Keys into PubSub Channel Context with %s \n", - UA_StatusCode_name(retval)); - return retval; - } - - callbackTime = msKeyLifeTime; - if(msTimeToNextKey > 0) - callbackTime = msTimeToNextKey; - - /*move to setSecurityKeysAction*/ - retval = UA_PubSubKeyStorage_addKeyRolloverCallback( - server, ks, (UA_ServerCallback)UA_PubSubKeyStorage_keyRolloverCallback, callbackTime, - &ks->callBackId); - return retval; -} - -static UA_StatusCode -setSecurityKeysAction(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, size_t inputSize, - const UA_Variant *input, size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return setSecurityKeysLocked(server, sessionId, sessionHandle, - methodId, methodContext, - objectId, objectContext, inputSize, - input, outputSize, output); -} - -static UA_StatusCode -getSecurityKeysLocked(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, size_t inputSize, - const UA_Variant *input, size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /*Check whether the channel is encrypted according to specification*/ - session_list_entry *session_entry; - LIST_FOREACH(session_entry, &server->sessions, pointers) { - if(UA_NodeId_equal(&session_entry->session.sessionId, sessionId)) { - if(session_entry->session.header.channel->securityMode != - UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; - } - } - - if(!server || !input) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - if(inputSize < 3 || outputSize < 5) - return UA_STATUSCODE_BADARGUMENTSMISSING; - if(inputSize > 3 || outputSize > 5) - return UA_STATUSCODE_BADTOOMANYARGUMENTS; - - /*check for types*/ - if(!UA_Variant_hasScalarType(&input[0], - &UA_TYPES[UA_TYPES_STRING]) || /*SecurityGroupId*/ - !UA_Variant_hasScalarType(&input[1], - &UA_TYPES[UA_TYPES_INTEGERID]) || /*StartingTokenId*/ - !UA_Variant_hasScalarType(&input[2], - &UA_TYPES[UA_TYPES_UINT32])) /*RequestedKeyCount*/ - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_StatusCode retval = UA_STATUSCODE_BAD; - UA_UInt32 currentKeyCount = 1; - /* input */ - UA_String *securityGroupId = (UA_String *)input[0].data; - UA_UInt32 startingTokenId = *(UA_UInt32 *)input[1].data; - UA_UInt32 requestedKeyCount = *(UA_UInt32 *)input[2].data; - - UA_PubSubKeyStorage *ks = - UA_PubSubKeyStorage_findKeyStorage(server, *securityGroupId); - if(!ks) - return UA_STATUSCODE_BADNOTFOUND; - - UA_Boolean executable = false; - UA_SecurityGroup *sg = UA_SecurityGroup_findSGbyName(server, *securityGroupId); - void *sgNodeCtx; - getNodeContext(server, sg->securityGroupNodeId, (void **)&sgNodeCtx); - executable = server->config.accessControl.getUserExecutableOnObject( - server, &server->config.accessControl, sessionId, sessionHandle, methodId, - methodContext, &sg->securityGroupNodeId, sgNodeCtx); - - if(!executable) - return UA_STATUSCODE_BADUSERACCESSDENIED; - - /* If the caller requests a number larger than the Security Key Service permits, then - * the SKS shall return the maximum it allows.*/ - if(requestedKeyCount > sg->config.maxFutureKeyCount) - requestedKeyCount =(UA_UInt32) sg->keyStorage->keyListSize; - else - requestedKeyCount = requestedKeyCount + currentKeyCount; /* Add Current keyCount */ - - /*The current token is requested by passing 0.*/ - UA_PubSubKeyListItem *startingItem = NULL; - if(startingTokenId == 0) { - /* currentItem is always set by the server when a security group is added */ - UA_assert(sg->keyStorage->currentItem != NULL); - startingItem = sg->keyStorage->currentItem; - } else { - retval = UA_PubSubKeyStorage_getKeyByKeyID( - startingTokenId, sg->keyStorage, &startingItem); - /*If the StartingTokenId is unknown, the oldest (firstItem) available tokens are - * returned. */ - if(retval == UA_STATUSCODE_BADNOTFOUND) - startingItem = TAILQ_FIRST(&sg->keyStorage->keyList); - } - - /*SecurityPolicyUri*/ - retval = UA_Variant_setScalarCopy(&output[0], &(sg->keyStorage->policy->policyUri), - &UA_TYPES[UA_TYPES_STRING]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /*FirstTokenId*/ - retval = UA_Variant_setScalarCopy(&output[1], &startingItem->keyID, - &UA_TYPES[UA_TYPES_INTEGERID]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /*TimeToNextKey*/ - UA_DateTime baseTime = sg->baseTime; - UA_DateTime currentTime = UA_DateTime_nowMonotonic(); - UA_Duration interval = sg->config.keyLifeTime; - UA_Duration timeToNextKey = - (UA_Duration)((currentTime - baseTime) / UA_DATETIME_MSEC); - timeToNextKey = interval - timeToNextKey; - retval = UA_Variant_setScalarCopy(&output[3], &timeToNextKey, - &UA_TYPES[UA_TYPES_DURATION]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /*KeyLifeTime*/ - retval = UA_Variant_setScalarCopy(&output[4], &sg->config.keyLifeTime, - &UA_TYPES[UA_TYPES_DURATION]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /*Keys*/ - UA_PubSubKeyListItem *iterator = startingItem; - output[2].data = (UA_ByteString *)UA_calloc(requestedKeyCount, startingItem->key.length); - if(!output[2].data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_ByteString *requestedKeys = (UA_ByteString *)output[2].data; - UA_UInt32 retkeyCount = 0; - for(size_t i = 0; i < requestedKeyCount; i++) { - UA_ByteString_copy(&iterator->key, &requestedKeys[i]); - ++retkeyCount; - iterator = TAILQ_NEXT(iterator, keyListEntry); - if(!iterator) { - requestedKeyCount = retkeyCount; - break; - } - } - - UA_Variant_setArray(&output[2], requestedKeys, requestedKeyCount, &UA_TYPES[UA_TYPES_BYTESTRING]); - return retval; -} - -static UA_StatusCode -getSecurityKeysAction(UA_Server *server, const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, size_t inputSize, - const UA_Variant *input, size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - return getSecurityKeysLocked(server, sessionId, sessionHandle, - methodId, methodContext, - objectId, objectContext, inputSize, - input, outputSize, output); -} -#endif - -/**********************************************/ -/* Destructors */ -/**********************************************/ - -static void -connectionTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "Connection destructor called!"); - UA_NodeId publisherIdNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - UA_NodePropertyContext *ctx; - getNodeContext(server, publisherIdNode, (void **)&ctx); - if(!UA_NodeId_isNull(&publisherIdNode)) - UA_free(ctx); -} - -static void -writerGroupTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "WriterGroup destructor called!"); - UA_NodeId intervalNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishingInterval"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - UA_NodePropertyContext *ctx; - getNodeContext(server, intervalNode, (void **)&ctx); - if(!UA_NodeId_isNull(&intervalNode)) - UA_free(ctx); -} - -static void -readerGroupTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "ReaderGroup destructor called!"); -} - -static void -dataSetWriterTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "DataSetWriter destructor called!"); - UA_NodeId dataSetWriterIdNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetWriterId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - UA_NodePropertyContext *ctx; - getNodeContext(server, dataSetWriterIdNode, (void **)&ctx); - if(!UA_NodeId_isNull(&dataSetWriterIdNode)) - UA_free(ctx); -} - -static void -dataSetReaderTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "DataSetReader destructor called!"); - UA_NodeId publisherIdNode = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublisherId"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - UA_NodePropertyContext *ctx; - getNodeContext(server, publisherIdNode, (void **)&ctx); - if(!UA_NodeId_isNull(&publisherIdNode)) - UA_free(ctx); -} - -static void -publishedDataItemsTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "PublishedDataItems destructor called!"); - void *childContext; - UA_NodeId node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "PublishedData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - getNodeContext(server, node, (void**)&childContext); - if(!UA_NodeId_isNull(&node)) - UA_free(childContext); - - node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "ConfigurationVersion"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - *nodeId); - getNodeContext(server, node, (void**)&childContext); - if(!UA_NodeId_isNull(&node)) - UA_free(childContext); - - node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - getNodeContext(server, node, (void**)&childContext); - if(!UA_NodeId_isNull(&node)) - UA_free(childContext); -} - -static void -standaloneSubscribedDataSetTypeDestructor(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *typeId, void *typeContext, - const UA_NodeId *nodeId, void **nodeContext) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_USERLAND, - "Standalone SubscribedDataSet destructor called!"); - void *childContext; - UA_NodeId node = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), *nodeId); - getNodeContext(server, node, (void**)&childContext); - if(!UA_NodeId_equal(&UA_NODEID_NULL , &node)) - UA_free(childContext); - node = findSingleChildNode(server, UA_QUALIFIEDNAME(0, "IsConnected"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - *nodeId); - getNodeContext(server, node, (void**)&childContext); - if(!UA_NodeId_equal(&UA_NODEID_NULL , &node)) - UA_free(childContext); -} - -/*************************************/ -/* PubSub configurator */ -/*************************************/ - -#ifdef UA_ENABLE_PUBSUB_FILE_CONFIG - -/* Callback function that will be executed when the method "PubSub configurator - * (replace config)" is called. */ -static UA_StatusCode -UA_loadPubSubConfigMethodCallback(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(inputSize == 1) { - UA_ByteString *inputStr = (UA_ByteString*)input->data; - UA_StatusCode res = UA_PubSubManager_loadPubSubConfigFromByteString(server, *inputStr); - return res; - } else if(inputSize > 1) { - return UA_STATUSCODE_BADTOOMANYARGUMENTS; - } else { - return UA_STATUSCODE_BADARGUMENTSMISSING; - } -} - -/* Callback function that will be executed when the method "PubSub configurator - * (delete config)" is called. */ -static UA_StatusCode -UA_deletePubSubConfigMethodCallback(UA_Server *server, - const UA_NodeId *sessionId, void *sessionHandle, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext, - size_t inputSize, const UA_Variant *input, - size_t outputSize, UA_Variant *output) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_PubSubManager_delete(server, &server->pubSubManager); - return UA_STATUSCODE_GOOD; -} - -#endif - -UA_StatusCode -initPubSubNS0(UA_Server *server) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - UA_String profileArray[1]; - profileArray[0] = UA_STRING("http://opcfoundation.org/UA-Profile/Transport/pubsub-udp-uadp"); - - retVal |= writePubSubNs0VariableArray(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_SUPPORTEDTRANSPORTPROFILES), - profileArray, 1, &UA_TYPES[UA_TYPES_STRING]); - - if(server->config.pubSubConfig.enableInformationModelMethods) { - /* Add missing references */ - retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER), true); - retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS), true); - retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET), true); - retVal |= addRef(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBLISHEDDATASETS), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER), true); - - /* Set method callbacks */ - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION), addPubSubConnectionAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION), removeConnectionAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDDATASETFOLDER), addDataSetFolderAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEDATASETFOLDER), removeDataSetFolderAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_ADDPUBLISHEDDATAITEMS), addPublishedDataItemsAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETFOLDERTYPE_REMOVEPUBLISHEDDATASET), removePublishedDataSetAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_ADDVARIABLES), addVariablesAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE_REMOVEVARIABLES), removeVariablesAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDWRITERGROUP), addWriterGroupAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_ADDREADERGROUP), addReaderGroupAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE_REMOVEGROUP), removeGroupAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_ADDDATASETWRITER), addDataSetWriterAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE_REMOVEDATASETWRITER), removeDataSetWriterAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_ADDDATASETREADER), addDataSetReaderAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE_REMOVEDATASETREADER), removeDataSetReaderAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_PUBSUBCONFIGURATION_RESERVEIDS), addReserveIdsAction); -#ifdef UA_ENABLE_PUBSUB_SKS - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_SETSECURITYKEYS), setSecurityKeysAction); - retVal |= setMethodNode_callback(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS), getSecurityKeysAction); -#endif - -#ifdef UA_ENABLE_PUBSUB_FILE_CONFIG - /* Adds method node to server. This method is used to load binary files for - * PubSub configuration and delete / replace old PubSub configurations. */ - UA_Argument inputArgument; - UA_Argument_init(&inputArgument); - inputArgument.description = UA_LOCALIZEDTEXT("", "PubSub config binfile"); - inputArgument.name = UA_STRING("BinFile"); - inputArgument.dataType = UA_TYPES[UA_TYPES_BYTESTRING].typeId; - inputArgument.valueRank = UA_VALUERANK_SCALAR; - - UA_MethodAttributes configAttr = UA_MethodAttributes_default; - configAttr.description = UA_LOCALIZEDTEXT("","Load binary configuration file"); - configAttr.displayName = UA_LOCALIZEDTEXT("","LoadPubSubConfigurationFile"); - configAttr.executable = true; - configAttr.userExecutable = true; - retVal |= addMethodNode(server, UA_NODEID_NULL, - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASORDEREDCOMPONENT), - UA_QUALIFIEDNAME(1, "PubSub configuration"), - &configAttr, UA_loadPubSubConfigMethodCallback, - 1, &inputArgument, UA_NODEID_NULL, NULL, - 0, NULL, UA_NODEID_NULL, NULL, - NULL, NULL); - - /* Adds method node to server. This method is used to delete the current - * PubSub configuration. */ - configAttr.description = UA_LOCALIZEDTEXT("","Delete current PubSub configuration"); - configAttr.displayName = UA_LOCALIZEDTEXT("","DeletePubSubConfiguration"); - configAttr.executable = true; - configAttr.userExecutable = true; - retVal |= addMethodNode(server, UA_NODEID_NULL, - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASORDEREDCOMPONENT), - UA_QUALIFIEDNAME(1, "Delete PubSub config"), - &configAttr, UA_deletePubSubConfigMethodCallback, - 0, NULL, UA_NODEID_NULL, NULL, - 0, NULL, UA_NODEID_NULL, NULL, - NULL, NULL); -#endif - } else { - /* Remove methods */ - retVal |= deleteReference(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), true, - UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_ADDCONNECTION), - false); - retVal |= deleteReference(server, UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), true, - UA_EXPANDEDNODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_REMOVECONNECTION), - false); - } - - /* Set the object-type destructors */ - UA_NodeTypeLifecycle lifeCycle; - lifeCycle.constructor = NULL; - - lifeCycle.destructor = connectionTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBSUBCONNECTIONTYPE), - lifeCycle); - - lifeCycle.destructor = writerGroupTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_WRITERGROUPTYPE), - lifeCycle); - - lifeCycle.destructor = readerGroupTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_READERGROUPTYPE), - lifeCycle); - - lifeCycle.destructor = dataSetWriterTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETWRITERTYPE), - lifeCycle); - - lifeCycle.destructor = publishedDataItemsTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHEDDATAITEMSTYPE), - lifeCycle); - - lifeCycle.destructor = dataSetReaderTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_DATASETREADERTYPE), - lifeCycle); - - lifeCycle.destructor = standaloneSubscribedDataSetTypeDestructor; - retVal |= setNodeTypeLifecycle(server, - UA_NODEID_NUMERIC(0, UA_NS0ID_STANDALONESUBSCRIBEDDATASETTYPE), - lifeCycle); - - return retVal; -} - -UA_StatusCode -connectDataSetReaderToDataSet(UA_Server *server, UA_NodeId dsrId, UA_NodeId standaloneSdsId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retVal = UA_STATUSCODE_GOOD; - - UA_NodeId dataSetMetaDataOnDsrId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), dsrId); - UA_NodeId subscribedDataSetOnDsrId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "SubscribedDataSet"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), dsrId); - UA_NodeId dataSetMetaDataOnSdsId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "DataSetMetaData"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), standaloneSdsId); - UA_NodeId subscribedDataSetOnSdsId = - findSingleChildNode(server, UA_QUALIFIEDNAME(0, "SubscribedDataSet"), - UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT), standaloneSdsId); - - if(UA_NodeId_isNull(&dataSetMetaDataOnDsrId) || - UA_NodeId_isNull(&subscribedDataSetOnDsrId) || - UA_NodeId_isNull(&dataSetMetaDataOnSdsId) || - UA_NodeId_isNull(&subscribedDataSetOnSdsId)) - return UA_STATUSCODE_BADNOTFOUND; - - UA_NODESTORE_REMOVE(server, &dataSetMetaDataOnDsrId); - UA_NODESTORE_REMOVE(server, &subscribedDataSetOnDsrId); - - retVal |= addRef(server, dsrId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - UA_NODEID_NUMERIC(dataSetMetaDataOnSdsId.namespaceIndex, - dataSetMetaDataOnSdsId.identifier.numeric), true); - retVal |= addRef(server, dsrId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY), - UA_NODEID_NUMERIC(subscribedDataSetOnSdsId.namespaceIndex, - subscribedDataSetOnSdsId.identifier.numeric), true); - - return retVal; -} - -#endif /* UA_ENABLE_PUBSUB_INFORMATIONMODEL */ - -/**** amalgamated original file "/src/pubsub/ua_pubsub_keystorage.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2019 ifak e.V. Magdeburg (Holger Zipper) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - - -#ifdef UA_ENABLE_PUBSUB_SKS /* conditional compilation */ - -#define UA_REQ_CURRENT_TOKEN 0 - - -UA_PubSubKeyStorage * -UA_PubSubKeyStorage_findKeyStorage(UA_Server *server, UA_String securityGroupId) { - if(!server || UA_String_isEmpty(&securityGroupId)) - return NULL; - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PubSubKeyStorage *outKeyStorage; - LIST_FOREACH(outKeyStorage, &server->pubSubManager.pubSubKeyList, keyStorageList) { - if(UA_String_equal(&outKeyStorage->securityGroupID, &securityGroupId)) - return outKeyStorage; - } - return NULL; -} - -UA_PubSubSecurityPolicy * -findPubSubSecurityPolicy(UA_Server *server, const UA_String *securityPolicyUri) { - if(!server || !securityPolicyUri) - return NULL; - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_ServerConfig *config = &server->config; - for(size_t i = 0; i < config->pubSubConfig.securityPoliciesSize; i++) { - if(UA_String_equal(securityPolicyUri, - &config->pubSubConfig.securityPolicies[i].policyUri)) - return &config->pubSubConfig.securityPolicies[i]; - } - return NULL; -} - -static void -UA_PubSubKeyStorage_clearKeyList(UA_PubSubKeyStorage *keyStorage) { - if(TAILQ_EMPTY(&keyStorage->keyList)) - return; - - UA_PubSubKeyListItem *item, *item_tmp; - TAILQ_FOREACH_SAFE(item, &keyStorage->keyList, keyListEntry, item_tmp) { - TAILQ_REMOVE(&keyStorage->keyList, item, keyListEntry); - UA_ByteString_clear(&item->key); - UA_free(item); - } - keyStorage->keyListSize = 0; -} - -void -UA_PubSubKeyStorage_delete(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { - UA_assert(keyStorage != NULL); - UA_assert(server != NULL); - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Remove callback */ - if(!keyStorage->callBackId != 0) { - removeCallback(server, keyStorage->callBackId); - keyStorage->callBackId = 0; - } - - UA_PubSubKeyStorage_clearKeyList(keyStorage); - UA_String_clear(&keyStorage->securityGroupID); - UA_ClientConfig_clear(&keyStorage->sksConfig.clientConfig); - UA_free(keyStorage); -} - -UA_StatusCode -UA_PubSubKeyStorage_init(UA_Server *server, UA_PubSubKeyStorage *keyStorage, - const UA_String *securityGroupId, - UA_PubSubSecurityPolicy *policy, - UA_UInt32 maxPastKeyCount, UA_UInt32 maxFutureKeyCount) { - UA_StatusCode res = UA_String_copy(securityGroupId, &keyStorage->securityGroupID); - if(res != UA_STATUSCODE_GOOD) - return res; - - UA_UInt32 currentkeyCount = 1; - keyStorage->maxPastKeyCount = maxPastKeyCount; - keyStorage->maxFutureKeyCount = maxFutureKeyCount; - keyStorage->maxKeyListSize = maxPastKeyCount + currentkeyCount + maxFutureKeyCount; - keyStorage->policy = policy; - - /* Add this keystorage to the server keystoragelist */ - LIST_INSERT_HEAD(&server->pubSubManager.pubSubKeyList, keyStorage, keyStorageList); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_PubSubKeyStorage_storeSecurityKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage, - UA_UInt32 currentTokenId, const UA_ByteString *currentKey, - UA_ByteString *futureKeys, size_t futureKeyCount, - UA_Duration msKeyLifeTime) { - UA_assert(server); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode retval = UA_STATUSCODE_BAD; - - if(futureKeyCount > 0 && !futureKeys) { - retval = UA_STATUSCODE_BADARGUMENTSMISSING; - goto error; - } - - size_t keyNumber = futureKeyCount; - - if(currentKey && keyStorage->keyListSize == 0) { - - keyStorage->keyListSize++; - UA_PubSubKeyListItem *keyItem = - (UA_PubSubKeyListItem *)UA_calloc(1, sizeof(UA_PubSubKeyListItem)); - if(!keyItem) - goto error; - retval = UA_ByteString_copy(currentKey, &keyItem->key); - if(UA_StatusCode_isBad(retval)) - goto error; - - keyItem->keyID = currentTokenId; - - TAILQ_INIT(&keyStorage->keyList); - TAILQ_INSERT_HEAD(&keyStorage->keyList, keyItem, keyListEntry); - } - - UA_PubSubKeyListItem *keyListIterator = TAILQ_FIRST(&keyStorage->keyList); - UA_UInt32 startingTokenID = currentTokenId + 1; - for(size_t i = 0; i < keyNumber; ++i) { - retval = UA_PubSubKeyStorage_getKeyByKeyID( - startingTokenID, keyStorage, &keyListIterator); - /*Skipping key with matching KeyID in existing list*/ - if(retval == UA_STATUSCODE_BADNOTFOUND) { - keyListIterator = UA_PubSubKeyStorage_push(keyStorage, &futureKeys[i], startingTokenID); - if(!keyListIterator) - goto error; - - keyStorage->keyListSize++; - } - if(startingTokenID == UA_UINT32_MAX) - startingTokenID = 1; - else - ++startingTokenID; - } - - /*update keystorage references*/ - retval = UA_PubSubKeyStorage_getKeyByKeyID(currentTokenId, keyStorage, &keyStorage->currentItem); - if (retval != UA_STATUSCODE_GOOD && !keyStorage->currentItem) - goto error; - - keyStorage->keyLifeTime = msKeyLifeTime; - - return retval; -error: - if(keyStorage) { - UA_PubSubKeyStorage_clearKeyList(keyStorage); - } - return retval; -} - -UA_StatusCode -UA_PubSubKeyStorage_getKeyByKeyID(const UA_UInt32 keyId, UA_PubSubKeyStorage *keyStorage, - UA_PubSubKeyListItem **keyItem) { - - if(!keyStorage) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_PubSubKeyListItem *item; - TAILQ_FOREACH(item, &keyStorage->keyList, keyListEntry){ - if(item->keyID == keyId) { - *keyItem = item; - return UA_STATUSCODE_GOOD; - } - } - return UA_STATUSCODE_BADNOTFOUND; -} - -UA_PubSubKeyListItem * -UA_PubSubKeyStorage_push(UA_PubSubKeyStorage *keyStorage, const UA_ByteString *key, - UA_UInt32 keyID) { - UA_PubSubKeyListItem *newItem = (UA_PubSubKeyListItem *)malloc(sizeof(UA_PubSubKeyListItem)); - if (!newItem) - return NULL; - - newItem->keyID = keyID; - UA_ByteString_copy(key, &newItem->key); - TAILQ_INSERT_TAIL(&keyStorage->keyList, newItem, keyListEntry); - - return TAILQ_LAST(&keyStorage->keyList, keyListItems); -} - -UA_StatusCode -UA_PubSubKeyStorage_addKeyRolloverCallback(UA_Server *server, - UA_PubSubKeyStorage *keyStorage, - UA_ServerCallback callback, - UA_Duration timeToNextMs, - UA_UInt64 *callbackID) { - if(!server || !keyStorage || !callback || timeToNextMs <= 0) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_EventLoop *el = server->config.eventLoop; - if(*callbackID != 0) - el->removeCyclicCallback(el, *callbackID); - - UA_DateTime dateTimeToNextKey = UA_DateTime_nowMonotonic() + - (UA_DateTime)(UA_DATETIME_MSEC * timeToNextMs); - return el->addTimedCallback(el, (UA_Callback)callback, server, keyStorage, - dateTimeToNextKey, callbackID); -} - -static UA_StatusCode -splitCurrentKeyMaterial(UA_PubSubKeyStorage *keyStorage, UA_ByteString *signingKey, - UA_ByteString *encryptingKey, UA_ByteString *keyNonce) { - if(!keyStorage) - return UA_STATUSCODE_BADNOTFOUND; - - if(!keyStorage->policy) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_PubSubSecurityPolicy *policy = keyStorage->policy; - - UA_ByteString key = keyStorage->currentItem->key; - - /*Check the main key length is the same according to policy*/ - if(key.length != policy->symmetricModule.secureChannelNonceLength) - return UA_STATUSCODE_BADINTERNALERROR; - - /*Get Key Length according to policy*/ - size_t signingkeyLength = - policy->symmetricModule.cryptoModule.signatureAlgorithm.getLocalKeyLength(NULL); - size_t encryptkeyLength = - policy->symmetricModule.cryptoModule.encryptionAlgorithm.getLocalKeyLength(NULL); - /*Rest of the part is the keyNonce*/ - size_t keyNonceLength = key.length - signingkeyLength - encryptkeyLength; - - /*DivideKeys in origin ByteString*/ - signingKey->data = key.data; - signingKey->length = signingkeyLength; - - encryptingKey->data = key.data + signingkeyLength; - encryptingKey->length = encryptkeyLength; - - keyNonce->data = key.data + signingkeyLength + encryptkeyLength; - keyNonce->length = keyNonceLength; - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setPubSubGroupEncryptingKey(UA_Server *server, UA_NodeId PubSubGroupId, UA_UInt32 securityTokenId, - UA_ByteString signingKey, UA_ByteString encryptingKey, - UA_ByteString keyNonce) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_StatusCode retval = - setWriterGroupEncryptionKeys(server, PubSubGroupId, securityTokenId, - signingKey, encryptingKey, keyNonce); - if(retval == UA_STATUSCODE_BADNOTFOUND) - retval = setReaderGroupEncryptionKeys(server, PubSubGroupId, securityTokenId, - signingKey, encryptingKey, keyNonce); - return retval; -} - -static UA_StatusCode -setPubSubGroupEncryptingKeyForMatchingSecurityGroupId(UA_Server *server, - UA_String securityGroupId, - UA_UInt32 securityTokenId, - UA_ByteString signingKey, - UA_ByteString encryptingKey, - UA_ByteString keyNonce) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_StatusCode retval = UA_STATUSCODE_BAD; - UA_PubSubConnection *tmpPubSubConnections; - - /* Key storage is the same for all reader / writer groups, channel context isn't - * => Update channelcontext in all Writergroups / ReaderGroups which have the same - * securityGroupId*/ - TAILQ_FOREACH(tmpPubSubConnections, &server->pubSubManager.connections, listEntry) { - /* For each writerGroup in server with matching SecurityGroupId */ - UA_WriterGroup *tmpWriterGroup; - LIST_FOREACH(tmpWriterGroup, &tmpPubSubConnections->writerGroups, listEntry) { - if(UA_String_equal(&tmpWriterGroup->config.securityGroupId, &securityGroupId)) { - retval = setWriterGroupEncryptionKeys(server, tmpWriterGroup->identifier, - securityTokenId, signingKey, - encryptingKey, keyNonce); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - } - - /* For each readerGroup in server with matching SecurityGroupId */ - UA_ReaderGroup *tmpReaderGroup; - LIST_FOREACH(tmpReaderGroup, &tmpPubSubConnections->readerGroups, listEntry) { - if(UA_String_equal(&tmpReaderGroup->config.securityGroupId, &securityGroupId)) { - retval = setReaderGroupEncryptionKeys(server, tmpReaderGroup->identifier, - securityTokenId, signingKey, - encryptingKey, keyNonce); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - } - } - return retval; -} - -UA_StatusCode -UA_PubSubKeyStorage_activateKeyToChannelContext(UA_Server *server, UA_NodeId pubSubGroupId, - UA_String securityGroupId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(securityGroupId.data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_PubSubKeyStorage *keyStorage = - UA_PubSubKeyStorage_findKeyStorage(server, securityGroupId); - if(!keyStorage) - return UA_STATUSCODE_BADNOTFOUND; - - if(!keyStorage->policy && !(keyStorage->keyListSize > 0)) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_UInt32 securityTokenId = keyStorage->currentItem->keyID; - - /*DivideKeys in origin ByteString*/ - UA_ByteString signingKey; - UA_ByteString encryptKey; - UA_ByteString keyNonce; - UA_StatusCode retval = splitCurrentKeyMaterial(keyStorage, &signingKey, - &encryptKey, &keyNonce); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - if(!UA_NodeId_isNull(&pubSubGroupId)) - retval = setPubSubGroupEncryptingKey(server, pubSubGroupId, securityTokenId, - signingKey, encryptKey, keyNonce); - else - retval = setPubSubGroupEncryptingKeyForMatchingSecurityGroupId( - server, securityGroupId, securityTokenId, signingKey, encryptKey, keyNonce); - - if(retval != UA_STATUSCODE_GOOD) - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Failed to set Encrypting keys with Error: %s", - UA_StatusCode_name(retval)); - - return retval; -} - -static void -nextGetSecuritykeysCallback(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { - UA_StatusCode retval = UA_STATUSCODE_BAD; - if(!keyStorage) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "GetSecurityKeysCall Failed with error: KeyStorage does not exist " - "in the server"); - return; - } - retval = getSecurityKeysAndStoreFetchedKeys(server, keyStorage); - if(retval != UA_STATUSCODE_GOOD) - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "GetSecurityKeysCall Failed with error: %s ", - UA_StatusCode_name(retval)); -} - -void -UA_PubSubKeyStorage_keyRolloverCallback(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { - /* Callbacks from the EventLoop are initially unlocked */ - lockServer(server); - UA_StatusCode retval = - UA_PubSubKeyStorage_addKeyRolloverCallback(server, keyStorage, - (UA_ServerCallback)UA_PubSubKeyStorage_keyRolloverCallback, - keyStorage->keyLifeTime, &keyStorage->callBackId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Failed to update keys for security group id '%.*s'. Reason: '%s'.", - (int)keyStorage->securityGroupID.length, - keyStorage->securityGroupID.data, UA_StatusCode_name(retval)); - } - - if(keyStorage->currentItem != TAILQ_LAST(&keyStorage->keyList, keyListItems)) { - keyStorage->currentItem = TAILQ_NEXT(keyStorage->currentItem, keyListEntry); - keyStorage->currentTokenId = keyStorage->currentItem->keyID; - retval = UA_PubSubKeyStorage_activateKeyToChannelContext(server, UA_NODEID_NULL, - keyStorage->securityGroupID); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Failed to update keys for security group id '%.*s'. Reason: '%s'.", - (int)keyStorage->securityGroupID.length, keyStorage->securityGroupID.data, - UA_StatusCode_name(retval)); - } - } else if(keyStorage->sksConfig.endpointUrl && keyStorage->sksConfig.reqId == 0) { - UA_DateTime now = UA_DateTime_nowMonotonic(); - /*Publishers using a central SKS shall call GetSecurityKeys at a period of half the KeyLifetime */ - UA_Duration msTimeToNextGetSecurityKeys = keyStorage->keyLifeTime / 2; - UA_DateTime dateTimeToNextGetSecurityKeys = - now + (UA_DateTime)(UA_DATETIME_MSEC * msTimeToNextGetSecurityKeys); - retval = server->config.eventLoop->addTimedCallback( - server->config.eventLoop, (UA_Callback)nextGetSecuritykeysCallback, server, - keyStorage, dateTimeToNextGetSecurityKeys, NULL); - } - unlockServer(server); -} - -UA_StatusCode -UA_PubSubKeyStorage_update(UA_Server *server, UA_PubSubKeyStorage *keyStorage, - const UA_ByteString *currentKey, UA_UInt32 currentKeyID, - const size_t futureKeySize, UA_ByteString *futureKeys, - UA_Duration msKeyLifeTime) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - if(!keyStorage) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - UA_PubSubKeyListItem *keyListIterator = NULL; - - if(currentKeyID != 0){ - /* If currentKeyId is known then update keystorage currentItem */ - retval = UA_PubSubKeyStorage_getKeyByKeyID(currentKeyID, keyStorage, - &keyListIterator); - if(retval == UA_STATUSCODE_GOOD && keyListIterator) { - keyStorage->currentItem = keyListIterator; - /* Add new keys at the end of KeyList */ - retval = UA_PubSubKeyStorage_storeSecurityKeys(server, keyStorage, currentKeyID, - NULL, futureKeys, futureKeySize, - msKeyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } else if(retval == UA_STATUSCODE_BADNOTFOUND) { - /* If the CurrentTokenId is unknown, the existing list shall be - * discarded and replaced by the fetched list */ - UA_PubSubKeyStorage_clearKeyList(keyStorage); - retval = UA_PubSubKeyStorage_storeSecurityKeys(server, keyStorage, - currentKeyID, currentKey, futureKeys, - futureKeySize, msKeyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - } - return retval; -} - -void -UA_PubSubKeyStorage_detachKeyStorage(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - keyStorage->referenceCount--; - if(keyStorage->referenceCount == 0) { - LIST_REMOVE(keyStorage, keyStorageList); - UA_PubSubKeyStorage_delete(server, keyStorage); - } -} - -/** - * @brief It holds the information required in the async callback to - * GetSecurityKeys method Call. - */ -typedef struct { - UA_Server *server; - UA_PubSubKeyStorage *ks; - UA_UInt32 startingTokenId; - UA_UInt32 requestedKeyCount; - UA_DelayedCallback dc; -} sksClientContext; - -static void sksClientCleanupCb(void *client, void *context); - -static void -addDelayedSksClientCleanupCb(UA_Client *client, sksClientContext *context) { - /* Register at most once */ - if(context->dc.application != NULL) - return; - context->dc.application = client; - context->dc.callback = sksClientCleanupCb; - context->dc.context = context; - client->config.eventLoop->addDelayedCallback(client->config.eventLoop, &context->dc); -} - -static void -sksClientCleanupCb(void *client, void *context) { - UA_Client *sksClient = (UA_Client *)client; - sksClientContext *ctx = (sksClientContext*)context; - - /* we do not want to call state change Callback when cleaning up */ - sksClient->config.stateCallback = NULL; - - if(sksClient->sessionState > UA_SESSIONSTATE_CLOSED && - sksClient->channel.state < UA_SECURECHANNELSTATE_CLOSED) { - sksClient->config.eventLoop-> - addDelayedCallback(sksClient->config.eventLoop, &ctx->dc); - UA_Client_disconnectAsync(sksClient); - return; - } - - if(sksClient->channel.state == UA_SECURECHANNELSTATE_CLOSED) { - /* We cannot make deep copy of the following pointers because these have - * internal structures, therefore we do not free them here. These will - * be freed in UA_PubSubKeyStorage_delete. */ - sksClient->config.securityPolicies = NULL; - sksClient->config.securityPoliciesSize = 0; - sksClient->config.authSecurityPolicies = NULL; - sksClient->config.authSecurityPoliciesSize = 0; - sksClient->config.certificateVerification.context = NULL; - sksClient->config.logging = NULL; - sksClient->config.clientContext = NULL; - UA_Client_delete(sksClient); - UA_free(context); - } else { - sksClient->config.eventLoop-> - addDelayedCallback(sksClient->config.eventLoop, &ctx->dc); - } -} - -static void -storeFetchedKeys(UA_Client *client, void *userdata, UA_UInt32 requestId, - UA_CallResponse *response) { - - sksClientContext *ctx = (sksClientContext *)userdata; - UA_PubSubKeyStorage *ks = ctx->ks; - UA_Server *server = ctx->server; - UA_StatusCode retval = response->responseHeader.serviceResult; - - lockServer(server); - /* check if the call to getSecurityKeys was a success */ - if(response->resultsSize != 0) - retval = response->results->statusCode; - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "SKS Client: Failed to call GetSecurityKeys on SKS server with error: %s ", - UA_StatusCode_name(retval)); - goto cleanup; - } - - UA_String *securityPolicyUri = (UA_String *)response->results->outputArguments[0].data; - UA_UInt32 firstTokenId = *(UA_UInt32 *)response->results->outputArguments[1].data; - UA_ByteString *keys = (UA_ByteString *)response->results->outputArguments[2].data; - UA_ByteString *currentKey = &keys[0]; - UA_UInt32 currentKeyCount = 1; - UA_ByteString *futureKeys = &keys[currentKeyCount]; - size_t futureKeySize = response->results->outputArguments[2].arrayLength - currentKeyCount; - UA_Duration msKeyLifeTime = *(UA_Duration *)response->results->outputArguments[4].data; - - if(!UA_String_equal(securityPolicyUri, &ks->policy->policyUri)) { - retval = UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - goto cleanup; - } - - if(ks->keyListSize == 0) { - retval = UA_PubSubKeyStorage_storeSecurityKeys(server, ks, firstTokenId, - currentKey, futureKeys, - futureKeySize, msKeyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - } else { - retval = UA_PubSubKeyStorage_update(server, ks, currentKey, firstTokenId, - futureKeySize, futureKeys, msKeyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - } - - /** - * After a new batch of keys is fetched from SKS server, the key storage is updated - * with new keys and new keylifetime. Also the remaining time for current - * keyRollover is also returned. When setting a new keyRollover callback, the - * previous callback must be removed so that the keyRollover does not happen twice - */ - if(ks->callBackId != 0) { - server->config.eventLoop->removeCyclicCallback(server->config.eventLoop, - ks->callBackId); - ks->callBackId = 0; - } - - UA_Duration msTimeToNextKey = - *(UA_Duration *)response->results->outputArguments[3].data; - if(!(msTimeToNextKey > 0)) - msTimeToNextKey = ks->keyLifeTime; - retval = UA_PubSubKeyStorage_addKeyRolloverCallback( - server, ks, (UA_ServerCallback)UA_PubSubKeyStorage_keyRolloverCallback, - msTimeToNextKey, &ks->callBackId); - -cleanup: - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Failed to store the fetched keys from SKS server with error: %s", - UA_StatusCode_name(retval)); - } - /* call user callback to notify about the status */ - if(ks->sksConfig.userNotifyCallback) - ks->sksConfig.userNotifyCallback(server, retval, ks->sksConfig.context); - ks->sksConfig.reqId = 0; - UA_Client_disconnectAsync(client); - addDelayedSksClientCleanupCb(client, ctx); - - unlockServer(server); -} - -static UA_StatusCode -callGetSecurityKeysMethod(UA_Client *client) { - - sksClientContext *ctx = (sksClientContext *)client->config.clientContext; - - UA_Variant inputArguments[3]; - UA_Variant_setScalar(&inputArguments[0], &ctx->ks->securityGroupID, - &UA_TYPES[UA_TYPES_STRING]); - UA_Variant_setScalar(&inputArguments[1], &ctx->startingTokenId, - &UA_TYPES[UA_TYPES_UINT32]); - UA_Variant_setScalar(&inputArguments[2], &ctx->requestedKeyCount, - &UA_TYPES[UA_TYPES_UINT32]); - - UA_NodeId objectId = UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE); - UA_NodeId methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_PUBLISHSUBSCRIBE_GETSECURITYKEYS); - size_t inputArgumentsSize = 3; - - UA_StatusCode retval = UA_Client_call_async(client, objectId, methodId, inputArgumentsSize, - inputArguments, storeFetchedKeys, (void *)ctx, &ctx->ks->sksConfig.reqId); - return retval; -} - -static void -onConnect(UA_Client *client, UA_SecureChannelState channelState, - UA_SessionState sessionState, UA_StatusCode connectStatus) { - UA_Boolean triggerSKSCleanup = false; - if(connectStatus != UA_STATUSCODE_GOOD && - connectStatus != UA_STATUSCODE_BADNOTCONNECTED && - sessionState != UA_SESSIONSTATE_ACTIVATED) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "SKS Client: Failed to connect SKS server with error: %s ", - UA_StatusCode_name(connectStatus)); - triggerSKSCleanup = true; - } - if(connectStatus == UA_STATUSCODE_GOOD && sessionState == UA_SESSIONSTATE_ACTIVATED) { - connectStatus = callGetSecurityKeysMethod(client); - if(connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_SERVER, - "SKS Client: Failed to call GetSecurityKeys on SKS server with " - "error: %s ", - UA_StatusCode_name(connectStatus)); - triggerSKSCleanup = true; - } - } - if(triggerSKSCleanup) { - /* call user callback to notify about the status */ - sksClientContext *ctx = (sksClientContext *)client->config.clientContext; - UA_PubSubKeyStorage *ks = ctx->ks; - if(ks->sksConfig.userNotifyCallback) - ks->sksConfig.userNotifyCallback(ctx->server, connectStatus, - ks->sksConfig.context); - UA_Client_disconnectAsync(client); - addDelayedSksClientCleanupCb(client, ctx); - } -} - -static void -setServerEventloopOnSksClient(UA_ClientConfig *cc, UA_EventLoop *externalEventloop) { - UA_assert(externalEventloop != NULL); - cc->eventLoop = externalEventloop; - cc->externalEventLoop = true; -} - -UA_StatusCode -getSecurityKeysAndStoreFetchedKeys(UA_Server *server, UA_PubSubKeyStorage *keyStorage) { - UA_StatusCode retval = UA_STATUSCODE_BAD; - UA_UInt32 startingTokenId = UA_REQ_CURRENT_TOKEN; - UA_UInt32 requestKeyCount = UA_UINT32_MAX; - - if(keyStorage->sksConfig.reqId != 0) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "SKS Client: SKS Pull request in process "); - return UA_STATUSCODE_GOOD; - } - - UA_ClientConfig cc; - memset(&cc, 0, sizeof(UA_ClientConfig)); - - /* over write the client config with user specified SKS config */ - retval = UA_ClientConfig_copy(&keyStorage->sksConfig.clientConfig, &cc); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - setServerEventloopOnSksClient(&cc, server->config.eventLoop); - - /* this is cleanedup in sksClientCleanupCb */ - sksClientContext *ctx = (sksClientContext *)UA_calloc(1, sizeof(sksClientContext)); - if(!ctx) - return UA_STATUSCODE_BADOUTOFMEMORY; - ctx->ks = keyStorage; - ctx->server = server; - ctx->startingTokenId = startingTokenId; - ctx->requestedKeyCount = requestKeyCount; - cc.clientContext = ctx; - - UA_Client *client = UA_Client_newWithConfig(&cc); - if(!client) - return retval; - /* connect to sks server */ - retval = UA_Client_connectAsync(client, keyStorage->sksConfig.endpointUrl); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Failed to connect SKS server with error: %s ", - UA_StatusCode_name(retval)); - /* Make sure the client channel state is closed and not fresh, otherwise, eventloop will - keep waiting for the client status to go from Fresh to closed in UA_Client_delete*/ - client->channel.state = UA_SECURECHANNELSTATE_CLOSED; - /* this client instance will be cleared in the next event loop iteration */ - addDelayedSksClientCleanupCb(client, ctx); - return retval; - } - - /* add user specified callback, if the client is properly configured. */ - client->config.stateCallback = onConnect; - - return retval; -} - -UA_StatusCode -UA_Server_setSksClient(UA_Server *server, UA_String securityGroupId, - UA_ClientConfig *clientConfig, const char *endpointUrl, - UA_Server_sksPullRequestCallback callback, void *context) { - if(!server || !clientConfig || !endpointUrl) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode retval = UA_STATUSCODE_BADNOTFOUND; - lockServer(server); - UA_PubSubKeyStorage *ks = UA_PubSubKeyStorage_findKeyStorage(server, securityGroupId); - if(!ks) { - unlockServer(server); - return retval; - } - - UA_ClientConfig_copy(clientConfig, &ks->sksConfig.clientConfig); - /*Clear the content of original config, so that no body can access the original config */ - clientConfig->authSecurityPolicies = NULL; - clientConfig->certificateVerification.context = NULL; - clientConfig->eventLoop = NULL; - clientConfig->logging = NULL; - clientConfig->securityPolicies = NULL; - UA_ClientConfig_clear(clientConfig); - - ks->sksConfig.endpointUrl = endpointUrl; - ks->sksConfig.userNotifyCallback = callback; - ks->sksConfig.context = context; - /* if keys are not previously fetched, then first call GetSecurityKeys*/ - if(ks->keyListSize == 0) { - retval = getSecurityKeysAndStoreFetchedKeys(server, ks); - } - unlockServer(server); - return retval; -} - -#endif - -/**** amalgamated original file "/src/pubsub/ua_pubsub_securitygroup.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2019 ifak e.V. Magdeburg (Holger Zipper) - * Copyright (c) 2022 Linutronix GmbH (Author: Muddasir Shakil) - */ - - - -#ifdef UA_ENABLE_PUBSUB_SKS /* conditional compilation */ - - -#define UA_PUBSUB_KEYMATERIAL_NONCELENGTH 32 - -UA_SecurityGroup * -UA_SecurityGroup_findSGbyName(UA_Server *server, UA_String securityGroupName) { - UA_SecurityGroup *tmpSG; - TAILQ_FOREACH(tmpSG, &server->pubSubManager.securityGroups, listEntry) { - if(UA_String_equal(&securityGroupName, &tmpSG->config.securityGroupName)) - return tmpSG; - } - return NULL; -} - -UA_StatusCode -UA_SecurityGroupConfig_copy(const UA_SecurityGroupConfig *src, - UA_SecurityGroupConfig *dst) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - memcpy(dst, src, sizeof(UA_SecurityGroupConfig)); - if(UA_String_copy(&src->securityGroupName, &dst->securityGroupName) != - UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BAD; - - if(UA_String_copy(&src->securityPolicyUri, &dst->securityPolicyUri) != - UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BAD; - return retval; -} - -static UA_StatusCode -generateKeyData(const UA_PubSubSecurityPolicy *policy, UA_ByteString *key) { - if(!key || !policy) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode retVal; - - /* Can't not found in specification for pubsub key generation, so use the idea of - * securechannel, see specification 1.0.3 6.7.5 Deriving keys for more details - In pubsub we do get have OpenSecureChannel request, so we cannot have Client or Server Nonce*/ - UA_Byte secretBytes[UA_PUBSUB_KEYMATERIAL_NONCELENGTH]; - UA_ByteString secret; - secret.length = UA_PUBSUB_KEYMATERIAL_NONCELENGTH; - secret.data = secretBytes; - - UA_Byte seedBytes[UA_PUBSUB_KEYMATERIAL_NONCELENGTH]; - UA_ByteString seed; - seed.data = seedBytes; - seed.length = UA_PUBSUB_KEYMATERIAL_NONCELENGTH; - memset(seed.data, 0, seed.length); - retVal = policy->symmetricModule.generateNonce(policy->policyContext, &secret); - retVal |= policy->symmetricModule.generateNonce(policy->policyContext, &seed); - if(retVal != UA_STATUSCODE_GOOD) - return retVal; - - retVal = policy->symmetricModule.generateKey(policy->policyContext, &secret, &seed, key); - return retVal; -} - -static void -updateSKSKeyStorage(UA_Server *server, UA_SecurityGroup *securityGroup){ - - if(!securityGroup) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_PUBSUB, - "UpdateSKSKeyStorage callback failed with Error: %s ", - UA_StatusCode_name(UA_STATUSCODE_BADINVALIDARGUMENT)); - return; - } - - UA_PubSubKeyStorage *keyStorage = securityGroup->keyStorage; - - UA_StatusCode retval = UA_STATUSCODE_BAD; - UA_ByteString newKey; - size_t keyLength = keyStorage->policy->symmetricModule.secureChannelNonceLength; - - retval = UA_ByteString_allocBuffer(&newKey, keyLength); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_PUBSUB, - "UpdateSKSKeyStorage callback failed to allocate memory for new key with Error: %s ", - UA_StatusCode_name(retval)); - return; - } - - generateKeyData(keyStorage->policy, &newKey); - UA_UInt32 newKeyID = TAILQ_LAST(&keyStorage->keyList, keyListItems)->keyID; - - if(newKeyID >= UA_UINT32_MAX) - newKeyID = 1; - else - ++newKeyID; - - if(keyStorage->keyListSize >= keyStorage->maxKeyListSize) { - /* reusing the preallocated memory of the oldest key for the new key material */ - UA_PubSubKeyListItem *oldestKey = TAILQ_FIRST(&keyStorage->keyList); - TAILQ_REMOVE(&keyStorage->keyList, oldestKey, keyListEntry); - TAILQ_INSERT_TAIL(&keyStorage->keyList, oldestKey, keyListEntry); - UA_ByteString_clear(&oldestKey->key); - oldestKey->keyID = newKeyID; - UA_ByteString_copy(&newKey, &oldestKey->key); - } else { - UA_PubSubKeyListItem *newItem = - UA_PubSubKeyStorage_push(keyStorage, &newKey, newKeyID); - if(!newItem) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_PUBSUB, - "UpdateSKSKeyStorage callback failed to add new key to the " - "sks keystorage for the SecurityGroup %.*s", - (int)securityGroup->securityGroupId.length, - securityGroup->securityGroupId.data); - UA_Byte_delete(newKey.data); - return; - } - keyStorage->keyListSize++; - } - - UA_PubSubKeyListItem *nextCurrentItem = TAILQ_NEXT(keyStorage->currentItem, keyListEntry); - if(nextCurrentItem) - keyStorage->currentItem = nextCurrentItem; - - securityGroup->baseTime = UA_DateTime_nowMonotonic(); - - /* We allocated memory for data with allocBuffer so now we free it */ - UA_ByteString_clear(&newKey); -} - -static UA_StatusCode -initializeKeyStorageWithKeys(UA_Server *server, UA_SecurityGroup *securityGroup) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PubSubSecurityPolicy *policy = - findPubSubSecurityPolicy(server, &securityGroup->config.securityPolicyUri); - if(!policy) - return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - - UA_PubSubKeyStorage *ks = (UA_PubSubKeyStorage *) - UA_calloc(1, sizeof(UA_PubSubKeyStorage)); - if(!ks) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_StatusCode retval = - UA_PubSubKeyStorage_init(server, ks, &securityGroup->securityGroupId, - policy, securityGroup->config.maxPastKeyCount, - securityGroup->config.maxFutureKeyCount); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(ks); - return retval; - } - - ks->referenceCount++; - securityGroup->keyStorage = ks; - - UA_ByteString currentKey; - size_t keyLength = ks->policy->symmetricModule.secureChannelNonceLength; - retval = UA_ByteString_allocBuffer(¤tKey, keyLength); - retval = generateKeyData(ks->policy, ¤tKey); - - UA_ByteString *futurekeys = (UA_ByteString *)UA_calloc(securityGroup->config.maxFutureKeyCount, sizeof(UA_ByteString)); - for(size_t i = 0; i < securityGroup->config.maxFutureKeyCount; i++) { - retval = UA_ByteString_allocBuffer(&futurekeys[i], keyLength); - retval = generateKeyData(ks->policy, &futurekeys[i]); - } - - UA_UInt32 startingKeyId = 1; - retval = UA_PubSubKeyStorage_storeSecurityKeys(server, securityGroup->keyStorage, - startingKeyId, ¤tKey, futurekeys, - securityGroup->config.maxFutureKeyCount, - securityGroup->config.keyLifeTime); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - securityGroup->baseTime = UA_DateTime_nowMonotonic(); - retval = addRepeatedCallback(server, (UA_ServerCallback)updateSKSKeyStorage, - securityGroup, securityGroup->config.keyLifeTime, - &securityGroup->callbackId); - -cleanup: - UA_Array_delete(futurekeys, securityGroup->config.maxFutureKeyCount, - &UA_TYPES[UA_TYPES_BYTESTRING]); - UA_ByteString_clear(¤tKey); - if(retval != UA_STATUSCODE_GOOD) - UA_PubSubKeyStorage_delete(server, ks); - return retval; -} - -static UA_StatusCode -addSecurityGroup(UA_Server *server, UA_NodeId securityGroupFolderNodeId, - const UA_SecurityGroupConfig *securityGroupConfig, - UA_NodeId *securityGroupNodeId) { - if(!securityGroupConfig) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /*check minimal config parameters*/ - if(!securityGroupConfig->keyLifeTime || - UA_String_isEmpty(&securityGroupConfig->securityGroupName) || - UA_String_isEmpty(&securityGroupConfig->securityPolicyUri)) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - if(UA_SecurityGroup_findSGbyName(server, securityGroupConfig->securityGroupName)) - return UA_STATUSCODE_BADNODEIDEXISTS; - - UA_PubSubSecurityPolicy *policy = - findPubSubSecurityPolicy(server, &securityGroupConfig->securityPolicyUri); - if(!policy) - return UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - - if(securityGroupConfig->securityGroupName.length > 512) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_StatusCode retval = UA_STATUSCODE_BAD; - - UA_SecurityGroup *newSecurityGroup = - (UA_SecurityGroup *)UA_calloc(1, sizeof(UA_SecurityGroup)); - if(!newSecurityGroup) - return UA_STATUSCODE_BADOUTOFMEMORY; - - memset(newSecurityGroup, 0, sizeof(UA_SecurityGroup)); - UA_SecurityGroupConfig_copy(securityGroupConfig, &newSecurityGroup->config); - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - retval = UA_NodeId_copy(&securityGroupFolderNodeId, - &newSecurityGroup->securityGroupFolderId); - if(retval != UA_STATUSCODE_GOOD) { - UA_SecurityGroup_delete(newSecurityGroup); - return retval; - } -#endif - - retval = UA_String_copy(&securityGroupConfig->securityGroupName, - &newSecurityGroup->securityGroupId); - if(retval != UA_STATUSCODE_GOOD) { - UA_SecurityGroup_delete(newSecurityGroup); - return retval; - } - - retval = initializeKeyStorageWithKeys(server, newSecurityGroup); - if(retval != UA_STATUSCODE_GOOD) { - UA_SecurityGroup_delete(newSecurityGroup); - return retval; - } - -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - retval = addSecurityGroupRepresentation(server, newSecurityGroup); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Add SecurityGroup failed with error: %s.", - UA_StatusCode_name(retval)); - UA_SecurityGroup_delete(newSecurityGroup); - return retval; - } -#else - UA_PubSubManager_generateUniqueNodeId(&server->pubSubManager, - &newSecurityGroup->securityGroupNodeId); -#endif - if(securityGroupNodeId) - UA_NodeId_copy(&newSecurityGroup->securityGroupNodeId, securityGroupNodeId); - - TAILQ_INSERT_TAIL(&server->pubSubManager.securityGroups, newSecurityGroup, listEntry); - - server->pubSubManager.securityGroupsSize++; - return retval; -} - -UA_StatusCode -UA_Server_addSecurityGroup(UA_Server *server, UA_NodeId securityGroupFolderNodeId, - const UA_SecurityGroupConfig *securityGroupConfig, - UA_NodeId *securityGroupNodeId) { - lockServer(server); - UA_StatusCode retval = addSecurityGroup(server, securityGroupFolderNodeId, - securityGroupConfig, securityGroupNodeId); - unlockServer(server); - return retval; -} - -UA_SecurityGroup * -UA_SecurityGroup_findSGbyId(UA_Server *server, UA_NodeId identifier) { - UA_SecurityGroup *tmpSG; - TAILQ_FOREACH(tmpSG, &server->pubSubManager.securityGroups, listEntry) { - if(UA_NodeId_equal(&identifier, &tmpSG->securityGroupNodeId)) - return tmpSG; - } - return NULL; -} - -static void -UA_SecurityGroupConfig_clear(UA_SecurityGroupConfig *config) { - config->keyLifeTime = 0; - config->maxFutureKeyCount = 0; - UA_String_clear(&config->securityGroupName); - UA_String_clear(&config->securityPolicyUri); -} - -static void -UA_SecurityGroup_clear(UA_SecurityGroup *securityGroup) { - UA_SecurityGroupConfig_clear(&securityGroup->config); - UA_String_clear(&securityGroup->securityGroupId); -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - UA_NodeId_clear(&securityGroup->securityGroupFolderId); -#endif - UA_NodeId_clear(&securityGroup->securityGroupNodeId); -} - -void -UA_SecurityGroup_delete(UA_SecurityGroup *securityGroup) { - UA_SecurityGroup_clear(securityGroup); - UA_free(securityGroup); -} - -void -removeSecurityGroup(UA_Server *server, UA_SecurityGroup *securityGroup) { -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - deleteNode(server, securityGroup->securityGroupNodeId, true); -#endif - - /* Unlink from the server */ - TAILQ_REMOVE(&server->pubSubManager.securityGroups, securityGroup, listEntry); - server->pubSubManager.securityGroupsSize--; - if(securityGroup->callbackId > 0) - removeCallback(server, securityGroup->callbackId); - - if(securityGroup->keyStorage) { - UA_PubSubKeyStorage_detachKeyStorage(server, securityGroup->keyStorage); - securityGroup->keyStorage = NULL; - } - - UA_SecurityGroup_delete(securityGroup); -} - -UA_StatusCode -UA_Server_removeSecurityGroup(UA_Server *server, const UA_NodeId securityGroup) { - lockServer(server); - UA_SecurityGroup *sg = UA_SecurityGroup_findSGbyId(server, securityGroup); - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(sg) { - removeSecurityGroup(server, sg); - } else { - res = UA_STATUSCODE_BADBOUNDNOTFOUND; - } - unlockServer(server); - return res; -} - -#endif - -/**** amalgamated original file "/src/pubsub/ua_pubsub_config.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2020 Yannick Wallerer, Siemens AG - * Copyright (c) 2020 Thomas Fischer, Siemens AG - */ - - -#if defined(UA_ENABLE_PUBSUB) && defined(UA_ENABLE_PUBSUB_FILE_CONFIG) - -static UA_StatusCode -createPubSubConnection(UA_Server *server, - const UA_PubSubConnectionDataType *connection, - UA_UInt32 pdsCount, UA_NodeId *pdsIdent); - -static UA_StatusCode -createWriterGroup(UA_Server *server, - const UA_WriterGroupDataType *writerGroupParameters, - UA_NodeId connectionIdent, UA_UInt32 pdsCount, - const UA_NodeId *pdsIdent); - -static UA_StatusCode -createDataSetWriter(UA_Server *server, - const UA_DataSetWriterDataType *dataSetWriterParameters, - UA_NodeId writerGroupIdent, UA_UInt32 pdsCount, - const UA_NodeId *pdsIdent); - -static UA_StatusCode -createReaderGroup(UA_Server *server, - const UA_ReaderGroupDataType *readerGroupParameters, - UA_NodeId connectionIdent); - -static UA_StatusCode -createDataSetReader(UA_Server *server, - const UA_DataSetReaderDataType *dataSetReaderParameters, - UA_NodeId readerGroupIdent); - -static UA_StatusCode -createPublishedDataSet(UA_Server *server, - const UA_PublishedDataSetDataType *publishedDataSetParameters, - UA_NodeId *publishedDataSetIdent); - -static UA_StatusCode -createDataSetFields(UA_Server *server, - const UA_NodeId *publishedDataSetIdent, - const UA_PublishedDataSetDataType *publishedDataSetParameters); - -static UA_StatusCode -generatePubSubConfigurationDataType(UA_Server *server, - UA_PubSubConfigurationDataType *pubSubConfiguration); - -/* Gets PubSub Configuration from an ExtensionObject */ -static UA_StatusCode -extractPubSubConfigFromExtensionObject(UA_Server *server, - const UA_ExtensionObject *src, - UA_PubSubConfigurationDataType **dst) { - if(src->encoding != UA_EXTENSIONOBJECT_DECODED || - src->content.decoded.type != &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_extractPubSubConfigFromDecodedObject] " - "Reading extensionObject failed"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_UABinaryFileDataType *binFile = (UA_UABinaryFileDataType*)src->content.decoded.data; - - if(binFile->body.arrayLength != 0 || binFile->body.arrayDimensionsSize != 0) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_extractPubSubConfigFromDecodedObject] " - "Loading multiple configurations is not supported"); - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - - if(binFile->body.type != &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_extractPubSubConfigFromDecodedObject] " - "Invalid datatype encoded in the binary file"); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - *dst = (UA_PubSubConfigurationDataType*)binFile->body.data; - return UA_STATUSCODE_GOOD; -} - -/* Configures a PubSub Server with given PubSubConfigurationDataType object */ -static UA_StatusCode -updatePubSubConfig(UA_Server *server, - const UA_PubSubConfigurationDataType *configurationParameters) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(configurationParameters == NULL) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_updatePubSubConfig] Invalid argument"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_PubSubManager_delete(server, &server->pubSubManager); - - /* Configuration of Published DataSets: */ - UA_UInt32 pdsCount = (UA_UInt32)configurationParameters->publishedDataSetsSize; - UA_NodeId *publishedDataSetIdent = (UA_NodeId*)UA_calloc(pdsCount, sizeof(UA_NodeId)); - if(!publishedDataSetIdent) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_StatusCode res = UA_STATUSCODE_GOOD; - - for(UA_UInt32 i = 0; i < pdsCount; i++) { - res = createPublishedDataSet(server, - &configurationParameters->publishedDataSets[i], - &publishedDataSetIdent[i]); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_updatePubSubConfig] PDS creation failed"); - UA_free(publishedDataSetIdent); - return res; - } - } - - /* Configuration of PubSub Connections: */ - if(configurationParameters->connectionsSize < 1) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_updatePubSubConfig] no connection in " - "UA_PubSubConfigurationDataType"); - UA_free(publishedDataSetIdent); - return UA_STATUSCODE_GOOD; - } - - for(size_t i = 0; i < configurationParameters->connectionsSize; i++) { - res = createPubSubConnection(server, - &configurationParameters->connections[i], - pdsCount, publishedDataSetIdent); - if(res != UA_STATUSCODE_GOOD) - break; - } - - UA_free(publishedDataSetIdent); - - return res; -} - -/* Function called by UA_PubSubManager_createPubSubConnection to set the - * PublisherId of a certain connection. */ -static UA_StatusCode -setConnectionPublisherId(UA_Server *server, - const UA_PubSubConnectionDataType *src, - UA_PubSubConnectionConfig *dst) { - if(src->publisherId.type == &UA_TYPES[UA_TYPES_STRING]) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_STRING; - dst->publisherId.string = *(UA_String*)src->publisherId.data; - } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_BYTE]) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_BYTE; - dst->publisherId.byte = *((UA_Byte*)src->publisherId.data); - } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_UINT16]) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT16; - dst->publisherId.uint16 = *((UA_UInt16*)src->publisherId.data); - } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_UINT32]) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT32; - dst->publisherId.uint32 = *(UA_UInt32*)src->publisherId.data; - } else if(src->publisherId.type == &UA_TYPES[UA_TYPES_UINT64]) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT64; - dst->publisherId.uint64 = *(UA_UInt64*)src->publisherId.data; - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_setConnectionPublisherId] PublisherId is not valid."); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -/* Function called by UA_PubSubManager_createPubSubConnection to create all WriterGroups - * and ReaderGroups that belong to a certain connection. */ -static UA_StatusCode -createComponentsForConnection(UA_Server *server, - const UA_PubSubConnectionDataType *connParams, - UA_NodeId connectionIdent, UA_UInt32 pdsCount, - const UA_NodeId *pdsIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* WriterGroups configuration */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < connParams->writerGroupsSize; i++) { - res = createWriterGroup(server, &connParams->writerGroups[i], - connectionIdent, pdsCount, pdsIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createComponentsForConnection] " - "Error occured during %d. WriterGroup Creation", (UA_UInt32)i+1); - return res; - } - } - - /* ReaderGroups configuration */ - for(size_t j = 0; j < connParams->readerGroupsSize; j++) { - res = createReaderGroup(server, &connParams->readerGroups[j], connectionIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createComponentsForConnection] " - "Error occured during %d. ReaderGroup Creation", (UA_UInt32)j+1); - return res; - } - } - - return res; -} - -/* Creates PubSubConnection configuration from PubSubConnectionDataType object - * - * @param server Server object that shall be configured - * @param connParams PubSub connection configuration - * @param pdsCount Number of published DataSets - * @param pdsIdent Array of NodeIds of the published DataSets */ -static UA_StatusCode -createPubSubConnection(UA_Server *server, const UA_PubSubConnectionDataType *connParams, - UA_UInt32 pdsCount, UA_NodeId *pdsIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PubSubConnectionConfig config; - memset(&config, 0, sizeof(UA_PubSubConnectionConfig)); - - config.name = connParams->name; - config.enabled = connParams->enabled; - config.transportProfileUri = connParams->transportProfileUri; - config.connectionProperties.map = connParams->connectionProperties; - config.connectionProperties.mapSize = connParams->connectionPropertiesSize; - - UA_StatusCode res = setConnectionPublisherId(server, connParams, &config); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createPubSubConnection] " - "Setting PublisherId failed"); - return res; - } - - if(connParams->address.encoding == UA_EXTENSIONOBJECT_DECODED) { - UA_Variant_setScalar(&(config.address), - connParams->address.content.decoded.data, - connParams->address.content.decoded.type); - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createPubSubConnection] " - "Reading connection address failed"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - if(connParams->transportSettings.encoding == UA_EXTENSIONOBJECT_DECODED) { - UA_Variant_setScalar(&(config.connectionTransportSettings), - connParams->transportSettings.content.decoded.data, - connParams->transportSettings.content.decoded.type); - } else { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createPubSubConnection] " - "TransportSettings can not be read"); - } - - /* Load connection config into server: */ - UA_NodeId connectionIdent; - res = UA_PubSubConnection_create(server, &config, &connectionIdent); - if(res == UA_STATUSCODE_GOOD) { - /* Configuration of all Components that belong to this connection: */ - res = createComponentsForConnection(server, connParams, connectionIdent, - pdsCount, pdsIdent); - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createPubSubConnection] " - "Connection creation failed"); - } - - return res; -} - -/* Function called by UA_PubSubManager_createWriterGroup to configure the messageSettings - * of a writerGroup */ -static UA_StatusCode -setWriterGroupEncodingType(UA_Server *server, - const UA_WriterGroupDataType *writerGroupParameters, - UA_WriterGroupConfig *config) { - if(writerGroupParameters->messageSettings.encoding != UA_EXTENSIONOBJECT_DECODED) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_setWriterGroupEncodingType] " - "getting message type information failed"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - if(writerGroupParameters->messageSettings.content.decoded.type == - &UA_TYPES[UA_TYPES_UADPWRITERGROUPMESSAGEDATATYPE]) { - config->encodingMimeType = UA_PUBSUB_ENCODING_UADP; - } else if(writerGroupParameters->messageSettings.content.decoded.type == - &UA_TYPES[UA_TYPES_JSONWRITERGROUPMESSAGEDATATYPE]) { -#ifdef UA_ENABLE_JSON_ENCODING - config->encodingMimeType = UA_PUBSUB_ENCODING_JSON; -#else - UA_LOG_ERROR(psm->logging, UA_LOGCATEGORY_PUBSUB, - "[UA_PubSubManager_setWriterGroupEncodingType] " - "encoding type: JSON (not implemented!)"); - return UA_STATUSCODE_BADNOTIMPLEMENTED; -#endif - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_setWriterGroupEncodingType] " - "invalid message encoding type"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - return UA_STATUSCODE_GOOD; -} - -/* WriterGroup configuration from WriterGroup object - * - * @param server Server object that shall be configured - * @param writerGroupParameters WriterGroup configuration - * @param connectionIdent NodeId of the PubSub connection, the WriterGroup belongs to - * @param pdsCount Number of published DataSets - * @param pdsIdent Array of NodeIds of the published DataSets */ -static UA_StatusCode -createWriterGroup(UA_Server *server, - const UA_WriterGroupDataType *writerGroupParameters, - UA_NodeId connectionIdent, UA_UInt32 pdsCount, - const UA_NodeId *pdsIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_WriterGroupConfig config; - memset(&config, 0, sizeof(UA_WriterGroupConfig)); - config.name = writerGroupParameters->name; - config.enabled = writerGroupParameters->enabled; - config.writerGroupId = writerGroupParameters->writerGroupId; - config.publishingInterval = writerGroupParameters->publishingInterval; - config.keepAliveTime = writerGroupParameters->keepAliveTime; - config.priority = writerGroupParameters->priority; - config.securityMode = writerGroupParameters->securityMode; - config.transportSettings = writerGroupParameters->transportSettings; - config.messageSettings = writerGroupParameters->messageSettings; - config.groupProperties.mapSize = writerGroupParameters->groupPropertiesSize; - config.groupProperties.map = writerGroupParameters->groupProperties; - config.maxEncapsulatedDataSetMessageCount = 255; /* non std parameter */ - - UA_StatusCode res = setWriterGroupEncodingType(server, writerGroupParameters, &config); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createWriterGroup] " - "Setting message settings failed"); - return res; - } - - /* Load config into server: */ - UA_NodeId writerGroupIdent; - res = UA_WriterGroup_create(server, connectionIdent, &config, &writerGroupIdent); - UA_WriterGroup *wg = UA_WriterGroup_findWGbyId(server, writerGroupIdent); - if(wg) - UA_WriterGroup_setPubSubState(server, wg, UA_PUBSUBSTATE_OPERATIONAL, UA_STATUSCODE_GOOD); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createWriterGroup] " - "Adding WriterGroup to server failed: 0x%x", res); - return res; - } - - /* Configuration of all DataSetWriters that belong to this WriterGroup */ - for(size_t dsw = 0; dsw < writerGroupParameters->dataSetWritersSize; dsw++) { - res = createDataSetWriter(server, &writerGroupParameters->dataSetWriters[dsw], - writerGroupIdent, pdsCount, pdsIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createWriterGroup] " - "DataSetWriter Creation failed."); - break; - } - } - return res; -} - -/* Function called by UA_PubSubManager_createDataSetWriter. It searches for a - * PublishedDataSet that is referenced by the DataSetWriter. If a related PDS is found, - * the DSWriter will be added to the server, otherwise, no DSWriter will be added. - * - * @param server UA_Server object that shall be configured - * @param writerGroupIdent NodeId of writerGroup, the DataSetWriter belongs to - * @param dsWriterConfig WriterGroup configuration - * @param pdsCount Number of published DataSets - * @param pdsIdent Array of NodeIds of the published DataSets */ -static UA_StatusCode -addDataSetWriterWithPdsReference(UA_Server *server, UA_NodeId writerGroupIdent, - const UA_DataSetWriterConfig *dsWriterConfig, - UA_UInt32 pdsCount, const UA_NodeId *pdsIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_NodeId dataSetWriterIdent; - UA_PublishedDataSetConfig pdsConfig; - UA_Boolean pdsFound = false; - - UA_StatusCode res = UA_STATUSCODE_GOOD; - for(size_t pds = 0; pds < pdsCount && res == UA_STATUSCODE_GOOD; pds++) { - res = getPublishedDataSetConfig(server, pdsIdent[pds], &pdsConfig); - /* members of pdsConfig must be deleted manually */ - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addDataSetWriterWithPdsReference] " - "Getting pdsConfig from NodeId failed."); - return res; - } - - if(dsWriterConfig->dataSetName.length == pdsConfig.name.length && - 0 == strncmp((const char *)dsWriterConfig->dataSetName.data, - (const char *)pdsConfig.name.data, - dsWriterConfig->dataSetName.length)) { - /* DSWriter will only be created, if a matching PDS is found: */ - res = UA_DataSetWriter_create(server, writerGroupIdent, pdsIdent[pds], - dsWriterConfig, &dataSetWriterIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addDataSetWriterWithPdsReference] " - "Adding DataSetWriter failed"); - } else { - pdsFound = true; - } - - UA_PublishedDataSetConfig_clear(&pdsConfig); - if(pdsFound) - break; /* break loop if corresponding publishedDataSet was found */ - } - } - - if(!pdsFound) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addDataSetWriterWithPdsReference] " - "No matching DataSet found; no DataSetWriter created"); - } - - return res; -} - -/* Creates DataSetWriter configuration from DataSetWriter object - * - * @param server UA_Server object that shall be configured - * @param dataSetWriterParameters DataSetWriter Configuration - * @param writerGroupIdent NodeId of writerGroup, the DataSetWriter belongs to - * @param pdsCount Number of published DataSets - * @param pdsIdent Array of NodeIds of the published DataSets */ -static UA_StatusCode -createDataSetWriter(UA_Server *server, - const UA_DataSetWriterDataType *dataSetWriterParameters, - UA_NodeId writerGroupIdent, UA_UInt32 pdsCount, - const UA_NodeId *pdsIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_DataSetWriterConfig config; - memset(&config, 0, sizeof(UA_DataSetWriterConfig)); - config.name = dataSetWriterParameters->name; - config.dataSetWriterId = dataSetWriterParameters->dataSetWriterId; - config.keyFrameCount = dataSetWriterParameters->keyFrameCount; - config.dataSetFieldContentMask = dataSetWriterParameters->dataSetFieldContentMask; - config.messageSettings = dataSetWriterParameters->messageSettings; - config.dataSetName = dataSetWriterParameters->dataSetName; - config.dataSetWriterProperties.mapSize = dataSetWriterParameters->dataSetWriterPropertiesSize; - config.dataSetWriterProperties.map = dataSetWriterParameters->dataSetWriterProperties; - - UA_StatusCode res = addDataSetWriterWithPdsReference(server, writerGroupIdent, - &config, pdsCount, pdsIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createDataSetWriter] " - "Referencing related PDS failed"); - } - - return res; -} - -/* Creates ReaderGroup configuration from ReaderGroup object - * - * @param server UA_Server object that shall be configured - * @param readerGroupParameters ReaderGroup configuration - * @param connectionIdent NodeId of the PubSub connection, the ReaderGroup belongs to */ -static UA_StatusCode -createReaderGroup(UA_Server *server, - const UA_ReaderGroupDataType *readerGroupParameters, - UA_NodeId connectionIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_ReaderGroupConfig config; - memset(&config, 0, sizeof(UA_ReaderGroupConfig)); - - config.name = readerGroupParameters->name; - config.securityMode = readerGroupParameters->securityMode; - - UA_NodeId readerGroupIdent; - UA_StatusCode res = - UA_ReaderGroup_create(server, connectionIdent, &config, &readerGroupIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createReaderGroup] Adding ReaderGroup " - "to server failed: 0x%x", res); - return res; - } - - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createReaderGroup] ReaderGroup successfully added."); - for(UA_UInt32 i = 0; i < readerGroupParameters->dataSetReadersSize; i++) { - res = createDataSetReader(server, &readerGroupParameters->dataSetReaders[i], - readerGroupIdent); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createReaderGroup] Creating DataSetReader failed"); - break; - } - } - - UA_ReaderGroup *rg = UA_ReaderGroup_findRGbyId(server, readerGroupIdent); - if(res == UA_STATUSCODE_GOOD && rg) - UA_ReaderGroup_setPubSubState(server, rg, UA_PUBSUBSTATE_OPERATIONAL, - UA_STATUSCODE_GOOD); - - return res; -} - -/* Creates TargetVariables or SubscribedDataSetMirror for a given DataSetReader - * - * @param server UA_Server object that shall be configured - * @param dsReaderIdent NodeId of the DataSetReader the SubscribedDataSet belongs to - * @param dataSetReaderParameters Configuration Parameters of the DataSetReader */ -static UA_StatusCode -addSubscribedDataSet(UA_Server *server, const UA_NodeId dsReaderIdent, - const UA_ExtensionObject *subscribedDataSet) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(subscribedDataSet->content.decoded.type == - &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]) { - UA_TargetVariablesDataType *tmpTargetVars = (UA_TargetVariablesDataType*) - subscribedDataSet->content.decoded.data; - UA_FieldTargetVariable *targetVars = (UA_FieldTargetVariable *) - UA_calloc(tmpTargetVars->targetVariablesSize, sizeof(UA_FieldTargetVariable)); - - for(size_t index = 0; index < tmpTargetVars->targetVariablesSize; index++) { - UA_FieldTargetDataType_copy(&tmpTargetVars->targetVariables[index], - &targetVars[index].targetVariable); - } - - UA_StatusCode res = UA_STATUSCODE_BADINTERNALERROR; - UA_DataSetReader *dsr = UA_ReaderGroup_findDSRbyId(server, dsReaderIdent); - if(dsr) - res = DataSetReader_createTargetVariables(server, dsr, - tmpTargetVars->targetVariablesSize, - targetVars); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addSubscribedDataSet] " - "create TargetVariables failed"); - } - - for(size_t index = 0; index < tmpTargetVars->targetVariablesSize; index++) { - UA_FieldTargetDataType_clear(&targetVars[index].targetVariable); - } - - UA_free(targetVars); - return res; - } - - if(subscribedDataSet->content.decoded.type == - &UA_TYPES[UA_TYPES_SUBSCRIBEDDATASETMIRRORDATATYPE]) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addSubscribedDataSet] " - "DataSetMirror is currently not supported"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addSubscribedDataSet] " - "Invalid Type of SubscribedDataSet"); - return UA_STATUSCODE_BADINTERNALERROR; -} - -/* Creates DataSetReader configuration from DataSetReader object - * - * @param server UA_Server object that shall be configured - * @param dataSetReaderParameters DataSetReader configuration - * @param writerGroupIdent NodeId of readerGroupParameters, the DataSetReader belongs to */ -static UA_StatusCode -createDataSetReader(UA_Server *server, const UA_DataSetReaderDataType *dsrParams, - UA_NodeId readerGroupIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_DataSetReaderConfig config; - memset(&config, 0, sizeof(UA_DataSetReaderConfig)); - - config.name = dsrParams->name; - config.publisherId = dsrParams->publisherId; - config.writerGroupId = dsrParams->writerGroupId; - config.dataSetWriterId = dsrParams->dataSetWriterId; - config.dataSetMetaData = dsrParams->dataSetMetaData; - config.dataSetFieldContentMask = dsrParams->dataSetFieldContentMask; - config.messageReceiveTimeout = dsrParams->messageReceiveTimeout; - config.messageSettings = dsrParams->messageSettings; - - UA_NodeId dsReaderIdent; - UA_StatusCode res = UA_DataSetReader_create(server, readerGroupIdent, - &config, &dsReaderIdent); - if(res == UA_STATUSCODE_GOOD) - res = addSubscribedDataSet(server, dsReaderIdent, - &dsrParams->subscribedDataSet); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createDataSetReader] " - "create subscribedDataSet failed"); - } - - return res; -} - -/* Determines whether PublishedDataSet is of type PublishedItems or PublishedEvents. - * (PublishedEvents are currently not supported!) - * - * @param publishedDataSetParameters PublishedDataSet parameters - * @param config PublishedDataSet configuration object */ -static UA_StatusCode -setPublishedDataSetType(UA_Server *server, - const UA_PublishedDataSetDataType *pdsParams, - UA_PublishedDataSetConfig *config) { - if(pdsParams->dataSetSource.encoding != UA_EXTENSIONOBJECT_DECODED) - return UA_STATUSCODE_BADINTERNALERROR; - - const UA_DataType *sourceType = pdsParams->dataSetSource.content.decoded.type; - if(sourceType == &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]) { - config->publishedDataSetType = UA_PUBSUB_DATASET_PUBLISHEDITEMS; - return UA_STATUSCODE_GOOD; - } else if(sourceType == &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]) { - /* config.publishedDataSetType = UA_PUBSUB_DATASET_PUBLISHEDEVENTS; */ - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_setPublishedDataSetType] Published events not supported."); - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_setPublishedDataSetType] Invalid DataSetSourceDataType."); - return UA_STATUSCODE_BADINTERNALERROR; -} - -/* Creates PublishedDataSetConfig object from PublishedDataSet object - * - * @param server UA_Server object that shall be configured - * @param pdsParams publishedDataSet configuration - * @param pdsIdent NodeId of the publishedDataSet */ -static UA_StatusCode -createPublishedDataSet(UA_Server *server, - const UA_PublishedDataSetDataType *pdsParams, - UA_NodeId *pdsIdent) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PublishedDataSetConfig config; - memset(&config, 0, sizeof(UA_PublishedDataSetConfig)); - - config.name = pdsParams->name; - UA_StatusCode res = setPublishedDataSetType(server, pdsParams, &config); - if(res != UA_STATUSCODE_GOOD) - return res; - - res = UA_PublishedDataSet_create(server, &config, pdsIdent).addResult; - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createPublishedDataSet] " - "Adding PublishedDataSet failed."); - return res; - } - - /* DataSetField configuration for this publishedDataSet: */ - res = createDataSetFields(server, pdsIdent, pdsParams); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createPublishedDataSet] " - "Creating DataSetFieldConfig failed."); - } - - return res; -} - -/* Adds DataSetField Variables bound to a certain PublishedDataSet. This method does NOT - * check, whether the PublishedDataSet actually contains Variables instead of Events! - * - * @param server UA_Server object that shall be configured - * @param pdsIdent NodeId of the publishedDataSet, the DataSetField belongs to - * @param publishedDataSetParameters publishedDataSet configuration */ -static UA_StatusCode -addDataSetFieldVariables(UA_Server *server, const UA_NodeId *pdsIdent, - const UA_PublishedDataSetDataType *pdsParams) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_PublishedDataItemsDataType *pdItems = (UA_PublishedDataItemsDataType *) - pdsParams->dataSetSource.content.decoded.data; - if(pdItems->publishedDataSize != pdsParams->dataSetMetaData.fieldsSize) - return UA_STATUSCODE_BADINTERNALERROR; - - for(size_t i = 0; i < pdItems->publishedDataSize; i++) { - UA_DataSetFieldConfig fc; - memset(&fc, 0, sizeof(UA_DataSetFieldConfig)); - fc.dataSetFieldType = UA_PUBSUB_DATASETFIELD_VARIABLE; - fc.field.variable.configurationVersion = - pdsParams->dataSetMetaData.configurationVersion; - fc.field.variable.fieldNameAlias = pdsParams->dataSetMetaData.fields[i].name; - fc.field.variable.promotedField = pdsParams->dataSetMetaData. - fields[i].fieldFlags & 0x0001; - fc.field.variable.publishParameters = pdItems->publishedData[i]; - - UA_NodeId fieldIdent; - UA_StatusCode res = UA_DataSetField_create(server, *pdsIdent, &fc, &fieldIdent).result; - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_addDataSetFieldVariables] " - "Adding DataSetField Variable failed."); - return res; - } - } - - return UA_STATUSCODE_GOOD; -} - -/* Checks if PublishedDataSet contains event or variable fields and calls the - * corresponding method to add these fields to the server. - * - * @param server UA_Server object that shall be configured - * @param pdsIdent NodeId of the publishedDataSet, the DataSetFields belongs to - * @param pdsParams publishedDataSet configuration */ -static UA_StatusCode -createDataSetFields(UA_Server *server, const UA_NodeId *pdsIdent, - const UA_PublishedDataSetDataType *pdsParams) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(pdsParams->dataSetSource.encoding != UA_EXTENSIONOBJECT_DECODED) - return UA_STATUSCODE_BADINTERNALERROR; - - if(pdsParams->dataSetSource.content.decoded.type == - &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]) - return addDataSetFieldVariables(server, pdsIdent, pdsParams); - - /* TODO: Implement Routine for adding Event DataSetFields */ - if(pdsParams->dataSetSource.content.decoded.type == - &UA_TYPES[UA_TYPES_PUBLISHEDEVENTSDATATYPE]) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createDataSetFields] " - "Published events not supported."); - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_createDataSetFields] " - "Invalid DataSetSourceDataType."); - return UA_STATUSCODE_BADINTERNALERROR; -} - -UA_StatusCode -UA_PubSubManager_loadPubSubConfigFromByteString(UA_Server *server, - const UA_ByteString buffer) { - size_t offset = 0; - UA_ExtensionObject decodedFile; - UA_StatusCode res; - - if(server == NULL) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_loadPubSubConfigFromByteString] Invalid argument"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - res = UA_ExtensionObject_decodeBinary(&buffer, &offset, &decodedFile); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_decodeBinFile] decoding UA_Binary failed"); - goto cleanup; - } - - UA_PubSubConfigurationDataType *pubSubConfig = NULL; - res = extractPubSubConfigFromExtensionObject(server, &decodedFile, &pubSubConfig); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_loadPubSubConfigFromByteString] " - "Extracting PubSub Configuration failed"); - goto cleanup; - } - - res = updatePubSubConfig(server, pubSubConfig); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_loadPubSubConfigFromByteString] " - "Loading PubSub configuration into server failed"); - goto cleanup; - } - - cleanup: - UA_ExtensionObject_clear(&decodedFile); - return res; -} - -/* Encodes a PubSubConfigurationDataType object as ByteString using the UA Binary Data - * Encoding */ -static UA_StatusCode -encodePubSubConfiguration(UA_Server *server, - UA_PubSubConfigurationDataType *configurationParameters, - UA_ByteString *buffer) { - UA_UABinaryFileDataType binFile; - memset(&binFile, 0, sizeof(UA_UABinaryFileDataType)); - /*Perhaps, additional initializations of binFile are necessary here.*/ - - UA_Variant_setScalar(&binFile.body, configurationParameters, - &UA_TYPES[UA_TYPES_PUBSUBCONFIGURATIONDATATYPE]); - - UA_ExtensionObject container; - memset(&container, 0, sizeof(UA_ExtensionObject)); - container.encoding = UA_EXTENSIONOBJECT_DECODED; - container.content.decoded.type = &UA_TYPES[UA_TYPES_UABINARYFILEDATATYPE]; - container.content.decoded.data = &binFile; - - size_t fileSize = UA_ExtensionObject_calcSizeBinary(&container); - buffer->data = (UA_Byte*)UA_calloc(fileSize, sizeof(UA_Byte)); - if(buffer->data == NULL) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_encodePubSubConfiguration] Allocating buffer failed"); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - buffer->length = fileSize; - - UA_Byte *bufferPos = buffer->data; - UA_StatusCode res = - UA_ExtensionObject_encodeBinary(&container, &bufferPos, bufferPos + fileSize); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_encodePubSubConfiguration] Encoding failed"); - } - return res; -} - -static UA_StatusCode -generatePublishedDataSetDataType(UA_Server* server, - const UA_PublishedDataSet *src, - UA_PublishedDataSetDataType *dst) { - if(src->config.publishedDataSetType != UA_PUBSUB_DATASET_PUBLISHEDITEMS) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - memset(dst, 0, sizeof(UA_PublishedDataSetDataType)); - - UA_PublishedDataItemsDataType *tmp = UA_PublishedDataItemsDataType_new(); - UA_String_copy(&src->config.name, &dst->name); - dst->dataSetMetaData.fieldsSize = src->fieldSize; - - size_t index = 0; - tmp->publishedDataSize = src->fieldSize; - tmp->publishedData = (UA_PublishedVariableDataType*) - UA_Array_new(tmp->publishedDataSize, &UA_TYPES[UA_TYPES_PUBLISHEDVARIABLEDATATYPE]); - if(tmp->publishedData == NULL) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "Allocation memory failed"); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - dst->dataSetMetaData.fields = (UA_FieldMetaData*) - UA_Array_new(dst->dataSetMetaData.fieldsSize, &UA_TYPES[UA_TYPES_FIELDMETADATA]); - if(dst->dataSetMetaData.fields == NULL) { - UA_free(tmp->publishedData); - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, "Allocation memory failed"); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_DataSetField *dsf, *dsf_tmp = NULL; - TAILQ_FOREACH_SAFE(dsf ,&src->fields, listEntry, dsf_tmp) { - UA_String_copy(&dsf->config.field.variable.fieldNameAlias, - &dst->dataSetMetaData.fields[index].name); - UA_PublishedVariableDataType_copy(&dsf->config.field.variable.publishParameters, - &tmp->publishedData[index]); - UA_ConfigurationVersionDataType_copy(&dsf->config.field.variable.configurationVersion, - &dst->dataSetMetaData.configurationVersion); - dst->dataSetMetaData.fields[index].fieldFlags = - dsf->config.field.variable.promotedField; - index++; - } - UA_ExtensionObject_setValue(&dst->dataSetSource, tmp, - &UA_TYPES[UA_TYPES_PUBLISHEDDATAITEMSDATATYPE]); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -generateDataSetWriterDataType(const UA_DataSetWriter *src, - UA_DataSetWriterDataType *dst) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - memset(dst, 0, sizeof(UA_DataSetWriterDataType)); - res |= UA_String_copy(&src->config.name, &dst->name); - dst->dataSetWriterId = src->config.dataSetWriterId; - dst->keyFrameCount = src->config.keyFrameCount; - dst->dataSetFieldContentMask = src->config.dataSetFieldContentMask; - res |= UA_ExtensionObject_copy(&src->config.messageSettings, &dst->messageSettings); - res |= UA_String_copy(&src->config.dataSetName, &dst->dataSetName); - if(res != UA_STATUSCODE_GOOD) { - UA_DataSetWriterDataType_clear(dst); - return res; - } - - res = UA_Array_copy(src->config.dataSetWriterProperties.map, - src->config.dataSetWriterProperties.mapSize, - (void**)&dst->dataSetWriterProperties, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - if(res == UA_STATUSCODE_GOOD) - dst->dataSetWriterPropertiesSize = src->config.dataSetWriterProperties.mapSize; - else - UA_DataSetWriterDataType_clear(dst); - - return res; -} - -static UA_StatusCode -generateWriterGroupDataType(const UA_WriterGroup *src, - UA_WriterGroupDataType *dst) { - memset(dst, 0, sizeof(UA_WriterGroupDataType)); - - UA_String_copy(&src->config.name, &dst->name); - dst->enabled = src->config.enabled; - dst->writerGroupId = src->config.writerGroupId; - dst->publishingInterval = src->config.publishingInterval; - dst->keepAliveTime = src->config.keepAliveTime; - dst->priority = src->config.priority; - dst->securityMode = src->config.securityMode; - - UA_ExtensionObject_copy(&src->config.transportSettings, &dst->transportSettings); - UA_ExtensionObject_copy(&src->config.messageSettings, &dst->messageSettings); - - UA_StatusCode res = - UA_Array_copy(src->config.groupProperties.map, - src->config.groupProperties.mapSize, - (void**)&dst->groupProperties, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - if(res != UA_STATUSCODE_GOOD) { - UA_WriterGroupDataType_clear(dst); - return res; - } - dst->groupPropertiesSize = src->config.groupProperties.mapSize, - - dst->dataSetWriters = (UA_DataSetWriterDataType*) - UA_calloc(src->writersCount, sizeof(UA_DataSetWriterDataType)); - if(!dst->dataSetWriters) { - UA_WriterGroupDataType_clear(dst); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - dst->dataSetWritersSize = src->writersCount; - - UA_DataSetWriter *dsw; - size_t dsWriterIndex = 0; - LIST_FOREACH(dsw, &src->writers, listEntry) { - res |= generateDataSetWriterDataType(dsw, &dst->dataSetWriters[dsWriterIndex]); - dsWriterIndex++; - } - if(res != UA_STATUSCODE_GOOD) - UA_WriterGroupDataType_clear(dst); - return res; -} - -static UA_StatusCode -generateDataSetReaderDataType(const UA_DataSetReader *src, - UA_DataSetReaderDataType *dst) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - memset(dst, 0, sizeof(UA_DataSetReaderDataType)); - dst->writerGroupId = src->config.writerGroupId; - dst->dataSetWriterId = src->config.dataSetWriterId; - dst->dataSetFieldContentMask = src->config.dataSetFieldContentMask; - dst->messageReceiveTimeout = src->config.messageReceiveTimeout; - res |= UA_String_copy(&src->config.name, &dst->name); - res |= UA_Variant_copy(&src->config.publisherId, &dst->publisherId); - res |= UA_DataSetMetaDataType_copy(&src->config.dataSetMetaData, - &dst->dataSetMetaData); - res |= UA_ExtensionObject_copy(&src->config.messageSettings, &dst->messageSettings); - - UA_TargetVariablesDataType *tmpTarget = UA_TargetVariablesDataType_new(); - if(!tmpTarget) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_ExtensionObject_setValue(&dst->subscribedDataSet, tmpTarget, - &UA_TYPES[UA_TYPES_TARGETVARIABLESDATATYPE]); - - const UA_TargetVariables *targets = - &src->config.subscribedDataSet.subscribedDataSetTarget; - tmpTarget->targetVariables = (UA_FieldTargetDataType *) - UA_calloc(targets->targetVariablesSize, sizeof(UA_FieldTargetDataType)); - if(!tmpTarget->targetVariables) - return UA_STATUSCODE_BADOUTOFMEMORY; - tmpTarget->targetVariablesSize = targets->targetVariablesSize; - - for(size_t i = 0; i < tmpTarget->targetVariablesSize; i++) { - res |= UA_FieldTargetDataType_copy(&targets->targetVariables[i].targetVariable, - &tmpTarget->targetVariables[i]); - } - - return res; -} - -static UA_StatusCode -generateReaderGroupDataType(const UA_ReaderGroup *src, - UA_ReaderGroupDataType *dst) { - memset(dst, 0, sizeof(UA_ReaderGroupDataType)); - - UA_String_copy(&src->config.name, &dst->name); - dst->dataSetReaders = (UA_DataSetReaderDataType*) - UA_calloc(src->readersCount, sizeof(UA_DataSetReaderDataType)); - if(dst->dataSetReaders == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - dst->dataSetReadersSize = src->readersCount; - - size_t i = 0; - UA_DataSetReader *dsr, *dsr_tmp = NULL; - LIST_FOREACH_SAFE(dsr, &src->readers, listEntry, dsr_tmp) { - UA_StatusCode res = - generateDataSetReaderDataType(dsr, &dst->dataSetReaders[i]); - if(res != UA_STATUSCODE_GOOD) - return res; - i++; - } - - return UA_STATUSCODE_GOOD; -} - -/* Generates a PubSubConnectionDataType object from a PubSubConnection. */ -static UA_StatusCode -generatePubSubConnectionDataType(UA_Server* server, - const UA_PubSubConnection *src, - UA_PubSubConnectionDataType *dst) { - const UA_DataType *publisherIdType; - memset(dst, 0, sizeof(UA_PubSubConnectionDataType)); - - UA_String_copy(&src->config.name, &dst->name); - UA_String_copy(&src->config.transportProfileUri, &dst->transportProfileUri); - dst->enabled = src->config.enabled; - - UA_StatusCode res = - UA_Array_copy(src->config.connectionProperties.map, - src->config.connectionProperties.mapSize, - (void**)&dst->connectionProperties, - &UA_TYPES[UA_TYPES_KEYVALUEPAIR]); - if(res != UA_STATUSCODE_GOOD) { - UA_PubSubConnectionDataType_clear(dst); - return res; - } - dst->connectionPropertiesSize = src->config.connectionProperties.mapSize; - - switch (src->config.publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - publisherIdType = &UA_TYPES[UA_TYPES_BYTE]; - break; - case UA_PUBLISHERIDTYPE_UINT16: - publisherIdType = &UA_TYPES[UA_TYPES_UINT16]; - break; - case UA_PUBLISHERIDTYPE_UINT32: - publisherIdType = &UA_TYPES[UA_TYPES_UINT32]; - break; - case UA_PUBLISHERIDTYPE_UINT64: - publisherIdType = &UA_TYPES[UA_TYPES_UINT64]; - break; - case UA_PUBLISHERIDTYPE_STRING: - publisherIdType = &UA_TYPES[UA_TYPES_STRING]; - break; - default: - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "generatePubSubConnectionDataType(): publisher Id type is not supported"); - return UA_STATUSCODE_BADINTERNALERROR; - break; - } - UA_Variant_setScalarCopy(&dst->publisherId, - &src->config.publisherId, - publisherIdType); - - /* Possibly, array size and dimensions of src->config->address and - * src->config->connectionTransportSettings should be checked beforehand. */ - dst->address.encoding = UA_EXTENSIONOBJECT_DECODED; - dst->address.content.decoded.type = src->config.address.type; - res = UA_Array_copy(src->config.address.data, 1, - &dst->address.content.decoded.data, - src->config.address.type); - if(res != UA_STATUSCODE_GOOD) { - UA_PubSubConnectionDataType_clear(dst); - return res; - } - - if(src->config.connectionTransportSettings.data) { - dst->transportSettings.encoding = UA_EXTENSIONOBJECT_DECODED; - dst->transportSettings.content.decoded.type = - src->config.connectionTransportSettings.type; - res = UA_Array_copy(src->config.connectionTransportSettings.data, 1, - &dst->transportSettings.content.decoded.data, - src->config.connectionTransportSettings.type); - - if(res != UA_STATUSCODE_GOOD) { - UA_PubSubConnectionDataType_clear(dst); - return res; - } - } - - dst->writerGroups = (UA_WriterGroupDataType*) - UA_calloc(src->writerGroupsSize, sizeof(UA_WriterGroupDataType)); - if(!dst->writerGroups) { - UA_PubSubConnectionDataType_clear(dst); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - dst->writerGroupsSize = src->writerGroupsSize; - UA_WriterGroup *wg, *wg_tmp = NULL; - size_t wgIndex = 0; - LIST_FOREACH_SAFE(wg, &src->writerGroups, listEntry, wg_tmp) { - res = generateWriterGroupDataType(wg, &dst->writerGroups[wgIndex]); - if(res != UA_STATUSCODE_GOOD) { - UA_PubSubConnectionDataType_clear(dst); - return res; - } - wgIndex++; - } - - dst->readerGroups = (UA_ReaderGroupDataType*) - UA_calloc(src->readerGroupsSize, sizeof(UA_ReaderGroupDataType)); - if(dst->readerGroups == NULL) { - UA_PubSubConnectionDataType_clear(dst); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - dst->readerGroupsSize = src->readerGroupsSize; - UA_ReaderGroup *rg = NULL; - size_t rgIndex = 0; - LIST_FOREACH(rg, &src->readerGroups, listEntry) { - res = generateReaderGroupDataType(rg, &dst->readerGroups[rgIndex]); - if(res != UA_STATUSCODE_GOOD) { - UA_PubSubConnectionDataType_clear(dst); - return res; - } - rgIndex++; - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -generatePubSubConfigurationDataType(UA_Server* server, - UA_PubSubConfigurationDataType *configDT) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode res = UA_STATUSCODE_GOOD; - const UA_PubSubManager *manager = &server->pubSubManager; - memset(configDT, 0, sizeof(UA_PubSubConfigurationDataType)); - - configDT->publishedDataSets = (UA_PublishedDataSetDataType*) - UA_calloc(manager->publishedDataSetsSize, - sizeof(UA_PublishedDataSetDataType)); - if(configDT->publishedDataSets == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - configDT->publishedDataSetsSize = manager->publishedDataSetsSize; - - UA_PublishedDataSet *pds; - UA_UInt32 pdsIndex = 0; - TAILQ_FOREACH(pds, &manager->publishedDataSets, listEntry) { - UA_PublishedDataSetDataType *dst = &configDT->publishedDataSets[pdsIndex]; - res = generatePublishedDataSetDataType(server, pds, dst); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_generatePubSubConfigurationDataType] " - "retrieving PublishedDataSet configuration failed"); - return res; - } - pdsIndex++; - } - - configDT->connections = (UA_PubSubConnectionDataType*) - UA_calloc(manager->connectionsSize, sizeof(UA_PubSubConnectionDataType)); - if(configDT->connections == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - configDT->connectionsSize = manager->connectionsSize; - - UA_UInt32 connectionIndex = 0; - UA_PubSubConnection *connection; - TAILQ_FOREACH(connection, &manager->connections, listEntry) { - UA_PubSubConnectionDataType *cdt = &configDT->connections[connectionIndex]; - res = generatePubSubConnectionDataType(server, connection, cdt); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_generatePubSubConfigurationDataType] " - "retrieving PubSubConnection configuration failed"); - return res; - } - connectionIndex++; - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_PubSubManager_getEncodedPubSubConfiguration(UA_Server *server, - UA_ByteString *buffer) { - UA_PubSubConfigurationDataType config; - memset(&config, 0, sizeof(UA_PubSubConfigurationDataType)); - - if(server == NULL) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "[UA_PubSubManager_getEncodedPubSubConfiguration] Invalid argument"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_StatusCode res = generatePubSubConfigurationDataType(server, &config); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "retrieving PubSub configuration from server failed"); - goto cleanup; - } - - res = encodePubSubConfiguration(server, &config, buffer); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "encoding PubSub configuration failed"); - goto cleanup; - } - - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Saving PubSub config was successful"); - - cleanup: - UA_PubSubConfigurationDataType_clear(&config); - return res; -} - -#endif /* UA_ENABLE_PUBSUB && UA_ENABLE_PUBSUB_FILE_CONFIG */ - -/**** amalgamated original file "/src/client/ua_client.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2015-2016 (c) Chris Iatrou - * Copyright 2015 (c) hfaham - * Copyright 2015-2017 (c) Florian Palm - * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2015 (c) Holger Jeromin - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016 (c) TorbenD - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2016 (c) Lykurg - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018 (c) Kalycito Infotech Private Limited - * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - * Copyright 2022 (c) Linutronix GmbH (Author: Muddasir Shakil) - */ - - - -static void -clientHouseKeeping(UA_Client *client, void *_); - -/********************/ -/* Client Lifecycle */ -/********************/ - -UA_StatusCode -UA_ClientConfig_copy(UA_ClientConfig const *src, UA_ClientConfig *dst){ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - retval = UA_ApplicationDescription_copy(&src->clientDescription, &dst->clientDescription); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - retval = UA_ExtensionObject_copy(&src->userIdentityToken, &dst->userIdentityToken); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - retval = UA_String_copy(&src->securityPolicyUri, &dst->securityPolicyUri); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - retval = UA_EndpointDescription_copy(&src->endpoint, &dst->endpoint); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - retval = UA_UserTokenPolicy_copy(&src->userTokenPolicy, &dst->userTokenPolicy); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - retval = UA_Array_copy(src->sessionLocaleIds, src->sessionLocaleIdsSize, - (void **)&dst->sessionLocaleIds, &UA_TYPES[UA_TYPES_LOCALEID]); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - dst->sessionLocaleIdsSize = src->sessionLocaleIdsSize; - dst->connectivityCheckInterval = src->connectivityCheckInterval; - dst->certificateVerification = src->certificateVerification; - dst->clientContext = src->clientContext; - dst->customDataTypes = src->customDataTypes; - dst->eventLoop = src->eventLoop; - dst->externalEventLoop = src->externalEventLoop; - dst->inactivityCallback = src->inactivityCallback; - dst->localConnectionConfig = src->localConnectionConfig; - dst->logging = src->logging; - if(src->certificateVerification.logging == NULL) - dst->certificateVerification.logging = dst->logging; -#ifdef UA_ENABLE_SUBSCRIPTIONS - dst->outStandingPublishRequests = src->outStandingPublishRequests; -#endif - dst->requestedSessionTimeout = src->requestedSessionTimeout; - dst->secureChannelLifeTime = src->secureChannelLifeTime; - dst->securityMode = src->securityMode; - dst->stateCallback = src->stateCallback; -#ifdef UA_ENABLE_SUBSCRIPTIONS - dst->subscriptionInactivityCallback = src->subscriptionInactivityCallback; -#endif - dst->timeout = src->timeout; - dst->userTokenPolicy = src->userTokenPolicy; - dst->securityPolicies = src->securityPolicies; - dst->securityPoliciesSize = src->securityPoliciesSize; - dst->authSecurityPolicies = src->authSecurityPolicies; - dst->authSecurityPoliciesSize = src->authSecurityPoliciesSize; - -cleanup: - if(retval != UA_STATUSCODE_GOOD) { - /* _clear will free the plugins in dst that are a shallow copy from src. */ - dst->authSecurityPolicies = NULL; - dst->certificateVerification.context = NULL; - dst->eventLoop = NULL; - dst->logging = NULL; - dst->securityPolicies = NULL; - UA_ClientConfig_clear(dst); - } - return retval; -} - -UA_Client * -UA_Client_newWithConfig(const UA_ClientConfig *config) { - if(!config) - return NULL; - UA_Client *client = (UA_Client*)UA_malloc(sizeof(UA_Client)); - if(!client) - return NULL; - memset(client, 0, sizeof(UA_Client)); - client->config = *config; - - UA_SecureChannel_init(&client->channel); - client->channel.config = client->config.localConnectionConfig; - client->connectStatus = UA_STATUSCODE_GOOD; - -#if UA_MULTITHREADING >= 100 - UA_LOCK_INIT(&client->clientMutex); -#endif - - return client; -} - -void -UA_ClientConfig_clear(UA_ClientConfig *config) { - UA_ApplicationDescription_clear(&config->clientDescription); - UA_String_clear(&config->endpointUrl); - UA_ExtensionObject_clear(&config->userIdentityToken); - - /* Delete the SecurityPolicies for Authentication */ - if(config->authSecurityPolicies != 0) { - for(size_t i = 0; i < config->authSecurityPoliciesSize; i++) - config->authSecurityPolicies[i].clear(&config->authSecurityPolicies[i]); - UA_free(config->authSecurityPolicies); - config->authSecurityPolicies = 0; - } - UA_String_clear(&config->securityPolicyUri); - UA_String_clear(&config->authSecurityPolicyUri); - - UA_EndpointDescription_clear(&config->endpoint); - UA_UserTokenPolicy_clear(&config->userTokenPolicy); - - UA_String_clear(&config->applicationUri); - - if(config->certificateVerification.clear) - config->certificateVerification.clear(&config->certificateVerification); - - /* Delete the SecurityPolicies */ - if(config->securityPolicies != 0) { - for(size_t i = 0; i < config->securityPoliciesSize; i++) - config->securityPolicies[i].clear(&config->securityPolicies[i]); - UA_free(config->securityPolicies); - config->securityPolicies = 0; - } - - /* Stop and delete the EventLoop */ - UA_EventLoop *el = config->eventLoop; - if(el && !config->externalEventLoop) { - if(el->state != UA_EVENTLOOPSTATE_FRESH && - el->state != UA_EVENTLOOPSTATE_STOPPED) { - el->stop(el); - while(el->state != UA_EVENTLOOPSTATE_STOPPED) { - el->run(el, 100); - } - } - el->free(el); - config->eventLoop = NULL; - } - - /* Logging */ - if(config->logging != NULL && config->logging->clear != NULL) - config->logging->clear(config->logging); - config->logging = NULL; - - UA_String_clear(&config->sessionName); - if(config->sessionLocaleIdsSize > 0 && config->sessionLocaleIds) { - UA_Array_delete(config->sessionLocaleIds, - config->sessionLocaleIdsSize, &UA_TYPES[UA_TYPES_LOCALEID]); - } - config->sessionLocaleIds = NULL; - config->sessionLocaleIdsSize = 0; - - /* Custom Data Types */ - UA_cleanupDataTypeWithCustom(config->customDataTypes); - -#ifdef UA_ENABLE_ENCRYPTION - config->privateKeyPasswordCallback = NULL; -#endif -} - -void -UA_ClientConfig_delete(UA_ClientConfig *config){ - UA_assert(config != NULL); - UA_ClientConfig_clear(config); - UA_free(config); -} - -static void -UA_Client_clear(UA_Client *client) { - /* Prevent new async service calls in UA_Client_AsyncService_removeAll */ - UA_SessionState oldState = client->sessionState; - client->sessionState = UA_SESSIONSTATE_CLOSING; - - /* Delete the async service calls with BADHSUTDOWN */ - __Client_AsyncService_removeAll(client, UA_STATUSCODE_BADSHUTDOWN); - - /* Reset to the old state to properly close the session */ - client->sessionState = oldState; - - UA_Client_disconnect(client); - UA_String_clear(&client->discoveryUrl); - UA_EndpointDescription_clear(&client->endpoint); - - UA_String_clear(&client->serverSessionNonce); - UA_String_clear(&client->clientSessionNonce); - - /* Delete the subscriptions */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - __Client_Subscriptions_clean(client); -#endif - - /* Remove the internal regular callback */ - UA_Client_removeCallback(client, client->houseKeepingCallbackId); - client->houseKeepingCallbackId = 0; - - UA_SecureChannel_clear(&client->channel); - -#if UA_MULTITHREADING >= 100 - UA_LOCK_DESTROY(&client->clientMutex); -#endif -} - -void -UA_Client_delete(UA_Client* client) { - UA_Client_disconnect(client); - UA_Client_clear(client); - UA_ClientConfig_clear(&client->config); - UA_free(client); -} - -void -UA_Client_getState(UA_Client *client, UA_SecureChannelState *channelState, - UA_SessionState *sessionState, UA_StatusCode *connectStatus) { - lockClient(client); - if(channelState) - *channelState = client->channel.state; - if(sessionState) - *sessionState = client->sessionState; - if(connectStatus) - *connectStatus = client->connectStatus; - unlockClient(client); -} - -UA_ClientConfig * -UA_Client_getConfig(UA_Client *client) { - if(!client) - return NULL; - return &client->config; -} - -#if UA_LOGLEVEL <= 300 -static const char *channelStateTexts[14] = { - "Fresh", "ReverseListening", "Connecting", "Connected", "ReverseConnected", "RHESent", "HELSent", "HELReceived", "ACKSent", - "AckReceived", "OPNSent", "Open", "Closing", "Closed"}; -static const char *sessionStateTexts[6] = - {"Closed", "CreateRequested", "Created", - "ActivateRequested", "Activated", "Closing"}; -#endif - -void -notifyClientState(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - if(client->connectStatus == client->oldConnectStatus && - client->channel.state == client->oldChannelState && - client->sessionState == client->oldSessionState) - return; - -#if UA_LOGLEVEL <= 300 - UA_Boolean info = (client->connectStatus != UA_STATUSCODE_GOOD); - if(client->oldChannelState != client->channel.state) - info |= (client->channel.state == UA_SECURECHANNELSTATE_OPEN || - client->channel.state == UA_SECURECHANNELSTATE_CLOSED); - if(client->oldSessionState != client->sessionState) - info |= (client->sessionState == UA_SESSIONSTATE_CREATED || - client->sessionState == UA_SESSIONSTATE_ACTIVATED || - client->sessionState == UA_SESSIONSTATE_CLOSED); - - const char *channelStateText = channelStateTexts[client->channel.state]; - const char *sessionStateText = sessionStateTexts[client->sessionState]; - const char *connectStatusText = UA_StatusCode_name(client->connectStatus); - - if(info) - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Client Status: ChannelState: %s, SessionState: %s, ConnectStatus: %s", - channelStateText, sessionStateText, connectStatusText); - else - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Client Status: ChannelState: %s, SessionState: %s, ConnectStatus: %s", - channelStateText, sessionStateText, connectStatusText); -#endif - - client->oldConnectStatus = client->connectStatus; - client->oldChannelState = client->channel.state; - client->oldSessionState = client->sessionState; - - if(client->config.stateCallback) - client->config.stateCallback(client, client->channel.state, - client->sessionState, client->connectStatus); -} - -/****************/ -/* Raw Services */ -/****************/ - -/* For both synchronous and asynchronous service calls */ -static UA_StatusCode -sendRequest(UA_Client *client, const void *request, - const UA_DataType *requestType, UA_UInt32 *requestId) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Renew SecureChannel if necessary */ - __Client_renewSecureChannel(client); - if(client->connectStatus != UA_STATUSCODE_GOOD) - return client->connectStatus; - - /* Adjusting the request header. The const attribute is violated, but we - * reset to the original state before returning. Use the AuthenticationToken - * only once the session is active (or to activate / close it). */ - UA_RequestHeader *rr = (UA_RequestHeader*)(uintptr_t)request; - UA_NodeId oldToken = rr->authenticationToken; /* Put back in place later */ - if(client->sessionState == UA_SESSIONSTATE_ACTIVATED || - requestType == &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST] || - requestType == &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST]) - rr->authenticationToken = client->authenticationToken; - rr->timestamp = UA_DateTime_now(); - - /* Create a unique handle >100,000 if not manually defined. The handle is - * not necessarily unique when manually defined and used to cancel async - * service requests. */ - if(rr->requestHandle == 0) { - if(UA_UNLIKELY(client->requestHandle < 100000)) - client->requestHandle = 100000; - rr->requestHandle = ++client->requestHandle; - } - - /* Set the timeout hint if not manually defined */ - if(rr->timeoutHint == 0) - rr->timeoutHint = client->config.timeout; - - /* Generate the request id */ - UA_UInt32 rqId = ++client->requestId; - -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, - "Sending request with RequestId %u of type %s", - (unsigned)rqId, requestType->typeName); -#else - UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, - "Sending request with RequestId %u of type %" PRIu32, - (unsigned)rqId, requestType->binaryEncodingId.identifier.numeric); -#endif - - /* Send the message */ - UA_StatusCode retval = - UA_SecureChannel_sendSymmetricMessage(&client->channel, rqId, - UA_MESSAGETYPE_MSG, rr, requestType); - - rr->authenticationToken = oldToken; /* Set back to the original token */ - - /* Sending failed. The SecureChannel cannot recover from that. Call - * closeSecureChannel to a) close from our end and b) set the session to - * non-activated. */ - if(retval != UA_STATUSCODE_GOOD) - closeSecureChannel(client); - - /* Return the request id */ - *requestId = rqId; - return retval; -} - -static const UA_NodeId -serviceFaultId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_SERVICEFAULT_ENCODING_DEFAULTBINARY}}; - -/* Look for the async callback in the linked list, execute and delete it */ -static UA_StatusCode -processMSGResponse(UA_Client *client, UA_UInt32 requestId, - const UA_ByteString *msg) { - /* Find the callback */ - AsyncServiceCall *ac; - LIST_FOREACH(ac, &client->asyncServiceCalls, pointers) { - if(ac->requestId == requestId) - break; - } - - /* Part 6, 6.7.6: After the security validation is complete the receiver - * shall verify the RequestId and the SequenceNumber. If these checks fail a - * Bad_SecurityChecksFailed error is reported. The RequestId only needs to - * be verified by the Client since only the Client knows if it is valid or - * not.*/ - if(!ac) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Request with unknown RequestId %u", requestId); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - UA_Response asyncResponse; - UA_Response *response = (ac->syncResponse) ? ac->syncResponse : &asyncResponse; - const UA_DataType *responseType = ac->responseType; - - /* Dequeue ac. We might disconnect the client (remove all ac) in the callback. */ - LIST_REMOVE(ac, pointers); - - /* Decode the response type */ - size_t offset = 0; - UA_NodeId responseTypeId; - UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &responseTypeId); - if(retval != UA_STATUSCODE_GOOD) - goto process; - - /* Verify the type of the response */ - if(!UA_NodeId_equal(&responseTypeId, &ac->responseType->binaryEncodingId)) { - /* Initialize before switching the responseType to ServiceFault. - * Otherwise the decoding will leave fields from the original response - * type uninitialized. */ - UA_init(response, ac->responseType); - if(UA_NodeId_equal(&responseTypeId, &serviceFaultId)) { - /* Decode as a ServiceFault, i.e. only the response header */ - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received a ServiceFault response"); - responseType = &UA_TYPES[UA_TYPES_SERVICEFAULT]; - } else { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Service response type does not match"); - retval = UA_STATUSCODE_BADCOMMUNICATIONERROR; - goto process; /* Do not decode */ - } - } - - /* Decode the response */ -#ifdef UA_ENABLE_TYPEDESCRIPTION - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Decode a message of type %s", responseType->typeName); -#else - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Decode a message of type %" PRIu32, - responseTypeId.identifier.numeric); -#endif - retval = UA_decodeBinaryInternal(msg, &offset, response, responseType, - client->config.customDataTypes); - - process: - /* Process the received MSG response */ - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not decode the response with RequestId %u with status %s", - (unsigned)requestId, UA_StatusCode_name(retval)); - response->responseHeader.serviceResult = retval; - } - - /* The Session closed. The current response is processed with the return code. - * The next request first recreates a session. */ - if(responseType != &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE] && - (response->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONIDINVALID || - response->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONCLOSED)) { - /* Clean up the session information and reset the state */ - cleanupSession(client); - - if(client->config.noNewSession) { - /* Configuration option to not create a new Session. Disconnect the - * client. */ - client->connectStatus = response->responseHeader.serviceResult; - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Session cannot be activated with StatusCode %s. " - "The client is configured not to create a new Session.", - UA_StatusCode_name(client->connectStatus)); - closeSecureChannel(client); - } else { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Session no longer valid. A new Session is created for the next " - "Service request but we do not re-send the current request."); - } - } - - /* Call the async callback. This is the only thread with access to ac. So we - * can just unlock for the callback into userland. */ - if(ac->callback) - ac->callback(client, ac->userdata, requestId, response); - - /* Clean up */ - UA_NodeId_clear(&responseTypeId); - if(!ac->syncResponse) { - UA_clear(response, ac->responseType); - UA_free(ac); - } else { - /* Return a special status code after processing a synchronous message. - * This makes the client return control immediately. */ - ac->syncResponse = NULL; /* Indicate that response was received */ - if(retval == UA_STATUSCODE_GOOD) - retval = UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY; - } - return retval; -} - -UA_StatusCode -processServiceResponse(UA_Client *client, UA_SecureChannel *channel, - UA_MessageType messageType, UA_UInt32 requestId, - UA_ByteString *message) { - if(!UA_SecureChannel_isConnected(channel)) { - if(messageType == UA_MESSAGETYPE_MSG) { - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Discard MSG message " - "with RequestId %u as the SecureChannel is not connected", - requestId); - } else { - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Discard message " - "as the SecureChannel is not connected"); - } - return UA_STATUSCODE_BADCONNECTIONCLOSED; - } - - switch(messageType) { - case UA_MESSAGETYPE_RHE: - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process RHE message"); - processRHEMessage(client, message); - return UA_STATUSCODE_GOOD; - case UA_MESSAGETYPE_ACK: - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process ACK message"); - processACKResponse(client, message); - return UA_STATUSCODE_GOOD; - case UA_MESSAGETYPE_OPN: - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process OPN message"); - processOPNResponse(client, message); - return UA_STATUSCODE_GOOD; - case UA_MESSAGETYPE_ERR: - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process ERR message"); - processERRResponse(client, message); - return UA_STATUSCODE_GOOD; - case UA_MESSAGETYPE_MSG: - UA_LOG_DEBUG_CHANNEL(client->config.logging, channel, "Process MSG message " - "with RequestId %u", requestId); - return processMSGResponse(client, requestId, message); - default: - UA_LOG_TRACE_CHANNEL(client->config.logging, channel, - "Invalid message type"); - channel->state = UA_SECURECHANNELSTATE_CLOSING; - return UA_STATUSCODE_BADTCPMESSAGETYPEINVALID; - } -} - -void -__Client_Service(UA_Client *client, const void *request, - const UA_DataType *requestType, void *response, - const UA_DataType *responseType) { - UA_ResponseHeader *respHeader = (UA_ResponseHeader*)response; - - /* Initialize. Response is valied in case of aborting. */ - UA_init(response, responseType); - - /* Verify that the EventLoop is running */ - UA_EventLoop *el = client->config.eventLoop; - if(!el || el->state != UA_EVENTLOOPSTATE_STARTED) { - respHeader->serviceResult = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* Check that the SecureChannel is open and also a Session active (if we - * want a Session). Otherwise reopen. */ - if(!isFullyConnected(client)) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Re-establish the connction for the synchronous service call"); - connectSync(client); - if(client->connectStatus != UA_STATUSCODE_GOOD) { - respHeader->serviceResult = client->connectStatus; - return; - } - } - - /* Store the channelId to detect if the channel was changed by a - * reconnection within the EventLoop run method. */ - UA_UInt32 channelId = client->channel.securityToken.channelId; - - /* Send the request */ - UA_UInt32 requestId = 0; - UA_StatusCode retval = sendRequest(client, request, requestType, &requestId); - if(retval != UA_STATUSCODE_GOOD) { - /* If sending failed, the status is set to closing. The SecureChannel is - * the actually closed in the next iteration of the EventLoop. */ - UA_assert(client->channel.state == UA_SECURECHANNELSTATE_CLOSING || - client->channel.state == UA_SECURECHANNELSTATE_CLOSED); - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Sending the request failed with status %s", - UA_StatusCode_name(retval)); - notifyClientState(client); - respHeader->serviceResult = retval; - return; - } - - /* Temporarily insert an AsyncServiceCall */ - const UA_RequestHeader *rh = (const UA_RequestHeader*)request; - AsyncServiceCall ac; - ac.callback = NULL; - ac.userdata = NULL; - ac.responseType = responseType; - ac.syncResponse = (UA_Response*)response; - ac.requestId = requestId; - ac.start = UA_DateTime_nowMonotonic(); /* Start timeout after sending */ - ac.timeout = rh->timeoutHint; - ac.requestHandle = rh->requestHandle; - if(ac.timeout == 0) - ac.timeout = UA_UINT32_MAX; /* 0 -> unlimited */ - - LIST_INSERT_HEAD(&client->asyncServiceCalls, &ac, pointers); - - /* Time until which the request has to be answered */ - UA_DateTime maxDate = ac.start + ((UA_DateTime)ac.timeout * UA_DATETIME_MSEC); - - /* Run the EventLoop until the request was processed, the request has timed - * out or the client connection fails */ - UA_UInt32 timeout_remaining = ac.timeout; - while(true) { - /* Unlock before dropping into the EventLoop. The client lock is - * re-taken in the network callback if an event occurs. */ - retval = el->run(el, timeout_remaining); - - /* Was the response received? In that case we can directly return. The - * ac was already removed from the internal linked list. */ - if(ac.syncResponse == NULL) - return; - - /* Check the status. Do not try to resend if the connection breaks. - * Leave this to the application-level user. For example, we do not want - * to call a method twice is the connection broke after sending the - * request. */ - if(retval != UA_STATUSCODE_GOOD) - break; - - /* The connection was lost */ - retval = client->connectStatus; - if(retval != UA_STATUSCODE_GOOD) - break; - - /* The channel is no longer the same or was closed */ - if(channelId != client->channel.securityToken.channelId) { - retval = UA_STATUSCODE_BADSECURECHANNELCLOSED; - break; - } - - /* Update the remaining timeout or break */ - UA_DateTime now = UA_DateTime_nowMonotonic(); - if(now > maxDate) { - retval = UA_STATUSCODE_BADTIMEOUT; - break; - } - timeout_remaining = (UA_UInt32)((maxDate - now) / UA_DATETIME_MSEC); - } - - /* Detach from the internal async service list */ - LIST_REMOVE(&ac, pointers); - - /* Return the status code */ - respHeader->serviceResult = retval; -} - -void -__UA_Client_Service(UA_Client *client, const void *request, - const UA_DataType *requestType, void *response, - const UA_DataType *responseType) { - lockClient(client); - __Client_Service(client, request, requestType, response, responseType); - unlockClient(client); -} - -/***********************************/ -/* Handling of Async Service Calls */ -/***********************************/ - -static void -__Client_AsyncService_cancel(UA_Client *client, AsyncServiceCall *ac, - UA_StatusCode statusCode) { - /* Set the status for the synchronous service call. Don't free the ac. */ - if(ac->syncResponse) { - ac->syncResponse->responseHeader.serviceResult = statusCode; - ac->syncResponse = NULL; /* Indicate the async service call was processed */ - return; - } - - if(ac->callback) { - /* Create an empty response with the statuscode and call the callback */ - UA_Response response; - UA_init(&response, ac->responseType); - response.responseHeader.serviceResult = statusCode; - ac->callback(client, ac->userdata, ac->requestId, &response); - - /* Clean up the response. The user callback might move data into it. For - * whatever reasons. */ - UA_clear(&response, ac->responseType); - } - - UA_free(ac); -} - -void -__Client_AsyncService_removeAll(UA_Client *client, UA_StatusCode statusCode) { - /* Make this function reentrant. One of the async callbacks could indirectly - * operate on the list. Moving all elements to a local list before iterating - * that. */ - UA_AsyncServiceList asyncServiceCalls = client->asyncServiceCalls; - LIST_INIT(&client->asyncServiceCalls); - if(asyncServiceCalls.lh_first) - asyncServiceCalls.lh_first->pointers.le_prev = &asyncServiceCalls.lh_first; - - /* Cancel and remove the elements from the local list */ - AsyncServiceCall *ac, *ac_tmp; - LIST_FOREACH_SAFE(ac, &asyncServiceCalls, pointers, ac_tmp) { - LIST_REMOVE(ac, pointers); - __Client_AsyncService_cancel(client, ac, statusCode); - } -} - -UA_StatusCode -UA_Client_modifyAsyncCallback(UA_Client *client, UA_UInt32 requestId, - void *userdata, UA_ClientAsyncServiceCallback callback) { - lockClient(client); - AsyncServiceCall *ac; - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - LIST_FOREACH(ac, &client->asyncServiceCalls, pointers) { - if(ac->requestId == requestId) { - ac->callback = callback; - ac->userdata = userdata; - res = UA_STATUSCODE_GOOD; - break; - } - } - unlockClient(client); - return res; -} - -UA_StatusCode -__Client_AsyncService(UA_Client *client, const void *request, - const UA_DataType *requestType, - UA_ClientAsyncServiceCallback callback, - const UA_DataType *responseType, - void *userdata, UA_UInt32 *requestId) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Is the SecureChannel connected? */ - if(client->channel.state != UA_SECURECHANNELSTATE_OPEN) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "SecureChannel must be connected to send request"); - return UA_STATUSCODE_BADSERVERNOTCONNECTED; - } - - /* Prepare the entry for the linked list */ - AsyncServiceCall *ac = (AsyncServiceCall*)UA_malloc(sizeof(AsyncServiceCall)); - if(!ac) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Call the service and set the requestId */ - UA_StatusCode retval = sendRequest(client, request, requestType, &ac->requestId); - if(retval != UA_STATUSCODE_GOOD) { - /* If sending failed, the status is set to closing. The SecureChannel is - * the actually closed in the next iteration of the EventLoop. */ - UA_assert(client->channel.state == UA_SECURECHANNELSTATE_CLOSING || - client->channel.state == UA_SECURECHANNELSTATE_CLOSED); - UA_free(ac); - notifyClientState(client); - return retval; - } - - /* Set up the AsyncServiceCall for processing the response */ - const UA_RequestHeader *rh = (const UA_RequestHeader*)request; - ac->callback = callback; - ac->responseType = responseType; - ac->userdata = userdata; - ac->syncResponse = NULL; - ac->start = UA_DateTime_nowMonotonic(); - ac->timeout = rh->timeoutHint; - ac->requestHandle = rh->requestHandle; - if(ac->timeout == 0) - ac->timeout = UA_UINT32_MAX; /* 0 -> unlimited */ - - LIST_INSERT_HEAD(&client->asyncServiceCalls, ac, pointers); - - /* Return the generated request id */ - if(requestId) - *requestId = ac->requestId; - - /* Notify the userland if a change happened */ - notifyClientState(client); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -__UA_Client_AsyncService(UA_Client *client, const void *request, - const UA_DataType *requestType, - UA_ClientAsyncServiceCallback callback, - const UA_DataType *responseType, - void *userdata, UA_UInt32 *requestId) { - lockClient(client); - UA_StatusCode res = - __Client_AsyncService(client, request, requestType, callback, responseType, - userdata, requestId); - unlockClient(client); - return res; -} - -static UA_StatusCode -cancelByRequestHandle(UA_Client *client, UA_UInt32 requestHandle, UA_UInt32 *cancelCount) { - UA_CancelRequest creq; - UA_CancelRequest_init(&creq); - creq.requestHandle = requestHandle; - UA_CancelResponse cresp; - UA_CancelResponse_init(&cresp); - __Client_Service(client, &creq, &UA_TYPES[UA_TYPES_CANCELREQUEST], - &cresp, &UA_TYPES[UA_TYPES_CANCELRESPONSE]); - if(cancelCount) - *cancelCount = cresp.cancelCount; - UA_StatusCode res = cresp.responseHeader.serviceResult; - UA_CancelResponse_clear(&cresp); - return res; -} - -UA_StatusCode -UA_Client_cancelByRequestHandle(UA_Client *client, UA_UInt32 requestHandle, - UA_UInt32 *cancelCount) { - lockClient(client); - UA_StatusCode res = cancelByRequestHandle(client, requestHandle, cancelCount); - unlockClient(client); - return res; -} - -UA_StatusCode -UA_Client_cancelByRequestId(UA_Client *client, UA_UInt32 requestId, - UA_UInt32 *cancelCount) { - lockClient(client); - UA_StatusCode res = UA_STATUSCODE_BADNOTFOUND; - AsyncServiceCall *ac; - LIST_FOREACH(ac, &client->asyncServiceCalls, pointers) { - if(ac->requestId != requestId) - continue; - res = cancelByRequestHandle(client, ac->requestHandle, cancelCount); - break; - } - unlockClient(client); - return res; -} - -/*******************/ -/* Timed Callbacks */ -/*******************/ - -UA_StatusCode -UA_Client_addTimedCallback(UA_Client *client, UA_ClientCallback callback, - void *data, UA_DateTime date, UA_UInt64 *callbackId) { - if(!client->config.eventLoop) - return UA_STATUSCODE_BADINTERNALERROR; - lockClient(client); - UA_StatusCode res = client->config.eventLoop-> - addTimedCallback(client->config.eventLoop, (UA_Callback)callback, - client, data, date, callbackId); - unlockClient(client); - return res; -} - -UA_StatusCode -UA_Client_addRepeatedCallback(UA_Client *client, UA_ClientCallback callback, - void *data, UA_Double interval_ms, UA_UInt64 *callbackId) { - if(!client->config.eventLoop) - return UA_STATUSCODE_BADINTERNALERROR; - lockClient(client); - UA_StatusCode res = client->config.eventLoop-> - addCyclicCallback(client->config.eventLoop, (UA_Callback)callback, - client, data, interval_ms, NULL, - UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, callbackId); - unlockClient(client); - return res; -} - -UA_StatusCode -UA_Client_changeRepeatedCallbackInterval(UA_Client *client, UA_UInt64 callbackId, - UA_Double interval_ms) { - if(!client->config.eventLoop) - return UA_STATUSCODE_BADINTERNALERROR; - lockClient(client); - UA_StatusCode res = client->config.eventLoop-> - modifyCyclicCallback(client->config.eventLoop, callbackId, interval_ms, - NULL, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME); - unlockClient(client); - return res; -} - -void -UA_Client_removeCallback(UA_Client *client, UA_UInt64 callbackId) { - if(!client->config.eventLoop) - return; - lockClient(client); - client->config.eventLoop-> - removeCyclicCallback(client->config.eventLoop, callbackId); - unlockClient(client); -} - -/**********************/ -/* Housekeeping Tasks */ -/**********************/ - -static void -asyncServiceTimeoutCheck(UA_Client *client) { - /* Make this function reentrant. One of the async callbacks could indirectly - * operate on the list. Moving all elements to a local list before iterating - * that. */ - UA_AsyncServiceList asyncServiceCalls; - AsyncServiceCall *ac, *ac_tmp; - UA_DateTime now = UA_DateTime_nowMonotonic(); - LIST_INIT(&asyncServiceCalls); - LIST_FOREACH_SAFE(ac, &client->asyncServiceCalls, pointers, ac_tmp) { - if(!ac->timeout) - continue; - if(ac->start + (UA_DateTime)(ac->timeout * UA_DATETIME_MSEC) <= now) { - LIST_REMOVE(ac, pointers); - LIST_INSERT_HEAD(&asyncServiceCalls, ac, pointers); - } - } - - /* Cancel and remove the elements from the local list */ - LIST_FOREACH_SAFE(ac, &asyncServiceCalls, pointers, ac_tmp) { - LIST_REMOVE(ac, pointers); - __Client_AsyncService_cancel(client, ac, UA_STATUSCODE_BADTIMEOUT); - } -} - -static void -backgroundConnectivityCallback(UA_Client *client, void *userdata, - UA_UInt32 requestId, const UA_ReadResponse *response) { - lockClient(client); - if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTIMEOUT) { - if(client->config.inactivityCallback) - client->config.inactivityCallback(client); - } - client->pendingConnectivityCheck = false; - client->lastConnectivityCheck = UA_DateTime_nowMonotonic(); - unlockClient(client); -} - -static void -__Client_backgroundConnectivity(UA_Client *client) { - if(!client->config.connectivityCheckInterval) - return; - - if(client->pendingConnectivityCheck) - return; - - UA_DateTime now = UA_DateTime_nowMonotonic(); - UA_DateTime nextDate = client->lastConnectivityCheck + - (UA_DateTime)(client->config.connectivityCheckInterval * UA_DATETIME_MSEC); - if(now <= nextDate) - return; - - /* Prepare the request */ - UA_ReadValueId rvid; - UA_ReadValueId_init(&rvid); - rvid.attributeId = UA_ATTRIBUTEID_VALUE; - rvid.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_STATE); - UA_ReadRequest request; - UA_ReadRequest_init(&request); - request.nodesToRead = &rvid; - request.nodesToReadSize = 1; - UA_StatusCode retval = - __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_READREQUEST], - (UA_ClientAsyncServiceCallback)backgroundConnectivityCallback, - &UA_TYPES[UA_TYPES_READRESPONSE], NULL, NULL); - if(retval == UA_STATUSCODE_GOOD) - client->pendingConnectivityCheck = true; -} - -/* Regular housekeeping activities in the client -- called via a cyclic callback */ -static void -clientHouseKeeping(UA_Client *client, void *_) { - lockClient(client); - - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Internally check the the client state and " - "required activities"); - - /* Renew Secure Channel */ - __Client_renewSecureChannel(client); - - /* Send read requests from time to time to test the connectivity */ - __Client_backgroundConnectivity(client); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* Feed the server PublishRequests for the Subscriptions */ - __Client_Subscriptions_backgroundPublish(client); - - /* Check for inactive Subscriptions */ - __Client_Subscriptions_backgroundPublishInactivityCheck(client); -#endif - - /* Did async services time out? Process callbacks with an error code */ - asyncServiceTimeoutCheck(client); - - /* Log and notify user if the client state has changed */ - notifyClientState(client); - - unlockClient(client); -} - -UA_StatusCode -__UA_Client_startup(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_EventLoop *el = client->config.eventLoop; - UA_CHECK_ERROR(el != NULL, - return UA_STATUSCODE_BADINTERNALERROR, - client->config.logging, UA_LOGCATEGORY_CLIENT, - "No EventLoop configured"); - - /* Set up the repeated timer callback for checking the internal state. Like - * in the public API UA_Client_addRepeatedCallback, but without locking the - * mutex again */ - UA_StatusCode rv = UA_STATUSCODE_GOOD; - if(!client->houseKeepingCallbackId) { - rv = el->addCyclicCallback(el, (UA_Callback)clientHouseKeeping, - client, NULL, 1000.0, NULL, - UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, - &client->houseKeepingCallbackId); - UA_CHECK_STATUS(rv, return rv); - } - - /* Start the EventLoop? */ - if(el->state == UA_EVENTLOOPSTATE_FRESH) { - rv = el->start(el); - UA_CHECK_STATUS(rv, return rv); - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_run_iterate(UA_Client *client, UA_UInt32 timeout) { - /* Make sure the EventLoop has been started */ - lockClient(client); - UA_StatusCode rv = __UA_Client_startup(client); - unlockClient(client); - UA_CHECK_STATUS(rv, return rv); - - /* All timers and network events are triggered in the EventLoop. Release the - * client lock before. The callbacks from the EventLoop take the lock - * again. */ - UA_EventLoop *el = client->config.eventLoop; - rv = el->run(el, timeout); - UA_CHECK_STATUS(rv, return rv); - return client->connectStatus; -} - -const UA_DataType * -UA_Client_findDataType(UA_Client *client, const UA_NodeId *typeId) { - return UA_findDataTypeWithCustom(typeId, client->config.customDataTypes); -} - -/*************************/ -/* Connection Attributes */ -/*************************/ - -#define UA_CONNECTIONATTRIBUTESSIZE 3 -static const UA_QualifiedName connectionAttributes[UA_CONNECTIONATTRIBUTESSIZE] = { - {0, UA_STRING_STATIC("serverDescription")}, - {0, UA_STRING_STATIC("securityPolicyUri")}, - {0, UA_STRING_STATIC("securityMode")} -}; - -static UA_StatusCode -getConnectionttribute(UA_Client *client, const UA_QualifiedName key, - UA_Variant *outValue, UA_Boolean copy) { - if(!outValue) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_Variant localAttr; - - if(UA_QualifiedName_equal(&key, &connectionAttributes[0])) { - /* ServerDescription */ - UA_Variant_setScalar(&localAttr, &client->endpoint.server, - &UA_TYPES[UA_TYPES_APPLICATIONDESCRIPTION]); - } else if(UA_QualifiedName_equal(&key, &connectionAttributes[1])) { - /* SecurityPolicyUri */ - const UA_SecurityPolicy *sp = client->channel.securityPolicy; - if(!sp) - return UA_STATUSCODE_BADNOTCONNECTED; - UA_Variant_setScalar(&localAttr, (void*)(uintptr_t)&sp->policyUri, - &UA_TYPES[UA_TYPES_STRING]); - } else if(UA_QualifiedName_equal(&key, &connectionAttributes[2])) { - /* SecurityMode */ - UA_Variant_setScalar(&localAttr, &client->channel.securityMode, - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE]); - } else { - return UA_STATUSCODE_BADINTERNALERROR; - } - - if(copy) - return UA_Variant_copy(&localAttr, outValue); - - localAttr.storageType = UA_VARIANT_DATA_NODELETE; - *outValue = localAttr; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_getConnectionAttribute(UA_Client *client, const UA_QualifiedName key, - UA_Variant *outValue) { - lockClient(client); - UA_StatusCode res = getConnectionttribute(client, key, outValue, false); - unlockClient(client); - return res; -} - -UA_StatusCode -UA_Client_getConnectionAttributeCopy(UA_Client *client, const UA_QualifiedName key, - UA_Variant *outValue) { - lockClient(client); - UA_StatusCode res = getConnectionttribute(client, key, outValue, true); - unlockClient(client); - return res; -} - -UA_StatusCode -UA_Client_getConnectionAttribute_scalar(UA_Client *client, - const UA_QualifiedName key, - const UA_DataType *type, - void *outValue) { - lockClient(client); - - UA_Variant attr; - UA_StatusCode res = getConnectionttribute(client, key, &attr, false); - if(res != UA_STATUSCODE_GOOD) { - unlockClient(client); - return res; - } - - if(!UA_Variant_hasScalarType(&attr, type)) { - unlockClient(client); - return UA_STATUSCODE_BADNOTFOUND; - } - - memcpy(outValue, attr.data, type->memSize); - - unlockClient(client); - return UA_STATUSCODE_GOOD; -} - -void lockClient(UA_Client *client) { - if(UA_LIKELY(client->config.eventLoop && client->config.eventLoop->lock)) - client->config.eventLoop->lock(client->config.eventLoop); - UA_LOCK(&client->clientMutex); -} - -void unlockClient(UA_Client *client) { - if(UA_LIKELY(client->config.eventLoop && client->config.eventLoop->unlock)) - client->config.eventLoop->unlock(client->config.eventLoop); - UA_UNLOCK(&client->clientMutex); -} - -/**** amalgamated original file "/src/client/ua_client_connect.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017-2019 (c) Fraunhofer IOSB (Author: Mark Giraud) - */ - - - -/* Some OPC UA servers only return all Endpoints if the EndpointURL used during - * the HEL/ACK handshake exactly matches -- including the path following the - * address and port! Hence for the first connection we only call FindServers and - * reopen a new TCP connection using then EndpointURL found there. - * - * The overall process is this: - * - Connect with the EndpointURL provided by the user (HEL/ACK) - * - Call FindServers - * - If one of the results has an exactly matching EndpointUrl, continue. - * - Otherwise select a matching server, update the endpointURL member of - * UA_Client and reconnect. - * - Call GetEndpoints and select an Endpoint - * - Open a SecureChannel and Session for that Endpoint - */ - -#define UA_MINMESSAGESIZE 8192 -#define UA_SESSION_LOCALNONCELENGTH 32 -#define MAX_DATA_SIZE 4096 - -static void initConnect(UA_Client *client); -static UA_StatusCode createSessionAsync(UA_Client *client); -static UA_UserTokenPolicy * -findUserTokenPolicy(UA_Client *client, UA_EndpointDescription *endpoint); - -/* Get the EndpointUrl to be used right now. - * This is adjusted during the discovery process. - * We fall back if connecting to an EndpointUrl fails. */ -static UA_String -getEndpointUrl(UA_Client *client) { - if(client->endpoint.endpointUrl.length > 0) - return client->endpoint.endpointUrl; - if(client->discoveryUrl.length > 0) - return client->discoveryUrl; - return client->config.endpointUrl; -} - -/* If an EndpointUrl doesn't work (TCP connection fails), fall back to the - * initial EndpointUrl */ -static UA_StatusCode -fallbackEndpointUrl(UA_Client* client) { - /* Cannot fallback, the initial EndpointUrl is already in use */ - UA_String currentUrl = getEndpointUrl(client); - if(UA_String_equal(¤tUrl, &client->config.endpointUrl)) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not open a TCP connection to the Endpoint at %.*s", - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - if(client->endpoint.endpointUrl.length > 0) { - /* Overwrite the EndpointUrl of the Endpoint */ - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not open a TCP connection to the Endpoint at %.*s. " - "Overriding the endpoint description with the initial " - "EndpointUrl at %.*s.", - (int)client->endpoint.endpointUrl.length, - client->endpoint.endpointUrl.data, - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - UA_String_clear(&client->endpoint.endpointUrl); - return UA_String_copy(&client->config.endpointUrl, - &client->endpoint.endpointUrl); - } else { - /* Overwrite the DiscoveryUrl returned by FindServers */ - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The DiscoveryUrl returned by the FindServers service (%.*s) " - "could not be connected. Continuing with the initial EndpointUrl " - "%.*s for the GetEndpoints service.", - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data, - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - UA_String_clear(&client->discoveryUrl); - return UA_String_copy(&client->config.endpointUrl, &client->discoveryUrl); - } -} - -static UA_SecurityPolicy * -getSecurityPolicy(UA_Client *client, UA_String policyUri) { - if(policyUri.length == 0) - policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - for(size_t i = 0; i < client->config.securityPoliciesSize; i++) { - if(UA_String_equal(&policyUri, &client->config.securityPolicies[i].policyUri)) - return &client->config.securityPolicies[i]; - } - return NULL; -} - -#ifdef UA_ENABLE_ENCRYPTION -static UA_SecurityPolicy * -getAuthSecurityPolicy(UA_Client *client, UA_String policyUri) { - for(size_t i = 0; i < client->config.authSecurityPoliciesSize; i++) { - if(UA_String_equal(&policyUri, &client->config.authSecurityPolicies[i].policyUri)) - return &client->config.authSecurityPolicies[i]; - } - return NULL; -} -#endif - -/* The endpoint is unconfigured if the description is all zeroed-out */ -static UA_Boolean -endpointUnconfigured(const UA_EndpointDescription *endpoint) { - UA_EndpointDescription tmp; - UA_EndpointDescription_init(&tmp); - return UA_equal(&tmp, endpoint, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -} - -UA_Boolean -isFullyConnected(UA_Client *client) { - /* No Session, but require one */ - if(client->sessionState != UA_SESSIONSTATE_ACTIVATED && !client->config.noSession) - return false; - - /* No SecureChannel */ - if(client->channel.state != UA_SECURECHANNELSTATE_OPEN) - return false; - - /* GetEndpoints handshake ongoing or not yet done */ - if(client->endpointsHandshake || endpointUnconfigured(&client->endpoint)) - return false; - - /* FindServers handshake ongoing or not yet done */ - if(client->findServersHandshake || client->discoveryUrl.length == 0) - return false; - - return true; -} - -#ifdef UA_ENABLE_ENCRYPTION - -/* Function to create a signature using remote certificate and nonce. - * This uses the SecurityPolicy of the SecureChannel. */ -static UA_StatusCode -signClientSignature(UA_Client *client, UA_ActivateSessionRequest *request) { - UA_SecureChannel *channel = &client->channel; - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_SignatureData *sd = &request->clientSignature; - const UA_SecurityPolicySignatureAlgorithm *signAlg = - &sp->asymmetricModule.cryptoModule.signatureAlgorithm; - - /* Copy the signature algorithm identifier */ - UA_StatusCode retval = UA_String_copy(&signAlg->uri, &sd->algorithm); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Allocate memory for the signature */ - size_t signatureSize = signAlg->getLocalSignatureSize(channel->channelContext); - retval = UA_ByteString_allocBuffer(&sd->signature, signatureSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Create a temporary buffer */ - size_t signDataSize = - channel->remoteCertificate.length + client->serverSessionNonce.length; - if(signDataSize > MAX_DATA_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - UA_Byte buf[MAX_DATA_SIZE]; - UA_ByteString signData = {signDataSize, buf}; - - /* Sign the ClientSignature */ - memcpy(buf, channel->remoteCertificate.data, channel->remoteCertificate.length); - memcpy(buf + channel->remoteCertificate.length, client->serverSessionNonce.data, - client->serverSessionNonce.length); - return signAlg->sign(channel->channelContext, &signData, &sd->signature); -} - -static UA_StatusCode -signUserTokenSignature(UA_Client *client, UA_SecurityPolicy *utsp, - UA_ActivateSessionRequest *request) { - /* Check the size of the content for signing and create a temporary buffer */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - size_t signDataSize = - client->channel.remoteCertificate.length + client->serverSessionNonce.length; - if(signDataSize > MAX_DATA_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - UA_Byte buf[MAX_DATA_SIZE]; - UA_ByteString signData = {signDataSize, buf}; - - /* Copy the algorithm identifier */ - UA_SecurityPolicySignatureAlgorithm *utpSignAlg = - &utsp->asymmetricModule.cryptoModule.signatureAlgorithm; - UA_SignatureData *utsd = &request->userTokenSignature; - retval = UA_String_copy(&utpSignAlg->uri, &utsd->algorithm); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* We need a channel context with the user certificate in order to reuse the - * code for signing. */ - void *tmpCtx; - retval = utsp->channelModule.newContext(utsp, &client->channel.remoteCertificate, &tmpCtx); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Allocate memory for the signature */ - retval = UA_ByteString_allocBuffer(&utsd->signature, - utpSignAlg->getLocalSignatureSize(tmpCtx)); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup_utp; - - /* Create the userTokenSignature */ - memcpy(buf, client->channel.remoteCertificate.data, - client->channel.remoteCertificate.length); - memcpy(buf + client->channel.remoteCertificate.length, - client->serverSessionNonce.data, client->serverSessionNonce.length); - retval = utpSignAlg->sign(tmpCtx, &signData, &utsd->signature); - - /* Clean up */ - cleanup_utp: - utsp->channelModule.deleteContext(tmpCtx); - return retval; -} - -/* UserName and IssuedIdentity are transferred encrypted. - * X509 and Anonymous are not. */ -static UA_StatusCode -encryptUserIdentityToken(UA_Client *client, UA_SecurityPolicy *utsp, - UA_ExtensionObject *userIdentityToken) { - UA_IssuedIdentityToken *iit = NULL; - UA_UserNameIdentityToken *unit = NULL; - UA_ByteString *tokenData; - const UA_DataType *tokenType = userIdentityToken->content.decoded.type; - if(tokenType == &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) { - iit = (UA_IssuedIdentityToken*)userIdentityToken->content.decoded.data; - tokenData = &iit->tokenData; - } else if(tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) { - unit = (UA_UserNameIdentityToken*)userIdentityToken->content.decoded.data; - tokenData = &unit->password; - } else { - return UA_STATUSCODE_GOOD; - } - - /* Create a temp channel context */ - - void *channelContext; - UA_StatusCode retval = utsp->channelModule. - newContext(utsp, &client->endpoint.serverCertificate, &channelContext); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, - "Could not instantiate the SecurityPolicy for the UserToken"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Compute the encrypted length (at least one byte padding) */ - size_t plainTextBlockSize = utsp->asymmetricModule.cryptoModule. - encryptionAlgorithm.getRemotePlainTextBlockSize(channelContext); - size_t encryptedBlockSize = utsp->asymmetricModule.cryptoModule. - encryptionAlgorithm.getRemoteBlockSize(channelContext); - UA_UInt32 length = (UA_UInt32)(tokenData->length + client->serverSessionNonce.length); - UA_UInt32 totalLength = length + 4; /* Including the length field */ - size_t blocks = totalLength / plainTextBlockSize; - if(totalLength % plainTextBlockSize != 0) - blocks++; - size_t encryptedLength = blocks * encryptedBlockSize; - - /* Allocate memory for encryption overhead */ - UA_ByteString encrypted; - retval = UA_ByteString_allocBuffer(&encrypted, encryptedLength); - if(retval != UA_STATUSCODE_GOOD) { - utsp->channelModule.deleteContext(channelContext); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_Byte *pos = encrypted.data; - const UA_Byte *end = &encrypted.data[encrypted.length]; - retval = UA_UInt32_encodeBinary(&length, &pos, end); - memcpy(pos, tokenData->data, tokenData->length); - memcpy(&pos[tokenData->length], client->serverSessionNonce.data, - client->serverSessionNonce.length); - UA_assert(retval == UA_STATUSCODE_GOOD); - - /* Add padding - * - * 7.36.2.2 Legacy Encrypted Token Secret Format: A Client should not add any - * padding after the secret. If a Client adds padding then all bytes shall - * be zero. A Server shall check for padding added by Clients and ensure - * that all padding bytes are zeros. */ - size_t paddedLength = plainTextBlockSize * blocks; - for(size_t i = totalLength; i < paddedLength; i++) - encrypted.data[i] = 0; - encrypted.length = paddedLength; - - retval = utsp->asymmetricModule.cryptoModule.encryptionAlgorithm. - encrypt(channelContext, &encrypted); - encrypted.length = encryptedLength; - UA_ByteString_clear(tokenData); - *tokenData = encrypted; - - /* Delete the temporary channel context */ - utsp->channelModule.deleteContext(channelContext); - - if(iit) { - retval |= UA_String_copy(&utsp->asymmetricModule.cryptoModule.encryptionAlgorithm.uri, - &iit->encryptionAlgorithm); - } else { - retval |= UA_String_copy(&utsp->asymmetricModule.cryptoModule.encryptionAlgorithm.uri, - &unit->encryptionAlgorithm); - } - return retval; -} - -/* Function to verify the signature corresponds to ClientNonce - * using the local certificate */ -static UA_StatusCode -checkCreateSessionSignature(UA_Client *client, const UA_SecureChannel *channel, - const UA_CreateSessionResponse *response) { - if(channel->securityMode != UA_MESSAGESECURITYMODE_SIGN && - channel->securityMode != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return UA_STATUSCODE_GOOD; - - if(!channel->securityPolicy) - return UA_STATUSCODE_BADINTERNALERROR; - - const UA_SecurityPolicy *sp = channel->securityPolicy; - const UA_ByteString *lc = &sp->localCertificate; - - size_t dataToVerifySize = lc->length + client->clientSessionNonce.length; - UA_ByteString dataToVerify = UA_BYTESTRING_NULL; - UA_StatusCode retval = UA_ByteString_allocBuffer(&dataToVerify, dataToVerifySize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - memcpy(dataToVerify.data, lc->data, lc->length); - memcpy(dataToVerify.data + lc->length, client->clientSessionNonce.data, - client->clientSessionNonce.length); - - retval = sp->asymmetricModule.cryptoModule.signatureAlgorithm. - verify(channel->channelContext, &dataToVerify, - &response->serverSignature.signature); - UA_ByteString_clear(&dataToVerify); - return retval; -} - -#endif - -/***********************/ -/* Open the Connection */ -/***********************/ - -void -processERRResponse(UA_Client *client, const UA_ByteString *chunk) { - size_t offset = 0; - UA_TcpErrorMessage errMessage; - client->connectStatus = - UA_decodeBinaryInternal(chunk, &offset, &errMessage, - &UA_TRANSPORT[UA_TRANSPORT_TCPERRORMESSAGE], NULL); - if(client->connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR_CHANNEL(client->config.logging, &client->channel, - "Received an ERR response that could not be decoded " - "with StatusCode %s", - UA_StatusCode_name(client->connectStatus)); - closeSecureChannel(client); - return; - } - - UA_LOG_ERROR_CHANNEL(client->config.logging, &client->channel, - "Received an ERR response with StatusCode %s and the following " - "reason: %.*s", UA_StatusCode_name(errMessage.error), - (int)errMessage.reason.length, errMessage.reason.data); - client->connectStatus = errMessage.error; - closeSecureChannel(client); - UA_TcpErrorMessage_clear(&errMessage); -} - -void -processACKResponse(UA_Client *client, const UA_ByteString *chunk) { - UA_SecureChannel *channel = &client->channel; - if(channel->state != UA_SECURECHANNELSTATE_HEL_SENT) { - UA_LOG_ERROR_CHANNEL(client->config.logging, channel, - "SecureChannel not in the HEL-sent state"); - client->connectStatus = UA_STATUSCODE_BADSECURECHANNELCLOSED; - closeSecureChannel(client); - return; - } - - /* Decode the message */ - size_t offset = 0; - UA_TcpAcknowledgeMessage ackMessage; - client->connectStatus = - UA_decodeBinaryInternal(chunk, &offset, &ackMessage, - &UA_TRANSPORT[UA_TRANSPORT_TCPACKNOWLEDGEMESSAGE], NULL); - if(client->connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_NETWORK, - "Decoding ACK message failed"); - closeSecureChannel(client); - return; - } - - client->connectStatus = - UA_SecureChannel_processHELACK(channel, &ackMessage); - if(client->connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_NETWORK, - "Processing the ACK message failed with StatusCode %s", - UA_StatusCode_name(client->connectStatus)); - closeSecureChannel(client); - return; - } - - client->channel.state = UA_SECURECHANNELSTATE_ACK_RECEIVED; -} - -static UA_StatusCode -sendHELMessage(UA_Client *client) { - UA_ConnectionManager *cm = client->channel.connectionManager; - if(!UA_SecureChannel_isConnected(&client->channel)) - return UA_STATUSCODE_BADNOTCONNECTED; - - /* Get a buffer */ - UA_ByteString message; - UA_StatusCode retval = cm->allocNetworkBuffer(cm, client->channel.connectionId, - &message, UA_MINMESSAGESIZE); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Prepare the HEL message and encode at offset 8 */ - UA_TcpHelloMessage hello; - hello.protocolVersion = 0; - hello.receiveBufferSize = client->config.localConnectionConfig.recvBufferSize; - hello.sendBufferSize = client->config.localConnectionConfig.sendBufferSize; - hello.maxMessageSize = client->config.localConnectionConfig.localMaxMessageSize; - hello.maxChunkCount = client->config.localConnectionConfig.localMaxChunkCount; - hello.endpointUrl = getEndpointUrl(client); - - UA_Byte *bufPos = &message.data[8]; /* skip the header */ - const UA_Byte *bufEnd = &message.data[message.length]; - client->connectStatus = - UA_encodeBinaryInternal(&hello, &UA_TRANSPORT[UA_TRANSPORT_TCPHELLOMESSAGE], - &bufPos, &bufEnd, NULL, NULL); - - /* Encode the message header at offset 0 */ - UA_TcpMessageHeader messageHeader; - messageHeader.messageTypeAndChunkType = UA_CHUNKTYPE_FINAL + UA_MESSAGETYPE_HEL; - messageHeader.messageSize = (UA_UInt32) ((uintptr_t)bufPos - (uintptr_t)message.data); - bufPos = message.data; - retval = UA_encodeBinaryInternal(&messageHeader, - &UA_TRANSPORT[UA_TRANSPORT_TCPMESSAGEHEADER], - &bufPos, &bufEnd, NULL, NULL); - if(retval != UA_STATUSCODE_GOOD) { - cm->freeNetworkBuffer(cm, client->channel.connectionId, &message); - return retval; - } - - /* Send the HEL message */ - message.length = messageHeader.messageSize; - retval = cm->sendWithConnection(cm, client->channel.connectionId, - &UA_KEYVALUEMAP_NULL, &message); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, "Sending HEL failed"); - closeSecureChannel(client); - return retval; - } - - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, "Sent HEL message"); - client->channel.state = UA_SECURECHANNELSTATE_HEL_SENT; - return UA_STATUSCODE_GOOD; -} - -void processRHEMessage(UA_Client *client, const UA_ByteString *chunk) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, "RHE received"); - - size_t offset = 0; /* Go to the beginning of the TcpHelloMessage */ - UA_TcpReverseHelloMessage rheMessage; - UA_StatusCode retval = - UA_decodeBinaryInternal(chunk, &offset, &rheMessage, - &UA_TRANSPORT[UA_TRANSPORT_TCPREVERSEHELLOMESSAGE], NULL); - - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, - "Decoding RHE message failed"); - closeSecureChannel(client); - return; - } - - UA_String_clear(&client->discoveryUrl); - UA_String_copy(&rheMessage.endpointUrl, &client->discoveryUrl); - - UA_TcpReverseHelloMessage_clear(&rheMessage); - - sendHELMessage(client); -} - -void -processOPNResponse(UA_Client *client, const UA_ByteString *message) { - /* Is the content of the expected type? */ - size_t offset = 0; - UA_NodeId responseId; - UA_NodeId expectedId = - UA_NODEID_NUMERIC(0, UA_NS0ID_OPENSECURECHANNELRESPONSE_ENCODING_DEFAULTBINARY); - UA_StatusCode retval = UA_NodeId_decodeBinary(message, &offset, &responseId); - if(retval != UA_STATUSCODE_GOOD) { - closeSecureChannel(client); - return; - } - - if(!UA_NodeId_equal(&responseId, &expectedId)) { - UA_NodeId_clear(&responseId); - closeSecureChannel(client); - return; - } - - /* Decode the response */ - UA_OpenSecureChannelResponse response; - retval = UA_decodeBinaryInternal(message, &offset, &response, - &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE], NULL); - if(retval != UA_STATUSCODE_GOOD) { - closeSecureChannel(client); - return; - } - - /* Check whether the nonce was reused */ - if(client->channel.securityMode != UA_MESSAGESECURITYMODE_NONE && - UA_ByteString_equal(&client->channel.remoteNonce, &response.serverNonce)) { - UA_LOG_ERROR_CHANNEL(client->config.logging, &client->channel, - "The server reused the last nonce"); - client->connectStatus = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - closeSecureChannel(client); - return; - } - - /* Move the nonce out of the response */ - UA_ByteString_clear(&client->channel.remoteNonce); - client->channel.remoteNonce = response.serverNonce; - UA_ByteString_init(&response.serverNonce); - UA_ResponseHeader_clear(&response.responseHeader); - - /* Replace the token. Keep the current token as the old token. Messages - * might still arrive for the old token. */ - client->channel.altSecurityToken = client->channel.securityToken; - client->channel.securityToken = response.securityToken; - client->channel.renewState = UA_SECURECHANNELRENEWSTATE_NEWTOKEN_CLIENT; - - /* Log a warning if the SecurityToken is not "fresh". Use the normal system - * clock to do the comparison. */ - UA_EventLoop *el = client->config.eventLoop; - UA_DateTime wallClockNow = el->dateTime_now(el); - if(wallClockNow - client->channel.securityToken.createdAt >= UA_DATETIME_SEC * 10 || - wallClockNow - client->channel.securityToken.createdAt <= -UA_DATETIME_SEC * 10) - UA_LOG_WARNING_CHANNEL(client->config.logging, &client->channel, "The \"CreatedAt\" " - "timestamp of the received ChannelSecurityToken does not match " - "with the local system clock"); - - /* The internal "monotonic" clock is used by the SecureChannel to validate - * that the SecurityToken is still valid. The monotonic clock is independent - * from the system clock getting changed or synchronized to a master clock - * during runtime. */ - client->channel.securityToken.createdAt = el->dateTime_nowMonotonic(el); - - /* Response.securityToken.revisedLifetime is UInt32, we need to cast it to - * DateTime=Int64. After 75% of the lifetime the renewal takes place as - * described in standard */ - client->nextChannelRenewal = client->channel.securityToken.createdAt + - (UA_DateTime) (response.securityToken.revisedLifetime * - (UA_Double) UA_DATETIME_MSEC * 0.75); - - /* Compute the new local keys. The remote keys are updated when a message - * with the new SecurityToken is received. */ - retval = UA_SecureChannel_generateLocalKeys(&client->channel); - if(retval != UA_STATUSCODE_GOOD) { - closeSecureChannel(client); - return; - } - - UA_Float lifetime = (UA_Float)response.securityToken.revisedLifetime / 1000; - UA_Boolean renew = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); - if(renew) { - UA_LOG_INFO_CHANNEL(client->config.logging, &client->channel, "SecureChannel " - "renewed with a revised lifetime of %.2fs", lifetime); - } else { - UA_LOG_INFO_CHANNEL(client->config.logging, &client->channel, - "SecureChannel opened with SecurityPolicy %.*s " - "and a revised lifetime of %.2fs", - (int)client->channel.securityPolicy->policyUri.length, - client->channel.securityPolicy->policyUri.data, lifetime); - } - - client->channel.state = UA_SECURECHANNELSTATE_OPEN; -} - -/* OPN messges to renew the channel are sent asynchronous */ -static void -sendOPNAsync(UA_Client *client, UA_Boolean renew) { - if(!UA_SecureChannel_isConnected(&client->channel)) { - client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - client->connectStatus = - UA_SecureChannel_generateLocalNonce(&client->channel); - if(client->connectStatus != UA_STATUSCODE_GOOD) - return; - - /* Prepare the OpenSecureChannelRequest */ - UA_OpenSecureChannelRequest opnSecRq; - UA_OpenSecureChannelRequest_init(&opnSecRq); - opnSecRq.requestHeader.timestamp = UA_DateTime_now(); - opnSecRq.requestHeader.authenticationToken = client->authenticationToken; - opnSecRq.securityMode = client->channel.securityMode; - opnSecRq.clientNonce = client->channel.localNonce; - opnSecRq.requestedLifetime = client->config.secureChannelLifeTime; - if(renew) { - opnSecRq.requestType = UA_SECURITYTOKENREQUESTTYPE_RENEW; - UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, - "Requesting to renew the SecureChannel"); - } else { - opnSecRq.requestType = UA_SECURITYTOKENREQUESTTYPE_ISSUE; - UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, - "Requesting to open a SecureChannel"); - } - - /* Prepare the entry for the linked list */ - UA_UInt32 requestId = ++client->requestId; - - /* Send the OPN message */ - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_SECURECHANNEL, - "Requesting to open a SecureChannel"); - client->connectStatus = - UA_SecureChannel_sendAsymmetricOPNMessage(&client->channel, requestId, &opnSecRq, - &UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST]); - if(client->connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_SECURECHANNEL, - "Sending OPN message failed with error %s", - UA_StatusCode_name(client->connectStatus)); - closeSecureChannel(client); - return; - } - - /* Update the state */ - client->channel.renewState = UA_SECURECHANNELRENEWSTATE_SENT; - if(client->channel.state < UA_SECURECHANNELSTATE_OPN_SENT) - client->channel.state = UA_SECURECHANNELSTATE_OPN_SENT; - - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_SECURECHANNEL, - "OPN message sent"); -} - -UA_StatusCode -__Client_renewSecureChannel(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Check if OPN has been sent or the SecureChannel is still valid */ - if(client->channel.state != UA_SECURECHANNELSTATE_OPEN || - client->channel.renewState == UA_SECURECHANNELRENEWSTATE_SENT || - client->nextChannelRenewal > UA_DateTime_nowMonotonic()) - return UA_STATUSCODE_GOODCALLAGAIN; - - sendOPNAsync(client, true); - - return client->connectStatus; -} - -UA_StatusCode -UA_Client_renewSecureChannel(UA_Client *client) { - lockClient(client); - UA_StatusCode res = __Client_renewSecureChannel(client); - unlockClient(client); - return res; -} - -static void -responseActivateSession(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_ActivateSessionResponse *ar = (UA_ActivateSessionResponse*)response; - if(ar->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - /* Activating the Session failed */ - cleanupSession(client); - - /* Configuration option to not create a new Session */ - if(client->config.noNewSession) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Session cannot be activated with StatusCode %s. " - "The client is configured not to create a new Session.", - UA_StatusCode_name(ar->responseHeader.serviceResult)); - client->connectStatus = ar->responseHeader.serviceResult; - closeSecureChannel(client); - return; - } - - /* The Session is no longer usable. Create a brand new one. */ - if(ar->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONIDINVALID || - ar->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONCLOSED) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Session to be activated no longer exists. Create a new Session."); - client->connectStatus = createSessionAsync(client); - return; - } - - /* Something else is wrong. Maybe the credentials no longer work. Give up. */ - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Session cannot be activated with StatusCode %s. " - "The client cannot recover from this, closing the connection.", - UA_StatusCode_name(ar->responseHeader.serviceResult)); - client->connectStatus = ar->responseHeader.serviceResult; - closeSecureChannel(client); - return; - } - - /* Replace the nonce */ - UA_ByteString_clear(&client->serverSessionNonce); - client->serverSessionNonce = ar->serverNonce; - UA_ByteString_init(&ar->serverNonce); - - client->sessionState = UA_SESSIONSTATE_ACTIVATED; - notifyClientState(client); - - /* Immediately check if publish requests are outstanding - for example when - * an existing Session has been reattached / activated. */ -#ifdef UA_ENABLE_SUBSCRIPTIONS - __Client_Subscriptions_backgroundPublish(client); -#endif -} - -static UA_StatusCode -activateSessionAsync(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - if(client->sessionState != UA_SESSIONSTATE_CREATED && - client->sessionState != UA_SESSIONSTATE_ACTIVATED) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Can not activate session, session neither created nor activated. " - "Actual state: '%u'", client->sessionState); - return UA_STATUSCODE_BADSESSIONCLOSED; - } - - const UA_UserTokenPolicy *utp = findUserTokenPolicy(client, &client->endpoint); - if(!utp) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, - "Could not find a matching UserTokenPolicy in the endpoint"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Initialize the request */ - UA_ActivateSessionRequest request; - UA_ActivateSessionRequest_init(&request); - - /* Set the requested LocaleIds */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(client->config.sessionLocaleIdsSize && client->config.sessionLocaleIds) { - retval = UA_Array_copy(client->config.sessionLocaleIds, - client->config.sessionLocaleIdsSize, - (void **)&request.localeIds, &UA_TYPES[UA_TYPES_LOCALEID]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - request.localeIdsSize = client->config.sessionLocaleIdsSize; - } - - /* Set the User Identity Token. If not defined use an anonymous token. Use - * the PolicyId from the UserTokenPolicy. All token types have the PolicyId - * string as the first element. */ - UA_AnonymousIdentityToken anonToken; - retval = UA_ExtensionObject_copy(&client->config.userIdentityToken, - &request.userIdentityToken); - if(request.userIdentityToken.encoding != UA_EXTENSIONOBJECT_ENCODED_NOBODY) { - UA_String *policyId = (UA_String*)request.userIdentityToken.content.decoded.data; - UA_String_clear(policyId); - retval = UA_String_copy(&utp->policyId, policyId); - } else { - UA_AnonymousIdentityToken_init(&anonToken); - UA_ExtensionObject_setValueNoDelete(&request.userIdentityToken, &anonToken, - &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); - anonToken.policyId = utp->policyId; - } - if(retval != UA_STATUSCODE_GOOD) - return retval; - -#ifdef UA_ENABLE_ENCRYPTION - UA_SecurityPolicy *utsp = NULL; - UA_SecureChannel *channel = &client->channel; - - /* Does the UserTokenPolicy have encryption? If not specifically defined in - * the UserTokenPolicy, then the SecurityPolicy of the underlying endpoint - * (SecureChannel) is used. */ - UA_String tokenSecurityPolicyUri = (utp->securityPolicyUri.length > 0) ? - utp->securityPolicyUri : client->endpoint.securityPolicyUri; - const UA_String none = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - if(UA_String_equal(&none, &tokenSecurityPolicyUri)) { - if(UA_String_equal(&none, &client->channel.securityPolicy->policyUri) && - request.userIdentityToken.content.decoded.type != - &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "!!! Warning !!! AuthenticationToken is transmitted " - "without encryption"); - } - goto utp_done; - } - - /* Get the SecurityPolicy for authentication */ - utsp = getAuthSecurityPolicy(client, tokenSecurityPolicyUri); - if(!utsp) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "UserTokenPolicy %.*s not available for authentication", - (int)tokenSecurityPolicyUri.length, tokenSecurityPolicyUri.data); - retval = UA_STATUSCODE_BADSECURITYPOLICYREJECTED; - goto utp_done; - } - - /* Encrypt the UserIdentityToken */ - retval = encryptUserIdentityToken(client, utsp, &request.userIdentityToken); - - /* Create the UserTokenSignature if this is possible for the token. - * The certificate is already loaded into the utsp. */ - if(utp->tokenType == UA_USERTOKENTYPE_CERTIFICATE) - retval |= signUserTokenSignature(client, utsp, &request); - - utp_done: - /* Create the client signature with the SecurityPolicy of the SecurteChannel */ - if(channel->securityMode == UA_MESSAGESECURITYMODE_SIGN || - channel->securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - retval |= signClientSignature(client, &request); -#endif - - /* Send the request */ - if(UA_LIKELY(retval == UA_STATUSCODE_GOOD)) - retval = __Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_ACTIVATESESSIONREQUEST], - (UA_ClientAsyncServiceCallback)responseActivateSession, - &UA_TYPES[UA_TYPES_ACTIVATESESSIONRESPONSE], - NULL, NULL); - - /* On success, advance the session state */ - if(retval == UA_STATUSCODE_GOOD) - client->sessionState = UA_SESSIONSTATE_ACTIVATE_REQUESTED; - else - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "ActivateSession failed when sending the request with error code %s", - UA_StatusCode_name(retval)); - - /* Clean up */ - UA_ActivateSessionRequest_clear(&request); - return retval; -} - -static const UA_String binaryTransport = - UA_STRING_STATIC("http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary"); - -/* Find a matching endpoint -- the UserTokenPolicy is matched later */ -static UA_Boolean -matchEndpoint(UA_Client *client, const UA_EndpointDescription *endpoint, unsigned i) { - /* Matching ApplicationUri if defined */ - if(client->config.applicationUri.length > 0 && - !UA_String_equal(&client->config.applicationUri, - &endpoint->server.applicationUri)) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %u: application uri not match", i); - return false; - } - - /* Look out for binary transport endpoints. - * Note: Siemens returns empty ProfileUrl, we will accept it as binary. */ - if(endpoint->transportProfileUri.length != 0 && - !UA_String_equal(&endpoint->transportProfileUri, &binaryTransport)) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %u: transport profile does not match", i); - return false; - } - - /* Valid SecurityMode? */ - if(endpoint->securityMode < 1 || endpoint->securityMode > 3) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %u: invalid security mode", i); - return false; - } - - /* Selected SecurityMode? */ - if(client->config.securityMode > 0 && - client->config.securityMode != endpoint->securityMode) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %u: security mode does not match", i); - return false; - } - - /* Matching SecurityPolicy? */ - if(client->config.securityPolicyUri.length > 0 && - !UA_String_equal(&client->config.securityPolicyUri, &endpoint->securityPolicyUri)) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %u: security policy does not match the configuration", i); - return false; - } - - /* SecurityPolicy available? */ - if(!getSecurityPolicy(client, endpoint->securityPolicyUri)) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %u: security policy not available", i); - return false; - } - - return true; -} - -/* Match the policy with the configured user token */ -static UA_Boolean -matchUserToken(UA_Client *client, - const UA_UserTokenPolicy *tokenPolicy) { - const UA_DataType *tokenType = - client->config.userIdentityToken.content.decoded.type; - - if(tokenPolicy->tokenType == UA_USERTOKENTYPE_ANONYMOUS && - (tokenType == &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN] || !tokenType)) - return true; - - if(tokenPolicy->tokenType == UA_USERTOKENTYPE_USERNAME && - tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) - return true; - - if(tokenPolicy->tokenType == UA_USERTOKENTYPE_CERTIFICATE && - tokenType == &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) - return true; - - if(tokenPolicy->tokenType == UA_USERTOKENTYPE_ISSUEDTOKEN && - tokenType == &UA_TYPES[UA_TYPES_ISSUEDIDENTITYTOKEN]) - return true; - - return false; -} - -/* Returns a matching UserTokenPolicy from the EndpointDescription. If a - * UserTokenPolicy is configured in the client config, then we need an exact - * match. */ -static UA_UserTokenPolicy * -findUserTokenPolicy(UA_Client *client, UA_EndpointDescription *endpoint) { - /* Was a UserTokenPolicy configured? Then we need an exact match. */ - UA_UserTokenPolicy *requiredTokenPolicy = NULL; - UA_UserTokenPolicy tmp; - UA_UserTokenPolicy_init(&tmp); - if(!UA_equal(&tmp, &client->config.userTokenPolicy, &UA_TYPES[UA_TYPES_USERTOKENPOLICY])) - requiredTokenPolicy = &client->config.userTokenPolicy; - - for(size_t j = 0; j < endpoint->userIdentityTokensSize; ++j) { - /* Is the SecurityPolicy available? */ - UA_UserTokenPolicy *tokenPolicy = &endpoint->userIdentityTokens[j]; - if(!getSecurityPolicy(client, tokenPolicy->securityPolicyUri)) - continue; - - /* Required SecurityPolicyUri in the configuration? */ - if(!UA_String_isEmpty(&client->config.authSecurityPolicyUri) && - !UA_String_equal(&client->config.authSecurityPolicyUri, - &tokenPolicy->securityPolicyUri)) - continue; - - /* Match (entire) UserTokenPolicy if defined in the configuration? */ - if(requiredTokenPolicy && - !UA_equal(requiredTokenPolicy, tokenPolicy, &UA_TYPES[UA_TYPES_USERTOKENPOLICY])) - continue; - - /* Match with the configured UserToken */ - if(!matchUserToken(client, tokenPolicy)) - continue; - - /* Found a match? */ - return tokenPolicy; - } - - return NULL; -} - -/* Combination of UA_Client_getEndpointsInternal and getEndpoints */ -static void -responseGetEndpoints(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - client->endpointsHandshake = false; - - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received GetEndpointsResponse"); - - UA_GetEndpointsResponse *resp = (UA_GetEndpointsResponse*)response; - - /* GetEndpoints not possible. Fail the connection */ - if(resp->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - /* Fail the connection attempt if the SecureChannel is still connected. - * If the SecureChannel is (intentionally or unintentionally) closed, - * the connectStatus should come from there. */ - if(UA_SecureChannel_isConnected(&client->channel)) { - client->connectStatus = resp->responseHeader.serviceResult; - closeSecureChannel(client); - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "GetEndpointRequest failed with error code %s", - UA_StatusCode_name(client->connectStatus)); - } - - UA_GetEndpointsResponse_clear(resp); - return; - } - - /* Warn if the Endpoints look incomplete / don't match the EndpointUrl */ - Client_warnEndpointsResult(client, resp, &client->discoveryUrl); - - const size_t notFound = (size_t)-1; - size_t bestEndpointIndex = notFound; - UA_Byte bestEndpointLevel = 0; - - /* Find a matching combination of Endpoint and UserTokenPolicy */ - for(size_t i = 0; i < resp->endpointsSize; ++i) { - UA_EndpointDescription* endpoint = &resp->endpoints[i]; - - /* Do we already have a better candidate? */ - if(endpoint->securityLevel < bestEndpointLevel) - continue; - - /* Does the endpoint match the client configuration? */ - if(!matchEndpoint(client, endpoint, (unsigned)i)) - continue; - - /* Do we want a session? If yes, then the endpoint needs to have a - * UserTokenPolicy that matches the configuration. */ - if(!client->config.noSession && !findUserTokenPolicy(client, endpoint)) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Rejecting endpoint %lu: No matching UserTokenPolicy", - (long unsigned)i); - continue; - } - - /* Best endpoint so far */ - bestEndpointLevel = endpoint->securityLevel; - bestEndpointIndex = i; - } - - /* No matching endpoint found */ - if(bestEndpointIndex == notFound) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "No suitable endpoint found"); - client->connectStatus = UA_STATUSCODE_BADIDENTITYTOKENREJECTED; - closeSecureChannel(client); - return; - } - - /* Store the endpoint description in the client. It contains the - * ApplicationDescription and the UserTokenPolicies. We continue to look up - * the matching UserTokenPolicy from there. */ - UA_EndpointDescription_clear(&client->endpoint); - client->endpoint = resp->endpoints[bestEndpointIndex]; - UA_EndpointDescription_init(&resp->endpoints[bestEndpointIndex]); - -#if UA_LOGLEVEL <= 300 - const char *securityModeNames[3] = {"None", "Sign", "SignAndEncrypt"}; - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Selected endpoint with EndpointUrl %.*s, SecurityMode " - "%s and SecurityPolicy %.*s", - (int)client->endpoint.endpointUrl.length, - client->endpoint.endpointUrl.data, - securityModeNames[client->endpoint.securityMode - 1], - (int)client->endpoint.securityPolicyUri.length, - client->endpoint.securityPolicyUri.data); -#endif - - /* A different SecurityMode or SecurityPolicy is defined by the Endpoint. - * Close the SecureChannel and reconnect. */ - if(client->endpoint.securityMode != client->channel.securityMode || - !UA_String_equal(&client->endpoint.securityPolicyUri, - &client->channel.securityPolicy->policyUri)) { - closeSecureChannel(client); - return; - } - - /* We were using a distinct discovery URL and we are switching away from it. - * Close the SecureChannel to reopen with the EndpointUrl. If an endpoint - * was selected, then we use the endpointUrl for the HEL message. */ - if(client->discoveryUrl.length > 0 && - !UA_String_equal(&client->discoveryUrl, &client->endpoint.endpointUrl)) { - closeSecureChannel(client); - return; - } - - /* Nothing to do. We have selected an endpoint that we can use to open a - * Session on the current SecureChannel. */ -} - -static UA_StatusCode -requestGetEndpoints(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_GetEndpointsRequest request; - UA_GetEndpointsRequest_init(&request); - request.endpointUrl = getEndpointUrl(client); - - UA_StatusCode retval = - __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST], - (UA_ClientAsyncServiceCallback) responseGetEndpoints, - &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE], NULL, NULL); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "RequestGetEndpoints failed when sending the request with error code %s", - UA_StatusCode_name(retval)); - return retval; - } - - client->endpointsHandshake = true; - return UA_STATUSCODE_GOOD; -} - -static void -responseFindServers(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response) { - client->findServersHandshake = false; - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received FindServersResponse"); - - /* Error handling. Log the error but continue to connect with the current - * EndpointURL. */ - UA_FindServersResponse *fsr = (UA_FindServersResponse*)response; - if(fsr->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "FindServers failed with error code %s. Continue with the " - "EndpointURL %.*s.", - UA_StatusCode_name(fsr->responseHeader.serviceResult), - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - UA_String_clear(&client->discoveryUrl); - UA_String_copy(&client->config.endpointUrl, &client->discoveryUrl); - return; - } - - /* Check if one of the returned servers matches the EndpointURL already used */ - for(size_t i = 0; i < fsr->serversSize; i++) { - UA_ApplicationDescription *server = &fsr->servers[i]; - - /* Filter by the ApplicationURI if defined */ - if(client->config.applicationUri.length > 0 && - !UA_String_equal(&client->config.applicationUri, &server->applicationUri)) - continue; - - for(size_t j = 0; j < server->discoveryUrlsSize; j++) { - if(UA_String_equal(&client->config.endpointUrl, &server->discoveryUrls[j])) { - UA_String_clear(&client->discoveryUrl); - client->discoveryUrl = server->discoveryUrls[j]; - UA_String_init(&server->discoveryUrls[j]); - return; - } - } - } - - /* The current EndpointURL is not usable. Pick the first "opc.tcp" DiscoveryUrl of a - * returned server. */ - for(size_t i = 0; i < fsr->serversSize; i++) { - UA_ApplicationDescription *server = &fsr->servers[i]; - if(server->applicationType != UA_APPLICATIONTYPE_SERVER && - server->applicationType != UA_APPLICATIONTYPE_CLIENTANDSERVER && - server->applicationType != UA_APPLICATIONTYPE_DISCOVERYSERVER) - continue; - - /* Filter by the ApplicationURI if defined */ - if(client->config.applicationUri.length > 0 && - !UA_String_equal(&client->config.applicationUri, &server->applicationUri)) - continue; - - for(size_t j = 0; j < server->discoveryUrlsSize; j++) { - /* Try to parse the DiscoveryUrl. This weeds out http schemas (etc.) - * and invalid DiscoveryUrls in general. */ - UA_String hostname, path; - UA_UInt16 port; - UA_StatusCode res = - UA_parseEndpointUrl(&server->discoveryUrls[j], &hostname, &port, &path); - if(res != UA_STATUSCODE_GOOD) - continue; - - /* Use this DiscoveryUrl in the client */ - UA_String_clear(&client->discoveryUrl); - client->discoveryUrl = server->discoveryUrls[j]; - UA_String_init(&server->discoveryUrls[j]); - - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Use the EndpointURL %.*s returned from FindServers and reconnect", - (int)client->discoveryUrl.length, client->discoveryUrl.data); - - /* Close the SecureChannel to build it up new with the correct - * EndpointURL in the HEL/ACK handshake. In closeSecureChannel the - * received client->endpoint is reset also. */ - closeSecureChannel(client); - return; - } - } - - /* Could not find a suitable server. Try to continue with the - * original EndpointURL. */ - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "FindServers did not returned a suitable DiscoveryURL. " - "Continue with the EndpointURL %.*s.", - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - UA_String_clear(&client->discoveryUrl); - UA_String_copy(&client->config.endpointUrl, &client->discoveryUrl); -} - -static UA_StatusCode -requestFindServers(UA_Client *client) { - UA_FindServersRequest request; - UA_FindServersRequest_init(&request); - request.requestHeader.timestamp = UA_DateTime_now(); - request.requestHeader.timeoutHint = 10000; - request.endpointUrl = client->config.endpointUrl; - UA_StatusCode retval = - __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST], - (UA_ClientAsyncServiceCallback) responseFindServers, - &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE], NULL, NULL); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "FindServers failed when sending the request with error code %s", - UA_StatusCode_name(retval)); - return retval; - } - - client->findServersHandshake = true; - return UA_STATUSCODE_GOOD; -} - -static void -createSessionCallback(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_CreateSessionResponse *sessionResponse = (UA_CreateSessionResponse*)response; - UA_StatusCode res = sessionResponse->responseHeader.serviceResult; - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - -#ifdef UA_ENABLE_ENCRYPTION - if(client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGN || - client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - /* Verify the session response was created with the same certificate as - * the SecureChannel */ - if(!UA_ByteString_equal(&sessionResponse->serverCertificate, - &client->channel.remoteCertificate)) { - res = UA_STATUSCODE_BADCERTIFICATEINVALID; - goto cleanup; - } - - /* Verify the client signature */ - res = checkCreateSessionSignature(client, &client->channel, sessionResponse); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - } -#endif - - /* Copy nonce and AuthenticationToken */ - UA_ByteString_clear(&client->serverSessionNonce); - UA_NodeId_clear(&client->authenticationToken); - res |= UA_ByteString_copy(&sessionResponse->serverNonce, - &client->serverSessionNonce); - res |= UA_NodeId_copy(&sessionResponse->authenticationToken, - &client->authenticationToken); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Activate the new Session */ - client->sessionState = UA_SESSIONSTATE_CREATED; - - cleanup: - client->connectStatus = res; - if(client->connectStatus != UA_STATUSCODE_GOOD) - client->sessionState = UA_SESSIONSTATE_CLOSED; -} - -static UA_StatusCode -createSessionAsync(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Generate the local nonce for the session */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGN || - client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - if(client->clientSessionNonce.length != UA_SESSION_LOCALNONCELENGTH) { - UA_ByteString_clear(&client->clientSessionNonce); - res = UA_ByteString_allocBuffer(&client->clientSessionNonce, - UA_SESSION_LOCALNONCELENGTH); - if(res != UA_STATUSCODE_GOOD) - return res; - } - res = client->channel.securityPolicy->symmetricModule. - generateNonce(client->channel.securityPolicy->policyContext, - &client->clientSessionNonce); - if(res != UA_STATUSCODE_GOOD) - return res; - } - - /* Prepare and send the request */ - UA_CreateSessionRequest request; - UA_CreateSessionRequest_init(&request); - request.clientNonce = client->clientSessionNonce; - request.requestedSessionTimeout = client->config.requestedSessionTimeout; - request.maxResponseMessageSize = UA_INT32_MAX; - request.endpointUrl = client->endpoint.endpointUrl; - request.clientDescription = client->config.clientDescription; - request.sessionName = client->config.sessionName; - if(client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGN || - client->channel.securityMode == UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) { - request.clientCertificate = client->channel.securityPolicy->localCertificate; - } - - res = __Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_CREATESESSIONREQUEST], - (UA_ClientAsyncServiceCallback)createSessionCallback, - &UA_TYPES[UA_TYPES_CREATESESSIONRESPONSE], NULL, NULL); - - if(res == UA_STATUSCODE_GOOD) - client->sessionState = UA_SESSIONSTATE_CREATE_REQUESTED; - else - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "CreateSession failed when sending the request with " - "error code %s", UA_StatusCode_name(res)); - - return res; -} - -static UA_StatusCode -initSecurityPolicy(UA_Client *client) { - /* Find the SecurityPolicy */ - UA_SecurityPolicy *sp = - getSecurityPolicy(client, client->endpoint.securityPolicyUri); - - /* Unknown SecurityPolicy -- we would never select such an endpoint */ - if(!sp) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Already initialized -- check we are using the configured SecurityPolicy */ - if(client->channel.securityPolicy) - return (client->channel.securityPolicy == sp) ? - UA_STATUSCODE_GOOD : UA_STATUSCODE_BADINTERNALERROR; - - /* Set the SecurityMode -- none if no endpoint is selected so far */ - client->channel.securityMode = client->endpoint.securityMode; - if(client->channel.securityMode == UA_MESSAGESECURITYMODE_INVALID) - client->channel.securityMode = UA_MESSAGESECURITYMODE_NONE; - - /* Instantiate the SecurityPolicy context with the remote certificate */ - return UA_SecureChannel_setSecurityPolicy(&client->channel, sp, - &client->endpoint.serverCertificate); -} - -static void -connectActivity(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - UA_LOG_TRACE(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Client connect iterate"); - - /* Could not connect with an error that canot be recovered from */ - if(client->connectStatus != UA_STATUSCODE_GOOD) - return; - - /* Already connected */ - if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) - return; - - /* Switch on the SecureChannel state */ - switch(client->channel.state) { - /* Nothing to do if the connection has not opened fully */ - case UA_SECURECHANNELSTATE_CONNECTING: - case UA_SECURECHANNELSTATE_REVERSE_CONNECTED: - case UA_SECURECHANNELSTATE_CLOSING: - case UA_SECURECHANNELSTATE_HEL_SENT: - case UA_SECURECHANNELSTATE_OPN_SENT: - return; - - /* Send HEL */ - case UA_SECURECHANNELSTATE_CONNECTED: - client->connectStatus = sendHELMessage(client); - return; - - /* ACK receieved. Send OPN. */ - case UA_SECURECHANNELSTATE_ACK_RECEIVED: - sendOPNAsync(client, false); /* Send OPN */ - return; - - /* The channel is open -> continue with the Session handling */ - case UA_SECURECHANNELSTATE_OPEN: - break; - - /* The connection is closed. Reset the SecureChannel and open a new TCP - * connection */ - case UA_SECURECHANNELSTATE_CLOSED: - if(client->config.noReconnect) - client->connectStatus = UA_STATUSCODE_BADNOTCONNECTED; - else - initConnect(client); /* Sets the connectStatus internally */ - return; - - /* These states should never occur for the client */ - default: - client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* <-- The SecureChannel is open --> */ - - /* Ongoing handshake -> Waiting for a response */ - if(client->endpointsHandshake || client->findServersHandshake) - return; - - /* Call FindServers to see if we should reconnect with another EndpointUrl. - * This needs to be done before GetEndpoints, as the set of returned - * endpoints may depend on the EndpointUrl used during the initial HEL/ACK - * handshake. */ - if(client->discoveryUrl.length == 0) { - client->connectStatus = requestFindServers(client); - return; - } - - /* GetEndpoints to identify the remote side and/or reset the SecureChannel - * with encryption */ - if(endpointUnconfigured(&client->endpoint)) { - client->connectStatus = requestGetEndpoints(client); - return; - } - - /* Have the final SecureChannel but no session */ - if(client->config.noSession) - return; - - /* Create and Activate the Session */ - switch(client->sessionState) { - /* Send a CreateSessionRequest */ - case UA_SESSIONSTATE_CLOSED: - client->connectStatus = createSessionAsync(client); - return; - - /* Activate the Session */ - case UA_SESSIONSTATE_CREATED: - client->connectStatus = activateSessionAsync(client); - return; - - case UA_SESSIONSTATE_CREATE_REQUESTED: - case UA_SESSIONSTATE_ACTIVATE_REQUESTED: - case UA_SESSIONSTATE_ACTIVATED: - case UA_SESSIONSTATE_CLOSING: - return; /* Nothing to do */ - - /* These states should never occur for the client */ - default: - client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; - break; - } -} - -static UA_StatusCode -verifyClientSecureChannelHeader(void *application, UA_SecureChannel *channel, - const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) { - UA_Client *client = (UA_Client*)application; - const UA_SecurityPolicy *sp = channel->securityPolicy; - UA_assert(sp != NULL); - - /* Check the SecurityPolicyUri */ - if(asymHeader->securityPolicyUri.length > 0 && - !UA_String_equal(&sp->policyUri, &asymHeader->securityPolicyUri)) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The server uses a different SecurityPolicy from the client"); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - /* Get the remote certificate. - * Omit the remainder if an entire certificate chain was sent. */ - UA_ByteString serverCert = getLeafCertificate(asymHeader->senderCertificate); - - /* If encryption is enabled, then a server certificate is defined. - * Otherwise the creation of the SecureChannel would have failed. */ - UA_assert(channel->securityMode == UA_MESSAGESECURITYMODE_NONE || - serverCert.length > 0); - - /* If a server certificate is sent in the asymHeader, check that the same - * certificate was defined for the endpoint */ - if(serverCert.length > 0 && - !UA_String_equal(&serverCert, &client->endpoint.serverCertificate)) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The server certificate is different from the EndpointDescription"); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - /* Verify the certificate the server assumes on our end */ - UA_StatusCode res = sp->asymmetricModule. - compareCertificateThumbprint(sp, &asymHeader->receiverCertificateThumbprint); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The server does not use the client certificate " - "used for the selected SecurityPolicy"); - return res; - } - - return UA_STATUSCODE_GOOD; -} - -/* The local ApplicationURI has to match the certificates of the - * SecurityPolicies */ -static void -verifyClientApplicationURI(const UA_Client *client) { -#if defined(UA_ENABLE_ENCRYPTION) && (UA_LOGLEVEL <= 400) - for(size_t i = 0; i < client->config.securityPoliciesSize; i++) { - UA_SecurityPolicy *sp = &client->config.securityPolicies[i]; - if(!sp->localCertificate.data) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "skip verifying ApplicationURI for the SecurityPolicy %.*s", - (int)sp->policyUri.length, sp->policyUri.data); - continue; - } - - UA_StatusCode retval = - client->config.certificateVerification. - verifyApplicationURI(&client->config.certificateVerification, - &sp->localCertificate, - &client->config.clientDescription.applicationUri); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The configured ApplicationURI does not match the URI " - "specified in the certificate for the SecurityPolicy %.*s", - (int)sp->policyUri.length, sp->policyUri.data); - } - } -#endif -} - -static void -delayedNetworkCallback(void *application, void *context); - -static void -__Client_networkCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - /* Take the client lock */ - UA_Client *client = (UA_Client*)application; - lockClient(client); - - UA_LOG_TRACE(client->config.logging, UA_LOGCATEGORY_CLIENT, "Client network callback"); - - /* A new connection with no context pointer attached */ - if(!*connectionContext) { - /* Inconsistent SecureChannel state. Has to be fresh for a new - * connection. */ - if(client->channel.state != UA_SECURECHANNELSTATE_CLOSED && - client->channel.state != UA_SECURECHANNELSTATE_REVERSE_LISTENING) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Cannot open a connection, the SecureChannel is already used"); - client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; - notifyClientState(client); - unlockClient(client); - return; - } - - /* Initialize the client connection and attach to the EventLoop connection */ - client->channel.connectionManager = cm; - client->channel.connectionId = connectionId; - *connectionContext = &client->channel; - } - - /* The connection is closing in the EventLoop. This is the last callback - * from that connection. Clean up the SecureChannel in the client. */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - UA_LOG_INFO_CHANNEL(client->config.logging, &client->channel, - "SecureChannel closed"); - - /* Set to closing (could be done already in UA_SecureChannel_shutdown). - * This impacts the handling of cancelled requests below. */ - UA_SecureChannelState oldState = client->channel.state; - client->channel.state = UA_SECURECHANNELSTATE_CLOSING; - - /* Set the Session to CREATED if it was ACTIVATED */ - if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) - client->sessionState = UA_SESSIONSTATE_CREATED; - - /* Delete outstanding async services - the RequestId is no longer valid. Do - * this after setting the Session state. Otherwise we send out new Publish - * Requests immediately. */ - __Client_AsyncService_removeAll(client, UA_STATUSCODE_BADSECURECHANNELCLOSED); - - /* Clean up the channel and set the status to CLOSED */ - UA_SecureChannel_clear(&client->channel); - - /* The connection closed before it actually opened. Since we are - * connecting asynchronously, this happens when the TCP connection - * fails. Try to fall back on the initial EndpointUrl. */ - if(oldState == UA_SECURECHANNELSTATE_CONNECTING && - client->connectStatus == UA_STATUSCODE_GOOD) - client->connectStatus = fallbackEndpointUrl(client); - - /* Try to reconnect */ - goto continue_connect; - } - - /* Update the SecureChannel state */ - if(UA_LIKELY(state == UA_CONNECTIONSTATE_ESTABLISHED)) { - /* The connection is now open on the TCP level. Set the SecureChannel - * state to reflect this. Otherwise later consistency checks for the - * received messages fail. */ - if(client->channel.state < UA_SECURECHANNELSTATE_CONNECTED) - client->channel.state = UA_SECURECHANNELSTATE_CONNECTED; - } else /* state == UA_CONNECTIONSTATE_OPENING */ { - /* The connection was opened on our end only. Waiting for the TCP handshake - * to complete. */ - client->channel.state = UA_SECURECHANNELSTATE_CONNECTING; - } - - /* Received a message. Process the message with the SecureChannel. */ - UA_StatusCode res = UA_SecureChannel_loadBuffer(&client->channel, msg); - while(UA_LIKELY(res == UA_STATUSCODE_GOOD)) { - UA_MessageType messageType; - UA_UInt32 requestId = 0; - UA_ByteString payload = UA_BYTESTRING_NULL; - UA_Boolean copied = false; - res = UA_SecureChannel_getCompleteMessage(&client->channel, &messageType, &requestId, - &payload, &copied); - if(res != UA_STATUSCODE_GOOD || payload.length == 0) - break; - res = processServiceResponse(client, &client->channel, - messageType, requestId, &payload); - if(copied) - UA_ByteString_clear(&payload); - - /* Abort after synchronous processing of a message. - * Add a delayed callback to process the remaining buffer ASAP. */ - if(res == UA_STATUSCODE_GOODCOMPLETESASYNCHRONOUSLY) { - if(client->channel.unprocessed.length > client->channel.unprocessedOffset && - client->channel.unprocessedDelayed.callback == NULL) { - client->channel.unprocessedDelayed.callback = delayedNetworkCallback; - client->channel.unprocessedDelayed.application = client; - client->channel.unprocessedDelayed.context = &client->channel; - UA_EventLoop *el = client->config.eventLoop; - el->addDelayedCallback(el, &client->channel.unprocessedDelayed); - } - res = UA_STATUSCODE_GOOD; - break; - } - } - res |= UA_SecureChannel_persistBuffer(&client->channel); - - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Processing the message returned the error code %s", - UA_StatusCode_name(res)); - - /* If processing the buffer fails before the SecureChannel has opened, - * then the client cannot recover. Set the connectStatus to reflect - * this. The application is notified when the socket has closed. */ - if(client->channel.state != UA_SECURECHANNELSTATE_OPEN) - client->connectStatus = res; - - /* Close the SecureChannel, but don't notify the client right away. - * Return immediately. notifyClientState will be called in the next - * callback from the ConnectionManager when the connection closes with a - * StatusCode. - * - * If the connectStatus is still good (the SecureChannel was fully - * opened before), then a reconnect is attempted. */ - closeSecureChannel(client); - unlockClient(client); - return; - } - - continue_connect: - /* Trigger the next action from our end to fully open up the connection */ - if(!isFullyConnected(client)) - connectActivity(client); - notifyClientState(client); - unlockClient(client); -} - -static void -delayedNetworkCallback(void *application, void *context) { - UA_Client *client = (UA_Client*)application; - client->channel.unprocessedDelayed.callback = NULL; - if(client->channel.state == UA_SECURECHANNELSTATE_CONNECTED) - __Client_networkCallback(client->channel.connectionManager, - client->channel.connectionId, - client, &context, - UA_CONNECTIONSTATE_ESTABLISHED, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); -} - -/* Initialize a TCP connection. Writes the result to client->connectStatus. */ -static void -initConnect(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - if(client->channel.state != UA_SECURECHANNELSTATE_CLOSED) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Client connection already initiated"); - return; - } - - /* An exact endpoint was configured. Use it. */ - if(!endpointUnconfigured(&client->config.endpoint)) { - UA_EndpointDescription_clear(&client->endpoint); - client->connectStatus = - UA_EndpointDescription_copy(&client->config.endpoint, &client->endpoint); - UA_CHECK_STATUS(client->connectStatus, return); - } - - /* Start the EventLoop if not already started */ - client->connectStatus = __UA_Client_startup(client); - UA_CHECK_STATUS(client->connectStatus, return); - - /* Consistency check the client's own ApplicationURI. - * Problems are only logged. */ - verifyClientApplicationURI(client); - - /* Initialize the SecureChannel */ - UA_SecureChannel_clear(&client->channel); - client->channel.config = client->config.localConnectionConfig; - client->channel.certificateVerification = &client->config.certificateVerification; - client->channel.processOPNHeader = verifyClientSecureChannelHeader; - client->channel.processOPNHeaderApplication = client; - - /* Initialize the SecurityPolicy */ - client->connectStatus = initSecurityPolicy(client); - if(client->connectStatus != UA_STATUSCODE_GOOD) - return; - - /* Extract hostname and port from the URL */ - UA_String hostname = UA_STRING_NULL; - UA_String path = UA_STRING_NULL; - UA_UInt16 port = 4840; - - client->connectStatus = - UA_parseEndpointUrl(&client->config.endpointUrl, &hostname, &port, &path); - if(client->connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_NETWORK, - "OPC UA URL is invalid: %.*s", - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - return; - } - - /* Initialize the TCP connection */ - UA_String tcpString = UA_STRING("tcp"); - for(UA_EventSource *es = client->config.eventLoop->eventSources; - es != NULL; es = es->next) { - /* Is this a usable connection manager? */ - if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) - continue; - UA_ConnectionManager *cm = (UA_ConnectionManager*)es; - if(!UA_String_equal(&tcpString, &cm->protocol)) - continue; - - /* Set up the parameters */ - UA_KeyValuePair params[2]; - params[0].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(¶ms[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - params[1].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setScalar(¶ms[1].value, &hostname, &UA_TYPES[UA_TYPES_STRING]); - - UA_KeyValueMap paramMap; - paramMap.map = params; - paramMap.mapSize = 2; - - /* Open the client TCP connection */ - UA_StatusCode res = cm->openConnection(cm, ¶mMap, client, NULL, __Client_networkCallback); - if(res == UA_STATUSCODE_GOOD) - break; - } - - /* The channel has not opened */ - if(client->channel.state == UA_SECURECHANNELSTATE_CLOSED) - client->connectStatus = UA_STATUSCODE_BADINTERNALERROR; - - /* Opening the TCP connection failed */ - if(client->connectStatus != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not open a TCP connection to %.*s", - (int)client->config.endpointUrl.length, - client->config.endpointUrl.data); - client->connectStatus = UA_STATUSCODE_BADCONNECTIONCLOSED; - } -} - -void -connectSync(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Initialize the connection */ - initConnect(client); - notifyClientState(client); - if(client->connectStatus != UA_STATUSCODE_GOOD) - return; - - UA_DateTime now = UA_DateTime_nowMonotonic(); - UA_DateTime maxDate = now + ((UA_DateTime)client->config.timeout * UA_DATETIME_MSEC); - - /* EventLoop is started. Otherwise initConnect would have failed. */ - UA_EventLoop *el = client->config.eventLoop; - UA_assert(el); - - /* Run the EventLoop until connected, connect fail or timeout. Write the - * iterate result to the connectStatus. So we do not attempt to restore a - * failed connection during the sync connect. */ - while(client->connectStatus == UA_STATUSCODE_GOOD && - !isFullyConnected(client)) { - - /* Timeout -> abort */ - now = UA_DateTime_nowMonotonic(); - if(maxDate < now) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The connection has timed out before it could be fully opened"); - client->connectStatus = UA_STATUSCODE_BADTIMEOUT; - closeSecureChannel(client); - /* Continue to run. So the SecureChannel is fully closed in the next - * EventLoop iteration. */ - } - - /* Drop into the EventLoop */ - UA_StatusCode res = el->run(el, (UA_UInt32)((maxDate - now) / UA_DATETIME_MSEC)); - if(res != UA_STATUSCODE_GOOD) { - client->connectStatus = res; - closeSecureChannel(client); - } - - notifyClientState(client); - } -} - -UA_StatusCode -connectInternal(UA_Client *client, UA_Boolean async) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Reset the connectStatus. This should be the only place where we can - * recover from a bad connectStatus. */ - client->connectStatus = UA_STATUSCODE_GOOD; - - if(async) - initConnect(client); - else - connectSync(client); - notifyClientState(client); - return client->connectStatus; -} - -UA_StatusCode -connectSecureChannel(UA_Client *client, const char *endpointUrl) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_ClientConfig *cc = UA_Client_getConfig(client); - cc->noSession = true; - UA_String_clear(&cc->endpointUrl); - cc->endpointUrl = UA_STRING_ALLOC(endpointUrl); - return connectInternal(client, false); -} - -UA_StatusCode -__UA_Client_connect(UA_Client *client, UA_Boolean async) { - lockClient(client); - connectInternal(client, async); - unlockClient(client); - return client->connectStatus; -} - -static UA_StatusCode -activateSessionSync(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_DateTime now = UA_DateTime_nowMonotonic(); - UA_DateTime maxDate = now + ((UA_DateTime)client->config.timeout * UA_DATETIME_MSEC); - - /* Try to activate */ - UA_StatusCode res = activateSessionAsync(client); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* EventLoop is started. Otherwise activateSessionAsync would have failed. */ - UA_EventLoop *el = client->config.eventLoop; - UA_assert(el); - while(client->sessionState != UA_SESSIONSTATE_ACTIVATED && - client->connectStatus == UA_STATUSCODE_GOOD) { - - /* Timeout -> abort */ - now = UA_DateTime_nowMonotonic(); - if(maxDate < now) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The connection has timed out before it could be fully opened"); - client->connectStatus = UA_STATUSCODE_BADTIMEOUT; - closeSecureChannel(client); - /* Continue to run. So the SecureChannel is fully closed in the next - * EventLoop iteration. */ - } - - /* Drop into the EventLoop */ - res = el->run(el, (UA_UInt32)((maxDate - now) / UA_DATETIME_MSEC)); - if(res != UA_STATUSCODE_GOOD) { - client->connectStatus = res; - closeSecureChannel(client); - } - - notifyClientState(client); - } - - return client->connectStatus; -} - -UA_StatusCode -UA_Client_activateCurrentSession(UA_Client *client) { - lockClient(client); - UA_StatusCode res = activateSessionSync(client); - notifyClientState(client); - unlockClient(client); - return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; -} - -UA_StatusCode -UA_Client_activateCurrentSessionAsync(UA_Client *client) { - lockClient(client); - UA_StatusCode res = activateSessionAsync(client); - notifyClientState(client); - unlockClient(client); - return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; -} - -UA_StatusCode -UA_Client_getSessionAuthenticationToken(UA_Client *client, UA_NodeId *authenticationToken, - UA_ByteString *serverNonce) { - lockClient(client); - if(client->sessionState != UA_SESSIONSTATE_CREATED && - client->sessionState != UA_SESSIONSTATE_ACTIVATED) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "There is no current session"); - unlockClient(client); - return UA_STATUSCODE_BADSESSIONCLOSED; - } - - UA_StatusCode res = UA_NodeId_copy(&client->authenticationToken, authenticationToken); - res |= UA_ByteString_copy(&client->serverSessionNonce, serverNonce); - unlockClient(client); - return res; -} - -static UA_StatusCode -switchSession(UA_Client *client, - const UA_NodeId authenticationToken, - const UA_ByteString serverNonce) { - /* Check that there is no pending session in the client */ - if(client->sessionState != UA_SESSIONSTATE_CLOSED) { - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Cannot activate a session with a different AuthenticationToken " - "when the client already has a Session."); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Replace token and nonce */ - UA_NodeId_clear(&client->authenticationToken); - UA_ByteString_clear(&client->serverSessionNonce); - UA_StatusCode res = UA_NodeId_copy(&authenticationToken, &client->authenticationToken); - res |= UA_ByteString_copy(&serverNonce, &client->serverSessionNonce); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Notify that we have now a created session */ - client->sessionState = UA_SESSIONSTATE_CREATED; - notifyClientState(client); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_activateSession(UA_Client *client, - const UA_NodeId authenticationToken, - const UA_ByteString serverNonce) { - lockClient(client); - UA_StatusCode res = switchSession(client, authenticationToken, serverNonce); - if(res != UA_STATUSCODE_GOOD) { - unlockClient(client); - return res; - } - res = activateSessionSync(client); - notifyClientState(client); - unlockClient(client); - return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; -} - -UA_StatusCode -UA_Client_activateSessionAsync(UA_Client *client, - const UA_NodeId authenticationToken, - const UA_ByteString serverNonce) { - lockClient(client); - UA_StatusCode res = switchSession(client, authenticationToken, serverNonce); - if(res != UA_STATUSCODE_GOOD) { - unlockClient(client); - return res; - } - res = activateSessionAsync(client); - notifyClientState(client); - unlockClient(client); - return res != UA_STATUSCODE_GOOD ? res : client->connectStatus; -} - -static void -disconnectListenSockets(UA_Client *client) { - UA_ConnectionManager *cm = client->reverseConnectionCM; - for(size_t i = 0; i < 16; i++) { - if(client->reverseConnectionIds[i] != 0) { - cm->closeConnection(cm, client->reverseConnectionIds[i]); - } - } -} - -/* ConnectionContext meaning: - * - NULL: New listen connection - * - &client->channel: Established active socket to a server - * - &client->reverseConnectionIds[*] == connectionId: Established listen socket - * - &client->reverseConnectionIds[*] != connectionId: New active socket */ -static void -__Client_reverseConnectCallback(UA_ConnectionManager *cm, uintptr_t connectionId, - void *application, void **connectionContext, - UA_ConnectionState state, const UA_KeyValueMap *params, - UA_ByteString msg) { - UA_Client *client = (UA_Client*)application; - lockClient(client); - - if(!*connectionContext) { - /* Store the new listen connection */ - size_t i = 0; - for(; i < 16; i++) { - if(client->reverseConnectionIds[i] == 0) { - client->reverseConnectionIds[i] = connectionId; - client->reverseConnectionCM = cm; - *connectionContext = &client->reverseConnectionIds[i]; - if(client->channel.state == UA_SECURECHANNELSTATE_CLOSED) - client->channel.state = UA_SECURECHANNELSTATE_REVERSE_LISTENING; - break; - } - } - /* All slots are full, close */ - if(i == 16) { - cm->closeConnection(cm, connectionId); - unlockClient(client); - return; - } - } else if(*connectionContext == &client->channel || - *(uintptr_t*)*connectionContext != connectionId) { - /* Active socket */ - - /* New active socket */ - if(*connectionContext != &client->channel) { - /* The client already has an active connection */ - if(client->channel.connectionId) { - cm->closeConnection(cm, connectionId); - unlockClient(client); - return; - } - - /* Set the connection the SecureChannel */ - client->channel.connectionId = connectionId; - client->channel.connectionManager = cm; - *connectionContext = &client->channel; - - /* Don't keep the listen sockets when an active connection is open */ - disconnectListenSockets(client); - - /* Set the channel state. The notification callback is called within - * __Client_reverseConnectCallback. */ - if(client->channel.state == UA_SECURECHANNELSTATE_REVERSE_LISTENING) - client->channel.state = UA_SECURECHANNELSTATE_REVERSE_CONNECTED; - } - - /* Handle the active connection in the normal network callback */ - unlockClient(client); - __Client_networkCallback(cm, connectionId, application, - connectionContext, state, params, msg); - return; - } - - /* Close the listen socket. Was this the last one? */ - if(state == UA_CONNECTIONSTATE_CLOSING) { - UA_Byte count = 0; - for(size_t i = 0; i < 16; i++) { - if(client->reverseConnectionIds[i] == connectionId) - client->reverseConnectionIds[i] = 0; - if(client->reverseConnectionIds[i] != 0) - count++; - } - /* The last connection was closed */ - if(count == 0 && client->channel.connectionId == 0) - client->channel.state = UA_SECURECHANNELSTATE_CLOSED; - } - - notifyClientState(client); - unlockClient(client); -} - -UA_StatusCode -UA_Client_startListeningForReverseConnect(UA_Client *client, - const UA_String *listenHostnames, - size_t listenHostnamesLength, - UA_UInt16 port) { - lockClient(client); - - if(client->channel.state != UA_SECURECHANNELSTATE_CLOSED) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Unable to listen for reverse connect while the client " - "is connected or already listening"); - unlockClient(client); - return UA_STATUSCODE_BADINVALIDSTATE; - } - - const UA_String tcpString = UA_STRING_STATIC("tcp"); - UA_StatusCode res = UA_STATUSCODE_BADINTERNALERROR; - - client->connectStatus = UA_STATUSCODE_GOOD; - client->channel.renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; - - UA_SecureChannel_init(&client->channel); - client->channel.config = client->config.localConnectionConfig; - client->channel.certificateVerification = &client->config.certificateVerification; - client->channel.processOPNHeader = verifyClientSecureChannelHeader; - client->channel.processOPNHeaderApplication = client; - client->channel.connectionId = 0; - - client->connectStatus = initSecurityPolicy(client); - if(client->connectStatus != UA_STATUSCODE_GOOD) - return client->connectStatus; - - UA_EventLoop *el = client->config.eventLoop; - if(!el) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "No EventLoop configured"); - unlockClient(client); - return UA_STATUSCODE_BADINTERNALERROR; - } - - if(el->state != UA_EVENTLOOPSTATE_STARTED) { - res = el->start(el); - UA_CHECK_STATUS(res, unlockClient(client); return res); - } - - UA_ConnectionManager *cm = NULL; - for(UA_EventSource *es = el->eventSources; es != NULL; es = es->next) { - if(es->eventSourceType != UA_EVENTSOURCETYPE_CONNECTIONMANAGER) - continue; - cm = (UA_ConnectionManager*)es; - if(UA_String_equal(&tcpString, &cm->protocol)) - break; - cm = NULL; - } - - if(!cm) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not find a TCP connection manager, unable to " - "listen for reverse connect"); - unlockClient(client); - return UA_STATUSCODE_BADINTERNALERROR; - } - - client->channel.connectionManager = cm; - - UA_KeyValuePair params[4]; - bool booleanTrue = true; - params[0].key = UA_QUALIFIEDNAME(0, "port"); - UA_Variant_setScalar(¶ms[0].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - params[1].key = UA_QUALIFIEDNAME(0, "address"); - UA_Variant_setArray(¶ms[1].value, (void *)(uintptr_t)listenHostnames, - listenHostnamesLength, &UA_TYPES[UA_TYPES_STRING]); - params[2].key = UA_QUALIFIEDNAME(0, "listen"); - UA_Variant_setScalar(¶ms[2].value, &booleanTrue, &UA_TYPES[UA_TYPES_BOOLEAN]); - params[3].key = UA_QUALIFIEDNAME(0, "reuse"); - UA_Variant_setScalar(¶ms[3].value, &booleanTrue, &UA_TYPES[UA_TYPES_BOOLEAN]); - - UA_KeyValueMap paramMap; - paramMap.map = params; - paramMap.mapSize = 4; - - res = cm->openConnection(cm, ¶mMap, client, NULL, __Client_reverseConnectCallback); - - /* Opening the TCP connection failed */ - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Failed to open a listening TCP socket for reverse connect"); - res = UA_STATUSCODE_BADCONNECTIONCLOSED; - } - - unlockClient(client); - return res; -} - -/************************/ -/* Close the Connection */ -/************************/ - -void -closeSecureChannel(UA_Client *client) { - /* If we close SecureChannel when the Session is still active, set to - * created. Otherwise the Session would remain active until the connection - * callback is called for the closing connection. */ - if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) - client->sessionState = UA_SESSIONSTATE_CREATED; - - /* Prevent recursion */ - if(client->channel.state == UA_SECURECHANNELSTATE_CLOSING || - client->channel.state == UA_SECURECHANNELSTATE_CLOSED) - return; - - UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, - "Closing the channel"); - - disconnectListenSockets(client); - - /* Send CLO if the SecureChannel is open */ - if(client->channel.state == UA_SECURECHANNELSTATE_OPEN) { - UA_LOG_DEBUG_CHANNEL(client->config.logging, &client->channel, - "Sending the CLO message"); - - /* Manually set up the header (otherwise done in sendRequest) */ - UA_CloseSecureChannelRequest request; - UA_CloseSecureChannelRequest_init(&request); - request.requestHeader.requestHandle = ++client->requestHandle; - request.requestHeader.timestamp = UA_DateTime_now(); - request.requestHeader.timeoutHint = client->config.timeout; - request.requestHeader.authenticationToken = client->authenticationToken; - UA_SecureChannel_sendSymmetricMessage(&client->channel, ++client->requestId, - UA_MESSAGETYPE_CLO, &request, - &UA_TYPES[UA_TYPES_CLOSESECURECHANNELREQUEST]); - } - - /* The connection is eventually closed in the next callback from the - * ConnectionManager with the appropriate status code. Don't set the - * connection closed right away! */ - UA_SecureChannel_shutdown(&client->channel, UA_SHUTDOWNREASON_CLOSE); -} - -static void -sendCloseSession(UA_Client *client) { - UA_CloseSessionRequest request; - UA_CloseSessionRequest_init(&request); - request.deleteSubscriptions = true; - UA_CloseSessionResponse response; - __Client_Service(client, &request, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST], - &response, &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE]); - UA_CloseSessionRequest_clear(&request); - UA_CloseSessionResponse_clear(&response); - - /* Set after sending the message to prevent immediate reoping during the - * service call */ - client->sessionState = UA_SESSIONSTATE_CLOSING; -} - -void -cleanupSession(UA_Client *client) { - UA_NodeId_clear(&client->authenticationToken); - client->requestHandle = 0; - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* We need to clean up the subscriptions */ - __Client_Subscriptions_clean(client); -#endif - - /* Delete outstanding async services */ - __Client_AsyncService_removeAll(client, UA_STATUSCODE_BADSESSIONCLOSED); - -#ifdef UA_ENABLE_SUBSCRIPTIONS - client->currentlyOutStandingPublishRequests = 0; -#endif - - client->sessionState = UA_SESSIONSTATE_CLOSED; -} - -static void -disconnectSecureChannel(UA_Client *client, UA_Boolean sync) { - /* Clean the DiscoveryUrl and endpoint description when the connection is - * explicitly closed */ - UA_String_clear(&client->discoveryUrl); - UA_EndpointDescription_clear(&client->endpoint); - - /* Close the SecureChannel */ - closeSecureChannel(client); - - /* Manually set the status to closed to prevent an automatic reconnection */ - if(client->connectStatus == UA_STATUSCODE_GOOD) - client->connectStatus = UA_STATUSCODE_BADCONNECTIONCLOSED; - - /* In the synchronous case, loop until the client has actually closed. */ - UA_EventLoop *el = client->config.eventLoop; - if(sync && el && - el->state != UA_EVENTLOOPSTATE_FRESH && - el->state != UA_EVENTLOOPSTATE_STOPPED) { - while(client->channel.state != UA_SECURECHANNELSTATE_CLOSED) { - el->run(el, 100); - } - } - - notifyClientState(client); -} - -UA_StatusCode -UA_Client_disconnectSecureChannel(UA_Client *client) { - lockClient(client); - disconnectSecureChannel(client, true); - unlockClient(client); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_disconnectSecureChannelAsync(UA_Client *client) { - lockClient(client); - disconnectSecureChannel(client, false); - unlockClient(client); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_disconnect(UA_Client *client) { - lockClient(client); - if(client->sessionState == UA_SESSIONSTATE_ACTIVATED) - sendCloseSession(client); - cleanupSession(client); - disconnectSecureChannel(client, true); - unlockClient(client); - return UA_STATUSCODE_GOOD; -} - -static void -closeSessionCallback(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response) { - lockClient(client); - cleanupSession(client); - disconnectSecureChannel(client, false); - notifyClientState(client); - unlockClient(client); -} - -UA_StatusCode -UA_Client_disconnectAsync(UA_Client *client) { - lockClient(client); - - if(client->sessionState == UA_SESSIONSTATE_CLOSED || - client->sessionState == UA_SESSIONSTATE_CLOSING) { - disconnectSecureChannel(client, false); - notifyClientState(client); - unlockClient(client); - return UA_STATUSCODE_GOOD; - } - - /* Set before sending the message to prevent recursion */ - client->sessionState = UA_SESSIONSTATE_CLOSING; - - UA_CloseSessionRequest request; - UA_CloseSessionRequest_init(&request); - request.deleteSubscriptions = true; - UA_StatusCode res = - __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_CLOSESESSIONREQUEST], - (UA_ClientAsyncServiceCallback)closeSessionCallback, - &UA_TYPES[UA_TYPES_CLOSESESSIONRESPONSE], NULL, NULL); - if(res != UA_STATUSCODE_GOOD) { - /* Sending the close request failed. Continue to close the connection - * anyway. */ - cleanupSession(client); - disconnectSecureChannel(client, false); - } - - notifyClientState(client); - unlockClient(client); - return res; -} - -/**** amalgamated original file "/src/client/ua_client_discovery.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - -/* Helper method for additional warnings */ -void -Client_warnEndpointsResult(UA_Client *client, - const UA_GetEndpointsResponse *response, - const UA_String *endpointUrl) { - if(response->endpointsSize == 0) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The server did not return any endpoints. " - "Did you use the correct endpointUrl?"); - return; - } - - if(!UA_String_equal(endpointUrl, &response->endpoints[0].endpointUrl) || - (response->endpoints[0].server.discoveryUrlsSize > 0 && - !UA_String_equal(endpointUrl, &response->endpoints[0].server.discoveryUrls[0]))) { - UA_String *betterUrl = &response->endpoints[0].endpointUrl; - if(response->endpoints[0].server.discoveryUrlsSize > 0) - betterUrl = &response->endpoints[0].server.discoveryUrls[0]; - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "The server returned Endpoints with a different EndpointUrl %.*s than was " - "used to initialize the connection: %.*s. Some servers require a complete " - "match of the EndpointUrl/DiscoveryUrl (including the path) " - "to return all endpoints.", - (int)betterUrl->length, betterUrl->data, - (int)endpointUrl->length, endpointUrl->data); - } -} - -/* Gets a list of endpoints. Memory is allocated for endpointDescription array */ -static UA_StatusCode -getEndpointsInternal(UA_Client *client, const UA_String endpointUrl, - size_t *endpointDescriptionsSize, - UA_EndpointDescription **endpointDescriptions) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_GetEndpointsRequest request; - UA_GetEndpointsRequest_init(&request); - request.requestHeader.timestamp = UA_DateTime_now(); - request.requestHeader.timeoutHint = 10000; - // assume the endpointurl outlives the service call - request.endpointUrl = endpointUrl; - - UA_GetEndpointsResponse response; - __Client_Service(client, &request, &UA_TYPES[UA_TYPES_GETENDPOINTSREQUEST], - &response, &UA_TYPES[UA_TYPES_GETENDPOINTSRESPONSE]); - - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_StatusCode retval = response.responseHeader.serviceResult; - UA_LOG_ERROR(client->config.logging, UA_LOGCATEGORY_CLIENT, - "GetEndpointRequest failed with error code %s", - UA_StatusCode_name(retval)); - UA_GetEndpointsResponse_clear(&response); - return retval; - } - - *endpointDescriptions = response.endpoints; - *endpointDescriptionsSize = response.endpointsSize; - response.endpoints = NULL; - response.endpointsSize = 0; - UA_GetEndpointsResponse_clear(&response); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_getEndpoints(UA_Client *client, const char *serverUrl, - size_t *endpointDescriptionsSize, - UA_EndpointDescription** endpointDescriptions) { - lockClient(client); - - UA_Boolean connected = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); - /* Client is already connected to a different server */ - if(connected && strncmp((const char*)client->config.endpoint.endpointUrl.data, serverUrl, - client->config.endpoint.endpointUrl.length) != 0) { - unlockClient(client); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval; - const UA_String url = UA_STRING((char*)(uintptr_t)serverUrl); - if(!connected) { - retval = connectSecureChannel(client, serverUrl); - if(retval != UA_STATUSCODE_GOOD) { - unlockClient(client); - return retval; - } - } - retval = getEndpointsInternal(client, url, endpointDescriptionsSize, - endpointDescriptions); - unlockClient(client); - - if(!connected) - UA_Client_disconnect(client); - return retval; -} - -UA_StatusCode -UA_Client_findServers(UA_Client *client, const char *serverUrl, - size_t serverUrisSize, UA_String *serverUris, - size_t localeIdsSize, UA_String *localeIds, - size_t *registeredServersSize, - UA_ApplicationDescription **registeredServers) { - lockClient(client); - UA_Boolean connected = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); - /* Client is already connected to a different server */ - if(connected && strncmp((const char*)client->config.endpoint.endpointUrl.data, serverUrl, - client->config.endpoint.endpointUrl.length) != 0) { - unlockClient(client); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval; - if(!connected) { - retval = connectSecureChannel(client, serverUrl); - if(retval != UA_STATUSCODE_GOOD) { - unlockClient(client); - return retval; - } - } - - /* Prepare the request */ - UA_FindServersRequest request; - UA_FindServersRequest_init(&request); - request.serverUrisSize = serverUrisSize; - request.serverUris = serverUris; - request.localeIdsSize = localeIdsSize; - request.localeIds = localeIds; - - /* Send the request */ - UA_FindServersResponse response; - __Client_Service(client, &request, &UA_TYPES[UA_TYPES_FINDSERVERSREQUEST], - &response, &UA_TYPES[UA_TYPES_FINDSERVERSRESPONSE]); - - unlockClient(client); - - /* Process the response */ - retval = response.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - *registeredServersSize = response.serversSize; - *registeredServers = response.servers; - response.serversSize = 0; - response.servers = NULL; - } else { - *registeredServersSize = 0; - *registeredServers = NULL; - } - - /* Clean up */ - UA_FindServersResponse_clear(&response); - if(!connected) - UA_Client_disconnect(client); - return retval; -} - -UA_StatusCode -UA_Client_findServersOnNetwork(UA_Client *client, const char *serverUrl, - UA_UInt32 startingRecordId, UA_UInt32 maxRecordsToReturn, - size_t serverCapabilityFilterSize, UA_String *serverCapabilityFilter, - size_t *serverOnNetworkSize, UA_ServerOnNetwork **serverOnNetwork) { - lockClient(client); - - UA_Boolean connected = (client->channel.state == UA_SECURECHANNELSTATE_OPEN); - /* Client is already connected to a different server */ - if(connected && strncmp((const char*)client->config.endpoint.endpointUrl.data, serverUrl, - client->config.endpoint.endpointUrl.length) != 0) { - unlockClient(client); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval; - if(!connected) { - retval = connectSecureChannel(client, serverUrl); - if(retval != UA_STATUSCODE_GOOD) { - lockClient(client); - return retval; - } - } - - /* Prepare the request */ - UA_FindServersOnNetworkRequest request; - UA_FindServersOnNetworkRequest_init(&request); - request.startingRecordId = startingRecordId; - request.maxRecordsToReturn = maxRecordsToReturn; - request.serverCapabilityFilterSize = serverCapabilityFilterSize; - request.serverCapabilityFilter = serverCapabilityFilter; - - /* Send the request */ - UA_FindServersOnNetworkResponse response; - __Client_Service(client, &request, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKREQUEST], - &response, &UA_TYPES[UA_TYPES_FINDSERVERSONNETWORKRESPONSE]); - - unlockClient(client); - - /* Process the response */ - retval = response.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - *serverOnNetworkSize = response.serversSize; - *serverOnNetwork = response.servers; - response.serversSize = 0; - response.servers = NULL; - } else { - *serverOnNetworkSize = 0; - *serverOnNetwork = NULL; - } - - /* Clean up */ - UA_FindServersOnNetworkResponse_clear(&response); - if(!connected) - UA_Client_disconnect(client); - return retval; -} - -/**** amalgamated original file "/src/client/ua_client_highlevel.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2017 (c) Florian Palm - * Copyright 2016 (c) Chris Iatrou - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Fabian Arndt - * Copyright 2018 (c) Peter Rustler, basyskom GmbH - */ - - -/* The highlevel client API is an "outer onion layer". This file does not - * include ua_client_internal.h on purpose. */ - -UA_StatusCode -UA_Client_NamespaceGetIndex(UA_Client *client, UA_String *namespaceUri, - UA_UInt16 *namespaceIndex) { - UA_ReadRequest request; - UA_ReadRequest_init(&request); - UA_ReadValueId id; - UA_ReadValueId_init(&id); - id.attributeId = UA_ATTRIBUTEID_VALUE; - id.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_NAMESPACEARRAY); - request.nodesToRead = &id; - request.nodesToReadSize = 1; - - UA_ReadResponse response = UA_Client_Service_read(client, request); - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) - retval = response.responseHeader.serviceResult; - else if(response.resultsSize != 1 || !response.results[0].hasValue) - retval = UA_STATUSCODE_BADNODEATTRIBUTESINVALID; - else if(response.results[0].value.type != &UA_TYPES[UA_TYPES_STRING]) - retval = UA_STATUSCODE_BADTYPEMISMATCH; - - if(retval != UA_STATUSCODE_GOOD) { - UA_ReadResponse_clear(&response); - return retval; - } - - retval = UA_STATUSCODE_BADNOTFOUND; - UA_String *ns = (UA_String *)response.results[0].value.data; - for(size_t i = 0; i < response.results[0].value.arrayLength; ++i) { - if(UA_String_equal(namespaceUri, &ns[i])) { - *namespaceIndex = (UA_UInt16)i; - retval = UA_STATUSCODE_GOOD; - break; - } - } - - UA_ReadResponse_clear(&response); - return retval; -} - -UA_StatusCode -UA_Client_forEachChildNodeCall(UA_Client *client, UA_NodeId parentNodeId, - UA_NodeIteratorCallback callback, void *handle) { - UA_BrowseRequest bReq; - UA_BrowseRequest_init(&bReq); - bReq.requestedMaxReferencesPerNode = 0; - bReq.nodesToBrowse = UA_BrowseDescription_new(); - bReq.nodesToBrowseSize = 1; - UA_NodeId_copy(&parentNodeId, &bReq.nodesToBrowse[0].nodeId); - bReq.nodesToBrowse[0].resultMask = UA_BROWSERESULTMASK_ALL; //return everything - bReq.nodesToBrowse[0].browseDirection = UA_BROWSEDIRECTION_BOTH; - - UA_BrowseResponse bResp = UA_Client_Service_browse(client, bReq); - - UA_StatusCode retval = bResp.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - for(size_t i = 0; i < bResp.resultsSize; ++i) { - for(size_t j = 0; j < bResp.results[i].referencesSize; ++j) { - UA_ReferenceDescription *ref = &bResp.results[i].references[j]; - retval |= callback(ref->nodeId.nodeId, !ref->isForward, - ref->referenceTypeId, handle); - } - } - } - - UA_BrowseRequest_clear(&bReq); - UA_BrowseResponse_clear(&bResp); - return retval; -} - -/*******************/ -/* Node Management */ -/*******************/ - -UA_StatusCode -UA_Client_addReference(UA_Client *client, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_String targetServerUri, - const UA_ExpandedNodeId targetNodeId, - UA_NodeClass targetNodeClass) { - UA_AddReferencesItem item; - UA_AddReferencesItem_init(&item); - item.sourceNodeId = sourceNodeId; - item.referenceTypeId = referenceTypeId; - item.isForward = isForward; - item.targetServerUri = targetServerUri; - item.targetNodeId = targetNodeId; - item.targetNodeClass = targetNodeClass; - UA_AddReferencesRequest request; - UA_AddReferencesRequest_init(&request); - request.referencesToAdd = &item; - request.referencesToAddSize = 1; - UA_AddReferencesResponse response = UA_Client_Service_addReferences(client, request); - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) { - UA_AddReferencesResponse_clear(&response); - return retval; - } - if(response.resultsSize != 1) { - UA_AddReferencesResponse_clear(&response); - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - retval = response.results[0]; - UA_AddReferencesResponse_clear(&response); - return retval; -} - -UA_StatusCode -UA_Client_deleteReference(UA_Client *client, const UA_NodeId sourceNodeId, - const UA_NodeId referenceTypeId, UA_Boolean isForward, - const UA_ExpandedNodeId targetNodeId, - UA_Boolean deleteBidirectional) { - UA_DeleteReferencesItem item; - UA_DeleteReferencesItem_init(&item); - item.sourceNodeId = sourceNodeId; - item.referenceTypeId = referenceTypeId; - item.isForward = isForward; - item.targetNodeId = targetNodeId; - item.deleteBidirectional = deleteBidirectional; - UA_DeleteReferencesRequest request; - UA_DeleteReferencesRequest_init(&request); - request.referencesToDelete = &item; - request.referencesToDeleteSize = 1; - UA_DeleteReferencesResponse response = UA_Client_Service_deleteReferences(client, request); - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) { - UA_DeleteReferencesResponse_clear(&response); - return retval; - } - if(response.resultsSize != 1) { - UA_DeleteReferencesResponse_clear(&response); - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - retval = response.results[0]; - UA_DeleteReferencesResponse_clear(&response); - return retval; -} - -UA_StatusCode -UA_Client_deleteNode(UA_Client *client, const UA_NodeId nodeId, - UA_Boolean deleteTargetReferences) { - UA_DeleteNodesItem item; - UA_DeleteNodesItem_init(&item); - item.nodeId = nodeId; - item.deleteTargetReferences = deleteTargetReferences; - UA_DeleteNodesRequest request; - UA_DeleteNodesRequest_init(&request); - request.nodesToDelete = &item; - request.nodesToDeleteSize = 1; - UA_DeleteNodesResponse response = UA_Client_Service_deleteNodes(client, request); - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) { - UA_DeleteNodesResponse_clear(&response); - return retval; - } - if(response.resultsSize != 1) { - UA_DeleteNodesResponse_clear(&response); - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - retval = response.results[0]; - UA_DeleteNodesResponse_clear(&response); - return retval; -} - -UA_StatusCode -__UA_Client_addNode(UA_Client *client, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, - const UA_DataType *attributeType, UA_NodeId *outNewNodeId) { - UA_AddNodesRequest request; - UA_AddNodesRequest_init(&request); - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.parentNodeId.nodeId = parentNodeId; - item.referenceTypeId = referenceTypeId; - item.requestedNewNodeId.nodeId = requestedNewNodeId; - item.browseName = browseName; - item.nodeClass = nodeClass; - item.typeDefinition.nodeId = typeDefinition; - item.nodeAttributes.encoding = UA_EXTENSIONOBJECT_DECODED_NODELETE; - item.nodeAttributes.content.decoded.type = attributeType; - item.nodeAttributes.content.decoded.data = (void*)(uintptr_t)attr; // hack. is not written into. - request.nodesToAdd = &item; - request.nodesToAddSize = 1; - UA_AddNodesResponse response = UA_Client_Service_addNodes(client, request); - - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) { - UA_AddNodesResponse_clear(&response); - return retval; - } - - if(response.resultsSize != 1) { - UA_AddNodesResponse_clear(&response); - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - - /* Move the id of the created node */ - retval = response.results[0].statusCode; - if(retval == UA_STATUSCODE_GOOD && outNewNodeId) { - *outNewNodeId = response.results[0].addedNodeId; - UA_NodeId_init(&response.results[0].addedNodeId); - } - - UA_AddNodesResponse_clear(&response); - return retval; -} - -/********/ -/* Call */ -/********/ - -UA_StatusCode -UA_Client_call(UA_Client *client, const UA_NodeId objectId, - const UA_NodeId methodId, size_t inputSize, - const UA_Variant *input, size_t *outputSize, - UA_Variant **output) { - /* Set up the request */ - UA_CallRequest request; - UA_CallRequest_init(&request); - UA_CallMethodRequest item; - UA_CallMethodRequest_init(&item); - item.methodId = methodId; - item.objectId = objectId; - item.inputArguments = (UA_Variant *)(void*)(uintptr_t)input; // cast const... - item.inputArgumentsSize = inputSize; - request.methodsToCall = &item; - request.methodsToCallSize = 1; - - /* Call the service */ - UA_CallResponse response = UA_Client_Service_call(client, request); - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - if(response.resultsSize == 1) - retval = response.results[0].statusCode; - else - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - if(UA_StatusCode_isBad(retval)) { - UA_CallResponse_clear(&response); - return retval; - } - - /* Move the output arguments */ - if(output != NULL && outputSize != NULL) { - *output = response.results[0].outputArguments; - *outputSize = response.results[0].outputArgumentsSize; - response.results[0].outputArguments = NULL; - response.results[0].outputArgumentsSize = 0; - } - UA_CallResponse_clear(&response); - return retval; -} - -/********************/ -/* Write Attributes */ -/********************/ - -UA_StatusCode -__UA_Client_writeAttribute(UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, const void *in, - const UA_DataType *inDataType) { - if(!in || !inDataType) - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_WriteValue wValue; - UA_WriteValue_init(&wValue); - wValue.nodeId = *nodeId; - wValue.attributeId = attributeId; - if(attributeId == UA_ATTRIBUTEID_VALUE && - inDataType == &UA_TYPES[UA_TYPES_VARIANT]) { - wValue.value.value = *(const UA_Variant*)in; - wValue.value.hasValue = true; - } else if(attributeId == UA_ATTRIBUTEID_VALUE && - inDataType == &UA_TYPES[UA_TYPES_DATAVALUE]) { - wValue.value = *(const UA_DataValue*)in; - } else { - /* Hack to get rid of the const annotation. - * The value is never written into. */ - UA_Variant_setScalar(&wValue.value.value, (void*)(uintptr_t)in, inDataType); - wValue.value.hasValue = true; - } - UA_WriteRequest wReq; - UA_WriteRequest_init(&wReq); - wReq.nodesToWrite = &wValue; - wReq.nodesToWriteSize = 1; - - UA_WriteResponse wResp = UA_Client_Service_write(client, wReq); - - UA_StatusCode retval = wResp.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - if(wResp.resultsSize == 1) - retval = wResp.results[0]; - else - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - - UA_WriteResponse_clear(&wResp); - return retval; -} - -UA_StatusCode -UA_Client_writeArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, - size_t newArrayDimensionsSize, - const UA_UInt32 *newArrayDimensions) { - if(!newArrayDimensions) - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_WriteValue wValue; - UA_WriteValue_init(&wValue); - wValue.nodeId = nodeId; - wValue.attributeId = UA_ATTRIBUTEID_ARRAYDIMENSIONS; - UA_Variant_setArray(&wValue.value.value, (void*)(uintptr_t)newArrayDimensions, - newArrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); - wValue.value.hasValue = true; - UA_WriteRequest wReq; - UA_WriteRequest_init(&wReq); - wReq.nodesToWrite = &wValue; - wReq.nodesToWriteSize = 1; - - UA_WriteResponse wResp = UA_Client_Service_write(client, wReq); - - UA_StatusCode retval = wResp.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - if(wResp.resultsSize == 1) - retval = wResp.results[0]; - else - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - UA_WriteResponse_clear(&wResp); - return retval; -} - -/*******************/ -/* Read Attributes */ -/*******************/ - -UA_StatusCode -__UA_Client_readAttribute(UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, void *out, - const UA_DataType *outDataType) { - UA_ReadValueId item; - UA_ReadValueId_init(&item); - item.nodeId = *nodeId; - item.attributeId = attributeId; - UA_ReadRequest request; - UA_ReadRequest_init(&request); - request.nodesToRead = &item; - request.nodesToReadSize = 1; - UA_ReadResponse response = UA_Client_Service_read(client, request); - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - if(response.resultsSize == 1) - retval = response.results[0].status; - else - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - if(!UA_StatusCode_isEqualTop(retval,UA_STATUSCODE_GOOD)) { - UA_ReadResponse_clear(&response); - return retval; - } - - /* Set the StatusCode */ - UA_DataValue *res = response.results; - if(res->hasStatus) - retval = res->status; - - /* Return early of no value is given */ - if(!res->hasValue) { - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - UA_ReadResponse_clear(&response); - return retval; - } - - /* Copy value into out */ - if(attributeId == UA_ATTRIBUTEID_VALUE) { - memcpy(out, &res->value, sizeof(UA_Variant)); - UA_Variant_init(&res->value); - } else if(attributeId == UA_ATTRIBUTEID_NODECLASS) { - memcpy(out, (UA_NodeClass*)res->value.data, sizeof(UA_NodeClass)); - } else if(UA_Variant_isScalar(&res->value) && - res->value.type == outDataType) { - memcpy(out, res->value.data, res->value.type->memSize); - UA_free(res->value.data); - res->value.data = NULL; - } else { - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - - UA_ReadResponse_clear(&response); - return retval; -} - -static UA_StatusCode -processReadArrayDimensionsResult(UA_ReadResponse *response, - UA_UInt32 **outArrayDimensions, - size_t *outArrayDimensionsSize) { - UA_StatusCode retval = response->responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) - return retval; - - if(response->resultsSize != 1) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - - retval = response->results[0].status; - if(!UA_StatusCode_isEqualTop(retval,UA_STATUSCODE_GOOD)) - return retval; - - UA_DataValue *res = &response->results[0]; - if(!res->hasValue || - UA_Variant_isScalar(&res->value) || - res->value.type != &UA_TYPES[UA_TYPES_UINT32]) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - - /* Move results */ - *outArrayDimensions = (UA_UInt32*)res->value.data; - *outArrayDimensionsSize = res->value.arrayLength; - res->value.data = NULL; - res->value.arrayLength = 0; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Client_readArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, - size_t *outArrayDimensionsSize, - UA_UInt32 **outArrayDimensions) { - UA_ReadValueId item; - UA_ReadValueId_init(&item); - item.nodeId = nodeId; - item.attributeId = UA_ATTRIBUTEID_ARRAYDIMENSIONS; - UA_ReadRequest request; - UA_ReadRequest_init(&request); - request.nodesToRead = &item; - request.nodesToReadSize = 1; - - UA_ReadResponse response = UA_Client_Service_read(client, request); - UA_StatusCode retval = processReadArrayDimensionsResult(&response, outArrayDimensions, - outArrayDimensionsSize); - UA_ReadResponse_clear(&response); - return retval; -} - -/*********************/ -/* Historical Access */ -/*********************/ - -static UA_HistoryReadResponse -__UA_Client_HistoryRead(UA_Client *client, const UA_NodeId *nodeId, - UA_ExtensionObject* details, UA_String indexRange, - UA_TimestampsToReturn timestampsToReturn, - UA_ByteString continuationPoint, UA_Boolean releaseConti) { - - UA_HistoryReadValueId item; - UA_HistoryReadValueId_init(&item); - - item.nodeId = *nodeId; - item.indexRange = indexRange; - item.continuationPoint = continuationPoint; - item.dataEncoding = UA_QUALIFIEDNAME(0, ""); - - UA_HistoryReadRequest request; - UA_HistoryReadRequest_init(&request); - - request.nodesToRead = &item; - request.nodesToReadSize = 1; - request.timestampsToReturn = timestampsToReturn; // Defaults to Source - request.releaseContinuationPoints = releaseConti; // No values are returned, if true - - /* Build ReadDetails */ - request.historyReadDetails = *details; - - return UA_Client_Service_historyRead(client, request); -} - -static UA_StatusCode -__UA_Client_HistoryRead_service(UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, - UA_ExtensionObject *details, UA_String indexRange, - UA_TimestampsToReturn timestampsToReturn, - void *callbackContext) { - - UA_ByteString continuationPoint = UA_BYTESTRING_NULL; - UA_Boolean continuationAvail = false; - UA_Boolean fetchMore = false; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - do { - /* We release the continuation point, if no more data is requested by the user */ - UA_Boolean cleanup = !fetchMore && continuationAvail; - UA_HistoryReadResponse response = - __UA_Client_HistoryRead(client, nodeId, details, indexRange, timestampsToReturn, continuationPoint, cleanup); - - if(cleanup) { - retval = response.responseHeader.serviceResult; -cleanup: UA_HistoryReadResponse_clear(&response); - UA_ByteString_clear(&continuationPoint); - return retval; - } - - retval = response.responseHeader.serviceResult; - if(retval == UA_STATUSCODE_GOOD) { - if(response.resultsSize == 1) - retval = response.results[0].statusCode; - else - retval = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - if(!UA_StatusCode_isEqualTop(retval,UA_STATUSCODE_GOOD)) - goto cleanup; - - UA_HistoryReadResult *res = response.results; - - /* Clear old and check / store new continuation point */ - UA_ByteString_clear(&continuationPoint); - UA_ByteString_copy(&res->continuationPoint, &continuationPoint); - continuationAvail = !UA_ByteString_equal(&continuationPoint, &UA_BYTESTRING_NULL); - - /* Client callback with possibility to request further values */ - fetchMore = callback(client, nodeId, continuationAvail, &res->historyData, callbackContext); - - /* Regular cleanup */ - UA_HistoryReadResponse_clear(&response); - } while(continuationAvail); - - return retval; -} - -UA_StatusCode -UA_Client_HistoryRead_events(UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, - UA_DateTime startTime, UA_DateTime endTime, - UA_String indexRange, const UA_EventFilter filter, UA_UInt32 numValuesPerNode, - UA_TimestampsToReturn timestampsToReturn, void *callbackContext) { - - UA_ReadEventDetails details; - UA_ReadEventDetails_init(&details); - details.filter = filter; - - // At least two of the following parameters must be set - details.numValuesPerNode = numValuesPerNode; // 0 = return all / max server is capable of - details.startTime = startTime; - details.endTime = endTime; - - UA_ExtensionObject detailsExtensionObject; - UA_ExtensionObject_init(&detailsExtensionObject); - detailsExtensionObject.content.decoded.type = &UA_TYPES[UA_TYPES_READEVENTDETAILS]; - detailsExtensionObject.content.decoded.data = &details; - detailsExtensionObject.encoding = UA_EXTENSIONOBJECT_DECODED; - - return __UA_Client_HistoryRead_service(client, nodeId, callback, &detailsExtensionObject, - indexRange, timestampsToReturn, callbackContext); -} - -static UA_StatusCode -__UA_Client_HistoryRead_service_rawMod(UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, - UA_DateTime startTime,UA_DateTime endTime, - UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 numValuesPerNode, - UA_Boolean readModified, UA_TimestampsToReturn timestampsToReturn, - void *callbackContext) { - - UA_ReadRawModifiedDetails details; - UA_ReadRawModifiedDetails_init(&details); - details.isReadModified = readModified; // Return only modified values - details.returnBounds = returnBounds; // Return values pre / post given range - - // At least two of the following parameters must be set - details.numValuesPerNode = numValuesPerNode; // 0 = return all / max server is capable of - details.startTime = startTime; - details.endTime = endTime; - - UA_ExtensionObject detailsExtensionObject; - UA_ExtensionObject_init(&detailsExtensionObject); - detailsExtensionObject.content.decoded.type = &UA_TYPES[UA_TYPES_READRAWMODIFIEDDETAILS]; - detailsExtensionObject.content.decoded.data = &details; - detailsExtensionObject.encoding = UA_EXTENSIONOBJECT_DECODED; - - return __UA_Client_HistoryRead_service(client, nodeId, callback, - &detailsExtensionObject, indexRange, - timestampsToReturn, callbackContext); -} - -UA_StatusCode -UA_Client_HistoryRead_raw(UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, - UA_DateTime startTime, UA_DateTime endTime, - UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 numValuesPerNode, - UA_TimestampsToReturn timestampsToReturn, void *callbackContext) { - - return __UA_Client_HistoryRead_service_rawMod(client, nodeId, callback, startTime, endTime, indexRange, returnBounds, - numValuesPerNode, false, timestampsToReturn, callbackContext); -} - -UA_StatusCode -UA_Client_HistoryRead_modified(UA_Client *client, const UA_NodeId *nodeId, - const UA_HistoricalIteratorCallback callback, - UA_DateTime startTime, UA_DateTime endTime, - UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 maxItems, - UA_TimestampsToReturn timestampsToReturn, void *callbackContext) { - return __UA_Client_HistoryRead_service_rawMod(client, nodeId, callback, startTime, - endTime, indexRange, returnBounds, maxItems, - true, timestampsToReturn, callbackContext); -} - -static UA_HistoryUpdateResponse -__UA_Client_HistoryUpdate(UA_Client *client, void *details, size_t typeId) { - UA_HistoryUpdateRequest request; - UA_HistoryUpdateRequest_init(&request); - - UA_ExtensionObject extension; - UA_ExtensionObject_init(&extension); - request.historyUpdateDetailsSize = 1; - request.historyUpdateDetails = &extension; - - extension.encoding = UA_EXTENSIONOBJECT_DECODED; - extension.content.decoded.type = &UA_TYPES[typeId]; - extension.content.decoded.data = details; - - UA_HistoryUpdateResponse response; - response = UA_Client_Service_historyUpdate(client, request); - return response; -} - -static UA_StatusCode -__UA_Client_HistoryUpdate_updateData(UA_Client *client, const UA_NodeId *nodeId, - UA_PerformUpdateType type, UA_DataValue *value) { - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_UpdateDataDetails details; - UA_UpdateDataDetails_init(&details); - - details.performInsertReplace = type; - details.updateValuesSize = 1; - details.updateValues = value; - UA_NodeId_copy(nodeId, &details.nodeId); - - UA_HistoryUpdateResponse response; - response = __UA_Client_HistoryUpdate(client, &details, UA_TYPES_UPDATEDATADETAILS); - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - ret = response.responseHeader.serviceResult; - goto cleanup; - } - if(response.resultsSize != 1 || response.results[0].operationResultsSize != 1) { - ret = UA_STATUSCODE_BADUNEXPECTEDERROR; - goto cleanup; - } - if(response.results[0].statusCode != UA_STATUSCODE_GOOD) { - ret = response.results[0].statusCode; - goto cleanup; - } - ret = response.results[0].operationResults[0]; -cleanup: - UA_HistoryUpdateResponse_clear(&response); - UA_NodeId_clear(&details.nodeId); - return ret; -} - -UA_StatusCode -UA_Client_HistoryUpdate_insert(UA_Client *client, const UA_NodeId *nodeId, - UA_DataValue *value) { - return __UA_Client_HistoryUpdate_updateData(client, nodeId, - UA_PERFORMUPDATETYPE_INSERT, - value); -} - -UA_StatusCode -UA_Client_HistoryUpdate_replace(UA_Client *client, const UA_NodeId *nodeId, - UA_DataValue *value) { - return __UA_Client_HistoryUpdate_updateData(client, nodeId, - UA_PERFORMUPDATETYPE_REPLACE, - value); -} - -UA_StatusCode -UA_Client_HistoryUpdate_update(UA_Client *client, const UA_NodeId *nodeId, - UA_DataValue *value) { - return __UA_Client_HistoryUpdate_updateData(client, nodeId, - UA_PERFORMUPDATETYPE_UPDATE, - value); -} - -UA_StatusCode -UA_Client_HistoryUpdate_deleteRaw(UA_Client *client, const UA_NodeId *nodeId, - UA_DateTime startTimestamp, UA_DateTime endTimestamp) { - UA_DeleteRawModifiedDetails details; - UA_DeleteRawModifiedDetails_init(&details); - details.isDeleteModified = false; - details.startTime = startTimestamp; - details.endTime = endTimestamp; - UA_NodeId_copy(nodeId, &details.nodeId); - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - UA_HistoryUpdateResponse response; - response = __UA_Client_HistoryUpdate(client, &details, UA_TYPES_DELETERAWMODIFIEDDETAILS); - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - ret = response.responseHeader.serviceResult; - goto cleanup; - } - if(response.resultsSize != 1) { - ret = UA_STATUSCODE_BADUNEXPECTEDERROR; - goto cleanup; - } - - ret = response.results[0].statusCode; - -cleanup: - UA_HistoryUpdateResponse_clear(&response); - UA_NodeId_clear(&details.nodeId); - return ret; -} - -/*******************/ -/* Async Functions */ -/*******************/ - -UA_StatusCode -__UA_Client_writeAttribute_async(UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, const void *in, - const UA_DataType *inDataType, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - if(!in) - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_WriteValue wValue; - UA_WriteValue_init(&wValue); - wValue.nodeId = *nodeId; - wValue.attributeId = attributeId; - if(attributeId == UA_ATTRIBUTEID_VALUE) - wValue.value.value = *(const UA_Variant*) in; - else - /* hack. is never written into. */ - UA_Variant_setScalar(&wValue.value.value, (void*) (uintptr_t) in, - inDataType); - wValue.value.hasValue = true; - UA_WriteRequest wReq; - UA_WriteRequest_init(&wReq); - wReq.nodesToWrite = &wValue; - wReq.nodesToWriteSize = 1; - - return __UA_Client_AsyncService(client, &wReq, - &UA_TYPES[UA_TYPES_WRITEREQUEST], callback, - &UA_TYPES[UA_TYPES_WRITERESPONSE], userdata, reqId); -} - -UA_StatusCode -__UA_Client_addNode_async(UA_Client *client, const UA_NodeClass nodeClass, - const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, - const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, - const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, - const UA_DataType *attributeType, UA_NodeId *outNewNodeId, - UA_ClientAsyncServiceCallback callback, void *userdata, - UA_UInt32 *reqId) { - UA_AddNodesRequest request; - UA_AddNodesRequest_init(&request); - UA_AddNodesItem item; - UA_AddNodesItem_init(&item); - item.parentNodeId.nodeId = parentNodeId; - item.referenceTypeId = referenceTypeId; - item.requestedNewNodeId.nodeId = requestedNewNodeId; - item.browseName = browseName; - item.nodeClass = nodeClass; - item.typeDefinition.nodeId = typeDefinition; - item.nodeAttributes.encoding = UA_EXTENSIONOBJECT_DECODED_NODELETE; - item.nodeAttributes.content.decoded.type = attributeType; - item.nodeAttributes.content.decoded.data = (void*) (uintptr_t) attr; // hack. is not written into. - request.nodesToAdd = &item; - request.nodesToAddSize = 1; - - return __UA_Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_ADDNODESREQUEST], callback, - &UA_TYPES[UA_TYPES_ADDNODESRESPONSE], userdata, reqId); - -} - -UA_StatusCode -__UA_Client_call_async(UA_Client *client, const UA_NodeId objectId, - const UA_NodeId methodId, size_t inputSize, - const UA_Variant *input, UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *reqId) { - UA_CallRequest request; - UA_CallRequest_init(&request); - UA_CallMethodRequest item; - UA_CallMethodRequest_init(&item); - item.methodId = methodId; - item.objectId = objectId; - item.inputArguments = (UA_Variant *) (void*) (uintptr_t) input; // cast const... - item.inputArgumentsSize = inputSize; - request.methodsToCall = &item; - request.methodsToCallSize = 1; - - return __UA_Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_CALLREQUEST], callback, - &UA_TYPES[UA_TYPES_CALLRESPONSE], userdata, reqId); -} - -/* UA_StatusCode */ -/* UA_Cient_translateBrowsePathsToNodeIds_async(UA_Client *client, char **paths, */ -/* UA_UInt32 *ids, size_t pathSize, */ -/* UA_ClientAsyncTranslateCallback callback, */ -/* void *userdata, UA_UInt32 *reqId) { */ -/* return UA_STATUSCODE_BADNOTIMPLEMENTED; */ -/* } */ - -/*************************/ -/* Read Single Attribute */ -/*************************/ - -typedef struct { - UA_ClientAsyncOperationCallback userCallback; - void *userContext; - const UA_DataType *resultType; /* DataValue -> Value attribute, - * Variant -> ArrayDimensions attribute */ -} UA_AttributeReadContext; - -static void -AttributeReadCallback(UA_Client *client, void *userdata, - UA_UInt32 requestId, UA_ReadResponse *rr) { - UA_AttributeReadContext *ctx = (UA_AttributeReadContext*)userdata; - UA_LOG_DEBUG(UA_Client_getConfig(client)->logging, UA_LOGCATEGORY_CLIENT, - "Async read response for request %" PRIu32, requestId); - - UA_DataValue *dv = NULL; - - /* Check the ServiceResult */ - UA_StatusCode res = rr->responseHeader.serviceResult; - if(res != UA_STATUSCODE_GOOD) - goto finish; - - /* Check result array size */ - if(rr->resultsSize != 1) { - res = UA_STATUSCODE_BADINTERNALERROR; - goto finish; - } - - /* A Value attribute */ - dv = &rr->results[0]; - if(ctx->resultType == &UA_TYPES[UA_TYPES_DATAVALUE]) { - ctx->userCallback(client, ctx->userContext, requestId, - UA_STATUSCODE_GOOD, dv); - goto finish; - } - - /* An ArrayDimensions attribute. Has to be an array of UInt32. */ - if(ctx->resultType == &UA_TYPES[UA_TYPES_VARIANT]) { - if(dv->hasValue && - UA_Variant_hasArrayType(&dv->value, &UA_TYPES[UA_TYPES_UINT32])) { - ctx->userCallback(client, ctx->userContext, requestId, - UA_STATUSCODE_GOOD, &dv->value); - } else { - res = UA_STATUSCODE_BADINTERNALERROR; - } - goto finish; - } - - /* Check we have a value */ - if(!dv->hasValue) { - res = UA_STATUSCODE_BADINTERNALERROR; - goto finish; - } - - /* Check the type. Try to adjust "in situ" if no match. */ - if(!UA_Variant_hasScalarType(&dv->value, ctx->resultType)) { - /* Remember the old pointer, adjustType can "unwrap" a type but won't - * free the wrapper. Because the server code still keeps the wrapper. */ - void *oldVal = dv->value.data; - adjustType(&dv->value, ctx->resultType); - if(dv->value.data != oldVal) - UA_free(oldVal); - if(!UA_Variant_hasScalarType(&dv->value, ctx->resultType)) { - res = UA_STATUSCODE_BADINTERNALERROR; - goto finish; - } - } - - /* Callback into userland */ - ctx->userCallback(client, ctx->userContext, requestId, - UA_STATUSCODE_GOOD, dv->value.data); - - finish: - if(res != UA_STATUSCODE_GOOD) - ctx->userCallback(client, ctx->userContext, requestId, res, NULL); - UA_free(ctx); -} - -static UA_StatusCode -readAttribute_async(UA_Client *client, const UA_ReadValueId *rvi, - UA_TimestampsToReturn timestampsToReturn, - const UA_DataType *resultType, /* For the specialized reads */ - UA_ClientAsyncOperationCallback callback, - void *userdata, UA_UInt32 *requestId) { - UA_AttributeReadContext *ctx = (UA_AttributeReadContext*) - UA_malloc(sizeof(UA_AttributeReadContext)); - if(!ctx) - return UA_STATUSCODE_BADOUTOFMEMORY; - - ctx->userCallback = callback; - ctx->userContext = userdata; - ctx->resultType = resultType; - - UA_ReadRequest request; - UA_ReadRequest_init(&request); - request.nodesToRead = (UA_ReadValueId*)(uintptr_t)rvi; /* hack, treated as const */ - request.nodesToReadSize = 1; - request.timestampsToReturn = timestampsToReturn; - - UA_StatusCode res = - __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_READREQUEST], - (UA_ClientAsyncServiceCallback)AttributeReadCallback, - &UA_TYPES[UA_TYPES_READRESPONSE], ctx, requestId); - if(res != UA_STATUSCODE_GOOD) - UA_free(ctx); - return res; -} - -UA_StatusCode -UA_Client_readAttribute_async(UA_Client *client, const UA_ReadValueId *rvi, - UA_TimestampsToReturn timestampsToReturn, - UA_ClientAsyncReadAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_async(client, rvi, timestampsToReturn, - &UA_TYPES[UA_TYPES_DATAVALUE], /* special handling */ - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -/* Helper to keep the code short */ -static UA_StatusCode -readAttribute_simpleAsync(UA_Client *client, const UA_NodeId *nodeId, - UA_AttributeId attributeId, const UA_DataType *resultType, - UA_ClientAsyncOperationCallback callback, - void *userdata, UA_UInt32 *requestId) { - UA_ReadValueId rvi; - UA_ReadValueId_init(&rvi); - rvi.nodeId = *nodeId; - rvi.attributeId = attributeId; - return readAttribute_async(client, &rvi, UA_TIMESTAMPSTORETURN_NEITHER, - resultType, callback, userdata, requestId); -} - -UA_StatusCode -UA_Client_readValueAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadValueAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_VALUE, - &UA_TYPES[UA_TYPES_DATAVALUE], /* special hndling */ - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readDataTypeAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadDataTypeAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_DATATYPE, - &UA_TYPES[UA_TYPES_NODEID], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readArrayDimensionsAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientReadArrayDimensionsAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ARRAYDIMENSIONS, - &UA_TYPES[UA_TYPES_VARIANT], /* special handling */ - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readNodeClassAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadNodeClassAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_NODECLASS, - &UA_TYPES[UA_TYPES_NODECLASS], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readBrowseNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadBrowseNameAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, - &UA_TYPES[UA_TYPES_QUALIFIEDNAME], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readDisplayNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadDisplayNameAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readDescriptionAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadDescriptionAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readWriteMaskAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadWriteMaskAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, - &UA_TYPES[UA_TYPES_UINT32], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode UA_EXPORT -UA_Client_readUserWriteMaskAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadUserWriteMaskAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_USERWRITEMASK, - &UA_TYPES[UA_TYPES_UINT32], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readIsAbstractAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadIsAbstractAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, - &UA_TYPES[UA_TYPES_BOOLEAN], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readSymmetricAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadSymmetricAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, - &UA_TYPES[UA_TYPES_BOOLEAN], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readInverseNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadInverseNameAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, - &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readContainsNoLoopsAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadContainsNoLoopsAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, - &UA_TYPES[UA_TYPES_BOOLEAN], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readEventNotifierAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadEventNotifierAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, - &UA_TYPES[UA_TYPES_BYTE], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readValueRankAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadValueRankAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_VALUERANK, - &UA_TYPES[UA_TYPES_INT32], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readAccessLevelAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadAccessLevelAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, - &UA_TYPES[UA_TYPES_BYTE], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readAccessLevelExAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadAccessLevelExAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, - &UA_TYPES[UA_TYPES_UINT32], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readUserAccessLevelAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadUserAccessLevelAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_USERACCESSLEVEL, - &UA_TYPES[UA_TYPES_BYTE], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readMinimumSamplingIntervalAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL, - &UA_TYPES[UA_TYPES_DOUBLE], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readHistorizingAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadHistorizingAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, - &UA_TYPES[UA_TYPES_BOOLEAN], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readExecutableAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadExecutableAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, - &UA_TYPES[UA_TYPES_BOOLEAN], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -UA_StatusCode -UA_Client_readUserExecutableAttribute_async(UA_Client *client, const UA_NodeId nodeId, - UA_ClientAsyncReadUserExecutableAttributeCallback callback, - void *userdata, UA_UInt32 *requestId) { - return readAttribute_simpleAsync(client, &nodeId, UA_ATTRIBUTEID_USEREXECUTABLE, - &UA_TYPES[UA_TYPES_BOOLEAN], - (UA_ClientAsyncOperationCallback)callback, - userdata, requestId); -} - -/**** amalgamated original file "/src/client/ua_client_subscriptions.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Oleksiy Vasylyev - * Copyright 2016 (c) Sten Grüner - * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2016-2017 (c) Florian Palm - * Copyright 2017 (c) Frank Meerkötter - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -struct UA_Client_MonitoredItem_ForDelete { - UA_Client *client; - UA_Client_Subscription *sub; - UA_UInt32 *monitoredItemId; -}; - -/*****************/ -/* Subscriptions */ -/*****************/ - -static enum ZIP_CMP -/* For ZIP_TREE we use clientHandle comparison */ -UA_ClientHandle_cmp(const void *a, const void *b) { - const UA_Client_MonitoredItem *aa = (const UA_Client_MonitoredItem *)a; - const UA_Client_MonitoredItem *bb = (const UA_Client_MonitoredItem *)b; - - /* Compare clientHandle */ - if(aa->clientHandle < bb->clientHandle) { - return ZIP_CMP_LESS; - } - if(aa->clientHandle > bb->clientHandle) { - return ZIP_CMP_MORE; - } - - return ZIP_CMP_EQ; -} - -ZIP_FUNCTIONS(MonitorItemsTree, UA_Client_MonitoredItem, zipfields, - UA_Client_MonitoredItem, zipfields, UA_ClientHandle_cmp) - -static void -MonitoredItem_delete(UA_Client *client, UA_Client_Subscription *sub, - UA_Client_MonitoredItem *mon); - -static void -ua_Subscriptions_create(UA_Client *client, UA_Client_Subscription *newSub, - UA_CreateSubscriptionResponse *response) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - newSub->subscriptionId = response->subscriptionId; - newSub->sequenceNumber = 0; - newSub->lastActivity = UA_DateTime_nowMonotonic(); - newSub->publishingInterval = response->revisedPublishingInterval; - newSub->maxKeepAliveCount = response->revisedMaxKeepAliveCount; - ZIP_INIT(&newSub->monitoredItems); - LIST_INSERT_HEAD(&client->subscriptions, newSub, listEntry); - - /* Immediately send the first publish requests if there are none - * outstanding */ - __Client_Subscriptions_backgroundPublish(client); -} - -static void -ua_Subscriptions_create_handler(UA_Client *client, void *data, - UA_UInt32 requestId, void *r) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_CreateSubscriptionResponse *response = (UA_CreateSubscriptionResponse *)r; - CustomCallback *cc = (CustomCallback *)data; - UA_Client_Subscription *newSub = (UA_Client_Subscription *)cc->clientData; - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_free(newSub); - goto cleanup; - } - - /* Prepare the internal representation */ - ua_Subscriptions_create(client, newSub, response); - -cleanup: - if(cc->userCallback) - cc->userCallback(client, cc->userData, requestId, response); - UA_free(cc); -} - -UA_CreateSubscriptionResponse -UA_Client_Subscriptions_create(UA_Client *client, - const UA_CreateSubscriptionRequest request, - void *subscriptionContext, - UA_Client_StatusChangeNotificationCallback statusChangeCallback, - UA_Client_DeleteSubscriptionCallback deleteCallback) { - lockClient(client); - - UA_CreateSubscriptionResponse response; - UA_Client_Subscription *sub = (UA_Client_Subscription *) - UA_malloc(sizeof(UA_Client_Subscription)); - if(!sub) { - UA_CreateSubscriptionResponse_init(&response); - response.responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; - unlockClient(client); - return response; - } - sub->context = subscriptionContext; - sub->statusChangeCallback = statusChangeCallback; - sub->deleteCallback = deleteCallback; - - /* Send the request as a synchronous service call */ - __Client_Service(client, &request, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST], - &response, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE]); - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_free(sub); - unlockClient(client); - return response; - } - - ua_Subscriptions_create(client, sub, &response); - - unlockClient(client); - return response; -} - -UA_StatusCode -UA_Client_Subscriptions_create_async(UA_Client *client, - const UA_CreateSubscriptionRequest request, - void *subscriptionContext, - UA_Client_StatusChangeNotificationCallback statusChangeCallback, - UA_Client_DeleteSubscriptionCallback deleteCallback, - UA_ClientAsyncServiceCallback createCallback, - void *userdata, - UA_UInt32 *requestId) { - CustomCallback *cc = (CustomCallback *)UA_calloc(1, sizeof(CustomCallback)); - if(!cc) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_Client_Subscription *sub = (UA_Client_Subscription *) - UA_malloc(sizeof(UA_Client_Subscription)); - if(!sub) { - UA_free(cc); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - sub->context = subscriptionContext; - sub->statusChangeCallback = statusChangeCallback; - sub->deleteCallback = deleteCallback; - - cc->userCallback = createCallback; - cc->userData = userdata; - cc->clientData = sub; - - /* Send the request as asynchronous service call */ - return __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST], - ua_Subscriptions_create_handler, &UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE], - cc, requestId); -} - -static UA_Client_Subscription * -findSubscription(const UA_Client *client, UA_UInt32 subscriptionId) { - UA_Client_Subscription *sub = NULL; - LIST_FOREACH(sub, &client->subscriptions, listEntry) { - if(sub->subscriptionId == subscriptionId) - break; - } - return sub; -} - -static void -ua_Subscriptions_modify(UA_Client *client, UA_Client_Subscription *sub, - const UA_ModifySubscriptionResponse *response) { - sub->publishingInterval = response->revisedPublishingInterval; - sub->maxKeepAliveCount = response->revisedMaxKeepAliveCount; -} - -static void -ua_Subscriptions_modify_handler(UA_Client *client, void *data, UA_UInt32 requestId, - void *r) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_ModifySubscriptionResponse *response = (UA_ModifySubscriptionResponse *)r; - CustomCallback *cc = (CustomCallback *)data; - UA_Client_Subscription *sub = findSubscription(client, (UA_UInt32)(uintptr_t)cc->clientData); - if(sub) { - ua_Subscriptions_modify(client, sub, response); - } else { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "No internal representation of subscription %" PRIu32, - (UA_UInt32)(uintptr_t)cc->clientData); - } - - if(cc->userCallback) - cc->userCallback(client, cc->userData, requestId, response); - UA_free(cc); -} - -UA_ModifySubscriptionResponse -UA_Client_Subscriptions_modify(UA_Client *client, - const UA_ModifySubscriptionRequest request) { - UA_ModifySubscriptionResponse response; - UA_ModifySubscriptionResponse_init(&response); - - /* Find the internal representation */ - lockClient(client); - UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); - if(!sub) { - unlockClient(client); - response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return response; - } - - /* Call the service */ - __Client_Service(client, - &request, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST], - &response, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE]); - - /* Adjust the internal representation. Lookup again for thread-safety. */ - sub = findSubscription(client, request.subscriptionId); - if(!sub) { - response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - unlockClient(client); - return response; - } - ua_Subscriptions_modify(client, sub, &response); - unlockClient(client); - return response; -} - -UA_StatusCode -UA_Client_Subscriptions_modify_async(UA_Client *client, - const UA_ModifySubscriptionRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId) { - lockClient(client); - - /* Find the internal representation */ - UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); - if(!sub) { - unlockClient(client); - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - } - - CustomCallback *cc = (CustomCallback *)UA_calloc(1, sizeof(CustomCallback)); - if(!cc) { - unlockClient(client); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - cc->clientData = (void *)(uintptr_t)request.subscriptionId; - cc->userData = userdata; - cc->userCallback = callback; - - UA_StatusCode res = - __Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONREQUEST], - ua_Subscriptions_modify_handler, &UA_TYPES[UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE], - cc, requestId); - - unlockClient(client); - return res; -} - -static void * -UA_MonitoredItem_delete_wrapper(void *data, UA_Client_MonitoredItem *mon) { - struct UA_Client_MonitoredItem_ForDelete *deleteMonitoredItem = - (struct UA_Client_MonitoredItem_ForDelete *)data; - if(deleteMonitoredItem != NULL) { - if(deleteMonitoredItem->monitoredItemId != NULL && - (mon->monitoredItemId != *deleteMonitoredItem->monitoredItemId)) { - return NULL; - } - MonitoredItem_delete(deleteMonitoredItem->client, deleteMonitoredItem->sub, mon); - } - return NULL; -} - -static void -__Client_Subscription_deleteInternal(UA_Client *client, - UA_Client_Subscription *sub) { - /* Remove the MonitoredItems */ - struct UA_Client_MonitoredItem_ForDelete deleteMonitoredItem; - memset(&deleteMonitoredItem, 0, sizeof(struct UA_Client_MonitoredItem_ForDelete)); - deleteMonitoredItem.client = client; - deleteMonitoredItem.sub = sub; - ZIP_ITER(MonitorItemsTree, &sub->monitoredItems, - UA_MonitoredItem_delete_wrapper, &deleteMonitoredItem); - - /* Call the delete callback */ - if(sub->deleteCallback) { - void *subC = sub->context; - UA_UInt32 subId = sub->subscriptionId; - sub->deleteCallback(client, subId, subC); - } - - /* Remove */ - LIST_REMOVE(sub, listEntry); - UA_free(sub); -} - -static void -__Client_Subscription_processDelete(UA_Client *client, - const UA_DeleteSubscriptionsRequest *request, - const UA_DeleteSubscriptionsResponse *response) { - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) - return; - - /* Check that the request and response size -- use the same index for both */ - if(request->subscriptionIdsSize != response->resultsSize) - return; - - for(size_t i = 0; i < request->subscriptionIdsSize; i++) { - if(response->results[i] != UA_STATUSCODE_GOOD && - response->results[i] != UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID) - continue; - - /* Get the Subscription */ - UA_Client_Subscription *sub = - findSubscription(client, request->subscriptionIds[i]); - if(!sub) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "No internal representation of subscription %" PRIu32, - request->subscriptionIds[i]); - continue; - } - - /* Delete the Subscription */ - __Client_Subscription_deleteInternal(client, sub); - } -} - -typedef struct { - UA_DeleteSubscriptionsRequest request; - UA_ClientAsyncServiceCallback userCallback; - void *userData; -} DeleteSubscriptionCallback; - -static void -ua_Subscriptions_delete_handler(UA_Client *client, void *data, - UA_UInt32 requestId, void *r) { - UA_DeleteSubscriptionsResponse *response = - (UA_DeleteSubscriptionsResponse *)r; - DeleteSubscriptionCallback *dsc = - (DeleteSubscriptionCallback*)data; - - lockClient(client); - - /* Delete */ - __Client_Subscription_processDelete(client, &dsc->request, response); - - /* Userland Callback */ - dsc->userCallback(client, dsc->userData, requestId, response); - - /* Cleanup */ - UA_DeleteSubscriptionsRequest_clear(&dsc->request); - UA_free(dsc); - - unlockClient(client); -} - -UA_StatusCode -UA_Client_Subscriptions_delete_async(UA_Client *client, - const UA_DeleteSubscriptionsRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId) { - /* Make a copy of the request that persists into the async callback */ - DeleteSubscriptionCallback *dsc = (DeleteSubscriptionCallback*) - UA_malloc(sizeof(DeleteSubscriptionCallback)); - if(!dsc) - return UA_STATUSCODE_BADOUTOFMEMORY; - dsc->userCallback = callback; - dsc->userData = userdata; - UA_StatusCode res = UA_DeleteSubscriptionsRequest_copy(&request, &dsc->request); - if(res != UA_STATUSCODE_GOOD) { - UA_free(dsc); - return res; - } - - /* Make the async call */ - return __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST], - ua_Subscriptions_delete_handler, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE], - dsc, requestId); -} - -UA_DeleteSubscriptionsResponse -UA_Client_Subscriptions_delete(UA_Client *client, - const UA_DeleteSubscriptionsRequest request) { - lockClient(client); - - /* Send the request */ - UA_DeleteSubscriptionsResponse response; - __Client_Service(client, &request, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST], - &response, &UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE]); - - /* Process */ - __Client_Subscription_processDelete(client, &request, &response); - - unlockClient(client); - return response; -} - -UA_StatusCode -UA_Client_Subscriptions_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId) { - UA_DeleteSubscriptionsRequest request; - UA_DeleteSubscriptionsRequest_init(&request); - request.subscriptionIds = &subscriptionId; - request.subscriptionIdsSize = 1; - - UA_DeleteSubscriptionsResponse response = - UA_Client_Subscriptions_delete(client, request); - - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) { - UA_DeleteSubscriptionsResponse_clear(&response); - return retval; - } - - if(response.resultsSize != 1) { - UA_DeleteSubscriptionsResponse_clear(&response); - return UA_STATUSCODE_BADINTERNALERROR; - } - - retval = response.results[0]; - UA_DeleteSubscriptionsResponse_clear(&response); - return retval; -} - -/******************/ -/* MonitoredItems */ -/******************/ - -static void -MonitoredItem_delete(UA_Client *client, UA_Client_Subscription *sub, - UA_Client_MonitoredItem *mon) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - ZIP_REMOVE(MonitorItemsTree, &sub->monitoredItems, mon); - if(mon->deleteCallback) { - void *subC = sub->context; - void *monC = mon->context; - UA_UInt32 subId = sub->subscriptionId; - UA_UInt32 monId = mon->monitoredItemId; - mon->deleteCallback(client, subId, subC, monId, monC); - } - UA_free(mon); -} - -typedef struct { - void **contexts; - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks; - void **handlingCallbacks; - UA_CreateMonitoredItemsRequest request; - - /* Notify the user that the async callback was processed */ - UA_ClientAsyncServiceCallback userCallback; - void *userData; -} MonitoredItems_CreateData; - -static void -MonitoredItems_CreateData_clear(UA_Client *client, MonitoredItems_CreateData *data) { - UA_free(data->contexts); - UA_free(data->deleteCallbacks); - UA_free(data->handlingCallbacks); - UA_CreateMonitoredItemsRequest_clear(&data->request); -} - -static void -ua_MonitoredItems_create(UA_Client *client, MonitoredItems_CreateData *data, - UA_CreateMonitoredItemsResponse *response) { - UA_CreateMonitoredItemsRequest *request = &data->request; - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks = data->deleteCallbacks; - - UA_Client_Subscription *sub = findSubscription(client, data->request.subscriptionId); - if(!sub) - goto cleanup; - - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) - goto cleanup; - - if(response->resultsSize != request->itemsToCreateSize) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - /* Add internally */ - for(size_t i = 0; i < request->itemsToCreateSize; i++) { - if(response->results[i].statusCode != UA_STATUSCODE_GOOD) { - void *subC = sub->context; - UA_UInt32 subId = sub->subscriptionId; - if(deleteCallbacks[i]) - deleteCallbacks[i](client, subId, subC, 0, data->contexts[i]); - continue; - } - - UA_Client_MonitoredItem *newMon = (UA_Client_MonitoredItem *) - UA_malloc(sizeof(UA_Client_MonitoredItem)); - if(!newMon) { - void *subC = sub->context; - UA_UInt32 subId = sub->subscriptionId; - if(deleteCallbacks[i]) - deleteCallbacks[i](client, subId, subC, 0, data->contexts[i]); - continue; - } - - newMon->monitoredItemId = response->results[i].monitoredItemId; - newMon->clientHandle = request->itemsToCreate[i].requestedParameters.clientHandle; - newMon->context = data->contexts[i]; - newMon->deleteCallback = deleteCallbacks[i]; - newMon->handler.dataChangeCallback = - (UA_Client_DataChangeNotificationCallback)(uintptr_t) - data->handlingCallbacks[i]; - newMon->isEventMonitoredItem = - (request->itemsToCreate[i].itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER); - ZIP_INSERT(MonitorItemsTree, &sub->monitoredItems, newMon); - - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Subscription %" PRIu32 " | Added a MonitoredItem with handle %" PRIu32, - sub->subscriptionId, newMon->clientHandle); - } - return; - - /* Adding failed */ - cleanup: - for(size_t i = 0; i < request->itemsToCreateSize; i++) { - void *subC = sub ? sub->context : NULL; - if(deleteCallbacks[i]) - deleteCallbacks[i](client, data->request.subscriptionId, - subC, 0, data->contexts[i]); - } -} - -static void -ua_MonitoredItems_create_async_handler(UA_Client *client, void *d, UA_UInt32 requestId, - void *r) { - UA_CreateMonitoredItemsResponse *response = (UA_CreateMonitoredItemsResponse *)r; - MonitoredItems_CreateData *data = (MonitoredItems_CreateData *)d; - - lockClient(client); - - ua_MonitoredItems_create(client, data, response); - MonitoredItems_CreateData_clear(client, data); - - if(data->userCallback) - data->userCallback(client, data->userData, requestId, response); - - UA_free(data); - - unlockClient(client); -} - -static UA_StatusCode -MonitoredItems_CreateData_prepare(UA_Client *client, - const UA_CreateMonitoredItemsRequest *request, - void **contexts, void **handlingCallbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - MonitoredItems_CreateData *data) { - /* Align arrays and copy over */ - UA_StatusCode retval = UA_STATUSCODE_BADOUTOFMEMORY; - data->contexts = (void **)UA_calloc(request->itemsToCreateSize, sizeof(void *)); - if(!data->contexts) - goto cleanup; - if(contexts) - memcpy(data->contexts, contexts, request->itemsToCreateSize * sizeof(void *)); - - data->deleteCallbacks = (UA_Client_DeleteMonitoredItemCallback *) - UA_calloc(request->itemsToCreateSize, sizeof(UA_Client_DeleteMonitoredItemCallback)); - if(!data->deleteCallbacks) - goto cleanup; - if(deleteCallbacks) - memcpy(data->deleteCallbacks, deleteCallbacks, - request->itemsToCreateSize * sizeof(UA_Client_DeleteMonitoredItemCallback)); - - data->handlingCallbacks = (void **) - UA_calloc(request->itemsToCreateSize, sizeof(void *)); - if(!data->handlingCallbacks) - goto cleanup; - if(handlingCallbacks) - memcpy(data->handlingCallbacks, handlingCallbacks, - request->itemsToCreateSize * sizeof(void *)); - - retval = UA_CreateMonitoredItemsRequest_copy(request, &data->request); - if(retval != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Set the clientHandle */ - for(size_t i = 0; i < data->request.itemsToCreateSize; i++) - data->request.itemsToCreate[i].requestedParameters.clientHandle = - ++client->monitoredItemHandles; - - return UA_STATUSCODE_GOOD; - -cleanup: - MonitoredItems_CreateData_clear(client, data); - return retval; -} - -static void -ua_Client_MonitoredItems_create(UA_Client *client, - const UA_CreateMonitoredItemsRequest *request, - void **contexts, void **handlingCallbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - UA_CreateMonitoredItemsResponse *response) { - UA_CreateMonitoredItemsResponse_init(response); - - if(!request->itemsToCreateSize) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - return; - } - - /* Test if the subscription is valid */ - UA_Client_Subscription *sub = findSubscription(client, request->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return; - } - - MonitoredItems_CreateData data; - memset(&data, 0, sizeof(MonitoredItems_CreateData)); - - UA_StatusCode res = - MonitoredItems_CreateData_prepare(client, request, contexts, handlingCallbacks, - deleteCallbacks, &data); - if(res != UA_STATUSCODE_GOOD) { - response->responseHeader.serviceResult = res; - return; - } - - /* Call the service. Use data->request as it contains the client handle - * information. */ - __Client_Service(client, &data.request, - &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST], - response, &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]); - - /* Add internal representation */ - ua_MonitoredItems_create(client, &data, response); - - MonitoredItems_CreateData_clear(client, &data); -} - -static UA_StatusCode -createDataChanges_async(UA_Client *client, const UA_CreateMonitoredItemsRequest request, - void **contexts, void **callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - UA_ClientAsyncServiceCallback createCallback, void *userdata, - UA_UInt32 *requestId) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); - if(!sub) - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - - MonitoredItems_CreateData *data = (MonitoredItems_CreateData *) - UA_calloc(1, sizeof(MonitoredItems_CreateData)); - if(!data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - data->userCallback = createCallback; - data->userData = userdata; - - UA_StatusCode res = - MonitoredItems_CreateData_prepare(client, &request, contexts, - callbacks, deleteCallbacks, data); - if(res != UA_STATUSCODE_GOOD) { - UA_free(data); - return res; - } - - return __Client_AsyncService(client, &data->request, - &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST], - ua_MonitoredItems_create_async_handler, - &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE], - data, requestId); -} - -UA_CreateMonitoredItemsResponse -UA_Client_MonitoredItems_createDataChanges(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, - void **contexts, - UA_Client_DataChangeNotificationCallback *callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks) { - UA_CreateMonitoredItemsResponse response; - lockClient(client); - ua_Client_MonitoredItems_create(client, &request, contexts, (void **)callbacks, - deleteCallbacks, &response); - unlockClient(client); - return response; -} - -UA_StatusCode -UA_Client_MonitoredItems_createDataChanges_async(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, - void **contexts, - UA_Client_DataChangeNotificationCallback *callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - UA_ClientAsyncServiceCallback createCallback, - void *userdata, UA_UInt32 *requestId) { - lockClient(client); - UA_StatusCode res = - createDataChanges_async(client, request, contexts, (void **)callbacks, - deleteCallbacks, createCallback, userdata, requestId); - unlockClient(client); - return res; -} - -UA_MonitoredItemCreateResult -UA_Client_MonitoredItems_createDataChange(UA_Client *client, UA_UInt32 subscriptionId, - UA_TimestampsToReturn timestampsToReturn, - const UA_MonitoredItemCreateRequest item, - void *context, - UA_Client_DataChangeNotificationCallback callback, - UA_Client_DeleteMonitoredItemCallback deleteCallback) { - UA_CreateMonitoredItemsRequest request; - UA_CreateMonitoredItemsRequest_init(&request); - request.subscriptionId = subscriptionId; - request.timestampsToReturn = timestampsToReturn; - request.itemsToCreate = (UA_MonitoredItemCreateRequest*)(uintptr_t)&item; - request.itemsToCreateSize = 1; - UA_CreateMonitoredItemsResponse response = - UA_Client_MonitoredItems_createDataChanges(client, request, &context, - &callback, &deleteCallback); - UA_MonitoredItemCreateResult result; - UA_MonitoredItemCreateResult_init(&result); - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) - result.statusCode = response.responseHeader.serviceResult; - - if(result.statusCode == UA_STATUSCODE_GOOD && - response.resultsSize != 1) - result.statusCode = UA_STATUSCODE_BADINTERNALERROR; - - if(result.statusCode == UA_STATUSCODE_GOOD) - UA_MonitoredItemCreateResult_copy(&response.results[0] , &result); - UA_CreateMonitoredItemsResponse_clear(&response); - return result; -} - -UA_CreateMonitoredItemsResponse -UA_Client_MonitoredItems_createEvents(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, - void **contexts, - UA_Client_EventNotificationCallback *callback, - UA_Client_DeleteMonitoredItemCallback *deleteCallback) { - UA_CreateMonitoredItemsResponse response; - lockClient(client); - ua_Client_MonitoredItems_create(client, &request, contexts, (void **)callback, - deleteCallback, &response); - unlockClient(client); - return response; -} - -/* Monitor the EventNotifier attribute only */ -UA_StatusCode -UA_Client_MonitoredItems_createEvents_async(UA_Client *client, - const UA_CreateMonitoredItemsRequest request, - void **contexts, - UA_Client_EventNotificationCallback *callbacks, - UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, - UA_ClientAsyncServiceCallback createCallback, - void *userdata, UA_UInt32 *requestId) { - lockClient(client); - UA_StatusCode res = - createDataChanges_async(client, request, contexts, (void **)callbacks, deleteCallbacks, - createCallback, userdata, requestId); - unlockClient(client); - return res; -} - -UA_MonitoredItemCreateResult -UA_Client_MonitoredItems_createEvent(UA_Client *client, UA_UInt32 subscriptionId, - UA_TimestampsToReturn timestampsToReturn, - const UA_MonitoredItemCreateRequest item, void *context, - UA_Client_EventNotificationCallback callback, - UA_Client_DeleteMonitoredItemCallback deleteCallback) { - UA_CreateMonitoredItemsRequest request; - UA_CreateMonitoredItemsRequest_init(&request); - request.subscriptionId = subscriptionId; - request.timestampsToReturn = timestampsToReturn; - request.itemsToCreate = (UA_MonitoredItemCreateRequest*)(uintptr_t)&item; - request.itemsToCreateSize = 1; - UA_CreateMonitoredItemsResponse response = - UA_Client_MonitoredItems_createEvents(client, request, &context, - &callback, &deleteCallback); - UA_StatusCode retval = response.responseHeader.serviceResult; - UA_MonitoredItemCreateResult result; - UA_MonitoredItemCreateResult_init(&result); - if(retval != UA_STATUSCODE_GOOD) { - UA_CreateMonitoredItemsResponse_clear(&response); - result.statusCode = retval; - return result; - } - UA_MonitoredItemCreateResult_copy(response.results , &result); - UA_CreateMonitoredItemsResponse_clear(&response); - return result; -} - -static void -ua_MonitoredItems_delete(UA_Client *client, UA_Client_Subscription *sub, - const UA_DeleteMonitoredItemsRequest *request, - const UA_DeleteMonitoredItemsResponse *response) { -#ifdef __clang_analyzer__ - return; -#endif - - /* Loop over deleted MonitoredItems */ - struct UA_Client_MonitoredItem_ForDelete deleteMonitoredItem; - memset(&deleteMonitoredItem, 0, sizeof(struct UA_Client_MonitoredItem_ForDelete)); - deleteMonitoredItem.client = client; - deleteMonitoredItem.sub = sub; - - for(size_t i = 0; i < response->resultsSize; i++) { - if(response->results[i] != UA_STATUSCODE_GOOD && - response->results[i] != UA_STATUSCODE_BADMONITOREDITEMIDINVALID) { - continue; - } - deleteMonitoredItem.monitoredItemId = &request->monitoredItemIds[i]; - /* Delete the internal representation */ - ZIP_ITER(MonitorItemsTree,&sub->monitoredItems, - UA_MonitoredItem_delete_wrapper, &deleteMonitoredItem); - } -} - -static void -ua_MonitoredItems_delete_handler(UA_Client *client, void *d, UA_UInt32 requestId, void *r) { - UA_Client_Subscription *sub = NULL; - CustomCallback *cc = (CustomCallback *)d; - UA_DeleteMonitoredItemsResponse *response = (UA_DeleteMonitoredItemsResponse *)r; - UA_DeleteMonitoredItemsRequest *request = - (UA_DeleteMonitoredItemsRequest *)cc->clientData; - - lockClient(client); - - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) - goto cleanup; - - sub = findSubscription(client, request->subscriptionId); - if(!sub) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "No internal representation of subscription %" PRIu32, - request->subscriptionId); - goto cleanup; - } - - /* Delete MonitoredItems from the internal representation */ - ua_MonitoredItems_delete(client, sub, request, response); - -cleanup: - if(cc->userCallback) - cc->userCallback(client, cc->userData, requestId, response); - UA_DeleteMonitoredItemsRequest_delete(request); - UA_free(cc); - - unlockClient(client); -} - -UA_DeleteMonitoredItemsResponse -UA_Client_MonitoredItems_delete(UA_Client *client, - const UA_DeleteMonitoredItemsRequest request) { - /* Send the request */ - UA_DeleteMonitoredItemsResponse response; - __UA_Client_Service(client, &request, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST], - &response, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE]); - - /* A problem occured remote? */ - if(response.responseHeader.serviceResult != UA_STATUSCODE_GOOD) - return response; - - lockClient(client); - - /* Find the internal subscription representation */ - UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); - if(!sub) { - UA_LOG_INFO(client->config.logging, UA_LOGCATEGORY_CLIENT, - "No internal representation of subscription %" PRIu32, - request.subscriptionId); - unlockClient(client); - return response; - } - - /* Remove MonitoredItems in the internal representation */ - ua_MonitoredItems_delete(client, sub, &request, &response); - - unlockClient(client); - - return response; -} - -UA_StatusCode -UA_Client_MonitoredItems_delete_async(UA_Client *client, - const UA_DeleteMonitoredItemsRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId) { - /* Send the request */ - CustomCallback *cc = (CustomCallback *)UA_calloc(1, sizeof(CustomCallback)); - if(!cc) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_DeleteMonitoredItemsRequest *req_copy = UA_DeleteMonitoredItemsRequest_new(); - if(!req_copy) { - UA_free(cc); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_DeleteMonitoredItemsRequest_copy(&request, req_copy); - cc->clientData = req_copy; - cc->userCallback = callback; - cc->userData = userdata; - - return __UA_Client_AsyncService(client, &request, &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST], - ua_MonitoredItems_delete_handler, - &UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE], cc, requestId); -} - -UA_StatusCode -UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId, - UA_UInt32 monitoredItemId) { - UA_DeleteMonitoredItemsRequest request; - UA_DeleteMonitoredItemsRequest_init(&request); - request.subscriptionId = subscriptionId; - request.monitoredItemIds = &monitoredItemId; - request.monitoredItemIdsSize = 1; - - UA_DeleteMonitoredItemsResponse response = - UA_Client_MonitoredItems_delete(client, request); - - UA_StatusCode retval = response.responseHeader.serviceResult; - if(retval != UA_STATUSCODE_GOOD) { - UA_DeleteMonitoredItemsResponse_clear(&response); - return retval; - } - - if(response.resultsSize != 1) { - UA_DeleteMonitoredItemsResponse_clear(&response); - return UA_STATUSCODE_BADINTERNALERROR; - } - - retval = response.results[0]; - UA_DeleteMonitoredItemsResponse_clear(&response); - return retval; -} - -static void * -UA_MonitoredItem_change_clientHandle_wrapper(void *data, UA_Client_MonitoredItem *mon) { - UA_MonitoredItemModifyRequest *monitoredItemModifyRequest = - (UA_MonitoredItemModifyRequest *)data; - if(monitoredItemModifyRequest && - mon->monitoredItemId == monitoredItemModifyRequest->monitoredItemId) - monitoredItemModifyRequest->requestedParameters.clientHandle = mon->clientHandle; - return NULL; -} - -static void -UA_MonitoredItem_change_clientHandle(UA_Client_Subscription *sub, - UA_ModifyMonitoredItemsRequest *request) { - for(size_t i = 0; i < request->itemsToModifySize; ++i) { - ZIP_ITER(MonitorItemsTree, &sub->monitoredItems, - UA_MonitoredItem_change_clientHandle_wrapper, - &request->itemsToModify[i]); - } -} - -UA_ModifyMonitoredItemsResponse -UA_Client_MonitoredItems_modify(UA_Client *client, - const UA_ModifyMonitoredItemsRequest request) { - UA_ModifyMonitoredItemsResponse response; - UA_ModifyMonitoredItemsResponse_init(&response); - - lockClient(client); - UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); - if(!sub) { - unlockClient(client); - response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - return response; - } - - UA_ModifyMonitoredItemsRequest modifiedRequest; - UA_ModifyMonitoredItemsRequest_copy(&request, &modifiedRequest); - UA_MonitoredItem_change_clientHandle(sub, &modifiedRequest); - - __Client_Service(client, &modifiedRequest, - &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], &response, - &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); - - unlockClient(client); - UA_ModifyMonitoredItemsRequest_clear(&modifiedRequest); - return response; -} - -UA_StatusCode -UA_Client_MonitoredItems_modify_async(UA_Client *client, - const UA_ModifyMonitoredItemsRequest request, - UA_ClientAsyncServiceCallback callback, - void *userdata, UA_UInt32 *requestId) { - lockClient(client); - UA_Client_Subscription *sub = findSubscription(client, request.subscriptionId); - if(!sub) { - unlockClient(client); - return UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; - } - - UA_ModifyMonitoredItemsRequest modifiedRequest; - UA_ModifyMonitoredItemsRequest_copy(&request, &modifiedRequest); - UA_MonitoredItem_change_clientHandle(sub, &modifiedRequest); - - UA_StatusCode statusCode = __Client_AsyncService( - client, &modifiedRequest, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], - callback, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE], userdata, requestId); - - unlockClient(client); - UA_ModifyMonitoredItemsRequest_clear(&modifiedRequest); - return statusCode; -} - -/*************************************/ -/* Async Processing of Notifications */ -/*************************************/ - -/* Assume the request is already initialized */ -UA_StatusCode -__Client_preparePublishRequest(UA_Client *client, UA_PublishRequest *request) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - /* Count acks */ - UA_Client_NotificationsAckNumber *ack; - LIST_FOREACH(ack, &client->pendingNotificationsAcks, listEntry) - ++request->subscriptionAcknowledgementsSize; - - /* Create the array. Returns a sentinel pointer if the length is zero. */ - request->subscriptionAcknowledgements = (UA_SubscriptionAcknowledgement*) - UA_Array_new(request->subscriptionAcknowledgementsSize, - &UA_TYPES[UA_TYPES_SUBSCRIPTIONACKNOWLEDGEMENT]); - if(!request->subscriptionAcknowledgements) { - request->subscriptionAcknowledgementsSize = 0; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - size_t i = 0; - UA_Client_NotificationsAckNumber *ack_tmp; - LIST_FOREACH_SAFE(ack, &client->pendingNotificationsAcks, listEntry, ack_tmp) { - request->subscriptionAcknowledgements[i].sequenceNumber = ack->subAck.sequenceNumber; - request->subscriptionAcknowledgements[i].subscriptionId = ack->subAck.subscriptionId; - ++i; - LIST_REMOVE(ack, listEntry); - UA_free(ack); - } - return UA_STATUSCODE_GOOD; -} - -/* According to OPC Unified Architecture, Part 4 5.13.1.1 i) */ -/* The value 0 is never used for the sequence number */ -static UA_UInt32 -__nextSequenceNumber(UA_UInt32 sequenceNumber) { - UA_UInt32 nextSequenceNumber = sequenceNumber + 1; - if(nextSequenceNumber == 0) - nextSequenceNumber = 1; - return nextSequenceNumber; -} - -static void -processDataChangeNotification(UA_Client *client, UA_Client_Subscription *sub, - UA_DataChangeNotification *dataChangeNotification) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - for(size_t j = 0; j < dataChangeNotification->monitoredItemsSize; ++j) { - UA_MonitoredItemNotification *min = &dataChangeNotification->monitoredItems[j]; - - /* Find the MonitoredItem */ - UA_Client_MonitoredItem *mon; - UA_Client_MonitoredItem dummy; - dummy.clientHandle = min->clientHandle; - mon = ZIP_FIND(MonitorItemsTree, &sub->monitoredItems, &dummy); - - if(!mon) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not process a notification with clienthandle %" PRIu32 - " on subscription %" PRIu32, min->clientHandle, sub->subscriptionId); - continue; - } - - if(mon->isEventMonitoredItem) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "MonitoredItem is configured for Events. But received a " - "DataChangeNotification."); - continue; - } - - if(mon->handler.dataChangeCallback) { - void *subC = sub->context; - void *monC = mon->context; - UA_UInt32 subId = sub->subscriptionId; - UA_UInt32 monId = mon->monitoredItemId; - mon->handler.dataChangeCallback(client, subId, subC, monId, monC, &min->value); - } - } -} - -static void -processEventNotification(UA_Client *client, UA_Client_Subscription *sub, - UA_EventNotificationList *eventNotificationList) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - for(size_t j = 0; j < eventNotificationList->eventsSize; ++j) { - UA_EventFieldList *eventFieldList = &eventNotificationList->events[j]; - - /* Find the MonitoredItem */ - UA_Client_MonitoredItem *mon; - UA_Client_MonitoredItem dummy; - dummy.clientHandle = eventFieldList->clientHandle; - mon = ZIP_FIND(MonitorItemsTree, &sub->monitoredItems, &dummy); - - if(!mon) { - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Could not process a notification with clienthandle %" PRIu32 - " on subscription %" PRIu32, eventFieldList->clientHandle, - sub->subscriptionId); - continue; - } - - if(!mon->isEventMonitoredItem) { - UA_LOG_DEBUG(client->config.logging, UA_LOGCATEGORY_CLIENT, - "MonitoredItem is configured for DataChanges. But received a " - "EventNotification."); - continue; - } - - void *subC = sub->context; - void *monC = mon->context; - UA_UInt32 subId = sub->subscriptionId; - UA_UInt32 monId = mon->monitoredItemId; - mon->handler.eventCallback(client, subId, subC, monId, monC, - eventFieldList->eventFieldsSize, - eventFieldList->eventFields); - } -} - -static void -processNotificationMessage(UA_Client *client, UA_Client_Subscription *sub, - UA_ExtensionObject *msg) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - if(msg->encoding != UA_EXTENSIONOBJECT_DECODED) - return; - - /* Handle DataChangeNotification */ - if(msg->content.decoded.type == &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]) { - UA_DataChangeNotification *dataChangeNotification = - (UA_DataChangeNotification *)msg->content.decoded.data; - processDataChangeNotification(client, sub, dataChangeNotification); - return; - } - - /* Handle EventNotification */ - if(msg->content.decoded.type == &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]) { - UA_EventNotificationList *eventNotificationList = - (UA_EventNotificationList *)msg->content.decoded.data; - processEventNotification(client, sub, eventNotificationList); - return; - } - - /* Handle StatusChangeNotification */ - if(msg->content.decoded.type == &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]) { - if(sub->statusChangeCallback) { - void *subC = sub->context; - UA_UInt32 subId = sub->subscriptionId; - sub->statusChangeCallback(client, subId, subC, - (UA_StatusChangeNotification*)msg->content.decoded.data); - } else { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Dropped a StatusChangeNotification since no " - "callback is registered"); - } - return; - } - - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Unknown notification message type"); -} - -static void -__Client_Subscriptions_processPublishResponse(UA_Client *client, UA_PublishRequest *request, - UA_PublishResponse *response) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - UA_NotificationMessage *msg = &response->notificationMessage; - - client->currentlyOutStandingPublishRequests--; - - if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS) { - if(client->config.outStandingPublishRequests > 1) { - client->config.outStandingPublishRequests--; - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Too many publishrequest, reduce outStandingPublishRequests " - "to %" PRId16, client->config.outStandingPublishRequests); - } else { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Too many publishrequest when outStandingPublishRequests = 1"); - UA_Client_Subscriptions_deleteSingle(client, response->subscriptionId); - } - return; - } - - if(response->responseHeader.serviceResult == UA_STATUSCODE_BADSHUTDOWN) - return; - - if(response->responseHeader.serviceResult == UA_STATUSCODE_BADNOSUBSCRIPTION) - { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received BadNoSubscription, delete internal information about subscription"); - UA_Client_Subscription *sub = findSubscription(client, response->subscriptionId); - if(sub != NULL) - __Client_Subscription_deleteInternal(client, sub); - return; - } - - if(!LIST_FIRST(&client->subscriptions)) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADNOSUBSCRIPTION; - return; - } - - UA_Client_Subscription *sub = findSubscription(client, response->subscriptionId); - if(!sub) { - response->responseHeader.serviceResult = UA_STATUSCODE_BADINTERNALERROR; - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received Publish Response for a non-existant subscription"); - return; - } - - if(response->responseHeader.serviceResult == UA_STATUSCODE_BADSESSIONCLOSED) { - if(client->sessionState != UA_SESSIONSTATE_ACTIVATED) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received Publish Response with code %s", - UA_StatusCode_name(response->responseHeader.serviceResult)); - __Client_Subscription_deleteInternal(client, sub); - } - return; - } - - if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTIMEOUT) { - if(client->config.subscriptionInactivityCallback) { - void *subC = sub->context; - UA_UInt32 subId = sub->subscriptionId; - client->config.subscriptionInactivityCallback(client, subId, subC); - } - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received Timeout for Publish Response"); - return; - } - - if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Received Publish Response with code %s", - UA_StatusCode_name(response->responseHeader.serviceResult)); - return; - } - - sub->lastActivity = UA_DateTime_nowMonotonic(); - - /* Detect missing message - OPC Unified Architecture, Part 4 5.13.1.1 e) */ - if(__nextSequenceNumber(sub->sequenceNumber) != msg->sequenceNumber) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Invalid subscription sequence number: expected %" PRIu32 - " but got %" PRIu32, __nextSequenceNumber(sub->sequenceNumber), - msg->sequenceNumber); - /* This is an error. But we do not abort the connection. Some server - * SDKs misbehave from time to time and send out-of-order sequence - * numbers. (Probably some multi-threading synchronization issue.) */ - /* UA_Client_disconnect(client); - return; */ - } - /* According to f), a keep-alive message contains no notifications and has - * the sequence number of the next NotificationMessage that is to be sent => - * More than one consecutive keep-alive message or a NotificationMessage - * following a keep-alive message will share the same sequence number. */ - if (msg->notificationDataSize) - sub->sequenceNumber = msg->sequenceNumber; - - /* Process the notification messages */ - for(size_t k = 0; k < msg->notificationDataSize; ++k) - processNotificationMessage(client, sub, &msg->notificationData[k]); - - /* Add to the list of pending acks */ - for(size_t i = 0; i < response->availableSequenceNumbersSize; i++) { - if(response->availableSequenceNumbers[i] != msg->sequenceNumber) - continue; - UA_Client_NotificationsAckNumber *tmpAck = (UA_Client_NotificationsAckNumber*) - UA_malloc(sizeof(UA_Client_NotificationsAckNumber)); - if(!tmpAck) { - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Not enough memory to store the acknowledgement for a publish " - "message on subscription %" PRIu32, sub->subscriptionId); - break; - } - tmpAck->subAck.sequenceNumber = msg->sequenceNumber; - tmpAck->subAck.subscriptionId = sub->subscriptionId; - LIST_INSERT_HEAD(&client->pendingNotificationsAcks, tmpAck, listEntry); - break; - } -} - -static void -processPublishResponseAsync(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *response) { - UA_PublishRequest *req = (UA_PublishRequest*)userdata; - UA_PublishResponse *res = (UA_PublishResponse*)response; - - lockClient(client); - - /* Process the response */ - __Client_Subscriptions_processPublishResponse(client, req, res); - - /* Delete the cached request */ - UA_PublishRequest_delete(req); - - /* Fill up the outstanding publish requests */ - __Client_Subscriptions_backgroundPublish(client); - - unlockClient(client); -} - -void -__Client_Subscriptions_clean(UA_Client *client) { - UA_Client_NotificationsAckNumber *n; - UA_Client_NotificationsAckNumber *tmp; - LIST_FOREACH_SAFE(n, &client->pendingNotificationsAcks, listEntry, tmp) { - LIST_REMOVE(n, listEntry); - UA_free(n); - } - - UA_Client_Subscription *sub; - UA_Client_Subscription *tmps; - LIST_FOREACH_SAFE(sub, &client->subscriptions, listEntry, tmps) - __Client_Subscription_deleteInternal(client, sub); /* force local removal */ - - client->monitoredItemHandles = 0; -} - -void -__Client_Subscriptions_backgroundPublishInactivityCheck(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - if(client->sessionState < UA_SESSIONSTATE_ACTIVATED) - return; - - /* Is the lack of responses the client's fault? */ - if(client->currentlyOutStandingPublishRequests == 0) - return; - - UA_Client_Subscription *sub; - LIST_FOREACH(sub, &client->subscriptions, listEntry) { - UA_DateTime maxSilence = (UA_DateTime) - ((sub->publishingInterval * sub->maxKeepAliveCount) + - client->config.timeout) * UA_DATETIME_MSEC; - if(maxSilence + sub->lastActivity < UA_DateTime_nowMonotonic()) { - /* Reset activity */ - sub->lastActivity = UA_DateTime_nowMonotonic(); - - if(client->config.subscriptionInactivityCallback) { - void *subC = sub->context; - UA_UInt32 subId = sub->subscriptionId; - client->config.subscriptionInactivityCallback(client, subId, subC); - } - UA_LOG_WARNING(client->config.logging, UA_LOGCATEGORY_CLIENT, - "Inactivity for Subscription %" PRIu32 ".", sub->subscriptionId); - } - } -} - -void -__Client_Subscriptions_backgroundPublish(UA_Client *client) { - UA_LOCK_ASSERT(&client->clientMutex, 1); - - if(client->sessionState != UA_SESSIONSTATE_ACTIVATED) - return; - - /* The session must have at least one subscription */ - if(!LIST_FIRST(&client->subscriptions)) - return; - - while(client->currentlyOutStandingPublishRequests < client->config.outStandingPublishRequests) { - UA_PublishRequest *request = UA_PublishRequest_new(); - if(!request) - return; - - /* Publish requests are valid for 10 minutes */ - request->requestHeader.timeoutHint = 10 * 60 * 1000; - - UA_StatusCode retval = __Client_preparePublishRequest(client, request); - if(retval != UA_STATUSCODE_GOOD) { - UA_PublishRequest_delete(request); - return; - } - - retval = __Client_AsyncService(client, request, - &UA_TYPES[UA_TYPES_PUBLISHREQUEST], - processPublishResponseAsync, - &UA_TYPES[UA_TYPES_PUBLISHRESPONSE], - (void*)request, NULL); - if(retval != UA_STATUSCODE_GOOD) { - UA_PublishRequest_delete(request); - return; - } - - client->currentlyOutStandingPublishRequests++; - } -} - -/**** amalgamated original file "/deps/libc_time.c" ****/ - -/* Originally released by the musl project (http://www.musl-libc.org/) under the - * MIT license. Taken from the file /src/time/__secs_to_tm.c */ - -#include - -/* 2000-03-01 (mod 400 year, immediately after feb29 */ -#define LEAPOCH (946684800LL + 86400*(31+29)) - -#define DAYS_PER_400Y (365*400 + 97) -#define DAYS_PER_100Y (365*100 + 24) -#define DAYS_PER_4Y (365*4 + 1) - -int -musl_secs_to_tm(long long t, struct musl_tm *tm) { - long long days, secs, years; - int remdays, remsecs, remyears; - int qc_cycles, c_cycles, q_cycles; - int months; - int wday, yday, leap; - static const char days_in_month[] = {31,30,31,30,31,31,30,31,30,31,31,29}; - - /* Reject time_t values whose year would overflow int */ - if (t < INT_MIN * 31622400LL || t > INT_MAX * 31622400LL) - return -1; - - secs = t - LEAPOCH; - days = secs / 86400LL; - remsecs = (int)(secs % 86400); - if (remsecs < 0) { - remsecs += 86400; - --days; - } - - wday = (3+days)%7; - if (wday < 0) wday += 7; - - qc_cycles = (int)(days / DAYS_PER_400Y); - remdays = (int)(days % DAYS_PER_400Y); - if (remdays < 0) { - remdays += DAYS_PER_400Y; - --qc_cycles; - } - - c_cycles = remdays / DAYS_PER_100Y; - if (c_cycles == 4) --c_cycles; - remdays -= c_cycles * DAYS_PER_100Y; - - q_cycles = remdays / DAYS_PER_4Y; - if (q_cycles == 25) --q_cycles; - remdays -= q_cycles * DAYS_PER_4Y; - - remyears = remdays / 365; - if (remyears == 4) --remyears; - remdays -= remyears * 365; - - leap = !remyears && (q_cycles || !c_cycles); - yday = remdays + 31 + 28 + leap; - if (yday >= 365+leap) yday -= 365+leap; - - years = remyears + 4*q_cycles + 100*c_cycles + 400LL*qc_cycles; - - for (months=0; days_in_month[months] <= remdays; months++) - remdays -= days_in_month[months]; - - if (months >= 10) { - months -= 12; - years++; - } - - if (years+100 > INT_MAX || years+100 < INT_MIN) - return -1; - - tm->tm_year = (int)(years + 100); - tm->tm_mon = months + 2; - tm->tm_mday = remdays + 1; - tm->tm_wday = wday; - tm->tm_yday = yday; - - tm->tm_hour = remsecs / 3600; - tm->tm_min = remsecs / 60 % 60; - tm->tm_sec = remsecs % 60; - - return 0; -} - -static const int secs_through_month[] = - {0, 31*86400, 59*86400, 90*86400, - 120*86400, 151*86400, 181*86400, 212*86400, - 243*86400, 273*86400, 304*86400, 334*86400 }; - -static int -musl_month_to_secs(int month, int is_leap) { - int t = secs_through_month[month]; - if (is_leap && month >= 2) - t+=86400; - return t; -} - -static long long -musl_year_to_secs(const long long year, int *is_leap) { - if (year-2ULL <= 136) { - int y = (int)year; - int leaps = (y-68)>>2; - if (!((y-68)&3)) { - leaps--; - if (is_leap) *is_leap = 1; - } else if (is_leap) *is_leap = 0; - return 31536000*(y-70) + 86400*leaps; - } - - int cycles, centuries, leaps, rem, dummy; - - if (!is_leap) is_leap = &dummy; - cycles = (int)((year-100) / 400); - rem = (year-100) % 400; - if (rem < 0) { - cycles--; - rem += 400; - } - if (!rem) { - *is_leap = 1; - centuries = 0; - leaps = 0; - } else { - if (rem >= 200) { - if (rem >= 300) centuries = 3, rem -= 300; - else centuries = 2, rem -= 200; - } else { - if (rem >= 100) centuries = 1, rem -= 100; - else centuries = 0; - } - if (!rem) { - *is_leap = 0; - leaps = 0; - } else { - leaps = rem / 4U; - rem %= 4U; - *is_leap = !rem; - } - } - - leaps += 97*cycles + 24*centuries - *is_leap; - - return (year-100) * 31536000LL + leaps * 86400LL + 946684800 + 86400; -} - -long long -musl_tm_to_secs(const struct musl_tm *tm) { - int is_leap; - long long year = tm->tm_year; - int month = tm->tm_mon; - if (month >= 12 || month < 0) { - int adj = month / 12; - month %= 12; - if (month < 0) { - adj--; - month += 12; - } - year += adj; - } - long long t = musl_year_to_secs(year, &is_leap); - t += musl_month_to_secs(month, is_leap); - t += 86400LL * (tm->tm_mday-1); - t += 3600LL * tm->tm_hour; - t += 60LL * tm->tm_min; - t += tm->tm_sec; - return t; -} - -/**** amalgamated original file "/deps/pcg_basic.c" ****/ - -/* - * PCG Random Number Generation for C. - * - * Copyright 2014 Melissa O'Neill - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * For additional information about the PCG random number generation scheme, - * including its license and other licensing options, visit - * - * http://www.pcg-random.org - */ - - -void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initial_state, uint64_t initseq) { - rng->state = 0U; - rng->inc = (initseq << 1u) | 1u; - pcg32_random_r(rng); - rng->state += initial_state; - pcg32_random_r(rng); -} - -uint32_t pcg32_random_r(pcg32_random_t* rng) { - uint64_t oldstate = rng->state; - rng->state = oldstate * 6364136223846793005ULL + rng->inc; - uint32_t xorshifted = (uint32_t)(((oldstate >> 18u) ^ oldstate) >> 27u); - uint32_t rot = (uint32_t)(oldstate >> 59u); - return (xorshifted >> rot) | (xorshifted << ((~rot + 1u) & 31)); /* was (xorshifted >> rot) | (xorshifted << ((-rot) & 31)) */ -} - -/**** amalgamated original file "/deps/base64.c" ****/ - -/* - * Base64 encoding/decoding (RFC1341) - * Copyright (c) 2005-2011, Jouni Malinen - * - * This software may be distributed under the terms of the BSD license. - * See README for more details. - */ - - -static const unsigned char base64_table[65] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - -unsigned char * -UA_base64(const unsigned char *src, size_t len, size_t *out_len) { - if(len == 0) { - *out_len = 0; - return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL; - } - - size_t olen = 4*((len + 2) / 3); /* 3-byte blocks to 4-byte */ - if(olen < len) - return NULL; /* integer overflow */ - - unsigned char *out = (unsigned char*)UA_malloc(olen); - if(!out) - return NULL; - - *out_len = UA_base64_buf(src, len, out); - return out; -} - -size_t -UA_base64_buf(const unsigned char *src, size_t len, unsigned char *out) { - const unsigned char *end = src + len; - const unsigned char *in = src; - unsigned char *pos = out; - while(end - in >= 3) { - *pos++ = base64_table[in[0] >> 2]; - *pos++ = base64_table[((in[0] & 0x03) << 4) | (in[1] >> 4)]; - *pos++ = base64_table[((in[1] & 0x0f) << 2) | (in[2] >> 6)]; - *pos++ = base64_table[in[2] & 0x3f]; - in += 3; - } - - if(end - in) { - *pos++ = base64_table[in[0] >> 2]; - if(end - in == 1) { - *pos++ = base64_table[(in[0] & 0x03) << 4]; - *pos++ = '='; - } else { - *pos++ = base64_table[((in[0] & 0x03) << 4) | (in[1] >> 4)]; - *pos++ = base64_table[(in[1] & 0x0f) << 2]; - } - *pos++ = '='; - } - - return (size_t)(pos - out); -} - -static unsigned char dtable[256] = { - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 62 , 0x80, 62 , 0x80, 63 , - 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 0x80, 0x80, 0x80, 0, 0x80, 0x80, - 0x80, 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , - 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 0x80, 0x80, 0x80, 0x80, 63 , - 0x80, 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , - 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 -}; - -unsigned char * -UA_unbase64(const unsigned char *src, size_t len, size_t *out_len) { - /* Empty base64 results in an empty byte-string */ - if(len == 0) { - *out_len = 0; - return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL; - } - - /* The input length must be a multiple of four */ - if(len % 4 != 0) - return NULL; - - /* Allocate the output string */ - size_t olen = len / 4 * 3; - unsigned char *out = (unsigned char*)UA_malloc(olen); - if(!out) - return NULL; - - /* Iterate over the input */ - size_t pad = 0; - unsigned char count = 0; - unsigned char block[4]; - unsigned char *pos = out; - for(size_t i = 0; i < len; i++) { - unsigned char tmp = dtable[src[i]]; - if(tmp == 0x80) - goto error; /* Invalid input */ - - if(src[i] == '=') - pad++; - - block[count] = tmp; - count++; - if(count == 4) { - *pos++ = (unsigned char)((block[0] << 2) | (block[1] >> 4)); - *pos++ = (unsigned char)((block[1] << 4) | (block[2] >> 2)); - *pos++ = (unsigned char)((block[2] << 6) | block[3]); - if(pad) { - if(pad == 1) - pos--; - else if(pad == 2) - pos -= 2; - else - goto error; /* Invalid padding */ - break; - } - count = 0; - } - } - - *out_len = (size_t)(pos - out); - return out; - - error: - UA_free(out); - return NULL; -} - -/**** amalgamated original file "/deps/dtoa.c" ****/ - -// Copyright 2013, Andreas Samoljuk -// Copyright 2023, Julius Pfrommer -// -// Boost Software License - Version 1.0 - August 17th, 2003 -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include - -#define mantissa_bits 52 -#define exponent_bits 11 -#define fracmask 0x000FFFFFFFFFFFFFU -#define expmask 0x7FF0000000000000U -#define hiddenbit 0x0010000000000000U -#define signmask 0x8000000000000000U -#define expbias (1023 + 52) - -#define absv(n) ((n) < 0 ? -(n) : (n)) -#define minv(a, b) ((a) < (b) ? (a) : (b)) - -static uint64_t tens[] = { - 10000000000000000000U, 1000000000000000000U, 100000000000000000U, - 10000000000000000U, 1000000000000000U, 100000000000000U, - 10000000000000U, 1000000000000U, 100000000000U, - 10000000000U, 1000000000U, 100000000U, - 10000000U, 1000000U, 100000U, - 10000U, 1000U, 100U, - 10U, 1U -}; - -#define npowers 87 -#define steppowers 8 -#define firstpower -348 /* 10 ^ -348 */ -#define expmax -32 -#define expmin -60 - -typedef struct Fp { - uint64_t frac; - int exp; -} Fp; - -static Fp powers_ten[] = { - { 18054884314459144840U, -1220 }, { 13451937075301367670U, -1193 }, - { 10022474136428063862U, -1166 }, { 14934650266808366570U, -1140 }, - { 11127181549972568877U, -1113 }, { 16580792590934885855U, -1087 }, - { 12353653155963782858U, -1060 }, { 18408377700990114895U, -1034 }, - { 13715310171984221708U, -1007 }, { 10218702384817765436U, -980 }, - { 15227053142812498563U, -954 }, { 11345038669416679861U, -927 }, - { 16905424996341287883U, -901 }, { 12595523146049147757U, -874 }, - { 9384396036005875287U, -847 }, { 13983839803942852151U, -821 }, - { 10418772551374772303U, -794 }, { 15525180923007089351U, -768 }, - { 11567161174868858868U, -741 }, { 17236413322193710309U, -715 }, - { 12842128665889583758U, -688 }, { 9568131466127621947U, -661 }, - { 14257626930069360058U, -635 }, { 10622759856335341974U, -608 }, - { 15829145694278690180U, -582 }, { 11793632577567316726U, -555 }, - { 17573882009934360870U, -529 }, { 13093562431584567480U, -502 }, - { 9755464219737475723U, -475 }, { 14536774485912137811U, -449 }, - { 10830740992659433045U, -422 }, { 16139061738043178685U, -396 }, - { 12024538023802026127U, -369 }, { 17917957937422433684U, -343 }, - { 13349918974505688015U, -316 }, { 9946464728195732843U, -289 }, - { 14821387422376473014U, -263 }, { 11042794154864902060U, -236 }, - { 16455045573212060422U, -210 }, { 12259964326927110867U, -183 }, - { 18268770466636286478U, -157 }, { 13611294676837538539U, -130 }, - { 10141204801825835212U, -103 }, { 15111572745182864684U, -77 }, - { 11258999068426240000U, -50 }, { 16777216000000000000U, -24 }, - { 12500000000000000000U, 3 }, { 9313225746154785156U, 30 }, - { 13877787807814456755U, 56 }, { 10339757656912845936U, 83 }, - { 15407439555097886824U, 109 }, { 11479437019748901445U, 136 }, - { 17105694144590052135U, 162 }, { 12744735289059618216U, 189 }, - { 9495567745759798747U, 216 }, { 14149498560666738074U, 242 }, - { 10542197943230523224U, 269 }, { 15709099088952724970U, 295 }, - { 11704190886730495818U, 322 }, { 17440603504673385349U, 348 }, - { 12994262207056124023U, 375 }, { 9681479787123295682U, 402 }, - { 14426529090290212157U, 428 }, { 10748601772107342003U, 455 }, - { 16016664761464807395U, 481 }, { 11933345169920330789U, 508 }, - { 17782069995880619868U, 534 }, { 13248674568444952270U, 561 }, - { 9871031767461413346U, 588 }, { 14708983551653345445U, 614 }, - { 10959046745042015199U, 641 }, { 16330252207878254650U, 667 }, - { 12166986024289022870U, 694 }, { 18130221999122236476U, 720 }, - { 13508068024458167312U, 747 }, { 10064294952495520794U, 774 }, - { 14996968138956309548U, 800 }, { 11173611982879273257U, 827 }, - { 16649979327439178909U, 853 }, { 12405201291620119593U, 880 }, - { 9242595204427927429U, 907 }, { 13772540099066387757U, 933 }, - { 10261342003245940623U, 960 }, { 15290591125556738113U, 986 }, - { 11392378155556871081U, 1013 }, { 16975966327722178521U, 1039 }, - { 12648080533535911531U, 1066 } -}; - -static Fp -find_cachedpow10(int exp, int* k) { - const double one_log_ten = 0.30102999566398114; - int approx = (int)(-(exp + npowers) * one_log_ten); - int idx = (approx - firstpower) / steppowers; - while(1) { - int current = exp + powers_ten[idx].exp + 64; - if(current < expmin) { - idx++; - continue; - } - if(current > expmax) { - idx--; - continue; - } - *k = (firstpower + idx * steppowers); - return powers_ten[idx]; - } -} - -static Fp build_fp(uint64_t bits) { - Fp fp; - fp.frac = bits & fracmask; - fp.exp = (bits & expmask) >> 52; - if(fp.exp) { - fp.frac += hiddenbit; - fp.exp -= expbias; - } else { - fp.exp = -expbias + 1; - } - return fp; -} - -static void normalize(Fp* fp) { - while((fp->frac & hiddenbit) == 0) { - fp->frac <<= 1; - fp->exp--; - } - int shift = 64 - 52 - 1; - fp->frac <<= shift; - fp->exp -= shift; -} - -static void get_normalized_boundaries(Fp* fp, Fp* lower, Fp* upper) { - upper->frac = (fp->frac << 1) + 1; - upper->exp = fp->exp - 1; - while ((upper->frac & (hiddenbit << 1)) == 0) { - upper->frac <<= 1; - upper->exp--; - } - - int u_shift = 64 - 52 - 2; - upper->frac <<= u_shift; - upper->exp = upper->exp - u_shift; - - int l_shift = fp->frac == hiddenbit ? 2 : 1; - lower->frac = (fp->frac << l_shift) - 1; - lower->exp = fp->exp - l_shift; - lower->frac <<= lower->exp - upper->exp; - lower->exp = upper->exp; -} - -static Fp multiply(Fp* a, Fp* b) { - const uint64_t lomask = 0x00000000FFFFFFFF; - uint64_t ah_bl = (a->frac >> 32) * (b->frac & lomask); - uint64_t al_bh = (a->frac & lomask) * (b->frac >> 32); - uint64_t al_bl = (a->frac & lomask) * (b->frac & lomask); - uint64_t ah_bh = (a->frac >> 32) * (b->frac >> 32); - uint64_t tmp = (ah_bl & lomask) + (al_bh & lomask) + (al_bl >> 32); - /* round up */ - tmp += 1U << 31; - Fp fp; - fp.frac = ah_bh + (ah_bl >> 32) + (al_bh >> 32) + (tmp >> 32); - fp.exp = a->exp + b->exp + 64; - return fp; -} - -static void round_digit(char* digits, unsigned ndigits, uint64_t delta, - uint64_t rem, uint64_t kappa, uint64_t frac) { - while(rem < frac && delta - rem >= kappa && - (rem + kappa < frac || frac - rem > rem + kappa - frac)) { - digits[ndigits - 1]--; - rem += kappa; - } -} - -static unsigned generate_digits(Fp* fp, Fp* upper, Fp* lower, char* digits, int* K) { - uint64_t wfrac = upper->frac - fp->frac; - uint64_t delta = upper->frac - lower->frac; - - Fp one; - one.frac = 1ULL << -upper->exp; - one.exp = upper->exp; - - uint64_t part1 = upper->frac >> -one.exp; - uint64_t part2 = upper->frac & (one.frac - 1); - - unsigned idx = 0; - int kappa = 10; - uint64_t* divp; - - /* 1000000000 */ - for(divp = tens + 10; kappa > 0; divp++) { - uint64_t div = *divp; - uint64_t digit = part1 / div; - if(digit || idx) { - digits[idx++] = (char)(digit + '0'); - } - - part1 -= digit * div; - kappa--; - - uint64_t tmp = (part1 <<-one.exp) + part2; - if(tmp <= delta) { - *K += kappa; - round_digit(digits, idx, delta, tmp, div << -one.exp, wfrac); - return idx; - } - } - - /* 10 */ - uint64_t* unit = tens + 18; - while(true) { - part2 *= 10; - delta *= 10; - kappa--; - - uint64_t digit = part2 >> -one.exp; - if(digit || idx) { - digits[idx++] = (char)(digit + '0'); - } - - part2 &= one.frac - 1; - if(part2 < delta) { - *K += kappa; - round_digit(digits, idx, delta, part2, one.frac, wfrac * *unit); - break; - } - unit--; - } - return idx; -} - -static unsigned grisu2(uint64_t bits, char* digits, int* K) { - Fp w = build_fp(bits); - Fp lower, upper; - get_normalized_boundaries(&w, &lower, &upper); - normalize(&w); - int k; - Fp cp = find_cachedpow10(upper.exp, &k); - w = multiply(&w, &cp); - upper = multiply(&upper, &cp); - lower = multiply(&lower, &cp); - lower.frac++; - upper.frac--; - *K = -k; - return generate_digits(&w, &upper, &lower, digits, K); -} - -static unsigned -emit_digits(char* digits, unsigned ndigits, char* dest, int K, bool neg) { - int exp = absv(K + (int)ndigits - 1); - - /* write plain integer */ - if(K >= 0 && (exp < (int)ndigits + 7)) { - memcpy(dest, digits, ndigits); - memset(dest + ndigits, '0', (unsigned)K); - memcpy(dest + ndigits + (unsigned)K, ".0", 2); /* always append .0 for naked integers */ - return (unsigned)(ndigits + (unsigned)K + 2); - } - - /* write decimal w/o scientific notation */ - if(K < 0 && (K > -7 || exp < 4)) { - int offset = (int)ndigits - absv(K); - if(offset <= 0) { - /* fp < 1.0 -> write leading zero */ - offset = -offset; - dest[0] = '0'; - dest[1] = '.'; - memset(dest + 2, '0', (size_t)offset); - memcpy(dest + offset + 2, digits, ndigits); - return ndigits + 2 + (unsigned)offset; - } else { - /* fp > 1.0 */ - memcpy(dest, digits, (size_t)offset); - dest[offset] = '.'; - memcpy(dest + offset + 1, digits + offset, ndigits - (unsigned)offset); - return ndigits + 1; - } - } - - /* write decimal w/ scientific notation */ - ndigits = minv(ndigits, (unsigned)(18 - neg)); - unsigned idx = 0; - dest[idx++] = digits[0]; - if(ndigits > 1) { - dest[idx++] = '.'; - memcpy(dest + idx, digits + 1, ndigits - 1); - idx += ndigits - 1; - } - - dest[idx++] = 'e'; - - char sign = K + (int)ndigits - 1 < 0 ? '-' : '+'; - dest[idx++] = sign; - - int cent = 0; - if(exp > 99) { - cent = exp / 100; - dest[idx++] = (char)(cent + '0'); - exp -= cent * 100; - } - if(exp > 9) { - int dec = exp / 10; - dest[idx++] = (char)(dec + '0'); - exp -= dec * 10; - - } else if(cent) { - dest[idx++] = '0'; - } - dest[idx++] = (char)(exp % 10 + '0'); - return idx; -} - -unsigned dtoa(double d, char* buffer) { - uint64_t bits = 0; - memcpy(&bits, &d, sizeof(double)); - - uint64_t mantissa = bits & ((1ull << mantissa_bits) - 1); - uint32_t exponent = (uint32_t) - ((bits >> mantissa_bits) & ((1u << exponent_bits) - 1)); - - if(exponent == 0 && mantissa == 0) { - memcpy(buffer, "0.0", 3); - return 3; - } - - bool sign = ((bits >> (mantissa_bits + exponent_bits)) & 1) != 0; - unsigned pos = 0; - if(sign) { - buffer[0] = '-'; - pos++; - buffer++; - } - - if(exponent == ((1u << exponent_bits) - 1u)) { - if(mantissa != 0) { - memcpy(buffer, "nan", 3); - return 3; - } else { - memcpy(&buffer[pos], "inf", 3); - return pos + 3; - } - } - - int K = 0; - char digits[18]; - memset(digits, 0, 18); - unsigned ndigits = grisu2(bits, digits, &K); - return pos + emit_digits(digits, ndigits, buffer, K, sign); -} - -/**** amalgamated original file "/deps/mp_printf.c" ****/ - -/** - * @author (c) Julius Pfrommer - * 2023, Fraunhofer IOSB, Germany - * @author (c) Eyal Rozenberg - * 2021-2023, Haifa, Palestine/Israel - * @author (c) Marco Paland (info@paland.com) - * 2014-2019, PALANDesign Hannover, Germany - * - * @note Others have made smaller contributions to this file: see the - * contributors page at https://github.com/eyalroz/printf/graphs/contributors - * or ask one of the authors. The original code for exponential specifiers was - * contributed by Martijn Jasperse . - * - * @brief Small stand-alone implementation of the printf family of functions - * (`(v)printf`, `(v)s(n)printf` etc., geared towards use on embedded systems with - * limited resources. - * - * @note the implementations are thread-safe; re-entrant; use no functions from - * the standard library; and do not dynamically allocate any memory. - * - * @license The MIT License (MIT) - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - -#include -#include - -// 'ntoa' conversion buffer size, this must be big enough to hold one converted -// numeric number including padded zeros (dynamically created on stack) -#define PRINTF_INTEGER_BUFFER_SIZE 32 - -// size of the fixed (on-stack) buffer for printing individual decimal numbers. -// this must be big enough to hold one converted floating-point value including -// padded zeros. -#define PRINTF_DECIMAL_BUFFER_SIZE 32 - -// Default precision for the floating point conversion specifiers (the C -// standard sets this at 6) -#define PRINTF_DEFAULT_FLOAT_PRECISION 6 - -// internal flag definitions -#define FLAGS_ZEROPAD (1U << 0U) -#define FLAGS_LEFT (1U << 1U) -#define FLAGS_PLUS (1U << 2U) -#define FLAGS_SPACE (1U << 3U) -#define FLAGS_HASH (1U << 4U) -#define FLAGS_UPPERCASE (1U << 5U) -#define FLAGS_CHAR (1U << 6U) -#define FLAGS_SHORT (1U << 7U) - // Only used with PRINTF_SUPPORT_MSVC_STYLE_INTEGER_SPECIFIERS -#define FLAGS_LONG (1U << 9U) -#define FLAGS_LONG_LONG (1U << 10U) -#define FLAGS_PRECISION (1U << 11U) -#define FLAGS_ADAPT_EXP (1U << 12U) -#define FLAGS_POINTER (1U << 13U) - // Note: Similar, but not identical, effect as FLAGS_HASH -#define FLAGS_SIGNED (1U << 14U) - -#define BASE_BINARY 2 -#define BASE_OCTAL 8 -#define BASE_DECIMAL 10 -#define BASE_HEX 16 - -typedef unsigned int printf_flags_t; -typedef uint8_t numeric_base_t; -typedef unsigned long long printf_unsigned_value_t; -typedef long long printf_signed_value_t; - -// Note in particular the behavior here on LONG_MIN or LLONG_MIN; it is valid -// and well-defined, but if you're not careful you can easily trigger undefined -// behavior with -LONG_MIN or -LLONG_MIN -#define ABS_FOR_PRINTING(_x) \ - ((printf_unsigned_value_t)((_x) > 0 ? (_x) : -((printf_signed_value_t)_x))) - -// internal secure strlen @return The length of the string (excluding the -// terminating 0) limited by 'maxsize' @note strlen uses size_t, but wes only -// use this function with size_t variables - hence the signature. -static size_t -strnlen_s_(const char *str, size_t maxsize) { - for(size_t i = 0; i < maxsize; i++) { - if(!str[i]) - return i; - } - return maxsize; -} - -// internal test if char is a digit (0-9) -// @return true if char is a digit -static bool is_digit_(char ch) { return (ch >= '0') && (ch <= '9'); } - -// internal ASCII string to size_t conversion -static size_t -atou_(const char **str) { - size_t i = 0U; - while(is_digit_(**str)) { - i = i * 10U + (size_t)(*((*str)++) - '0'); - } - return i; -} - -// Output buffer -typedef struct { - char *buffer; - size_t pos; - size_t max_chars; -} output_t; - -static void -putchar_(output_t *out, char c) { - size_t write_pos = out->pos++; - // We're _always_ increasing pos, so as to count how may characters - // _would_ have been written if not for the max_chars limitation - if(write_pos >= out->max_chars) - return; - // it must be the case that out->buffer != NULL , due to the constraint - // on output_t ; and note we're relying on write_pos being non-negative. - out->buffer[write_pos] = c; -} - -static void -out_(output_t *out, const char *buf, size_t len) { - if(out->pos < out->max_chars) { - size_t write_len = len; - if(out->pos + len > out->max_chars) - write_len = out->max_chars - out->pos; - for(size_t i = 0; i < write_len; i++) - out->buffer[out->pos + i] = buf[i]; - } - out->pos += len; // Always increase pos by len -} - -// output the specified string in reverse, taking care of any zero-padding -static void -out_rev_(output_t *output, const char *buf, size_t len, size_t width, - printf_flags_t flags) { - const size_t start_pos = output->pos; - - // pad spaces up to given width - if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { - for(size_t i = len; i < width; i++) { - putchar_(output, ' '); - } - } - - // reverse string - while(len) { - putchar_(output, buf[--len]); - } - - // append pad spaces up to given width - if(flags & FLAGS_LEFT) { - while(output->pos - start_pos < width) { - putchar_(output, ' '); - } - } -} - -// Invoked by print_integer after the actual number has been printed, performing -// necessary work on the number's prefix (as the number is initially printed in -// reverse order) -static void -print_integer_finalization(output_t *output, char *buf, size_t len, bool negative, - numeric_base_t base, size_t precision, size_t width, - printf_flags_t flags) { - size_t unpadded_len = len; - - // pad with leading zeros - if(!(flags & FLAGS_LEFT)) { - if(width && (flags & FLAGS_ZEROPAD) && - (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) { - width--; - } - while((flags & FLAGS_ZEROPAD) && (len < width) && - (len < PRINTF_INTEGER_BUFFER_SIZE)) { - buf[len++] = '0'; - } - } - - while((len < precision) && (len < PRINTF_INTEGER_BUFFER_SIZE)) { - buf[len++] = '0'; - } - - if(base == BASE_OCTAL && (len > unpadded_len)) { - // Since we've written some zeros, we've satisfied the alternative format - // leading space requirement - flags &= ~FLAGS_HASH; - } - - // handle hash - if(flags & (FLAGS_HASH | FLAGS_POINTER)) { - if(!(flags & FLAGS_PRECISION) && len && ((len == precision) || (len == width))) { - // Let's take back some padding digits to fit in what will eventually be - // the format-specific prefix - if(unpadded_len < len) { - len--; // This should suffice for BASE_OCTAL - } - if(len && (base == BASE_HEX || base == BASE_BINARY) && (unpadded_len < len)) { - len--; // ... and an extra one for 0x or 0b - } - } - if((base == BASE_HEX) && !(flags & FLAGS_UPPERCASE) && - (len < PRINTF_INTEGER_BUFFER_SIZE)) { - buf[len++] = 'x'; - } else if((base == BASE_HEX) && (flags & FLAGS_UPPERCASE) && - (len < PRINTF_INTEGER_BUFFER_SIZE)) { - buf[len++] = 'X'; - } else if((base == BASE_BINARY) && (len < PRINTF_INTEGER_BUFFER_SIZE)) { - buf[len++] = 'b'; - } - if(len < PRINTF_INTEGER_BUFFER_SIZE) { - buf[len++] = '0'; - } - } - - if(len < PRINTF_INTEGER_BUFFER_SIZE) { - if(negative) { - buf[len++] = '-'; - } else if(flags & FLAGS_PLUS) { - buf[len++] = '+'; // ignore the space if the '+' exists - } else if(flags & FLAGS_SPACE) { - buf[len++] = ' '; - } - } - - out_rev_(output, buf, len, width, flags); -} - -// An internal itoa-like function -static void -print_integer(output_t *output, printf_unsigned_value_t value, bool negative, - numeric_base_t base, size_t precision, size_t width, printf_flags_t flags) { - char buf[PRINTF_INTEGER_BUFFER_SIZE]; - size_t len = 0U; - - if(!value) { - if(!(flags & FLAGS_PRECISION)) { - buf[len++] = '0'; - flags &= ~FLAGS_HASH; - // We drop this flag this since either the alternative and regular modes - // of the specifier don't differ on 0 values, or (in the case of octal) - // we've already provided the special handling for this mode. - } else if(base == BASE_HEX) { - flags &= ~FLAGS_HASH; - // We drop this flag this since either the alternative and regular modes - // of the specifier don't differ on 0 values - } - } else { - do { - const char digit = (char)(value % base); - buf[len++] = - (char)(digit < 10 ? '0' + digit - : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10); - value /= base; - } while(value && (len < PRINTF_INTEGER_BUFFER_SIZE)); - } - - print_integer_finalization(output, buf, len, negative, base, precision, width, flags); -} - -static void -print_floating_point(output_t *output, double value, size_t precision, - size_t width, printf_flags_t flags) { - if((flags & FLAGS_PLUS) && value > 0.0) - putchar_(output, '+'); - - // set default precision, if not set explicitly - //if(!(flags & FLAGS_PRECISION) || precision > PRINTF_DECIMAL_BUFFER_SIZE - 5) - // precision = PRINTF_DEFAULT_FLOAT_PRECISION; - - char buf[PRINTF_DECIMAL_BUFFER_SIZE]; - unsigned len = dtoa(value, buf); // Fill the buffer (TODO: Consider precision) - out_(output, buf, len); // Print the buffer -} - -// Advances the format pointer past the flags, and returns the parsed flags -// due to the characters passed -static printf_flags_t -parse_flags(const char **format) { - printf_flags_t flags = 0U; - do { - switch(**format) { - case '0': flags |= FLAGS_ZEROPAD; break; - case '-': flags |= FLAGS_LEFT; break; - case '+': flags |= FLAGS_PLUS; break; - case ' ': flags |= FLAGS_SPACE; break; - case '#': flags |= FLAGS_HASH; break; - default: return flags; - } - (*format)++; - } while(true); -} - -#define ADVANCE_IN_FORMAT_STRING(cptr_) \ - do { \ - (cptr_)++; \ - if(!*(cptr_)) \ - return; \ - } while(0) - -static void -format_string_loop(output_t *output, const char *format, va_list args) { - while(*format) { - if(*format != '%') { - // A regular content character - putchar_(output, *format); - format++; - continue; - } - // We're parsing a format specifier: %[flags][width][.precision][length] - ADVANCE_IN_FORMAT_STRING(format); - - printf_flags_t flags = parse_flags(&format); - - // evaluate width field - size_t width = 0U; - if(is_digit_(*format)) { - width = atou_(&format); - } else if(*format == '*') { - const int w = va_arg(args, int); - if(w < 0) { - flags |= FLAGS_LEFT; // reverse padding - width = (size_t)-w; - } else { - width = (size_t)w; - } - ADVANCE_IN_FORMAT_STRING(format); - } - - // evaluate precision field - size_t precision = 0U; - if(*format == '.') { - flags |= FLAGS_PRECISION; - ADVANCE_IN_FORMAT_STRING(format); - if(is_digit_(*format)) { - precision = atou_(&format); - } else if(*format == '*') { - const int precision_ = va_arg(args, int); - precision = precision_ > 0 ? (size_t)precision_ : 0U; - ADVANCE_IN_FORMAT_STRING(format); - } - } - - // evaluate length field - switch(*format) { - case 'l': - flags |= FLAGS_LONG; - ADVANCE_IN_FORMAT_STRING(format); - if(*format == 'l') { - flags |= FLAGS_LONG_LONG; - ADVANCE_IN_FORMAT_STRING(format); - } - break; - case 'h': - flags |= FLAGS_SHORT; - ADVANCE_IN_FORMAT_STRING(format); - if(*format == 'h') { - flags |= FLAGS_CHAR; - ADVANCE_IN_FORMAT_STRING(format); - } - break; - case 't': - flags |= - (sizeof(ptrdiff_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - ADVANCE_IN_FORMAT_STRING(format); - break; - case 'j': - flags |= - (sizeof(intmax_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - ADVANCE_IN_FORMAT_STRING(format); - break; - case 'z': - flags |= (sizeof(size_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - ADVANCE_IN_FORMAT_STRING(format); - break; - default: - break; - } - - // evaluate specifier - switch(*format) { - case 'd': - case 'i': - case 'u': - case 'x': - case 'X': - case 'o': - case 'b': { - if(*format == 'd' || *format == 'i') { - flags |= FLAGS_SIGNED; - } - - numeric_base_t base; - if(*format == 'x' || *format == 'X') { - base = BASE_HEX; - } else if(*format == 'o') { - base = BASE_OCTAL; - } else if(*format == 'b') { - base = BASE_BINARY; - } else { - base = BASE_DECIMAL; - flags &= - ~FLAGS_HASH; // decimal integers have no alternative presentation - } - - if(*format == 'X') { - flags |= FLAGS_UPPERCASE; - } - - format++; - // ignore '0' flag when precision is given - if(flags & FLAGS_PRECISION) { - flags &= ~FLAGS_ZEROPAD; - } - - if(flags & FLAGS_SIGNED) { - // A signed specifier: d, i or possibly I + bit size if enabled - if(flags & FLAGS_LONG_LONG) { - const long long value = va_arg(args, long long); - print_integer(output, ABS_FOR_PRINTING(value), value < 0, base, - precision, width, flags); - } else if(flags & FLAGS_LONG) { - const long value = va_arg(args, long); - print_integer(output, ABS_FOR_PRINTING(value), value < 0, base, - precision, width, flags); - } else { - // We never try to interpret the argument as something - // potentially-smaller than int, due to integer promotion rules: - // Even if the user passed a short int, short unsigned etc. - - // these will come in after promotion, as int's (or unsigned for - // the case of short unsigned when it has the same size as int) - const int value = - (flags & FLAGS_CHAR) ? (signed char)va_arg(args, int) - : (flags & FLAGS_SHORT) ? (short int)va_arg(args, int) - : va_arg(args, int); - print_integer(output, ABS_FOR_PRINTING(value), value < 0, base, - precision, width, flags); - } - } else { - // An unsigned specifier: u, x, X, o, b - flags &= ~(FLAGS_PLUS | FLAGS_SPACE); - - if(flags & FLAGS_LONG_LONG) { - print_integer(output, (printf_unsigned_value_t) - va_arg(args, unsigned long long), - false, base, precision, width, flags); - } else if(flags & FLAGS_LONG) { - print_integer(output, (printf_unsigned_value_t) - va_arg(args, unsigned long), - false, base, precision, width, flags); - } else { - const unsigned int value = (flags & FLAGS_CHAR) - ? (unsigned char)va_arg(args, unsigned int) - : (flags & FLAGS_SHORT) - ? (unsigned short int)va_arg(args, unsigned int) - : va_arg(args, unsigned int); - print_integer(output, (printf_unsigned_value_t)value, false, base, - precision, width, flags); - } - } - break; - } - - case 'f': - case 'F': - if(*format == 'F') - flags |= FLAGS_UPPERCASE; - print_floating_point(output, (double)va_arg(args, double), - precision, width, flags); - format++; - break; - - case 'c': { - size_t l = 1U; - // pre padding - if(!(flags & FLAGS_LEFT)) { - while(l++ < width) { - putchar_(output, ' '); - } - } - // char output - putchar_(output, (char)va_arg(args, int)); - // post padding - if(flags & FLAGS_LEFT) { - while(l++ < width) { - putchar_(output, ' '); - } - } - format++; - break; - } - - case 's': { - const char *p = va_arg(args, char *); - if(p == NULL) { - out_rev_(output, ")llun(", 6, width, flags); - } else { - // string length - size_t l = strnlen_s_(p, precision ? precision : INT32_MAX); - if(flags & FLAGS_PRECISION) { - l = (l < precision ? l : precision); - } - - // pre padding - if(!(flags & FLAGS_LEFT)) { - for(size_t i = 0; l + i < width; i++) { - putchar_(output, ' '); - } - } - - // string output - out_(output, p, l); - - // post padding - if(flags & FLAGS_LEFT) { - for(size_t i = 0; l + i < width; i++) { - putchar_(output, ' '); - } - } - } - format++; - break; - } - - case 'p': { - width = - sizeof(void *) * 2U + 2; // 2 hex chars per byte + the "0x" prefix - flags |= FLAGS_ZEROPAD | FLAGS_POINTER; - uintptr_t value = (uintptr_t)va_arg(args, void *); - (value == (uintptr_t)NULL) - ? out_rev_(output, ")lin(", 5, width, flags) - : print_integer(output, (printf_unsigned_value_t)value, false, - BASE_HEX, precision, width, flags); - format++; - break; - } - - case '%': - putchar_(output, '%'); - format++; - break; - - default: - putchar_(output, *format); - format++; - break; - } - } -} - -int -mp_vsnprintf(char *s, size_t n, const char *format, va_list arg) { - // Check that the inputs are sane - if(!s || n < 1) - return -1; - - // Format the string - output_t out = {s, 0, n}; - format_string_loop(&out, format, arg); - - // Write the string-terminating '\0' character - size_t null_char_pos = out.pos < out.max_chars ? out.pos : out.max_chars - 1; - out.buffer[null_char_pos] = '\0'; - - // Return written chars without terminating \0 - return (int)out.pos; -} - -int -mp_snprintf(char *s, size_t n, const char *format, ...) { - va_list args; - va_start(args, format); - const int ret = mp_vsnprintf(s, n, format, args); - va_end(args); - return ret; -} - -/**** amalgamated original file "/deps/itoa.c" ****/ - -/* - * Copyright 2017 Techie Delight - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* Originally released by techiedelight.com - * (http://www.techiedelight.com/implement-itoa-function-in-c/) under the - * MIT license. */ - - -static void swap(char *x, char *y) { - char t = *x; - *x = *y; - *y = t; -} - -/* function to reverse buffer */ -static char* reverse(char *buffer, UA_UInt16 i, UA_UInt16 j) { - while (i < j) - swap(&buffer[i++], &buffer[j--]); - - return buffer; -} - -/* adapted from http://www.techiedelight.com/implement-itoa-function-in-c/ to use UA_... types */ -UA_UInt16 itoaUnsigned(UA_UInt64 value, char* buffer, UA_Byte base) { - /* consider absolute value of number */ - UA_UInt64 n = value; - - UA_UInt16 i = 0; - while (n) { - UA_UInt64 r = n % base; - - if (r >= 10) - buffer[i++] = (char)(65 + (r - 10)); - else - buffer[i++] = (char)(48 + r); - - n = n / base; - } - /* if number is 0 */ - if (i == 0) - buffer[i++] = '0'; - - buffer[i] = '\0'; /* null terminate string */ - i--; - /* reverse the string */ - reverse(buffer, 0, i); - i++; - return i; -} - -/* adapted from http://www.techiedelight.com/implement-itoa-function-in-c/ */ -UA_UInt16 itoaSigned(UA_Int64 value, char* buffer) { - /* Special case for UA_INT64_MIN which can not simply be negated */ - /* it will cause a signed integer overflow */ - UA_UInt64 n; - if(value == UA_INT64_MIN) { - n = (UA_UInt64)UA_INT64_MAX + 1; - } else { - n = (UA_UInt64)value; - if(value < 0){ - n = (UA_UInt64)-value; - } - } - - UA_UInt16 i = 0; - while(n) { - UA_UInt64 r = n % 10; - buffer[i++] = (char)('0' + r); - n = n / 10; - } - - if(i == 0) - buffer[i++] = '0'; /* if number is 0 */ - if(value < 0) - buffer[i++] = '-'; - buffer[i] = '\0'; /* null terminate string */ - i--; - reverse(buffer, 0, i); /* reverse the string and return it */ - i++; - return i; -} - - -/**** amalgamated original file "/deps/ziptree.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021-2022 (c) Julius Pfrommer - */ - - -/* Dummy types */ -struct zip_elem; -typedef struct zip_elem zip_elem; -typedef ZIP_ENTRY(zip_elem) zip_entry; -typedef ZIP_HEAD(, zip_elem) zip_head; - -/* Access macros */ -#define ZIP_ENTRY_PTR(x) ((zip_entry*)((char*)x + fieldoffset)) -#define ZIP_KEY_PTR(x) (const void*)((const char*)x + keyoffset) - -/* Hash pointers to keep the tie-breeaking of equal keys (mostly) uncorrelated - * from the rank (pointer order). Hashing code taken from sdbm-hash - * (http://www.cse.yorku.ca/~oz/hash.html). */ -static unsigned int -__ZIP_PTR_HASH(const void *p) { - unsigned int h = 0; - const unsigned char *data = (const unsigned char*)&p; - for(size_t i = 0; i < (sizeof(void*) / sizeof(char)); i++) - h = data[i] + (h << 6) + (h << 16) - h; - return h; -} - -static ZIP_INLINE enum ZIP_CMP -__ZIP_RANK_CMP(const void *p1, const void *p2) { - /* assert(p1 != p2); */ - unsigned int h1 = __ZIP_PTR_HASH(p1); - unsigned int h2 = __ZIP_PTR_HASH(p2); - if(h1 == h2) - return (p1 < p2) ? ZIP_CMP_LESS : ZIP_CMP_MORE; - return (h1 < h2) ? ZIP_CMP_LESS : ZIP_CMP_MORE; -} - -static ZIP_INLINE enum ZIP_CMP -__ZIP_UNIQUE_CMP(zip_cmp_cb cmp, const void *p1, const void *p2) { - if(p1 == p2) - return ZIP_CMP_EQ; - enum ZIP_CMP order = cmp(p1, p2); - if(order == ZIP_CMP_EQ) - return (p1 < p2) ? ZIP_CMP_LESS : ZIP_CMP_MORE; - return order; -} - -#if 0 -#include -ZIP_UNUSED static ZIP_INLINE void -__ZIP_VALIDATE(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, void *elm, - void *min_elm, void *max_elm) { - if(!elm) - return; - enum ZIP_CMP c1 = __ZIP_UNIQUE_CMP(cmp, ZIP_KEY_PTR(min_elm), ZIP_KEY_PTR(elm)); - assert((elm == min_elm && c1 == ZIP_CMP_EQ) || c1 == ZIP_CMP_LESS); - - enum ZIP_CMP c2 = __ZIP_UNIQUE_CMP(cmp, ZIP_KEY_PTR(max_elm), ZIP_KEY_PTR(elm)); - assert((elm == max_elm && c2 == ZIP_CMP_EQ) || c2 == ZIP_CMP_MORE); - - assert(!ZIP_ENTRY_PTR(elm)->right || - __ZIP_RANK_CMP(elm, ZIP_ENTRY_PTR(elm)->right) == ZIP_CMP_MORE); - assert(!ZIP_ENTRY_PTR(elm)->left || - __ZIP_RANK_CMP(elm, ZIP_ENTRY_PTR(elm)->left) == ZIP_CMP_MORE); - - __ZIP_VALIDATE(cmp, fieldoffset, keyoffset, ZIP_ENTRY_PTR(elm)->right, elm, max_elm); - __ZIP_VALIDATE(cmp, fieldoffset, keyoffset, ZIP_ENTRY_PTR(elm)->left, min_elm, elm); -} -#endif - -/* Walk down the right-side spine of cur. Elements that are larger than x_key - * are moved under x->right. */ -static void -__ZIP_INSERT_MOVE_RIGHT(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *x_key, - zip_elem **fix_edge, zip_elem *cur) { - while(ZIP_ENTRY_PTR(cur)->right) { - zip_elem *move_candidate = ZIP_ENTRY_PTR(cur)->right; - if(__ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(move_candidate)) == ZIP_CMP_MORE) { - cur = ZIP_ENTRY_PTR(cur)->right; - continue; - } - ZIP_ENTRY_PTR(cur)->right = ZIP_ENTRY_PTR(move_candidate)->left; - ZIP_ENTRY_PTR(move_candidate)->left = NULL; - *fix_edge = move_candidate; - fix_edge = &ZIP_ENTRY_PTR(move_candidate)->left; - } -} - -static void -__ZIP_INSERT_MOVE_LEFT(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *x_key, - zip_elem **fix_edge, zip_elem *cur) { - while(ZIP_ENTRY_PTR(cur)->left) { - zip_elem *move_candidate = ZIP_ENTRY_PTR(cur)->left; - if(__ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(move_candidate)) == ZIP_CMP_LESS) { - cur = ZIP_ENTRY_PTR(cur)->left; - continue; - } - ZIP_ENTRY_PTR(cur)->left = ZIP_ENTRY_PTR(move_candidate)->right; - ZIP_ENTRY_PTR(move_candidate)->right = NULL; - *fix_edge = move_candidate; - fix_edge = &ZIP_ENTRY_PTR(move_candidate)->right; - } -} - -void -__ZIP_INSERT(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, void *elm) { - zip_elem *x = (zip_elem*)elm; - ZIP_ENTRY_PTR(x)->left = NULL; - ZIP_ENTRY_PTR(x)->right = NULL; - - const void *x_key = ZIP_KEY_PTR(x); - zip_head *head = (zip_head*)h; - if(!head->root) { - head->root = x; - return; - } - - /* Go down the tree to find the top element "cur" that has a rank smaller - * than "x" */ - zip_elem *prev = NULL; - zip_elem *cur = head->root; - enum ZIP_CMP cur_order, prev_order; - do { - cur_order = __ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(cur)); - if(cur_order == ZIP_CMP_EQ) - return; /* x is already inserted */ - if(__ZIP_RANK_CMP(cur, x) == ZIP_CMP_LESS) - break; - prev = cur; - prev_order = cur_order; - cur = (cur_order == ZIP_CMP_MORE) ? - ZIP_ENTRY_PTR(cur)->right : ZIP_ENTRY_PTR(cur)->left; - } while(cur); - - /* Insert "x" instead of "cur" under its parent "prev" */ - if(cur == head->root) { - head->root = x; - } else { - if(prev_order == ZIP_CMP_MORE) - ZIP_ENTRY_PTR(prev)->right = x; - else - ZIP_ENTRY_PTR(prev)->left = x; - } - - if(!cur) - return; - - /* Re-insert "cur" under "x". Repair by moving elements that ended up on the - * wrong side of "x". */ - if(cur_order == ZIP_CMP_MORE) { - ZIP_ENTRY_PTR(x)->left = cur; - __ZIP_INSERT_MOVE_RIGHT(cmp, fieldoffset, keyoffset, - x_key, &ZIP_ENTRY_PTR(x)->right, cur); - } else { - ZIP_ENTRY_PTR(x)->right = cur; - __ZIP_INSERT_MOVE_LEFT(cmp, fieldoffset, keyoffset, - x_key, &ZIP_ENTRY_PTR(x)->left, cur); - } -} - -void * -__ZIP_REMOVE(void *h, zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, void *elm) { - zip_head *head = (zip_head*)h; - zip_elem *x = (zip_elem*)elm; - zip_elem *cur = head->root; - if(!cur) - return NULL; - - const void *x_key = ZIP_KEY_PTR(x); - zip_elem **prev_edge = &head->root; - enum ZIP_CMP cur_order = __ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(cur)); - while(cur_order != ZIP_CMP_EQ) { - prev_edge = (cur_order == ZIP_CMP_LESS) ? - &ZIP_ENTRY_PTR(cur)->left : &ZIP_ENTRY_PTR(cur)->right; - cur = *prev_edge; - if(!cur) - return NULL; - cur_order = __ZIP_UNIQUE_CMP(cmp, x_key, ZIP_KEY_PTR(cur)); - } - *prev_edge = (zip_elem*)__ZIP_ZIP(fieldoffset, - ZIP_ENTRY_PTR(cur)->left, - ZIP_ENTRY_PTR(cur)->right); - return cur; -} - -void * -__ZIP_ITER(unsigned short fieldoffset, zip_iter_cb cb, - void *context, void *elm) { - if(!elm) - return NULL; - zip_elem *left = ZIP_ENTRY_PTR(elm)->left; - zip_elem *right = ZIP_ENTRY_PTR(elm)->right; - void *res = __ZIP_ITER(fieldoffset, cb, context, left); - if(res) - return res; - res = cb(context, elm); - if(res) - return res; - return __ZIP_ITER(fieldoffset, cb, context, right); -} - -void * -__ZIP_ITER_KEY(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *key, - zip_iter_cb cb, void *context, void *elm) { - if(!elm) - return NULL; - - void *res; - enum ZIP_CMP eq = cmp(key, ZIP_KEY_PTR(elm)); - if(eq != ZIP_CMP_MORE) { - res = __ZIP_ITER_KEY(cmp, fieldoffset, keyoffset, key, - cb, context, ZIP_ENTRY_PTR(elm)->left); - if(res) - return res; - } - - if(eq == ZIP_CMP_EQ) { - res = cb(context, elm); - if(res) - return res; - } - - if(eq != ZIP_CMP_LESS) { - res = __ZIP_ITER_KEY(cmp, fieldoffset, keyoffset, key, - cb, context, ZIP_ENTRY_PTR(elm)->right); - if(res) - return res; - } - - return NULL; -} - -void * -__ZIP_ZIP(unsigned short fieldoffset, void *left, void *right) { - if(!left) - return right; - if(!right) - return left; - zip_elem *l = (zip_elem*)left; - zip_elem *r = (zip_elem*)right; - zip_elem *root = NULL; - zip_elem **prev_edge = &root; - while(l && r) { - if(__ZIP_RANK_CMP(l, r) == ZIP_CMP_LESS) { - *prev_edge = r; - prev_edge = &ZIP_ENTRY_PTR(r)->left; - r = ZIP_ENTRY_PTR(r)->left; - } else { - *prev_edge = l; - prev_edge = &ZIP_ENTRY_PTR(l)->right; - l = ZIP_ENTRY_PTR(l)->right; - } - } - *prev_edge = (l) ? l : r; - return root; -} - -/* Walk down from cur and move all elements <= split-key to the left side. All - * elements that are moved over have to be below left_rightmost. Returns the - * hierarchy of elements that remain on the right side. */ -static void -__ZIP_UNZIP_MOVE_LEFT(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *key, - zip_elem **fix_edge, zip_elem *cur) { - while(ZIP_ENTRY_PTR(cur)->left) { - zip_elem *next = ZIP_ENTRY_PTR(cur)->left; - if(cmp(key, ZIP_KEY_PTR(next)) == ZIP_CMP_LESS) { - cur = next; - continue; - } - *fix_edge = next; - ZIP_ENTRY_PTR(cur)->left = ZIP_ENTRY_PTR(next)->right; - ZIP_ENTRY_PTR(next)->right = NULL; - fix_edge = &ZIP_ENTRY_PTR(next)->right; - } -} - -static void -__ZIP_UNZIP_MOVE_RIGHT(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *key, - zip_elem **fix_edge, zip_elem *cur) { - while(ZIP_ENTRY_PTR(cur)->right) { - zip_elem *next = ZIP_ENTRY_PTR(cur)->right; - if(cmp(key, ZIP_KEY_PTR(next)) != ZIP_CMP_LESS) { - cur = next; - continue; - } - *fix_edge = next; - ZIP_ENTRY_PTR(cur)->right = ZIP_ENTRY_PTR(next)->left; - ZIP_ENTRY_PTR(next)->left = NULL; - fix_edge = &ZIP_ENTRY_PTR(next)->left; - } -} - -/* Split the tree into a left side with keys <= split-key and a right side with - * key > split-key. */ -void -__ZIP_UNZIP(zip_cmp_cb cmp, unsigned short fieldoffset, - unsigned short keyoffset, const void *key, - void *h, void *l, void *r) { - zip_elem *prev; - zip_head *head = (zip_head*)h; - zip_head *left = (zip_head*)l; - zip_head *right = (zip_head*)r; - if(!head->root) { - left->root = NULL; - right->root = NULL; - return; - } - zip_elem *cur = head->root; - if(cmp(key, ZIP_KEY_PTR(cur)) != ZIP_CMP_LESS) { - left->root = cur; - do { - prev = cur; - cur = ZIP_ENTRY_PTR(cur)->right; - if(!cur) { - right->root = NULL; - return; - } - } while(cmp(key, ZIP_KEY_PTR(cur)) != ZIP_CMP_LESS); - ZIP_ENTRY_PTR(prev)->right = NULL; - right->root = cur; - __ZIP_UNZIP_MOVE_LEFT(cmp, fieldoffset, keyoffset, key, - &ZIP_ENTRY_PTR(prev)->right, cur); - } else { - right->root = cur; - do { - prev = cur; - cur = ZIP_ENTRY_PTR(cur)->left; - if(!cur) { - left->root = NULL; - return; - } - } while(cmp(key, ZIP_KEY_PTR(cur)) == ZIP_CMP_LESS); - ZIP_ENTRY_PTR(prev)->left = NULL; - left->root = cur; - __ZIP_UNZIP_MOVE_RIGHT(cmp, fieldoffset, keyoffset, key, - &ZIP_ENTRY_PTR(prev)->left, cur); - } -} - -/**** amalgamated original file "/build/src_generated/open62541/namespace0_generated.c" ****/ - -/* WARNING: This is a generated file. - * Any manual changes will be overwritten. */ - - - -/* HasReferenceDescription - ns=0;i=32679 */ - -static UA_StatusCode function_namespace0_generated_0_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasReferenceDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 32679LU), -UA_NODEID_NUMERIC(ns[0], 34LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasReferenceDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_0_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32679LU) -); -} - -/* HasPhysicalComponent - ns=0;i=25262 */ - -static UA_StatusCode function_namespace0_generated_1_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "PhysicalComponentOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasPhysicalComponent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25262LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasPhysicalComponent"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25262LU) -); -} - -/* HasAttachedComponent - ns=0;i=25264 */ - -static UA_StatusCode function_namespace0_generated_2_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "AttachedComponentOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasAttachedComponent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25264LU), -UA_NODEID_NUMERIC(ns[0], 25262LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasAttachedComponent"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25264LU) -); -} - -/* HasContainedComponent - ns=0;i=25263 */ - -static UA_StatusCode function_namespace0_generated_3_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "ContainedComponentOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasContainedComponent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25263LU), -UA_NODEID_NUMERIC(ns[0], 25262LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasContainedComponent"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25263LU) -); -} - -/* RepresentsSameEntityAs - ns=0;i=25258 */ - -static UA_StatusCode function_namespace0_generated_4_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.symmetric = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RepresentsSameEntityAs"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25258LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RepresentsSameEntityAs"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25258LU) -); -} - -/* RepresentsSameFunctionalityAs - ns=0;i=25260 */ - -static UA_StatusCode function_namespace0_generated_5_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.symmetric = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RepresentsSameFunctionalityAs"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25260LU), -UA_NODEID_NUMERIC(ns[0], 25258LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RepresentsSameFunctionalityAs"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_5_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25260LU) -); -} - -/* RepresentsSameHardwareAs - ns=0;i=25259 */ - -static UA_StatusCode function_namespace0_generated_6_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.symmetric = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RepresentsSameHardwareAs"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25259LU), -UA_NODEID_NUMERIC(ns[0], 25258LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RepresentsSameHardwareAs"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_6_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25259LU) -); -} - -/* IsPhysicallyConnectedTo - ns=0;i=25257 */ - -static UA_StatusCode function_namespace0_generated_7_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.symmetric = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IsPhysicallyConnectedTo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25257LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IsPhysicallyConnectedTo"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_7_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25257LU) -); -} - -/* Requires - ns=0;i=25256 */ - -static UA_StatusCode function_namespace0_generated_8_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsRequiredBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "Requires"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25256LU), -UA_NODEID_NUMERIC(ns[0], 33LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Requires"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_8_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25256LU) -); -} - -/* Utilizes - ns=0;i=25255 */ - -static UA_StatusCode function_namespace0_generated_9_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsUtilizedBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "Utilizes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25255LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Utilizes"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_9_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25255LU) -); -} - -/* IsExecutingOn - ns=0;i=25265 */ - -static UA_StatusCode function_namespace0_generated_10_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "Executes"); -attr.displayName = UA_LOCALIZEDTEXT("", "IsExecutingOn"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25265LU), -UA_NODEID_NUMERIC(ns[0], 25255LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IsExecutingOn"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_10_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25265LU) -); -} - -/* IsHostedBy - ns=0;i=25261 */ - -static UA_StatusCode function_namespace0_generated_11_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "Hosts"); -attr.displayName = UA_LOCALIZEDTEXT("", "IsHostedBy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25261LU), -UA_NODEID_NUMERIC(ns[0], 25255LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IsHostedBy"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_11_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25261LU) -); -} - -/* Controls - ns=0;i=25254 */ - -static UA_StatusCode function_namespace0_generated_12_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsControlledBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "Controls"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25254LU), -UA_NODEID_NUMERIC(ns[0], 33LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Controls"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_12_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25254LU) -); -} - -/* IsExecutableOn - ns=0;i=25253 */ - -static UA_StatusCode function_namespace0_generated_13_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "CanExecute"); -attr.displayName = UA_LOCALIZEDTEXT("", "IsExecutableOn"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25253LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IsExecutableOn"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_13_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25253LU) -); -} - -/* HasLowerLayerInterface - ns=0;i=25238 */ - -static UA_StatusCode function_namespace0_generated_14_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "HasHigherLayerInterface"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasLowerLayerInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25238LU), -UA_NODEID_NUMERIC(ns[0], 33LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasLowerLayerInterface"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_14_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25238LU) -); -} - -/* UsesPriorityMappingTable - ns=0;i=25237 */ - -static UA_StatusCode function_namespace0_generated_15_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "UsedByNetworkInterface"); -attr.displayName = UA_LOCALIZEDTEXT("", "UsesPriorityMappingTable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25237LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UsesPriorityMappingTable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_15_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25237LU) -); -} - -/* AliasFor - ns=0;i=23469 */ - -static UA_StatusCode function_namespace0_generated_16_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "HasAlias"); -attr.displayName = UA_LOCALIZEDTEXT("", "AliasFor"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 23469LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AliasFor"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_16_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23469LU) -); -} - -/* HasReaderGroup - ns=0;i=18805 */ - -static UA_StatusCode function_namespace0_generated_17_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsReaderGroupOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasReaderGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 18805LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasReaderGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_17_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18805LU) -); -} - -/* HasDataSetReader - ns=0;i=15297 */ - -static UA_StatusCode function_namespace0_generated_18_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsReaderInGroup"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasDataSetReader"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 15297LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasDataSetReader"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_18_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15297LU) -); -} - -/* HasWriterGroup - ns=0;i=18804 */ - -static UA_StatusCode function_namespace0_generated_19_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsWriterGroupOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasWriterGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 18804LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasWriterGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_19_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18804LU) -); -} - -/* HasDataSetWriter - ns=0;i=15296 */ - -static UA_StatusCode function_namespace0_generated_20_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsWriterInGroup"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasDataSetWriter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 15296LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasDataSetWriter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_20_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15296LU) -); -} - -/* DataSetToWriter - ns=0;i=14936 */ - -static UA_StatusCode function_namespace0_generated_21_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "WriterToDataSet"); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetToWriter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 14936LU), -UA_NODEID_NUMERIC(ns[0], 33LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetToWriter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_21_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14936LU) -); -} - -/* HasPubSubConnection - ns=0;i=14476 */ - -static UA_StatusCode function_namespace0_generated_22_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "PubSubConnectionOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasPubSubConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 14476LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasPubSubConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_22_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14476LU) -); -} - -/* HasPushedSecurityGroup - ns=0;i=25345 */ - -static UA_StatusCode function_namespace0_generated_23_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "HasPushTarget"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasPushedSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 25345LU), -UA_NODEID_NUMERIC(ns[0], 33LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasPushedSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_23_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25345LU) -); -} - -/* HasCondition - ns=0;i=9006 */ - -static UA_StatusCode function_namespace0_generated_24_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsConditionOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasCondition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 9006LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasCondition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_24_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9006LU) -); -} - -/* AlarmGroupMember - ns=0;i=16362 */ - -static UA_StatusCode function_namespace0_generated_25_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MemberOfAlarmGroup"); -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmGroupMember"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 16362LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmGroupMember"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_25_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16362LU) -); -} - -/* AlarmSuppressionGroupMember - ns=0;i=32059 */ - -static UA_StatusCode function_namespace0_generated_26_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MemberOfAlarmSuppressionGroup"); -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmSuppressionGroupMember"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 32059LU), -UA_NODEID_NUMERIC(ns[0], 16362LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmSuppressionGroupMember"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_26_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32059LU) -); -} - -/* HasAlarmSuppressionGroup - ns=0;i=16361 */ - -static UA_StatusCode function_namespace0_generated_27_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsAlarmSuppressionGroupOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasAlarmSuppressionGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 16361LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasAlarmSuppressionGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_27_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16361LU) -); -} - -/* HasFalseSubState - ns=0;i=9005 */ - -static UA_StatusCode function_namespace0_generated_28_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsFalseSubStateOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasFalseSubState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 9005LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasFalseSubState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_28_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9005LU) -); -} - -/* HasTrueSubState - ns=0;i=9004 */ - -static UA_StatusCode function_namespace0_generated_29_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsTrueSubStateOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasTrueSubState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 9004LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasTrueSubState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_29_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9004LU) -); -} - -/* HasAddIn - ns=0;i=17604 */ - -static UA_StatusCode function_namespace0_generated_30_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "AddInOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasAddIn"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 17604LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasAddIn"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_30_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17604LU) -); -} - -/* HasDictionaryEntry - ns=0;i=17597 */ - -static UA_StatusCode function_namespace0_generated_31_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "DictionaryEntryOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasDictionaryEntry"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 17597LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasDictionaryEntry"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_31_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17597LU) -); -} - -/* HasGuard - ns=0;i=15112 */ - -static UA_StatusCode function_namespace0_generated_32_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "GuardOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasGuard"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 15112LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasGuard"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_32_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15112LU) -); -} - -/* IsDeprecated - ns=0;i=23562 */ - -static UA_StatusCode function_namespace0_generated_33_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "Deprecates"); -attr.displayName = UA_LOCALIZEDTEXT("", "IsDeprecated"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 23562LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IsDeprecated"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_33_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23562LU) -); -} - -/* HasArgumentDescription - ns=0;i=129 */ - -static UA_StatusCode function_namespace0_generated_34_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "ArgumentDescriptionOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasArgumentDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 129LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasArgumentDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_34_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 129LU) -); -} - -/* HasOptionalInputArgumentDescription - ns=0;i=131 */ - -static UA_StatusCode function_namespace0_generated_35_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "OptionalInputArgumentDescriptionOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasOptionalInputArgumentDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 131LU), -UA_NODEID_NUMERIC(ns[0], 129LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasOptionalInputArgumentDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_35_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 131LU) -); -} - -/* AssociatedWith - ns=0;i=24137 */ - -static UA_StatusCode function_namespace0_generated_36_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.symmetric = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AssociatedWith"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 24137LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AssociatedWith"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_36_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24137LU) -); -} - -/* HasStructuredComponent - ns=0;i=24136 */ - -static UA_StatusCode function_namespace0_generated_37_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "IsStructuredComponentOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasStructuredComponent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 24136LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasStructuredComponent"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_37_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24136LU) -); -} - -/* HasHistoricalConfiguration - ns=0;i=56 */ - -static UA_StatusCode function_namespace0_generated_38_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "HistoricalConfigurationOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasHistoricalConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 56LU), -UA_NODEID_NUMERIC(ns[0], 44LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasHistoricalConfiguration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_38_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 56LU) -); -} - -/* HasSubStateMachine - ns=0;i=117 */ - -static UA_StatusCode function_namespace0_generated_39_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "SubStateMachineOf"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasSubStateMachine"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 117LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasSubStateMachine"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_39_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 117LU) -); -} - -/* HasEffect - ns=0;i=54 */ - -static UA_StatusCode function_namespace0_generated_40_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeEffectedBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasEffect"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 54LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasEffect"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_40_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 54LU) -); -} - -/* HasEffectUnsuppressed - ns=0;i=17985 */ - -static UA_StatusCode function_namespace0_generated_41_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeUnsuppressedBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectUnsuppressed"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 17985LU), -UA_NODEID_NUMERIC(ns[0], 54LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasEffectUnsuppressed"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_41_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17985LU) -); -} - -/* HasEffectSuppressed - ns=0;i=17984 */ - -static UA_StatusCode function_namespace0_generated_42_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeSuppressedBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectSuppressed"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 17984LU), -UA_NODEID_NUMERIC(ns[0], 54LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasEffectSuppressed"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_42_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17984LU) -); -} - -/* HasEffectEnable - ns=0;i=17983 */ - -static UA_StatusCode function_namespace0_generated_43_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeEnabledBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectEnable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 17983LU), -UA_NODEID_NUMERIC(ns[0], 54LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasEffectEnable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_43_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17983LU) -); -} - -/* HasEffectDisable - ns=0;i=17276 */ - -static UA_StatusCode function_namespace0_generated_44_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeDisabledBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasEffectDisable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 17276LU), -UA_NODEID_NUMERIC(ns[0], 54LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasEffectDisable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_44_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17276LU) -); -} - -/* HasCause - ns=0;i=53 */ - -static UA_StatusCode function_namespace0_generated_45_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "MayBeCausedBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "HasCause"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 53LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HasCause"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_45_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 53LU) -); -} - -/* ToState - ns=0;i=52 */ - -static UA_StatusCode function_namespace0_generated_46_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "FromTransition"); -attr.displayName = UA_LOCALIZEDTEXT("", "ToState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 52LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ToState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_46_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 52LU) -); -} - -/* FromState - ns=0;i=51 */ - -static UA_StatusCode function_namespace0_generated_47_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "ToTransition"); -attr.displayName = UA_LOCALIZEDTEXT("", "FromState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 51LU), -UA_NODEID_NUMERIC(ns[0], 32LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FromState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_47_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 51LU) -); -} - -/* AlwaysGeneratesEvent - ns=0;i=3065 */ - -static UA_StatusCode function_namespace0_generated_48_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ReferenceTypeAttributes attr = UA_ReferenceTypeAttributes_default; -attr.inverseName = UA_LOCALIZEDTEXT("", "AlwaysGeneratedBy"); -attr.displayName = UA_LOCALIZEDTEXT("", "AlwaysGeneratesEvent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_REFERENCETYPE, -UA_NODEID_NUMERIC(ns[0], 3065LU), -UA_NODEID_NUMERIC(ns[0], 41LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlwaysGeneratesEvent"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_REFERENCETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_48_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3065LU) -); -} - -/* DiagnosticInfo - ns=0;i=25 */ - -static UA_StatusCode function_namespace0_generated_49_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticInfo"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_49_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25LU) -); -} - -/* DataValue - ns=0;i=23 */ - -static UA_StatusCode function_namespace0_generated_50_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataValue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataValue"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_50_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23LU) -); -} - -/* Structure - ns=0;i=22 */ - -static UA_StatusCode function_namespace0_generated_51_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Structure"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Structure"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_51_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 22LU) -); -} - -/* DataTypeDefinition - ns=0;i=97 */ - -static UA_StatusCode function_namespace0_generated_52_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 97LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDefinition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_52_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 97LU) -); -} - -/* StructureDefinition - ns=0;i=99 */ - -static UA_StatusCode function_namespace0_generated_53_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StructureDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 99LU), -UA_NODEID_NUMERIC(ns[0], 97LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StructureDefinition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_53_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 99LU) -); -} - -/* EnumDefinition - ns=0;i=100 */ - -static UA_StatusCode function_namespace0_generated_54_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 100LU), -UA_NODEID_NUMERIC(ns[0], 97LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EnumDefinition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_54_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 100LU) -); -} - -/* RolePermissionType - ns=0;i=96 */ - -static UA_StatusCode function_namespace0_generated_55_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RolePermissionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 96LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RolePermissionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_55_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 96LU) -); -} - -/* AggregateConfiguration - ns=0;i=948 */ - -static UA_StatusCode function_namespace0_generated_56_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 948LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_56_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 948LU) -); -} - -/* HistoryEventFieldList - ns=0;i=920 */ - -static UA_StatusCode function_namespace0_generated_57_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEventFieldList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 920LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HistoryEventFieldList"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_57_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 920LU) -); -} - -/* SemanticChangeStructureDataType - ns=0;i=897 */ - -static UA_StatusCode function_namespace0_generated_58_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeStructureDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 897LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SemanticChangeStructureDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_58_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 897LU) -); -} - -/* ProgramDiagnosticDataType - ns=0;i=894 */ - -static UA_StatusCode function_namespace0_generated_59_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 894LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_59_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 894LU) -); -} - -/* TimeZoneDataType - ns=0;i=8912 */ - -static UA_StatusCode function_namespace0_generated_60_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimeZoneDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 8912LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TimeZoneDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_60_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8912LU) -); -} - -/* Annotation - ns=0;i=891 */ - -static UA_StatusCode function_namespace0_generated_61_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Annotation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 891LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Annotation"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_61_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 891LU) -); -} - -/* EUInformation - ns=0;i=887 */ - -static UA_StatusCode function_namespace0_generated_62_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EUInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 887LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EUInformation"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_62_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 887LU) -); -} - -/* Range - ns=0;i=884 */ - -static UA_StatusCode function_namespace0_generated_63_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Range"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 884LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Range"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_63_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 884LU) -); -} - -/* ModelChangeStructureDataType - ns=0;i=877 */ - -static UA_StatusCode function_namespace0_generated_64_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ModelChangeStructureDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 877LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ModelChangeStructureDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_64_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 877LU) -); -} - -/* SubscriptionDiagnosticsDataType - ns=0;i=874 */ - -static UA_StatusCode function_namespace0_generated_65_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 874LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_65_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 874LU) -); -} - -/* ServiceCounterDataType - ns=0;i=871 */ - -static UA_StatusCode function_namespace0_generated_66_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCounterDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 871LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServiceCounterDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_66_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 871LU) -); -} - -/* SessionSecurityDiagnosticsDataType - ns=0;i=868 */ - -static UA_StatusCode function_namespace0_generated_67_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 868LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_67_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 868LU) -); -} - -/* SessionDiagnosticsDataType - ns=0;i=865 */ - -static UA_StatusCode function_namespace0_generated_68_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 865LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_68_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 865LU) -); -} - -/* ServerStatusDataType - ns=0;i=862 */ - -static UA_StatusCode function_namespace0_generated_69_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 862LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerStatusDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_69_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 862LU) -); -} - -/* ServerDiagnosticsSummaryDataType - ns=0;i=859 */ - -static UA_StatusCode function_namespace0_generated_70_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 859LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_70_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 859LU) -); -} - -/* SamplingIntervalDiagnosticsDataType - ns=0;i=856 */ - -static UA_StatusCode function_namespace0_generated_71_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 856LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_71_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 856LU) -); -} - -/* RedundantServerDataType - ns=0;i=853 */ - -static UA_StatusCode function_namespace0_generated_72_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 853LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RedundantServerDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_72_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 853LU) -); -} - -/* EnumValueType - ns=0;i=7594 */ - -static UA_StatusCode function_namespace0_generated_73_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValueType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 7594LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EnumValueType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_73_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7594LU) -); -} - -/* EnumField - ns=0;i=102 */ - -static UA_StatusCode function_namespace0_generated_74_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EnumField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 102LU), -UA_NODEID_NUMERIC(ns[0], 7594LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EnumField"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_74_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 102LU) -); -} - -/* MonitoringFilter - ns=0;i=719 */ - -static UA_StatusCode function_namespace0_generated_75_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 719LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MonitoringFilter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_75_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 719LU) -); -} - -/* EventFilter - ns=0;i=725 */ - -static UA_StatusCode function_namespace0_generated_76_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EventFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 725LU), -UA_NODEID_NUMERIC(ns[0], 719LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EventFilter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_76_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 725LU) -); -} - -/* HistoryEvent - ns=0;i=659 */ - -static UA_StatusCode function_namespace0_generated_77_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEvent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 659LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HistoryEvent"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_77_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 659LU) -); -} - -/* FilterOperand - ns=0;i=589 */ - -static UA_StatusCode function_namespace0_generated_78_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 589LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FilterOperand"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_78_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 589LU) -); -} - -/* SimpleAttributeOperand - ns=0;i=601 */ - -static UA_StatusCode function_namespace0_generated_79_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SimpleAttributeOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 601LU), -UA_NODEID_NUMERIC(ns[0], 589LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SimpleAttributeOperand"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_79_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 601LU) -); -} - -/* AttributeOperand - ns=0;i=598 */ - -static UA_StatusCode function_namespace0_generated_80_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AttributeOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 598LU), -UA_NODEID_NUMERIC(ns[0], 589LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AttributeOperand"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_80_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 598LU) -); -} - -/* LiteralOperand - ns=0;i=595 */ - -static UA_StatusCode function_namespace0_generated_81_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiteralOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 595LU), -UA_NODEID_NUMERIC(ns[0], 589LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "LiteralOperand"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_81_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 595LU) -); -} - -/* ElementOperand - ns=0;i=592 */ - -static UA_StatusCode function_namespace0_generated_82_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ElementOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 592LU), -UA_NODEID_NUMERIC(ns[0], 589LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ElementOperand"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_82_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 592LU) -); -} - -/* ContentFilter - ns=0;i=586 */ - -static UA_StatusCode function_namespace0_generated_83_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 586LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ContentFilter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_83_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 586LU) -); -} - -/* ContentFilterElement - ns=0;i=583 */ - -static UA_StatusCode function_namespace0_generated_84_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilterElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 583LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ContentFilterElement"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_84_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 583LU) -); -} - -/* RelativePath - ns=0;i=540 */ - -static UA_StatusCode function_namespace0_generated_85_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RelativePath"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 540LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RelativePath"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_85_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 540LU) -); -} - -/* RelativePathElement - ns=0;i=537 */ - -static UA_StatusCode function_namespace0_generated_86_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RelativePathElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 537LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RelativePathElement"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_86_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 537LU) -); -} - -/* RegisteredServer - ns=0;i=432 */ - -static UA_StatusCode function_namespace0_generated_87_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RegisteredServer"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 432LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RegisteredServer"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_87_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 432LU) -); -} - -/* DeleteReferencesItem - ns=0;i=385 */ - -static UA_StatusCode function_namespace0_generated_88_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 385LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesItem"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_88_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 385LU) -); -} - -/* DeleteNodesItem - ns=0;i=382 */ - -static UA_StatusCode function_namespace0_generated_89_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 382LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesItem"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_89_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 382LU) -); -} - -/* AddReferencesItem - ns=0;i=379 */ - -static UA_StatusCode function_namespace0_generated_90_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 379LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesItem"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_90_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 379LU) -); -} - -/* AddNodesItem - ns=0;i=376 */ - -static UA_StatusCode function_namespace0_generated_91_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 376LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesItem"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_91_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 376LU) -); -} - -/* SignedSoftwareCertificate - ns=0;i=344 */ - -static UA_StatusCode function_namespace0_generated_92_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SignedSoftwareCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 344LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SignedSoftwareCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_92_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 344LU) -); -} - -/* BuildInfo - ns=0;i=338 */ - -static UA_StatusCode function_namespace0_generated_93_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 338LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfo"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_93_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 338LU) -); -} - -/* EndpointConfiguration - ns=0;i=331 */ - -static UA_StatusCode function_namespace0_generated_94_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 331LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EndpointConfiguration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_94_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 331LU) -); -} - -/* ReferenceListEntryDataType - ns=0;i=32660 */ - -static UA_StatusCode function_namespace0_generated_95_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceListEntryDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 32660LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceListEntryDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_95_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32660LU) -); -} - -/* ReferenceDescriptionDataType - ns=0;i=32659 */ - -static UA_StatusCode function_namespace0_generated_96_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 32659LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_96_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32659LU) -); -} - -/* TransactionErrorType - ns=0;i=32285 */ - -static UA_StatusCode function_namespace0_generated_97_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransactionErrorType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 32285LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransactionErrorType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_97_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32285LU) -); -} - -/* UserIdentityToken - ns=0;i=316 */ - -static UA_StatusCode function_namespace0_generated_98_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 316LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_98_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 316LU) -); -} - -/* IssuedIdentityToken - ns=0;i=938 */ - -static UA_StatusCode function_namespace0_generated_99_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IssuedIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 938LU), -UA_NODEID_NUMERIC(ns[0], 316LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IssuedIdentityToken"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_99_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 938LU) -); -} - -/* X509IdentityToken - ns=0;i=325 */ - -static UA_StatusCode function_namespace0_generated_100_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "X509IdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 325LU), -UA_NODEID_NUMERIC(ns[0], 316LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "X509IdentityToken"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_100_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 325LU) -); -} - -/* UserNameIdentityToken - ns=0;i=322 */ - -static UA_StatusCode function_namespace0_generated_101_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserNameIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 322LU), -UA_NODEID_NUMERIC(ns[0], 316LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserNameIdentityToken"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_101_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 322LU) -); -} - -/* AnonymousIdentityToken - ns=0;i=319 */ - -static UA_StatusCode function_namespace0_generated_102_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AnonymousIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 319LU), -UA_NODEID_NUMERIC(ns[0], 316LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AnonymousIdentityToken"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_102_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 319LU) -); -} - -/* EndpointDescription - ns=0;i=312 */ - -static UA_StatusCode function_namespace0_generated_103_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 312LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EndpointDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_103_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 312LU) -); -} - -/* ApplicationDescription - ns=0;i=308 */ - -static UA_StatusCode function_namespace0_generated_104_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 308LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_104_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 308LU) -); -} - -/* UserTokenPolicy - ns=0;i=304 */ - -static UA_StatusCode function_namespace0_generated_105_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenPolicy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 304LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserTokenPolicy"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_105_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 304LU) -); -} - -/* StatusResult - ns=0;i=299 */ - -static UA_StatusCode function_namespace0_generated_106_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StatusResult"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 299LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StatusResult"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_106_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 299LU) -); -} - -/* Argument - ns=0;i=296 */ - -static UA_StatusCode function_namespace0_generated_107_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Argument"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 296LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Argument"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_107_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 296LU) -); -} - -/* PubSubConfigurationValueDataType - ns=0;i=25520 */ - -static UA_StatusCode function_namespace0_generated_108_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationValueDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25520LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationValueDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_108_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25520LU) -); -} - -/* PubSubConfigurationRefDataType - ns=0;i=25519 */ - -static UA_StatusCode function_namespace0_generated_109_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25519LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_109_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25519LU) -); -} - -/* PubSubKeyPushTargetDataType - ns=0;i=25270 */ - -static UA_StatusCode function_namespace0_generated_110_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25270LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_110_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25270LU) -); -} - -/* PriorityMappingEntryType - ns=0;i=25220 */ - -static UA_StatusCode function_namespace0_generated_111_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25220LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PriorityMappingEntryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_111_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25220LU) -); -} - -/* UserManagementDataType - ns=0;i=24281 */ - -static UA_StatusCode function_namespace0_generated_112_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24281LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserManagementDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_112_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24281LU) -); -} - -/* UnsignedRationalNumber - ns=0;i=24107 */ - -static UA_StatusCode function_namespace0_generated_113_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UnsignedRationalNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24107LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UnsignedRationalNumber"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_113_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24107LU) -); -} - -/* PortableNodeId - ns=0;i=24106 */ - -static UA_StatusCode function_namespace0_generated_114_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PortableNodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24106LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PortableNodeId"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_114_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24106LU) -); -} - -/* PortableQualifiedName - ns=0;i=24105 */ - -static UA_StatusCode function_namespace0_generated_115_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PortableQualifiedName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24105LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PortableQualifiedName"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_115_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24105LU) -); -} - -/* ProgramDiagnostic2DataType - ns=0;i=24033 */ - -static UA_StatusCode function_namespace0_generated_116_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24033LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2DataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_116_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24033LU) -); -} - -/* QosDataType - ns=0;i=23603 */ - -static UA_StatusCode function_namespace0_generated_117_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "QosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23603LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "QosDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_117_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23603LU) -); -} - -/* ReceiveQosDataType - ns=0;i=23608 */ - -static UA_StatusCode function_namespace0_generated_118_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23608LU), -UA_NODEID_NUMERIC(ns[0], 23603LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveQosDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_118_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23608LU) -); -} - -/* ReceiveQosPriorityDataType - ns=0;i=23609 */ - -static UA_StatusCode function_namespace0_generated_119_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosPriorityDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23609LU), -UA_NODEID_NUMERIC(ns[0], 23608LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveQosPriorityDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_119_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23609LU) -); -} - -/* TransmitQosDataType - ns=0;i=23604 */ - -static UA_StatusCode function_namespace0_generated_120_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23604LU), -UA_NODEID_NUMERIC(ns[0], 23603LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransmitQosDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_120_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23604LU) -); -} - -/* TransmitQosPriorityDataType - ns=0;i=23605 */ - -static UA_StatusCode function_namespace0_generated_121_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosPriorityDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23605LU), -UA_NODEID_NUMERIC(ns[0], 23604LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransmitQosPriorityDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_121_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23605LU) -); -} - -/* SecurityGroupDataType - ns=0;i=23601 */ - -static UA_StatusCode function_namespace0_generated_122_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23601LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_122_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23601LU) -); -} - -/* CurrencyUnitType - ns=0;i=23498 */ - -static UA_StatusCode function_namespace0_generated_123_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnitType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23498LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CurrencyUnitType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_123_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23498LU) -); -} - -/* AliasNameDataType - ns=0;i=23468 */ - -static UA_StatusCode function_namespace0_generated_124_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23468LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AliasNameDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_124_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23468LU) -); -} - -/* Frame - ns=0;i=18813 */ - -static UA_StatusCode function_namespace0_generated_125_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Frame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18813LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Frame"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_125_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18813LU) -); -} - -/* 3DFrame - ns=0;i=18814 */ - -static UA_StatusCode function_namespace0_generated_126_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "3DFrame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18814LU), -UA_NODEID_NUMERIC(ns[0], 18813LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DFrame"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_126_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18814LU) -); -} - -/* Orientation - ns=0;i=18811 */ - -static UA_StatusCode function_namespace0_generated_127_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18811LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Orientation"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_127_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18811LU) -); -} - -/* 3DOrientation - ns=0;i=18812 */ - -static UA_StatusCode function_namespace0_generated_128_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18812LU), -UA_NODEID_NUMERIC(ns[0], 18811LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DOrientation"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_128_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18812LU) -); -} - -/* CartesianCoordinates - ns=0;i=18809 */ - -static UA_StatusCode function_namespace0_generated_129_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18809LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_129_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18809LU) -); -} - -/* 3DCartesianCoordinates - ns=0;i=18810 */ - -static UA_StatusCode function_namespace0_generated_130_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18810LU), -UA_NODEID_NUMERIC(ns[0], 18809LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinates"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_130_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18810LU) -); -} - -/* Vector - ns=0;i=18807 */ - -static UA_StatusCode function_namespace0_generated_131_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Vector"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18807LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Vector"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_131_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18807LU) -); -} - -/* 3DVector - ns=0;i=18808 */ - -static UA_StatusCode function_namespace0_generated_132_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "3DVector"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18808LU), -UA_NODEID_NUMERIC(ns[0], 18807LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DVector"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_132_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18808LU) -); -} - -/* RationalNumber - ns=0;i=18806 */ - -static UA_StatusCode function_namespace0_generated_133_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18806LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RationalNumber"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_133_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18806LU) -); -} - -/* EphemeralKeyType - ns=0;i=17548 */ - -static UA_StatusCode function_namespace0_generated_134_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EphemeralKeyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 17548LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EphemeralKeyType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_134_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17548LU) -); -} - -/* AdditionalParametersType - ns=0;i=16313 */ - -static UA_StatusCode function_namespace0_generated_135_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AdditionalParametersType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 16313LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AdditionalParametersType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_135_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16313LU) -); -} - -/* IdentityMappingRuleType - ns=0;i=15634 */ - -static UA_StatusCode function_namespace0_generated_136_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IdentityMappingRuleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15634LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IdentityMappingRuleType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_136_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15634LU) -); -} - -/* SubscribedDataSetDataType - ns=0;i=15630 */ - -static UA_StatusCode function_namespace0_generated_137_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15630LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_137_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15630LU) -); -} - -/* StandaloneSubscribedDataSetDataType - ns=0;i=23600 */ - -static UA_StatusCode function_namespace0_generated_138_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23600LU), -UA_NODEID_NUMERIC(ns[0], 15630LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_138_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23600LU) -); -} - -/* StandaloneSubscribedDataSetRefDataType - ns=0;i=23599 */ - -static UA_StatusCode function_namespace0_generated_139_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetRefDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23599LU), -UA_NODEID_NUMERIC(ns[0], 15630LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetRefDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_139_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23599LU) -); -} - -/* SubscribedDataSetMirrorDataType - ns=0;i=15635 */ - -static UA_StatusCode function_namespace0_generated_140_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15635LU), -UA_NODEID_NUMERIC(ns[0], 15630LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_140_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15635LU) -); -} - -/* TargetVariablesDataType - ns=0;i=15631 */ - -static UA_StatusCode function_namespace0_generated_141_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15631LU), -UA_NODEID_NUMERIC(ns[0], 15630LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TargetVariablesDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_141_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15631LU) -); -} - -/* DataSetReaderMessageDataType - ns=0;i=15629 */ - -static UA_StatusCode function_namespace0_generated_142_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15629LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_142_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15629LU) -); -} - -/* JsonDataSetReaderMessageDataType - ns=0;i=15665 */ - -static UA_StatusCode function_namespace0_generated_143_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15665LU), -UA_NODEID_NUMERIC(ns[0], 15629LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_143_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15665LU) -); -} - -/* UadpDataSetReaderMessageDataType - ns=0;i=15653 */ - -static UA_StatusCode function_namespace0_generated_144_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15653LU), -UA_NODEID_NUMERIC(ns[0], 15629LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_144_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15653LU) -); -} - -/* DataSetReaderTransportDataType - ns=0;i=15628 */ - -static UA_StatusCode function_namespace0_generated_145_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15628LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_145_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15628LU) -); -} - -/* DatagramDataSetReaderTransportDataType - ns=0;i=23614 */ - -static UA_StatusCode function_namespace0_generated_146_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23614LU), -UA_NODEID_NUMERIC(ns[0], 15628LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_146_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23614LU) -); -} - -/* BrokerDataSetReaderTransportDataType - ns=0;i=15670 */ - -static UA_StatusCode function_namespace0_generated_147_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15670LU), -UA_NODEID_NUMERIC(ns[0], 15628LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_147_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15670LU) -); -} - -/* DataSetReaderDataType - ns=0;i=15623 */ - -static UA_StatusCode function_namespace0_generated_148_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15623LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_148_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15623LU) -); -} - -/* ReaderGroupMessageDataType - ns=0;i=15622 */ - -static UA_StatusCode function_namespace0_generated_149_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15622LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_149_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15622LU) -); -} - -/* ReaderGroupTransportDataType - ns=0;i=15621 */ - -static UA_StatusCode function_namespace0_generated_150_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15621LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_150_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15621LU) -); -} - -/* ConnectionTransportDataType - ns=0;i=15618 */ - -static UA_StatusCode function_namespace0_generated_151_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15618LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_151_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15618LU) -); -} - -/* DatagramConnectionTransportDataType - ns=0;i=17467 */ - -static UA_StatusCode function_namespace0_generated_152_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 17467LU), -UA_NODEID_NUMERIC(ns[0], 15618LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_152_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17467LU) -); -} - -/* DatagramConnectionTransport2DataType - ns=0;i=23612 */ - -static UA_StatusCode function_namespace0_generated_153_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransport2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23612LU), -UA_NODEID_NUMERIC(ns[0], 17467LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransport2DataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_153_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23612LU) -); -} - -/* BrokerConnectionTransportDataType - ns=0;i=15007 */ - -static UA_StatusCode function_namespace0_generated_154_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15007LU), -UA_NODEID_NUMERIC(ns[0], 15618LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_154_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15007LU) -); -} - -/* PubSubConnectionDataType - ns=0;i=15617 */ - -static UA_StatusCode function_namespace0_generated_155_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15617LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConnectionDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_155_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15617LU) -); -} - -/* WriterGroupMessageDataType - ns=0;i=15616 */ - -static UA_StatusCode function_namespace0_generated_156_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15616LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_156_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15616LU) -); -} - -/* JsonWriterGroupMessageDataType - ns=0;i=15657 */ - -static UA_StatusCode function_namespace0_generated_157_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15657LU), -UA_NODEID_NUMERIC(ns[0], 15616LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_157_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15657LU) -); -} - -/* UadpWriterGroupMessageDataType - ns=0;i=15645 */ - -static UA_StatusCode function_namespace0_generated_158_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15645LU), -UA_NODEID_NUMERIC(ns[0], 15616LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_158_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15645LU) -); -} - -/* WriterGroupTransportDataType - ns=0;i=15611 */ - -static UA_StatusCode function_namespace0_generated_159_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15611LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_159_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15611LU) -); -} - -/* BrokerWriterGroupTransportDataType - ns=0;i=15667 */ - -static UA_StatusCode function_namespace0_generated_160_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15667LU), -UA_NODEID_NUMERIC(ns[0], 15611LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_160_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15667LU) -); -} - -/* DatagramWriterGroupTransportDataType - ns=0;i=15532 */ - -static UA_StatusCode function_namespace0_generated_161_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15532LU), -UA_NODEID_NUMERIC(ns[0], 15611LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_161_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15532LU) -); -} - -/* DatagramWriterGroupTransport2DataType - ns=0;i=23613 */ - -static UA_StatusCode function_namespace0_generated_162_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransport2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23613LU), -UA_NODEID_NUMERIC(ns[0], 15532LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransport2DataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_162_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23613LU) -); -} - -/* PubSubGroupDataType - ns=0;i=15609 */ - -static UA_StatusCode function_namespace0_generated_163_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15609LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubGroupDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_163_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15609LU) -); -} - -/* ReaderGroupDataType - ns=0;i=15520 */ - -static UA_StatusCode function_namespace0_generated_164_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15520LU), -UA_NODEID_NUMERIC(ns[0], 15609LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_164_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15520LU) -); -} - -/* WriterGroupDataType - ns=0;i=15480 */ - -static UA_StatusCode function_namespace0_generated_165_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15480LU), -UA_NODEID_NUMERIC(ns[0], 15609LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_165_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15480LU) -); -} - -/* DataSetWriterMessageDataType - ns=0;i=15605 */ - -static UA_StatusCode function_namespace0_generated_166_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15605LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_166_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15605LU) -); -} - -/* JsonDataSetWriterMessageDataType - ns=0;i=15664 */ - -static UA_StatusCode function_namespace0_generated_167_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15664LU), -UA_NODEID_NUMERIC(ns[0], 15605LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_167_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15664LU) -); -} - -/* UadpDataSetWriterMessageDataType - ns=0;i=15652 */ - -static UA_StatusCode function_namespace0_generated_168_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15652LU), -UA_NODEID_NUMERIC(ns[0], 15605LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_168_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15652LU) -); -} - -/* DataSetWriterTransportDataType - ns=0;i=15598 */ - -static UA_StatusCode function_namespace0_generated_169_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15598LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_169_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15598LU) -); -} - -/* BrokerDataSetWriterTransportDataType - ns=0;i=15669 */ - -static UA_StatusCode function_namespace0_generated_170_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15669LU), -UA_NODEID_NUMERIC(ns[0], 15598LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_170_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15669LU) -); -} - -/* DataSetWriterDataType - ns=0;i=15597 */ - -static UA_StatusCode function_namespace0_generated_171_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15597LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_171_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15597LU) -); -} - -/* PublishedDataSetSourceDataType - ns=0;i=15580 */ - -static UA_StatusCode function_namespace0_generated_172_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetSourceDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15580LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetSourceDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_172_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15580LU) -); -} - -/* PublishedDataSetCustomSourceDataType - ns=0;i=25269 */ - -static UA_StatusCode function_namespace0_generated_173_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetCustomSourceDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25269LU), -UA_NODEID_NUMERIC(ns[0], 15580LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetCustomSourceDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_173_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25269LU) -); -} - -/* PublishedEventsDataType - ns=0;i=15582 */ - -static UA_StatusCode function_namespace0_generated_174_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15582LU), -UA_NODEID_NUMERIC(ns[0], 15580LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedEventsDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_174_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15582LU) -); -} - -/* PublishedDataItemsDataType - ns=0;i=15581 */ - -static UA_StatusCode function_namespace0_generated_175_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15581LU), -UA_NODEID_NUMERIC(ns[0], 15580LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_175_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15581LU) -); -} - -/* PublishedDataSetDataType - ns=0;i=15578 */ - -static UA_StatusCode function_namespace0_generated_176_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15578LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_176_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15578LU) -); -} - -/* DataTypeSchemaHeader - ns=0;i=15534 */ - -static UA_StatusCode function_namespace0_generated_177_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSchemaHeader"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15534LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeSchemaHeader"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_177_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15534LU) -); -} - -/* UABinaryFileDataType - ns=0;i=15006 */ - -static UA_StatusCode function_namespace0_generated_178_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UABinaryFileDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15006LU), -UA_NODEID_NUMERIC(ns[0], 15534LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UABinaryFileDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_178_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15006LU) -); -} - -/* DataSetMetaDataType - ns=0;i=14523 */ - -static UA_StatusCode function_namespace0_generated_179_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14523LU), -UA_NODEID_NUMERIC(ns[0], 15534LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_179_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14523LU) -); -} - -/* PubSubConfigurationDataType - ns=0;i=15530 */ - -static UA_StatusCode function_namespace0_generated_180_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15530LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_180_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15530LU) -); -} - -/* PubSubConfiguration2DataType - ns=0;i=23602 */ - -static UA_StatusCode function_namespace0_generated_181_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23602LU), -UA_NODEID_NUMERIC(ns[0], 15530LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration2DataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_181_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23602LU) -); -} - -/* EndpointType - ns=0;i=15528 */ - -static UA_StatusCode function_namespace0_generated_182_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15528LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EndpointType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_182_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15528LU) -); -} - -/* NetworkAddressDataType - ns=0;i=15502 */ - -static UA_StatusCode function_namespace0_generated_183_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15502LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_183_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15502LU) -); -} - -/* NetworkAddressUrlDataType - ns=0;i=15510 */ - -static UA_StatusCode function_namespace0_generated_184_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15510LU), -UA_NODEID_NUMERIC(ns[0], 15502LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_184_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15510LU) -); -} - -/* FieldTargetDataType - ns=0;i=14744 */ - -static UA_StatusCode function_namespace0_generated_185_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FieldTargetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14744LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FieldTargetDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_185_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14744LU) -); -} - -/* ConfigurationVersionDataType - ns=0;i=14593 */ - -static UA_StatusCode function_namespace0_generated_186_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14593LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersionDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_186_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14593LU) -); -} - -/* KeyValuePair - ns=0;i=14533 */ - -static UA_StatusCode function_namespace0_generated_187_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyValuePair"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14533LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "KeyValuePair"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_187_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14533LU) -); -} - -/* DataTypeDescription - ns=0;i=14525 */ - -static UA_StatusCode function_namespace0_generated_188_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14525LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_188_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14525LU) -); -} - -/* EnumDescription - ns=0;i=15488 */ - -static UA_StatusCode function_namespace0_generated_189_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15488LU), -UA_NODEID_NUMERIC(ns[0], 14525LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EnumDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_189_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15488LU) -); -} - -/* StructureDescription - ns=0;i=15487 */ - -static UA_StatusCode function_namespace0_generated_190_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StructureDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15487LU), -UA_NODEID_NUMERIC(ns[0], 14525LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StructureDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_190_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15487LU) -); -} - -/* SimpleTypeDescription - ns=0;i=15005 */ - -static UA_StatusCode function_namespace0_generated_191_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SimpleTypeDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15005LU), -UA_NODEID_NUMERIC(ns[0], 14525LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SimpleTypeDescription"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_191_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15005LU) -); -} - -/* FieldMetaData - ns=0;i=14524 */ - -static UA_StatusCode function_namespace0_generated_192_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FieldMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14524LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FieldMetaData"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_192_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14524LU) -); -} - -/* PublishedVariableDataType - ns=0;i=14273 */ - -static UA_StatusCode function_namespace0_generated_193_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedVariableDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14273LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedVariableDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_193_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14273LU) -); -} - -/* DiscoveryConfiguration - ns=0;i=12890 */ - -static UA_StatusCode function_namespace0_generated_194_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12890LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryConfiguration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_194_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12890LU) -); -} - -/* MdnsDiscoveryConfiguration - ns=0;i=12891 */ - -static UA_StatusCode function_namespace0_generated_195_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MdnsDiscoveryConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12891LU), -UA_NODEID_NUMERIC(ns[0], 12890LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MdnsDiscoveryConfiguration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_195_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12891LU) -); -} - -/* Union - ns=0;i=12756 */ - -static UA_StatusCode function_namespace0_generated_196_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Union"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12756LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Union"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_196_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12756LU) -); -} - -/* OptionSet - ns=0;i=12755 */ - -static UA_StatusCode function_namespace0_generated_197_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12755LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OptionSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_197_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12755LU) -); -} - -/* TrustListDataType - ns=0;i=12554 */ - -static UA_StatusCode function_namespace0_generated_198_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12554LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_198_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12554LU) -); -} - -/* ServerOnNetwork - ns=0;i=12189 */ - -static UA_StatusCode function_namespace0_generated_199_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerOnNetwork"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12189LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerOnNetwork"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_199_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12189LU) -); -} - -/* DoubleComplexNumberType - ns=0;i=12172 */ - -static UA_StatusCode function_namespace0_generated_200_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DoubleComplexNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12172LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DoubleComplexNumberType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_200_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12172LU) -); -} - -/* ComplexNumberType - ns=0;i=12171 */ - -static UA_StatusCode function_namespace0_generated_201_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ComplexNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12171LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ComplexNumberType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_201_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12171LU) -); -} - -/* XVType - ns=0;i=12080 */ - -static UA_StatusCode function_namespace0_generated_202_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "XVType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12080LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "XVType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_202_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12080LU) -); -} - -/* AxisInformation - ns=0;i=12079 */ - -static UA_StatusCode function_namespace0_generated_203_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AxisInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12079LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AxisInformation"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_203_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12079LU) -); -} - -/* NetworkGroupDataType - ns=0;i=11944 */ - -static UA_StatusCode function_namespace0_generated_204_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11944LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NetworkGroupDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_204_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11944LU) -); -} - -/* EndpointUrlListDataType - ns=0;i=11943 */ - -static UA_StatusCode function_namespace0_generated_205_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrlListDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11943LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrlListDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_205_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11943LU) -); -} - -/* StructureField - ns=0;i=101 */ - -static UA_StatusCode function_namespace0_generated_206_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StructureField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 101LU), -UA_NODEID_NUMERIC(ns[0], 22LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StructureField"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_206_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 101LU) -); -} - -/* LocalizedText - ns=0;i=21 */ - -static UA_StatusCode function_namespace0_generated_207_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LocalizedText"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 21LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "LocalizedText"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_207_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21LU) -); -} - -/* QualifiedName - ns=0;i=20 */ - -static UA_StatusCode function_namespace0_generated_208_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "QualifiedName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 20LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "QualifiedName"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_208_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20LU) -); -} - -/* StatusCode - ns=0;i=19 */ - -static UA_StatusCode function_namespace0_generated_209_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StatusCode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 19LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StatusCode"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_209_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19LU) -); -} - -/* ExpandedNodeId - ns=0;i=18 */ - -static UA_StatusCode function_namespace0_generated_210_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExpandedNodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 18LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExpandedNodeId"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_210_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18LU) -); -} - -/* NodeId - ns=0;i=17 */ - -static UA_StatusCode function_namespace0_generated_211_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 17LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NodeId"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_211_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17LU) -); -} - -/* SessionAuthenticationToken - ns=0;i=388 */ - -static UA_StatusCode function_namespace0_generated_212_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionAuthenticationToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 388LU), -UA_NODEID_NUMERIC(ns[0], 17LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionAuthenticationToken"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_212_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 388LU) -); -} - -/* XmlElement - ns=0;i=16 */ - -static UA_StatusCode function_namespace0_generated_213_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "XmlElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 16LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "XmlElement"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_213_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16LU) -); -} - -/* ByteString - ns=0;i=15 */ - -static UA_StatusCode function_namespace0_generated_214_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ByteString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ByteString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_214_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15LU) -); -} - -/* ContinuationPoint - ns=0;i=521 */ - -static UA_StatusCode function_namespace0_generated_215_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ContinuationPoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 521LU), -UA_NODEID_NUMERIC(ns[0], 15LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ContinuationPoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_215_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 521LU) -); -} - -/* ApplicationInstanceCertificate - ns=0;i=311 */ - -static UA_StatusCode function_namespace0_generated_216_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationInstanceCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 311LU), -UA_NODEID_NUMERIC(ns[0], 15LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationInstanceCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_216_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 311LU) -); -} - -/* Image - ns=0;i=30 */ - -static UA_StatusCode function_namespace0_generated_217_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Image"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 30LU), -UA_NODEID_NUMERIC(ns[0], 15LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Image"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_217_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 30LU) -); -} - -/* ImagePNG - ns=0;i=2003 */ - -static UA_StatusCode function_namespace0_generated_218_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ImagePNG"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 2003LU), -UA_NODEID_NUMERIC(ns[0], 30LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ImagePNG"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_218_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2003LU) -); -} - -/* ImageJPG - ns=0;i=2002 */ - -static UA_StatusCode function_namespace0_generated_219_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ImageJPG"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 2002LU), -UA_NODEID_NUMERIC(ns[0], 30LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ImageJPG"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_219_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2002LU) -); -} - -/* ImageGIF - ns=0;i=2001 */ - -static UA_StatusCode function_namespace0_generated_220_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ImageGIF"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 2001LU), -UA_NODEID_NUMERIC(ns[0], 30LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ImageGIF"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_220_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2001LU) -); -} - -/* ImageBMP - ns=0;i=2000 */ - -static UA_StatusCode function_namespace0_generated_221_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ImageBMP"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 2000LU), -UA_NODEID_NUMERIC(ns[0], 30LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ImageBMP"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_221_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2000LU) -); -} - -/* AudioDataType - ns=0;i=16307 */ - -static UA_StatusCode function_namespace0_generated_222_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AudioDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 16307LU), -UA_NODEID_NUMERIC(ns[0], 15LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AudioDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_222_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16307LU) -); -} - -/* Guid - ns=0;i=14 */ - -static UA_StatusCode function_namespace0_generated_223_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Guid"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Guid"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_223_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14LU) -); -} - -/* DateTime - ns=0;i=13 */ - -static UA_StatusCode function_namespace0_generated_224_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 13LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DateTime"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_224_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13LU) -); -} - -/* UtcTime - ns=0;i=294 */ - -static UA_StatusCode function_namespace0_generated_225_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UtcTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 294LU), -UA_NODEID_NUMERIC(ns[0], 13LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UtcTime"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_225_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 294LU) -); -} - -/* String - ns=0;i=12 */ - -static UA_StatusCode function_namespace0_generated_226_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "String"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "String"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_226_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12LU) -); -} - -/* TrimmedString - ns=0;i=31918 */ - -static UA_StatusCode function_namespace0_generated_227_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrimmedString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 31918LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrimmedString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_227_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31918LU) -); -} - -/* LocaleId - ns=0;i=295 */ - -static UA_StatusCode function_namespace0_generated_228_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 295LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "LocaleId"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_228_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 295LU) -); -} - -/* NumericRange - ns=0;i=291 */ - -static UA_StatusCode function_namespace0_generated_229_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NumericRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 291LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NumericRange"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_229_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 291LU) -); -} - -/* EncodedTicket - ns=0;i=25726 */ - -static UA_StatusCode function_namespace0_generated_230_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EncodedTicket"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25726LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EncodedTicket"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_230_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25726LU) -); -} - -/* SemanticVersionString - ns=0;i=24263 */ - -static UA_StatusCode function_namespace0_generated_231_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SemanticVersionString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24263LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SemanticVersionString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_231_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24263LU) -); -} - -/* UriString - ns=0;i=23751 */ - -static UA_StatusCode function_namespace0_generated_232_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UriString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23751LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UriString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_232_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23751LU) -); -} - -/* DateString - ns=0;i=12881 */ - -static UA_StatusCode function_namespace0_generated_233_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DateString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12881LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DateString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_233_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12881LU) -); -} - -/* TimeString - ns=0;i=12880 */ - -static UA_StatusCode function_namespace0_generated_234_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimeString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12880LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TimeString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_234_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12880LU) -); -} - -/* DurationString - ns=0;i=12879 */ - -static UA_StatusCode function_namespace0_generated_235_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DurationString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12879LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DurationString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_235_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12879LU) -); -} - -/* DecimalString - ns=0;i=12878 */ - -static UA_StatusCode function_namespace0_generated_236_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DecimalString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12878LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DecimalString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_236_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12878LU) -); -} - -/* NormalizedString - ns=0;i=12877 */ - -static UA_StatusCode function_namespace0_generated_237_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NormalizedString"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12877LU), -UA_NODEID_NUMERIC(ns[0], 12LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NormalizedString"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_237_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12877LU) -); -} - -/* Boolean - ns=0;i=1 */ - -static UA_StatusCode function_namespace0_generated_238_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Boolean"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 1LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Boolean"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_238_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 1LU) -); -} - -/* Enumeration - ns=0;i=29 */ - -static UA_StatusCode function_namespace0_generated_239_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Enumeration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Enumeration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_239_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 29LU) -); -} - -/* StructureType - ns=0;i=98 */ - -static UA_StatusCode function_namespace0_generated_240_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StructureType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 98LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StructureType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_240_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 98LU) -); -} - -/* EnumStrings - ns=0;i=14528 */ - -static UA_StatusCode function_namespace0_generated_241_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_14528_variant_DataContents[5]; -variablenode_ns_0_i_14528_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Structure"); -variablenode_ns_0_i_14528_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "StructureWithOptionalFields"); -variablenode_ns_0_i_14528_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Union"); -variablenode_ns_0_i_14528_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "StructureWithSubtypedValues"); -variablenode_ns_0_i_14528_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "UnionWithSubtypedValues"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14528_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14528LU), -UA_NODEID_NUMERIC(ns[0], 98LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_241_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14528LU) -); -} - -/* ExceptionDeviationFormat - ns=0;i=890 */ - -static UA_StatusCode function_namespace0_generated_242_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExceptionDeviationFormat"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 890LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExceptionDeviationFormat"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_242_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 890LU) -); -} - -/* EnumStrings - ns=0;i=7614 */ - -static UA_StatusCode function_namespace0_generated_243_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7614_variant_DataContents[5]; -variablenode_ns_0_i_7614_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "AbsoluteValue"); -variablenode_ns_0_i_7614_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "PercentOfValue"); -variablenode_ns_0_i_7614_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "PercentOfRange"); -variablenode_ns_0_i_7614_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "PercentOfEURange"); -variablenode_ns_0_i_7614_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Unknown"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7614_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7614LU), -UA_NODEID_NUMERIC(ns[0], 890LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_243_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7614LU) -); -} - -/* ServerState - ns=0;i=852 */ - -static UA_StatusCode function_namespace0_generated_244_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 852LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_244_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 852LU) -); -} - -/* EnumStrings - ns=0;i=7612 */ - -static UA_StatusCode function_namespace0_generated_245_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 8; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7612_variant_DataContents[8]; -variablenode_ns_0_i_7612_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Running"); -variablenode_ns_0_i_7612_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Failed"); -variablenode_ns_0_i_7612_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "NoConfiguration"); -variablenode_ns_0_i_7612_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Suspended"); -variablenode_ns_0_i_7612_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Shutdown"); -variablenode_ns_0_i_7612_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "Test"); -variablenode_ns_0_i_7612_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "CommunicationFault"); -variablenode_ns_0_i_7612_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Unknown"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7612_variant_DataContents, (UA_Int32) 8, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7612LU), -UA_NODEID_NUMERIC(ns[0], 852LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_245_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7612LU) -); -} - -/* RedundancySupport - ns=0;i=851 */ - -static UA_StatusCode function_namespace0_generated_246_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 851LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_246_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 851LU) -); -} - -/* EnumStrings - ns=0;i=7611 */ - -static UA_StatusCode function_namespace0_generated_247_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7611_variant_DataContents[6]; -variablenode_ns_0_i_7611_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "None"); -variablenode_ns_0_i_7611_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Cold"); -variablenode_ns_0_i_7611_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Warm"); -variablenode_ns_0_i_7611_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Hot"); -variablenode_ns_0_i_7611_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Transparent"); -variablenode_ns_0_i_7611_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "HotAndMirrored"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7611_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7611LU), -UA_NODEID_NUMERIC(ns[0], 851LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_247_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7611LU) -); -} - -/* FilterOperator - ns=0;i=576 */ - -static UA_StatusCode function_namespace0_generated_248_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperator"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 576LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FilterOperator"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_248_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 576LU) -); -} - -/* EnumStrings - ns=0;i=7605 */ - -static UA_StatusCode function_namespace0_generated_249_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 18; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7605_variant_DataContents[18]; -variablenode_ns_0_i_7605_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Equals"); -variablenode_ns_0_i_7605_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "IsNull"); -variablenode_ns_0_i_7605_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "GreaterThan"); -variablenode_ns_0_i_7605_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "LessThan"); -variablenode_ns_0_i_7605_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "GreaterThanOrEqual"); -variablenode_ns_0_i_7605_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "LessThanOrEqual"); -variablenode_ns_0_i_7605_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "Like"); -variablenode_ns_0_i_7605_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Not"); -variablenode_ns_0_i_7605_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "Between"); -variablenode_ns_0_i_7605_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "InList"); -variablenode_ns_0_i_7605_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "And"); -variablenode_ns_0_i_7605_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "Or"); -variablenode_ns_0_i_7605_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "Cast"); -variablenode_ns_0_i_7605_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "InView"); -variablenode_ns_0_i_7605_variant_DataContents[14] = UA_LOCALIZEDTEXT("", "OfType"); -variablenode_ns_0_i_7605_variant_DataContents[15] = UA_LOCALIZEDTEXT("", "RelatedTo"); -variablenode_ns_0_i_7605_variant_DataContents[16] = UA_LOCALIZEDTEXT("", "BitwiseAnd"); -variablenode_ns_0_i_7605_variant_DataContents[17] = UA_LOCALIZEDTEXT("", "BitwiseOr"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7605_variant_DataContents, (UA_Int32) 18, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7605LU), -UA_NODEID_NUMERIC(ns[0], 576LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_249_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7605LU) -); -} - -/* NodeAttributesMask - ns=0;i=348 */ - -static UA_StatusCode function_namespace0_generated_250_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NodeAttributesMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 348LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NodeAttributesMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_250_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 348LU) -); -} - -/* EnumValues - ns=0;i=11881 */ - -static UA_StatusCode function_namespace0_generated_251_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 35; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_11881_variant_DataContents[35]; - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_11881_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_11881_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "AccessLevel"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_11881_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "ArrayDimensions"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[3].value = (UA_Int64) 4; -variablenode_ns_0_i_11881_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "BrowseName"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[4].value = (UA_Int64) 8; -variablenode_ns_0_i_11881_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "ContainsNoLoops"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[5].value = (UA_Int64) 16; -variablenode_ns_0_i_11881_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "DataType"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[6].value = (UA_Int64) 32; -variablenode_ns_0_i_11881_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "Description"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[7].value = (UA_Int64) 64; -variablenode_ns_0_i_11881_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "DisplayName"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[8], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[8].value = (UA_Int64) 128; -variablenode_ns_0_i_11881_variant_DataContents[8].displayName = UA_LOCALIZEDTEXT("", "EventNotifier"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[9], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[9].value = (UA_Int64) 256; -variablenode_ns_0_i_11881_variant_DataContents[9].displayName = UA_LOCALIZEDTEXT("", "Executable"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[10], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[10].value = (UA_Int64) 512; -variablenode_ns_0_i_11881_variant_DataContents[10].displayName = UA_LOCALIZEDTEXT("", "Historizing"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[11], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[11].value = (UA_Int64) 1024; -variablenode_ns_0_i_11881_variant_DataContents[11].displayName = UA_LOCALIZEDTEXT("", "InverseName"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[12], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[12].value = (UA_Int64) 2048; -variablenode_ns_0_i_11881_variant_DataContents[12].displayName = UA_LOCALIZEDTEXT("", "IsAbstract"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[13], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[13].value = (UA_Int64) 4096; -variablenode_ns_0_i_11881_variant_DataContents[13].displayName = UA_LOCALIZEDTEXT("", "MinimumSamplingInterval"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[14], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[14].value = (UA_Int64) 8192; -variablenode_ns_0_i_11881_variant_DataContents[14].displayName = UA_LOCALIZEDTEXT("", "NodeClass"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[15], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[15].value = (UA_Int64) 16384; -variablenode_ns_0_i_11881_variant_DataContents[15].displayName = UA_LOCALIZEDTEXT("", "NodeId"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[16], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[16].value = (UA_Int64) 32768; -variablenode_ns_0_i_11881_variant_DataContents[16].displayName = UA_LOCALIZEDTEXT("", "Symmetric"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[17], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[17].value = (UA_Int64) 65536; -variablenode_ns_0_i_11881_variant_DataContents[17].displayName = UA_LOCALIZEDTEXT("", "UserAccessLevel"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[18], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[18].value = (UA_Int64) 131072; -variablenode_ns_0_i_11881_variant_DataContents[18].displayName = UA_LOCALIZEDTEXT("", "UserExecutable"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[19], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[19].value = (UA_Int64) 262144; -variablenode_ns_0_i_11881_variant_DataContents[19].displayName = UA_LOCALIZEDTEXT("", "UserWriteMask"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[20], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[20].value = (UA_Int64) 524288; -variablenode_ns_0_i_11881_variant_DataContents[20].displayName = UA_LOCALIZEDTEXT("", "ValueRank"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[21], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[21].value = (UA_Int64) 1048576; -variablenode_ns_0_i_11881_variant_DataContents[21].displayName = UA_LOCALIZEDTEXT("", "WriteMask"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[22], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[22].value = (UA_Int64) 2097152; -variablenode_ns_0_i_11881_variant_DataContents[22].displayName = UA_LOCALIZEDTEXT("", "Value"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[23], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[23].value = (UA_Int64) 4194304; -variablenode_ns_0_i_11881_variant_DataContents[23].displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[24], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[24].value = (UA_Int64) 8388608; -variablenode_ns_0_i_11881_variant_DataContents[24].displayName = UA_LOCALIZEDTEXT("", "RolePermissions"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[25], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[25].value = (UA_Int64) 16777216; -variablenode_ns_0_i_11881_variant_DataContents[25].displayName = UA_LOCALIZEDTEXT("", "AccessRestrictions"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[26], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[26].value = (UA_Int64) 33554431; -variablenode_ns_0_i_11881_variant_DataContents[26].displayName = UA_LOCALIZEDTEXT("", "All"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[27], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[27].value = (UA_Int64) 26501220; -variablenode_ns_0_i_11881_variant_DataContents[27].displayName = UA_LOCALIZEDTEXT("", "BaseNode"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[28], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[28].value = (UA_Int64) 26501348; -variablenode_ns_0_i_11881_variant_DataContents[28].displayName = UA_LOCALIZEDTEXT("", "Object"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[29], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[29].value = (UA_Int64) 26503268; -variablenode_ns_0_i_11881_variant_DataContents[29].displayName = UA_LOCALIZEDTEXT("", "ObjectType"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[30], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[30].value = (UA_Int64) 26571383; -variablenode_ns_0_i_11881_variant_DataContents[30].displayName = UA_LOCALIZEDTEXT("", "Variable"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[31], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[31].value = (UA_Int64) 28600438; -variablenode_ns_0_i_11881_variant_DataContents[31].displayName = UA_LOCALIZEDTEXT("", "VariableType"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[32], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[32].value = (UA_Int64) 26632548; -variablenode_ns_0_i_11881_variant_DataContents[32].displayName = UA_LOCALIZEDTEXT("", "Method"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[33], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[33].value = (UA_Int64) 26537060; -variablenode_ns_0_i_11881_variant_DataContents[33].displayName = UA_LOCALIZEDTEXT("", "ReferenceType"); - -UA_init(&variablenode_ns_0_i_11881_variant_DataContents[34], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11881_variant_DataContents[34].value = (UA_Int64) 26501356; -variablenode_ns_0_i_11881_variant_DataContents[34].displayName = UA_LOCALIZEDTEXT("", "View"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11881_variant_DataContents, (UA_Int32) 35, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11881LU), -UA_NODEID_NUMERIC(ns[0], 348LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_251_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11881LU) -); -} - -/* SecurityTokenRequestType - ns=0;i=315 */ - -static UA_StatusCode function_namespace0_generated_252_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityTokenRequestType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 315LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SecurityTokenRequestType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_252_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 315LU) -); -} - -/* EnumStrings - ns=0;i=7598 */ - -static UA_StatusCode function_namespace0_generated_253_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7598_variant_DataContents[2]; -variablenode_ns_0_i_7598_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Issue"); -variablenode_ns_0_i_7598_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Renew"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7598_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7598LU), -UA_NODEID_NUMERIC(ns[0], 315LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_253_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7598LU) -); -} - -/* ApplicationType - ns=0;i=307 */ - -static UA_StatusCode function_namespace0_generated_254_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 307LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_254_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 307LU) -); -} - -/* EnumStrings - ns=0;i=7597 */ - -static UA_StatusCode function_namespace0_generated_255_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7597_variant_DataContents[4]; -variablenode_ns_0_i_7597_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Server"); -variablenode_ns_0_i_7597_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Client"); -variablenode_ns_0_i_7597_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "ClientAndServer"); -variablenode_ns_0_i_7597_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "DiscoveryServer"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7597_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7597LU), -UA_NODEID_NUMERIC(ns[0], 307LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_255_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7597LU) -); -} - -/* UserTokenType - ns=0;i=303 */ - -static UA_StatusCode function_namespace0_generated_256_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 303LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserTokenType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_256_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 303LU) -); -} - -/* EnumStrings - ns=0;i=7596 */ - -static UA_StatusCode function_namespace0_generated_257_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7596_variant_DataContents[4]; -variablenode_ns_0_i_7596_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Anonymous"); -variablenode_ns_0_i_7596_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "UserName"); -variablenode_ns_0_i_7596_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Certificate"); -variablenode_ns_0_i_7596_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "IssuedToken"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7596_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7596LU), -UA_NODEID_NUMERIC(ns[0], 303LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_257_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7596LU) -); -} - -/* MessageSecurityMode - ns=0;i=302 */ - -static UA_StatusCode function_namespace0_generated_258_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 302LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MessageSecurityMode"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_258_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 302LU) -); -} - -/* EnumStrings - ns=0;i=7595 */ - -static UA_StatusCode function_namespace0_generated_259_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7595_variant_DataContents[4]; -variablenode_ns_0_i_7595_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Invalid"); -variablenode_ns_0_i_7595_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "None"); -variablenode_ns_0_i_7595_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Sign"); -variablenode_ns_0_i_7595_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SignAndEncrypt"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7595_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7595LU), -UA_NODEID_NUMERIC(ns[0], 302LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_259_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7595LU) -); -} - -/* NodeClass - ns=0;i=257 */ - -static UA_StatusCode function_namespace0_generated_260_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NodeClass"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 257LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NodeClass"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_260_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 257LU) -); -} - -/* EnumValues - ns=0;i=11878 */ - -static UA_StatusCode function_namespace0_generated_261_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 9; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_11878_variant_DataContents[9]; - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_11878_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Unspecified"); -variablenode_ns_0_i_11878_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No value is specified."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_11878_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Object"); -variablenode_ns_0_i_11878_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The Node is an Object."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_11878_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Variable"); -variablenode_ns_0_i_11878_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The Node is a Variable."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[3].value = (UA_Int64) 4; -variablenode_ns_0_i_11878_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Method"); -variablenode_ns_0_i_11878_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The Node is a Method."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[4].value = (UA_Int64) 8; -variablenode_ns_0_i_11878_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "ObjectType"); -variablenode_ns_0_i_11878_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The Node is an ObjectType."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[5].value = (UA_Int64) 16; -variablenode_ns_0_i_11878_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "VariableType"); -variablenode_ns_0_i_11878_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "The Node is a VariableType."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[6].value = (UA_Int64) 32; -variablenode_ns_0_i_11878_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "ReferenceType"); -variablenode_ns_0_i_11878_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "The Node is a ReferenceType."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[7].value = (UA_Int64) 64; -variablenode_ns_0_i_11878_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "DataType"); -variablenode_ns_0_i_11878_variant_DataContents[7].description = UA_LOCALIZEDTEXT("", "The Node is a DataType."); - -UA_init(&variablenode_ns_0_i_11878_variant_DataContents[8], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11878_variant_DataContents[8].value = (UA_Int64) 128; -variablenode_ns_0_i_11878_variant_DataContents[8].displayName = UA_LOCALIZEDTEXT("", "View"); -variablenode_ns_0_i_11878_variant_DataContents[8].description = UA_LOCALIZEDTEXT("", "The Node is a View."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11878_variant_DataContents, (UA_Int32) 9, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11878LU), -UA_NODEID_NUMERIC(ns[0], 257LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_261_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11878LU) -); -} - -/* IdType - ns=0;i=256 */ - -static UA_StatusCode function_namespace0_generated_262_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IdType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 256LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IdType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_262_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 256LU) -); -} - -/* EnumStrings - ns=0;i=7591 */ - -static UA_StatusCode function_namespace0_generated_263_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_7591_variant_DataContents[4]; -variablenode_ns_0_i_7591_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Numeric"); -variablenode_ns_0_i_7591_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "String"); -variablenode_ns_0_i_7591_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Guid"); -variablenode_ns_0_i_7591_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Opaque"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_7591_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7591LU), -UA_NODEID_NUMERIC(ns[0], 256LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_263_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7591LU) -); -} - -/* TsnListenerStatus - ns=0;i=24224 */ - -static UA_StatusCode function_namespace0_generated_264_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TsnListenerStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24224LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TsnListenerStatus"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_264_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24224LU) -); -} - -/* EnumValues - ns=0;i=24242 */ - -static UA_StatusCode function_namespace0_generated_265_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24242_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_24242_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24242_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24242_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); -variablenode_ns_0_i_24242_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No Listener detected."); - -UA_init(&variablenode_ns_0_i_24242_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24242_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24242_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Ready"); -variablenode_ns_0_i_24242_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Listener ready (configured)."); - -UA_init(&variablenode_ns_0_i_24242_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24242_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24242_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "PartialFailed"); -variablenode_ns_0_i_24242_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "One or more Listeners ready, and one or more Listeners failed."); - -UA_init(&variablenode_ns_0_i_24242_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24242_variant_DataContents[3].value = (UA_Int64) 3; -variablenode_ns_0_i_24242_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Failed"); -variablenode_ns_0_i_24242_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "Listener failed."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24242_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24242LU), -UA_NODEID_NUMERIC(ns[0], 24224LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_265_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24242LU) -); -} - -/* TsnTalkerStatus - ns=0;i=24222 */ - -static UA_StatusCode function_namespace0_generated_266_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TsnTalkerStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24222LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TsnTalkerStatus"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_266_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24222LU) -); -} - -/* EnumValues - ns=0;i=24241 */ - -static UA_StatusCode function_namespace0_generated_267_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24241_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_24241_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24241_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24241_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); -variablenode_ns_0_i_24241_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No Talker detected."); - -UA_init(&variablenode_ns_0_i_24241_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24241_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24241_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Ready"); -variablenode_ns_0_i_24241_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Talker ready (configured)."); - -UA_init(&variablenode_ns_0_i_24241_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24241_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24241_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Failed"); -variablenode_ns_0_i_24241_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "Talker failed."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24241_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24241LU), -UA_NODEID_NUMERIC(ns[0], 24222LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_267_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24241LU) -); -} - -/* TsnStreamState - ns=0;i=24220 */ - -static UA_StatusCode function_namespace0_generated_268_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TsnStreamState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24220LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TsnStreamState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_268_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24220LU) -); -} - -/* EnumValues - ns=0;i=24240 */ - -static UA_StatusCode function_namespace0_generated_269_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24240_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_24240_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24240_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24240_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Disabled"); -variablenode_ns_0_i_24240_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The related TSN Stream is currently disabled."); - -UA_init(&variablenode_ns_0_i_24240_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24240_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24240_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Configuring"); -variablenode_ns_0_i_24240_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer."); - -UA_init(&variablenode_ns_0_i_24240_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24240_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24240_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Ready"); -variablenode_ns_0_i_24240_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid."); - -UA_init(&variablenode_ns_0_i_24240_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24240_variant_DataContents[3].value = (UA_Int64) 3; -variablenode_ns_0_i_24240_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Operational"); -variablenode_ns_0_i_24240_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid."); - -UA_init(&variablenode_ns_0_i_24240_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24240_variant_DataContents[4].value = (UA_Int64) 4; -variablenode_ns_0_i_24240_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "Error"); -variablenode_ns_0_i_24240_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The related TSN Stream object is in an error state."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24240_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24240LU), -UA_NODEID_NUMERIC(ns[0], 24220LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_269_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24240LU) -); -} - -/* TsnFailureCode - ns=0;i=24218 */ - -static UA_StatusCode function_namespace0_generated_270_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TsnFailureCode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24218LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TsnFailureCode"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_270_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24218LU) -); -} - -/* EnumValues - ns=0;i=24239 */ - -static UA_StatusCode function_namespace0_generated_271_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 26; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24239_variant_DataContents[26]; - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24239_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "NoFailure"); -variablenode_ns_0_i_24239_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No failure"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24239_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "InsufficientBandwidth"); -variablenode_ns_0_i_24239_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Insufficient bandwidth"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24239_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "InsufficientResources"); -variablenode_ns_0_i_24239_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "Insufficient bridge resources"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[3].value = (UA_Int64) 3; -variablenode_ns_0_i_24239_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "InsufficientTrafficClassBandwidth"); -variablenode_ns_0_i_24239_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "Insufficient bandwidth for Traffic Class"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[4].value = (UA_Int64) 4; -variablenode_ns_0_i_24239_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "StreamIdInUse"); -variablenode_ns_0_i_24239_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "StreamID in use by another Talker"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[5].value = (UA_Int64) 5; -variablenode_ns_0_i_24239_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "StreamDestinationAddressInUse"); -variablenode_ns_0_i_24239_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "Stream destination address already in use"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[6].value = (UA_Int64) 6; -variablenode_ns_0_i_24239_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "StreamPreemptedByHigherRank"); -variablenode_ns_0_i_24239_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "Stream pre-empted by higher rank"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[7].value = (UA_Int64) 7; -variablenode_ns_0_i_24239_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "LatencyHasChanged"); -variablenode_ns_0_i_24239_variant_DataContents[7].description = UA_LOCALIZEDTEXT("", "Reported latency has changed"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[8], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[8].value = (UA_Int64) 8; -variablenode_ns_0_i_24239_variant_DataContents[8].displayName = UA_LOCALIZEDTEXT("", "EgressPortNotAvbCapable"); -variablenode_ns_0_i_24239_variant_DataContents[8].description = UA_LOCALIZEDTEXT("", "Egress port is not AVBCapable"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[9], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[9].value = (UA_Int64) 9; -variablenode_ns_0_i_24239_variant_DataContents[9].displayName = UA_LOCALIZEDTEXT("", "UseDifferentDestinationAddress"); -variablenode_ns_0_i_24239_variant_DataContents[9].description = UA_LOCALIZEDTEXT("", "Use a different destination address"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[10], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[10].value = (UA_Int64) 10; -variablenode_ns_0_i_24239_variant_DataContents[10].displayName = UA_LOCALIZEDTEXT("", "OutOfMsrpResources"); -variablenode_ns_0_i_24239_variant_DataContents[10].description = UA_LOCALIZEDTEXT("", "Out of MSRP resources"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[11], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[11].value = (UA_Int64) 11; -variablenode_ns_0_i_24239_variant_DataContents[11].displayName = UA_LOCALIZEDTEXT("", "OutOfMmrpResources"); -variablenode_ns_0_i_24239_variant_DataContents[11].description = UA_LOCALIZEDTEXT("", "Out of MMRP resources"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[12], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[12].value = (UA_Int64) 12; -variablenode_ns_0_i_24239_variant_DataContents[12].displayName = UA_LOCALIZEDTEXT("", "CannotStoreDestinationAddress"); -variablenode_ns_0_i_24239_variant_DataContents[12].description = UA_LOCALIZEDTEXT("", "Cannot store destination address"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[13], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[13].value = (UA_Int64) 13; -variablenode_ns_0_i_24239_variant_DataContents[13].displayName = UA_LOCALIZEDTEXT("", "PriorityIsNotAnSrcClass"); -variablenode_ns_0_i_24239_variant_DataContents[13].description = UA_LOCALIZEDTEXT("", "Requested priority is not an SR Class priority"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[14], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[14].value = (UA_Int64) 14; -variablenode_ns_0_i_24239_variant_DataContents[14].displayName = UA_LOCALIZEDTEXT("", "MaxFrameSizeTooLarge"); -variablenode_ns_0_i_24239_variant_DataContents[14].description = UA_LOCALIZEDTEXT("", "MaxFrameSize is too large for media"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[15], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[15].value = (UA_Int64) 15; -variablenode_ns_0_i_24239_variant_DataContents[15].displayName = UA_LOCALIZEDTEXT("", "MaxFanInPortsLimitReached"); -variablenode_ns_0_i_24239_variant_DataContents[15].description = UA_LOCALIZEDTEXT("", "MaxFanInPorts limit has been reached"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[16], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[16].value = (UA_Int64) 16; -variablenode_ns_0_i_24239_variant_DataContents[16].displayName = UA_LOCALIZEDTEXT("", "FirstValueChangedForStreamId"); -variablenode_ns_0_i_24239_variant_DataContents[16].description = UA_LOCALIZEDTEXT("", "Changes in FirstValue for a registered StreamID"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[17], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[17].value = (UA_Int64) 17; -variablenode_ns_0_i_24239_variant_DataContents[17].displayName = UA_LOCALIZEDTEXT("", "VlanBlockedOnEgress"); -variablenode_ns_0_i_24239_variant_DataContents[17].description = UA_LOCALIZEDTEXT("", "VLAN is blocked on this egress port (Registration Forbidden)"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[18], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[18].value = (UA_Int64) 18; -variablenode_ns_0_i_24239_variant_DataContents[18].displayName = UA_LOCALIZEDTEXT("", "VlanTaggingDisabledOnEgress"); -variablenode_ns_0_i_24239_variant_DataContents[18].description = UA_LOCALIZEDTEXT("", "VLAN tagging is disabled on this egress port (untagged set)"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[19], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[19].value = (UA_Int64) 19; -variablenode_ns_0_i_24239_variant_DataContents[19].displayName = UA_LOCALIZEDTEXT("", "SrClassPriorityMismatch"); -variablenode_ns_0_i_24239_variant_DataContents[19].description = UA_LOCALIZEDTEXT("", "SR class priority mismatch"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[20], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[20].value = (UA_Int64) 20; -variablenode_ns_0_i_24239_variant_DataContents[20].displayName = UA_LOCALIZEDTEXT("", "FeatureNotPropagated"); -variablenode_ns_0_i_24239_variant_DataContents[20].description = UA_LOCALIZEDTEXT("", "Enhanced feature cannot be propagated to original Port"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[21], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[21].value = (UA_Int64) 21; -variablenode_ns_0_i_24239_variant_DataContents[21].displayName = UA_LOCALIZEDTEXT("", "MaxLatencyExceeded"); -variablenode_ns_0_i_24239_variant_DataContents[21].description = UA_LOCALIZEDTEXT("", "MaxLatency exceeded"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[22], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[22].value = (UA_Int64) 22; -variablenode_ns_0_i_24239_variant_DataContents[22].displayName = UA_LOCALIZEDTEXT("", "BridgeDoesNotProvideNetworkId"); -variablenode_ns_0_i_24239_variant_DataContents[22].description = UA_LOCALIZEDTEXT("", "Nearest Bridge cannot provide network identification for stream transformation"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[23], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[23].value = (UA_Int64) 23; -variablenode_ns_0_i_24239_variant_DataContents[23].displayName = UA_LOCALIZEDTEXT("", "StreamTransformNotSupported"); -variablenode_ns_0_i_24239_variant_DataContents[23].description = UA_LOCALIZEDTEXT("", "Stream transformation not supported"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[24], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[24].value = (UA_Int64) 24; -variablenode_ns_0_i_24239_variant_DataContents[24].displayName = UA_LOCALIZEDTEXT("", "StreamIdTypeNotSupported"); -variablenode_ns_0_i_24239_variant_DataContents[24].description = UA_LOCALIZEDTEXT("", "Stream identification type not supported for stream transformation"); - -UA_init(&variablenode_ns_0_i_24239_variant_DataContents[25], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24239_variant_DataContents[25].value = (UA_Int64) 25; -variablenode_ns_0_i_24239_variant_DataContents[25].displayName = UA_LOCALIZEDTEXT("", "FeatureNotSupported"); -variablenode_ns_0_i_24239_variant_DataContents[25].description = UA_LOCALIZEDTEXT("", "Enhanced feature cannot be supported without a CNC"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24239_variant_DataContents, (UA_Int32) 26, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24239LU), -UA_NODEID_NUMERIC(ns[0], 24218LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - - - - - - - - - - - - - - - - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_271_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24239LU) -); -} - -/* NegotiationStatus - ns=0;i=24216 */ - -static UA_StatusCode function_namespace0_generated_272_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NegotiationStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24216LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NegotiationStatus"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_272_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24216LU) -); -} - -/* EnumValues - ns=0;i=24238 */ - -static UA_StatusCode function_namespace0_generated_273_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24238_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_24238_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24238_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24238_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "InProgress"); -variablenode_ns_0_i_24238_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The auto-negotiation protocol is running and negotiation is currently in-progress."); - -UA_init(&variablenode_ns_0_i_24238_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24238_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24238_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Complete"); -variablenode_ns_0_i_24238_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The auto-negotiation protocol has completed successfully."); - -UA_init(&variablenode_ns_0_i_24238_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24238_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24238_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Failed"); -variablenode_ns_0_i_24238_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The auto-negotiation protocol has failed."); - -UA_init(&variablenode_ns_0_i_24238_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24238_variant_DataContents[3].value = (UA_Int64) 3; -variablenode_ns_0_i_24238_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Unknown"); -variablenode_ns_0_i_24238_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present)."); - -UA_init(&variablenode_ns_0_i_24238_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24238_variant_DataContents[4].value = (UA_Int64) 4; -variablenode_ns_0_i_24238_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "NoNegotiation"); -variablenode_ns_0_i_24238_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24238_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24238LU), -UA_NODEID_NUMERIC(ns[0], 24216LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_273_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24238LU) -); -} - -/* InterfaceOperStatus - ns=0;i=24214 */ - -static UA_StatusCode function_namespace0_generated_274_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceOperStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24214LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "InterfaceOperStatus"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_274_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24214LU) -); -} - -/* EnumValues - ns=0;i=24237 */ - -static UA_StatusCode function_namespace0_generated_275_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24237_variant_DataContents[7]; - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24237_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Up"); -variablenode_ns_0_i_24237_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "Ready to pass packets."); - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24237_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Down"); -variablenode_ns_0_i_24237_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The interface does not pass any packets."); - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24237_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Testing"); -variablenode_ns_0_i_24237_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "In some test mode. No operational packets can be passed."); - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[3].value = (UA_Int64) 3; -variablenode_ns_0_i_24237_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Unknown"); -variablenode_ns_0_i_24237_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "Status cannot be determined for some reason."); - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[4].value = (UA_Int64) 4; -variablenode_ns_0_i_24237_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "Dormant"); -variablenode_ns_0_i_24237_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "Waiting for some external event."); - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[5].value = (UA_Int64) 5; -variablenode_ns_0_i_24237_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "NotPresent"); -variablenode_ns_0_i_24237_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "Some component (typically hardware) is missing."); - -UA_init(&variablenode_ns_0_i_24237_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24237_variant_DataContents[6].value = (UA_Int64) 6; -variablenode_ns_0_i_24237_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "LowerLayerDown"); -variablenode_ns_0_i_24237_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "Down due to state of lower-layer interface(s)."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24237_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24237LU), -UA_NODEID_NUMERIC(ns[0], 24214LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_275_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24237LU) -); -} - -/* InterfaceAdminStatus - ns=0;i=24212 */ - -static UA_StatusCode function_namespace0_generated_276_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceAdminStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24212LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "InterfaceAdminStatus"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_276_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24212LU) -); -} - -/* EnumValues - ns=0;i=24236 */ - -static UA_StatusCode function_namespace0_generated_277_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24236_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_24236_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24236_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24236_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Up"); -variablenode_ns_0_i_24236_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "Ready to pass packets."); - -UA_init(&variablenode_ns_0_i_24236_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24236_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24236_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Down"); -variablenode_ns_0_i_24236_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Not ready to pass packets and not in some test mode."); - -UA_init(&variablenode_ns_0_i_24236_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24236_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24236_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Testing"); -variablenode_ns_0_i_24236_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "In some test mode."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24236_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24236LU), -UA_NODEID_NUMERIC(ns[0], 24212LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_277_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24236LU) -); -} - -/* Duplex - ns=0;i=24210 */ - -static UA_StatusCode function_namespace0_generated_278_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Duplex"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24210LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Duplex"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_278_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24210LU) -); -} - -/* EnumValues - ns=0;i=24235 */ - -static UA_StatusCode function_namespace0_generated_279_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_24235_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_24235_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24235_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_24235_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Full"); -variablenode_ns_0_i_24235_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "Full duplex."); - -UA_init(&variablenode_ns_0_i_24235_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24235_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_24235_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Half"); -variablenode_ns_0_i_24235_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "Half duplex."); - -UA_init(&variablenode_ns_0_i_24235_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_24235_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_24235_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Unknown"); -variablenode_ns_0_i_24235_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "Link is currently disconnected or initializing."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24235_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24235LU), -UA_NODEID_NUMERIC(ns[0], 24210LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_279_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24235LU) -); -} - -/* DataSetOrderingType - ns=0;i=20408 */ - -static UA_StatusCode function_namespace0_generated_280_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOrderingType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 20408LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetOrderingType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_280_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20408LU) -); -} - -/* EnumStrings - ns=0;i=15641 */ - -static UA_StatusCode function_namespace0_generated_281_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15641_variant_DataContents[3]; -variablenode_ns_0_i_15641_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Undefined"); -variablenode_ns_0_i_15641_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "AscendingWriterId"); -variablenode_ns_0_i_15641_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "AscendingWriterIdSingle"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15641_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15641LU), -UA_NODEID_NUMERIC(ns[0], 20408LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_281_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15641LU) -); -} - -/* PubSubDiagnosticsCounterClassification - ns=0;i=19730 */ - -static UA_StatusCode function_namespace0_generated_282_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsCounterClassification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 19730LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsCounterClassification"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_282_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19730LU) -); -} - -/* EnumStrings - ns=0;i=19731 */ - -static UA_StatusCode function_namespace0_generated_283_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_19731_variant_DataContents[2]; -variablenode_ns_0_i_19731_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Information"); -variablenode_ns_0_i_19731_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Error"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19731_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19731LU), -UA_NODEID_NUMERIC(ns[0], 19730LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_283_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19731LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19723 */ - -static UA_StatusCode function_namespace0_generated_284_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 19723LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_284_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19723LU) -); -} - -/* EnumStrings - ns=0;i=19724 */ - -static UA_StatusCode function_namespace0_generated_285_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_19724_variant_DataContents[5]; -variablenode_ns_0_i_19724_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Basic"); -variablenode_ns_0_i_19724_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Advanced"); -variablenode_ns_0_i_19724_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Info"); -variablenode_ns_0_i_19724_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Log"); -variablenode_ns_0_i_19724_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Debug"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19724_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19724LU), -UA_NODEID_NUMERIC(ns[0], 19723LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_285_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19724LU) -); -} - -/* OverrideValueHandling - ns=0;i=15874 */ - -static UA_StatusCode function_namespace0_generated_286_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OverrideValueHandling"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15874LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OverrideValueHandling"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_286_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15874LU) -); -} - -/* EnumStrings - ns=0;i=15875 */ - -static UA_StatusCode function_namespace0_generated_287_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15875_variant_DataContents[3]; -variablenode_ns_0_i_15875_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Disabled"); -variablenode_ns_0_i_15875_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "LastUsableValue"); -variablenode_ns_0_i_15875_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "OverrideValue"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15875_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15875LU), -UA_NODEID_NUMERIC(ns[0], 15874LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_287_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15875LU) -); -} - -/* IdentityCriteriaType - ns=0;i=15632 */ - -static UA_StatusCode function_namespace0_generated_288_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IdentityCriteriaType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15632LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IdentityCriteriaType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_288_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15632LU) -); -} - -/* EnumValues - ns=0;i=15633 */ - -static UA_StatusCode function_namespace0_generated_289_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 8; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_15633_variant_DataContents[8]; - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[0].value = (UA_Int64) 1; -variablenode_ns_0_i_15633_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "UserName"); -variablenode_ns_0_i_15633_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The rule specifies a UserName from a UserNameIdentityToken."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[1].value = (UA_Int64) 2; -variablenode_ns_0_i_15633_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Thumbprint"); -variablenode_ns_0_i_15633_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The rule specifies the Thumbprint of a user or CA Certificate."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[2].value = (UA_Int64) 3; -variablenode_ns_0_i_15633_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Role"); -variablenode_ns_0_i_15633_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The rule is a Role specified in an Access Token."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[3].value = (UA_Int64) 4; -variablenode_ns_0_i_15633_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "GroupId"); -variablenode_ns_0_i_15633_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The rule is a user group specified in the Access Token."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[4].value = (UA_Int64) 5; -variablenode_ns_0_i_15633_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "Anonymous"); -variablenode_ns_0_i_15633_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The rule specifies Anonymous UserIdentityToken."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[5].value = (UA_Int64) 6; -variablenode_ns_0_i_15633_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "AuthenticatedUser"); -variablenode_ns_0_i_15633_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "The rule specifies any non Anonymous UserIdentityToken."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[6], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[6].value = (UA_Int64) 7; -variablenode_ns_0_i_15633_variant_DataContents[6].displayName = UA_LOCALIZEDTEXT("", "Application"); -variablenode_ns_0_i_15633_variant_DataContents[6].description = UA_LOCALIZEDTEXT("", "The rule specifies the combination of an application identity and an Anonymous UserIdentityToken."); - -UA_init(&variablenode_ns_0_i_15633_variant_DataContents[7], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_15633_variant_DataContents[7].value = (UA_Int64) 8; -variablenode_ns_0_i_15633_variant_DataContents[7].displayName = UA_LOCALIZEDTEXT("", "X509Subject"); -variablenode_ns_0_i_15633_variant_DataContents[7].description = UA_LOCALIZEDTEXT("", "The rule specifies the X509 subject name of a user or CA Certificate."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15633_variant_DataContents, (UA_Int32) 8, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15633LU), -UA_NODEID_NUMERIC(ns[0], 15632LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_289_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15633LU) -); -} - -/* BrokerTransportQualityOfService - ns=0;i=15008 */ - -static UA_StatusCode function_namespace0_generated_290_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerTransportQualityOfService"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15008LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerTransportQualityOfService"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_290_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15008LU) -); -} - -/* EnumStrings - ns=0;i=15009 */ - -static UA_StatusCode function_namespace0_generated_291_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15009_variant_DataContents[5]; -variablenode_ns_0_i_15009_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "NotSpecified"); -variablenode_ns_0_i_15009_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "BestEffort"); -variablenode_ns_0_i_15009_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "AtLeastOnce"); -variablenode_ns_0_i_15009_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "AtMostOnce"); -variablenode_ns_0_i_15009_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "ExactlyOnce"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15009_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15009LU), -UA_NODEID_NUMERIC(ns[0], 15008LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_291_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15009LU) -); -} - -/* PubSubState - ns=0;i=14647 */ - -static UA_StatusCode function_namespace0_generated_292_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 14647LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubState"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_292_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14647LU) -); -} - -/* EnumStrings - ns=0;i=14648 */ - -static UA_StatusCode function_namespace0_generated_293_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_14648_variant_DataContents[5]; -variablenode_ns_0_i_14648_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Disabled"); -variablenode_ns_0_i_14648_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Paused"); -variablenode_ns_0_i_14648_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Operational"); -variablenode_ns_0_i_14648_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Error"); -variablenode_ns_0_i_14648_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "PreOperational"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14648_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14648LU), -UA_NODEID_NUMERIC(ns[0], 14647LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_293_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14648LU) -); -} - -/* TrustListMasks - ns=0;i=12552 */ - -static UA_StatusCode function_namespace0_generated_294_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12552LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_294_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12552LU) -); -} - -/* EnumValues - ns=0;i=12553 */ - -static UA_StatusCode function_namespace0_generated_295_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_12553_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_12553_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12553_variant_DataContents[0].value = (UA_Int64) 0; -variablenode_ns_0_i_12553_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "None"); -variablenode_ns_0_i_12553_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "No fields are provided."); - -UA_init(&variablenode_ns_0_i_12553_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12553_variant_DataContents[1].value = (UA_Int64) 1; -variablenode_ns_0_i_12553_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "TrustedCertificates"); -variablenode_ns_0_i_12553_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The TrustedCertificates are provided."); - -UA_init(&variablenode_ns_0_i_12553_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12553_variant_DataContents[2].value = (UA_Int64) 2; -variablenode_ns_0_i_12553_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "TrustedCrls"); -variablenode_ns_0_i_12553_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The TrustedCrls are provided."); - -UA_init(&variablenode_ns_0_i_12553_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12553_variant_DataContents[3].value = (UA_Int64) 4; -variablenode_ns_0_i_12553_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "IssuerCertificates"); -variablenode_ns_0_i_12553_variant_DataContents[3].description = UA_LOCALIZEDTEXT("", "The IssuerCertificates are provided."); - -UA_init(&variablenode_ns_0_i_12553_variant_DataContents[4], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12553_variant_DataContents[4].value = (UA_Int64) 8; -variablenode_ns_0_i_12553_variant_DataContents[4].displayName = UA_LOCALIZEDTEXT("", "IssuerCrls"); -variablenode_ns_0_i_12553_variant_DataContents[4].description = UA_LOCALIZEDTEXT("", "The IssuerCrls are provided."); - -UA_init(&variablenode_ns_0_i_12553_variant_DataContents[5], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12553_variant_DataContents[5].value = (UA_Int64) 15; -variablenode_ns_0_i_12553_variant_DataContents[5].displayName = UA_LOCALIZEDTEXT("", "All"); -variablenode_ns_0_i_12553_variant_DataContents[5].description = UA_LOCALIZEDTEXT("", "All fields are provided."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12553_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12553LU), -UA_NODEID_NUMERIC(ns[0], 12552LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_295_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12553LU) -); -} - -/* AxisScaleEnumeration - ns=0;i=12077 */ - -static UA_StatusCode function_namespace0_generated_296_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AxisScaleEnumeration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 12077LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AxisScaleEnumeration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_296_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12077LU) -); -} - -/* EnumStrings - ns=0;i=12078 */ - -static UA_StatusCode function_namespace0_generated_297_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_12078_variant_DataContents[3]; -variablenode_ns_0_i_12078_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Linear"); -variablenode_ns_0_i_12078_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Log"); -variablenode_ns_0_i_12078_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Ln"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12078_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12078LU), -UA_NODEID_NUMERIC(ns[0], 12077LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_297_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12078LU) -); -} - -/* NamingRuleType - ns=0;i=120 */ - -static UA_StatusCode function_namespace0_generated_298_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NamingRuleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 120LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NamingRuleType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_298_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 120LU) -); -} - -/* EnumValues - ns=0;i=12169 */ - -static UA_StatusCode function_namespace0_generated_299_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_12169_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_12169_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12169_variant_DataContents[0].value = (UA_Int64) 1; -variablenode_ns_0_i_12169_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Mandatory"); -variablenode_ns_0_i_12169_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The BrowseName must appear in all instances of the type."); - -UA_init(&variablenode_ns_0_i_12169_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12169_variant_DataContents[1].value = (UA_Int64) 2; -variablenode_ns_0_i_12169_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Optional"); -variablenode_ns_0_i_12169_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The BrowseName may appear in an instance of the type."); - -UA_init(&variablenode_ns_0_i_12169_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_12169_variant_DataContents[2].value = (UA_Int64) 3; -variablenode_ns_0_i_12169_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Constraint"); -variablenode_ns_0_i_12169_variant_DataContents[2].description = UA_LOCALIZEDTEXT("", "The modelling rule defines a constraint and the BrowseName is not used in an instance of the type."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12169_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12169LU), -UA_NODEID_NUMERIC(ns[0], 120LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_299_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12169LU) -); -} - -/* OpenFileMode - ns=0;i=11939 */ - -static UA_StatusCode function_namespace0_generated_300_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenFileMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11939LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OpenFileMode"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_300_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11939LU) -); -} - -/* EnumValues - ns=0;i=11940 */ - -static UA_StatusCode function_namespace0_generated_301_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_11940_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_11940_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11940_variant_DataContents[0].value = (UA_Int64) 1; -variablenode_ns_0_i_11940_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Read"); - -UA_init(&variablenode_ns_0_i_11940_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11940_variant_DataContents[1].value = (UA_Int64) 2; -variablenode_ns_0_i_11940_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Write"); - -UA_init(&variablenode_ns_0_i_11940_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11940_variant_DataContents[2].value = (UA_Int64) 4; -variablenode_ns_0_i_11940_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "EraseExisting"); - -UA_init(&variablenode_ns_0_i_11940_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11940_variant_DataContents[3].value = (UA_Int64) 8; -variablenode_ns_0_i_11940_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Append"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11940_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11940LU), -UA_NODEID_NUMERIC(ns[0], 11939LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_301_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11940LU) -); -} - -/* PerformUpdateType - ns=0;i=11293 */ - -static UA_StatusCode function_namespace0_generated_302_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PerformUpdateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11293LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PerformUpdateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_302_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11293LU) -); -} - -/* EnumValues - ns=0;i=11885 */ - -static UA_StatusCode function_namespace0_generated_303_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_11885_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_11885_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11885_variant_DataContents[0].value = (UA_Int64) 1; -variablenode_ns_0_i_11885_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Insert"); - -UA_init(&variablenode_ns_0_i_11885_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11885_variant_DataContents[1].value = (UA_Int64) 2; -variablenode_ns_0_i_11885_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Replace"); - -UA_init(&variablenode_ns_0_i_11885_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11885_variant_DataContents[2].value = (UA_Int64) 3; -variablenode_ns_0_i_11885_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Update"); - -UA_init(&variablenode_ns_0_i_11885_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11885_variant_DataContents[3].value = (UA_Int64) 4; -variablenode_ns_0_i_11885_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Remove"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11885_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11885LU), -UA_NODEID_NUMERIC(ns[0], 11293LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_303_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11885LU) -); -} - -/* HistoryUpdateType - ns=0;i=11234 */ - -static UA_StatusCode function_namespace0_generated_304_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11234LU), -UA_NODEID_NUMERIC(ns[0], 29LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HistoryUpdateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_304_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11234LU) -); -} - -/* EnumValues - ns=0;i=11884 */ - -static UA_StatusCode function_namespace0_generated_305_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -UA_EnumValueType variablenode_ns_0_i_11884_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_11884_variant_DataContents[0], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11884_variant_DataContents[0].value = (UA_Int64) 1; -variablenode_ns_0_i_11884_variant_DataContents[0].displayName = UA_LOCALIZEDTEXT("", "Insert"); - -UA_init(&variablenode_ns_0_i_11884_variant_DataContents[1], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11884_variant_DataContents[1].value = (UA_Int64) 2; -variablenode_ns_0_i_11884_variant_DataContents[1].displayName = UA_LOCALIZEDTEXT("", "Replace"); - -UA_init(&variablenode_ns_0_i_11884_variant_DataContents[2], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11884_variant_DataContents[2].value = (UA_Int64) 3; -variablenode_ns_0_i_11884_variant_DataContents[2].displayName = UA_LOCALIZEDTEXT("", "Update"); - -UA_init(&variablenode_ns_0_i_11884_variant_DataContents[3], &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -variablenode_ns_0_i_11884_variant_DataContents[3].value = (UA_Int64) 4; -variablenode_ns_0_i_11884_variant_DataContents[3].displayName = UA_LOCALIZEDTEXT("", "Delete"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11884_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ENUMVALUETYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11884LU), -UA_NODEID_NUMERIC(ns[0], 11234LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_305_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11884LU) -); -} - -/* Number - ns=0;i=26 */ - -static UA_StatusCode function_namespace0_generated_306_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Number"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 26LU), -UA_NODEID_NUMERIC(ns[0], 24LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Number"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_306_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26LU) -); -} - -/* Decimal - ns=0;i=50 */ - -static UA_StatusCode function_namespace0_generated_307_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Decimal"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 50LU), -UA_NODEID_NUMERIC(ns[0], 26LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Decimal"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_307_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 50LU) -); -} - -/* UInteger - ns=0;i=28 */ - -static UA_StatusCode function_namespace0_generated_308_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "UInteger"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 28LU), -UA_NODEID_NUMERIC(ns[0], 26LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UInteger"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_308_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28LU) -); -} - -/* UInt64 - ns=0;i=9 */ - -static UA_StatusCode function_namespace0_generated_309_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UInt64"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 9LU), -UA_NODEID_NUMERIC(ns[0], 28LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UInt64"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_309_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9LU) -); -} - -/* BitFieldMaskDataType - ns=0;i=11737 */ - -static UA_StatusCode function_namespace0_generated_310_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BitFieldMaskDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11737LU), -UA_NODEID_NUMERIC(ns[0], 9LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BitFieldMaskDataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_310_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11737LU) -); -} - -/* UInt32 - ns=0;i=7 */ - -static UA_StatusCode function_namespace0_generated_311_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UInt32"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 28LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UInt32"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_311_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7LU) -); -} - -/* PermissionType - ns=0;i=94 */ - -static UA_StatusCode function_namespace0_generated_312_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PermissionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 94LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PermissionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_312_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 94LU) -); -} - -/* OptionSetValues - ns=0;i=15030 */ - -static UA_StatusCode function_namespace0_generated_313_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 17; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15030_variant_DataContents[17]; -variablenode_ns_0_i_15030_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Browse"); -variablenode_ns_0_i_15030_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "ReadRolePermissions"); -variablenode_ns_0_i_15030_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "WriteAttribute"); -variablenode_ns_0_i_15030_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "WriteRolePermissions"); -variablenode_ns_0_i_15030_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "WriteHistorizing"); -variablenode_ns_0_i_15030_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "Read"); -variablenode_ns_0_i_15030_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "Write"); -variablenode_ns_0_i_15030_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "ReadHistory"); -variablenode_ns_0_i_15030_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "InsertHistory"); -variablenode_ns_0_i_15030_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "ModifyHistory"); -variablenode_ns_0_i_15030_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "DeleteHistory"); -variablenode_ns_0_i_15030_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "ReceiveEvents"); -variablenode_ns_0_i_15030_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "Call"); -variablenode_ns_0_i_15030_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "AddReference"); -variablenode_ns_0_i_15030_variant_DataContents[14] = UA_LOCALIZEDTEXT("", "RemoveReference"); -variablenode_ns_0_i_15030_variant_DataContents[15] = UA_LOCALIZEDTEXT("", "DeleteNode"); -variablenode_ns_0_i_15030_variant_DataContents[16] = UA_LOCALIZEDTEXT("", "AddNode"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15030_variant_DataContents, (UA_Int32) 17, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15030LU), -UA_NODEID_NUMERIC(ns[0], 94LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_313_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15030LU) -); -} - -/* AttributeWriteMask - ns=0;i=347 */ - -static UA_StatusCode function_namespace0_generated_314_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AttributeWriteMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 347LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AttributeWriteMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_314_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 347LU) -); -} - -/* OptionSetValues - ns=0;i=15036 */ - -static UA_StatusCode function_namespace0_generated_315_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 26; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15036_variant_DataContents[26]; -variablenode_ns_0_i_15036_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "AccessLevel"); -variablenode_ns_0_i_15036_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "ArrayDimensions"); -variablenode_ns_0_i_15036_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "BrowseName"); -variablenode_ns_0_i_15036_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "ContainsNoLoops"); -variablenode_ns_0_i_15036_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "DataType"); -variablenode_ns_0_i_15036_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "Description"); -variablenode_ns_0_i_15036_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "DisplayName"); -variablenode_ns_0_i_15036_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "EventNotifier"); -variablenode_ns_0_i_15036_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "Executable"); -variablenode_ns_0_i_15036_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "Historizing"); -variablenode_ns_0_i_15036_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "InverseName"); -variablenode_ns_0_i_15036_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "IsAbstract"); -variablenode_ns_0_i_15036_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "MinimumSamplingInterval"); -variablenode_ns_0_i_15036_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "NodeClass"); -variablenode_ns_0_i_15036_variant_DataContents[14] = UA_LOCALIZEDTEXT("", "NodeId"); -variablenode_ns_0_i_15036_variant_DataContents[15] = UA_LOCALIZEDTEXT("", "Symmetric"); -variablenode_ns_0_i_15036_variant_DataContents[16] = UA_LOCALIZEDTEXT("", "UserAccessLevel"); -variablenode_ns_0_i_15036_variant_DataContents[17] = UA_LOCALIZEDTEXT("", "UserExecutable"); -variablenode_ns_0_i_15036_variant_DataContents[18] = UA_LOCALIZEDTEXT("", "UserWriteMask"); -variablenode_ns_0_i_15036_variant_DataContents[19] = UA_LOCALIZEDTEXT("", "ValueRank"); -variablenode_ns_0_i_15036_variant_DataContents[20] = UA_LOCALIZEDTEXT("", "WriteMask"); -variablenode_ns_0_i_15036_variant_DataContents[21] = UA_LOCALIZEDTEXT("", "ValueForVariableType"); -variablenode_ns_0_i_15036_variant_DataContents[22] = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); -variablenode_ns_0_i_15036_variant_DataContents[23] = UA_LOCALIZEDTEXT("", "RolePermissions"); -variablenode_ns_0_i_15036_variant_DataContents[24] = UA_LOCALIZEDTEXT("", "AccessRestrictions"); -variablenode_ns_0_i_15036_variant_DataContents[25] = UA_LOCALIZEDTEXT("", "AccessLevelEx"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15036_variant_DataContents, (UA_Int32) 26, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15036LU), -UA_NODEID_NUMERIC(ns[0], 347LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_315_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15036LU) -); -} - -/* Handle - ns=0;i=31917 */ - -static UA_StatusCode function_namespace0_generated_316_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Handle"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 31917LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Handle"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_316_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31917LU) -); -} - -/* Counter - ns=0;i=289 */ - -static UA_StatusCode function_namespace0_generated_317_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 289LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Counter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_317_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 289LU) -); -} - -/* IntegerId - ns=0;i=288 */ - -static UA_StatusCode function_namespace0_generated_318_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IntegerId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 288LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IntegerId"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_318_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 288LU) -); -} - -/* PubSubConfigurationRefMask - ns=0;i=25517 */ - -static UA_StatusCode function_namespace0_generated_319_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 25517LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_319_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25517LU) -); -} - -/* OptionSetValues - ns=0;i=25518 */ - -static UA_StatusCode function_namespace0_generated_320_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 13; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_25518_variant_DataContents[13]; -variablenode_ns_0_i_25518_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "ElementAdd"); -variablenode_ns_0_i_25518_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "ElementMatch"); -variablenode_ns_0_i_25518_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "ElementModify"); -variablenode_ns_0_i_25518_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "ElementRemove"); -variablenode_ns_0_i_25518_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "ReferenceWriter"); -variablenode_ns_0_i_25518_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "ReferenceReader"); -variablenode_ns_0_i_25518_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "ReferenceWriterGroup"); -variablenode_ns_0_i_25518_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "ReferenceReaderGroup"); -variablenode_ns_0_i_25518_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "ReferenceConnection"); -variablenode_ns_0_i_25518_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "ReferencePubDataset"); -variablenode_ns_0_i_25518_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "ReferenceSubDataset"); -variablenode_ns_0_i_25518_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "ReferenceSecurityGroup"); -variablenode_ns_0_i_25518_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "ReferencePushTarget"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25518_variant_DataContents, (UA_Int32) 13, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25518LU), -UA_NODEID_NUMERIC(ns[0], 25517LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_320_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25518LU) -); -} - -/* UserConfigurationMask - ns=0;i=24279 */ - -static UA_StatusCode function_namespace0_generated_321_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserConfigurationMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24279LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserConfigurationMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_321_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24279LU) -); -} - -/* OptionSetValues - ns=0;i=24280 */ - -static UA_StatusCode function_namespace0_generated_322_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_24280_variant_DataContents[4]; -variablenode_ns_0_i_24280_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "NoDelete"); -variablenode_ns_0_i_24280_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Disabled"); -variablenode_ns_0_i_24280_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "NoChangeByUser"); -variablenode_ns_0_i_24280_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "MustChangePassword"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24280_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24280LU), -UA_NODEID_NUMERIC(ns[0], 24279LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_322_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24280LU) -); -} - -/* PasswordOptionsMask - ns=0;i=24277 */ - -static UA_StatusCode function_namespace0_generated_323_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordOptionsMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 24277LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PasswordOptionsMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_323_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24277LU) -); -} - -/* OptionSetValues - ns=0;i=24278 */ - -static UA_StatusCode function_namespace0_generated_324_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 9; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_24278_variant_DataContents[9]; -variablenode_ns_0_i_24278_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SupportInitialPasswordChange"); -variablenode_ns_0_i_24278_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "SupportDisableUser"); -variablenode_ns_0_i_24278_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SupportDisableDeleteForUser"); -variablenode_ns_0_i_24278_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SupportNoChangeForUser"); -variablenode_ns_0_i_24278_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SupportDescriptionForUser"); -variablenode_ns_0_i_24278_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "RequiresUpperCaseCharacters"); -variablenode_ns_0_i_24278_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "RequiresLowerCaseCharacters"); -variablenode_ns_0_i_24278_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "RequiresDigitCharacters"); -variablenode_ns_0_i_24278_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "RequiresSpecialCharacters"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24278_variant_DataContents, (UA_Int32) 9, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24278LU), -UA_NODEID_NUMERIC(ns[0], 24277LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_324_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24278LU) -); -} - -/* TrustListValidationOptions - ns=0;i=23564 */ - -static UA_StatusCode function_namespace0_generated_325_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListValidationOptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 23564LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListValidationOptions"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_325_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23564LU) -); -} - -/* OptionSetValues - ns=0;i=23565 */ - -static UA_StatusCode function_namespace0_generated_326_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_23565_variant_DataContents[7]; -variablenode_ns_0_i_23565_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SuppressCertificateExpired"); -variablenode_ns_0_i_23565_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "SuppressHostNameInvalid"); -variablenode_ns_0_i_23565_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SuppressRevocationStatusUnknown"); -variablenode_ns_0_i_23565_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SuppressIssuerCertificateExpired"); -variablenode_ns_0_i_23565_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SuppressIssuerRevocationStatusUnknown"); -variablenode_ns_0_i_23565_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "CheckRevocationStatusOnline"); -variablenode_ns_0_i_23565_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "CheckRevocationStatusOffline"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23565_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23565LU), -UA_NODEID_NUMERIC(ns[0], 23564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_326_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23565LU) -); -} - -/* VersionTime - ns=0;i=20998 */ - -static UA_StatusCode function_namespace0_generated_327_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "VersionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 20998LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "VersionTime"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_327_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20998LU) -); -} - -/* Index - ns=0;i=17588 */ - -static UA_StatusCode function_namespace0_generated_328_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Index"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 17588LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Index"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_328_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17588LU) -); -} - -/* JsonDataSetMessageContentMask - ns=0;i=15658 */ - -static UA_StatusCode function_namespace0_generated_329_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15658LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetMessageContentMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_329_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15658LU) -); -} - -/* OptionSetValues - ns=0;i=15659 */ - -static UA_StatusCode function_namespace0_generated_330_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 8; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15659_variant_DataContents[8]; -variablenode_ns_0_i_15659_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "DataSetWriterId"); -variablenode_ns_0_i_15659_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "MetaDataVersion"); -variablenode_ns_0_i_15659_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SequenceNumber"); -variablenode_ns_0_i_15659_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "Timestamp"); -variablenode_ns_0_i_15659_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "Status"); -variablenode_ns_0_i_15659_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "MessageType"); -variablenode_ns_0_i_15659_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "DataSetWriterName"); -variablenode_ns_0_i_15659_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "ReversibleFieldEncoding"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15659_variant_DataContents, (UA_Int32) 8, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15659LU), -UA_NODEID_NUMERIC(ns[0], 15658LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_330_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15659LU) -); -} - -/* JsonNetworkMessageContentMask - ns=0;i=15654 */ - -static UA_StatusCode function_namespace0_generated_331_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonNetworkMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15654LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonNetworkMessageContentMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_331_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15654LU) -); -} - -/* OptionSetValues - ns=0;i=15655 */ - -static UA_StatusCode function_namespace0_generated_332_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15655_variant_DataContents[6]; -variablenode_ns_0_i_15655_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "NetworkMessageHeader"); -variablenode_ns_0_i_15655_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "DataSetMessageHeader"); -variablenode_ns_0_i_15655_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SingleDataSetMessage"); -variablenode_ns_0_i_15655_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "PublisherId"); -variablenode_ns_0_i_15655_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "DataSetClassId"); -variablenode_ns_0_i_15655_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "ReplyTo"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15655_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15655LU), -UA_NODEID_NUMERIC(ns[0], 15654LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_332_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15655LU) -); -} - -/* UadpDataSetMessageContentMask - ns=0;i=15646 */ - -static UA_StatusCode function_namespace0_generated_333_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15646LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetMessageContentMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_333_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15646LU) -); -} - -/* OptionSetValues - ns=0;i=15647 */ - -static UA_StatusCode function_namespace0_generated_334_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15647_variant_DataContents[6]; -variablenode_ns_0_i_15647_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Timestamp"); -variablenode_ns_0_i_15647_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "PicoSeconds"); -variablenode_ns_0_i_15647_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Status"); -variablenode_ns_0_i_15647_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "MajorVersion"); -variablenode_ns_0_i_15647_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "MinorVersion"); -variablenode_ns_0_i_15647_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "SequenceNumber"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15647_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15647LU), -UA_NODEID_NUMERIC(ns[0], 15646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_334_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15647LU) -); -} - -/* UadpNetworkMessageContentMask - ns=0;i=15642 */ - -static UA_StatusCode function_namespace0_generated_335_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpNetworkMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15642LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpNetworkMessageContentMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_335_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15642LU) -); -} - -/* OptionSetValues - ns=0;i=15643 */ - -static UA_StatusCode function_namespace0_generated_336_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 11; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15643_variant_DataContents[11]; -variablenode_ns_0_i_15643_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "PublisherId"); -variablenode_ns_0_i_15643_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "GroupHeader"); -variablenode_ns_0_i_15643_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "WriterGroupId"); -variablenode_ns_0_i_15643_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "GroupVersion"); -variablenode_ns_0_i_15643_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "NetworkMessageNumber"); -variablenode_ns_0_i_15643_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "SequenceNumber"); -variablenode_ns_0_i_15643_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "PayloadHeader"); -variablenode_ns_0_i_15643_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Timestamp"); -variablenode_ns_0_i_15643_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "PicoSeconds"); -variablenode_ns_0_i_15643_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "DataSetClassId"); -variablenode_ns_0_i_15643_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "PromotedFields"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15643_variant_DataContents, (UA_Int32) 11, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15643LU), -UA_NODEID_NUMERIC(ns[0], 15642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_336_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15643LU) -); -} - -/* DataSetFieldContentMask - ns=0;i=15583 */ - -static UA_StatusCode function_namespace0_generated_337_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15583LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_337_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15583LU) -); -} - -/* OptionSetValues - ns=0;i=15584 */ - -static UA_StatusCode function_namespace0_generated_338_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15584_variant_DataContents[6]; -variablenode_ns_0_i_15584_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "StatusCode"); -variablenode_ns_0_i_15584_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -variablenode_ns_0_i_15584_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "ServerTimestamp"); -variablenode_ns_0_i_15584_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "SourcePicoSeconds"); -variablenode_ns_0_i_15584_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "ServerPicoSeconds"); -variablenode_ns_0_i_15584_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "RawData"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15584_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15584LU), -UA_NODEID_NUMERIC(ns[0], 15583LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_338_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15584LU) -); -} - -/* AccessLevelExType - ns=0;i=15406 */ - -static UA_StatusCode function_namespace0_generated_339_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AccessLevelExType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15406LU), -UA_NODEID_NUMERIC(ns[0], 7LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AccessLevelExType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_339_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15406LU) -); -} - -/* OptionSetValues - ns=0;i=15407 */ - -static UA_StatusCode function_namespace0_generated_340_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 14; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15407_variant_DataContents[14]; -variablenode_ns_0_i_15407_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "CurrentRead"); -variablenode_ns_0_i_15407_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "CurrentWrite"); -variablenode_ns_0_i_15407_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "HistoryRead"); -variablenode_ns_0_i_15407_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "HistoryWrite"); -variablenode_ns_0_i_15407_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SemanticChange"); -variablenode_ns_0_i_15407_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "StatusWrite"); -variablenode_ns_0_i_15407_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "TimestampWrite"); -variablenode_ns_0_i_15407_variant_DataContents[7] = UA_LOCALIZEDTEXT("", "Reserved"); -variablenode_ns_0_i_15407_variant_DataContents[8] = UA_LOCALIZEDTEXT("", "NonatomicRead"); -variablenode_ns_0_i_15407_variant_DataContents[9] = UA_LOCALIZEDTEXT("", "NonatomicWrite"); -variablenode_ns_0_i_15407_variant_DataContents[10] = UA_LOCALIZEDTEXT("", "WriteFullArrayOnly"); -variablenode_ns_0_i_15407_variant_DataContents[11] = UA_LOCALIZEDTEXT("", "NoSubDataTypes"); -variablenode_ns_0_i_15407_variant_DataContents[12] = UA_LOCALIZEDTEXT("", "NonVolatile"); -variablenode_ns_0_i_15407_variant_DataContents[13] = UA_LOCALIZEDTEXT("", "Constant"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15407_variant_DataContents, (UA_Int32) 14, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15407LU), -UA_NODEID_NUMERIC(ns[0], 15406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_340_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15407LU) -); -} - -/* UInt16 - ns=0;i=5 */ - -static UA_StatusCode function_namespace0_generated_341_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UInt16"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 5LU), -UA_NODEID_NUMERIC(ns[0], 28LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UInt16"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_341_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 5LU) -); -} - -/* AccessRestrictionType - ns=0;i=95 */ - -static UA_StatusCode function_namespace0_generated_342_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AccessRestrictionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 95LU), -UA_NODEID_NUMERIC(ns[0], 5LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AccessRestrictionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_342_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 95LU) -); -} - -/* OptionSetValues - ns=0;i=15035 */ - -static UA_StatusCode function_namespace0_generated_343_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15035_variant_DataContents[4]; -variablenode_ns_0_i_15035_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SigningRequired"); -variablenode_ns_0_i_15035_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "EncryptionRequired"); -variablenode_ns_0_i_15035_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "SessionRequired"); -variablenode_ns_0_i_15035_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "ApplyRestrictionsToBrowse"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15035_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15035LU), -UA_NODEID_NUMERIC(ns[0], 95LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_343_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15035LU) -); -} - -/* AlarmMask - ns=0;i=32251 */ - -static UA_StatusCode function_namespace0_generated_344_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 32251LU), -UA_NODEID_NUMERIC(ns[0], 5LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmMask"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_344_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32251LU) -); -} - -/* OptionSetValues - ns=0;i=32252 */ - -static UA_StatusCode function_namespace0_generated_345_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_32252_variant_DataContents[3]; -variablenode_ns_0_i_32252_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "Active"); -variablenode_ns_0_i_32252_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Unacknowledged"); -variablenode_ns_0_i_32252_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "Unconfirmed"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32252_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32252LU), -UA_NODEID_NUMERIC(ns[0], 32251LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_345_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32252LU) -); -} - -/* DataSetFieldFlags - ns=0;i=15904 */ - -static UA_StatusCode function_namespace0_generated_346_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldFlags"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15904LU), -UA_NODEID_NUMERIC(ns[0], 5LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldFlags"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_346_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15904LU) -); -} - -/* OptionSetValues - ns=0;i=15577 */ - -static UA_StatusCode function_namespace0_generated_347_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15577_variant_DataContents[1]; -variablenode_ns_0_i_15577_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "PromotedField"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15577_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15577LU), -UA_NODEID_NUMERIC(ns[0], 15904LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_347_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15577LU) -); -} - -/* Byte - ns=0;i=3 */ - -static UA_StatusCode function_namespace0_generated_348_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Byte"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 3LU), -UA_NODEID_NUMERIC(ns[0], 28LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Byte"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_348_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3LU) -); -} - -/* EventNotifierType - ns=0;i=15033 */ - -static UA_StatusCode function_namespace0_generated_349_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EventNotifierType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15033LU), -UA_NODEID_NUMERIC(ns[0], 3LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EventNotifierType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_349_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15033LU) -); -} - -/* OptionSetValues - ns=0;i=15034 */ - -static UA_StatusCode function_namespace0_generated_350_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15034_variant_DataContents[4]; -variablenode_ns_0_i_15034_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "SubscribeToEvents"); -variablenode_ns_0_i_15034_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "Reserved"); -variablenode_ns_0_i_15034_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "HistoryRead"); -variablenode_ns_0_i_15034_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "HistoryWrite"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15034_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15034LU), -UA_NODEID_NUMERIC(ns[0], 15033LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_350_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15034LU) -); -} - -/* AccessLevelType - ns=0;i=15031 */ - -static UA_StatusCode function_namespace0_generated_351_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AccessLevelType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 15031LU), -UA_NODEID_NUMERIC(ns[0], 3LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AccessLevelType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_351_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15031LU) -); -} - -/* OptionSetValues - ns=0;i=15032 */ - -static UA_StatusCode function_namespace0_generated_352_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText variablenode_ns_0_i_15032_variant_DataContents[7]; -variablenode_ns_0_i_15032_variant_DataContents[0] = UA_LOCALIZEDTEXT("", "CurrentRead"); -variablenode_ns_0_i_15032_variant_DataContents[1] = UA_LOCALIZEDTEXT("", "CurrentWrite"); -variablenode_ns_0_i_15032_variant_DataContents[2] = UA_LOCALIZEDTEXT("", "HistoryRead"); -variablenode_ns_0_i_15032_variant_DataContents[3] = UA_LOCALIZEDTEXT("", "HistoryWrite"); -variablenode_ns_0_i_15032_variant_DataContents[4] = UA_LOCALIZEDTEXT("", "SemanticChange"); -variablenode_ns_0_i_15032_variant_DataContents[5] = UA_LOCALIZEDTEXT("", "StatusWrite"); -variablenode_ns_0_i_15032_variant_DataContents[6] = UA_LOCALIZEDTEXT("", "TimestampWrite"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15032_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15032LU), -UA_NODEID_NUMERIC(ns[0], 15031LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_352_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15032LU) -); -} - -/* Integer - ns=0;i=27 */ - -static UA_StatusCode function_namespace0_generated_353_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Integer"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 27LU), -UA_NODEID_NUMERIC(ns[0], 26LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Integer"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_353_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 27LU) -); -} - -/* Int64 - ns=0;i=8 */ - -static UA_StatusCode function_namespace0_generated_354_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Int64"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 8LU), -UA_NODEID_NUMERIC(ns[0], 27LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Int64"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_354_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8LU) -); -} - -/* Int32 - ns=0;i=6 */ - -static UA_StatusCode function_namespace0_generated_355_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Int32"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 6LU), -UA_NODEID_NUMERIC(ns[0], 27LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Int32"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_355_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 6LU) -); -} - -/* Int16 - ns=0;i=4 */ - -static UA_StatusCode function_namespace0_generated_356_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Int16"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 4LU), -UA_NODEID_NUMERIC(ns[0], 27LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Int16"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_356_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 4LU) -); -} - -/* SByte - ns=0;i=2 */ - -static UA_StatusCode function_namespace0_generated_357_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SByte"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 2LU), -UA_NODEID_NUMERIC(ns[0], 27LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SByte"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_357_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2LU) -); -} - -/* Double - ns=0;i=11 */ - -static UA_StatusCode function_namespace0_generated_358_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Double"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 11LU), -UA_NODEID_NUMERIC(ns[0], 26LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Double"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_358_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11LU) -); -} - -/* Duration - ns=0;i=290 */ - -static UA_StatusCode function_namespace0_generated_359_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Duration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 290LU), -UA_NODEID_NUMERIC(ns[0], 11LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Duration"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_359_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 290LU) -); -} - -/* Float - ns=0;i=10 */ - -static UA_StatusCode function_namespace0_generated_360_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_DataTypeAttributes attr = UA_DataTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Float"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_DATATYPE, -UA_NODEID_NUMERIC(ns[0], 10LU), -UA_NODEID_NUMERIC(ns[0], 26LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "Float"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_DATATYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_360_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10LU) -); -} - -/* ReferenceDescriptionVariableType - ns=0;i=32657 */ - -static UA_StatusCode function_namespace0_generated_361_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 32659LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 32657LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_361_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32657LU) -); -} - -/* ReferenceRefinement - ns=0;i=32658 */ - -static UA_StatusCode function_namespace0_generated_362_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 32660LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceRefinement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32658LU), -UA_NODEID_NUMERIC(ns[0], 32657LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceRefinement"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_362_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32658LU) -); -} - -/* PriorityMappingTableType - ns=0;i=25227 */ - -static UA_StatusCode function_namespace0_generated_363_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingTableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25227LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PriorityMappingTableType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_363_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25227LU) -); -} - -/* DeletePriorityMappingEntry - ns=0;i=25231 */ - -static UA_StatusCode function_namespace0_generated_364_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DeletePriorityMappingEntry"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25231LU), -UA_NODEID_NUMERIC(ns[0], 25227LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeletePriorityMappingEntry"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_364_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25231LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25232 */ - -static UA_StatusCode function_namespace0_generated_365_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25232_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25232_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25232_variant_DataContents[0].name = UA_STRING("MappingUri"); -variablenode_ns_0_i_25232_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25232_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25232_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25232_variant_DataContents[1].name = UA_STRING("PriorityLabel"); -variablenode_ns_0_i_25232_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25232_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25232_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25232LU), -UA_NODEID_NUMERIC(ns[0], 25231LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_365_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25232LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPriorityMappingEntry - ns=0;i=25229 */ - -static UA_StatusCode function_namespace0_generated_366_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPriorityMappingEntry"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25229LU), -UA_NODEID_NUMERIC(ns[0], 25227LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPriorityMappingEntry"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_366_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25229LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25230 */ - -static UA_StatusCode function_namespace0_generated_367_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25230_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_25230_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25230_variant_DataContents[0].name = UA_STRING("MappingUri"); -variablenode_ns_0_i_25230_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25230_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25230_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25230_variant_DataContents[1].name = UA_STRING("PriorityLabel"); -variablenode_ns_0_i_25230_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25230_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25230_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25230_variant_DataContents[2].name = UA_STRING("PriorityValue_PCP"); -variablenode_ns_0_i_25230_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_25230_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25230_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25230_variant_DataContents[3].name = UA_STRING("PriorityValue_DSCP"); -variablenode_ns_0_i_25230_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25230_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25230_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25230LU), -UA_NODEID_NUMERIC(ns[0], 25229LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_367_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25230LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PriorityMapppingEntries - ns=0;i=25228 */ - -static UA_StatusCode function_namespace0_generated_368_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 25220LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMapppingEntries"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25228LU), -UA_NODEID_NUMERIC(ns[0], 25227LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PriorityMapppingEntries"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_368_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25228LU) -); -} - -/* IetfBaseNetworkInterfaceType - ns=0;i=25221 */ - -static UA_StatusCode function_namespace0_generated_369_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IetfBaseNetworkInterfaceType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25221LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IetfBaseNetworkInterfaceType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_369_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25221LU) -); -} - -/* - ns=0;i=25226 */ - -static UA_StatusCode function_namespace0_generated_370_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25226LU), -UA_NODEID_NUMERIC(ns[0], 25221LU), -UA_NODEID_NUMERIC(ns[0], 25238LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_370_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25226LU) -); -} - -/* PhysAddress - ns=0;i=25224 */ - -static UA_StatusCode function_namespace0_generated_371_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PhysAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25224LU), -UA_NODEID_NUMERIC(ns[0], 25221LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PhysAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_371_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25224LU) -); -} - -/* OperStatus - ns=0;i=25223 */ - -static UA_StatusCode function_namespace0_generated_372_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24214LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25223LU), -UA_NODEID_NUMERIC(ns[0], 25221LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_372_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25223LU) -); -} - -/* AdminStatus - ns=0;i=25222 */ - -static UA_StatusCode function_namespace0_generated_373_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24212LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AdminStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25222LU), -UA_NODEID_NUMERIC(ns[0], 25221LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AdminStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_373_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25222LU) -); -} - -/* ProvisionableDeviceType - ns=0;i=26871 */ - -static UA_StatusCode function_namespace0_generated_374_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ProvisionableDeviceType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 26871LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProvisionableDeviceType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_374_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26871LU) -); -} - -/* SetRegistrarEndpoints - ns=0;i=26875 */ - -static UA_StatusCode function_namespace0_generated_375_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetRegistrarEndpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26875LU), -UA_NODEID_NUMERIC(ns[0], 26871LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetRegistrarEndpoints"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_375_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26875LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26876 */ - -static UA_StatusCode function_namespace0_generated_376_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26876_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26876_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26876_variant_DataContents[0].name = UA_STRING("Registrars"); -variablenode_ns_0_i_26876_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 308LU); -variablenode_ns_0_i_26876_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_26876_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_26876_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_26876_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26876_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26876LU), -UA_NODEID_NUMERIC(ns[0], 26875LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_376_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26876LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RequestTickets - ns=0;i=26873 */ - -static UA_StatusCode function_namespace0_generated_377_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RequestTickets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26873LU), -UA_NODEID_NUMERIC(ns[0], 26871LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RequestTickets"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_377_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26873LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=26874 */ - -static UA_StatusCode function_namespace0_generated_378_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26874_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26874_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26874_variant_DataContents[0].name = UA_STRING("Tickets"); -variablenode_ns_0_i_26874_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 25726LU); -variablenode_ns_0_i_26874_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_26874_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_26874_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_26874_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26874_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26874LU), -UA_NODEID_NUMERIC(ns[0], 26873LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_378_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26874LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* IsSingleton - ns=0;i=26872 */ - -static UA_StatusCode function_namespace0_generated_379_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsSingleton"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26872LU), -UA_NODEID_NUMERIC(ns[0], 26871LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsSingleton"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_379_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26872LU) -); -} - -/* UserManagementType - ns=0;i=24264 */ - -static UA_StatusCode function_namespace0_generated_380_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserManagementType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_380_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24264LU) -); -} - -/* ChangePassword - ns=0;i=24275 */ - -static UA_StatusCode function_namespace0_generated_381_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ChangePassword"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24275LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ChangePassword"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_381_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24275LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24276 */ - -static UA_StatusCode function_namespace0_generated_382_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24276_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_24276_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24276_variant_DataContents[0].name = UA_STRING("OldPassword"); -variablenode_ns_0_i_24276_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24276_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24276_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24276_variant_DataContents[1].name = UA_STRING("NewPassword"); -variablenode_ns_0_i_24276_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24276_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24276_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24276LU), -UA_NODEID_NUMERIC(ns[0], 24275LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_382_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24276LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveUser - ns=0;i=24273 */ - -static UA_StatusCode function_namespace0_generated_383_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveUser"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24273LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveUser"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_383_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24273LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24274 */ - -static UA_StatusCode function_namespace0_generated_384_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24274_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24274_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24274_variant_DataContents[0].name = UA_STRING("UserName"); -variablenode_ns_0_i_24274_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24274_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24274_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24274LU), -UA_NODEID_NUMERIC(ns[0], 24273LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_384_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24274LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ModifyUser - ns=0;i=24271 */ - -static UA_StatusCode function_namespace0_generated_385_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyUser"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24271LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyUser"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_385_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24271LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24272 */ - -static UA_StatusCode function_namespace0_generated_386_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24272_variant_DataContents[7]; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[0].name = UA_STRING("UserName"); -variablenode_ns_0_i_24272_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24272_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[1].name = UA_STRING("ModifyPassword"); -variablenode_ns_0_i_24272_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_24272_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[2].name = UA_STRING("Password"); -variablenode_ns_0_i_24272_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24272_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[3].name = UA_STRING("ModifyUserConfiguration"); -variablenode_ns_0_i_24272_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_24272_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[4].name = UA_STRING("UserConfiguration"); -variablenode_ns_0_i_24272_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); -variablenode_ns_0_i_24272_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[5].name = UA_STRING("ModifyDescription"); -variablenode_ns_0_i_24272_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_24272_variant_DataContents[5].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24272_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24272_variant_DataContents[6].name = UA_STRING("Description"); -variablenode_ns_0_i_24272_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24272_variant_DataContents[6].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24272_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24272LU), -UA_NODEID_NUMERIC(ns[0], 24271LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_386_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24272LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddUser - ns=0;i=24269 */ - -static UA_StatusCode function_namespace0_generated_387_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddUser"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24269LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddUser"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_387_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24269LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24270 */ - -static UA_StatusCode function_namespace0_generated_388_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24270_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_24270_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24270_variant_DataContents[0].name = UA_STRING("UserName"); -variablenode_ns_0_i_24270_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24270_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24270_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24270_variant_DataContents[1].name = UA_STRING("Password"); -variablenode_ns_0_i_24270_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24270_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24270_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24270_variant_DataContents[2].name = UA_STRING("UserConfiguration"); -variablenode_ns_0_i_24270_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); -variablenode_ns_0_i_24270_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24270_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24270_variant_DataContents[3].name = UA_STRING("Description"); -variablenode_ns_0_i_24270_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24270_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24270_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24270LU), -UA_NODEID_NUMERIC(ns[0], 24269LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_388_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24270LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PasswordRestrictions - ns=0;i=24268 */ - -static UA_StatusCode function_namespace0_generated_389_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordRestrictions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24268LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PasswordRestrictions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_389_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24268LU) -); -} - -/* PasswordOptions - ns=0;i=24267 */ - -static UA_StatusCode function_namespace0_generated_390_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24277LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordOptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24267LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PasswordOptions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_390_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24267LU) -); -} - -/* PasswordLength - ns=0;i=24266 */ - -static UA_StatusCode function_namespace0_generated_391_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24266LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PasswordLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_391_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24266LU) -); -} - -/* Users - ns=0;i=24265 */ - -static UA_StatusCode function_namespace0_generated_392_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24281LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Users"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24265LU), -UA_NODEID_NUMERIC(ns[0], 24264LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Users"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_392_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24265LU) -); -} - -/* AliasNameCategoryType - ns=0;i=23456 */ - -static UA_StatusCode function_namespace0_generated_393_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameCategoryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23456LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AliasNameCategoryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_393_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23456LU) -); -} - -/* Aliases - ns=0;i=23470 */ - -static UA_StatusCode function_namespace0_generated_394_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Aliases"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23470LU), -UA_NODEID_NUMERIC(ns[0], 85LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "Aliases"), -UA_NODEID_NUMERIC(ns[0], 23456LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_394_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23470LU) -); -} - -/* Topics - ns=0;i=23488 */ - -static UA_StatusCode function_namespace0_generated_395_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Topics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23488LU), -UA_NODEID_NUMERIC(ns[0], 23470LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "Topics"), -UA_NODEID_NUMERIC(ns[0], 23456LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_395_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23488LU) -); -} - -/* FindAlias - ns=0;i=23494 */ - -static UA_StatusCode function_namespace0_generated_396_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23494LU), -UA_NODEID_NUMERIC(ns[0], 23488LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FindAlias"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_396_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23494LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23496 */ - -static UA_StatusCode function_namespace0_generated_397_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23496_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23496_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23496_variant_DataContents[0].name = UA_STRING("AliasNodeList"); -variablenode_ns_0_i_23496_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); -variablenode_ns_0_i_23496_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_23496_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_23496_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23496_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23496_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23496LU), -UA_NODEID_NUMERIC(ns[0], 23494LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_397_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23496LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23495 */ - -static UA_StatusCode function_namespace0_generated_398_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23495_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_23495_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23495_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); -variablenode_ns_0_i_23495_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23495_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_23495_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23495_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); -variablenode_ns_0_i_23495_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23495_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23495_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23495LU), -UA_NODEID_NUMERIC(ns[0], 23494LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_398_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23495LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TagVariables - ns=0;i=23479 */ - -static UA_StatusCode function_namespace0_generated_399_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TagVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23479LU), -UA_NODEID_NUMERIC(ns[0], 23470LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "TagVariables"), -UA_NODEID_NUMERIC(ns[0], 23456LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_399_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23479LU) -); -} - -/* FindAlias - ns=0;i=23485 */ - -static UA_StatusCode function_namespace0_generated_400_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23485LU), -UA_NODEID_NUMERIC(ns[0], 23479LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FindAlias"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_400_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23485LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23487 */ - -static UA_StatusCode function_namespace0_generated_401_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23487_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23487_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23487_variant_DataContents[0].name = UA_STRING("AliasNodeList"); -variablenode_ns_0_i_23487_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); -variablenode_ns_0_i_23487_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_23487_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_23487_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23487_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23487_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23487LU), -UA_NODEID_NUMERIC(ns[0], 23485LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_401_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23487LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23486 */ - -static UA_StatusCode function_namespace0_generated_402_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23486_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_23486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23486_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); -variablenode_ns_0_i_23486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23486_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_23486_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23486_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); -variablenode_ns_0_i_23486_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23486_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23486_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23486LU), -UA_NODEID_NUMERIC(ns[0], 23485LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_402_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23486LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* FindAlias - ns=0;i=23476 */ - -static UA_StatusCode function_namespace0_generated_403_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23476LU), -UA_NODEID_NUMERIC(ns[0], 23470LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FindAlias"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_403_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23476LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23478 */ - -static UA_StatusCode function_namespace0_generated_404_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23478_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23478_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23478_variant_DataContents[0].name = UA_STRING("AliasNodeList"); -variablenode_ns_0_i_23478_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); -variablenode_ns_0_i_23478_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_23478_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_23478_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23478_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23478_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23478LU), -UA_NODEID_NUMERIC(ns[0], 23476LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_404_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23478LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23477 */ - -static UA_StatusCode function_namespace0_generated_405_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23477_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_23477_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23477_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); -variablenode_ns_0_i_23477_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23477_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_23477_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23477_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); -variablenode_ns_0_i_23477_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23477_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23477_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23477LU), -UA_NODEID_NUMERIC(ns[0], 23476LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_405_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23477LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* FindAlias - ns=0;i=23462 */ - -static UA_StatusCode function_namespace0_generated_406_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23462LU), -UA_NODEID_NUMERIC(ns[0], 23456LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FindAlias"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_406_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23462LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23464 */ - -static UA_StatusCode function_namespace0_generated_407_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23464_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23464_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23464_variant_DataContents[0].name = UA_STRING("AliasNodeList"); -variablenode_ns_0_i_23464_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); -variablenode_ns_0_i_23464_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_23464_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_23464_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23464_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23464_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23464LU), -UA_NODEID_NUMERIC(ns[0], 23462LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_407_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23464LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23463 */ - -static UA_StatusCode function_namespace0_generated_408_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23463_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_23463_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23463_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); -variablenode_ns_0_i_23463_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23463_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_23463_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23463_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); -variablenode_ns_0_i_23463_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23463_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23463_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23463LU), -UA_NODEID_NUMERIC(ns[0], 23462LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_408_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23463LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=23458 */ - -static UA_StatusCode function_namespace0_generated_409_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23458LU), -UA_NODEID_NUMERIC(ns[0], 23456LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 23456LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_409_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23458LU) -); -} - -/* FindAlias - ns=0;i=23459 */ - -static UA_StatusCode function_namespace0_generated_410_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "FindAlias"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23459LU), -UA_NODEID_NUMERIC(ns[0], 23458LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FindAlias"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_410_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23459LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23461 */ - -static UA_StatusCode function_namespace0_generated_411_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23461_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23461_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23461_variant_DataContents[0].name = UA_STRING("AliasNodeList"); -variablenode_ns_0_i_23461_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23468LU); -variablenode_ns_0_i_23461_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_23461_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_23461_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23461_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23461_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23461LU), -UA_NODEID_NUMERIC(ns[0], 23459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_411_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23461LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23460 */ - -static UA_StatusCode function_namespace0_generated_412_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23460_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_23460_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23460_variant_DataContents[0].name = UA_STRING("AliasNameSearchPattern"); -variablenode_ns_0_i_23460_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23460_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_23460_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23460_variant_DataContents[1].name = UA_STRING("ReferenceTypeFilter"); -variablenode_ns_0_i_23460_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23460_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23460_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23460LU), -UA_NODEID_NUMERIC(ns[0], 23459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_412_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23460LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AliasNameType - ns=0;i=23455 */ - -static UA_StatusCode function_namespace0_generated_413_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23455LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AliasNameType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_413_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23455LU) -); -} - -/* - ns=0;i=23457 */ - -static UA_StatusCode function_namespace0_generated_414_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23457LU), -UA_NODEID_NUMERIC(ns[0], 23456LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 23455LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_414_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23457LU) -); -} - -/* NetworkAddressType - ns=0;i=21145 */ - -static UA_StatusCode function_namespace0_generated_415_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21145LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_415_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21145LU) -); -} - -/* NetworkAddressUrlType - ns=0;i=21147 */ - -static UA_StatusCode function_namespace0_generated_416_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21147LU), -UA_NODEID_NUMERIC(ns[0], 21145LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_416_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21147LU) -); -} - -/* Url - ns=0;i=21149 */ - -static UA_StatusCode function_namespace0_generated_417_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Url"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21149LU), -UA_NODEID_NUMERIC(ns[0], 21147LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Url"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_417_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21149LU) -); -} - -/* PubSubCapabilitiesType - ns=0;i=23832 */ - -static UA_StatusCode function_namespace0_generated_418_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapabilitiesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubCapabilitiesType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_418_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23832LU) -); -} - -/* SupportSecurityKeyPush - ns=0;i=32655 */ - -static UA_StatusCode function_namespace0_generated_419_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportSecurityKeyPush"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32655LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportSecurityKeyPush"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_419_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32655LU) -); -} - -/* SupportSecurityKeyPull - ns=0;i=32654 */ - -static UA_StatusCode function_namespace0_generated_420_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportSecurityKeyPull"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32654LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportSecurityKeyPull"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_420_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32654LU) -); -} - -/* MaxNetworkMessageSizeBroker - ns=0;i=32653 */ - -static UA_StatusCode function_namespace0_generated_421_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSizeBroker"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32653LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSizeBroker"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_421_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32653LU) -); -} - -/* MaxNetworkMessageSizeDatagram - ns=0;i=32652 */ - -static UA_StatusCode function_namespace0_generated_422_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSizeDatagram"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32652LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSizeDatagram"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_422_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32652LU) -); -} - -/* MaxDataSetWritersPerGroup - ns=0;i=32651 */ - -static UA_StatusCode function_namespace0_generated_423_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWritersPerGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32651LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetWritersPerGroup"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_423_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32651LU) -); -} - -/* MaxFieldsPerDataSet - ns=0;i=23838 */ - -static UA_StatusCode function_namespace0_generated_424_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23838LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_424_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23838LU) -); -} - -/* MaxDataSetReaders - ns=0;i=23837 */ - -static UA_StatusCode function_namespace0_generated_425_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23837LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_425_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23837LU) -); -} - -/* MaxDataSetWriters - ns=0;i=23836 */ - -static UA_StatusCode function_namespace0_generated_426_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23836LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_426_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23836LU) -); -} - -/* MaxReaderGroups - ns=0;i=23835 */ - -static UA_StatusCode function_namespace0_generated_427_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23835LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_427_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23835LU) -); -} - -/* MaxWriterGroups - ns=0;i=23834 */ - -static UA_StatusCode function_namespace0_generated_428_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23834LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_428_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23834LU) -); -} - -/* MaxPubSubConnections - ns=0;i=23833 */ - -static UA_StatusCode function_namespace0_generated_429_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23833LU), -UA_NODEID_NUMERIC(ns[0], 23832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_429_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23833LU) -); -} - -/* PubSubDiagnosticsCounterType - ns=0;i=19725 */ - -static UA_StatusCode function_namespace0_generated_430_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsCounterType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 19725LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsCounterType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_430_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19725LU) -); -} - -/* TimeFirstChange - ns=0;i=19729 */ - -static UA_StatusCode function_namespace0_generated_431_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TimeFirstChange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19729LU), -UA_NODEID_NUMERIC(ns[0], 19725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TimeFirstChange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_431_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19729LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19728 */ - -static UA_StatusCode function_namespace0_generated_432_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19728LU), -UA_NODEID_NUMERIC(ns[0], 19725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_432_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19728LU) -); -} - -/* Classification - ns=0;i=19727 */ - -static UA_StatusCode function_namespace0_generated_433_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19727LU), -UA_NODEID_NUMERIC(ns[0], 19725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_433_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19727LU) -); -} - -/* Active - ns=0;i=19726 */ - -static UA_StatusCode function_namespace0_generated_434_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19726LU), -UA_NODEID_NUMERIC(ns[0], 19725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_434_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19726LU) -); -} - -/* PubSubDiagnosticsType - ns=0;i=19677 */ - -static UA_StatusCode function_namespace0_generated_435_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_435_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19677LU) -); -} - -/* PubSubDiagnosticsDataSetReaderType - ns=0;i=20027 */ - -static UA_StatusCode function_namespace0_generated_436_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsDataSetReaderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 20027LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsDataSetReaderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_436_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20027LU) -); -} - -/* LiveValues - ns=0;i=20072 */ - -static UA_StatusCode function_namespace0_generated_437_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 20027LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_437_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20072LU) -); -} - -/* TimeToNextTokenID - ns=0;i=20093 */ - -static UA_StatusCode function_namespace0_generated_438_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TimeToNextTokenID"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20093LU), -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimeToNextTokenID"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_438_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20093LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20094 */ - -static UA_StatusCode function_namespace0_generated_439_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20094_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20094_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20094_variant_DataContents); -*variablenode_ns_0_i_20094_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20094_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20094LU), -UA_NODEID_NUMERIC(ns[0], 20093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20094_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_439_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20094LU) -); -} - -/* SecurityTokenID - ns=0;i=20091 */ - -static UA_StatusCode function_namespace0_generated_440_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityTokenID"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20091LU), -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityTokenID"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_440_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20091LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20092 */ - -static UA_StatusCode function_namespace0_generated_441_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20092_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20092_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20092_variant_DataContents); -*variablenode_ns_0_i_20092_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20092_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20092LU), -UA_NODEID_NUMERIC(ns[0], 20091LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20092_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_441_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20092LU) -); -} - -/* MinorVersion - ns=0;i=20089 */ - -static UA_StatusCode function_namespace0_generated_442_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MinorVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20089LU), -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MinorVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_442_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20089LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20090 */ - -static UA_StatusCode function_namespace0_generated_443_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20090_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20090_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20090_variant_DataContents); -*variablenode_ns_0_i_20090_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20090_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20090LU), -UA_NODEID_NUMERIC(ns[0], 20089LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20090_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_443_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20090LU) -); -} - -/* MajorVersion - ns=0;i=20087 */ - -static UA_StatusCode function_namespace0_generated_444_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MajorVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20087LU), -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MajorVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_444_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20087LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20088 */ - -static UA_StatusCode function_namespace0_generated_445_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20088_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20088_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20088_variant_DataContents); -*variablenode_ns_0_i_20088_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20088_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20088LU), -UA_NODEID_NUMERIC(ns[0], 20087LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20088_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_445_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20088LU) -); -} - -/* StatusCode - ns=0;i=20085 */ - -static UA_StatusCode function_namespace0_generated_446_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatusCode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20085LU), -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatusCode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_446_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20085LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20086 */ - -static UA_StatusCode function_namespace0_generated_447_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20086_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20086_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20086_variant_DataContents); -*variablenode_ns_0_i_20086_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20086_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20086LU), -UA_NODEID_NUMERIC(ns[0], 20085LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20086_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_447_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20086LU) -); -} - -/* MessageSequenceNumber - ns=0;i=20083 */ - -static UA_StatusCode function_namespace0_generated_448_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSequenceNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20083LU), -UA_NODEID_NUMERIC(ns[0], 20072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MessageSequenceNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_448_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20083LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20084 */ - -static UA_StatusCode function_namespace0_generated_449_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20084_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20084_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20084_variant_DataContents); -*variablenode_ns_0_i_20084_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20084_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20084LU), -UA_NODEID_NUMERIC(ns[0], 20083LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20084_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_449_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20084LU) -); -} - -/* Counters - ns=0;i=20041 */ - -static UA_StatusCode function_namespace0_generated_450_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 20041LU), -UA_NODEID_NUMERIC(ns[0], 20027LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_450_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20041LU) -); -} - -/* DecryptionErrors - ns=0;i=20078 */ - -static UA_StatusCode function_namespace0_generated_451_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DecryptionErrors"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20078LU), -UA_NODEID_NUMERIC(ns[0], 20041LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DecryptionErrors"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_451_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20078LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20081 */ - -static UA_StatusCode function_namespace0_generated_452_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20081_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20081_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20081_variant_DataContents); -*variablenode_ns_0_i_20081_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20081_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20081LU), -UA_NODEID_NUMERIC(ns[0], 20078LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20081_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_452_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20081LU) -); -} - -/* Classification - ns=0;i=20080 */ - -static UA_StatusCode function_namespace0_generated_453_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_20080_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20080_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20080_variant_DataContents); -*variablenode_ns_0_i_20080_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20080_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20080LU), -UA_NODEID_NUMERIC(ns[0], 20078LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20080_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_453_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20080LU) -); -} - -/* Active - ns=0;i=20079 */ - -static UA_StatusCode function_namespace0_generated_454_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20079LU), -UA_NODEID_NUMERIC(ns[0], 20078LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_454_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20079LU) -); -} - -/* FailedDataSetMessages - ns=0;i=20073 */ - -static UA_StatusCode function_namespace0_generated_455_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20073LU), -UA_NODEID_NUMERIC(ns[0], 20041LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_455_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20073LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20076 */ - -static UA_StatusCode function_namespace0_generated_456_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20076_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20076_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20076_variant_DataContents); -*variablenode_ns_0_i_20076_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20076_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20076LU), -UA_NODEID_NUMERIC(ns[0], 20073LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20076_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_456_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20076LU) -); -} - -/* Classification - ns=0;i=20075 */ - -static UA_StatusCode function_namespace0_generated_457_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_20075_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20075_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20075_variant_DataContents); -*variablenode_ns_0_i_20075_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20075_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20075LU), -UA_NODEID_NUMERIC(ns[0], 20073LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20075_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_457_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20075LU) -); -} - -/* Active - ns=0;i=20074 */ - -static UA_StatusCode function_namespace0_generated_458_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20074LU), -UA_NODEID_NUMERIC(ns[0], 20073LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_458_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20074LU) -); -} - -/* PubSubDiagnosticsDataSetWriterType - ns=0;i=19968 */ - -static UA_StatusCode function_namespace0_generated_459_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsDataSetWriterType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19968LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsDataSetWriterType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_459_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19968LU) -); -} - -/* LiveValues - ns=0;i=20013 */ - -static UA_StatusCode function_namespace0_generated_460_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 20013LU), -UA_NODEID_NUMERIC(ns[0], 19968LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_460_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20013LU) -); -} - -/* MinorVersion - ns=0;i=20025 */ - -static UA_StatusCode function_namespace0_generated_461_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MinorVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20025LU), -UA_NODEID_NUMERIC(ns[0], 20013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MinorVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_461_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20025LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20026 */ - -static UA_StatusCode function_namespace0_generated_462_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20026_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20026_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20026_variant_DataContents); -*variablenode_ns_0_i_20026_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20026_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20026LU), -UA_NODEID_NUMERIC(ns[0], 20025LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20026_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_462_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20026LU) -); -} - -/* MajorVersion - ns=0;i=20023 */ - -static UA_StatusCode function_namespace0_generated_463_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MajorVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20023LU), -UA_NODEID_NUMERIC(ns[0], 20013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MajorVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_463_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20023LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20024 */ - -static UA_StatusCode function_namespace0_generated_464_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20024_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20024_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20024_variant_DataContents); -*variablenode_ns_0_i_20024_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20024_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20024LU), -UA_NODEID_NUMERIC(ns[0], 20023LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20024_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_464_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20024LU) -); -} - -/* StatusCode - ns=0;i=20021 */ - -static UA_StatusCode function_namespace0_generated_465_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatusCode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20021LU), -UA_NODEID_NUMERIC(ns[0], 20013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatusCode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_465_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20021LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20022 */ - -static UA_StatusCode function_namespace0_generated_466_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20022_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20022_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20022_variant_DataContents); -*variablenode_ns_0_i_20022_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20022_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20022LU), -UA_NODEID_NUMERIC(ns[0], 20021LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20022_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_466_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20022LU) -); -} - -/* MessageSequenceNumber - ns=0;i=20019 */ - -static UA_StatusCode function_namespace0_generated_467_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSequenceNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20019LU), -UA_NODEID_NUMERIC(ns[0], 20013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MessageSequenceNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_467_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20019LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20020 */ - -static UA_StatusCode function_namespace0_generated_468_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20020_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20020_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20020_variant_DataContents); -*variablenode_ns_0_i_20020_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20020_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20020LU), -UA_NODEID_NUMERIC(ns[0], 20019LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20020_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_468_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20020LU) -); -} - -/* Counters - ns=0;i=19982 */ - -static UA_StatusCode function_namespace0_generated_469_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19982LU), -UA_NODEID_NUMERIC(ns[0], 19968LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_469_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19982LU) -); -} - -/* FailedDataSetMessages - ns=0;i=20014 */ - -static UA_StatusCode function_namespace0_generated_470_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20014LU), -UA_NODEID_NUMERIC(ns[0], 19982LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_470_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20014LU) -); -} - -/* DiagnosticsLevel - ns=0;i=20017 */ - -static UA_StatusCode function_namespace0_generated_471_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_20017_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20017_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20017_variant_DataContents); -*variablenode_ns_0_i_20017_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20017_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20017LU), -UA_NODEID_NUMERIC(ns[0], 20014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20017_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_471_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20017LU) -); -} - -/* Classification - ns=0;i=20016 */ - -static UA_StatusCode function_namespace0_generated_472_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_20016_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_20016_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_20016_variant_DataContents); -*variablenode_ns_0_i_20016_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_20016_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20016LU), -UA_NODEID_NUMERIC(ns[0], 20014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_20016_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_472_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20016LU) -); -} - -/* Active - ns=0;i=20015 */ - -static UA_StatusCode function_namespace0_generated_473_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20015LU), -UA_NODEID_NUMERIC(ns[0], 20014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_473_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20015LU) -); -} - -/* PubSubDiagnosticsReaderGroupType - ns=0;i=19903 */ - -static UA_StatusCode function_namespace0_generated_474_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsReaderGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19903LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsReaderGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_474_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19903LU) -); -} - -/* LiveValues - ns=0;i=19948 */ - -static UA_StatusCode function_namespace0_generated_475_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19948LU), -UA_NODEID_NUMERIC(ns[0], 19903LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_475_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19948LU) -); -} - -/* OperationalDataSetReaders - ns=0;i=19966 */ - -static UA_StatusCode function_namespace0_generated_476_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19966LU), -UA_NODEID_NUMERIC(ns[0], 19948LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_476_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19966LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19967 */ - -static UA_StatusCode function_namespace0_generated_477_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19967_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19967_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19967_variant_DataContents); -*variablenode_ns_0_i_19967_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19967_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19967LU), -UA_NODEID_NUMERIC(ns[0], 19966LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19967_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_477_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19967LU) -); -} - -/* ConfiguredDataSetReaders - ns=0;i=19964 */ - -static UA_StatusCode function_namespace0_generated_478_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19964LU), -UA_NODEID_NUMERIC(ns[0], 19948LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_478_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19964LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19965 */ - -static UA_StatusCode function_namespace0_generated_479_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19965_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19965_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19965_variant_DataContents); -*variablenode_ns_0_i_19965_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19965_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19965LU), -UA_NODEID_NUMERIC(ns[0], 19964LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19965_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_479_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19965LU) -); -} - -/* Counters - ns=0;i=19917 */ - -static UA_StatusCode function_namespace0_generated_480_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19917LU), -UA_NODEID_NUMERIC(ns[0], 19903LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_480_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19917LU) -); -} - -/* DecryptionErrors - ns=0;i=19959 */ - -static UA_StatusCode function_namespace0_generated_481_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DecryptionErrors"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19959LU), -UA_NODEID_NUMERIC(ns[0], 19917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DecryptionErrors"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_481_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19959LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19962 */ - -static UA_StatusCode function_namespace0_generated_482_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19962_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19962_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19962_variant_DataContents); -*variablenode_ns_0_i_19962_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19962_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19962LU), -UA_NODEID_NUMERIC(ns[0], 19959LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19962_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_482_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19962LU) -); -} - -/* Classification - ns=0;i=19961 */ - -static UA_StatusCode function_namespace0_generated_483_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19961_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19961_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19961_variant_DataContents); -*variablenode_ns_0_i_19961_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19961_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19961LU), -UA_NODEID_NUMERIC(ns[0], 19959LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19961_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_483_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19961LU) -); -} - -/* Active - ns=0;i=19960 */ - -static UA_StatusCode function_namespace0_generated_484_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19960LU), -UA_NODEID_NUMERIC(ns[0], 19959LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_484_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19960LU) -); -} - -/* ReceivedInvalidNetworkMessages - ns=0;i=19954 */ - -static UA_StatusCode function_namespace0_generated_485_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceivedInvalidNetworkMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19954LU), -UA_NODEID_NUMERIC(ns[0], 19917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceivedInvalidNetworkMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_485_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19954LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19957 */ - -static UA_StatusCode function_namespace0_generated_486_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19957_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19957_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19957_variant_DataContents); -*variablenode_ns_0_i_19957_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19957_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19957LU), -UA_NODEID_NUMERIC(ns[0], 19954LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19957_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_486_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19957LU) -); -} - -/* Classification - ns=0;i=19956 */ - -static UA_StatusCode function_namespace0_generated_487_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19956_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19956_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19956_variant_DataContents); -*variablenode_ns_0_i_19956_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19956_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19956LU), -UA_NODEID_NUMERIC(ns[0], 19954LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19956_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_487_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19956LU) -); -} - -/* Active - ns=0;i=19955 */ - -static UA_StatusCode function_namespace0_generated_488_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19955LU), -UA_NODEID_NUMERIC(ns[0], 19954LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_488_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19955LU) -); -} - -/* ReceivedNetworkMessages - ns=0;i=19949 */ - -static UA_StatusCode function_namespace0_generated_489_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceivedNetworkMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19949LU), -UA_NODEID_NUMERIC(ns[0], 19917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceivedNetworkMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_489_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19949LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19952 */ - -static UA_StatusCode function_namespace0_generated_490_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19952_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19952_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19952_variant_DataContents); -*variablenode_ns_0_i_19952_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19952_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19952LU), -UA_NODEID_NUMERIC(ns[0], 19949LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19952_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_490_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19952LU) -); -} - -/* Classification - ns=0;i=19951 */ - -static UA_StatusCode function_namespace0_generated_491_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19951_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19951_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19951_variant_DataContents); -*variablenode_ns_0_i_19951_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19951_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19951LU), -UA_NODEID_NUMERIC(ns[0], 19949LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19951_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_491_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19951LU) -); -} - -/* Active - ns=0;i=19950 */ - -static UA_StatusCode function_namespace0_generated_492_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19950LU), -UA_NODEID_NUMERIC(ns[0], 19949LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_492_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19950LU) -); -} - -/* PubSubDiagnosticsWriterGroupType - ns=0;i=19834 */ - -static UA_StatusCode function_namespace0_generated_493_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsWriterGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19834LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsWriterGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_493_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19834LU) -); -} - -/* LiveValues - ns=0;i=19879 */ - -static UA_StatusCode function_namespace0_generated_494_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19879LU), -UA_NODEID_NUMERIC(ns[0], 19834LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_494_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19879LU) -); -} - -/* TimeToNextTokenID - ns=0;i=19901 */ - -static UA_StatusCode function_namespace0_generated_495_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TimeToNextTokenID"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19901LU), -UA_NODEID_NUMERIC(ns[0], 19879LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimeToNextTokenID"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_495_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19901LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19902 */ - -static UA_StatusCode function_namespace0_generated_496_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19902_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19902_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19902_variant_DataContents); -*variablenode_ns_0_i_19902_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19902_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19902LU), -UA_NODEID_NUMERIC(ns[0], 19901LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19902_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_496_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19902LU) -); -} - -/* SecurityTokenID - ns=0;i=19899 */ - -static UA_StatusCode function_namespace0_generated_497_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityTokenID"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19899LU), -UA_NODEID_NUMERIC(ns[0], 19879LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityTokenID"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_497_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19899LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19900 */ - -static UA_StatusCode function_namespace0_generated_498_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19900_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19900_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19900_variant_DataContents); -*variablenode_ns_0_i_19900_variant_DataContents = (UA_Int32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19900_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19900LU), -UA_NODEID_NUMERIC(ns[0], 19899LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19900_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_498_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19900LU) -); -} - -/* OperationalDataSetWriters - ns=0;i=19897 */ - -static UA_StatusCode function_namespace0_generated_499_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19897LU), -UA_NODEID_NUMERIC(ns[0], 19879LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_499_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19897LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19898 */ - -static UA_StatusCode function_namespace0_generated_500_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19898_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19898_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19898_variant_DataContents); -*variablenode_ns_0_i_19898_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19898_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19898LU), -UA_NODEID_NUMERIC(ns[0], 19897LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19898_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_500_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19898LU) -); -} - -/* ConfiguredDataSetWriters - ns=0;i=19895 */ - -static UA_StatusCode function_namespace0_generated_501_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19895LU), -UA_NODEID_NUMERIC(ns[0], 19879LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_501_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19895LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19896 */ - -static UA_StatusCode function_namespace0_generated_502_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19896_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19896_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19896_variant_DataContents); -*variablenode_ns_0_i_19896_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19896_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19896LU), -UA_NODEID_NUMERIC(ns[0], 19895LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19896_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_502_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19896LU) -); -} - -/* Counters - ns=0;i=19848 */ - -static UA_StatusCode function_namespace0_generated_503_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19848LU), -UA_NODEID_NUMERIC(ns[0], 19834LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_503_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19848LU) -); -} - -/* EncryptionErrors - ns=0;i=19890 */ - -static UA_StatusCode function_namespace0_generated_504_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EncryptionErrors"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19890LU), -UA_NODEID_NUMERIC(ns[0], 19848LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EncryptionErrors"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_504_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19890LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19893 */ - -static UA_StatusCode function_namespace0_generated_505_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19893_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19893_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19893_variant_DataContents); -*variablenode_ns_0_i_19893_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19893_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19893LU), -UA_NODEID_NUMERIC(ns[0], 19890LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19893_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_505_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19893LU) -); -} - -/* Classification - ns=0;i=19892 */ - -static UA_StatusCode function_namespace0_generated_506_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19892_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19892_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19892_variant_DataContents); -*variablenode_ns_0_i_19892_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19892_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19892LU), -UA_NODEID_NUMERIC(ns[0], 19890LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19892_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_506_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19892LU) -); -} - -/* Active - ns=0;i=19891 */ - -static UA_StatusCode function_namespace0_generated_507_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19891LU), -UA_NODEID_NUMERIC(ns[0], 19890LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_507_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19891LU) -); -} - -/* FailedTransmissions - ns=0;i=19885 */ - -static UA_StatusCode function_namespace0_generated_508_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailedTransmissions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19885LU), -UA_NODEID_NUMERIC(ns[0], 19848LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailedTransmissions"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_508_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19885LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19888 */ - -static UA_StatusCode function_namespace0_generated_509_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19888_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19888_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19888_variant_DataContents); -*variablenode_ns_0_i_19888_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19888_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19888LU), -UA_NODEID_NUMERIC(ns[0], 19885LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19888_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_509_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19888LU) -); -} - -/* Classification - ns=0;i=19887 */ - -static UA_StatusCode function_namespace0_generated_510_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19887_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19887_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19887_variant_DataContents); -*variablenode_ns_0_i_19887_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19887_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19887LU), -UA_NODEID_NUMERIC(ns[0], 19885LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19887_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_510_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19887LU) -); -} - -/* Active - ns=0;i=19886 */ - -static UA_StatusCode function_namespace0_generated_511_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19886LU), -UA_NODEID_NUMERIC(ns[0], 19885LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_511_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19886LU) -); -} - -/* SentNetworkMessages - ns=0;i=19880 */ - -static UA_StatusCode function_namespace0_generated_512_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SentNetworkMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19880LU), -UA_NODEID_NUMERIC(ns[0], 19848LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SentNetworkMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_512_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19880LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19883 */ - -static UA_StatusCode function_namespace0_generated_513_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19883_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19883_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19883_variant_DataContents); -*variablenode_ns_0_i_19883_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19883_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19883LU), -UA_NODEID_NUMERIC(ns[0], 19880LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19883_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_513_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19883LU) -); -} - -/* Classification - ns=0;i=19882 */ - -static UA_StatusCode function_namespace0_generated_514_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19882_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19882_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19882_variant_DataContents); -*variablenode_ns_0_i_19882_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19882_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19882LU), -UA_NODEID_NUMERIC(ns[0], 19880LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19882_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_514_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19882LU) -); -} - -/* Active - ns=0;i=19881 */ - -static UA_StatusCode function_namespace0_generated_515_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19881LU), -UA_NODEID_NUMERIC(ns[0], 19880LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_515_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19881LU) -); -} - -/* PubSubDiagnosticsConnectionType - ns=0;i=19786 */ - -static UA_StatusCode function_namespace0_generated_516_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsConnectionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19786LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsConnectionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_516_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19786LU) -); -} - -/* LiveValues - ns=0;i=19831 */ - -static UA_StatusCode function_namespace0_generated_517_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19831LU), -UA_NODEID_NUMERIC(ns[0], 19786LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_517_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19831LU) -); -} - -/* ResolvedAddress - ns=0;i=19832 */ - -static UA_StatusCode function_namespace0_generated_518_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResolvedAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19832LU), -UA_NODEID_NUMERIC(ns[0], 19831LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ResolvedAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_518_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19832LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19833 */ - -static UA_StatusCode function_namespace0_generated_519_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19833_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19833_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19833_variant_DataContents); -*variablenode_ns_0_i_19833_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19833_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19833LU), -UA_NODEID_NUMERIC(ns[0], 19832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19833_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_519_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19833LU) -); -} - -/* PubSubDiagnosticsRootType - ns=0;i=19732 */ - -static UA_StatusCode function_namespace0_generated_520_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubDiagnosticsRootType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19732LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubDiagnosticsRootType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_520_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19732LU) -); -} - -/* LiveValues - ns=0;i=19777 */ - -static UA_StatusCode function_namespace0_generated_521_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19777LU), -UA_NODEID_NUMERIC(ns[0], 19732LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_521_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19777LU) -); -} - -/* OperationalDataSetReaders - ns=0;i=19784 */ - -static UA_StatusCode function_namespace0_generated_522_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19784LU), -UA_NODEID_NUMERIC(ns[0], 19777LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_522_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19784LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19785 */ - -static UA_StatusCode function_namespace0_generated_523_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19785_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19785_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19785_variant_DataContents); -*variablenode_ns_0_i_19785_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19785_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19785LU), -UA_NODEID_NUMERIC(ns[0], 19784LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19785_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_523_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19785LU) -); -} - -/* OperationalDataSetWriters - ns=0;i=19782 */ - -static UA_StatusCode function_namespace0_generated_524_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19782LU), -UA_NODEID_NUMERIC(ns[0], 19777LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_524_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19782LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19783 */ - -static UA_StatusCode function_namespace0_generated_525_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19783_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19783_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19783_variant_DataContents); -*variablenode_ns_0_i_19783_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19783_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19783LU), -UA_NODEID_NUMERIC(ns[0], 19782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19783_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_525_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19783LU) -); -} - -/* ConfiguredDataSetReaders - ns=0;i=19780 */ - -static UA_StatusCode function_namespace0_generated_526_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19780LU), -UA_NODEID_NUMERIC(ns[0], 19777LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_526_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19780LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19781 */ - -static UA_StatusCode function_namespace0_generated_527_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19781_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19781_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19781_variant_DataContents); -*variablenode_ns_0_i_19781_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19781_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19781LU), -UA_NODEID_NUMERIC(ns[0], 19780LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19781_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_527_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19781LU) -); -} - -/* ConfiguredDataSetWriters - ns=0;i=19778 */ - -static UA_StatusCode function_namespace0_generated_528_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19778LU), -UA_NODEID_NUMERIC(ns[0], 19777LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_528_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19778LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19779 */ - -static UA_StatusCode function_namespace0_generated_529_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19779_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19779_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19779_variant_DataContents); -*variablenode_ns_0_i_19779_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19779_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19779LU), -UA_NODEID_NUMERIC(ns[0], 19778LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19779_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_529_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19779LU) -); -} - -/* LiveValues - ns=0;i=19722 */ - -static UA_StatusCode function_namespace0_generated_530_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19722LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_530_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19722LU) -); -} - -/* Counters - ns=0;i=19691 */ - -static UA_StatusCode function_namespace0_generated_531_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_531_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19691LU) -); -} - -/* StateDisabledByMethod - ns=0;i=19717 */ - -static UA_StatusCode function_namespace0_generated_532_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19717LU), -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_532_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19717LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19720 */ - -static UA_StatusCode function_namespace0_generated_533_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19720_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19720_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19720_variant_DataContents); -*variablenode_ns_0_i_19720_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19720_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19720LU), -UA_NODEID_NUMERIC(ns[0], 19717LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19720_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_533_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19720LU) -); -} - -/* Classification - ns=0;i=19719 */ - -static UA_StatusCode function_namespace0_generated_534_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19719_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19719_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19719_variant_DataContents); -*variablenode_ns_0_i_19719_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19719_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19719LU), -UA_NODEID_NUMERIC(ns[0], 19717LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19719_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_534_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19719LU) -); -} - -/* Active - ns=0;i=19718 */ - -static UA_StatusCode function_namespace0_generated_535_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19718LU), -UA_NODEID_NUMERIC(ns[0], 19717LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_535_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19718LU) -); -} - -/* StatePausedByParent - ns=0;i=19712 */ - -static UA_StatusCode function_namespace0_generated_536_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19712LU), -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_536_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19712LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19715 */ - -static UA_StatusCode function_namespace0_generated_537_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19715_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19715_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19715_variant_DataContents); -*variablenode_ns_0_i_19715_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19715_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19715LU), -UA_NODEID_NUMERIC(ns[0], 19712LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19715_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_537_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19715LU) -); -} - -/* Classification - ns=0;i=19714 */ - -static UA_StatusCode function_namespace0_generated_538_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19714_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19714_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19714_variant_DataContents); -*variablenode_ns_0_i_19714_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19714_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19714LU), -UA_NODEID_NUMERIC(ns[0], 19712LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19714_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_538_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19714LU) -); -} - -/* Active - ns=0;i=19713 */ - -static UA_StatusCode function_namespace0_generated_539_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19713LU), -UA_NODEID_NUMERIC(ns[0], 19712LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_539_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19713LU) -); -} - -/* StateOperationalFromError - ns=0;i=19707 */ - -static UA_StatusCode function_namespace0_generated_540_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19707LU), -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_540_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19707LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19710 */ - -static UA_StatusCode function_namespace0_generated_541_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19710_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19710_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19710_variant_DataContents); -*variablenode_ns_0_i_19710_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19710_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19710LU), -UA_NODEID_NUMERIC(ns[0], 19707LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19710_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_541_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19710LU) -); -} - -/* Classification - ns=0;i=19709 */ - -static UA_StatusCode function_namespace0_generated_542_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19709_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19709_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19709_variant_DataContents); -*variablenode_ns_0_i_19709_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19709_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19709LU), -UA_NODEID_NUMERIC(ns[0], 19707LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19709_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_542_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19709LU) -); -} - -/* Active - ns=0;i=19708 */ - -static UA_StatusCode function_namespace0_generated_543_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19708LU), -UA_NODEID_NUMERIC(ns[0], 19707LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_543_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19708LU) -); -} - -/* StateOperationalByParent - ns=0;i=19702 */ - -static UA_StatusCode function_namespace0_generated_544_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19702LU), -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_544_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19702LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19705 */ - -static UA_StatusCode function_namespace0_generated_545_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19705_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19705_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19705_variant_DataContents); -*variablenode_ns_0_i_19705_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19705_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19705LU), -UA_NODEID_NUMERIC(ns[0], 19702LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19705_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_545_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19705LU) -); -} - -/* Classification - ns=0;i=19704 */ - -static UA_StatusCode function_namespace0_generated_546_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19704_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19704_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19704_variant_DataContents); -*variablenode_ns_0_i_19704_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19704_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19704LU), -UA_NODEID_NUMERIC(ns[0], 19702LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19704_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_546_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19704LU) -); -} - -/* Active - ns=0;i=19703 */ - -static UA_StatusCode function_namespace0_generated_547_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19703LU), -UA_NODEID_NUMERIC(ns[0], 19702LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_547_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19703LU) -); -} - -/* StateOperationalByMethod - ns=0;i=19697 */ - -static UA_StatusCode function_namespace0_generated_548_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19697LU), -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_548_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19697LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19700 */ - -static UA_StatusCode function_namespace0_generated_549_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19700_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19700_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19700_variant_DataContents); -*variablenode_ns_0_i_19700_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19700_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19700LU), -UA_NODEID_NUMERIC(ns[0], 19697LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19700_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_549_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19700LU) -); -} - -/* Classification - ns=0;i=19699 */ - -static UA_StatusCode function_namespace0_generated_550_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19699_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19699_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19699_variant_DataContents); -*variablenode_ns_0_i_19699_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19699_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19699LU), -UA_NODEID_NUMERIC(ns[0], 19697LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19699_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_550_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19699LU) -); -} - -/* Active - ns=0;i=19698 */ - -static UA_StatusCode function_namespace0_generated_551_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19698LU), -UA_NODEID_NUMERIC(ns[0], 19697LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_551_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19698LU) -); -} - -/* StateError - ns=0;i=19692 */ - -static UA_StatusCode function_namespace0_generated_552_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19692LU), -UA_NODEID_NUMERIC(ns[0], 19691LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_552_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19692LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19695 */ - -static UA_StatusCode function_namespace0_generated_553_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19695_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19695_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19695_variant_DataContents); -*variablenode_ns_0_i_19695_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19695_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19695LU), -UA_NODEID_NUMERIC(ns[0], 19692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19695_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_553_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19695LU) -); -} - -/* Classification - ns=0;i=19694 */ - -static UA_StatusCode function_namespace0_generated_554_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19694_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19694_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19694_variant_DataContents); -*variablenode_ns_0_i_19694_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19694_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19694LU), -UA_NODEID_NUMERIC(ns[0], 19692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19694_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_554_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19694LU) -); -} - -/* Active - ns=0;i=19693 */ - -static UA_StatusCode function_namespace0_generated_555_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19693LU), -UA_NODEID_NUMERIC(ns[0], 19692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_555_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19693LU) -); -} - -/* SubError - ns=0;i=19690 */ - -static UA_StatusCode function_namespace0_generated_556_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19690LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_556_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19690LU) -); -} - -/* Reset - ns=0;i=19689 */ - -static UA_StatusCode function_namespace0_generated_557_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19689LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_557_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19689LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=19684 */ - -static UA_StatusCode function_namespace0_generated_558_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19684LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_558_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19684LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19687 */ - -static UA_StatusCode function_namespace0_generated_559_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19687LU), -UA_NODEID_NUMERIC(ns[0], 19684LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_559_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19687LU) -); -} - -/* Classification - ns=0;i=19686 */ - -static UA_StatusCode function_namespace0_generated_560_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19686LU), -UA_NODEID_NUMERIC(ns[0], 19684LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_560_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19686LU) -); -} - -/* Active - ns=0;i=19685 */ - -static UA_StatusCode function_namespace0_generated_561_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19685LU), -UA_NODEID_NUMERIC(ns[0], 19684LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_561_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19685LU) -); -} - -/* TotalInformation - ns=0;i=19679 */ - -static UA_StatusCode function_namespace0_generated_562_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19679LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_562_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19679LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19682 */ - -static UA_StatusCode function_namespace0_generated_563_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19682LU), -UA_NODEID_NUMERIC(ns[0], 19679LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_563_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19682LU) -); -} - -/* Classification - ns=0;i=19681 */ - -static UA_StatusCode function_namespace0_generated_564_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19681LU), -UA_NODEID_NUMERIC(ns[0], 19679LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_564_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19681LU) -); -} - -/* Active - ns=0;i=19680 */ - -static UA_StatusCode function_namespace0_generated_565_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19680LU), -UA_NODEID_NUMERIC(ns[0], 19679LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_565_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19680LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19678 */ - -static UA_StatusCode function_namespace0_generated_566_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19678LU), -UA_NODEID_NUMERIC(ns[0], 19677LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_566_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19678LU) -); -} - -/* PubSubStatusType - ns=0;i=14643 */ - -static UA_StatusCode function_namespace0_generated_567_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubStatusType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14643LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubStatusType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_567_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14643LU) -); -} - -/* Disable - ns=0;i=14646 */ - -static UA_StatusCode function_namespace0_generated_568_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14646LU), -UA_NODEID_NUMERIC(ns[0], 14643LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Disable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_568_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14646LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Enable - ns=0;i=14645 */ - -static UA_StatusCode function_namespace0_generated_569_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14645LU), -UA_NODEID_NUMERIC(ns[0], 14643LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Enable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_569_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14645LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* State - ns=0;i=14644 */ - -static UA_StatusCode function_namespace0_generated_570_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14644LU), -UA_NODEID_NUMERIC(ns[0], 14643LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_570_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14644LU) -); -} - -/* StandaloneSubscribedDataSetType - ns=0;i=23828 */ - -static UA_StatusCode function_namespace0_generated_571_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23828LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_571_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23828LU) -); -} - -/* IsConnected - ns=0;i=23831 */ - -static UA_StatusCode function_namespace0_generated_572_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsConnected"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23831LU), -UA_NODEID_NUMERIC(ns[0], 23828LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsConnected"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_572_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23831LU) -); -} - -/* DataSetMetaData - ns=0;i=23830 */ - -static UA_StatusCode function_namespace0_generated_573_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23830LU), -UA_NODEID_NUMERIC(ns[0], 23828LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_573_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23830LU) -); -} - -/* SubscribedDataSetFolderType - ns=0;i=23795 */ - -static UA_StatusCode function_namespace0_generated_574_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_574_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23795LU) -); -} - -/* RemoveDataSetFolder - ns=0;i=23819 */ - -static UA_StatusCode function_namespace0_generated_575_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23819LU), -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_575_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23819LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23820 */ - -static UA_StatusCode function_namespace0_generated_576_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23820_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23820_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23820_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_23820_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23820_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23820_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23820LU), -UA_NODEID_NUMERIC(ns[0], 23819LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_576_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23820LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddDataSetFolder - ns=0;i=23816 */ - -static UA_StatusCode function_namespace0_generated_577_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23816LU), -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_577_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23816LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23818 */ - -static UA_StatusCode function_namespace0_generated_578_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23818_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23818_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23818_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_23818_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23818_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23818_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23818LU), -UA_NODEID_NUMERIC(ns[0], 23816LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_578_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23818LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23817 */ - -static UA_StatusCode function_namespace0_generated_579_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23817_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23817_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23817_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_23817_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23817_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23817_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23817LU), -UA_NODEID_NUMERIC(ns[0], 23816LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_579_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23817LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveSubscribedDataSet - ns=0;i=23814 */ - -static UA_StatusCode function_namespace0_generated_580_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23814LU), -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSubscribedDataSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_580_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23814LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23815 */ - -static UA_StatusCode function_namespace0_generated_581_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23815_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23815_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23815_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); -variablenode_ns_0_i_23815_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23815_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23815_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23815LU), -UA_NODEID_NUMERIC(ns[0], 23814LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_581_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23815LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSubscribedDataSet - ns=0;i=23811 */ - -static UA_StatusCode function_namespace0_generated_582_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23811LU), -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSubscribedDataSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_582_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23811LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23813 */ - -static UA_StatusCode function_namespace0_generated_583_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23813_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23813_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23813_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); -variablenode_ns_0_i_23813_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23813_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23813_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23813LU), -UA_NODEID_NUMERIC(ns[0], 23811LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_583_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23813LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23812 */ - -static UA_StatusCode function_namespace0_generated_584_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23812_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23812_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23812_variant_DataContents[0].name = UA_STRING("SubscribedDataSet"); -variablenode_ns_0_i_23812_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23600LU); -variablenode_ns_0_i_23812_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23812_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23812LU), -UA_NODEID_NUMERIC(ns[0], 23811LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_584_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23812LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=23807 */ - -static UA_StatusCode function_namespace0_generated_585_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23807LU), -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 23828LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_585_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23807LU) -); -} - -/* IsConnected - ns=0;i=23810 */ - -static UA_StatusCode function_namespace0_generated_586_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsConnected"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23810LU), -UA_NODEID_NUMERIC(ns[0], 23807LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsConnected"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_586_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23810LU) -); -} - -/* DataSetMetaData - ns=0;i=23809 */ - -static UA_StatusCode function_namespace0_generated_587_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23809LU), -UA_NODEID_NUMERIC(ns[0], 23807LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_587_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23809LU) -); -} - -/* - ns=0;i=23796 */ - -static UA_StatusCode function_namespace0_generated_588_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23796LU), -UA_NODEID_NUMERIC(ns[0], 23795LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 23795LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_588_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23796LU) -); -} - -/* RemoveDataSetFolder - ns=0;i=23805 */ - -static UA_StatusCode function_namespace0_generated_589_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23805LU), -UA_NODEID_NUMERIC(ns[0], 23796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_589_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23805LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23806 */ - -static UA_StatusCode function_namespace0_generated_590_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23806_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23806_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23806_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_23806_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23806_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23806_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23806LU), -UA_NODEID_NUMERIC(ns[0], 23805LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_590_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23806LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddDataSetFolder - ns=0;i=23802 */ - -static UA_StatusCode function_namespace0_generated_591_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23802LU), -UA_NODEID_NUMERIC(ns[0], 23796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_591_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23802LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23804 */ - -static UA_StatusCode function_namespace0_generated_592_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23804_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23804_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23804_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_23804_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23804_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23804_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23804LU), -UA_NODEID_NUMERIC(ns[0], 23802LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_592_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23804LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23803 */ - -static UA_StatusCode function_namespace0_generated_593_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23803_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23803_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23803_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_23803_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_23803_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23803_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23803LU), -UA_NODEID_NUMERIC(ns[0], 23802LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_593_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23803LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveSubscribedDataSet - ns=0;i=23800 */ - -static UA_StatusCode function_namespace0_generated_594_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23800LU), -UA_NODEID_NUMERIC(ns[0], 23796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSubscribedDataSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_594_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23800LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23801 */ - -static UA_StatusCode function_namespace0_generated_595_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23801_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23801_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23801_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); -variablenode_ns_0_i_23801_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23801_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23801_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23801LU), -UA_NODEID_NUMERIC(ns[0], 23800LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_595_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23801LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSubscribedDataSet - ns=0;i=23797 */ - -static UA_StatusCode function_namespace0_generated_596_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23797LU), -UA_NODEID_NUMERIC(ns[0], 23796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSubscribedDataSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_596_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23797LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23799 */ - -static UA_StatusCode function_namespace0_generated_597_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23799_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23799_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23799_variant_DataContents[0].name = UA_STRING("SubscribedDataSetNodeId"); -variablenode_ns_0_i_23799_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_23799_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23799_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23799LU), -UA_NODEID_NUMERIC(ns[0], 23797LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_597_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23799LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=23798 */ - -static UA_StatusCode function_namespace0_generated_598_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23798_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23798_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23798_variant_DataContents[0].name = UA_STRING("SubscribedDataSet"); -variablenode_ns_0_i_23798_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 23600LU); -variablenode_ns_0_i_23798_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23798_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23798LU), -UA_NODEID_NUMERIC(ns[0], 23797LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_598_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23798LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SubscribedDataSetType - ns=0;i=15108 */ - -static UA_StatusCode function_namespace0_generated_599_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15108LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_599_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15108LU) -); -} - -/* SubscribedDataSet - ns=0;i=23829 */ - -static UA_StatusCode function_namespace0_generated_600_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23829LU), -UA_NODEID_NUMERIC(ns[0], 23828LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), -UA_NODEID_NUMERIC(ns[0], 15108LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_600_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23829LU) -); -} - -/* SubscribedDataSet - ns=0;i=23808 */ - -static UA_StatusCode function_namespace0_generated_601_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23808LU), -UA_NODEID_NUMERIC(ns[0], 23807LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), -UA_NODEID_NUMERIC(ns[0], 15108LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_601_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23808LU) -); -} - -/* SubscribedDataSetMirrorType - ns=0;i=15127 */ - -static UA_StatusCode function_namespace0_generated_602_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15127LU), -UA_NODEID_NUMERIC(ns[0], 15108LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_602_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15127LU) -); -} - -/* TargetVariablesType - ns=0;i=15111 */ - -static UA_StatusCode function_namespace0_generated_603_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15111LU), -UA_NODEID_NUMERIC(ns[0], 15108LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TargetVariablesType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_603_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15111LU) -); -} - -/* RemoveTargetVariables - ns=0;i=15118 */ - -static UA_StatusCode function_namespace0_generated_604_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveTargetVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15118LU), -UA_NODEID_NUMERIC(ns[0], 15111LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveTargetVariables"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_604_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15118LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15120 */ - -static UA_StatusCode function_namespace0_generated_605_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15120_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15120_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15120_variant_DataContents[0].name = UA_STRING("RemoveResults"); -variablenode_ns_0_i_15120_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_15120_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15120_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_15120_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_15120_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15120_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15120LU), -UA_NODEID_NUMERIC(ns[0], 15118LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_605_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15120LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15119 */ - -static UA_StatusCode function_namespace0_generated_606_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15119_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15119_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15119_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_15119_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_15119_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15119_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15119_variant_DataContents[1].name = UA_STRING("TargetsToRemove"); -variablenode_ns_0_i_15119_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15119_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15119_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_15119_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_15119_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15119_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15119LU), -UA_NODEID_NUMERIC(ns[0], 15118LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_606_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15119LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddTargetVariables - ns=0;i=15115 */ - -static UA_StatusCode function_namespace0_generated_607_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddTargetVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15115LU), -UA_NODEID_NUMERIC(ns[0], 15111LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddTargetVariables"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_607_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15115LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15117 */ - -static UA_StatusCode function_namespace0_generated_608_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15117_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15117_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15117_variant_DataContents[0].name = UA_STRING("AddResults"); -variablenode_ns_0_i_15117_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_15117_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15117_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_15117_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_15117_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15117_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15117LU), -UA_NODEID_NUMERIC(ns[0], 15115LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_608_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15117LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15116 */ - -static UA_StatusCode function_namespace0_generated_609_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15116_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15116_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15116_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_15116_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_15116_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15116_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15116_variant_DataContents[1].name = UA_STRING("TargetVariablesToAdd"); -variablenode_ns_0_i_15116_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14744LU); -variablenode_ns_0_i_15116_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15116_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_15116_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_15116_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15116_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15116LU), -UA_NODEID_NUMERIC(ns[0], 15115LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_609_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15116LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TargetVariables - ns=0;i=15114 */ - -static UA_StatusCode function_namespace0_generated_610_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14744LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15114LU), -UA_NODEID_NUMERIC(ns[0], 15111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TargetVariables"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_610_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15114LU) -); -} - -/* DataSetReaderMessageType - ns=0;i=21104 */ - -static UA_StatusCode function_namespace0_generated_611_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21104LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_611_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21104LU) -); -} - -/* JsonDataSetReaderMessageType - ns=0;i=21130 */ - -static UA_StatusCode function_namespace0_generated_612_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21130LU), -UA_NODEID_NUMERIC(ns[0], 21104LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_612_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21130LU) -); -} - -/* DataSetMessageContentMask - ns=0;i=21132 */ - -static UA_StatusCode function_namespace0_generated_613_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15658LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21132LU), -UA_NODEID_NUMERIC(ns[0], 21130LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_613_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21132LU) -); -} - -/* NetworkMessageContentMask - ns=0;i=21131 */ - -static UA_StatusCode function_namespace0_generated_614_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15654LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21131LU), -UA_NODEID_NUMERIC(ns[0], 21130LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_614_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21131LU) -); -} - -/* UadpDataSetReaderMessageType - ns=0;i=21116 */ - -static UA_StatusCode function_namespace0_generated_615_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 21104LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_615_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21116LU) -); -} - -/* ReceiveOffset - ns=0;i=21125 */ - -static UA_StatusCode function_namespace0_generated_616_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21125LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveOffset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_616_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21125LU) -); -} - -/* ProcessingOffset - ns=0;i=21124 */ - -static UA_StatusCode function_namespace0_generated_617_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProcessingOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21124LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProcessingOffset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_617_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21124LU) -); -} - -/* PublishingInterval - ns=0;i=21123 */ - -static UA_StatusCode function_namespace0_generated_618_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21123LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_618_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21123LU) -); -} - -/* DataSetMessageContentMask - ns=0;i=21122 */ - -static UA_StatusCode function_namespace0_generated_619_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15646LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21122LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_619_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21122LU) -); -} - -/* NetworkMessageContentMask - ns=0;i=21121 */ - -static UA_StatusCode function_namespace0_generated_620_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15642LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21121LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_620_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21121LU) -); -} - -/* DataSetClassId - ns=0;i=21120 */ - -static UA_StatusCode function_namespace0_generated_621_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21120LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_621_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21120LU) -); -} - -/* NetworkMessageNumber - ns=0;i=21119 */ - -static UA_StatusCode function_namespace0_generated_622_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21119LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NetworkMessageNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_622_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21119LU) -); -} - -/* GroupVersion - ns=0;i=21117 */ - -static UA_StatusCode function_namespace0_generated_623_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GroupVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21117LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "GroupVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_623_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21117LU) -); -} - -/* DataSetOffset - ns=0;i=17477 */ - -static UA_StatusCode function_namespace0_generated_624_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17477LU), -UA_NODEID_NUMERIC(ns[0], 21116LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetOffset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_624_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17477LU) -); -} - -/* DataSetReaderTransportType - ns=0;i=15319 */ - -static UA_StatusCode function_namespace0_generated_625_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15319LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_625_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15319LU) -); -} - -/* DatagramDataSetReaderTransportType - ns=0;i=24016 */ - -static UA_StatusCode function_namespace0_generated_626_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24016LU), -UA_NODEID_NUMERIC(ns[0], 15319LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_626_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24016LU) -); -} - -/* QosCategory - ns=0;i=25528 */ - -static UA_StatusCode function_namespace0_generated_627_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QosCategory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25528LU), -UA_NODEID_NUMERIC(ns[0], 24016LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "QosCategory"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_627_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25528LU) -); -} - -/* Topic - ns=0;i=24023 */ - -static UA_StatusCode function_namespace0_generated_628_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Topic"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24023LU), -UA_NODEID_NUMERIC(ns[0], 24016LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Topic"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_628_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24023LU) -); -} - -/* DatagramQos - ns=0;i=24022 */ - -static UA_StatusCode function_namespace0_generated_629_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23608LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramQos"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24022LU), -UA_NODEID_NUMERIC(ns[0], 24016LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DatagramQos"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_629_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24022LU) -); -} - -/* Address - ns=0;i=24017 */ - -static UA_StatusCode function_namespace0_generated_630_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Address"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24017LU), -UA_NODEID_NUMERIC(ns[0], 24016LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Address"), -UA_NODEID_NUMERIC(ns[0], 21145LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_630_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24017LU) -); -} - -/* BrokerDataSetReaderTransportType - ns=0;i=21142 */ - -static UA_StatusCode function_namespace0_generated_631_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21142LU), -UA_NODEID_NUMERIC(ns[0], 15319LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_631_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21142LU) -); -} - -/* MetaDataQueueName - ns=0;i=21144 */ - -static UA_StatusCode function_namespace0_generated_632_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MetaDataQueueName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21144LU), -UA_NODEID_NUMERIC(ns[0], 21142LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MetaDataQueueName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_632_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21144LU) -); -} - -/* QueueName - ns=0;i=21143 */ - -static UA_StatusCode function_namespace0_generated_633_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueueName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21143LU), -UA_NODEID_NUMERIC(ns[0], 21142LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "QueueName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_633_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21143LU) -); -} - -/* RequestedDeliveryGuarantee - ns=0;i=15420 */ - -static UA_StatusCode function_namespace0_generated_634_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15008LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestedDeliveryGuarantee"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15420LU), -UA_NODEID_NUMERIC(ns[0], 21142LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestedDeliveryGuarantee"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_634_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15420LU) -); -} - -/* AuthenticationProfileUri - ns=0;i=15419 */ - -static UA_StatusCode function_namespace0_generated_635_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15419LU), -UA_NODEID_NUMERIC(ns[0], 21142LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_635_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15419LU) -); -} - -/* ResourceUri - ns=0;i=15334 */ - -static UA_StatusCode function_namespace0_generated_636_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15334LU), -UA_NODEID_NUMERIC(ns[0], 21142LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_636_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15334LU) -); -} - -/* DataSetReaderType - ns=0;i=15306 */ - -static UA_StatusCode function_namespace0_generated_637_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_637_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15306LU) -); -} - -/* MessageSettings - ns=0;i=21103 */ - -static UA_StatusCode function_namespace0_generated_638_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21103LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MessageSettings"), -UA_NODEID_NUMERIC(ns[0], 21104LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_638_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21103LU) -); -} - -/* MessageReceiveTimeout - ns=0;i=21102 */ - -static UA_StatusCode function_namespace0_generated_639_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MessageReceiveTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21102LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MessageReceiveTimeout"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_639_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21102LU) -); -} - -/* DataSetFieldContentMask - ns=0;i=21101 */ - -static UA_StatusCode function_namespace0_generated_640_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21101LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_640_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21101LU) -); -} - -/* DataSetMetaData - ns=0;i=21100 */ - -static UA_StatusCode function_namespace0_generated_641_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21100LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_641_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21100LU) -); -} - -/* DataSetWriterId - ns=0;i=21099 */ - -static UA_StatusCode function_namespace0_generated_642_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21099LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_642_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21099LU) -); -} - -/* WriterGroupId - ns=0;i=21098 */ - -static UA_StatusCode function_namespace0_generated_643_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21098LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_643_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21098LU) -); -} - -/* PublisherId - ns=0;i=21097 */ - -static UA_StatusCode function_namespace0_generated_644_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21097LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_644_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21097LU) -); -} - -/* Diagnostics - ns=0;i=19609 */ - -static UA_StatusCode function_namespace0_generated_645_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 20027LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_645_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19609LU) -); -} - -/* LiveValues - ns=0;i=19654 */ - -static UA_StatusCode function_namespace0_generated_646_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19654LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_646_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19654LU) -); -} - -/* Counters - ns=0;i=19623 */ - -static UA_StatusCode function_namespace0_generated_647_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_647_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19623LU) -); -} - -/* FailedDataSetMessages - ns=0;i=19655 */ - -static UA_StatusCode function_namespace0_generated_648_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19655LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_648_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19655LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19658 */ - -static UA_StatusCode function_namespace0_generated_649_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19658_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19658_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19658_variant_DataContents); -*variablenode_ns_0_i_19658_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19658_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19658LU), -UA_NODEID_NUMERIC(ns[0], 19655LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19658_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_649_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19658LU) -); -} - -/* Classification - ns=0;i=19657 */ - -static UA_StatusCode function_namespace0_generated_650_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19657_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19657_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19657_variant_DataContents); -*variablenode_ns_0_i_19657_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19657_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19657LU), -UA_NODEID_NUMERIC(ns[0], 19655LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19657_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_650_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19657LU) -); -} - -/* Active - ns=0;i=19656 */ - -static UA_StatusCode function_namespace0_generated_651_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19656LU), -UA_NODEID_NUMERIC(ns[0], 19655LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_651_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19656LU) -); -} - -/* StateDisabledByMethod - ns=0;i=19649 */ - -static UA_StatusCode function_namespace0_generated_652_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19649LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_652_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19649LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19652 */ - -static UA_StatusCode function_namespace0_generated_653_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19652_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19652_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19652_variant_DataContents); -*variablenode_ns_0_i_19652_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19652_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19652LU), -UA_NODEID_NUMERIC(ns[0], 19649LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19652_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_653_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19652LU) -); -} - -/* Classification - ns=0;i=19651 */ - -static UA_StatusCode function_namespace0_generated_654_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19651_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19651_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19651_variant_DataContents); -*variablenode_ns_0_i_19651_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19651_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19651LU), -UA_NODEID_NUMERIC(ns[0], 19649LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19651_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_654_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19651LU) -); -} - -/* Active - ns=0;i=19650 */ - -static UA_StatusCode function_namespace0_generated_655_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19650LU), -UA_NODEID_NUMERIC(ns[0], 19649LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_655_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19650LU) -); -} - -/* StatePausedByParent - ns=0;i=19644 */ - -static UA_StatusCode function_namespace0_generated_656_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19644LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_656_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19644LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19647 */ - -static UA_StatusCode function_namespace0_generated_657_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19647_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19647_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19647_variant_DataContents); -*variablenode_ns_0_i_19647_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19647_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19647LU), -UA_NODEID_NUMERIC(ns[0], 19644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19647_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_657_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19647LU) -); -} - -/* Classification - ns=0;i=19646 */ - -static UA_StatusCode function_namespace0_generated_658_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19646_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19646_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19646_variant_DataContents); -*variablenode_ns_0_i_19646_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19646_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19646LU), -UA_NODEID_NUMERIC(ns[0], 19644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19646_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_658_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19646LU) -); -} - -/* Active - ns=0;i=19645 */ - -static UA_StatusCode function_namespace0_generated_659_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19645LU), -UA_NODEID_NUMERIC(ns[0], 19644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_659_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19645LU) -); -} - -/* StateOperationalFromError - ns=0;i=19639 */ - -static UA_StatusCode function_namespace0_generated_660_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19639LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_660_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19639LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19642 */ - -static UA_StatusCode function_namespace0_generated_661_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19642_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19642_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19642_variant_DataContents); -*variablenode_ns_0_i_19642_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19642_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19642LU), -UA_NODEID_NUMERIC(ns[0], 19639LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19642_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_661_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19642LU) -); -} - -/* Classification - ns=0;i=19641 */ - -static UA_StatusCode function_namespace0_generated_662_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19641_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19641_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19641_variant_DataContents); -*variablenode_ns_0_i_19641_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19641_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19641LU), -UA_NODEID_NUMERIC(ns[0], 19639LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19641_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_662_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19641LU) -); -} - -/* Active - ns=0;i=19640 */ - -static UA_StatusCode function_namespace0_generated_663_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19640LU), -UA_NODEID_NUMERIC(ns[0], 19639LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_663_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19640LU) -); -} - -/* StateOperationalByParent - ns=0;i=19634 */ - -static UA_StatusCode function_namespace0_generated_664_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19634LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_664_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19634LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19637 */ - -static UA_StatusCode function_namespace0_generated_665_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19637_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19637_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19637_variant_DataContents); -*variablenode_ns_0_i_19637_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19637_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19637LU), -UA_NODEID_NUMERIC(ns[0], 19634LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19637_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_665_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19637LU) -); -} - -/* Classification - ns=0;i=19636 */ - -static UA_StatusCode function_namespace0_generated_666_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19636_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19636_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19636_variant_DataContents); -*variablenode_ns_0_i_19636_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19636_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19636LU), -UA_NODEID_NUMERIC(ns[0], 19634LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19636_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_666_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19636LU) -); -} - -/* Active - ns=0;i=19635 */ - -static UA_StatusCode function_namespace0_generated_667_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19635LU), -UA_NODEID_NUMERIC(ns[0], 19634LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_667_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19635LU) -); -} - -/* StateOperationalByMethod - ns=0;i=19629 */ - -static UA_StatusCode function_namespace0_generated_668_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19629LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_668_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19629LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19632 */ - -static UA_StatusCode function_namespace0_generated_669_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19632_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19632_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19632_variant_DataContents); -*variablenode_ns_0_i_19632_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19632_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19632LU), -UA_NODEID_NUMERIC(ns[0], 19629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19632_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_669_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19632LU) -); -} - -/* Classification - ns=0;i=19631 */ - -static UA_StatusCode function_namespace0_generated_670_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19631_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19631_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19631_variant_DataContents); -*variablenode_ns_0_i_19631_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19631_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19631LU), -UA_NODEID_NUMERIC(ns[0], 19629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19631_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_670_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19631LU) -); -} - -/* Active - ns=0;i=19630 */ - -static UA_StatusCode function_namespace0_generated_671_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19630LU), -UA_NODEID_NUMERIC(ns[0], 19629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_671_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19630LU) -); -} - -/* StateError - ns=0;i=19624 */ - -static UA_StatusCode function_namespace0_generated_672_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19624LU), -UA_NODEID_NUMERIC(ns[0], 19623LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_672_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19624LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19627 */ - -static UA_StatusCode function_namespace0_generated_673_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19627_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19627_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19627_variant_DataContents); -*variablenode_ns_0_i_19627_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19627_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19627LU), -UA_NODEID_NUMERIC(ns[0], 19624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19627_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_673_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19627LU) -); -} - -/* Classification - ns=0;i=19626 */ - -static UA_StatusCode function_namespace0_generated_674_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19626_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19626_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19626_variant_DataContents); -*variablenode_ns_0_i_19626_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19626_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19626LU), -UA_NODEID_NUMERIC(ns[0], 19624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19626_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_674_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19626LU) -); -} - -/* Active - ns=0;i=19625 */ - -static UA_StatusCode function_namespace0_generated_675_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19625LU), -UA_NODEID_NUMERIC(ns[0], 19624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_675_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19625LU) -); -} - -/* SubError - ns=0;i=19622 */ - -static UA_StatusCode function_namespace0_generated_676_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19622LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_676_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19622LU) -); -} - -/* Reset - ns=0;i=19621 */ - -static UA_StatusCode function_namespace0_generated_677_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19621LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_677_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19621LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=19616 */ - -static UA_StatusCode function_namespace0_generated_678_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19616LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_678_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19616LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19619 */ - -static UA_StatusCode function_namespace0_generated_679_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19619LU), -UA_NODEID_NUMERIC(ns[0], 19616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_679_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19619LU) -); -} - -/* Classification - ns=0;i=19618 */ - -static UA_StatusCode function_namespace0_generated_680_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19618LU), -UA_NODEID_NUMERIC(ns[0], 19616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_680_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19618LU) -); -} - -/* Active - ns=0;i=19617 */ - -static UA_StatusCode function_namespace0_generated_681_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19617LU), -UA_NODEID_NUMERIC(ns[0], 19616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_681_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19617LU) -); -} - -/* TotalInformation - ns=0;i=19611 */ - -static UA_StatusCode function_namespace0_generated_682_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19611LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_682_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19611LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19614 */ - -static UA_StatusCode function_namespace0_generated_683_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19614LU), -UA_NODEID_NUMERIC(ns[0], 19611LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_683_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19614LU) -); -} - -/* Classification - ns=0;i=19613 */ - -static UA_StatusCode function_namespace0_generated_684_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19613LU), -UA_NODEID_NUMERIC(ns[0], 19611LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_684_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19613LU) -); -} - -/* Active - ns=0;i=19612 */ - -static UA_StatusCode function_namespace0_generated_685_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19612LU), -UA_NODEID_NUMERIC(ns[0], 19611LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_685_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19612LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19610 */ - -static UA_StatusCode function_namespace0_generated_686_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19610LU), -UA_NODEID_NUMERIC(ns[0], 19609LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_686_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19610LU) -); -} - -/* HeaderLayoutUri - ns=0;i=17564 */ - -static UA_StatusCode function_namespace0_generated_687_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17564LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_687_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17564LU) -); -} - -/* KeyFrameCount - ns=0;i=17563 */ - -static UA_StatusCode function_namespace0_generated_688_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyFrameCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17563LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeyFrameCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_688_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17563LU) -); -} - -/* DataSetReaderProperties - ns=0;i=17494 */ - -static UA_StatusCode function_namespace0_generated_689_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17494LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_689_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17494LU) -); -} - -/* CreateDataSetMirror - ns=0;i=17389 */ - -static UA_StatusCode function_namespace0_generated_690_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateDataSetMirror"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17389LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateDataSetMirror"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_690_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17389LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17391 */ - -static UA_StatusCode function_namespace0_generated_691_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17391_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17391_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17391_variant_DataContents[0].name = UA_STRING("ParentNodeId"); -variablenode_ns_0_i_17391_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17391_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17391_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17391LU), -UA_NODEID_NUMERIC(ns[0], 17389LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_691_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17391LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17390 */ - -static UA_StatusCode function_namespace0_generated_692_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17390_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_17390_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17390_variant_DataContents[0].name = UA_STRING("ParentNodeName"); -variablenode_ns_0_i_17390_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17390_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17390_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17390_variant_DataContents[1].name = UA_STRING("RolePermissions"); -variablenode_ns_0_i_17390_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 96LU); -variablenode_ns_0_i_17390_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_17390_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_17390_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_17390_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17390_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17390LU), -UA_NODEID_NUMERIC(ns[0], 17389LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_692_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17390LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateTargetVariables - ns=0;i=17386 */ - -static UA_StatusCode function_namespace0_generated_693_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateTargetVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17386LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateTargetVariables"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_693_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17386LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17388 */ - -static UA_StatusCode function_namespace0_generated_694_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17388_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17388_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17388_variant_DataContents[0].name = UA_STRING("AddResults"); -variablenode_ns_0_i_17388_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_17388_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_17388_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_17388_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_17388_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17388_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17388LU), -UA_NODEID_NUMERIC(ns[0], 17386LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_694_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17388LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17387 */ - -static UA_StatusCode function_namespace0_generated_695_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17387_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_17387_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17387_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_17387_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_17387_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17387_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17387_variant_DataContents[1].name = UA_STRING("TargetVariablesToAdd"); -variablenode_ns_0_i_17387_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14744LU); -variablenode_ns_0_i_17387_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_17387_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_17387_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_17387_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17387_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17387LU), -UA_NODEID_NUMERIC(ns[0], 17386LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_695_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17387LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SecurityKeyServices - ns=0;i=15934 */ - -static UA_StatusCode function_namespace0_generated_696_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServices"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15934LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityKeyServices"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_696_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15934LU) -); -} - -/* SecurityGroupId - ns=0;i=15933 */ - -static UA_StatusCode function_namespace0_generated_697_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15933LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_697_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15933LU) -); -} - -/* SecurityMode - ns=0;i=15932 */ - -static UA_StatusCode function_namespace0_generated_698_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15932LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_698_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15932LU) -); -} - -/* SubscribedDataSet - ns=0;i=15316 */ - -static UA_StatusCode function_namespace0_generated_699_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15316LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), -UA_NODEID_NUMERIC(ns[0], 15108LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_699_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15316LU) -); -} - -/* TransportSettings - ns=0;i=15311 */ - -static UA_StatusCode function_namespace0_generated_700_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15311LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportSettings"), -UA_NODEID_NUMERIC(ns[0], 15319LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_700_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15311LU) -); -} - -/* Status - ns=0;i=15307 */ - -static UA_StatusCode function_namespace0_generated_701_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15307LU), -UA_NODEID_NUMERIC(ns[0], 15306LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_701_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15307LU) -); -} - -/* State - ns=0;i=15308 */ - -static UA_StatusCode function_namespace0_generated_702_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15308LU), -UA_NODEID_NUMERIC(ns[0], 15307LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_702_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15308LU) -); -} - -/* DataSetWriterMessageType - ns=0;i=21096 */ - -static UA_StatusCode function_namespace0_generated_703_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21096LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_703_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21096LU) -); -} - -/* JsonDataSetWriterMessageType - ns=0;i=21128 */ - -static UA_StatusCode function_namespace0_generated_704_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21128LU), -UA_NODEID_NUMERIC(ns[0], 21096LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_704_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21128LU) -); -} - -/* DataSetMessageContentMask - ns=0;i=21129 */ - -static UA_StatusCode function_namespace0_generated_705_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15658LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21129LU), -UA_NODEID_NUMERIC(ns[0], 21128LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_705_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21129LU) -); -} - -/* UadpDataSetWriterMessageType - ns=0;i=21111 */ - -static UA_StatusCode function_namespace0_generated_706_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21111LU), -UA_NODEID_NUMERIC(ns[0], 21096LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_706_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21111LU) -); -} - -/* DataSetOffset - ns=0;i=21115 */ - -static UA_StatusCode function_namespace0_generated_707_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21115LU), -UA_NODEID_NUMERIC(ns[0], 21111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetOffset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_707_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21115LU) -); -} - -/* NetworkMessageNumber - ns=0;i=21114 */ - -static UA_StatusCode function_namespace0_generated_708_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21114LU), -UA_NODEID_NUMERIC(ns[0], 21111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NetworkMessageNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_708_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21114LU) -); -} - -/* ConfiguredSize - ns=0;i=21113 */ - -static UA_StatusCode function_namespace0_generated_709_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21113LU), -UA_NODEID_NUMERIC(ns[0], 21111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_709_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21113LU) -); -} - -/* DataSetMessageContentMask - ns=0;i=21112 */ - -static UA_StatusCode function_namespace0_generated_710_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15646LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21112LU), -UA_NODEID_NUMERIC(ns[0], 21111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_710_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21112LU) -); -} - -/* DataSetWriterTransportType - ns=0;i=15305 */ - -static UA_StatusCode function_namespace0_generated_711_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15305LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_711_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15305LU) -); -} - -/* BrokerDataSetWriterTransportType - ns=0;i=21138 */ - -static UA_StatusCode function_namespace0_generated_712_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 15305LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_712_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21138LU) -); -} - -/* MetaDataUpdateTime - ns=0;i=21141 */ - -static UA_StatusCode function_namespace0_generated_713_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MetaDataUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21141LU), -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MetaDataUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_713_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21141LU) -); -} - -/* MetaDataQueueName - ns=0;i=21140 */ - -static UA_StatusCode function_namespace0_generated_714_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MetaDataQueueName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21140LU), -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MetaDataQueueName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_714_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21140LU) -); -} - -/* QueueName - ns=0;i=21139 */ - -static UA_StatusCode function_namespace0_generated_715_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueueName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21139LU), -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "QueueName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_715_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21139LU) -); -} - -/* RequestedDeliveryGuarantee - ns=0;i=15330 */ - -static UA_StatusCode function_namespace0_generated_716_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15008LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestedDeliveryGuarantee"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15330LU), -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestedDeliveryGuarantee"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_716_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15330LU) -); -} - -/* AuthenticationProfileUri - ns=0;i=15251 */ - -static UA_StatusCode function_namespace0_generated_717_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15251LU), -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_717_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15251LU) -); -} - -/* ResourceUri - ns=0;i=15250 */ - -static UA_StatusCode function_namespace0_generated_718_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15250LU), -UA_NODEID_NUMERIC(ns[0], 21138LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_718_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15250LU) -); -} - -/* DataSetWriterType - ns=0;i=15298 */ - -static UA_StatusCode function_namespace0_generated_719_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_719_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15298LU) -); -} - -/* MessageSettings - ns=0;i=21095 */ - -static UA_StatusCode function_namespace0_generated_720_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21095LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MessageSettings"), -UA_NODEID_NUMERIC(ns[0], 21096LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_720_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21095LU) -); -} - -/* KeyFrameCount - ns=0;i=21094 */ - -static UA_StatusCode function_namespace0_generated_721_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyFrameCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21094LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeyFrameCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_721_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21094LU) -); -} - -/* DataSetFieldContentMask - ns=0;i=21093 */ - -static UA_StatusCode function_namespace0_generated_722_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21093LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_722_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21093LU) -); -} - -/* DataSetWriterId - ns=0;i=21092 */ - -static UA_StatusCode function_namespace0_generated_723_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21092LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_723_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21092LU) -); -} - -/* Diagnostics - ns=0;i=19550 */ - -static UA_StatusCode function_namespace0_generated_724_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19968LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_724_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19550LU) -); -} - -/* LiveValues - ns=0;i=19595 */ - -static UA_StatusCode function_namespace0_generated_725_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19595LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_725_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19595LU) -); -} - -/* Counters - ns=0;i=19564 */ - -static UA_StatusCode function_namespace0_generated_726_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_726_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19564LU) -); -} - -/* FailedDataSetMessages - ns=0;i=19596 */ - -static UA_StatusCode function_namespace0_generated_727_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailedDataSetMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19596LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailedDataSetMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_727_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19596LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19599 */ - -static UA_StatusCode function_namespace0_generated_728_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19599_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19599_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19599_variant_DataContents); -*variablenode_ns_0_i_19599_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19599_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19599LU), -UA_NODEID_NUMERIC(ns[0], 19596LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19599_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_728_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19599LU) -); -} - -/* Classification - ns=0;i=19598 */ - -static UA_StatusCode function_namespace0_generated_729_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19598_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19598_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19598_variant_DataContents); -*variablenode_ns_0_i_19598_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19598_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19598LU), -UA_NODEID_NUMERIC(ns[0], 19596LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19598_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_729_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19598LU) -); -} - -/* Active - ns=0;i=19597 */ - -static UA_StatusCode function_namespace0_generated_730_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19597LU), -UA_NODEID_NUMERIC(ns[0], 19596LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_730_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19597LU) -); -} - -/* StateDisabledByMethod - ns=0;i=19590 */ - -static UA_StatusCode function_namespace0_generated_731_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19590LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_731_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19590LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19593 */ - -static UA_StatusCode function_namespace0_generated_732_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19593_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19593_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19593_variant_DataContents); -*variablenode_ns_0_i_19593_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19593_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19593LU), -UA_NODEID_NUMERIC(ns[0], 19590LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19593_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_732_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19593LU) -); -} - -/* Classification - ns=0;i=19592 */ - -static UA_StatusCode function_namespace0_generated_733_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19592_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19592_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19592_variant_DataContents); -*variablenode_ns_0_i_19592_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19592_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19592LU), -UA_NODEID_NUMERIC(ns[0], 19590LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19592_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_733_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19592LU) -); -} - -/* Active - ns=0;i=19591 */ - -static UA_StatusCode function_namespace0_generated_734_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19591LU), -UA_NODEID_NUMERIC(ns[0], 19590LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_734_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19591LU) -); -} - -/* StatePausedByParent - ns=0;i=19585 */ - -static UA_StatusCode function_namespace0_generated_735_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19585LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_735_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19585LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19588 */ - -static UA_StatusCode function_namespace0_generated_736_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19588_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19588_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19588_variant_DataContents); -*variablenode_ns_0_i_19588_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19588_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19588LU), -UA_NODEID_NUMERIC(ns[0], 19585LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19588_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_736_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19588LU) -); -} - -/* Classification - ns=0;i=19587 */ - -static UA_StatusCode function_namespace0_generated_737_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19587_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19587_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19587_variant_DataContents); -*variablenode_ns_0_i_19587_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19587_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19587LU), -UA_NODEID_NUMERIC(ns[0], 19585LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19587_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_737_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19587LU) -); -} - -/* Active - ns=0;i=19586 */ - -static UA_StatusCode function_namespace0_generated_738_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19586LU), -UA_NODEID_NUMERIC(ns[0], 19585LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_738_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19586LU) -); -} - -/* StateOperationalFromError - ns=0;i=19580 */ - -static UA_StatusCode function_namespace0_generated_739_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19580LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_739_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19580LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19583 */ - -static UA_StatusCode function_namespace0_generated_740_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19583_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19583_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19583_variant_DataContents); -*variablenode_ns_0_i_19583_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19583_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19583LU), -UA_NODEID_NUMERIC(ns[0], 19580LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19583_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_740_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19583LU) -); -} - -/* Classification - ns=0;i=19582 */ - -static UA_StatusCode function_namespace0_generated_741_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19582_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19582_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19582_variant_DataContents); -*variablenode_ns_0_i_19582_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19582_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19582LU), -UA_NODEID_NUMERIC(ns[0], 19580LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19582_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_741_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19582LU) -); -} - -/* Active - ns=0;i=19581 */ - -static UA_StatusCode function_namespace0_generated_742_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19581LU), -UA_NODEID_NUMERIC(ns[0], 19580LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_742_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19581LU) -); -} - -/* StateOperationalByParent - ns=0;i=19575 */ - -static UA_StatusCode function_namespace0_generated_743_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19575LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_743_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19575LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19578 */ - -static UA_StatusCode function_namespace0_generated_744_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19578_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19578_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19578_variant_DataContents); -*variablenode_ns_0_i_19578_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19578_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19578LU), -UA_NODEID_NUMERIC(ns[0], 19575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19578_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_744_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19578LU) -); -} - -/* Classification - ns=0;i=19577 */ - -static UA_StatusCode function_namespace0_generated_745_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19577_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19577_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19577_variant_DataContents); -*variablenode_ns_0_i_19577_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19577_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19577LU), -UA_NODEID_NUMERIC(ns[0], 19575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19577_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_745_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19577LU) -); -} - -/* Active - ns=0;i=19576 */ - -static UA_StatusCode function_namespace0_generated_746_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19576LU), -UA_NODEID_NUMERIC(ns[0], 19575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_746_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19576LU) -); -} - -/* StateOperationalByMethod - ns=0;i=19570 */ - -static UA_StatusCode function_namespace0_generated_747_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19570LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_747_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19570LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19573 */ - -static UA_StatusCode function_namespace0_generated_748_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19573_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19573_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19573_variant_DataContents); -*variablenode_ns_0_i_19573_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19573_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19573LU), -UA_NODEID_NUMERIC(ns[0], 19570LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19573_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_748_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19573LU) -); -} - -/* Classification - ns=0;i=19572 */ - -static UA_StatusCode function_namespace0_generated_749_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19572_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19572_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19572_variant_DataContents); -*variablenode_ns_0_i_19572_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19572_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19572LU), -UA_NODEID_NUMERIC(ns[0], 19570LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19572_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_749_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19572LU) -); -} - -/* Active - ns=0;i=19571 */ - -static UA_StatusCode function_namespace0_generated_750_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19571LU), -UA_NODEID_NUMERIC(ns[0], 19570LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_750_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19571LU) -); -} - -/* StateError - ns=0;i=19565 */ - -static UA_StatusCode function_namespace0_generated_751_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19565LU), -UA_NODEID_NUMERIC(ns[0], 19564LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_751_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19565LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19568 */ - -static UA_StatusCode function_namespace0_generated_752_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19568_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19568_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19568_variant_DataContents); -*variablenode_ns_0_i_19568_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19568_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19568LU), -UA_NODEID_NUMERIC(ns[0], 19565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19568_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_752_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19568LU) -); -} - -/* Classification - ns=0;i=19567 */ - -static UA_StatusCode function_namespace0_generated_753_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19567_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19567_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19567_variant_DataContents); -*variablenode_ns_0_i_19567_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19567_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19567LU), -UA_NODEID_NUMERIC(ns[0], 19565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19567_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_753_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19567LU) -); -} - -/* Active - ns=0;i=19566 */ - -static UA_StatusCode function_namespace0_generated_754_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19566LU), -UA_NODEID_NUMERIC(ns[0], 19565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_754_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19566LU) -); -} - -/* SubError - ns=0;i=19563 */ - -static UA_StatusCode function_namespace0_generated_755_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19563LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_755_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19563LU) -); -} - -/* Reset - ns=0;i=19562 */ - -static UA_StatusCode function_namespace0_generated_756_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19562LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_756_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19562LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=19557 */ - -static UA_StatusCode function_namespace0_generated_757_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19557LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_757_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19557LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19560 */ - -static UA_StatusCode function_namespace0_generated_758_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19560LU), -UA_NODEID_NUMERIC(ns[0], 19557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_758_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19560LU) -); -} - -/* Classification - ns=0;i=19559 */ - -static UA_StatusCode function_namespace0_generated_759_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19559LU), -UA_NODEID_NUMERIC(ns[0], 19557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_759_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19559LU) -); -} - -/* Active - ns=0;i=19558 */ - -static UA_StatusCode function_namespace0_generated_760_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19558LU), -UA_NODEID_NUMERIC(ns[0], 19557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_760_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19558LU) -); -} - -/* TotalInformation - ns=0;i=19552 */ - -static UA_StatusCode function_namespace0_generated_761_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19552LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_761_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19552LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19555 */ - -static UA_StatusCode function_namespace0_generated_762_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19555LU), -UA_NODEID_NUMERIC(ns[0], 19552LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_762_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19555LU) -); -} - -/* Classification - ns=0;i=19554 */ - -static UA_StatusCode function_namespace0_generated_763_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19554LU), -UA_NODEID_NUMERIC(ns[0], 19552LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_763_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19554LU) -); -} - -/* Active - ns=0;i=19553 */ - -static UA_StatusCode function_namespace0_generated_764_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19553LU), -UA_NODEID_NUMERIC(ns[0], 19552LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_764_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19553LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19551 */ - -static UA_StatusCode function_namespace0_generated_765_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19551LU), -UA_NODEID_NUMERIC(ns[0], 19550LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_765_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19551LU) -); -} - -/* DataSetWriterProperties - ns=0;i=17493 */ - -static UA_StatusCode function_namespace0_generated_766_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17493LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_766_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17493LU) -); -} - -/* TransportSettings - ns=0;i=15303 */ - -static UA_StatusCode function_namespace0_generated_767_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15303LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportSettings"), -UA_NODEID_NUMERIC(ns[0], 15305LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_767_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15303LU) -); -} - -/* Status - ns=0;i=15299 */ - -static UA_StatusCode function_namespace0_generated_768_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15299LU), -UA_NODEID_NUMERIC(ns[0], 15298LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_768_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15299LU) -); -} - -/* State - ns=0;i=15300 */ - -static UA_StatusCode function_namespace0_generated_769_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15300LU), -UA_NODEID_NUMERIC(ns[0], 15299LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_769_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15300LU) -); -} - -/* ReaderGroupMessageType - ns=0;i=21091 */ - -static UA_StatusCode function_namespace0_generated_770_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21091LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_770_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21091LU) -); -} - -/* ReaderGroupTransportType - ns=0;i=21090 */ - -static UA_StatusCode function_namespace0_generated_771_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21090LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_771_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21090LU) -); -} - -/* WriterGroupMessageType - ns=0;i=17998 */ - -static UA_StatusCode function_namespace0_generated_772_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17998LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_772_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17998LU) -); -} - -/* JsonWriterGroupMessageType - ns=0;i=21126 */ - -static UA_StatusCode function_namespace0_generated_773_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21126LU), -UA_NODEID_NUMERIC(ns[0], 17998LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_773_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21126LU) -); -} - -/* NetworkMessageContentMask - ns=0;i=21127 */ - -static UA_StatusCode function_namespace0_generated_774_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15654LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21127LU), -UA_NODEID_NUMERIC(ns[0], 21126LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_774_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21127LU) -); -} - -/* UadpWriterGroupMessageType - ns=0;i=21105 */ - -static UA_StatusCode function_namespace0_generated_775_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21105LU), -UA_NODEID_NUMERIC(ns[0], 17998LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_775_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21105LU) -); -} - -/* PublishingOffset - ns=0;i=21110 */ - -static UA_StatusCode function_namespace0_generated_776_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21110LU), -UA_NODEID_NUMERIC(ns[0], 21105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublishingOffset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_776_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21110LU) -); -} - -/* SamplingOffset - ns=0;i=21109 */ - -static UA_StatusCode function_namespace0_generated_777_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21109LU), -UA_NODEID_NUMERIC(ns[0], 21105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SamplingOffset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_777_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21109LU) -); -} - -/* NetworkMessageContentMask - ns=0;i=21108 */ - -static UA_StatusCode function_namespace0_generated_778_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15642LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkMessageContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21108LU), -UA_NODEID_NUMERIC(ns[0], 21105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NetworkMessageContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_778_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21108LU) -); -} - -/* DataSetOrdering - ns=0;i=21107 */ - -static UA_StatusCode function_namespace0_generated_779_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20408LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetOrdering"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21107LU), -UA_NODEID_NUMERIC(ns[0], 21105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetOrdering"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_779_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21107LU) -); -} - -/* GroupVersion - ns=0;i=21106 */ - -static UA_StatusCode function_namespace0_generated_780_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GroupVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21106LU), -UA_NODEID_NUMERIC(ns[0], 21105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "GroupVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_780_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21106LU) -); -} - -/* WriterGroupTransportType - ns=0;i=17997 */ - -static UA_StatusCode function_namespace0_generated_781_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17997LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_781_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17997LU) -); -} - -/* BrokerWriterGroupTransportType - ns=0;i=21136 */ - -static UA_StatusCode function_namespace0_generated_782_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21136LU), -UA_NODEID_NUMERIC(ns[0], 17997LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_782_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21136LU) -); -} - -/* QueueName - ns=0;i=21137 */ - -static UA_StatusCode function_namespace0_generated_783_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueueName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21137LU), -UA_NODEID_NUMERIC(ns[0], 21136LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "QueueName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_783_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21137LU) -); -} - -/* RequestedDeliveryGuarantee - ns=0;i=15249 */ - -static UA_StatusCode function_namespace0_generated_784_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15008LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestedDeliveryGuarantee"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15249LU), -UA_NODEID_NUMERIC(ns[0], 21136LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestedDeliveryGuarantee"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_784_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15249LU) -); -} - -/* AuthenticationProfileUri - ns=0;i=15247 */ - -static UA_StatusCode function_namespace0_generated_785_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15247LU), -UA_NODEID_NUMERIC(ns[0], 21136LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_785_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15247LU) -); -} - -/* ResourceUri - ns=0;i=15246 */ - -static UA_StatusCode function_namespace0_generated_786_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15246LU), -UA_NODEID_NUMERIC(ns[0], 21136LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_786_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15246LU) -); -} - -/* DatagramWriterGroupTransportType - ns=0;i=21133 */ - -static UA_StatusCode function_namespace0_generated_787_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 17997LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_787_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21133LU) -); -} - -/* QosCategory - ns=0;i=25527 */ - -static UA_StatusCode function_namespace0_generated_788_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QosCategory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25527LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "QosCategory"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_788_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25527LU) -); -} - -/* Topic - ns=0;i=23849 */ - -static UA_StatusCode function_namespace0_generated_789_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Topic"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23849LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Topic"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_789_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23849LU) -); -} - -/* DiscoveryAnnounceRate - ns=0;i=23848 */ - -static UA_StatusCode function_namespace0_generated_790_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryAnnounceRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23848LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryAnnounceRate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_790_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23848LU) -); -} - -/* DatagramQos - ns=0;i=23847 */ - -static UA_StatusCode function_namespace0_generated_791_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23604LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramQos"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23847LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DatagramQos"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_791_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23847LU) -); -} - -/* Address - ns=0;i=23842 */ - -static UA_StatusCode function_namespace0_generated_792_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Address"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23842LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Address"), -UA_NODEID_NUMERIC(ns[0], 21145LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_792_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23842LU) -); -} - -/* MessageRepeatDelay - ns=0;i=21135 */ - -static UA_StatusCode function_namespace0_generated_793_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MessageRepeatDelay"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21135LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MessageRepeatDelay"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_793_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21135LU) -); -} - -/* MessageRepeatCount - ns=0;i=21134 */ - -static UA_StatusCode function_namespace0_generated_794_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MessageRepeatCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21134LU), -UA_NODEID_NUMERIC(ns[0], 21133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MessageRepeatCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_794_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21134LU) -); -} - -/* PubSubGroupType - ns=0;i=14232 */ - -static UA_StatusCode function_namespace0_generated_795_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_795_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14232LU) -); -} - -/* ReaderGroupType - ns=0;i=17999 */ - -static UA_StatusCode function_namespace0_generated_796_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_796_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17999LU) -); -} - -/* RemoveDataSetReader - ns=0;i=21085 */ - -static UA_StatusCode function_namespace0_generated_797_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetReader"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 21085LU), -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveDataSetReader"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_797_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21085LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=21086 */ - -static UA_StatusCode function_namespace0_generated_798_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_21086_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_21086_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_21086_variant_DataContents[0].name = UA_STRING("DataSetReaderNodeId"); -variablenode_ns_0_i_21086_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_21086_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_21086_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21086LU), -UA_NODEID_NUMERIC(ns[0], 21085LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_798_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21086LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddDataSetReader - ns=0;i=21082 */ - -static UA_StatusCode function_namespace0_generated_799_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetReader"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 21082LU), -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddDataSetReader"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_799_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21082LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=21084 */ - -static UA_StatusCode function_namespace0_generated_800_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_21084_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_21084_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_21084_variant_DataContents[0].name = UA_STRING("DataSetReaderNodeId"); -variablenode_ns_0_i_21084_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_21084_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_21084_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21084LU), -UA_NODEID_NUMERIC(ns[0], 21082LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_800_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21084LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=21083 */ - -static UA_StatusCode function_namespace0_generated_801_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_21083_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_21083_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_21083_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_21083_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15623LU); -variablenode_ns_0_i_21083_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_21083_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21083LU), -UA_NODEID_NUMERIC(ns[0], 21082LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_801_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21083LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* MessageSettings - ns=0;i=21081 */ - -static UA_StatusCode function_namespace0_generated_802_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21081LU), -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MessageSettings"), -UA_NODEID_NUMERIC(ns[0], 21091LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_802_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21081LU) -); -} - -/* TransportSettings - ns=0;i=21080 */ - -static UA_StatusCode function_namespace0_generated_803_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21080LU), -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportSettings"), -UA_NODEID_NUMERIC(ns[0], 21090LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_803_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21080LU) -); -} - -/* Diagnostics - ns=0;i=21015 */ - -static UA_StatusCode function_namespace0_generated_804_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19903LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_804_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21015LU) -); -} - -/* LiveValues - ns=0;i=21060 */ - -static UA_StatusCode function_namespace0_generated_805_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21060LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_805_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21060LU) -); -} - -/* OperationalDataSetReaders - ns=0;i=21078 */ - -static UA_StatusCode function_namespace0_generated_806_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21078LU), -UA_NODEID_NUMERIC(ns[0], 21060LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_806_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21078LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21079 */ - -static UA_StatusCode function_namespace0_generated_807_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21079_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21079_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21079_variant_DataContents); -*variablenode_ns_0_i_21079_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21079_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21079LU), -UA_NODEID_NUMERIC(ns[0], 21078LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21079_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_807_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21079LU) -); -} - -/* ConfiguredDataSetReaders - ns=0;i=21076 */ - -static UA_StatusCode function_namespace0_generated_808_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21076LU), -UA_NODEID_NUMERIC(ns[0], 21060LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_808_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21076LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21077 */ - -static UA_StatusCode function_namespace0_generated_809_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21077_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21077_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21077_variant_DataContents); -*variablenode_ns_0_i_21077_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21077_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21077LU), -UA_NODEID_NUMERIC(ns[0], 21076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21077_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_809_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21077LU) -); -} - -/* Counters - ns=0;i=21029 */ - -static UA_StatusCode function_namespace0_generated_810_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_810_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21029LU) -); -} - -/* ReceivedNetworkMessages - ns=0;i=21061 */ - -static UA_StatusCode function_namespace0_generated_811_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceivedNetworkMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21061LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceivedNetworkMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_811_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21061LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21064 */ - -static UA_StatusCode function_namespace0_generated_812_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21064_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21064_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21064_variant_DataContents); -*variablenode_ns_0_i_21064_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21064_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21064LU), -UA_NODEID_NUMERIC(ns[0], 21061LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21064_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_812_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21064LU) -); -} - -/* Classification - ns=0;i=21063 */ - -static UA_StatusCode function_namespace0_generated_813_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21063_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21063_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21063_variant_DataContents); -*variablenode_ns_0_i_21063_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21063_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21063LU), -UA_NODEID_NUMERIC(ns[0], 21061LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21063_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_813_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21063LU) -); -} - -/* Active - ns=0;i=21062 */ - -static UA_StatusCode function_namespace0_generated_814_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21062LU), -UA_NODEID_NUMERIC(ns[0], 21061LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_814_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21062LU) -); -} - -/* StateDisabledByMethod - ns=0;i=21055 */ - -static UA_StatusCode function_namespace0_generated_815_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21055LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_815_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21055LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21058 */ - -static UA_StatusCode function_namespace0_generated_816_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21058_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21058_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21058_variant_DataContents); -*variablenode_ns_0_i_21058_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21058_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21058LU), -UA_NODEID_NUMERIC(ns[0], 21055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21058_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_816_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21058LU) -); -} - -/* Classification - ns=0;i=21057 */ - -static UA_StatusCode function_namespace0_generated_817_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21057_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21057_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21057_variant_DataContents); -*variablenode_ns_0_i_21057_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21057_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21057LU), -UA_NODEID_NUMERIC(ns[0], 21055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21057_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_817_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21057LU) -); -} - -/* Active - ns=0;i=21056 */ - -static UA_StatusCode function_namespace0_generated_818_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21056LU), -UA_NODEID_NUMERIC(ns[0], 21055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_818_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21056LU) -); -} - -/* StatePausedByParent - ns=0;i=21050 */ - -static UA_StatusCode function_namespace0_generated_819_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21050LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_819_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21050LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21053 */ - -static UA_StatusCode function_namespace0_generated_820_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21053_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21053_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21053_variant_DataContents); -*variablenode_ns_0_i_21053_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21053_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21053LU), -UA_NODEID_NUMERIC(ns[0], 21050LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21053_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_820_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21053LU) -); -} - -/* Classification - ns=0;i=21052 */ - -static UA_StatusCode function_namespace0_generated_821_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21052_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21052_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21052_variant_DataContents); -*variablenode_ns_0_i_21052_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21052_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21052LU), -UA_NODEID_NUMERIC(ns[0], 21050LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21052_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_821_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21052LU) -); -} - -/* Active - ns=0;i=21051 */ - -static UA_StatusCode function_namespace0_generated_822_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21051LU), -UA_NODEID_NUMERIC(ns[0], 21050LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_822_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21051LU) -); -} - -/* StateOperationalFromError - ns=0;i=21045 */ - -static UA_StatusCode function_namespace0_generated_823_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21045LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_823_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21045LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21048 */ - -static UA_StatusCode function_namespace0_generated_824_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21048_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21048_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21048_variant_DataContents); -*variablenode_ns_0_i_21048_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21048_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21048LU), -UA_NODEID_NUMERIC(ns[0], 21045LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21048_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_824_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21048LU) -); -} - -/* Classification - ns=0;i=21047 */ - -static UA_StatusCode function_namespace0_generated_825_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21047_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21047_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21047_variant_DataContents); -*variablenode_ns_0_i_21047_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21047_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21047LU), -UA_NODEID_NUMERIC(ns[0], 21045LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21047_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_825_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21047LU) -); -} - -/* Active - ns=0;i=21046 */ - -static UA_StatusCode function_namespace0_generated_826_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21046LU), -UA_NODEID_NUMERIC(ns[0], 21045LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_826_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21046LU) -); -} - -/* StateOperationalByParent - ns=0;i=21040 */ - -static UA_StatusCode function_namespace0_generated_827_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21040LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_827_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21040LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21043 */ - -static UA_StatusCode function_namespace0_generated_828_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21043_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21043_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21043_variant_DataContents); -*variablenode_ns_0_i_21043_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21043_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21043LU), -UA_NODEID_NUMERIC(ns[0], 21040LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21043_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_828_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21043LU) -); -} - -/* Classification - ns=0;i=21042 */ - -static UA_StatusCode function_namespace0_generated_829_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21042_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21042_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21042_variant_DataContents); -*variablenode_ns_0_i_21042_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21042_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21042LU), -UA_NODEID_NUMERIC(ns[0], 21040LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21042_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_829_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21042LU) -); -} - -/* Active - ns=0;i=21041 */ - -static UA_StatusCode function_namespace0_generated_830_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21041LU), -UA_NODEID_NUMERIC(ns[0], 21040LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_830_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21041LU) -); -} - -/* StateOperationalByMethod - ns=0;i=21035 */ - -static UA_StatusCode function_namespace0_generated_831_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21035LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_831_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21035LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21038 */ - -static UA_StatusCode function_namespace0_generated_832_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21038_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21038_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21038_variant_DataContents); -*variablenode_ns_0_i_21038_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21038_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21038LU), -UA_NODEID_NUMERIC(ns[0], 21035LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21038_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_832_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21038LU) -); -} - -/* Classification - ns=0;i=21037 */ - -static UA_StatusCode function_namespace0_generated_833_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21037_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21037_variant_DataContents); -*variablenode_ns_0_i_21037_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21037_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21037LU), -UA_NODEID_NUMERIC(ns[0], 21035LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21037_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_833_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21037LU) -); -} - -/* Active - ns=0;i=21036 */ - -static UA_StatusCode function_namespace0_generated_834_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21036LU), -UA_NODEID_NUMERIC(ns[0], 21035LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_834_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21036LU) -); -} - -/* StateError - ns=0;i=21030 */ - -static UA_StatusCode function_namespace0_generated_835_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21030LU), -UA_NODEID_NUMERIC(ns[0], 21029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_835_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21030LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21033 */ - -static UA_StatusCode function_namespace0_generated_836_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_21033_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21033_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21033_variant_DataContents); -*variablenode_ns_0_i_21033_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21033_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21033LU), -UA_NODEID_NUMERIC(ns[0], 21030LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21033_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_836_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21033LU) -); -} - -/* Classification - ns=0;i=21032 */ - -static UA_StatusCode function_namespace0_generated_837_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_21032_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_21032_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_21032_variant_DataContents); -*variablenode_ns_0_i_21032_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21032_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21032LU), -UA_NODEID_NUMERIC(ns[0], 21030LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_21032_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_837_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21032LU) -); -} - -/* Active - ns=0;i=21031 */ - -static UA_StatusCode function_namespace0_generated_838_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21031LU), -UA_NODEID_NUMERIC(ns[0], 21030LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_838_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21031LU) -); -} - -/* SubError - ns=0;i=21028 */ - -static UA_StatusCode function_namespace0_generated_839_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21028LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_839_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21028LU) -); -} - -/* Reset - ns=0;i=21027 */ - -static UA_StatusCode function_namespace0_generated_840_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 21027LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_840_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21027LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=21022 */ - -static UA_StatusCode function_namespace0_generated_841_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21022LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_841_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21022LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21025 */ - -static UA_StatusCode function_namespace0_generated_842_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21025LU), -UA_NODEID_NUMERIC(ns[0], 21022LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_842_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21025LU) -); -} - -/* Classification - ns=0;i=21024 */ - -static UA_StatusCode function_namespace0_generated_843_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21024LU), -UA_NODEID_NUMERIC(ns[0], 21022LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_843_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21024LU) -); -} - -/* Active - ns=0;i=21023 */ - -static UA_StatusCode function_namespace0_generated_844_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21023LU), -UA_NODEID_NUMERIC(ns[0], 21022LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_844_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21023LU) -); -} - -/* TotalInformation - ns=0;i=21017 */ - -static UA_StatusCode function_namespace0_generated_845_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21017LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_845_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21017LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21020 */ - -static UA_StatusCode function_namespace0_generated_846_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21020LU), -UA_NODEID_NUMERIC(ns[0], 21017LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_846_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21020LU) -); -} - -/* Classification - ns=0;i=21019 */ - -static UA_StatusCode function_namespace0_generated_847_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21019LU), -UA_NODEID_NUMERIC(ns[0], 21017LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_847_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21019LU) -); -} - -/* Active - ns=0;i=21018 */ - -static UA_StatusCode function_namespace0_generated_848_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21018LU), -UA_NODEID_NUMERIC(ns[0], 21017LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_848_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21018LU) -); -} - -/* DiagnosticsLevel - ns=0;i=21016 */ - -static UA_StatusCode function_namespace0_generated_849_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21016LU), -UA_NODEID_NUMERIC(ns[0], 21015LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_849_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21016LU) -); -} - -/* - ns=0;i=18076 */ - -static UA_StatusCode function_namespace0_generated_850_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 17999LU), -UA_NODEID_NUMERIC(ns[0], 15297LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15306LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_850_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18076LU) -); -} - -/* SubscribedDataSet - ns=0;i=21006 */ - -static UA_StatusCode function_namespace0_generated_851_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21006LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSet"), -UA_NODEID_NUMERIC(ns[0], 15108LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_851_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21006LU) -); -} - -/* Status - ns=0;i=18088 */ - -static UA_StatusCode function_namespace0_generated_852_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18088LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_852_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18088LU) -); -} - -/* State - ns=0;i=18089 */ - -static UA_StatusCode function_namespace0_generated_853_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18089LU), -UA_NODEID_NUMERIC(ns[0], 18088LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_853_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18089LU) -); -} - -/* MessageReceiveTimeout - ns=0;i=18082 */ - -static UA_StatusCode function_namespace0_generated_854_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MessageReceiveTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18082LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MessageReceiveTimeout"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_854_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18082LU) -); -} - -/* DataSetFieldContentMask - ns=0;i=18081 */ - -static UA_StatusCode function_namespace0_generated_855_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18081LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_855_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18081LU) -); -} - -/* DataSetMetaData - ns=0;i=18080 */ - -static UA_StatusCode function_namespace0_generated_856_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18080LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_856_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18080LU) -); -} - -/* DataSetWriterId - ns=0;i=18079 */ - -static UA_StatusCode function_namespace0_generated_857_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18079LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_857_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18079LU) -); -} - -/* WriterGroupId - ns=0;i=18078 */ - -static UA_StatusCode function_namespace0_generated_858_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18078LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_858_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18078LU) -); -} - -/* PublisherId - ns=0;i=18077 */ - -static UA_StatusCode function_namespace0_generated_859_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18077LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_859_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18077LU) -); -} - -/* HeaderLayoutUri - ns=0;i=17562 */ - -static UA_StatusCode function_namespace0_generated_860_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17562LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_860_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17562LU) -); -} - -/* KeyFrameCount - ns=0;i=17560 */ - -static UA_StatusCode function_namespace0_generated_861_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyFrameCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17560LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeyFrameCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_861_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17560LU) -); -} - -/* DataSetReaderProperties - ns=0;i=17492 */ - -static UA_StatusCode function_namespace0_generated_862_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17492LU), -UA_NODEID_NUMERIC(ns[0], 18076LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_862_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17492LU) -); -} - -/* WriterGroupType - ns=0;i=17725 */ - -static UA_StatusCode function_namespace0_generated_863_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_863_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17725LU) -); -} - -/* RemoveDataSetWriter - ns=0;i=17992 */ - -static UA_StatusCode function_namespace0_generated_864_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetWriter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17992LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveDataSetWriter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_864_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17992LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17993 */ - -static UA_StatusCode function_namespace0_generated_865_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17993_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17993_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17993_variant_DataContents[0].name = UA_STRING("DataSetWriterNodeId"); -variablenode_ns_0_i_17993_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17993_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17993_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17993LU), -UA_NODEID_NUMERIC(ns[0], 17992LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_865_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17993LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddDataSetWriter - ns=0;i=17969 */ - -static UA_StatusCode function_namespace0_generated_866_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetWriter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17969LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddDataSetWriter"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_866_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17969LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17987 */ - -static UA_StatusCode function_namespace0_generated_867_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17987_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17987_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17987_variant_DataContents[0].name = UA_STRING("DataSetWriterNodeId"); -variablenode_ns_0_i_17987_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17987_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17987_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17987LU), -UA_NODEID_NUMERIC(ns[0], 17969LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_867_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17987LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17976 */ - -static UA_StatusCode function_namespace0_generated_868_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17976_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17976_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17976_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_17976_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15597LU); -variablenode_ns_0_i_17976_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17976_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17976LU), -UA_NODEID_NUMERIC(ns[0], 17969LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_868_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17976LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Diagnostics - ns=0;i=17812 */ - -static UA_StatusCode function_namespace0_generated_869_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19834LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_869_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17812LU) -); -} - -/* LiveValues - ns=0;i=17858 */ - -static UA_StatusCode function_namespace0_generated_870_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17858LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_870_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17858LU) -); -} - -/* OperationalDataSetWriters - ns=0;i=17927 */ - -static UA_StatusCode function_namespace0_generated_871_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17927LU), -UA_NODEID_NUMERIC(ns[0], 17858LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_871_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17927LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17934 */ - -static UA_StatusCode function_namespace0_generated_872_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17934_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17934_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17934_variant_DataContents); -*variablenode_ns_0_i_17934_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17934_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17934LU), -UA_NODEID_NUMERIC(ns[0], 17927LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17934_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_872_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17934LU) -); -} - -/* ConfiguredDataSetWriters - ns=0;i=17913 */ - -static UA_StatusCode function_namespace0_generated_873_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17913LU), -UA_NODEID_NUMERIC(ns[0], 17858LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_873_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17913LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17920 */ - -static UA_StatusCode function_namespace0_generated_874_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17920_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17920_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17920_variant_DataContents); -*variablenode_ns_0_i_17920_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17920_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17920LU), -UA_NODEID_NUMERIC(ns[0], 17913LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17920_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_874_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17920LU) -); -} - -/* Counters - ns=0;i=17826 */ - -static UA_StatusCode function_namespace0_generated_875_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_875_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17826LU) -); -} - -/* EncryptionErrors - ns=0;i=17900 */ - -static UA_StatusCode function_namespace0_generated_876_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EncryptionErrors"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17900LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EncryptionErrors"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_876_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17900LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17903 */ - -static UA_StatusCode function_namespace0_generated_877_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17903_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17903_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17903_variant_DataContents); -*variablenode_ns_0_i_17903_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17903_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17903LU), -UA_NODEID_NUMERIC(ns[0], 17900LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17903_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_877_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17903LU) -); -} - -/* Classification - ns=0;i=17902 */ - -static UA_StatusCode function_namespace0_generated_878_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17902_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17902_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17902_variant_DataContents); -*variablenode_ns_0_i_17902_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17902_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17902LU), -UA_NODEID_NUMERIC(ns[0], 17900LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17902_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_878_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17902LU) -); -} - -/* Active - ns=0;i=17901 */ - -static UA_StatusCode function_namespace0_generated_879_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17901LU), -UA_NODEID_NUMERIC(ns[0], 17900LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_879_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17901LU) -); -} - -/* FailedTransmissions - ns=0;i=17874 */ - -static UA_StatusCode function_namespace0_generated_880_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailedTransmissions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17874LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailedTransmissions"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_880_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17874LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17892 */ - -static UA_StatusCode function_namespace0_generated_881_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17892_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17892_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17892_variant_DataContents); -*variablenode_ns_0_i_17892_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17892_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17892LU), -UA_NODEID_NUMERIC(ns[0], 17874LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17892_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_881_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17892LU) -); -} - -/* Classification - ns=0;i=17885 */ - -static UA_StatusCode function_namespace0_generated_882_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17885_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17885_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17885_variant_DataContents); -*variablenode_ns_0_i_17885_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17885_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17885LU), -UA_NODEID_NUMERIC(ns[0], 17874LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17885_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_882_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17885LU) -); -} - -/* Active - ns=0;i=17878 */ - -static UA_StatusCode function_namespace0_generated_883_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17878LU), -UA_NODEID_NUMERIC(ns[0], 17874LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_883_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17878LU) -); -} - -/* SentNetworkMessages - ns=0;i=17859 */ - -static UA_StatusCode function_namespace0_generated_884_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SentNetworkMessages"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17859LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SentNetworkMessages"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_884_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17859LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17872 */ - -static UA_StatusCode function_namespace0_generated_885_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17872_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17872_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17872_variant_DataContents); -*variablenode_ns_0_i_17872_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17872_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17872LU), -UA_NODEID_NUMERIC(ns[0], 17859LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17872_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_885_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17872LU) -); -} - -/* Classification - ns=0;i=17871 */ - -static UA_StatusCode function_namespace0_generated_886_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17871_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17871_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17871_variant_DataContents); -*variablenode_ns_0_i_17871_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17871_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17871LU), -UA_NODEID_NUMERIC(ns[0], 17859LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17871_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_886_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17871LU) -); -} - -/* Active - ns=0;i=17864 */ - -static UA_StatusCode function_namespace0_generated_887_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17864LU), -UA_NODEID_NUMERIC(ns[0], 17859LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_887_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17864LU) -); -} - -/* StateDisabledByMethod - ns=0;i=17853 */ - -static UA_StatusCode function_namespace0_generated_888_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17853LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_888_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17853LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17856 */ - -static UA_StatusCode function_namespace0_generated_889_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17856_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17856_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17856_variant_DataContents); -*variablenode_ns_0_i_17856_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17856_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17856LU), -UA_NODEID_NUMERIC(ns[0], 17853LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17856_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_889_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17856LU) -); -} - -/* Classification - ns=0;i=17855 */ - -static UA_StatusCode function_namespace0_generated_890_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17855_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17855_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17855_variant_DataContents); -*variablenode_ns_0_i_17855_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17855_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17855LU), -UA_NODEID_NUMERIC(ns[0], 17853LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17855_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_890_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17855LU) -); -} - -/* Active - ns=0;i=17854 */ - -static UA_StatusCode function_namespace0_generated_891_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17854LU), -UA_NODEID_NUMERIC(ns[0], 17853LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_891_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17854LU) -); -} - -/* StatePausedByParent - ns=0;i=17847 */ - -static UA_StatusCode function_namespace0_generated_892_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17847LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_892_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17847LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17850 */ - -static UA_StatusCode function_namespace0_generated_893_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17850_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17850_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17850_variant_DataContents); -*variablenode_ns_0_i_17850_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17850_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17850LU), -UA_NODEID_NUMERIC(ns[0], 17847LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17850_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_893_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17850LU) -); -} - -/* Classification - ns=0;i=17849 */ - -static UA_StatusCode function_namespace0_generated_894_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17849_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17849_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17849_variant_DataContents); -*variablenode_ns_0_i_17849_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17849_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17849LU), -UA_NODEID_NUMERIC(ns[0], 17847LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17849_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_894_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17849LU) -); -} - -/* Active - ns=0;i=17848 */ - -static UA_StatusCode function_namespace0_generated_895_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17848LU), -UA_NODEID_NUMERIC(ns[0], 17847LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_895_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17848LU) -); -} - -/* StateOperationalFromError - ns=0;i=17842 */ - -static UA_StatusCode function_namespace0_generated_896_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17842LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_896_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17842LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17845 */ - -static UA_StatusCode function_namespace0_generated_897_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17845_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17845_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17845_variant_DataContents); -*variablenode_ns_0_i_17845_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17845_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17845LU), -UA_NODEID_NUMERIC(ns[0], 17842LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17845_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_897_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17845LU) -); -} - -/* Classification - ns=0;i=17844 */ - -static UA_StatusCode function_namespace0_generated_898_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17844_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17844_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17844_variant_DataContents); -*variablenode_ns_0_i_17844_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17844_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17844LU), -UA_NODEID_NUMERIC(ns[0], 17842LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17844_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_898_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17844LU) -); -} - -/* Active - ns=0;i=17843 */ - -static UA_StatusCode function_namespace0_generated_899_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17843LU), -UA_NODEID_NUMERIC(ns[0], 17842LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_899_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17843LU) -); -} - -/* StateOperationalByParent - ns=0;i=17837 */ - -static UA_StatusCode function_namespace0_generated_900_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17837LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_900_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17837LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17840 */ - -static UA_StatusCode function_namespace0_generated_901_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17840_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17840_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17840_variant_DataContents); -*variablenode_ns_0_i_17840_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17840_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17840LU), -UA_NODEID_NUMERIC(ns[0], 17837LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17840_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_901_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17840LU) -); -} - -/* Classification - ns=0;i=17839 */ - -static UA_StatusCode function_namespace0_generated_902_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17839_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17839_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17839_variant_DataContents); -*variablenode_ns_0_i_17839_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17839_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17839LU), -UA_NODEID_NUMERIC(ns[0], 17837LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17839_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_902_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17839LU) -); -} - -/* Active - ns=0;i=17838 */ - -static UA_StatusCode function_namespace0_generated_903_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17838LU), -UA_NODEID_NUMERIC(ns[0], 17837LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_903_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17838LU) -); -} - -/* StateOperationalByMethod - ns=0;i=17832 */ - -static UA_StatusCode function_namespace0_generated_904_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17832LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_904_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17832LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17835 */ - -static UA_StatusCode function_namespace0_generated_905_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17835_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17835_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17835_variant_DataContents); -*variablenode_ns_0_i_17835_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17835_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17835LU), -UA_NODEID_NUMERIC(ns[0], 17832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17835_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_905_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17835LU) -); -} - -/* Classification - ns=0;i=17834 */ - -static UA_StatusCode function_namespace0_generated_906_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17834_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17834_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17834_variant_DataContents); -*variablenode_ns_0_i_17834_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17834_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17834LU), -UA_NODEID_NUMERIC(ns[0], 17832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17834_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_906_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17834LU) -); -} - -/* Active - ns=0;i=17833 */ - -static UA_StatusCode function_namespace0_generated_907_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17833LU), -UA_NODEID_NUMERIC(ns[0], 17832LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_907_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17833LU) -); -} - -/* StateError - ns=0;i=17827 */ - -static UA_StatusCode function_namespace0_generated_908_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17827LU), -UA_NODEID_NUMERIC(ns[0], 17826LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_908_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17827LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17830 */ - -static UA_StatusCode function_namespace0_generated_909_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17830_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17830_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17830_variant_DataContents); -*variablenode_ns_0_i_17830_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17830_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17830LU), -UA_NODEID_NUMERIC(ns[0], 17827LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17830_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_909_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17830LU) -); -} - -/* Classification - ns=0;i=17829 */ - -static UA_StatusCode function_namespace0_generated_910_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17829_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17829_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17829_variant_DataContents); -*variablenode_ns_0_i_17829_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17829_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17829LU), -UA_NODEID_NUMERIC(ns[0], 17827LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17829_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_910_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17829LU) -); -} - -/* Active - ns=0;i=17828 */ - -static UA_StatusCode function_namespace0_generated_911_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17828LU), -UA_NODEID_NUMERIC(ns[0], 17827LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_911_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17828LU) -); -} - -/* SubError - ns=0;i=17825 */ - -static UA_StatusCode function_namespace0_generated_912_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17825LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_912_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17825LU) -); -} - -/* Reset - ns=0;i=17824 */ - -static UA_StatusCode function_namespace0_generated_913_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17824LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_913_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17824LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=17819 */ - -static UA_StatusCode function_namespace0_generated_914_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17819LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_914_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17819LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17822 */ - -static UA_StatusCode function_namespace0_generated_915_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17822LU), -UA_NODEID_NUMERIC(ns[0], 17819LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_915_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17822LU) -); -} - -/* Classification - ns=0;i=17821 */ - -static UA_StatusCode function_namespace0_generated_916_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17821LU), -UA_NODEID_NUMERIC(ns[0], 17819LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_916_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17821LU) -); -} - -/* Active - ns=0;i=17820 */ - -static UA_StatusCode function_namespace0_generated_917_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17820LU), -UA_NODEID_NUMERIC(ns[0], 17819LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_917_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17820LU) -); -} - -/* TotalInformation - ns=0;i=17814 */ - -static UA_StatusCode function_namespace0_generated_918_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17814LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_918_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17814LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17817 */ - -static UA_StatusCode function_namespace0_generated_919_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17817LU), -UA_NODEID_NUMERIC(ns[0], 17814LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_919_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17817LU) -); -} - -/* Classification - ns=0;i=17816 */ - -static UA_StatusCode function_namespace0_generated_920_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17816LU), -UA_NODEID_NUMERIC(ns[0], 17814LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_920_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17816LU) -); -} - -/* Active - ns=0;i=17815 */ - -static UA_StatusCode function_namespace0_generated_921_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17815LU), -UA_NODEID_NUMERIC(ns[0], 17814LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_921_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17815LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17813 */ - -static UA_StatusCode function_namespace0_generated_922_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17813LU), -UA_NODEID_NUMERIC(ns[0], 17812LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_922_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17813LU) -); -} - -/* - ns=0;i=17743 */ - -static UA_StatusCode function_namespace0_generated_923_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17743LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 15296LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15298LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_923_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17743LU) -); -} - -/* Status - ns=0;i=17749 */ - -static UA_StatusCode function_namespace0_generated_924_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17749LU), -UA_NODEID_NUMERIC(ns[0], 17743LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_924_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17749LU) -); -} - -/* State - ns=0;i=17750 */ - -static UA_StatusCode function_namespace0_generated_925_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17750LU), -UA_NODEID_NUMERIC(ns[0], 17749LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_925_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17750LU) -); -} - -/* DataSetFieldContentMask - ns=0;i=17745 */ - -static UA_StatusCode function_namespace0_generated_926_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17745LU), -UA_NODEID_NUMERIC(ns[0], 17743LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_926_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17745LU) -); -} - -/* DataSetWriterId - ns=0;i=17744 */ - -static UA_StatusCode function_namespace0_generated_927_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17744LU), -UA_NODEID_NUMERIC(ns[0], 17743LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_927_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17744LU) -); -} - -/* DataSetWriterProperties - ns=0;i=17490 */ - -static UA_StatusCode function_namespace0_generated_928_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17490LU), -UA_NODEID_NUMERIC(ns[0], 17743LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_928_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17490LU) -); -} - -/* MessageSettings - ns=0;i=17742 */ - -static UA_StatusCode function_namespace0_generated_929_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MessageSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17742LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MessageSettings"), -UA_NODEID_NUMERIC(ns[0], 17998LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_929_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17742LU) -); -} - -/* TransportSettings - ns=0;i=17741 */ - -static UA_StatusCode function_namespace0_generated_930_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17741LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportSettings"), -UA_NODEID_NUMERIC(ns[0], 17997LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_930_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17741LU) -); -} - -/* LocaleIds - ns=0;i=17740 */ - -static UA_StatusCode function_namespace0_generated_931_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17740LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIds"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_931_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17740LU) -); -} - -/* Priority - ns=0;i=17739 */ - -static UA_StatusCode function_namespace0_generated_932_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17739LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Priority"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_932_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17739LU) -); -} - -/* KeepAliveTime - ns=0;i=17738 */ - -static UA_StatusCode function_namespace0_generated_933_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeepAliveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17738LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeepAliveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_933_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17738LU) -); -} - -/* PublishingInterval - ns=0;i=17737 */ - -static UA_StatusCode function_namespace0_generated_934_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17737LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_934_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17737LU) -); -} - -/* WriterGroupId - ns=0;i=17736 */ - -static UA_StatusCode function_namespace0_generated_935_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17736LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_935_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17736LU) -); -} - -/* HeaderLayoutUri - ns=0;i=17559 */ - -static UA_StatusCode function_namespace0_generated_936_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17559LU), -UA_NODEID_NUMERIC(ns[0], 17725LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_936_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17559LU) -); -} - -/* MaxNetworkMessageSize - ns=0;i=17724 */ - -static UA_StatusCode function_namespace0_generated_937_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17724LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_937_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17724LU) -); -} - -/* GroupProperties - ns=0;i=17488 */ - -static UA_StatusCode function_namespace0_generated_938_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GroupProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17488LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "GroupProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_938_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17488LU) -); -} - -/* SecurityKeyServices - ns=0;i=15928 */ - -static UA_StatusCode function_namespace0_generated_939_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServices"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15928LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityKeyServices"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_939_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15928LU) -); -} - -/* SecurityGroupId - ns=0;i=15927 */ - -static UA_StatusCode function_namespace0_generated_940_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15927LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_940_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15927LU) -); -} - -/* SecurityMode - ns=0;i=15926 */ - -static UA_StatusCode function_namespace0_generated_941_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15926LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_941_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15926LU) -); -} - -/* Status - ns=0;i=15265 */ - -static UA_StatusCode function_namespace0_generated_942_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15265LU), -UA_NODEID_NUMERIC(ns[0], 14232LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_942_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15265LU) -); -} - -/* State - ns=0;i=15266 */ - -static UA_StatusCode function_namespace0_generated_943_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15266LU), -UA_NODEID_NUMERIC(ns[0], 15265LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_943_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15266LU) -); -} - -/* ConnectionTransportType - ns=0;i=17721 */ - -static UA_StatusCode function_namespace0_generated_944_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17721LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_944_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17721LU) -); -} - -/* BrokerConnectionTransportType - ns=0;i=15155 */ - -static UA_StatusCode function_namespace0_generated_945_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15155LU), -UA_NODEID_NUMERIC(ns[0], 17721LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_945_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15155LU) -); -} - -/* AuthenticationProfileUri - ns=0;i=15178 */ - -static UA_StatusCode function_namespace0_generated_946_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15178LU), -UA_NODEID_NUMERIC(ns[0], 15155LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationProfileUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_946_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15178LU) -); -} - -/* ResourceUri - ns=0;i=15156 */ - -static UA_StatusCode function_namespace0_generated_947_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15156LU), -UA_NODEID_NUMERIC(ns[0], 15155LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_947_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15156LU) -); -} - -/* DatagramConnectionTransportType - ns=0;i=15064 */ - -static UA_StatusCode function_namespace0_generated_948_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15064LU), -UA_NODEID_NUMERIC(ns[0], 17721LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_948_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15064LU) -); -} - -/* DatagramQos - ns=0;i=25526 */ - -static UA_StatusCode function_namespace0_generated_949_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23603LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramQos"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25526LU), -UA_NODEID_NUMERIC(ns[0], 15064LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DatagramQos"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_949_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25526LU) -); -} - -/* QosCategory - ns=0;i=25525 */ - -static UA_StatusCode function_namespace0_generated_950_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QosCategory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25525LU), -UA_NODEID_NUMERIC(ns[0], 15064LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "QosCategory"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_950_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25525LU) -); -} - -/* DiscoveryMaxMessageSize - ns=0;i=23840 */ - -static UA_StatusCode function_namespace0_generated_951_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryMaxMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23840LU), -UA_NODEID_NUMERIC(ns[0], 15064LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryMaxMessageSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_951_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23840LU) -); -} - -/* DiscoveryAnnounceRate - ns=0;i=23839 */ - -static UA_StatusCode function_namespace0_generated_952_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryAnnounceRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23839LU), -UA_NODEID_NUMERIC(ns[0], 15064LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryAnnounceRate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_952_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23839LU) -); -} - -/* DiscoveryAddress - ns=0;i=15072 */ - -static UA_StatusCode function_namespace0_generated_953_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15072LU), -UA_NODEID_NUMERIC(ns[0], 15064LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryAddress"), -UA_NODEID_NUMERIC(ns[0], 21145LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_953_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15072LU) -); -} - -/* PubSubConnectionType - ns=0;i=14209 */ - -static UA_StatusCode function_namespace0_generated_954_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConnectionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_954_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14209LU) -); -} - -/* Diagnostics - ns=0;i=19241 */ - -static UA_StatusCode function_namespace0_generated_955_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19786LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_955_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19241LU) -); -} - -/* LiveValues - ns=0;i=19286 */ - -static UA_StatusCode function_namespace0_generated_956_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19286LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_956_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19286LU) -); -} - -/* ResolvedAddress - ns=0;i=19287 */ - -static UA_StatusCode function_namespace0_generated_957_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResolvedAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19287LU), -UA_NODEID_NUMERIC(ns[0], 19286LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ResolvedAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_957_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19287LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19288 */ - -static UA_StatusCode function_namespace0_generated_958_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19288_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19288_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19288_variant_DataContents); -*variablenode_ns_0_i_19288_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19288_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19288LU), -UA_NODEID_NUMERIC(ns[0], 19287LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19288_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_958_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19288LU) -); -} - -/* Counters - ns=0;i=19255 */ - -static UA_StatusCode function_namespace0_generated_959_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_959_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19255LU) -); -} - -/* StateDisabledByMethod - ns=0;i=19281 */ - -static UA_StatusCode function_namespace0_generated_960_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19281LU), -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_960_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19281LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19284 */ - -static UA_StatusCode function_namespace0_generated_961_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19284_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19284_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19284_variant_DataContents); -*variablenode_ns_0_i_19284_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19284_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19284LU), -UA_NODEID_NUMERIC(ns[0], 19281LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19284_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_961_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19284LU) -); -} - -/* Classification - ns=0;i=19283 */ - -static UA_StatusCode function_namespace0_generated_962_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19283_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19283_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19283_variant_DataContents); -*variablenode_ns_0_i_19283_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19283_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19283LU), -UA_NODEID_NUMERIC(ns[0], 19281LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19283_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_962_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19283LU) -); -} - -/* Active - ns=0;i=19282 */ - -static UA_StatusCode function_namespace0_generated_963_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19282LU), -UA_NODEID_NUMERIC(ns[0], 19281LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_963_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19282LU) -); -} - -/* StatePausedByParent - ns=0;i=19276 */ - -static UA_StatusCode function_namespace0_generated_964_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19276LU), -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_964_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19276LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19279 */ - -static UA_StatusCode function_namespace0_generated_965_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19279_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19279_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19279_variant_DataContents); -*variablenode_ns_0_i_19279_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19279_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19279LU), -UA_NODEID_NUMERIC(ns[0], 19276LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19279_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_965_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19279LU) -); -} - -/* Classification - ns=0;i=19278 */ - -static UA_StatusCode function_namespace0_generated_966_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19278_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19278_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19278_variant_DataContents); -*variablenode_ns_0_i_19278_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19278_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19278LU), -UA_NODEID_NUMERIC(ns[0], 19276LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19278_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_966_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19278LU) -); -} - -/* Active - ns=0;i=19277 */ - -static UA_StatusCode function_namespace0_generated_967_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19277LU), -UA_NODEID_NUMERIC(ns[0], 19276LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_967_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19277LU) -); -} - -/* StateOperationalFromError - ns=0;i=19271 */ - -static UA_StatusCode function_namespace0_generated_968_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19271LU), -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_968_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19271LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19274 */ - -static UA_StatusCode function_namespace0_generated_969_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19274_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19274_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19274_variant_DataContents); -*variablenode_ns_0_i_19274_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19274_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19274LU), -UA_NODEID_NUMERIC(ns[0], 19271LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19274_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_969_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19274LU) -); -} - -/* Classification - ns=0;i=19273 */ - -static UA_StatusCode function_namespace0_generated_970_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19273_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19273_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19273_variant_DataContents); -*variablenode_ns_0_i_19273_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19273_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19273LU), -UA_NODEID_NUMERIC(ns[0], 19271LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19273_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_970_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19273LU) -); -} - -/* Active - ns=0;i=19272 */ - -static UA_StatusCode function_namespace0_generated_971_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19272LU), -UA_NODEID_NUMERIC(ns[0], 19271LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_971_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19272LU) -); -} - -/* StateOperationalByParent - ns=0;i=19266 */ - -static UA_StatusCode function_namespace0_generated_972_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19266LU), -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_972_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19266LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19269 */ - -static UA_StatusCode function_namespace0_generated_973_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19269_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19269_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19269_variant_DataContents); -*variablenode_ns_0_i_19269_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19269_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19269LU), -UA_NODEID_NUMERIC(ns[0], 19266LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19269_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_973_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19269LU) -); -} - -/* Classification - ns=0;i=19268 */ - -static UA_StatusCode function_namespace0_generated_974_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19268_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19268_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19268_variant_DataContents); -*variablenode_ns_0_i_19268_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19268_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19268LU), -UA_NODEID_NUMERIC(ns[0], 19266LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19268_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_974_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19268LU) -); -} - -/* Active - ns=0;i=19267 */ - -static UA_StatusCode function_namespace0_generated_975_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19267LU), -UA_NODEID_NUMERIC(ns[0], 19266LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_975_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19267LU) -); -} - -/* StateOperationalByMethod - ns=0;i=19261 */ - -static UA_StatusCode function_namespace0_generated_976_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19261LU), -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_976_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19261LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19264 */ - -static UA_StatusCode function_namespace0_generated_977_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19264_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19264_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19264_variant_DataContents); -*variablenode_ns_0_i_19264_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19264_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19264LU), -UA_NODEID_NUMERIC(ns[0], 19261LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19264_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_977_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19264LU) -); -} - -/* Classification - ns=0;i=19263 */ - -static UA_StatusCode function_namespace0_generated_978_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19263_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19263_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19263_variant_DataContents); -*variablenode_ns_0_i_19263_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19263_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19263LU), -UA_NODEID_NUMERIC(ns[0], 19261LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19263_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_978_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19263LU) -); -} - -/* Active - ns=0;i=19262 */ - -static UA_StatusCode function_namespace0_generated_979_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19262LU), -UA_NODEID_NUMERIC(ns[0], 19261LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_979_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19262LU) -); -} - -/* StateError - ns=0;i=19256 */ - -static UA_StatusCode function_namespace0_generated_980_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19256LU), -UA_NODEID_NUMERIC(ns[0], 19255LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_980_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19256LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19259 */ - -static UA_StatusCode function_namespace0_generated_981_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_19259_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19259_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19259_variant_DataContents); -*variablenode_ns_0_i_19259_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19259_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19259LU), -UA_NODEID_NUMERIC(ns[0], 19256LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19259_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_981_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19259LU) -); -} - -/* Classification - ns=0;i=19258 */ - -static UA_StatusCode function_namespace0_generated_982_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_19258_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_19258_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_19258_variant_DataContents); -*variablenode_ns_0_i_19258_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19258_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19258LU), -UA_NODEID_NUMERIC(ns[0], 19256LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_19258_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_982_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19258LU) -); -} - -/* Active - ns=0;i=19257 */ - -static UA_StatusCode function_namespace0_generated_983_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19257LU), -UA_NODEID_NUMERIC(ns[0], 19256LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_983_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19257LU) -); -} - -/* SubError - ns=0;i=19254 */ - -static UA_StatusCode function_namespace0_generated_984_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19254LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_984_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19254LU) -); -} - -/* Reset - ns=0;i=19253 */ - -static UA_StatusCode function_namespace0_generated_985_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19253LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_985_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19253LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=19248 */ - -static UA_StatusCode function_namespace0_generated_986_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19248LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_986_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19248LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19251 */ - -static UA_StatusCode function_namespace0_generated_987_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19251LU), -UA_NODEID_NUMERIC(ns[0], 19248LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_987_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19251LU) -); -} - -/* Classification - ns=0;i=19250 */ - -static UA_StatusCode function_namespace0_generated_988_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19250LU), -UA_NODEID_NUMERIC(ns[0], 19248LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_988_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19250LU) -); -} - -/* Active - ns=0;i=19249 */ - -static UA_StatusCode function_namespace0_generated_989_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19249LU), -UA_NODEID_NUMERIC(ns[0], 19248LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_989_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19249LU) -); -} - -/* TotalInformation - ns=0;i=19243 */ - -static UA_StatusCode function_namespace0_generated_990_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19243LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_990_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19243LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19246 */ - -static UA_StatusCode function_namespace0_generated_991_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19246LU), -UA_NODEID_NUMERIC(ns[0], 19243LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_991_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19246LU) -); -} - -/* Classification - ns=0;i=19245 */ - -static UA_StatusCode function_namespace0_generated_992_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19245LU), -UA_NODEID_NUMERIC(ns[0], 19243LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_992_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19245LU) -); -} - -/* Active - ns=0;i=19244 */ - -static UA_StatusCode function_namespace0_generated_993_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19244LU), -UA_NODEID_NUMERIC(ns[0], 19243LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_993_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19244LU) -); -} - -/* DiagnosticsLevel - ns=0;i=19242 */ - -static UA_StatusCode function_namespace0_generated_994_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19242LU), -UA_NODEID_NUMERIC(ns[0], 19241LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_994_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19242LU) -); -} - -/* ConnectionProperties - ns=0;i=17485 */ - -static UA_StatusCode function_namespace0_generated_995_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17485LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_995_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17485LU) -); -} - -/* AddReaderGroup - ns=0;i=17465 */ - -static UA_StatusCode function_namespace0_generated_996_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddReaderGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17465LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReaderGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_996_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17465LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17508 */ - -static UA_StatusCode function_namespace0_generated_997_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17508_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17508_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17508_variant_DataContents[0].name = UA_STRING("GroupId"); -variablenode_ns_0_i_17508_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17508_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17508_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17508LU), -UA_NODEID_NUMERIC(ns[0], 17465LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_997_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17508LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17507 */ - -static UA_StatusCode function_namespace0_generated_998_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17507_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17507_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17507_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_17507_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15520LU); -variablenode_ns_0_i_17507_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17507_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17507LU), -UA_NODEID_NUMERIC(ns[0], 17465LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_998_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17507LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddWriterGroup - ns=0;i=17427 */ - -static UA_StatusCode function_namespace0_generated_999_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddWriterGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17427LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddWriterGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_999_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17427LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17456 */ - -static UA_StatusCode function_namespace0_generated_1000_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17456_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17456_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17456_variant_DataContents[0].name = UA_STRING("GroupId"); -variablenode_ns_0_i_17456_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17456_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17456_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17456LU), -UA_NODEID_NUMERIC(ns[0], 17427LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1000_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17456LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17428 */ - -static UA_StatusCode function_namespace0_generated_1001_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17428_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17428_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17428_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_17428_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15480LU); -variablenode_ns_0_i_17428_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17428_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17428LU), -UA_NODEID_NUMERIC(ns[0], 17427LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1001_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17428LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=17325 */ - -static UA_StatusCode function_namespace0_generated_1002_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17325LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 18805LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 17999LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1002_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17325LU) -); -} - -/* GroupProperties - ns=0;i=17487 */ - -static UA_StatusCode function_namespace0_generated_1003_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GroupProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17487LU), -UA_NODEID_NUMERIC(ns[0], 17325LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "GroupProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1003_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17487LU) -); -} - -/* Status - ns=0;i=17329 */ - -static UA_StatusCode function_namespace0_generated_1004_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17329LU), -UA_NODEID_NUMERIC(ns[0], 17325LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1004_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17329LU) -); -} - -/* State - ns=0;i=17330 */ - -static UA_StatusCode function_namespace0_generated_1005_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17330LU), -UA_NODEID_NUMERIC(ns[0], 17329LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1005_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17330LU) -); -} - -/* SecurityMode - ns=0;i=17326 */ - -static UA_StatusCode function_namespace0_generated_1006_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17326LU), -UA_NODEID_NUMERIC(ns[0], 17325LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1006_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17326LU) -); -} - -/* MaxNetworkMessageSize - ns=0;i=17302 */ - -static UA_StatusCode function_namespace0_generated_1007_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17302LU), -UA_NODEID_NUMERIC(ns[0], 17325LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1007_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17302LU) -); -} - -/* - ns=0;i=17310 */ - -static UA_StatusCode function_namespace0_generated_1008_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 18804LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 17725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1008_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17310LU) -); -} - -/* HeaderLayoutUri - ns=0;i=17558 */ - -static UA_StatusCode function_namespace0_generated_1009_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HeaderLayoutUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17558LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HeaderLayoutUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1009_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17558LU) -); -} - -/* GroupProperties - ns=0;i=17486 */ - -static UA_StatusCode function_namespace0_generated_1010_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GroupProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17486LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "GroupProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1010_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17486LU) -); -} - -/* LocaleIds - ns=0;i=17322 */ - -static UA_StatusCode function_namespace0_generated_1011_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17322LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIds"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1011_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17322LU) -); -} - -/* Priority - ns=0;i=17321 */ - -static UA_StatusCode function_namespace0_generated_1012_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17321LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Priority"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1012_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17321LU) -); -} - -/* KeepAliveTime - ns=0;i=17319 */ - -static UA_StatusCode function_namespace0_generated_1013_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeepAliveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17319LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeepAliveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1013_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17319LU) -); -} - -/* PublishingInterval - ns=0;i=17318 */ - -static UA_StatusCode function_namespace0_generated_1014_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17318LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1014_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17318LU) -); -} - -/* Status - ns=0;i=17314 */ - -static UA_StatusCode function_namespace0_generated_1015_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17314LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1015_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17314LU) -); -} - -/* State - ns=0;i=17315 */ - -static UA_StatusCode function_namespace0_generated_1016_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17315LU), -UA_NODEID_NUMERIC(ns[0], 17314LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1016_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17315LU) -); -} - -/* SecurityMode - ns=0;i=17311 */ - -static UA_StatusCode function_namespace0_generated_1017_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17311LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1017_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17311LU) -); -} - -/* WriterGroupId - ns=0;i=17214 */ - -static UA_StatusCode function_namespace0_generated_1018_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17214LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1018_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17214LU) -); -} - -/* MaxNetworkMessageSize - ns=0;i=17204 */ - -static UA_StatusCode function_namespace0_generated_1019_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNetworkMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17204LU), -UA_NODEID_NUMERIC(ns[0], 17310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNetworkMessageSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1019_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17204LU) -); -} - -/* TransportSettings - ns=0;i=17203 */ - -static UA_StatusCode function_namespace0_generated_1020_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransportSettings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17203LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportSettings"), -UA_NODEID_NUMERIC(ns[0], 17721LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1020_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17203LU) -); -} - -/* Status - ns=0;i=14600 */ - -static UA_StatusCode function_namespace0_generated_1021_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14600LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1021_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14600LU) -); -} - -/* State - ns=0;i=14601 */ - -static UA_StatusCode function_namespace0_generated_1022_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14601LU), -UA_NODEID_NUMERIC(ns[0], 14600LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1022_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14601LU) -); -} - -/* PublisherId - ns=0;i=14595 */ - -static UA_StatusCode function_namespace0_generated_1023_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14595LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1023_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14595LU) -); -} - -/* RemoveGroup - ns=0;i=14225 */ - -static UA_StatusCode function_namespace0_generated_1024_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14225LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1024_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14225LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14226 */ - -static UA_StatusCode function_namespace0_generated_1025_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14226_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14226_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14226_variant_DataContents[0].name = UA_STRING("GroupId"); -variablenode_ns_0_i_14226_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14226_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14226_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14226LU), -UA_NODEID_NUMERIC(ns[0], 14225LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1025_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14226LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Address - ns=0;i=14221 */ - -static UA_StatusCode function_namespace0_generated_1026_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Address"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14221LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Address"), -UA_NODEID_NUMERIC(ns[0], 21145LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1026_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14221LU) -); -} - -/* DataSetFolderType - ns=0;i=14477 */ - -static UA_StatusCode function_namespace0_generated_1027_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1027_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14477LU) -); -} - -/* RemoveDataSetFolder - ns=0;i=16997 */ - -static UA_StatusCode function_namespace0_generated_1028_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16997LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1028_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16997LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17007 */ - -static UA_StatusCode function_namespace0_generated_1029_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17007_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17007_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17007_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_17007_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17007_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17007_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17007LU), -UA_NODEID_NUMERIC(ns[0], 16997LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1029_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17007LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddDataSetFolder - ns=0;i=16994 */ - -static UA_StatusCode function_namespace0_generated_1030_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16994LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1030_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16994LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16996 */ - -static UA_StatusCode function_namespace0_generated_1031_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16996_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16996_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16996_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_16996_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16996_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16996_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16996LU), -UA_NODEID_NUMERIC(ns[0], 16994LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1031_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16996LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16995 */ - -static UA_StatusCode function_namespace0_generated_1032_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16995_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16995_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16995_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_16995_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16995_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16995_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16995LU), -UA_NODEID_NUMERIC(ns[0], 16994LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1032_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16995LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedEventsTemplate - ns=0;i=16960 */ - -static UA_StatusCode function_namespace0_generated_1033_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEventsTemplate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16960LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedEventsTemplate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1033_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16960LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16971 */ - -static UA_StatusCode function_namespace0_generated_1034_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16971_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16971_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16971_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_16971_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16971_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16971_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16971LU), -UA_NODEID_NUMERIC(ns[0], 16960LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1034_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16971LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16961 */ - -static UA_StatusCode function_namespace0_generated_1035_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16961_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_16961_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16961_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_16961_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16961_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16961_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16961_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); -variablenode_ns_0_i_16961_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -variablenode_ns_0_i_16961_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16961_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16961_variant_DataContents[2].name = UA_STRING("EventNotifier"); -variablenode_ns_0_i_16961_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16961_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16961_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16961_variant_DataContents[3].name = UA_STRING("SelectedFields"); -variablenode_ns_0_i_16961_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); -variablenode_ns_0_i_16961_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_16961_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_16961_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_16961_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_16961_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16961_variant_DataContents[4].name = UA_STRING("Filter"); -variablenode_ns_0_i_16961_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -variablenode_ns_0_i_16961_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16961_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16961LU), -UA_NODEID_NUMERIC(ns[0], 16960LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1035_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16961LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedDataItemsTemplate - ns=0;i=16935 */ - -static UA_StatusCode function_namespace0_generated_1036_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItemsTemplate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16935LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItemsTemplate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1036_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16935LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16959 */ - -static UA_StatusCode function_namespace0_generated_1037_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16959_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16959_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16959_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_16959_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16959_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16959_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16959_variant_DataContents[1].name = UA_STRING("AddResults"); -variablenode_ns_0_i_16959_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_16959_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_16959_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_16959_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_16959_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16959_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16959LU), -UA_NODEID_NUMERIC(ns[0], 16935LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1037_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16959LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16958 */ - -static UA_StatusCode function_namespace0_generated_1038_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16958_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_16958_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16958_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_16958_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16958_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16958_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16958_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); -variablenode_ns_0_i_16958_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -variablenode_ns_0_i_16958_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16958_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16958_variant_DataContents[2].name = UA_STRING("VariablesToAdd"); -variablenode_ns_0_i_16958_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); -variablenode_ns_0_i_16958_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_16958_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_16958_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_16958_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16958_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16958LU), -UA_NODEID_NUMERIC(ns[0], 16935LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1038_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16958LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemovePublishedDataSet - ns=0;i=14499 */ - -static UA_StatusCode function_namespace0_generated_1039_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePublishedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14499LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePublishedDataSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1039_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14499LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14500 */ - -static UA_StatusCode function_namespace0_generated_1040_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14500_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14500_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14500_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_14500_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14500_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14500_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14500LU), -UA_NODEID_NUMERIC(ns[0], 14499LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1040_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14500LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedEvents - ns=0;i=14496 */ - -static UA_StatusCode function_namespace0_generated_1041_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEvents"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14496LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedEvents"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1041_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14496LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14498 */ - -static UA_StatusCode function_namespace0_generated_1042_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14498_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14498_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14498_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_14498_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14498_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14498_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14498_variant_DataContents[1].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_14498_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14498_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14498_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14498LU), -UA_NODEID_NUMERIC(ns[0], 14496LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1042_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14498LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14497 */ - -static UA_StatusCode function_namespace0_generated_1043_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14497_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_14497_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14497_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_14497_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14497_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14497_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14497_variant_DataContents[1].name = UA_STRING("EventNotifier"); -variablenode_ns_0_i_14497_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14497_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14497_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14497_variant_DataContents[2].name = UA_STRING("FieldNameAliases"); -variablenode_ns_0_i_14497_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14497_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14497_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14497_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14497_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14497_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14497_variant_DataContents[3].name = UA_STRING("FieldFlags"); -variablenode_ns_0_i_14497_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); -variablenode_ns_0_i_14497_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14497_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_14497_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14497_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14497_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14497_variant_DataContents[4].name = UA_STRING("SelectedFields"); -variablenode_ns_0_i_14497_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); -variablenode_ns_0_i_14497_variant_DataContents[4].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14497_variant_DataContents[4].arrayDimensionsSize = 1; -variablenode_ns_0_i_14497_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_14497_variant_DataContents4_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14497_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14497_variant_DataContents[5].name = UA_STRING("Filter"); -variablenode_ns_0_i_14497_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -variablenode_ns_0_i_14497_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14497_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14497LU), -UA_NODEID_NUMERIC(ns[0], 14496LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1043_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14497LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedDataItems - ns=0;i=14493 */ - -static UA_StatusCode function_namespace0_generated_1044_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItems"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14493LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItems"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1044_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14493LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14495 */ - -static UA_StatusCode function_namespace0_generated_1045_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14495_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_14495_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14495_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_14495_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14495_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14495_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14495_variant_DataContents[1].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_14495_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14495_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14495_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14495_variant_DataContents[2].name = UA_STRING("AddResults"); -variablenode_ns_0_i_14495_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_14495_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14495_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14495_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14495_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14495_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14495LU), -UA_NODEID_NUMERIC(ns[0], 14493LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1045_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14495LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14494 */ - -static UA_StatusCode function_namespace0_generated_1046_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14494_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_14494_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14494_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_14494_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14494_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14494_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14494_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); -variablenode_ns_0_i_14494_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14494_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14494_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_14494_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14494_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14494_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14494_variant_DataContents[2].name = UA_STRING("FieldFlags"); -variablenode_ns_0_i_14494_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); -variablenode_ns_0_i_14494_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14494_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14494_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14494_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14494_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14494_variant_DataContents[3].name = UA_STRING("VariablesToAdd"); -variablenode_ns_0_i_14494_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); -variablenode_ns_0_i_14494_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14494_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_14494_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14494_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14494_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14494LU), -UA_NODEID_NUMERIC(ns[0], 14493LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1046_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14494LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=14478 */ - -static UA_StatusCode function_namespace0_generated_1047_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 14477LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1047_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14478LU) -); -} - -/* RemoveDataSetFolder - ns=0;i=16923 */ - -static UA_StatusCode function_namespace0_generated_1048_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16923LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1048_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16923LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16924 */ - -static UA_StatusCode function_namespace0_generated_1049_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16924_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16924_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16924_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_16924_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16924_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16924_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16924LU), -UA_NODEID_NUMERIC(ns[0], 16923LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1049_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16924LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddDataSetFolder - ns=0;i=16884 */ - -static UA_StatusCode function_namespace0_generated_1050_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddDataSetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16884LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddDataSetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1050_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16884LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16922 */ - -static UA_StatusCode function_namespace0_generated_1051_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16922_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16922_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16922_variant_DataContents[0].name = UA_STRING("DataSetFolderNodeId"); -variablenode_ns_0_i_16922_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16922_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16922_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16922LU), -UA_NODEID_NUMERIC(ns[0], 16884LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1051_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16922LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16894 */ - -static UA_StatusCode function_namespace0_generated_1052_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16894_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16894_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16894_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_16894_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16894_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16894_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16894LU), -UA_NODEID_NUMERIC(ns[0], 16884LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1052_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16894LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedEventsTemplate - ns=0;i=16881 */ - -static UA_StatusCode function_namespace0_generated_1053_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEventsTemplate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16881LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedEventsTemplate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1053_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16881LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16883 */ - -static UA_StatusCode function_namespace0_generated_1054_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16883_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16883_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16883_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_16883_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16883_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16883_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16883LU), -UA_NODEID_NUMERIC(ns[0], 16881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1054_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16883LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16882 */ - -static UA_StatusCode function_namespace0_generated_1055_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16882_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_16882_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16882_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_16882_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16882_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16882_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16882_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); -variablenode_ns_0_i_16882_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -variablenode_ns_0_i_16882_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16882_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16882_variant_DataContents[2].name = UA_STRING("EventNotifier"); -variablenode_ns_0_i_16882_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16882_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16882_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16882_variant_DataContents[3].name = UA_STRING("SelectedFields"); -variablenode_ns_0_i_16882_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); -variablenode_ns_0_i_16882_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_16882_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_16882_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_16882_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_16882_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16882_variant_DataContents[4].name = UA_STRING("Filter"); -variablenode_ns_0_i_16882_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -variablenode_ns_0_i_16882_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16882_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16882LU), -UA_NODEID_NUMERIC(ns[0], 16881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1055_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16882LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedDataItemsTemplate - ns=0;i=16842 */ - -static UA_StatusCode function_namespace0_generated_1056_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItemsTemplate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16842LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItemsTemplate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1056_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16842LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16853 */ - -static UA_StatusCode function_namespace0_generated_1057_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16853_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16853_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16853_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_16853_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16853_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16853_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16853_variant_DataContents[1].name = UA_STRING("AddResults"); -variablenode_ns_0_i_16853_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_16853_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_16853_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_16853_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_16853_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16853_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16853LU), -UA_NODEID_NUMERIC(ns[0], 16842LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1057_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16853LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16843 */ - -static UA_StatusCode function_namespace0_generated_1058_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16843_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_16843_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16843_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_16843_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16843_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16843_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16843_variant_DataContents[1].name = UA_STRING("DataSetMetaData"); -variablenode_ns_0_i_16843_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -variablenode_ns_0_i_16843_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16843_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16843_variant_DataContents[2].name = UA_STRING("VariablesToAdd"); -variablenode_ns_0_i_16843_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); -variablenode_ns_0_i_16843_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_16843_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_16843_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_16843_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16843_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16843LU), -UA_NODEID_NUMERIC(ns[0], 16842LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1058_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16843LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemovePublishedDataSet - ns=0;i=14485 */ - -static UA_StatusCode function_namespace0_generated_1059_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePublishedDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14485LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePublishedDataSet"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1059_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14485LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14486 */ - -static UA_StatusCode function_namespace0_generated_1060_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14486_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14486_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_14486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14486_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14486_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14486LU), -UA_NODEID_NUMERIC(ns[0], 14485LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1060_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14486LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedEvents - ns=0;i=14482 */ - -static UA_StatusCode function_namespace0_generated_1061_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedEvents"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14482LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedEvents"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1061_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14482LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14484 */ - -static UA_StatusCode function_namespace0_generated_1062_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14484_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14484_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14484_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_14484_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14484_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14484_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14484_variant_DataContents[1].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_14484_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14484_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14484_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14484LU), -UA_NODEID_NUMERIC(ns[0], 14482LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1062_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14484LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14483 */ - -static UA_StatusCode function_namespace0_generated_1063_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14483_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_14483_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14483_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_14483_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14483_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14483_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14483_variant_DataContents[1].name = UA_STRING("EventNotifier"); -variablenode_ns_0_i_14483_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14483_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14483_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14483_variant_DataContents[2].name = UA_STRING("FieldNameAliases"); -variablenode_ns_0_i_14483_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14483_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14483_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14483_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14483_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14483_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14483_variant_DataContents[3].name = UA_STRING("FieldFlags"); -variablenode_ns_0_i_14483_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); -variablenode_ns_0_i_14483_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14483_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_14483_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14483_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14483_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14483_variant_DataContents[4].name = UA_STRING("SelectedFields"); -variablenode_ns_0_i_14483_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); -variablenode_ns_0_i_14483_variant_DataContents[4].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14483_variant_DataContents[4].arrayDimensionsSize = 1; -variablenode_ns_0_i_14483_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_14483_variant_DataContents4_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14483_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14483_variant_DataContents[5].name = UA_STRING("Filter"); -variablenode_ns_0_i_14483_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -variablenode_ns_0_i_14483_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14483_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14483LU), -UA_NODEID_NUMERIC(ns[0], 14482LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1063_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14483LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPublishedDataItems - ns=0;i=14479 */ - -static UA_StatusCode function_namespace0_generated_1064_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPublishedDataItems"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14479LU), -UA_NODEID_NUMERIC(ns[0], 14478LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPublishedDataItems"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1064_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14479LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14481 */ - -static UA_StatusCode function_namespace0_generated_1065_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14481_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_14481_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14481_variant_DataContents[0].name = UA_STRING("DataSetNodeId"); -variablenode_ns_0_i_14481_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14481_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14481_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14481_variant_DataContents[1].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_14481_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14481_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14481_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14481_variant_DataContents[2].name = UA_STRING("AddResults"); -variablenode_ns_0_i_14481_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_14481_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14481_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14481_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14481_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14481_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14481LU), -UA_NODEID_NUMERIC(ns[0], 14479LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1065_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14481LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14480 */ - -static UA_StatusCode function_namespace0_generated_1066_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14480_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_14480_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14480_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_14480_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14480_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14480_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14480_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); -variablenode_ns_0_i_14480_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14480_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14480_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_14480_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14480_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14480_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14480_variant_DataContents[2].name = UA_STRING("FieldFlags"); -variablenode_ns_0_i_14480_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15904LU); -variablenode_ns_0_i_14480_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14480_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14480_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14480_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14480_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14480_variant_DataContents[3].name = UA_STRING("VariablesToAdd"); -variablenode_ns_0_i_14480_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); -variablenode_ns_0_i_14480_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14480_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_14480_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14480_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14480_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14480LU), -UA_NODEID_NUMERIC(ns[0], 14479LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1066_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14480LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ExtensionFieldsType - ns=0;i=15489 */ - -static UA_StatusCode function_namespace0_generated_1067_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExtensionFieldsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15489LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExtensionFieldsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1067_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15489LU) -); -} - -/* RemoveExtensionField - ns=0;i=15494 */ - -static UA_StatusCode function_namespace0_generated_1068_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveExtensionField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15494LU), -UA_NODEID_NUMERIC(ns[0], 15489LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveExtensionField"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1068_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15494LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15495 */ - -static UA_StatusCode function_namespace0_generated_1069_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15495_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15495_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15495_variant_DataContents[0].name = UA_STRING("FieldId"); -variablenode_ns_0_i_15495_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15495_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15495_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15495LU), -UA_NODEID_NUMERIC(ns[0], 15494LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1069_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15495LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddExtensionField - ns=0;i=15491 */ - -static UA_StatusCode function_namespace0_generated_1070_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddExtensionField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15491LU), -UA_NODEID_NUMERIC(ns[0], 15489LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddExtensionField"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1070_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15491LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15493 */ - -static UA_StatusCode function_namespace0_generated_1071_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15493_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15493_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15493_variant_DataContents[0].name = UA_STRING("FieldId"); -variablenode_ns_0_i_15493_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15493_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15493_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15493LU), -UA_NODEID_NUMERIC(ns[0], 15491LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1071_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15493LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15492 */ - -static UA_StatusCode function_namespace0_generated_1072_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15492_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15492_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15492_variant_DataContents[0].name = UA_STRING("FieldName"); -variablenode_ns_0_i_15492_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -variablenode_ns_0_i_15492_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15492_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15492_variant_DataContents[1].name = UA_STRING("FieldValue"); -variablenode_ns_0_i_15492_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_15492_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15492_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15492LU), -UA_NODEID_NUMERIC(ns[0], 15491LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1072_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15492LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=15490 */ - -static UA_StatusCode function_namespace0_generated_1073_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15490LU), -UA_NODEID_NUMERIC(ns[0], 15489LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1073_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15490LU) -); -} - -/* PublishedDataSetType - ns=0;i=14509 */ - -static UA_StatusCode function_namespace0_generated_1074_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1074_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14509LU) -); -} - -/* CyclicDataSet - ns=0;i=25521 */ - -static UA_StatusCode function_namespace0_generated_1075_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CyclicDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25521LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CyclicDataSet"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1075_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25521LU) -); -} - -/* DataSetClassId - ns=0;i=16759 */ - -static UA_StatusCode function_namespace0_generated_1076_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16759LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1076_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16759LU) -); -} - -/* ExtensionFields - ns=0;i=15481 */ - -static UA_StatusCode function_namespace0_generated_1077_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExtensionFields"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15481LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ExtensionFields"), -UA_NODEID_NUMERIC(ns[0], 15489LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1077_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15481LU) -); -} - -/* RemoveExtensionField - ns=0;i=15485 */ - -static UA_StatusCode function_namespace0_generated_1078_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveExtensionField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15485LU), -UA_NODEID_NUMERIC(ns[0], 15481LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveExtensionField"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1078_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15485LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15486 */ - -static UA_StatusCode function_namespace0_generated_1079_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15486_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15486_variant_DataContents[0].name = UA_STRING("FieldId"); -variablenode_ns_0_i_15486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15486_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15486_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15486LU), -UA_NODEID_NUMERIC(ns[0], 15485LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1079_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15486LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddExtensionField - ns=0;i=15482 */ - -static UA_StatusCode function_namespace0_generated_1080_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddExtensionField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15482LU), -UA_NODEID_NUMERIC(ns[0], 15481LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddExtensionField"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1080_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15482LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15484 */ - -static UA_StatusCode function_namespace0_generated_1081_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15484_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15484_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15484_variant_DataContents[0].name = UA_STRING("FieldId"); -variablenode_ns_0_i_15484_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15484_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15484_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15484LU), -UA_NODEID_NUMERIC(ns[0], 15482LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1081_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15484LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15483 */ - -static UA_StatusCode function_namespace0_generated_1082_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15483_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15483_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15483_variant_DataContents[0].name = UA_STRING("FieldName"); -variablenode_ns_0_i_15483_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -variablenode_ns_0_i_15483_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15483_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15483_variant_DataContents[1].name = UA_STRING("FieldValue"); -variablenode_ns_0_i_15483_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_15483_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15483_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15483LU), -UA_NODEID_NUMERIC(ns[0], 15482LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1082_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15483LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DataSetMetaData - ns=0;i=15229 */ - -static UA_StatusCode function_namespace0_generated_1083_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15229LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1083_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15229LU) -); -} - -/* - ns=0;i=15222 */ - -static UA_StatusCode function_namespace0_generated_1084_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15222LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 14936LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15298LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1084_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15222LU) -); -} - -/* DataSetWriterProperties - ns=0;i=17482 */ - -static UA_StatusCode function_namespace0_generated_1085_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17482LU), -UA_NODEID_NUMERIC(ns[0], 15222LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1085_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17482LU) -); -} - -/* DataSetFieldContentMask - ns=0;i=16721 */ - -static UA_StatusCode function_namespace0_generated_1086_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15583LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetFieldContentMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16721LU), -UA_NODEID_NUMERIC(ns[0], 15222LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetFieldContentMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1086_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16721LU) -); -} - -/* DataSetWriterId - ns=0;i=16720 */ - -static UA_StatusCode function_namespace0_generated_1087_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16720LU), -UA_NODEID_NUMERIC(ns[0], 15222LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1087_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16720LU) -); -} - -/* Status - ns=0;i=15223 */ - -static UA_StatusCode function_namespace0_generated_1088_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15223LU), -UA_NODEID_NUMERIC(ns[0], 15222LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1088_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15223LU) -); -} - -/* State - ns=0;i=15224 */ - -static UA_StatusCode function_namespace0_generated_1089_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15224LU), -UA_NODEID_NUMERIC(ns[0], 15223LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1089_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15224LU) -); -} - -/* PublishedEventsType - ns=0;i=14572 */ - -static UA_StatusCode function_namespace0_generated_1090_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14572LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedEventsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1090_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14572LU) -); -} - -/* ModifyFieldSelection - ns=0;i=15052 */ - -static UA_StatusCode function_namespace0_generated_1091_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyFieldSelection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15052LU), -UA_NODEID_NUMERIC(ns[0], 14572LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyFieldSelection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1091_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15052LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15517 */ - -static UA_StatusCode function_namespace0_generated_1092_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15517_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15517_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15517_variant_DataContents[0].name = UA_STRING("NewConfigurationVersion"); -variablenode_ns_0_i_15517_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_15517_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15517_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15517LU), -UA_NODEID_NUMERIC(ns[0], 15052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1092_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15517LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15053 */ - -static UA_StatusCode function_namespace0_generated_1093_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15053_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_15053_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15053_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_15053_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_15053_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15053_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15053_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); -variablenode_ns_0_i_15053_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15053_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15053_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_15053_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_15053_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_15053_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15053_variant_DataContents[2].name = UA_STRING("PromotedFields"); -variablenode_ns_0_i_15053_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_15053_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15053_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_15053_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_15053_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_15053_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15053_variant_DataContents[3].name = UA_STRING("SelectedFields"); -variablenode_ns_0_i_15053_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 601LU); -variablenode_ns_0_i_15053_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15053_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_15053_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_15053_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15053_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15053LU), -UA_NODEID_NUMERIC(ns[0], 15052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1093_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15053LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Filter - ns=0;i=14588 */ - -static UA_StatusCode function_namespace0_generated_1094_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Filter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14588LU), -UA_NODEID_NUMERIC(ns[0], 14572LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Filter"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1094_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14588LU) -); -} - -/* SelectedFields - ns=0;i=14587 */ - -static UA_StatusCode function_namespace0_generated_1095_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 601LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SelectedFields"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14587LU), -UA_NODEID_NUMERIC(ns[0], 14572LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SelectedFields"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1095_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14587LU) -); -} - -/* EventNotifier - ns=0;i=14586 */ - -static UA_StatusCode function_namespace0_generated_1096_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventNotifier"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14586LU), -UA_NODEID_NUMERIC(ns[0], 14572LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventNotifier"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1096_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14586LU) -); -} - -/* PublishedDataItemsType - ns=0;i=14534 */ - -static UA_StatusCode function_namespace0_generated_1097_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14534LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1097_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14534LU) -); -} - -/* RemoveVariables - ns=0;i=14558 */ - -static UA_StatusCode function_namespace0_generated_1098_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14558LU), -UA_NODEID_NUMERIC(ns[0], 14534LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveVariables"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1098_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14558LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14560 */ - -static UA_StatusCode function_namespace0_generated_1099_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14560_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14560_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14560_variant_DataContents[0].name = UA_STRING("NewConfigurationVersion"); -variablenode_ns_0_i_14560_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14560_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14560_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14560_variant_DataContents[1].name = UA_STRING("RemoveResults"); -variablenode_ns_0_i_14560_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_14560_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14560_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_14560_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14560_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14560_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14560LU), -UA_NODEID_NUMERIC(ns[0], 14558LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1099_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14560LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14559 */ - -static UA_StatusCode function_namespace0_generated_1100_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14559_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14559_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14559_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_14559_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14559_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14559_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14559_variant_DataContents[1].name = UA_STRING("VariablesToRemove"); -variablenode_ns_0_i_14559_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14559_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14559_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_14559_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14559_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14559_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14559LU), -UA_NODEID_NUMERIC(ns[0], 14558LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1100_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14559LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddVariables - ns=0;i=14555 */ - -static UA_StatusCode function_namespace0_generated_1101_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddVariables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14555LU), -UA_NODEID_NUMERIC(ns[0], 14534LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddVariables"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1101_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14555LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14557 */ - -static UA_StatusCode function_namespace0_generated_1102_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14557_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14557_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14557_variant_DataContents[0].name = UA_STRING("NewConfigurationVersion"); -variablenode_ns_0_i_14557_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14557_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14557_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14557_variant_DataContents[1].name = UA_STRING("AddResults"); -variablenode_ns_0_i_14557_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_14557_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14557_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_14557_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14557_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14557_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14557LU), -UA_NODEID_NUMERIC(ns[0], 14555LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1102_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14557LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14556 */ - -static UA_StatusCode function_namespace0_generated_1103_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14556_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_14556_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14556_variant_DataContents[0].name = UA_STRING("ConfigurationVersion"); -variablenode_ns_0_i_14556_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -variablenode_ns_0_i_14556_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14556_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14556_variant_DataContents[1].name = UA_STRING("FieldNameAliases"); -variablenode_ns_0_i_14556_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14556_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14556_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_14556_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_14556_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14556_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14556_variant_DataContents[2].name = UA_STRING("PromotedFields"); -variablenode_ns_0_i_14556_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14556_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14556_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_14556_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_14556_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_14556_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14556_variant_DataContents[3].name = UA_STRING("VariablesToAdd"); -variablenode_ns_0_i_14556_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); -variablenode_ns_0_i_14556_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_14556_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_14556_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_14556_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14556_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14556LU), -UA_NODEID_NUMERIC(ns[0], 14555LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1103_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14556LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PublishedData - ns=0;i=14548 */ - -static UA_StatusCode function_namespace0_generated_1104_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14273LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14548LU), -UA_NODEID_NUMERIC(ns[0], 14534LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublishedData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1104_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14548LU) -); -} - -/* ConfigurationVersion - ns=0;i=14519 */ - -static UA_StatusCode function_namespace0_generated_1105_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14519LU), -UA_NODEID_NUMERIC(ns[0], 14509LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1105_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14519LU) -); -} - -/* - ns=0;i=14487 */ - -static UA_StatusCode function_namespace0_generated_1106_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14487LU), -UA_NODEID_NUMERIC(ns[0], 14477LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 14509LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1106_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14487LU) -); -} - -/* DataSetMetaData - ns=0;i=15221 */ - -static UA_StatusCode function_namespace0_generated_1107_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15221LU), -UA_NODEID_NUMERIC(ns[0], 14487LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1107_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15221LU) -); -} - -/* ConfigurationVersion - ns=0;i=14489 */ - -static UA_StatusCode function_namespace0_generated_1108_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14593LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14489LU), -UA_NODEID_NUMERIC(ns[0], 14487LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1108_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14489LU) -); -} - -/* PubSubKeyPushTargetFolderType - ns=0;i=25346 */ - -static UA_StatusCode function_namespace0_generated_1109_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1109_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25346LU) -); -} - -/* RemovePushTargetFolder - ns=0;i=25374 */ - -static UA_StatusCode function_namespace0_generated_1110_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTargetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25374LU), -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTargetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1110_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25374LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25375 */ - -static UA_StatusCode function_namespace0_generated_1111_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25375_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25375_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25375_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); -variablenode_ns_0_i_25375_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25375_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25375_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25375LU), -UA_NODEID_NUMERIC(ns[0], 25374LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1111_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25375LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTargetFolder - ns=0;i=25371 */ - -static UA_StatusCode function_namespace0_generated_1112_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTargetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25371LU), -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTargetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1112_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25371LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25373 */ - -static UA_StatusCode function_namespace0_generated_1113_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25373_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25373_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25373_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); -variablenode_ns_0_i_25373_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25373_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25373_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25373LU), -UA_NODEID_NUMERIC(ns[0], 25371LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1113_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25373LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25372 */ - -static UA_StatusCode function_namespace0_generated_1114_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25372_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25372_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25372_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_25372_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25372_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25372_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25372LU), -UA_NODEID_NUMERIC(ns[0], 25371LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1114_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25372LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemovePushTarget - ns=0;i=25369 */ - -static UA_StatusCode function_namespace0_generated_1115_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25369LU), -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1115_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25369LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25370 */ - -static UA_StatusCode function_namespace0_generated_1116_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25370_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25370_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25370_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25370_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25370_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25370_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25370LU), -UA_NODEID_NUMERIC(ns[0], 25369LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1116_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25370LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTarget - ns=0;i=25366 */ - -static UA_StatusCode function_namespace0_generated_1117_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25366LU), -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1117_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25366LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25368 */ - -static UA_StatusCode function_namespace0_generated_1118_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25368_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25368_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25368_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25368_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25368_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25368_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25368LU), -UA_NODEID_NUMERIC(ns[0], 25366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1118_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25368LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25367 */ - -static UA_StatusCode function_namespace0_generated_1119_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25367_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_25367_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25367_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25367_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25367_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25367_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25367_variant_DataContents[1].name = UA_STRING("EndpointUrl"); -variablenode_ns_0_i_25367_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25367_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25367_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25367_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_25367_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25367_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25367_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25367_variant_DataContents[3].name = UA_STRING("UserTokenType"); -variablenode_ns_0_i_25367_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -variablenode_ns_0_i_25367_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25367_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25367_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_25367_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25367_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25367_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25367_variant_DataContents[5].name = UA_STRING("RetryInterval"); -variablenode_ns_0_i_25367_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_25367_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25367_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25367LU), -UA_NODEID_NUMERIC(ns[0], 25366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1119_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25367LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=25347 */ - -static UA_StatusCode function_namespace0_generated_1120_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25347LU), -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 25346LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1120_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25347LU) -); -} - -/* RemovePushTargetFolder - ns=0;i=25356 */ - -static UA_StatusCode function_namespace0_generated_1121_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTargetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25356LU), -UA_NODEID_NUMERIC(ns[0], 25347LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTargetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1121_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25356LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25357 */ - -static UA_StatusCode function_namespace0_generated_1122_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25357_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25357_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25357_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); -variablenode_ns_0_i_25357_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25357_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25357_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25357LU), -UA_NODEID_NUMERIC(ns[0], 25356LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1122_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25357LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTargetFolder - ns=0;i=25353 */ - -static UA_StatusCode function_namespace0_generated_1123_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTargetFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25353LU), -UA_NODEID_NUMERIC(ns[0], 25347LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTargetFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1123_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25353LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25355 */ - -static UA_StatusCode function_namespace0_generated_1124_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25355_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25355_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25355_variant_DataContents[0].name = UA_STRING("PushTargetFolderNodeId"); -variablenode_ns_0_i_25355_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25355_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25355_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25355LU), -UA_NODEID_NUMERIC(ns[0], 25353LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1124_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25355LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25354 */ - -static UA_StatusCode function_namespace0_generated_1125_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25354_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25354_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25354_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_25354_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25354_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25354_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25354LU), -UA_NODEID_NUMERIC(ns[0], 25353LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1125_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25354LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemovePushTarget - ns=0;i=25351 */ - -static UA_StatusCode function_namespace0_generated_1126_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25351LU), -UA_NODEID_NUMERIC(ns[0], 25347LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1126_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25351LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25352 */ - -static UA_StatusCode function_namespace0_generated_1127_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25352_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25352_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25352_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25352_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25352_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25352_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25352LU), -UA_NODEID_NUMERIC(ns[0], 25351LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1127_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25352LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTarget - ns=0;i=25348 */ - -static UA_StatusCode function_namespace0_generated_1128_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25348LU), -UA_NODEID_NUMERIC(ns[0], 25347LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1128_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25348LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25350 */ - -static UA_StatusCode function_namespace0_generated_1129_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25350_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25350_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25350_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25350_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25350_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25350_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25350LU), -UA_NODEID_NUMERIC(ns[0], 25348LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1129_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25350LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25349 */ - -static UA_StatusCode function_namespace0_generated_1130_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25349_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_25349_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25349_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25349_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25349_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25349_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25349_variant_DataContents[1].name = UA_STRING("EndpointUrl"); -variablenode_ns_0_i_25349_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25349_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25349_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25349_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_25349_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25349_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25349_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25349_variant_DataContents[3].name = UA_STRING("UserTokenType"); -variablenode_ns_0_i_25349_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -variablenode_ns_0_i_25349_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25349_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25349_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_25349_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25349_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25349_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25349_variant_DataContents[5].name = UA_STRING("RetryInterval"); -variablenode_ns_0_i_25349_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_25349_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25349_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25349LU), -UA_NODEID_NUMERIC(ns[0], 25348LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1130_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25349LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PubSubKeyPushTargetType - ns=0;i=25337 */ - -static UA_StatusCode function_namespace0_generated_1131_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1131_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25337LU) -); -} - -/* TriggerKeyUpdate - ns=0;i=25647 */ - -static UA_StatusCode function_namespace0_generated_1132_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TriggerKeyUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25647LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TriggerKeyUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1132_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25647LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DisconnectSecurityGroups - ns=0;i=25644 */ - -static UA_StatusCode function_namespace0_generated_1133_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DisconnectSecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25644LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisconnectSecurityGroups"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1133_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25644LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25646 */ - -static UA_StatusCode function_namespace0_generated_1134_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25646_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25646_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25646_variant_DataContents[0].name = UA_STRING("DisconnectResults"); -variablenode_ns_0_i_25646_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25646_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25646_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25646_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25646_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25646_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25646LU), -UA_NODEID_NUMERIC(ns[0], 25644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1134_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25646LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25645 */ - -static UA_StatusCode function_namespace0_generated_1135_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25645_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25645_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25645_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); -variablenode_ns_0_i_25645_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25645_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25645_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25645_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25645_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25645_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25645LU), -UA_NODEID_NUMERIC(ns[0], 25644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1135_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25645LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ConnectSecurityGroups - ns=0;i=25641 */ - -static UA_StatusCode function_namespace0_generated_1136_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectSecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25641LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConnectSecurityGroups"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1136_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25641LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25643 */ - -static UA_StatusCode function_namespace0_generated_1137_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25643_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25643_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25643_variant_DataContents[0].name = UA_STRING("ConnectResults"); -variablenode_ns_0_i_25643_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25643_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25643_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25643_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25643_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25643_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25643LU), -UA_NODEID_NUMERIC(ns[0], 25641LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1137_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25643LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25642 */ - -static UA_StatusCode function_namespace0_generated_1138_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25642_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25642_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25642_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); -variablenode_ns_0_i_25642_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25642_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25642_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25642_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25642_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25642_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25642LU), -UA_NODEID_NUMERIC(ns[0], 25641LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1138_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25642LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastPushErrorTime - ns=0;i=25640 */ - -static UA_StatusCode function_namespace0_generated_1139_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastPushErrorTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25640LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastPushErrorTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1139_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25640LU) -); -} - -/* LastPushExecutionTime - ns=0;i=25639 */ - -static UA_StatusCode function_namespace0_generated_1140_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastPushExecutionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25639LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastPushExecutionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1140_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25639LU) -); -} - -/* RetryInterval - ns=0;i=25638 */ - -static UA_StatusCode function_namespace0_generated_1141_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RetryInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25638LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RetryInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1141_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25638LU) -); -} - -/* RequestedKeyCount - ns=0;i=25637 */ - -static UA_StatusCode function_namespace0_generated_1142_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestedKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25637LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestedKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1142_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25637LU) -); -} - -/* UserTokenType - ns=0;i=25636 */ - -static UA_StatusCode function_namespace0_generated_1143_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25636LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserTokenType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1143_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25636LU) -); -} - -/* EndpointUrl - ns=0;i=25635 */ - -static UA_StatusCode function_namespace0_generated_1144_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25635LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1144_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25635LU) -); -} - -/* ApplicationUri - ns=0;i=25634 */ - -static UA_StatusCode function_namespace0_generated_1145_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25634LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1145_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25634LU) -); -} - -/* - ns=0;i=25358 */ - -static UA_StatusCode function_namespace0_generated_1146_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 25346LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 25337LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1146_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25358LU) -); -} - -/* TriggerKeyUpdate - ns=0;i=25661 */ - -static UA_StatusCode function_namespace0_generated_1147_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TriggerKeyUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25661LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TriggerKeyUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1147_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25661LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DisconnectSecurityGroups - ns=0;i=25658 */ - -static UA_StatusCode function_namespace0_generated_1148_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DisconnectSecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25658LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisconnectSecurityGroups"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1148_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25658LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25660 */ - -static UA_StatusCode function_namespace0_generated_1149_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25660_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25660_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25660_variant_DataContents[0].name = UA_STRING("DisconnectResults"); -variablenode_ns_0_i_25660_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25660_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25660_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25660_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25660_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25660_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25660LU), -UA_NODEID_NUMERIC(ns[0], 25658LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1149_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25660LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25659 */ - -static UA_StatusCode function_namespace0_generated_1150_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25659_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25659_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25659_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); -variablenode_ns_0_i_25659_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25659_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25659_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25659_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25659_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25659_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25659LU), -UA_NODEID_NUMERIC(ns[0], 25658LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1150_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25659LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ConnectSecurityGroups - ns=0;i=25655 */ - -static UA_StatusCode function_namespace0_generated_1151_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectSecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25655LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConnectSecurityGroups"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1151_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25655LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25657 */ - -static UA_StatusCode function_namespace0_generated_1152_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25657_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25657_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25657_variant_DataContents[0].name = UA_STRING("ConnectResults"); -variablenode_ns_0_i_25657_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25657_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25657_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25657_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25657_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25657_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25657LU), -UA_NODEID_NUMERIC(ns[0], 25655LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1152_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25657LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25656 */ - -static UA_StatusCode function_namespace0_generated_1153_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25656_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25656_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25656_variant_DataContents[0].name = UA_STRING("SecurityGroupIds"); -variablenode_ns_0_i_25656_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25656_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25656_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25656_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25656_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25656_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25656LU), -UA_NODEID_NUMERIC(ns[0], 25655LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1153_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25656LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastPushErrorTime - ns=0;i=25654 */ - -static UA_StatusCode function_namespace0_generated_1154_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastPushErrorTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25654LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastPushErrorTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1154_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25654LU) -); -} - -/* LastPushExecutionTime - ns=0;i=25653 */ - -static UA_StatusCode function_namespace0_generated_1155_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastPushExecutionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25653LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastPushExecutionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1155_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25653LU) -); -} - -/* RetryInterval - ns=0;i=25652 */ - -static UA_StatusCode function_namespace0_generated_1156_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RetryInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25652LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RetryInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1156_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25652LU) -); -} - -/* RequestedKeyCount - ns=0;i=25651 */ - -static UA_StatusCode function_namespace0_generated_1157_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestedKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25651LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestedKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1157_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25651LU) -); -} - -/* UserTokenType - ns=0;i=25650 */ - -static UA_StatusCode function_namespace0_generated_1158_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25650LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserTokenType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1158_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25650LU) -); -} - -/* EndpointUrl - ns=0;i=25649 */ - -static UA_StatusCode function_namespace0_generated_1159_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25649LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1159_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25649LU) -); -} - -/* ApplicationUri - ns=0;i=25648 */ - -static UA_StatusCode function_namespace0_generated_1160_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25648LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1160_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25648LU) -); -} - -/* SecurityPolicyUri - ns=0;i=25361 */ - -static UA_StatusCode function_namespace0_generated_1161_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25361LU), -UA_NODEID_NUMERIC(ns[0], 25358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1161_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25361LU) -); -} - -/* SecurityPolicyUri - ns=0;i=25340 */ - -static UA_StatusCode function_namespace0_generated_1162_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25340LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1162_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25340LU) -); -} - -/* SecurityGroupType - ns=0;i=15471 */ - -static UA_StatusCode function_namespace0_generated_1163_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1163_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15471LU) -); -} - -/* - ns=0;i=25626 */ - -static UA_StatusCode function_namespace0_generated_1164_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25626LU), -UA_NODEID_NUMERIC(ns[0], 25337LU), -UA_NODEID_NUMERIC(ns[0], 25345LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15471LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1164_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25626LU) -); -} - -/* MaxPastKeyCount - ns=0;i=25631 */ - -static UA_StatusCode function_namespace0_generated_1165_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPastKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25631LU), -UA_NODEID_NUMERIC(ns[0], 25626LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPastKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1165_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25631LU) -); -} - -/* MaxFutureKeyCount - ns=0;i=25630 */ - -static UA_StatusCode function_namespace0_generated_1166_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFutureKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25630LU), -UA_NODEID_NUMERIC(ns[0], 25626LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFutureKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1166_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25630LU) -); -} - -/* SecurityPolicyUri - ns=0;i=25629 */ - -static UA_StatusCode function_namespace0_generated_1167_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25629LU), -UA_NODEID_NUMERIC(ns[0], 25626LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1167_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25629LU) -); -} - -/* KeyLifetime - ns=0;i=25628 */ - -static UA_StatusCode function_namespace0_generated_1168_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyLifetime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25628LU), -UA_NODEID_NUMERIC(ns[0], 25626LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeyLifetime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1168_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25628LU) -); -} - -/* SecurityGroupId - ns=0;i=25627 */ - -static UA_StatusCode function_namespace0_generated_1169_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25627LU), -UA_NODEID_NUMERIC(ns[0], 25626LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1169_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25627LU) -); -} - -/* ForceKeyRotation - ns=0;i=25625 */ - -static UA_StatusCode function_namespace0_generated_1170_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ForceKeyRotation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25625LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ForceKeyRotation"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1170_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25625LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InvalidateKeys - ns=0;i=25624 */ - -static UA_StatusCode function_namespace0_generated_1171_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "InvalidateKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25624LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "InvalidateKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1171_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25624LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SecurityGroupId - ns=0;i=15472 */ - -static UA_StatusCode function_namespace0_generated_1172_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15472LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1172_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15472LU) -); -} - -/* MaxPastKeyCount - ns=0;i=15056 */ - -static UA_StatusCode function_namespace0_generated_1173_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPastKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15056LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPastKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1173_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15056LU) -); -} - -/* MaxFutureKeyCount - ns=0;i=15048 */ - -static UA_StatusCode function_namespace0_generated_1174_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFutureKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15048LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFutureKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1174_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15048LU) -); -} - -/* SecurityPolicyUri - ns=0;i=15047 */ - -static UA_StatusCode function_namespace0_generated_1175_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15047LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1175_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15047LU) -); -} - -/* KeyLifetime - ns=0;i=15046 */ - -static UA_StatusCode function_namespace0_generated_1176_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyLifetime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15046LU), -UA_NODEID_NUMERIC(ns[0], 15471LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeyLifetime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1176_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15046LU) -); -} - -/* SecurityGroupFolderType - ns=0;i=15452 */ - -static UA_StatusCode function_namespace0_generated_1177_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1177_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15452LU) -); -} - -/* SupportedSecurityPolicyUris - ns=0;i=25317 */ - -static UA_StatusCode function_namespace0_generated_1178_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedSecurityPolicyUris"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25317LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedSecurityPolicyUris"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1178_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25317LU) -); -} - -/* RemoveSecurityGroupFolder - ns=0;i=25315 */ - -static UA_StatusCode function_namespace0_generated_1179_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroupFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25315LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroupFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1179_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25315LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25316 */ - -static UA_StatusCode function_namespace0_generated_1180_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25316_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25316_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25316_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); -variablenode_ns_0_i_25316_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25316_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25316_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25316LU), -UA_NODEID_NUMERIC(ns[0], 25315LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1180_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25316LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroupFolder - ns=0;i=25312 */ - -static UA_StatusCode function_namespace0_generated_1181_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroupFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25312LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroupFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1181_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25312LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25314 */ - -static UA_StatusCode function_namespace0_generated_1182_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25314_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25314_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25314_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); -variablenode_ns_0_i_25314_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25314_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25314_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25314LU), -UA_NODEID_NUMERIC(ns[0], 25312LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1182_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25314LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25313 */ - -static UA_StatusCode function_namespace0_generated_1183_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25313_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25313_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25313_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_25313_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25313_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25313_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25313LU), -UA_NODEID_NUMERIC(ns[0], 25312LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1183_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25313LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveSecurityGroup - ns=0;i=15464 */ - -static UA_StatusCode function_namespace0_generated_1184_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15464LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1184_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15464LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15465 */ - -static UA_StatusCode function_namespace0_generated_1185_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15465_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15465_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15465_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15465_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15465_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15465_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15465LU), -UA_NODEID_NUMERIC(ns[0], 15464LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1185_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15465LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroup - ns=0;i=15461 */ - -static UA_StatusCode function_namespace0_generated_1186_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15461LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1186_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15461LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15463 */ - -static UA_StatusCode function_namespace0_generated_1187_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15463_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15463_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15463_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15463_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15463_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15463_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15463_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15463_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15463_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15463_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15463LU), -UA_NODEID_NUMERIC(ns[0], 15461LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1187_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15463LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15462 */ - -static UA_StatusCode function_namespace0_generated_1188_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15462_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_15462_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15462_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); -variablenode_ns_0_i_15462_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15462_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15462_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15462_variant_DataContents[1].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_15462_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15462_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15462_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15462_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_15462_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15462_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15462_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15462_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); -variablenode_ns_0_i_15462_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15462_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15462_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15462_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); -variablenode_ns_0_i_15462_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15462_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15462_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15462LU), -UA_NODEID_NUMERIC(ns[0], 15461LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1188_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15462LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=15459 */ - -static UA_StatusCode function_namespace0_generated_1189_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15459LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15471LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1189_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15459LU) -); -} - -/* SecurityGroupId - ns=0;i=15460 */ - -static UA_StatusCode function_namespace0_generated_1190_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15460LU), -UA_NODEID_NUMERIC(ns[0], 15459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1190_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15460LU) -); -} - -/* MaxPastKeyCount - ns=0;i=15043 */ - -static UA_StatusCode function_namespace0_generated_1191_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPastKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15043LU), -UA_NODEID_NUMERIC(ns[0], 15459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPastKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1191_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15043LU) -); -} - -/* MaxFutureKeyCount - ns=0;i=15012 */ - -static UA_StatusCode function_namespace0_generated_1192_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFutureKeyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15012LU), -UA_NODEID_NUMERIC(ns[0], 15459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFutureKeyCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1192_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15012LU) -); -} - -/* SecurityPolicyUri - ns=0;i=15011 */ - -static UA_StatusCode function_namespace0_generated_1193_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15011LU), -UA_NODEID_NUMERIC(ns[0], 15459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1193_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15011LU) -); -} - -/* KeyLifetime - ns=0;i=15010 */ - -static UA_StatusCode function_namespace0_generated_1194_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyLifetime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15010LU), -UA_NODEID_NUMERIC(ns[0], 15459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "KeyLifetime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1194_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15010LU) -); -} - -/* - ns=0;i=15453 */ - -static UA_StatusCode function_namespace0_generated_1195_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15453LU), -UA_NODEID_NUMERIC(ns[0], 15452LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15452LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1195_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15453LU) -); -} - -/* SupportedSecurityPolicyUris - ns=0;i=25298 */ - -static UA_StatusCode function_namespace0_generated_1196_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedSecurityPolicyUris"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25298LU), -UA_NODEID_NUMERIC(ns[0], 15453LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedSecurityPolicyUris"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1196_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25298LU) -); -} - -/* RemoveSecurityGroupFolder - ns=0;i=25296 */ - -static UA_StatusCode function_namespace0_generated_1197_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroupFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25296LU), -UA_NODEID_NUMERIC(ns[0], 15453LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroupFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1197_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25296LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25297 */ - -static UA_StatusCode function_namespace0_generated_1198_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25297_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25297_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); -variablenode_ns_0_i_25297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25297_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25297_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25297LU), -UA_NODEID_NUMERIC(ns[0], 25296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1198_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25297LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroupFolder - ns=0;i=25293 */ - -static UA_StatusCode function_namespace0_generated_1199_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroupFolder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25293LU), -UA_NODEID_NUMERIC(ns[0], 15453LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroupFolder"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1199_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25293LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25295 */ - -static UA_StatusCode function_namespace0_generated_1200_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25295_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25295_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25295_variant_DataContents[0].name = UA_STRING("SecurityGroupFolderNodeId"); -variablenode_ns_0_i_25295_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25295_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25295_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25295LU), -UA_NODEID_NUMERIC(ns[0], 25293LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1200_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25295LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25294 */ - -static UA_StatusCode function_namespace0_generated_1201_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25294_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25294_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25294_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_25294_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25294_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25294_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25294LU), -UA_NODEID_NUMERIC(ns[0], 25293LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1201_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25294LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveSecurityGroup - ns=0;i=15457 */ - -static UA_StatusCode function_namespace0_generated_1202_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15457LU), -UA_NODEID_NUMERIC(ns[0], 15453LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1202_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15457LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15458 */ - -static UA_StatusCode function_namespace0_generated_1203_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15458_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15458_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15458_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15458_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15458_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15458_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15458LU), -UA_NODEID_NUMERIC(ns[0], 15457LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1203_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15458LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroup - ns=0;i=15454 */ - -static UA_StatusCode function_namespace0_generated_1204_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15454LU), -UA_NODEID_NUMERIC(ns[0], 15453LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1204_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15454LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15456 */ - -static UA_StatusCode function_namespace0_generated_1205_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15456_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15456_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15456_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15456_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15456_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15456_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15456_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15456_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15456_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15456_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15456LU), -UA_NODEID_NUMERIC(ns[0], 15454LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1205_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15456LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15455 */ - -static UA_StatusCode function_namespace0_generated_1206_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15455_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_15455_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15455_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); -variablenode_ns_0_i_15455_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15455_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15455_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15455_variant_DataContents[1].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_15455_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15455_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15455_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15455_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_15455_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15455_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15455_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15455_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); -variablenode_ns_0_i_15455_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15455_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15455_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15455_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); -variablenode_ns_0_i_15455_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15455_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15455_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15455LU), -UA_NODEID_NUMERIC(ns[0], 15454LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1206_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15455LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PubSubKeyServiceType - ns=0;i=15906 */ - -static UA_StatusCode function_namespace0_generated_1207_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyServiceType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15906LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubKeyServiceType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1207_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15906LU) -); -} - -/* KeyPushTargets - ns=0;i=25277 */ - -static UA_StatusCode function_namespace0_generated_1208_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyPushTargets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25277LU), -UA_NODEID_NUMERIC(ns[0], 15906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "KeyPushTargets"), -UA_NODEID_NUMERIC(ns[0], 25346LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1208_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25277LU) -); -} - -/* RemovePushTarget - ns=0;i=25281 */ - -static UA_StatusCode function_namespace0_generated_1209_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25281LU), -UA_NODEID_NUMERIC(ns[0], 25277LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1209_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25281LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25282 */ - -static UA_StatusCode function_namespace0_generated_1210_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25282_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25282_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25282_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25282_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25282_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25282_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25282LU), -UA_NODEID_NUMERIC(ns[0], 25281LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1210_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25282LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTarget - ns=0;i=25278 */ - -static UA_StatusCode function_namespace0_generated_1211_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25278LU), -UA_NODEID_NUMERIC(ns[0], 25277LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1211_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25278LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25280 */ - -static UA_StatusCode function_namespace0_generated_1212_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25280_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25280_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25280_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25280_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25280_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25280_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25280LU), -UA_NODEID_NUMERIC(ns[0], 25278LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1212_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25280LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25279 */ - -static UA_StatusCode function_namespace0_generated_1213_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25279_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_25279_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25279_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25279_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25279_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25279_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25279_variant_DataContents[1].name = UA_STRING("EndpointUrl"); -variablenode_ns_0_i_25279_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25279_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25279_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25279_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_25279_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25279_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25279_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25279_variant_DataContents[3].name = UA_STRING("UserTokenType"); -variablenode_ns_0_i_25279_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -variablenode_ns_0_i_25279_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25279_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25279_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_25279_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25279_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25279_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25279_variant_DataContents[5].name = UA_STRING("RetryInterval"); -variablenode_ns_0_i_25279_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_25279_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25279_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25279LU), -UA_NODEID_NUMERIC(ns[0], 25278LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1213_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25279LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SecurityGroups - ns=0;i=15913 */ - -static UA_StatusCode function_namespace0_generated_1214_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15913LU), -UA_NODEID_NUMERIC(ns[0], 15906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroups"), -UA_NODEID_NUMERIC(ns[0], 15452LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1214_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15913LU) -); -} - -/* RemoveSecurityGroup - ns=0;i=15917 */ - -static UA_StatusCode function_namespace0_generated_1215_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15917LU), -UA_NODEID_NUMERIC(ns[0], 15913LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1215_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15917LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15918 */ - -static UA_StatusCode function_namespace0_generated_1216_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15918_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15918_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15918_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15918_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15918_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15918_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15918LU), -UA_NODEID_NUMERIC(ns[0], 15917LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1216_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15918LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroup - ns=0;i=15914 */ - -static UA_StatusCode function_namespace0_generated_1217_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15914LU), -UA_NODEID_NUMERIC(ns[0], 15913LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1217_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15914LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15916 */ - -static UA_StatusCode function_namespace0_generated_1218_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15916_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15916_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15916_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15916_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15916_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15916_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15916_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15916_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15916_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15916_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15916LU), -UA_NODEID_NUMERIC(ns[0], 15914LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1218_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15916LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15915 */ - -static UA_StatusCode function_namespace0_generated_1219_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15915_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_15915_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15915_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); -variablenode_ns_0_i_15915_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15915_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15915_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15915_variant_DataContents[1].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_15915_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15915_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15915_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15915_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_15915_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15915_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15915_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15915_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); -variablenode_ns_0_i_15915_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15915_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15915_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15915_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); -variablenode_ns_0_i_15915_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15915_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15915_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15915LU), -UA_NODEID_NUMERIC(ns[0], 15914LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1219_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15915LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetSecurityGroup - ns=0;i=15910 */ - -static UA_StatusCode function_namespace0_generated_1220_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15910LU), -UA_NODEID_NUMERIC(ns[0], 15906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1220_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15910LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15912 */ - -static UA_StatusCode function_namespace0_generated_1221_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15912_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15912_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15912_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15912_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15912_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15912_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15912LU), -UA_NODEID_NUMERIC(ns[0], 15910LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1221_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15912LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15911 */ - -static UA_StatusCode function_namespace0_generated_1222_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15911_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15911_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15911_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15911_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15911_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15911_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15911LU), -UA_NODEID_NUMERIC(ns[0], 15910LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1222_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15911LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetSecurityKeys - ns=0;i=15907 */ - -static UA_StatusCode function_namespace0_generated_1223_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15907LU), -UA_NODEID_NUMERIC(ns[0], 15906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetSecurityKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1223_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15907LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15909 */ - -static UA_StatusCode function_namespace0_generated_1224_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15909_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_15909_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15909_variant_DataContents[0].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_15909_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15909_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15909_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15909_variant_DataContents[1].name = UA_STRING("FirstTokenId"); -variablenode_ns_0_i_15909_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_15909_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15909_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15909_variant_DataContents[2].name = UA_STRING("Keys"); -variablenode_ns_0_i_15909_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_15909_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15909_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_15909_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_15909_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_15909_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15909_variant_DataContents[3].name = UA_STRING("TimeToNextKey"); -variablenode_ns_0_i_15909_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15909_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15909_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15909_variant_DataContents[4].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_15909_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15909_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15909_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15909LU), -UA_NODEID_NUMERIC(ns[0], 15907LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1224_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15909LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15908 */ - -static UA_StatusCode function_namespace0_generated_1225_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15908_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_15908_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15908_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15908_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15908_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15908_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15908_variant_DataContents[1].name = UA_STRING("StartingTokenId"); -variablenode_ns_0_i_15908_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_15908_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15908_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15908_variant_DataContents[2].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_15908_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15908_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15908_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15908LU), -UA_NODEID_NUMERIC(ns[0], 15907LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1225_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15908LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PublishSubscribeType - ns=0;i=14416 */ - -static UA_StatusCode function_namespace0_generated_1226_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishSubscribeType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 15906LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PublishSubscribeType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1226_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14416LU) -); -} - -/* ConfigurationProperties - ns=0;i=32397 */ - -static UA_StatusCode function_namespace0_generated_1227_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32397LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1227_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32397LU) -); -} - -/* DefaultSecurityKeyServices - ns=0;i=32396 */ - -static UA_StatusCode function_namespace0_generated_1228_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultSecurityKeyServices"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32396LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultSecurityKeyServices"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1228_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32396LU) -); -} - -/* ConfigurationVersion - ns=0;i=25433 */ - -static UA_StatusCode function_namespace0_generated_1229_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25433LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1229_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25433LU) -); -} - -/* DefaultDatagramPublisherId - ns=0;i=25432 */ - -static UA_StatusCode function_namespace0_generated_1230_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultDatagramPublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25432LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultDatagramPublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1230_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25432LU) -); -} - -/* DataSetClasses - ns=0;i=23649 */ - -static UA_StatusCode function_namespace0_generated_1231_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23649LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1231_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23649LU) -); -} - -/* - ns=0;i=24009 */ - -static UA_StatusCode function_namespace0_generated_1232_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14523LU); -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24009LU), -UA_NODEID_NUMERIC(ns[0], 23649LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1232_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24009LU) -); -} - -/* PubSubCapablities - ns=0;i=23642 */ - -static UA_StatusCode function_namespace0_generated_1233_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapablities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubCapablities"), -UA_NODEID_NUMERIC(ns[0], 23832LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1233_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23642LU) -); -} - -/* MaxFieldsPerDataSet - ns=0;i=23648 */ - -static UA_StatusCode function_namespace0_generated_1234_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23648LU), -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1234_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23648LU) -); -} - -/* MaxDataSetReaders - ns=0;i=23647 */ - -static UA_StatusCode function_namespace0_generated_1235_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23647LU), -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1235_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23647LU) -); -} - -/* MaxDataSetWriters - ns=0;i=23646 */ - -static UA_StatusCode function_namespace0_generated_1236_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23646LU), -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1236_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23646LU) -); -} - -/* MaxReaderGroups - ns=0;i=23645 */ - -static UA_StatusCode function_namespace0_generated_1237_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23645LU), -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1237_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23645LU) -); -} - -/* MaxWriterGroups - ns=0;i=23644 */ - -static UA_StatusCode function_namespace0_generated_1238_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23644LU), -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1238_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23644LU) -); -} - -/* MaxPubSubConnections - ns=0;i=23643 */ - -static UA_StatusCode function_namespace0_generated_1239_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23643LU), -UA_NODEID_NUMERIC(ns[0], 23642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1239_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23643LU) -); -} - -/* SubscribedDataSets - ns=0;i=23622 */ - -static UA_StatusCode function_namespace0_generated_1240_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23622LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSets"), -UA_NODEID_NUMERIC(ns[0], 23795LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1240_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23622LU) -); -} - -/* Diagnostics - ns=0;i=18715 */ - -static UA_StatusCode function_namespace0_generated_1241_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19732LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1241_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18715LU) -); -} - -/* LiveValues - ns=0;i=18760 */ - -static UA_StatusCode function_namespace0_generated_1242_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18760LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1242_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18760LU) -); -} - -/* OperationalDataSetReaders - ns=0;i=18767 */ - -static UA_StatusCode function_namespace0_generated_1243_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18767LU), -UA_NODEID_NUMERIC(ns[0], 18760LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1243_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18767LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18768 */ - -static UA_StatusCode function_namespace0_generated_1244_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18768_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18768_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18768_variant_DataContents); -*variablenode_ns_0_i_18768_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18768_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18768LU), -UA_NODEID_NUMERIC(ns[0], 18767LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18768_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1244_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18768LU) -); -} - -/* OperationalDataSetWriters - ns=0;i=18765 */ - -static UA_StatusCode function_namespace0_generated_1245_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18765LU), -UA_NODEID_NUMERIC(ns[0], 18760LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1245_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18765LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18766 */ - -static UA_StatusCode function_namespace0_generated_1246_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18766_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18766_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18766_variant_DataContents); -*variablenode_ns_0_i_18766_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18766_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18766LU), -UA_NODEID_NUMERIC(ns[0], 18765LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18766_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1246_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18766LU) -); -} - -/* ConfiguredDataSetReaders - ns=0;i=18763 */ - -static UA_StatusCode function_namespace0_generated_1247_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18763LU), -UA_NODEID_NUMERIC(ns[0], 18760LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1247_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18763LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18764 */ - -static UA_StatusCode function_namespace0_generated_1248_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18764_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18764_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18764_variant_DataContents); -*variablenode_ns_0_i_18764_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18764_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18764LU), -UA_NODEID_NUMERIC(ns[0], 18763LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18764_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1248_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18764LU) -); -} - -/* ConfiguredDataSetWriters - ns=0;i=18761 */ - -static UA_StatusCode function_namespace0_generated_1249_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18761LU), -UA_NODEID_NUMERIC(ns[0], 18760LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1249_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18761LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18762 */ - -static UA_StatusCode function_namespace0_generated_1250_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18762_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18762_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18762_variant_DataContents); -*variablenode_ns_0_i_18762_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18762_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18762LU), -UA_NODEID_NUMERIC(ns[0], 18761LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18762_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1250_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18762LU) -); -} - -/* Counters - ns=0;i=18729 */ - -static UA_StatusCode function_namespace0_generated_1251_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1251_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18729LU) -); -} - -/* StateDisabledByMethod - ns=0;i=18755 */ - -static UA_StatusCode function_namespace0_generated_1252_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18755LU), -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1252_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18755LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18758 */ - -static UA_StatusCode function_namespace0_generated_1253_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18758_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18758_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18758_variant_DataContents); -*variablenode_ns_0_i_18758_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18758_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18758LU), -UA_NODEID_NUMERIC(ns[0], 18755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18758_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1253_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18758LU) -); -} - -/* Classification - ns=0;i=18757 */ - -static UA_StatusCode function_namespace0_generated_1254_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_18757_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18757_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18757_variant_DataContents); -*variablenode_ns_0_i_18757_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18757_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18757LU), -UA_NODEID_NUMERIC(ns[0], 18755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18757_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1254_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18757LU) -); -} - -/* Active - ns=0;i=18756 */ - -static UA_StatusCode function_namespace0_generated_1255_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18756LU), -UA_NODEID_NUMERIC(ns[0], 18755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1255_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18756LU) -); -} - -/* StatePausedByParent - ns=0;i=18750 */ - -static UA_StatusCode function_namespace0_generated_1256_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18750LU), -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1256_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18750LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18753 */ - -static UA_StatusCode function_namespace0_generated_1257_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18753_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18753_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18753_variant_DataContents); -*variablenode_ns_0_i_18753_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18753_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18753LU), -UA_NODEID_NUMERIC(ns[0], 18750LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18753_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1257_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18753LU) -); -} - -/* Classification - ns=0;i=18752 */ - -static UA_StatusCode function_namespace0_generated_1258_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_18752_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18752_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18752_variant_DataContents); -*variablenode_ns_0_i_18752_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18752_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18752LU), -UA_NODEID_NUMERIC(ns[0], 18750LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18752_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1258_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18752LU) -); -} - -/* Active - ns=0;i=18751 */ - -static UA_StatusCode function_namespace0_generated_1259_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18751LU), -UA_NODEID_NUMERIC(ns[0], 18750LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1259_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18751LU) -); -} - -/* StateOperationalFromError - ns=0;i=18745 */ - -static UA_StatusCode function_namespace0_generated_1260_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18745LU), -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1260_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18745LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18748 */ - -static UA_StatusCode function_namespace0_generated_1261_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18748_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18748_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18748_variant_DataContents); -*variablenode_ns_0_i_18748_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18748_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18748LU), -UA_NODEID_NUMERIC(ns[0], 18745LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18748_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1261_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18748LU) -); -} - -/* Classification - ns=0;i=18747 */ - -static UA_StatusCode function_namespace0_generated_1262_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_18747_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18747_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18747_variant_DataContents); -*variablenode_ns_0_i_18747_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18747_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18747LU), -UA_NODEID_NUMERIC(ns[0], 18745LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18747_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1262_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18747LU) -); -} - -/* Active - ns=0;i=18746 */ - -static UA_StatusCode function_namespace0_generated_1263_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18746LU), -UA_NODEID_NUMERIC(ns[0], 18745LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1263_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18746LU) -); -} - -/* StateOperationalByParent - ns=0;i=18740 */ - -static UA_StatusCode function_namespace0_generated_1264_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18740LU), -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1264_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18740LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18743 */ - -static UA_StatusCode function_namespace0_generated_1265_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18743_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18743_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18743_variant_DataContents); -*variablenode_ns_0_i_18743_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18743_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18743LU), -UA_NODEID_NUMERIC(ns[0], 18740LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18743_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1265_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18743LU) -); -} - -/* Classification - ns=0;i=18742 */ - -static UA_StatusCode function_namespace0_generated_1266_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_18742_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18742_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18742_variant_DataContents); -*variablenode_ns_0_i_18742_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18742_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18742LU), -UA_NODEID_NUMERIC(ns[0], 18740LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18742_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1266_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18742LU) -); -} - -/* Active - ns=0;i=18741 */ - -static UA_StatusCode function_namespace0_generated_1267_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18741LU), -UA_NODEID_NUMERIC(ns[0], 18740LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1267_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18741LU) -); -} - -/* StateOperationalByMethod - ns=0;i=18735 */ - -static UA_StatusCode function_namespace0_generated_1268_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18735LU), -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1268_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18735LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18738 */ - -static UA_StatusCode function_namespace0_generated_1269_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18738_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18738_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18738_variant_DataContents); -*variablenode_ns_0_i_18738_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18738_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18738LU), -UA_NODEID_NUMERIC(ns[0], 18735LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18738_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1269_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18738LU) -); -} - -/* Classification - ns=0;i=18737 */ - -static UA_StatusCode function_namespace0_generated_1270_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_18737_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18737_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18737_variant_DataContents); -*variablenode_ns_0_i_18737_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18737_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18737LU), -UA_NODEID_NUMERIC(ns[0], 18735LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18737_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1270_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18737LU) -); -} - -/* Active - ns=0;i=18736 */ - -static UA_StatusCode function_namespace0_generated_1271_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18736LU), -UA_NODEID_NUMERIC(ns[0], 18735LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1271_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18736LU) -); -} - -/* StateError - ns=0;i=18730 */ - -static UA_StatusCode function_namespace0_generated_1272_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18730LU), -UA_NODEID_NUMERIC(ns[0], 18729LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1272_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18730LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18733 */ - -static UA_StatusCode function_namespace0_generated_1273_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_18733_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18733_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18733_variant_DataContents); -*variablenode_ns_0_i_18733_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18733_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18733LU), -UA_NODEID_NUMERIC(ns[0], 18730LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18733_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1273_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18733LU) -); -} - -/* Classification - ns=0;i=18732 */ - -static UA_StatusCode function_namespace0_generated_1274_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_18732_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_18732_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_18732_variant_DataContents); -*variablenode_ns_0_i_18732_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18732_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18732LU), -UA_NODEID_NUMERIC(ns[0], 18730LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_18732_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1274_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18732LU) -); -} - -/* Active - ns=0;i=18731 */ - -static UA_StatusCode function_namespace0_generated_1275_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18731LU), -UA_NODEID_NUMERIC(ns[0], 18730LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1275_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18731LU) -); -} - -/* SubError - ns=0;i=18728 */ - -static UA_StatusCode function_namespace0_generated_1276_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18728LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1276_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18728LU) -); -} - -/* Reset - ns=0;i=18727 */ - -static UA_StatusCode function_namespace0_generated_1277_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 18727LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1277_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18727LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=18722 */ - -static UA_StatusCode function_namespace0_generated_1278_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18722LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1278_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18722LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18725 */ - -static UA_StatusCode function_namespace0_generated_1279_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18725LU), -UA_NODEID_NUMERIC(ns[0], 18722LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1279_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18725LU) -); -} - -/* Classification - ns=0;i=18724 */ - -static UA_StatusCode function_namespace0_generated_1280_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18724LU), -UA_NODEID_NUMERIC(ns[0], 18722LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1280_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18724LU) -); -} - -/* Active - ns=0;i=18723 */ - -static UA_StatusCode function_namespace0_generated_1281_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18723LU), -UA_NODEID_NUMERIC(ns[0], 18722LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1281_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18723LU) -); -} - -/* TotalInformation - ns=0;i=18717 */ - -static UA_StatusCode function_namespace0_generated_1282_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18717LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1282_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18717LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18720 */ - -static UA_StatusCode function_namespace0_generated_1283_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18720LU), -UA_NODEID_NUMERIC(ns[0], 18717LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1283_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18720LU) -); -} - -/* Classification - ns=0;i=18719 */ - -static UA_StatusCode function_namespace0_generated_1284_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18719LU), -UA_NODEID_NUMERIC(ns[0], 18717LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1284_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18719LU) -); -} - -/* Active - ns=0;i=18718 */ - -static UA_StatusCode function_namespace0_generated_1285_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18718LU), -UA_NODEID_NUMERIC(ns[0], 18717LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1285_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18718LU) -); -} - -/* DiagnosticsLevel - ns=0;i=18716 */ - -static UA_StatusCode function_namespace0_generated_1286_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18716LU), -UA_NODEID_NUMERIC(ns[0], 18715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1286_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18716LU) -); -} - -/* SupportedTransportProfiles - ns=0;i=17479 */ - -static UA_StatusCode function_namespace0_generated_1287_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedTransportProfiles"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17479LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedTransportProfiles"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1287_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17479LU) -); -} - -/* SetSecurityKeys - ns=0;i=17296 */ - -static UA_StatusCode function_namespace0_generated_1288_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetSecurityKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17296LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetSecurityKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1288_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17296LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17297 */ - -static UA_StatusCode function_namespace0_generated_1289_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17297_variant_DataContents[7]; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_17297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17297_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[1].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_17297_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17297_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[2].name = UA_STRING("CurrentTokenId"); -variablenode_ns_0_i_17297_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_17297_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[3].name = UA_STRING("CurrentKey"); -variablenode_ns_0_i_17297_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_17297_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[4].name = UA_STRING("FutureKeys"); -variablenode_ns_0_i_17297_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_17297_variant_DataContents[4].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_17297_variant_DataContents[4].arrayDimensionsSize = 1; -variablenode_ns_0_i_17297_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_17297_variant_DataContents4_arrayDimensions; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[5].name = UA_STRING("TimeToNextKey"); -variablenode_ns_0_i_17297_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_17297_variant_DataContents[5].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17297_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17297_variant_DataContents[6].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_17297_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_17297_variant_DataContents[6].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17297_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17297LU), -UA_NODEID_NUMERIC(ns[0], 17296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1289_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17297LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddConnection - ns=0;i=16598 */ - -static UA_StatusCode function_namespace0_generated_1290_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16598LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1290_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16598LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16600 */ - -static UA_StatusCode function_namespace0_generated_1291_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16600_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16600_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16600_variant_DataContents[0].name = UA_STRING("ConnectionId"); -variablenode_ns_0_i_16600_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16600_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16600_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16600LU), -UA_NODEID_NUMERIC(ns[0], 16598LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1291_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16600LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16599 */ - -static UA_StatusCode function_namespace0_generated_1292_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16599_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16599_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16599_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_16599_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15617LU); -variablenode_ns_0_i_16599_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16599_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16599LU), -UA_NODEID_NUMERIC(ns[0], 16598LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1292_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16599LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Status - ns=0;i=15844 */ - -static UA_StatusCode function_namespace0_generated_1293_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15844LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1293_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15844LU) -); -} - -/* State - ns=0;i=15845 */ - -static UA_StatusCode function_namespace0_generated_1294_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15845LU), -UA_NODEID_NUMERIC(ns[0], 15844LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1294_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15845LU) -); -} - -/* PublishedDataSets - ns=0;i=14434 */ - -static UA_StatusCode function_namespace0_generated_1295_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14434LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSets"), -UA_NODEID_NUMERIC(ns[0], 14477LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1295_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14434LU) -); -} - -/* RemoveConnection - ns=0;i=14432 */ - -static UA_StatusCode function_namespace0_generated_1296_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14432LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1296_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14432LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14433 */ - -static UA_StatusCode function_namespace0_generated_1297_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14433_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14433_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14433_variant_DataContents[0].name = UA_STRING("ConnectionId"); -variablenode_ns_0_i_14433_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_14433_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14433_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14433LU), -UA_NODEID_NUMERIC(ns[0], 14432LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1297_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14433LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=14417 */ - -static UA_StatusCode function_namespace0_generated_1298_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14417LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 14476LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 14209LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1298_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14417LU) -); -} - -/* ConnectionProperties - ns=0;i=17478 */ - -static UA_StatusCode function_namespace0_generated_1299_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17478LU), -UA_NODEID_NUMERIC(ns[0], 14417LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1299_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17478LU) -); -} - -/* Address - ns=0;i=14423 */ - -static UA_StatusCode function_namespace0_generated_1300_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Address"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14423LU), -UA_NODEID_NUMERIC(ns[0], 14417LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Address"), -UA_NODEID_NUMERIC(ns[0], 21145LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1300_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14423LU) -); -} - -/* Status - ns=0;i=14419 */ - -static UA_StatusCode function_namespace0_generated_1301_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14419LU), -UA_NODEID_NUMERIC(ns[0], 14417LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1301_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14419LU) -); -} - -/* State - ns=0;i=14420 */ - -static UA_StatusCode function_namespace0_generated_1302_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14420LU), -UA_NODEID_NUMERIC(ns[0], 14419LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1302_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14420LU) -); -} - -/* PublisherId - ns=0;i=14418 */ - -static UA_StatusCode function_namespace0_generated_1303_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14418LU), -UA_NODEID_NUMERIC(ns[0], 14417LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1303_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14418LU) -); -} - -/* AggregateConfigurationType - ns=0;i=11187 */ - -static UA_StatusCode function_namespace0_generated_1304_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11187LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AggregateConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1304_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11187LU) -); -} - -/* UseSlopedExtrapolation - ns=0;i=11191 */ - -static UA_StatusCode function_namespace0_generated_1305_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UseSlopedExtrapolation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11191LU), -UA_NODEID_NUMERIC(ns[0], 11187LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UseSlopedExtrapolation"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1305_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11191LU) -); -} - -/* PercentDataGood - ns=0;i=11190 */ - -static UA_StatusCode function_namespace0_generated_1306_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataGood"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11190LU), -UA_NODEID_NUMERIC(ns[0], 11187LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PercentDataGood"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1306_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11190LU) -); -} - -/* PercentDataBad - ns=0;i=11189 */ - -static UA_StatusCode function_namespace0_generated_1307_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11189LU), -UA_NODEID_NUMERIC(ns[0], 11187LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PercentDataBad"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1307_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11189LU) -); -} - -/* TreatUncertainAsBad - ns=0;i=11188 */ - -static UA_StatusCode function_namespace0_generated_1308_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TreatUncertainAsBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11188LU), -UA_NODEID_NUMERIC(ns[0], 11187LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TreatUncertainAsBad"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1308_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11188LU) -); -} - -/* AuthorizationServiceConfigurationType - ns=0;i=17852 */ - -static UA_StatusCode function_namespace0_generated_1309_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuthorizationServiceConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17852LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuthorizationServiceConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1309_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17852LU) -); -} - -/* IssuerEndpointUrl - ns=0;i=18073 */ - -static UA_StatusCode function_namespace0_generated_1310_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IssuerEndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18073LU), -UA_NODEID_NUMERIC(ns[0], 17852LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IssuerEndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1310_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18073LU) -); -} - -/* ServiceUri - ns=0;i=18072 */ - -static UA_StatusCode function_namespace0_generated_1311_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18072LU), -UA_NODEID_NUMERIC(ns[0], 17852LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1311_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18072LU) -); -} - -/* ServiceCertificate - ns=0;i=17860 */ - -static UA_StatusCode function_namespace0_generated_1312_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17860LU), -UA_NODEID_NUMERIC(ns[0], 17852LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceCertificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1312_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17860LU) -); -} - -/* AuthorizationServicesConfigurationFolderType - ns=0;i=23556 */ - -static UA_StatusCode function_namespace0_generated_1313_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuthorizationServicesConfigurationFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23556LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuthorizationServicesConfigurationFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1313_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23556LU) -); -} - -/* - ns=0;i=23557 */ - -static UA_StatusCode function_namespace0_generated_1314_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23557LU), -UA_NODEID_NUMERIC(ns[0], 23556LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 17852LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1314_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23557LU) -); -} - -/* IssuerEndpointUrl - ns=0;i=23560 */ - -static UA_StatusCode function_namespace0_generated_1315_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IssuerEndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23560LU), -UA_NODEID_NUMERIC(ns[0], 23557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IssuerEndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1315_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23560LU) -); -} - -/* ServiceCertificate - ns=0;i=23559 */ - -static UA_StatusCode function_namespace0_generated_1316_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23559LU), -UA_NODEID_NUMERIC(ns[0], 23557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceCertificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1316_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23559LU) -); -} - -/* ServiceUri - ns=0;i=23558 */ - -static UA_StatusCode function_namespace0_generated_1317_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23558LU), -UA_NODEID_NUMERIC(ns[0], 23557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1317_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23558LU) -); -} - -/* KeyCredentialConfigurationType - ns=0;i=18001 */ - -static UA_StatusCode function_namespace0_generated_1318_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "KeyCredentialConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1318_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18001LU) -); -} - -/* ProfileUri - ns=0;i=18165 */ - -static UA_StatusCode function_namespace0_generated_1319_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18165LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProfileUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1319_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18165LU) -); -} - -/* ResourceUri - ns=0;i=18069 */ - -static UA_StatusCode function_namespace0_generated_1320_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18069LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1320_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18069LU) -); -} - -/* DeleteCredential - ns=0;i=18008 */ - -static UA_StatusCode function_namespace0_generated_1321_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteCredential"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 18008LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteCredential"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1321_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18008LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* UpdateCredential - ns=0;i=18006 */ - -static UA_StatusCode function_namespace0_generated_1322_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCredential"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 18006LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UpdateCredential"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1322_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18006LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=18007 */ - -static UA_StatusCode function_namespace0_generated_1323_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_18007_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_18007_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_18007_variant_DataContents[0].name = UA_STRING("CredentialId"); -variablenode_ns_0_i_18007_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_18007_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_18007_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_18007_variant_DataContents[1].name = UA_STRING("CredentialSecret"); -variablenode_ns_0_i_18007_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_18007_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_18007_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_18007_variant_DataContents[2].name = UA_STRING("CertificateThumbprint"); -variablenode_ns_0_i_18007_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_18007_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_18007_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_18007_variant_DataContents[3].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_18007_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_18007_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_18007_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18007LU), -UA_NODEID_NUMERIC(ns[0], 18006LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1323_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18007LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ServiceStatus - ns=0;i=18005 */ - -static UA_StatusCode function_namespace0_generated_1324_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18005LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceStatus"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1324_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18005LU) -); -} - -/* EndpointUrls - ns=0;i=18004 */ - -static UA_StatusCode function_namespace0_generated_1325_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrls"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18004LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrls"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1325_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18004LU) -); -} - -/* GetEncryptingKey - ns=0;i=17534 */ - -static UA_StatusCode function_namespace0_generated_1326_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetEncryptingKey"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17534LU), -UA_NODEID_NUMERIC(ns[0], 18001LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetEncryptingKey"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1326_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17534LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17536 */ - -static UA_StatusCode function_namespace0_generated_1327_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17536_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_17536_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17536_variant_DataContents[0].name = UA_STRING("PublicKey"); -variablenode_ns_0_i_17536_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_17536_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17536_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17536_variant_DataContents[1].name = UA_STRING("RevisedSecurityPolicyUri"); -variablenode_ns_0_i_17536_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17536_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17536_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17536LU), -UA_NODEID_NUMERIC(ns[0], 17534LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1327_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17536LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17535 */ - -static UA_StatusCode function_namespace0_generated_1328_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17535_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_17535_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17535_variant_DataContents[0].name = UA_STRING("CredentialId"); -variablenode_ns_0_i_17535_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17535_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17535_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17535_variant_DataContents[1].name = UA_STRING("RequestedSecurityPolicyUri"); -variablenode_ns_0_i_17535_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17535_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17535_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17535LU), -UA_NODEID_NUMERIC(ns[0], 17534LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1328_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17535LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* KeyCredentialConfigurationFolderType - ns=0;i=17496 */ - -static UA_StatusCode function_namespace0_generated_1329_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialConfigurationFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17496LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "KeyCredentialConfigurationFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1329_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17496LU) -); -} - -/* CreateCredential - ns=0;i=17522 */ - -static UA_StatusCode function_namespace0_generated_1330_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateCredential"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17522LU), -UA_NODEID_NUMERIC(ns[0], 17496LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateCredential"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1330_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17522LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17524 */ - -static UA_StatusCode function_namespace0_generated_1331_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17524_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17524_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17524_variant_DataContents[0].name = UA_STRING("CredentialNodeId"); -variablenode_ns_0_i_17524_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17524_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17524_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17524LU), -UA_NODEID_NUMERIC(ns[0], 17522LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1331_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17524LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17523 */ - -static UA_StatusCode function_namespace0_generated_1332_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17523_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_17523_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17523_variant_DataContents[0].name = UA_STRING("Name"); -variablenode_ns_0_i_17523_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17523_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17523_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17523_variant_DataContents[1].name = UA_STRING("ResourceUri"); -variablenode_ns_0_i_17523_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17523_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17523_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17523_variant_DataContents[2].name = UA_STRING("ProfileUri"); -variablenode_ns_0_i_17523_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17523_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17523_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17523_variant_DataContents[3].name = UA_STRING("EndpointUrls"); -variablenode_ns_0_i_17523_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17523_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_17523_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_17523_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_17523_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17523_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17523LU), -UA_NODEID_NUMERIC(ns[0], 17522LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1332_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17523LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=17511 */ - -static UA_StatusCode function_namespace0_generated_1333_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17511LU), -UA_NODEID_NUMERIC(ns[0], 17496LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 18001LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1333_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17511LU) -); -} - -/* ProfileUri - ns=0;i=17513 */ - -static UA_StatusCode function_namespace0_generated_1334_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17513LU), -UA_NODEID_NUMERIC(ns[0], 17511LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProfileUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1334_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17513LU) -); -} - -/* ResourceUri - ns=0;i=17512 */ - -static UA_StatusCode function_namespace0_generated_1335_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17512LU), -UA_NODEID_NUMERIC(ns[0], 17511LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1335_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17512LU) -); -} - -/* ServerConfigurationType - ns=0;i=12581 */ - -static UA_StatusCode function_namespace0_generated_1336_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1336_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12581LU) -); -} - -/* GetCertificates - ns=0;i=32296 */ - -static UA_StatusCode function_namespace0_generated_1337_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetCertificates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32296LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetCertificates"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1337_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32296LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32298 */ - -static UA_StatusCode function_namespace0_generated_1338_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32298_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_32298_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32298_variant_DataContents[0].name = UA_STRING("CertificateTypeIds"); -variablenode_ns_0_i_32298_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32298_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32298_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_32298_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_32298_variant_DataContents0_arrayDimensions; - -UA_init(&variablenode_ns_0_i_32298_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32298_variant_DataContents[1].name = UA_STRING("Certificates"); -variablenode_ns_0_i_32298_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_32298_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32298_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_32298_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_32298_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32298_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32298LU), -UA_NODEID_NUMERIC(ns[0], 32296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1338_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32298LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32297 */ - -static UA_StatusCode function_namespace0_generated_1339_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32297_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32297_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_32297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32297_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32297_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32297LU), -UA_NODEID_NUMERIC(ns[0], 32296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1339_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32297LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ApplicationConfigurationType - ns=0;i=25731 */ - -static UA_StatusCode function_namespace0_generated_1340_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25731LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1340_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25731LU) -); -} - -/* - ns=0;i=26878 */ - -static UA_StatusCode function_namespace0_generated_1341_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 26871LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 25731LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1341_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26878LU) -); -} - -/* GetRejectedList - ns=0;i=28013 */ - -static UA_StatusCode function_namespace0_generated_1342_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 28013LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1342_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28013LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=28014 */ - -static UA_StatusCode function_namespace0_generated_1343_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_28014_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_28014_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28014_variant_DataContents[0].name = UA_STRING("Certificates"); -variablenode_ns_0_i_28014_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_28014_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_28014_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_28014_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_28014_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28014_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28014LU), -UA_NODEID_NUMERIC(ns[0], 28013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1343_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28014LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateSigningRequest - ns=0;i=28010 */ - -static UA_StatusCode function_namespace0_generated_1344_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSigningRequest"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 28010LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSigningRequest"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1344_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28010LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=28012 */ - -static UA_StatusCode function_namespace0_generated_1345_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_28012_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_28012_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28012_variant_DataContents[0].name = UA_STRING("CertificateRequest"); -variablenode_ns_0_i_28012_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_28012_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28012_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28012LU), -UA_NODEID_NUMERIC(ns[0], 28010LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1345_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28012LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=28011 */ - -static UA_StatusCode function_namespace0_generated_1346_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_28011_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_28011_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28011_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_28011_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_28011_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28011_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28011_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); -variablenode_ns_0_i_28011_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_28011_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28011_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28011_variant_DataContents[2].name = UA_STRING("SubjectName"); -variablenode_ns_0_i_28011_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_28011_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28011_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28011_variant_DataContents[3].name = UA_STRING("RegeneratePrivateKey"); -variablenode_ns_0_i_28011_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_28011_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28011_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28011_variant_DataContents[4].name = UA_STRING("Nonce"); -variablenode_ns_0_i_28011_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_28011_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28011_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28011LU), -UA_NODEID_NUMERIC(ns[0], 28010LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1346_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28011LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ApplyChanges - ns=0;i=28008 */ - -static UA_StatusCode function_namespace0_generated_1347_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplyChanges"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 28008LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplyChanges"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1347_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28008LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* UpdateCertificate - ns=0;i=28005 */ - -static UA_StatusCode function_namespace0_generated_1348_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 28005LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UpdateCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1348_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28005LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=28007 */ - -static UA_StatusCode function_namespace0_generated_1349_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_28007_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_28007_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28007_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_28007_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_28007_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28007_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28007LU), -UA_NODEID_NUMERIC(ns[0], 28005LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1349_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28007LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=28006 */ - -static UA_StatusCode function_namespace0_generated_1350_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_28006_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_28006_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28006_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_28006_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_28006_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28006_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28006_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); -variablenode_ns_0_i_28006_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_28006_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28006_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28006_variant_DataContents[2].name = UA_STRING("Certificate"); -variablenode_ns_0_i_28006_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_28006_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28006_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28006_variant_DataContents[3].name = UA_STRING("IssuerCertificates"); -variablenode_ns_0_i_28006_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_28006_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_28006_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_28006_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_28006_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_28006_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28006_variant_DataContents[4].name = UA_STRING("PrivateKeyFormat"); -variablenode_ns_0_i_28006_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_28006_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_28006_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_28006_variant_DataContents[5].name = UA_STRING("PrivateKey"); -variablenode_ns_0_i_28006_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_28006_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_28006_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28006LU), -UA_NODEID_NUMERIC(ns[0], 28005LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1350_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28006LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* MulticastDnsEnabled - ns=0;i=28003 */ - -static UA_StatusCode function_namespace0_generated_1351_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MulticastDnsEnabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28003LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MulticastDnsEnabled"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1351_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28003LU) -); -} - -/* MaxTrustListSize - ns=0;i=28002 */ - -static UA_StatusCode function_namespace0_generated_1352_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxTrustListSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28002LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxTrustListSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1352_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28002LU) -); -} - -/* SupportedPrivateKeyFormats - ns=0;i=28001 */ - -static UA_StatusCode function_namespace0_generated_1353_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedPrivateKeyFormats"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28001LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedPrivateKeyFormats"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1353_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28001LU) -); -} - -/* ServerCapabilities - ns=0;i=28000 */ - -static UA_StatusCode function_namespace0_generated_1354_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 28000LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1354_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 28000LU) -); -} - -/* ApplicationType - ns=0;i=27999 */ - -static UA_StatusCode function_namespace0_generated_1355_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 27999LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1355_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 27999LU) -); -} - -/* ProductUri - ns=0;i=27998 */ - -static UA_StatusCode function_namespace0_generated_1356_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 27998LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1356_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 27998LU) -); -} - -/* ApplicationUri - ns=0;i=27997 */ - -static UA_StatusCode function_namespace0_generated_1357_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 27997LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1357_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 27997LU) -); -} - -/* Enabled - ns=0;i=27996 */ - -static UA_StatusCode function_namespace0_generated_1358_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Enabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 27996LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Enabled"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1358_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 27996LU) -); -} - -/* ApplicationType - ns=0;i=26852 */ - -static UA_StatusCode function_namespace0_generated_1359_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26852LU), -UA_NODEID_NUMERIC(ns[0], 25731LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1359_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26852LU) -); -} - -/* ProductUri - ns=0;i=26851 */ - -static UA_StatusCode function_namespace0_generated_1360_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26851LU), -UA_NODEID_NUMERIC(ns[0], 25731LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1360_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26851LU) -); -} - -/* ApplicationUri - ns=0;i=26850 */ - -static UA_StatusCode function_namespace0_generated_1361_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26850LU), -UA_NODEID_NUMERIC(ns[0], 25731LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1361_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26850LU) -); -} - -/* Enabled - ns=0;i=26849 */ - -static UA_StatusCode function_namespace0_generated_1362_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Enabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26849LU), -UA_NODEID_NUMERIC(ns[0], 25731LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Enabled"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1362_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26849LU) -); -} - -/* ProductUri - ns=0;i=25724 */ - -static UA_StatusCode function_namespace0_generated_1363_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25724LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1363_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25724LU) -); -} - -/* ResetToServerDefaults - ns=0;i=25699 */ - -static UA_StatusCode function_namespace0_generated_1364_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ResetToServerDefaults"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25699LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ResetToServerDefaults"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1364_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25699LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CancelChanges - ns=0;i=25698 */ - -static UA_StatusCode function_namespace0_generated_1365_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CancelChanges"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25698LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CancelChanges"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1365_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25698LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ApplicationType - ns=0;i=25697 */ - -static UA_StatusCode function_namespace0_generated_1366_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25697LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1366_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25697LU) -); -} - -/* ApplicationUri - ns=0;i=25696 */ - -static UA_StatusCode function_namespace0_generated_1367_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25696LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1367_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25696LU) -); -} - -/* HasSecureElement - ns=0;i=23593 */ - -static UA_StatusCode function_namespace0_generated_1368_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HasSecureElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23593LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HasSecureElement"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1368_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23593LU) -); -} - -/* GetRejectedList - ns=0;i=12775 */ - -static UA_StatusCode function_namespace0_generated_1369_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12775LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1369_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12775LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12776 */ - -static UA_StatusCode function_namespace0_generated_1370_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12776_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12776_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12776_variant_DataContents[0].name = UA_STRING("Certificates"); -variablenode_ns_0_i_12776_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12776_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_12776_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_12776_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_12776_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12776_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12776LU), -UA_NODEID_NUMERIC(ns[0], 12775LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1370_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12776LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ApplyChanges - ns=0;i=12734 */ - -static UA_StatusCode function_namespace0_generated_1371_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplyChanges"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12734LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplyChanges"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1371_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12734LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateSigningRequest - ns=0;i=12731 */ - -static UA_StatusCode function_namespace0_generated_1372_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSigningRequest"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12731LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSigningRequest"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1372_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12731LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12733 */ - -static UA_StatusCode function_namespace0_generated_1373_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12733_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12733_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12733_variant_DataContents[0].name = UA_STRING("CertificateRequest"); -variablenode_ns_0_i_12733_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12733_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12733_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12733LU), -UA_NODEID_NUMERIC(ns[0], 12731LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1373_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12733LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12732 */ - -static UA_StatusCode function_namespace0_generated_1374_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12732_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_12732_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12732_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_12732_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_12732_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12732_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12732_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); -variablenode_ns_0_i_12732_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_12732_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12732_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12732_variant_DataContents[2].name = UA_STRING("SubjectName"); -variablenode_ns_0_i_12732_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_12732_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12732_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12732_variant_DataContents[3].name = UA_STRING("RegeneratePrivateKey"); -variablenode_ns_0_i_12732_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12732_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12732_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12732_variant_DataContents[4].name = UA_STRING("Nonce"); -variablenode_ns_0_i_12732_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12732_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12732_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12732LU), -UA_NODEID_NUMERIC(ns[0], 12731LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1374_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12732LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ServerCapabilities - ns=0;i=12708 */ - -static UA_StatusCode function_namespace0_generated_1375_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12708LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1375_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12708LU) -); -} - -/* UpdateCertificate - ns=0;i=12616 */ - -static UA_StatusCode function_namespace0_generated_1376_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12616LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UpdateCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1376_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12616LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12618 */ - -static UA_StatusCode function_namespace0_generated_1377_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12618_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12618_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12618_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_12618_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12618_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12618_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12618LU), -UA_NODEID_NUMERIC(ns[0], 12616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1377_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12618LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12617 */ - -static UA_StatusCode function_namespace0_generated_1378_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12617_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_12617_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12617_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_12617_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_12617_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12617_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12617_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); -variablenode_ns_0_i_12617_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_12617_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12617_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12617_variant_DataContents[2].name = UA_STRING("Certificate"); -variablenode_ns_0_i_12617_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12617_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12617_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12617_variant_DataContents[3].name = UA_STRING("IssuerCertificates"); -variablenode_ns_0_i_12617_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12617_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_12617_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_12617_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_12617_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_12617_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12617_variant_DataContents[4].name = UA_STRING("PrivateKeyFormat"); -variablenode_ns_0_i_12617_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_12617_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12617_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12617_variant_DataContents[5].name = UA_STRING("PrivateKey"); -variablenode_ns_0_i_12617_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12617_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12617_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12617LU), -UA_NODEID_NUMERIC(ns[0], 12616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1378_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12617LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* MulticastDnsEnabled - ns=0;i=12585 */ - -static UA_StatusCode function_namespace0_generated_1379_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MulticastDnsEnabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12585LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MulticastDnsEnabled"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1379_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12585LU) -); -} - -/* MaxTrustListSize - ns=0;i=12584 */ - -static UA_StatusCode function_namespace0_generated_1380_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxTrustListSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12584LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxTrustListSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1380_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12584LU) -); -} - -/* SupportedPrivateKeyFormats - ns=0;i=12583 */ - -static UA_StatusCode function_namespace0_generated_1381_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedPrivateKeyFormats"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12583LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedPrivateKeyFormats"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1381_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12583LU) -); -} - -/* TransactionDiagnosticsType - ns=0;i=32286 */ - -static UA_StatusCode function_namespace0_generated_1382_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransactionDiagnosticsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransactionDiagnosticsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1382_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32286LU) -); -} - -/* TransactionDiagnostics - ns=0;i=32299 */ - -static UA_StatusCode function_namespace0_generated_1383_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransactionDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransactionDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 32286LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1383_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32299LU) -); -} - -/* Errors - ns=0;i=32305 */ - -static UA_StatusCode function_namespace0_generated_1384_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 32285LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Errors"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32305LU), -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Errors"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1384_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32305LU) -); -} - -/* AffectedCertificateGroups - ns=0;i=32304 */ - -static UA_StatusCode function_namespace0_generated_1385_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AffectedCertificateGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32304LU), -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AffectedCertificateGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1385_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32304LU) -); -} - -/* AffectedTrustLists - ns=0;i=32303 */ - -static UA_StatusCode function_namespace0_generated_1386_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AffectedTrustLists"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32303LU), -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AffectedTrustLists"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1386_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32303LU) -); -} - -/* Result - ns=0;i=32302 */ - -static UA_StatusCode function_namespace0_generated_1387_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Result"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32302LU), -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Result"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1387_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32302LU) -); -} - -/* EndTime - ns=0;i=32301 */ - -static UA_StatusCode function_namespace0_generated_1388_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32301LU), -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1388_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32301LU) -); -} - -/* StartTime - ns=0;i=32300 */ - -static UA_StatusCode function_namespace0_generated_1389_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32300LU), -UA_NODEID_NUMERIC(ns[0], 32299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1389_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32300LU) -); -} - -/* Errors - ns=0;i=32292 */ - -static UA_StatusCode function_namespace0_generated_1390_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 32285LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Errors"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32292LU), -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Errors"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1390_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32292LU) -); -} - -/* AffectedCertificateGroups - ns=0;i=32291 */ - -static UA_StatusCode function_namespace0_generated_1391_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AffectedCertificateGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32291LU), -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AffectedCertificateGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1391_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32291LU) -); -} - -/* AffectedTrustLists - ns=0;i=32290 */ - -static UA_StatusCode function_namespace0_generated_1392_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AffectedTrustLists"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32290LU), -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AffectedTrustLists"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1392_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32290LU) -); -} - -/* Result - ns=0;i=32289 */ - -static UA_StatusCode function_namespace0_generated_1393_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Result"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32289LU), -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Result"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1393_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32289LU) -); -} - -/* EndTime - ns=0;i=32288 */ - -static UA_StatusCode function_namespace0_generated_1394_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32288LU), -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1394_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32288LU) -); -} - -/* StartTime - ns=0;i=32287 */ - -static UA_StatusCode function_namespace0_generated_1395_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32287LU), -UA_NODEID_NUMERIC(ns[0], 32286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1395_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32287LU) -); -} - -/* CertificateType - ns=0;i=12556 */ - -static UA_StatusCode function_namespace0_generated_1396_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12556LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1396_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12556LU) -); -} - -/* UserCredentialCertificateType - ns=0;i=15181 */ - -static UA_StatusCode function_namespace0_generated_1397_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserCredentialCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15181LU), -UA_NODEID_NUMERIC(ns[0], 12556LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UserCredentialCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1397_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15181LU) -); -} - -/* HttpsCertificateType - ns=0;i=12558 */ - -static UA_StatusCode function_namespace0_generated_1398_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HttpsCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12558LU), -UA_NODEID_NUMERIC(ns[0], 12556LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HttpsCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1398_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12558LU) -); -} - -/* ApplicationCertificateType - ns=0;i=12557 */ - -static UA_StatusCode function_namespace0_generated_1399_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12557LU), -UA_NODEID_NUMERIC(ns[0], 12556LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1399_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12557LU) -); -} - -/* EccApplicationCertificateType - ns=0;i=23537 */ - -static UA_StatusCode function_namespace0_generated_1400_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 12557LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1400_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23537LU) -); -} - -/* EccCurve448ApplicationCertificateType - ns=0;i=23543 */ - -static UA_StatusCode function_namespace0_generated_1401_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccCurve448ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23543LU), -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccCurve448ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1401_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23543LU) -); -} - -/* EccCurve25519ApplicationCertificateType - ns=0;i=23542 */ - -static UA_StatusCode function_namespace0_generated_1402_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccCurve25519ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23542LU), -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccCurve25519ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1402_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23542LU) -); -} - -/* EccBrainpoolP384r1ApplicationCertificateType - ns=0;i=23541 */ - -static UA_StatusCode function_namespace0_generated_1403_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccBrainpoolP384r1ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23541LU), -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccBrainpoolP384r1ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1403_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23541LU) -); -} - -/* EccBrainpoolP256r1ApplicationCertificateType - ns=0;i=23540 */ - -static UA_StatusCode function_namespace0_generated_1404_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccBrainpoolP256r1ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23540LU), -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccBrainpoolP256r1ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1404_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23540LU) -); -} - -/* EccNistP384ApplicationCertificateType - ns=0;i=23539 */ - -static UA_StatusCode function_namespace0_generated_1405_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccNistP384ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23539LU), -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccNistP384ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1405_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23539LU) -); -} - -/* EccNistP256ApplicationCertificateType - ns=0;i=23538 */ - -static UA_StatusCode function_namespace0_generated_1406_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EccNistP256ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23538LU), -UA_NODEID_NUMERIC(ns[0], 23537LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EccNistP256ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1406_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23538LU) -); -} - -/* RsaSha256ApplicationCertificateType - ns=0;i=12560 */ - -static UA_StatusCode function_namespace0_generated_1407_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RsaSha256ApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12560LU), -UA_NODEID_NUMERIC(ns[0], 12557LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RsaSha256ApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1407_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12560LU) -); -} - -/* RsaMinApplicationCertificateType - ns=0;i=12559 */ - -static UA_StatusCode function_namespace0_generated_1408_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RsaMinApplicationCertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12559LU), -UA_NODEID_NUMERIC(ns[0], 12557LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RsaMinApplicationCertificateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1408_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12559LU) -); -} - -/* CertificateGroupFolderType - ns=0;i=13813 */ - -static UA_StatusCode function_namespace0_generated_1409_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroupFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 13813LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CertificateGroupFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1409_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13813LU) -); -} - -/* CertificateGroups - ns=0;i=26879 */ - -static UA_StatusCode function_namespace0_generated_1410_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 26879LU), -UA_NODEID_NUMERIC(ns[0], 26878LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CertificateGroups"), -UA_NODEID_NUMERIC(ns[0], 13813LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1410_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26879LU) -); -} - -/* CertificateGroups - ns=0;i=13950 */ - -static UA_StatusCode function_namespace0_generated_1411_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13950LU), -UA_NODEID_NUMERIC(ns[0], 12581LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CertificateGroups"), -UA_NODEID_NUMERIC(ns[0], 13813LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1411_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13950LU) -); -} - -/* CertificateGroupType - ns=0;i=12555 */ - -static UA_StatusCode function_namespace0_generated_1412_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12555LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CertificateGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1412_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12555LU) -); -} - -/* DefaultApplicationGroup - ns=0;i=26880 */ - -static UA_StatusCode function_namespace0_generated_1413_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 26880LU), -UA_NODEID_NUMERIC(ns[0], 26879LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1413_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26880LU) -); -} - -/* CertificateTypes - ns=0;i=26917 */ - -static UA_StatusCode function_namespace0_generated_1414_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26917LU), -UA_NODEID_NUMERIC(ns[0], 26880LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1414_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26917LU) -); -} - -/* GetRejectedList - ns=0;i=23526 */ - -static UA_StatusCode function_namespace0_generated_1415_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 23526LU), -UA_NODEID_NUMERIC(ns[0], 12555LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1415_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23526LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=23527 */ - -static UA_StatusCode function_namespace0_generated_1416_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_23527_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_23527_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_23527_variant_DataContents[0].name = UA_STRING("Certificates"); -variablenode_ns_0_i_23527_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_23527_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_23527_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_23527_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_23527_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_23527_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23527LU), -UA_NODEID_NUMERIC(ns[0], 23526LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1416_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23527LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DefaultApplicationGroup - ns=0;i=13951 */ - -static UA_StatusCode function_namespace0_generated_1417_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13951LU), -UA_NODEID_NUMERIC(ns[0], 13950LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1417_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13951LU) -); -} - -/* CertificateTypes - ns=0;i=13984 */ - -static UA_StatusCode function_namespace0_generated_1418_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13984LU), -UA_NODEID_NUMERIC(ns[0], 13951LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1418_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13984LU) -); -} - -/* - ns=0;i=13916 */ - -static UA_StatusCode function_namespace0_generated_1419_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13916LU), -UA_NODEID_NUMERIC(ns[0], 13813LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1419_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13916LU) -); -} - -/* CertificateTypes - ns=0;i=13949 */ - -static UA_StatusCode function_namespace0_generated_1420_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13949LU), -UA_NODEID_NUMERIC(ns[0], 13916LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1420_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13949LU) -); -} - -/* DefaultUserTokenGroup - ns=0;i=13882 */ - -static UA_StatusCode function_namespace0_generated_1421_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserTokenGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13882LU), -UA_NODEID_NUMERIC(ns[0], 13813LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultUserTokenGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1421_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13882LU) -); -} - -/* CertificateTypes - ns=0;i=13915 */ - -static UA_StatusCode function_namespace0_generated_1422_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13915LU), -UA_NODEID_NUMERIC(ns[0], 13882LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1422_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13915LU) -); -} - -/* DefaultHttpsGroup - ns=0;i=13848 */ - -static UA_StatusCode function_namespace0_generated_1423_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultHttpsGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13848LU), -UA_NODEID_NUMERIC(ns[0], 13813LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultHttpsGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1423_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13848LU) -); -} - -/* CertificateTypes - ns=0;i=13881 */ - -static UA_StatusCode function_namespace0_generated_1424_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13881LU), -UA_NODEID_NUMERIC(ns[0], 13848LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1424_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13881LU) -); -} - -/* DefaultApplicationGroup - ns=0;i=13814 */ - -static UA_StatusCode function_namespace0_generated_1425_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13814LU), -UA_NODEID_NUMERIC(ns[0], 13813LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1425_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13814LU) -); -} - -/* CertificateTypes - ns=0;i=13847 */ - -static UA_StatusCode function_namespace0_generated_1426_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13847LU), -UA_NODEID_NUMERIC(ns[0], 13814LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1426_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13847LU) -); -} - -/* CertificateTypes - ns=0;i=13631 */ - -static UA_StatusCode function_namespace0_generated_1427_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13631LU), -UA_NODEID_NUMERIC(ns[0], 12555LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1427_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13631LU) -); -} - -/* HistoryServerCapabilitiesType - ns=0;i=2330 */ - -static UA_StatusCode function_namespace0_generated_1428_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryServerCapabilitiesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HistoryServerCapabilitiesType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1428_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2330LU) -); -} - -/* DeleteAtTimeCapability - ns=0;i=2338 */ - -static UA_StatusCode function_namespace0_generated_1429_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteAtTimeCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2338LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DeleteAtTimeCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1429_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2338LU) -); -} - -/* DeleteRawCapability - ns=0;i=2337 */ - -static UA_StatusCode function_namespace0_generated_1430_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteRawCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2337LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DeleteRawCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1430_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2337LU) -); -} - -/* UpdateDataCapability - ns=0;i=2336 */ - -static UA_StatusCode function_namespace0_generated_1431_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2336LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1431_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2336LU) -); -} - -/* ReplaceDataCapability - ns=0;i=2335 */ - -static UA_StatusCode function_namespace0_generated_1432_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2335LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReplaceDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1432_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2335LU) -); -} - -/* InsertDataCapability - ns=0;i=2334 */ - -static UA_StatusCode function_namespace0_generated_1433_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InsertDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2334LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InsertDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1433_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2334LU) -); -} - -/* AccessHistoryEventsCapability - ns=0;i=2332 */ - -static UA_StatusCode function_namespace0_generated_1434_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryEventsCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2332LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AccessHistoryEventsCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1434_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2332LU) -); -} - -/* AccessHistoryDataCapability - ns=0;i=2331 */ - -static UA_StatusCode function_namespace0_generated_1435_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2331LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AccessHistoryDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1435_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2331LU) -); -} - -/* ServerTimestampSupported - ns=0;i=19094 */ - -static UA_StatusCode function_namespace0_generated_1436_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerTimestampSupported"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19094LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerTimestampSupported"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1436_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19094LU) -); -} - -/* DeleteEventCapability - ns=0;i=11501 */ - -static UA_StatusCode function_namespace0_generated_1437_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11501LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DeleteEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1437_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11501LU) -); -} - -/* UpdateEventCapability - ns=0;i=11280 */ - -static UA_StatusCode function_namespace0_generated_1438_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11280LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1438_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11280LU) -); -} - -/* ReplaceEventCapability - ns=0;i=11279 */ - -static UA_StatusCode function_namespace0_generated_1439_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11279LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReplaceEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1439_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11279LU) -); -} - -/* InsertEventCapability - ns=0;i=11278 */ - -static UA_StatusCode function_namespace0_generated_1440_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InsertEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11278LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InsertEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1440_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11278LU) -); -} - -/* InsertAnnotationCapability - ns=0;i=11270 */ - -static UA_StatusCode function_namespace0_generated_1441_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InsertAnnotationCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11270LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InsertAnnotationCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1441_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11270LU) -); -} - -/* MaxReturnEventValues - ns=0;i=11269 */ - -static UA_StatusCode function_namespace0_generated_1442_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnEventValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11269LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReturnEventValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1442_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11269LU) -); -} - -/* MaxReturnDataValues - ns=0;i=11268 */ - -static UA_StatusCode function_namespace0_generated_1443_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnDataValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11268LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReturnDataValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1443_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11268LU) -); -} - -/* AggregateFunctions - ns=0;i=11172 */ - -static UA_StatusCode function_namespace0_generated_1444_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11172LU), -UA_NODEID_NUMERIC(ns[0], 2330LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1444_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11172LU) -); -} - -/* HistoricalEventFilter - ns=0;i=11215 */ - -static UA_StatusCode function_namespace0_generated_1445_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 725LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoricalEventFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11215LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "HistoricalEventFilter"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1445_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11215LU) -); -} - -/* HistoricalDataConfigurationType - ns=0;i=2318 */ - -static UA_StatusCode function_namespace0_generated_1446_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HistoricalDataConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HistoricalDataConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1446_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2318LU) -); -} - -/* AggregateConfiguration - ns=0;i=3059 */ - -static UA_StatusCode function_namespace0_generated_1447_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3059LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), -UA_NODEID_NUMERIC(ns[0], 11187LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1447_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3059LU) -); -} - -/* UseSlopedExtrapolation - ns=0;i=11171 */ - -static UA_StatusCode function_namespace0_generated_1448_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UseSlopedExtrapolation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11171LU), -UA_NODEID_NUMERIC(ns[0], 3059LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UseSlopedExtrapolation"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1448_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11171LU) -); -} - -/* PercentDataGood - ns=0;i=11170 */ - -static UA_StatusCode function_namespace0_generated_1449_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataGood"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11170LU), -UA_NODEID_NUMERIC(ns[0], 3059LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PercentDataGood"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1449_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11170LU) -); -} - -/* PercentDataBad - ns=0;i=11169 */ - -static UA_StatusCode function_namespace0_generated_1450_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11169LU), -UA_NODEID_NUMERIC(ns[0], 3059LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PercentDataBad"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1450_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11169LU) -); -} - -/* TreatUncertainAsBad - ns=0;i=11168 */ - -static UA_StatusCode function_namespace0_generated_1451_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TreatUncertainAsBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11168LU), -UA_NODEID_NUMERIC(ns[0], 3059LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TreatUncertainAsBad"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1451_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11168LU) -); -} - -/* ExceptionDeviationFormat - ns=0;i=2328 */ - -static UA_StatusCode function_namespace0_generated_1452_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 890LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExceptionDeviationFormat"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2328LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ExceptionDeviationFormat"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1452_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2328LU) -); -} - -/* ExceptionDeviation - ns=0;i=2327 */ - -static UA_StatusCode function_namespace0_generated_1453_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExceptionDeviation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2327LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ExceptionDeviation"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1453_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2327LU) -); -} - -/* MinTimeInterval - ns=0;i=2326 */ - -static UA_StatusCode function_namespace0_generated_1454_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MinTimeInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2326LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MinTimeInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1454_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2326LU) -); -} - -/* MaxTimeInterval - ns=0;i=2325 */ - -static UA_StatusCode function_namespace0_generated_1455_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxTimeInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2325LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxTimeInterval"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1455_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2325LU) -); -} - -/* Definition - ns=0;i=2324 */ - -static UA_StatusCode function_namespace0_generated_1456_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Definition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2324LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Definition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1456_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2324LU) -); -} - -/* Stepped - ns=0;i=2323 */ - -static UA_StatusCode function_namespace0_generated_1457_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Stepped"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2323LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Stepped"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1457_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2323LU) -); -} - -/* ServerTimestampSupported - ns=0;i=19092 */ - -static UA_StatusCode function_namespace0_generated_1458_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerTimestampSupported"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19092LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerTimestampSupported"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1458_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19092LU) -); -} - -/* AggregateFunctions - ns=0;i=11876 */ - -static UA_StatusCode function_namespace0_generated_1459_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11876LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1459_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11876LU) -); -} - -/* StartOfOnlineArchive - ns=0;i=11500 */ - -static UA_StatusCode function_namespace0_generated_1460_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartOfOnlineArchive"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11500LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StartOfOnlineArchive"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1460_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11500LU) -); -} - -/* StartOfArchive - ns=0;i=11499 */ - -static UA_StatusCode function_namespace0_generated_1461_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartOfArchive"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11499LU), -UA_NODEID_NUMERIC(ns[0], 2318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StartOfArchive"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1461_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11499LU) -); -} - -/* HA Configuration - ns=0;i=11202 */ - -static UA_StatusCode function_namespace0_generated_1462_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HA Configuration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11202LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "HA Configuration"), -UA_NODEID_NUMERIC(ns[0], 2318LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1462_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11202LU) -); -} - -/* Stepped - ns=0;i=11208 */ - -static UA_StatusCode function_namespace0_generated_1463_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Stepped"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11208LU), -UA_NODEID_NUMERIC(ns[0], 11202LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Stepped"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1463_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11208LU) -); -} - -/* AggregateConfiguration - ns=0;i=11203 */ - -static UA_StatusCode function_namespace0_generated_1464_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11203LU), -UA_NODEID_NUMERIC(ns[0], 11202LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), -UA_NODEID_NUMERIC(ns[0], 11187LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1464_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11203LU) -); -} - -/* UseSlopedExtrapolation - ns=0;i=11207 */ - -static UA_StatusCode function_namespace0_generated_1465_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UseSlopedExtrapolation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11207LU), -UA_NODEID_NUMERIC(ns[0], 11203LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UseSlopedExtrapolation"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1465_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11207LU) -); -} - -/* PercentDataGood - ns=0;i=11206 */ - -static UA_StatusCode function_namespace0_generated_1466_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataGood"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11206LU), -UA_NODEID_NUMERIC(ns[0], 11203LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PercentDataGood"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1466_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11206LU) -); -} - -/* PercentDataBad - ns=0;i=11205 */ - -static UA_StatusCode function_namespace0_generated_1467_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PercentDataBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11205LU), -UA_NODEID_NUMERIC(ns[0], 11203LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PercentDataBad"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1467_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11205LU) -); -} - -/* TreatUncertainAsBad - ns=0;i=11204 */ - -static UA_StatusCode function_namespace0_generated_1468_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TreatUncertainAsBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11204LU), -UA_NODEID_NUMERIC(ns[0], 11203LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TreatUncertainAsBad"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1468_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11204LU) -); -} - -/* Annotations - ns=0;i=11214 */ - -static UA_StatusCode function_namespace0_generated_1469_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 891LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Annotations"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11214LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Annotations"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1469_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11214LU) -); -} - -/* ProgramDiagnostic2Type - ns=0;i=15383 */ - -static UA_StatusCode function_namespace0_generated_1470_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24033LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2Type"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2Type"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1470_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15383LU) -); -} - -/* LastMethodReturnStatus - ns=0;i=15395 */ - -static UA_StatusCode function_namespace0_generated_1471_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodReturnStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15395LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodReturnStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1471_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15395LU) -); -} - -/* LastMethodCallTime - ns=0;i=15394 */ - -static UA_StatusCode function_namespace0_generated_1472_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCallTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15394LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodCallTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1472_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15394LU) -); -} - -/* LastMethodOutputValues - ns=0;i=15393 */ - -static UA_StatusCode function_namespace0_generated_1473_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15393LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodOutputValues"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1473_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15393LU) -); -} - -/* LastMethodInputValues - ns=0;i=15392 */ - -static UA_StatusCode function_namespace0_generated_1474_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15392LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodInputValues"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1474_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15392LU) -); -} - -/* LastMethodOutputArguments - ns=0;i=15391 */ - -static UA_StatusCode function_namespace0_generated_1475_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15391LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodOutputArguments"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1475_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15391LU) -); -} - -/* LastMethodInputArguments - ns=0;i=15390 */ - -static UA_StatusCode function_namespace0_generated_1476_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15390LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodInputArguments"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1476_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15390LU) -); -} - -/* LastMethodSessionId - ns=0;i=15389 */ - -static UA_StatusCode function_namespace0_generated_1477_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodSessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15389LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodSessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1477_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15389LU) -); -} - -/* LastMethodCall - ns=0;i=15388 */ - -static UA_StatusCode function_namespace0_generated_1478_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15388LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodCall"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1478_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15388LU) -); -} - -/* LastTransitionTime - ns=0;i=15387 */ - -static UA_StatusCode function_namespace0_generated_1479_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15387LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1479_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15387LU) -); -} - -/* InvocationCreationTime - ns=0;i=15386 */ - -static UA_StatusCode function_namespace0_generated_1480_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InvocationCreationTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15386LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "InvocationCreationTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1480_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15386LU) -); -} - -/* CreateClientName - ns=0;i=15385 */ - -static UA_StatusCode function_namespace0_generated_1481_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateClientName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15385LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateClientName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1481_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15385LU) -); -} - -/* CreateSessionId - ns=0;i=15384 */ - -static UA_StatusCode function_namespace0_generated_1482_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15384LU), -UA_NODEID_NUMERIC(ns[0], 15383LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1482_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15384LU) -); -} - -/* ProgramDiagnosticType - ns=0;i=2380 */ - -static UA_StatusCode function_namespace0_generated_1483_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 894LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1483_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2380LU) -); -} - -/* LastMethodReturnStatus - ns=0;i=2390 */ - -static UA_StatusCode function_namespace0_generated_1484_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 299LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodReturnStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2390LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodReturnStatus"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1484_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2390LU) -); -} - -/* LastMethodCallTime - ns=0;i=2389 */ - -static UA_StatusCode function_namespace0_generated_1485_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCallTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2389LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodCallTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1485_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2389LU) -); -} - -/* LastMethodOutputArguments - ns=0;i=2388 */ - -static UA_StatusCode function_namespace0_generated_1486_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2388LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodOutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1486_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2388LU) -); -} - -/* LastMethodInputArguments - ns=0;i=2387 */ - -static UA_StatusCode function_namespace0_generated_1487_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2387LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodInputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1487_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2387LU) -); -} - -/* LastMethodSessionId - ns=0;i=2386 */ - -static UA_StatusCode function_namespace0_generated_1488_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodSessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2386LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodSessionId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1488_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2386LU) -); -} - -/* LastMethodCall - ns=0;i=2385 */ - -static UA_StatusCode function_namespace0_generated_1489_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2385LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodCall"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1489_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2385LU) -); -} - -/* LastTransitionTime - ns=0;i=2384 */ - -static UA_StatusCode function_namespace0_generated_1490_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2384LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1490_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2384LU) -); -} - -/* InvocationCreationTime - ns=0;i=2383 */ - -static UA_StatusCode function_namespace0_generated_1491_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InvocationCreationTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2383LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InvocationCreationTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1491_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2383LU) -); -} - -/* CreateClientName - ns=0;i=2382 */ - -static UA_StatusCode function_namespace0_generated_1492_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateClientName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2382LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CreateClientName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1492_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2382LU) -); -} - -/* CreateSessionId - ns=0;i=2381 */ - -static UA_StatusCode function_namespace0_generated_1493_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2381LU), -UA_NODEID_NUMERIC(ns[0], 2380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CreateSessionId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1493_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2381LU) -); -} - -/* AlarmStateVariableType - ns=0;i=32244 */ - -static UA_StatusCode function_namespace0_generated_1494_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 32251LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmStateVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmStateVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1494_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32244LU) -); -} - -/* Filter - ns=0;i=32250 */ - -static UA_StatusCode function_namespace0_generated_1495_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Filter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32250LU), -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Filter"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1495_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32250LU) -); -} - -/* UnconfirmedCount - ns=0;i=32249 */ - -static UA_StatusCode function_namespace0_generated_1496_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnconfirmedCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32249LU), -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UnconfirmedCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1496_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32249LU) -); -} - -/* UnacknowledgedCount - ns=0;i=32248 */ - -static UA_StatusCode function_namespace0_generated_1497_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnacknowledgedCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32248LU), -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UnacknowledgedCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1497_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32248LU) -); -} - -/* ActiveCount - ns=0;i=32247 */ - -static UA_StatusCode function_namespace0_generated_1498_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32247LU), -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ActiveCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1498_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32247LU) -); -} - -/* HighestUnackSeverity - ns=0;i=32246 */ - -static UA_StatusCode function_namespace0_generated_1499_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighestUnackSeverity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32246LU), -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HighestUnackSeverity"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1499_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32246LU) -); -} - -/* HighestActiveSeverity - ns=0;i=32245 */ - -static UA_StatusCode function_namespace0_generated_1500_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighestActiveSeverity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32245LU), -UA_NODEID_NUMERIC(ns[0], 32244LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HighestActiveSeverity"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1500_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32245LU) -); -} - -/* AlarmRateVariableType - ns=0;i=17277 */ - -static UA_StatusCode function_namespace0_generated_1501_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmRateVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17277LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmRateVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1501_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17277LU) -); -} - -/* Rate - ns=0;i=17278 */ - -static UA_StatusCode function_namespace0_generated_1502_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17278LU), -UA_NODEID_NUMERIC(ns[0], 17277LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Rate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1502_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17278LU) -); -} - -/* AlarmMetricsType - ns=0;i=17279 */ - -static UA_StatusCode function_namespace0_generated_1503_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmMetricsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmMetricsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1503_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17279LU) -); -} - -/* Reset - ns=0;i=18666 */ - -static UA_StatusCode function_namespace0_generated_1504_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 18666LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1504_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18666LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* StartTime - ns=0;i=17991 */ - -static UA_StatusCode function_namespace0_generated_1505_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17991LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1505_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17991LU) -); -} - -/* AverageAlarmRate - ns=0;i=17288 */ - -static UA_StatusCode function_namespace0_generated_1506_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AverageAlarmRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17288LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AverageAlarmRate"), -UA_NODEID_NUMERIC(ns[0], 17277LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1506_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17288LU) -); -} - -/* Rate - ns=0;i=17289 */ - -static UA_StatusCode function_namespace0_generated_1507_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17289LU), -UA_NODEID_NUMERIC(ns[0], 17288LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Rate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1507_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17289LU) -); -} - -/* MaximumAlarmRate - ns=0;i=17286 */ - -static UA_StatusCode function_namespace0_generated_1508_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaximumAlarmRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17286LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaximumAlarmRate"), -UA_NODEID_NUMERIC(ns[0], 17277LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1508_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17286LU) -); -} - -/* Rate - ns=0;i=17287 */ - -static UA_StatusCode function_namespace0_generated_1509_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17287LU), -UA_NODEID_NUMERIC(ns[0], 17286LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Rate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1509_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17287LU) -); -} - -/* CurrentAlarmRate - ns=0;i=17284 */ - -static UA_StatusCode function_namespace0_generated_1510_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentAlarmRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17284LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentAlarmRate"), -UA_NODEID_NUMERIC(ns[0], 17277LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1510_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17284LU) -); -} - -/* Rate - ns=0;i=17285 */ - -static UA_StatusCode function_namespace0_generated_1511_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Rate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17285LU), -UA_NODEID_NUMERIC(ns[0], 17284LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Rate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1511_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17285LU) -); -} - -/* MaximumReAlarmCount - ns=0;i=17283 */ - -static UA_StatusCode function_namespace0_generated_1512_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaximumReAlarmCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17283LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaximumReAlarmCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1512_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17283LU) -); -} - -/* MaximumUnAck - ns=0;i=17282 */ - -static UA_StatusCode function_namespace0_generated_1513_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaximumUnAck"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17282LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaximumUnAck"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1513_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17282LU) -); -} - -/* MaximumActiveState - ns=0;i=17281 */ - -static UA_StatusCode function_namespace0_generated_1514_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaximumActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17281LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaximumActiveState"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1514_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17281LU) -); -} - -/* AlarmCount - ns=0;i=17280 */ - -static UA_StatusCode function_namespace0_generated_1515_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17280LU), -UA_NODEID_NUMERIC(ns[0], 17279LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AlarmCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1515_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17280LU) -); -} - -/* BaseConditionClassType - ns=0;i=11163 */ - -static UA_StatusCode function_namespace0_generated_1516_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "BaseConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BaseConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1516_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11163LU) -); -} - -/* StatisticalConditionClassType - ns=0;i=18665 */ - -static UA_StatusCode function_namespace0_generated_1517_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "StatisticalConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18665LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StatisticalConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1517_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18665LU) -); -} - -/* TestingConditionClassType - ns=0;i=17221 */ - -static UA_StatusCode function_namespace0_generated_1518_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TestingConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17221LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TestingConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1518_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17221LU) -); -} - -/* TrainingConditionClassType - ns=0;i=17220 */ - -static UA_StatusCode function_namespace0_generated_1519_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TrainingConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17220LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrainingConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1519_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17220LU) -); -} - -/* HighlyManagedAlarmConditionClassType - ns=0;i=17219 */ - -static UA_StatusCode function_namespace0_generated_1520_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "HighlyManagedAlarmConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17219LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "HighlyManagedAlarmConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1520_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17219LU) -); -} - -/* SafetyConditionClassType - ns=0;i=17218 */ - -static UA_StatusCode function_namespace0_generated_1521_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SafetyConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17218LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SafetyConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1521_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17218LU) -); -} - -/* SystemConditionClassType - ns=0;i=11166 */ - -static UA_StatusCode function_namespace0_generated_1522_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SystemConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11166LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SystemConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1522_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11166LU) -); -} - -/* MaintenanceConditionClassType - ns=0;i=11165 */ - -static UA_StatusCode function_namespace0_generated_1523_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "MaintenanceConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11165LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MaintenanceConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1523_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11165LU) -); -} - -/* ProcessConditionClassType - ns=0;i=11164 */ - -static UA_StatusCode function_namespace0_generated_1524_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ProcessConditionClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11164LU), -UA_NODEID_NUMERIC(ns[0], 11163LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProcessConditionClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1524_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11164LU) -); -} - -/* AlarmGroupType - ns=0;i=16405 */ - -static UA_StatusCode function_namespace0_generated_1525_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 16405LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1525_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16405LU) -); -} - -/* AlarmSuppressionGroupType - ns=0;i=32064 */ - -static UA_StatusCode function_namespace0_generated_1526_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmSuppressionGroupType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 32064LU), -UA_NODEID_NUMERIC(ns[0], 16405LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmSuppressionGroupType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1526_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32064LU) -); -} - -/* - ns=0;i=32226 */ - -static UA_StatusCode function_namespace0_generated_1527_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32226LU), -UA_NODEID_NUMERIC(ns[0], 32064LU), -UA_NODEID_NUMERIC(ns[0], 32059LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1527_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32226LU) -); -} - -/* ConditionType - ns=0;i=2782 */ - -static UA_StatusCode function_namespace0_generated_1528_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ConditionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1528_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2782LU) -); -} - -/* AddComment - ns=0;i=9029 */ - -static UA_StatusCode function_namespace0_generated_1529_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9029LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddComment"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1529_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9029LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=9030 */ - -static UA_StatusCode function_namespace0_generated_1530_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_9030_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_9030_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9030_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_9030_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_9030_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_9030_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_9030_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9030_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_9030_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_9030_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_9030_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9030_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9030LU), -UA_NODEID_NUMERIC(ns[0], 9029LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1530_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9030LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Disable - ns=0;i=9028 */ - -static UA_StatusCode function_namespace0_generated_1531_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9028LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Disable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1531_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9028LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Enable - ns=0;i=9027 */ - -static UA_StatusCode function_namespace0_generated_1532_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9027LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Enable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1532_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9027LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ClientUserId - ns=0;i=9026 */ - -static UA_StatusCode function_namespace0_generated_1533_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9026LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1533_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9026LU) -); -} - -/* BranchId - ns=0;i=9010 */ - -static UA_StatusCode function_namespace0_generated_1534_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9010LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BranchId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1534_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9010LU) -); -} - -/* ConditionName - ns=0;i=9009 */ - -static UA_StatusCode function_namespace0_generated_1535_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9009LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1535_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9009LU) -); -} - -/* ConditionRefresh - ns=0;i=3875 */ - -static UA_StatusCode function_namespace0_generated_1536_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionRefresh"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 3875LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConditionRefresh"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1536_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3875LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=3876 */ - -static UA_StatusCode function_namespace0_generated_1537_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_3876_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_3876_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_3876_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_3876_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_3876_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_3876_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the subscription to refresh."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_3876_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3876LU), -UA_NODEID_NUMERIC(ns[0], 3875LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1537_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3876LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Retain - ns=0;i=3874 */ - -static UA_StatusCode function_namespace0_generated_1538_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3874LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Retain"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1538_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3874LU) -); -} - -/* SupportsFilteredRetain - ns=0;i=32060 */ - -static UA_StatusCode function_namespace0_generated_1539_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportsFilteredRetain"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32060LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportsFilteredRetain"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1539_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32060LU) -); -} - -/* AcknowledgeableConditionType - ns=0;i=2881 */ - -static UA_StatusCode function_namespace0_generated_1540_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AcknowledgeableConditionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AcknowledgeableConditionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1540_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2881LU) -); -} - -/* Confirm - ns=0;i=9113 */ - -static UA_StatusCode function_namespace0_generated_1541_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Confirm"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9113LU), -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Confirm"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1541_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9113LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=9114 */ - -static UA_StatusCode function_namespace0_generated_1542_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_9114_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_9114_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9114_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_9114_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_9114_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_9114_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_9114_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9114_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_9114_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_9114_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_9114_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9114_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9114LU), -UA_NODEID_NUMERIC(ns[0], 9113LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1542_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9114LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Acknowledge - ns=0;i=9111 */ - -static UA_StatusCode function_namespace0_generated_1543_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9111LU), -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Acknowledge"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1543_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9111LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=9112 */ - -static UA_StatusCode function_namespace0_generated_1544_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_9112_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_9112_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9112_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_9112_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_9112_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_9112_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_9112_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9112_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_9112_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_9112_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_9112_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9112_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9112LU), -UA_NODEID_NUMERIC(ns[0], 9111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1544_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9112LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AlarmConditionType - ns=0;i=2915 */ - -static UA_StatusCode function_namespace0_generated_1545_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AlarmConditionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AlarmConditionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1545_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2915LU) -); -} - -/* MaxTimeShelved - ns=0;i=9216 */ - -static UA_StatusCode function_namespace0_generated_1546_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxTimeShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9216LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxTimeShelved"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1546_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9216LU) -); -} - -/* SuppressedOrShelved - ns=0;i=9215 */ - -static UA_StatusCode function_namespace0_generated_1547_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9215LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1547_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9215LU) -); -} - -/* LimitAlarmType - ns=0;i=2955 */ - -static UA_StatusCode function_namespace0_generated_1548_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LimitAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "LimitAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1548_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2955LU) -); -} - -/* NonExclusiveLimitAlarmType - ns=0;i=9906 */ - -static UA_StatusCode function_namespace0_generated_1549_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveLimitAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NonExclusiveLimitAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1549_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9906LU) -); -} - -/* NonExclusiveDeviationAlarmType - ns=0;i=10368 */ - -static UA_StatusCode function_namespace0_generated_1550_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveDeviationAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 10368LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NonExclusiveDeviationAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1550_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10368LU) -); -} - -/* BaseSetpointNode - ns=0;i=16776 */ - -static UA_StatusCode function_namespace0_generated_1551_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseSetpointNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16776LU), -UA_NODEID_NUMERIC(ns[0], 10368LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BaseSetpointNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1551_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16776LU) -); -} - -/* SetpointNode - ns=0;i=10522 */ - -static UA_StatusCode function_namespace0_generated_1552_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetpointNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10522LU), -UA_NODEID_NUMERIC(ns[0], 10368LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SetpointNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1552_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10522LU) -); -} - -/* NonExclusiveRateOfChangeAlarmType - ns=0;i=10214 */ - -static UA_StatusCode function_namespace0_generated_1553_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveRateOfChangeAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 10214LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NonExclusiveRateOfChangeAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1553_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10214LU) -); -} - -/* EngineeringUnits - ns=0;i=16858 */ - -static UA_StatusCode function_namespace0_generated_1554_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16858LU), -UA_NODEID_NUMERIC(ns[0], 10214LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1554_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16858LU) -); -} - -/* NonExclusiveLevelAlarmType - ns=0;i=10060 */ - -static UA_StatusCode function_namespace0_generated_1555_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NonExclusiveLevelAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 10060LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NonExclusiveLevelAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1555_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10060LU) -); -} - -/* ExclusiveLimitAlarmType - ns=0;i=9341 */ - -static UA_StatusCode function_namespace0_generated_1556_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveLimitAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 9341LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExclusiveLimitAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1556_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9341LU) -); -} - -/* ExclusiveDeviationAlarmType - ns=0;i=9764 */ - -static UA_StatusCode function_namespace0_generated_1557_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveDeviationAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 9764LU), -UA_NODEID_NUMERIC(ns[0], 9341LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExclusiveDeviationAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1557_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9764LU) -); -} - -/* SetpointNode - ns=0;i=9905 */ - -static UA_StatusCode function_namespace0_generated_1558_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetpointNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9905LU), -UA_NODEID_NUMERIC(ns[0], 9764LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SetpointNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1558_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9905LU) -); -} - -/* BaseSetpointNode - ns=0;i=16817 */ - -static UA_StatusCode function_namespace0_generated_1559_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseSetpointNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16817LU), -UA_NODEID_NUMERIC(ns[0], 9764LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BaseSetpointNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1559_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16817LU) -); -} - -/* ExclusiveRateOfChangeAlarmType - ns=0;i=9623 */ - -static UA_StatusCode function_namespace0_generated_1560_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveRateOfChangeAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 9623LU), -UA_NODEID_NUMERIC(ns[0], 9341LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExclusiveRateOfChangeAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1560_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9623LU) -); -} - -/* EngineeringUnits - ns=0;i=16899 */ - -static UA_StatusCode function_namespace0_generated_1561_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16899LU), -UA_NODEID_NUMERIC(ns[0], 9623LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1561_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16899LU) -); -} - -/* ExclusiveLevelAlarmType - ns=0;i=9482 */ - -static UA_StatusCode function_namespace0_generated_1562_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveLevelAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 9482LU), -UA_NODEID_NUMERIC(ns[0], 9341LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExclusiveLevelAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1562_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9482LU) -); -} - -/* LowLowDeadband - ns=0;i=24777 */ - -static UA_StatusCode function_namespace0_generated_1563_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LowLowDeadband"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24777LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LowLowDeadband"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1563_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24777LU) -); -} - -/* LowDeadband - ns=0;i=24776 */ - -static UA_StatusCode function_namespace0_generated_1564_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LowDeadband"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24776LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LowDeadband"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1564_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24776LU) -); -} - -/* HighDeadband - ns=0;i=24775 */ - -static UA_StatusCode function_namespace0_generated_1565_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighDeadband"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24775LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HighDeadband"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1565_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24775LU) -); -} - -/* HighHighDeadband - ns=0;i=24774 */ - -static UA_StatusCode function_namespace0_generated_1566_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighHighDeadband"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24774LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HighHighDeadband"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1566_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24774LU) -); -} - -/* SeverityLowLow - ns=0;i=24773 */ - -static UA_StatusCode function_namespace0_generated_1567_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SeverityLowLow"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24773LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SeverityLowLow"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1567_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24773LU) -); -} - -/* SeverityLow - ns=0;i=24772 */ - -static UA_StatusCode function_namespace0_generated_1568_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SeverityLow"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24772LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SeverityLow"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1568_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24772LU) -); -} - -/* SeverityHigh - ns=0;i=24771 */ - -static UA_StatusCode function_namespace0_generated_1569_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SeverityHigh"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24771LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SeverityHigh"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1569_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24771LU) -); -} - -/* SeverityHighHigh - ns=0;i=24770 */ - -static UA_StatusCode function_namespace0_generated_1570_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SeverityHighHigh"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24770LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SeverityHighHigh"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1570_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24770LU) -); -} - -/* BaseLowLowLimit - ns=0;i=16575 */ - -static UA_StatusCode function_namespace0_generated_1571_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseLowLowLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16575LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BaseLowLowLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1571_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16575LU) -); -} - -/* BaseLowLimit - ns=0;i=16574 */ - -static UA_StatusCode function_namespace0_generated_1572_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseLowLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16574LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BaseLowLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1572_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16574LU) -); -} - -/* BaseHighLimit - ns=0;i=16573 */ - -static UA_StatusCode function_namespace0_generated_1573_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseHighLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16573LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BaseHighLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1573_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16573LU) -); -} - -/* BaseHighHighLimit - ns=0;i=16572 */ - -static UA_StatusCode function_namespace0_generated_1574_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseHighHighLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16572LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BaseHighHighLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1574_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16572LU) -); -} - -/* LowLowLimit - ns=0;i=11127 */ - -static UA_StatusCode function_namespace0_generated_1575_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LowLowLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11127LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LowLowLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1575_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11127LU) -); -} - -/* LowLimit - ns=0;i=11126 */ - -static UA_StatusCode function_namespace0_generated_1576_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LowLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11126LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LowLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1576_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11126LU) -); -} - -/* HighLimit - ns=0;i=11125 */ - -static UA_StatusCode function_namespace0_generated_1577_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11125LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HighLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1577_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11125LU) -); -} - -/* HighHighLimit - ns=0;i=11124 */ - -static UA_StatusCode function_namespace0_generated_1578_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighHighLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11124LU), -UA_NODEID_NUMERIC(ns[0], 2955LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HighHighLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1578_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11124LU) -); -} - -/* GetGroupMemberships - ns=0;i=24744 */ - -static UA_StatusCode function_namespace0_generated_1579_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetGroupMemberships"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24744LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetGroupMemberships"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1579_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24744LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25154 */ - -static UA_StatusCode function_namespace0_generated_1580_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25154_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25154_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25154_variant_DataContents[0].name = UA_STRING("Groups"); -variablenode_ns_0_i_25154_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25154_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25154_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_25154_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_25154_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25154_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25154LU), -UA_NODEID_NUMERIC(ns[0], 24744LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1580_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25154LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Reset2 - ns=0;i=24324 */ - -static UA_StatusCode function_namespace0_generated_1581_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24324LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1581_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24324LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24325 */ - -static UA_StatusCode function_namespace0_generated_1582_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24325_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24325_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24325_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24325_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24325_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24325_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24325LU), -UA_NODEID_NUMERIC(ns[0], 24324LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1582_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24325LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PlaceInService2 - ns=0;i=24322 */ - -static UA_StatusCode function_namespace0_generated_1583_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PlaceInService2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24322LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PlaceInService2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1583_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24322LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24323 */ - -static UA_StatusCode function_namespace0_generated_1584_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24323_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24323_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24323_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24323_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24323_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24323_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24323LU), -UA_NODEID_NUMERIC(ns[0], 24322LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1584_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24323LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveFromService2 - ns=0;i=24320 */ - -static UA_StatusCode function_namespace0_generated_1585_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveFromService2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24320LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveFromService2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1585_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24320LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24321 */ - -static UA_StatusCode function_namespace0_generated_1586_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24321_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24321_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24321_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24321_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24321_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24321_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24321LU), -UA_NODEID_NUMERIC(ns[0], 24320LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1586_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24321LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Unsuppress2 - ns=0;i=24318 */ - -static UA_StatusCode function_namespace0_generated_1587_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Unsuppress2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24318LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Unsuppress2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1587_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24318LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24319 */ - -static UA_StatusCode function_namespace0_generated_1588_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24319_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24319_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24319_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24319_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24319_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24319_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24319LU), -UA_NODEID_NUMERIC(ns[0], 24318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1588_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24319LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Suppress2 - ns=0;i=24316 */ - -static UA_StatusCode function_namespace0_generated_1589_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Suppress2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24316LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Suppress2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1589_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24316LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24317 */ - -static UA_StatusCode function_namespace0_generated_1590_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24317_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24317_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24317_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24317_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24317_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24317_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24317LU), -UA_NODEID_NUMERIC(ns[0], 24316LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1590_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24317LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Reset - ns=0;i=18199 */ - -static UA_StatusCode function_namespace0_generated_1591_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 18199LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1591_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18199LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PlaceInService - ns=0;i=17870 */ - -static UA_StatusCode function_namespace0_generated_1592_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PlaceInService"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17870LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PlaceInService"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1592_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17870LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveFromService - ns=0;i=17869 */ - -static UA_StatusCode function_namespace0_generated_1593_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveFromService"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17869LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveFromService"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1593_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17869LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Unsuppress - ns=0;i=17868 */ - -static UA_StatusCode function_namespace0_generated_1594_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Unsuppress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17868LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Unsuppress"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1594_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17868LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DiscrepancyAlarmType - ns=0;i=17080 */ - -static UA_StatusCode function_namespace0_generated_1595_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DiscrepancyAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17080LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DiscrepancyAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1595_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17080LU) -); -} - -/* Tolerance - ns=0;i=17217 */ - -static UA_StatusCode function_namespace0_generated_1596_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Tolerance"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17217LU), -UA_NODEID_NUMERIC(ns[0], 17080LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Tolerance"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1596_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17217LU) -); -} - -/* ExpectedTime - ns=0;i=17216 */ - -static UA_StatusCode function_namespace0_generated_1597_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExpectedTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17216LU), -UA_NODEID_NUMERIC(ns[0], 17080LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ExpectedTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1597_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17216LU) -); -} - -/* TargetValueNode - ns=0;i=17215 */ - -static UA_StatusCode function_namespace0_generated_1598_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TargetValueNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17215LU), -UA_NODEID_NUMERIC(ns[0], 17080LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TargetValueNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1598_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17215LU) -); -} - -/* - ns=0;i=16406 */ - -static UA_StatusCode function_namespace0_generated_1599_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 16405LU), -UA_NODEID_NUMERIC(ns[0], 16362LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 2915LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1599_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16406LU) -); -} - -/* SuppressedOrShelved - ns=0;i=16519 */ - -static UA_StatusCode function_namespace0_generated_1600_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16519LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1600_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16519LU) -); -} - -/* InputNode - ns=0;i=16474 */ - -static UA_StatusCode function_namespace0_generated_1601_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16474LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1601_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16474LU) -); -} - -/* Acknowledge - ns=0;i=16461 */ - -static UA_StatusCode function_namespace0_generated_1602_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16461LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Acknowledge"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1602_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16461LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16462 */ - -static UA_StatusCode function_namespace0_generated_1603_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16462_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16462_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16462_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_16462_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_16462_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_16462_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_16462_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16462_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_16462_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_16462_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_16462_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16462_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16462LU), -UA_NODEID_NUMERIC(ns[0], 16461LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1603_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16462LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddComment - ns=0;i=16441 */ - -static UA_StatusCode function_namespace0_generated_1604_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16441LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddComment"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1604_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16441LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16442 */ - -static UA_StatusCode function_namespace0_generated_1605_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16442_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16442_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16442_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_16442_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_16442_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_16442_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_16442_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16442_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_16442_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_16442_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_16442_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16442_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16442LU), -UA_NODEID_NUMERIC(ns[0], 16441LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1605_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16442LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Enable - ns=0;i=16440 */ - -static UA_StatusCode function_namespace0_generated_1606_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16440LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Enable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1606_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16440LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Disable - ns=0;i=16439 */ - -static UA_StatusCode function_namespace0_generated_1607_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16439LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Disable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1607_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16439LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ClientUserId - ns=0;i=16438 */ - -static UA_StatusCode function_namespace0_generated_1608_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16438LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1608_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16438LU) -); -} - -/* Retain - ns=0;i=16422 */ - -static UA_StatusCode function_namespace0_generated_1609_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16422LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Retain"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1609_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16422LU) -); -} - -/* BranchId - ns=0;i=16421 */ - -static UA_StatusCode function_namespace0_generated_1610_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16421LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BranchId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1610_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16421LU) -); -} - -/* ConditionName - ns=0;i=16420 */ - -static UA_StatusCode function_namespace0_generated_1611_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16420LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1611_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16420LU) -); -} - -/* ConditionClassName - ns=0;i=16417 */ - -static UA_StatusCode function_namespace0_generated_1612_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16417LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1612_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16417LU) -); -} - -/* ConditionClassId - ns=0;i=16416 */ - -static UA_StatusCode function_namespace0_generated_1613_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16416LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1613_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16416LU) -); -} - -/* Severity - ns=0;i=16415 */ - -static UA_StatusCode function_namespace0_generated_1614_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16415LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Severity"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1614_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16415LU) -); -} - -/* Message - ns=0;i=16414 */ - -static UA_StatusCode function_namespace0_generated_1615_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Message"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16414LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Message"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1615_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16414LU) -); -} - -/* ReceiveTime - ns=0;i=16412 */ - -static UA_StatusCode function_namespace0_generated_1616_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16412LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1616_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16412LU) -); -} - -/* Time - ns=0;i=16411 */ - -static UA_StatusCode function_namespace0_generated_1617_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Time"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16411LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Time"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1617_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16411LU) -); -} - -/* SourceName - ns=0;i=16410 */ - -static UA_StatusCode function_namespace0_generated_1618_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16410LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1618_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16410LU) -); -} - -/* SourceNode - ns=0;i=16409 */ - -static UA_StatusCode function_namespace0_generated_1619_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16409LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1619_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16409LU) -); -} - -/* EventType - ns=0;i=16408 */ - -static UA_StatusCode function_namespace0_generated_1620_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16408LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1620_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16408LU) -); -} - -/* EventId - ns=0;i=16407 */ - -static UA_StatusCode function_namespace0_generated_1621_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16407LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1621_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16407LU) -); -} - -/* Suppress - ns=0;i=16403 */ - -static UA_StatusCode function_namespace0_generated_1622_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Suppress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16403LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Suppress"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1622_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16403LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Silence - ns=0;i=16402 */ - -static UA_StatusCode function_namespace0_generated_1623_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Silence"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16402LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Silence"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1623_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16402LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ReAlarmRepeatCount - ns=0;i=16401 */ - -static UA_StatusCode function_namespace0_generated_1624_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 4LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReAlarmRepeatCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16401LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReAlarmRepeatCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1624_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16401LU) -); -} - -/* ReAlarmTime - ns=0;i=16400 */ - -static UA_StatusCode function_namespace0_generated_1625_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReAlarmTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16400LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReAlarmTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1625_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16400LU) -); -} - -/* - ns=0;i=16399 */ - -static UA_StatusCode function_namespace0_generated_1626_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16399LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 16361LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 16405LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1626_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16399LU) -); -} - -/* FirstInGroup - ns=0;i=16398 */ - -static UA_StatusCode function_namespace0_generated_1627_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FirstInGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16398LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FirstInGroup"), -UA_NODEID_NUMERIC(ns[0], 16405LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1627_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16398LU) -); -} - -/* FirstInGroupFlag - ns=0;i=16397 */ - -static UA_StatusCode function_namespace0_generated_1628_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FirstInGroupFlag"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16397LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FirstInGroupFlag"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1628_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16397LU) -); -} - -/* OffDelay - ns=0;i=16396 */ - -static UA_StatusCode function_namespace0_generated_1629_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OffDelay"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16396LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OffDelay"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1629_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16396LU) -); -} - -/* OnDelay - ns=0;i=16395 */ - -static UA_StatusCode function_namespace0_generated_1630_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OnDelay"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16395LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OnDelay"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1630_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16395LU) -); -} - -/* AudibleEnabled - ns=0;i=16389 */ - -static UA_StatusCode function_namespace0_generated_1631_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AudibleEnabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16389LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AudibleEnabled"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1631_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16389LU) -); -} - -/* InputNode - ns=0;i=11120 */ - -static UA_StatusCode function_namespace0_generated_1632_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11120LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1632_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11120LU) -); -} - -/* DiscreteAlarmType - ns=0;i=10523 */ - -static UA_StatusCode function_namespace0_generated_1633_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DiscreteAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 10523LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DiscreteAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1633_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10523LU) -); -} - -/* OffNormalAlarmType - ns=0;i=10637 */ - -static UA_StatusCode function_namespace0_generated_1634_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OffNormalAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 10637LU), -UA_NODEID_NUMERIC(ns[0], 10523LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OffNormalAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1634_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10637LU) -); -} - -/* SystemDiagnosticAlarmType - ns=0;i=18496 */ - -static UA_StatusCode function_namespace0_generated_1635_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SystemDiagnosticAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18496LU), -UA_NODEID_NUMERIC(ns[0], 10637LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SystemDiagnosticAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1635_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18496LU) -); -} - -/* InstrumentDiagnosticAlarmType - ns=0;i=18347 */ - -static UA_StatusCode function_namespace0_generated_1636_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "InstrumentDiagnosticAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18347LU), -UA_NODEID_NUMERIC(ns[0], 10637LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "InstrumentDiagnosticAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1636_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18347LU) -); -} - -/* SystemOffNormalAlarmType - ns=0;i=11753 */ - -static UA_StatusCode function_namespace0_generated_1637_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SystemOffNormalAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11753LU), -UA_NODEID_NUMERIC(ns[0], 10637LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SystemOffNormalAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1637_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11753LU) -); -} - -/* TrustListOutOfDateAlarmType - ns=0;i=19297 */ - -static UA_StatusCode function_namespace0_generated_1638_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListOutOfDateAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19297LU), -UA_NODEID_NUMERIC(ns[0], 11753LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListOutOfDateAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1638_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19297LU) -); -} - -/* TrustListOutOfDate - ns=0;i=20143 */ - -static UA_StatusCode function_namespace0_generated_1639_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListOutOfDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 12555LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustListOutOfDate"), -UA_NODEID_NUMERIC(ns[0], 19297LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1639_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20143LU) -); -} - -/* UpdateFrequency - ns=0;i=20289 */ - -static UA_StatusCode function_namespace0_generated_1640_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateFrequency"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20289LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateFrequency"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1640_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20289LU) -); -} - -/* LastUpdateTime - ns=0;i=20288 */ - -static UA_StatusCode function_namespace0_generated_1641_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20288LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1641_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20288LU) -); -} - -/* TrustListId - ns=0;i=20287 */ - -static UA_StatusCode function_namespace0_generated_1642_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20287LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrustListId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1642_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20287LU) -); -} - -/* NormalState - ns=0;i=20286 */ - -static UA_StatusCode function_namespace0_generated_1643_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NormalState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20286LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NormalState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1643_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20286LU) -); -} - -/* SuppressedOrShelved - ns=0;i=20249 */ - -static UA_StatusCode function_namespace0_generated_1644_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20249LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1644_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20249LU) -); -} - -/* InputNode - ns=0;i=20211 */ - -static UA_StatusCode function_namespace0_generated_1645_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20211LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1645_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20211LU) -); -} - -/* Acknowledge - ns=0;i=20198 */ - -static UA_StatusCode function_namespace0_generated_1646_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 20198LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Acknowledge"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1646_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20198LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=20199 */ - -static UA_StatusCode function_namespace0_generated_1647_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_20199_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_20199_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_20199_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_20199_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_20199_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_20199_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_20199_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_20199_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_20199_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_20199_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_20199_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_20199_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20199LU), -UA_NODEID_NUMERIC(ns[0], 20198LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1647_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20199LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddComment - ns=0;i=20178 */ - -static UA_StatusCode function_namespace0_generated_1648_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 20178LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddComment"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1648_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20178LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=20179 */ - -static UA_StatusCode function_namespace0_generated_1649_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_20179_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_20179_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_20179_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_20179_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_20179_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_20179_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_20179_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_20179_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_20179_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_20179_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_20179_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_20179_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20179LU), -UA_NODEID_NUMERIC(ns[0], 20178LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1649_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20179LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Enable - ns=0;i=20177 */ - -static UA_StatusCode function_namespace0_generated_1650_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 20177LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Enable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1650_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20177LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Disable - ns=0;i=20176 */ - -static UA_StatusCode function_namespace0_generated_1651_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 20176LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Disable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1651_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20176LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ClientUserId - ns=0;i=20175 */ - -static UA_StatusCode function_namespace0_generated_1652_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20175LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1652_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20175LU) -); -} - -/* Retain - ns=0;i=20159 */ - -static UA_StatusCode function_namespace0_generated_1653_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20159LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Retain"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1653_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20159LU) -); -} - -/* BranchId - ns=0;i=20158 */ - -static UA_StatusCode function_namespace0_generated_1654_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20158LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BranchId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1654_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20158LU) -); -} - -/* ConditionName - ns=0;i=20157 */ - -static UA_StatusCode function_namespace0_generated_1655_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20157LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1655_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20157LU) -); -} - -/* ConditionClassName - ns=0;i=20154 */ - -static UA_StatusCode function_namespace0_generated_1656_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20154LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1656_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20154LU) -); -} - -/* ConditionClassId - ns=0;i=20153 */ - -static UA_StatusCode function_namespace0_generated_1657_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20153LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1657_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20153LU) -); -} - -/* Severity - ns=0;i=20152 */ - -static UA_StatusCode function_namespace0_generated_1658_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20152LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Severity"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1658_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20152LU) -); -} - -/* Message - ns=0;i=20151 */ - -static UA_StatusCode function_namespace0_generated_1659_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Message"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20151LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Message"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1659_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20151LU) -); -} - -/* ReceiveTime - ns=0;i=20149 */ - -static UA_StatusCode function_namespace0_generated_1660_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20149LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1660_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20149LU) -); -} - -/* Time - ns=0;i=20148 */ - -static UA_StatusCode function_namespace0_generated_1661_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Time"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20148LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Time"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1661_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20148LU) -); -} - -/* SourceName - ns=0;i=20147 */ - -static UA_StatusCode function_namespace0_generated_1662_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20147LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1662_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20147LU) -); -} - -/* SourceNode - ns=0;i=20146 */ - -static UA_StatusCode function_namespace0_generated_1663_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20146LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1663_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20146LU) -); -} - -/* EventType - ns=0;i=20145 */ - -static UA_StatusCode function_namespace0_generated_1664_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20145LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1664_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20145LU) -); -} - -/* EventId - ns=0;i=20144 */ - -static UA_StatusCode function_namespace0_generated_1665_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20144LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1665_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20144LU) -); -} - -/* UpdateFrequency - ns=0;i=19448 */ - -static UA_StatusCode function_namespace0_generated_1666_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateFrequency"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19448LU), -UA_NODEID_NUMERIC(ns[0], 19297LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateFrequency"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1666_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19448LU) -); -} - -/* LastUpdateTime - ns=0;i=19447 */ - -static UA_StatusCode function_namespace0_generated_1667_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19447LU), -UA_NODEID_NUMERIC(ns[0], 19297LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1667_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19447LU) -); -} - -/* TrustListId - ns=0;i=19446 */ - -static UA_StatusCode function_namespace0_generated_1668_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19446LU), -UA_NODEID_NUMERIC(ns[0], 19297LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrustListId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1668_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19446LU) -); -} - -/* CertificateExpirationAlarmType - ns=0;i=13225 */ - -static UA_StatusCode function_namespace0_generated_1669_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateExpirationAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 13225LU), -UA_NODEID_NUMERIC(ns[0], 11753LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CertificateExpirationAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12555LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13882LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13916LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 13225LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13951LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1669_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13225LU) -); -} - -/* CertificateExpired - ns=0;i=19450 */ - -static UA_StatusCode function_namespace0_generated_1670_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateExpired"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 12555LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CertificateExpired"), -UA_NODEID_NUMERIC(ns[0], 13225LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1670_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19450LU) -); -} - -/* Certificate - ns=0;i=20142 */ - -static UA_StatusCode function_namespace0_generated_1671_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Certificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20142LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Certificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1671_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20142LU) -); -} - -/* CertificateType - ns=0;i=20141 */ - -static UA_StatusCode function_namespace0_generated_1672_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20141LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1672_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20141LU) -); -} - -/* ExpirationDate - ns=0;i=20139 */ - -static UA_StatusCode function_namespace0_generated_1673_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExpirationDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20139LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ExpirationDate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1673_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20139LU) -); -} - -/* NormalState - ns=0;i=20138 */ - -static UA_StatusCode function_namespace0_generated_1674_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NormalState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20138LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NormalState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1674_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20138LU) -); -} - -/* SuppressedOrShelved - ns=0;i=20101 */ - -static UA_StatusCode function_namespace0_generated_1675_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedOrShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20101LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SuppressedOrShelved"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1675_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20101LU) -); -} - -/* InputNode - ns=0;i=19518 */ - -static UA_StatusCode function_namespace0_generated_1676_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19518LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1676_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19518LU) -); -} - -/* Acknowledge - ns=0;i=19505 */ - -static UA_StatusCode function_namespace0_generated_1677_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Acknowledge"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19505LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Acknowledge"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1677_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19505LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=19506 */ - -static UA_StatusCode function_namespace0_generated_1678_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_19506_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_19506_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_19506_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_19506_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_19506_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_19506_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_19506_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_19506_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_19506_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_19506_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_19506_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19506_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19506LU), -UA_NODEID_NUMERIC(ns[0], 19505LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1678_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19506LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddComment - ns=0;i=19485 */ - -static UA_StatusCode function_namespace0_generated_1679_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddComment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19485LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddComment"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1679_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19485LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=19486 */ - -static UA_StatusCode function_namespace0_generated_1680_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_19486_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_19486_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_19486_variant_DataContents[0].name = UA_STRING("EventId"); -variablenode_ns_0_i_19486_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_19486_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_19486_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the event to comment."); - -UA_init(&variablenode_ns_0_i_19486_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_19486_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_19486_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_19486_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_19486_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The comment to add to the condition."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_19486_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19486LU), -UA_NODEID_NUMERIC(ns[0], 19485LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1680_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19486LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Enable - ns=0;i=19484 */ - -static UA_StatusCode function_namespace0_generated_1681_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Enable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19484LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Enable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1681_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19484LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Disable - ns=0;i=19483 */ - -static UA_StatusCode function_namespace0_generated_1682_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Disable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 19483LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Disable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1682_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19483LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ClientUserId - ns=0;i=19482 */ - -static UA_StatusCode function_namespace0_generated_1683_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19482LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1683_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19482LU) -); -} - -/* Retain - ns=0;i=19466 */ - -static UA_StatusCode function_namespace0_generated_1684_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Retain"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19466LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Retain"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1684_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19466LU) -); -} - -/* BranchId - ns=0;i=19465 */ - -static UA_StatusCode function_namespace0_generated_1685_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BranchId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19465LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BranchId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1685_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19465LU) -); -} - -/* ConditionName - ns=0;i=19464 */ - -static UA_StatusCode function_namespace0_generated_1686_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19464LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1686_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19464LU) -); -} - -/* ConditionClassName - ns=0;i=19461 */ - -static UA_StatusCode function_namespace0_generated_1687_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19461LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1687_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19461LU) -); -} - -/* ConditionClassId - ns=0;i=19460 */ - -static UA_StatusCode function_namespace0_generated_1688_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19460LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1688_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19460LU) -); -} - -/* Severity - ns=0;i=19459 */ - -static UA_StatusCode function_namespace0_generated_1689_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19459LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Severity"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1689_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19459LU) -); -} - -/* Message - ns=0;i=19458 */ - -static UA_StatusCode function_namespace0_generated_1690_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Message"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19458LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Message"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1690_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19458LU) -); -} - -/* ReceiveTime - ns=0;i=19456 */ - -static UA_StatusCode function_namespace0_generated_1691_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19456LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1691_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19456LU) -); -} - -/* Time - ns=0;i=19455 */ - -static UA_StatusCode function_namespace0_generated_1692_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Time"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19455LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Time"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1692_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19455LU) -); -} - -/* SourceName - ns=0;i=19454 */ - -static UA_StatusCode function_namespace0_generated_1693_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19454LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1693_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19454LU) -); -} - -/* SourceNode - ns=0;i=19453 */ - -static UA_StatusCode function_namespace0_generated_1694_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19453LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1694_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19453LU) -); -} - -/* EventType - ns=0;i=19452 */ - -static UA_StatusCode function_namespace0_generated_1695_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19452LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1695_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19452LU) -); -} - -/* EventId - ns=0;i=19451 */ - -static UA_StatusCode function_namespace0_generated_1696_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19451LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1696_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19451LU) -); -} - -/* ExpirationLimit - ns=0;i=14900 */ - -static UA_StatusCode function_namespace0_generated_1697_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExpirationLimit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14900LU), -UA_NODEID_NUMERIC(ns[0], 13225LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ExpirationLimit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1697_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14900LU) -); -} - -/* Certificate - ns=0;i=13327 */ - -static UA_StatusCode function_namespace0_generated_1698_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Certificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13327LU), -UA_NODEID_NUMERIC(ns[0], 13225LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Certificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1698_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13327LU) -); -} - -/* CertificateType - ns=0;i=13326 */ - -static UA_StatusCode function_namespace0_generated_1699_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13326LU), -UA_NODEID_NUMERIC(ns[0], 13225LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1699_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13326LU) -); -} - -/* ExpirationDate - ns=0;i=13325 */ - -static UA_StatusCode function_namespace0_generated_1700_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExpirationDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13325LU), -UA_NODEID_NUMERIC(ns[0], 13225LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ExpirationDate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1700_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13325LU) -); -} - -/* NormalState - ns=0;i=11158 */ - -static UA_StatusCode function_namespace0_generated_1701_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NormalState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11158LU), -UA_NODEID_NUMERIC(ns[0], 10637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NormalState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1701_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11158LU) -); -} - -/* TripAlarmType - ns=0;i=10751 */ - -static UA_StatusCode function_namespace0_generated_1702_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TripAlarmType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 10751LU), -UA_NODEID_NUMERIC(ns[0], 10637LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TripAlarmType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1702_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10751LU) -); -} - -/* DialogConditionType - ns=0;i=2830 */ - -static UA_StatusCode function_namespace0_generated_1703_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DialogConditionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DialogConditionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1703_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2830LU) -); -} - -/* Respond - ns=0;i=9069 */ - -static UA_StatusCode function_namespace0_generated_1704_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Respond"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9069LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Respond"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1704_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9069LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=9070 */ - -static UA_StatusCode function_namespace0_generated_1705_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_9070_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_9070_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9070_variant_DataContents[0].name = UA_STRING("SelectedResponse"); -variablenode_ns_0_i_9070_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_9070_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9070_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9070LU), -UA_NODEID_NUMERIC(ns[0], 9069LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1705_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9070LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastResponse - ns=0;i=9068 */ - -static UA_StatusCode function_namespace0_generated_1706_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastResponse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9068LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastResponse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1706_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9068LU) -); -} - -/* CancelResponse - ns=0;i=9067 */ - -static UA_StatusCode function_namespace0_generated_1707_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CancelResponse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9067LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CancelResponse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1707_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9067LU) -); -} - -/* OkResponse - ns=0;i=9066 */ - -static UA_StatusCode function_namespace0_generated_1708_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OkResponse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9066LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OkResponse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1708_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9066LU) -); -} - -/* DefaultResponse - ns=0;i=9065 */ - -static UA_StatusCode function_namespace0_generated_1709_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultResponse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9065LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultResponse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1709_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9065LU) -); -} - -/* ResponseOptionSet - ns=0;i=9064 */ - -static UA_StatusCode function_namespace0_generated_1710_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResponseOptionSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9064LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResponseOptionSet"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1710_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9064LU) -); -} - -/* Prompt - ns=0;i=2831 */ - -static UA_StatusCode function_namespace0_generated_1711_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Prompt"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2831LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Prompt"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1711_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2831LU) -); -} - -/* Respond2 - ns=0;i=24312 */ - -static UA_StatusCode function_namespace0_generated_1712_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Respond2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24312LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Respond2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1712_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24312LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24313 */ - -static UA_StatusCode function_namespace0_generated_1713_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24313_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_24313_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24313_variant_DataContents[0].name = UA_STRING("SelectedResponse"); -variablenode_ns_0_i_24313_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_24313_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24313_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24313_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_24313_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24313_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24313_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24313LU), -UA_NODEID_NUMERIC(ns[0], 24312LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1713_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24313LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ConditionRefresh2 - ns=0;i=12912 */ - -static UA_StatusCode function_namespace0_generated_1714_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionRefresh2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12912LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConditionRefresh2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1714_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12912LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12913 */ - -static UA_StatusCode function_namespace0_generated_1715_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12913_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12913_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12913_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_12913_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_12913_variant_DataContents[0].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_12913_variant_DataContents[0].description = UA_LOCALIZEDTEXT("", "The identifier for the subscription to refresh."); - -UA_init(&variablenode_ns_0_i_12913_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12913_variant_DataContents[1].name = UA_STRING("MonitoredItemId"); -variablenode_ns_0_i_12913_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_12913_variant_DataContents[1].valueRank = (UA_Int32) -1; -variablenode_ns_0_i_12913_variant_DataContents[1].description = UA_LOCALIZEDTEXT("", "The identifier for the monitored item to refresh."); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12913_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12913LU), -UA_NODEID_NUMERIC(ns[0], 12912LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1715_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12913LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ConditionClassName - ns=0;i=11113 */ - -static UA_StatusCode function_namespace0_generated_1716_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11113LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1716_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11113LU) -); -} - -/* ConditionClassId - ns=0;i=11112 */ - -static UA_StatusCode function_namespace0_generated_1717_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11112LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1717_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11112LU) -); -} - -/* ConditionVariableType - ns=0;i=9002 */ - -static UA_StatusCode function_namespace0_generated_1718_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 9002LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ConditionVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1718_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9002LU) -); -} - -/* Comment - ns=0;i=9024 */ - -static UA_StatusCode function_namespace0_generated_1719_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9024LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1719_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9024LU) -); -} - -/* SourceTimestamp - ns=0;i=9025 */ - -static UA_StatusCode function_namespace0_generated_1720_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9025LU), -UA_NODEID_NUMERIC(ns[0], 9024LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1720_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9025LU) -); -} - -/* LastSeverity - ns=0;i=9022 */ - -static UA_StatusCode function_namespace0_generated_1721_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9022LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastSeverity"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1721_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9022LU) -); -} - -/* SourceTimestamp - ns=0;i=9023 */ - -static UA_StatusCode function_namespace0_generated_1722_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9023LU), -UA_NODEID_NUMERIC(ns[0], 9022LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1722_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9023LU) -); -} - -/* Quality - ns=0;i=9020 */ - -static UA_StatusCode function_namespace0_generated_1723_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9020LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Quality"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1723_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9020LU) -); -} - -/* SourceTimestamp - ns=0;i=9021 */ - -static UA_StatusCode function_namespace0_generated_1724_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9021LU), -UA_NODEID_NUMERIC(ns[0], 9020LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1724_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9021LU) -); -} - -/* SourceTimestamp - ns=0;i=9003 */ - -static UA_StatusCode function_namespace0_generated_1725_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9003LU), -UA_NODEID_NUMERIC(ns[0], 9002LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1725_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9003LU) -); -} - -/* Comment - ns=0;i=20173 */ - -static UA_StatusCode function_namespace0_generated_1726_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20173LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1726_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20173LU) -); -} - -/* SourceTimestamp - ns=0;i=20174 */ - -static UA_StatusCode function_namespace0_generated_1727_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20174LU), -UA_NODEID_NUMERIC(ns[0], 20173LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1727_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20174LU) -); -} - -/* LastSeverity - ns=0;i=20171 */ - -static UA_StatusCode function_namespace0_generated_1728_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20171LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastSeverity"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1728_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20171LU) -); -} - -/* SourceTimestamp - ns=0;i=20172 */ - -static UA_StatusCode function_namespace0_generated_1729_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20172LU), -UA_NODEID_NUMERIC(ns[0], 20171LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1729_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20172LU) -); -} - -/* Quality - ns=0;i=20169 */ - -static UA_StatusCode function_namespace0_generated_1730_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20169LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Quality"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1730_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20169LU) -); -} - -/* SourceTimestamp - ns=0;i=20170 */ - -static UA_StatusCode function_namespace0_generated_1731_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20170LU), -UA_NODEID_NUMERIC(ns[0], 20169LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1731_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20170LU) -); -} - -/* Comment - ns=0;i=19480 */ - -static UA_StatusCode function_namespace0_generated_1732_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19480LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1732_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19480LU) -); -} - -/* SourceTimestamp - ns=0;i=19481 */ - -static UA_StatusCode function_namespace0_generated_1733_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19481LU), -UA_NODEID_NUMERIC(ns[0], 19480LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1733_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19481LU) -); -} - -/* LastSeverity - ns=0;i=19478 */ - -static UA_StatusCode function_namespace0_generated_1734_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19478LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastSeverity"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1734_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19478LU) -); -} - -/* SourceTimestamp - ns=0;i=19479 */ - -static UA_StatusCode function_namespace0_generated_1735_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19479LU), -UA_NODEID_NUMERIC(ns[0], 19478LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1735_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19479LU) -); -} - -/* Quality - ns=0;i=19476 */ - -static UA_StatusCode function_namespace0_generated_1736_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19476LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Quality"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1736_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19476LU) -); -} - -/* SourceTimestamp - ns=0;i=19477 */ - -static UA_StatusCode function_namespace0_generated_1737_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19477LU), -UA_NODEID_NUMERIC(ns[0], 19476LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1737_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19477LU) -); -} - -/* Comment - ns=0;i=16436 */ - -static UA_StatusCode function_namespace0_generated_1738_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16436LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1738_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16436LU) -); -} - -/* SourceTimestamp - ns=0;i=16437 */ - -static UA_StatusCode function_namespace0_generated_1739_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16437LU), -UA_NODEID_NUMERIC(ns[0], 16436LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1739_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16437LU) -); -} - -/* LastSeverity - ns=0;i=16434 */ - -static UA_StatusCode function_namespace0_generated_1740_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastSeverity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16434LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastSeverity"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1740_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16434LU) -); -} - -/* SourceTimestamp - ns=0;i=16435 */ - -static UA_StatusCode function_namespace0_generated_1741_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16435LU), -UA_NODEID_NUMERIC(ns[0], 16434LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1741_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16435LU) -); -} - -/* Quality - ns=0;i=16432 */ - -static UA_StatusCode function_namespace0_generated_1742_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Quality"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16432LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Quality"), -UA_NODEID_NUMERIC(ns[0], 9002LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1742_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16432LU) -); -} - -/* SourceTimestamp - ns=0;i=16433 */ - -static UA_StatusCode function_namespace0_generated_1743_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceTimestamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16433LU), -UA_NODEID_NUMERIC(ns[0], 16432LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceTimestamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1743_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16433LU) -); -} - -/* DataItemType - ns=0;i=2365 */ - -static UA_StatusCode function_namespace0_generated_1744_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2365LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1744_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2365LU) -); -} - -/* DiscreteItemType - ns=0;i=2372 */ - -static UA_StatusCode function_namespace0_generated_1745_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscreteItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2372LU), -UA_NODEID_NUMERIC(ns[0], 2365LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DiscreteItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1745_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2372LU) -); -} - -/* MultiStateDiscreteType - ns=0;i=2376 */ - -static UA_StatusCode function_namespace0_generated_1746_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 28LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateDiscreteType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2376LU), -UA_NODEID_NUMERIC(ns[0], 2372LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MultiStateDiscreteType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1746_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2376LU) -); -} - -/* EnumStrings - ns=0;i=2377 */ - -static UA_StatusCode function_namespace0_generated_1747_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2377LU), -UA_NODEID_NUMERIC(ns[0], 2376LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1747_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2377LU) -); -} - -/* TwoStateDiscreteType - ns=0;i=2373 */ - -static UA_StatusCode function_namespace0_generated_1748_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TwoStateDiscreteType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2373LU), -UA_NODEID_NUMERIC(ns[0], 2372LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TwoStateDiscreteType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1748_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2373LU) -); -} - -/* TrueState - ns=0;i=2375 */ - -static UA_StatusCode function_namespace0_generated_1749_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2375LU), -UA_NODEID_NUMERIC(ns[0], 2373LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1749_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2375LU) -); -} - -/* FalseState - ns=0;i=2374 */ - -static UA_StatusCode function_namespace0_generated_1750_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2374LU), -UA_NODEID_NUMERIC(ns[0], 2373LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1750_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2374LU) -); -} - -/* MultiStateValueDiscreteType - ns=0;i=11238 */ - -static UA_StatusCode function_namespace0_generated_1751_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateValueDiscreteType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 11238LU), -UA_NODEID_NUMERIC(ns[0], 2372LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MultiStateValueDiscreteType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1751_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11238LU) -); -} - -/* MultiStateDictionaryEntryDiscreteBaseType - ns=0;i=19077 */ - -static UA_StatusCode function_namespace0_generated_1752_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateDictionaryEntryDiscreteBaseType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 19077LU), -UA_NODEID_NUMERIC(ns[0], 11238LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MultiStateDictionaryEntryDiscreteBaseType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1752_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19077LU) -); -} - -/* MultiStateDictionaryEntryDiscreteType - ns=0;i=19084 */ - -static UA_StatusCode function_namespace0_generated_1753_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MultiStateDictionaryEntryDiscreteType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 19084LU), -UA_NODEID_NUMERIC(ns[0], 19077LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "MultiStateDictionaryEntryDiscreteType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1753_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19084LU) -); -} - -/* ValueAsDictionaryEntries - ns=0;i=19090 */ - -static UA_StatusCode function_namespace0_generated_1754_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsDictionaryEntries"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19090LU), -UA_NODEID_NUMERIC(ns[0], 19084LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ValueAsDictionaryEntries"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1754_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19090LU) -); -} - -/* ValueAsDictionaryEntries - ns=0;i=19083 */ - -static UA_StatusCode function_namespace0_generated_1755_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsDictionaryEntries"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19083LU), -UA_NODEID_NUMERIC(ns[0], 19077LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ValueAsDictionaryEntries"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1755_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19083LU) -); -} - -/* EnumDictionaryEntries - ns=0;i=19082 */ - -static UA_StatusCode function_namespace0_generated_1756_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 2; -attr.arrayDimensionsSize = 2; -UA_UInt32 arrayDimensions[2]; -arrayDimensions[0] = 0; -arrayDimensions[1] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDictionaryEntries"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19082LU), -UA_NODEID_NUMERIC(ns[0], 19077LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumDictionaryEntries"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1756_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19082LU) -); -} - -/* ValueAsText - ns=0;i=11461 */ - -static UA_StatusCode function_namespace0_generated_1757_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsText"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11461LU), -UA_NODEID_NUMERIC(ns[0], 11238LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ValueAsText"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1757_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11461LU) -); -} - -/* EnumValues - ns=0;i=11241 */ - -static UA_StatusCode function_namespace0_generated_1758_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11241LU), -UA_NODEID_NUMERIC(ns[0], 11238LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1758_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11241LU) -); -} - -/* ValuePrecision - ns=0;i=2367 */ - -static UA_StatusCode function_namespace0_generated_1759_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ValuePrecision"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2367LU), -UA_NODEID_NUMERIC(ns[0], 2365LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ValuePrecision"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1759_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2367LU) -); -} - -/* Definition - ns=0;i=2366 */ - -static UA_StatusCode function_namespace0_generated_1760_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Definition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2366LU), -UA_NODEID_NUMERIC(ns[0], 2365LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Definition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1760_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2366LU) -); -} - -/* BaseAnalogType - ns=0;i=15318 */ - -static UA_StatusCode function_namespace0_generated_1761_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseAnalogType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 15318LU), -UA_NODEID_NUMERIC(ns[0], 2365LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BaseAnalogType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1761_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15318LU) -); -} - -/* AnalogItemType - ns=0;i=2368 */ - -static UA_StatusCode function_namespace0_generated_1762_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AnalogItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2368LU), -UA_NODEID_NUMERIC(ns[0], 15318LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AnalogItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1762_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2368LU) -); -} - -/* EURange - ns=0;i=2369 */ - -static UA_StatusCode function_namespace0_generated_1763_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EURange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2369LU), -UA_NODEID_NUMERIC(ns[0], 2368LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EURange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1763_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2369LU) -); -} - -/* AnalogUnitRangeType - ns=0;i=17570 */ - -static UA_StatusCode function_namespace0_generated_1764_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AnalogUnitRangeType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17570LU), -UA_NODEID_NUMERIC(ns[0], 2368LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AnalogUnitRangeType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1764_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17570LU) -); -} - -/* EngineeringUnits - ns=0;i=17575 */ - -static UA_StatusCode function_namespace0_generated_1765_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17575LU), -UA_NODEID_NUMERIC(ns[0], 17570LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1765_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17575LU) -); -} - -/* EngineeringUnits - ns=0;i=17569 */ - -static UA_StatusCode function_namespace0_generated_1766_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17569LU), -UA_NODEID_NUMERIC(ns[0], 15318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1766_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17569LU) -); -} - -/* EURange - ns=0;i=17568 */ - -static UA_StatusCode function_namespace0_generated_1767_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EURange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17568LU), -UA_NODEID_NUMERIC(ns[0], 15318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EURange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1767_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17568LU) -); -} - -/* InstrumentRange - ns=0;i=17567 */ - -static UA_StatusCode function_namespace0_generated_1768_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InstrumentRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17567LU), -UA_NODEID_NUMERIC(ns[0], 15318LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InstrumentRange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1768_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17567LU) -); -} - -/* AnalogUnitType - ns=0;i=17497 */ - -static UA_StatusCode function_namespace0_generated_1769_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AnalogUnitType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17497LU), -UA_NODEID_NUMERIC(ns[0], 15318LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AnalogUnitType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1769_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17497LU) -); -} - -/* Speed - ns=0;i=25225 */ - -static UA_StatusCode function_namespace0_generated_1770_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Speed"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25225LU), -UA_NODEID_NUMERIC(ns[0], 25221LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Speed"), -UA_NODEID_NUMERIC(ns[0], 17497LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1770_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25225LU) -); -} - -/* EngineeringUnits - ns=0;i=25252 */ - -static UA_StatusCode function_namespace0_generated_1771_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); - -UA_STACKARRAY(UA_EUInformation, variablenode_ns_0_i_25252_EUInformation_0, 1); -UA_init(variablenode_ns_0_i_25252_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); -variablenode_ns_0_i_25252_EUInformation_0->namespaceUri = UA_STRING("http://www.opcfoundation.org/UA/units/un/cefact"); -variablenode_ns_0_i_25252_EUInformation_0->unitId = (UA_Int32) 4337968; -variablenode_ns_0_i_25252_EUInformation_0->displayName = UA_LOCALIZEDTEXT("en", "bit/s"); -variablenode_ns_0_i_25252_EUInformation_0->description = UA_LOCALIZEDTEXT("en", "bit per second"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25252_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25252LU), -UA_NODEID_NUMERIC(ns[0], 25225LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1771_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25252LU) -); -} - -/* EngineeringUnits - ns=0;i=17502 */ - -static UA_StatusCode function_namespace0_generated_1772_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17502LU), -UA_NODEID_NUMERIC(ns[0], 17497LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1772_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17502LU) -); -} - -/* ArrayItemType - ns=0;i=12021 */ - -static UA_StatusCode function_namespace0_generated_1773_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -attr.valueRank = 0; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ArrayItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 2365LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ArrayItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1773_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12021LU) -); -} - -/* NDimensionArrayItemType - ns=0;i=12068 */ - -static UA_StatusCode function_namespace0_generated_1774_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 0; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NDimensionArrayItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 12068LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NDimensionArrayItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1774_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12068LU) -); -} - -/* AxisDefinition - ns=0;i=12076 */ - -static UA_StatusCode function_namespace0_generated_1775_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12076LU), -UA_NODEID_NUMERIC(ns[0], 12068LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1775_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12076LU) -); -} - -/* CubeItemType - ns=0;i=12057 */ - -static UA_StatusCode function_namespace0_generated_1776_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 3; -attr.arrayDimensionsSize = 3; -UA_UInt32 arrayDimensions[3]; -arrayDimensions[0] = 0; -arrayDimensions[1] = 0; -arrayDimensions[2] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CubeItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 12057LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CubeItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1776_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12057LU) -); -} - -/* ZAxisDefinition - ns=0;i=12067 */ - -static UA_StatusCode function_namespace0_generated_1777_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ZAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12067LU), -UA_NODEID_NUMERIC(ns[0], 12057LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ZAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1777_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12067LU) -); -} - -/* YAxisDefinition - ns=0;i=12066 */ - -static UA_StatusCode function_namespace0_generated_1778_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "YAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12066LU), -UA_NODEID_NUMERIC(ns[0], 12057LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "YAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1778_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12066LU) -); -} - -/* XAxisDefinition - ns=0;i=12065 */ - -static UA_StatusCode function_namespace0_generated_1779_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12065LU), -UA_NODEID_NUMERIC(ns[0], 12057LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1779_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12065LU) -); -} - -/* ImageItemType - ns=0;i=12047 */ - -static UA_StatusCode function_namespace0_generated_1780_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 2; -attr.arrayDimensionsSize = 2; -UA_UInt32 arrayDimensions[2]; -arrayDimensions[0] = 0; -arrayDimensions[1] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ImageItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 12047LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ImageItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1780_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12047LU) -); -} - -/* YAxisDefinition - ns=0;i=12056 */ - -static UA_StatusCode function_namespace0_generated_1781_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "YAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12056LU), -UA_NODEID_NUMERIC(ns[0], 12047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "YAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1781_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12056LU) -); -} - -/* XAxisDefinition - ns=0;i=12055 */ - -static UA_StatusCode function_namespace0_generated_1782_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12055LU), -UA_NODEID_NUMERIC(ns[0], 12047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1782_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12055LU) -); -} - -/* XYArrayItemType - ns=0;i=12038 */ - -static UA_StatusCode function_namespace0_generated_1783_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12080LU); -attr.displayName = UA_LOCALIZEDTEXT("", "XYArrayItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 12038LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "XYArrayItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1783_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12038LU) -); -} - -/* XAxisDefinition - ns=0;i=12046 */ - -static UA_StatusCode function_namespace0_generated_1784_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12046LU), -UA_NODEID_NUMERIC(ns[0], 12038LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1784_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12046LU) -); -} - -/* YArrayItemType - ns=0;i=12029 */ - -static UA_StatusCode function_namespace0_generated_1785_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "YArrayItemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 12029LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "YArrayItemType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1785_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12029LU) -); -} - -/* XAxisDefinition - ns=0;i=12037 */ - -static UA_StatusCode function_namespace0_generated_1786_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12079LU); -attr.displayName = UA_LOCALIZEDTEXT("", "XAxisDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12037LU), -UA_NODEID_NUMERIC(ns[0], 12029LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "XAxisDefinition"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1786_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12037LU) -); -} - -/* AxisScaleType - ns=0;i=12028 */ - -static UA_StatusCode function_namespace0_generated_1787_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12077LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AxisScaleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12028LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AxisScaleType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1787_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12028LU) -); -} - -/* Title - ns=0;i=12027 */ - -static UA_StatusCode function_namespace0_generated_1788_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Title"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12027LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Title"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1788_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12027LU) -); -} - -/* EngineeringUnits - ns=0;i=12026 */ - -static UA_StatusCode function_namespace0_generated_1789_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12026LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1789_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12026LU) -); -} - -/* EURange - ns=0;i=12025 */ - -static UA_StatusCode function_namespace0_generated_1790_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EURange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12025LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EURange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1790_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12025LU) -); -} - -/* InstrumentRange - ns=0;i=12024 */ - -static UA_StatusCode function_namespace0_generated_1791_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InstrumentRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12024LU), -UA_NODEID_NUMERIC(ns[0], 12021LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InstrumentRange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1791_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12024LU) -); -} - -/* OrderedListType - ns=0;i=23518 */ - -static UA_StatusCode function_namespace0_generated_1792_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OrderedListType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23518LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OrderedListType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1792_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23518LU) -); -} - -/* NodeVersion - ns=0;i=23525 */ - -static UA_StatusCode function_namespace0_generated_1793_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NodeVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23525LU), -UA_NODEID_NUMERIC(ns[0], 23518LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NodeVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1793_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23525LU) -); -} - -/* - ns=0;i=23519 */ - -static UA_StatusCode function_namespace0_generated_1794_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23519LU), -UA_NODEID_NUMERIC(ns[0], 23518LU), -UA_NODEID_NUMERIC(ns[0], 49LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1794_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23519LU) -); -} - -/* NumberInList - ns=0;i=23521 */ - -static UA_StatusCode function_namespace0_generated_1795_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NumberInList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23521LU), -UA_NODEID_NUMERIC(ns[0], 23519LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NumberInList"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1795_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23521LU) -); -} - -/* CurrencyUnit - ns=0;i=23501 */ - -static UA_StatusCode function_namespace0_generated_1796_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23498LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23501LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "CurrencyUnit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1796_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23501LU) -); -} - -/* InterfaceTypes - ns=0;i=17708 */ - -static UA_StatusCode function_namespace0_generated_1797_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17708LU), -UA_NODEID_NUMERIC(ns[0], 86LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "InterfaceTypes"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1797_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17708LU) -); -} - -/* BaseInterfaceType - ns=0;i=17602 */ - -static UA_StatusCode function_namespace0_generated_1798_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "BaseInterfaceType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BaseInterfaceType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17602LU), UA_NODEID_NUMERIC(ns[0], 35LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17708LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1798_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17602LU) -); -} - -/* IVlanIdType - ns=0;i=25218 */ - -static UA_StatusCode function_namespace0_generated_1799_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IVlanIdType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25218LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IVlanIdType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1799_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25218LU) -); -} - -/* VlanId - ns=0;i=25219 */ - -static UA_StatusCode function_namespace0_generated_1800_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "VlanId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25219LU), -UA_NODEID_NUMERIC(ns[0], 25218LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "VlanId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1800_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25219LU) -); -} - -/* IIeeeAutoNegotiationStatusType - ns=0;i=24233 */ - -static UA_StatusCode function_namespace0_generated_1801_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeAutoNegotiationStatusType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24233LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeAutoNegotiationStatusType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1801_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24233LU) -); -} - -/* NegotiationStatus - ns=0;i=24234 */ - -static UA_StatusCode function_namespace0_generated_1802_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24216LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NegotiationStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24234LU), -UA_NODEID_NUMERIC(ns[0], 24233LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NegotiationStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1802_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24234LU) -); -} - -/* IPriorityMappingEntryType - ns=0;i=24205 */ - -static UA_StatusCode function_namespace0_generated_1803_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IPriorityMappingEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24205LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IPriorityMappingEntryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1803_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24205LU) -); -} - -/* PriorityValue_DSCP - ns=0;i=24209 */ - -static UA_StatusCode function_namespace0_generated_1804_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityValue_DSCP"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24209LU), -UA_NODEID_NUMERIC(ns[0], 24205LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PriorityValue_DSCP"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1804_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24209LU) -); -} - -/* PriorityValue_PCP - ns=0;i=24208 */ - -static UA_StatusCode function_namespace0_generated_1805_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityValue_PCP"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24208LU), -UA_NODEID_NUMERIC(ns[0], 24205LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PriorityValue_PCP"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1805_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24208LU) -); -} - -/* PriorityLabel - ns=0;i=24207 */ - -static UA_StatusCode function_namespace0_generated_1806_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityLabel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24207LU), -UA_NODEID_NUMERIC(ns[0], 24205LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PriorityLabel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1806_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24207LU) -); -} - -/* MappingUri - ns=0;i=24206 */ - -static UA_StatusCode function_namespace0_generated_1807_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MappingUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24206LU), -UA_NODEID_NUMERIC(ns[0], 24205LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MappingUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1807_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24206LU) -); -} - -/* IIeeeTsnVlanTagType - ns=0;i=24202 */ - -static UA_StatusCode function_namespace0_generated_1808_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnVlanTagType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24202LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeTsnVlanTagType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1808_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24202LU) -); -} - -/* PriorityCodePoint - ns=0;i=24204 */ - -static UA_StatusCode function_namespace0_generated_1809_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityCodePoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24204LU), -UA_NODEID_NUMERIC(ns[0], 24202LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PriorityCodePoint"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1809_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24204LU) -); -} - -/* VlanId - ns=0;i=24203 */ - -static UA_StatusCode function_namespace0_generated_1810_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "VlanId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24203LU), -UA_NODEID_NUMERIC(ns[0], 24202LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "VlanId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1810_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24203LU) -); -} - -/* IIeeeTsnMacAddressType - ns=0;i=24199 */ - -static UA_StatusCode function_namespace0_generated_1811_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnMacAddressType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24199LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeTsnMacAddressType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1811_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24199LU) -); -} - -/* SourceAddress - ns=0;i=24201 */ - -static UA_StatusCode function_namespace0_generated_1812_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24201LU), -UA_NODEID_NUMERIC(ns[0], 24199LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SourceAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1812_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24201LU) -); -} - -/* DestinationAddress - ns=0;i=24200 */ - -static UA_StatusCode function_namespace0_generated_1813_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DestinationAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24200LU), -UA_NODEID_NUMERIC(ns[0], 24199LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DestinationAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1813_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24200LU) -); -} - -/* IIeeeTsnInterfaceConfigurationType - ns=0;i=24188 */ - -static UA_StatusCode function_namespace0_generated_1814_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnInterfaceConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24188LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeTsnInterfaceConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1814_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24188LU) -); -} - -/* IIeeeTsnInterfaceConfigurationListenerType - ns=0;i=24195 */ - -static UA_StatusCode function_namespace0_generated_1815_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnInterfaceConfigurationListenerType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24195LU), -UA_NODEID_NUMERIC(ns[0], 24188LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeTsnInterfaceConfigurationListenerType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1815_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24195LU) -); -} - -/* ReceiveOffset - ns=0;i=24198 */ - -static UA_StatusCode function_namespace0_generated_1816_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24198LU), -UA_NODEID_NUMERIC(ns[0], 24195LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveOffset"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1816_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24198LU) -); -} - -/* IIeeeTsnInterfaceConfigurationTalkerType - ns=0;i=24191 */ - -static UA_StatusCode function_namespace0_generated_1817_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeTsnInterfaceConfigurationTalkerType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24191LU), -UA_NODEID_NUMERIC(ns[0], 24188LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeTsnInterfaceConfigurationTalkerType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1817_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24191LU) -); -} - -/* TimeAwareOffset - ns=0;i=24194 */ - -static UA_StatusCode function_namespace0_generated_1818_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TimeAwareOffset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24194LU), -UA_NODEID_NUMERIC(ns[0], 24191LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimeAwareOffset"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1818_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24194LU) -); -} - -/* InterfaceName - ns=0;i=24190 */ - -static UA_StatusCode function_namespace0_generated_1819_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InterfaceName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24190LU), -UA_NODEID_NUMERIC(ns[0], 24188LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "InterfaceName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1819_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24190LU) -); -} - -/* MacAddress - ns=0;i=24189 */ - -static UA_StatusCode function_namespace0_generated_1820_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MacAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24189LU), -UA_NODEID_NUMERIC(ns[0], 24188LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MacAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1820_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24189LU) -); -} - -/* IIeeeBaseTsnStatusStreamType - ns=0;i=24183 */ - -static UA_StatusCode function_namespace0_generated_1821_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseTsnStatusStreamType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24183LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeBaseTsnStatusStreamType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1821_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24183LU) -); -} - -/* FailureSystemIdentifier - ns=0;i=24187 */ - -static UA_StatusCode function_namespace0_generated_1822_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 2; -attr.arrayDimensionsSize = 2; -UA_UInt32 arrayDimensions[2]; -arrayDimensions[0] = 0; -arrayDimensions[1] = 8; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailureSystemIdentifier"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24187LU), -UA_NODEID_NUMERIC(ns[0], 24183LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailureSystemIdentifier"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1822_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24187LU) -); -} - -/* FailureCode - ns=0;i=24186 */ - -static UA_StatusCode function_namespace0_generated_1823_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24218LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FailureCode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24186LU), -UA_NODEID_NUMERIC(ns[0], 24183LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FailureCode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1823_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24186LU) -); -} - -/* ListenerStatus - ns=0;i=24185 */ - -static UA_StatusCode function_namespace0_generated_1824_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24224LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ListenerStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24185LU), -UA_NODEID_NUMERIC(ns[0], 24183LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ListenerStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1824_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24185LU) -); -} - -/* TalkerStatus - ns=0;i=24184 */ - -static UA_StatusCode function_namespace0_generated_1825_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24222LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TalkerStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24184LU), -UA_NODEID_NUMERIC(ns[0], 24183LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TalkerStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1825_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24184LU) -); -} - -/* IIeeeBaseTsnTrafficSpecificationType - ns=0;i=24179 */ - -static UA_StatusCode function_namespace0_generated_1826_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseTsnTrafficSpecificationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24179LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeBaseTsnTrafficSpecificationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1826_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24179LU) -); -} - -/* Interval - ns=0;i=24182 */ - -static UA_StatusCode function_namespace0_generated_1827_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24107LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Interval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24182LU), -UA_NODEID_NUMERIC(ns[0], 24179LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Interval"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1827_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24182LU) -); -} - -/* MaxFrameSize - ns=0;i=24181 */ - -static UA_StatusCode function_namespace0_generated_1828_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFrameSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24181LU), -UA_NODEID_NUMERIC(ns[0], 24179LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxFrameSize"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1828_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24181LU) -); -} - -/* MaxIntervalFrames - ns=0;i=24180 */ - -static UA_StatusCode function_namespace0_generated_1829_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxIntervalFrames"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24180LU), -UA_NODEID_NUMERIC(ns[0], 24179LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxIntervalFrames"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1829_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24180LU) -); -} - -/* IIeeeBaseTsnStreamType - ns=0;i=24173 */ - -static UA_StatusCode function_namespace0_generated_1830_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseTsnStreamType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24173LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeBaseTsnStreamType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1830_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24173LU) -); -} - -/* SrClassId - ns=0;i=24178 */ - -static UA_StatusCode function_namespace0_generated_1831_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SrClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24178LU), -UA_NODEID_NUMERIC(ns[0], 24173LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SrClassId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1831_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24178LU) -); -} - -/* AccumulatedLatency - ns=0;i=24177 */ - -static UA_StatusCode function_namespace0_generated_1832_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AccumulatedLatency"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24177LU), -UA_NODEID_NUMERIC(ns[0], 24173LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AccumulatedLatency"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1832_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24177LU) -); -} - -/* State - ns=0;i=24176 */ - -static UA_StatusCode function_namespace0_generated_1833_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24220LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24176LU), -UA_NODEID_NUMERIC(ns[0], 24173LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1833_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24176LU) -); -} - -/* StreamName - ns=0;i=24175 */ - -static UA_StatusCode function_namespace0_generated_1834_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StreamName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24175LU), -UA_NODEID_NUMERIC(ns[0], 24173LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StreamName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1834_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24175LU) -); -} - -/* StreamId - ns=0;i=24174 */ - -static UA_StatusCode function_namespace0_generated_1835_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 8; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StreamId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24174LU), -UA_NODEID_NUMERIC(ns[0], 24173LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StreamId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1835_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24174LU) -); -} - -/* ISrClassType - ns=0;i=24169 */ - -static UA_StatusCode function_namespace0_generated_1836_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ISrClassType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24169LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ISrClassType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1836_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24169LU) -); -} - -/* Vid - ns=0;i=24172 */ - -static UA_StatusCode function_namespace0_generated_1837_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Vid"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24172LU), -UA_NODEID_NUMERIC(ns[0], 24169LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Vid"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1837_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24172LU) -); -} - -/* Priority - ns=0;i=24171 */ - -static UA_StatusCode function_namespace0_generated_1838_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24171LU), -UA_NODEID_NUMERIC(ns[0], 24169LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Priority"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1838_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24171LU) -); -} - -/* Id - ns=0;i=24170 */ - -static UA_StatusCode function_namespace0_generated_1839_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24170LU), -UA_NODEID_NUMERIC(ns[0], 24169LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1839_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24170LU) -); -} - -/* IBaseEthernetCapabilitiesType - ns=0;i=24167 */ - -static UA_StatusCode function_namespace0_generated_1840_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IBaseEthernetCapabilitiesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24167LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IBaseEthernetCapabilitiesType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1840_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24167LU) -); -} - -/* VlanTagCapable - ns=0;i=24168 */ - -static UA_StatusCode function_namespace0_generated_1841_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "VlanTagCapable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24168LU), -UA_NODEID_NUMERIC(ns[0], 24167LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "VlanTagCapable"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1841_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24168LU) -); -} - -/* IIeeeBaseEthernetPortType - ns=0;i=24158 */ - -static UA_StatusCode function_namespace0_generated_1842_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIeeeBaseEthernetPortType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24158LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIeeeBaseEthernetPortType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1842_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24158LU) -); -} - -/* MaxFrameLength - ns=0;i=24166 */ - -static UA_StatusCode function_namespace0_generated_1843_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFrameLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24166LU), -UA_NODEID_NUMERIC(ns[0], 24158LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxFrameLength"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1843_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24166LU) -); -} - -/* Duplex - ns=0;i=24165 */ - -static UA_StatusCode function_namespace0_generated_1844_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24210LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Duplex"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24165LU), -UA_NODEID_NUMERIC(ns[0], 24158LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Duplex"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1844_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24165LU) -); -} - -/* Speed - ns=0;i=24159 */ - -static UA_StatusCode function_namespace0_generated_1845_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Speed"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24159LU), -UA_NODEID_NUMERIC(ns[0], 24158LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Speed"), -UA_NODEID_NUMERIC(ns[0], 17497LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1845_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24159LU) -); -} - -/* EngineeringUnits - ns=0;i=24164 */ - -static UA_StatusCode function_namespace0_generated_1846_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); - -UA_STACKARRAY(UA_EUInformation, variablenode_ns_0_i_24164_EUInformation_0, 1); -UA_init(variablenode_ns_0_i_24164_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); -variablenode_ns_0_i_24164_EUInformation_0->namespaceUri = UA_STRING("http://www.opcfoundation.org/UA/units/un/cefact"); -variablenode_ns_0_i_24164_EUInformation_0->unitId = (UA_Int32) 4534832; -variablenode_ns_0_i_24164_EUInformation_0->displayName = UA_LOCALIZEDTEXT("en", "Mbit/s"); -variablenode_ns_0_i_24164_EUInformation_0->description = UA_LOCALIZEDTEXT("en", "megabit per second"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24164_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24164LU), -UA_NODEID_NUMERIC(ns[0], 24159LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1846_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24164LU) -); -} - -/* IIetfBaseNetworkInterfaceType - ns=0;i=24148 */ - -static UA_StatusCode function_namespace0_generated_1847_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IIetfBaseNetworkInterfaceType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 24148LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IIetfBaseNetworkInterfaceType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24148LU), UA_NODEID_NUMERIC(ns[0], 17603LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25221LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24148LU), UA_NODEID_NUMERIC(ns[0], 17603LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25226LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1847_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24148LU) -); -} - -/* Speed - ns=0;i=24152 */ - -static UA_StatusCode function_namespace0_generated_1848_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Speed"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24152LU), -UA_NODEID_NUMERIC(ns[0], 24148LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Speed"), -UA_NODEID_NUMERIC(ns[0], 17497LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1848_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24152LU) -); -} - -/* EngineeringUnits - ns=0;i=24157 */ - -static UA_StatusCode function_namespace0_generated_1849_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); - -UA_STACKARRAY(UA_EUInformation, variablenode_ns_0_i_24157_EUInformation_0, 1); -UA_init(variablenode_ns_0_i_24157_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); -variablenode_ns_0_i_24157_EUInformation_0->namespaceUri = UA_STRING("http://www.opcfoundation.org/UA/units/un/cefact"); -variablenode_ns_0_i_24157_EUInformation_0->unitId = (UA_Int32) 4337968; -variablenode_ns_0_i_24157_EUInformation_0->displayName = UA_LOCALIZEDTEXT("en", "bit/s"); -variablenode_ns_0_i_24157_EUInformation_0->description = UA_LOCALIZEDTEXT("en", "bit per second"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24157_EUInformation_0, &UA_TYPES[UA_TYPES_EUINFORMATION]); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24157LU), -UA_NODEID_NUMERIC(ns[0], 24152LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1849_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24157LU) -); -} - -/* PhysAddress - ns=0;i=24151 */ - -static UA_StatusCode function_namespace0_generated_1850_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PhysAddress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24151LU), -UA_NODEID_NUMERIC(ns[0], 24148LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PhysAddress"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1850_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24151LU) -); -} - -/* OperStatus - ns=0;i=24150 */ - -static UA_StatusCode function_namespace0_generated_1851_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24214LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24150LU), -UA_NODEID_NUMERIC(ns[0], 24148LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1851_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24150LU) -); -} - -/* AdminStatus - ns=0;i=24149 */ - -static UA_StatusCode function_namespace0_generated_1852_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24212LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AdminStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24149LU), -UA_NODEID_NUMERIC(ns[0], 24148LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AdminStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1852_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24149LU) -); -} - -/* IOrderedObjectType - ns=0;i=23513 */ - -static UA_StatusCode function_namespace0_generated_1853_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "IOrderedObjectType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23513LU), -UA_NODEID_NUMERIC(ns[0], 17602LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IOrderedObjectType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23513LU), UA_NODEID_NUMERIC(ns[0], 17603LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1853_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23513LU) -); -} - -/* NumberInList - ns=0;i=23517 */ - -static UA_StatusCode function_namespace0_generated_1854_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 26LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NumberInList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23517LU), -UA_NODEID_NUMERIC(ns[0], 23513LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NumberInList"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1854_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23517LU) -); -} - -/* DictionaryFolderType - ns=0;i=17591 */ - -static UA_StatusCode function_namespace0_generated_1855_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DictionaryFolderType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17591LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DictionaryFolderType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1855_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17591LU) -); -} - -/* - ns=0;i=17592 */ - -static UA_StatusCode function_namespace0_generated_1856_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17592LU), -UA_NODEID_NUMERIC(ns[0], 17591LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 17591LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1856_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17592LU) -); -} - -/* DictionaryEntryType - ns=0;i=17589 */ - -static UA_StatusCode function_namespace0_generated_1857_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DictionaryEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17589LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DictionaryEntryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1857_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17589LU) -); -} - -/* UriDictionaryEntryType - ns=0;i=17600 */ - -static UA_StatusCode function_namespace0_generated_1858_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UriDictionaryEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17600LU), -UA_NODEID_NUMERIC(ns[0], 17589LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "UriDictionaryEntryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1858_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17600LU) -); -} - -/* IrdiDictionaryEntryType - ns=0;i=17598 */ - -static UA_StatusCode function_namespace0_generated_1859_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IrdiDictionaryEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17598LU), -UA_NODEID_NUMERIC(ns[0], 17589LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "IrdiDictionaryEntryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1859_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17598LU) -); -} - -/* - ns=0;i=17593 */ - -static UA_StatusCode function_namespace0_generated_1860_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17593LU), -UA_NODEID_NUMERIC(ns[0], 17591LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 17589LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1860_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17593LU) -); -} - -/* - ns=0;i=17590 */ - -static UA_StatusCode function_namespace0_generated_1861_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17590LU), -UA_NODEID_NUMERIC(ns[0], 17589LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 17589LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1861_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17590LU) -); -} - -/* RoleType - ns=0;i=15620 */ - -static UA_StatusCode function_namespace0_generated_1862_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RoleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RoleType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1862_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15620LU) -); -} - -/* CustomConfiguration - ns=0;i=24139 */ - -static UA_StatusCode function_namespace0_generated_1863_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24139LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1863_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24139LU) -); -} - -/* RemoveEndpoint - ns=0;i=16182 */ - -static UA_StatusCode function_namespace0_generated_1864_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16182LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1864_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16182LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16183 */ - -static UA_StatusCode function_namespace0_generated_1865_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16183_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16183_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16183_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16183_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16183_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16183_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16183LU), -UA_NODEID_NUMERIC(ns[0], 16182LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1865_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16183LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16180 */ - -static UA_StatusCode function_namespace0_generated_1866_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16180LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1866_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16180LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16181 */ - -static UA_StatusCode function_namespace0_generated_1867_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16181_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16181_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16181_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16181_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16181_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16181_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16181LU), -UA_NODEID_NUMERIC(ns[0], 16180LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1867_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16181LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16178 */ - -static UA_StatusCode function_namespace0_generated_1868_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16178LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1868_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16178LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16179 */ - -static UA_StatusCode function_namespace0_generated_1869_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16179_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16179_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16179_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16179_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16179_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16179_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16179LU), -UA_NODEID_NUMERIC(ns[0], 16178LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1869_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16179LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16176 */ - -static UA_StatusCode function_namespace0_generated_1870_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16176LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1870_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16176LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16177 */ - -static UA_StatusCode function_namespace0_generated_1871_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16177_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16177_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16177_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16177_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16177_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16177_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16177LU), -UA_NODEID_NUMERIC(ns[0], 16176LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1871_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16177LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16175 */ - -static UA_StatusCode function_namespace0_generated_1872_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16175LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1872_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16175LU) -); -} - -/* Applications - ns=0;i=16174 */ - -static UA_StatusCode function_namespace0_generated_1873_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16174LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1873_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16174LU) -); -} - -/* Identities - ns=0;i=16173 */ - -static UA_StatusCode function_namespace0_generated_1874_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16173LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1874_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16173LU) -); -} - -/* RemoveIdentity - ns=0;i=15626 */ - -static UA_StatusCode function_namespace0_generated_1875_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15626LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1875_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15626LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15627 */ - -static UA_StatusCode function_namespace0_generated_1876_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15627_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15627_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15627_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15627_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15627_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15627_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15627LU), -UA_NODEID_NUMERIC(ns[0], 15626LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1876_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15627LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15624 */ - -static UA_StatusCode function_namespace0_generated_1877_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15624LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1877_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15624LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15625 */ - -static UA_StatusCode function_namespace0_generated_1878_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15625_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15625_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15625_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15625_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15625_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15625_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15625LU), -UA_NODEID_NUMERIC(ns[0], 15624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1878_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15625LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15411 */ - -static UA_StatusCode function_namespace0_generated_1879_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15411LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1879_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15411LU) -); -} - -/* ApplicationsExclude - ns=0;i=15410 */ - -static UA_StatusCode function_namespace0_generated_1880_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15410LU), -UA_NODEID_NUMERIC(ns[0], 15620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1880_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15410LU) -); -} - -/* RoleSetType - ns=0;i=15607 */ - -static UA_StatusCode function_namespace0_generated_1881_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RoleSetType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15607LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RoleSetType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1881_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15607LU) -); -} - -/* RemoveRole - ns=0;i=16000 */ - -static UA_StatusCode function_namespace0_generated_1882_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveRole"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16000LU), -UA_NODEID_NUMERIC(ns[0], 15607LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveRole"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1882_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16000LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16001 */ - -static UA_StatusCode function_namespace0_generated_1883_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16001_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16001_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16001_variant_DataContents[0].name = UA_STRING("RoleNodeId"); -variablenode_ns_0_i_16001_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16001_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16001_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16001LU), -UA_NODEID_NUMERIC(ns[0], 16000LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1883_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16001LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddRole - ns=0;i=15997 */ - -static UA_StatusCode function_namespace0_generated_1884_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddRole"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15997LU), -UA_NODEID_NUMERIC(ns[0], 15607LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddRole"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1884_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15997LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15999 */ - -static UA_StatusCode function_namespace0_generated_1885_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15999_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15999_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15999_variant_DataContents[0].name = UA_STRING("RoleNodeId"); -variablenode_ns_0_i_15999_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15999_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15999_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15999LU), -UA_NODEID_NUMERIC(ns[0], 15997LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1885_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15999LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15998 */ - -static UA_StatusCode function_namespace0_generated_1886_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15998_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15998_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15998_variant_DataContents[0].name = UA_STRING("RoleName"); -variablenode_ns_0_i_15998_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15998_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15998_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15998_variant_DataContents[1].name = UA_STRING("NamespaceUri"); -variablenode_ns_0_i_15998_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15998_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15998_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15998LU), -UA_NODEID_NUMERIC(ns[0], 15997LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1886_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15998LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=15608 */ - -static UA_StatusCode function_namespace0_generated_1887_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15608LU), -UA_NODEID_NUMERIC(ns[0], 15607LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1887_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15608LU) -); -} - -/* Identities - ns=0;i=16162 */ - -static UA_StatusCode function_namespace0_generated_1888_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16162LU), -UA_NODEID_NUMERIC(ns[0], 15608LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1888_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16162LU) -); -} - -/* TemporaryFileTransferType - ns=0;i=15744 */ - -static UA_StatusCode function_namespace0_generated_1889_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TemporaryFileTransferType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15744LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TemporaryFileTransferType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1889_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15744LU) -); -} - -/* CloseAndCommit - ns=0;i=15751 */ - -static UA_StatusCode function_namespace0_generated_1890_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndCommit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15751LU), -UA_NODEID_NUMERIC(ns[0], 15744LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndCommit"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1890_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15751LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15753 */ - -static UA_StatusCode function_namespace0_generated_1891_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15753_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15753_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15753_variant_DataContents[0].name = UA_STRING("CompletionStateMachine"); -variablenode_ns_0_i_15753_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15753_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15753_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15753LU), -UA_NODEID_NUMERIC(ns[0], 15751LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1891_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15753LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15752 */ - -static UA_StatusCode function_namespace0_generated_1892_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15752_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15752_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15752_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_15752_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15752_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15752_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15752LU), -UA_NODEID_NUMERIC(ns[0], 15751LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1892_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15752LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GenerateFileForWrite - ns=0;i=15749 */ - -static UA_StatusCode function_namespace0_generated_1893_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GenerateFileForWrite"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15749LU), -UA_NODEID_NUMERIC(ns[0], 15744LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GenerateFileForWrite"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1893_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15749LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16359 */ - -static UA_StatusCode function_namespace0_generated_1894_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16359_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16359_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16359_variant_DataContents[0].name = UA_STRING("GenerateOptions"); -variablenode_ns_0_i_16359_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_16359_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16359_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16359LU), -UA_NODEID_NUMERIC(ns[0], 15749LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1894_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16359LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15750 */ - -static UA_StatusCode function_namespace0_generated_1895_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15750_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15750_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15750_variant_DataContents[0].name = UA_STRING("FileNodeId"); -variablenode_ns_0_i_15750_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15750_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15750_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15750_variant_DataContents[1].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_15750_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15750_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15750_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15750LU), -UA_NODEID_NUMERIC(ns[0], 15749LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1895_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15750LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GenerateFileForRead - ns=0;i=15746 */ - -static UA_StatusCode function_namespace0_generated_1896_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GenerateFileForRead"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15746LU), -UA_NODEID_NUMERIC(ns[0], 15744LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GenerateFileForRead"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1896_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15746LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15748 */ - -static UA_StatusCode function_namespace0_generated_1897_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15748_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_15748_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15748_variant_DataContents[0].name = UA_STRING("FileNodeId"); -variablenode_ns_0_i_15748_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15748_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15748_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15748_variant_DataContents[1].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_15748_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15748_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15748_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15748_variant_DataContents[2].name = UA_STRING("CompletionStateMachine"); -variablenode_ns_0_i_15748_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15748_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15748_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15748LU), -UA_NODEID_NUMERIC(ns[0], 15746LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1897_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15748LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15747 */ - -static UA_StatusCode function_namespace0_generated_1898_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15747_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15747_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15747_variant_DataContents[0].name = UA_STRING("GenerateOptions"); -variablenode_ns_0_i_15747_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_15747_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15747_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15747LU), -UA_NODEID_NUMERIC(ns[0], 15746LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1898_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15747LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ClientProcessingTimeout - ns=0;i=15745 */ - -static UA_StatusCode function_namespace0_generated_1899_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientProcessingTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15745LU), -UA_NODEID_NUMERIC(ns[0], 15744LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientProcessingTimeout"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1899_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15745LU) -); -} - -/* FileDirectoryType - ns=0;i=13353 */ - -static UA_StatusCode function_namespace0_generated_1900_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FileDirectoryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FileDirectoryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1900_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13353LU) -); -} - -/* FileSystem - ns=0;i=16314 */ - -static UA_StatusCode function_namespace0_generated_1901_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FileSystem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16314LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "FileSystem"), -UA_NODEID_NUMERIC(ns[0], 13353LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1901_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16314LU) -); -} - -/* MoveOrCopy - ns=0;i=16356 */ - -static UA_StatusCode function_namespace0_generated_1902_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "MoveOrCopy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16356LU), -UA_NODEID_NUMERIC(ns[0], 16314LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MoveOrCopy"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1902_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16356LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16358 */ - -static UA_StatusCode function_namespace0_generated_1903_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16358_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16358_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16358_variant_DataContents[0].name = UA_STRING("NewNodeId"); -variablenode_ns_0_i_16358_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16358_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16358_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16358LU), -UA_NODEID_NUMERIC(ns[0], 16356LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1903_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16358LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16357 */ - -static UA_StatusCode function_namespace0_generated_1904_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16357_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_16357_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16357_variant_DataContents[0].name = UA_STRING("ObjectToMoveOrCopy"); -variablenode_ns_0_i_16357_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16357_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16357_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16357_variant_DataContents[1].name = UA_STRING("TargetDirectory"); -variablenode_ns_0_i_16357_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16357_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16357_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16357_variant_DataContents[2].name = UA_STRING("CreateCopy"); -variablenode_ns_0_i_16357_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_16357_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16357_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16357_variant_DataContents[3].name = UA_STRING("NewName"); -variablenode_ns_0_i_16357_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16357_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16357_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16357LU), -UA_NODEID_NUMERIC(ns[0], 16356LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1904_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16357LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Delete - ns=0;i=16354 */ - -static UA_StatusCode function_namespace0_generated_1905_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Delete"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16354LU), -UA_NODEID_NUMERIC(ns[0], 16314LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Delete"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1905_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16354LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16355 */ - -static UA_StatusCode function_namespace0_generated_1906_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16355_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16355_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16355_variant_DataContents[0].name = UA_STRING("ObjectToDelete"); -variablenode_ns_0_i_16355_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16355_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16355_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16355LU), -UA_NODEID_NUMERIC(ns[0], 16354LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1906_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16355LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateFile - ns=0;i=16351 */ - -static UA_StatusCode function_namespace0_generated_1907_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateFile"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16351LU), -UA_NODEID_NUMERIC(ns[0], 16314LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateFile"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1907_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16351LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16353 */ - -static UA_StatusCode function_namespace0_generated_1908_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16353_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16353_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16353_variant_DataContents[0].name = UA_STRING("FileNodeId"); -variablenode_ns_0_i_16353_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16353_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16353_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16353_variant_DataContents[1].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_16353_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_16353_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16353_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16353LU), -UA_NODEID_NUMERIC(ns[0], 16351LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1908_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16353LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16352 */ - -static UA_StatusCode function_namespace0_generated_1909_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16352_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16352_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16352_variant_DataContents[0].name = UA_STRING("FileName"); -variablenode_ns_0_i_16352_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16352_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16352_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16352_variant_DataContents[1].name = UA_STRING("RequestFileOpen"); -variablenode_ns_0_i_16352_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_16352_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16352_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16352LU), -UA_NODEID_NUMERIC(ns[0], 16351LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1909_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16352LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateDirectory - ns=0;i=16348 */ - -static UA_StatusCode function_namespace0_generated_1910_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateDirectory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16348LU), -UA_NODEID_NUMERIC(ns[0], 16314LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateDirectory"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1910_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16348LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16350 */ - -static UA_StatusCode function_namespace0_generated_1911_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16350_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16350_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16350_variant_DataContents[0].name = UA_STRING("DirectoryNodeId"); -variablenode_ns_0_i_16350_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16350_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16350_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16350LU), -UA_NODEID_NUMERIC(ns[0], 16348LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1911_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16350LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16349 */ - -static UA_StatusCode function_namespace0_generated_1912_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16349_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16349_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16349_variant_DataContents[0].name = UA_STRING("DirectoryName"); -variablenode_ns_0_i_16349_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16349_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16349_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16349LU), -UA_NODEID_NUMERIC(ns[0], 16348LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1912_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16349LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* MoveOrCopy - ns=0;i=13395 */ - -static UA_StatusCode function_namespace0_generated_1913_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "MoveOrCopy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13395LU), -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MoveOrCopy"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1913_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13395LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13397 */ - -static UA_StatusCode function_namespace0_generated_1914_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13397_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13397_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13397_variant_DataContents[0].name = UA_STRING("NewNodeId"); -variablenode_ns_0_i_13397_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13397_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13397_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13397LU), -UA_NODEID_NUMERIC(ns[0], 13395LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1914_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13397LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13396 */ - -static UA_StatusCode function_namespace0_generated_1915_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13396_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_13396_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13396_variant_DataContents[0].name = UA_STRING("ObjectToMoveOrCopy"); -variablenode_ns_0_i_13396_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13396_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13396_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13396_variant_DataContents[1].name = UA_STRING("TargetDirectory"); -variablenode_ns_0_i_13396_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13396_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13396_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13396_variant_DataContents[2].name = UA_STRING("CreateCopy"); -variablenode_ns_0_i_13396_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13396_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13396_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13396_variant_DataContents[3].name = UA_STRING("NewName"); -variablenode_ns_0_i_13396_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13396_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13396_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13396LU), -UA_NODEID_NUMERIC(ns[0], 13395LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1915_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13396LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Delete - ns=0;i=13393 */ - -static UA_StatusCode function_namespace0_generated_1916_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Delete"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13393LU), -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Delete"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1916_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13393LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13394 */ - -static UA_StatusCode function_namespace0_generated_1917_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13394_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13394_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13394_variant_DataContents[0].name = UA_STRING("ObjectToDelete"); -variablenode_ns_0_i_13394_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13394_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13394_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13394LU), -UA_NODEID_NUMERIC(ns[0], 13393LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1917_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13394LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateFile - ns=0;i=13390 */ - -static UA_StatusCode function_namespace0_generated_1918_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateFile"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13390LU), -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateFile"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1918_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13390LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13392 */ - -static UA_StatusCode function_namespace0_generated_1919_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13392_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13392_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13392_variant_DataContents[0].name = UA_STRING("FileNodeId"); -variablenode_ns_0_i_13392_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13392_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13392_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13392_variant_DataContents[1].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13392_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13392_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13392_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13392LU), -UA_NODEID_NUMERIC(ns[0], 13390LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1919_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13392LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13391 */ - -static UA_StatusCode function_namespace0_generated_1920_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13391_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13391_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13391_variant_DataContents[0].name = UA_STRING("FileName"); -variablenode_ns_0_i_13391_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13391_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13391_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13391_variant_DataContents[1].name = UA_STRING("RequestFileOpen"); -variablenode_ns_0_i_13391_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13391_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13391_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13391LU), -UA_NODEID_NUMERIC(ns[0], 13390LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1920_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13391LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateDirectory - ns=0;i=13387 */ - -static UA_StatusCode function_namespace0_generated_1921_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateDirectory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13387LU), -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateDirectory"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1921_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13387LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13389 */ - -static UA_StatusCode function_namespace0_generated_1922_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13389_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13389_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13389_variant_DataContents[0].name = UA_STRING("DirectoryNodeId"); -variablenode_ns_0_i_13389_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13389_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13389_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13389LU), -UA_NODEID_NUMERIC(ns[0], 13387LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1922_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13389LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13388 */ - -static UA_StatusCode function_namespace0_generated_1923_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13388_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13388_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13388_variant_DataContents[0].name = UA_STRING("DirectoryName"); -variablenode_ns_0_i_13388_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13388_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13388_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13388LU), -UA_NODEID_NUMERIC(ns[0], 13387LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1923_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13388LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* - ns=0;i=13354 */ - -static UA_StatusCode function_namespace0_generated_1924_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13354LU), -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 13353LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1924_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13354LU) -); -} - -/* Delete - ns=0;i=17718 */ - -static UA_StatusCode function_namespace0_generated_1925_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Delete"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17718LU), -UA_NODEID_NUMERIC(ns[0], 13354LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Delete"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1925_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17718LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17719 */ - -static UA_StatusCode function_namespace0_generated_1926_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17719_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17719_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17719_variant_DataContents[0].name = UA_STRING("ObjectToDelete"); -variablenode_ns_0_i_17719_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17719_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17719_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17719LU), -UA_NODEID_NUMERIC(ns[0], 17718LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1926_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17719LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* MoveOrCopy - ns=0;i=13363 */ - -static UA_StatusCode function_namespace0_generated_1927_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "MoveOrCopy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13363LU), -UA_NODEID_NUMERIC(ns[0], 13354LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MoveOrCopy"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1927_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13363LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13365 */ - -static UA_StatusCode function_namespace0_generated_1928_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13365_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13365_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13365_variant_DataContents[0].name = UA_STRING("NewNodeId"); -variablenode_ns_0_i_13365_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13365_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13365_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13365LU), -UA_NODEID_NUMERIC(ns[0], 13363LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1928_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13365LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13364 */ - -static UA_StatusCode function_namespace0_generated_1929_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13364_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_13364_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13364_variant_DataContents[0].name = UA_STRING("ObjectToMoveOrCopy"); -variablenode_ns_0_i_13364_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13364_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13364_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13364_variant_DataContents[1].name = UA_STRING("TargetDirectory"); -variablenode_ns_0_i_13364_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13364_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13364_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13364_variant_DataContents[2].name = UA_STRING("CreateCopy"); -variablenode_ns_0_i_13364_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13364_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13364_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13364_variant_DataContents[3].name = UA_STRING("NewName"); -variablenode_ns_0_i_13364_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13364_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13364_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13364LU), -UA_NODEID_NUMERIC(ns[0], 13363LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1929_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13364LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateFile - ns=0;i=13358 */ - -static UA_StatusCode function_namespace0_generated_1930_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateFile"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13358LU), -UA_NODEID_NUMERIC(ns[0], 13354LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateFile"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1930_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13358LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13360 */ - -static UA_StatusCode function_namespace0_generated_1931_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13360_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13360_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13360_variant_DataContents[0].name = UA_STRING("FileNodeId"); -variablenode_ns_0_i_13360_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13360_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13360_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13360_variant_DataContents[1].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13360_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13360_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13360_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13360LU), -UA_NODEID_NUMERIC(ns[0], 13358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1931_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13360LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13359 */ - -static UA_StatusCode function_namespace0_generated_1932_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13359_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13359_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13359_variant_DataContents[0].name = UA_STRING("FileName"); -variablenode_ns_0_i_13359_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13359_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13359_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13359_variant_DataContents[1].name = UA_STRING("RequestFileOpen"); -variablenode_ns_0_i_13359_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13359_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13359_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13359LU), -UA_NODEID_NUMERIC(ns[0], 13358LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1932_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13359LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateDirectory - ns=0;i=13355 */ - -static UA_StatusCode function_namespace0_generated_1933_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateDirectory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13355LU), -UA_NODEID_NUMERIC(ns[0], 13354LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateDirectory"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1933_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13355LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13357 */ - -static UA_StatusCode function_namespace0_generated_1934_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13357_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13357_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13357_variant_DataContents[0].name = UA_STRING("DirectoryNodeId"); -variablenode_ns_0_i_13357_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13357_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13357_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13357LU), -UA_NODEID_NUMERIC(ns[0], 13355LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1934_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13357LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13356 */ - -static UA_StatusCode function_namespace0_generated_1935_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13356_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13356_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13356_variant_DataContents[0].name = UA_STRING("DirectoryName"); -variablenode_ns_0_i_13356_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13356_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13356_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13356LU), -UA_NODEID_NUMERIC(ns[0], 13355LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_1935_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13356LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TransitionEventType - ns=0;i=2311 */ - -static UA_StatusCode function_namespace0_generated_1936_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2311LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransitionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1936_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2311LU) -); -} - -/* ProgramTransitionEventType - ns=0;i=2378 */ - -static UA_StatusCode function_namespace0_generated_1937_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramTransitionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2378LU), -UA_NODEID_NUMERIC(ns[0], 2311LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramTransitionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1937_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2378LU) -); -} - -/* IntermediateResult - ns=0;i=2379 */ - -static UA_StatusCode function_namespace0_generated_1938_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IntermediateResult"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2379LU), -UA_NODEID_NUMERIC(ns[0], 2378LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IntermediateResult"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1938_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2379LU) -); -} - -/* FrameType - ns=0;i=18786 */ - -static UA_StatusCode function_namespace0_generated_1939_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18813LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FrameType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FrameType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1939_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18786LU) -); -} - -/* 3DFrameType - ns=0;i=18791 */ - -static UA_StatusCode function_namespace0_generated_1940_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18814LU); -attr.displayName = UA_LOCALIZEDTEXT("", "3DFrameType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 18791LU), -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DFrameType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1940_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18791LU) -); -} - -/* FixedBase - ns=0;i=18790 */ - -static UA_StatusCode function_namespace0_generated_1941_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FixedBase"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18790LU), -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FixedBase"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1941_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18790LU) -); -} - -/* BaseFrame - ns=0;i=18789 */ - -static UA_StatusCode function_namespace0_generated_1942_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BaseFrame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18789LU), -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BaseFrame"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1942_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18789LU) -); -} - -/* Constant - ns=0;i=18788 */ - -static UA_StatusCode function_namespace0_generated_1943_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Constant"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18788LU), -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Constant"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1943_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18788LU) -); -} - -/* OrientationType - ns=0;i=18779 */ - -static UA_StatusCode function_namespace0_generated_1944_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18811LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OrientationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 18779LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OrientationType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1944_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18779LU) -); -} - -/* Orientation - ns=0;i=18787 */ - -static UA_StatusCode function_namespace0_generated_1945_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18811LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18787LU), -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Orientation"), -UA_NODEID_NUMERIC(ns[0], 18779LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1945_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18787LU) -); -} - -/* 3DOrientationType - ns=0;i=18781 */ - -static UA_StatusCode function_namespace0_generated_1946_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18812LU); -attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 18781LU), -UA_NODEID_NUMERIC(ns[0], 18779LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DOrientationType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1946_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18781LU) -); -} - -/* Orientation - ns=0;i=18792 */ - -static UA_StatusCode function_namespace0_generated_1947_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18812LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18792LU), -UA_NODEID_NUMERIC(ns[0], 18791LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Orientation"), -UA_NODEID_NUMERIC(ns[0], 18781LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1947_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18792LU) -); -} - -/* C - ns=0;i=19076 */ - -static UA_StatusCode function_namespace0_generated_1948_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "C"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19076LU), -UA_NODEID_NUMERIC(ns[0], 18792LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "C"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1948_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19076LU) -); -} - -/* B - ns=0;i=19075 */ - -static UA_StatusCode function_namespace0_generated_1949_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "B"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19075LU), -UA_NODEID_NUMERIC(ns[0], 18792LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "B"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1949_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19075LU) -); -} - -/* A - ns=0;i=19074 */ - -static UA_StatusCode function_namespace0_generated_1950_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "A"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19074LU), -UA_NODEID_NUMERIC(ns[0], 18792LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "A"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1950_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19074LU) -); -} - -/* C - ns=0;i=18785 */ - -static UA_StatusCode function_namespace0_generated_1951_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "C"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18785LU), -UA_NODEID_NUMERIC(ns[0], 18781LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "C"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1951_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18785LU) -); -} - -/* B - ns=0;i=18784 */ - -static UA_StatusCode function_namespace0_generated_1952_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "B"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18784LU), -UA_NODEID_NUMERIC(ns[0], 18781LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "B"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1952_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18784LU) -); -} - -/* A - ns=0;i=18783 */ - -static UA_StatusCode function_namespace0_generated_1953_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "A"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18783LU), -UA_NODEID_NUMERIC(ns[0], 18781LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "A"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1953_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18783LU) -); -} - -/* AngleUnit - ns=0;i=18780 */ - -static UA_StatusCode function_namespace0_generated_1954_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AngleUnit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18780LU), -UA_NODEID_NUMERIC(ns[0], 18779LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AngleUnit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1954_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18780LU) -); -} - -/* CartesianCoordinatesType - ns=0;i=18772 */ - -static UA_StatusCode function_namespace0_generated_1955_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18809LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinatesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 18772LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CartesianCoordinatesType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1955_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18772LU) -); -} - -/* CartesianCoordinates - ns=0;i=18801 */ - -static UA_StatusCode function_namespace0_generated_1956_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18809LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18801LU), -UA_NODEID_NUMERIC(ns[0], 18786LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), -UA_NODEID_NUMERIC(ns[0], 18772LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1956_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18801LU) -); -} - -/* 3DCartesianCoordinatesType - ns=0;i=18774 */ - -static UA_StatusCode function_namespace0_generated_1957_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18810LU); -attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinatesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 18774LU), -UA_NODEID_NUMERIC(ns[0], 18772LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinatesType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1957_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18774LU) -); -} - -/* CartesianCoordinates - ns=0;i=18796 */ - -static UA_StatusCode function_namespace0_generated_1958_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18810LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18796LU), -UA_NODEID_NUMERIC(ns[0], 18791LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), -UA_NODEID_NUMERIC(ns[0], 18774LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1958_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18796LU) -); -} - -/* Z - ns=0;i=18800 */ - -static UA_StatusCode function_namespace0_generated_1959_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Z"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18800LU), -UA_NODEID_NUMERIC(ns[0], 18796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Z"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1959_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18800LU) -); -} - -/* Y - ns=0;i=18799 */ - -static UA_StatusCode function_namespace0_generated_1960_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Y"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18799LU), -UA_NODEID_NUMERIC(ns[0], 18796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Y"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1960_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18799LU) -); -} - -/* X - ns=0;i=18798 */ - -static UA_StatusCode function_namespace0_generated_1961_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "X"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18798LU), -UA_NODEID_NUMERIC(ns[0], 18796LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "X"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1961_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18798LU) -); -} - -/* Z - ns=0;i=18778 */ - -static UA_StatusCode function_namespace0_generated_1962_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Z"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18778LU), -UA_NODEID_NUMERIC(ns[0], 18774LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Z"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1962_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18778LU) -); -} - -/* Y - ns=0;i=18777 */ - -static UA_StatusCode function_namespace0_generated_1963_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Y"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18777LU), -UA_NODEID_NUMERIC(ns[0], 18774LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Y"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1963_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18777LU) -); -} - -/* X - ns=0;i=18776 */ - -static UA_StatusCode function_namespace0_generated_1964_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "X"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18776LU), -UA_NODEID_NUMERIC(ns[0], 18774LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "X"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1964_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18776LU) -); -} - -/* LengthUnit - ns=0;i=18773 */ - -static UA_StatusCode function_namespace0_generated_1965_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LengthUnit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18773LU), -UA_NODEID_NUMERIC(ns[0], 18772LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LengthUnit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1965_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18773LU) -); -} - -/* VectorType - ns=0;i=17714 */ - -static UA_StatusCode function_namespace0_generated_1966_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18807LU); -attr.displayName = UA_LOCALIZEDTEXT("", "VectorType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17714LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "VectorType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1966_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17714LU) -); -} - -/* 3DVectorType - ns=0;i=17716 */ - -static UA_StatusCode function_namespace0_generated_1967_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18808LU); -attr.displayName = UA_LOCALIZEDTEXT("", "3DVectorType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17716LU), -UA_NODEID_NUMERIC(ns[0], 17714LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "3DVectorType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1967_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17716LU) -); -} - -/* Z - ns=0;i=18771 */ - -static UA_StatusCode function_namespace0_generated_1968_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Z"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18771LU), -UA_NODEID_NUMERIC(ns[0], 17716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Z"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1968_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18771LU) -); -} - -/* Y - ns=0;i=18770 */ - -static UA_StatusCode function_namespace0_generated_1969_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Y"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18770LU), -UA_NODEID_NUMERIC(ns[0], 17716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Y"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1969_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18770LU) -); -} - -/* X - ns=0;i=18769 */ - -static UA_StatusCode function_namespace0_generated_1970_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11LU); -attr.displayName = UA_LOCALIZEDTEXT("", "X"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18769LU), -UA_NODEID_NUMERIC(ns[0], 17716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "X"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1970_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18769LU) -); -} - -/* VectorUnit - ns=0;i=17715 */ - -static UA_StatusCode function_namespace0_generated_1971_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "VectorUnit"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17715LU), -UA_NODEID_NUMERIC(ns[0], 17714LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "VectorUnit"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1971_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17715LU) -); -} - -/* RationalNumberType - ns=0;i=17709 */ - -static UA_StatusCode function_namespace0_generated_1972_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 18806LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17709LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RationalNumberType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1972_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17709LU) -); -} - -/* Denominator - ns=0;i=17713 */ - -static UA_StatusCode function_namespace0_generated_1973_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Denominator"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17713LU), -UA_NODEID_NUMERIC(ns[0], 17709LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Denominator"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1973_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17713LU) -); -} - -/* Numerator - ns=0;i=17712 */ - -static UA_StatusCode function_namespace0_generated_1974_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Numerator"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17712LU), -UA_NODEID_NUMERIC(ns[0], 17709LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Numerator"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1974_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17712LU) -); -} - -/* GuardVariableType - ns=0;i=15113 */ - -static UA_StatusCode function_namespace0_generated_1975_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GuardVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 15113LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "GuardVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1975_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15113LU) -); -} - -/* ElseGuardVariableType - ns=0;i=15317 */ - -static UA_StatusCode function_namespace0_generated_1976_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ElseGuardVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 15317LU), -UA_NODEID_NUMERIC(ns[0], 15113LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ElseGuardVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1976_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15317LU) -); -} - -/* ExpressionGuardVariableType - ns=0;i=15128 */ - -static UA_StatusCode function_namespace0_generated_1977_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ExpressionGuardVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 15128LU), -UA_NODEID_NUMERIC(ns[0], 15113LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExpressionGuardVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1977_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15128LU) -); -} - -/* Expression - ns=0;i=15129 */ - -static UA_StatusCode function_namespace0_generated_1978_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 586LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Expression"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15129LU), -UA_NODEID_NUMERIC(ns[0], 15128LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Expression"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1978_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15129LU) -); -} - -/* TransitionType - ns=0;i=2310 */ - -static UA_StatusCode function_namespace0_generated_1979_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2310LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransitionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1979_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2310LU) -); -} - -/* TransitionNumber - ns=0;i=2312 */ - -static UA_StatusCode function_namespace0_generated_1980_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2312LU), -UA_NODEID_NUMERIC(ns[0], 2310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1980_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2312LU) -); -} - -/* StateType - ns=0;i=2307 */ - -static UA_StatusCode function_namespace0_generated_1981_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2307LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1981_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2307LU) -); -} - -/* InitialStateType - ns=0;i=2309 */ - -static UA_StatusCode function_namespace0_generated_1982_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "InitialStateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2309LU), -UA_NODEID_NUMERIC(ns[0], 2307LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "InitialStateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1982_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2309LU) -); -} - -/* StateNumber - ns=0;i=2308 */ - -static UA_StatusCode function_namespace0_generated_1983_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2308LU), -UA_NODEID_NUMERIC(ns[0], 2307LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1983_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2308LU) -); -} - -/* ChoiceStateType - ns=0;i=15109 */ - -static UA_StatusCode function_namespace0_generated_1984_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ChoiceStateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15109LU), -UA_NODEID_NUMERIC(ns[0], 2307LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ChoiceStateType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1984_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15109LU) -); -} - -/* TransitionVariableType - ns=0;i=2762 */ - -static UA_StatusCode function_namespace0_generated_1985_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransitionVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1985_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2762LU) -); -} - -/* Transition - ns=0;i=2774 */ - -static UA_StatusCode function_namespace0_generated_1986_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Transition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2774LU), -UA_NODEID_NUMERIC(ns[0], 2311LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Transition"), -UA_NODEID_NUMERIC(ns[0], 2762LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1986_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2774LU) -); -} - -/* Id - ns=0;i=3754 */ - -static UA_StatusCode function_namespace0_generated_1987_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3754LU), -UA_NODEID_NUMERIC(ns[0], 2774LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1987_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3754LU) -); -} - -/* FiniteTransitionVariableType - ns=0;i=2767 */ - -static UA_StatusCode function_namespace0_generated_1988_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FiniteTransitionVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2767LU), -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FiniteTransitionVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1988_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2767LU) -); -} - -/* Id - ns=0;i=2768 */ - -static UA_StatusCode function_namespace0_generated_1989_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2768LU), -UA_NODEID_NUMERIC(ns[0], 2767LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1989_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2768LU) -); -} - -/* TransitionTime - ns=0;i=2766 */ - -static UA_StatusCode function_namespace0_generated_1990_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2766LU), -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1990_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2766LU) -); -} - -/* Number - ns=0;i=2765 */ - -static UA_StatusCode function_namespace0_generated_1991_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Number"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2765LU), -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Number"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1991_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2765LU) -); -} - -/* Name - ns=0;i=2764 */ - -static UA_StatusCode function_namespace0_generated_1992_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Name"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2764LU), -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Name"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1992_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2764LU) -); -} - -/* Id - ns=0;i=2763 */ - -static UA_StatusCode function_namespace0_generated_1993_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2763LU), -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1993_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2763LU) -); -} - -/* EffectiveTransitionTime - ns=0;i=11456 */ - -static UA_StatusCode function_namespace0_generated_1994_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11456LU), -UA_NODEID_NUMERIC(ns[0], 2762LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1994_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11456LU) -); -} - -/* StateVariableType - ns=0;i=2755 */ - -static UA_StatusCode function_namespace0_generated_1995_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StateVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1995_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2755LU) -); -} - -/* TwoStateVariableType - ns=0;i=8995 */ - -static UA_StatusCode function_namespace0_generated_1996_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TwoStateVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 8995LU), -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TwoStateVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1996_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8995LU) -); -} - -/* ActiveState - ns=0;i=9963 */ - -static UA_StatusCode function_namespace0_generated_1997_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9963LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActiveState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1997_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9963LU) -); -} - -/* Id - ns=0;i=9964 */ - -static UA_StatusCode function_namespace0_generated_1998_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9964LU), -UA_NODEID_NUMERIC(ns[0], 9963LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1998_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9964LU) -); -} - -/* ActiveState - ns=0;i=9398 */ - -static UA_StatusCode function_namespace0_generated_1999_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9398LU), -UA_NODEID_NUMERIC(ns[0], 9341LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActiveState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_1999_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9398LU) -); -} - -/* Id - ns=0;i=9399 */ - -static UA_StatusCode function_namespace0_generated_2000_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9399LU), -UA_NODEID_NUMERIC(ns[0], 9398LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2000_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9399LU) -); -} - -/* SuppressedState - ns=0;i=9169 */ - -static UA_StatusCode function_namespace0_generated_2001_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SuppressedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9169LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SuppressedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2001_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9169LU) -); -} - -/* FalseState - ns=0;i=9177 */ - -static UA_StatusCode function_namespace0_generated_2002_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9177_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9177_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9177_variant_DataContents); -*variablenode_ns_0_i_9177_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unsuppressed"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9177_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9177LU), -UA_NODEID_NUMERIC(ns[0], 9169LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9177_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2002_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9177LU) -); -} - -/* TrueState - ns=0;i=9176 */ - -static UA_StatusCode function_namespace0_generated_2003_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9176_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9176_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9176_variant_DataContents); -*variablenode_ns_0_i_9176_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Suppressed"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9176_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9176LU), -UA_NODEID_NUMERIC(ns[0], 9169LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9176_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2003_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9176LU) -); -} - -/* TransitionTime - ns=0;i=9174 */ - -static UA_StatusCode function_namespace0_generated_2004_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9174LU), -UA_NODEID_NUMERIC(ns[0], 9169LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2004_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9174LU) -); -} - -/* Id - ns=0;i=9170 */ - -static UA_StatusCode function_namespace0_generated_2005_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9170LU), -UA_NODEID_NUMERIC(ns[0], 9169LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2005_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9170LU) -); -} - -/* ActiveState - ns=0;i=9160 */ - -static UA_StatusCode function_namespace0_generated_2006_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActiveState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2006_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9160LU) -); -} - -/* FalseState - ns=0;i=9168 */ - -static UA_StatusCode function_namespace0_generated_2007_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9168_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9168_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9168_variant_DataContents); -*variablenode_ns_0_i_9168_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9168_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9168LU), -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9168_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2007_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9168LU) -); -} - -/* TrueState - ns=0;i=9167 */ - -static UA_StatusCode function_namespace0_generated_2008_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9167_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9167_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9167_variant_DataContents); -*variablenode_ns_0_i_9167_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9167_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9167LU), -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9167_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2008_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9167LU) -); -} - -/* EffectiveTransitionTime - ns=0;i=9166 */ - -static UA_StatusCode function_namespace0_generated_2009_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9166LU), -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2009_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9166LU) -); -} - -/* TransitionTime - ns=0;i=9165 */ - -static UA_StatusCode function_namespace0_generated_2010_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9165LU), -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2010_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9165LU) -); -} - -/* EffectiveDisplayName - ns=0;i=9164 */ - -static UA_StatusCode function_namespace0_generated_2011_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveDisplayName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9164LU), -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveDisplayName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2011_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9164LU) -); -} - -/* Id - ns=0;i=9161 */ - -static UA_StatusCode function_namespace0_generated_2012_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9161LU), -UA_NODEID_NUMERIC(ns[0], 9160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2012_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9161LU) -); -} - -/* EnabledState - ns=0;i=9118 */ - -static UA_StatusCode function_namespace0_generated_2013_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9118LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9118LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9160LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9118LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9169LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2013_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9118LU) -); -} - -/* Id - ns=0;i=9119 */ - -static UA_StatusCode function_namespace0_generated_2014_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9119LU), -UA_NODEID_NUMERIC(ns[0], 9118LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2014_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9119LU) -); -} - -/* ConfirmedState - ns=0;i=9102 */ - -static UA_StatusCode function_namespace0_generated_2015_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfirmedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9102LU), -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfirmedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2015_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9102LU) -); -} - -/* FalseState - ns=0;i=9110 */ - -static UA_StatusCode function_namespace0_generated_2016_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9110_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9110_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9110_variant_DataContents); -*variablenode_ns_0_i_9110_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unconfirmed"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9110_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9110LU), -UA_NODEID_NUMERIC(ns[0], 9102LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9110_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2016_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9110LU) -); -} - -/* TrueState - ns=0;i=9109 */ - -static UA_StatusCode function_namespace0_generated_2017_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9109_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9109_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9109_variant_DataContents); -*variablenode_ns_0_i_9109_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Confirmed"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9109_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9109LU), -UA_NODEID_NUMERIC(ns[0], 9102LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9109_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2017_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9109LU) -); -} - -/* TransitionTime - ns=0;i=9107 */ - -static UA_StatusCode function_namespace0_generated_2018_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9107LU), -UA_NODEID_NUMERIC(ns[0], 9102LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2018_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9107LU) -); -} - -/* Id - ns=0;i=9103 */ - -static UA_StatusCode function_namespace0_generated_2019_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9103LU), -UA_NODEID_NUMERIC(ns[0], 9102LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2019_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9103LU) -); -} - -/* AckedState - ns=0;i=9093 */ - -static UA_StatusCode function_namespace0_generated_2020_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9093LU), -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AckedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2020_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9093LU) -); -} - -/* FalseState - ns=0;i=9101 */ - -static UA_StatusCode function_namespace0_generated_2021_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9101_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9101_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9101_variant_DataContents); -*variablenode_ns_0_i_9101_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unacknowledged"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9101_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9101LU), -UA_NODEID_NUMERIC(ns[0], 9093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9101_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2021_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9101LU) -); -} - -/* TrueState - ns=0;i=9100 */ - -static UA_StatusCode function_namespace0_generated_2022_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9100_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9100_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9100_variant_DataContents); -*variablenode_ns_0_i_9100_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Acknowledged"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9100_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9100LU), -UA_NODEID_NUMERIC(ns[0], 9093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9100_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2022_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9100LU) -); -} - -/* TransitionTime - ns=0;i=9098 */ - -static UA_StatusCode function_namespace0_generated_2023_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9098LU), -UA_NODEID_NUMERIC(ns[0], 9093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2023_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9098LU) -); -} - -/* Id - ns=0;i=9094 */ - -static UA_StatusCode function_namespace0_generated_2024_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9094LU), -UA_NODEID_NUMERIC(ns[0], 9093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2024_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9094LU) -); -} - -/* EnabledState - ns=0;i=9073 */ - -static UA_StatusCode function_namespace0_generated_2025_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9073LU), -UA_NODEID_NUMERIC(ns[0], 2881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9073LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9093LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9073LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9102LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2025_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9073LU) -); -} - -/* Id - ns=0;i=9074 */ - -static UA_StatusCode function_namespace0_generated_2026_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9074LU), -UA_NODEID_NUMERIC(ns[0], 9073LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2026_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9074LU) -); -} - -/* DialogState - ns=0;i=9055 */ - -static UA_StatusCode function_namespace0_generated_2027_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DialogState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9055LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DialogState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2027_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9055LU) -); -} - -/* FalseState - ns=0;i=9063 */ - -static UA_StatusCode function_namespace0_generated_2028_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9063_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9063_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9063_variant_DataContents); -*variablenode_ns_0_i_9063_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9063_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9063LU), -UA_NODEID_NUMERIC(ns[0], 9055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9063_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2028_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9063LU) -); -} - -/* TrueState - ns=0;i=9062 */ - -static UA_StatusCode function_namespace0_generated_2029_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9062_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9062_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9062_variant_DataContents); -*variablenode_ns_0_i_9062_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9062_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9062LU), -UA_NODEID_NUMERIC(ns[0], 9055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9062_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2029_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9062LU) -); -} - -/* TransitionTime - ns=0;i=9060 */ - -static UA_StatusCode function_namespace0_generated_2030_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9060LU), -UA_NODEID_NUMERIC(ns[0], 9055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2030_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9060LU) -); -} - -/* Id - ns=0;i=9056 */ - -static UA_StatusCode function_namespace0_generated_2031_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9056LU), -UA_NODEID_NUMERIC(ns[0], 9055LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2031_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9056LU) -); -} - -/* EnabledState - ns=0;i=9035 */ - -static UA_StatusCode function_namespace0_generated_2032_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9035LU), -UA_NODEID_NUMERIC(ns[0], 2830LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9035LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9055LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2032_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9035LU) -); -} - -/* Id - ns=0;i=9036 */ - -static UA_StatusCode function_namespace0_generated_2033_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9036LU), -UA_NODEID_NUMERIC(ns[0], 9035LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2033_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9036LU) -); -} - -/* EnabledState - ns=0;i=9011 */ - -static UA_StatusCode function_namespace0_generated_2034_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 2782LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2034_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9011LU) -); -} - -/* FalseState - ns=0;i=9019 */ - -static UA_StatusCode function_namespace0_generated_2035_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9019_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9019_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9019_variant_DataContents); -*variablenode_ns_0_i_9019_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Disabled"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9019_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9019LU), -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9019_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2035_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9019LU) -); -} - -/* TrueState - ns=0;i=9018 */ - -static UA_StatusCode function_namespace0_generated_2036_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_9018_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_9018_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_9018_variant_DataContents); -*variablenode_ns_0_i_9018_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Enabled"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9018_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9018LU), -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_9018_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2036_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9018LU) -); -} - -/* EffectiveTransitionTime - ns=0;i=9017 */ - -static UA_StatusCode function_namespace0_generated_2037_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9017LU), -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2037_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9017LU) -); -} - -/* TransitionTime - ns=0;i=9016 */ - -static UA_StatusCode function_namespace0_generated_2038_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9016LU), -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2038_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9016LU) -); -} - -/* EffectiveDisplayName - ns=0;i=9015 */ - -static UA_StatusCode function_namespace0_generated_2039_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveDisplayName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9015LU), -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveDisplayName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2039_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9015LU) -); -} - -/* Id - ns=0;i=9012 */ - -static UA_StatusCode function_namespace0_generated_2040_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9012LU), -UA_NODEID_NUMERIC(ns[0], 9011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2040_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9012LU) -); -} - -/* EffectiveTransitionTime - ns=0;i=9001 */ - -static UA_StatusCode function_namespace0_generated_2041_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9001LU), -UA_NODEID_NUMERIC(ns[0], 8995LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2041_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9001LU) -); -} - -/* TransitionTime - ns=0;i=9000 */ - -static UA_StatusCode function_namespace0_generated_2042_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9000LU), -UA_NODEID_NUMERIC(ns[0], 8995LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2042_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9000LU) -); -} - -/* Id - ns=0;i=8996 */ - -static UA_StatusCode function_namespace0_generated_2043_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8996LU), -UA_NODEID_NUMERIC(ns[0], 8995LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2043_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8996LU) -); -} - -/* ActiveState - ns=0;i=20202 */ - -static UA_StatusCode function_namespace0_generated_2044_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20202LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActiveState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2044_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20202LU) -); -} - -/* Id - ns=0;i=20203 */ - -static UA_StatusCode function_namespace0_generated_2045_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20203LU), -UA_NODEID_NUMERIC(ns[0], 20202LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2045_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20203LU) -); -} - -/* AckedState - ns=0;i=20180 */ - -static UA_StatusCode function_namespace0_generated_2046_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20180LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AckedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2046_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20180LU) -); -} - -/* Id - ns=0;i=20181 */ - -static UA_StatusCode function_namespace0_generated_2047_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20181LU), -UA_NODEID_NUMERIC(ns[0], 20180LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2047_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20181LU) -); -} - -/* EnabledState - ns=0;i=20160 */ - -static UA_StatusCode function_namespace0_generated_2048_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20160LU), -UA_NODEID_NUMERIC(ns[0], 20143LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2048_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20160LU) -); -} - -/* Id - ns=0;i=20161 */ - -static UA_StatusCode function_namespace0_generated_2049_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 20161LU), -UA_NODEID_NUMERIC(ns[0], 20160LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2049_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 20161LU) -); -} - -/* ActiveState - ns=0;i=19509 */ - -static UA_StatusCode function_namespace0_generated_2050_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19509LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActiveState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2050_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19509LU) -); -} - -/* Id - ns=0;i=19510 */ - -static UA_StatusCode function_namespace0_generated_2051_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19510LU), -UA_NODEID_NUMERIC(ns[0], 19509LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2051_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19510LU) -); -} - -/* AckedState - ns=0;i=19487 */ - -static UA_StatusCode function_namespace0_generated_2052_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19487LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AckedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2052_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19487LU) -); -} - -/* Id - ns=0;i=19488 */ - -static UA_StatusCode function_namespace0_generated_2053_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19488LU), -UA_NODEID_NUMERIC(ns[0], 19487LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2053_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19488LU) -); -} - -/* EnabledState - ns=0;i=19467 */ - -static UA_StatusCode function_namespace0_generated_2054_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19467LU), -UA_NODEID_NUMERIC(ns[0], 19450LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2054_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19467LU) -); -} - -/* Id - ns=0;i=19468 */ - -static UA_StatusCode function_namespace0_generated_2055_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19468LU), -UA_NODEID_NUMERIC(ns[0], 19467LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2055_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19468LU) -); -} - -/* LatchedState - ns=0;i=18190 */ - -static UA_StatusCode function_namespace0_generated_2056_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LatchedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18190LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LatchedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2056_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18190LU) -); -} - -/* FalseState - ns=0;i=18198 */ - -static UA_StatusCode function_namespace0_generated_2057_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_18198_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_18198_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_18198_variant_DataContents); -*variablenode_ns_0_i_18198_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Unlatched"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18198_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18198LU), -UA_NODEID_NUMERIC(ns[0], 18190LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_18198_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2057_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18198LU) -); -} - -/* TrueState - ns=0;i=18197 */ - -static UA_StatusCode function_namespace0_generated_2058_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_18197_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_18197_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_18197_variant_DataContents); -*variablenode_ns_0_i_18197_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Latched"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18197_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18197LU), -UA_NODEID_NUMERIC(ns[0], 18190LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_18197_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2058_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18197LU) -); -} - -/* TransitionTime - ns=0;i=18195 */ - -static UA_StatusCode function_namespace0_generated_2059_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18195LU), -UA_NODEID_NUMERIC(ns[0], 18190LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2059_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18195LU) -); -} - -/* Id - ns=0;i=18191 */ - -static UA_StatusCode function_namespace0_generated_2060_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18191LU), -UA_NODEID_NUMERIC(ns[0], 18190LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2060_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18191LU) -); -} - -/* ActiveState - ns=0;i=16465 */ - -static UA_StatusCode function_namespace0_generated_2061_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActiveState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16465LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActiveState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2061_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16465LU) -); -} - -/* FalseState - ns=0;i=16473 */ - -static UA_StatusCode function_namespace0_generated_2062_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_16473_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_16473_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_16473_variant_DataContents); -*variablenode_ns_0_i_16473_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16473_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16473LU), -UA_NODEID_NUMERIC(ns[0], 16465LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_16473_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2062_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16473LU) -); -} - -/* TrueState - ns=0;i=16472 */ - -static UA_StatusCode function_namespace0_generated_2063_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_16472_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_16472_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_16472_variant_DataContents); -*variablenode_ns_0_i_16472_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16472_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16472LU), -UA_NODEID_NUMERIC(ns[0], 16465LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_16472_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2063_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16472LU) -); -} - -/* Id - ns=0;i=16466 */ - -static UA_StatusCode function_namespace0_generated_2064_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16466LU), -UA_NODEID_NUMERIC(ns[0], 16465LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2064_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16466LU) -); -} - -/* AckedState - ns=0;i=16443 */ - -static UA_StatusCode function_namespace0_generated_2065_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AckedState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16443LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AckedState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2065_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16443LU) -); -} - -/* Id - ns=0;i=16444 */ - -static UA_StatusCode function_namespace0_generated_2066_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16444LU), -UA_NODEID_NUMERIC(ns[0], 16443LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2066_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16444LU) -); -} - -/* EnabledState - ns=0;i=16423 */ - -static UA_StatusCode function_namespace0_generated_2067_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16423LU), -UA_NODEID_NUMERIC(ns[0], 16406LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnabledState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2067_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16423LU) -); -} - -/* Id - ns=0;i=16424 */ - -static UA_StatusCode function_namespace0_generated_2068_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16424LU), -UA_NODEID_NUMERIC(ns[0], 16423LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2068_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16424LU) -); -} - -/* SilenceState - ns=0;i=16380 */ - -static UA_StatusCode function_namespace0_generated_2069_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SilenceState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16380LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SilenceState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2069_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16380LU) -); -} - -/* FalseState - ns=0;i=16388 */ - -static UA_StatusCode function_namespace0_generated_2070_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_16388_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_16388_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_16388_variant_DataContents); -*variablenode_ns_0_i_16388_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Not Silenced"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16388_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16388LU), -UA_NODEID_NUMERIC(ns[0], 16380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_16388_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2070_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16388LU) -); -} - -/* TrueState - ns=0;i=16387 */ - -static UA_StatusCode function_namespace0_generated_2071_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_16387_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_16387_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_16387_variant_DataContents); -*variablenode_ns_0_i_16387_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Silenced"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16387_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16387LU), -UA_NODEID_NUMERIC(ns[0], 16380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_16387_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2071_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16387LU) -); -} - -/* TransitionTime - ns=0;i=16385 */ - -static UA_StatusCode function_namespace0_generated_2072_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16385LU), -UA_NODEID_NUMERIC(ns[0], 16380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2072_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16385LU) -); -} - -/* Id - ns=0;i=16381 */ - -static UA_StatusCode function_namespace0_generated_2073_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16381LU), -UA_NODEID_NUMERIC(ns[0], 16380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2073_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16381LU) -); -} - -/* OutOfServiceState - ns=0;i=16371 */ - -static UA_StatusCode function_namespace0_generated_2074_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OutOfServiceState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16371LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OutOfServiceState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2074_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16371LU) -); -} - -/* FalseState - ns=0;i=16379 */ - -static UA_StatusCode function_namespace0_generated_2075_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_16379_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_16379_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_16379_variant_DataContents); -*variablenode_ns_0_i_16379_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "In Service"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16379_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16379LU), -UA_NODEID_NUMERIC(ns[0], 16371LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_16379_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2075_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16379LU) -); -} - -/* TrueState - ns=0;i=16378 */ - -static UA_StatusCode function_namespace0_generated_2076_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_16378_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_16378_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_16378_variant_DataContents); -*variablenode_ns_0_i_16378_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Out of Service"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16378_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16378LU), -UA_NODEID_NUMERIC(ns[0], 16371LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_16378_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2076_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16378LU) -); -} - -/* TransitionTime - ns=0;i=16376 */ - -static UA_StatusCode function_namespace0_generated_2077_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16376LU), -UA_NODEID_NUMERIC(ns[0], 16371LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2077_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16376LU) -); -} - -/* Id - ns=0;i=16372 */ - -static UA_StatusCode function_namespace0_generated_2078_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16372LU), -UA_NODEID_NUMERIC(ns[0], 16371LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2078_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16372LU) -); -} - -/* FalseState - ns=0;i=11111 */ - -static UA_StatusCode function_namespace0_generated_2079_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11111LU), -UA_NODEID_NUMERIC(ns[0], 8995LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2079_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11111LU) -); -} - -/* TrueState - ns=0;i=11110 */ - -static UA_StatusCode function_namespace0_generated_2080_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11110LU), -UA_NODEID_NUMERIC(ns[0], 8995LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2080_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11110LU) -); -} - -/* LowLowState - ns=0;i=10047 */ - -static UA_StatusCode function_namespace0_generated_2081_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LowLowState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10047LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LowLowState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10047LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2081_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10047LU) -); -} - -/* FalseState - ns=0;i=10055 */ - -static UA_StatusCode function_namespace0_generated_2082_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10055_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10055_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10055_variant_DataContents); -*variablenode_ns_0_i_10055_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "LowLow inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10055_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10055LU), -UA_NODEID_NUMERIC(ns[0], 10047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10055_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2082_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10055LU) -); -} - -/* TrueState - ns=0;i=10054 */ - -static UA_StatusCode function_namespace0_generated_2083_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10054_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10054_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10054_variant_DataContents); -*variablenode_ns_0_i_10054_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "LowLow active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10054_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10054LU), -UA_NODEID_NUMERIC(ns[0], 10047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10054_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2083_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10054LU) -); -} - -/* TransitionTime - ns=0;i=10052 */ - -static UA_StatusCode function_namespace0_generated_2084_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10052LU), -UA_NODEID_NUMERIC(ns[0], 10047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2084_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10052LU) -); -} - -/* Id - ns=0;i=10048 */ - -static UA_StatusCode function_namespace0_generated_2085_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10048LU), -UA_NODEID_NUMERIC(ns[0], 10047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2085_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10048LU) -); -} - -/* LowState - ns=0;i=10038 */ - -static UA_StatusCode function_namespace0_generated_2086_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LowState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10038LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LowState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10038LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2086_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10038LU) -); -} - -/* FalseState - ns=0;i=10046 */ - -static UA_StatusCode function_namespace0_generated_2087_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10046_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10046_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10046_variant_DataContents); -*variablenode_ns_0_i_10046_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Low inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10046_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10046LU), -UA_NODEID_NUMERIC(ns[0], 10038LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10046_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2087_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10046LU) -); -} - -/* TrueState - ns=0;i=10045 */ - -static UA_StatusCode function_namespace0_generated_2088_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10045_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10045_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10045_variant_DataContents); -*variablenode_ns_0_i_10045_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "Low active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10045_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10045LU), -UA_NODEID_NUMERIC(ns[0], 10038LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10045_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2088_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10045LU) -); -} - -/* TransitionTime - ns=0;i=10043 */ - -static UA_StatusCode function_namespace0_generated_2089_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10043LU), -UA_NODEID_NUMERIC(ns[0], 10038LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2089_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10043LU) -); -} - -/* Id - ns=0;i=10039 */ - -static UA_StatusCode function_namespace0_generated_2090_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10039LU), -UA_NODEID_NUMERIC(ns[0], 10038LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2090_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10039LU) -); -} - -/* HighState - ns=0;i=10029 */ - -static UA_StatusCode function_namespace0_generated_2091_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10029LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HighState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10029LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2091_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10029LU) -); -} - -/* FalseState - ns=0;i=10037 */ - -static UA_StatusCode function_namespace0_generated_2092_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10037_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10037_variant_DataContents); -*variablenode_ns_0_i_10037_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "High inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10037_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10037LU), -UA_NODEID_NUMERIC(ns[0], 10029LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10037_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2092_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10037LU) -); -} - -/* TrueState - ns=0;i=10036 */ - -static UA_StatusCode function_namespace0_generated_2093_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10036_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10036_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10036_variant_DataContents); -*variablenode_ns_0_i_10036_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "High active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10036_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10036LU), -UA_NODEID_NUMERIC(ns[0], 10029LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10036_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2093_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10036LU) -); -} - -/* TransitionTime - ns=0;i=10034 */ - -static UA_StatusCode function_namespace0_generated_2094_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10034LU), -UA_NODEID_NUMERIC(ns[0], 10029LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2094_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10034LU) -); -} - -/* Id - ns=0;i=10030 */ - -static UA_StatusCode function_namespace0_generated_2095_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10030LU), -UA_NODEID_NUMERIC(ns[0], 10029LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2095_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10030LU) -); -} - -/* HighHighState - ns=0;i=10020 */ - -static UA_StatusCode function_namespace0_generated_2096_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HighHighState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10020LU), -UA_NODEID_NUMERIC(ns[0], 9906LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HighHighState"), -UA_NODEID_NUMERIC(ns[0], 8995LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 10020LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2096_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10020LU) -); -} - -/* FalseState - ns=0;i=10028 */ - -static UA_StatusCode function_namespace0_generated_2097_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10028_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10028_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10028_variant_DataContents); -*variablenode_ns_0_i_10028_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "HighHigh inactive"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10028_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "FalseState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10028LU), -UA_NODEID_NUMERIC(ns[0], 10020LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "FalseState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10028_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2097_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10028LU) -); -} - -/* TrueState - ns=0;i=10027 */ - -static UA_StatusCode function_namespace0_generated_2098_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -UA_LocalizedText *variablenode_ns_0_i_10027_variant_DataContents = UA_LocalizedText_new(); -if (!variablenode_ns_0_i_10027_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_LocalizedText_init(variablenode_ns_0_i_10027_variant_DataContents); -*variablenode_ns_0_i_10027_variant_DataContents = UA_LOCALIZEDTEXT_ALLOC("en", "HighHigh active"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_10027_variant_DataContents, &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrueState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10027LU), -UA_NODEID_NUMERIC(ns[0], 10020LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrueState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_LocalizedText_delete(variablenode_ns_0_i_10027_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2098_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10027LU) -); -} - -/* TransitionTime - ns=0;i=10025 */ - -static UA_StatusCode function_namespace0_generated_2099_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10025LU), -UA_NODEID_NUMERIC(ns[0], 10020LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2099_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10025LU) -); -} - -/* Id - ns=0;i=10021 */ - -static UA_StatusCode function_namespace0_generated_2100_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 10021LU), -UA_NODEID_NUMERIC(ns[0], 10020LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2100_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 10021LU) -); -} - -/* ToState - ns=0;i=2776 */ - -static UA_StatusCode function_namespace0_generated_2101_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ToState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2776LU), -UA_NODEID_NUMERIC(ns[0], 2311LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ToState"), -UA_NODEID_NUMERIC(ns[0], 2755LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2101_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2776LU) -); -} - -/* Id - ns=0;i=3750 */ - -static UA_StatusCode function_namespace0_generated_2102_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3750LU), -UA_NODEID_NUMERIC(ns[0], 2776LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2102_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3750LU) -); -} - -/* FromState - ns=0;i=2775 */ - -static UA_StatusCode function_namespace0_generated_2103_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FromState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2775LU), -UA_NODEID_NUMERIC(ns[0], 2311LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FromState"), -UA_NODEID_NUMERIC(ns[0], 2755LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2103_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2775LU) -); -} - -/* Id - ns=0;i=3746 */ - -static UA_StatusCode function_namespace0_generated_2104_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3746LU), -UA_NODEID_NUMERIC(ns[0], 2775LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2104_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3746LU) -); -} - -/* FiniteStateVariableType - ns=0;i=2760 */ - -static UA_StatusCode function_namespace0_generated_2105_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "FiniteStateVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2760LU), -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FiniteStateVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2105_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2760LU) -); -} - -/* Id - ns=0;i=2761 */ - -static UA_StatusCode function_namespace0_generated_2106_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2761LU), -UA_NODEID_NUMERIC(ns[0], 2760LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2106_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2761LU) -); -} - -/* EffectiveDisplayName - ns=0;i=2759 */ - -static UA_StatusCode function_namespace0_generated_2107_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EffectiveDisplayName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2759LU), -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EffectiveDisplayName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2107_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2759LU) -); -} - -/* Number - ns=0;i=2758 */ - -static UA_StatusCode function_namespace0_generated_2108_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Number"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2758LU), -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Number"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2108_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2758LU) -); -} - -/* Name - ns=0;i=2757 */ - -static UA_StatusCode function_namespace0_generated_2109_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Name"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2757LU), -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Name"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2109_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2757LU) -); -} - -/* Id - ns=0;i=2756 */ - -static UA_StatusCode function_namespace0_generated_2110_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2756LU), -UA_NODEID_NUMERIC(ns[0], 2755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2110_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2756LU) -); -} - -/* StateMachineType - ns=0;i=2299 */ - -static UA_StatusCode function_namespace0_generated_2111_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StateMachineType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2299LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "StateMachineType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2111_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2299LU) -); -} - -/* FiniteStateMachineType - ns=0;i=2771 */ - -static UA_StatusCode function_namespace0_generated_2112_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "FiniteStateMachineType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 2299LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FiniteStateMachineType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2112_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2771LU) -); -} - -/* ExclusiveLimitStateMachineType - ns=0;i=9318 */ - -static UA_StatusCode function_namespace0_generated_2113_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExclusiveLimitStateMachineType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ExclusiveLimitStateMachineType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2113_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9318LU) -); -} - -/* LimitState - ns=0;i=9455 */ - -static UA_StatusCode function_namespace0_generated_2114_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LimitState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9455LU), -UA_NODEID_NUMERIC(ns[0], 9341LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LimitState"), -UA_NODEID_NUMERIC(ns[0], 9318LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9455LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9398LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2114_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9455LU) -); -} - -/* LastTransition - ns=0;i=9461 */ - -static UA_StatusCode function_namespace0_generated_2115_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9461LU), -UA_NODEID_NUMERIC(ns[0], 9455LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastTransition"), -UA_NODEID_NUMERIC(ns[0], 2767LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2115_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9461LU) -); -} - -/* TransitionTime - ns=0;i=9465 */ - -static UA_StatusCode function_namespace0_generated_2116_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9465LU), -UA_NODEID_NUMERIC(ns[0], 9461LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2116_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9465LU) -); -} - -/* Id - ns=0;i=9462 */ - -static UA_StatusCode function_namespace0_generated_2117_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9462LU), -UA_NODEID_NUMERIC(ns[0], 9461LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2117_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9462LU) -); -} - -/* CurrentState - ns=0;i=9456 */ - -static UA_StatusCode function_namespace0_generated_2118_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9456LU), -UA_NODEID_NUMERIC(ns[0], 9455LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentState"), -UA_NODEID_NUMERIC(ns[0], 2760LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2118_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9456LU) -); -} - -/* Id - ns=0;i=9457 */ - -static UA_StatusCode function_namespace0_generated_2119_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9457LU), -UA_NODEID_NUMERIC(ns[0], 9456LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2119_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9457LU) -); -} - -/* HighToHighHigh - ns=0;i=9340 */ - -static UA_StatusCode function_namespace0_generated_2120_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HighToHighHigh"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9340LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HighToHighHigh"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9340LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2120_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9340LU) -); -} - -/* TransitionNumber - ns=0;i=11343 */ - -static UA_StatusCode function_namespace0_generated_2121_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11343_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11343_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11343_variant_DataContents); -*variablenode_ns_0_i_11343_variant_DataContents = (UA_UInt32) 21; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11343_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11343LU), -UA_NODEID_NUMERIC(ns[0], 9340LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11343_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2121_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11343LU) -); -} - -/* HighHighToHigh - ns=0;i=9339 */ - -static UA_StatusCode function_namespace0_generated_2122_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HighHighToHigh"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9339LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HighHighToHigh"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9339LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2122_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9339LU) -); -} - -/* TransitionNumber - ns=0;i=11342 */ - -static UA_StatusCode function_namespace0_generated_2123_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11342_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11342_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11342_variant_DataContents); -*variablenode_ns_0_i_11342_variant_DataContents = (UA_UInt32) 12; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11342_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11342LU), -UA_NODEID_NUMERIC(ns[0], 9339LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11342_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2123_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11342LU) -); -} - -/* LowToLowLow - ns=0;i=9338 */ - -static UA_StatusCode function_namespace0_generated_2124_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LowToLowLow"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9338LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LowToLowLow"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9338LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2124_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9338LU) -); -} - -/* TransitionNumber - ns=0;i=11341 */ - -static UA_StatusCode function_namespace0_generated_2125_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11341_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11341_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11341_variant_DataContents); -*variablenode_ns_0_i_11341_variant_DataContents = (UA_UInt32) 34; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11341_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11341LU), -UA_NODEID_NUMERIC(ns[0], 9338LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11341_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2125_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11341LU) -); -} - -/* LowLowToLow - ns=0;i=9337 */ - -static UA_StatusCode function_namespace0_generated_2126_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LowLowToLow"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9337LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LowLowToLow"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9337LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2126_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9337LU) -); -} - -/* TransitionNumber - ns=0;i=11340 */ - -static UA_StatusCode function_namespace0_generated_2127_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11340_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11340_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11340_variant_DataContents); -*variablenode_ns_0_i_11340_variant_DataContents = (UA_UInt32) 43; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11340_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11340LU), -UA_NODEID_NUMERIC(ns[0], 9337LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11340_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2127_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11340LU) -); -} - -/* LowLow - ns=0;i=9335 */ - -static UA_StatusCode function_namespace0_generated_2128_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LowLow"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9335LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LowLow"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9335LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9337LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9335LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9338LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2128_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9335LU) -); -} - -/* StateNumber - ns=0;i=9336 */ - -static UA_StatusCode function_namespace0_generated_2129_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_9336_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_9336_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_9336_variant_DataContents); -*variablenode_ns_0_i_9336_variant_DataContents = (UA_UInt32) 4; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9336_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9336LU), -UA_NODEID_NUMERIC(ns[0], 9335LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_9336_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2129_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9336LU) -); -} - -/* Low - ns=0;i=9333 */ - -static UA_StatusCode function_namespace0_generated_2130_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Low"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9333LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Low"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9333LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9337LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9333LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9338LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2130_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9333LU) -); -} - -/* StateNumber - ns=0;i=9334 */ - -static UA_StatusCode function_namespace0_generated_2131_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_9334_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_9334_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_9334_variant_DataContents); -*variablenode_ns_0_i_9334_variant_DataContents = (UA_UInt32) 3; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9334_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9334LU), -UA_NODEID_NUMERIC(ns[0], 9333LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_9334_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2131_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9334LU) -); -} - -/* High - ns=0;i=9331 */ - -static UA_StatusCode function_namespace0_generated_2132_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "High"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9331LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "High"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9331LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9339LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9331LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9340LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2132_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9331LU) -); -} - -/* StateNumber - ns=0;i=9332 */ - -static UA_StatusCode function_namespace0_generated_2133_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_9332_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_9332_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_9332_variant_DataContents); -*variablenode_ns_0_i_9332_variant_DataContents = (UA_UInt32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9332_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9332LU), -UA_NODEID_NUMERIC(ns[0], 9331LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_9332_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2133_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9332LU) -); -} - -/* HighHigh - ns=0;i=9329 */ - -static UA_StatusCode function_namespace0_generated_2134_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HighHigh"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9329LU), -UA_NODEID_NUMERIC(ns[0], 9318LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HighHigh"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9329LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9339LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9329LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9340LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2134_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9329LU) -); -} - -/* StateNumber - ns=0;i=9330 */ - -static UA_StatusCode function_namespace0_generated_2135_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_9330_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_9330_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_9330_variant_DataContents); -*variablenode_ns_0_i_9330_variant_DataContents = (UA_UInt32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_9330_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9330LU), -UA_NODEID_NUMERIC(ns[0], 9329LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_9330_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2135_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9330LU) -); -} - -/* ShelvedStateMachineType - ns=0;i=2929 */ - -static UA_StatusCode function_namespace0_generated_2136_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ShelvedStateMachineType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ShelvedStateMachineType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2136_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2929LU) -); -} - -/* ShelvingState - ns=0;i=9178 */ - -static UA_StatusCode function_namespace0_generated_2137_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ShelvingState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ShelvingState"), -UA_NODEID_NUMERIC(ns[0], 2929LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 9178LU), UA_NODEID_NUMERIC(ns[0], 9004LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9118LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2137_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9178LU) -); -} - -/* TimedShelve - ns=0;i=9213 */ - -static UA_StatusCode function_namespace0_generated_2138_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelve"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9213LU), -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimedShelve"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2138_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9213LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=9214 */ - -static UA_StatusCode function_namespace0_generated_2139_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_9214_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_9214_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_9214_variant_DataContents[0].name = UA_STRING("ShelvingTime"); -variablenode_ns_0_i_9214_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_9214_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_9214_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9214LU), -UA_NODEID_NUMERIC(ns[0], 9213LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2139_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9214LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OneShotShelve - ns=0;i=9212 */ - -static UA_StatusCode function_namespace0_generated_2140_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelve"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9212LU), -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OneShotShelve"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2140_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9212LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Unshelve - ns=0;i=9211 */ - -static UA_StatusCode function_namespace0_generated_2141_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Unshelve"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 9211LU), -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Unshelve"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2141_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9211LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* UnshelveTime - ns=0;i=9189 */ - -static UA_StatusCode function_namespace0_generated_2142_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnshelveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9189LU), -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UnshelveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2142_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9189LU) -); -} - -/* LastTransition - ns=0;i=9184 */ - -static UA_StatusCode function_namespace0_generated_2143_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9184LU), -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastTransition"), -UA_NODEID_NUMERIC(ns[0], 2767LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2143_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9184LU) -); -} - -/* TransitionTime - ns=0;i=9188 */ - -static UA_StatusCode function_namespace0_generated_2144_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9188LU), -UA_NODEID_NUMERIC(ns[0], 9184LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2144_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9188LU) -); -} - -/* Id - ns=0;i=9185 */ - -static UA_StatusCode function_namespace0_generated_2145_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9185LU), -UA_NODEID_NUMERIC(ns[0], 9184LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2145_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9185LU) -); -} - -/* CurrentState - ns=0;i=9179 */ - -static UA_StatusCode function_namespace0_generated_2146_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9179LU), -UA_NODEID_NUMERIC(ns[0], 9178LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentState"), -UA_NODEID_NUMERIC(ns[0], 2760LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2146_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9179LU) -); -} - -/* Id - ns=0;i=9180 */ - -static UA_StatusCode function_namespace0_generated_2147_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9180LU), -UA_NODEID_NUMERIC(ns[0], 9179LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2147_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9180LU) -); -} - -/* UnshelveTime - ns=0;i=9115 */ - -static UA_StatusCode function_namespace0_generated_2148_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnshelveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 9115LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UnshelveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2148_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 9115LU) -); -} - -/* TimedShelve - ns=0;i=2949 */ - -static UA_StatusCode function_namespace0_generated_2149_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelve"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2949LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimedShelve"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2149_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2949LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=2991 */ - -static UA_StatusCode function_namespace0_generated_2150_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_2991_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_2991_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_2991_variant_DataContents[0].name = UA_STRING("ShelvingTime"); -variablenode_ns_0_i_2991_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_2991_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_2991_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2991LU), -UA_NODEID_NUMERIC(ns[0], 2949LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2150_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2991LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OneShotShelve - ns=0;i=2948 */ - -static UA_StatusCode function_namespace0_generated_2151_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelve"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2948LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OneShotShelve"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2151_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2948LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Unshelve - ns=0;i=2947 */ - -static UA_StatusCode function_namespace0_generated_2152_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Unshelve"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2947LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Unshelve"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2152_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2947LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OneShotShelvedToTimedShelved - ns=0;i=2945 */ - -static UA_StatusCode function_namespace0_generated_2153_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelvedToTimedShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2945LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OneShotShelvedToTimedShelved"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2945LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2945LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2153_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2945LU) -); -} - -/* TransitionNumber - ns=0;i=11327 */ - -static UA_StatusCode function_namespace0_generated_2154_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11327_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11327_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11327_variant_DataContents); -*variablenode_ns_0_i_11327_variant_DataContents = (UA_UInt32) 32; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11327_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11327LU), -UA_NODEID_NUMERIC(ns[0], 2945LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11327_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2154_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11327LU) -); -} - -/* OneShotShelvedToUnshelved - ns=0;i=2943 */ - -static UA_StatusCode function_namespace0_generated_2155_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelvedToUnshelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2943LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OneShotShelvedToUnshelved"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2943LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2943LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2155_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2943LU) -); -} - -/* TransitionNumber - ns=0;i=11326 */ - -static UA_StatusCode function_namespace0_generated_2156_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11326_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11326_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11326_variant_DataContents); -*variablenode_ns_0_i_11326_variant_DataContents = (UA_UInt32) 31; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11326_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11326LU), -UA_NODEID_NUMERIC(ns[0], 2943LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11326_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2156_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11326LU) -); -} - -/* TimedShelvedToOneShotShelved - ns=0;i=2942 */ - -static UA_StatusCode function_namespace0_generated_2157_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelvedToOneShotShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2942LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimedShelvedToOneShotShelved"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2942LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2942LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2157_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2942LU) -); -} - -/* TransitionNumber - ns=0;i=11325 */ - -static UA_StatusCode function_namespace0_generated_2158_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11325_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11325_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11325_variant_DataContents); -*variablenode_ns_0_i_11325_variant_DataContents = (UA_UInt32) 23; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11325_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11325LU), -UA_NODEID_NUMERIC(ns[0], 2942LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11325_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2158_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11325LU) -); -} - -/* TimedShelvedToUnshelved - ns=0;i=2940 */ - -static UA_StatusCode function_namespace0_generated_2159_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelvedToUnshelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2940LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimedShelvedToUnshelved"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2940LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2940LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2159_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2940LU) -); -} - -/* TransitionNumber - ns=0;i=11324 */ - -static UA_StatusCode function_namespace0_generated_2160_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11324_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11324_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11324_variant_DataContents); -*variablenode_ns_0_i_11324_variant_DataContents = (UA_UInt32) 21; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11324_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11324LU), -UA_NODEID_NUMERIC(ns[0], 2940LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11324_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2160_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11324LU) -); -} - -/* UnshelvedToOneShotShelved - ns=0;i=2936 */ - -static UA_StatusCode function_namespace0_generated_2161_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UnshelvedToOneShotShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2936LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnshelvedToOneShotShelved"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2936LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2936LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2161_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2936LU) -); -} - -/* TransitionNumber - ns=0;i=11323 */ - -static UA_StatusCode function_namespace0_generated_2162_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11323_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11323_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11323_variant_DataContents); -*variablenode_ns_0_i_11323_variant_DataContents = (UA_UInt32) 13; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11323_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11323LU), -UA_NODEID_NUMERIC(ns[0], 2936LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11323_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2162_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11323LU) -); -} - -/* UnshelvedToTimedShelved - ns=0;i=2935 */ - -static UA_StatusCode function_namespace0_generated_2163_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UnshelvedToTimedShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2935LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnshelvedToTimedShelved"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2935LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2915LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2935LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2163_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2935LU) -); -} - -/* TransitionNumber - ns=0;i=11322 */ - -static UA_StatusCode function_namespace0_generated_2164_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_11322_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_11322_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_11322_variant_DataContents); -*variablenode_ns_0_i_11322_variant_DataContents = (UA_UInt32) 12; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11322_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11322LU), -UA_NODEID_NUMERIC(ns[0], 2935LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_11322_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2164_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11322LU) -); -} - -/* OneShotShelved - ns=0;i=2933 */ - -static UA_StatusCode function_namespace0_generated_2165_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2933LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OneShotShelved"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2936LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2942LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2933LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2945LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2165_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2933LU) -); -} - -/* StateNumber - ns=0;i=6101 */ - -static UA_StatusCode function_namespace0_generated_2166_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_6101_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_6101_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_6101_variant_DataContents); -*variablenode_ns_0_i_6101_variant_DataContents = (UA_UInt32) 3; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_6101_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 6101LU), -UA_NODEID_NUMERIC(ns[0], 2933LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_6101_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2166_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 6101LU) -); -} - -/* TimedShelved - ns=0;i=2932 */ - -static UA_StatusCode function_namespace0_generated_2167_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2932LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimedShelved"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2935LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2940LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2942LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2932LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2945LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2167_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2932LU) -); -} - -/* StateNumber - ns=0;i=6100 */ - -static UA_StatusCode function_namespace0_generated_2168_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_6100_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_6100_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_6100_variant_DataContents); -*variablenode_ns_0_i_6100_variant_DataContents = (UA_UInt32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_6100_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 6100LU), -UA_NODEID_NUMERIC(ns[0], 2932LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_6100_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2168_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 6100LU) -); -} - -/* Unshelved - ns=0;i=2930 */ - -static UA_StatusCode function_namespace0_generated_2169_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Unshelved"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2930LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Unshelved"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2935LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2936LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2940LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2930LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2169_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2930LU) -); -} - -/* StateNumber - ns=0;i=6098 */ - -static UA_StatusCode function_namespace0_generated_2170_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_6098_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_6098_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_6098_variant_DataContents); -*variablenode_ns_0_i_6098_variant_DataContents = (UA_UInt32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_6098_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 6098LU), -UA_NODEID_NUMERIC(ns[0], 2930LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_6098_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2170_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 6098LU) -); -} - -/* OneShotShelve2 - ns=0;i=24760 */ - -static UA_StatusCode function_namespace0_generated_2171_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OneShotShelve2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24760LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OneShotShelve2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24760LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2936LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24760LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2942LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2171_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24760LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24761 */ - -static UA_StatusCode function_namespace0_generated_2172_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24761_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24761_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24761_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24761_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24761_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24761_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24761LU), -UA_NODEID_NUMERIC(ns[0], 24760LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2172_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24761LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Unshelve2 - ns=0;i=24758 */ - -static UA_StatusCode function_namespace0_generated_2173_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Unshelve2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24758LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Unshelve2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24758LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2940LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24758LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2173_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24758LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24759 */ - -static UA_StatusCode function_namespace0_generated_2174_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24759_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24759_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24759_variant_DataContents[0].name = UA_STRING("Comment"); -variablenode_ns_0_i_24759_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24759_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24759_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24759LU), -UA_NODEID_NUMERIC(ns[0], 24758LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2174_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24759LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TimedShelve2 - ns=0;i=24756 */ - -static UA_StatusCode function_namespace0_generated_2175_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TimedShelve2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24756LU), -UA_NODEID_NUMERIC(ns[0], 2929LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimedShelve2"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24756LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2935LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24756LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2945LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2175_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24756LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24757 */ - -static UA_StatusCode function_namespace0_generated_2176_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24757_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_24757_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24757_variant_DataContents[0].name = UA_STRING("ShelvingTime"); -variablenode_ns_0_i_24757_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_24757_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24757_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24757_variant_DataContents[1].name = UA_STRING("Comment"); -variablenode_ns_0_i_24757_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_24757_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24757_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24757LU), -UA_NODEID_NUMERIC(ns[0], 24756LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2176_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24757LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastTransition - ns=0;i=2773 */ - -static UA_StatusCode function_namespace0_generated_2177_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2773LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastTransition"), -UA_NODEID_NUMERIC(ns[0], 2767LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2177_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2773LU) -); -} - -/* Id - ns=0;i=3732 */ - -static UA_StatusCode function_namespace0_generated_2178_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3732LU), -UA_NODEID_NUMERIC(ns[0], 2773LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2178_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3732LU) -); -} - -/* CurrentState - ns=0;i=2772 */ - -static UA_StatusCode function_namespace0_generated_2179_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2772LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentState"), -UA_NODEID_NUMERIC(ns[0], 2760LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2179_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2772LU) -); -} - -/* Id - ns=0;i=3728 */ - -static UA_StatusCode function_namespace0_generated_2180_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3728LU), -UA_NODEID_NUMERIC(ns[0], 2772LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2180_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3728LU) -); -} - -/* ProgramStateMachineType - ns=0;i=2391 */ - -static UA_StatusCode function_namespace0_generated_2181_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramStateMachineType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramStateMachineType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2181_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2391LU) -); -} - -/* FinalResultData - ns=0;i=3850 */ - -static UA_StatusCode function_namespace0_generated_2182_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FinalResultData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3850LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FinalResultData"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2182_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3850LU) -); -} - -/* LastTransition - ns=0;i=3835 */ - -static UA_StatusCode function_namespace0_generated_2183_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3835LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastTransition"), -UA_NODEID_NUMERIC(ns[0], 2767LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2183_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3835LU) -); -} - -/* TransitionTime - ns=0;i=3839 */ - -static UA_StatusCode function_namespace0_generated_2184_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3839LU), -UA_NODEID_NUMERIC(ns[0], 3835LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2184_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3839LU) -); -} - -/* Number - ns=0;i=3838 */ - -static UA_StatusCode function_namespace0_generated_2185_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Number"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3838LU), -UA_NODEID_NUMERIC(ns[0], 3835LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Number"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2185_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3838LU) -); -} - -/* Id - ns=0;i=3836 */ - -static UA_StatusCode function_namespace0_generated_2186_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3836LU), -UA_NODEID_NUMERIC(ns[0], 3835LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2186_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3836LU) -); -} - -/* CurrentState - ns=0;i=3830 */ - -static UA_StatusCode function_namespace0_generated_2187_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3830LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentState"), -UA_NODEID_NUMERIC(ns[0], 2760LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2187_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3830LU) -); -} - -/* Number - ns=0;i=3833 */ - -static UA_StatusCode function_namespace0_generated_2188_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Number"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3833LU), -UA_NODEID_NUMERIC(ns[0], 3830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Number"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2188_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3833LU) -); -} - -/* Id - ns=0;i=3831 */ - -static UA_StatusCode function_namespace0_generated_2189_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3831LU), -UA_NODEID_NUMERIC(ns[0], 3830LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2189_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3831LU) -); -} - -/* Reset - ns=0;i=2430 */ - -static UA_StatusCode function_namespace0_generated_2190_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2430LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2190_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2430LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Halt - ns=0;i=2429 */ - -static UA_StatusCode function_namespace0_generated_2191_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Halt"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2429LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Halt"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2191_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2429LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Resume - ns=0;i=2428 */ - -static UA_StatusCode function_namespace0_generated_2192_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Resume"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2428LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Resume"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2192_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2428LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Suspend - ns=0;i=2427 */ - -static UA_StatusCode function_namespace0_generated_2193_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Suspend"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2427LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Suspend"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2193_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2427LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Start - ns=0;i=2426 */ - -static UA_StatusCode function_namespace0_generated_2194_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Start"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 2426LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Start"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2194_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2426LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ReadyToHalted - ns=0;i=2424 */ - -static UA_StatusCode function_namespace0_generated_2195_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadyToHalted"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2424LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadyToHalted"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2424LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2424LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2195_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2424LU) -); -} - -/* TransitionNumber - ns=0;i=2425 */ - -static UA_StatusCode function_namespace0_generated_2196_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2425_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2425_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2425_variant_DataContents); -*variablenode_ns_0_i_2425_variant_DataContents = (UA_UInt32) 9; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2425_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2425LU), -UA_NODEID_NUMERIC(ns[0], 2424LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2425_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2196_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2425LU) -); -} - -/* SuspendedToReady - ns=0;i=2422 */ - -static UA_StatusCode function_namespace0_generated_2197_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SuspendedToReady"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2422LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SuspendedToReady"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2422LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2422LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2197_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2422LU) -); -} - -/* TransitionNumber - ns=0;i=2423 */ - -static UA_StatusCode function_namespace0_generated_2198_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2423_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2423_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2423_variant_DataContents); -*variablenode_ns_0_i_2423_variant_DataContents = (UA_UInt32) 8; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2423_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2423LU), -UA_NODEID_NUMERIC(ns[0], 2422LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2423_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2198_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2423LU) -); -} - -/* SuspendedToHalted - ns=0;i=2420 */ - -static UA_StatusCode function_namespace0_generated_2199_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SuspendedToHalted"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2420LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SuspendedToHalted"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2420LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2420LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2420LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2199_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2420LU) -); -} - -/* TransitionNumber - ns=0;i=2421 */ - -static UA_StatusCode function_namespace0_generated_2200_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2421_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2421_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2421_variant_DataContents); -*variablenode_ns_0_i_2421_variant_DataContents = (UA_UInt32) 7; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2421_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2421LU), -UA_NODEID_NUMERIC(ns[0], 2420LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2421_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2200_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2421LU) -); -} - -/* SuspendedToRunning - ns=0;i=2418 */ - -static UA_StatusCode function_namespace0_generated_2201_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SuspendedToRunning"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2418LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SuspendedToRunning"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2418LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2428LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2418LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2201_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2418LU) -); -} - -/* TransitionNumber - ns=0;i=2419 */ - -static UA_StatusCode function_namespace0_generated_2202_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2419_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2419_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2419_variant_DataContents); -*variablenode_ns_0_i_2419_variant_DataContents = (UA_UInt32) 6; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2419_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2419LU), -UA_NODEID_NUMERIC(ns[0], 2418LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2419_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2202_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2419LU) -); -} - -/* RunningToSuspended - ns=0;i=2416 */ - -static UA_StatusCode function_namespace0_generated_2203_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RunningToSuspended"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2416LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RunningToSuspended"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2416LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2427LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2416LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2203_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2416LU) -); -} - -/* TransitionNumber - ns=0;i=2417 */ - -static UA_StatusCode function_namespace0_generated_2204_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2417_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2417_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2417_variant_DataContents); -*variablenode_ns_0_i_2417_variant_DataContents = (UA_UInt32) 5; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2417_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2417LU), -UA_NODEID_NUMERIC(ns[0], 2416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2417_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2204_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2417LU) -); -} - -/* RunningToReady - ns=0;i=2414 */ - -static UA_StatusCode function_namespace0_generated_2205_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RunningToReady"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2414LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RunningToReady"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2414LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2205_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2414LU) -); -} - -/* TransitionNumber - ns=0;i=2415 */ - -static UA_StatusCode function_namespace0_generated_2206_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2415_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2415_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2415_variant_DataContents); -*variablenode_ns_0_i_2415_variant_DataContents = (UA_UInt32) 4; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2415_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2415LU), -UA_NODEID_NUMERIC(ns[0], 2414LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2415_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2206_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2415LU) -); -} - -/* RunningToHalted - ns=0;i=2412 */ - -static UA_StatusCode function_namespace0_generated_2207_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RunningToHalted"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2412LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RunningToHalted"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2412LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2412LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2207_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2412LU) -); -} - -/* TransitionNumber - ns=0;i=2413 */ - -static UA_StatusCode function_namespace0_generated_2208_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2413_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2413_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2413_variant_DataContents); -*variablenode_ns_0_i_2413_variant_DataContents = (UA_UInt32) 3; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2413_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2413LU), -UA_NODEID_NUMERIC(ns[0], 2412LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2413_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2208_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2413LU) -); -} - -/* ReadyToRunning - ns=0;i=2410 */ - -static UA_StatusCode function_namespace0_generated_2209_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadyToRunning"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2410LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadyToRunning"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2410LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2426LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2410LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2209_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2410LU) -); -} - -/* TransitionNumber - ns=0;i=2411 */ - -static UA_StatusCode function_namespace0_generated_2210_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2411_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2411_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2411_variant_DataContents); -*variablenode_ns_0_i_2411_variant_DataContents = (UA_UInt32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2411_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2411LU), -UA_NODEID_NUMERIC(ns[0], 2410LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2411_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2210_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2411LU) -); -} - -/* HaltedToReady - ns=0;i=2408 */ - -static UA_StatusCode function_namespace0_generated_2211_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HaltedToReady"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2408LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HaltedToReady"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2408LU), UA_NODEID_NUMERIC(ns[0], 53LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2408LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2378LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2211_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2408LU) -); -} - -/* TransitionNumber - ns=0;i=2409 */ - -static UA_StatusCode function_namespace0_generated_2212_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2409_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2409_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2409_variant_DataContents); -*variablenode_ns_0_i_2409_variant_DataContents = (UA_UInt32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2409_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2409LU), -UA_NODEID_NUMERIC(ns[0], 2408LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2409_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2212_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2409LU) -); -} - -/* Halted - ns=0;i=2406 */ - -static UA_StatusCode function_namespace0_generated_2213_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Halted"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2406LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Halted"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2408LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2412LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2406LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2424LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2213_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2406LU) -); -} - -/* StateNumber - ns=0;i=2407 */ - -static UA_StatusCode function_namespace0_generated_2214_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2407_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2407_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2407_variant_DataContents); -*variablenode_ns_0_i_2407_variant_DataContents = (UA_UInt32) 11; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2407_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2407LU), -UA_NODEID_NUMERIC(ns[0], 2406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2407_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2214_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2407LU) -); -} - -/* Suspended - ns=0;i=2404 */ - -static UA_StatusCode function_namespace0_generated_2215_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Suspended"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2404LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Suspended"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2416LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2418LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2404LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2422LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2215_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2404LU) -); -} - -/* StateNumber - ns=0;i=2405 */ - -static UA_StatusCode function_namespace0_generated_2216_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2405_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2405_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2405_variant_DataContents); -*variablenode_ns_0_i_2405_variant_DataContents = (UA_UInt32) 14; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2405_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2405LU), -UA_NODEID_NUMERIC(ns[0], 2404LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2405_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2216_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2405LU) -); -} - -/* Running - ns=0;i=2402 */ - -static UA_StatusCode function_namespace0_generated_2217_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Running"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2402LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Running"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2410LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2412LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2414LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2416LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2402LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2418LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2217_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2402LU) -); -} - -/* StateNumber - ns=0;i=2403 */ - -static UA_StatusCode function_namespace0_generated_2218_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2403_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2403_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2403_variant_DataContents); -*variablenode_ns_0_i_2403_variant_DataContents = (UA_UInt32) 13; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2403_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2403LU), -UA_NODEID_NUMERIC(ns[0], 2402LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2403_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2218_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2403LU) -); -} - -/* Ready - ns=0;i=2400 */ - -static UA_StatusCode function_namespace0_generated_2219_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Ready"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2400LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Ready"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2408LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2410LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2414LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2422LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2400LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2424LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2219_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2400LU) -); -} - -/* StateNumber - ns=0;i=2401 */ - -static UA_StatusCode function_namespace0_generated_2220_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_2401_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_2401_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_2401_variant_DataContents); -*variablenode_ns_0_i_2401_variant_DataContents = (UA_UInt32) 12; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_2401_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2401LU), -UA_NODEID_NUMERIC(ns[0], 2400LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_2401_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2220_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2401LU) -); -} - -/* ProgramDiagnostic - ns=0;i=2399 */ - -static UA_StatusCode function_namespace0_generated_2221_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24033LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic"), -UA_NODEID_NUMERIC(ns[0], 15383LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2221_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2399LU) -); -} - -/* LastMethodReturnStatus - ns=0;i=3849 */ - -static UA_StatusCode function_namespace0_generated_2222_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodReturnStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3849LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodReturnStatus"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2222_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3849LU) -); -} - -/* LastMethodCallTime - ns=0;i=3848 */ - -static UA_StatusCode function_namespace0_generated_2223_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCallTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3848LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodCallTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2223_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3848LU) -); -} - -/* LastMethodOutputArguments - ns=0;i=3847 */ - -static UA_StatusCode function_namespace0_generated_2224_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3847LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodOutputArguments"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2224_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3847LU) -); -} - -/* LastMethodInputArguments - ns=0;i=3846 */ - -static UA_StatusCode function_namespace0_generated_2225_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3846LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodInputArguments"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2225_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3846LU) -); -} - -/* LastMethodSessionId - ns=0;i=3845 */ - -static UA_StatusCode function_namespace0_generated_2226_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodSessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3845LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodSessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2226_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3845LU) -); -} - -/* LastMethodCall - ns=0;i=3844 */ - -static UA_StatusCode function_namespace0_generated_2227_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3844LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodCall"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2227_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3844LU) -); -} - -/* LastTransitionTime - ns=0;i=3843 */ - -static UA_StatusCode function_namespace0_generated_2228_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransitionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3843LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastTransitionTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2228_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3843LU) -); -} - -/* InvocationCreationTime - ns=0;i=3842 */ - -static UA_StatusCode function_namespace0_generated_2229_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InvocationCreationTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3842LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "InvocationCreationTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2229_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3842LU) -); -} - -/* CreateClientName - ns=0;i=3841 */ - -static UA_StatusCode function_namespace0_generated_2230_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateClientName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3841LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateClientName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2230_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3841LU) -); -} - -/* CreateSessionId - ns=0;i=3840 */ - -static UA_StatusCode function_namespace0_generated_2231_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3840LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2231_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3840LU) -); -} - -/* LastMethodOutputValues - ns=0;i=15040 */ - -static UA_StatusCode function_namespace0_generated_2232_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodOutputValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15040LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodOutputValues"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2232_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15040LU) -); -} - -/* LastMethodInputValues - ns=0;i=15038 */ - -static UA_StatusCode function_namespace0_generated_2233_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastMethodInputValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15038LU), -UA_NODEID_NUMERIC(ns[0], 2399LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastMethodInputValues"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2233_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15038LU) -); -} - -/* MaxRecycleCount - ns=0;i=2398 */ - -static UA_StatusCode function_namespace0_generated_2234_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxRecycleCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2398LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxRecycleCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2234_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2398LU) -); -} - -/* MaxInstanceCount - ns=0;i=2397 */ - -static UA_StatusCode function_namespace0_generated_2235_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxInstanceCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2397LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxInstanceCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2235_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2397LU) -); -} - -/* InstanceCount - ns=0;i=2396 */ - -static UA_StatusCode function_namespace0_generated_2236_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InstanceCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2396LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InstanceCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2236_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2396LU) -); -} - -/* RecycleCount - ns=0;i=2395 */ - -static UA_StatusCode function_namespace0_generated_2237_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RecycleCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2395LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RecycleCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2237_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2395LU) -); -} - -/* AutoDelete - ns=0;i=2394 */ - -static UA_StatusCode function_namespace0_generated_2238_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AutoDelete"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2394LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AutoDelete"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2238_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2394LU) -); -} - -/* Deletable - ns=0;i=2393 */ - -static UA_StatusCode function_namespace0_generated_2239_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Deletable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2393LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Deletable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2239_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2393LU) -); -} - -/* Creatable - ns=0;i=2392 */ - -static UA_StatusCode function_namespace0_generated_2240_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Creatable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2392LU), -UA_NODEID_NUMERIC(ns[0], 2391LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Creatable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2240_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2392LU) -); -} - -/* AvailableTransitions - ns=0;i=17636 */ - -static UA_StatusCode function_namespace0_generated_2241_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AvailableTransitions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17636LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AvailableTransitions"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2241_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17636LU) -); -} - -/* AvailableStates - ns=0;i=17635 */ - -static UA_StatusCode function_namespace0_generated_2242_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AvailableStates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17635LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AvailableStates"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2242_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17635LU) -); -} - -/* FileTransferStateMachineType - ns=0;i=15803 */ - -static UA_StatusCode function_namespace0_generated_2243_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FileTransferStateMachineType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 2771LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FileTransferStateMachineType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2243_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15803LU) -); -} - -/* Reset - ns=0;i=15843 */ - -static UA_StatusCode function_namespace0_generated_2244_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15843LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2244_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15843LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ErrorToIdle - ns=0;i=15841 */ - -static UA_StatusCode function_namespace0_generated_2245_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ErrorToIdle"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15841LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ErrorToIdle"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15841LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2245_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15841LU) -); -} - -/* TransitionNumber - ns=0;i=15842 */ - -static UA_StatusCode function_namespace0_generated_2246_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15842_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15842_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15842_variant_DataContents); -*variablenode_ns_0_i_15842_variant_DataContents = (UA_UInt32) 51; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15842_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15842LU), -UA_NODEID_NUMERIC(ns[0], 15841LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15842_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2246_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15842LU) -); -} - -/* ApplyWriteToError - ns=0;i=15839 */ - -static UA_StatusCode function_namespace0_generated_2247_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplyWriteToError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15839LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplyWriteToError"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15839LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2247_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15839LU) -); -} - -/* TransitionNumber - ns=0;i=15840 */ - -static UA_StatusCode function_namespace0_generated_2248_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15840_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15840_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15840_variant_DataContents); -*variablenode_ns_0_i_15840_variant_DataContents = (UA_UInt32) 45; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15840_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15840LU), -UA_NODEID_NUMERIC(ns[0], 15839LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15840_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2248_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15840LU) -); -} - -/* ReadTransferToError - ns=0;i=15837 */ - -static UA_StatusCode function_namespace0_generated_2249_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadTransferToError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15837LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadTransferToError"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15837LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2249_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15837LU) -); -} - -/* TransitionNumber - ns=0;i=15838 */ - -static UA_StatusCode function_namespace0_generated_2250_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15838_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15838_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15838_variant_DataContents); -*variablenode_ns_0_i_15838_variant_DataContents = (UA_UInt32) 35; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15838_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15838LU), -UA_NODEID_NUMERIC(ns[0], 15837LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15838_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2250_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15838LU) -); -} - -/* ReadPrepareToError - ns=0;i=15835 */ - -static UA_StatusCode function_namespace0_generated_2251_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadPrepareToError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15835LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadPrepareToError"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15835LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2251_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15835LU) -); -} - -/* TransitionNumber - ns=0;i=15836 */ - -static UA_StatusCode function_namespace0_generated_2252_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15836_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15836_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15836_variant_DataContents); -*variablenode_ns_0_i_15836_variant_DataContents = (UA_UInt32) 25; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15836_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15836LU), -UA_NODEID_NUMERIC(ns[0], 15835LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15836_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2252_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15836LU) -); -} - -/* ApplyWriteToIdle - ns=0;i=15833 */ - -static UA_StatusCode function_namespace0_generated_2253_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplyWriteToIdle"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15833LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplyWriteToIdle"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15833LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2253_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15833LU) -); -} - -/* TransitionNumber - ns=0;i=15834 */ - -static UA_StatusCode function_namespace0_generated_2254_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15834_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15834_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15834_variant_DataContents); -*variablenode_ns_0_i_15834_variant_DataContents = (UA_UInt32) 41; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15834_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15834LU), -UA_NODEID_NUMERIC(ns[0], 15833LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15834_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2254_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15834LU) -); -} - -/* IdleToApplyWrite - ns=0;i=15831 */ - -static UA_StatusCode function_namespace0_generated_2255_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IdleToApplyWrite"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15831LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IdleToApplyWrite"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15831LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2255_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15831LU) -); -} - -/* TransitionNumber - ns=0;i=15832 */ - -static UA_StatusCode function_namespace0_generated_2256_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15832_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15832_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15832_variant_DataContents); -*variablenode_ns_0_i_15832_variant_DataContents = (UA_UInt32) 14; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15832_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15832LU), -UA_NODEID_NUMERIC(ns[0], 15831LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15832_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2256_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15832LU) -); -} - -/* ReadTransferToIdle - ns=0;i=15829 */ - -static UA_StatusCode function_namespace0_generated_2257_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadTransferToIdle"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15829LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadTransferToIdle"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15829LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2257_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15829LU) -); -} - -/* TransitionNumber - ns=0;i=15830 */ - -static UA_StatusCode function_namespace0_generated_2258_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15830_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15830_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15830_variant_DataContents); -*variablenode_ns_0_i_15830_variant_DataContents = (UA_UInt32) 31; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15830_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15830LU), -UA_NODEID_NUMERIC(ns[0], 15829LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15830_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2258_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15830LU) -); -} - -/* ReadPrepareToReadTransfer - ns=0;i=15827 */ - -static UA_StatusCode function_namespace0_generated_2259_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadPrepareToReadTransfer"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15827LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadPrepareToReadTransfer"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15827LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2259_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15827LU) -); -} - -/* TransitionNumber - ns=0;i=15828 */ - -static UA_StatusCode function_namespace0_generated_2260_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15828_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15828_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15828_variant_DataContents); -*variablenode_ns_0_i_15828_variant_DataContents = (UA_UInt32) 23; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15828_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15828LU), -UA_NODEID_NUMERIC(ns[0], 15827LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15828_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2260_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15828LU) -); -} - -/* IdleToReadPrepare - ns=0;i=15825 */ - -static UA_StatusCode function_namespace0_generated_2261_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "IdleToReadPrepare"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15825LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IdleToReadPrepare"), -UA_NODEID_NUMERIC(ns[0], 2310LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15825LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2311LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2261_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15825LU) -); -} - -/* TransitionNumber - ns=0;i=15826 */ - -static UA_StatusCode function_namespace0_generated_2262_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15826_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15826_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15826_variant_DataContents); -*variablenode_ns_0_i_15826_variant_DataContents = (UA_UInt32) 12; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15826_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15826LU), -UA_NODEID_NUMERIC(ns[0], 15825LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15826_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2262_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15826LU) -); -} - -/* Error - ns=0;i=15823 */ - -static UA_StatusCode function_namespace0_generated_2263_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Error"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15823LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Error"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15837LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15823LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15841LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2263_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15823LU) -); -} - -/* StateNumber - ns=0;i=15824 */ - -static UA_StatusCode function_namespace0_generated_2264_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15824_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15824_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15824_variant_DataContents); -*variablenode_ns_0_i_15824_variant_DataContents = (UA_UInt32) 5; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15824_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15824LU), -UA_NODEID_NUMERIC(ns[0], 15823LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15824_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2264_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15824LU) -); -} - -/* ApplyWrite - ns=0;i=15821 */ - -static UA_StatusCode function_namespace0_generated_2265_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplyWrite"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15821LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplyWrite"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15821LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15821LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15821LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2265_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15821LU) -); -} - -/* StateNumber - ns=0;i=15822 */ - -static UA_StatusCode function_namespace0_generated_2266_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15822_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15822_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15822_variant_DataContents); -*variablenode_ns_0_i_15822_variant_DataContents = (UA_UInt32) 4; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15822_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15822LU), -UA_NODEID_NUMERIC(ns[0], 15821LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15822_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2266_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15822LU) -); -} - -/* ReadTransfer - ns=0;i=15819 */ - -static UA_StatusCode function_namespace0_generated_2267_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadTransfer"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15819LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadTransfer"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15819LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15827LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15819LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15829LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15819LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15837LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2267_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15819LU) -); -} - -/* StateNumber - ns=0;i=15820 */ - -static UA_StatusCode function_namespace0_generated_2268_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15820_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15820_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15820_variant_DataContents); -*variablenode_ns_0_i_15820_variant_DataContents = (UA_UInt32) 3; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15820_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15820LU), -UA_NODEID_NUMERIC(ns[0], 15819LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15820_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2268_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15820LU) -); -} - -/* ReadPrepare - ns=0;i=15817 */ - -static UA_StatusCode function_namespace0_generated_2269_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ReadPrepare"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15817LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadPrepare"), -UA_NODEID_NUMERIC(ns[0], 2307LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15817LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15825LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15817LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15827LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15817LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2269_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15817LU) -); -} - -/* StateNumber - ns=0;i=15818 */ - -static UA_StatusCode function_namespace0_generated_2270_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15818_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15818_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15818_variant_DataContents); -*variablenode_ns_0_i_15818_variant_DataContents = (UA_UInt32) 2; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15818_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15818LU), -UA_NODEID_NUMERIC(ns[0], 15817LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15818_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2270_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15818LU) -); -} - -/* Idle - ns=0;i=15815 */ - -static UA_StatusCode function_namespace0_generated_2271_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Idle"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15815LU), -UA_NODEID_NUMERIC(ns[0], 15803LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Idle"), -UA_NODEID_NUMERIC(ns[0], 2309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15825LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15829LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 51LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15815LU), UA_NODEID_NUMERIC(ns[0], 52LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15841LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2271_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15815LU) -); -} - -/* StateNumber - ns=0;i=15816 */ - -static UA_StatusCode function_namespace0_generated_2272_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -UA_UInt32 *variablenode_ns_0_i_15816_variant_DataContents = UA_UInt32_new(); -if (!variablenode_ns_0_i_15816_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_UInt32_init(variablenode_ns_0_i_15816_variant_DataContents); -*variablenode_ns_0_i_15816_variant_DataContents = (UA_UInt32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15816_variant_DataContents, &UA_TYPES[UA_TYPES_UINT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "StateNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15816LU), -UA_NODEID_NUMERIC(ns[0], 15815LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StateNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_UInt32_delete(variablenode_ns_0_i_15816_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2272_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15816LU) -); -} - -/* - ns=0;i=15754 */ - -static UA_StatusCode function_namespace0_generated_2273_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15754LU), -UA_NODEID_NUMERIC(ns[0], 15744LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 15803LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2273_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15754LU) -); -} - -/* Reset - ns=0;i=15794 */ - -static UA_StatusCode function_namespace0_generated_2274_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15794LU), -UA_NODEID_NUMERIC(ns[0], 15754LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2274_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15794LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CurrentState - ns=0;i=15755 */ - -static UA_StatusCode function_namespace0_generated_2275_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15755LU), -UA_NODEID_NUMERIC(ns[0], 15754LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentState"), -UA_NODEID_NUMERIC(ns[0], 2760LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2275_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15755LU) -); -} - -/* Id - ns=0;i=15756 */ - -static UA_StatusCode function_namespace0_generated_2276_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15756LU), -UA_NODEID_NUMERIC(ns[0], 15755LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2276_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15756LU) -); -} - -/* LastTransition - ns=0;i=2770 */ - -static UA_StatusCode function_namespace0_generated_2277_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastTransition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2770LU), -UA_NODEID_NUMERIC(ns[0], 2299LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LastTransition"), -UA_NODEID_NUMERIC(ns[0], 2762LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2277_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2770LU) -); -} - -/* Id - ns=0;i=3724 */ - -static UA_StatusCode function_namespace0_generated_2278_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3724LU), -UA_NODEID_NUMERIC(ns[0], 2770LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2278_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3724LU) -); -} - -/* CurrentState - ns=0;i=2769 */ - -static UA_StatusCode function_namespace0_generated_2279_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2769LU), -UA_NODEID_NUMERIC(ns[0], 2299LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentState"), -UA_NODEID_NUMERIC(ns[0], 2755LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2279_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2769LU) -); -} - -/* Id - ns=0;i=3720 */ - -static UA_StatusCode function_namespace0_generated_2280_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3720LU), -UA_NODEID_NUMERIC(ns[0], 2769LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2280_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3720LU) -); -} - -/* ServerNetworkGroups - ns=0;i=14415 */ - -static UA_StatusCode function_namespace0_generated_2281_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11944LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerNetworkGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14415LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "ServerNetworkGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2281_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14415LU) -); -} - -/* ServerUriArray - ns=0;i=11314 */ - -static UA_StatusCode function_namespace0_generated_2282_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUriArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11314LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "ServerUriArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2282_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11314LU) -); -} - -/* RedundantServerArray - ns=0;i=11313 */ - -static UA_StatusCode function_namespace0_generated_2283_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 853LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11313LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "RedundantServerArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2283_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11313LU) -); -} - -/* CurrentServerId - ns=0;i=11312 */ - -static UA_StatusCode function_namespace0_generated_2284_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentServerId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11312LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "CurrentServerId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2284_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11312LU) -); -} - -/* Locations - ns=0;i=31915 */ - -static UA_StatusCode function_namespace0_generated_2285_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Locations"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 31915LU), -UA_NODEID_NUMERIC(ns[0], 85LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "Locations"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2285_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31915LU) -); -} - -/* AudioVariableType - ns=0;i=17986 */ - -static UA_StatusCode function_namespace0_generated_2286_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 16307LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AudioVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 17986LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AudioVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2286_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17986LU) -); -} - -/* VersionId - ns=0;i=17990 */ - -static UA_StatusCode function_namespace0_generated_2287_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "VersionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17990LU), -UA_NODEID_NUMERIC(ns[0], 17986LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "VersionId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2287_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17990LU) -); -} - -/* AgencyId - ns=0;i=17989 */ - -static UA_StatusCode function_namespace0_generated_2288_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AgencyId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17989LU), -UA_NODEID_NUMERIC(ns[0], 17986LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AgencyId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2288_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17989LU) -); -} - -/* ListId - ns=0;i=17988 */ - -static UA_StatusCode function_namespace0_generated_2289_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ListId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17988LU), -UA_NODEID_NUMERIC(ns[0], 17986LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ListId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2289_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17988LU) -); -} - -/* AudibleSound - ns=0;i=16390 */ - -static UA_StatusCode function_namespace0_generated_2290_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 16307LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AudibleSound"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16390LU), -UA_NODEID_NUMERIC(ns[0], 2915LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AudibleSound"), -UA_NODEID_NUMERIC(ns[0], 17986LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2290_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16390LU) -); -} - -/* SelectionListType - ns=0;i=16309 */ - -static UA_StatusCode function_namespace0_generated_2291_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SelectionListType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 16309LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SelectionListType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2291_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16309LU) -); -} - -/* NetworkInterface - ns=0;i=24018 */ - -static UA_StatusCode function_namespace0_generated_2292_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24018LU), -UA_NODEID_NUMERIC(ns[0], 24017LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2292_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24018LU) -); -} - -/* Selections - ns=0;i=24019 */ - -static UA_StatusCode function_namespace0_generated_2293_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24019LU), -UA_NODEID_NUMERIC(ns[0], 24018LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2293_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24019LU) -); -} - -/* NetworkInterface - ns=0;i=23843 */ - -static UA_StatusCode function_namespace0_generated_2294_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23843LU), -UA_NODEID_NUMERIC(ns[0], 23842LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2294_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23843LU) -); -} - -/* Selections - ns=0;i=23844 */ - -static UA_StatusCode function_namespace0_generated_2295_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23844LU), -UA_NODEID_NUMERIC(ns[0], 23843LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2295_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23844LU) -); -} - -/* NetworkInterface - ns=0;i=21146 */ - -static UA_StatusCode function_namespace0_generated_2296_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21146LU), -UA_NODEID_NUMERIC(ns[0], 21145LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2296_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21146LU) -); -} - -/* Selections - ns=0;i=17582 */ - -static UA_StatusCode function_namespace0_generated_2297_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17582LU), -UA_NODEID_NUMERIC(ns[0], 21146LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2297_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17582LU) -); -} - -/* SelectionDescriptions - ns=0;i=17633 */ - -static UA_StatusCode function_namespace0_generated_2298_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SelectionDescriptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17633LU), -UA_NODEID_NUMERIC(ns[0], 16309LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SelectionDescriptions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2298_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17633LU) -); -} - -/* Selections - ns=0;i=17632 */ - -static UA_StatusCode function_namespace0_generated_2299_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17632LU), -UA_NODEID_NUMERIC(ns[0], 16309LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2299_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17632LU) -); -} - -/* TransportProfileUri - ns=0;i=17306 */ - -static UA_StatusCode function_namespace0_generated_2300_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransportProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17306LU), -UA_NODEID_NUMERIC(ns[0], 14209LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportProfileUri"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2300_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17306LU) -); -} - -/* Selections - ns=0;i=17710 */ - -static UA_StatusCode function_namespace0_generated_2301_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17710LU), -UA_NODEID_NUMERIC(ns[0], 17306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2301_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17710LU) -); -} - -/* TransportProfileUri - ns=0;i=17292 */ - -static UA_StatusCode function_namespace0_generated_2302_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransportProfileUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17292LU), -UA_NODEID_NUMERIC(ns[0], 14417LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportProfileUri"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2302_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17292LU) -); -} - -/* Selections - ns=0;i=17706 */ - -static UA_StatusCode function_namespace0_generated_2303_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17706LU), -UA_NODEID_NUMERIC(ns[0], 17292LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2303_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17706LU) -); -} - -/* NetworkInterface - ns=0;i=17202 */ - -static UA_StatusCode function_namespace0_generated_2304_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17202LU), -UA_NODEID_NUMERIC(ns[0], 14221LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2304_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17202LU) -); -} - -/* Selections - ns=0;i=17576 */ - -static UA_StatusCode function_namespace0_generated_2305_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17576LU), -UA_NODEID_NUMERIC(ns[0], 17202LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2305_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17576LU) -); -} - -/* RestrictToList - ns=0;i=16312 */ - -static UA_StatusCode function_namespace0_generated_2306_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RestrictToList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16312LU), -UA_NODEID_NUMERIC(ns[0], 16309LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RestrictToList"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2306_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16312LU) -); -} - -/* NetworkInterface - ns=0;i=15533 */ - -static UA_StatusCode function_namespace0_generated_2307_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15533LU), -UA_NODEID_NUMERIC(ns[0], 14423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2307_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15533LU) -); -} - -/* Selections - ns=0;i=17503 */ - -static UA_StatusCode function_namespace0_generated_2308_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17503LU), -UA_NODEID_NUMERIC(ns[0], 15533LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2308_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17503LU) -); -} - -/* NetworkInterface - ns=0;i=15154 */ - -static UA_StatusCode function_namespace0_generated_2309_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterface"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15154LU), -UA_NODEID_NUMERIC(ns[0], 15072LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterface"), -UA_NODEID_NUMERIC(ns[0], 16309LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2309_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15154LU) -); -} - -/* Selections - ns=0;i=17579 */ - -static UA_StatusCode function_namespace0_generated_2310_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Selections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17579LU), -UA_NODEID_NUMERIC(ns[0], 15154LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Selections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2310_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17579LU) -); -} - -/* OptionSetType - ns=0;i=11487 */ - -static UA_StatusCode function_namespace0_generated_2311_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 11487LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2311_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11487LU) -); -} - -/* BitMask - ns=0;i=11701 */ - -static UA_StatusCode function_namespace0_generated_2312_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BitMask"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11701LU), -UA_NODEID_NUMERIC(ns[0], 11487LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "BitMask"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2312_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11701LU) -); -} - -/* OptionSetValues - ns=0;i=11488 */ - -static UA_StatusCode function_namespace0_generated_2313_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11488LU), -UA_NODEID_NUMERIC(ns[0], 11487LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2313_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11488LU) -); -} - -/* SessionSecurityDiagnosticsType - ns=0;i=2244 */ - -static UA_StatusCode function_namespace0_generated_2314_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2314_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2244LU) -); -} - -/* ClientCertificate - ns=0;i=3058 */ - -static UA_StatusCode function_namespace0_generated_2315_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3058LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2315_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3058LU) -); -} - -/* SecurityPolicyUri - ns=0;i=2252 */ - -static UA_StatusCode function_namespace0_generated_2316_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2252LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2316_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2252LU) -); -} - -/* SecurityMode - ns=0;i=2251 */ - -static UA_StatusCode function_namespace0_generated_2317_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2251LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2317_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2251LU) -); -} - -/* TransportProtocol - ns=0;i=2250 */ - -static UA_StatusCode function_namespace0_generated_2318_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2250LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2318_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2250LU) -); -} - -/* Encoding - ns=0;i=2249 */ - -static UA_StatusCode function_namespace0_generated_2319_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2249LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Encoding"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2319_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2249LU) -); -} - -/* AuthenticationMechanism - ns=0;i=2248 */ - -static UA_StatusCode function_namespace0_generated_2320_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2248LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2320_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2248LU) -); -} - -/* ClientUserIdHistory - ns=0;i=2247 */ - -static UA_StatusCode function_namespace0_generated_2321_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2247LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2321_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2247LU) -); -} - -/* ClientUserIdOfSession - ns=0;i=2246 */ - -static UA_StatusCode function_namespace0_generated_2322_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2246LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2322_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2246LU) -); -} - -/* SessionId - ns=0;i=2245 */ - -static UA_StatusCode function_namespace0_generated_2323_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2245LU), -UA_NODEID_NUMERIC(ns[0], 2244LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2323_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2245LU) -); -} - -/* SessionSecurityDiagnosticsArrayType - ns=0;i=2243 */ - -static UA_StatusCode function_namespace0_generated_2324_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArrayType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2243LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArrayType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2324_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2243LU) -); -} - -/* SessionSecurityDiagnostics - ns=0;i=12860 */ - -static UA_StatusCode function_namespace0_generated_2325_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 2243LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2244LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2325_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12860LU) -); -} - -/* ClientCertificate - ns=0;i=12869 */ - -static UA_StatusCode function_namespace0_generated_2326_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12869LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2326_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12869LU) -); -} - -/* SecurityPolicyUri - ns=0;i=12868 */ - -static UA_StatusCode function_namespace0_generated_2327_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12868LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2327_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12868LU) -); -} - -/* SecurityMode - ns=0;i=12867 */ - -static UA_StatusCode function_namespace0_generated_2328_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12867LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2328_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12867LU) -); -} - -/* TransportProtocol - ns=0;i=12866 */ - -static UA_StatusCode function_namespace0_generated_2329_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12866LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2329_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12866LU) -); -} - -/* Encoding - ns=0;i=12865 */ - -static UA_StatusCode function_namespace0_generated_2330_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12865LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Encoding"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2330_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12865LU) -); -} - -/* AuthenticationMechanism - ns=0;i=12864 */ - -static UA_StatusCode function_namespace0_generated_2331_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12864LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2331_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12864LU) -); -} - -/* ClientUserIdHistory - ns=0;i=12863 */ - -static UA_StatusCode function_namespace0_generated_2332_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12863LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2332_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12863LU) -); -} - -/* ClientUserIdOfSession - ns=0;i=12862 */ - -static UA_StatusCode function_namespace0_generated_2333_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12862LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2333_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12862LU) -); -} - -/* SessionId - ns=0;i=12861 */ - -static UA_StatusCode function_namespace0_generated_2334_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12861LU), -UA_NODEID_NUMERIC(ns[0], 12860LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2334_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12861LU) -); -} - -/* SessionDiagnosticsVariableType - ns=0;i=2197 */ - -static UA_StatusCode function_namespace0_generated_2335_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsVariableType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsVariableType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2335_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2197LU) -); -} - -/* TotalRequestCount - ns=0;i=8900 */ - -static UA_StatusCode function_namespace0_generated_2336_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8900LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2336_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8900LU) -); -} - -/* MaxResponseMessageSize - ns=0;i=3050 */ - -static UA_StatusCode function_namespace0_generated_2337_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3050LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2337_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3050LU) -); -} - -/* UnregisterNodesCount - ns=0;i=2731 */ - -static UA_StatusCode function_namespace0_generated_2338_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2731LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2338_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2731LU) -); -} - -/* RegisterNodesCount - ns=0;i=2730 */ - -static UA_StatusCode function_namespace0_generated_2339_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2730LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2339_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2730LU) -); -} - -/* QueryNextCount - ns=0;i=2242 */ - -static UA_StatusCode function_namespace0_generated_2340_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2242LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2340_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2242LU) -); -} - -/* QueryFirstCount - ns=0;i=2241 */ - -static UA_StatusCode function_namespace0_generated_2341_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2241LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2341_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2241LU) -); -} - -/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=2240 */ - -static UA_StatusCode function_namespace0_generated_2342_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2240LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2342_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2240LU) -); -} - -/* BrowseNextCount - ns=0;i=2239 */ - -static UA_StatusCode function_namespace0_generated_2343_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2239LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2343_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2239LU) -); -} - -/* BrowseCount - ns=0;i=2238 */ - -static UA_StatusCode function_namespace0_generated_2344_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2238LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2344_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2238LU) -); -} - -/* DeleteReferencesCount - ns=0;i=2237 */ - -static UA_StatusCode function_namespace0_generated_2345_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2237LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2345_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2237LU) -); -} - -/* DeleteNodesCount - ns=0;i=2236 */ - -static UA_StatusCode function_namespace0_generated_2346_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2236LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2346_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2236LU) -); -} - -/* AddReferencesCount - ns=0;i=2235 */ - -static UA_StatusCode function_namespace0_generated_2347_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2235LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2347_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2235LU) -); -} - -/* AddNodesCount - ns=0;i=2234 */ - -static UA_StatusCode function_namespace0_generated_2348_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2234LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2348_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2234LU) -); -} - -/* DeleteSubscriptionsCount - ns=0;i=2233 */ - -static UA_StatusCode function_namespace0_generated_2349_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2233LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2349_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2233LU) -); -} - -/* TransferSubscriptionsCount - ns=0;i=2232 */ - -static UA_StatusCode function_namespace0_generated_2350_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2232LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2350_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2232LU) -); -} - -/* RepublishCount - ns=0;i=2231 */ - -static UA_StatusCode function_namespace0_generated_2351_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2231LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2351_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2231LU) -); -} - -/* PublishCount - ns=0;i=2230 */ - -static UA_StatusCode function_namespace0_generated_2352_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2230LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2352_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2230LU) -); -} - -/* SetPublishingModeCount - ns=0;i=2229 */ - -static UA_StatusCode function_namespace0_generated_2353_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2229LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2353_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2229LU) -); -} - -/* ModifySubscriptionCount - ns=0;i=2228 */ - -static UA_StatusCode function_namespace0_generated_2354_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2228LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2354_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2228LU) -); -} - -/* CreateSubscriptionCount - ns=0;i=2227 */ - -static UA_StatusCode function_namespace0_generated_2355_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2227LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2355_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2227LU) -); -} - -/* DeleteMonitoredItemsCount - ns=0;i=2226 */ - -static UA_StatusCode function_namespace0_generated_2356_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2226LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2356_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2226LU) -); -} - -/* SetTriggeringCount - ns=0;i=2225 */ - -static UA_StatusCode function_namespace0_generated_2357_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2225LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2357_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2225LU) -); -} - -/* SetMonitoringModeCount - ns=0;i=2224 */ - -static UA_StatusCode function_namespace0_generated_2358_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2224LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2358_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2224LU) -); -} - -/* ModifyMonitoredItemsCount - ns=0;i=2223 */ - -static UA_StatusCode function_namespace0_generated_2359_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2223LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2359_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2223LU) -); -} - -/* CreateMonitoredItemsCount - ns=0;i=2222 */ - -static UA_StatusCode function_namespace0_generated_2360_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2222LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2360_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2222LU) -); -} - -/* CallCount - ns=0;i=2221 */ - -static UA_StatusCode function_namespace0_generated_2361_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2221LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CallCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2361_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2221LU) -); -} - -/* HistoryUpdateCount - ns=0;i=2220 */ - -static UA_StatusCode function_namespace0_generated_2362_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2220LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2362_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2220LU) -); -} - -/* WriteCount - ns=0;i=2219 */ - -static UA_StatusCode function_namespace0_generated_2363_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2219LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriteCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2363_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2219LU) -); -} - -/* HistoryReadCount - ns=0;i=2218 */ - -static UA_StatusCode function_namespace0_generated_2364_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2218LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2364_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2218LU) -); -} - -/* ReadCount - ns=0;i=2217 */ - -static UA_StatusCode function_namespace0_generated_2365_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2217LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2365_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2217LU) -); -} - -/* CurrentPublishRequestsInQueue - ns=0;i=2209 */ - -static UA_StatusCode function_namespace0_generated_2366_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2209LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2366_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2209LU) -); -} - -/* CurrentMonitoredItemsCount - ns=0;i=2208 */ - -static UA_StatusCode function_namespace0_generated_2367_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2208LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2367_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2208LU) -); -} - -/* CurrentSubscriptionsCount - ns=0;i=2207 */ - -static UA_StatusCode function_namespace0_generated_2368_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2207LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2368_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2207LU) -); -} - -/* ClientLastContactTime - ns=0;i=2206 */ - -static UA_StatusCode function_namespace0_generated_2369_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2206LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2369_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2206LU) -); -} - -/* ClientConnectionTime - ns=0;i=2205 */ - -static UA_StatusCode function_namespace0_generated_2370_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2205LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2370_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2205LU) -); -} - -/* ActualSessionTimeout - ns=0;i=2204 */ - -static UA_StatusCode function_namespace0_generated_2371_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2204LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2371_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2204LU) -); -} - -/* LocaleIds - ns=0;i=2203 */ - -static UA_StatusCode function_namespace0_generated_2372_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2203LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIds"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2372_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2203LU) -); -} - -/* EndpointUrl - ns=0;i=2202 */ - -static UA_StatusCode function_namespace0_generated_2373_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2202LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2373_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2202LU) -); -} - -/* ServerUri - ns=0;i=2201 */ - -static UA_StatusCode function_namespace0_generated_2374_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2201LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2374_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2201LU) -); -} - -/* ClientDescription - ns=0;i=2200 */ - -static UA_StatusCode function_namespace0_generated_2375_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2200LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientDescription"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2375_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2200LU) -); -} - -/* SessionName - ns=0;i=2199 */ - -static UA_StatusCode function_namespace0_generated_2376_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2199LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2376_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2199LU) -); -} - -/* SessionId - ns=0;i=2198 */ - -static UA_StatusCode function_namespace0_generated_2377_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2198LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2377_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2198LU) -); -} - -/* UnauthorizedRequestCount - ns=0;i=11892 */ - -static UA_StatusCode function_namespace0_generated_2378_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11892LU), -UA_NODEID_NUMERIC(ns[0], 2197LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2378_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11892LU) -); -} - -/* SessionDiagnosticsArrayType - ns=0;i=2196 */ - -static UA_StatusCode function_namespace0_generated_2379_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArrayType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2196LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArrayType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2379_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2196LU) -); -} - -/* SessionDiagnostics - ns=0;i=12816 */ - -static UA_StatusCode function_namespace0_generated_2380_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 2196LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2197LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2380_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12816LU) -); -} - -/* UnregisterNodesCount - ns=0;i=12859 */ - -static UA_StatusCode function_namespace0_generated_2381_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12859LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2381_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12859LU) -); -} - -/* RegisterNodesCount - ns=0;i=12858 */ - -static UA_StatusCode function_namespace0_generated_2382_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12858LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2382_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12858LU) -); -} - -/* QueryNextCount - ns=0;i=12857 */ - -static UA_StatusCode function_namespace0_generated_2383_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12857LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2383_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12857LU) -); -} - -/* QueryFirstCount - ns=0;i=12856 */ - -static UA_StatusCode function_namespace0_generated_2384_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12856LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2384_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12856LU) -); -} - -/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=12855 */ - -static UA_StatusCode function_namespace0_generated_2385_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12855LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2385_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12855LU) -); -} - -/* BrowseNextCount - ns=0;i=12854 */ - -static UA_StatusCode function_namespace0_generated_2386_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12854LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2386_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12854LU) -); -} - -/* BrowseCount - ns=0;i=12853 */ - -static UA_StatusCode function_namespace0_generated_2387_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12853LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2387_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12853LU) -); -} - -/* DeleteReferencesCount - ns=0;i=12852 */ - -static UA_StatusCode function_namespace0_generated_2388_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12852LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2388_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12852LU) -); -} - -/* DeleteNodesCount - ns=0;i=12851 */ - -static UA_StatusCode function_namespace0_generated_2389_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12851LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2389_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12851LU) -); -} - -/* AddReferencesCount - ns=0;i=12850 */ - -static UA_StatusCode function_namespace0_generated_2390_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12850LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2390_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12850LU) -); -} - -/* AddNodesCount - ns=0;i=12849 */ - -static UA_StatusCode function_namespace0_generated_2391_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12849LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2391_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12849LU) -); -} - -/* DeleteSubscriptionsCount - ns=0;i=12848 */ - -static UA_StatusCode function_namespace0_generated_2392_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12848LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2392_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12848LU) -); -} - -/* TransferSubscriptionsCount - ns=0;i=12847 */ - -static UA_StatusCode function_namespace0_generated_2393_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12847LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2393_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12847LU) -); -} - -/* RepublishCount - ns=0;i=12846 */ - -static UA_StatusCode function_namespace0_generated_2394_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12846LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2394_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12846LU) -); -} - -/* PublishCount - ns=0;i=12845 */ - -static UA_StatusCode function_namespace0_generated_2395_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12845LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2395_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12845LU) -); -} - -/* SetPublishingModeCount - ns=0;i=12844 */ - -static UA_StatusCode function_namespace0_generated_2396_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12844LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2396_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12844LU) -); -} - -/* ModifySubscriptionCount - ns=0;i=12843 */ - -static UA_StatusCode function_namespace0_generated_2397_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12843LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2397_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12843LU) -); -} - -/* CreateSubscriptionCount - ns=0;i=12842 */ - -static UA_StatusCode function_namespace0_generated_2398_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12842LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2398_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12842LU) -); -} - -/* DeleteMonitoredItemsCount - ns=0;i=12841 */ - -static UA_StatusCode function_namespace0_generated_2399_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12841LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2399_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12841LU) -); -} - -/* SetTriggeringCount - ns=0;i=12840 */ - -static UA_StatusCode function_namespace0_generated_2400_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12840LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2400_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12840LU) -); -} - -/* SetMonitoringModeCount - ns=0;i=12839 */ - -static UA_StatusCode function_namespace0_generated_2401_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12839LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2401_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12839LU) -); -} - -/* ModifyMonitoredItemsCount - ns=0;i=12838 */ - -static UA_StatusCode function_namespace0_generated_2402_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12838LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2402_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12838LU) -); -} - -/* CreateMonitoredItemsCount - ns=0;i=12837 */ - -static UA_StatusCode function_namespace0_generated_2403_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12837LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2403_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12837LU) -); -} - -/* CallCount - ns=0;i=12836 */ - -static UA_StatusCode function_namespace0_generated_2404_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12836LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CallCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2404_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12836LU) -); -} - -/* HistoryUpdateCount - ns=0;i=12835 */ - -static UA_StatusCode function_namespace0_generated_2405_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12835LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2405_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12835LU) -); -} - -/* WriteCount - ns=0;i=12834 */ - -static UA_StatusCode function_namespace0_generated_2406_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12834LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriteCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2406_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12834LU) -); -} - -/* HistoryReadCount - ns=0;i=12833 */ - -static UA_StatusCode function_namespace0_generated_2407_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12833LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2407_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12833LU) -); -} - -/* ReadCount - ns=0;i=12832 */ - -static UA_StatusCode function_namespace0_generated_2408_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12832LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2408_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12832LU) -); -} - -/* UnauthorizedRequestCount - ns=0;i=12831 */ - -static UA_StatusCode function_namespace0_generated_2409_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12831LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2409_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12831LU) -); -} - -/* TotalRequestCount - ns=0;i=12830 */ - -static UA_StatusCode function_namespace0_generated_2410_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12830LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2410_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12830LU) -); -} - -/* CurrentPublishRequestsInQueue - ns=0;i=12829 */ - -static UA_StatusCode function_namespace0_generated_2411_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12829LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2411_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12829LU) -); -} - -/* CurrentMonitoredItemsCount - ns=0;i=12828 */ - -static UA_StatusCode function_namespace0_generated_2412_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12828LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2412_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12828LU) -); -} - -/* CurrentSubscriptionsCount - ns=0;i=12827 */ - -static UA_StatusCode function_namespace0_generated_2413_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12827LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2413_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12827LU) -); -} - -/* ClientLastContactTime - ns=0;i=12826 */ - -static UA_StatusCode function_namespace0_generated_2414_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12826LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2414_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12826LU) -); -} - -/* ClientConnectionTime - ns=0;i=12825 */ - -static UA_StatusCode function_namespace0_generated_2415_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12825LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2415_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12825LU) -); -} - -/* MaxResponseMessageSize - ns=0;i=12824 */ - -static UA_StatusCode function_namespace0_generated_2416_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12824LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2416_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12824LU) -); -} - -/* ActualSessionTimeout - ns=0;i=12823 */ - -static UA_StatusCode function_namespace0_generated_2417_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12823LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2417_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12823LU) -); -} - -/* LocaleIds - ns=0;i=12822 */ - -static UA_StatusCode function_namespace0_generated_2418_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12822LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIds"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2418_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12822LU) -); -} - -/* EndpointUrl - ns=0;i=12821 */ - -static UA_StatusCode function_namespace0_generated_2419_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12821LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2419_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12821LU) -); -} - -/* ServerUri - ns=0;i=12820 */ - -static UA_StatusCode function_namespace0_generated_2420_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12820LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2420_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12820LU) -); -} - -/* ClientDescription - ns=0;i=12819 */ - -static UA_StatusCode function_namespace0_generated_2421_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12819LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientDescription"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2421_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12819LU) -); -} - -/* SessionName - ns=0;i=12818 */ - -static UA_StatusCode function_namespace0_generated_2422_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12818LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2422_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12818LU) -); -} - -/* SessionId - ns=0;i=12817 */ - -static UA_StatusCode function_namespace0_generated_2423_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12817LU), -UA_NODEID_NUMERIC(ns[0], 12816LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2423_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12817LU) -); -} - -/* SubscriptionDiagnosticsType - ns=0;i=2172 */ - -static UA_StatusCode function_namespace0_generated_2424_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2424_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2172LU) -); -} - -/* EventQueueOverflowCount - ns=0;i=8902 */ - -static UA_StatusCode function_namespace0_generated_2425_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventQueueOverflowCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8902LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EventQueueOverflowCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2425_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8902LU) -); -} - -/* NextSequenceNumber - ns=0;i=8897 */ - -static UA_StatusCode function_namespace0_generated_2426_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NextSequenceNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8897LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NextSequenceNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2426_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8897LU) -); -} - -/* MonitoringQueueOverflowCount - ns=0;i=8896 */ - -static UA_StatusCode function_namespace0_generated_2427_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringQueueOverflowCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8896LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MonitoringQueueOverflowCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2427_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8896LU) -); -} - -/* DisabledMonitoredItemCount - ns=0;i=8895 */ - -static UA_StatusCode function_namespace0_generated_2428_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8895LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2428_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8895LU) -); -} - -/* MonitoredItemCount - ns=0;i=8894 */ - -static UA_StatusCode function_namespace0_generated_2429_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoredItemCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8894LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MonitoredItemCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2429_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8894LU) -); -} - -/* DiscardedMessageCount - ns=0;i=8893 */ - -static UA_StatusCode function_namespace0_generated_2430_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscardedMessageCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8893LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiscardedMessageCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2430_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8893LU) -); -} - -/* UnacknowledgedMessageCount - ns=0;i=8892 */ - -static UA_StatusCode function_namespace0_generated_2431_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnacknowledgedMessageCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8892LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnacknowledgedMessageCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2431_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8892LU) -); -} - -/* CurrentLifetimeCount - ns=0;i=8891 */ - -static UA_StatusCode function_namespace0_generated_2432_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentLifetimeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8891LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentLifetimeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2432_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8891LU) -); -} - -/* CurrentKeepAliveCount - ns=0;i=8890 */ - -static UA_StatusCode function_namespace0_generated_2433_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentKeepAliveCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8890LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentKeepAliveCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2433_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8890LU) -); -} - -/* LatePublishRequestCount - ns=0;i=8889 */ - -static UA_StatusCode function_namespace0_generated_2434_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LatePublishRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8889LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LatePublishRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2434_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8889LU) -); -} - -/* MaxLifetimeCount - ns=0;i=8888 */ - -static UA_StatusCode function_namespace0_generated_2435_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxLifetimeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8888LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxLifetimeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2435_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8888LU) -); -} - -/* EventNotificationsCount - ns=0;i=2998 */ - -static UA_StatusCode function_namespace0_generated_2436_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventNotificationsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2998LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EventNotificationsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2436_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2998LU) -); -} - -/* NotificationsCount - ns=0;i=2193 */ - -static UA_StatusCode function_namespace0_generated_2437_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NotificationsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2193LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NotificationsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2437_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2193LU) -); -} - -/* DataChangeNotificationsCount - ns=0;i=2191 */ - -static UA_StatusCode function_namespace0_generated_2438_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataChangeNotificationsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2191LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataChangeNotificationsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2438_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2191LU) -); -} - -/* PublishRequestCount - ns=0;i=2190 */ - -static UA_StatusCode function_namespace0_generated_2439_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2190LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2439_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2190LU) -); -} - -/* TransferredToSameClientCount - ns=0;i=2189 */ - -static UA_StatusCode function_namespace0_generated_2440_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToSameClientCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2189LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferredToSameClientCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2440_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2189LU) -); -} - -/* TransferredToAltClientCount - ns=0;i=2188 */ - -static UA_StatusCode function_namespace0_generated_2441_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToAltClientCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2188LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferredToAltClientCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2441_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2188LU) -); -} - -/* TransferRequestCount - ns=0;i=2187 */ - -static UA_StatusCode function_namespace0_generated_2442_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2187LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2442_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2187LU) -); -} - -/* RepublishMessageCount - ns=0;i=2186 */ - -static UA_StatusCode function_namespace0_generated_2443_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2186LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishMessageCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2443_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2186LU) -); -} - -/* RepublishMessageRequestCount - ns=0;i=2185 */ - -static UA_StatusCode function_namespace0_generated_2444_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2185LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishMessageRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2444_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2185LU) -); -} - -/* RepublishRequestCount - ns=0;i=2184 */ - -static UA_StatusCode function_namespace0_generated_2445_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2184LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2445_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2184LU) -); -} - -/* DisableCount - ns=0;i=2183 */ - -static UA_StatusCode function_namespace0_generated_2446_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DisableCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2183LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisableCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2446_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2183LU) -); -} - -/* EnableCount - ns=0;i=2182 */ - -static UA_StatusCode function_namespace0_generated_2447_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnableCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2182LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnableCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2447_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2182LU) -); -} - -/* ModifyCount - ns=0;i=2181 */ - -static UA_StatusCode function_namespace0_generated_2448_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2181LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2448_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2181LU) -); -} - -/* PublishingEnabled - ns=0;i=2180 */ - -static UA_StatusCode function_namespace0_generated_2449_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingEnabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2180LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingEnabled"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2449_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2180LU) -); -} - -/* MaxNotificationsPerPublish - ns=0;i=2179 */ - -static UA_StatusCode function_namespace0_generated_2450_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNotificationsPerPublish"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2179LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxNotificationsPerPublish"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2450_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2179LU) -); -} - -/* MaxKeepAliveCount - ns=0;i=2177 */ - -static UA_StatusCode function_namespace0_generated_2451_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxKeepAliveCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2177LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxKeepAliveCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2451_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2177LU) -); -} - -/* PublishingInterval - ns=0;i=2176 */ - -static UA_StatusCode function_namespace0_generated_2452_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2176LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2452_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2176LU) -); -} - -/* Priority - ns=0;i=2175 */ - -static UA_StatusCode function_namespace0_generated_2453_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2175LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Priority"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2453_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2175LU) -); -} - -/* SubscriptionId - ns=0;i=2174 */ - -static UA_StatusCode function_namespace0_generated_2454_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2174LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2454_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2174LU) -); -} - -/* SessionId - ns=0;i=2173 */ - -static UA_StatusCode function_namespace0_generated_2455_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2173LU), -UA_NODEID_NUMERIC(ns[0], 2172LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2455_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2173LU) -); -} - -/* SubscriptionDiagnosticsArrayType - ns=0;i=2171 */ - -static UA_StatusCode function_namespace0_generated_2456_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArrayType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2171LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArrayType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2456_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2171LU) -); -} - -/* SubscriptionDiagnostics - ns=0;i=12784 */ - -static UA_StatusCode function_namespace0_generated_2457_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 2171LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2172LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2457_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12784LU) -); -} - -/* EventQueueOverflowCount - ns=0;i=12815 */ - -static UA_StatusCode function_namespace0_generated_2458_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventQueueOverflowCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12815LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EventQueueOverflowCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2458_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12815LU) -); -} - -/* NextSequenceNumber - ns=0;i=12814 */ - -static UA_StatusCode function_namespace0_generated_2459_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NextSequenceNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12814LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NextSequenceNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2459_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12814LU) -); -} - -/* MonitoringQueueOverflowCount - ns=0;i=12813 */ - -static UA_StatusCode function_namespace0_generated_2460_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringQueueOverflowCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12813LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MonitoringQueueOverflowCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2460_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12813LU) -); -} - -/* DisabledMonitoredItemCount - ns=0;i=12812 */ - -static UA_StatusCode function_namespace0_generated_2461_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12812LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2461_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12812LU) -); -} - -/* MonitoredItemCount - ns=0;i=12811 */ - -static UA_StatusCode function_namespace0_generated_2462_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoredItemCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12811LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MonitoredItemCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2462_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12811LU) -); -} - -/* DiscardedMessageCount - ns=0;i=12810 */ - -static UA_StatusCode function_namespace0_generated_2463_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscardedMessageCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12810LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiscardedMessageCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2463_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12810LU) -); -} - -/* UnacknowledgedMessageCount - ns=0;i=12809 */ - -static UA_StatusCode function_namespace0_generated_2464_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnacknowledgedMessageCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12809LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnacknowledgedMessageCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2464_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12809LU) -); -} - -/* CurrentLifetimeCount - ns=0;i=12808 */ - -static UA_StatusCode function_namespace0_generated_2465_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentLifetimeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12808LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentLifetimeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2465_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12808LU) -); -} - -/* CurrentKeepAliveCount - ns=0;i=12807 */ - -static UA_StatusCode function_namespace0_generated_2466_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentKeepAliveCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12807LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentKeepAliveCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2466_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12807LU) -); -} - -/* LatePublishRequestCount - ns=0;i=12806 */ - -static UA_StatusCode function_namespace0_generated_2467_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LatePublishRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12806LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LatePublishRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2467_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12806LU) -); -} - -/* NotificationsCount - ns=0;i=12805 */ - -static UA_StatusCode function_namespace0_generated_2468_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NotificationsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12805LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NotificationsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2468_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12805LU) -); -} - -/* EventNotificationsCount - ns=0;i=12804 */ - -static UA_StatusCode function_namespace0_generated_2469_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventNotificationsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12804LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EventNotificationsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2469_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12804LU) -); -} - -/* DataChangeNotificationsCount - ns=0;i=12803 */ - -static UA_StatusCode function_namespace0_generated_2470_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataChangeNotificationsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12803LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataChangeNotificationsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2470_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12803LU) -); -} - -/* PublishRequestCount - ns=0;i=12802 */ - -static UA_StatusCode function_namespace0_generated_2471_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12802LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2471_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12802LU) -); -} - -/* TransferredToSameClientCount - ns=0;i=12801 */ - -static UA_StatusCode function_namespace0_generated_2472_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToSameClientCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12801LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferredToSameClientCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2472_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12801LU) -); -} - -/* TransferredToAltClientCount - ns=0;i=12800 */ - -static UA_StatusCode function_namespace0_generated_2473_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferredToAltClientCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12800LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferredToAltClientCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2473_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12800LU) -); -} - -/* TransferRequestCount - ns=0;i=12799 */ - -static UA_StatusCode function_namespace0_generated_2474_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12799LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2474_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12799LU) -); -} - -/* RepublishMessageCount - ns=0;i=12798 */ - -static UA_StatusCode function_namespace0_generated_2475_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12798LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishMessageCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2475_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12798LU) -); -} - -/* RepublishMessageRequestCount - ns=0;i=12797 */ - -static UA_StatusCode function_namespace0_generated_2476_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishMessageRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12797LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishMessageRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2476_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12797LU) -); -} - -/* RepublishRequestCount - ns=0;i=12796 */ - -static UA_StatusCode function_namespace0_generated_2477_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12796LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2477_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12796LU) -); -} - -/* DisableCount - ns=0;i=12795 */ - -static UA_StatusCode function_namespace0_generated_2478_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DisableCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12795LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisableCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2478_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12795LU) -); -} - -/* EnableCount - ns=0;i=12794 */ - -static UA_StatusCode function_namespace0_generated_2479_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnableCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12794LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnableCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2479_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12794LU) -); -} - -/* ModifyCount - ns=0;i=12793 */ - -static UA_StatusCode function_namespace0_generated_2480_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12793LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2480_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12793LU) -); -} - -/* PublishingEnabled - ns=0;i=12792 */ - -static UA_StatusCode function_namespace0_generated_2481_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingEnabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12792LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingEnabled"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2481_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12792LU) -); -} - -/* MaxNotificationsPerPublish - ns=0;i=12791 */ - -static UA_StatusCode function_namespace0_generated_2482_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNotificationsPerPublish"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12791LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxNotificationsPerPublish"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2482_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12791LU) -); -} - -/* MaxLifetimeCount - ns=0;i=12790 */ - -static UA_StatusCode function_namespace0_generated_2483_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxLifetimeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12790LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxLifetimeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2483_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12790LU) -); -} - -/* MaxKeepAliveCount - ns=0;i=12789 */ - -static UA_StatusCode function_namespace0_generated_2484_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxKeepAliveCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12789LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxKeepAliveCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2484_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12789LU) -); -} - -/* PublishingInterval - ns=0;i=12788 */ - -static UA_StatusCode function_namespace0_generated_2485_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12788LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingInterval"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2485_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12788LU) -); -} - -/* Priority - ns=0;i=12787 */ - -static UA_StatusCode function_namespace0_generated_2486_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Priority"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12787LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Priority"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2486_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12787LU) -); -} - -/* SubscriptionId - ns=0;i=12786 */ - -static UA_StatusCode function_namespace0_generated_2487_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12786LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2487_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12786LU) -); -} - -/* SessionId - ns=0;i=12785 */ - -static UA_StatusCode function_namespace0_generated_2488_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12785LU), -UA_NODEID_NUMERIC(ns[0], 12784LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2488_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12785LU) -); -} - -/* SamplingIntervalDiagnosticsType - ns=0;i=2165 */ - -static UA_StatusCode function_namespace0_generated_2489_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2165LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2489_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2165LU) -); -} - -/* SamplingInterval - ns=0;i=2166 */ - -static UA_StatusCode function_namespace0_generated_2490_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2166LU), -UA_NODEID_NUMERIC(ns[0], 2165LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingInterval"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2490_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2166LU) -); -} - -/* DisabledMonitoredItemsSamplingCount - ns=0;i=11699 */ - -static UA_StatusCode function_namespace0_generated_2491_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemsSamplingCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11699LU), -UA_NODEID_NUMERIC(ns[0], 2165LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemsSamplingCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2491_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11699LU) -); -} - -/* MaxSampledMonitoredItemsCount - ns=0;i=11698 */ - -static UA_StatusCode function_namespace0_generated_2492_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSampledMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11698LU), -UA_NODEID_NUMERIC(ns[0], 2165LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxSampledMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2492_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11698LU) -); -} - -/* SampledMonitoredItemsCount - ns=0;i=11697 */ - -static UA_StatusCode function_namespace0_generated_2493_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SampledMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11697LU), -UA_NODEID_NUMERIC(ns[0], 2165LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SampledMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2493_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11697LU) -); -} - -/* SamplingIntervalDiagnosticsArrayType - ns=0;i=2164 */ - -static UA_StatusCode function_namespace0_generated_2494_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsArrayType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2164LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsArrayType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2494_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2164LU) -); -} - -/* SamplingIntervalDiagnostics - ns=0;i=12779 */ - -static UA_StatusCode function_namespace0_generated_2495_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12779LU), -UA_NODEID_NUMERIC(ns[0], 2164LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2165LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2495_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12779LU) -); -} - -/* DisabledMonitoredItemsSamplingCount - ns=0;i=12783 */ - -static UA_StatusCode function_namespace0_generated_2496_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DisabledMonitoredItemsSamplingCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12783LU), -UA_NODEID_NUMERIC(ns[0], 12779LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DisabledMonitoredItemsSamplingCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2496_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12783LU) -); -} - -/* MaxSampledMonitoredItemsCount - ns=0;i=12782 */ - -static UA_StatusCode function_namespace0_generated_2497_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSampledMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12782LU), -UA_NODEID_NUMERIC(ns[0], 12779LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxSampledMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2497_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12782LU) -); -} - -/* SampledMonitoredItemsCount - ns=0;i=12781 */ - -static UA_StatusCode function_namespace0_generated_2498_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SampledMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12781LU), -UA_NODEID_NUMERIC(ns[0], 12779LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SampledMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2498_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12781LU) -); -} - -/* SamplingInterval - ns=0;i=12780 */ - -static UA_StatusCode function_namespace0_generated_2499_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingInterval"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12780LU), -UA_NODEID_NUMERIC(ns[0], 12779LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingInterval"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2499_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12780LU) -); -} - -/* ServerDiagnosticsSummaryType - ns=0;i=2150 */ - -static UA_StatusCode function_namespace0_generated_2500_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2500_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2150LU) -); -} - -/* RejectedRequestsCount - ns=0;i=2163 */ - -static UA_StatusCode function_namespace0_generated_2501_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2163LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2501_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2163LU) -); -} - -/* SecurityRejectedRequestsCount - ns=0;i=2162 */ - -static UA_StatusCode function_namespace0_generated_2502_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2162LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2502_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2162LU) -); -} - -/* CumulatedSubscriptionCount - ns=0;i=2161 */ - -static UA_StatusCode function_namespace0_generated_2503_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2161LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2503_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2161LU) -); -} - -/* CurrentSubscriptionCount - ns=0;i=2160 */ - -static UA_StatusCode function_namespace0_generated_2504_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2160LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2504_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2160LU) -); -} - -/* PublishingIntervalCount - ns=0;i=2159 */ - -static UA_StatusCode function_namespace0_generated_2505_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2159LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2505_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2159LU) -); -} - -/* SessionAbortCount - ns=0;i=2157 */ - -static UA_StatusCode function_namespace0_generated_2506_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2157LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2506_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2157LU) -); -} - -/* SessionTimeoutCount - ns=0;i=2156 */ - -static UA_StatusCode function_namespace0_generated_2507_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2156LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2507_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2156LU) -); -} - -/* RejectedSessionCount - ns=0;i=2155 */ - -static UA_StatusCode function_namespace0_generated_2508_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2155LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2508_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2155LU) -); -} - -/* SecurityRejectedSessionCount - ns=0;i=2154 */ - -static UA_StatusCode function_namespace0_generated_2509_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2154LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2509_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2154LU) -); -} - -/* CumulatedSessionCount - ns=0;i=2153 */ - -static UA_StatusCode function_namespace0_generated_2510_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2153LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2510_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2153LU) -); -} - -/* CurrentSessionCount - ns=0;i=2152 */ - -static UA_StatusCode function_namespace0_generated_2511_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2152LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2511_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2152LU) -); -} - -/* ServerViewCount - ns=0;i=2151 */ - -static UA_StatusCode function_namespace0_generated_2512_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2151LU), -UA_NODEID_NUMERIC(ns[0], 2150LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2512_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2151LU) -); -} - -/* BuildInfoType - ns=0;i=3051 */ - -static UA_StatusCode function_namespace0_generated_2513_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfoType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfoType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2513_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3051LU) -); -} - -/* BuildDate - ns=0;i=3057 */ - -static UA_StatusCode function_namespace0_generated_2514_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3057LU), -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildDate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2514_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3057LU) -); -} - -/* BuildNumber - ns=0;i=3056 */ - -static UA_StatusCode function_namespace0_generated_2515_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3056LU), -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2515_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3056LU) -); -} - -/* SoftwareVersion - ns=0;i=3055 */ - -static UA_StatusCode function_namespace0_generated_2516_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3055LU), -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2516_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3055LU) -); -} - -/* ProductName - ns=0;i=3054 */ - -static UA_StatusCode function_namespace0_generated_2517_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3054LU), -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2517_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3054LU) -); -} - -/* ManufacturerName - ns=0;i=3053 */ - -static UA_StatusCode function_namespace0_generated_2518_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3053LU), -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2518_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3053LU) -); -} - -/* ProductUri - ns=0;i=3052 */ - -static UA_StatusCode function_namespace0_generated_2519_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3052LU), -UA_NODEID_NUMERIC(ns[0], 3051LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2519_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3052LU) -); -} - -/* ServerStatusType - ns=0;i=2138 */ - -static UA_StatusCode function_namespace0_generated_2520_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 862LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerStatusType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2520_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2138LU) -); -} - -/* ShutdownReason - ns=0;i=2753 */ - -static UA_StatusCode function_namespace0_generated_2521_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ShutdownReason"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2753LU), -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ShutdownReason"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2521_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2753LU) -); -} - -/* SecondsTillShutdown - ns=0;i=2752 */ - -static UA_StatusCode function_namespace0_generated_2522_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecondsTillShutdown"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2752LU), -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecondsTillShutdown"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2522_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2752LU) -); -} - -/* BuildInfo - ns=0;i=2142 */ - -static UA_StatusCode function_namespace0_generated_2523_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfo"), -UA_NODEID_NUMERIC(ns[0], 3051LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2523_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2142LU) -); -} - -/* BuildDate - ns=0;i=3703 */ - -static UA_StatusCode function_namespace0_generated_2524_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3703LU), -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildDate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2524_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3703LU) -); -} - -/* BuildNumber - ns=0;i=3702 */ - -static UA_StatusCode function_namespace0_generated_2525_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3702LU), -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2525_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3702LU) -); -} - -/* SoftwareVersion - ns=0;i=3701 */ - -static UA_StatusCode function_namespace0_generated_2526_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3701LU), -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2526_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3701LU) -); -} - -/* ProductName - ns=0;i=3700 */ - -static UA_StatusCode function_namespace0_generated_2527_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3700LU), -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2527_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3700LU) -); -} - -/* ManufacturerName - ns=0;i=3699 */ - -static UA_StatusCode function_namespace0_generated_2528_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3699LU), -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2528_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3699LU) -); -} - -/* ProductUri - ns=0;i=3698 */ - -static UA_StatusCode function_namespace0_generated_2529_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3698LU), -UA_NODEID_NUMERIC(ns[0], 2142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2529_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3698LU) -); -} - -/* State - ns=0;i=2141 */ - -static UA_StatusCode function_namespace0_generated_2530_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2141LU), -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2530_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2141LU) -); -} - -/* CurrentTime - ns=0;i=2140 */ - -static UA_StatusCode function_namespace0_generated_2531_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2140LU), -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2531_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2140LU) -); -} - -/* StartTime - ns=0;i=2139 */ - -static UA_StatusCode function_namespace0_generated_2532_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2139LU), -UA_NODEID_NUMERIC(ns[0], 2138LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2532_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2139LU) -); -} - -/* ServerVendorCapabilityType - ns=0;i=2137 */ - -static UA_StatusCode function_namespace0_generated_2533_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -attr.isAbstract = true; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerVendorCapabilityType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 2137LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerVendorCapabilityType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2533_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2137LU) -); -} - -/* AggregateFunctionType - ns=0;i=2340 */ - -static UA_StatusCode function_namespace0_generated_2534_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2340LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctionType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2534_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2340LU) -); -} - -/* WorstQuality - ns=0;i=2364 */ - -static UA_StatusCode function_namespace0_generated_2535_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "WorstQuality"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2364LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "WorstQuality"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2535_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2364LU) -); -} - -/* PercentBad - ns=0;i=2363 */ - -static UA_StatusCode function_namespace0_generated_2536_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PercentBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2363LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "PercentBad"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2536_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2363LU) -); -} - -/* PercentGood - ns=0;i=2362 */ - -static UA_StatusCode function_namespace0_generated_2537_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PercentGood"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2362LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "PercentGood"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2537_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2362LU) -); -} - -/* DurationBad - ns=0;i=2361 */ - -static UA_StatusCode function_namespace0_generated_2538_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DurationBad"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2361LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "DurationBad"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2538_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2361LU) -); -} - -/* DurationGood - ns=0;i=2360 */ - -static UA_StatusCode function_namespace0_generated_2539_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DurationGood"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2360LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "DurationGood"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2539_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2360LU) -); -} - -/* Delta - ns=0;i=2359 */ - -static UA_StatusCode function_namespace0_generated_2540_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Delta"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2359LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Delta"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2540_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2359LU) -); -} - -/* End - ns=0;i=2358 */ - -static UA_StatusCode function_namespace0_generated_2541_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "End"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2358LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "End"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2541_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2358LU) -); -} - -/* Start - ns=0;i=2357 */ - -static UA_StatusCode function_namespace0_generated_2542_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Start"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2357LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Start"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2542_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2357LU) -); -} - -/* NumberOfTransitions - ns=0;i=2355 */ - -static UA_StatusCode function_namespace0_generated_2543_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NumberOfTransitions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2355LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "NumberOfTransitions"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2543_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2355LU) -); -} - -/* Count - ns=0;i=2352 */ - -static UA_StatusCode function_namespace0_generated_2544_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Count"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2352LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Count"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2544_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2352LU) -); -} - -/* AnnotationCount - ns=0;i=2351 */ - -static UA_StatusCode function_namespace0_generated_2545_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AnnotationCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2351LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "AnnotationCount"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2545_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2351LU) -); -} - -/* Range - ns=0;i=2350 */ - -static UA_StatusCode function_namespace0_generated_2546_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Range"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2350LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Range"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2546_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2350LU) -); -} - -/* MaximumActualTime - ns=0;i=2349 */ - -static UA_StatusCode function_namespace0_generated_2547_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MaximumActualTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2349LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MaximumActualTime"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2547_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2349LU) -); -} - -/* MinimumActualTime - ns=0;i=2348 */ - -static UA_StatusCode function_namespace0_generated_2548_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MinimumActualTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2348LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MinimumActualTime"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2548_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2348LU) -); -} - -/* Maximum - ns=0;i=2347 */ - -static UA_StatusCode function_namespace0_generated_2549_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Maximum"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2347LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Maximum"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2549_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2347LU) -); -} - -/* Minimum - ns=0;i=2346 */ - -static UA_StatusCode function_namespace0_generated_2550_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Minimum"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2346LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Minimum"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2550_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2346LU) -); -} - -/* Total - ns=0;i=2344 */ - -static UA_StatusCode function_namespace0_generated_2551_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Total"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2344LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Total"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2551_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2344LU) -); -} - -/* TimeAverage - ns=0;i=2343 */ - -static UA_StatusCode function_namespace0_generated_2552_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimeAverage"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2343LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "TimeAverage"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2552_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2343LU) -); -} - -/* Average - ns=0;i=2342 */ - -static UA_StatusCode function_namespace0_generated_2553_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Average"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2342LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Average"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2553_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2342LU) -); -} - -/* Interpolative - ns=0;i=2341 */ - -static UA_StatusCode function_namespace0_generated_2554_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Interpolative"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2341LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Interpolative"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2554_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2341LU) -); -} - -/* DeltaBounds - ns=0;i=11507 */ - -static UA_StatusCode function_namespace0_generated_2555_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DeltaBounds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11507LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "DeltaBounds"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2555_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11507LU) -); -} - -/* EndBound - ns=0;i=11506 */ - -static UA_StatusCode function_namespace0_generated_2556_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "EndBound"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11506LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "EndBound"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2556_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11506LU) -); -} - -/* StartBound - ns=0;i=11505 */ - -static UA_StatusCode function_namespace0_generated_2557_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StartBound"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11505LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "StartBound"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2557_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11505LU) -); -} - -/* VariancePopulation - ns=0;i=11429 */ - -static UA_StatusCode function_namespace0_generated_2558_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "VariancePopulation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11429LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "VariancePopulation"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2558_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11429LU) -); -} - -/* VarianceSample - ns=0;i=11428 */ - -static UA_StatusCode function_namespace0_generated_2559_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "VarianceSample"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11428LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "VarianceSample"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2559_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11428LU) -); -} - -/* StandardDeviationPopulation - ns=0;i=11427 */ - -static UA_StatusCode function_namespace0_generated_2560_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StandardDeviationPopulation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11427LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "StandardDeviationPopulation"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2560_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11427LU) -); -} - -/* StandardDeviationSample - ns=0;i=11426 */ - -static UA_StatusCode function_namespace0_generated_2561_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "StandardDeviationSample"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11426LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "StandardDeviationSample"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2561_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11426LU) -); -} - -/* DurationInStateNonZero - ns=0;i=11308 */ - -static UA_StatusCode function_namespace0_generated_2562_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DurationInStateNonZero"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11308LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "DurationInStateNonZero"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2562_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11308LU) -); -} - -/* DurationInStateZero - ns=0;i=11307 */ - -static UA_StatusCode function_namespace0_generated_2563_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DurationInStateZero"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11307LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "DurationInStateZero"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2563_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11307LU) -); -} - -/* MaximumActualTime2 - ns=0;i=11306 */ - -static UA_StatusCode function_namespace0_generated_2564_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MaximumActualTime2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11306LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MaximumActualTime2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2564_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11306LU) -); -} - -/* MinimumActualTime2 - ns=0;i=11305 */ - -static UA_StatusCode function_namespace0_generated_2565_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MinimumActualTime2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11305LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MinimumActualTime2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2565_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11305LU) -); -} - -/* Total2 - ns=0;i=11304 */ - -static UA_StatusCode function_namespace0_generated_2566_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Total2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11304LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Total2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2566_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11304LU) -); -} - -/* WorstQuality2 - ns=0;i=11292 */ - -static UA_StatusCode function_namespace0_generated_2567_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "WorstQuality2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11292LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "WorstQuality2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2567_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11292LU) -); -} - -/* Range2 - ns=0;i=11288 */ - -static UA_StatusCode function_namespace0_generated_2568_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Range2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11288LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Range2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2568_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11288LU) -); -} - -/* Maximum2 - ns=0;i=11287 */ - -static UA_StatusCode function_namespace0_generated_2569_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Maximum2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11287LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Maximum2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2569_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11287LU) -); -} - -/* Minimum2 - ns=0;i=11286 */ - -static UA_StatusCode function_namespace0_generated_2570_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Minimum2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11286LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Minimum2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2570_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11286LU) -); -} - -/* TimeAverage2 - ns=0;i=11285 */ - -static UA_StatusCode function_namespace0_generated_2571_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TimeAverage2"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11285LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "TimeAverage2"), -UA_NODEID_NUMERIC(ns[0], 2340LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2571_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11285LU) -); -} - -/* ProgressEventType - ns=0;i=11436 */ - -static UA_StatusCode function_namespace0_generated_2572_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ProgressEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11436LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgressEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2572_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11436LU) -); -} - -/* Progress - ns=0;i=12503 */ - -static UA_StatusCode function_namespace0_generated_2573_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Progress"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12503LU), -UA_NODEID_NUMERIC(ns[0], 11436LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Progress"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2573_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12503LU) -); -} - -/* Context - ns=0;i=12502 */ - -static UA_StatusCode function_namespace0_generated_2574_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Context"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12502LU), -UA_NODEID_NUMERIC(ns[0], 11436LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Context"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2574_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12502LU) -); -} - -/* EventQueueOverflowEventType - ns=0;i=3035 */ - -static UA_StatusCode function_namespace0_generated_2575_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "EventQueueOverflowEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3035LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "EventQueueOverflowEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2575_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3035LU) -); -} - -/* SemanticChangeEventType - ns=0;i=2738 */ - -static UA_StatusCode function_namespace0_generated_2576_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2738LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SemanticChangeEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2576_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2738LU) -); -} - -/* Changes - ns=0;i=2739 */ - -static UA_StatusCode function_namespace0_generated_2577_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 897LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Changes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2739LU), -UA_NODEID_NUMERIC(ns[0], 2738LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Changes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2577_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2739LU) -); -} - -/* BaseModelChangeEventType - ns=0;i=2132 */ - -static UA_StatusCode function_namespace0_generated_2578_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "BaseModelChangeEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2132LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "BaseModelChangeEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2578_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2132LU) -); -} - -/* GeneralModelChangeEventType - ns=0;i=2133 */ - -static UA_StatusCode function_namespace0_generated_2579_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GeneralModelChangeEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2133LU), -UA_NODEID_NUMERIC(ns[0], 2132LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "GeneralModelChangeEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2133LU), UA_NODEID_NUMERIC(ns[0], 41LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23518LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2579_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2133LU) -); -} - -/* Changes - ns=0;i=2134 */ - -static UA_StatusCode function_namespace0_generated_2580_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 877LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Changes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2134LU), -UA_NODEID_NUMERIC(ns[0], 2133LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Changes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2580_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2134LU) -); -} - -/* SystemEventType - ns=0;i=2130 */ - -static UA_StatusCode function_namespace0_generated_2581_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SystemEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SystemEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2581_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2130LU) -); -} - -/* RefreshRequiredEventType - ns=0;i=2789 */ - -static UA_StatusCode function_namespace0_generated_2582_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RefreshRequiredEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2789LU), -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RefreshRequiredEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2582_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2789LU) -); -} - -/* RefreshEndEventType - ns=0;i=2788 */ - -static UA_StatusCode function_namespace0_generated_2583_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RefreshEndEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2788LU), -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RefreshEndEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2788LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3875LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2788LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2583_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2788LU) -); -} - -/* RefreshStartEventType - ns=0;i=2787 */ - -static UA_StatusCode function_namespace0_generated_2584_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RefreshStartEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2787LU), -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RefreshStartEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2787LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3875LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2787LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2584_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2787LU) -); -} - -/* DeviceFailureEventType - ns=0;i=2131 */ - -static UA_StatusCode function_namespace0_generated_2585_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "DeviceFailureEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2131LU), -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DeviceFailureEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2585_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2131LU) -); -} - -/* PubSubStatusEventType - ns=0;i=15535 */ - -static UA_StatusCode function_namespace0_generated_2586_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubStatusEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15535LU), -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubStatusEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2586_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15535LU) -); -} - -/* PubSubCommunicationFailureEventType - ns=0;i=15563 */ - -static UA_StatusCode function_namespace0_generated_2587_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCommunicationFailureEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15563LU), -UA_NODEID_NUMERIC(ns[0], 15535LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubCommunicationFailureEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2587_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15563LU) -); -} - -/* Error - ns=0;i=15576 */ - -static UA_StatusCode function_namespace0_generated_2588_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Error"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15576LU), -UA_NODEID_NUMERIC(ns[0], 15563LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Error"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2588_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15576LU) -); -} - -/* PubSubTransportLimitsExceedEventType - ns=0;i=15548 */ - -static UA_StatusCode function_namespace0_generated_2589_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubTransportLimitsExceedEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15548LU), -UA_NODEID_NUMERIC(ns[0], 15535LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubTransportLimitsExceedEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2589_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15548LU) -); -} - -/* Maximum - ns=0;i=15562 */ - -static UA_StatusCode function_namespace0_generated_2590_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Maximum"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15562LU), -UA_NODEID_NUMERIC(ns[0], 15548LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Maximum"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2590_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15562LU) -); -} - -/* Actual - ns=0;i=15561 */ - -static UA_StatusCode function_namespace0_generated_2591_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Actual"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15561LU), -UA_NODEID_NUMERIC(ns[0], 15548LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Actual"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2591_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15561LU) -); -} - -/* State - ns=0;i=15547 */ - -static UA_StatusCode function_namespace0_generated_2592_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15547LU), -UA_NODEID_NUMERIC(ns[0], 15535LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2592_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15547LU) -); -} - -/* GroupId - ns=0;i=15546 */ - -static UA_StatusCode function_namespace0_generated_2593_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "GroupId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15546LU), -UA_NODEID_NUMERIC(ns[0], 15535LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "GroupId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2593_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15546LU) -); -} - -/* ConnectionId - ns=0;i=15545 */ - -static UA_StatusCode function_namespace0_generated_2594_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15545LU), -UA_NODEID_NUMERIC(ns[0], 15535LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2594_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15545LU) -); -} - -/* SystemStatusChangeEventType - ns=0;i=11446 */ - -static UA_StatusCode function_namespace0_generated_2595_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SystemStatusChangeEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11446LU), -UA_NODEID_NUMERIC(ns[0], 2130LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SystemStatusChangeEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2595_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11446LU) -); -} - -/* SystemState - ns=0;i=11696 */ - -static UA_StatusCode function_namespace0_generated_2596_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SystemState"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11696LU), -UA_NODEID_NUMERIC(ns[0], 11446LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SystemState"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2596_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11696LU) -); -} - -/* AuditEventType - ns=0;i=2052 */ - -static UA_StatusCode function_namespace0_generated_2597_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2597_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2052LU) -); -} - -/* AuditClientEventType - ns=0;i=23606 */ - -static UA_StatusCode function_namespace0_generated_2598_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditClientEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23606LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditClientEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2598_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23606LU) -); -} - -/* AuditClientUpdateMethodResultEventType - ns=0;i=23926 */ - -static UA_StatusCode function_namespace0_generated_2599_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditClientUpdateMethodResultEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 23926LU), -UA_NODEID_NUMERIC(ns[0], 23606LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditClientUpdateMethodResultEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2599_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23926LU) -); -} - -/* OutputArguments - ns=0;i=25684 */ - -static UA_StatusCode function_namespace0_generated_2600_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25684LU), -UA_NODEID_NUMERIC(ns[0], 23926LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2600_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25684LU) -); -} - -/* InputArguments - ns=0;i=23999 */ - -static UA_StatusCode function_namespace0_generated_2601_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23999LU), -UA_NODEID_NUMERIC(ns[0], 23926LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2601_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23999LU) -); -} - -/* StatusCodeId - ns=0;i=23998 */ - -static UA_StatusCode function_namespace0_generated_2602_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatusCodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23998LU), -UA_NODEID_NUMERIC(ns[0], 23926LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StatusCodeId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2602_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23998LU) -); -} - -/* MethodId - ns=0;i=23995 */ - -static UA_StatusCode function_namespace0_generated_2603_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MethodId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23995LU), -UA_NODEID_NUMERIC(ns[0], 23926LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MethodId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2603_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23995LU) -); -} - -/* ObjectId - ns=0;i=23994 */ - -static UA_StatusCode function_namespace0_generated_2604_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ObjectId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23994LU), -UA_NODEID_NUMERIC(ns[0], 23926LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ObjectId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2604_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23994LU) -); -} - -/* ServerUri - ns=0;i=23908 */ - -static UA_StatusCode function_namespace0_generated_2605_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23908LU), -UA_NODEID_NUMERIC(ns[0], 23606LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2605_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23908LU) -); -} - -/* AuditUpdateMethodEventType - ns=0;i=2127 */ - -static UA_StatusCode function_namespace0_generated_2606_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditUpdateMethodEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditUpdateMethodEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2127LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18666LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2606_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2127LU) -); -} - -/* CertificateUpdateRequestedAuditEventType - ns=0;i=32306 */ - -static UA_StatusCode function_namespace0_generated_2607_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateUpdateRequestedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 32306LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CertificateUpdateRequestedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2607_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32306LU) -); -} - -/* TrustListUpdateRequestedAuditEventType - ns=0;i=32260 */ - -static UA_StatusCode function_namespace0_generated_2608_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListUpdateRequestedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 32260LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListUpdateRequestedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2608_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32260LU) -); -} - -/* AuditConditionEventType - ns=0;i=2790 */ - -static UA_StatusCode function_namespace0_generated_2609_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2609_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2790LU) -); -} - -/* AuditConditionConfirmEventType - ns=0;i=8961 */ - -static UA_StatusCode function_namespace0_generated_2610_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionConfirmEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 8961LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionConfirmEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8961LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9113LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2610_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8961LU) -); -} - -/* ConditionEventId - ns=0;i=17224 */ - -static UA_StatusCode function_namespace0_generated_2611_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionEventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17224LU), -UA_NODEID_NUMERIC(ns[0], 8961LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionEventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2611_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17224LU) -); -} - -/* Comment - ns=0;i=11854 */ - -static UA_StatusCode function_namespace0_generated_2612_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11854LU), -UA_NODEID_NUMERIC(ns[0], 8961LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2612_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11854LU) -); -} - -/* AuditConditionAcknowledgeEventType - ns=0;i=8944 */ - -static UA_StatusCode function_namespace0_generated_2613_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionAcknowledgeEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 8944LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionAcknowledgeEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9111LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19505LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8944LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20198LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2613_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8944LU) -); -} - -/* ConditionEventId - ns=0;i=17223 */ - -static UA_StatusCode function_namespace0_generated_2614_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionEventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17223LU), -UA_NODEID_NUMERIC(ns[0], 8944LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionEventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2614_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17223LU) -); -} - -/* Comment - ns=0;i=11853 */ - -static UA_StatusCode function_namespace0_generated_2615_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11853LU), -UA_NODEID_NUMERIC(ns[0], 8944LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2615_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11853LU) -); -} - -/* AuditConditionRespondEventType - ns=0;i=8927 */ - -static UA_StatusCode function_namespace0_generated_2616_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionRespondEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 8927LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionRespondEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8927LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9069LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8927LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2616_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8927LU) -); -} - -/* SelectedResponse - ns=0;i=11852 */ - -static UA_StatusCode function_namespace0_generated_2617_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SelectedResponse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11852LU), -UA_NODEID_NUMERIC(ns[0], 8927LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SelectedResponse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2617_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11852LU) -); -} - -/* AuditConditionCommentEventType - ns=0;i=2829 */ - -static UA_StatusCode function_namespace0_generated_2618_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionCommentEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2829LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionCommentEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9029LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16441LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19485LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2829LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2618_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2829LU) -); -} - -/* ConditionEventId - ns=0;i=17222 */ - -static UA_StatusCode function_namespace0_generated_2619_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionEventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17222LU), -UA_NODEID_NUMERIC(ns[0], 2829LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionEventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2619_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17222LU) -); -} - -/* Comment - ns=0;i=11851 */ - -static UA_StatusCode function_namespace0_generated_2620_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Comment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11851LU), -UA_NODEID_NUMERIC(ns[0], 2829LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Comment"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2620_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11851LU) -); -} - -/* AuditConditionEnableEventType - ns=0;i=2803 */ - -static UA_StatusCode function_namespace0_generated_2621_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionEnableEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2803LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionEnableEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9027LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16439LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16440LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19483LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19484LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 2803LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2621_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2803LU) -); -} - -/* AuditConditionOutOfServiceEventType - ns=0;i=17259 */ - -static UA_StatusCode function_namespace0_generated_2622_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionOutOfServiceEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17259LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionOutOfServiceEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17869LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24320LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17870LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17259LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2622_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17259LU) -); -} - -/* AuditConditionSilenceEventType - ns=0;i=17242 */ - -static UA_StatusCode function_namespace0_generated_2623_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionSilenceEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17242LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionSilenceEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17242LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16402LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2623_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17242LU) -); -} - -/* AuditConditionSuppressionEventType - ns=0;i=17225 */ - -static UA_StatusCode function_namespace0_generated_2624_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionSuppressionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17225LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionSuppressionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16403LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17225LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24318LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2624_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17225LU) -); -} - -/* AuditConditionResetEventType - ns=0;i=15013 */ - -static UA_StatusCode function_namespace0_generated_2625_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionResetEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 15013LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionResetEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15013LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18199LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15013LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24324LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2625_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15013LU) -); -} - -/* AuditConditionShelvingEventType - ns=0;i=11093 */ - -static UA_StatusCode function_namespace0_generated_2626_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditConditionShelvingEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11093LU), -UA_NODEID_NUMERIC(ns[0], 2790LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditConditionShelvingEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9213LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9211LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9212LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24758LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11093LU), UA_NODEID_NUMERIC(ns[0], 3065LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24760LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2626_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11093LU) -); -} - -/* ShelvingTime - ns=0;i=11855 */ - -static UA_StatusCode function_namespace0_generated_2627_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ShelvingTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11855LU), -UA_NODEID_NUMERIC(ns[0], 11093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ShelvingTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2627_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11855LU) -); -} - -/* AuditUpdateStateEventType - ns=0;i=2315 */ - -static UA_StatusCode function_namespace0_generated_2628_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditUpdateStateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2315LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditUpdateStateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2628_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2315LU) -); -} - -/* ProgramTransitionAuditEventType - ns=0;i=3806 */ - -static UA_StatusCode function_namespace0_generated_2629_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramTransitionAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3806LU), -UA_NODEID_NUMERIC(ns[0], 2315LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ProgramTransitionAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2629_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3806LU) -); -} - -/* Transition - ns=0;i=3825 */ - -static UA_StatusCode function_namespace0_generated_2630_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Transition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3825LU), -UA_NODEID_NUMERIC(ns[0], 3806LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Transition"), -UA_NODEID_NUMERIC(ns[0], 2767LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2630_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3825LU) -); -} - -/* Id - ns=0;i=3826 */ - -static UA_StatusCode function_namespace0_generated_2631_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Id"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3826LU), -UA_NODEID_NUMERIC(ns[0], 3825LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Id"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2631_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3826LU) -); -} - -/* NewStateId - ns=0;i=2778 */ - -static UA_StatusCode function_namespace0_generated_2632_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NewStateId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2778LU), -UA_NODEID_NUMERIC(ns[0], 2315LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NewStateId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2632_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2778LU) -); -} - -/* OldStateId - ns=0;i=2777 */ - -static UA_StatusCode function_namespace0_generated_2633_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldStateId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2777LU), -UA_NODEID_NUMERIC(ns[0], 2315LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldStateId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2633_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2777LU) -); -} - -/* AuditProgramTransitionEventType - ns=0;i=11856 */ - -static UA_StatusCode function_namespace0_generated_2634_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditProgramTransitionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11856LU), -UA_NODEID_NUMERIC(ns[0], 2315LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditProgramTransitionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2408LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2410LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2412LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2414LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2416LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2418LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2422LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11856LU), UA_NODEID_NUMERIC(ns[0], 54LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2424LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2634_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11856LU) -); -} - -/* TransitionNumber - ns=0;i=11875 */ - -static UA_StatusCode function_namespace0_generated_2635_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransitionNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11875LU), -UA_NODEID_NUMERIC(ns[0], 11856LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TransitionNumber"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2635_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11875LU) -); -} - -/* InputArguments - ns=0;i=2129 */ - -static UA_StatusCode function_namespace0_generated_2636_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2129LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2636_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2129LU) -); -} - -/* MethodId - ns=0;i=2128 */ - -static UA_StatusCode function_namespace0_generated_2637_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MethodId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2128LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MethodId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2637_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2128LU) -); -} - -/* KeyCredentialAuditEventType - ns=0;i=18011 */ - -static UA_StatusCode function_namespace0_generated_2638_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18011LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "KeyCredentialAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2638_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18011LU) -); -} - -/* KeyCredentialDeletedAuditEventType - ns=0;i=18047 */ - -static UA_StatusCode function_namespace0_generated_2639_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialDeletedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18047LU), -UA_NODEID_NUMERIC(ns[0], 18011LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "KeyCredentialDeletedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2639_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18047LU) -); -} - -/* ResourceUri - ns=0;i=18064 */ - -static UA_StatusCode function_namespace0_generated_2640_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18064LU), -UA_NODEID_NUMERIC(ns[0], 18047LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2640_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18064LU) -); -} - -/* KeyCredentialUpdatedAuditEventType - ns=0;i=18029 */ - -static UA_StatusCode function_namespace0_generated_2641_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialUpdatedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 18029LU), -UA_NODEID_NUMERIC(ns[0], 18011LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "KeyCredentialUpdatedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2641_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18029LU) -); -} - -/* ResourceUri - ns=0;i=18028 */ - -static UA_StatusCode function_namespace0_generated_2642_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ResourceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18028LU), -UA_NODEID_NUMERIC(ns[0], 18011LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ResourceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2642_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18028LU) -); -} - -/* RoleMappingRuleChangedAuditEventType - ns=0;i=17641 */ - -static UA_StatusCode function_namespace0_generated_2643_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RoleMappingRuleChangedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 17641LU), -UA_NODEID_NUMERIC(ns[0], 2127LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "RoleMappingRuleChangedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2643_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17641LU) -); -} - -/* AuditUpdateEventType - ns=0;i=2099 */ - -static UA_StatusCode function_namespace0_generated_2644_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditUpdateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2099LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditUpdateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2644_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2099LU) -); -} - -/* AuditHistoryUpdateEventType - ns=0;i=2104 */ - -static UA_StatusCode function_namespace0_generated_2645_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryUpdateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2104LU), -UA_NODEID_NUMERIC(ns[0], 2099LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryUpdateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2645_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2104LU) -); -} - -/* AuditHistoryDeleteEventType - ns=0;i=3012 */ - -static UA_StatusCode function_namespace0_generated_2646_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryDeleteEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3012LU), -UA_NODEID_NUMERIC(ns[0], 2104LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryDeleteEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2646_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3012LU) -); -} - -/* UpdatedNode - ns=0;i=3027 */ - -static UA_StatusCode function_namespace0_generated_2647_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdatedNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3027LU), -UA_NODEID_NUMERIC(ns[0], 3012LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdatedNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2647_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3027LU) -); -} - -/* AuditHistoryEventDeleteEventType - ns=0;i=3022 */ - -static UA_StatusCode function_namespace0_generated_2648_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryEventDeleteEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3022LU), -UA_NODEID_NUMERIC(ns[0], 3012LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryEventDeleteEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2648_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3022LU) -); -} - -/* OldValues - ns=0;i=3024 */ - -static UA_StatusCode function_namespace0_generated_2649_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 920LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3024LU), -UA_NODEID_NUMERIC(ns[0], 3022LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2649_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3024LU) -); -} - -/* EventIds - ns=0;i=3023 */ - -static UA_StatusCode function_namespace0_generated_2650_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3023LU), -UA_NODEID_NUMERIC(ns[0], 3022LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventIds"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2650_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3023LU) -); -} - -/* AuditHistoryAtTimeDeleteEventType - ns=0;i=3019 */ - -static UA_StatusCode function_namespace0_generated_2651_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryAtTimeDeleteEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3019LU), -UA_NODEID_NUMERIC(ns[0], 3012LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryAtTimeDeleteEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2651_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3019LU) -); -} - -/* OldValues - ns=0;i=3021 */ - -static UA_StatusCode function_namespace0_generated_2652_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3021LU), -UA_NODEID_NUMERIC(ns[0], 3019LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2652_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3021LU) -); -} - -/* ReqTimes - ns=0;i=3020 */ - -static UA_StatusCode function_namespace0_generated_2653_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReqTimes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3020LU), -UA_NODEID_NUMERIC(ns[0], 3019LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReqTimes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2653_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3020LU) -); -} - -/* AuditHistoryRawModifyDeleteEventType - ns=0;i=3014 */ - -static UA_StatusCode function_namespace0_generated_2654_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryRawModifyDeleteEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3014LU), -UA_NODEID_NUMERIC(ns[0], 3012LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryRawModifyDeleteEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2654_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3014LU) -); -} - -/* OldValues - ns=0;i=3034 */ - -static UA_StatusCode function_namespace0_generated_2655_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3034LU), -UA_NODEID_NUMERIC(ns[0], 3014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2655_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3034LU) -); -} - -/* EndTime - ns=0;i=3017 */ - -static UA_StatusCode function_namespace0_generated_2656_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3017LU), -UA_NODEID_NUMERIC(ns[0], 3014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2656_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3017LU) -); -} - -/* StartTime - ns=0;i=3016 */ - -static UA_StatusCode function_namespace0_generated_2657_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3016LU), -UA_NODEID_NUMERIC(ns[0], 3014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2657_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3016LU) -); -} - -/* IsDeleteModified - ns=0;i=3015 */ - -static UA_StatusCode function_namespace0_generated_2658_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsDeleteModified"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3015LU), -UA_NODEID_NUMERIC(ns[0], 3014LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsDeleteModified"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2658_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3015LU) -); -} - -/* AuditHistoryValueUpdateEventType - ns=0;i=3006 */ - -static UA_StatusCode function_namespace0_generated_2659_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryValueUpdateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 3006LU), -UA_NODEID_NUMERIC(ns[0], 2104LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryValueUpdateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2659_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3006LU) -); -} - -/* OldValues - ns=0;i=3033 */ - -static UA_StatusCode function_namespace0_generated_2660_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3033LU), -UA_NODEID_NUMERIC(ns[0], 3006LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2660_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3033LU) -); -} - -/* NewValues - ns=0;i=3032 */ - -static UA_StatusCode function_namespace0_generated_2661_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NewValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3032LU), -UA_NODEID_NUMERIC(ns[0], 3006LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NewValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2661_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3032LU) -); -} - -/* PerformInsertReplace - ns=0;i=3031 */ - -static UA_StatusCode function_namespace0_generated_2662_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11293LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PerformInsertReplace"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3031LU), -UA_NODEID_NUMERIC(ns[0], 3006LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PerformInsertReplace"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2662_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3031LU) -); -} - -/* UpdatedNode - ns=0;i=3026 */ - -static UA_StatusCode function_namespace0_generated_2663_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdatedNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3026LU), -UA_NODEID_NUMERIC(ns[0], 3006LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdatedNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2663_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3026LU) -); -} - -/* AuditHistoryEventUpdateEventType - ns=0;i=2999 */ - -static UA_StatusCode function_namespace0_generated_2664_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryEventUpdateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2999LU), -UA_NODEID_NUMERIC(ns[0], 2104LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryEventUpdateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2664_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2999LU) -); -} - -/* OldValues - ns=0;i=3030 */ - -static UA_StatusCode function_namespace0_generated_2665_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 920LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3030LU), -UA_NODEID_NUMERIC(ns[0], 2999LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2665_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3030LU) -); -} - -/* NewValues - ns=0;i=3029 */ - -static UA_StatusCode function_namespace0_generated_2666_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 920LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NewValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3029LU), -UA_NODEID_NUMERIC(ns[0], 2999LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NewValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2666_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3029LU) -); -} - -/* PerformInsertReplace - ns=0;i=3028 */ - -static UA_StatusCode function_namespace0_generated_2667_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11293LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PerformInsertReplace"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3028LU), -UA_NODEID_NUMERIC(ns[0], 2999LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PerformInsertReplace"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2667_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3028LU) -); -} - -/* UpdatedNode - ns=0;i=3025 */ - -static UA_StatusCode function_namespace0_generated_2668_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdatedNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3025LU), -UA_NODEID_NUMERIC(ns[0], 2999LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdatedNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2668_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3025LU) -); -} - -/* Filter - ns=0;i=3003 */ - -static UA_StatusCode function_namespace0_generated_2669_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 725LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Filter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3003LU), -UA_NODEID_NUMERIC(ns[0], 2999LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Filter"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2669_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3003LU) -); -} - -/* ParameterDataTypeId - ns=0;i=2751 */ - -static UA_StatusCode function_namespace0_generated_2670_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ParameterDataTypeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2751LU), -UA_NODEID_NUMERIC(ns[0], 2104LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ParameterDataTypeId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2670_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2751LU) -); -} - -/* AuditHistoryAnnotationUpdateEventType - ns=0;i=19095 */ - -static UA_StatusCode function_namespace0_generated_2671_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditHistoryAnnotationUpdateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 19095LU), -UA_NODEID_NUMERIC(ns[0], 2104LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditHistoryAnnotationUpdateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2671_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19095LU) -); -} - -/* OldValues - ns=0;i=19295 */ - -static UA_StatusCode function_namespace0_generated_2672_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19295LU), -UA_NODEID_NUMERIC(ns[0], 19095LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2672_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19295LU) -); -} - -/* NewValues - ns=0;i=19294 */ - -static UA_StatusCode function_namespace0_generated_2673_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NewValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19294LU), -UA_NODEID_NUMERIC(ns[0], 19095LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NewValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2673_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19294LU) -); -} - -/* PerformInsertReplace - ns=0;i=19293 */ - -static UA_StatusCode function_namespace0_generated_2674_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11293LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PerformInsertReplace"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19293LU), -UA_NODEID_NUMERIC(ns[0], 19095LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PerformInsertReplace"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2674_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19293LU) -); -} - -/* AuditWriteUpdateEventType - ns=0;i=2100 */ - -static UA_StatusCode function_namespace0_generated_2675_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditWriteUpdateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2100LU), -UA_NODEID_NUMERIC(ns[0], 2099LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditWriteUpdateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2675_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2100LU) -); -} - -/* AttributeId - ns=0;i=2750 */ - -static UA_StatusCode function_namespace0_generated_2676_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AttributeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2750LU), -UA_NODEID_NUMERIC(ns[0], 2100LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AttributeId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2676_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2750LU) -); -} - -/* NewValue - ns=0;i=2103 */ - -static UA_StatusCode function_namespace0_generated_2677_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NewValue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2103LU), -UA_NODEID_NUMERIC(ns[0], 2100LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NewValue"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2677_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2103LU) -); -} - -/* OldValue - ns=0;i=2102 */ - -static UA_StatusCode function_namespace0_generated_2678_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OldValue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2102LU), -UA_NODEID_NUMERIC(ns[0], 2100LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OldValue"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2678_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2102LU) -); -} - -/* IndexRange - ns=0;i=2101 */ - -static UA_StatusCode function_namespace0_generated_2679_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IndexRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2101LU), -UA_NODEID_NUMERIC(ns[0], 2100LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IndexRange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2679_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2101LU) -); -} - -/* AuditNodeManagementEventType - ns=0;i=2090 */ - -static UA_StatusCode function_namespace0_generated_2680_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditNodeManagementEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2090LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditNodeManagementEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2680_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2090LU) -); -} - -/* AuditDeleteReferencesEventType - ns=0;i=2097 */ - -static UA_StatusCode function_namespace0_generated_2681_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditDeleteReferencesEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2097LU), -UA_NODEID_NUMERIC(ns[0], 2090LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditDeleteReferencesEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2681_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2097LU) -); -} - -/* ReferencesToDelete - ns=0;i=2098 */ - -static UA_StatusCode function_namespace0_generated_2682_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 385LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferencesToDelete"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2098LU), -UA_NODEID_NUMERIC(ns[0], 2097LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReferencesToDelete"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2682_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2098LU) -); -} - -/* AuditAddReferencesEventType - ns=0;i=2095 */ - -static UA_StatusCode function_namespace0_generated_2683_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditAddReferencesEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2095LU), -UA_NODEID_NUMERIC(ns[0], 2090LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditAddReferencesEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2683_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2095LU) -); -} - -/* ReferencesToAdd - ns=0;i=2096 */ - -static UA_StatusCode function_namespace0_generated_2684_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 379LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferencesToAdd"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2096LU), -UA_NODEID_NUMERIC(ns[0], 2095LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReferencesToAdd"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2684_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2096LU) -); -} - -/* AuditDeleteNodesEventType - ns=0;i=2093 */ - -static UA_StatusCode function_namespace0_generated_2685_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditDeleteNodesEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2093LU), -UA_NODEID_NUMERIC(ns[0], 2090LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditDeleteNodesEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2685_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2093LU) -); -} - -/* NodesToDelete - ns=0;i=2094 */ - -static UA_StatusCode function_namespace0_generated_2686_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 382LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NodesToDelete"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2094LU), -UA_NODEID_NUMERIC(ns[0], 2093LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NodesToDelete"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2686_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2094LU) -); -} - -/* AuditAddNodesEventType - ns=0;i=2091 */ - -static UA_StatusCode function_namespace0_generated_2687_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditAddNodesEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2091LU), -UA_NODEID_NUMERIC(ns[0], 2090LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditAddNodesEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2687_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2091LU) -); -} - -/* NodesToAdd - ns=0;i=2092 */ - -static UA_StatusCode function_namespace0_generated_2688_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 376LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NodesToAdd"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2092LU), -UA_NODEID_NUMERIC(ns[0], 2091LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NodesToAdd"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2688_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2092LU) -); -} - -/* AuditSecurityEventType - ns=0;i=2058 */ - -static UA_StatusCode function_namespace0_generated_2689_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditSecurityEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2058LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditSecurityEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2689_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2058LU) -); -} - -/* AuditCertificateEventType - ns=0;i=2080 */ - -static UA_StatusCode function_namespace0_generated_2690_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 2058LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2690_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2080LU) -); -} - -/* AuditCertificateMismatchEventType - ns=0;i=2089 */ - -static UA_StatusCode function_namespace0_generated_2691_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateMismatchEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2089LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateMismatchEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2691_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2089LU) -); -} - -/* AuditCertificateRevokedEventType - ns=0;i=2088 */ - -static UA_StatusCode function_namespace0_generated_2692_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateRevokedEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2088LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateRevokedEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2692_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2088LU) -); -} - -/* AuditCertificateUntrustedEventType - ns=0;i=2087 */ - -static UA_StatusCode function_namespace0_generated_2693_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateUntrustedEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2087LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateUntrustedEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2693_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2087LU) -); -} - -/* AuditCertificateInvalidEventType - ns=0;i=2086 */ - -static UA_StatusCode function_namespace0_generated_2694_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateInvalidEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2086LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateInvalidEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2694_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2086LU) -); -} - -/* AuditCertificateExpiredEventType - ns=0;i=2085 */ - -static UA_StatusCode function_namespace0_generated_2695_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateExpiredEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2085LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateExpiredEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2695_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2085LU) -); -} - -/* AuditCertificateDataMismatchEventType - ns=0;i=2082 */ - -static UA_StatusCode function_namespace0_generated_2696_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCertificateDataMismatchEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2082LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCertificateDataMismatchEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2696_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2082LU) -); -} - -/* InvalidUri - ns=0;i=2084 */ - -static UA_StatusCode function_namespace0_generated_2697_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InvalidUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2084LU), -UA_NODEID_NUMERIC(ns[0], 2082LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InvalidUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2697_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2084LU) -); -} - -/* InvalidHostname - ns=0;i=2083 */ - -static UA_StatusCode function_namespace0_generated_2698_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InvalidHostname"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2083LU), -UA_NODEID_NUMERIC(ns[0], 2082LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InvalidHostname"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2698_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2083LU) -); -} - -/* Certificate - ns=0;i=2081 */ - -static UA_StatusCode function_namespace0_generated_2699_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Certificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2081LU), -UA_NODEID_NUMERIC(ns[0], 2080LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Certificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2699_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2081LU) -); -} - -/* AuditSessionEventType - ns=0;i=2069 */ - -static UA_StatusCode function_namespace0_generated_2700_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditSessionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2069LU), -UA_NODEID_NUMERIC(ns[0], 2058LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditSessionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2700_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2069LU) -); -} - -/* AuditCancelEventType - ns=0;i=2078 */ - -static UA_StatusCode function_namespace0_generated_2701_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCancelEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2078LU), -UA_NODEID_NUMERIC(ns[0], 2069LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCancelEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2701_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2078LU) -); -} - -/* RequestHandle - ns=0;i=2079 */ - -static UA_StatusCode function_namespace0_generated_2702_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestHandle"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2079LU), -UA_NODEID_NUMERIC(ns[0], 2078LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestHandle"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2702_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2079LU) -); -} - -/* AuditActivateSessionEventType - ns=0;i=2075 */ - -static UA_StatusCode function_namespace0_generated_2703_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditActivateSessionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2075LU), -UA_NODEID_NUMERIC(ns[0], 2069LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditActivateSessionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2703_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2075LU) -); -} - -/* UserIdentityToken - ns=0;i=2077 */ - -static UA_StatusCode function_namespace0_generated_2704_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 316LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2077LU), -UA_NODEID_NUMERIC(ns[0], 2075LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2704_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2077LU) -); -} - -/* ClientSoftwareCertificates - ns=0;i=2076 */ - -static UA_StatusCode function_namespace0_generated_2705_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientSoftwareCertificates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2076LU), -UA_NODEID_NUMERIC(ns[0], 2075LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientSoftwareCertificates"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2705_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2076LU) -); -} - -/* SecureChannelId - ns=0;i=11485 */ - -static UA_StatusCode function_namespace0_generated_2706_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecureChannelId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11485LU), -UA_NODEID_NUMERIC(ns[0], 2075LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecureChannelId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2706_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11485LU) -); -} - -/* AuditCreateSessionEventType - ns=0;i=2071 */ - -static UA_StatusCode function_namespace0_generated_2707_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditCreateSessionEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2071LU), -UA_NODEID_NUMERIC(ns[0], 2069LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditCreateSessionEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2707_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2071LU) -); -} - -/* AuditUrlMismatchEventType - ns=0;i=2748 */ - -static UA_StatusCode function_namespace0_generated_2708_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditUrlMismatchEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2748LU), -UA_NODEID_NUMERIC(ns[0], 2071LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditUrlMismatchEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2708_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2748LU) -); -} - -/* EndpointUrl - ns=0;i=2749 */ - -static UA_StatusCode function_namespace0_generated_2709_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2749LU), -UA_NODEID_NUMERIC(ns[0], 2748LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2709_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2749LU) -); -} - -/* ClientCertificateThumbprint - ns=0;i=2747 */ - -static UA_StatusCode function_namespace0_generated_2710_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificateThumbprint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2747LU), -UA_NODEID_NUMERIC(ns[0], 2071LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificateThumbprint"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2710_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2747LU) -); -} - -/* RevisedSessionTimeout - ns=0;i=2074 */ - -static UA_StatusCode function_namespace0_generated_2711_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RevisedSessionTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2074LU), -UA_NODEID_NUMERIC(ns[0], 2071LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RevisedSessionTimeout"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2711_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2074LU) -); -} - -/* ClientCertificate - ns=0;i=2073 */ - -static UA_StatusCode function_namespace0_generated_2712_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2073LU), -UA_NODEID_NUMERIC(ns[0], 2071LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2712_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2073LU) -); -} - -/* SecureChannelId - ns=0;i=2072 */ - -static UA_StatusCode function_namespace0_generated_2713_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecureChannelId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2072LU), -UA_NODEID_NUMERIC(ns[0], 2071LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecureChannelId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2713_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2072LU) -); -} - -/* SessionId - ns=0;i=2070 */ - -static UA_StatusCode function_namespace0_generated_2714_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2070LU), -UA_NODEID_NUMERIC(ns[0], 2069LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2714_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2070LU) -); -} - -/* AuditChannelEventType - ns=0;i=2059 */ - -static UA_StatusCode function_namespace0_generated_2715_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditChannelEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2059LU), -UA_NODEID_NUMERIC(ns[0], 2058LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditChannelEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2715_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2059LU) -); -} - -/* SecureChannelId - ns=0;i=2745 */ - -static UA_StatusCode function_namespace0_generated_2716_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecureChannelId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2745LU), -UA_NODEID_NUMERIC(ns[0], 2059LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecureChannelId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2716_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2745LU) -); -} - -/* AuditOpenSecureChannelEventType - ns=0;i=2060 */ - -static UA_StatusCode function_namespace0_generated_2717_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AuditOpenSecureChannelEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 2059LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AuditOpenSecureChannelEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2717_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2060LU) -); -} - -/* ClientCertificateThumbprint - ns=0;i=2746 */ - -static UA_StatusCode function_namespace0_generated_2718_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificateThumbprint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2746LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificateThumbprint"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2718_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2746LU) -); -} - -/* CertificateErrorEventId - ns=0;i=24135 */ - -static UA_StatusCode function_namespace0_generated_2719_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateErrorEventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24135LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateErrorEventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2719_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24135LU) -); -} - -/* RequestedLifetime - ns=0;i=2066 */ - -static UA_StatusCode function_namespace0_generated_2720_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestedLifetime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2066LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestedLifetime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2720_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2066LU) -); -} - -/* SecurityMode - ns=0;i=2065 */ - -static UA_StatusCode function_namespace0_generated_2721_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2065LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2721_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2065LU) -); -} - -/* SecurityPolicyUri - ns=0;i=2063 */ - -static UA_StatusCode function_namespace0_generated_2722_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2063LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2722_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2063LU) -); -} - -/* RequestType - ns=0;i=2062 */ - -static UA_StatusCode function_namespace0_generated_2723_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 315LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RequestType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2062LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RequestType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2723_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2062LU) -); -} - -/* ClientCertificate - ns=0;i=2061 */ - -static UA_StatusCode function_namespace0_generated_2724_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2061LU), -UA_NODEID_NUMERIC(ns[0], 2060LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2724_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2061LU) -); -} - -/* StatusCodeId - ns=0;i=17615 */ - -static UA_StatusCode function_namespace0_generated_2725_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatusCodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17615LU), -UA_NODEID_NUMERIC(ns[0], 2058LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StatusCodeId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2725_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17615LU) -); -} - -/* ClientUserId - ns=0;i=2057 */ - -static UA_StatusCode function_namespace0_generated_2726_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2057LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2726_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2057LU) -); -} - -/* ClientAuditEntryId - ns=0;i=2056 */ - -static UA_StatusCode function_namespace0_generated_2727_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientAuditEntryId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2056LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ClientAuditEntryId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2727_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2056LU) -); -} - -/* ServerId - ns=0;i=2055 */ - -static UA_StatusCode function_namespace0_generated_2728_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2055LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2728_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2055LU) -); -} - -/* Status - ns=0;i=2054 */ - -static UA_StatusCode function_namespace0_generated_2729_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2054LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2729_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2054LU) -); -} - -/* ActionTimeStamp - ns=0;i=2053 */ - -static UA_StatusCode function_namespace0_generated_2730_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActionTimeStamp"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2053LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ActionTimeStamp"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2730_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2053LU) -); -} - -/* CertificateUpdatedAuditEventType - ns=0;i=12620 */ - -static UA_StatusCode function_namespace0_generated_2731_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateUpdatedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12620LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "CertificateUpdatedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2731_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12620LU) -); -} - -/* CertificateType - ns=0;i=13736 */ - -static UA_StatusCode function_namespace0_generated_2732_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13736LU), -UA_NODEID_NUMERIC(ns[0], 12620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2732_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13736LU) -); -} - -/* CertificateGroup - ns=0;i=13735 */ - -static UA_StatusCode function_namespace0_generated_2733_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13735LU), -UA_NODEID_NUMERIC(ns[0], 12620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateGroup"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2733_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13735LU) -); -} - -/* TrustListUpdatedAuditEventType - ns=0;i=12561 */ - -static UA_StatusCode function_namespace0_generated_2734_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.isAbstract = true; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListUpdatedAuditEventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12561LU), -UA_NODEID_NUMERIC(ns[0], 2052LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListUpdatedAuditEventType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2734_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12561LU) -); -} - -/* TrustListId - ns=0;i=32281 */ - -static UA_StatusCode function_namespace0_generated_2735_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32281LU), -UA_NODEID_NUMERIC(ns[0], 12561LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "TrustListId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2735_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32281LU) -); -} - -/* ConditionSubClassName - ns=0;i=31774 */ - -static UA_StatusCode function_namespace0_generated_2736_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionSubClassName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 31774LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionSubClassName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2736_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31774LU) -); -} - -/* ConditionSubClassId - ns=0;i=31773 */ - -static UA_StatusCode function_namespace0_generated_2737_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionSubClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 31773LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionSubClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2737_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31773LU) -); -} - -/* ConditionClassName - ns=0;i=31772 */ - -static UA_StatusCode function_namespace0_generated_2738_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 31772LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2738_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31772LU) -); -} - -/* ConditionClassId - ns=0;i=31771 */ - -static UA_StatusCode function_namespace0_generated_2739_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConditionClassId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 31771LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConditionClassId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2739_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31771LU) -); -} - -/* Severity - ns=0;i=2051 */ - -static UA_StatusCode function_namespace0_generated_2740_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Severity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2051LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Severity"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2740_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2051LU) -); -} - -/* Message - ns=0;i=2050 */ - -static UA_StatusCode function_namespace0_generated_2741_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Message"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2050LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Message"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2741_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2050LU) -); -} - -/* LocalTime - ns=0;i=3190 */ - -static UA_StatusCode function_namespace0_generated_2742_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3190LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocalTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2742_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3190LU) -); -} - -/* ReceiveTime - ns=0;i=2047 */ - -static UA_StatusCode function_namespace0_generated_2743_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2047LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2743_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2047LU) -); -} - -/* Time - ns=0;i=2046 */ - -static UA_StatusCode function_namespace0_generated_2744_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Time"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2046LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Time"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2744_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2046LU) -); -} - -/* SourceName - ns=0;i=2045 */ - -static UA_StatusCode function_namespace0_generated_2745_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2045LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2745_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2045LU) -); -} - -/* SourceNode - ns=0;i=2044 */ - -static UA_StatusCode function_namespace0_generated_2746_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SourceNode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2044LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SourceNode"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2746_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2044LU) -); -} - -/* EventType - ns=0;i=2043 */ - -static UA_StatusCode function_namespace0_generated_2747_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2043LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2747_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2043LU) -); -} - -/* EventId - ns=0;i=2042 */ - -static UA_StatusCode function_namespace0_generated_2748_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EventId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2042LU), -UA_NODEID_NUMERIC(ns[0], 2041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EventId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2748_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2042LU) -); -} - -/* NamespacesType - ns=0;i=11645 */ - -static UA_StatusCode function_namespace0_generated_2749_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NamespacesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11645LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NamespacesType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2749_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11645LU) -); -} - -/* NamespaceMetadataType - ns=0;i=11616 */ - -static UA_StatusCode function_namespace0_generated_2750_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceMetadataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceMetadataType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2750_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11616LU) -); -} - -/* ConfigurationVersion - ns=0;i=25267 */ - -static UA_StatusCode function_namespace0_generated_2751_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25267LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2751_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25267LU) -); -} - -/* DefaultAccessRestrictions - ns=0;i=16139 */ - -static UA_StatusCode function_namespace0_generated_2752_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 95LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultAccessRestrictions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16139LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultAccessRestrictions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2752_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16139LU) -); -} - -/* DefaultUserRolePermissions - ns=0;i=16138 */ - -static UA_StatusCode function_namespace0_generated_2753_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserRolePermissions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16138LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultUserRolePermissions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2753_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16138LU) -); -} - -/* DefaultRolePermissions - ns=0;i=16137 */ - -static UA_StatusCode function_namespace0_generated_2754_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultRolePermissions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16137LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultRolePermissions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2754_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16137LU) -); -} - -/* - ns=0;i=11646 */ - -static UA_StatusCode function_namespace0_generated_2755_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 11645LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 11616LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2755_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11646LU) -); -} - -/* StaticStringNodeIdPattern - ns=0;i=11653 */ - -static UA_StatusCode function_namespace0_generated_2756_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticStringNodeIdPattern"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11653LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticStringNodeIdPattern"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2756_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11653LU) -); -} - -/* StaticNumericNodeIdRange - ns=0;i=11652 */ - -static UA_StatusCode function_namespace0_generated_2757_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticNumericNodeIdRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11652LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticNumericNodeIdRange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2757_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11652LU) -); -} - -/* StaticNodeIdTypes - ns=0;i=11651 */ - -static UA_StatusCode function_namespace0_generated_2758_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 256LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticNodeIdTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11651LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticNodeIdTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2758_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11651LU) -); -} - -/* IsNamespaceSubset - ns=0;i=11650 */ - -static UA_StatusCode function_namespace0_generated_2759_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsNamespaceSubset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11650LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsNamespaceSubset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2759_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11650LU) -); -} - -/* NamespacePublicationDate - ns=0;i=11649 */ - -static UA_StatusCode function_namespace0_generated_2760_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespacePublicationDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11649LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespacePublicationDate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2760_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11649LU) -); -} - -/* NamespaceVersion - ns=0;i=11648 */ - -static UA_StatusCode function_namespace0_generated_2761_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11648LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2761_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11648LU) -); -} - -/* NamespaceUri - ns=0;i=11647 */ - -static UA_StatusCode function_namespace0_generated_2762_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11647LU), -UA_NODEID_NUMERIC(ns[0], 11646LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2762_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11647LU) -); -} - -/* StaticStringNodeIdPattern - ns=0;i=11623 */ - -static UA_StatusCode function_namespace0_generated_2763_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticStringNodeIdPattern"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11623LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticStringNodeIdPattern"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2763_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11623LU) -); -} - -/* StaticNumericNodeIdRange - ns=0;i=11622 */ - -static UA_StatusCode function_namespace0_generated_2764_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticNumericNodeIdRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11622LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticNumericNodeIdRange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2764_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11622LU) -); -} - -/* StaticNodeIdTypes - ns=0;i=11621 */ - -static UA_StatusCode function_namespace0_generated_2765_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 256LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticNodeIdTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11621LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticNodeIdTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2765_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11621LU) -); -} - -/* IsNamespaceSubset - ns=0;i=11620 */ - -static UA_StatusCode function_namespace0_generated_2766_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsNamespaceSubset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11620LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsNamespaceSubset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2766_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11620LU) -); -} - -/* NamespacePublicationDate - ns=0;i=11619 */ - -static UA_StatusCode function_namespace0_generated_2767_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespacePublicationDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11619LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespacePublicationDate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2767_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11619LU) -); -} - -/* NamespaceVersion - ns=0;i=11618 */ - -static UA_StatusCode function_namespace0_generated_2768_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11618LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2768_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11618LU) -); -} - -/* NamespaceUri - ns=0;i=11617 */ - -static UA_StatusCode function_namespace0_generated_2769_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11617LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2769_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11617LU) -); -} - -/* FileType - ns=0;i=11575 */ - -static UA_StatusCode function_namespace0_generated_2770_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "FileType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "FileType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2770_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11575LU) -); -} - -/* PubSubConfigurationType - ns=0;i=25482 */ - -static UA_StatusCode function_namespace0_generated_2771_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 25482LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2771_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25482LU) -); -} - -/* CloseAndUpdate - ns=0;i=25508 */ - -static UA_StatusCode function_namespace0_generated_2772_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25508LU), -UA_NODEID_NUMERIC(ns[0], 25482LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2772_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25508LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25510 */ - -static UA_StatusCode function_namespace0_generated_2773_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25510_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_25510_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25510_variant_DataContents[0].name = UA_STRING("ChangesApplied"); -variablenode_ns_0_i_25510_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_25510_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25510_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25510_variant_DataContents[1].name = UA_STRING("ReferencesResults"); -variablenode_ns_0_i_25510_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25510_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25510_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_25510_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25510_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25510_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25510_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); -variablenode_ns_0_i_25510_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); -variablenode_ns_0_i_25510_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25510_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25510_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25510_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25510_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25510_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); -variablenode_ns_0_i_25510_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25510_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25510_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_25510_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_25510_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25510_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25510LU), -UA_NODEID_NUMERIC(ns[0], 25508LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2773_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25510LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25509 */ - -static UA_StatusCode function_namespace0_generated_2774_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25509_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25509_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25509_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25509_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25509_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25509_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25509_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); -variablenode_ns_0_i_25509_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_25509_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25509_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25509_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); -variablenode_ns_0_i_25509_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); -variablenode_ns_0_i_25509_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25509_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25509_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25509_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25509_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25509LU), -UA_NODEID_NUMERIC(ns[0], 25508LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2774_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25509LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ReserveIds - ns=0;i=25505 */ - -static UA_StatusCode function_namespace0_generated_2775_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25505LU), -UA_NODEID_NUMERIC(ns[0], 25482LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReserveIds"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2775_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25505LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25507 */ - -static UA_StatusCode function_namespace0_generated_2776_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25507_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25507_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25507_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); -variablenode_ns_0_i_25507_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_25507_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25507_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25507_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); -variablenode_ns_0_i_25507_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25507_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25507_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_25507_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25507_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25507_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25507_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); -variablenode_ns_0_i_25507_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25507_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25507_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25507_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25507_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25507_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25507LU), -UA_NODEID_NUMERIC(ns[0], 25505LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2776_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25507LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25506 */ - -static UA_StatusCode function_namespace0_generated_2777_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25506_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25506_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25506_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); -variablenode_ns_0_i_25506_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25506_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25506_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25506_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); -variablenode_ns_0_i_25506_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25506_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25506_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25506_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); -variablenode_ns_0_i_25506_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25506_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25506_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25506LU), -UA_NODEID_NUMERIC(ns[0], 25505LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2777_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25506LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PubSubConfiguration - ns=0;i=25403 */ - -static UA_StatusCode function_namespace0_generated_2778_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 14416LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration"), -UA_NODEID_NUMERIC(ns[0], 25482LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2778_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25403LU) -); -} - -/* CloseAndUpdate - ns=0;i=25429 */ - -static UA_StatusCode function_namespace0_generated_2779_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25429LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2779_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25429LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25431 */ - -static UA_StatusCode function_namespace0_generated_2780_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25431_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_25431_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25431_variant_DataContents[0].name = UA_STRING("ChangesApplied"); -variablenode_ns_0_i_25431_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_25431_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25431_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25431_variant_DataContents[1].name = UA_STRING("ReferencesResults"); -variablenode_ns_0_i_25431_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25431_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25431_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_25431_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25431_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25431_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25431_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); -variablenode_ns_0_i_25431_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); -variablenode_ns_0_i_25431_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25431_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25431_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25431_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25431_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25431_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); -variablenode_ns_0_i_25431_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25431_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25431_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_25431_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_25431_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25431_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25431LU), -UA_NODEID_NUMERIC(ns[0], 25429LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2780_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25431LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25430 */ - -static UA_StatusCode function_namespace0_generated_2781_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25430_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25430_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25430_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25430_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25430_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25430_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25430_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); -variablenode_ns_0_i_25430_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_25430_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25430_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25430_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); -variablenode_ns_0_i_25430_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); -variablenode_ns_0_i_25430_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25430_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25430_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25430_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25430_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25430LU), -UA_NODEID_NUMERIC(ns[0], 25429LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2781_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25430LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ReserveIds - ns=0;i=25426 */ - -static UA_StatusCode function_namespace0_generated_2782_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25426LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReserveIds"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2782_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25426LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25428 */ - -static UA_StatusCode function_namespace0_generated_2783_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25428_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25428_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25428_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); -variablenode_ns_0_i_25428_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_25428_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25428_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25428_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); -variablenode_ns_0_i_25428_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25428_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25428_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_25428_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25428_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25428_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25428_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); -variablenode_ns_0_i_25428_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25428_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25428_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25428_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25428_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25428_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25428LU), -UA_NODEID_NUMERIC(ns[0], 25426LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2783_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25428LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25427 */ - -static UA_StatusCode function_namespace0_generated_2784_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25427_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25427_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25427_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); -variablenode_ns_0_i_25427_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25427_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25427_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25427_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); -variablenode_ns_0_i_25427_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25427_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25427_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25427_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); -variablenode_ns_0_i_25427_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25427_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25427_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25427LU), -UA_NODEID_NUMERIC(ns[0], 25426LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2784_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25427LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetPosition - ns=0;i=25424 */ - -static UA_StatusCode function_namespace0_generated_2785_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25424LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2785_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25424LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25425 */ - -static UA_StatusCode function_namespace0_generated_2786_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25425_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25425_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25425_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25425_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25425_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25425_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25425_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_25425_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_25425_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25425_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25425LU), -UA_NODEID_NUMERIC(ns[0], 25424LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2786_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25425LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=25421 */ - -static UA_StatusCode function_namespace0_generated_2787_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25421LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2787_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25421LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25423 */ - -static UA_StatusCode function_namespace0_generated_2788_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25423_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25423_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25423_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_25423_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_25423_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25423_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25423LU), -UA_NODEID_NUMERIC(ns[0], 25421LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2788_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25423LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25422 */ - -static UA_StatusCode function_namespace0_generated_2789_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25422_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25422_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25422_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25422_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25422_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25422_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25422LU), -UA_NODEID_NUMERIC(ns[0], 25421LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2789_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25422LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=25419 */ - -static UA_StatusCode function_namespace0_generated_2790_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25419LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2790_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25419LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25420 */ - -static UA_StatusCode function_namespace0_generated_2791_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25420_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25420_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25420_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25420_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25420_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25420_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25420_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_25420_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_25420_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25420_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25420LU), -UA_NODEID_NUMERIC(ns[0], 25419LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2791_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25420LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=25416 */ - -static UA_StatusCode function_namespace0_generated_2792_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25416LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2792_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25416LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25418 */ - -static UA_StatusCode function_namespace0_generated_2793_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25418_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25418_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25418_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_25418_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_25418_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25418_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25418LU), -UA_NODEID_NUMERIC(ns[0], 25416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2793_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25418LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25417 */ - -static UA_StatusCode function_namespace0_generated_2794_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25417_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25417_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25417_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25417_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25417_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25417_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25417_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_25417_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_25417_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25417_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25417LU), -UA_NODEID_NUMERIC(ns[0], 25416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2794_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25417LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=25414 */ - -static UA_StatusCode function_namespace0_generated_2795_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25414LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2795_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25414LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25415 */ - -static UA_StatusCode function_namespace0_generated_2796_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25415_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25415_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25415_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25415_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25415_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25415_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25415LU), -UA_NODEID_NUMERIC(ns[0], 25414LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2796_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25415LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=25411 */ - -static UA_StatusCode function_namespace0_generated_2797_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25411LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2797_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25411LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25413 */ - -static UA_StatusCode function_namespace0_generated_2798_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25413_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25413_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25413_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25413_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25413_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25413_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25413LU), -UA_NODEID_NUMERIC(ns[0], 25411LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2798_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25413LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25412 */ - -static UA_StatusCode function_namespace0_generated_2799_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25412_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25412_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25412_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_25412_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_25412_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25412_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25412LU), -UA_NODEID_NUMERIC(ns[0], 25411LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2799_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25412LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=25407 */ - -static UA_StatusCode function_namespace0_generated_2800_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25407LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2800_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25407LU) -); -} - -/* UserWritable - ns=0;i=25406 */ - -static UA_StatusCode function_namespace0_generated_2801_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25406LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2801_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25406LU) -); -} - -/* Writable - ns=0;i=25405 */ - -static UA_StatusCode function_namespace0_generated_2802_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25405LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2802_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25405LU) -); -} - -/* Size - ns=0;i=25404 */ - -static UA_StatusCode function_namespace0_generated_2803_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25404LU), -UA_NODEID_NUMERIC(ns[0], 25403LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2803_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25404LU) -); -} - -/* LastModifiedTime - ns=0;i=25200 */ - -static UA_StatusCode function_namespace0_generated_2804_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastModifiedTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25200LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastModifiedTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2804_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25200LU) -); -} - -/* MaxByteStringLength - ns=0;i=24244 */ - -static UA_StatusCode function_namespace0_generated_2805_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24244LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2805_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24244LU) -); -} - -/* - ns=0;i=13366 */ - -static UA_StatusCode function_namespace0_generated_2806_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 13353LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 11575LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2806_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13366LU) -); -} - -/* SetPosition - ns=0;i=13385 */ - -static UA_StatusCode function_namespace0_generated_2807_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13385LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2807_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13385LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13386 */ - -static UA_StatusCode function_namespace0_generated_2808_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13386_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13386_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13386_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13386_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13386_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13386_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13386_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13386_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13386_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13386_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13386LU), -UA_NODEID_NUMERIC(ns[0], 13385LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2808_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13386LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13382 */ - -static UA_StatusCode function_namespace0_generated_2809_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13382LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2809_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13382LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13384 */ - -static UA_StatusCode function_namespace0_generated_2810_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13384_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13384_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13384_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13384_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13384_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13384_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13384LU), -UA_NODEID_NUMERIC(ns[0], 13382LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2810_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13384LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13383 */ - -static UA_StatusCode function_namespace0_generated_2811_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13383_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13383_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13383_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13383_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13383_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13383_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13383LU), -UA_NODEID_NUMERIC(ns[0], 13382LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2811_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13383LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13380 */ - -static UA_StatusCode function_namespace0_generated_2812_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13380LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2812_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13380LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13381 */ - -static UA_StatusCode function_namespace0_generated_2813_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13381_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13381_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13381_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13381_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13381_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13381_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13381_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13381_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13381_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13381_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13381LU), -UA_NODEID_NUMERIC(ns[0], 13380LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2813_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13381LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13377 */ - -static UA_StatusCode function_namespace0_generated_2814_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13377LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2814_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13377LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13379 */ - -static UA_StatusCode function_namespace0_generated_2815_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13379_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13379_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13379_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13379_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13379_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13379_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13379LU), -UA_NODEID_NUMERIC(ns[0], 13377LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2815_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13379LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13378 */ - -static UA_StatusCode function_namespace0_generated_2816_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13378_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13378_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13378_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13378_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13378_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13378_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13378_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13378_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13378_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13378_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13378LU), -UA_NODEID_NUMERIC(ns[0], 13377LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2816_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13378LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13375 */ - -static UA_StatusCode function_namespace0_generated_2817_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13375LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2817_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13375LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13376 */ - -static UA_StatusCode function_namespace0_generated_2818_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13376_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13376_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13376_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13376_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13376_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13376_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13376LU), -UA_NODEID_NUMERIC(ns[0], 13375LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2818_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13376LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13372 */ - -static UA_StatusCode function_namespace0_generated_2819_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13372LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2819_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13372LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13374 */ - -static UA_StatusCode function_namespace0_generated_2820_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13374_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13374_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13374_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13374_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13374_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13374_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13374LU), -UA_NODEID_NUMERIC(ns[0], 13372LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2820_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13374LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13373 */ - -static UA_StatusCode function_namespace0_generated_2821_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13373_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13373_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13373_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13373_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13373_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13373_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13373LU), -UA_NODEID_NUMERIC(ns[0], 13372LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2821_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13373LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13370 */ - -static UA_StatusCode function_namespace0_generated_2822_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13370LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2822_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13370LU) -); -} - -/* UserWritable - ns=0;i=13369 */ - -static UA_StatusCode function_namespace0_generated_2823_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13369LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2823_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13369LU) -); -} - -/* Writable - ns=0;i=13368 */ - -static UA_StatusCode function_namespace0_generated_2824_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13368LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2824_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13368LU) -); -} - -/* Size - ns=0;i=13367 */ - -static UA_StatusCode function_namespace0_generated_2825_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13367LU), -UA_NODEID_NUMERIC(ns[0], 13366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2825_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13367LU) -); -} - -/* MimeType - ns=0;i=13341 */ - -static UA_StatusCode function_namespace0_generated_2826_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MimeType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13341LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MimeType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2826_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13341LU) -); -} - -/* UserWritable - ns=0;i=12687 */ - -static UA_StatusCode function_namespace0_generated_2827_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12687LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2827_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12687LU) -); -} - -/* Writable - ns=0;i=12686 */ - -static UA_StatusCode function_namespace0_generated_2828_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12686LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2828_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12686LU) -); -} - -/* TrustListType - ns=0;i=12522 */ - -static UA_StatusCode function_namespace0_generated_2829_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TrustListType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2829_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12522LU) -); -} - -/* ActivityTimeout - ns=0;i=32254 */ - -static UA_StatusCode function_namespace0_generated_2830_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActivityTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32254LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ActivityTimeout"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2830_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32254LU) -); -} - -/* TrustList - ns=0;i=26881 */ - -static UA_StatusCode function_namespace0_generated_2831_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 26880LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2831_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26881LU) -); -} - -/* RemoveCertificate - ns=0;i=26915 */ - -static UA_StatusCode function_namespace0_generated_2832_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26915LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2832_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26915LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26916 */ - -static UA_StatusCode function_namespace0_generated_2833_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26916_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_26916_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26916_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_26916_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_26916_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_26916_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26916_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_26916_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_26916_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26916_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26916LU), -UA_NODEID_NUMERIC(ns[0], 26915LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2833_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26916LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=26913 */ - -static UA_StatusCode function_namespace0_generated_2834_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26913LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2834_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26913LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26914 */ - -static UA_StatusCode function_namespace0_generated_2835_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26914_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_26914_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26914_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_26914_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_26914_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_26914_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26914_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_26914_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_26914_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26914_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26914LU), -UA_NODEID_NUMERIC(ns[0], 26913LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2835_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26914LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=26910 */ - -static UA_StatusCode function_namespace0_generated_2836_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26910LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2836_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26910LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=26912 */ - -static UA_StatusCode function_namespace0_generated_2837_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26912_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26912_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26912_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_26912_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_26912_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26912_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26912LU), -UA_NODEID_NUMERIC(ns[0], 26910LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2837_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26912LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26911 */ - -static UA_StatusCode function_namespace0_generated_2838_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26911_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26911_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26911_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26911_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26911_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26911_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26911LU), -UA_NODEID_NUMERIC(ns[0], 26910LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2838_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26911LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=26907 */ - -static UA_StatusCode function_namespace0_generated_2839_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26907LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2839_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26907LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=26909 */ - -static UA_StatusCode function_namespace0_generated_2840_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26909_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26909_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26909_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26909_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26909_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26909_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26909LU), -UA_NODEID_NUMERIC(ns[0], 26907LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2840_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26909LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26908 */ - -static UA_StatusCode function_namespace0_generated_2841_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26908_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26908_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26908_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_26908_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26908_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26908_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26908LU), -UA_NODEID_NUMERIC(ns[0], 26907LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2841_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26908LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=26904 */ - -static UA_StatusCode function_namespace0_generated_2842_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26904LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2842_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26904LU) -); -} - -/* SetPosition - ns=0;i=26902 */ - -static UA_StatusCode function_namespace0_generated_2843_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26902LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2843_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26902LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26903 */ - -static UA_StatusCode function_namespace0_generated_2844_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26903_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_26903_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26903_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26903_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26903_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_26903_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26903_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_26903_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_26903_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26903_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26903LU), -UA_NODEID_NUMERIC(ns[0], 26902LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2844_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26903LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=26899 */ - -static UA_StatusCode function_namespace0_generated_2845_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26899LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2845_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26899LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=26901 */ - -static UA_StatusCode function_namespace0_generated_2846_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26901_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26901_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26901_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_26901_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_26901_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26901_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26901LU), -UA_NODEID_NUMERIC(ns[0], 26899LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2846_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26901LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26900 */ - -static UA_StatusCode function_namespace0_generated_2847_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26900_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26900_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26900_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26900_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26900_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26900_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26900LU), -UA_NODEID_NUMERIC(ns[0], 26899LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2847_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26900LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=26897 */ - -static UA_StatusCode function_namespace0_generated_2848_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26897LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2848_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26897LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26898 */ - -static UA_StatusCode function_namespace0_generated_2849_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26898_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_26898_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26898_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26898_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26898_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_26898_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26898_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_26898_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_26898_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26898_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26898LU), -UA_NODEID_NUMERIC(ns[0], 26897LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2849_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26898LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=26894 */ - -static UA_StatusCode function_namespace0_generated_2850_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26894LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2850_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26894LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=26896 */ - -static UA_StatusCode function_namespace0_generated_2851_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26896_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26896_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26896_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_26896_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_26896_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26896_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26896LU), -UA_NODEID_NUMERIC(ns[0], 26894LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2851_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26896LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26895 */ - -static UA_StatusCode function_namespace0_generated_2852_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26895_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_26895_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26895_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26895_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26895_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_26895_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26895_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_26895_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_26895_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26895_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26895LU), -UA_NODEID_NUMERIC(ns[0], 26894LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2852_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26895LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=26892 */ - -static UA_StatusCode function_namespace0_generated_2853_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26892LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2853_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26892LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26893 */ - -static UA_StatusCode function_namespace0_generated_2854_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26893_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26893_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26893_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26893_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26893_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26893_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26893LU), -UA_NODEID_NUMERIC(ns[0], 26892LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2854_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26893LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=26889 */ - -static UA_StatusCode function_namespace0_generated_2855_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 26889LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2855_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26889LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=26891 */ - -static UA_StatusCode function_namespace0_generated_2856_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26891_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26891_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26891_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_26891_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_26891_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26891_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26891LU), -UA_NODEID_NUMERIC(ns[0], 26889LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2856_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26891LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=26890 */ - -static UA_StatusCode function_namespace0_generated_2857_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_26890_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_26890_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_26890_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_26890_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_26890_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_26890_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26890LU), -UA_NODEID_NUMERIC(ns[0], 26889LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2857_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26890LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=26885 */ - -static UA_StatusCode function_namespace0_generated_2858_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26885LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2858_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26885LU) -); -} - -/* UserWritable - ns=0;i=26884 */ - -static UA_StatusCode function_namespace0_generated_2859_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26884LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2859_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26884LU) -); -} - -/* Writable - ns=0;i=26883 */ - -static UA_StatusCode function_namespace0_generated_2860_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26883LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2860_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26883LU) -); -} - -/* Size - ns=0;i=26882 */ - -static UA_StatusCode function_namespace0_generated_2861_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 26882LU), -UA_NODEID_NUMERIC(ns[0], 26881LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2861_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 26882LU) -); -} - -/* DefaultValidationOptions - ns=0;i=23563 */ - -static UA_StatusCode function_namespace0_generated_2862_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23564LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultValidationOptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23563LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultValidationOptions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2862_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23563LU) -); -} - -/* UpdateFrequency - ns=0;i=19296 */ - -static UA_StatusCode function_namespace0_generated_2863_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateFrequency"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19296LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateFrequency"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2863_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19296LU) -); -} - -/* TrustList - ns=0;i=13952 */ - -static UA_StatusCode function_namespace0_generated_2864_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 13951LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2864_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13952LU) -); -} - -/* RemoveCertificate - ns=0;i=13982 */ - -static UA_StatusCode function_namespace0_generated_2865_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13982LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2865_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13982LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13983 */ - -static UA_StatusCode function_namespace0_generated_2866_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13983_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13983_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13983_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_13983_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13983_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13983_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13983_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13983_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13983_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13983_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13983LU), -UA_NODEID_NUMERIC(ns[0], 13982LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2866_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13983LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=13980 */ - -static UA_StatusCode function_namespace0_generated_2867_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13980LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2867_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13980LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13981 */ - -static UA_StatusCode function_namespace0_generated_2868_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13981_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13981_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13981_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13981_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13981_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13981_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13981_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13981_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13981_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13981_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13981LU), -UA_NODEID_NUMERIC(ns[0], 13980LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2868_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13981LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=13977 */ - -static UA_StatusCode function_namespace0_generated_2869_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13977LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2869_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13977LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13979 */ - -static UA_StatusCode function_namespace0_generated_2870_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13979_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13979_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13979_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13979_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13979_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13979_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13979LU), -UA_NODEID_NUMERIC(ns[0], 13977LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2870_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13979LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13978 */ - -static UA_StatusCode function_namespace0_generated_2871_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13978_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13978_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13978_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13978_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13978_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13978_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13978LU), -UA_NODEID_NUMERIC(ns[0], 13977LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2871_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13978LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=13974 */ - -static UA_StatusCode function_namespace0_generated_2872_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13974LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2872_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13974LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13976 */ - -static UA_StatusCode function_namespace0_generated_2873_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13976_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13976_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13976_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13976_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13976_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13976_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13976LU), -UA_NODEID_NUMERIC(ns[0], 13974LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2873_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13976LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13975 */ - -static UA_StatusCode function_namespace0_generated_2874_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13975_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13975_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13975_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_13975_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13975_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13975_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13975LU), -UA_NODEID_NUMERIC(ns[0], 13974LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2874_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13975LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=13973 */ - -static UA_StatusCode function_namespace0_generated_2875_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13973LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2875_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13973LU) -); -} - -/* SetPosition - ns=0;i=13971 */ - -static UA_StatusCode function_namespace0_generated_2876_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13971LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2876_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13971LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13972 */ - -static UA_StatusCode function_namespace0_generated_2877_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13972_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13972_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13972_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13972_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13972_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13972_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13972_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13972_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13972_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13972_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13972LU), -UA_NODEID_NUMERIC(ns[0], 13971LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2877_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13972LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13968 */ - -static UA_StatusCode function_namespace0_generated_2878_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13968LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2878_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13968LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13970 */ - -static UA_StatusCode function_namespace0_generated_2879_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13970_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13970_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13970_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13970_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13970_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13970_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13970LU), -UA_NODEID_NUMERIC(ns[0], 13968LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2879_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13970LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13969 */ - -static UA_StatusCode function_namespace0_generated_2880_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13969_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13969_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13969_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13969_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13969_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13969_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13969LU), -UA_NODEID_NUMERIC(ns[0], 13968LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2880_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13969LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13966 */ - -static UA_StatusCode function_namespace0_generated_2881_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13966LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2881_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13966LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13967 */ - -static UA_StatusCode function_namespace0_generated_2882_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13967_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13967_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13967_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13967_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13967_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13967_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13967_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13967_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13967_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13967_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13967LU), -UA_NODEID_NUMERIC(ns[0], 13966LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2882_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13967LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13963 */ - -static UA_StatusCode function_namespace0_generated_2883_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13963LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2883_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13963LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13965 */ - -static UA_StatusCode function_namespace0_generated_2884_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13965_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13965_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13965_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13965_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13965_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13965_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13965LU), -UA_NODEID_NUMERIC(ns[0], 13963LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2884_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13965LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13964 */ - -static UA_StatusCode function_namespace0_generated_2885_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13964_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13964_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13964_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13964_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13964_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13964_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13964_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13964_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13964_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13964_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13964LU), -UA_NODEID_NUMERIC(ns[0], 13963LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2885_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13964LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13961 */ - -static UA_StatusCode function_namespace0_generated_2886_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13961LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2886_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13961LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13962 */ - -static UA_StatusCode function_namespace0_generated_2887_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13962_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13962_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13962_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13962_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13962_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13962_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13962LU), -UA_NODEID_NUMERIC(ns[0], 13961LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2887_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13962LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13958 */ - -static UA_StatusCode function_namespace0_generated_2888_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13958LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2888_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13958LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13960 */ - -static UA_StatusCode function_namespace0_generated_2889_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13960_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13960_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13960_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13960_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13960_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13960_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13960LU), -UA_NODEID_NUMERIC(ns[0], 13958LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2889_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13960LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13959 */ - -static UA_StatusCode function_namespace0_generated_2890_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13959_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13959_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13959_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13959_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13959_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13959_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13959LU), -UA_NODEID_NUMERIC(ns[0], 13958LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2890_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13959LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13956 */ - -static UA_StatusCode function_namespace0_generated_2891_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13956LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2891_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13956LU) -); -} - -/* UserWritable - ns=0;i=13955 */ - -static UA_StatusCode function_namespace0_generated_2892_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13955LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2892_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13955LU) -); -} - -/* Writable - ns=0;i=13954 */ - -static UA_StatusCode function_namespace0_generated_2893_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13954LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2893_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13954LU) -); -} - -/* Size - ns=0;i=13953 */ - -static UA_StatusCode function_namespace0_generated_2894_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13953LU), -UA_NODEID_NUMERIC(ns[0], 13952LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2894_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13953LU) -); -} - -/* TrustList - ns=0;i=13917 */ - -static UA_StatusCode function_namespace0_generated_2895_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 13916LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2895_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13917LU) -); -} - -/* RemoveCertificate - ns=0;i=13947 */ - -static UA_StatusCode function_namespace0_generated_2896_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13947LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2896_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13947LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13948 */ - -static UA_StatusCode function_namespace0_generated_2897_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13948_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13948_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13948_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_13948_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13948_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13948_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13948_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13948_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13948_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13948_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13948LU), -UA_NODEID_NUMERIC(ns[0], 13947LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2897_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13948LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=13945 */ - -static UA_StatusCode function_namespace0_generated_2898_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13945LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2898_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13945LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13946 */ - -static UA_StatusCode function_namespace0_generated_2899_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13946_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13946_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13946_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13946_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13946_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13946_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13946_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13946_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13946_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13946_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13946LU), -UA_NODEID_NUMERIC(ns[0], 13945LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2899_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13946LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=13942 */ - -static UA_StatusCode function_namespace0_generated_2900_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13942LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2900_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13942LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13944 */ - -static UA_StatusCode function_namespace0_generated_2901_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13944_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13944_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13944_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13944_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13944_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13944_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13944LU), -UA_NODEID_NUMERIC(ns[0], 13942LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2901_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13944LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13943 */ - -static UA_StatusCode function_namespace0_generated_2902_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13943_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13943_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13943_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13943_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13943_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13943_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13943LU), -UA_NODEID_NUMERIC(ns[0], 13942LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2902_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13943LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=13939 */ - -static UA_StatusCode function_namespace0_generated_2903_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13939LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2903_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13939LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13941 */ - -static UA_StatusCode function_namespace0_generated_2904_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13941_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13941_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13941_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13941_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13941_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13941_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13941LU), -UA_NODEID_NUMERIC(ns[0], 13939LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2904_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13941LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13940 */ - -static UA_StatusCode function_namespace0_generated_2905_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13940_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13940_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13940_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_13940_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13940_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13940_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13940LU), -UA_NODEID_NUMERIC(ns[0], 13939LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2905_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13940LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=13938 */ - -static UA_StatusCode function_namespace0_generated_2906_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13938LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2906_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13938LU) -); -} - -/* SetPosition - ns=0;i=13936 */ - -static UA_StatusCode function_namespace0_generated_2907_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13936LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2907_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13936LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13937 */ - -static UA_StatusCode function_namespace0_generated_2908_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13937_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13937_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13937_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13937_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13937_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13937_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13937_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13937_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13937_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13937_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13937LU), -UA_NODEID_NUMERIC(ns[0], 13936LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2908_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13937LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13933 */ - -static UA_StatusCode function_namespace0_generated_2909_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13933LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2909_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13933LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13935 */ - -static UA_StatusCode function_namespace0_generated_2910_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13935_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13935_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13935_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13935_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13935_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13935_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13935LU), -UA_NODEID_NUMERIC(ns[0], 13933LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2910_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13935LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13934 */ - -static UA_StatusCode function_namespace0_generated_2911_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13934_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13934_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13934_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13934_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13934_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13934_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13934LU), -UA_NODEID_NUMERIC(ns[0], 13933LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2911_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13934LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13931 */ - -static UA_StatusCode function_namespace0_generated_2912_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13931LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2912_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13931LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13932 */ - -static UA_StatusCode function_namespace0_generated_2913_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13932_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13932_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13932_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13932_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13932_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13932_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13932_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13932_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13932_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13932_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13932LU), -UA_NODEID_NUMERIC(ns[0], 13931LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2913_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13932LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13928 */ - -static UA_StatusCode function_namespace0_generated_2914_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13928LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2914_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13928LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13930 */ - -static UA_StatusCode function_namespace0_generated_2915_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13930_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13930_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13930_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13930_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13930_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13930_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13930LU), -UA_NODEID_NUMERIC(ns[0], 13928LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2915_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13930LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13929 */ - -static UA_StatusCode function_namespace0_generated_2916_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13929_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13929_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13929_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13929_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13929_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13929_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13929_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13929_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13929_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13929_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13929LU), -UA_NODEID_NUMERIC(ns[0], 13928LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2916_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13929LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13926 */ - -static UA_StatusCode function_namespace0_generated_2917_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13926LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2917_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13926LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13927 */ - -static UA_StatusCode function_namespace0_generated_2918_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13927_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13927_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13927_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13927_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13927_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13927_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13927LU), -UA_NODEID_NUMERIC(ns[0], 13926LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2918_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13927LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13923 */ - -static UA_StatusCode function_namespace0_generated_2919_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13923LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2919_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13923LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13925 */ - -static UA_StatusCode function_namespace0_generated_2920_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13925_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13925_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13925_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13925_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13925_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13925_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13925LU), -UA_NODEID_NUMERIC(ns[0], 13923LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2920_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13925LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13924 */ - -static UA_StatusCode function_namespace0_generated_2921_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13924_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13924_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13924_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13924_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13924_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13924_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13924LU), -UA_NODEID_NUMERIC(ns[0], 13923LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2921_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13924LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13921 */ - -static UA_StatusCode function_namespace0_generated_2922_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13921LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2922_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13921LU) -); -} - -/* UserWritable - ns=0;i=13920 */ - -static UA_StatusCode function_namespace0_generated_2923_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13920LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2923_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13920LU) -); -} - -/* Writable - ns=0;i=13919 */ - -static UA_StatusCode function_namespace0_generated_2924_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13919LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2924_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13919LU) -); -} - -/* Size - ns=0;i=13918 */ - -static UA_StatusCode function_namespace0_generated_2925_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13918LU), -UA_NODEID_NUMERIC(ns[0], 13917LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2925_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13918LU) -); -} - -/* TrustList - ns=0;i=13883 */ - -static UA_StatusCode function_namespace0_generated_2926_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 13882LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2926_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13883LU) -); -} - -/* RemoveCertificate - ns=0;i=13913 */ - -static UA_StatusCode function_namespace0_generated_2927_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13913LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2927_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13913LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13914 */ - -static UA_StatusCode function_namespace0_generated_2928_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13914_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13914_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13914_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_13914_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13914_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13914_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13914_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13914_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13914_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13914_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13914LU), -UA_NODEID_NUMERIC(ns[0], 13913LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2928_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13914LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=13911 */ - -static UA_StatusCode function_namespace0_generated_2929_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13911LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2929_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13911LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13912 */ - -static UA_StatusCode function_namespace0_generated_2930_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13912_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13912_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13912_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13912_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13912_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13912_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13912_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13912_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13912_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13912_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13912LU), -UA_NODEID_NUMERIC(ns[0], 13911LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2930_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13912LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=13908 */ - -static UA_StatusCode function_namespace0_generated_2931_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13908LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2931_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13908LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13910 */ - -static UA_StatusCode function_namespace0_generated_2932_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13910_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13910_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13910_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13910_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13910_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13910_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13910LU), -UA_NODEID_NUMERIC(ns[0], 13908LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2932_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13910LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13909 */ - -static UA_StatusCode function_namespace0_generated_2933_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13909_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13909_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13909_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13909_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13909_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13909_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13909LU), -UA_NODEID_NUMERIC(ns[0], 13908LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2933_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13909LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=13905 */ - -static UA_StatusCode function_namespace0_generated_2934_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13905LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2934_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13905LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13907 */ - -static UA_StatusCode function_namespace0_generated_2935_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13907_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13907_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13907_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13907_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13907_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13907_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13907LU), -UA_NODEID_NUMERIC(ns[0], 13905LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2935_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13907LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13906 */ - -static UA_StatusCode function_namespace0_generated_2936_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13906_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13906_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13906_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_13906_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13906_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13906_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13906LU), -UA_NODEID_NUMERIC(ns[0], 13905LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2936_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13906LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=13904 */ - -static UA_StatusCode function_namespace0_generated_2937_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13904LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2937_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13904LU) -); -} - -/* SetPosition - ns=0;i=13902 */ - -static UA_StatusCode function_namespace0_generated_2938_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13902LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2938_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13902LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13903 */ - -static UA_StatusCode function_namespace0_generated_2939_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13903_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13903_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13903_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13903_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13903_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13903_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13903_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13903_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13903_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13903_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13903LU), -UA_NODEID_NUMERIC(ns[0], 13902LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2939_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13903LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13899 */ - -static UA_StatusCode function_namespace0_generated_2940_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13899LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2940_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13899LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13901 */ - -static UA_StatusCode function_namespace0_generated_2941_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13901_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13901_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13901_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13901_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13901_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13901_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13901LU), -UA_NODEID_NUMERIC(ns[0], 13899LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2941_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13901LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13900 */ - -static UA_StatusCode function_namespace0_generated_2942_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13900_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13900_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13900_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13900_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13900_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13900_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13900LU), -UA_NODEID_NUMERIC(ns[0], 13899LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2942_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13900LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13897 */ - -static UA_StatusCode function_namespace0_generated_2943_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13897LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2943_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13897LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13898 */ - -static UA_StatusCode function_namespace0_generated_2944_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13898_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13898_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13898_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13898_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13898_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13898_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13898_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13898_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13898_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13898_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13898LU), -UA_NODEID_NUMERIC(ns[0], 13897LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2944_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13898LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13894 */ - -static UA_StatusCode function_namespace0_generated_2945_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13894LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2945_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13894LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13896 */ - -static UA_StatusCode function_namespace0_generated_2946_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13896_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13896_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13896_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13896_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13896_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13896_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13896LU), -UA_NODEID_NUMERIC(ns[0], 13894LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2946_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13896LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13895 */ - -static UA_StatusCode function_namespace0_generated_2947_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13895_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13895_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13895_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13895_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13895_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13895_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13895_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13895_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13895_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13895_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13895LU), -UA_NODEID_NUMERIC(ns[0], 13894LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2947_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13895LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13892 */ - -static UA_StatusCode function_namespace0_generated_2948_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13892LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2948_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13892LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13893 */ - -static UA_StatusCode function_namespace0_generated_2949_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13893_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13893_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13893_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13893_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13893_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13893_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13893LU), -UA_NODEID_NUMERIC(ns[0], 13892LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2949_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13893LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13889 */ - -static UA_StatusCode function_namespace0_generated_2950_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13889LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2950_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13889LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13891 */ - -static UA_StatusCode function_namespace0_generated_2951_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13891_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13891_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13891_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13891_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13891_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13891_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13891LU), -UA_NODEID_NUMERIC(ns[0], 13889LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2951_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13891LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13890 */ - -static UA_StatusCode function_namespace0_generated_2952_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13890_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13890_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13890_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13890_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13890_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13890_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13890LU), -UA_NODEID_NUMERIC(ns[0], 13889LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2952_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13890LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13887 */ - -static UA_StatusCode function_namespace0_generated_2953_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13887LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2953_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13887LU) -); -} - -/* UserWritable - ns=0;i=13886 */ - -static UA_StatusCode function_namespace0_generated_2954_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13886LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2954_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13886LU) -); -} - -/* Writable - ns=0;i=13885 */ - -static UA_StatusCode function_namespace0_generated_2955_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13885LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2955_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13885LU) -); -} - -/* Size - ns=0;i=13884 */ - -static UA_StatusCode function_namespace0_generated_2956_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13884LU), -UA_NODEID_NUMERIC(ns[0], 13883LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2956_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13884LU) -); -} - -/* TrustList - ns=0;i=13849 */ - -static UA_StatusCode function_namespace0_generated_2957_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 13848LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2957_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13849LU) -); -} - -/* RemoveCertificate - ns=0;i=13879 */ - -static UA_StatusCode function_namespace0_generated_2958_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13879LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2958_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13879LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13880 */ - -static UA_StatusCode function_namespace0_generated_2959_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13880_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13880_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13880_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_13880_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13880_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13880_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13880_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13880_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13880_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13880_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13880LU), -UA_NODEID_NUMERIC(ns[0], 13879LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2959_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13880LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=13877 */ - -static UA_StatusCode function_namespace0_generated_2960_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13877LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2960_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13877LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13878 */ - -static UA_StatusCode function_namespace0_generated_2961_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13878_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13878_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13878_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13878_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13878_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13878_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13878_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13878_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13878_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13878_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13878LU), -UA_NODEID_NUMERIC(ns[0], 13877LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2961_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13878LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=13874 */ - -static UA_StatusCode function_namespace0_generated_2962_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13874LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2962_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13874LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13876 */ - -static UA_StatusCode function_namespace0_generated_2963_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13876_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13876_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13876_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13876_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13876_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13876_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13876LU), -UA_NODEID_NUMERIC(ns[0], 13874LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2963_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13876LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13875 */ - -static UA_StatusCode function_namespace0_generated_2964_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13875_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13875_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13875_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13875_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13875_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13875_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13875LU), -UA_NODEID_NUMERIC(ns[0], 13874LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2964_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13875LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=13871 */ - -static UA_StatusCode function_namespace0_generated_2965_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13871LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2965_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13871LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13873 */ - -static UA_StatusCode function_namespace0_generated_2966_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13873_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13873_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13873_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13873_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13873_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13873_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13873LU), -UA_NODEID_NUMERIC(ns[0], 13871LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2966_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13873LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13872 */ - -static UA_StatusCode function_namespace0_generated_2967_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13872_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13872_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13872_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_13872_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13872_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13872_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13872LU), -UA_NODEID_NUMERIC(ns[0], 13871LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2967_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13872LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=13870 */ - -static UA_StatusCode function_namespace0_generated_2968_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13870LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2968_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13870LU) -); -} - -/* SetPosition - ns=0;i=13868 */ - -static UA_StatusCode function_namespace0_generated_2969_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13868LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2969_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13868LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13869 */ - -static UA_StatusCode function_namespace0_generated_2970_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13869_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13869_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13869_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13869_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13869_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13869_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13869_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13869_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13869_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13869_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13869LU), -UA_NODEID_NUMERIC(ns[0], 13868LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2970_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13869LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13865 */ - -static UA_StatusCode function_namespace0_generated_2971_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13865LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2971_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13865LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13867 */ - -static UA_StatusCode function_namespace0_generated_2972_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13867_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13867_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13867_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13867_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13867_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13867_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13867LU), -UA_NODEID_NUMERIC(ns[0], 13865LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2972_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13867LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13866 */ - -static UA_StatusCode function_namespace0_generated_2973_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13866_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13866_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13866_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13866_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13866_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13866_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13866LU), -UA_NODEID_NUMERIC(ns[0], 13865LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2973_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13866LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13863 */ - -static UA_StatusCode function_namespace0_generated_2974_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13863LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2974_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13863LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13864 */ - -static UA_StatusCode function_namespace0_generated_2975_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13864_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13864_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13864_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13864_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13864_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13864_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13864_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13864_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13864_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13864_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13864LU), -UA_NODEID_NUMERIC(ns[0], 13863LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2975_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13864LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13860 */ - -static UA_StatusCode function_namespace0_generated_2976_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13860LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2976_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13860LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13862 */ - -static UA_StatusCode function_namespace0_generated_2977_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13862_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13862_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13862_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13862_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13862_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13862_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13862LU), -UA_NODEID_NUMERIC(ns[0], 13860LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2977_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13862LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13861 */ - -static UA_StatusCode function_namespace0_generated_2978_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13861_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13861_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13861_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13861_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13861_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13861_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13861_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13861_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13861_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13861_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13861LU), -UA_NODEID_NUMERIC(ns[0], 13860LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2978_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13861LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13858 */ - -static UA_StatusCode function_namespace0_generated_2979_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13858LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2979_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13858LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13859 */ - -static UA_StatusCode function_namespace0_generated_2980_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13859_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13859_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13859_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13859_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13859_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13859_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13859LU), -UA_NODEID_NUMERIC(ns[0], 13858LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2980_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13859LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13855 */ - -static UA_StatusCode function_namespace0_generated_2981_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13855LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2981_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13855LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13857 */ - -static UA_StatusCode function_namespace0_generated_2982_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13857_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13857_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13857_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13857_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13857_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13857_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13857LU), -UA_NODEID_NUMERIC(ns[0], 13855LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2982_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13857LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13856 */ - -static UA_StatusCode function_namespace0_generated_2983_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13856_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13856_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13856_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13856_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13856_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13856_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13856LU), -UA_NODEID_NUMERIC(ns[0], 13855LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2983_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13856LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13853 */ - -static UA_StatusCode function_namespace0_generated_2984_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13853LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2984_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13853LU) -); -} - -/* UserWritable - ns=0;i=13852 */ - -static UA_StatusCode function_namespace0_generated_2985_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13852LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2985_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13852LU) -); -} - -/* Writable - ns=0;i=13851 */ - -static UA_StatusCode function_namespace0_generated_2986_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13851LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2986_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13851LU) -); -} - -/* Size - ns=0;i=13850 */ - -static UA_StatusCode function_namespace0_generated_2987_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13850LU), -UA_NODEID_NUMERIC(ns[0], 13849LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2987_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13850LU) -); -} - -/* TrustList - ns=0;i=13815 */ - -static UA_StatusCode function_namespace0_generated_2988_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 13814LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2988_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13815LU) -); -} - -/* RemoveCertificate - ns=0;i=13845 */ - -static UA_StatusCode function_namespace0_generated_2989_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13845LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2989_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13845LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13846 */ - -static UA_StatusCode function_namespace0_generated_2990_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13846_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13846_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13846_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_13846_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13846_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13846_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13846_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13846_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13846_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13846_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13846LU), -UA_NODEID_NUMERIC(ns[0], 13845LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2990_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13846LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=13843 */ - -static UA_StatusCode function_namespace0_generated_2991_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13843LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2991_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13843LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13844 */ - -static UA_StatusCode function_namespace0_generated_2992_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13844_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13844_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13844_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13844_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13844_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13844_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13844_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13844_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13844_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13844_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13844LU), -UA_NODEID_NUMERIC(ns[0], 13843LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2992_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13844LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=13840 */ - -static UA_StatusCode function_namespace0_generated_2993_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13840LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2993_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13840LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13842 */ - -static UA_StatusCode function_namespace0_generated_2994_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13842_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13842_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13842_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13842_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13842_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13842_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13842LU), -UA_NODEID_NUMERIC(ns[0], 13840LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2994_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13842LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13841 */ - -static UA_StatusCode function_namespace0_generated_2995_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13841_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13841_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13841_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13841_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13841_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13841_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13841LU), -UA_NODEID_NUMERIC(ns[0], 13840LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2995_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13841LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=13837 */ - -static UA_StatusCode function_namespace0_generated_2996_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13837LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2996_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13837LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13839 */ - -static UA_StatusCode function_namespace0_generated_2997_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13839_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13839_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13839_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13839_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13839_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13839_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13839LU), -UA_NODEID_NUMERIC(ns[0], 13837LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2997_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13839LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13838 */ - -static UA_StatusCode function_namespace0_generated_2998_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13838_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13838_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13838_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_13838_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13838_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13838_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13838LU), -UA_NODEID_NUMERIC(ns[0], 13837LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_2998_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13838LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=13836 */ - -static UA_StatusCode function_namespace0_generated_2999_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13836LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_2999_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13836LU) -); -} - -/* SetPosition - ns=0;i=13834 */ - -static UA_StatusCode function_namespace0_generated_3000_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13834LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3000_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13834LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13835 */ - -static UA_StatusCode function_namespace0_generated_3001_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13835_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13835_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13835_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13835_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13835_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13835_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13835_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13835_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13835_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13835_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13835LU), -UA_NODEID_NUMERIC(ns[0], 13834LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3001_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13835LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13831 */ - -static UA_StatusCode function_namespace0_generated_3002_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13831LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3002_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13831LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13833 */ - -static UA_StatusCode function_namespace0_generated_3003_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13833_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13833_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13833_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13833_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13833_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13833_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13833LU), -UA_NODEID_NUMERIC(ns[0], 13831LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3003_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13833LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13832 */ - -static UA_StatusCode function_namespace0_generated_3004_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13832_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13832_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13832_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13832_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13832_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13832_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13832LU), -UA_NODEID_NUMERIC(ns[0], 13831LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3004_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13832LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13829 */ - -static UA_StatusCode function_namespace0_generated_3005_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13829LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3005_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13829LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13830 */ - -static UA_StatusCode function_namespace0_generated_3006_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13830_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13830_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13830_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13830_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13830_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13830_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13830_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13830_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13830_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13830_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13830LU), -UA_NODEID_NUMERIC(ns[0], 13829LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3006_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13830LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13826 */ - -static UA_StatusCode function_namespace0_generated_3007_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13826LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3007_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13826LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13828 */ - -static UA_StatusCode function_namespace0_generated_3008_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13828_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13828_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13828_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13828_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13828_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13828_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13828LU), -UA_NODEID_NUMERIC(ns[0], 13826LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3008_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13828LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13827 */ - -static UA_StatusCode function_namespace0_generated_3009_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13827_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13827_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13827_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13827_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13827_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13827_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13827_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13827_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13827_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13827_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13827LU), -UA_NODEID_NUMERIC(ns[0], 13826LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3009_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13827LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13824 */ - -static UA_StatusCode function_namespace0_generated_3010_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13824LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3010_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13824LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13825 */ - -static UA_StatusCode function_namespace0_generated_3011_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13825_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13825_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13825_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13825_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13825_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13825_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13825LU), -UA_NODEID_NUMERIC(ns[0], 13824LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3011_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13825LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13821 */ - -static UA_StatusCode function_namespace0_generated_3012_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13821LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3012_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13821LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13823 */ - -static UA_StatusCode function_namespace0_generated_3013_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13823_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13823_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13823_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13823_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13823_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13823_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13823LU), -UA_NODEID_NUMERIC(ns[0], 13821LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3013_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13823LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13822 */ - -static UA_StatusCode function_namespace0_generated_3014_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13822_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13822_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13822_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13822_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13822_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13822_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13822LU), -UA_NODEID_NUMERIC(ns[0], 13821LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3014_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13822LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13819 */ - -static UA_StatusCode function_namespace0_generated_3015_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13819LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3015_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13819LU) -); -} - -/* UserWritable - ns=0;i=13818 */ - -static UA_StatusCode function_namespace0_generated_3016_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13818LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3016_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13818LU) -); -} - -/* Writable - ns=0;i=13817 */ - -static UA_StatusCode function_namespace0_generated_3017_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13817LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3017_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13817LU) -); -} - -/* Size - ns=0;i=13816 */ - -static UA_StatusCode function_namespace0_generated_3018_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13816LU), -UA_NODEID_NUMERIC(ns[0], 13815LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3018_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13816LU) -); -} - -/* TrustList - ns=0;i=13599 */ - -static UA_StatusCode function_namespace0_generated_3019_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 12555LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3019_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13599LU) -); -} - -/* RemoveCertificate - ns=0;i=13629 */ - -static UA_StatusCode function_namespace0_generated_3020_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13629LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3020_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13629LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13630 */ - -static UA_StatusCode function_namespace0_generated_3021_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13630_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13630_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13630_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_13630_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13630_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13630_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13630_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13630_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13630_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13630_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13630LU), -UA_NODEID_NUMERIC(ns[0], 13629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3021_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13630LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=13627 */ - -static UA_StatusCode function_namespace0_generated_3022_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13627LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3022_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13627LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13628 */ - -static UA_StatusCode function_namespace0_generated_3023_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13628_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13628_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13628_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13628_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13628_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13628_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13628_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_13628_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13628_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13628_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13628LU), -UA_NODEID_NUMERIC(ns[0], 13627LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3023_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13628LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=13624 */ - -static UA_StatusCode function_namespace0_generated_3024_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13624LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3024_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13624LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13626 */ - -static UA_StatusCode function_namespace0_generated_3025_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13626_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13626_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13626_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13626_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13626_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13626_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13626LU), -UA_NODEID_NUMERIC(ns[0], 13624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3025_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13626LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13625 */ - -static UA_StatusCode function_namespace0_generated_3026_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13625_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13625_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13625_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13625_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13625_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13625_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13625LU), -UA_NODEID_NUMERIC(ns[0], 13624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3026_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13625LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=13621 */ - -static UA_StatusCode function_namespace0_generated_3027_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13621LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3027_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13621LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13623 */ - -static UA_StatusCode function_namespace0_generated_3028_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13623_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13623_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13623_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13623_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13623_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13623_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13623LU), -UA_NODEID_NUMERIC(ns[0], 13621LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3028_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13623LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13622 */ - -static UA_StatusCode function_namespace0_generated_3029_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13622_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13622_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13622_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_13622_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13622_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13622_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13622LU), -UA_NODEID_NUMERIC(ns[0], 13621LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3029_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13622LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=13620 */ - -static UA_StatusCode function_namespace0_generated_3030_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13620LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3030_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13620LU) -); -} - -/* SetPosition - ns=0;i=13618 */ - -static UA_StatusCode function_namespace0_generated_3031_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13618LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3031_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13618LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13619 */ - -static UA_StatusCode function_namespace0_generated_3032_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13619_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13619_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13619_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13619_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13619_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13619_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13619_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_13619_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13619_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13619_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13619LU), -UA_NODEID_NUMERIC(ns[0], 13618LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3032_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13619LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=13615 */ - -static UA_StatusCode function_namespace0_generated_3033_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13615LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3033_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13615LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13617 */ - -static UA_StatusCode function_namespace0_generated_3034_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13617_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13617_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13617_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_13617_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_13617_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13617_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13617LU), -UA_NODEID_NUMERIC(ns[0], 13615LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3034_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13617LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13616 */ - -static UA_StatusCode function_namespace0_generated_3035_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13616_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13616_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13616_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13616_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13616_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13616_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13616LU), -UA_NODEID_NUMERIC(ns[0], 13615LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3035_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13616LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=13613 */ - -static UA_StatusCode function_namespace0_generated_3036_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13613LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3036_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13613LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13614 */ - -static UA_StatusCode function_namespace0_generated_3037_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13614_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13614_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13614_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13614_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13614_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13614_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13614_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_13614_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13614_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13614_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13614LU), -UA_NODEID_NUMERIC(ns[0], 13613LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3037_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13614LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=13610 */ - -static UA_StatusCode function_namespace0_generated_3038_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13610LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3038_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13610LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13612 */ - -static UA_StatusCode function_namespace0_generated_3039_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13612_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13612_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13612_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_13612_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13612_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13612_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13612LU), -UA_NODEID_NUMERIC(ns[0], 13610LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3039_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13612LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13611 */ - -static UA_StatusCode function_namespace0_generated_3040_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13611_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_13611_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13611_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13611_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13611_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13611_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13611_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_13611_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_13611_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13611_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13611LU), -UA_NODEID_NUMERIC(ns[0], 13610LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3040_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13611LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=13608 */ - -static UA_StatusCode function_namespace0_generated_3041_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13608LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3041_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13608LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13609 */ - -static UA_StatusCode function_namespace0_generated_3042_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13609_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13609_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13609_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13609_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13609_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13609_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13609LU), -UA_NODEID_NUMERIC(ns[0], 13608LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3042_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13609LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=13605 */ - -static UA_StatusCode function_namespace0_generated_3043_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13605LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3043_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13605LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13607 */ - -static UA_StatusCode function_namespace0_generated_3044_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13607_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13607_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13607_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_13607_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_13607_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13607_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13607LU), -UA_NODEID_NUMERIC(ns[0], 13605LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3044_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13607LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13606 */ - -static UA_StatusCode function_namespace0_generated_3045_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13606_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13606_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13606_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_13606_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_13606_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13606_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13606LU), -UA_NODEID_NUMERIC(ns[0], 13605LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3045_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13606LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=13603 */ - -static UA_StatusCode function_namespace0_generated_3046_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13603LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3046_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13603LU) -); -} - -/* UserWritable - ns=0;i=13602 */ - -static UA_StatusCode function_namespace0_generated_3047_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13602LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3047_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13602LU) -); -} - -/* Writable - ns=0;i=13601 */ - -static UA_StatusCode function_namespace0_generated_3048_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13601LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3048_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13601LU) -); -} - -/* Size - ns=0;i=13600 */ - -static UA_StatusCode function_namespace0_generated_3049_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13600LU), -UA_NODEID_NUMERIC(ns[0], 13599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3049_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13600LU) -); -} - -/* RemoveCertificate - ns=0;i=12550 */ - -static UA_StatusCode function_namespace0_generated_3050_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12550LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3050_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12550LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12551 */ - -static UA_StatusCode function_namespace0_generated_3051_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12551_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12551_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12551_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_12551_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_12551_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12551_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12551_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_12551_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12551_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12551_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12551LU), -UA_NODEID_NUMERIC(ns[0], 12550LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3051_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12551LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=12548 */ - -static UA_StatusCode function_namespace0_generated_3052_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12548LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3052_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12548LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12549 */ - -static UA_StatusCode function_namespace0_generated_3053_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12549_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12549_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12549_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_12549_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12549_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12549_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12549_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_12549_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12549_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12549_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12549LU), -UA_NODEID_NUMERIC(ns[0], 12548LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3053_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12549LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=12546 */ - -static UA_StatusCode function_namespace0_generated_3054_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12546LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3054_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12546LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12705 */ - -static UA_StatusCode function_namespace0_generated_3055_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12705_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12705_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12705_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12705_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12705_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12705_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12705LU), -UA_NODEID_NUMERIC(ns[0], 12546LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3055_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12705LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12547 */ - -static UA_StatusCode function_namespace0_generated_3056_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12547_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12547_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12547_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_12547_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12547_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12547_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12547LU), -UA_NODEID_NUMERIC(ns[0], 12546LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3056_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12547LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=12543 */ - -static UA_StatusCode function_namespace0_generated_3057_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12543LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3057_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12543LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12545 */ - -static UA_StatusCode function_namespace0_generated_3058_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12545_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12545_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12545_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12545_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12545_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12545_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12545LU), -UA_NODEID_NUMERIC(ns[0], 12543LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3058_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12545LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12544 */ - -static UA_StatusCode function_namespace0_generated_3059_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12544_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12544_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12544_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_12544_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12544_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12544_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12544LU), -UA_NODEID_NUMERIC(ns[0], 12543LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3059_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12544LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=12542 */ - -static UA_StatusCode function_namespace0_generated_3060_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12542LU), -UA_NODEID_NUMERIC(ns[0], 12522LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3060_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12542LU) -); -} - -/* AddressSpaceFileType - ns=0;i=11595 */ - -static UA_StatusCode function_namespace0_generated_3061_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AddressSpaceFileType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11595LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "AddressSpaceFileType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3061_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11595LU) -); -} - -/* NamespaceFile - ns=0;i=11624 */ - -static UA_StatusCode function_namespace0_generated_3062_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceFile"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 11616LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceFile"), -UA_NODEID_NUMERIC(ns[0], 11595LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3062_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11624LU) -); -} - -/* UserWritable - ns=0;i=12691 */ - -static UA_StatusCode function_namespace0_generated_3063_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12691LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3063_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12691LU) -); -} - -/* Writable - ns=0;i=12690 */ - -static UA_StatusCode function_namespace0_generated_3064_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12690LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3064_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12690LU) -); -} - -/* SetPosition - ns=0;i=11642 */ - -static UA_StatusCode function_namespace0_generated_3065_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11642LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3065_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11642LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11643 */ - -static UA_StatusCode function_namespace0_generated_3066_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11643_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11643_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11643_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11643_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11643_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_11643_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11643_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_11643_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_11643_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11643_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11643LU), -UA_NODEID_NUMERIC(ns[0], 11642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3066_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11643LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=11639 */ - -static UA_StatusCode function_namespace0_generated_3067_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11639LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3067_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11639LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11641 */ - -static UA_StatusCode function_namespace0_generated_3068_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11641_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11641_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11641_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_11641_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_11641_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11641_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11641LU), -UA_NODEID_NUMERIC(ns[0], 11639LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3068_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11641LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11640 */ - -static UA_StatusCode function_namespace0_generated_3069_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11640_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11640_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11640_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11640_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11640_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11640_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11640LU), -UA_NODEID_NUMERIC(ns[0], 11639LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3069_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11640LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=11637 */ - -static UA_StatusCode function_namespace0_generated_3070_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11637LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3070_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11637LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11638 */ - -static UA_StatusCode function_namespace0_generated_3071_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11638_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11638_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11638_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11638_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11638_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_11638_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11638_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_11638_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_11638_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11638_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11638LU), -UA_NODEID_NUMERIC(ns[0], 11637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3071_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11638LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=11634 */ - -static UA_StatusCode function_namespace0_generated_3072_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11634LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3072_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11634LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11636 */ - -static UA_StatusCode function_namespace0_generated_3073_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11636_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11636_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11636_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_11636_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_11636_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11636_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11636LU), -UA_NODEID_NUMERIC(ns[0], 11634LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3073_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11636LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11635 */ - -static UA_StatusCode function_namespace0_generated_3074_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11635_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11635_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11635_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11635_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11635_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_11635_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11635_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_11635_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_11635_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11635_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11635LU), -UA_NODEID_NUMERIC(ns[0], 11634LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3074_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11635LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=11632 */ - -static UA_StatusCode function_namespace0_generated_3075_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11632LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3075_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11632LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11633 */ - -static UA_StatusCode function_namespace0_generated_3076_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11633_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11633_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11633_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11633_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11633_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11633_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11633LU), -UA_NODEID_NUMERIC(ns[0], 11632LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3076_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11633LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=11629 */ - -static UA_StatusCode function_namespace0_generated_3077_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11629LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3077_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11629LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11631 */ - -static UA_StatusCode function_namespace0_generated_3078_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11631_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11631_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11631_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11631_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11631_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11631_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11631LU), -UA_NODEID_NUMERIC(ns[0], 11629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3078_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11631LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11630 */ - -static UA_StatusCode function_namespace0_generated_3079_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11630_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11630_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11630_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_11630_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_11630_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11630_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11630LU), -UA_NODEID_NUMERIC(ns[0], 11629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3079_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11630LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=11628 */ - -static UA_StatusCode function_namespace0_generated_3080_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11628LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3080_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11628LU) -); -} - -/* Size - ns=0;i=11625 */ - -static UA_StatusCode function_namespace0_generated_3081_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11625LU), -UA_NODEID_NUMERIC(ns[0], 11624LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3081_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11625LU) -); -} - -/* ExportNamespace - ns=0;i=11615 */ - -static UA_StatusCode function_namespace0_generated_3082_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ExportNamespace"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11615LU), -UA_NODEID_NUMERIC(ns[0], 11595LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ExportNamespace"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3082_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11615LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetPosition - ns=0;i=11593 */ - -static UA_StatusCode function_namespace0_generated_3083_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11593LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3083_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11593LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11594 */ - -static UA_StatusCode function_namespace0_generated_3084_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11594_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11594_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11594_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11594_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11594_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_11594_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11594_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_11594_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_11594_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11594_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11594LU), -UA_NODEID_NUMERIC(ns[0], 11593LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3084_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11594LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=11590 */ - -static UA_StatusCode function_namespace0_generated_3085_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11590LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3085_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11590LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11592 */ - -static UA_StatusCode function_namespace0_generated_3086_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11592_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11592_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11592_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_11592_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_11592_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11592_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11592LU), -UA_NODEID_NUMERIC(ns[0], 11590LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3086_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11592LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11591 */ - -static UA_StatusCode function_namespace0_generated_3087_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11591_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11591_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11591_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11591_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11591_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11591_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11591LU), -UA_NODEID_NUMERIC(ns[0], 11590LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3087_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11591LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=11588 */ - -static UA_StatusCode function_namespace0_generated_3088_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11588LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3088_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11588LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11589 */ - -static UA_StatusCode function_namespace0_generated_3089_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11589_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11589_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11589_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11589_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11589_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_11589_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11589_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_11589_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_11589_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11589_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11589LU), -UA_NODEID_NUMERIC(ns[0], 11588LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3089_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11589LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=11585 */ - -static UA_StatusCode function_namespace0_generated_3090_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11585LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3090_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11585LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11587 */ - -static UA_StatusCode function_namespace0_generated_3091_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11587_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11587_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11587_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_11587_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_11587_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11587_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11587LU), -UA_NODEID_NUMERIC(ns[0], 11585LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3091_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11587LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11586 */ - -static UA_StatusCode function_namespace0_generated_3092_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11586_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11586_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11586_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11586_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11586_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_11586_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11586_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_11586_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_11586_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11586_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11586LU), -UA_NODEID_NUMERIC(ns[0], 11585LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3092_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11586LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=11583 */ - -static UA_StatusCode function_namespace0_generated_3093_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11583LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3093_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11583LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11584 */ - -static UA_StatusCode function_namespace0_generated_3094_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11584_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11584_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11584_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11584_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11584_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11584_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11584LU), -UA_NODEID_NUMERIC(ns[0], 11583LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3094_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11584LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=11580 */ - -static UA_StatusCode function_namespace0_generated_3095_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11580LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3095_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11580LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11582 */ - -static UA_StatusCode function_namespace0_generated_3096_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11582_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11582_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11582_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_11582_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11582_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11582_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11582LU), -UA_NODEID_NUMERIC(ns[0], 11580LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3096_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11582LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11581 */ - -static UA_StatusCode function_namespace0_generated_3097_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11581_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11581_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11581_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_11581_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_11581_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11581_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11581LU), -UA_NODEID_NUMERIC(ns[0], 11580LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3097_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11581LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=11579 */ - -static UA_StatusCode function_namespace0_generated_3098_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11579LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3098_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11579LU) -); -} - -/* Size - ns=0;i=11576 */ - -static UA_StatusCode function_namespace0_generated_3099_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11576LU), -UA_NODEID_NUMERIC(ns[0], 11575LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3099_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11576LU) -); -} - -/* OperationLimitsType - ns=0;i=11564 */ - -static UA_StatusCode function_namespace0_generated_3100_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OperationLimitsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 61LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "OperationLimitsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3100_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11564LU) -); -} - -/* MaxNodesPerHistoryUpdateEvents - ns=0;i=12164 */ - -static UA_StatusCode function_namespace0_generated_3101_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateEvents"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12164LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateEvents"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3101_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12164LU) -); -} - -/* MaxNodesPerHistoryUpdateData - ns=0;i=12163 */ - -static UA_StatusCode function_namespace0_generated_3102_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12163LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3102_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12163LU) -); -} - -/* MaxNodesPerHistoryReadEvents - ns=0;i=12162 */ - -static UA_StatusCode function_namespace0_generated_3103_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadEvents"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12162LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadEvents"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3103_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12162LU) -); -} - -/* MaxNodesPerHistoryReadData - ns=0;i=12161 */ - -static UA_StatusCode function_namespace0_generated_3104_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12161LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3104_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12161LU) -); -} - -/* MaxMonitoredItemsPerCall - ns=0;i=11574 */ - -static UA_StatusCode function_namespace0_generated_3105_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11574LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerCall"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3105_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11574LU) -); -} - -/* MaxNodesPerNodeManagement - ns=0;i=11573 */ - -static UA_StatusCode function_namespace0_generated_3106_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerNodeManagement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11573LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerNodeManagement"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3106_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11573LU) -); -} - -/* MaxNodesPerTranslateBrowsePathsToNodeIds - ns=0;i=11572 */ - -static UA_StatusCode function_namespace0_generated_3107_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerTranslateBrowsePathsToNodeIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11572LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerTranslateBrowsePathsToNodeIds"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3107_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11572LU) -); -} - -/* MaxNodesPerRegisterNodes - ns=0;i=11571 */ - -static UA_StatusCode function_namespace0_generated_3108_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRegisterNodes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11571LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRegisterNodes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3108_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11571LU) -); -} - -/* MaxNodesPerBrowse - ns=0;i=11570 */ - -static UA_StatusCode function_namespace0_generated_3109_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerBrowse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11570LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerBrowse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3109_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11570LU) -); -} - -/* MaxNodesPerMethodCall - ns=0;i=11569 */ - -static UA_StatusCode function_namespace0_generated_3110_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerMethodCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11569LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerMethodCall"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3110_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11569LU) -); -} - -/* MaxNodesPerWrite - ns=0;i=11567 */ - -static UA_StatusCode function_namespace0_generated_3111_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerWrite"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11567LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerWrite"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3111_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11567LU) -); -} - -/* MaxNodesPerRead - ns=0;i=11565 */ - -static UA_StatusCode function_namespace0_generated_3112_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRead"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11565LU), -UA_NODEID_NUMERIC(ns[0], 11564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRead"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3112_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11565LU) -); -} - -/* ServerRedundancyType - ns=0;i=2034 */ - -static UA_StatusCode function_namespace0_generated_3113_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerRedundancyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2034LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerRedundancyType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3113_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2034LU) -); -} - -/* NonTransparentRedundancyType - ns=0;i=2039 */ - -static UA_StatusCode function_namespace0_generated_3114_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NonTransparentRedundancyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2039LU), -UA_NODEID_NUMERIC(ns[0], 2034LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NonTransparentRedundancyType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3114_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2039LU) -); -} - -/* ServerUriArray - ns=0;i=2040 */ - -static UA_StatusCode function_namespace0_generated_3115_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUriArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2040LU), -UA_NODEID_NUMERIC(ns[0], 2039LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerUriArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3115_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2040LU) -); -} - -/* NonTransparentNetworkRedundancyType - ns=0;i=11945 */ - -static UA_StatusCode function_namespace0_generated_3116_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NonTransparentNetworkRedundancyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 11945LU), -UA_NODEID_NUMERIC(ns[0], 2039LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "NonTransparentNetworkRedundancyType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3116_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11945LU) -); -} - -/* ServerNetworkGroups - ns=0;i=11948 */ - -static UA_StatusCode function_namespace0_generated_3117_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 11944LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerNetworkGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11948LU), -UA_NODEID_NUMERIC(ns[0], 11945LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerNetworkGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3117_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11948LU) -); -} - -/* TransparentRedundancyType - ns=0;i=2036 */ - -static UA_StatusCode function_namespace0_generated_3118_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TransparentRedundancyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2036LU), -UA_NODEID_NUMERIC(ns[0], 2034LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "TransparentRedundancyType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3118_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2036LU) -); -} - -/* RedundantServerArray - ns=0;i=2038 */ - -static UA_StatusCode function_namespace0_generated_3119_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 853LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2038LU), -UA_NODEID_NUMERIC(ns[0], 2036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RedundantServerArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3119_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2038LU) -); -} - -/* CurrentServerId - ns=0;i=2037 */ - -static UA_StatusCode function_namespace0_generated_3120_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentServerId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2037LU), -UA_NODEID_NUMERIC(ns[0], 2036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CurrentServerId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3120_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2037LU) -); -} - -/* RedundancySupport - ns=0;i=2035 */ - -static UA_StatusCode function_namespace0_generated_3121_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 851LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2035LU), -UA_NODEID_NUMERIC(ns[0], 2034LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3121_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2035LU) -); -} - -/* VendorServerInfoType - ns=0;i=2033 */ - -static UA_StatusCode function_namespace0_generated_3122_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "VendorServerInfoType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2033LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "VendorServerInfoType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3122_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2033LU) -); -} - -/* SessionDiagnosticsObjectType - ns=0;i=2029 */ - -static UA_StatusCode function_namespace0_generated_3123_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsObjectType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2029LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsObjectType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3123_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2029LU) -); -} - -/* SubscriptionDiagnosticsArray - ns=0;i=2032 */ - -static UA_StatusCode function_namespace0_generated_3124_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2032LU), -UA_NODEID_NUMERIC(ns[0], 2029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2171LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3124_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2032LU) -); -} - -/* SessionSecurityDiagnostics - ns=0;i=2031 */ - -static UA_StatusCode function_namespace0_generated_3125_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 2029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2244LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3125_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2031LU) -); -} - -/* ClientCertificate - ns=0;i=3187 */ - -static UA_StatusCode function_namespace0_generated_3126_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3187LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3126_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3187LU) -); -} - -/* SecurityPolicyUri - ns=0;i=3186 */ - -static UA_StatusCode function_namespace0_generated_3127_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3186LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3127_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3186LU) -); -} - -/* SecurityMode - ns=0;i=3185 */ - -static UA_StatusCode function_namespace0_generated_3128_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3185LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3128_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3185LU) -); -} - -/* TransportProtocol - ns=0;i=3184 */ - -static UA_StatusCode function_namespace0_generated_3129_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3184LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3129_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3184LU) -); -} - -/* Encoding - ns=0;i=3183 */ - -static UA_StatusCode function_namespace0_generated_3130_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3183LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Encoding"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3130_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3183LU) -); -} - -/* AuthenticationMechanism - ns=0;i=3182 */ - -static UA_StatusCode function_namespace0_generated_3131_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3182LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3131_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3182LU) -); -} - -/* ClientUserIdHistory - ns=0;i=3181 */ - -static UA_StatusCode function_namespace0_generated_3132_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3181LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3132_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3181LU) -); -} - -/* ClientUserIdOfSession - ns=0;i=3180 */ - -static UA_StatusCode function_namespace0_generated_3133_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3180LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3133_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3180LU) -); -} - -/* SessionId - ns=0;i=3179 */ - -static UA_StatusCode function_namespace0_generated_3134_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3179LU), -UA_NODEID_NUMERIC(ns[0], 2031LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3134_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3179LU) -); -} - -/* SessionDiagnostics - ns=0;i=2030 */ - -static UA_StatusCode function_namespace0_generated_3135_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 2029LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2197LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3135_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2030LU) -); -} - -/* TotalRequestCount - ns=0;i=8898 */ - -static UA_StatusCode function_namespace0_generated_3136_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8898LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3136_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8898LU) -); -} - -/* UnregisterNodesCount - ns=0;i=3178 */ - -static UA_StatusCode function_namespace0_generated_3137_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3178LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3137_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3178LU) -); -} - -/* RegisterNodesCount - ns=0;i=3177 */ - -static UA_StatusCode function_namespace0_generated_3138_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3177LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3138_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3177LU) -); -} - -/* QueryNextCount - ns=0;i=3176 */ - -static UA_StatusCode function_namespace0_generated_3139_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3176LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3139_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3176LU) -); -} - -/* QueryFirstCount - ns=0;i=3175 */ - -static UA_StatusCode function_namespace0_generated_3140_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3175LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3140_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3175LU) -); -} - -/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=3174 */ - -static UA_StatusCode function_namespace0_generated_3141_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3174LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3141_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3174LU) -); -} - -/* BrowseNextCount - ns=0;i=3173 */ - -static UA_StatusCode function_namespace0_generated_3142_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3173LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3142_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3173LU) -); -} - -/* BrowseCount - ns=0;i=3172 */ - -static UA_StatusCode function_namespace0_generated_3143_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3172LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3143_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3172LU) -); -} - -/* DeleteReferencesCount - ns=0;i=3171 */ - -static UA_StatusCode function_namespace0_generated_3144_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3171LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3144_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3171LU) -); -} - -/* DeleteNodesCount - ns=0;i=3170 */ - -static UA_StatusCode function_namespace0_generated_3145_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3170LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3145_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3170LU) -); -} - -/* AddReferencesCount - ns=0;i=3169 */ - -static UA_StatusCode function_namespace0_generated_3146_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3169LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3146_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3169LU) -); -} - -/* AddNodesCount - ns=0;i=3168 */ - -static UA_StatusCode function_namespace0_generated_3147_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3168LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3147_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3168LU) -); -} - -/* DeleteSubscriptionsCount - ns=0;i=3167 */ - -static UA_StatusCode function_namespace0_generated_3148_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3167LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3148_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3167LU) -); -} - -/* TransferSubscriptionsCount - ns=0;i=3166 */ - -static UA_StatusCode function_namespace0_generated_3149_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3166LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3149_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3166LU) -); -} - -/* RepublishCount - ns=0;i=3165 */ - -static UA_StatusCode function_namespace0_generated_3150_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3165LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3150_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3165LU) -); -} - -/* PublishCount - ns=0;i=3164 */ - -static UA_StatusCode function_namespace0_generated_3151_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3164LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3151_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3164LU) -); -} - -/* SetPublishingModeCount - ns=0;i=3163 */ - -static UA_StatusCode function_namespace0_generated_3152_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3163LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3152_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3163LU) -); -} - -/* ModifySubscriptionCount - ns=0;i=3162 */ - -static UA_StatusCode function_namespace0_generated_3153_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3162LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3153_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3162LU) -); -} - -/* CreateSubscriptionCount - ns=0;i=3161 */ - -static UA_StatusCode function_namespace0_generated_3154_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3161LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3154_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3161LU) -); -} - -/* DeleteMonitoredItemsCount - ns=0;i=3160 */ - -static UA_StatusCode function_namespace0_generated_3155_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3160LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3155_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3160LU) -); -} - -/* SetTriggeringCount - ns=0;i=3159 */ - -static UA_StatusCode function_namespace0_generated_3156_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3159LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3156_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3159LU) -); -} - -/* SetMonitoringModeCount - ns=0;i=3158 */ - -static UA_StatusCode function_namespace0_generated_3157_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3158LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3157_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3158LU) -); -} - -/* ModifyMonitoredItemsCount - ns=0;i=3157 */ - -static UA_StatusCode function_namespace0_generated_3158_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3157LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3158_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3157LU) -); -} - -/* CreateMonitoredItemsCount - ns=0;i=3156 */ - -static UA_StatusCode function_namespace0_generated_3159_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3156LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3159_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3156LU) -); -} - -/* CallCount - ns=0;i=3155 */ - -static UA_StatusCode function_namespace0_generated_3160_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3155LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CallCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3160_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3155LU) -); -} - -/* HistoryUpdateCount - ns=0;i=3154 */ - -static UA_StatusCode function_namespace0_generated_3161_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3154LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3161_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3154LU) -); -} - -/* WriteCount - ns=0;i=3153 */ - -static UA_StatusCode function_namespace0_generated_3162_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3153LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriteCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3162_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3153LU) -); -} - -/* HistoryReadCount - ns=0;i=3152 */ - -static UA_StatusCode function_namespace0_generated_3163_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3152LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3163_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3152LU) -); -} - -/* ReadCount - ns=0;i=3151 */ - -static UA_StatusCode function_namespace0_generated_3164_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3151LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3164_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3151LU) -); -} - -/* CurrentPublishRequestsInQueue - ns=0;i=3143 */ - -static UA_StatusCode function_namespace0_generated_3165_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3143LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3165_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3143LU) -); -} - -/* CurrentMonitoredItemsCount - ns=0;i=3142 */ - -static UA_StatusCode function_namespace0_generated_3166_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3142LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3166_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3142LU) -); -} - -/* CurrentSubscriptionsCount - ns=0;i=3141 */ - -static UA_StatusCode function_namespace0_generated_3167_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3141LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3167_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3141LU) -); -} - -/* ClientLastContactTime - ns=0;i=3140 */ - -static UA_StatusCode function_namespace0_generated_3168_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3140LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3168_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3140LU) -); -} - -/* ClientConnectionTime - ns=0;i=3139 */ - -static UA_StatusCode function_namespace0_generated_3169_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3139LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3169_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3139LU) -); -} - -/* MaxResponseMessageSize - ns=0;i=3138 */ - -static UA_StatusCode function_namespace0_generated_3170_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3138LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3170_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3138LU) -); -} - -/* ActualSessionTimeout - ns=0;i=3137 */ - -static UA_StatusCode function_namespace0_generated_3171_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3137LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3171_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3137LU) -); -} - -/* LocaleIds - ns=0;i=3136 */ - -static UA_StatusCode function_namespace0_generated_3172_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3136LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIds"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3172_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3136LU) -); -} - -/* EndpointUrl - ns=0;i=3135 */ - -static UA_StatusCode function_namespace0_generated_3173_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3135LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3173_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3135LU) -); -} - -/* ServerUri - ns=0;i=3134 */ - -static UA_StatusCode function_namespace0_generated_3174_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3134LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3174_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3134LU) -); -} - -/* ClientDescription - ns=0;i=3133 */ - -static UA_StatusCode function_namespace0_generated_3175_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3133LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientDescription"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3175_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3133LU) -); -} - -/* SessionName - ns=0;i=3132 */ - -static UA_StatusCode function_namespace0_generated_3176_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3132LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3176_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3132LU) -); -} - -/* SessionId - ns=0;i=3131 */ - -static UA_StatusCode function_namespace0_generated_3177_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3131LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3177_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3131LU) -); -} - -/* UnauthorizedRequestCount - ns=0;i=11891 */ - -static UA_StatusCode function_namespace0_generated_3178_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11891LU), -UA_NODEID_NUMERIC(ns[0], 2030LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3178_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11891LU) -); -} - -/* SessionsDiagnosticsSummaryType - ns=0;i=2026 */ - -static UA_StatusCode function_namespace0_generated_3179_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummaryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2026LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummaryType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3179_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2026LU) -); -} - -/* SessionSecurityDiagnosticsArray - ns=0;i=2028 */ - -static UA_StatusCode function_namespace0_generated_3180_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2028LU), -UA_NODEID_NUMERIC(ns[0], 2026LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2243LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3180_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2028LU) -); -} - -/* SessionDiagnosticsArray - ns=0;i=2027 */ - -static UA_StatusCode function_namespace0_generated_3181_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2027LU), -UA_NODEID_NUMERIC(ns[0], 2026LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2196LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3181_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2027LU) -); -} - -/* - ns=0;i=12097 */ - -static UA_StatusCode function_namespace0_generated_3182_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12097LU), -UA_NODEID_NUMERIC(ns[0], 2026LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 2029LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3182_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12097LU) -); -} - -/* SubscriptionDiagnosticsArray - ns=0;i=12152 */ - -static UA_StatusCode function_namespace0_generated_3183_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12152LU), -UA_NODEID_NUMERIC(ns[0], 12097LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2171LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3183_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12152LU) -); -} - -/* SessionSecurityDiagnostics - ns=0;i=12142 */ - -static UA_StatusCode function_namespace0_generated_3184_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 12097LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2244LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3184_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12142LU) -); -} - -/* ClientCertificate - ns=0;i=12151 */ - -static UA_StatusCode function_namespace0_generated_3185_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12151LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientCertificate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3185_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12151LU) -); -} - -/* SecurityPolicyUri - ns=0;i=12150 */ - -static UA_StatusCode function_namespace0_generated_3186_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityPolicyUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12150LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityPolicyUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3186_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12150LU) -); -} - -/* SecurityMode - ns=0;i=12149 */ - -static UA_StatusCode function_namespace0_generated_3187_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 302LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityMode"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12149LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityMode"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3187_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12149LU) -); -} - -/* TransportProtocol - ns=0;i=12148 */ - -static UA_StatusCode function_namespace0_generated_3188_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransportProtocol"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12148LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransportProtocol"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3188_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12148LU) -); -} - -/* Encoding - ns=0;i=12147 */ - -static UA_StatusCode function_namespace0_generated_3189_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Encoding"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12147LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Encoding"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3189_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12147LU) -); -} - -/* AuthenticationMechanism - ns=0;i=12146 */ - -static UA_StatusCode function_namespace0_generated_3190_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticationMechanism"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12146LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticationMechanism"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3190_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12146LU) -); -} - -/* ClientUserIdHistory - ns=0;i=12145 */ - -static UA_StatusCode function_namespace0_generated_3191_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdHistory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12145LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdHistory"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3191_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12145LU) -); -} - -/* ClientUserIdOfSession - ns=0;i=12144 */ - -static UA_StatusCode function_namespace0_generated_3192_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientUserIdOfSession"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12144LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientUserIdOfSession"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3192_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12144LU) -); -} - -/* SessionId - ns=0;i=12143 */ - -static UA_StatusCode function_namespace0_generated_3193_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12143LU), -UA_NODEID_NUMERIC(ns[0], 12142LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3193_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12143LU) -); -} - -/* SessionDiagnostics - ns=0;i=12098 */ - -static UA_StatusCode function_namespace0_generated_3194_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 12097LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2197LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3194_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12098LU) -); -} - -/* UnregisterNodesCount - ns=0;i=12141 */ - -static UA_StatusCode function_namespace0_generated_3195_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnregisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12141LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnregisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3195_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12141LU) -); -} - -/* RegisterNodesCount - ns=0;i=12140 */ - -static UA_StatusCode function_namespace0_generated_3196_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RegisterNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12140LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RegisterNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3196_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12140LU) -); -} - -/* QueryNextCount - ns=0;i=12139 */ - -static UA_StatusCode function_namespace0_generated_3197_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12139LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3197_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12139LU) -); -} - -/* QueryFirstCount - ns=0;i=12138 */ - -static UA_StatusCode function_namespace0_generated_3198_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "QueryFirstCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12138LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QueryFirstCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3198_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12138LU) -); -} - -/* TranslateBrowsePathsToNodeIdsCount - ns=0;i=12137 */ - -static UA_StatusCode function_namespace0_generated_3199_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TranslateBrowsePathsToNodeIdsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12137LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TranslateBrowsePathsToNodeIdsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3199_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12137LU) -); -} - -/* BrowseNextCount - ns=0;i=12136 */ - -static UA_StatusCode function_namespace0_generated_3200_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseNextCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12136LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseNextCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3200_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12136LU) -); -} - -/* BrowseCount - ns=0;i=12135 */ - -static UA_StatusCode function_namespace0_generated_3201_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BrowseCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12135LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrowseCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3201_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12135LU) -); -} - -/* DeleteReferencesCount - ns=0;i=12134 */ - -static UA_StatusCode function_namespace0_generated_3202_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12134LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3202_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12134LU) -); -} - -/* DeleteNodesCount - ns=0;i=12133 */ - -static UA_StatusCode function_namespace0_generated_3203_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12133LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3203_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12133LU) -); -} - -/* AddReferencesCount - ns=0;i=12132 */ - -static UA_StatusCode function_namespace0_generated_3204_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12132LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3204_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12132LU) -); -} - -/* AddNodesCount - ns=0;i=12131 */ - -static UA_StatusCode function_namespace0_generated_3205_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12131LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3205_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12131LU) -); -} - -/* DeleteSubscriptionsCount - ns=0;i=12130 */ - -static UA_StatusCode function_namespace0_generated_3206_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12130LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3206_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12130LU) -); -} - -/* TransferSubscriptionsCount - ns=0;i=12129 */ - -static UA_StatusCode function_namespace0_generated_3207_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TransferSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12129LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransferSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3207_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12129LU) -); -} - -/* RepublishCount - ns=0;i=12128 */ - -static UA_StatusCode function_namespace0_generated_3208_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RepublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12128LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RepublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3208_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12128LU) -); -} - -/* PublishCount - ns=0;i=12127 */ - -static UA_StatusCode function_namespace0_generated_3209_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12127LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3209_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12127LU) -); -} - -/* SetPublishingModeCount - ns=0;i=12126 */ - -static UA_StatusCode function_namespace0_generated_3210_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetPublishingModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12126LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPublishingModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3210_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12126LU) -); -} - -/* ModifySubscriptionCount - ns=0;i=12125 */ - -static UA_StatusCode function_namespace0_generated_3211_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifySubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12125LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifySubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3211_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12125LU) -); -} - -/* CreateSubscriptionCount - ns=0;i=12124 */ - -static UA_StatusCode function_namespace0_generated_3212_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12124LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3212_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12124LU) -); -} - -/* DeleteMonitoredItemsCount - ns=0;i=12123 */ - -static UA_StatusCode function_namespace0_generated_3213_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12123LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3213_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12123LU) -); -} - -/* SetTriggeringCount - ns=0;i=12122 */ - -static UA_StatusCode function_namespace0_generated_3214_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetTriggeringCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12122LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetTriggeringCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3214_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12122LU) -); -} - -/* SetMonitoringModeCount - ns=0;i=12121 */ - -static UA_StatusCode function_namespace0_generated_3215_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SetMonitoringModeCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12121LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetMonitoringModeCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3215_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12121LU) -); -} - -/* ModifyMonitoredItemsCount - ns=0;i=12120 */ - -static UA_StatusCode function_namespace0_generated_3216_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12120LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3216_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12120LU) -); -} - -/* CreateMonitoredItemsCount - ns=0;i=12119 */ - -static UA_StatusCode function_namespace0_generated_3217_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CreateMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12119LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3217_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12119LU) -); -} - -/* CallCount - ns=0;i=12118 */ - -static UA_StatusCode function_namespace0_generated_3218_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CallCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12118LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CallCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3218_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12118LU) -); -} - -/* HistoryUpdateCount - ns=0;i=12117 */ - -static UA_StatusCode function_namespace0_generated_3219_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryUpdateCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12117LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryUpdateCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3219_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12117LU) -); -} - -/* WriteCount - ns=0;i=12116 */ - -static UA_StatusCode function_namespace0_generated_3220_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "WriteCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12116LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriteCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3220_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12116LU) -); -} - -/* HistoryReadCount - ns=0;i=12115 */ - -static UA_StatusCode function_namespace0_generated_3221_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12115LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3221_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12115LU) -); -} - -/* ReadCount - ns=0;i=12114 */ - -static UA_StatusCode function_namespace0_generated_3222_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReadCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12114LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReadCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3222_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12114LU) -); -} - -/* UnauthorizedRequestCount - ns=0;i=12113 */ - -static UA_StatusCode function_namespace0_generated_3223_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UnauthorizedRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12113LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnauthorizedRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3223_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12113LU) -); -} - -/* TotalRequestCount - ns=0;i=12112 */ - -static UA_StatusCode function_namespace0_generated_3224_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 871LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalRequestCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12112LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalRequestCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3224_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12112LU) -); -} - -/* CurrentPublishRequestsInQueue - ns=0;i=12111 */ - -static UA_StatusCode function_namespace0_generated_3225_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentPublishRequestsInQueue"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12111LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentPublishRequestsInQueue"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3225_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12111LU) -); -} - -/* CurrentMonitoredItemsCount - ns=0;i=12110 */ - -static UA_StatusCode function_namespace0_generated_3226_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentMonitoredItemsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12110LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentMonitoredItemsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3226_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12110LU) -); -} - -/* CurrentSubscriptionsCount - ns=0;i=12109 */ - -static UA_StatusCode function_namespace0_generated_3227_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12109LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3227_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12109LU) -); -} - -/* ClientLastContactTime - ns=0;i=12108 */ - -static UA_StatusCode function_namespace0_generated_3228_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientLastContactTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12108LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientLastContactTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3228_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12108LU) -); -} - -/* ClientConnectionTime - ns=0;i=12107 */ - -static UA_StatusCode function_namespace0_generated_3229_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientConnectionTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12107LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientConnectionTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3229_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12107LU) -); -} - -/* MaxResponseMessageSize - ns=0;i=12106 */ - -static UA_StatusCode function_namespace0_generated_3230_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxResponseMessageSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12106LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MaxResponseMessageSize"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3230_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12106LU) -); -} - -/* ActualSessionTimeout - ns=0;i=12105 */ - -static UA_StatusCode function_namespace0_generated_3231_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ActualSessionTimeout"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12105LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ActualSessionTimeout"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3231_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12105LU) -); -} - -/* LocaleIds - ns=0;i=12104 */ - -static UA_StatusCode function_namespace0_generated_3232_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12104LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIds"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3232_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12104LU) -); -} - -/* EndpointUrl - ns=0;i=12103 */ - -static UA_StatusCode function_namespace0_generated_3233_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrl"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12103LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrl"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3233_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12103LU) -); -} - -/* ServerUri - ns=0;i=12102 */ - -static UA_StatusCode function_namespace0_generated_3234_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12102LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3234_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12102LU) -); -} - -/* ClientDescription - ns=0;i=12101 */ - -static UA_StatusCode function_namespace0_generated_3235_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 308LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ClientDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12101LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ClientDescription"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3235_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12101LU) -); -} - -/* SessionName - ns=0;i=12100 */ - -static UA_StatusCode function_namespace0_generated_3236_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12100LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3236_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12100LU) -); -} - -/* SessionId - ns=0;i=12099 */ - -static UA_StatusCode function_namespace0_generated_3237_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12099LU), -UA_NODEID_NUMERIC(ns[0], 12098LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionId"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3237_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12099LU) -); -} - -/* ServerDiagnosticsType - ns=0;i=2020 */ - -static UA_StatusCode function_namespace0_generated_3238_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2020LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3238_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2020LU) -); -} - -/* SessionsDiagnosticsSummary - ns=0;i=2744 */ - -static UA_StatusCode function_namespace0_generated_3239_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2744LU), -UA_NODEID_NUMERIC(ns[0], 2020LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummary"), -UA_NODEID_NUMERIC(ns[0], 2026LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3239_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2744LU) -); -} - -/* SessionSecurityDiagnosticsArray - ns=0;i=3130 */ - -static UA_StatusCode function_namespace0_generated_3240_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3130LU), -UA_NODEID_NUMERIC(ns[0], 2744LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2243LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3240_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3130LU) -); -} - -/* SessionDiagnosticsArray - ns=0;i=3129 */ - -static UA_StatusCode function_namespace0_generated_3241_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3129LU), -UA_NODEID_NUMERIC(ns[0], 2744LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2196LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3241_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3129LU) -); -} - -/* EnabledFlag - ns=0;i=2025 */ - -static UA_StatusCode function_namespace0_generated_3242_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 3; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledFlag"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2025LU), -UA_NODEID_NUMERIC(ns[0], 2020LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnabledFlag"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3242_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2025LU) -); -} - -/* SubscriptionDiagnosticsArray - ns=0;i=2023 */ - -static UA_StatusCode function_namespace0_generated_3243_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2023LU), -UA_NODEID_NUMERIC(ns[0], 2020LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2171LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3243_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2023LU) -); -} - -/* SamplingIntervalDiagnosticsArray - ns=0;i=2022 */ - -static UA_StatusCode function_namespace0_generated_3244_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2022LU), -UA_NODEID_NUMERIC(ns[0], 2020LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2164LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3244_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2022LU) -); -} - -/* ServerDiagnosticsSummary - ns=0;i=2021 */ - -static UA_StatusCode function_namespace0_generated_3245_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 2020LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummary"), -UA_NODEID_NUMERIC(ns[0], 2150LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3245_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2021LU) -); -} - -/* RejectedRequestsCount - ns=0;i=3128 */ - -static UA_StatusCode function_namespace0_generated_3246_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3128LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3246_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3128LU) -); -} - -/* SecurityRejectedRequestsCount - ns=0;i=3127 */ - -static UA_StatusCode function_namespace0_generated_3247_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3127LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3247_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3127LU) -); -} - -/* CumulatedSubscriptionCount - ns=0;i=3126 */ - -static UA_StatusCode function_namespace0_generated_3248_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3126LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3248_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3126LU) -); -} - -/* CurrentSubscriptionCount - ns=0;i=3125 */ - -static UA_StatusCode function_namespace0_generated_3249_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3125LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3249_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3125LU) -); -} - -/* PublishingIntervalCount - ns=0;i=3124 */ - -static UA_StatusCode function_namespace0_generated_3250_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3124LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3250_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3124LU) -); -} - -/* SessionAbortCount - ns=0;i=3122 */ - -static UA_StatusCode function_namespace0_generated_3251_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3122LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3251_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3122LU) -); -} - -/* SessionTimeoutCount - ns=0;i=3121 */ - -static UA_StatusCode function_namespace0_generated_3252_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3121LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3252_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3121LU) -); -} - -/* RejectedSessionCount - ns=0;i=3120 */ - -static UA_StatusCode function_namespace0_generated_3253_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3120LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3253_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3120LU) -); -} - -/* SecurityRejectedSessionCount - ns=0;i=3119 */ - -static UA_StatusCode function_namespace0_generated_3254_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3119LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3254_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3119LU) -); -} - -/* CumulatedSessionCount - ns=0;i=3118 */ - -static UA_StatusCode function_namespace0_generated_3255_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3118LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3255_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3118LU) -); -} - -/* CurrentSessionCount - ns=0;i=3117 */ - -static UA_StatusCode function_namespace0_generated_3256_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3117LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3256_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3117LU) -); -} - -/* ServerViewCount - ns=0;i=3116 */ - -static UA_StatusCode function_namespace0_generated_3257_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3116LU), -UA_NODEID_NUMERIC(ns[0], 2021LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3257_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3116LU) -); -} - -/* ServerCapabilitiesType - ns=0;i=2013 */ - -static UA_StatusCode function_namespace0_generated_3258_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilitiesType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerCapabilitiesType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3258_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2013LU) -); -} - -/* MaxMonitoredItemsQueueSize - ns=0;i=31770 */ - -static UA_StatusCode function_namespace0_generated_3259_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsQueueSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 31770LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsQueueSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3259_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31770LU) -); -} - -/* SoftwareCertificates - ns=0;i=3049 */ - -static UA_StatusCode function_namespace0_generated_3260_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareCertificates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3049LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareCertificates"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3260_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3049LU) -); -} - -/* AggregateFunctions - ns=0;i=2754 */ - -static UA_StatusCode function_namespace0_generated_3261_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2754LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3261_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2754LU) -); -} - -/* MaxHistoryContinuationPoints - ns=0;i=2734 */ - -static UA_StatusCode function_namespace0_generated_3262_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxHistoryContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2734LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxHistoryContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3262_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2734LU) -); -} - -/* MaxQueryContinuationPoints - ns=0;i=2733 */ - -static UA_StatusCode function_namespace0_generated_3263_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxQueryContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2733LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxQueryContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3263_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2733LU) -); -} - -/* MaxBrowseContinuationPoints - ns=0;i=2732 */ - -static UA_StatusCode function_namespace0_generated_3264_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxBrowseContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2732LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxBrowseContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3264_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2732LU) -); -} - -/* MaxMonitoredItemsPerSubscription - ns=0;i=24103 */ - -static UA_StatusCode function_namespace0_generated_3265_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerSubscription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24103LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerSubscription"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3265_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24103LU) -); -} - -/* ConformanceUnits - ns=0;i=24094 */ - -static UA_StatusCode function_namespace0_generated_3266_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConformanceUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24094LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConformanceUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3266_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24094LU) -); -} - -/* MaxWhereClauseParameters - ns=0;i=24093 */ - -static UA_StatusCode function_namespace0_generated_3267_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxWhereClauseParameters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24093LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxWhereClauseParameters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3267_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24093LU) -); -} - -/* MaxSelectClauseParameters - ns=0;i=24092 */ - -static UA_StatusCode function_namespace0_generated_3268_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSelectClauseParameters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24092LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSelectClauseParameters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3268_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24092LU) -); -} - -/* MaxSubscriptionsPerSession - ns=0;i=24091 */ - -static UA_StatusCode function_namespace0_generated_3269_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptionsPerSession"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24091LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSubscriptionsPerSession"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3269_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24091LU) -); -} - -/* MaxMonitoredItems - ns=0;i=24090 */ - -static UA_StatusCode function_namespace0_generated_3270_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItems"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24090LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItems"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3270_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24090LU) -); -} - -/* MaxSubscriptions - ns=0;i=24089 */ - -static UA_StatusCode function_namespace0_generated_3271_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24089LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSubscriptions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3271_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24089LU) -); -} - -/* MaxSessions - ns=0;i=24088 */ - -static UA_StatusCode function_namespace0_generated_3272_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSessions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24088LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSessions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3272_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24088LU) -); -} - -/* ModellingRules - ns=0;i=2019 */ - -static UA_StatusCode function_namespace0_generated_3273_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRules"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2019LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModellingRules"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3273_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2019LU) -); -} - -/* MinSupportedSampleRate - ns=0;i=2017 */ - -static UA_StatusCode function_namespace0_generated_3274_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MinSupportedSampleRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2017LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MinSupportedSampleRate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3274_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2017LU) -); -} - -/* LocaleIdArray - ns=0;i=2016 */ - -static UA_StatusCode function_namespace0_generated_3275_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIdArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2016LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIdArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3275_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2016LU) -); -} - -/* ServerProfileArray - ns=0;i=2014 */ - -static UA_StatusCode function_namespace0_generated_3276_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerProfileArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2014LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerProfileArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3276_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2014LU) -); -} - -/* RoleSet - ns=0;i=16295 */ - -static UA_StatusCode function_namespace0_generated_3277_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RoleSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16295LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RoleSet"), -UA_NODEID_NUMERIC(ns[0], 15607LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3277_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16295LU) -); -} - -/* RemoveRole - ns=0;i=16299 */ - -static UA_StatusCode function_namespace0_generated_3278_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveRole"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16299LU), -UA_NODEID_NUMERIC(ns[0], 16295LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveRole"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3278_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16299LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16300 */ - -static UA_StatusCode function_namespace0_generated_3279_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16300_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16300_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16300_variant_DataContents[0].name = UA_STRING("RoleNodeId"); -variablenode_ns_0_i_16300_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16300_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16300_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16300LU), -UA_NODEID_NUMERIC(ns[0], 16299LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3279_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16300LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddRole - ns=0;i=16296 */ - -static UA_StatusCode function_namespace0_generated_3280_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddRole"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16296LU), -UA_NODEID_NUMERIC(ns[0], 16295LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddRole"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3280_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16296LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16298 */ - -static UA_StatusCode function_namespace0_generated_3281_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16298_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16298_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16298_variant_DataContents[0].name = UA_STRING("RoleNodeId"); -variablenode_ns_0_i_16298_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16298_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16298_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16298LU), -UA_NODEID_NUMERIC(ns[0], 16296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3281_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16298LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16297 */ - -static UA_StatusCode function_namespace0_generated_3282_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16297_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16297_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16297_variant_DataContents[0].name = UA_STRING("RoleName"); -variablenode_ns_0_i_16297_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16297_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16297_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16297_variant_DataContents[1].name = UA_STRING("NamespaceUri"); -variablenode_ns_0_i_16297_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16297_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16297_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16297LU), -UA_NODEID_NUMERIC(ns[0], 16296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3282_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16297LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* MaxByteStringLength - ns=0;i=12910 */ - -static UA_StatusCode function_namespace0_generated_3283_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12910LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3283_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12910LU) -); -} - -/* - ns=0;i=11562 */ - -static UA_StatusCode function_namespace0_generated_3284_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -/* DataType inherited */ -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -attr.displayName = UA_LOCALIZEDTEXT("", ""); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11562LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], ""), -UA_NODEID_NUMERIC(ns[0], 2137LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3284_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11562LU) -); -} - -/* OperationLimits - ns=0;i=11551 */ - -static UA_StatusCode function_namespace0_generated_3285_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OperationLimits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11551LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationLimits"), -UA_NODEID_NUMERIC(ns[0], 11564LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3285_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11551LU) -); -} - -/* MaxStringLength - ns=0;i=11550 */ - -static UA_StatusCode function_namespace0_generated_3286_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11550LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3286_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11550LU) -); -} - -/* MaxArrayLength - ns=0;i=11549 */ - -static UA_StatusCode function_namespace0_generated_3287_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxArrayLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11549LU), -UA_NODEID_NUMERIC(ns[0], 2013LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxArrayLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3287_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11549LU) -); -} - -/* ServerType - ns=0;i=2004 */ - -static UA_StatusCode function_namespace0_generated_3288_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ServerType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3288_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2004LU) -); -} - -/* Auditing - ns=0;i=2742 */ - -static UA_StatusCode function_namespace0_generated_3289_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Auditing"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2742LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Auditing"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3289_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2742LU) -); -} - -/* Server - ns=0;i=2253 */ - -static UA_StatusCode function_namespace0_generated_3290_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.eventNotifier = UA_EVENTNOTIFIER_SUBSCRIBE_TO_EVENT; -attr.displayName = UA_LOCALIZEDTEXT("", "Server"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 85LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "Server"), -UA_NODEID_NUMERIC(ns[0], 2004LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3290_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2253LU) -); -} - -/* DataSetClasses - ns=0;i=32405 */ - -static UA_StatusCode function_namespace0_generated_3291_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), -UA_NODEID_NUMERIC(ns[0], 14416LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3291_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32405LU) -); -} - -/* ConfigurationVersion - ns=0;i=32648 */ - -static UA_StatusCode function_namespace0_generated_3292_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32648LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3292_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32648LU) -); -} - -/* DefaultDatagramPublisherId - ns=0;i=32647 */ - -static UA_StatusCode function_namespace0_generated_3293_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultDatagramPublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32647LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultDatagramPublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3293_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32647LU) -); -} - -/* SupportedTransportProfiles - ns=0;i=32646 */ - -static UA_StatusCode function_namespace0_generated_3294_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedTransportProfiles"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32646LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedTransportProfiles"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3294_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32646LU) -); -} - -/* DataSetClasses - ns=0;i=32644 */ - -static UA_StatusCode function_namespace0_generated_3295_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32644LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3295_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32644LU) -); -} - -/* PubSubCapablities - ns=0;i=32633 */ - -static UA_StatusCode function_namespace0_generated_3296_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapablities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubCapablities"), -UA_NODEID_NUMERIC(ns[0], 23832LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3296_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32633LU) -); -} - -/* MaxFieldsPerDataSet - ns=0;i=32656 */ - -static UA_StatusCode function_namespace0_generated_3297_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32656LU), -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3297_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32656LU) -); -} - -/* MaxDataSetReaders - ns=0;i=32638 */ - -static UA_StatusCode function_namespace0_generated_3298_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32638LU), -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3298_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32638LU) -); -} - -/* MaxDataSetWriters - ns=0;i=32637 */ - -static UA_StatusCode function_namespace0_generated_3299_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32637LU), -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3299_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32637LU) -); -} - -/* MaxReaderGroups - ns=0;i=32636 */ - -static UA_StatusCode function_namespace0_generated_3300_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32636LU), -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3300_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32636LU) -); -} - -/* MaxWriterGroups - ns=0;i=32635 */ - -static UA_StatusCode function_namespace0_generated_3301_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32635LU), -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3301_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32635LU) -); -} - -/* MaxPubSubConnections - ns=0;i=32634 */ - -static UA_StatusCode function_namespace0_generated_3302_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32634LU), -UA_NODEID_NUMERIC(ns[0], 32633LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3302_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32634LU) -); -} - -/* Diagnostics - ns=0;i=32579 */ - -static UA_StatusCode function_namespace0_generated_3303_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19732LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3303_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32579LU) -); -} - -/* LiveValues - ns=0;i=32624 */ - -static UA_StatusCode function_namespace0_generated_3304_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32624LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3304_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32624LU) -); -} - -/* OperationalDataSetReaders - ns=0;i=32631 */ - -static UA_StatusCode function_namespace0_generated_3305_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32631LU), -UA_NODEID_NUMERIC(ns[0], 32624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3305_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32631LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32632 */ - -static UA_StatusCode function_namespace0_generated_3306_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32632_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32632_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32632_variant_DataContents); -*variablenode_ns_0_i_32632_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32632_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32632LU), -UA_NODEID_NUMERIC(ns[0], 32631LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32632_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3306_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32632LU) -); -} - -/* OperationalDataSetWriters - ns=0;i=32629 */ - -static UA_StatusCode function_namespace0_generated_3307_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32629LU), -UA_NODEID_NUMERIC(ns[0], 32624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3307_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32629LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32630 */ - -static UA_StatusCode function_namespace0_generated_3308_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32630_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32630_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32630_variant_DataContents); -*variablenode_ns_0_i_32630_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32630_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32630LU), -UA_NODEID_NUMERIC(ns[0], 32629LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32630_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3308_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32630LU) -); -} - -/* ConfiguredDataSetReaders - ns=0;i=32627 */ - -static UA_StatusCode function_namespace0_generated_3309_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32627LU), -UA_NODEID_NUMERIC(ns[0], 32624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3309_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32627LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32628 */ - -static UA_StatusCode function_namespace0_generated_3310_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32628_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32628_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32628_variant_DataContents); -*variablenode_ns_0_i_32628_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32628_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32628LU), -UA_NODEID_NUMERIC(ns[0], 32627LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32628_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3310_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32628LU) -); -} - -/* ConfiguredDataSetWriters - ns=0;i=32625 */ - -static UA_StatusCode function_namespace0_generated_3311_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32625LU), -UA_NODEID_NUMERIC(ns[0], 32624LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3311_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32625LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32626 */ - -static UA_StatusCode function_namespace0_generated_3312_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32626_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32626_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32626_variant_DataContents); -*variablenode_ns_0_i_32626_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32626_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32626LU), -UA_NODEID_NUMERIC(ns[0], 32625LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32626_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3312_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32626LU) -); -} - -/* Counters - ns=0;i=32593 */ - -static UA_StatusCode function_namespace0_generated_3313_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3313_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32593LU) -); -} - -/* StateDisabledByMethod - ns=0;i=32619 */ - -static UA_StatusCode function_namespace0_generated_3314_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32619LU), -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3314_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32619LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32622 */ - -static UA_StatusCode function_namespace0_generated_3315_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32622_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32622_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32622_variant_DataContents); -*variablenode_ns_0_i_32622_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32622_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32622LU), -UA_NODEID_NUMERIC(ns[0], 32619LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32622_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3315_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32622LU) -); -} - -/* Classification - ns=0;i=32621 */ - -static UA_StatusCode function_namespace0_generated_3316_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_32621_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32621_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32621_variant_DataContents); -*variablenode_ns_0_i_32621_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32621_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32621LU), -UA_NODEID_NUMERIC(ns[0], 32619LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32621_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3316_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32621LU) -); -} - -/* Active - ns=0;i=32620 */ - -static UA_StatusCode function_namespace0_generated_3317_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32620LU), -UA_NODEID_NUMERIC(ns[0], 32619LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3317_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32620LU) -); -} - -/* StatePausedByParent - ns=0;i=32614 */ - -static UA_StatusCode function_namespace0_generated_3318_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32614LU), -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3318_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32614LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32617 */ - -static UA_StatusCode function_namespace0_generated_3319_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32617_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32617_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32617_variant_DataContents); -*variablenode_ns_0_i_32617_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32617_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32617LU), -UA_NODEID_NUMERIC(ns[0], 32614LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32617_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3319_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32617LU) -); -} - -/* Classification - ns=0;i=32616 */ - -static UA_StatusCode function_namespace0_generated_3320_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_32616_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32616_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32616_variant_DataContents); -*variablenode_ns_0_i_32616_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32616_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32616LU), -UA_NODEID_NUMERIC(ns[0], 32614LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32616_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3320_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32616LU) -); -} - -/* Active - ns=0;i=32615 */ - -static UA_StatusCode function_namespace0_generated_3321_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32615LU), -UA_NODEID_NUMERIC(ns[0], 32614LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3321_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32615LU) -); -} - -/* StateOperationalFromError - ns=0;i=32609 */ - -static UA_StatusCode function_namespace0_generated_3322_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32609LU), -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3322_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32609LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32612 */ - -static UA_StatusCode function_namespace0_generated_3323_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32612_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32612_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32612_variant_DataContents); -*variablenode_ns_0_i_32612_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32612_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32612LU), -UA_NODEID_NUMERIC(ns[0], 32609LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32612_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3323_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32612LU) -); -} - -/* Classification - ns=0;i=32611 */ - -static UA_StatusCode function_namespace0_generated_3324_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_32611_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32611_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32611_variant_DataContents); -*variablenode_ns_0_i_32611_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32611_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32611LU), -UA_NODEID_NUMERIC(ns[0], 32609LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32611_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3324_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32611LU) -); -} - -/* Active - ns=0;i=32610 */ - -static UA_StatusCode function_namespace0_generated_3325_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32610LU), -UA_NODEID_NUMERIC(ns[0], 32609LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3325_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32610LU) -); -} - -/* StateOperationalByParent - ns=0;i=32604 */ - -static UA_StatusCode function_namespace0_generated_3326_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32604LU), -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3326_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32604LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32607 */ - -static UA_StatusCode function_namespace0_generated_3327_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32607_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32607_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32607_variant_DataContents); -*variablenode_ns_0_i_32607_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32607_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32607LU), -UA_NODEID_NUMERIC(ns[0], 32604LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32607_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3327_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32607LU) -); -} - -/* Classification - ns=0;i=32606 */ - -static UA_StatusCode function_namespace0_generated_3328_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_32606_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32606_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32606_variant_DataContents); -*variablenode_ns_0_i_32606_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32606_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32606LU), -UA_NODEID_NUMERIC(ns[0], 32604LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32606_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3328_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32606LU) -); -} - -/* Active - ns=0;i=32605 */ - -static UA_StatusCode function_namespace0_generated_3329_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32605LU), -UA_NODEID_NUMERIC(ns[0], 32604LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3329_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32605LU) -); -} - -/* StateOperationalByMethod - ns=0;i=32599 */ - -static UA_StatusCode function_namespace0_generated_3330_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32599LU), -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3330_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32599LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32602 */ - -static UA_StatusCode function_namespace0_generated_3331_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32602_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32602_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32602_variant_DataContents); -*variablenode_ns_0_i_32602_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32602_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32602LU), -UA_NODEID_NUMERIC(ns[0], 32599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32602_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3331_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32602LU) -); -} - -/* Classification - ns=0;i=32601 */ - -static UA_StatusCode function_namespace0_generated_3332_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_32601_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32601_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32601_variant_DataContents); -*variablenode_ns_0_i_32601_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32601_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32601LU), -UA_NODEID_NUMERIC(ns[0], 32599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32601_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3332_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32601LU) -); -} - -/* Active - ns=0;i=32600 */ - -static UA_StatusCode function_namespace0_generated_3333_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32600LU), -UA_NODEID_NUMERIC(ns[0], 32599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3333_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32600LU) -); -} - -/* StateError - ns=0;i=32594 */ - -static UA_StatusCode function_namespace0_generated_3334_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32594LU), -UA_NODEID_NUMERIC(ns[0], 32593LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3334_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32594LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32597 */ - -static UA_StatusCode function_namespace0_generated_3335_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_32597_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32597_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32597_variant_DataContents); -*variablenode_ns_0_i_32597_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32597_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32597LU), -UA_NODEID_NUMERIC(ns[0], 32594LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32597_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3335_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32597LU) -); -} - -/* Classification - ns=0;i=32596 */ - -static UA_StatusCode function_namespace0_generated_3336_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_32596_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_32596_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_32596_variant_DataContents); -*variablenode_ns_0_i_32596_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32596_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32596LU), -UA_NODEID_NUMERIC(ns[0], 32594LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_32596_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3336_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32596LU) -); -} - -/* Active - ns=0;i=32595 */ - -static UA_StatusCode function_namespace0_generated_3337_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32595LU), -UA_NODEID_NUMERIC(ns[0], 32594LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3337_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32595LU) -); -} - -/* SubError - ns=0;i=32592 */ - -static UA_StatusCode function_namespace0_generated_3338_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32592LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3338_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32592LU) -); -} - -/* Reset - ns=0;i=32591 */ - -static UA_StatusCode function_namespace0_generated_3339_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32591LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3339_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32591LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=32586 */ - -static UA_StatusCode function_namespace0_generated_3340_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32586LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3340_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32586LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32589 */ - -static UA_StatusCode function_namespace0_generated_3341_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32589LU), -UA_NODEID_NUMERIC(ns[0], 32586LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3341_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32589LU) -); -} - -/* Classification - ns=0;i=32588 */ - -static UA_StatusCode function_namespace0_generated_3342_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32588LU), -UA_NODEID_NUMERIC(ns[0], 32586LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3342_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32588LU) -); -} - -/* Active - ns=0;i=32587 */ - -static UA_StatusCode function_namespace0_generated_3343_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32587LU), -UA_NODEID_NUMERIC(ns[0], 32586LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3343_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32587LU) -); -} - -/* TotalInformation - ns=0;i=32581 */ - -static UA_StatusCode function_namespace0_generated_3344_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32581LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3344_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32581LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32584 */ - -static UA_StatusCode function_namespace0_generated_3345_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32584LU), -UA_NODEID_NUMERIC(ns[0], 32581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3345_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32584LU) -); -} - -/* Classification - ns=0;i=32583 */ - -static UA_StatusCode function_namespace0_generated_3346_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32583LU), -UA_NODEID_NUMERIC(ns[0], 32581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3346_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32583LU) -); -} - -/* Active - ns=0;i=32582 */ - -static UA_StatusCode function_namespace0_generated_3347_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32582LU), -UA_NODEID_NUMERIC(ns[0], 32581LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3347_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32582LU) -); -} - -/* DiagnosticsLevel - ns=0;i=32580 */ - -static UA_StatusCode function_namespace0_generated_3348_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32580LU), -UA_NODEID_NUMERIC(ns[0], 32579LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3348_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32580LU) -); -} - -/* Status - ns=0;i=32575 */ - -static UA_StatusCode function_namespace0_generated_3349_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32575LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3349_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32575LU) -); -} - -/* State - ns=0;i=32576 */ - -static UA_StatusCode function_namespace0_generated_3350_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32576LU), -UA_NODEID_NUMERIC(ns[0], 32575LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3350_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32576LU) -); -} - -/* PubSubConfiguration - ns=0;i=32546 */ - -static UA_StatusCode function_namespace0_generated_3351_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration"), -UA_NODEID_NUMERIC(ns[0], 25482LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3351_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32546LU) -); -} - -/* CloseAndUpdate - ns=0;i=32572 */ - -static UA_StatusCode function_namespace0_generated_3352_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32572LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3352_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32572LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32574 */ - -static UA_StatusCode function_namespace0_generated_3353_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32574_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_32574_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32574_variant_DataContents[0].name = UA_STRING("ChangesApplied"); -variablenode_ns_0_i_32574_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_32574_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32574_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32574_variant_DataContents[1].name = UA_STRING("ReferencesResults"); -variablenode_ns_0_i_32574_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_32574_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32574_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_32574_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_32574_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_32574_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32574_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); -variablenode_ns_0_i_32574_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); -variablenode_ns_0_i_32574_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32574_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_32574_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32574_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_32574_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32574_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); -variablenode_ns_0_i_32574_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32574_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32574_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_32574_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_32574_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32574_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32574LU), -UA_NODEID_NUMERIC(ns[0], 32572LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3353_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32574LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32573 */ - -static UA_StatusCode function_namespace0_generated_3354_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32573_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_32573_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32573_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32573_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32573_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32573_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32573_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); -variablenode_ns_0_i_32573_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_32573_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32573_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32573_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); -variablenode_ns_0_i_32573_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); -variablenode_ns_0_i_32573_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32573_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_32573_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32573_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32573_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32573LU), -UA_NODEID_NUMERIC(ns[0], 32572LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3354_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32573LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ReserveIds - ns=0;i=32569 */ - -static UA_StatusCode function_namespace0_generated_3355_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32569LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReserveIds"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3355_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32569LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32571 */ - -static UA_StatusCode function_namespace0_generated_3356_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32571_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_32571_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32571_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); -variablenode_ns_0_i_32571_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_32571_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32571_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32571_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); -variablenode_ns_0_i_32571_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_32571_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32571_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_32571_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_32571_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_32571_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32571_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); -variablenode_ns_0_i_32571_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_32571_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32571_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_32571_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32571_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32571_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32571LU), -UA_NODEID_NUMERIC(ns[0], 32569LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3356_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32571LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32570 */ - -static UA_StatusCode function_namespace0_generated_3357_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32570_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_32570_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32570_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); -variablenode_ns_0_i_32570_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32570_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32570_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32570_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); -variablenode_ns_0_i_32570_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_32570_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32570_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32570_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); -variablenode_ns_0_i_32570_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_32570_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32570_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32570LU), -UA_NODEID_NUMERIC(ns[0], 32569LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3357_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32570LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetPosition - ns=0;i=32567 */ - -static UA_StatusCode function_namespace0_generated_3358_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32567LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3358_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32567LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32568 */ - -static UA_StatusCode function_namespace0_generated_3359_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32568_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_32568_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32568_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32568_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32568_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32568_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32568_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_32568_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_32568_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32568_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32568LU), -UA_NODEID_NUMERIC(ns[0], 32567LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3359_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32568LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=32564 */ - -static UA_StatusCode function_namespace0_generated_3360_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32564LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3360_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32564LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32566 */ - -static UA_StatusCode function_namespace0_generated_3361_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32566_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32566_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32566_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_32566_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_32566_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32566_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32566LU), -UA_NODEID_NUMERIC(ns[0], 32564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3361_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32566LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32565 */ - -static UA_StatusCode function_namespace0_generated_3362_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32565_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32565_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32565_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32565_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32565_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32565_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32565LU), -UA_NODEID_NUMERIC(ns[0], 32564LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3362_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32565LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=32562 */ - -static UA_StatusCode function_namespace0_generated_3363_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32562LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3363_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32562LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32563 */ - -static UA_StatusCode function_namespace0_generated_3364_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32563_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_32563_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32563_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32563_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32563_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32563_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32563_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_32563_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_32563_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32563_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32563LU), -UA_NODEID_NUMERIC(ns[0], 32562LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3364_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32563LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=32559 */ - -static UA_StatusCode function_namespace0_generated_3365_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32559LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3365_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32559LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32561 */ - -static UA_StatusCode function_namespace0_generated_3366_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32561_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32561_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32561_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_32561_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_32561_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32561_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32561LU), -UA_NODEID_NUMERIC(ns[0], 32559LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3366_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32561LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32560 */ - -static UA_StatusCode function_namespace0_generated_3367_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32560_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_32560_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32560_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32560_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32560_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32560_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32560_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_32560_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_32560_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32560_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32560LU), -UA_NODEID_NUMERIC(ns[0], 32559LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3367_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32560LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=32557 */ - -static UA_StatusCode function_namespace0_generated_3368_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32557LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3368_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32557LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32558 */ - -static UA_StatusCode function_namespace0_generated_3369_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32558_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32558_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32558_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32558_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32558_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32558_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32558LU), -UA_NODEID_NUMERIC(ns[0], 32557LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3369_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32558LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=32554 */ - -static UA_StatusCode function_namespace0_generated_3370_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32554LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3370_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32554LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32556 */ - -static UA_StatusCode function_namespace0_generated_3371_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32556_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32556_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32556_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_32556_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32556_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32556_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32556LU), -UA_NODEID_NUMERIC(ns[0], 32554LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3371_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32556LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32555 */ - -static UA_StatusCode function_namespace0_generated_3372_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32555_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32555_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32555_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_32555_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_32555_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32555_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32555LU), -UA_NODEID_NUMERIC(ns[0], 32554LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3372_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32555LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=32550 */ - -static UA_StatusCode function_namespace0_generated_3373_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32550LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3373_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32550LU) -); -} - -/* UserWritable - ns=0;i=32549 */ - -static UA_StatusCode function_namespace0_generated_3374_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32549LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3374_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32549LU) -); -} - -/* Writable - ns=0;i=32548 */ - -static UA_StatusCode function_namespace0_generated_3375_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32548LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3375_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32548LU) -); -} - -/* Size - ns=0;i=32547 */ - -static UA_StatusCode function_namespace0_generated_3376_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32547LU), -UA_NODEID_NUMERIC(ns[0], 32546LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3376_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32547LU) -); -} - -/* SubscribedDataSets - ns=0;i=32535 */ - -static UA_StatusCode function_namespace0_generated_3377_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32535LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSets"), -UA_NODEID_NUMERIC(ns[0], 23795LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3377_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32535LU) -); -} - -/* PublishedDataSets - ns=0;i=32515 */ - -static UA_StatusCode function_namespace0_generated_3378_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32515LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSets"), -UA_NODEID_NUMERIC(ns[0], 14477LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3378_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32515LU) -); -} - -/* RemoveConnection - ns=0;i=32513 */ - -static UA_StatusCode function_namespace0_generated_3379_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32513LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3379_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32513LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32514 */ - -static UA_StatusCode function_namespace0_generated_3380_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32514_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32514_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32514_variant_DataContents[0].name = UA_STRING("ConnectionId"); -variablenode_ns_0_i_32514_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32514_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32514_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32514LU), -UA_NODEID_NUMERIC(ns[0], 32513LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3380_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32514LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddConnection - ns=0;i=32510 */ - -static UA_StatusCode function_namespace0_generated_3381_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32510LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3381_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32510LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32512 */ - -static UA_StatusCode function_namespace0_generated_3382_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32512_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32512_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32512_variant_DataContents[0].name = UA_STRING("ConnectionId"); -variablenode_ns_0_i_32512_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32512_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32512_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32512LU), -UA_NODEID_NUMERIC(ns[0], 32510LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3382_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32512LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32511 */ - -static UA_StatusCode function_namespace0_generated_3383_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32511_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32511_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32511_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_32511_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15617LU); -variablenode_ns_0_i_32511_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32511_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32511LU), -UA_NODEID_NUMERIC(ns[0], 32510LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3383_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32511LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetSecurityKeys - ns=0;i=32508 */ - -static UA_StatusCode function_namespace0_generated_3384_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetSecurityKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32508LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetSecurityKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3384_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32508LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32509 */ - -static UA_StatusCode function_namespace0_generated_3385_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32509_variant_DataContents[7]; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_32509_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32509_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[1].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_32509_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32509_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[2].name = UA_STRING("CurrentTokenId"); -variablenode_ns_0_i_32509_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_32509_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[3].name = UA_STRING("CurrentKey"); -variablenode_ns_0_i_32509_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_32509_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[4].name = UA_STRING("FutureKeys"); -variablenode_ns_0_i_32509_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_32509_variant_DataContents[4].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32509_variant_DataContents[4].arrayDimensionsSize = 1; -variablenode_ns_0_i_32509_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_32509_variant_DataContents4_arrayDimensions; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[5].name = UA_STRING("TimeToNextKey"); -variablenode_ns_0_i_32509_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_32509_variant_DataContents[5].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32509_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32509_variant_DataContents[6].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_32509_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_32509_variant_DataContents[6].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32509_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32509LU), -UA_NODEID_NUMERIC(ns[0], 32508LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3385_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32509LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* KeyPushTargets - ns=0;i=32424 */ - -static UA_StatusCode function_namespace0_generated_3386_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyPushTargets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32424LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "KeyPushTargets"), -UA_NODEID_NUMERIC(ns[0], 25346LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3386_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32424LU) -); -} - -/* RemovePushTarget - ns=0;i=32428 */ - -static UA_StatusCode function_namespace0_generated_3387_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32428LU), -UA_NODEID_NUMERIC(ns[0], 32424LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3387_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32428LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32429 */ - -static UA_StatusCode function_namespace0_generated_3388_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32429_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32429_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32429_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_32429_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32429_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32429_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32429LU), -UA_NODEID_NUMERIC(ns[0], 32428LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3388_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32429LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTarget - ns=0;i=32425 */ - -static UA_StatusCode function_namespace0_generated_3389_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32425LU), -UA_NODEID_NUMERIC(ns[0], 32424LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3389_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32425LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32427 */ - -static UA_StatusCode function_namespace0_generated_3390_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32427_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32427_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32427_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_32427_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32427_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32427_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32427LU), -UA_NODEID_NUMERIC(ns[0], 32425LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3390_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32427LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32426 */ - -static UA_StatusCode function_namespace0_generated_3391_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32426_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_32426_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32426_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_32426_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32426_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32426_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32426_variant_DataContents[1].name = UA_STRING("EndpointUrl"); -variablenode_ns_0_i_32426_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32426_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32426_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32426_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_32426_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32426_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32426_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32426_variant_DataContents[3].name = UA_STRING("UserTokenType"); -variablenode_ns_0_i_32426_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -variablenode_ns_0_i_32426_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32426_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32426_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_32426_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_32426_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32426_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32426_variant_DataContents[5].name = UA_STRING("RetryInterval"); -variablenode_ns_0_i_32426_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_32426_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32426_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32426LU), -UA_NODEID_NUMERIC(ns[0], 32425LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3391_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32426LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SecurityGroups - ns=0;i=32412 */ - -static UA_StatusCode function_namespace0_generated_3392_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32412LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroups"), -UA_NODEID_NUMERIC(ns[0], 15452LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3392_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32412LU) -); -} - -/* RemoveSecurityGroup - ns=0;i=32416 */ - -static UA_StatusCode function_namespace0_generated_3393_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32416LU), -UA_NODEID_NUMERIC(ns[0], 32412LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3393_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32416LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32417 */ - -static UA_StatusCode function_namespace0_generated_3394_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32417_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32417_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32417_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_32417_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32417_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32417_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32417LU), -UA_NODEID_NUMERIC(ns[0], 32416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3394_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32417LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroup - ns=0;i=32413 */ - -static UA_StatusCode function_namespace0_generated_3395_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32413LU), -UA_NODEID_NUMERIC(ns[0], 32412LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3395_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32413LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32415 */ - -static UA_StatusCode function_namespace0_generated_3396_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32415_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_32415_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32415_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_32415_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32415_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32415_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32415_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_32415_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32415_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32415_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32415LU), -UA_NODEID_NUMERIC(ns[0], 32413LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3396_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32415LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32414 */ - -static UA_StatusCode function_namespace0_generated_3397_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32414_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_32414_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32414_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); -variablenode_ns_0_i_32414_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32414_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32414_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32414_variant_DataContents[1].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_32414_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_32414_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32414_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32414_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_32414_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32414_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32414_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32414_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); -variablenode_ns_0_i_32414_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32414_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32414_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32414_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); -variablenode_ns_0_i_32414_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32414_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32414_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32414LU), -UA_NODEID_NUMERIC(ns[0], 32413LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3397_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32414LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetSecurityGroup - ns=0;i=32409 */ - -static UA_StatusCode function_namespace0_generated_3398_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32409LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3398_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32409LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32411 */ - -static UA_StatusCode function_namespace0_generated_3399_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32411_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32411_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32411_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_32411_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_32411_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32411_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32411LU), -UA_NODEID_NUMERIC(ns[0], 32409LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3399_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32411LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32410 */ - -static UA_StatusCode function_namespace0_generated_3400_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32410_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_32410_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32410_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_32410_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32410_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32410_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32410LU), -UA_NODEID_NUMERIC(ns[0], 32409LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3400_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32410LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetSecurityKeys - ns=0;i=32406 */ - -static UA_StatusCode function_namespace0_generated_3401_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 32406LU), -UA_NODEID_NUMERIC(ns[0], 32405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetSecurityKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3401_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32406LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=32408 */ - -static UA_StatusCode function_namespace0_generated_3402_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32408_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_32408_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32408_variant_DataContents[0].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_32408_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32408_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32408_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32408_variant_DataContents[1].name = UA_STRING("FirstTokenId"); -variablenode_ns_0_i_32408_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_32408_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32408_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32408_variant_DataContents[2].name = UA_STRING("Keys"); -variablenode_ns_0_i_32408_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_32408_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_32408_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_32408_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_32408_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_32408_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32408_variant_DataContents[3].name = UA_STRING("TimeToNextKey"); -variablenode_ns_0_i_32408_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_32408_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32408_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32408_variant_DataContents[4].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_32408_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_32408_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32408_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32408LU), -UA_NODEID_NUMERIC(ns[0], 32406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3402_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32408LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=32407 */ - -static UA_StatusCode function_namespace0_generated_3403_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_32407_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_32407_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32407_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_32407_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_32407_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32407_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32407_variant_DataContents[1].name = UA_STRING("StartingTokenId"); -variablenode_ns_0_i_32407_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_32407_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_32407_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_32407_variant_DataContents[2].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_32407_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_32407_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_32407_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32407LU), -UA_NODEID_NUMERIC(ns[0], 32406LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3403_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32407LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Auditing - ns=0;i=2994 */ - -static UA_StatusCode function_namespace0_generated_3404_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Auditing"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2994LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Auditing"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3404_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2994LU) -); -} - -/* Resources - ns=0;i=24226 */ - -static UA_StatusCode function_namespace0_generated_3405_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Resources"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24226LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Resources"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3405_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24226LU) -); -} - -/* ProvisionableDevice - ns=0;i=29878 */ - -static UA_StatusCode function_namespace0_generated_3406_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ProvisionableDevice"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 29878LU), -UA_NODEID_NUMERIC(ns[0], 24226LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "ProvisionableDevice"), -UA_NODEID_NUMERIC(ns[0], 26871LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3406_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 29878LU) -); -} - -/* RequestTickets - ns=0;i=29880 */ - -static UA_StatusCode function_namespace0_generated_3407_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RequestTickets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 29880LU), -UA_NODEID_NUMERIC(ns[0], 29878LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RequestTickets"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3407_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 29880LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=29881 */ - -static UA_StatusCode function_namespace0_generated_3408_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_29881_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_29881_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_29881_variant_DataContents[0].name = UA_STRING("Tickets"); -variablenode_ns_0_i_29881_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 25726LU); -variablenode_ns_0_i_29881_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_29881_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_29881_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_29881_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_29881_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 29881LU), -UA_NODEID_NUMERIC(ns[0], 29880LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3408_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 29881LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* IsSingleton - ns=0;i=29879 */ - -static UA_StatusCode function_namespace0_generated_3409_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "IsSingleton"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 29879LU), -UA_NODEID_NUMERIC(ns[0], 29878LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsSingleton"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3409_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 29879LU) -); -} - -/* Communication - ns=0;i=24227 */ - -static UA_StatusCode function_namespace0_generated_3410_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Communication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24227LU), -UA_NODEID_NUMERIC(ns[0], 24226LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "Communication"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3410_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24227LU) -); -} - -/* Streams - ns=0;i=24230 */ - -static UA_StatusCode function_namespace0_generated_3411_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Streams"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24230LU), -UA_NODEID_NUMERIC(ns[0], 24227LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "Streams"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3411_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24230LU) -); -} - -/* ListenerStreams - ns=0;i=24232 */ - -static UA_StatusCode function_namespace0_generated_3412_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ListenerStreams"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24232LU), -UA_NODEID_NUMERIC(ns[0], 24230LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "ListenerStreams"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3412_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24232LU) -); -} - -/* TalkerStreams - ns=0;i=24231 */ - -static UA_StatusCode function_namespace0_generated_3413_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TalkerStreams"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24231LU), -UA_NODEID_NUMERIC(ns[0], 24230LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "TalkerStreams"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3413_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24231LU) -); -} - -/* NetworkInterfaces - ns=0;i=24229 */ - -static UA_StatusCode function_namespace0_generated_3414_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkInterfaces"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24229LU), -UA_NODEID_NUMERIC(ns[0], 24227LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "NetworkInterfaces"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3414_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24229LU) -); -} - -/* MappingTables - ns=0;i=24228 */ - -static UA_StatusCode function_namespace0_generated_3415_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MappingTables"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24228LU), -UA_NODEID_NUMERIC(ns[0], 24227LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "MappingTables"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3415_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24228LU) -); -} - -/* ServerRedundancy - ns=0;i=2296 */ - -static UA_StatusCode function_namespace0_generated_3416_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerRedundancy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2296LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerRedundancy"), -UA_NODEID_NUMERIC(ns[0], 2034LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3416_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2296LU) -); -} - -/* RedundancySupport - ns=0;i=3709 */ - -static UA_StatusCode function_namespace0_generated_3417_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 851LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3709LU), -UA_NODEID_NUMERIC(ns[0], 2296LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3417_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3709LU) -); -} - -/* VendorServerInfo - ns=0;i=2295 */ - -static UA_StatusCode function_namespace0_generated_3418_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "VendorServerInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2295LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "VendorServerInfo"), -UA_NODEID_NUMERIC(ns[0], 2033LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3418_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2295LU) -); -} - -/* ServerDiagnostics - ns=0;i=2274 */ - -static UA_StatusCode function_namespace0_generated_3419_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2274LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2020LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3419_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2274LU) -); -} - -/* SessionsDiagnosticsSummary - ns=0;i=3706 */ - -static UA_StatusCode function_namespace0_generated_3420_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3706LU), -UA_NODEID_NUMERIC(ns[0], 2274LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummary"), -UA_NODEID_NUMERIC(ns[0], 2026LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3420_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3706LU) -); -} - -/* SessionSecurityDiagnosticsArray - ns=0;i=3708 */ - -static UA_StatusCode function_namespace0_generated_3421_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3708LU), -UA_NODEID_NUMERIC(ns[0], 3706LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2243LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3421_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3708LU) -); -} - -/* SessionDiagnosticsArray - ns=0;i=3707 */ - -static UA_StatusCode function_namespace0_generated_3422_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3707LU), -UA_NODEID_NUMERIC(ns[0], 3706LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2196LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3422_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3707LU) -); -} - -/* EnabledFlag - ns=0;i=2294 */ - -static UA_StatusCode function_namespace0_generated_3423_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 3; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledFlag"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2294LU), -UA_NODEID_NUMERIC(ns[0], 2274LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnabledFlag"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3423_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2294LU) -); -} - -/* SubscriptionDiagnosticsArray - ns=0;i=2290 */ - -static UA_StatusCode function_namespace0_generated_3424_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2290LU), -UA_NODEID_NUMERIC(ns[0], 2274LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2171LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3424_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2290LU) -); -} - -/* SamplingIntervalDiagnosticsArray - ns=0;i=2289 */ - -static UA_StatusCode function_namespace0_generated_3425_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 856LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2289LU), -UA_NODEID_NUMERIC(ns[0], 2274LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2164LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3425_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2289LU) -); -} - -/* ServerDiagnosticsSummary - ns=0;i=2275 */ - -static UA_StatusCode function_namespace0_generated_3426_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 2274LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummary"), -UA_NODEID_NUMERIC(ns[0], 2150LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3426_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2275LU) -); -} - -/* RejectedSessionCount - ns=0;i=3705 */ - -static UA_StatusCode function_namespace0_generated_3427_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3705LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3427_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3705LU) -); -} - -/* RejectedRequestsCount - ns=0;i=2288 */ - -static UA_StatusCode function_namespace0_generated_3428_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2288LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3428_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2288LU) -); -} - -/* SecurityRejectedRequestsCount - ns=0;i=2287 */ - -static UA_StatusCode function_namespace0_generated_3429_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2287LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3429_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2287LU) -); -} - -/* CumulatedSubscriptionCount - ns=0;i=2286 */ - -static UA_StatusCode function_namespace0_generated_3430_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2286LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3430_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2286LU) -); -} - -/* CurrentSubscriptionCount - ns=0;i=2285 */ - -static UA_StatusCode function_namespace0_generated_3431_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2285LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3431_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2285LU) -); -} - -/* PublishingIntervalCount - ns=0;i=2284 */ - -static UA_StatusCode function_namespace0_generated_3432_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2284LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3432_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2284LU) -); -} - -/* SessionAbortCount - ns=0;i=2282 */ - -static UA_StatusCode function_namespace0_generated_3433_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2282LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3433_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2282LU) -); -} - -/* SessionTimeoutCount - ns=0;i=2281 */ - -static UA_StatusCode function_namespace0_generated_3434_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2281LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3434_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2281LU) -); -} - -/* SecurityRejectedSessionCount - ns=0;i=2279 */ - -static UA_StatusCode function_namespace0_generated_3435_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2279LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3435_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2279LU) -); -} - -/* CumulatedSessionCount - ns=0;i=2278 */ - -static UA_StatusCode function_namespace0_generated_3436_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2278LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3436_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2278LU) -); -} - -/* CurrentSessionCount - ns=0;i=2277 */ - -static UA_StatusCode function_namespace0_generated_3437_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2277LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3437_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2277LU) -); -} - -/* ServerViewCount - ns=0;i=2276 */ - -static UA_StatusCode function_namespace0_generated_3438_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2276LU), -UA_NODEID_NUMERIC(ns[0], 2275LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3438_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2276LU) -); -} - -/* ServerCapabilities - ns=0;i=2268 */ - -static UA_StatusCode function_namespace0_generated_3439_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), -UA_NODEID_NUMERIC(ns[0], 2013LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3439_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2268LU) -); -} - -/* SoftwareCertificates - ns=0;i=3704 */ - -static UA_StatusCode function_namespace0_generated_3440_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareCertificates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3704LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareCertificates"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3440_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3704LU) -); -} - -/* MaxMonitoredItemsQueueSize - ns=0;i=31916 */ - -static UA_StatusCode function_namespace0_generated_3441_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsQueueSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 31916LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsQueueSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3441_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 31916LU) -); -} - -/* AggregateFunctions - ns=0;i=2997 */ - -static UA_StatusCode function_namespace0_generated_3442_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2997LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3442_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2997LU) -); -} - -/* ModellingRules - ns=0;i=2996 */ - -static UA_StatusCode function_namespace0_generated_3443_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRules"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2996LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModellingRules"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3443_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2996LU) -); -} - -/* MaxHistoryContinuationPoints - ns=0;i=2737 */ - -static UA_StatusCode function_namespace0_generated_3444_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxHistoryContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2737LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxHistoryContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3444_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2737LU) -); -} - -/* MaxQueryContinuationPoints - ns=0;i=2736 */ - -static UA_StatusCode function_namespace0_generated_3445_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxQueryContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2736LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxQueryContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3445_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2736LU) -); -} - -/* MaxBrowseContinuationPoints - ns=0;i=2735 */ - -static UA_StatusCode function_namespace0_generated_3446_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxBrowseContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2735LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxBrowseContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3446_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2735LU) -); -} - -/* MaxMonitoredItemsPerSubscription - ns=0;i=24104 */ - -static UA_StatusCode function_namespace0_generated_3447_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerSubscription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24104LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerSubscription"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3447_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24104LU) -); -} - -/* ConformanceUnits - ns=0;i=24101 */ - -static UA_StatusCode function_namespace0_generated_3448_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConformanceUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24101LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConformanceUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3448_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24101LU) -); -} - -/* MaxWhereClauseParameters - ns=0;i=24100 */ - -static UA_StatusCode function_namespace0_generated_3449_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxWhereClauseParameters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24100LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxWhereClauseParameters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3449_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24100LU) -); -} - -/* MaxSelectClauseParameters - ns=0;i=24099 */ - -static UA_StatusCode function_namespace0_generated_3450_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSelectClauseParameters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24099LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSelectClauseParameters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3450_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24099LU) -); -} - -/* MaxSubscriptionsPerSession - ns=0;i=24098 */ - -static UA_StatusCode function_namespace0_generated_3451_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptionsPerSession"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24098LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSubscriptionsPerSession"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3451_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24098LU) -); -} - -/* MaxMonitoredItems - ns=0;i=24097 */ - -static UA_StatusCode function_namespace0_generated_3452_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItems"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24097LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItems"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3452_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24097LU) -); -} - -/* MaxSubscriptions - ns=0;i=24096 */ - -static UA_StatusCode function_namespace0_generated_3453_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSubscriptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24096LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSubscriptions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3453_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24096LU) -); -} - -/* MaxSessions - ns=0;i=24095 */ - -static UA_StatusCode function_namespace0_generated_3454_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxSessions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24095LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxSessions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3454_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24095LU) -); -} - -/* MinSupportedSampleRate - ns=0;i=2272 */ - -static UA_StatusCode function_namespace0_generated_3455_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MinSupportedSampleRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2272LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MinSupportedSampleRate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3455_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2272LU) -); -} - -/* LocaleIdArray - ns=0;i=2271 */ - -static UA_StatusCode function_namespace0_generated_3456_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIdArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2271LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIdArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3456_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2271LU) -); -} - -/* ServerProfileArray - ns=0;i=2269 */ - -static UA_StatusCode function_namespace0_generated_3457_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerProfileArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2269LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerProfileArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3457_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2269LU) -); -} - -/* RoleSet - ns=0;i=15606 */ - -static UA_StatusCode function_namespace0_generated_3458_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "RoleSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RoleSet"), -UA_NODEID_NUMERIC(ns[0], 15607LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3458_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15606LU) -); -} - -/* SecurityKeyServerAccess - ns=0;i=25603 */ - -static UA_StatusCode function_namespace0_generated_3459_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServerAccess"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "\n This Role allows a PubSub Application to access an SKS to pull keys. It is the default Role for pull but it is expected that different custom Roles are used for different SecurityGroups.\n"); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityKeyServerAccess"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3459_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25603LU) -); -} - -/* RemoveEndpoint - ns=0;i=25620 */ - -static UA_StatusCode function_namespace0_generated_3460_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25620LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3460_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25620LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25621 */ - -static UA_StatusCode function_namespace0_generated_3461_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25621_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25621_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25621_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_25621_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_25621_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25621_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25621LU), -UA_NODEID_NUMERIC(ns[0], 25620LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3461_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25621LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=25618 */ - -static UA_StatusCode function_namespace0_generated_3462_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25618LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3462_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25618LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25619 */ - -static UA_StatusCode function_namespace0_generated_3463_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25619_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25619_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25619_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_25619_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_25619_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25619_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25619LU), -UA_NODEID_NUMERIC(ns[0], 25618LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3463_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25619LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=25616 */ - -static UA_StatusCode function_namespace0_generated_3464_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25616LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3464_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25616LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25617 */ - -static UA_StatusCode function_namespace0_generated_3465_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25617_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25617_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25617_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25617_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25617_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25617_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25617LU), -UA_NODEID_NUMERIC(ns[0], 25616LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3465_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25617LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=25614 */ - -static UA_StatusCode function_namespace0_generated_3466_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25614LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3466_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25614LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25615 */ - -static UA_StatusCode function_namespace0_generated_3467_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25615_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25615_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25615_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25615_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25615_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25615_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25615LU), -UA_NODEID_NUMERIC(ns[0], 25614LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3467_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25615LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveIdentity - ns=0;i=25612 */ - -static UA_StatusCode function_namespace0_generated_3468_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25612LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3468_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25612LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25613 */ - -static UA_StatusCode function_namespace0_generated_3469_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25613_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25613_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25613_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_25613_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_25613_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25613_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25613LU), -UA_NODEID_NUMERIC(ns[0], 25612LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3469_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25613LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=25610 */ - -static UA_StatusCode function_namespace0_generated_3470_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25610LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3470_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25610LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25611 */ - -static UA_StatusCode function_namespace0_generated_3471_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25611_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25611_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25611_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_25611_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_25611_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25611_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25611LU), -UA_NODEID_NUMERIC(ns[0], 25610LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3471_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25611LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CustomConfiguration - ns=0;i=25609 */ - -static UA_StatusCode function_namespace0_generated_3472_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25609LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3472_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25609LU) -); -} - -/* Endpoints - ns=0;i=25608 */ - -static UA_StatusCode function_namespace0_generated_3473_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25608LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3473_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25608LU) -); -} - -/* EndpointsExclude - ns=0;i=25607 */ - -static UA_StatusCode function_namespace0_generated_3474_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25607LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3474_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25607LU) -); -} - -/* Applications - ns=0;i=25606 */ - -static UA_StatusCode function_namespace0_generated_3475_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25606LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3475_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25606LU) -); -} - -/* ApplicationsExclude - ns=0;i=25605 */ - -static UA_StatusCode function_namespace0_generated_3476_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25605LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3476_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25605LU) -); -} - -/* Identities - ns=0;i=25604 */ - -static UA_StatusCode function_namespace0_generated_3477_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25604LU), -UA_NODEID_NUMERIC(ns[0], 25603LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3477_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25604LU) -); -} - -/* SecurityKeyServerPush - ns=0;i=25584 */ - -static UA_StatusCode function_namespace0_generated_3478_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServerPush"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "\n This Role allows an SKS to push security keys to PubSub Applications. This includes executing methods related to PubSub security.\n"); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityKeyServerPush"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3478_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25584LU) -); -} - -/* RemoveEndpoint - ns=0;i=25601 */ - -static UA_StatusCode function_namespace0_generated_3479_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25601LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3479_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25601LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25602 */ - -static UA_StatusCode function_namespace0_generated_3480_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25602_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25602_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25602_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_25602_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_25602_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25602_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25602LU), -UA_NODEID_NUMERIC(ns[0], 25601LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3480_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25602LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=25599 */ - -static UA_StatusCode function_namespace0_generated_3481_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25599LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3481_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25599LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25600 */ - -static UA_StatusCode function_namespace0_generated_3482_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25600_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25600_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25600_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_25600_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_25600_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25600_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25600LU), -UA_NODEID_NUMERIC(ns[0], 25599LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3482_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25600LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=25597 */ - -static UA_StatusCode function_namespace0_generated_3483_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25597LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3483_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25597LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25598 */ - -static UA_StatusCode function_namespace0_generated_3484_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25598_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25598_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25598_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25598_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25598_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25598_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25598LU), -UA_NODEID_NUMERIC(ns[0], 25597LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3484_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25598LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=25595 */ - -static UA_StatusCode function_namespace0_generated_3485_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25595LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3485_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25595LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25596 */ - -static UA_StatusCode function_namespace0_generated_3486_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25596_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25596_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25596_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25596_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25596_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25596_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25596LU), -UA_NODEID_NUMERIC(ns[0], 25595LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3486_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25596LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveIdentity - ns=0;i=25593 */ - -static UA_StatusCode function_namespace0_generated_3487_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25593LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3487_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25593LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25594 */ - -static UA_StatusCode function_namespace0_generated_3488_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25594_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25594_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25594_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_25594_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_25594_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25594_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25594LU), -UA_NODEID_NUMERIC(ns[0], 25593LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3488_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25594LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=25591 */ - -static UA_StatusCode function_namespace0_generated_3489_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25591LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3489_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25591LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25592 */ - -static UA_StatusCode function_namespace0_generated_3490_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25592_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25592_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25592_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_25592_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_25592_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25592_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25592LU), -UA_NODEID_NUMERIC(ns[0], 25591LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3490_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25592LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CustomConfiguration - ns=0;i=25590 */ - -static UA_StatusCode function_namespace0_generated_3491_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25590LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3491_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25590LU) -); -} - -/* Endpoints - ns=0;i=25589 */ - -static UA_StatusCode function_namespace0_generated_3492_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25589LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3492_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25589LU) -); -} - -/* EndpointsExclude - ns=0;i=25588 */ - -static UA_StatusCode function_namespace0_generated_3493_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25588LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3493_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25588LU) -); -} - -/* Applications - ns=0;i=25587 */ - -static UA_StatusCode function_namespace0_generated_3494_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25587LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3494_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25587LU) -); -} - -/* ApplicationsExclude - ns=0;i=25586 */ - -static UA_StatusCode function_namespace0_generated_3495_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25586LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3495_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25586LU) -); -} - -/* Identities - ns=0;i=25585 */ - -static UA_StatusCode function_namespace0_generated_3496_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25585LU), -UA_NODEID_NUMERIC(ns[0], 25584LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3496_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25585LU) -); -} - -/* SecurityKeyServerAdmin - ns=0;i=25565 */ - -static UA_StatusCode function_namespace0_generated_3497_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityKeyServerAdmin"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "This Role allows an administrator to manage SecurityGroups and PushTargets on a SKS. This includes executing methods related to management of SecurityGroups and PushTargets on an SKS."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityKeyServerAdmin"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3497_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25565LU) -); -} - -/* RemoveEndpoint - ns=0;i=25582 */ - -static UA_StatusCode function_namespace0_generated_3498_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25582LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3498_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25582LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25583 */ - -static UA_StatusCode function_namespace0_generated_3499_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25583_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25583_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25583_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_25583_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_25583_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25583_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25583LU), -UA_NODEID_NUMERIC(ns[0], 25582LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3499_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25583LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=25580 */ - -static UA_StatusCode function_namespace0_generated_3500_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25580LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3500_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25580LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25581 */ - -static UA_StatusCode function_namespace0_generated_3501_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25581_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25581_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25581_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_25581_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_25581_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25581_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25581LU), -UA_NODEID_NUMERIC(ns[0], 25580LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3501_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25581LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=25578 */ - -static UA_StatusCode function_namespace0_generated_3502_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25578LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3502_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25578LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25579 */ - -static UA_StatusCode function_namespace0_generated_3503_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25579_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25579_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25579_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25579_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25579_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25579_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25579LU), -UA_NODEID_NUMERIC(ns[0], 25578LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3503_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25579LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=25576 */ - -static UA_StatusCode function_namespace0_generated_3504_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25576LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3504_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25576LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25577 */ - -static UA_StatusCode function_namespace0_generated_3505_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25577_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25577_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25577_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25577_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25577_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25577_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25577LU), -UA_NODEID_NUMERIC(ns[0], 25576LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3505_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25577LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveIdentity - ns=0;i=25574 */ - -static UA_StatusCode function_namespace0_generated_3506_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25574LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3506_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25574LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25575 */ - -static UA_StatusCode function_namespace0_generated_3507_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25575_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25575_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25575_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_25575_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_25575_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25575_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25575LU), -UA_NODEID_NUMERIC(ns[0], 25574LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3507_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25575LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=25572 */ - -static UA_StatusCode function_namespace0_generated_3508_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25572LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3508_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25572LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25573 */ - -static UA_StatusCode function_namespace0_generated_3509_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25573_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25573_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25573_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_25573_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_25573_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25573_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25573LU), -UA_NODEID_NUMERIC(ns[0], 25572LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3509_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25573LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CustomConfiguration - ns=0;i=25571 */ - -static UA_StatusCode function_namespace0_generated_3510_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25571LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3510_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25571LU) -); -} - -/* Endpoints - ns=0;i=25570 */ - -static UA_StatusCode function_namespace0_generated_3511_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25570LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3511_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25570LU) -); -} - -/* EndpointsExclude - ns=0;i=25569 */ - -static UA_StatusCode function_namespace0_generated_3512_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25569LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3512_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25569LU) -); -} - -/* Applications - ns=0;i=25568 */ - -static UA_StatusCode function_namespace0_generated_3513_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25568LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3513_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25568LU) -); -} - -/* ApplicationsExclude - ns=0;i=25567 */ - -static UA_StatusCode function_namespace0_generated_3514_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25567LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3514_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25567LU) -); -} - -/* Identities - ns=0;i=25566 */ - -static UA_StatusCode function_namespace0_generated_3515_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25566LU), -UA_NODEID_NUMERIC(ns[0], 25565LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3515_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25566LU) -); -} - -/* RemoveRole - ns=0;i=16304 */ - -static UA_StatusCode function_namespace0_generated_3516_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveRole"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16304LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveRole"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3516_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16304LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16305 */ - -static UA_StatusCode function_namespace0_generated_3517_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16305_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16305_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16305_variant_DataContents[0].name = UA_STRING("RoleNodeId"); -variablenode_ns_0_i_16305_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16305_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16305_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16305LU), -UA_NODEID_NUMERIC(ns[0], 16304LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3517_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16305LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddRole - ns=0;i=16301 */ - -static UA_StatusCode function_namespace0_generated_3518_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddRole"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16301LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddRole"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3518_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16301LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=16303 */ - -static UA_StatusCode function_namespace0_generated_3519_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16303_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16303_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16303_variant_DataContents[0].name = UA_STRING("RoleNodeId"); -variablenode_ns_0_i_16303_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_16303_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16303_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16303LU), -UA_NODEID_NUMERIC(ns[0], 16301LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3519_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16303LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16302 */ - -static UA_StatusCode function_namespace0_generated_3520_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16302_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_16302_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16302_variant_DataContents[0].name = UA_STRING("RoleName"); -variablenode_ns_0_i_16302_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16302_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_16302_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16302_variant_DataContents[1].name = UA_STRING("NamespaceUri"); -variablenode_ns_0_i_16302_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16302_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16302_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16302LU), -UA_NODEID_NUMERIC(ns[0], 16301LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3520_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16302LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Engineer - ns=0;i=16036 */ - -static UA_StatusCode function_namespace0_generated_3521_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Engineer"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.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."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Engineer"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3521_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16036LU) -); -} - -/* CustomConfiguration - ns=0;i=24144 */ - -static UA_StatusCode function_namespace0_generated_3522_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24144LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3522_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24144LU) -); -} - -/* RemoveEndpoint - ns=0;i=16245 */ - -static UA_StatusCode function_namespace0_generated_3523_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16245LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3523_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16245LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16246 */ - -static UA_StatusCode function_namespace0_generated_3524_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16246_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16246_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16246_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16246_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16246_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16246_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16246LU), -UA_NODEID_NUMERIC(ns[0], 16245LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3524_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16246LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16243 */ - -static UA_StatusCode function_namespace0_generated_3525_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16243LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3525_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16243LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16244 */ - -static UA_StatusCode function_namespace0_generated_3526_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16244_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16244_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16244_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16244_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16244_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16244_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16244LU), -UA_NODEID_NUMERIC(ns[0], 16243LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3526_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16244LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16241 */ - -static UA_StatusCode function_namespace0_generated_3527_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16241LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3527_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16241LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16242 */ - -static UA_StatusCode function_namespace0_generated_3528_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16242_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16242_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16242_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16242_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16242_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16242_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16242LU), -UA_NODEID_NUMERIC(ns[0], 16241LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3528_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16242LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16239 */ - -static UA_StatusCode function_namespace0_generated_3529_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16239LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3529_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16239LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16240 */ - -static UA_StatusCode function_namespace0_generated_3530_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16240_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16240_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16240_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16240_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16240_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16240_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16240LU), -UA_NODEID_NUMERIC(ns[0], 16239LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3530_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16240LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16238 */ - -static UA_StatusCode function_namespace0_generated_3531_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16238LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3531_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16238LU) -); -} - -/* Applications - ns=0;i=16237 */ - -static UA_StatusCode function_namespace0_generated_3532_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16237LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3532_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16237LU) -); -} - -/* Identities - ns=0;i=16236 */ - -static UA_StatusCode function_namespace0_generated_3533_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16236LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3533_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16236LU) -); -} - -/* RemoveIdentity - ns=0;i=16043 */ - -static UA_StatusCode function_namespace0_generated_3534_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16043LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3534_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16043LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16044 */ - -static UA_StatusCode function_namespace0_generated_3535_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16044_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16044_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16044_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_16044_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_16044_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16044_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16044LU), -UA_NODEID_NUMERIC(ns[0], 16043LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3535_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16044LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=16041 */ - -static UA_StatusCode function_namespace0_generated_3536_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16041LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3536_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16041LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16042 */ - -static UA_StatusCode function_namespace0_generated_3537_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16042_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16042_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16042_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_16042_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_16042_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16042_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16042LU), -UA_NODEID_NUMERIC(ns[0], 16041LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3537_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16042LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15425 */ - -static UA_StatusCode function_namespace0_generated_3538_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15425LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3538_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15425LU) -); -} - -/* ApplicationsExclude - ns=0;i=15424 */ - -static UA_StatusCode function_namespace0_generated_3539_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15424LU), -UA_NODEID_NUMERIC(ns[0], 16036LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3539_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15424LU) -); -} - -/* ConfigureAdmin - ns=0;i=15716 */ - -static UA_StatusCode function_namespace0_generated_3540_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigureAdmin"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to change the non-security related configuration settings."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfigureAdmin"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3540_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15716LU) -); -} - -/* CustomConfiguration - ns=0;i=24146 */ - -static UA_StatusCode function_namespace0_generated_3541_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24146LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3541_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24146LU) -); -} - -/* RemoveEndpoint - ns=0;i=16278 */ - -static UA_StatusCode function_namespace0_generated_3542_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16278LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3542_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16278LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16279 */ - -static UA_StatusCode function_namespace0_generated_3543_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16279_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16279_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16279_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16279_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16279_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16279_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16279LU), -UA_NODEID_NUMERIC(ns[0], 16278LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3543_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16279LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16276 */ - -static UA_StatusCode function_namespace0_generated_3544_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16276LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3544_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16276LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16277 */ - -static UA_StatusCode function_namespace0_generated_3545_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16277_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16277_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16277_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16277_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16277_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16277_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16277LU), -UA_NODEID_NUMERIC(ns[0], 16276LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3545_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16277LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16274 */ - -static UA_StatusCode function_namespace0_generated_3546_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16274LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3546_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16274LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16275 */ - -static UA_StatusCode function_namespace0_generated_3547_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16275_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16275_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16275_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16275_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16275_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16275_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16275LU), -UA_NODEID_NUMERIC(ns[0], 16274LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3547_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16275LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16272 */ - -static UA_StatusCode function_namespace0_generated_3548_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16272LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3548_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16272LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16273 */ - -static UA_StatusCode function_namespace0_generated_3549_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16273_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16273_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16273_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16273_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16273_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16273_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16273LU), -UA_NODEID_NUMERIC(ns[0], 16272LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3549_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16273LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16271 */ - -static UA_StatusCode function_namespace0_generated_3550_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16271LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3550_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16271LU) -); -} - -/* Applications - ns=0;i=16270 */ - -static UA_StatusCode function_namespace0_generated_3551_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16270LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3551_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16270LU) -); -} - -/* Identities - ns=0;i=16269 */ - -static UA_StatusCode function_namespace0_generated_3552_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16269LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3552_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16269LU) -); -} - -/* RemoveIdentity - ns=0;i=15722 */ - -static UA_StatusCode function_namespace0_generated_3553_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15722LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3553_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15722LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15723 */ - -static UA_StatusCode function_namespace0_generated_3554_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15723_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15723_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15723_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15723_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15723_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15723_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15723LU), -UA_NODEID_NUMERIC(ns[0], 15722LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3554_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15723LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15720 */ - -static UA_StatusCode function_namespace0_generated_3555_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15720LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3555_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15720LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15721 */ - -static UA_StatusCode function_namespace0_generated_3556_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15721_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15721_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15721_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15721_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15721_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15721_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15721LU), -UA_NODEID_NUMERIC(ns[0], 15720LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3556_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15721LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15429 */ - -static UA_StatusCode function_namespace0_generated_3557_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15429LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3557_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15429LU) -); -} - -/* ApplicationsExclude - ns=0;i=15428 */ - -static UA_StatusCode function_namespace0_generated_3558_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15428LU), -UA_NODEID_NUMERIC(ns[0], 15716LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3558_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15428LU) -); -} - -/* SecurityAdmin - ns=0;i=15704 */ - -static UA_StatusCode function_namespace0_generated_3559_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityAdmin"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to change security related settings."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityAdmin"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3559_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15704LU) -); -} - -/* CustomConfiguration - ns=0;i=24147 */ - -static UA_StatusCode function_namespace0_generated_3560_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24147LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3560_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24147LU) -); -} - -/* RemoveEndpoint - ns=0;i=16267 */ - -static UA_StatusCode function_namespace0_generated_3561_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16267LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3561_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16267LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16268 */ - -static UA_StatusCode function_namespace0_generated_3562_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16268_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16268_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16268_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16268_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16268_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16268_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16268LU), -UA_NODEID_NUMERIC(ns[0], 16267LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3562_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16268LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16265 */ - -static UA_StatusCode function_namespace0_generated_3563_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16265LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3563_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16265LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16266 */ - -static UA_StatusCode function_namespace0_generated_3564_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16266_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16266_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16266_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16266_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16266_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16266_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16266LU), -UA_NODEID_NUMERIC(ns[0], 16265LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3564_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16266LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16263 */ - -static UA_StatusCode function_namespace0_generated_3565_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16263LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3565_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16263LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16264 */ - -static UA_StatusCode function_namespace0_generated_3566_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16264_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16264_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16264_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16264_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16264_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16264_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16264LU), -UA_NODEID_NUMERIC(ns[0], 16263LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3566_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16264LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16261 */ - -static UA_StatusCode function_namespace0_generated_3567_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16261LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3567_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16261LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16262 */ - -static UA_StatusCode function_namespace0_generated_3568_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16262_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16262_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16262_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16262_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16262_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16262_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16262LU), -UA_NODEID_NUMERIC(ns[0], 16261LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3568_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16262LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16260 */ - -static UA_StatusCode function_namespace0_generated_3569_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16260LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3569_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16260LU) -); -} - -/* Applications - ns=0;i=16259 */ - -static UA_StatusCode function_namespace0_generated_3570_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16259LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3570_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16259LU) -); -} - -/* Identities - ns=0;i=16258 */ - -static UA_StatusCode function_namespace0_generated_3571_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16258LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3571_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16258LU) -); -} - -/* RemoveIdentity - ns=0;i=15710 */ - -static UA_StatusCode function_namespace0_generated_3572_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15710LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3572_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15710LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15711 */ - -static UA_StatusCode function_namespace0_generated_3573_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15711_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15711_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15711_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15711_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15711_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15711_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15711LU), -UA_NODEID_NUMERIC(ns[0], 15710LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3573_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15711LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15708 */ - -static UA_StatusCode function_namespace0_generated_3574_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15708LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3574_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15708LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15709 */ - -static UA_StatusCode function_namespace0_generated_3575_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15709_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15709_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15709_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15709_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15709_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15709_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15709LU), -UA_NODEID_NUMERIC(ns[0], 15708LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3575_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15709LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15527 */ - -static UA_StatusCode function_namespace0_generated_3576_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15527LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3576_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15527LU) -); -} - -/* ApplicationsExclude - ns=0;i=15430 */ - -static UA_StatusCode function_namespace0_generated_3577_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15430LU), -UA_NODEID_NUMERIC(ns[0], 15704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3577_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15430LU) -); -} - -/* Supervisor - ns=0;i=15692 */ - -static UA_StatusCode function_namespace0_generated_3578_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Supervisor"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Supervisor"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3578_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15692LU) -); -} - -/* CustomConfiguration - ns=0;i=24145 */ - -static UA_StatusCode function_namespace0_generated_3579_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24145LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3579_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24145LU) -); -} - -/* RemoveEndpoint - ns=0;i=16256 */ - -static UA_StatusCode function_namespace0_generated_3580_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16256LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3580_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16256LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16257 */ - -static UA_StatusCode function_namespace0_generated_3581_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16257_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16257_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16257_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16257_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16257_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16257_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16257LU), -UA_NODEID_NUMERIC(ns[0], 16256LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3581_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16257LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16254 */ - -static UA_StatusCode function_namespace0_generated_3582_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16254LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3582_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16254LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16255 */ - -static UA_StatusCode function_namespace0_generated_3583_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16255_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16255_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16255_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16255_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16255_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16255_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16255LU), -UA_NODEID_NUMERIC(ns[0], 16254LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3583_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16255LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16252 */ - -static UA_StatusCode function_namespace0_generated_3584_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16252LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3584_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16252LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16253 */ - -static UA_StatusCode function_namespace0_generated_3585_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16253_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16253_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16253_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16253_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16253_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16253_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16253LU), -UA_NODEID_NUMERIC(ns[0], 16252LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3585_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16253LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16250 */ - -static UA_StatusCode function_namespace0_generated_3586_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16250LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3586_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16250LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16251 */ - -static UA_StatusCode function_namespace0_generated_3587_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16251_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16251_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16251_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16251_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16251_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16251_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16251LU), -UA_NODEID_NUMERIC(ns[0], 16250LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3587_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16251LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16249 */ - -static UA_StatusCode function_namespace0_generated_3588_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16249LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3588_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16249LU) -); -} - -/* Applications - ns=0;i=16248 */ - -static UA_StatusCode function_namespace0_generated_3589_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16248LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3589_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16248LU) -); -} - -/* Identities - ns=0;i=16247 */ - -static UA_StatusCode function_namespace0_generated_3590_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16247LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3590_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16247LU) -); -} - -/* RemoveIdentity - ns=0;i=15698 */ - -static UA_StatusCode function_namespace0_generated_3591_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15698LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3591_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15698LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15699 */ - -static UA_StatusCode function_namespace0_generated_3592_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15699_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15699_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15699_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15699_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15699_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15699_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15699LU), -UA_NODEID_NUMERIC(ns[0], 15698LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3592_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15699LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15696 */ - -static UA_StatusCode function_namespace0_generated_3593_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15696LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3593_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15696LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15697 */ - -static UA_StatusCode function_namespace0_generated_3594_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15697_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15697_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15697_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15697_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15697_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15697_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15697LU), -UA_NODEID_NUMERIC(ns[0], 15696LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3594_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15697LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15427 */ - -static UA_StatusCode function_namespace0_generated_3595_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15427LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3595_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15427LU) -); -} - -/* ApplicationsExclude - ns=0;i=15426 */ - -static UA_StatusCode function_namespace0_generated_3596_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15426LU), -UA_NODEID_NUMERIC(ns[0], 15692LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3596_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15426LU) -); -} - -/* Operator - ns=0;i=15680 */ - -static UA_StatusCode function_namespace0_generated_3597_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Operator"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Operator"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3597_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15680LU) -); -} - -/* CustomConfiguration - ns=0;i=24143 */ - -static UA_StatusCode function_namespace0_generated_3598_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24143LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3598_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24143LU) -); -} - -/* RemoveEndpoint - ns=0;i=16234 */ - -static UA_StatusCode function_namespace0_generated_3599_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16234LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3599_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16234LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16235 */ - -static UA_StatusCode function_namespace0_generated_3600_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16235_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16235_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16235_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16235_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16235_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16235_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16235LU), -UA_NODEID_NUMERIC(ns[0], 16234LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3600_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16235LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16232 */ - -static UA_StatusCode function_namespace0_generated_3601_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16232LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3601_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16232LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16233 */ - -static UA_StatusCode function_namespace0_generated_3602_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16233_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16233_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16233_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16233_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16233_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16233_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16233LU), -UA_NODEID_NUMERIC(ns[0], 16232LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3602_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16233LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16230 */ - -static UA_StatusCode function_namespace0_generated_3603_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16230LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3603_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16230LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16231 */ - -static UA_StatusCode function_namespace0_generated_3604_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16231_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16231_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16231_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16231_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16231_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16231_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16231LU), -UA_NODEID_NUMERIC(ns[0], 16230LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3604_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16231LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16228 */ - -static UA_StatusCode function_namespace0_generated_3605_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16228LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3605_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16228LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16229 */ - -static UA_StatusCode function_namespace0_generated_3606_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16229_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16229_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16229_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16229_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16229_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16229_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16229LU), -UA_NODEID_NUMERIC(ns[0], 16228LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3606_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16229LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16227 */ - -static UA_StatusCode function_namespace0_generated_3607_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16227LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3607_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16227LU) -); -} - -/* Applications - ns=0;i=16226 */ - -static UA_StatusCode function_namespace0_generated_3608_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16226LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3608_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16226LU) -); -} - -/* Identities - ns=0;i=16225 */ - -static UA_StatusCode function_namespace0_generated_3609_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16225LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3609_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16225LU) -); -} - -/* RemoveIdentity - ns=0;i=15686 */ - -static UA_StatusCode function_namespace0_generated_3610_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15686LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3610_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15686LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15687 */ - -static UA_StatusCode function_namespace0_generated_3611_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15687_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15687_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15687_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15687_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15687_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15687_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15687LU), -UA_NODEID_NUMERIC(ns[0], 15686LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3611_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15687LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15684 */ - -static UA_StatusCode function_namespace0_generated_3612_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15684LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3612_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15684LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15685 */ - -static UA_StatusCode function_namespace0_generated_3613_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15685_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15685_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15685_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15685_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15685_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15685_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15685LU), -UA_NODEID_NUMERIC(ns[0], 15684LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3613_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15685LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15423 */ - -static UA_StatusCode function_namespace0_generated_3614_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15423LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3614_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15423LU) -); -} - -/* ApplicationsExclude - ns=0;i=15418 */ - -static UA_StatusCode function_namespace0_generated_3615_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15418LU), -UA_NODEID_NUMERIC(ns[0], 15680LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3615_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15418LU) -); -} - -/* Observer - ns=0;i=15668 */ - -static UA_StatusCode function_namespace0_generated_3616_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Observer"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Observer"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3616_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15668LU) -); -} - -/* CustomConfiguration - ns=0;i=24142 */ - -static UA_StatusCode function_namespace0_generated_3617_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24142LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3617_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24142LU) -); -} - -/* RemoveEndpoint - ns=0;i=16223 */ - -static UA_StatusCode function_namespace0_generated_3618_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16223LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3618_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16223LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16224 */ - -static UA_StatusCode function_namespace0_generated_3619_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16224_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16224_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16224_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16224_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16224_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16224_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16224LU), -UA_NODEID_NUMERIC(ns[0], 16223LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3619_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16224LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16221 */ - -static UA_StatusCode function_namespace0_generated_3620_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16221LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3620_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16221LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16222 */ - -static UA_StatusCode function_namespace0_generated_3621_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16222_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16222_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16222_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16222_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16222_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16222_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16222LU), -UA_NODEID_NUMERIC(ns[0], 16221LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3621_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16222LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16219 */ - -static UA_StatusCode function_namespace0_generated_3622_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16219LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3622_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16219LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16220 */ - -static UA_StatusCode function_namespace0_generated_3623_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16220_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16220_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16220_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16220_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16220_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16220_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16220LU), -UA_NODEID_NUMERIC(ns[0], 16219LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3623_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16220LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16217 */ - -static UA_StatusCode function_namespace0_generated_3624_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16217LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3624_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16217LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16218 */ - -static UA_StatusCode function_namespace0_generated_3625_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16218_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16218_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16218_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16218_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16218_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16218_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16218LU), -UA_NODEID_NUMERIC(ns[0], 16217LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3625_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16218LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16216 */ - -static UA_StatusCode function_namespace0_generated_3626_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16216LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3626_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16216LU) -); -} - -/* Applications - ns=0;i=16215 */ - -static UA_StatusCode function_namespace0_generated_3627_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16215LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3627_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16215LU) -); -} - -/* Identities - ns=0;i=16214 */ - -static UA_StatusCode function_namespace0_generated_3628_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16214LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3628_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16214LU) -); -} - -/* RemoveIdentity - ns=0;i=15674 */ - -static UA_StatusCode function_namespace0_generated_3629_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15674LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3629_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15674LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15675 */ - -static UA_StatusCode function_namespace0_generated_3630_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15675_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15675_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15675_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15675_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15675_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15675_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15675LU), -UA_NODEID_NUMERIC(ns[0], 15674LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3630_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15675LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15672 */ - -static UA_StatusCode function_namespace0_generated_3631_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15672LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3631_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15672LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15673 */ - -static UA_StatusCode function_namespace0_generated_3632_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15673_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15673_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15673_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15673_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15673_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15673_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15673LU), -UA_NODEID_NUMERIC(ns[0], 15672LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3632_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15673LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15417 */ - -static UA_StatusCode function_namespace0_generated_3633_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15417LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3633_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15417LU) -); -} - -/* ApplicationsExclude - ns=0;i=15416 */ - -static UA_StatusCode function_namespace0_generated_3634_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15416LU), -UA_NODEID_NUMERIC(ns[0], 15668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3634_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15416LU) -); -} - -/* AuthenticatedUser - ns=0;i=15656 */ - -static UA_StatusCode function_namespace0_generated_3635_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuthenticatedUser"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.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."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AuthenticatedUser"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3635_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15656LU) -); -} - -/* CustomConfiguration - ns=0;i=24141 */ - -static UA_StatusCode function_namespace0_generated_3636_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CustomConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24141LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CustomConfiguration"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3636_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24141LU) -); -} - -/* RemoveEndpoint - ns=0;i=16212 */ - -static UA_StatusCode function_namespace0_generated_3637_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16212LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3637_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16212LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16213 */ - -static UA_StatusCode function_namespace0_generated_3638_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16213_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16213_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16213_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16213_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16213_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16213_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16213LU), -UA_NODEID_NUMERIC(ns[0], 16212LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3638_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16213LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16210 */ - -static UA_StatusCode function_namespace0_generated_3639_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16210LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3639_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16210LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16211 */ - -static UA_StatusCode function_namespace0_generated_3640_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16211_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16211_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16211_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16211_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16211_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16211_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16211LU), -UA_NODEID_NUMERIC(ns[0], 16210LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3640_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16211LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16208 */ - -static UA_StatusCode function_namespace0_generated_3641_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16208LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3641_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16208LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16209 */ - -static UA_StatusCode function_namespace0_generated_3642_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16209_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16209_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16209_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16209_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16209_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16209_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16209LU), -UA_NODEID_NUMERIC(ns[0], 16208LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3642_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16209LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16206 */ - -static UA_StatusCode function_namespace0_generated_3643_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16206LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3643_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16206LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16207 */ - -static UA_StatusCode function_namespace0_generated_3644_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16207_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16207_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16207_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16207_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16207_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16207_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16207LU), -UA_NODEID_NUMERIC(ns[0], 16206LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3644_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16207LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16205 */ - -static UA_StatusCode function_namespace0_generated_3645_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16205LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3645_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16205LU) -); -} - -/* Applications - ns=0;i=16204 */ - -static UA_StatusCode function_namespace0_generated_3646_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16204LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3646_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16204LU) -); -} - -/* Identities - ns=0;i=16203 */ - -static UA_StatusCode function_namespace0_generated_3647_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16203LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3647_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16203LU) -); -} - -/* RemoveIdentity - ns=0;i=15662 */ - -static UA_StatusCode function_namespace0_generated_3648_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15662LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3648_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15662LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15663 */ - -static UA_StatusCode function_namespace0_generated_3649_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15663_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15663_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15663_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15663_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15663_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15663_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15663LU), -UA_NODEID_NUMERIC(ns[0], 15662LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3649_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15663LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15660 */ - -static UA_StatusCode function_namespace0_generated_3650_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15660LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3650_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15660LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15661 */ - -static UA_StatusCode function_namespace0_generated_3651_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15661_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15661_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15661_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15661_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15661_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15661_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15661LU), -UA_NODEID_NUMERIC(ns[0], 15660LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3651_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15661LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15415 */ - -static UA_StatusCode function_namespace0_generated_3652_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15415LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3652_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15415LU) -); -} - -/* ApplicationsExclude - ns=0;i=15414 */ - -static UA_StatusCode function_namespace0_generated_3653_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15414LU), -UA_NODEID_NUMERIC(ns[0], 15656LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3653_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15414LU) -); -} - -/* Anonymous - ns=0;i=15644 */ - -static UA_StatusCode function_namespace0_generated_3654_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Anonymous"); -#ifdef UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS -attr.description = UA_LOCALIZEDTEXT("", "The Role has very limited access for use when a Session has anonymous credentials."); -#endif -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 15606LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Anonymous"), -UA_NODEID_NUMERIC(ns[0], 15620LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3654_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15644LU) -); -} - -/* RemoveEndpoint - ns=0;i=16201 */ - -static UA_StatusCode function_namespace0_generated_3655_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16201LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3655_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16201LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16202 */ - -static UA_StatusCode function_namespace0_generated_3656_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16202_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16202_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16202_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16202_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16202_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16202_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16202LU), -UA_NODEID_NUMERIC(ns[0], 16201LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3656_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16202LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddEndpoint - ns=0;i=16199 */ - -static UA_StatusCode function_namespace0_generated_3657_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddEndpoint"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16199LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddEndpoint"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3657_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16199LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16200 */ - -static UA_StatusCode function_namespace0_generated_3658_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16200_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16200_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16200_variant_DataContents[0].name = UA_STRING("Endpoint"); -variablenode_ns_0_i_16200_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -variablenode_ns_0_i_16200_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16200_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16200LU), -UA_NODEID_NUMERIC(ns[0], 16199LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3658_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16200LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveApplication - ns=0;i=16197 */ - -static UA_StatusCode function_namespace0_generated_3659_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16197LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3659_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16197LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16198 */ - -static UA_StatusCode function_namespace0_generated_3660_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16198_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16198_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16198_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16198_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16198_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16198_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16198LU), -UA_NODEID_NUMERIC(ns[0], 16197LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3660_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16198LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddApplication - ns=0;i=16195 */ - -static UA_StatusCode function_namespace0_generated_3661_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddApplication"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 16195LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddApplication"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3661_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16195LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=16196 */ - -static UA_StatusCode function_namespace0_generated_3662_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_16196_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_16196_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_16196_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_16196_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_16196_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_16196_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16196LU), -UA_NODEID_NUMERIC(ns[0], 16195LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3662_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16196LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Endpoints - ns=0;i=16194 */ - -static UA_StatusCode function_namespace0_generated_3663_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15528LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Endpoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16194LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Endpoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3663_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16194LU) -); -} - -/* Applications - ns=0;i=16193 */ - -static UA_StatusCode function_namespace0_generated_3664_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Applications"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16193LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Applications"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3664_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16193LU) -); -} - -/* Identities - ns=0;i=16192 */ - -static UA_StatusCode function_namespace0_generated_3665_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Identities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16192LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Identities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3665_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16192LU) -); -} - -/* RemoveIdentity - ns=0;i=15650 */ - -static UA_StatusCode function_namespace0_generated_3666_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15650LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3666_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15650LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15651 */ - -static UA_StatusCode function_namespace0_generated_3667_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15651_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15651_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15651_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15651_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15651_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15651_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15651LU), -UA_NODEID_NUMERIC(ns[0], 15650LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3667_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15651LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddIdentity - ns=0;i=15648 */ - -static UA_StatusCode function_namespace0_generated_3668_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddIdentity"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15648LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddIdentity"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3668_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15648LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15649 */ - -static UA_StatusCode function_namespace0_generated_3669_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15649_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15649_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15649_variant_DataContents[0].name = UA_STRING("Rule"); -variablenode_ns_0_i_15649_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15634LU); -variablenode_ns_0_i_15649_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15649_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15649LU), -UA_NODEID_NUMERIC(ns[0], 15648LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3669_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15649LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EndpointsExclude - ns=0;i=15413 */ - -static UA_StatusCode function_namespace0_generated_3670_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15413LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EndpointsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3670_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15413LU) -); -} - -/* ApplicationsExclude - ns=0;i=15412 */ - -static UA_StatusCode function_namespace0_generated_3671_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationsExclude"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15412LU), -UA_NODEID_NUMERIC(ns[0], 15644LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationsExclude"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3671_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15412LU) -); -} - -/* MaxByteStringLength - ns=0;i=12911 */ - -static UA_StatusCode function_namespace0_generated_3672_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12911LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3672_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12911LU) -); -} - -/* OperationLimits - ns=0;i=11704 */ - -static UA_StatusCode function_namespace0_generated_3673_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OperationLimits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationLimits"), -UA_NODEID_NUMERIC(ns[0], 11564LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3673_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11704LU) -); -} - -/* MaxNodesPerHistoryUpdateEvents - ns=0;i=12168 */ - -static UA_StatusCode function_namespace0_generated_3674_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateEvents"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12168LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateEvents"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3674_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12168LU) -); -} - -/* MaxNodesPerHistoryUpdateData - ns=0;i=12167 */ - -static UA_StatusCode function_namespace0_generated_3675_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryUpdateData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12167LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryUpdateData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3675_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12167LU) -); -} - -/* MaxNodesPerHistoryReadEvents - ns=0;i=12166 */ - -static UA_StatusCode function_namespace0_generated_3676_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadEvents"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12166LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadEvents"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3676_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12166LU) -); -} - -/* MaxNodesPerHistoryReadData - ns=0;i=12165 */ - -static UA_StatusCode function_namespace0_generated_3677_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerHistoryReadData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12165LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerHistoryReadData"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3677_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12165LU) -); -} - -/* MaxMonitoredItemsPerCall - ns=0;i=11714 */ - -static UA_StatusCode function_namespace0_generated_3678_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxMonitoredItemsPerCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11714LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxMonitoredItemsPerCall"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3678_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11714LU) -); -} - -/* MaxNodesPerNodeManagement - ns=0;i=11713 */ - -static UA_StatusCode function_namespace0_generated_3679_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerNodeManagement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11713LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerNodeManagement"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3679_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11713LU) -); -} - -/* MaxNodesPerTranslateBrowsePathsToNodeIds - ns=0;i=11712 */ - -static UA_StatusCode function_namespace0_generated_3680_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerTranslateBrowsePathsToNodeIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11712LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerTranslateBrowsePathsToNodeIds"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3680_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11712LU) -); -} - -/* MaxNodesPerRegisterNodes - ns=0;i=11711 */ - -static UA_StatusCode function_namespace0_generated_3681_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRegisterNodes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11711LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRegisterNodes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3681_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11711LU) -); -} - -/* MaxNodesPerBrowse - ns=0;i=11710 */ - -static UA_StatusCode function_namespace0_generated_3682_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerBrowse"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11710LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerBrowse"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3682_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11710LU) -); -} - -/* MaxNodesPerMethodCall - ns=0;i=11709 */ - -static UA_StatusCode function_namespace0_generated_3683_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerMethodCall"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11709LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerMethodCall"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3683_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11709LU) -); -} - -/* MaxNodesPerWrite - ns=0;i=11707 */ - -static UA_StatusCode function_namespace0_generated_3684_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerWrite"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11707LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerWrite"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3684_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11707LU) -); -} - -/* MaxNodesPerRead - ns=0;i=11705 */ - -static UA_StatusCode function_namespace0_generated_3685_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxNodesPerRead"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11705LU), -UA_NODEID_NUMERIC(ns[0], 11704LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxNodesPerRead"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3685_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11705LU) -); -} - -/* MaxStringLength - ns=0;i=11703 */ - -static UA_StatusCode function_namespace0_generated_3686_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11703LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3686_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11703LU) -); -} - -/* MaxArrayLength - ns=0;i=11702 */ - -static UA_StatusCode function_namespace0_generated_3687_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxArrayLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11702LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxArrayLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3687_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11702LU) -); -} - -/* HistoryServerCapabilities - ns=0;i=11192 */ - -static UA_StatusCode function_namespace0_generated_3688_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryServerCapabilities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 2268LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryServerCapabilities"), -UA_NODEID_NUMERIC(ns[0], 2330LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3688_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11192LU) -); -} - -/* ServerTimestampSupported - ns=0;i=19091 */ - -static UA_StatusCode function_namespace0_generated_3689_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerTimestampSupported"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19091LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerTimestampSupported"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3689_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19091LU) -); -} - -/* DeleteEventCapability - ns=0;i=11502 */ - -static UA_StatusCode function_namespace0_generated_3690_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11502LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DeleteEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3690_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11502LU) -); -} - -/* UpdateEventCapability - ns=0;i=11283 */ - -static UA_StatusCode function_namespace0_generated_3691_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11283LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3691_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11283LU) -); -} - -/* ReplaceEventCapability - ns=0;i=11282 */ - -static UA_StatusCode function_namespace0_generated_3692_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11282LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReplaceEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3692_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11282LU) -); -} - -/* InsertEventCapability - ns=0;i=11281 */ - -static UA_StatusCode function_namespace0_generated_3693_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InsertEventCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11281LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InsertEventCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3693_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11281LU) -); -} - -/* InsertAnnotationCapability - ns=0;i=11275 */ - -static UA_StatusCode function_namespace0_generated_3694_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InsertAnnotationCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11275LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InsertAnnotationCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3694_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11275LU) -); -} - -/* MaxReturnEventValues - ns=0;i=11274 */ - -static UA_StatusCode function_namespace0_generated_3695_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnEventValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11274LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReturnEventValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3695_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11274LU) -); -} - -/* MaxReturnDataValues - ns=0;i=11273 */ - -static UA_StatusCode function_namespace0_generated_3696_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReturnDataValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11273LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReturnDataValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3696_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11273LU) -); -} - -/* AccessHistoryEventsCapability - ns=0;i=11242 */ - -static UA_StatusCode function_namespace0_generated_3697_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryEventsCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11242LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AccessHistoryEventsCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3697_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11242LU) -); -} - -/* AggregateFunctions - ns=0;i=11201 */ - -static UA_StatusCode function_namespace0_generated_3698_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11201LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3698_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11201LU) -); -} - -/* DeleteAtTimeCapability - ns=0;i=11200 */ - -static UA_StatusCode function_namespace0_generated_3699_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteAtTimeCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11200LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DeleteAtTimeCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3699_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11200LU) -); -} - -/* DeleteRawCapability - ns=0;i=11199 */ - -static UA_StatusCode function_namespace0_generated_3700_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteRawCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11199LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DeleteRawCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3700_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11199LU) -); -} - -/* UpdateDataCapability - ns=0;i=11198 */ - -static UA_StatusCode function_namespace0_generated_3701_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11198LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UpdateDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3701_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11198LU) -); -} - -/* ReplaceDataCapability - ns=0;i=11197 */ - -static UA_StatusCode function_namespace0_generated_3702_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ReplaceDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11197LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ReplaceDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3702_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11197LU) -); -} - -/* InsertDataCapability - ns=0;i=11196 */ - -static UA_StatusCode function_namespace0_generated_3703_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InsertDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11196LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InsertDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3703_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11196LU) -); -} - -/* AccessHistoryDataCapability - ns=0;i=11193 */ - -static UA_StatusCode function_namespace0_generated_3704_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AccessHistoryDataCapability"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11193LU), -UA_NODEID_NUMERIC(ns[0], 11192LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "AccessHistoryDataCapability"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3704_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11193LU) -); -} - -/* ServiceLevel - ns=0;i=2267 */ - -static UA_StatusCode function_namespace0_generated_3705_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2267LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3705_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2267LU) -); -} - -/* ServerStatus - ns=0;i=2256 */ - -static UA_StatusCode function_namespace0_generated_3706_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 862LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerStatus"), -UA_NODEID_NUMERIC(ns[0], 2138LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3706_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2256LU) -); -} - -/* ShutdownReason - ns=0;i=2993 */ - -static UA_StatusCode function_namespace0_generated_3707_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ShutdownReason"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2993LU), -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ShutdownReason"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3707_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2993LU) -); -} - -/* SecondsTillShutdown - ns=0;i=2992 */ - -static UA_StatusCode function_namespace0_generated_3708_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecondsTillShutdown"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2992LU), -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecondsTillShutdown"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3708_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2992LU) -); -} - -/* BuildInfo - ns=0;i=2260 */ - -static UA_StatusCode function_namespace0_generated_3709_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfo"), -UA_NODEID_NUMERIC(ns[0], 3051LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3709_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2260LU) -); -} - -/* BuildDate - ns=0;i=2266 */ - -static UA_StatusCode function_namespace0_generated_3710_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2266LU), -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildDate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3710_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2266LU) -); -} - -/* BuildNumber - ns=0;i=2265 */ - -static UA_StatusCode function_namespace0_generated_3711_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2265LU), -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3711_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2265LU) -); -} - -/* SoftwareVersion - ns=0;i=2264 */ - -static UA_StatusCode function_namespace0_generated_3712_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2264LU), -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3712_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2264LU) -); -} - -/* ManufacturerName - ns=0;i=2263 */ - -static UA_StatusCode function_namespace0_generated_3713_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2263LU), -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3713_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2263LU) -); -} - -/* ProductUri - ns=0;i=2262 */ - -static UA_StatusCode function_namespace0_generated_3714_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2262LU), -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3714_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2262LU) -); -} - -/* ProductName - ns=0;i=2261 */ - -static UA_StatusCode function_namespace0_generated_3715_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2261LU), -UA_NODEID_NUMERIC(ns[0], 2260LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3715_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2261LU) -); -} - -/* State - ns=0;i=2259 */ - -static UA_StatusCode function_namespace0_generated_3716_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2259LU), -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3716_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2259LU) -); -} - -/* CurrentTime - ns=0;i=2258 */ - -static UA_StatusCode function_namespace0_generated_3717_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2258LU), -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3717_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2258LU) -); -} - -/* StartTime - ns=0;i=2257 */ - -static UA_StatusCode function_namespace0_generated_3718_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2257LU), -UA_NODEID_NUMERIC(ns[0], 2256LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3718_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2257LU) -); -} - -/* NamespaceArray - ns=0;i=2255 */ - -static UA_StatusCode function_namespace0_generated_3719_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2255LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3719_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2255LU) -); -} - -/* ServerArray - ns=0;i=2254 */ - -static UA_StatusCode function_namespace0_generated_3720_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2254LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3720_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2254LU) -); -} - -/* LocalTime - ns=0;i=17634 */ - -static UA_StatusCode function_namespace0_generated_3721_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17634LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocalTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3721_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17634LU) -); -} - -/* Dictionaries - ns=0;i=17594 */ - -static UA_StatusCode function_namespace0_generated_3722_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Dictionaries"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17594LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Dictionaries"), -UA_NODEID_NUMERIC(ns[0], 17591LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3722_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17594LU) -); -} - -/* UrisVersion - ns=0;i=15004 */ - -static UA_StatusCode function_namespace0_generated_3723_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UrisVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15004LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UrisVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3723_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15004LU) -); -} - -/* PublishSubscribe - ns=0;i=14443 */ - -static UA_StatusCode function_namespace0_generated_3724_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishSubscribe"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishSubscribe"), -UA_NODEID_NUMERIC(ns[0], 14416LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3724_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14443LU) -); -} - -/* ConfigurationProperties - ns=0;i=32404 */ - -static UA_StatusCode function_namespace0_generated_3725_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14533LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationProperties"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32404LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationProperties"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3725_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32404LU) -); -} - -/* DefaultSecurityKeyServices - ns=0;i=32403 */ - -static UA_StatusCode function_namespace0_generated_3726_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 312LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultSecurityKeyServices"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32403LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultSecurityKeyServices"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3726_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32403LU) -); -} - -/* ConfigurationVersion - ns=0;i=25481 */ - -static UA_StatusCode function_namespace0_generated_3727_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25481LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3727_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25481LU) -); -} - -/* DefaultDatagramPublisherId - ns=0;i=25480 */ - -static UA_StatusCode function_namespace0_generated_3728_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultDatagramPublisherId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25480LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultDatagramPublisherId"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3728_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25480LU) -); -} - -/* PubSubConfiguration - ns=0;i=25451 */ - -static UA_StatusCode function_namespace0_generated_3729_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration"), -UA_NODEID_NUMERIC(ns[0], 25482LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3729_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25451LU) -); -} - -/* CloseAndUpdate - ns=0;i=25477 */ - -static UA_StatusCode function_namespace0_generated_3730_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25477LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3730_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25477LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25479 */ - -static UA_StatusCode function_namespace0_generated_3731_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25479_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_25479_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25479_variant_DataContents[0].name = UA_STRING("ChangesApplied"); -variablenode_ns_0_i_25479_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_25479_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25479_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25479_variant_DataContents[1].name = UA_STRING("ReferencesResults"); -variablenode_ns_0_i_25479_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 19LU); -variablenode_ns_0_i_25479_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25479_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_25479_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25479_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25479_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25479_variant_DataContents[2].name = UA_STRING("ConfigurationValues"); -variablenode_ns_0_i_25479_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25520LU); -variablenode_ns_0_i_25479_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25479_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25479_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25479_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25479_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25479_variant_DataContents[3].name = UA_STRING("ConfigurationObjects"); -variablenode_ns_0_i_25479_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25479_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25479_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_25479_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_25479_variant_DataContents3_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25479_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25479LU), -UA_NODEID_NUMERIC(ns[0], 25477LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3731_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25479LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25478 */ - -static UA_StatusCode function_namespace0_generated_3732_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25478_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25478_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25478_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25478_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25478_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25478_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25478_variant_DataContents[1].name = UA_STRING("RequireCompleteUpdate"); -variablenode_ns_0_i_25478_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_25478_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25478_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25478_variant_DataContents[2].name = UA_STRING("ConfigurationReferences"); -variablenode_ns_0_i_25478_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 25519LU); -variablenode_ns_0_i_25478_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25478_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25478_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25478_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25478_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25478LU), -UA_NODEID_NUMERIC(ns[0], 25477LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3732_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25478LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ReserveIds - ns=0;i=25474 */ - -static UA_StatusCode function_namespace0_generated_3733_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ReserveIds"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25474LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReserveIds"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3733_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25474LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25476 */ - -static UA_StatusCode function_namespace0_generated_3734_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25476_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25476_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25476_variant_DataContents[0].name = UA_STRING("DefaultPublisherId"); -variablenode_ns_0_i_25476_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 24LU); -variablenode_ns_0_i_25476_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25476_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25476_variant_DataContents[1].name = UA_STRING("WriterGroupIds"); -variablenode_ns_0_i_25476_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25476_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25476_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_25476_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_25476_variant_DataContents1_arrayDimensions; - -UA_init(&variablenode_ns_0_i_25476_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25476_variant_DataContents[2].name = UA_STRING("DataSetWriterIds"); -variablenode_ns_0_i_25476_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25476_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_25476_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_25476_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_25476_variant_DataContents2_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25476_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25476LU), -UA_NODEID_NUMERIC(ns[0], 25474LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3734_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25476LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25475 */ - -static UA_StatusCode function_namespace0_generated_3735_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25475_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_25475_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25475_variant_DataContents[0].name = UA_STRING("TransportProfileUri"); -variablenode_ns_0_i_25475_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25475_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25475_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25475_variant_DataContents[1].name = UA_STRING("NumReqWriterGroupIds"); -variablenode_ns_0_i_25475_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25475_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25475_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25475_variant_DataContents[2].name = UA_STRING("NumReqDataSetWriterIds"); -variablenode_ns_0_i_25475_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25475_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25475_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25475LU), -UA_NODEID_NUMERIC(ns[0], 25474LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3735_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25475LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetPosition - ns=0;i=25472 */ - -static UA_StatusCode function_namespace0_generated_3736_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25472LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3736_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25472LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25473 */ - -static UA_StatusCode function_namespace0_generated_3737_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25473_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25473_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25473_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25473_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25473_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25473_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25473_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_25473_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_25473_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25473_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25473LU), -UA_NODEID_NUMERIC(ns[0], 25472LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3737_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25473LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=25469 */ - -static UA_StatusCode function_namespace0_generated_3738_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25469LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3738_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25469LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25471 */ - -static UA_StatusCode function_namespace0_generated_3739_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25471_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25471_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25471_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_25471_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_25471_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25471_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25471LU), -UA_NODEID_NUMERIC(ns[0], 25469LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3739_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25471LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25470 */ - -static UA_StatusCode function_namespace0_generated_3740_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25470_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25470_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25470_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25470_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25470_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25470_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25470LU), -UA_NODEID_NUMERIC(ns[0], 25469LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3740_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25470LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=25467 */ - -static UA_StatusCode function_namespace0_generated_3741_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25467LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3741_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25467LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25468 */ - -static UA_StatusCode function_namespace0_generated_3742_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25468_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25468_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25468_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25468_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25468_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25468_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25468_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_25468_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_25468_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25468_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25468LU), -UA_NODEID_NUMERIC(ns[0], 25467LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3742_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25468LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=25464 */ - -static UA_StatusCode function_namespace0_generated_3743_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25464LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3743_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25464LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25466 */ - -static UA_StatusCode function_namespace0_generated_3744_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25466_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25466_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25466_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_25466_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_25466_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25466_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25466LU), -UA_NODEID_NUMERIC(ns[0], 25464LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3744_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25466LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25465 */ - -static UA_StatusCode function_namespace0_generated_3745_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25465_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_25465_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25465_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25465_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25465_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25465_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25465_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_25465_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_25465_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25465_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25465LU), -UA_NODEID_NUMERIC(ns[0], 25464LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3745_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25465LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=25462 */ - -static UA_StatusCode function_namespace0_generated_3746_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25462LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3746_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25462LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25463 */ - -static UA_StatusCode function_namespace0_generated_3747_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25463_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25463_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25463_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25463_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25463_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25463_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25463LU), -UA_NODEID_NUMERIC(ns[0], 25462LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3747_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25463LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=25459 */ - -static UA_StatusCode function_namespace0_generated_3748_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25459LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3748_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25459LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25461 */ - -static UA_StatusCode function_namespace0_generated_3749_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25461_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25461_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25461_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_25461_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_25461_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25461_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25461LU), -UA_NODEID_NUMERIC(ns[0], 25459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3749_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25461LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25460 */ - -static UA_StatusCode function_namespace0_generated_3750_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25460_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25460_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25460_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_25460_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_25460_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25460_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25460LU), -UA_NODEID_NUMERIC(ns[0], 25459LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3750_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25460LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=25455 */ - -static UA_StatusCode function_namespace0_generated_3751_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25455LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3751_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25455LU) -); -} - -/* UserWritable - ns=0;i=25454 */ - -static UA_StatusCode function_namespace0_generated_3752_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25454LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3752_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25454LU) -); -} - -/* Writable - ns=0;i=25453 */ - -static UA_StatusCode function_namespace0_generated_3753_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25453LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3753_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25453LU) -); -} - -/* Size - ns=0;i=25452 */ - -static UA_StatusCode function_namespace0_generated_3754_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25452LU), -UA_NODEID_NUMERIC(ns[0], 25451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3754_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25452LU) -); -} - -/* KeyPushTargets - ns=0;i=25440 */ - -static UA_StatusCode function_namespace0_generated_3755_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyPushTargets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25440LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "KeyPushTargets"), -UA_NODEID_NUMERIC(ns[0], 25346LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3755_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25440LU) -); -} - -/* RemovePushTarget - ns=0;i=25444 */ - -static UA_StatusCode function_namespace0_generated_3756_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemovePushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25444LU), -UA_NODEID_NUMERIC(ns[0], 25440LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemovePushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3756_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25444LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25445 */ - -static UA_StatusCode function_namespace0_generated_3757_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25445_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25445_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25445_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25445_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25445_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25445_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25445LU), -UA_NODEID_NUMERIC(ns[0], 25444LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3757_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25445LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddPushTarget - ns=0;i=25441 */ - -static UA_StatusCode function_namespace0_generated_3758_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddPushTarget"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25441LU), -UA_NODEID_NUMERIC(ns[0], 25440LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddPushTarget"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3758_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25441LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=25443 */ - -static UA_StatusCode function_namespace0_generated_3759_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25443_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_25443_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25443_variant_DataContents[0].name = UA_STRING("PushTargetId"); -variablenode_ns_0_i_25443_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_25443_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25443_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25443LU), -UA_NODEID_NUMERIC(ns[0], 25441LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3759_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25443LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=25442 */ - -static UA_StatusCode function_namespace0_generated_3760_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_25442_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_25442_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25442_variant_DataContents[0].name = UA_STRING("ApplicationUri"); -variablenode_ns_0_i_25442_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25442_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25442_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25442_variant_DataContents[1].name = UA_STRING("EndpointUrl"); -variablenode_ns_0_i_25442_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25442_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25442_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25442_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_25442_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_25442_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25442_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25442_variant_DataContents[3].name = UA_STRING("UserTokenType"); -variablenode_ns_0_i_25442_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 304LU); -variablenode_ns_0_i_25442_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25442_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25442_variant_DataContents[4].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_25442_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -variablenode_ns_0_i_25442_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_25442_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_25442_variant_DataContents[5].name = UA_STRING("RetryInterval"); -variablenode_ns_0_i_25442_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_25442_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_25442_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25442LU), -UA_NODEID_NUMERIC(ns[0], 25441LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3760_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25442LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DataSetClasses - ns=0;i=23685 */ - -static UA_StatusCode function_namespace0_generated_3761_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetClasses"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23685LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetClasses"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3761_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23685LU) -); -} - -/* PubSubCapablities - ns=0;i=23678 */ - -static UA_StatusCode function_namespace0_generated_3762_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubCapablities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubCapablities"), -UA_NODEID_NUMERIC(ns[0], 23832LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3762_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23678LU) -); -} - -/* MaxFieldsPerDataSet - ns=0;i=23684 */ - -static UA_StatusCode function_namespace0_generated_3763_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxFieldsPerDataSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23684LU), -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxFieldsPerDataSet"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3763_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23684LU) -); -} - -/* MaxDataSetReaders - ns=0;i=23683 */ - -static UA_StatusCode function_namespace0_generated_3764_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23683LU), -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3764_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23683LU) -); -} - -/* MaxDataSetWriters - ns=0;i=23682 */ - -static UA_StatusCode function_namespace0_generated_3765_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23682LU), -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3765_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23682LU) -); -} - -/* MaxReaderGroups - ns=0;i=23681 */ - -static UA_StatusCode function_namespace0_generated_3766_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxReaderGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23681LU), -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxReaderGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3766_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23681LU) -); -} - -/* MaxWriterGroups - ns=0;i=23680 */ - -static UA_StatusCode function_namespace0_generated_3767_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxWriterGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23680LU), -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxWriterGroups"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3767_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23680LU) -); -} - -/* MaxPubSubConnections - ns=0;i=23679 */ - -static UA_StatusCode function_namespace0_generated_3768_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxPubSubConnections"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23679LU), -UA_NODEID_NUMERIC(ns[0], 23678LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxPubSubConnections"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3768_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23679LU) -); -} - -/* SubscribedDataSets - ns=0;i=23658 */ - -static UA_StatusCode function_namespace0_generated_3769_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23658LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSets"), -UA_NODEID_NUMERIC(ns[0], 23795LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3769_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23658LU) -); -} - -/* SupportedTransportProfiles - ns=0;i=17481 */ - -static UA_StatusCode function_namespace0_generated_3770_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedTransportProfiles"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17481LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedTransportProfiles"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3770_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17481LU) -); -} - -/* Diagnostics - ns=0;i=17409 */ - -static UA_StatusCode function_namespace0_generated_3771_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Diagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Diagnostics"), -UA_NODEID_NUMERIC(ns[0], 19732LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3771_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17409LU) -); -} - -/* LiveValues - ns=0;i=17457 */ - -static UA_StatusCode function_namespace0_generated_3772_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "LiveValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17457LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiveValues"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3772_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17457LU) -); -} - -/* OperationalDataSetReaders - ns=0;i=17464 */ - -static UA_StatusCode function_namespace0_generated_3773_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17464LU), -UA_NODEID_NUMERIC(ns[0], 17457LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3773_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17464LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17466 */ - -static UA_StatusCode function_namespace0_generated_3774_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17466_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17466_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17466_variant_DataContents); -*variablenode_ns_0_i_17466_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17466_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17466LU), -UA_NODEID_NUMERIC(ns[0], 17464LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17466_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3774_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17466LU) -); -} - -/* OperationalDataSetWriters - ns=0;i=17462 */ - -static UA_StatusCode function_namespace0_generated_3775_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OperationalDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17462LU), -UA_NODEID_NUMERIC(ns[0], 17457LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OperationalDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3775_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17462LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17463 */ - -static UA_StatusCode function_namespace0_generated_3776_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17463_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17463_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17463_variant_DataContents); -*variablenode_ns_0_i_17463_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17463_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17463LU), -UA_NODEID_NUMERIC(ns[0], 17462LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17463_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3776_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17463LU) -); -} - -/* ConfiguredDataSetReaders - ns=0;i=17460 */ - -static UA_StatusCode function_namespace0_generated_3777_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetReaders"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17460LU), -UA_NODEID_NUMERIC(ns[0], 17457LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetReaders"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3777_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17460LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17461 */ - -static UA_StatusCode function_namespace0_generated_3778_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17461_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17461_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17461_variant_DataContents); -*variablenode_ns_0_i_17461_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17461_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17461LU), -UA_NODEID_NUMERIC(ns[0], 17460LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17461_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3778_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17461LU) -); -} - -/* ConfiguredDataSetWriters - ns=0;i=17458 */ - -static UA_StatusCode function_namespace0_generated_3779_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfiguredDataSetWriters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17458LU), -UA_NODEID_NUMERIC(ns[0], 17457LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfiguredDataSetWriters"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3779_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17458LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17459 */ - -static UA_StatusCode function_namespace0_generated_3780_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17459_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17459_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17459_variant_DataContents); -*variablenode_ns_0_i_17459_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17459_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17459LU), -UA_NODEID_NUMERIC(ns[0], 17458LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17459_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3780_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17459LU) -); -} - -/* Counters - ns=0;i=17423 */ - -static UA_StatusCode function_namespace0_generated_3781_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Counters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Counters"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3781_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17423LU) -); -} - -/* StateDisabledByMethod - ns=0;i=17451 */ - -static UA_StatusCode function_namespace0_generated_3782_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateDisabledByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17451LU), -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateDisabledByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3782_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17451LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17454 */ - -static UA_StatusCode function_namespace0_generated_3783_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17454_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17454_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17454_variant_DataContents); -*variablenode_ns_0_i_17454_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17454_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17454LU), -UA_NODEID_NUMERIC(ns[0], 17451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17454_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3783_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17454LU) -); -} - -/* Classification - ns=0;i=17453 */ - -static UA_StatusCode function_namespace0_generated_3784_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17453_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17453_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17453_variant_DataContents); -*variablenode_ns_0_i_17453_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17453_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17453LU), -UA_NODEID_NUMERIC(ns[0], 17451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17453_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3784_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17453LU) -); -} - -/* Active - ns=0;i=17452 */ - -static UA_StatusCode function_namespace0_generated_3785_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17452LU), -UA_NODEID_NUMERIC(ns[0], 17451LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3785_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17452LU) -); -} - -/* StatePausedByParent - ns=0;i=17446 */ - -static UA_StatusCode function_namespace0_generated_3786_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StatePausedByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17446LU), -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatePausedByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3786_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17446LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17449 */ - -static UA_StatusCode function_namespace0_generated_3787_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17449_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17449_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17449_variant_DataContents); -*variablenode_ns_0_i_17449_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17449_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17449LU), -UA_NODEID_NUMERIC(ns[0], 17446LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17449_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3787_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17449LU) -); -} - -/* Classification - ns=0;i=17448 */ - -static UA_StatusCode function_namespace0_generated_3788_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17448_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17448_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17448_variant_DataContents); -*variablenode_ns_0_i_17448_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17448_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17448LU), -UA_NODEID_NUMERIC(ns[0], 17446LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17448_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3788_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17448LU) -); -} - -/* Active - ns=0;i=17447 */ - -static UA_StatusCode function_namespace0_generated_3789_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17447LU), -UA_NODEID_NUMERIC(ns[0], 17446LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3789_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17447LU) -); -} - -/* StateOperationalFromError - ns=0;i=17441 */ - -static UA_StatusCode function_namespace0_generated_3790_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalFromError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17441LU), -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalFromError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3790_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17441LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17444 */ - -static UA_StatusCode function_namespace0_generated_3791_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17444_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17444_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17444_variant_DataContents); -*variablenode_ns_0_i_17444_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17444_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17444LU), -UA_NODEID_NUMERIC(ns[0], 17441LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17444_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3791_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17444LU) -); -} - -/* Classification - ns=0;i=17443 */ - -static UA_StatusCode function_namespace0_generated_3792_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17443_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17443_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17443_variant_DataContents); -*variablenode_ns_0_i_17443_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17443_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17443LU), -UA_NODEID_NUMERIC(ns[0], 17441LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17443_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3792_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17443LU) -); -} - -/* Active - ns=0;i=17442 */ - -static UA_StatusCode function_namespace0_generated_3793_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17442LU), -UA_NODEID_NUMERIC(ns[0], 17441LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3793_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17442LU) -); -} - -/* StateOperationalByParent - ns=0;i=17436 */ - -static UA_StatusCode function_namespace0_generated_3794_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByParent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17436LU), -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByParent"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3794_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17436LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17439 */ - -static UA_StatusCode function_namespace0_generated_3795_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17439_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17439_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17439_variant_DataContents); -*variablenode_ns_0_i_17439_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17439_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17439LU), -UA_NODEID_NUMERIC(ns[0], 17436LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17439_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3795_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17439LU) -); -} - -/* Classification - ns=0;i=17438 */ - -static UA_StatusCode function_namespace0_generated_3796_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17438_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17438_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17438_variant_DataContents); -*variablenode_ns_0_i_17438_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17438_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17438LU), -UA_NODEID_NUMERIC(ns[0], 17436LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17438_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3796_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17438LU) -); -} - -/* Active - ns=0;i=17437 */ - -static UA_StatusCode function_namespace0_generated_3797_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17437LU), -UA_NODEID_NUMERIC(ns[0], 17436LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3797_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17437LU) -); -} - -/* StateOperationalByMethod - ns=0;i=17431 */ - -static UA_StatusCode function_namespace0_generated_3798_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateOperationalByMethod"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17431LU), -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateOperationalByMethod"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3798_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17431LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17434 */ - -static UA_StatusCode function_namespace0_generated_3799_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17434_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17434_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17434_variant_DataContents); -*variablenode_ns_0_i_17434_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17434_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17434LU), -UA_NODEID_NUMERIC(ns[0], 17431LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17434_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3799_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17434LU) -); -} - -/* Classification - ns=0;i=17433 */ - -static UA_StatusCode function_namespace0_generated_3800_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17433_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17433_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17433_variant_DataContents); -*variablenode_ns_0_i_17433_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17433_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17433LU), -UA_NODEID_NUMERIC(ns[0], 17431LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17433_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3800_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17433LU) -); -} - -/* Active - ns=0;i=17432 */ - -static UA_StatusCode function_namespace0_generated_3801_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17432LU), -UA_NODEID_NUMERIC(ns[0], 17431LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3801_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17432LU) -); -} - -/* StateError - ns=0;i=17424 */ - -static UA_StatusCode function_namespace0_generated_3802_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StateError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17424LU), -UA_NODEID_NUMERIC(ns[0], 17423LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StateError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3802_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17424LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17429 */ - -static UA_StatusCode function_namespace0_generated_3803_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -UA_Int32 *variablenode_ns_0_i_17429_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17429_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17429_variant_DataContents); -*variablenode_ns_0_i_17429_variant_DataContents = (UA_Int32) 0; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17429_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17429LU), -UA_NODEID_NUMERIC(ns[0], 17424LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17429_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3803_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17429LU) -); -} - -/* Classification - ns=0;i=17426 */ - -static UA_StatusCode function_namespace0_generated_3804_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -UA_Int32 *variablenode_ns_0_i_17426_variant_DataContents = UA_Int32_new(); -if (!variablenode_ns_0_i_17426_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Int32_init(variablenode_ns_0_i_17426_variant_DataContents); -*variablenode_ns_0_i_17426_variant_DataContents = (UA_Int32) 1; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17426_variant_DataContents, &UA_TYPES[UA_TYPES_INT32]); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17426LU), -UA_NODEID_NUMERIC(ns[0], 17424LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Int32_delete(variablenode_ns_0_i_17426_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3804_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17426LU) -); -} - -/* Active - ns=0;i=17425 */ - -static UA_StatusCode function_namespace0_generated_3805_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17425LU), -UA_NODEID_NUMERIC(ns[0], 17424LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3805_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17425LU) -); -} - -/* SubError - ns=0;i=17422 */ - -static UA_StatusCode function_namespace0_generated_3806_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17422LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubError"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3806_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17422LU) -); -} - -/* Reset - ns=0;i=17421 */ - -static UA_StatusCode function_namespace0_generated_3807_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Reset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17421LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Reset"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3807_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17421LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* TotalError - ns=0;i=17416 */ - -static UA_StatusCode function_namespace0_generated_3808_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalError"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17416LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalError"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3808_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17416LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17419 */ - -static UA_StatusCode function_namespace0_generated_3809_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17419LU), -UA_NODEID_NUMERIC(ns[0], 17416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3809_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17419LU) -); -} - -/* Classification - ns=0;i=17418 */ - -static UA_StatusCode function_namespace0_generated_3810_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17418LU), -UA_NODEID_NUMERIC(ns[0], 17416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3810_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17418LU) -); -} - -/* Active - ns=0;i=17417 */ - -static UA_StatusCode function_namespace0_generated_3811_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17417LU), -UA_NODEID_NUMERIC(ns[0], 17416LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3811_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17417LU) -); -} - -/* TotalInformation - ns=0;i=17411 */ - -static UA_StatusCode function_namespace0_generated_3812_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "TotalInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17411LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TotalInformation"), -UA_NODEID_NUMERIC(ns[0], 19725LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3812_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17411LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17414 */ - -static UA_StatusCode function_namespace0_generated_3813_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17414LU), -UA_NODEID_NUMERIC(ns[0], 17411LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3813_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17414LU) -); -} - -/* Classification - ns=0;i=17413 */ - -static UA_StatusCode function_namespace0_generated_3814_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19730LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Classification"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17413LU), -UA_NODEID_NUMERIC(ns[0], 17411LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Classification"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3814_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17413LU) -); -} - -/* Active - ns=0;i=17412 */ - -static UA_StatusCode function_namespace0_generated_3815_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Active"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17412LU), -UA_NODEID_NUMERIC(ns[0], 17411LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Active"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3815_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17412LU) -); -} - -/* DiagnosticsLevel - ns=0;i=17410 */ - -static UA_StatusCode function_namespace0_generated_3816_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 19723LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DiagnosticsLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17410LU), -UA_NODEID_NUMERIC(ns[0], 17409LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiagnosticsLevel"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3816_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17410LU) -); -} - -/* Status - ns=0;i=17405 */ - -static UA_StatusCode function_namespace0_generated_3817_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Status"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17405LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Status"), -UA_NODEID_NUMERIC(ns[0], 14643LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3817_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17405LU) -); -} - -/* State - ns=0;i=17406 */ - -static UA_StatusCode function_namespace0_generated_3818_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 14647LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17406LU), -UA_NODEID_NUMERIC(ns[0], 17405LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3818_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17406LU) -); -} - -/* PublishedDataSets - ns=0;i=17371 */ - -static UA_StatusCode function_namespace0_generated_3819_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSets"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17371LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSets"), -UA_NODEID_NUMERIC(ns[0], 14477LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3819_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17371LU) -); -} - -/* RemoveConnection - ns=0;i=17369 */ - -static UA_StatusCode function_namespace0_generated_3820_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17369LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3820_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17369LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17370 */ - -static UA_StatusCode function_namespace0_generated_3821_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17370_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17370_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17370_variant_DataContents[0].name = UA_STRING("ConnectionId"); -variablenode_ns_0_i_17370_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17370_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17370_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17370LU), -UA_NODEID_NUMERIC(ns[0], 17369LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3821_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17370LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddConnection - ns=0;i=17366 */ - -static UA_StatusCode function_namespace0_generated_3822_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddConnection"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17366LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddConnection"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3822_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17366LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=17368 */ - -static UA_StatusCode function_namespace0_generated_3823_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17368_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17368_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17368_variant_DataContents[0].name = UA_STRING("ConnectionId"); -variablenode_ns_0_i_17368_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_17368_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17368_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17368LU), -UA_NODEID_NUMERIC(ns[0], 17366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3823_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17368LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17367 */ - -static UA_StatusCode function_namespace0_generated_3824_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17367_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_17367_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17367_variant_DataContents[0].name = UA_STRING("Configuration"); -variablenode_ns_0_i_17367_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15617LU); -variablenode_ns_0_i_17367_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17367_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17367LU), -UA_NODEID_NUMERIC(ns[0], 17366LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3824_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17367LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetSecurityKeys - ns=0;i=17364 */ - -static UA_StatusCode function_namespace0_generated_3825_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetSecurityKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 17364LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetSecurityKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3825_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17364LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=17365 */ - -static UA_StatusCode function_namespace0_generated_3826_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_17365_variant_DataContents[7]; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_17365_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17365_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[1].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_17365_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_17365_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[2].name = UA_STRING("CurrentTokenId"); -variablenode_ns_0_i_17365_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_17365_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[3].name = UA_STRING("CurrentKey"); -variablenode_ns_0_i_17365_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_17365_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[4].name = UA_STRING("FutureKeys"); -variablenode_ns_0_i_17365_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_17365_variant_DataContents[4].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_17365_variant_DataContents[4].arrayDimensionsSize = 1; -variablenode_ns_0_i_17365_variant_DataContents[4].arrayDimensions = variablenode_ns_0_i_17365_variant_DataContents4_arrayDimensions; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[5].name = UA_STRING("TimeToNextKey"); -variablenode_ns_0_i_17365_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_17365_variant_DataContents[5].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_17365_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_17365_variant_DataContents[6].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_17365_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_17365_variant_DataContents[6].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_17365_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17365LU), -UA_NODEID_NUMERIC(ns[0], 17364LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3826_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17365LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SecurityGroups - ns=0;i=15443 */ - -static UA_StatusCode function_namespace0_generated_3827_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15443LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroups"), -UA_NODEID_NUMERIC(ns[0], 15452LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3827_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15443LU) -); -} - -/* RemoveSecurityGroup - ns=0;i=15447 */ - -static UA_StatusCode function_namespace0_generated_3828_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15447LU), -UA_NODEID_NUMERIC(ns[0], 15443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3828_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15447LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15448 */ - -static UA_StatusCode function_namespace0_generated_3829_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15448_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15448_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15448_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15448_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15448_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15448_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15448LU), -UA_NODEID_NUMERIC(ns[0], 15447LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3829_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15448LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddSecurityGroup - ns=0;i=15444 */ - -static UA_StatusCode function_namespace0_generated_3830_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15444LU), -UA_NODEID_NUMERIC(ns[0], 15443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3830_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15444LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15446 */ - -static UA_StatusCode function_namespace0_generated_3831_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15446_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_15446_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15446_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15446_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15446_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15446_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15446_variant_DataContents[1].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15446_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15446_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15446_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15446LU), -UA_NODEID_NUMERIC(ns[0], 15444LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3831_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15446LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15445 */ - -static UA_StatusCode function_namespace0_generated_3832_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15445_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_15445_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15445_variant_DataContents[0].name = UA_STRING("SecurityGroupName"); -variablenode_ns_0_i_15445_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15445_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15445_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15445_variant_DataContents[1].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_15445_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15445_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15445_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15445_variant_DataContents[2].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_15445_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15445_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15445_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15445_variant_DataContents[3].name = UA_STRING("MaxFutureKeyCount"); -variablenode_ns_0_i_15445_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15445_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15445_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15445_variant_DataContents[4].name = UA_STRING("MaxPastKeyCount"); -variablenode_ns_0_i_15445_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15445_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15445_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15445LU), -UA_NODEID_NUMERIC(ns[0], 15444LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3832_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15445LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetSecurityGroup - ns=0;i=15440 */ - -static UA_StatusCode function_namespace0_generated_3833_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15440LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetSecurityGroup"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3833_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15440LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15442 */ - -static UA_StatusCode function_namespace0_generated_3834_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15442_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15442_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15442_variant_DataContents[0].name = UA_STRING("SecurityGroupNodeId"); -variablenode_ns_0_i_15442_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_15442_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15442_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15442LU), -UA_NODEID_NUMERIC(ns[0], 15440LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3834_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15442LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15441 */ - -static UA_StatusCode function_namespace0_generated_3835_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15441_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_15441_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15441_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15441_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15441_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15441_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15441LU), -UA_NODEID_NUMERIC(ns[0], 15440LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3835_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15441LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetSecurityKeys - ns=0;i=15215 */ - -static UA_StatusCode function_namespace0_generated_3836_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetSecurityKeys"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 15215LU), -UA_NODEID_NUMERIC(ns[0], 14443LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetSecurityKeys"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3836_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15215LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=15217 */ - -static UA_StatusCode function_namespace0_generated_3837_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15217_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_15217_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15217_variant_DataContents[0].name = UA_STRING("SecurityPolicyUri"); -variablenode_ns_0_i_15217_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15217_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15217_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15217_variant_DataContents[1].name = UA_STRING("FirstTokenId"); -variablenode_ns_0_i_15217_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_15217_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15217_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15217_variant_DataContents[2].name = UA_STRING("Keys"); -variablenode_ns_0_i_15217_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_15217_variant_DataContents[2].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_15217_variant_DataContents[2].arrayDimensionsSize = 1; -variablenode_ns_0_i_15217_variant_DataContents[2].arrayDimensions = variablenode_ns_0_i_15217_variant_DataContents2_arrayDimensions; - -UA_init(&variablenode_ns_0_i_15217_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15217_variant_DataContents[3].name = UA_STRING("TimeToNextKey"); -variablenode_ns_0_i_15217_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15217_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15217_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15217_variant_DataContents[4].name = UA_STRING("KeyLifetime"); -variablenode_ns_0_i_15217_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -variablenode_ns_0_i_15217_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15217_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15217LU), -UA_NODEID_NUMERIC(ns[0], 15215LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3837_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15217LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=15216 */ - -static UA_StatusCode function_namespace0_generated_3838_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 3; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_15216_variant_DataContents[3]; - -UA_init(&variablenode_ns_0_i_15216_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15216_variant_DataContents[0].name = UA_STRING("SecurityGroupId"); -variablenode_ns_0_i_15216_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_15216_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15216_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15216_variant_DataContents[1].name = UA_STRING("StartingTokenId"); -variablenode_ns_0_i_15216_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 288LU); -variablenode_ns_0_i_15216_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_15216_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_15216_variant_DataContents[2].name = UA_STRING("RequestedKeyCount"); -variablenode_ns_0_i_15216_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_15216_variant_DataContents[2].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15216_variant_DataContents, (UA_Int32) 3, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15216LU), -UA_NODEID_NUMERIC(ns[0], 15215LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3838_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15216LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RequestServerStateChange - ns=0;i=12886 */ - -static UA_StatusCode function_namespace0_generated_3839_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RequestServerStateChange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12886LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RequestServerStateChange"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3839_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12886LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12887 */ - -static UA_StatusCode function_namespace0_generated_3840_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12887_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_12887_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12887_variant_DataContents[0].name = UA_STRING("State"); -variablenode_ns_0_i_12887_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 852LU); -variablenode_ns_0_i_12887_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12887_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12887_variant_DataContents[1].name = UA_STRING("EstimatedReturnTime"); -variablenode_ns_0_i_12887_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -variablenode_ns_0_i_12887_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12887_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12887_variant_DataContents[2].name = UA_STRING("SecondsTillShutdown"); -variablenode_ns_0_i_12887_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12887_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12887_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12887_variant_DataContents[3].name = UA_STRING("Reason"); -variablenode_ns_0_i_12887_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_12887_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12887_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12887_variant_DataContents[4].name = UA_STRING("Restart"); -variablenode_ns_0_i_12887_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12887_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12887_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12887LU), -UA_NODEID_NUMERIC(ns[0], 12886LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3840_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12887LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EstimatedReturnTime - ns=0;i=12885 */ - -static UA_StatusCode function_namespace0_generated_3841_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EstimatedReturnTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12885LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EstimatedReturnTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3841_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12885LU) -); -} - -/* ResendData - ns=0;i=12873 */ - -static UA_StatusCode function_namespace0_generated_3842_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ResendData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12873LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ResendData"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3842_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12873LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12874 */ - -static UA_StatusCode function_namespace0_generated_3843_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12874_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12874_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12874_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_12874_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12874_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12874_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12874LU), -UA_NODEID_NUMERIC(ns[0], 12873LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3843_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12874LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetSubscriptionDurable - ns=0;i=12749 */ - -static UA_StatusCode function_namespace0_generated_3844_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetSubscriptionDurable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12749LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetSubscriptionDurable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3844_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12749LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12751 */ - -static UA_StatusCode function_namespace0_generated_3845_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12751_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12751_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12751_variant_DataContents[0].name = UA_STRING("RevisedLifetimeInHours"); -variablenode_ns_0_i_12751_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12751_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12751_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12751LU), -UA_NODEID_NUMERIC(ns[0], 12749LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3845_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12751LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12750 */ - -static UA_StatusCode function_namespace0_generated_3846_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12750_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12750_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12750_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_12750_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12750_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12750_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12750_variant_DataContents[1].name = UA_STRING("LifetimeInHours"); -variablenode_ns_0_i_12750_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12750_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12750_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12750LU), -UA_NODEID_NUMERIC(ns[0], 12749LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3846_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12750LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ServerConfiguration - ns=0;i=12637 */ - -static UA_StatusCode function_namespace0_generated_3847_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerConfiguration"), -UA_NODEID_NUMERIC(ns[0], 12581LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3847_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12637LU) -); -} - -/* ProductUri - ns=0;i=25725 */ - -static UA_StatusCode function_namespace0_generated_3848_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25725LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3848_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25725LU) -); -} - -/* SetAdminPassword - ns=0;i=25710 */ - -static UA_StatusCode function_namespace0_generated_3849_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetAdminPassword"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25710LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetAdminPassword"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3849_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25710LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ResetToServerDefaults - ns=0;i=25709 */ - -static UA_StatusCode function_namespace0_generated_3850_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ResetToServerDefaults"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25709LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ResetToServerDefaults"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3850_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25709LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CancelChanges - ns=0;i=25708 */ - -static UA_StatusCode function_namespace0_generated_3851_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CancelChanges"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 25708LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CancelChanges"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3851_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25708LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ApplicationType - ns=0;i=25707 */ - -static UA_StatusCode function_namespace0_generated_3852_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 307LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25707LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationType"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3852_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25707LU) -); -} - -/* ApplicationUri - ns=0;i=25706 */ - -static UA_StatusCode function_namespace0_generated_3853_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 23751LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25706LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3853_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25706LU) -); -} - -/* UserManagement - ns=0;i=24290 */ - -static UA_StatusCode function_namespace0_generated_3854_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "UserManagement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserManagement"), -UA_NODEID_NUMERIC(ns[0], 24264LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3854_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24290LU) -); -} - -/* ChangePassword - ns=0;i=24310 */ - -static UA_StatusCode function_namespace0_generated_3855_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ChangePassword"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24310LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ChangePassword"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3855_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24310LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24311 */ - -static UA_StatusCode function_namespace0_generated_3856_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24311_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_24311_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24311_variant_DataContents[0].name = UA_STRING("OldPassword"); -variablenode_ns_0_i_24311_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24311_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24311_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24311_variant_DataContents[1].name = UA_STRING("NewPassword"); -variablenode_ns_0_i_24311_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24311_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24311_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24311LU), -UA_NODEID_NUMERIC(ns[0], 24310LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3856_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24311LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* RemoveUser - ns=0;i=24308 */ - -static UA_StatusCode function_namespace0_generated_3857_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveUser"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24308LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveUser"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3857_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24308LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24309 */ - -static UA_StatusCode function_namespace0_generated_3858_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24309_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_24309_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24309_variant_DataContents[0].name = UA_STRING("UserName"); -variablenode_ns_0_i_24309_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24309_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24309_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24309LU), -UA_NODEID_NUMERIC(ns[0], 24308LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3858_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24309LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ModifyUser - ns=0;i=24306 */ - -static UA_StatusCode function_namespace0_generated_3859_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ModifyUser"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24306LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModifyUser"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3859_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24306LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24307 */ - -static UA_StatusCode function_namespace0_generated_3860_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 7; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24307_variant_DataContents[7]; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[0].name = UA_STRING("UserName"); -variablenode_ns_0_i_24307_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24307_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[1].name = UA_STRING("ModifyPassword"); -variablenode_ns_0_i_24307_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_24307_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[2].name = UA_STRING("Password"); -variablenode_ns_0_i_24307_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24307_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[3].name = UA_STRING("ModifyUserConfiguration"); -variablenode_ns_0_i_24307_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_24307_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[4].name = UA_STRING("UserConfiguration"); -variablenode_ns_0_i_24307_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); -variablenode_ns_0_i_24307_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[5].name = UA_STRING("ModifyDescription"); -variablenode_ns_0_i_24307_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_24307_variant_DataContents[5].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24307_variant_DataContents[6], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24307_variant_DataContents[6].name = UA_STRING("Description"); -variablenode_ns_0_i_24307_variant_DataContents[6].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24307_variant_DataContents[6].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24307_variant_DataContents, (UA_Int32) 7, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24307LU), -UA_NODEID_NUMERIC(ns[0], 24306LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3860_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24307LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddUser - ns=0;i=24304 */ - -static UA_StatusCode function_namespace0_generated_3861_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddUser"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 24304LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddUser"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3861_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24304LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=24305 */ - -static UA_StatusCode function_namespace0_generated_3862_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 4; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_24305_variant_DataContents[4]; - -UA_init(&variablenode_ns_0_i_24305_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24305_variant_DataContents[0].name = UA_STRING("UserName"); -variablenode_ns_0_i_24305_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24305_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24305_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24305_variant_DataContents[1].name = UA_STRING("Password"); -variablenode_ns_0_i_24305_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24305_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24305_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24305_variant_DataContents[2].name = UA_STRING("UserConfiguration"); -variablenode_ns_0_i_24305_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 24279LU); -variablenode_ns_0_i_24305_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_24305_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_24305_variant_DataContents[3].name = UA_STRING("Description"); -variablenode_ns_0_i_24305_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_24305_variant_DataContents[3].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_24305_variant_DataContents, (UA_Int32) 4, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24305LU), -UA_NODEID_NUMERIC(ns[0], 24304LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3862_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24305LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* PasswordOptions - ns=0;i=24303 */ - -static UA_StatusCode function_namespace0_generated_3863_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24277LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordOptions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24303LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PasswordOptions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3863_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24303LU) -); -} - -/* PasswordLength - ns=0;i=24302 */ - -static UA_StatusCode function_namespace0_generated_3864_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 884LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24302LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PasswordLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3864_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24302LU) -); -} - -/* Users - ns=0;i=24301 */ - -static UA_StatusCode function_namespace0_generated_3865_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 24281LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Users"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24301LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Users"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3865_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24301LU) -); -} - -/* PasswordRestrictions - ns=0;i=24291 */ - -static UA_StatusCode function_namespace0_generated_3866_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PasswordRestrictions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24291LU), -UA_NODEID_NUMERIC(ns[0], 24290LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "PasswordRestrictions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3866_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24291LU) -); -} - -/* HasSecureElement - ns=0;i=23597 */ - -static UA_StatusCode function_namespace0_generated_3867_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "HasSecureElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23597LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "HasSecureElement"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3867_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23597LU) -); -} - -/* KeyCredentialConfiguration - ns=0;i=18155 */ - -static UA_StatusCode function_namespace0_generated_3868_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "KeyCredentialConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18155LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "KeyCredentialConfiguration"), -UA_NODEID_NUMERIC(ns[0], 17496LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3868_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18155LU) -); -} - -/* AuthorizationServices - ns=0;i=17732 */ - -static UA_StatusCode function_namespace0_generated_3869_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AuthorizationServices"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17732LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AuthorizationServices"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3869_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17732LU) -); -} - -/* CertificateGroups - ns=0;i=14053 */ - -static UA_StatusCode function_namespace0_generated_3870_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateGroups"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14053LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CertificateGroups"), -UA_NODEID_NUMERIC(ns[0], 13813LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3870_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14053LU) -); -} - -/* DefaultApplicationGroup - ns=0;i=14156 */ - -static UA_StatusCode function_namespace0_generated_3871_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultApplicationGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14156LU), -UA_NODEID_NUMERIC(ns[0], 14053LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultApplicationGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14156LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13225LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3871_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14156LU) -); -} - -/* CertificateTypes - ns=0;i=14161 */ - -static UA_StatusCode function_namespace0_generated_3872_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14161LU), -UA_NODEID_NUMERIC(ns[0], 14156LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3872_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14161LU) -); -} - -/* TrustList - ns=0;i=12642 */ - -static UA_StatusCode function_namespace0_generated_3873_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 14156LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3873_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12642LU) -); -} - -/* UserWritable - ns=0;i=14158 */ - -static UA_StatusCode function_namespace0_generated_3874_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14158LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3874_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14158LU) -); -} - -/* Writable - ns=0;i=14157 */ - -static UA_StatusCode function_namespace0_generated_3875_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14157LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3875_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14157LU) -); -} - -/* RemoveCertificate - ns=0;i=12670 */ - -static UA_StatusCode function_namespace0_generated_3876_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12670LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3876_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12670LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12671 */ - -static UA_StatusCode function_namespace0_generated_3877_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12671_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12671_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12671_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_12671_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_12671_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12671_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12671_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_12671_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12671_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12671_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12671LU), -UA_NODEID_NUMERIC(ns[0], 12670LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3877_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12671LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=12668 */ - -static UA_StatusCode function_namespace0_generated_3878_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12668LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3878_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12668LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12669 */ - -static UA_StatusCode function_namespace0_generated_3879_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12669_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12669_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12669_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_12669_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12669_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12669_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12669_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_12669_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12669_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12669_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12669LU), -UA_NODEID_NUMERIC(ns[0], 12668LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3879_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12669LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=12666 */ - -static UA_StatusCode function_namespace0_generated_3880_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12666LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3880_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12666LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14160 */ - -static UA_StatusCode function_namespace0_generated_3881_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14160_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14160_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14160_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14160_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14160_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14160_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14160LU), -UA_NODEID_NUMERIC(ns[0], 12666LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3881_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14160LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12667 */ - -static UA_StatusCode function_namespace0_generated_3882_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12667_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12667_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12667_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_12667_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12667_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12667_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12667LU), -UA_NODEID_NUMERIC(ns[0], 12666LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3882_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12667LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=12663 */ - -static UA_StatusCode function_namespace0_generated_3883_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12663LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3883_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12663LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12665 */ - -static UA_StatusCode function_namespace0_generated_3884_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12665_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12665_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12665_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12665_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12665_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12665_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12665LU), -UA_NODEID_NUMERIC(ns[0], 12663LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3884_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12665LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12664 */ - -static UA_StatusCode function_namespace0_generated_3885_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12664_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12664_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12664_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_12664_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12664_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12664_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12664LU), -UA_NODEID_NUMERIC(ns[0], 12663LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3885_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12664LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=12662 */ - -static UA_StatusCode function_namespace0_generated_3886_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12662LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3886_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12662LU) -); -} - -/* SetPosition - ns=0;i=12660 */ - -static UA_StatusCode function_namespace0_generated_3887_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12660LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3887_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12660LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12661 */ - -static UA_StatusCode function_namespace0_generated_3888_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12661_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12661_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12661_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12661_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12661_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12661_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12661_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_12661_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_12661_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12661_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12661LU), -UA_NODEID_NUMERIC(ns[0], 12660LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3888_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12661LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=12657 */ - -static UA_StatusCode function_namespace0_generated_3889_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12657LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3889_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12657LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12659 */ - -static UA_StatusCode function_namespace0_generated_3890_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12659_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12659_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12659_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_12659_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_12659_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12659_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12659LU), -UA_NODEID_NUMERIC(ns[0], 12657LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3890_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12659LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12658 */ - -static UA_StatusCode function_namespace0_generated_3891_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12658_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12658_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12658_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12658_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12658_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12658_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12658LU), -UA_NODEID_NUMERIC(ns[0], 12657LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3891_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12658LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=12655 */ - -static UA_StatusCode function_namespace0_generated_3892_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12655LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3892_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12655LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12656 */ - -static UA_StatusCode function_namespace0_generated_3893_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12656_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12656_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12656_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12656_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12656_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12656_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12656_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_12656_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12656_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12656_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12656LU), -UA_NODEID_NUMERIC(ns[0], 12655LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3893_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12656LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=12652 */ - -static UA_StatusCode function_namespace0_generated_3894_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12652LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3894_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12652LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12654 */ - -static UA_StatusCode function_namespace0_generated_3895_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12654_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12654_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12654_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_12654_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12654_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12654_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12654LU), -UA_NODEID_NUMERIC(ns[0], 12652LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3895_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12654LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12653 */ - -static UA_StatusCode function_namespace0_generated_3896_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12653_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12653_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12653_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12653_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12653_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12653_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12653_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_12653_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_12653_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12653_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12653LU), -UA_NODEID_NUMERIC(ns[0], 12652LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3896_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12653LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=12650 */ - -static UA_StatusCode function_namespace0_generated_3897_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12650LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3897_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12650LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12651 */ - -static UA_StatusCode function_namespace0_generated_3898_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12651_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12651_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12651_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12651_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12651_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12651_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12651LU), -UA_NODEID_NUMERIC(ns[0], 12650LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3898_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12651LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=12647 */ - -static UA_StatusCode function_namespace0_generated_3899_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12647LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3899_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12647LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12649 */ - -static UA_StatusCode function_namespace0_generated_3900_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12649_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12649_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12649_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_12649_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12649_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12649_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12649LU), -UA_NODEID_NUMERIC(ns[0], 12647LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3900_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12649LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12648 */ - -static UA_StatusCode function_namespace0_generated_3901_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12648_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12648_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12648_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_12648_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_12648_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12648_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12648LU), -UA_NODEID_NUMERIC(ns[0], 12647LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3901_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12648LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=12646 */ - -static UA_StatusCode function_namespace0_generated_3902_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12646LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3902_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12646LU) -); -} - -/* Size - ns=0;i=12643 */ - -static UA_StatusCode function_namespace0_generated_3903_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12643LU), -UA_NODEID_NUMERIC(ns[0], 12642LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3903_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12643LU) -); -} - -/* DefaultUserTokenGroup - ns=0;i=14122 */ - -static UA_StatusCode function_namespace0_generated_3904_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserTokenGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14122LU), -UA_NODEID_NUMERIC(ns[0], 14053LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultUserTokenGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14122LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13225LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3904_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14122LU) -); -} - -/* CertificateTypes - ns=0;i=14155 */ - -static UA_StatusCode function_namespace0_generated_3905_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14155LU), -UA_NODEID_NUMERIC(ns[0], 14122LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3905_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14155LU) -); -} - -/* TrustList - ns=0;i=14123 */ - -static UA_StatusCode function_namespace0_generated_3906_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 14122LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3906_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14123LU) -); -} - -/* RemoveCertificate - ns=0;i=14153 */ - -static UA_StatusCode function_namespace0_generated_3907_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14153LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3907_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14153LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14154 */ - -static UA_StatusCode function_namespace0_generated_3908_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14154_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14154_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14154_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_14154_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14154_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14154_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14154_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_14154_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14154_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14154_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14154LU), -UA_NODEID_NUMERIC(ns[0], 14153LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3908_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14154LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=14151 */ - -static UA_StatusCode function_namespace0_generated_3909_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14151LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3909_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14151LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14152 */ - -static UA_StatusCode function_namespace0_generated_3910_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14152_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14152_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14152_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_14152_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_14152_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14152_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14152_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_14152_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14152_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14152_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14152LU), -UA_NODEID_NUMERIC(ns[0], 14151LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3910_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14152LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=14148 */ - -static UA_StatusCode function_namespace0_generated_3911_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14148LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3911_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14148LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14150 */ - -static UA_StatusCode function_namespace0_generated_3912_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14150_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14150_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14150_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_14150_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14150_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14150_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14150LU), -UA_NODEID_NUMERIC(ns[0], 14148LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3912_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14150LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14149 */ - -static UA_StatusCode function_namespace0_generated_3913_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14149_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14149_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14149_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14149_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14149_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14149_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14149LU), -UA_NODEID_NUMERIC(ns[0], 14148LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3913_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14149LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=14145 */ - -static UA_StatusCode function_namespace0_generated_3914_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14145LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3914_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14145LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14147 */ - -static UA_StatusCode function_namespace0_generated_3915_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14147_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14147_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14147_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14147_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14147_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14147_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14147LU), -UA_NODEID_NUMERIC(ns[0], 14145LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3915_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14147LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14146 */ - -static UA_StatusCode function_namespace0_generated_3916_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14146_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14146_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14146_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_14146_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14146_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14146_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14146LU), -UA_NODEID_NUMERIC(ns[0], 14145LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3916_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14146LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=14144 */ - -static UA_StatusCode function_namespace0_generated_3917_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14144LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3917_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14144LU) -); -} - -/* SetPosition - ns=0;i=14142 */ - -static UA_StatusCode function_namespace0_generated_3918_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14142LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3918_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14142LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14143 */ - -static UA_StatusCode function_namespace0_generated_3919_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14143_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14143_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14143_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14143_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14143_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14143_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14143_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_14143_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_14143_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14143_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14143LU), -UA_NODEID_NUMERIC(ns[0], 14142LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3919_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14143LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=14139 */ - -static UA_StatusCode function_namespace0_generated_3920_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14139LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3920_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14139LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14141 */ - -static UA_StatusCode function_namespace0_generated_3921_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14141_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14141_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14141_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_14141_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_14141_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14141_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14141LU), -UA_NODEID_NUMERIC(ns[0], 14139LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3921_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14141LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14140 */ - -static UA_StatusCode function_namespace0_generated_3922_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14140_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14140_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14140_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14140_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14140_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14140_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14140LU), -UA_NODEID_NUMERIC(ns[0], 14139LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3922_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14140LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=14137 */ - -static UA_StatusCode function_namespace0_generated_3923_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14137LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3923_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14137LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14138 */ - -static UA_StatusCode function_namespace0_generated_3924_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14138_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14138_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14138_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14138_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14138_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14138_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14138_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_14138_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_14138_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14138_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14138LU), -UA_NODEID_NUMERIC(ns[0], 14137LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3924_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14138LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=14134 */ - -static UA_StatusCode function_namespace0_generated_3925_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14134LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3925_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14134LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14136 */ - -static UA_StatusCode function_namespace0_generated_3926_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14136_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14136_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14136_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_14136_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_14136_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14136_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14136LU), -UA_NODEID_NUMERIC(ns[0], 14134LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3926_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14136LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14135 */ - -static UA_StatusCode function_namespace0_generated_3927_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14135_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14135_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14135_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14135_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14135_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14135_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14135_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_14135_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_14135_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14135_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14135LU), -UA_NODEID_NUMERIC(ns[0], 14134LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3927_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14135LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=14132 */ - -static UA_StatusCode function_namespace0_generated_3928_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14132LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3928_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14132LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14133 */ - -static UA_StatusCode function_namespace0_generated_3929_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14133_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14133_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14133_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14133_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14133_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14133_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14133LU), -UA_NODEID_NUMERIC(ns[0], 14132LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3929_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14133LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=14129 */ - -static UA_StatusCode function_namespace0_generated_3930_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14129LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3930_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14129LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14131 */ - -static UA_StatusCode function_namespace0_generated_3931_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14131_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14131_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14131_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14131_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14131_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14131_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14131LU), -UA_NODEID_NUMERIC(ns[0], 14129LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3931_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14131LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14130 */ - -static UA_StatusCode function_namespace0_generated_3932_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14130_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14130_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14130_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_14130_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_14130_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14130_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14130LU), -UA_NODEID_NUMERIC(ns[0], 14129LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3932_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14130LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=14127 */ - -static UA_StatusCode function_namespace0_generated_3933_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14127LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3933_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14127LU) -); -} - -/* UserWritable - ns=0;i=14126 */ - -static UA_StatusCode function_namespace0_generated_3934_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14126LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3934_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14126LU) -); -} - -/* Writable - ns=0;i=14125 */ - -static UA_StatusCode function_namespace0_generated_3935_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14125LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3935_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14125LU) -); -} - -/* Size - ns=0;i=14124 */ - -static UA_StatusCode function_namespace0_generated_3936_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14124LU), -UA_NODEID_NUMERIC(ns[0], 14123LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3936_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14124LU) -); -} - -/* DefaultHttpsGroup - ns=0;i=14088 */ - -static UA_StatusCode function_namespace0_generated_3937_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultHttpsGroup"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14088LU), -UA_NODEID_NUMERIC(ns[0], 14053LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DefaultHttpsGroup"), -UA_NODEID_NUMERIC(ns[0], 12555LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14088LU), UA_NODEID_NUMERIC(ns[0], 9006LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13225LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3937_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14088LU) -); -} - -/* CertificateTypes - ns=0;i=14121 */ - -static UA_StatusCode function_namespace0_generated_3938_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CertificateTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14121LU), -UA_NODEID_NUMERIC(ns[0], 14088LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "CertificateTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3938_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14121LU) -); -} - -/* TrustList - ns=0;i=14089 */ - -static UA_StatusCode function_namespace0_generated_3939_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "TrustList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 14088LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustList"), -UA_NODEID_NUMERIC(ns[0], 12522LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3939_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14089LU) -); -} - -/* RemoveCertificate - ns=0;i=14119 */ - -static UA_StatusCode function_namespace0_generated_3940_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RemoveCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14119LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RemoveCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3940_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14119LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14120 */ - -static UA_StatusCode function_namespace0_generated_3941_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14120_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14120_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14120_variant_DataContents[0].name = UA_STRING("Thumbprint"); -variablenode_ns_0_i_14120_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_14120_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14120_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14120_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_14120_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14120_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14120_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14120LU), -UA_NODEID_NUMERIC(ns[0], 14119LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3941_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14120LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* AddCertificate - ns=0;i=14117 */ - -static UA_StatusCode function_namespace0_generated_3942_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "AddCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14117LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3942_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14117LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14118 */ - -static UA_StatusCode function_namespace0_generated_3943_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14118_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14118_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14118_variant_DataContents[0].name = UA_STRING("Certificate"); -variablenode_ns_0_i_14118_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_14118_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14118_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14118_variant_DataContents[1].name = UA_STRING("IsTrustedCertificate"); -variablenode_ns_0_i_14118_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14118_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14118_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14118LU), -UA_NODEID_NUMERIC(ns[0], 14117LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3943_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14118LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CloseAndUpdate - ns=0;i=14114 */ - -static UA_StatusCode function_namespace0_generated_3944_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CloseAndUpdate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14114LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CloseAndUpdate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3944_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14114LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14116 */ - -static UA_StatusCode function_namespace0_generated_3945_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14116_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14116_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14116_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_14116_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_14116_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14116_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14116LU), -UA_NODEID_NUMERIC(ns[0], 14114LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3945_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14116LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14115 */ - -static UA_StatusCode function_namespace0_generated_3946_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14115_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14115_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14115_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14115_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14115_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14115_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14115LU), -UA_NODEID_NUMERIC(ns[0], 14114LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3946_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14115LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenWithMasks - ns=0;i=14111 */ - -static UA_StatusCode function_namespace0_generated_3947_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "OpenWithMasks"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14111LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OpenWithMasks"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3947_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14111LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14113 */ - -static UA_StatusCode function_namespace0_generated_3948_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14113_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14113_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14113_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14113_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14113_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14113_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14113LU), -UA_NODEID_NUMERIC(ns[0], 14111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3948_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14113LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14112 */ - -static UA_StatusCode function_namespace0_generated_3949_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14112_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14112_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14112_variant_DataContents[0].name = UA_STRING("Masks"); -variablenode_ns_0_i_14112_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14112_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14112_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14112LU), -UA_NODEID_NUMERIC(ns[0], 14111LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3949_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14112LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* LastUpdateTime - ns=0;i=14110 */ - -static UA_StatusCode function_namespace0_generated_3950_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LastUpdateTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14110LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LastUpdateTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3950_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14110LU) -); -} - -/* SetPosition - ns=0;i=14108 */ - -static UA_StatusCode function_namespace0_generated_3951_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14108LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3951_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14108LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14109 */ - -static UA_StatusCode function_namespace0_generated_3952_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14109_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14109_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14109_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14109_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14109_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14109_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14109_variant_DataContents[1].name = UA_STRING("Position"); -variablenode_ns_0_i_14109_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_14109_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14109_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14109LU), -UA_NODEID_NUMERIC(ns[0], 14108LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3952_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14109LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetPosition - ns=0;i=14105 */ - -static UA_StatusCode function_namespace0_generated_3953_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetPosition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14105LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetPosition"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3953_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14105LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14107 */ - -static UA_StatusCode function_namespace0_generated_3954_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14107_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14107_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14107_variant_DataContents[0].name = UA_STRING("Position"); -variablenode_ns_0_i_14107_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -variablenode_ns_0_i_14107_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14107_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14107LU), -UA_NODEID_NUMERIC(ns[0], 14105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3954_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14107LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14106 */ - -static UA_StatusCode function_namespace0_generated_3955_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14106_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14106_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14106_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14106_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14106_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14106_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14106LU), -UA_NODEID_NUMERIC(ns[0], 14105LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3955_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14106LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Write - ns=0;i=14103 */ - -static UA_StatusCode function_namespace0_generated_3956_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Write"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14103LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Write"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3956_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14103LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14104 */ - -static UA_StatusCode function_namespace0_generated_3957_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14104_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14104_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14104_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14104_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14104_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14104_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14104_variant_DataContents[1].name = UA_STRING("Data"); -variablenode_ns_0_i_14104_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_14104_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14104_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14104LU), -UA_NODEID_NUMERIC(ns[0], 14103LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3957_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14104LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Read - ns=0;i=14100 */ - -static UA_StatusCode function_namespace0_generated_3958_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Read"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14100LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Read"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3958_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14100LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14102 */ - -static UA_StatusCode function_namespace0_generated_3959_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14102_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14102_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14102_variant_DataContents[0].name = UA_STRING("Data"); -variablenode_ns_0_i_14102_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_14102_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14102_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14102LU), -UA_NODEID_NUMERIC(ns[0], 14100LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3959_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14102LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14101 */ - -static UA_StatusCode function_namespace0_generated_3960_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14101_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_14101_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14101_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14101_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14101_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_14101_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14101_variant_DataContents[1].name = UA_STRING("Length"); -variablenode_ns_0_i_14101_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 6LU); -variablenode_ns_0_i_14101_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14101_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14101LU), -UA_NODEID_NUMERIC(ns[0], 14100LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3960_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14101LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Close - ns=0;i=14098 */ - -static UA_StatusCode function_namespace0_generated_3961_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Close"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14098LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Close"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3961_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14098LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14099 */ - -static UA_StatusCode function_namespace0_generated_3962_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14099_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14099_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14099_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14099_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14099_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14099_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14099LU), -UA_NODEID_NUMERIC(ns[0], 14098LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3962_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14099LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Open - ns=0;i=14095 */ - -static UA_StatusCode function_namespace0_generated_3963_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "Open"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 14095LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Open"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3963_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14095LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=14097 */ - -static UA_StatusCode function_namespace0_generated_3964_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14097_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14097_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14097_variant_DataContents[0].name = UA_STRING("FileHandle"); -variablenode_ns_0_i_14097_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_14097_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14097_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14097LU), -UA_NODEID_NUMERIC(ns[0], 14095LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3964_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14097LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=14096 */ - -static UA_StatusCode function_namespace0_generated_3965_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_14096_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_14096_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_14096_variant_DataContents[0].name = UA_STRING("Mode"); -variablenode_ns_0_i_14096_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -variablenode_ns_0_i_14096_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_14096_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14096LU), -UA_NODEID_NUMERIC(ns[0], 14095LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3965_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14096LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OpenCount - ns=0;i=14093 */ - -static UA_StatusCode function_namespace0_generated_3966_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OpenCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14093LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OpenCount"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3966_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14093LU) -); -} - -/* UserWritable - ns=0;i=14092 */ - -static UA_StatusCode function_namespace0_generated_3967_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UserWritable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14092LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UserWritable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3967_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14092LU) -); -} - -/* Writable - ns=0;i=14091 */ - -static UA_StatusCode function_namespace0_generated_3968_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Writable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14091LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Writable"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3968_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14091LU) -); -} - -/* Size - ns=0;i=14090 */ - -static UA_StatusCode function_namespace0_generated_3969_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 9LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Size"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14090LU), -UA_NODEID_NUMERIC(ns[0], 14089LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Size"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3969_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14090LU) -); -} - -/* UpdateCertificate - ns=0;i=13737 */ - -static UA_StatusCode function_namespace0_generated_3970_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "UpdateCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 13737LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UpdateCertificate"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3970_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13737LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=13739 */ - -static UA_StatusCode function_namespace0_generated_3971_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13739_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_13739_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13739_variant_DataContents[0].name = UA_STRING("ApplyChangesRequired"); -variablenode_ns_0_i_13739_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_13739_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13739_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13739LU), -UA_NODEID_NUMERIC(ns[0], 13737LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3971_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13739LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=13738 */ - -static UA_StatusCode function_namespace0_generated_3972_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 6; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_13738_variant_DataContents[6]; - -UA_init(&variablenode_ns_0_i_13738_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13738_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_13738_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13738_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13738_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13738_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); -variablenode_ns_0_i_13738_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_13738_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13738_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13738_variant_DataContents[2].name = UA_STRING("Certificate"); -variablenode_ns_0_i_13738_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13738_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13738_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13738_variant_DataContents[3].name = UA_STRING("IssuerCertificates"); -variablenode_ns_0_i_13738_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13738_variant_DataContents[3].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_13738_variant_DataContents[3].arrayDimensionsSize = 1; -variablenode_ns_0_i_13738_variant_DataContents[3].arrayDimensions = variablenode_ns_0_i_13738_variant_DataContents3_arrayDimensions; - -UA_init(&variablenode_ns_0_i_13738_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13738_variant_DataContents[4].name = UA_STRING("PrivateKeyFormat"); -variablenode_ns_0_i_13738_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_13738_variant_DataContents[4].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_13738_variant_DataContents[5], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_13738_variant_DataContents[5].name = UA_STRING("PrivateKey"); -variablenode_ns_0_i_13738_variant_DataContents[5].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_13738_variant_DataContents[5].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_13738_variant_DataContents, (UA_Int32) 6, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 13738LU), -UA_NODEID_NUMERIC(ns[0], 13737LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3972_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 13738LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* GetRejectedList - ns=0;i=12777 */ - -static UA_StatusCode function_namespace0_generated_3973_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetRejectedList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12777LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetRejectedList"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3973_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12777LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12778 */ - -static UA_StatusCode function_namespace0_generated_3974_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12778_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12778_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12778_variant_DataContents[0].name = UA_STRING("Certificates"); -variablenode_ns_0_i_12778_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12778_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_12778_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_12778_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_12778_variant_DataContents0_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12778_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12778LU), -UA_NODEID_NUMERIC(ns[0], 12777LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3974_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12778LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ApplyChanges - ns=0;i=12740 */ - -static UA_StatusCode function_namespace0_generated_3975_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ApplyChanges"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12740LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplyChanges"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3975_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12740LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* CreateSigningRequest - ns=0;i=12737 */ - -static UA_StatusCode function_namespace0_generated_3976_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "CreateSigningRequest"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12737LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CreateSigningRequest"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3976_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12737LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12739 */ - -static UA_StatusCode function_namespace0_generated_3977_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12739_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12739_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12739_variant_DataContents[0].name = UA_STRING("CertificateRequest"); -variablenode_ns_0_i_12739_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12739_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12739_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12739LU), -UA_NODEID_NUMERIC(ns[0], 12737LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3977_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12739LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12738 */ - -static UA_StatusCode function_namespace0_generated_3978_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12738_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_12738_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12738_variant_DataContents[0].name = UA_STRING("CertificateGroupId"); -variablenode_ns_0_i_12738_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_12738_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12738_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12738_variant_DataContents[1].name = UA_STRING("CertificateTypeId"); -variablenode_ns_0_i_12738_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 17LU); -variablenode_ns_0_i_12738_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12738_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12738_variant_DataContents[2].name = UA_STRING("SubjectName"); -variablenode_ns_0_i_12738_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -variablenode_ns_0_i_12738_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12738_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12738_variant_DataContents[3].name = UA_STRING("RegeneratePrivateKey"); -variablenode_ns_0_i_12738_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12738_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12738_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12738_variant_DataContents[4].name = UA_STRING("Nonce"); -variablenode_ns_0_i_12738_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -variablenode_ns_0_i_12738_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12738_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12738LU), -UA_NODEID_NUMERIC(ns[0], 12737LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3978_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12738LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ServerCapabilities - ns=0;i=12710 */ - -static UA_StatusCode function_namespace0_generated_3979_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12710LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3979_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12710LU) -); -} - -/* MulticastDnsEnabled - ns=0;i=12641 */ - -static UA_StatusCode function_namespace0_generated_3980_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MulticastDnsEnabled"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12641LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MulticastDnsEnabled"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3980_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12641LU) -); -} - -/* MaxTrustListSize - ns=0;i=12640 */ - -static UA_StatusCode function_namespace0_generated_3981_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxTrustListSize"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12640LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxTrustListSize"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3981_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12640LU) -); -} - -/* SupportedPrivateKeyFormats - ns=0;i=12639 */ - -static UA_StatusCode function_namespace0_generated_3982_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SupportedPrivateKeyFormats"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12639LU), -UA_NODEID_NUMERIC(ns[0], 12637LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SupportedPrivateKeyFormats"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3982_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12639LU) -); -} - -/* Namespaces - ns=0;i=11715 */ - -static UA_StatusCode function_namespace0_generated_3983_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Namespaces"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11715LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Namespaces"), -UA_NODEID_NUMERIC(ns[0], 11645LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3983_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11715LU) -); -} - -/* http://opcfoundation.org/UA/ - ns=0;i=15957 */ - -static UA_StatusCode function_namespace0_generated_3984_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "http://opcfoundation.org/UA/"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 11715LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "http://opcfoundation.org/UA/"), -UA_NODEID_NUMERIC(ns[0], 11616LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3984_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15957LU) -); -} - -/* DefaultAccessRestrictions - ns=0;i=16136 */ - -static UA_StatusCode function_namespace0_generated_3985_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 95LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultAccessRestrictions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16136LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultAccessRestrictions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3985_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16136LU) -); -} - -/* DefaultUserRolePermissions - ns=0;i=16135 */ - -static UA_StatusCode function_namespace0_generated_3986_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultUserRolePermissions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16135LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultUserRolePermissions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3986_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16135LU) -); -} - -/* DefaultRolePermissions - ns=0;i=16134 */ - -static UA_StatusCode function_namespace0_generated_3987_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 96LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultRolePermissions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16134LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DefaultRolePermissions"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3987_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16134LU) -); -} - -/* StaticStringNodeIdPattern - ns=0;i=15964 */ - -static UA_StatusCode function_namespace0_generated_3988_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15964_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15964_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15964_variant_DataContents); -*variablenode_ns_0_i_15964_variant_DataContents = UA_STRING_ALLOC(""); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15964_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticStringNodeIdPattern"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15964LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticStringNodeIdPattern"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15964_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3988_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15964LU) -); -} - -/* StaticNumericNodeIdRange - ns=0;i=15963 */ - -static UA_StatusCode function_namespace0_generated_3989_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 291LU); -UA_String variablenode_ns_0_i_15963_variant_DataContents[36]; -variablenode_ns_0_i_15963_variant_DataContents[0] = UA_STRING("1:2252"); -variablenode_ns_0_i_15963_variant_DataContents[1] = UA_STRING("2270"); -variablenode_ns_0_i_15963_variant_DataContents[2] = UA_STRING("2273"); -variablenode_ns_0_i_15963_variant_DataContents[3] = UA_STRING("2280"); -variablenode_ns_0_i_15963_variant_DataContents[4] = UA_STRING("2283"); -variablenode_ns_0_i_15963_variant_DataContents[5] = UA_STRING("2291:2293"); -variablenode_ns_0_i_15963_variant_DataContents[6] = UA_STRING("2297:2734"); -variablenode_ns_0_i_15963_variant_DataContents[7] = UA_STRING("2738:2991"); -variablenode_ns_0_i_15963_variant_DataContents[8] = UA_STRING("2995"); -variablenode_ns_0_i_15963_variant_DataContents[9] = UA_STRING("2998:3703"); -variablenode_ns_0_i_15963_variant_DataContents[10] = UA_STRING("3710:11191"); -variablenode_ns_0_i_15963_variant_DataContents[11] = UA_STRING("11194:11195"); -variablenode_ns_0_i_15963_variant_DataContents[12] = UA_STRING("11202:11241"); -variablenode_ns_0_i_15963_variant_DataContents[13] = UA_STRING("11243:11272"); -variablenode_ns_0_i_15963_variant_DataContents[14] = UA_STRING("11276:11280"); -variablenode_ns_0_i_15963_variant_DataContents[15] = UA_STRING("11284:11311"); -variablenode_ns_0_i_15963_variant_DataContents[16] = UA_STRING("11315:11491"); -variablenode_ns_0_i_15963_variant_DataContents[17] = UA_STRING("11495:11501"); -variablenode_ns_0_i_15963_variant_DataContents[18] = UA_STRING("11503:11701"); -variablenode_ns_0_i_15963_variant_DataContents[19] = UA_STRING("11706"); -variablenode_ns_0_i_15963_variant_DataContents[20] = UA_STRING("11708"); -variablenode_ns_0_i_15963_variant_DataContents[21] = UA_STRING("11716:12164"); -variablenode_ns_0_i_15963_variant_DataContents[22] = UA_STRING("12169:12748"); -variablenode_ns_0_i_15963_variant_DataContents[23] = UA_STRING("12752:12872"); -variablenode_ns_0_i_15963_variant_DataContents[24] = UA_STRING("12875:12884"); -variablenode_ns_0_i_15963_variant_DataContents[25] = UA_STRING("12888:12910"); -variablenode_ns_0_i_15963_variant_DataContents[26] = UA_STRING("12912:14414"); -variablenode_ns_0_i_15963_variant_DataContents[27] = UA_STRING("14416:15003"); -variablenode_ns_0_i_15963_variant_DataContents[28] = UA_STRING("15005:15605"); -variablenode_ns_0_i_15963_variant_DataContents[29] = UA_STRING("15607:16300"); -variablenode_ns_0_i_15963_variant_DataContents[30] = UA_STRING("16306:17633"); -variablenode_ns_0_i_15963_variant_DataContents[31] = UA_STRING("17635:19090"); -variablenode_ns_0_i_15963_variant_DataContents[32] = UA_STRING("19092:24094"); -variablenode_ns_0_i_15963_variant_DataContents[33] = UA_STRING("24102:24103"); -variablenode_ns_0_i_15963_variant_DataContents[34] = UA_STRING("24105:31915"); -variablenode_ns_0_i_15963_variant_DataContents[35] = UA_STRING("31917:2147483647"); -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15963_variant_DataContents, (UA_Int32) 36, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticNumericNodeIdRange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15963LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticNumericNodeIdRange"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3989_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15963LU) -); -} - -/* StaticNodeIdTypes - ns=0;i=15962 */ - -static UA_StatusCode function_namespace0_generated_3990_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 256LU); -UA_Int32 variablenode_ns_0_i_15962_variant_DataContents[1]; -variablenode_ns_0_i_15962_variant_DataContents[0] = (UA_Int32) 0; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_15962_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_IDTYPE]); -attr.displayName = UA_LOCALIZEDTEXT("", "StaticNodeIdTypes"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15962LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "StaticNodeIdTypes"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3990_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15962LU) -); -} - -/* IsNamespaceSubset - ns=0;i=15961 */ - -static UA_StatusCode function_namespace0_generated_3991_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -UA_Boolean *variablenode_ns_0_i_15961_variant_DataContents = UA_Boolean_new(); -if (!variablenode_ns_0_i_15961_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Boolean_init(variablenode_ns_0_i_15961_variant_DataContents); -*variablenode_ns_0_i_15961_variant_DataContents = (UA_Boolean) false; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15961_variant_DataContents, &UA_TYPES[UA_TYPES_BOOLEAN]); -attr.displayName = UA_LOCALIZEDTEXT("", "IsNamespaceSubset"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15961LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "IsNamespaceSubset"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Boolean_delete(variablenode_ns_0_i_15961_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3991_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15961LU) -); -} - -/* NamespacePublicationDate - ns=0;i=15960 */ - -static UA_StatusCode function_namespace0_generated_3992_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -UA_DateTime *variablenode_ns_0_i_15960_variant_DataContents = UA_DateTime_new(); -if (!variablenode_ns_0_i_15960_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_DateTime_init(variablenode_ns_0_i_15960_variant_DataContents); -*variablenode_ns_0_i_15960_variant_DataContents = ( (UA_DateTime)(1667260800000 * UA_DATETIME_MSEC) + UA_DATETIME_UNIX_EPOCH); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15960_variant_DataContents, &UA_TYPES[UA_TYPES_DATETIME]); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespacePublicationDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15960LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespacePublicationDate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_DateTime_delete(variablenode_ns_0_i_15960_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3992_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15960LU) -); -} - -/* NamespaceVersion - ns=0;i=15959 */ - -static UA_StatusCode function_namespace0_generated_3993_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15959_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15959_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15959_variant_DataContents); -*variablenode_ns_0_i_15959_variant_DataContents = UA_STRING_ALLOC("1.05.02"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15959_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15959LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15959_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3993_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15959LU) -); -} - -/* NamespaceUri - ns=0;i=15958 */ - -static UA_StatusCode function_namespace0_generated_3994_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15958_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15958_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15958_variant_DataContents); -*variablenode_ns_0_i_15958_variant_DataContents = UA_STRING_ALLOC("http://opcfoundation.org/UA/"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15958_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15958LU), -UA_NODEID_NUMERIC(ns[0], 15957LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15958_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3994_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15958LU) -); -} - -/* GetMonitoredItems - ns=0;i=11492 */ - -static UA_StatusCode function_namespace0_generated_3995_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetMonitoredItems"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11492LU), -UA_NODEID_NUMERIC(ns[0], 2253LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetMonitoredItems"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3995_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11492LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11494 */ - -static UA_StatusCode function_namespace0_generated_3996_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11494_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11494_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11494_variant_DataContents[0].name = UA_STRING("ServerHandles"); -variablenode_ns_0_i_11494_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11494_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_11494_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_11494_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_11494_variant_DataContents0_arrayDimensions; - -UA_init(&variablenode_ns_0_i_11494_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11494_variant_DataContents[1].name = UA_STRING("ClientHandles"); -variablenode_ns_0_i_11494_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11494_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_11494_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_11494_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_11494_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11494_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11494LU), -UA_NODEID_NUMERIC(ns[0], 11492LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3996_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11494LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11493 */ - -static UA_StatusCode function_namespace0_generated_3997_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11493_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11493_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11493_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_11493_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11493_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11493_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11493LU), -UA_NODEID_NUMERIC(ns[0], 11492LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_3997_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11493LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* ServerRedundancy - ns=0;i=2012 */ - -static UA_StatusCode function_namespace0_generated_3998_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerRedundancy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2012LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerRedundancy"), -UA_NODEID_NUMERIC(ns[0], 2034LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3998_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2012LU) -); -} - -/* RedundancySupport - ns=0;i=3115 */ - -static UA_StatusCode function_namespace0_generated_3999_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 851LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundancySupport"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3115LU), -UA_NODEID_NUMERIC(ns[0], 2012LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "RedundancySupport"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_3999_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3115LU) -); -} - -/* VendorServerInfo - ns=0;i=2011 */ - -static UA_StatusCode function_namespace0_generated_4000_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "VendorServerInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2011LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "VendorServerInfo"), -UA_NODEID_NUMERIC(ns[0], 2033LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4000_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2011LU) -); -} - -/* ServerDiagnostics - ns=0;i=2010 */ - -static UA_StatusCode function_namespace0_generated_4001_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnostics"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2010LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnostics"), -UA_NODEID_NUMERIC(ns[0], 2020LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4001_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2010LU) -); -} - -/* EnabledFlag - ns=0;i=3114 */ - -static UA_StatusCode function_namespace0_generated_4002_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 3; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnabledFlag"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3114LU), -UA_NODEID_NUMERIC(ns[0], 2010LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EnabledFlag"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4002_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3114LU) -); -} - -/* SessionsDiagnosticsSummary - ns=0;i=3111 */ - -static UA_StatusCode function_namespace0_generated_4003_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "SessionsDiagnosticsSummary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3111LU), -UA_NODEID_NUMERIC(ns[0], 2010LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionsDiagnosticsSummary"), -UA_NODEID_NUMERIC(ns[0], 2026LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4003_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3111LU) -); -} - -/* SessionSecurityDiagnosticsArray - ns=0;i=3113 */ - -static UA_StatusCode function_namespace0_generated_4004_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 868LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3113LU), -UA_NODEID_NUMERIC(ns[0], 3111LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2243LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4004_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3113LU) -); -} - -/* SessionDiagnosticsArray - ns=0;i=3112 */ - -static UA_StatusCode function_namespace0_generated_4005_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 865LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3112LU), -UA_NODEID_NUMERIC(ns[0], 3111LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2196LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4005_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3112LU) -); -} - -/* SubscriptionDiagnosticsArray - ns=0;i=3110 */ - -static UA_StatusCode function_namespace0_generated_4006_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 874LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3110LU), -UA_NODEID_NUMERIC(ns[0], 2010LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsArray"), -UA_NODEID_NUMERIC(ns[0], 2171LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4006_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3110LU) -); -} - -/* ServerDiagnosticsSummary - ns=0;i=3095 */ - -static UA_StatusCode function_namespace0_generated_4007_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 859LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 2010LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummary"), -UA_NODEID_NUMERIC(ns[0], 2150LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4007_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3095LU) -); -} - -/* RejectedRequestsCount - ns=0;i=3108 */ - -static UA_StatusCode function_namespace0_generated_4008_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3108LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4008_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3108LU) -); -} - -/* SecurityRejectedRequestsCount - ns=0;i=3107 */ - -static UA_StatusCode function_namespace0_generated_4009_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedRequestsCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3107LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedRequestsCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4009_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3107LU) -); -} - -/* CumulatedSubscriptionCount - ns=0;i=3106 */ - -static UA_StatusCode function_namespace0_generated_4010_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3106LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4010_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3106LU) -); -} - -/* CurrentSubscriptionCount - ns=0;i=3105 */ - -static UA_StatusCode function_namespace0_generated_4011_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSubscriptionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3105LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSubscriptionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4011_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3105LU) -); -} - -/* PublishingIntervalCount - ns=0;i=3104 */ - -static UA_StatusCode function_namespace0_generated_4012_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishingIntervalCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3104LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishingIntervalCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4012_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3104LU) -); -} - -/* SessionAbortCount - ns=0;i=3102 */ - -static UA_StatusCode function_namespace0_generated_4013_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionAbortCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3102LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionAbortCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4013_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3102LU) -); -} - -/* SessionTimeoutCount - ns=0;i=3101 */ - -static UA_StatusCode function_namespace0_generated_4014_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionTimeoutCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3101LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionTimeoutCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4014_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3101LU) -); -} - -/* RejectedSessionCount - ns=0;i=3100 */ - -static UA_StatusCode function_namespace0_generated_4015_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "RejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3100LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4015_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3100LU) -); -} - -/* SecurityRejectedSessionCount - ns=0;i=3099 */ - -static UA_StatusCode function_namespace0_generated_4016_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityRejectedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3099LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityRejectedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4016_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3099LU) -); -} - -/* CumulatedSessionCount - ns=0;i=3098 */ - -static UA_StatusCode function_namespace0_generated_4017_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CumulatedSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3098LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CumulatedSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4017_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3098LU) -); -} - -/* CurrentSessionCount - ns=0;i=3097 */ - -static UA_StatusCode function_namespace0_generated_4018_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentSessionCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3097LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentSessionCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4018_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3097LU) -); -} - -/* ServerViewCount - ns=0;i=3096 */ - -static UA_StatusCode function_namespace0_generated_4019_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerViewCount"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3096LU), -UA_NODEID_NUMERIC(ns[0], 3095LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerViewCount"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4019_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3096LU) -); -} - -/* ServerCapabilities - ns=0;i=2009 */ - -static UA_StatusCode function_namespace0_generated_4020_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ServerCapabilities"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerCapabilities"), -UA_NODEID_NUMERIC(ns[0], 2013LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4020_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2009LU) -); -} - -/* AggregateFunctions - ns=0;i=3094 */ - -static UA_StatusCode function_namespace0_generated_4021_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateFunctions"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3094LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateFunctions"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4021_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3094LU) -); -} - -/* ModellingRules - ns=0;i=3093 */ - -static UA_StatusCode function_namespace0_generated_4022_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRules"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3093LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModellingRules"), -UA_NODEID_NUMERIC(ns[0], 61LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4022_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3093LU) -); -} - -/* SoftwareCertificates - ns=0;i=3092 */ - -static UA_StatusCode function_namespace0_generated_4023_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 344LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareCertificates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3092LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareCertificates"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4023_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3092LU) -); -} - -/* MaxHistoryContinuationPoints - ns=0;i=3091 */ - -static UA_StatusCode function_namespace0_generated_4024_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxHistoryContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3091LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxHistoryContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4024_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3091LU) -); -} - -/* MaxQueryContinuationPoints - ns=0;i=3090 */ - -static UA_StatusCode function_namespace0_generated_4025_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxQueryContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3090LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxQueryContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4025_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3090LU) -); -} - -/* MaxBrowseContinuationPoints - ns=0;i=3089 */ - -static UA_StatusCode function_namespace0_generated_4026_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 5LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxBrowseContinuationPoints"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3089LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MaxBrowseContinuationPoints"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4026_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3089LU) -); -} - -/* MinSupportedSampleRate - ns=0;i=3088 */ - -static UA_StatusCode function_namespace0_generated_4027_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 290LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MinSupportedSampleRate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3088LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "MinSupportedSampleRate"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4027_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3088LU) -); -} - -/* LocaleIdArray - ns=0;i=3087 */ - -static UA_StatusCode function_namespace0_generated_4028_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 295LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocaleIdArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3087LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocaleIdArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4028_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3087LU) -); -} - -/* ServerProfileArray - ns=0;i=3086 */ - -static UA_StatusCode function_namespace0_generated_4029_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerProfileArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3086LU), -UA_NODEID_NUMERIC(ns[0], 2009LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerProfileArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4029_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3086LU) -); -} - -/* ServiceLevel - ns=0;i=2008 */ - -static UA_StatusCode function_namespace0_generated_4030_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 3LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceLevel"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2008LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServiceLevel"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4030_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2008LU) -); -} - -/* ServerStatus - ns=0;i=2007 */ - -static UA_StatusCode function_namespace0_generated_4031_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 862LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatus"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerStatus"), -UA_NODEID_NUMERIC(ns[0], 2138LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4031_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2007LU) -); -} - -/* ShutdownReason - ns=0;i=3085 */ - -static UA_StatusCode function_namespace0_generated_4032_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ShutdownReason"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3085LU), -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ShutdownReason"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4032_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3085LU) -); -} - -/* SecondsTillShutdown - ns=0;i=3084 */ - -static UA_StatusCode function_namespace0_generated_4033_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SecondsTillShutdown"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3084LU), -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecondsTillShutdown"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4033_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3084LU) -); -} - -/* BuildInfo - ns=0;i=3077 */ - -static UA_StatusCode function_namespace0_generated_4034_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 338LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfo"), -UA_NODEID_NUMERIC(ns[0], 3051LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4034_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3077LU) -); -} - -/* BuildDate - ns=0;i=3083 */ - -static UA_StatusCode function_namespace0_generated_4035_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildDate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3083LU), -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildDate"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4035_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3083LU) -); -} - -/* BuildNumber - ns=0;i=3082 */ - -static UA_StatusCode function_namespace0_generated_4036_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3082LU), -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildNumber"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4036_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3082LU) -); -} - -/* SoftwareVersion - ns=0;i=3081 */ - -static UA_StatusCode function_namespace0_generated_4037_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "SoftwareVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3081LU), -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SoftwareVersion"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4037_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3081LU) -); -} - -/* ProductName - ns=0;i=3080 */ - -static UA_StatusCode function_namespace0_generated_4038_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3080LU), -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4038_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3080LU) -); -} - -/* ManufacturerName - ns=0;i=3079 */ - -static UA_StatusCode function_namespace0_generated_4039_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ManufacturerName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3079LU), -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ManufacturerName"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4039_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3079LU) -); -} - -/* ProductUri - ns=0;i=3078 */ - -static UA_StatusCode function_namespace0_generated_4040_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ProductUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3078LU), -UA_NODEID_NUMERIC(ns[0], 3077LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProductUri"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4040_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3078LU) -); -} - -/* State - ns=0;i=3076 */ - -static UA_StatusCode function_namespace0_generated_4041_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 852LU); -attr.displayName = UA_LOCALIZEDTEXT("", "State"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3076LU), -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "State"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4041_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3076LU) -); -} - -/* CurrentTime - ns=0;i=3075 */ - -static UA_StatusCode function_namespace0_generated_4042_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrentTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3075LU), -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrentTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4042_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3075LU) -); -} - -/* StartTime - ns=0;i=3074 */ - -static UA_StatusCode function_namespace0_generated_4043_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 294LU); -attr.displayName = UA_LOCALIZEDTEXT("", "StartTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3074LU), -UA_NODEID_NUMERIC(ns[0], 2007LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StartTime"), -UA_NODEID_NUMERIC(ns[0], 63LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4043_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3074LU) -); -} - -/* NamespaceArray - ns=0;i=2006 */ - -static UA_StatusCode function_namespace0_generated_4044_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2006LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4044_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2006LU) -); -} - -/* ServerArray - ns=0;i=2005 */ - -static UA_StatusCode function_namespace0_generated_4045_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 2005LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "ServerArray"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4045_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 2005LU) -); -} - -/* LocalTime - ns=0;i=17612 */ - -static UA_StatusCode function_namespace0_generated_4046_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17612LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "LocalTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4046_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17612LU) -); -} - -/* UrisVersion - ns=0;i=15003 */ - -static UA_StatusCode function_namespace0_generated_4047_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20998LU); -attr.displayName = UA_LOCALIZEDTEXT("", "UrisVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15003LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "UrisVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4047_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15003LU) -); -} - -/* RequestServerStateChange - ns=0;i=12883 */ - -static UA_StatusCode function_namespace0_generated_4048_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "RequestServerStateChange"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12883LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RequestServerStateChange"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4048_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12883LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12884 */ - -static UA_StatusCode function_namespace0_generated_4049_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 5; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12884_variant_DataContents[5]; - -UA_init(&variablenode_ns_0_i_12884_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12884_variant_DataContents[0].name = UA_STRING("State"); -variablenode_ns_0_i_12884_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 852LU); -variablenode_ns_0_i_12884_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12884_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12884_variant_DataContents[1].name = UA_STRING("EstimatedReturnTime"); -variablenode_ns_0_i_12884_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -variablenode_ns_0_i_12884_variant_DataContents[1].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12884_variant_DataContents[2], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12884_variant_DataContents[2].name = UA_STRING("SecondsTillShutdown"); -variablenode_ns_0_i_12884_variant_DataContents[2].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12884_variant_DataContents[2].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12884_variant_DataContents[3], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12884_variant_DataContents[3].name = UA_STRING("Reason"); -variablenode_ns_0_i_12884_variant_DataContents[3].dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -variablenode_ns_0_i_12884_variant_DataContents[3].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12884_variant_DataContents[4], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12884_variant_DataContents[4].name = UA_STRING("Restart"); -variablenode_ns_0_i_12884_variant_DataContents[4].dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -variablenode_ns_0_i_12884_variant_DataContents[4].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12884_variant_DataContents, (UA_Int32) 5, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12884LU), -UA_NODEID_NUMERIC(ns[0], 12883LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - - - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4049_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12884LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* EstimatedReturnTime - ns=0;i=12882 */ - -static UA_StatusCode function_namespace0_generated_4050_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 1000.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 13LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EstimatedReturnTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12882LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "EstimatedReturnTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4050_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12882LU) -); -} - -/* ResendData - ns=0;i=12871 */ - -static UA_StatusCode function_namespace0_generated_4051_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "ResendData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12871LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ResendData"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4051_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12871LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12872 */ - -static UA_StatusCode function_namespace0_generated_4052_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12872_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12872_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12872_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_12872_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12872_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12872_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12872LU), -UA_NODEID_NUMERIC(ns[0], 12871LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4052_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12872LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* SetSubscriptionDurable - ns=0;i=12746 */ - -static UA_StatusCode function_namespace0_generated_4053_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "SetSubscriptionDurable"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 12746LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SetSubscriptionDurable"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4053_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12746LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=12748 */ - -static UA_StatusCode function_namespace0_generated_4054_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12748_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_12748_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12748_variant_DataContents[0].name = UA_STRING("RevisedLifetimeInHours"); -variablenode_ns_0_i_12748_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12748_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12748_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12748LU), -UA_NODEID_NUMERIC(ns[0], 12746LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4054_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12748LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=12747 */ - -static UA_StatusCode function_namespace0_generated_4055_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_12747_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_12747_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12747_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_12747_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12747_variant_DataContents[0].valueRank = (UA_Int32) -1; - -UA_init(&variablenode_ns_0_i_12747_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_12747_variant_DataContents[1].name = UA_STRING("LifetimeInHours"); -variablenode_ns_0_i_12747_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_12747_variant_DataContents[1].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_12747_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12747LU), -UA_NODEID_NUMERIC(ns[0], 12746LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4055_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12747LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* Namespaces - ns=0;i=11527 */ - -static UA_StatusCode function_namespace0_generated_4056_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Namespaces"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11527LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Namespaces"), -UA_NODEID_NUMERIC(ns[0], 11645LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4056_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11527LU) -); -} - -/* GetMonitoredItems - ns=0;i=11489 */ - -static UA_StatusCode function_namespace0_generated_4057_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_MethodAttributes attr = UA_MethodAttributes_default; -attr.executable = true; -attr.userExecutable = true; -attr.displayName = UA_LOCALIZEDTEXT("", "GetMonitoredItems"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_METHOD, -UA_NODEID_NUMERIC(ns[0], 11489LU), -UA_NODEID_NUMERIC(ns[0], 2004LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "GetMonitoredItems"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_METHODATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4057_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addMethodNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11489LU) -, NULL, 0, NULL, 0, NULL); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* OutputArguments - ns=0;i=11491 */ - -static UA_StatusCode function_namespace0_generated_4058_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 2; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11491_variant_DataContents[2]; - -UA_init(&variablenode_ns_0_i_11491_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11491_variant_DataContents[0].name = UA_STRING("ServerHandles"); -variablenode_ns_0_i_11491_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11491_variant_DataContents[0].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_11491_variant_DataContents[0].arrayDimensionsSize = 1; -variablenode_ns_0_i_11491_variant_DataContents[0].arrayDimensions = variablenode_ns_0_i_11491_variant_DataContents0_arrayDimensions; - -UA_init(&variablenode_ns_0_i_11491_variant_DataContents[1], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11491_variant_DataContents[1].name = UA_STRING("ClientHandles"); -variablenode_ns_0_i_11491_variant_DataContents[1].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11491_variant_DataContents[1].valueRank = (UA_Int32) 1; -UA_STACKARRAY(UA_UInt32, variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions, 1); -UA_init(variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions, &UA_TYPES[UA_TYPES_UINT32]); -variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions[0] = (UA_UInt32) 0; -variablenode_ns_0_i_11491_variant_DataContents[1].arrayDimensionsSize = 1; -variablenode_ns_0_i_11491_variant_DataContents[1].arrayDimensions = variablenode_ns_0_i_11491_variant_DataContents1_arrayDimensions; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11491_variant_DataContents, (UA_Int32) 2, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11491LU), -UA_NODEID_NUMERIC(ns[0], 11489LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4058_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11491LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* InputArguments - ns=0;i=11490 */ - -static UA_StatusCode function_namespace0_generated_4059_begin(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 1; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -UA_Argument variablenode_ns_0_i_11490_variant_DataContents[1]; - -UA_init(&variablenode_ns_0_i_11490_variant_DataContents[0], &UA_TYPES[UA_TYPES_ARGUMENT]); -variablenode_ns_0_i_11490_variant_DataContents[0].name = UA_STRING("SubscriptionId"); -variablenode_ns_0_i_11490_variant_DataContents[0].dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -variablenode_ns_0_i_11490_variant_DataContents[0].valueRank = (UA_Int32) -1; -UA_Variant_setArray(&attr.value, &variablenode_ns_0_i_11490_variant_DataContents, (UA_Int32) 1, &UA_TYPES[UA_TYPES_ARGUMENT]); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11490LU), -UA_NODEID_NUMERIC(ns[0], 11489LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; - -return retVal; -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -static UA_StatusCode function_namespace0_generated_4059_finish(UA_Server *server, UA_UInt16* ns) { -#ifdef UA_ENABLE_METHODCALLS -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11490LU) -); -#else -return UA_STATUSCODE_GOOD; -#endif /* UA_ENABLE_METHODCALLS */ -} - -/* DefaultInstanceBrowseName - ns=0;i=17605 */ - -static UA_StatusCode function_namespace0_generated_4060_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 20LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DefaultInstanceBrowseName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17605LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "DefaultInstanceBrowseName"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4060_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17605LU) -); -} - -/* OutputArguments - ns=0;i=3073 */ - -static UA_StatusCode function_namespace0_generated_4061_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OutputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3073LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "OutputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4061_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3073LU) -); -} - -/* InputArguments - ns=0;i=3072 */ - -static UA_StatusCode function_namespace0_generated_4062_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 296LU); -attr.displayName = UA_LOCALIZEDTEXT("", "InputArguments"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3072LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "InputArguments"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4062_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3072LU) -); -} - -/* OptionSetLength - ns=0;i=32750 */ - -static UA_StatusCode function_namespace0_generated_4063_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32750LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4063_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32750LU) -); -} - -/* OptionSetValues - ns=0;i=12745 */ - -static UA_StatusCode function_namespace0_generated_4064_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSetValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12745LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "OptionSetValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4064_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12745LU) -); -} - -/* EnumValues - ns=0;i=3071 */ - -static UA_StatusCode function_namespace0_generated_4065_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7594LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValues"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3071LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "EnumValues"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4065_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3071LU) -); -} - -/* EnumStrings - ns=0;i=11432 */ - -static UA_StatusCode function_namespace0_generated_4066_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -attr.valueRank = 1; -attr.arrayDimensionsSize = 1; -UA_UInt32 arrayDimensions[1]; -arrayDimensions[0] = 0; -attr.arrayDimensions = &arrayDimensions[0]; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumStrings"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11432LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "EnumStrings"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4066_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11432LU) -); -} - -/* EngineeringUnits - ns=0;i=11513 */ - -static UA_StatusCode function_namespace0_generated_4067_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 887LU); -attr.displayName = UA_LOCALIZEDTEXT("", "EngineeringUnits"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11513LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "EngineeringUnits"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4067_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11513LU) -); -} - -/* MaxArrayLength - ns=0;i=11512 */ - -static UA_StatusCode function_namespace0_generated_4068_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxArrayLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11512LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MaxArrayLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4068_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11512LU) -); -} - -/* MaxByteStringLength - ns=0;i=12908 */ - -static UA_StatusCode function_namespace0_generated_4069_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxByteStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12908LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MaxByteStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4069_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12908LU) -); -} - -/* MaxCharacters - ns=0;i=15002 */ - -static UA_StatusCode function_namespace0_generated_4070_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxCharacters"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15002LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MaxCharacters"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4070_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15002LU) -); -} - -/* MaxStringLength - ns=0;i=11498 */ - -static UA_StatusCode function_namespace0_generated_4071_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "MaxStringLength"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11498LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MaxStringLength"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4071_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11498LU) -); -} - -/* ValueAsText - ns=0;i=11433 */ - -static UA_StatusCode function_namespace0_generated_4072_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 21LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ValueAsText"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11433LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "ValueAsText"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4072_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11433LU) -); -} - -/* AllowNulls - ns=0;i=3070 */ - -static UA_StatusCode function_namespace0_generated_4073_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "AllowNulls"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3070LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "AllowNulls"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4073_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3070LU) -); -} - -/* LocalTime - ns=0;i=3069 */ - -static UA_StatusCode function_namespace0_generated_4074_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 8912LU); -attr.displayName = UA_LOCALIZEDTEXT("", "LocalTime"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3069LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "LocalTime"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4074_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3069LU) -); -} - -/* Icon - ns=0;i=3067 */ - -static UA_StatusCode function_namespace0_generated_4075_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 30LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Icon"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3067LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Icon"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4075_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3067LU) -); -} - -/* ViewVersion - ns=0;i=12170 */ - -static UA_StatusCode function_namespace0_generated_4076_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 7LU); -attr.displayName = UA_LOCALIZEDTEXT("", "ViewVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12170LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "ViewVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4076_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12170LU) -); -} - -/* NodeVersion - ns=0;i=3068 */ - -static UA_StatusCode function_namespace0_generated_4077_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NodeVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 3068LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "NodeVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4077_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3068LU) -); -} - -/* ModellingRuleType - ns=0;i=77 */ - -static UA_StatusCode function_namespace0_generated_4078_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ModellingRuleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 77LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "ModellingRuleType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4078_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 77LU) -); -} - -/* ExposesItsArray - ns=0;i=83 */ - -static UA_StatusCode function_namespace0_generated_4079_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "ExposesItsArray"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 83LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "ExposesItsArray"), -UA_NODEID_NUMERIC(ns[0], 77LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12779LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12784LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12816LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 83LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12860LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4079_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 83LU) -); -} - -/* Optional - ns=0;i=80 */ - -static UA_StatusCode function_namespace0_generated_4080_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Optional"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 80LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Optional"), -UA_NODEID_NUMERIC(ns[0], 77LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15003LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12882LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17612LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11527LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11489LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12871LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12746LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12883LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11549LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11550LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12910LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11551LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16295LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24088LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24089LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24090LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24091LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24103LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24092LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24093LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31770LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2022LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11565LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12161LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12162LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11567LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12163LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12164LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11569LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11570LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11571LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11572LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11573LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11574LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13341LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24244LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25200LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11615LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11624LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16137LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16138LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25267LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3190LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31771LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31772LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31773LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 31774LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17615LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24135LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11701LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17633LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17988LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17989LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17990LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2770LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2757LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2758LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2759LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2764LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2765LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2766LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11456LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2773LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17636LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17715LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18773LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18780LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18788LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18789LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18790LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15410LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15411LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16175LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15624LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15626LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16180LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16182LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23525LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2366LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2367LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17567LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17568LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17569LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12024LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9000LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9001LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11110LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11111LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9015LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9016LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9060LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9098LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9113LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9164LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9165LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9166LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9169LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16371LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16376LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9184LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9188LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9216LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16389LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16390LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16380LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16395LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16396LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16397LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16398LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18190LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18195LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16400LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16401LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16402LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16403LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24318LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17869LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24320LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17870LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18199LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24324LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24744LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24758LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24760LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11124LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11125LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11126LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11127LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16572LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16573LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16574LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16575LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24770LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24771LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24772LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24773LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24774LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24775LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24776LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24777LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9465LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10020LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10029LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10034LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10038LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10043LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10047LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10052LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16776LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16858LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16817LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16899LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17217LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2399LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3850LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11876LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2324LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2326LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2327LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2328LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11499LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11500LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19092LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32254LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23563LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23526LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19450LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20143LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13882LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25696LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25724LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25697LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25698LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25699LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32299LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17522LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18004LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18005LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17534LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18008LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15907LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15910LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15913LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25277LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25293LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25298LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25315LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25317LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25624LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25625LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25353LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25356LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25371LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25374LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14432LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25403LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18715LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23642LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23649LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25432LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25433LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32396LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32397LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16759LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25521LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15481LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14555LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14558LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15052LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14479LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14482LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16881LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14485LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16923LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14493LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14496LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16935LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16960LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14499LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16994LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16997LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17203LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19241LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17427LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17465LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14225LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15927LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15928LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17741LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17742LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17812LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17969LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17992LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21015LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21081LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21082LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21085LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15303LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21095LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19550LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15932LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15933LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15934LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15311LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21103LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17386LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17389LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15115LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15118LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23797LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23800LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23802LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23805LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23811LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23816LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23819LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14646LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19729LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19899LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19901LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19954LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19959LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20019LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20021LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20078LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20083LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20085LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20087LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20089LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20091LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20093LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32651LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32653LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32654LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32655LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21109LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23840LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25525LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25526LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21134LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21135LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25527LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23847LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23849LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25528LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24022LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24268LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19083LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26875LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24151LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24184LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24185LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24190LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24194LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24198LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24201LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24208LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24209LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25224LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25229LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25231LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32658LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4080_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 80LU) -); -} - -/* Mandatory - ns=0;i=78 */ - -static UA_StatusCode function_namespace0_generated_4081_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Mandatory"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 78LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Mandatory"), -UA_NODEID_NUMERIC(ns[0], 77LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2005LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3074LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3075LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3077LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3078LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3081LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3082LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3083LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3084LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3085LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2008LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2742LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2009LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3086LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3087LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3088LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3089LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3090LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3091LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3092LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3093LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2010LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3095LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3096LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3097LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3098LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3099LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3104LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3105LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3106LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3108LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3110LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3111LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3112LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3113LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3114LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2011LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2012LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3115LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11490LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11491LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12872LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12747LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12748LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2014LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2016LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2732LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2733LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2734LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3049LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2019LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2754LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16297LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16298LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16299LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16300LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2021LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3116LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3117LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3118LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3119LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3120LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3121LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3122LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3124LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3125LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3126LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3127LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3128LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2744LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3129LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3130LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2027LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12098LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12099LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12103LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12104LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12105LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12106LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12108LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12109LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12110LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12111LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12112LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12113LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12114LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12115LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12116LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12117LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12118LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12119LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12120LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12121LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12122LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12123LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12124LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12125LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12126LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12127LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12128LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12129LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12130LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12131LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12132LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12133LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12134LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12135LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12136LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12137LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12138LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12140LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12141LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12142LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12143LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12144LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12145LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12146LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12147LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12148LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12149LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12150LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12151LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12152LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2030LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3131LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3132LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3133LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3134LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3135LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3136LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3137LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3138LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3140LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3141LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3142LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3143LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8898LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3151LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3152LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3153LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3154LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3155LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3156LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3157LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3158LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3159LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3160LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3161LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3162LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3163LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3164LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3165LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3166LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3167LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3168LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3169LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3170LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3173LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3175LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2031LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3179LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3180LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3181LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3182LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3183LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3184LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3185LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3186LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3187LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2032LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2035LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2037LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2038LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2040LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11576LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12686LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12687LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11579LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11580LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11581LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11582LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11583LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11584LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11585LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11586LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11587LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11588LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11589LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11590LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11591LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11592LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11594LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11619LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11620LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11621LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11623LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11625LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12690LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12691LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11628LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11632LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11633LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11634LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11636LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11637LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11638LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11639LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11640LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11641LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11642LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11643LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11647LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11648LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11649LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11650LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11651LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11653LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2042LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2043LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2044LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2045LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2046LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2047LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2050LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2051LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2053LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2054LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2055LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2056LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2057LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2745LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2061LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2746LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2062LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2063LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2065LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2066LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2070LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2072LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2073LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2747LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2074LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2749LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2077LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11485LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2081LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2083LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2084LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2092LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2096LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2098LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2750LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2103LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2751LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2128LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2129LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11696LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2134LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2739LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12502LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12503LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23908LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23994LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23995LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23998LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23999LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25684LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2140LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2141LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2142LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3698LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3699LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3700LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3701LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3702LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3703LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2752LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2753LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3052LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3053LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3054LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3055LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3056LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3057LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2151LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2152LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2153LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2154LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2155LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2156LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2157LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2159LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2160LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2161LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2162LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2163LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12780LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12781LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12782LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12783LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2166LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11697LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11698LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11699LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12785LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12786LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12787LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12788LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12789LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12790LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12791LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12792LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12793LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12794LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12795LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12796LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12797LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12798LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12799LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12800LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12801LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12802LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12803LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12804LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12805LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12806LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12807LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12808LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12809LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12810LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12811LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12812LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12813LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12815LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2173LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2175LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8888LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2179LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2180LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2181LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2182LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2183LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2184LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2185LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2186LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2187LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2188LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2190LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2191LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2998LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2193LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8889LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8893LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8895LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8896LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8902LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12817LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12818LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12819LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12820LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12821LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12822LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12823LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12824LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12825LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12826LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12827LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12828LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12829LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12830LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12832LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12834LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12836LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12837LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12838LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12840LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12841LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12845LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12846LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12847LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12849LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12850LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12851LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12852LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12854LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12857LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12858LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2198LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2199LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2200LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2201LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2202LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2203LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2204LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3050LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2205LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2206LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2207LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2208LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2209LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2217LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2218LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2219LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2220LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2221LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2222LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2223LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2224LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2225LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2226LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2227LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2228LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2229LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2230LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2231LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2232LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2233LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2234LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2235LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2236LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2237LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2238LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2239LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2240LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2241LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2242LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2730LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2731LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12861LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12862LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12863LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12864LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12865LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12866LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12867LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12869LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2245LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2246LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2247LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2248LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2249LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2250LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2251LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2252LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3058LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11488LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17632LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2769LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3720LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3724LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2763LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2772LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3728LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3732LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2761LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2768LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2308LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15129LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17712LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17713LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18769LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18770LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18771LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18776LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18777LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18778LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18783LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18784LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18785LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18801LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18787LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18796LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18798LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18799LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18800LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18792LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19074LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19075LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2774LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3754LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2775LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3746LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2776LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3750LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2777LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2778LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13355LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13356LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13357LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13358LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13359LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13360LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17718LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13363LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13364LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13365LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13367LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13368LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13369LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13370LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13372LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13373LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13374LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13375LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13376LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13377LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13378LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13379LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13380LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13381LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13382LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13383LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13384LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13386LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13387LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13388LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13389LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13390LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13391LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13392LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13393LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13394LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13395LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13396LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13397LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15745LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15746LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15747LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15748LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15749LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16359LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15750LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15751LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15752LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15753LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15755LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15794LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15816LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15818LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15820LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15822LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15824LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15826LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15828LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15830LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15832LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15834LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15836LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15838LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15840LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16162LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15997LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15998LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15999LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16000LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16001LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16173LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15625LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15627LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16179LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16181LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16183LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23517LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23521LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2369LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17502LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17575LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2374LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2375LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2377LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11241LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12026LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12027LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12037LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12046LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12055LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12056LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12065LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12066LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12067LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8996LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9003LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11112LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11113LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9009LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9010LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9011LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9012LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9020LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9021LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9022LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9024LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9026LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9027LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9029LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9030LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3876LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12913LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9035LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9036LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9055LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9056LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9064LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9065LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9066LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9067LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9068LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9069LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9070LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24313LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9073LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9074LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9093LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9103LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9111LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9112LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9114LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9118LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9119LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9160LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9161LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11120LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9170LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16372LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9179LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9180LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9185LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9213LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9214LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9211LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9212LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9215LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16381LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18191LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24317LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24319LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24321LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24323LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25154LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16407LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16408LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16409LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16410LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16411LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16412LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16414LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16415LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16416LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16417LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16421LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16422LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16423LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16424LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16432LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16433LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16434LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16435LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16436LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16437LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16438LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16439LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16440LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16441LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16442LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16443LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16444LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16462LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16465LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16466LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16474LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9115LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 6098LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 6100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 6101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11323LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11324LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11326LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11327LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2991LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24757LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2947LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24759LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24761LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9330LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9332LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9334LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9336LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11340LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11341LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11342LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11343LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9398LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9399LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9455LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9456LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9457LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9462LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9963LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9964LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10021LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10030LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10039LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10048LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 10522LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 9905LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11158LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13326LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13327LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17215LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17216LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17222LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11851LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11852LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17223LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17224LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11854LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17280LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17991LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17282LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17284LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17285LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17286LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17287LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17283LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17288LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17289LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18666LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17278LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32245LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32246LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32247LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32248LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32249LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32250LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3830LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3836LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3838LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2393LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2394LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2395LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3840LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3841LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3845LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3846LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3847LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15038LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15040LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3849LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2407LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2401LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2403LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2405LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2409LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2411LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2413LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2415LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2417LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2419LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2421LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2423LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2425LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2379LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11875LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3825LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3826LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2381LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2382LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2383LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2384LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2386LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2387LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2388LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2389LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2390LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15384LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15386LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15387LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15388LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15389LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15390LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15391LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15392LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15393LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15394LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15395LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3059LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11168LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11169LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11170LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2323LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2331LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2332LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11268LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11269LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2334LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2335LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2336LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2337LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2338LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11278LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11279LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11280LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11501LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11270LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3003LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3029LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3030LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3026LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3031LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3032LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3033LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19293LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19294LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19295LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3027LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3015LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3016LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3034LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3020LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3021LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3024LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12542LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12543LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12544LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12545LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12546LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12705LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12547LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12548LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12549LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12550LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12551LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19446LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19447LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19448LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13602LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13603LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13606LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13607LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13608LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13610LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13611LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13612LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13613LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13614LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13615LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13619LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13620LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13621LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13623LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13624LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13625LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13626LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13627LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13628LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23527LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19451LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19452LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19453LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19454LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19455LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19456LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19458LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19459LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19460LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19464LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19465LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19466LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19467LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19468LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19476LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19477LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19478LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19479LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19480LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19481LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19482LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19483LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19484LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19485LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19486LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19487LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19488LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19505LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19506LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19509LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19510LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19518LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20138LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20141LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20142LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20144LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20145LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20146LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20147LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20148LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20149LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20151LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20152LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20153LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20154LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20157LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20158LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20159LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20160LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20161LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20169LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20170LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20173LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20175LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20179LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20180LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20181LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20198LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20199LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20202LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20203LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20211LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20249LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20286LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20287LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20288LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20289LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13815LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13816LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13817LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13818LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13819LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13821LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13822LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13823LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13824LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13825LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13826LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13827LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13828LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13829LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13830LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13832LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13834LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13836LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13837LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13838LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13840LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13841LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13845LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13846LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13847LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13849LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13850LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13851LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13852LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13857LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13858LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13860LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13861LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13862LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13863LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13864LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13865LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13866LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13867LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13869LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13870LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13871LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13872LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13873LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13875LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13876LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13877LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13878LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13879LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13880LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13881LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13883LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13885LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13886LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13887LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13889LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13893LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13895LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13896LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13898LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13899LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13901LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13902LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13903LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13904LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13905LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13906LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13907LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13908LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13909LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13910LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13911LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13913LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13914LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13915LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13917LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13918LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13919LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13920LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13921LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13923LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13924LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13925LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13926LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13927LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13928LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13929LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13930LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13931LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13932LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13933LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13934LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13935LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13936LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13937LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13938LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13939LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13940LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13941LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13942LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13944LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13945LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13946LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13947LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32287LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32288LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32289LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32290LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32291LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32292LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13950LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13951LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13952LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13953LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13954LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13955LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13956LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13958LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13959LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13960LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13961LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13962LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13963LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13964LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13965LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13966LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13967LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13968LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13969LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13970LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13971LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13972LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13973LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13974LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13975LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13976LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13977LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13978LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13979LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13980LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13981LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13982LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13983LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13984LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12708LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12583LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12584LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12585LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32297LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32298LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12734LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12731LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12732LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12733LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12775LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12776LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32300LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32301LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32302LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32303LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32304LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32305LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13735LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13736LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17512LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17513LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17523LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17524LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18069LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18165LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17535LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17536LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18064LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23558LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23559LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23560LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18072LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17860LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18073LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11188LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11190LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11191LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15908LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15909LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15911LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15914LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15915LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15916LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15917LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15918LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25278LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25279LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25280LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25282LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15454LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15455LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15456LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15457LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15458LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25294LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25295LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25297LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15460LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15010LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15011LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15012LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15043LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15462LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15463LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15464LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15465LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25313LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25314LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15472LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15046LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15047LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15048LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15056LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25627LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25628LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25634LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25340LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25636LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25637LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25638LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25639LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25640LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25641LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25642LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25643LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25644LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25646LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25647LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25348LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25349LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25350LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25351LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25352LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25354LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25355LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25357LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25648LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25649LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25361LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25650LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25651LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25653LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25654LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25655LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25656LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25657LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25658LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25660LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25661LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25366LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25367LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25368LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25369LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25370LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25372LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25373LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25375LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14418LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17292LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17706LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17478LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14423LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15533LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17503LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14419LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17297LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14433LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14434LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25404LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25405LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25406LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25407LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25411LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25412LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25413LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25414LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25415LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25416LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25417LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25418LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25419LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25421LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25422LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25423LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25424LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25425LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25426LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25427LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25428LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25429LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25430LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25431LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15845LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18716LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18717LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18718LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18720LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18722LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18723LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18724LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18725LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18727LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18728LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18729LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18730LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18731LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18732LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18733LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18735LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18736LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18737LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18738LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18740LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18741LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18742LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18743LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18745LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18746LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18747LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18748LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18750LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18751LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18752LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18753LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18755LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18757LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18758LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18760LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18761LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18762LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18763LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18764LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18765LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18766LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18767LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18768LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23643LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23644LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23646LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23647LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23648LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17479LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25505LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25506LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25507LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25508LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25509LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25510LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16720LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16721LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17482LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15223LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15224LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15229LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15482LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15483LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15484LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15485LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15486LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15491LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15492LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15493LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15494LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15495LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14548LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14556LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14557LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14559LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14560LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14586LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14587LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14588LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15053LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15517LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14480LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14481LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14483LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14484LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16882LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16883LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14486LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16922LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16924LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14489LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15221LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14494LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14495LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14497LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14498LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16958LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16959LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16961LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16971LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14500LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16995LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16996LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14595LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17306LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17710LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17485LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14221LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17202LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17576LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17311LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17204LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17486LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17314LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17315LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17214LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17318LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17319LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17321LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17558LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17326LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17302LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17487LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17329LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17330LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19242LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19243LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19244LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19245LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19246LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19248LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19249LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19250LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19251LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19253LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19254LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19255LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19256LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19257LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19258LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19259LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19261LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19262LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19263LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19264LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19266LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19267LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19268LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19269LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19271LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19272LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19273LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19274LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19276LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19277LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19278LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19279LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19282LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19283LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19284LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19286LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19287LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19288LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17428LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17456LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17507LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17508LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14226LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15926LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17724LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17488LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15265LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15266LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17736LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17737LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17738LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17739LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17740LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17559LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17744LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17745LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17490LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17749LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17750LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17813LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17815LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17816LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17817LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17819LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17820LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17821LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17822LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17824LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17825LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17826LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17827LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17828LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17829LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17830LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17832LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17834LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17837LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17838LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17840LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17842LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17845LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17847LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17849LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17850LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17854LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17864LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17871LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17872LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17878LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17885LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17901LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17902LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17903LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17858LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17913LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17920LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17927LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17934LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17976LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17987LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17993LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18077LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18078LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18081LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18082LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17560LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17562LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17492LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18088LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18089LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21016LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21018LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21019LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21020LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21022LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21024LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21025LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21027LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21028LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21029LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21030LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21031LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21032LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21033LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21035LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21036LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21037LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21038LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21040LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21041LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21042LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21043LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21045LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21046LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21047LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21048LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21050LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21051LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21052LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21053LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21055LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21056LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21057LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21058LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21061LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21062LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21063LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21064LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21060LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21077LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21078LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21083LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21084LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21086LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21092LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21093LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17493LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15299LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15300LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19551LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19552LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19553LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19554LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19555LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19557LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19558LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19559LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19560LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19562LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19563LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19564LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19565LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19566LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19567LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19568LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19570LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19571LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19572LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19573LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19575LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19576LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19577LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19578LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19580LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19581LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19582LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19583LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19585LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19586LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19587LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19588LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19590LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19591LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19592LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19596LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19597LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19595LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21097LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21098LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21099LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17563LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17564LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17494LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15307LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15308LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19610LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19611LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19612LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19613LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19614LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19619LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19621LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19623LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19624LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19625LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19626LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19627LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19632LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19634LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19636LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19637LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19639LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19640LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19641LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19642LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19644LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19646LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19647LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19649LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19650LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19651LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19655LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19656LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19657LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19658LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19654LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17387LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17388LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17390LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17391LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15114LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15116LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15117LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15119LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15120LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23798LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23799LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23801LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23803LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23804LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23806LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23808LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23809LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23810LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23812LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23813LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23815LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23817LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23818LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23820LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23829LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23830LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14644LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19678LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19679LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19680LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19681LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19682LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19684LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19685LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19686LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19687LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19689LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19690LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19691LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19692LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19693LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19694LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19695LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19697LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19698LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19699LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19700LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19702LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19703LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19704LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19705LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19707LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19708LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19709LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19710LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19712LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19713LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19714LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19715LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19717LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19718LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19720LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19722LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19726LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19727LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19728LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19777LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19778LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19779LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19780LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19781LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19782LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19783LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19784LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19785LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19831LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19832LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19880LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19881LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19882LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19883LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19885LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19886LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19887LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19888LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19893LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19879LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19895LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19896LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19898LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19902LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19917LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19950LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19951LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19952LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19955LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19956LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19957LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19960LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19961LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19962LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19964LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19965LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19966LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19967LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19982LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20014LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20015LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20016LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20013LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20020LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20022LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20024LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20026LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20041LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20073LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20074LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20075LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20081LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20072LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20084LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20086LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20088LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20090LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20092LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 20094LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23833LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23834LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23835LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23836LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23837LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23838LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15545LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15546LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15547LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15561LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15562LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15576LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21106LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21108LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21110LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21112LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21113LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21114LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21115LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21117LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21119LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17477LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21120LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21121LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21122LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21123LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21124LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21125LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21127LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21129LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21131LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21132LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15072LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15154LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17579LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23843LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24018LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24019LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15156LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21137LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15246LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15247LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15249LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21139LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21140LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15250LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15251LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15330LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21141LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21143LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15334LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15419LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15420LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21144LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21146LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17582LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21149LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23459LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23460LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23461LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23462LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23463LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23464LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24265LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24266LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24267LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24269LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24270LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24271LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24272LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24273LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24274LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24275LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24276LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19082LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 19090LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26850LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26851LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26852LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26849LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26872LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26873LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26876LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26879LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26880LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26881LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26882LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26883LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26885LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26889LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26893LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26895LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26896LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26898LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26899LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26901LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26902LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26903LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26904LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26907LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26908LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26909LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26910LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26911LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26913LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26914LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26915LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26916LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26917LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27997LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27998LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27999LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28000LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28001LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28002LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28003LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28005LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28008LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28010LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28011LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28012LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28013LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 28014LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 27996LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24149LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24150LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24152LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24157LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24159LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24164LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24165LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24166LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24234LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24168LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25219LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24170LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24175LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24180LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24181LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24182LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24186LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24187LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24200LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24203LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24204LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24206LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24207LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25222LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25223LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25225LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25252LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25228LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25230LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25232LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4081_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 78LU) -); -} - -/* MandatoryPlaceholder - ns=0;i=11510 */ - -static UA_StatusCode function_namespace0_generated_4082_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "MandatoryPlaceholder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11510LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "MandatoryPlaceholder"), -UA_NODEID_NUMERIC(ns[0], 77LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4082_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11510LU) -); -} - -/* OptionalPlaceholder - ns=0;i=11508 */ - -static UA_StatusCode function_namespace0_generated_4083_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OptionalPlaceholder"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11508LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "OptionalPlaceholder"), -UA_NODEID_NUMERIC(ns[0], 77LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11562LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12097LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11646LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13354LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13366LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15754LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15608LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17590LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17592LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16399LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16406LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32226LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2426LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2427LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2428LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2429LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2430LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 13916LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17511LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23557LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15453LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15459LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25626LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25347LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25358LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14417LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24009LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15222LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15490LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14478LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14487LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17310LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17743LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18076LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23796LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23807LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23457LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23458LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 26878LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11508LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25226LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4083_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11508LU) -); -} - -/* DataTypeEncodingType - ns=0;i=76 */ - -static UA_StatusCode function_namespace0_generated_4084_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeEncodingType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 76LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeEncodingType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4084_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 76LU) -); -} - -/* Default Binary - ns=0;i=950 */ - -static UA_StatusCode function_namespace0_generated_4085_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 950LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 950LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4085_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 950LU) -); -} - -/* Default XML - ns=0;i=949 */ - -static UA_StatusCode function_namespace0_generated_4086_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 949LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 949LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4086_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 949LU) -); -} - -/* Default Binary - ns=0;i=940 */ - -static UA_StatusCode function_namespace0_generated_4087_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 940LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 940LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 938LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4087_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 940LU) -); -} - -/* Default XML - ns=0;i=939 */ - -static UA_StatusCode function_namespace0_generated_4088_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 939LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 939LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 938LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4088_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 939LU) -); -} - -/* Default Binary - ns=0;i=922 */ - -static UA_StatusCode function_namespace0_generated_4089_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 922LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 922LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 920LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4089_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 922LU) -); -} - -/* Default XML - ns=0;i=921 */ - -static UA_StatusCode function_namespace0_generated_4090_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 921LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 921LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 920LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4090_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 921LU) -); -} - -/* Default Binary - ns=0;i=899 */ - -static UA_StatusCode function_namespace0_generated_4091_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 899LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 899LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4091_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 899LU) -); -} - -/* Default XML - ns=0;i=898 */ - -static UA_StatusCode function_namespace0_generated_4092_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 898LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 898LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4092_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 898LU) -); -} - -/* Default Binary - ns=0;i=896 */ - -static UA_StatusCode function_namespace0_generated_4093_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 896LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 896LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4093_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 896LU) -); -} - -/* Default XML - ns=0;i=895 */ - -static UA_StatusCode function_namespace0_generated_4094_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 895LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 895LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4094_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 895LU) -); -} - -/* Default Binary - ns=0;i=893 */ - -static UA_StatusCode function_namespace0_generated_4095_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 893LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 893LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4095_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 893LU) -); -} - -/* Default XML - ns=0;i=892 */ - -static UA_StatusCode function_namespace0_generated_4096_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 892LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 892LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4096_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 892LU) -); -} - -/* Default Binary - ns=0;i=8917 */ - -static UA_StatusCode function_namespace0_generated_4097_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 8917LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8917LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4097_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8917LU) -); -} - -/* Default XML - ns=0;i=8913 */ - -static UA_StatusCode function_namespace0_generated_4098_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 8913LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8913LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4098_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8913LU) -); -} - -/* Default Binary - ns=0;i=889 */ - -static UA_StatusCode function_namespace0_generated_4099_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 889LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 889LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 887LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4099_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 889LU) -); -} - -/* Default XML - ns=0;i=888 */ - -static UA_StatusCode function_namespace0_generated_4100_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 888LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 888LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 887LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4100_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 888LU) -); -} - -/* Default Binary - ns=0;i=886 */ - -static UA_StatusCode function_namespace0_generated_4101_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 886LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 886LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4101_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 886LU) -); -} - -/* Default XML - ns=0;i=885 */ - -static UA_StatusCode function_namespace0_generated_4102_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 885LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 885LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4102_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 885LU) -); -} - -/* Default Binary - ns=0;i=879 */ - -static UA_StatusCode function_namespace0_generated_4103_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 879LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 879LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 877LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4103_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 879LU) -); -} - -/* Default XML - ns=0;i=878 */ - -static UA_StatusCode function_namespace0_generated_4104_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 878LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 878LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 877LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4104_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 878LU) -); -} - -/* Default Binary - ns=0;i=876 */ - -static UA_StatusCode function_namespace0_generated_4105_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 876LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 876LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4105_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 876LU) -); -} - -/* Default XML - ns=0;i=875 */ - -static UA_StatusCode function_namespace0_generated_4106_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 875LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 875LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4106_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 875LU) -); -} - -/* Default Binary - ns=0;i=873 */ - -static UA_StatusCode function_namespace0_generated_4107_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 873LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 873LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 871LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4107_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 873LU) -); -} - -/* Default XML - ns=0;i=872 */ - -static UA_StatusCode function_namespace0_generated_4108_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 872LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 872LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 871LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4108_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 872LU) -); -} - -/* Default Binary - ns=0;i=870 */ - -static UA_StatusCode function_namespace0_generated_4109_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 870LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 870LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4109_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 870LU) -); -} - -/* Default XML - ns=0;i=869 */ - -static UA_StatusCode function_namespace0_generated_4110_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 869LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 869LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4110_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 869LU) -); -} - -/* Default Binary - ns=0;i=867 */ - -static UA_StatusCode function_namespace0_generated_4111_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 867LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 867LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 865LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4111_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 867LU) -); -} - -/* Default XML - ns=0;i=866 */ - -static UA_StatusCode function_namespace0_generated_4112_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 866LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 866LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 865LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4112_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 866LU) -); -} - -/* Default Binary - ns=0;i=864 */ - -static UA_StatusCode function_namespace0_generated_4113_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 864LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 864LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 862LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4113_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 864LU) -); -} - -/* Default XML - ns=0;i=863 */ - -static UA_StatusCode function_namespace0_generated_4114_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 863LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 863LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 862LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4114_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 863LU) -); -} - -/* Default Binary - ns=0;i=861 */ - -static UA_StatusCode function_namespace0_generated_4115_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 861LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 861LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4115_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 861LU) -); -} - -/* Default XML - ns=0;i=860 */ - -static UA_StatusCode function_namespace0_generated_4116_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 860LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 860LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4116_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 860LU) -); -} - -/* Default Binary - ns=0;i=858 */ - -static UA_StatusCode function_namespace0_generated_4117_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 858LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 858LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4117_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 858LU) -); -} - -/* Default XML - ns=0;i=857 */ - -static UA_StatusCode function_namespace0_generated_4118_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 857LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 857LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4118_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 857LU) -); -} - -/* Default Binary - ns=0;i=855 */ - -static UA_StatusCode function_namespace0_generated_4119_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 855LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 855LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4119_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 855LU) -); -} - -/* Default XML - ns=0;i=854 */ - -static UA_StatusCode function_namespace0_generated_4120_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 854LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 854LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4120_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 854LU) -); -} - -/* Default Binary - ns=0;i=8251 */ - -static UA_StatusCode function_namespace0_generated_4121_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 8251LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8251LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7594LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4121_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8251LU) -); -} - -/* Default XML - ns=0;i=7616 */ - -static UA_StatusCode function_namespace0_generated_4122_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 7616LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7616LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7594LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4122_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7616LU) -); -} - -/* Default Binary - ns=0;i=727 */ - -static UA_StatusCode function_namespace0_generated_4123_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 727LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 727LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 725LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4123_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 727LU) -); -} - -/* Default XML - ns=0;i=726 */ - -static UA_StatusCode function_namespace0_generated_4124_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 726LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 726LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 725LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4124_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 726LU) -); -} - -/* Default Binary - ns=0;i=721 */ - -static UA_StatusCode function_namespace0_generated_4125_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 721LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 721LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4125_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 721LU) -); -} - -/* Default XML - ns=0;i=720 */ - -static UA_StatusCode function_namespace0_generated_4126_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 720LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 720LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4126_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 720LU) -); -} - -/* Default Binary - ns=0;i=661 */ - -static UA_StatusCode function_namespace0_generated_4127_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 661LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 661LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4127_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 661LU) -); -} - -/* Default XML - ns=0;i=660 */ - -static UA_StatusCode function_namespace0_generated_4128_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 660LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 660LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4128_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 660LU) -); -} - -/* Default Binary - ns=0;i=603 */ - -static UA_StatusCode function_namespace0_generated_4129_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 603LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 603LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4129_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 603LU) -); -} - -/* Default XML - ns=0;i=602 */ - -static UA_StatusCode function_namespace0_generated_4130_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 602LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 602LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4130_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 602LU) -); -} - -/* Default Binary - ns=0;i=600 */ - -static UA_StatusCode function_namespace0_generated_4131_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 600LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 600LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4131_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 600LU) -); -} - -/* Default XML - ns=0;i=599 */ - -static UA_StatusCode function_namespace0_generated_4132_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 599LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 599LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4132_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 599LU) -); -} - -/* Default Binary - ns=0;i=597 */ - -static UA_StatusCode function_namespace0_generated_4133_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 597LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 597LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 595LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4133_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 597LU) -); -} - -/* Default XML - ns=0;i=596 */ - -static UA_StatusCode function_namespace0_generated_4134_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 596LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 596LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 595LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4134_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 596LU) -); -} - -/* Default Binary - ns=0;i=594 */ - -static UA_StatusCode function_namespace0_generated_4135_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 594LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 594LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 592LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4135_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 594LU) -); -} - -/* Default XML - ns=0;i=593 */ - -static UA_StatusCode function_namespace0_generated_4136_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 593LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 593LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 592LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4136_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 593LU) -); -} - -/* Default Binary - ns=0;i=591 */ - -static UA_StatusCode function_namespace0_generated_4137_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 591LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 591LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 589LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4137_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 591LU) -); -} - -/* Default XML - ns=0;i=590 */ - -static UA_StatusCode function_namespace0_generated_4138_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 590LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 590LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 589LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4138_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 590LU) -); -} - -/* Default Binary - ns=0;i=588 */ - -static UA_StatusCode function_namespace0_generated_4139_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 588LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 588LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 586LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4139_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 588LU) -); -} - -/* Default XML - ns=0;i=587 */ - -static UA_StatusCode function_namespace0_generated_4140_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 587LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 587LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 586LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4140_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 587LU) -); -} - -/* Default Binary - ns=0;i=585 */ - -static UA_StatusCode function_namespace0_generated_4141_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 585LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 585LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 583LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4141_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 585LU) -); -} - -/* Default XML - ns=0;i=584 */ - -static UA_StatusCode function_namespace0_generated_4142_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 584LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 584LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 583LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4142_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 584LU) -); -} - -/* Default Binary - ns=0;i=542 */ - -static UA_StatusCode function_namespace0_generated_4143_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 542LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 542LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 540LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4143_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 542LU) -); -} - -/* Default XML - ns=0;i=541 */ - -static UA_StatusCode function_namespace0_generated_4144_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 541LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 541LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 540LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4144_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 541LU) -); -} - -/* Default Binary - ns=0;i=539 */ - -static UA_StatusCode function_namespace0_generated_4145_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 539LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 539LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 537LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4145_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 539LU) -); -} - -/* Default XML - ns=0;i=538 */ - -static UA_StatusCode function_namespace0_generated_4146_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 538LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 538LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 537LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4146_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 538LU) -); -} - -/* Default Binary - ns=0;i=434 */ - -static UA_StatusCode function_namespace0_generated_4147_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 434LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 434LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 432LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4147_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 434LU) -); -} - -/* Default XML - ns=0;i=433 */ - -static UA_StatusCode function_namespace0_generated_4148_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 433LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 433LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 432LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4148_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 433LU) -); -} - -/* Default Binary - ns=0;i=387 */ - -static UA_StatusCode function_namespace0_generated_4149_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 387LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 387LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4149_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 387LU) -); -} - -/* Default XML - ns=0;i=386 */ - -static UA_StatusCode function_namespace0_generated_4150_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 386LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 386LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4150_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 386LU) -); -} - -/* Default Binary - ns=0;i=384 */ - -static UA_StatusCode function_namespace0_generated_4151_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 384LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 384LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 382LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4151_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 384LU) -); -} - -/* Default XML - ns=0;i=383 */ - -static UA_StatusCode function_namespace0_generated_4152_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 383LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 383LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 382LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4152_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 383LU) -); -} - -/* Default Binary - ns=0;i=381 */ - -static UA_StatusCode function_namespace0_generated_4153_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 381LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 381LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 379LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4153_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 381LU) -); -} - -/* Default XML - ns=0;i=380 */ - -static UA_StatusCode function_namespace0_generated_4154_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 380LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 380LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 379LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4154_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 380LU) -); -} - -/* Default Binary - ns=0;i=378 */ - -static UA_StatusCode function_namespace0_generated_4155_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 378LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 378LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 376LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4155_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 378LU) -); -} - -/* Default XML - ns=0;i=377 */ - -static UA_StatusCode function_namespace0_generated_4156_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 377LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 377LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 376LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4156_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 377LU) -); -} - -/* Default Binary - ns=0;i=346 */ - -static UA_StatusCode function_namespace0_generated_4157_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 346LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 346LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 344LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4157_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 346LU) -); -} - -/* Default XML - ns=0;i=345 */ - -static UA_StatusCode function_namespace0_generated_4158_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 345LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 345LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 344LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4158_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 345LU) -); -} - -/* Default Binary - ns=0;i=340 */ - -static UA_StatusCode function_namespace0_generated_4159_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 340LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 340LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 338LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4159_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 340LU) -); -} - -/* Default XML - ns=0;i=339 */ - -static UA_StatusCode function_namespace0_generated_4160_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 339LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 339LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 338LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4160_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 339LU) -); -} - -/* Default Binary - ns=0;i=333 */ - -static UA_StatusCode function_namespace0_generated_4161_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 333LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 333LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 331LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4161_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 333LU) -); -} - -/* Default XML - ns=0;i=332 */ - -static UA_StatusCode function_namespace0_generated_4162_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 332LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 332LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 331LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4162_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 332LU) -); -} - -/* Default Binary - ns=0;i=327 */ - -static UA_StatusCode function_namespace0_generated_4163_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 327LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 327LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4163_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 327LU) -); -} - -/* Default JSON - ns=0;i=32678 */ - -static UA_StatusCode function_namespace0_generated_4164_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32678LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32678LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32660LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4164_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32678LU) -); -} - -/* Default JSON - ns=0;i=32677 */ - -static UA_StatusCode function_namespace0_generated_4165_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32677LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32677LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4165_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32677LU) -); -} - -/* Default XML - ns=0;i=32670 */ - -static UA_StatusCode function_namespace0_generated_4166_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32670LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32670LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32660LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4166_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32670LU) -); -} - -/* Default XML - ns=0;i=32669 */ - -static UA_StatusCode function_namespace0_generated_4167_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32669LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32669LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4167_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32669LU) -); -} - -/* Default Binary - ns=0;i=32662 */ - -static UA_StatusCode function_namespace0_generated_4168_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32662LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32662LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32660LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4168_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32662LU) -); -} - -/* Default Binary - ns=0;i=32661 */ - -static UA_StatusCode function_namespace0_generated_4169_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32661LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32661LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4169_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32661LU) -); -} - -/* Default XML - ns=0;i=326 */ - -static UA_StatusCode function_namespace0_generated_4170_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 326LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 326LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4170_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 326LU) -); -} - -/* Default Binary - ns=0;i=324 */ - -static UA_StatusCode function_namespace0_generated_4171_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 324LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 324LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4171_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 324LU) -); -} - -/* Default JSON - ns=0;i=32390 */ - -static UA_StatusCode function_namespace0_generated_4172_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32390LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32390LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32285LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4172_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32390LU) -); -} - -/* Default XML - ns=0;i=32386 */ - -static UA_StatusCode function_namespace0_generated_4173_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32386LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32386LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32285LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4173_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32386LU) -); -} - -/* Default Binary - ns=0;i=32382 */ - -static UA_StatusCode function_namespace0_generated_4174_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 32382LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32382LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32285LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4174_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32382LU) -); -} - -/* Default XML - ns=0;i=323 */ - -static UA_StatusCode function_namespace0_generated_4175_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 323LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 323LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4175_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 323LU) -); -} - -/* Default Binary - ns=0;i=321 */ - -static UA_StatusCode function_namespace0_generated_4176_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 321LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 321LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 319LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4176_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 321LU) -); -} - -/* Default XML - ns=0;i=320 */ - -static UA_StatusCode function_namespace0_generated_4177_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 320LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 320LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 319LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4177_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 320LU) -); -} - -/* Default Binary - ns=0;i=318 */ - -static UA_StatusCode function_namespace0_generated_4178_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 318LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 318LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4178_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 318LU) -); -} - -/* Default XML - ns=0;i=317 */ - -static UA_StatusCode function_namespace0_generated_4179_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 317LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 317LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4179_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 317LU) -); -} - -/* Default Binary - ns=0;i=314 */ - -static UA_StatusCode function_namespace0_generated_4180_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 314LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 314LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4180_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 314LU) -); -} - -/* Default XML - ns=0;i=313 */ - -static UA_StatusCode function_namespace0_generated_4181_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 313LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 313LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4181_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 313LU) -); -} - -/* Default Binary - ns=0;i=310 */ - -static UA_StatusCode function_namespace0_generated_4182_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 310LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 310LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 308LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4182_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 310LU) -); -} - -/* Default XML - ns=0;i=309 */ - -static UA_StatusCode function_namespace0_generated_4183_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 309LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 309LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 308LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4183_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 309LU) -); -} - -/* Default Binary - ns=0;i=306 */ - -static UA_StatusCode function_namespace0_generated_4184_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 306LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 306LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 304LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4184_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 306LU) -); -} - -/* Default XML - ns=0;i=305 */ - -static UA_StatusCode function_namespace0_generated_4185_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 305LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 305LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 304LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4185_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 305LU) -); -} - -/* Default Binary - ns=0;i=301 */ - -static UA_StatusCode function_namespace0_generated_4186_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 301LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 301LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 299LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4186_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 301LU) -); -} - -/* Default XML - ns=0;i=300 */ - -static UA_StatusCode function_namespace0_generated_4187_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 300LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 300LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 299LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4187_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 300LU) -); -} - -/* Default Binary - ns=0;i=298 */ - -static UA_StatusCode function_namespace0_generated_4188_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 298LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 298LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4188_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 298LU) -); -} - -/* Default XML - ns=0;i=297 */ - -static UA_StatusCode function_namespace0_generated_4189_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 297LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 297LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4189_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 297LU) -); -} - -/* Default JSON - ns=0;i=25564 */ - -static UA_StatusCode function_namespace0_generated_4190_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25564LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25564LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4190_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25564LU) -); -} - -/* Default JSON - ns=0;i=25563 */ - -static UA_StatusCode function_namespace0_generated_4191_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25563LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25563LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4191_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25563LU) -); -} - -/* Default JSON - ns=0;i=25562 */ - -static UA_StatusCode function_namespace0_generated_4192_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25562LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25562LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25270LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4192_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25562LU) -); -} - -/* Default JSON - ns=0;i=25561 */ - -static UA_StatusCode function_namespace0_generated_4193_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25561LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25561LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25269LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4193_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25561LU) -); -} - -/* Default XML - ns=0;i=25548 */ - -static UA_StatusCode function_namespace0_generated_4194_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25548LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25548LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4194_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25548LU) -); -} - -/* Default XML - ns=0;i=25547 */ - -static UA_StatusCode function_namespace0_generated_4195_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25547LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25547LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4195_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25547LU) -); -} - -/* Default XML - ns=0;i=25546 */ - -static UA_StatusCode function_namespace0_generated_4196_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25546LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25546LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25270LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4196_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25546LU) -); -} - -/* Default XML - ns=0;i=25545 */ - -static UA_StatusCode function_namespace0_generated_4197_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25545LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25545LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25269LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4197_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25545LU) -); -} - -/* Default Binary - ns=0;i=25532 */ - -static UA_StatusCode function_namespace0_generated_4198_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25532LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25532LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4198_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25532LU) -); -} - -/* Default Binary - ns=0;i=25531 */ - -static UA_StatusCode function_namespace0_generated_4199_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25531LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25531LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25519LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4199_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25531LU) -); -} - -/* Default Binary - ns=0;i=25530 */ - -static UA_StatusCode function_namespace0_generated_4200_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25530LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25530LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25270LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4200_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25530LU) -); -} - -/* Default Binary - ns=0;i=25529 */ - -static UA_StatusCode function_namespace0_generated_4201_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25529LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25529LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25269LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4201_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25529LU) -); -} - -/* Default JSON - ns=0;i=25247 */ - -static UA_StatusCode function_namespace0_generated_4202_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25247LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25247LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25220LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4202_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25247LU) -); -} - -/* Default XML - ns=0;i=25243 */ - -static UA_StatusCode function_namespace0_generated_4203_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25243LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25243LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25220LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4203_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25243LU) -); -} - -/* Default Binary - ns=0;i=25239 */ - -static UA_StatusCode function_namespace0_generated_4204_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 25239LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25239LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25220LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4204_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25239LU) -); -} - -/* Default JSON - ns=0;i=24300 */ - -static UA_StatusCode function_namespace0_generated_4205_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24300LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24300LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4205_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24300LU) -); -} - -/* Default XML - ns=0;i=24296 */ - -static UA_StatusCode function_namespace0_generated_4206_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24296LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24296LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4206_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24296LU) -); -} - -/* Default Binary - ns=0;i=24292 */ - -static UA_StatusCode function_namespace0_generated_4207_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24292LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24292LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24281LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4207_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24292LU) -); -} - -/* Default JSON - ns=0;i=24134 */ - -static UA_StatusCode function_namespace0_generated_4208_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24134LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24134LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4208_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24134LU) -); -} - -/* Default JSON - ns=0;i=24133 */ - -static UA_StatusCode function_namespace0_generated_4209_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24133LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24133LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24106LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4209_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24133LU) -); -} - -/* Default JSON - ns=0;i=24132 */ - -static UA_StatusCode function_namespace0_generated_4210_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24132LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24132LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24105LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4210_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24132LU) -); -} - -/* Default XML - ns=0;i=24122 */ - -static UA_StatusCode function_namespace0_generated_4211_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24122LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24122LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4211_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24122LU) -); -} - -/* Default XML - ns=0;i=24121 */ - -static UA_StatusCode function_namespace0_generated_4212_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24121LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24121LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24106LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4212_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24121LU) -); -} - -/* Default XML - ns=0;i=24120 */ - -static UA_StatusCode function_namespace0_generated_4213_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24120LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24120LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24105LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4213_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24120LU) -); -} - -/* Default Binary - ns=0;i=24110 */ - -static UA_StatusCode function_namespace0_generated_4214_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24110LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24110LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24107LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4214_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24110LU) -); -} - -/* Default Binary - ns=0;i=24109 */ - -static UA_StatusCode function_namespace0_generated_4215_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24109LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24109LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24106LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4215_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24109LU) -); -} - -/* Default Binary - ns=0;i=24108 */ - -static UA_StatusCode function_namespace0_generated_4216_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24108LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24108LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24105LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4216_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24108LU) -); -} - -/* Default JSON - ns=0;i=24042 */ - -static UA_StatusCode function_namespace0_generated_4217_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24042LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24042LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24033LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4217_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24042LU) -); -} - -/* Default XML - ns=0;i=24038 */ - -static UA_StatusCode function_namespace0_generated_4218_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24038LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24038LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24033LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4218_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24038LU) -); -} - -/* Default Binary - ns=0;i=24034 */ - -static UA_StatusCode function_namespace0_generated_4219_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24034LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24034LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24033LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4219_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24034LU) -); -} - -/* Default JSON - ns=0;i=24002 */ - -static UA_StatusCode function_namespace0_generated_4220_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24002LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24002LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23614LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4220_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24002LU) -); -} - -/* Default JSON - ns=0;i=24001 */ - -static UA_StatusCode function_namespace0_generated_4221_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24001LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24001LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23613LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4221_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24001LU) -); -} - -/* Default JSON - ns=0;i=24000 */ - -static UA_StatusCode function_namespace0_generated_4222_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 24000LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24000LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23612LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4222_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24000LU) -); -} - -/* Default JSON - ns=0;i=23997 */ - -static UA_StatusCode function_namespace0_generated_4223_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23997LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23997LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4223_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23997LU) -); -} - -/* Default JSON - ns=0;i=23996 */ - -static UA_StatusCode function_namespace0_generated_4224_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23996LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23996LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23608LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4224_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23996LU) -); -} - -/* Default JSON - ns=0;i=23993 */ - -static UA_StatusCode function_namespace0_generated_4225_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23993LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23993LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4225_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23993LU) -); -} - -/* Default JSON - ns=0;i=23992 */ - -static UA_StatusCode function_namespace0_generated_4226_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23992LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23992LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23604LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4226_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23992LU) -); -} - -/* Default JSON - ns=0;i=23991 */ - -static UA_StatusCode function_namespace0_generated_4227_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23991LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23991LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23603LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4227_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23991LU) -); -} - -/* Default JSON - ns=0;i=23990 */ - -static UA_StatusCode function_namespace0_generated_4228_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23990LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23990LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23602LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4228_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23990LU) -); -} - -/* Default JSON - ns=0;i=23989 */ - -static UA_StatusCode function_namespace0_generated_4229_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23989LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23989LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4229_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23989LU) -); -} - -/* Default JSON - ns=0;i=23988 */ - -static UA_StatusCode function_namespace0_generated_4230_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23988LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23988LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4230_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23988LU) -); -} - -/* Default JSON - ns=0;i=23987 */ - -static UA_StatusCode function_namespace0_generated_4231_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23987LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23987LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4231_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23987LU) -); -} - -/* Default XML - ns=0;i=23934 */ - -static UA_StatusCode function_namespace0_generated_4232_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23934LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23934LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23614LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4232_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23934LU) -); -} - -/* Default XML - ns=0;i=23933 */ - -static UA_StatusCode function_namespace0_generated_4233_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23933LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23933LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23613LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4233_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23933LU) -); -} - -/* Default XML - ns=0;i=23932 */ - -static UA_StatusCode function_namespace0_generated_4234_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23932LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23932LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23612LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4234_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23932LU) -); -} - -/* Default XML - ns=0;i=23929 */ - -static UA_StatusCode function_namespace0_generated_4235_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23929LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23929LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4235_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23929LU) -); -} - -/* Default XML - ns=0;i=23928 */ - -static UA_StatusCode function_namespace0_generated_4236_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23928LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23928LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23608LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4236_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23928LU) -); -} - -/* Default XML - ns=0;i=23925 */ - -static UA_StatusCode function_namespace0_generated_4237_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23925LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23925LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4237_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23925LU) -); -} - -/* Default XML - ns=0;i=23924 */ - -static UA_StatusCode function_namespace0_generated_4238_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23924LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23924LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23604LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4238_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23924LU) -); -} - -/* Default XML - ns=0;i=23923 */ - -static UA_StatusCode function_namespace0_generated_4239_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23923LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23923LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23603LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4239_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23923LU) -); -} - -/* Default XML - ns=0;i=23922 */ - -static UA_StatusCode function_namespace0_generated_4240_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23922LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23922LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23602LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4240_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23922LU) -); -} - -/* Default XML - ns=0;i=23921 */ - -static UA_StatusCode function_namespace0_generated_4241_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23921LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23921LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4241_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23921LU) -); -} - -/* Default XML - ns=0;i=23920 */ - -static UA_StatusCode function_namespace0_generated_4242_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23920LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23920LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4242_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23920LU) -); -} - -/* Default XML - ns=0;i=23919 */ - -static UA_StatusCode function_namespace0_generated_4243_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23919LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23919LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4243_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23919LU) -); -} - -/* Default Binary - ns=0;i=23866 */ - -static UA_StatusCode function_namespace0_generated_4244_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23866LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23866LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23614LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4244_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23866LU) -); -} - -/* Default Binary - ns=0;i=23865 */ - -static UA_StatusCode function_namespace0_generated_4245_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23865LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23865LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23613LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4245_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23865LU) -); -} - -/* Default Binary - ns=0;i=23864 */ - -static UA_StatusCode function_namespace0_generated_4246_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23864LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23864LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23612LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4246_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23864LU) -); -} - -/* Default Binary - ns=0;i=23861 */ - -static UA_StatusCode function_namespace0_generated_4247_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23861LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23861LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4247_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23861LU) -); -} - -/* Default Binary - ns=0;i=23860 */ - -static UA_StatusCode function_namespace0_generated_4248_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23860LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23860LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23608LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4248_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23860LU) -); -} - -/* Default Binary - ns=0;i=23857 */ - -static UA_StatusCode function_namespace0_generated_4249_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23857LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23857LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4249_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23857LU) -); -} - -/* Default Binary - ns=0;i=23856 */ - -static UA_StatusCode function_namespace0_generated_4250_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23856LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23856LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23604LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4250_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23856LU) -); -} - -/* Default Binary - ns=0;i=23855 */ - -static UA_StatusCode function_namespace0_generated_4251_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23855LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23855LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23603LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4251_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23855LU) -); -} - -/* Default Binary - ns=0;i=23854 */ - -static UA_StatusCode function_namespace0_generated_4252_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23854LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23854LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23602LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4252_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23854LU) -); -} - -/* Default Binary - ns=0;i=23853 */ - -static UA_StatusCode function_namespace0_generated_4253_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23853LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23853LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4253_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23853LU) -); -} - -/* Default Binary - ns=0;i=23852 */ - -static UA_StatusCode function_namespace0_generated_4254_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23852LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23852LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4254_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23852LU) -); -} - -/* Default Binary - ns=0;i=23851 */ - -static UA_StatusCode function_namespace0_generated_4255_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23851LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23851LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4255_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23851LU) -); -} - -/* Default JSON - ns=0;i=23528 */ - -static UA_StatusCode function_namespace0_generated_4256_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23528LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23528LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23498LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4256_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23528LU) -); -} - -/* Default XML - ns=0;i=23520 */ - -static UA_StatusCode function_namespace0_generated_4257_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23520LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23520LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23498LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4257_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23520LU) -); -} - -/* Default JSON - ns=0;i=23511 */ - -static UA_StatusCode function_namespace0_generated_4258_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23511LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23511LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23468LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4258_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23511LU) -); -} - -/* Default Binary - ns=0;i=23507 */ - -static UA_StatusCode function_namespace0_generated_4259_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23507LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23507LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23498LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4259_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23507LU) -); -} - -/* Default XML - ns=0;i=23505 */ - -static UA_StatusCode function_namespace0_generated_4260_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23505LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23505LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23468LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4260_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23505LU) -); -} - -/* Default Binary - ns=0;i=23499 */ - -static UA_StatusCode function_namespace0_generated_4261_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 23499LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23499LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23468LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4261_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23499LU) -); -} - -/* Default JSON - ns=0;i=21203 */ - -static UA_StatusCode function_namespace0_generated_4262_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21203LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21203LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15532LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4262_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21203LU) -); -} - -/* Default JSON - ns=0;i=21202 */ - -static UA_StatusCode function_namespace0_generated_4263_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21202LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21202LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15530LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4263_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21202LU) -); -} - -/* Default JSON - ns=0;i=21201 */ - -static UA_StatusCode function_namespace0_generated_4264_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21201LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21201LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4264_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21201LU) -); -} - -/* Default JSON - ns=0;i=21200 */ - -static UA_StatusCode function_namespace0_generated_4265_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21200LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21200LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15510LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4265_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21200LU) -); -} - -/* Default JSON - ns=0;i=21199 */ - -static UA_StatusCode function_namespace0_generated_4266_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21199LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21199LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15502LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4266_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21199LU) -); -} - -/* Default JSON - ns=0;i=21198 */ - -static UA_StatusCode function_namespace0_generated_4267_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21198LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21198LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15480LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4267_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21198LU) -); -} - -/* Default XML - ns=0;i=21179 */ - -static UA_StatusCode function_namespace0_generated_4268_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21179LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21179LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15532LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4268_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21179LU) -); -} - -/* Default XML - ns=0;i=21178 */ - -static UA_StatusCode function_namespace0_generated_4269_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21178LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21178LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15530LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4269_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21178LU) -); -} - -/* Default XML - ns=0;i=21177 */ - -static UA_StatusCode function_namespace0_generated_4270_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21177LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21177LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4270_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21177LU) -); -} - -/* Default XML - ns=0;i=21176 */ - -static UA_StatusCode function_namespace0_generated_4271_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21176LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21176LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15510LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4271_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21176LU) -); -} - -/* Default XML - ns=0;i=21175 */ - -static UA_StatusCode function_namespace0_generated_4272_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21175LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21175LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15502LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4272_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21175LU) -); -} - -/* Default XML - ns=0;i=21174 */ - -static UA_StatusCode function_namespace0_generated_4273_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21174LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21174LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15480LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4273_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21174LU) -); -} - -/* Default Binary - ns=0;i=21155 */ - -static UA_StatusCode function_namespace0_generated_4274_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21155LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21155LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15532LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4274_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21155LU) -); -} - -/* Default Binary - ns=0;i=21154 */ - -static UA_StatusCode function_namespace0_generated_4275_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21154LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21154LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15530LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4275_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21154LU) -); -} - -/* Default Binary - ns=0;i=21153 */ - -static UA_StatusCode function_namespace0_generated_4276_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21153LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21153LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4276_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21153LU) -); -} - -/* Default Binary - ns=0;i=21152 */ - -static UA_StatusCode function_namespace0_generated_4277_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21152LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21152LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15510LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4277_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21152LU) -); -} - -/* Default Binary - ns=0;i=21151 */ - -static UA_StatusCode function_namespace0_generated_4278_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21151LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21151LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15502LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4278_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21151LU) -); -} - -/* Default Binary - ns=0;i=21150 */ - -static UA_StatusCode function_namespace0_generated_4279_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 21150LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21150LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15480LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4279_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21150LU) -); -} - -/* Default JSON - ns=0;i=19072 */ - -static UA_StatusCode function_namespace0_generated_4280_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19072LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19072LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4280_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19072LU) -); -} - -/* Default JSON - ns=0;i=19071 */ - -static UA_StatusCode function_namespace0_generated_4281_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19071LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19071LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18813LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4281_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19071LU) -); -} - -/* Default JSON - ns=0;i=19070 */ - -static UA_StatusCode function_namespace0_generated_4282_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19070LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19070LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18812LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4282_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19070LU) -); -} - -/* Default JSON - ns=0;i=19069 */ - -static UA_StatusCode function_namespace0_generated_4283_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19069LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19069LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18811LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4283_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19069LU) -); -} - -/* Default JSON - ns=0;i=19068 */ - -static UA_StatusCode function_namespace0_generated_4284_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19068LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19068LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18810LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4284_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19068LU) -); -} - -/* Default JSON - ns=0;i=19067 */ - -static UA_StatusCode function_namespace0_generated_4285_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19067LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19067LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18809LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4285_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19067LU) -); -} - -/* Default JSON - ns=0;i=19066 */ - -static UA_StatusCode function_namespace0_generated_4286_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19066LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19066LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18808LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4286_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19066LU) -); -} - -/* Default JSON - ns=0;i=19065 */ - -static UA_StatusCode function_namespace0_generated_4287_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19065LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19065LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18807LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4287_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19065LU) -); -} - -/* Default JSON - ns=0;i=19064 */ - -static UA_StatusCode function_namespace0_generated_4288_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 19064LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19064LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18806LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4288_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19064LU) -); -} - -/* Default XML - ns=0;i=18859 */ - -static UA_StatusCode function_namespace0_generated_4289_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18859LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18859LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4289_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18859LU) -); -} - -/* Default XML - ns=0;i=18858 */ - -static UA_StatusCode function_namespace0_generated_4290_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18858LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18858LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18813LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4290_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18858LU) -); -} - -/* Default XML - ns=0;i=18857 */ - -static UA_StatusCode function_namespace0_generated_4291_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18857LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18857LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18812LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4291_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18857LU) -); -} - -/* Default XML - ns=0;i=18856 */ - -static UA_StatusCode function_namespace0_generated_4292_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18856LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18856LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18811LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4292_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18856LU) -); -} - -/* Default XML - ns=0;i=18855 */ - -static UA_StatusCode function_namespace0_generated_4293_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18855LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18855LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18810LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4293_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18855LU) -); -} - -/* Default XML - ns=0;i=18854 */ - -static UA_StatusCode function_namespace0_generated_4294_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18854LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18854LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18809LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4294_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18854LU) -); -} - -/* Default XML - ns=0;i=18853 */ - -static UA_StatusCode function_namespace0_generated_4295_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18853LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18853LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18808LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4295_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18853LU) -); -} - -/* Default XML - ns=0;i=18852 */ - -static UA_StatusCode function_namespace0_generated_4296_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18852LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18852LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18807LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4296_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18852LU) -); -} - -/* Default XML - ns=0;i=18851 */ - -static UA_StatusCode function_namespace0_generated_4297_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18851LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18851LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18806LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4297_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18851LU) -); -} - -/* Default Binary - ns=0;i=18823 */ - -static UA_StatusCode function_namespace0_generated_4298_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18823LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18823LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18814LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4298_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18823LU) -); -} - -/* Default Binary - ns=0;i=18822 */ - -static UA_StatusCode function_namespace0_generated_4299_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18822LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18822LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18813LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4299_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18822LU) -); -} - -/* Default Binary - ns=0;i=18821 */ - -static UA_StatusCode function_namespace0_generated_4300_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18821LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18821LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18812LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4300_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18821LU) -); -} - -/* Default Binary - ns=0;i=18820 */ - -static UA_StatusCode function_namespace0_generated_4301_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18820LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18820LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18811LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4301_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18820LU) -); -} - -/* Default Binary - ns=0;i=18819 */ - -static UA_StatusCode function_namespace0_generated_4302_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18819LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18819LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18810LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4302_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18819LU) -); -} - -/* Default Binary - ns=0;i=18818 */ - -static UA_StatusCode function_namespace0_generated_4303_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18818LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18818LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18809LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4303_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18818LU) -); -} - -/* Default Binary - ns=0;i=18817 */ - -static UA_StatusCode function_namespace0_generated_4304_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18817LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18817LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18808LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4304_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18817LU) -); -} - -/* Default Binary - ns=0;i=18816 */ - -static UA_StatusCode function_namespace0_generated_4305_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18816LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18816LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18807LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4305_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18816LU) -); -} - -/* Default Binary - ns=0;i=18815 */ - -static UA_StatusCode function_namespace0_generated_4306_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 18815LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18815LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18806LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4306_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18815LU) -); -} - -/* Default JSON - ns=0;i=17557 */ - -static UA_StatusCode function_namespace0_generated_4307_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17557LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17557LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17548LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4307_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17557LU) -); -} - -/* Default XML - ns=0;i=17553 */ - -static UA_StatusCode function_namespace0_generated_4308_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17553LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17553LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17548LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4308_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17553LU) -); -} - -/* Default Binary - ns=0;i=17549 */ - -static UA_StatusCode function_namespace0_generated_4309_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17549LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17549LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17548LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4309_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17549LU) -); -} - -/* Default JSON - ns=0;i=17547 */ - -static UA_StatusCode function_namespace0_generated_4310_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17547LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17547LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16313LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4310_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17547LU) -); -} - -/* Default XML - ns=0;i=17541 */ - -static UA_StatusCode function_namespace0_generated_4311_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17541LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17541LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16313LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4311_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17541LU) -); -} - -/* Default Binary - ns=0;i=17537 */ - -static UA_StatusCode function_namespace0_generated_4312_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17537LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17537LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16313LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4312_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17537LU) -); -} - -/* Default JSON - ns=0;i=17476 */ - -static UA_StatusCode function_namespace0_generated_4313_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17476LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17476LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17467LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4313_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17476LU) -); -} - -/* Default XML - ns=0;i=17472 */ - -static UA_StatusCode function_namespace0_generated_4314_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17472LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17472LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17467LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4314_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17472LU) -); -} - -/* Default Binary - ns=0;i=17468 */ - -static UA_StatusCode function_namespace0_generated_4315_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 17468LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17468LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17467LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4315_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17468LU) -); -} - -/* Default JSON - ns=0;i=16526 */ - -static UA_StatusCode function_namespace0_generated_4316_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16526LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16526LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15670LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4316_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16526LU) -); -} - -/* Default JSON - ns=0;i=16525 */ - -static UA_StatusCode function_namespace0_generated_4317_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16525LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16525LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15669LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4317_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16525LU) -); -} - -/* Default JSON - ns=0;i=16524 */ - -static UA_StatusCode function_namespace0_generated_4318_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16524LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16524LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15667LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4318_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16524LU) -); -} - -/* Default JSON - ns=0;i=16404 */ - -static UA_StatusCode function_namespace0_generated_4319_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16404LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16404LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15665LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4319_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16404LU) -); -} - -/* Default JSON - ns=0;i=16394 */ - -static UA_StatusCode function_namespace0_generated_4320_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16394LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16394LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15664LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4320_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16394LU) -); -} - -/* Default JSON - ns=0;i=16393 */ - -static UA_StatusCode function_namespace0_generated_4321_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16393LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16393LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15657LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4321_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16393LU) -); -} - -/* Default JSON - ns=0;i=16392 */ - -static UA_StatusCode function_namespace0_generated_4322_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16392LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16392LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15653LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4322_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16392LU) -); -} - -/* Default JSON - ns=0;i=16391 */ - -static UA_StatusCode function_namespace0_generated_4323_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16391LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16391LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4323_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16391LU) -); -} - -/* Default JSON - ns=0;i=16323 */ - -static UA_StatusCode function_namespace0_generated_4324_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16323LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16323LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4324_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16323LU) -); -} - -/* Default JSON - ns=0;i=16311 */ - -static UA_StatusCode function_namespace0_generated_4325_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16311LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16311LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4325_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16311LU) -); -} - -/* Default JSON - ns=0;i=16310 */ - -static UA_StatusCode function_namespace0_generated_4326_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16310LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16310LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4326_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16310LU) -); -} - -/* Default JSON - ns=0;i=16308 */ - -static UA_StatusCode function_namespace0_generated_4327_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16308LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16308LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4327_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16308LU) -); -} - -/* Default JSON - ns=0;i=16288 */ - -static UA_StatusCode function_namespace0_generated_4328_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16288LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16288LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4328_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16288LU) -); -} - -/* Default JSON - ns=0;i=16287 */ - -static UA_StatusCode function_namespace0_generated_4329_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16287LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16287LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15628LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4329_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16287LU) -); -} - -/* Default JSON - ns=0;i=16286 */ - -static UA_StatusCode function_namespace0_generated_4330_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16286LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16286LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15623LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4330_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16286LU) -); -} - -/* Default JSON - ns=0;i=16285 */ - -static UA_StatusCode function_namespace0_generated_4331_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16285LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16285LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4331_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16285LU) -); -} - -/* Default JSON - ns=0;i=16284 */ - -static UA_StatusCode function_namespace0_generated_4332_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16284LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16284LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15621LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4332_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16284LU) -); -} - -/* Default JSON - ns=0;i=16282 */ - -static UA_StatusCode function_namespace0_generated_4333_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16282LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16282LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4333_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16282LU) -); -} - -/* Default JSON - ns=0;i=16281 */ - -static UA_StatusCode function_namespace0_generated_4334_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16281LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16281LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4334_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16281LU) -); -} - -/* Default JSON - ns=0;i=16280 */ - -static UA_StatusCode function_namespace0_generated_4335_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16280LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16280LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4335_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16280LU) -); -} - -/* Default JSON - ns=0;i=16161 */ - -static UA_StatusCode function_namespace0_generated_4336_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16161LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16161LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15611LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4336_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16161LU) -); -} - -/* Default JSON - ns=0;i=16159 */ - -static UA_StatusCode function_namespace0_generated_4337_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16159LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16159LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4337_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16159LU) -); -} - -/* Default JSON - ns=0;i=16158 */ - -static UA_StatusCode function_namespace0_generated_4338_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16158LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16158LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4338_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16158LU) -); -} - -/* Default JSON - ns=0;i=16157 */ - -static UA_StatusCode function_namespace0_generated_4339_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16157LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16157LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4339_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16157LU) -); -} - -/* Default JSON - ns=0;i=16156 */ - -static UA_StatusCode function_namespace0_generated_4340_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16156LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16156LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15597LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4340_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16156LU) -); -} - -/* Default JSON - ns=0;i=16155 */ - -static UA_StatusCode function_namespace0_generated_4341_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16155LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16155LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15582LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4341_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16155LU) -); -} - -/* Default JSON - ns=0;i=16154 */ - -static UA_StatusCode function_namespace0_generated_4342_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16154LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16154LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15581LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4342_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16154LU) -); -} - -/* Default JSON - ns=0;i=16153 */ - -static UA_StatusCode function_namespace0_generated_4343_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16153LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16153LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15580LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4343_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16153LU) -); -} - -/* Default JSON - ns=0;i=16152 */ - -static UA_StatusCode function_namespace0_generated_4344_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16152LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16152LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15578LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4344_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16152LU) -); -} - -/* Default JSON - ns=0;i=16151 */ - -static UA_StatusCode function_namespace0_generated_4345_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16151LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16151LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15534LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4345_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16151LU) -); -} - -/* Default JSON - ns=0;i=16150 */ - -static UA_StatusCode function_namespace0_generated_4346_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16150LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16150LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15528LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4346_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16150LU) -); -} - -/* Default XML - ns=0;i=16126 */ - -static UA_StatusCode function_namespace0_generated_4347_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16126LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16126LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 96LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4347_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16126LU) -); -} - -/* Default XML - ns=0;i=16023 */ - -static UA_StatusCode function_namespace0_generated_4348_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16023LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16023LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15670LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4348_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16023LU) -); -} - -/* Default XML - ns=0;i=16022 */ - -static UA_StatusCode function_namespace0_generated_4349_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16022LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16022LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15669LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4349_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16022LU) -); -} - -/* Default XML - ns=0;i=16021 */ - -static UA_StatusCode function_namespace0_generated_4350_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16021LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16021LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15667LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4350_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16021LU) -); -} - -/* Default XML - ns=0;i=16019 */ - -static UA_StatusCode function_namespace0_generated_4351_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16019LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16019LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15665LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4351_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16019LU) -); -} - -/* Default XML - ns=0;i=16018 */ - -static UA_StatusCode function_namespace0_generated_4352_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16018LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16018LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15664LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4352_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16018LU) -); -} - -/* Default XML - ns=0;i=16017 */ - -static UA_StatusCode function_namespace0_generated_4353_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16017LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16017LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15657LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4353_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16017LU) -); -} - -/* Default XML - ns=0;i=16016 */ - -static UA_StatusCode function_namespace0_generated_4354_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16016LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16016LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15653LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4354_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16016LU) -); -} - -/* Default XML - ns=0;i=16015 */ - -static UA_StatusCode function_namespace0_generated_4355_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16015LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16015LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4355_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16015LU) -); -} - -/* Default XML - ns=0;i=16014 */ - -static UA_StatusCode function_namespace0_generated_4356_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16014LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16014LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4356_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16014LU) -); -} - -/* Default XML - ns=0;i=16012 */ - -static UA_StatusCode function_namespace0_generated_4357_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16012LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16012LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4357_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16012LU) -); -} - -/* Default XML - ns=0;i=16011 */ - -static UA_StatusCode function_namespace0_generated_4358_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16011LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16011LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4358_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16011LU) -); -} - -/* Default XML - ns=0;i=16010 */ - -static UA_StatusCode function_namespace0_generated_4359_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16010LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16010LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4359_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16010LU) -); -} - -/* Default XML - ns=0;i=16009 */ - -static UA_StatusCode function_namespace0_generated_4360_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16009LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16009LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4360_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16009LU) -); -} - -/* Default XML - ns=0;i=16008 */ - -static UA_StatusCode function_namespace0_generated_4361_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16008LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16008LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15628LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4361_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16008LU) -); -} - -/* Default XML - ns=0;i=16007 */ - -static UA_StatusCode function_namespace0_generated_4362_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 16007LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16007LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15623LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4362_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16007LU) -); -} - -/* Default XML - ns=0;i=15996 */ - -static UA_StatusCode function_namespace0_generated_4363_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15996LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15996LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4363_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15996LU) -); -} - -/* Default XML - ns=0;i=15995 */ - -static UA_StatusCode function_namespace0_generated_4364_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15995LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15995LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15621LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4364_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15995LU) -); -} - -/* Default XML - ns=0;i=15993 */ - -static UA_StatusCode function_namespace0_generated_4365_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15993LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15993LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4365_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15993LU) -); -} - -/* Default XML - ns=0;i=15992 */ - -static UA_StatusCode function_namespace0_generated_4366_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15992LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15992LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4366_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15992LU) -); -} - -/* Default XML - ns=0;i=15991 */ - -static UA_StatusCode function_namespace0_generated_4367_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15991LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15991LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4367_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15991LU) -); -} - -/* Default XML - ns=0;i=15990 */ - -static UA_StatusCode function_namespace0_generated_4368_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15990LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15990LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15611LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4368_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15990LU) -); -} - -/* Default XML - ns=0;i=15988 */ - -static UA_StatusCode function_namespace0_generated_4369_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15988LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15988LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4369_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15988LU) -); -} - -/* Default XML - ns=0;i=15987 */ - -static UA_StatusCode function_namespace0_generated_4370_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15987LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15987LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4370_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15987LU) -); -} - -/* Default XML - ns=0;i=15956 */ - -static UA_StatusCode function_namespace0_generated_4371_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15956LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15956LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4371_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15956LU) -); -} - -/* Default XML - ns=0;i=15955 */ - -static UA_StatusCode function_namespace0_generated_4372_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15955LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15955LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15597LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4372_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15955LU) -); -} - -/* Default XML - ns=0;i=15954 */ - -static UA_StatusCode function_namespace0_generated_4373_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15954LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15954LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15582LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4373_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15954LU) -); -} - -/* Default XML - ns=0;i=15953 */ - -static UA_StatusCode function_namespace0_generated_4374_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15953LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15953LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15581LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4374_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15953LU) -); -} - -/* Default XML - ns=0;i=15952 */ - -static UA_StatusCode function_namespace0_generated_4375_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15952LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15952LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15580LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4375_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15952LU) -); -} - -/* Default XML - ns=0;i=15951 */ - -static UA_StatusCode function_namespace0_generated_4376_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15951LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15951LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15578LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4376_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15951LU) -); -} - -/* Default XML - ns=0;i=15950 */ - -static UA_StatusCode function_namespace0_generated_4377_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15950LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15950LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15534LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4377_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15950LU) -); -} - -/* Default XML - ns=0;i=15949 */ - -static UA_StatusCode function_namespace0_generated_4378_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15949LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15949LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15528LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4378_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15949LU) -); -} - -/* Default Binary - ns=0;i=15736 */ - -static UA_StatusCode function_namespace0_generated_4379_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15736LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15736LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15634LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4379_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15736LU) -); -} - -/* Default Binary - ns=0;i=15733 */ - -static UA_StatusCode function_namespace0_generated_4380_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15733LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15733LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15670LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4380_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15733LU) -); -} - -/* Default Binary - ns=0;i=15729 */ - -static UA_StatusCode function_namespace0_generated_4381_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15729LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15729LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15669LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4381_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15729LU) -); -} - -/* Default XML - ns=0;i=15728 */ - -static UA_StatusCode function_namespace0_generated_4382_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15728LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15728LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15634LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4382_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15728LU) -); -} - -/* Default Binary - ns=0;i=15727 */ - -static UA_StatusCode function_namespace0_generated_4383_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15727LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15727LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15667LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4383_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15727LU) -); -} - -/* Default JSON - ns=0;i=15726 */ - -static UA_StatusCode function_namespace0_generated_4384_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15726LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15726LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4384_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15726LU) -); -} - -/* Default Binary - ns=0;i=15725 */ - -static UA_StatusCode function_namespace0_generated_4385_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15725LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15725LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15665LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4385_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15725LU) -); -} - -/* Default Binary - ns=0;i=15724 */ - -static UA_StatusCode function_namespace0_generated_4386_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15724LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15724LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15664LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4386_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15724LU) -); -} - -/* Default Binary - ns=0;i=15719 */ - -static UA_StatusCode function_namespace0_generated_4387_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15719LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15719LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15657LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4387_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15719LU) -); -} - -/* Default Binary - ns=0;i=15718 */ - -static UA_StatusCode function_namespace0_generated_4388_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15718LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15718LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15653LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4388_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15718LU) -); -} - -/* Default Binary - ns=0;i=15717 */ - -static UA_StatusCode function_namespace0_generated_4389_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15717LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15717LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15652LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4389_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15717LU) -); -} - -/* Default Binary - ns=0;i=15715 */ - -static UA_StatusCode function_namespace0_generated_4390_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15715LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15715LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15645LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4390_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15715LU) -); -} - -/* Default JSON - ns=0;i=15714 */ - -static UA_StatusCode function_namespace0_generated_4391_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15714LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15714LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4391_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15714LU) -); -} - -/* Default Binary - ns=0;i=15713 */ - -static UA_StatusCode function_namespace0_generated_4392_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15713LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15713LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15635LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4392_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15713LU) -); -} - -/* Default Binary - ns=0;i=15712 */ - -static UA_StatusCode function_namespace0_generated_4393_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15712LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15712LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15631LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4393_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15712LU) -); -} - -/* Default Binary - ns=0;i=15707 */ - -static UA_StatusCode function_namespace0_generated_4394_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15707LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15707LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15630LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4394_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15707LU) -); -} - -/* Default Binary - ns=0;i=15706 */ - -static UA_StatusCode function_namespace0_generated_4395_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15706LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15706LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15629LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4395_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15706LU) -); -} - -/* Default Binary - ns=0;i=15705 */ - -static UA_StatusCode function_namespace0_generated_4396_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15705LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15705LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15628LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4396_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15705LU) -); -} - -/* Default Binary - ns=0;i=15703 */ - -static UA_StatusCode function_namespace0_generated_4397_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15703LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15703LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15623LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4397_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15703LU) -); -} - -/* Default Binary - ns=0;i=15702 */ - -static UA_StatusCode function_namespace0_generated_4398_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15702LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15702LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15622LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4398_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15702LU) -); -} - -/* Default Binary - ns=0;i=15701 */ - -static UA_StatusCode function_namespace0_generated_4399_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15701LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15701LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15621LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4399_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15701LU) -); -} - -/* Default JSON - ns=0;i=15700 */ - -static UA_StatusCode function_namespace0_generated_4400_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15700LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15700LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15005LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4400_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15700LU) -); -} - -/* Default Binary - ns=0;i=15695 */ - -static UA_StatusCode function_namespace0_generated_4401_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15695LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15695LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15618LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4401_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15695LU) -); -} - -/* Default Binary - ns=0;i=15694 */ - -static UA_StatusCode function_namespace0_generated_4402_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15694LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15694LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15617LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4402_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15694LU) -); -} - -/* Default Binary - ns=0;i=15693 */ - -static UA_StatusCode function_namespace0_generated_4403_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15693LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15693LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4403_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15693LU) -); -} - -/* Default Binary - ns=0;i=15691 */ - -static UA_StatusCode function_namespace0_generated_4404_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15691LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15691LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15611LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4404_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15691LU) -); -} - -/* Default Binary - ns=0;i=15689 */ - -static UA_StatusCode function_namespace0_generated_4405_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15689LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15689LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15609LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4405_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15689LU) -); -} - -/* Default Binary - ns=0;i=15688 */ - -static UA_StatusCode function_namespace0_generated_4406_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15688LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15688LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15605LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4406_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15688LU) -); -} - -/* Default Binary - ns=0;i=15683 */ - -static UA_StatusCode function_namespace0_generated_4407_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15683LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15683LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4407_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15683LU) -); -} - -/* Default Binary - ns=0;i=15682 */ - -static UA_StatusCode function_namespace0_generated_4408_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15682LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15682LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15597LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4408_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15682LU) -); -} - -/* Default Binary - ns=0;i=15681 */ - -static UA_StatusCode function_namespace0_generated_4409_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15681LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15681LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15582LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4409_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15681LU) -); -} - -/* Default Binary - ns=0;i=15679 */ - -static UA_StatusCode function_namespace0_generated_4410_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15679LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15679LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15581LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4410_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15679LU) -); -} - -/* Default Binary - ns=0;i=15678 */ - -static UA_StatusCode function_namespace0_generated_4411_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15678LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15678LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15580LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4411_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15678LU) -); -} - -/* Default Binary - ns=0;i=15677 */ - -static UA_StatusCode function_namespace0_generated_4412_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15677LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15677LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15578LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4412_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15677LU) -); -} - -/* Default Binary - ns=0;i=15676 */ - -static UA_StatusCode function_namespace0_generated_4413_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15676LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15676LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15534LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4413_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15676LU) -); -} - -/* Default Binary - ns=0;i=15671 */ - -static UA_StatusCode function_namespace0_generated_4414_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15671LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15671LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15528LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4414_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15671LU) -); -} - -/* Default XML - ns=0;i=15590 */ - -static UA_StatusCode function_namespace0_generated_4415_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15590LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15590LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15488LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4415_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15590LU) -); -} - -/* Default XML - ns=0;i=15589 */ - -static UA_StatusCode function_namespace0_generated_4416_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15589LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15589LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15487LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4416_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15589LU) -); -} - -/* Default XML - ns=0;i=15579 */ - -static UA_StatusCode function_namespace0_generated_4417_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15579LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15579LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4417_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15579LU) -); -} - -/* Default XML - ns=0;i=15531 */ - -static UA_StatusCode function_namespace0_generated_4418_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15531LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15531LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4418_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15531LU) -); -} - -/* Default XML - ns=0;i=15529 */ - -static UA_StatusCode function_namespace0_generated_4419_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15529LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15529LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15005LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4419_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15529LU) -); -} - -/* Default Binary - ns=0;i=15479 */ - -static UA_StatusCode function_namespace0_generated_4420_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15479LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15479LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4420_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15479LU) -); -} - -/* Default Binary - ns=0;i=15422 */ - -static UA_StatusCode function_namespace0_generated_4421_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15422LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15422LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15006LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4421_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15422LU) -); -} - -/* Default Binary - ns=0;i=15421 */ - -static UA_StatusCode function_namespace0_generated_4422_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15421LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15421LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15005LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4422_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15421LU) -); -} - -/* Default JSON - ns=0;i=15382 */ - -static UA_StatusCode function_namespace0_generated_4423_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15382LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15382LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4423_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15382LU) -); -} - -/* Default JSON - ns=0;i=15381 */ - -static UA_StatusCode function_namespace0_generated_4424_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15381LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15381LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 894LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4424_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15381LU) -); -} - -/* Default JSON - ns=0;i=15380 */ - -static UA_StatusCode function_namespace0_generated_4425_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15380LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15380LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4425_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15380LU) -); -} - -/* Default JSON - ns=0;i=15379 */ - -static UA_StatusCode function_namespace0_generated_4426_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15379LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15379LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4426_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15379LU) -); -} - -/* Default JSON - ns=0;i=15378 */ - -static UA_StatusCode function_namespace0_generated_4427_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15378LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15378LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4427_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15378LU) -); -} - -/* Default JSON - ns=0;i=15377 */ - -static UA_StatusCode function_namespace0_generated_4428_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15377LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15377LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4428_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15377LU) -); -} - -/* Default JSON - ns=0;i=15376 */ - -static UA_StatusCode function_namespace0_generated_4429_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15376LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15376LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 887LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4429_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15376LU) -); -} - -/* Default JSON - ns=0;i=15375 */ - -static UA_StatusCode function_namespace0_generated_4430_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15375LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15375LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 884LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4430_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15375LU) -); -} - -/* Default JSON - ns=0;i=15374 */ - -static UA_StatusCode function_namespace0_generated_4431_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15374LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15374LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 897LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4431_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15374LU) -); -} - -/* Default JSON - ns=0;i=15373 */ - -static UA_StatusCode function_namespace0_generated_4432_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15373LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15373LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 877LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4432_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15373LU) -); -} - -/* Default JSON - ns=0;i=15372 */ - -static UA_StatusCode function_namespace0_generated_4433_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15372LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15372LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 874LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4433_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15372LU) -); -} - -/* Default JSON - ns=0;i=15371 */ - -static UA_StatusCode function_namespace0_generated_4434_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15371LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15371LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 299LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4434_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15371LU) -); -} - -/* Default JSON - ns=0;i=15370 */ - -static UA_StatusCode function_namespace0_generated_4435_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15370LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15370LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 871LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4435_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15370LU) -); -} - -/* Default JSON - ns=0;i=15369 */ - -static UA_StatusCode function_namespace0_generated_4436_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15369LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15369LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 868LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4436_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15369LU) -); -} - -/* Default JSON - ns=0;i=15368 */ - -static UA_StatusCode function_namespace0_generated_4437_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15368LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15368LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 865LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4437_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15368LU) -); -} - -/* Default JSON - ns=0;i=15367 */ - -static UA_StatusCode function_namespace0_generated_4438_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15367LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15367LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 862LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4438_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15367LU) -); -} - -/* Default JSON - ns=0;i=15366 */ - -static UA_StatusCode function_namespace0_generated_4439_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15366LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15366LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4439_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15366LU) -); -} - -/* Default JSON - ns=0;i=15365 */ - -static UA_StatusCode function_namespace0_generated_4440_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15365LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15365LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4440_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15365LU) -); -} - -/* Default JSON - ns=0;i=15364 */ - -static UA_StatusCode function_namespace0_generated_4441_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15364LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15364LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11944LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4441_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15364LU) -); -} - -/* Default JSON - ns=0;i=15363 */ - -static UA_StatusCode function_namespace0_generated_4442_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15363LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15363LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4442_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15363LU) -); -} - -/* Default JSON - ns=0;i=15362 */ - -static UA_StatusCode function_namespace0_generated_4443_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15362LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15362LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4443_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15362LU) -); -} - -/* Default JSON - ns=0;i=15361 */ - -static UA_StatusCode function_namespace0_generated_4444_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15361LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15361LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 338LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4444_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15361LU) -); -} - -/* Default JSON - ns=0;i=15349 */ - -static UA_StatusCode function_namespace0_generated_4445_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15349LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15349LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 920LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4445_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15349LU) -); -} - -/* Default JSON - ns=0;i=15304 */ - -static UA_StatusCode function_namespace0_generated_4446_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15304LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15304LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 948LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4446_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15304LU) -); -} - -/* Default JSON - ns=0;i=15295 */ - -static UA_StatusCode function_namespace0_generated_4447_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15295LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15295LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 725LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4447_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15295LU) -); -} - -/* Default JSON - ns=0;i=15293 */ - -static UA_StatusCode function_namespace0_generated_4448_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15293LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15293LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4448_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15293LU) -); -} - -/* Default JSON - ns=0;i=15273 */ - -static UA_StatusCode function_namespace0_generated_4449_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15273LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15273LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 659LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4449_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15273LU) -); -} - -/* Default JSON - ns=0;i=15210 */ - -static UA_StatusCode function_namespace0_generated_4450_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15210LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15210LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 601LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4450_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15210LU) -); -} - -/* Default JSON - ns=0;i=15209 */ - -static UA_StatusCode function_namespace0_generated_4451_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15209LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15209LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 598LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4451_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15209LU) -); -} - -/* Default JSON - ns=0;i=15208 */ - -static UA_StatusCode function_namespace0_generated_4452_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15208LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15208LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 595LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4452_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15208LU) -); -} - -/* Default JSON - ns=0;i=15207 */ - -static UA_StatusCode function_namespace0_generated_4453_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15207LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15207LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 592LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4453_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15207LU) -); -} - -/* Default JSON - ns=0;i=15206 */ - -static UA_StatusCode function_namespace0_generated_4454_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15206LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15206LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 589LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4454_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15206LU) -); -} - -/* Default JSON - ns=0;i=15205 */ - -static UA_StatusCode function_namespace0_generated_4455_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15205LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15205LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 586LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4455_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15205LU) -); -} - -/* Default JSON - ns=0;i=15204 */ - -static UA_StatusCode function_namespace0_generated_4456_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15204LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15204LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 583LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4456_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15204LU) -); -} - -/* Default JSON - ns=0;i=15199 */ - -static UA_StatusCode function_namespace0_generated_4457_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15199LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15199LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 331LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4457_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15199LU) -); -} - -/* Default JSON - ns=0;i=15189 */ - -static UA_StatusCode function_namespace0_generated_4458_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15189LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15189LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 540LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4458_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15189LU) -); -} - -/* Default JSON - ns=0;i=15188 */ - -static UA_StatusCode function_namespace0_generated_4459_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15188LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15188LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 537LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4459_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15188LU) -); -} - -/* Default JSON - ns=0;i=15175 */ - -static UA_StatusCode function_namespace0_generated_4460_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15175LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15175LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 385LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4460_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15175LU) -); -} - -/* Default JSON - ns=0;i=15172 */ - -static UA_StatusCode function_namespace0_generated_4461_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15172LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15172LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 382LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4461_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15172LU) -); -} - -/* Default JSON - ns=0;i=15169 */ - -static UA_StatusCode function_namespace0_generated_4462_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15169LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15169LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 379LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4462_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15169LU) -); -} - -/* Default JSON - ns=0;i=15165 */ - -static UA_StatusCode function_namespace0_generated_4463_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15165LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15165LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 376LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4463_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15165LU) -); -} - -/* Default JSON - ns=0;i=15144 */ - -static UA_StatusCode function_namespace0_generated_4464_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15144LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15144LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 938LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4464_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15144LU) -); -} - -/* Default JSON - ns=0;i=15143 */ - -static UA_StatusCode function_namespace0_generated_4465_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15143LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15143LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 325LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4465_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15143LU) -); -} - -/* Default JSON - ns=0;i=15142 */ - -static UA_StatusCode function_namespace0_generated_4466_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15142LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15142LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 322LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4466_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15142LU) -); -} - -/* Default JSON - ns=0;i=15141 */ - -static UA_StatusCode function_namespace0_generated_4467_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15141LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15141LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 319LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4467_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15141LU) -); -} - -/* Default JSON - ns=0;i=15140 */ - -static UA_StatusCode function_namespace0_generated_4468_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15140LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15140LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 316LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4468_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15140LU) -); -} - -/* Default JSON - ns=0;i=15136 */ - -static UA_StatusCode function_namespace0_generated_4469_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15136LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15136LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 344LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4469_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15136LU) -); -} - -/* Default JSON - ns=0;i=15106 */ - -static UA_StatusCode function_namespace0_generated_4470_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15106LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15106LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4470_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15106LU) -); -} - -/* Default JSON - ns=0;i=15105 */ - -static UA_StatusCode function_namespace0_generated_4471_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15105LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15105LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4471_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15105LU) -); -} - -/* Default JSON - ns=0;i=15102 */ - -static UA_StatusCode function_namespace0_generated_4472_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15102LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15102LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 432LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4472_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15102LU) -); -} - -/* Default JSON - ns=0;i=15099 */ - -static UA_StatusCode function_namespace0_generated_4473_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15099LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15099LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 312LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4473_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15099LU) -); -} - -/* Default JSON - ns=0;i=15098 */ - -static UA_StatusCode function_namespace0_generated_4474_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15098LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15098LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 304LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4474_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15098LU) -); -} - -/* Default JSON - ns=0;i=15095 */ - -static UA_StatusCode function_namespace0_generated_4475_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15095LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15095LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4475_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15095LU) -); -} - -/* Default JSON - ns=0;i=15087 */ - -static UA_StatusCode function_namespace0_generated_4476_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15087LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15087LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 308LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4476_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15087LU) -); -} - -/* Default JSON - ns=0;i=15086 */ - -static UA_StatusCode function_namespace0_generated_4477_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15086LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15086LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8912LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4477_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15086LU) -); -} - -/* Default JSON - ns=0;i=15085 */ - -static UA_StatusCode function_namespace0_generated_4478_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15085LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15085LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4478_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15085LU) -); -} - -/* Default JSON - ns=0;i=15084 */ - -static UA_StatusCode function_namespace0_generated_4479_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15084LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15084LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12755LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4479_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15084LU) -); -} - -/* Default JSON - ns=0;i=15083 */ - -static UA_StatusCode function_namespace0_generated_4480_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15083LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15083LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4480_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15083LU) -); -} - -/* Default JSON - ns=0;i=15082 */ - -static UA_StatusCode function_namespace0_generated_4481_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15082LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15082LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7594LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4481_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15082LU) -); -} - -/* Default JSON - ns=0;i=15081 */ - -static UA_StatusCode function_namespace0_generated_4482_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15081LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15081LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4482_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15081LU) -); -} - -/* Default JSON - ns=0;i=15067 */ - -static UA_StatusCode function_namespace0_generated_4483_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15067LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15067LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4483_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15067LU) -); -} - -/* Default JSON - ns=0;i=15066 */ - -static UA_StatusCode function_namespace0_generated_4484_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15066LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15066LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 99LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4484_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15066LU) -); -} - -/* Default JSON - ns=0;i=15065 */ - -static UA_StatusCode function_namespace0_generated_4485_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15065LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15065LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4485_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15065LU) -); -} - -/* Default JSON - ns=0;i=15063 */ - -static UA_StatusCode function_namespace0_generated_4486_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15063LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15063LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 97LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4486_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15063LU) -); -} - -/* Default JSON - ns=0;i=15062 */ - -static UA_StatusCode function_namespace0_generated_4487_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15062LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15062LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 96LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4487_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15062LU) -); -} - -/* Default JSON - ns=0;i=15061 */ - -static UA_StatusCode function_namespace0_generated_4488_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15061LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15061LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14744LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4488_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15061LU) -); -} - -/* Default JSON - ns=0;i=15060 */ - -static UA_StatusCode function_namespace0_generated_4489_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15060LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15060LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14273LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4489_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15060LU) -); -} - -/* Default JSON - ns=0;i=15059 */ - -static UA_StatusCode function_namespace0_generated_4490_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15059LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15059LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15488LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4490_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15059LU) -); -} - -/* Default JSON - ns=0;i=15058 */ - -static UA_StatusCode function_namespace0_generated_4491_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15058LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15058LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15487LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4491_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15058LU) -); -} - -/* Default JSON - ns=0;i=15057 */ - -static UA_StatusCode function_namespace0_generated_4492_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15057LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15057LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14525LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4492_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15057LU) -); -} - -/* Default JSON - ns=0;i=15051 */ - -static UA_StatusCode function_namespace0_generated_4493_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15051LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15051LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14524LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4493_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15051LU) -); -} - -/* Default JSON - ns=0;i=15050 */ - -static UA_StatusCode function_namespace0_generated_4494_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15050LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15050LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14523LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4494_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15050LU) -); -} - -/* Default JSON - ns=0;i=15049 */ - -static UA_StatusCode function_namespace0_generated_4495_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15049LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15049LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4495_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15049LU) -); -} - -/* Default JSON - ns=0;i=15044 */ - -static UA_StatusCode function_namespace0_generated_4496_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15044LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15044LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12554LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4496_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15044LU) -); -} - -/* Default JSON - ns=0;i=15042 */ - -static UA_StatusCode function_namespace0_generated_4497_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15042LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15042LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15634LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4497_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15042LU) -); -} - -/* Default JSON - ns=0;i=15041 */ - -static UA_StatusCode function_namespace0_generated_4498_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default JSON"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 15041LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default JSON"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15041LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14533LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4498_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15041LU) -); -} - -/* Default Binary - ns=0;i=14848 */ - -static UA_StatusCode function_namespace0_generated_4499_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14848LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14848LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14744LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4499_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14848LU) -); -} - -/* Default Binary - ns=0;i=14847 */ - -static UA_StatusCode function_namespace0_generated_4500_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14847LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14847LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4500_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14847LU) -); -} - -/* Default Binary - ns=0;i=14846 */ - -static UA_StatusCode function_namespace0_generated_4501_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14846LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14846LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14533LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4501_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14846LU) -); -} - -/* Default Binary - ns=0;i=14845 */ - -static UA_StatusCode function_namespace0_generated_4502_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14845LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14845LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4502_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14845LU) -); -} - -/* Default Binary - ns=0;i=14844 */ - -static UA_StatusCode function_namespace0_generated_4503_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14844LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14844LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4503_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14844LU) -); -} - -/* Default Binary - ns=0;i=14839 */ - -static UA_StatusCode function_namespace0_generated_4504_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14839LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14839LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14524LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4504_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14839LU) -); -} - -/* Default XML - ns=0;i=14804 */ - -static UA_StatusCode function_namespace0_generated_4505_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14804LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14804LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14744LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4505_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14804LU) -); -} - -/* Default XML - ns=0;i=14803 */ - -static UA_StatusCode function_namespace0_generated_4506_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14803LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14803LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4506_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14803LU) -); -} - -/* Default XML - ns=0;i=14802 */ - -static UA_StatusCode function_namespace0_generated_4507_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14802LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14802LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14533LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4507_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14802LU) -); -} - -/* Default XML - ns=0;i=14801 */ - -static UA_StatusCode function_namespace0_generated_4508_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14801LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14801LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 102LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4508_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14801LU) -); -} - -/* Default XML - ns=0;i=14800 */ - -static UA_StatusCode function_namespace0_generated_4509_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14800LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14800LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 101LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4509_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14800LU) -); -} - -/* Default XML - ns=0;i=14799 */ - -static UA_StatusCode function_namespace0_generated_4510_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14799LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14799LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4510_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14799LU) -); -} - -/* Default XML - ns=0;i=14798 */ - -static UA_StatusCode function_namespace0_generated_4511_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14798LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14798LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 99LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4511_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14798LU) -); -} - -/* Default XML - ns=0;i=14797 */ - -static UA_StatusCode function_namespace0_generated_4512_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14797LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14797LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 97LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4512_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14797LU) -); -} - -/* Default XML - ns=0;i=14796 */ - -static UA_StatusCode function_namespace0_generated_4513_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14796LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14796LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14525LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4513_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14796LU) -); -} - -/* Default XML - ns=0;i=14795 */ - -static UA_StatusCode function_namespace0_generated_4514_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14795LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14795LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14524LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4514_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14795LU) -); -} - -/* Default XML - ns=0;i=14794 */ - -static UA_StatusCode function_namespace0_generated_4515_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14794LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14794LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14523LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4515_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14794LU) -); -} - -/* Default Binary - ns=0;i=14323 */ - -static UA_StatusCode function_namespace0_generated_4516_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14323LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14323LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14273LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4516_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14323LU) -); -} - -/* Default XML - ns=0;i=14319 */ - -static UA_StatusCode function_namespace0_generated_4517_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 14319LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14319LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14273LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4517_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14319LU) -); -} - -/* Default Binary - ns=0;i=12901 */ - -static UA_StatusCode function_namespace0_generated_4518_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12901LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12901LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4518_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12901LU) -); -} - -/* Default Binary - ns=0;i=12900 */ - -static UA_StatusCode function_namespace0_generated_4519_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12900LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12900LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4519_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12900LU) -); -} - -/* Default XML - ns=0;i=12893 */ - -static UA_StatusCode function_namespace0_generated_4520_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12893LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12893LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12891LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4520_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12893LU) -); -} - -/* Default XML - ns=0;i=12892 */ - -static UA_StatusCode function_namespace0_generated_4521_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12892LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12892LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12890LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4521_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12892LU) -); -} - -/* Default Binary - ns=0;i=128 */ - -static UA_StatusCode function_namespace0_generated_4522_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 128LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 128LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 96LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4522_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 128LU) -); -} - -/* Default Binary - ns=0;i=12766 */ - -static UA_StatusCode function_namespace0_generated_4523_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12766LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12766LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4523_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12766LU) -); -} - -/* Default Binary - ns=0;i=12765 */ - -static UA_StatusCode function_namespace0_generated_4524_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12765LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12765LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12755LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4524_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12765LU) -); -} - -/* Default XML - ns=0;i=12758 */ - -static UA_StatusCode function_namespace0_generated_4525_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12758LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12758LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12756LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4525_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12758LU) -); -} - -/* Default XML - ns=0;i=12757 */ - -static UA_StatusCode function_namespace0_generated_4526_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12757LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12757LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12755LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4526_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12757LU) -); -} - -/* Default Binary - ns=0;i=127 */ - -static UA_StatusCode function_namespace0_generated_4527_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 127LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 127LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15488LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4527_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 127LU) -); -} - -/* Default Binary - ns=0;i=12680 */ - -static UA_StatusCode function_namespace0_generated_4528_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12680LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12680LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12554LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4528_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12680LU) -); -} - -/* Default XML - ns=0;i=12676 */ - -static UA_StatusCode function_namespace0_generated_4529_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12676LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12676LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12554LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4529_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12676LU) -); -} - -/* Default Binary - ns=0;i=126 */ - -static UA_StatusCode function_namespace0_generated_4530_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 126LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 126LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15487LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4530_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 126LU) -); -} - -/* Default Binary - ns=0;i=125 */ - -static UA_StatusCode function_namespace0_generated_4531_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 125LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 125LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14525LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4531_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 125LU) -); -} - -/* Default Binary - ns=0;i=124 */ - -static UA_StatusCode function_namespace0_generated_4532_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 124LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 124LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14523LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4532_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 124LU) -); -} - -/* Default Binary - ns=0;i=123 */ - -static UA_StatusCode function_namespace0_generated_4533_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 123LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 123LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 100LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4533_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 123LU) -); -} - -/* Default Binary - ns=0;i=12207 */ - -static UA_StatusCode function_namespace0_generated_4534_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12207LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12207LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4534_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12207LU) -); -} - -/* Default Binary - ns=0;i=122 */ - -static UA_StatusCode function_namespace0_generated_4535_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 122LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 122LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 99LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4535_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 122LU) -); -} - -/* Default XML - ns=0;i=12195 */ - -static UA_StatusCode function_namespace0_generated_4536_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12195LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12195LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12189LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4536_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12195LU) -); -} - -/* Default Binary - ns=0;i=12182 */ - -static UA_StatusCode function_namespace0_generated_4537_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12182LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12182LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4537_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12182LU) -); -} - -/* Default Binary - ns=0;i=12181 */ - -static UA_StatusCode function_namespace0_generated_4538_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12181LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12181LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4538_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12181LU) -); -} - -/* Default XML - ns=0;i=12174 */ - -static UA_StatusCode function_namespace0_generated_4539_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12174LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12174LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12172LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4539_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12174LU) -); -} - -/* Default XML - ns=0;i=12173 */ - -static UA_StatusCode function_namespace0_generated_4540_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12173LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12173LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12171LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4540_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12173LU) -); -} - -/* Default Binary - ns=0;i=121 */ - -static UA_StatusCode function_namespace0_generated_4541_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 121LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 121LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 97LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4541_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 121LU) -); -} - -/* Default Binary - ns=0;i=12090 */ - -static UA_StatusCode function_namespace0_generated_4542_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12090LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12090LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4542_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12090LU) -); -} - -/* Default Binary - ns=0;i=12089 */ - -static UA_StatusCode function_namespace0_generated_4543_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12089LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12089LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4543_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12089LU) -); -} - -/* Default XML - ns=0;i=12082 */ - -static UA_StatusCode function_namespace0_generated_4544_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12082LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12082LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12080LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4544_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12082LU) -); -} - -/* Default XML - ns=0;i=12081 */ - -static UA_StatusCode function_namespace0_generated_4545_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 12081LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12081LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12079LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4545_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12081LU) -); -} - -/* Default Binary - ns=0;i=11958 */ - -static UA_StatusCode function_namespace0_generated_4546_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11958LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11958LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11944LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4546_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11958LU) -); -} - -/* Default Binary - ns=0;i=11957 */ - -static UA_StatusCode function_namespace0_generated_4547_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11957LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11957LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4547_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11957LU) -); -} - -/* Default XML - ns=0;i=11950 */ - -static UA_StatusCode function_namespace0_generated_4548_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11950LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11950LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11944LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4548_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11950LU) -); -} - -/* Default XML - ns=0;i=11949 */ - -static UA_StatusCode function_namespace0_generated_4549_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 11949LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 76LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11949LU), UA_NODEID_NUMERIC(ns[0], 38LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11943LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4549_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11949LU) -); -} - -/* DataTypeSystemType - ns=0;i=75 */ - -static UA_StatusCode function_namespace0_generated_4550_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectTypeAttributes attr = UA_ObjectTypeAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSystemType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECTTYPE, -UA_NODEID_NUMERIC(ns[0], 75LU), -UA_NODEID_NUMERIC(ns[0], 58LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeSystemType"), - UA_NODEID_NULL, -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTTYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4550_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 75LU) -); -} - -/* OPC Binary - ns=0;i=93 */ - -static UA_StatusCode function_namespace0_generated_4551_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "OPC Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 93LU), -UA_NODEID_NUMERIC(ns[0], 90LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "OPC Binary"), -UA_NODEID_NUMERIC(ns[0], 75LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4551_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 93LU) -); -} - -/* XML Schema - ns=0;i=92 */ - -static UA_StatusCode function_namespace0_generated_4552_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "XML Schema"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 92LU), -UA_NODEID_NUMERIC(ns[0], 90LU), -UA_NODEID_NUMERIC(ns[0], 35LU), -UA_QUALIFIEDNAME(ns[0], "XML Schema"), -UA_NODEID_NUMERIC(ns[0], 75LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4552_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 92LU) -); -} - -/* DataTypeDictionaryType - ns=0;i=72 */ - -static UA_StatusCode function_namespace0_generated_4553_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDictionaryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 72LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDictionaryType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4553_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 72LU) -); -} - -/* Opc.Ua - ns=0;i=8252 */ -static const UA_Byte variablenode_ns_0_i_8252_variant_DataContents_byteArray[288306] = {60, 120, 115, 58, 115, 99, 104, 101, 109, 97, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 120, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 49, 47, 88, 77, 76, 83, 99, 104, 101, 109, 97, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 117, 97, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 50, 48, 48, 56, 47, 48, 50, 47, 84, 121, 112, 101, 115, 46, 120, 115, 100, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 116, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 50, 48, 48, 56, 47, 48, 50, 47, 84, 121, 112, 101, 115, 46, 120, 115, 100, 34, 13, 10, 32, 32, 116, 97, 114, 103, 101, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 50, 48, 48, 56, 47, 48, 50, 47, 84, 121, 112, 101, 115, 46, 120, 115, 100, 34, 13, 10, 32, 32, 101, 108, 101, 109, 101, 110, 116, 70, 111, 114, 109, 68, 101, 102, 97, 117, 108, 116, 61, 34, 113, 117, 97, 108, 105, 102, 105, 101, 100, 34, 13, 10, 62, 13, 10, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 116, 110, 115, 58, 77, 111, 100, 101, 108, 32, 77, 111, 100, 101, 108, 85, 114, 105, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 32, 86, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 53, 46, 48, 50, 34, 32, 80, 117, 98, 108, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 101, 61, 34, 50, 48, 50, 50, 45, 49, 49, 45, 48, 49, 84, 48, 48, 58, 48, 48, 58, 48, 48, 90, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 32, 120, 109, 108, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 115, 99, 104, 101, 109, 97, 115, 46, 109, 105, 99, 114, 111, 115, 111, 102, 116, 46, 99, 111, 109, 47, 50, 48, 48, 51, 47, 49, 48, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 47, 34, 62, 116, 114, 117, 101, 60, 47, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 49, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 49, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 49, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 32, 120, 109, 108, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 115, 99, 104, 101, 109, 97, 115, 46, 109, 105, 99, 114, 111, 115, 111, 102, 116, 46, 99, 111, 109, 47, 50, 48, 48, 51, 47, 49, 48, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 47, 34, 62, 116, 114, 117, 101, 60, 47, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 83, 111, 109, 101, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 115, 32, 114, 101, 113, 117, 105, 114, 101, 32, 97, 32, 87, 83, 68, 76, 47, 88, 83, 68, 32, 119, 104, 105, 99, 104, 32, 101, 120, 112, 108, 105, 99, 105, 116, 108, 121, 32, 100, 101, 102, 105, 110, 101, 115, 32, 97, 108, 108, 32, 112, 111, 115, 115, 105, 98, 108, 101, 32, 116, 121, 112, 101, 115, 46, 13, 10, 32, 32, 32, 32, 84, 104, 101, 32, 85, 65, 32, 87, 83, 68, 76, 47, 88, 83, 68, 32, 99, 97, 110, 32, 98, 101, 32, 109, 111, 100, 105, 102, 105, 101, 100, 32, 116, 111, 32, 115, 117, 112, 112, 111, 114, 116, 32, 116, 104, 101, 115, 101, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 115, 32, 98, 121, 32, 114, 101, 112, 108, 97, 99, 105, 110, 103, 32, 116, 104, 101, 13, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 115, 32, 111, 102, 32, 116, 104, 101, 32, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 32, 97, 110, 100, 32, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 32, 119, 105, 116, 104, 32, 116, 104, 101, 13, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 115, 32, 105, 110, 32, 116, 104, 101, 32, 99, 111, 109, 109, 101, 110, 116, 115, 32, 115, 104, 111, 119, 110, 32, 104, 101, 114, 101, 46, 32, 68, 101, 118, 101, 108, 111, 112, 101, 114, 115, 32, 119, 111, 117, 108, 100, 32, 116, 104, 101, 110, 32, 100, 101, 102, 105, 110, 101, 32, 115, 117, 98, 116, 121, 112, 101, 115, 13, 10, 32, 32, 32, 32, 111, 102, 32, 116, 104, 101, 32, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 32, 116, 121, 112, 101, 32, 119, 104, 105, 99, 104, 32, 101, 120, 112, 108, 105, 99, 105, 116, 108, 121, 32, 100, 101, 99, 108, 97, 114, 101, 32, 97, 32, 99, 104, 111, 105, 99, 101, 32, 98, 101, 116, 119, 101, 101, 110, 32, 97, 108, 108, 32, 111, 102, 32, 116, 104, 101, 13, 10, 32, 32, 32, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 32, 117, 115, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 115, 121, 115, 116, 101, 109, 46, 32, 84, 104, 101, 32, 69, 120, 97, 109, 112, 108, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 32, 115, 117, 98, 116, 121, 112, 101, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 115, 13, 10, 32, 32, 32, 32, 97, 32, 116, 101, 109, 112, 108, 97, 116, 101, 32, 98, 97, 115, 101, 100, 32, 111, 110, 32, 97, 32, 102, 101, 119, 32, 99, 111, 109, 109, 111, 110, 32, 85, 65, 45, 100, 101, 102, 105, 110, 101, 100, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 46, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 97, 109, 112, 108, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 66, 111, 100, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 83, 111, 109, 101, 32, 87, 83, 68, 76, 47, 88, 77, 76, 32, 99, 111, 109, 112, 105, 108, 101, 114, 115, 32, 104, 97, 118, 101, 32, 105, 115, 115, 117, 101, 115, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 120, 115, 58, 99, 104, 111, 105, 99, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 46, 32, 70, 111, 114, 32, 116, 104, 97, 116, 32, 114, 101, 97, 115, 111, 110, 13, 10, 32, 32, 32, 32, 116, 104, 101, 32, 100, 101, 102, 97, 117, 108, 116, 32, 100, 101, 99, 108, 97, 114, 97, 116, 105, 111, 110, 32, 111, 102, 32, 97, 32, 86, 97, 114, 105, 97, 110, 116, 32, 117, 115, 101, 115, 32, 120, 115, 58, 97, 110, 121, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 46, 32, 84, 104, 101, 32, 115, 99, 104, 101, 109, 97, 32, 97, 99, 117, 116, 117, 97, 108, 108, 121, 13, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 115, 112, 101, 99, 105, 102, 105, 99, 97, 116, 105, 111, 110, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 77, 97, 116, 114, 105, 120, 32, 97, 110, 100, 32, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 32, 99, 111, 109, 112, 108, 101, 120, 32, 116, 121, 112, 101, 115, 13, 10, 32, 32, 32, 32, 115, 104, 111, 119, 110, 32, 105, 110, 32, 99, 111, 109, 109, 101, 110, 116, 115, 32, 98, 101, 108, 111, 119, 46, 32, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 32, 100, 101, 118, 101, 108, 111, 112, 101, 114, 115, 32, 99, 97, 110, 32, 114, 101, 112, 108, 97, 99, 101, 32, 116, 104, 101, 32, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 32, 100, 101, 99, 108, 97, 114, 97, 116, 105, 111, 110, 13, 10, 32, 32, 32, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 115, 112, 101, 99, 105, 102, 105, 99, 32, 100, 101, 99, 108, 97, 114, 97, 116, 105, 111, 110, 32, 105, 102, 32, 116, 104, 101, 121, 32, 104, 97, 118, 101, 32, 97, 32, 100, 101, 118, 101, 108, 111, 112, 109, 101, 110, 116, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 32, 116, 104, 97, 116, 32, 99, 97, 110, 32, 104, 97, 110, 100, 108, 101, 13, 10, 32, 32, 32, 32, 116, 104, 101, 32, 120, 115, 58, 99, 104, 111, 105, 99, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 105, 110, 32, 97, 32, 114, 101, 97, 115, 111, 110, 97, 98, 108, 101, 32, 119, 97, 121, 46, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 33, 45, 45, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 97, 116, 114, 105, 120, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 104, 111, 105, 99, 101, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 116, 114, 105, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 97, 116, 114, 105, 120, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 49, 54, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 49, 54, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 54, 52, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 54, 52, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 116, 114, 105, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 97, 116, 114, 105, 120, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 104, 111, 105, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 45, 45, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 32, 120, 109, 108, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 115, 99, 104, 101, 109, 97, 115, 46, 109, 105, 99, 114, 111, 115, 111, 102, 116, 46, 99, 111, 109, 47, 50, 48, 48, 51, 47, 49, 48, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 47, 34, 62, 116, 114, 117, 101, 60, 47, 73, 115, 86, 97, 108, 117, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 112, 112, 105, 110, 102, 111, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 97, 110, 121, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 61, 34, 108, 97, 120, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 107, 101, 83, 101, 114, 118, 105, 99, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 107, 101, 83, 101, 114, 118, 105, 99, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 66, 77, 80, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 71, 73, 70, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 74, 80, 71, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 80, 78, 71, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 100, 105, 111, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 110, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 114, 105, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 105, 116, 70, 105, 101, 108, 100, 77, 97, 115, 107, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 76, 111, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 86, 101, 114, 115, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 99, 75, 101, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 105, 109, 109, 101, 100, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 86, 101, 99, 116, 111, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 89, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 90, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 89, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 90, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 114, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 87, 114, 105, 116, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 97, 115, 101, 69, 120, 105, 115, 116, 105, 110, 103, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 112, 112, 101, 110, 100, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 104, 117, 109, 98, 112, 114, 105, 110, 116, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 111, 108, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 114, 111, 117, 112, 73, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 100, 85, 115, 101, 114, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 88, 53, 48, 57, 83, 117, 98, 106, 101, 99, 116, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 112, 111, 110, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 112, 104, 97, 98, 101, 116, 105, 99, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 108, 108, 95, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 76, 105, 115, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 99, 97, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 99, 105, 109, 97, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 99, 104, 101, 109, 97, 76, 111, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 97, 117, 115, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 114, 111, 114, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 114, 101, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 106, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 105, 110, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 72, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 116, 105, 116, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 121, 99, 108, 105, 99, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 101, 112, 65, 108, 105, 118, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 73, 110, 116, 101, 114, 102, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 99, 101, 105, 118, 101, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 114, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 97, 115, 116, 85, 115, 97, 98, 108, 101, 86, 97, 108, 117, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 75, 101, 121, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 70, 117, 116, 117, 114, 101, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 80, 97, 115, 116, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 114, 121, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 100, 101, 102, 105, 110, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 83, 105, 110, 103, 108, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 101, 100, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 68, 101, 108, 97, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 101, 115, 116, 69, 102, 102, 111, 114, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 116, 76, 101, 97, 115, 116, 79, 110, 99, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 116, 77, 111, 115, 116, 79, 110, 99, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 120, 97, 99, 116, 108, 121, 79, 110, 99, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 85, 112, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 97, 115, 105, 99, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 100, 118, 97, 110, 99, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 102, 111, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 111, 103, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 101, 98, 117, 103, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 114, 111, 114, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 101, 100, 84, 105, 99, 107, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 117, 108, 108, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 97, 108, 102, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 117, 112, 108, 101, 120, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 117, 112, 108, 101, 120, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 117, 112, 108, 101, 120, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 117, 112, 108, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 117, 112, 108, 101, 120, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 111, 119, 110, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 111, 119, 110, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 111, 114, 109, 97, 110, 116, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 116, 80, 114, 101, 115, 101, 110, 116, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 111, 119, 101, 114, 76, 97, 121, 101, 114, 68, 111, 119, 110, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 80, 114, 111, 103, 114, 101, 115, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 109, 112, 108, 101, 116, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 70, 97, 105, 108, 117, 114, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 66, 97, 110, 100, 119, 105, 100, 116, 104, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 82, 101, 115, 111, 117, 114, 99, 101, 115, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 84, 114, 97, 102, 102, 105, 99, 67, 108, 97, 115, 115, 66, 97, 110, 100, 119, 105, 100, 116, 104, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 73, 110, 85, 115, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 73, 110, 85, 115, 101, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 80, 114, 101, 101, 109, 112, 116, 101, 100, 66, 121, 72, 105, 103, 104, 101, 114, 82, 97, 110, 107, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 97, 116, 101, 110, 99, 121, 72, 97, 115, 67, 104, 97, 110, 103, 101, 100, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 103, 114, 101, 115, 115, 80, 111, 114, 116, 78, 111, 116, 65, 118, 98, 67, 97, 112, 97, 98, 108, 101, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 68, 105, 102, 102, 101, 114, 101, 110, 116, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 95, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 117, 116, 79, 102, 77, 115, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 95, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 117, 116, 79, 102, 77, 109, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 95, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 97, 110, 110, 111, 116, 83, 116, 111, 114, 101, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 95, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 73, 115, 78, 111, 116, 65, 110, 83, 114, 99, 67, 108, 97, 115, 115, 95, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 97, 120, 70, 114, 97, 109, 101, 83, 105, 122, 101, 84, 111, 111, 76, 97, 114, 103, 101, 95, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 97, 120, 70, 97, 110, 73, 110, 80, 111, 114, 116, 115, 76, 105, 109, 105, 116, 82, 101, 97, 99, 104, 101, 100, 95, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 105, 114, 115, 116, 86, 97, 108, 117, 101, 67, 104, 97, 110, 103, 101, 100, 70, 111, 114, 83, 116, 114, 101, 97, 109, 73, 100, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 108, 97, 110, 66, 108, 111, 99, 107, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 95, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 108, 97, 110, 84, 97, 103, 103, 105, 110, 103, 68, 105, 115, 97, 98, 108, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 95, 49, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 114, 67, 108, 97, 115, 115, 80, 114, 105, 111, 114, 105, 116, 121, 77, 105, 115, 109, 97, 116, 99, 104, 95, 49, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 80, 114, 111, 112, 97, 103, 97, 116, 101, 100, 95, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 97, 120, 76, 97, 116, 101, 110, 99, 121, 69, 120, 99, 101, 101, 100, 101, 100, 95, 50, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 114, 105, 100, 103, 101, 68, 111, 101, 115, 78, 111, 116, 80, 114, 111, 118, 105, 100, 101, 78, 101, 116, 119, 111, 114, 107, 73, 100, 95, 50, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 95, 50, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 84, 121, 112, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 95, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 95, 50, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 105, 110, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 121, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 114, 114, 111, 114, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 121, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 97, 100, 121, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 97, 114, 116, 105, 97, 108, 70, 97, 105, 108, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 112, 112, 105, 110, 103, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 80, 67, 80, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 68, 83, 67, 80, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 105, 110, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 117, 105, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 112, 97, 113, 117, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 100, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 73, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 73, 100, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 115, 112, 101, 99, 105, 102, 105, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 101, 116, 104, 111, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 95, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 95, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 105, 101, 119, 95, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 79, 112, 116, 105, 111, 110, 97, 108, 70, 105, 101, 108, 100, 115, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 105, 111, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 105, 111, 110, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 79, 112, 116, 105, 111, 110, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 69, 110, 99, 111, 100, 105, 110, 103, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 83, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 116, 104, 111, 100, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 73, 110, 115, 116, 97, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 84, 121, 112, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 73, 110, 118, 101, 114, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 78, 111, 100, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 108, 111, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 105, 100, 66, 105, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 114, 109, 97, 108, 105, 122, 101, 100, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 116, 99, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 104, 111, 114, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 121, 108, 105, 103, 104, 116, 83, 97, 118, 105, 110, 103, 73, 110, 79, 102, 102, 115, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 116, 101, 103, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 101, 114, 118, 101, 114, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 108, 105, 101, 110, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 108, 105, 101, 110, 116, 65, 110, 100, 83, 101, 114, 118, 101, 114, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114, 118, 101, 114, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 100, 105, 116, 69, 110, 116, 114, 121, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 111, 117, 116, 72, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 114, 115, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 114, 105, 115, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 99, 111, 114, 100, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 67, 111, 117, 110, 116, 101, 114, 82, 101, 115, 101, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 73, 110, 115, 116, 97, 110, 99, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 105, 103, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 105, 103, 110, 65, 110, 100, 69, 110, 99, 114, 121, 112, 116, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 112, 104, 111, 114, 101, 70, 105, 108, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 79, 110, 108, 105, 110, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 100, 110, 115, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 115, 117, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 110, 101, 119, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 100, 65, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 113, 117, 101, 115, 116, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 115, 97, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 99, 99, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 95, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 95, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 95, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 95, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 95, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 95, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 95, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 95, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 95, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 73, 100, 95, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 95, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 95, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 95, 49, 51, 49, 48, 55, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 95, 50, 54, 50, 49, 52, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 95, 53, 50, 52, 50, 56, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 95, 49, 48, 52, 56, 53, 55, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 108, 117, 101, 95, 50, 48, 57, 55, 49, 53, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 95, 52, 49, 57, 52, 51, 48, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 95, 56, 51, 56, 56, 54, 48, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 95, 49, 54, 55, 55, 55, 50, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 108, 108, 95, 51, 51, 53, 53, 52, 52, 51, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 97, 115, 101, 78, 111, 100, 101, 95, 50, 54, 53, 48, 49, 50, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 95, 50, 54, 53, 48, 49, 51, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 95, 50, 54, 53, 48, 51, 50, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 95, 50, 54, 53, 55, 49, 51, 56, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 95, 50, 56, 54, 48, 48, 52, 51, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 77, 101, 116, 104, 111, 100, 95, 50, 54, 54, 51, 50, 53, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 95, 50, 54, 53, 51, 55, 48, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 86, 105, 101, 119, 95, 50, 54, 53, 48, 49, 51, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 78, 101, 119, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 84, 97, 114, 103, 101, 116, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 66, 105, 100, 105, 114, 101, 99, 116, 105, 111, 110, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 111, 114, 119, 97, 114, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 111, 116, 104, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 95, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 108, 108, 95, 54, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 110, 102, 111, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 110, 102, 111, 95, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 73, 110, 118, 101, 114, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 109, 97, 105, 110, 105, 110, 103, 80, 97, 116, 104, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 117, 110, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 66, 105, 110, 97, 114, 121, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 66, 117, 102, 102, 101, 114, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 69, 113, 117, 97, 108, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 115, 78, 117, 108, 108, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 105, 107, 101, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 116, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 101, 116, 119, 101, 101, 110, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 76, 105, 115, 116, 95, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 110, 100, 95, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 114, 95, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 97, 115, 116, 95, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 86, 105, 101, 119, 95, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 79, 102, 84, 121, 112, 101, 95, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 108, 97, 116, 101, 100, 84, 111, 95, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 65, 110, 100, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 79, 114, 95, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 68, 97, 116, 97, 83, 101, 116, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 111, 117, 114, 99, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 101, 114, 118, 101, 114, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 66, 111, 116, 104, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 101, 105, 116, 104, 101, 114, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 65, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 82, 101, 97, 100, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 66, 111, 117, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 83, 105, 109, 112, 108, 101, 66, 111, 117, 110, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 101, 114, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 100, 97, 116, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 101, 108, 101, 116, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 73, 110, 115, 101, 114, 116, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 112, 100, 97, 116, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 109, 111, 118, 101, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 115, 68, 101, 108, 101, 116, 101, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 112, 111, 114, 116, 105, 110, 103, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 97, 116, 117, 115, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 68, 101, 102, 97, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 101, 97, 116, 85, 110, 99, 101, 114, 116, 97, 105, 110, 65, 115, 66, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 66, 97, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 71, 111, 111, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 83, 108, 111, 112, 101, 100, 69, 120, 116, 114, 97, 112, 111, 108, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 79, 108, 100, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 116, 101, 109, 84, 111, 77, 111, 110, 105, 116, 111, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 73, 116, 101, 109, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 32, 109, 105, 120, 101, 100, 61, 34, 102, 97, 108, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 47, 120, 115, 58, 101, 120, 116, 101, 110, 115, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 114, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 116, 114, 97, 110, 115, 109, 105, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 110, 100, 73, 110, 105, 116, 105, 97, 108, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 85, 73, 110, 116, 51, 50, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 110, 117, 102, 97, 99, 116, 117, 114, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 111, 102, 116, 119, 97, 114, 101, 86, 101, 114, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 68, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 110, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 108, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 87, 97, 114, 109, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 111, 116, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 114, 97, 110, 115, 112, 97, 114, 101, 110, 116, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 72, 111, 116, 65, 110, 100, 77, 105, 114, 114, 111, 114, 101, 100, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 117, 110, 110, 105, 110, 103, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 70, 97, 105, 108, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 117, 115, 112, 101, 110, 100, 101, 100, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 84, 101, 115, 116, 95, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 67, 111, 109, 109, 117, 110, 105, 99, 97, 116, 105, 111, 110, 70, 97, 117, 108, 116, 95, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 76, 101, 118, 101, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 86, 105, 101, 119, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 98, 111, 114, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 111, 110, 100, 115, 84, 105, 108, 108, 83, 104, 117, 116, 100, 111, 119, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 82, 101, 97, 115, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 99, 116, 117, 97, 108, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 76, 97, 115, 116, 67, 111, 110, 116, 97, 99, 116, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 115, 73, 110, 81, 117, 101, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 97, 108, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 79, 102, 83, 101, 115, 115, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 83, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 77, 101, 99, 104, 97, 110, 105, 115, 109, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 116, 111, 99, 111, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 97, 115, 101, 54, 52, 66, 105, 110, 97, 114, 121, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 98, 111, 111, 108, 101, 97, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 65, 108, 116, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 83, 97, 109, 101, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 116, 101, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 97, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 81, 117, 101, 117, 101, 79, 118, 101, 114, 102, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 101, 120, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 81, 117, 101, 117, 101, 79, 118, 101, 114, 70, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 73, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 65, 100, 100, 101, 100, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 78, 111, 100, 101, 68, 101, 108, 101, 116, 101, 100, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 65, 100, 100, 101, 100, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 108, 101, 116, 101, 100, 95, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 67, 104, 97, 110, 103, 101, 100, 95, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 101, 114, 98, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 117, 110, 115, 105, 103, 110, 101, 100, 66, 121, 116, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 109, 97, 120, 79, 99, 99, 117, 114, 115, 61, 34, 117, 110, 98, 111, 117, 110, 100, 101, 100, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 105, 115, 116, 79, 102, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 62, 60, 47, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 82, 97, 110, 103, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 111, 119, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 72, 105, 103, 104, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 110, 103, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 110, 105, 116, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 105, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 105, 110, 101, 97, 114, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 111, 103, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 76, 110, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 110, 103, 105, 110, 101, 101, 114, 105, 110, 103, 85, 110, 105, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 85, 82, 97, 110, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 97, 110, 103, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 84, 105, 116, 108, 101, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 68, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 88, 86, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 111, 117, 98, 108, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 102, 108, 111, 97, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 88, 86, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 88, 86, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 76, 105, 115, 116, 79, 102, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 76, 105, 115, 116, 79, 102, 86, 97, 114, 105, 97, 110, 116, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 116, 121, 112, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 32, 110, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 110, 105, 108, 108, 97, 98, 108, 101, 61, 34, 116, 114, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 116, 121, 112, 101, 61, 34, 120, 115, 58, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 109, 105, 110, 79, 99, 99, 117, 114, 115, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 115, 101, 113, 117, 101, 110, 99, 101, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 32, 32, 110, 97, 109, 101, 61, 34, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 32, 98, 97, 115, 101, 61, 34, 120, 115, 58, 115, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 86, 97, 108, 117, 101, 95, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 86, 97, 108, 117, 101, 95, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 82, 97, 110, 103, 101, 95, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 69, 85, 82, 97, 110, 103, 101, 95, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 32, 32, 60, 120, 115, 58, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 118, 97, 108, 117, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 95, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 47, 120, 115, 58, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 120, 115, 58, 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 62, 13, 10, 32, 32, 60, 120, 115, 58, 101, 108, 101, 109, 101, 110, 116, 32, 110, 97, 109, 101, 61, 34, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 32, 116, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 32, 47, 62, 13, 10, 13, 10, 60, 47, 120, 115, 58, 115, 99, 104, 101, 109, 97, 62}; - - - -static UA_StatusCode function_namespace0_generated_4554_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -UA_ByteString *variablenode_ns_0_i_8252_variant_DataContents = UA_ByteString_new(); -if (!variablenode_ns_0_i_8252_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_ByteString_init(variablenode_ns_0_i_8252_variant_DataContents); -variablenode_ns_0_i_8252_variant_DataContents->length = 288306; -variablenode_ns_0_i_8252_variant_DataContents->data = (UA_Byte *)(void*)(uintptr_t)variablenode_ns_0_i_8252_variant_DataContents_byteArray; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8252_variant_DataContents, &UA_TYPES[UA_TYPES_BYTESTRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Opc.Ua"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 92LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Opc.Ua"), -UA_NODEID_NUMERIC(ns[0], 72LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -variablenode_ns_0_i_8252_variant_DataContents->data = NULL; -variablenode_ns_0_i_8252_variant_DataContents->length = 0; -UA_ByteString_delete(variablenode_ns_0_i_8252_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4554_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8252LU) -); -} - -/* NamespaceUri - ns=0;i=8254 */ - -static UA_StatusCode function_namespace0_generated_4555_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8254_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8254_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8254_variant_DataContents); -*variablenode_ns_0_i_8254_variant_DataContents = UA_STRING_ALLOC("http://opcfoundation.org/UA/2008/02/Types.xsd"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8254_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8254LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8254_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4555_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8254LU) -); -} - -/* Deprecated - ns=0;i=15039 */ - -static UA_StatusCode function_namespace0_generated_4556_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -UA_Boolean *variablenode_ns_0_i_15039_variant_DataContents = UA_Boolean_new(); -if (!variablenode_ns_0_i_15039_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Boolean_init(variablenode_ns_0_i_15039_variant_DataContents); -*variablenode_ns_0_i_15039_variant_DataContents = (UA_Boolean) true; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15039_variant_DataContents, &UA_TYPES[UA_TYPES_BOOLEAN]); -attr.displayName = UA_LOCALIZEDTEXT("", "Deprecated"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15039LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Deprecated"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Boolean_delete(variablenode_ns_0_i_15039_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4556_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15039LU) -); -} - -/* Opc.Ua - ns=0;i=7617 */ -static const UA_Byte variablenode_ns_0_i_7617_variant_DataContents_byteArray[179887] = {60, 111, 112, 99, 58, 84, 121, 112, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 111, 112, 99, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 66, 105, 110, 97, 114, 121, 83, 99, 104, 101, 109, 97, 47, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 120, 115, 105, 61, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 49, 47, 88, 77, 76, 83, 99, 104, 101, 109, 97, 45, 105, 110, 115, 116, 97, 110, 99, 101, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 117, 97, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 13, 10, 32, 32, 120, 109, 108, 110, 115, 58, 116, 110, 115, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 13, 10, 32, 32, 68, 101, 102, 97, 117, 108, 116, 66, 121, 116, 101, 79, 114, 100, 101, 114, 61, 34, 76, 105, 116, 116, 108, 101, 69, 110, 100, 105, 97, 110, 34, 13, 10, 32, 32, 84, 97, 114, 103, 101, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 34, 13, 10, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 73, 109, 112, 111, 114, 116, 32, 78, 97, 109, 101, 115, 112, 97, 99, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 66, 105, 110, 97, 114, 121, 83, 99, 104, 101, 109, 97, 47, 34, 32, 47, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 110, 32, 88, 77, 76, 32, 101, 108, 101, 109, 101, 110, 116, 32, 101, 110, 99, 111, 100, 101, 100, 32, 97, 115, 32, 97, 32, 85, 84, 70, 45, 56, 32, 115, 116, 114, 105, 110, 103, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 76, 101, 110, 103, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 54, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 84, 104, 101, 32, 112, 111, 115, 115, 105, 98, 108, 101, 32, 101, 110, 99, 111, 100, 105, 110, 103, 115, 32, 102, 111, 114, 32, 97, 32, 78, 111, 100, 101, 73, 100, 32, 118, 97, 108, 117, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 110, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, 102, 111, 114, 32, 97, 32, 110, 111, 100, 101, 32, 105, 110, 32, 97, 32, 85, 65, 32, 115, 101, 114, 118, 101, 114, 32, 97, 100, 100, 114, 101, 115, 115, 32, 115, 112, 97, 99, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 84, 119, 111, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 70, 111, 117, 114, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 117, 109, 101, 114, 105, 99, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 110, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, 102, 111, 114, 32, 97, 32, 110, 111, 100, 101, 32, 105, 110, 32, 97, 32, 85, 65, 32, 115, 101, 114, 118, 101, 114, 32, 97, 100, 100, 114, 101, 115, 115, 32, 115, 112, 97, 99, 101, 32, 113, 117, 97, 108, 105, 102, 105, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 99, 111, 109, 112, 108, 101, 116, 101, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 115, 116, 114, 105, 110, 103, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 110, 100, 101, 120, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 119, 111, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 84, 119, 111, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 111, 117, 114, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 70, 111, 117, 114, 66, 121, 116, 101, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 117, 109, 101, 114, 105, 99, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 71, 117, 105, 100, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 100, 101, 73, 100, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 101, 114, 118, 101, 114, 73, 110, 100, 101, 120, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 66, 121, 116, 101, 79, 114, 100, 101, 114, 83, 105, 103, 110, 105, 102, 105, 99, 97, 110, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 51, 50, 45, 98, 105, 116, 32, 115, 116, 97, 116, 117, 115, 32, 99, 111, 100, 101, 32, 118, 97, 108, 117, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 32, 115, 116, 114, 117, 99, 116, 117, 114, 101, 32, 99, 111, 110, 116, 97, 105, 110, 105, 110, 103, 32, 100, 105, 97, 103, 110, 111, 115, 116, 105, 99, 32, 105, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 32, 97, 115, 115, 111, 99, 105, 97, 116, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 115, 116, 97, 116, 117, 115, 32, 99, 111, 100, 101, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 121, 109, 98, 111, 108, 105, 99, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 73, 110, 110, 101, 114, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 73, 110, 110, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 115, 116, 114, 105, 110, 103, 32, 113, 117, 97, 108, 105, 102, 105, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 105, 110, 100, 101, 120, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 115, 116, 114, 105, 110, 103, 32, 113, 117, 97, 108, 105, 102, 105, 101, 100, 32, 119, 105, 116, 104, 32, 97, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 105, 110, 100, 101, 120, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 76, 111, 99, 97, 108, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 101, 120, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 84, 101, 120, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 118, 97, 108, 117, 101, 32, 119, 105, 116, 104, 32, 97, 110, 32, 97, 115, 115, 111, 99, 105, 97, 116, 101, 100, 32, 116, 105, 109, 101, 115, 116, 97, 109, 112, 44, 32, 97, 110, 100, 32, 113, 117, 97, 108, 105, 116, 121, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 108, 117, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 115, 101, 99, 111, 110, 100, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 115, 101, 114, 105, 97, 108, 105, 122, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 112, 114, 101, 102, 105, 120, 101, 100, 32, 119, 105, 116, 104, 32, 105, 116, 115, 32, 100, 97, 116, 97, 32, 116, 121, 112, 101, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 105, 110, 97, 114, 121, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 109, 108, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 101, 114, 118, 101, 100, 49, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 84, 121, 112, 101, 73, 100, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 100, 121, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 66, 111, 100, 121, 76, 101, 110, 103, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 65, 32, 117, 110, 105, 111, 110, 32, 111, 102, 32, 115, 101, 118, 101, 114, 97, 108, 32, 116, 121, 112, 101, 115, 46, 60, 47, 111, 112, 99, 58, 68, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 49, 34, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 105, 116, 34, 32, 76, 101, 110, 103, 116, 104, 61, 34, 49, 34, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 111, 108, 101, 97, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 66, 121, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 49, 54, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 49, 54, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 73, 110, 116, 49, 54, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 51, 50, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 73, 110, 116, 51, 50, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 54, 52, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 54, 52, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 73, 110, 116, 54, 52, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 54, 52, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 108, 111, 97, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 67, 104, 97, 114, 65, 114, 114, 97, 121, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 88, 109, 108, 69, 108, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 49, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 86, 97, 114, 105, 97, 110, 116, 84, 121, 112, 101, 34, 32, 83, 119, 105, 116, 99, 104, 86, 97, 108, 117, 101, 61, 34, 50, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 83, 119, 105, 116, 99, 104, 70, 105, 101, 108, 100, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 110, 100, 97, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 32, 32, 32, 32, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 66, 77, 80, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 71, 73, 70, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 74, 80, 71, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 101, 80, 78, 71, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 117, 100, 105, 111, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 114, 105, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 105, 116, 70, 105, 101, 108, 100, 77, 97, 115, 107, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 86, 101, 114, 115, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 112, 104, 101, 109, 101, 114, 97, 108, 75, 101, 121, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 99, 75, 101, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 97, 110, 100, 108, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 105, 109, 109, 101, 100, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 101, 99, 116, 111, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 86, 101, 99, 116, 111, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 86, 101, 99, 116, 111, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 89, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 90, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 89, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 90, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 114, 97, 109, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 114, 101, 101, 68, 70, 114, 97, 109, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 114, 97, 109, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 67, 97, 114, 116, 101, 115, 105, 97, 110, 67, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 104, 114, 101, 101, 68, 79, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 110, 70, 105, 108, 101, 77, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 97, 115, 101, 69, 120, 105, 115, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 101, 110, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 104, 117, 109, 98, 112, 114, 105, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 100, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 88, 53, 48, 57, 83, 117, 98, 106, 101, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 82, 117, 108, 101, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 73, 100, 101, 110, 116, 105, 116, 121, 67, 114, 105, 116, 101, 114, 105, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 105, 116, 101, 114, 105, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 85, 110, 105, 116, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 112, 111, 110, 101, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 112, 104, 97, 98, 101, 116, 105, 99, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 99, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 97, 114, 109, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 49, 54, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 97, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 99, 111, 110, 102, 105, 114, 109, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 86, 97, 108, 105, 100, 97, 116, 105, 111, 110, 79, 112, 116, 105, 111, 110, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 69, 120, 112, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 72, 111, 115, 116, 78, 97, 109, 101, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 69, 120, 112, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 114, 101, 115, 115, 73, 115, 115, 117, 101, 114, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 104, 101, 99, 107, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 79, 110, 108, 105, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 104, 101, 99, 107, 82, 101, 118, 111, 99, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 79, 102, 102, 108, 105, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 77, 97, 115, 107, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 76, 105, 115, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 114, 117, 115, 116, 101, 100, 67, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 115, 115, 117, 101, 114, 67, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 69, 114, 114, 111, 114, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 65, 66, 105, 110, 97, 114, 121, 70, 105, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 99, 104, 101, 109, 97, 76, 111, 99, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 108, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 111, 100, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 111, 114, 116, 97, 98, 108, 101, 78, 111, 100, 101, 73, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 115, 105, 103, 110, 101, 100, 82, 97, 116, 105, 111, 110, 97, 108, 78, 117, 109, 98, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 110, 111, 109, 105, 110, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 83, 116, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 117, 115, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 101, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 83, 99, 104, 101, 109, 97, 72, 101, 97, 100, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 117, 109, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 105, 109, 112, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 116, 73, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 70, 108, 97, 103, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 49, 54, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 109, 111, 116, 101, 100, 70, 105, 101, 108, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 106, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 120, 116, 101, 110, 115, 105, 111, 110, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 72, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 116, 105, 116, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 101, 116, 97, 68, 97, 116, 97, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 73, 116, 101, 109, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 86, 97, 114, 105, 97, 98, 108, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 69, 118, 101, 110, 116, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 67, 117, 115, 116, 111, 109, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 83, 111, 117, 114, 99, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 121, 99, 108, 105, 99, 68, 97, 116, 97, 83, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 97, 119, 68, 97, 116, 97, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 101, 112, 65, 108, 105, 118, 101, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 73, 110, 116, 101, 114, 102, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 85, 114, 108, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 73, 110, 116, 101, 114, 102, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 101, 116, 119, 111, 114, 107, 65, 100, 100, 114, 101, 115, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 99, 101, 105, 118, 101, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 70, 114, 97, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 101, 97, 100, 101, 114, 76, 97, 121, 111, 117, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 116, 116, 105, 110, 103, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 86, 97, 114, 105, 97, 98, 108, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 105, 101, 108, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 114, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 72, 97, 110, 100, 108, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 85, 115, 97, 98, 108, 101, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 118, 101, 114, 114, 105, 100, 101, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 77, 105, 114, 114, 111, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 75, 101, 121, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 70, 117, 116, 117, 114, 101, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 80, 97, 115, 116, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 71, 114, 111, 117, 112, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 70, 111, 108, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 75, 101, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 114, 121, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 110, 100, 97, 108, 111, 110, 101, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 98, 101, 100, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 77, 101, 116, 97, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 101, 102, 97, 117, 108, 116, 83, 101, 99, 117, 114, 105, 116, 121, 75, 101, 121, 83, 101, 114, 118, 105, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 83, 117, 98, 75, 101, 121, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 75, 101, 121, 86, 97, 108, 117, 101, 80, 97, 105, 114, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 115, 99, 101, 110, 100, 105, 110, 103, 87, 114, 105, 116, 101, 114, 73, 100, 83, 105, 110, 103, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 121, 108, 111, 97, 100, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 109, 111, 116, 101, 100, 70, 105, 101, 108, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 79, 114, 100, 101, 114, 105, 110, 103, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 105, 99, 111, 83, 101, 99, 111, 110, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 106, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 111, 114, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 101, 100, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 71, 117, 105, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 97, 100, 112, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 72, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 110, 103, 108, 101, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 67, 108, 97, 115, 115, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 108, 121, 84, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 86, 101, 114, 115, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 101, 114, 115, 105, 98, 108, 101, 70, 105, 101, 108, 100, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 77, 101, 115, 115, 97, 103, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 78, 101, 116, 119, 111, 114, 107, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 74, 115, 111, 110, 68, 97, 116, 97, 83, 101, 116, 77, 101, 115, 115, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 109, 105, 116, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 80, 114, 105, 111, 114, 105, 116, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 82, 101, 99, 101, 105, 118, 101, 81, 111, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 68, 101, 108, 97, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 82, 101, 112, 101, 97, 116, 68, 101, 108, 97, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 103, 114, 97, 109, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 65, 110, 110, 111, 117, 110, 99, 101, 82, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 114, 101, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 111, 115, 67, 97, 116, 101, 103, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 103, 114, 97, 109, 81, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 112, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 83, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 101, 115, 116, 69, 102, 102, 111, 114, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 76, 101, 97, 115, 116, 79, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 77, 111, 115, 116, 79, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 97, 99, 116, 108, 121, 79, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 87, 114, 105, 116, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 85, 112, 100, 97, 116, 101, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 107, 101, 114, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 83, 101, 116, 82, 101, 97, 100, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 111, 117, 114, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 68, 101, 108, 105, 118, 101, 114, 121, 71, 117, 97, 114, 97, 110, 116, 101, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 107, 101, 114, 84, 114, 97, 110, 115, 112, 111, 114, 116, 81, 117, 97, 108, 105, 116, 121, 79, 102, 83, 101, 114, 118, 105, 99, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 97, 68, 97, 116, 97, 81, 117, 101, 117, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 65, 100, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 77, 97, 116, 99, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 77, 111, 100, 105, 102, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 82, 101, 109, 111, 118, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 87, 114, 105, 116, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 82, 101, 97, 100, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 87, 114, 105, 116, 101, 114, 71, 114, 111, 117, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 82, 101, 97, 100, 101, 114, 71, 114, 111, 117, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 80, 117, 98, 68, 97, 116, 97, 115, 101, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 83, 117, 98, 68, 97, 116, 97, 115, 101, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 83, 101, 99, 117, 114, 105, 116, 121, 71, 114, 111, 117, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 80, 117, 115, 104, 84, 97, 114, 103, 101, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 114, 111, 117, 112, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 86, 97, 108, 117, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 69, 108, 101, 109, 101, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 117, 98, 83, 117, 98, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 102, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 76, 101, 118, 101, 108, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 118, 97, 110, 99, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 102, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 98, 117, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 83, 117, 98, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 67, 111, 117, 110, 116, 101, 114, 67, 108, 97, 115, 115, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 79, 112, 116, 105, 111, 110, 115, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 73, 110, 105, 116, 105, 97, 108, 80, 97, 115, 115, 119, 111, 114, 100, 67, 104, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 68, 105, 115, 97, 98, 108, 101, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 68, 105, 115, 97, 98, 108, 101, 68, 101, 108, 101, 116, 101, 70, 111, 114, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 78, 111, 67, 104, 97, 110, 103, 101, 70, 111, 114, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 112, 112, 111, 114, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 70, 111, 114, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 85, 112, 112, 101, 114, 67, 97, 115, 101, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 76, 111, 119, 101, 114, 67, 97, 115, 101, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 68, 105, 103, 105, 116, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 105, 114, 101, 115, 83, 112, 101, 99, 105, 97, 108, 67, 104, 97, 114, 97, 99, 116, 101, 114, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 68, 101, 108, 101, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 67, 104, 97, 110, 103, 101, 66, 121, 85, 115, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 117, 115, 116, 67, 104, 97, 110, 103, 101, 80, 97, 115, 115, 119, 111, 114, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 97, 115, 107, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 101, 100, 84, 105, 99, 107, 101, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 117, 112, 108, 101, 120, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 117, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 97, 108, 102, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 65, 100, 109, 105, 110, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 101, 114, 102, 97, 99, 101, 79, 112, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 101, 115, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 114, 109, 97, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 80, 114, 101, 115, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 119, 101, 114, 76, 97, 121, 101, 114, 68, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 80, 114, 111, 103, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 78, 101, 103, 111, 116, 105, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 70, 97, 105, 108, 117, 114, 101, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 70, 97, 105, 108, 117, 114, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 66, 97, 110, 100, 119, 105, 100, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 82, 101, 115, 111, 117, 114, 99, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 117, 102, 102, 105, 99, 105, 101, 110, 116, 84, 114, 97, 102, 102, 105, 99, 67, 108, 97, 115, 115, 66, 97, 110, 100, 119, 105, 100, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 73, 110, 85, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 73, 110, 85, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 80, 114, 101, 101, 109, 112, 116, 101, 100, 66, 121, 72, 105, 103, 104, 101, 114, 82, 97, 110, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 97, 116, 101, 110, 99, 121, 72, 97, 115, 67, 104, 97, 110, 103, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 103, 114, 101, 115, 115, 80, 111, 114, 116, 78, 111, 116, 65, 118, 98, 67, 97, 112, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 68, 105, 102, 102, 101, 114, 101, 110, 116, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 117, 116, 79, 102, 77, 115, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 117, 116, 79, 102, 77, 109, 114, 112, 82, 101, 115, 111, 117, 114, 99, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 110, 111, 116, 83, 116, 111, 114, 101, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 65, 100, 100, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 73, 115, 78, 111, 116, 65, 110, 83, 114, 99, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 70, 114, 97, 109, 101, 83, 105, 122, 101, 84, 111, 111, 76, 97, 114, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 70, 97, 110, 73, 110, 80, 111, 114, 116, 115, 76, 105, 109, 105, 116, 82, 101, 97, 99, 104, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 114, 115, 116, 86, 97, 108, 117, 101, 67, 104, 97, 110, 103, 101, 100, 70, 111, 114, 83, 116, 114, 101, 97, 109, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 108, 97, 110, 66, 108, 111, 99, 107, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 108, 97, 110, 84, 97, 103, 103, 105, 110, 103, 68, 105, 115, 97, 98, 108, 101, 100, 79, 110, 69, 103, 114, 101, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 114, 67, 108, 97, 115, 115, 80, 114, 105, 111, 114, 105, 116, 121, 77, 105, 115, 109, 97, 116, 99, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 80, 114, 111, 112, 97, 103, 97, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 76, 97, 116, 101, 110, 99, 121, 69, 120, 99, 101, 101, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 105, 100, 103, 101, 68, 111, 101, 115, 78, 111, 116, 80, 114, 111, 118, 105, 100, 101, 78, 101, 116, 119, 111, 114, 107, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 101, 97, 109, 73, 100, 84, 121, 112, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 101, 97, 116, 117, 114, 101, 78, 111, 116, 83, 117, 112, 112, 111, 114, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 83, 116, 114, 101, 97, 109, 83, 116, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 84, 97, 108, 107, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 115, 110, 76, 105, 115, 116, 101, 110, 101, 114, 83, 116, 97, 116, 117, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 116, 105, 97, 108, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 77, 97, 112, 112, 105, 110, 103, 69, 110, 116, 114, 121, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 112, 112, 105, 110, 103, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 76, 97, 98, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 80, 67, 80, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 86, 97, 108, 117, 101, 95, 68, 83, 67, 80, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 76, 105, 115, 116, 69, 110, 116, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 100, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 117, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 97, 113, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 115, 112, 101, 99, 105, 102, 105, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 101, 114, 116, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 72, 105, 115, 116, 111, 114, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 101, 105, 118, 101, 69, 118, 101, 110, 116, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 56, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 97, 116, 111, 109, 105, 99, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 97, 116, 111, 109, 105, 99, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 70, 117, 108, 108, 65, 114, 114, 97, 121, 79, 110, 108, 121, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 83, 117, 98, 68, 97, 116, 97, 84, 121, 112, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 86, 111, 108, 97, 116, 105, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 115, 116, 97, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 56, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 98, 101, 84, 111, 69, 118, 101, 110, 116, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 87, 114, 105, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 49, 54, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 105, 110, 103, 82, 101, 113, 117, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 82, 101, 113, 117, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 105, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 121, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 79, 112, 116, 105, 111, 110, 97, 108, 70, 105, 101, 108, 100, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 111, 110, 87, 105, 116, 104, 83, 117, 98, 116, 121, 112, 101, 100, 86, 97, 108, 117, 101, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 79, 112, 116, 105, 111, 110, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 102, 97, 117, 108, 116, 69, 110, 99, 111, 100, 105, 110, 103, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 70, 105, 101, 108, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 117, 109, 70, 105, 101, 108, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 54, 52, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 69, 110, 117, 109, 86, 97, 108, 117, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 116, 105, 111, 110, 83, 101, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 105, 100, 66, 105, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 114, 109, 97, 108, 105, 122, 101, 100, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 99, 105, 109, 97, 108, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 101, 83, 116, 114, 105, 110, 103, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 116, 99, 84, 105, 109, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 90, 111, 110, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 121, 108, 105, 103, 104, 116, 83, 97, 118, 105, 110, 103, 73, 110, 79, 102, 102, 115, 101, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 116, 101, 103, 101, 114, 73, 100, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 65, 110, 100, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 100, 105, 116, 69, 110, 116, 114, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 111, 117, 116, 72, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 116, 114, 105, 110, 103, 84, 97, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 105, 116, 105, 111, 110, 97, 108, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 101, 114, 115, 105, 111, 110, 84, 105, 109, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 70, 97, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 114, 105, 115, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 108, 101, 115, 115, 73, 110, 118, 111, 107, 101, 82, 101, 115, 112, 111, 110, 115, 101, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 82, 101, 99, 111, 114, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 99, 111, 114, 100, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 110, 100, 83, 101, 114, 118, 101, 114, 115, 79, 110, 78, 101, 116, 119, 111, 114, 107, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 67, 111, 117, 110, 116, 101, 114, 82, 101, 115, 101, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 79, 110, 78, 101, 116, 119, 111, 114, 107, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 73, 110, 115, 116, 97, 110, 99, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 65, 110, 100, 69, 110, 99, 114, 121, 112, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 84, 111, 107, 101, 110, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 84, 111, 107, 101, 110, 80, 111, 108, 105, 99, 121, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 114, 111, 102, 105, 108, 101, 85, 114, 105, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 116, 69, 110, 100, 112, 111, 105, 110, 116, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 71, 97, 116, 101, 119, 97, 121, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 85, 114, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 112, 104, 111, 114, 101, 70, 105, 108, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 79, 110, 108, 105, 110, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 100, 110, 115, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 100, 110, 115, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 83, 101, 114, 118, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 115, 99, 111, 118, 101, 114, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 83, 101, 114, 118, 101, 114, 50, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 110, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 100, 65, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 82, 101, 113, 117, 101, 115, 116, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 110, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 80, 114, 111, 116, 111, 99, 111, 108, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 104, 97, 110, 110, 101, 108, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 99, 117, 114, 101, 67, 104, 97, 110, 110, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 69, 110, 100, 112, 111, 105, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 114, 118, 101, 114, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 113, 117, 101, 115, 116, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 111, 110, 121, 109, 111, 117, 115, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 115, 115, 119, 111, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 88, 53, 48, 57, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 115, 117, 101, 100, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 111, 108, 105, 99, 121, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 107, 101, 110, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 114, 121, 112, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 115, 97, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 99, 99, 69, 110, 99, 114, 121, 112, 116, 101, 100, 83, 101, 99, 114, 101, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 101, 100, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 83, 111, 102, 116, 119, 97, 114, 101, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 73, 100, 101, 110, 116, 105, 116, 121, 84, 111, 107, 101, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 84, 111, 107, 101, 110, 83, 105, 103, 110, 97, 116, 117, 114, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 103, 110, 97, 116, 117, 114, 101, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 105, 118, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 78, 111, 110, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 108, 111, 115, 101, 83, 101, 115, 115, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 97, 110, 99, 101, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 49, 48, 55, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 50, 49, 52, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 50, 52, 50, 56, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 52, 56, 53, 55, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 57, 55, 49, 53, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 49, 57, 52, 51, 48, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 51, 56, 56, 54, 48, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 55, 55, 55, 50, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 51, 53, 53, 52, 52, 51, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 97, 115, 101, 78, 111, 100, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 49, 50, 50, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 49, 51, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 51, 50, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 55, 49, 51, 56, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 56, 54, 48, 48, 52, 51, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 54, 51, 50, 53, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 51, 55, 48, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 53, 48, 49, 51, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 112, 101, 99, 105, 102, 105, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 71, 101, 110, 101, 114, 105, 99, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 101, 110, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 78, 101, 119, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 65, 100, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 78, 111, 100, 101, 115, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 65, 100, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 84, 97, 114, 103, 101, 116, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 66, 105, 100, 105, 114, 101, 99, 116, 105, 111, 110, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 73, 116, 101, 109, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 68, 101, 108, 101, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 32, 73, 115, 79, 112, 116, 105, 111, 110, 83, 101, 116, 61, 34, 116, 114, 117, 101, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 114, 114, 97, 121, 68, 105, 109, 101, 110, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 97, 105, 110, 115, 78, 111, 76, 111, 111, 112, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 53, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 105, 122, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 50, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 65, 98, 115, 116, 114, 97, 99, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 52, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 77, 105, 110, 105, 109, 117, 109, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 48, 57, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 49, 57, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 51, 56, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 121, 109, 109, 101, 116, 114, 105, 99, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 55, 54, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 53, 53, 51, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 69, 120, 101, 99, 117, 116, 97, 98, 108, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 49, 48, 55, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 54, 50, 49, 52, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 82, 97, 110, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 50, 52, 50, 56, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 77, 97, 115, 107, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 52, 56, 53, 55, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 70, 111, 114, 86, 97, 114, 105, 97, 98, 108, 101, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 48, 57, 55, 49, 53, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 49, 57, 52, 51, 48, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 111, 108, 101, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 51, 56, 56, 54, 48, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 82, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 55, 55, 55, 50, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 99, 99, 101, 115, 115, 76, 101, 118, 101, 108, 69, 120, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 51, 53, 53, 52, 52, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 111, 114, 119, 97, 114, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 101, 114, 115, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 111, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 110, 102, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 110, 102, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 48, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 67, 108, 97, 115, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 66, 114, 111, 119, 115, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 73, 110, 118, 101, 114, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 116, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 105, 110, 103, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 97, 105, 110, 105, 110, 103, 80, 97, 116, 104, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 97, 114, 103, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 84, 97, 114, 103, 101, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 84, 97, 114, 103, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 103, 105, 115, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 103, 105, 115, 116, 101, 114, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 117, 110, 116, 101, 114, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 101, 114, 105, 99, 82, 97, 110, 103, 101, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 79, 112, 97, 113, 117, 101, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 66, 105, 110, 97, 114, 121, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 65, 114, 114, 97, 121, 76, 101, 110, 103, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 66, 117, 102, 102, 101, 114, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 104, 97, 110, 110, 101, 108, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 84, 111, 107, 101, 110, 76, 105, 102, 101, 116, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 99, 108, 117, 100, 101, 83, 117, 98, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 69, 113, 117, 97, 108, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 115, 78, 117, 108, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 71, 114, 101, 97, 116, 101, 114, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 101, 115, 115, 84, 104, 97, 110, 79, 114, 69, 113, 117, 97, 108, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 105, 107, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 101, 116, 119, 101, 101, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 76, 105, 115, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 57, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 115, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 86, 105, 101, 119, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 79, 102, 84, 121, 112, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 97, 116, 101, 100, 84, 111, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 65, 110, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 105, 116, 119, 105, 115, 101, 79, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 55, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 112, 97, 110, 100, 101, 100, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 84, 121, 112, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 70, 111, 114, 119, 97, 114, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 102, 101, 114, 101, 110, 99, 101, 100, 78, 111, 100, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 76, 105, 116, 101, 114, 97, 108, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 108, 105, 97, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 108, 97, 116, 105, 118, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 70, 105, 108, 116, 101, 114, 79, 112, 101, 114, 97, 110, 100, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 121, 112, 101, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 110, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 108, 101, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 105, 101, 119, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 86, 105, 101, 119, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 100, 101, 84, 121, 112, 101, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 84, 121, 112, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 68, 97, 116, 97, 83, 101, 116, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 80, 97, 114, 115, 105, 110, 103, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 81, 117, 101, 114, 121, 68, 97, 116, 97, 83, 101, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 111, 117, 114, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 66, 111, 116, 104, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 105, 116, 104, 101, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 97, 108, 105, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 65, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 81, 117, 97, 108, 105, 102, 105, 101, 100, 78, 97, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 82, 101, 97, 100, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 117, 109, 86, 97, 108, 117, 101, 115, 80, 101, 114, 78, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 117, 114, 110, 66, 111, 117, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 80, 114, 111, 99, 101, 115, 115, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 83, 105, 109, 112, 108, 101, 66, 111, 117, 110, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 77, 111, 100, 105, 102, 105, 101, 100, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 97, 116, 97, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 100, 105, 102, 105, 99, 97, 116, 105, 111, 110, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 108, 101, 97, 115, 101, 67, 111, 110, 116, 105, 110, 117, 97, 116, 105, 111, 110, 80, 111, 105, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 82, 101, 97, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 116, 116, 114, 105, 98, 117, 116, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 100, 101, 120, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 87, 114, 105, 116, 101, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 100, 101, 115, 84, 111, 87, 114, 105, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 101, 114, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 73, 110, 115, 101, 114, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 108, 97, 99, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 85, 112, 100, 97, 116, 101, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 85, 112, 100, 97, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 102, 111, 114, 109, 73, 110, 115, 101, 114, 116, 82, 101, 112, 108, 97, 99, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 80, 101, 114, 102, 111, 114, 109, 85, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 97, 119, 77, 111, 100, 105, 102, 105, 101, 100, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 115, 68, 101, 108, 101, 116, 101, 77, 111, 100, 105, 102, 105, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 65, 116, 84, 105, 109, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 113, 84, 105, 109, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 69, 118, 101, 110, 116, 68, 101, 116, 97, 105, 108, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 83, 111, 117, 114, 99, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 112, 101, 114, 97, 116, 105, 111, 110, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 68, 101, 116, 97, 105, 108, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 98, 106, 101, 99, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 113, 117, 101, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 101, 116, 104, 111, 100, 115, 84, 111, 67, 97, 108, 108, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 97, 108, 108, 77, 101, 116, 104, 111, 100, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 111, 114, 116, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 84, 105, 109, 101, 115, 116, 97, 109, 112, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 84, 114, 105, 103, 103, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 97, 100, 98, 97, 110, 100, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 105, 109, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 79, 112, 101, 114, 97, 110, 100, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 83, 101, 114, 118, 101, 114, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 68, 101, 102, 97, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 101, 97, 116, 85, 110, 99, 101, 114, 116, 97, 105, 110, 65, 115, 66, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 66, 97, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 68, 97, 116, 97, 71, 111, 111, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 83, 108, 111, 112, 101, 100, 69, 120, 116, 114, 97, 112, 111, 108, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 101, 108, 101, 99, 116, 67, 108, 97, 117, 115, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 104, 101, 114, 101, 67, 108, 97, 117, 115, 101, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 67, 111, 110, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 103, 103, 114, 101, 103, 97, 116, 101, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 114, 111, 99, 101, 115, 115, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 103, 103, 114, 101, 103, 97, 116, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 79, 108, 100, 101, 115, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 116, 101, 109, 84, 111, 77, 111, 110, 105, 116, 111, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 97, 100, 86, 97, 108, 117, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 67, 114, 101, 97, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 114, 101, 97, 116, 101, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 81, 117, 101, 117, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 70, 105, 108, 116, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 105, 109, 101, 115, 116, 97, 109, 112, 115, 84, 111, 82, 101, 116, 117, 114, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 113, 117, 101, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 73, 116, 101, 109, 115, 84, 111, 77, 111, 100, 105, 102, 121, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 77, 111, 100, 105, 102, 121, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 73, 116, 101, 109, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 65, 100, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 105, 110, 107, 115, 84, 111, 82, 101, 109, 111, 118, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 100, 100, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 100, 100, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 109, 111, 118, 101, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 118, 105, 115, 101, 100, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 97, 116, 97, 86, 97, 108, 117, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 76, 105, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 72, 97, 110, 100, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 76, 105, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 118, 101, 110, 116, 70, 105, 101, 108, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 68, 97, 116, 97, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 65, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 114, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 116, 114, 97, 110, 115, 109, 105, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 77, 101, 115, 115, 97, 103, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 118, 97, 105, 108, 97, 98, 108, 101, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 110, 100, 73, 110, 105, 116, 105, 97, 108, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 115, 117, 108, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 113, 117, 101, 115, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 113, 117, 101, 115, 116, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 82, 101, 115, 112, 111, 110, 115, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 101, 115, 112, 111, 110, 115, 101, 72, 101, 97, 100, 101, 114, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 115, 117, 108, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 82, 101, 115, 117, 108, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 110, 117, 102, 97, 99, 116, 117, 114, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 100, 117, 99, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 111, 102, 116, 119, 97, 114, 101, 86, 101, 114, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 68, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 99, 121, 83, 117, 112, 112, 111, 114, 116, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 110, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 108, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 87, 97, 114, 109, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 111, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 97, 114, 101, 110, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 72, 111, 116, 65, 110, 100, 77, 105, 114, 114, 111, 114, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 117, 110, 110, 105, 110, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 70, 97, 105, 108, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 115, 112, 101, 110, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 84, 101, 115, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 53, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 109, 109, 117, 110, 105, 99, 97, 116, 105, 111, 110, 70, 97, 117, 108, 116, 34, 32, 86, 97, 108, 117, 101, 61, 34, 54, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 55, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 100, 117, 110, 100, 97, 110, 116, 83, 101, 114, 118, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 76, 101, 118, 101, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 71, 114, 111, 117, 112, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 76, 105, 115, 116, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 78, 101, 116, 119, 111, 114, 107, 80, 97, 116, 104, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 97, 109, 112, 108, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 83, 117, 109, 109, 97, 114, 121, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 86, 105, 101, 119, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 83, 101, 115, 115, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 65, 98, 111, 114, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 109, 117, 108, 97, 116, 101, 100, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 106, 101, 99, 116, 101, 100, 82, 101, 113, 117, 101, 115, 116, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 117, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 114, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 101, 114, 83, 116, 97, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 66, 117, 105, 108, 100, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 111, 110, 100, 115, 84, 105, 108, 108, 83, 104, 117, 116, 100, 111, 119, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 104, 117, 116, 100, 111, 119, 110, 82, 101, 97, 115, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 101, 114, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 100, 112, 111, 105, 110, 116, 85, 114, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 111, 99, 97, 108, 101, 73, 100, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 99, 116, 117, 97, 108, 83, 101, 115, 115, 105, 111, 110, 84, 105, 109, 101, 111, 117, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 82, 101, 115, 112, 111, 110, 115, 101, 77, 101, 115, 115, 97, 103, 101, 83, 105, 122, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 76, 97, 115, 116, 67, 111, 110, 116, 97, 99, 116, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 115, 73, 110, 81, 117, 101, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 82, 101, 97, 100, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 87, 114, 105, 116, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 115, 116, 111, 114, 121, 85, 112, 100, 97, 116, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 97, 108, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 84, 114, 105, 103, 103, 101, 114, 105, 110, 103, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 116, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 77, 111, 100, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 100, 100, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 108, 101, 116, 101, 82, 101, 102, 101, 114, 101, 110, 99, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 66, 114, 111, 119, 115, 101, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 108, 97, 116, 101, 66, 114, 111, 119, 115, 101, 80, 97, 116, 104, 115, 84, 111, 78, 111, 100, 101, 73, 100, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 70, 105, 114, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 81, 117, 101, 114, 121, 78, 101, 120, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 114, 101, 103, 105, 115, 116, 101, 114, 78, 111, 100, 101, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 83, 101, 99, 117, 114, 105, 116, 121, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 79, 102, 83, 101, 115, 115, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 67, 108, 105, 101, 110, 116, 85, 115, 101, 114, 73, 100, 72, 105, 115, 116, 111, 114, 121, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 77, 101, 99, 104, 97, 110, 105, 115, 109, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 99, 111, 100, 105, 110, 103, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 112, 111, 114, 116, 80, 114, 111, 116, 111, 99, 111, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 77, 101, 115, 115, 97, 103, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 108, 105, 101, 110, 116, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 114, 118, 105, 99, 101, 67, 111, 117, 110, 116, 101, 114, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 111, 116, 97, 108, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 114, 114, 111, 114, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 73, 110, 102, 111, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 83, 117, 98, 115, 99, 114, 105, 112, 116, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 114, 105, 111, 114, 105, 116, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 73, 110, 116, 101, 114, 118, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 97, 120, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 80, 101, 114, 80, 117, 98, 108, 105, 115, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 105, 110, 103, 69, 110, 97, 98, 108, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 111, 111, 108, 101, 97, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 105, 102, 121, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 112, 117, 98, 108, 105, 115, 104, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 65, 108, 116, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 114, 97, 110, 115, 102, 101, 114, 114, 101, 100, 84, 111, 83, 97, 109, 101, 67, 108, 105, 101, 110, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 116, 101, 80, 117, 98, 108, 105, 115, 104, 82, 101, 113, 117, 101, 115, 116, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 75, 101, 101, 112, 65, 108, 105, 118, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 117, 114, 114, 101, 110, 116, 76, 105, 102, 101, 116, 105, 109, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 97, 99, 107, 110, 111, 119, 108, 101, 100, 103, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 99, 97, 114, 100, 101, 100, 77, 101, 115, 115, 97, 103, 101, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 97, 98, 108, 101, 100, 77, 111, 110, 105, 116, 111, 114, 101, 100, 73, 116, 101, 109, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 111, 110, 105, 116, 111, 114, 105, 110, 103, 81, 117, 101, 117, 101, 79, 118, 101, 114, 102, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 101, 120, 116, 83, 101, 113, 117, 101, 110, 99, 101, 78, 117, 109, 98, 101, 114, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 118, 101, 110, 116, 81, 117, 101, 117, 101, 79, 118, 101, 114, 70, 108, 111, 119, 67, 111, 117, 110, 116, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 85, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 86, 101, 114, 98, 77, 97, 115, 107, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 65, 100, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 78, 111, 100, 101, 68, 101, 108, 101, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 65, 100, 100, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 82, 101, 102, 101, 114, 101, 110, 99, 101, 68, 101, 108, 101, 116, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 56, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 68, 97, 116, 97, 84, 121, 112, 101, 67, 104, 97, 110, 103, 101, 100, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 54, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 77, 111, 100, 101, 108, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 101, 114, 98, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 66, 121, 116, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 83, 101, 109, 97, 110, 116, 105, 99, 67, 104, 97, 110, 103, 101, 83, 116, 114, 117, 99, 116, 117, 114, 101, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 102, 102, 101, 99, 116, 101, 100, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 82, 97, 110, 103, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 111, 119, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 72, 105, 103, 104, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 97, 109, 101, 115, 112, 97, 99, 101, 85, 114, 105, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 110, 105, 116, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 105, 110, 101, 97, 114, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 111, 103, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 76, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 68, 111, 117, 98, 108, 101, 67, 111, 109, 112, 108, 101, 120, 78, 117, 109, 98, 101, 114, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 82, 101, 97, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 109, 97, 103, 105, 110, 97, 114, 121, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 110, 103, 105, 110, 101, 101, 114, 105, 110, 103, 85, 110, 105, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 69, 85, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 69, 85, 82, 97, 110, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 82, 97, 110, 103, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 84, 105, 116, 108, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 76, 111, 99, 97, 108, 105, 122, 101, 100, 84, 101, 120, 116, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 99, 97, 108, 101, 84, 121, 112, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 120, 105, 115, 83, 99, 97, 108, 101, 69, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 65, 120, 105, 115, 83, 116, 101, 112, 115, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 88, 86, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 88, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 111, 117, 98, 108, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 86, 97, 108, 117, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 70, 108, 111, 97, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 83, 116, 97, 116, 117, 115, 82, 101, 115, 117, 108, 116, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 80, 114, 111, 103, 114, 97, 109, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 50, 68, 97, 116, 97, 84, 121, 112, 101, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 67, 114, 101, 97, 116, 101, 67, 108, 105, 101, 110, 116, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 73, 110, 118, 111, 99, 97, 116, 105, 111, 110, 67, 114, 101, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 83, 101, 115, 115, 105, 111, 110, 73, 100, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 78, 111, 100, 101, 73, 100, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 116, 110, 115, 58, 65, 114, 103, 117, 109, 101, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 65, 114, 103, 117, 109, 101, 110, 116, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 73, 110, 116, 51, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 86, 97, 114, 105, 97, 110, 116, 34, 32, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 61, 34, 78, 111, 79, 102, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 79, 117, 116, 112, 117, 116, 86, 97, 108, 117, 101, 115, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 67, 97, 108, 108, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 76, 97, 115, 116, 77, 101, 116, 104, 111, 100, 82, 101, 116, 117, 114, 110, 83, 116, 97, 116, 117, 115, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 117, 97, 58, 83, 116, 97, 116, 117, 115, 67, 111, 100, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 34, 32, 66, 97, 115, 101, 84, 121, 112, 101, 61, 34, 117, 97, 58, 69, 120, 116, 101, 110, 115, 105, 111, 110, 79, 98, 106, 101, 99, 116, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 77, 101, 115, 115, 97, 103, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 85, 115, 101, 114, 78, 97, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 83, 116, 114, 105, 110, 103, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 70, 105, 101, 108, 100, 32, 78, 97, 109, 101, 61, 34, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 84, 105, 109, 101, 34, 32, 84, 121, 112, 101, 78, 97, 109, 101, 61, 34, 111, 112, 99, 58, 68, 97, 116, 101, 84, 105, 109, 101, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 83, 116, 114, 117, 99, 116, 117, 114, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 32, 78, 97, 109, 101, 61, 34, 69, 120, 99, 101, 112, 116, 105, 111, 110, 68, 101, 118, 105, 97, 116, 105, 111, 110, 70, 111, 114, 109, 97, 116, 34, 32, 76, 101, 110, 103, 116, 104, 73, 110, 66, 105, 116, 115, 61, 34, 51, 50, 34, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 65, 98, 115, 111, 108, 117, 116, 101, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 48, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 86, 97, 108, 117, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 49, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 82, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 50, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 80, 101, 114, 99, 101, 110, 116, 79, 102, 69, 85, 82, 97, 110, 103, 101, 34, 32, 86, 97, 108, 117, 101, 61, 34, 51, 34, 32, 47, 62, 13, 10, 32, 32, 32, 32, 60, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 86, 97, 108, 117, 101, 32, 78, 97, 109, 101, 61, 34, 85, 110, 107, 110, 111, 119, 110, 34, 32, 86, 97, 108, 117, 101, 61, 34, 52, 34, 32, 47, 62, 13, 10, 32, 32, 60, 47, 111, 112, 99, 58, 69, 110, 117, 109, 101, 114, 97, 116, 101, 100, 84, 121, 112, 101, 62, 13, 10, 13, 10, 60, 47, 111, 112, 99, 58, 84, 121, 112, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 62}; - - - -static UA_StatusCode function_namespace0_generated_4557_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -UA_ByteString *variablenode_ns_0_i_7617_variant_DataContents = UA_ByteString_new(); -if (!variablenode_ns_0_i_7617_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_ByteString_init(variablenode_ns_0_i_7617_variant_DataContents); -variablenode_ns_0_i_7617_variant_DataContents->length = 179887; -variablenode_ns_0_i_7617_variant_DataContents->data = (UA_Byte *)(void*)(uintptr_t)variablenode_ns_0_i_7617_variant_DataContents_byteArray; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7617_variant_DataContents, &UA_TYPES[UA_TYPES_BYTESTRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Opc.Ua"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 93LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Opc.Ua"), -UA_NODEID_NUMERIC(ns[0], 72LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -variablenode_ns_0_i_7617_variant_DataContents->data = NULL; -variablenode_ns_0_i_7617_variant_DataContents->length = 0; -UA_ByteString_delete(variablenode_ns_0_i_7617_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4557_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7617LU) -); -} - -/* NamespaceUri - ns=0;i=7619 */ - -static UA_StatusCode function_namespace0_generated_4558_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7619_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7619_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7619_variant_DataContents); -*variablenode_ns_0_i_7619_variant_DataContents = UA_STRING_ALLOC("http://opcfoundation.org/UA/"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7619_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7619LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7619_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4558_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7619LU) -); -} - -/* Deprecated - ns=0;i=15037 */ - -static UA_StatusCode function_namespace0_generated_4559_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -UA_Boolean *variablenode_ns_0_i_15037_variant_DataContents = UA_Boolean_new(); -if (!variablenode_ns_0_i_15037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_Boolean_init(variablenode_ns_0_i_15037_variant_DataContents); -*variablenode_ns_0_i_15037_variant_DataContents = (UA_Boolean) true; -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15037_variant_DataContents, &UA_TYPES[UA_TYPES_BOOLEAN]); -attr.displayName = UA_LOCALIZEDTEXT("", "Deprecated"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15037LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Deprecated"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_Boolean_delete(variablenode_ns_0_i_15037_variant_DataContents); -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4559_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15037LU) -); -} - -/* Deprecated - ns=0;i=15001 */ - -static UA_StatusCode function_namespace0_generated_4560_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 1LU); -attr.displayName = UA_LOCALIZEDTEXT("", "Deprecated"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15001LU), -UA_NODEID_NUMERIC(ns[0], 72LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "Deprecated"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15001LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4560_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15001LU) -); -} - -/* NamespaceUri - ns=0;i=107 */ - -static UA_StatusCode function_namespace0_generated_4561_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "NamespaceUri"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 107LU), -UA_NODEID_NUMERIC(ns[0], 72LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "NamespaceUri"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 107LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4561_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 107LU) -); -} - -/* DataTypeVersion - ns=0;i=106 */ - -static UA_StatusCode function_namespace0_generated_4562_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 106LU), -UA_NODEID_NUMERIC(ns[0], 72LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 106LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4562_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 106LU) -); -} - -/* DataTypeDescriptionType - ns=0;i=69 */ - -static UA_StatusCode function_namespace0_generated_4563_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableTypeAttributes attr = UA_VariableTypeAttributes_default; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescriptionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLETYPE, -UA_NODEID_NUMERIC(ns[0], 69LU), -UA_NODEID_NUMERIC(ns[0], 63LU), -UA_NODEID_NUMERIC(ns[0], 45LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDescriptionType"), -UA_NODEID_NUMERIC(ns[0], 0LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLETYPEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4563_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 69LU) -); -} - -/* TimeZoneDataType - ns=0;i=8918 */ - -static UA_StatusCode function_namespace0_generated_4564_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8918_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8918_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8918_variant_DataContents); -*variablenode_ns_0_i_8918_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TimeZoneDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8918_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TimeZoneDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8918LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimeZoneDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8918_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8918LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8913LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4564_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8918LU) -); -} - -/* TimeZoneDataType - ns=0;i=8914 */ - -static UA_StatusCode function_namespace0_generated_4565_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8914_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8914_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8914_variant_DataContents); -*variablenode_ns_0_i_8914_variant_DataContents = UA_STRING_ALLOC("TimeZoneDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8914_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TimeZoneDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8914LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TimeZoneDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8914_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8914LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8917LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4565_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8914LU) -); -} - -/* ProgramDiagnosticDataType - ns=0;i=8882 */ - -static UA_StatusCode function_namespace0_generated_4566_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8882_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8882_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8882_variant_DataContents); -*variablenode_ns_0_i_8882_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ProgramDiagnosticDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8882_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8882LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8882_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8882LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 895LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4566_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8882LU) -); -} - -/* Annotation - ns=0;i=8879 */ - -static UA_StatusCode function_namespace0_generated_4567_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8879_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8879_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8879_variant_DataContents); -*variablenode_ns_0_i_8879_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Annotation']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8879_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Annotation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8879LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Annotation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8879_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8879LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4567_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8879LU) -); -} - -/* EUInformation - ns=0;i=8876 */ - -static UA_StatusCode function_namespace0_generated_4568_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8876_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8876_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8876_variant_DataContents); -*variablenode_ns_0_i_8876_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EUInformation']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8876_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EUInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8876LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EUInformation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8876_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8876LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 888LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4568_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8876LU) -); -} - -/* Range - ns=0;i=8873 */ - -static UA_StatusCode function_namespace0_generated_4569_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8873_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8873_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8873_variant_DataContents); -*variablenode_ns_0_i_8873_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Range']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8873_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Range"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8873LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Range"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8873_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8873LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 885LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4569_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8873LU) -); -} - -/* SemanticChangeStructureDataType - ns=0;i=8870 */ - -static UA_StatusCode function_namespace0_generated_4570_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8870_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8870_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8870_variant_DataContents); -*variablenode_ns_0_i_8870_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SemanticChangeStructureDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8870_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeStructureDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8870LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SemanticChangeStructureDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8870_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8870LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 898LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4570_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8870LU) -); -} - -/* ModelChangeStructureDataType - ns=0;i=8867 */ - -static UA_StatusCode function_namespace0_generated_4571_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8867_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8867_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8867_variant_DataContents); -*variablenode_ns_0_i_8867_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ModelChangeStructureDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8867_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ModelChangeStructureDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8867LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModelChangeStructureDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8867_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8867LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 878LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4571_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8867LU) -); -} - -/* SubscriptionDiagnosticsDataType - ns=0;i=8864 */ - -static UA_StatusCode function_namespace0_generated_4572_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8864_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8864_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8864_variant_DataContents); -*variablenode_ns_0_i_8864_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SubscriptionDiagnosticsDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8864_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8864LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8864_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8864LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 875LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4572_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8864LU) -); -} - -/* ServiceCounterDataType - ns=0;i=8861 */ - -static UA_StatusCode function_namespace0_generated_4573_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8861_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8861_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8861_variant_DataContents); -*variablenode_ns_0_i_8861_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServiceCounterDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8861_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCounterDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8861LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServiceCounterDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8861_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8861LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 872LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4573_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8861LU) -); -} - -/* SessionSecurityDiagnosticsDataType - ns=0;i=8858 */ - -static UA_StatusCode function_namespace0_generated_4574_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8858_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8858_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8858_variant_DataContents); -*variablenode_ns_0_i_8858_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SessionSecurityDiagnosticsDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8858_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8858LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8858_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8858LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 869LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4574_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8858LU) -); -} - -/* SessionDiagnosticsDataType - ns=0;i=8855 */ - -static UA_StatusCode function_namespace0_generated_4575_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8855_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8855_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8855_variant_DataContents); -*variablenode_ns_0_i_8855_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SessionDiagnosticsDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8855_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8855LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8855_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8855LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 866LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4575_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8855LU) -); -} - -/* ServerStatusDataType - ns=0;i=8852 */ - -static UA_StatusCode function_namespace0_generated_4576_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8852_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8852_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8852_variant_DataContents); -*variablenode_ns_0_i_8852_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServerStatusDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8852_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8852LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerStatusDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8852_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8852LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 863LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4576_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8852LU) -); -} - -/* ServerDiagnosticsSummaryDataType - ns=0;i=8849 */ - -static UA_StatusCode function_namespace0_generated_4577_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8849_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8849_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8849_variant_DataContents); -*variablenode_ns_0_i_8849_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServerDiagnosticsSummaryDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8849_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8849LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8849_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8849LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 860LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4577_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8849LU) -); -} - -/* SamplingIntervalDiagnosticsDataType - ns=0;i=8846 */ - -static UA_StatusCode function_namespace0_generated_4578_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8846_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8846_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8846_variant_DataContents); -*variablenode_ns_0_i_8846_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SamplingIntervalDiagnosticsDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8846_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8846LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8846_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8846LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 857LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4578_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8846LU) -); -} - -/* RedundantServerDataType - ns=0;i=8843 */ - -static UA_StatusCode function_namespace0_generated_4579_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8843_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8843_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8843_variant_DataContents); -*variablenode_ns_0_i_8843_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RedundantServerDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8843_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8843LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RedundantServerDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8843_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8843LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 854LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4579_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8843LU) -); -} - -/* HistoryEventFieldList - ns=0;i=8807 */ - -static UA_StatusCode function_namespace0_generated_4580_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8807_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8807_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8807_variant_DataContents); -*variablenode_ns_0_i_8807_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='HistoryEventFieldList']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8807_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEventFieldList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8807LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryEventFieldList"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8807_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8807LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 921LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4580_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8807LU) -); -} - -/* AggregateConfiguration - ns=0;i=8711 */ - -static UA_StatusCode function_namespace0_generated_4581_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8711_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8711_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8711_variant_DataContents); -*variablenode_ns_0_i_8711_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AggregateConfiguration']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8711_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8711LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8711_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8711LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4581_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8711LU) -); -} - -/* EventFilter - ns=0;i=8708 */ - -static UA_StatusCode function_namespace0_generated_4582_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8708_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8708_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8708_variant_DataContents); -*variablenode_ns_0_i_8708_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EventFilter']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8708_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EventFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8708LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EventFilter"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8708_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8708LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 726LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4582_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8708LU) -); -} - -/* MonitoringFilter - ns=0;i=8702 */ - -static UA_StatusCode function_namespace0_generated_4583_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8702_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8702_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8702_variant_DataContents); -*variablenode_ns_0_i_8702_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='MonitoringFilter']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8702_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8702LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MonitoringFilter"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8702_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8702LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 720LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4583_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8702LU) -); -} - -/* HistoryEvent - ns=0;i=8639 */ - -static UA_StatusCode function_namespace0_generated_4584_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8639_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8639_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8639_variant_DataContents); -*variablenode_ns_0_i_8639_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='HistoryEvent']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8639_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEvent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8639LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryEvent"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8639_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8639LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 660LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4584_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8639LU) -); -} - -/* SimpleAttributeOperand - ns=0;i=8582 */ - -static UA_StatusCode function_namespace0_generated_4585_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8582_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8582_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8582_variant_DataContents); -*variablenode_ns_0_i_8582_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SimpleAttributeOperand']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8582_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SimpleAttributeOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8582LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SimpleAttributeOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8582_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8582LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 602LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4585_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8582LU) -); -} - -/* AttributeOperand - ns=0;i=8579 */ - -static UA_StatusCode function_namespace0_generated_4586_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8579_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8579_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8579_variant_DataContents); -*variablenode_ns_0_i_8579_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AttributeOperand']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8579_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AttributeOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8579LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AttributeOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8579_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8579LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 599LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4586_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8579LU) -); -} - -/* LiteralOperand - ns=0;i=8576 */ - -static UA_StatusCode function_namespace0_generated_4587_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8576_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8576_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8576_variant_DataContents); -*variablenode_ns_0_i_8576_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='LiteralOperand']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8576_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "LiteralOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8576LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiteralOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8576_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8576LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 596LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4587_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8576LU) -); -} - -/* ElementOperand - ns=0;i=8573 */ - -static UA_StatusCode function_namespace0_generated_4588_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8573_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8573_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8573_variant_DataContents); -*variablenode_ns_0_i_8573_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ElementOperand']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8573_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ElementOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8573LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ElementOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8573_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8573LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 593LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4588_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8573LU) -); -} - -/* FilterOperand - ns=0;i=8570 */ - -static UA_StatusCode function_namespace0_generated_4589_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8570_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8570_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8570_variant_DataContents); -*variablenode_ns_0_i_8570_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='FilterOperand']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8570_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8570LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FilterOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8570_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8570LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 590LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4589_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8570LU) -); -} - -/* ContentFilter - ns=0;i=8567 */ - -static UA_StatusCode function_namespace0_generated_4590_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8567_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8567_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8567_variant_DataContents); -*variablenode_ns_0_i_8567_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ContentFilter']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8567_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8567LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ContentFilter"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8567_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8567LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 587LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4590_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8567LU) -); -} - -/* ContentFilterElement - ns=0;i=8564 */ - -static UA_StatusCode function_namespace0_generated_4591_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8564_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8564_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8564_variant_DataContents); -*variablenode_ns_0_i_8564_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ContentFilterElement']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8564_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilterElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8564LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ContentFilterElement"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8564_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8564LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 584LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4591_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8564LU) -); -} - -/* RegisteredServer - ns=0;i=8417 */ - -static UA_StatusCode function_namespace0_generated_4592_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8417_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8417_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8417_variant_DataContents); -*variablenode_ns_0_i_8417_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RegisteredServer']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8417_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RegisteredServer"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8417LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RegisteredServer"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8417_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8417LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 433LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4592_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8417LU) -); -} - -/* DeleteReferencesItem - ns=0;i=8372 */ - -static UA_StatusCode function_namespace0_generated_4593_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8372_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8372_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8372_variant_DataContents); -*variablenode_ns_0_i_8372_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DeleteReferencesItem']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8372_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8372LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8372_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8372LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 386LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4593_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8372LU) -); -} - -/* DeleteNodesItem - ns=0;i=8369 */ - -static UA_StatusCode function_namespace0_generated_4594_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8369_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8369_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8369_variant_DataContents); -*variablenode_ns_0_i_8369_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DeleteNodesItem']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8369_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8369LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8369_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8369LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 383LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4594_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8369LU) -); -} - -/* AddReferencesItem - ns=0;i=8366 */ - -static UA_StatusCode function_namespace0_generated_4595_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8366_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8366_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8366_variant_DataContents); -*variablenode_ns_0_i_8366_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AddReferencesItem']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8366_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8366LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8366_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8366LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 380LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4595_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8366LU) -); -} - -/* AddNodesItem - ns=0;i=8363 */ - -static UA_StatusCode function_namespace0_generated_4596_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8363_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8363_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8363_variant_DataContents); -*variablenode_ns_0_i_8363_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AddNodesItem']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8363_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8363LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8363_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8363LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 377LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4596_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8363LU) -); -} - -/* SignedSoftwareCertificate - ns=0;i=8333 */ - -static UA_StatusCode function_namespace0_generated_4597_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8333_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8333_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8333_variant_DataContents); -*variablenode_ns_0_i_8333_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SignedSoftwareCertificate']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8333_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SignedSoftwareCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8333LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SignedSoftwareCertificate"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8333_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8333LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 345LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4597_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8333LU) -); -} - -/* BuildInfo - ns=0;i=8327 */ - -static UA_StatusCode function_namespace0_generated_4598_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8327_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8327_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8327_variant_DataContents); -*variablenode_ns_0_i_8327_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BuildInfo']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8327_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8327LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfo"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8327_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8327LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 339LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4598_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8327LU) -); -} - -/* EndpointConfiguration - ns=0;i=8321 */ - -static UA_StatusCode function_namespace0_generated_4599_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8321_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8321_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8321_variant_DataContents); -*variablenode_ns_0_i_8321_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointConfiguration']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8321_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8321LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8321_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8321LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 332LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4599_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8321LU) -); -} - -/* IssuedIdentityToken - ns=0;i=8318 */ - -static UA_StatusCode function_namespace0_generated_4600_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8318_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8318_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8318_variant_DataContents); -*variablenode_ns_0_i_8318_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='IssuedIdentityToken']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8318_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "IssuedIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8318LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IssuedIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8318_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8318LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 939LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4600_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8318LU) -); -} - -/* X509IdentityToken - ns=0;i=8315 */ - -static UA_StatusCode function_namespace0_generated_4601_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8315_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8315_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8315_variant_DataContents); -*variablenode_ns_0_i_8315_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='X509IdentityToken']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8315_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "X509IdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8315LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "X509IdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8315_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8315LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 326LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4601_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8315LU) -); -} - -/* UserNameIdentityToken - ns=0;i=8312 */ - -static UA_StatusCode function_namespace0_generated_4602_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8312_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8312_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8312_variant_DataContents); -*variablenode_ns_0_i_8312_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserNameIdentityToken']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8312_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserNameIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8312LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserNameIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8312_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8312LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 323LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4602_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8312LU) -); -} - -/* AnonymousIdentityToken - ns=0;i=8309 */ - -static UA_StatusCode function_namespace0_generated_4603_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8309_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8309_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8309_variant_DataContents); -*variablenode_ns_0_i_8309_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AnonymousIdentityToken']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8309_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AnonymousIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8309LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AnonymousIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8309_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8309LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 320LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4603_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8309LU) -); -} - -/* UserIdentityToken - ns=0;i=8306 */ - -static UA_StatusCode function_namespace0_generated_4604_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8306_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8306_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8306_variant_DataContents); -*variablenode_ns_0_i_8306_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserIdentityToken']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8306_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8306LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8306_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8306LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 317LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4604_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8306LU) -); -} - -/* EndpointDescription - ns=0;i=8303 */ - -static UA_StatusCode function_namespace0_generated_4605_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8303_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8303_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8303_variant_DataContents); -*variablenode_ns_0_i_8303_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointDescription']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8303_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8303LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8303_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8303LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 313LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4605_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8303LU) -); -} - -/* ApplicationDescription - ns=0;i=8300 */ - -static UA_StatusCode function_namespace0_generated_4606_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8300_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8300_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8300_variant_DataContents); -*variablenode_ns_0_i_8300_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ApplicationDescription']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8300_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8300LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8300_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8300LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 309LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4606_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8300LU) -); -} - -/* UserTokenPolicy - ns=0;i=8297 */ - -static UA_StatusCode function_namespace0_generated_4607_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8297_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8297_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8297_variant_DataContents); -*variablenode_ns_0_i_8297_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserTokenPolicy']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8297_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenPolicy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8297LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserTokenPolicy"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8297_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8297LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 305LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4607_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8297LU) -); -} - -/* StatusResult - ns=0;i=8294 */ - -static UA_StatusCode function_namespace0_generated_4608_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8294_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8294_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8294_variant_DataContents); -*variablenode_ns_0_i_8294_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StatusResult']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8294_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StatusResult"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8294LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatusResult"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8294_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8294LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 300LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4608_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8294LU) -); -} - -/* EnumValueType - ns=0;i=8291 */ - -static UA_StatusCode function_namespace0_generated_4609_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8291_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8291_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8291_variant_DataContents); -*variablenode_ns_0_i_8291_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumValueType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8291_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValueType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8291LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumValueType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8291_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8291LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7616LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4609_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8291LU) -); -} - -/* Argument - ns=0;i=8285 */ - -static UA_StatusCode function_namespace0_generated_4610_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8285_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8285_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8285_variant_DataContents); -*variablenode_ns_0_i_8285_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Argument']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8285_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Argument"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8285LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Argument"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8285_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8285LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 297LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4610_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8285LU) -); -} - -/* ProgramDiagnosticDataType - ns=0;i=8247 */ - -static UA_StatusCode function_namespace0_generated_4611_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8247_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8247_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8247_variant_DataContents); -*variablenode_ns_0_i_8247_variant_DataContents = UA_STRING_ALLOC("ProgramDiagnosticDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8247_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnosticDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8247LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnosticDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8247_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8247LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 896LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4611_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8247LU) -); -} - -/* Annotation - ns=0;i=8244 */ - -static UA_StatusCode function_namespace0_generated_4612_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8244_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8244_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8244_variant_DataContents); -*variablenode_ns_0_i_8244_variant_DataContents = UA_STRING_ALLOC("Annotation"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8244_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Annotation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8244LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Annotation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8244_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8244LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 893LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4612_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8244LU) -); -} - -/* EUInformation - ns=0;i=8241 */ - -static UA_StatusCode function_namespace0_generated_4613_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8241_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8241_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8241_variant_DataContents); -*variablenode_ns_0_i_8241_variant_DataContents = UA_STRING_ALLOC("EUInformation"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8241_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EUInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8241LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EUInformation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8241_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8241LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 889LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4613_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8241LU) -); -} - -/* Range - ns=0;i=8238 */ - -static UA_StatusCode function_namespace0_generated_4614_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8238_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8238_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8238_variant_DataContents); -*variablenode_ns_0_i_8238_variant_DataContents = UA_STRING_ALLOC("Range"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8238_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Range"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8238LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Range"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8238_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8238LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 886LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4614_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8238LU) -); -} - -/* SemanticChangeStructureDataType - ns=0;i=8235 */ - -static UA_StatusCode function_namespace0_generated_4615_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8235_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8235_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8235_variant_DataContents); -*variablenode_ns_0_i_8235_variant_DataContents = UA_STRING_ALLOC("SemanticChangeStructureDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8235_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SemanticChangeStructureDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8235LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SemanticChangeStructureDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8235_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8235LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 899LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4615_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8235LU) -); -} - -/* ModelChangeStructureDataType - ns=0;i=8232 */ - -static UA_StatusCode function_namespace0_generated_4616_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8232_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8232_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8232_variant_DataContents); -*variablenode_ns_0_i_8232_variant_DataContents = UA_STRING_ALLOC("ModelChangeStructureDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8232_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ModelChangeStructureDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8232LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ModelChangeStructureDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8232_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8232LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 879LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4616_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8232LU) -); -} - -/* SubscriptionDiagnosticsDataType - ns=0;i=8229 */ - -static UA_StatusCode function_namespace0_generated_4617_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8229_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8229_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8229_variant_DataContents); -*variablenode_ns_0_i_8229_variant_DataContents = UA_STRING_ALLOC("SubscriptionDiagnosticsDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8229_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscriptionDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8229LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscriptionDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8229_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8229LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 876LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4617_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8229LU) -); -} - -/* ServiceCounterDataType - ns=0;i=8226 */ - -static UA_StatusCode function_namespace0_generated_4618_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8226_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8226_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8226_variant_DataContents); -*variablenode_ns_0_i_8226_variant_DataContents = UA_STRING_ALLOC("ServiceCounterDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8226_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServiceCounterDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8226LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServiceCounterDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8226_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8226LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 873LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4618_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8226LU) -); -} - -/* SessionSecurityDiagnosticsDataType - ns=0;i=8223 */ - -static UA_StatusCode function_namespace0_generated_4619_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8223_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8223_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8223_variant_DataContents); -*variablenode_ns_0_i_8223_variant_DataContents = UA_STRING_ALLOC("SessionSecurityDiagnosticsDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8223_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionSecurityDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8223LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionSecurityDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8223_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8223LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 870LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4619_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8223LU) -); -} - -/* SessionDiagnosticsDataType - ns=0;i=8220 */ - -static UA_StatusCode function_namespace0_generated_4620_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8220_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8220_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8220_variant_DataContents); -*variablenode_ns_0_i_8220_variant_DataContents = UA_STRING_ALLOC("SessionDiagnosticsDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8220_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SessionDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8220LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SessionDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8220_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8220LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 867LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4620_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8220LU) -); -} - -/* ServerStatusDataType - ns=0;i=8217 */ - -static UA_StatusCode function_namespace0_generated_4621_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8217_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8217_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8217_variant_DataContents); -*variablenode_ns_0_i_8217_variant_DataContents = UA_STRING_ALLOC("ServerStatusDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8217_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerStatusDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8217LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerStatusDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8217_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8217LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 864LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4621_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8217LU) -); -} - -/* ServerDiagnosticsSummaryDataType - ns=0;i=8214 */ - -static UA_StatusCode function_namespace0_generated_4622_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8214_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8214_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8214_variant_DataContents); -*variablenode_ns_0_i_8214_variant_DataContents = UA_STRING_ALLOC("ServerDiagnosticsSummaryDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8214_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerDiagnosticsSummaryDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8214LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerDiagnosticsSummaryDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8214_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8214LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 861LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4622_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8214LU) -); -} - -/* SamplingIntervalDiagnosticsDataType - ns=0;i=8211 */ - -static UA_StatusCode function_namespace0_generated_4623_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8211_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8211_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8211_variant_DataContents); -*variablenode_ns_0_i_8211_variant_DataContents = UA_STRING_ALLOC("SamplingIntervalDiagnosticsDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8211_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SamplingIntervalDiagnosticsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8211LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SamplingIntervalDiagnosticsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8211_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8211LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 858LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4623_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8211LU) -); -} - -/* RedundantServerDataType - ns=0;i=8208 */ - -static UA_StatusCode function_namespace0_generated_4624_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8208_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8208_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8208_variant_DataContents); -*variablenode_ns_0_i_8208_variant_DataContents = UA_STRING_ALLOC("RedundantServerDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8208_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RedundantServerDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8208LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RedundantServerDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8208_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8208LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4624_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8208LU) -); -} - -/* HistoryEventFieldList - ns=0;i=8172 */ - -static UA_StatusCode function_namespace0_generated_4625_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8172_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8172_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8172_variant_DataContents); -*variablenode_ns_0_i_8172_variant_DataContents = UA_STRING_ALLOC("HistoryEventFieldList"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8172_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEventFieldList"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8172LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryEventFieldList"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8172_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8172LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 922LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4625_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8172LU) -); -} - -/* AggregateConfiguration - ns=0;i=8076 */ - -static UA_StatusCode function_namespace0_generated_4626_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8076_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8076_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8076_variant_DataContents); -*variablenode_ns_0_i_8076_variant_DataContents = UA_STRING_ALLOC("AggregateConfiguration"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8076_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AggregateConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8076LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AggregateConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8076_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8076LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 950LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4626_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8076LU) -); -} - -/* EventFilter - ns=0;i=8073 */ - -static UA_StatusCode function_namespace0_generated_4627_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8073_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8073_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8073_variant_DataContents); -*variablenode_ns_0_i_8073_variant_DataContents = UA_STRING_ALLOC("EventFilter"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8073_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EventFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8073LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EventFilter"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8073_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8073LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 727LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4627_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8073LU) -); -} - -/* MonitoringFilter - ns=0;i=8067 */ - -static UA_StatusCode function_namespace0_generated_4628_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8067_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8067_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8067_variant_DataContents); -*variablenode_ns_0_i_8067_variant_DataContents = UA_STRING_ALLOC("MonitoringFilter"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8067_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "MonitoringFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8067LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MonitoringFilter"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8067_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8067LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 721LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4628_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8067LU) -); -} - -/* HistoryEvent - ns=0;i=8004 */ - -static UA_StatusCode function_namespace0_generated_4629_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_8004_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_8004_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_8004_variant_DataContents); -*variablenode_ns_0_i_8004_variant_DataContents = UA_STRING_ALLOC("HistoryEvent"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_8004_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "HistoryEvent"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 8004LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "HistoryEvent"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_8004_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 8004LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 661LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4629_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 8004LU) -); -} - -/* SimpleAttributeOperand - ns=0;i=7947 */ - -static UA_StatusCode function_namespace0_generated_4630_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7947_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7947_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7947_variant_DataContents); -*variablenode_ns_0_i_7947_variant_DataContents = UA_STRING_ALLOC("SimpleAttributeOperand"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7947_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SimpleAttributeOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7947LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SimpleAttributeOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7947_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7947LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 603LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4630_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7947LU) -); -} - -/* AttributeOperand - ns=0;i=7944 */ - -static UA_StatusCode function_namespace0_generated_4631_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7944_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7944_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7944_variant_DataContents); -*variablenode_ns_0_i_7944_variant_DataContents = UA_STRING_ALLOC("AttributeOperand"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7944_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AttributeOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7944LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AttributeOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7944_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7944LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 600LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4631_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7944LU) -); -} - -/* LiteralOperand - ns=0;i=7941 */ - -static UA_StatusCode function_namespace0_generated_4632_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7941_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7941_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7941_variant_DataContents); -*variablenode_ns_0_i_7941_variant_DataContents = UA_STRING_ALLOC("LiteralOperand"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7941_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "LiteralOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7941LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "LiteralOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7941_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7941LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 597LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4632_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7941LU) -); -} - -/* ElementOperand - ns=0;i=7938 */ - -static UA_StatusCode function_namespace0_generated_4633_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7938_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7938_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7938_variant_DataContents); -*variablenode_ns_0_i_7938_variant_DataContents = UA_STRING_ALLOC("ElementOperand"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7938_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ElementOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7938LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ElementOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7938_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7938LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 594LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4633_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7938LU) -); -} - -/* FilterOperand - ns=0;i=7935 */ - -static UA_StatusCode function_namespace0_generated_4634_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7935_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7935_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7935_variant_DataContents); -*variablenode_ns_0_i_7935_variant_DataContents = UA_STRING_ALLOC("FilterOperand"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7935_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "FilterOperand"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7935LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FilterOperand"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7935_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7935LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 591LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4634_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7935LU) -); -} - -/* ContentFilter - ns=0;i=7932 */ - -static UA_StatusCode function_namespace0_generated_4635_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7932_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7932_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7932_variant_DataContents); -*variablenode_ns_0_i_7932_variant_DataContents = UA_STRING_ALLOC("ContentFilter"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7932_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilter"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7932LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ContentFilter"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7932_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7932LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 588LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4635_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7932LU) -); -} - -/* ContentFilterElement - ns=0;i=7929 */ - -static UA_StatusCode function_namespace0_generated_4636_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7929_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7929_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7929_variant_DataContents); -*variablenode_ns_0_i_7929_variant_DataContents = UA_STRING_ALLOC("ContentFilterElement"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7929_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ContentFilterElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7929LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ContentFilterElement"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7929_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7929LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 585LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4636_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7929LU) -); -} - -/* RegisteredServer - ns=0;i=7782 */ - -static UA_StatusCode function_namespace0_generated_4637_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7782_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7782_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7782_variant_DataContents); -*variablenode_ns_0_i_7782_variant_DataContents = UA_STRING_ALLOC("RegisteredServer"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7782_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RegisteredServer"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7782LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RegisteredServer"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7782_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7782LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 434LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4637_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7782LU) -); -} - -/* DeleteReferencesItem - ns=0;i=7737 */ - -static UA_StatusCode function_namespace0_generated_4638_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7737_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7737_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7737_variant_DataContents); -*variablenode_ns_0_i_7737_variant_DataContents = UA_STRING_ALLOC("DeleteReferencesItem"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7737_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteReferencesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7737LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteReferencesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7737_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7737LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 387LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4638_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7737LU) -); -} - -/* DeleteNodesItem - ns=0;i=7734 */ - -static UA_StatusCode function_namespace0_generated_4639_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7734_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7734_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7734_variant_DataContents); -*variablenode_ns_0_i_7734_variant_DataContents = UA_STRING_ALLOC("DeleteNodesItem"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7734_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DeleteNodesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7734LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DeleteNodesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7734_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7734LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 384LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4639_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7734LU) -); -} - -/* AddReferencesItem - ns=0;i=7731 */ - -static UA_StatusCode function_namespace0_generated_4640_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7731_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7731_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7731_variant_DataContents); -*variablenode_ns_0_i_7731_variant_DataContents = UA_STRING_ALLOC("AddReferencesItem"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7731_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AddReferencesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7731LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddReferencesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7731_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7731LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 381LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4640_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7731LU) -); -} - -/* AddNodesItem - ns=0;i=7728 */ - -static UA_StatusCode function_namespace0_generated_4641_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7728_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7728_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7728_variant_DataContents); -*variablenode_ns_0_i_7728_variant_DataContents = UA_STRING_ALLOC("AddNodesItem"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7728_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AddNodesItem"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7728LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AddNodesItem"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7728_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7728LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 378LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4641_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7728LU) -); -} - -/* SignedSoftwareCertificate - ns=0;i=7698 */ - -static UA_StatusCode function_namespace0_generated_4642_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7698_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7698_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7698_variant_DataContents); -*variablenode_ns_0_i_7698_variant_DataContents = UA_STRING_ALLOC("SignedSoftwareCertificate"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7698_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SignedSoftwareCertificate"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7698LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SignedSoftwareCertificate"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7698_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7698LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 346LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4642_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7698LU) -); -} - -/* BuildInfo - ns=0;i=7692 */ - -static UA_StatusCode function_namespace0_generated_4643_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7692_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7692_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7692_variant_DataContents); -*variablenode_ns_0_i_7692_variant_DataContents = UA_STRING_ALLOC("BuildInfo"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7692_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BuildInfo"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7692LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BuildInfo"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7692_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7692LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 340LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4643_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7692LU) -); -} - -/* EndpointConfiguration - ns=0;i=7686 */ - -static UA_StatusCode function_namespace0_generated_4644_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7686_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7686_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7686_variant_DataContents); -*variablenode_ns_0_i_7686_variant_DataContents = UA_STRING_ALLOC("EndpointConfiguration"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7686_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7686LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7686_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7686LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 333LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4644_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7686LU) -); -} - -/* IssuedIdentityToken - ns=0;i=7683 */ - -static UA_StatusCode function_namespace0_generated_4645_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7683_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7683_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7683_variant_DataContents); -*variablenode_ns_0_i_7683_variant_DataContents = UA_STRING_ALLOC("IssuedIdentityToken"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7683_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "IssuedIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7683LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IssuedIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7683_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7683LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 940LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4645_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7683LU) -); -} - -/* X509IdentityToken - ns=0;i=7680 */ - -static UA_StatusCode function_namespace0_generated_4646_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7680_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7680_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7680_variant_DataContents); -*variablenode_ns_0_i_7680_variant_DataContents = UA_STRING_ALLOC("X509IdentityToken"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7680_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "X509IdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7680LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "X509IdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7680_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7680LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 327LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4646_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7680LU) -); -} - -/* UserNameIdentityToken - ns=0;i=7677 */ - -static UA_StatusCode function_namespace0_generated_4647_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7677_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7677_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7677_variant_DataContents); -*variablenode_ns_0_i_7677_variant_DataContents = UA_STRING_ALLOC("UserNameIdentityToken"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7677_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserNameIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7677LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserNameIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7677_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7677LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 324LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4647_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7677LU) -); -} - -/* AnonymousIdentityToken - ns=0;i=7674 */ - -static UA_StatusCode function_namespace0_generated_4648_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7674_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7674_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7674_variant_DataContents); -*variablenode_ns_0_i_7674_variant_DataContents = UA_STRING_ALLOC("AnonymousIdentityToken"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7674_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AnonymousIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7674LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AnonymousIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7674_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7674LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 321LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4648_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7674LU) -); -} - -/* UserIdentityToken - ns=0;i=7671 */ - -static UA_StatusCode function_namespace0_generated_4649_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7671_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7671_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7671_variant_DataContents); -*variablenode_ns_0_i_7671_variant_DataContents = UA_STRING_ALLOC("UserIdentityToken"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7671_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserIdentityToken"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7671LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserIdentityToken"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7671_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7671LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 318LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4649_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7671LU) -); -} - -/* EndpointDescription - ns=0;i=7668 */ - -static UA_StatusCode function_namespace0_generated_4650_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7668_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7668_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7668_variant_DataContents); -*variablenode_ns_0_i_7668_variant_DataContents = UA_STRING_ALLOC("EndpointDescription"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7668_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7668LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7668_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7668LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 314LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4650_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7668LU) -); -} - -/* ApplicationDescription - ns=0;i=7665 */ - -static UA_StatusCode function_namespace0_generated_4651_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7665_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7665_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7665_variant_DataContents); -*variablenode_ns_0_i_7665_variant_DataContents = UA_STRING_ALLOC("ApplicationDescription"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7665_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ApplicationDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7665LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ApplicationDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7665_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7665LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 310LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4651_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7665LU) -); -} - -/* UserTokenPolicy - ns=0;i=7662 */ - -static UA_StatusCode function_namespace0_generated_4652_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7662_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7662_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7662_variant_DataContents); -*variablenode_ns_0_i_7662_variant_DataContents = UA_STRING_ALLOC("UserTokenPolicy"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7662_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserTokenPolicy"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7662LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserTokenPolicy"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7662_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7662LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 306LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4652_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7662LU) -); -} - -/* StatusResult - ns=0;i=7659 */ - -static UA_StatusCode function_namespace0_generated_4653_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7659_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7659_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7659_variant_DataContents); -*variablenode_ns_0_i_7659_variant_DataContents = UA_STRING_ALLOC("StatusResult"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7659_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StatusResult"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7659LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StatusResult"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7659_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7659LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 301LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4653_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7659LU) -); -} - -/* EnumValueType - ns=0;i=7656 */ - -static UA_StatusCode function_namespace0_generated_4654_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7656_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7656_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7656_variant_DataContents); -*variablenode_ns_0_i_7656_variant_DataContents = UA_STRING_ALLOC("EnumValueType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7656_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumValueType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7656LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumValueType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7656_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7656LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 8251LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4654_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7656LU) -); -} - -/* Argument - ns=0;i=7650 */ - -static UA_StatusCode function_namespace0_generated_4655_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_7650_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_7650_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_7650_variant_DataContents); -*variablenode_ns_0_i_7650_variant_DataContents = UA_STRING_ALLOC("Argument"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_7650_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Argument"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 7650LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Argument"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_7650_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 7650LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 298LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4655_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 7650LU) -); -} - -/* ReferenceListEntryDataType - ns=0;i=32674 */ - -static UA_StatusCode function_namespace0_generated_4656_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_32674_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_32674_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_32674_variant_DataContents); -*variablenode_ns_0_i_32674_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReferenceListEntryDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32674_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceListEntryDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32674LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceListEntryDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_32674_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32674LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32670LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4656_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32674LU) -); -} - -/* ReferenceDescriptionDataType - ns=0;i=32671 */ - -static UA_StatusCode function_namespace0_generated_4657_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_32671_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_32671_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_32671_variant_DataContents); -*variablenode_ns_0_i_32671_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReferenceDescriptionDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32671_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32671LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_32671_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32671LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32669LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4657_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32671LU) -); -} - -/* ReferenceListEntryDataType - ns=0;i=32666 */ - -static UA_StatusCode function_namespace0_generated_4658_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_32666_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_32666_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_32666_variant_DataContents); -*variablenode_ns_0_i_32666_variant_DataContents = UA_STRING_ALLOC("ReferenceListEntryDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32666_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceListEntryDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32666LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceListEntryDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_32666_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32666LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32662LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4658_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32666LU) -); -} - -/* ReferenceDescriptionDataType - ns=0;i=32663 */ - -static UA_StatusCode function_namespace0_generated_4659_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_32663_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_32663_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_32663_variant_DataContents); -*variablenode_ns_0_i_32663_variant_DataContents = UA_STRING_ALLOC("ReferenceDescriptionDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32663_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReferenceDescriptionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32663LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReferenceDescriptionDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_32663_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32663LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32661LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4659_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32663LU) -); -} - -/* TransactionErrorType - ns=0;i=32387 */ - -static UA_StatusCode function_namespace0_generated_4660_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_32387_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_32387_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_32387_variant_DataContents); -*variablenode_ns_0_i_32387_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TransactionErrorType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32387_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransactionErrorType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32387LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransactionErrorType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_32387_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32387LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32386LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4660_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32387LU) -); -} - -/* TransactionErrorType - ns=0;i=32383 */ - -static UA_StatusCode function_namespace0_generated_4661_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_32383_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_32383_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_32383_variant_DataContents); -*variablenode_ns_0_i_32383_variant_DataContents = UA_STRING_ALLOC("TransactionErrorType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_32383_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransactionErrorType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 32383LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransactionErrorType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_32383_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 32383LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 32382LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4661_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 32383LU) -); -} - -/* PubSubConfigurationValueDataType - ns=0;i=25558 */ - -static UA_StatusCode function_namespace0_generated_4662_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25558_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25558_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25558_variant_DataContents); -*variablenode_ns_0_i_25558_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfigurationValueDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25558_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationValueDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25558LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationValueDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25558_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25558LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25548LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4662_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25558LU) -); -} - -/* PubSubConfigurationRefDataType - ns=0;i=25555 */ - -static UA_StatusCode function_namespace0_generated_4663_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25555_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25555_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25555_variant_DataContents); -*variablenode_ns_0_i_25555_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfigurationRefDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25555_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25555LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25555_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25555LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25547LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4663_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25555LU) -); -} - -/* PubSubKeyPushTargetDataType - ns=0;i=25552 */ - -static UA_StatusCode function_namespace0_generated_4664_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25552_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25552_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25552_variant_DataContents); -*variablenode_ns_0_i_25552_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubKeyPushTargetDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25552_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25552LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25552_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25552LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25546LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4664_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25552LU) -); -} - -/* PublishedDataSetCustomSourceDataType - ns=0;i=25549 */ - -static UA_StatusCode function_namespace0_generated_4665_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25549_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25549_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25549_variant_DataContents); -*variablenode_ns_0_i_25549_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataSetCustomSourceDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25549_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetCustomSourceDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25549LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetCustomSourceDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25549_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25549LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25545LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4665_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25549LU) -); -} - -/* PubSubConfigurationValueDataType - ns=0;i=25542 */ - -static UA_StatusCode function_namespace0_generated_4666_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25542_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25542_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25542_variant_DataContents); -*variablenode_ns_0_i_25542_variant_DataContents = UA_STRING_ALLOC("PubSubConfigurationValueDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25542_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationValueDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25542LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationValueDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25542_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25542LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25532LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4666_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25542LU) -); -} - -/* PubSubConfigurationRefDataType - ns=0;i=25539 */ - -static UA_StatusCode function_namespace0_generated_4667_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25539_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25539_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25539_variant_DataContents); -*variablenode_ns_0_i_25539_variant_DataContents = UA_STRING_ALLOC("PubSubConfigurationRefDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25539_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationRefDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25539LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationRefDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25539_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25539LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25531LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4667_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25539LU) -); -} - -/* PubSubKeyPushTargetDataType - ns=0;i=25536 */ - -static UA_StatusCode function_namespace0_generated_4668_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25536_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25536_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25536_variant_DataContents); -*variablenode_ns_0_i_25536_variant_DataContents = UA_STRING_ALLOC("PubSubKeyPushTargetDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25536_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubKeyPushTargetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25536LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubKeyPushTargetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25536_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25536LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25530LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4668_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25536LU) -); -} - -/* PublishedDataSetCustomSourceDataType - ns=0;i=25533 */ - -static UA_StatusCode function_namespace0_generated_4669_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25533_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25533_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25533_variant_DataContents); -*variablenode_ns_0_i_25533_variant_DataContents = UA_STRING_ALLOC("PublishedDataSetCustomSourceDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25533_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetCustomSourceDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25533LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetCustomSourceDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25533_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25533LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25529LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4669_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25533LU) -); -} - -/* PriorityMappingEntryType - ns=0;i=25244 */ - -static UA_StatusCode function_namespace0_generated_4670_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25244_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25244_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25244_variant_DataContents); -*variablenode_ns_0_i_25244_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PriorityMappingEntryType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25244_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25244LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PriorityMappingEntryType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25244_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25244LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25243LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4670_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25244LU) -); -} - -/* PriorityMappingEntryType - ns=0;i=25240 */ - -static UA_StatusCode function_namespace0_generated_4671_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_25240_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_25240_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_25240_variant_DataContents); -*variablenode_ns_0_i_25240_variant_DataContents = UA_STRING_ALLOC("PriorityMappingEntryType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_25240_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PriorityMappingEntryType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 25240LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PriorityMappingEntryType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_25240_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 25240LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 25239LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4671_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 25240LU) -); -} - -/* UserManagementDataType - ns=0;i=24297 */ - -static UA_StatusCode function_namespace0_generated_4672_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24297_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24297_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24297_variant_DataContents); -*variablenode_ns_0_i_24297_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UserManagementDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24297_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24297LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserManagementDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24297_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24297LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24296LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4672_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24297LU) -); -} - -/* UserManagementDataType - ns=0;i=24293 */ - -static UA_StatusCode function_namespace0_generated_4673_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24293_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24293_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24293_variant_DataContents); -*variablenode_ns_0_i_24293_variant_DataContents = UA_STRING_ALLOC("UserManagementDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24293_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UserManagementDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24293LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UserManagementDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24293_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24293LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24292LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4673_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24293LU) -); -} - -/* UnsignedRationalNumber - ns=0;i=24129 */ - -static UA_StatusCode function_namespace0_generated_4674_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24129_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24129_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24129_variant_DataContents); -*variablenode_ns_0_i_24129_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UnsignedRationalNumber']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24129_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UnsignedRationalNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24129LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnsignedRationalNumber"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24129_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24129LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24122LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4674_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24129LU) -); -} - -/* PortableNodeId - ns=0;i=24126 */ - -static UA_StatusCode function_namespace0_generated_4675_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24126_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24126_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24126_variant_DataContents); -*variablenode_ns_0_i_24126_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PortableNodeId']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24126_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PortableNodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24126LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PortableNodeId"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24126_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24126LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24121LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4675_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24126LU) -); -} - -/* PortableQualifiedName - ns=0;i=24123 */ - -static UA_StatusCode function_namespace0_generated_4676_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24123_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24123_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24123_variant_DataContents); -*variablenode_ns_0_i_24123_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PortableQualifiedName']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24123_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PortableQualifiedName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24123LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PortableQualifiedName"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24123_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24123LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24120LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4676_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24123LU) -); -} - -/* UnsignedRationalNumber - ns=0;i=24117 */ - -static UA_StatusCode function_namespace0_generated_4677_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24117_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24117_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24117_variant_DataContents); -*variablenode_ns_0_i_24117_variant_DataContents = UA_STRING_ALLOC("UnsignedRationalNumber"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24117_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UnsignedRationalNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24117LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UnsignedRationalNumber"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24117_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24117LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24110LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4677_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24117LU) -); -} - -/* PortableNodeId - ns=0;i=24114 */ - -static UA_StatusCode function_namespace0_generated_4678_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24114_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24114_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24114_variant_DataContents); -*variablenode_ns_0_i_24114_variant_DataContents = UA_STRING_ALLOC("PortableNodeId"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24114_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PortableNodeId"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24114LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PortableNodeId"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24114_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24114LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24109LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4678_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24114LU) -); -} - -/* PortableQualifiedName - ns=0;i=24111 */ - -static UA_StatusCode function_namespace0_generated_4679_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24111_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24111_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24111_variant_DataContents); -*variablenode_ns_0_i_24111_variant_DataContents = UA_STRING_ALLOC("PortableQualifiedName"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24111_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PortableQualifiedName"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24111LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PortableQualifiedName"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24111_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24111LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24108LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4679_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24111LU) -); -} - -/* ProgramDiagnostic2DataType - ns=0;i=24039 */ - -static UA_StatusCode function_namespace0_generated_4680_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24039_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24039_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24039_variant_DataContents); -*variablenode_ns_0_i_24039_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ProgramDiagnostic2DataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24039_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24039LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24039_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24039LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24038LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4680_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24039LU) -); -} - -/* ProgramDiagnostic2DataType - ns=0;i=24035 */ - -static UA_StatusCode function_namespace0_generated_4681_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_24035_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_24035_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_24035_variant_DataContents); -*variablenode_ns_0_i_24035_variant_DataContents = UA_STRING_ALLOC("ProgramDiagnostic2DataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_24035_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ProgramDiagnostic2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 24035LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ProgramDiagnostic2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_24035_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 24035LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 24034LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4681_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 24035LU) -); -} - -/* DatagramDataSetReaderTransportDataType - ns=0;i=23983 */ - -static UA_StatusCode function_namespace0_generated_4682_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23983_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23983_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23983_variant_DataContents); -*variablenode_ns_0_i_23983_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramDataSetReaderTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23983_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23983LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23983_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23983LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23934LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4682_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23983LU) -); -} - -/* DatagramWriterGroupTransport2DataType - ns=0;i=23980 */ - -static UA_StatusCode function_namespace0_generated_4683_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23980_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23980_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23980_variant_DataContents); -*variablenode_ns_0_i_23980_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramWriterGroupTransport2DataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23980_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransport2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23980LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransport2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23980_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23980LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23933LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4683_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23980LU) -); -} - -/* DatagramConnectionTransport2DataType - ns=0;i=23977 */ - -static UA_StatusCode function_namespace0_generated_4684_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23977_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23977_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23977_variant_DataContents); -*variablenode_ns_0_i_23977_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramConnectionTransport2DataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23977_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransport2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23977LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransport2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23977_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23977LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23932LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4684_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23977LU) -); -} - -/* ReceiveQosPriorityDataType - ns=0;i=23968 */ - -static UA_StatusCode function_namespace0_generated_4685_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23968_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23968_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23968_variant_DataContents); -*variablenode_ns_0_i_23968_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReceiveQosPriorityDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23968_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosPriorityDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23968LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveQosPriorityDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23968_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23968LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23929LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4685_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23968LU) -); -} - -/* ReceiveQosDataType - ns=0;i=23965 */ - -static UA_StatusCode function_namespace0_generated_4686_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23965_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23965_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23965_variant_DataContents); -*variablenode_ns_0_i_23965_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReceiveQosDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23965_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23965LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveQosDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23965_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23965LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23928LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4686_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23965LU) -); -} - -/* TransmitQosPriorityDataType - ns=0;i=23956 */ - -static UA_StatusCode function_namespace0_generated_4687_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23956_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23956_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23956_variant_DataContents); -*variablenode_ns_0_i_23956_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TransmitQosPriorityDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23956_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosPriorityDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23956LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransmitQosPriorityDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23956_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23956LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23925LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4687_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23956LU) -); -} - -/* TransmitQosDataType - ns=0;i=23953 */ - -static UA_StatusCode function_namespace0_generated_4688_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23953_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23953_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23953_variant_DataContents); -*variablenode_ns_0_i_23953_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TransmitQosDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23953_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23953LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransmitQosDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23953_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23953LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23924LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4688_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23953LU) -); -} - -/* QosDataType - ns=0;i=23950 */ - -static UA_StatusCode function_namespace0_generated_4689_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23950_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23950_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23950_variant_DataContents); -*variablenode_ns_0_i_23950_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='QosDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23950_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "QosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23950LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QosDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23950_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23950LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23923LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4689_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23950LU) -); -} - -/* PubSubConfiguration2DataType - ns=0;i=23947 */ - -static UA_StatusCode function_namespace0_generated_4690_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23947_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23947_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23947_variant_DataContents); -*variablenode_ns_0_i_23947_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfiguration2DataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23947_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23947LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23947_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23947LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23922LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4690_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23947LU) -); -} - -/* SecurityGroupDataType - ns=0;i=23944 */ - -static UA_StatusCode function_namespace0_generated_4691_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23944_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23944_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23944_variant_DataContents); -*variablenode_ns_0_i_23944_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SecurityGroupDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23944_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23944LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23944_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23944LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23921LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4691_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23944LU) -); -} - -/* StandaloneSubscribedDataSetDataType - ns=0;i=23941 */ - -static UA_StatusCode function_namespace0_generated_4692_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23941_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23941_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23941_variant_DataContents); -*variablenode_ns_0_i_23941_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StandaloneSubscribedDataSetDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23941_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23941LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23941_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23941LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23920LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4692_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23941LU) -); -} - -/* StandaloneSubscribedDataSetRefDataType - ns=0;i=23938 */ - -static UA_StatusCode function_namespace0_generated_4693_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23938_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23938_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23938_variant_DataContents); -*variablenode_ns_0_i_23938_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StandaloneSubscribedDataSetRefDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23938_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetRefDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23938LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetRefDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23938_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23938LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23919LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4693_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23938LU) -); -} - -/* DatagramDataSetReaderTransportDataType - ns=0;i=23915 */ - -static UA_StatusCode function_namespace0_generated_4694_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23915_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23915_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23915_variant_DataContents); -*variablenode_ns_0_i_23915_variant_DataContents = UA_STRING_ALLOC("DatagramDataSetReaderTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23915_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramDataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23915LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramDataSetReaderTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23915_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23915LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23866LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4694_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23915LU) -); -} - -/* DatagramWriterGroupTransport2DataType - ns=0;i=23912 */ - -static UA_StatusCode function_namespace0_generated_4695_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23912_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23912_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23912_variant_DataContents); -*variablenode_ns_0_i_23912_variant_DataContents = UA_STRING_ALLOC("DatagramWriterGroupTransport2DataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23912_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransport2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23912LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransport2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23912_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23912LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23865LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4695_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23912LU) -); -} - -/* DatagramConnectionTransport2DataType - ns=0;i=23909 */ - -static UA_StatusCode function_namespace0_generated_4696_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23909_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23909_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23909_variant_DataContents); -*variablenode_ns_0_i_23909_variant_DataContents = UA_STRING_ALLOC("DatagramConnectionTransport2DataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23909_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransport2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23909LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransport2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23909_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23909LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23864LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4696_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23909LU) -); -} - -/* ReceiveQosPriorityDataType - ns=0;i=23900 */ - -static UA_StatusCode function_namespace0_generated_4697_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23900_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23900_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23900_variant_DataContents); -*variablenode_ns_0_i_23900_variant_DataContents = UA_STRING_ALLOC("ReceiveQosPriorityDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23900_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosPriorityDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23900LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveQosPriorityDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23900_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23900LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23861LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4697_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23900LU) -); -} - -/* ReceiveQosDataType - ns=0;i=23897 */ - -static UA_StatusCode function_namespace0_generated_4698_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23897_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23897_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23897_variant_DataContents); -*variablenode_ns_0_i_23897_variant_DataContents = UA_STRING_ALLOC("ReceiveQosDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23897_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReceiveQosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23897LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReceiveQosDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23897_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23897LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23860LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4698_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23897LU) -); -} - -/* TransmitQosPriorityDataType - ns=0;i=23888 */ - -static UA_StatusCode function_namespace0_generated_4699_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23888_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23888_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23888_variant_DataContents); -*variablenode_ns_0_i_23888_variant_DataContents = UA_STRING_ALLOC("TransmitQosPriorityDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23888_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosPriorityDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23888LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransmitQosPriorityDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23888_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23888LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23857LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4699_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23888LU) -); -} - -/* TransmitQosDataType - ns=0;i=23885 */ - -static UA_StatusCode function_namespace0_generated_4700_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23885_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23885_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23885_variant_DataContents); -*variablenode_ns_0_i_23885_variant_DataContents = UA_STRING_ALLOC("TransmitQosDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23885_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TransmitQosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23885LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TransmitQosDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23885_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23885LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4700_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23885LU) -); -} - -/* QosDataType - ns=0;i=23882 */ - -static UA_StatusCode function_namespace0_generated_4701_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23882_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23882_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23882_variant_DataContents); -*variablenode_ns_0_i_23882_variant_DataContents = UA_STRING_ALLOC("QosDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23882_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "QosDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23882LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "QosDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23882_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23882LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4701_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23882LU) -); -} - -/* PubSubConfiguration2DataType - ns=0;i=23879 */ - -static UA_StatusCode function_namespace0_generated_4702_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23879_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23879_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23879_variant_DataContents); -*variablenode_ns_0_i_23879_variant_DataContents = UA_STRING_ALLOC("PubSubConfiguration2DataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23879_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfiguration2DataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23879LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfiguration2DataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23879_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23879LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23854LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4702_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23879LU) -); -} - -/* SecurityGroupDataType - ns=0;i=23876 */ - -static UA_StatusCode function_namespace0_generated_4703_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23876_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23876_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23876_variant_DataContents); -*variablenode_ns_0_i_23876_variant_DataContents = UA_STRING_ALLOC("SecurityGroupDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23876_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SecurityGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23876LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SecurityGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23876_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23876LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4703_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23876LU) -); -} - -/* StandaloneSubscribedDataSetDataType - ns=0;i=23873 */ - -static UA_StatusCode function_namespace0_generated_4704_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23873_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23873_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23873_variant_DataContents); -*variablenode_ns_0_i_23873_variant_DataContents = UA_STRING_ALLOC("StandaloneSubscribedDataSetDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23873_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23873LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23873_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23873LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23852LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4704_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23873LU) -); -} - -/* StandaloneSubscribedDataSetRefDataType - ns=0;i=23870 */ - -static UA_StatusCode function_namespace0_generated_4705_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23870_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23870_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23870_variant_DataContents); -*variablenode_ns_0_i_23870_variant_DataContents = UA_STRING_ALLOC("StandaloneSubscribedDataSetRefDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23870_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StandaloneSubscribedDataSetRefDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23870LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StandaloneSubscribedDataSetRefDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23870_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23870LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23851LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4705_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23870LU) -); -} - -/* CurrencyUnitType - ns=0;i=23522 */ - -static UA_StatusCode function_namespace0_generated_4706_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23522_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23522_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23522_variant_DataContents); -*variablenode_ns_0_i_23522_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='CurrencyUnitType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23522_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnitType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23522LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrencyUnitType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23522_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23522LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23520LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4706_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23522LU) -); -} - -/* CurrencyUnitType - ns=0;i=23514 */ - -static UA_StatusCode function_namespace0_generated_4707_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23514_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23514_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23514_variant_DataContents); -*variablenode_ns_0_i_23514_variant_DataContents = UA_STRING_ALLOC("CurrencyUnitType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23514_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "CurrencyUnitType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23514LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CurrencyUnitType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23514_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23514LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23507LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4707_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23514LU) -); -} - -/* AliasNameDataType - ns=0;i=23508 */ - -static UA_StatusCode function_namespace0_generated_4708_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23508_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23508_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23508_variant_DataContents); -*variablenode_ns_0_i_23508_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AliasNameDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23508_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23508LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AliasNameDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23508_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23508LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23505LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4708_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23508LU) -); -} - -/* AliasNameDataType - ns=0;i=23502 */ - -static UA_StatusCode function_namespace0_generated_4709_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_23502_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_23502_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_23502_variant_DataContents); -*variablenode_ns_0_i_23502_variant_DataContents = UA_STRING_ALLOC("AliasNameDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_23502_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AliasNameDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 23502LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AliasNameDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_23502_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 23502LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 23499LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4709_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 23502LU) -); -} - -/* DatagramWriterGroupTransportDataType - ns=0;i=21195 */ - -static UA_StatusCode function_namespace0_generated_4710_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21195_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21195_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21195_variant_DataContents); -*variablenode_ns_0_i_21195_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramWriterGroupTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21195_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21195LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21195_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21195LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21179LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4710_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21195LU) -); -} - -/* PubSubConfigurationDataType - ns=0;i=21192 */ - -static UA_StatusCode function_namespace0_generated_4711_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21192_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21192_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21192_variant_DataContents); -*variablenode_ns_0_i_21192_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConfigurationDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21192_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21192LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21192_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21192LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21178LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4711_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21192LU) -); -} - -/* ReaderGroupDataType - ns=0;i=21189 */ - -static UA_StatusCode function_namespace0_generated_4712_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21189_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21189_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21189_variant_DataContents); -*variablenode_ns_0_i_21189_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReaderGroupDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21189_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21189LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21189_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21189LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21177LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4712_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21189LU) -); -} - -/* NetworkAddressUrlDataType - ns=0;i=21186 */ - -static UA_StatusCode function_namespace0_generated_4713_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21186_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21186_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21186_variant_DataContents); -*variablenode_ns_0_i_21186_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='NetworkAddressUrlDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21186_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21186LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21186_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21186LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21176LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4713_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21186LU) -); -} - -/* NetworkAddressDataType - ns=0;i=21183 */ - -static UA_StatusCode function_namespace0_generated_4714_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21183_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21183_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21183_variant_DataContents); -*variablenode_ns_0_i_21183_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='NetworkAddressDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21183_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21183LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21183_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21183LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21175LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4714_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21183LU) -); -} - -/* WriterGroupDataType - ns=0;i=21180 */ - -static UA_StatusCode function_namespace0_generated_4715_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21180_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21180_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21180_variant_DataContents); -*variablenode_ns_0_i_21180_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='WriterGroupDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21180_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21180LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21180_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21180LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4715_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21180LU) -); -} - -/* DatagramWriterGroupTransportDataType - ns=0;i=21171 */ - -static UA_StatusCode function_namespace0_generated_4716_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21171_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21171_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21171_variant_DataContents); -*variablenode_ns_0_i_21171_variant_DataContents = UA_STRING_ALLOC("DatagramWriterGroupTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21171_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramWriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21171LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramWriterGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21171_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21171LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21155LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4716_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21171LU) -); -} - -/* PubSubConfigurationDataType - ns=0;i=21168 */ - -static UA_StatusCode function_namespace0_generated_4717_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21168_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21168_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21168_variant_DataContents); -*variablenode_ns_0_i_21168_variant_DataContents = UA_STRING_ALLOC("PubSubConfigurationDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21168_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConfigurationDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21168LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConfigurationDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21168_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21168LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21154LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4717_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21168LU) -); -} - -/* ReaderGroupDataType - ns=0;i=21165 */ - -static UA_StatusCode function_namespace0_generated_4718_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21165_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21165_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21165_variant_DataContents); -*variablenode_ns_0_i_21165_variant_DataContents = UA_STRING_ALLOC("ReaderGroupDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21165_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21165LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21165_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21165LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21153LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4718_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21165LU) -); -} - -/* NetworkAddressUrlDataType - ns=0;i=21162 */ - -static UA_StatusCode function_namespace0_generated_4719_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21162_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21162_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21162_variant_DataContents); -*variablenode_ns_0_i_21162_variant_DataContents = UA_STRING_ALLOC("NetworkAddressUrlDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21162_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressUrlDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21162LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressUrlDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21162_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21162LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21152LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4719_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21162LU) -); -} - -/* NetworkAddressDataType - ns=0;i=21159 */ - -static UA_StatusCode function_namespace0_generated_4720_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21159_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21159_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21159_variant_DataContents); -*variablenode_ns_0_i_21159_variant_DataContents = UA_STRING_ALLOC("NetworkAddressDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21159_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkAddressDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21159LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkAddressDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21159_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21159LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21151LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4720_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21159LU) -); -} - -/* WriterGroupDataType - ns=0;i=21156 */ - -static UA_StatusCode function_namespace0_generated_4721_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21156_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21156_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21156_variant_DataContents); -*variablenode_ns_0_i_21156_variant_DataContents = UA_STRING_ALLOC("WriterGroupDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21156_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21156LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21156_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21156LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 21150LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4721_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21156LU) -); -} - -/* FieldTargetDataType - ns=0;i=21002 */ - -static UA_StatusCode function_namespace0_generated_4722_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_21002_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_21002_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_21002_variant_DataContents); -*variablenode_ns_0_i_21002_variant_DataContents = UA_STRING_ALLOC("FieldTargetDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_21002_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "FieldTargetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 21002LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FieldTargetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_21002_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 21002LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14848LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4722_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 21002LU) -); -} - -/* 3DFrame - ns=0;i=19061 */ - -static UA_StatusCode function_namespace0_generated_4723_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_19061_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_19061_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_19061_variant_DataContents); -*variablenode_ns_0_i_19061_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDFrame']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19061_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DFrame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19061LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DFrame"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_19061_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19061LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18859LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4723_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19061LU) -); -} - -/* Frame - ns=0;i=19058 */ - -static UA_StatusCode function_namespace0_generated_4724_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_19058_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_19058_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_19058_variant_DataContents); -*variablenode_ns_0_i_19058_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Frame']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19058_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Frame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19058LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Frame"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_19058_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19058LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18858LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4724_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19058LU) -); -} - -/* 3DOrientation - ns=0;i=19055 */ - -static UA_StatusCode function_namespace0_generated_4725_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_19055_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_19055_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_19055_variant_DataContents); -*variablenode_ns_0_i_19055_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDOrientation']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19055_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19055LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DOrientation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_19055_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19055LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18857LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4725_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19055LU) -); -} - -/* Orientation - ns=0;i=19052 */ - -static UA_StatusCode function_namespace0_generated_4726_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_19052_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_19052_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_19052_variant_DataContents); -*variablenode_ns_0_i_19052_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Orientation']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19052_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19052LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Orientation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_19052_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19052LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18856LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4726_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19052LU) -); -} - -/* 3DCartesianCoordinates - ns=0;i=19049 */ - -static UA_StatusCode function_namespace0_generated_4727_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_19049_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_19049_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_19049_variant_DataContents); -*variablenode_ns_0_i_19049_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDCartesianCoordinates']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_19049_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 19049LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinates"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_19049_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 19049LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18855LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4727_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 19049LU) -); -} - -/* CartesianCoordinates - ns=0;i=18869 */ - -static UA_StatusCode function_namespace0_generated_4728_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18869_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18869_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18869_variant_DataContents); -*variablenode_ns_0_i_18869_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='CartesianCoordinates']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18869_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18869LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18869_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18869LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18854LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4728_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18869LU) -); -} - -/* 3DVector - ns=0;i=18866 */ - -static UA_StatusCode function_namespace0_generated_4729_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18866_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18866_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18866_variant_DataContents); -*variablenode_ns_0_i_18866_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ThreeDVector']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18866_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DVector"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18866LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DVector"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18866_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18866LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18853LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4729_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18866LU) -); -} - -/* Vector - ns=0;i=18863 */ - -static UA_StatusCode function_namespace0_generated_4730_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18863_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18863_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18863_variant_DataContents); -*variablenode_ns_0_i_18863_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Vector']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18863_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Vector"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18863LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Vector"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18863_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18863LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18852LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4730_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18863LU) -); -} - -/* RationalNumber - ns=0;i=18860 */ - -static UA_StatusCode function_namespace0_generated_4731_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18860_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18860_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18860_variant_DataContents); -*variablenode_ns_0_i_18860_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RationalNumber']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18860_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18860LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RationalNumber"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18860_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18860LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18851LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4731_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18860LU) -); -} - -/* 3DFrame - ns=0;i=18848 */ - -static UA_StatusCode function_namespace0_generated_4732_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18848_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18848_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18848_variant_DataContents); -*variablenode_ns_0_i_18848_variant_DataContents = UA_STRING_ALLOC("ThreeDFrame"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18848_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DFrame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18848LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DFrame"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18848_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18848LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18823LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4732_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18848LU) -); -} - -/* Frame - ns=0;i=18845 */ - -static UA_StatusCode function_namespace0_generated_4733_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18845_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18845_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18845_variant_DataContents); -*variablenode_ns_0_i_18845_variant_DataContents = UA_STRING_ALLOC("Frame"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18845_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Frame"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18845LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Frame"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18845_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18845LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18822LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4733_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18845LU) -); -} - -/* 3DOrientation - ns=0;i=18842 */ - -static UA_StatusCode function_namespace0_generated_4734_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18842_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18842_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18842_variant_DataContents); -*variablenode_ns_0_i_18842_variant_DataContents = UA_STRING_ALLOC("ThreeDOrientation"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18842_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DOrientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18842LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DOrientation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18842_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18842LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18821LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4734_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18842LU) -); -} - -/* Orientation - ns=0;i=18839 */ - -static UA_StatusCode function_namespace0_generated_4735_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18839_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18839_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18839_variant_DataContents); -*variablenode_ns_0_i_18839_variant_DataContents = UA_STRING_ALLOC("Orientation"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18839_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Orientation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18839LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Orientation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18839_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18839LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18820LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4735_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18839LU) -); -} - -/* 3DCartesianCoordinates - ns=0;i=18836 */ - -static UA_StatusCode function_namespace0_generated_4736_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18836_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18836_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18836_variant_DataContents); -*variablenode_ns_0_i_18836_variant_DataContents = UA_STRING_ALLOC("ThreeDCartesianCoordinates"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18836_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DCartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18836LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DCartesianCoordinates"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18836_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18836LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18819LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4736_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18836LU) -); -} - -/* CartesianCoordinates - ns=0;i=18833 */ - -static UA_StatusCode function_namespace0_generated_4737_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18833_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18833_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18833_variant_DataContents); -*variablenode_ns_0_i_18833_variant_DataContents = UA_STRING_ALLOC("CartesianCoordinates"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18833_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "CartesianCoordinates"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18833LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "CartesianCoordinates"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18833_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18833LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18818LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4737_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18833LU) -); -} - -/* 3DVector - ns=0;i=18830 */ - -static UA_StatusCode function_namespace0_generated_4738_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18830_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18830_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18830_variant_DataContents); -*variablenode_ns_0_i_18830_variant_DataContents = UA_STRING_ALLOC("ThreeDVector"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18830_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "3DVector"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18830LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "3DVector"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18830_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18830LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18817LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4738_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18830LU) -); -} - -/* Vector - ns=0;i=18827 */ - -static UA_StatusCode function_namespace0_generated_4739_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18827_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18827_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18827_variant_DataContents); -*variablenode_ns_0_i_18827_variant_DataContents = UA_STRING_ALLOC("Vector"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18827_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Vector"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18827LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Vector"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18827_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18827LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18816LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4739_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18827LU) -); -} - -/* RationalNumber - ns=0;i=18824 */ - -static UA_StatusCode function_namespace0_generated_4740_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18824_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18824_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18824_variant_DataContents); -*variablenode_ns_0_i_18824_variant_DataContents = UA_STRING_ALLOC("RationalNumber"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18824_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RationalNumber"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18824LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RationalNumber"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18824_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18824LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 18815LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4740_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18824LU) -); -} - -/* EnumDefinition - ns=0;i=18187 */ - -static UA_StatusCode function_namespace0_generated_4741_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18187_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18187_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18187_variant_DataContents); -*variablenode_ns_0_i_18187_variant_DataContents = UA_STRING_ALLOC("EnumDefinition"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18187_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18187LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumDefinition"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18187_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18187LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 123LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4741_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18187LU) -); -} - -/* StructureDefinition - ns=0;i=18184 */ - -static UA_StatusCode function_namespace0_generated_4742_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18184_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18184_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18184_variant_DataContents); -*variablenode_ns_0_i_18184_variant_DataContents = UA_STRING_ALLOC("StructureDefinition"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18184_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StructureDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18184LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StructureDefinition"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18184_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18184LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 122LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4742_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18184LU) -); -} - -/* StructureField - ns=0;i=18181 */ - -static UA_StatusCode function_namespace0_generated_4743_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18181_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18181_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18181_variant_DataContents); -*variablenode_ns_0_i_18181_variant_DataContents = UA_STRING_ALLOC("StructureField"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18181_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StructureField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18181LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StructureField"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18181_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18181LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14844LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4743_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18181LU) -); -} - -/* DataTypeDefinition - ns=0;i=18178 */ - -static UA_StatusCode function_namespace0_generated_4744_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18178_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18178_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18178_variant_DataContents); -*variablenode_ns_0_i_18178_variant_DataContents = UA_STRING_ALLOC("DataTypeDefinition"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18178_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18178LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDefinition"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18178_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18178LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 121LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4744_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18178LU) -); -} - -/* EnumDefinition - ns=0;i=18175 */ - -static UA_StatusCode function_namespace0_generated_4745_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18175_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18175_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18175_variant_DataContents); -*variablenode_ns_0_i_18175_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumDefinition']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18175_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18175LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumDefinition"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18175_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18175LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14799LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4745_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18175LU) -); -} - -/* StructureDefinition - ns=0;i=18172 */ - -static UA_StatusCode function_namespace0_generated_4746_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18172_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18172_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18172_variant_DataContents); -*variablenode_ns_0_i_18172_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StructureDefinition']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18172_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StructureDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18172LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StructureDefinition"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18172_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18172LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14798LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4746_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18172LU) -); -} - -/* StructureField - ns=0;i=18169 */ - -static UA_StatusCode function_namespace0_generated_4747_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18169_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18169_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18169_variant_DataContents); -*variablenode_ns_0_i_18169_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StructureField']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18169_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StructureField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18169LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StructureField"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18169_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18169LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14800LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4747_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18169LU) -); -} - -/* DataTypeDefinition - ns=0;i=18166 */ - -static UA_StatusCode function_namespace0_generated_4748_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_18166_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_18166_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_18166_variant_DataContents); -*variablenode_ns_0_i_18166_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataTypeDefinition']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_18166_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDefinition"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 18166LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDefinition"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_18166_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 18166LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14797LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4748_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 18166LU) -); -} - -/* EphemeralKeyType - ns=0;i=17554 */ - -static UA_StatusCode function_namespace0_generated_4749_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_17554_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_17554_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_17554_variant_DataContents); -*variablenode_ns_0_i_17554_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EphemeralKeyType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17554_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EphemeralKeyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17554LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EphemeralKeyType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_17554_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17554LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17553LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4749_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17554LU) -); -} - -/* EphemeralKeyType - ns=0;i=17550 */ - -static UA_StatusCode function_namespace0_generated_4750_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_17550_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_17550_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_17550_variant_DataContents); -*variablenode_ns_0_i_17550_variant_DataContents = UA_STRING_ALLOC("EphemeralKeyType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17550_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EphemeralKeyType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17550LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EphemeralKeyType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_17550_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17550LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17549LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4750_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17550LU) -); -} - -/* AdditionalParametersType - ns=0;i=17542 */ - -static UA_StatusCode function_namespace0_generated_4751_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_17542_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_17542_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_17542_variant_DataContents); -*variablenode_ns_0_i_17542_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AdditionalParametersType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17542_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AdditionalParametersType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17542LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AdditionalParametersType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_17542_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17542LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17541LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4751_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17542LU) -); -} - -/* AdditionalParametersType - ns=0;i=17538 */ - -static UA_StatusCode function_namespace0_generated_4752_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_17538_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_17538_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_17538_variant_DataContents); -*variablenode_ns_0_i_17538_variant_DataContents = UA_STRING_ALLOC("AdditionalParametersType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17538_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AdditionalParametersType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17538LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AdditionalParametersType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_17538_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17538LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17537LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4752_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17538LU) -); -} - -/* DatagramConnectionTransportDataType - ns=0;i=17473 */ - -static UA_StatusCode function_namespace0_generated_4753_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_17473_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_17473_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_17473_variant_DataContents); -*variablenode_ns_0_i_17473_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DatagramConnectionTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17473_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17473LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_17473_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17473LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17472LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4753_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17473LU) -); -} - -/* DatagramConnectionTransportDataType - ns=0;i=17469 */ - -static UA_StatusCode function_namespace0_generated_4754_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_17469_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_17469_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_17469_variant_DataContents); -*variablenode_ns_0_i_17469_variant_DataContents = UA_STRING_ALLOC("DatagramConnectionTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_17469_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DatagramConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 17469LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DatagramConnectionTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_17469_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 17469LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 17468LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4754_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 17469LU) -); -} - -/* BrokerDataSetReaderTransportDataType - ns=0;i=16147 */ - -static UA_StatusCode function_namespace0_generated_4755_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16147_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16147_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16147_variant_DataContents); -*variablenode_ns_0_i_16147_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerDataSetReaderTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16147_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16147LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16147_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16147LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16023LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4755_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16147LU) -); -} - -/* BrokerDataSetWriterTransportDataType - ns=0;i=16144 */ - -static UA_StatusCode function_namespace0_generated_4756_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16144_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16144_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16144_variant_DataContents); -*variablenode_ns_0_i_16144_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerDataSetWriterTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16144_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16144LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16144_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16144LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16022LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4756_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16144LU) -); -} - -/* RolePermissionType - ns=0;i=16131 */ - -static UA_StatusCode function_namespace0_generated_4757_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16131_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16131_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16131_variant_DataContents); -*variablenode_ns_0_i_16131_variant_DataContents = UA_STRING_ALLOC("RolePermissionType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16131_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RolePermissionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16131LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RolePermissionType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16131_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16131LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 128LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4757_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16131LU) -); -} - -/* RolePermissionType - ns=0;i=16127 */ - -static UA_StatusCode function_namespace0_generated_4758_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16127_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16127_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16127_variant_DataContents); -*variablenode_ns_0_i_16127_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RolePermissionType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16127_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RolePermissionType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16127LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RolePermissionType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16127_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16127LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16126LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4758_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16127LU) -); -} - -/* BrokerWriterGroupTransportDataType - ns=0;i=16125 */ - -static UA_StatusCode function_namespace0_generated_4759_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16125_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16125_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16125_variant_DataContents); -*variablenode_ns_0_i_16125_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerWriterGroupTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16125_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16125LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16125_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16125LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16021LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4759_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16125LU) -); -} - -/* JsonDataSetReaderMessageDataType - ns=0;i=16119 */ - -static UA_StatusCode function_namespace0_generated_4760_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16119_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16119_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16119_variant_DataContents); -*variablenode_ns_0_i_16119_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='JsonDataSetReaderMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16119_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16119LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16119_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16119LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16019LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4760_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16119LU) -); -} - -/* JsonDataSetWriterMessageDataType - ns=0;i=16116 */ - -static UA_StatusCode function_namespace0_generated_4761_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16116_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16116_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16116_variant_DataContents); -*variablenode_ns_0_i_16116_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='JsonDataSetWriterMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16116_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16116LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16116_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16116LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16018LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4761_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16116LU) -); -} - -/* JsonWriterGroupMessageDataType - ns=0;i=16113 */ - -static UA_StatusCode function_namespace0_generated_4762_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16113_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16113_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16113_variant_DataContents); -*variablenode_ns_0_i_16113_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='JsonWriterGroupMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16113_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16113LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16113_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16113LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16017LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4762_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16113LU) -); -} - -/* UadpDataSetReaderMessageDataType - ns=0;i=16110 */ - -static UA_StatusCode function_namespace0_generated_4763_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16110_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16110_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16110_variant_DataContents); -*variablenode_ns_0_i_16110_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UadpDataSetReaderMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16110_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16110LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16110_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16110LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16016LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4763_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16110LU) -); -} - -/* UadpDataSetWriterMessageDataType - ns=0;i=16107 */ - -static UA_StatusCode function_namespace0_generated_4764_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16107_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16107_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16107_variant_DataContents); -*variablenode_ns_0_i_16107_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UadpDataSetWriterMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16107_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16107LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16107_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16107LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16015LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4764_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16107LU) -); -} - -/* UadpWriterGroupMessageDataType - ns=0;i=16104 */ - -static UA_StatusCode function_namespace0_generated_4765_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16104_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16104_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16104_variant_DataContents); -*variablenode_ns_0_i_16104_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UadpWriterGroupMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16104_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16104LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16104_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16104LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16014LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4765_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16104LU) -); -} - -/* SubscribedDataSetMirrorDataType - ns=0;i=16098 */ - -static UA_StatusCode function_namespace0_generated_4766_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16098_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16098_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16098_variant_DataContents); -*variablenode_ns_0_i_16098_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SubscribedDataSetMirrorDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16098_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16098LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16098_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16098LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16012LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4766_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16098LU) -); -} - -/* TargetVariablesDataType - ns=0;i=16095 */ - -static UA_StatusCode function_namespace0_generated_4767_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16095_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16095_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16095_variant_DataContents); -*variablenode_ns_0_i_16095_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TargetVariablesDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16095_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16095LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TargetVariablesDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16095_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16095LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16011LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4767_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16095LU) -); -} - -/* SubscribedDataSetDataType - ns=0;i=16092 */ - -static UA_StatusCode function_namespace0_generated_4768_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16092_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16092_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16092_variant_DataContents); -*variablenode_ns_0_i_16092_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SubscribedDataSetDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16092_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16092LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16092_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16092LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16010LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4768_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16092LU) -); -} - -/* DataSetReaderMessageDataType - ns=0;i=16089 */ - -static UA_StatusCode function_namespace0_generated_4769_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16089_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16089_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16089_variant_DataContents); -*variablenode_ns_0_i_16089_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetReaderMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16089_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16089LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16089_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16089LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16009LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4769_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16089LU) -); -} - -/* DataSetReaderTransportDataType - ns=0;i=16086 */ - -static UA_StatusCode function_namespace0_generated_4770_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16086_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16086_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16086_variant_DataContents); -*variablenode_ns_0_i_16086_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetReaderTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16086_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16086LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16086_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16086LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16008LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4770_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16086LU) -); -} - -/* DataSetReaderDataType - ns=0;i=16083 */ - -static UA_StatusCode function_namespace0_generated_4771_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16083_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16083_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16083_variant_DataContents); -*variablenode_ns_0_i_16083_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetReaderDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16083_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16083LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16083_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16083LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 16007LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4771_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16083LU) -); -} - -/* ReaderGroupMessageDataType - ns=0;i=16080 */ - -static UA_StatusCode function_namespace0_generated_4772_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16080_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16080_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16080_variant_DataContents); -*variablenode_ns_0_i_16080_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReaderGroupMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16080_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16080LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16080_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16080LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15996LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4772_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16080LU) -); -} - -/* ReaderGroupTransportDataType - ns=0;i=16077 */ - -static UA_StatusCode function_namespace0_generated_4773_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16077_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16077_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16077_variant_DataContents); -*variablenode_ns_0_i_16077_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ReaderGroupTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16077_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16077LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16077_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16077LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15995LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4773_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16077LU) -); -} - -/* ConnectionTransportDataType - ns=0;i=16071 */ - -static UA_StatusCode function_namespace0_generated_4774_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16071_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16071_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16071_variant_DataContents); -*variablenode_ns_0_i_16071_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ConnectionTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16071_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16071LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16071_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16071LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15993LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4774_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16071LU) -); -} - -/* PubSubConnectionDataType - ns=0;i=16068 */ - -static UA_StatusCode function_namespace0_generated_4775_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16068_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16068_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16068_variant_DataContents); -*variablenode_ns_0_i_16068_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubConnectionDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16068_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16068LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConnectionDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16068_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16068LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15992LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4775_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16068LU) -); -} - -/* WriterGroupMessageDataType - ns=0;i=16065 */ - -static UA_StatusCode function_namespace0_generated_4776_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16065_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16065_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16065_variant_DataContents); -*variablenode_ns_0_i_16065_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='WriterGroupMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16065_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16065LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16065_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16065LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15991LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4776_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16065LU) -); -} - -/* WriterGroupTransportDataType - ns=0;i=16062 */ - -static UA_StatusCode function_namespace0_generated_4777_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16062_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16062_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16062_variant_DataContents); -*variablenode_ns_0_i_16062_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='WriterGroupTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16062_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16062LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16062_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16062LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15990LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4777_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16062LU) -); -} - -/* PubSubGroupDataType - ns=0;i=16056 */ - -static UA_StatusCode function_namespace0_generated_4778_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16056_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16056_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16056_variant_DataContents); -*variablenode_ns_0_i_16056_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PubSubGroupDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16056_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16056LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16056_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16056LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15988LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4778_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16056LU) -); -} - -/* DataSetWriterMessageDataType - ns=0;i=16053 */ - -static UA_StatusCode function_namespace0_generated_4779_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16053_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16053_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16053_variant_DataContents); -*variablenode_ns_0_i_16053_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetWriterMessageDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16053_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16053LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16053_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16053LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15987LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4779_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16053LU) -); -} - -/* DataSetWriterTransportDataType - ns=0;i=16050 */ - -static UA_StatusCode function_namespace0_generated_4780_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16050_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16050_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16050_variant_DataContents); -*variablenode_ns_0_i_16050_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetWriterTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16050_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16050LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16050_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16050LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15956LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4780_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16050LU) -); -} - -/* DataSetWriterDataType - ns=0;i=16047 */ - -static UA_StatusCode function_namespace0_generated_4781_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16047_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16047_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16047_variant_DataContents); -*variablenode_ns_0_i_16047_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetWriterDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16047_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16047LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16047_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16047LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15955LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4781_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16047LU) -); -} - -/* PublishedEventsDataType - ns=0;i=16040 */ - -static UA_StatusCode function_namespace0_generated_4782_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16040_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16040_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16040_variant_DataContents); -*variablenode_ns_0_i_16040_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedEventsDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16040_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16040LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedEventsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16040_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16040LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15954LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4782_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16040LU) -); -} - -/* PublishedDataItemsDataType - ns=0;i=16037 */ - -static UA_StatusCode function_namespace0_generated_4783_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16037_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16037_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16037_variant_DataContents); -*variablenode_ns_0_i_16037_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataItemsDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16037_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16037LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16037_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16037LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15953LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4783_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16037LU) -); -} - -/* PublishedDataSetSourceDataType - ns=0;i=16033 */ - -static UA_StatusCode function_namespace0_generated_4784_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16033_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16033_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16033_variant_DataContents); -*variablenode_ns_0_i_16033_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataSetSourceDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16033_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetSourceDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16033LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetSourceDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16033_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16033LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15952LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4784_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16033LU) -); -} - -/* PublishedDataSetDataType - ns=0;i=16030 */ - -static UA_StatusCode function_namespace0_generated_4785_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16030_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16030_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16030_variant_DataContents); -*variablenode_ns_0_i_16030_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedDataSetDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16030_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16030LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16030_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16030LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15951LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4785_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16030LU) -); -} - -/* DataTypeSchemaHeader - ns=0;i=16027 */ - -static UA_StatusCode function_namespace0_generated_4786_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16027_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16027_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16027_variant_DataContents); -*variablenode_ns_0_i_16027_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataTypeSchemaHeader']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16027_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSchemaHeader"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16027LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeSchemaHeader"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16027_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16027LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15950LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4786_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16027LU) -); -} - -/* EndpointType - ns=0;i=16024 */ - -static UA_StatusCode function_namespace0_generated_4787_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_16024_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_16024_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_16024_variant_DataContents); -*variablenode_ns_0_i_16024_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_16024_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 16024LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_16024_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 16024LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4787_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 16024LU) -); -} - -/* BrokerDataSetReaderTransportDataType - ns=0;i=15946 */ - -static UA_StatusCode function_namespace0_generated_4788_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15946_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15946_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15946_variant_DataContents); -*variablenode_ns_0_i_15946_variant_DataContents = UA_STRING_ALLOC("BrokerDataSetReaderTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15946_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15946LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetReaderTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15946_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15946LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15733LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4788_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15946LU) -); -} - -/* BrokerDataSetWriterTransportDataType - ns=0;i=15943 */ - -static UA_StatusCode function_namespace0_generated_4789_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15943_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15943_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15943_variant_DataContents); -*variablenode_ns_0_i_15943_variant_DataContents = UA_STRING_ALLOC("BrokerDataSetWriterTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15943_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerDataSetWriterTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15943LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerDataSetWriterTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15943_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15943LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15729LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4789_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15943LU) -); -} - -/* BrokerWriterGroupTransportDataType - ns=0;i=15940 */ - -static UA_StatusCode function_namespace0_generated_4790_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15940_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15940_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15940_variant_DataContents); -*variablenode_ns_0_i_15940_variant_DataContents = UA_STRING_ALLOC("BrokerWriterGroupTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15940_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerWriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15940LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerWriterGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15940_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15940LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15727LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4790_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15940LU) -); -} - -/* JsonDataSetReaderMessageDataType - ns=0;i=15931 */ - -static UA_StatusCode function_namespace0_generated_4791_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15931_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15931_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15931_variant_DataContents); -*variablenode_ns_0_i_15931_variant_DataContents = UA_STRING_ALLOC("JsonDataSetReaderMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15931_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15931LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetReaderMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15931_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15931LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15725LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4791_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15931LU) -); -} - -/* JsonDataSetWriterMessageDataType - ns=0;i=15925 */ - -static UA_StatusCode function_namespace0_generated_4792_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15925_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15925_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15925_variant_DataContents); -*variablenode_ns_0_i_15925_variant_DataContents = UA_STRING_ALLOC("JsonDataSetWriterMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15925_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "JsonDataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15925LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "JsonDataSetWriterMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15925_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15925LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15724LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4792_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15925LU) -); -} - -/* JsonWriterGroupMessageDataType - ns=0;i=15922 */ - -static UA_StatusCode function_namespace0_generated_4793_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15922_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15922_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15922_variant_DataContents); -*variablenode_ns_0_i_15922_variant_DataContents = UA_STRING_ALLOC("JsonWriterGroupMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15922_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "JsonWriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15922LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "JsonWriterGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15922_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15922LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15719LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4793_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15922LU) -); -} - -/* UadpDataSetReaderMessageDataType - ns=0;i=15919 */ - -static UA_StatusCode function_namespace0_generated_4794_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15919_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15919_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15919_variant_DataContents); -*variablenode_ns_0_i_15919_variant_DataContents = UA_STRING_ALLOC("UadpDataSetReaderMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15919_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15919LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetReaderMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15919_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15919LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15718LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4794_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15919LU) -); -} - -/* UadpDataSetWriterMessageDataType - ns=0;i=15898 */ - -static UA_StatusCode function_namespace0_generated_4795_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15898_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15898_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15898_variant_DataContents); -*variablenode_ns_0_i_15898_variant_DataContents = UA_STRING_ALLOC("UadpDataSetWriterMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15898_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UadpDataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15898LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UadpDataSetWriterMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15898_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15898LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15717LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4795_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15898LU) -); -} - -/* UadpWriterGroupMessageDataType - ns=0;i=15895 */ - -static UA_StatusCode function_namespace0_generated_4796_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15895_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15895_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15895_variant_DataContents); -*variablenode_ns_0_i_15895_variant_DataContents = UA_STRING_ALLOC("UadpWriterGroupMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15895_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UadpWriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15895LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UadpWriterGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15895_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15895LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15715LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4796_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15895LU) -); -} - -/* SubscribedDataSetMirrorDataType - ns=0;i=15889 */ - -static UA_StatusCode function_namespace0_generated_4797_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15889_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15889_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15889_variant_DataContents); -*variablenode_ns_0_i_15889_variant_DataContents = UA_STRING_ALLOC("SubscribedDataSetMirrorDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15889_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetMirrorDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15889LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetMirrorDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15889_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15889LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15713LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4797_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15889LU) -); -} - -/* TargetVariablesDataType - ns=0;i=15886 */ - -static UA_StatusCode function_namespace0_generated_4798_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15886_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15886_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15886_variant_DataContents); -*variablenode_ns_0_i_15886_variant_DataContents = UA_STRING_ALLOC("TargetVariablesDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15886_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TargetVariablesDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15886LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TargetVariablesDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15886_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15886LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15712LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4798_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15886LU) -); -} - -/* SubscribedDataSetDataType - ns=0;i=15883 */ - -static UA_StatusCode function_namespace0_generated_4799_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15883_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15883_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15883_variant_DataContents); -*variablenode_ns_0_i_15883_variant_DataContents = UA_STRING_ALLOC("SubscribedDataSetDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15883_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SubscribedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15883LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SubscribedDataSetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15883_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15883LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15707LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4799_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15883LU) -); -} - -/* DataSetReaderMessageDataType - ns=0;i=15880 */ - -static UA_StatusCode function_namespace0_generated_4800_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15880_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15880_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15880_variant_DataContents); -*variablenode_ns_0_i_15880_variant_DataContents = UA_STRING_ALLOC("DataSetReaderMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15880_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15880LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15880_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15880LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15706LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4800_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15880LU) -); -} - -/* DataSetReaderTransportDataType - ns=0;i=15877 */ - -static UA_StatusCode function_namespace0_generated_4801_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15877_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15877_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15877_variant_DataContents); -*variablenode_ns_0_i_15877_variant_DataContents = UA_STRING_ALLOC("DataSetReaderTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15877_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15877LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15877_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15877LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15705LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4801_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15877LU) -); -} - -/* DataSetReaderDataType - ns=0;i=15872 */ - -static UA_StatusCode function_namespace0_generated_4802_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15872_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15872_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15872_variant_DataContents); -*variablenode_ns_0_i_15872_variant_DataContents = UA_STRING_ALLOC("DataSetReaderDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15872_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetReaderDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15872LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetReaderDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15872_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15872LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15703LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4802_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15872LU) -); -} - -/* ReaderGroupMessageDataType - ns=0;i=15869 */ - -static UA_StatusCode function_namespace0_generated_4803_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15869_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15869_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15869_variant_DataContents); -*variablenode_ns_0_i_15869_variant_DataContents = UA_STRING_ALLOC("ReaderGroupMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15869_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15869LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15869_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15869LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15702LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4803_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15869LU) -); -} - -/* ReaderGroupTransportDataType - ns=0;i=15866 */ - -static UA_StatusCode function_namespace0_generated_4804_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15866_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15866_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15866_variant_DataContents); -*variablenode_ns_0_i_15866_variant_DataContents = UA_STRING_ALLOC("ReaderGroupTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15866_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ReaderGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15866LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ReaderGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15866_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15866LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15701LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4804_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15866LU) -); -} - -/* ConnectionTransportDataType - ns=0;i=15860 */ - -static UA_StatusCode function_namespace0_generated_4805_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15860_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15860_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15860_variant_DataContents); -*variablenode_ns_0_i_15860_variant_DataContents = UA_STRING_ALLOC("ConnectionTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15860_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15860LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConnectionTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15860_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15860LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15695LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4805_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15860LU) -); -} - -/* PubSubConnectionDataType - ns=0;i=15857 */ - -static UA_StatusCode function_namespace0_generated_4806_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15857_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15857_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15857_variant_DataContents); -*variablenode_ns_0_i_15857_variant_DataContents = UA_STRING_ALLOC("PubSubConnectionDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15857_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubConnectionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15857LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubConnectionDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15857_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15857LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15694LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4806_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15857LU) -); -} - -/* WriterGroupMessageDataType - ns=0;i=15854 */ - -static UA_StatusCode function_namespace0_generated_4807_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15854_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15854_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15854_variant_DataContents); -*variablenode_ns_0_i_15854_variant_DataContents = UA_STRING_ALLOC("WriterGroupMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15854_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15854LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15854_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15854LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15693LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4807_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15854LU) -); -} - -/* WriterGroupTransportDataType - ns=0;i=15793 */ - -static UA_StatusCode function_namespace0_generated_4808_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15793_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15793_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15793_variant_DataContents); -*variablenode_ns_0_i_15793_variant_DataContents = UA_STRING_ALLOC("WriterGroupTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15793_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "WriterGroupTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15793LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "WriterGroupTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15793_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15793LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15691LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4808_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15793LU) -); -} - -/* PubSubGroupDataType - ns=0;i=15787 */ - -static UA_StatusCode function_namespace0_generated_4809_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15787_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15787_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15787_variant_DataContents); -*variablenode_ns_0_i_15787_variant_DataContents = UA_STRING_ALLOC("PubSubGroupDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15787_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PubSubGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15787LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PubSubGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15787_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15787LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15689LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4809_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15787LU) -); -} - -/* DataSetWriterMessageDataType - ns=0;i=15784 */ - -static UA_StatusCode function_namespace0_generated_4810_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15784_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15784_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15784_variant_DataContents); -*variablenode_ns_0_i_15784_variant_DataContents = UA_STRING_ALLOC("DataSetWriterMessageDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15784_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterMessageDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15784LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterMessageDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15784_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15784LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15688LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4810_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15784LU) -); -} - -/* DataSetWriterTransportDataType - ns=0;i=15781 */ - -static UA_StatusCode function_namespace0_generated_4811_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15781_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15781_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15781_variant_DataContents); -*variablenode_ns_0_i_15781_variant_DataContents = UA_STRING_ALLOC("DataSetWriterTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15781_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15781LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15781_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15781LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15683LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4811_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15781LU) -); -} - -/* DataSetWriterDataType - ns=0;i=15778 */ - -static UA_StatusCode function_namespace0_generated_4812_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15778_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15778_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15778_variant_DataContents); -*variablenode_ns_0_i_15778_variant_DataContents = UA_STRING_ALLOC("DataSetWriterDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15778_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetWriterDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15778LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetWriterDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15778_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15778LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15682LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4812_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15778LU) -); -} - -/* PublishedEventsDataType - ns=0;i=15775 */ - -static UA_StatusCode function_namespace0_generated_4813_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15775_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15775_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15775_variant_DataContents); -*variablenode_ns_0_i_15775_variant_DataContents = UA_STRING_ALLOC("PublishedEventsDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15775_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedEventsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15775LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedEventsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15775_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15775LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15681LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4813_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15775LU) -); -} - -/* PublishedDataItemsDataType - ns=0;i=15772 */ - -static UA_StatusCode function_namespace0_generated_4814_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15772_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15772_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15772_variant_DataContents); -*variablenode_ns_0_i_15772_variant_DataContents = UA_STRING_ALLOC("PublishedDataItemsDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15772_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataItemsDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15772LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataItemsDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15772_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15772LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15679LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4814_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15772LU) -); -} - -/* PublishedDataSetSourceDataType - ns=0;i=15769 */ - -static UA_StatusCode function_namespace0_generated_4815_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15769_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15769_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15769_variant_DataContents); -*variablenode_ns_0_i_15769_variant_DataContents = UA_STRING_ALLOC("PublishedDataSetSourceDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15769_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetSourceDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15769LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetSourceDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15769_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15769LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15678LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4815_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15769LU) -); -} - -/* PublishedDataSetDataType - ns=0;i=15766 */ - -static UA_StatusCode function_namespace0_generated_4816_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15766_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15766_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15766_variant_DataContents); -*variablenode_ns_0_i_15766_variant_DataContents = UA_STRING_ALLOC("PublishedDataSetDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15766_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedDataSetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15766LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedDataSetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15766_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15766LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15677LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4816_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15766LU) -); -} - -/* DataTypeSchemaHeader - ns=0;i=15741 */ - -static UA_StatusCode function_namespace0_generated_4817_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15741_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15741_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15741_variant_DataContents); -*variablenode_ns_0_i_15741_variant_DataContents = UA_STRING_ALLOC("DataTypeSchemaHeader"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15741_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeSchemaHeader"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15741LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeSchemaHeader"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15741_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15741LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15676LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4817_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15741LU) -); -} - -/* IdentityMappingRuleType - ns=0;i=15738 */ - -static UA_StatusCode function_namespace0_generated_4818_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15738_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15738_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15738_variant_DataContents); -*variablenode_ns_0_i_15738_variant_DataContents = UA_STRING_ALLOC("IdentityMappingRuleType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15738_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "IdentityMappingRuleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15738LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IdentityMappingRuleType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15738_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15738LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15736LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4818_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15738LU) -); -} - -/* EndpointType - ns=0;i=15734 */ - -static UA_StatusCode function_namespace0_generated_4819_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15734_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15734_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15734_variant_DataContents); -*variablenode_ns_0_i_15734_variant_DataContents = UA_STRING_ALLOC("EndpointType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15734_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15734LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15734_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15734LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15671LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4819_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15734LU) -); -} - -/* IdentityMappingRuleType - ns=0;i=15730 */ - -static UA_StatusCode function_namespace0_generated_4820_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15730_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15730_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15730_variant_DataContents); -*variablenode_ns_0_i_15730_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='IdentityMappingRuleType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15730_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "IdentityMappingRuleType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15730LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "IdentityMappingRuleType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15730_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15730LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15728LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4820_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15730LU) -); -} - -/* BrokerConnectionTransportDataType - ns=0;i=15640 */ - -static UA_StatusCode function_namespace0_generated_4821_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15640_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15640_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15640_variant_DataContents); -*variablenode_ns_0_i_15640_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='BrokerConnectionTransportDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15640_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15640LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15640_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15640LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15579LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4821_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15640LU) -); -} - -/* EnumDescription - ns=0;i=15602 */ - -static UA_StatusCode function_namespace0_generated_4822_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15602_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15602_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15602_variant_DataContents); -*variablenode_ns_0_i_15602_variant_DataContents = UA_STRING_ALLOC("EnumDescription"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15602_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15602LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15602_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15602LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 127LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4822_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15602LU) -); -} - -/* StructureDescription - ns=0;i=15599 */ - -static UA_StatusCode function_namespace0_generated_4823_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15599_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15599_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15599_variant_DataContents); -*variablenode_ns_0_i_15599_variant_DataContents = UA_STRING_ALLOC("StructureDescription"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15599_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StructureDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15599LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StructureDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15599_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15599LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 126LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4823_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15599LU) -); -} - -/* EnumDescription - ns=0;i=15594 */ - -static UA_StatusCode function_namespace0_generated_4824_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15594_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15594_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15594_variant_DataContents); -*variablenode_ns_0_i_15594_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumDescription']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15594_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15594LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15594_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15594LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15590LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4824_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15594LU) -); -} - -/* StructureDescription - ns=0;i=15591 */ - -static UA_StatusCode function_namespace0_generated_4825_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15591_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15591_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15591_variant_DataContents); -*variablenode_ns_0_i_15591_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='StructureDescription']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15591_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "StructureDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15591LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "StructureDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15591_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15591LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15589LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4825_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15591LU) -); -} - -/* UABinaryFileDataType - ns=0;i=15588 */ - -static UA_StatusCode function_namespace0_generated_4826_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15588_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15588_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15588_variant_DataContents); -*variablenode_ns_0_i_15588_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='UABinaryFileDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15588_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UABinaryFileDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15588LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UABinaryFileDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15588_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15588LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15531LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4826_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15588LU) -); -} - -/* SimpleTypeDescription - ns=0;i=15585 */ - -static UA_StatusCode function_namespace0_generated_4827_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15585_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15585_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15585_variant_DataContents); -*variablenode_ns_0_i_15585_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='SimpleTypeDescription']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15585_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SimpleTypeDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15585LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SimpleTypeDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15585_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15585LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15529LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4827_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15585LU) -); -} - -/* BrokerConnectionTransportDataType - ns=0;i=15524 */ - -static UA_StatusCode function_namespace0_generated_4828_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15524_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15524_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15524_variant_DataContents); -*variablenode_ns_0_i_15524_variant_DataContents = UA_STRING_ALLOC("BrokerConnectionTransportDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15524_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "BrokerConnectionTransportDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15524LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "BrokerConnectionTransportDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15524_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15524LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15479LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4828_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15524LU) -); -} - -/* UABinaryFileDataType - ns=0;i=15521 */ - -static UA_StatusCode function_namespace0_generated_4829_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15521_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15521_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15521_variant_DataContents); -*variablenode_ns_0_i_15521_variant_DataContents = UA_STRING_ALLOC("UABinaryFileDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15521_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "UABinaryFileDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15521LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "UABinaryFileDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15521_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15521LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15422LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4829_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15521LU) -); -} - -/* SimpleTypeDescription - ns=0;i=15501 */ - -static UA_StatusCode function_namespace0_generated_4830_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_15501_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_15501_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_15501_variant_DataContents); -*variablenode_ns_0_i_15501_variant_DataContents = UA_STRING_ALLOC("SimpleTypeDescription"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_15501_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "SimpleTypeDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 15501LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "SimpleTypeDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_15501_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 15501LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 15421LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4830_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 15501LU) -); -} - -/* ConfigurationVersionDataType - ns=0;i=14876 */ - -static UA_StatusCode function_namespace0_generated_4831_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14876_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14876_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14876_variant_DataContents); -*variablenode_ns_0_i_14876_variant_DataContents = UA_STRING_ALLOC("ConfigurationVersionDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14876_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14876LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersionDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14876_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14876LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14847LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4831_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14876LU) -); -} - -/* KeyValuePair - ns=0;i=14873 */ - -static UA_StatusCode function_namespace0_generated_4832_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14873_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14873_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14873_variant_DataContents); -*variablenode_ns_0_i_14873_variant_DataContents = UA_STRING_ALLOC("KeyValuePair"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14873_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyValuePair"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14873LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "KeyValuePair"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14873_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14873LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14846LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4832_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14873LU) -); -} - -/* EnumField - ns=0;i=14870 */ - -static UA_StatusCode function_namespace0_generated_4833_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14870_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14870_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14870_variant_DataContents); -*variablenode_ns_0_i_14870_variant_DataContents = UA_STRING_ALLOC("EnumField"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14870_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14870LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumField"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14870_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14870LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14845LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4833_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14870LU) -); -} - -/* DataTypeDescription - ns=0;i=14855 */ - -static UA_StatusCode function_namespace0_generated_4834_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14855_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14855_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14855_variant_DataContents); -*variablenode_ns_0_i_14855_variant_DataContents = UA_STRING_ALLOC("DataTypeDescription"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14855_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14855LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14855_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14855LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 125LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4834_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14855LU) -); -} - -/* FieldMetaData - ns=0;i=14852 */ - -static UA_StatusCode function_namespace0_generated_4835_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14852_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14852_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14852_variant_DataContents); -*variablenode_ns_0_i_14852_variant_DataContents = UA_STRING_ALLOC("FieldMetaData"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14852_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "FieldMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14852LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FieldMetaData"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14852_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14852LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14839LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4835_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14852LU) -); -} - -/* DataSetMetaDataType - ns=0;i=14849 */ - -static UA_StatusCode function_namespace0_generated_4836_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14849_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14849_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14849_variant_DataContents); -*variablenode_ns_0_i_14849_variant_DataContents = UA_STRING_ALLOC("DataSetMetaDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14849_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14849LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14849_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14849LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 124LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4836_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14849LU) -); -} - -/* FieldTargetDataType - ns=0;i=14835 */ - -static UA_StatusCode function_namespace0_generated_4837_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14835_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14835_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14835_variant_DataContents); -*variablenode_ns_0_i_14835_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='FieldTargetDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14835_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "FieldTargetDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14835LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FieldTargetDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14835_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14835LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14804LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4837_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14835LU) -); -} - -/* ConfigurationVersionDataType - ns=0;i=14832 */ - -static UA_StatusCode function_namespace0_generated_4838_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14832_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14832_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14832_variant_DataContents); -*variablenode_ns_0_i_14832_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ConfigurationVersionDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14832_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ConfigurationVersionDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14832LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ConfigurationVersionDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14832_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14832LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14803LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4838_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14832LU) -); -} - -/* KeyValuePair - ns=0;i=14829 */ - -static UA_StatusCode function_namespace0_generated_4839_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14829_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14829_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14829_variant_DataContents); -*variablenode_ns_0_i_14829_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='KeyValuePair']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14829_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "KeyValuePair"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14829LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "KeyValuePair"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14829_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14829LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14802LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4839_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14829LU) -); -} - -/* EnumField - ns=0;i=14826 */ - -static UA_StatusCode function_namespace0_generated_4840_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14826_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14826_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14826_variant_DataContents); -*variablenode_ns_0_i_14826_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EnumField']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14826_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EnumField"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14826LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EnumField"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14826_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14826LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14801LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4840_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14826LU) -); -} - -/* DataTypeDescription - ns=0;i=14811 */ - -static UA_StatusCode function_namespace0_generated_4841_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14811_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14811_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14811_variant_DataContents); -*variablenode_ns_0_i_14811_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataTypeDescription']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14811_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeDescription"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14811LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeDescription"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14811_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14811LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14796LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4841_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14811LU) -); -} - -/* FieldMetaData - ns=0;i=14808 */ - -static UA_StatusCode function_namespace0_generated_4842_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14808_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14808_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14808_variant_DataContents); -*variablenode_ns_0_i_14808_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='FieldMetaData']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14808_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "FieldMetaData"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14808LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "FieldMetaData"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14808_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14808LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14795LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4842_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14808LU) -); -} - -/* DataSetMetaDataType - ns=0;i=14805 */ - -static UA_StatusCode function_namespace0_generated_4843_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14805_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14805_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14805_variant_DataContents); -*variablenode_ns_0_i_14805_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DataSetMetaDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14805_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DataSetMetaDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14805LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DataSetMetaDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14805_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14805LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14794LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4843_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14805LU) -); -} - -/* PublishedVariableDataType - ns=0;i=14324 */ - -static UA_StatusCode function_namespace0_generated_4844_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14324_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14324_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14324_variant_DataContents); -*variablenode_ns_0_i_14324_variant_DataContents = UA_STRING_ALLOC("PublishedVariableDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14324_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedVariableDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14324LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedVariableDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14324_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14324LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14323LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4844_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14324LU) -); -} - -/* PublishedVariableDataType - ns=0;i=14320 */ - -static UA_StatusCode function_namespace0_generated_4845_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_14320_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_14320_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_14320_variant_DataContents); -*variablenode_ns_0_i_14320_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='PublishedVariableDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_14320_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "PublishedVariableDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 14320LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "PublishedVariableDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_14320_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 14320LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 14319LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4845_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 14320LU) -); -} - -/* MdnsDiscoveryConfiguration - ns=0;i=12905 */ - -static UA_StatusCode function_namespace0_generated_4846_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12905_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12905_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12905_variant_DataContents); -*variablenode_ns_0_i_12905_variant_DataContents = UA_STRING_ALLOC("MdnsDiscoveryConfiguration"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12905_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "MdnsDiscoveryConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12905LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MdnsDiscoveryConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12905_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12905LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12901LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4846_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12905LU) -); -} - -/* DiscoveryConfiguration - ns=0;i=12902 */ - -static UA_StatusCode function_namespace0_generated_4847_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12902_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12902_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12902_variant_DataContents); -*variablenode_ns_0_i_12902_variant_DataContents = UA_STRING_ALLOC("DiscoveryConfiguration"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12902_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12902LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12902_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12902LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12900LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4847_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12902LU) -); -} - -/* MdnsDiscoveryConfiguration - ns=0;i=12897 */ - -static UA_StatusCode function_namespace0_generated_4848_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12897_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12897_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12897_variant_DataContents); -*variablenode_ns_0_i_12897_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='MdnsDiscoveryConfiguration']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12897_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "MdnsDiscoveryConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12897LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "MdnsDiscoveryConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12897_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12897LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12893LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4848_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12897LU) -); -} - -/* DiscoveryConfiguration - ns=0;i=12894 */ - -static UA_StatusCode function_namespace0_generated_4849_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12894_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12894_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12894_variant_DataContents); -*variablenode_ns_0_i_12894_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DiscoveryConfiguration']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12894_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DiscoveryConfiguration"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12894LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DiscoveryConfiguration"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12894_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12894LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12892LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4849_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12894LU) -); -} - -/* Union - ns=0;i=12770 */ - -static UA_StatusCode function_namespace0_generated_4850_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12770_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12770_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12770_variant_DataContents); -*variablenode_ns_0_i_12770_variant_DataContents = UA_STRING_ALLOC("Union"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12770_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Union"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12770LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Union"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12770_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12770LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12766LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4850_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12770LU) -); -} - -/* OptionSet - ns=0;i=12767 */ - -static UA_StatusCode function_namespace0_generated_4851_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12767_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12767_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12767_variant_DataContents); -*variablenode_ns_0_i_12767_variant_DataContents = UA_STRING_ALLOC("OptionSet"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12767_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12767LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OptionSet"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12767_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12767LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12765LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4851_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12767LU) -); -} - -/* Union - ns=0;i=12762 */ - -static UA_StatusCode function_namespace0_generated_4852_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12762_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12762_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12762_variant_DataContents); -*variablenode_ns_0_i_12762_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='Union']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12762_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "Union"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12762LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "Union"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12762_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12762LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12758LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4852_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12762LU) -); -} - -/* OptionSet - ns=0;i=12759 */ - -static UA_StatusCode function_namespace0_generated_4853_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12759_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12759_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12759_variant_DataContents); -*variablenode_ns_0_i_12759_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='OptionSet']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12759_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "OptionSet"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12759LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "OptionSet"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12759_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12759LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12757LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4853_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12759LU) -); -} - -/* RelativePath - ns=0;i=12721 */ - -static UA_StatusCode function_namespace0_generated_4854_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12721_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12721_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12721_variant_DataContents); -*variablenode_ns_0_i_12721_variant_DataContents = UA_STRING_ALLOC("RelativePath"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12721_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RelativePath"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12721LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RelativePath"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12721_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12721LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 542LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4854_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12721LU) -); -} - -/* RelativePathElement - ns=0;i=12718 */ - -static UA_StatusCode function_namespace0_generated_4855_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12718_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12718_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12718_variant_DataContents); -*variablenode_ns_0_i_12718_variant_DataContents = UA_STRING_ALLOC("RelativePathElement"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12718_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RelativePathElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12718LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RelativePathElement"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12718_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12718LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 539LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4855_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12718LU) -); -} - -/* RelativePath - ns=0;i=12715 */ - -static UA_StatusCode function_namespace0_generated_4856_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12715_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12715_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12715_variant_DataContents); -*variablenode_ns_0_i_12715_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RelativePath']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12715_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RelativePath"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12715LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RelativePath"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12715_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12715LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 541LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4856_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12715LU) -); -} - -/* RelativePathElement - ns=0;i=12712 */ - -static UA_StatusCode function_namespace0_generated_4857_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12712_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12712_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12712_variant_DataContents); -*variablenode_ns_0_i_12712_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='RelativePathElement']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12712_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "RelativePathElement"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12712LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "RelativePathElement"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12712_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12712LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 538LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4857_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12712LU) -); -} - -/* TrustListDataType - ns=0;i=12681 */ - -static UA_StatusCode function_namespace0_generated_4858_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12681_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12681_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12681_variant_DataContents); -*variablenode_ns_0_i_12681_variant_DataContents = UA_STRING_ALLOC("TrustListDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12681_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12681LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustListDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12681_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12681LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12680LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4858_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12681LU) -); -} - -/* TrustListDataType - ns=0;i=12677 */ - -static UA_StatusCode function_namespace0_generated_4859_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12677_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12677_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12677_variant_DataContents); -*variablenode_ns_0_i_12677_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='TrustListDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12677_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "TrustListDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12677LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "TrustListDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12677_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12677LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12676LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4859_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12677LU) -); -} - -/* ServerOnNetwork - ns=0;i=12213 */ - -static UA_StatusCode function_namespace0_generated_4860_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12213_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12213_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12213_variant_DataContents); -*variablenode_ns_0_i_12213_variant_DataContents = UA_STRING_ALLOC("ServerOnNetwork"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12213_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerOnNetwork"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12213LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerOnNetwork"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12213_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12213LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12207LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4860_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12213LU) -); -} - -/* ServerOnNetwork - ns=0;i=12201 */ - -static UA_StatusCode function_namespace0_generated_4861_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12201_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12201_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12201_variant_DataContents); -*variablenode_ns_0_i_12201_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ServerOnNetwork']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12201_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ServerOnNetwork"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12201LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ServerOnNetwork"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12201_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12201LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12195LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4861_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12201LU) -); -} - -/* DoubleComplexNumberType - ns=0;i=12186 */ - -static UA_StatusCode function_namespace0_generated_4862_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12186_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12186_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12186_variant_DataContents); -*variablenode_ns_0_i_12186_variant_DataContents = UA_STRING_ALLOC("DoubleComplexNumberType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12186_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DoubleComplexNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12186LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DoubleComplexNumberType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12186_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12186LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12182LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4862_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12186LU) -); -} - -/* ComplexNumberType - ns=0;i=12183 */ - -static UA_StatusCode function_namespace0_generated_4863_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12183_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12183_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12183_variant_DataContents); -*variablenode_ns_0_i_12183_variant_DataContents = UA_STRING_ALLOC("ComplexNumberType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12183_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ComplexNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12183LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ComplexNumberType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12183_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12183LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12181LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4863_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12183LU) -); -} - -/* DoubleComplexNumberType - ns=0;i=12178 */ - -static UA_StatusCode function_namespace0_generated_4864_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12178_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12178_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12178_variant_DataContents); -*variablenode_ns_0_i_12178_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='DoubleComplexNumberType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12178_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "DoubleComplexNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12178LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "DoubleComplexNumberType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12178_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12178LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12174LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4864_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12178LU) -); -} - -/* ComplexNumberType - ns=0;i=12175 */ - -static UA_StatusCode function_namespace0_generated_4865_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12175_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12175_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12175_variant_DataContents); -*variablenode_ns_0_i_12175_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='ComplexNumberType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12175_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "ComplexNumberType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12175LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "ComplexNumberType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12175_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12175LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12173LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4865_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12175LU) -); -} - -/* XVType - ns=0;i=12094 */ - -static UA_StatusCode function_namespace0_generated_4866_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12094_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12094_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12094_variant_DataContents); -*variablenode_ns_0_i_12094_variant_DataContents = UA_STRING_ALLOC("XVType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12094_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "XVType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12094LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "XVType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12094_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12094LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12090LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4866_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12094LU) -); -} - -/* AxisInformation - ns=0;i=12091 */ - -static UA_StatusCode function_namespace0_generated_4867_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12091_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12091_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12091_variant_DataContents); -*variablenode_ns_0_i_12091_variant_DataContents = UA_STRING_ALLOC("AxisInformation"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12091_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AxisInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12091LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AxisInformation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12091_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12091LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12089LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4867_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12091LU) -); -} - -/* XVType - ns=0;i=12086 */ - -static UA_StatusCode function_namespace0_generated_4868_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12086_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12086_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12086_variant_DataContents); -*variablenode_ns_0_i_12086_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='XVType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12086_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "XVType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12086LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "XVType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12086_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12086LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12082LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4868_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12086LU) -); -} - -/* AxisInformation - ns=0;i=12083 */ - -static UA_StatusCode function_namespace0_generated_4869_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_12083_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_12083_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_12083_variant_DataContents); -*variablenode_ns_0_i_12083_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='AxisInformation']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_12083_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "AxisInformation"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 12083LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "AxisInformation"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_12083_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 12083LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12081LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4869_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 12083LU) -); -} - -/* NetworkGroupDataType - ns=0;i=11962 */ - -static UA_StatusCode function_namespace0_generated_4870_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_11962_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_11962_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_11962_variant_DataContents); -*variablenode_ns_0_i_11962_variant_DataContents = UA_STRING_ALLOC("NetworkGroupDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11962_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11962LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_11962_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11962LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11958LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4870_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11962LU) -); -} - -/* EndpointUrlListDataType - ns=0;i=11959 */ - -static UA_StatusCode function_namespace0_generated_4871_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_11959_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_11959_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_11959_variant_DataContents); -*variablenode_ns_0_i_11959_variant_DataContents = UA_STRING_ALLOC("EndpointUrlListDataType"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11959_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrlListDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11959LU), -UA_NODEID_NUMERIC(ns[0], 7617LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrlListDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_11959_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11959LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11957LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4871_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11959LU) -); -} - -/* NetworkGroupDataType - ns=0;i=11954 */ - -static UA_StatusCode function_namespace0_generated_4872_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_11954_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_11954_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_11954_variant_DataContents); -*variablenode_ns_0_i_11954_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='NetworkGroupDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11954_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "NetworkGroupDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11954LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "NetworkGroupDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_11954_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11954LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11950LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4872_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11954LU) -); -} - -/* EndpointUrlListDataType - ns=0;i=11951 */ - -static UA_StatusCode function_namespace0_generated_4873_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -UA_String *variablenode_ns_0_i_11951_variant_DataContents = UA_String_new(); -if (!variablenode_ns_0_i_11951_variant_DataContents) return UA_STATUSCODE_BADOUTOFMEMORY; -UA_String_init(variablenode_ns_0_i_11951_variant_DataContents); -*variablenode_ns_0_i_11951_variant_DataContents = UA_STRING_ALLOC("//xs:element[@name='EndpointUrlListDataType']"); -UA_Variant_setScalar(&attr.value, variablenode_ns_0_i_11951_variant_DataContents, &UA_TYPES[UA_TYPES_STRING]); -attr.displayName = UA_LOCALIZEDTEXT("", "EndpointUrlListDataType"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 11951LU), -UA_NODEID_NUMERIC(ns[0], 8252LU), -UA_NODEID_NUMERIC(ns[0], 47LU), -UA_QUALIFIEDNAME(ns[0], "EndpointUrlListDataType"), -UA_NODEID_NUMERIC(ns[0], 69LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -UA_String_delete(variablenode_ns_0_i_11951_variant_DataContents); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 11951LU), UA_NODEID_NUMERIC(ns[0], 39LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11949LU), false); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4873_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 11951LU) -); -} - -/* DictionaryFragment - ns=0;i=105 */ - -static UA_StatusCode function_namespace0_generated_4874_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 15LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DictionaryFragment"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 105LU), -UA_NODEID_NUMERIC(ns[0], 69LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DictionaryFragment"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 105LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4874_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 105LU) -); -} - -/* DataTypeVersion - ns=0;i=104 */ - -static UA_StatusCode function_namespace0_generated_4875_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_VariableAttributes attr = UA_VariableAttributes_default; -attr.minimumSamplingInterval = 0.000000; -attr.userAccessLevel = 1; -attr.accessLevel = 1; -/* Value rank inherited */ -attr.valueRank = -2; -attr.dataType = UA_NODEID_NUMERIC(ns[0], 12LU); -attr.displayName = UA_LOCALIZEDTEXT("", "DataTypeVersion"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_VARIABLE, -UA_NODEID_NUMERIC(ns[0], 104LU), -UA_NODEID_NUMERIC(ns[0], 69LU), -UA_NODEID_NUMERIC(ns[0], 46LU), -UA_QUALIFIEDNAME(ns[0], "DataTypeVersion"), -UA_NODEID_NUMERIC(ns[0], 68LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_VARIABLEATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 104LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 80LU), true); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4875_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 104LU) -); -} - -/* Default XML - ns=0;i=3063 */ - -static UA_StatusCode function_namespace0_generated_4876_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default XML"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3063LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default XML"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4876_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3063LU) -); -} - -/* Default Binary - ns=0;i=3062 */ - -static UA_StatusCode function_namespace0_generated_4877_begin(UA_Server *server, UA_UInt16* ns) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -UA_ObjectAttributes attr = UA_ObjectAttributes_default; -attr.displayName = UA_LOCALIZEDTEXT("", "Default Binary"); -retVal |= UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, -UA_NODEID_NUMERIC(ns[0], 3062LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_NODEID_NUMERIC(ns[0], 0LU), -UA_QUALIFIEDNAME(ns[0], "Default Binary"), -UA_NODEID_NUMERIC(ns[0], 58LU), -(const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -if (retVal != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -static UA_StatusCode function_namespace0_generated_4877_finish(UA_Server *server, UA_UInt16* ns) { -return UA_Server_addNode_finish(server, -UA_NODEID_NUMERIC(ns[0], 3062LU) -); -} - -UA_StatusCode namespace0_generated(UA_Server *server) { -UA_StatusCode retVal = UA_STATUSCODE_GOOD; -/* Use namespace ids generated by the server */ -UA_UInt16 ns[1]; -ns[0] = UA_Server_addNamespace(server, "http://opcfoundation.org/UA/"); - -/* Load custom datatype definitions into the server */ -if((retVal = function_namespace0_generated_0_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_0_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_5_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_5_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_6_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_6_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_7_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_7_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_8_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_8_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_9_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_9_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_10_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_10_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_11_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_11_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_12_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_12_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_13_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_13_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_14_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_14_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_15_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_15_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_16_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_16_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_17_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_17_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_18_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_18_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_19_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_19_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_20_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_20_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_21_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_21_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_22_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_22_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_23_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_23_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_24_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_24_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_25_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_25_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_26_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_26_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_27_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_27_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_28_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_28_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_29_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_29_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_30_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_30_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_31_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_31_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_32_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_32_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_33_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_33_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_34_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_34_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_35_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_35_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_36_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_36_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_37_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_37_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_38_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_38_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_39_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_39_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_40_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_40_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_41_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_41_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_42_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_42_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_43_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_43_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_44_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_44_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_45_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_45_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_46_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_46_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_47_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_47_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_48_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_48_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_49_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_50_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_51_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_52_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_53_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_54_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_55_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_56_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_57_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_58_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_59_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_60_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_61_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_62_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_63_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_64_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_65_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_66_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_67_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_68_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_69_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_70_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_71_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_72_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_73_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_74_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_75_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_76_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_77_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_78_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_79_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_80_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_81_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_82_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_83_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_84_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_85_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_86_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_87_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_88_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_89_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_90_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_91_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_92_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_93_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_94_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_95_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_96_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_97_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_98_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_99_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3878_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3879_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3880_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3881_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3882_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3883_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3884_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3885_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3886_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3887_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3888_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3889_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3890_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3891_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3892_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3893_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3894_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3895_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3896_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3897_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3898_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3899_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3900_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3901_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3902_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3903_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3904_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3905_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3906_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3907_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3908_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3909_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3910_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3911_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3912_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3913_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3914_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3915_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3916_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3917_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3918_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3919_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3920_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3921_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3922_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3923_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3924_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3925_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3926_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3927_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3928_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3929_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3930_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3931_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3932_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3933_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3934_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3935_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3936_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3937_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3938_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3939_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3940_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3941_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3942_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3943_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3944_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3945_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3946_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3947_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3948_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3949_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3950_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3951_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3952_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3953_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3954_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3955_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3956_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3957_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3958_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3959_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3960_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3961_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3962_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3963_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3964_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3965_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3966_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3967_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3968_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3969_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3970_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3971_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3972_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3973_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3974_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3975_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3976_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3977_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3978_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3979_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3980_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3981_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3982_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3983_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3984_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3985_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3986_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3987_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3988_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3989_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3990_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3991_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3992_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3993_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3994_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3995_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3996_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3997_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3998_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3999_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4000_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4001_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4002_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4003_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4004_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4005_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4006_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4007_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4008_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4009_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4010_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4011_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4012_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4013_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4014_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4015_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4016_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4017_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4018_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4019_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4020_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4021_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4022_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4023_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4024_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4025_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4026_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4027_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4028_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4029_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4030_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4031_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4032_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4033_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4034_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4035_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4036_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4037_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4038_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4039_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4040_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4041_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4042_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4043_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4044_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4045_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4046_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4047_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4048_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4049_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4050_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4051_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4052_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4053_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4054_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4055_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4056_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4057_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4058_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4059_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4060_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4061_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4062_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4063_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4064_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4065_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4066_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4067_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4068_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4069_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4070_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4071_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4072_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4073_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4074_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4075_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4076_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4077_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4078_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4079_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4080_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4081_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4082_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4083_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4084_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4085_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4086_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4087_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4088_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4089_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4090_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4091_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4092_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4093_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4094_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4095_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4096_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4097_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4098_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4099_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4100_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4101_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4102_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4103_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4104_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4105_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4106_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4107_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4108_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4109_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4110_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4111_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4112_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4113_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4114_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4115_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4116_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4117_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4118_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4119_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4120_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4121_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4122_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4123_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4124_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4125_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4126_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4127_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4128_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4129_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4130_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4131_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4132_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4133_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4134_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4135_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4136_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4137_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4138_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4139_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4140_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4141_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4142_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4143_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4144_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4145_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4146_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4147_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4148_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4149_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4150_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4151_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4152_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4153_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4154_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4155_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4156_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4157_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4158_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4159_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4160_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4161_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4162_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4163_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4164_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4165_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4166_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4167_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4168_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4169_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4170_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4171_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4172_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4173_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4174_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4175_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4176_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4177_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4178_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4179_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4180_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4181_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4182_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4183_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4184_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4185_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4186_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4187_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4188_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4189_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4190_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4191_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4192_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4193_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4194_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4195_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4196_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4197_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4198_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4199_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4200_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4201_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4202_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4203_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4204_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4205_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4206_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4207_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4208_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4209_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4210_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4211_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4212_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4213_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4214_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4215_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4216_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4217_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4218_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4219_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4220_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4221_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4222_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4223_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4224_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4225_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4226_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4227_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4228_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4229_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4230_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4231_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4232_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4233_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4234_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4235_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4236_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4237_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4238_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4239_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4240_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4241_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4242_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4243_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4244_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4245_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4246_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4247_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4248_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4249_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4250_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4251_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4252_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4253_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4254_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4255_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4256_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4257_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4258_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4259_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4260_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4261_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4262_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4263_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4264_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4265_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4266_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4267_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4268_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4269_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4270_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4271_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4272_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4273_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4274_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4275_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4276_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4277_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4278_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4279_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4280_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4281_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4282_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4283_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4284_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4285_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4286_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4287_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4288_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4289_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4290_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4291_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4292_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4293_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4294_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4295_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4296_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4297_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4298_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4299_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4300_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4301_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4302_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4303_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4304_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4305_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4306_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4307_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4308_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4309_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4310_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4311_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4312_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4313_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4314_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4315_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4316_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4317_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4318_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4319_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4320_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4321_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4322_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4323_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4324_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4325_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4326_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4327_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4328_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4329_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4330_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4331_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4332_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4333_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4334_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4335_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4336_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4337_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4338_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4339_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4340_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4341_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4342_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4343_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4344_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4345_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4346_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4347_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4348_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4349_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4350_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4351_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4352_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4353_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4354_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4355_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4356_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4357_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4358_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4359_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4360_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4361_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4362_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4363_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4364_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4365_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4366_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4367_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4368_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4369_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4370_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4371_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4372_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4373_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4374_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4375_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4376_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4377_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4378_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4379_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4380_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4381_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4382_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4383_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4384_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4385_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4386_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4387_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4388_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4389_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4390_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4391_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4392_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4393_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4394_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4395_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4396_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4397_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4398_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4399_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4400_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4401_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4402_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4403_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4404_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4405_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4406_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4407_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4408_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4409_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4410_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4411_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4412_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4413_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4414_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4415_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4416_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4417_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4418_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4419_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4420_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4421_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4422_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4423_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4424_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4425_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4426_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4427_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4428_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4429_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4430_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4431_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4432_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4433_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4434_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4435_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4436_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4437_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4438_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4439_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4440_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4441_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4442_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4443_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4444_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4445_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4446_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4447_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4448_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4449_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4450_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4451_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4452_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4453_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4454_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4455_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4456_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4457_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4458_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4459_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4460_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4461_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4462_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4463_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4464_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4465_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4466_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4467_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4468_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4469_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4470_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4471_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4472_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4473_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4474_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4475_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4476_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4477_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4478_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4479_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4480_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4481_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4482_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4483_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4484_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4485_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4486_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4487_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4488_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4489_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4490_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4491_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4492_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4493_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4494_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4495_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4496_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4497_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4498_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4499_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4500_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4501_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4502_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4503_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4504_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4505_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4506_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4507_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4508_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4509_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4510_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4511_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4512_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4513_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4514_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4515_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4516_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4517_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4518_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4519_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4520_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4521_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4522_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4523_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4524_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4525_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4526_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4527_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4528_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4529_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4530_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4531_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4532_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4533_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4534_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4535_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4536_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4537_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4538_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4539_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4540_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4541_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4542_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4543_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4544_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4545_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4546_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4547_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4548_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4549_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4550_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4551_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4552_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4553_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4554_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4555_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4556_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4557_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4558_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4559_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4560_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4561_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4562_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4563_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4564_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4565_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4566_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4567_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4568_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4569_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4570_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4571_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4572_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4573_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4574_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4575_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4576_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4577_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4578_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4579_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4580_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4581_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4582_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4583_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4584_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4585_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4586_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4587_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4588_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4589_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4590_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4591_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4592_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4593_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4594_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4595_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4596_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4597_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4598_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4599_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4600_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4601_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4602_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4603_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4604_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4605_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4606_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4607_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4608_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4609_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4610_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4611_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4612_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4613_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4614_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4615_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4616_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4617_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4618_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4619_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4620_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4621_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4622_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4623_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4624_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4625_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4626_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4627_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4628_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4629_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4630_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4631_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4632_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4633_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4634_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4635_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4636_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4637_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4638_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4639_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4640_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4641_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4642_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4643_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4644_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4645_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4646_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4647_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4648_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4649_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4650_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4651_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4652_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4653_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4654_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4655_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4656_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4657_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4658_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4659_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4660_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4661_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4662_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4663_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4664_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4665_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4666_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4667_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4668_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4669_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4670_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4671_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4672_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4673_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4674_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4675_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4676_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4677_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4678_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4679_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4680_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4681_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4682_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4683_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4684_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4685_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4686_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4687_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4688_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4689_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4690_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4691_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4692_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4693_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4694_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4695_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4696_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4697_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4698_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4699_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4700_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4701_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4702_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4703_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4704_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4705_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4706_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4707_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4708_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4709_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4710_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4711_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4712_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4713_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4714_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4715_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4716_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4717_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4718_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4719_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4720_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4721_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4722_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4723_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4724_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4725_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4726_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4727_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4728_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4729_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4730_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4731_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4732_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4733_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4734_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4735_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4736_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4737_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4738_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4739_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4740_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4741_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4742_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4743_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4744_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4745_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4746_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4747_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4748_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4749_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4750_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4751_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4752_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4753_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4754_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4755_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4756_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4757_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4758_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4759_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4760_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4761_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4762_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4763_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4764_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4765_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4766_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4767_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4768_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4769_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4770_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4771_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4772_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4773_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4774_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4775_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4776_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4777_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4778_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4779_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4780_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4781_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4782_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4783_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4784_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4785_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4786_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4787_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4788_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4789_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4790_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4791_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4792_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4793_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4794_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4795_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4796_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4797_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4798_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4799_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4800_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4801_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4802_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4803_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4804_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4805_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4806_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4807_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4808_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4809_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4810_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4811_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4812_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4813_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4814_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4815_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4816_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4817_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4818_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4819_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4820_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4821_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4822_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4823_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4824_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4825_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4826_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4827_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4828_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4829_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4830_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4831_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4832_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4833_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4834_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4835_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4836_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4837_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4838_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4839_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4840_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4841_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4842_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4843_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4844_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4845_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4846_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4847_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4848_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4849_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4850_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4851_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4852_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4853_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4854_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4855_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4856_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4857_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4858_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4859_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4860_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4861_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4862_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4863_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4864_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4865_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4866_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4867_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4868_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4869_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4870_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4871_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4872_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4873_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4874_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4875_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4876_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4877_begin(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_4000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_3000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_2000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1099_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1098_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1097_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1096_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1095_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1094_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1093_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1092_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1091_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1090_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1089_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1088_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1087_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1086_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1085_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1084_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1083_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1082_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1081_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1080_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1079_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1078_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1077_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1076_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1075_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1074_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1073_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1072_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1071_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1070_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1069_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1068_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1067_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1066_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1065_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1064_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1063_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1062_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1061_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1060_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1059_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1058_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1057_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1056_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1055_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1054_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1053_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1052_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1051_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1050_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1049_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1048_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1047_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1046_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1045_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1044_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1043_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1042_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1041_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1040_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1039_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1038_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1037_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1036_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1035_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1034_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1033_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1032_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1031_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1030_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1029_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1028_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1027_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1026_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1025_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1024_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1023_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1022_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1021_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1020_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1019_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1018_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1017_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1016_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1015_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1014_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1013_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1012_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1011_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1010_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1009_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1008_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1007_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1006_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1005_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1004_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1003_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1002_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1001_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_1000_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_999_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_998_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_997_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_996_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_995_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_994_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_993_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_992_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_991_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_990_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_989_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_988_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_987_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_986_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_985_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_984_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_983_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_982_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_981_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_980_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_979_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_978_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_977_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_976_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_975_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_974_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_973_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_972_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_971_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_970_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_969_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_968_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_967_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_966_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_965_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_964_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_963_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_962_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_961_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_960_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_959_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_958_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_957_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_956_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_955_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_954_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_953_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_952_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_951_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_950_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_949_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_948_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_947_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_946_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_945_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_944_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_943_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_942_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_941_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_940_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_939_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_938_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_937_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_936_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_935_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_934_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_933_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_932_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_931_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_930_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_929_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_928_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_927_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_926_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_925_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_924_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_923_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_922_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_921_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_920_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_919_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_918_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_917_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_916_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_915_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_914_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_913_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_912_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_911_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_910_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_909_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_908_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_907_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_906_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_905_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_904_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_903_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_902_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_901_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_900_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_899_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_898_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_897_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_896_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_895_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_894_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_893_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_892_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_891_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_890_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_889_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_888_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_887_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_886_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_885_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_884_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_883_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_882_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_881_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_880_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_879_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_878_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_877_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_876_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_875_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_874_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_873_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_872_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_871_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_870_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_869_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_868_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_867_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_866_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_865_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_864_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_863_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_862_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_861_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_860_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_859_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_858_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_857_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_856_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_855_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_854_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_853_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_852_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_851_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_850_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_849_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_848_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_847_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_846_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_845_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_844_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_843_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_842_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_841_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_840_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_839_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_838_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_837_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_836_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_835_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_834_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_833_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_832_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_831_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_830_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_829_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_828_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_827_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_826_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_825_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_824_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_823_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_822_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_821_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_820_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_819_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_818_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_817_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_816_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_815_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_814_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_813_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_812_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_811_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_810_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_809_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_808_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_807_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_806_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_805_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_804_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_803_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_802_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_801_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_800_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_799_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_798_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_797_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_796_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_795_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_794_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_793_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_792_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_791_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_790_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_789_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_788_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_787_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_786_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_785_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_784_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_783_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_782_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_781_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_780_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_779_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_778_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_777_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_776_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_775_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_774_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_773_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_772_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_771_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_770_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_769_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_768_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_767_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_766_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_765_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_764_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_763_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_762_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_761_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_760_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_759_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_758_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_757_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_756_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_755_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_754_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_753_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_752_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_751_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_750_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_749_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_748_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_747_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_746_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_745_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_744_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_743_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_742_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_741_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_740_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_739_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_738_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_737_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_736_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_735_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_734_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_733_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_732_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_731_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_730_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_729_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_728_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_727_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_726_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_725_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_724_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_723_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_722_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_721_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_720_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_719_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_718_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_717_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_716_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_715_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_714_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_713_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_712_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_711_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_710_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_709_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_708_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_707_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_706_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_705_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_704_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_703_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_702_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_701_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_700_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_699_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_698_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_697_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_696_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_695_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_694_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_693_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_692_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_691_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_690_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_689_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_688_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_687_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_686_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_685_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_684_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_683_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_682_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_681_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_680_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_679_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_678_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_677_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_676_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_675_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_674_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_673_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_672_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_671_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_670_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_669_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_668_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_667_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_666_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_665_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_664_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_663_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_662_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_661_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_660_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_659_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_658_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_657_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_656_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_655_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_654_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_653_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_652_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_651_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_650_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_649_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_648_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_647_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_646_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_645_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_644_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_643_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_642_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_641_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_640_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_639_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_638_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_637_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_636_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_635_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_634_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_633_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_632_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_631_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_630_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_629_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_628_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_627_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_626_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_625_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_624_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_623_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_622_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_621_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_620_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_619_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_618_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_617_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_616_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_615_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_614_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_613_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_612_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_611_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_610_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_609_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_608_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_607_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_606_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_605_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_604_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_603_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_602_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_601_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_600_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_599_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_598_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_597_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_596_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_595_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_594_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_593_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_592_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_591_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_590_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_589_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_588_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_587_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_586_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_585_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_584_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_583_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_582_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_581_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_580_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_579_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_578_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_577_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_576_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_575_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_574_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_573_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_572_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_571_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_570_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_569_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_568_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_567_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_566_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_565_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_564_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_563_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_562_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_561_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_560_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_559_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_558_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_557_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_556_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_555_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_554_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_553_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_552_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_551_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_550_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_549_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_548_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_547_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_546_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_545_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_544_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_543_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_542_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_541_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_540_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_539_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_538_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_537_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_536_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_535_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_534_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_533_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_532_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_531_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_530_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_529_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_528_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_527_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_526_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_525_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_524_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_523_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_522_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_521_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_520_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_519_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_518_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_517_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_516_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_515_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_514_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_513_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_512_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_511_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_510_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_509_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_508_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_507_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_506_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_505_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_504_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_503_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_502_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_501_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_500_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_499_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_498_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_497_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_496_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_495_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_494_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_493_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_492_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_491_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_490_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_489_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_488_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_487_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_486_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_485_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_484_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_483_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_482_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_481_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_480_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_479_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_478_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_477_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_476_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_475_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_474_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_473_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_472_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_471_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_470_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_469_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_468_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_467_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_466_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_465_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_464_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_463_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_462_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_461_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_460_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_459_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_458_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_457_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_456_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_455_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_454_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_453_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_452_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_451_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_450_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_449_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_448_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_447_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_446_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_445_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_444_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_443_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_442_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_441_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_440_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_439_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_438_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_437_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_436_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_435_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_434_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_433_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_432_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_431_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_430_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_429_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_428_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_427_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_426_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_425_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_424_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_423_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_422_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_421_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_420_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_419_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_418_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_417_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_416_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_415_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_414_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_413_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_412_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_411_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_410_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_409_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_408_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_407_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_406_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_405_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_404_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_403_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_402_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_401_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_400_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_399_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_398_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_397_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_396_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_395_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_394_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_393_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_392_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_391_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_390_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_389_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_388_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_387_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_386_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_385_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_384_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_383_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_382_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_381_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_380_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_379_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_378_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_377_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_376_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_375_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_374_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_373_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_372_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_371_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_370_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_369_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_368_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_367_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_366_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_365_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_364_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_363_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_362_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_361_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_360_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_359_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_358_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_357_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_356_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_355_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_354_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_353_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_352_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_351_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_350_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_349_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_348_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_347_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_346_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_345_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_344_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_343_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_342_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_341_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_340_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_339_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_338_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_337_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_336_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_335_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_334_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_333_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_332_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_331_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_330_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_329_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_328_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_327_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_326_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_325_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_324_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_323_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_322_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_321_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_320_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_319_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_318_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_317_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_316_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_315_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_314_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_313_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_312_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_311_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_310_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_309_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_308_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_307_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_306_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_305_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_304_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_303_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_302_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_301_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_300_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_299_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_298_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_297_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_296_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_295_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_294_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_293_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_292_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_291_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_290_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_289_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_288_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_287_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_286_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_285_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_284_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_283_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_282_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_281_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_280_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_279_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_278_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_277_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_276_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_275_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_274_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_273_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_272_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_271_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_270_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_269_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_268_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_267_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_266_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_265_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_264_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_263_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_262_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_261_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_260_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_259_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_258_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_257_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_256_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_255_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_254_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_253_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_252_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_251_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_250_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_249_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_248_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_247_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_246_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_245_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_244_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_243_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_242_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_241_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_240_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_239_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_238_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_237_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_236_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_235_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_234_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_233_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_232_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_231_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_230_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_229_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_228_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_227_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_226_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_225_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_224_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_223_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_222_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_221_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_220_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_219_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_218_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_217_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_216_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_215_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_214_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_213_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_212_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_211_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_210_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_209_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_208_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_207_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_206_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_205_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_204_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_203_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_202_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_201_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_200_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_199_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_198_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_197_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_196_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_195_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_194_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_193_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_192_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_191_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_190_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_189_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_188_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_187_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_186_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_185_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_184_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_183_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_182_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_181_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_180_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_179_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_178_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_177_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_176_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_175_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_174_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_173_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_172_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_171_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_170_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_169_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_168_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_167_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_166_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_165_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_164_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_163_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_162_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_161_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_160_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_159_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_158_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_157_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_156_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_155_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_154_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_153_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_152_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_151_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_150_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_149_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_148_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_147_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_146_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_145_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_144_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_143_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_142_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_141_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_140_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_139_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_138_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_137_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_136_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_135_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_134_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_133_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_132_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_131_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_130_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_129_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_128_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_127_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_126_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_125_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_124_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_123_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_122_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_121_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_120_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_119_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_118_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_117_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_116_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_115_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_114_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_113_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_112_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_111_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_110_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_109_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_108_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_107_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_106_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_105_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_104_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_103_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_102_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_101_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_100_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_99_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_98_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_97_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_96_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_95_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_94_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_93_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_92_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_91_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_90_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_89_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_88_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_87_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_86_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_85_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_84_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_83_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_82_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_81_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_80_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_79_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_78_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_77_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_76_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_75_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_74_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_73_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_72_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_71_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_70_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_69_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_68_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_67_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_66_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_65_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_64_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_63_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_62_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_61_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_60_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_59_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_58_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_57_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_56_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_55_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_54_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_53_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_52_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_51_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_50_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -if((retVal = function_namespace0_generated_49_finish(server, ns)) != UA_STATUSCODE_GOOD) return retVal; -return retVal; -} - -/**** amalgamated original file "/src/ua_types_lex.c" ****/ - -/* Generated by re2c 3.1 */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * - */ - - -/* Lexing and parsing of builtin data types. These are helper functions that not - * required by the SDK internally. But they are useful for users who want to use - * standard-specified humand readable encodings for NodeIds, etc. - * - * This compilation unit uses the re2c lexer generator. The final C source is - * generated with the following script: - * - * re2c -i --no-generation-date ua_types_lex.re > ua_types_lex.c - * - * In order that users of the SDK don't need to install re2c, always commit a - * recent ua_types_lex.c if changes are made to the lexer. */ - -#define YYCURSOR pos -#define YYMARKER context.marker -#define YYPEEK() (YYCURSOR < end) ? *YYCURSOR : 0 /* The lexer sees a stream of - * \0 when the input ends*/ -#define YYSKIP() ++YYCURSOR; -#define YYBACKUP() YYMARKER = YYCURSOR -#define YYRESTORE() YYCURSOR = YYMARKER -#define YYSTAGP(t) t = YYCURSOR -#define YYSTAGN(t) t = NULL -#define YYSHIFTSTAG(t, shift) t += shift - -typedef struct { - const char *marker; - const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4; -} LexContext; - - - -static UA_StatusCode -parse_guid(UA_Guid *guid, const UA_Byte *s, const UA_Byte *e) { - size_t len = (size_t)(e - s); - if(len != 36 || s[8] != '-' || s[13] != '-' || s[23] != '-') - return UA_STATUSCODE_BADDECODINGERROR; - - UA_UInt32 tmp; - if(UA_readNumberWithBase(s, 8, &tmp, 16) != 8) - return UA_STATUSCODE_BADDECODINGERROR; - guid->data1 = tmp; - - if(UA_readNumberWithBase(&s[9], 4, &tmp, 16) != 4) - return UA_STATUSCODE_BADDECODINGERROR; - guid->data2 = (UA_UInt16)tmp; - - if(UA_readNumberWithBase(&s[14], 4, &tmp, 16) != 4) - return UA_STATUSCODE_BADDECODINGERROR; - guid->data3 = (UA_UInt16)tmp; - - if(UA_readNumberWithBase(&s[19], 2, &tmp, 16) != 2) - return UA_STATUSCODE_BADDECODINGERROR; - guid->data4[0] = (UA_Byte)tmp; - - if(UA_readNumberWithBase(&s[21], 2, &tmp, 16) != 2) - return UA_STATUSCODE_BADDECODINGERROR; - guid->data4[1] = (UA_Byte)tmp; - - for(size_t pos = 2, spos = 24; pos < 8; pos++, spos += 2) { - if(UA_readNumberWithBase(&s[spos], 2, &tmp, 16) != 2) - return UA_STATUSCODE_BADDECODINGERROR; - guid->data4[pos] = (UA_Byte)tmp; - } - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Guid_parse(UA_Guid *guid, const UA_String str) { - UA_StatusCode res = parse_guid(guid, str.data, str.data + str.length); - if(res != UA_STATUSCODE_GOOD) - *guid = UA_GUID_NULL; - return res; -} - -static UA_StatusCode -parse_nodeid_body(UA_NodeId *id, const char *body, const char *end) { - size_t len = (size_t)(end - (body+2)); - UA_StatusCode res = UA_STATUSCODE_GOOD; - switch(*body) { - case 'i': { - if(UA_readNumber((const UA_Byte*)body+2, len, &id->identifier.numeric) != len) - return UA_STATUSCODE_BADDECODINGERROR; - id->identifierType = UA_NODEIDTYPE_NUMERIC; - break; - } - case 's': { - UA_String tmpstr; - tmpstr.data = (UA_Byte*)(uintptr_t)body+2; - tmpstr.length = len; - res = UA_String_copy(&tmpstr, &id->identifier.string); - if(res != UA_STATUSCODE_GOOD) - break; - id->identifierType = UA_NODEIDTYPE_STRING; - break; - } - case 'g': - res = parse_guid(&id->identifier.guid, (const UA_Byte*)body+2, (const UA_Byte*)end); - if(res == UA_STATUSCODE_GOOD) - id->identifierType = UA_NODEIDTYPE_GUID; - break; - case 'b': - id->identifier.byteString.data = - UA_unbase64((const unsigned char*)body+2, len, - &id->identifier.byteString.length); - if(!id->identifier.byteString.data && len > 0) - return UA_STATUSCODE_BADDECODINGERROR; - id->identifierType = UA_NODEIDTYPE_BYTESTRING; - break; - default: - return UA_STATUSCODE_BADDECODINGERROR; - } - return res; -} - -static UA_StatusCode -parse_nodeid(UA_NodeId *id, const char *pos, const char *end) { - *id = UA_NODEID_NULL; /* Reset the NodeId */ - LexContext context; - memset(&context, 0, sizeof(LexContext)); - const char *ns = NULL, *nse= NULL; - - -{ - char yych; - yych = YYPEEK(); - switch (yych) { - case 'b': - case 'g': - case 'i': - case 's': - YYSTAGN(context.yyt1); - YYSTAGN(context.yyt2); - goto yy3; - case 'n': goto yy4; - default: goto yy1; - } -yy1: - YYSKIP(); -yy2: - { (void)pos; return UA_STATUSCODE_BADDECODINGERROR; } -yy3: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy5; - default: goto yy2; - } -yy4: - YYSKIP(); - YYBACKUP(); - yych = YYPEEK(); - switch (yych) { - case 's': goto yy6; - default: goto yy2; - } -yy5: - YYSKIP(); - ns = context.yyt1; - nse = context.yyt2; - { - (void)pos; // Get rid of a dead store clang-analyzer warning - if(ns) { - UA_UInt32 tmp; - size_t len = (size_t)(nse - ns); - if(UA_readNumber((const UA_Byte*)ns, len, &tmp) != len) - return UA_STATUSCODE_BADDECODINGERROR; - id->namespaceIndex = (UA_UInt16)tmp; - } - - // From the current position until the end - return parse_nodeid_body(id, &pos[-2], end); - } -yy6: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy8; - default: goto yy7; - } -yy7: - YYRESTORE(); - goto yy2; -yy8: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - YYSTAGP(context.yyt1); - goto yy9; - default: goto yy7; - } -yy9: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy9; - case ';': - YYSTAGP(context.yyt2); - goto yy10; - default: goto yy7; - } -yy10: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 'b': - case 'g': - case 'i': - case 's': goto yy11; - default: goto yy7; - } -yy11: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy5; - default: goto yy7; - } -} - -} - -UA_StatusCode -UA_NodeId_parse(UA_NodeId *id, const UA_String str) { - UA_StatusCode res = - parse_nodeid(id, (const char*)str.data, (const char*)str.data+str.length); - if(res != UA_STATUSCODE_GOOD) - UA_NodeId_clear(id); - return res; -} - -static UA_StatusCode -parse_expandednodeid(UA_ExpandedNodeId *id, const char *pos, const char *end) { - *id = UA_EXPANDEDNODEID_NULL; /* Reset the NodeId */ - LexContext context; - memset(&context, 0, sizeof(LexContext)); - const char *svr = NULL, *svre = NULL, *nsu = NULL, *ns = NULL, *body = NULL; - - -{ - char yych; - yych = YYPEEK(); - switch (yych) { - case 'b': - case 'g': - case 'i': - YYSTAGN(context.yyt1); - YYSTAGN(context.yyt2); - YYSTAGN(context.yyt3); - YYSTAGN(context.yyt4); - goto yy15; - case 'n': - YYSTAGN(context.yyt1); - YYSTAGN(context.yyt2); - goto yy16; - case 's': - YYSTAGN(context.yyt1); - YYSTAGN(context.yyt2); - YYSTAGN(context.yyt3); - YYSTAGN(context.yyt4); - goto yy17; - default: goto yy13; - } -yy13: - YYSKIP(); -yy14: - { (void)pos; return UA_STATUSCODE_BADDECODINGERROR; } -yy15: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy18; - default: goto yy14; - } -yy16: - YYSKIP(); - YYBACKUP(); - yych = YYPEEK(); - switch (yych) { - case 's': goto yy19; - default: goto yy14; - } -yy17: - YYSKIP(); - YYBACKUP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy18; - case 'v': goto yy21; - default: goto yy14; - } -yy18: - YYSKIP(); - svr = context.yyt1; - svre = context.yyt2; - ns = context.yyt3; - nsu = context.yyt4; - YYSTAGP(body); - YYSHIFTSTAG(body, -2); - { - (void)pos; // Get rid of a dead store clang-analyzer warning - if(svr) { - size_t len = (size_t)((svre) - svr); - if(UA_readNumber((const UA_Byte*)svr, len, &id->serverIndex) != len) - return UA_STATUSCODE_BADDECODINGERROR; - } - - if(nsu) { - size_t len = (size_t)((body-1) - nsu); - UA_String nsuri; - nsuri.data = (UA_Byte*)(uintptr_t)nsu; - nsuri.length = len; - UA_StatusCode res = UA_String_copy(&nsuri, &id->namespaceUri); - if(res != UA_STATUSCODE_GOOD) - return res; - } else if(ns) { - UA_UInt32 tmp; - size_t len = (size_t)((body-1) - ns); - if(UA_readNumber((const UA_Byte*)ns, len, &tmp) != len) - return UA_STATUSCODE_BADDECODINGERROR; - id->nodeId.namespaceIndex = (UA_UInt16)tmp; - } - - // From the current position until the end - return parse_nodeid_body(&id->nodeId, &pos[-2], end); - } -yy19: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy22; - case 'u': goto yy23; - default: goto yy20; - } -yy20: - YYRESTORE(); - goto yy14; -yy21: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 'r': goto yy24; - default: goto yy20; - } -yy22: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - YYSTAGP(context.yyt3); - goto yy25; - default: goto yy20; - } -yy23: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy26; - default: goto yy20; - } -yy24: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy27; - default: goto yy20; - } -yy25: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy25; - case ';': goto yy28; - default: goto yy20; - } -yy26: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: - case '\n': goto yy20; - case ';': - YYSTAGP(context.yyt4); - goto yy30; - default: - YYSTAGP(context.yyt4); - goto yy29; - } -yy27: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - YYSTAGP(context.yyt1); - goto yy31; - default: goto yy20; - } -yy28: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 'b': - case 'g': - case 'i': - case 's': - YYSTAGN(context.yyt4); - goto yy32; - default: goto yy20; - } -yy29: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: - case '\n': goto yy20; - case ';': goto yy30; - default: goto yy29; - } -yy30: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 'b': - case 'g': - case 'i': - case 's': - YYSTAGN(context.yyt3); - goto yy32; - default: goto yy20; - } -yy31: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy31; - case ';': - YYSTAGP(context.yyt2); - goto yy33; - default: goto yy20; - } -yy32: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case '=': goto yy18; - default: goto yy20; - } -yy33: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 'b': - case 'g': - case 'i': - case 's': - YYSTAGN(context.yyt3); - YYSTAGN(context.yyt4); - goto yy32; - case 'n': goto yy34; - default: goto yy20; - } -yy34: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 's': goto yy19; - default: goto yy20; - } -} - -} - -UA_StatusCode -UA_ExpandedNodeId_parse(UA_ExpandedNodeId *id, const UA_String str) { - UA_StatusCode res = - parse_expandednodeid(id, (const char*)str.data, (const char*)str.data+str.length); - if(res != UA_STATUSCODE_GOOD) - UA_ExpandedNodeId_clear(id); - return res; -} - -static UA_StatusCode -relativepath_addelem(UA_RelativePath *rp, UA_RelativePathElement *el) { - /* Allocate memory */ - UA_RelativePathElement *newArray = (UA_RelativePathElement*) - UA_realloc(rp->elements, sizeof(UA_RelativePathElement) * (rp->elementsSize + 1)); - if(!newArray) - return UA_STATUSCODE_BADOUTOFMEMORY; - rp->elements = newArray; - - /* Move to the target */ - rp->elements[rp->elementsSize] = *el; - rp->elementsSize++; - return UA_STATUSCODE_GOOD; -} - -/* Parse name string with '&' as the escape character */ -static UA_StatusCode -parse_refpath_qn_name(UA_QualifiedName *qn, const char **pos, const char *end) { - /* Allocate the max length the name can have */ - size_t maxlen = (size_t)(end - *pos); - if(maxlen == 0) { - qn->name.data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; - return UA_STATUSCODE_GOOD; - } - char *name = (char*)UA_malloc(maxlen); - if(!name) - return UA_STATUSCODE_BADOUTOFMEMORY; - - size_t index = 0; - for(; *pos < end; (*pos)++) { - char c = **pos; - /* Unescaped special characer: The end of the QualifiedName */ - if(c == '/' || c == '.' || c == '<' || c == '>' || - c == ':' || c == '#' || c == '!') - break; - - /* Escaped character */ - if(c == '&') { - (*pos)++; - if(*pos >= end || - (**pos != '/' && **pos != '.' && **pos != '<' && **pos != '>' && - **pos != ':' && **pos != '#' && **pos != '!' && **pos != '&')) { - UA_free(name); - return UA_STATUSCODE_BADDECODINGERROR; - } - c = **pos; - } - - /* Unescaped normal character */ - name[index] = c; - index++; - } - - if(index > 0) { - qn->name.data = (UA_Byte*)name; - qn->name.length = index; - } else { - qn->name.data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; - UA_free(name); - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -parse_refpath_qn(UA_QualifiedName *qn, const char *pos, const char *end) { - LexContext context; - memset(&context, 0, sizeof(LexContext)); - const char *ns = NULL, *nse = NULL; - UA_QualifiedName_init(qn); - - -{ - char yych; - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - YYSTAGP(context.yyt1); - goto yy38; - default: goto yy36; - } -yy36: - YYSKIP(); -yy37: - { pos--; goto parse_qn_name; } -yy38: - YYSKIP(); - YYBACKUP(); - yych = YYPEEK(); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': goto yy40; - default: goto yy37; - } -yy39: - YYSKIP(); - yych = YYPEEK(); -yy40: - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy39; - case ':': goto yy42; - default: goto yy41; - } -yy41: - YYRESTORE(); - goto yy37; -yy42: - YYSKIP(); - ns = context.yyt1; - YYSTAGP(nse); - YYSHIFTSTAG(nse, -1); - { - UA_UInt32 tmp; - size_t len = (size_t)(nse - ns); - if(UA_readNumber((const UA_Byte*)ns, len, &tmp) != len) - return UA_STATUSCODE_BADDECODINGERROR; - qn->namespaceIndex = (UA_UInt16)tmp; - goto parse_qn_name; - } -} - - - parse_qn_name: - return parse_refpath_qn_name(qn, &pos, end); -} - -/* List of well-known ReferenceTypes that don't require lookup in the server */ - -typedef struct { - char *browseName; - UA_UInt32 identifier; -} RefTypeNames; - -#define KNOWNREFTYPES 17 -static const RefTypeNames knownRefTypes[KNOWNREFTYPES] = { - {"References", UA_NS0ID_REFERENCES}, - {"HierachicalReferences", UA_NS0ID_HIERARCHICALREFERENCES}, - {"NonHierachicalReferences", UA_NS0ID_NONHIERARCHICALREFERENCES}, - {"HasChild", UA_NS0ID_HASCHILD}, - {"Aggregates", UA_NS0ID_AGGREGATES}, - {"HasComponent", UA_NS0ID_HASCOMPONENT}, - {"HasProperty", UA_NS0ID_HASPROPERTY}, - {"HasOrderedComponent", UA_NS0ID_HASORDEREDCOMPONENT}, - {"HasSubtype", UA_NS0ID_HASSUBTYPE}, - {"Organizes", UA_NS0ID_ORGANIZES}, - {"HasModellingRule", UA_NS0ID_HASMODELLINGRULE}, - {"HasTypeDefinition", UA_NS0ID_HASTYPEDEFINITION}, - {"HasEncoding", UA_NS0ID_HASENCODING}, - {"GeneratesEvent", UA_NS0ID_GENERATESEVENT}, - {"AlwaysGeneratesEvent", UA_NS0ID_ALWAYSGENERATESEVENT}, - {"HasEventSource", UA_NS0ID_HASEVENTSOURCE}, - {"HasNotifier", UA_NS0ID_HASNOTIFIER} -}; - -static UA_StatusCode -lookup_reftype(UA_NodeId *refTypeId, UA_QualifiedName *qn) { - if(qn->namespaceIndex != 0) - return UA_STATUSCODE_BADNOTFOUND; - - for(size_t i = 0; i < KNOWNREFTYPES; i++) { - UA_String tmp = UA_STRING(knownRefTypes[i].browseName); - if(UA_String_equal(&qn->name, &tmp)) { - *refTypeId = UA_NODEID_NUMERIC(0, knownRefTypes[i].identifier); - return UA_STATUSCODE_GOOD; - } - } - - return UA_STATUSCODE_BADNOTFOUND; -} - -static UA_StatusCode -parse_relativepath(UA_RelativePath *rp, const char *pos, const char *end) { - LexContext context; - memset(&context, 0, sizeof(LexContext)); - const char *begin = NULL, *finish = NULL; - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_RelativePath_init(rp); /* Reset the BrowsePath */ - - /* Add one element to the path in every iteration */ - UA_RelativePathElement current; - loop: - UA_RelativePathElement_init(¤t); - current.includeSubtypes = true; /* Follow subtypes by default */ - - /* Get the ReferenceType and its modifiers */ - -{ - char yych; - unsigned int yyaccept = 0; - yych = YYPEEK(); - switch (yych) { - case 0x00: goto yy44; - case '.': goto yy47; - case '/': goto yy48; - case '<': goto yy49; - default: goto yy45; - } -yy44: - YYSKIP(); - { (void)pos; return UA_STATUSCODE_GOOD; } -yy45: - YYSKIP(); -yy46: - { (void)pos; return UA_STATUSCODE_BADDECODINGERROR; } -yy47: - YYSKIP(); - { - current.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_AGGREGATES); - goto reftype_target; - } -yy48: - YYSKIP(); - { - current.referenceTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_HIERARCHICALREFERENCES); - goto reftype_target; - } -yy49: - yyaccept = 0; - YYSKIP(); - YYBACKUP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: - case '>': goto yy46; - case '&': - YYSTAGP(context.yyt1); - goto yy52; - default: - YYSTAGP(context.yyt1); - goto yy50; - } -yy50: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: goto yy51; - case '&': goto yy52; - case '>': goto yy53; - default: goto yy50; - } -yy51: - YYRESTORE(); - if (yyaccept == 0) { - goto yy46; - } else { - goto yy54; - } -yy52: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: goto yy51; - case '&': goto yy52; - case '>': goto yy55; - default: goto yy50; - } -yy53: - YYSKIP(); -yy54: - begin = context.yyt1; - YYSTAGP(finish); - YYSHIFTSTAG(finish, -1); - { - for(; begin < finish; begin++) { - if(*begin== '#') - current.includeSubtypes = false; - else if(*begin == '!') - current.isInverse = true; - else - break; - } - UA_QualifiedName refqn; - res |= parse_refpath_qn(&refqn, begin, finish); - res |= lookup_reftype(¤t.referenceTypeId, &refqn); - UA_QualifiedName_clear(&refqn); - goto reftype_target; - } -yy55: - yyaccept = 1; - YYSKIP(); - YYBACKUP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: goto yy54; - case '&': goto yy52; - case '>': goto yy53; - default: goto yy50; - } -} - - - /* Get the TargetName component */ - reftype_target: - if(res != UA_STATUSCODE_GOOD) - return res; - - -{ - char yych; - yych = YYPEEK(); - switch (yych) { - case 0x00: - case '.': - case '/': - case '<': goto yy57; - case '&': - YYSTAGP(context.yyt1); - goto yy60; - default: - YYSTAGP(context.yyt1); - goto yy58; - } -yy57: - YYSKIP(); - { pos--; goto add_element; } -yy58: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: - case '.': - case '/': - case '<': goto yy59; - case '&': goto yy60; - default: goto yy58; - } -yy59: - begin = context.yyt1; - { - res = parse_refpath_qn(¤t.targetName, begin, pos); - goto add_element; - } -yy60: - YYSKIP(); - yych = YYPEEK(); - switch (yych) { - case 0x00: goto yy59; - case '&': goto yy60; - default: goto yy58; - } -} - - - /* Add the current element to the path and continue to the next element */ - add_element: - res |= relativepath_addelem(rp, ¤t); - if(res != UA_STATUSCODE_GOOD) { - UA_RelativePathElement_clear(¤t); - return res; - } - goto loop; -} - -UA_StatusCode -UA_RelativePath_parse(UA_RelativePath *rp, const UA_String str) { - UA_StatusCode res = - parse_relativepath(rp, (const char*)str.data, (const char*)str.data+str.length); - if(res != UA_STATUSCODE_GOOD) - UA_RelativePath_clear(rp); - return res; -} - -/**** amalgamated original file "/src/pubsub/ua_pubsub_security.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2021 Fraunhofer IOSB (Author: Jan Hermes) - */ - - -static -UA_StatusCode -needsDecryption(const UA_Logger *logger, - const UA_NetworkMessage *networkMessage, - const UA_MessageSecurityMode securityMode, - UA_Boolean *doDecrypt) { - - UA_Boolean isEncrypted = networkMessage->securityHeader.networkMessageEncrypted; - UA_Boolean requiresEncryption = securityMode > UA_MESSAGESECURITYMODE_SIGN; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - if(isEncrypted && requiresEncryption) { - *doDecrypt = true; - } else if(!isEncrypted && !requiresEncryption) { - *doDecrypt = false; - } else { - if(isEncrypted) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. " - "Message is encrypted but ReaderGroup does not expect encryption"); - retval = UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; - } else { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. " - "Message is not encrypted but ReaderGroup requires encryption"); - retval = UA_STATUSCODE_BADSECURITYMODEREJECTED; - } - } - return retval; -} - -static UA_StatusCode -needsValidation(const UA_Logger *logger, - const UA_NetworkMessage *networkMessage, - const UA_MessageSecurityMode securityMode, - UA_Boolean *doValidate) { - UA_Boolean isSigned = networkMessage->securityHeader.networkMessageSigned; - UA_Boolean requiresSignature = securityMode > UA_MESSAGESECURITYMODE_NONE; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - - if(isSigned && - requiresSignature) { - *doValidate = true; - } else if(!isSigned && !requiresSignature) { - *doValidate = false; - } else { - - if(isSigned) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. " - "Message is signed but ReaderGroup does not expect signatures"); - retval = UA_STATUSCODE_BADSECURITYMODEINSUFFICIENT; - } else { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. " - "Message is not signed but ReaderGroup requires signature"); - retval = UA_STATUSCODE_BADSECURITYMODEREJECTED; - } - } - return retval; -} - -UA_StatusCode -verifyAndDecrypt(const UA_Logger *logger, UA_ByteString *buffer, - const size_t *currentPosition, const UA_NetworkMessage *nm, - UA_Boolean doValidate, UA_Boolean doDecrypt, void *channelContext, - UA_PubSubSecurityPolicy *securityPolicy) { - UA_StatusCode rv = UA_STATUSCODE_GOOD; - - if(doValidate) { - size_t sigSize = securityPolicy->symmetricModule.cryptoModule. - signatureAlgorithm.getLocalSignatureSize(channelContext); - UA_ByteString toBeVerified = {buffer->length - sigSize, buffer->data}; - UA_ByteString signature = {sigSize, buffer->data + buffer->length - sigSize}; - - rv = securityPolicy->symmetricModule.cryptoModule.signatureAlgorithm. - verify(channelContext, &toBeVerified, &signature); - UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. Signature invalid"); - - UA_LOG_DEBUG(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. Signature valid"); - buffer->length -= sigSize; - } - - if(doDecrypt) { - const UA_ByteString nonce = { - (size_t)nm->securityHeader.messageNonceSize, - (UA_Byte*)(uintptr_t)nm->securityHeader.messageNonce - }; - rv = securityPolicy->setMessageNonce(channelContext, &nonce); - UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. Faulty Nonce set"); - - UA_ByteString toBeDecrypted = {buffer->length - *currentPosition, - buffer->data + *currentPosition}; - rv = securityPolicy->symmetricModule.cryptoModule - .encryptionAlgorithm.decrypt(channelContext, &toBeDecrypted); - UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. Faulty Decryption"); - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -verifyAndDecryptNetworkMessage(const UA_Logger *logger, UA_ByteString *buffer, - size_t *currentPosition, UA_NetworkMessage *nm, - UA_ReaderGroup *readerGroup) { - UA_MessageSecurityMode securityMode = readerGroup->config.securityMode; - UA_Boolean doValidate = false; - UA_Boolean doDecrypt = false; - - UA_StatusCode rv = UA_STATUSCODE_GOOD; - rv = needsValidation(logger, nm, securityMode, &doValidate); - UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. Validation security mode error"); - - rv = needsDecryption(logger, nm, securityMode, &doDecrypt); - UA_CHECK_STATUS_WARN(rv, return rv, logger, UA_LOGCATEGORY_SECURITYPOLICY, - "PubSub receive. Decryption security mode error"); - - if(doValidate || doDecrypt) { - void *channelContext = readerGroup->securityPolicyContext; - UA_PubSubSecurityPolicy *securityPolicy = readerGroup->config.securityPolicy; - UA_CHECK_MEM_ERROR(channelContext, return UA_STATUSCODE_BADINVALIDARGUMENT, - logger, UA_LOGCATEGORY_SERVER, - "PubSub receive. securityPolicyContext must be initialized " - "when security mode is enabled to sign and/or encrypt"); - UA_CHECK_MEM_ERROR(securityPolicy, return UA_STATUSCODE_BADINVALIDARGUMENT, - logger, UA_LOGCATEGORY_SERVER, - "PubSub receive. securityPolicy must be set when security mode" - "is enabled to sign and/or encrypt"); - - rv = verifyAndDecrypt(logger, buffer, currentPosition, nm, - doValidate, doDecrypt, channelContext, securityPolicy); - - UA_CHECK_STATUS_ERROR(rv, return rv, logger, UA_LOGCATEGORY_SERVER, - "PubSub receive. verify and decrypt failed"); - } - - return rv; -} - -/**** amalgamated original file "/src/pubsub/ua_pubsub_networkmessage_json.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2019 Fraunhofer IOSB (Author: Lukas Meling) - */ - - - -/* Json keys for dsm */ -const char * UA_DECODEKEY_MESSAGES = "Messages"; -const char * UA_DECODEKEY_MESSAGETYPE = "MessageType"; -const char * UA_DECODEKEY_MESSAGEID = "MessageId"; -const char * UA_DECODEKEY_PUBLISHERID = "PublisherId"; -const char * UA_DECODEKEY_DATASETCLASSID = "DataSetClassId"; - -/* Json keys for dsm */ -const char * UA_DECODEKEY_DATASETWRITERID = "DataSetWriterId"; -const char * UA_DECODEKEY_SEQUENCENUMBER = "SequenceNumber"; -const char * UA_DECODEKEY_METADATAVERSION = "MetaDataVersion"; -const char * UA_DECODEKEY_TIMESTAMP = "Timestamp"; -const char * UA_DECODEKEY_DSM_STATUS = "Status"; -const char * UA_DECODEKEY_PAYLOAD = "Payload"; -const char * UA_DECODEKEY_DS_TYPE = "Type"; - -/* -- json encoding/decoding -- */ -static UA_StatusCode writeJsonKey_UA_String(CtxJson *ctx, UA_String *in) { - UA_STACKARRAY(char, out, in->length + 1); - memcpy(out, in->data, in->length); - out[in->length] = 0; - return writeJsonKey(ctx, out); -} - -static UA_StatusCode -UA_DataSetMessage_encodeJson_internal(const UA_DataSetMessage* src, - UA_UInt16 dataSetWriterId, - CtxJson *ctx) { - status rv = writeJsonObjStart(ctx); - - /* DataSetWriterId */ - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_DATASETWRITERID, - &dataSetWriterId, &UA_TYPES[UA_TYPES_UINT16]); - if(rv != UA_STATUSCODE_GOOD) - return rv; - - /* DataSetMessageSequenceNr */ - if(src->header.dataSetMessageSequenceNrEnabled) { - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_SEQUENCENUMBER, - &src->header.dataSetMessageSequenceNr, - &UA_TYPES[UA_TYPES_UINT16]); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - - /* MetaDataVersion */ - if(src->header.configVersionMajorVersionEnabled || - src->header.configVersionMinorVersionEnabled) { - UA_ConfigurationVersionDataType cvd; - cvd.majorVersion = src->header.configVersionMajorVersion; - cvd.minorVersion = src->header.configVersionMinorVersion; - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_METADATAVERSION, &cvd, - &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - - /* Timestamp */ - if(src->header.timestampEnabled) { - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_TIMESTAMP, &src->header.timestamp, - &UA_TYPES[UA_TYPES_DATETIME]); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - - /* Status */ - if(src->header.statusEnabled) { - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_DSM_STATUS, - &src->header.status, &UA_TYPES[UA_TYPES_UINT16]); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - - rv |= writeJsonKey(ctx, UA_DECODEKEY_PAYLOAD); - rv |= writeJsonObjStart(ctx); - - /* TODO: currently no difference between delta and key frames. Own - * dataSetMessageType for json?. If the field names are not defined, write - * out empty field names. */ - if(src->header.dataSetMessageType != UA_DATASETMESSAGE_DATAKEYFRAME) - return UA_STATUSCODE_BADNOTSUPPORTED; /* Delta frames not supported */ - - if(src->header.fieldEncoding == UA_FIELDENCODING_VARIANT) { - /* KEYFRAME VARIANT */ - for(UA_UInt16 i = 0; i < src->data.keyFrameData.fieldCount; i++) { - if(src->data.keyFrameData.fieldNames) - rv |= writeJsonKey_UA_String(ctx, &src->data.keyFrameData.fieldNames[i]); - else - rv |= writeJsonKey(ctx, ""); - rv |= encodeJsonJumpTable[UA_DATATYPEKIND_VARIANT] - (ctx, &src->data.keyFrameData.dataSetFields[i].value, NULL); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - } else if(src->header.fieldEncoding == UA_FIELDENCODING_DATAVALUE) { - /* KEYFRAME DATAVALUE */ - for(UA_UInt16 i = 0; i < src->data.keyFrameData.fieldCount; i++) { - if(src->data.keyFrameData.fieldNames) - rv |= writeJsonKey_UA_String(ctx, &src->data.keyFrameData.fieldNames[i]); - else - rv |= writeJsonKey(ctx, ""); - rv |= encodeJsonJumpTable[UA_DATATYPEKIND_DATAVALUE] - (ctx, &src->data.keyFrameData.dataSetFields[i], NULL); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - } else { - /* RawData */ - return UA_STATUSCODE_BADNOTIMPLEMENTED; - } - rv |= writeJsonObjEnd(ctx); /* Payload */ - rv |= writeJsonObjEnd(ctx); /* DataSetMessage */ - return rv; -} - -static UA_StatusCode -UA_NetworkMessage_encodeJson_internal(const UA_NetworkMessage* src, CtxJson *ctx) { - status rv = UA_STATUSCODE_GOOD; - const UA_DataType *publisherIdType; - /* currently only ua-data is supported, no discovery message implemented */ - if(src->networkMessageType != UA_NETWORKMESSAGE_DATASET) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - writeJsonObjStart(ctx); - - /* Table 91 – JSON NetworkMessage Definition - * MessageId | String | A globally unique identifier for the message. - * This value is mandatory. But we don't check uniqueness in the - * encoding layer. */ - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_MESSAGEID, - &src->messageId, &UA_TYPES[UA_TYPES_STRING]); - - /* MessageType */ - UA_String s = UA_STRING("ua-data"); - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_MESSAGETYPE, - &s, &UA_TYPES[UA_TYPES_STRING]); - - /* PublisherId */ - if(src->publisherIdEnabled) { - rv = writeJsonKey(ctx, UA_DECODEKEY_PUBLISHERID); - switch (src->publisherIdType) { - case UA_PUBLISHERIDTYPE_BYTE: - publisherIdType = &UA_TYPES[UA_TYPES_BYTE]; - break; - case UA_PUBLISHERIDTYPE_UINT16: - publisherIdType = &UA_TYPES[UA_TYPES_UINT16]; - break; - case UA_PUBLISHERIDTYPE_UINT32: - publisherIdType = &UA_TYPES[UA_TYPES_UINT32]; - break; - case UA_PUBLISHERIDTYPE_UINT64: - publisherIdType = &UA_TYPES[UA_TYPES_UINT64]; - break; - case UA_PUBLISHERIDTYPE_STRING: - publisherIdType = &UA_TYPES[UA_TYPES_STRING]; - break; - } - rv |= encodeJsonJumpTable[publisherIdType->typeKind] - (ctx, &src->publisherId, publisherIdType); - } - if(rv != UA_STATUSCODE_GOOD) - return rv; - - /* DataSetClassId */ - if(src->dataSetClassIdEnabled) { - rv |= writeJsonObjElm(ctx, UA_DECODEKEY_DATASETCLASSID, - &src->dataSetClassId, &UA_TYPES[UA_TYPES_GUID]); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - - /* Payload: DataSetMessages */ - UA_Byte count = src->payloadHeader.dataSetPayloadHeader.count; - if(count > 0) { - UA_UInt16 *dataSetWriterIds = - src->payloadHeader.dataSetPayloadHeader.dataSetWriterIds; - if(!dataSetWriterIds) - return UA_STATUSCODE_BADENCODINGERROR; - - rv |= writeJsonKey(ctx, UA_DECODEKEY_MESSAGES); - rv |= writeJsonArrStart(ctx); /* start array */ - - const UA_DataSetMessage *dataSetMessages = - src->payload.dataSetPayload.dataSetMessages; - for(UA_UInt16 i = 0; i < count; i++) { - rv |= writeJsonBeforeElement(ctx, true); - rv |= UA_DataSetMessage_encodeJson_internal(&dataSetMessages[i], - dataSetWriterIds[i], ctx); - if(rv != UA_STATUSCODE_GOOD) - return rv; - /* comma is needed if more dsm are present */ - ctx->commaNeeded[ctx->depth] = true; - } - rv |= writeJsonArrEnd(ctx); /* end array */ - } - - rv |= writeJsonObjEnd(ctx); - return rv; -} - -UA_StatusCode -UA_NetworkMessage_encodeJson(const UA_NetworkMessage *src, - UA_Byte **bufPos, const UA_Byte **bufEnd, - UA_String *namespaces, size_t namespaceSize, - UA_String *serverUris, size_t serverUriSize, - UA_Boolean useReversible) { - /* Set up the context */ - CtxJson ctx; - memset(&ctx, 0, sizeof(ctx)); - ctx.pos = *bufPos; - ctx.end = *bufEnd; - ctx.depth = 0; - ctx.namespaces = namespaces; - ctx.namespacesSize = namespaceSize; - ctx.serverUris = serverUris; - ctx.serverUrisSize = serverUriSize; - ctx.useReversible = useReversible; - ctx.calcOnly = false; - - status ret = UA_NetworkMessage_encodeJson_internal(src, &ctx); - - *bufPos = ctx.pos; - *bufEnd = ctx.end; - return ret; -} - -size_t -UA_NetworkMessage_calcSizeJson(const UA_NetworkMessage *src, - UA_String *namespaces, size_t namespaceSize, - UA_String *serverUris, size_t serverUriSize, - UA_Boolean useReversible){ - /* Set up the context */ - CtxJson ctx; - memset(&ctx, 0, sizeof(ctx)); - ctx.pos = 0; - ctx.end = (const UA_Byte*)(uintptr_t)SIZE_MAX; - ctx.depth = 0; - ctx.namespaces = namespaces; - ctx.namespacesSize = namespaceSize; - ctx.serverUris = serverUris; - ctx.serverUrisSize = serverUriSize; - ctx.useReversible = useReversible; - ctx.calcOnly = true; - - status ret = UA_NetworkMessage_encodeJson_internal(src, &ctx); - if(ret != UA_STATUSCODE_GOOD) - return 0; - return (size_t)ctx.pos; -} - -/* decode json */ -static status -MetaDataVersion_decodeJsonInternal(ParseCtx *ctx, void* cvd, const UA_DataType *type) { - return decodeJsonJumpTable[UA_DATATYPEKIND_STRUCTURE] - (ctx, cvd, &UA_TYPES[UA_TYPES_CONFIGURATIONVERSIONDATATYPE]); -} - -static status -DataSetPayload_decodeJsonInternal(ParseCtx *ctx, void* dsmP, const UA_DataType *type) { - UA_DataSetMessage* dsm = (UA_DataSetMessage*)dsmP; - dsm->header.dataSetMessageValid = true; - if(currentTokenType(ctx) == CJ5_TOKEN_NULL) { - ctx->index++; - return UA_STATUSCODE_GOOD; - } - - if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) - return UA_STATUSCODE_BADDECODINGERROR; - - /* The number of key-value pairs */ - UA_assert(ctx->tokens[ctx->index].size % 2 == 0); - size_t length = (size_t)(ctx->tokens[ctx->index].size) / 2; - - UA_String *fieldNames = (UA_String*)UA_calloc(length, sizeof(UA_String)); - if(!fieldNames) - return UA_STATUSCODE_BADOUTOFMEMORY; - dsm->data.keyFrameData.fieldNames = fieldNames; - dsm->data.keyFrameData.fieldCount = (UA_UInt16)length; - - dsm->data.keyFrameData.dataSetFields = (UA_DataValue *) - UA_Array_new(dsm->data.keyFrameData.fieldCount, &UA_TYPES[UA_TYPES_DATAVALUE]); - if(!dsm->data.keyFrameData.dataSetFields) - return UA_STATUSCODE_BADOUTOFMEMORY; - - ctx->index++; /* Go to the first key */ - - /* Iterate over the key/value pairs in the object. Keys are stored in fieldnames. */ - status ret = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < length; ++i) { - UA_assert(currentTokenType(ctx) == CJ5_TOKEN_STRING); - ret = decodeJsonJumpTable[UA_DATATYPEKIND_STRING](ctx, &fieldNames[i], type); - if(ret != UA_STATUSCODE_GOOD) - return ret; - - /* TODO: Is field value a variant or datavalue? Current check if type and body present. */ - size_t searchResult = 0; - status foundType = lookAheadForKey(ctx, "Type", &searchResult); - status foundBody = lookAheadForKey(ctx, "Body", &searchResult); - if(foundType == UA_STATUSCODE_GOOD && foundBody == UA_STATUSCODE_GOOD) { - dsm->header.fieldEncoding = UA_FIELDENCODING_VARIANT; - ret = decodeJsonJumpTable[UA_DATATYPEKIND_VARIANT] - (ctx, &dsm->data.keyFrameData.dataSetFields[i].value, type); - dsm->data.keyFrameData.dataSetFields[i].hasValue = true; - } else { - dsm->header.fieldEncoding = UA_FIELDENCODING_DATAVALUE; - ret = decodeJsonJumpTable[UA_DATATYPEKIND_DATAVALUE] - (ctx, &dsm->data.keyFrameData.dataSetFields[i], type); - dsm->data.keyFrameData.dataSetFields[i].hasValue = true; - } - - if(ret != UA_STATUSCODE_GOOD) - return ret; - } - - return ret; -} - -static status -DatasetMessage_Payload_decodeJsonInternal(ParseCtx *ctx, UA_DataSetMessage* dsm, - const UA_DataType *type) { - UA_ConfigurationVersionDataType cvd; - UA_UInt16 dataSetWriterId; - - dsm->header.fieldEncoding = UA_FIELDENCODING_DATAVALUE; - - DecodeEntry entries[6] = { - {UA_DECODEKEY_DATASETWRITERID, &dataSetWriterId, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, - {UA_DECODEKEY_SEQUENCENUMBER, &dsm->header.dataSetMessageSequenceNr, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, - {UA_DECODEKEY_METADATAVERSION, &cvd, &MetaDataVersion_decodeJsonInternal, false, NULL}, - {UA_DECODEKEY_TIMESTAMP, &dsm->header.timestamp, NULL, false, &UA_TYPES[UA_TYPES_DATETIME]}, - {UA_DECODEKEY_DSM_STATUS, &dsm->header.status, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, - {UA_DECODEKEY_PAYLOAD, dsm, &DataSetPayload_decodeJsonInternal, false, NULL} - }; - status ret = decodeFields(ctx, entries, 6); - - /* Error or no DatasetWriterId found or no payload found */ - if(ret != UA_STATUSCODE_GOOD || !entries[0].found || !entries[5].found) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Set the DatasetWriterId in the context */ - if(!ctx->custom) - return UA_STATUSCODE_BADDECODINGERROR; - if(ctx->currentCustomIndex >= ctx->numCustom) - return UA_STATUSCODE_BADDECODINGERROR; - UA_UInt16* dataSetWriterIdsArray = (UA_UInt16*)ctx->custom; - dataSetWriterIdsArray[ctx->currentCustomIndex] = dataSetWriterId; - ctx->currentCustomIndex++; - - dsm->header.dataSetMessageSequenceNrEnabled = entries[1].found; - dsm->header.configVersionMajorVersion = cvd.majorVersion; - dsm->header.configVersionMinorVersion = cvd.minorVersion; - dsm->header.configVersionMajorVersionEnabled = entries[2].found; - dsm->header.configVersionMinorVersionEnabled = entries[2].found; - dsm->header.timestampEnabled = entries[3].found; - dsm->header.statusEnabled = entries[4].found; - - dsm->header.dataSetMessageType = UA_DATASETMESSAGE_DATAKEYFRAME; - dsm->header.picoSecondsIncluded = false; - dsm->header.dataSetMessageValid = true; - dsm->header.fieldEncoding = UA_FIELDENCODING_VARIANT; - return UA_STATUSCODE_GOOD; -} - -static status -DatasetMessage_Array_decodeJsonInternal(ParseCtx *ctx, void *UA_RESTRICT dst, - const UA_DataType *type) { - /* Array! */ - if(currentTokenType(ctx) != CJ5_TOKEN_ARRAY) - return UA_STATUSCODE_BADDECODINGERROR; - size_t length = (size_t)ctx->tokens[ctx->index].size; - - /* Return early for empty arrays */ - if(length == 0) - return UA_STATUSCODE_GOOD; - - /* Allocate memory */ - UA_DataSetMessage *dsm = (UA_DataSetMessage*) - UA_calloc(length, sizeof(UA_DataSetMessage)); - if(!dsm) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Copy new Pointer do dest */ - memcpy(dst, &dsm, sizeof(void*)); - - /* We go to first Array member! */ - ctx->index++; - - status ret = UA_STATUSCODE_BADDECODINGERROR; - /* Decode array members */ - for(size_t i = 0; i < length; ++i) { - ret = DatasetMessage_Payload_decodeJsonInternal(ctx, &dsm[i], NULL); - if(ret != UA_STATUSCODE_GOOD) - return ret; - } - - return ret; -} - -static status -NetworkMessage_decodeJsonInternal(ParseCtx *ctx, UA_NetworkMessage *dst) { - memset(dst, 0, sizeof(UA_NetworkMessage)); - dst->chunkMessage = false; - dst->groupHeaderEnabled = false; - dst->payloadHeaderEnabled = false; - dst->picosecondsEnabled = false; - dst->promotedFieldsEnabled = false; - - /* Look forward for publisheId, if present check if type if primitve (Number) or String. */ - const UA_DataType *pubIdType = &UA_TYPES[UA_TYPES_STRING]; - size_t searchResultPublishIdType = 0; - status found = lookAheadForKey(ctx, UA_DECODEKEY_PUBLISHERID, &searchResultPublishIdType); - if(found == UA_STATUSCODE_GOOD) { - cj5_token *publishIdToken = &ctx->tokens[searchResultPublishIdType]; - if(publishIdToken->type == CJ5_TOKEN_NUMBER) { - // store in biggest possible. The problem is that with a UInt64 a - // string is expected in the json. Therefore, the maximum value is - // set to UInt32. - pubIdType = &UA_TYPES[UA_TYPES_UINT32]; - dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT32; - } else if(publishIdToken->type == CJ5_TOKEN_STRING) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_STRING; - } else { - return UA_STATUSCODE_BADDECODINGERROR; - } - } - - /* Is Messages an Array? How big? */ - size_t searchResultMessages = 0; - found = lookAheadForKey(ctx, UA_DECODEKEY_MESSAGES, &searchResultMessages); - if(found != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - const cj5_token *bodyToken = &ctx->tokens[searchResultMessages]; - if(bodyToken->type != CJ5_TOKEN_ARRAY) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - size_t messageCount = (size_t)ctx->tokens[searchResultMessages].size; - - /* Set up custom context for the dataSetwriterId */ - ctx->custom = (void*)UA_calloc(messageCount, sizeof(UA_UInt16)); - ctx->currentCustomIndex = 0; - ctx->numCustom = messageCount; - - /* MessageType */ - UA_Boolean isUaData = true; - size_t searchResultMessageType = 0; - found = lookAheadForKey(ctx, UA_DECODEKEY_MESSAGETYPE, &searchResultMessageType); - if(found != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADDECODINGERROR; - size_t size = getTokenLength(&ctx->tokens[searchResultMessageType]); - const char* msgType = &ctx->json5[ctx->tokens[searchResultMessageType].start]; - if(size == 7) { //ua-data - if(strncmp(msgType, "ua-data", size) != 0) - return UA_STATUSCODE_BADDECODINGERROR; - isUaData = true; - } else if(size == 11) { //ua-metadata - if(strncmp(msgType, "ua-metadata", size) != 0) - return UA_STATUSCODE_BADDECODINGERROR; - isUaData = false; - } else { - return UA_STATUSCODE_BADDECODINGERROR; - } - - //TODO: MetaData - if(!isUaData) - return UA_STATUSCODE_BADNOTIMPLEMENTED; - - /* Network Message */ - UA_String messageType; - DecodeEntry entries[5] = { - {UA_DECODEKEY_MESSAGEID, &dst->messageId, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, - {UA_DECODEKEY_MESSAGETYPE, &messageType, NULL, false, NULL}, - {UA_DECODEKEY_PUBLISHERID, &dst->publisherId, NULL, false, pubIdType}, - {UA_DECODEKEY_DATASETCLASSID, &dst->dataSetClassId, NULL, false, &UA_TYPES[UA_TYPES_GUID]}, - {UA_DECODEKEY_MESSAGES, &dst->payload.dataSetPayload.dataSetMessages, &DatasetMessage_Array_decodeJsonInternal, false, NULL} - }; - - status ret = decodeFields(ctx, entries, 5); - if(ret != UA_STATUSCODE_GOOD) - return ret; - - dst->messageIdEnabled = entries[0].found; - dst->publisherIdEnabled = entries[2].found; - if(dst->publisherIdEnabled) { - if(pubIdType == &UA_TYPES[UA_TYPES_UINT32]) { - dst->publisherIdType = UA_PUBLISHERIDTYPE_UINT32; - } else { - dst->publisherIdType = UA_PUBLISHERIDTYPE_STRING; - } - } - dst->dataSetClassIdEnabled = entries[3].found; - dst->payloadHeaderEnabled = true; - dst->payloadHeader.dataSetPayloadHeader.count = (UA_Byte)messageCount; - - /* Set the dataSetWriterIds. They are filled in the dataSet decoding. */ - dst->payloadHeader.dataSetPayloadHeader.dataSetWriterIds = (UA_UInt16*)ctx->custom; - return ret; -} - -status -UA_NetworkMessage_decodeJson(UA_NetworkMessage *dst, const UA_ByteString *src) { - /* Set up the context */ - cj5_token tokens[UA_JSON_MAXTOKENCOUNT]; - ParseCtx ctx; - memset(&ctx, 0, sizeof(ParseCtx)); - ctx.tokens = tokens; - status ret = tokenize(&ctx, src, UA_JSON_MAXTOKENCOUNT); - if(ret != UA_STATUSCODE_GOOD) - goto cleanup; - - ret = NetworkMessage_decodeJsonInternal(&ctx, dst); - - cleanup: - /* Free token array on the heap */ - if(ctx.tokens != tokens) - UA_free((void*)(uintptr_t)ctx.tokens); - return ret; -} - -/**** amalgamated original file "/deps/cj5.c" ****/ - -// MIT License -// -// Copyright (c) 2020 Sepehr Taghdisian -// Copyright (c) 2022 Julius Pfrommer -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - - -#include -#include -#include - -#if defined(_MSC_VER) -# define CJ5_INLINE __inline -#else -# define CJ5_INLINE inline -#endif - -/* vs2008 does not have INFINITY and NAN defined */ -#ifndef INFINITY -# define INFINITY ((double)(DBL_MAX+DBL_MAX)) -#endif -#ifndef NAN -# define NAN ((double)(INFINITY-INFINITY)) -#endif - -#if defined(_MSC_VER) -# pragma warning(disable: 4056) -# pragma warning(disable: 4756) -#endif - -/* Max nesting depth of objects and arrays */ -#define CJ5_MAX_NESTING 32 - -#define CJ5__FOURCC(_a, _b, _c, _d) \ - (((uint32_t)(_a) | ((uint32_t)(_b) << 8) | \ - ((uint32_t)(_c) << 16) | ((uint32_t)(_d) << 24))) - -static const uint32_t CJ5__NULL_FOURCC = CJ5__FOURCC('n', 'u', 'l', 'l'); -static const uint32_t CJ5__TRUE_FOURCC = CJ5__FOURCC('t', 'r', 'u', 'e'); -static const uint32_t CJ5__FALSE_FOURCC = CJ5__FOURCC('f', 'a', 'l', 's'); - -typedef struct { - unsigned int pos; - unsigned int line_start; - unsigned int line; - cj5_error_code error; - - const char *json5; - unsigned int len; - - unsigned int curr_tok_idx; - - cj5_token *tokens; - unsigned int token_count; - unsigned int max_tokens; - - bool stop_early; -} cj5__parser; - -static CJ5_INLINE bool -cj5__isrange(char ch, char from, char to) { - return (uint8_t)(ch - from) <= (uint8_t)(to - from); -} - -#define cj5__isupperchar(ch) cj5__isrange(ch, 'A', 'Z') -#define cj5__islowerchar(ch) cj5__isrange(ch, 'a', 'z') -#define cj5__isnum(ch) cj5__isrange(ch, '0', '9') - -static cj5_token * -cj5__alloc_token(cj5__parser *parser) { - cj5_token* token = NULL; - if(parser->token_count < parser->max_tokens) { - token = &parser->tokens[parser->token_count]; - memset(token, 0x0, sizeof(cj5_token)); - } else { - parser->error = CJ5_ERROR_OVERFLOW; - } - - // Always increase the index. So we know eventually how many token would be - // required (if there are not enough). - parser->token_count++; - return token; -} - -static void -cj5__parse_string(cj5__parser *parser) { - const char *json5 = parser->json5; - unsigned int len = parser->len; - unsigned int start = parser->pos; - char str_open = json5[start]; - - parser->pos++; - for(; parser->pos < len; parser->pos++) { - char c = json5[parser->pos]; - - // End of string - if(str_open == c) { - cj5_token *token = cj5__alloc_token(parser); - if(token) { - token->type = CJ5_TOKEN_STRING; - token->start = start + 1; - token->end = parser->pos - 1; - token->size = token->end - token->start + 1; - token->parent_id = parser->curr_tok_idx; - } - return; - } - - // Unescaped newlines are forbidden - if(c == '\n') { - parser->error = CJ5_ERROR_INVALID; - return; - } - - // Escape char - if(c == '\\') { - if(parser->pos + 1 >= len) { - parser->error = CJ5_ERROR_INCOMPLETE; - return; - } - parser->pos++; - switch(json5[parser->pos]) { - case '\"': - case '/': - case '\\': - case 'b': - case 'f': - case 'r': - case 'n': - case 't': - break; - case 'u': // The next four characters are an utf8 code - parser->pos++; - if(parser->pos + 4 >= len) { - parser->error = CJ5_ERROR_INVALID; - return; - } - for(unsigned int i = 0; i < 4; i++) { - // If it isn't a hex character we have an error - if(!(json5[parser->pos] >= 48 && json5[parser->pos] <= 57) && /* 0-9 */ - !(json5[parser->pos] >= 65 && json5[parser->pos] <= 70) && /* A-F */ - !(json5[parser->pos] >= 97 && json5[parser->pos] <= 102)) /* a-f */ - { - parser->error = CJ5_ERROR_INVALID; - return; - } - parser->pos++; - } - parser->pos--; - break; - case '\n': // Escape break line - parser->line++; - parser->line_start = parser->pos; - break; - default: - parser->error = CJ5_ERROR_INVALID; - return; - } - } - } - - // The file has ended before the string terminates - parser->error = CJ5_ERROR_INCOMPLETE; -} - -// parser->pos is advanced a last time in the next iteration of the main -// parse-loop. So we leave parse-primitive in a state where parse->pos points to -// the last character of the primitive value (or the quote-character of the -// string). -static void -cj5__parse_primitive(cj5__parser* parser) { - const char* json5 = parser->json5; - unsigned int len = parser->len; - unsigned int start = parser->pos; - - // String value - if(json5[start] == '\"' || - json5[start] == '\'') { - cj5__parse_string(parser); - return; - } - - // Fast comparison of bool, and null. - // We have to use memcpy here or we can get unaligned accesses - uint32_t fourcc = 0; - if(start + 4 < len) - memcpy(&fourcc, &json5[start], 4); - - cj5_token_type type; - if(fourcc == CJ5__NULL_FOURCC) { - type = CJ5_TOKEN_NULL; - parser->pos += 3; - } else if(fourcc == CJ5__TRUE_FOURCC) { - type = CJ5_TOKEN_BOOL; - parser->pos += 3; - } else if(fourcc == CJ5__FALSE_FOURCC) { - // "false" has five characters - type = CJ5_TOKEN_BOOL; - if(start + 4 >= len || json5[start+4] != 'e') { - parser->error = CJ5_ERROR_INVALID; - return; - } - parser->pos += 4; - } else { - // Numbers are checked for basic compatibility. - // But they are fully parsed only in the cj5_get_XXX functions. - type = CJ5_TOKEN_NUMBER; - for(; parser->pos < len; parser->pos++) { - if(!cj5__isnum(json5[parser->pos]) && - !(json5[parser->pos] == '.') && - !cj5__islowerchar(json5[parser->pos]) && - !cj5__isupperchar(json5[parser->pos]) && - !(json5[parser->pos] == '+') && !(json5[parser->pos] == '-')) { - break; - } - } - parser->pos--; // Point to the last character that is still inside the - // primitive value - } - - cj5_token *token = cj5__alloc_token(parser); - if(token) { - token->type = type; - token->start = start; - token->end = parser->pos; - token->size = parser->pos - start + 1; - token->parent_id = parser->curr_tok_idx; - } -} - -static void -cj5__parse_key(cj5__parser* parser) { - const char* json5 = parser->json5; - unsigned int start = parser->pos; - cj5_token* token; - - // Key is a a normal string - if(json5[start] == '\"' || json5[start] == '\'') { - cj5__parse_string(parser); - return; - } - - // An unquoted key. Must start with a-ZA-Z_$. Can contain numbers later on. - unsigned int len = parser->len; - for(; parser->pos < len; parser->pos++) { - if(cj5__islowerchar(json5[parser->pos]) || - cj5__isupperchar(json5[parser->pos]) || - json5[parser->pos] == '_' || json5[parser->pos] == '$') - continue; - if(cj5__isnum(json5[parser->pos]) && parser->pos != start) - continue; - break; - } - - // An empty key is not allowed - if(parser->pos <= start) { - parser->error = CJ5_ERROR_INVALID; - return; - } - - // Move pos to the last character within the unquoted key - parser->pos--; - - token = cj5__alloc_token(parser); - if(token) { - token->type = CJ5_TOKEN_STRING; - token->start = start; - token->end = parser->pos; - token->size = parser->pos - start + 1; - token->parent_id = parser->curr_tok_idx; - } -} - -static void -cj5__skip_comment(cj5__parser* parser) { - const char* json5 = parser->json5; - - // Single-line comment - if(json5[parser->pos] == '#') { - skip_line: - while(parser->pos < parser->len) { - if(json5[parser->pos] == '\n') { - parser->pos--; // Reparse the newline in the main parse loop - return; - } - parser->pos++; - } - return; - } - - // Comment begins with '/' but not enough space for another character - if(parser->pos + 1 >= parser->len) { - parser->error = CJ5_ERROR_INVALID; - return; - } - parser->pos++; - - // Comment begins with '//' -> single-line comment - if(json5[parser->pos] == '/') - goto skip_line; - - // Multi-line comments begin with '/*' and end with '*/' - if(json5[parser->pos] == '*') { - parser->pos++; - for(; parser->pos + 1 < parser->len; parser->pos++) { - if(json5[parser->pos] == '*' && json5[parser->pos + 1] == '/') { - parser->pos++; - return; - } - // Remember we passed a newline - if(json5[parser->pos] == '\n') { - parser->line++; - parser->line_start = parser->pos; - } - } - } - - // Unknown comment type or the multi-line comment is not terminated - parser->error = CJ5_ERROR_INCOMPLETE; -} - -cj5_result -cj5_parse(const char *json5, unsigned int len, - cj5_token *tokens, unsigned int max_tokens, - cj5_options *options) { - cj5_result r; - cj5__parser parser; - memset(&parser, 0x0, sizeof(parser)); - parser.curr_tok_idx = 0; - parser.json5 = json5; - parser.len = len; - parser.tokens = tokens; - parser.max_tokens = max_tokens; - - if(options) - parser.stop_early = options->stop_early; - - unsigned short depth = 0; // Nesting depth zero means "outside the root object" - char nesting[CJ5_MAX_NESTING]; // Contains either '\0', '{' or '[' for the - // type of nesting at each depth. '\0' - // indicates we are out of the root object. - char next[CJ5_MAX_NESTING]; // Next content to parse: 'k' (key), ':', 'v' - // (value) or ',' (comma). - next[0] = 'v'; // The root is a "value" (object, array or primitive). If we - // detect a colon after the first value then everything is - // wrapped into a "virtual root object" and the parsing is - // restarted. - nesting[0] = 0; // Becomes '{' if there is a virtual root object - - cj5_token *token = NULL; // The current token - - start_parsing: - for(; parser.pos < len; parser.pos++) { - char c = json5[parser.pos]; - switch(c) { - case '\n': // Skip newline - parser.line++; - parser.line_start = parser.pos; - break; - - case '\r': // Skip whitespace - case '\t': - case ' ': - break; - - case '#': // Skip comment - case '/': - cj5__skip_comment(&parser); - if(parser.error != CJ5_ERROR_NONE && - parser.error != CJ5_ERROR_OVERFLOW) - goto finish; - break; - - case '{': // Open an object or array - case '[': - // Check the nesting depth - if(depth + 1 >= CJ5_MAX_NESTING) { - parser.error = CJ5_ERROR_INVALID; - goto finish; - } - - // Correct next? - if(next[depth] != 'v') { - parser.error = CJ5_ERROR_INVALID; - goto finish; - } - - depth++; // Increase the nesting depth - nesting[depth] = c; // Set the nesting type - next[depth] = (c == '{') ? 'k' : 'v'; // next is either a key or a value - - // Create a token for the object or array - token = cj5__alloc_token(&parser); - if(token) { - token->parent_id = parser.curr_tok_idx; - token->type = (c == '{') ? CJ5_TOKEN_OBJECT : CJ5_TOKEN_ARRAY; - token->start = parser.pos; - token->size = 0; - parser.curr_tok_idx = parser.token_count - 1; // The new curr_tok_idx - // is for this token - } - break; - - case '}': // Close an object or array - case ']': - // Check the nesting depth. Note that a "virtual root object" at - // depth zero must not be closed. - if(depth == 0) { - parser.error = CJ5_ERROR_INVALID; - goto finish; - } - - // Check and adjust the nesting. Note that ']' - '[' == 2 and '}' - - // '{' == 2. Arrays can always be closed. Objects can only close - // when a key or a comma is expected. - if(c - nesting[depth] != 2 || - (c == '}' && next[depth] != 'k' && next[depth] != ',')) { - parser.error = CJ5_ERROR_INVALID; - goto finish; - } - - if(token) { - // Finalize the current token - token->end = parser.pos; - - // Move to the parent and increase the parent size. Omit this - // when we leave the root (parent the same as the current - // token). - if(parser.curr_tok_idx != token->parent_id) { - parser.curr_tok_idx = token->parent_id; - token = &tokens[token->parent_id]; - token->size++; - } - } - - // Step one level up - depth--; - next[depth] = (depth == 0) ? 0 : ','; // zero if we step out the root - // object. then we do not look for - // another element. - - // The first element was successfully parsed. Stop early or try to - // parse the full input string? - if(depth == 0 && parser.stop_early) - goto finish; - - break; - - case ':': // Colon (between key and value) - if(next[depth] != ':') { - parser.error = CJ5_ERROR_INVALID; - goto finish; - } - next[depth] = 'v'; - break; - - case ',': // Comma - if(next[depth] != ',') { - parser.error = CJ5_ERROR_INVALID; - goto finish; - } - next[depth] = (nesting[depth] == '{') ? 'k' : 'v'; - break; - - default: // Value or key - if(next[depth] == 'v') { - cj5__parse_primitive(&parser); // Parse primitive value - if(nesting[depth] != 0) { - // Parent is object or array - if(token) - token->size++; - next[depth] = ','; - } else { - // The current value was the root element. Don't look for - // any next element. - next[depth] = 0; - - // The first element was successfully parsed. Stop early or try to - // parse the full input string? - if(parser.stop_early) - goto finish; - } - } else if(next[depth] == 'k') { - cj5__parse_key(&parser); - if(token) - token->size++; // Keys count towards the length - next[depth] = ':'; - } else { - parser.error = CJ5_ERROR_INVALID; - } - - if(parser.error && parser.error != CJ5_ERROR_OVERFLOW) - goto finish; - - break; - } - } - - // Are we back to the initial nesting depth? - if(depth != 0) { - parser.error = CJ5_ERROR_INCOMPLETE; - goto finish; - } - - // Close the virtual root object if there is one - if(nesting[0] == '{' && parser.error != CJ5_ERROR_OVERFLOW) { - // Check the we end after a complete key-value pair (or dangling comma) - if(next[0] != 'k' && next[0] != ',') - parser.error = CJ5_ERROR_INVALID; - tokens[0].end = parser.pos - 1; - } - - finish: - // If parsing failed at the initial nesting depth, create a virtual root object - // and restart parsing. - if(parser.error != CJ5_ERROR_NONE && - parser.error != CJ5_ERROR_OVERFLOW && - depth == 0 && nesting[0] != '{') { - parser.token_count = 0; - token = cj5__alloc_token(&parser); - if(token) { - token->parent_id = 0; - token->type = CJ5_TOKEN_OBJECT; - token->start = 0; - token->size = 0; - - nesting[0] = '{'; - next[0] = 'k'; - - parser.curr_tok_idx = 0; - parser.pos = 0; - parser.error = CJ5_ERROR_NONE; - goto start_parsing; - } - } - - memset(&r, 0x0, sizeof(r)); - r.error = parser.error; - r.error_line = parser.line; - r.error_col = parser.pos - parser.line_start; - r.num_tokens = parser.token_count; // How many tokens (would) have been - // consumed by the parser? - - // Not a single token was parsed -> return an error - if(r.num_tokens == 0) - r.error = CJ5_ERROR_INCOMPLETE; - - // Set the tokens and original string only if successfully parsed - if(r.error == CJ5_ERROR_NONE) { - r.tokens = tokens; - r.json5 = json5; - } - - return r; -} - -cj5_error_code -cj5_get_bool(const cj5_result *r, unsigned int tok_index, bool *out) { - const cj5_token *token = &r->tokens[tok_index]; - if(token->type != CJ5_TOKEN_BOOL) - return CJ5_ERROR_INVALID; - *out = (r->json5[token->start] == 't'); - return CJ5_ERROR_NONE; -} - -cj5_error_code -cj5_get_float(const cj5_result *r, unsigned int tok_index, double *out) { - const cj5_token *token = &r->tokens[tok_index]; - if(token->type != CJ5_TOKEN_NUMBER) - return CJ5_ERROR_INVALID; - - const char *tokstr = &r->json5[token->start]; - size_t toksize = token->end - token->start + 1; - if(toksize == 0) - return CJ5_ERROR_INVALID; - - // Skip prefixed +/- - bool neg = false; - if(tokstr[0] == '+' || tokstr[0] == '-') { - neg = (tokstr[0] == '-'); - tokstr++; - toksize--; - } - - // Detect prefixed inf/nan - if(strncmp(tokstr, "Infinity", toksize) == 0) { - *out = neg ? -INFINITY : INFINITY; - return CJ5_ERROR_NONE; - } else if(strncmp(tokstr, "NaN", toksize) == 0) { - *out = NAN; - return CJ5_ERROR_NONE; - } - - // reset the +/- detection and parse - tokstr = &r->json5[token->start]; - toksize = token->end - token->start + 1; - size_t parsed = parseDouble(tokstr, toksize, out); - - // There must only be whitespace between the end of the parsed number and - // the end of the token - for(size_t i = parsed; i < toksize; i++) { - if(tokstr[i] != ' ' && tokstr[i] -'\t' >= 5) - return CJ5_ERROR_INVALID; - } - - return (parsed != 0) ? CJ5_ERROR_NONE : CJ5_ERROR_INVALID; -} - -cj5_error_code -cj5_get_int(const cj5_result *r, unsigned int tok_index, - int64_t *out) { - const cj5_token *token = &r->tokens[tok_index]; - if(token->type != CJ5_TOKEN_NUMBER) - return CJ5_ERROR_INVALID; - size_t parsed = parseInt64(&r->json5[token->start], token->size, out); - return (parsed != 0) ? CJ5_ERROR_NONE : CJ5_ERROR_INVALID; -} - -cj5_error_code -cj5_get_uint(const cj5_result *r, unsigned int tok_index, - uint64_t *out) { - const cj5_token *token = &r->tokens[tok_index]; - if(token->type != CJ5_TOKEN_NUMBER) - return CJ5_ERROR_INVALID; - size_t parsed = parseUInt64(&r->json5[token->start], token->size, out); - return (parsed != 0) ? CJ5_ERROR_NONE : CJ5_ERROR_INVALID; -} - -static const uint32_t SURROGATE_OFFSET = 0x10000u - (0xD800u << 10) - 0xDC00; - -static cj5_error_code -parse_codepoint(const char *pos, uint32_t *out_utf) { - uint32_t utf = 0; - for(unsigned int i = 0; i < 4; i++) { - char byte = pos[i]; - if(cj5__isnum(byte)) { - byte = (char)(byte - '0'); - } else if(cj5__isrange(byte, 'a', 'f')) { - byte = (char)(byte - ('a' - 10)); - } else if(cj5__isrange(byte, 'A', 'F')) { - byte = (char)(byte - ('A' - 10)); - } else { - return CJ5_ERROR_INVALID; - } - utf = (utf << 4) | ((uint8_t)byte & 0xF); - } - *out_utf = utf; - return CJ5_ERROR_NONE; -} - -cj5_error_code -cj5_get_str(const cj5_result *r, unsigned int tok_index, - char *buf, unsigned int *buflen) { - const cj5_token *token = &r->tokens[tok_index]; - if(token->type != CJ5_TOKEN_STRING) - return CJ5_ERROR_INVALID; - - const char *pos = &r->json5[token->start]; - const char *end = &r->json5[token->end + 1]; - unsigned int outpos = 0; - for(; pos < end; pos++) { - uint8_t c = (uint8_t)*pos; - - // Process an escape character - if(c == '\\') { - if(pos + 1 >= end) - return CJ5_ERROR_INCOMPLETE; - pos++; - c = (uint8_t)*pos; - switch(c) { - case '\"': buf[outpos++] = '\"'; break; - case '\\': buf[outpos++] = '\\'; break; - case '\n': buf[outpos++] = '\n'; break; // escape newline - case '/': buf[outpos++] = '/'; break; - case 'b': buf[outpos++] = '\b'; break; - case 'f': buf[outpos++] = '\f'; break; - case 'r': buf[outpos++] = '\r'; break; - case 'n': buf[outpos++] = '\n'; break; - case 't': buf[outpos++] = '\t'; break; - case 'u': { - // Parse the unicode code point - if(pos + 4 >= end) - return CJ5_ERROR_INCOMPLETE; - pos++; - uint32_t utf; - cj5_error_code err = parse_codepoint(pos, &utf); - if(err != CJ5_ERROR_NONE) - return err; - pos += 3; - - if(0xD800 <= utf && utf <= 0xDBFF) { - // Parse a surrogate pair - if(pos + 6 >= end) - return CJ5_ERROR_INVALID; - if(pos[1] != '\\' && pos[3] != 'u') - return CJ5_ERROR_INVALID; - pos += 3; - uint32_t trail; - err = parse_codepoint(pos, &trail); - if(err != CJ5_ERROR_NONE) - return err; - pos += 3; - utf = (utf << 10) + trail + SURROGATE_OFFSET; - } else if(0xDC00 <= utf && utf <= 0xDFFF) { - // Invalid Unicode '\\u%04X' - return CJ5_ERROR_INVALID; - } - - // Write the utf8 bytes of the code point - if(utf <= 0x7F) { // Plain ASCII - buf[outpos++] = (char)utf; - } else if(utf <= 0x07FF) { // 2-byte unicode - buf[outpos++] = (char)(((utf >> 6) & 0x1F) | 0xC0); - buf[outpos++] = (char)(((utf >> 0) & 0x3F) | 0x80); - } else if(utf <= 0xFFFF) { // 3-byte unicode - buf[outpos++] = (char)(((utf >> 12) & 0x0F) | 0xE0); - buf[outpos++] = (char)(((utf >> 6) & 0x3F) | 0x80); - buf[outpos++] = (char)(((utf >> 0) & 0x3F) | 0x80); - } else if(utf <= 0x10FFFF) { // 4-byte unicode - buf[outpos++] = (char)(((utf >> 18) & 0x07) | 0xF0); - buf[outpos++] = (char)(((utf >> 12) & 0x3F) | 0x80); - buf[outpos++] = (char)(((utf >> 6) & 0x3F) | 0x80); - buf[outpos++] = (char)(((utf >> 0) & 0x3F) | 0x80); - } else { - return CJ5_ERROR_INVALID; // Not a utf8 string - } - break; - } - default: - return CJ5_ERROR_INVALID; - } - continue; - } - - // Unprintable ascii characters must be escaped. JSON5 allows nested - // quotes if the quote character is not the same as the surrounding - // quote character, e.g. 'this is my "quote"'. This logic is in the - // token parsing code and not in this "string extraction" method. - if(c < ' ' || c == 127) - return CJ5_ERROR_INVALID; - - // Ascii character or utf8 byte - buf[outpos++] = (char)c; - } - - // Terminate with \0 - buf[outpos] = 0; - - // Set the output length - if(buflen) - *buflen = outpos; - return CJ5_ERROR_NONE; -} - -void -cj5_skip(const cj5_result *r, unsigned int *tok_index) { - unsigned int idx = *tok_index; - unsigned int end = r->tokens[idx].end; - do { idx++; } while(idx < r->num_tokens && - r->tokens[idx].start < end); - *tok_index = idx; -} - -cj5_error_code -cj5_find(const cj5_result *r, unsigned int *tok_index, - const char *key) { - // It has to be an object - unsigned int idx = *tok_index; - if(r->tokens[idx].type != CJ5_TOKEN_OBJECT) - return CJ5_ERROR_INVALID; - unsigned int size = r->tokens[idx].size; - - // Skip to the first key - idx++; - - // Size is number of keys + number of values - for(unsigned int i = 0; i < size; i += 2) { - // Key has to be a string - if(r->tokens[idx].type != CJ5_TOKEN_STRING) - return CJ5_ERROR_INVALID; - - // Return the index to the value if the key matches - const char *keystart = &r->json5[r->tokens[idx].start]; - size_t keysize = r->tokens[idx].end - r->tokens[idx].start + 1; - if(strncmp(key, keystart, keysize) == 0) { - *tok_index = idx + 1; - return CJ5_ERROR_NONE; - } - - // Skip over the value - idx++; - cj5_skip(r, &idx); - } - return CJ5_ERROR_NOTFOUND; -} - -/**** amalgamated original file "/deps/parse_num.c" ****/ - -/* Originally released by the musl project (http://www.musl-libc.org/) under the - * MIT license. Taken and adapted from the file src/stdlib/atoi.c - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - -#include -#include -#include - -size_t -parseUInt64(const char *str, size_t size, uint64_t *result) { - size_t i = 0; - uint64_t n = 0, prev = 0; - - /* Hex */ - if(size > 2 && str[0] == '0' && (str[1] | 32) == 'x') { - i = 2; - for(; i < size; i++) { - uint8_t c = (uint8_t)str[i] | 32; - if(c >= '0' && c <= '9') - c = (uint8_t)(c - '0'); - else if(c >= 'a' && c <='f') - c = (uint8_t)(c - 'a' + 10); - else if(c >= 'A' && c <='F') - c = (uint8_t)(c - 'A' + 10); - else - break; - n = (n << 4) | (c & 0xF); - if(n < prev) /* Check for overflow */ - return 0; - prev = n; - } - *result = n; - return (i > 2) ? i : 0; /* 2 -> No digit was parsed */ - } - - /* Decimal */ - for(; i < size; i++) { - if(str[i] < '0' || str[i] > '9') - break; - /* Fast multiplication: n*10 == (n*8) + (n*2) */ - n = (n << 3) + (n << 1) + (uint8_t)(str[i] - '0'); - if(n < prev) /* Check for overflow */ - return 0; - prev = n; - } - *result = n; - return i; -} - -size_t -parseInt64(const char *str, size_t size, int64_t *result) { - /* Negative value? */ - size_t i = 0; - bool neg = false; - if(*str == '-' || *str == '+') { - neg = (*str == '-'); - i++; - } - - /* Parse as unsigned */ - uint64_t n = 0; - size_t len = parseUInt64(&str[i], size - i, &n); - if(len == 0) - return 0; - - /* Check for overflow, adjust and return */ - if(!neg) { - if(n > 9223372036854775807UL) - return 0; - *result = (int64_t)n; - } else { - if(n > 9223372036854775808UL) - return 0; - *result = -(int64_t)n; - } - return len + i; -} - -size_t parseDouble(const char *str, size_t size, double *result) { - char buf[2000]; - if(size >= 2000) - return 0; - memcpy(buf, str, size); - buf[size] = 0; - errno = 0; - char *endptr; - *result = strtod(str, &endptr); - if(errno != 0 && errno != ERANGE) - return 0; - return (uintptr_t)endptr - (uintptr_t)str; -} - -/**** amalgamated original file "/src/ua_types_encoding_json.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2018 (c) Fraunhofer IOSB (Author: Lukas Meling) - */ - - -#ifdef UA_ENABLE_JSON_ENCODING - - -#include -#include - - -#ifndef UA_ENABLE_PARSING -#error UA_ENABLE_PARSING required for JSON encoding -#endif - -#ifndef UA_ENABLE_TYPEDESCRIPTION -#error UA_ENABLE_TYPEDESCRIPTION required for JSON encoding -#endif - -/* vs2008 does not have INFINITY and NAN defined */ -#ifndef INFINITY -# define INFINITY ((UA_Double)(DBL_MAX+DBL_MAX)) -#endif -#ifndef NAN -# define NAN ((UA_Double)(INFINITY-INFINITY)) -#endif - -#if defined(_MSC_VER) -# pragma warning(disable: 4756) -# pragma warning(disable: 4056) -#endif - -/* Have some slack at the end. E.g. for negative and very long years. */ -#define UA_JSON_DATETIME_LENGTH 40 - -/************/ -/* Encoding */ -/************/ - -#define ENCODE_JSON(TYPE) static status \ - TYPE##_encodeJson(CtxJson *ctx, const UA_##TYPE *src, const UA_DataType *type) - -#define ENCODE_DIRECT_JSON(SRC, TYPE) \ - TYPE##_encodeJson(ctx, (const UA_##TYPE*)SRC, NULL) - -static status UA_FUNC_ATTR_WARN_UNUSED_RESULT -writeChar(CtxJson *ctx, char c) { - if(ctx->pos >= ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - if(!ctx->calcOnly) - *ctx->pos = (UA_Byte)c; - ctx->pos++; - return UA_STATUSCODE_GOOD; -} - -static status UA_FUNC_ATTR_WARN_UNUSED_RESULT -writeChars(CtxJson *ctx, const char *c, size_t len) { - if(ctx->pos + len > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - if(!ctx->calcOnly) - memcpy(ctx->pos, c, len); - ctx->pos += len; - return UA_STATUSCODE_GOOD; -} - -#define WRITE_JSON_ELEMENT(ELEM) \ - UA_FUNC_ATTR_WARN_UNUSED_RESULT status \ - writeJson##ELEM(CtxJson *ctx) - -static WRITE_JSON_ELEMENT(Quote) { - return writeChar(ctx, '\"'); -} - -UA_StatusCode -writeJsonBeforeElement(CtxJson *ctx, UA_Boolean distinct) { - UA_StatusCode res = UA_STATUSCODE_GOOD; - /* Comma if needed */ - if(ctx->commaNeeded[ctx->depth]) - res |= writeChar(ctx, ','); - if(ctx->prettyPrint) { - if(distinct) { - /* Newline and indent if needed */ - res |= writeChar(ctx, '\n'); - for(size_t i = 0; i < ctx->depth; i++) - res |= writeChar(ctx, '\t'); - } else if(ctx->commaNeeded[ctx->depth]) { - /* Space after the comma if no newline */ - res |= writeChar(ctx, ' '); - } - } - return res; -} - -WRITE_JSON_ELEMENT(ObjStart) { - /* increase depth, save: before first key-value no comma needed. */ - if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) - return UA_STATUSCODE_BADENCODINGERROR; - ctx->depth++; - ctx->commaNeeded[ctx->depth] = false; - return writeChar(ctx, '{'); -} - -WRITE_JSON_ELEMENT(ObjEnd) { - if(ctx->depth == 0) - return UA_STATUSCODE_BADENCODINGERROR; - - UA_Boolean have_elem = ctx->commaNeeded[ctx->depth]; - ctx->depth--; - ctx->commaNeeded[ctx->depth] = true; - - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(ctx->prettyPrint && have_elem) { - res |= writeChar(ctx, '\n'); - for(size_t i = 0; i < ctx->depth; i++) - res |= writeChar(ctx, '\t'); - } - return res | writeChar(ctx, '}'); -} - -WRITE_JSON_ELEMENT(ArrStart) { - /* increase depth, save: before first array entry no comma needed. */ - if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) - return UA_STATUSCODE_BADENCODINGERROR; - ctx->depth++; - ctx->commaNeeded[ctx->depth] = false; - return writeChar(ctx, '['); -} - -WRITE_JSON_ELEMENT(ArrEnd) { - if(ctx->depth == 0) - return UA_STATUSCODE_BADENCODINGERROR; - UA_Boolean have_elem = ctx->commaNeeded[ctx->depth]; - ctx->depth--; - ctx->commaNeeded[ctx->depth] = true; - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(ctx->prettyPrint && have_elem) { - res |= writeChar(ctx, '\n'); - for(size_t i = 0; i < ctx->depth; i++) - res |= writeChar(ctx, '\t'); - } - return res | writeChar(ctx, ']'); -} - -status -writeJsonArrElm(CtxJson *ctx, const void *value, - const UA_DataType *type) { - UA_Boolean distinct = (type->typeKind > UA_DATATYPEKIND_DOUBLE); - status ret = writeJsonBeforeElement(ctx, distinct); - ctx->commaNeeded[ctx->depth] = true; - return ret | encodeJsonJumpTable[type->typeKind](ctx, value, type); -} - -status -writeJsonObjElm(CtxJson *ctx, const char *key, - const void *value, const UA_DataType *type) { - return writeJsonKey(ctx, key) | encodeJsonJumpTable[type->typeKind](ctx, value, type); -} - -/* Keys for JSON */ - -/* LocalizedText */ -static const char* UA_JSONKEY_LOCALE = "Locale"; -static const char* UA_JSONKEY_TEXT = "Text"; - -/* QualifiedName */ -static const char* UA_JSONKEY_NAME = "Name"; -static const char* UA_JSONKEY_URI = "Uri"; - -/* NodeId */ -static const char* UA_JSONKEY_ID = "Id"; -static const char* UA_JSONKEY_IDTYPE = "IdType"; -static const char* UA_JSONKEY_NAMESPACE = "Namespace"; - -/* ExpandedNodeId */ -static const char* UA_JSONKEY_SERVERURI = "ServerUri"; - -/* Variant */ -static const char* UA_JSONKEY_TYPE = "Type"; -static const char* UA_JSONKEY_BODY = "Body"; -static const char* UA_JSONKEY_DIMENSION = "Dimension"; - -/* DataValue */ -static const char* UA_JSONKEY_VALUE = "Value"; -static const char* UA_JSONKEY_STATUS = "Status"; -static const char* UA_JSONKEY_SOURCETIMESTAMP = "SourceTimestamp"; -static const char* UA_JSONKEY_SOURCEPICOSECONDS = "SourcePicoseconds"; -static const char* UA_JSONKEY_SERVERTIMESTAMP = "ServerTimestamp"; -static const char* UA_JSONKEY_SERVERPICOSECONDS = "ServerPicoseconds"; - -/* ExtensionObject */ -static const char* UA_JSONKEY_ENCODING = "Encoding"; -static const char* UA_JSONKEY_TYPEID = "TypeId"; - -/* StatusCode */ -static const char* UA_JSONKEY_CODE = "Code"; -static const char* UA_JSONKEY_SYMBOL = "Symbol"; - -/* DiagnosticInfo */ -static const char* UA_JSONKEY_SYMBOLICID = "SymbolicId"; -static const char* UA_JSONKEY_NAMESPACEURI = "NamespaceUri"; -static const char* UA_JSONKEY_LOCALIZEDTEXT = "LocalizedText"; -static const char* UA_JSONKEY_ADDITIONALINFO = "AdditionalInfo"; -static const char* UA_JSONKEY_INNERSTATUSCODE = "InnerStatusCode"; -static const char* UA_JSONKEY_INNERDIAGNOSTICINFO = "InnerDiagnosticInfo"; - -/* Writes null terminated string to output buffer (current ctx->pos). Writes - * comma in front of key if needed. Encapsulates key in quotes. */ -status UA_FUNC_ATTR_WARN_UNUSED_RESULT -writeJsonKey(CtxJson *ctx, const char* key) { - status ret = writeJsonBeforeElement(ctx, true); - ctx->commaNeeded[ctx->depth] = true; - if(!ctx->unquotedKeys) - ret |= writeChar(ctx, '\"'); - ret |= writeChars(ctx, key, strlen(key)); - if(!ctx->unquotedKeys) - ret |= writeChar(ctx, '\"'); - if(!ctx->unquotedKeys) - ret |= writeChar(ctx, ':'); - if(ctx->prettyPrint) - ret |= writeChar(ctx, ' '); - return ret; -} - -static bool -isNull(const void *p, const UA_DataType *type) { - if(UA_DataType_isNumeric(type) || type->typeKind == UA_DATATYPEKIND_BOOLEAN) - return false; - UA_STACKARRAY(char, buf, type->memSize); - memset(buf, 0, type->memSize); - return UA_equal(buf, p, type); -} - -/* Boolean */ -ENCODE_JSON(Boolean) { - if(*src == true) - return writeChars(ctx, "true", 4); - return writeChars(ctx, "false", 5); -} - -/* Byte */ -ENCODE_JSON(Byte) { - char buf[4]; - UA_UInt16 digits = itoaUnsigned(*src, buf, 10); - - /* Ensure destination can hold the data- */ - if(ctx->pos + digits > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - /* Copy digits to the output string/buffer. */ - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, digits); - ctx->pos += digits; - return UA_STATUSCODE_GOOD; -} - -/* signed Byte */ -ENCODE_JSON(SByte) { - char buf[5]; - UA_UInt16 digits = itoaSigned(*src, buf); - if(ctx->pos + digits > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, digits); - ctx->pos += digits; - return UA_STATUSCODE_GOOD; -} - -/* UInt16 */ -ENCODE_JSON(UInt16) { - char buf[6]; - UA_UInt16 digits = itoaUnsigned(*src, buf, 10); - - if(ctx->pos + digits > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, digits); - ctx->pos += digits; - return UA_STATUSCODE_GOOD; -} - -/* Int16 */ -ENCODE_JSON(Int16) { - char buf[7]; - UA_UInt16 digits = itoaSigned(*src, buf); - - if(ctx->pos + digits > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, digits); - ctx->pos += digits; - return UA_STATUSCODE_GOOD; -} - -/* UInt32 */ -ENCODE_JSON(UInt32) { - char buf[11]; - UA_UInt16 digits = itoaUnsigned(*src, buf, 10); - - if(ctx->pos + digits > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, digits); - ctx->pos += digits; - return UA_STATUSCODE_GOOD; -} - -/* Int32 */ -ENCODE_JSON(Int32) { - char buf[12]; - UA_UInt16 digits = itoaSigned(*src, buf); - - if(ctx->pos + digits > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, digits); - ctx->pos += digits; - return UA_STATUSCODE_GOOD; -} - -/* UInt64 */ -ENCODE_JSON(UInt64) { - char buf[23]; - buf[0] = '\"'; - UA_UInt16 digits = itoaUnsigned(*src, buf + 1, 10); - buf[digits + 1] = '\"'; - UA_UInt16 length = (UA_UInt16)(digits + 2); - - if(ctx->pos + length > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, length); - ctx->pos += length; - return UA_STATUSCODE_GOOD; -} - -/* Int64 */ -ENCODE_JSON(Int64) { - char buf[23]; - buf[0] = '\"'; - UA_UInt16 digits = itoaSigned(*src, buf + 1); - buf[digits + 1] = '\"'; - UA_UInt16 length = (UA_UInt16)(digits + 2); - - if(ctx->pos + length > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buf, length); - ctx->pos += length; - return UA_STATUSCODE_GOOD; -} - -ENCODE_JSON(Float) { - char buffer[32]; - size_t len; - if(*src != *src) { - strcpy(buffer, "\"NaN\""); - len = strlen(buffer); - } else if(*src == INFINITY) { - strcpy(buffer, "\"Infinity\""); - len = strlen(buffer); - } else if(*src == -INFINITY) { - strcpy(buffer, "\"-Infinity\""); - len = strlen(buffer); - } else { - len = dtoa((UA_Double)*src, buffer); - } - - if(ctx->pos + len > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buffer, len); - ctx->pos += len; - return UA_STATUSCODE_GOOD; -} - -ENCODE_JSON(Double) { - char buffer[32]; - size_t len; - if(*src != *src) { - strcpy(buffer, "\"NaN\""); - len = strlen(buffer); - } else if(*src == INFINITY) { - strcpy(buffer, "\"Infinity\""); - len = strlen(buffer); - } else if(*src == -INFINITY) { - strcpy(buffer, "\"-Infinity\""); - len = strlen(buffer); - } else { - len = dtoa(*src, buffer); - } - - if(ctx->pos + len > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - - if(!ctx->calcOnly) - memcpy(ctx->pos, buffer, len); - ctx->pos += len; - return UA_STATUSCODE_GOOD; -} - -static status -encodeJsonArray(CtxJson *ctx, const void *ptr, size_t length, - const UA_DataType *type) { - /* Null-arrays (length -1) are written as empty arrays '[]'. - * TODO: Clarify the difference between length -1 and length 0 in JSON. */ - status ret = writeJsonArrStart(ctx); - if(!ptr) - return ret | writeJsonArrEnd(ctx); - - uintptr_t uptr = (uintptr_t)ptr; - encodeJsonSignature encodeType = encodeJsonJumpTable[type->typeKind]; - UA_Boolean distinct = (type->typeKind > UA_DATATYPEKIND_DOUBLE); - for(size_t i = 0; i < length && ret == UA_STATUSCODE_GOOD; ++i) { - ret |= writeJsonBeforeElement(ctx, distinct); - if(isNull((const void*)uptr, type)) - ret |= writeChars(ctx, "null", 4); - else - ret |= encodeType(ctx, (const void*)uptr, type); - ctx->commaNeeded[ctx->depth] = true; - uptr += type->memSize; - } - return ret | writeJsonArrEnd(ctx); -} - -static const uint32_t min_codepoints[5] = {0x00, 0x00, 0x80, 0x800, 0x10000}; -static const u8 hexmap[16] = - {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - -/* Extract the next utf8 codepoint from the buffer. Return the next position in - * the buffer or NULL upon an error. */ -static const unsigned char * -extract_codepoint(const unsigned char *pos, size_t len, uint32_t *codepoint) { - UA_assert(len > 0); - - *codepoint = pos[0]; - if(UA_LIKELY(*codepoint < 0x80)) - return pos + 1; /* Normal ASCII */ - - if(UA_UNLIKELY(*codepoint <= 0xC1)) - return NULL; /* Continuation byte not allowed here */ - - unsigned char count; - if(*codepoint <= 0xDF) { - count = 2; /* 2-byte sequence */ - *codepoint &= 0x1F; - } else if(*codepoint <= 0xEF) { - count = 3; /* 3-byte sequence */ - *codepoint &= 0xF; - } else if(*codepoint <= 0xF4) { - count = 4; /* 4-byte sequence */ - *codepoint &= 0x7; - } else { - return NULL; /* invalid utf8 */ - } - - if(UA_UNLIKELY(count > len)) - return NULL; /* Not enough bytes left */ - - for(unsigned char i = 1; i < count; i++) { - unsigned char byte = pos[i]; - if(UA_UNLIKELY(byte < 0x80 || byte > 0xBF)) - return NULL; /* Not a continuation byte */ - *codepoint = (*codepoint << 6) + (byte & 0x3F); - } - - /* Not in Unicode range or too small for the encoding length */ - if(UA_UNLIKELY(*codepoint > 0x10FFFF || *codepoint < min_codepoints[count])) - return NULL; - - return pos + count; /* Return the new position in the pos */ -} - -ENCODE_JSON(String) { - if(!src->data) - return writeChars(ctx, "null", 4); - - if(src->length == 0) - return writeJsonQuote(ctx) | writeJsonQuote(ctx); - - UA_StatusCode ret = writeJsonQuote(ctx); - - const unsigned char *str = src->data; - const unsigned char *pos = str; - const unsigned char *end = str; - const unsigned char *lim = str + src->length; - uint32_t codepoint = 0; - while(1) { - /* Iterate over codepoints in the utf8 encoding. Until the first - * character that needs to be escaped. */ - while(end < lim) { - end = extract_codepoint(pos, (size_t)(lim - pos), &codepoint); - if(!end) { - /* A malformed utf8 character. Print anyway and let the - * receiving side choose how to handle it. */ - pos++; - end = pos; - continue; - } - - /* Escape unprintable ASCII and escape characters */ - if(codepoint < ' ' || codepoint == 127 || - codepoint == '\\' || codepoint == '\"') - break; - - pos = end; - } - - /* Write out the characters that don't need escaping */ - if(pos != str) { - if(ctx->pos + (pos - str) > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - if(!ctx->calcOnly) - memcpy(ctx->pos, str, (size_t)(pos - str)); - ctx->pos += pos - str; - } - - /* Reached the end of the utf8 encoding */ - if(end == pos) - break; - - /* Handle an escaped character */ - size_t length = 2; - u8 seq[13]; - const char *text; - - switch(codepoint) { - case '\\': text = "\\\\"; break; - case '\"': text = "\\\""; break; - case '\b': text = "\\b"; break; - case '\f': text = "\\f"; break; - case '\n': text = "\\n"; break; - case '\r': text = "\\r"; break; - case '\t': text = "\\t"; break; - default: - text = (char*)seq; - if(codepoint < 0x10000) { - /* codepoint is in BMP */ - seq[0] = '\\'; - seq[1] = 'u'; - UA_Byte b1 = (UA_Byte)(codepoint >> 8u); - UA_Byte b2 = (UA_Byte)(codepoint >> 0u); - seq[2] = hexmap[(b1 & 0xF0u) >> 4u]; - seq[3] = hexmap[b1 & 0x0Fu]; - seq[4] = hexmap[(b2 & 0xF0u) >> 4u]; - seq[5] = hexmap[b2 & 0x0Fu]; - length = 6; - } else { - /* not in BMP -> construct a UTF-16 surrogate pair */ - codepoint -= 0x10000; - UA_UInt32 first = 0xD800u | ((codepoint & 0xffc00u) >> 10u); - UA_UInt32 last = 0xDC00u | (codepoint & 0x003ffu); - UA_Byte fb1 = (UA_Byte)(first >> 8u); - UA_Byte fb2 = (UA_Byte)(first >> 0u); - UA_Byte lb1 = (UA_Byte)(last >> 8u); - UA_Byte lb2 = (UA_Byte)(last >> 0u); - seq[0] = '\\'; - seq[1] = 'u'; - seq[2] = hexmap[(fb1 & 0xF0u) >> 4u]; - seq[3] = hexmap[fb1 & 0x0Fu]; - seq[4] = hexmap[(fb2 & 0xF0u) >> 4u]; - seq[5] = hexmap[fb2 & 0x0Fu]; - seq[6] = '\\'; - seq[7] = 'u'; - seq[8] = hexmap[(lb1 & 0xF0u) >> 4u]; - seq[9] = hexmap[lb1 & 0x0Fu]; - seq[10] = hexmap[(lb2 & 0xF0u) >> 4u]; - seq[11] = hexmap[lb2 & 0x0Fu]; - length = 12; - } - break; - } - if(ctx->pos + length > ctx->end) - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - if(!ctx->calcOnly) - memcpy(ctx->pos, text, length); - ctx->pos += length; - str = pos = end; - } - - return ret | writeJsonQuote(ctx); -} - -ENCODE_JSON(ByteString) { - if(!src->data) - return writeChars(ctx, "null", 4); - - if(src->length == 0) { - status retval = writeJsonQuote(ctx); - retval |= writeJsonQuote(ctx); - return retval; - } - - status ret = writeJsonQuote(ctx); - size_t flen = 0; - unsigned char *ba64 = UA_base64(src->data, src->length, &flen); - - /* Not converted, no mem */ - if(!ba64) - return UA_STATUSCODE_BADENCODINGERROR; - - if(ctx->pos + flen > ctx->end) { - UA_free(ba64); - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - } - - /* Copy flen bytes to output stream. */ - if(!ctx->calcOnly) - memcpy(ctx->pos, ba64, flen); - ctx->pos += flen; - - /* Base64 result no longer needed */ - UA_free(ba64); - - return ret | writeJsonQuote(ctx); -} - -/* Guid */ -ENCODE_JSON(Guid) { - if(ctx->pos + 38 > ctx->end) /* 36 + 2 (") */ - return UA_STATUSCODE_BADENCODINGLIMITSEXCEEDED; - status ret = writeJsonQuote(ctx); - if(!ctx->calcOnly) - UA_Guid_to_hex(src, ctx->pos, false); - ctx->pos += 36; - return ret | writeJsonQuote(ctx); -} - -static u8 -printNumber(i32 n, char *pos, u8 min_digits) { - char digits[10]; - u8 len = 0; - /* Handle negative values */ - if(n < 0) { - pos[len++] = '-'; - n = -n; - } - - /* Extract the digits */ - u8 i = 0; - for(; i < min_digits || n > 0; i++) { - digits[i] = (char)((n % 10) + '0'); - n /= 10; - } - - /* Print in reverse order and return */ - for(; i > 0; i--) - pos[len++] = digits[i-1]; - return len; -} - -ENCODE_JSON(DateTime) { - UA_DateTimeStruct tSt = UA_DateTime_toStruct(*src); - - /* Format: -yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z' is used. max 31 bytes. - * Note the optional minus for negative years. */ - char buffer[UA_JSON_DATETIME_LENGTH]; - char *pos = buffer; - pos += printNumber(tSt.year, pos, 4); - *(pos++) = '-'; - pos += printNumber(tSt.month, pos, 2); - *(pos++) = '-'; - pos += printNumber(tSt.day, pos, 2); - *(pos++) = 'T'; - pos += printNumber(tSt.hour, pos, 2); - *(pos++) = ':'; - pos += printNumber(tSt.min, pos, 2); - *(pos++) = ':'; - pos += printNumber(tSt.sec, pos, 2); - *(pos++) = '.'; - pos += printNumber(tSt.milliSec, pos, 3); - pos += printNumber(tSt.microSec, pos, 3); - pos += printNumber(tSt.nanoSec, pos, 3); - - UA_assert(pos <= &buffer[UA_JSON_DATETIME_LENGTH]); - - /* Remove trailing zeros */ - pos--; - while(*pos == '0') - pos--; - if(*pos == '.') - pos--; - - *(++pos) = 'Z'; - UA_String str = {((uintptr_t)pos - (uintptr_t)buffer)+1, (UA_Byte*)buffer}; - return ENCODE_DIRECT_JSON(&str, String); -} - -/* NodeId */ -static status -NodeId_encodeJsonInternal(CtxJson *ctx, UA_NodeId const *src) { - status ret = UA_STATUSCODE_GOOD; - switch(src->identifierType) { - case UA_NODEIDTYPE_NUMERIC: - ret |= writeJsonKey(ctx, UA_JSONKEY_ID); - ret |= ENCODE_DIRECT_JSON(&src->identifier.numeric, UInt32); - break; - case UA_NODEIDTYPE_STRING: - ret |= writeJsonKey(ctx, UA_JSONKEY_IDTYPE); - ret |= writeChar(ctx, '1'); - ret |= writeJsonKey(ctx, UA_JSONKEY_ID); - ret |= ENCODE_DIRECT_JSON(&src->identifier.string, String); - break; - case UA_NODEIDTYPE_GUID: - ret |= writeJsonKey(ctx, UA_JSONKEY_IDTYPE); - ret |= writeChar(ctx, '2'); - ret |= writeJsonKey(ctx, UA_JSONKEY_ID); /* Id */ - ret |= ENCODE_DIRECT_JSON(&src->identifier.guid, Guid); - break; - case UA_NODEIDTYPE_BYTESTRING: - ret |= writeJsonKey(ctx, UA_JSONKEY_IDTYPE); - ret |= writeChar(ctx, '3'); - ret |= writeJsonKey(ctx, UA_JSONKEY_ID); /* Id */ - ret |= ENCODE_DIRECT_JSON(&src->identifier.byteString, ByteString); - break; - default: - return UA_STATUSCODE_BADINTERNALERROR; - } - return ret; -} - -ENCODE_JSON(NodeId) { - /* Encode as string (non-standard). Encode with the standard utf8 escaping. - * As the NodeId can contain quote characters, etc. */ - UA_StatusCode ret = UA_STATUSCODE_GOOD; - if(ctx->stringNodeIds) { - UA_String out = UA_STRING_NULL; - ret |= UA_NodeId_print(src, &out); - ret |= encodeJsonJumpTable[UA_DATATYPEKIND_STRING](ctx, &out, NULL); - UA_String_clear(&out); - return ret; - } - - /* Encode as object */ - ret |= writeJsonObjStart(ctx); - ret |= NodeId_encodeJsonInternal(ctx, src); - if(ctx->useReversible) { - if(src->namespaceIndex > 0) { - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); - } - } else { - /* For the non-reversible encoding, the field is the NamespaceUri - * associated with the NamespaceIndex, encoded as a JSON string. - * A NamespaceIndex of 1 is always encoded as a JSON number. */ - if(src->namespaceIndex == 1) { - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); - } else { - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - - /* Check if Namespace given and in range */ - if(src->namespaceIndex < ctx->namespacesSize && ctx->namespaces != NULL) { - UA_String namespaceEntry = ctx->namespaces[src->namespaceIndex]; - ret |= ENCODE_DIRECT_JSON(&namespaceEntry, String); - } else { - return UA_STATUSCODE_BADNOTFOUND; - } - } - } - - return ret | writeJsonObjEnd(ctx); -} - -/* ExpandedNodeId */ -ENCODE_JSON(ExpandedNodeId) { - /* Encode as string (non-standard). Encode with utf8 escaping as the NodeId - * can contain quote characters, etc. */ - UA_StatusCode ret = UA_STATUSCODE_GOOD; - if(ctx->stringNodeIds) { - UA_String out = UA_STRING_NULL; - ret |= UA_ExpandedNodeId_print(src, &out); - ret |= encodeJsonJumpTable[UA_DATATYPEKIND_STRING](ctx, &out, NULL); - UA_String_clear(&out); - return ret; - } - - /* Encode as object */ - ret |= writeJsonObjStart(ctx); - - /* Encode the identifier portion */ - ret |= NodeId_encodeJsonInternal(ctx, &src->nodeId); - - if(ctx->useReversible) { - /* Reversible Case */ - - if(src->namespaceUri.data) { - /* If the NamespaceUri is specified it is encoded as a JSON string - * in this field */ - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&src->namespaceUri, String); - } else if(src->nodeId.namespaceIndex > 0) { - /* If the NamespaceUri is not specified, the NamespaceIndex is - * encoded. Encoded as a JSON number for the reversible encoding. - * Omitted if the NamespaceIndex equals 0. */ - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&src->nodeId.namespaceIndex, UInt16); - } - - /* Encode the serverIndex/Url. As a JSON number for the reversible - * encoding. Omitted if the ServerIndex equals 0. */ - if(src->serverIndex > 0) { - ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERURI); - ret |= ENCODE_DIRECT_JSON(&src->serverIndex, UInt32); - } - } else { - /* Non-Reversible Case */ - - /* If the NamespaceUri is not specified, the NamespaceIndex is encoded - * with these rules: For the non-reversible encoding the field is the - * NamespaceUri associated with the NamespaceIndex encoded as a JSON - * string. A NamespaceIndex of 1 is always encoded as a JSON number. */ - - if(src->namespaceUri.data) { - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&src->namespaceUri, String); - } else { - if(src->nodeId.namespaceIndex == 1) { - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&src->nodeId.namespaceIndex, UInt16); - } else { - /* Check if Namespace given and in range */ - if(src->nodeId.namespaceIndex >= ctx->namespacesSize || !ctx->namespaces) - return UA_STATUSCODE_BADNOTFOUND; - UA_String namespaceEntry = ctx->namespaces[src->nodeId.namespaceIndex]; - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACE); - ret |= ENCODE_DIRECT_JSON(&namespaceEntry, String); - } - } - - /* For the non-reversible encoding, this field is the ServerUri - * associated with the ServerIndex portion of the ExpandedNodeId, - * encoded as a JSON string. */ - - /* Check if server given and in range */ - if(src->serverIndex >= ctx->serverUrisSize || !ctx->serverUris) - return UA_STATUSCODE_BADNOTFOUND; - - UA_String serverUriEntry = ctx->serverUris[src->serverIndex]; - ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERURI); - ret |= ENCODE_DIRECT_JSON(&serverUriEntry, String); - } - - return ret | writeJsonObjEnd(ctx); -} - -/* LocalizedText */ -ENCODE_JSON(LocalizedText) { - if(ctx->useReversible) { - status ret = writeJsonObjStart(ctx); - ret |= writeJsonKey(ctx, UA_JSONKEY_LOCALE); - ret |= ENCODE_DIRECT_JSON(&src->locale, String); - ret |= writeJsonKey(ctx, UA_JSONKEY_TEXT); - ret |= ENCODE_DIRECT_JSON(&src->text, String); - return ret | writeJsonObjEnd(ctx); - } - - /* For the non-reversible form, LocalizedText value shall be encoded as a - * JSON string containing the Text component.*/ - return ENCODE_DIRECT_JSON(&src->text, String); -} - -ENCODE_JSON(QualifiedName) { - status ret = writeJsonObjStart(ctx); - ret |= writeJsonKey(ctx, UA_JSONKEY_NAME); - ret |= ENCODE_DIRECT_JSON(&src->name, String); - - if(ctx->useReversible) { - if(src->namespaceIndex != 0) { - ret |= writeJsonKey(ctx, UA_JSONKEY_URI); - ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); - } - } else { - /* For the non-reversible form, the NamespaceUri associated with the - * NamespaceIndex portion of the QualifiedName is encoded as JSON string - * unless the NamespaceIndex is 1 or if NamespaceUri is unknown. In - * these cases, the NamespaceIndex is encoded as a JSON number. */ - if(src->namespaceIndex == 1) { - ret |= writeJsonKey(ctx, UA_JSONKEY_URI); - ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); - } else { - ret |= writeJsonKey(ctx, UA_JSONKEY_URI); - - /* Check if Namespace given and in range */ - if(src->namespaceIndex < ctx->namespacesSize && ctx->namespaces != NULL) { - UA_String namespaceEntry = ctx->namespaces[src->namespaceIndex]; - ret |= ENCODE_DIRECT_JSON(&namespaceEntry, String); - } else { - /* If not encode as number */ - ret |= ENCODE_DIRECT_JSON(&src->namespaceIndex, UInt16); - } - } - } - - return ret | writeJsonObjEnd(ctx); -} - -ENCODE_JSON(StatusCode) { - if(ctx->useReversible) - return ENCODE_DIRECT_JSON(src, UInt32); - - const char *codename = UA_StatusCode_name(*src); - UA_String statusDescription = UA_STRING((char*)(uintptr_t)codename); - - status ret = UA_STATUSCODE_GOOD; - ret |= writeJsonObjStart(ctx); - ret |= writeJsonKey(ctx, UA_JSONKEY_CODE); - ret |= ENCODE_DIRECT_JSON(src, UInt32); - ret |= writeJsonKey(ctx, UA_JSONKEY_SYMBOL); - ret |= ENCODE_DIRECT_JSON(&statusDescription, String); - ret |= writeJsonObjEnd(ctx); - return ret; -} - -/* ExtensionObject */ -ENCODE_JSON(ExtensionObject) { - if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) - return writeChars(ctx, "null", 4); - - /* Must have a type set if data is decoded */ - if(src->encoding >= UA_EXTENSIONOBJECT_DECODED && !src->content.decoded.type) - return UA_STATUSCODE_BADENCODINGERROR; - - status ret = writeJsonObjStart(ctx); - - /* Reversible encoding */ - if(ctx->useReversible) { - /* Write the type NodeId */ - ret |= writeJsonKey(ctx, UA_JSONKEY_TYPEID); - if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING || - src->encoding == UA_EXTENSIONOBJECT_ENCODED_XML) - ret |= ENCODE_DIRECT_JSON(&src->content.encoded.typeId, NodeId); - else - ret |= ENCODE_DIRECT_JSON(&src->content.decoded.type->typeId, NodeId); - - /* Write the encoding */ - if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING) { - ret |= writeJsonKey(ctx, UA_JSONKEY_ENCODING); - ret |= writeChar(ctx, '1'); - } else if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_XML) { - ret |= writeJsonKey(ctx, UA_JSONKEY_ENCODING); - ret |= writeChar(ctx, '2'); - } - } - - /* Write the body */ - ret |= writeJsonKey(ctx, UA_JSONKEY_BODY); - if(src->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING || - src->encoding == UA_EXTENSIONOBJECT_ENCODED_XML) { - ret |= ENCODE_DIRECT_JSON(&src->content.encoded.body, String); - } else { - const UA_DataType *t = src->content.decoded.type; - ret |= encodeJsonJumpTable[t->typeKind] - (ctx, src->content.decoded.data, t); - } - - return ret | writeJsonObjEnd(ctx); -} - -/* Non-builtin types get wrapped in an ExtensionObject */ -static status -encodeScalarJsonWrapExtensionObject(CtxJson *ctx, const UA_Variant *src) { - const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - const void *ptr = src->data; - const UA_DataType *type = src->type; - - /* Set up a temporary ExtensionObject to wrap the data */ - UA_ExtensionObject eo; - if(!isBuiltin) { - UA_ExtensionObject_init(&eo); - eo.encoding = UA_EXTENSIONOBJECT_DECODED; - eo.content.decoded.type = src->type; - eo.content.decoded.data = src->data; - ptr = &eo; - type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; - } - - return encodeJsonJumpTable[type->typeKind](ctx, ptr, type); -} - -/* Non-builtin types get wrapped in an ExtensionObject */ -static status -encodeArrayJsonWrapExtensionObject(CtxJson *ctx, const void *data, - size_t size, const UA_DataType *type) { - if(size > UA_INT32_MAX) - return UA_STATUSCODE_BADENCODINGERROR; - - status ret = writeJsonArrStart(ctx); - - u16 memSize = type->memSize; - const UA_Boolean isBuiltin = (type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - if(isBuiltin) { - uintptr_t ptr = (uintptr_t)data; - for(size_t i = 0; i < size && ret == UA_STATUSCODE_GOOD; ++i) { - ret |= writeJsonArrElm(ctx, (const void*)ptr, type); - ptr += memSize; - } - } else { - /* Set up a temporary ExtensionObject to wrap the data */ - UA_ExtensionObject eo; - UA_ExtensionObject_init(&eo); - eo.encoding = UA_EXTENSIONOBJECT_DECODED; - eo.content.decoded.type = type; - eo.content.decoded.data = (void*)(uintptr_t)data; - for(size_t i = 0; i < size && ret == UA_STATUSCODE_GOOD; ++i) { - ret |= writeJsonArrElm(ctx, &eo, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); - eo.content.decoded.data = (void*) - ((uintptr_t)eo.content.decoded.data + memSize); - } - } - - return ret | writeJsonArrEnd(ctx); -} - -static status -addMultiArrayContentJSON(CtxJson *ctx, void* array, const UA_DataType *type, - size_t *index, UA_UInt32 *arrayDimensions, size_t dimensionIndex, - size_t dimensionSize) { - /* Stop recursion: The inner arrays are written */ - status ret; - if(dimensionIndex == (dimensionSize - 1)) { - u8 *ptr = ((u8 *)array) + (type->memSize * *index); - u32 size = arrayDimensions[dimensionIndex]; - (*index) += arrayDimensions[dimensionIndex]; - return encodeArrayJsonWrapExtensionObject(ctx, ptr, size, type); - } - - /* Recurse to the next dimension */ - ret = writeJsonArrStart(ctx); - for(size_t i = 0; i < arrayDimensions[dimensionIndex]; i++) { - ret |= writeJsonBeforeElement(ctx, true); - ret |= addMultiArrayContentJSON(ctx, array, type, index, arrayDimensions, - dimensionIndex + 1, dimensionSize); - ctx->commaNeeded[ctx->depth] = true; - } - return ret | writeJsonArrEnd(ctx); -} - -ENCODE_JSON(Variant) { - /* If type is 0 (NULL) the Variant contains a NULL value and the containing - * JSON object shall be omitted or replaced by the JSON literal ‘null’ (when - * an element of a JSON array). */ - if(!src->type) - return writeJsonObjStart(ctx) | writeJsonObjEnd(ctx); - - /* Set the content type in the encoding mask */ - const UA_Boolean isBuiltin = (src->type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - - /* Set the array type in the encoding mask */ - const bool isArray = src->arrayLength > 0 || src->data <= UA_EMPTY_ARRAY_SENTINEL; - const bool hasDimensions = isArray && src->arrayDimensionsSize > 0; - - /* We cannot directly encode a variant inside a variant (but arrays of - * variant are possible) */ - UA_Boolean wrapEO = !isBuiltin; - if(src->type == &UA_TYPES[UA_TYPES_VARIANT] && !isArray) - wrapEO = true; - - status ret = writeJsonObjStart(ctx); - - /* Write the type NodeId */ - if(ctx->useReversible) { - UA_UInt32 typeId = src->type->typeId.identifier.numeric; - if(wrapEO) - typeId = UA_TYPES[UA_TYPES_EXTENSIONOBJECT].typeId.identifier.numeric; - ret |= writeJsonKey(ctx, UA_JSONKEY_TYPE); - ret |= ENCODE_DIRECT_JSON(&typeId, UInt32); - } - - /* Write the Variant body */ - ret |= writeJsonKey(ctx, UA_JSONKEY_BODY); - - if(!isArray) { - encodeScalarJsonWrapExtensionObject(ctx, src); - } else { - if(ctx->useReversible || !hasDimensions) { - ret |= encodeArrayJsonWrapExtensionObject(ctx, src->data, - src->arrayLength, src->type); - if(hasDimensions) { - ret |= writeJsonKey(ctx, UA_JSONKEY_DIMENSION); - ret |= encodeJsonArray(ctx, src->arrayDimensions, src->arrayDimensionsSize, - &UA_TYPES[UA_TYPES_UINT32]); - } - } else { - /* Special case of non-reversible array with dimensions */ - size_t index = 0; - ret |= addMultiArrayContentJSON(ctx, src->data, src->type, &index, - src->arrayDimensions, 0, - src->arrayDimensionsSize); - } - } - - return ret | writeJsonObjEnd(ctx); -} - -/* DataValue */ -ENCODE_JSON(DataValue) { - UA_Boolean hasValue = src->hasValue; - UA_Boolean hasStatus = src->hasStatus; - UA_Boolean hasSourceTimestamp = src->hasSourceTimestamp; - UA_Boolean hasSourcePicoseconds = src->hasSourcePicoseconds; - UA_Boolean hasServerTimestamp = src->hasServerTimestamp; - UA_Boolean hasServerPicoseconds = src->hasServerPicoseconds; - - status ret = writeJsonObjStart(ctx); - - if(hasValue) { - ret |= writeJsonKey(ctx, UA_JSONKEY_VALUE); - ret |= ENCODE_DIRECT_JSON(&src->value, Variant); - } - - if(hasStatus) { - ret |= writeJsonKey(ctx, UA_JSONKEY_STATUS); - ret |= ENCODE_DIRECT_JSON(&src->status, StatusCode); - } - - if(hasSourceTimestamp) { - ret |= writeJsonKey(ctx, UA_JSONKEY_SOURCETIMESTAMP); - ret |= ENCODE_DIRECT_JSON(&src->sourceTimestamp, DateTime); - } - - if(hasSourcePicoseconds) { - ret |= writeJsonKey(ctx, UA_JSONKEY_SOURCEPICOSECONDS); - ret |= ENCODE_DIRECT_JSON(&src->sourcePicoseconds, UInt16); - } - - if(hasServerTimestamp) { - ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERTIMESTAMP); - ret |= ENCODE_DIRECT_JSON(&src->serverTimestamp, DateTime); - } - - if(hasServerPicoseconds) { - ret |= writeJsonKey(ctx, UA_JSONKEY_SERVERPICOSECONDS); - ret |= ENCODE_DIRECT_JSON(&src->serverPicoseconds, UInt16); - } - - return ret | writeJsonObjEnd(ctx); -} - -/* DiagnosticInfo */ -ENCODE_JSON(DiagnosticInfo) { - status ret = writeJsonObjStart(ctx); - - if(src->hasSymbolicId) { - ret |= writeJsonKey(ctx, UA_JSONKEY_SYMBOLICID); - ret |= ENCODE_DIRECT_JSON(&src->symbolicId, Int32); - } - - if(src->hasNamespaceUri) { - ret |= writeJsonKey(ctx, UA_JSONKEY_NAMESPACEURI); - ret |= ENCODE_DIRECT_JSON(&src->namespaceUri, Int32); - } - - if(src->hasLocalizedText) { - ret |= writeJsonKey(ctx, UA_JSONKEY_LOCALIZEDTEXT); - ret |= ENCODE_DIRECT_JSON(&src->localizedText, Int32); - } - - if(src->hasLocale) { - ret |= writeJsonKey(ctx, UA_JSONKEY_LOCALE); - ret |= ENCODE_DIRECT_JSON(&src->locale, Int32); - } - - if(src->hasAdditionalInfo) { - ret |= writeJsonKey(ctx, UA_JSONKEY_ADDITIONALINFO); - ret |= ENCODE_DIRECT_JSON(&src->additionalInfo, String); - } - - if(src->hasInnerStatusCode) { - ret |= writeJsonKey(ctx, UA_JSONKEY_INNERSTATUSCODE); - ret |= ENCODE_DIRECT_JSON(&src->innerStatusCode, StatusCode); - } - - if(src->hasInnerDiagnosticInfo && src->innerDiagnosticInfo) { - ret |= writeJsonKey(ctx, UA_JSONKEY_INNERDIAGNOSTICINFO); - ret |= encodeJsonJumpTable[UA_DATATYPEKIND_DIAGNOSTICINFO] - (ctx, src->innerDiagnosticInfo, NULL); - } - - return ret | writeJsonObjEnd(ctx); -} - -static status -encodeJsonStructure(CtxJson *ctx, const void *src, const UA_DataType *type) { - status ret = writeJsonObjStart(ctx); - if(ret != UA_STATUSCODE_GOOD) - return ret; - - uintptr_t ptr = (uintptr_t) src; - u8 membersSize = type->membersSize; - for(size_t i = 0; i < membersSize && ret == UA_STATUSCODE_GOOD; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - - if(m->memberName != NULL && *m->memberName != 0) - ret |= writeJsonKey(ctx, m->memberName); - - if(!m->isArray) { - ptr += m->padding; - size_t memSize = mt->memSize; - ret |= encodeJsonJumpTable[mt->typeKind](ctx, (const void*) ptr, mt); - ptr += memSize; - } else { - ptr += m->padding; - const size_t length = *((const size_t*) ptr); - ptr += sizeof (size_t); - ret |= encodeJsonArray(ctx, *(void * const *)ptr, length, mt); - ptr += sizeof (void*); - } - } - - return ret | writeJsonObjEnd(ctx); -} - -static status -encodeJsonNotImplemented(const void *src, const UA_DataType *type, CtxJson *ctx) { - (void) src, (void) type, (void)ctx; - return UA_STATUSCODE_BADNOTIMPLEMENTED; -} - -const encodeJsonSignature encodeJsonJumpTable[UA_DATATYPEKINDS] = { - (encodeJsonSignature)Boolean_encodeJson, - (encodeJsonSignature)SByte_encodeJson, /* SByte */ - (encodeJsonSignature)Byte_encodeJson, - (encodeJsonSignature)Int16_encodeJson, /* Int16 */ - (encodeJsonSignature)UInt16_encodeJson, - (encodeJsonSignature)Int32_encodeJson, /* Int32 */ - (encodeJsonSignature)UInt32_encodeJson, - (encodeJsonSignature)Int64_encodeJson, /* Int64 */ - (encodeJsonSignature)UInt64_encodeJson, - (encodeJsonSignature)Float_encodeJson, - (encodeJsonSignature)Double_encodeJson, - (encodeJsonSignature)String_encodeJson, - (encodeJsonSignature)DateTime_encodeJson, /* DateTime */ - (encodeJsonSignature)Guid_encodeJson, - (encodeJsonSignature)ByteString_encodeJson, /* ByteString */ - (encodeJsonSignature)String_encodeJson, /* XmlElement */ - (encodeJsonSignature)NodeId_encodeJson, - (encodeJsonSignature)ExpandedNodeId_encodeJson, - (encodeJsonSignature)StatusCode_encodeJson, /* StatusCode */ - (encodeJsonSignature)QualifiedName_encodeJson, /* QualifiedName */ - (encodeJsonSignature)LocalizedText_encodeJson, - (encodeJsonSignature)ExtensionObject_encodeJson, - (encodeJsonSignature)DataValue_encodeJson, - (encodeJsonSignature)Variant_encodeJson, - (encodeJsonSignature)DiagnosticInfo_encodeJson, - (encodeJsonSignature)encodeJsonNotImplemented, /* Decimal */ - (encodeJsonSignature)Int32_encodeJson, /* Enum */ - (encodeJsonSignature)encodeJsonStructure, - (encodeJsonSignature)encodeJsonNotImplemented, /* Structure with optional fields */ - (encodeJsonSignature)encodeJsonNotImplemented, /* Union */ - (encodeJsonSignature)encodeJsonNotImplemented /* BitfieldCluster */ -}; - -UA_StatusCode -UA_encodeJson(const void *src, const UA_DataType *type, UA_ByteString *outBuf, - const UA_EncodeJsonOptions *options) { - if(!src || !type) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate buffer */ - UA_Boolean allocated = false; - status res = UA_STATUSCODE_GOOD; - if(outBuf->length == 0) { - size_t len = UA_calcSizeJson(src, type, options); - res = UA_ByteString_allocBuffer(outBuf, len); - if(res != UA_STATUSCODE_GOOD) - return res; - allocated = true; - } - - /* Set up the context */ - CtxJson ctx; - memset(&ctx, 0, sizeof(ctx)); - ctx.pos = outBuf->data; - ctx.end = &outBuf->data[outBuf->length]; - ctx.depth = 0; - ctx.calcOnly = false; - ctx.useReversible = true; /* default */ - if(options) { - ctx.namespaces = options->namespaces; - ctx.namespacesSize = options->namespacesSize; - ctx.serverUris = options->serverUris; - ctx.serverUrisSize = options->serverUrisSize; - ctx.useReversible = options->useReversible; - ctx.prettyPrint = options->prettyPrint; - ctx.unquotedKeys = options->unquotedKeys; - ctx.stringNodeIds = options->stringNodeIds; - } - - /* Encode */ - res = encodeJsonJumpTable[type->typeKind](&ctx, src, type); - - /* Clean up */ - if(res == UA_STATUSCODE_GOOD) - outBuf->length = (size_t)((uintptr_t)ctx.pos - (uintptr_t)outBuf->data); - else if(allocated) - UA_ByteString_clear(outBuf); - return res; -} - -UA_StatusCode -UA_print(const void *p, const UA_DataType *type, UA_String *output) { - if(!p || !type || !output) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_EncodeJsonOptions options; - memset(&options, 0, sizeof(UA_EncodeJsonOptions)); - options.useReversible = true; - options.prettyPrint = true; - options.unquotedKeys = true; - options.stringNodeIds = true; - return UA_encodeJson(p, type, output, &options); -} - -/************/ -/* CalcSize */ -/************/ - -size_t -UA_calcSizeJson(const void *src, const UA_DataType *type, - const UA_EncodeJsonOptions *options) { - if(!src || !type) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Set up the context */ - CtxJson ctx; - memset(&ctx, 0, sizeof(ctx)); - ctx.pos = NULL; - ctx.end = (const UA_Byte*)(uintptr_t)SIZE_MAX; - ctx.depth = 0; - ctx.useReversible = true; /* default */ - if(options) { - ctx.namespaces = options->namespaces; - ctx.namespacesSize = options->namespacesSize; - ctx.serverUris = options->serverUris; - ctx.serverUrisSize = options->serverUrisSize; - ctx.useReversible = options->useReversible; - ctx.prettyPrint = options->prettyPrint; - ctx.unquotedKeys = options->unquotedKeys; - ctx.stringNodeIds = options->stringNodeIds; - } - - ctx.calcOnly = true; - - /* Encode */ - status ret = encodeJsonJumpTable[type->typeKind](&ctx, src, type); - if(ret != UA_STATUSCODE_GOOD) - return 0; - return (size_t)ctx.pos; -} - -/**********/ -/* Decode */ -/**********/ - -#define GET_TOKEN \ - size_t tokenSize = getTokenLength(&ctx->tokens[ctx->index]); \ - const char* tokenData = &ctx->json5[ctx->tokens[ctx->index].start]; \ - do {} while(0) - -#define CHECK_TOKEN_BOUNDS do { \ - if(ctx->index >= ctx->tokensSize) \ - return UA_STATUSCODE_BADDECODINGERROR; \ - } while(0) - -#define CHECK_NUMBER do { \ - if(currentTokenType(ctx) != CJ5_TOKEN_NUMBER) { \ - return UA_STATUSCODE_BADDECODINGERROR; \ - }} while(0) - -#define CHECK_BOOL do { \ - if(currentTokenType(ctx) != CJ5_TOKEN_BOOL) { \ - return UA_STATUSCODE_BADDECODINGERROR; \ - }} while(0) - -#define CHECK_STRING do { \ - if(currentTokenType(ctx) != CJ5_TOKEN_STRING) { \ - return UA_STATUSCODE_BADDECODINGERROR; \ - }} while(0) - -#define CHECK_OBJECT do { \ - if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) { \ - return UA_STATUSCODE_BADDECODINGERROR; \ - }} while(0) - -#define CHECK_NULL_SKIP do { \ - if(currentTokenType(ctx) == CJ5_TOKEN_NULL) { \ - ctx->index++; \ - return UA_STATUSCODE_GOOD; \ - }} while(0) - -/* Forward declarations*/ -#define DECODE_JSON(TYPE) static status \ - TYPE##_decodeJson(ParseCtx *ctx, UA_##TYPE *dst, \ - const UA_DataType *type) - -/* If ctx->index points to the beginning of an object, move the index to the - * next token after this object. Attention! The index can be moved after the - * last parsed token. So the array length has to be checked afterwards. */ -static void -skipObject(ParseCtx *ctx) { - unsigned int end = ctx->tokens[ctx->index].end; - do { - ctx->index++; - } while(ctx->index < ctx->tokensSize && - ctx->tokens[ctx->index].start < end); -} - -static status -Array_decodeJson(ParseCtx *ctx, void **dst, const UA_DataType *type); - -static status -Variant_decodeJsonUnwrapExtensionObject(ParseCtx *ctx, void *p, const UA_DataType *type); - -static UA_SByte -jsoneq(const char *json, const cj5_token *tok, const char *searchKey) { - /* TODO: necessary? - if(json == NULL - || tok == NULL - || searchKey == NULL) { - return -1; - } */ - - size_t len = getTokenLength(tok); - if(tok->type == CJ5_TOKEN_STRING && - strlen(searchKey) == len && - strncmp(json + tok->start, (const char*)searchKey, len) == 0) - return 0; - - return -1; -} - -DECODE_JSON(Boolean) { - CHECK_TOKEN_BOUNDS; - CHECK_BOOL; - GET_TOKEN; - - if(tokenSize == 4 && - tokenData[0] == 't' && tokenData[1] == 'r' && - tokenData[2] == 'u' && tokenData[3] == 'e') { - *dst = true; - } else if(tokenSize == 5 && - tokenData[0] == 'f' && tokenData[1] == 'a' && - tokenData[2] == 'l' && tokenData[3] == 's' && - tokenData[4] == 'e') { - *dst = false; - } else { - return UA_STATUSCODE_BADDECODINGERROR; - } - - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -parseUnsignedInteger(const char *tokenData, size_t tokenSize, UA_UInt64 *dst) { - size_t len = parseUInt64(tokenData, tokenSize, dst); - if(len == 0) - return UA_STATUSCODE_BADDECODINGERROR; - - /* There must only be whitespace between the end of the parsed number and - * the end of the token */ - for(size_t i = len; i < tokenSize; i++) { - if(tokenData[i] != ' ' && tokenData[i] -'\t' >= 5) - return UA_STATUSCODE_BADDECODINGERROR; - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -parseSignedInteger(const char *tokenData, size_t tokenSize, UA_Int64 *dst) { - size_t len = parseInt64(tokenData, tokenSize, dst); - if(len == 0) - return UA_STATUSCODE_BADDECODINGERROR; - - /* There must only be whitespace between the end of the parsed number and - * the end of the token */ - for(size_t i = len; i < tokenSize; i++) { - if(tokenData[i] != ' ' && tokenData[i] -'\t' >= 5) - return UA_STATUSCODE_BADDECODINGERROR; - } - - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(Byte) { - CHECK_TOKEN_BOUNDS; - CHECK_NUMBER; - GET_TOKEN; - - UA_UInt64 out = 0; - UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, &out); - if(s != UA_STATUSCODE_GOOD || out > UA_BYTE_MAX) - return UA_STATUSCODE_BADDECODINGERROR; - *dst = (UA_Byte)out; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(UInt16) { - CHECK_TOKEN_BOUNDS; - CHECK_NUMBER; - GET_TOKEN; - - UA_UInt64 out = 0; - UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, &out); - if(s != UA_STATUSCODE_GOOD || out > UA_UINT16_MAX) - return UA_STATUSCODE_BADDECODINGERROR; - *dst = (UA_UInt16)out; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(UInt32) { - CHECK_TOKEN_BOUNDS; - CHECK_NUMBER; - GET_TOKEN; - - UA_UInt64 out = 0; - UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, &out); - if(s != UA_STATUSCODE_GOOD || out > UA_UINT32_MAX) - return UA_STATUSCODE_BADDECODINGERROR; - *dst = (UA_UInt32)out; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(UInt64) { - CHECK_TOKEN_BOUNDS; - GET_TOKEN; - - UA_StatusCode s = parseUnsignedInteger(tokenData, tokenSize, dst); - if(s != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADDECODINGERROR; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(SByte) { - CHECK_TOKEN_BOUNDS; - CHECK_NUMBER; - GET_TOKEN; - - UA_Int64 out = 0; - UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, &out); - if(s != UA_STATUSCODE_GOOD || out < UA_SBYTE_MIN || out > UA_SBYTE_MAX) - return UA_STATUSCODE_BADDECODINGERROR; - *dst = (UA_SByte)out; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(Int16) { - CHECK_TOKEN_BOUNDS; - CHECK_NUMBER; - GET_TOKEN; - - UA_Int64 out = 0; - UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, &out); - if(s != UA_STATUSCODE_GOOD || out < UA_INT16_MIN || out > UA_INT16_MAX) - return UA_STATUSCODE_BADDECODINGERROR; - *dst = (UA_Int16)out; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(Int32) { - CHECK_TOKEN_BOUNDS; - CHECK_NUMBER; - GET_TOKEN; - - UA_Int64 out = 0; - UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, &out); - if(s != UA_STATUSCODE_GOOD || out < UA_INT32_MIN || out > UA_INT32_MAX) - return UA_STATUSCODE_BADDECODINGERROR; - *dst = (UA_Int32)out; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(Int64) { - CHECK_TOKEN_BOUNDS; - GET_TOKEN; - - UA_StatusCode s = parseSignedInteger(tokenData, tokenSize, dst); - if(s != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADDECODINGERROR; - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -/* Either a STRING or NUMBER token */ -DECODE_JSON(Double) { - CHECK_TOKEN_BOUNDS; - GET_TOKEN; - - /* https://www.exploringbinary.com/maximum-number-of-decimal-digits-in-binary-floating-point-numbers/ - * Maximum digit counts for select IEEE floating-point formats: 1074 - * Sanity check. - */ - if(tokenSize > 2000) - return UA_STATUSCODE_BADDECODINGERROR; - - cj5_token_type tokenType = currentTokenType(ctx); - - /* It could be a String with Nan, Infinity */ - if(tokenType == CJ5_TOKEN_STRING) { - ctx->index++; - - if(tokenSize == 8 && memcmp(tokenData, "Infinity", 8) == 0) { - *dst = INFINITY; - return UA_STATUSCODE_GOOD; - } - - if(tokenSize == 9 && memcmp(tokenData, "-Infinity", 9) == 0) { - /* workaround an MSVC 2013 issue */ - *dst = -INFINITY; - return UA_STATUSCODE_GOOD; - } - - if(tokenSize == 3 && memcmp(tokenData, "NaN", 3) == 0) { - *dst = NAN; - return UA_STATUSCODE_GOOD; - } - - if(tokenSize == 4 && memcmp(tokenData, "-NaN", 4) == 0) { - *dst = NAN; - return UA_STATUSCODE_GOOD; - } - - return UA_STATUSCODE_BADDECODINGERROR; - } - - if(tokenType != CJ5_TOKEN_NUMBER) - return UA_STATUSCODE_BADDECODINGERROR; - - size_t len = parseDouble(tokenData, tokenSize, dst); - if(len == 0) - return UA_STATUSCODE_BADDECODINGERROR; - - /* There must only be whitespace between the end of the parsed number and - * the end of the token */ - for(size_t i = len; i < tokenSize; i++) { - if(tokenData[i] != ' ' && tokenData[i] -'\t' >= 5) - return UA_STATUSCODE_BADDECODINGERROR; - } - - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(Float) { - UA_Double v = 0.0; - UA_StatusCode res = Double_decodeJson(ctx, &v, NULL); - *dst = (UA_Float)v; - return res; -} - -DECODE_JSON(Guid) { - CHECK_TOKEN_BOUNDS; - CHECK_STRING; - GET_TOKEN; - - /* Use the existing parsing routine if available */ - UA_String str = {tokenSize, (UA_Byte*)(uintptr_t)tokenData}; - ctx->index++; - return UA_Guid_parse(dst, str); -} - -DECODE_JSON(String) { - CHECK_TOKEN_BOUNDS; - CHECK_STRING; - GET_TOKEN; - (void)tokenData; - - /* Empty string? */ - if(tokenSize == 0) { - dst->data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; - dst->length = 0; - ctx->index++; - return UA_STATUSCODE_GOOD; - } - - /* The decoded utf8 is at most of the same length as the source string */ - char *outBuf = (char*)UA_malloc(tokenSize+1); - if(!outBuf) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Decode the string */ - cj5_result r; - r.tokens = ctx->tokens; - r.num_tokens = (unsigned int)ctx->tokensSize; - r.json5 = ctx->json5; - unsigned int len = 0; - cj5_error_code err = cj5_get_str(&r, (unsigned int)ctx->index, outBuf, &len); - if(err != CJ5_ERROR_NONE) { - UA_free(outBuf); - return UA_STATUSCODE_BADDECODINGERROR; - } - - /* Set the output */ - dst->length = len; - if(dst->length > 0) { - dst->data = (UA_Byte*)outBuf; - } else { - dst->data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; - UA_free(outBuf); - } - - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(ByteString) { - CHECK_TOKEN_BOUNDS; - CHECK_STRING; - GET_TOKEN; - - /* Empty bytestring? */ - if(tokenSize == 0) { - dst->data = (UA_Byte*)UA_EMPTY_ARRAY_SENTINEL; - dst->length = 0; - } else { - size_t flen = 0; - unsigned char* unB64 = - UA_unbase64((const unsigned char*)tokenData, tokenSize, &flen); - if(unB64 == 0) - return UA_STATUSCODE_BADDECODINGERROR; - dst->data = (u8*)unB64; - dst->length = flen; - } - - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(LocalizedText) { - CHECK_OBJECT; - - DecodeEntry entries[2] = { - {UA_JSONKEY_LOCALE, &dst->locale, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, - {UA_JSONKEY_TEXT, &dst->text, NULL, false, &UA_TYPES[UA_TYPES_STRING]} - }; - - return decodeFields(ctx, entries, 2); -} - -DECODE_JSON(QualifiedName) { - CHECK_OBJECT; - - DecodeEntry entries[2] = { - {UA_JSONKEY_NAME, &dst->name, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, - {UA_JSONKEY_URI, &dst->namespaceIndex, NULL, false, &UA_TYPES[UA_TYPES_UINT16]} - }; - - return decodeFields(ctx, entries, 2); -} - -UA_FUNC_ATTR_WARN_UNUSED_RESULT status -lookAheadForKey(ParseCtx *ctx, const char *key, size_t *resultIndex) { - /* The current index must point to the beginning of an object. - * This has to be ensured by the caller. */ - UA_assert(currentTokenType(ctx) == CJ5_TOKEN_OBJECT); - - status ret = UA_STATUSCODE_BADNOTFOUND; - size_t oldIndex = ctx->index; /* Save index for later restore */ - unsigned int end = ctx->tokens[ctx->index].end; - ctx->index++; /* Move to the first key */ - while(ctx->index < ctx->tokensSize && - ctx->tokens[ctx->index].start < end) { - /* Key must be a string */ - UA_assert(currentTokenType(ctx) == CJ5_TOKEN_STRING); - - /* Move index to the value */ - ctx->index++; - - /* Value for the key must exist */ - UA_assert(ctx->index < ctx->tokensSize); - - /* Compare the key (previous index) */ - if(jsoneq(ctx->json5, &ctx->tokens[ctx->index-1], key) == 0) { - *resultIndex = ctx->index; /* Point result to the current index */ - ret = UA_STATUSCODE_GOOD; - break; - } - - skipObject(ctx); /* Jump over the value (can also be an array or object) */ - } - ctx->index = oldIndex; /* Restore the old index */ - return ret; -} - -static status -prepareDecodeNodeIdJson(ParseCtx *ctx, UA_NodeId *dst, - u8 *fieldCount, DecodeEntry *entries) { - UA_assert(currentTokenType(ctx) == CJ5_TOKEN_OBJECT); - - /* possible keys: Id, IdType, NamespaceIndex */ - /* Id must always be present */ - entries[*fieldCount].fieldName = UA_JSONKEY_ID; - entries[*fieldCount].found = false; - entries[*fieldCount].type = NULL; - entries[*fieldCount].function = NULL; - - /* IdType */ - size_t idIndex = 0; - status ret = lookAheadForKey(ctx, UA_JSONKEY_IDTYPE, &idIndex); - if(ret == UA_STATUSCODE_GOOD) { - size_t size = getTokenLength(&ctx->tokens[idIndex]); - if(size < 1) - return UA_STATUSCODE_BADDECODINGERROR; - - const char *idType = &ctx->json5[ctx->tokens[idIndex].start]; - - if(idType[0] == '2') { - dst->identifierType = UA_NODEIDTYPE_GUID; - entries[*fieldCount].fieldPointer = &dst->identifier.guid; - entries[*fieldCount].type = &UA_TYPES[UA_TYPES_GUID]; - } else if(idType[0] == '1') { - dst->identifierType = UA_NODEIDTYPE_STRING; - entries[*fieldCount].fieldPointer = &dst->identifier.string; - entries[*fieldCount].type = &UA_TYPES[UA_TYPES_STRING]; - } else if(idType[0] == '3') { - dst->identifierType = UA_NODEIDTYPE_BYTESTRING; - entries[*fieldCount].fieldPointer = &dst->identifier.byteString; - entries[*fieldCount].type = &UA_TYPES[UA_TYPES_BYTESTRING]; - } else { - return UA_STATUSCODE_BADDECODINGERROR; - } - - /* Id always present */ - (*fieldCount)++; - - entries[*fieldCount].fieldName = UA_JSONKEY_IDTYPE; - entries[*fieldCount].fieldPointer = NULL; - entries[*fieldCount].function = NULL; - entries[*fieldCount].found = false; - entries[*fieldCount].type = NULL; - - /* IdType */ - (*fieldCount)++; - } else { - dst->identifierType = UA_NODEIDTYPE_NUMERIC; - entries[*fieldCount].fieldPointer = &dst->identifier.numeric; - entries[*fieldCount].function = NULL; - entries[*fieldCount].found = false; - entries[*fieldCount].type = &UA_TYPES[UA_TYPES_UINT32]; - (*fieldCount)++; - } - - /* NodeId has a NamespaceIndex (the ExpandedNodeId specialization may - * overwrite this) */ - entries[*fieldCount].fieldName = UA_JSONKEY_NAMESPACE; - entries[*fieldCount].fieldPointer = &dst->namespaceIndex; - entries[*fieldCount].function = NULL; - entries[*fieldCount].found = false; - entries[*fieldCount].type = &UA_TYPES[UA_TYPES_UINT16]; - (*fieldCount)++; - - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(NodeId) { - /* Non-standard decoding of NodeIds from the string representation */ - if(currentTokenType(ctx) == CJ5_TOKEN_STRING) { - GET_TOKEN; - UA_String str = {tokenSize, (UA_Byte*)(uintptr_t)tokenData}; - ctx->index++; - return UA_NodeId_parse(dst, str); - } - - /* Object representation */ - CHECK_OBJECT; - - u8 fieldCount = 0; - DecodeEntry entries[3]; - status ret = prepareDecodeNodeIdJson(ctx, dst, &fieldCount, entries); - if(ret != UA_STATUSCODE_GOOD) - return ret; - return decodeFields(ctx, entries, fieldCount); -} - -static status -decodeExpandedNodeIdNamespace(ParseCtx *ctx, void *dst, const UA_DataType *type) { - UA_ExpandedNodeId *en = (UA_ExpandedNodeId*)dst; - - /* Parse as a number */ - size_t oldIndex = ctx->index; - status ret = UInt16_decodeJson(ctx, &en->nodeId.namespaceIndex, NULL); - if(ret == UA_STATUSCODE_GOOD) - return ret; - - /* Parse as a string */ - ctx->index = oldIndex; /* Reset the index */ - ret = String_decodeJson(ctx, &en->namespaceUri, NULL); - if(ret != UA_STATUSCODE_GOOD) - return ret; - - /* Replace with the index if the URI is found. Otherwise keep the string. */ - for(size_t i = 0; i < ctx->namespacesSize; i++) { - if(UA_String_equal(&en->namespaceUri, &ctx->namespaces[i])) { - UA_String_clear(&en->namespaceUri); - en->nodeId.namespaceIndex = (UA_UInt16)i; - break; - } - } - - return UA_STATUSCODE_GOOD; -} - -static status -decodeExpandedNodeIdServerUri(ParseCtx *ctx, void *dst, const UA_DataType *type) { - UA_ExpandedNodeId *en = (UA_ExpandedNodeId*)dst; - - /* Parse as a number */ - size_t oldIndex = ctx->index; - status ret = UInt32_decodeJson(ctx, &en->serverIndex, NULL); - if(ret == UA_STATUSCODE_GOOD) - return ret; - - /* Parse as a string */ - UA_String uri = UA_STRING_NULL; - ctx->index = oldIndex; /* Reset the index */ - ret = String_decodeJson(ctx, &uri, NULL); - if(ret != UA_STATUSCODE_GOOD) - return ret; - - /* Try to translate the URI into an index */ - ret = UA_STATUSCODE_BADDECODINGERROR; - for(size_t i = 0; i < ctx->serverUrisSize; i++) { - if(UA_String_equal(&uri, &ctx->serverUris[i])) { - en->serverIndex = (UA_UInt32)i; - ret = UA_STATUSCODE_GOOD; - break; - } - } - - UA_String_clear(&uri); - return ret; -} - -DECODE_JSON(ExpandedNodeId) { - /* Non-standard decoding of ExpandedNodeIds from the string representation */ - if(currentTokenType(ctx) == CJ5_TOKEN_STRING) { - GET_TOKEN; - UA_String str = {tokenSize, (UA_Byte*)(uintptr_t)tokenData}; - ctx->index++; - return UA_ExpandedNodeId_parse(dst, str); - } - - /* Object representation */ - CHECK_OBJECT; - - u8 fieldCount = 0; - DecodeEntry entries[4]; - status ret = prepareDecodeNodeIdJson(ctx, &dst->nodeId, &fieldCount, entries); - if(ret != UA_STATUSCODE_GOOD) - return ret; - - /* Overwrite the namespace entry */ - fieldCount--; - entries[fieldCount].fieldPointer = dst; - entries[fieldCount].function = decodeExpandedNodeIdNamespace; - entries[fieldCount].type = NULL; - fieldCount++; - - entries[fieldCount].fieldName = UA_JSONKEY_SERVERURI; - entries[fieldCount].fieldPointer = dst; - entries[fieldCount].function = decodeExpandedNodeIdServerUri; - entries[fieldCount].found = false; - entries[fieldCount].type = NULL; - fieldCount++; - - return decodeFields(ctx, entries, fieldCount); -} - -DECODE_JSON(DateTime) { - CHECK_TOKEN_BOUNDS; - CHECK_STRING; - GET_TOKEN; - - /* The last character has to be 'Z'. We can omit some length checks later on - * because we know the atoi functions stop before the 'Z'. */ - if(tokenSize == 0 || tokenData[tokenSize-1] != 'Z') - return UA_STATUSCODE_BADDECODINGERROR; - - struct musl_tm dts; - memset(&dts, 0, sizeof(dts)); - - size_t pos = 0; - size_t len; - - /* Parse the year. The ISO standard asks for four digits. But we accept up - * to five with an optional plus or minus in front due to the range of the - * DateTime 64bit integer. But in that case we require the year and the - * month to be separated by a '-'. Otherwise we cannot know where the month - * starts. */ - if(tokenData[0] == '-' || tokenData[0] == '+') - pos++; - UA_Int64 year = 0; - len = parseInt64(&tokenData[pos], 5, &year); - pos += len; - if(len != 4 && tokenData[pos] != '-') - return UA_STATUSCODE_BADDECODINGERROR; - if(tokenData[0] == '-') - year = -year; - dts.tm_year = (UA_Int16)year - 1900; - if(tokenData[pos] == '-') - pos++; - - /* Parse the month */ - UA_UInt64 month = 0; - len = parseUInt64(&tokenData[pos], 2, &month); - pos += len; - UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); - dts.tm_mon = (UA_UInt16)month - 1; - if(tokenData[pos] == '-') - pos++; - - /* Parse the day and check the T between date and time */ - UA_UInt64 day = 0; - len = parseUInt64(&tokenData[pos], 2, &day); - pos += len; - UA_CHECK(len == 2 || tokenData[pos] != 'T', - return UA_STATUSCODE_BADDECODINGERROR); - dts.tm_mday = (UA_UInt16)day; - pos++; - - /* Parse the hour */ - UA_UInt64 hour = 0; - len = parseUInt64(&tokenData[pos], 2, &hour); - pos += len; - UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); - dts.tm_hour = (UA_UInt16)hour; - if(tokenData[pos] == ':') - pos++; - - /* Parse the minute */ - UA_UInt64 min = 0; - len = parseUInt64(&tokenData[pos], 2, &min); - pos += len; - UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); - dts.tm_min = (UA_UInt16)min; - if(tokenData[pos] == ':') - pos++; - - /* Parse the second */ - UA_UInt64 sec = 0; - len = parseUInt64(&tokenData[pos], 2, &sec); - pos += len; - UA_CHECK(len == 2, return UA_STATUSCODE_BADDECODINGERROR); - dts.tm_sec = (UA_UInt16)sec; - - /* Compute the seconds since the Unix epoch */ - long long sinceunix = musl_tm_to_secs(&dts); - - /* Are we within the range that can be represented? */ - long long sinceunix_min = - (long long)(UA_INT64_MIN / UA_DATETIME_SEC) - - (long long)(UA_DATETIME_UNIX_EPOCH / UA_DATETIME_SEC) - - (long long)1; /* manual correction due to rounding */ - long long sinceunix_max = (long long) - ((UA_INT64_MAX - UA_DATETIME_UNIX_EPOCH) / UA_DATETIME_SEC); - if(sinceunix < sinceunix_min || sinceunix > sinceunix_max) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Convert to DateTime. Add or subtract one extra second here to prevent - * underflow/overflow. This is reverted once the fractional part has been - * added. */ - sinceunix -= (sinceunix > 0) ? 1 : -1; - UA_DateTime dt = (UA_DateTime) - (sinceunix + (UA_DATETIME_UNIX_EPOCH / UA_DATETIME_SEC)) * UA_DATETIME_SEC; - - /* Parse the fraction of the second if defined */ - if(tokenData[pos] == ',' || tokenData[pos] == '.') { - pos++; - double frac = 0.0; - double denom = 0.1; - while(pos < tokenSize && - tokenData[pos] >= '0' && tokenData[pos] <= '9') { - frac += denom * (tokenData[pos] - '0'); - denom *= 0.1; - pos++; - } - frac += 0.00000005; /* Correct rounding when converting to integer */ - dt += (UA_DateTime)(frac * UA_DATETIME_SEC); - } - - /* Remove the underflow/overflow protection (see above) */ - if(sinceunix > 0) { - if(dt > UA_INT64_MAX - UA_DATETIME_SEC) - return UA_STATUSCODE_BADDECODINGERROR; - dt += UA_DATETIME_SEC; - } else { - if(dt < UA_INT64_MIN + UA_DATETIME_SEC) - return UA_STATUSCODE_BADDECODINGERROR; - dt -= UA_DATETIME_SEC; - } - - /* We must be at the end of the string (ending with 'Z' as checked above) */ - if(pos != tokenSize - 1) - return UA_STATUSCODE_BADDECODINGERROR; - - *dst = dt; - - ctx->index++; - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(StatusCode) { - return UInt32_decodeJson(ctx, dst, NULL); -} - -static status -VariantDimension_decodeJson(ParseCtx *ctx, void *dst, const UA_DataType *type) { - (void) type; - const UA_DataType *dimType = &UA_TYPES[UA_TYPES_UINT32]; - return Array_decodeJson(ctx, (void**)dst, dimType); -} - -/* Get type type encoded by the ExtensionObject at ctx->index. - * Returns NULL if that fails (type unknown or otherwise). */ -static const UA_DataType * -getExtensionObjectType(ParseCtx *ctx) { - if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) - return NULL; - - /* Get the type NodeId index */ - size_t typeIdIndex = 0; - UA_StatusCode ret = lookAheadForKey(ctx, UA_JSONKEY_TYPEID, &typeIdIndex); - if(ret != UA_STATUSCODE_GOOD) - return NULL; - - size_t oldIndex = ctx->index; - ctx->index = typeIdIndex; - - /* Decode the type NodeId */ - UA_NodeId typeId; - UA_NodeId_init(&typeId); - ret = NodeId_decodeJson(ctx, &typeId, &UA_TYPES[UA_TYPES_NODEID]); - ctx->index = oldIndex; - if(ret != UA_STATUSCODE_GOOD) { - UA_NodeId_clear(&typeId); /* We don't have the global cleanup */ - return NULL; - } - - /* Lookup an return */ - const UA_DataType *type = UA_findDataTypeWithCustom(&typeId, ctx->customTypes); - UA_NodeId_clear(&typeId); - return type; -} - -/* Check if all array members are ExtensionObjects of the same type. Return this - * type or NULL. */ -static const UA_DataType * -getArrayUnwrapType(ParseCtx *ctx, size_t arrayIndex) { - UA_assert(ctx->tokens[arrayIndex].type == CJ5_TOKEN_ARRAY); - - /* Save index to restore later */ - size_t oldIndex = ctx->index; - ctx->index = arrayIndex; - - /* Return early for empty arrays */ - size_t length = (size_t)ctx->tokens[ctx->index].size; - if(length == 0) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* Go to first array member */ - ctx->index++; - - /* Lookup the type for the first array member */ - UA_NodeId typeId; - UA_NodeId_init(&typeId); - const UA_DataType *typeOfBody = getExtensionObjectType(ctx); - if(!typeOfBody) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* The content is a builtin type that could have been directly encoded in - * the Variant, there was no need to wrap in an ExtensionObject. But this - * means for us, that somebody made an extra effort to explicitly get an - * ExtensionObject. So we keep it. As an added advantage we will generate - * the same JSON again when encoding again. */ - UA_Boolean isBuiltin = (typeOfBody->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - if(isBuiltin) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* Get the typeId index for faster comparison below. - * Cannot fail as getExtensionObjectType already looked this up. */ - size_t typeIdIndex = 0; - UA_StatusCode ret = lookAheadForKey(ctx, UA_JSONKEY_TYPEID, &typeIdIndex); - (void)ret; - UA_assert(ret == UA_STATUSCODE_GOOD); - const char* typeIdData = &ctx->json5[ctx->tokens[typeIdIndex].start]; - size_t typeIdSize = getTokenLength(&ctx->tokens[typeIdIndex]); - - /* Loop over all members and check whether they can be unwrapped */ - for(size_t i = 0; i < length; i++) { - /* Array element must be an object */ - if(currentTokenType(ctx) != CJ5_TOKEN_OBJECT) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* Check for non-JSON encoding */ - size_t encIndex = 0; - ret = lookAheadForKey(ctx, UA_JSONKEY_ENCODING, &encIndex); - if(ret == UA_STATUSCODE_GOOD) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* Get the type NodeId index */ - size_t memberTypeIdIndex = 0; - ret = lookAheadForKey(ctx, UA_JSONKEY_TYPEID, &memberTypeIdIndex); - if(ret != UA_STATUSCODE_GOOD) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* Is it the same type? Compare raw NodeId string */ - const char* memberTypeIdData = &ctx->json5[ctx->tokens[memberTypeIdIndex].start]; - size_t memberTypeIdSize = getTokenLength(&ctx->tokens[memberTypeIdIndex]); - if(typeIdSize != memberTypeIdSize || - memcmp(typeIdData, memberTypeIdData, typeIdSize) != 0) { - ctx->index = oldIndex; /* Restore the index */ - return NULL; - } - - /* Skip to the next array member */ - skipObject(ctx); - } - - ctx->index = oldIndex; /* Restore the index */ - return typeOfBody; -} - -static status -Array_decodeJsonUnwrapExtensionObject(ParseCtx *ctx, void **dst, const UA_DataType *type) { - size_t *size_ptr = (size_t*) dst - 1; /* Save the length pointer of the array */ - size_t length = (size_t)ctx->tokens[ctx->index].size; - - /* Known from the previous unwrapping-check */ - UA_assert(currentTokenType(ctx) == CJ5_TOKEN_ARRAY); - UA_assert(length > 0); - - ctx->index++; /* Go to first array member */ - - /* Allocate memory */ - *dst = UA_calloc(length, type->memSize); - if(*dst == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Decode array members */ - uintptr_t ptr = (uintptr_t)*dst; - for(size_t i = 0; i < length; i++) { - UA_assert(ctx->tokens[ctx->index].type == CJ5_TOKEN_OBJECT); - - /* Get the body field and decode it */ - DecodeEntry entries[3] = { - {UA_JSONKEY_TYPEID, NULL, NULL, false, NULL}, - {UA_JSONKEY_BODY, (void*)ptr, NULL, false, type}, - {UA_JSONKEY_ENCODING, NULL, NULL, false, NULL} - }; - status ret = decodeFields(ctx, entries, 3); /* Also skips to the next object */ - if(ret != UA_STATUSCODE_GOOD) { - UA_Array_delete(*dst, i+1, type); - *dst = NULL; - return ret; - } - ptr += type->memSize; - } - - *size_ptr = length; /* All good, set the size */ - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(Variant) { - CHECK_NULL_SKIP; /* Treat null as an empty variant */ - CHECK_OBJECT; - - /* First search for the variant type in the json object. */ - size_t typeIndex = 0; - status ret = lookAheadForKey(ctx, UA_JSONKEY_TYPE, &typeIndex); - if(ret != UA_STATUSCODE_GOOD) { - skipObject(ctx); - return UA_STATUSCODE_GOOD; - } - - /* Parse the type */ - if(ctx->tokens[typeIndex].type != CJ5_TOKEN_NUMBER) - return UA_STATUSCODE_BADDECODINGERROR; - UA_UInt64 idType = 0; - size_t len = parseUInt64(&ctx->json5[ctx->tokens[typeIndex].start], - getTokenLength(&ctx->tokens[typeIndex]), &idType); - if(len == 0) - return UA_STATUSCODE_BADDECODINGERROR; - - /* A NULL Variant */ - if(idType == 0) { - skipObject(ctx); - return UA_STATUSCODE_GOOD; - } - - /* Set the type */ - UA_NodeId typeNodeId = UA_NODEID_NUMERIC(0, (UA_UInt32)idType); - dst->type = UA_findDataTypeWithCustom(&typeNodeId, ctx->customTypes); - if(!dst->type) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Search for body */ - size_t bodyIndex = 0; - ret = lookAheadForKey(ctx, UA_JSONKEY_BODY, &bodyIndex); - if(ret != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Value is an array? */ - UA_Boolean isArray = (ctx->tokens[bodyIndex].type == CJ5_TOKEN_ARRAY); - - /* TODO: Handling of null-arrays (length -1) needs to be clarified - * - * if(tokenIsNull(ctx, bodyIndex)) { - * isArray = true; - * dst->arrayLength = 0; - * } */ - - /* Has the variant dimension? */ - UA_Boolean hasDimension = false; - size_t dimIndex = 0; - ret = lookAheadForKey(ctx, UA_JSONKEY_DIMENSION, &dimIndex); - if(ret == UA_STATUSCODE_GOOD) - hasDimension = (ctx->tokens[dimIndex].size > 0); - - /* No array but has dimension -> error */ - if(!isArray && hasDimension) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Get the datatype of the content. The type must be a builtin data type. - * All not-builtin types are wrapped in an ExtensionObject. */ - if(dst->type->typeKind > UA_DATATYPEKIND_DIAGNOSTICINFO) - return UA_STATUSCODE_BADDECODINGERROR; - - /* A variant cannot contain a variant. But it can contain an array of - * variants */ - if(dst->type->typeKind == UA_DATATYPEKIND_VARIANT && !isArray) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Decode an array */ - if(isArray) { - DecodeEntry entries[3] = { - {UA_JSONKEY_TYPE, NULL, NULL, false, NULL}, - {UA_JSONKEY_BODY, &dst->data, (decodeJsonSignature)Array_decodeJson, false, dst->type}, - {UA_JSONKEY_DIMENSION, &dst->arrayDimensions, VariantDimension_decodeJson, false, NULL} - }; - - /* Try to unwrap ExtensionObjects in the array. - * The members must all have the same type. */ - if(dst->type == &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]) { - const UA_DataType *unwrapType = getArrayUnwrapType(ctx, bodyIndex); - if(unwrapType) { - dst->type = unwrapType; - entries[1].type = unwrapType; - entries[1].function = (decodeJsonSignature) - Array_decodeJsonUnwrapExtensionObject; - } - } - - return decodeFields(ctx, entries, (hasDimension) ? 3 : 2); - } - - /* Decode a value wrapped in an ExtensionObject */ - if(dst->type->typeKind == UA_DATATYPEKIND_EXTENSIONOBJECT) { - DecodeEntry entries[2] = { - {UA_JSONKEY_TYPE, NULL, NULL, false, NULL}, - {UA_JSONKEY_BODY, dst, Variant_decodeJsonUnwrapExtensionObject, false, NULL} - }; - return decodeFields(ctx, entries, 2); - } - - /* Allocate Memory for Body */ - dst->data = UA_new(dst->type); - if(!dst->data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - DecodeEntry entries[2] = { - {UA_JSONKEY_TYPE, NULL, NULL, false, NULL}, - {UA_JSONKEY_BODY, dst->data, NULL, false, dst->type} - }; - return decodeFields(ctx, entries, 2); -} - -DECODE_JSON(DataValue) { - CHECK_NULL_SKIP; /* Treat a null value as an empty DataValue */ - CHECK_OBJECT; - - DecodeEntry entries[6] = { - {UA_JSONKEY_VALUE, &dst->value, NULL, false, &UA_TYPES[UA_TYPES_VARIANT]}, - {UA_JSONKEY_STATUS, &dst->status, NULL, false, &UA_TYPES[UA_TYPES_STATUSCODE]}, - {UA_JSONKEY_SOURCETIMESTAMP, &dst->sourceTimestamp, NULL, false, &UA_TYPES[UA_TYPES_DATETIME]}, - {UA_JSONKEY_SOURCEPICOSECONDS, &dst->sourcePicoseconds, NULL, false, &UA_TYPES[UA_TYPES_UINT16]}, - {UA_JSONKEY_SERVERTIMESTAMP, &dst->serverTimestamp, NULL, false, &UA_TYPES[UA_TYPES_DATETIME]}, - {UA_JSONKEY_SERVERPICOSECONDS, &dst->serverPicoseconds, NULL, false, &UA_TYPES[UA_TYPES_UINT16]} - }; - - status ret = decodeFields(ctx, entries, 6); - dst->hasValue = entries[0].found; - dst->hasStatus = entries[1].found; - dst->hasSourceTimestamp = entries[2].found; - dst->hasSourcePicoseconds = entries[3].found; - dst->hasServerTimestamp = entries[4].found; - dst->hasServerPicoseconds = entries[5].found; - return ret; -} - -/* Move the entire current token into the target bytestring */ -static UA_StatusCode -tokenToByteString(ParseCtx *ctx, UA_ByteString *p, const UA_DataType *type) { - GET_TOKEN; - UA_StatusCode res = UA_ByteString_allocBuffer(p, tokenSize); - if(res != UA_STATUSCODE_GOOD) - return res; - memcpy(p->data, tokenData, tokenSize); - skipObject(ctx); - return UA_STATUSCODE_GOOD; -} - -DECODE_JSON(ExtensionObject) { - CHECK_NULL_SKIP; /* Treat a null value as an empty DataValue */ - CHECK_OBJECT; - - /* Empty object -> Null ExtensionObject */ - if(ctx->tokens[ctx->index].size == 0) { - ctx->index++; /* Skip the empty ExtensionObject */ - return UA_STATUSCODE_GOOD; - } - - /* Search for non-JSON encoding */ - UA_UInt64 encoding = 0; - size_t encIndex = 0; - status ret = lookAheadForKey(ctx, UA_JSONKEY_ENCODING, &encIndex); - if(ret == UA_STATUSCODE_GOOD) { - const char *extObjEncoding = &ctx->json5[ctx->tokens[encIndex].start]; - size_t len = parseUInt64(extObjEncoding, getTokenLength(&ctx->tokens[encIndex]), - &encoding); - if(len == 0) - return UA_STATUSCODE_BADDECODINGERROR; - } - - /* Lookup the DataType for the ExtensionObject if the body can be decoded */ - const UA_DataType *typeOfBody = (encoding == 0) ? getExtensionObjectType(ctx) : NULL; - - /* Keep the encoded body */ - if(!typeOfBody) { - DecodeEntry entries[3] = { - {UA_JSONKEY_ENCODING, NULL, NULL, false, NULL}, - {UA_JSONKEY_TYPEID, &dst->content.encoded.typeId, NULL, false, &UA_TYPES[UA_TYPES_NODEID]}, - {UA_JSONKEY_BODY, &dst->content.encoded.body, NULL, false, &UA_TYPES[UA_TYPES_STRING]} - }; - - if(encoding == 0) { - entries[2].function = (decodeJsonSignature)tokenToByteString; - dst->encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; /* ByteString in Json Body */ - } else if(encoding == 1) { - dst->encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING; /* ByteString in Json Body */ - } else if(encoding == 2) { - dst->encoding = UA_EXTENSIONOBJECT_ENCODED_XML; /* XmlElement in Json Body */ - } else { - return UA_STATUSCODE_BADDECODINGERROR; - } - return decodeFields(ctx, entries, 3); - } - - /* Allocate memory for the decoded data */ - dst->content.decoded.data = UA_new(typeOfBody); - if(!dst->content.decoded.data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Set type */ - dst->content.decoded.type = typeOfBody; - dst->encoding = UA_EXTENSIONOBJECT_DECODED; - - /* Decode body */ - DecodeEntry entries[3] = { - {UA_JSONKEY_ENCODING, NULL, NULL, false, NULL}, - {UA_JSONKEY_TYPEID, NULL, NULL, false, NULL}, - {UA_JSONKEY_BODY, dst->content.decoded.data, NULL, false, typeOfBody} - }; - return decodeFields(ctx, entries, 3); -} - -static status -Variant_decodeJsonUnwrapExtensionObject(ParseCtx *ctx, void *p, const UA_DataType *type) { - (void) type; - UA_Variant *dst = (UA_Variant*)p; - - /* ExtensionObject with null body */ - if(currentTokenType(ctx) == CJ5_TOKEN_NULL) { - dst->data = UA_ExtensionObject_new(); - dst->type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; - ctx->index++; - return UA_STATUSCODE_GOOD; - } - - /* Decode the ExtensionObject */ - UA_ExtensionObject eo; - UA_ExtensionObject_init(&eo); - UA_StatusCode ret = ExtensionObject_decodeJson(ctx, &eo, NULL); - if(ret != UA_STATUSCODE_GOOD) { - UA_ExtensionObject_clear(&eo); /* We don't have the global cleanup */ - return ret; - } - - /* The content is still encoded, cannot unwrap */ - if(eo.encoding != UA_EXTENSIONOBJECT_DECODED) - goto use_eo; - - /* The content is a builtin type that could have been directly encoded in - * the Variant, there was no need to wrap in an ExtensionObject. But this - * means for us, that somebody made an extra effort to explicitly get an - * ExtensionObject. So we keep it. As an added advantage we will generate - * the same JSON again when encoding again. */ - UA_Boolean isBuiltin = - (eo.content.decoded.type->typeKind <= UA_DATATYPEKIND_DIAGNOSTICINFO); - if(isBuiltin) - goto use_eo; - - /* Unwrap the ExtensionObject */ - dst->data = eo.content.decoded.data; - dst->type = eo.content.decoded.type; - return UA_STATUSCODE_GOOD; - - use_eo: - /* Don't unwrap */ - dst->data = UA_new(&UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); - if(!dst->data) { - UA_ExtensionObject_clear(&eo); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - dst->type = &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]; - *(UA_ExtensionObject*)dst->data = eo; - return UA_STATUSCODE_GOOD; -} - -status -DiagnosticInfoInner_decodeJson(ParseCtx* ctx, void* dst, const UA_DataType* type); - -DECODE_JSON(DiagnosticInfo) { - CHECK_NULL_SKIP; /* Treat a null value as an empty DiagnosticInfo */ - CHECK_OBJECT; - - DecodeEntry entries[7] = { - {UA_JSONKEY_SYMBOLICID, &dst->symbolicId, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, - {UA_JSONKEY_NAMESPACEURI, &dst->namespaceUri, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, - {UA_JSONKEY_LOCALIZEDTEXT, &dst->localizedText, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, - {UA_JSONKEY_LOCALE, &dst->locale, NULL, false, &UA_TYPES[UA_TYPES_INT32]}, - {UA_JSONKEY_ADDITIONALINFO, &dst->additionalInfo, NULL, false, &UA_TYPES[UA_TYPES_STRING]}, - {UA_JSONKEY_INNERSTATUSCODE, &dst->innerStatusCode, NULL, false, &UA_TYPES[UA_TYPES_STATUSCODE]}, - {UA_JSONKEY_INNERDIAGNOSTICINFO, &dst->innerDiagnosticInfo, DiagnosticInfoInner_decodeJson, false, NULL} - }; - status ret = decodeFields(ctx, entries, 7); - - dst->hasSymbolicId = entries[0].found; - dst->hasNamespaceUri = entries[1].found; - dst->hasLocalizedText = entries[2].found; - dst->hasLocale = entries[3].found; - dst->hasAdditionalInfo = entries[4].found; - dst->hasInnerStatusCode = entries[5].found; - dst->hasInnerDiagnosticInfo = entries[6].found; - return ret; -} - -status -DiagnosticInfoInner_decodeJson(ParseCtx* ctx, void* dst, const UA_DataType* type) { - UA_DiagnosticInfo *inner = (UA_DiagnosticInfo*) - UA_calloc(1, sizeof(UA_DiagnosticInfo)); - if(!inner) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_DiagnosticInfo **dst2 = (UA_DiagnosticInfo**)dst; - *dst2 = inner; /* Copy new Pointer do dest */ - return DiagnosticInfo_decodeJson(ctx, inner, type); -} - -status -decodeFields(ParseCtx *ctx, DecodeEntry *entries, size_t entryCount) { - CHECK_TOKEN_BOUNDS; - CHECK_NULL_SKIP; /* null is treated like an empty object */ - - if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) - return UA_STATUSCODE_BADENCODINGERROR; - - /* Keys and values are counted separately */ - CHECK_OBJECT; - UA_assert(ctx->tokens[ctx->index].size % 2 == 0); - size_t keyCount = (size_t)(ctx->tokens[ctx->index].size) / 2; - - ctx->index++; /* Go to first key - or jump after the empty object */ - ctx->depth++; - - status ret = UA_STATUSCODE_GOOD; - for(size_t key = 0; key < keyCount; key++) { - /* Key must be a string */ - UA_assert(ctx->index < ctx->tokensSize); - UA_assert(currentTokenType(ctx) == CJ5_TOKEN_STRING); - - /* Search for the decoding entry matching the key. Start at the key - * index to speed-up the case where they key-order is the same as the - * entry-order. */ - DecodeEntry *entry = NULL; - for(size_t i = key; i < key + entryCount; i++) { - size_t ii = i; - while(ii >= entryCount) - ii -= entryCount; - - /* Compare the key */ - if(jsoneq(ctx->json5, &ctx->tokens[ctx->index], - entries[ii].fieldName) != 0) - continue; - - /* Key was already used -> duplicate, abort */ - if(entries[ii].found) { - ctx->depth--; - return UA_STATUSCODE_BADDECODINGERROR; - } - - /* Found the key */ - entries[ii].found = true; - entry = &entries[ii]; - break; - } - - /* The key is unknown */ - if(!entry) { - ret = UA_STATUSCODE_BADDECODINGERROR; - break; - } - - /* Go from key to value */ - ctx->index++; - UA_assert(ctx->index < ctx->tokensSize); - - /* An entry that was expected but shall not be decoded. - * Jump over the value. */ - if(!entry->function && !entry->type) { - skipObject(ctx); - continue; - } - - /* A null-value, skip the decoding (the value is already initialized) */ - if(currentTokenType(ctx) == CJ5_TOKEN_NULL && !entry->function) { - ctx->index++; /* skip null value */ - continue; - } - - /* Decode. This also moves to the next key or right after the object for - * the last value. */ - decodeJsonSignature decodeFunc = (entry->function) ? - entry->function : decodeJsonJumpTable[entry->type->typeKind]; - ret = decodeFunc(ctx, entry->fieldPointer, entry->type); - if(ret != UA_STATUSCODE_GOOD) - break; - } - - ctx->depth--; - return ret; -} - -static status -Array_decodeJson(ParseCtx *ctx, void **dst, const UA_DataType *type) { - /* Save the length of the array */ - size_t *size_ptr = (size_t*) dst - 1; - - if(currentTokenType(ctx) != CJ5_TOKEN_ARRAY) - return UA_STATUSCODE_BADDECODINGERROR; - - size_t length = (size_t)ctx->tokens[ctx->index].size; - - ctx->index++; /* Go to first array member or to the first element after - * the array (if empty) */ - - /* Return early for empty arrays */ - if(length == 0) { - *size_ptr = length; - *dst = UA_EMPTY_ARRAY_SENTINEL; - return UA_STATUSCODE_GOOD; - } - - /* Allocate memory */ - *dst = UA_calloc(length, type->memSize); - if(*dst == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Decode array members */ - uintptr_t ptr = (uintptr_t)*dst; - for(size_t i = 0; i < length; ++i) { - if(ctx->tokens[ctx->index].type != CJ5_TOKEN_NULL) { - status ret = decodeJsonJumpTable[type->typeKind](ctx, (void*)ptr, type); - if(ret != UA_STATUSCODE_GOOD) { - UA_Array_delete(*dst, i+1, type); - *dst = NULL; - return ret; - } - } else { - ctx->index++; - } - ptr += type->memSize; - } - - *size_ptr = length; /* All good, set the size */ - return UA_STATUSCODE_GOOD; -} - -static status -decodeJsonStructure(ParseCtx *ctx, void *dst, const UA_DataType *type) { - /* Check the recursion limit */ - if(ctx->depth >= UA_JSON_ENCODING_MAX_RECURSION - 1) - return UA_STATUSCODE_BADENCODINGERROR; - ctx->depth++; - - uintptr_t ptr = (uintptr_t)dst; - status ret = UA_STATUSCODE_GOOD; - u8 membersSize = type->membersSize; - UA_STACKARRAY(DecodeEntry, entries, membersSize); - for(size_t i = 0; i < membersSize; ++i) { - const UA_DataTypeMember *m = &type->members[i]; - const UA_DataType *mt = m->memberType; - entries[i].type = mt; - entries[i].fieldName = m->memberName; - entries[i].found = false; - if(!m->isArray) { - ptr += m->padding; - entries[i].fieldPointer = (void*)ptr; - entries[i].function = NULL; - ptr += mt->memSize; - } else { - ptr += m->padding; - ptr += sizeof(size_t); - entries[i].fieldPointer = (void*)ptr; - entries[i].function = (decodeJsonSignature)Array_decodeJson; - ptr += sizeof(void*); - } - } - - ret = decodeFields(ctx, entries, membersSize); - - if(ctx->depth == 0) - return UA_STATUSCODE_BADENCODINGERROR; - ctx->depth--; - return ret; -} - -static status -decodeJsonNotImplemented(ParseCtx *ctx, void *dst, const UA_DataType *type) { - (void)dst, (void)type, (void)ctx; - return UA_STATUSCODE_BADNOTIMPLEMENTED; -} - -const decodeJsonSignature decodeJsonJumpTable[UA_DATATYPEKINDS] = { - (decodeJsonSignature)Boolean_decodeJson, - (decodeJsonSignature)SByte_decodeJson, /* SByte */ - (decodeJsonSignature)Byte_decodeJson, - (decodeJsonSignature)Int16_decodeJson, /* Int16 */ - (decodeJsonSignature)UInt16_decodeJson, - (decodeJsonSignature)Int32_decodeJson, /* Int32 */ - (decodeJsonSignature)UInt32_decodeJson, - (decodeJsonSignature)Int64_decodeJson, /* Int64 */ - (decodeJsonSignature)UInt64_decodeJson, - (decodeJsonSignature)Float_decodeJson, - (decodeJsonSignature)Double_decodeJson, - (decodeJsonSignature)String_decodeJson, - (decodeJsonSignature)DateTime_decodeJson, /* DateTime */ - (decodeJsonSignature)Guid_decodeJson, - (decodeJsonSignature)ByteString_decodeJson, /* ByteString */ - (decodeJsonSignature)String_decodeJson, /* XmlElement */ - (decodeJsonSignature)NodeId_decodeJson, - (decodeJsonSignature)ExpandedNodeId_decodeJson, - (decodeJsonSignature)StatusCode_decodeJson, /* StatusCode */ - (decodeJsonSignature)QualifiedName_decodeJson, /* QualifiedName */ - (decodeJsonSignature)LocalizedText_decodeJson, - (decodeJsonSignature)ExtensionObject_decodeJson, - (decodeJsonSignature)DataValue_decodeJson, - (decodeJsonSignature)Variant_decodeJson, - (decodeJsonSignature)DiagnosticInfo_decodeJson, - (decodeJsonSignature)decodeJsonNotImplemented, /* Decimal */ - (decodeJsonSignature)Int32_decodeJson, /* Enum */ - (decodeJsonSignature)decodeJsonStructure, - (decodeJsonSignature)decodeJsonNotImplemented, /* Structure with optional fields */ - (decodeJsonSignature)decodeJsonNotImplemented, /* Union */ - (decodeJsonSignature)decodeJsonNotImplemented /* BitfieldCluster */ -}; - -status -tokenize(ParseCtx *ctx, const UA_ByteString *src, size_t tokensSize) { - /* Tokenize */ - cj5_result r = cj5_parse((char*)src->data, (unsigned int)src->length, - ctx->tokens, (unsigned int)tokensSize, NULL); - - /* Handle overflow error by allocating the number of tokens the parser would - * have needed */ - if(r.error == CJ5_ERROR_OVERFLOW && - tokensSize != r.num_tokens) { - ctx->tokens = (cj5_token*) - UA_malloc(sizeof(cj5_token) * r.num_tokens); - if(!ctx->tokens) - return UA_STATUSCODE_BADOUTOFMEMORY; - return tokenize(ctx, src, r.num_tokens); - } - - /* Cannot recover from other errors */ - if(r.error != CJ5_ERROR_NONE) - return UA_STATUSCODE_BADDECODINGERROR; - - /* Set up the context */ - ctx->json5 = (char*)src->data; - ctx->depth = 0; - ctx->tokensSize = r.num_tokens; - ctx->index = 0; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_decodeJson(const UA_ByteString *src, void *dst, const UA_DataType *type, - const UA_DecodeJsonOptions *options) { - if(!dst || !src || !type) - return UA_STATUSCODE_BADARGUMENTSMISSING; - - /* Set up the context */ - cj5_token tokens[UA_JSON_MAXTOKENCOUNT]; - ParseCtx ctx; - memset(&ctx, 0, sizeof(ParseCtx)); - ctx.tokens = tokens; - - if(options) { - ctx.namespaces = options->namespaces; - ctx.namespacesSize = options->namespacesSize; - ctx.serverUris = options->serverUris; - ctx.serverUrisSize = options->serverUrisSize; - ctx.customTypes = options->customTypes; - } - - /* Decode */ - status ret = tokenize(&ctx, src, UA_JSON_MAXTOKENCOUNT); - if(ret != UA_STATUSCODE_GOOD) - goto cleanup; - - memset(dst, 0, type->memSize); /* Initialize the value */ - ret = decodeJsonJumpTable[type->typeKind](&ctx, dst, type); - - /* Sanity check if all tokens were processed */ - if(ctx.index != ctx.tokensSize && - ctx.index != ctx.tokensSize - 1) - ret = UA_STATUSCODE_BADDECODINGERROR; - - cleanup: - - /* Free token array on the heap */ - if(ctx.tokens != tokens) - UA_free((void*)(uintptr_t)ctx.tokens); - - if(ret != UA_STATUSCODE_GOOD) - UA_clear(dst, type); - return ret; -} - -#endif /* UA_ENABLE_JSON_ENCODING */ - -/**** amalgamated original file "/src/server/ua_subscription.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Sten Grüner - * Copyright 2017-2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2015 (c) Joakim L. Gilje - * Copyright 2016-2017 (c) Florian Palm - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2017 (c) frax2222 - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2017 (c) Mattias Bornhager - * Copyright 2018 (c) Hilscher Gesellschaft für Systemautomation mbH (Author: Martin Lang) - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ - -#define UA_MAX_RETRANSMISSIONQUEUESIZE 256 - -UA_Subscription * -UA_Subscription_new(void) { - /* Allocate the memory */ - UA_Subscription *newSub = (UA_Subscription*)UA_calloc(1, sizeof(UA_Subscription)); - if(!newSub) - return NULL; - - /* The first publish response is sent immediately */ - newSub->state = UA_SUBSCRIPTIONSTATE_STOPPED; - - /* Even if the first publish response is a keepalive the sequence number is 1. - * This can happen by a subscription without a monitored item (see CTT test scripts). */ - newSub->nextSequenceNumber = 1; - - TAILQ_INIT(&newSub->retransmissionQueue); - TAILQ_INIT(&newSub->notificationQueue); - return newSub; -} - -static void -delayedFreeSubscription(void *app, void *context) { - UA_free(context); -} - -void -UA_Subscription_delete(UA_Server *server, UA_Subscription *sub) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_EventLoop *el = server->config.eventLoop; - - /* Unregister the publish callback and possible delayed callback */ - Subscription_setState(server, sub, UA_SUBSCRIPTIONSTATE_REMOVING); - - /* Remove delayed callbacks for processing remaining notifications */ - if(sub->delayedCallbackRegistered) { - el->removeDelayedCallback(el, &sub->delayedMoreNotifications); - sub->delayedCallbackRegistered = false; - } - - /* Remove the diagnostics object for the subscription */ -#ifdef UA_ENABLE_DIAGNOSTICS - if(!UA_NodeId_isNull(&sub->ns0Id)) - deleteNode(server, sub->ns0Id, true); - UA_NodeId_clear(&sub->ns0Id); -#endif - - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, "Subscription deleted"); - - /* Detach from the session if necessary */ - if(sub->session) - UA_Session_detachSubscription(server, sub->session, sub, true); - - /* Remove from the server if not previously registered */ - if(sub->serverListEntry.le_prev) { - LIST_REMOVE(sub, serverListEntry); - UA_assert(server->subscriptionsSize > 0); - server->subscriptionsSize--; - server->serverDiagnosticsSummary.currentSubscriptionCount--; - } - - /* Delete monitored Items */ - UA_assert(server->monitoredItemsSize >= sub->monitoredItemsSize); - UA_MonitoredItem *mon, *tmp_mon; - LIST_FOREACH_SAFE(mon, &sub->monitoredItems, listEntry, tmp_mon) { - UA_MonitoredItem_delete(server, mon); - } - UA_assert(sub->monitoredItemsSize == 0); - - /* Delete Retransmission Queue */ - UA_NotificationMessageEntry *nme, *nme_tmp; - TAILQ_FOREACH_SAFE(nme, &sub->retransmissionQueue, listEntry, nme_tmp) { - TAILQ_REMOVE(&sub->retransmissionQueue, nme, listEntry); - UA_NotificationMessage_clear(&nme->message); - UA_free(nme); - if(sub->session) - --sub->session->totalRetransmissionQueueSize; - --sub->retransmissionQueueSize; - } - UA_assert(sub->retransmissionQueueSize == 0); - - /* Pointers to the subscription may still exist upwards in the call stack. - * Add a delayed callback to remove the Subscription when the current jobs - * have completed. */ - sub->delayedFreePointers.callback = delayedFreeSubscription; - sub->delayedFreePointers.application = NULL; - sub->delayedFreePointers.context = sub; - el->addDelayedCallback(el, &sub->delayedFreePointers); -} - -void -Subscription_resetLifetime(UA_Subscription *sub) { - sub->currentLifetimeCount = 0; -} - -UA_MonitoredItem * -UA_Subscription_getMonitoredItem(UA_Subscription *sub, UA_UInt32 monitoredItemId) { - UA_MonitoredItem *mon; - LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { - if(mon->monitoredItemId == monitoredItemId) - break; - } - return mon; -} - -static void -removeOldestRetransmissionMessageFromSub(UA_Subscription *sub) { - UA_NotificationMessageEntry *oldestEntry = - TAILQ_LAST(&sub->retransmissionQueue, NotificationMessageQueue); - TAILQ_REMOVE(&sub->retransmissionQueue, oldestEntry, listEntry); - UA_NotificationMessage_clear(&oldestEntry->message); - UA_free(oldestEntry); - --sub->retransmissionQueueSize; - if(sub->session) - --sub->session->totalRetransmissionQueueSize; - -#ifdef UA_ENABLE_DIAGNOSTICS - sub->discardedMessageCount++; -#endif -} - -static void -removeOldestRetransmissionMessageFromSession(UA_Session *session) { - UA_NotificationMessageEntry *oldestEntry = NULL; - UA_Subscription *oldestSub = NULL; - UA_Subscription *sub; - TAILQ_FOREACH(sub, &session->subscriptions, sessionListEntry) { - UA_NotificationMessageEntry *first = - TAILQ_LAST(&sub->retransmissionQueue, NotificationMessageQueue); - if(!first) - continue; - if(!oldestEntry || oldestEntry->message.publishTime > first->message.publishTime) { - oldestEntry = first; - oldestSub = sub; - } - } - UA_assert(oldestEntry); - UA_assert(oldestSub); - - removeOldestRetransmissionMessageFromSub(oldestSub); -} - -static void -UA_Subscription_addRetransmissionMessage(UA_Server *server, UA_Subscription *sub, - UA_NotificationMessageEntry *entry) { - /* Release the oldest entry if there is not enough space */ - UA_Session *session = sub->session; - if(sub->retransmissionQueueSize >= UA_MAX_RETRANSMISSIONQUEUESIZE) { - UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, - "Subscription retransmission queue overflow"); - removeOldestRetransmissionMessageFromSub(sub); - } else if(session && server->config.maxRetransmissionQueueSize > 0 && - session->totalRetransmissionQueueSize >= - server->config.maxRetransmissionQueueSize) { - UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, - "Session-wide retransmission queue overflow"); - removeOldestRetransmissionMessageFromSession(sub->session); - } - - /* Add entry */ - TAILQ_INSERT_TAIL(&sub->retransmissionQueue, entry, listEntry); - ++sub->retransmissionQueueSize; - if(session) - ++session->totalRetransmissionQueueSize; -} - -UA_StatusCode -UA_Subscription_removeRetransmissionMessage(UA_Subscription *sub, UA_UInt32 sequenceNumber) { - /* Find the retransmission message */ - UA_NotificationMessageEntry *entry; - TAILQ_FOREACH(entry, &sub->retransmissionQueue, listEntry) { - if(entry->message.sequenceNumber == sequenceNumber) - break; - } - if(!entry) - return UA_STATUSCODE_BADSEQUENCENUMBERUNKNOWN; - - /* Remove the retransmission message */ - TAILQ_REMOVE(&sub->retransmissionQueue, entry, listEntry); - --sub->retransmissionQueueSize; - UA_NotificationMessage_clear(&entry->message); - UA_free(entry); - - if(sub->session) - --sub->session->totalRetransmissionQueueSize; - - return UA_STATUSCODE_GOOD; -} - -/* The output counters are only set when the preparation is successful */ -static UA_StatusCode -prepareNotificationMessage(UA_Server *server, UA_Subscription *sub, - UA_NotificationMessage *message, - size_t maxNotifications) { - UA_assert(maxNotifications > 0); - - /* Allocate an ExtensionObject for Event- and DataChange-Notifications. Also - * there can be StatusChange-Notifications. The standard says in Part 4, - * 7.2.1: - * - * If a Subscription contains MonitoredItems for events and data, this array - * should have not more than 2 elements. */ - message->notificationData = (UA_ExtensionObject*) - UA_Array_new(2, &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]); - if(!message->notificationData) - return UA_STATUSCODE_BADOUTOFMEMORY; - message->notificationDataSize = 2; - - /* Pre-allocate DataChangeNotifications */ - size_t notificationDataIdx = 0; - size_t dcnPos = 0; /* How many DataChangeNotifications? */ - UA_DataChangeNotification *dcn = NULL; - if(sub->dataChangeNotifications > 0) { - dcn = UA_DataChangeNotification_new(); - if(!dcn) { - UA_NotificationMessage_clear(message); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - UA_ExtensionObject_setValue(message->notificationData, dcn, - &UA_TYPES[UA_TYPES_DATACHANGENOTIFICATION]); - size_t dcnSize = sub->dataChangeNotifications; - if(dcnSize > maxNotifications) - dcnSize = maxNotifications; - dcn->monitoredItems = (UA_MonitoredItemNotification*) - UA_Array_new(dcnSize, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]); - if(!dcn->monitoredItems) { - UA_NotificationMessage_clear(message); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - dcn->monitoredItemsSize = dcnSize; - notificationDataIdx++; - } - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - size_t enlPos = 0; /* How many EventNotifications? */ - UA_EventNotificationList *enl = NULL; - if(sub->eventNotifications > 0) { - enl = UA_EventNotificationList_new(); - if(!enl) { - UA_NotificationMessage_clear(message); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - UA_ExtensionObject_setValue(&message->notificationData[notificationDataIdx], - enl, &UA_TYPES[UA_TYPES_EVENTNOTIFICATIONLIST]); - size_t enlSize = sub->eventNotifications; - if(enlSize > maxNotifications) - enlSize = maxNotifications; - enl->events = (UA_EventFieldList*) - UA_Array_new(enlSize, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]); - if(!enl->events) { - UA_NotificationMessage_clear(message); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - enl->eventsSize = enlSize; - notificationDataIdx++; - } -#endif - - UA_assert(notificationDataIdx > 0); - message->notificationDataSize = notificationDataIdx; - - /* <-- The point of no return --> */ - - /* How many notifications were moved to the response overall? */ - size_t totalNotifications = 0; - UA_Notification *notification, *notification_tmp; - TAILQ_FOREACH_SAFE(notification, &sub->notificationQueue, - globalEntry, notification_tmp) { - if(totalNotifications >= maxNotifications) - break; - - /* Move the content to the response */ - switch(notification->mon->itemToMonitor.attributeId) { -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - case UA_ATTRIBUTEID_EVENTNOTIFIER: - UA_assert(enl != NULL); /* Have at least one event notification */ - enl->events[enlPos] = notification->data.event; - UA_EventFieldList_init(¬ification->data.event); - enlPos++; - break; -#endif - default: - UA_assert(dcn != NULL); /* Have at least one change notification */ - dcn->monitoredItems[dcnPos] = notification->data.dataChange; - UA_DataValue_init(¬ification->data.dataChange.value); - dcnPos++; - break; - } - - /* If there are Notifications *before this one* in the MonitoredItem- - * local queue, remove all of them. These are earlier Notifications that - * are non-reporting. And we don't want them to show up after the - * current Notification has been sent out. */ - UA_Notification *prev; - while((prev = TAILQ_PREV(notification, NotificationQueue, localEntry))) { - UA_Notification_delete(prev); - } - - /* Delete the notification, remove from the queues and decrease the counters */ - UA_Notification_delete(notification); - - totalNotifications++; - } - - /* Set sizes */ - if(dcn) { - dcn->monitoredItemsSize = dcnPos; - if(dcnPos == 0) { - UA_free(dcn->monitoredItems); - dcn->monitoredItems = NULL; - } - } - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - if(enl) { - enl->eventsSize = enlPos; - if(enlPos == 0) { - UA_free(enl->events); - enl->events = NULL; - } - } -#endif - - return UA_STATUSCODE_GOOD; -} - -/* According to OPC Unified Architecture, Part 4 5.13.1.1 i) The value 0 is - * never used for the sequence number */ -static UA_UInt32 -UA_Subscription_nextSequenceNumber(UA_UInt32 sequenceNumber) { - UA_UInt32 nextSequenceNumber = sequenceNumber + 1; - if(nextSequenceNumber == 0) - nextSequenceNumber = 1; - return nextSequenceNumber; -} - -static void -sendStatusChangeDelete(UA_Server *server, UA_Subscription *sub, - UA_PublishResponseEntry *pre) { - /* Cannot send out the StatusChange because no response is queued. - * Delete the Subscription without sending the StatusChange, if the statusChange is Bad*/ - if(!pre) { - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Cannot send the StatusChange notification because no response is queued."); - if(UA_StatusCode_isBad(sub->statusChange)) { - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, "Removing the subscription."); - UA_Subscription_delete(server, sub); - } - return; - } - - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Sending out a StatusChange " - "notification and removing the subscription"); - - /* Populate the response */ - UA_PublishResponse *response = &pre->response; - - UA_StatusChangeNotification scn; - UA_StatusChangeNotification_init(&scn); - scn.status = sub->statusChange; - - UA_ExtensionObject notificationData; - UA_ExtensionObject_setValue(¬ificationData, &scn, - &UA_TYPES[UA_TYPES_STATUSCHANGENOTIFICATION]); - - response->notificationMessage.notificationData = ¬ificationData; - response->notificationMessage.notificationDataSize = 1; - response->subscriptionId = sub->subscriptionId; - response->notificationMessage.publishTime = UA_DateTime_now(); - response->notificationMessage.sequenceNumber = sub->nextSequenceNumber; - - /* Send the response */ - UA_assert(sub->session); /* Otherwise pre is NULL */ - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Sending out a publish response"); - sendResponse(server, sub->session, sub->session->header.channel, pre->requestId, - (UA_Response *)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); - - /* Clean up */ - response->notificationMessage.notificationData = NULL; - response->notificationMessage.notificationDataSize = 0; - UA_PublishResponse_clear(&pre->response); - UA_free(pre); - - /* Delete the subscription */ - UA_Subscription_delete(server, sub); -} - -static void -delayedPublishNotifications(UA_Server *server, UA_Subscription *sub) { - lockServer(server); - sub->delayedCallbackRegistered = false; - UA_Subscription_publish(server, sub); - unlockServer(server); -} - -/* Try to publish now. Enqueue a "next publish" as a delayed callback if not - * done. */ -void -UA_Subscription_publish(UA_Server *server, UA_Subscription *sub) { - /* Get a response */ - UA_PublishResponseEntry *pre = NULL; - if(sub->session) { - UA_EventLoop *el = server->config.eventLoop; - UA_DateTime nowMonotonic = el->dateTime_nowMonotonic(el); - do { - /* Dequeue the oldest response */ - pre = UA_Session_dequeuePublishReq(sub->session); - if(!pre) - break; - - /* Check if the TimeoutHint is still valid. Otherwise return with a bad - * statuscode and continue. */ - if(pre->maxTime < nowMonotonic) { - UA_LOG_DEBUG_SESSION(server->config.logging, sub->session, - "Publish request %u has timed out", pre->requestId); - pre->response.responseHeader.serviceResult = UA_STATUSCODE_BADTIMEOUT; - sendResponse(server, sub->session, sub->session->header.channel, - pre->requestId, (UA_Response *)&pre->response, - &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); - UA_PublishResponse_clear(&pre->response); - UA_free(pre); - pre = NULL; - } - } while(!pre); - } - - /* Update the LifetimeCounter */ - if(pre) { - Subscription_resetLifetime(sub); - } else { - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "The publish queue is empty"); - ++sub->currentLifetimeCount; - if(sub->currentLifetimeCount > sub->lifeTimeCount) { - UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, - "End of subscription lifetime"); - /* Set the StatusChange to delete the subscription. */ - sub->statusChange = UA_STATUSCODE_BADTIMEOUT; - } - } - - /* Send a StatusChange notification if possible and delete the - * Subscription */ - if(sub->statusChange != UA_STATUSCODE_GOOD) { - sendStatusChangeDelete(server, sub, pre); - return; - } - - /* Dsiabled subscriptions do not send notifications */ - UA_UInt32 notifications = (sub->state == UA_SUBSCRIPTIONSTATE_ENABLED) ? - sub->notificationQueueSize : 0; - - /* Limit the number of notifications to the configured maximum */ - if(notifications > sub->notificationsPerPublish) - notifications = sub->notificationsPerPublish; - - /* Return if no notifications and no keepalive */ - if(notifications == 0) { - ++sub->currentKeepAliveCount; - if(sub->currentKeepAliveCount < sub->maxKeepAliveCount) { - if(pre) - UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ - return; - } - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, "Sending a KeepAlive"); - } - - /* We want to send a response, but cannot. Either because there is no queued - * response or because the Subscription is detached from a Session or because - * the SecureChannel for the Session is closed. */ - if(!pre || !sub->session || !sub->session->header.channel) { - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Want to send a publish response but cannot. " - "The subscription is late."); - sub->late = true; - if(pre) - UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ - return; - } - - UA_assert(pre); - UA_assert(sub->session); /* Otherwise pre is NULL */ - - /* Prepare the response */ - UA_PublishResponse *response = &pre->response; - UA_NotificationMessage *message = &response->notificationMessage; - UA_NotificationMessageEntry *retransmission = NULL; -#ifdef UA_ENABLE_DIAGNOSTICS - size_t priorDataChangeNotifications = sub->dataChangeNotifications; - size_t priorEventNotifications = sub->eventNotifications; -#endif - if(notifications > 0) { - if(server->config.enableRetransmissionQueue) { - /* Allocate the retransmission entry */ - retransmission = (UA_NotificationMessageEntry*) - UA_malloc(sizeof(UA_NotificationMessageEntry)); - if(!retransmission) { - UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, - "Could not allocate memory for retransmission. " - "The subscription is late."); - sub->late = true; - UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ - return; - } - } - - /* Prepare the response */ - UA_StatusCode retval = - prepareNotificationMessage(server, sub, message, notifications); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, sub, - "Could not prepare the notification message. " - "The subscription is late."); - /* If the retransmission queue is enabled a retransmission message is allocated */ - if(retransmission) - UA_free(retransmission); - sub->late = true; - UA_Session_queuePublishReq(sub->session, pre, true); /* Re-enqueue */ - return; - } - } - - /* <-- The point of no return --> */ - - /* Set up the response */ - response->subscriptionId = sub->subscriptionId; - response->moreNotifications = (sub->notificationQueueSize > 0); - message->publishTime = UA_DateTime_now(); - - /* Set sequence number to message. Started at 1 which is given during - * creating a new subscription. The 1 is required for initial publish - * response with or without an monitored item. */ - message->sequenceNumber = sub->nextSequenceNumber; - - if(notifications > 0) { - /* If the retransmission queue is enabled a retransmission message is - * allocated */ - if(retransmission) { - /* Put the notification message into the retransmission queue. This - * needs to be done here, so that the message itself is included in - * the available sequence numbers for acknowledgement. */ - retransmission->message = response->notificationMessage; - UA_Subscription_addRetransmissionMessage(server, sub, retransmission); - } - /* Only if a notification was created, the sequence number must be - * increased. For a keepalive the sequence number can be reused. */ - sub->nextSequenceNumber = - UA_Subscription_nextSequenceNumber(sub->nextSequenceNumber); - } - - /* Get the available sequence numbers from the retransmission queue */ - UA_assert(sub->retransmissionQueueSize <= UA_MAX_RETRANSMISSIONQUEUESIZE); - UA_UInt32 seqNumbers[UA_MAX_RETRANSMISSIONQUEUESIZE]; - response->availableSequenceNumbers = seqNumbers; - response->availableSequenceNumbersSize = sub->retransmissionQueueSize; - size_t i = 0; - UA_NotificationMessageEntry *nme; - TAILQ_FOREACH(nme, &sub->retransmissionQueue, listEntry) { - response->availableSequenceNumbers[i] = nme->message.sequenceNumber; - ++i; - } - UA_assert(i == sub->retransmissionQueueSize); - - /* Send the response */ - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Sending out a publish response with %" PRIu32 - " notifications", notifications); - sendResponse(server, sub->session, sub->session->header.channel, pre->requestId, - (UA_Response*)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); - - /* Reset the Subscription state to NORMAL. But only if all notifications - * have been sent out. Otherwise keep the Subscription in the LATE state. So - * we immediately answer incoming Publish requests. - * - * (We also check that session->responseQueueSize > 0 in Service_Publish. To - * avoid answering Publish requests out of order. As we additionally may have - * scheduled a publish callback as a delayed callback. */ - if(sub->notificationQueueSize == 0) - sub->late = false; - - /* Reset the KeepAlive after publishing */ - sub->currentKeepAliveCount = 0; - - /* Free the response */ - if(retransmission) { - /* NotificationMessage was moved into retransmission queue */ - UA_NotificationMessage_init(&response->notificationMessage); - } - response->availableSequenceNumbers = NULL; - response->availableSequenceNumbersSize = 0; - UA_PublishResponse_clear(&pre->response); - UA_free(pre); - - /* Update the diagnostics statistics */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->publishRequestCount++; - - UA_UInt32 sentDCN = (UA_UInt32) - (priorDataChangeNotifications - sub->dataChangeNotifications); - UA_UInt32 sentEN = (UA_UInt32)(priorEventNotifications - sub->eventNotifications); - sub->dataChangeNotificationsCount += sentDCN; - sub->eventNotificationsCount += sentEN; - sub->notificationsCount += (sentDCN + sentEN); -#endif - - /* Repeat sending notifications if there are more notifications to send. But - * only call monitoredItem_sampleCallback in the regular publish - * callback. */ - UA_Boolean done = (sub->notificationQueueSize == 0); - if(!done && !sub->delayedCallbackRegistered) { - sub->delayedCallbackRegistered = true; - - sub->delayedMoreNotifications.callback = (UA_Callback)delayedPublishNotifications; - sub->delayedMoreNotifications.application = server; - sub->delayedMoreNotifications.context = sub; - - UA_EventLoop *el = server->config.eventLoop; - el->addDelayedCallback(el, &sub->delayedMoreNotifications); - } -} - -void -UA_Subscription_resendData(UA_Server *server, UA_Subscription *sub) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_assert(server); - UA_assert(sub); - - /* Part 4, §6.7: If this Method is called, subsequent Publish responses - * shall contain the current values of all data MonitoredItems in the - * Subscription where the MonitoringMode is set to Reporting. If a value is - * queued for a data MonitoredItem, the next value in the queue is sent in - * the Publish response. If no value is queued for a data MonitoredItem, the - * last value sent is repeated in the Publish response. */ - UA_MonitoredItem *mon; - LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { - /* Create only DataChange notifications */ - if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) - continue; - - /* Only if the mode is monitoring */ - if(mon->monitoringMode != UA_MONITORINGMODE_REPORTING) - continue; - - /* If a value is queued for a data MonitoredItem, the next value in - * the queue is sent in the Publish response. */ - if(mon->queueSize > 0) - continue; - - /* Create a notification with the last sampled value */ - UA_MonitoredItem_createDataChangeNotification(server, mon, &mon->lastValue); - } -} - -void -UA_Session_ensurePublishQueueSpace(UA_Server* server, UA_Session* session) { - if(server->config.maxPublishReqPerSession == 0) - return; - - while(session->responseQueueSize >= server->config.maxPublishReqPerSession) { - /* Dequeue a response */ - UA_PublishResponseEntry *pre = UA_Session_dequeuePublishReq(session); - UA_assert(pre != NULL); /* There must be a pre as session->responseQueueSize > 0 */ - - UA_LOG_DEBUG_SESSION(server->config.logging, session, - "Sending out a publish response triggered by too many publish requests"); - - /* Send the response. This response has no related subscription id */ - UA_PublishResponse *response = &pre->response; - response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYPUBLISHREQUESTS; - sendResponse(server, session, session->header.channel, pre->requestId, - (UA_Response *)response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]); - - /* Free the response */ - UA_PublishResponse_clear(response); - UA_free(pre); - } -} - -static void -sampleAndPublishCallback(UA_Server *server, UA_Subscription *sub) { - UA_assert(sub); - - lockServer(server); - - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Sample and Publish Callback"); - - /* Sample the MonitoredItems with sampling interval <0 (which implies - * sampling in the same interval as the subscription) */ - UA_MonitoredItem *mon; - LIST_FOREACH(mon, &sub->samplingMonitoredItems, sampling.subscriptionSampling) { - monitoredItem_sampleCallback(server, mon); - } - - /* Publish the queued notifications */ - UA_Subscription_publish(server, sub); - - unlockServer(server); -} - -UA_StatusCode -Subscription_setState(UA_Server *server, UA_Subscription *sub, - UA_SubscriptionState state) { - if(state <= UA_SUBSCRIPTIONSTATE_REMOVING) { - if(sub->publishCallbackId != 0) { - removeCallback(server, sub->publishCallbackId); - sub->publishCallbackId = 0; -#ifdef UA_ENABLE_DIAGNOSTICS - sub->disableCount++; -#endif - } - } else if(sub->publishCallbackId == 0) { - UA_StatusCode res = - addRepeatedCallback(server, (UA_ServerCallback)sampleAndPublishCallback, - sub, sub->publishingInterval, &sub->publishCallbackId); - if(res != UA_STATUSCODE_GOOD) { - sub->state = UA_SUBSCRIPTIONSTATE_STOPPED; - return res; - } - - /* Send (at least a) keepalive after the next publish interval */ - sub->currentKeepAliveCount = sub->maxKeepAliveCount; - -#ifdef UA_ENABLE_DIAGNOSTICS - sub->enableCount++; -#endif - } - - sub->state = state; - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -/**** amalgamated original file "/src/server/ua_subscription_monitoreditem.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Fabian Arndt, Root-Core - * Copyright 2020-2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ - -/****************/ -/* Notification */ -/****************/ - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - -static const UA_NodeId eventQueueOverflowEventType = - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_EVENTQUEUEOVERFLOWEVENTTYPE}}; - -/* The specification states in Part 4 5.12.1.5 that an EventQueueOverflowEvent - * "is generated when the first Event has to be discarded [...] without - * discarding any other event". So only generate one for all deleted events. */ -static UA_StatusCode -createEventOverflowNotification(UA_Server *server, UA_Subscription *sub, - UA_MonitoredItem *mon) { - /* Avoid creating two adjacent overflow events */ - UA_Notification *indicator = NULL; - if(mon->parameters.discardOldest) { - indicator = TAILQ_FIRST(&mon->queue); - UA_assert(indicator); /* must exist */ - if(indicator->isOverflowEvent) - return UA_STATUSCODE_GOOD; - } else { - indicator = TAILQ_LAST(&mon->queue, NotificationQueue); - UA_assert(indicator); /* must exist */ - /* Skip the last element. It is the recently added notification that - * shall be kept. We know it is not an OverflowEvent. */ - UA_Notification *before = TAILQ_PREV(indicator, NotificationQueue, localEntry); - if(before && before->isOverflowEvent) - return UA_STATUSCODE_GOOD; - } - - /* A Notification is inserted into the queue which includes only the - * NodeId of the OverflowEventType. */ - - /* Allocate the notification */ - UA_Notification *overflowNotification = UA_Notification_new(); - if(!overflowNotification) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Set the notification fields */ - overflowNotification->isOverflowEvent = true; - overflowNotification->mon = mon; - overflowNotification->data.event.clientHandle = mon->parameters.clientHandle; - overflowNotification->data.event.eventFields = UA_Variant_new(); - if(!overflowNotification->data.event.eventFields) { - UA_free(overflowNotification); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - overflowNotification->data.event.eventFieldsSize = 1; - UA_StatusCode retval = - UA_Variant_setScalarCopy(overflowNotification->data.event.eventFields, - &eventQueueOverflowEventType, &UA_TYPES[UA_TYPES_NODEID]); - if(retval != UA_STATUSCODE_GOOD) { - UA_Notification_delete(overflowNotification); - return retval; - } - - /* Insert before the removed notification. This is either first in the - * queue (if the oldest notification was removed) or before the new event - * that remains the last element of the queue. - * - * Ensure that the following is consistent with UA_Notification_enqueueMon - * and UA_Notification_enqueueSub! */ - TAILQ_INSERT_BEFORE(indicator, overflowNotification, localEntry); - ++mon->eventOverflows; - ++mon->queueSize; - - /* Test for consistency */ - UA_assert(mon->queueSize >= mon->eventOverflows); - UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); - - if(TAILQ_NEXT(indicator, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { - /* Insert just before the indicator */ - TAILQ_INSERT_BEFORE(indicator, overflowNotification, globalEntry); - } else { - /* The indicator was not reporting or not added yet. */ - if(!mon->parameters.discardOldest) { - /* Add last to the per-Subscription queue */ - TAILQ_INSERT_TAIL(&mon->subscription->notificationQueue, - overflowNotification, globalEntry); - } else { - /* Find the oldest reported element. Add before that. */ - while(indicator) { - indicator = TAILQ_PREV(indicator, NotificationQueue, localEntry); - if(!indicator) { - TAILQ_INSERT_TAIL(&mon->subscription->notificationQueue, - overflowNotification, globalEntry); - break; - } - if(TAILQ_NEXT(indicator, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { - TAILQ_INSERT_BEFORE(indicator, overflowNotification, globalEntry); - break; - } - } - } - } - - ++sub->notificationQueueSize; - ++sub->eventNotifications; - - /* Update the diagnostics statistics */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->eventQueueOverFlowCount++; -#endif - - return UA_STATUSCODE_GOOD; -} - -#endif - -/* Set the InfoBits that a datachange notification was removed */ -static void -setOverflowInfoBits(UA_MonitoredItem *mon) { - /* Only for queues with more than one element */ - if(mon->parameters.queueSize == 1) - return; - - UA_Notification *indicator = NULL; - if(mon->parameters.discardOldest) { - indicator = TAILQ_FIRST(&mon->queue); - } else { - indicator = TAILQ_LAST(&mon->queue, NotificationQueue); - } - UA_assert(indicator); /* must exist */ - - indicator->data.dataChange.value.hasStatus = true; - indicator->data.dataChange.value.status |= - (UA_STATUSCODE_INFOTYPE_DATAVALUE | UA_STATUSCODE_INFOBITS_OVERFLOW); -} - -/* Remove the InfoBits when the queueSize was reduced to 1 */ -void -UA_MonitoredItem_removeOverflowInfoBits(UA_MonitoredItem *mon) { - /* Don't consider queue size > 1 and Event MonitoredItems */ - if(mon->parameters.queueSize > 1 || - mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) - return; - - /* Get the first notification */ - UA_Notification *n = TAILQ_FIRST(&mon->queue); - if(!n) - return; - - /* Assertion that at most one notification is in the queue */ - UA_assert(n == TAILQ_LAST(&mon->queue, NotificationQueue)); - - /* Remve the Infobits */ - n->data.dataChange.value.status &= ~(UA_StatusCode) - (UA_STATUSCODE_INFOTYPE_DATAVALUE | UA_STATUSCODE_INFOBITS_OVERFLOW); -} - -UA_Notification * -UA_Notification_new(void) { - UA_Notification *n = (UA_Notification*)UA_calloc(1, sizeof(UA_Notification)); - if(n) { - /* Set the sentinel for a notification that is not enqueued */ - TAILQ_NEXT(n, globalEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; - TAILQ_NEXT(n, localEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; - } - return n; -} - -static void UA_Notification_dequeueMon(UA_Notification *n); -static void UA_Notification_enqueueSub(UA_Notification *n); -static void UA_Notification_dequeueSub(UA_Notification *n); - -void -UA_Notification_delete(UA_Notification *n) { - UA_assert(n != UA_SUBSCRIPTION_QUEUE_SENTINEL); - if(n->mon) { - UA_Notification_dequeueMon(n); - UA_Notification_dequeueSub(n); - switch(n->mon->itemToMonitor.attributeId) { -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - case UA_ATTRIBUTEID_EVENTNOTIFIER: - UA_EventFieldList_clear(&n->data.event); - break; -#endif - default: - UA_MonitoredItemNotification_clear(&n->data.dataChange); - break; - } - } - UA_free(n); -} - -/* Add to the MonitoredItem queue, update all counters and then handle overflow */ -static void -UA_Notification_enqueueMon(UA_Server *server, UA_Notification *n) { - UA_MonitoredItem *mon = n->mon; - UA_assert(mon); - UA_assert(TAILQ_NEXT(n, localEntry) == UA_SUBSCRIPTION_QUEUE_SENTINEL); - - /* Add to the MonitoredItem */ - TAILQ_INSERT_TAIL(&mon->queue, n, localEntry); - ++mon->queueSize; - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - if(n->isOverflowEvent) - ++mon->eventOverflows; -#endif - - /* Test for consistency */ - UA_assert(mon->queueSize >= mon->eventOverflows); - UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); - - /* Ensure enough space is available in the MonitoredItem. Do this only after - * adding the new Notification. */ - UA_MonitoredItem_ensureQueueSpace(server, mon); - - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, mon->subscription, - "MonitoredItem %" PRIi32 " | " - "Notification enqueued (Queue size %lu / %lu)", - mon->monitoredItemId, - (long unsigned)mon->queueSize, - (long unsigned)mon->parameters.queueSize); -} - -static void -UA_Notification_enqueueSub(UA_Notification *n) { - UA_MonitoredItem *mon = n->mon; - UA_assert(mon); - - UA_Subscription *sub = mon->subscription; - UA_assert(sub); - - if(TAILQ_NEXT(n, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) - return; - - /* Add to the subscription if reporting is enabled */ - TAILQ_INSERT_TAIL(&sub->notificationQueue, n, globalEntry); - ++sub->notificationQueueSize; - - switch(mon->itemToMonitor.attributeId) { -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - case UA_ATTRIBUTEID_EVENTNOTIFIER: - ++sub->eventNotifications; - break; -#endif - default: - ++sub->dataChangeNotifications; - break; - } -} - -void -UA_Notification_enqueueAndTrigger(UA_Server *server, UA_Notification *n) { - UA_MonitoredItem *mon = n->mon; - UA_Subscription *sub = mon->subscription; - UA_assert(sub); /* This function is never called for local MonitoredItems */ - - /* If reporting or (sampled+triggered), enqueue into the Subscription first - * and then into the MonitoredItem. UA_MonitoredItem_ensureQueueSpace - * (called within UA_Notification_enqueueMon) assumes the notification is - * already in the Subscription's publishing queue. */ - if(mon->monitoringMode == UA_MONITORINGMODE_REPORTING || - (mon->monitoringMode == UA_MONITORINGMODE_SAMPLING && - mon->triggeredUntil > UA_DateTime_nowMonotonic())) { - UA_Notification_enqueueSub(n); - mon->triggeredUntil = UA_INT64_MIN; - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "Notification enqueued (Queue size %lu)", - (long unsigned)sub->notificationQueueSize); - } - - /* Insert into the MonitoredItem. This checks the queue size and - * handles overflow. */ - UA_Notification_enqueueMon(server, n); - - for(size_t i = mon->triggeringLinksSize - 1; i < mon->triggeringLinksSize; i--) { - /* Get the triggered MonitoredItem. Remove the link if the MI doesn't exist. */ - UA_MonitoredItem *triggeredMon = - UA_Subscription_getMonitoredItem(sub, mon->triggeringLinks[i]); - if(!triggeredMon) { - UA_MonitoredItem_removeLink(sub, mon, mon->triggeringLinks[i]); - continue; - } - - /* Only sampling MonitoredItems receive a trigger. Reporting - * MonitoredItems send out Notifications anyway and disabled - * MonitoredItems don't create samples to send. */ - if(triggeredMon->monitoringMode != UA_MONITORINGMODE_SAMPLING) - continue; - - /* Get the latest sampled Notification from the triggered MonitoredItem. - * Enqueue for publication. */ - UA_Notification *n2 = TAILQ_LAST(&triggeredMon->queue, NotificationQueue); - if(n2) - UA_Notification_enqueueSub(n2); - - /* The next Notification within the publishing interval is going to be - * published as well. (Falsely) assume that the publishing cycle has - * started right now, so that we don't have to loop over MonitoredItems - * to deactivate the triggering after the publishing cycle. */ - triggeredMon->triggeredUntil = UA_DateTime_nowMonotonic() + - (UA_DateTime)(sub->publishingInterval * (UA_Double)UA_DATETIME_MSEC); - - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, - "MonitoredItem %u triggers MonitoredItem %u", - mon->monitoredItemId, triggeredMon->monitoredItemId); - } -} - -/* Remove from the MonitoredItem queue and adjust all counters */ -static void -UA_Notification_dequeueMon(UA_Notification *n) { - UA_MonitoredItem *mon = n->mon; - UA_assert(mon); - - if(TAILQ_NEXT(n, localEntry) == UA_SUBSCRIPTION_QUEUE_SENTINEL) - return; - - /* Remove from the MonitoredItem queue */ -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - if(n->isOverflowEvent) - --mon->eventOverflows; -#endif - - TAILQ_REMOVE(&mon->queue, n, localEntry); - --mon->queueSize; - - /* Test for consistency */ - UA_assert(mon->queueSize >= mon->eventOverflows); - UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); - - /* Reset the sentintel */ - TAILQ_NEXT(n, localEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; -} - -void -UA_Notification_dequeueSub(UA_Notification *n) { - if(TAILQ_NEXT(n, globalEntry) == UA_SUBSCRIPTION_QUEUE_SENTINEL) - return; - - UA_MonitoredItem *mon = n->mon; - UA_assert(mon); - UA_Subscription *sub = mon->subscription; - UA_assert(sub); - - switch(mon->itemToMonitor.attributeId) { -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - case UA_ATTRIBUTEID_EVENTNOTIFIER: - --sub->eventNotifications; - break; -#endif - default: - --sub->dataChangeNotifications; - break; - } - - TAILQ_REMOVE(&sub->notificationQueue, n, globalEntry); - --sub->notificationQueueSize; - - /* Reset the sentinel */ - TAILQ_NEXT(n, globalEntry) = UA_SUBSCRIPTION_QUEUE_SENTINEL; -} - -/*****************/ -/* MonitoredItem */ -/*****************/ - -void -UA_MonitoredItem_init(UA_MonitoredItem *mon) { - memset(mon, 0, sizeof(UA_MonitoredItem)); - TAILQ_INIT(&mon->queue); - mon->triggeredUntil = UA_INT64_MIN; -} - -static UA_StatusCode -addMonitoredItemBackpointer(UA_Server *server, UA_Session *session, - UA_Node *node, void *data) { - UA_MonitoredItem *mon = (UA_MonitoredItem*)data; - UA_assert(mon != (UA_MonitoredItem*)~0); - mon->sampling.nodeListNext = node->head.monitoredItems; - node->head.monitoredItems = mon; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -removeMonitoredItemBackPointer(UA_Server *server, UA_Session *session, - UA_Node *node, void *data) { - if(!node->head.monitoredItems) - return UA_STATUSCODE_GOOD; - - /* Edge case that it's the first element */ - UA_MonitoredItem *remove = (UA_MonitoredItem*)data; - if(node->head.monitoredItems == remove) { - node->head.monitoredItems = remove->sampling.nodeListNext; - return UA_STATUSCODE_GOOD; - } - - UA_MonitoredItem *prev = node->head.monitoredItems; - UA_MonitoredItem *entry = prev->sampling.nodeListNext; - for(; entry != NULL; prev = entry, entry = entry->sampling.nodeListNext) { - if(entry == remove) { - prev->sampling.nodeListNext = entry->sampling.nodeListNext; - break; - } - } - - return UA_STATUSCODE_GOOD; -} - -void -UA_Server_registerMonitoredItem(UA_Server *server, UA_MonitoredItem *mon) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(mon->registered) - return; - - /* Register in Subscription and Server */ - UA_Subscription *sub = mon->subscription; - if(sub) { - mon->monitoredItemId = ++sub->lastMonitoredItemId; - sub->monitoredItemsSize++; - LIST_INSERT_HEAD(&sub->monitoredItems, mon, listEntry); - } else { - mon->monitoredItemId = ++server->lastLocalMonitoredItemId; - LIST_INSERT_HEAD(&server->localMonitoredItems, mon, listEntry); - } - server->monitoredItemsSize++; - - /* Register the MonitoredItem in userland */ - if(server->config.monitoredItemRegisterCallback) { - UA_Session *session = &server->adminSession; - if(sub) - session = sub->session; - - void *targetContext = NULL; - getNodeContext(server, mon->itemToMonitor.nodeId, &targetContext); - server->config.monitoredItemRegisterCallback(server, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &mon->itemToMonitor.nodeId, - targetContext, - mon->itemToMonitor.attributeId, false); - } - - mon->registered = true; -} - -static void -UA_Server_unregisterMonitoredItem(UA_Server *server, UA_MonitoredItem *mon) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(!mon->registered) - return; - - UA_Subscription *sub = mon->subscription; - UA_LOG_INFO_SUBSCRIPTION(server->config.logging, sub, - "MonitoredItem %" PRIi32 " | Deleting the MonitoredItem", - mon->monitoredItemId); - - /* Deregister MonitoredItem in userland */ - if(server->config.monitoredItemRegisterCallback) { - UA_Session *session = &server->adminSession; - if(sub) - session = sub->session; - - void *targetContext = NULL; - getNodeContext(server, mon->itemToMonitor.nodeId, &targetContext); - server->config.monitoredItemRegisterCallback(server, - session ? &session->sessionId : NULL, - session ? session->sessionHandle : NULL, - &mon->itemToMonitor.nodeId, - targetContext, - mon->itemToMonitor.attributeId, true); - } - - /* Deregister in Subscription and server */ - if(sub) - sub->monitoredItemsSize--; - LIST_REMOVE(mon, listEntry); /* Also for LocalMonitoredItems */ - server->monitoredItemsSize--; - - mon->registered = false; -} - -UA_StatusCode -UA_MonitoredItem_setMonitoringMode(UA_Server *server, UA_MonitoredItem *mon, - UA_MonitoringMode monitoringMode) { - /* Check if the MonitoringMode is valid or not */ - if(monitoringMode > UA_MONITORINGMODE_REPORTING) - return UA_STATUSCODE_BADMONITORINGMODEINVALID; - - /* Set the MonitoringMode, store the old mode */ - UA_MonitoringMode oldMode = mon->monitoringMode; - mon->monitoringMode = monitoringMode; - - UA_Notification *notification; - /* Reporting is disabled. This causes all Notifications to be dequeued and - * deleted. Also remove the last samples so that we immediately generate a - * Notification when re-activated. */ - if(mon->monitoringMode == UA_MONITORINGMODE_DISABLED) { - UA_Notification *notification_tmp; - UA_MonitoredItem_unregisterSampling(server, mon); - TAILQ_FOREACH_SAFE(notification, &mon->queue, localEntry, notification_tmp) { - UA_Notification_delete(notification); - } - UA_DataValue_clear(&mon->lastValue); - return UA_STATUSCODE_GOOD; - } - - /* When reporting is enabled, put all notifications that were already - * sampled into the global queue of the subscription. When sampling is - * enabled, remove all notifications from the global queue. !!! This needs - * to be the same operation as in UA_Notification_enqueue !!! */ - if(mon->monitoringMode == UA_MONITORINGMODE_REPORTING) { - /* Make all notifications reporting. Re-enqueue to ensure they have the - * right order if some notifications are already reported by a trigger - * link. */ - TAILQ_FOREACH(notification, &mon->queue, localEntry) { - UA_Notification_dequeueSub(notification); - UA_Notification_enqueueSub(notification); - } - } else /* mon->monitoringMode == UA_MONITORINGMODE_SAMPLING */ { - /* Make all notifications non-reporting */ - TAILQ_FOREACH(notification, &mon->queue, localEntry) - UA_Notification_dequeueSub(notification); - } - - /* Register the sampling callback with an interval. If registering the - * sampling callback failed, set to disabled. But don't delete the current - * notifications. */ - UA_StatusCode res = UA_MonitoredItem_registerSampling(server, mon); - if(res != UA_STATUSCODE_GOOD) { - mon->monitoringMode = UA_MONITORINGMODE_DISABLED; - return res; - } - - /* Manually create the first sample if the MonitoredItem was disabled, the - * MonitoredItem is now sampling (or reporting) and it is not an - * Event-MonitoredItem */ - if(oldMode == UA_MONITORINGMODE_DISABLED && - mon->monitoringMode > UA_MONITORINGMODE_DISABLED && - mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER) - monitoredItem_sampleCallback(server, mon); - - return UA_STATUSCODE_GOOD; -} - -static void -delayedFreeMonitoredItem(void *app, void *context) { - UA_free(context); -} - -void -UA_MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *mon) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Remove the sampling callback */ - UA_MonitoredItem_unregisterSampling(server, mon); - - /* Deregister in Server and Subscription */ - if(mon->registered) - UA_Server_unregisterMonitoredItem(server, mon); - - /* Remove the TriggeringLinks */ - if(mon->triggeringLinksSize > 0) { - UA_free(mon->triggeringLinks); - mon->triggeringLinks = NULL; - mon->triggeringLinksSize = 0; - } - - /* Remove the queued notifications attached to the subscription */ - UA_Notification *notification, *notification_tmp; - TAILQ_FOREACH_SAFE(notification, &mon->queue, localEntry, notification_tmp) { - UA_Notification_delete(notification); - } - - /* Remove the settings */ - UA_ReadValueId_clear(&mon->itemToMonitor); - UA_MonitoringParameters_clear(&mon->parameters); - - /* Remove the last samples */ - UA_DataValue_clear(&mon->lastValue); - - /* Add a delayed callback to remove the MonitoredItem when the current jobs - * have completed. This is needed to allow that a local MonitoredItem can - * remove itself in the callback. */ - mon->delayedFreePointers.callback = delayedFreeMonitoredItem; - mon->delayedFreePointers.application = NULL; - mon->delayedFreePointers.context = mon; - UA_EventLoop *el = server->config.eventLoop; - el->addDelayedCallback(el, &mon->delayedFreePointers); -} - -void -UA_MonitoredItem_ensureQueueSpace(UA_Server *server, UA_MonitoredItem *mon) { - /* There can be only one EventOverflow more than normal entries. Because - * EventOverflows are never adjacent. */ - UA_assert(mon->queueSize >= mon->eventOverflows); - UA_assert(mon->eventOverflows <= mon->queueSize - mon->eventOverflows + 1); - - /* Always attached to a Subscription (no local MonitoredItem) */ - UA_Subscription *sub = mon->subscription; - UA_assert(sub); - - /* Nothing to do */ - if(mon->queueSize - mon->eventOverflows <= mon->parameters.queueSize) - return; - - /* Remove notifications until the required queue size is reached */ - UA_Boolean reporting = false; - size_t remove = mon->queueSize - mon->eventOverflows - mon->parameters.queueSize; - while(remove > 0) { - /* The minimum queue size (without EventOverflows) is 1. At least two - * notifications that are not EventOverflows are in the queue. */ - UA_assert(mon->queueSize - mon->eventOverflows >= 2); - - /* Select the next notification to delete. Skip over overflow events. */ - UA_Notification *del = NULL; - if(mon->parameters.discardOldest) { - /* Remove the oldest */ - del = TAILQ_FIRST(&mon->queue); -#if defined(UA_ENABLE_SUBSCRIPTIONS_EVENTS) && !defined(__clang_analyzer__) - while(del->isOverflowEvent) - del = TAILQ_NEXT(del, localEntry); /* skip overflow events */ -#endif - } else { - /* Remove the second newest (to keep the up-to-date notification). - * The last entry is not an OverflowEvent -- we just added it. */ - del = TAILQ_LAST(&mon->queue, NotificationQueue); - del = TAILQ_PREV(del, NotificationQueue, localEntry); -#if defined(UA_ENABLE_SUBSCRIPTIONS_EVENTS) && !defined(__clang_analyzer__) - while(del->isOverflowEvent) - del = TAILQ_PREV(del, NotificationQueue, localEntry); /* skip overflow events */ -#endif - } - - UA_assert(del); /* There must have been one entry that can be deleted */ - - /* Only create OverflowEvents (and set InfoBits) if the notification - * that is removed is reported */ - if(TAILQ_NEXT(del, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) - reporting = true; - - /* Move the entry after del in the per-MonitoredItem queue right after - * del in the per-Subscription queue. So we don't starve MonitoredItems - * with a high sampling interval in the Subscription queue by always - * removing their first appearance in the per-Subscription queue. - * - * With MonitoringMode == SAMPLING, the Notifications are not (all) in - * the per-Subscription queue. Don't reinsert in that case. - * - * For the reinsertion to work, first insert into the per-Subscription - * queue. */ - if(TAILQ_NEXT(del, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { - UA_Notification *after_del = TAILQ_NEXT(del, localEntry); - UA_assert(after_del); /* There must be one remaining element after del */ - if(TAILQ_NEXT(after_del, globalEntry) != UA_SUBSCRIPTION_QUEUE_SENTINEL) { - TAILQ_REMOVE(&sub->notificationQueue, after_del, globalEntry); - TAILQ_INSERT_AFTER(&sub->notificationQueue, del, after_del, globalEntry); - } - } - - remove--; - - /* Delete the notification and remove it from the queues */ - UA_Notification_delete(del); - - /* Update the subscription diagnostics statistics */ -#ifdef UA_ENABLE_DIAGNOSTICS - sub->monitoringQueueOverflowCount++; -#endif - - /* Assertions to help Clang's scan-analyzer */ - UA_assert(del != TAILQ_FIRST(&mon->queue)); - UA_assert(del != TAILQ_LAST(&mon->queue, NotificationQueue)); - UA_assert(del != TAILQ_PREV(TAILQ_LAST(&mon->queue, NotificationQueue), - NotificationQueue, localEntry)); - } - - /* Leave an entry to indicate that notifications were removed */ - if(reporting) { -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) - createEventOverflowNotification(server, sub, mon); - else -#endif - setOverflowInfoBits(mon); - } -} - -UA_StatusCode -UA_MonitoredItem_registerSampling(UA_Server *server, UA_MonitoredItem *mon) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Sampling is already registered */ - if(mon->samplingType != UA_MONITOREDITEMSAMPLINGTYPE_NONE) - return UA_STATUSCODE_GOOD; - - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_Subscription *sub = mon->subscription; - if(mon->itemToMonitor.attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER || - mon->parameters.samplingInterval == 0.0) { - /* Add to the linked list in the node */ - UA_Session *session = &server->adminSession; - if(sub) - session = sub->session; - res = UA_Server_editNode(server, session, &mon->itemToMonitor.nodeId, - addMonitoredItemBackpointer, mon); - if(res == UA_STATUSCODE_GOOD) - mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_EVENT; - return res; - } else if(sub && mon->parameters.samplingInterval == sub->publishingInterval) { - /* Add to the subscription for sampling before every publish */ - LIST_INSERT_HEAD(&sub->samplingMonitoredItems, mon, - sampling.subscriptionSampling); - mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_PUBLISH; - } else { - /* DataChange MonitoredItems with a positive sampling interval have a - * repeated callback. Other MonitoredItems are attached to the Node in a - * linked list of backpointers. */ - res = addRepeatedCallback(server, - (UA_ServerCallback)UA_MonitoredItem_sampleCallback, - mon, mon->parameters.samplingInterval, - &mon->sampling.callbackId); - if(res == UA_STATUSCODE_GOOD) - mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_CYCLIC; - } - - return res; -} - -void -UA_MonitoredItem_unregisterSampling(UA_Server *server, UA_MonitoredItem *mon) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - switch(mon->samplingType) { - case UA_MONITOREDITEMSAMPLINGTYPE_CYCLIC: - /* Remove repeated callback */ - removeCallback(server, mon->sampling.callbackId); - break; - - case UA_MONITOREDITEMSAMPLINGTYPE_EVENT: { - /* Added to a node */ - UA_Subscription *sub = mon->subscription; - UA_Session *session = &server->adminSession; - if(sub) - session = sub->session; - UA_Server_editNode(server, session, &mon->itemToMonitor.nodeId, - removeMonitoredItemBackPointer, mon); - break; - } - - case UA_MONITOREDITEMSAMPLINGTYPE_PUBLISH: - /* Added to the subscription */ - LIST_REMOVE(mon, sampling.subscriptionSampling); - break; - - case UA_MONITOREDITEMSAMPLINGTYPE_NONE: - default: - /* Sampling is not registered */ - break; - } - - mon->samplingType = UA_MONITOREDITEMSAMPLINGTYPE_NONE; -} - -UA_StatusCode -UA_MonitoredItem_removeLink(UA_Subscription *sub, UA_MonitoredItem *mon, UA_UInt32 linkId) { - /* Find the index */ - size_t i = 0; - for(; i < mon->triggeringLinksSize; i++) { - if(mon->triggeringLinks[i] == linkId) - break; - } - - /* Not existing / already removed */ - if(i == mon->triggeringLinksSize) - return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - - /* Remove the link */ - mon->triggeringLinksSize--; - if(mon->triggeringLinksSize == 0) { - UA_free(mon->triggeringLinks); - mon->triggeringLinks = NULL; - } else { - mon->triggeringLinks[i] = mon->triggeringLinks[mon->triggeringLinksSize]; - UA_UInt32 *tmpLinks = (UA_UInt32*) - UA_realloc(mon->triggeringLinks, mon->triggeringLinksSize * sizeof(UA_UInt32)); - if(tmpLinks) - mon->triggeringLinks = tmpLinks; - } - - /* Does the target MonitoredItem exist? This is stupid, but the CTT wants us - * to to this. We don't auto-remove links together with the target - * MonitoredItem. Links to removed MonitoredItems are removed when the link - * triggers and the target no longer exists. */ - UA_MonitoredItem *mon2 = UA_Subscription_getMonitoredItem(sub, linkId); - if(!mon2) - return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_MonitoredItem_addLink(UA_Subscription *sub, UA_MonitoredItem *mon, UA_UInt32 linkId) { - /* Does the target MonitoredItem exist? */ - UA_MonitoredItem *mon2 = UA_Subscription_getMonitoredItem(sub, linkId); - if(!mon2) - return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - - /* Does the link already exist? */ - for(size_t i = 0 ; i < mon->triggeringLinksSize; i++) { - if(mon->triggeringLinks[i] == linkId) - return UA_STATUSCODE_GOOD; - } - - /* Allocate the memory */ - UA_UInt32 *tmpLinkIds = (UA_UInt32*) - UA_realloc(mon->triggeringLinks, (mon->triggeringLinksSize + 1) * sizeof(UA_UInt32)); - if(!tmpLinkIds) - return UA_STATUSCODE_BADOUTOFMEMORY; - mon->triggeringLinks = tmpLinkIds; - - /* Add the link */ - mon->triggeringLinks[mon->triggeringLinksSize] = linkId; - mon->triggeringLinksSize++; - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -/**** amalgamated original file "/src/server/ua_subscription_datachange.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Fabian Arndt, Root-Core - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS /* conditional compilation */ - -/* Detect value changes outside the deadband */ -#define UA_DETECT_DEADBAND(TYPE) do { \ - TYPE v1 = *(const TYPE*)data1; \ - TYPE v2 = *(const TYPE*)data2; \ - TYPE diff = (v1 > v2) ? (TYPE)(v1 - v2) : (TYPE)(v2 - v1); \ - return ((UA_Double)diff > deadband); \ -} while(false); - -static UA_Boolean -detectScalarDeadBand(const void *data1, const void *data2, - const UA_DataType *type, const UA_Double deadband) { - if(type->typeKind == UA_DATATYPEKIND_SBYTE) { - UA_DETECT_DEADBAND(UA_SByte); - } else if(type->typeKind == UA_DATATYPEKIND_BYTE) { - UA_DETECT_DEADBAND(UA_Byte); - } else if(type->typeKind == UA_DATATYPEKIND_INT16) { - UA_DETECT_DEADBAND(UA_Int16); - } else if(type->typeKind == UA_DATATYPEKIND_UINT16) { - UA_DETECT_DEADBAND(UA_UInt16); - } else if(type->typeKind == UA_DATATYPEKIND_INT32) { - UA_DETECT_DEADBAND(UA_Int32); - } else if(type->typeKind == UA_DATATYPEKIND_UINT32) { - UA_DETECT_DEADBAND(UA_UInt32); - } else if(type->typeKind == UA_DATATYPEKIND_INT64) { - UA_DETECT_DEADBAND(UA_Int64); - } else if(type->typeKind == UA_DATATYPEKIND_UINT64) { - UA_DETECT_DEADBAND(UA_UInt64); - } else if(type->typeKind == UA_DATATYPEKIND_FLOAT) { - UA_DETECT_DEADBAND(UA_Float); - } else if(type->typeKind == UA_DATATYPEKIND_DOUBLE) { - UA_DETECT_DEADBAND(UA_Double); - } else { - return false; /* Not a known numerical type */ - } -} - -static UA_Boolean -detectVariantDeadband(const UA_Variant *value, const UA_Variant *oldValue, - const UA_Double deadbandValue) { - if(value->arrayLength != oldValue->arrayLength) - return true; - if(value->type != oldValue->type) - return true; - size_t length = 1; - if(!UA_Variant_isScalar(value)) - length = value->arrayLength; - uintptr_t data = (uintptr_t)value->data; - uintptr_t oldData = (uintptr_t)oldValue->data; - UA_UInt32 memSize = value->type->memSize; - for(size_t i = 0; i < length; ++i) { - if(detectScalarDeadBand((const void*)data, (const void*)oldData, - value->type, deadbandValue)) - return true; - data += memSize; - oldData += memSize; - } - return false; -} - -static UA_Boolean -detectValueChange(UA_Server *server, UA_MonitoredItem *mon, const UA_DataValue *dv) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Status changes are always reported */ - if(dv->hasStatus != mon->lastValue.hasStatus || - dv->status != mon->lastValue.status) { - return true; - } - - /* Default trigger is Status + Value */ - UA_DataChangeTrigger trigger = UA_DATACHANGETRIGGER_STATUSVALUE; - - /* Use the configured trigger */ - const UA_DataChangeFilter *dcf = NULL; - const UA_ExtensionObject *filter = &mon->parameters.filter; - if(filter->content.decoded.type == &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) { - dcf = (UA_DataChangeFilter*)filter->content.decoded.data; - trigger = dcf->trigger; - } - - /* The status was already tested above */ - if(trigger == UA_DATACHANGETRIGGER_STATUS) - return false; - - UA_assert(trigger == UA_DATACHANGETRIGGER_STATUSVALUE || - trigger == UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP); - - /* Test absolute deadband */ - if(dcf && dcf->deadbandType == UA_DEADBANDTYPE_ABSOLUTE && - dv->value.type != NULL && UA_DataType_isNumeric(dv->value.type)) - return detectVariantDeadband(&dv->value, &mon->lastValue.value, - dcf->deadbandValue); - - /* Compare the source timestamp if the trigger requires that */ - if(trigger == UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP) { - if(dv->hasSourceTimestamp != mon->lastValue.hasSourceTimestamp) - return true; - if(dv->hasSourceTimestamp && - dv->sourceTimestamp != mon->lastValue.sourceTimestamp) - return true; - } - - /* Has the value changed? */ - if(dv->hasValue != mon->lastValue.hasValue) - return true; - return !UA_equal(&dv->value, &mon->lastValue.value, - &UA_TYPES[UA_TYPES_VARIANT]); -} - -UA_StatusCode -UA_MonitoredItem_createDataChangeNotification(UA_Server *server, UA_MonitoredItem *mon, - const UA_DataValue *dv) { - /* Allocate a new notification */ - UA_Notification *newNot = UA_Notification_new(); - if(!newNot) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Prepare the notification */ - newNot->mon = mon; - newNot->data.dataChange.clientHandle = mon->parameters.clientHandle; - UA_StatusCode retval = UA_DataValue_copy(dv, &newNot->data.dataChange.value); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(newNot); - return retval; - } - - /* Enqueue the notification */ - UA_Notification_enqueueAndTrigger(server, newNot); - return UA_STATUSCODE_GOOD; -} - -void -UA_MonitoredItem_processSampledValue(UA_Server *server, UA_MonitoredItem *mon, - UA_DataValue *value) { - UA_assert(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER); - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Has the value changed (with the filters applied)? */ - UA_Boolean changed = detectValueChange(server, mon, value); - if(!changed) { - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, mon->subscription, - "MonitoredItem %" PRIi32 " | " - "The value has not changed", mon->monitoredItemId); - UA_DataValue_clear(value); - return; - } - - /* The MonitoredItem is attached to a subscription (not server-local). - * Prepare a notification and enqueue it. */ - if(mon->subscription) { - UA_StatusCode res = - UA_MonitoredItem_createDataChangeNotification(server, mon, value); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING_SUBSCRIPTION(server->config.logging, mon->subscription, - "MonitoredItem %" PRIi32 " | " - "Processing the sample returned the statuscode %s", - mon->monitoredItemId, UA_StatusCode_name(res)); - UA_DataValue_clear(value); - return; - } - } - - /* <-- Point of no return --> */ - - /* Move/store the value for filter comparison and TransferSubscription */ - UA_DataValue_clear(&mon->lastValue); - mon->lastValue = *value; - - /* Call the local callback if the MonitoredItem is not attached to a - * subscription. Do this at the very end. Because the callback might delete - * the subscription. */ - if(!mon->subscription) { - UA_LocalMonitoredItem *localMon = (UA_LocalMonitoredItem*) mon; - void *nodeContext = NULL; - getNodeContext(server, mon->itemToMonitor.nodeId, &nodeContext); - localMon->callback.dataChangeCallback(server, - mon->monitoredItemId, localMon->context, - &mon->itemToMonitor.nodeId, nodeContext, - mon->itemToMonitor.attributeId, value); - } -} - -void -UA_MonitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon) { - lockServer(server); - monitoredItem_sampleCallback(server, mon); - unlockServer(server); -} - -void -monitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *mon) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - UA_assert(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER); - - UA_Subscription *sub = mon->subscription; - UA_LOG_DEBUG_SUBSCRIPTION(server->config.logging, sub, "MonitoredItem %" PRIi32 - " | Sample callback called", mon->monitoredItemId); - - /* Sample the current value */ - UA_Session *session = (sub) ? sub->session : &server->adminSession; - UA_DataValue dv = readWithSession(server, session, &mon->itemToMonitor, - mon->timestampsToReturn); - - /* Process the sample. This always clears the value. */ - UA_MonitoredItem_processSampledValue(server, mon, &dv); -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS */ - -/**** amalgamated original file "/src/server/ua_subscription_events.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - -/* We use a 16-Byte ByteString as an identifier */ -UA_StatusCode -generateEventId(UA_ByteString *generatedId) { - /* EventId is a ByteString, which is basically just a string - * We will use a 16-Byte ByteString as an identifier */ - UA_StatusCode res = UA_ByteString_allocBuffer(generatedId, 16 * sizeof(UA_Byte)); - if(res != UA_STATUSCODE_GOOD) - return res; - UA_UInt32 *ids = (UA_UInt32*)generatedId->data; - ids[0] = UA_UInt32_random(); - ids[1] = UA_UInt32_random(); - ids[2] = UA_UInt32_random(); - ids[3] = UA_UInt32_random(); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -createEvent(UA_Server *server, const UA_NodeId eventType, UA_NodeId *outNodeId) { - if(!outNodeId) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, - "outNodeId must not be NULL. The event's NodeId must be returned " - "so it can be triggered."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - /* Make sure the eventType is a subtype of BaseEventType */ - UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); - if(!isNodeInTree_singleRef(server, &eventType, &baseEventTypeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, - "Event type must be a subtype of BaseEventType!"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - /* Create an ObjectNode which represents the event */ - UA_QualifiedName name; - /* set a dummy name. This is not used. */ - name = UA_QUALIFIEDNAME(0,"E"); - UA_NodeId newNodeId = UA_NODEID_NULL; - UA_ObjectAttributes oAttr = UA_ObjectAttributes_default; - UA_StatusCode retval = addNode(server, UA_NODECLASS_OBJECT, - UA_NODEID_NULL, /* Set a random unused NodeId */ - UA_NODEID_NULL, /* No parent */ - UA_NODEID_NULL, /* No parent reference */ - name, /* an event does not have a name */ - eventType, /* the type of the event */ - &oAttr, /* default attributes are fine */ - &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], - NULL, /* no node context */ - &newNodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, - "Adding event failed. StatusCode %s", UA_StatusCode_name(retval)); - return retval; - } - - /* Find the eventType variable */ - name = UA_QUALIFIEDNAME(0, "EventType"); - UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, newNodeId, 1, &name); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - retval = bpr.statusCode; - UA_BrowsePathResult_clear(&bpr); - deleteNode(server, newNodeId, true); - UA_NodeId_clear(&newNodeId); - return retval; - } - - /* Set the EventType */ - UA_Variant value; - UA_Variant_init(&value); - UA_Variant_setScalar(&value, (void*)(uintptr_t)&eventType, &UA_TYPES[UA_TYPES_NODEID]); - retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); - UA_BrowsePathResult_clear(&bpr); - if(retval != UA_STATUSCODE_GOOD) { - deleteNode(server, newNodeId, true); - UA_NodeId_clear(&newNodeId); - return retval; - } - - *outNodeId = newNodeId; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Server_createEvent(UA_Server *server, const UA_NodeId eventType, - UA_NodeId *outNodeId) { - lockServer(server); - UA_StatusCode res = createEvent(server, eventType, outNodeId); - unlockServer(server); - return res; -} - -static UA_StatusCode -eventSetStandardFields(UA_Server *server, const UA_NodeId *event, - const UA_NodeId *origin, UA_ByteString *outEventId) { - /* Set the SourceNode */ - UA_StatusCode retval; - UA_QualifiedName name = UA_QUALIFIEDNAME(0, "SourceNode"); - UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, *event, 1, &name); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - retval = bpr.statusCode; - UA_BrowsePathResult_clear(&bpr); - return retval; - } - UA_Variant value; - UA_Variant_init(&value); - UA_Variant_setScalarCopy(&value, origin, &UA_TYPES[UA_TYPES_NODEID]); - retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); - UA_Variant_clear(&value); - UA_BrowsePathResult_clear(&bpr); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the ReceiveTime */ - name = UA_QUALIFIEDNAME(0, "ReceiveTime"); - bpr = browseSimplifiedBrowsePath(server, *event, 1, &name); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - retval = bpr.statusCode; - UA_BrowsePathResult_clear(&bpr); - return retval; - } - UA_DateTime rcvTime = UA_DateTime_now(); - UA_Variant_setScalar(&value, &rcvTime, &UA_TYPES[UA_TYPES_DATETIME]); - retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); - UA_BrowsePathResult_clear(&bpr); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the EventId */ - UA_ByteString eventId = UA_BYTESTRING_NULL; - retval = generateEventId(&eventId); - if(retval != UA_STATUSCODE_GOOD) - return retval; - name = UA_QUALIFIEDNAME(0, "EventId"); - bpr = browseSimplifiedBrowsePath(server, *event, 1, &name); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - retval = bpr.statusCode; - UA_ByteString_clear(&eventId); - UA_BrowsePathResult_clear(&bpr); - return retval; - } - UA_Variant_init(&value); - UA_Variant_setScalar(&value, &eventId, &UA_TYPES[UA_TYPES_BYTESTRING]); - retval = writeValueAttribute(server, bpr.targets[0].targetId.nodeId, &value); - UA_BrowsePathResult_clear(&bpr); - if(retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear(&eventId); - return retval; - } - - /* Return the EventId */ - if(outEventId) - *outEventId = eventId; - else - UA_ByteString_clear(&eventId); - - return UA_STATUSCODE_GOOD; -} - -/* Filters an event according to the filter specified by mon and then adds it to - * mons notification queue */ -UA_StatusCode -UA_MonitoredItem_addEvent(UA_Server *server, UA_MonitoredItem *mon, - const UA_NodeId *event) { - /* Get the filter */ - if(mon->parameters.filter.content.decoded.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) - return UA_STATUSCODE_BADFILTERNOTALLOWED; - UA_EventFilter *eventFilter = (UA_EventFilter*) - mon->parameters.filter.content.decoded.data; - - /* Allocate memory for the notification */ - UA_Notification *notification = UA_Notification_new(); - if(!notification) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* The MonitoredItem must be attached to a Subscription. This code path is - * not taken for local MonitoredItems (once they are enabled for Events). */ - UA_assert(mon->subscription); - UA_Subscription *sub = mon->subscription; - UA_Session *session = sub->session; - - UA_EventFilterResult res; /* FilterResult contains only statuscodes. Ignored - * outside the initial setup/validation. */ - UA_EventFilterResult_init(&res); - UA_StatusCode retval = filterEvent(server, session, event, eventFilter, - ¬ification->data.event, &res); - UA_EventFilterResult_clear(&res); - if(retval != UA_STATUSCODE_GOOD) { - UA_Notification_delete(notification); - if(retval == UA_STATUSCODE_BADNOMATCH) - return UA_STATUSCODE_GOOD; - return retval; - } - - notification->data.event.clientHandle = mon->parameters.clientHandle; - notification->mon = mon; - - UA_Notification_enqueueAndTrigger(server, notification); - return UA_STATUSCODE_GOOD; -} - -#ifdef UA_ENABLE_HISTORIZING -static void -setHistoricalEvent(UA_Server *server, const UA_NodeId *origin, - const UA_NodeId *emitNodeId, const UA_NodeId *eventNodeId) { - UA_Variant historicalEventFilterValue; - UA_Variant_init(&historicalEventFilterValue); - - /* A HistoricalEventNode that has event history available will provide this property */ - UA_StatusCode retval = - readObjectProperty(server, *emitNodeId, - UA_QUALIFIEDNAME(0, "HistoricalEventFilter"), - &historicalEventFilterValue); - if(retval != UA_STATUSCODE_GOOD) { - /* Do not vex users with no match errors */ - if(retval != UA_STATUSCODE_BADNOMATCH) - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Cannot read the HistoricalEventFilter property of a " - "listening node. StatusCode %s", - UA_StatusCode_name(retval)); - return; - } - - /* If found then check if HistoricalEventFilter property has a valid value */ - if(UA_Variant_isEmpty(&historicalEventFilterValue) || - !UA_Variant_isScalar(&historicalEventFilterValue) || - historicalEventFilterValue.type != &UA_TYPES[UA_TYPES_EVENTFILTER]) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "HistoricalEventFilter property of a listening node " - "does not have a valid value"); - UA_Variant_clear(&historicalEventFilterValue); - return; - } - - /* Finally, if found and valid then filter */ - UA_EventFilter *filter = (UA_EventFilter*) historicalEventFilterValue.data; - UA_EventFieldList efl; - UA_EventFilterResult result; - retval = filterEvent(server, &server->adminSession, eventNodeId, filter, &efl, &result); - if(retval == UA_STATUSCODE_GOOD) - server->config.historyDatabase.setEvent(server, server->config.historyDatabase.context, - origin, emitNodeId, filter, &efl); - UA_EventFilterResult_clear(&result); - UA_Variant_clear(&historicalEventFilterValue); - UA_EventFieldList_clear(&efl); -} -#endif - -static const UA_NodeId objectsFolderId = {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_OBJECTSFOLDER}}; -#define EMIT_REFS_ROOT_COUNT 4 -static const UA_NodeId emitReferencesRoots[EMIT_REFS_ROOT_COUNT] = - {{0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_ORGANIZES}}, - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}}, - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASEVENTSOURCE}}, - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASNOTIFIER}}}; - -static const UA_NodeId isInFolderReferences[2] = - {{0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_ORGANIZES}}, - {0, UA_NODEIDTYPE_NUMERIC, {UA_NS0ID_HASCOMPONENT}}}; - -UA_StatusCode -triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, - const UA_NodeId origin, UA_ByteString *outEventId, - const UA_Boolean deleteEventNode) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - UA_LOG_NODEID_DEBUG(&origin, - UA_LOG_DEBUG(server->config.logging, UA_LOGCATEGORY_SERVER, - "Events: An event is triggered on node %.*s", - (int)nodeIdStr.length, nodeIdStr.data)); - -#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS - UA_Boolean isCallerAC = false; - if(isConditionOrBranch(server, &eventNodeId, &origin, &isCallerAC)) { - if(!isCallerAC) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Condition Events: Please use A&C API to trigger Condition Events 0x%08X", - UA_STATUSCODE_BADINVALIDARGUMENT); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - } -#endif /* UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS */ - - /* Check that the origin node exists */ - const UA_Node *originNode = UA_NODESTORE_GET(server, &origin); - if(!originNode) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, - "Origin node for event does not exist."); - return UA_STATUSCODE_BADNOTFOUND; - } - UA_NODESTORE_RELEASE(server, originNode); - - /* Make sure the origin is in the ObjectsFolder (TODO: or in the ViewsFolder) */ - /* Only use Organizes and HasComponent to check if we are below the ObjectsFolder */ - UA_StatusCode retval; - UA_ReferenceTypeSet refTypes; - UA_ReferenceTypeSet_init(&refTypes); - for(int i = 0; i < 2; ++i) { - UA_ReferenceTypeSet tmpRefTypes; - retval = referenceTypeIndices(server, &isInFolderReferences[i], &tmpRefTypes, true); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Events: Could not create the list of references and their subtypes " - "with StatusCode %s", UA_StatusCode_name(retval)); - } - refTypes = UA_ReferenceTypeSet_union(refTypes, tmpRefTypes); - } - - if(!isNodeInTree(server, &origin, &objectsFolderId, &refTypes)) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_USERLAND, - "Node for event must be in ObjectsFolder!"); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - /* Update the standard fields of the event */ - retval = eventSetStandardFields(server, &eventNodeId, &origin, outEventId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Events: Could not set the standard event fields with StatusCode %s", - UA_StatusCode_name(retval)); - return retval; - } - - /* List of nodes that emit the node. Events propagate upwards (bubble up) in - * the node hierarchy. */ - UA_ExpandedNodeId *emitNodes = NULL; - size_t emitNodesSize = 0; - - /* Add the server node to the list of nodes from which the event is emitted. - * The server node emits all events. - * - * Part 3, 7.17: In particular, the root notifier of a Server, the Server - * Object defined in Part 5, is always capable of supplying all Events from - * a Server and as such has implied HasEventSource References to every event - * source in a Server. */ - UA_NodeId emitStartNodes[2]; - emitStartNodes[0] = origin; - emitStartNodes[1] = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER); - - /* Get all ReferenceTypes over which the events propagate */ - UA_ReferenceTypeSet emitRefTypes; - UA_ReferenceTypeSet_init(&emitRefTypes); - for(size_t i = 0; i < EMIT_REFS_ROOT_COUNT; i++) { - UA_ReferenceTypeSet tmpRefTypes; - retval = referenceTypeIndices(server, &emitReferencesRoots[i], &tmpRefTypes, true); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Events: Could not create the list of references for event " - "propagation with StatusCode %s", UA_StatusCode_name(retval)); - goto cleanup; - } - emitRefTypes = UA_ReferenceTypeSet_union(emitRefTypes, tmpRefTypes); - } - - /* Get the list of nodes in the hierarchy that emits the event. */ - retval = browseRecursive(server, 2, emitStartNodes, UA_BROWSEDIRECTION_INVERSE, - &emitRefTypes, UA_NODECLASS_UNSPECIFIED, true, - &emitNodesSize, &emitNodes); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Events: Could not create the list of nodes listening on the " - "event with StatusCode %s", UA_StatusCode_name(retval)); - goto cleanup; - } - - /* Add the event to the listening MonitoredItems at each relevant node */ - for(size_t i = 0; i < emitNodesSize; i++) { - /* Get the node */ - const UA_Node *node = UA_NODESTORE_GET(server, &emitNodes[i].nodeId); - if(!node) - continue; - - /* Only consider objects */ - if(node->head.nodeClass != UA_NODECLASS_OBJECT) { - UA_NODESTORE_RELEASE(server, node); - continue; - } - - /* Add event to monitoreditems */ - UA_MonitoredItem *mon = node->head.monitoredItems; - for(; mon != NULL; mon = mon->sampling.nodeListNext) { - /* Is this an Event-MonitoredItem? */ - if(mon->itemToMonitor.attributeId != UA_ATTRIBUTEID_EVENTNOTIFIER) - continue; - retval = UA_MonitoredItem_addEvent(server, mon, &eventNodeId); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Events: Could not add the event to a listening " - "node with StatusCode %s", UA_StatusCode_name(retval)); - retval = UA_STATUSCODE_GOOD; /* Only log problems with individual emit nodes */ - } - } - - UA_NODESTORE_RELEASE(server, node); - - /* Add event entry in the historical database */ -#ifdef UA_ENABLE_HISTORIZING - if(server->config.historyDatabase.setEvent) - setHistoricalEvent(server, &origin, &emitNodes[i].nodeId, &eventNodeId); -#endif - } - - /* Delete the node representation of the event */ - if(deleteEventNode) { - retval = deleteNode(server, eventNodeId, true); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(server->config.logging, UA_LOGCATEGORY_SERVER, - "Attempt to remove event using deleteNode failed. StatusCode %s", - UA_StatusCode_name(retval)); - } - } - - cleanup: - UA_Array_delete(emitNodes, emitNodesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - return retval; -} - -UA_StatusCode -UA_Server_triggerEvent(UA_Server *server, const UA_NodeId eventNodeId, - const UA_NodeId origin, UA_ByteString *outEventId, - const UA_Boolean deleteEventNode) { - lockServer(server); - UA_StatusCode res = - triggerEvent(server, eventNodeId, origin, outEventId, deleteEventNode); - unlockServer(server); - return res; -} -#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ - -/**** amalgamated original file "/src/server/ua_subscription_events_filter.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Ari Breitkreuz, fortiss GmbH - * Copyright 2020 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Andreas Ebner) - * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - -/* Ternary Logic - * ------------- - * Similar to SQL, OPC UA Queries use the K3 - Strong Kleene Logic that - * considers ternary values true/false/null (unknown). Most operators resolve to - * a ternary value. Some operators can resolve to a literal value (e.g. CAST). */ - -typedef enum { - UA_TERNARY_FALSE = -1, - UA_TERNARY_NULL = 0, - UA_TERNARY_TRUE = 1 -} UA_Ternary; - -static UA_Ternary -UA_Ternary_and(UA_Ternary first, UA_Ternary second) { - if(first == UA_TERNARY_FALSE || second == UA_TERNARY_FALSE) - return UA_TERNARY_FALSE; - if(first == UA_TERNARY_NULL || second == UA_TERNARY_NULL) - return UA_TERNARY_NULL; - return UA_TERNARY_TRUE; -} - -static UA_Ternary -UA_Ternary_or(UA_Ternary first, UA_Ternary second) { - if(first == UA_TERNARY_TRUE || second == UA_TERNARY_TRUE) - return UA_TERNARY_TRUE; - if(first == UA_TERNARY_NULL || second == UA_TERNARY_NULL) - return UA_TERNARY_NULL; - return UA_TERNARY_FALSE; -} - -/* Part 4: The NOT operator always evaluates to NULL if applied to a NULL - * operand. We simply swap true/false. */ -static UA_Ternary -UA_Ternary_not(UA_Ternary v) { - return (UA_Ternary)((int)v * -1); -} - -static UA_Ternary v2t(const UA_Variant *v) { - if(UA_Variant_isEmpty(v) || !UA_Variant_hasScalarType(v, &UA_TYPES[UA_TYPES_BOOLEAN])) - return UA_TERNARY_NULL; - UA_Boolean b = *(UA_Boolean*)v->data; - return (b) ? UA_TERNARY_TRUE : UA_TERNARY_FALSE; -} - -static const UA_Boolean bFalse = false; -static const UA_Boolean bTrue = true; - -static UA_Variant t2v(UA_Ternary t) { - UA_Variant v; - UA_Variant_init(&v); - switch(t) { - case UA_TERNARY_FALSE: - UA_Variant_setScalar(&v, (void*)(uintptr_t)&bFalse, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - case UA_TERNARY_TRUE: - UA_Variant_setScalar(&v, (void*)(uintptr_t)&bTrue, &UA_TYPES[UA_TYPES_BOOLEAN]); - break; - default: - return v; - } - v.storageType = UA_VARIANT_DATA_NODELETE; - return v; -} - -/* Type Casting Rules - * ------------------ - * For comparison operations values from different datatypes can be implicitly - * or explicitly cast. The standard defines rules to selected the target type - * for casting and when implicit casts are possible. */ - -/* Defined in Part 4 Table 123 "Data Precedence Rules". Implicit casting is - * always to the type of lower precedence value. */ -static UA_Byte typePrecedence[UA_DATATYPEKINDS] = { - 12, 10, 11, 8, 9, 5, 6, 3, 4, 2, 1, 14, 255, 13, 255, 255, 16, - 15, 7, 18, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 -}; - -/* Type conversion table from the standard. - * 0 -> Same Type, 1 -> Implicit Cast, 2 -> Only explicit Cast, -1 -> cast invalid */ -static UA_SByte convertLookup[21][21] = { - { 0, 1,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 1,-1, 2,-1,-1, 1, 1, 1,-1}, - { 2, 0,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 1,-1, 2,-1,-1, 1, 1, 1,-1}, - {-1,-1, 0,-1,-1,-1,-1, 2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, - {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 2,-1,-1,-1,-1,-1,-1}, - { 2, 2,-1,-1, 0,-1, 2,-1, 2, 2, 2,-1, 2,-1, 2,-1,-1, 2, 2, 2,-1}, - {-1,-1,-1,-1,-1, 0,-1,-1,-1,-1,-1, 2,-1,-1, 1,-1,-1,-1,-1,-1,-1}, - { 2, 2,-1,-1, 1,-1, 0,-1, 2, 2, 2,-1, 2,-1, 2,-1,-1, 2, 2, 2,-1}, - {-1,-1, 2,-1,-1,-1,-1, 0,-1,-1,-1,-1,-1,-1, 2,-1,-1,-1,-1,-1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 0, 1, 1,-1, 2,-1, 2,-1,-1, 2, 1, 1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 2, 0, 1,-1, 2, 2, 2,-1,-1, 2, 2, 1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 2, 2, 0,-1, 2, 2, 2,-1,-1, 2, 2, 2,-1}, - {-1,-1,-1,-1,-1, 1,-1,-1,-1,-1,-1, 0,-1,-1, 1,-1,-1,-1,-1,-1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 0,-1, 2,-1,-1, 1, 1, 1,-1}, - {-1,-1,-1,-1,-1,-1,-1,-1,-1, 1, 1,-1,-1, 0,-1,-1,-1, 2, 1, 1,-1}, - { 1, 1,-1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1,-1, 0, 2, 2, 1, 1, 1,-1}, - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 1, 0,-1,-1,-1,-1,-1}, - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 1, 1, 0,-1,-1,-1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 1, 1, 1,-1, 2, 1, 2,-1,-1, 0, 1, 1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 2, 1, 1,-1, 2, 2, 2,-1,-1, 2, 0, 1,-1}, - { 2, 2,-1,-1, 1,-1, 1,-1, 2, 2, 1,-1, 2, 2, 2,-1,-1, 2, 2, 0,-1}, - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0} -}; - -/* This array maps the index of the DataType-Kind to the index of the type - * conversion matrix (255 -> not contained in the matrix) */ -static UA_Byte convertLookupIndex[UA_DATATYPEKINDS] = { - 0, 12, 1, 8, 17, 9, 18, 10, 19, 6, 4, 14, 3, 7, 2, - 20, 11, 5, 13, 16, 15,255,255,255,255,255,255,255,255,255,255 -}; - -/* Returns the target type for implicit cassting or NULL if no implicit casting - * is possible */ -static const UA_DataType * -implicitCastTargetType(const UA_DataType *t1, const UA_DataType *t2) { - if(!t1 || t1 == t2) - return t1; - - /* Get the type precedence. Return if no implicit casting is possible. */ - UA_Byte p1 = typePrecedence[t1->typeKind]; - UA_Byte p2 = typePrecedence[t2->typeKind]; - if(p1 == UA_BYTE_MAX || p2 == UA_BYTE_MAX) - return NULL; - - /* Which is the target type based on the precedence rules? */ - const UA_DataType *targetType = (p1 < p2) ? t1 : t2; - const UA_DataType *sourceType = (p1 < p2) ? t2 : t1; - - /* Lookup the casting rule */ - UA_Byte sourceIndex = convertLookupIndex[sourceType->typeKind]; - UA_Byte targetIndex = convertLookupIndex[targetType->typeKind]; - if(sourceIndex == UA_BYTE_MAX || targetIndex == UA_BYTE_MAX) - return NULL; - UA_SByte castingRule = convertLookup[sourceIndex][targetIndex]; - - /* Is implicit casting allowed? */ - if(castingRule != 0 && castingRule != 1) - return NULL; - return targetType; -} - -/* Cast Numerical - * -------------- - * To reduce the number of cases we first "normalize" to either of - * Int64/UInt64/Double. Then cast from there to the target type. This works for - * all numericals (not only the implicit conversion). - * - * Numerical conversion rules from the standard: - * - * - If the conversion fails the result is a null value. - * - Floating point values are rounded by adding 0.5 and truncating when they - * are converted to integer values. - * - Converting a value that is outside the range of the target type causes a - * conversion error. */ - -#define UA_CAST_SIGNED(t, T) \ - if(i < T##_MIN || (i > 0 && (t)i > T##_MAX)) \ - return; \ - *(t*)data = (t)i; \ - do { } while(0) - -#define UA_CAST_UNSIGNED(t, T) \ - if(u > T##_MAX) \ - return; \ - *(t*)data = (t)u; \ - do { } while(0) - -#define UA_CAST_FLOAT(t, T) \ - if(f + 0.5 < (UA_Double)T##_MIN || f + 0.5 > (UA_Double)T##_MAX) \ - return; \ - *(t*)data = (t)(f + 0.5); \ - do { } while(0) - -/* We can cast between any numerical type. So this can be reused for explicit casting. */ -static void -castNumerical(const UA_Variant *in, const UA_DataType *type, UA_Variant *out) { - UA_assert(UA_Variant_isScalar(in)); - UA_Variant_init(out); /* Set to null value */ - - UA_Int64 i = 0; - UA_UInt64 u = 0; - UA_Double f = 0.0; - - const UA_DataTypeKind ink = (UA_DataTypeKind)in->type->typeKind; - switch(ink) { - case UA_DATATYPEKIND_SBYTE: i = *(UA_SByte*)in->data; break; - case UA_DATATYPEKIND_INT16: i = *(UA_Int16*)in->data; break; - case UA_DATATYPEKIND_INT32: i = *(UA_Int32*)in->data; break; - case UA_DATATYPEKIND_INT64: i = *(UA_Int64*)in->data; break; - case UA_DATATYPEKIND_BYTE: /* or */ - case UA_DATATYPEKIND_BOOLEAN: u = *(UA_Byte*)in->data; break; - case UA_DATATYPEKIND_UINT16: u = *(UA_UInt16*)in->data; break; - case UA_DATATYPEKIND_UINT32: /* or */ - case UA_DATATYPEKIND_STATUSCODE: u = *(UA_UInt32*)in->data; break; - case UA_DATATYPEKIND_UINT64: u = *(UA_UInt64*)in->data; break; - case UA_DATATYPEKIND_FLOAT: f = *(UA_Float*)in->data; break; - case UA_DATATYPEKIND_DOUBLE: f = *(UA_Double*)in->data; break; - default: return; - } - - void *data = UA_new(type); - if(!data) - return; - - if(ink == UA_DATATYPEKIND_SBYTE || ink == UA_DATATYPEKIND_INT16 || - ink == UA_DATATYPEKIND_INT32 || ink == UA_DATATYPEKIND_INT64) { - /* Cast from signed */ - switch(type->typeKind) { - case UA_DATATYPEKIND_SBYTE: UA_CAST_SIGNED(UA_SByte, UA_SBYTE); break; - case UA_DATATYPEKIND_INT16: UA_CAST_SIGNED(UA_Int16, UA_INT16); break; - case UA_DATATYPEKIND_INT32: UA_CAST_SIGNED(UA_Int32, UA_INT32); break; - case UA_DATATYPEKIND_INT64: *(UA_Int64*)data = i; break; - case UA_DATATYPEKIND_BYTE: UA_CAST_SIGNED(UA_Byte, UA_BYTE); break; - case UA_DATATYPEKIND_UINT16: UA_CAST_SIGNED(UA_UInt16, UA_UINT16); break; - case UA_DATATYPEKIND_UINT32: UA_CAST_SIGNED(UA_UInt32, UA_UINT32); break; - case UA_DATATYPEKIND_UINT64: UA_CAST_SIGNED(UA_UInt64, UA_UINT64); break; - case UA_DATATYPEKIND_FLOAT: *(UA_Float*)data = (UA_Float)i; break; - case UA_DATATYPEKIND_DOUBLE: *(UA_Double*)data = (UA_Double)i; break; - default: - UA_free(data); - return; - } - } else if(ink == UA_DATATYPEKIND_BYTE || ink == UA_DATATYPEKIND_UINT16 || - ink == UA_DATATYPEKIND_UINT32 || ink == UA_DATATYPEKIND_UINT64) { - /* Cast from unsigned */ - switch(type->typeKind) { - case UA_DATATYPEKIND_SBYTE: UA_CAST_UNSIGNED(UA_SByte, UA_SBYTE); break; - case UA_DATATYPEKIND_INT16: UA_CAST_UNSIGNED(UA_Int16, UA_INT16); break; - case UA_DATATYPEKIND_INT32: UA_CAST_UNSIGNED(UA_Int32, UA_INT32); break; - case UA_DATATYPEKIND_INT64: UA_CAST_UNSIGNED(UA_Int64, UA_INT64); break; - case UA_DATATYPEKIND_BYTE: UA_CAST_UNSIGNED(UA_Byte, UA_BYTE); break; - case UA_DATATYPEKIND_UINT16: UA_CAST_UNSIGNED(UA_UInt16, UA_UINT16); break; - case UA_DATATYPEKIND_UINT32: UA_CAST_UNSIGNED(UA_UInt32, UA_UINT32); break; - case UA_DATATYPEKIND_UINT64: *(UA_UInt64*)data = u; break; - case UA_DATATYPEKIND_FLOAT: *(UA_Float*)data = (UA_Float)u; break; - case UA_DATATYPEKIND_DOUBLE: *(UA_Double*)data = (UA_Double)u; break; - default: - UA_free(data); - return; - } - } else { - /* Cast from float */ - if(f != f) { - /* NaN cannot be cast */ - UA_free(data); - return; - } - switch(type->typeKind) { - case UA_DATATYPEKIND_SBYTE: UA_CAST_FLOAT(UA_SByte, UA_SBYTE); break; - case UA_DATATYPEKIND_INT16: UA_CAST_FLOAT(UA_Int16, UA_INT16); break; - case UA_DATATYPEKIND_INT32: UA_CAST_FLOAT(UA_Int32, UA_INT32); break; - case UA_DATATYPEKIND_INT64: UA_CAST_FLOAT(UA_Int64, UA_INT64); break; - case UA_DATATYPEKIND_BYTE: UA_CAST_FLOAT(UA_Byte, UA_BYTE); break; - case UA_DATATYPEKIND_UINT16: UA_CAST_FLOAT(UA_UInt16, UA_UINT16); break; - case UA_DATATYPEKIND_UINT32: UA_CAST_FLOAT(UA_UInt32, UA_UINT32); break; - case UA_DATATYPEKIND_UINT64: UA_CAST_FLOAT(UA_UInt64, UA_UINT64); break; - case UA_DATATYPEKIND_FLOAT: *(UA_Float*)data = (UA_Float)f; break; - case UA_DATATYPEKIND_DOUBLE: *(UA_Double*)data = (UA_Double)f; break; - default: - UA_free(data); - return; - } - } - - UA_Variant_setScalar(out, data, type); -} - -/* Implicit Casting - * ---------------- */ - -static UA_INLINE UA_Byte uppercase(UA_Byte in) { return in | 32; } - -static UA_StatusCode -castImplicitFromString(const UA_Variant *in, const UA_DataType *outType, UA_Variant *out) { -#if defined(UA_ENABLE_PARSING) || defined(UA_ENABLE_JSON_ENCODING) - UA_StatusCode res = UA_STATUSCODE_GOOD; -#endif - if(outType == &UA_TYPES[UA_TYPES_BOOLEAN]) { - /* String -> Boolean - * - * Part 4 says: String values containing "true", "false", "1" or "0" - * can be converted to Boolean values. Other string values cause a - * conversion error. In this case Strings are case-insensitive. */ - UA_Boolean b; - const UA_String *inStr = (const UA_String*)in->data; - if(inStr->length == 1 && inStr->data[0] == '0') { - b = false; - } else if(inStr->length == 1 && inStr->data[0] == '1') { - b = true; - } else if(inStr->length == 4 && - uppercase(inStr->data[0])== 'T' && uppercase(inStr->data[1])== 'R' && - uppercase(inStr->data[2])== 'U' && uppercase(inStr->data[3])== 'E') { - b = true; - } else if(inStr->length == 5 && uppercase(inStr->data[0])== 'F' && - uppercase(inStr->data[1])== 'A' && uppercase(inStr->data[2])== 'L' && - uppercase(inStr->data[3])== 'S' && uppercase(inStr->data[4])== 'E') { - b = false; - } else { - return UA_STATUSCODE_BADTYPEMISMATCH; - } - return UA_Variant_setScalarCopy(out, &b, outType); - } - -#ifdef UA_ENABLE_PARSING - else if(outType == &UA_TYPES[UA_TYPES_GUID]) { - /* String -> Guid */ - UA_Guid guid; - res = UA_Guid_parse(&guid, *(UA_String*)in->data); - if(res != UA_STATUSCODE_GOOD) - return res; - return UA_Variant_setScalarCopy(out, &guid, outType); - } -#endif - -#ifdef UA_ENABLE_JSON_ENCODING - /* String -> Numerical, uses the JSON decoding */ - else if(UA_DataType_isNumeric(outType)) { - void *outData = UA_new(outType); - if(!outData) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_decodeJson((const UA_ByteString*)in->data, outData, outType, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_free(outData); - return res; - } - UA_Variant_setScalar(out, outData, outType); - return UA_STATUSCODE_GOOD; - } -#endif - - /* No implicit casting possible */ - return UA_STATUSCODE_BADTYPEMISMATCH; -} - -static UA_StatusCode -castImplicit(const UA_Variant *in, const UA_DataType *outType, UA_Variant *out) { - /* Of the input is empty, casting results in a NULL value */ - if(UA_Variant_isEmpty(in)) { - UA_Variant_init(out); - return UA_STATUSCODE_GOOD; - } - - /* TODO: We only support scalar values for now */ - if(!UA_Variant_isScalar(in)) - return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; - - /* No casting necessary */ - if(in->type == outType) { - *out = *in; - out->storageType = UA_VARIANT_DATA_NODELETE; - return UA_STATUSCODE_GOOD; - } - - UA_StatusCode res = UA_STATUSCODE_GOOD; - switch(in->type->typeKind) { - case UA_DATATYPEKIND_EXPANDEDNODEID: { - /* ExpandedNodeId -> String */ - if(outType != &UA_TYPES[UA_TYPES_STRING]) - break; - UA_String *outStr = UA_String_new(); - if(!outStr) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_ExpandedNodeId_print((const UA_ExpandedNodeId*)in->data, outStr); - if(res != UA_STATUSCODE_GOOD) { - UA_free(outStr); - break; - } - UA_Variant_setScalar(out, outStr, outType); - break; - } - - case UA_DATATYPEKIND_NODEID: { - if(outType == &UA_TYPES[UA_TYPES_STRING]) { - /* NodeId -> String */ - UA_String *outStr = UA_String_new(); - if(!outStr) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_NodeId_print((const UA_NodeId*)in->data, outStr); - if(res != UA_STATUSCODE_GOOD) { - UA_free(outStr); - break; - } - UA_Variant_setScalar(out, outStr, outType); - } else if(outType == &UA_TYPES[UA_TYPES_EXPANDEDNODEID]) { - /* NodeId -> ExpandedNodeId */ - UA_ExpandedNodeId *eid = UA_ExpandedNodeId_new(); - if(!eid) - return UA_STATUSCODE_BADOUTOFMEMORY; - res = UA_NodeId_copy((const UA_NodeId*)in->data, &eid->nodeId); - if(res != UA_STATUSCODE_GOOD) { - UA_free(eid); - break; - } - UA_Variant_setScalar(out, eid, outType); - } - break; - } - - case UA_DATATYPEKIND_STRING: - res = castImplicitFromString(in, outType, out); - break; - - case UA_DATATYPEKIND_LOCALIZEDTEXT: { - if(outType != &UA_TYPES[UA_TYPES_STRING]) - break; - /* LocalizedText -> String */ - UA_LocalizedText *inLT = (UA_LocalizedText*)in->data; - res = UA_Variant_setScalarCopy(out, &inLT->text, outType); - break; - } - - case UA_DATATYPEKIND_QUALIFIEDNAME: { - UA_QualifiedName *inQN = (UA_QualifiedName*)in->data; - if(outType == &UA_TYPES[UA_TYPES_STRING]) { - /* QualifiedName -> String */ - res = UA_Variant_setScalarCopy(out, &inQN->name, outType); - } else if(outType == &UA_TYPES[UA_TYPES_LOCALIZEDTEXT]) { - /* QualifiedName -> LocalizedText */ - UA_LocalizedText lt; - lt.text = inQN->name; - lt.locale = UA_STRING_NULL; - res = UA_Variant_setScalarCopy(out, <, outType); - } - break; - } - - default: - /* Try casting between numericals (also works for Boolean and StatusCode - * input). The conversion can fail if the limits of the output type are - * exceeded and then results in a NULL value. */ - castNumerical(in, outType, out); - } - - return res; -} - -/* Filter Evaluation - * ----------------- */ - -typedef struct { - UA_Server *server; - UA_Session *session; - const UA_NodeId *eventNode; - const UA_ContentFilter *filter; - UA_ContentFilterResult *filterResult; - UA_Variant results[UA_EVENTFILTER_MAXELEMENTS]; - - /* The stack contains temporary variants. Cleaned up after the evaluation of - * each operator. */ - size_t top; - UA_Variant stack[UA_EVENTFILTER_MAXOPERANDS]; -} UA_FilterEvalContext; - -/* Operand Resolving - * ~~~~~~~~~~~~~~~~~ - * Methods that all resolve an operator operand to a Variant. */ - -/* Part 4, 7.4.4.5 SimpleAttributeOperand: The clause can point to any attribute - * of nodes. Either a child of the event node and also the event type. */ -static UA_StatusCode -resolveSimpleAttributeOperand(UA_Server *server, UA_Session *session, - const UA_NodeId *origin, - const UA_SimpleAttributeOperand *sao, - UA_Variant *value) { - /* Prepare the ReadValueId */ - UA_ReadValueId rvi; - UA_ReadValueId_init(&rvi); - rvi.indexRange = sao->indexRange; - rvi.attributeId = sao->attributeId; - - /* Read the value */ - UA_DataValue v; - if(sao->browsePathSize == 0) { - /* If this list (browsePath) is empty, the Node is the instance of the - * TypeDefinition. (Part 4, 7.4.4.5) */ - rvi.nodeId = *origin; - - /* A Condition is an indirection. Look up the target node. */ - /* TODO: check for Branches! One Condition could have multiple Branches */ - UA_NodeId conditionTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_CONDITIONTYPE); - if(UA_NodeId_equal(&sao->typeDefinitionId, &conditionTypeId)) { -#ifdef UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS - UA_StatusCode res = UA_getConditionId(server, origin, &rvi.nodeId); - UA_CHECK_STATUS(res, return res); -#else - return UA_STATUSCODE_BADNOTSUPPORTED; -#endif - } - - v = readWithSession(server, session, &rvi, UA_TIMESTAMPSTORETURN_NEITHER); - } else { - /* Resolve the browse path, starting from the event-source (and not the - * typeDefinitionId). */ - UA_BrowsePathResult bpr = - browseSimplifiedBrowsePath(server, *origin, - sao->browsePathSize, sao->browsePath); - if(bpr.targetsSize == 0 && bpr.statusCode == UA_STATUSCODE_GOOD) - bpr.statusCode = UA_STATUSCODE_BADNOTFOUND; - if(bpr.statusCode != UA_STATUSCODE_GOOD) { - UA_StatusCode res = bpr.statusCode; - UA_BrowsePathResult_clear(&bpr); - return res; - } - - /* Use the first match */ - rvi.nodeId = bpr.targets[0].targetId.nodeId; - v = readWithSession(server, session, &rvi, UA_TIMESTAMPSTORETURN_NEITHER); - UA_BrowsePathResult_clear(&bpr); - } - - /* Validate the result */ - if(v.status != UA_STATUSCODE_GOOD) { - UA_Variant_clear(&v.value); - return v.status; - } - if(!v.hasValue) - return UA_STATUSCODE_BADNODATAAVAILABLE; - - /* Move the result to the output */ - *value = v.value; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -resolveOperand(UA_FilterEvalContext *ctx, UA_ExtensionObject *op, UA_Variant *out) { - if(op->encoding != UA_EXTENSIONOBJECT_DECODED && - op->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) - return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; - - /* Result of an operator that was evaluated prior */ - if(op->content.decoded.type == &UA_TYPES[UA_TYPES_ELEMENTOPERAND]) { - UA_ElementOperand *eo = (UA_ElementOperand*)op->content.decoded.data; - *out = ctx->results[eo->index]; - out->storageType = UA_VARIANT_DATA_NODELETE; - return UA_STATUSCODE_GOOD; - } - - /* Literal value */ - if(op->content.decoded.type == &UA_TYPES[UA_TYPES_LITERALOPERAND]) { - UA_LiteralOperand *lo = (UA_LiteralOperand*)op->content.decoded.data; - *out = lo->value; - out->storageType = UA_VARIANT_DATA_NODELETE; - return UA_STATUSCODE_GOOD; - } - - /* SimpleAttributeOperand with a BrowsePath */ - if(op->content.decoded.type == &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND]) { - UA_SimpleAttributeOperand *sao = - (UA_SimpleAttributeOperand*)op->content.decoded.data; - return resolveSimpleAttributeOperand(ctx->server, ctx->session, - ctx->eventNode, sao, out); - } - - return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; -} - -/* The operandIndex is within the operator arguments, not the operand index for - * the overall stack */ -static UA_StatusCode -setOperandError(UA_FilterEvalContext *ctx, size_t elementIndex, - size_t operandIndex, UA_StatusCode statusCode) { - UA_ContentFilterElementResult *res = &ctx->filterResult->elementResults[elementIndex]; - res->operandStatusCodes[operandIndex] = statusCode; - /* The operator status is set globally in a single location upwards the call chain - * res->statusCode = statusCode; */ - return statusCode; -} - -/* Filter Operators - * ~~~~~~~~~~~~~~~~ */ - -static UA_StatusCode -ofTypeOperator(UA_FilterEvalContext *ctx, size_t index) { - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - UA_assert(elm->filterOperandsSize == 1); - - /* Get the operand. Must be a literal NodeId */ - UA_Variant *op0 = &ctx->stack[ctx->top++]; - UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); - if(res != UA_STATUSCODE_GOOD || !UA_Variant_hasScalarType(op0, &UA_TYPES[UA_TYPES_NODEID])) - return setOperandError(ctx, index, 0, UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED); - - /* Read the event type */ - UA_Variant eventTypeVar; - UA_Variant_init(&eventTypeVar); - const UA_NodeId *operandTypeId = (const UA_NodeId *)op0->data; - res = readObjectProperty(ctx->server, *ctx->eventNode, - UA_QUALIFIEDNAME(0, "EventType"), &eventTypeVar); - UA_CHECK_STATUS(res, return res); - - if(!UA_Variant_hasScalarType(&eventTypeVar, &UA_TYPES[UA_TYPES_NODEID])) { - UA_LOG_WARNING(ctx->server->config.logging, UA_LOGCATEGORY_SERVER, - "EventType has an invalid type."); - UA_Variant_clear(&eventTypeVar); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check if the eventtype is equal to the operand or a subtype of it */ - const UA_NodeId *eventTypeId = (UA_NodeId*)eventTypeVar.data; - UA_Boolean ofType = isNodeInTree_singleRef(ctx->server, eventTypeId, operandTypeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE); - ctx->results[index] = t2v(ofType ? UA_TERNARY_TRUE : UA_TERNARY_FALSE); - UA_Variant_clear(&eventTypeVar); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -andOperator(UA_FilterEvalContext *ctx, size_t index) { - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - UA_assert(elm->filterOperandsSize == 2); - UA_Variant *op0 = &ctx->stack[ctx->top++]; - UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); - UA_CHECK_STATUS(res, return res); - UA_Variant *op1 = &ctx->stack[ctx->top++]; - res = resolveOperand(ctx, &elm->filterOperands[1], op1); - UA_CHECK_STATUS(res, return res); - ctx->results[index] = t2v(UA_Ternary_and(v2t(op0), v2t(op1))); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -orOperator(UA_FilterEvalContext *ctx, size_t index) { - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - UA_assert(elm->filterOperandsSize == 2); - UA_Variant *op0 = &ctx->stack[ctx->top++]; - UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); - UA_CHECK_STATUS(res, return res); - UA_Variant *op1 = &ctx->stack[ctx->top++]; - res = resolveOperand(ctx, &elm->filterOperands[1], op1); - UA_CHECK_STATUS(res, return res); - ctx->results[index] = t2v(UA_Ternary_or(v2t(op0), v2t(op1))); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -notOperator(UA_FilterEvalContext *ctx, size_t index) { - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - UA_assert(elm->filterOperandsSize == 1); - UA_Variant *op0 = &ctx->stack[ctx->top++]; - UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); - UA_CHECK_STATUS(res, return res); - ctx->results[index] = t2v(UA_Ternary_not(v2t(op0))); - return UA_STATUSCODE_GOOD; -} - -/* Resolves the operands and casts them implicitly to the same type. - * The result is set at &ctx->stack[ctx->top] (for the initial value of top). */ -static UA_StatusCode -castResolveOperands(UA_FilterEvalContext *ctx, size_t index, UA_Boolean setError) { - /* Enough space on the stack left? */ - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - if(ctx->top + elm->filterOperandsSize > UA_EVENTFILTER_MAXOPERANDS) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Resolve all operands */ - UA_assert(ctx->top == 0); /* Assume the stack is empty */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - for(size_t i = 0; i < elm->filterOperandsSize; i++) { - res = resolveOperand(ctx, &elm->filterOperands[i], &ctx->stack[ctx->top++]); - UA_CHECK_STATUS(res, return res); - } - UA_assert(ctx->top > 0); /* Assume the stack is no longer empty */ - - /* Get the datatype for casting */ - const UA_DataType *targetType = ctx->stack[0].type; - for(size_t pos = 1; pos < ctx->top; pos++) { - if(targetType) - targetType = implicitCastTargetType(targetType, ctx->stack[pos].type); - if(!targetType) - return (setError) ? setOperandError(ctx, index, pos, res) : res; - } - - /* Cast the operands. Put the result in the same location on the stack. */ - for(size_t pos = 0; pos < ctx->top; pos++) { - UA_Variant orig = ctx->stack[pos]; - res = castImplicit(&orig, targetType, &ctx->stack[pos]); - if(res != UA_STATUSCODE_GOOD) - return (setError) ? setOperandError(ctx, index, pos, res) : res; - if(ctx->stack[pos].data == orig.data) { - /* Reuse the storage type of the original data if the variant is - * identical or only the type has changed */ - ctx->stack[pos].storageType = orig.storageType; - } else { - UA_Variant_clear(&orig); /* Fresh allocation of the cast variant. Clean up. */ - } - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -compareOperator(UA_FilterEvalContext *ctx, size_t index, UA_FilterOperator op) { - UA_assert(ctx->filter->elements[index].filterOperandsSize == 2); - - /* Resolve and cast the operands. A failed casting results in FALSE. Note - * that operands could cast to NULL. */ - UA_assert(ctx->top == 0); /* Assume the stack is empty */ - UA_StatusCode res = castResolveOperands(ctx, index, false); - if(res != UA_STATUSCODE_GOOD || !ctx->stack[0].type || - ctx->stack[0].type != ctx->stack[1].type) { - ctx->results[index] = t2v(UA_TERNARY_FALSE); - return UA_STATUSCODE_GOOD; - } - UA_assert(ctx->top == 2); /* Assume the stack is no longer empty */ - - /* The equals operator is always possible. For the other comparisons it has - * to be an ordered type: Numerical, Boolean, StatusCode or DateTime. */ - const UA_DataType *type = ctx->stack[0].type; - if(op != UA_FILTEROPERATOR_EQUALS && !UA_DataType_isNumeric(type) && - type->typeKind != UA_DATATYPEKIND_BOOLEAN && - type->typeKind != UA_DATATYPEKIND_STATUSCODE && - type->typeKind != UA_DATATYPEKIND_DATETIME) - return setOperandError(ctx, index, 0, UA_STATUSCODE_BADFILTEROPERANDINVALID); - - /* Compute the order */ - UA_Order eq = UA_order(ctx->stack[0].data, ctx->stack[1].data, type); - UA_Ternary operatorResult = UA_TERNARY_FALSE; - switch(op) { - case UA_FILTEROPERATOR_EQUALS: - default: - if(eq == UA_ORDER_EQ) - operatorResult = UA_TERNARY_TRUE; - break; - case UA_FILTEROPERATOR_GREATERTHAN: - if(eq == UA_ORDER_MORE) - operatorResult = UA_TERNARY_TRUE; - break; - case UA_FILTEROPERATOR_LESSTHAN: - if(eq == UA_ORDER_LESS) - operatorResult = UA_TERNARY_TRUE; - break; - case UA_FILTEROPERATOR_GREATERTHANOREQUAL: - if(eq == UA_ORDER_MORE || eq == UA_ORDER_EQ) - operatorResult = UA_TERNARY_TRUE; - break; - case UA_FILTEROPERATOR_LESSTHANOREQUAL: - if(eq == UA_ORDER_LESS || eq == UA_ORDER_EQ) - operatorResult = UA_TERNARY_TRUE; - break; - } - - /* Set result as a literal value */ - ctx->results[index] = t2v(operatorResult); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -equalsOperator(UA_FilterEvalContext *ctx, size_t index) { - return compareOperator(ctx, index, UA_FILTEROPERATOR_EQUALS); -} - -static UA_StatusCode -gtOperator(UA_FilterEvalContext *ctx, size_t index) { - return compareOperator(ctx, index, UA_FILTEROPERATOR_GREATERTHAN); -} - -static UA_StatusCode -ltOperator(UA_FilterEvalContext *ctx, size_t index) { - return compareOperator(ctx, index, UA_FILTEROPERATOR_LESSTHAN); -} - -static UA_StatusCode -gteOperator(UA_FilterEvalContext *ctx, size_t index) { - return compareOperator(ctx, index, UA_FILTEROPERATOR_GREATERTHANOREQUAL); -} - -static UA_StatusCode -lteOperator(UA_FilterEvalContext *ctx, size_t index) { - return compareOperator(ctx, index, UA_FILTEROPERATOR_LESSTHANOREQUAL); -} - -static UA_StatusCode -bitwiseOperator(UA_FilterEvalContext *ctx, size_t index, UA_FilterOperator op) { - UA_assert(ctx->filter->elements[index].filterOperandsSize == 2); - - /* Resolve and cast the operands. Note that operands could cast to NULL. */ - UA_assert(ctx->top == 0); /* Assume the stack is empty */ - UA_StatusCode res = castResolveOperands(ctx, index, true); - UA_CHECK_STATUS(res, return res); - UA_assert(ctx->top == 2); /* Assume we have two elements */ - - /* Operands can cast to NULL */ - const UA_DataType *type = ctx->stack[0].type; - if(!type || !UA_DataType_isNumeric(type) || - ctx->stack[0].type != ctx->stack[1].type) - return UA_STATUSCODE_BADTYPEMISMATCH; - - /* Copy the casted literal to the result */ - res = UA_Variant_copy(&ctx->stack[0], &ctx->results[index]); - UA_CHECK_STATUS(res, return res); - - /* Do the bitwise operation on the result data */ - UA_Byte *bytesOut = (UA_Byte*)ctx->results[index].data; - const UA_Byte *bytes2 = (const UA_Byte*)ctx->stack[1].data; - for(size_t i = 0; i < type->memSize; i++) { - if(op == UA_FILTEROPERATOR_BITWISEAND) - bytesOut[i] = bytesOut[i] & bytes2[i]; - else - bytesOut[i] = bytesOut[i] | bytes2[i]; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -bitwiseAndOperator(UA_FilterEvalContext *ctx, size_t index) { - return bitwiseOperator(ctx, index, UA_FILTEROPERATOR_BITWISEAND); -} - -static UA_StatusCode -bitwiseOrOperator(UA_FilterEvalContext *ctx, size_t index) { - return bitwiseOperator(ctx, index, UA_FILTEROPERATOR_BITWISEOR); -} - -static UA_StatusCode -betweenOperator(UA_FilterEvalContext *ctx, size_t index) { - UA_assert(ctx->filter->elements[index].filterOperandsSize == 3); - - /* If no implicit conversion is available and the operands are of different - * types, the particular result is FALSE. */ - UA_assert(ctx->top == 0); /* Assume the stack is empty */ - UA_StatusCode res = castResolveOperands(ctx, index, false); - if(res != UA_STATUSCODE_GOOD) { - ctx->results[index] = t2v(UA_TERNARY_FALSE); - return UA_STATUSCODE_GOOD; - } - UA_assert(ctx->top == 3); /* Assume we have three elements */ - - /* The casting can result in NULL values or a non-numerical type */ - const UA_DataType *type = ctx->stack[0].type; - if(!type || !UA_DataType_isNumeric(type) || - type != ctx->stack[1].type || type != ctx->stack[2].type) - return UA_STATUSCODE_BADTYPEMISMATCH; - - UA_Order o1 = UA_order(ctx->stack[0].data, ctx->stack[1].data, type); - UA_Order o2 = UA_order(ctx->stack[0].data, ctx->stack[2].data, type); - UA_Ternary comp = ((o1 == UA_ORDER_MORE || o1 == UA_ORDER_EQ) && - (o2 == UA_ORDER_LESS || o2 == UA_ORDER_EQ)) ? - UA_TERNARY_TRUE : UA_TERNARY_FALSE; - - ctx->results[index] = t2v(comp); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -inListOperator(UA_FilterEvalContext *ctx, size_t index) { - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - UA_assert(elm->filterOperandsSize >= 2); - UA_Boolean found = false; - UA_Variant *op0 = &ctx->stack[ctx->top++]; - UA_Variant *op1 = &ctx->stack[ctx->top++]; - UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); - UA_CHECK_STATUS(res, return res); - for(size_t i = 1; i < elm->filterOperandsSize && !found; i++) { - res = resolveOperand(ctx, &elm->filterOperands[i], op1); - if(res != UA_STATUSCODE_GOOD) - continue; - if(op0->type == op1->type && UA_equal(op0->data, op1->data, op0->type)) - found = true; - UA_Variant_clear(op1); - } - ctx->results[index] = t2v((found) ? UA_TERNARY_TRUE: UA_TERNARY_FALSE); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -isNullOperator(UA_FilterEvalContext *ctx, size_t index) { - const UA_ContentFilterElement *elm = &ctx->filter->elements[index]; - UA_assert(elm->filterOperandsSize == 1); - UA_Variant *op0 = &ctx->stack[ctx->top++]; - UA_StatusCode res = resolveOperand(ctx, &elm->filterOperands[0], op0); - UA_CHECK_STATUS(res, return res); - ctx->results[index] = t2v(UA_Variant_isEmpty(op0) ? UA_TERNARY_TRUE : UA_TERNARY_FALSE); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -notImplementedOperator(UA_FilterEvalContext *ctx, size_t index) { - return UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; -} - -/* Filter Evaluation - * ~~~~~~~~~~~~~~~~~ */ - -typedef struct { - UA_StatusCode (*operatorMethod)(UA_FilterEvalContext *ctx, size_t index); - UA_Byte minOperatorCount; - UA_Byte maxOperatorCount; -} UA_FilterOperatorJumptableElement; - -static const UA_FilterOperatorJumptableElement operatorJumptable[18] = { - {equalsOperator, 2, 2}, - {isNullOperator, 1, 1}, - {gtOperator, 2, 2}, - {ltOperator, 2, 2}, - {gteOperator, 2, 2}, - {lteOperator, 2, 2}, - {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* like */ - {notOperator, 1, 1}, - {betweenOperator, 3, 3}, - {inListOperator, 2, UA_EVENTFILTER_MAXOPERANDS}, - {andOperator, 2, 2}, - {orOperator, 2, 2}, - {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* cast */ - {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* in view */ - {ofTypeOperator, 1, 1}, - {notImplementedOperator, 0, UA_EVENTFILTER_MAXOPERANDS}, /* related to */ - {bitwiseAndOperator, 2, 2}, - {bitwiseOrOperator, 2, 2} -}; - -UA_StatusCode -evaluateWhereClause(UA_Server *server, UA_Session *session, const UA_NodeId *eventNode, - const UA_ContentFilter *contentFilter, - UA_ContentFilterResult *contentFilterResult) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* An empty filter always succeeds */ - if(contentFilter->elementsSize == 0) - return UA_STATUSCODE_GOOD; - - /* Prepare the context */ - UA_FilterEvalContext ctx; - ctx.filterResult = contentFilterResult; - ctx.filter = contentFilter; - ctx.server = server; - ctx.session = session; - ctx.eventNode = eventNode; - ctx.top = 0; - - /* Pacify some compilers by initializing the first result */ - UA_Variant_init(&ctx.results[0]); - - /* Evaluate the filter. Iterate backwards over the filter elements and - * resolve each. This ensures that all element-index operands point to an - * evaluated element. */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - int i = (int)contentFilter->elementsSize - 1; - for(; i >= 0; i--) { - UA_ContentFilterElement *cfe = &contentFilter->elements[i]; - res = operatorJumptable[cfe->filterOperator].operatorMethod(&ctx, (size_t)i); - for(size_t j = 0; j < ctx.top; j++) - UA_Variant_clear(&ctx.stack[j]); /* clean up the stack */ - ctx.top = 0; - if(res != UA_STATUSCODE_GOOD) - break; - } - - /* The filter matches if the operator at the first position evaluates to TRUE */ - if(res == UA_STATUSCODE_GOOD && v2t(&ctx.results[0]) != UA_TERNARY_TRUE) - res = UA_STATUSCODE_BADNOMATCH; - - /* Clean up the element result variants */ - for(int j = (int)contentFilter->elementsSize - 1; j > i; j--) - UA_Variant_clear(&ctx.results[j]); - return res; -} - -static UA_Boolean -isValidEvent(UA_Server *server, const UA_NodeId *validEventParent, - const UA_NodeId *eventId) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - /* Find the eventType variableNode */ - UA_QualifiedName findName = UA_QUALIFIEDNAME(0, "EventType"); - UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, *eventId, 1, &findName); - if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) { - UA_BrowsePathResult_clear(&bpr); - return false; - } - - /* Get the EventType Property Node */ - UA_Variant tOutVariant; - UA_Variant_init(&tOutVariant); - /* Read the Value of EventType Property Node (the Value should be a NodeId) */ - UA_StatusCode retval = readWithReadValue(server, &bpr.targets[0].targetId.nodeId, - UA_ATTRIBUTEID_VALUE, &tOutVariant); - if(retval != UA_STATUSCODE_GOOD || - !UA_Variant_hasScalarType(&tOutVariant, &UA_TYPES[UA_TYPES_NODEID])) { - UA_BrowsePathResult_clear(&bpr); - return false; - } - - const UA_NodeId *tEventType = (UA_NodeId*)tOutVariant.data; - - /* Check whether the EventType is a Subtype of CondtionType (Part 9 first - * implementation) */ - UA_NodeId conditionTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_CONDITIONTYPE); - if(UA_NodeId_equal(validEventParent, &conditionTypeId) && - isNodeInTree_singleRef(server, tEventType, &conditionTypeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) { - UA_BrowsePathResult_clear(&bpr); - UA_Variant_clear(&tOutVariant); - return true; - } - - /* EventType is not a Subtype of CondtionType (ConditionId Clause won't be - * present in Events, which are not Conditions) */ - /* Check whether Valid Event other than Conditions */ - UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); - UA_Boolean isSubtypeOfBaseEvent = - isNodeInTree_singleRef(server, tEventType, &baseEventTypeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE); - - UA_BrowsePathResult_clear(&bpr); - UA_Variant_clear(&tOutVariant); - return isSubtypeOfBaseEvent; -} - -UA_StatusCode -filterEvent(UA_Server *server, UA_Session *session, - const UA_NodeId *eventNode, UA_EventFilter *filter, - UA_EventFieldList *efl, UA_EventFilterResult *result) { - UA_LOCK_ASSERT(&server->serviceMutex, 1); - - if(filter->selectClausesSize == 0) - return UA_STATUSCODE_BADEVENTFILTERINVALID; - - UA_EventFieldList_init(efl); - efl->eventFields = (UA_Variant *) - UA_Array_new(filter->selectClausesSize, &UA_TYPES[UA_TYPES_VARIANT]); - if(!efl->eventFields) - return UA_STATUSCODE_BADOUTOFMEMORY; - efl->eventFieldsSize = filter->selectClausesSize; - - /* Empty event filter result */ - UA_EventFilterResult_init(result); - result->selectClauseResultsSize = filter->selectClausesSize; - result->selectClauseResults = (UA_StatusCode *) - UA_Array_new(filter->selectClausesSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!result->selectClauseResults) { - UA_EventFieldList_clear(efl); - UA_EventFilterResult_clear(result); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Prepare content filter result structure */ - if(filter->whereClause.elementsSize > 0) { - result->whereClauseResult.elementResultsSize = filter->whereClause.elementsSize; - result->whereClauseResult.elementResults = (UA_ContentFilterElementResult *) - UA_Array_new(filter->whereClause.elementsSize, - &UA_TYPES[UA_TYPES_CONTENTFILTERELEMENTRESULT]); - if(!result->whereClauseResult.elementResults) { - UA_EventFieldList_clear(efl); - UA_EventFilterResult_clear(result); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - for(size_t i = 0; i < filter->whereClause.elementsSize; ++i) { - UA_ContentFilterElementResult *er = - &result->whereClauseResult.elementResults[i]; - UA_ContentFilterElement *cf = &filter->whereClause.elements[i]; - er->operandStatusCodesSize = cf->filterOperandsSize; - er->operandStatusCodes = (UA_StatusCode *) - UA_Array_new(er->operandStatusCodesSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!er->operandStatusCodes) { - UA_EventFieldList_clear(efl); - UA_EventFilterResult_clear(result); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - } - } - - /* Evaluate the where filter. Do we event need to consider the event? */ - UA_StatusCode res = evaluateWhereClause(server, session, eventNode, - &filter->whereClause, - &result->whereClauseResult); - if(res != UA_STATUSCODE_GOOD){ - UA_EventFieldList_clear(efl); - UA_EventFilterResult_clear(result); - return res; - } - - /* Apply the select filter */ - UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); - for(size_t i = 0; i < filter->selectClausesSize; i++) { - UA_SimpleAttributeOperand *sc = &filter->selectClauses[i]; - /* Check if the browsePath is BaseEventType, in which case nothing more - * needs to be checked */ - if(!UA_NodeId_equal(&sc->typeDefinitionId, &baseEventTypeId) && - !isValidEvent(server, &sc->typeDefinitionId, eventNode)) { - UA_Variant_init(&efl->eventFields[i]); - /* EventFilterResult currently isn't being used - notification->result.selectClauseResults[i] = - UA_STATUSCODE_BADTYPEDEFINITIONINVALID; */ - continue; - } - - /* Lookup the field. The overall filter can succeed even if a single - * select-field cannot be resolved. */ - result->selectClauseResults[i] = - resolveSimpleAttributeOperand(server, session, eventNode, - sc, &efl->eventFields[i]); - } - - return UA_STATUSCODE_GOOD; -} - -/*****************************************/ -/* Validation of Filters during Creation */ -/*****************************************/ - -/* Initial select clause validation. The following checks are currently performed: - * - Check if typedefenitionid or browsepath of any clause is NULL - * - Check if the eventType is a subtype of BaseEventType - * - Check if attributeId is valid - * - Check if browsePath contains null - * - Check if indexRange is defined and if it is parsable - * - Check if attributeId is value */ -UA_StatusCode -UA_SimpleAttributeOperandValidation(UA_Server *server, - const UA_SimpleAttributeOperand *sao) { - /* TypeDefinition is not NULL? */ - if(UA_NodeId_isNull(&sao->typeDefinitionId)) - return UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - - /* EventType is a subtype of BaseEventType? */ - UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); - if(!isNodeInTree_singleRef(server, &sao->typeDefinitionId, - &baseEventTypeId, UA_REFERENCETYPEINDEX_HASSUBTYPE)) - return UA_STATUSCODE_BADTYPEDEFINITIONINVALID; - - /* AttributeId is valid ? */ - if(sao->attributeId == 0 || sao->attributeId >= 28) - return UA_STATUSCODE_BADATTRIBUTEIDINVALID; - - /* If the BrowsePath is empty, the Node is the instance of the - * TypeDefinition. (Part 4, 7.4.4.5) */ - if(sao->browsePathSize == 0) - return UA_STATUSCODE_GOOD; - - /* BrowsePath contains empty BrowseNames? */ - for(size_t j = 0; j < sao->browsePathSize; ++j) { - if(UA_QualifiedName_isNull(&sao->browsePath[j])) - return UA_STATUSCODE_BADBROWSENAMEINVALID; - } - - /* Get the list of subtypes from event type (including the event type itself) */ - UA_ReferenceTypeSet reftypes_interface = - UA_REFTYPESET(UA_REFERENCETYPEINDEX_HASSUBTYPE); - UA_ExpandedNodeId *childTypeNodes = NULL; - size_t childTypeNodesSize = 0; - UA_StatusCode res = browseRecursive(server, 1, &sao->typeDefinitionId, - UA_BROWSEDIRECTION_FORWARD, &reftypes_interface, - UA_NODECLASS_OBJECTTYPE, true, &childTypeNodesSize, - &childTypeNodes); - if(res != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADATTRIBUTEIDINVALID; - - /* Is the browse path valid for one of them? */ - UA_Boolean subTypeContainField = false; - for(size_t j = 0; j < childTypeNodesSize && !subTypeContainField; j++) { - UA_BrowsePathResult bpr = - browseSimplifiedBrowsePath(server, childTypeNodes[j].nodeId, - sao->browsePathSize, sao->browsePath); - - if(bpr.statusCode == UA_STATUSCODE_GOOD && bpr.targetsSize > 0) - subTypeContainField = true; - UA_BrowsePathResult_clear(&bpr); - } - - UA_Array_delete(childTypeNodes, childTypeNodesSize, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]); - - if(!subTypeContainField) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - - /* IndexRange is defined ? */ - if(!UA_String_isEmpty(&sao->indexRange)) { - UA_NumericRange numericRange = UA_NUMERICRANGE(""); - if(UA_NumericRange_parse(&numericRange, sao->indexRange) != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADINDEXRANGEINVALID; - UA_free(numericRange.dimensions); - - /* AttributeId has to be a value if an IndexRange is defined */ - if(sao->attributeId != UA_ATTRIBUTEID_VALUE) - return UA_STATUSCODE_BADTYPEMISMATCH; - } - - return UA_STATUSCODE_GOOD; -} - -/* Initial content filter (where clause) check. Current checks: - * - Number of operands for each (supported) operator - * - ElementOperands point forward only */ -UA_ContentFilterElementResult -UA_ContentFilterElementValidation(UA_Server *server, size_t operatorIndex, - size_t operatorsCount, - const UA_ContentFilterElement *ef) { - /* Initialize the result structure */ - UA_ContentFilterElementResult er; - UA_ContentFilterElementResult_init(&er); - er.operandStatusCodes = (UA_StatusCode *) - UA_Array_new(ef->filterOperandsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - if(!er.operandStatusCodes) { - er.statusCode = UA_STATUSCODE_BADOUTOFMEMORY; - return er; - } - er.operandStatusCodesSize = ef->filterOperandsSize; - - /* Is the operator in the defined range? Test this before the following - * jumptable lookup. */ - if(ef->filterOperator < 0 || ef->filterOperator > UA_FILTEROPERATOR_BITWISEOR) { - er.statusCode = UA_STATUSCODE_BADEVENTFILTERINVALID; - return er; - } - - /* Number of operands supported for the operator? */ - if(ef->filterOperandsSize < operatorJumptable[ef->filterOperator].minOperatorCount || - ef->filterOperandsSize > operatorJumptable[ef->filterOperator].maxOperatorCount) { - er.statusCode = UA_STATUSCODE_BADFILTEROPERANDCOUNTMISMATCH; - return er; - } - - /* Generic validation of the operands */ - for(size_t i = 0; i < ef->filterOperandsSize; i++) { - /* Must be a decoded ExtensionObject */ - UA_ExtensionObject *op = &ef->filterOperands[i]; - if(op->encoding != UA_EXTENSIONOBJECT_DECODED && - op->encoding != UA_EXTENSIONOBJECT_DECODED_NODELETE) { - er.operandStatusCodes[i] = UA_STATUSCODE_BADFILTEROPERANDINVALID; - er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; - return er; - } - - /* Supported type and conforming to the rules? */ - if(op->content.decoded.type == &UA_TYPES[UA_TYPES_ELEMENTOPERAND]) { - /* Part 4, 7.4.4.2 defines conditions for Element Operands: An index - * is considered valid if its value is greater than the element - * index it is part of and it does not Reference a non-existent - * element. Clients shall construct filters in this way to avoid - * circular and invalid References. */ - UA_ElementOperand *eo = (UA_ElementOperand *)op->content.decoded.data; - if(eo->index <= operatorIndex || eo->index >= operatorsCount) { - er.operandStatusCodes[i] = UA_STATUSCODE_BADINDEXRANGEINVALID; - er.statusCode = UA_STATUSCODE_BADINDEXRANGEINVALID; - return er; - } - } else if(op->content.decoded.type == &UA_TYPES[UA_TYPES_ATTRIBUTEOPERAND]) { - er.operandStatusCodes[i] = UA_STATUSCODE_BADNOTSUPPORTED; - er.statusCode = UA_STATUSCODE_BADFILTERNOTALLOWED; - return er; - } else if(op->content.decoded.type != &UA_TYPES[UA_TYPES_SIMPLEATTRIBUTEOPERAND] && - op->content.decoded.type != &UA_TYPES[UA_TYPES_LITERALOPERAND]) { - er.operandStatusCodes[i] = UA_STATUSCODE_BADFILTEROPERANDINVALID; - er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; - return er; - } - } - - /* Specific validations for different operators */ - switch(ef->filterOperator) { - case UA_FILTEROPERATOR_INVIEW: - case UA_FILTEROPERATOR_RELATEDTO: - /* Not allowed for event WhereClause according to 7.17.3 in Part 4 */ - er.statusCode = UA_STATUSCODE_BADEVENTFILTERINVALID; - break; - - case UA_FILTEROPERATOR_EQUALS: - case UA_FILTEROPERATOR_GREATERTHAN: - case UA_FILTEROPERATOR_LESSTHAN: - case UA_FILTEROPERATOR_GREATERTHANOREQUAL: - case UA_FILTEROPERATOR_LESSTHANOREQUAL: - case UA_FILTEROPERATOR_BITWISEAND: - case UA_FILTEROPERATOR_BITWISEOR: - case UA_FILTEROPERATOR_BETWEEN: - case UA_FILTEROPERATOR_INLIST: - case UA_FILTEROPERATOR_AND: - case UA_FILTEROPERATOR_OR: - case UA_FILTEROPERATOR_ISNULL: - case UA_FILTEROPERATOR_NOT: - break; - - case UA_FILTEROPERATOR_OFTYPE: { - /* Make sure the operand is a NodeId literal */ - UA_ExtensionObject *o = &ef->filterOperands[0]; - UA_LiteralOperand *lo = (UA_LiteralOperand *)o->content.decoded.data; - if(o->content.decoded.type != &UA_TYPES[UA_TYPES_LITERALOPERAND] || - !UA_Variant_hasScalarType(&lo->value, &UA_TYPES[UA_TYPES_NODEID])) { - er.operandStatusCodes[0] = UA_STATUSCODE_BADFILTEROPERANDINVALID; - er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; - break; - } - - /* Make sure the operand is a subtype of BaseEventType */ - UA_NodeId baseEventTypeId = UA_NODEID_NUMERIC(0, UA_NS0ID_BASEEVENTTYPE); - if(!isNodeInTree_singleRef(server, (UA_NodeId *)lo->value.data, &baseEventTypeId, - UA_REFERENCETYPEINDEX_HASSUBTYPE)) { - er.operandStatusCodes[0] = UA_STATUSCODE_BADFILTEROPERANDINVALID; - er.statusCode = UA_STATUSCODE_BADFILTEROPERANDINVALID; - break; - } - break; - } - - case UA_FILTEROPERATOR_LIKE: - case UA_FILTEROPERATOR_CAST: - er.statusCode = UA_STATUSCODE_BADFILTEROPERATORUNSUPPORTED; - break; - - default: - er.statusCode = UA_STATUSCODE_BADFILTEROPERATORINVALID; - break; - } - return er; -} - -#endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */ - -/**** amalgamated original file "/src/server/ua_discovery.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2014, 2017 (c) Florian Palm - * Copyright 2015-2016, 2019 (c) Sten Grüner - * Copyright 2015 (c) Chris Iatrou - * Copyright 2015-2016 (c) Oleksiy Vasylyev - * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - -#ifdef UA_ENABLE_DISCOVERY - -void -UA_DiscoveryManager_setState(UA_Server *server, - UA_DiscoveryManager *dm, - UA_LifecycleState state) { - /* Check if open connections remain */ - if(state == UA_LIFECYCLESTATE_STOPPING || - state == UA_LIFECYCLESTATE_STOPPED) { - state = UA_LIFECYCLESTATE_STOPPED; -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - if(dm->mdnsRecvConnectionsSize != 0 || dm->mdnsSendConnection != 0) - state = UA_LIFECYCLESTATE_STOPPING; -#endif - - for(size_t i = 0; i < UA_MAXREGISTERREQUESTS; i++) { - if(dm->registerRequests[i].client != NULL) - state = UA_LIFECYCLESTATE_STOPPING; - } - } - - /* No change */ - if(state == dm->sc.state) - return; - - /* Set the new state and notify */ - dm->sc.state = state; - if(dm->sc.notifyState) - dm->sc.notifyState(server, &dm->sc, state); -} - -static UA_StatusCode -UA_DiscoveryManager_free(UA_Server *server, - struct UA_ServerComponent *sc) { - UA_DiscoveryManager *dm = (UA_DiscoveryManager*)sc; - - if(sc->state != UA_LIFECYCLESTATE_STOPPED) { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Cannot delete the DiscoveryManager because " - "it is not stopped"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - registeredServer_list_entry *rs, *rs_tmp; - LIST_FOREACH_SAFE(rs, &dm->registeredServers, pointers, rs_tmp) { - LIST_REMOVE(rs, pointers); - UA_RegisteredServer_clear(&rs->registeredServer); - UA_free(rs); - } - -# ifdef UA_ENABLE_DISCOVERY_MULTICAST - serverOnNetwork_list_entry *son, *son_tmp; - LIST_FOREACH_SAFE(son, &dm->serverOnNetwork, pointers, son_tmp) { - LIST_REMOVE(son, pointers); - UA_ServerOnNetwork_clear(&son->serverOnNetwork); - if(son->pathTmp) - UA_free(son->pathTmp); - UA_free(son); - } - - UA_String_clear(&dm->selfFqdnMdnsRecord); - - for(size_t i = 0; i < SERVER_ON_NETWORK_HASH_SIZE; i++) { - serverOnNetwork_hash_entry* currHash = dm->serverOnNetworkHash[i]; - while(currHash) { - serverOnNetwork_hash_entry* nextHash = currHash->next; - UA_free(currHash); - currHash = nextHash; - } - } -# endif /* UA_ENABLE_DISCOVERY_MULTICAST */ - - UA_free(dm); - return UA_STATUSCODE_GOOD; -} - -/* Cleanup server registration: If the semaphore file path is set, then it just - * checks the existence of the file. When it is deleted, the registration is - * removed. If there is no semaphore file, then the registration will be removed - * if it is older than 60 minutes. */ -static void -UA_DiscoveryManager_cleanupTimedOut(UA_Server *server, - void *data) { - UA_DiscoveryManager *dm = (UA_DiscoveryManager*)data; - - /* TimedOut gives the last DateTime at which we must have seen the - * registered server. Otherwise it is timed out. */ - UA_DateTime timedOut = UA_DateTime_nowMonotonic(); - if(server->config.discoveryCleanupTimeout) - timedOut -= server->config.discoveryCleanupTimeout * UA_DATETIME_SEC; - - registeredServer_list_entry *current, *temp; - LIST_FOREACH_SAFE(current, &dm->registeredServers, pointers, temp) { - UA_Boolean semaphoreDeleted = false; - -#ifdef UA_ENABLE_DISCOVERY_SEMAPHORE - if(current->registeredServer.semaphoreFilePath.length) { - size_t fpSize = current->registeredServer.semaphoreFilePath.length+1; - char* filePath = (char *)UA_malloc(fpSize); - if(filePath) { - memcpy(filePath, current->registeredServer.semaphoreFilePath.data, - current->registeredServer.semaphoreFilePath.length ); - filePath[current->registeredServer.semaphoreFilePath.length] = '\0'; - semaphoreDeleted = UA_fileExists(filePath) == false; - UA_free(filePath); - } else { - UA_LOG_ERROR(server->config.logging, UA_LOGCATEGORY_SERVER, - "Cannot check registration semaphore. Out of memory"); - } - } -#endif - - if(semaphoreDeleted || - (server->config.discoveryCleanupTimeout && - current->lastSeen < timedOut)) { - if(semaphoreDeleted) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Registration of server with URI %.*s is removed because " - "the semaphore file '%.*s' was deleted", - (int)current->registeredServer.serverUri.length, - current->registeredServer.serverUri.data, - (int)current->registeredServer.semaphoreFilePath.length, - current->registeredServer.semaphoreFilePath.data); - } else { - // cppcheck-suppress unreadVariable - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Registration of server with URI %.*s has timed out " - "and is removed", - (int)current->registeredServer.serverUri.length, - current->registeredServer.serverUri.data); - } - LIST_REMOVE(current, pointers); - UA_RegisteredServer_clear(¤t->registeredServer); - UA_free(current); - dm->registeredServersSize--; - } - } - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - /* Send out multicast */ - sendMulticastMessages(dm); -#endif -} - -static UA_StatusCode -UA_DiscoveryManager_start(UA_Server *server, - struct UA_ServerComponent *sc) { - if(sc->state != UA_LIFECYCLESTATE_STOPPED) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_DiscoveryManager *dm = (UA_DiscoveryManager*)sc; - UA_StatusCode res = addRepeatedCallback(server, UA_DiscoveryManager_cleanupTimedOut, - dm, 1000.0, &dm->discoveryCallbackId); - if(res != UA_STATUSCODE_GOOD) - return res; - - dm->logging = server->config.logging; - dm->serverConfig = &server->config; - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - if(server->config.mdnsEnabled) - startMulticastDiscoveryServer(server); -#endif - - UA_DiscoveryManager_setState(server, dm, UA_LIFECYCLESTATE_STARTED); - return UA_STATUSCODE_GOOD; -} - -static void -UA_DiscoveryManager_stop(UA_Server *server, - struct UA_ServerComponent *sc) { - if(sc->state != UA_LIFECYCLESTATE_STARTED) - return; - - UA_DiscoveryManager *dm = (UA_DiscoveryManager*)sc; - removeCallback(server, dm->discoveryCallbackId); - - /* Cancel all outstanding register requests */ - for(size_t i = 0; i < UA_MAXREGISTERREQUESTS; i++) { - if(dm->registerRequests[i].client == NULL) - continue; - UA_Client_disconnectSecureChannelAsync(dm->registerRequests[i].client); - } - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - if(server->config.mdnsEnabled) - stopMulticastDiscoveryServer(server); -#endif - - UA_DiscoveryManager_setState(server, dm, UA_LIFECYCLESTATE_STOPPED); -} - -UA_ServerComponent * -UA_DiscoveryManager_new(UA_Server *server) { - UA_DiscoveryManager *dm = (UA_DiscoveryManager*) - UA_calloc(1, sizeof(UA_DiscoveryManager)); - if(!dm) - return NULL; - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - dm->serverOnNetworkRecordIdLastReset = UA_DateTime_now(); -#endif /* UA_ENABLE_DISCOVERY_MULTICAST */ - - dm->sc.name = UA_STRING("discovery"); - dm->sc.start = UA_DiscoveryManager_start; - dm->sc.stop = UA_DiscoveryManager_stop; - dm->sc.free = UA_DiscoveryManager_free; - return &dm->sc; -} - -/********************************/ -/* Register at Discovery Server */ -/********************************/ - -static void -asyncRegisterRequest_clear(void *app, void *context) { - UA_Server *server = (UA_Server*)app; - asyncRegisterRequest *ar = (asyncRegisterRequest*)context; - UA_DiscoveryManager *dm = ar->dm; - - UA_String_clear(&ar->semaphoreFilePath); - if(ar->client) - UA_Client_delete(ar->client); - memset(ar, 0, sizeof(asyncRegisterRequest)); - - /* The Discovery manager is fully stopped? */ - UA_DiscoveryManager_setState(server, dm, dm->sc.state); -} - -static void -asyncRegisterRequest_clearAsync(asyncRegisterRequest *ar) { - UA_Server *server = ar->server; - UA_ServerConfig *sc = &server->config; - UA_EventLoop *el = sc->eventLoop; - - ar->cleanupCallback.callback = asyncRegisterRequest_clear; - ar->cleanupCallback.application = server; - ar->cleanupCallback.context = ar; - el->addDelayedCallback(el, &ar->cleanupCallback); -} - -static void -setupRegisterRequest(asyncRegisterRequest *ar, UA_RequestHeader *rh, - UA_RegisteredServer *rs) { - UA_ServerConfig *sc = ar->dm->serverConfig; - - rh->timeoutHint = 10000; - - rs->isOnline = !ar->unregister; - rs->serverUri = sc->applicationDescription.applicationUri; - rs->productUri = sc->applicationDescription.productUri; - rs->serverType = sc->applicationDescription.applicationType; - rs->gatewayServerUri = sc->applicationDescription.gatewayServerUri; - rs->semaphoreFilePath = ar->semaphoreFilePath; - - rs->serverNames = &sc->applicationDescription.applicationName; - rs->serverNamesSize = 1; - - /* Mirror the discovery URLs from the server config (includes hostnames from - * the network layers) */ - rs->discoveryUrls = sc->applicationDescription.discoveryUrls; - rs->discoveryUrlsSize = sc->applicationDescription.discoveryUrlsSize; -} - -static void -registerAsyncResponse(UA_Client *client, void *userdata, - UA_UInt32 requestId, void *resp) { - asyncRegisterRequest *ar = (asyncRegisterRequest*)userdata; - const UA_ServerConfig *sc = ar->dm->serverConfig; - UA_Response *response = (UA_Response*)resp; - const char *regtype = (ar->register2) ? "RegisterServer2" : "RegisterServer"; - - /* Success registering? */ - if(response->responseHeader.serviceResult == UA_STATUSCODE_GOOD) { - UA_LOG_INFO(sc->logging, UA_LOGCATEGORY_SERVER, "%s succeeded", regtype); - goto done; - } - - UA_LOG_WARNING(sc->logging, UA_LOGCATEGORY_SERVER, - "%s failed with statuscode %s", regtype, - UA_StatusCode_name(response->responseHeader.serviceResult)); - - /* Try RegisterServer next */ - ar->register2 = false; - - /* Try RegisterServer immediately if we can. - * Otherwise wait for the next state callback. */ - UA_SecureChannelState ss; - UA_Client_getState(client, &ss, NULL, NULL); - if(!ar->shutdown && ss == UA_SECURECHANNELSTATE_OPEN) { - UA_RegisterServerRequest request; - UA_RegisterServerRequest_init(&request); - setupRegisterRequest(ar, &request.requestHeader, &request.server); - UA_StatusCode res = - __UA_Client_AsyncService(client, &request, - &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST], - registerAsyncResponse, - &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE], ar, NULL); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR((const UA_Logger *)&sc->logging, UA_LOGCATEGORY_CLIENT, - "RegisterServer failed with statuscode %s", - UA_StatusCode_name(res)); - goto done; - } - } - - return; - - done: - /* Close the client connection, will be cleaned up in the client state - * callback when closing is complete */ - ar->shutdown = true; - UA_Client_disconnectSecureChannelAsync(ar->client); -} - -static void -discoveryClientStateCallback(UA_Client *client, - UA_SecureChannelState channelState, - UA_SessionState sessionState, - UA_StatusCode connectStatus) { - asyncRegisterRequest *ar = (asyncRegisterRequest*) - UA_Client_getContext(client); - UA_ServerConfig *sc = ar->dm->serverConfig; - - /* Connection failed */ - if(connectStatus != UA_STATUSCODE_GOOD) { - if(connectStatus != UA_STATUSCODE_BADCONNECTIONCLOSED) { - UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_SERVER, - "Could not connect to the Discovery server with error %s", - UA_StatusCode_name(connectStatus)); - } - - /* Connection fully closed */ - if(channelState == UA_SECURECHANNELSTATE_CLOSED) { - if(!ar->connectSuccess || ar->shutdown) { - asyncRegisterRequest_clearAsync(ar); /* Clean up */ - } else { - ar->connectSuccess = false; - __UA_Client_connect(client, true); /* Reconnect */ - } - } - return; - } - - /* Wait until the SecureChannel is open */ - if(channelState != UA_SECURECHANNELSTATE_OPEN) - return; - - /* We have at least succeeded to connect */ - ar->connectSuccess = true; - - /* Is this the encrypted SecureChannel already? (We might have to wait for - * the second connection after the FindServers handshake */ - UA_MessageSecurityMode msm = UA_MESSAGESECURITYMODE_INVALID; - UA_Client_getConnectionAttribute_scalar(client, UA_QUALIFIEDNAME(0, "securityMode"), - &UA_TYPES[UA_TYPES_MESSAGESECURITYMODE], - &msm); -#ifdef UA_ENABLE_ENCRYPTION - if(msm != UA_MESSAGESECURITYMODE_SIGNANDENCRYPT) - return; -#endif - - const UA_DataType *reqType; - const UA_DataType *respType; - UA_RegisterServerRequest reg1; - UA_RegisterServer2Request reg2; -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_ExtensionObject mdnsConfig; -#endif - void *request; - - /* Prepare the request. This does not allocate memory */ - if(ar->register2) { - UA_RegisterServer2Request_init(®2); - setupRegisterRequest(ar, ®2.requestHeader, ®2.server); - reqType = &UA_TYPES[UA_TYPES_REGISTERSERVER2REQUEST]; - respType = &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]; - request = ®2; - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - /* Set the configuration that is only available for - * UA_RegisterServer2Request */ - UA_ExtensionObject_setValueNoDelete(&mdnsConfig, &sc->mdnsConfig, - &UA_TYPES[UA_TYPES_MDNSDISCOVERYCONFIGURATION]); - reg2.discoveryConfigurationSize = 1; - reg2.discoveryConfiguration = &mdnsConfig; -#endif - } else { - UA_RegisterServerRequest_init(®1); - setupRegisterRequest(ar, ®1.requestHeader, ®1.server); - reqType = &UA_TYPES[UA_TYPES_REGISTERSERVERREQUEST]; - respType = &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]; - request = ®1; - } - - /* Try to call RegisterServer2 */ - UA_StatusCode res = - __UA_Client_AsyncService(client, request, reqType, registerAsyncResponse, - respType, ar, NULL); - if(res != UA_STATUSCODE_GOOD) { - /* Close the client connection, will be cleaned up in the client state - * callback when closing is complete */ - UA_Client_disconnectSecureChannelAsync(ar->client); - UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_CLIENT, - "RegisterServer2 failed with statuscode %s", - UA_StatusCode_name(res)); - } -} - -static UA_StatusCode -UA_Server_register(UA_Server *server, UA_ClientConfig *cc, UA_Boolean unregister, - const UA_String discoveryServerUrl, - const UA_String semaphoreFilePath) { - /* Get the discovery manager */ - UA_DiscoveryManager *dm = (UA_DiscoveryManager*) - getServerComponentByName(server, UA_STRING("discovery")); - if(!dm) { - UA_ClientConfig_clear(cc); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check that the discovery manager is running */ - UA_ServerConfig *sc = &server->config; - if(dm->sc.state != UA_LIFECYCLESTATE_STARTED) { - UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_SERVER, - "The server must be started for registering"); - UA_ClientConfig_clear(cc); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Find a free slot for storing the async request information */ - asyncRegisterRequest *ar = NULL; - for(size_t i = 0; i < UA_MAXREGISTERREQUESTS; i++) { - if(dm->registerRequests[i].client == NULL) { - ar = &dm->registerRequests[i]; - break; - } - } - if(!ar) { - UA_LOG_ERROR(sc->logging, UA_LOGCATEGORY_SERVER, - "Too many outstanding register requests. Cannot proceed."); - UA_ClientConfig_clear(cc); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Use the EventLoop from the server for the client */ - if(cc->eventLoop && !cc->externalEventLoop) - cc->eventLoop->free(cc->eventLoop); - cc->eventLoop = sc->eventLoop; - cc->externalEventLoop = true; - - /* Set the state callback method and context */ - cc->stateCallback = discoveryClientStateCallback; - cc->clientContext = ar; - - /* Use encryption by default */ -#ifdef UA_ENABLE_ENCRYPTION - cc->securityMode = UA_MESSAGESECURITYMODE_SIGNANDENCRYPT; -#endif - - /* Open only a SecureChannel */ - cc->noSession = true; - - /* Move the endpoint url */ - UA_String_clear(&cc->endpointUrl); - UA_String_copy(&discoveryServerUrl, &cc->endpointUrl); - - /* Instantiate the client */ - ar->client = UA_Client_newWithConfig(cc); - if(!ar->client) { - UA_ClientConfig_clear(cc); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Zero out the supplied config */ - memset(cc, 0, sizeof(UA_ClientConfig)); - - /* Finish setting up the context */ - ar->server = server; - ar->dm = dm; - ar->unregister = unregister; - ar->register2 = true; /* Try register2 first */ - UA_String_copy(&semaphoreFilePath, &ar->semaphoreFilePath); - - /* Connect asynchronously. The register service is called once the - * connection is open. */ - ar->connectSuccess = false; - return __UA_Client_connect(ar->client, true); -} - -UA_StatusCode -UA_Server_registerDiscovery(UA_Server *server, UA_ClientConfig *cc, - const UA_String discoveryServerUrl, - const UA_String semaphoreFilePath) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Registering at the DiscoveryServer: %.*s", - (int)discoveryServerUrl.length, discoveryServerUrl.data); - lockServer(server); - UA_StatusCode res = - UA_Server_register(server, cc, false, discoveryServerUrl, semaphoreFilePath); - unlockServer(server); - return res; -} - -UA_StatusCode -UA_Server_deregisterDiscovery(UA_Server *server, UA_ClientConfig *cc, - const UA_String discoveryServerUrl) { - UA_LOG_INFO(server->config.logging, UA_LOGCATEGORY_SERVER, - "Deregistering at the DiscoveryServer: %.*s", - (int)discoveryServerUrl.length, discoveryServerUrl.data); - lockServer(server); - UA_StatusCode res = - UA_Server_register(server, cc, true, discoveryServerUrl, UA_STRING_NULL); - unlockServer(server); - return res; -} - -#endif /* UA_ENABLE_DISCOVERY */ - -/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.h" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - - -#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) || defined(UA_ENABLE_PUBSUB_ENCRYPTION) - -#include -#include -#include - -// MBEDTLS_ENTROPY_HARDWARE_ALT should be defined if your hardware does not supportd platform entropy - -#define UA_SHA1_LENGTH 20 - -_UA_BEGIN_DECLS - -void -swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB); - -void -mbedtls_hmac(mbedtls_md_context_t *context, const UA_ByteString *key, - const UA_ByteString *in, unsigned char *out); - -UA_StatusCode -mbedtls_generateKey(mbedtls_md_context_t *context, - const UA_ByteString *secret, const UA_ByteString *seed, - UA_ByteString *out); - -UA_StatusCode -mbedtls_verifySig_sha1(mbedtls_x509_crt *certificate, const UA_ByteString *message, - const UA_ByteString *signature); - -UA_StatusCode -mbedtls_sign_sha1(mbedtls_pk_context *localPrivateKey, - mbedtls_ctr_drbg_context *drbgContext, - const UA_ByteString *message, - UA_ByteString *signature); - -UA_StatusCode -mbedtls_thumbprint_sha1(const UA_ByteString *certificate, - UA_ByteString *thumbprint); - -/* Set the hashing scheme before calling - * E.g. mbedtls_rsa_set_padding(context, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); */ -UA_StatusCode -mbedtls_encrypt_rsaOaep(mbedtls_rsa_context *context, - mbedtls_ctr_drbg_context *drbgContext, - UA_ByteString *data, const size_t plainTextBlockSize); - -UA_StatusCode -mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey, - mbedtls_ctr_drbg_context *drbgContext, - UA_ByteString *data, int hash_id); - -int UA_mbedTLS_LoadPrivateKey(const UA_ByteString *key, mbedtls_pk_context *target, void *p_rng); - -UA_StatusCode UA_mbedTLS_LoadLocalCertificate(const UA_ByteString *certData, UA_ByteString *target); - -UA_ByteString UA_mbedTLS_CopyDataFormatAware(const UA_ByteString *data); - -_UA_END_DECLS - -#endif - - -/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.c" ****/ - - -#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) || defined(UA_ENABLE_PUBSUB_ENCRYPTION) - - -#include -#include -#include -#include -#include -#include -#include -#include - -void -swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB) { - UA_ByteString tmp = *bufA; - *bufA = *bufB; - *bufB = tmp; -} - -void -mbedtls_hmac(mbedtls_md_context_t *context, const UA_ByteString *key, - const UA_ByteString *in, unsigned char *out) { - mbedtls_md_hmac_starts(context, key->data, key->length); - mbedtls_md_hmac_update(context, in->data, in->length); - mbedtls_md_hmac_finish(context, out); -} - -UA_StatusCode -mbedtls_generateKey(mbedtls_md_context_t *context, - const UA_ByteString *secret, const UA_ByteString *seed, - UA_ByteString *out) { -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - size_t hashLen = (size_t)mbedtls_md_get_size(context->md_info); -#else - size_t hashLen = (size_t)mbedtls_md_get_size(context->private_md_info); -#endif - - UA_ByteString A_and_seed; - UA_ByteString_allocBuffer(&A_and_seed, hashLen + seed->length); - memcpy(A_and_seed.data + hashLen, seed->data, seed->length); - - UA_ByteString ANext_and_seed; - UA_ByteString_allocBuffer(&ANext_and_seed, hashLen + seed->length); - memcpy(ANext_and_seed.data + hashLen, seed->data, seed->length); - - UA_ByteString A = { - hashLen, - A_and_seed.data - }; - - UA_ByteString ANext = { - hashLen, - ANext_and_seed.data - }; - - mbedtls_hmac(context, secret, seed, A.data); - - UA_StatusCode retval = 0; - for(size_t offset = 0; offset < out->length; offset += hashLen) { - UA_ByteString outSegment = { - hashLen, - out->data + offset - }; - UA_Boolean bufferAllocated = UA_FALSE; - // Not enough room in out buffer to write the hash. - if(offset + hashLen > out->length) { - outSegment.data = NULL; - outSegment.length = 0; - retval = UA_ByteString_allocBuffer(&outSegment, hashLen); - if(retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear(&A_and_seed); - UA_ByteString_clear(&ANext_and_seed); - return retval; - } - bufferAllocated = UA_TRUE; - } - - mbedtls_hmac(context, secret, &A_and_seed, outSegment.data); - mbedtls_hmac(context, secret, &A, ANext.data); - - if(retval != UA_STATUSCODE_GOOD) { - if(bufferAllocated) - UA_ByteString_clear(&outSegment); - UA_ByteString_clear(&A_and_seed); - UA_ByteString_clear(&ANext_and_seed); - return retval; - } - - if(bufferAllocated) { - memcpy(out->data + offset, outSegment.data, out->length - offset); - UA_ByteString_clear(&outSegment); - } - - swapBuffers(&ANext_and_seed, &A_and_seed); - swapBuffers(&ANext, &A); - } - - UA_ByteString_clear(&A_and_seed); - UA_ByteString_clear(&ANext_and_seed); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -mbedtls_verifySig_sha1(mbedtls_x509_crt *certificate, const UA_ByteString *message, - const UA_ByteString *signature) { - /* Compute the sha1 hash */ - unsigned char hash[UA_SHA1_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_sha1_ret(message->data, message->length, hash); -#else - mbedtls_sha1(message->data, message->length, hash); -#endif - - /* Set the RSA settings */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(certificate->pk); - if(!rsaContext) - return UA_STATUSCODE_BADINTERNALERROR; - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); - - /* Verify */ - int mbedErr = mbedtls_pk_verify(&certificate->pk, - MBEDTLS_MD_SHA1, hash, UA_SHA1_LENGTH, - signature->data, signature->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -mbedtls_sign_sha1(mbedtls_pk_context *localPrivateKey, - mbedtls_ctr_drbg_context *drbgContext, - const UA_ByteString *message, - UA_ByteString *signature) { - unsigned char hash[UA_SHA1_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_sha1_ret(message->data, message->length, hash); -#else - mbedtls_sha1(message->data, message->length, hash); -#endif - - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(*localPrivateKey); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); - - size_t sigLen = 0; - int mbedErr = mbedtls_pk_sign(localPrivateKey, MBEDTLS_MD_SHA1, hash, - UA_SHA1_LENGTH, signature->data, -#if MBEDTLS_VERSION_NUMBER >= 0x03000000 - signature->length, -#endif - &sigLen, - mbedtls_ctr_drbg_random, drbgContext); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -mbedtls_thumbprint_sha1(const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - if(UA_ByteString_equal(certificate, &UA_BYTESTRING_NULL)) - return UA_STATUSCODE_BADINTERNALERROR; - - if(thumbprint->length != UA_SHA1_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - /* The certificate thumbprint is always a 20 bit sha1 hash, see Part 4 of the Specification. */ -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_sha1_ret(certificate->data, certificate->length, thumbprint->data); -#else - mbedtls_sha1(certificate->data, certificate->length, thumbprint->data); -#endif - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -mbedtls_encrypt_rsaOaep(mbedtls_rsa_context *context, - mbedtls_ctr_drbg_context *drbgContext, - UA_ByteString *data, const size_t plainTextBlockSize) { - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t max_blocks = data->length / plainTextBlockSize; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - size_t keylen = context->len; -#else - size_t keylen = mbedtls_rsa_get_len(context); -#endif - - UA_ByteString encrypted; - UA_StatusCode retval = UA_ByteString_allocBuffer(&encrypted, max_blocks * keylen); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - size_t lenDataToEncrypt = data->length; - size_t inOffset = 0; - size_t offset = 0; - const unsigned char *label = NULL; - while(lenDataToEncrypt >= plainTextBlockSize) { -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - int mbedErr = mbedtls_rsa_rsaes_oaep_encrypt(context, mbedtls_ctr_drbg_random, - drbgContext, MBEDTLS_RSA_PUBLIC, - label, 0, plainTextBlockSize, - data->data + inOffset, encrypted.data + offset); -#else - int mbedErr = mbedtls_rsa_rsaes_oaep_encrypt(context, mbedtls_ctr_drbg_random, - drbgContext, label, 0, plainTextBlockSize, - data->data + inOffset, encrypted.data + offset); -#endif - - if(mbedErr) { - UA_ByteString_clear(&encrypted); - return UA_STATUSCODE_BADINTERNALERROR; - } - - inOffset += plainTextBlockSize; - offset += keylen; - lenDataToEncrypt -= plainTextBlockSize; - } - - memcpy(data->data, encrypted.data, offset); - UA_ByteString_clear(&encrypted); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey, - mbedtls_ctr_drbg_context *drbgContext, - UA_ByteString *data, int hash_id) { - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(*localPrivateKey); -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, hash_id); - size_t keylen = rsaContext->len; -#else - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, (mbedtls_md_type_t)hash_id); - size_t keylen = mbedtls_rsa_get_len(rsaContext); -#endif - if(data->length % keylen != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t inOffset = 0; - size_t outOffset = 0; - size_t outLength = 0; - unsigned char buf[512]; - - while(inOffset < data->length) { -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - int mbedErr = mbedtls_rsa_rsaes_oaep_decrypt(rsaContext, mbedtls_ctr_drbg_random, - drbgContext, MBEDTLS_RSA_PRIVATE, - NULL, 0, &outLength, - data->data + inOffset, - buf, 512); -#else - int mbedErr = mbedtls_rsa_rsaes_oaep_decrypt(rsaContext, mbedtls_ctr_drbg_random, - drbgContext, - NULL, 0, &outLength, - data->data + inOffset, - buf, 512); -#endif - - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - memcpy(data->data + outOffset, buf, outLength); - inOffset += keylen; - outOffset += outLength; - } - - data->length = outOffset; - return UA_STATUSCODE_GOOD; -} - -int -UA_mbedTLS_LoadPrivateKey(const UA_ByteString *key, mbedtls_pk_context *target, void *p_rng) { - UA_ByteString data = UA_mbedTLS_CopyDataFormatAware(key); -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - int mbedErr = mbedtls_pk_parse_key(target, data.data, data.length, NULL, 0); -#else - int mbedErr = mbedtls_pk_parse_key(target, data.data, data.length, NULL, 0, mbedtls_entropy_func, p_rng); -#endif - UA_ByteString_clear(&data); - return mbedErr; -} - -UA_StatusCode -UA_mbedTLS_LoadLocalCertificate(const UA_ByteString *certData, - UA_ByteString *target) { - UA_ByteString data = UA_mbedTLS_CopyDataFormatAware(certData); - - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - - int mbedErr = mbedtls_x509_crt_parse(&cert, data.data, data.length); - - UA_StatusCode result = UA_STATUSCODE_BADINVALIDARGUMENT; - - if (!mbedErr) { - UA_ByteString tmp; - tmp.data = cert.raw.p; - tmp.length = cert.raw.len; - - result = UA_ByteString_copy(&tmp, target); - } else { - UA_ByteString_init(target); - } - - UA_ByteString_clear(&data); - mbedtls_x509_crt_free(&cert); - return result; -} - -// mbedTLS expects PEM data to be null terminated -// The data length parameter must include the null terminator -UA_ByteString -UA_mbedTLS_CopyDataFormatAware(const UA_ByteString *data) { - UA_ByteString result; - UA_ByteString_init(&result); - - if (!data->length) - return result; - - if (data->length && data->data[0] == '-') { - UA_ByteString_allocBuffer(&result, data->length + 1); - memcpy(result.data, data->data, data->length); - result.data[data->length] = '\0'; - } else { - UA_ByteString_copy(data, &result); - } - - return result; -} - -#endif - -/**** amalgamated original file "/plugins/ua_log_stdout.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA - */ - - -#include - -/* ANSI escape sequences for color output taken from here: - * https://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c*/ - -#ifdef UA_ARCHITECTURE_POSIX -# define ANSI_COLOR_RED "\x1b[31m" -# define ANSI_COLOR_GREEN "\x1b[32m" -# define ANSI_COLOR_YELLOW "\x1b[33m" -# define ANSI_COLOR_BLUE "\x1b[34m" -# define ANSI_COLOR_MAGENTA "\x1b[35m" -# define ANSI_COLOR_CYAN "\x1b[36m" -# define ANSI_COLOR_RESET "\x1b[0m" -#else -# define ANSI_COLOR_RED "" -# define ANSI_COLOR_GREEN "" -# define ANSI_COLOR_YELLOW "" -# define ANSI_COLOR_BLUE "" -# define ANSI_COLOR_MAGENTA "" -# define ANSI_COLOR_CYAN "" -# define ANSI_COLOR_RESET "" -#endif - -static -const char *logLevelNames[6] = {"trace", "debug", - ANSI_COLOR_GREEN "info", - ANSI_COLOR_YELLOW "warn", - ANSI_COLOR_RED "error", - ANSI_COLOR_MAGENTA "fatal"}; -static const char * -logCategoryNames[UA_LOGCATEGORIES] = - {"network", "channel", "session", "server", "client", - "userland", "securitypolicy", "eventloop", "pubsub", "discovery"}; - -/* Protect crosstalk during logging via global lock. Use a spinlock as we cannot - * statically initialize a global lock across all platforms. */ -#if UA_MULTITHREADING >= 100 -void * volatile logSpinLock = NULL; -static UA_INLINE void spinLock(void) { - while(UA_atomic_cmpxchg(&logSpinLock, NULL, (void*)0x1) != NULL) {} -} -static UA_INLINE void spinUnLock(void) { - UA_atomic_xchg(&logSpinLock, NULL); -} -#endif - -#ifdef __clang__ -__attribute__((__format__(__printf__, 4 , 0))) -#endif -static void -UA_Log_Stdout_log(void *context, UA_LogLevel level, UA_LogCategory category, - const char *msg, va_list args) { - /* MinLevel encoded in the context pointer */ - UA_LogLevel minLevel = (UA_LogLevel)(uintptr_t)context; - if(minLevel > level) - return; - - UA_Int64 tOffset = UA_DateTime_localTimeUtcOffset(); - UA_DateTimeStruct dts = UA_DateTime_toStruct(UA_DateTime_now() + tOffset); - - int logLevelSlot = ((int)level / 100) - 1; - if(logLevelSlot < 0 || logLevelSlot > 5) - logLevelSlot = 5; /* Set to fatal if the level is outside the range */ - - /* Lock */ -#if UA_MULTITHREADING >= 100 - spinLock(); -#endif - - /* Log */ - printf("[%04u-%02u-%02u %02u:%02u:%02u.%03u (UTC%+05d)] %s/%s" ANSI_COLOR_RESET "\t", - dts.year, dts.month, dts.day, dts.hour, dts.min, dts.sec, dts.milliSec, - (int)(tOffset / UA_DATETIME_SEC / 36), logLevelNames[logLevelSlot], - logCategoryNames[category]); - vprintf(msg, args); - printf("\n"); - fflush(stdout); - - /* Unlock */ -#if UA_MULTITHREADING >= 100 - spinUnLock(); -#endif -} - -static void -UA_Log_Stdout_clear(UA_Logger *logger) { - UA_free(logger); -} - -const UA_Logger UA_Log_Stdout_ = {UA_Log_Stdout_log, NULL, NULL}; -const UA_Logger *UA_Log_Stdout = &UA_Log_Stdout_; - -UA_Logger -UA_Log_Stdout_withLevel(UA_LogLevel minlevel) { - UA_Logger logger = - {UA_Log_Stdout_log, (void*)(uintptr_t)minlevel, NULL}; - return logger; -} - -UA_Logger * -UA_Log_Stdout_new(UA_LogLevel minlevel) { - UA_Logger *logger = (UA_Logger*)UA_malloc(sizeof(UA_Logger)); - if(!logger) - return NULL; - *logger = UA_Log_Stdout_withLevel(minlevel); - logger->clear = UA_Log_Stdout_clear; - return logger; -} - -/**** amalgamated original file "/plugins/ua_accesscontrol_default.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2019 (c) HMS Industrial Networks AB (Author: Jonas Green) - */ - - -/* Example access control management. Anonymous and username / password login. - * The access rights are maximally permissive. - * - * FOR PRODUCTION USE, THIS EXAMPLE PLUGIN SHOULD BE REPLACED WITH LESS - * PERMISSIVE ACCESS CONTROL. - * - * For TransferSubscriptions, we check whether the transfer happens between - * Sessions for the same user. */ - -typedef struct { - UA_Boolean allowAnonymous; - size_t usernamePasswordLoginSize; - UA_UsernamePasswordLogin *usernamePasswordLogin; - UA_UsernamePasswordLoginCallback loginCallback; - void *loginContext; - UA_CertificateVerification verifyX509; -} AccessControlContext; - -#define ANONYMOUS_POLICY "open62541-anonymous-policy" -#define CERTIFICATE_POLICY "open62541-certificate-policy" -#define USERNAME_POLICY "open62541-username-policy" -const UA_String anonymous_policy = UA_STRING_STATIC(ANONYMOUS_POLICY); -const UA_String certificate_policy = UA_STRING_STATIC(CERTIFICATE_POLICY); -const UA_String username_policy = UA_STRING_STATIC(USERNAME_POLICY); - -/************************/ -/* Access Control Logic */ -/************************/ - -static UA_StatusCode -activateSession_default(UA_Server *server, UA_AccessControl *ac, - const UA_EndpointDescription *endpointDescription, - const UA_ByteString *secureChannelRemoteCertificate, - const UA_NodeId *sessionId, - const UA_ExtensionObject *userIdentityToken, - void **sessionContext) { - AccessControlContext *context = (AccessControlContext*)ac->context; - UA_ServerConfig *config = UA_Server_getConfig(server); - - /* The empty token is interpreted as anonymous */ - UA_AnonymousIdentityToken anonToken; - UA_ExtensionObject tmpIdentity; - if(userIdentityToken->encoding == UA_EXTENSIONOBJECT_ENCODED_NOBODY) { - UA_AnonymousIdentityToken_init(&anonToken); - UA_ExtensionObject_init(&tmpIdentity); - UA_ExtensionObject_setValueNoDelete(&tmpIdentity, - &anonToken, - &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]); - userIdentityToken = &tmpIdentity; - } - - /* Could the token be decoded? */ - if(userIdentityToken->encoding < UA_EXTENSIONOBJECT_DECODED) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - const UA_DataType *tokenType = userIdentityToken->content.decoded.type; - if(tokenType == &UA_TYPES[UA_TYPES_ANONYMOUSIDENTITYTOKEN]) { - /* Anonymous login */ - if(!context->allowAnonymous) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - const UA_AnonymousIdentityToken *token = (UA_AnonymousIdentityToken*) - userIdentityToken->content.decoded.data; - - /* Match the beginnig of the PolicyId. - * Compatibility notice: Siemens OPC Scout v10 provides an empty - * policyId. This is not compliant. For compatibility, assume that empty - * policyId == ANONYMOUS_POLICY */ - if(token->policyId.data && - (token->policyId.length < anonymous_policy.length || - strncmp((const char*)token->policyId.data, - (const char*)anonymous_policy.data, - anonymous_policy.length) != 0)) { - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - } - } else if(tokenType == &UA_TYPES[UA_TYPES_USERNAMEIDENTITYTOKEN]) { - /* Username and password */ - const UA_UserNameIdentityToken *userToken = (UA_UserNameIdentityToken*) - userIdentityToken->content.decoded.data; - - /* Match the beginnig of the PolicyId */ - if(userToken->policyId.length < username_policy.length || - strncmp((const char*)userToken->policyId.data, - (const char*)username_policy.data, - username_policy.length) != 0) { - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - } - - /* The userToken has been decrypted by the server before forwarding - * it to the plugin. This information can be used here. */ - /* if(userToken->encryptionAlgorithm.length > 0) {} */ - - /* Empty username and password */ - if(userToken->userName.length == 0 && userToken->password.length == 0) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - /* Try to match username/pw */ - UA_Boolean match = false; - if(context->loginCallback) { - if(context->loginCallback(&userToken->userName, &userToken->password, - context->usernamePasswordLoginSize, context->usernamePasswordLogin, - sessionContext, context->loginContext) == UA_STATUSCODE_GOOD) - match = true; - } else { - for(size_t i = 0; i < context->usernamePasswordLoginSize; i++) { - if(UA_String_equal(&userToken->userName, &context->usernamePasswordLogin[i].username) && - UA_String_equal(&userToken->password, &context->usernamePasswordLogin[i].password)) { - match = true; - break; - } - } - } - if(!match) - return UA_STATUSCODE_BADUSERACCESSDENIED; - } else if(tokenType == &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]) { - /* x509 certificate */ - const UA_X509IdentityToken *userToken = (UA_X509IdentityToken*) - userIdentityToken->content.decoded.data; - - /* Match the beginnig of the PolicyId */ - if(userToken->policyId.length < certificate_policy.length || - strncmp((const char*)userToken->policyId.data, - (const char*)certificate_policy.data, - certificate_policy.length) != 0) { - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - } - - if(!config->sessionPKI.verifyCertificate) - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - - UA_StatusCode res = config->sessionPKI. - verifyCertificate(&config->sessionPKI, &userToken->certificateData); - if(res != UA_STATUSCODE_GOOD) - return UA_STATUSCODE_BADIDENTITYTOKENREJECTED; - } else { - /* Unsupported token type */ - return UA_STATUSCODE_BADIDENTITYTOKENINVALID; - } - - return UA_STATUSCODE_GOOD; -} - -static void -closeSession_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext) { -} - -static UA_UInt32 -getUserRightsMask_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext) { - return 0xFFFFFFFF; -} - -static UA_Byte -getUserAccessLevel_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext) { - return 0xFF; -} - -static UA_Boolean -getUserExecutable_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *methodId, void *methodContext) { - return true; -} - -static UA_Boolean -getUserExecutableOnObject_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *methodId, void *methodContext, - const UA_NodeId *objectId, void *objectContext) { - return true; -} - -static UA_Boolean -allowAddNode_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_AddNodesItem *item) { - return true; -} - -static UA_Boolean -allowAddReference_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_AddReferencesItem *item) { - return true; -} - -static UA_Boolean -allowDeleteNode_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_DeleteNodesItem *item) { - return true; -} - -static UA_Boolean -allowDeleteReference_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_DeleteReferencesItem *item) { - return true; -} - -static UA_Boolean -allowBrowseNode_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext) { - return true; -} - -#ifdef UA_ENABLE_SUBSCRIPTIONS -static UA_Boolean -allowTransferSubscription_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *oldSessionId, void *oldSessionContext, - const UA_NodeId *newSessionId, void *newSessionContext) { - if(!oldSessionId) - return true; - /* Allow the transfer if the same user-id was used to activate both sessions */ - UA_Variant session1UserId; - UA_Variant_init(&session1UserId); - UA_Server_getSessionAttribute(server, oldSessionId, - UA_QUALIFIEDNAME(0, "clientUserId"), - &session1UserId); - UA_Variant session2UserId; - UA_Variant_init(&session2UserId); - UA_Server_getSessionAttribute(server, newSessionId, - UA_QUALIFIEDNAME(0, "clientUserId"), - &session2UserId); - - return (UA_order(&session1UserId, &session2UserId, - &UA_TYPES[UA_TYPES_VARIANT]) == UA_ORDER_EQ); -} -#endif - -#ifdef UA_ENABLE_HISTORIZING -static UA_Boolean -allowHistoryUpdateUpdateData_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, - UA_PerformUpdateType performInsertReplace, - const UA_DataValue *value) { - return true; -} - -static UA_Boolean -allowHistoryUpdateDeleteRawModified_default(UA_Server *server, UA_AccessControl *ac, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, - UA_DateTime startTimestamp, - UA_DateTime endTimestamp, - bool isDeleteModified) { - return true; -} -#endif - -/***************************************/ -/* Create Delete Access Control Plugin */ -/***************************************/ - -static void clear_default(UA_AccessControl *ac) { - UA_Array_delete((void*)(uintptr_t)ac->userTokenPolicies, - ac->userTokenPoliciesSize, - &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); - ac->userTokenPolicies = NULL; - ac->userTokenPoliciesSize = 0; - - AccessControlContext *context = (AccessControlContext*)ac->context; - - if (context) { - for(size_t i = 0; i < context->usernamePasswordLoginSize; i++) { - UA_String_clear(&context->usernamePasswordLogin[i].username); - UA_String_clear(&context->usernamePasswordLogin[i].password); - } - if(context->usernamePasswordLoginSize > 0) - UA_free(context->usernamePasswordLogin); - - UA_free(ac->context); - ac->context = NULL; - } -} - -UA_StatusCode -UA_AccessControl_default(UA_ServerConfig *config, - UA_Boolean allowAnonymous, - const UA_ByteString *userTokenPolicyUri, - size_t usernamePasswordLoginSize, - const UA_UsernamePasswordLogin *usernamePasswordLogin) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "AccessControl: Unconfigured AccessControl. Users have all permissions."); - UA_AccessControl *ac = &config->accessControl; - - if(ac->clear) - ac->clear(ac); - - ac->clear = clear_default; - ac->activateSession = activateSession_default; - ac->closeSession = closeSession_default; - ac->getUserRightsMask = getUserRightsMask_default; - ac->getUserAccessLevel = getUserAccessLevel_default; - ac->getUserExecutable = getUserExecutable_default; - ac->getUserExecutableOnObject = getUserExecutableOnObject_default; - ac->allowAddNode = allowAddNode_default; - ac->allowAddReference = allowAddReference_default; - ac->allowBrowseNode = allowBrowseNode_default; - -#ifdef UA_ENABLE_SUBSCRIPTIONS - ac->allowTransferSubscription = allowTransferSubscription_default; -#endif - -#ifdef UA_ENABLE_HISTORIZING - ac->allowHistoryUpdateUpdateData = allowHistoryUpdateUpdateData_default; - ac->allowHistoryUpdateDeleteRawModified = allowHistoryUpdateDeleteRawModified_default; -#endif - - ac->allowDeleteNode = allowDeleteNode_default; - ac->allowDeleteReference = allowDeleteReference_default; - - AccessControlContext *context = (AccessControlContext*) - UA_malloc(sizeof(AccessControlContext)); - if(!context) - return UA_STATUSCODE_BADOUTOFMEMORY; - memset(context, 0, sizeof(AccessControlContext)); - ac->context = context; - - /* Allow anonymous? */ - context->allowAnonymous = allowAnonymous; - if(allowAnonymous) { - UA_LOG_INFO(config->logging, UA_LOGCATEGORY_SERVER, - "AccessControl: Anonymous login is enabled"); - } - - /* Copy username/password to the access control plugin */ - if(usernamePasswordLoginSize > 0) { - context->usernamePasswordLogin = (UA_UsernamePasswordLogin*) - UA_malloc(usernamePasswordLoginSize * sizeof(UA_UsernamePasswordLogin)); - if(!context->usernamePasswordLogin) - return UA_STATUSCODE_BADOUTOFMEMORY; - context->usernamePasswordLoginSize = usernamePasswordLoginSize; - for(size_t i = 0; i < usernamePasswordLoginSize; i++) { - UA_String_copy(&usernamePasswordLogin[i].username, - &context->usernamePasswordLogin[i].username); - UA_String_copy(&usernamePasswordLogin[i].password, - &context->usernamePasswordLogin[i].password); - } - } - - size_t numOfPolcies = 1; - if(!userTokenPolicyUri) { - if(config->securityPoliciesSize > 0) - numOfPolcies = config->securityPoliciesSize; - else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "No security policies defined for the secure channel."); - return UA_STATUSCODE_BADINTERNALERROR; - } - } - - /* Set the allowed policies */ - size_t policies = 0; - if(allowAnonymous) - policies++; - if(usernamePasswordLoginSize > 0) - policies++; - if(config->sessionPKI.verifyCertificate) - policies++; - ac->userTokenPoliciesSize = 0; - ac->userTokenPolicies = (UA_UserTokenPolicy *) - UA_Array_new(policies * numOfPolcies, &UA_TYPES[UA_TYPES_USERTOKENPOLICY]); - if(!ac->userTokenPolicies) - return UA_STATUSCODE_BADOUTOFMEMORY; - ac->userTokenPoliciesSize = policies * numOfPolcies; - - if(policies == 0) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "No allowed policies set."); - return UA_STATUSCODE_GOOD; - } - - const UA_ByteString *utpUri = NULL; - policies = 0; - for(size_t i = 0; i < numOfPolcies; i++) { - if(userTokenPolicyUri) { - utpUri = userTokenPolicyUri; - } else { - utpUri = &config->securityPolicies[i].policyUri; - } - if(allowAnonymous) { - ac->userTokenPolicies[policies].tokenType = UA_USERTOKENTYPE_ANONYMOUS; - ac->userTokenPolicies[policies].policyId = UA_STRING_ALLOC(ANONYMOUS_POLICY); - UA_ByteString_copy(utpUri, - &ac->userTokenPolicies[policies].securityPolicyUri); - policies++; - } - - if(config->sessionPKI.verifyCertificate) { - ac->userTokenPolicies[policies].tokenType = UA_USERTOKENTYPE_CERTIFICATE; - ac->userTokenPolicies[policies].policyId = UA_STRING_ALLOC(CERTIFICATE_POLICY); -#if UA_LOGLEVEL <= 400 - if(UA_ByteString_equal(utpUri, &UA_SECURITY_POLICY_NONE_URI)) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "x509 Certificate Authentication configured, " - "but no encrypting SecurityPolicy. " - "This can leak credentials on the network."); - } -#endif - UA_ByteString_copy(utpUri, - &ac->userTokenPolicies[policies].securityPolicyUri); - policies++; - } - - if(usernamePasswordLoginSize > 0) { - ac->userTokenPolicies[policies].tokenType = UA_USERTOKENTYPE_USERNAME; - ac->userTokenPolicies[policies].policyId = UA_STRING_ALLOC(USERNAME_POLICY); -#if UA_LOGLEVEL <= 400 - if(UA_ByteString_equal(utpUri, &UA_SECURITY_POLICY_NONE_URI)) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_SERVER, - "Username/Password Authentication configured, " - "but no encrypting SecurityPolicy. " - "This can leak credentials on the network."); - } -#endif - UA_ByteString_copy(utpUri, - &ac->userTokenPolicies[policies].securityPolicyUri); - policies++; - } - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_AccessControl_defaultWithLoginCallback(UA_ServerConfig *config, - UA_Boolean allowAnonymous, - const UA_ByteString *userTokenPolicyUri, - size_t usernamePasswordLoginSize, - const UA_UsernamePasswordLogin *usernamePasswordLogin, - UA_UsernamePasswordLoginCallback loginCallback, - void *loginContext) { - AccessControlContext *context; - UA_StatusCode sc = - UA_AccessControl_default(config, allowAnonymous, userTokenPolicyUri, - usernamePasswordLoginSize, usernamePasswordLogin); - if(sc != UA_STATUSCODE_GOOD) - return sc; - - context = (AccessControlContext *)config->accessControl.context; - context->loginCallback = loginCallback; - context->loginContext = loginContext; - - return UA_STATUSCODE_GOOD; -} - - -/**** amalgamated original file "/plugins/ua_nodestore_ziptree.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2014-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - -#ifndef container_of -#define container_of(ptr, type, member) \ - (type *)((uintptr_t)ptr - offsetof(type,member)) -#endif - -struct NodeEntry; -typedef struct NodeEntry NodeEntry; - -struct NodeEntry { - ZIP_ENTRY(NodeEntry) zipfields; - UA_UInt32 nodeIdHash; - UA_UInt16 refCount; /* How many consumers have a reference to the node? */ - UA_Boolean deleted; /* Node was marked as deleted and can be deleted when refCount == 0 */ - NodeEntry *orig; /* If a copy is made to replace a node, track that we - * replace only the node from which the copy was made. - * Important for concurrent operations. */ - UA_NodeId nodeId; /* This is actually a UA_Node that also starts with a NodeId */ -}; - -/* Absolute ordering for NodeIds */ -static enum ZIP_CMP -cmpNodeId(const void *a, const void *b) { - const NodeEntry *aa = (const NodeEntry*)a; - const NodeEntry *bb = (const NodeEntry*)b; - - /* Compare hash */ - if(aa->nodeIdHash < bb->nodeIdHash) - return ZIP_CMP_LESS; - if(aa->nodeIdHash > bb->nodeIdHash) - return ZIP_CMP_MORE; - - /* Compore nodes in detail */ - return (enum ZIP_CMP)UA_NodeId_order(&aa->nodeId, &bb->nodeId); -} - -ZIP_HEAD(NodeTree, NodeEntry); -typedef struct NodeTree NodeTree; - -typedef struct { - NodeTree root; - - /* Maps ReferenceTypeIndex to the NodeId of the ReferenceType */ - UA_NodeId referenceTypeIds[UA_REFERENCETYPESET_MAX]; - UA_Byte referenceTypeCounter; -} ZipContext; - -ZIP_FUNCTIONS(NodeTree, NodeEntry, zipfields, NodeEntry, zipfields, cmpNodeId) - -static NodeEntry * -newEntry(UA_NodeClass nodeClass) { - size_t size = sizeof(NodeEntry) - sizeof(UA_NodeId); - switch(nodeClass) { - case UA_NODECLASS_OBJECT: - size += sizeof(UA_ObjectNode); - break; - case UA_NODECLASS_VARIABLE: - size += sizeof(UA_VariableNode); - break; - case UA_NODECLASS_METHOD: - size += sizeof(UA_MethodNode); - break; - case UA_NODECLASS_OBJECTTYPE: - size += sizeof(UA_ObjectTypeNode); - break; - case UA_NODECLASS_VARIABLETYPE: - size += sizeof(UA_VariableTypeNode); - break; - case UA_NODECLASS_REFERENCETYPE: - size += sizeof(UA_ReferenceTypeNode); - break; - case UA_NODECLASS_DATATYPE: - size += sizeof(UA_DataTypeNode); - break; - case UA_NODECLASS_VIEW: - size += sizeof(UA_ViewNode); - break; - default: - return NULL; - } - NodeEntry *entry = (NodeEntry*)UA_calloc(1, size); - if(!entry) - return NULL; - UA_Node *node = (UA_Node*)&entry->nodeId; - node->head.nodeClass = nodeClass; - return entry; -} - -static void -deleteEntry(NodeEntry *entry) { - UA_Node_clear((UA_Node*)&entry->nodeId); - UA_free(entry); -} - -static void -cleanupEntry(NodeEntry *entry) { - if(entry->refCount > 0) - return; - if(entry->deleted) { - deleteEntry(entry); - return; - } - UA_NodeHead *head = (UA_NodeHead*)&entry->nodeId; - for(size_t i = 0; i < head->referencesSize; i++) { - UA_NodeReferenceKind *rk = &head->references[i]; - if(rk->targetsSize > 16 && !rk->hasRefTree) - UA_NodeReferenceKind_switch(rk); - } -} - -/***********************/ -/* Interface functions */ -/***********************/ - -/* Not yet inserted into the ZipContext */ -static UA_Node * -zipNsNewNode(void *nsCtx, UA_NodeClass nodeClass) { - NodeEntry *entry = newEntry(nodeClass); - if(!entry) - return NULL; - return (UA_Node*)&entry->nodeId; -} - -/* Not yet inserted into the ZipContext */ -static void -zipNsDeleteNode(void *nsCtx, UA_Node *node) { - deleteEntry(container_of(node, NodeEntry, nodeId)); -} - -static const UA_Node * -zipNsGetNode(void *nsCtx, const UA_NodeId *nodeId, - UA_UInt32 attributeMask, - UA_ReferenceTypeSet references, - UA_BrowseDirection referenceDirections) { - ZipContext *ns = (ZipContext*)nsCtx; - NodeEntry dummy; - dummy.nodeIdHash = UA_NodeId_hash(nodeId); - dummy.nodeId = *nodeId; - NodeEntry *entry = ZIP_FIND(NodeTree, &ns->root, &dummy); - if(!entry) - return NULL; - ++entry->refCount; - return (const UA_Node*)&entry->nodeId; -} - -static const UA_Node * -zipNsGetNodeFromPtr(void *nsCtx, UA_NodePointer ptr, - UA_UInt32 attributeMask, - UA_ReferenceTypeSet references, - UA_BrowseDirection referenceDirections) { - if(!UA_NodePointer_isLocal(ptr)) - return NULL; - UA_NodeId id = UA_NodePointer_toNodeId(ptr); - return zipNsGetNode(nsCtx, &id, attributeMask, - references, referenceDirections); -} - -static void -zipNsReleaseNode(void *nsCtx, const UA_Node *node) { - if(!node) - return; - NodeEntry *entry = container_of(node, NodeEntry, nodeId); - UA_assert(entry->refCount > 0); - --entry->refCount; - cleanupEntry(entry); -} - -static UA_StatusCode -zipNsGetNodeCopy(void *nsCtx, const UA_NodeId *nodeId, - UA_Node **outNode) { - /* Get the node (with all attributes and references, the mask and refs are - currently noy evaluated within the plugin.) */ - const UA_Node *node = - zipNsGetNode(nsCtx, nodeId, UA_NODEATTRIBUTESMASK_ALL, - UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); - if(!node) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - - /* Create the new entry */ - NodeEntry *ne = newEntry(node->head.nodeClass); - if(!ne) { - zipNsReleaseNode(nsCtx, node); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Copy the node content */ - UA_Node *nnode = (UA_Node*)&ne->nodeId; - UA_StatusCode retval = UA_Node_copy(node, nnode); - zipNsReleaseNode(nsCtx, node); - if(retval != UA_STATUSCODE_GOOD) { - deleteEntry(ne); - return retval; - } - - ne->orig = container_of(node, NodeEntry, nodeId); - *outNode = nnode; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -zipNsInsertNode(void *nsCtx, UA_Node *node, UA_NodeId *addedNodeId) { - NodeEntry *entry = container_of(node, NodeEntry, nodeId); - ZipContext *ns = (ZipContext*)nsCtx; - - /* Ensure that the NodeId is unique */ - NodeEntry dummy; - memset(&dummy, 0, sizeof(NodeEntry)); - dummy.nodeId = node->head.nodeId; - if(node->head.nodeId.identifierType == UA_NODEIDTYPE_NUMERIC && - node->head.nodeId.identifier.numeric == 0) { - do { /* Create a random nodeid until we find an unoccupied id */ - UA_UInt32 numId = UA_UInt32_random(); -#if SIZE_MAX <= UA_UINT32_MAX - /* The compressed "immediate" representation of nodes does not - * support the full range on 32bit systems. Generate smaller - * identifiers as they can be stored more compactly. */ - if(numId >= (0x01 << 24)) - numId = numId % (0x01 << 24); -#endif - node->head.nodeId.identifier.numeric = numId; - dummy.nodeId.identifier.numeric = numId; - dummy.nodeIdHash = UA_NodeId_hash(&node->head.nodeId); - } while(ZIP_FIND(NodeTree, &ns->root, &dummy)); - } else { - dummy.nodeIdHash = UA_NodeId_hash(&node->head.nodeId); - if(ZIP_FIND(NodeTree, &ns->root, &dummy)) { /* The nodeid exists */ - deleteEntry(entry); - return UA_STATUSCODE_BADNODEIDEXISTS; - } - } - - /* Copy the NodeId */ - if(addedNodeId) { - UA_StatusCode retval = UA_NodeId_copy(&node->head.nodeId, addedNodeId); - if(retval != UA_STATUSCODE_GOOD) { - deleteEntry(entry); - return retval; - } - } - - /* For new ReferencetypeNodes add to the index map */ - if(node->head.nodeClass == UA_NODECLASS_REFERENCETYPE) { - UA_ReferenceTypeNode *refNode = &node->referenceTypeNode; - if(ns->referenceTypeCounter >= UA_REFERENCETYPESET_MAX) { - deleteEntry(entry); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_StatusCode retval = - UA_NodeId_copy(&node->head.nodeId, &ns->referenceTypeIds[ns->referenceTypeCounter]); - if(retval != UA_STATUSCODE_GOOD) { - deleteEntry(entry); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Assign the ReferenceTypeIndex to the new ReferenceTypeNode */ - refNode->referenceTypeIndex = ns->referenceTypeCounter; - refNode->subTypes = UA_REFTYPESET(ns->referenceTypeCounter); - - ns->referenceTypeCounter++; - } - - /* Insert the node */ - entry->nodeIdHash = dummy.nodeIdHash; - ZIP_INSERT(NodeTree, &ns->root, entry); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -zipNsReplaceNode(void *nsCtx, UA_Node *node) { - /* Find the node (the mask and refs are not evaluated yet by the plugin)*/ - const UA_Node *oldNode = - zipNsGetNode(nsCtx, &node->head.nodeId, UA_NODEATTRIBUTESMASK_ALL, - UA_REFERENCETYPESET_ALL, UA_BROWSEDIRECTION_BOTH); - if(!oldNode) { - deleteEntry(container_of(node, NodeEntry, nodeId)); - return UA_STATUSCODE_BADNODEIDUNKNOWN; - } - - /* Test if the copy is current */ - NodeEntry *entry = container_of(node, NodeEntry, nodeId); - NodeEntry *oldEntry = container_of(oldNode, NodeEntry, nodeId); - if(oldEntry != entry->orig) { - /* The node was already updated since the copy was made */ - deleteEntry(entry); - zipNsReleaseNode(nsCtx, oldNode); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Replace */ - ZipContext *ns = (ZipContext*)nsCtx; - ZIP_REMOVE(NodeTree, &ns->root, oldEntry); - entry->nodeIdHash = oldEntry->nodeIdHash; - ZIP_INSERT(NodeTree, &ns->root, entry); - oldEntry->deleted = true; - - zipNsReleaseNode(nsCtx, oldNode); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -zipNsRemoveNode(void *nsCtx, const UA_NodeId *nodeId) { - ZipContext *ns = (ZipContext*)nsCtx; - NodeEntry dummy; - dummy.nodeIdHash = UA_NodeId_hash(nodeId); - dummy.nodeId = *nodeId; - NodeEntry *entry = ZIP_FIND(NodeTree, &ns->root, &dummy); - if(!entry) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - ZIP_REMOVE(NodeTree, &ns->root, entry); - entry->deleted = true; - cleanupEntry(entry); - return UA_STATUSCODE_GOOD; -} - -static const UA_NodeId * -zipNsGetReferenceTypeId(void *nsCtx, UA_Byte refTypeIndex) { - ZipContext *ns = (ZipContext*)nsCtx; - if(refTypeIndex >= ns->referenceTypeCounter) - return NULL; - return &ns->referenceTypeIds[refTypeIndex]; -} - -struct VisitorData { - UA_NodestoreVisitor visitor; - void *visitorContext; -}; - -static void * -nodeVisitor(void *data, NodeEntry *entry) { - struct VisitorData *d = (struct VisitorData*)data; - d->visitor(d->visitorContext, (UA_Node*)&entry->nodeId); - return NULL; -} - -static void -zipNsIterate(void *nsCtx, UA_NodestoreVisitor visitor, - void *visitorCtx) { - struct VisitorData d; - d.visitor = visitor; - d.visitorContext = visitorCtx; - ZipContext *ns = (ZipContext*)nsCtx; - ZIP_ITER(NodeTree, &ns->root, nodeVisitor, &d); -} - -static void * -deleteNodeVisitor(void *data, NodeEntry *entry) { - deleteEntry(entry); - return NULL; -} - -/***********************/ -/* Nodestore Lifecycle */ -/***********************/ - -static void -zipNsClear(void *nsCtx) { - if (!nsCtx) - return; - ZipContext *ns = (ZipContext*)nsCtx; - ZIP_ITER(NodeTree, &ns->root, deleteNodeVisitor, NULL); - - /* Clean up the ReferenceTypes index array */ - for(size_t i = 0; i < ns->referenceTypeCounter; i++) - UA_NodeId_clear(&ns->referenceTypeIds[i]); - - UA_free(ns); -} - -UA_StatusCode -UA_Nodestore_ZipTree(UA_Nodestore *ns) { - /* Allocate and initialize the context */ - ZipContext *ctx = (ZipContext*)UA_malloc(sizeof(ZipContext)); - if(!ctx) - return UA_STATUSCODE_BADOUTOFMEMORY; - - ZIP_INIT(&ctx->root); - ctx->referenceTypeCounter = 0; - - /* Populate the nodestore */ - ns->context = (void*)ctx; - ns->clear = zipNsClear; - ns->newNode = zipNsNewNode; - ns->deleteNode = zipNsDeleteNode; - ns->getNode = zipNsGetNode; - ns->getNodeFromPtr = zipNsGetNodeFromPtr; - ns->releaseNode = zipNsReleaseNode; - ns->getNodeCopy = zipNsGetNodeCopy; - ns->insertNode = zipNsInsertNode; - ns->replaceNode = zipNsReplaceNode; - ns->removeNode = zipNsRemoveNode; - ns->getReferenceTypeId = zipNsGetReferenceTypeId; - ns->iterate = zipNsIterate; - - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/plugins/ua_nodestore_hashmap.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2014-2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - -#ifndef container_of -#define container_of(ptr, type, member) \ - (type *)((uintptr_t)ptr - offsetof(type,member)) -#endif - -/* The default Nodestore is simply a hash-map from NodeIds to Nodes. To find an - * entry, iterate over candidate positions according to the NodeId hash. - * - * - Tombstone or non-matching NodeId: continue searching - * - Matching NodeId: Return the entry - * - NULL: Abort the search */ - -typedef struct UA_NodeMapEntry { - struct UA_NodeMapEntry *orig; /* the version this is a copy from (or NULL) */ - UA_UInt16 refCount; /* How many consumers have a reference to the node? */ - UA_Boolean deleted; /* Node was marked as deleted and can be deleted when refCount == 0 */ - UA_Node node; -} UA_NodeMapEntry; - -#define UA_NODEMAP_MINSIZE 64 -#define UA_NODEMAP_TOMBSTONE ((UA_NodeMapEntry*)0x01) - -typedef struct { - UA_NodeMapEntry *entry; - UA_UInt32 nodeIdHash; -} UA_NodeMapSlot; - -typedef struct { - UA_NodeMapSlot *slots; - UA_UInt32 size; - UA_UInt32 count; - UA_UInt32 sizePrimeIndex; - - /* Maps ReferenceTypeIndex to the NodeId of the ReferenceType */ - UA_NodeId referenceTypeIds[UA_REFERENCETYPESET_MAX]; - UA_Byte referenceTypeCounter; -} UA_NodeMap; - -/*********************/ -/* HashMap Utilities */ -/*********************/ - -/* The size of the hash-map is always a prime number. They are chosen to be - * close to the next power of 2. So the size ca. doubles with each prime. */ -static UA_UInt32 const primes[] = { - 7, 13, 31, 61, 127, 251, - 509, 1021, 2039, 4093, 8191, 16381, - 32749, 65521, 131071, 262139, 524287, 1048573, - 2097143, 4194301, 8388593, 16777213, 33554393, 67108859, - 134217689, 268435399, 536870909, 1073741789, 2147483647, 4294967291 -}; - -static UA_UInt32 mod(UA_UInt32 h, UA_UInt32 size) { return h % size; } -static UA_UInt32 mod2(UA_UInt32 h, UA_UInt32 size) { return 1 + (h % (size - 2)); } - -static UA_UInt16 -higher_prime_index(UA_UInt32 n) { - UA_UInt16 low = 0; - UA_UInt16 high = (UA_UInt16)(sizeof(primes) / sizeof(UA_UInt32)); - while(low != high) { - UA_UInt16 mid = (UA_UInt16)(low + ((high - low) / 2)); - if(n > primes[mid]) - low = (UA_UInt16)(mid + 1); - else - high = mid; - } - return low; -} - -/* Returns an empty slot or null if the nodeid exists or if no empty slot is found. */ -static UA_NodeMapSlot * -findFreeSlot(const UA_NodeMap *ns, const UA_NodeId *nodeid) { - UA_UInt32 h = UA_NodeId_hash(nodeid); - UA_UInt32 size = ns->size; - UA_UInt64 idx = mod(h, size); /* Use 64bit container to avoid overflow */ - UA_UInt32 startIdx = (UA_UInt32)idx; - UA_UInt32 hash2 = mod2(h, size); - - UA_NodeMapSlot *candidate = NULL; - do { - UA_NodeMapSlot *slot = &ns->slots[(UA_UInt32)idx]; - - if(slot->entry > UA_NODEMAP_TOMBSTONE) { - /* A Node with the NodeId does already exist */ - if(slot->nodeIdHash == h && - UA_NodeId_equal(&slot->entry->node.head.nodeId, nodeid)) - return NULL; - } else { - /* Found a candidate node */ - if(!candidate) - candidate = slot; - /* No matching node can come afterwards */ - if(slot->entry == NULL) - return candidate; - } - - idx += hash2; - if(idx >= size) - idx -= size; - } while((UA_UInt32)idx != startIdx); - - return candidate; -} - -/* The occupancy of the table after the call will be about 50% */ -static UA_StatusCode -expand(UA_NodeMap *ns) { - UA_UInt32 osize = ns->size; - UA_UInt32 count = ns->count; - /* Resize only when table after removal of unused elements is either too - full or too empty */ - if(count * 2 < osize && (count * 8 > osize || osize <= UA_NODEMAP_MINSIZE)) - return UA_STATUSCODE_GOOD; - - UA_NodeMapSlot *oslots = ns->slots; - UA_UInt32 nindex = higher_prime_index(count * 2); - UA_UInt32 nsize = primes[nindex]; - UA_NodeMapSlot *nslots= (UA_NodeMapSlot*)UA_calloc(nsize, sizeof(UA_NodeMapSlot)); - if(!nslots) - return UA_STATUSCODE_BADOUTOFMEMORY; - - ns->slots = nslots; - ns->size = nsize; - ns->sizePrimeIndex = nindex; - - /* recompute the position of every entry and insert the pointer */ - for(size_t i = 0, j = 0; i < osize && j < count; ++i) { - if(oslots[i].entry <= UA_NODEMAP_TOMBSTONE) - continue; - UA_NodeMapSlot *s = findFreeSlot(ns, &oslots[i].entry->node.head.nodeId); - UA_assert(s); - *s = oslots[i]; - ++j; - } - - UA_free(oslots); - return UA_STATUSCODE_GOOD; -} - -static UA_NodeMapEntry * -createEntry(UA_NodeClass nodeClass) { - size_t size = sizeof(UA_NodeMapEntry) - sizeof(UA_Node); - switch(nodeClass) { - case UA_NODECLASS_OBJECT: - size += sizeof(UA_ObjectNode); - break; - case UA_NODECLASS_VARIABLE: - size += sizeof(UA_VariableNode); - break; - case UA_NODECLASS_METHOD: - size += sizeof(UA_MethodNode); - break; - case UA_NODECLASS_OBJECTTYPE: - size += sizeof(UA_ObjectTypeNode); - break; - case UA_NODECLASS_VARIABLETYPE: - size += sizeof(UA_VariableTypeNode); - break; - case UA_NODECLASS_REFERENCETYPE: - size += sizeof(UA_ReferenceTypeNode); - break; - case UA_NODECLASS_DATATYPE: - size += sizeof(UA_DataTypeNode); - break; - case UA_NODECLASS_VIEW: - size += sizeof(UA_ViewNode); - break; - default: - return NULL; - } - UA_NodeMapEntry *entry = (UA_NodeMapEntry*)UA_calloc(1, size); - if(!entry) - return NULL; - entry->node.head.nodeClass = nodeClass; - return entry; -} - -static void -deleteNodeMapEntry(UA_NodeMapEntry *entry) { - UA_Node_clear(&entry->node); - UA_free(entry); -} - -static void -cleanupNodeMapEntry(UA_NodeMapEntry *entry) { - if(entry->refCount > 0) - return; - if(entry->deleted) { - deleteNodeMapEntry(entry); - return; - } - for(size_t i = 0; i < entry->node.head.referencesSize; i++) { - UA_NodeReferenceKind *rk = &entry->node.head.references[i]; - if(rk->targetsSize > 16 && !rk->hasRefTree) - UA_NodeReferenceKind_switch(rk); - } -} - -static UA_NodeMapSlot * -findOccupiedSlot(const UA_NodeMap *ns, const UA_NodeId *nodeid) { - UA_UInt32 h = UA_NodeId_hash(nodeid); - UA_UInt32 size = ns->size; - UA_UInt64 idx = mod(h, size); /* Use 64bit container to avoid overflow */ - UA_UInt32 hash2 = mod2(h, size); - UA_UInt32 startIdx = (UA_UInt32)idx; - - do { - UA_NodeMapSlot *slot= &ns->slots[(UA_UInt32)idx]; - if(slot->entry > UA_NODEMAP_TOMBSTONE) { - if(slot->nodeIdHash == h && - UA_NodeId_equal(&slot->entry->node.head.nodeId, nodeid)) - return slot; - } else { - if(slot->entry == NULL) - return NULL; /* No further entry possible */ - } - - idx += hash2; - if(idx >= size) - idx -= size; - } while((UA_UInt32)idx != startIdx); - - return NULL; -} - -/***********************/ -/* Interface functions */ -/***********************/ - -static UA_Node * -UA_NodeMap_newNode(void *context, UA_NodeClass nodeClass) { - UA_NodeMapEntry *entry = createEntry(nodeClass); - if(!entry) - return NULL; - return &entry->node; -} - -static void -UA_NodeMap_deleteNode(void *context, UA_Node *node) { - UA_NodeMapEntry *entry = container_of(node, UA_NodeMapEntry, node); - UA_assert(&entry->node == node); - deleteNodeMapEntry(entry); -} - -static const UA_Node * -UA_NodeMap_getNode(void *context, const UA_NodeId *nodeid, - UA_UInt32 attributeMask, - UA_ReferenceTypeSet references, - UA_BrowseDirection referenceDirections) { - UA_NodeMap *ns = (UA_NodeMap*)context; - UA_NodeMapSlot *slot = findOccupiedSlot(ns, nodeid); - if(!slot) - return NULL; - ++slot->entry->refCount; - return &slot->entry->node; -} - -static const UA_Node * -UA_NodeMap_getNodeFromPtr(void *context, UA_NodePointer ptr, - UA_UInt32 attributeMask, - UA_ReferenceTypeSet references, - UA_BrowseDirection referenceDirections) { - if(!UA_NodePointer_isLocal(ptr)) - return NULL; - UA_NodeId id = UA_NodePointer_toNodeId(ptr); - return UA_NodeMap_getNode(context, &id, attributeMask, references, referenceDirections); -} - -static void -UA_NodeMap_releaseNode(void *context, const UA_Node *node) { - if (!node) - return; - UA_NodeMapEntry *entry = container_of(node, UA_NodeMapEntry, node); - UA_assert(&entry->node == node); - UA_assert(entry->refCount > 0); - --entry->refCount; - cleanupNodeMapEntry(entry); -} - -static UA_StatusCode -UA_NodeMap_getNodeCopy(void *context, const UA_NodeId *nodeid, - UA_Node **outNode) { - UA_NodeMap *ns = (UA_NodeMap*)context; - UA_NodeMapSlot *slot = findOccupiedSlot(ns, nodeid); - if(!slot) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - UA_NodeMapEntry *entry = slot->entry; - UA_NodeMapEntry *newItem = createEntry(entry->node.head.nodeClass); - if(!newItem) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_StatusCode retval = UA_Node_copy(&entry->node, &newItem->node); - if(retval == UA_STATUSCODE_GOOD) { - newItem->orig = entry; /* Store the pointer to the original */ - *outNode = &newItem->node; - } else { - deleteNodeMapEntry(newItem); - } - return retval; -} - -static UA_StatusCode -UA_NodeMap_removeNode(void *context, const UA_NodeId *nodeid) { - UA_NodeMap *ns = (UA_NodeMap*)context; - UA_NodeMapSlot *slot = findOccupiedSlot(ns, nodeid); - if(!slot) - return UA_STATUSCODE_BADNODEIDUNKNOWN; - - UA_NodeMapEntry *entry = slot->entry; - slot->entry = UA_NODEMAP_TOMBSTONE; - entry->deleted = true; - cleanupNodeMapEntry(entry); - --ns->count; - /* Downsize the hashmap if it is very empty */ - if(ns->count * 8 < ns->size && ns->size > UA_NODEMAP_MINSIZE) - expand(ns); /* Can fail. Just continue with the bigger hashmap. */ - return UA_STATUSCODE_GOOD; -} - -/* - * If this function fails in any way, the node parameter is deleted here, - * so the caller function does not need to take care of it anymore - */ -static UA_StatusCode -UA_NodeMap_insertNode(void *context, UA_Node *node, - UA_NodeId *addedNodeId) { - UA_NodeMap *ns = (UA_NodeMap*)context; - if(ns->size * 3 <= ns->count * 4) { - if(expand(ns) != UA_STATUSCODE_GOOD){ - deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); - return UA_STATUSCODE_BADINTERNALERROR; - } - } - - UA_NodeMapSlot *slot; - if(node->head.nodeId.identifierType == UA_NODEIDTYPE_NUMERIC && - node->head.nodeId.identifier.numeric == 0) { - /* Create a random nodeid: Start at least with 50,000 to make sure we - * don not conflict with nodes from the spec. If we find a conflict, we - * just try another identifier until we have tried all possible - * identifiers. Since the size is prime and we don't change the increase - * val, we will reach the starting id again. E.g. adding a nodeset will - * create children while there are still other nodes which need to be - * created. Thus the node ids may collide. */ - UA_UInt32 size = ns->size; - UA_UInt64 identifier = mod(50000 + size+1, UA_UINT32_MAX); /* Use 64bit to - * avoid overflow */ - UA_UInt32 increase = mod2(ns->count+1, size); - UA_UInt32 startId = (UA_UInt32)identifier; /* mod ensures us that the id - * is a valid 32 bit integer */ - - do { - node->head.nodeId.identifier.numeric = (UA_UInt32)identifier; - slot = findFreeSlot(ns, &node->head.nodeId); - if(slot) - break; - identifier += increase; - if(identifier >= size) - identifier -= size; -#if SIZE_MAX <= UA_UINT32_MAX - /* The compressed "immediate" representation of nodes does not - * support the full range on 32bit systems. Generate smaller - * identifiers as they can be stored more compactly. */ - if(identifier >= (0x01 << 24)) - identifier = identifier % (0x01 << 24); -#endif - } while((UA_UInt32)identifier != startId); - } else { - slot = findFreeSlot(ns, &node->head.nodeId); - } - - if(!slot) { - deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); - return UA_STATUSCODE_BADNODEIDEXISTS; - } - - /* Copy the NodeId */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(addedNodeId) { - retval = UA_NodeId_copy(&node->head.nodeId, addedNodeId); - if(retval != UA_STATUSCODE_GOOD) { - deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); - return retval; - } - } - - /* For new ReferencetypeNodes add to the index map */ - if(node->head.nodeClass == UA_NODECLASS_REFERENCETYPE) { - UA_ReferenceTypeNode *refNode = &node->referenceTypeNode; - if(ns->referenceTypeCounter >= UA_REFERENCETYPESET_MAX) { - deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); - return UA_STATUSCODE_BADINTERNALERROR; - } - - retval = UA_NodeId_copy(&node->head.nodeId, &ns->referenceTypeIds[ns->referenceTypeCounter]); - if(retval != UA_STATUSCODE_GOOD) { - deleteNodeMapEntry(container_of(node, UA_NodeMapEntry, node)); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Assign the ReferenceTypeIndex to the new ReferenceTypeNode */ - refNode->referenceTypeIndex = ns->referenceTypeCounter; - refNode->subTypes = UA_REFTYPESET(ns->referenceTypeCounter); - - ns->referenceTypeCounter++; - } - - /* Insert the node */ - UA_NodeMapEntry *newEntry = container_of(node, UA_NodeMapEntry, node); - slot->nodeIdHash = UA_NodeId_hash(&node->head.nodeId); - slot->entry = newEntry; - ++ns->count; - return retval; -} - -static UA_StatusCode -UA_NodeMap_replaceNode(void *context, UA_Node *node) { - UA_NodeMap *ns = (UA_NodeMap*)context; - UA_NodeMapEntry *newEntry = container_of(node, UA_NodeMapEntry, node); - - /* Find the node */ - UA_NodeMapSlot *slot = findOccupiedSlot(ns, &node->head.nodeId); - if(!slot) { - deleteNodeMapEntry(newEntry); - return UA_STATUSCODE_BADNODEIDUNKNOWN; - } - - /* The node was already updated since the copy was made? */ - UA_NodeMapEntry *oldEntry = slot->entry; - if(oldEntry != newEntry->orig) { - deleteNodeMapEntry(newEntry); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Replace the entry */ - slot->entry = newEntry; - oldEntry->deleted = true; - cleanupNodeMapEntry(oldEntry); - return UA_STATUSCODE_GOOD; -} - -static const UA_NodeId * -UA_NodeMap_getReferenceTypeId(void *nsCtx, UA_Byte refTypeIndex) { - UA_NodeMap *ns = (UA_NodeMap*)nsCtx; - if(refTypeIndex >= ns->referenceTypeCounter) - return NULL; - return &ns->referenceTypeIds[refTypeIndex]; -} - -static void -UA_NodeMap_iterate(void *context, UA_NodestoreVisitor visitor, - void *visitorContext) { - UA_NodeMap *ns = (UA_NodeMap*)context; - for(UA_UInt32 i = 0; i < ns->size; ++i) { - UA_NodeMapSlot *slot = &ns->slots[i]; - if(slot->entry > UA_NODEMAP_TOMBSTONE) { - /* The visitor can delete the node. So refcount here. */ - slot->entry->refCount++; - visitor(visitorContext, &slot->entry->node); - slot->entry->refCount--; - cleanupNodeMapEntry(slot->entry); - } - } -} - -static void -UA_NodeMap_delete(void *context) { - /* Already cleaned up? */ - if(!context) - return; - - UA_NodeMap *ns = (UA_NodeMap*)context; - UA_UInt32 size = ns->size; - UA_NodeMapSlot *slots = ns->slots; - for(UA_UInt32 i = 0; i < size; ++i) { - if(slots[i].entry > UA_NODEMAP_TOMBSTONE) { - /* On debugging builds, check that all nodes were release */ - UA_assert(slots[i].entry->refCount == 0); - /* Delete the node */ - deleteNodeMapEntry(slots[i].entry); - } - } - UA_free(ns->slots); - - /* Clean up the ReferenceTypes index array */ - for(size_t i = 0; i < ns->referenceTypeCounter; i++) - UA_NodeId_clear(&ns->referenceTypeIds[i]); - - UA_free(ns); -} - -UA_StatusCode -UA_Nodestore_HashMap(UA_Nodestore *ns) { - /* Allocate and initialize the nodemap */ - UA_NodeMap *nodemap = (UA_NodeMap*)UA_malloc(sizeof(UA_NodeMap)); - if(!nodemap) - return UA_STATUSCODE_BADOUTOFMEMORY; - nodemap->sizePrimeIndex = higher_prime_index(UA_NODEMAP_MINSIZE); - nodemap->size = primes[nodemap->sizePrimeIndex]; - nodemap->count = 0; - nodemap->slots = (UA_NodeMapSlot*) - UA_calloc(nodemap->size, sizeof(UA_NodeMapSlot)); - if(!nodemap->slots) { - UA_free(nodemap); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - nodemap->referenceTypeCounter = 0; - - /* Populate the nodestore */ - ns->context = nodemap; - ns->clear = UA_NodeMap_delete; - ns->newNode = UA_NodeMap_newNode; - ns->deleteNode = UA_NodeMap_deleteNode; - ns->getNode = UA_NodeMap_getNode; - ns->getNodeFromPtr = UA_NodeMap_getNodeFromPtr; - ns->releaseNode = UA_NodeMap_releaseNode; - ns->getNodeCopy = UA_NodeMap_getNodeCopy; - ns->insertNode = UA_NodeMap_insertNode; - ns->replaceNode = UA_NodeMap_replaceNode; - ns->removeNode = UA_NodeMap_removeNode; - ns->getReferenceTypeId = UA_NodeMap_getReferenceTypeId; - ns->iterate = UA_NodeMap_iterate; - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/plugins/ua_config_default.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Julian Grothoff - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA - * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG - * Copyright 2018 (c) Fabian Arndt, Root-Core - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2017-2020 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2020 (c) Wind River Systems, Inc. - */ - - - -#include -#ifdef UA_ARCHITECTURE_WIN32 -# include -#else -# include -#endif - -/* Struct initialization works across ANSI C/C99/C++ if it is done when the - * variable is first declared. Assigning values to existing structs is - * heterogeneous across the three. */ -static UA_INLINE UA_UInt32Range -UA_UINT32RANGE(UA_UInt32 min, UA_UInt32 max) { - UA_UInt32Range range = {min, max}; - return range; -} - -static UA_INLINE UA_DurationRange -UA_DURATIONRANGE(UA_Duration min, UA_Duration max) { - UA_DurationRange range = {min, max}; - return range; -} - -/* Request the private key password from stdin if no callback is defined */ -#ifdef UA_ENABLE_ENCRYPTION -static UA_StatusCode -readPrivateKeyPassword(UA_ByteString *password) { - /* Read from stdin */ - char buf[256]; - fputs("Private key requires a password. Enter and press return: ", stdout); - char *s = fgets(buf, 256, stdin); - if(!s) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Get rid of any trailing \n */ - size_t len = strlen(buf); - if(len == 0) - return UA_STATUSCODE_BADINTERNALERROR; - if(buf[len-1] == '\n') - buf[len-1] = 0; - - *password = UA_BYTESTRING_ALLOC(buf); - return UA_STATUSCODE_GOOD; -} -#endif - -UA_Server * -UA_Server_new(void) { - UA_ServerConfig config; - memset(&config, 0, sizeof(UA_ServerConfig)); - UA_StatusCode res = UA_ServerConfig_setDefault(&config); - if(res != UA_STATUSCODE_GOOD) - return NULL; - return UA_Server_newWithConfig(&config); -} - -#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) - -/* Required for the definition of SIGINT */ -#include - -struct InterruptContext { - UA_Server *server; - UA_Boolean running; -}; - -static void -shutdownServer(UA_Server *server, void *context) { - struct InterruptContext *ic = (struct InterruptContext*)context; - UA_ServerConfig *config = UA_Server_getConfig(ic->server); - UA_LOG_INFO(config->logging, UA_LOGCATEGORY_USERLAND, - "Stopping the server"); - ic->running = false; -} - -static void -interruptServer(UA_InterruptManager *im, uintptr_t interruptHandle, - void *context, const UA_KeyValueMap *parameters) { - struct InterruptContext *ic = (struct InterruptContext*)context; - UA_ServerConfig *config = UA_Server_getConfig(ic->server); - - if(config->shutdownDelay <= 0.0) { - UA_LOG_INFO(config->logging, UA_LOGCATEGORY_USERLAND, - "Received SIGINT interrupt. Stopping the server."); - ic->running = false; - return; - } - - UA_LOG_INFO(config->logging, UA_LOGCATEGORY_USERLAND, - "Received SIGINT interrupt. Stopping the server in %.2fs.", - config->shutdownDelay / 1000.0); - - UA_UInt32 secondsTillShutdown = (UA_UInt32)(config->shutdownDelay / 1000.0); - UA_Variant val; - UA_Variant_setScalar(&val, &secondsTillShutdown, &UA_TYPES[UA_TYPES_UINT32]); - UA_Server_writeValue(ic->server, - UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS_SECONDSTILLSHUTDOWN), val); - UA_Server_addTimedCallback(ic->server, shutdownServer, ic, UA_DateTime_nowMonotonic() + - (UA_DateTime)(config->shutdownDelay * UA_DATETIME_MSEC), - NULL); - - /* Notify the application that the server is stopping */ - if(config->notifyLifecycleState) - config->notifyLifecycleState(ic->server, UA_LIFECYCLESTATE_STOPPING); -} - -UA_StatusCode -UA_Server_runUntilInterrupt(UA_Server *server) { - if(!server) - return UA_STATUSCODE_BADINTERNALERROR; - UA_ServerConfig *config = UA_Server_getConfig(server); - UA_EventLoop *el = config->eventLoop; - if(!el) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Get the interrupt manager */ - UA_EventSource *es = el->eventSources; - while(es) { - if(es->eventSourceType == UA_EVENTSOURCETYPE_INTERRUPTMANAGER) - break; - es = es->next; - } - if(!es) { - UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_USERLAND, - "No Interrupt EventSource configured"); - return UA_STATUSCODE_BADINTERNALERROR; - } - UA_InterruptManager *im = (UA_InterruptManager*)es; - - /* Register the interrupt */ - struct InterruptContext ic; - ic.server = server; - ic.running = true; - UA_StatusCode retval = - im->registerInterrupt(im, SIGINT, &UA_KEYVALUEMAP_NULL, - interruptServer, &ic); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not register the interrupt with status code %s", - UA_StatusCode_name(retval)); - return retval; - } - - /* Run the server */ - retval = UA_Server_run_startup(server); - if(retval != UA_STATUSCODE_GOOD) - goto deregister_interrupt; - while(ic.running) { - UA_Server_run_iterate(server, true); - } - - /* Shut down the server */ - retval = UA_Server_run_shutdown(server); - - /* Deregister the interrupt */ - deregister_interrupt: - im->deregisterInterrupt(im, SIGINT); - return retval; -} - -#endif /* defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) */ - -/*******************************/ -/* Default Connection Settings */ -/*******************************/ - -const UA_ConnectionConfig UA_ConnectionConfig_default = { - 0, /* .protocolVersion */ - 1 << 16, /* .sendBufferSize, 64k per chunk */ - 1 << 16, /* .recvBufferSize, 64k per chunk */ - 1 << 29, /* .localMaxMessageSize, 512 MB */ - 1 << 29, /* .remoteMaxMessageSize, 512 MB */ - 1 << 14, /* .localMaxChunkCount, 16k */ - 1 << 14 /* .remoteMaxChunkCount, 16k */ -}; - -/***************************/ -/* Default Server Settings */ -/***************************/ - -#define MANUFACTURER_NAME "open62541" -#define PRODUCT_NAME "open62541 OPC UA Server" -#define PRODUCT_URI "http://open62541.org" -#define APPLICATION_NAME "open62541-based OPC UA Application" -#define APPLICATION_URI "urn:unconfigured:application" -#define APPLICATION_URI_SERVER "urn:open62541.server.application" - -#define SECURITY_POLICY_SIZE 6 - -#define STRINGIFY(arg) #arg -#define VERSION(MAJOR, MINOR, PATCH, LABEL) \ - STRINGIFY(MAJOR) "." STRINGIFY(MINOR) "." STRINGIFY(PATCH) LABEL - -static UA_StatusCode -addEndpoint(UA_ServerConfig *conf, - const UA_SecurityPolicy *securityPolicy, - UA_MessageSecurityMode securityMode) { - /* Test if the endpoint already exists */ - for(size_t i = 0; i < conf->endpointsSize; i++) { - UA_EndpointDescription *ep = &conf->endpoints[i]; - if(!UA_String_equal(&securityPolicy->policyUri, &ep->securityPolicyUri)) - continue; - if(ep->securityMode != securityMode) - continue; - return UA_STATUSCODE_GOOD; - } - - /* Reallocate the array size */ - UA_EndpointDescription *tmp = (UA_EndpointDescription *) - UA_realloc(conf->endpoints, - sizeof(UA_EndpointDescription) * (1 + conf->endpointsSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - conf->endpoints = tmp; - - /* The following fields are overwritten internally with up-to-date - * information from the server config: - * - * UserTokenPolicies - * ApplicationDescription (server) - * ServerCertificate - * EndpointURL */ - UA_EndpointDescription *endpoint = &conf->endpoints[conf->endpointsSize]; - UA_EndpointDescription_init(endpoint); - endpoint->transportProfileUri = - UA_STRING_ALLOC("http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary"); - endpoint->securityMode = securityMode; - - /* A numeric value that indicates how secure the EndpointDescription is compared to other EndpointDescriptions - * for the same Server. A value of 0 indicates that the EndpointDescription is not recommended and is only - * supported for backward compatibility. A higher value indicates better security. */ - UA_String noneuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - UA_String basic128uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"); - UA_String basic256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256"); - if(UA_String_equal(&securityPolicy->policyUri, &noneuri) || - UA_String_equal(&securityPolicy->policyUri, &basic128uri) || - UA_String_equal(&securityPolicy->policyUri, &basic256uri)) { - endpoint->securityLevel = 0; - } else { - endpoint->securityLevel = 1; - } - - UA_StatusCode retval = UA_String_copy(&securityPolicy->policyUri, - &endpoint->securityPolicyUri); - - if(retval == UA_STATUSCODE_GOOD) { - conf->endpointsSize++; - } else { - UA_EndpointDescription_clear(endpoint); - if(conf->endpointsSize == 0) { - UA_free(conf->endpoints); - conf->endpoints = NULL; - } - } - - return retval; -} - -static UA_StatusCode -setDefaultConfig(UA_ServerConfig *conf, UA_UInt16 portNumber) { - if(!conf) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* NodeStore */ - if(conf->nodestore.context == NULL) - UA_Nodestore_HashMap(&conf->nodestore); - - /* Logging */ - if(conf->logging == NULL) - conf->logging = UA_Log_Stdout_new(UA_LOGLEVEL_INFO); - - /* EventLoop */ - if(conf->eventLoop == NULL) { - conf->eventLoop = UA_EventLoop_new_POSIX(conf->logging); - if(conf->eventLoop == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - conf->externalEventLoop = false; - - /* Add the TCP connection manager */ - UA_ConnectionManager *tcpCM = - UA_ConnectionManager_new_POSIX_TCP(UA_STRING("tcp connection manager")); - if(tcpCM) - conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)tcpCM); - - /* Add the UDP connection manager */ - UA_ConnectionManager *udpCM = - UA_ConnectionManager_new_POSIX_UDP(UA_STRING("udp connection manager")); - if(udpCM) - conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)udpCM); - - /* Add the Ethernet connection manager */ -#if defined(UA_ARCHITECTURE_POSIX) && (defined(__linux__)) - UA_ConnectionManager *ethCM = - UA_ConnectionManager_new_POSIX_Ethernet(UA_STRING("eth connection manager")); - if(ethCM) - conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)ethCM); -#endif - - /* Add the interrupt manager */ - UA_InterruptManager *im = UA_InterruptManager_new_POSIX(UA_STRING("interrupt manager")); - if(im) { - conf->eventLoop->registerEventSource(conf->eventLoop, &im->eventSource); - } else { - UA_LOG_WARNING(conf->logging, UA_LOGCATEGORY_USERLAND, - "Cannot create the Interrupt Manager (only relevant if used)"); - } -#ifdef UA_ENABLE_MQTT - /* Add the MQTT connection manager */ - UA_ConnectionManager *mqttCM = - UA_ConnectionManager_new_MQTT(UA_STRING("mqtt connection manager")); - if(mqttCM) - conf->eventLoop->registerEventSource(conf->eventLoop, (UA_EventSource *)mqttCM); -#endif - } - if(conf->eventLoop != NULL) { - if(conf->eventLoop->state != UA_EVENTLOOPSTATE_STARTED) { - UA_StatusCode statusCode = conf->eventLoop->start(conf->eventLoop); - if(statusCode != UA_STATUSCODE_GOOD) { - return statusCode; - } - } - } - - /* If a second server is started later it can "steal" the port. - * Having port reuse enabled is important for development. - * Otherwise a long TCP TIME_WAIT is required before the port can be used again. */ - conf->tcpReuseAddr = true; - - /* --> Start setting the default static config <-- */ - - conf->shutdownDelay = 0.0; - - /* Server Description */ - UA_BuildInfo_clear(&conf->buildInfo); - conf->buildInfo.productUri = UA_STRING_ALLOC(PRODUCT_URI); - conf->buildInfo.manufacturerName = UA_STRING_ALLOC(MANUFACTURER_NAME); - conf->buildInfo.productName = UA_STRING_ALLOC(PRODUCT_NAME); - conf->buildInfo.softwareVersion = - UA_STRING_ALLOC(VERSION(UA_OPEN62541_VER_MAJOR, UA_OPEN62541_VER_MINOR, - UA_OPEN62541_VER_PATCH, UA_OPEN62541_VER_LABEL)); - conf->buildInfo.buildNumber = UA_STRING_ALLOC(__DATE__ " " __TIME__); - conf->buildInfo.buildDate = UA_DateTime_now(); - - UA_ApplicationDescription_clear(&conf->applicationDescription); - conf->applicationDescription.applicationUri = UA_STRING_ALLOC(APPLICATION_URI_SERVER); - conf->applicationDescription.productUri = UA_STRING_ALLOC(PRODUCT_URI); - conf->applicationDescription.applicationName = - UA_LOCALIZEDTEXT_ALLOC("en", APPLICATION_NAME); - conf->applicationDescription.applicationType = UA_APPLICATIONTYPE_SERVER; - /* conf->applicationDescription.gatewayServerUri = UA_STRING_NULL; */ - /* conf->applicationDescription.discoveryProfileUri = UA_STRING_NULL; */ - /* conf->applicationDescription.discoveryUrlsSize = 0; */ - /* conf->applicationDescription.discoveryUrls = NULL; */ - -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_MdnsDiscoveryConfiguration_clear(&conf->mdnsConfig); - conf->mdnsInterfaceIP = UA_STRING_NULL; -# if !defined(UA_HAS_GETIFADDR) - conf->mdnsIpAddressList = NULL; - conf->mdnsIpAddressListSize = 0; -# endif -#endif - - /* Custom DataTypes */ - /* conf->customDataTypesSize = 0; */ - /* conf->customDataTypes = NULL; */ - - /* Networking */ - /* Set up the local ServerUrls. They are used during startup to initialize - * the server sockets. */ - UA_String serverUrls[1]; - size_t serverUrlsSize = 0; - char serverUrlBuffer[1][512]; - - if(portNumber == 0) { - UA_LOG_WARNING(conf->logging, UA_LOGCATEGORY_USERLAND, - "Dynamic port assignment will be used."); - } - - if(conf->serverUrlsSize > 0) { - UA_LOG_WARNING(conf->logging, UA_LOGCATEGORY_USERLAND, - "ServerUrls already set. Overriding."); - UA_Array_delete(conf->serverUrls, conf->serverUrlsSize, - &UA_TYPES[UA_TYPES_STRING]); - conf->serverUrls = NULL; - conf->serverUrlsSize = 0; - } - - /* Listen on all interfaces (also external). This must be the first - * entry if this is desired. Otherwise some interfaces may be blocked - * (already in use) with a hostname that is only locally reachable.*/ - mp_snprintf(serverUrlBuffer[0], sizeof(serverUrlBuffer[0]), - "opc.tcp://:%u", portNumber); - serverUrls[serverUrlsSize] = UA_STRING(serverUrlBuffer[0]); - serverUrlsSize++; - - /* Add to the config */ - UA_StatusCode retval = - UA_Array_copy(serverUrls, serverUrlsSize, - (void**)&conf->serverUrls, &UA_TYPES[UA_TYPES_STRING]); - if(retval != UA_STATUSCODE_GOOD) - return retval; - conf->serverUrlsSize = serverUrlsSize; - - /* Endpoints */ - /* conf->endpoints = {0, NULL}; */ - - /* Set Logger for Certificate Verification */ - if(!conf->secureChannelPKI.logging) - conf->secureChannelPKI.logging = conf->logging; - if(!conf->sessionPKI.logging) - conf->sessionPKI.logging = conf->logging; - - /* Certificate Verification that accepts every certificate. Can be - * overwritten when the policy is specialized. */ - if(conf->secureChannelPKI.clear) - conf->secureChannelPKI.clear(&conf->secureChannelPKI); - UA_CertificateVerification_AcceptAll(&conf->secureChannelPKI); - - if(conf->sessionPKI.clear) - conf->sessionPKI.clear(&conf->sessionPKI); - UA_CertificateVerification_AcceptAll(&conf->sessionPKI); - - /* * Global Node Lifecycle * */ - /* conf->nodeLifecycle.constructor = NULL; */ - /* conf->nodeLifecycle.destructor = NULL; */ - /* conf->nodeLifecycle.createOptionalChild = NULL; */ - /* conf->nodeLifecycle.generateChildNodeId = NULL; */ - conf->modellingRulesOnInstances = true; - - /* Limits for SecureChannels */ - conf->maxSecureChannels = 100; - conf->maxSecurityTokenLifetime = 10 * 60 * 1000; /* 10 minutes */ - - /* Limits for Sessions */ - conf->maxSessions = 100; - conf->maxSessionTimeout = 60.0 * 60.0 * 1000.0; /* 1h */ - -#ifdef UA_ENABLE_SUBSCRIPTIONS - /* Limits for Subscriptions */ - conf->publishingIntervalLimits = UA_DURATIONRANGE(100.0, 3600.0 * 1000.0); - conf->lifeTimeCountLimits = UA_UINT32RANGE(3, 15000); - conf->keepAliveCountLimits = UA_UINT32RANGE(1, 100); - conf->maxNotificationsPerPublish = 1000; - conf->enableRetransmissionQueue = true; - conf->maxRetransmissionQueueSize = 0; /* unlimited */ -# ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - conf->maxEventsPerNode = 0; /* unlimited */ -# endif - - /* Limits for MonitoredItems */ - conf->samplingIntervalLimits = UA_DURATIONRANGE(50.0, 24.0 * 3600.0 * 1000.0); - conf->queueSizeLimits = UA_UINT32RANGE(1, 100); -#endif - -#ifdef UA_ENABLE_DISCOVERY - conf->discoveryCleanupTimeout = 60 * 60; -#endif - -#ifdef UA_ENABLE_HISTORIZING - /* conf->accessHistoryDataCapability = false; */ - /* conf->maxReturnDataValues = 0; */ - - /* conf->accessHistoryEventsCapability = false; */ - /* conf->maxReturnEventValues = 0; */ - - /* conf->insertDataCapability = false; */ - /* conf->insertEventCapability = false; */ - /* conf->insertAnnotationsCapability = false; */ - - /* conf->replaceDataCapability = false; */ - /* conf->replaceEventCapability = false; */ - - /* conf->updateDataCapability = false; */ - /* conf->updateEventCapability = false; */ - - /* conf->deleteRawCapability = false; */ - /* conf->deleteEventCapability = false; */ - /* conf->deleteAtTimeDataCapability = false; */ -#endif - -#if UA_MULTITHREADING >= 100 - conf->maxAsyncOperationQueueSize = 0; - conf->asyncOperationTimeout = 120000; /* Async Operation Timeout in ms (2 minutes) */ -#endif - -#ifdef UA_ENABLE_PUBSUB - conf->pubSubConfig.enableDeltaFrames = true; -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - conf->pubSubConfig.enableInformationModelMethods = true; -#endif -#endif - - /* --> Finish setting the default static config <-- */ - - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setBasics(UA_ServerConfig* conf) { - return UA_ServerConfig_setBasics_withPort(conf, 4840); -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setBasics_withPort(UA_ServerConfig* conf, UA_UInt16 portNumber) { - return setDefaultConfig(conf, portNumber); -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyNone(UA_ServerConfig *config, - const UA_ByteString *certificate) { - /* Allocate the SecurityPolicies */ - UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) - UA_realloc(config->securityPolicies, - sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = tmp; - - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - if(certificate) - localCertificate = *certificate; - UA_StatusCode retval = - UA_SecurityPolicy_None(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - return retval; - } - - config->securityPoliciesSize++; - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addEndpoint(UA_ServerConfig *config, const UA_String securityPolicyUri, - UA_MessageSecurityMode securityMode) { - /* Lookup the security policy */ - const UA_SecurityPolicy *policy = NULL; - for (size_t i = 0; i < config->securityPoliciesSize; ++i) { - if (UA_String_equal(&securityPolicyUri, &config->securityPolicies[i].policyUri)) { - policy = &config->securityPolicies[i]; - break; - } - } - if(!policy) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Populate the endpoint */ - return addEndpoint(config, policy, securityMode); -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addAllEndpoints(UA_ServerConfig *config) { - /* Populate the endpoints */ - for(size_t i = 0; i < config->securityPoliciesSize; ++i) { - if(UA_String_equal(&UA_SECURITY_POLICY_NONE_URI, &config->securityPolicies[i].policyUri)) { - UA_StatusCode retval = - addEndpoint(config, &config->securityPolicies[i], UA_MESSAGESECURITYMODE_NONE); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } else { - UA_StatusCode retval = - addEndpoint(config, &config->securityPolicies[i], UA_MESSAGESECURITYMODE_SIGN); - if(retval != UA_STATUSCODE_GOOD) - return retval; - retval = addEndpoint(config, &config->securityPolicies[i], - UA_MESSAGESECURITYMODE_SIGNANDENCRYPT); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - } - - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addAllSecureEndpoints(UA_ServerConfig *config) { - UA_String noneuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - UA_String basic128uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"); - UA_String basic256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256"); - - /* Delete all predefined endpoints. */ - if(config->endpointsSize > 0) { - for(size_t i = 0; i < config->endpointsSize; ++i) - UA_EndpointDescription_clear(&config->endpoints[i]); - - UA_free(config->endpoints); - config->endpoints = NULL; - config->endpointsSize = 0; - } - - /* Populate the endpoints */ - for(size_t i = 0; i < config->securityPoliciesSize; ++i) { - /* Skip the None and all deprecated policies */ - if(UA_String_equal(&config->securityPolicies[i].policyUri, &noneuri) || - UA_String_equal(&config->securityPolicies[i].policyUri, &basic128uri) || - UA_String_equal(&config->securityPolicies[i].policyUri, &basic256uri)) { - continue; - } - UA_StatusCode retval = - addEndpoint(config, &config->securityPolicies[i], UA_MESSAGESECURITYMODE_SIGN); - if(retval != UA_STATUSCODE_GOOD) - return retval; - retval = addEndpoint(config, &config->securityPolicies[i], - UA_MESSAGESECURITYMODE_SIGNANDENCRYPT); - if(retval != UA_STATUSCODE_GOOD) - return retval; - } - - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setMinimalCustomBuffer(UA_ServerConfig *config, UA_UInt16 portNumber, - const UA_ByteString *certificate, - UA_UInt32 sendBufferSize, - UA_UInt32 recvBufferSize) { - if(!config) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_StatusCode retval = setDefaultConfig(config, portNumber); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(config); - return retval; - } - - /* Set the TCP settings */ - config->tcpBufSize = recvBufferSize; - - /* Allocate the SecurityPolicies */ - retval = UA_ServerConfig_addSecurityPolicyNone(config, certificate); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(config); - return retval; - } - - /* Initialize the Access Control plugin */ - retval = UA_AccessControl_default(config, true, NULL, 0, NULL); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(config); - return retval; - } - - /* Allocate the endpoint */ - retval = UA_ServerConfig_addEndpoint(config, UA_SECURITY_POLICY_NONE_URI, - UA_MESSAGESECURITYMODE_NONE); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(config); - return retval; - } - - return UA_STATUSCODE_GOOD; -} - -#ifdef UA_ENABLE_ENCRYPTION - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyBasic128Rsa15(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - /* Allocate the SecurityPolicies */ - UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) - UA_realloc(config->securityPolicies, - sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = tmp; - - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; - if(certificate) - localCertificate = *certificate; - if(privateKey) - localPrivateKey = *privateKey; - UA_StatusCode retval = - UA_SecurityPolicy_Basic128Rsa15(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, localPrivateKey, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - return retval; - } - - config->securityPoliciesSize++; - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyBasic256(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - /* Allocate the SecurityPolicies */ - UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) - UA_realloc(config->securityPolicies, - sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = tmp; - - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; - if(certificate) - localCertificate = *certificate; - if(privateKey) - localPrivateKey = *privateKey; - UA_StatusCode retval = - UA_SecurityPolicy_Basic256(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, localPrivateKey, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - return retval; - } - - config->securityPoliciesSize++; - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyBasic256Sha256(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - /* Allocate the SecurityPolicies */ - UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) - UA_realloc(config->securityPolicies, - sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = tmp; - - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; - if(certificate) - localCertificate = *certificate; - if(privateKey) - localPrivateKey = *privateKey; - UA_StatusCode retval = - UA_SecurityPolicy_Basic256Sha256(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, localPrivateKey, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - return retval; - } - - config->securityPoliciesSize++; - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - /* Allocate the SecurityPolicies */ - UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) - UA_realloc(config->securityPolicies, - sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = tmp; - - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; - if(certificate) - localCertificate = *certificate; - if(privateKey) - localPrivateKey = *privateKey; - UA_StatusCode retval = - UA_SecurityPolicy_Aes128Sha256RsaOaep(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, localPrivateKey, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - return retval; - } - - config->securityPoliciesSize++; - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - /* Allocate the SecurityPolicies */ - UA_SecurityPolicy *tmp = (UA_SecurityPolicy *) - UA_realloc(config->securityPolicies, - sizeof(UA_SecurityPolicy) * (1 + config->securityPoliciesSize)); - if(!tmp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = tmp; - - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; - if(certificate) - localCertificate = *certificate; - if(privateKey) - localPrivateKey = *privateKey; - UA_StatusCode retval = - UA_SecurityPolicy_Aes256Sha256RsaPss(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, localPrivateKey, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - return retval; - } - - config->securityPoliciesSize++; - return UA_STATUSCODE_GOOD; -} - -/* Always returns UA_STATUSCODE_GOOD. Logs a warning if policies could not be added. */ -static UA_StatusCode -addAllSecurityPolicies(UA_ServerConfig *config, const UA_ByteString *certificate, - const UA_ByteString *privateKey, UA_Boolean onlySecure) { - /* Populate the SecurityPolicies */ - UA_ByteString localCertificate = UA_BYTESTRING_NULL; - UA_ByteString localPrivateKey = UA_BYTESTRING_NULL; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(certificate) - localCertificate = *certificate; - if(privateKey) - localPrivateKey = *privateKey; - - /* Load the private key and convert to the DER format. Use an empty password - * on the first try -- maybe the key does not require a password. */ - UA_ByteString decryptedPrivateKey = UA_BYTESTRING_NULL; - UA_ByteString keyPassword = UA_BYTESTRING_NULL; - UA_StatusCode keySuccess = UA_STATUSCODE_GOOD; - - if (privateKey && privateKey->length > 0) - keySuccess = UA_PKI_decryptPrivateKey(localPrivateKey, keyPassword, - &decryptedPrivateKey); - - /* Get the password and decrypt. An application might want to loop / retry - * here to allow users to correct their entry. */ - if(keySuccess != UA_STATUSCODE_GOOD) { - if(config->privateKeyPasswordCallback) - keySuccess = config->privateKeyPasswordCallback(config, &keyPassword); - else - keySuccess = readPrivateKeyPassword(&keyPassword); - if(keySuccess != UA_STATUSCODE_GOOD) - return keySuccess; - keySuccess = UA_PKI_decryptPrivateKey(localPrivateKey, keyPassword, - &decryptedPrivateKey); - UA_ByteString_memZero(&keyPassword); - UA_ByteString_clear(&keyPassword); - } - if(keySuccess != UA_STATUSCODE_GOOD) - return keySuccess; - - /* Basic256Sha256 */ - retval = UA_ServerConfig_addSecurityPolicyBasic256Sha256(config, &localCertificate, - &decryptedPrivateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Basic256Sha256 with error code %s", - UA_StatusCode_name(retval)); - } - - /* Aes256Sha256RsaPss */ - retval = UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(config, &localCertificate, - &decryptedPrivateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", - UA_StatusCode_name(retval)); - } - - /* Aes128Sha256RsaOaep */ - retval = UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(config, &localCertificate, - &decryptedPrivateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", - UA_StatusCode_name(retval)); - } - - if(onlySecure) { - UA_ByteString_memZero(&decryptedPrivateKey); - UA_ByteString_clear(&decryptedPrivateKey); - return UA_STATUSCODE_GOOD; - } - - /* None */ - retval = UA_ServerConfig_addSecurityPolicyNone(config, &localCertificate); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#None with error code %s", - UA_StatusCode_name(retval)); - } - - /* Basic128Rsa15 should no longer be used */ - /* retval = UA_ServerConfig_addSecurityPolicyBasic128Rsa15(config, &localCertificate, */ - /* &decryptedPrivateKey); */ - /* if(retval != UA_STATUSCODE_GOOD) { */ - /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ - /* "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", */ - /* UA_StatusCode_name(retval)); */ - /* } */ - - /* Basic256 should no longer be used */ - /* retval = UA_ServerConfig_addSecurityPolicyBasic256(config, &localCertificate, */ - /* &decryptedPrivateKey); */ - /* if(retval != UA_STATUSCODE_GOOD) { */ - /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ - /* "Could not add SecurityPolicy#Basic256 with error code %s", */ - /* UA_StatusCode_name(retval)); */ - /* } */ - - UA_ByteString_memZero(&decryptedPrivateKey); - UA_ByteString_clear(&decryptedPrivateKey); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_ServerConfig_addAllSecurityPolicies(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - return addAllSecurityPolicies(config, certificate, privateKey, false); -} - -/* Always returns UA_STATUSCODE_GOOD. Logs a warning if policies could not be added. */ -UA_StatusCode -UA_ServerConfig_addAllSecureSecurityPolicies(UA_ServerConfig *config, - const UA_ByteString *certificate, - const UA_ByteString *privateKey) { - return addAllSecurityPolicies(config, certificate, privateKey, true); - -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setDefaultWithSecurityPolicies(UA_ServerConfig *conf, - UA_UInt16 portNumber, - const UA_ByteString *certificate, - const UA_ByteString *privateKey, - const UA_ByteString *trustList, - size_t trustListSize, - const UA_ByteString *issuerList, - size_t issuerListSize, - const UA_ByteString *revocationList, - size_t revocationListSize) { - UA_StatusCode retval = setDefaultConfig(conf, portNumber); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(conf); - return retval; - } - - if(conf->sessionPKI.clear) - conf->sessionPKI.clear(&conf->sessionPKI); - retval = UA_CertificateVerification_Trustlist(&conf->sessionPKI, - trustList, trustListSize, - issuerList, issuerListSize, - revocationList, revocationListSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - retval = UA_CertificateVerification_Trustlist(&conf->secureChannelPKI, - trustList, trustListSize, - issuerList, issuerListSize, - revocationList, revocationListSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - retval = UA_ServerConfig_addAllSecurityPolicies(conf, certificate, privateKey); - - if(retval == UA_STATUSCODE_GOOD) { - retval = UA_AccessControl_default(conf, true, NULL, 0, NULL); - } - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(conf); - return retval; - } - - retval = UA_ServerConfig_addAllEndpoints(conf); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(conf); - return retval; - } - - return UA_STATUSCODE_GOOD; -} - -UA_EXPORT UA_StatusCode -UA_ServerConfig_setDefaultWithSecureSecurityPolicies(UA_ServerConfig *conf, - UA_UInt16 portNumber, - const UA_ByteString *certificate, - const UA_ByteString *privateKey, - const UA_ByteString *trustList, - size_t trustListSize, - const UA_ByteString *issuerList, - size_t issuerListSize, - const UA_ByteString *revocationList, - size_t revocationListSize) { - UA_StatusCode retval = setDefaultConfig(conf, portNumber); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(conf); - return retval; - } - - retval = UA_CertificateVerification_Trustlist(&conf->sessionPKI, - trustList, trustListSize, - issuerList, issuerListSize, - revocationList, revocationListSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - retval = UA_CertificateVerification_Trustlist(&conf->secureChannelPKI, - trustList, trustListSize, - issuerList, issuerListSize, - revocationList, revocationListSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - retval = UA_ServerConfig_addAllSecureSecurityPolicies(conf, certificate, privateKey); - - if(retval == UA_STATUSCODE_GOOD) { - retval = UA_AccessControl_default(conf, false, NULL, 0, NULL); - } - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(conf); - return retval; - } - - retval = UA_ServerConfig_addAllSecureEndpoints(conf); - if(retval != UA_STATUSCODE_GOOD) { - UA_ServerConfig_clean(conf); - return retval; - } - conf->securityPolicyNoneDiscoveryOnly = true; - - return UA_STATUSCODE_GOOD; -} - -#endif - -/***************************/ -/* Default Client Settings */ -/***************************/ - -UA_Client * UA_Client_new(void) { - UA_ClientConfig config; - memset(&config, 0, sizeof(UA_ClientConfig)); - /* Set up basic usable config including logger and event loop */ - UA_StatusCode res = UA_ClientConfig_setDefault(&config); - if(res != UA_STATUSCODE_GOOD) - return NULL; - return UA_Client_newWithConfig(&config); -} - -UA_StatusCode -UA_ClientConfig_setDefault(UA_ClientConfig *config) { - /* The following fields are untouched and OK to leave as NULL or 0: - * clientContext - * userIdentityToken - * securityMode - * securityPolicyUri - * endpoint - * userTokenPolicy - * customDataTypes - * connectivityCheckInterval - * stateCallback - * inactivityCallback - * outStandingPublishRequests - * subscriptionInactivityCallback - * sessionLocaleIds - * sessionLocaleIdsSize */ - - if(config->timeout == 0) - config->timeout = 5 * 1000; /* 5 seconds */ - if(config->secureChannelLifeTime == 0) - config->secureChannelLifeTime = 10 * 60 * 1000; /* 10 minutes */ - - if(config->logging == NULL) - config->logging = UA_Log_Stdout_new(UA_LOGLEVEL_INFO); - - /* EventLoop */ - if(config->eventLoop == NULL) { - config->eventLoop = UA_EventLoop_new_POSIX(config->logging); - config->externalEventLoop = false; - - /* Add the TCP connection manager */ - UA_ConnectionManager *tcpCM = - UA_ConnectionManager_new_POSIX_TCP(UA_STRING("tcp connection manager")); - config->eventLoop->registerEventSource(config->eventLoop, (UA_EventSource *)tcpCM); - - /* Add the UDP connection manager */ - UA_ConnectionManager *udpCM = - UA_ConnectionManager_new_POSIX_UDP(UA_STRING("udp connection manager")); - config->eventLoop->registerEventSource(config->eventLoop, (UA_EventSource *)udpCM); - } - - if(config->localConnectionConfig.recvBufferSize == 0) - config->localConnectionConfig = UA_ConnectionConfig_default; - - if(!config->certificateVerification.logging) { - config->certificateVerification.logging = config->logging; - } - - if(!config->certificateVerification.verifyCertificate) { - /* Certificate Verification that accepts every certificate. Can be - * overwritten when the policy is specialized. */ - UA_CertificateVerification_AcceptAll(&config->certificateVerification); - } - - /* With encryption enabled, the applicationUri needs to match the URI from - * the certificate */ - if(!config->clientDescription.applicationUri.data) - config->clientDescription.applicationUri = UA_STRING_ALLOC(APPLICATION_URI); - if(config->clientDescription.applicationType == 0) - config->clientDescription.applicationType = UA_APPLICATIONTYPE_CLIENT; - - if(config->securityPoliciesSize == 0) { - config->securityPolicies = (UA_SecurityPolicy*)UA_malloc(sizeof(UA_SecurityPolicy)); - if(!config->securityPolicies) - return UA_STATUSCODE_BADOUTOFMEMORY; - UA_StatusCode retval = UA_SecurityPolicy_None(config->securityPolicies, - UA_BYTESTRING_NULL, config->logging); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - return retval; - } - config->securityPoliciesSize = 1; - } - - if(config->requestedSessionTimeout == 0) - config->requestedSessionTimeout = 1200000; - -#ifdef UA_ENABLE_SUBSCRIPTIONS - if(config->outStandingPublishRequests == 0) - config->outStandingPublishRequests = 10; -#endif - - return UA_STATUSCODE_GOOD; -} - -#ifdef UA_ENABLE_ENCRYPTION - -static UA_StatusCode -clientConfig_setAuthenticationSecurityPolicies(UA_ClientConfig *config, - UA_ByteString certificateAuth, - UA_ByteString privateKeyAuth) { - UA_SecurityPolicy *sp = (UA_SecurityPolicy*) - UA_realloc(config->authSecurityPolicies, sizeof(UA_SecurityPolicy) * 3); - if(!sp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->authSecurityPolicies = sp; - - /* Clean up old SecurityPolicies */ - for(size_t i = 0; i < config->authSecurityPoliciesSize; i++) { - config->authSecurityPolicies[i].clear(&config->authSecurityPolicies[i]); - } - config->authSecurityPoliciesSize = 0; - - /* Basic128Rsa15 is unsecure and should not be used */ - /* sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; */ - /* retval = UA_SecurityPolicy_Basic128Rsa15(sp, certificateAuth, privateKeyAuth, config->logging); */ - /* if(retval == UA_STATUSCODE_GOOD) { */ - /* ++config->authSecurityPoliciesSize; */ - /* } else { */ - /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ - /* "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", */ - /* UA_StatusCode_name(retval)); */ - /* } */ - - /* Basic256 is unsecure and should not be used */ - /* sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; */ - /* retval = UA_SecurityPolicy_Basic256(sp, certificateAuth, privateKeyAuth, config->logging); */ - /* if(retval == UA_STATUSCODE_GOOD) { */ - /* ++config->authSecurityPoliciesSize; */ - /* } else { */ - /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ - /* "Could not add SecurityPolicy#Basic256 with error code %s", */ - /* UA_StatusCode_name(retval)); */ - /* } */ - - UA_StatusCode retval; - sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; - retval = UA_SecurityPolicy_Aes256Sha256RsaPss(sp, certificateAuth, privateKeyAuth, config->logging); - if(retval == UA_STATUSCODE_GOOD) { - ++config->authSecurityPoliciesSize; - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", - UA_StatusCode_name(retval)); - } - - sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; - retval = UA_SecurityPolicy_Basic256Sha256(sp, certificateAuth, privateKeyAuth, config->logging); - if(retval == UA_STATUSCODE_GOOD) { - ++config->authSecurityPoliciesSize; - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Basic256Sha256 with error code %s", - UA_StatusCode_name(retval)); - } - - sp = &config->authSecurityPolicies[config->authSecurityPoliciesSize]; - retval = UA_SecurityPolicy_Aes128Sha256RsaOaep(sp, certificateAuth, privateKeyAuth, config->logging); - if(retval == UA_STATUSCODE_GOOD) { - ++config->authSecurityPoliciesSize; - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", - UA_StatusCode_name(retval)); - } - - if(config->authSecurityPoliciesSize == 0) { - UA_free(config->authSecurityPolicies); - config->authSecurityPolicies = NULL; - } - - return retval; -} - -UA_StatusCode -UA_ClientConfig_setDefaultEncryption(UA_ClientConfig *config, - UA_ByteString localCertificate, UA_ByteString privateKey, - const UA_ByteString *trustList, size_t trustListSize, - const UA_ByteString *revocationList, size_t revocationListSize) { - UA_StatusCode retval = UA_ClientConfig_setDefault(config); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - if(config->certificateVerification.clear) - config->certificateVerification.clear(&config->certificateVerification); - retval = UA_CertificateVerification_Trustlist(&config->certificateVerification, - trustList, trustListSize, - NULL, 0, - revocationList, revocationListSize); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Populate SecurityPolicies */ - UA_SecurityPolicy *sp = (UA_SecurityPolicy*) - UA_realloc(config->securityPolicies, sizeof(UA_SecurityPolicy) * SECURITY_POLICY_SIZE); - if(!sp) - return UA_STATUSCODE_BADOUTOFMEMORY; - config->securityPolicies = sp; - - /* Load the private key and convert to the DER format. Use an empty password - * on the first try -- maybe the key does not require a password. */ - UA_ByteString decryptedPrivateKey = UA_BYTESTRING_NULL; - UA_ByteString keyPassword = UA_BYTESTRING_NULL; - UA_StatusCode keySuccess = UA_STATUSCODE_GOOD; - - if (privateKey.length > 0) - keySuccess = UA_PKI_decryptPrivateKey(privateKey, keyPassword, - &decryptedPrivateKey); - - /* Get the password and decrypt. An application might want to loop / retry - * here to allow users to correct their entry. */ - if(keySuccess != UA_STATUSCODE_GOOD) { - if(config->privateKeyPasswordCallback) - keySuccess = config->privateKeyPasswordCallback(config, &keyPassword); - else - keySuccess = readPrivateKeyPassword(&keyPassword); - if(keySuccess != UA_STATUSCODE_GOOD) - return keySuccess; - keySuccess = UA_PKI_decryptPrivateKey(privateKey, keyPassword, &decryptedPrivateKey); - UA_ByteString_memZero(&keyPassword); - UA_ByteString_clear(&keyPassword); - } - if(keySuccess != UA_STATUSCODE_GOOD) - return keySuccess; - - /* Basic128Rsa15 should no longer be used */ - /* retval = UA_SecurityPolicy_Basic128Rsa15(&config->securityPolicies[config->securityPoliciesSize], */ - /* localCertificate, decryptedPrivateKey, config->logging); */ - /* if(retval == UA_STATUSCODE_GOOD) { */ - /* ++config->securityPoliciesSize; */ - /* } else { */ - /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ - /* "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", */ - /* UA_StatusCode_name(retval)); */ - /* } */ - - /* Basic256 should no longer be used */ - /* retval = UA_SecurityPolicy_Basic256(&config->securityPolicies[config->securityPoliciesSize], */ - /* localCertificate, decryptedPrivateKey, config->logging); */ - - /* if(retval == UA_STATUSCODE_GOOD) { */ - /* ++config->securityPoliciesSize; */ - /* } else { */ - /* UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, */ - /* "Could not add SecurityPolicy#Basic256 with error code %s", */ - /* UA_StatusCode_name(retval)); */ - /* } */ - - retval = UA_SecurityPolicy_Aes256Sha256RsaPss(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, decryptedPrivateKey, config->logging); - if(retval == UA_STATUSCODE_GOOD) { - ++config->securityPoliciesSize; - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", - UA_StatusCode_name(retval)); - } - - retval = UA_SecurityPolicy_Basic256Sha256(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, decryptedPrivateKey, config->logging); - if(retval == UA_STATUSCODE_GOOD) { - ++config->securityPoliciesSize; - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Basic256Sha256 with error code %s", - UA_StatusCode_name(retval)); - } - - retval = UA_SecurityPolicy_Aes128Sha256RsaOaep(&config->securityPolicies[config->securityPoliciesSize], - localCertificate, decryptedPrivateKey, config->logging); - if(retval == UA_STATUSCODE_GOOD) { - ++config->securityPoliciesSize; - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", - UA_StatusCode_name(retval)); - } - - /* Set the same certificate also for authentication. - * Can be overridden with a different certificate. */ - if(config->authSecurityPoliciesSize == 0) - clientConfig_setAuthenticationSecurityPolicies(config, localCertificate, - decryptedPrivateKey); - - UA_ByteString_memZero(&decryptedPrivateKey); - UA_ByteString_clear(&decryptedPrivateKey); - - if(config->securityPoliciesSize == 0) { - UA_free(config->securityPolicies); - config->securityPolicies = NULL; - } - - return UA_STATUSCODE_GOOD; -} -#endif - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_MBEDTLS) -UA_StatusCode -UA_ClientConfig_setAuthenticationCert(UA_ClientConfig *config, - UA_ByteString certificateAuth, - UA_ByteString privateKeyAuth) { -#ifdef UA_ENABLE_ENCRYPTION_LIBRESSL - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Certificate authentication with LibreSSL as crypto backend is not supported."); - return UA_STATUSCODE_BADNOTIMPLEMENTED; -#endif - - /* Create UserIdentityToken */ - UA_X509IdentityToken* identityToken = UA_X509IdentityToken_new(); - if(!identityToken) - return UA_STATUSCODE_BADOUTOFMEMORY; - /* Don't set identityToken->policyId. This is taken from the appropriate - * endpoint at runtime. */ - UA_StatusCode retval = UA_ByteString_copy(&certificateAuth, &identityToken->certificateData); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_ExtensionObject_clear(&config->userIdentityToken); - config->userIdentityToken.encoding = UA_EXTENSIONOBJECT_DECODED; - config->userIdentityToken.content.decoded.type = &UA_TYPES[UA_TYPES_X509IDENTITYTOKEN]; - config->userIdentityToken.content.decoded.data = identityToken; - - /* Populate SecurityPolicies */ - return clientConfig_setAuthenticationSecurityPolicies(config, certificateAuth, privateKeyAuth); -} -#endif - -/**** amalgamated original file "/plugins/ua_config_json.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2023 (c) Fraunhofer IOSB (Author: Noel Graf) - */ - -#ifdef UA_ENABLE_ENCRYPTION -#endif - -#define MAX_TOKENS 256 - -typedef struct { - const char *json; - const cj5_token *tokens; - cj5_result result; - unsigned int tokensSize; - size_t index; - UA_Byte depth; -} ParsingCtx; - -static UA_ByteString -getJsonPart(cj5_token tok, const char *json) { - UA_ByteString bs; - UA_ByteString_init(&bs); - if(tok.type == CJ5_TOKEN_STRING) { - bs.data = (UA_Byte*)(uintptr_t)(json + tok.start - 1); - bs.length = (tok.end - tok.start) + 3; - return bs; - } else { - bs.data = (UA_Byte*)(uintptr_t)(json + tok.start); - bs.length = (tok.end - tok.start) + 1; - return bs; - } -} - -/* Forward declarations*/ -#define PARSE_JSON(TYPE) static UA_StatusCode \ - TYPE##_parseJson(ParsingCtx *ctx, void *configField, size_t *configFieldSize) - -typedef UA_StatusCode -(*parseJsonSignature)(ParsingCtx *ctx, void *configField, size_t *configFieldSize); - -#ifdef UA_ENABLE_ENCRYPTION -static UA_ByteString -loadCertificateFile(const char *const path); -#endif - -/* The DataType "kind" is an internal type classification. It is used to - * dispatch handling to the correct routines. */ -#define UA_SERVERCONFIGFIELDKINDS 25 -typedef enum { - /* Basic Types */ - UA_SERVERCONFIGFIELD_INT64 = 0, - UA_SERVERCONFIGFIELD_UINT16, - UA_SERVERCONFIGFIELD_UINT32, - UA_SERVERCONFIGFIELD_UINT64, - UA_SERVERCONFIGFIELD_STRING, - UA_SERVERCONFIGFIELD_LOCALIZEDTEXT, - UA_SERVERCONFIGFIELD_DOUBLE, - UA_SERVERCONFIGFIELD_BOOLEAN, - UA_SERVERCONFIGFIELD_DURATION, - UA_SERVERCONFIGFIELD_DURATIONRANGE, - UA_SERVERCONFIGFIELD_UINT32RANGE, - - /* Advanced Types */ - UA_SERVERCONFIGFIELD_BUILDINFO, - UA_SERVERCONFIGFIELD_APPLICATIONDESCRIPTION, - UA_SERVERCONFIGFIELD_STRINGARRAY, - UA_SERVERCONFIGFIELD_UINT32ARRAY, - UA_SERVERCONFIGFIELD_DATETIME, - UA_SERVERCONFIGFIELD_SUBSCRIPTIONCONFIGURATION, - UA_SERVERCONFIGFIELD_TCPCONFIGURATION, - UA_SERVERCONFIGFIELD_PUBSUBCONFIGURATION, - UA_SERVERCONFIGFIELD_HISTORIZINGCONFIGURATION, - UA_SERVERCONFIGFIELD_MDNSCONFIGURATION, - UA_SERVERCONFIGFIELD_SECURITYPOLICIES, - UA_SERVERCONFIGFIELD_SECURITYPKI, - - /* Enumerations */ - UA_SERVERCONFIGFIELD_APPLICATIONTYPE, - UA_SERVERCONFIGFIELD_RULEHANDLING -} UA_ServerConfigFieldKind; - -extern const parseJsonSignature parseJsonJumpTable[UA_SERVERCONFIGFIELDKINDS]; - -/*----------------------Basic Types------------------------*/ -PARSE_JSON(Int64Field) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_Int64 out; - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_INT64], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_Int64 *field = (UA_Int64*)configField; - *field = out; - return retval; -} -PARSE_JSON(UInt16Field) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_UInt16 out; - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_UINT16], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_UInt16 *field = (UA_UInt16*)configField; - *field = out; - return retval; -} -PARSE_JSON(UInt32Field) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_UInt32 out; - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_UINT32], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_UInt32 *field = (UA_UInt32*)configField; - *field = out; - return retval; -} -PARSE_JSON(UInt64Field) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_UInt64 out; - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_UINT64], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_UInt64 *field = (UA_UInt64*)configField; - *field = out; - return retval; -} -PARSE_JSON(StringField) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_String out; - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_STRING], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_String *field = (UA_String*)configField; - if(field != NULL) { - UA_String_clear(field); - *field = out; - } - return retval; -} -PARSE_JSON(LocalizedTextField) { - /* - applicationName: { - locale: "de-DE", - text: "Test text" - } - */ - cj5_token tok = ctx->tokens[++ctx->index]; - UA_StatusCode retval = UA_STATUSCODE_GOOD; - UA_String locale; - UA_String text; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field, &str_len); - - tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - if(strcmp(field, "locale") == 0) - retval |= UA_decodeJson(&buf, &locale, &UA_TYPES[UA_TYPES_STRING], NULL); - else if(strcmp(field, "text") == 0) - retval |= UA_decodeJson(&buf, &text, &UA_TYPES[UA_TYPES_STRING], NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field); - break; - } - default: - break; - } - } - UA_LocalizedText out; - out.locale = locale; - out.text = text; - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_LocalizedText *field = (UA_LocalizedText*)configField; - if(field != NULL) { - UA_LocalizedText_clear(field); - *field = out; - } - return retval; -} -PARSE_JSON(DoubleField) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_Double out; - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_DOUBLE], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_Double *field = (UA_Double *)configField; - *field = out; - return retval; -} -PARSE_JSON(BooleanField) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_Boolean out; - if(tok.type != CJ5_TOKEN_BOOL) { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Value of type bool expected."); - return UA_STATUSCODE_BADTYPEMISMATCH; - } - UA_String val = UA_STRING("true"); - if(UA_String_equal(&val, &buf)) { - out = true; - }else { - out = false; - } - /* set server config field */ - UA_Boolean *field = (UA_Boolean *)configField; - *field = out; - return UA_STATUSCODE_GOOD; -} -PARSE_JSON(DurationField) { - UA_Double double_value; - UA_StatusCode retval = DoubleField_parseJson(ctx, &double_value, NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_Duration *field = (UA_Duration*)configField; - *field = (UA_Duration)double_value; - return retval; -} -PARSE_JSON(DurationRangeField) { - UA_DurationRange *field = (UA_DurationRange*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "min") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATION](ctx, &field->min, NULL); - else if(strcmp(field_str, "max") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATION](ctx, &field->max, NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } - return UA_STATUSCODE_GOOD; -} -PARSE_JSON(UInt32RangeField) { - UA_UInt32Range *field = (UA_UInt32Range*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "min") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &field->min, NULL); - else if(strcmp(field_str, "max") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &field->max, NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } - return UA_STATUSCODE_GOOD; -} - -/*----------------------Advanced Types------------------------*/ -PARSE_JSON(BuildInfo) { - UA_BuildInfo *field = (UA_BuildInfo*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "productUri") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->productUri, NULL); - else if(strcmp(field_str, "manufacturerName") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->manufacturerName, NULL); - else if(strcmp(field_str, "productName") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->productName, NULL); - else if(strcmp(field_str, "softwareVersion") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->softwareVersion, NULL); - else if(strcmp(field_str, "buildNumber") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->buildNumber, NULL); - else if(strcmp(field_str, "buildDate") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_DATETIME](ctx, &field->buildDate, NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } - return UA_STATUSCODE_GOOD; -} -PARSE_JSON(ApplicationDescriptionField) { - UA_ApplicationDescription *field = (UA_ApplicationDescription*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "applicationUri") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->applicationUri, NULL); - else if(strcmp(field_str, "productUri") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->productUri, NULL); - else if(strcmp(field_str, "applicationName") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_LOCALIZEDTEXT](ctx, &field->applicationName, NULL); - else if(strcmp(field_str, "applicationType") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_APPLICATIONTYPE](ctx, &field->applicationType, NULL); - else if(strcmp(field_str, "gatewayServerUri") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->gatewayServerUri, NULL); - else if(strcmp(field_str, "discoveryProfileUri") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &field->discoveryProfileUri, NULL); - else if(strcmp(field_str, "discoveryUrls") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRINGARRAY](ctx, &field->discoveryUrls, &field->discoveryUrlsSize); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } - return UA_STATUSCODE_GOOD; -} -PARSE_JSON(StringArrayField) { - if(configFieldSize == NULL) { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Pointer to the array size is not set."); - return UA_STATUSCODE_BADARGUMENTSMISSING; - } - cj5_token tok = ctx->tokens[++ctx->index]; - UA_String *stringArray = (UA_String*)UA_malloc(sizeof(UA_String) * tok.size); - size_t stringArraySize = 0; - for(size_t j = tok.size; j > 0; j--) { - UA_String out = {.length = 0, .data = NULL};; - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &out, NULL); - UA_String_copy(&out, &stringArray[stringArraySize++]); - UA_String_clear(&out); - } - /* Add to the config */ - UA_String **field = (UA_String**)configField; - if(*configFieldSize > 0) { - UA_Array_delete(*field, *configFieldSize, - &UA_TYPES[UA_TYPES_STRING]); - *field = NULL; - *configFieldSize = 0; - } - UA_StatusCode retval = - UA_Array_copy(stringArray, stringArraySize, - (void**)field, &UA_TYPES[UA_TYPES_STRING]); - *configFieldSize = stringArraySize; - - /* Clean up */ - UA_Array_delete(stringArray, stringArraySize, &UA_TYPES[UA_TYPES_STRING]); - return retval; -} -PARSE_JSON(UInt32ArrayField) { - if(configFieldSize == NULL) { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Pointer to the array size is not set."); - return UA_STATUSCODE_BADARGUMENTSMISSING; - } - cj5_token tok = ctx->tokens[++ctx->index]; - UA_UInt32 *numberArray = (UA_UInt32*)UA_malloc(sizeof(UA_UInt32) * tok.size);; - size_t numberArraySize = 0; - for(size_t j = tok.size; j > 0; j--) { - UA_UInt32 value; - UA_StatusCode retval = UInt32Field_parseJson(ctx, &value, NULL); - if(retval != UA_STATUSCODE_GOOD) - continue; - numberArray[numberArraySize++] = value; - } - /* Add to the config */ - UA_UInt32 **field = (UA_UInt32**)configField; - if(*configFieldSize > 0) { - UA_Array_delete(*field, *configFieldSize, - &UA_TYPES[UA_TYPES_UINT32]); - *field = NULL; - *configFieldSize = 0; - } - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(numberArraySize > 0) { - retval = UA_Array_copy(numberArray, numberArraySize, - (void **)field, &UA_TYPES[UA_TYPES_UINT32]); - *configFieldSize = numberArraySize; - } - /* Clean up */ - UA_Array_delete(numberArray, numberArraySize, &UA_TYPES[UA_TYPES_UINT32]); - return retval; -} -PARSE_JSON(DateTimeField) { - cj5_token tok = ctx->tokens[++ctx->index]; - UA_ByteString buf = getJsonPart(tok, ctx->json); - UA_DateTime out; - UA_DateTime_init(&out); - UA_StatusCode retval = UA_decodeJson(&buf, &out, &UA_TYPES[UA_TYPES_DATETIME], NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_DateTime *field = (UA_DateTime*)configField; - *field = out; - return retval; -} - -PARSE_JSON(MdnsConfigurationField) { -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - UA_ServerConfig *config = (UA_ServerConfig*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "mdnsServerName") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &config->mdnsConfig.mdnsServerName, NULL); - else if(strcmp(field_str, "serverCapabilities") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRINGARRAY](ctx, &config->mdnsConfig.serverCapabilities, &config->mdnsConfig.serverCapabilitiesSize); - else if(strcmp(field_str, "mdnsInterfaceIP") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &config->mdnsInterfaceIP, NULL); - /* mdnsIpAddressList and mdnsIpAddressListSize are only available if UA_HAS_GETIFADDR is not defined: */ -# if !defined(UA_HAS_GETIFADDR) - else if(strcmp(field_str, "mdnsIpAddressList") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32ARRAY](ctx, &config->mdnsIpAddressList, &config->mdnsIpAddressListSize); -# endif - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } -#endif - return UA_STATUSCODE_GOOD; -} - -PARSE_JSON(SubscriptionConfigurationField) { -#ifdef UA_ENABLE_SUBSCRIPTIONS - UA_ServerConfig *config = (UA_ServerConfig*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "maxSubscriptions") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxSubscriptions, NULL); - else if(strcmp(field_str, "maxSubscriptionsPerSession") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxSubscriptionsPerSession, NULL); - else if(strcmp(field_str, "publishingIntervalLimits") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATIONRANGE](ctx, &config->publishingIntervalLimits, NULL); - else if(strcmp(field_str, "lifeTimeCountLimits") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32RANGE](ctx, &config->lifeTimeCountLimits, NULL); - else if(strcmp(field_str, "keepAliveCountLimits") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32RANGE](ctx, &config->keepAliveCountLimits, NULL); - else if(strcmp(field_str, "maxNotificationsPerPublish") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxNotificationsPerPublish, NULL); - else if(strcmp(field_str, "enableRetransmissionQueue") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->enableRetransmissionQueue, NULL); - else if(strcmp(field_str, "maxRetransmissionQueueSize") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxRetransmissionQueueSize, NULL); -# ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS - else if(strcmp(field_str, "maxEventsPerNode") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxEventsPerNode, NULL); -# endif - else if(strcmp(field_str, "maxMonitoredItems") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxMonitoredItems, NULL); - else if(strcmp(field_str, "maxMonitoredItemsPerSubscription") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxMonitoredItemsPerSubscription, NULL); - else if(strcmp(field_str, "samplingIntervalLimits") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_DURATIONRANGE](ctx, &config->samplingIntervalLimits, NULL); - else if(strcmp(field_str, "queueSizeLimits") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32RANGE](ctx, &config->queueSizeLimits, NULL); - else if(strcmp(field_str, "maxPublishReqPerSession") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxPublishReqPerSession, NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } -#endif - return UA_STATUSCODE_GOOD; -} - -PARSE_JSON(TcpConfigurationField) { - UA_ServerConfig *config = (UA_ServerConfig*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "tcpBufSize") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->tcpBufSize, NULL); - else if(strcmp(field_str, "tcpMaxMsgSize") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->tcpMaxMsgSize, NULL); - else if(strcmp(field_str, "tcpMaxChunks") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->tcpMaxChunks, NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } - return UA_STATUSCODE_GOOD; -} - -PARSE_JSON(PubsubConfigurationField) { -#ifdef UA_ENABLE_PUBSUB - UA_PubSubConfiguration *field = (UA_PubSubConfiguration*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "enableDeltaFrames") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &field->enableDeltaFrames, NULL); -#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL - else if(strcmp(field_str, "enableInformationModelMethods") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &field->enableInformationModelMethods, NULL); -#endif - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } -#endif - return UA_STATUSCODE_GOOD; -} - -PARSE_JSON(HistorizingConfigurationField) { -#ifdef UA_ENABLE_HISTORIZING - UA_ServerConfig *config = (UA_ServerConfig*)configField; - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size/2; j > 0; j--) { - tok = ctx->tokens[++ctx->index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "accessHistoryDataCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->accessHistoryDataCapability, NULL); - else if(strcmp(field_str, "maxReturnDataValues") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxReturnDataValues, NULL); - else if(strcmp(field_str, "accessHistoryEventsCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->accessHistoryEventsCapability, NULL); - else if(strcmp(field_str, "maxReturnEventValues") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](ctx, &config->maxReturnEventValues, NULL); - else if(strcmp(field_str, "insertDataCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->insertDataCapability, NULL); - else if(strcmp(field_str, "insertEventCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->insertEventCapability, NULL); - else if(strcmp(field_str, "insertAnnotationsCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->insertAnnotationsCapability, NULL); - else if(strcmp(field_str, "replaceDataCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->replaceDataCapability, NULL); - else if(strcmp(field_str, "replaceEventCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->replaceEventCapability, NULL); - else if(strcmp(field_str, "updateDataCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->updateDataCapability, NULL); - else if(strcmp(field_str, "updateEventCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->updateEventCapability, NULL); - else if(strcmp(field_str, "deleteRawCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->deleteRawCapability, NULL); - else if(strcmp(field_str, "deleteEventCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->deleteEventCapability, NULL); - else if(strcmp(field_str, "deleteAtTimeDataCapability") == 0) - parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](ctx, &config->deleteAtTimeDataCapability, NULL); - else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } -#endif - return UA_STATUSCODE_GOOD; -} - -PARSE_JSON(SecurityPolciesField) { -#ifdef UA_ENABLE_ENCRYPTION - UA_ServerConfig *config = (UA_ServerConfig*)configField; - - UA_String noneuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - UA_String basic128Rsa15uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"); - UA_String basic256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256"); - UA_String basic256Sha256uri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"); - UA_String aes128sha256rsaoaepuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"); - UA_String aes256sha256rsapssuri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"); - - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t j = tok.size; j > 0; j--) { - - UA_String policy = {.length = 0, .data = NULL}; - UA_ByteString certificate = {.length = 0, .data = NULL}; - UA_ByteString privateKey = {.length = 0, .data = NULL}; - - tok = ctx->tokens[++ctx->index]; - for(size_t i = tok.size / 2; i > 0; i--) { - tok = ctx->tokens[++ctx->index]; - switch(tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char *)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "certificate") == 0) { - UA_String out = {.length = 0, .data = NULL}; - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &out, NULL); - - if(out.length > 0) { - char *certfile = (char *)UA_malloc(out.length + 1); - memcpy(certfile, out.data, out.length); - certfile[out.length] = '\0'; - certificate = loadCertificateFile(certfile); - UA_String_clear(&out); - UA_free(certfile); - } - } else if(strcmp(field_str, "privateKey") == 0) { - UA_String out = {.length = 0, .data = NULL}; - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &out, NULL); - - if(out.length > 0) { - char *keyfile = (char *)UA_malloc(out.length + 1); - memcpy(keyfile, out.data, out.length); - keyfile[out.length] = '\0'; - privateKey = loadCertificateFile(keyfile); - UA_String_clear(&out); - UA_free(keyfile); - } - } else if(strcmp(field_str, "policy") == 0) { - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &policy, NULL); - } else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } - - if(certificate.length == 0 || privateKey.length == 0) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Certificate and PrivateKey must be set for every policy."); - if(policy.length > 0) - UA_String_clear(&policy); - if(certificate.length > 0) - UA_ByteString_clear(&certificate); - if(privateKey.length > 0) - UA_ByteString_clear(&privateKey); - return UA_STATUSCODE_BADINTERNALERROR; - } - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(UA_String_equal(&policy, &noneuri)) { - /* Nothing to do! */ - } else if(UA_String_equal(&policy, &basic128Rsa15uri)) { - retval = UA_ServerConfig_addSecurityPolicyBasic128Rsa15(config, &certificate, &privateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Basic128Rsa15 with error code %s", - UA_StatusCode_name(retval)); - } - } else if(UA_String_equal(&policy, &basic256uri)) { - retval = UA_ServerConfig_addSecurityPolicyBasic256(config, &certificate, &privateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Basic256 with error code %s", - UA_StatusCode_name(retval)); - } - } else if(UA_String_equal(&policy, &basic256Sha256uri)) { - retval = UA_ServerConfig_addSecurityPolicyBasic256Sha256(config, &certificate, &privateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Basic256Sha256 with error code %s", - UA_StatusCode_name(retval)); - } - } else if(UA_String_equal(&policy, &aes128sha256rsaoaepuri)) { - retval = UA_ServerConfig_addSecurityPolicyAes128Sha256RsaOaep(config, &certificate, &privateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes128Sha256RsaOaep with error code %s", - UA_StatusCode_name(retval)); - } - } else if(UA_String_equal(&policy, &aes256sha256rsapssuri)) { - retval = UA_ServerConfig_addSecurityPolicyAes256Sha256RsaPss(config, &certificate, &privateKey); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, - "Could not add SecurityPolicy#Aes256Sha256RsaPss with error code %s", - UA_StatusCode_name(retval)); - } - } else { - UA_LOG_WARNING(config->logging, UA_LOGCATEGORY_USERLAND, "Unknown Security Policy."); - } - - /* Add all Endpoints */ - UA_ServerConfig_addAllEndpoints(config); - - if(policy.length > 0) - UA_String_clear(&policy); - if(certificate.length > 0) - UA_ByteString_clear(&certificate); - if(privateKey.length > 0) - UA_ByteString_clear(&privateKey); - } -#endif - return UA_STATUSCODE_GOOD; -} - -PARSE_JSON(SecurityPkiField) { -#ifdef UA_ENABLE_ENCRYPTION - UA_CertificateVerification *field = (UA_CertificateVerification*)configField; - UA_String trustListFolder = {.length = 0, .data = NULL}; - UA_String issuerListFolder = {.length = 0, .data = NULL}; - UA_String revocationListFolder = {.length = 0, .data = NULL}; - - cj5_token tok = ctx->tokens[++ctx->index]; - for(size_t i = tok.size/2; i > 0; i--) { - tok = ctx->tokens[++ctx->index]; - switch(tok.type) { - case CJ5_TOKEN_STRING: { - char *field_str = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx->result, (unsigned int)ctx->index, field_str, &str_len); - if(strcmp(field_str, "trustListFolder") == 0) { - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &trustListFolder, NULL); - } else if(strcmp(field_str, "issuerListFolder") == 0) { - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &issuerListFolder, NULL); - } else if(strcmp(field_str, "revocationListFolder") == 0) { - parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRING](ctx, &revocationListFolder, NULL); - } else { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Unknown field name."); - } - UA_free(field_str); - break; - } - default: - break; - } - } -#ifndef __linux__ - /* Currently not supported! */ - (void)field; - return UA_STATUSCODE_GOOD; -#else - /* set server config field */ - char *sTrustListFolder = NULL; - char *sIssuerListFolder = NULL; - char *sRevocationListFolder = NULL; - if(trustListFolder.length > 0) { - sTrustListFolder = (char*)UA_malloc(trustListFolder.length+1); - memcpy(sTrustListFolder, trustListFolder.data, trustListFolder.length); - sTrustListFolder[trustListFolder.length] = '\0'; - } - if(issuerListFolder.length > 0) { - sIssuerListFolder = (char*)UA_malloc(issuerListFolder.length+1); - memcpy(sIssuerListFolder, issuerListFolder.data, issuerListFolder.length); - sIssuerListFolder[issuerListFolder.length] = '\0'; - } - if(revocationListFolder.length > 0) { - sRevocationListFolder = (char*)UA_malloc(revocationListFolder.length+1); - memcpy(sRevocationListFolder, revocationListFolder.data, revocationListFolder.length); - sRevocationListFolder[revocationListFolder.length] = '\0'; - } - if(field && field->clear) - field->clear(field); -#ifdef UA_ENABLE_CERT_REJECTED_DIR - UA_StatusCode retval = UA_CertificateVerification_CertFolders(field, sTrustListFolder, - sIssuerListFolder, sRevocationListFolder, NULL); -#else - UA_StatusCode retval = UA_CertificateVerification_CertFolders(field, sTrustListFolder, - sIssuerListFolder, sRevocationListFolder); -#endif - /* Clean up */ - if(sTrustListFolder) - UA_free(sTrustListFolder); - if(sIssuerListFolder) - UA_free(sIssuerListFolder); - if(sRevocationListFolder) - UA_free(sRevocationListFolder); - UA_String_clear(&trustListFolder); - UA_String_clear(&issuerListFolder); - UA_String_clear(&revocationListFolder); - - return retval; -#endif -#endif - return UA_STATUSCODE_GOOD; -} - -/*----------------------Enumerations------------------------*/ -PARSE_JSON(ApplicationTypeField) { - UA_UInt32 enum_value; - UA_StatusCode retval = UInt32Field_parseJson(ctx, &enum_value, NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_ApplicationType *field = (UA_ApplicationType*)configField; - *field = (UA_ApplicationType)enum_value; - return retval; -} -PARSE_JSON(RuleHandlingField) { - UA_UInt32 enum_value; - UA_StatusCode retval = UInt32Field_parseJson(ctx, &enum_value, NULL); - if(retval != UA_STATUSCODE_GOOD) - return retval; - UA_RuleHandling *field = (UA_RuleHandling*)configField; - *field = (UA_RuleHandling)enum_value; - return retval; -} - -const parseJsonSignature parseJsonJumpTable[UA_SERVERCONFIGFIELDKINDS] = { - /* Basic Types */ - (parseJsonSignature)Int64Field_parseJson, - (parseJsonSignature)UInt16Field_parseJson, - (parseJsonSignature)UInt32Field_parseJson, - (parseJsonSignature)UInt64Field_parseJson, - (parseJsonSignature)StringField_parseJson, - (parseJsonSignature)LocalizedTextField_parseJson, - (parseJsonSignature)DoubleField_parseJson, - (parseJsonSignature)BooleanField_parseJson, - (parseJsonSignature)DurationField_parseJson, - (parseJsonSignature)DurationRangeField_parseJson, - (parseJsonSignature)UInt32RangeField_parseJson, - - /* Advanced Types */ - (parseJsonSignature)BuildInfo_parseJson, - (parseJsonSignature)ApplicationDescriptionField_parseJson, - (parseJsonSignature)StringArrayField_parseJson, - (parseJsonSignature)UInt32ArrayField_parseJson, - (parseJsonSignature)DateTimeField_parseJson, - (parseJsonSignature)SubscriptionConfigurationField_parseJson, - (parseJsonSignature)TcpConfigurationField_parseJson, - (parseJsonSignature)PubsubConfigurationField_parseJson, - (parseJsonSignature)HistorizingConfigurationField_parseJson, - (parseJsonSignature)MdnsConfigurationField_parseJson, - (parseJsonSignature)SecurityPolciesField_parseJson, - (parseJsonSignature)SecurityPkiField_parseJson, - - /* Enumerations */ - (parseJsonSignature)ApplicationTypeField_parseJson, - (parseJsonSignature)RuleHandlingField_parseJson, -}; - -static UA_StatusCode -parseJSONConfig(UA_ServerConfig *config, UA_ByteString json_config) { - // Parsing json config - const char *json = (const char*)json_config.data; - cj5_token tokens[MAX_TOKENS]; - cj5_result r = cj5_parse(json, (unsigned int)json_config.length, tokens, MAX_TOKENS, NULL); - - ParsingCtx ctx; - ctx.json = json; - ctx.result = r; - ctx.tokens = r.tokens; - ctx.tokensSize = r.num_tokens; - ctx.index = 1; // The first token is ignored because it is known and not needed. - - size_t serverConfigSize = 0; - if(ctx.tokens) - serverConfigSize = (ctx.tokens[ctx.index-1].size/2); - UA_StatusCode retval = UA_STATUSCODE_GOOD; - for (size_t j = serverConfigSize; j > 0; j--) { - cj5_token tok = ctx.tokens[ctx.index]; - switch (tok.type) { - case CJ5_TOKEN_STRING: { - char *field = (char*)UA_malloc(tok.size + 1); - unsigned int str_len = 0; - cj5_get_str(&ctx.result, (unsigned int)ctx.index, field, &str_len); - if(strcmp(field, "buildInfo") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BUILDINFO](&ctx, &config->buildInfo, NULL); - else if(strcmp(field, "applicationDescription") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_APPLICATIONDESCRIPTION](&ctx, &config->applicationDescription, NULL); - else if(strcmp(field, "shutdownDelay") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_DOUBLE](&ctx, &config->shutdownDelay, NULL); - else if(strcmp(field, "verifyRequestTimestamp") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_RULEHANDLING](&ctx, &config->verifyRequestTimestamp, NULL); - else if(strcmp(field, "allowEmptyVariables") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_RULEHANDLING](&ctx, &config->allowEmptyVariables, NULL); - else if(strcmp(field, "serverUrls") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_STRINGARRAY](&ctx, &config->serverUrls, &config->serverUrlsSize); - else if(strcmp(field, "tcpEnabled") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->tcpEnabled, NULL); - else if(strcmp(field, "tcp") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_TCPCONFIGURATION](&ctx, config, NULL); - else if(strcmp(field, "securityPolicyNoneDiscoveryOnly") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->securityPolicyNoneDiscoveryOnly, NULL); - else if(strcmp(field, "modellingRulesOnInstances") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->modellingRulesOnInstances, NULL); - else if(strcmp(field, "maxSecureChannels") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT16](&ctx, &config->maxSecureChannels, NULL); - else if(strcmp(field, "maxSecurityTokenLifetime") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxSecurityTokenLifetime, NULL); - else if(strcmp(field, "maxSessions") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT16](&ctx, &config->maxSessions, NULL); - else if(strcmp(field, "maxSessionTimeout") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_DOUBLE](&ctx, &config->maxSessionTimeout, NULL); - else if(strcmp(field, "maxNodesPerRead") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerRead, NULL); - else if(strcmp(field, "maxNodesPerWrite") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerWrite, NULL); - else if(strcmp(field, "maxNodesPerMethodCall") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerMethodCall, NULL); - else if(strcmp(field, "maxNodesPerBrowse") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerBrowse, NULL); - else if(strcmp(field, "maxNodesPerRegisterNodes") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerRegisterNodes, NULL); - else if(strcmp(field, "maxNodesPerTranslateBrowsePathsToNodeIds") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerTranslateBrowsePathsToNodeIds, NULL); - else if(strcmp(field, "maxNodesPerNodeManagement") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxNodesPerNodeManagement, NULL); - else if(strcmp(field, "maxMonitoredItemsPerCall") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxMonitoredItemsPerCall, NULL); - else if(strcmp(field, "maxReferencesPerNode") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->maxReferencesPerNode, NULL); - else if(strcmp(field, "reverseReconnectInterval") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->reverseReconnectInterval, NULL); - -#if UA_MULTITHREADING >= 100 - else if(strcmp(field, "asyncOperationTimeout") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_DOUBLE](&ctx, &config->asyncOperationTimeout, NULL); - else if(strcmp(field, "maxAsyncOperationQueueSize") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT64](&ctx, &config->maxAsyncOperationQueueSize, NULL); -#endif - -#ifdef UA_ENABLE_DISCOVERY - else if(strcmp(field, "discoveryCleanupTimeout") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32](&ctx, &config->discoveryCleanupTimeout, NULL); -#ifdef UA_ENABLE_DISCOVERY_MULTICAST - else if(strcmp(field, "mdnsEnabled") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->mdnsEnabled, NULL); - else if(strcmp(field, "mdns") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_MDNSCONFIGURATION](&ctx, config, NULL); -#if !defined(UA_HAS_GETIFADDR) - else if(strcmp(field, "mdnsIpAddressList") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_UINT32ARRAY](&ctx, &config->mdnsIpAddressList, &config->mdnsIpAddressListSize); -#endif -#endif -#endif - -#ifdef UA_ENABLE_SUBSCRIPTIONS - else if(strcmp(field, "subscriptionsEnabled") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->subscriptionsEnabled, NULL); - else if(strcmp(field, "subscriptions") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SUBSCRIPTIONCONFIGURATION](&ctx, config, NULL); -# endif - -#ifdef UA_ENABLE_HISTORIZING - else if(strcmp(field, "historizingEnabled") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->historizingEnabled, NULL); - else if(strcmp(field, "historizing") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_HISTORIZINGCONFIGURATION](&ctx, config, NULL); -#endif - -#ifdef UA_ENABLE_PUBSUB - else if(strcmp(field, "pubsubEnabled") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_BOOLEAN](&ctx, &config->pubsubEnabled, NULL); - else if(strcmp(field, "pubsub") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_PUBSUBCONFIGURATION](&ctx, config, NULL); -#endif -#ifdef UA_ENABLE_ENCRYPTION - else if(strcmp(field, "securityPolicies") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SECURITYPOLICIES](&ctx, config, NULL); - else if(strcmp(field, "secureChannelPKI") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SECURITYPKI](&ctx, &config->secureChannelPKI, NULL); - else if(strcmp(field, "sessionPKI") == 0) - retval = parseJsonJumpTable[UA_SERVERCONFIGFIELD_SECURITYPKI](&ctx, &config->sessionPKI, NULL); -#endif - else { - UA_LOG_WARNING(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "Field name '%s' unknown or misspelled. Maybe the feature is not enabled either.", field); - } - UA_free(field); - if(retval != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, "An error occurred while parsing the configuration file."); - return retval; - } - break; - } - default: - break; - } - ctx.index += 1; - } - return retval; -} - -UA_Server * -UA_Server_newFromFile(const UA_ByteString json_config) { - UA_ServerConfig config; - memset(&config, 0, sizeof(UA_ServerConfig)); - UA_StatusCode res = UA_ServerConfig_setDefault(&config); - res |= parseJSONConfig(&config, json_config); - if(res != UA_STATUSCODE_GOOD) - return NULL; - return UA_Server_newWithConfig(&config); -} - -UA_StatusCode -UA_ServerConfig_updateFromFile(UA_ServerConfig *config, const UA_ByteString json_config) { - UA_StatusCode res = parseJSONConfig(config, json_config); - return res; -} - -#ifdef UA_ENABLE_ENCRYPTION -static UA_ByteString -loadCertificateFile(const char *const path) { - UA_ByteString fileContents = UA_STRING_NULL; - - /* Open the file */ - FILE *fp = fopen(path, "rb"); - if(!fp) { - errno = 0; /* We read errno also from the tcp layer... */ - return fileContents; - } - - /* Get the file length, allocate the data and read */ - fseek(fp, 0, SEEK_END); - fileContents.length = (size_t)ftell(fp); - fileContents.data = (UA_Byte *)UA_malloc(fileContents.length * sizeof(UA_Byte)); - if(fileContents.data) { - fseek(fp, 0, SEEK_SET); - size_t read = fread(fileContents.data, sizeof(UA_Byte), fileContents.length, fp); - if(read != fileContents.length) - UA_ByteString_clear(&fileContents); - } else { - fileContents.length = 0; - } - fclose(fp); - - return fileContents; -} -#endif - -/**** amalgamated original file "/plugins/historydata/ua_history_data_backend_memory.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) - */ - - -#include -#include - -typedef struct { - UA_DateTime timestamp; - UA_DataValue value; -} UA_DataValueMemoryStoreItem; - -static void -UA_DataValueMemoryStoreItem_clear(UA_DataValueMemoryStoreItem* item) { - UA_DateTime_clear(&item->timestamp); - UA_DataValue_clear(&item->value); -} - -typedef struct { - UA_NodeId nodeId; - UA_DataValueMemoryStoreItem **dataStore; - size_t storeEnd; - size_t storeSize; - /* New field useful for circular buffer management */ - size_t lastInserted; -} UA_NodeIdStoreContextItem_backend_memory; - -static void -UA_NodeIdStoreContextItem_clear(UA_NodeIdStoreContextItem_backend_memory* item) { - UA_NodeId_clear(&item->nodeId); - for (size_t i = 0; i < item->storeEnd; ++i) { - UA_DataValueMemoryStoreItem_clear(item->dataStore[i]); - UA_free(item->dataStore[i]); - } - UA_free(item->dataStore); -} - -typedef struct { - UA_NodeIdStoreContextItem_backend_memory *dataStore; - size_t storeEnd; - size_t storeSize; - size_t initialStoreSize; -} UA_MemoryStoreContext; - -static void -UA_MemoryStoreContext_clear(UA_MemoryStoreContext* ctx) { - for (size_t i = 0; i < ctx->storeEnd; ++i) { - UA_NodeIdStoreContextItem_clear(&ctx->dataStore[i]); - } - UA_free(ctx->dataStore); - memset(ctx, 0, sizeof(UA_MemoryStoreContext)); -} - -static UA_NodeIdStoreContextItem_backend_memory * -getNewNodeIdContext_backend_memory(UA_MemoryStoreContext* context, - UA_Server *server, - const UA_NodeId *nodeId) { - UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext*)context; - if (ctx->storeEnd >= ctx->storeSize) { - size_t newStoreSize = ctx->storeSize * 2; - if (newStoreSize == 0) - return NULL; - ctx->dataStore = (UA_NodeIdStoreContextItem_backend_memory*)UA_realloc(ctx->dataStore, (newStoreSize * sizeof(UA_NodeIdStoreContextItem_backend_memory))); - if (!ctx->dataStore) { - ctx->storeSize = 0; - return NULL; - } - ctx->storeSize = newStoreSize; - } - UA_NodeIdStoreContextItem_backend_memory *item = &ctx->dataStore[ctx->storeEnd]; - UA_NodeId_copy(nodeId, &item->nodeId); - UA_DataValueMemoryStoreItem ** store = (UA_DataValueMemoryStoreItem **)UA_calloc(ctx->initialStoreSize, sizeof(UA_DataValueMemoryStoreItem*)); - if (!store) { - UA_NodeIdStoreContextItem_clear(item); - return NULL; - } - item->dataStore = store; - item->storeSize = ctx->initialStoreSize; - item->storeEnd = 0; - ++ctx->storeEnd; - return item; -} - -static UA_NodeIdStoreContextItem_backend_memory * -getNodeIdStoreContextItem_backend_memory(UA_MemoryStoreContext* context, - UA_Server *server, - const UA_NodeId *nodeId) -{ - for (size_t i = 0; i < context->storeEnd; ++i) { - if (UA_NodeId_equal(nodeId, &context->dataStore[i].nodeId)) { - return &context->dataStore[i]; - } - } - return getNewNodeIdContext_backend_memory(context, server, nodeId); -} - -static UA_Boolean -binarySearch_backend_memory(const UA_NodeIdStoreContextItem_backend_memory* item, - const UA_DateTime timestamp, - size_t *index) { - if (item->storeEnd == 0) { - *index = item->storeEnd; - return false; - } - size_t min = 0; - size_t max = item->storeEnd - 1; - while (min <= max) { - *index = (min + max) / 2; - if (item->dataStore[*index]->timestamp == timestamp) { - return true; - } else if (item->dataStore[*index]->timestamp < timestamp) { - if (*index == item->storeEnd - 1) { - *index = item->storeEnd; - return false; - } - min = *index + 1; - } else { - if (*index == 0) - return false; - max = *index - 1; - } - } - *index = min; - return false; - -} - -static size_t -resultSize_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId, - size_t startIndex, - size_t endIndex) { - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - if (item->storeEnd == 0 - || startIndex == item->storeEnd - || endIndex == item->storeEnd) - return 0; - return endIndex - startIndex + 1; -} - -static size_t -getDateTimeMatch_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId, - const UA_DateTime timestamp, - const MatchStrategy strategy) { - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - size_t current; - UA_Boolean retval = binarySearch_backend_memory(item, timestamp, ¤t); - - if ((strategy == MATCH_EQUAL - || strategy == MATCH_EQUAL_OR_AFTER - || strategy == MATCH_EQUAL_OR_BEFORE) - && retval) - return current; - switch (strategy) { - case MATCH_AFTER: - if (retval) - return current+1; - return current; - case MATCH_EQUAL_OR_AFTER: - return current; - case MATCH_EQUAL_OR_BEFORE: - // retval == true aka "equal" is handled before - // Fall through if !retval - case MATCH_BEFORE: - if (current > 0) - return current-1; - else - return item->storeEnd; - default: - break; - } - return item->storeEnd; -} - - -static UA_StatusCode -serverSetHistoryData_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId, - UA_Boolean historizing, - const UA_DataValue *value) -{ - UA_NodeIdStoreContextItem_backend_memory *item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - - if (item->storeEnd >= item->storeSize) { - size_t newStoreSize = item->storeSize == 0 ? INITIAL_MEMORY_STORE_SIZE : item->storeSize * 2; - item->dataStore = (UA_DataValueMemoryStoreItem **)UA_realloc(item->dataStore, (newStoreSize * sizeof(UA_DataValueMemoryStoreItem*))); - if (!item->dataStore) { - item->storeSize = 0; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - item->storeSize = newStoreSize; - } - UA_DateTime timestamp = 0; - if (value->hasSourceTimestamp) { - timestamp = value->sourceTimestamp; - } else if (value->hasServerTimestamp) { - timestamp = value->serverTimestamp; - } else { - timestamp = UA_DateTime_now(); - } - UA_DataValueMemoryStoreItem *newItem = (UA_DataValueMemoryStoreItem *)UA_calloc(1, sizeof(UA_DataValueMemoryStoreItem)); - newItem->timestamp = timestamp; - UA_DataValue_copy(value, &newItem->value); - if(!newItem->value.hasServerTimestamp) { - newItem->value.serverTimestamp = timestamp; - newItem->value.hasServerTimestamp = true; - } - size_t index = getDateTimeMatch_backend_memory(server, - context, - NULL, - NULL, - nodeId, - timestamp, - MATCH_EQUAL_OR_AFTER); - if (item->storeEnd > 0 && index < item->storeEnd) { - memmove(&item->dataStore[index+1], &item->dataStore[index], sizeof(UA_DataValueMemoryStoreItem*) * (item->storeEnd - index)); - } - item->dataStore[index] = newItem; - ++item->storeEnd; - return UA_STATUSCODE_GOOD; -} - -static void -UA_MemoryStoreContext_delete(UA_MemoryStoreContext* ctx) { - UA_MemoryStoreContext_clear(ctx); - UA_free(ctx); -} - -static size_t -getEnd_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId) { - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - return item->storeEnd; -} - -static size_t -lastIndex_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId) { - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - if (item->storeEnd == 0) - return 0; - return item->storeEnd - 1; -} - -static size_t -firstIndex_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId) { - return 0; -} - -static UA_Boolean -boundSupported_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId) { - return true; -} - -static UA_Boolean -timestampsToReturnSupported_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_TimestampsToReturn timestampsToReturn) { - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - if (item->storeEnd == 0) { - return true; - } - if (timestampsToReturn == UA_TIMESTAMPSTORETURN_NEITHER - || timestampsToReturn == UA_TIMESTAMPSTORETURN_INVALID - || (timestampsToReturn == UA_TIMESTAMPSTORETURN_SERVER - && !item->dataStore[0]->value.hasServerTimestamp) - || (timestampsToReturn == UA_TIMESTAMPSTORETURN_SOURCE - && !item->dataStore[0]->value.hasSourceTimestamp) - || (timestampsToReturn == UA_TIMESTAMPSTORETURN_BOTH - && !(item->dataStore[0]->value.hasSourceTimestamp - && item->dataStore[0]->value.hasServerTimestamp))) { - return false; - } - return true; -} - -static const UA_DataValue* -getDataValue_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId, size_t index) { - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - return &item->dataStore[index]->value; -} - -static UA_StatusCode -UA_DataValue_backend_copyRange(const UA_DataValue *src, UA_DataValue *dst, - const UA_NumericRange range) -{ - memcpy(dst, src, sizeof(UA_DataValue)); - if (src->hasValue) - return UA_Variant_copyRange(&src->value, &dst->value, range); - return UA_STATUSCODE_BADDATAUNAVAILABLE; -} - -static UA_StatusCode -copyDataValues_backend_memory(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId * nodeId, - size_t startIndex, - size_t endIndex, - UA_Boolean reverse, - size_t maxValues, - UA_NumericRange range, - UA_Boolean releaseContinuationPoints, - const UA_ByteString *continuationPoint, - UA_ByteString *outContinuationPoint, - size_t * providedValues, - UA_DataValue * values) -{ - size_t skip = 0; - if (continuationPoint->length > 0) { - if (continuationPoint->length == sizeof(size_t)) { - skip = *((size_t*)(continuationPoint->data)); - } else { - return UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; - } - } - const UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)context, server, nodeId); - size_t index = startIndex; - size_t counter = 0; - size_t skipedValues = 0; - if (reverse) { - while (index >= endIndex && index < item->storeEnd && counter < maxValues) { - if (skipedValues++ >= skip) { - if (range.dimensionsSize > 0) { - UA_DataValue_backend_copyRange(&item->dataStore[index]->value, &values[counter], range); - } else { - UA_DataValue_copy(&item->dataStore[index]->value, &values[counter]); - } - ++counter; - } - --index; - } - } else { - while (index <= endIndex && counter < maxValues) { - if (skipedValues++ >= skip) { - if (range.dimensionsSize > 0) { - UA_DataValue_backend_copyRange(&item->dataStore[index]->value, &values[counter], range); - } else { - UA_DataValue_copy(&item->dataStore[index]->value, &values[counter]); - } - ++counter; - } - ++index; - } - } - - if (providedValues) - *providedValues = counter; - - if ((!reverse && (endIndex-startIndex-skip+1) > counter) || (reverse && (startIndex-endIndex-skip+1) > counter)) { - outContinuationPoint->length = sizeof(size_t); - size_t t = sizeof(size_t); - outContinuationPoint->data = (UA_Byte*)UA_malloc(t); - *((size_t*)(outContinuationPoint->data)) = skip + counter; - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -insertDataValue_backend_memory(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DataValue *value) -{ - if (!value->hasSourceTimestamp && !value->hasServerTimestamp) - return UA_STATUSCODE_BADINVALIDTIMESTAMP; - const UA_DateTime timestamp = value->hasSourceTimestamp ? value->sourceTimestamp : value->serverTimestamp; - UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)hdbContext, server, nodeId); - - size_t index = getDateTimeMatch_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - timestamp, - MATCH_EQUAL_OR_AFTER); - if (item->storeEnd != index && item->dataStore[index]->timestamp == timestamp) - return UA_STATUSCODE_BADENTRYEXISTS; - - if (item->storeEnd >= item->storeSize) { - size_t newStoreSize = item->storeSize == 0 ? INITIAL_MEMORY_STORE_SIZE : item->storeSize * 2; - item->dataStore = (UA_DataValueMemoryStoreItem **)UA_realloc(item->dataStore, (newStoreSize * sizeof(UA_DataValueMemoryStoreItem*))); - if (!item->dataStore) { - item->storeSize = 0; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - item->storeSize = newStoreSize; - } - UA_DataValueMemoryStoreItem *newItem = (UA_DataValueMemoryStoreItem *)UA_calloc(1, sizeof(UA_DataValueMemoryStoreItem)); - newItem->timestamp = timestamp; - UA_DataValue_copy(value, &newItem->value); - if(!newItem->value.hasServerTimestamp) { - newItem->value.serverTimestamp = timestamp; - newItem->value.hasServerTimestamp = true; - } - - if (item->storeEnd > 0 && index < item->storeEnd) { - memmove(&item->dataStore[index+1], &item->dataStore[index], sizeof(UA_DataValueMemoryStoreItem*) * (item->storeEnd - index)); - } - item->dataStore[index] = newItem; - ++item->storeEnd; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -replaceDataValue_backend_memory(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DataValue *value) -{ - if (!value->hasSourceTimestamp && !value->hasServerTimestamp) - return UA_STATUSCODE_BADINVALIDTIMESTAMP; - const UA_DateTime timestamp = value->hasSourceTimestamp ? value->sourceTimestamp : value->serverTimestamp; - UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)hdbContext, server, nodeId); - - size_t index = getDateTimeMatch_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - timestamp, - MATCH_EQUAL); - if (index == item->storeEnd) - return UA_STATUSCODE_BADNOENTRYEXISTS; - UA_DataValue_clear(&item->dataStore[index]->value); - UA_DataValue_copy(value, &item->dataStore[index]->value); - if(!item->dataStore[index]->value.hasServerTimestamp) { - item->dataStore[index]->value.serverTimestamp = timestamp; - item->dataStore[index]->value.hasServerTimestamp = true; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -updateDataValue_backend_memory(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - const UA_DataValue *value) -{ - // we first try to replace, because it is cheap - UA_StatusCode ret = replaceDataValue_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - value); - if (ret == UA_STATUSCODE_GOOD) - return UA_STATUSCODE_GOODENTRYREPLACED; - - ret = insertDataValue_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - value); - if (ret == UA_STATUSCODE_GOOD) - return UA_STATUSCODE_GOODENTRYINSERTED; - - return ret; -} - -static UA_StatusCode -removeDataValue_backend_memory(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_DateTime startTimestamp, - UA_DateTime endTimestamp) -{ - UA_NodeIdStoreContextItem_backend_memory* item = getNodeIdStoreContextItem_backend_memory((UA_MemoryStoreContext*)hdbContext, server, nodeId); - size_t storeEnd = item->storeEnd; - // The first index which will be deleted - size_t index1; - // the first index which is not deleted - size_t index2; - if (startTimestamp > endTimestamp) { - return UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED; - } - if (startTimestamp == endTimestamp) { - index1 = getDateTimeMatch_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - startTimestamp, - MATCH_EQUAL); - if (index1 == storeEnd) - return UA_STATUSCODE_BADNODATA; - index2 = index1 + 1; - } else { - index1 = getDateTimeMatch_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - startTimestamp, - MATCH_EQUAL_OR_AFTER); - index2 = getDateTimeMatch_backend_memory(server, - hdbContext, - sessionId, - sessionContext, - nodeId, - endTimestamp, - MATCH_BEFORE); - if (index2 == storeEnd || index1 == storeEnd || index1 > index2 ) - return UA_STATUSCODE_BADNODATA; - ++index2; - } -#ifndef __clang_analyzer__ - for (size_t i = index1; i < index2; ++i) { - UA_DataValueMemoryStoreItem_clear(item->dataStore[i]); - UA_free(item->dataStore[i]); - } - memmove(&item->dataStore[index1], &item->dataStore[index2], sizeof(UA_DataValueMemoryStoreItem*) * (item->storeEnd - index2)); - item->storeEnd -= index2 - index1; -#else - (void)index1; - (void)index2; -#endif - return UA_STATUSCODE_GOOD; -} - -static void -deleteMembers_backend_memory(UA_HistoryDataBackend *backend) -{ - if (backend == NULL || backend->context == NULL) - return; - UA_MemoryStoreContext_clear((UA_MemoryStoreContext*)backend->context); - UA_free(backend->context); -} - - - -UA_HistoryDataBackend -UA_HistoryDataBackend_Memory(size_t initialNodeIdStoreSize, size_t initialDataStoreSize) { - if (initialNodeIdStoreSize == 0) - initialNodeIdStoreSize = 1; - if (initialDataStoreSize == 0) - initialDataStoreSize = 1; - UA_HistoryDataBackend result; - memset(&result, 0, sizeof(UA_HistoryDataBackend)); - UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext *)UA_calloc(1, sizeof(UA_MemoryStoreContext)); - if (!ctx) - return result; - ctx->dataStore = (UA_NodeIdStoreContextItem_backend_memory*)UA_calloc(initialNodeIdStoreSize, sizeof(UA_NodeIdStoreContextItem_backend_memory)); - ctx->initialStoreSize = initialDataStoreSize; - ctx->storeSize = initialNodeIdStoreSize; - ctx->storeEnd = 0; - result.serverSetHistoryData = &serverSetHistoryData_backend_memory; - result.resultSize = &resultSize_backend_memory; - result.getEnd = &getEnd_backend_memory; - result.lastIndex = &lastIndex_backend_memory; - result.firstIndex = &firstIndex_backend_memory; - result.getDateTimeMatch = &getDateTimeMatch_backend_memory; - result.copyDataValues = ©DataValues_backend_memory; - result.getDataValue = &getDataValue_backend_memory; - result.boundSupported = &boundSupported_backend_memory; - result.timestampsToReturnSupported = ×tampsToReturnSupported_backend_memory; - result.insertDataValue = &insertDataValue_backend_memory; - result.updateDataValue = &updateDataValue_backend_memory; - result.replaceDataValue = &replaceDataValue_backend_memory; - result.removeDataValue = &removeDataValue_backend_memory; - result.deleteMembers = &deleteMembers_backend_memory; - result.getHistoryData = NULL; - result.context = ctx; - return result; -} - -void -UA_HistoryDataBackend_Memory_clear(UA_HistoryDataBackend *backend) -{ - UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext*)backend->context; - UA_MemoryStoreContext_delete(ctx); - memset(backend, 0, sizeof(UA_HistoryDataBackend)); -} - -/* Circular buffer implementation */ - -static UA_NodeIdStoreContextItem_backend_memory * -getNewNodeIdContext_backend_memory_Circular(UA_MemoryStoreContext *context, - UA_Server *server, - const UA_NodeId *nodeId) { - UA_MemoryStoreContext *ctx = (UA_MemoryStoreContext *)context; - if(ctx->storeEnd >= ctx->storeSize) { - return NULL; - } - UA_NodeIdStoreContextItem_backend_memory *item = &ctx->dataStore[ctx->storeEnd]; - UA_NodeId_copy(nodeId, &item->nodeId); - UA_DataValueMemoryStoreItem **store = (UA_DataValueMemoryStoreItem **)UA_calloc(ctx->initialStoreSize, sizeof(UA_DataValueMemoryStoreItem *)); - if(!store) { - UA_NodeIdStoreContextItem_clear(item); - return NULL; - } - item->dataStore = store; - item->storeSize = ctx->initialStoreSize; - item->storeEnd = 0; - ++ctx->storeEnd; - return item; -} - -static UA_NodeIdStoreContextItem_backend_memory * -getNodeIdStoreContextItem_backend_memory_Circular(UA_MemoryStoreContext *context, - UA_Server *server, - const UA_NodeId *nodeId) { - for(size_t i = 0; i < context->storeEnd; ++i) { - if(UA_NodeId_equal(nodeId, &context->dataStore[i].nodeId)) { - return &context->dataStore[i]; - } - } - return getNewNodeIdContext_backend_memory_Circular(context, server, nodeId); -} - -static UA_StatusCode -serverSetHistoryData_backend_memory_Circular(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_Boolean historizing, - const UA_DataValue *value) { - UA_NodeIdStoreContextItem_backend_memory *item = getNodeIdStoreContextItem_backend_memory_Circular((UA_MemoryStoreContext *)context, server, nodeId); - if(item == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - if(item->lastInserted >= item->storeSize) { - /* If the buffer size is overcomed, push new elements from the start of the buffer */ - item->lastInserted = 0; - } - UA_DateTime timestamp = 0; - if(value->hasSourceTimestamp) { - timestamp = value->sourceTimestamp; - } else if(value->hasServerTimestamp) { - timestamp = value->serverTimestamp; - } else { - timestamp = UA_DateTime_now(); - } - UA_DataValueMemoryStoreItem *newItem = (UA_DataValueMemoryStoreItem *)UA_calloc(1, sizeof(UA_DataValueMemoryStoreItem)); - newItem->timestamp = timestamp; - UA_DataValue_copy(value, &newItem->value); - if(!newItem->value.hasServerTimestamp) { - newItem->value.serverTimestamp = timestamp; - newItem->value.hasServerTimestamp = true; - } - - - /* This implementation does NOT sort values by timestamp */ - - if(item->dataStore[item->lastInserted] != NULL) { - UA_DataValueMemoryStoreItem_clear(item->dataStore[item->lastInserted]); - UA_free(item->dataStore[item->lastInserted]); - } - item->dataStore[item->lastInserted] = newItem; - ++item->lastInserted; - - if(item->storeEnd < item->storeSize) { - ++item->storeEnd; - } - - return UA_STATUSCODE_GOOD; -} - -static size_t -getResultSize_service_Circular(const UA_HistoryDataBackend *backend, UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, UA_DateTime start, - UA_DateTime end, UA_UInt32 numValuesPerNode, - UA_Boolean returnBounds, size_t *startIndex, - size_t *endIndex, UA_Boolean *addFirst, - UA_Boolean *addLast, UA_Boolean *reverse) { - *startIndex = 0; - *endIndex = backend->lastIndex(server, backend->context, sessionId, sessionContext, nodeId); - *addFirst = false; - *addLast = false; - if(end == LLONG_MIN) { - *reverse = false; - } else if(start == LLONG_MIN) { - *reverse = true; - } else { - *reverse = end < start; - } - - size_t size = 0; - const UA_NodeIdStoreContextItem_backend_memory *item = getNodeIdStoreContextItem_backend_memory_Circular((UA_MemoryStoreContext *)backend->context, server, nodeId); - if(item == NULL) { - size = 0; - } else { - size = item->storeEnd; - } - return size; -} - -static UA_StatusCode -getHistoryData_service_Circular(UA_Server *server, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_HistoryDataBackend *backend, - const UA_DateTime start, - const UA_DateTime end, - const UA_NodeId *nodeId, - size_t maxSize, - UA_UInt32 numValuesPerNode, - UA_Boolean returnBounds, - UA_TimestampsToReturn timestampsToReturn, - UA_NumericRange range, - UA_Boolean releaseContinuationPoints, - const UA_ByteString *continuationPoint, - UA_ByteString *outContinuationPoint, - UA_HistoryData *historyData) { - size_t *resultSize = &historyData->dataValuesSize; - UA_DataValue **result = &historyData->dataValues; - size_t skip = 0; - UA_ByteString backendContinuationPoint; - UA_ByteString_init(&backendContinuationPoint); - if(continuationPoint->length > 0) { - if(continuationPoint->length < sizeof(size_t)) - return UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; - skip = *((size_t *)(continuationPoint->data)); - backendContinuationPoint.length = continuationPoint->length - sizeof(size_t); - backendContinuationPoint.data = continuationPoint->data + sizeof(size_t); - } - size_t storeEnd = backend->getEnd(server, backend->context, sessionId, sessionContext, nodeId); - size_t startIndex; - size_t endIndex; - UA_Boolean addFirst; - UA_Boolean addLast; - UA_Boolean reverse; - size_t _resultSize = getResultSize_service_Circular(backend, - server, - sessionId, - sessionContext, - nodeId, - start, - end, - numValuesPerNode == 0 ? 0 : numValuesPerNode + (UA_UInt32)skip, - returnBounds, - &startIndex, - &endIndex, - &addFirst, - &addLast, - &reverse); - *resultSize = _resultSize - skip; - if(*resultSize > maxSize) { - *resultSize = maxSize; - } - UA_DataValue *outResult = (UA_DataValue *)UA_Array_new(*resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); - if(!outResult) { - *resultSize = 0; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - *result = outResult; - size_t counter = 0; - if(addFirst) { - if(skip == 0) { - outResult[counter].hasStatus = true; - outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; - outResult[counter].hasSourceTimestamp = true; - if(start == LLONG_MIN) { - outResult[counter].sourceTimestamp = end; - } else { - outResult[counter].sourceTimestamp = start; - } - ++counter; - } - } - UA_ByteString backendOutContinuationPoint; - UA_ByteString_init(&backendOutContinuationPoint); - if(endIndex != storeEnd && startIndex != storeEnd) { - size_t retval = 0; - size_t valueSize = *resultSize - counter; - if(valueSize + skip > _resultSize - addFirst - addLast) { - if(skip == 0) { - valueSize = _resultSize - addFirst - addLast; - } else { - valueSize = _resultSize - skip - addLast; - } - } - UA_StatusCode ret = UA_STATUSCODE_GOOD; - if(valueSize > 0) - ret = backend->copyDataValues(server, - backend->context, - sessionId, - sessionContext, - nodeId, - startIndex, - endIndex, - reverse, - valueSize, - range, - releaseContinuationPoints, - &backendContinuationPoint, - &backendOutContinuationPoint, - &retval, - &outResult[counter]); - if(ret != UA_STATUSCODE_GOOD) { - UA_Array_delete(outResult, *resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); - *result = NULL; - *resultSize = 0; - return ret; - } - counter += retval; - } - if(addLast && counter < *resultSize) { - outResult[counter].hasStatus = true; - outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; - outResult[counter].hasSourceTimestamp = true; - if(start == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { - outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp - UA_DATETIME_SEC; - } else if(end == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { - outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp + UA_DATETIME_SEC; - } else { - outResult[counter].sourceTimestamp = end; - } - } - // there are more values - if(skip + *resultSize < _resultSize - // there are not more values for this request, but there are more values in - // database - || (backendOutContinuationPoint.length > 0 && numValuesPerNode != 0) - // we deliver just one value which is a FIRST/LAST value - || (skip == 0 && addFirst == true && *resultSize == 1)) { - if(UA_ByteString_allocBuffer(outContinuationPoint, backendOutContinuationPoint.length + sizeof(size_t)) != UA_STATUSCODE_GOOD) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - *((size_t *)(outContinuationPoint->data)) = skip + *resultSize; - if(backendOutContinuationPoint.length > 0) - memcpy(outContinuationPoint->data + sizeof(size_t), backendOutContinuationPoint.data, backendOutContinuationPoint.length); - } - UA_ByteString_clear(&backendOutContinuationPoint); - return UA_STATUSCODE_GOOD; -} - -UA_HistoryDataBackend -UA_HistoryDataBackend_Memory_Circular(size_t initialNodeIdStoreSize, size_t initialDataStoreSize) { - UA_HistoryDataBackend result = UA_HistoryDataBackend_Memory(initialNodeIdStoreSize, initialDataStoreSize); - result.serverSetHistoryData = &serverSetHistoryData_backend_memory_Circular; - result.getHistoryData = &getHistoryData_service_Circular; - return result; -} - -/**** amalgamated original file "/plugins/historydata/ua_history_data_gathering_default.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - * Copyright 2021 (c) luibass92 (Author: Luigi Bassetta) - */ - - -#include - -typedef struct { - UA_NodeId nodeId; - UA_HistorizingNodeIdSettings setting; - UA_MonitoredItemCreateResult monitoredResult; -} UA_NodeIdStoreContextItem_gathering_default; - -typedef struct { - UA_NodeIdStoreContextItem_gathering_default *dataStore; - size_t storeEnd; - size_t storeSize; -} UA_NodeIdStoreContext; - -static void -dataChangeCallback_gathering_default(UA_Server *server, - UA_UInt32 monitoredItemId, - void *monitoredItemContext, - const UA_NodeId *nodeId, - void *nodeContext, - UA_UInt32 attributeId, - const UA_DataValue *value) -{ - UA_NodeIdStoreContextItem_gathering_default *context = (UA_NodeIdStoreContextItem_gathering_default*)monitoredItemContext; - context->setting.historizingBackend.serverSetHistoryData(server, - context->setting.historizingBackend.context, - NULL, - NULL, - nodeId, - UA_TRUE, - value); -} - -static UA_NodeIdStoreContextItem_gathering_default* -getNodeIdStoreContextItem_gathering_default(UA_NodeIdStoreContext *context, - const UA_NodeId *nodeId) -{ - for (size_t i = 0; i < context->storeEnd; ++i) { - if (UA_NodeId_equal(&context->dataStore[i].nodeId, nodeId)) { - return &context->dataStore[i]; - } - } - return NULL; -} - -static UA_StatusCode -startPoll(UA_Server *server, UA_NodeIdStoreContextItem_gathering_default *item) -{ - UA_MonitoredItemCreateRequest monitorRequest = - UA_MonitoredItemCreateRequest_default(item->nodeId); - monitorRequest.requestedParameters.samplingInterval = (double)item->setting.pollingInterval; - monitorRequest.monitoringMode = UA_MONITORINGMODE_REPORTING; - item->monitoredResult = - UA_Server_createDataChangeMonitoredItem(server, - UA_TIMESTAMPSTORETURN_BOTH, - monitorRequest, - item, - &dataChangeCallback_gathering_default); - return item->monitoredResult.statusCode; -} - -static UA_StatusCode -stopPoll(UA_Server *server, UA_NodeIdStoreContextItem_gathering_default *item) -{ - UA_StatusCode retval = UA_Server_deleteMonitoredItem(server, item->monitoredResult.monitoredItemId); - UA_MonitoredItemCreateResult_init(&item->monitoredResult); - return retval; -} - -static UA_StatusCode -stopPoll_gathering_default(UA_Server *server, - void *context, - const UA_NodeId *nodeId) -{ - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext *)context; - UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); - if (!item) { - return UA_STATUSCODE_BADNODEIDUNKNOWN; - } - if (item->setting.historizingUpdateStrategy != UA_HISTORIZINGUPDATESTRATEGY_POLL) - return UA_STATUSCODE_BADNODEIDINVALID; - if (item->monitoredResult.monitoredItemId == 0) - return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - return stopPoll(server, item); -} - -static UA_StatusCode -startPoll_gathering_default(UA_Server *server, - void *context, - const UA_NodeId *nodeId) -{ - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext *)context; - UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); - if (!item) { - return UA_STATUSCODE_BADNODEIDUNKNOWN; - } - if (item->setting.historizingUpdateStrategy != UA_HISTORIZINGUPDATESTRATEGY_POLL) - return UA_STATUSCODE_BADNODEIDINVALID; - if (item->monitoredResult.monitoredItemId > 0) - return UA_STATUSCODE_BADMONITOREDITEMIDINVALID; - return startPoll(server, item); -} - -static UA_StatusCode -registerNodeId_gathering_default(UA_Server *server, - void *context, - const UA_NodeId *nodeId, - const UA_HistorizingNodeIdSettings setting) -{ - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; - if (getNodeIdStoreContextItem_gathering_default(ctx, nodeId)) { - return UA_STATUSCODE_BADNODEIDEXISTS; - } - if (ctx->storeEnd >= ctx->storeSize) { - size_t newStoreSize = ctx->storeSize * 2; - ctx->dataStore = (UA_NodeIdStoreContextItem_gathering_default*)UA_realloc(ctx->dataStore, (newStoreSize * sizeof(UA_NodeIdStoreContextItem_gathering_default))); - if (!ctx->dataStore) { - ctx->storeSize = 0; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - memset(&ctx->dataStore[ctx->storeSize], 0, (newStoreSize - ctx->storeSize) * sizeof(UA_NodeIdStoreContextItem_gathering_default)); - ctx->storeSize = newStoreSize; - } - UA_NodeId_copy(nodeId, &ctx->dataStore[ctx->storeEnd].nodeId); - size_t current = ctx->storeEnd; - ctx->dataStore[current].setting = setting; - ++ctx->storeEnd; - return UA_STATUSCODE_GOOD; -} - -static const UA_HistorizingNodeIdSettings* -getHistorizingSetting_gathering_default(UA_Server *server, - void *context, - const UA_NodeId *nodeId) -{ - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; - UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); - if (item) { - return &item->setting; - } - return NULL; -} - -static void -deleteMembers_gathering_default(UA_HistoryDataGathering *gathering) -{ - if (gathering == NULL || gathering->context == NULL) - return; - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)gathering->context; - for (size_t i = 0; i < ctx->storeEnd; ++i) { - UA_NodeId_clear(&ctx->dataStore[i].nodeId); - // There is still a monitored item present for this gathering - // You need to remove it with UA_Server_deleteMonitoredItem - UA_assert(ctx->dataStore[i].monitoredResult.monitoredItemId == 0); - } - UA_free(ctx->dataStore); - UA_free(gathering->context); -} - -static UA_Boolean -updateNodeIdSetting_gathering_default(UA_Server *server, - void *context, - const UA_NodeId *nodeId, - const UA_HistorizingNodeIdSettings setting) -{ - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; - UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); - if (!item) { - return false; - } - stopPoll_gathering_default(server, context, nodeId); - item->setting = setting; - return true; -} - -static void -setValue_gathering_default(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_Boolean historizing, - const UA_DataValue *value) -{ - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext*)context; - UA_NodeIdStoreContextItem_gathering_default *item = getNodeIdStoreContextItem_gathering_default(ctx, nodeId); - if (!item) { - return; - } - if (item->setting.historizingUpdateStrategy == UA_HISTORIZINGUPDATESTRATEGY_VALUESET) { - item->setting.historizingBackend.serverSetHistoryData(server, - item->setting.historizingBackend.context, - sessionId, - sessionContext, - nodeId, - historizing, - value); - } -} - -UA_HistoryDataGathering -UA_HistoryDataGathering_Default(size_t initialNodeIdStoreSize) -{ - UA_HistoryDataGathering gathering; - memset(&gathering, 0, sizeof(UA_HistoryDataGathering)); - gathering.setValue = &setValue_gathering_default; - gathering.getHistorizingSetting = &getHistorizingSetting_gathering_default; - gathering.registerNodeId = ®isterNodeId_gathering_default; - gathering.startPoll = &startPoll_gathering_default; - gathering.stopPoll = &stopPoll_gathering_default; - gathering.deleteMembers = &deleteMembers_gathering_default; - gathering.updateNodeIdSetting = &updateNodeIdSetting_gathering_default; - UA_NodeIdStoreContext *context = (UA_NodeIdStoreContext*)UA_calloc(1, sizeof(UA_NodeIdStoreContext)); - context->storeEnd = 0; - context->storeSize = initialNodeIdStoreSize; - context->dataStore = (UA_NodeIdStoreContextItem_gathering_default*)UA_calloc(initialNodeIdStoreSize, sizeof(UA_NodeIdStoreContextItem_gathering_default)); - gathering.context = context; - return gathering; -} - -/* Circular buffer implementation */ - -static UA_StatusCode -registerNodeId_gathering_circular(UA_Server *server, void *context, - const UA_NodeId *nodeId, - const UA_HistorizingNodeIdSettings setting) { - UA_NodeIdStoreContext *ctx = (UA_NodeIdStoreContext *)context; - if(getNodeIdStoreContextItem_gathering_default(ctx, nodeId)) { - return UA_STATUSCODE_BADNODEIDEXISTS; - } - if(ctx->storeEnd >= ctx->storeSize || !ctx->dataStore) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - UA_NodeId_copy(nodeId, &ctx->dataStore[ctx->storeEnd].nodeId); - size_t current = ctx->storeEnd; - ctx->dataStore[current].setting = setting; - ++ctx->storeEnd; - return UA_STATUSCODE_GOOD; -} - -UA_HistoryDataGathering -UA_HistoryDataGathering_Circular(size_t initialNodeIdStoreSize) { - UA_HistoryDataGathering gathering = UA_HistoryDataGathering_Default(initialNodeIdStoreSize); - gathering.registerNodeId = ®isterNodeId_gathering_circular; - return gathering; -} - -/**** amalgamated original file "/plugins/historydata/ua_history_database_default.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) basysKom GmbH (Author: Peter Rustler) - */ - - -#include - -typedef struct { - UA_HistoryDataGathering gathering; -} UA_HistoryDatabaseContext_default; - -static size_t -getResultSize_service_default(const UA_HistoryDataBackend* backend, - UA_Server *server, - const UA_NodeId *sessionId, - void* sessionContext, - const UA_NodeId *nodeId, - UA_DateTime start, - UA_DateTime end, - UA_UInt32 numValuesPerNode, - UA_Boolean returnBounds, - size_t *startIndex, - size_t *endIndex, - UA_Boolean *addFirst, - UA_Boolean *addLast, - UA_Boolean *reverse) -{ - size_t storeEnd = backend->getEnd(server, backend->context, sessionId, sessionContext, nodeId); - size_t firstIndex = backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId); - size_t lastIndex = backend->lastIndex(server, backend->context, sessionId, sessionContext, nodeId); - *startIndex = storeEnd; - *endIndex = storeEnd; - *addFirst = false; - *addLast = false; - if (end == LLONG_MIN) { - *reverse = false; - } else if (start == LLONG_MIN) { - *reverse = true; - } else { - *reverse = end < start; - } - UA_Boolean equal = start == end; - size_t size = 0; - if (lastIndex != storeEnd) { - if (equal) { - if (returnBounds) { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); - if (*startIndex == storeEnd) { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); - *addFirst = true; - } - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); - size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *startIndex, *endIndex); - } else { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL); - *endIndex = *startIndex; - if (*startIndex == storeEnd) - size = 0; - else - size = 1; - } - } else if (start == LLONG_MIN) { - *endIndex = firstIndex; - if (returnBounds) { - *addLast = true; - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_AFTER); - if (*startIndex == storeEnd) { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_BEFORE); - *addFirst = true; - } - } else { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_BEFORE); - } - size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *endIndex, *startIndex); - } else if (end == LLONG_MIN) { - *endIndex = lastIndex; - if (returnBounds) { - *addLast = true; - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); - if (*startIndex == storeEnd) { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); - *addFirst = true; - } - } else { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_AFTER); - } - size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *startIndex, *endIndex); - } else if (*reverse) { - if (returnBounds) { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_AFTER); - if (*startIndex == storeEnd) { - *addFirst = true; - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_BEFORE); - } - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_BEFORE); - if (*endIndex == storeEnd) { - *addLast = true; - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_AFTER); - } - } else { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_AFTER); - } - size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *endIndex, *startIndex); - } else { - if (returnBounds) { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_BEFORE); - if (*startIndex == storeEnd) { - *addFirst = true; - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_AFTER); - } - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_EQUAL_OR_AFTER); - if (*endIndex == storeEnd) { - *addLast = true; - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_BEFORE); - } - } else { - *startIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, start, MATCH_EQUAL_OR_AFTER); - *endIndex = backend->getDateTimeMatch(server, backend->context, sessionId, sessionContext, nodeId, end, MATCH_BEFORE); - } - size = backend->resultSize(server, backend->context, sessionId, sessionContext, nodeId, *startIndex, *endIndex); - } - } else if (returnBounds) { - *addLast = true; - *addFirst = true; - } - - if (*addLast) - ++size; - if (*addFirst) - ++size; - - if (numValuesPerNode > 0 && size > numValuesPerNode) { - size = numValuesPerNode; - *addLast = false; - } - return size; -} - -static UA_StatusCode -getHistoryData_service_default(const UA_HistoryDataBackend* backend, - const UA_DateTime start, - const UA_DateTime end, - UA_Server *server, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId* nodeId, - size_t maxSize, - UA_UInt32 numValuesPerNode, - UA_Boolean returnBounds, - UA_TimestampsToReturn timestampsToReturn, - UA_NumericRange range, - UA_Boolean releaseContinuationPoints, - const UA_ByteString *continuationPoint, - UA_ByteString *outContinuationPoint, - size_t *resultSize, - UA_DataValue ** result) -{ - size_t skip = 0; - UA_ByteString backendContinuationPoint; - UA_ByteString_init(&backendContinuationPoint); - if (continuationPoint->length > 0) { - if (continuationPoint->length >= sizeof(size_t)) { - skip = *((size_t*)(continuationPoint->data)); - if (continuationPoint->length > 0) { - backendContinuationPoint.length = continuationPoint->length - sizeof(size_t); - backendContinuationPoint.data = continuationPoint->data + sizeof(size_t); - } - } else { - return UA_STATUSCODE_BADCONTINUATIONPOINTINVALID; - } - } - - size_t storeEnd = backend->getEnd(server, backend->context, sessionId, sessionContext, nodeId); - size_t startIndex; - size_t endIndex; - UA_Boolean addFirst; - UA_Boolean addLast; - UA_Boolean reverse; - size_t _resultSize = getResultSize_service_default(backend, - server, - sessionId, - sessionContext, - nodeId, - start, - end, - numValuesPerNode == 0 ? 0 : numValuesPerNode + (UA_UInt32)skip, - returnBounds, - &startIndex, - &endIndex, - &addFirst, - &addLast, - &reverse); - *resultSize = _resultSize - skip; - if (*resultSize > maxSize) { - *resultSize = maxSize; - } - UA_DataValue *outResult= (UA_DataValue*)UA_Array_new(*resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); - if (!outResult) { - *resultSize = 0; - return UA_STATUSCODE_BADOUTOFMEMORY; - } - *result = outResult; - - size_t counter = 0; - if (addFirst) { - if (skip == 0) { - outResult[counter].hasStatus = true; - outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; - outResult[counter].hasSourceTimestamp = true; - if (start == LLONG_MIN) { - outResult[counter].sourceTimestamp = end; - } else { - outResult[counter].sourceTimestamp = start; - } - ++counter; - } - } - UA_ByteString backendOutContinuationPoint; - UA_ByteString_init(&backendOutContinuationPoint); - if (endIndex != storeEnd && startIndex != storeEnd) { - size_t retval = 0; - - size_t valueSize = *resultSize - counter; - if (valueSize + skip > _resultSize - addFirst - addLast) { - if (skip == 0) { - valueSize = _resultSize - addFirst - addLast; - } else { - valueSize = _resultSize - skip - addLast; - } - - } - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - if (valueSize > 0) - ret = backend->copyDataValues(server, - backend->context, - sessionId, - sessionContext, - nodeId, - startIndex, - endIndex, - reverse, - valueSize, - range, - releaseContinuationPoints, - &backendContinuationPoint, - &backendOutContinuationPoint, - &retval, - &outResult[counter]); - if (ret != UA_STATUSCODE_GOOD) { - UA_Array_delete(outResult, *resultSize, &UA_TYPES[UA_TYPES_DATAVALUE]); - *result = NULL; - *resultSize = 0; - return ret; - } - counter += retval; - } - if (addLast && counter < *resultSize) { - outResult[counter].hasStatus = true; - outResult[counter].status = UA_STATUSCODE_BADBOUNDNOTFOUND; - outResult[counter].hasSourceTimestamp = true; - if (start == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { - outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp - UA_DATETIME_SEC; - } else if (end == LLONG_MIN && storeEnd != backend->firstIndex(server, backend->context, sessionId, sessionContext, nodeId)) { - outResult[counter].sourceTimestamp = backend->getDataValue(server, backend->context, sessionId, sessionContext, nodeId, endIndex)->sourceTimestamp + UA_DATETIME_SEC; - } else { - outResult[counter].sourceTimestamp = end; - } - } - // there are more values - if (skip + *resultSize < _resultSize - // there are not more values for this request, but there are more values in database - || (backendOutContinuationPoint.length > 0 - && numValuesPerNode != 0) - // we deliver just one value which is a FIRST/LAST value - || (skip == 0 - && addFirst == true - && *resultSize == 1)) { - if(UA_ByteString_allocBuffer(outContinuationPoint, backendOutContinuationPoint.length + sizeof(size_t)) - != UA_STATUSCODE_GOOD) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - *((size_t*)(outContinuationPoint->data)) = skip + *resultSize; - if(backendOutContinuationPoint.length > 0) - memcpy(outContinuationPoint->data + sizeof(size_t), backendOutContinuationPoint.data, backendOutContinuationPoint.length); - } - UA_ByteString_clear(&backendOutContinuationPoint); - return UA_STATUSCODE_GOOD; -} - -static void -updateData_service_default(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_UpdateDataDetails *details, - UA_HistoryUpdateResult *result) -{ - UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)hdbContext; - UA_Byte accessLevel = 0; - UA_Server_readAccessLevel(server, - details->nodeId, - &accessLevel); - if (!(accessLevel & UA_ACCESSLEVELMASK_HISTORYWRITE)) { - result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - - UA_Boolean historizing = false; - UA_Server_readHistorizing(server, - details->nodeId, - &historizing); - if (!historizing) { - result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - return; - } - const UA_HistorizingNodeIdSettings *setting = ctx->gathering.getHistorizingSetting( - server, - ctx->gathering.context, - &details->nodeId); - - if (!setting) { - result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - return; - } - - UA_ServerConfig *config = UA_Server_getConfig(server); - result->operationResultsSize = details->updateValuesSize; - result->operationResults = (UA_StatusCode*)UA_Array_new(result->operationResultsSize, &UA_TYPES[UA_TYPES_STATUSCODE]); - for (size_t i = 0; i < details->updateValuesSize; ++i) { - if (config->accessControl.allowHistoryUpdateUpdateData && - !config->accessControl.allowHistoryUpdateUpdateData(server, &config->accessControl, sessionId, sessionContext, - &details->nodeId, details->performInsertReplace, - &details->updateValues[i])) { - result->operationResults[i] = UA_STATUSCODE_BADUSERACCESSDENIED; - continue; - } - switch (details->performInsertReplace) { - case UA_PERFORMUPDATETYPE_INSERT: - if (!setting->historizingBackend.insertDataValue) { - result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; - continue; - } - result->operationResults[i] - = setting->historizingBackend.insertDataValue(server, - setting->historizingBackend.context, - sessionId, - sessionContext, - &details->nodeId, - &details->updateValues[i]); - continue; - case UA_PERFORMUPDATETYPE_REPLACE: - if (!setting->historizingBackend.replaceDataValue) { - result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; - continue; - } - result->operationResults[i] - = setting->historizingBackend.replaceDataValue(server, - setting->historizingBackend.context, - sessionId, - sessionContext, - &details->nodeId, - &details->updateValues[i]); - continue; - case UA_PERFORMUPDATETYPE_UPDATE: - if (!setting->historizingBackend.updateDataValue) { - result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; - continue; - } - result->operationResults[i] - = setting->historizingBackend.updateDataValue(server, - setting->historizingBackend.context, - sessionId, - sessionContext, - &details->nodeId, - &details->updateValues[i]); - continue; - default: - result->operationResults[i] = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - continue; - } - } -} - - -static void -deleteRawModified_service_default(UA_Server *server, - void *hdbContext, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_DeleteRawModifiedDetails *details, - UA_HistoryUpdateResult *result) -{ - if (details->isDeleteModified) { - result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; - return; - } - UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)hdbContext; - UA_Byte accessLevel = 0; - UA_Server_readAccessLevel(server, - details->nodeId, - &accessLevel); - if (!(accessLevel & UA_ACCESSLEVELMASK_HISTORYWRITE)) { - result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - - UA_Boolean historizing = false; - UA_Server_readHistorizing(server, - details->nodeId, - &historizing); - if (!historizing) { - result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - return; - } - const UA_HistorizingNodeIdSettings *setting = ctx->gathering.getHistorizingSetting( - server, - ctx->gathering.context, - &details->nodeId); - - if (!setting) { - result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - return; - } - if (!setting->historizingBackend.removeDataValue) { - result->statusCode = UA_STATUSCODE_BADHISTORYOPERATIONUNSUPPORTED; - return; - } - - UA_ServerConfig *config = UA_Server_getConfig(server); - if (config->accessControl.allowHistoryUpdateDeleteRawModified && - !config->accessControl.allowHistoryUpdateDeleteRawModified(server, - &config->accessControl, sessionId, sessionContext, &details->nodeId, - details->startTime, details->endTime, details->isDeleteModified)) { - result->statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; - return; - } - - result->statusCode - = setting->historizingBackend.removeDataValue(server, - setting->historizingBackend.context, - sessionId, - sessionContext, - &details->nodeId, - details->startTime, - details->endTime); -} - -static void -readRaw_service_default(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_RequestHeader *requestHeader, - const UA_ReadRawModifiedDetails *historyReadDetails, - UA_TimestampsToReturn timestampsToReturn, - UA_Boolean releaseContinuationPoints, - size_t nodesToReadSize, - const UA_HistoryReadValueId *nodesToRead, - UA_HistoryReadResponse *response, - UA_HistoryData * const * const historyData) -{ - UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)context; - for (size_t i = 0; i < nodesToReadSize; ++i) { - UA_Byte accessLevel = 0; - UA_Server_readAccessLevel(server, - nodesToRead[i].nodeId, - &accessLevel); - if (!(accessLevel & UA_ACCESSLEVELMASK_HISTORYREAD)) { - response->results[i].statusCode = UA_STATUSCODE_BADUSERACCESSDENIED; - continue; - } - - UA_Boolean historizing = false; - UA_Server_readHistorizing(server, - nodesToRead[i].nodeId, - &historizing); - if (!historizing) { - response->results[i].statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - continue; - } - - const UA_HistorizingNodeIdSettings *setting = ctx->gathering.getHistorizingSetting( - server, - ctx->gathering.context, - &nodesToRead[i].nodeId); - - if (!setting) { - response->results[i].statusCode = UA_STATUSCODE_BADHISTORYOPERATIONINVALID; - continue; - } - - if (historyReadDetails->returnBounds && !setting->historizingBackend.boundSupported( - server, - setting->historizingBackend.context, - sessionId, - sessionContext, - &nodesToRead[i].nodeId)) { - response->results[i].statusCode = UA_STATUSCODE_BADBOUNDNOTSUPPORTED; - continue; - } - - if (!setting->historizingBackend.timestampsToReturnSupported( - server, - setting->historizingBackend.context, - sessionId, - sessionContext, - &nodesToRead[i].nodeId, - timestampsToReturn)) { - response->results[i].statusCode = UA_STATUSCODE_BADTIMESTAMPNOTSUPPORTED; - continue; - } - - UA_NumericRange range; - range.dimensionsSize = 0; - range.dimensions = NULL; - if (nodesToRead[i].indexRange.length > 0) { - UA_StatusCode rangeParseResult = UA_NumericRange_parse(&range, nodesToRead[i].indexRange); - if (rangeParseResult != UA_STATUSCODE_GOOD) { - response->results[i].statusCode = rangeParseResult; - continue; - } - } - - UA_StatusCode getHistoryDataStatusCode; - if (setting->historizingBackend.getHistoryData) { - getHistoryDataStatusCode = setting->historizingBackend.getHistoryData( - server, - sessionId, - sessionContext, - &setting->historizingBackend, - historyReadDetails->startTime, - historyReadDetails->endTime, - &nodesToRead[i].nodeId, - setting->maxHistoryDataResponseSize, - historyReadDetails->numValuesPerNode, - historyReadDetails->returnBounds, - timestampsToReturn, - range, - releaseContinuationPoints, - &nodesToRead[i].continuationPoint, - &response->results[i].continuationPoint, - historyData[i]); - } else { - getHistoryDataStatusCode = getHistoryData_service_default( - &setting->historizingBackend, - historyReadDetails->startTime, - historyReadDetails->endTime, - server, - sessionId, - sessionContext, - &nodesToRead[i].nodeId, - setting->maxHistoryDataResponseSize, - historyReadDetails->numValuesPerNode, - historyReadDetails->returnBounds, - timestampsToReturn, - range, - releaseContinuationPoints, - &nodesToRead[i].continuationPoint, - &response->results[i].continuationPoint, - &historyData[i]->dataValuesSize, - &historyData[i]->dataValues); - } - if (getHistoryDataStatusCode != UA_STATUSCODE_GOOD) { - response->results[i].statusCode = getHistoryDataStatusCode; - continue; - } - } - response->responseHeader.serviceResult = UA_STATUSCODE_GOOD; - return; -} - -static void -setValue_service_default(UA_Server *server, - void *context, - const UA_NodeId *sessionId, - void *sessionContext, - const UA_NodeId *nodeId, - UA_Boolean historizing, - const UA_DataValue *value) -{ - UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)context; - if (ctx->gathering.setValue) - ctx->gathering.setValue(server, - ctx->gathering.context, - sessionId, - sessionContext, - nodeId, - historizing, - value); -} - -static void -clear_service_default(UA_HistoryDatabase *hdb) -{ - if (hdb == NULL || hdb->context == NULL) - return; - UA_HistoryDatabaseContext_default *ctx = (UA_HistoryDatabaseContext_default*)hdb->context; - ctx->gathering.deleteMembers(&ctx->gathering); - UA_free(ctx); -} - -UA_HistoryDatabase -UA_HistoryDatabase_default(UA_HistoryDataGathering gathering) -{ - UA_HistoryDatabase hdb; - memset(&hdb, 0, sizeof(UA_HistoryDatabase)); - UA_HistoryDatabaseContext_default *context = - (UA_HistoryDatabaseContext_default*) - UA_calloc(1, sizeof(UA_HistoryDatabaseContext_default)); - context->gathering = gathering; - hdb.context = context; - hdb.readRaw = &readRaw_service_default; - hdb.setValue = &setValue_service_default; - hdb.updateData = &updateData_service_default; - hdb.deleteRawModified = &deleteRawModified_service_default; - hdb.clear = clear_service_default; - return hdb; -} - -/**** amalgamated original file "/plugins/ua_log_syslog.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#if defined(__linux__) || defined(__unix__) - -#include -#include - -const char *syslogLevelNames[6] = {"trace", "debug", "info", - "warn", "error", "fatal"}; -const char *syslogCategoryNames[UA_LOGCATEGORIES] = - {"network", "channel", "session", "server", "client", - "userland", "securitypolicy", "eventloop", "pubsub", "discovery"}; - -#ifdef __clang__ -__attribute__((__format__(__printf__, 4 , 0))) -#endif -static void -UA_Log_Syslog_log(void *context, UA_LogLevel level, UA_LogCategory category, - const char *msg, va_list args) { - /* Assume that context is casted to UA_LogLevel */ - if(context != NULL && (UA_LogLevel)(uintptr_t)context > level) - return; - - int priority = LOG_INFO; - switch(level) { - case UA_LOGLEVEL_DEBUG: - priority = LOG_DEBUG; - break; - case UA_LOGLEVEL_INFO: - priority = LOG_INFO; - break; - case UA_LOGLEVEL_WARNING: - priority = LOG_WARNING; - break; - case UA_LOGLEVEL_ERROR: - priority = LOG_ERR; - break; - case UA_LOGLEVEL_FATAL: - priority = LOG_CRIT; - break; - case UA_LOGLEVEL_TRACE: - default: - return; - } - - int logLevelSlot = ((int)level / 100) - 1; - if(logLevelSlot < 0 || logLevelSlot > 5) - logLevelSlot = 5; /* Set to fatal if the level is outside the range */ - -#define LOGBUFSIZE 512 - char logbuf[LOGBUFSIZE]; - int pos = snprintf(logbuf, LOGBUFSIZE, "[%s/%s] ", - syslogLevelNames[logLevelSlot], - syslogCategoryNames[category]); - if(pos < 0) { - syslog(LOG_WARNING, "Log message too long for syslog"); - return; - } - pos = vsnprintf(&logbuf[pos], LOGBUFSIZE - (size_t)pos, msg, args); - if(pos < 0) { - syslog(LOG_WARNING, "Log message too long for syslog"); - return; - } - - syslog(priority, "%s", logbuf); -} - -static void -UA_Log_Syslog_clear(UA_Logger *logger) { - /* closelog is optional. We don't use it as several loggers might be - * instantiated in parallel. */ - /* closelog(); */ - UA_free(logger); -} - -UA_Logger -UA_Log_Syslog(void) { - return UA_Log_Syslog_withLevel(UA_LOGLEVEL_TRACE); -} - -UA_Logger -UA_Log_Syslog_withLevel(UA_LogLevel minlevel) { - UA_Logger logger = {UA_Log_Syslog_log, (void*)(uintptr_t)minlevel, NULL}; - return logger; -} - -UA_Logger * -UA_Log_Syslog_new(UA_LogLevel minlevel) { - UA_Logger *logger = (UA_Logger*)UA_malloc(sizeof(UA_Logger)); - if(!logger) - return NULL; - *logger = UA_Log_Syslog_withLevel(minlevel); - logger->clear = UA_Log_Syslog_clear; - return logger; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_pubsub_aes128ctr.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2019 (c) Holger Zipper, ifak - */ - - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Orinigal Notes: - * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SHA256_LENGTH 32 -#define UA_AES128CTR_SIGNING_KEY_LENGTH 32 -#define UA_AES128CTR_KEY_LENGTH 16 -#define UA_AES128CTR_KEYNONCE_LENGTH 4 -#define UA_AES128CTR_MESSAGENONCE_LENGTH 8 -#define UA_AES128CTR_ENCRYPTION_BLOCK_SIZE 16 -#define UA_AES128CTR_PLAIN_TEXT_BLOCK_SIZE 16 -/* counter block=keynonce(4Byte)+Messagenonce(8Byte)+counter(4Byte) see Part14 - * 7.2.2.2.3.2 for details */ -#define UA_AES128CTR_COUNTERBLOCK_SIZE 16 - -typedef struct { - const UA_PubSubSecurityPolicy *securityPolicy; - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha256MdContext; -} PUBSUB_AES128CTR_PolicyContext; - -typedef struct { - PUBSUB_AES128CTR_PolicyContext *policyContext; - UA_Byte signingKey[UA_AES128CTR_SIGNING_KEY_LENGTH]; - UA_Byte encryptingKey[UA_AES128CTR_KEY_LENGTH]; - UA_Byte keyNonce[UA_AES128CTR_KEYNONCE_LENGTH]; - UA_Byte messageNonce[UA_AES128CTR_MESSAGENONCE_LENGTH]; -} PUBSUB_AES128CTR_ChannelContext; - -/*******************/ -/* SymmetricModule */ -/*******************/ - -/* Signature and verify all using HMAC-SHA2-256, nothing to change */ -static UA_StatusCode -verify_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - PUBSUB_AES128CTR_PolicyContext *pc = - (PUBSUB_AES128CTR_PolicyContext *)cc->policyContext; - - unsigned char mac[UA_SHA256_LENGTH]; - UA_ByteString signingKey = - {UA_AES128CTR_SIGNING_KEY_LENGTH, cc->signingKey}; - mbedtls_hmac(&pc->sha256MdContext, &signingKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sign_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, - const UA_ByteString *message, UA_ByteString *signature) { - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString signingKey = - {UA_AES128CTR_SIGNING_KEY_LENGTH, cc->signingKey}; - mbedtls_hmac(&cc->policyContext->sha256MdContext, &signingKey, message, - signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -getSignatureSize_sp_pubsub_aes128ctr(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static size_t -getSigningKeyLength_sp_pubsub_aes128ctr(const void *const channelContext) { - return UA_AES128CTR_SIGNING_KEY_LENGTH; -} - -static size_t -getEncryptionKeyLength_sp_pubsub_aes128ctr(const void *channelContext) { - return UA_AES128CTR_KEY_LENGTH; -} - -static size_t -getEncryptionBlockSize_sp_pubsub_aes128ctr(const void *channelContext) { - return UA_AES128CTR_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -getPlainTextBlockSize_sp_pubsub_aes128ctr(const void *channelContext) { - return UA_AES128CTR_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -encrypt_sp_pubsub_aes128ctr(const PUBSUB_AES128CTR_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* CTR mode does not need padding */ - - /* Decode the header to Extract the message nonce */ - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(UA_AES128CTR_KEY_LENGTH * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->encryptingKey, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Prepare the counterBlock required for encryption/decryption - * Block counter starts at 1 according to part 14 (7.2.2.4.3.2)*/ - UA_Byte counterBlockCopy[UA_AES128CTR_ENCRYPTION_BLOCK_SIZE]; - UA_Byte counterInitialValue[4] = {0,0,0,1}; - memcpy(counterBlockCopy, cc->keyNonce, UA_AES128CTR_KEYNONCE_LENGTH); - memcpy(counterBlockCopy + UA_AES128CTR_KEYNONCE_LENGTH, - cc->messageNonce, UA_AES128CTR_MESSAGENONCE_LENGTH); - memcpy(counterBlockCopy + UA_AES128CTR_KEYNONCE_LENGTH + - UA_AES128CTR_MESSAGENONCE_LENGTH, &counterInitialValue, 4); - - size_t counterblockoffset = 0; - UA_Byte aesBuffer[UA_AES128CTR_ENCRYPTION_BLOCK_SIZE]; - mbedErr = mbedtls_aes_crypt_ctr(&aesContext, data->length, &counterblockoffset, - counterBlockCopy, aesBuffer, data->data, data->data); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -/* a decryption function is exactly the same as an encryption one, since they all do XOR - * operations*/ -static UA_StatusCode -decrypt_sp_pubsub_aes128ctr(const PUBSUB_AES128CTR_ChannelContext *cc, - UA_ByteString *data) { - return encrypt_sp_pubsub_aes128ctr(cc, data); -} - -/*Tested, meeting Profile*/ -static UA_StatusCode -generateKey_sp_pubsub_aes128ctr(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - return UA_STATUSCODE_BADNOTIMPLEMENTED; -} - -/* This nonce does not need to be a cryptographically random number, it can be - * pseudo-random */ -static UA_StatusCode -generateNonce_sp_pubsub_aes128ctr(void *policyContext, UA_ByteString *out) { - if(policyContext == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - PUBSUB_AES128CTR_PolicyContext *pc = (PUBSUB_AES128CTR_PolicyContext *)policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -static void -channelContext_deleteContext_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc) { - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_pubsub_aes128ctr(void *policyContext, - const UA_ByteString *signingKey, - const UA_ByteString *encryptingKey, - const UA_ByteString *keyNonce, - void **wgContext) { - if((signingKey && signingKey->length != UA_AES128CTR_SIGNING_KEY_LENGTH) || - (encryptingKey && encryptingKey->length != UA_AES128CTR_KEY_LENGTH) || - (keyNonce && keyNonce->length != UA_AES128CTR_KEYNONCE_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Allocate the channel context */ - PUBSUB_AES128CTR_ChannelContext *cc = (PUBSUB_AES128CTR_ChannelContext *) - UA_calloc(1, sizeof(PUBSUB_AES128CTR_ChannelContext)); - if(cc == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Initialize the channel context */ - cc->policyContext = (PUBSUB_AES128CTR_PolicyContext *)policyContext; - if(signingKey) - memcpy(cc->signingKey, signingKey->data, signingKey->length); - if(encryptingKey) - memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); - if(keyNonce) - memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); - *wgContext = cc; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -channelContext_setKeys_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, - const UA_ByteString *signingKey, - const UA_ByteString *encryptingKey, - const UA_ByteString *keyNonce) { - if(!cc) - return UA_STATUSCODE_BADINTERNALERROR; - if(!signingKey || signingKey->length != UA_AES128CTR_SIGNING_KEY_LENGTH || - !encryptingKey || encryptingKey->length != UA_AES128CTR_KEY_LENGTH || - !keyNonce || keyNonce->length != UA_AES128CTR_KEYNONCE_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - memcpy(cc->signingKey, signingKey->data, signingKey->length); - memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); - memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -channelContext_setMessageNonce_sp_pubsub_aes128ctr(PUBSUB_AES128CTR_ChannelContext *cc, - const UA_ByteString *nonce) { - if(nonce->length != UA_AES128CTR_MESSAGENONCE_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - memcpy(cc->messageNonce, nonce->data, nonce->length); - return UA_STATUSCODE_GOOD; -} - -static void -deleteMembers_sp_pubsub_aes128ctr(UA_PubSubSecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - PUBSUB_AES128CTR_PolicyContext *pc = - (PUBSUB_AES128CTR_PolicyContext *)securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_md_free(&pc->sha256MdContext); - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_PUBSUB_AES128CTR"); - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -policyContext_newContext_sp_pubsub_aes128ctr(UA_PubSubSecurityPolicy *securityPolicy) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - PUBSUB_AES128CTR_PolicyContext *pc = (PUBSUB_AES128CTR_PolicyContext *) - UA_calloc(1, sizeof(PUBSUB_AES128CTR_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(PUBSUB_AES128CTR_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_md_init(&pc->sha256MdContext); - pc->securityPolicy = securityPolicy; - - /* Initialized the message digest */ - const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); - int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext"); - if(securityPolicy->policyContext != NULL) - deleteMembers_sp_pubsub_aes128ctr(securityPolicy); - return retval; -} - -UA_StatusCode -UA_PubSubSecurityPolicy_Aes128Ctr(UA_PubSubSecurityPolicy *policy, - const UA_Logger *logger) { - memset(policy, 0, sizeof(UA_PubSubSecurityPolicy)); - policy->logger = logger; - - policy->policyUri = - UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes128-CTR"); - - UA_SecurityPolicySymmetricModule *symmetricModule = &policy->symmetricModule; - - /* SymmetricModule */ - symmetricModule->generateKey = generateKey_sp_pubsub_aes128ctr; - symmetricModule->generateNonce = generateNonce_sp_pubsub_aes128ctr; - - UA_SecurityPolicySignatureAlgorithm *signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - signatureAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#sha256"); - signatureAlgorithm->verify = - (UA_StatusCode(*)(void *, const UA_ByteString *, - const UA_ByteString *))verify_sp_pubsub_aes128ctr; - signatureAlgorithm->sign = - (UA_StatusCode(*)(void *, const UA_ByteString *, UA_ByteString *))sign_sp_pubsub_aes128ctr; - signatureAlgorithm->getLocalSignatureSize = getSignatureSize_sp_pubsub_aes128ctr; - signatureAlgorithm->getRemoteSignatureSize = getSignatureSize_sp_pubsub_aes128ctr; - signatureAlgorithm->getLocalKeyLength = - (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes128ctr; - signatureAlgorithm->getRemoteKeyLength = - (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes128ctr; - - UA_SecurityPolicyEncryptionAlgorithm *encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - encryptionAlgorithm->uri = - UA_STRING("https://tools.ietf.org/html/rfc3686"); /* Temp solution */ - encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))encrypt_sp_pubsub_aes128ctr; - encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))decrypt_sp_pubsub_aes128ctr; - encryptionAlgorithm->getLocalKeyLength = - getEncryptionKeyLength_sp_pubsub_aes128ctr; - encryptionAlgorithm->getRemoteKeyLength = - getEncryptionKeyLength_sp_pubsub_aes128ctr; - encryptionAlgorithm->getRemoteBlockSize = - (size_t(*)(const void *))getEncryptionBlockSize_sp_pubsub_aes128ctr; - encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t(*)(const void *))getPlainTextBlockSize_sp_pubsub_aes128ctr; - symmetricModule->secureChannelNonceLength = UA_AES128CTR_SIGNING_KEY_LENGTH + - UA_AES128CTR_KEY_LENGTH + UA_AES128CTR_KEYNONCE_LENGTH; - - /* ChannelModule */ - policy->newContext = channelContext_newContext_sp_pubsub_aes128ctr; - policy->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_pubsub_aes128ctr; - - policy->setSecurityKeys = (UA_StatusCode(*)(void *, const UA_ByteString *, - const UA_ByteString *, - const UA_ByteString *)) - channelContext_setKeys_sp_pubsub_aes128ctr; - policy->setMessageNonce = (UA_StatusCode(*)(void *, const UA_ByteString *)) - channelContext_setMessageNonce_sp_pubsub_aes128ctr; - policy->clear = deleteMembers_sp_pubsub_aes128ctr; - policy->policyContext = NULL; - - /* Initialize the policyContext */ - return policyContext_newContext_sp_pubsub_aes128ctr(policy); -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/securitypolicy_pubsub_aes256ctr.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2019 (c) Holger Zipper, ifak - */ - - -#ifdef UA_ENABLE_PUBSUB_ENCRYPTION - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Orinigal Notes: - * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SHA256_LENGTH 32 -#define UA_AES256CTR_SIGNING_KEY_LENGTH 32 -#define UA_AES256CTR_KEY_LENGTH 32 -#define UA_AES256CTR_KEYNONCE_LENGTH 4 -#define UA_AES256CTR_MESSAGENONCE_LENGTH 8 -#define UA_AES256CTR_ENCRYPTION_BLOCK_SIZE 16 -#define UA_AES256CTR_PLAIN_TEXT_BLOCK_SIZE 16 -// counter block=keynonce(4Byte)+Messagenonce(8Byte)+counter(4Byte) see Part14 7.2.2.2.3.2 -// for details -#define UA_AES256CTR_COUNTERBLOCK_SIZE 16 - -typedef struct { - const UA_PubSubSecurityPolicy *securityPolicy; - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha256MdContext; -} PUBSUB_AES256CTR_PolicyContext; - -typedef struct { - PUBSUB_AES256CTR_PolicyContext *policyContext; - UA_Byte signingKey[UA_AES256CTR_SIGNING_KEY_LENGTH]; - UA_Byte encryptingKey[UA_AES256CTR_KEY_LENGTH]; - UA_Byte keyNonce[UA_AES256CTR_KEYNONCE_LENGTH]; - UA_Byte messageNonce[UA_AES256CTR_MESSAGENONCE_LENGTH]; -} PUBSUB_AES256CTR_ChannelContext; - -/*Signature and verify all using HMAC-SHA2-256, nothing to change*/ -static UA_StatusCode -verify_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA256_LENGTH) { - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - PUBSUB_AES256CTR_PolicyContext *pc = - (PUBSUB_AES256CTR_PolicyContext *)cc->policyContext; - - unsigned char mac[UA_SHA256_LENGTH]; - UA_ByteString signingKey = - {UA_AES256CTR_SIGNING_KEY_LENGTH, cc->signingKey}; - mbedtls_hmac(&pc->sha256MdContext, &signingKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sign_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, - const UA_ByteString *message, UA_ByteString *signature) { - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString signingKey = - {UA_AES256CTR_SIGNING_KEY_LENGTH, cc->signingKey}; - mbedtls_hmac(&cc->policyContext->sha256MdContext, &signingKey, message, - signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -getSignatureSize_sp_pubsub_aes256ctr(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static size_t -getSigningKeyLength_sp_pubsub_aes256ctr(const void *const channelContext) { - return UA_AES256CTR_SIGNING_KEY_LENGTH; -} - -static size_t -getEncryptionKeyLength_sp_pubsub_aes256ctr(const void *channelContext) { - return UA_AES256CTR_KEY_LENGTH; -} - -static size_t -getEncryptionBlockSize_sp_pubsub_aes256ctr(const void *const channelContext) { - return UA_AES256CTR_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -getPlainTextBlockSize_sp_pubsub_aes256ctr(const void *const channelContext) { - return UA_AES256CTR_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -encrypt_sp_pubsub_aes256ctr(const PUBSUB_AES256CTR_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* CTR mode does not need padding */ - - /* Decode the header to Extract the message nonce */ - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(UA_AES256CTR_KEY_LENGTH * 8); - mbedtls_aes_context aesContext; - int mbedErr = - mbedtls_aes_setkey_enc(&aesContext, cc->encryptingKey, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Prepare the counterBlock required for encryption/decryption - * Block counter starts at 1 according to part 14 (7.2.2.4.3.2)*/ - UA_Byte counterBlockCopy[UA_AES256CTR_ENCRYPTION_BLOCK_SIZE]; - UA_Byte counterInitialValue[4] = {0,0,0,1}; - memcpy(counterBlockCopy, cc->keyNonce, UA_AES256CTR_KEYNONCE_LENGTH); - memcpy(counterBlockCopy + UA_AES256CTR_KEYNONCE_LENGTH, - cc->messageNonce, UA_AES256CTR_MESSAGENONCE_LENGTH); - memcpy(counterBlockCopy + UA_AES256CTR_KEYNONCE_LENGTH + - UA_AES256CTR_MESSAGENONCE_LENGTH, &counterInitialValue, 4); - - size_t counterblockoffset = 0; - UA_Byte aesBuffer[UA_AES256CTR_ENCRYPTION_BLOCK_SIZE]; - mbedErr = mbedtls_aes_crypt_ctr(&aesContext, data->length, &counterblockoffset, - counterBlockCopy, aesBuffer, data->data, data->data); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -/* a decryption function is exactly the same as an encryption one, since they all do XOR - * operations*/ -static UA_StatusCode -decrypt_sp_pubsub_aes256ctr(const PUBSUB_AES256CTR_ChannelContext *cc, - UA_ByteString *data) { - return encrypt_sp_pubsub_aes256ctr(cc, data); -} - -/*Tested, meeting Profile*/ -static UA_StatusCode -generateKey_sp_pubsub_aes256ctr(void *policyContext, - const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - if(policyContext == NULL || secret == NULL || seed == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - PUBSUB_AES256CTR_PolicyContext *pc = (PUBSUB_AES256CTR_PolicyContext *)policyContext; - - return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); -} -/* This nonce does not to be a -cryptographically random number, it can be pseudo-random */ -static UA_StatusCode -generateNonce_sp_pubsub_aes256ctr(void *policyContext, UA_ByteString *out) { - if(policyContext == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - PUBSUB_AES256CTR_PolicyContext *pc = - (PUBSUB_AES256CTR_PolicyContext *) policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -static void -channelContext_deleteContext_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc) { - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_pubsub_aes256ctr(void *policyContext, - const UA_ByteString *signingKey, - const UA_ByteString *encryptingKey, - const UA_ByteString *keyNonce, - void **wgContext) { - - if((signingKey && signingKey->length != UA_AES256CTR_SIGNING_KEY_LENGTH) || - (encryptingKey && encryptingKey->length != UA_AES256CTR_KEY_LENGTH) || - (keyNonce && keyNonce->length != UA_AES256CTR_KEYNONCE_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Allocate the channel context */ - PUBSUB_AES256CTR_ChannelContext *cc = (PUBSUB_AES256CTR_ChannelContext *) - UA_calloc(1, sizeof(PUBSUB_AES256CTR_ChannelContext)); - if(cc == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Initialize the channel context */ - cc->policyContext = (PUBSUB_AES256CTR_PolicyContext *)policyContext; - if(signingKey) - memcpy(cc->signingKey, signingKey->data, signingKey->length); - if(encryptingKey) - memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); - if(keyNonce) - memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); - *wgContext = cc; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -channelContext_setKeys_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, - const UA_ByteString *signingKey, - const UA_ByteString *encryptingKey, - const UA_ByteString *keyNonce) { - if(!cc) - return UA_STATUSCODE_BADINTERNALERROR; - if(!signingKey || signingKey->length != UA_AES256CTR_SIGNING_KEY_LENGTH || - !encryptingKey || encryptingKey->length != UA_AES256CTR_KEY_LENGTH || - !keyNonce || keyNonce->length != UA_AES256CTR_KEYNONCE_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - memcpy(cc->signingKey, signingKey->data, signingKey->length); - memcpy(cc->encryptingKey, encryptingKey->data, encryptingKey->length); - memcpy(cc->keyNonce, keyNonce->data, keyNonce->length); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -channelContext_setMessageNonce_sp_pubsub_aes256ctr(PUBSUB_AES256CTR_ChannelContext *cc, - const UA_ByteString *nonce) { - if(nonce->length != UA_AES256CTR_MESSAGENONCE_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - memcpy(cc->messageNonce, nonce->data, nonce->length); - return UA_STATUSCODE_GOOD; -} - -static void -deleteMembers_sp_pubsub_aes256ctr(UA_PubSubSecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - PUBSUB_AES256CTR_PolicyContext *pc = - (PUBSUB_AES256CTR_PolicyContext *)securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_md_free(&pc->sha256MdContext); - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_PUBSUB_AES256CTR"); - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -policyContext_newContext_sp_pubsub_aes256ctr(UA_PubSubSecurityPolicy *securityPolicy) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - PUBSUB_AES256CTR_PolicyContext *pc = (PUBSUB_AES256CTR_PolicyContext *) - UA_calloc(1, sizeof(PUBSUB_AES256CTR_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(PUBSUB_AES256CTR_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_md_init(&pc->sha256MdContext); - pc->securityPolicy = securityPolicy; - - /* Initialized the message digest */ - const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); - int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - return retval; - - error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext"); - if(securityPolicy->policyContext != NULL) - deleteMembers_sp_pubsub_aes256ctr(securityPolicy); - return retval; -} - -UA_StatusCode -UA_PubSubSecurityPolicy_Aes256Ctr(UA_PubSubSecurityPolicy *policy, - const UA_Logger *logger) { - memset(policy, 0, sizeof(UA_PubSubSecurityPolicy)); - policy->logger = logger; - - policy->policyUri = - UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes256-CTR"); - - UA_SecurityPolicySymmetricModule *symmetricModule = &policy->symmetricModule; - - /* SymmetricModule */ - symmetricModule->generateKey = generateKey_sp_pubsub_aes256ctr; - symmetricModule->generateNonce = generateNonce_sp_pubsub_aes256ctr; - - UA_SecurityPolicySignatureAlgorithm *signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - signatureAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#sha256"); - signatureAlgorithm->verify = - (UA_StatusCode(*)(void *, const UA_ByteString *, - const UA_ByteString *))verify_sp_pubsub_aes256ctr; - signatureAlgorithm->sign = - (UA_StatusCode(*)(void *, const UA_ByteString *, UA_ByteString *))sign_sp_pubsub_aes256ctr; - signatureAlgorithm->getLocalSignatureSize = getSignatureSize_sp_pubsub_aes256ctr; - signatureAlgorithm->getRemoteSignatureSize = getSignatureSize_sp_pubsub_aes256ctr; - signatureAlgorithm->getLocalKeyLength = - (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes256ctr; - signatureAlgorithm->getRemoteKeyLength = - (size_t(*)(const void *))getSigningKeyLength_sp_pubsub_aes256ctr; - - UA_SecurityPolicyEncryptionAlgorithm *encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - encryptionAlgorithm->uri = - UA_STRING("https://tools.ietf.org/html/rfc3686"); /* Temp solution */ - encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))encrypt_sp_pubsub_aes256ctr; - encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))decrypt_sp_pubsub_aes256ctr; - encryptionAlgorithm->getLocalKeyLength = - getEncryptionKeyLength_sp_pubsub_aes256ctr; - encryptionAlgorithm->getRemoteKeyLength = - getEncryptionKeyLength_sp_pubsub_aes256ctr; - encryptionAlgorithm->getRemoteBlockSize = - (size_t(*)(const void *))getEncryptionBlockSize_sp_pubsub_aes256ctr; - encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t(*)(const void *))getPlainTextBlockSize_sp_pubsub_aes256ctr; - symmetricModule->secureChannelNonceLength = UA_AES256CTR_SIGNING_KEY_LENGTH + - UA_AES256CTR_KEY_LENGTH + UA_AES256CTR_KEYNONCE_LENGTH; - - /* ChannelModule */ - policy->newContext = channelContext_newContext_sp_pubsub_aes256ctr; - policy->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_pubsub_aes256ctr; - - policy->setSecurityKeys = (UA_StatusCode(*)(void *, const UA_ByteString *, - const UA_ByteString *, - const UA_ByteString *)) - channelContext_setKeys_sp_pubsub_aes256ctr; - policy->setMessageNonce = (UA_StatusCode(*)(void *, const UA_ByteString *)) - channelContext_setMessageNonce_sp_pubsub_aes256ctr; - policy->clear = deleteMembers_sp_pubsub_aes256ctr; - policy->policyContext = NULL; - - /* Initialize the policyContext */ - return policyContext_newContext_sp_pubsub_aes256ctr(policy); -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_basic128rsa15.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018-2019 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2018 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - * - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - - -#include -#include -#include -#include -#include -#include -#include -#include - -/* Notes: - * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN 11 -#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_KEY_LENGTH 16 -#define UA_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH 16 -#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC128RSA15_MINASYMKEYLENGTH 128 -#define UA_SECURITYPOLICY_BASIC128RSA15_MAXASYMKEYLENGTH 512 - -typedef struct { - UA_ByteString localCertThumbprint; - - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha1MdContext; - mbedtls_pk_context localPrivateKey; -} Basic128Rsa15_PolicyContext; - -typedef struct { - Basic128Rsa15_PolicyContext *policyContext; - - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - mbedtls_x509_crt remoteCertificate; -} Basic128Rsa15_ChannelContext; - -/********************/ -/* AsymmetricModule */ -/********************/ - -static UA_StatusCode -asym_verify_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - return mbedtls_verifySig_sha1(&cc->remoteCertificate, message, signature); -} - -static UA_StatusCode -asym_sign_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic128Rsa15_PolicyContext *pc = cc->policyContext; - return mbedtls_sign_sha1(&pc->localPrivateKey, &pc->drbgContext, - message, signature); -} - -static size_t -asym_getLocalSignatureSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); -#endif -} - -static size_t -asym_getRemoteSignatureSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static UA_StatusCode -asym_encrypt_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); - -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - size_t keylen = remoteRsaContext->len; -#else - size_t keylen = mbedtls_rsa_get_len(remoteRsaContext); -#endif - size_t plainTextBlockSize = - keylen - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t blocks = data->length / plainTextBlockSize; - UA_ByteString encrypted; - UA_StatusCode retval = UA_ByteString_allocBuffer(&encrypted, blocks * keylen); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - size_t lenDataToEncrypt = data->length; - size_t inOffset = 0; - size_t offset = 0; - size_t outLength = 0; - Basic128Rsa15_PolicyContext *pc = cc->policyContext; - while(lenDataToEncrypt >= plainTextBlockSize) { - int mbedErr = mbedtls_pk_encrypt(&cc->remoteCertificate.pk, - data->data + inOffset, plainTextBlockSize, - encrypted.data + offset, &outLength, - encrypted.length - offset, - mbedtls_ctr_drbg_random, - &pc->drbgContext); - if(mbedErr) { - UA_ByteString_clear(&encrypted); - return UA_STATUSCODE_BADINTERNALERROR; - } - - inOffset += plainTextBlockSize; - offset += outLength; - lenDataToEncrypt -= plainTextBlockSize; - } - - memcpy(data->data, encrypted.data, offset); - UA_ByteString_clear(&encrypted); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -asym_decrypt_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic128Rsa15_PolicyContext *pc = cc->policyContext; - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE); -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - size_t keylen = rsaContext->len; -#else - size_t keylen = mbedtls_rsa_get_len(rsaContext); -#endif - if(data->length % keylen != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t inOffset = 0; - size_t outOffset = 0; - size_t outLength = 0; - unsigned char buf[512]; - - while(inOffset < data->length) { - int mbedErr = mbedtls_pk_decrypt(&pc->localPrivateKey, - data->data + inOffset, keylen, - buf, &outLength, 512, - mbedtls_ctr_drbg_random, - &pc->drbgContext); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - memcpy(data->data + outOffset, buf, outLength); - inOffset += keylen; - outOffset += outLength; - } - - data->length = outOffset; - return UA_STATUSCODE_GOOD; -} - -static size_t -asym_getLocalEncryptionKeyLength_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemoteEncryptionKeyLength_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; -} - -static size_t -asym_getRemoteBlockSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemotePlainTextBlockSize_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; -#endif -} - -static UA_StatusCode -asym_makeThumbprint_sp_basic128rsa15(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_thumbprint_sha1(certificate, thumbprint); -} - -static UA_StatusCode -asymmetricModule_compareCertificateThumbprint_sp_basic128rsa15(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - - return UA_STATUSCODE_GOOD; -} - -/*******************/ -/* SymmetricModule */ -/*******************/ - -static UA_StatusCode -sym_verify_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA1_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - Basic128Rsa15_PolicyContext *pc = cc->policyContext; - - unsigned char mac[UA_SHA1_LENGTH]; - mbedtls_hmac(&pc->sha1MdContext, &cc->remoteSymSigningKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA1_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sym_sign_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(signature->length != UA_SHA1_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_hmac(&cc->policyContext->sha1MdContext, &cc->localSymSigningKey, - message, signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -sym_getSignatureSize_sp_basic128rsa15(const void *channelContext) { - return UA_SHA1_LENGTH; -} - -static size_t -sym_getSigningKeyLength_sp_basic128rsa15(const void *const channelContext) { - return UA_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -sym_getEncryptionKeyLength_sp_basic128rsa15(const void *channelContext) { - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_KEY_LENGTH; -} - -static size_t -sym_getEncryptionBlockSize_sp_basic128rsa15(const void *const channelContext) { - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -sym_getPlainTextBlockSize_sp_basic128rsa15(const void *const channelContext) { - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -sym_encrypt_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(cc->localSymIv.length != UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t plainTextBlockSize = UA_SECURITYPOLICY_BASIC128RSA15_SYM_PLAIN_TEXT_BLOCK_SIZE; - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_decrypt_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t encryptionBlockSize = UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE; - if(cc->remoteSymIv.length != encryptionBlockSize) - return UA_STATUSCODE_BADINTERNALERROR; - - if(data->length % encryptionBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_dec(&aesContext, - cc->remoteSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_generateKey_sp_basic128rsa15(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - if(secret == NULL || seed == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)policyContext; - return mbedtls_generateKey(&pc->sha1MdContext, secret, seed, out); -} - -static UA_StatusCode -sym_generateNonce_sp_basic128rsa15(void *policyContext, UA_ByteString *out) { - if(out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -/* Assumes that the certificate has been verified externally */ -static UA_StatusCode -parseRemoteCertificate_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *remoteCertificate) { - if(remoteCertificate == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Parse the certificate */ - int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, - remoteCertificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Check the key length */ -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - if(rsaContext->len < UA_SECURITYPOLICY_BASIC128RSA15_MINASYMKEYLENGTH || - rsaContext->len > UA_SECURITYPOLICY_BASIC128RSA15_MAXASYMKEYLENGTH) - return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; -#else - size_t keylen = mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); - if(keylen < UA_SECURITYPOLICY_BASIC128RSA15_MINASYMKEYLENGTH || - keylen > UA_SECURITYPOLICY_BASIC128RSA15_MAXASYMKEYLENGTH) - return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; -#endif - return UA_STATUSCODE_GOOD; -} - -static void -channelContext_deleteContext_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc) { - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - mbedtls_x509_crt_free(&cc->remoteCertificate); - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_basic128rsa15(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **pp_contextData) { - if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate the channel context */ - *pp_contextData = UA_malloc(sizeof(Basic128Rsa15_ChannelContext)); - if(*pp_contextData == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - Basic128Rsa15_ChannelContext *cc = (Basic128Rsa15_ChannelContext *)*pp_contextData; - - /* Initialize the channel context */ - cc->policyContext = (Basic128Rsa15_PolicyContext *)securityPolicy->policyContext; - - UA_ByteString_init(&cc->localSymSigningKey); - UA_ByteString_init(&cc->localSymEncryptingKey); - UA_ByteString_init(&cc->localSymIv); - - UA_ByteString_init(&cc->remoteSymSigningKey); - UA_ByteString_init(&cc->remoteSymEncryptingKey); - UA_ByteString_init(&cc->remoteSymIv); - - mbedtls_x509_crt_init(&cc->remoteCertificate); - - // TODO: this can be optimized so that we dont allocate memory before parsing the certificate - UA_StatusCode retval = parseRemoteCertificate_sp_basic128rsa15(cc, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - channelContext_deleteContext_sp_basic128rsa15(cc); - *pp_contextData = NULL; - } - return retval; -} - -static UA_StatusCode -channelContext_setLocalSymEncryptingKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setLocalSymSigningKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - - -static UA_StatusCode -channelContext_setLocalSymIv_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -channelContext_setRemoteSymEncryptingKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setRemoteSymSigningKey_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -channelContext_setRemoteSymIv_sp_basic128rsa15(Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(iv, &cc->remoteSymIv); -} - -static UA_StatusCode -channelContext_compareCertificate_sp_basic128rsa15(const Basic128Rsa15_ChannelContext *cc, - const UA_ByteString *certificate) { - if(cc == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(cert.raw.len != cc->remoteCertificate.raw.len || - memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - mbedtls_x509_crt_free(&cert); - return retval; -} - -static void -clear_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *) - securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_md_free(&pc->sha1MdContext); - UA_ByteString_clear(&pc->localCertThumbprint); - - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_basic128rsa15"); - - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *)securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_pk_init(&pc->localPrivateKey); - int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - retval = asym_makeThumbprint_sp_basic128rsa15(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return retval; - - error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - clear_sp_basic128rsa15(securityPolicy); - return retval; -} - -static UA_StatusCode -policyContext_newContext_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if (localPrivateKey.length == 0) { - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Can not initialize security policy. Private key is empty."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Basic128Rsa15_PolicyContext *pc = (Basic128Rsa15_PolicyContext *) - UA_malloc(sizeof(Basic128Rsa15_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(Basic128Rsa15_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_pk_init(&pc->localPrivateKey); - mbedtls_md_init(&pc->sha1MdContext); - - /* Initialized the message digest */ - const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); - int mbedErr = mbedtls_md_setup(&pc->sha1MdContext, mdInfo, MBEDTLS_MD_SHA1); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the private key */ - mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the local certificate thumbprint */ - retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); - if(retval != UA_STATUSCODE_GOOD) - goto error; - retval = asym_makeThumbprint_sp_basic128rsa15(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return UA_STATUSCODE_GOOD; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext: %s", UA_StatusCode_name(retval)); - if(securityPolicy->policyContext != NULL) - clear_sp_basic128rsa15(securityPolicy); - return retval; -} - -UA_StatusCode -UA_SecurityPolicy_Basic128Rsa15(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, const UA_Logger *logger) { - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "!! WARNING !! The Basic128Rsa15 SecurityPolicy is unsecure. " - "There are known attacks that break the encryption."); - - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15\0"); - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule */ - UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); - asym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_basic128rsa15; - asym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_basic128rsa15; - asym_signatureAlgorithm->getLocalSignatureSize = - (size_t (*)(const void *))asym_getLocalSignatureSize_sp_basic128rsa15; - asym_signatureAlgorithm->getRemoteSignatureSize = - (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_basic128rsa15; - asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function - asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function - - UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-1_5"); - asym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_basic128rsa15; - asym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *)) asym_decrypt_sp_basic128rsa15; - asym_encryptionAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_basic128rsa15; - asym_encryptionAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_basic128rsa15; - asym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))asym_getRemoteBlockSize_sp_basic128rsa15; - asym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_basic128rsa15; - - asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_basic128rsa15; - asymmetricModule->compareCertificateThumbprint = - asymmetricModule_compareCertificateThumbprint_sp_basic128rsa15; - - /* SymmetricModule */ - symmetricModule->generateKey = sym_generateKey_sp_basic128rsa15; - symmetricModule->generateNonce = sym_generateNonce_sp_basic128rsa15; - - UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - sym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); - sym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, - const UA_ByteString *))sym_verify_sp_basic128rsa15; - sym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_basic128rsa15; - sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_basic128rsa15; - sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_basic128rsa15; - sym_signatureAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic128rsa15; - sym_signatureAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic128rsa15; - - UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc"); - sym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_basic128rsa15; - sym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_basic128rsa15; - sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_basic128rsa15; - sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_basic128rsa15; - sym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_basic128rsa15; - sym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_basic128rsa15; - symmetricModule->secureChannelNonceLength = 16; - - // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - /* ChannelModule */ - channelModule->newContext = channelContext_newContext_sp_basic128rsa15; - channelModule->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_basic128rsa15; - - channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymEncryptingKey_sp_basic128rsa15; - channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymSigningKey_sp_basic128rsa15; - channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymIv_sp_basic128rsa15; - - channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymEncryptingKey_sp_basic128rsa15; - channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymSigningKey_sp_basic128rsa15; - channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymIv_sp_basic128rsa15; - - channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) - channelContext_compareCertificate_sp_basic128rsa15; - - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic128rsa15; - policy->clear = clear_sp_basic128rsa15; - - UA_StatusCode res = policyContext_newContext_sp_basic128rsa15(policy, localPrivateKey); - if(res != UA_STATUSCODE_GOOD) - clear_sp_basic128rsa15(policy); - - return res; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_basic256.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - * - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - - -#include -#include -#include -#include -#include - -/* Notes: - * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN 42 -#define UA_SHA1_LENGTH 20 -#define UA_BASIC256_SYM_SIGNING_KEY_LENGTH 24 -#define UA_SECURITYPOLICY_BASIC256_SYM_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256_MINASYMKEYLENGTH 128 -#define UA_SECURITYPOLICY_BASIC256_MAXASYMKEYLENGTH 512 - -typedef struct { - UA_ByteString localCertThumbprint; - - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha1MdContext; - mbedtls_pk_context localPrivateKey; -} Basic256_PolicyContext; - -typedef struct { - Basic256_PolicyContext *policyContext; - - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - mbedtls_x509_crt remoteCertificate; -} Basic256_ChannelContext; - -/********************/ -/* AsymmetricModule */ -/********************/ - -/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_verify_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - return mbedtls_verifySig_sha1(&cc->remoteCertificate, message, signature); -} - -/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_sign_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic256_PolicyContext *pc = cc->policyContext; - return mbedtls_sign_sha1(&pc->localPrivateKey, &pc->drbgContext, - message, signature); -} - -static size_t -asym_getLocalSignatureSize_sp_basic256(const Basic256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); -#endif -} - -static size_t -asym_getRemoteSignatureSize_sp_basic256(const Basic256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemotePlainTextBlockSize_sp_basic256(const Basic256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len - UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - - UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN; -#endif -} - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ -static UA_StatusCode -asym_encrypt_sp_basic256(Basic256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_basic256(cc); - - mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); - - return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, - data, plainTextBlockSize); -} - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ -static UA_StatusCode -asym_decrypt_sp_basic256(Basic256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, - &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA1); -} - -static size_t -asym_getLocalEncryptionKeyLength_sp_basic256(const Basic256_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; -} - -static size_t -asym_getRemoteEncryptionKeyLength_sp_basic256(const Basic256_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; -} - -static size_t -asym_getRemoteBlockSize_sp_basic256(const Basic256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static UA_StatusCode -asym_makeThumbprint_sp_basic256(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_thumbprint_sha1(certificate, thumbprint); -} - -static UA_StatusCode -asymmetricModule_compareCertificateThumbprint_sp_basic256(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic256_PolicyContext *pc = (Basic256_PolicyContext *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - - return UA_STATUSCODE_GOOD; -} - -/*******************/ -/* SymmetricModule */ -/*******************/ - -static UA_StatusCode -sym_verify_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA1_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - Basic256_PolicyContext *pc = cc->policyContext; - - unsigned char mac[UA_SHA1_LENGTH]; - mbedtls_hmac(&pc->sha1MdContext, &cc->remoteSymSigningKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA1_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sym_sign_sp_basic256(const Basic256_ChannelContext *cc, - const UA_ByteString *message, UA_ByteString *signature) { - if(signature->length != UA_SHA1_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_hmac(&cc->policyContext->sha1MdContext, &cc->localSymSigningKey, - message, signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -sym_getSignatureSize_sp_basic256(const void *channelContext) { - return UA_SHA1_LENGTH; -} - -static size_t -sym_getSigningKeyLength_sp_basic256(const void *const channelContext) { - return UA_BASIC256_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -sym_getEncryptionKeyLength_sp_basic256(const void *channelContext) { - return UA_SECURITYPOLICY_BASIC256_SYM_KEY_LENGTH; -} - -static size_t -sym_getEncryptionBlockSize_sp_basic256(const void *const channelContext) { - return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -sym_getPlainTextBlockSize_sp_basic256(const void *const channelContext) { - return UA_SECURITYPOLICY_BASIC256_SYM_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -sym_encrypt_sp_basic256(const Basic256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(cc->localSymIv.length != UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t plainTextBlockSize = UA_SECURITYPOLICY_BASIC256_SYM_PLAIN_TEXT_BLOCK_SIZE; - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_decrypt_sp_basic256(const Basic256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t encryptionBlockSize = UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE; - if(cc->remoteSymIv.length != encryptionBlockSize) - return UA_STATUSCODE_BADINTERNALERROR; - - if(data->length % encryptionBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_generateKey_sp_basic256(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - if(secret == NULL || seed == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Basic256_PolicyContext *pc = (Basic256_PolicyContext *)policyContext; - return mbedtls_generateKey(&pc->sha1MdContext, secret, seed, out); -} - -static UA_StatusCode -sym_generateNonce_sp_basic256(void *policyContext, UA_ByteString *out) { - if(out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Basic256_PolicyContext *pc = (Basic256_PolicyContext *)policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -/* Assumes that the certificate has been verified externally */ -static UA_StatusCode -parseRemoteCertificate_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *remoteCertificate) { - if(remoteCertificate == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Parse the certificate */ - int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, - remoteCertificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Check the key length */ -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - size_t keylen = rsaContext->len; -#else - size_t keylen = mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif - if(keylen < UA_SECURITYPOLICY_BASIC256_MINASYMKEYLENGTH || - keylen > UA_SECURITYPOLICY_BASIC256_MAXASYMKEYLENGTH) - return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; - - return UA_STATUSCODE_GOOD; -} - -static void -channelContext_deleteContext_sp_basic256(Basic256_ChannelContext *cc) { - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - mbedtls_x509_crt_free(&cc->remoteCertificate); - - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_basic256(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **pp_contextData) { - if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate the channel context */ - *pp_contextData = UA_malloc(sizeof(Basic256_ChannelContext)); - if(*pp_contextData == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - Basic256_ChannelContext *cc = (Basic256_ChannelContext *)*pp_contextData; - - /* Initialize the channel context */ - cc->policyContext = (Basic256_PolicyContext *)securityPolicy->policyContext; - - UA_ByteString_init(&cc->localSymSigningKey); - UA_ByteString_init(&cc->localSymEncryptingKey); - UA_ByteString_init(&cc->localSymIv); - - UA_ByteString_init(&cc->remoteSymSigningKey); - UA_ByteString_init(&cc->remoteSymEncryptingKey); - UA_ByteString_init(&cc->remoteSymIv); - - mbedtls_x509_crt_init(&cc->remoteCertificate); - - // TODO: this can be optimized so that we dont allocate memory before parsing the certificate - UA_StatusCode retval = parseRemoteCertificate_sp_basic256(cc, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - channelContext_deleteContext_sp_basic256(cc); - *pp_contextData = NULL; - } - return retval; -} - -static UA_StatusCode -channelContext_setLocalSymEncryptingKey_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setLocalSymSigningKey_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - - -static UA_StatusCode -channelContext_setLocalSymIv_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -channelContext_setRemoteSymEncryptingKey_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setRemoteSymSigningKey_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -channelContext_setRemoteSymIv_sp_basic256(Basic256_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(iv, &cc->remoteSymIv); -} - -static UA_StatusCode -channelContext_compareCertificate_sp_basic256(const Basic256_ChannelContext *cc, - const UA_ByteString *certificate) { - if(cc == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(cert.raw.len != cc->remoteCertificate.raw.len || - memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - mbedtls_x509_crt_free(&cert); - return retval; -} - -static void -clear_sp_basic256(UA_SecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - Basic256_PolicyContext *pc = (Basic256_PolicyContext *) - securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_md_free(&pc->sha1MdContext); - UA_ByteString_clear(&pc->localCertThumbprint); - - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_basic256"); - - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_basic256(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic256_PolicyContext *pc = (Basic256_PolicyContext *) - securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_pk_init(&pc->localPrivateKey); - - int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - retval = asym_makeThumbprint_sp_basic256(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return retval; - - error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - clear_sp_basic256(securityPolicy); - return retval; -} - -static UA_StatusCode -policyContext_newContext_sp_basic256(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if (localPrivateKey.length == 0) { - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Can not initialize security policy. Private key is empty."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Basic256_PolicyContext *pc = (Basic256_PolicyContext *) - UA_malloc(sizeof(Basic256_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(Basic256_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_pk_init(&pc->localPrivateKey); - mbedtls_md_init(&pc->sha1MdContext); - - /* Initialized the message digest */ - const mbedtls_md_info_t *mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); - int mbedErr = mbedtls_md_setup(&pc->sha1MdContext, mdInfo, MBEDTLS_MD_SHA1); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the private key */ - mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the local certificate thumbprint */ - retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); - if(retval != UA_STATUSCODE_GOOD) - goto error; - retval = asym_makeThumbprint_sp_basic256(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return UA_STATUSCODE_GOOD; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext: %s", UA_StatusCode_name(retval)); - if(securityPolicy->policyContext != NULL) - clear_sp_basic256(securityPolicy); - return retval; -} - -UA_StatusCode -UA_SecurityPolicy_Basic256(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, const UA_Logger *logger) { - - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "!! WARNING !! The Basic256 SecurityPolicy is unsecure. " - "There are known attacks that break the encryption."); - - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256\0"); - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule */ - UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); - asym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_basic256; - asym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_basic256; - asym_signatureAlgorithm->getLocalSignatureSize = - (size_t (*)(const void *))asym_getLocalSignatureSize_sp_basic256; - asym_signatureAlgorithm->getRemoteSignatureSize = - (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_basic256; - asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function - asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function - - UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); - asym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_basic256; - asym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))asym_decrypt_sp_basic256; - asym_encryptionAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_basic256; - asym_encryptionAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_basic256; - asym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))asym_getRemoteBlockSize_sp_basic256; - asym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_basic256; - - asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_basic256; - asymmetricModule->compareCertificateThumbprint = - asymmetricModule_compareCertificateThumbprint_sp_basic256; - - /* SymmetricModule */ - symmetricModule->generateKey = sym_generateKey_sp_basic256; - symmetricModule->generateNonce = sym_generateNonce_sp_basic256; - - UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - sym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); - sym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, - const UA_ByteString *))sym_verify_sp_basic256; - sym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_basic256; - sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_basic256; - sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_basic256; - sym_signatureAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256; - sym_signatureAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256; - - UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); - sym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_basic256; - sym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_basic256; - sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_basic256; - sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_basic256; - sym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_basic256; - sym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_basic256; - symmetricModule->secureChannelNonceLength = 32; - - // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - /* ChannelModule */ - channelModule->newContext = channelContext_newContext_sp_basic256; - channelModule->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_basic256; - - channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymEncryptingKey_sp_basic256; - channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymSigningKey_sp_basic256; - channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymIv_sp_basic256; - - channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymEncryptingKey_sp_basic256; - channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymSigningKey_sp_basic256; - channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymIv_sp_basic256; - - channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) - channelContext_compareCertificate_sp_basic256; - - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic256; - policy->clear = clear_sp_basic256; - - UA_StatusCode res = policyContext_newContext_sp_basic256(policy, localPrivateKey); - if(res != UA_STATUSCODE_GOOD) - clear_sp_basic256(policy); - - return res; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_basic256sha256.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG - * Copyright 2018 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Notes: - * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN 42 -#define UA_SHA1_LENGTH 20 -#define UA_SHA256_LENGTH 32 -#define UA_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256SHA256_MINASYMKEYLENGTH 256 -#define UA_SECURITYPOLICY_BASIC256SHA256_MAXASYMKEYLENGTH 512 - -typedef struct { - UA_ByteString localCertThumbprint; - - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha256MdContext; - mbedtls_pk_context localPrivateKey; -} Basic256Sha256_PolicyContext; - -typedef struct { - Basic256Sha256_PolicyContext *policyContext; - - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - mbedtls_x509_crt remoteCertificate; -} Basic256Sha256_ChannelContext; - -/********************/ -/* AsymmetricModule */ -/********************/ - -/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_verify_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - /* Set the RSA settings */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); - - /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_verify() */ - /* Alternatively, use more specific function mbedtls_rsa_rsassa_pkcs1_v15_verify(), i.e. */ - /* int mbedErr = mbedtls_rsa_rsassa_pkcs1_v15_verify(rsaContext, NULL, NULL, - MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, - UA_SHA256_LENGTH, hash, - signature->data); */ - int mbedErr = mbedtls_pk_verify(&cc->remoteCertificate.pk, - MBEDTLS_MD_SHA256, hash, UA_SHA256_LENGTH, - signature->data, signature->length); - - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_sign_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - Basic256Sha256_PolicyContext *pc = cc->policyContext; - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); - - size_t sigLen = 0; - - /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_sign */ - /* Alternatively use more specific function mbedtls_rsa_rsassa_pkcs1_v15_sign() */ - int mbedErr = mbedtls_pk_sign(&pc->localPrivateKey, - MBEDTLS_MD_SHA256, hash, - UA_SHA256_LENGTH, signature->data, -#if MBEDTLS_VERSION_NUMBER >= 0x03000000 - signature->length, -#endif - &sigLen, mbedtls_ctr_drbg_random, - &pc->drbgContext); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -static size_t -asym_getLocalSignatureSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); -#endif -} - -static size_t -asym_getRemoteSignatureSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemoteBlockSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemotePlainTextBlockSize_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len - UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - - UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN; -#endif -} - - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ -static UA_StatusCode -asym_encrypt_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_basic256sha256(cc); - - mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); - - return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, - data, plainTextBlockSize); -} - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ -static UA_StatusCode -asym_decrypt_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, - &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA1); -} - -static size_t -asym_getLocalEncryptionKeyLength_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; -} - -static size_t -asym_getRemoteEncryptionKeyLength_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; -} - -static UA_StatusCode -asym_makeThumbprint_sp_basic256sha256(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_thumbprint_sha1(certificate, thumbprint); -} - -static UA_StatusCode -asymmetricModule_compareCertificateThumbprint_sp_basic256sha256(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - - return UA_STATUSCODE_GOOD; -} - -/*******************/ -/* SymmetricModule */ -/*******************/ - -static UA_StatusCode -sym_verify_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - Basic256Sha256_PolicyContext *pc = cc->policyContext; - unsigned char mac[UA_SHA256_LENGTH]; - mbedtls_hmac(&pc->sha256MdContext, &cc->remoteSymSigningKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sym_sign_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_hmac(&cc->policyContext->sha256MdContext, &cc->localSymSigningKey, - message, signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -sym_getSignatureSize_sp_basic256sha256(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static size_t -sym_getSigningKeyLength_sp_basic256sha256(const void *channelContext) { - return UA_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -sym_getEncryptionKeyLength_sp_basic256sha256(const void *channelContext) { - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_KEY_LENGTH; -} - -static size_t -sym_getEncryptionBlockSize_sp_basic256sha256(const void *channelContext) { - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -sym_getPlainTextBlockSize_sp_basic256sha256(const void *channelContext) { - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -sym_encrypt_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(cc->localSymIv.length != UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t plainTextBlockSize = UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE; - - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_decrypt_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t encryptionBlockSize = UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE; - if(cc->remoteSymIv.length != encryptionBlockSize) - return UA_STATUSCODE_BADINTERNALERROR; - - if(data->length % encryptionBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_generateKey_sp_basic256sha256(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - if(secret == NULL || seed == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *)policyContext; - return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); -} - -static UA_StatusCode -sym_generateNonce_sp_basic256sha256(void *policyContext, UA_ByteString *out) { - if(out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *)policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -/* Assumes that the certificate has been verified externally */ -static UA_StatusCode -parseRemoteCertificate_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *remoteCertificate) { - if(remoteCertificate == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Parse the certificate */ - int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, - remoteCertificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Check the key length */ -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - size_t keylen = rsaContext->len; -#else - size_t keylen = mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif - if(keylen < UA_SECURITYPOLICY_BASIC256SHA256_MINASYMKEYLENGTH || - keylen > UA_SECURITYPOLICY_BASIC256SHA256_MAXASYMKEYLENGTH) - return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; - - return UA_STATUSCODE_GOOD; -} - -static void -channelContext_deleteContext_sp_basic256sha256(Basic256Sha256_ChannelContext *cc) { - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - mbedtls_x509_crt_free(&cc->remoteCertificate); - - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_basic256sha256(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **pp_contextData) { - if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate the channel context */ - *pp_contextData = UA_malloc(sizeof(Basic256Sha256_ChannelContext)); - if(*pp_contextData == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - Basic256Sha256_ChannelContext *cc = (Basic256Sha256_ChannelContext *)*pp_contextData; - - /* Initialize the channel context */ - cc->policyContext = (Basic256Sha256_PolicyContext *)securityPolicy->policyContext; - - UA_ByteString_init(&cc->localSymSigningKey); - UA_ByteString_init(&cc->localSymEncryptingKey); - UA_ByteString_init(&cc->localSymIv); - - UA_ByteString_init(&cc->remoteSymSigningKey); - UA_ByteString_init(&cc->remoteSymEncryptingKey); - UA_ByteString_init(&cc->remoteSymIv); - - mbedtls_x509_crt_init(&cc->remoteCertificate); - - // TODO: this can be optimized so that we dont allocate memory before parsing the certificate - UA_StatusCode retval = parseRemoteCertificate_sp_basic256sha256(cc, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - channelContext_deleteContext_sp_basic256sha256(cc); - *pp_contextData = NULL; - } - return retval; -} - -static UA_StatusCode -channelContext_setLocalSymEncryptingKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setLocalSymSigningKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - - -static UA_StatusCode -channelContext_setLocalSymIv_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -channelContext_setRemoteSymEncryptingKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setRemoteSymSigningKey_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -channelContext_setRemoteSymIv_sp_basic256sha256(Basic256Sha256_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(iv, &cc->remoteSymIv); -} - -static UA_StatusCode -channelContext_compareCertificate_sp_basic256sha256(const Basic256Sha256_ChannelContext *cc, - const UA_ByteString *certificate) { - if(cc == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(cert.raw.len != cc->remoteCertificate.raw.len || - memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - mbedtls_x509_crt_free(&cert); - return retval; -} - -static void -clear_sp_basic256sha256(UA_SecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *) - securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_md_free(&pc->sha256MdContext); - UA_ByteString_clear(&pc->localCertThumbprint); - - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_basic256sha256"); - - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_basic256sha256(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Basic256Sha256_PolicyContext *pc = - (Basic256Sha256_PolicyContext *) securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_pk_init(&pc->localPrivateKey); - int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - retval = asym_makeThumbprint_sp_basic256sha256(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return retval; - - error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - clear_sp_basic256sha256(securityPolicy); - return retval; -} - -static UA_StatusCode -policyContext_newContext_sp_basic256sha256(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if (localPrivateKey.length == 0) { - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Can not initialize security policy. Private key is empty."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Basic256Sha256_PolicyContext *pc = (Basic256Sha256_PolicyContext *) - UA_malloc(sizeof(Basic256Sha256_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(Basic256Sha256_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_pk_init(&pc->localPrivateKey); - mbedtls_md_init(&pc->sha256MdContext); - - /* Initialized the message digest */ - const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); - int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the private key */ - mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the local certificate thumbprint */ - retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); - if(retval != UA_STATUSCODE_GOOD) - goto error; - retval = asym_makeThumbprint_sp_basic256sha256(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return UA_STATUSCODE_GOOD; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext: %s", UA_StatusCode_name(retval)); - if(securityPolicy->policyContext != NULL) - clear_sp_basic256sha256(securityPolicy); - return retval; -} - -UA_StatusCode -UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, const UA_Logger *logger) { - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"); - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule */ - UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); - asym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_basic256sha256; - asym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_basic256sha256; - asym_signatureAlgorithm->getLocalSignatureSize = - (size_t (*)(const void *))asym_getLocalSignatureSize_sp_basic256sha256; - asym_signatureAlgorithm->getRemoteSignatureSize = - (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_basic256sha256; - asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function - asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function - - UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); - asym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_basic256sha256; - asym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *)) - asym_decrypt_sp_basic256sha256; - asym_encryptionAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_basic256sha256; - asym_encryptionAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_basic256sha256; - asym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))asym_getRemoteBlockSize_sp_basic256sha256; - asym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_basic256sha256; - - asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_basic256sha256; - asymmetricModule->compareCertificateThumbprint = - asymmetricModule_compareCertificateThumbprint_sp_basic256sha256; - - /* SymmetricModule */ - symmetricModule->generateKey = sym_generateKey_sp_basic256sha256; - symmetricModule->generateNonce = sym_generateNonce_sp_basic256sha256; - - UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - sym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); - sym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))sym_verify_sp_basic256sha256; - sym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_basic256sha256; - sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_basic256sha256; - sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_basic256sha256; - sym_signatureAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256sha256; - sym_signatureAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_basic256sha256; - - UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc"); - sym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_basic256sha256; - sym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_basic256sha256; - sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_basic256sha256; - sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_basic256sha256; - sym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_basic256sha256; - sym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_basic256sha256; - symmetricModule->secureChannelNonceLength = 32; - - // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - /* ChannelModule */ - channelModule->newContext = channelContext_newContext_sp_basic256sha256; - channelModule->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_basic256sha256; - - channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymEncryptingKey_sp_basic256sha256; - channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymSigningKey_sp_basic256sha256; - channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymIv_sp_basic256sha256; - - channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymEncryptingKey_sp_basic256sha256; - channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymSigningKey_sp_basic256sha256; - channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymIv_sp_basic256sha256; - - channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) - channelContext_compareCertificate_sp_basic256sha256; - - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic256sha256; - policy->clear = clear_sp_basic256sha256; - - UA_StatusCode res = policyContext_newContext_sp_basic256sha256(policy, localPrivateKey); - if(res != UA_STATUSCODE_GOOD) - clear_sp_basic256sha256(policy); - - return res; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_aes128sha256rsaoaep.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG - * Copyright 2018 (c) HMS Industrial Networks AB (Author: Jonas Green) - * Copyright 2020 (c) Wind River Systems, Inc. - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Notes: - * mbedTLS' AES allows in-place encryption and decryption. So we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN 42 -#define UA_SHA1_LENGTH 20 -#define UA_SHA256_LENGTH 32 -#define UA_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_KEY_LENGTH 16 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MINASYMKEYLENGTH 256 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MAXASYMKEYLENGTH 512 - -typedef struct { - UA_ByteString localCertThumbprint; - - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha256MdContext; - mbedtls_pk_context localPrivateKey; -} Aes128Sha256PsaOaep_PolicyContext; - -typedef struct { - Aes128Sha256PsaOaep_PolicyContext *policyContext; - - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - mbedtls_x509_crt remoteCertificate; -} Aes128Sha256PsaOaep_ChannelContext; - -/********************/ -/* AsymmetricModule */ -/********************/ - -/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_verify_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - /* Set the RSA settings */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); - - /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_verify() */ - /* Alternatively, use more specific function mbedtls_rsa_rsassa_pkcs1_v15_verify(), i.e. */ - /* int mbedErr = mbedtls_rsa_rsassa_pkcs1_v15_verify(rsaContext, NULL, NULL, - MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, - UA_SHA256_LENGTH, hash, - signature->data); */ - int mbedErr = mbedtls_pk_verify(&cc->remoteCertificate.pk, - MBEDTLS_MD_SHA256, hash, UA_SHA256_LENGTH, - signature->data, signature->length); - - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_sign_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - Aes128Sha256PsaOaep_PolicyContext *pc = cc->policyContext; - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); - - size_t sigLen = 0; - - /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_sign */ - /* Alternatively use more specific function mbedtls_rsa_rsassa_pkcs1_v15_sign() */ - int mbedErr = mbedtls_pk_sign(&pc->localPrivateKey, - MBEDTLS_MD_SHA256, hash, - UA_SHA256_LENGTH, signature->data, -#if MBEDTLS_VERSION_NUMBER >= 0x03000000 - signature->length, -#endif - &sigLen, mbedtls_ctr_drbg_random, - &pc->drbgContext); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -static size_t -asym_getLocalSignatureSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); -#endif -} - -static size_t -asym_getRemoteSignatureSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemoteBlockSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemotePlainTextBlockSize_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len - UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - - UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN; -#endif -} - - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ -static UA_StatusCode -asym_encrypt_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_aes128sha256rsaoaep(cc); - - mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); - - return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, - data, plainTextBlockSize); -} - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA1 */ -static UA_StatusCode -asym_decrypt_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, - &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA1); -} - -static size_t -asym_getLocalEncryptionKeyLength_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; -} - -static size_t -asym_getRemoteEncryptionKeyLength_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; -} - -static UA_StatusCode -asym_makeThumbprint_sp_aes128sha256rsaoaep(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_thumbprint_sha1(certificate, thumbprint); -} - -static UA_StatusCode -asymmetricModule_compareCertificateThumbprint_sp_aes128sha256rsaoaep(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - - return UA_STATUSCODE_GOOD; -} - -/*******************/ -/* SymmetricModule */ -/*******************/ - -static UA_StatusCode -sym_verify_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - Aes128Sha256PsaOaep_PolicyContext *pc = cc->policyContext; - unsigned char mac[UA_SHA256_LENGTH]; - mbedtls_hmac(&pc->sha256MdContext, &cc->remoteSymSigningKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sym_sign_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_hmac(&cc->policyContext->sha256MdContext, &cc->localSymSigningKey, - message, signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -sym_getSignatureSize_sp_aes128sha256rsaoaep(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static size_t -sym_getSigningKeyLength_sp_aes128sha256rsaoaep(const void *channelContext) { - return UA_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -sym_getEncryptionKeyLength_sp_aes128sha256rsaoaep(const void *channelContext) { - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_KEY_LENGTH; -} - -static size_t -sym_getEncryptionBlockSize_sp_aes128sha256rsaoaep(const void *channelContext) { - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -sym_getPlainTextBlockSize_sp_aes128sha256rsaoaep(const void *channelContext) { - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -sym_encrypt_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(cc->localSymIv.length != UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t plainTextBlockSize = UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE; - - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_decrypt_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t encryptionBlockSize = UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE; - - if(cc->remoteSymIv.length != encryptionBlockSize) - return UA_STATUSCODE_BADINTERNALERROR; - - if(data->length % encryptionBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_generateKey_sp_aes128sha256rsaoaep(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - if(secret == NULL || seed == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *)policyContext; - return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); -} - -static UA_StatusCode -sym_generateNonce_sp_aes128sha256rsaoaep(void *policyContext, UA_ByteString *out) { - if(out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Aes128Sha256PsaOaep_PolicyContext *pc = - (Aes128Sha256PsaOaep_PolicyContext *)policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -/* Assumes that the certificate has been verified externally */ -static UA_StatusCode -parseRemoteCertificate_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *remoteCertificate) { - if(remoteCertificate == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Parse the certificate */ - int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, - remoteCertificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Check the key length */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - size_t keylen = rsaContext->len; -#else - size_t keylen = mbedtls_rsa_get_len(rsaContext); -#endif - if(keylen < UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MINASYMKEYLENGTH || - keylen > UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MAXASYMKEYLENGTH) - return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; - return UA_STATUSCODE_GOOD; -} - -static void -channelContext_deleteContext_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc) { - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - mbedtls_x509_crt_free(&cc->remoteCertificate); - - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_aes128sha256rsaoaep(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **pp_contextData) { - if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate the channel context */ - *pp_contextData = UA_malloc(sizeof(Aes128Sha256PsaOaep_ChannelContext)); - if(*pp_contextData == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - Aes128Sha256PsaOaep_ChannelContext *cc = (Aes128Sha256PsaOaep_ChannelContext *)*pp_contextData; - - /* Initialize the channel context */ - cc->policyContext = (Aes128Sha256PsaOaep_PolicyContext *)securityPolicy->policyContext; - - UA_ByteString_init(&cc->localSymSigningKey); - UA_ByteString_init(&cc->localSymEncryptingKey); - UA_ByteString_init(&cc->localSymIv); - - UA_ByteString_init(&cc->remoteSymSigningKey); - UA_ByteString_init(&cc->remoteSymEncryptingKey); - UA_ByteString_init(&cc->remoteSymIv); - - mbedtls_x509_crt_init(&cc->remoteCertificate); - - // TODO: this can be optimized so that we dont allocate memory before parsing the certificate - UA_StatusCode retval = parseRemoteCertificate_sp_aes128sha256rsaoaep(cc, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - channelContext_deleteContext_sp_aes128sha256rsaoaep(cc); - *pp_contextData = NULL; - } - return retval; -} - -static UA_StatusCode -channelContext_setLocalSymEncryptingKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setLocalSymSigningKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - - -static UA_StatusCode -channelContext_setLocalSymIv_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -channelContext_setRemoteSymEncryptingKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setRemoteSymSigningKey_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -channelContext_setRemoteSymIv_sp_aes128sha256rsaoaep(Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(iv, &cc->remoteSymIv); -} - -static UA_StatusCode -channelContext_compareCertificate_sp_aes128sha256rsaoaep(const Aes128Sha256PsaOaep_ChannelContext *cc, - const UA_ByteString *certificate) { - if(cc == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(cert.raw.len != cc->remoteCertificate.raw.len || - memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - mbedtls_x509_crt_free(&cert); - return retval; -} - -static void -clear_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *) - securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_md_free(&pc->sha256MdContext); - UA_ByteString_clear(&pc->localCertThumbprint); - - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_aes128sha256rsaoaep"); - - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Aes128Sha256PsaOaep_PolicyContext *pc = - (Aes128Sha256PsaOaep_PolicyContext *) securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_pk_init(&pc->localPrivateKey); - int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - retval = asym_makeThumbprint_sp_aes128sha256rsaoaep(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return retval; - - error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - clear_sp_aes128sha256rsaoaep(securityPolicy); - return retval; -} - -static UA_StatusCode -policyContext_newContext_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if (localPrivateKey.length == 0) { - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Can not initialize security policy. Private key is empty."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Aes128Sha256PsaOaep_PolicyContext *pc = (Aes128Sha256PsaOaep_PolicyContext *) - UA_malloc(sizeof(Aes128Sha256PsaOaep_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(Aes128Sha256PsaOaep_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_pk_init(&pc->localPrivateKey); - mbedtls_md_init(&pc->sha256MdContext); - - /* Initialized the message digest */ - const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); - int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the private key */ - mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the local certificate thumbprint */ - retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); - if(retval != UA_STATUSCODE_GOOD) - goto error; - retval = asym_makeThumbprint_sp_aes128sha256rsaoaep(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return UA_STATUSCODE_GOOD; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext: %s", UA_StatusCode_name(retval)); - if(securityPolicy->policyContext != NULL) - clear_sp_aes128sha256rsaoaep(securityPolicy); - return retval; -} - -UA_StatusCode -UA_SecurityPolicy_Aes128Sha256RsaOaep(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, const UA_Logger *logger) { - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"); - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule */ - UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); - asym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_aes128sha256rsaoaep; - asym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_aes128sha256rsaoaep; - asym_signatureAlgorithm->getLocalSignatureSize = - (size_t (*)(const void *))asym_getLocalSignatureSize_sp_aes128sha256rsaoaep; - asym_signatureAlgorithm->getRemoteSignatureSize = - (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_aes128sha256rsaoaep; - asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function - asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function - - UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); - asym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_aes128sha256rsaoaep; - asym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *)) asym_decrypt_sp_aes128sha256rsaoaep; - asym_encryptionAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_aes128sha256rsaoaep; - asym_encryptionAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_aes128sha256rsaoaep; - asym_encryptionAlgorithm->getRemoteBlockSize = (size_t (*)(const void *))asym_getRemoteBlockSize_sp_aes128sha256rsaoaep; - asym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_aes128sha256rsaoaep; - - asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_aes128sha256rsaoaep; - asymmetricModule->compareCertificateThumbprint = - asymmetricModule_compareCertificateThumbprint_sp_aes128sha256rsaoaep; - - /* SymmetricModule */ - symmetricModule->generateKey = sym_generateKey_sp_aes128sha256rsaoaep; - symmetricModule->generateNonce = sym_generateNonce_sp_aes128sha256rsaoaep; - - UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - sym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); - sym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))sym_verify_sp_aes128sha256rsaoaep; - sym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_aes128sha256rsaoaep; - sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_aes128sha256rsaoaep; - sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_aes128sha256rsaoaep; - sym_signatureAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes128sha256rsaoaep; - sym_signatureAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes128sha256rsaoaep; - - UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc"); - sym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_aes128sha256rsaoaep; - sym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_aes128sha256rsaoaep; - sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_aes128sha256rsaoaep; - sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_aes128sha256rsaoaep; - sym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_aes128sha256rsaoaep; - sym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_aes128sha256rsaoaep; - symmetricModule->secureChannelNonceLength = 32; - - // Use the same signature algorithm as the asymmetric component for certificate signing (see standard) - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - /* ChannelModule */ - channelModule->newContext = channelContext_newContext_sp_aes128sha256rsaoaep; - channelModule->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_aes128sha256rsaoaep; - - channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymEncryptingKey_sp_aes128sha256rsaoaep; - channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymSigningKey_sp_aes128sha256rsaoaep; - channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymIv_sp_aes128sha256rsaoaep; - - channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymEncryptingKey_sp_aes128sha256rsaoaep; - channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymSigningKey_sp_aes128sha256rsaoaep; - channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymIv_sp_aes128sha256rsaoaep; - - channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) - channelContext_compareCertificate_sp_aes128sha256rsaoaep; - - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep; - policy->clear = clear_sp_aes128sha256rsaoaep; - - UA_StatusCode res = policyContext_newContext_sp_aes128sha256rsaoaep(policy, localPrivateKey); - if(res != UA_STATUSCODE_GOOD) - clear_sp_aes128sha256rsaoaep(policy); - - return res; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_securitypolicy_aes256sha256rsapss.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2022 (c) Fraunhofer IOSB (Author: Noel Graf) - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Notes: - * mbedTLS' AES allows in-place encryption and decryption. So we don't have to - * allocate temp buffers. - * https://tls.mbed.org/discussions/generic/in-place-decryption-with-aes256-same-input-output-buffer - */ - -#define UA_SHA1_LENGTH 20 -#define UA_SHA256_LENGTH 32 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN 66 /* UA_SHA256_LENGTH * 2 + 2 */ -#define UA_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_KEY_LENGTH 32 /*16*/ -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MINASYMKEYLENGTH 256 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MAXASYMKEYLENGTH 512 - -typedef struct { - UA_ByteString localCertThumbprint; - - mbedtls_ctr_drbg_context drbgContext; - mbedtls_entropy_context entropyContext; - mbedtls_md_context_t sha256MdContext; - mbedtls_pk_context localPrivateKey; -} Aes256Sha256RsaPss_PolicyContext; - -typedef struct { - Aes256Sha256RsaPss_PolicyContext *policyContext; - - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - mbedtls_x509_crt remoteCertificate; -} Aes256Sha256RsaPss_ChannelContext; - -/********************/ -/* AsymmetricModule */ -/********************/ - -/* VERIFY AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_verify_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - /* Set the RSA settings */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256); - -#if MBEDTLS_VERSION_NUMBER < 0x03000000 - Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; - int mbedErr = mbedtls_rsa_pkcs1_verify(rsaContext, mbedtls_ctr_drbg_random, &pc->drbgContext, - MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, UA_SHA256_LENGTH, - hash, signature->data); -#else - int mbedErr = mbedtls_rsa_pkcs1_verify(rsaContext, MBEDTLS_MD_SHA256, - UA_SHA256_LENGTH, hash, signature->data); -#endif - - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -/* AsymmetricSignatureAlgorithm_RSA-PSS-SHA2-256 */ -static UA_StatusCode -asym_sign_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256); - -#if MBEDTLS_VERSION_NUMBER < 0x03000000 - int mbedErr = mbedtls_rsa_pkcs1_sign(rsaContext, mbedtls_ctr_drbg_random, &pc->drbgContext, - MBEDTLS_RSA_PRIVATE, MBEDTLS_MD_SHA256, UA_SHA256_LENGTH, - hash, signature->data); -#else - int mbedErr = mbedtls_rsa_pkcs1_sign(rsaContext, mbedtls_ctr_drbg_random, &pc->drbgContext, - MBEDTLS_MD_SHA256, UA_SHA256_LENGTH, - hash, signature->data); -#endif - - - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -static size_t -asym_getLocalSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); -#endif -} - -static size_t -asym_getRemoteSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemoteBlockSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -static size_t -asym_getRemotePlainTextBlockSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - mbedtls_rsa_context *const rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - return rsaContext->len - UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)) - - UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN; -#endif -} - - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA2 */ -static UA_StatusCode -asym_encrypt_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const size_t plainTextBlockSize = asym_getRemotePlainTextBlockSize_sp_aes256sha256rsapss(cc); - - mbedtls_rsa_context *remoteRsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(remoteRsaContext, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256); - - return mbedtls_encrypt_rsaOaep(remoteRsaContext, &cc->policyContext->drbgContext, - data, plainTextBlockSize); -} - -/* AsymmetricEncryptionAlgorithm_RSA-OAEP-SHA2 */ -static UA_StatusCode -asym_decrypt_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_decrypt_rsaOaep(&cc->policyContext->localPrivateKey, - &cc->policyContext->drbgContext, data, MBEDTLS_MD_SHA256); -} - -static size_t -asym_getLocalEncryptionKeyLength_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->policyContext->localPrivateKey) * 8; -} - -static size_t -asym_getRemoteEncryptionKeyLength_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - return mbedtls_pk_get_len(&cc->remoteCertificate.pk) * 8; -} - -static UA_StatusCode -asym_makeThumbprint_sp_aes256sha256rsapss(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - if(securityPolicy == NULL || certificate == NULL || thumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - return mbedtls_thumbprint_sha1(certificate, thumbprint); -} - -static UA_StatusCode -asymmetricModule_compareCertificateThumbprint_sp_aes256sha256rsapss(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - - return UA_STATUSCODE_GOOD; -} - -/*******************/ -/* SymmetricModule */ -/*******************/ - -static UA_StatusCode -sym_verify_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(cc == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute MAC */ - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; - unsigned char mac[UA_SHA256_LENGTH]; - mbedtls_hmac(&pc->sha256MdContext, &cc->remoteSymSigningKey, message, mac); - - /* Compare with Signature */ - if(!UA_constantTimeEqual(signature->data, mac, UA_SHA256_LENGTH)) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sym_sign_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(signature->length != UA_SHA256_LENGTH) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_hmac(&cc->policyContext->sha256MdContext, &cc->localSymSigningKey, - message, signature->data); - return UA_STATUSCODE_GOOD; -} - -static size_t -sym_getSignatureSize_sp_aes256sha256rsapss(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static size_t -sym_getSigningKeyLength_sp_aes256sha256rsapss(const void *channelContext) { - return UA_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -sym_getEncryptionKeyLength_sp_aes256sha256rsapss(const void *channelContext) { - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_KEY_LENGTH; -} - -static size_t -sym_getEncryptionBlockSize_sp_aes256sha256rsapss(const void *channelContext) { - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -sym_getPlainTextBlockSize_sp_aes256sha256rsapss(const void *channelContext) { - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE; -} - -static UA_StatusCode -sym_encrypt_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(cc->localSymIv.length != UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t plainTextBlockSize = UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE; - - if(data->length % plainTextBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Keylength in bits */ - unsigned int keylength = (unsigned int)(cc->localSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_enc(&aesContext, cc->localSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->localSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_ENCRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_decrypt_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, - UA_ByteString *data) { - if(cc == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - size_t encryptionBlockSize = UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE; - - if(cc->remoteSymIv.length != encryptionBlockSize) - return UA_STATUSCODE_BADINTERNALERROR; - - if(data->length % encryptionBlockSize != 0) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned int keylength = (unsigned int)(cc->remoteSymEncryptingKey.length * 8); - mbedtls_aes_context aesContext; - int mbedErr = mbedtls_aes_setkey_dec(&aesContext, cc->remoteSymEncryptingKey.data, keylength); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString ivCopy; - UA_StatusCode retval = UA_ByteString_copy(&cc->remoteSymIv, &ivCopy); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - mbedErr = mbedtls_aes_crypt_cbc(&aesContext, MBEDTLS_AES_DECRYPT, data->length, - ivCopy.data, data->data, data->data); - if(mbedErr) - retval = UA_STATUSCODE_BADINTERNALERROR; - UA_ByteString_clear(&ivCopy); - return retval; -} - -static UA_StatusCode -sym_generateKey_sp_aes256sha256rsapss(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - if(secret == NULL || seed == NULL || out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *)policyContext; - return mbedtls_generateKey(&pc->sha256MdContext, secret, seed, out); -} - -static UA_StatusCode -sym_generateNonce_sp_aes256sha256rsapss(void *policyContext, UA_ByteString *out) { - if(out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Aes256Sha256RsaPss_PolicyContext *pc = - (Aes256Sha256RsaPss_PolicyContext *)policyContext; - int mbedErr = mbedtls_ctr_drbg_random(&pc->drbgContext, out->data, out->length); - if(mbedErr) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -/***********************************/ -/* CertificateSigningAlgorithms */ -/***********************************/ - -static UA_StatusCode -asym_cert_verify_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - /* Set the RSA settings */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); - - /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_verify() */ - /* Alternatively, use more specific function mbedtls_rsa_rsassa_pkcs1_v15_verify(), i.e. */ - /* int mbedErr = mbedtls_rsa_rsassa_pkcs1_v15_verify(rsaContext, NULL, NULL, - MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256, - UA_SHA256_LENGTH, hash, - signature->data); */ - int mbedErr = mbedtls_pk_verify(&cc->remoteCertificate.pk, - MBEDTLS_MD_SHA256, hash, UA_SHA256_LENGTH, - signature->data, signature->length); - - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - return UA_STATUSCODE_GOOD; -} - -/* AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -asym_cert_sign_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *message, - UA_ByteString *signature) { - if(message == NULL || signature == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - unsigned char hash[UA_SHA256_LENGTH]; -#if MBEDTLS_VERSION_NUMBER >= 0x02070000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - // TODO check return status - mbedtls_sha256_ret(message->data, message->length, hash, 0); -#else - mbedtls_sha256(message->data, message->length, hash, 0); -#endif - - Aes256Sha256RsaPss_PolicyContext *pc = cc->policyContext; - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(pc->localPrivateKey); - mbedtls_rsa_set_padding(rsaContext, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256); - - size_t sigLen = 0; - - /* For RSA keys, the default padding type is PKCS#1 v1.5 in mbedtls_pk_sign */ - /* Alternatively use more specific function mbedtls_rsa_rsassa_pkcs1_v15_sign() */ - int mbedErr = mbedtls_pk_sign(&pc->localPrivateKey, - MBEDTLS_MD_SHA256, hash, - UA_SHA256_LENGTH, signature->data, -#if MBEDTLS_VERSION_NUMBER >= 0x03000000 - signature->length, -#endif - &sigLen, mbedtls_ctr_drbg_random, - &pc->drbgContext); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -static size_t -asym_cert_getLocalSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->policyContext->localPrivateKey)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->policyContext->localPrivateKey)); -#endif -} - -static size_t -asym_cert_getRemoteSignatureSize_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc) { - if(cc == NULL) - return 0; -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - return mbedtls_pk_rsa(cc->remoteCertificate.pk)->len; -#else - return mbedtls_rsa_get_len(mbedtls_pk_rsa(cc->remoteCertificate.pk)); -#endif -} - -/*****************/ -/* ChannelModule */ -/*****************/ - -/* Assumes that the certificate has been verified externally */ -static UA_StatusCode -parseRemoteCertificate_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *remoteCertificate) { - if(remoteCertificate == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Parse the certificate */ - int mbedErr = mbedtls_x509_crt_parse(&cc->remoteCertificate, remoteCertificate->data, - remoteCertificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Check the key length */ - mbedtls_rsa_context *rsaContext = mbedtls_pk_rsa(cc->remoteCertificate.pk); -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - size_t keylen = rsaContext->len; -#else - size_t keylen = mbedtls_rsa_get_len(rsaContext); -#endif - if(keylen < UA_SECURITYPOLICY_AES256SHA256RSAPSS_MINASYMKEYLENGTH || - keylen > UA_SECURITYPOLICY_AES256SHA256RSAPSS_MAXASYMKEYLENGTH) - return UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; - return UA_STATUSCODE_GOOD; -} - -static void -channelContext_deleteContext_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc) { - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - mbedtls_x509_crt_free(&cc->remoteCertificate); - - UA_free(cc); -} - -static UA_StatusCode -channelContext_newContext_sp_aes256sha256rsapss(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **pp_contextData) { - if(securityPolicy == NULL || remoteCertificate == NULL || pp_contextData == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate the channel context */ - *pp_contextData = UA_malloc(sizeof(Aes256Sha256RsaPss_ChannelContext)); - if(*pp_contextData == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - Aes256Sha256RsaPss_ChannelContext *cc = (Aes256Sha256RsaPss_ChannelContext *)*pp_contextData; - - /* Initialize the channel context */ - cc->policyContext = (Aes256Sha256RsaPss_PolicyContext *)securityPolicy->policyContext; - - UA_ByteString_init(&cc->localSymSigningKey); - UA_ByteString_init(&cc->localSymEncryptingKey); - UA_ByteString_init(&cc->localSymIv); - - UA_ByteString_init(&cc->remoteSymSigningKey); - UA_ByteString_init(&cc->remoteSymEncryptingKey); - UA_ByteString_init(&cc->remoteSymIv); - - mbedtls_x509_crt_init(&cc->remoteCertificate); - - // TODO: this can be optimized so that we dont allocate memory before parsing the certificate - UA_StatusCode retval = parseRemoteCertificate_sp_aes256sha256rsapss(cc, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - channelContext_deleteContext_sp_aes256sha256rsapss(cc); - *pp_contextData = NULL; - } - return retval; -} - -static UA_StatusCode -channelContext_setLocalSymEncryptingKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setLocalSymSigningKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - - -static UA_StatusCode -channelContext_setLocalSymIv_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -channelContext_setRemoteSymEncryptingKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -channelContext_setRemoteSymSigningKey_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *key) { - if(key == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -channelContext_setRemoteSymIv_sp_aes256sha256rsapss(Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *iv) { - if(iv == NULL || cc == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(iv, &cc->remoteSymIv); -} - -static UA_StatusCode -channelContext_compareCertificate_sp_aes256sha256rsapss(const Aes256Sha256RsaPss_ChannelContext *cc, - const UA_ByteString *certificate) { - if(cc == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(cert.raw.len != cc->remoteCertificate.raw.len || - memcmp(cert.raw.p, cc->remoteCertificate.raw.p, cert.raw.len) != 0) - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - mbedtls_x509_crt_free(&cert); - return retval; -} - -static void -clear_sp_aes256sha256rsapss(UA_SecurityPolicy *securityPolicy) { - if(securityPolicy == NULL) - return; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - if(securityPolicy->policyContext == NULL) - return; - - /* delete all allocated members in the context */ - Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *) - securityPolicy->policyContext; - - mbedtls_ctr_drbg_free(&pc->drbgContext); - mbedtls_entropy_free(&pc->entropyContext); - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_md_free(&pc->sha256MdContext); - UA_ByteString_clear(&pc->localCertThumbprint); - - UA_LOG_DEBUG(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Deleted members of EndpointContext for sp_aes256sha256rsapss"); - - UA_free(pc); - securityPolicy->policyContext = NULL; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_aes256sha256rsapss(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Aes256Sha256RsaPss_PolicyContext *pc = - (Aes256Sha256RsaPss_PolicyContext *) securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - mbedtls_pk_free(&pc->localPrivateKey); - mbedtls_pk_init(&pc->localPrivateKey); - int mbedErr = UA_mbedTLS_LoadPrivateKey(&newPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - retval = asym_makeThumbprint_sp_aes256sha256rsapss(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - clear_sp_aes256sha256rsapss(securityPolicy); - return retval; -} - -static UA_StatusCode -policyContext_newContext_sp_aes256sha256rsapss(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if (localPrivateKey.length == 0) { - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Can not initialize security policy. Private key is empty."); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Aes256Sha256RsaPss_PolicyContext *pc = (Aes256Sha256RsaPss_PolicyContext *) - UA_malloc(sizeof(Aes256Sha256RsaPss_PolicyContext)); - securityPolicy->policyContext = (void *)pc; - if(!pc) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - /* Initialize the PolicyContext */ - memset(pc, 0, sizeof(Aes256Sha256RsaPss_PolicyContext)); - mbedtls_ctr_drbg_init(&pc->drbgContext); - mbedtls_entropy_init(&pc->entropyContext); - mbedtls_pk_init(&pc->localPrivateKey); - mbedtls_md_init(&pc->sha256MdContext); - - /* Initialized the message digest */ - const mbedtls_md_info_t *const mdInfo = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); - int mbedErr = mbedtls_md_setup(&pc->sha256MdContext, mdInfo, MBEDTLS_MD_SHA256); - if(mbedErr) { - retval = UA_STATUSCODE_BADOUTOFMEMORY; - goto error; - } - - mbedErr = mbedtls_entropy_self_test(0); - - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Seed the RNG */ - char *personalization = "open62541-drbg"; - mbedErr = mbedtls_ctr_drbg_seed(&pc->drbgContext, mbedtls_entropy_func, - &pc->entropyContext, - (const unsigned char *)personalization, 14); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the private key */ - mbedErr = UA_mbedTLS_LoadPrivateKey(&localPrivateKey, &pc->localPrivateKey, &pc->entropyContext); - if(mbedErr) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - /* Set the local certificate thumbprint */ - retval = UA_ByteString_allocBuffer(&pc->localCertThumbprint, UA_SHA1_LENGTH); - if(retval != UA_STATUSCODE_GOOD) - goto error; - retval = asym_makeThumbprint_sp_aes256sha256rsapss(securityPolicy, - &securityPolicy->localCertificate, - &pc->localCertThumbprint); - if(retval != UA_STATUSCODE_GOOD) - goto error; - - return UA_STATUSCODE_GOOD; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not create securityContext: %s", UA_StatusCode_name(retval)); - if(securityPolicy->policyContext != NULL) - clear_sp_aes256sha256rsapss(securityPolicy); - return retval; -} - -UA_StatusCode -UA_SecurityPolicy_Aes256Sha256RsaPss(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, const UA_Logger *logger) { - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"); - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - - UA_StatusCode retval = UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule */ - UA_SecurityPolicySignatureAlgorithm *asym_signatureAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asym_signatureAlgorithm->uri = - UA_STRING("http://opcfoundation.org/UA/security/rsa-pss-sha2-256\0"); - asym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_verify_sp_aes256sha256rsapss; - asym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_sign_sp_aes256sha256rsapss; - asym_signatureAlgorithm->getLocalSignatureSize = - (size_t (*)(const void *))asym_getLocalSignatureSize_sp_aes256sha256rsapss; - asym_signatureAlgorithm->getRemoteSignatureSize = - (size_t (*)(const void *))asym_getRemoteSignatureSize_sp_aes256sha256rsapss; - asym_signatureAlgorithm->getLocalKeyLength = NULL; // TODO: Write function - asym_signatureAlgorithm->getRemoteKeyLength = NULL; // TODO: Write function - - UA_SecurityPolicyEncryptionAlgorithm *asym_encryptionAlgorithm = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asym_encryptionAlgorithm->uri = UA_STRING("http://opcfoundation.org/UA/security/rsa-oaep-sha2-256\0"); - asym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))asym_encrypt_sp_aes256sha256rsapss; - asym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *)) asym_decrypt_sp_aes256sha256rsapss; - asym_encryptionAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))asym_getLocalEncryptionKeyLength_sp_aes256sha256rsapss; - asym_encryptionAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))asym_getRemoteEncryptionKeyLength_sp_aes256sha256rsapss; - asym_encryptionAlgorithm->getRemoteBlockSize = (size_t (*)(const void *))asym_getRemoteBlockSize_sp_aes256sha256rsapss; - asym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))asym_getRemotePlainTextBlockSize_sp_aes256sha256rsapss; - - asymmetricModule->makeCertificateThumbprint = asym_makeThumbprint_sp_aes256sha256rsapss; - asymmetricModule->compareCertificateThumbprint = - asymmetricModule_compareCertificateThumbprint_sp_aes256sha256rsapss; - - /* SymmetricModule */ - symmetricModule->generateKey = sym_generateKey_sp_aes256sha256rsapss; - symmetricModule->generateNonce = sym_generateNonce_sp_aes256sha256rsapss; - - UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - sym_signatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); - sym_signatureAlgorithm->verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))sym_verify_sp_aes256sha256rsapss; - sym_signatureAlgorithm->sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))sym_sign_sp_aes256sha256rsapss; - sym_signatureAlgorithm->getLocalSignatureSize = sym_getSignatureSize_sp_aes256sha256rsapss; - sym_signatureAlgorithm->getRemoteSignatureSize = sym_getSignatureSize_sp_aes256sha256rsapss; - sym_signatureAlgorithm->getLocalKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes256sha256rsapss; - sym_signatureAlgorithm->getRemoteKeyLength = - (size_t (*)(const void *))sym_getSigningKeyLength_sp_aes256sha256rsapss; - - UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - sym_encryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); - sym_encryptionAlgorithm->encrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_encrypt_sp_aes256sha256rsapss; - sym_encryptionAlgorithm->decrypt = - (UA_StatusCode(*)(void *, UA_ByteString *))sym_decrypt_sp_aes256sha256rsapss; - sym_encryptionAlgorithm->getLocalKeyLength = sym_getEncryptionKeyLength_sp_aes256sha256rsapss; - sym_encryptionAlgorithm->getRemoteKeyLength = sym_getEncryptionKeyLength_sp_aes256sha256rsapss; - sym_encryptionAlgorithm->getRemoteBlockSize = - (size_t (*)(const void *))sym_getEncryptionBlockSize_sp_aes256sha256rsapss; - sym_encryptionAlgorithm->getRemotePlainTextBlockSize = - (size_t (*)(const void *))sym_getPlainTextBlockSize_sp_aes256sha256rsapss; - symmetricModule->secureChannelNonceLength = 32; - - /* Certificate Signing Algorithm */ - policy->certificateSigningAlgorithm.uri = - UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); - policy->certificateSigningAlgorithm.verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))asym_cert_verify_sp_aes256sha256rsapss; - policy->certificateSigningAlgorithm.sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))asym_cert_sign_sp_aes256sha256rsapss; - policy->certificateSigningAlgorithm.getLocalSignatureSize = - (size_t (*)(const void *))asym_cert_getLocalSignatureSize_sp_aes256sha256rsapss; - policy->certificateSigningAlgorithm.getRemoteSignatureSize = - (size_t (*)(const void *))asym_cert_getRemoteSignatureSize_sp_aes256sha256rsapss; - policy->certificateSigningAlgorithm.getLocalKeyLength = NULL; // TODO: Write function - policy->certificateSigningAlgorithm.getRemoteKeyLength = NULL; // TODO: Write function - - /* ChannelModule */ - channelModule->newContext = channelContext_newContext_sp_aes256sha256rsapss; - channelModule->deleteContext = (void (*)(void *)) - channelContext_deleteContext_sp_aes256sha256rsapss; - - channelModule->setLocalSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymEncryptingKey_sp_aes256sha256rsapss; - channelModule->setLocalSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymSigningKey_sp_aes256sha256rsapss; - channelModule->setLocalSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setLocalSymIv_sp_aes256sha256rsapss; - - channelModule->setRemoteSymEncryptingKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymEncryptingKey_sp_aes256sha256rsapss; - channelModule->setRemoteSymSigningKey = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymSigningKey_sp_aes256sha256rsapss; - channelModule->setRemoteSymIv = (UA_StatusCode (*)(void *, const UA_ByteString *)) - channelContext_setRemoteSymIv_sp_aes256sha256rsapss; - - channelModule->compareCertificate = (UA_StatusCode (*)(const void *, const UA_ByteString *)) - channelContext_compareCertificate_sp_aes256sha256rsapss; - - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_aes256sha256rsapss; - policy->clear = clear_sp_aes256sha256rsapss; - - UA_StatusCode res = policyContext_newContext_sp_aes256sha256rsapss(policy, localPrivateKey); - if(res != UA_STATUSCODE_GOOD) - clear_sp_aes256sha256rsapss(policy); - - return res; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_mbedtls_create_certificate.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright (c) 2023 Fraunhofer IOSB (Author: Noel Graf) - * - */ - -#include - - -#if defined(UA_ENABLE_ENCRYPTION_MBEDTLS) - -#include -#include -#include -#include -#include -#include -#include - -#define SET_OID(x, oid) \ - do { x.len = MBEDTLS_OID_SIZE(oid); x.p = (unsigned char *) oid; } while (0) - -#define MBEDTLS_ASN1_CHK_CLEANUP_ADD(g, f) \ - do \ - { \ - if ((ret = (f)) < 0) \ - goto cleanup; \ - else \ - (g) += ret; \ - } while (0) - -#if MBEDTLS_VERSION_NUMBER < 0x02170000 -#define MBEDTLS_X509_SAN_OTHER_NAME 0 -#define MBEDTLS_X509_SAN_RFC822_NAME 1 -#define MBEDTLS_X509_SAN_DNS_NAME 2 -#define MBEDTLS_X509_SAN_X400_ADDRESS_NAME 3 -#define MBEDTLS_X509_SAN_DIRECTORY_NAME 4 -#define MBEDTLS_X509_SAN_EDI_PARTY_NAME 5 -#define MBEDTLS_X509_SAN_UNIFORM_RESOURCE_IDENTIFIER 6 -#define MBEDTLS_X509_SAN_IP_ADDRESS 7 -#define MBEDTLS_X509_SAN_REGISTERED_ID 8 -#endif - -#define MBEDTLS_SAN_MAX_LEN 64 -typedef struct mbedtls_write_san_node{ - int type; - char* host; - size_t hostlen; -} mbedtls_write_san_node; - -typedef struct mbedtls_write_san_list{ - mbedtls_write_san_node node; - struct mbedtls_write_san_list* next; -} mbedtls_write_san_list; - -static size_t mbedtls_get_san_list_deep(const mbedtls_write_san_list* sanlist); - -int mbedtls_x509write_crt_set_subject_alt_name(mbedtls_x509write_cert *ctx, const mbedtls_write_san_list* sanlist); - -#if MBEDTLS_VERSION_NUMBER < 0x03030000 -int mbedtls_x509write_crt_set_ext_key_usage(mbedtls_x509write_cert *ctx, - const mbedtls_asn1_sequence *exts); -#endif - -static int write_certificate(mbedtls_x509write_cert *crt, UA_CertificateFormat certFormat, - UA_ByteString *outCertificate, int (*f_rng)(void *, unsigned char *, size_t), - void *p_rng); - -static int write_private_key(mbedtls_pk_context *key, UA_CertificateFormat keyFormat, UA_ByteString *outPrivateKey); - -UA_StatusCode -UA_CreateCertificate(const UA_Logger *logger, const UA_String *subject, - size_t subjectSize, const UA_String *subjectAltName, - size_t subjectAltNameSize, UA_CertificateFormat certFormat, - UA_KeyValueMap *params, UA_ByteString *outPrivateKey, - UA_ByteString *outCertificate) { - if(!outPrivateKey || !outCertificate || !logger || !subjectAltName || !subject || - subjectAltNameSize == 0 || subjectSize == 0 || - (certFormat != UA_CERTIFICATEFORMAT_DER && certFormat != UA_CERTIFICATEFORMAT_PEM)) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Use the maximum size */ - UA_UInt16 keySizeBits = 4096; - /* Default to 1 year */ - UA_UInt16 expiresInDays = 365; - - if(params) { - const UA_UInt16 *keySizeBitsValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( - params, UA_QUALIFIEDNAME(0, "key-size-bits"), &UA_TYPES[UA_TYPES_UINT16]); - if(keySizeBitsValue) - keySizeBits = *keySizeBitsValue; - - const UA_UInt16 *expiresInDaysValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( - params, UA_QUALIFIEDNAME(0, "expires-in-days"), &UA_TYPES[UA_TYPES_UINT16]); - if(expiresInDaysValue) - expiresInDays = *expiresInDaysValue; - } - - UA_ByteString_init(outPrivateKey); - UA_ByteString_init(outCertificate); - - mbedtls_pk_context key; - mbedtls_ctr_drbg_context ctr_drbg; - mbedtls_entropy_context entropy; - const char *pers = "gen_key"; - mbedtls_x509write_cert crt; - - UA_StatusCode errRet = UA_STATUSCODE_GOOD; - - /* Set to sane values */ - mbedtls_pk_init(&key); - mbedtls_ctr_drbg_init(&ctr_drbg); - mbedtls_entropy_init(&entropy); - mbedtls_x509write_crt_init(&crt); - - /* Seed the random number generator */ - if (mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, (const unsigned char *)pers, strlen(pers)) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Failed to initialize the random number generator."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - /* Generate an RSA key pair */ - if (mbedtls_pk_setup(&key, mbedtls_pk_info_from_type(MBEDTLS_PK_RSA)) != 0 || - mbedtls_rsa_gen_key(mbedtls_pk_rsa(key), mbedtls_ctr_drbg_random, &ctr_drbg, keySizeBits, 65537) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Failed to generate RSA key pair."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - /* Setting certificate values */ - mbedtls_x509write_crt_set_version(&crt, MBEDTLS_X509_CRT_VERSION_3); - mbedtls_x509write_crt_set_md_alg(&crt, MBEDTLS_MD_SHA256); - - size_t subject_char_len = 0; - for(size_t i = 0; i < subjectSize; i++) { - subject_char_len += subject[i].length; - } - char *subject_char = (char*)UA_malloc(subject_char_len + subjectSize); - if(!subject_char) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Cannot allocate memory for subject. Out of memory."); - errRet = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - size_t pos = 0; - for(size_t i = 0; i < subjectSize; i++) { - subject_char_len += subject[i].length; - memcpy(subject_char + pos, subject[i].data, subject[i].length); - pos += subject[i].length; - if(i < subjectSize - 1) - subject_char[pos++] = ','; - else - subject_char[pos++] = '\0'; - } - - if((mbedtls_x509write_crt_set_subject_name(&crt, subject_char)) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting subject failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - UA_free(subject_char); - goto cleanup; - } - - if((mbedtls_x509write_crt_set_issuer_name(&crt, subject_char)) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting issuer failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - UA_free(subject_char); - goto cleanup; - } - - UA_free(subject_char); - - mbedtls_write_san_list *cur = NULL; - mbedtls_write_san_list *cur_tmp = NULL; - mbedtls_write_san_list *head = NULL; - for(size_t i = 0; i < subjectAltNameSize; i++) { - char *sanType; - char *sanValue; - size_t sanValueLength; - char *subAlt = (char *)UA_malloc(subjectAltName[i].length + 1); - memcpy(subAlt, subjectAltName[i].data, subjectAltName[i].length); - - /* null-terminate the copied string */ - subAlt[subjectAltName[i].length] = 0; - /* split into SAN type and value */ - sanType = strtok(subAlt, ":"); - sanValue = (char *)subjectAltName[i].data + strlen(sanType) + 1; - sanValueLength = subjectAltName[i].length - strlen(sanType) - 1; - - if(sanType) { - cur_tmp = (mbedtls_write_san_list*)mbedtls_calloc(1, sizeof(mbedtls_write_san_list)); - cur_tmp->next = NULL; - cur_tmp->node.host = sanValue; - cur_tmp->node.hostlen = sanValueLength; - - if(strcmp(sanType, "DNS") == 0) { - cur_tmp->node.type = MBEDTLS_X509_SAN_DNS_NAME; - } else if(strcmp(sanType, "URI") == 0) { - cur_tmp->node.type = MBEDTLS_X509_SAN_UNIFORM_RESOURCE_IDENTIFIER; - } else if(strcmp(sanType, "IP") == 0) { - uint8_t ip[4] = {0}; - if(UA_inet_pton(AF_INET, sanValue, ip) <= 0) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURECHANNEL, "IP SAN preparation failed"); - mbedtls_free(cur_tmp); - UA_free(subAlt); - continue; - } - cur_tmp->node.type = MBEDTLS_X509_SAN_IP_ADDRESS; - cur_tmp->node.host = (char *)ip; - cur_tmp->node.hostlen = sizeof(ip); - } else if(strcmp(sanType, "RFC822") == 0) { - cur_tmp->node.type = MBEDTLS_X509_SAN_RFC822_NAME; - } else { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURECHANNEL, "Given an unsupported SAN"); - mbedtls_free(cur_tmp); - UA_free(subAlt); - continue; - } - } else { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURECHANNEL, "Invalid Input format"); - UA_free(subAlt); - continue; - } - - if(!cur) { - cur = cur_tmp; - head = cur_tmp; - } else { - cur->next = cur_tmp; - cur = cur->next; - } - - UA_free(subAlt); - } - - if((mbedtls_x509write_crt_set_subject_alt_name(&crt, head)) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting subject alternative name failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - while(head != NULL) { - cur_tmp = head->next; - mbedtls_free(head); - head = cur_tmp; - } - goto cleanup; - } - - while(head != NULL) { - cur_tmp = head->next; - mbedtls_free(head); - head = cur_tmp; - } - -#if MBEDTLS_VERSION_NUMBER >= 0x03040000 - unsigned char *serial = (unsigned char *)"1"; - size_t serial_len = 1; - mbedtls_x509write_crt_set_serial_raw(&crt, serial, serial_len); -#else - mbedtls_mpi serial_mpi; - mbedtls_mpi_init(&serial_mpi); - mbedtls_mpi_lset(&serial_mpi, 1); - mbedtls_x509write_crt_set_serial(&crt, &serial_mpi); - mbedtls_mpi_free(&serial_mpi); -#endif - - /* Get the current time */ - time_t rawTime; - struct tm *timeInfo; - time(&rawTime); - timeInfo = gmtime(&rawTime); - - /* Format the current timestamp */ - char current_timestamp[15]; // YYYYMMDDhhmmss + '\0' - strftime(current_timestamp, sizeof(current_timestamp), "%Y%m%d%H%M%S", timeInfo); - - /* Calculate the future timestamp */ - timeInfo->tm_mday += expiresInDays; - time_t future_time = mktime(timeInfo); - - /* Format the future timestamp */ - char future_timestamp[15]; // YYYYMMDDhhmmss + '\0' - strftime(future_timestamp, sizeof(future_timestamp), "%Y%m%d%H%M%S", gmtime(&future_time)); - - if(mbedtls_x509write_crt_set_validity(&crt, current_timestamp, future_timestamp) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting 'not before' and 'not after' failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(mbedtls_x509write_crt_set_basic_constraints(&crt, 0, -1) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting basic constraints failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(mbedtls_x509write_crt_set_key_usage(&crt, MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION - | MBEDTLS_X509_KU_KEY_ENCIPHERMENT | MBEDTLS_X509_KU_DATA_ENCIPHERMENT - | MBEDTLS_X509_KU_KEY_CERT_SIGN | MBEDTLS_X509_KU_CRL_SIGN) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting key usage failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - mbedtls_asn1_sequence *ext_key_usage; - ext_key_usage = (mbedtls_asn1_sequence *)mbedtls_calloc(1, sizeof(mbedtls_asn1_sequence)); - ext_key_usage->buf.tag = MBEDTLS_ASN1_OID; - SET_OID(ext_key_usage->buf, MBEDTLS_OID_SERVER_AUTH); - ext_key_usage->next = (mbedtls_asn1_sequence *)mbedtls_calloc(1, sizeof(mbedtls_asn1_sequence)); - ext_key_usage->next->buf.tag = MBEDTLS_ASN1_OID; - SET_OID(ext_key_usage->next->buf, MBEDTLS_OID_CLIENT_AUTH); - - if(mbedtls_x509write_crt_set_ext_key_usage(&crt, ext_key_usage) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Setting extended key usage failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - mbedtls_free(ext_key_usage->next); - mbedtls_free(ext_key_usage); - goto cleanup; - } - - mbedtls_free(ext_key_usage->next); - mbedtls_free(ext_key_usage); - - mbedtls_x509write_crt_set_subject_key(&crt, &key); - mbedtls_x509write_crt_set_issuer_key(&crt, &key); - - - /* Write private key */ - if ((write_private_key(&key, certFormat, outPrivateKey)) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Writing private key failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - /* Write Certificate */ - if ((write_certificate(&crt, certFormat, outCertificate, - mbedtls_ctr_drbg_random, &ctr_drbg)) != 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Writing certificate failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - mbedtls_ctr_drbg_free(&ctr_drbg); - mbedtls_entropy_free(&entropy); - mbedtls_x509write_crt_free(&crt); - mbedtls_pk_free(&key); - -cleanup: - mbedtls_ctr_drbg_free(&ctr_drbg); - mbedtls_entropy_free(&entropy); - mbedtls_x509write_crt_free(&crt); - mbedtls_pk_free(&key); - return errRet; -} - -static int write_private_key(mbedtls_pk_context *key, UA_CertificateFormat keyFormat, UA_ByteString *outPrivateKey) { - int ret; - unsigned char output_buf[16000]; - unsigned char *c = output_buf; - size_t len = 0; - - memset(output_buf, 0, sizeof(output_buf)); - switch(keyFormat) { - case UA_CERTIFICATEFORMAT_DER: { - if((ret = mbedtls_pk_write_key_der(key, output_buf, sizeof(output_buf))) < 0) { - return ret; - } - - len = ret; - c = output_buf + sizeof(output_buf) - len; - break; - } - case UA_CERTIFICATEFORMAT_PEM: { - if((ret = mbedtls_pk_write_key_pem(key, output_buf, sizeof(output_buf))) != 0) { - return ret; - } - - len = strlen((char *)output_buf); - break; - } - } - - outPrivateKey->length = len; - UA_ByteString_allocBuffer(outPrivateKey, outPrivateKey->length); - memcpy(outPrivateKey->data, c, outPrivateKey->length); - - return 0; -} - -static int write_certificate(mbedtls_x509write_cert *crt, UA_CertificateFormat certFormat, - UA_ByteString *outCertificate, int (*f_rng)(void *, unsigned char *, size_t), - void *p_rng) { - int ret; - unsigned char output_buf[4096]; - unsigned char *c = output_buf; - size_t len = 0; - - memset(output_buf, 0, sizeof(output_buf)); - switch(certFormat) { - case UA_CERTIFICATEFORMAT_DER: { - if((ret = mbedtls_x509write_crt_der(crt, output_buf, sizeof(output_buf), f_rng, p_rng)) < 0) { - return ret; - } - - len = ret; - c = output_buf + sizeof(output_buf) - len; - break; - } - case UA_CERTIFICATEFORMAT_PEM: { - if((ret = mbedtls_x509write_crt_pem(crt, output_buf, sizeof(output_buf), f_rng, p_rng)) < 0) { - return ret; - } - - len = strlen((char *)output_buf); - break; - } - } - - outCertificate->length = len; - UA_ByteString_allocBuffer(outCertificate, outCertificate->length); - memcpy(outCertificate->data, c, outCertificate->length); - - return 0; -} - -#if MBEDTLS_VERSION_NUMBER < 0x03030000 -int mbedtls_x509write_crt_set_ext_key_usage(mbedtls_x509write_cert *ctx, - const mbedtls_asn1_sequence *exts) { - unsigned char buf[256]; - unsigned char *c = buf + sizeof(buf); - int ret; - size_t len = 0; - const mbedtls_asn1_sequence *last_ext = NULL; - const mbedtls_asn1_sequence *ext; - - memset(buf, 0, sizeof(buf)); - - /* We need at least one extension: SEQUENCE SIZE (1..MAX) OF KeyPurposeId */ - if(!exts) { - return MBEDTLS_ERR_X509_BAD_INPUT_DATA; - } - - /* Iterate over exts backwards, so we write them out in the requested order */ - while(last_ext != exts) { - for(ext = exts; ext->next != last_ext; ext = ext->next) { - } - if(ext->buf.tag != MBEDTLS_ASN1_OID) { - return MBEDTLS_ERR_X509_BAD_INPUT_DATA; - } - MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_raw_buffer(&c, buf, ext->buf.p, ext->buf.len)); - MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_len(&c, buf, ext->buf.len)); - MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_tag(&c, buf, MBEDTLS_ASN1_OID)); - last_ext = ext; - } - - MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_len(&c, buf, len)); - MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_tag(&c, buf, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE)); - - return mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_EXTENDED_KEY_USAGE, - MBEDTLS_OID_SIZE(MBEDTLS_OID_EXTENDED_KEY_USAGE), 1, c, len); -} - -#endif - -static size_t mbedtls_get_san_list_deep(const mbedtls_write_san_list* sanlist) { - size_t ret = 0; - const mbedtls_write_san_list* cur = sanlist; - while (cur) { - ++ret; - cur = cur->next; - } - - return ret; -} - -int mbedtls_x509write_crt_set_subject_alt_name(mbedtls_x509write_cert *ctx, const mbedtls_write_san_list* sanlist) { - int ret = 0; - size_t sandeep = 0; - const mbedtls_write_san_list* cur = sanlist; - unsigned char* buf; - unsigned char* pc; - size_t len; - size_t buflen = 0; - - /* How many alt names to be written */ - sandeep = mbedtls_get_san_list_deep(sanlist); - if (sandeep == 0) - return ret; - - buflen = MBEDTLS_SAN_MAX_LEN * sandeep + sandeep; - buf = (unsigned char *)mbedtls_calloc(1, buflen); - if(!buf) - return MBEDTLS_ERR_ASN1_ALLOC_FAILED; - - memset(buf, 0, buflen); - pc = buf + buflen; - - len = 0; - while(cur) { - switch (cur->node.type) { - case MBEDTLS_X509_SAN_DNS_NAME: - case MBEDTLS_X509_SAN_RFC822_NAME: - case MBEDTLS_X509_SAN_UNIFORM_RESOURCE_IDENTIFIER: - case MBEDTLS_X509_SAN_IP_ADDRESS: - MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, - mbedtls_asn1_write_raw_buffer(&pc, buf, (const unsigned char *)cur->node.host, - cur->node.hostlen)); - MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_len(&pc, buf, cur->node.hostlen)); - MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_tag(&pc, buf, - MBEDTLS_ASN1_CONTEXT_SPECIFIC | cur->node.type)); - break; - default: - /* Error out on an unsupported SAN */ - ret = MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE; - goto cleanup; - } - - cur = cur->next; - } - - MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_len(&pc, buf, len)); - MBEDTLS_ASN1_CHK_CLEANUP_ADD(len, mbedtls_asn1_write_tag(&pc, buf, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE)); - - ret = mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_SUBJECT_ALT_NAME, - MBEDTLS_OID_SIZE(MBEDTLS_OID_SUBJECT_ALT_NAME), 0, buf + buflen - len, len); - - mbedtls_free(buf); - return ret; - -cleanup: - mbedtls_free(buf); - return ret; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/mbedtls/ua_pki_mbedtls.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2019 (c) Kalycito Infotech Private Limited - * Copyright 2019, 2024 (c) Julius Pfrommer, Fraunhofer IOSB - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - - -#include -#include -#include -#include -#include -#include -#include - -#define UA_MBEDTLS_MAX_CHAIN_LENGTH 10 -#define UA_MBEDTLS_MAX_DN_LENGTH 256 - -/* Find binary substring. Taken and adjusted from - * http://tungchingkai.blogspot.com/2011/07/binary-strstr.html */ - -static const unsigned char * -bstrchr(const unsigned char *s, const unsigned char ch, size_t l) { - /* find first occurrence of c in char s[] for length l*/ - for(; l > 0; ++s, --l) { - if(*s == ch) - return s; - } - return NULL; -} - -static const unsigned char * -UA_Bstrstr(const unsigned char *s1, size_t l1, const unsigned char *s2, size_t l2) { - /* find first occurrence of s2[] in s1[] for length l1*/ - const unsigned char *ss1 = s1; - const unsigned char *ss2 = s2; - /* handle special case */ - if(l1 == 0) - return (NULL); - if(l2 == 0) - return s1; - - /* match prefix */ - for (; (s1 = bstrchr(s1, *s2, (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1)) != NULL && - (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1 != 0; ++s1) { - - /* match rest of prefix */ - const unsigned char *sc1, *sc2; - for (sc1 = s1, sc2 = s2; ;) - if (++sc2 >= ss2+l2) - return s1; - else if (*++sc1 != *sc2) - break; - } - return NULL; -} - -// mbedTLS expects PEM data to be null terminated -// The data length parameter must include the null terminator -static UA_ByteString copyDataFormatAware(const UA_ByteString *data) -{ - UA_ByteString result; - UA_ByteString_init(&result); - - if (!data->length) - return result; - - if (data->length && data->data[0] == '-') { - UA_ByteString_allocBuffer(&result, data->length + 1); - memcpy(result.data, data->data, data->length); - result.data[data->length] = '\0'; - } else { - UA_ByteString_copy(data, &result); - } - - return result; -} - -typedef struct { - UA_CertificateVerification *cv; - - /* If the folders are defined, we use them to reload the certificates during - * runtime */ - UA_String trustListFolder; - UA_String issuerListFolder; - UA_String revocationListFolder; - UA_String rejectedListFolder; - - mbedtls_x509_crt certificateTrustList; - mbedtls_x509_crt certificateIssuerList; - mbedtls_x509_crl certificateRevocationList; -} CertInfo; - -#ifdef __linux__ /* Linux only so far */ - -#include -#include - -static UA_StatusCode -fileNamesFromFolder(const UA_String *folder, size_t *pathsSize, UA_String **paths) { - char buf[PATH_MAX + 1]; - if(folder->length > PATH_MAX) - return UA_STATUSCODE_BADINTERNALERROR; - - memcpy(buf, folder->data, folder->length); - buf[folder->length] = 0; - - DIR *dir = opendir(buf); - if(!dir) - return UA_STATUSCODE_BADINTERNALERROR; - - *paths = (UA_String*)UA_Array_new(256, &UA_TYPES[UA_TYPES_STRING]); - if(*paths == NULL) { - closedir(dir); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - struct dirent *ent; - char buf2[PATH_MAX + 1]; - char *res = realpath(buf, buf2); - if(!res) { - closedir(dir); - return UA_STATUSCODE_BADINTERNALERROR; - } - size_t pathlen = strlen(buf2); - *pathsSize = 0; - while((ent = readdir (dir)) != NULL && *pathsSize < 256) { - if(ent->d_type != DT_REG) - continue; - buf2[pathlen] = '/'; - buf2[pathlen+1] = 0; - strcat(buf2, ent->d_name); - (*paths)[*pathsSize] = UA_STRING_ALLOC(buf2); - *pathsSize += 1; - } - closedir(dir); - - if(*pathsSize == 0) { - UA_free(*paths); - *paths = NULL; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -reloadCertificates(const UA_CertificateVerification *cv, CertInfo *ci) { - UA_StatusCode retval = UA_STATUSCODE_GOOD; - int err = 0; - int internalErrorFlag = 0; - - /* Load the trustlists */ - if(ci->trustListFolder.length > 0) { - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the trust-list"); - mbedtls_x509_crt_free(&ci->certificateTrustList); - mbedtls_x509_crt_init(&ci->certificateTrustList); - - char f[PATH_MAX]; - memcpy(f, ci->trustListFolder.data, ci->trustListFolder.length); - f[ci->trustListFolder.length] = 0; - err = mbedtls_x509_crt_parse_path(&ci->certificateTrustList, f); - if(err == 0) { - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, - "Loaded certificate from %s", f); - } else { - char errBuff[300]; - mbedtls_strerror(err, errBuff, 300); - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to load certificate from %s, mbedTLS error: %s (error code: %d)", f, errBuff, err); - internalErrorFlag = 1; - } - } - - /* Load the revocationlists */ - if(ci->revocationListFolder.length > 0) { - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the revocation-list"); - size_t pathsSize = 0; - UA_String *paths = NULL; - retval = fileNamesFromFolder(&ci->revocationListFolder, &pathsSize, &paths); - if(retval != UA_STATUSCODE_GOOD) - return retval; - mbedtls_x509_crl_free(&ci->certificateRevocationList); - mbedtls_x509_crl_init(&ci->certificateRevocationList); - for(size_t i = 0; i < pathsSize; i++) { - char f[PATH_MAX]; - memcpy(f, paths[i].data, paths[i].length); - f[paths[i].length] = 0; - err = mbedtls_x509_crl_parse_file(&ci->certificateRevocationList, f); - if(err == 0) { - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, - "Loaded certificate from %.*s", - (int)paths[i].length, paths[i].data); - } else { - char errBuff[300]; - mbedtls_strerror(err, errBuff, 300); - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to load certificate from %.*s, mbedTLS error: %s (error code: %d)", - (int)paths[i].length, paths[i].data, errBuff, err); - internalErrorFlag = 1; - } - } - UA_Array_delete(paths, pathsSize, &UA_TYPES[UA_TYPES_STRING]); - paths = NULL; - pathsSize = 0; - } - - /* Load the issuerlists */ - if(ci->issuerListFolder.length > 0) { - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the issuer-list"); - mbedtls_x509_crt_free(&ci->certificateIssuerList); - mbedtls_x509_crt_init(&ci->certificateIssuerList); - char f[PATH_MAX]; - memcpy(f, ci->issuerListFolder.data, ci->issuerListFolder.length); - f[ci->issuerListFolder.length] = 0; - err = mbedtls_x509_crt_parse_path(&ci->certificateIssuerList, f); - if(err == 0) { - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, - "Loaded certificate from %s", f); - } else { - char errBuff[300]; - mbedtls_strerror(err, errBuff, 300); - UA_LOG_INFO(cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to load certificate from %s, mbedTLS error: %s (error code: %d)", - f, errBuff, err); - internalErrorFlag = 1; - } - } - - return (internalErrorFlag) ? UA_STATUSCODE_BADINTERNALERROR : retval; -} - -#endif - -/* We need to access some private fields below */ -#ifndef MBEDTLS_PRIVATE -#define MBEDTLS_PRIVATE(x) x -#endif - -/* Is the certificate a CA? */ -static UA_Boolean -mbedtlsCheckCA(mbedtls_x509_crt *cert) { - /* The Basic Constraints extension must be set and the cert acts as CA */ - if(!(cert->MBEDTLS_PRIVATE(ext_types) & MBEDTLS_X509_EXT_BASIC_CONSTRAINTS) || - !cert->MBEDTLS_PRIVATE(ca_istrue)) - return false; - - /* The Key Usage extension must be set to cert signing and CRL issuing */ - if(!(cert->MBEDTLS_PRIVATE(ext_types) & MBEDTLS_X509_EXT_KEY_USAGE) || - mbedtls_x509_crt_check_key_usage(cert, MBEDTLS_X509_KU_KEY_CERT_SIGN) != 0 || - mbedtls_x509_crt_check_key_usage(cert, MBEDTLS_X509_KU_CRL_SIGN) != 0) - return false; - - return true; -} - -static UA_Boolean -mbedtlsSameName(UA_String name, const mbedtls_x509_name *name2) { - char buf[UA_MBEDTLS_MAX_DN_LENGTH]; - int len = mbedtls_x509_dn_gets(buf, UA_MBEDTLS_MAX_DN_LENGTH, name2); - if(len < 0) - return false; - UA_String nameString = {(size_t)len, (UA_Byte*)buf}; - return UA_String_equal(&name, &nameString); -} - -static UA_Boolean -mbedtlsSameBuf(mbedtls_x509_buf *a, mbedtls_x509_buf *b) { - if(a->len != b->len) - return false; - return (memcmp(a->p, b->p, a->len) == 0); -} - -/* Return the first matching issuer candidate AFTER prev. - * This can return the cert itself if self-signed. */ -static mbedtls_x509_crt * -mbedtlsFindNextIssuer(CertInfo *ci, mbedtls_x509_crt *stack, - mbedtls_x509_crt *cert, mbedtls_x509_crt *prev) { - char inbuf[UA_MBEDTLS_MAX_DN_LENGTH]; - int nameLen = mbedtls_x509_dn_gets(inbuf, UA_MBEDTLS_MAX_DN_LENGTH, &cert->issuer); - if(nameLen < 0) - return NULL; - UA_String issuerName = {(size_t)nameLen, (UA_Byte*)inbuf}; - do { - for(mbedtls_x509_crt *i = stack; i; i = i->next) { - if(prev) { - if(prev == i) - prev = NULL; /* This was the last issuer we tried to verify */ - continue; - } - /* Compare issuer name and subject name. - * Skip when the key does not match the signature. */ - if(mbedtlsSameName(issuerName, &i->subject) && - mbedtls_pk_can_do(&i->pk, cert->MBEDTLS_PRIVATE(sig_pk))) - return i; - } - - /* Switch from the stack that came with the cert to the issuer list and - * then to the trust list. */ - if(stack == &ci->certificateTrustList) - stack = NULL; - else if(stack == &ci->certificateIssuerList) - stack = &ci->certificateTrustList; - else - stack = &ci->certificateIssuerList; - } while(stack); - return NULL; -} - -static UA_StatusCode -mbedtlsCheckRevoked(CertInfo *ci, mbedtls_x509_crt *cert) { - /* Parse the Issuer Name */ - char inbuf[UA_MBEDTLS_MAX_DN_LENGTH]; - int nameLen = mbedtls_x509_dn_gets(inbuf, UA_MBEDTLS_MAX_DN_LENGTH, &cert->issuer); - if(nameLen < 0) - return UA_STATUSCODE_BADINTERNALERROR; - UA_String issuerName = {(size_t)nameLen, (UA_Byte*)inbuf}; - - if(ci->certificateRevocationList.raw.len == 0) { - UA_LOG_WARNING(ci->cv->logging, UA_LOGCATEGORY_SECURITYPOLICY, - "Zero revocation lists have been loaded. " - "This seems intentional - omitting the check."); - return UA_STATUSCODE_GOOD; - } - - /* Loop over the crl and match the Issuer Name */ - UA_StatusCode res = UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN; - for(mbedtls_x509_crl *crl = &ci->certificateRevocationList; crl; crl = crl->next) { - /* Is the CRL for certificates from the cert issuer? - * Is the serial number of the certificate contained in the CRL? */ - if(mbedtlsSameName(issuerName, &crl->issuer)) { - if(mbedtls_x509_crt_is_revoked(cert, crl) != 0) - return UA_STATUSCODE_BADCERTIFICATEREVOKED; - res = UA_STATUSCODE_GOOD; /* There was at least one crl that did not revoke (so far) */ - } - } - return res; -} - -/* Verify that the public key of the issuer was used to sign the certificate */ -static UA_Boolean -mbedtlsCheckSignature(const mbedtls_x509_crt *cert, mbedtls_x509_crt *issuer) { - size_t hash_len; - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; - mbedtls_md_type_t md = cert->MBEDTLS_PRIVATE(sig_md); -#if !defined(MBEDTLS_USE_PSA_CRYPTO) - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type(md); - hash_len = mbedtls_md_get_size(md_info); - if(mbedtls_md(md_info, cert->tbs.p, cert->tbs.len, hash) != 0) - return false; -#else - if(psa_hash_compute(mbedtls_md_psa_alg_from_type(md), cert->tbs.p, - cert->tbs.len, hash, sizeof(hash), &hash_len) != PSA_SUCCESS) - return false; -#endif - const mbedtls_x509_buf *sig = &cert->MBEDTLS_PRIVATE(sig); - void *sig_opts = cert->MBEDTLS_PRIVATE(sig_opts); - mbedtls_pk_type_t pktype = cert->MBEDTLS_PRIVATE(sig_pk); - return (mbedtls_pk_verify_ext(pktype, sig_opts, &issuer->pk, md, - hash, hash_len, sig->p, sig->len) == 0); -} - -static UA_StatusCode -mbedtlsVerifyChain(CertInfo *ci, mbedtls_x509_crt *stack, mbedtls_x509_crt **old_issuers, - mbedtls_x509_crt *cert, int depth) { - /* Maxiumum chain length */ - if(depth == UA_MBEDTLS_MAX_CHAIN_LENGTH) - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - - /* Verification Step: Validity Period */ - if(mbedtls_x509_time_is_future(&cert->valid_from) || - mbedtls_x509_time_is_past(&cert->valid_to)) - return (depth == 0) ? UA_STATUSCODE_BADCERTIFICATETIMEINVALID : - UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID; - - /* Return the most specific error code. BADCERTIFICATECHAININCOMPLETE is - * returned only if all possible chains are incomplete. */ - mbedtls_x509_crt *issuer = NULL; - UA_StatusCode ret = UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - while(ret != UA_STATUSCODE_GOOD) { - /* Find the issuer. This can return the same certificate if it is - * self-signed (subject == issuer). We come back here to try a different - * "path" if a subsequent verification fails. */ - issuer = mbedtlsFindNextIssuer(ci, stack, cert, issuer); - if(!issuer) - break; - - /* Verification Step: Certificate Usage - * Can the issuer act as CA? Omit for self-signed leaf certificates. */ - if((depth > 0 || issuer != cert) && !mbedtlsCheckCA(issuer)) { - ret = UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED; - continue; - } - - /* Verification Step: Signature */ - if(!mbedtlsCheckSignature(cert, issuer)) { - ret = UA_STATUSCODE_BADCERTIFICATEINVALID; /* Wrong issuer, try again */ - continue; - } - - /* The certificate is self-signed. We have arrived at the top of the - * chain. We check whether the certificate is trusted below. This is the - * only place where we return UA_STATUSCODE_BADCERTIFICATEUNTRUSTED. - * This signals that the chain is complete (but can be still - * untrusted). - * - * Break here as we have reached the end of the chain. Omit the - * Revocation Check for self-signed certificates. */ - if(issuer == cert || mbedtlsSameBuf(&cert->tbs, &issuer->tbs)) { - ret = UA_STATUSCODE_BADCERTIFICATEUNTRUSTED; - break; - } - - /* Verification Step: Revocation Check */ - ret = mbedtlsCheckRevoked(ci, cert); - if(depth > 0) { - if(ret == UA_STATUSCODE_BADCERTIFICATEREVOKED) - ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED; - if(ret == UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN) - ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN; - } - if(ret != UA_STATUSCODE_GOOD) - continue; - - /* Detect (endless) loops of issuers */ - for(int i = 0; i < depth; i++) { - if(old_issuers[i] == issuer) - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - } - old_issuers[depth] = issuer; - - /* We have found the issuer certificate used for the signature. Recurse - * to the next certificate in the chain (verify the current issuer). */ - ret = mbedtlsVerifyChain(ci, stack, old_issuers, issuer, depth + 1); - } - - /* The chain is complete, but we haven't yet identified a trusted - * certificate "on the way down". Can we trust this certificate? */ - if(ret == UA_STATUSCODE_BADCERTIFICATEUNTRUSTED) { - for(mbedtls_x509_crt *t = &ci->certificateTrustList; t; t = t->next) { - if(mbedtlsSameBuf(&cert->tbs, &t->tbs)) - return UA_STATUSCODE_GOOD; - } - } - - return ret; -} - -/* This follows Part 6, 6.1.3 Determining if a Certificate is trusted. - * It defines a sequence of steps for certificate verification. */ -static UA_StatusCode -certificateVerification_verify(const UA_CertificateVerification *cv, - const UA_ByteString *certificate) { - if(!cv || !certificate) - return UA_STATUSCODE_BADINTERNALERROR; - - CertInfo *ci = (CertInfo*)cv->context; - UA_StatusCode ret = UA_STATUSCODE_GOOD; - mbedtls_x509_crt *old_issuers[UA_MBEDTLS_MAX_CHAIN_LENGTH]; - -#ifdef __linux__ /* Reload certificates if folder paths are specified */ - ret = reloadCertificates(cv, ci); - if(ret != UA_STATUSCODE_GOOD) - return ret; -#endif - - /* Verification Step: Certificate Structure - * This parses the entire certificate chain contained in the bytestring. */ - mbedtls_x509_crt cert; - mbedtls_x509_crt_init(&cert); - int mbedErr = mbedtls_x509_crt_parse(&cert, certificate->data, - certificate->length); - if(mbedErr) { - ret = UA_STATUSCODE_BADCERTIFICATEINVALID; - goto errout; - } - - /* Verification Step: Certificate Usage - * Check whether the certificate is a User certificate or a CA certificate. - * Refer the test case CTT/Security/Security Certificate Validation/029.js - * for more details. */ - if(mbedtlsCheckCA(&cert)) { - ret = UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; - goto errout; - } - - /* These steps are performed outside of this method. - * Because we need the server or client context. - * - Security Policy - * - Host Name - * - URI */ - - /* Verification Step: Build Certificate Chain - * We perform the checks for each certificate inside. */ - ret = mbedtlsVerifyChain(ci, &cert, old_issuers, &cert, 0); - - errout: - mbedtls_x509_crt_free(&cert); - -#ifdef UA_ENABLE_CERT_REJECTED_DIR - if(ret != UA_STATUSCODE_GOOD && - ci->rejectedListFolder.length > 0) { - char rejectedFileName[256] = {0}; - UA_ByteString thumbprint; - UA_ByteString_allocBuffer(&thumbprint, UA_SHA1_LENGTH); - if(mbedtls_thumbprint_sha1(certificate, &thumbprint) == UA_STATUSCODE_GOOD) { - static const char hex2char[] = "0123456789ABCDEF"; - for(size_t pos = 0, namePos = 0; pos < thumbprint.length; pos++) { - rejectedFileName[namePos++] = hex2char[(thumbprint.data[pos] & 0xf0) >> 4]; - rejectedFileName[namePos++] = hex2char[thumbprint.data[pos] & 0x0f]; - } - strcat(rejectedFileName, ".der"); - } else { - UA_UInt64 dt = (UA_UInt64) UA_DateTime_now(); - sprintf(rejectedFileName, "cert_%" PRIu64 ".der", dt); - } - UA_ByteString_clear(&thumbprint); - char *rejectedFullFileName = (char *) - calloc(ci->rejectedListFolder.length + 1 /* '/' */ + strlen(rejectedFileName) + 1, sizeof(char)); - if(!rejectedFullFileName) - return ret; - memcpy(rejectedFullFileName, ci->rejectedListFolder.data, ci->rejectedListFolder.length); - rejectedFullFileName[ci->rejectedListFolder.length] = '/'; - memcpy(&rejectedFullFileName[ci->rejectedListFolder.length + 1], rejectedFileName, strlen(rejectedFileName)); - FILE * fp_rejectedFile = fopen(rejectedFullFileName, "wb"); - if(fp_rejectedFile) { - fwrite(certificate->data, sizeof(certificate->data[0]), certificate->length, fp_rejectedFile); - fclose(fp_rejectedFile); - } - free(rejectedFullFileName); - } -#endif - - return ret; -} - -static UA_StatusCode -certificateVerification_verifyApplicationURI(const UA_CertificateVerification *cv, - const UA_ByteString *certificate, - const UA_String *applicationURI) { - CertInfo *ci; - if(!cv) - return UA_STATUSCODE_BADINTERNALERROR; - ci = (CertInfo*)cv->context; - if(!ci) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Parse the certificate */ - mbedtls_x509_crt remoteCertificate; - mbedtls_x509_crt_init(&remoteCertificate); - int mbedErr = mbedtls_x509_crt_parse(&remoteCertificate, certificate->data, - certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Poor man's ApplicationUri verification. mbedTLS does not parse all fields - * of the Alternative Subject Name. Instead test whether the URI-string is - * present in the v3_ext field in general. - * - * TODO: Improve parsing of the Alternative Subject Name */ - UA_StatusCode retval = UA_STATUSCODE_GOOD; - if(UA_Bstrstr(remoteCertificate.v3_ext.p, remoteCertificate.v3_ext.len, - applicationURI->data, applicationURI->length) == NULL) - retval = UA_STATUSCODE_BADCERTIFICATEURIINVALID; - - mbedtls_x509_crt_free(&remoteCertificate); - return retval; -} - -static void -certificateVerification_clear(UA_CertificateVerification *cv) { - CertInfo *ci = (CertInfo*)cv->context; - if(!ci) - return; - mbedtls_x509_crt_free(&ci->certificateTrustList); - mbedtls_x509_crl_free(&ci->certificateRevocationList); - mbedtls_x509_crt_free(&ci->certificateIssuerList); - UA_String_clear(&ci->trustListFolder); - UA_String_clear(&ci->issuerListFolder); - UA_String_clear(&ci->revocationListFolder); - UA_String_clear(&ci->rejectedListFolder); - UA_free(ci); - cv->context = NULL; -} - -static UA_StatusCode -getCertificate_ExpirationDate(UA_DateTime *expiryDateTime, - UA_ByteString *certificate) { - mbedtls_x509_crt publicKey; - mbedtls_x509_crt_init(&publicKey); - int mbedErr = mbedtls_x509_crt_parse(&publicKey, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - UA_DateTimeStruct ts; - ts.year = (UA_Int16)publicKey.valid_to.year; - ts.month = (UA_UInt16)publicKey.valid_to.mon; - ts.day = (UA_UInt16)publicKey.valid_to.day; - ts.hour = (UA_UInt16)publicKey.valid_to.hour; - ts.min = (UA_UInt16)publicKey.valid_to.min; - ts.sec = (UA_UInt16)publicKey.valid_to.sec; - ts.milliSec = 0; - ts.microSec = 0; - ts.nanoSec = 0; - *expiryDateTime = UA_DateTime_fromStruct(ts); - mbedtls_x509_crt_free(&publicKey); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -getCertificate_SubjectName(UA_String *subjectName, - UA_ByteString *certificate) { - mbedtls_x509_crt publicKey; - mbedtls_x509_crt_init(&publicKey); - int mbedErr = mbedtls_x509_crt_parse(&publicKey, certificate->data, certificate->length); - if(mbedErr) - return UA_STATUSCODE_BADINTERNALERROR; - char buf[1024]; - int res = mbedtls_x509_dn_gets(buf, 1024, &publicKey.subject); - mbedtls_x509_crt_free(&publicKey); - if(res < 0) - return UA_STATUSCODE_BADINTERNALERROR; - UA_String tmp = {(size_t)res, (UA_Byte*)buf}; - return UA_String_copy(&tmp, subjectName); -} - -UA_StatusCode -UA_CertificateVerification_Trustlist(UA_CertificateVerification *cv, - const UA_ByteString *certificateTrustList, - size_t certificateTrustListSize, - const UA_ByteString *certificateIssuerList, - size_t certificateIssuerListSize, - const UA_ByteString *certificateRevocationList, - size_t certificateRevocationListSize) { - - if(cv == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Clear if the plugin is already initialized */ - if(cv->clear) - cv->clear(cv); - - CertInfo *ci = (CertInfo*)UA_malloc(sizeof(CertInfo)); - if(!ci) - return UA_STATUSCODE_BADOUTOFMEMORY; - memset(ci, 0, sizeof(CertInfo)); - ci->cv = cv; - mbedtls_x509_crt_init(&ci->certificateTrustList); - mbedtls_x509_crl_init(&ci->certificateRevocationList); - mbedtls_x509_crt_init(&ci->certificateIssuerList); - - cv->context = (void*)ci; - cv->verifyCertificate = certificateVerification_verify; - cv->clear = certificateVerification_clear; - cv->verifyApplicationURI = certificateVerification_verifyApplicationURI; - cv->getExpirationDate = getCertificate_ExpirationDate; - cv->getSubjectName = getCertificate_SubjectName; - - int err; - UA_ByteString data; - UA_ByteString_init(&data); - - for(size_t i = 0; i < certificateTrustListSize; i++) { - data = copyDataFormatAware(&certificateTrustList[i]); - err = mbedtls_x509_crt_parse(&ci->certificateTrustList, - data.data, - data.length); - UA_ByteString_clear(&data); - if(err) - goto error; - } - for(size_t i = 0; i < certificateIssuerListSize; i++) { - data = copyDataFormatAware(&certificateIssuerList[i]); - err = mbedtls_x509_crt_parse(&ci->certificateIssuerList, - data.data, - data.length); - UA_ByteString_clear(&data); - if(err) - goto error; - } - for(size_t i = 0; i < certificateRevocationListSize; i++) { - data = copyDataFormatAware(&certificateRevocationList[i]); - err = mbedtls_x509_crl_parse(&ci->certificateRevocationList, - data.data, - data.length); - UA_ByteString_clear(&data); - if(err) - goto error; - } - - return UA_STATUSCODE_GOOD; -error: - certificateVerification_clear(cv); - return UA_STATUSCODE_BADINTERNALERROR; -} - -#ifdef __linux__ /* Linux only so far */ - -#ifdef UA_ENABLE_CERT_REJECTED_DIR -UA_StatusCode -UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, - const char *trustListFolder, - const char *issuerListFolder, - const char *revocationListFolder, - const char *rejectedListFolder) { -#else -UA_StatusCode -UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, - const char *trustListFolder, - const char *issuerListFolder, - const char *revocationListFolder) { -#endif - UA_StatusCode ret; - if(cv == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - if(cv->logging == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Clear if the plugin is already initialized */ - if(cv->clear) - cv->clear(cv); - - CertInfo *ci = (CertInfo*)UA_malloc(sizeof(CertInfo)); - if(!ci) - return UA_STATUSCODE_BADOUTOFMEMORY; - memset(ci, 0, sizeof(CertInfo)); - ci->cv = cv; - mbedtls_x509_crt_init(&ci->certificateTrustList); - mbedtls_x509_crl_init(&ci->certificateRevocationList); - mbedtls_x509_crt_init(&ci->certificateIssuerList); - - /* Only set the folder paths. They will be reloaded during runtime. - * TODO: Add a more efficient reloading of only the changes */ - ci->trustListFolder = UA_STRING_ALLOC(trustListFolder); - ci->issuerListFolder = UA_STRING_ALLOC(issuerListFolder); - ci->revocationListFolder = UA_STRING_ALLOC(revocationListFolder); -#ifdef UA_ENABLE_CERT_REJECTED_DIR - ci->rejectedListFolder = UA_STRING_ALLOC(rejectedListFolder); -#endif - - cv->context = (void*)ci; - cv->verifyCertificate = certificateVerification_verify; - cv->clear = certificateVerification_clear; - cv->verifyApplicationURI = certificateVerification_verifyApplicationURI; - - ret = reloadCertificates(cv, ci); - - return ret; -} - -#endif - -UA_StatusCode -UA_PKI_decryptPrivateKey(const UA_ByteString privateKey, - const UA_ByteString password, - UA_ByteString *outDerKey) { - if(!outDerKey) - return UA_STATUSCODE_BADINTERNALERROR; - - if (privateKey.length == 0) { - *outDerKey = UA_BYTESTRING_NULL; - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - /* Already in DER format -> return verbatim */ - if(privateKey.length > 1 && privateKey.data[0] == 0x30 && privateKey.data[1] == 0x82) - return UA_ByteString_copy(&privateKey, outDerKey); - - /* Create a null-terminated string */ - UA_ByteString nullTerminatedKey = UA_mbedTLS_CopyDataFormatAware(&privateKey); - if(nullTerminatedKey.length != privateKey.length + 1) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Create the private-key context */ - mbedtls_pk_context ctx; - mbedtls_pk_init(&ctx); -#if MBEDTLS_VERSION_NUMBER >= 0x02060000 && MBEDTLS_VERSION_NUMBER < 0x03000000 - int err = mbedtls_pk_parse_key(&ctx, nullTerminatedKey.data, - nullTerminatedKey.length, - password.data, password.length); -#else - mbedtls_entropy_context entropy; - mbedtls_entropy_init(&entropy); - int err = mbedtls_pk_parse_key(&ctx, nullTerminatedKey.data, - nullTerminatedKey.length, - password.data, password.length, - mbedtls_entropy_func, &entropy); - mbedtls_entropy_free(&entropy); -#endif - UA_ByteString_clear(&nullTerminatedKey); - if(err != 0) { - mbedtls_pk_free(&ctx); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - /* Write the DER-encoded key into a local buffer */ - unsigned char buf[1 << 14]; - size_t pos = (size_t)mbedtls_pk_write_key_der(&ctx, buf, sizeof(buf)); - - /* Allocate memory */ - UA_StatusCode res = UA_ByteString_allocBuffer(outDerKey, pos); - if(res != UA_STATUSCODE_GOOD) { - mbedtls_pk_free(&ctx); - return res; - } - - /* Copy to the output */ - memcpy(outDerKey->data, &buf[sizeof(buf) - pos], pos); - mbedtls_pk_free(&ctx); - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ENABLE_ENCRYPTION_MBEDTLS */ - -/**** amalgamated original file "/plugins/crypto/openssl/securitypolicy_openssl_common.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - * - */ - - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - -#include -#include - -#define UA_SHA1_LENGTH 20 - -_UA_BEGIN_DECLS - -void saveDataToFile(const char *fileName, const UA_ByteString *str); -void UA_Openssl_Init(void); - -UA_StatusCode -UA_copyCertificate(UA_ByteString *dst, const UA_ByteString *src); - -UA_StatusCode -UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify(const UA_ByteString *msg, - X509 *publicKeyX509, - const UA_ByteString *signature); - -UA_StatusCode -UA_OpenSSL_RSA_PSS_SHA256_Verify (const UA_ByteString * msg, - X509 *publicKeyX509, - const UA_ByteString * signature); - -UA_StatusCode -UA_Openssl_X509_GetCertificateThumbprint(const UA_ByteString *certficate, - UA_ByteString *pThumbprint, - bool bThumbPrint); -UA_StatusCode -UA_Openssl_RSA_Oaep_Decrypt(UA_ByteString *data, - EVP_PKEY *privateKey); - -UA_StatusCode -UA_Openssl_RSA_Oaep_Sha2_Decrypt (UA_ByteString *data, - EVP_PKEY *privateKey); - -UA_StatusCode -UA_Openssl_RSA_OAEP_Encrypt(UA_ByteString *data, /* The data that is encrypted. - The encrypted data will overwrite - the data that was supplied. */ - size_t paddingSize, X509 *publicX509); - -UA_StatusCode -UA_Openssl_RSA_OAEP_SHA2_Encrypt (UA_ByteString * data, - size_t paddingSize, - X509 * publicX509); - -UA_StatusCode -UA_Openssl_Random_Key_PSHA256_Derive(const UA_ByteString *secret, - const UA_ByteString *seed, - UA_ByteString *out); - -UA_StatusCode -UA_Openssl_RSA_Public_GetKeyLength(X509 *publicKeyX509, UA_Int32 *keyLen); - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(const UA_ByteString *data, - EVP_PKEY *privateKey, - UA_ByteString *outSignature); - -UA_StatusCode -UA_Openssl_RSA_PSS_SHA256_Sign (const UA_ByteString * message, - EVP_PKEY * privateKey, - UA_ByteString * outSignature); - -UA_StatusCode -UA_OpenSSL_HMAC_SHA256_Verify(const UA_ByteString *message, - const UA_ByteString *key, - const UA_ByteString *signature); - -UA_StatusCode -UA_OpenSSL_HMAC_SHA256_Sign(const UA_ByteString *message, - const UA_ByteString *key, - UA_ByteString *signature); - -UA_StatusCode -UA_OpenSSL_AES_256_CBC_Decrypt(const UA_ByteString *iv, - const UA_ByteString *key, - UA_ByteString *data /* [in/out]*/); - -UA_StatusCode -UA_OpenSSL_AES_256_CBC_Encrypt(const UA_ByteString *iv, - const UA_ByteString *key, - UA_ByteString *data /* [in/out]*/); - -UA_StatusCode -UA_OpenSSL_X509_compare(const UA_ByteString *cert, const X509 *b); - -UA_StatusCode -UA_Openssl_RSA_Private_GetKeyLength(EVP_PKEY *privateKey, - UA_Int32 *keyLen) ; - -UA_StatusCode -UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify(const UA_ByteString *msg, - X509 *publicKeyX509, - const UA_ByteString *signature); - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_SHA1_Sign(const UA_ByteString *message, - EVP_PKEY *privateKey, - UA_ByteString *outSignature); -UA_StatusCode -UA_Openssl_Random_Key_PSHA1_Derive(const UA_ByteString *secret, - const UA_ByteString *seed, - UA_ByteString *out); -UA_StatusCode -UA_OpenSSL_HMAC_SHA1_Verify(const UA_ByteString *message, - const UA_ByteString *key, - const UA_ByteString *signature); - -UA_StatusCode -UA_OpenSSL_HMAC_SHA1_Sign(const UA_ByteString *message, - const UA_ByteString *key, - UA_ByteString *signature); - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_Decrypt(UA_ByteString *data, - EVP_PKEY *privateKey); - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_Encrypt(UA_ByteString *data, - size_t paddingSize, - X509 *publicX509); - -UA_StatusCode -UA_OpenSSL_AES_128_CBC_Decrypt(const UA_ByteString *iv, - const UA_ByteString *key, - UA_ByteString *data /* [in/out]*/); - -UA_StatusCode -UA_OpenSSL_AES_128_CBC_Encrypt(const UA_ByteString *iv, - const UA_ByteString *key, - UA_ByteString *data /* [in/out]*/); - -EVP_PKEY * -UA_OpenSSL_LoadPrivateKey(const UA_ByteString *privateKey); - -X509 * -UA_OpenSSL_LoadCertificate(const UA_ByteString *certificate); - -X509 * -UA_OpenSSL_LoadDerCertificate(const UA_ByteString *certificate); - -X509 * -UA_OpenSSL_LoadPemCertificate(const UA_ByteString *certificate); - -UA_StatusCode -UA_OpenSSL_LoadLocalCertificate(const UA_ByteString *certificate, UA_ByteString *target); - -_UA_END_DECLS - -#endif /* defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) */ - - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_version_abstraction.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * - */ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - -#include - -#if !defined(OPENSSL_VERSION_NUMBER) -#error "OPENSSL_VERSION_NUMBER is not defined." -#endif - -#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -#define X509_STORE_CTX_set0_trusted_stack(STORE_CTX, CTX_SKTRUSTED) X509_STORE_CTX_trusted_stack(STORE_CTX, CTX_SKTRUSTED) -#endif - -#if OPENSSL_VERSION_NUMBER < 0x1010000fL || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL) -#define X509_STORE_CTX_get_check_issued(STORE_CTX) STORE_CTX->check_issued -#endif - -#if OPENSSL_VERSION_NUMBER < 0x1010000fL || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL) -#define get_pkey_rsa(evp) ((evp)->pkey.rsa) -#else -#define get_pkey_rsa(evp) EVP_PKEY_get0_RSA(evp) -#endif - -#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) -#define X509_get0_subject_key_id(PX509_CERT) (const ASN1_OCTET_STRING *)X509_get_ext_d2i(PX509_CERT, NID_subject_key_identifier, NULL, NULL); -#endif - -#if OPENSSL_VERSION_NUMBER < 0x2000000fL || defined(LIBRESSL_VERSION_NUMBER) -#define get_error_line_data(pFile, pLine, pData, pFlags) ERR_get_error_line_data(pFile, pLine, pData, pFlags) -#else -#define get_error_line_data(pFile, pLine, pData, pFlags) ERR_get_error_all(pFile, pLine, NULL, pData, pFlags) -#endif - -#endif /* defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) */ - -/**** amalgamated original file "/plugins/crypto/openssl/securitypolicy_openssl_common.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - * Copyright 2022 (c) Wind River Systems, Inc. - * Copyright 2022 (c) Fraunhofer IOSB (Author: Noel Graf) - */ - -/* -modification history --------------------- -01feb20,lan written -*/ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - -#include -#include -#include -#include -#include -#include -#include -#include - - -#define SHA1_DIGEST_LENGTH 20 /* 160 bits */ -#define RSA_DECRYPT_BUFFER_LENGTH 2048 /* bytes */ - -/* Cast to prevent warnings in LibreSSL */ -#define SHA256EVP() ((EVP_MD *)(uintptr_t)EVP_sha256()) - - -/** P_SHA256 Context */ -typedef struct UA_Openssl_P_SHA256_Ctx_ { - size_t seedLen; - size_t secretLen; - UA_Byte A[32]; /* 32 bytes of SHA256 output */ - /* - char seed[seedLen]; - char secret[secretLen]; */ -} UA_Openssl_P_SHA256_Ctx; - -#define UA_Openssl_P_SHA256_SEED(ctx) ((ctx)->A+32) -#define UA_Openssl_P_SHA256_SECRET(ctx) ((ctx)->A+32+(ctx)->seedLen) - -/** P_SHA1 Context */ -typedef struct UA_Openssl_P_SHA1_Ctx_ { - size_t seedLen; - size_t secretLen; - UA_Byte A[SHA1_DIGEST_LENGTH]; /* 20 bytes of SHA1 output */ - /* - char seed[seedLen]; - char secret[secretLen]; */ -} UA_Openssl_P_SHA1_Ctx; - -#define UA_Openssl_P_SHA1_SEED(ctx) ((ctx)->A + SHA1_DIGEST_LENGTH) -#define UA_Openssl_P_SHA1_SECRET(ctx) ((ctx)->A + SHA1_DIGEST_LENGTH +(ctx)->seedLen) - -void -UA_Openssl_Init (void) { - /* VxWorks7 has initialized the openssl. */ -#ifndef __VXWORKS__ - static UA_Int16 bInit = 0; - if (bInit == 1) - return; -#if defined(OPENSSL_API_COMPAT) && (OPENSSL_API_COMPAT < 0x10100000L) - /* only needed, if OpenSSL < V1.1 */ - OpenSSL_add_all_algorithms (); - ERR_load_crypto_strings (); -#endif - bInit = 1; -#endif -} - -static int UA_OpenSSL_RSA_Key_Size (EVP_PKEY * key){ -#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) - return EVP_PKEY_get_size (key); -#else - return RSA_size (get_pkey_rsa(key)); -#endif -} - -/* UA_copyCertificate - allocalte the buffer, copy the certificate and - * add a NULL to the end - */ - -UA_StatusCode -UA_copyCertificate (UA_ByteString * dst, - const UA_ByteString * src) { - UA_StatusCode retval = UA_ByteString_allocBuffer (dst, src->length + 1); - if (retval != UA_STATUSCODE_GOOD) - return retval; - (void) memcpy (dst->data, src->data, src->length); - dst->data[dst->length - 1] = '\0'; - dst->length--; - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_OpenSSL_RSA_Public_Verify(const UA_ByteString *message, - const EVP_MD *evpMd, X509 *publicKeyX509, - UA_Int16 padding, const UA_ByteString *signature) { - EVP_MD_CTX *mdctx = EVP_MD_CTX_create(); - if(!mdctx) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - EVP_PKEY *evpPublicKey = X509_get_pubkey(publicKeyX509); - if(!evpPublicKey) { - ret = UA_STATUSCODE_BADOUTOFMEMORY; - goto errout; - } - - EVP_PKEY_CTX *evpKeyCtx; - int opensslRet = EVP_DigestVerifyInit(mdctx, &evpKeyCtx, evpMd, - NULL, evpPublicKey); - if(opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - opensslRet = EVP_PKEY_CTX_set_rsa_padding(evpKeyCtx, padding); - if(opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - if(padding == RSA_PKCS1_PSS_PADDING) { - opensslRet = EVP_PKEY_CTX_set_rsa_pss_saltlen(evpKeyCtx, RSA_PSS_SALTLEN_DIGEST); - if(opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(evpKeyCtx, SHA256EVP()); - if(opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - } - - opensslRet = EVP_DigestVerifyUpdate (mdctx, message->data, message->length); - if(opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - opensslRet = EVP_DigestVerifyFinal(mdctx, signature->data, signature->length); - if(opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - -errout: - if(evpPublicKey) - EVP_PKEY_free(evpPublicKey); - if(mdctx) - EVP_MD_CTX_destroy(mdctx); - return ret; -} - -UA_StatusCode -UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify (const UA_ByteString * msg, - X509 * publicKeyX509, - const UA_ByteString * signature - ) { - return UA_OpenSSL_RSA_Public_Verify (msg, EVP_sha256(), publicKeyX509, - RSA_PKCS1_PADDING, signature); -} - -UA_StatusCode -UA_OpenSSL_RSA_PSS_SHA256_Verify (const UA_ByteString * msg, - X509 * publicKeyX509, - const UA_ByteString * signature -) { - return UA_OpenSSL_RSA_Public_Verify (msg, EVP_sha256(), publicKeyX509, - RSA_PKCS1_PSS_PADDING, signature); -} - -/* Get certificate thumbprint, and allocate the buffer. */ - -UA_StatusCode -UA_Openssl_X509_GetCertificateThumbprint (const UA_ByteString * certficate, - UA_ByteString * pThumbprint, - bool bThumbPrint) { - if (bThumbPrint) { - pThumbprint->length = SHA_DIGEST_LENGTH; - UA_StatusCode ret = UA_ByteString_allocBuffer (pThumbprint, pThumbprint->length); - if (ret != UA_STATUSCODE_GOOD) { - return ret; - } - } - else { - if (pThumbprint->length != SHA_DIGEST_LENGTH) { - return UA_STATUSCODE_BADINTERNALERROR; - } - } - X509 * x509Certificate = UA_OpenSSL_LoadCertificate(certficate); - - if (x509Certificate == NULL) { - if (bThumbPrint) { - UA_ByteString_clear (pThumbprint); - } - return UA_STATUSCODE_BADINTERNALERROR; - } - - if (X509_digest (x509Certificate, EVP_sha1(), pThumbprint->data, NULL) - != 1) { - if (bThumbPrint) { - UA_ByteString_clear (pThumbprint); - } - return UA_STATUSCODE_BADINTERNALERROR; - } - X509_free(x509Certificate); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_Openssl_RSA_Private_Decrypt (UA_ByteString * data, - EVP_PKEY * privateKey, - UA_Int16 padding, - UA_Boolean withSha256) { - if (data == NULL || privateKey == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - if (privateKey == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - size_t keySize = (size_t) UA_OpenSSL_RSA_Key_Size (privateKey); - size_t cipherOffset = 0; - size_t outOffset = 0; - unsigned char buf[RSA_DECRYPT_BUFFER_LENGTH]; - size_t decryptedBytes; - EVP_PKEY_CTX * ctx; - int opensslRet; - - ctx = EVP_PKEY_CTX_new (privateKey, NULL); - if (ctx == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - opensslRet = EVP_PKEY_decrypt_init (ctx); - if (opensslRet != 1) { - EVP_PKEY_CTX_free (ctx); - return UA_STATUSCODE_BADINTERNALERROR; - } - opensslRet = EVP_PKEY_CTX_set_rsa_padding (ctx, padding); - if (opensslRet != 1) { - EVP_PKEY_CTX_free (ctx); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(withSha256) { - opensslRet = EVP_PKEY_CTX_set_rsa_oaep_md(ctx, SHA256EVP()); - if (opensslRet != 1) { - return UA_STATUSCODE_BADINTERNALERROR; - } - opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, SHA256EVP()); - if (opensslRet != 1) { - return UA_STATUSCODE_BADINTERNALERROR; - } - } - - while (cipherOffset < data->length) { - decryptedBytes = RSA_DECRYPT_BUFFER_LENGTH; - opensslRet = EVP_PKEY_decrypt (ctx, - buf, /* where to decrypt */ - &decryptedBytes, - data->data + cipherOffset, /* what to decrypt */ - keySize - ); - if (opensslRet != 1) { - EVP_PKEY_CTX_free (ctx); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - (void) memcpy(data->data + outOffset, buf, decryptedBytes); - cipherOffset += (size_t) keySize; - outOffset += decryptedBytes; - } - data->length = outOffset; - EVP_PKEY_CTX_free (ctx); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Openssl_RSA_Oaep_Decrypt (UA_ByteString * data, - EVP_PKEY * privateKey) { - return UA_Openssl_RSA_Private_Decrypt (data, privateKey, - RSA_PKCS1_OAEP_PADDING, false); -} - -UA_StatusCode -UA_Openssl_RSA_Oaep_Sha2_Decrypt (UA_ByteString * data, - EVP_PKEY * privateKey) { - return UA_Openssl_RSA_Private_Decrypt (data, privateKey, - RSA_PKCS1_OAEP_PADDING, true); -} - -static UA_StatusCode -UA_Openssl_RSA_Public_Encrypt (const UA_ByteString * message, - X509 * publicX509, - UA_Int16 padding, - size_t paddingSize, - UA_ByteString * encrypted, - UA_Boolean withSha256) { - EVP_PKEY_CTX * ctx = NULL; - EVP_PKEY * evpPublicKey = NULL; - int opensslRet; - UA_StatusCode ret; - size_t encryptedTextLen = 0; - size_t dataPos = 0; - size_t encryptedPos = 0; - size_t bytesToEncrypt = 0; - size_t encryptedBlockSize = 0; - size_t keySize = 0; - - evpPublicKey = X509_get_pubkey (publicX509); - if (evpPublicKey == NULL) { - ret = UA_STATUSCODE_BADOUTOFMEMORY; - goto errout; - } - ctx = EVP_PKEY_CTX_new (evpPublicKey, NULL); - if (ctx == NULL) { - ret = UA_STATUSCODE_BADOUTOFMEMORY; - goto errout; - } - opensslRet = EVP_PKEY_encrypt_init (ctx); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_PKEY_CTX_set_rsa_padding (ctx, padding); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - if(withSha256) { - opensslRet = EVP_PKEY_CTX_set_rsa_oaep_md(ctx, SHA256EVP()); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, SHA256EVP()); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - } - - /* get the encrypted block size */ - - keySize = (size_t) UA_OpenSSL_RSA_Key_Size (evpPublicKey); - if (keySize == 0) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - switch (padding) { - case RSA_PKCS1_OAEP_PADDING: - case RSA_PKCS1_PADDING: - if (keySize <= paddingSize) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - encryptedBlockSize = keySize - paddingSize; - break; - default: - ret = UA_STATUSCODE_BADNOTSUPPORTED; - goto errout; - break; - } - - /* encrypt in reverse order so that [data] may alias [encrypted] */ - - dataPos = message->length; - encryptedPos = ((dataPos - 1) / encryptedBlockSize + 1) * keySize; - bytesToEncrypt = (dataPos - 1) % encryptedBlockSize + 1; - encryptedTextLen = encryptedPos; - - while (dataPos > 0) { - size_t outlen = keySize; - encryptedPos -= keySize; - dataPos -= bytesToEncrypt; - opensslRet = EVP_PKEY_encrypt (ctx, encrypted->data + encryptedPos, &outlen, - message->data + dataPos, bytesToEncrypt); - - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - bytesToEncrypt = encryptedBlockSize; - } - encrypted->length = encryptedTextLen; - - ret = UA_STATUSCODE_GOOD; -errout: - if (evpPublicKey != NULL) { - EVP_PKEY_free (evpPublicKey); - } - if (ctx != NULL) { - EVP_PKEY_CTX_free (ctx); - } - return ret; -} - -UA_StatusCode -UA_Openssl_RSA_OAEP_Encrypt (UA_ByteString * data, - size_t paddingSize, - X509 * publicX509) { - UA_ByteString message; - UA_StatusCode ret; - - ret = UA_ByteString_copy (data, &message); - if (ret != UA_STATUSCODE_GOOD) { - return ret; - } - ret = UA_Openssl_RSA_Public_Encrypt (&message, publicX509, - RSA_PKCS1_OAEP_PADDING, - paddingSize, - data, false); - UA_ByteString_clear (&message); - return ret; -} - -UA_StatusCode -UA_Openssl_RSA_OAEP_SHA2_Encrypt (UA_ByteString * data, - size_t paddingSize, - X509 * publicX509) { - UA_ByteString message; - UA_StatusCode ret; - - ret = UA_ByteString_copy (data, &message); - if (ret != UA_STATUSCODE_GOOD) { - return ret; - } - ret = UA_Openssl_RSA_Public_Encrypt (&message, publicX509, - RSA_PKCS1_OAEP_PADDING, - paddingSize, - data, true); - UA_ByteString_clear (&message); - return ret; -} - -static UA_Openssl_P_SHA256_Ctx * -P_SHA256_Ctx_Create (const UA_ByteString * secret, - const UA_ByteString * seed) { - size_t size = (UA_Int32)sizeof (UA_Openssl_P_SHA256_Ctx) + secret->length + - seed->length; - UA_Openssl_P_SHA256_Ctx * ctx = (UA_Openssl_P_SHA256_Ctx *) UA_malloc (size); - if (ctx == NULL) { - return NULL; - } - ctx->secretLen = secret->length; - ctx->seedLen = seed->length; - (void) memcpy (UA_Openssl_P_SHA256_SEED(ctx), seed->data, seed->length); - (void) memcpy (UA_Openssl_P_SHA256_SECRET(ctx), secret->data, secret->length); - /* A(0) = seed - A(n) = HMAC_HASH(secret, A(n-1)) */ - - if (HMAC (EVP_sha256(), secret->data, (int) secret->length, seed->data, - seed->length, ctx->A, NULL) == NULL) { - UA_free (ctx); - return NULL; - } - - return ctx; -} - -static UA_StatusCode -P_SHA256_Hash_Generate (UA_Openssl_P_SHA256_Ctx * ctx, - UA_Byte * pHas - ) { - /* Calculate P_SHA256(n) = HMAC_SHA256(secret, A(n)+seed) */ - if (HMAC (EVP_sha256(),UA_Openssl_P_SHA256_SECRET(ctx), (int) ctx->secretLen, - ctx->A, sizeof (ctx->A) + ctx->seedLen, pHas, NULL) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Calculate A(n) = HMAC_SHA256(secret, A(n-1)) */ - if (HMAC (EVP_sha256(),UA_Openssl_P_SHA256_SECRET(ctx), (int) ctx->secretLen, - ctx->A, sizeof (ctx->A), ctx->A, NULL) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Openssl_Random_Key_PSHA256_Derive (const UA_ByteString * secret, - const UA_ByteString * seed, - UA_ByteString * out) { - size_t keyLen = out->length; - size_t iter = keyLen/32 + ((keyLen%32)?1:0); - size_t bufferLen = iter * 32; - size_t i; - UA_StatusCode st; - - UA_Byte * pBuffer = (UA_Byte *) UA_malloc (bufferLen); - if (pBuffer == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_Openssl_P_SHA256_Ctx * ctx = P_SHA256_Ctx_Create (secret, seed); - if (ctx == NULL) { - UA_free (pBuffer); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - for (i = 0; i < iter; i++) { - st = P_SHA256_Hash_Generate (ctx, pBuffer + (i * 32)); - if (st != UA_STATUSCODE_GOOD) { - UA_free (pBuffer); - UA_free (ctx); - return st; - } - } - - (void) memcpy (out->data, pBuffer, keyLen); - UA_free (pBuffer); - UA_free (ctx); - return UA_STATUSCODE_GOOD; -} - -/* return the key bytes */ -UA_StatusCode -UA_Openssl_RSA_Public_GetKeyLength (X509 * publicKeyX509, - UA_Int32 * keyLen) { - EVP_PKEY * evpKey = X509_get_pubkey (publicKeyX509); - if (evpKey == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - *keyLen = UA_OpenSSL_RSA_Key_Size (evpKey); - - EVP_PKEY_free (evpKey); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Openssl_RSA_Private_GetKeyLength (EVP_PKEY * privateKey, - UA_Int32 * keyLen) { - if (privateKey == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - *keyLen = UA_OpenSSL_RSA_Key_Size (privateKey); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_Openssl_RSA_Private_Sign (const UA_ByteString * message, - EVP_PKEY * privateKey, - const EVP_MD * evpMd, - UA_Int16 padding, - UA_ByteString * outSignature) { - EVP_MD_CTX * mdctx = NULL; - int opensslRet; - EVP_PKEY_CTX * evpKeyCtx; - UA_StatusCode ret; - - mdctx = EVP_MD_CTX_create (); - if (mdctx == NULL) { - ret = UA_STATUSCODE_BADOUTOFMEMORY; - goto errout; - } - - if (privateKey == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - opensslRet = EVP_DigestSignInit (mdctx, &evpKeyCtx, evpMd, NULL, privateKey); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - EVP_PKEY_CTX_set_rsa_padding (evpKeyCtx, padding); - if(padding == RSA_PKCS1_PSS_PADDING) { - opensslRet = EVP_PKEY_CTX_set_rsa_pss_saltlen(evpKeyCtx, RSA_PSS_SALTLEN_DIGEST); //RSA_PSS_SALTLEN_DIGEST - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_PKEY_CTX_set_rsa_mgf1_md(evpKeyCtx, SHA256EVP()); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - } - opensslRet = EVP_DigestSignUpdate (mdctx, message->data, message->length); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_DigestSignFinal (mdctx, outSignature->data, &outSignature->length); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - ret = UA_STATUSCODE_GOOD; -errout: - if (mdctx != NULL) { - EVP_MD_CTX_destroy (mdctx); - } - return ret; -} - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_SHA256_Sign (const UA_ByteString * message, - EVP_PKEY * privateKey, - UA_ByteString * outSignature) { - return UA_Openssl_RSA_Private_Sign (message, privateKey, EVP_sha256(), - RSA_PKCS1_PADDING , outSignature); -} - -UA_StatusCode -UA_Openssl_RSA_PSS_SHA256_Sign (const UA_ByteString * message, - EVP_PKEY * privateKey, - UA_ByteString * outSignature) { - return UA_Openssl_RSA_Private_Sign (message, privateKey, EVP_sha256(), - RSA_PKCS1_PSS_PADDING, outSignature); -} - -UA_StatusCode -UA_OpenSSL_HMAC_SHA256_Verify (const UA_ByteString * message, - const UA_ByteString * key, - const UA_ByteString * signature - ) { - unsigned char buf[SHA256_DIGEST_LENGTH] = {0}; - UA_ByteString mac = {SHA256_DIGEST_LENGTH, buf}; - - if (HMAC (EVP_sha256(), key->data, (int) key->length, message->data, message->length, - mac.data, (unsigned int *) &mac.length) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - if (UA_ByteString_equal (signature, &mac)) { - return UA_STATUSCODE_GOOD; - } - else { - return UA_STATUSCODE_BADINTERNALERROR; - } -} - -UA_StatusCode -UA_OpenSSL_HMAC_SHA256_Sign (const UA_ByteString * message, - const UA_ByteString * key, - UA_ByteString * signature - ) { - if (HMAC (EVP_sha256(), key->data, (int) key->length, message->data, - message->length, - signature->data, (unsigned int *) &(signature->length)) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_OpenSSL_Decrypt (const UA_ByteString * iv, - const UA_ByteString * key, - const EVP_CIPHER * cipherAlg, - UA_ByteString * data /* [in/out]*/) { - UA_ByteString ivCopy = {0, NULL}; - UA_ByteString cipherTxt = {0, NULL}; - EVP_CIPHER_CTX * ctx = NULL; - UA_StatusCode ret; - int opensslRet; - int outLen; - int tmpLen; - - /* copy the IV because the AES_cbc_encrypt function overwrites it. */ - - ret = UA_ByteString_copy (iv, &ivCopy); - if (ret != UA_STATUSCODE_GOOD) { - goto errout; - } - - ret = UA_ByteString_copy (data, &cipherTxt); - if (ret != UA_STATUSCODE_GOOD) { - goto errout; - } - - ctx = EVP_CIPHER_CTX_new (); - if (ctx == NULL) { - ret = UA_STATUSCODE_BADOUTOFMEMORY; - goto errout; - } - - /* call EVP_* to decrypt */ - - opensslRet = EVP_DecryptInit_ex (ctx, cipherAlg, NULL, key->data, ivCopy.data); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - /* EVP_DecryptFinal() will return an error code if padding is enabled - * and the final block is not correctly formatted. - */ - EVP_CIPHER_CTX_set_padding (ctx, 0); - opensslRet = EVP_DecryptUpdate (ctx, data->data, &outLen, - cipherTxt.data, (int) cipherTxt.length); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_DecryptFinal_ex (ctx, data->data + outLen, &tmpLen); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - outLen += tmpLen; - data->length = (size_t) outLen; - ret = UA_STATUSCODE_GOOD; - -errout: - UA_ByteString_clear (&ivCopy); - UA_ByteString_clear (&cipherTxt); - if (ctx != NULL) { - EVP_CIPHER_CTX_free(ctx); - } - return ret; -} - -static UA_StatusCode -UA_OpenSSL_Encrypt (const UA_ByteString * iv, - const UA_ByteString * key, - const EVP_CIPHER * cipherAlg, - UA_ByteString * data /* [in/out]*/ - ) { - - UA_ByteString ivCopy = {0, NULL}; - UA_ByteString plainTxt = {0, NULL}; - EVP_CIPHER_CTX * ctx = NULL; - UA_StatusCode ret; - int opensslRet; - int outLen; - int tmpLen; - - /* copy the IV because the AES_cbc_encrypt function overwrites it. */ - - ret = UA_ByteString_copy (iv, &ivCopy); - if (ret != UA_STATUSCODE_GOOD) { - goto errout; - } - - ret = UA_ByteString_copy (data, &plainTxt); - if (ret != UA_STATUSCODE_GOOD) { - goto errout; - } - - ctx = EVP_CIPHER_CTX_new (); - if (ctx == NULL) { - ret = UA_STATUSCODE_BADOUTOFMEMORY; - goto errout; - } - - /* call EVP_* to encrypt */ - - opensslRet = EVP_EncryptInit_ex (ctx, cipherAlg, NULL, key->data, ivCopy.data); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - /* Disable padding. Padding is done in the stack before calling encryption. - * Ensure that we have a multiple of the block size */ - if(data->length % (size_t)EVP_CIPHER_CTX_block_size(ctx)) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - opensslRet = EVP_CIPHER_CTX_set_padding(ctx, 0); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - /* Encrypt the data */ - opensslRet = EVP_EncryptUpdate (ctx, data->data, &outLen, - plainTxt.data, (int) plainTxt.length); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - - /* Encrypt-final does nothing as padding is disabled */ - opensslRet = EVP_EncryptFinal_ex(ctx, data->data + outLen, &tmpLen); - if (opensslRet != 1) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - outLen += tmpLen; - data->length = (size_t) outLen; - ret = UA_STATUSCODE_GOOD; - -errout: - UA_ByteString_clear (&ivCopy); - UA_ByteString_clear (&plainTxt); - if (ctx != NULL) { - EVP_CIPHER_CTX_free(ctx); - } - return ret; -} - -UA_StatusCode -UA_OpenSSL_AES_256_CBC_Decrypt (const UA_ByteString * iv, - const UA_ByteString * key, - UA_ByteString * data /* [in/out]*/ - ) { - return UA_OpenSSL_Decrypt (iv, key, EVP_aes_256_cbc (), data); -} - -UA_StatusCode -UA_OpenSSL_AES_256_CBC_Encrypt (const UA_ByteString * iv, - const UA_ByteString * key, - UA_ByteString * data /* [in/out]*/ - ) { - return UA_OpenSSL_Encrypt (iv, key, EVP_aes_256_cbc (), data); -} - -UA_StatusCode -UA_OpenSSL_X509_compare (const UA_ByteString * cert, - const X509 * bcert) { - X509 * acert = UA_OpenSSL_LoadCertificate(cert); - if (acert == NULL) { - return UA_STATUSCODE_BADCERTIFICATEINVALID; - } - int opensslRet = X509_cmp (acert, bcert); - X509_free (acert); - - if (opensslRet == 0) - return UA_STATUSCODE_GOOD; - return UA_STATUSCODE_UNCERTAINSUBNORMAL; -} - -UA_StatusCode -UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify (const UA_ByteString * msg, - X509 * publicKeyX509, - const UA_ByteString * signature) { - return UA_OpenSSL_RSA_Public_Verify(msg, EVP_sha1(), publicKeyX509, - RSA_PKCS1_PADDING, signature); -} - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_SHA1_Sign (const UA_ByteString * message, - EVP_PKEY * privateKey, - UA_ByteString * outSignature) { - return UA_Openssl_RSA_Private_Sign(message, privateKey, EVP_sha1(), - RSA_PKCS1_PADDING, outSignature); -} - -static UA_Openssl_P_SHA1_Ctx * -P_SHA1_Ctx_Create (const UA_ByteString * secret, - const UA_ByteString * seed) { - size_t size = (UA_Int32)sizeof (UA_Openssl_P_SHA1_Ctx) + secret->length + - seed->length; - UA_Openssl_P_SHA1_Ctx * ctx = (UA_Openssl_P_SHA1_Ctx *) UA_malloc (size); - if (ctx == NULL) { - return NULL; - } - - ctx->secretLen = secret->length; - ctx->seedLen = seed->length; - (void) memcpy (UA_Openssl_P_SHA1_SEED(ctx), seed->data, seed->length); - (void) memcpy (UA_Openssl_P_SHA1_SECRET(ctx), secret->data, secret->length); - /* A(0) = seed - A(n) = HMAC_HASH(secret, A(n-1)) */ - - if (HMAC (EVP_sha1(), secret->data, (int) secret->length, seed->data, - seed->length, ctx->A, NULL) == NULL) { - UA_free (ctx); - return NULL; - } - - return ctx; -} - -static UA_StatusCode -P_SHA1_Hash_Generate (UA_Openssl_P_SHA1_Ctx * ctx, - UA_Byte * pHas - ) { - /* Calculate P_SHA1(n) = HMAC_SHA1(secret, A(n)+seed) */ - if (HMAC (EVP_sha1 (), UA_Openssl_P_SHA1_SECRET(ctx), (int) ctx->secretLen, - ctx->A, sizeof (ctx->A) + ctx->seedLen, pHas, NULL) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Calculate A(n) = HMAC_SHA1(secret, A(n-1)) */ - if (HMAC (EVP_sha1(), UA_Openssl_P_SHA1_SECRET(ctx), (int) ctx->secretLen, - ctx->A, sizeof (ctx->A), ctx->A, NULL) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Openssl_Random_Key_PSHA1_Derive (const UA_ByteString * secret, - const UA_ByteString * seed, - UA_ByteString * out) { - size_t keyLen = out->length; - size_t iter = keyLen / SHA1_DIGEST_LENGTH + ((keyLen % SHA1_DIGEST_LENGTH)?1:0); - size_t bufferLen = iter * SHA1_DIGEST_LENGTH; - UA_Byte * pBuffer = (UA_Byte *) UA_malloc (bufferLen); - if (pBuffer == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_Openssl_P_SHA1_Ctx * ctx = P_SHA1_Ctx_Create (secret, seed); - if (ctx == NULL) { - UA_free (pBuffer); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - size_t i; - UA_StatusCode st; - - for (i = 0; i < iter; i++) { - st = P_SHA1_Hash_Generate (ctx, pBuffer + (i * SHA1_DIGEST_LENGTH)); - if (st != UA_STATUSCODE_GOOD) { - UA_free (pBuffer); - UA_free (ctx); - return st; - } - } - - (void) memcpy (out->data, pBuffer, keyLen); - UA_free (pBuffer); - UA_free (ctx); - - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_OpenSSL_HMAC_SHA1_Verify (const UA_ByteString * message, - const UA_ByteString * key, - const UA_ByteString * signature - ) { - unsigned char buf[SHA1_DIGEST_LENGTH] = {0}; - UA_ByteString mac = {SHA1_DIGEST_LENGTH, buf}; - - if(HMAC (EVP_sha1(), key->data, (int) key->length, message->data, message->length, - mac.data, (unsigned int *) &mac.length) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - if (UA_ByteString_equal (signature, &mac)) { - return UA_STATUSCODE_GOOD; - } - else { - return UA_STATUSCODE_BADINTERNALERROR; - } -} - -UA_StatusCode -UA_OpenSSL_HMAC_SHA1_Sign (const UA_ByteString * message, - const UA_ByteString * key, - UA_ByteString * signature - ) { - if (HMAC (EVP_sha1(), key->data, (int) key->length, message->data, - message->length, - signature->data, (unsigned int *) &(signature->length)) == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_Decrypt (UA_ByteString * data, - EVP_PKEY * privateKey) { - return UA_Openssl_RSA_Private_Decrypt (data, privateKey, - RSA_PKCS1_PADDING, false); -} - -UA_StatusCode -UA_Openssl_RSA_PKCS1_V15_Encrypt (UA_ByteString * data, - size_t paddingSize, - X509 * publicX509) { - UA_ByteString message; - UA_StatusCode ret = UA_ByteString_copy (data, &message); - if (ret != UA_STATUSCODE_GOOD) { - return ret; - } - ret = UA_Openssl_RSA_Public_Encrypt (&message, publicX509, - RSA_PKCS1_PADDING, - paddingSize, - data, false); - UA_ByteString_clear (&message); - return ret; -} - -UA_StatusCode -UA_OpenSSL_AES_128_CBC_Decrypt (const UA_ByteString * iv, - const UA_ByteString * key, - UA_ByteString * data /* [in/out]*/ - ) { - return UA_OpenSSL_Decrypt (iv, key, EVP_aes_128_cbc (), data); -} - -UA_StatusCode -UA_OpenSSL_AES_128_CBC_Encrypt (const UA_ByteString * iv, - const UA_ByteString * key, - UA_ByteString * data /* [in/out]*/ - ) { - return UA_OpenSSL_Encrypt (iv, key, EVP_aes_128_cbc (), data); -} - -EVP_PKEY * -UA_OpenSSL_LoadPrivateKey(const UA_ByteString *privateKey) { - const unsigned char * pkData = privateKey->data; - long len = (long) privateKey->length; - if(len == 0) - return NULL; - - EVP_PKEY *result = NULL; - - if (len > 1 && pkData[0] == 0x30 && pkData[1] == 0x82) { // Magic number for DER encoded keys - result = d2i_PrivateKey(EVP_PKEY_RSA, NULL, - &pkData, len); - } else { - BIO *bio = NULL; - bio = BIO_new_mem_buf((void *) privateKey->data, (int) privateKey->length); - result = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL); - BIO_free(bio); - } - - return result; -} - -X509 * -UA_OpenSSL_LoadCertificate(const UA_ByteString *certificate) { - X509 * result = NULL; - const unsigned char *pData = certificate->data; - - if (certificate->length > 1 && pData[0] == 0x30 && pData[1] == 0x82) { // Magic number for DER encoded files - result = UA_OpenSSL_LoadDerCertificate(certificate); - } else { - result = UA_OpenSSL_LoadPemCertificate(certificate); - } - - return result; -} - -X509 * -UA_OpenSSL_LoadDerCertificate(const UA_ByteString *certificate) { - const unsigned char *pData = certificate->data; - return d2i_X509(NULL, &pData, (long) certificate->length); -} - -X509 * -UA_OpenSSL_LoadPemCertificate(const UA_ByteString *certificate) { - X509 * result = NULL; - - BIO* bio = NULL; - bio = BIO_new_mem_buf((void *) certificate->data, (int) certificate->length); - result = PEM_read_bio_X509(bio, NULL, NULL, NULL); - BIO_free(bio); - - return result; -} - -UA_StatusCode -UA_OpenSSL_LoadLocalCertificate(const UA_ByteString *certificate, UA_ByteString *target) { - X509 *cert = UA_OpenSSL_LoadCertificate(certificate); - - if (!cert) { - UA_ByteString_init(target); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - unsigned char *derData = NULL; - int length = i2d_X509(cert, &derData); - X509_free(cert); - - if (length > 0) { - UA_ByteString temp; - temp.length = (size_t) length; - temp.data = derData; - UA_ByteString_copy(&temp, target); - OPENSSL_free(derData); - return UA_STATUSCODE_GOOD; - } else { - UA_ByteString_init(target); - } - - return UA_STATUSCODE_BADINVALIDARGUMENT; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_basic128rsa15.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - */ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - - -#include -#include -#include - -#define UA_SHA1_LENGTH 20 -#define UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN 11 -#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_KEY_LENGTH 16 -#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH 16 -#define UA_SHA1_LENGTH 20 - -typedef struct { - EVP_PKEY * localPrivateKey; - UA_ByteString localCertThumbprint; - const UA_Logger * logger; -} Policy_Context_Basic128Rsa15; - -typedef struct { - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - Policy_Context_Basic128Rsa15 * policyContext; - UA_ByteString remoteCertificate; - X509 * remoteCertificateX509; -} Channel_Context_Basic128Rsa15; - -static UA_StatusCode -UA_Policy_Basic128Rsa15_New_Context (UA_SecurityPolicy * securityPolicy, - const UA_ByteString localPrivateKey, - const UA_Logger * logger) { - Policy_Context_Basic128Rsa15 * context = (Policy_Context_Basic128Rsa15 *) - UA_malloc (sizeof (Policy_Context_Basic128Rsa15)); - if (context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); - - if (!context->localPrivateKey) { - UA_free(context); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint ( - &securityPolicy->localCertificate, - &context->localCertThumbprint, true - ); - if (retval != UA_STATUSCODE_GOOD) { - EVP_PKEY_free(context->localPrivateKey); - UA_free (context); - return retval; - } - - context->logger = logger; - securityPolicy->policyContext = context; - - return UA_STATUSCODE_GOOD; -} - -static void -UA_Policy_Basic128Rsa15_Clear_Context (UA_SecurityPolicy *policy) { - if (policy == NULL) { - return; - } - UA_ByteString_clear(&policy->localCertificate); - - Policy_Context_Basic128Rsa15 * ctx = (Policy_Context_Basic128Rsa15 *) policy->policyContext; - if (ctx == NULL) { - return; - } - - /* delete all allocated members in the context */ - - EVP_PKEY_free(ctx->localPrivateKey); - UA_ByteString_clear(&ctx->localCertThumbprint); - UA_free (ctx); - - return; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_basic128rsa15(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Policy_Context_Basic128Rsa15 *pc = - (Policy_Context_Basic128Rsa15 *)securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( - &newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - EVP_PKEY_free(pc->localPrivateKey); - - pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); - - if(!pc->localPrivateKey) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - UA_ByteString_clear(&pc->localCertThumbprint); - - retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, - &pc->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - goto error; - } - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - UA_Policy_Basic128Rsa15_Clear_Context(securityPolicy); - return retval; -} - -/* create the channel context */ - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_New_Context (const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * remoteCertificate, - void ** channelContext) { - if (securityPolicy == NULL || remoteCertificate == NULL || - channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - Channel_Context_Basic128Rsa15 * context = (Channel_Context_Basic128Rsa15 *) - UA_malloc (sizeof (Channel_Context_Basic128Rsa15)); - if (context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_ByteString_init(&context->localSymSigningKey); - UA_ByteString_init(&context->localSymEncryptingKey); - UA_ByteString_init(&context->localSymIv); - UA_ByteString_init(&context->remoteSymSigningKey); - UA_ByteString_init(&context->remoteSymEncryptingKey); - UA_ByteString_init(&context->remoteSymIv); - - UA_StatusCode retval = UA_copyCertificate (&context->remoteCertificate, - remoteCertificate); - if (retval != UA_STATUSCODE_GOOD) { - UA_free (context); - return retval; - } - - /* decode to X509 */ - context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); - if (context->remoteCertificateX509 == NULL) { - UA_ByteString_clear (&context->remoteCertificate); - UA_free (context); - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - } - - context->policyContext = (Policy_Context_Basic128Rsa15 *) - (securityPolicy->policyContext); - - *channelContext = context; - - UA_LOG_INFO (securityPolicy->logger, - UA_LOGCATEGORY_SECURITYPOLICY, - "The Basic128Rsa15 security policy channel with openssl is created."); - - return UA_STATUSCODE_GOOD; -} - -/* delete the channel context */ - -static void -UA_ChannelModule_Basic128Rsa15_Delete_Context (void * channelContext) { - if (channelContext != NULL) { - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) - channelContext; - X509_free (cc->remoteCertificateX509); - UA_ByteString_clear (&cc->remoteCertificate); - UA_ByteString_clear (&cc->localSymSigningKey); - UA_ByteString_clear (&cc->localSymEncryptingKey); - UA_ByteString_clear (&cc->localSymIv); - UA_ByteString_clear (&cc->remoteSymSigningKey); - UA_ByteString_clear (&cc->remoteSymEncryptingKey); - UA_ByteString_clear (&cc->remoteSymIv); - UA_LOG_INFO (cc->policyContext->logger, - UA_LOGCATEGORY_SECURITYPOLICY, - "The Basic128Rsa15 security policy channel with openssl is deleted."); - - UA_free (cc); - } -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_setLocalSymSigningKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_setLocalSymEncryptingKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_setLocalSymIv (void * channelContext, - const UA_ByteString * iv) { - if (iv == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_setRemoteSymSigningKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_setRemoteSymEncryptingKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_setRemoteSymIv (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(key, &cc->remoteSymIv); -} - -static UA_StatusCode -UA_ChannelModule_Basic128Rsa15_compareCertificate (const void * channelContext, - const UA_ByteString * certificate) { - if(channelContext == NULL || certificate == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic128Rsa15 * cc = - (const Channel_Context_Basic128Rsa15 *) channelContext; - return UA_OpenSSL_X509_compare (certificate, cc->remoteCertificateX509); -} - -static UA_StatusCode -UA_Asy_Basic128Rsa15_compareCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * certificateThumbprint) { - if (securityPolicy == NULL || certificateThumbprint == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - Policy_Context_Basic128Rsa15 *pc = (Policy_Context_Basic128Rsa15 *) - securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) { - return UA_STATUSCODE_BADCERTIFICATEINVALID; - } - return UA_STATUSCODE_GOOD; -} - -/* Generates a thumbprint for the specified certificate */ - -static UA_StatusCode -UA_Asy_Basic128Rsa15_makeCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * certificate, - UA_ByteString * thumbprint) { - return UA_Openssl_X509_GetCertificateThumbprint (certificate, - thumbprint, false); -} - -static size_t -UA_AsySig_Basic128Rsa15_getRemoteSignatureSize (const void * channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsySig_Basic128Rsa15_getLocalSignatureSize (const void * channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - Policy_Context_Basic128Rsa15 * pc = (Policy_Context_Basic128Rsa15 *) cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); - - return (size_t) keyLen; -} - -static UA_StatusCode -UA_AsySig_Basic128Rsa15_Verify (void * channelContext, - const UA_ByteString * message, - const UA_ByteString * signature) { - if (message == NULL || signature == NULL || - channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify (message, - cc->remoteCertificateX509, signature); - - return retval; -} - -static UA_StatusCode -UA_AsySig_Basic128Rsa15_Sign (void * channelContext, - const UA_ByteString * message, - UA_ByteString * signature) { - if (channelContext == NULL || message == NULL || signature == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - Policy_Context_Basic128Rsa15 *pc = cc->policyContext; - return UA_Openssl_RSA_PKCS1_V15_SHA1_Sign (message, pc->localPrivateKey, signature); -} - -static size_t -UA_AsymEn_Basic128Rsa15_getRemotePlainTextBlockSize (const void *channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN; -} - -static size_t -UA_AsymEn_Basic128Rsa15_getRemoteBlockSize (const void *channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsymEn_Basic128Rsa15_getRemoteKeyLength (const void *channelContext) { - if (channelContext == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - const Channel_Context_Basic128Rsa15 * cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen * 8; -} - -static size_t -UA_AsymEn_Basic128Rsa15_getLocalKeyLength (const void *channelContext) { - if (channelContext == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - const Channel_Context_Basic128Rsa15 *cc = (const Channel_Context_Basic128Rsa15 *) channelContext; - Policy_Context_Basic128Rsa15 *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); - return (size_t) keyLen * 8; -} - -static UA_StatusCode -UA_AsymEn_Basic128Rsa15_Decrypt (void * channelContext, - UA_ByteString * data) { - if (channelContext == NULL || data == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - UA_StatusCode ret = UA_Openssl_RSA_PKCS1_V15_Decrypt (data, - cc->policyContext->localPrivateKey); - return ret; -} - -static UA_StatusCode -UA_AsymEn_Basic128Rsa15_Encrypt (void * channelContext, - UA_ByteString * data) { - if (channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - return UA_Openssl_RSA_PKCS1_V15_Encrypt (data, - UA_SECURITYPOLICY_BASIC128RSA15_RSAPADDING_LEN, - cc->remoteCertificateX509); -} - -static UA_StatusCode -UA_Sym_Basic128Rsa15_generateNonce(void *policyContext, - UA_ByteString *out) { - UA_Int32 rc = RAND_bytes(out->data, (int) out->length); - if (rc != 1) { - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_Sym_Basic128Rsa15_generateKey(void *policyContext, - const UA_ByteString *secret, - const UA_ByteString *seed, - UA_ByteString *out) { - return UA_Openssl_Random_Key_PSHA1_Derive(secret, seed, out); -} - -static size_t -UA_SymEn_Basic128Rsa15_getLocalKeyLength (const void *channelContext) { - /* 16 bytes 128 bits */ - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymEn_Basic128Rsa15_getBlockSize (const void *channelContext) { - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -UA_SymEn_Basic128Rsa15_getRemoteKeyLength (const void * channelContext) { - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_ENCRYPTION_KEY_LENGTH; -} - -static UA_StatusCode -UA_SymEn_Basic128Rsa15_Encrypt (void *channelContext, - UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - return UA_OpenSSL_AES_128_CBC_Encrypt (&cc->localSymIv, &cc->localSymEncryptingKey, data); -} - -static UA_StatusCode -UA_SymEn_Basic128Rsa15_Decrypt (void * channelContext, - UA_ByteString * data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - return UA_OpenSSL_AES_128_CBC_Decrypt (&cc->remoteSymIv, &cc->remoteSymEncryptingKey, data); -} - -static size_t -UA_SymSig_Basic128Rsa15_getKeyLength (const void *channelContext) { - return UA_SECURITYPOLICY_BASIC128RSA15_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -UA_SymSig_Basic128Rsa15_getSignatureSize (const void *channelContext) { - return UA_SHA1_LENGTH; -} - -static UA_StatusCode -UA_SymSig_Basic128Rsa15_Verify (void * channelContext, - const UA_ByteString * message, - const UA_ByteString * signature) { - if (channelContext == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - return UA_OpenSSL_HMAC_SHA1_Verify (message, - &cc->remoteSymSigningKey, - signature); -} - -static UA_StatusCode -UA_SymSig_Basic128Rsa15_Sign (void * channelContext, - const UA_ByteString * message, - UA_ByteString * signature) { - if (channelContext == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic128Rsa15 * cc = (Channel_Context_Basic128Rsa15 *) channelContext; - return UA_OpenSSL_HMAC_SHA1_Sign (message, &cc->localSymSigningKey, signature); -} - -/* the main entry of Basic128Rsa15 */ - -UA_StatusCode -UA_SecurityPolicy_Basic128Rsa15 (UA_SecurityPolicy * policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger * logger) { - - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "!! WARNING !! The Basic128Rsa15 SecurityPolicy is unsecure. " - "There are known attacks that break the encryption."); - - UA_SecurityPolicyAsymmetricModule * const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule * const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule * const channelModule = &policy->channelModule; - UA_StatusCode retval; - - UA_LOG_INFO (logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Basic128Rsa15 security policy with openssl is added."); - - UA_Openssl_Init (); - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15\0"); - - /* set ChannelModule context */ - - channelModule->newContext = UA_ChannelModule_Basic128Rsa15_New_Context; - channelModule->deleteContext = UA_ChannelModule_Basic128Rsa15_Delete_Context; - - channelModule->setLocalSymSigningKey = UA_ChannelModule_Basic128Rsa15_setLocalSymSigningKey; - channelModule->setLocalSymEncryptingKey = UA_ChannelModule_Basic128Rsa15_setLocalSymEncryptingKey; - channelModule->setLocalSymIv = UA_ChannelModule_Basic128Rsa15_setLocalSymIv; - channelModule->setRemoteSymSigningKey = UA_ChannelModule_Basic128Rsa15_setRemoteSymSigningKey; - channelModule->setRemoteSymEncryptingKey = UA_ChannelModule_Basic128Rsa15_setRemoteSymEncryptingKey; - channelModule->setRemoteSymIv = UA_ChannelModule_Basic128Rsa15_setRemoteSymIv; - channelModule->compareCertificate = UA_ChannelModule_Basic128Rsa15_compareCertificate; - - retval = UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* asymmetricModule */ - - asymmetricModule->compareCertificateThumbprint = UA_Asy_Basic128Rsa15_compareCertificateThumbprint; - asymmetricModule->makeCertificateThumbprint = UA_Asy_Basic128Rsa15_makeCertificateThumbprint; - - /* AsymmetricModule - signature algorithm */ - - UA_SecurityPolicySignatureAlgorithm * asySigAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asySigAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); - asySigAlgorithm->getRemoteSignatureSize = UA_AsySig_Basic128Rsa15_getRemoteSignatureSize; - asySigAlgorithm->getLocalSignatureSize = UA_AsySig_Basic128Rsa15_getLocalSignatureSize; - asySigAlgorithm->getLocalKeyLength = NULL; - asySigAlgorithm->getRemoteKeyLength = NULL; - asySigAlgorithm->verify = UA_AsySig_Basic128Rsa15_Verify; - asySigAlgorithm->sign = UA_AsySig_Basic128Rsa15_Sign; - - /* AsymmetricModule encryption algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm * asymEncryAlg = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-1_5\0"); - asymEncryAlg->getRemotePlainTextBlockSize = UA_AsymEn_Basic128Rsa15_getRemotePlainTextBlockSize; - asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Basic128Rsa15_getRemoteBlockSize; - asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Basic128Rsa15_getRemoteKeyLength; - asymEncryAlg->getLocalKeyLength = UA_AsymEn_Basic128Rsa15_getLocalKeyLength; - asymEncryAlg->decrypt = UA_AsymEn_Basic128Rsa15_Decrypt; - asymEncryAlg->encrypt = UA_AsymEn_Basic128Rsa15_Encrypt; - - /* SymmetricModule */ - - symmetricModule->secureChannelNonceLength = 16; /* 128 bits*/ - symmetricModule->generateNonce = UA_Sym_Basic128Rsa15_generateNonce; - symmetricModule->generateKey = UA_Sym_Basic128Rsa15_generateKey; - - /* Symmetric encryption Algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm * symEncryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - symEncryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc\0"); - symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Basic128Rsa15_getLocalKeyLength; - symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Basic128Rsa15_getRemoteKeyLength; - symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Basic128Rsa15_getBlockSize; - symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Basic128Rsa15_getBlockSize; - symEncryptionAlgorithm->decrypt = UA_SymEn_Basic128Rsa15_Decrypt; - symEncryptionAlgorithm->encrypt = UA_SymEn_Basic128Rsa15_Encrypt; - - /* Symmetric signature Algorithm */ - - UA_SecurityPolicySignatureAlgorithm * symSignatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); - symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Basic128Rsa15_getKeyLength; - symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Basic128Rsa15_getKeyLength; - symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Basic128Rsa15_getSignatureSize; - symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Basic128Rsa15_getSignatureSize; - - symSignatureAlgorithm->verify = UA_SymSig_Basic128Rsa15_Verify; - symSignatureAlgorithm->sign = UA_SymSig_Basic128Rsa15_Sign; - - /* set the policy context */ - - retval = UA_Policy_Basic128Rsa15_New_Context (policy, localPrivateKey, logger); - if (retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear (&policy->localCertificate); - return retval; - } - policy->updateCertificateAndPrivateKey = - updateCertificateAndPrivateKey_sp_basic128rsa15; - policy->clear = UA_Policy_Basic128Rsa15_Clear_Context; - - /* Use the same signature algorithm as the asymmetric component for - certificate signing (see standard) */ - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - return UA_STATUSCODE_GOOD; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_basic256.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - */ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - - -#include -#include - -#define UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN 42 -#define UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256_SYM_SIGNING_KEY_LENGTH 24 -#define UA_SHA1_LENGTH 20 - -typedef struct { - EVP_PKEY * localPrivateKey; - UA_ByteString localCertThumbprint; - const UA_Logger * logger; -} Policy_Context_Basic256; - -typedef struct { - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - Policy_Context_Basic256 * policyContext; - UA_ByteString remoteCertificate; - X509 * remoteCertificateX509; -} Channel_Context_Basic256; - -static UA_StatusCode -UA_Policy_Basic256_New_Context (UA_SecurityPolicy * securityPolicy, - const UA_ByteString localPrivateKey, - const UA_Logger * logger) { - Policy_Context_Basic256 * context = (Policy_Context_Basic256 *) - UA_malloc (sizeof (Policy_Context_Basic256)); - if (context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); - - if (!context->localPrivateKey) { - UA_free (context); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint ( - &securityPolicy->localCertificate, - &context->localCertThumbprint, true - ); - if (retval != UA_STATUSCODE_GOOD) { - EVP_PKEY_free(context->localPrivateKey); - UA_free (context); - return retval; - } - - context->logger = logger; - securityPolicy->policyContext = context; - - return UA_STATUSCODE_GOOD; -} - -static void -UA_Policy_Basic256_Clear_Context (UA_SecurityPolicy *policy) { - if (policy == NULL) { - return; - } - UA_ByteString_clear(&policy->localCertificate); - - Policy_Context_Basic256 * ctx = (Policy_Context_Basic256 *) policy->policyContext; - if (ctx == NULL) { - return; - } - - /* delete all allocated members in the context */ - - EVP_PKEY_free(ctx->localPrivateKey); - UA_ByteString_clear(&ctx->localCertThumbprint); - UA_free (ctx); - - return; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_basic256(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Policy_Context_Basic256 *pc = - (Policy_Context_Basic256 *)securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( - &newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - EVP_PKEY_free(pc->localPrivateKey); - - pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); - - if(!pc->localPrivateKey) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - UA_ByteString_clear(&pc->localCertThumbprint); - - retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, - &pc->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - goto error; - } - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - UA_Policy_Basic256_Clear_Context(securityPolicy); - return retval; -} - -/* create the channel context */ - -static UA_StatusCode -UA_ChannelModule_Basic256_New_Context (const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * remoteCertificate, - void ** channelContext) { - if (securityPolicy == NULL || remoteCertificate == NULL || - channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - Channel_Context_Basic256 * context = (Channel_Context_Basic256 *) - UA_malloc (sizeof (Channel_Context_Basic256)); - if (context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_ByteString_init(&context->localSymSigningKey); - UA_ByteString_init(&context->localSymEncryptingKey); - UA_ByteString_init(&context->localSymIv); - UA_ByteString_init(&context->remoteSymSigningKey); - UA_ByteString_init(&context->remoteSymEncryptingKey); - UA_ByteString_init(&context->remoteSymIv); - - UA_StatusCode retval = UA_copyCertificate (&context->remoteCertificate, - remoteCertificate); - if (retval != UA_STATUSCODE_GOOD) { - UA_free (context); - return retval; - } - - /* decode to X509 */ - context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); - if (context->remoteCertificateX509 == NULL) { - UA_ByteString_clear (&context->remoteCertificate); - UA_free (context); - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - } - - context->policyContext = (Policy_Context_Basic256 *) - (securityPolicy->policyContext); - - *channelContext = context; - - UA_LOG_INFO (securityPolicy->logger, - UA_LOGCATEGORY_SECURITYPOLICY, - "The basic256 security policy channel with openssl is created."); - - return UA_STATUSCODE_GOOD; -} - -/* delete the channel context */ - -static void -UA_ChannelModule_Basic256_Delete_Context (void * channelContext) { - if (channelContext != NULL) { - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) - channelContext; - X509_free (cc->remoteCertificateX509); - UA_ByteString_clear (&cc->remoteCertificate); - UA_ByteString_clear (&cc->localSymSigningKey); - UA_ByteString_clear (&cc->localSymEncryptingKey); - UA_ByteString_clear (&cc->localSymIv); - UA_ByteString_clear (&cc->remoteSymSigningKey); - UA_ByteString_clear (&cc->remoteSymEncryptingKey); - UA_ByteString_clear (&cc->remoteSymIv); - UA_LOG_INFO (cc->policyContext->logger, - UA_LOGCATEGORY_SECURITYPOLICY, - "The basic256 security policy channel with openssl is deleted."); - - UA_free (cc); - } -} - -/* Compares the supplied certificate with the certificate - * in the endpoint context - */ - -static UA_StatusCode -UA_Asy_Basic256_compareCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * certificateThumbprint) { - if (securityPolicy == NULL || certificateThumbprint == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - Policy_Context_Basic256 *pc = (Policy_Context_Basic256 *) - securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) { - return UA_STATUSCODE_BADCERTIFICATEINVALID; - } - return UA_STATUSCODE_GOOD; -} - -/* Generates a thumbprint for the specified certificate */ - -static UA_StatusCode -UA_Asy_Basic256_makeCertificateThumbprint (const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * certificate, - UA_ByteString * thumbprint) { - return UA_Openssl_X509_GetCertificateThumbprint (certificate, - thumbprint, false); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_setLocalSymSigningKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_setLocalSymEncryptingKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_setLocalSymIv (void * channelContext, - const UA_ByteString * iv) { - if (iv == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_setRemoteSymSigningKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_setRemoteSymEncryptingKey (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_setRemoteSymIv (void * channelContext, - const UA_ByteString * key) { - if (key == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(key, &cc->remoteSymIv); -} - -static UA_StatusCode -UA_ChannelModule_Basic256_compareCertificate (const void * channelContext, - const UA_ByteString * certificate) { - if(channelContext == NULL || certificate == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic256 * cc = - (const Channel_Context_Basic256 *) channelContext; - return UA_OpenSSL_X509_compare (certificate, cc->remoteCertificateX509); -} - -static size_t -UA_AsySig_Basic256_getRemoteSignatureSize (const void *channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsySig_Basic256_getLocalSignatureSize (const void *channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; - Policy_Context_Basic256 * pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); - - return (size_t) keyLen; -} - -static UA_StatusCode -UA_AsySig_Basic256_Verify (void * channelContext, - const UA_ByteString * message, - const UA_ByteString * signature) { - if (message == NULL || signature == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA1_Verify (message, - cc->remoteCertificateX509, signature); - return retval; -} - -static UA_StatusCode -UA_AsySig_Basic256_Sign (void * channelContext, - const UA_ByteString * message, - UA_ByteString * signature) { - if (channelContext == NULL || message == NULL || signature == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - Policy_Context_Basic256 * pc = cc->policyContext; - return UA_Openssl_RSA_PKCS1_V15_SHA1_Sign (message, pc->localPrivateKey, - signature); -} - -static size_t -UA_AsymEn_Basic256_getRemotePlainTextBlockSize (const void *channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen - UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN; -} - -static size_t -UA_AsymEn_Basic256_getRemoteBlockSize (const void *channelContext) { - if (channelContext == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsymEn_Basic256_getRemoteKeyLength (const void *channelContext) { - if (channelContext == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - const Channel_Context_Basic256 * cc = (const Channel_Context_Basic256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength (cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen * 8; -} - -static size_t -UA_AsymEn_Basic256_getLocalKeyLength (const void *channelContext) { - if (channelContext == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - const Channel_Context_Basic256 *cc = (const Channel_Context_Basic256 *) channelContext; - Policy_Context_Basic256 *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength (pc->localPrivateKey, &keyLen); - - return (size_t) keyLen * 8; -} - -static UA_StatusCode -UA_AsymEn_Basic256_Decrypt (void * channelContext, - UA_ByteString * data) { - if (channelContext == NULL || data == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - UA_StatusCode ret = UA_Openssl_RSA_Oaep_Decrypt (data, - cc->policyContext->localPrivateKey); - return ret; -} - -static UA_StatusCode -UA_AsymEn_Basic256_Encrypt (void * channelContext, - UA_ByteString * data) { - if (channelContext == NULL || data == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - return UA_Openssl_RSA_OAEP_Encrypt (data, UA_SECURITYPOLICY_BASIC256SHA1_RSAPADDING_LEN, - cc->remoteCertificateX509); -} - -static UA_StatusCode -UA_Sym_Basic256_generateNonce(void *policyContext, - UA_ByteString *out) { - UA_Int32 rc = RAND_bytes(out->data, (int) out->length); - if (rc != 1) { - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_Sym_Basic256_generateKey(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - return UA_Openssl_Random_Key_PSHA1_Derive(secret, seed, out); -} - -static size_t -UA_SymEn_Basic256_getLocalKeyLength (const void * channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymEn_Basic256_getBlockSize (const void * channelContext) { - return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -UA_SymEn_Basic256_getRemoteKeyLength (const void * channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_BASIC256_SYM_ENCRYPTION_KEY_LENGTH; -} - -static UA_StatusCode -UA_SymEn_Basic256_Encrypt (void * channelContext, - UA_ByteString * data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - return UA_OpenSSL_AES_256_CBC_Encrypt (&cc->localSymIv, &cc->localSymEncryptingKey, data); -} - -static UA_StatusCode -UA_SymEn_Basic256_Decrypt (void * channelContext, - UA_ByteString * data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - return UA_OpenSSL_AES_256_CBC_Decrypt (&cc->remoteSymIv, &cc->remoteSymEncryptingKey, data); -} - -static size_t -UA_SymSig_Basic256_getKeyLength (const void * channelContext) { - return UA_SECURITYPOLICY_BASIC256_SYM_SIGNING_KEY_LENGTH; -} - -static size_t -UA_SymSig_Basic256_getSignatureSize (const void * channelContext) { - return UA_SHA1_LENGTH; -} - -static UA_StatusCode -UA_SymSig_Basic256_Verify (void * channelContext, - const UA_ByteString * message, - const UA_ByteString * signature) { - if (channelContext == NULL || - message == NULL || signature == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - return UA_OpenSSL_HMAC_SHA1_Verify (message, - &cc->remoteSymSigningKey, - signature); -} - -static UA_StatusCode -UA_SymSig_Basic256_Sign (void * channelContext, - const UA_ByteString * message, - UA_ByteString * signature) { - if (channelContext == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic256 * cc = (Channel_Context_Basic256 *) channelContext; - return UA_OpenSSL_HMAC_SHA1_Sign (message, &cc->localSymSigningKey, signature); -} - -/* the main entry of Basic256 */ - -UA_StatusCode -UA_SecurityPolicy_Basic256 (UA_SecurityPolicy * policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger * logger) { - - UA_LOG_WARNING(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "!! WARNING !! The Basic256 SecurityPolicy is unsecure. " - "There are known attacks that break the encryption."); - - UA_SecurityPolicyAsymmetricModule * const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule * const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule * const channelModule = &policy->channelModule; - UA_StatusCode retval; - - UA_LOG_INFO (logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The basic256 security policy with openssl is added."); - - UA_Openssl_Init (); - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256\0"); - - /* set ChannelModule context */ - - channelModule->newContext = UA_ChannelModule_Basic256_New_Context; - channelModule->deleteContext = UA_ChannelModule_Basic256_Delete_Context; - - channelModule->setLocalSymSigningKey = UA_ChannelModule_Basic256_setLocalSymSigningKey; - channelModule->setLocalSymEncryptingKey = UA_ChannelModule_Basic256_setLocalSymEncryptingKey; - channelModule->setLocalSymIv = UA_ChannelModule_Basic256_setLocalSymIv; - channelModule->setRemoteSymSigningKey = UA_ChannelModule_Basic256_setRemoteSymSigningKey; - channelModule->setRemoteSymEncryptingKey = UA_ChannelModule_Basic256_setRemoteSymEncryptingKey; - channelModule->setRemoteSymIv = UA_ChannelModule_Basic256_setRemoteSymIv; - channelModule->compareCertificate = UA_ChannelModule_Basic256_compareCertificate; - - retval = UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - - if (retval != UA_STATUSCODE_GOOD) - return retval; - - /* asymmetricModule */ - - asymmetricModule->compareCertificateThumbprint = UA_Asy_Basic256_compareCertificateThumbprint; - asymmetricModule->makeCertificateThumbprint = UA_Asy_Basic256_makeCertificateThumbprint; - - /* AsymmetricModule - signature algorithm */ - - UA_SecurityPolicySignatureAlgorithm * asySigAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asySigAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#rsa-sha1\0"); - asySigAlgorithm->getRemoteSignatureSize = UA_AsySig_Basic256_getRemoteSignatureSize; - asySigAlgorithm->getLocalSignatureSize = UA_AsySig_Basic256_getLocalSignatureSize; - asySigAlgorithm->verify = UA_AsySig_Basic256_Verify; - asySigAlgorithm->sign = UA_AsySig_Basic256_Sign; - asySigAlgorithm->getLocalKeyLength = NULL; - asySigAlgorithm->getRemoteKeyLength = NULL; - - /* AsymmetricModule encryption algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm * asymEncryAlg = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); - asymEncryAlg->getRemotePlainTextBlockSize = UA_AsymEn_Basic256_getRemotePlainTextBlockSize; - asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Basic256_getRemoteBlockSize; - asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Basic256_getRemoteKeyLength; - asymEncryAlg->getLocalKeyLength = UA_AsymEn_Basic256_getLocalKeyLength; - asymEncryAlg->decrypt = UA_AsymEn_Basic256_Decrypt; - asymEncryAlg->encrypt = UA_AsymEn_Basic256_Encrypt; - - /* SymmetricModule */ - - symmetricModule->secureChannelNonceLength = 32; - symmetricModule->generateNonce = UA_Sym_Basic256_generateNonce; - symmetricModule->generateKey = UA_Sym_Basic256_generateKey; - - /* Symmetric encryption Algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm * symEncryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - symEncryptionAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); - symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Basic256_getLocalKeyLength; - symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Basic256_getRemoteKeyLength; - symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Basic256_getBlockSize; - symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Basic256_getBlockSize; - symEncryptionAlgorithm->decrypt = UA_SymEn_Basic256_Decrypt; - symEncryptionAlgorithm->encrypt = UA_SymEn_Basic256_Encrypt; - - /* Symmetric signature Algorithm */ - - UA_SecurityPolicySignatureAlgorithm * symSignatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha1\0"); - symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Basic256_getKeyLength; - symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Basic256_getKeyLength; - symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Basic256_getSignatureSize; - symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Basic256_getSignatureSize; - symSignatureAlgorithm->verify = UA_SymSig_Basic256_Verify; - symSignatureAlgorithm->sign = UA_SymSig_Basic256_Sign; - - /* set the policy context */ - - retval = UA_Policy_Basic256_New_Context (policy, localPrivateKey, logger); - if (retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear (&policy->localCertificate); - return retval; - } - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_basic256; - policy->clear = UA_Policy_Basic256_Clear_Context; - - /* Use the same signature algorithm as the asymmetric component for - certificate signing (see standard) */ - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - return UA_STATUSCODE_GOOD; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_basic256sha256.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - */ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - - -#include -#include -#include -#include -#include -#include - -#define UA_SHA256_LENGTH 32 /* 256 bit */ -#define UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN 42 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256SHA256_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_BASIC256SHA256_MINASYMKEYLENGTH 256 -#define UA_SECURITYPOLICY_BASIC256SHA256_MAXASYMKEYLENGTH 512 - -typedef struct { - EVP_PKEY *localPrivateKey; - UA_ByteString localCertThumbprint; - const UA_Logger *logger; -} Policy_Context_Basic256Sha256; - -typedef struct { - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - Policy_Context_Basic256Sha256 *policyContext; - UA_ByteString remoteCertificate; - X509 *remoteCertificateX509; /* X509 */ -} Channel_Context_Basic256Sha256; - -/* create the policy context */ - -static UA_StatusCode -UA_Policy_New_Context(UA_SecurityPolicy * securityPolicy, - const UA_ByteString localPrivateKey, - const UA_Logger *logger) { - Policy_Context_Basic256Sha256 *context = (Policy_Context_Basic256Sha256 *) - UA_malloc(sizeof(Policy_Context_Basic256Sha256)); - if(context == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); - - if(!context->localPrivateKey) { - UA_free(context); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval = - UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, - &context->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - EVP_PKEY_free(context->localPrivateKey); - UA_free(context); - return retval; - } - - context->logger = logger; - securityPolicy->policyContext = context; - return UA_STATUSCODE_GOOD; -} - -/* Clear the policy context */ -static void -UA_Policy_Clear_Context(UA_SecurityPolicy *policy) { - if(policy == NULL) - return; - - UA_ByteString_clear(&policy->localCertificate); - - /* Delete all allocated members in the context */ - Policy_Context_Basic256Sha256 *pc = - (Policy_Context_Basic256Sha256 *) policy->policyContext; - EVP_PKEY_free(pc->localPrivateKey); - UA_ByteString_clear(&pc->localCertThumbprint); - UA_free(pc); - return; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_basic256sha256(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Policy_Context_Basic256Sha256 *pc = - (Policy_Context_Basic256Sha256 *)securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( - &newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - EVP_PKEY_free(pc->localPrivateKey); - - pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); - - if(!pc->localPrivateKey) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - UA_ByteString_clear(&pc->localCertThumbprint); - - retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, - &pc->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - goto error; - } - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - UA_Policy_Clear_Context(securityPolicy); - return retval; -} - -/* create the channel context */ - -static UA_StatusCode -UA_ChannelModule_New_Context(const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * remoteCertificate, - void ** channelContext) { - if(securityPolicy == NULL || remoteCertificate == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Basic256Sha256 *context = (Channel_Context_Basic256Sha256 *) - UA_malloc(sizeof(Channel_Context_Basic256Sha256)); - if(context == NULL) - return UA_STATUSCODE_BADOUTOFMEMORY; - - UA_ByteString_init(&context->localSymSigningKey); - UA_ByteString_init(&context->localSymEncryptingKey); - UA_ByteString_init(&context->localSymIv); - UA_ByteString_init(&context->remoteSymSigningKey); - UA_ByteString_init(&context->remoteSymEncryptingKey); - UA_ByteString_init(&context->remoteSymIv); - - UA_StatusCode retval = - UA_copyCertificate(&context->remoteCertificate, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(context); - return retval; - } - - /* decode to X509 */ - context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); - if(context->remoteCertificateX509 == NULL) { - UA_ByteString_clear(&context->remoteCertificate); - UA_free(context); - return UA_STATUSCODE_BADINTERNALERROR; - } - - context->policyContext = - (Policy_Context_Basic256Sha256 *)securityPolicy->policyContext; - *channelContext = context; - - UA_LOG_INFO(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The basic256sha256 security policy channel with openssl is created."); - - return UA_STATUSCODE_GOOD; -} - -/* delete the channel context */ - -static void -UA_ChannelModule_Delete_Context(void * channelContext) { - if(!channelContext) - return; - - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *)channelContext; - X509_free(cc->remoteCertificateX509); - UA_ByteString_clear(&cc->remoteCertificate); - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - UA_LOG_INFO(cc->policyContext->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The basic256sha256 security policy channel with openssl is deleted."); - UA_free(cc); -} - -/* Verifies the signature of the message using the provided keys in the context. - * AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 */ -static UA_StatusCode -UA_AsySig_Basic256Sha256_Verify(void *channelContext, - const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Basic256Sha256 * cc = - (Channel_Context_Basic256Sha256 *) channelContext; - return UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify(message, cc->remoteCertificateX509, - signature); -} - -/* Compares the supplied certificate with the certificate - * in the endpoint context - */ - -static UA_StatusCode -UA_compareCertificateThumbprint(const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - Policy_Context_Basic256Sha256 *pc = (Policy_Context_Basic256Sha256 *) - securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - return UA_STATUSCODE_GOOD; -} - -/* Generates a thumbprint for the specified certificate */ - -static UA_StatusCode -UA_makeCertificateThumbprint(const UA_SecurityPolicy * securityPolicy, - const UA_ByteString * certificate, - UA_ByteString * thumbprint) { - return UA_Openssl_X509_GetCertificateThumbprint(certificate, thumbprint, false); -} - -static UA_StatusCode -UA_Asym_Basic256Sha256_Decrypt(void * channelContext, UA_ByteString * data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Basic256Sha256 * cc = - (Channel_Context_Basic256Sha256 *) channelContext; - return UA_Openssl_RSA_Oaep_Decrypt(data, cc->policyContext->localPrivateKey); -} - -static size_t -UA_Asym_Basic256Sha256_getRemoteSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 * cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsySig_Basic256Sha256_getLocalSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 *cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - Policy_Context_Basic256Sha256 * pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsymEn_Basic256Sha256_getRemotePlainTextBlockSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 *cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen - UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN; -} - -static size_t -UA_AsymEn_Basic256Sha256_getRemoteBlockSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 * cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen; -} - -static size_t -UA_AsymEn_Basic256Sha256_getRemoteKeyLength(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 *cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t) keyLen * 8; -} - -static UA_StatusCode -UA_Sym_Basic256Sha256_generateNonce(void *policyContext, - UA_ByteString *out) { - UA_Int32 rc = RAND_bytes(out->data, (int) out->length); - if(rc != 1) - return UA_STATUSCODE_BADUNEXPECTEDERROR; - return UA_STATUSCODE_GOOD; -} - -static size_t -UA_SymEn_Basic256Sha256_getLocalKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymSig_Basic256Sha256_getLocalKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH; -} - -static UA_StatusCode -UA_Sym_Basic256Sha256_generateKey(void *policyContext, - const UA_ByteString *secret, - const UA_ByteString *seed, - UA_ByteString *out) { - return UA_Openssl_Random_Key_PSHA256_Derive(secret, seed, out); -} - -static UA_StatusCode -UA_ChannelModule_Basic256Sha256_setLocalSymSigningKey(void * channelContext, - const UA_ByteString * key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - -static UA_StatusCode -UA_ChannelM_Basic256Sha256_setLocalSymEncryptingKey(void * channelContext, - const UA_ByteString * key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelM_Basic256Sha256_setLocalSymIv(void * channelContext, - const UA_ByteString * iv) { - if(iv == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static size_t -UA_SymEn_Basic256Sha256_getRemoteKeyLength(const void * channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymEn_Basic256Sha256_getBlockSize(const void *channelContext) { - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -UA_SymSig_Basic256Sha256_getRemoteKeyLength(const void * channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_BASIC256SHA256_SYM_SIGNING_KEY_LENGTH; -} - -static UA_StatusCode -UA_ChannelM_Basic256Sha256_setRemoteSymSigningKey(void *channelContext, - const UA_ByteString * key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -UA_ChannelM_Basic256Sha256_setRemoteSymEncryptingKey(void *channelContext, - const UA_ByteString * key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelM_Basic256Sha256_setRemoteSymIv(void *channelContext, - const UA_ByteString * key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(key, &cc->remoteSymIv); -} - -static UA_StatusCode -UA_AsySig_Basic256Sha256_sign(void *channelContext, const UA_ByteString * message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 *cc = (Channel_Context_Basic256Sha256 *) channelContext; - Policy_Context_Basic256Sha256 *pc = cc->policyContext; - return UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(message, pc->localPrivateKey, signature); -} - -static UA_StatusCode -UA_AsymEn_Basic256Sha256_encrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = - (Channel_Context_Basic256Sha256 *) channelContext; - return UA_Openssl_RSA_OAEP_Encrypt(data, UA_SECURITYPOLICY_BASIC256SHA256_RSAPADDING_LEN, - cc->remoteCertificateX509); -} - -static size_t -UA_SymSig_Basic256Sha256_getRemoteSignatureSize(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static UA_StatusCode -UA_SymSig_Basic256Sha256_verify(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - return UA_OpenSSL_HMAC_SHA256_Verify(message, &cc->remoteSymSigningKey, signature); -} - -static UA_StatusCode -UA_SymSig_Basic256Sha256_sign(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - return UA_OpenSSL_HMAC_SHA256_Sign(message, &cc->localSymSigningKey, signature); -} - -static size_t -UA_SymSig_Basic256Sha256_getLocalSignatureSize(const void * channelContext) { - return UA_SHA256_LENGTH; -} - -static UA_StatusCode -UA_SymEn_Basic256Sha256_decrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - return UA_OpenSSL_AES_256_CBC_Decrypt(&cc->remoteSymIv, - &cc->remoteSymEncryptingKey, data); -} - -static UA_StatusCode -UA_SymEn_Basic256Sha256_encrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Basic256Sha256 * cc = (Channel_Context_Basic256Sha256 *) channelContext; - return UA_OpenSSL_AES_256_CBC_Encrypt(&cc->localSymIv, &cc->localSymEncryptingKey, data); -} - -static UA_StatusCode -UA_ChannelM_Basic256Sha256_compareCertificate(const void *channelContext, - const UA_ByteString *certificate) { - if(channelContext == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 * cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - return UA_OpenSSL_X509_compare(certificate, cc->remoteCertificateX509); -} - -static size_t -UA_AsymEn_Basic256Sha256_getLocalKeyLength(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Basic256Sha256 * cc = - (const Channel_Context_Basic256Sha256 *) channelContext; - Policy_Context_Basic256Sha256 *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t) keyLen * 8; -} - -/* the main entry of Basic256Sha256 */ - -UA_StatusCode -UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger) { - UA_SecurityPolicyAsymmetricModule *asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *channelModule = &policy->channelModule; - UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The basic256sha256 security policy with openssl is added."); - - UA_Openssl_Init(); - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - policy->policyUri = - UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256\0"); - - /* Set ChannelModule context */ - channelModule->newContext = UA_ChannelModule_New_Context; - channelModule->deleteContext = UA_ChannelModule_Delete_Context; - channelModule->setLocalSymSigningKey = - UA_ChannelModule_Basic256Sha256_setLocalSymSigningKey; - channelModule->setLocalSymEncryptingKey = - UA_ChannelM_Basic256Sha256_setLocalSymEncryptingKey; - channelModule->setLocalSymIv = UA_ChannelM_Basic256Sha256_setLocalSymIv; - channelModule->setRemoteSymSigningKey = - UA_ChannelM_Basic256Sha256_setRemoteSymSigningKey; - channelModule->setRemoteSymEncryptingKey = - UA_ChannelM_Basic256Sha256_setRemoteSymEncryptingKey; - channelModule->setRemoteSymIv = UA_ChannelM_Basic256Sha256_setRemoteSymIv; - channelModule->compareCertificate = UA_ChannelM_Basic256Sha256_compareCertificate; - UA_StatusCode retval = - UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule - signature algorithm */ - UA_SecurityPolicySignatureAlgorithm *asySigAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asySigAlgorithm->uri = UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); - asySigAlgorithm->verify = UA_AsySig_Basic256Sha256_Verify; - asySigAlgorithm->sign = UA_AsySig_Basic256Sha256_sign; - asySigAlgorithm->getLocalSignatureSize = UA_AsySig_Basic256Sha256_getLocalSignatureSize; - asySigAlgorithm->getRemoteSignatureSize = UA_Asym_Basic256Sha256_getRemoteSignatureSize; - asySigAlgorithm->getLocalKeyLength = NULL; - asySigAlgorithm->getRemoteKeyLength = NULL; - - /* AsymmetricModule encryption algorithm */ - UA_SecurityPolicyEncryptionAlgorithm *asymEncryAlg = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); - asymEncryAlg->encrypt = UA_AsymEn_Basic256Sha256_encrypt; - asymEncryAlg->decrypt = UA_Asym_Basic256Sha256_Decrypt; - asymEncryAlg->getLocalKeyLength = UA_AsymEn_Basic256Sha256_getLocalKeyLength; - asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Basic256Sha256_getRemoteKeyLength; - asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Basic256Sha256_getRemoteBlockSize; - asymEncryAlg->getRemotePlainTextBlockSize = - UA_AsymEn_Basic256Sha256_getRemotePlainTextBlockSize; - - /* AsymmetricModule */ - asymmetricModule->compareCertificateThumbprint = UA_compareCertificateThumbprint; - asymmetricModule->makeCertificateThumbprint = UA_makeCertificateThumbprint; - - /* SymmetricModule */ - symmetricModule->secureChannelNonceLength = 32; - symmetricModule->generateNonce = UA_Sym_Basic256Sha256_generateNonce; - symmetricModule->generateKey = UA_Sym_Basic256Sha256_generateKey; - - /* Symmetric encryption Algorithm */ - UA_SecurityPolicyEncryptionAlgorithm *symEncryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - symEncryptionAlgorithm->uri = - UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); - symEncryptionAlgorithm->encrypt = UA_SymEn_Basic256Sha256_encrypt; - symEncryptionAlgorithm->decrypt = UA_SymEn_Basic256Sha256_decrypt; - symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Basic256Sha256_getLocalKeyLength; - symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Basic256Sha256_getRemoteKeyLength; - symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Basic256Sha256_getBlockSize; - symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Basic256Sha256_getBlockSize; - - /* Symmetric signature Algorithm */ - UA_SecurityPolicySignatureAlgorithm *symSignatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - symSignatureAlgorithm->uri = - UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); - symSignatureAlgorithm->verify = UA_SymSig_Basic256Sha256_verify; - symSignatureAlgorithm->sign = UA_SymSig_Basic256Sha256_sign; - symSignatureAlgorithm->getLocalSignatureSize = - UA_SymSig_Basic256Sha256_getLocalSignatureSize; - symSignatureAlgorithm->getRemoteSignatureSize = - UA_SymSig_Basic256Sha256_getRemoteSignatureSize; - symSignatureAlgorithm->getLocalKeyLength = - UA_SymSig_Basic256Sha256_getLocalKeyLength; - symSignatureAlgorithm->getRemoteKeyLength = - UA_SymSig_Basic256Sha256_getRemoteKeyLength; - - policy->updateCertificateAndPrivateKey = - updateCertificateAndPrivateKey_sp_basic256sha256; - policy->clear = UA_Policy_Clear_Context; - retval = UA_Policy_New_Context(policy, localPrivateKey, logger); - if(retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear(&policy->localCertificate); - return retval; - } - - /* Use the same signature algorithm as the asymmetric component for - * certificate signing (see standard) */ - policy->certificateSigningAlgorithm = - policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - return UA_STATUSCODE_GOOD; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_aes128sha256rsaoaep.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2020 (c) Wind River Systems, Inc. - */ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - - -#include -#include -#include -#include -#include -#include - -#define UA_SHA256_LENGTH 32 /* 256 bit */ -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN 42 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_KEY_LENGTH 16 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MINASYMKEYLENGTH 256 -#define UA_SECURITYPOLICY_AES128SHA256RSAOAEP_MAXASYMKEYLENGTH 512 - -typedef struct { - EVP_PKEY *localPrivateKey; - UA_ByteString localCertThumbprint; - const UA_Logger *logger; -} Policy_Context_Aes128Sha256RsaOaep; - -typedef struct { - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - Policy_Context_Aes128Sha256RsaOaep *policyContext; - UA_ByteString remoteCertificate; - X509 *remoteCertificateX509; /* X509 */ -} Channel_Context_Aes128Sha256RsaOaep; - -/* create the policy context */ - -static UA_StatusCode -UA_Policy_Aes128Sha256RsaOaep_New_Context(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey, - const UA_Logger *logger) { - Policy_Context_Aes128Sha256RsaOaep *context = - (Policy_Context_Aes128Sha256RsaOaep *)UA_malloc( - sizeof(Policy_Context_Aes128Sha256RsaOaep)); - if(context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); - if (!context->localPrivateKey) { - UA_free(context); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint( - &securityPolicy->localCertificate, &context->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - EVP_PKEY_free(context->localPrivateKey); - UA_free(context); - return retval; - } - - context->logger = logger; - securityPolicy->policyContext = context; - - return UA_STATUSCODE_GOOD; -} - -/* clear the policy context */ - -static void -UA_Policy_Aes128Sha256RsaOaep_Clear_Context(UA_SecurityPolicy *policy) { - if(policy == NULL) - return; - - UA_ByteString_clear(&policy->localCertificate); - - /* delete all allocated members in the context */ - - Policy_Context_Aes128Sha256RsaOaep *pc = - (Policy_Context_Aes128Sha256RsaOaep *)policy->policyContext; - if (pc == NULL) { - return; - } - - EVP_PKEY_free(pc->localPrivateKey); - UA_ByteString_clear(&pc->localCertThumbprint); - UA_free(pc); - - return; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Policy_Context_Aes128Sha256RsaOaep *pc = - (Policy_Context_Aes128Sha256RsaOaep *)securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( - &newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - EVP_PKEY_free(pc->localPrivateKey); - - pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); - - if(!pc->localPrivateKey) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - UA_ByteString_clear(&pc->localCertThumbprint); - - retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, - &pc->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - goto error; - } - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - UA_Policy_Aes128Sha256RsaOaep_Clear_Context(securityPolicy); - return retval; -} - -/* create the channel context */ - -static UA_StatusCode -UA_ChannelModule_Aes128Sha256RsaOaep_New_Context(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **channelContext) { - if(securityPolicy == NULL || remoteCertificate == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - Channel_Context_Aes128Sha256RsaOaep *context = - (Channel_Context_Aes128Sha256RsaOaep *)UA_malloc( - sizeof(Channel_Context_Aes128Sha256RsaOaep)); - if(context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_ByteString_init(&context->localSymSigningKey); - UA_ByteString_init(&context->localSymEncryptingKey); - UA_ByteString_init(&context->localSymIv); - UA_ByteString_init(&context->remoteSymSigningKey); - UA_ByteString_init(&context->remoteSymEncryptingKey); - UA_ByteString_init(&context->remoteSymIv); - - UA_StatusCode retval = - UA_copyCertificate(&context->remoteCertificate, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(context); - return retval; - } - - /* decode to X509 */ - context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); - if (context->remoteCertificateX509 == NULL) { - UA_ByteString_clear (&context->remoteCertificate); - UA_free (context); - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - } - - context->policyContext = - (Policy_Context_Aes128Sha256RsaOaep *)(securityPolicy->policyContext); - - *channelContext = context; - - UA_LOG_INFO( - securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Aes128Sha256RsaOaep security policy channel with openssl is created."); - - return UA_STATUSCODE_GOOD; -} - -/* delete the channel context */ - -static void -UA_ChannelModule_Aes128Sha256RsaOaep_Delete_Context(void *channelContext) { - if(channelContext != NULL) { - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - X509_free(cc->remoteCertificateX509); - UA_ByteString_clear(&cc->remoteCertificate); - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - UA_LOG_INFO( - cc->policyContext->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Aes128Sha256RsaOaep security policy channel with openssl is deleted."); - UA_free(cc); - } -} - -/* Verifies the signature of the message using the provided keys in the context. - * AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 - */ - -static UA_StatusCode -UA_AsySig_Aes128Sha256RsaOaep_Verify(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify( - message, cc->remoteCertificateX509, signature); - - return retval; -} - -/* Compares the supplied certificate with the certificate - * in the endpoint context - */ - -static UA_StatusCode -UA_compareCertificateThumbprint_Aes128Sha256RsaOaep(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - Policy_Context_Aes128Sha256RsaOaep *pc = - (Policy_Context_Aes128Sha256RsaOaep *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - return UA_STATUSCODE_GOOD; -} - -/* Generates a thumbprint for the specified certificate */ - -static UA_StatusCode -UA_makeCertificateThumbprint_Aes128Sha256RsaOaep(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - return UA_Openssl_X509_GetCertificateThumbprint(certificate, thumbprint, false); -} - -static UA_StatusCode -UA_Asym_Aes128Sha256RsaOaep_Decrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Aes128Sha256RsaOaep *cc = (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_StatusCode ret = UA_Openssl_RSA_Oaep_Decrypt(data, cc->policyContext->localPrivateKey); - return ret; -} - -static size_t -UA_Asym_Aes128Sha256RsaOaep_getRemoteSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_AsySig_Aes128Sha256RsaOaep_getLocalSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - Policy_Context_Aes128Sha256RsaOaep *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_AsymEn_Aes128Sha256RsaOaep_getRemotePlainTextBlockSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = - (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen - UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN; -} - -static size_t -UA_AsymEn_Aes128Sha256RsaOaep_getRemoteBlockSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = - (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_AsymEn_Aes128Sha256RsaOaep_getRemoteKeyLength(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = - (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen * 8; -} - -static UA_StatusCode -UA_Sym_Aes128Sha256RsaOaep_generateNonce(void *policyContext, - UA_ByteString *out) { - UA_Int32 rc = RAND_bytes(out->data, (int)out->length); - if(rc != 1) { - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - return UA_STATUSCODE_GOOD; -} - -static size_t -UA_SymEn_Aes128Sha256RsaOaep_getLocalKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymSig_Aes128Sha256RsaOaep_getLocalKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH; -} - -static UA_StatusCode -UA_Sym_Aes128Sha256RsaOaep_generateKey(void *policyContext, - const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - return UA_Openssl_Random_Key_PSHA256_Derive(secret, seed, out); -} - -static UA_StatusCode -UA_ChannelModule_Aes128Sha256RsaOaep_setLocalSymSigningKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - -static UA_StatusCode -UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymEncryptingKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymIv(void *channelContext, - const UA_ByteString *iv) { - if(iv == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static size_t -UA_SymEn_Aes128Sha256RsaOaep_getRemoteKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymEn_Aes128Sha256RsaOaep_getBlockSize(const void *channelContext) { - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -UA_SymSig_Aes128Sha256RsaOaep_getRemoteKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES128SHA256RSAOAEP_SYM_SIGNING_KEY_LENGTH; -} - -static UA_StatusCode -UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymSigningKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymEncryptingKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymIv(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(key, &cc->remoteSymIv); -} - -static UA_StatusCode -UA_AsySig_Aes128Sha256RsaOaep_sign(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - Policy_Context_Aes128Sha256RsaOaep *pc = cc->policyContext; - return UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(message, pc->localPrivateKey, signature); -} - -static UA_StatusCode -UA_AsymEn_Aes128Sha256RsaOaep_encrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - return UA_Openssl_RSA_OAEP_Encrypt( - data, UA_SECURITYPOLICY_AES128SHA256RSAOAEP_RSAPADDING_LEN, - cc->remoteCertificateX509); -} - -static size_t -UA_SymSig_Aes128Sha256RsaOaep_getRemoteSignatureSize(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static UA_StatusCode -UA_SymSig_Aes128Sha256RsaOaep_verify(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - return UA_OpenSSL_HMAC_SHA256_Verify(message, &cc->remoteSymSigningKey, signature); -} - -static UA_StatusCode -UA_SymSig_Aes128Sha256RsaOaep_sign(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - return UA_OpenSSL_HMAC_SHA256_Sign(message, &cc->localSymSigningKey, signature); -} - -static size_t -UA_SymSig_Aes128Sha256RsaOaep_getLocalSignatureSize(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static UA_StatusCode -UA_SymEn_Aes128Sha256RsaOaep_decrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - return UA_OpenSSL_AES_128_CBC_Decrypt(&cc->remoteSymIv, &cc->remoteSymEncryptingKey, - data); -} - -static UA_StatusCode -UA_SymEn_Aes128Sha256RsaOaep_encrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Aes128Sha256RsaOaep *cc = - (Channel_Context_Aes128Sha256RsaOaep *)channelContext; - return UA_OpenSSL_AES_128_CBC_Encrypt(&cc->localSymIv, &cc->localSymEncryptingKey, - data); -} - -static UA_StatusCode -UA_ChannelM_Aes128Sha256RsaOaep_compareCertificate(const void *channelContext, - const UA_ByteString *certificate) { - if(channelContext == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - return UA_OpenSSL_X509_compare(certificate, cc->remoteCertificateX509); -} - -static size_t -UA_AsymEn_Aes128Sha256RsaOaep_getLocalKeyLength(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes128Sha256RsaOaep *cc = (const Channel_Context_Aes128Sha256RsaOaep *)channelContext; - Policy_Context_Aes128Sha256RsaOaep *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t)keyLen * 8; -} - -/* the main entry of Aes128Sha256RsaOaep */ - -UA_StatusCode -UA_SecurityPolicy_Aes128Sha256RsaOaep(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger) { - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - UA_StatusCode retval; - - UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Aes128Sha256RsaOaep security policy with openssl is added."); - - UA_Openssl_Init(); - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - policy->policyUri = - UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep\0"); - - /* set ChannelModule context */ - - channelModule->newContext = UA_ChannelModule_Aes128Sha256RsaOaep_New_Context; - channelModule->deleteContext = UA_ChannelModule_Aes128Sha256RsaOaep_Delete_Context; - channelModule->setLocalSymSigningKey = - UA_ChannelModule_Aes128Sha256RsaOaep_setLocalSymSigningKey; - channelModule->setLocalSymEncryptingKey = - UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymEncryptingKey; - channelModule->setLocalSymIv = UA_ChannelM_Aes128Sha256RsaOaep_setLocalSymIv; - channelModule->setRemoteSymSigningKey = - UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymSigningKey; - channelModule->setRemoteSymEncryptingKey = - UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymEncryptingKey; - channelModule->setRemoteSymIv = UA_ChannelM_Aes128Sha256RsaOaep_setRemoteSymIv; - channelModule->compareCertificate = - UA_ChannelM_Aes128Sha256RsaOaep_compareCertificate; - - /* Load and convert to DER if necessary */ - retval = - UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule - signature algorithm */ - - UA_SecurityPolicySignatureAlgorithm *asySigAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asySigAlgorithm->uri = - UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); - asySigAlgorithm->verify = UA_AsySig_Aes128Sha256RsaOaep_Verify; - asySigAlgorithm->getRemoteSignatureSize = - UA_Asym_Aes128Sha256RsaOaep_getRemoteSignatureSize; - asySigAlgorithm->getLocalSignatureSize = - UA_AsySig_Aes128Sha256RsaOaep_getLocalSignatureSize; - asySigAlgorithm->sign = UA_AsySig_Aes128Sha256RsaOaep_sign; - asySigAlgorithm->getLocalKeyLength = NULL; - asySigAlgorithm->getRemoteKeyLength = NULL; - - /* AsymmetricModule encryption algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm *asymEncryAlg = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asymEncryAlg->uri = UA_STRING("http://www.w3.org/2001/04/xmlenc#rsa-oaep\0"); - asymEncryAlg->decrypt = UA_Asym_Aes128Sha256RsaOaep_Decrypt; - asymEncryAlg->getRemotePlainTextBlockSize = - UA_AsymEn_Aes128Sha256RsaOaep_getRemotePlainTextBlockSize; - asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Aes128Sha256RsaOaep_getRemoteBlockSize; - asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Aes128Sha256RsaOaep_getRemoteKeyLength; - asymEncryAlg->encrypt = UA_AsymEn_Aes128Sha256RsaOaep_encrypt; - asymEncryAlg->getLocalKeyLength = UA_AsymEn_Aes128Sha256RsaOaep_getLocalKeyLength; - - /* asymmetricModule */ - - asymmetricModule->compareCertificateThumbprint = - UA_compareCertificateThumbprint_Aes128Sha256RsaOaep; - asymmetricModule->makeCertificateThumbprint = - UA_makeCertificateThumbprint_Aes128Sha256RsaOaep; - - /* SymmetricModule */ - - symmetricModule->secureChannelNonceLength = 32; - symmetricModule->generateNonce = UA_Sym_Aes128Sha256RsaOaep_generateNonce; - symmetricModule->generateKey = UA_Sym_Aes128Sha256RsaOaep_generateKey; - - /* Symmetric encryption Algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm *symEncryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - symEncryptionAlgorithm->uri = - UA_STRING("http://www.w3.org/2001/04/xmlenc#aes128-cbc\0"); - symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Aes128Sha256RsaOaep_getLocalKeyLength; - symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Aes128Sha256RsaOaep_getRemoteKeyLength; - symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Aes128Sha256RsaOaep_getBlockSize; - symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Aes128Sha256RsaOaep_getBlockSize; - symEncryptionAlgorithm->decrypt = UA_SymEn_Aes128Sha256RsaOaep_decrypt; - symEncryptionAlgorithm->encrypt = UA_SymEn_Aes128Sha256RsaOaep_encrypt; - - /* Symmetric signature Algorithm */ - - UA_SecurityPolicySignatureAlgorithm *symSignatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); - symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Aes128Sha256RsaOaep_getLocalKeyLength; - symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Aes128Sha256RsaOaep_getRemoteKeyLength; - symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Aes128Sha256RsaOaep_getRemoteSignatureSize; - symSignatureAlgorithm->verify = UA_SymSig_Aes128Sha256RsaOaep_verify; - symSignatureAlgorithm->sign = UA_SymSig_Aes128Sha256RsaOaep_sign; - symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Aes128Sha256RsaOaep_getLocalSignatureSize; - - retval = UA_Policy_Aes128Sha256RsaOaep_New_Context(policy, localPrivateKey, logger); - if(retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear(&policy->localCertificate); - return retval; - } - policy->updateCertificateAndPrivateKey = - updateCertificateAndPrivateKey_sp_aes128sha256rsaoaep; - policy->clear = UA_Policy_Aes128Sha256RsaOaep_Clear_Context; - - /* Use the same signature algorithm as the asymmetric component for - certificate signing (see standard) */ - - policy->certificateSigningAlgorithm = - policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - return UA_STATUSCODE_GOOD; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_aes256sha256rsapss.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2022 (c) Fraunhofer IOSB (Author: Noel Graf) - */ - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - - -#include -#include -#include -#include -#include -#include - -#define UA_SHA256_LENGTH 32 /* 256 bit */ -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN 66 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_KEY_LENGTH 32 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_PLAIN_TEXT_BLOCK_SIZE 16 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MINASYMKEYLENGTH 256 -#define UA_SECURITYPOLICY_AES256SHA256RSAPSS_MAXASYMKEYLENGTH 512 - -typedef struct { - EVP_PKEY *localPrivateKey; - UA_ByteString localCertThumbprint; - const UA_Logger *logger; -} Policy_Context_Aes256Sha256RsaPss; - -typedef struct { - UA_ByteString localSymSigningKey; - UA_ByteString localSymEncryptingKey; - UA_ByteString localSymIv; - UA_ByteString remoteSymSigningKey; - UA_ByteString remoteSymEncryptingKey; - UA_ByteString remoteSymIv; - - Policy_Context_Aes256Sha256RsaPss *policyContext; - UA_ByteString remoteCertificate; - X509 *remoteCertificateX509; /* X509 */ -} Channel_Context_Aes256Sha256RsaPss; - -/* create the policy context */ - -static UA_StatusCode -UA_Policy_Aes256Sha256RsaPss_New_Context(UA_SecurityPolicy *securityPolicy, - const UA_ByteString localPrivateKey, - const UA_Logger *logger) { - Policy_Context_Aes256Sha256RsaPss *context = - (Policy_Context_Aes256Sha256RsaPss *)UA_malloc( - sizeof(Policy_Context_Aes256Sha256RsaPss)); - if(context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - context->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&localPrivateKey); - if (!context->localPrivateKey) { - UA_free(context); - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - UA_StatusCode retval = UA_Openssl_X509_GetCertificateThumbprint( - &securityPolicy->localCertificate, &context->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - EVP_PKEY_free(context->localPrivateKey); - UA_free(context); - return retval; - } - - context->logger = logger; - securityPolicy->policyContext = context; - - return UA_STATUSCODE_GOOD; -} - -/* clear the policy context */ - -static void -UA_Policy_Aes256Sha256RsaPss_Clear_Context(UA_SecurityPolicy *policy) { - if(policy == NULL) - return; - - UA_ByteString_clear(&policy->localCertificate); - - /* delete all allocated members in the context */ - - Policy_Context_Aes256Sha256RsaPss *pc = - (Policy_Context_Aes256Sha256RsaPss *)policy->policyContext; - if (pc == NULL) { - return; - } - - EVP_PKEY_free(pc->localPrivateKey); - UA_ByteString_clear(&pc->localCertThumbprint); - UA_free(pc); - - return; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_sp_aes128sha256rsapss(UA_SecurityPolicy *securityPolicy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - if(securityPolicy == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(securityPolicy->policyContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Policy_Context_Aes256Sha256RsaPss *pc = - (Policy_Context_Aes256Sha256RsaPss *)securityPolicy->policyContext; - - UA_ByteString_clear(&securityPolicy->localCertificate); - - UA_StatusCode retval = UA_OpenSSL_LoadLocalCertificate( - &newCertificate, &securityPolicy->localCertificate); - - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* Set the new private key */ - EVP_PKEY_free(pc->localPrivateKey); - - pc->localPrivateKey = UA_OpenSSL_LoadPrivateKey(&newPrivateKey); - if(!pc->localPrivateKey) { - retval = UA_STATUSCODE_BADSECURITYCHECKSFAILED; - goto error; - } - - UA_ByteString_clear(&pc->localCertThumbprint); - - retval = UA_Openssl_X509_GetCertificateThumbprint(&securityPolicy->localCertificate, - &pc->localCertThumbprint, true); - if(retval != UA_STATUSCODE_GOOD) { - goto error; - } - - return retval; - -error: - UA_LOG_ERROR(securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "Could not update certificate and private key"); - if(securityPolicy->policyContext != NULL) - UA_Policy_Aes256Sha256RsaPss_Clear_Context(securityPolicy); - return retval; -} - -/* create the channel context */ - -static UA_StatusCode -UA_ChannelModule_Aes256Sha256RsaPss_New_Context(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **channelContext) { - if(securityPolicy == NULL || remoteCertificate == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - Channel_Context_Aes256Sha256RsaPss *context = - (Channel_Context_Aes256Sha256RsaPss *)UA_malloc( - sizeof(Channel_Context_Aes256Sha256RsaPss)); - if(context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - UA_ByteString_init(&context->localSymSigningKey); - UA_ByteString_init(&context->localSymEncryptingKey); - UA_ByteString_init(&context->localSymIv); - UA_ByteString_init(&context->remoteSymSigningKey); - UA_ByteString_init(&context->remoteSymEncryptingKey); - UA_ByteString_init(&context->remoteSymIv); - - UA_StatusCode retval = - UA_copyCertificate(&context->remoteCertificate, remoteCertificate); - if(retval != UA_STATUSCODE_GOOD) { - UA_free(context); - return retval; - } - - /* decode to X509 */ - context->remoteCertificateX509 = UA_OpenSSL_LoadCertificate(&context->remoteCertificate); - if (context->remoteCertificateX509 == NULL) { - UA_ByteString_clear (&context->remoteCertificate); - UA_free (context); - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - } - - context->policyContext = - (Policy_Context_Aes256Sha256RsaPss *)(securityPolicy->policyContext); - - *channelContext = context; - - UA_LOG_INFO( - securityPolicy->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Aes256Sha256RsaPss security policy channel with openssl is created."); - - return UA_STATUSCODE_GOOD; -} - -/* delete the channel context */ - -static void -UA_ChannelModule_Aes256Sha256RsaPss_Delete_Context(void *channelContext) { - if(channelContext != NULL) { - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - X509_free(cc->remoteCertificateX509); - UA_ByteString_clear(&cc->remoteCertificate); - UA_ByteString_clear(&cc->localSymSigningKey); - UA_ByteString_clear(&cc->localSymEncryptingKey); - UA_ByteString_clear(&cc->localSymIv); - UA_ByteString_clear(&cc->remoteSymSigningKey); - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - UA_ByteString_clear(&cc->remoteSymIv); - - UA_LOG_INFO( - cc->policyContext->logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Aes256Sha256RsaPss security policy channel with openssl is deleted."); - UA_free(cc); - } -} - -/* Verifies the signature of the message using the provided keys in the context. - * AsymmetricSignatureAlgorithm_RSA-PKCS15-SHA2-256 - */ - -static UA_StatusCode -UA_AsySig_Aes256Sha256RsaPss_Verify(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_StatusCode retval = UA_OpenSSL_RSA_PSS_SHA256_Verify( - message, cc->remoteCertificateX509, signature); - - return retval; -} - -/* Compares the supplied certificate with the certificate - * in the endpoint context - */ - -static UA_StatusCode -UA_compareCertificateThumbprint_Aes256Sha256RsaPss(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - if(securityPolicy == NULL || certificateThumbprint == NULL) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - Policy_Context_Aes256Sha256RsaPss *pc = - (Policy_Context_Aes256Sha256RsaPss *)securityPolicy->policyContext; - if(!UA_ByteString_equal(certificateThumbprint, &pc->localCertThumbprint)) - return UA_STATUSCODE_BADCERTIFICATEINVALID; - return UA_STATUSCODE_GOOD; -} - -/* Generates a thumbprint for the specified certificate */ - -static UA_StatusCode -UA_makeCertificateThumbprint_Aes256Sha256RsaPss(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - return UA_Openssl_X509_GetCertificateThumbprint(certificate, thumbprint, false); -} - -static UA_StatusCode -UA_Asym_Aes256Sha256RsaPss_Decrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - Channel_Context_Aes256Sha256RsaPss *cc = (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_StatusCode ret = UA_Openssl_RSA_Oaep_Sha2_Decrypt(data, cc->policyContext->localPrivateKey); - return ret; -} - -static size_t -UA_Asym_Aes256Sha256RsaPss_getRemoteSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_AsySig_Aes256Sha256RsaPss_getLocalSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_AsymEn_Aes256Sha256RsaPss_getRemotePlainTextBlockSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = - (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen - UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN; -} - -static size_t -UA_AsymEn_Aes256Sha256RsaPss_getRemoteBlockSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = - (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_AsymEn_Aes256Sha256RsaPss_getRemoteKeyLength(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = - (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen * 8; -} - -static UA_StatusCode -UA_Sym_Aes256Sha256RsaPss_generateNonce(void *policyContext, - UA_ByteString *out) { - UA_Int32 rc = RAND_bytes(out->data, (int)out->length); - if(rc != 1) { - return UA_STATUSCODE_BADUNEXPECTEDERROR; - } - return UA_STATUSCODE_GOOD; -} - -static size_t -UA_SymEn_Aes256Sha256RsaPss_getLocalKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymSig_Aes256Sha256RsaPss_getLocalKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH; -} - -static UA_StatusCode -UA_Sym_Aes256Sha256RsaPss_generateKey(void *policyContext, - const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - return UA_Openssl_Random_Key_PSHA256_Derive(secret, seed, out); -} - -static UA_StatusCode -UA_CertSig_Aes256Sha256RsaPss_Verify(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) { - if(message == NULL || signature == NULL || channelContext == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_StatusCode retval = UA_OpenSSL_RSA_PKCS1_V15_SHA256_Verify( - message, cc->remoteCertificateX509, signature); - - return retval; -} - -static UA_StatusCode -UA_CertSig_Aes256Sha256RsaPss_sign(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = (Channel_Context_Aes256Sha256RsaPss *)channelContext; - Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; - return UA_Openssl_RSA_PKCS1_V15_SHA256_Sign(message, pc->localPrivateKey, signature); -} - -static size_t -UA_CertSig_Aes256Sha256RsaPss_getRemoteSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Public_GetKeyLength(cc->remoteCertificateX509, &keyLen); - return (size_t)keyLen; -} - -static size_t -UA_CertSig_Aes256Sha256RsaPss_getLocalSignatureSize(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t)keyLen; -} - -static UA_StatusCode -UA_ChannelModule_Aes256Sha256RsaPss_setLocalSymSigningKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_ByteString_clear(&cc->localSymSigningKey); - return UA_ByteString_copy(key, &cc->localSymSigningKey); -} - -static UA_StatusCode -UA_ChannelM_Aes256Sha256RsaPss_setLocalSymEncryptingKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_ByteString_clear(&cc->localSymEncryptingKey); - return UA_ByteString_copy(key, &cc->localSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelM_Aes256Sha256RsaPss_setLocalSymIv(void *channelContext, - const UA_ByteString *iv) { - if(iv == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_ByteString_clear(&cc->localSymIv); - return UA_ByteString_copy(iv, &cc->localSymIv); -} - -static size_t -UA_SymEn_Aes256Sha256RsaPss_getRemoteKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_KEY_LENGTH; -} - -static size_t -UA_SymEn_Aes256Sha256RsaPss_getBlockSize(const void *channelContext) { - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_ENCRYPTION_BLOCK_SIZE; -} - -static size_t -UA_SymSig_Aes256Sha256RsaPss_getRemoteKeyLength(const void *channelContext) { - /* 32 bytes 256 bits */ - return UA_SECURITYPOLICY_AES256SHA256RSAPSS_SYM_SIGNING_KEY_LENGTH; -} - -static UA_StatusCode -UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymSigningKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_ByteString_clear(&cc->remoteSymSigningKey); - return UA_ByteString_copy(key, &cc->remoteSymSigningKey); -} - -static UA_StatusCode -UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymEncryptingKey(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_ByteString_clear(&cc->remoteSymEncryptingKey); - return UA_ByteString_copy(key, &cc->remoteSymEncryptingKey); -} - -static UA_StatusCode -UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymIv(void *channelContext, - const UA_ByteString *key) { - if(key == NULL || channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - UA_ByteString_clear(&cc->remoteSymIv); - return UA_ByteString_copy(key, &cc->remoteSymIv); -} - -static UA_StatusCode -UA_AsySig_Aes256Sha256RsaPss_sign(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; - return UA_Openssl_RSA_PSS_SHA256_Sign(message, pc->localPrivateKey, signature); -} - -static UA_StatusCode -UA_AsymEn_Aes256Sha256RsaPss_encrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - return UA_Openssl_RSA_OAEP_SHA2_Encrypt( - data, UA_SECURITYPOLICY_AES256SHA256RSAPSS_RSAPADDING_LEN, - cc->remoteCertificateX509); -} - -static size_t -UA_SymSig_Aes256Sha256RsaPss_getRemoteSignatureSize(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static UA_StatusCode -UA_SymSig_Aes256Sha256RsaPss_verify(void *channelContext, const UA_ByteString *message, - const UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - return UA_OpenSSL_HMAC_SHA256_Verify(message, &cc->remoteSymSigningKey, signature); -} - -static UA_StatusCode -UA_SymSig_Aes256Sha256RsaPss_sign(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - if(channelContext == NULL || message == NULL || - signature == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - return UA_OpenSSL_HMAC_SHA256_Sign(message, &cc->localSymSigningKey, signature); -} - -static size_t -UA_SymSig_Aes256Sha256RsaPss_getLocalSignatureSize(const void *channelContext) { - return UA_SHA256_LENGTH; -} - -static UA_StatusCode -UA_SymEn_Aes256Sha256RsaPss_decrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - return UA_OpenSSL_AES_256_CBC_Decrypt(&cc->remoteSymIv, &cc->remoteSymEncryptingKey, - data); -} - -static UA_StatusCode -UA_SymEn_Aes256Sha256RsaPss_encrypt(void *channelContext, UA_ByteString *data) { - if(channelContext == NULL || data == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - Channel_Context_Aes256Sha256RsaPss *cc = - (Channel_Context_Aes256Sha256RsaPss *)channelContext; - return UA_OpenSSL_AES_256_CBC_Encrypt(&cc->localSymIv, &cc->localSymEncryptingKey, - data); -} - -static UA_StatusCode -UA_ChannelM_Aes256Sha256RsaPss_compareCertificate(const void *channelContext, - const UA_ByteString *certificate) { - if(channelContext == NULL || certificate == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = - (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - return UA_OpenSSL_X509_compare(certificate, cc->remoteCertificateX509); -} - -static size_t -UA_AsymEn_Aes256Sha256RsaPss_getLocalKeyLength(const void *channelContext) { - if(channelContext == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - const Channel_Context_Aes256Sha256RsaPss *cc = - (const Channel_Context_Aes256Sha256RsaPss *)channelContext; - Policy_Context_Aes256Sha256RsaPss *pc = cc->policyContext; - UA_Int32 keyLen = 0; - UA_Openssl_RSA_Private_GetKeyLength(pc->localPrivateKey, &keyLen); - return (size_t)keyLen * 8; -} - -/* the main entry of Aes256Sha256RsaPss */ - -UA_StatusCode -UA_SecurityPolicy_Aes256Sha256RsaPss(UA_SecurityPolicy *policy, - const UA_ByteString localCertificate, - const UA_ByteString localPrivateKey, - const UA_Logger *logger) { - - UA_SecurityPolicyAsymmetricModule *const asymmetricModule = &policy->asymmetricModule; - UA_SecurityPolicySymmetricModule *const symmetricModule = &policy->symmetricModule; - UA_SecurityPolicyChannelModule *const channelModule = &policy->channelModule; - UA_StatusCode retval; - - UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURITYPOLICY, - "The Aes256Sha256RsaPss security policy with openssl is added."); - - UA_Openssl_Init(); - memset(policy, 0, sizeof(UA_SecurityPolicy)); - policy->logger = logger; - policy->policyUri = - UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss\0"); - - /* set ChannelModule context */ - - channelModule->newContext = UA_ChannelModule_Aes256Sha256RsaPss_New_Context; - channelModule->deleteContext = UA_ChannelModule_Aes256Sha256RsaPss_Delete_Context; - channelModule->setLocalSymSigningKey = - UA_ChannelModule_Aes256Sha256RsaPss_setLocalSymSigningKey; - channelModule->setLocalSymEncryptingKey = - UA_ChannelM_Aes256Sha256RsaPss_setLocalSymEncryptingKey; - channelModule->setLocalSymIv = UA_ChannelM_Aes256Sha256RsaPss_setLocalSymIv; - channelModule->setRemoteSymSigningKey = - UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymSigningKey; - channelModule->setRemoteSymEncryptingKey = - UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymEncryptingKey; - channelModule->setRemoteSymIv = UA_ChannelM_Aes256Sha256RsaPss_setRemoteSymIv; - channelModule->compareCertificate = - UA_ChannelM_Aes256Sha256RsaPss_compareCertificate; - - /* Load and convert to DER if necessary */ - retval = - UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); - if(retval != UA_STATUSCODE_GOOD) - return retval; - - /* AsymmetricModule - signature algorithm */ - - UA_SecurityPolicySignatureAlgorithm *asySigAlgorithm = - &asymmetricModule->cryptoModule.signatureAlgorithm; - asySigAlgorithm->uri = - UA_STRING("http://opcfoundation.org/UA/security/rsa-pss-sha2-256\0"); - asySigAlgorithm->verify = UA_AsySig_Aes256Sha256RsaPss_Verify; - asySigAlgorithm->getRemoteSignatureSize = - UA_Asym_Aes256Sha256RsaPss_getRemoteSignatureSize; - asySigAlgorithm->getLocalSignatureSize = - UA_AsySig_Aes256Sha256RsaPss_getLocalSignatureSize; - asySigAlgorithm->sign = UA_AsySig_Aes256Sha256RsaPss_sign; - asySigAlgorithm->getLocalKeyLength = NULL; - asySigAlgorithm->getRemoteKeyLength = NULL; - - /* AsymmetricModule encryption algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm *asymEncryAlg = - &asymmetricModule->cryptoModule.encryptionAlgorithm; - asymEncryAlg->uri = UA_STRING("http://opcfoundation.org/UA/security/rsa-oaep-sha2-256\0"); - asymEncryAlg->decrypt = UA_Asym_Aes256Sha256RsaPss_Decrypt; - asymEncryAlg->getRemotePlainTextBlockSize = - UA_AsymEn_Aes256Sha256RsaPss_getRemotePlainTextBlockSize; - asymEncryAlg->getRemoteBlockSize = UA_AsymEn_Aes256Sha256RsaPss_getRemoteBlockSize; - asymEncryAlg->getRemoteKeyLength = UA_AsymEn_Aes256Sha256RsaPss_getRemoteKeyLength; - asymEncryAlg->encrypt = UA_AsymEn_Aes256Sha256RsaPss_encrypt; - asymEncryAlg->getLocalKeyLength = UA_AsymEn_Aes256Sha256RsaPss_getLocalKeyLength; - - /* asymmetricModule */ - - asymmetricModule->compareCertificateThumbprint = - UA_compareCertificateThumbprint_Aes256Sha256RsaPss; - asymmetricModule->makeCertificateThumbprint = - UA_makeCertificateThumbprint_Aes256Sha256RsaPss; - - /* SymmetricModule */ - - symmetricModule->secureChannelNonceLength = 32; - symmetricModule->generateNonce = UA_Sym_Aes256Sha256RsaPss_generateNonce; - symmetricModule->generateKey = UA_Sym_Aes256Sha256RsaPss_generateKey; - - /* Symmetric encryption Algorithm */ - - UA_SecurityPolicyEncryptionAlgorithm *symEncryptionAlgorithm = - &symmetricModule->cryptoModule.encryptionAlgorithm; - symEncryptionAlgorithm->uri = - UA_STRING("http://www.w3.org/2001/04/xmlenc#aes256-cbc\0"); - symEncryptionAlgorithm->getLocalKeyLength = UA_SymEn_Aes256Sha256RsaPss_getLocalKeyLength; - symEncryptionAlgorithm->getRemoteKeyLength = UA_SymEn_Aes256Sha256RsaPss_getRemoteKeyLength; - symEncryptionAlgorithm->getRemoteBlockSize = UA_SymEn_Aes256Sha256RsaPss_getBlockSize; - symEncryptionAlgorithm->getRemotePlainTextBlockSize = UA_SymEn_Aes256Sha256RsaPss_getBlockSize; - symEncryptionAlgorithm->decrypt = UA_SymEn_Aes256Sha256RsaPss_decrypt; - symEncryptionAlgorithm->encrypt = UA_SymEn_Aes256Sha256RsaPss_encrypt; - - /* Symmetric signature Algorithm */ - - UA_SecurityPolicySignatureAlgorithm *symSignatureAlgorithm = - &symmetricModule->cryptoModule.signatureAlgorithm; - symSignatureAlgorithm->uri = UA_STRING("http://www.w3.org/2000/09/xmldsig#hmac-sha2-256\0"); - symSignatureAlgorithm->getLocalKeyLength = UA_SymSig_Aes256Sha256RsaPss_getLocalKeyLength; - symSignatureAlgorithm->getRemoteKeyLength = UA_SymSig_Aes256Sha256RsaPss_getRemoteKeyLength; - symSignatureAlgorithm->getRemoteSignatureSize = UA_SymSig_Aes256Sha256RsaPss_getRemoteSignatureSize; - symSignatureAlgorithm->verify = UA_SymSig_Aes256Sha256RsaPss_verify; - symSignatureAlgorithm->sign = UA_SymSig_Aes256Sha256RsaPss_sign; - symSignatureAlgorithm->getLocalSignatureSize = UA_SymSig_Aes256Sha256RsaPss_getLocalSignatureSize; - - retval = UA_Policy_Aes256Sha256RsaPss_New_Context(policy, localPrivateKey, logger); - if(retval != UA_STATUSCODE_GOOD) { - UA_ByteString_clear(&policy->localCertificate); - return retval; - } - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_sp_aes128sha256rsapss; - policy->clear = UA_Policy_Aes256Sha256RsaPss_Clear_Context; - - /* Certificate Signing Algorithm */ - policy->certificateSigningAlgorithm.uri = - UA_STRING("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\0"); - policy->certificateSigningAlgorithm.verify = - (UA_StatusCode (*)(void *, const UA_ByteString *, const UA_ByteString *))UA_CertSig_Aes256Sha256RsaPss_Verify; - policy->certificateSigningAlgorithm.sign = - (UA_StatusCode (*)(void *, const UA_ByteString *, UA_ByteString *))UA_CertSig_Aes256Sha256RsaPss_sign; - policy->certificateSigningAlgorithm.getLocalSignatureSize = - (size_t (*)(const void *))UA_CertSig_Aes256Sha256RsaPss_getLocalSignatureSize; - policy->certificateSigningAlgorithm.getRemoteSignatureSize = - (size_t (*)(const void *))UA_CertSig_Aes256Sha256RsaPss_getRemoteSignatureSize; - policy->certificateSigningAlgorithm.getLocalKeyLength = NULL; // TODO: Write function - policy->certificateSigningAlgorithm.getRemoteKeyLength = NULL; // TODO: Write function - - return UA_STATUSCODE_GOOD; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_openssl_create_certificate.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Christian von Arnim, ISW University of Stuttgart (for VDW and umati) - * Copyright 2022 (c) Wind River Systems, Inc. - * - */ - - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - - -#include -#include -#include - -/** - * Join an array of UA_String to a single NULL-Terminated UA_String - * separated by character sep - */ -static UA_StatusCode -join_string_with_sep(const UA_String *strings, size_t stringsSize, - char sep, UA_String *out) { - if(!out) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - UA_String_clear(out); - size_t totalSize = stringsSize; - for(size_t iStr = 0; iStr < stringsSize; ++iStr) { - totalSize += strings[iStr].length; - } - - UA_ByteString_allocBuffer(out, totalSize); - if(!out->data) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - size_t pos = 0; - for(size_t iStr = 0; iStr < stringsSize; ++iStr) { - memcpy(&out->data[pos], strings[iStr].data, strings[iStr].length); - pos += strings[iStr].length; - out->data[pos] = (UA_Byte) sep; - ++pos; - } - out->data[out->length-1] = 0; - - return UA_STATUSCODE_GOOD; -} - -/** - * Search for a character in a string (like strchr). - * \todo Handle UTF-8 - * - * \return index of the character or -1 on case of an error. - */ - -static UA_Int32 -UA_String_chr(const UA_String *pUaStr, char needl) { - UA_Byte byteNeedl = (UA_Byte)needl; - for(size_t i = 0; (size_t)i < pUaStr->length; ++i) { - if(pUaStr->data[i] == byteNeedl) { - return (UA_Int32) i; - } - } - return -1; -} - -/* char *value cannot be const due to openssl 1.0 compatibility */ -static UA_StatusCode -add_x509V3ext(const UA_Logger *logger, X509 *x509, int nid, char *value) { - X509_EXTENSION *ex; - X509V3_CTX ctx; - X509V3_set_ctx_nodb(&ctx); - X509V3_set_ctx(&ctx, x509, x509, NULL, NULL, 0); - ex = X509V3_EXT_conf_nid(NULL, &ctx, nid, value); - if(!ex) - { -#if UA_LOGLEVEL <= 300 - const char * file = NULL; - int line = 0; - const char * data = NULL; - int flags = 0; - get_error_line_data(&file, &line, &data, &flags); - UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Internal SSL error file: %s:%d data: %s", file, line, data); -#endif - return UA_STATUSCODE_BADINTERNALERROR; - } - X509_add_ext(x509, ex, -1); - X509_EXTENSION_free(ex); - return UA_STATUSCODE_GOOD; -} - -#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) - -/* generate the RSA key */ - -static EVP_PKEY * UA_RSA_Generate_Key (size_t keySizeBits){ - return EVP_RSA_gen(keySizeBits); -} - -#endif - -UA_StatusCode -UA_CreateCertificate(const UA_Logger *logger, const UA_String *subject, - size_t subjectSize, const UA_String *subjectAltName, - size_t subjectAltNameSize, UA_CertificateFormat certFormat, - UA_KeyValueMap *params, UA_ByteString *outPrivateKey, - UA_ByteString *outCertificate) { - if(!outPrivateKey || !outCertificate || !logger || !subjectAltName || !subject || - subjectAltNameSize == 0 || subjectSize == 0 || - (certFormat != UA_CERTIFICATEFORMAT_DER && certFormat != UA_CERTIFICATEFORMAT_PEM)) - return UA_STATUSCODE_BADINVALIDARGUMENT; - - /* Use the maximum size */ - UA_UInt16 keySizeBits = 4096; - /* Default to 1 year */ - UA_UInt16 expiresInDays = 365; - - if(params) { - const UA_UInt16 *keySizeBitsValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( - params, UA_QUALIFIEDNAME(0, "key-size-bits"), &UA_TYPES[UA_TYPES_UINT16]); - if(keySizeBitsValue) - keySizeBits = *keySizeBitsValue; - - const UA_UInt16 *expiresInDaysValue = (const UA_UInt16 *)UA_KeyValueMap_getScalar( - params, UA_QUALIFIEDNAME(0, "expires-in-days"), &UA_TYPES[UA_TYPES_UINT16]); - if(expiresInDaysValue) - expiresInDays = *expiresInDaysValue; - } - - UA_ByteString_init(outPrivateKey); - UA_ByteString_init(outCertificate); - - UA_String fullAltSubj = UA_STRING_NULL; - UA_Int32 serial = 1; - - /** \TODO: Seed Random generator - * See: (https://www.openssl.org/docs/man1.1.0/man3/RAND_add.html) */ - BIO *memCert = NULL; - BIO *memPKey = NULL; - - UA_StatusCode errRet = UA_STATUSCODE_GOOD; - - X509 *x509 = X509_new(); - -#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) - EVP_PKEY *pkey = UA_RSA_Generate_Key(keySizeBits); - if((pkey == NULL) || (x509 == NULL)) { - errRet = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } -#else - BIGNUM *exponent = BN_new(); - EVP_PKEY *pkey = EVP_PKEY_new(); - RSA *rsa = RSA_new(); - if(!pkey || !x509 || !exponent || !rsa) { - errRet = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - UA_LOG_INFO(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Generating RSA key. This may take a while."); - - if(BN_set_word(exponent, RSA_F4) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting RSA exponent failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(RSA_generate_key_ex(rsa, (int) keySizeBits, exponent, NULL) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Generating RSA key failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(EVP_PKEY_assign_RSA(pkey, rsa) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Assign RSA key failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - /* rsa will be freed by pkey */ - rsa = NULL; - -#endif /* end of OPENSSL_VERSION_NUMBER >= 0x30000000L */ - - /* x509v3 has version 2 - * (https://www.openssl.org/docs/man1.1.0/man3/X509_set_version.html) */ - if(X509_set_version(x509, 2) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting version failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(ASN1_INTEGER_set(X509_get_serialNumber(x509), serial) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting serial number failed."); - /* Only memory errors are possible */ - errRet = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - if(X509_gmtime_adj(X509_get_notBefore(x509), 0) == NULL) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'not before' failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(X509_gmtime_adj(X509_get_notAfter(x509), (UA_Int64)60 * 60 * 24 * expiresInDays) == - NULL) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'not before' failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - if(X509_set_pubkey(x509, pkey) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting publik key failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - X509_NAME *name = X509_get_subject_name(x509); - if(name == NULL) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Getting name failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - for(UA_UInt32 iSubject = 0; iSubject < subjectSize; ++iSubject) { - UA_Int32 sep = UA_String_chr(&subject[iSubject], '='); - char field[16]; - if(sep == -1 || sep == 0 || - ((size_t) sep == (subject[iSubject].length - 1)) || sep >= 15) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Subject must contain one '=' with " - "content before and after."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - memcpy(field, subject[iSubject].data, (size_t) sep); - field[sep] = 0; - UA_Byte* pData = &subject[iSubject].data[sep + 1]; - if(X509_NAME_add_entry_by_txt( - name, field, MBSTRING_ASC, - (const unsigned char *)pData, - (int) subject[iSubject].length - (int) sep - 1, -1, 0) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting subject failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - } - /* Self signed, so issuer == subject */ - if(X509_set_issuer_name(x509, name) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting name failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - errRet = add_x509V3ext(logger, x509, NID_basic_constraints, "CA:FALSE"); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'Basic Constraints' failed."); - goto cleanup; - } - - /* See https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3 for - * possible values */ - errRet = add_x509V3ext(logger, x509, NID_key_usage, - "digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment,keyCertSign"); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'Key Usage' failed."); - goto cleanup; - } - - errRet = add_x509V3ext(logger, x509, NID_ext_key_usage, "serverAuth,clientAuth"); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'Extended Key Usage' failed."); - goto cleanup; - } - - errRet = add_x509V3ext(logger, x509, NID_subject_key_identifier, "hash"); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'Subject Key Identifier' failed."); - goto cleanup; - } - - errRet = join_string_with_sep(subjectAltName, subjectAltNameSize, ',', &fullAltSubj); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Joining altSubject failed."); - goto cleanup; - } - - errRet = add_x509V3ext(logger, x509, NID_subject_alt_name, (char*) fullAltSubj.data); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Setting 'Subject Alternative Name' failed."); - goto cleanup; - } - - if(X509_sign(x509, pkey, EVP_sha256()) == 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Signing failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - switch(certFormat) { - case UA_CERTIFICATEFORMAT_DER: { - unsigned char *p; - /* Private Key */ - /* get length */ - outPrivateKey->length = (size_t)i2d_PrivateKey(pkey, NULL); - if((int)outPrivateKey->length <= 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Create private DER key failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - /* allocate buffer */ - UA_ByteString_allocBuffer(outPrivateKey, outPrivateKey->length); - memset(outPrivateKey->data, 0, outPrivateKey->length); - p = outPrivateKey->data; - i2d_PrivateKey(pkey, &p); - - /* Certificate */ - /* get length */ - outCertificate->length = (size_t)i2d_X509(x509, NULL); - if((int)outCertificate->length <= 0) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Create DER-certificate failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - /* allocate buffer */ - UA_ByteString_allocBuffer(outCertificate, outCertificate->length); - memset(outCertificate->data, 0, outCertificate->length); - p = outCertificate->data; - i2d_X509(x509, &p); - break; - } - case UA_CERTIFICATEFORMAT_PEM: { - /* Private Key */ - memPKey = BIO_new(BIO_s_mem()); - if(!memPKey) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Allocate Membuffer for PKey failed."); - errRet = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - if(PEM_write_bio_PrivateKey(memPKey, pkey, NULL, NULL, 0, 0, NULL) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Generate PEM-PrivateKey failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - UA_ByteString tmpPem = UA_BYTESTRING_NULL; - tmpPem.length = (size_t) BIO_get_mem_data(memPKey, &tmpPem.data); - errRet = UA_ByteString_copy(&tmpPem, outPrivateKey); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Copy PEM PKey failed."); - goto cleanup; - } - - /* Certificate */ - memCert = BIO_new(BIO_s_mem()); - if(!memCert) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Allocate Membuffer for Cert failed."); - errRet = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - if(PEM_write_bio_X509(memCert, x509) != 1) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Generate PEM-Certifcate failed."); - errRet = UA_STATUSCODE_BADINTERNALERROR; - goto cleanup; - } - - tmpPem.length = (size_t) BIO_get_mem_data(memCert, &tmpPem.data); - errRet = UA_ByteString_copy(&tmpPem, outCertificate); - if(errRet != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SECURECHANNEL, - "Create Certificate: Copy PEM Certificate failed."); - goto cleanup; - } - break; - } - } - -cleanup: - UA_String_clear(&fullAltSubj); -#if (OPENSSL_VERSION_NUMBER < 0x30000000L) - RSA_free(rsa); - BN_free(exponent); -#endif - X509_free(x509); - EVP_PKEY_free(pkey); - BIO_free(memCert); - BIO_free(memPKey); - return errRet; -} - -#endif - -/**** amalgamated original file "/plugins/crypto/openssl/ua_pki_openssl.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2020 (c) Wind River Systems, Inc. - * Copyright 2020 (c) basysKom GmbH - - */ - - - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) -#include -#include -#include -#include - - -#include - -/* Find binary substring. Taken and adjusted from - * http://tungchingkai.blogspot.com/2011/07/binary-strstr.html */ - -static const unsigned char * -bstrchr(const unsigned char *s, const unsigned char ch, size_t l) { - /* find first occurrence of c in char s[] for length l*/ - for(; l > 0; ++s, --l) { - if(*s == ch) - return s; - } - return NULL; -} - -static const unsigned char * -UA_Bstrstr(const unsigned char *s1, size_t l1, const unsigned char *s2, size_t l2) { - /* find first occurrence of s2[] in s1[] for length l1*/ - const unsigned char *ss1 = s1; - const unsigned char *ss2 = s2; - /* handle special case */ - if(l1 == 0) - return (NULL); - if(l2 == 0) - return s1; - - /* match prefix */ - for (; (s1 = bstrchr(s1, *s2, (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1)) != NULL && - (uintptr_t)ss1-(uintptr_t)s1+(uintptr_t)l1 != 0; ++s1) { - - /* match rest of prefix */ - const unsigned char *sc1, *sc2; - for (sc1 = s1, sc2 = s2; ;) - if (++sc2 >= ss2+l2) - return s1; - else if (*++sc1 != *sc2) - break; - } - return NULL; -} - -typedef struct { - /* - * If the folders are defined, we use them to reload the certificates during - * runtime - */ - - UA_String trustListFolder; - UA_String issuerListFolder; - UA_String revocationListFolder; - /* Used with mbedTLS and UA_ENABLE_CERT_REJECTED_DIR option */ - UA_String rejectedListFolder; - - STACK_OF(X509) * skIssue; - STACK_OF(X509) * skTrusted; - STACK_OF(X509_CRL) * skCrls; /* Revocation list*/ - - UA_CertificateVerification *cv; -} CertContext; - -static UA_StatusCode -UA_CertContext_sk_Init (CertContext * context) { - context->skTrusted = sk_X509_new_null(); - context->skIssue = sk_X509_new_null(); - context->skCrls = sk_X509_CRL_new_null(); - if (context->skTrusted == NULL || context->skIssue == NULL || - context->skCrls == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - return UA_STATUSCODE_GOOD; -} - -static void -UA_CertContext_sk_free (CertContext * context) { - sk_X509_pop_free (context->skTrusted, X509_free); - sk_X509_pop_free (context->skIssue, X509_free); - sk_X509_CRL_pop_free (context->skCrls, X509_CRL_free); -} - -static UA_StatusCode -UA_CertContext_Init (CertContext * context, UA_CertificateVerification *cv) { - (void) memset (context, 0, sizeof (CertContext)); - UA_ByteString_init (&context->trustListFolder); - UA_ByteString_init (&context->issuerListFolder); - UA_ByteString_init (&context->revocationListFolder); - UA_ByteString_init (&context->rejectedListFolder); - - context->cv = cv; - - return UA_CertContext_sk_Init (context); -} - -static void -UA_CertificateVerification_clear (UA_CertificateVerification * cv) { - if (cv == NULL) { - return; - } - CertContext * context = (CertContext *) cv->context; - if (context == NULL) { - return; - } - UA_ByteString_clear (&context->trustListFolder); - UA_ByteString_clear (&context->issuerListFolder); - UA_ByteString_clear (&context->revocationListFolder); - UA_ByteString_clear (&context->rejectedListFolder); - - UA_CertContext_sk_free (context); - context->cv = NULL; - UA_free (context); - - memset(cv, 0, sizeof(UA_CertificateVerification)); -} - -static UA_StatusCode -UA_skTrusted_Cert2X509 (const UA_ByteString * certificateTrustList, - size_t certificateTrustListSize, - CertContext * ctx) { - size_t i; - - for (i = 0; i < certificateTrustListSize; i++) { - X509 * x509 = UA_OpenSSL_LoadCertificate(&certificateTrustList[i]); - - if (x509 == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - sk_X509_push (ctx->skTrusted, x509); - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_skIssuer_Cert2X509 (const UA_ByteString * certificateIssuerList, - size_t certificateIssuerListSize, - CertContext * ctx) { - size_t i; - - for (i = 0; i < certificateIssuerListSize; i++) { - X509 * x509 = UA_OpenSSL_LoadCertificate(&certificateIssuerList[i]); - - if (x509 == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - sk_X509_push (ctx->skIssue, x509); - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_skCrls_Cert2X509 (const UA_ByteString * certificateRevocationList, - size_t certificateRevocationListSize, - CertContext * ctx) { - size_t i; - const unsigned char * pData; - - for (i = 0; i < certificateRevocationListSize; i++) { - pData = certificateRevocationList[i].data; - X509_CRL * crl = NULL; - - if (certificateRevocationList[i].length > 1 && pData[0] == 0x30 && pData[1] == 0x82) { // Magic number for DER encoded files - crl = d2i_X509_CRL (NULL, &pData, (long) certificateRevocationList[i].length); - } else { - BIO* bio = NULL; - bio = BIO_new_mem_buf((void *) certificateRevocationList[i].data, - (int) certificateRevocationList[i].length); - crl = PEM_read_bio_X509_CRL(bio, NULL, NULL, NULL); - BIO_free(bio); - } - - if (crl == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - sk_X509_CRL_push (ctx->skCrls, crl); - } - - return UA_STATUSCODE_GOOD; -} - -#ifdef __linux__ -#include - -static int UA_Certificate_Filter_der_pem (const struct dirent * entry) { - /* ignore hidden files */ - if (entry->d_name[0] == '.') return 0; - - /* check file extension */ - const char *pszFind = strrchr(entry->d_name, '.'); - if (pszFind == 0) - return 0; - pszFind++; - if (strcmp (pszFind, "der") == 0 || strcmp (pszFind, "pem") == 0) - return 1; - - return 0; -} - -static int UA_Certificate_Filter_crl (const struct dirent * entry) { - - /* ignore hidden files */ - if (entry->d_name[0] == '.') return 0; - - /* check file extension */ - const char *pszFind = strrchr(entry->d_name, '.'); - if (pszFind == 0) - return 0; - pszFind++; - if (strcmp (pszFind, "crl") == 0) - return 1; - - return 0; -} - -static UA_StatusCode -UA_BuildFullPath (const char * path, - const char * fileName, - size_t fullPathBufferLength, - char * fullPath) { - size_t pathLen = strlen (path); - size_t fileNameLen = strlen (fileName); - if ((pathLen + fileNameLen + 2) > fullPathBufferLength) { - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - strcpy (fullPath, path); - strcat (fullPath, "/"); - strcat (fullPath, fileName); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_loadCertFromFile (const char * fileName, - UA_ByteString * cert) { - - FILE * fp = fopen(fileName, "rb"); - - if (fp == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - fseek(fp, 0, SEEK_END); - cert->length = (size_t) ftell(fp); - if (UA_ByteString_allocBuffer (cert, cert->length) != UA_STATUSCODE_GOOD) { - fclose (fp); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - fseek(fp, 0, SEEK_SET); - size_t readLen = fread (cert->data, 1, cert->length, fp); - if (readLen != cert->length) { - UA_ByteString_clear (cert); - cert->length = 0; - fclose (fp); - return UA_STATUSCODE_BADINTERNALERROR; - } - fclose (fp); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UA_ReloadCertFromFolder (CertContext * ctx) { - UA_StatusCode ret; - struct dirent ** dirlist = NULL; - int i; - int numCertificates; - char certFile[PATH_MAX]; - UA_ByteString strCert; - char folderPath[PATH_MAX]; - - UA_ByteString_init (&strCert); - - if (ctx->trustListFolder.length > 0) { - UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the trust-list"); - - sk_X509_pop_free (ctx->skTrusted, X509_free); - ctx->skTrusted = sk_X509_new_null(); - if (ctx->skTrusted == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - (void) memcpy (folderPath, ctx->trustListFolder.data, - ctx->trustListFolder.length); - folderPath[ctx->trustListFolder.length] = 0; - numCertificates = scandir(folderPath, &dirlist, - UA_Certificate_Filter_der_pem, - alphasort); - for (i = 0; i < numCertificates; i++) { - if (UA_BuildFullPath (folderPath, dirlist[i]->d_name, - PATH_MAX, certFile) != UA_STATUSCODE_GOOD) { - continue; - } - ret = UA_loadCertFromFile (certFile, &strCert); - if (ret != UA_STATUSCODE_GOOD) { - UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to load the certificate file %s", certFile); - continue; /* continue or return ? */ - } - if (UA_skTrusted_Cert2X509 (&strCert, 1, ctx) != UA_STATUSCODE_GOOD) { - UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to decode the certificate file %s", certFile); - UA_ByteString_clear (&strCert); - continue; /* continue or return ? */ - } - UA_ByteString_clear (&strCert); - } - } - - if (ctx->issuerListFolder.length > 0) { - UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the issuer-list"); - - sk_X509_pop_free (ctx->skIssue, X509_free); - ctx->skIssue = sk_X509_new_null(); - if (ctx->skIssue == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - memcpy (folderPath, ctx->issuerListFolder.data, ctx->issuerListFolder.length); - folderPath[ctx->issuerListFolder.length] = 0; - numCertificates = scandir(folderPath, &dirlist, - UA_Certificate_Filter_der_pem, - alphasort); - for (i = 0; i < numCertificates; i++) { - if (UA_BuildFullPath (folderPath, dirlist[i]->d_name, - PATH_MAX, certFile) != UA_STATUSCODE_GOOD) { - continue; - } - ret = UA_loadCertFromFile (certFile, &strCert); - if (ret != UA_STATUSCODE_GOOD) { - UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to load the certificate file %s", certFile); - continue; /* continue or return ? */ - } - if (UA_skIssuer_Cert2X509 (&strCert, 1, ctx) != UA_STATUSCODE_GOOD) { - UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to decode the certificate file %s", certFile); - UA_ByteString_clear (&strCert); - continue; /* continue or return ? */ - } - UA_ByteString_clear (&strCert); - } - } - - if (ctx->revocationListFolder.length > 0) { - UA_LOG_INFO(ctx->cv->logging, UA_LOGCATEGORY_SERVER, "Reloading the revocation-list"); - - sk_X509_CRL_pop_free (ctx->skCrls, X509_CRL_free); - ctx->skCrls = sk_X509_CRL_new_null(); - if (ctx->skCrls == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - memcpy (folderPath, ctx->revocationListFolder.data, ctx->revocationListFolder.length); - folderPath[ctx->revocationListFolder.length] = 0; - numCertificates = scandir(folderPath, &dirlist, - UA_Certificate_Filter_crl, - alphasort); - for (i = 0; i < numCertificates; i++) { - if (UA_BuildFullPath (folderPath, dirlist[i]->d_name, - PATH_MAX, certFile) != UA_STATUSCODE_GOOD) { - continue; - } - ret = UA_loadCertFromFile (certFile, &strCert); - if (ret != UA_STATUSCODE_GOOD) { - UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to load the revocation file %s", certFile); - continue; /* continue or return ? */ - } - if (UA_skCrls_Cert2X509 (&strCert, 1, ctx) != UA_STATUSCODE_GOOD) { - UA_LOG_INFO (ctx->cv->logging, UA_LOGCATEGORY_SERVER, - "Failed to decode the revocation file %s", certFile); - UA_ByteString_clear (&strCert); - continue; /* continue or return ? */ - } - UA_ByteString_clear (&strCert); - } - } - - ret = UA_STATUSCODE_GOOD; - return ret; -} - -#endif /* end of __linux__ */ - -static const unsigned char openssl_PEM_PRE[28] = "-----BEGIN CERTIFICATE-----"; - -/* Extract the leaf certificate from a bytestring that may contain an entire chain */ -static X509 * -openSSLLoadLeafCertificate(UA_ByteString cert, size_t *offset) { - if(cert.length <= *offset) - return NULL; - cert.length -= *offset; - cert.data += *offset; - - /* Detect DER encoding. Extract the encoding length and cut. */ - if(cert.length >= 4 && cert.data[0] == 0x30 && cert.data[1] == 0x82) { - /* The certificate length is encoded after the magic bytes */ - size_t certLen = 4; /* Magic numbers + length bytes */ - certLen += (size_t)(((uint16_t)cert.data[2]) << 8); - certLen += cert.data[3]; - if(certLen > cert.length) - return NULL; - cert.length = certLen; - *offset += certLen; - const UA_Byte *dataPtr = cert.data; - return d2i_X509(NULL, &dataPtr, (long)cert.length); - } - - /* Assume PEM encoding. Detect multiple certificates and cut. */ - if(cert.length > 27 * 4) { - const unsigned char *match = - UA_Bstrstr(openssl_PEM_PRE, 27, &cert.data[27*2], cert.length - (27*2)); - if(match) - cert.length = (uintptr_t)(match - cert.data); - } - *offset += cert.length; - - BIO *bio = BIO_new_mem_buf((void *) cert.data, (int)cert.length); - X509 *result = PEM_read_bio_X509(bio, NULL, NULL, NULL); - BIO_free(bio); - return result; -} - -/* The bytestring might contain an entire certificate chain. The first - * stack-element is the leaf certificate itself. The remaining ones are - * potential issuer certificates. */ -static STACK_OF(X509) * -openSSLLoadCertificateStack(const UA_ByteString cert) { - size_t offset = 0; - X509 *x509 = NULL; - STACK_OF(X509) *result = sk_X509_new_null(); - if(!result) - return NULL; - while((x509 = openSSLLoadLeafCertificate(cert, &offset))) { - sk_X509_push(result, x509); - } - return result; -} - -/* Return the first matching issuer candidate AFTER prev */ -static X509 * -openSSLFindNextIssuer(CertContext *ctx, STACK_OF(X509) *stack, X509 *x509, X509 *prev) { - /* First check issuers from the stack - provided in the same bytestring as - * the certificate. This can also return x509 itself. */ - X509_NAME *in = X509_get_issuer_name(x509); - do { - int size = sk_X509_num(stack); - for(int i = 0; i < size; i++) { - X509 *candidate = sk_X509_value(stack, i); - if(prev) { - if(prev == candidate) - prev = NULL; /* This was the last issuer we tried to verify */ - continue; - } - /* This checks subject/issuer name and the key usage of the issuer. - * It does not verify the validity period and if the issuer key was - * used for the signature. We check that afterwards. */ - if(X509_NAME_cmp(in, X509_get_subject_name(candidate)) == 0) - return candidate; - } - /* Switch from the stack that came with the cert to the issuer list and - * then to the trust list. */ - if(stack == ctx->skTrusted) - stack = NULL; - else if(stack == ctx->skIssue) - stack = ctx->skTrusted; - else - stack = ctx->skIssue; - } while(stack); - return NULL; -} - -/* Is the certificate a CA? */ -static UA_Boolean -openSSLCheckCA(X509 *cert) { - uint32_t flags = X509_get_extension_flags(cert); - /* The basic constraints must be set with the CA flag true */ - if(!(flags & EXFLAG_CA)) - return false; - - /* The Key Usage extension must be set */ - if(!(flags & EXFLAG_KUSAGE)) - return false; - - /* The Key Usage must include cert signing and CRL issuing */ - uint32_t usage = X509_get_key_usage(cert); - if(!(usage & KU_KEY_CERT_SIGN) || !(usage & KU_CRL_SIGN)) - return false; - - return true; -} - -static UA_StatusCode -openSSLCheckRevoked(CertContext *ctx, X509 *cert) { - const ASN1_INTEGER *sn = X509_get0_serialNumber(cert); - const X509_NAME *in = X509_get_issuer_name(cert); - int size = sk_X509_CRL_num(ctx->skCrls); - - if(size == 0) { - UA_LOG_WARNING(ctx->cv->logging, UA_LOGCATEGORY_SECURITYPOLICY, - "Zero revocation lists have been loaded. " - "This seems intentional - omitting the check."); - return UA_STATUSCODE_GOOD; - } - - /* Loop over the crl and match the Issuer Name */ - UA_StatusCode res = UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN; - for(int i = 0; i < size; i++) { - /* The crl contains a list of serial numbers from the same issuer */ - X509_CRL *crl = sk_X509_CRL_value(ctx->skCrls, i); - if(X509_NAME_cmp(in, X509_CRL_get_issuer(crl)) != 0) - continue; - STACK_OF(X509_REVOKED) *rs = X509_CRL_get_REVOKED(crl); - int rsize = sk_X509_REVOKED_num(rs); - for(int j = 0; j < rsize; j++) { - X509_REVOKED *r = sk_X509_REVOKED_value(rs, j); - if(ASN1_INTEGER_cmp(sn, X509_REVOKED_get0_serialNumber(r)) == 0) - return UA_STATUSCODE_BADCERTIFICATEREVOKED; - } - res = UA_STATUSCODE_GOOD; /* There was at least one crl that did not revoke (so far) */ - } - return res; -} - -#define UA_OPENSSL_MAX_CHAIN_LENGTH 10 - -static UA_StatusCode -openSSL_verifyChain(CertContext *ctx, STACK_OF(X509) *stack, X509 **old_issuers, - X509 *cert, int depth) { - /* Maxiumum chain length */ - if(depth == UA_OPENSSL_MAX_CHAIN_LENGTH) - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - - /* Verification Step: Validity Period */ - ASN1_TIME *notBefore = X509_get_notBefore(cert); - ASN1_TIME *notAfter = X509_get_notAfter(cert); - if(X509_cmp_current_time(notBefore) != -1 || X509_cmp_current_time(notAfter) != 1) - return (depth == 0) ? UA_STATUSCODE_BADCERTIFICATETIMEINVALID : - UA_STATUSCODE_BADCERTIFICATEISSUERTIMEINVALID; - - /* Return the most specific error code. BADCERTIFICATECHAININCOMPLETE is - * returned only if all possible chains are incomplete. */ - X509 *issuer = NULL; - UA_StatusCode ret = UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - while(ret != UA_STATUSCODE_GOOD) { - /* Find the issuer. We jump back here to find a different path if a - * subsequent check fails. */ - issuer = openSSLFindNextIssuer(ctx, stack, cert, issuer); - if(!issuer) - break; - - /* Verification Step: Certificate Usage - * Can the issuer act as CA? Omit for self-signed leaf certificates. */ - if((depth > 0 || issuer != cert) && !openSSLCheckCA(issuer)) { - ret = UA_STATUSCODE_BADCERTIFICATEISSUERUSENOTALLOWED; - continue; - } - - /* Verification Step: Signature */ - int opensslRet = X509_verify(cert, X509_get0_pubkey(issuer)); - if(opensslRet == -1) { - return UA_STATUSCODE_BADCERTIFICATEINVALID; /* Ill-formed signature */ - } else if(opensslRet == 0) { - ret = UA_STATUSCODE_BADCERTIFICATEINVALID; /* Wrong issuer, try again */ - continue; - } - - /* The certificate is self-signed. We have arrived at the top of the - * chain. We check whether the certificate is trusted below. This is the - * only place where we return UA_STATUSCODE_BADCERTIFICATEUNTRUSTED. - * This signals that the chain is complete (but can be still - * untrusted). - * - * Break here as we have reached the end of the chain. Omit the - * Revocation Check for self-signed certificates. */ - if(cert == issuer || X509_cmp(cert, issuer) == 0) { - ret = UA_STATUSCODE_BADCERTIFICATEUNTRUSTED; - break; - } - - /* Verification Step: Revocation Check */ - ret = openSSLCheckRevoked(ctx, cert); - if(depth > 0) { - if(ret == UA_STATUSCODE_BADCERTIFICATEREVOKED) - ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOKED; - if(ret == UA_STATUSCODE_BADCERTIFICATEREVOCATIONUNKNOWN) - ret = UA_STATUSCODE_BADCERTIFICATEISSUERREVOCATIONUNKNOWN; - } - if(ret != UA_STATUSCODE_GOOD) - continue; - - /* Detect (endless) loops of issuers. The last one can be skipped by the - * check for self-signed just before. */ - for(int i = 0; i < depth; i++) { - if(old_issuers[i] == issuer) - return UA_STATUSCODE_BADCERTIFICATECHAININCOMPLETE; - } - old_issuers[depth] = issuer; - - /* We have found the issuer certificate used for the signature. Recurse - * to the next certificate in the chain (verify the current issuer). */ - ret = openSSL_verifyChain(ctx, stack, old_issuers, issuer, depth + 1); - } - - /* Is the certificate in the trust list? If yes, then we are done. */ - if(ret == UA_STATUSCODE_BADCERTIFICATEUNTRUSTED) { - for(int i = 0; i < sk_X509_num(ctx->skTrusted); i++) { - if(X509_cmp(cert, sk_X509_value(ctx->skTrusted, i)) == 0) - return UA_STATUSCODE_GOOD; - } - } - - return ret; -} - -/* This follows Part 6, 6.1.3 Determining if a Certificate is trusted. - * It defines a sequence of steps for certificate verification. */ -static UA_StatusCode -UA_CertificateVerification_Verify(const UA_CertificateVerification *cv, - const UA_ByteString *certificate) { - if(!cv || !certificate) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_StatusCode ret = UA_STATUSCODE_GOOD; - CertContext *ctx = (CertContext *)cv->context; - X509 *old_issuers[UA_OPENSSL_MAX_CHAIN_LENGTH]; - -#ifdef __linux__ - ret = UA_ReloadCertFromFolder(ctx); - if(ret != UA_STATUSCODE_GOOD) - return ret; -#endif - - /* Verification Step: Certificate Structure */ - STACK_OF(X509) *stack = openSSLLoadCertificateStack(*certificate); - if(!stack || sk_X509_num(stack) < 1) { - ret = UA_STATUSCODE_BADCERTIFICATEINVALID; - goto errout; - } - - /* Verification Step: Certificate Usage - * Check whether the certificate is a User certificate or a CA certificate. - * Refer the test case CTT/Security/Security Certificate Validation/029.js - * for more details. */ - X509 *leaf = sk_X509_value(stack, 0); - if(openSSLCheckCA(leaf)) { - ret = UA_STATUSCODE_BADCERTIFICATEUSENOTALLOWED; - goto errout; - } - - /* These steps are performed outside of this method. - * Because we need the server or client context. - * - Security Policy - * - Host Name - * - URI */ - - /* Verification Step: Build Certificate Chain - * We perform the checks for each certificate inside. */ - ret = openSSL_verifyChain(ctx, stack, old_issuers, leaf, 0); - - errout: - if(stack) - sk_X509_pop_free(stack, X509_free); - -#ifdef UA_ENABLE_CERT_REJECTED_DIR - if(ret != UA_STATUSCODE_GOOD && - ctx->rejectedListFolder.length > 0) { - char rejectedFileName[256] = {0}; - UA_ByteString thumbprint; - UA_ByteString_allocBuffer(&thumbprint, UA_SHA1_LENGTH); - if(UA_Openssl_X509_GetCertificateThumbprint(certificate, &thumbprint, true) == UA_STATUSCODE_GOOD) { - static const char hex2char[] = "0123456789ABCDEF"; - for(size_t pos = 0, namePos = 0; pos < thumbprint.length; pos++) { - rejectedFileName[namePos++] = hex2char[(thumbprint.data[pos] & 0xf0) >> 4]; - rejectedFileName[namePos++] = hex2char[thumbprint.data[pos] & 0x0f]; - } - strcat(rejectedFileName, ".der"); - } else { - UA_UInt64 dt = (UA_UInt64) UA_DateTime_now(); - sprintf(rejectedFileName, "cert_%" PRIu64 ".der", dt); - } - UA_ByteString_clear(&thumbprint); - char *rejectedFullFileName = (char *) - calloc(ctx->rejectedListFolder.length + 1 /* '/' */ + strlen(rejectedFileName) + 1, sizeof(char)); - if(!rejectedFullFileName) - return ret; - memcpy(rejectedFullFileName, ctx->rejectedListFolder.data, ctx->rejectedListFolder.length); - rejectedFullFileName[ctx->rejectedListFolder.length] = '/'; - memcpy(&rejectedFullFileName[ctx->rejectedListFolder.length + 1], rejectedFileName, strlen(rejectedFileName)); - FILE * fp_rejectedFile = fopen(rejectedFullFileName, "wb"); - if(fp_rejectedFile) { - fwrite(certificate->data, sizeof(certificate->data[0]), certificate->length, fp_rejectedFile); - fclose(fp_rejectedFile); - } - free(rejectedFullFileName); - } -#endif - - return ret; -} - -static UA_StatusCode -UA_CertificateVerification_VerifyApplicationURI (const UA_CertificateVerification *cv, - const UA_ByteString * certificate, - const UA_String * applicationURI) { - const unsigned char * pData; - X509 * certificateX509; - UA_String subjectURI = UA_STRING_NULL; - GENERAL_NAMES * pNames; - int i; - UA_StatusCode ret; - CertContext * ctx; - - if (cv == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - ctx = (CertContext *)cv->context; - if (ctx == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - pData = certificate->data; - if (pData == NULL) { - UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error Empty Certificate"); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - certificateX509 = UA_OpenSSL_LoadCertificate(certificate); - if (certificateX509 == NULL) { - UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error loading X509 Certificate"); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - pNames = (GENERAL_NAMES *) X509_get_ext_d2i(certificateX509, NID_subject_alt_name, - NULL, NULL); - if (pNames == NULL) { - X509_free (certificateX509); - UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error processing X509 Certificate"); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - - UA_String_init(&subjectURI); - - for (i = 0; i < sk_GENERAL_NAME_num (pNames); i++) { - GENERAL_NAME * value = sk_GENERAL_NAME_value (pNames, i); - if (value->type == GEN_URI) { - subjectURI.length = (size_t) (value->d.ia5->length); - subjectURI.data = (UA_Byte *) UA_malloc (subjectURI.length); - if (subjectURI.data == NULL) { - UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Error Empty subjectURI"); - X509_free (certificateX509); - sk_GENERAL_NAME_pop_free(pNames, GENERAL_NAME_free); - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - } - (void) memcpy (subjectURI.data, value->d.ia5->data, subjectURI.length); - break; - } - - } - - ret = UA_STATUSCODE_GOOD; - if (UA_Bstrstr (subjectURI.data, subjectURI.length, - applicationURI->data, applicationURI->length) == NULL) { - UA_LOG_ERROR(cv->logging, UA_LOGCATEGORY_USERLAND, "Empty comparing subjectURI and applicationURI"); - ret = UA_STATUSCODE_BADCERTIFICATEURIINVALID; - } - - X509_free (certificateX509); - sk_GENERAL_NAME_pop_free(pNames, GENERAL_NAME_free); - UA_String_clear (&subjectURI); - return ret; -} - -#ifdef UA_ENABLE_ENCRYPTION_OPENSSL -static UA_StatusCode -UA_GetCertificate_ExpirationDate(UA_DateTime *expiryDateTime, - UA_ByteString *certificate) { - const unsigned char *pData = certificate->data; - X509 * x509 = d2i_X509 (NULL, &pData, (long)certificate->length); - if (x509 == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Get the certificate Expiry date */ - ASN1_TIME *not_after = X509_get_notAfter(x509); - - struct tm dtTime; - ASN1_TIME_to_tm(not_after, &dtTime); - X509_free(x509); - - struct musl_tm dateTime; - memset(&dateTime, 0, sizeof(struct musl_tm)); - dateTime.tm_year = dtTime.tm_year; - dateTime.tm_mon = dtTime.tm_mon; - dateTime.tm_mday = dtTime.tm_mday; - dateTime.tm_hour = dtTime.tm_hour; - dateTime.tm_min = dtTime.tm_min; - dateTime.tm_sec = dtTime.tm_sec; - - long long sec_epoch = musl_tm_to_secs(&dateTime); - *expiryDateTime = UA_DATETIME_UNIX_EPOCH; - *expiryDateTime += sec_epoch * UA_DATETIME_SEC; - return UA_STATUSCODE_GOOD; -} -#endif - -static UA_StatusCode -UA_GetCertificate_SubjectName(UA_String *subjectName, - UA_ByteString *certificate) { - const unsigned char *pData = certificate->data; - X509 *x509 = d2i_X509 (NULL, &pData, (long)certificate->length); - if(!x509) - return UA_STATUSCODE_BADINTERNALERROR; - X509_NAME *sn = X509_get_subject_name(x509); - char buf[1024]; - *subjectName = UA_STRING_ALLOC(X509_NAME_oneline(sn, buf, 1024)); - X509_free(x509); - return UA_STATUSCODE_GOOD; -} - -/* main entry */ - -UA_StatusCode -UA_CertificateVerification_Trustlist(UA_CertificateVerification * cv, - const UA_ByteString * certificateTrustList, - size_t certificateTrustListSize, - const UA_ByteString * certificateIssuerList, - size_t certificateIssuerListSize, - const UA_ByteString * certificateRevocationList, - size_t certificateRevocationListSize) { - UA_StatusCode ret; - - if (cv == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - if (cv->logging == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Clear if the plugin is already initialized */ - if(cv->clear) - cv->clear(cv); - - CertContext * context = (CertContext *) UA_malloc (sizeof (CertContext)); - if (context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - cv->verifyApplicationURI = UA_CertificateVerification_VerifyApplicationURI; - cv->clear = UA_CertificateVerification_clear; - cv->context = context; - cv->verifyCertificate = UA_CertificateVerification_Verify; -#ifdef UA_ENABLE_ENCRYPTION_OPENSSL - cv->getExpirationDate = UA_GetCertificate_ExpirationDate; -#endif - cv->getSubjectName = UA_GetCertificate_SubjectName; - - ret = UA_CertContext_Init (context, cv); - if (ret != UA_STATUSCODE_GOOD) { - return ret; - } - - if (certificateTrustListSize > 0) { - if (UA_skTrusted_Cert2X509 (certificateTrustList, certificateTrustListSize, - context) != UA_STATUSCODE_GOOD) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - } - - if (certificateIssuerListSize > 0) { - if (UA_skIssuer_Cert2X509 (certificateIssuerList, certificateIssuerListSize, - context) != UA_STATUSCODE_GOOD) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - } - - if (certificateRevocationListSize > 0) { - if (UA_skCrls_Cert2X509 (certificateRevocationList, certificateRevocationListSize, - context) != UA_STATUSCODE_GOOD) { - ret = UA_STATUSCODE_BADINTERNALERROR; - goto errout; - } - } - - return UA_STATUSCODE_GOOD; - -errout: - UA_CertificateVerification_clear (cv); - return ret; -} - -#ifdef __linux__ /* Linux only so far */ -UA_StatusCode -UA_CertificateVerification_CertFolders(UA_CertificateVerification *cv, - const char *trustListFolder, - const char *issuerListFolder, - const char *revocationListFolder -#ifdef UA_ENABLE_CERT_REJECTED_DIR - , const char *rejectedListFolder -#endif - ) { - UA_StatusCode ret; - if (cv == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - if (cv->logging == NULL) { - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Clear if the plugin is already initialized */ - if(cv->clear) - cv->clear(cv); - - CertContext * context = (CertContext *) UA_malloc (sizeof (CertContext)); - if (context == NULL) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - cv->verifyApplicationURI = UA_CertificateVerification_VerifyApplicationURI; - cv->clear = UA_CertificateVerification_clear; - cv->context = context; - cv->verifyCertificate = UA_CertificateVerification_Verify; - - ret = UA_CertContext_Init (context, cv); - if (ret != UA_STATUSCODE_GOOD) { - return ret; - } - - /* Only set the folder paths. They will be reloaded during runtime. */ - - context->trustListFolder = UA_STRING_ALLOC(trustListFolder); - context->issuerListFolder = UA_STRING_ALLOC(issuerListFolder); - context->revocationListFolder = UA_STRING_ALLOC(revocationListFolder); -#ifdef UA_ENABLE_CERT_REJECTED_DIR - context->rejectedListFolder = UA_STRING_ALLOC(rejectedListFolder); -#endif - - return UA_STATUSCODE_GOOD; -} -#endif - -static int -privateKeyPasswordCallback(char *buf, int size, int rwflag, void *userdata) { - (void) rwflag; - UA_ByteString *pw = (UA_ByteString*)userdata; - if(pw->length <= (size_t)size) - memcpy(buf, pw->data, pw->length); - return (int)pw->length; -} - -UA_StatusCode -UA_PKI_decryptPrivateKey(const UA_ByteString privateKey, - const UA_ByteString password, - UA_ByteString *outDerKey) { - if(!outDerKey) - return UA_STATUSCODE_BADINTERNALERROR; - - if (privateKey.length == 0) { - *outDerKey = UA_BYTESTRING_NULL; - return UA_STATUSCODE_BADINVALIDARGUMENT; - } - - /* Already in DER format -> return verbatim */ - if(privateKey.length > 1 && privateKey.data[0] == 0x30 && privateKey.data[1] == 0x82) - return UA_ByteString_copy(&privateKey, outDerKey); - - /* Decrypt */ - BIO *bio = BIO_new_mem_buf((void*)privateKey.data, (int)privateKey.length); - EVP_PKEY *pkey = PEM_read_bio_PrivateKey(bio, NULL, - privateKeyPasswordCallback, - (void*)(uintptr_t)&password); - BIO_free(bio); - if(!pkey) - return UA_STATUSCODE_BADSECURITYCHECKSFAILED; - - /* Write DER encoded, allocates the new memory */ - unsigned char *data = NULL; - const int numBytes = i2d_PrivateKey(pkey, &data); - EVP_PKEY_free(pkey); - if(!data) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Copy to the data to outDerKey - * Passing the data pointer directly causes a heap corruption on Windows - * when outDerKey is cleared. - */ - UA_ByteString temp = UA_BYTESTRING_NULL; - temp.data = data; - temp.length = (size_t)numBytes; - const UA_StatusCode success = UA_ByteString_copy(&temp, outDerKey); - /* OPENSSL_clear_free() is not supported by the LibreSSL version in the CI */ - OPENSSL_cleanse(data, numBytes); - OPENSSL_free(data); - return success; -} - -#endif /* end of defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) */ - -/**** amalgamated original file "/plugins/crypto/ua_pki_none.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2020 (c) Julius Pfrommer, Fraunhofer IOSB - */ - - -static UA_StatusCode -verifyCertificateAllowAll(const UA_CertificateVerification *cv, - const UA_ByteString *certificate) { - UA_LOG_WARNING(cv->logging, UA_LOGCATEGORY_USERLAND, - "No certificate store configured. Accepting the certificate."); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -verifyApplicationURIAllowAll(const UA_CertificateVerification *cv, - const UA_ByteString *certificate, - const UA_String *applicationURI) { - return UA_STATUSCODE_GOOD; -} - -static void -clearVerifyAllowAll(UA_CertificateVerification *cv) { - -} - -void UA_CertificateVerification_AcceptAll(UA_CertificateVerification *cv) { - /* Clear the structure, as it may have already been initialized. */ - if(cv->clear) - cv->clear(cv); - cv->verifyCertificate = verifyCertificateAllowAll; - cv->verifyApplicationURI = verifyApplicationURIAllowAll; - cv->clear = clearVerifyAllowAll; -} - -/**** amalgamated original file "/plugins/crypto/ua_securitypolicy_none.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS -#endif - -#if defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) -#endif - -static UA_StatusCode -verify_none(void *channelContext, - const UA_ByteString *message, - const UA_ByteString *signature) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -sign_none(void *channelContext, const UA_ByteString *message, - UA_ByteString *signature) { - return UA_STATUSCODE_GOOD; -} - -static size_t -length_none(const void *channelContext) { - return 0; -} - -static UA_StatusCode -encrypt_none(void *channelContext, UA_ByteString *data) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -decrypt_none(void *channelContext, UA_ByteString *data) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -makeThumbprint_none(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificate, - UA_ByteString *thumbprint) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -compareThumbprint_none(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *certificateThumbprint) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -generateKey_none(void *policyContext, const UA_ByteString *secret, - const UA_ByteString *seed, UA_ByteString *out) { - return UA_STATUSCODE_GOOD; -} - -/* Use the non-cryptographic RNG to set the nonce */ -static UA_StatusCode -generateNonce_none(void *policyContext, UA_ByteString *out) { - if(out == NULL) - return UA_STATUSCODE_BADINTERNALERROR; - - if(out->length == 0) - return UA_STATUSCODE_GOOD; - - /* Fill blocks of four byte */ - size_t i = 0; - while(i + 3 < out->length) { - UA_UInt32 randNumber = UA_UInt32_random(); - memcpy(&out->data[i], &randNumber, 4); - i = i+4; - } - - /* Fill the remaining byte */ - UA_UInt32 randNumber = UA_UInt32_random(); - memcpy(&out->data[i], &randNumber, out->length % 4); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -newContext_none(const UA_SecurityPolicy *securityPolicy, - const UA_ByteString *remoteCertificate, - void **channelContext) { - return UA_STATUSCODE_GOOD; -} - -static void -deleteContext_none(void *channelContext) { -} - -static UA_StatusCode -setContextValue_none(void *channelContext, - const UA_ByteString *key) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -compareCertificate_none(const void *channelContext, - const UA_ByteString *certificate) { - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -updateCertificateAndPrivateKey_none(UA_SecurityPolicy *policy, - const UA_ByteString newCertificate, - const UA_ByteString newPrivateKey) { - UA_ByteString_clear(&policy->localCertificate); - UA_ByteString_copy(&newCertificate, &policy->localCertificate); - return UA_STATUSCODE_GOOD; -} - - -static void -policy_clear_none(UA_SecurityPolicy *policy) { - UA_ByteString_clear(&policy->localCertificate); -} - -UA_StatusCode -UA_SecurityPolicy_None(UA_SecurityPolicy *policy, const UA_ByteString localCertificate, - const UA_Logger *logger) { - policy->policyContext = (void *)(uintptr_t)logger; - policy->policyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None"); - policy->logger = logger; - -#ifdef UA_ENABLE_ENCRYPTION_MBEDTLS - UA_mbedTLS_LoadLocalCertificate(&localCertificate, &policy->localCertificate); -#elif defined(UA_ENABLE_ENCRYPTION_OPENSSL) || defined(UA_ENABLE_ENCRYPTION_LIBRESSL) - UA_OpenSSL_LoadLocalCertificate(&localCertificate, &policy->localCertificate); -#else - UA_ByteString_copy(&localCertificate, &policy->localCertificate); -#endif - - policy->symmetricModule.generateKey = generateKey_none; - policy->symmetricModule.generateNonce = generateNonce_none; - - UA_SecurityPolicySignatureAlgorithm *sym_signatureAlgorithm = - &policy->symmetricModule.cryptoModule.signatureAlgorithm; - sym_signatureAlgorithm->uri = UA_STRING_NULL; - sym_signatureAlgorithm->verify = verify_none; - sym_signatureAlgorithm->sign = sign_none; - sym_signatureAlgorithm->getLocalSignatureSize = length_none; - sym_signatureAlgorithm->getRemoteSignatureSize = length_none; - sym_signatureAlgorithm->getLocalKeyLength = length_none; - sym_signatureAlgorithm->getRemoteKeyLength = length_none; - - UA_SecurityPolicyEncryptionAlgorithm *sym_encryptionAlgorithm = - &policy->symmetricModule.cryptoModule.encryptionAlgorithm; - sym_encryptionAlgorithm->uri = UA_STRING_NULL; - sym_encryptionAlgorithm->encrypt = encrypt_none; - sym_encryptionAlgorithm->decrypt = decrypt_none; - sym_encryptionAlgorithm->getLocalKeyLength = length_none; - sym_encryptionAlgorithm->getRemoteKeyLength = length_none; - sym_encryptionAlgorithm->getRemoteBlockSize = length_none; - sym_encryptionAlgorithm->getRemotePlainTextBlockSize = length_none; - policy->symmetricModule.secureChannelNonceLength = 0; - - policy->asymmetricModule.makeCertificateThumbprint = makeThumbprint_none; - policy->asymmetricModule.compareCertificateThumbprint = compareThumbprint_none; - - // This only works for none since symmetric and asymmetric crypto modules do the same i.e. nothing - policy->asymmetricModule.cryptoModule = policy->symmetricModule.cryptoModule; - - // Use the same signing algorithm as for asymmetric signing - policy->certificateSigningAlgorithm = policy->asymmetricModule.cryptoModule.signatureAlgorithm; - - policy->channelModule.newContext = newContext_none; - policy->channelModule.deleteContext = deleteContext_none; - policy->channelModule.setLocalSymEncryptingKey = setContextValue_none; - policy->channelModule.setLocalSymSigningKey = setContextValue_none; - policy->channelModule.setLocalSymIv = setContextValue_none; - policy->channelModule.setRemoteSymEncryptingKey = setContextValue_none; - policy->channelModule.setRemoteSymSigningKey = setContextValue_none; - policy->channelModule.setRemoteSymIv = setContextValue_none; - policy->channelModule.compareCertificate = compareCertificate_none; - policy->updateCertificateAndPrivateKey = updateCertificateAndPrivateKey_none; - policy->clear = policy_clear_none; - - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/arch/common/ua_timer.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017, 2018, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - - -_UA_BEGIN_DECLS - -/* The timer is protected by its own mutex. The mutex is released before calling - * into the callbacks. So the timer can be modified from the callbacks it is - * executing. Also, the timer mutex can never lead to locking. Because the timer - * mutex will be left without acquiring another mutex. - * - * Obviously, the timer must not be deleted from within one of its - * callbacks. */ - -/* Callback where the application is either a client or a server */ -typedef void (*UA_ApplicationCallback)(void *application, void *data); - -typedef struct UA_TimerEntry { - ZIP_ENTRY(UA_TimerEntry) treeEntry; - UA_TimerPolicy timerPolicy; /* Timer policy to handle cycle misses */ - UA_DateTime nextTime; /* The next time when the callback is to be - * executed */ - UA_UInt64 interval; /* Interval in 100ns resolution. If the - * interval is zero, the callback is not - * repeated and removed after execution. */ - UA_ApplicationCallback callback; /* This is also a sentinel value. If the - * callback is NULL, then the entry is - * marked for deletion. */ - void *application; - void *data; - - ZIP_ENTRY(UA_TimerEntry) idTreeEntry; - UA_UInt64 id; /* Id of the entry */ -} UA_TimerEntry; - -typedef ZIP_HEAD(UA_TimerTree, UA_TimerEntry) UA_TimerTree; -typedef ZIP_HEAD(UA_TimerIdTree, UA_TimerEntry) UA_TimerIdTree; - -typedef struct { - UA_TimerTree tree; /* The root of the time-sorted tree */ - UA_TimerIdTree idTree; /* The root of the id-sorted tree */ - UA_UInt64 idCounter; /* Generate unique identifiers. Identifiers are - * always above zero. */ -#if UA_MULTITHREADING >= 100 - UA_Lock timerMutex; -#endif - - UA_TimerTree processTree; /* When the timer is processed, all entries that - * need processing now are moved to processTree. - * Then we iterate over that tree. */ -} UA_Timer; - -void -UA_Timer_init(UA_Timer *t); - -UA_DateTime -UA_Timer_nextRepeatedTime(UA_Timer *t); - -UA_StatusCode -UA_Timer_addTimedCallback(UA_Timer *t, UA_ApplicationCallback callback, - void *application, void *data, UA_DateTime date, - UA_UInt64 *callbackId); - -UA_StatusCode -UA_Timer_addRepeatedCallback(UA_Timer *t, UA_ApplicationCallback callback, - void *application, void *data, UA_Double interval_ms, - UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, - UA_UInt64 *callbackId); - -UA_StatusCode -UA_Timer_changeRepeatedCallback(UA_Timer *t, UA_UInt64 callbackId, - UA_Double interval_ms, UA_DateTime *baseTime, - UA_TimerPolicy timerPolicy); - -void -UA_Timer_removeCallback(UA_Timer *t, UA_UInt64 callbackId); - -UA_DateTime -UA_Timer_process(UA_Timer *t, UA_DateTime nowMonotonic); - -void -UA_Timer_clear(UA_Timer *t); - -_UA_END_DECLS - - -/**** amalgamated original file "/arch/eventloop_common.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - - -/* Utility definitions to be used in EventLoop implementations. - * Not part of the public API. */ - -_UA_BEGIN_DECLS - -/* Typing restrictions for key-value parameters */ -typedef struct { - UA_QualifiedName name; - const UA_DataType *type; - UA_Boolean required; - UA_Boolean scalar; - UA_Boolean array; -} UA_KeyValueRestriction; - -UA_StatusCode -UA_KeyValueRestriction_validate(const UA_Logger *logger, - const char *logprefix, - const UA_KeyValueRestriction *restrictions, - size_t restrictionsSiz, - const UA_KeyValueMap *map); - -_UA_END_DECLS - - -/**** amalgamated original file "/arch/eventloop_posix.h" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - - -#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) - -/* Include architecture-specific definitions */ -#if defined(UA_ARCHITECTURE_WIN32) -#elif defined(UA_ARCHITECTURE_POSIX) -#endif - - -#if !defined(__QNX__) -#endif - -/* epoll_pwait returns bogus data with the tc compiler */ -#if defined(__linux__) && !defined(__TINYC__) -# define UA_HAVE_EPOLL -# include -#endif - -#define UA_MAXBACKLOG 100 -#define UA_MAXHOSTNAME_LENGTH 256 -#define UA_MAXPORTSTR_LENGTH 6 - -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - -#ifndef MSG_DONTWAIT -#define MSG_DONTWAIT 0 -#endif - -_UA_BEGIN_DECLS - -/* POSIX events are based on sockets / file descriptors. The EventSources can - * register their fd in the EventLoop so that they are considered by the - * EventLoop dropping into "poll" to wait for events. */ - -/* TODO: Move the macro-forest from /arch//ua_architecture.h */ - -#define UA_FD UA_SOCKET -#define UA_INVALID_FD UA_INVALID_SOCKET - -struct UA_RegisteredFD; -typedef struct UA_RegisteredFD UA_RegisteredFD; - -/* Bitmask to be used for the UA_FDCallback event argument */ -#define UA_FDEVENT_IN 1 -#define UA_FDEVENT_OUT 2 -#define UA_FDEVENT_ERR 4 - -typedef void (*UA_FDCallback)(UA_EventSource *es, UA_RegisteredFD *rfd, short event); - -struct UA_RegisteredFD { - UA_DelayedCallback dc; /* Used for async closing. Must be the first member - * because the rfd is freed by the delayed callback - * mechanism. */ - - ZIP_ENTRY(UA_RegisteredFD) zipPointers; /* Register FD in the EventSource */ - UA_FD fd; - short listenEvents; /* UA_FDEVENT_IN | UA_FDEVENT_OUT*/ - - UA_EventSource *es; /* Backpointer to the EventSource */ - UA_FDCallback eventSourceCB; -}; - -enum ZIP_CMP cmpFD(const UA_FD *a, const UA_FD *b); -typedef ZIP_HEAD(UA_FDTree, UA_RegisteredFD) UA_FDTree; -ZIP_FUNCTIONS(UA_FDTree, UA_RegisteredFD, zipPointers, UA_FD, fd, cmpFD) - -/* All ConnectionManager in the POSIX EventLoop can be cast to - * UA_ConnectionManagerPOSIX. They carry a sorted tree of their open - * sockets/file-descriptors. */ -typedef struct { - UA_ConnectionManager cm; - - /* Reused receive buffer. The size is configured via - * the recv-bufsize parameter.*/ - UA_ByteString rxBuffer; - - /* Sorted tree of the FDs */ - size_t fdsSize; - UA_FDTree fds; -} UA_POSIXConnectionManager; - -typedef struct { - UA_EventLoop eventLoop; - - /* Timer */ - UA_Timer timer; - - /* Linked List of Delayed Callbacks */ - UA_DelayedCallback *delayedCallbacks; - - /* Flag determining whether the eventloop is currently within the - * "run" method */ - UA_Boolean executing; - -#if defined(UA_HAVE_EPOLL) - UA_FD epollfd; -#else - UA_RegisteredFD **fds; - size_t fdsSize; -#endif - -#if UA_MULTITHREADING >= 100 - UA_Lock elMutex; -#endif -} UA_EventLoopPOSIX; - -/* - * The following functions differ between epoll and normal select - */ - -/* Register to start receiving events */ -UA_StatusCode -UA_EventLoopPOSIX_registerFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd); - -/* Modify the events that the fd listens on */ -UA_StatusCode -UA_EventLoopPOSIX_modifyFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd); - -/* Deregister but do not close the fd. No further events are received. */ -void -UA_EventLoopPOSIX_deregisterFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd); - -UA_StatusCode -UA_EventLoopPOSIX_pollFDs(UA_EventLoopPOSIX *el, UA_DateTime listenTimeout); - -/* Helper functions between EventSources */ - -UA_StatusCode -UA_EventLoopPOSIX_allocateRXBuffer(UA_POSIXConnectionManager *pcm); - -UA_StatusCode -UA_EventLoopPOSIX_allocNetworkBuffer(UA_ConnectionManager *cm, - uintptr_t connectionId, - UA_ByteString *buf, - size_t bufSize); - -void -UA_EventLoopPOSIX_freeNetworkBuffer(UA_ConnectionManager *cm, - uintptr_t connectionId, - UA_ByteString *buf); - -/* - * Helper functions to be used across protocols - */ - -/* Set the socket non-blocking. If the listen-socket is nonblocking, incoming - * connections inherit this state. */ -UA_StatusCode -UA_EventLoopPOSIX_setNonBlocking(UA_FD sockfd); - -/* Don't have the socket create interrupt signals */ -UA_StatusCode -UA_EventLoopPOSIX_setNoSigPipe(UA_FD sockfd); - -/* Enables sharing of the same listening address on different sockets */ -UA_StatusCode -UA_EventLoopPOSIX_setReusable(UA_FD sockfd); - -_UA_END_DECLS - -#endif /* defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32) */ - - -/**** amalgamated original file "/arch/posix/ua_clock.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Thomas Stalder, Blue Time Concept SA - */ - - -#ifdef UA_ARCHITECTURE_POSIX - -#include -#include - -#if defined(__APPLE__) || defined(__MACH__) -# include -# include -#endif - -UA_DateTime UA_DateTime_now(void) { - struct timeval tv; - gettimeofday(&tv, NULL); - return (tv.tv_sec * UA_DATETIME_SEC) + (tv.tv_usec * UA_DATETIME_USEC) + UA_DATETIME_UNIX_EPOCH; -} - -/* Credit to https://stackoverflow.com/questions/13804095/get-the-time-zone-gmt-offset-in-c */ -UA_Int64 UA_DateTime_localTimeUtcOffset(void) { - time_t gmt, rawtime = time(NULL); - struct tm *ptm; - struct tm gbuf; - ptm = gmtime_r(&rawtime, &gbuf); - // Request that mktime() looksup dst in timezone database - ptm->tm_isdst = -1; - gmt = mktime(ptm); - return (UA_Int64) (difftime(rawtime, gmt) * UA_DATETIME_SEC); -} - -UA_DateTime UA_DateTime_nowMonotonic(void) { -#if defined(__APPLE__) || defined(__MACH__) - /* OS X does not have clock_gettime, use clock_get_time */ - clock_serv_t cclock; - mach_timespec_t mts; - host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock); - clock_get_time(cclock, &mts); - mach_port_deallocate(mach_task_self(), cclock); - return (mts.tv_sec * UA_DATETIME_SEC) + (mts.tv_nsec / 100); -#elif !defined(CLOCK_MONOTONIC_RAW) - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return (ts.tv_sec * UA_DATETIME_SEC) + (ts.tv_nsec / 100); -#else - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC_RAW, &ts); - return (ts.tv_sec * UA_DATETIME_SEC) + (ts.tv_nsec / 100); -#endif -} - -#endif /* UA_ARCHITECTURE_POSIX */ - -/**** amalgamated original file "/arch/win32/ua_clock.c" ****/ - -/* This work is licensed under a Creative Commons CCZero 1.0 Universal License. - * See http://creativecommons.org/publicdomain/zero/1.0/ for more information. - * - * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - * Copyright 2017 (c) Thomas Stalder - */ - - -#ifdef UA_ARCHITECTURE_WIN32 - -#include -/* Backup definition of SLIST_ENTRY on mingw winnt.h */ -# ifdef SLIST_ENTRY -# pragma push_macro("SLIST_ENTRY") -# undef SLIST_ENTRY -# define POP_SLIST_ENTRY -# endif -# include -/* restore definition */ -# ifdef POP_SLIST_ENTRY -# undef SLIST_ENTRY -# undef POP_SLIST_ENTRY -# pragma pop_macro("SLIST_ENTRY") -# endif - -UA_DateTime UA_DateTime_now(void) { - /* Windows filetime has the same definition as UA_DateTime */ - FILETIME ft; - SYSTEMTIME st; - GetSystemTime(&st); - SystemTimeToFileTime(&st, &ft); - ULARGE_INTEGER ul; - ul.LowPart = ft.dwLowDateTime; - ul.HighPart = ft.dwHighDateTime; - return (UA_DateTime)ul.QuadPart; -} - -/* Credit to https://stackoverflow.com/questions/13804095/get-the-time-zone-gmt-offset-in-c */ -UA_Int64 UA_DateTime_localTimeUtcOffset(void) { - time_t gmt, rawtime = time(NULL); - - struct tm ptm; -#ifdef __CODEGEARC__ - gmtime_s(&rawtime, &ptm); -#else - gmtime_s(&ptm, &rawtime); -#endif - // Request that mktime() looksup dst in timezone database - ptm.tm_isdst = -1; - gmt = mktime(&ptm); - - return (UA_Int64) (difftime(rawtime, gmt) * UA_DATETIME_SEC); -} - -UA_DateTime UA_DateTime_nowMonotonic(void) { - LARGE_INTEGER freq, ticks; - QueryPerformanceFrequency(&freq); - QueryPerformanceCounter(&ticks); - UA_Double ticks2dt = UA_DATETIME_SEC / (UA_Double)freq.QuadPart; - return (UA_DateTime)(ticks.QuadPart * ticks2dt); -} - -#endif /* UA_ARCHITECTURE_WIN32 */ - -/**** amalgamated original file "/arch/common/ua_timer.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2017, 2018, 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2017 (c) Stefan Profanter, fortiss GmbH - */ - - -static enum ZIP_CMP -cmpDateTime(const UA_DateTime *a, const UA_DateTime *b) { - if(*a == *b) - return ZIP_CMP_EQ; - return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; -} - -static enum ZIP_CMP -cmpId(const UA_UInt64 *a, const UA_UInt64 *b) { - if(*a == *b) - return ZIP_CMP_EQ; - return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; -} - -ZIP_FUNCTIONS(UA_TimerTree, UA_TimerEntry, treeEntry, UA_DateTime, nextTime, cmpDateTime) -ZIP_FUNCTIONS(UA_TimerIdTree, UA_TimerEntry, idTreeEntry, UA_UInt64, id, cmpId) - -static UA_DateTime -calculateNextTime(UA_DateTime currentTime, UA_DateTime baseTime, - UA_DateTime interval) { - /* Take the difference between current and base time */ - UA_DateTime diffCurrentTimeBaseTime = currentTime - baseTime; - - /* Take modulo of the diff time with the interval. This is the duration we - * are already "into" the current interval. Subtract it from (current + - * interval) to get the next execution time. */ - UA_DateTime cycleDelay = diffCurrentTimeBaseTime % interval; - - /* Handle the special case where the baseTime is in the future */ - if(UA_UNLIKELY(cycleDelay < 0)) - cycleDelay += interval; - - return currentTime + interval - cycleDelay; -} - -void -UA_Timer_init(UA_Timer *t) { - memset(t, 0, sizeof(UA_Timer)); - UA_LOCK_INIT(&t->timerMutex); -} - -/* Global variables, only used behind the mutex */ -static UA_DateTime earliest, latest, adjustedNextTime; - -static void * -findTimer2Batch(void *context, UA_TimerEntry *compare) { - UA_TimerEntry *te = (UA_TimerEntry*)context; - - /* NextTime deviation within interval? */ - if(compare->nextTime < earliest || compare->nextTime > latest) - return NULL; - - /* Check if one interval is a multiple of the other */ - if(te->interval < compare->interval && compare->interval % te->interval != 0) - return NULL; - if(te->interval > compare->interval && te->interval % compare->interval != 0) - return NULL; - - adjustedNextTime = compare->nextTime; /* Candidate found */ - - /* Abort when a perfect match is found */ - return (te->interval == compare->interval) ? te : NULL; -} - -static UA_StatusCode -addCallback(UA_Timer *t, UA_ApplicationCallback callback, void *application, - void *data, UA_DateTime nextTime, UA_UInt64 interval, - UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId) { - /* A callback method needs to be present */ - if(!callback) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Allocate the repeated callback structure */ - UA_TimerEntry *te = (UA_TimerEntry*)UA_malloc(sizeof(UA_TimerEntry)); - if(!te) - return UA_STATUSCODE_BADOUTOFMEMORY; - - /* Set the repeated callback */ - te->interval = interval; - te->id = ++t->idCounter; - te->callback = callback; - te->application = application; - te->data = data; - te->nextTime = nextTime; - te->timerPolicy = timerPolicy; - - /* Adjust the nextTime to batch cyclic callbacks. Look in an interval around - * the original nextTime. Deviate from the original nextTime by at most 1/4 - * of the interval and at most by 1s. */ - if(timerPolicy == UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME && interval != 0) { - UA_UInt64 deviate = te->interval / 4; - if(deviate > UA_DATETIME_SEC) - deviate = UA_DATETIME_SEC; - earliest = te->nextTime - deviate; - latest = te->nextTime + deviate; - adjustedNextTime = te->nextTime; - ZIP_ITER(UA_TimerIdTree, &t->idTree, findTimer2Batch, te); - te->nextTime = adjustedNextTime; - } - - /* Set the output identifier */ - if(callbackId) - *callbackId = te->id; - - ZIP_INSERT(UA_TimerTree, &t->tree, te); - ZIP_INSERT(UA_TimerIdTree, &t->idTree, te); - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_Timer_addTimedCallback(UA_Timer *t, UA_ApplicationCallback callback, - void *application, void *data, UA_DateTime date, - UA_UInt64 *callbackId) { - UA_LOCK(&t->timerMutex); - UA_StatusCode res = addCallback(t, callback, application, data, date, - 0, UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME, - callbackId); - UA_UNLOCK(&t->timerMutex); - return res; -} - -/* Adding repeated callbacks: Add an entry with the "nextTime" timestamp in the - * future. This will be picked up in the next iteration and inserted at the - * correct place. So that the next execution takes place ät "nextTime". */ -UA_StatusCode -UA_Timer_addRepeatedCallback(UA_Timer *t, UA_ApplicationCallback callback, - void *application, void *data, UA_Double interval_ms, - UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, - UA_UInt64 *callbackId) { - /* The interval needs to be positive */ - if(interval_ms <= 0.0) - return UA_STATUSCODE_BADINTERNALERROR; - UA_UInt64 interval = (UA_UInt64)(interval_ms * UA_DATETIME_MSEC); - if(interval == 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Compute the first time for execution */ - UA_DateTime currentTime = UA_DateTime_nowMonotonic(); - UA_DateTime nextTime; - if(baseTime == NULL) { - /* Use "now" as the basetime */ - nextTime = currentTime + (UA_DateTime)interval; - } else { - nextTime = calculateNextTime(currentTime, *baseTime, (UA_DateTime)interval); - } - - UA_LOCK(&t->timerMutex); - UA_StatusCode res = addCallback(t, callback, application, data, nextTime, - interval, timerPolicy, callbackId); - UA_UNLOCK(&t->timerMutex); - return res; -} - -UA_StatusCode -UA_Timer_changeRepeatedCallback(UA_Timer *t, UA_UInt64 callbackId, - UA_Double interval_ms, UA_DateTime *baseTime, - UA_TimerPolicy timerPolicy) { - /* The interval needs to be positive */ - if(interval_ms <= 0.0) - return UA_STATUSCODE_BADINTERNALERROR; - UA_UInt64 interval = (UA_UInt64)(interval_ms * UA_DATETIME_MSEC); - if(interval == 0) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_LOCK(&t->timerMutex); - - /* Find according to the id */ - UA_TimerEntry *te = ZIP_FIND(UA_TimerIdTree, &t->idTree, &callbackId); - if(!te) { - UA_UNLOCK(&t->timerMutex); - return UA_STATUSCODE_BADNOTFOUND; - } - - /* Try to remove from the time-sorted tree. If not found, then the entry is - * in the processTree. If that is the case, leave it there and only adjust - * the interval and nextTime (if the TimerPolicy uses a basetime). */ - UA_Boolean normalTree = (ZIP_REMOVE(UA_TimerTree, &t->tree, te) != NULL); - - /* Compute the next time for execution. The logic is identical to the - * creation of a new repeated callback. */ - UA_DateTime currentTime = UA_DateTime_nowMonotonic(); - if(baseTime == NULL) { - /* Use "now" as the basetime */ - te->nextTime = currentTime + (UA_DateTime)interval; - } else { - te->nextTime = calculateNextTime(currentTime, *baseTime, (UA_DateTime)interval); - } - - /* Update the remaining parameters and re-insert */ - te->interval = interval; - te->timerPolicy = timerPolicy; - - if(normalTree) - ZIP_INSERT(UA_TimerTree, &t->tree, te); - - UA_UNLOCK(&t->timerMutex); - return UA_STATUSCODE_GOOD; -} - -void -UA_Timer_removeCallback(UA_Timer *t, UA_UInt64 callbackId) { - UA_LOCK(&t->timerMutex); - UA_TimerEntry *te = ZIP_FIND(UA_TimerIdTree, &t->idTree, &callbackId); - if(UA_LIKELY(te != NULL)) { - if(t->processTree.root == NULL) { - /* Remove/free the entry */ - ZIP_REMOVE(UA_TimerTree, &t->tree, te); - ZIP_REMOVE(UA_TimerIdTree, &t->idTree, te); - UA_free(te); - } else { - /* We are currently processing. Only mark the entry to be deleted. - * Will be removed/freed the next time we reach it in the processing - * callback. */ - te->callback = NULL; - } - } - UA_UNLOCK(&t->timerMutex); -} - -struct TimerProcessContext { - UA_Timer *t; - UA_DateTime nowMonotonic; -}; - -static void * -processEntryCallback(void *context, UA_TimerEntry *te) { - struct TimerProcessContext *tpc = (struct TimerProcessContext*)context; - UA_Timer *t = tpc->t; - - /* Execute the callback. The memory is not freed during the callback. - * Instead, whenever t->processTree != NULL, the entries are only marked for - * deletion by setting elm->callback to NULL. */ - if(te->callback) { - te->callback(te->application, te->data); - } - - /* Remove and free the entry if marked for deletion or a one-time timed - * callback */ - if(!te->callback || te->interval == 0) { - ZIP_REMOVE(UA_TimerIdTree, &t->idTree, te); - UA_free(te); - return NULL; - } - - /* Set the time for the next regular execution */ - te->nextTime += (UA_DateTime)te->interval; - - /* Handle the case where the "window" was missed. E.g. due to congestion of - * the application or if the clock was shifted. - * - * If the timer policy is "CurrentTime", then there is at least the - * interval between executions. This is used for Monitoreditems, for - * which the spec says: The sampling interval indicates the fastest rate - * at which the Server should sample its underlying source for data - * changes. (Part 4, 5.12.1.2) */ - if(te->nextTime < tpc->nowMonotonic) { - if(te->timerPolicy == UA_TIMER_HANDLE_CYCLEMISS_WITH_BASETIME) - te->nextTime = calculateNextTime(tpc->nowMonotonic, te->nextTime, - (UA_DateTime)te->interval); - else - te->nextTime = tpc->nowMonotonic + (UA_DateTime)te->interval; - } - - /* Insert back into the time-sorted tree */ - ZIP_INSERT(UA_TimerTree, &t->tree, te); - return NULL; -} - -UA_DateTime -UA_Timer_process(UA_Timer *t, UA_DateTime nowMonotonic) { - UA_LOCK(&t->timerMutex); - - /* Not reentrant. Don't call _process from within _process. */ - if(!t->processTree.root) { - /* Move all entries <= nowMonotonic to processTree */ - ZIP_UNZIP(UA_TimerTree, &t->tree, &nowMonotonic, - &t->processTree, &t->tree); - - /* Consistency check. The smallest not-processed entry isn't ready. */ - UA_assert(!ZIP_MIN(UA_TimerTree, &t->tree) || - ZIP_MIN(UA_TimerTree, &t->tree)->nextTime > nowMonotonic); - - /* Iterate over the entries that need processing in-order. This also - * moves them back to the regular time-ordered tree. */ - struct TimerProcessContext ctx; - ctx.t = t; - ctx.nowMonotonic = nowMonotonic; - ZIP_ITER(UA_TimerTree, &t->processTree, processEntryCallback, &ctx); - - /* Reset processTree. All entries are already moved to the normal tree. */ - t->processTree.root = NULL; - } - - /* Compute the timestamp of the earliest next callback */ - UA_TimerEntry *first = ZIP_MIN(UA_TimerTree, &t->tree); - UA_DateTime next = (first) ? first->nextTime : UA_INT64_MAX; - if(next < nowMonotonic) - next = nowMonotonic; - - UA_UNLOCK(&t->timerMutex); - return next; -} - -UA_DateTime -UA_Timer_nextRepeatedTime(UA_Timer *t) { - UA_LOCK(&t->timerMutex); - UA_TimerEntry *first = ZIP_MIN(UA_TimerTree, &t->tree); - UA_DateTime next = (first) ? first->nextTime : UA_INT64_MAX; - UA_UNLOCK(&t->timerMutex); - return next; -} - -static void * -freeEntryCallback(void *context, UA_TimerEntry *entry) { - UA_free(entry); - return NULL; -} - -void -UA_Timer_clear(UA_Timer *t) { - UA_LOCK(&t->timerMutex); - - ZIP_ITER(UA_TimerIdTree, &t->idTree, freeEntryCallback, NULL); - t->tree.root = NULL; - t->idTree.root = NULL; - t->idCounter = 0; - - UA_UNLOCK(&t->timerMutex); - -#if UA_MULTITHREADING >= 100 - UA_LOCK_DESTROY(&t->timerMutex); -#endif -} - -/**** amalgamated original file "/arch/eventloop_common.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -UA_StatusCode -UA_KeyValueRestriction_validate(const UA_Logger *logger, const char *logprefix, - const UA_KeyValueRestriction *restrictions, size_t restrictionsSize, - const UA_KeyValueMap *map) { - for(size_t i = 0; i < restrictionsSize; i++) { - const UA_KeyValueRestriction *r = &restrictions[i]; - const UA_Variant *val = UA_KeyValueMap_get(map, r->name); - - /* Value not present but required? */ - if(!val) { - if(r->required) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, - "%s\t| Parameter %.*s required but not defined", - logprefix, (int)r->name.name.length, (char*)r->name.name.data); - return UA_STATUSCODE_BADINTERNALERROR; - } - continue; - } - - /* Type matches */ - if(val->type != r->type) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, - "%s\t| Parameter %.*s has the wrong type", - logprefix, (int)r->name.name.length, (char*)r->name.name.data); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Scalar / array is allowed */ - UA_Boolean scalar = UA_Variant_isScalar(val); - if(scalar && !r->scalar) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, - "%s\t| Parameter %.*s must not be scalar", - logprefix, (int)r->name.name.length, (char*)r->name.name.data); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(!scalar && !r->array) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_USERLAND, - "%s\t| Parameter %.*s must not be an array", - logprefix, (int)r->name.name.length, (char*)r->name.name.data); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - } - - return UA_STATUSCODE_GOOD; -} - -/**** amalgamated original file "/arch/eventloop_posix.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - -/*********/ -/* Timer */ -/*********/ - -static UA_DateTime -UA_EventLoopPOSIX_nextCyclicTime(UA_EventLoop *public_el) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - return UA_Timer_nextRepeatedTime(&el->timer); -} - -static UA_StatusCode -UA_EventLoopPOSIX_addTimedCallback(UA_EventLoop *public_el, - UA_Callback callback, - void *application, void *data, - UA_DateTime date, - UA_UInt64 *callbackId) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - return UA_Timer_addTimedCallback(&el->timer, callback, application, - data, date, callbackId); -} - -static UA_StatusCode -UA_EventLoopPOSIX_addCyclicCallback(UA_EventLoop *public_el, - UA_Callback cb, - void *application, void *data, - UA_Double interval_ms, - UA_DateTime *baseTime, - UA_TimerPolicy timerPolicy, - UA_UInt64 *callbackId) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - return UA_Timer_addRepeatedCallback(&el->timer, cb, application, - data, interval_ms, baseTime, - timerPolicy, callbackId); -} - -static UA_StatusCode -UA_EventLoopPOSIX_modifyCyclicCallback(UA_EventLoop *public_el, - UA_UInt64 callbackId, - UA_Double interval_ms, - UA_DateTime *baseTime, - UA_TimerPolicy timerPolicy) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - return UA_Timer_changeRepeatedCallback(&el->timer, callbackId, - interval_ms, baseTime, - timerPolicy); -} - -static void -UA_EventLoopPOSIX_removeCyclicCallback(UA_EventLoop *public_el, - UA_UInt64 callbackId) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - UA_Timer_removeCallback(&el->timer, callbackId); -} - -static void -UA_EventLoopPOSIX_addDelayedCallback(UA_EventLoop *public_el, - UA_DelayedCallback *dc) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - UA_LOCK(&el->elMutex); - dc->next = el->delayedCallbacks; - el->delayedCallbacks = dc; - UA_UNLOCK(&el->elMutex); -} - -static void -UA_EventLoopPOSIX_removeDelayedCallback(UA_EventLoop *public_el, - UA_DelayedCallback *dc) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - UA_LOCK(&el->elMutex); - UA_DelayedCallback **prev = &el->delayedCallbacks; - while(*prev) { - if(*prev == dc) { - *prev = (*prev)->next; - UA_UNLOCK(&el->elMutex); - return; - } - prev = &(*prev)->next; - } - UA_UNLOCK(&el->elMutex); -} - -/* Process and then free registered delayed callbacks */ -static void -processDelayed(UA_EventLoopPOSIX *el) { - UA_LOG_TRACE(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Process delayed callbacks"); - - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* First empty the linked list in the el. So a delayed callback can add - * (itself) to the list. New entries are then processed during the next - * iteration. */ - UA_DelayedCallback *dc = el->delayedCallbacks, *next = NULL; - el->delayedCallbacks = NULL; - - for(; dc; dc = next) { - next = dc->next; - /* Delayed Callbacks might have no callback set. We don't return a - * StatusCode during "add" and don't validate. So test here. */ - if(!dc->callback) - continue; - dc->callback(dc->application, dc->context); - } -} - -/***********************/ -/* EventLoop Lifecycle */ -/***********************/ - -static UA_StatusCode -UA_EventLoopPOSIX_start(UA_EventLoopPOSIX *el) { - UA_LOCK(&el->elMutex); - - if(el->eventLoop.state != UA_EVENTLOOPSTATE_FRESH && - el->eventLoop.state != UA_EVENTLOOPSTATE_STOPPED) { - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Starting the EventLoop"); - -#ifdef UA_HAVE_EPOLL - el->epollfd = epoll_create1(0); - if(el->epollfd == -1) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "Eventloop\t| Could not create the epoll socket (%s)", - errno_str)); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } -#endif - - UA_StatusCode res = UA_STATUSCODE_GOOD; - UA_EventSource *es = el->eventLoop.eventSources; - while(es) { - res |= es->start(es); - es = es->next; - } - - /* Dirty-write the state that is const "from the outside" */ - *(UA_EventLoopState*)(uintptr_t)&el->eventLoop.state = - UA_EVENTLOOPSTATE_STARTED; - - UA_UNLOCK(&el->elMutex); - return res; -} - -static void -checkClosed(UA_EventLoopPOSIX *el) { - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_EventSource *es = el->eventLoop.eventSources; - while(es) { - if(es->state != UA_EVENTSOURCESTATE_STOPPED) - return; - es = es->next; - } - - /* Not closed until all delayed callbacks are processed */ - if(el->delayedCallbacks != NULL) - return; - - /* Dirty-write the state that is const "from the outside" */ - *(UA_EventLoopState*)(uintptr_t)&el->eventLoop.state = - UA_EVENTLOOPSTATE_STOPPED; - - /* Close the epoll/IOCP socket once all EventSources have shut down */ -#ifdef UA_HAVE_EPOLL - close(el->epollfd); -#endif - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "The EventLoop has stopped"); -} - -static void -UA_EventLoopPOSIX_stop(UA_EventLoopPOSIX *el) { - UA_LOCK(&el->elMutex); - - if(el->eventLoop.state != UA_EVENTLOOPSTATE_STARTED) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "The EventLoop is not running, cannot be stopped"); - UA_UNLOCK(&el->elMutex); - return; - } - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Stopping the EventLoop"); - - /* Set to STOPPING to prevent "normal use" */ - *(UA_EventLoopState*)(uintptr_t)&el->eventLoop.state = - UA_EVENTLOOPSTATE_STOPPING; - - /* Stop all event sources (asynchronous) */ - UA_EventSource *es = el->eventLoop.eventSources; - for(; es; es = es->next) { - if(es->state == UA_EVENTSOURCESTATE_STARTING || - es->state == UA_EVENTSOURCESTATE_STARTED) { - es->stop(es); - } - } - - /* Set to STOPPED if all EventSources are STOPPED */ - checkClosed(el); - - UA_UNLOCK(&el->elMutex); -} - -static UA_StatusCode -UA_EventLoopPOSIX_run(UA_EventLoopPOSIX *el, UA_UInt32 timeout) { - UA_LOCK(&el->elMutex); - - if(el->executing) { - UA_LOG_ERROR(el->eventLoop.logger, - UA_LOGCATEGORY_EVENTLOOP, - "Cannot run EventLoop from the run method itself"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - el->executing = true; - - if(el->eventLoop.state == UA_EVENTLOOPSTATE_FRESH || - el->eventLoop.state == UA_EVENTLOOPSTATE_STOPPED) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Cannot iterate a stopped EventLoop"); - el->executing = false; - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_LOG_TRACE(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Iterate the EventLoop"); - - /* Process cyclic callbacks */ - UA_DateTime dateBefore = - el->eventLoop.dateTime_nowMonotonic(&el->eventLoop); - - UA_DateTime dateNext = UA_Timer_process(&el->timer, dateBefore); - - /* Process delayed callbacks here: - * - Removes closed sockets already here instead of polling them again. - * - The timeout for polling is selected to be ready in time for the next - * cyclic callback. So we want to do little work between the timeout - * running out and executing the due cyclic callbacks. */ - processDelayed(el); - - /* A delayed callback could create another delayed callback (or re-add - * itself). In that case we don't want to wait (indefinitely) for an event - * to happen. Process queued events but don't sleep. Then process the - * delayed callbacks in the next iteration. */ - if(el->delayedCallbacks != NULL) - timeout = 0; - - /* Compute the remaining time */ - UA_DateTime maxDate = dateBefore + (timeout * UA_DATETIME_MSEC); - if(dateNext > maxDate) - dateNext = maxDate; - UA_DateTime listenTimeout = - dateNext - el->eventLoop.dateTime_nowMonotonic(&el->eventLoop); - if(listenTimeout < 0) - listenTimeout = 0; - - /* Listen on the active file-descriptors (sockets) from the - * ConnectionManagers */ - UA_StatusCode rv = UA_EventLoopPOSIX_pollFDs(el, listenTimeout); - - /* Check if the last EventSource was successfully stopped */ - if(el->eventLoop.state == UA_EVENTLOOPSTATE_STOPPING) - checkClosed(el); - - el->executing = false; - UA_UNLOCK(&el->elMutex); - return rv; -} - -/*****************************/ -/* Registering Event Sources */ -/*****************************/ - -static UA_StatusCode -UA_EventLoopPOSIX_registerEventSource(UA_EventLoopPOSIX *el, - UA_EventSource *es) { - UA_LOCK(&el->elMutex); - - /* Already registered? */ - if(es->state != UA_EVENTSOURCESTATE_FRESH) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "Cannot register the EventSource \"%.*s\": " - "already registered", - (int)es->name.length, (char*)es->name.data); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Add to linked list */ - es->next = el->eventLoop.eventSources; - el->eventLoop.eventSources = es; - - es->eventLoop = &el->eventLoop; - es->state = UA_EVENTSOURCESTATE_STOPPED; - - /* Start if the entire EventLoop is started */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - if(el->eventLoop.state == UA_EVENTLOOPSTATE_STARTED) - res = es->start(es); - - UA_UNLOCK(&el->elMutex); - return res; -} - -static UA_StatusCode -UA_EventLoopPOSIX_deregisterEventSource(UA_EventLoopPOSIX *el, - UA_EventSource *es) { - UA_LOCK(&el->elMutex); - - if(es->state != UA_EVENTSOURCESTATE_STOPPED) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Cannot deregister the EventSource %.*s: " - "Has to be stopped first", - (int)es->name.length, es->name.data); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Remove from the linked list */ - UA_EventSource **s = &el->eventLoop.eventSources; - while(*s) { - if(*s == es) { - *s = es->next; - break; - } - s = &(*s)->next; - } - - /* Set the state to non-registered */ - es->state = UA_EVENTSOURCESTATE_FRESH; - - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -/***************/ -/* Time Domain */ -/***************/ - -/* No special synchronization with an external source, just use the globally - * defined functions. */ - -static UA_DateTime -UA_EventLoopPOSIX_DateTime_now(UA_EventLoop *el) { - return UA_DateTime_now(); -} - -static UA_DateTime -UA_EventLoopPOSIX_DateTime_nowMonotonic(UA_EventLoop *el) { - return UA_DateTime_nowMonotonic(); -} - -static UA_Int64 -UA_EventLoopPOSIX_DateTime_localTimeUtcOffset(UA_EventLoop *el) { - return UA_DateTime_localTimeUtcOffset(); -} - -/*************************/ -/* Initialize and Delete */ -/*************************/ - -static UA_StatusCode -UA_EventLoopPOSIX_free(UA_EventLoopPOSIX *el) { - UA_LOCK(&el->elMutex); - - /* Check if the EventLoop can be deleted */ - if(el->eventLoop.state != UA_EVENTLOOPSTATE_STOPPED && - el->eventLoop.state != UA_EVENTLOOPSTATE_FRESH) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Cannot delete a running EventLoop"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Deregister and delete all the EventSources */ - while(el->eventLoop.eventSources) { - UA_EventSource *es = el->eventLoop.eventSources; - UA_EventLoopPOSIX_deregisterEventSource(el, es); - es->free(es); - } - - /* Remove the repeated timed callbacks */ - UA_Timer_clear(&el->timer); - - /* Process remaining delayed callbacks */ - processDelayed(el); - -#ifdef UA_ARCHITECTURE_WIN32 - /* Stop the Windows networking subsystem */ - WSACleanup(); -#endif - - /* Clean up */ - UA_UNLOCK(&el->elMutex); - UA_LOCK_DESTROY(&el->elMutex); - UA_free(el); - return UA_STATUSCODE_GOOD; -} - -static void -UA_EventLoopPOSIX_lock(UA_EventLoop *public_el) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - UA_LOCK(&el->elMutex); -} - -static void -UA_EventLoopPOSIX_unlock(UA_EventLoop *public_el) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)public_el; - UA_UNLOCK(&el->elMutex); -} - -UA_EventLoop * -UA_EventLoop_new_POSIX(const UA_Logger *logger) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*) - UA_calloc(1, sizeof(UA_EventLoopPOSIX)); - if(!el) - return NULL; - - UA_LOCK_INIT(&el->elMutex); - UA_Timer_init(&el->timer); - -#ifdef UA_ARCHITECTURE_WIN32 - /* Start the WSA networking subsystem on Windows */ - WSADATA wsaData; - WSAStartup(MAKEWORD(2, 2), &wsaData); -#endif - - /* Set the public EventLoop content */ - el->eventLoop.logger = logger; - - el->eventLoop.start = (UA_StatusCode (*)(UA_EventLoop*))UA_EventLoopPOSIX_start; - el->eventLoop.stop = (void (*)(UA_EventLoop*))UA_EventLoopPOSIX_stop; - el->eventLoop.run = (UA_StatusCode (*)(UA_EventLoop*, UA_UInt32))UA_EventLoopPOSIX_run; - el->eventLoop.free = (UA_StatusCode (*)(UA_EventLoop*))UA_EventLoopPOSIX_free; - - el->eventLoop.dateTime_now = UA_EventLoopPOSIX_DateTime_now; - el->eventLoop.dateTime_nowMonotonic = - UA_EventLoopPOSIX_DateTime_nowMonotonic; - el->eventLoop.dateTime_localTimeUtcOffset = - UA_EventLoopPOSIX_DateTime_localTimeUtcOffset; - - el->eventLoop.nextCyclicTime = UA_EventLoopPOSIX_nextCyclicTime; - el->eventLoop.addCyclicCallback = UA_EventLoopPOSIX_addCyclicCallback; - el->eventLoop.modifyCyclicCallback = UA_EventLoopPOSIX_modifyCyclicCallback; - el->eventLoop.removeCyclicCallback = UA_EventLoopPOSIX_removeCyclicCallback; - el->eventLoop.addTimedCallback = UA_EventLoopPOSIX_addTimedCallback; - el->eventLoop.addDelayedCallback = UA_EventLoopPOSIX_addDelayedCallback; - el->eventLoop.removeDelayedCallback = UA_EventLoopPOSIX_removeDelayedCallback; - - el->eventLoop.registerEventSource = - (UA_StatusCode (*)(UA_EventLoop*, UA_EventSource*)) - UA_EventLoopPOSIX_registerEventSource; - el->eventLoop.deregisterEventSource = - (UA_StatusCode (*)(UA_EventLoop*, UA_EventSource*)) - UA_EventLoopPOSIX_deregisterEventSource; - - el->eventLoop.lock = UA_EventLoopPOSIX_lock; - el->eventLoop.unlock = UA_EventLoopPOSIX_unlock; - - return &el->eventLoop; -} - -/* Reusable EventSource functionality */ - -UA_StatusCode -UA_EventLoopPOSIX_allocNetworkBuffer(UA_ConnectionManager *cm, - uintptr_t connectionId, - UA_ByteString *buf, - size_t bufSize) { - return UA_ByteString_allocBuffer(buf, bufSize); -} - -void -UA_EventLoopPOSIX_freeNetworkBuffer(UA_ConnectionManager *cm, - uintptr_t connectionId, - UA_ByteString *buf) { - UA_ByteString_clear(buf); -} - -UA_StatusCode -UA_EventLoopPOSIX_allocateRXBuffer(UA_POSIXConnectionManager *pcm) { - UA_UInt32 rxBufSize = 2u << 16; /* The default is 64kb */ - const UA_UInt32 *configRxBufSize = (const UA_UInt32 *) - UA_KeyValueMap_getScalar(&pcm->cm.eventSource.params, - UA_QUALIFIEDNAME(0, "recv-bufsize"), - &UA_TYPES[UA_TYPES_UINT32]); - if(configRxBufSize) - rxBufSize = *configRxBufSize; - if(pcm->rxBuffer.length != rxBufSize) { - UA_ByteString_clear(&pcm->rxBuffer); - return UA_ByteString_allocBuffer(&pcm->rxBuffer, rxBufSize); - } - return UA_STATUSCODE_GOOD; -} - -/* Socket Handling */ - -enum ZIP_CMP -cmpFD(const UA_FD *a, const UA_FD *b) { - if(*a == *b) - return ZIP_CMP_EQ; - return (*a < *b) ? ZIP_CMP_LESS : ZIP_CMP_MORE; -} - -UA_StatusCode -UA_EventLoopPOSIX_setNonBlocking(UA_FD sockfd) { -#ifndef UA_ARCHITECTURE_WIN32 - int opts = fcntl(sockfd, F_GETFL); - if(opts < 0 || fcntl(sockfd, F_SETFL, opts | O_NONBLOCK) < 0) - return UA_STATUSCODE_BADINTERNALERROR; -#else - u_long iMode = 1; - if(ioctlsocket(sockfd, FIONBIO, &iMode) != NO_ERROR) - return UA_STATUSCODE_BADINTERNALERROR; -#endif - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_EventLoopPOSIX_setNoSigPipe(UA_FD sockfd) { -#ifdef SO_NOSIGPIPE - int val = 1; - int res = UA_setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &val, sizeof(val)); - if(res < 0) - return UA_STATUSCODE_BADINTERNALERROR; -#endif - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_EventLoopPOSIX_setReusable(UA_FD sockfd) { - int enableReuseVal = 1; -#ifndef UA_ARCHITECTURE_WIN32 - int res = UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, - (const char*)&enableReuseVal, sizeof(enableReuseVal)); - res |= UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, - (const char*)&enableReuseVal, sizeof(enableReuseVal)); - return (res == 0) ? UA_STATUSCODE_GOOD : UA_STATUSCODE_BADINTERNALERROR; -#else - int res = UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, - (const char*)&enableReuseVal, sizeof(enableReuseVal)); - return (res == 0) ? UA_STATUSCODE_GOOD : UA_STATUSCODE_BADINTERNALERROR; -#endif -} - -/**** amalgamated original file "/arch/eventloop_posix_select.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#if !defined(UA_HAVE_EPOLL) - -UA_StatusCode -UA_EventLoopPOSIX_registerFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { - UA_LOCK_ASSERT(&el->elMutex, 1); - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Registering fd: %u", (unsigned)rfd->fd); - - /* Realloc */ - UA_RegisteredFD **fds_tmp = (UA_RegisteredFD**) - UA_realloc(el->fds, sizeof(UA_RegisteredFD*) * (el->fdsSize + 1)); - if(!fds_tmp) { - return UA_STATUSCODE_BADOUTOFMEMORY; - } - el->fds = fds_tmp; - - /* Add to the last entry */ - el->fds[el->fdsSize] = rfd; - el->fdsSize++; - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_EventLoopPOSIX_modifyFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { - /* Do nothing, it is enough if the data was changed in the rfd */ - UA_LOCK_ASSERT(&el->elMutex, 1); - return UA_STATUSCODE_GOOD; -} - -void -UA_EventLoopPOSIX_deregisterFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { - UA_LOCK_ASSERT(&el->elMutex, 1); - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Unregistering fd: %u", (unsigned)rfd->fd); - - /* Find the entry */ - size_t i = 0; - for(; i < el->fdsSize; i++) { - if(el->fds[i] == rfd) - break; - } - - /* Not found? */ - if(i == el->fdsSize) - return; - - if(el->fdsSize > 1) { - /* Move the last entry in the ith slot and realloc. */ - el->fdsSize--; - el->fds[i] = el->fds[el->fdsSize]; - UA_RegisteredFD **fds_tmp = (UA_RegisteredFD**) - UA_realloc(el->fds, sizeof(UA_RegisteredFD*) * el->fdsSize); - /* if realloc fails the fds are still in a correct state with - * possibly lost memory, so failing silently here is ok */ - if(fds_tmp) - el->fds = fds_tmp; - } else { - /* Remove the last entry */ - UA_free(el->fds); - el->fds = NULL; - el->fdsSize = 0; - } -} - -static UA_FD -setFDSets(UA_EventLoopPOSIX *el, fd_set *readset, fd_set *writeset, fd_set *errset) { - UA_LOCK_ASSERT(&el->elMutex, 1); - - FD_ZERO(readset); - FD_ZERO(writeset); - FD_ZERO(errset); - UA_FD highestfd = UA_INVALID_FD; - for(size_t i = 0; i < el->fdsSize; i++) { - UA_FD currentFD = el->fds[i]->fd; - - /* Add to the fd_sets */ - if(el->fds[i]->listenEvents & UA_FDEVENT_IN) - FD_SET(currentFD, readset); - if(el->fds[i]->listenEvents & UA_FDEVENT_OUT) - FD_SET(currentFD, writeset); - - /* Always return errors */ - FD_SET(currentFD, errset); - - /* Highest fd? */ - if(currentFD > highestfd || highestfd == UA_INVALID_FD) - highestfd = currentFD; - } - return highestfd; -} - -UA_StatusCode -UA_EventLoopPOSIX_pollFDs(UA_EventLoopPOSIX *el, UA_DateTime listenTimeout) { - UA_assert(listenTimeout >= 0); - UA_LOCK_ASSERT(&el->elMutex, 1); - - fd_set readset, writeset, errset; - UA_FD highestfd = setFDSets(el, &readset, &writeset, &errset); - - /* Nothing to do? */ - if(highestfd == UA_INVALID_FD) { - UA_LOG_TRACE(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "No valid FDs for processing"); - return UA_STATUSCODE_GOOD; - } - - struct timeval tmptv = { -#ifndef UA_ARCHITECTURE_WIN32 - (time_t)(listenTimeout / UA_DATETIME_SEC), - (suseconds_t)((listenTimeout % UA_DATETIME_SEC) / UA_DATETIME_USEC) -#else - (long)(listenTimeout / UA_DATETIME_SEC), - (long)((listenTimeout % UA_DATETIME_SEC) / UA_DATETIME_USEC) -#endif - }; - - UA_UNLOCK(&el->elMutex); - int selectStatus = UA_select(highestfd+1, &readset, &writeset, &errset, &tmptv); - UA_LOCK(&el->elMutex); - if(selectStatus < 0) { - /* We will retry, only log the error */ - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Error during select: %s", errno_str)); - return UA_STATUSCODE_GOOD; - } - - /* Loop over all registered FD to see if an event arrived. Yes, this is why - * select is slow for many open sockets. */ - for(size_t i = 0; i < el->fdsSize; i++) { - UA_RegisteredFD *rfd = el->fds[i]; - - /* The rfd is already registered for removal. Don't process incoming - * events any longer. */ - if(rfd->dc.callback) - continue; - - /* Event signaled for the fd? */ - short event = 0; - if(FD_ISSET(rfd->fd, &readset)) { - event = UA_FDEVENT_IN; - } else if(FD_ISSET(rfd->fd, &writeset)) { - event = UA_FDEVENT_OUT; - } else if(FD_ISSET(rfd->fd, &errset)) { - event = UA_FDEVENT_ERR; - } else { - continue; - } - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Processing event %u on fd %u", (unsigned)event, - (unsigned)rfd->fd); - - /* Call the EventSource callback */ - rfd->eventSourceCB(rfd->es, rfd, event); - - /* The fd has removed itself */ - if(i == el->fdsSize || rfd != el->fds[i]) - i--; - } - return UA_STATUSCODE_GOOD; -} - -#endif /* !defined(UA_HAVE_EPOLL) */ - -/**** amalgamated original file "/arch/eventloop_posix_epoll.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#if defined(UA_HAVE_EPOLL) - -UA_StatusCode -UA_EventLoopPOSIX_registerFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { - struct epoll_event event; - memset(&event, 0, sizeof(struct epoll_event)); - event.data.ptr = rfd; - event.events = 0; - if(rfd->listenEvents & UA_FDEVENT_IN) - event.events |= EPOLLIN; - if(rfd->listenEvents & UA_FDEVENT_OUT) - event.events |= EPOLLOUT; - - int err = epoll_ctl(el->epollfd, EPOLL_CTL_ADD, rfd->fd, &event); - if(err != 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not register for epoll (%s)", - rfd->fd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -UA_StatusCode -UA_EventLoopPOSIX_modifyFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { - struct epoll_event event; - memset(&event, 0, sizeof(struct epoll_event)); - event.data.ptr = rfd; - event.events = 0; - if(rfd->listenEvents & UA_FDEVENT_IN) - event.events |= EPOLLIN; - if(rfd->listenEvents & UA_FDEVENT_OUT) - event.events |= EPOLLOUT; - - int err = epoll_ctl(el->epollfd, EPOLL_CTL_MOD, rfd->fd, &event); - if(err != 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not modify for epoll (%s)", - rfd->fd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -void -UA_EventLoopPOSIX_deregisterFD(UA_EventLoopPOSIX *el, UA_RegisteredFD *rfd) { - int res = epoll_ctl(el->epollfd, EPOLL_CTL_DEL, rfd->fd, NULL); - if(res != 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not deregister from epoll (%s)", - rfd->fd, errno_str)); - } -} - -UA_StatusCode -UA_EventLoopPOSIX_pollFDs(UA_EventLoopPOSIX *el, UA_DateTime listenTimeout) { - UA_assert(listenTimeout >= 0); - - /* If there is a positive timeout, wait at least one millisecond, the - * minimum for blocking epoll_wait. This prevents a busy-loop, as the - * open62541 library allows even smaller timeouts, which can result in a - * zero timeout due to rounding to an integer here. */ - int timeout = (int)(listenTimeout / UA_DATETIME_MSEC); - if(timeout == 0 && listenTimeout > 0) - timeout = 1; - - /* Poll the registered sockets */ - struct epoll_event epoll_events[64]; - UA_UNLOCK(&el->elMutex); - int events = epoll_wait(el->epollfd, epoll_events, 64, timeout); - UA_LOCK(&el->elMutex); - - /* TODO: Replace with pwait2 for higher-precision timeouts once this is - * available in the standard library. - * - * struct timespec precisionTimeout = { - * (long)(listenTimeout / UA_DATETIME_SEC), - * (long)((listenTimeout % UA_DATETIME_SEC) * 100) - * }; - * int events = epoll_pwait2(epollfd, epoll_events, 64, - * precisionTimeout, NULL); */ - - /* Handle error conditions */ - if(events == -1) { - if(errno == EINTR) { - /* We will retry, only log the error */ - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Timeout during poll"); - return UA_STATUSCODE_GOOD; - } - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Error %s, closing the server socket", - errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Process all received events */ - for(int i = 0; i < events; i++) { - UA_RegisteredFD *rfd = (UA_RegisteredFD*)epoll_events[i].data.ptr; - - /* The rfd is already registered for removal. Don't process incoming - * events any longer. */ - if(rfd->dc.callback) - continue; - - /* Get the event */ - short revent = 0; - if((epoll_events[i].events & EPOLLIN) == EPOLLIN) { - revent = UA_FDEVENT_IN; - } else if((epoll_events[i].events & EPOLLOUT) == EPOLLOUT) { - revent = UA_FDEVENT_OUT; - } else { - revent = UA_FDEVENT_ERR; - } - - /* Call the EventSource callback */ - rfd->eventSourceCB(rfd->es, rfd, revent); - } - return UA_STATUSCODE_GOOD; -} - -#endif /* defined(UA_HAVE_EPOLL) */ - -/**** amalgamated original file "/arch/eventloop_posix_tcp.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - -/* Configuration parameters */ -#define TCP_PARAMETERSSIZE 6 -#define TCP_PARAMINDEX_RECVBUF 0 -#define TCP_PARAMINDEX_ADDR 1 -#define TCP_PARAMINDEX_PORT 2 -#define TCP_PARAMINDEX_LISTEN 3 -#define TCP_PARAMINDEX_VALIDATE 4 -#define TCP_PARAMINDEX_REUSE 5 - -static UA_KeyValueRestriction TCPConfigParameters[TCP_PARAMETERSSIZE] = { - {{0, UA_STRING_STATIC("recv-bufsize")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, - {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], false, true, true}, - {{0, UA_STRING_STATIC("port")}, &UA_TYPES[UA_TYPES_UINT16], true, true, false}, - {{0, UA_STRING_STATIC("listen")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("validate")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("reuse")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false} -}; - -typedef struct { - UA_RegisteredFD rfd; - - UA_ConnectionManager_connectionCallback applicationCB; - void *application; - void *context; -} TCP_FD; - -static void -TCP_shutdown(UA_ConnectionManager *cm, TCP_FD *conn); - -/* Do not merge packets on the socket (disable Nagle's algorithm) */ -static UA_StatusCode -TCP_setNoNagle(UA_FD sockfd) { - int val = 1; - int res = UA_setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); - if(res < 0) - return UA_STATUSCODE_BADINTERNALERROR; - return UA_STATUSCODE_GOOD; -} - -/* Test if the ConnectionManager can be stopped */ -static void -TCP_checkStopped(UA_POSIXConnectionManager *pcm) { - UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); - - if(pcm->fdsSize == 0 && - pcm->cm.eventSource.state == UA_EVENTSOURCESTATE_STOPPING) { - UA_LOG_DEBUG(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| All sockets closed, the EventLoop has stopped"); - pcm->cm.eventSource.state = UA_EVENTSOURCESTATE_STOPPED; - } -} - -static void -TCP_delayedClose(void *application, void *context) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; - UA_ConnectionManager *cm = &pcm->cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - TCP_FD *conn = (TCP_FD*)context; - - UA_LOCK(&el->elMutex); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "TCP %u\t| Delayed closing of the connection", - (unsigned)conn->rfd.fd); - - /* Ensure reuse is possible right away. Port-stealing is no longer an issue - * as the socket gets closed anyway. And we do not want to wait for the - * timeout to open a new socket for the same address and port. */ - UA_EventLoopPOSIX_setReusable(conn->rfd.fd); - - /* Deregister from the EventLoop */ - UA_EventLoopPOSIX_deregisterFD(el, &conn->rfd); - - /* Deregister internally */ - ZIP_REMOVE(UA_FDTree, &pcm->fds, &conn->rfd); - UA_assert(pcm->fdsSize > 0); - pcm->fdsSize--; - - /* Signal closing to the application */ - conn->applicationCB(cm, (uintptr_t)conn->rfd.fd, - conn->application, &conn->context, - UA_CONNECTIONSTATE_CLOSING, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); - - /* Close the socket */ - int ret = UA_close(conn->rfd.fd); - if(ret == 0) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Socket closed", (unsigned)conn->rfd.fd); - } else { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not close the socket (%s)", - (unsigned)conn->rfd.fd, errno_str)); - } - - UA_free(conn); - - /* Check if this was the last connection for a closing ConnectionManager */ - TCP_checkStopped(pcm); - - UA_UNLOCK(&el->elMutex); -} - -static int -getSockError(TCP_FD *conn) { - int error = 0; -#ifndef UA_ARCHITECTURE_WIN32 - socklen_t errlen = sizeof(int); - int err = getsockopt(conn->rfd.fd, SOL_SOCKET, SO_ERROR, &error, &errlen); -#else - int errlen = (int)sizeof(int); - int err = getsockopt((SOCKET)conn->rfd.fd, SOL_SOCKET, SO_ERROR, - (char*)&error, &errlen); -#endif - return (err == 0) ? error : err; -} - -/* Gets called when a connection socket opens, receives data or closes */ -static void -TCP_connectionSocketCallback(UA_ConnectionManager *cm, TCP_FD *conn, - short event) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Activity on the socket", - (unsigned)conn->rfd.fd); - - /* Error. The connection has closed. */ - if(event == UA_FDEVENT_ERR) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| The connection closes with error %i", - (unsigned)conn->rfd.fd, getSockError(conn)); - TCP_shutdown(cm, conn); - return; - } - - /* Write-Event, a new connection has opened. But some errors come as an - * out-event. For example if the remote side could not be reached to - * initiate the connection. So we check manually for error conditions on - * the socket. */ - if(event == UA_FDEVENT_OUT) { - int error = getSockError(conn); - if(error != 0) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| The connection closes with error %i", - (unsigned)conn->rfd.fd, error); - TCP_shutdown(cm, conn); - return; - } - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Opening a new connection", - (unsigned)conn->rfd.fd); - - /* Now we are interested in read-events. */ - conn->rfd.listenEvents = UA_FDEVENT_IN; - UA_EventLoopPOSIX_modifyFD(el, &conn->rfd); - - /* A new socket has opened. Signal it to the application. */ - conn->applicationCB(cm, (uintptr_t)conn->rfd.fd, - conn->application, &conn->context, - UA_CONNECTIONSTATE_ESTABLISHED, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); - return; - } - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Allocate receive buffer", - (unsigned)conn->rfd.fd); - - /* Use the already allocated receive-buffer */ - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_ByteString response = pcm->rxBuffer; - - /* Receive */ -#ifndef UA_ARCHITECTURE_WIN32 - ssize_t ret = UA_recv(conn->rfd.fd, (char*)response.data, - response.length, MSG_DONTWAIT); -#else - int ret = UA_recv(conn->rfd.fd, (char*)response.data, - response.length, MSG_DONTWAIT); -#endif - - /* Receive has failed */ - if(ret <= 0) { - if(UA_ERRNO == UA_INTERRUPTED || - UA_ERRNO == UA_WOULDBLOCK || - UA_ERRNO == UA_AGAIN) - return; /* Temporary error on an non-blocking socket */ - - /* Orderly shutdown of the socket */ - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| recv signaled the socket was shutdown (%s)", - (unsigned)conn->rfd.fd, errno_str)); - TCP_shutdown(cm, conn); - return; - } - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Received message of size %u", - (unsigned)conn->rfd.fd, (unsigned)ret); - - /* Callback to the application layer */ - response.length = (size_t)ret; /* Set the length of the received buffer */ - conn->applicationCB(cm, (uintptr_t)conn->rfd.fd, - conn->application, &conn->context, - UA_CONNECTIONSTATE_ESTABLISHED, - &UA_KEYVALUEMAP_NULL, response); -} - -/* Gets called when a new connection opens or if the listenSocket is closed */ -static void -TCP_listenSocketCallback(UA_ConnectionManager *cm, TCP_FD *conn, short event) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Callback on server socket", - (unsigned)conn->rfd.fd); - - /* Try to accept a new connection */ - struct sockaddr_storage remote; - socklen_t remote_size = sizeof(remote); - UA_FD newsockfd = accept(conn->rfd.fd, (struct sockaddr*)&remote, &remote_size); - if(newsockfd == UA_INVALID_FD) { - /* Temporary error -- retry */ - if(UA_ERRNO == UA_INTERRUPTED) - return; - - /* Close the listen socket */ - if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPING) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error %s, closing the server socket", - (unsigned)conn->rfd.fd, errno_str)); - } - - TCP_shutdown(cm, conn); - return; - } - - /* Log the name of the remote host */ - char hoststr[UA_MAXHOSTNAME_LENGTH]; - int get_res = UA_getnameinfo((struct sockaddr *)&remote, sizeof(remote), - hoststr, sizeof(hoststr), - NULL, 0, NI_NUMERICHOST); - if(get_res != 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| getnameinfo(...) could not resolve the " - "hostname (%s)", (unsigned)conn->rfd.fd, errno_str)); - } - UA_LOG_INFO(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Connection opened from \"%s\" via the server socket %u", - (unsigned)newsockfd, hoststr, (unsigned)conn->rfd.fd); - - /* Configure the new socket */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - /* res |= UA_EventLoopPOSIX_setNonBlocking(newsockfd); Inherited from the listen-socket */ - res |= UA_EventLoopPOSIX_setNoSigPipe(newsockfd); /* Supress interrupts from the socket */ - res |= TCP_setNoNagle(newsockfd); /* Disable Nagle's algorithm */ - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error seeting the TCP options (%s)", - (unsigned)newsockfd, errno_str)); - /* Close the new socket */ - UA_close(newsockfd); - return; - } - - /* Allocate the UA_RegisteredFD */ - TCP_FD *newConn = (TCP_FD*)UA_calloc(1, sizeof(TCP_FD)); - if(!newConn) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error allocating memory for the socket", - (unsigned)newsockfd); - UA_close(newsockfd); - return; - } - - newConn->rfd.fd = newsockfd; - newConn->rfd.listenEvents = UA_FDEVENT_IN; - newConn->rfd.es = &cm->eventSource; - newConn->rfd.eventSourceCB = (UA_FDCallback)TCP_connectionSocketCallback; - newConn->applicationCB = conn->applicationCB; - newConn->application = conn->application; - newConn->context = conn->context; - - /* Register in the EventLoop. Signal to the user if registering failed. */ - res = UA_EventLoopPOSIX_registerFD(el, &newConn->rfd); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error registering the socket", - (unsigned)newsockfd); - UA_free(newConn); - UA_close(newsockfd); - return; - } - - /* Register internally in the EventSource */ - ZIP_INSERT(UA_FDTree, &pcm->fds, &newConn->rfd); - pcm->fdsSize++; - - /* Forward the remote hostname to the application */ - UA_KeyValuePair kvp; - kvp.key = UA_QUALIFIEDNAME(0, "remote-address"); - UA_String hostName = UA_STRING(hoststr); - UA_Variant_setScalar(&kvp.value, &hostName, &UA_TYPES[UA_TYPES_STRING]); - - UA_KeyValueMap kvm; - kvm.mapSize = 1; - kvm.map = &kvp; - - /* The socket has opened. Signal it to the application. */ - newConn->applicationCB(cm, (uintptr_t)newsockfd, - newConn->application, &newConn->context, - UA_CONNECTIONSTATE_ESTABLISHED, - &kvm, UA_BYTESTRING_NULL); -} - -static UA_StatusCode -TCP_registerListenSocket(UA_POSIXConnectionManager *pcm, struct addrinfo *ai, - const char *hostname, UA_UInt16 port, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate, UA_Boolean reuseaddr) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Translate INADDR_ANY to IPv4/IPv6 address */ - char addrstr[UA_MAXHOSTNAME_LENGTH]; - int get_res = UA_getnameinfo(ai->ai_addr, ai->ai_addrlen, - addrstr, sizeof(addrstr), NULL, 0, 0); - if(get_res != 0) { - get_res = UA_getnameinfo(ai->ai_addr, ai->ai_addrlen, - addrstr, sizeof(addrstr), - NULL, 0, NI_NUMERICHOST); - if(get_res != 0) { - addrstr[0] = 0; - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| getnameinfo(...) could not resolve the " - "hostname (%s)", errno_str)); - } - } - - /* Create the server socket */ - UA_FD listenSocket = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); - if(listenSocket == UA_INVALID_FD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error opening the listen socket for " - "\"%s\" on port %u (%s)", - (unsigned)listenSocket, addrstr, port, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Some Linux distributions have net.ipv6.bindv6only not activated. So - * sockets can double-bind to IPv4 and IPv6. This leads to problems. Use - * AF_INET6 sockets only for IPv6. */ -#if UA_IPV6 - int optval = 1; - if(ai->ai_family == AF_INET6 && - UA_setsockopt(listenSocket, IPPROTO_IPV6, IPV6_V6ONLY, - (const char*)&optval, sizeof(optval)) == -1) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not set an IPv6 socket to IPv6 only", - (unsigned)listenSocket); - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } -#endif - - /* Allow rebinding to the IP/port combination. Eg. to restart the server. */ - if(reuseaddr && - UA_EventLoopPOSIX_setReusable(listenSocket) != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not make the socket addr reusable", - (unsigned)listenSocket); - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Set the socket non-blocking */ - if(UA_EventLoopPOSIX_setNonBlocking(listenSocket) != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not set the socket non-blocking", - (unsigned)listenSocket); - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Supress interrupts from the socket */ - if(UA_EventLoopPOSIX_setNoSigPipe(listenSocket) != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Could not disable SIGPIPE", - (unsigned)listenSocket); - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Bind socket to address */ - int ret = bind(listenSocket, ai->ai_addr, (socklen_t)ai->ai_addrlen); - - /* Get the port being used if dynamic porting was used */ - if(port == 0) { - struct sockaddr_in sin; - memset(&sin, 0, sizeof(sin)); - socklen_t len = sizeof(sin); - getsockname(listenSocket, (struct sockaddr *)&sin, &len); - port = ntohs(sin.sin_port); - } - - /* If the INADDR_ANY is used, use the local hostname */ - char hoststr[UA_MAXHOSTNAME_LENGTH]; - if(hostname) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Creating listen socket for \"%s\" on port %u", - (unsigned)listenSocket, hostname, port); - } else { - gethostname(hoststr, UA_MAXHOSTNAME_LENGTH); - hostname = hoststr; - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Creating listen socket for \"%s\" " - "(with local hostname \"%s\") on port %u", - (unsigned)listenSocket, addrstr, hostname, port); - } - - if(ret < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error binding the socket to the address %s (%s)", - (unsigned)listenSocket, hostname, errno_str)); - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Only validate, don't actually start listening */ - if(validate) { - UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ - UA_close(listenSocket); - return UA_STATUSCODE_GOOD; - } - - /* Start listening */ - if(listen(listenSocket, UA_MAXBACKLOG) < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error listening on the socket (%s)", - (unsigned)listenSocket, errno_str)); - UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Allocate the connection */ - TCP_FD *newConn = (TCP_FD*)UA_calloc(1, sizeof(TCP_FD)); - if(!newConn) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error allocating memory for the socket", - (unsigned)listenSocket); - UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ - UA_close(listenSocket); - return UA_STATUSCODE_BADINTERNALERROR; - } - - newConn->rfd.fd = listenSocket; - newConn->rfd.listenEvents = UA_FDEVENT_IN; - newConn->rfd.es = &pcm->cm.eventSource; - newConn->rfd.eventSourceCB = (UA_FDCallback)TCP_listenSocketCallback; - newConn->applicationCB = connectionCallback; - newConn->application = application; - newConn->context = context; - - /* Register in the EventLoop */ - UA_StatusCode res = UA_EventLoopPOSIX_registerFD(el, &newConn->rfd); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error registering the socket", - (unsigned)listenSocket); - UA_free(newConn); - UA_EventLoopPOSIX_setReusable(listenSocket); /* Ensure reuse is possible */ - UA_close(listenSocket); - return res; - } - - /* Register internally */ - ZIP_INSERT(UA_FDTree, &pcm->fds, &newConn->rfd); - pcm->fdsSize++; - - /* Set up the callback parameters */ - UA_String listenAddress = UA_STRING((char*)(uintptr_t)hostname); - UA_KeyValuePair params[2]; - params[0].key = UA_QUALIFIEDNAME(0, "listen-address"); - UA_Variant_setScalar(¶ms[0].value, &listenAddress, &UA_TYPES[UA_TYPES_STRING]); - params[1].key = UA_QUALIFIEDNAME(0, "listen-port"); - UA_Variant_setScalar(¶ms[1].value, &port, &UA_TYPES[UA_TYPES_UINT16]); - UA_KeyValueMap paramMap = {2, params}; - - /* Announce the listen-socket in the application */ - connectionCallback(&pcm->cm, (uintptr_t)listenSocket, - application, &newConn->context, - UA_CONNECTIONSTATE_ESTABLISHED, - ¶mMap, UA_BYTESTRING_NULL); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -TCP_registerListenSockets(UA_POSIXConnectionManager *pcm, const char *hostname, - UA_UInt16 port, void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate, UA_Boolean reuseaddr) { - UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); - - /* Create a string for the port */ - char portstr[6]; - mp_snprintf(portstr, sizeof(portstr), "%d", port); - - /* Get all the interface and IPv4/6 combinations for the configured hostname */ - struct addrinfo hints, *res; - memset(&hints, 0, sizeof hints); -#if UA_IPV6 - hints.ai_family = AF_UNSPEC; /* Allow IPv4 and IPv6 */ -#else - hints.ai_family = AF_INET; /* IPv4 only */ -#endif - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = IPPROTO_TCP; - hints.ai_flags = AI_PASSIVE; - - int retcode = getaddrinfo(hostname, portstr, &hints, &res); - if(retcode != 0) { -#ifdef UA_ARCHITECTURE_WIN32 - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Lookup for \"%s\" on port %u failed (%s)", - hostname, port, errno_str)); -#else - UA_LOG_WARNING(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Lookup for \"%s\" on port %u failed (%s)", - hostname, port, gai_strerror(retcode)); -#endif - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Add listen sockets. Aggregate the results to see if at least one - * listen-socket was established. */ - UA_StatusCode total_result = UA_INT32_MAX; - struct addrinfo *ai = res; - while(ai) { - total_result &= TCP_registerListenSocket(pcm, ai, hostname, port, application, context, - connectionCallback, validate, reuseaddr); - ai = ai->ai_next; - } - freeaddrinfo(res); - - return total_result; -} - -/* Close the connection via a delayed callback */ -static void -TCP_shutdown(UA_ConnectionManager *cm, TCP_FD *conn) { - /* Already closing - nothing to do */ - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - if(conn->rfd.dc.callback) { - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Cannot shutdown - already triggered", - (unsigned)conn->rfd.fd); - return; - } - - /* Shutdown the socket to cancel the current select/epoll */ - shutdown(conn->rfd.fd, UA_SHUT_RDWR); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Shutdown triggered", - (unsigned)conn->rfd.fd); - - /* Add to the delayed callback list. Will be cleaned up in the next - * iteration. */ - UA_DelayedCallback *dc = &conn->rfd.dc; - dc->callback = TCP_delayedClose; - dc->application = cm; - dc->context = conn; - - /* Don't use the "public" el->addDelayedCallback. It takes a lock. */ - dc->next = el->delayedCallbacks; - el->delayedCallbacks = dc; -} - -static UA_StatusCode -TCP_shutdownConnection(UA_ConnectionManager *cm, uintptr_t connectionId) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; - UA_LOCK(&el->elMutex); - - UA_FD fd = (UA_FD)connectionId; - TCP_FD *conn = (TCP_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!conn) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Cannot close TCP connection %u - not found", - (unsigned)connectionId); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADNOTFOUND; - } - - TCP_shutdown(cm, conn); - - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -TCP_sendWithConnection(UA_ConnectionManager *cm, uintptr_t connectionId, - const UA_KeyValueMap *params, UA_ByteString *buf) { - /* We may not have a lock. But we need not take it. As the connectionId is - * the fd, no need to do a lookup and access internal data strucures. */ - - /* Prevent OS signals when sending to a closed socket */ - int flags = MSG_NOSIGNAL; - - struct pollfd tmp_poll_fd; - tmp_poll_fd.fd = (UA_FD)connectionId; - tmp_poll_fd.events = UA_POLLOUT; - - /* Send the full buffer. This may require several calls to send */ - size_t nWritten = 0; - do { - ssize_t n = 0; - do { - UA_LOG_DEBUG(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Attempting to send", (unsigned)connectionId); - size_t bytes_to_send = buf->length - nWritten; - n = UA_send((UA_FD)connectionId, - (const char*)buf->data + nWritten, - bytes_to_send, flags); - if(n < 0) { - /* An error we cannot recover from? */ - if(UA_ERRNO != UA_INTERRUPTED && UA_ERRNO != UA_WOULDBLOCK && - UA_ERRNO != UA_AGAIN) - goto shutdown; - - /* Poll for the socket resources to become available and retry - * (blocking) */ - int poll_ret; - do { - poll_ret = UA_poll(&tmp_poll_fd, 1, 100); - if(poll_ret < 0 && UA_ERRNO != UA_INTERRUPTED) - goto shutdown; - } while(poll_ret <= 0); - } - } while(n < 0); - nWritten += (size_t)n; - } while(nWritten < buf->length); - - /* Free the buffer */ - UA_ByteString_clear(buf); - return UA_STATUSCODE_GOOD; - - shutdown: - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Send failed with error %s", - (unsigned)connectionId, errno_str)); - TCP_shutdownConnection(cm, connectionId); - UA_ByteString_clear(buf); - return UA_STATUSCODE_BADCONNECTIONCLOSED; -} - -/* Create a listen-socket that waits for incoming connections */ -static UA_StatusCode -TCP_openPassiveConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Get the port parameter */ - const UA_UInt16 *port = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_PORT].name, - &UA_TYPES[UA_TYPES_UINT16]); - UA_assert(port); /* existence is checked before */ - - /* Get the address parameter */ - const UA_Variant *addrs = - UA_KeyValueMap_get(params, TCPConfigParameters[TCP_PARAMINDEX_ADDR].name); - size_t addrsSize = 0; - if(addrs) { - UA_assert(addrs->type == &UA_TYPES[UA_TYPES_STRING]); - if(UA_Variant_isScalar(addrs)) - addrsSize = 1; - else - addrsSize = addrs->arrayLength; - } - - /* Get the reuseaddr parameter */ - UA_Boolean reuseaddr = false; - const UA_Boolean *reuseaddrTmp = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_REUSE].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(reuseaddrTmp) - reuseaddr = *reuseaddrTmp; - -#ifdef UA_ENABLE_ALLOW_REUSEADDR - reuseaddr = true; -#endif - - /* Undefined or empty addresses array -> listen on all interfaces */ - if(addrsSize == 0) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Listening on all interfaces"); - return TCP_registerListenSockets(pcm, NULL, *port, application, - context, connectionCallback, validate, reuseaddr); - } - - /* Iterate over the configured hostnames */ - UA_String *hostStrings = (UA_String*)addrs->data; - UA_StatusCode retval = UA_STATUSCODE_BADINTERNALERROR; - for(size_t i = 0; i < addrsSize; i++) { - char hostname[512]; - if(hostStrings[i].length >= sizeof(hostname)) - continue; - memcpy(hostname, hostStrings[i].data, hostStrings->length); - hostname[hostStrings->length] = '\0'; - if(TCP_registerListenSockets(pcm, hostname, *port, application, - context, connectionCallback, validate, reuseaddr) == UA_STATUSCODE_GOOD) - retval = UA_STATUSCODE_GOOD; - } - return retval; -} - -/* Open a TCP connection to a remote host */ -static UA_StatusCode -TCP_openActiveConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Get the connection parameters */ - char hostname[UA_MAXHOSTNAME_LENGTH]; - char portStr[UA_MAXPORTSTR_LENGTH]; - - /* Prepare the port parameter as a string */ - const UA_UInt16 *port = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_PORT].name, - &UA_TYPES[UA_TYPES_UINT16]); - UA_assert(port); /* existence is checked before */ - mp_snprintf(portStr, UA_MAXPORTSTR_LENGTH, "%d", *port); - - /* Prepare the hostname string */ - const UA_String *addr = (const UA_String*) - UA_KeyValueMap_getScalar(params, TCPConfigParameters[TCP_PARAMINDEX_ADDR].name, - &UA_TYPES[UA_TYPES_STRING]); - if(!addr) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Open TCP Connection: No hostname defined, aborting"); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(addr->length >= UA_MAXHOSTNAME_LENGTH) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "TCP\t| Open TCP Connection: Hostname too long, aborting"); - return UA_STATUSCODE_BADINTERNALERROR; - } - strncpy(hostname, (const char*)addr->data, addr->length); - hostname[addr->length] = 0; - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Open a connection to \"%s\" on port %s", hostname, portStr); - - /* Create the socket description from the connectString - * TODO: Make this non-blocking */ - struct addrinfo hints, *info; - memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - int error = getaddrinfo(hostname, portStr, &hints, &info); - if(error != 0) { -#ifdef UA_ARCHITECTURE_WIN32 - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Lookup of %s failed (%s)", - hostname, errno_str)); -#else - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Lookup of %s failed (%s)", - hostname, gai_strerror(error)); -#endif - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Create a socket */ - UA_FD newSock = socket(info->ai_family, info->ai_socktype, info->ai_protocol); - if(newSock == UA_INVALID_FD) { - freeaddrinfo(info); - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Could not create socket to connect to %s (%s)", - hostname, errno_str)); - return UA_STATUSCODE_BADDISCONNECT; - } - - /* Set the socket options */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - res |= UA_EventLoopPOSIX_setNonBlocking(newSock); - res |= UA_EventLoopPOSIX_setNoSigPipe(newSock); - res |= TCP_setNoNagle(newSock); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Could not set socket options: %s", errno_str)); - freeaddrinfo(info); - UA_close(newSock); - return res; - } - - /* Only validate, don't actually open the connection */ - if(validate) { - freeaddrinfo(info); - UA_close(newSock); - return UA_STATUSCODE_GOOD; - } - - /* Non-blocking connect */ - error = UA_connect(newSock, info->ai_addr, info->ai_addrlen); - freeaddrinfo(info); - if(error != 0 && - UA_ERRNO != UA_INPROGRESS && - UA_ERRNO != UA_WOULDBLOCK) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Connecting the socket to %s failed (%s)", - hostname, errno_str)); - UA_close(newSock); - return UA_STATUSCODE_BADDISCONNECT; - } - - /* Allocate the UA_RegisteredFD */ - TCP_FD *newConn = (TCP_FD*)UA_calloc(1, sizeof(TCP_FD)); - if(!newConn) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Error allocating memory for the socket", - (unsigned)newSock); - UA_close(newSock); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - newConn->rfd.fd = newSock; - newConn->rfd.es = &pcm->cm.eventSource; - newConn->rfd.eventSourceCB = (UA_FDCallback)TCP_connectionSocketCallback; - newConn->rfd.listenEvents = UA_FDEVENT_OUT; /* Switched to _IN once the - * connection is open */ - newConn->applicationCB = connectionCallback; - newConn->application = application; - newConn->context = context; - - /* Register the fd to trigger when output is possible (the connection is open) */ - res = UA_EventLoopPOSIX_registerFD(el, &newConn->rfd); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Registering the socket to connect to %s failed", hostname); - UA_close(newSock); - UA_free(newConn); - return res; - } - - /* Register internally in the EventSource */ - ZIP_INSERT(UA_FDTree, &pcm->fds, &newConn->rfd); - pcm->fdsSize++; - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP %u\t| Opening a connection to \"%s\" on port %s", - (unsigned)newSock, hostname, portStr); - - /* Signal the new connection to the application as asynchonously opening */ - connectionCallback(&pcm->cm, (uintptr_t)newSock, - application, &newConn->context, - UA_CONNECTIONSTATE_OPENING, &UA_KEYVALUEMAP_NULL, - UA_BYTESTRING_NULL); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -TCP_openConnection(UA_ConnectionManager *cm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK(&el->elMutex); - - if(cm->eventSource.state != UA_EVENTSOURCESTATE_STARTED) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Cannot open a connection for a " - "ConnectionManager that is not started"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check the parameters */ - UA_StatusCode res = - UA_KeyValueRestriction_validate(el->eventLoop.logger, "TCP", - &TCPConfigParameters[1], - TCP_PARAMETERSSIZE-1, params); - if(res != UA_STATUSCODE_GOOD) { - UA_UNLOCK(&el->elMutex); - return res; - } - - /* Only validate the parameters? */ - UA_Boolean validate = false; - const UA_Boolean *validateParam = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, - TCPConfigParameters[TCP_PARAMINDEX_VALIDATE].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(validateParam) - validate = *validateParam; - - /* Listen or active connection? */ - UA_Boolean listen = false; - const UA_Boolean *listenParam = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, - TCPConfigParameters[TCP_PARAMINDEX_LISTEN].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(listenParam) - listen = *listenParam; - - if(listen) { - res = TCP_openPassiveConnection(pcm, params, application, context, - connectionCallback, validate); - } else { - res = TCP_openActiveConnection(pcm, params, application, context, - connectionCallback, validate); - } - - UA_UNLOCK(&el->elMutex); - return res; -} - -static UA_StatusCode -TCP_eventSourceStart(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - if(!el) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_LOCK(&el->elMutex); - - /* Check the state */ - if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPED) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| To start the ConnectionManager, it has to be " - "registered in an EventLoop and not started yet"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check the parameters */ - UA_StatusCode res = - UA_KeyValueRestriction_validate(el->eventLoop.logger, "TCP", - TCPConfigParameters, 1, - &cm->eventSource.params); - if(res != UA_STATUSCODE_GOOD) - goto finish; - - /* Allocate the rx buffer */ - res = UA_EventLoopPOSIX_allocateRXBuffer(pcm); - if(res != UA_STATUSCODE_GOOD) - goto finish; - - /* Set the EventSource to the started state */ - cm->eventSource.state = UA_EVENTSOURCESTATE_STARTED; - - finish: - UA_UNLOCK(&el->elMutex); - return res; -} - -static void * -TCP_shutdownCB(void *application, UA_RegisteredFD *rfd) { - UA_ConnectionManager *cm = (UA_ConnectionManager*)application; - TCP_shutdown(cm, (TCP_FD*)rfd); - return NULL; -} - -static void -TCP_eventSourceStop(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - (void)el; - - UA_LOCK(&el->elMutex); - - UA_LOG_INFO(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "TCP\t| Shutting down the ConnectionManager"); - - /* Prevent new connections to open */ - cm->eventSource.state = UA_EVENTSOURCESTATE_STOPPING; - - /* Shutdown all existing connection */ - ZIP_ITER(UA_FDTree, &pcm->fds, TCP_shutdownCB, cm); - - /* All sockets closed? Otherwise iterate some more. */ - TCP_checkStopped(pcm); - - UA_UNLOCK(&el->elMutex); -} - -static UA_StatusCode -TCP_eventSourceDelete(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - if(cm->eventSource.state >= UA_EVENTSOURCESTATE_STARTING) { - UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "TCP\t| The EventSource must be stopped before it can be deleted"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_ByteString_clear(&pcm->rxBuffer); - UA_KeyValueMap_clear(&cm->eventSource.params); - UA_String_clear(&cm->eventSource.name); - UA_free(cm); - - return UA_STATUSCODE_GOOD; -} - -static const char *tcpName = "tcp"; - -UA_ConnectionManager * -UA_ConnectionManager_new_POSIX_TCP(const UA_String eventSourceName) { - UA_POSIXConnectionManager *cm = (UA_POSIXConnectionManager*) - UA_calloc(1, sizeof(UA_POSIXConnectionManager)); - if(!cm) - return NULL; - - cm->cm.eventSource.eventSourceType = UA_EVENTSOURCETYPE_CONNECTIONMANAGER; - UA_String_copy(&eventSourceName, &cm->cm.eventSource.name); - cm->cm.eventSource.start = (UA_StatusCode (*)(UA_EventSource *))TCP_eventSourceStart; - cm->cm.eventSource.stop = (void (*)(UA_EventSource *))TCP_eventSourceStop; - cm->cm.eventSource.free = (UA_StatusCode (*)(UA_EventSource *))TCP_eventSourceDelete; - cm->cm.protocol = UA_STRING((char*)(uintptr_t)tcpName); - cm->cm.openConnection = TCP_openConnection; - cm->cm.allocNetworkBuffer = UA_EventLoopPOSIX_allocNetworkBuffer; - cm->cm.freeNetworkBuffer = UA_EventLoopPOSIX_freeNetworkBuffer; - cm->cm.sendWithConnection = TCP_sendWithConnection; - cm->cm.closeConnection = TCP_shutdownConnection; - return &cm->cm; -} - -/**** amalgamated original file "/arch/eventloop_posix_udp.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021-2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - * Copyright 2021 (c) Fraunhofer IOSB (Author: Jan Hermes) - */ - - -#define IPV4_PREFIX_MASK 0xF0 -#define IPV4_MULTICAST_PREFIX 0xE0 -#if UA_IPV6 -# define IPV6_PREFIX_MASK 0xFF -# define IPV6_MULTICAST_PREFIX 0xFF -#endif - -/* Configuration parameters */ -#define UDP_PARAMETERSSIZE 10 -#define UDP_PARAMINDEX_RECVBUF 0 -#define UDP_PARAMINDEX_LISTEN 1 -#define UDP_PARAMINDEX_ADDR 2 -#define UDP_PARAMINDEX_PORT 3 -#define UDP_PARAMINDEX_INTERFACE 4 -#define UDP_PARAMINDEX_TTL 5 -#define UDP_PARAMINDEX_LOOPBACK 6 -#define UDP_PARAMINDEX_REUSE 7 -#define UDP_PARAMINDEX_SOCKPRIO 8 -#define UDP_PARAMINDEX_VALIDATE 9 - -static UA_KeyValueRestriction UDPConfigParameters[UDP_PARAMETERSSIZE] = { - {{0, UA_STRING_STATIC("recv-bufsize")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, - {{0, UA_STRING_STATIC("listen")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], false, true, true}, - {{0, UA_STRING_STATIC("port")}, &UA_TYPES[UA_TYPES_UINT16], true, true, false}, - {{0, UA_STRING_STATIC("interface")}, &UA_TYPES[UA_TYPES_STRING], false, true, false}, - {{0, UA_STRING_STATIC("ttl")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, - {{0, UA_STRING_STATIC("loopback")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("reuse")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("sockpriority")}, &UA_TYPES[UA_TYPES_UINT32], false, true, false}, - {{0, UA_STRING_STATIC("validate")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false} -}; - -/* A registered file descriptor with an additional method pointer */ -typedef struct { - UA_RegisteredFD rfd; - - UA_ConnectionManager_connectionCallback applicationCB; - void *application; - void *context; - - struct sockaddr_storage sendAddr; -#ifdef UA_ARCHITECTURE_WIN32 - size_t sendAddrLength; -#else - socklen_t sendAddrLength; -#endif -} UDP_FD; - -typedef enum { - MULTICASTTYPE_NONE = 0, - MULTICASTTYPE_IPV4, - MULTICASTTYPE_IPV6 -} MultiCastType; - -typedef union { -#if !defined(ip_mreqn) - struct ip_mreq ipv4; -#else - struct ip_mreqn ipv4; -#endif -#if UA_IPV6 - struct ipv6_mreq ipv6; -#endif -} MulticastRequest; - -static UA_Boolean -isMulticastAddress(const UA_Byte *address, UA_Byte mask, UA_Byte prefix) { - return (address[0] & mask) == prefix; -} - -static MultiCastType -multiCastType(struct addrinfo *info) { - const UA_Byte *address; - if(info->ai_family == AF_INET) { - address = (UA_Byte *)&((struct sockaddr_in *)info->ai_addr)->sin_addr; - if(isMulticastAddress(address, IPV4_PREFIX_MASK, IPV4_MULTICAST_PREFIX)) - return MULTICASTTYPE_IPV4; -#if UA_IPV6 - } else if(info->ai_family == AF_INET6) { - address = (UA_Byte *)&((struct sockaddr_in6 *)info->ai_addr)->sin6_addr; - if(isMulticastAddress(address, IPV6_PREFIX_MASK, IPV6_MULTICAST_PREFIX)) - return MULTICASTTYPE_IPV6; -#endif - } - return MULTICASTTYPE_NONE; -} - -#ifdef UA_ARCHITECTURE_WIN32 - -#define ADDR_BUFFER_SIZE 15000 /* recommended size in the MSVC docs */ - -static UA_StatusCode -setMulticastInterface(const char *netif, struct addrinfo *info, - MulticastRequest *req, const UA_Logger *logger) { - ULONG outBufLen = ADDR_BUFFER_SIZE; - UA_STACKARRAY(char, addrBuf, ADDR_BUFFER_SIZE); - - /* Get the network interface descriptions */ - ULONG flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | - GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME; - PIP_ADAPTER_ADDRESSES ifaddr = (IP_ADAPTER_ADDRESSES *)addrBuf; - DWORD ret = GetAdaptersAddresses(info->ai_family, flags, NULL, ifaddr, &outBufLen); - if(ret != NO_ERROR) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, - "UDP\t| Interface configuration preparation failed"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Iterate through linked list of network interfaces */ - char sourceAddr[64]; - unsigned int idx = 0; - for(PIP_ADAPTER_ADDRESSES ifa = ifaddr; ifa != NULL; ifa = ifa->Next) { - idx = (info->ai_family == AF_INET) ? ifa->IfIndex : ifa->Ipv6IfIndex; - - /* Check if network interface name matches */ - if(strcmp(ifa->AdapterName, netif) == 0) - goto done; - - /* Check if ip address matches */ - for(PIP_ADAPTER_UNICAST_ADDRESS u = ifa->FirstUnicastAddress; u; u = u->Next) { - LPSOCKADDR addr = u->Address.lpSockaddr; - if(addr->sa_family == AF_INET) { - inet_ntop(AF_INET, &((struct sockaddr_in*)addr)->sin_addr, - sourceAddr, sizeof(sourceAddr)); - } else if(addr->sa_family == AF_INET6) { - inet_ntop(AF_INET6, &((struct sockaddr_in6*)addr)->sin6_addr, - sourceAddr, sizeof(sourceAddr)); - } else { - continue; - } - if(strcmp(sourceAddr, netif) == 0) - goto done; - } - } - - /* Not matching interface found */ - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, - "UDP\t| Interface configuration preparation failed " - "(interface %s not found)", netif); - return UA_STATUSCODE_BADINTERNALERROR; - - done: - /* Write the interface index */ - if(info->ai_family == AF_INET) - /* MSVC documentation of struct ip_mreq: To use an interface index of 1 - * would be the same as an IP address of 0.0.0.1. */ - req->ipv4.imr_interface.s_addr = htonl(idx); -#if UA_IPV6 - else /* if(info->ai_family == AF_INET6) */ - req->ipv6.ipv6mr_interface = idx; -#endif - return UA_STATUSCODE_GOOD; -} - -#else - -static UA_StatusCode -setMulticastInterface(const char *netif, struct addrinfo *info, - MulticastRequest *req, const UA_Logger *logger) { - struct ifaddrs *ifaddr; - int ret = getifaddrs(&ifaddr); - if(ret == -1) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, - "UDP\t| Interface configuration preparation failed " - "(getifaddrs error: %s)", errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Iterate over the interfaces */ - unsigned int idx = 0; - struct ifaddrs *ifa = NULL; - for(ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { - if(!ifa->ifa_addr) - continue; - - /* Does the protocol family match? */ - if(ifa->ifa_addr->sa_family != info->ai_family) - continue; - - idx = UA_if_nametoindex(ifa->ifa_name); - if(idx == 0) - continue; - - /* Found network interface by name */ - if(strcmp(ifa->ifa_name, netif) == 0) - break; - - /* Check if the interface name is an IP address that matches */ - char host[NI_MAXHOST]; - ret = getnameinfo(ifa->ifa_addr, - (info->ai_family == AF_INET) ? - sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6), - host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST); - if(ret != 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, - "UDP\t| Interface configuration preparation " - "ifailed (getnameinfo error: %s).", errno_str)); - freeifaddrs(ifaddr); - return UA_STATUSCODE_BADINTERNALERROR; - } - if(strcmp(host, netif) == 0) - break; - } - - freeifaddrs(ifaddr); - if(!ifa) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Write the interface index */ - if(info->ai_family == AF_INET) { -#if defined(ip_mreqn) - req->ipv4.imr_ifindex = idx; -#endif -#if UA_IPV6 - } else { /* if(info->ai_family == AF_INET6) */ - req->ipv6.ipv6mr_interface = idx; -#endif - } - return UA_STATUSCODE_GOOD; -} - -#endif /* UA_ARCHITECTURE_WIN32 */ - -static UA_StatusCode -setupMulticastRequest(UA_FD socket, MulticastRequest *req, const UA_KeyValueMap *params, - struct addrinfo *info, const UA_Logger *logger) { - /* Initialize the address information */ - if(info->ai_family == AF_INET) { - struct sockaddr_in *sin = (struct sockaddr_in *)info->ai_addr; - req->ipv4.imr_multiaddr = sin->sin_addr; -#if !defined(ip_mreqn) - req->ipv4.imr_interface.s_addr = htonl(INADDR_ANY); /* default ANY */ -#else - req->ipv4.imr_address.s_addr = htonl(INADDR_ANY); /* default ANY */ - req->ipv4.imr_ifindex = 0; -#endif -#if UA_IPV6 - } else if(info->ai_family == AF_INET6) { - struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)info->ai_addr; - req->ipv6.ipv6mr_multiaddr = sin6->sin6_addr; - req->ipv6.ipv6mr_interface = 0; /* default ANY interface */ -#endif - } else { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_SERVER, - "UDP\t| Multicast configuration failed: Unknown protocol family"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Was an interface (or local IP address) defined? */ - const UA_String *netif = (const UA_String*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_INTERFACE].name, - &UA_TYPES[UA_TYPES_STRING]); - if(!netif) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| No network interface defined for multicast. " - "The first suitable network interface is used.", - (unsigned)socket); - return UA_STATUSCODE_GOOD; - } - - /* Set the interface index */ - UA_STACKARRAY(char, interfaceAsChar, sizeof(char) * netif->length + 1); - memcpy(interfaceAsChar, netif->data, netif->length); - interfaceAsChar[netif->length] = 0; - return setMulticastInterface(interfaceAsChar, info, req, logger); -} - -/* Retrieves hostname and port from given key value parameters. - * - * @param[in] params the parameter map to retrieve from - * @param[out] hostname the retrieved hostname when present, NULL otherwise - * @param[out] portStr the retrieved port when present, NULL otherwise - * @param[in] logger the logger to log information - * @return -1 upon error, 0 if there was no host or port parameter, 1 if - * host and port are present */ -static int -getHostAndPortFromParams(const UA_KeyValueMap *params, char *hostname, - char *portStr, const UA_Logger *logger) { - /* Prepare the port parameter as a string */ - const UA_UInt16 *port = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_PORT].name, - &UA_TYPES[UA_TYPES_UINT16]); - UA_assert(port); /* checked before */ - mp_snprintf(portStr, UA_MAXPORTSTR_LENGTH, "%d", *port); - - /* Prepare the hostname string */ - const UA_String *host = (const UA_String*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_ADDR].name, - &UA_TYPES[UA_TYPES_STRING]); - if(!host) { - UA_LOG_DEBUG(logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| No address configured"); - return -1; - } - if(host->length >= UA_MAXHOSTNAME_LENGTH) { - UA_LOG_ERROR(logger, UA_LOGCATEGORY_EVENTLOOP, - "UDP\t| Open UDP Connection: Hostname too long, aborting"); - return -1; - } - strncpy(hostname, (const char*)host->data, host->length); - hostname[host->length] = 0; - return 1; -} - -static int -getConnectionInfoFromParams(const UA_KeyValueMap *params, - char *hostname, char *portStr, - struct addrinfo **info, const UA_Logger *logger) { - int foundParams = getHostAndPortFromParams(params, hostname, portStr, logger); - if(foundParams < 0) - return -1; - - /* Create the socket description from the connectString - * TODO: Make this non-blocking */ - struct addrinfo hints; - memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_DGRAM; - int error = getaddrinfo(hostname, portStr, &hints, info); - if(error != 0) { - UA_LOG_SOCKET_ERRNO_GAI_WRAP( - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Lookup of %s failed with error %d - %s", - hostname, error, errno_str)); - return -1; - } - return 1; -} - -/* Set loop back data to your host */ -static UA_StatusCode -setLoopBackData(UA_SOCKET sockfd, UA_Boolean enableLoopback, - int ai_family, const UA_Logger *logger) { - /* The Linux Kernel IPv6 socket code checks for optlen to be at least the - * size of an integer. However, channelDataUDPMC->enableLoopback is a - * boolean. In order for the code to work for IPv4 and IPv6 propagate it to - * a temporary integer here. */ - UA_Int32 enable = enableLoopback; -#if UA_IPV6 - if(UA_setsockopt(sockfd, - ai_family == AF_INET6 ? IPPROTO_IPV6 : IPPROTO_IP, - ai_family == AF_INET6 ? IPV6_MULTICAST_LOOP : IP_MULTICAST_LOOP, - (const char *)&enable, - sizeof (enable)) < 0) -#else - if(UA_setsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_LOOP, - (const char *)&enable, - sizeof (enable)) < 0) -#endif - { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Loopback setup failed: " - "Cannot set socket option IP_MULTICAST_LOOP. Error: %s", - (unsigned)sockfd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setTimeToLive(UA_SOCKET sockfd, UA_UInt32 messageTTL, - int ai_family, const UA_Logger *logger) { - /* Set Time to live (TTL). Value of 1 prevent forward beyond the local network. */ -#if UA_IPV6 - if(UA_setsockopt(sockfd, - ai_family == PF_INET6 ? IPPROTO_IPV6 : IPPROTO_IP, - ai_family == PF_INET6 ? IPV6_MULTICAST_HOPS : IP_MULTICAST_TTL, - (const char *)&messageTTL, - sizeof(messageTTL)) < 0) -#else - if(UA_setsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_TTL, - (const char *)&messageTTL, - sizeof(messageTTL)) < 0) -#endif - { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Time to live setup failed: " - "Cannot set socket option IP_MULTICAST_TTL. Error: %s", - (unsigned)sockfd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setReuseAddress(UA_SOCKET sockfd, UA_Boolean enableReuse, const UA_Logger *logger) { - /* Set reuse address -> enables sharing of the same listening address on - * different sockets */ - int enableReuseVal = (enableReuse) ? 1 : 0; - if(UA_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, - (const char*)&enableReuseVal, sizeof(enableReuseVal)) < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Reuse address setup failed: " - "Cannot set socket option SO_REUSEADDR. Error: %s", - (unsigned)sockfd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -#ifdef __linux__ -static UA_StatusCode -setSocketPriority(UA_SOCKET sockfd, UA_UInt32 socketPriority, - const UA_Logger *logger) { - int prio = (int)socketPriority; - if(UA_setsockopt(sockfd, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(int)) < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Socket priority setup failed: " - "Cannot set socket option SO_PRIORITY. Error: %s", - (unsigned)sockfd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} -#endif - -static UA_StatusCode -setConnectionConfig(UA_FD socket, const UA_KeyValueMap *params, - int ai_family, const UA_Logger *logger) { - /* Set socket config that is always set */ - UA_StatusCode res = UA_STATUSCODE_GOOD; - res |= UA_EventLoopPOSIX_setNonBlocking(socket); - res |= UA_EventLoopPOSIX_setNoSigPipe(socket); - if(res != UA_STATUSCODE_GOOD) - return res; - - /* Some Linux distributions have net.ipv6.bindv6only not activated. So - * sockets can double-bind to IPv4 and IPv6. This leads to problems. Use - * AF_INET6 sockets only for IPv6. */ -#if UA_IPV6 - int optval = 1; - if(ai_family == AF_INET6 && - UA_setsockopt(socket, IPPROTO_IPV6, IPV6_V6ONLY, - (const char*)&optval, sizeof(optval)) == -1) { - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Could not set an IPv6 socket to IPv6 only, closing", - (unsigned)socket); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } -#endif - - /* Set socket settings from the parameters */ - const UA_UInt32 *messageTTL = (const UA_UInt32*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_TTL].name, - &UA_TYPES[UA_TYPES_UINT32]); - if(messageTTL) - res |= setTimeToLive(socket, *messageTTL, ai_family, logger); - - const UA_Boolean *enableLoopback = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_LOOPBACK].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(enableLoopback) - res |= setLoopBackData(socket, *enableLoopback, ai_family, logger); - - const UA_Boolean *enableReuse = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_REUSE].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(enableReuse) - res |= setReuseAddress(socket, *enableReuse, logger); - -#ifdef __linux__ - const UA_UInt32 *socketPriority = (const UA_UInt32*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_SOCKPRIO].name, - &UA_TYPES[UA_TYPES_UINT32]); - if(socketPriority) - res |= setSocketPriority(socket, *socketPriority, logger); -#endif - - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Could not set socket options: %s", errno_str)); - } - return res; -} - -static UA_StatusCode -setupListenMultiCast(UA_FD fd, struct addrinfo *info, const UA_KeyValueMap *params, - MultiCastType multiCastType, const UA_Logger *logger) { - MulticastRequest req; - UA_StatusCode res = setupMulticastRequest(fd, &req, params, info, logger); - if(res != UA_STATUSCODE_GOOD) - return res; - - int result = -1; - if(info->ai_family == AF_INET && multiCastType == MULTICASTTYPE_IPV4) { - result = UA_setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, - &req.ipv4, sizeof(req.ipv4)); -#if UA_IPV6 - } else if(info->ai_family == AF_INET6 && multiCastType == MULTICASTTYPE_IPV6) { - result = UA_setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, - &req.ipv6, sizeof(req.ipv6)); -#endif - } - - if(result < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Cannot set socket for multicast receiving. Error: %s", - (unsigned)fd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -setupSendMultiCast(UA_FD fd, struct addrinfo *info, const UA_KeyValueMap *params, - MultiCastType multiCastType, const UA_Logger *logger) { - MulticastRequest req; - UA_StatusCode res = setupMulticastRequest(fd, &req, params, info, logger); - if(res != UA_STATUSCODE_GOOD) - return res; - - int result = -1; - if(info->ai_family == AF_INET && multiCastType == MULTICASTTYPE_IPV4) { - result = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, -#ifdef UA_ARCHITECTURE_WIN32 - (const char *)&req.ipv4.imr_interface, - sizeof(struct in_addr)); -#else - &req.ipv4, sizeof(req.ipv4)); -#endif -#if UA_IPV6 - } else if(info->ai_family == AF_INET6 && multiCastType == MULTICASTTYPE_IPV6) { - result = setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, -#ifdef UA_ARCHITECTURE_WIN32 - (const char *)&req.ipv6.ipv6mr_interface, -#else - &req.ipv6.ipv6mr_interface, -#endif - sizeof(req.ipv6.ipv6mr_interface)); -#endif - } - - if(result < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Cannot set socket for multicast sending. Error: %s", - (unsigned)fd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - return UA_STATUSCODE_GOOD; -} - -/* Test if the ConnectionManager can be stopped */ -static void -UDP_checkStopped(UA_POSIXConnectionManager *pcm) { - UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); - - if(pcm->fdsSize == 0 && - pcm->cm.eventSource.state == UA_EVENTSOURCESTATE_STOPPING) { - UA_LOG_DEBUG(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| All sockets closed, the EventLoop has stopped"); - pcm->cm.eventSource.state = UA_EVENTSOURCESTATE_STOPPED; - } -} - -/* This method must not be called from the application directly, but from within - * the EventLoop. Otherwise we cannot be sure whether the file descriptor is - * still used after calling close. */ -static void -UDP_close(UA_POSIXConnectionManager *pcm, UDP_FD *conn) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Closing connection", - (unsigned)conn->rfd.fd); - - /* Deregister from the EventLoop */ - UA_EventLoopPOSIX_deregisterFD(el, &conn->rfd); - - /* Deregister internally */ - ZIP_REMOVE(UA_FDTree, &pcm->fds, &conn->rfd); - UA_assert(pcm->fdsSize > 0); - pcm->fdsSize--; - - /* Signal closing to the application */ - conn->applicationCB(&pcm->cm, (uintptr_t)conn->rfd.fd, - conn->application, &conn->context, - UA_CONNECTIONSTATE_CLOSING, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); - - /* Close the socket */ - int ret = UA_close(conn->rfd.fd); - if(ret == 0) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Socket closed", (unsigned)conn->rfd.fd); - } else { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Could not close the socket (%s)", - (unsigned)conn->rfd.fd, errno_str)); - } - - UA_free(conn); - - /* Stop if the ucm is stopping and this was the last open socket */ - UDP_checkStopped(pcm); -} - -static void -UDP_delayedClose(void *application, void *context) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UDP_FD *conn = (UDP_FD*)context; - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "UDP %u\t| Delayed closing of the connection", - (unsigned)conn->rfd.fd); - UA_LOCK(&el->elMutex); - UDP_close(pcm, conn); - UA_UNLOCK(&el->elMutex); -} - -/* Gets called when a socket receives data or closes */ -static void -UDP_connectionSocketCallback(UA_POSIXConnectionManager *pcm, UDP_FD *conn, - short event) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Activity on the socket", - (unsigned)conn->rfd.fd); - - if(event == UA_FDEVENT_ERR) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| recv signaled the socket was shutdown (%s)", - (unsigned)conn->rfd.fd, errno_str)); - UDP_close(pcm, conn); - return; - } - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Allocate receive buffer", (unsigned)conn->rfd.fd); - - /* Use the already allocated receive-buffer */ - UA_ByteString response = pcm->rxBuffer; - - /* Receive */ - struct sockaddr_storage source; -#ifndef UA_ARCHITECTURE_WIN32 - socklen_t sourceSize = (socklen_t)sizeof(struct sockaddr_storage); - ssize_t ret = recvfrom(conn->rfd.fd, (char*)response.data, response.length, - MSG_DONTWAIT, (struct sockaddr*)&source, &sourceSize); -#else - int sourceSize = (int)sizeof(struct sockaddr_storage); - int ret = recvfrom(conn->rfd.fd, (char*)response.data, (int)response.length, - MSG_DONTWAIT, (struct sockaddr*)&source, &sourceSize); -#endif - - /* Receive has failed */ - if(ret <= 0) { - if(UA_ERRNO == UA_INTERRUPTED) - return; - - /* Orderly shutdown of the socket. We can immediately close as no method - * "below" in the call stack will use the socket in this iteration of - * the EventLoop. */ - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| recv signaled the socket was shutdown (%s)", - (unsigned)conn->rfd.fd, errno_str)); - UDP_close(pcm, conn); - return; - } - - response.length = (size_t)ret; /* Set the length of the received buffer */ - - /* Extract message source and port */ - char sourceAddr[64]; - UA_UInt16 sourcePort; - switch(source.ss_family) { - case AF_INET: - inet_ntop(AF_INET, &((struct sockaddr_in *)&source)->sin_addr, - sourceAddr, 64); - sourcePort = htons(((struct sockaddr_in *)&source)->sin_port); - break; - case AF_INET6: - inet_ntop(AF_INET6, &(((struct sockaddr_in6 *)&source)->sin6_addr), - sourceAddr, 64); - sourcePort = htons(((struct sockaddr_in6 *)&source)->sin6_port); - break; - default: - sourceAddr[0] = 0; - sourcePort = 0; - } - - UA_String sourceAddrStr = UA_STRING(sourceAddr); - UA_KeyValuePair kvp[2]; - kvp[0].key = UA_QUALIFIEDNAME(0, "remote-address"); - UA_Variant_setScalar(&kvp[0].value, &sourceAddrStr, &UA_TYPES[UA_TYPES_STRING]); - kvp[1].key = UA_QUALIFIEDNAME(0, "remote-port"); - UA_Variant_setScalar(&kvp[1].value, &sourcePort, &UA_TYPES[UA_TYPES_UINT16]); - UA_KeyValueMap kvm = {2, kvp}; - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Received message of size %u from %s on port %u", - (unsigned)conn->rfd.fd, (unsigned)ret, - sourceAddr, sourcePort); - - /* Callback to the application layer */ - conn->applicationCB(&pcm->cm, (uintptr_t)conn->rfd.fd, - conn->application, &conn->context, - UA_CONNECTIONSTATE_ESTABLISHED, - &kvm, response); -} - -static UA_StatusCode -UDP_registerListenSocket(UA_POSIXConnectionManager *pcm, UA_UInt16 port, - struct addrinfo *info, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Get logging information */ - char hoststr[UA_MAXHOSTNAME_LENGTH]; - int get_res = UA_getnameinfo(info->ai_addr, info->ai_addrlen, - hoststr, sizeof(hoststr), - NULL, 0, NI_NUMERICHOST); - if(get_res != 0) { - hoststr[0] = 0; - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| getnameinfo(...) could not resolve the hostname (%s)", - errno_str)); - if(validate) { - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - } - - /* Create the listen socket */ - UA_FD listenSocket = socket(info->ai_family, info->ai_socktype, info->ai_protocol); - if(listenSocket == UA_INVALID_FD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Error opening the listen socket for " - "\"%s\" on port %u (%s)", - (unsigned)listenSocket, hoststr, port, errno_str)); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - /* Set the socket configuration per the parameters */ - UA_StatusCode res = - setConnectionConfig(listenSocket, params, - info->ai_family, el->eventLoop.logger); - if(res != UA_STATUSCODE_GOOD) { - UA_close(listenSocket); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - /* Are we going to prepare a socket for multicast? */ - MultiCastType mc = multiCastType(info); - - /* Bind socket to the address */ -#ifdef UA_ARCHITECTURE_WIN32 - /* On windows we need to bind the socket to INADDR_ANY before registering - * for the multicast group */ - int ret = -1; - if(mc != MULTICASTTYPE_NONE) { - if(info->ai_family == AF_INET) { - struct sockaddr_in *orig = (struct sockaddr_in *)info->ai_addr; - struct sockaddr_in sin; - memset(&sin, 0, sizeof(sin)); - sin.sin_family = AF_INET; - sin.sin_addr.s_addr = htonl(INADDR_ANY); - sin.sin_port = orig->sin_port; - ret = bind(listenSocket, (struct sockaddr*)&sin, sizeof(sin)); - } else if(info->ai_family == AF_INET6) { - struct sockaddr_in6 *orig = (struct sockaddr_in6 *)info->ai_addr; - struct sockaddr_in6 sin6; - memset(&sin6, 0, sizeof(sin6)); - sin6.sin6_family = AF_INET6; - sin6.sin6_addr = in6addr_any; - sin6.sin6_port = orig->sin6_port; - ret = bind(listenSocket, (struct sockaddr*)&sin6, sizeof(sin6)); - } - } else { - ret = bind(listenSocket, info->ai_addr, (socklen_t)info->ai_addrlen); - } -#else - int ret = bind(listenSocket, info->ai_addr, (socklen_t)info->ai_addrlen); -#endif - - /* Get the port being used if dynamic porting was used */ - if(port == 0) { - struct sockaddr_in sin; - memset(&sin, 0, sizeof(sin)); - socklen_t len = sizeof(sin); - getsockname(listenSocket, (struct sockaddr *)&sin, &len); - port = ntohs(sin.sin_port); - } - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| New listen socket for \"%s\" on port %u", - (unsigned)listenSocket, hoststr, port); - - if(ret < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Error binding the socket to the address (%s), closing", - (unsigned)listenSocket, errno_str)); - UA_close(listenSocket); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - /* Enable multicast if this is a multicast address */ - if(mc != MULTICASTTYPE_NONE) { - res = setupListenMultiCast(listenSocket, info, params, - mc, el->eventLoop.logger); - if(res != UA_STATUSCODE_GOOD) { - UA_close(listenSocket); - return res; - } - } - - /* Validation is complete - close and return */ - if(validate) { - UA_close(listenSocket); - return UA_STATUSCODE_GOOD; - } - - /* Allocate the UA_RegisteredFD */ - UDP_FD *newudpfd = (UDP_FD*)UA_calloc(1, sizeof(UDP_FD)); - if(!newudpfd) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Error allocating memory for the socket, closing", - (unsigned)listenSocket); - UA_close(listenSocket); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - newudpfd->rfd.fd = listenSocket; - newudpfd->rfd.es = &pcm->cm.eventSource; - newudpfd->rfd.listenEvents = UA_FDEVENT_IN; - newudpfd->rfd.eventSourceCB = (UA_FDCallback)UDP_connectionSocketCallback; - newudpfd->applicationCB = connectionCallback; - newudpfd->application = application; - newudpfd->context = context; - - /* Register in the EventLoop */ - res = UA_EventLoopPOSIX_registerFD(el, &newudpfd->rfd); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Error registering the socket, closing", - (unsigned)listenSocket); - UA_free(newudpfd); - UA_close(listenSocket); - return res; - } - - /* Register internally in the EventSource */ - ZIP_INSERT(UA_FDTree, &pcm->fds, &newudpfd->rfd); - pcm->fdsSize++; - - /* Register the listen socket in the application */ - connectionCallback(&pcm->cm, (uintptr_t)newudpfd->rfd.fd, - application, &newudpfd->context, - UA_CONNECTIONSTATE_ESTABLISHED, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UDP_registerListenSockets(UA_POSIXConnectionManager *pcm, const char *hostname, - UA_UInt16 port, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate) { - UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); - - /* Get all the interface and IPv4/6 combinations for the configured hostname */ - struct addrinfo hints, *res; - memset(&hints, 0, sizeof hints); -#if UA_IPV6 - hints.ai_family = AF_UNSPEC; /* Allow IPv4 and IPv6 */ -#else - hints.ai_family = AF_INET; /* IPv4 only */ -#endif - hints.ai_socktype = SOCK_DGRAM; - hints.ai_protocol = IPPROTO_UDP; - hints.ai_flags = AI_PASSIVE; - - /* Set up the port string */ - char portstr[6]; - mp_snprintf(portstr, 6, "%d", port); - - int retcode = getaddrinfo(hostname, portstr, &hints, &res); - if(retcode != 0) { - UA_LOG_SOCKET_ERRNO_GAI_WRAP( - UA_LOG_WARNING(pcm->cm.eventSource.eventLoop->logger, - UA_LOGCATEGORY_NETWORK, - "UDP\t| getaddrinfo lookup for \"%s\" on port %u failed (%s)", - hostname, port, errno_str)); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - /* Add listen sockets */ - struct addrinfo *ai = res; - UA_StatusCode rv = UA_STATUSCODE_GOOD; - while(ai) { - rv = UDP_registerListenSocket(pcm, port, ai, params, application, - context, connectionCallback, validate); - if(rv != UA_STATUSCODE_GOOD) - break; - ai = ai->ai_next; - } - freeaddrinfo(res); - return rv; -} - -/* Close the connection via a delayed callback */ -static void -UDP_shutdown(UA_ConnectionManager *cm, UA_RegisteredFD *rfd) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - if(rfd->dc.callback) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Cannot close - already closing", - (unsigned)rfd->fd); - return; - } - - /* Shutdown the socket to cancel the current select/epoll */ - shutdown(rfd->fd, UA_SHUT_RDWR); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Shutdown called", (unsigned)rfd->fd); - - UA_DelayedCallback *dc = &rfd->dc; - dc->callback = UDP_delayedClose; - dc->application = cm; - dc->context = rfd; - - /* Don't use the "public" el->addDelayedCallback. It takes a lock. */ - dc->next = el->delayedCallbacks; - el->delayedCallbacks = dc; -} - -static UA_StatusCode -UDP_shutdownConnection(UA_ConnectionManager *cm, uintptr_t connectionId) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; - UA_FD fd = (UA_FD)connectionId; - - UA_LOCK(&el->elMutex); - UA_RegisteredFD *rfd = ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!rfd) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Cannot close UDP connection %u - not found", - (unsigned)connectionId); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADNOTFOUND; - } - UDP_shutdown(cm, rfd); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UDP_sendWithConnection(UA_ConnectionManager *cm, uintptr_t connectionId, - const UA_KeyValueMap *params, - UA_ByteString *buf) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - - UA_LOCK(&el->elMutex); - - /* Look up the registered UDP socket */ - UA_FD fd = (UA_FD)connectionId; - UDP_FD *conn = (UDP_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!conn) { - UA_UNLOCK(&el->elMutex); - UA_ByteString_clear(buf); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Send the full buffer. This may require several calls to send */ - size_t nWritten = 0; - do { - ssize_t n = 0; - do { - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Attempting to send", (unsigned)connectionId); - - /* Prevent OS signals when sending to a closed socket */ - int flags = MSG_NOSIGNAL; - size_t bytes_to_send = buf->length - nWritten; - n = UA_sendto((UA_FD)connectionId, (const char*)buf->data + nWritten, - bytes_to_send, flags, (struct sockaddr*)&conn->sendAddr, - conn->sendAddrLength); - if(n < 0) { - /* An error we cannot recover from? */ - if(UA_ERRNO != UA_INTERRUPTED && - UA_ERRNO != UA_WOULDBLOCK && - UA_ERRNO != UA_AGAIN) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Send failed with error %s", - (unsigned)connectionId, errno_str)); - UA_UNLOCK(&el->elMutex); - UDP_shutdownConnection(cm, connectionId); - UA_ByteString_clear(buf); - return UA_STATUSCODE_BADCONNECTIONCLOSED; - } - - /* Poll for the socket resources to become available and retry - * (blocking) */ - int poll_ret; - struct pollfd tmp_poll_fd; - tmp_poll_fd.fd = (UA_FD)connectionId; - tmp_poll_fd.events = UA_POLLOUT; - do { - poll_ret = UA_poll(&tmp_poll_fd, 1, 100); - if(poll_ret < 0 && UA_ERRNO != UA_INTERRUPTED) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, - UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Send failed with error %s", - (unsigned)connectionId, errno_str)); - UA_UNLOCK(&el->elMutex); - UDP_shutdownConnection(cm, connectionId); - UA_ByteString_clear(buf); - return UA_STATUSCODE_BADCONNECTIONCLOSED; - } - } while(poll_ret <= 0); - } - } while(n < 0); - nWritten += (size_t)n; - } while(nWritten < buf->length); - - /* Free the buffer */ - UA_UNLOCK(&el->elMutex); - UA_ByteString_clear(buf); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -registerSocketAndDestinationForSend(const UA_KeyValueMap *params, - const char *hostname, struct addrinfo *info, - int error, UDP_FD *ufd, UA_FD *sock, - const UA_Logger *logger) { - UA_FD newSock = socket(info->ai_family, info->ai_socktype, info->ai_protocol); - *sock = newSock; - if(newSock == UA_INVALID_FD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Could not create socket to connect to %s (%s)", - hostname, errno_str)); - return UA_STATUSCODE_BADDISCONNECT; - } - UA_StatusCode res = setConnectionConfig(newSock, params, info->ai_family, logger); - if(res != UA_STATUSCODE_GOOD) { - UA_close(newSock); - return res; - } - - /* Prepare socket for multicast */ - MultiCastType mc = multiCastType(info); - if(mc != MULTICASTTYPE_NONE) { - res = setupSendMultiCast(newSock, info, params, mc, logger); - if(res != UA_STATUSCODE_GOOD) { - UA_close(newSock); - return res; - } - } - - memcpy(&ufd->sendAddr, info->ai_addr, info->ai_addrlen); - ufd->sendAddrLength = info->ai_addrlen; - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UDP_openSendConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Get the connection parameters */ - char hostname[UA_MAXHOSTNAME_LENGTH]; - char portStr[UA_MAXPORTSTR_LENGTH]; - struct addrinfo *info = NULL; - - int error = getConnectionInfoFromParams(params, hostname, - portStr, &info, el->eventLoop.logger); - if(error < 0 || info == NULL) { - if(info != NULL) { - freeaddrinfo(info); - } - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Opening a connection failed"); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Open a connection to \"%s\" on port %s", hostname, portStr); - - /* Allocate the UA_RegisteredFD */ - UDP_FD *conn = (UDP_FD*)UA_calloc(1, sizeof(UDP_FD)); - if(!conn) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Error allocating memory for the socket, closing"); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - - /* Create a socket and register the destination address from the provided parameters */ - UA_FD newSock = UA_INVALID_FD; - UA_StatusCode res = - registerSocketAndDestinationForSend(params, hostname, info, - error, conn, &newSock, - el->eventLoop.logger); - freeaddrinfo(info); - if(validate && res == UA_STATUSCODE_GOOD) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| Connection validated to \"%s\" on port %s", - (unsigned)newSock, hostname, portStr); - UA_close(newSock); - UA_free(conn); - return UA_STATUSCODE_GOOD; - } - if(res != UA_STATUSCODE_GOOD) { - UA_free(conn); - return res; - } - - conn->rfd.fd = newSock; - conn->rfd.listenEvents = 0; - conn->rfd.es = &pcm->cm.eventSource; - conn->rfd.eventSourceCB = (UA_FDCallback)UDP_connectionSocketCallback; - conn->applicationCB = connectionCallback; - conn->application = application; - conn->context = context; - - /* Register the fd to trigger when output is possible (the connection is open) */ - res = UA_EventLoopPOSIX_registerFD(el, &conn->rfd); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Registering the socket for %s failed", hostname); - UA_close(newSock); - UA_free(conn); - return res; - } - - /* Register internally in the EventSource */ - ZIP_INSERT(UA_FDTree, &pcm->fds, &conn->rfd); - pcm->fdsSize++; - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP %u\t| New connection to \"%s\" on port %s", - (unsigned)newSock, hostname, portStr); - - /* Signal the connection as opening. The connection fully opens in the next - * iteration of the EventLoop */ - connectionCallback(&pcm->cm, (uintptr_t)newSock, application, - &conn->context, UA_CONNECTIONSTATE_ESTABLISHED, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UDP_openReceiveConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback, - UA_Boolean validate) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Get the port */ - const UA_UInt16 *port = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_PORT].name, - &UA_TYPES[UA_TYPES_UINT16]); - UA_assert(port); /* checked before */ - - /* Get the hostname configuration */ - const UA_Variant *addrs = - UA_KeyValueMap_get(params, UDPConfigParameters[UDP_PARAMINDEX_ADDR].name); - size_t addrsSize = 0; - if(addrs) { - UA_assert(addrs->type == &UA_TYPES[UA_TYPES_STRING]); - if(UA_Variant_isScalar(addrs)) - addrsSize = 1; - else - addrsSize = addrs->arrayLength; - } - - /* No hostname configured -> listen on all interfaces */ - if(addrsSize == 0) { - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Listening on all interfaces"); - return UDP_registerListenSockets(pcm, NULL, *port, params, application, - context, connectionCallback, validate); - } - - /* Iterate over the configured hostnames */ - UA_String *hostStrings = (UA_String*)addrs->data; - for(size_t i = 0; i < addrsSize; i++) { - char hn[UA_MAXHOSTNAME_LENGTH]; - if(hostStrings[i].length >= sizeof(hn)) - continue; - memcpy(hn, hostStrings[i].data, hostStrings->length); - hn[hostStrings->length] = '\0'; - UA_StatusCode rv = - UDP_registerListenSockets(pcm, hn, *port, params, application, - context, connectionCallback, validate); - if(rv != UA_STATUSCODE_GOOD) - return rv; - } - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -UDP_openConnection(UA_ConnectionManager *cm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK(&el->elMutex); - - if(cm->eventSource.state != UA_EVENTSOURCESTATE_STARTED) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Cannot open a connection for a " - "ConnectionManager that is not started"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check the parameters */ - UA_StatusCode res = - UA_KeyValueRestriction_validate(el->eventLoop.logger, "UDP", - &UDPConfigParameters[1], - UDP_PARAMETERSSIZE-1, params); - if(res != UA_STATUSCODE_GOOD) { - UA_UNLOCK(&el->elMutex); - return res; - } - - UA_Boolean validate = false; - const UA_Boolean *validationValue = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_VALIDATE].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(validationValue) - validate = *validationValue; - - UA_Boolean listen = false; - const UA_Boolean *listenValue = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, UDPConfigParameters[UDP_PARAMINDEX_LISTEN].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(listenValue) - listen = *listenValue; - - if(listen) { - res = UDP_openReceiveConnection(pcm, params, application, context, - connectionCallback, validate); - } else { - res = UDP_openSendConnection(pcm, params, application, context, - connectionCallback, validate); - } - UA_UNLOCK(&el->elMutex); - return res; -} - -static UA_StatusCode -UDP_eventSourceStart(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - if(!el) - return UA_STATUSCODE_BADINTERNALERROR; - - UA_LOCK(&el->elMutex); - - /* Check the state */ - if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPED) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| To start the ConnectionManager, " - "it has to be registered in an EventLoop and not started"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Check the parameters */ - UA_StatusCode res = - UA_KeyValueRestriction_validate(el->eventLoop.logger, "UDP", - UDPConfigParameters, 1, - &cm->eventSource.params); - if(res != UA_STATUSCODE_GOOD) - goto finish; - - /* Allocate the rx buffer */ - res = UA_EventLoopPOSIX_allocateRXBuffer(pcm); - if(res != UA_STATUSCODE_GOOD) - goto finish; - - /* Set the EventSource to the started state */ - cm->eventSource.state = UA_EVENTSOURCESTATE_STARTED; - - finish: - UA_UNLOCK(&el->elMutex); - return res; -} - -static void * -UDP_shutdownCB(void *application, UA_RegisteredFD *rfd) { - UA_ConnectionManager *cm = (UA_ConnectionManager*)application; - UDP_shutdown(cm, rfd); - return NULL; -} - -static void -UDP_eventSourceStop(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - (void)el; - UA_LOCK(&el->elMutex); - - UA_LOG_INFO(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "UDP\t| Shutting down the ConnectionManager"); - - /* Prevent new connections to open */ - cm->eventSource.state = UA_EVENTSOURCESTATE_STOPPING; - - /* Shutdown all existing connection */ - ZIP_ITER(UA_FDTree, &pcm->fds, UDP_shutdownCB, cm); - - /* Check if stopped once more (also checking inside UDP_close, but there we - * don't check if there is no rfd at all) */ - UDP_checkStopped(pcm); - - UA_UNLOCK(&el->elMutex); -} - -static UA_StatusCode -UDP_eventSourceDelete(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - if(cm->eventSource.state >= UA_EVENTSOURCESTATE_STARTING) { - UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "UDP\t| The EventSource must be stopped before it can be deleted"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_ByteString_clear(&pcm->rxBuffer); - UA_KeyValueMap_clear(&cm->eventSource.params); - UA_String_clear(&cm->eventSource.name); - UA_free(cm); - - return UA_STATUSCODE_GOOD; -} - -static const char *udpName = "udp"; - -UA_ConnectionManager * -UA_ConnectionManager_new_POSIX_UDP(const UA_String eventSourceName) { - UA_POSIXConnectionManager *cm = (UA_POSIXConnectionManager*) - UA_calloc(1, sizeof(UA_POSIXConnectionManager)); - if(!cm) - return NULL; - - cm->cm.eventSource.eventSourceType = UA_EVENTSOURCETYPE_CONNECTIONMANAGER; - UA_String_copy(&eventSourceName, &cm->cm.eventSource.name); - cm->cm.eventSource.start = (UA_StatusCode (*)(UA_EventSource *))UDP_eventSourceStart; - cm->cm.eventSource.stop = (void (*)(UA_EventSource *))UDP_eventSourceStop; - cm->cm.eventSource.free = (UA_StatusCode (*)(UA_EventSource *))UDP_eventSourceDelete; - cm->cm.protocol = UA_STRING((char*)(uintptr_t)udpName); - cm->cm.openConnection = UDP_openConnection; - cm->cm.allocNetworkBuffer = UA_EventLoopPOSIX_allocNetworkBuffer; - cm->cm.freeNetworkBuffer = UA_EventLoopPOSIX_freeNetworkBuffer; - cm->cm.sendWithConnection = UDP_sendWithConnection; - cm->cm.closeConnection = UDP_shutdownConnection; - return &cm->cm; -} - -/**** amalgamated original file "/arch/eventloop_posix_interrupt.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2021 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - -#include - -/* Different implementation approaches: - * - Linux: Use signalfd - * - Other: Use the self-pipe trick (http://cr.yp.to/docs/selfpipe.html) */ - -typedef struct UA_RegisteredSignal { -#ifdef UA_HAVE_EPOLL - /* With epoll, register each signal with a socket. - * This has to be the first element of the struct to allow casting. */ - UA_RegisteredFD rfd; -#else - /* Without epoll, we add the rfd to a tailq and self-pipe to trigger the - * traversal of the tailq */ - TAILQ_ENTRY(UA_RegisteredSignal) triggeredEntry; -#endif - - LIST_ENTRY(UA_RegisteredSignal) listPointers; - - UA_InterruptCallback signalCallback; - void *context; - int signal; /* POSIX identifier of the interrupt signal */ - - UA_Boolean active; /* Signals are only active when the EventLoop is started */ - UA_Boolean triggered; -} UA_RegisteredSignal; - -typedef struct { - UA_InterruptManager im; - - /* Registered signals */ - size_t signalsSize; - LIST_HEAD(, UA_RegisteredSignal) signals; - -#ifndef UA_HAVE_EPOLL - UA_RegisteredFD readFD; - UA_FD writeFD; - TAILQ_HEAD(, UA_RegisteredSignal) triggered; -#endif -} UA_POSIXInterruptManager; - -#ifndef UA_HAVE_EPOLL -/* On non-linux systems we can have at most one interrupt manager */ -static UA_POSIXInterruptManager *singletonIM = NULL; -#endif - -/* The following methods have to be implemented for epoll/self-pipe each. */ -static void activateSignal(UA_RegisteredSignal *rs); -static void deactivateSignal(UA_RegisteredSignal *rs); - -#ifdef UA_HAVE_EPOLL -#include - -static void -handlePOSIXInterruptEvent(UA_EventSource *es, UA_RegisteredFD *rfd, short event) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; - (void)el; - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_RegisteredSignal *rs = (UA_RegisteredSignal*)rfd; - struct signalfd_siginfo fdsi; - ssize_t s = read(rfd->fd, &fdsi, sizeof(fdsi)); - if(s < (ssize_t)sizeof(fdsi)) { - /* A problem occured */ - deactivateSignal(rs); - return; - } - - /* Signal received */ - UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt %u\t| Received a signal %u", - (unsigned)rfd->fd, fdsi.ssi_signo); - - UA_UNLOCK(&el->elMutex); - rs->signalCallback((UA_InterruptManager *)es, (uintptr_t)rfd->fd, - rs->context, &UA_KEYVALUEMAP_NULL); - UA_LOCK(&el->elMutex); -} - -static void -activateSignal(UA_RegisteredSignal *rs) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)rs->rfd.es->eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - if(rs->active) - return; - - /* Block the normal signal handling */ - sigset_t mask; - sigemptyset(&mask); - sigaddset(&mask, rs->signal); - int res2 = sigprocmask(SIG_BLOCK, &mask, NULL); - if(res2 == -1) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Could not block the default " - "signal handling with an error: %s", - errno_str)); - return; - } - - /* Create the fd */ - UA_FD newfd = signalfd(-1, &mask, 0); - if(newfd < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t|Could not create a signal file " - "description with error: %s", - errno_str)); - sigprocmask(SIG_UNBLOCK, &mask, NULL); /* restore signal */ - return; - } - - rs->rfd.fd = newfd; - rs->rfd.eventSourceCB = handlePOSIXInterruptEvent; - rs->rfd.listenEvents = UA_FDEVENT_IN; - - /* Register the fd in the EventLoop */ - UA_StatusCode res = UA_EventLoopPOSIX_registerFD(el, &rs->rfd); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t|Could not register the a signal file " - "description in the EventLoop"); - UA_close(newfd); - sigprocmask(SIG_UNBLOCK, &mask, NULL); /* restore signal */ - return; - } - - rs->active = true; -} - -static void -deactivateSignal(UA_RegisteredSignal *rs) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)rs->rfd.es->eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Only dectivate if active */ - if(!rs->active) - return; - rs->active = false; - - /* Stop receiving the signal on the FD */ - UA_EventLoopPOSIX_deregisterFD(el, &rs->rfd); - - /* Unblock the signal */ - sigset_t mask; - sigemptyset(&mask); - sigaddset(&mask, (int)rs->signal); - sigprocmask(SIG_UNBLOCK, &mask, NULL); - - /* Clean up locally */ - UA_close(rs->rfd.fd); -} - -#else /* !UA_HAVE_EPOLL */ - -static void -triggerPOSIXInterruptEvent(int sig) { - UA_assert(singletonIM != NULL); - - /* Don't take a lock. All we are doing here can be done from within a - * (reentrant) interrupt. */ - - /* Get the rs. Only use it if not already triggered. */ - UA_RegisteredSignal *rs; - LIST_FOREACH(rs, &singletonIM->signals, listPointers) { - if(rs->signal == sig) - break; - } - if(!rs || rs->triggered || !rs->active) - return; - - /* Add to the triggered list */ - TAILQ_INSERT_TAIL(&singletonIM->triggered, rs, triggeredEntry); - rs->triggered = true; - -#ifdef UA_ARCHITECTURE_WIN32 - /* On WIN32 we have to re-arm the signal or it will go back to SIG_DFL */ - signal(sig, triggerPOSIXInterruptEvent); -#endif - - /* Trigger the FD in the EventLoop for the self-pipe trick */ -#ifdef UA_ARCHITECTURE_WIN32 - int err = send(singletonIM->writeFD, ".", 1, 0); -#else - ssize_t err = write(singletonIM->writeFD, ".", 1); -#endif - if(err <= 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(singletonIM->im.eventSource.eventLoop->logger, - UA_LOGCATEGORY_EVENTLOOP, - "Error signaling the interrupt on FD %u to the EventLoop (%s)", - (unsigned)singletonIM->writeFD, errno_str)); - } -} - -static void -activateSignal(UA_RegisteredSignal *rs) { - UA_assert(singletonIM != NULL); - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)singletonIM->im.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Register the signal on the OS level */ - if(rs->active) - return; - - void (*prev)(int); - prev = signal(rs->signal, triggerPOSIXInterruptEvent); - if(prev == SIG_ERR) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(singletonIM->im.eventSource.eventLoop->logger, - UA_LOGCATEGORY_EVENTLOOP, - "Error registering the signal: %s", errno_str)); - return; - } - - rs->active = true; -} - -static void -deactivateSignal(UA_RegisteredSignal *rs) { - UA_assert(singletonIM != NULL); - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)singletonIM->im.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Only dectivate if active */ - if(!rs->active) - return; - - /* Stop receiving the signal */ - signal(rs->signal, SIG_DFL); - - /* Clean up locally */ - if(rs->triggered) { - TAILQ_REMOVE(&singletonIM->triggered, rs, triggeredEntry); - rs->triggered = false; - } - - rs->active = false; -} - -/* Execute all triggered interrupts via the self-pipe trick from within the EventLoop */ -static void -executeTriggeredPOSIXInterrupts(UA_EventSource *es, UA_RegisteredFD *rfd, short event) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)es->eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Re-arm the socket for the next signal by reading from it */ - char buf[128]; -#ifdef UA_ARCHITECTURE_WIN32 - recv(rfd->fd, buf, 128, 0); /* ignore the result */ -#else - ssize_t i; - do { - i = read(rfd->fd, buf, 128); - } while(i > 0); -#endif - - UA_RegisteredSignal *rs, *rs_tmp; - TAILQ_FOREACH_SAFE(rs, &singletonIM->triggered, triggeredEntry, rs_tmp) { - TAILQ_REMOVE(&singletonIM->triggered, rs, triggeredEntry); - rs->triggered = false; - UA_UNLOCK(&el->elMutex); - rs->signalCallback(&singletonIM->im, (uintptr_t)rs->signal, - rs->context, &UA_KEYVALUEMAP_NULL); - UA_LOCK(&el->elMutex); - } -} - -#endif /* !UA_HAVE_EPOLL */ - -static UA_StatusCode -registerPOSIXInterrupt(UA_InterruptManager *im, uintptr_t interruptHandle, - const UA_KeyValueMap *params, - UA_InterruptCallback callback, void *interruptContext) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)im->eventSource.eventLoop; - if(!UA_KeyValueMap_isEmpty(params)) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Supplied parameters invalid for the " - "POSIX InterruptManager"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_LOCK(&el->elMutex); - - /* Was the signal already registered? */ - int signal = (int)interruptHandle; - UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)im; - UA_RegisteredSignal *rs; - LIST_FOREACH(rs, &pim->signals, listPointers) { - if(rs->signal == signal) - break; - } - if(rs) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Signal %u already registered", - (unsigned)interruptHandle); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Create and populate the new context object */ - rs = (UA_RegisteredSignal *)UA_calloc(1, sizeof(UA_RegisteredSignal)); - if(!rs) { - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADOUTOFMEMORY; - } - -#ifdef UA_HAVE_EPOLL - rs->rfd.es = &im->eventSource; -#endif - rs->signal = (int)interruptHandle; - rs->signalCallback = callback; - rs->context = interruptContext; - - /* Add to the InterruptManager */ - LIST_INSERT_HEAD(&pim->signals, rs, listPointers); - pim->signalsSize++; - - /* Activate if we are already running */ - if(pim->im.eventSource.state == UA_EVENTSOURCESTATE_STARTED) - activateSignal(rs); - - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -static void -deregisterPOSIXInterrupt(UA_InterruptManager *im, uintptr_t interruptHandle) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)im->eventSource.eventLoop; - (void)el; - UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)im; - UA_LOCK(&el->elMutex); - - int signal = (int)interruptHandle; - UA_RegisteredSignal *rs; - LIST_FOREACH(rs, &pim->signals, listPointers) { - if(rs->signal == signal) - break; - } - if(rs) { - deactivateSignal(rs); - LIST_REMOVE(rs, listPointers); - UA_free(rs); - } - - UA_UNLOCK(&el->elMutex); -} - -#ifdef UA_ARCHITECTURE_WIN32 -/* Windows has no pipes. Use a local TCP connection for the self-pipe trick. - * https://stackoverflow.com/a/3333565 */ -static int -pair(SOCKET fds[2]) { - struct sockaddr_in inaddr; - struct sockaddr addr; - SOCKET lst = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - memset(&inaddr, 0, sizeof(inaddr)); - memset(&addr, 0, sizeof(addr)); - inaddr.sin_family = AF_INET; - inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); - inaddr.sin_port = 0; - int yes = 1; - setsockopt(lst, SOL_SOCKET, SO_REUSEADDR, (char *)&yes, sizeof(yes)); - bind(lst, (struct sockaddr *)&inaddr, sizeof(inaddr)); - listen(lst, 1); - int len = sizeof(inaddr); - getsockname(lst, &addr, &len); - fds[0] = socket(AF_INET, SOCK_STREAM, 0); - int err = connect(fds[0], &addr, len); - fds[1] = accept(lst, 0, 0); - closesocket(lst); - return err; -} -#endif - -static UA_StatusCode -startPOSIXInterruptManager(UA_EventSource *es) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; - (void)el; - UA_LOCK(&el->elMutex); - - /* Check the state */ - if(es->state != UA_EVENTSOURCESTATE_STOPPED) { - UA_LOG_ERROR(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| To start the InterruptManager, " - "it has to be registered in an EventLoop and not started"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)es; - UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Starting the InterruptManager"); - -#ifndef UA_HAVE_EPOLL - /* Create pipe for self-signaling */ - UA_FD pipefd[2]; -#ifdef UA_ARCHITECTURE_WIN32 - int err = pair(pipefd); -#else - int err = pipe(pipefd); -#endif - if(err != 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "Interrupt\t| Could not open the pipe for " - "self-signaling (%s)", errno_str)); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - UA_StatusCode res = UA_STATUSCODE_GOOD; -#ifndef UA_ARCHITECTURE_WIN32 - /* Mark pipes as non-blocking */ - for(size_t i = 0; i < (sizeof(pipefd) / sizeof(*pipefd)); ++i) { - res = UA_EventLoopPOSIX_setNonBlocking(pipefd[i]); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "Interrupt\t| Could mark pipe for " - "self-signaling as non-blocking(%s)", - errno_str)); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - } -#endif - - UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Socket pair for the self-pipe: %u,%u", - (unsigned)pipefd[0], (unsigned)pipefd[1]); - - pim->writeFD = pipefd[1]; - pim->readFD.fd = pipefd[0]; - pim->readFD.es = &pim->im.eventSource; - pim->readFD.listenEvents = UA_FDEVENT_IN; - pim->readFD.eventSourceCB = executeTriggeredPOSIXInterrupts; - res = UA_EventLoopPOSIX_registerFD(el, &pim->readFD); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Could not register the InterruptManager socket"); - UA_close(pipefd[0]); - UA_close(pipefd[1]); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } -#endif - - /* Activate the registered signal handlers */ - UA_RegisteredSignal*rs; - LIST_FOREACH(rs, &pim->signals, listPointers) { - activateSignal(rs); - } - - /* Set the EventSource to the started state */ - es->state = UA_EVENTSOURCESTATE_STARTED; - - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -static void -stopPOSIXInterruptManager(UA_EventSource *es) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; - (void)el; - UA_LOCK(&el->elMutex); - - if(es->state != UA_EVENTSOURCESTATE_STARTED) { - UA_UNLOCK(&el->elMutex); - return; - } - - UA_LOG_DEBUG(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| Stopping the InterruptManager"); - - /* Close all registered signals */ - UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)es; - UA_RegisteredSignal*rs; - LIST_FOREACH(rs, &pim->signals, listPointers) { - deactivateSignal(rs); - } - -#ifndef UA_HAVE_EPOLL - /* Close the FD for the self-pipe trick */ - UA_EventLoopPOSIX_deregisterFD(el, &pim->readFD); - UA_close(pim->readFD.fd); - UA_close(pim->writeFD); -#endif - - /* Immediately set to stopped */ - es->state = UA_EVENTSOURCESTATE_STOPPED; - - UA_UNLOCK(&el->elMutex); -} - -static UA_StatusCode -freePOSIXInterruptmanager(UA_EventSource *es) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)es->eventLoop; - (void)el; - UA_LOCK_ASSERT(&el->elMutex, 1); - - if(es->state >= UA_EVENTSOURCESTATE_STARTING) { - UA_LOG_ERROR(es->eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "Interrupt\t| The EventSource must be stopped " - "before it can be deleted"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Deactivate and remove all registered signals */ - UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *)es; - UA_RegisteredSignal *rs, *rs_tmp; - LIST_FOREACH_SAFE(rs, &pim->signals, listPointers, rs_tmp) { - deactivateSignal(rs); - LIST_REMOVE(rs, listPointers); - UA_free(rs); - } - - UA_String_clear(&es->name); - UA_free(es); - -#ifndef UA_HAVE_EPOLL - singletonIM = NULL; /* Reset the global singleton pointer */ -#endif - - return UA_STATUSCODE_GOOD; -} - -UA_InterruptManager * -UA_InterruptManager_new_POSIX(const UA_String eventSourceName) { -#ifndef UA_HAVE_EPOLL - /* There can be only one InterruptManager if epoll is not present */ - if(singletonIM) - return NULL; -#endif - - UA_POSIXInterruptManager *pim = (UA_POSIXInterruptManager *) - UA_calloc(1, sizeof(UA_POSIXInterruptManager)); - if(!pim) - return NULL; - - LIST_INIT(&pim->signals); - -#ifndef UA_HAVE_EPOLL - TAILQ_INIT(&pim->triggered); - singletonIM = pim; /* Register the singleton singleton pointer */ -#endif - - UA_InterruptManager *im = &pim->im; - im->eventSource.eventSourceType = UA_EVENTSOURCETYPE_INTERRUPTMANAGER; - UA_String_copy(&eventSourceName, &im->eventSource.name); - im->eventSource.start = startPOSIXInterruptManager; - im->eventSource.stop = stopPOSIXInterruptManager; - im->eventSource.free = freePOSIXInterruptmanager; - im->registerInterrupt = registerPOSIXInterrupt; - im->deregisterInterrupt = deregisterPOSIXInterrupt; - return im; -} - -/**** amalgamated original file "/arch/eventloop_posix_eth.c" ****/ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 2018 (c) Kontron Europe GmbH (Author: Rudolf Hoyler) - * Copyright 2019-2020 (c) Kalycito Infotech Private Limited - * Copyright 2019-2020 (c) Wind River Systems, Inc. - * Copyright 2022 (c) Fraunhofer IOSB (Author: Julius Pfrommer) - */ - - -#if defined(UA_ARCHITECTURE_POSIX) && defined(__linux__) - -#include /* htons */ -#include /* ETH_P_*/ -#include - -/* Configuration parameters */ -#define ETH_PARAMETERSSIZE 9 -#define ETH_PARAMINDEX_ADDR 0 -#define ETH_PARAMINDEX_LISTEN 1 -#define ETH_PARAMINDEX_IFACE 2 -#define ETH_PARAMINDEX_ETHERTYPE 3 -#define ETH_PARAMINDEX_VID 4 -#define ETH_PARAMINDEX_PCP 5 -#define ETH_PARAMINDEX_DEI 6 -#define ETH_PARAMINDEX_PROMISCUOUS 7 -#define ETH_PARAMINDEX_VALIDATE 8 - -static UA_KeyValueRestriction ETHConfigParameters[ETH_PARAMETERSSIZE+1] = { - {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], false, true, false}, - {{0, UA_STRING_STATIC("listen")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("interface")}, &UA_TYPES[UA_TYPES_STRING], true, true, false}, - {{0, UA_STRING_STATIC("ethertype")}, &UA_TYPES[UA_TYPES_UINT16], false, true, false}, - {{0, UA_STRING_STATIC("vid")}, &UA_TYPES[UA_TYPES_UINT16], false, true, false}, - {{0, UA_STRING_STATIC("pcp")}, &UA_TYPES[UA_TYPES_BYTE], false, true, false}, - {{0, UA_STRING_STATIC("dei")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("promiscuous")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - {{0, UA_STRING_STATIC("validate")}, &UA_TYPES[UA_TYPES_BOOLEAN], false, true, false}, - /* Duplicated address parameter with a scalar value required. For the send-socket case. */ - {{0, UA_STRING_STATIC("address")}, &UA_TYPES[UA_TYPES_STRING], true, true, false}, -}; - -#define UA_ETH_MAXHEADERLENGTH (2*ETHER_ADDR_LEN)+4+2+2 - -typedef struct { - UA_RegisteredFD rfd; - - UA_ConnectionManager_connectionCallback applicationCB; - void *application; - void *context; - - struct sockaddr_ll sll; - /* The Ethernet header to prepend for sending frames is precomputed and reused. - * The length field (the last 2 byte) is adjusted. - * - 2 * ETHER_ADDR_LEN: destination and source - * - 4 byte: VLAN tagging (optional) - * - 2 byte: EtherType (optional) - * - 2 byte: length */ - unsigned char header[UA_ETH_MAXHEADERLENGTH]; - unsigned char headerSize; - unsigned char lengthOffset; /* No length field if zero */ -} ETH_FD; - -/* The format of a Ethernet address is six groups of hexadecimal digits, - * separated by hyphens (e.g. 01-23-45-67-89-ab). */ -static UA_StatusCode -parseEthAddress(const UA_String *buf, UA_Byte *addr) { - size_t curr = 0, idx = 0; - for(; idx < ETHER_ADDR_LEN; idx++) { - UA_UInt32 value; - size_t progress = UA_readNumberWithBase(&buf->data[curr], - buf->length - curr, &value, 16); - if(progress == 0 || value > (long)0xff) - return UA_STATUSCODE_BADINTERNALERROR; - - addr[idx] = (UA_Byte) value; - - curr += progress; - if(curr == buf->length) - break; - - if(buf->data[curr] != '-') - return UA_STATUSCODE_BADINTERNALERROR; - - curr++; /* skip '-' */ - } - - if(idx != (ETH_ALEN-1)) - return UA_STATUSCODE_BADINTERNALERROR; - - return UA_STATUSCODE_GOOD; -} - -static UA_Boolean -isMulticastEthAddress(const UA_Byte *address) { - if((address[0] & 1) == 0) - return false; /* Unicast address */ - for(size_t i = 0; i < ETHER_ADDR_LEN; i++) { - if(address[i] != 0xff) - return true; /* Not broadcast address ff-ff-ff-ff-ff-ff */ - } - return false; -} - -static void -setAddrString(unsigned char addrStr[18], unsigned char addr[ETHER_ADDR_LEN]) { - mp_snprintf((char*)addrStr, 18, "%02x-%02x-%02x-%02x-%02x-%02x", - addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); -} - -/* Return zero if parsing failed */ -static size_t -parseETHHeader(const UA_ByteString *buf, - unsigned char destAddr[ETHER_ADDR_LEN], - unsigned char sourceAddr[ETHER_ADDR_LEN], - UA_UInt16 *etherType, UA_UInt16 *vid, - UA_Byte *pcp, UA_Boolean *dei) { - if(buf->length < (2 * ETHER_ADDR_LEN)+2) - return 0; - - /* Parse "normal" Ethernet header */ - memcpy(destAddr, buf->data, ETHER_ADDR_LEN); - memcpy(sourceAddr, &buf->data[ETHER_ADDR_LEN], ETHER_ADDR_LEN); - size_t pos = 2 * ETHER_ADDR_LEN; - UA_UInt16 length = ntohs(*(UA_UInt16*)&buf->data[pos]); - pos += 2; - - /* No EtherType and no VLAN */ - if(length <= 1500) - return pos; - - /* Parse 802.1Q VLAN header */ - if(length == 0x8100) { - if(buf->length < (2 * ETHER_ADDR_LEN)+2+4) - return 0; - pos += 2; - UA_UInt16 vlan = ntohs(*(UA_UInt16*)&buf->data[pos]); - *pcp = 0x07 & vlan; - *dei = 0x01 & (vlan >> 3); - *vid = vlan >> 4; - pos += 2; - length = ntohs(*(UA_UInt16*)&buf->data[pos]); - } - - /* Set the EtherType if it is set */ - if(length > 1500) - *etherType = length; - - return pos; -} - -static unsigned char -setETHHeader(unsigned char *buf, - unsigned char destAddr[ETHER_ADDR_LEN], - unsigned char sourceAddr[ETHER_ADDR_LEN], - UA_UInt16 etherType, UA_UInt16 vid, - UA_Byte pcp, UA_Boolean dei, unsigned char *lengthOffset) { - /* Set dest and source address */ - size_t pos = 0; - memcpy(buf, destAddr, ETHER_ADDR_LEN); - pos += ETHER_ADDR_LEN; - memcpy(&buf[pos], sourceAddr, ETHER_ADDR_LEN); - pos += ETHER_ADDR_LEN; - - /* Set the 802.1Q VLAN header */ - if(vid > 0 && vid != ETH_P_ALL) { - *(UA_UInt16*)&buf[pos] = htons(0x8100); - pos += 2; - UA_UInt16 vlan = (UA_UInt16)((UA_UInt16)pcp + (((UA_UInt16)dei) << 3) + (vid << 4)); - *(UA_UInt16*)&buf[pos] = htons(vlan); - pos += 2; - } - - /* Set the Ethertype or store the offset for the length field */ - if(etherType == 0 || etherType == ETH_P_ALL) { - *lengthOffset = (unsigned char)pos; - } else { - *(UA_UInt16*)&buf[pos] = htons(etherType); - } - pos += 2; - return (unsigned char)pos; -} - -static UA_StatusCode -ETH_allocNetworkBuffer(UA_ConnectionManager *cm, uintptr_t connectionId, - UA_ByteString *buf, size_t bufSize) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - - /* Get the ETH_FD */ - UA_FD fd = (UA_FD)connectionId; - ETH_FD *erfd = (ETH_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!erfd) - return UA_STATUSCODE_BADCONNECTIONREJECTED; - - /* Allocate the buffer with the hidden Ethernet header in front */ - UA_StatusCode res = UA_ByteString_allocBuffer(buf, bufSize+erfd->headerSize); - buf->data += erfd->headerSize; - buf->length -= erfd->headerSize; - return res; -} - -static void -ETH_freeNetworkBuffer(UA_ConnectionManager *cm, uintptr_t connectionId, - UA_ByteString *buf) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - - /* Get the ETH_FD */ - UA_FD fd = (UA_FD)connectionId; - ETH_FD *erfd = (ETH_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!erfd) - return; - - /* Unhide the Ethernet header */ - buf->data -= erfd->headerSize; - buf->length += erfd->headerSize; - UA_ByteString_clear(buf); -} - -/* Test if the ConnectionManager can be stopped */ -static void -ETH_checkStopped(UA_POSIXConnectionManager *pcm) { - UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); - - if(pcm->fdsSize == 0 && - pcm->cm.eventSource.state == UA_EVENTSOURCESTATE_STOPPING) { - UA_LOG_DEBUG(pcm->cm.eventSource.eventLoop->logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| All sockets closed, the EventLoop has stopped"); - pcm->cm.eventSource.state = UA_EVENTSOURCESTATE_STOPPED; - } -} - -/* This method must not be called from the application directly, but from within - * the EventLoop. Otherwise we cannot be sure whether the file descriptor is - * still used after calling close. */ -static void -ETH_close(UA_POSIXConnectionManager *pcm, ETH_FD *conn) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Closing connection", - (unsigned)conn->rfd.fd); - - /* Deregister from the EventLoop */ - UA_EventLoopPOSIX_deregisterFD(el, &conn->rfd); - - /* Deregister internally */ - ZIP_REMOVE(UA_FDTree, &pcm->fds, &conn->rfd); - UA_assert(pcm->fdsSize > 0); - pcm->fdsSize--; - - /* Signal closing to the application */ - conn->applicationCB(&pcm->cm, (uintptr_t)conn->rfd.fd, - conn->application, &conn->context, - UA_CONNECTIONSTATE_CLOSING, - &UA_KEYVALUEMAP_NULL, UA_BYTESTRING_NULL); - - /* Close the socket */ - int ret = UA_close(conn->rfd.fd); - if(ret == 0) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Socket closed", (unsigned)conn->rfd.fd); - } else { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Could not close the socket (%s)", - (unsigned)conn->rfd.fd, errno_str)); - } - - /* Don't call free here. This might be done automatically via the delayed - * callback that calls ETH_close. */ - /* UA_free(rfd); */ - - /* Stop if the ucm is stopping and this was the last open socket */ - ETH_checkStopped(pcm); -} - -static void -ETH_delayedClose(void *application, void *context) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - ETH_FD *conn = (ETH_FD*)context; - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_EVENTLOOP, - "ETH %u\t| Delayed closing of the connection", - (unsigned)conn->rfd.fd); - UA_LOCK(&el->elMutex); - ETH_close(pcm, conn); - UA_UNLOCK(&el->elMutex); - UA_free(conn); -} - -/* Gets called when a socket receives data or closes */ -static void -ETH_connectionSocketCallback(UA_ConnectionManager *cm, UA_RegisteredFD *rfd, - short event) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK_ASSERT(&el->elMutex, 1); - - ETH_FD *conn = (ETH_FD*)rfd; - if(event == UA_FDEVENT_ERR) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| recv signaled the socket was shutdown (%s)", - (unsigned)rfd->fd, errno_str)); - ETH_close(pcm, conn); - UA_free(rfd); - return; - } - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Allocate receive buffer", (unsigned)rfd->fd); - - /* Get the number of available bytes */ - int bytes_available = 0; - ioctl(rfd->fd, FIONREAD, &bytes_available); - if(bytes_available <= 0) - return; - - UA_ByteString response; - UA_StatusCode res = UA_ByteString_allocBuffer(&response, (size_t)bytes_available); - if(res != UA_STATUSCODE_GOOD) - return; - - /* Receive */ -#ifndef UA_ARCHITECTURE_WIN32 - ssize_t ret = UA_recv(rfd->fd, (char*)response.data, - response.length, MSG_DONTWAIT); -#else - int ret = UA_recv(rfd->fd, (char*)response.data, - response.length, MSG_DONTWAIT); -#endif - - /* Receive has failed */ - if(ret <= 0) { - if(UA_ERRNO == UA_INTERRUPTED) { - UA_ByteString_clear(&response); - return; - } - - /* Orderly shutdown of the socket. We can immediately close as no method - * "below" in the call stack will use the socket in this iteration of - * the EventLoop. */ - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| recv signaled the socket was shutdown (%s)", - (unsigned)rfd->fd, errno_str)); - ETH_close(pcm, conn); - UA_free(rfd); - UA_ByteString_clear(&response); - return; - } - - /* Set the length of the received buffer */ - response.length = (size_t)ret; - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Received message of size %u", - (unsigned)rfd->fd, (unsigned)ret); - - /* Parse the Ethernet header */ - unsigned char destAddr[ETHER_ADDR_LEN]; - unsigned char sourceAddr[ETHER_ADDR_LEN]; - UA_UInt16 etherType = 0; - UA_UInt16 vid = 0; - UA_Byte pcp = 0; - UA_Boolean dei = 0; - size_t headerSize = parseETHHeader(&response, destAddr, sourceAddr, - ðerType, &vid, &pcp, &dei); - if(headerSize == 0) { - UA_ByteString_clear(&response); - return; - } - - /* Set up the parameter arguments */ - unsigned char destAddrBytes[18]; - unsigned char sourceAddrBytes[18]; - setAddrString(destAddrBytes, destAddr); - setAddrString(sourceAddrBytes, sourceAddr); - UA_String destAddrStr = {17, destAddrBytes}; - UA_String sourceAddrStr = {17, sourceAddrBytes}; - - size_t paramsSize = 2; - UA_KeyValuePair params[6]; - params[0].key = UA_QUALIFIEDNAME(0, "destination-address"); - UA_Variant_setScalar(¶ms[0].value, &destAddrStr, &UA_TYPES[UA_TYPES_STRING]); - params[1].key = UA_QUALIFIEDNAME(0, "source-address"); - UA_Variant_setScalar(¶ms[1].value, &sourceAddrStr, &UA_TYPES[UA_TYPES_STRING]); - if(etherType > 0) { - params[2].key = UA_QUALIFIEDNAME(0, "ethertype"); - UA_Variant_setScalar(¶ms[1].value, ðerType, &UA_TYPES[UA_TYPES_UINT16]); - paramsSize++; - } - if(vid > 0) { - params[paramsSize].key = UA_QUALIFIEDNAME(0, "vid"); - UA_Variant_setScalar(¶ms[paramsSize].value, &vid, &UA_TYPES[UA_TYPES_UINT16]); - params[paramsSize+1].key = UA_QUALIFIEDNAME(0, "pcp"); - UA_Variant_setScalar(¶ms[paramsSize+1].value, &pcp, &UA_TYPES[UA_TYPES_BYTE]); - params[paramsSize+2].key = UA_QUALIFIEDNAME(0, "dei"); - UA_Variant_setScalar(¶ms[paramsSize+2].value, &dei, &UA_TYPES[UA_TYPES_BOOLEAN]); - paramsSize += 3; - } - - UA_KeyValueMap map = {paramsSize, params}; - - /* Callback to the application layer with the Ethernet header hidden */ - response.data += headerSize; - response.length -= headerSize; - conn->applicationCB(cm, (uintptr_t)rfd->fd, conn->application, &conn->context, - UA_CONNECTIONSTATE_ESTABLISHED, &map, response); - response.data -= headerSize; - response.length += headerSize; - UA_ByteString_clear(&response); -} - -static UA_StatusCode -ETH_openListenConnection(UA_EventLoopPOSIX *el, ETH_FD *conn, - const UA_KeyValueMap *params, - int ifindex, UA_UInt16 etherType, - UA_Boolean validate) { - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Bind the socket to interface and EtherType. Don't receive anything else. */ - struct sockaddr_ll sll; - memset(&sll, 0, sizeof(struct sockaddr_ll)); - sll.sll_family = AF_PACKET; - sll.sll_protocol = htons(etherType); - sll.sll_ifindex = ifindex; - if(!validate && bind(conn->rfd.fd, (struct sockaddr*)&sll, sizeof(sll)) < 0) - return UA_STATUSCODE_BADINTERNALERROR; - - /* Immediately register for listen events. Don't have to wait for a - * connection to open. */ - conn->rfd.listenEvents = UA_FDEVENT_IN; - - /* Set receiving to promiscuous (all target host addresses) */ - const UA_Boolean *promiscuous = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_PROMISCUOUS].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(promiscuous && *promiscuous) { - struct packet_mreq mreq; - memset(&mreq, 0, sizeof(struct packet_mreq)); - mreq.mr_ifindex = ifindex; - mreq.mr_type = PACKET_MR_PROMISC; - int ret = setsockopt(conn->rfd.fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP, - &mreq, sizeof(mreq)); - if(ret < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Could not set raw socket to promiscuous mode %s", - (unsigned)conn->rfd.fd, errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } else { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| The socket was set to promiscuous mode", - (unsigned)conn->rfd.fd); - } - } - - /* Register for multicast if an address is defined */ - const UA_String *address = (const UA_String*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_ADDR].name, - &UA_TYPES[UA_TYPES_STRING]); - if(address) { - UA_Byte addr[ETHER_ADDR_LEN]; - UA_StatusCode res = parseEthAddress(address, addr); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Address for listening cannot be parsed"); - return res; - } - - if(!isMulticastEthAddress(addr)) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Address for listening is not a multicast address. Ignoring."); - return UA_STATUSCODE_GOOD; - } - - struct packet_mreq mreq; - memset(&mreq, 0, sizeof(struct packet_mreq)); - mreq.mr_ifindex = ifindex; - mreq.mr_type = PACKET_MR_MULTICAST; - mreq.mr_alen = ETH_ALEN; - memcpy(mreq.mr_address, addr, ETHER_ADDR_LEN); - if(!validate && UA_setsockopt(conn->rfd.fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP, - (char *)&mreq, sizeof(mreq)) < 0) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Registering for multicast failed with error %s", - errno_str)); - return UA_STATUSCODE_BADINTERNALERROR; - } - } - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Opened an Ethernet listen socket", - (unsigned)conn->rfd.fd); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -ETH_openSendConnection(UA_EventLoopPOSIX *el, ETH_FD *conn, const UA_KeyValueMap *params, - UA_Byte source[ETHER_ADDR_LEN], int ifindex, UA_UInt16 etherType) { - UA_LOCK_ASSERT(&el->elMutex, 1); - - /* Parse the target address (has to exist) */ - const UA_String *address = (const UA_String*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_ADDR].name, - &UA_TYPES[UA_TYPES_STRING]); - UA_Byte dest[ETHER_ADDR_LEN]; - UA_StatusCode res = parseEthAddress(address, dest); - if(res != UA_STATUSCODE_GOOD) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Could not parse the Ethernet address \"%.*s\"", - (int)address->length, (char*)address->data); - return res; - } - - /* Get the VLAN config */ - UA_UInt16 vid = 0; - UA_Byte pcp = 0; - UA_Boolean eid = false; - - const UA_UInt16 *vidp = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_VID].name, - &UA_TYPES[UA_TYPES_UINT16]); - if(vidp) - vid = *vidp; - - const UA_Byte *pcpp = (const UA_Byte*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_PCP].name, - &UA_TYPES[UA_TYPES_BYTE]); - if(pcpp) - pcp = *pcpp; - - const UA_Boolean *eidp = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_DEI].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(eidp) - eid = *eidp; - - /* Store the structure for sendto */ - conn->sll.sll_ifindex = ifindex; - conn->sll.sll_halen = ETH_ALEN; - memcpy(conn->sll.sll_addr, dest, ETHER_ADDR_LEN); - - /* Generate the Ethernet header */ - conn->headerSize = setETHHeader(conn->header, dest, source, etherType, - vid, pcp, eid, &conn->lengthOffset); - - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Opened an Ethernet send socket", - (unsigned)conn->rfd.fd); - - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -ETH_openConnection(UA_ConnectionManager *cm, const UA_KeyValueMap *params, - void *application, void *context, - UA_ConnectionManager_connectionCallback connectionCallback) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX *)cm->eventSource.eventLoop; - - UA_LOCK(&el->elMutex); - - /* Listen or send connection? */ - const UA_Boolean *listen = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_LISTEN].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - size_t ethParams = ETH_PARAMETERSSIZE; - if(!listen || !*listen) - ethParams++; /* Require the address parameter to exist */ - - /* Validate the parameters */ - UA_StatusCode res = - UA_KeyValueRestriction_validate(el->eventLoop.logger, "ETH", ETHConfigParameters, - ethParams, params); - if(res != UA_STATUSCODE_GOOD) { - UA_UNLOCK(&el->elMutex); - return res; - } - - /* Only validate the parameters? */ - UA_Boolean validate = false; - const UA_Boolean *validateParam = (const UA_Boolean*) - UA_KeyValueMap_getScalar(params, - ETHConfigParameters[ETH_PARAMINDEX_VALIDATE].name, - &UA_TYPES[UA_TYPES_BOOLEAN]); - if(validateParam) - validate = *validateParam; - - /* Get the EtherType parameter */ - UA_UInt16 etherType = ETH_P_ALL; - const UA_UInt16 *etParam = (const UA_UInt16*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_ETHERTYPE].name, - &UA_TYPES[UA_TYPES_UINT16]); - if(etParam) - etherType = *etParam; - - /* Get the interface index */ - const UA_String *interface = (const UA_String*) - UA_KeyValueMap_getScalar(params, ETHConfigParameters[ETH_PARAMINDEX_IFACE].name, - &UA_TYPES[UA_TYPES_STRING]); - if(interface->length >= 128) { - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - char ifname[128]; - memcpy(ifname, interface->data, interface->length); - ifname[interface->length] = 0; - int ifindex = (int)if_nametoindex(ifname); - if(ifindex == 0) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Could not find the interface %s", ifname); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Create the socket and add the basic configuration */ - ETH_FD *conn = NULL; - UA_FD sockfd; - if(listen && *listen) - sockfd = socket(PF_PACKET, SOCK_RAW, htons(etherType)); - else - sockfd = socket(PF_PACKET, SOCK_RAW, 0); /* Don't receive */ - if(sockfd == -1) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Could not create a raw Ethernet socket (are you root?)"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - res |= UA_EventLoopPOSIX_setReusable(sockfd); - res |= UA_EventLoopPOSIX_setNonBlocking(sockfd); - res |= UA_EventLoopPOSIX_setNoSigPipe(sockfd); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Create the FD object */ - conn = (ETH_FD*)UA_calloc(1, sizeof(ETH_FD)); - if(!conn) { - res = UA_STATUSCODE_BADOUTOFMEMORY; - goto cleanup; - } - - conn->rfd.fd = sockfd; - conn->rfd.es = &pcm->cm.eventSource; - conn->rfd.eventSourceCB = (UA_FDCallback)ETH_connectionSocketCallback; - conn->context = context; - conn->application = application; - conn->applicationCB = connectionCallback; - - /* Configure a listen or a send connection */ - if(!listen || !*listen) { - /* Get the source address for the interface */ - struct ifreq ifr; - memcpy(ifr.ifr_name, ifname, interface->length); - ifr.ifr_name[interface->length] = 0; - int result = ioctl(conn->rfd.fd, SIOCGIFHWADDR, &ifr); - if(result == -1) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Cannot get the source address, %s", - (unsigned)conn->rfd.fd, errno_str)); - res = UA_STATUSCODE_BADCONNECTIONREJECTED; - goto cleanup; - } - res = ETH_openSendConnection(el, conn, params, - (unsigned char*)ifr.ifr_hwaddr.sa_data, - ifindex, etherType); - } else { - res = ETH_openListenConnection(el, conn, params, ifindex, etherType, validate); - } - - /* Don't actually open or shut down */ - if(validate || res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Register in the EventLoop */ - res = UA_EventLoopPOSIX_registerFD(el, &conn->rfd); - if(res != UA_STATUSCODE_GOOD) - goto cleanup; - - /* Register locally */ - ZIP_INSERT(UA_FDTree, &pcm->fds, &conn->rfd); - pcm->fdsSize++; - - /* Register the listen socket in the application */ - connectionCallback(cm, (uintptr_t)sockfd, application, &conn->context, - UA_CONNECTIONSTATE_ESTABLISHED, &UA_KEYVALUEMAP_NULL, - UA_BYTESTRING_NULL); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; - - cleanup: - UA_close(sockfd); - UA_free(conn); - UA_UNLOCK(&el->elMutex); - return res; -} - -static void -ETH_shutdown(UA_POSIXConnectionManager *pcm, ETH_FD *conn) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK_ASSERT(&((UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop)->elMutex, 1); - - UA_DelayedCallback *dc = &conn->rfd.dc; - if(dc->callback) { - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Cannot close - already closing", - (unsigned)conn->rfd.fd); - return; - } - - /* Shutdown the socket to cancel the current select/epoll */ - shutdown(conn->rfd.fd, UA_SHUT_RDWR); - - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Shutdown called", (unsigned)conn->rfd.fd); - - dc->callback = ETH_delayedClose; - dc->application = pcm; - dc->context = conn; - - /* Don't use the "public" el->addDelayedCallback. It takes a lock. */ - dc->next = el->delayedCallbacks; - el->delayedCallbacks = dc; -} - -static UA_StatusCode -ETH_shutdownConnection(UA_ConnectionManager *cm, uintptr_t connectionId) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_LOCK(&el->elMutex); - - /* Get the ETH_FD */ - UA_FD fd = (UA_FD)connectionId; - UA_RegisteredFD *rfd = ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!rfd) { - UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Cannot close Ethernet connection %u - not found", - (unsigned)connectionId); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADNOTFOUND; - } - - ETH_shutdown(pcm, (ETH_FD*)rfd); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -ETH_sendWithConnection(UA_ConnectionManager *cm, uintptr_t connectionId, - const UA_KeyValueMap *params, UA_ByteString *buf) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - - UA_LOCK(&el->elMutex); - - /* Get the ETH_FD */ - UA_FD fd = (UA_FD)connectionId; - ETH_FD *conn = (ETH_FD*)ZIP_FIND(UA_FDTree, &pcm->fds, &fd); - if(!conn) { - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADCONNECTIONREJECTED; - } - - /* Uncover and set the Ethernet header */ - buf->data -= conn->headerSize; - buf->length += conn->headerSize; - memcpy(buf->data, conn->header, conn->headerSize); - if(conn->lengthOffset) { - UA_UInt16 *ethLength = (UA_UInt16*)&buf->data[conn->lengthOffset]; - *ethLength = htons((UA_UInt16)(buf->length - conn->headerSize)); - } - - /* Prevent OS signals when sending to a closed socket */ - int flags = MSG_NOSIGNAL; - - struct pollfd tmp_poll_fd; - tmp_poll_fd.fd = (UA_FD)connectionId; - tmp_poll_fd.events = UA_POLLOUT; - - /* Send the full buffer. This may require several calls to send */ - size_t nWritten = 0; - do { - ssize_t n = 0; - do { - UA_LOG_DEBUG(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Attempting to send", (unsigned)connectionId); - size_t bytes_to_send = buf->length - nWritten; - n = UA_sendto(conn->rfd.fd, (const char*)buf->data + nWritten, bytes_to_send, - flags, (struct sockaddr*)&conn->sll, sizeof(conn->sll)); - if(n < 0) { - /* An error we cannot recover from? */ - if(UA_ERRNO != UA_INTERRUPTED && - UA_ERRNO != UA_WOULDBLOCK && - UA_ERRNO != UA_AGAIN) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Send failed with error %s", - (unsigned)connectionId, errno_str)); - ETH_shutdown(pcm, conn); - UA_UNLOCK(&el->elMutex); - UA_ByteString_clear(buf); - return UA_STATUSCODE_BADCONNECTIONCLOSED; - } - - /* Poll for the socket resources to become available and retry - * (blocking) */ - int poll_ret; - do { - poll_ret = UA_poll(&tmp_poll_fd, 1, 100); - if(poll_ret < 0 && UA_ERRNO != UA_INTERRUPTED) { - UA_LOG_SOCKET_ERRNO_WRAP( - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH %u\t| Send failed with error %s", - (unsigned)connectionId, errno_str)); - ETH_shutdown(pcm, conn); - UA_UNLOCK(&el->elMutex); - UA_ByteString_clear(buf); - return UA_STATUSCODE_BADCONNECTIONCLOSED; - } - } while(poll_ret <= 0); - } - } while(n < 0); - nWritten += (size_t)n; - } while(nWritten < buf->length); - - /* Free the buffer */ - UA_UNLOCK(&el->elMutex); - UA_ByteString_clear(buf); - return UA_STATUSCODE_GOOD; -} - -static UA_StatusCode -ETH_eventSourceStart(UA_ConnectionManager *cm) { - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)cm->eventSource.eventLoop; - UA_LOCK(&el->elMutex); - - /* Check the state */ - if(cm->eventSource.state != UA_EVENTSOURCESTATE_STOPPED) { - UA_LOG_ERROR(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "To start the Ethernet ConnectionManager, " - "it has to be registered in an EventLoop and not started"); - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Set the EventSource to the started state */ - cm->eventSource.state = UA_EVENTSOURCESTATE_STARTED; - - UA_UNLOCK(&el->elMutex); - return UA_STATUSCODE_GOOD; -} - -static void * -ETH_shutdownCB(void *application, UA_RegisteredFD *rfd) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)application; - ETH_shutdown(pcm, (ETH_FD*)rfd); - return NULL; -} - -static void -ETH_eventSourceStop(UA_ConnectionManager *cm) { - UA_POSIXConnectionManager *pcm = (UA_POSIXConnectionManager*)cm; - UA_EventLoopPOSIX *el = (UA_EventLoopPOSIX*)pcm->cm.eventSource.eventLoop; - UA_LOCK(&el->elMutex); - - UA_LOG_INFO(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK, - "ETH\t| Shutting down the ConnectionManager"); - - /* Prevent new connections to open */ - cm->eventSource.state = UA_EVENTSOURCESTATE_STOPPING; - - /* Shutdown all existing connection */ - ZIP_ITER(UA_FDTree, &pcm->fds, ETH_shutdownCB, cm); - - /* Check if stopped once more (also checking inside ETH_close, but there we - * don't check if there is no rfd at all) */ - ETH_checkStopped(pcm); - - UA_UNLOCK(&el->elMutex); -} - -static UA_StatusCode -ETH_eventSourceDelete(UA_ConnectionManager *cm) { - if(cm->eventSource.state >= UA_EVENTSOURCESTATE_STARTING) { - UA_LOG_ERROR(cm->eventSource.eventLoop->logger, UA_LOGCATEGORY_EVENTLOOP, - "ETH\t| The EventSource must be stopped before it can be deleted"); - return UA_STATUSCODE_BADINTERNALERROR; - } - - /* Delete the parameters */ - UA_KeyValueMap_clear(&cm->eventSource.params); - UA_String_clear(&cm->eventSource.name); - UA_free(cm); - return UA_STATUSCODE_GOOD; -} - -static const char *ethName = "eth"; - -UA_ConnectionManager * -UA_ConnectionManager_new_POSIX_Ethernet(const UA_String eventSourceName) { - UA_POSIXConnectionManager *cm = (UA_POSIXConnectionManager*) - UA_calloc(1, sizeof(UA_POSIXConnectionManager)); - if(!cm) - return NULL; - - cm->cm.eventSource.eventSourceType = UA_EVENTSOURCETYPE_CONNECTIONMANAGER; - UA_String_copy(&eventSourceName, &cm->cm.eventSource.name); - cm->cm.eventSource.start = (UA_StatusCode (*)(UA_EventSource *))ETH_eventSourceStart; - cm->cm.eventSource.stop = (void (*)(UA_EventSource *))ETH_eventSourceStop; - cm->cm.eventSource.free = (UA_StatusCode (*)(UA_EventSource *))ETH_eventSourceDelete; - cm->cm.protocol = UA_STRING((char*)(uintptr_t)ethName); - cm->cm.openConnection = ETH_openConnection; - cm->cm.allocNetworkBuffer = ETH_allocNetworkBuffer; - cm->cm.freeNetworkBuffer = ETH_freeNetworkBuffer; - cm->cm.sendWithConnection = ETH_sendWithConnection; - cm->cm.closeConnection = ETH_shutdownConnection; - return &cm->cm; -} - -#endif /* defined(UA_ARCHITECTURE_POSIX) && defined(__linux__) */ - From c16f982dfeb1eb30d49b5e1930f81dba0277990e Mon Sep 17 00:00:00 2001 From: Maks Boiar Date: Fri, 13 Mar 2026 22:41:44 +0100 Subject: [PATCH 4/4] update readme --- README.md | 61 ++++++++++++++------ src/interfaces/opc_ua/dev_OPC_UA.cpp | 81 ++++++++++++++++++++++++++ src/interfaces/opc_ua/dev_OPC_UA.hpp | 85 +++------------------------- 3 files changed, 132 insertions(+), 95 deletions(-) diff --git a/README.md b/README.md index bc1becb..44fba35 100755 --- a/README.md +++ b/README.md @@ -1,25 +1,52 @@ [![CMake](https://github.com/mboiar/gesture_controller/actions/workflows/cmake.yml/badge.svg?branch=main)](https://github.com/mboiar/gesture_controller/actions/workflows/cmake.yml) -# Gesture controller +# Gesture Controller -Modular, versatile gesture-based controller written in C++. +A modular, high‑performance gesture‑based controller written in C++. +It translates hand gestures captured by a camera into control commands for robots or drones, with built‑in support for **OPC UA** communication and real‑time video processing. -## Drone Software-in-the-Loop Simulation Demo +## Examples -[![Watch the demo](https://img.youtube.com/vi/OrVqN6P2TyY/hqdefault.jpg)](https://youtu.be/OrVqN6P2TyY) +| Drone Software‑in‑the‑Loop Simulation | Delta Robot PLC (OPC UA) | +|:-------------------------------------:|:-------------------------:| +| [![Watch the demo](https://img.youtube.com/vi/OrVqN6P2TyY/hqdefault.jpg)](https://youtu.be/OrVqN6P2TyY) | [![Watch the demo](doc/images/thumb.png)](https://youtube.com/shorts/yFY8yK7BDtM) | -## Delta Robot PLC Demo +## Features -[![Watch the demo](doc/images/thumb.png)](https://youtube.com/shorts/yFY8yK7BDtM) +- **Remappable gesture commands** – easily change which gesture triggers which action. +- **Multi‑device support** – connect to any device that provides a video stream and accepts commands (serial, OPC UA, etc.). +- **Resource‑efficient** – runs well on constrained hardware (e.g., Raspberry Pi, PLC Companion Computer). +- **Face detection** – using OpenCV’s Haar cascade to focus the gesture recognition region. +- **Gesture detection** – ResNet18 model trained on a custom dataset, executed with ONNX Runtime. +- **OPC UA integration** – read robot status (position, mode, servo OK) and send jog commands to industrial controllers. +- **Simulation mode** – test the control logic without hardware. +- **Asynchronous logging** – spdlog provides colour‑coded, thread‑safe logs. + +## Architecture + +The project is split into several modules: + +- **`Controller`** – gesture/face detection, and command dispatching. +- **`GenericDevice`** – abstract interface for any controllable device (simulated, serial, OPC UA). +- **`OPCUA_Device`** – concrete implementation that talks to an OPC UA server (e.g., a PLC controlling a delta robot). +- **Face & Gesture detectors** – wrappers around OpenCV and ONNX Runtime. + +## Dependencies + +- **C++17** compiler (gcc, clang) +- **CMake** 3.10+ +- **OpenCV** (≥4.5) +- **spdlog** -logging +- **open62541** – OPC UA client +- **argparse** – command‑line argument parsing + +## Building + +``` +git clone https://github.com/mboiar/gesture_controller.git +cd gesture_controller +mkdir build && cd build +cmake .. +make -j$(nproc) +``` -## Features -- Easily remappable gesture commands -- Connect to any device over serial supporting camera video stream -- Good performance on resource constrained hardware -- Face detection with the HaarCascade model -- Gesture detection with the ResNet18 model trained on a custom dataset - -## Build and run examples -Compile project with `cmake --build .` -Run tests with `bin/gesture_controller__test` -Run app with `bin/gesture_controller` diff --git a/src/interfaces/opc_ua/dev_OPC_UA.cpp b/src/interfaces/opc_ua/dev_OPC_UA.cpp index d5a8282..50ec783 100755 --- a/src/interfaces/opc_ua/dev_OPC_UA.cpp +++ b/src/interfaces/opc_ua/dev_OPC_UA.cpp @@ -41,3 +41,84 @@ void OPCUA_Device::send_rc_control(const velocity_vector_ms_t &vel) { set_opc_bool("::Manual:JogZDown", false); } } + +void OPCUA_Device::stop() { + set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogYDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogXDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); + set_opc_value("::Manual:JogZDown", false, &UA_TYPES[UA_TYPES_BOOLEAN]); +} + +std::string OPCUA_Device::get_mode() const { + UA_String uastr = get_opc_value("::AsGlobalPV:gModeText"); + char *modeTextVal = (char *)malloc(uastr.length + 1); + memcpy(modeTextVal, uastr.data, uastr.length); + modeTextVal[uastr.length] = '\0'; + std::string modeText = modeTextVal; + free(modeTextVal); + return std::string(modeText); +} + +std::vector OPCUA_Device::get_position() const { + std::vector RobotPos(3, 0.0); + + RobotPos[0] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.X"); + RobotPos[1] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Y"); + RobotPos[2] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Z"); + + return RobotPos; +} + +template +T OPCUA_Device::get_opc_value(const std::string &key) const { + UA_Variant value; + UA_Variant_init(&value); + // logger_->info("Reading {}", key); + auto status = UA_Client_readValueAttribute( + client, UA_NODEID_STRING(6, const_cast(key.c_str())), &value); + // logger_->info("Read {}", key); + if (status == UA_STATUSCODE_GOOD /* && + UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + logger_->debug("Read: {}\n", key); + return *(T *)value.data; + } else { + logger_->error("Unable to read value"); + } + return T{}; +} + +template +void OPCUA_Device::set_opc_value(const std::string &key, T value, + const UA_DataType *type) { + UA_Variant valueVar; + UA_Variant_setScalar(&valueVar, &value, type); + auto status = UA_Client_writeValueAttribute( + client, UA_NODEID_STRING(6, const_cast(key.c_str())), &valueVar); + if (status == UA_STATUSCODE_GOOD /* && + UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { + logger_->debug("Written: {}\n", key); + } else { + logger_->error("Unable to read value"); + } +} + +int OPCUA_Device::connect(const std::string &server_name) { + std::string opc_ua_server_name(server_name); // 192.168.137.1 + logger_->info("Connecting to OPC UA server { }", opc_ua_server_name); + + client = UA_Client_new(); + UA_ClientConfig_setDefault(UA_Client_getConfig(client)); + UA_StatusCode retval = UA_Client_connect(client, opc_ua_server_name.c_str()); + if (retval != UA_STATUSCODE_GOOD) { + logger_->info("Unable to connect"); + UA_Client_delete(client); + return (int)retval; + } + logger_->info("Connected"); + + get_video_stream(0); + + return 0; +}; \ No newline at end of file diff --git a/src/interfaces/opc_ua/dev_OPC_UA.hpp b/src/interfaces/opc_ua/dev_OPC_UA.hpp index 3e49533..c783b31 100755 --- a/src/interfaces/opc_ua/dev_OPC_UA.hpp +++ b/src/interfaces/opc_ua/dev_OPC_UA.hpp @@ -1,5 +1,5 @@ /** - * @file if_opc_ua.h + * @file dev_OPC_UA.hpp * * @brief OPC UA control interface. * @@ -26,74 +26,21 @@ class OPCUA_Device : public GenericDevice { public: OPCUA_Device() : GenericDevice() { STREAM_URL_ = "udp://0.0.0.0:11111"; } - void stop() { - set_opc_value("::Manual:JogYUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - set_opc_value("::Manual:JogYDown", false, - &UA_TYPES[UA_TYPES_BOOLEAN]); - set_opc_value("::Manual:JogXUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - set_opc_value("::Manual:JogXDown", false, - &UA_TYPES[UA_TYPES_BOOLEAN]); - set_opc_value("::Manual:JogZUp", false, &UA_TYPES[UA_TYPES_BOOLEAN]); - set_opc_value("::Manual:JogZDown", false, - &UA_TYPES[UA_TYPES_BOOLEAN]); - } + void stop(); bool get_status() const { return get_opc_value( "::AsGlobalPV:gMainInterface.Robot.Status.ServoOK"); } - std::string get_mode() const { - UA_String uastr = get_opc_value("::AsGlobalPV:gModeText"); - char *modeTextVal = (char *)malloc(uastr.length + 1); - memcpy(modeTextVal, uastr.data, uastr.length); - modeTextVal[uastr.length] = '\0'; - std::string modeText = modeTextVal; - free(modeTextVal); - return std::string(modeText); - } - - std::vector get_position() { - std::vector RobotPos(3, 0.0); + std::string get_mode() const; - RobotPos[0] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.X"); - RobotPos[1] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Y"); - RobotPos[2] = get_opc_value("::AsGlobalPV:MpDelta4Axis_0.Z"); + std::vector get_position() const; - return RobotPos; - } - - template T get_opc_value(const std::string &key) const { - UA_Variant value; - UA_Variant_init(&value); - // logger_->info("Reading {}", key); - auto status = UA_Client_readValueAttribute( - client, UA_NODEID_STRING(6, const_cast(key.c_str())), &value); - // logger_->info("Read {}", key); - if (status == UA_STATUSCODE_GOOD /* && - UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { - logger_->debug("Read: {}\n", key); - return *(T *)value.data; - } else { - logger_->error("Unable to read value"); - } - return T{}; - } + template T get_opc_value(const std::string &key) const; template - void set_opc_value(const std::string &key, T value, const UA_DataType *type) { - UA_Variant valueVar; - UA_Variant_setScalar(&valueVar, &value, type); - auto status = UA_Client_writeValueAttribute( - client, UA_NODEID_STRING(6, const_cast(key.c_str())), - &valueVar); - if (status == UA_STATUSCODE_GOOD /* && - UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_BOOLEAN])*/) { - logger_->debug("Written: {}\n", key); - } else { - logger_->error("Unable to read value"); - } - } + void set_opc_value(const std::string &key, T value, const UA_DataType *type); void set_opc_bool(const std::string &key, bool value) { set_opc_value(key, value, &UA_TYPES[UA_TYPES_BOOLEAN]); @@ -101,25 +48,7 @@ class OPCUA_Device : public GenericDevice { void send_rc_control(const velocity_vector_ms_t &velocity); - int connect(const std::string &server_name) { - std::string opc_ua_server_name(server_name); // 192.168.137.1 - logger_->info("Connecting to OPC UA server { }", opc_ua_server_name); - - client = UA_Client_new(); - UA_ClientConfig_setDefault(UA_Client_getConfig(client)); - UA_StatusCode retval = - UA_Client_connect(client, opc_ua_server_name.c_str()); - if (retval != UA_STATUSCODE_GOOD) { - logger_->info("Unable to connect"); - UA_Client_delete(client); - return (int)retval; - } - logger_->info("Connected"); - - get_video_stream(0); - - return 0; - }; + int connect(const std::string &server_name); ~OPCUA_Device() { UA_Client_disconnect(client);
    2. 7RdzMC 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

    wY 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

K5{F}p>SmI>)H!qD7=ii0k7IM~1hamqRN%4vD zk8*8k3MV@cwhY{g)NoVsk9=Qh`hEbn#llDBJ7NvyrSPFeRla^OHJmf^B_)2;eoqC{ z$~jrN(e`sVL*de5l$+qV_B3#-ILqSKkk%hi?AN9F#O1pYT>np5dS&ULwWBygaic|6 zZij&LYWT)$`c48jRl~PH(|0kr>oj~zHGRv#t2Q__IaIAc{0mV}N(ya2001YGvxaYvFZAl^C~%`Wt190bP2YHMlT&?ydVe~Y z4>+f)_djsPs$Ts9Zs3>J^)#0=R=&f)`80eJHGQXmJ5|GXo~G|oaMxS-Xq@vnn3p)G z8s~ff=1U77jdOCo!u}$P#V+6Q^IIAj;GEH9{xDzydvo(G5z+I@} zyHnHmAh;(re5*8lYrw73@NNH%UU}>aZWL!#<>A-#Re&3>;cM6Q%>}n0)hF05ECJL1 zTb5?keqlIg;{A)b-xvw*FwUy-rApH`7ThTozIlk$X<#;Uj#A^diQ`xEU5;%MKC~F| z6L5B{n+fJt&e6Px;Y&F_r~ZELb;RB$sjd{=7vt_OF! zhVMB|-@m}Ur{UYE>9hTqV;h1GEvoW3gfj++FIjmw!Hv=IouugtgKJCm3HC=9gZY+o zs{PT{>-GALZNTlySyjHcHGM~etI+U8HGM7M=4$vBYWfy~yF1k<$mf^99I}Dsp(>xp zaK@^>lz|(|Syeu_Y5Hb^o3G*ftETTxaF3+=Qu1XT61fu0@}F3~u=}za(&mBbxxZf% z^K)YUiN_nmz>MUaEMMq+#TYQ`f{ zyMi0VSueXaO{9qPyPSxHX=8RRiPk?)Yvu3!0eECe%_bs?zGE+8vaEEbL z6~8J?-&k;`Soml>ej1nyImhx@T%Q+%x!b}=?eZlsZzTEB+aZ*kSa9SU_)BX3 zrTeH|?vTcb)3GPG134?pXY!S5`i=#6a;i_z&i|O=GupX;`;&-Esi#zKXMnqev#N5t z8O(j0lcksP`4up4CHd0xnab@;FdHm5y3cs ztq0=r-51>9oK>Z_TGKZUTw|(Fu%G!8nD;p++s{zF`kpiR(^zEX_Fr&=|I5-WO9!>z z1Ht5RPSt*^!5nAdqj~QcVCHg8HqN2=%;$`e2z<%T@1G0qbI!{0g;M!znonH5{kGtF z3i!|>%NJUEIA;tHU$T7mfGgDSHEQ~%fa}okU8d=~7ThfwzGpRkFN1qq!?!`x_g`>> ze@iKkl=eZ-O*s(EqsEiY_Ja>;`kn&!vW1W8^B0=F@4@|7!?))^z4F)(+!35rl}D|nZvwc0 zhVKkb-?`wf(C|H=>3a;^KT~}viyLpdkQ zXR=g+8JpxAnl=ujaHC*mCi&7is;5_S27elhY`$}G8Yk{g?*_LtDO_+V$G;TrTbjO) z!F{XY8!}k0J`V?%%ULs@1;_hEDL&cpeu*YmCgM`^h1z*V3MV`6X#jT;XU%k^)YHZA z%>}c^HY{%#*N|2o^qf2&mS-8ETaqumd?~bx!CaH%8=4j_%_H3f<`D~y>dQ-< z!Joz=tEX?JafqMbxmF*8`7aU5mBPvD)mU(+aMnzRz;~LaZ$7w7Q++A*)Q*AcyXS;G8TSWQl@lP4cDJQ+nRy*;gFK1Q00!?2vxZ^Z@GcrWff`ZcOof9DMTG!|JseHPrSoHfH0)cbEVeH*}SwIfTj%C`?^ ztm1bdIG2X+SWVyY;3BC$K|Y@i<`d4T^7&`ZSf%4PaNF)=oi7J-#>(dacZ`PbL``1^ zTx+T?C12<`>LM_I+L@(8b{s|5jobp}G0v&>`>%j`mvgfELZSUk%rF)%^QG_iX`Xu+ zm_0Zrn_r{rMshiWKaEAU-#;{s6Yux)z!h`WOh?Lokm4Ok@yV_m38iqd_B##StkiG? z?e{88-(SGpq2YU8)AuU4|D^g->eXcA%O)_#?~+));(l#9XN*F_mn>gqfIE}3W_bwm z5HBRAmF?rE~TDQx%t3Va8^}rCxMyDIWvAKK8pPUFqb6x#N~D~n0qZax^Cnd z&frgDk(JwuG)`P@?|@swSy?)$+_oOh%7OeAHx~)(PFeqLB9CGE#|B&U#LDmoaPg^-zUJmz*$*3$oHA1?^|%cX!wTj zsaIb{f;)_}s`yoD`o@AgMZzN;3T`=PRr&m}rteE|KWX@e?X6c2Mu0nrv#R)&Y5MBGouJ{Ht?8Qw?m`XU zotnM}!9A(rTczn+18$v$Z~J}p%41h>qd2Q755K0b0^E2FU%RGnF1Q62KI-q6fO(j6 zs{Z~3Fe@#5)ZhOA=4Z~S`unX$rsgxobt&z9GJO5Pg*mJ0?`Nm^#Qps|a2Ik`Rc?1` z`W^)Lq=s*mrf&_nbsE0y_f5?|ae8+JH;S{W^!hb@72w8e_}VpnbHOdp@Ga5w-3@N3 zhVLy+-v{8n)bQnu(kqXl;70r(d*1>lWA*?4EXqp7x}-wZJ-1kQ+q$f^SS-uBB=i`w zvuo_`%$k|SR%%OXJyr1{Eea`26&gXp2IRfj{9;u3aeSsSqhmZPs5ipkuoKru)5tuvT@KH&h2j-P1 zKJ;IcJxTNFEx>#g2S_h(@K z6U7%R2V|d}+N_#Z3vYVajSJ-OY#=ZUh#z)x&@={TEeGv^J6~Xpda-D?u_it{f9E(8 z&aOS&!1>MTTD0%=ihPTJTc*IbR*`Q5a37laEXLn`zzlEB+s$eG^$1M3-K^WA7`QTl zHQK|XUKT6z-38oA1->^G`Q8U^n*!efMZU@{s%bUwrk7oLsb97Orl-I;^~>SFOo+or zcGxArlnb0)f1~_dD=_$zy{!5h>7namaMta+2)JbeYgb<4TdT;o0k{tp`1UFC?Fa6p zmd@=#`D-dLtWxm9uAjF7uA2hiC`G;rz`I!UE^mBPRoYuGQ0%o^n67bfG%oZ3Wy;vL^PhjvTd)bZWTVrt6h(Z3awhfwLP|$zRu5U>G5O*o~{{ zF*s|zn+@Dpfi=ouF|JNG@v(8$qMplu^Y(~e&kKOLPvD&D`8i--6F4J(CVfDueGSZy zQGC|*tff}dPR5&FPW4<FcT?CQB;49>cqTLITaV2yHE)N`(h&(3}sWy0C%(+R+N z&FPxzkLD?J6#3=@w?u*OIYqwpz-?0C+pWm=D{u$n@X`8A!}F_Y?eM0Tll-LvlPz#Y zyP4{b)@KTVDG@k3xuWMU78pvGURH8N?J+Y3XDwH=fmGi0QX89KB~VR z!0Zz^r}{f7t(umEH@)ogNA=epn9c&{RDZn$h7sb2UHzrU;H>K}3%F4NYnMMNZxEPS z0_RlT#lS3&!$;*^56tTV=TzSJ1SVd2Ka9aym-jQ^b_uLqc}ZSQ>dD(IoUS$BX~3N& zuugp46#04sH&}tstH?JMxS0xkOBDH*1Gh?nZ<8Y5X5e-x@Eug-tJ(|eGkDX>sXbBz zCSLpY04`I3&#lN;2;6i9zD0_BOM!b(fp3E%-@CwlrogvfkuRY))@Sf`Y7f#cZGbsn z;GFc!Fkr^T;UoQ02Fzsw=cHe*5g3+1{IJrel)rhvEfH9!{H+4!1%b1ZKg!=$V73dK zQ~tga7^nP^zSl)e^?_?Cuts@J z^OT9G*GypU6FAa1MYo+HPSWNiB!)&EAssbT;;wdyF9pe!wY)3^?m>ZdD#r#zzITE9Oo4B|B40uV^eNu-a>`#Dfr(e% zPQdk6;G3Yx=K*f20^fW^zQw>TkHbg$YCSOT3!Ia_+6m0QIDDk9YV@n7)xn!yPWtK` zfnh-Wu+vwKV{q2;*9y2U0&BFdh1}-?vs&Psb72Y{>E-_$QH{2R>$MkLGkC!5Mk`l_V~XQ!{)19!eTT?@XkihM5Mip_i$ z@;48d-2!JP2UL!O0wc?7SB|O!V7KEOZO4ro)cIjU5onL zqR96JaJv=wstx32jhDY9;2H|7Q~u6ZO_o{NFmBydjkyhC8(mE(KheivAy z92V);&Z?#b@urtux};y`0JAs>XWcJX0`rW(8R?qZmr~md%=RcgYyI*IF#i!aC;d`s zkhy(h`AEN1i@{l!qb_ib1=c8sg?{O6;}6Mu#=x}`Sfl@nf&#`E8SOUU7EXQXQ}o;MPhaCxoE z(Gs{$3Vg#A`Njh0QQ(`U$TttT#R_~+De|oW?o9>0U5b1^19w1y@2uf!{jD)@?F81T zeFrP@|*Rys0P6Dp3z&hox6);@{&MtqHVlFV_qxfRerSYQ#m}vrMR}S)8sdj!@ge+i?pZiP3!?COv5*9Mpl0_T*! zRDofH_+gj7p1@@btW*A6z!VFdUH&Nd^MJWIiqBe~J^;+40%una(x=Y~j8i$tPq;P) zXDz22f!iXmMma3>>F*{!JAL}631_EI4+2+xjC1>vK4>K{;qqFSBL%pg3Vh=f`P{(y z75J`K~xD_A+o{O62e|!l_-K5qcOm9Ic+<;i{5T(&0Rm^&9yGprfSDq2 zcH;s)9}*Z!mtI!m8@2EB7@V~}y&SlC0&AB);(Jh$?{VPPDDZuz$oDmHKP&K^HcqX7 z)CI1wz&e$;w<6yF;BpoCrYiE40XJKLZ@D7hO5mPR;M=Uow+*=O119y@hzdf1?OuY7J16(%+zEO&N6M*w7@Xb-=n-AO)1-|DL`PKusNr7*- zBHypT9aP|JIFYwmy!L1gT#CRt>Azu$d}DxfEAU;R$Tt_bMGAbY75QEOZi52fPDQ>w z!0lJytLIW{k4C_?5m=}8$Wr7R4%`FPVaAOqsN)`EL0ykHIZ-pY?D&SsF;M=Omw*$C63VhYwYVA=Q zxJCl&)E+$*`7(hUuE6J4*-;MZV3z?NH!5sK{5E+ZODFPGE zKIj2lrUIW^k*^TA=?Z*{6#13{_n-pb21UMif%{B>Z@(g6LO#}e@Q&9WZ3HG>dvpS> zw*ub;MLrL3Q{(WFe`7u{cL|)6e`7T;Yvb^de`6akUkRL(f8$4i3D--_nEfu4zn_6S zD6mfXt6hNc18;iS^$+^CCoug5j`PK)OYs610y9zI?8-swTT=uEf3laApN7`ArpDl` z{WLRyn=7zJIV{$HoUVnx{WC?ruYvnnf$y}*yv;=Q+4^7V z0@qkzje4=jUvEXe0l?)d@J&_ZD+6w}0^f2)zLmf|qrkUWk#8Gt-^bx&{!TCaop{sB zslT-WrklXowFmQe0&}6j+4UoOK2Km+!uVm;kH|k+5QDSsM}FWg5m>wYF@L8b-!kAH zQQ+IC$oC;|UnubXt;l!M6!<&wrk7KB+Y1Z>;)k6+=muPd0-sBf&kJ0s0^dSKz9qn| zP~dw_k#7@lTNU{JROCAdT=l~E?a@kL;dS+bmvtGzTt4V4d{eFh#yGz_}Ipu2AHg3)~_FzSW9+F95eefp4cG z-yY!hEAZ9xskKKV;MxeRQ+s47@(l-Wf&$+qihQ$xo3Ft4h$7!pz^zx{`$Ca#7jVBS z@Fn@x+T$$XnhUH`dt@l`4F+zE0$-^j-%Q}!hPM*r!gx9k*t{E_Cad36PccH-GPxk6l6MSqQ+H8jWtO5S;12<1# z`8>)RcNZ`(2%M3>JXgroEFkH$_V{ZnFo^+P4nB|Sv(B7uGvI0g(^cS%bWMDO8w89` zfo}#dcPQ{Z2FynaeA|Jk6y)VF@@JBlB;@Z5fx(~b#p>CFn}ly##^7>dvi^JG)~5#JXvxY+WR1Gfvf zf>K^LlwYg%VE%(?@E_n!FT3`oblV6F1LB7jAGL3%7@T$cE>gfzdyJhPzkN%9n;(OV zO_%h`!5Ca@{gFJ^n-M=0Zn=aMg*_X!W%K@%W3@(=MY~XH; z!Nul}^vgpEIFjdA6mZ>v+pmBN0hcnQ`UCfR3{LWe2RIs!PQ48K zV(_MyF%B|)6~@v1M?-;`ByeIJ6nZU;BY%4lFf-!dDBUZ8xnJO-^;MXUaL)s?UErMZ z_ZKiVFX!d3%O92FY+%k4IHz>`0+X+RyBL@|1E%?8A;6RfoRL3nmjv0v_%RCa8-V#*;CTLW*70#G+#Xbadw@x}B7Qwr2d0t0 zIpwbtFk=*Og}}@=<4on~hx{!EW|zP@m17?;Ctc}W4wB~@z|@a}qxNVHOqRge)$>^3 z3V>M`#b;g5ZvnGC3Mcz{xINl}?>k`X%;M!B`y)J_hjEm@{=iHTIH&fw448Y&I8#0M z1>e)a{72xN>bcTY)wDD4rk9=EQ~r{H=_hbi@PE5<6ajOiz!~K*<*yf>zZaOV1Wu%D zDbGI=X0~(ws9&A}ObdZC+SjBfsT}=)nJjQd{w#2p0&}++XDUZi@I4947J+jr#|~hA zkH*F5XX?KPfvJ5pFRxSnS^_iJj5Fnr%Bur2OW>UHcReu6qH!_#qyDxMm}lbPDBbnI z>=Zbsa_k4D;hgy8O#x<93@+qumX&=Wl4CEjpS{3L6}YfG12-}ncL^}FVsKP}f(*Y% z&aW33`6*i$GR+qVx4;UQ=b2Pm&@5Lz+Zlf>0`5(L<@Hjt?|BxuZNMa56Im~@xIW-( z4vZ%b?kXfy2F%~rI`ffzpEM8W>f%i=yZnXl-6CMBUFVGJ4uXcjjJm;ub5AY|cBR_j zuNfoIZUQ4e(@ufTNltFxKRs(mR{!j*-0bv`83R+B=-Ig$`smCNJyUvg=+MOC`>c_f zBhp6>8=?2h>^o|JJ|uH==8&EpEs!HheIakLXNY%Fz!fO#ncXi>?^ot?6?@(NsM+vD zzs&yWqlSzelGQi0NpWzRyCe|GvmnwlMvT;RNA}Aarf202)5m1>%hYpoGBdLJXJwAa z?P--um(S-9xk4U27z%iO1z6v-T~boyofI4&EXgbK7mW9phQ?1S^%mugpV75*J67`X8QHEvPk(Qb zN21Ql^9IHT1Mcze{DSj9aGrnC6fIRtOG=oCn=Q54S`%&krJC_O+v^VagZ}(b^0^~g zB@Zh>HG3~cF_Sa=#U-E(XtlIvNxDAGt-C^~fJvnxPf)9a&nA0{N<4wcPfy0Du27Li zzk{JXtsXr&&=u6v`wh{9(_JNco+sq;7C~N`B?UZ1y1yjIz@b2jRs)}v6uI1<$^N1| zPavpO#|K5;kSE|O3bIV_`q!gAb59QVeg5!gxBxtfe-=x4I=%}{_6GIPp@G$aG@3g_Pzd8T=axXkQ< z>KvdAU@}8;L$9@vBbqVYkKd;^Vjs~DE=Q@UU`$OFbg8LDepjB(2!mP!tyawrcu2lT zP4idH%%qy9XsJob_;y%A0;(%1sSp0X8Xm=A30_}GX-GQ@pH)G2UQVXZ3X1%bTt%E& ztBbEXfT`9X`l`@Vrca}GZG?~O;0gLF`UySXU+T+)oF*mRjV}j51r19OxvZ;IHi|n2 zPu~szUiE-I6aP(MX`}^Qz5-9LW=}e8KC9x8<22pNP+ReWJS; zpmQ;FB}i)cJ&a2J3*PJSmM?1W4)}t+yHAP_F_e{)42;BY7kj6n)Lt1L8*9V2>&C^|h0^RF_lGg?S-3MsNJ;D|8`t>~TG;f|Kjg<>U z@cPqI+NShs8~y(d{M9R&3NUm=N3EU6XC;e#20Z!G1Fn+Dj1Cn^S1B*QZdx}x0r3)yHEU1kf;JdaPyiA`PS4Rd(46PApVEOKcf85LQX9ks#Hg+79!446@o zWM!0`dfj6F!t^3nH>4qT=usH1TwC&wO)50GS2C-Cb<8=((%%=>gslgB?24%V%V@M%XdJuI+A7~duXZZ;06BT5X<-+K)9657D zAuj@VL?MryJHzGEi#^5e5@x+?Ex;c!zzLOSbdL@lAnl|`TMJy3a_z0#&$k@u7?u>I zOVo!L&W}9L*+zbKe|~<@6Vh~%L^2nj3QZ#Dz1RbboA+&)39PV3oPw_elfqK{4Uq~U z^%N#KauX`is{Z^cH<k*!1q)fF(X&;`4<1x|eyBfCjKQ~9wmzd7AhJL-Y8BVdMOV^m!qeYtH?wyH3o)t@(O_r_0vBhKjoJn3J3YBn20kT z*}z?#%9Q6XomAwB?OXEU>S_-g;=wwm>=p+rJLEnxW$WHWElg9agz`#%sS%0kow z!YJk^qA=)S-9;{XtJOqA4u){qb*D=KSmyZ0RC_t{&Lq0xTGaU4DwMJ zveQd3HcO1~7DQoO?y05TKo}#Y^ide3<#7eW7%>Bm!hnbJWTYkLpHY~gXR7WFhO~1~ zE;1C;xI}Wpq-)r4k>5udF5-JKTS&uFD@nO=o-xSUj-E8o;7=S?MXxvnjtG<5$vhS5 z#?Gx|hRo9|`FV6k-O(A1G9HgCiHLF(AQ8K%!I33mnj=h!Zn_FAO?Hf7KUt(@W!N8C zp(4^^7XAd0lBI=zL`gAIzmcHN(e&)l4Dvd70zTLtm>0ulzzl<&O}saKsNi$H> zGkkC&IMKua!ZeoC3OFs{1u;!LzT;zmcM9q!#}5xX46Mb4#4s$b-O*mAeL14 z=at0gw8{%L8^XE||Dv+^Vp3_aOiRLtcfqLxG}TKeP{s)8BQ1e_6!5r913~XJ58U=u zla}EN>3z)_Iy!wwRzE#`#DG!RnL|f1r9=SfQXM)>&mEO9P|q1LEF&{Fm(6bJd+Gig zmXnFa>a1Zy^`XN?>iAD~*2s~W{g|7OaMA%cA~Sc`s1X^NSk%V4=dg^y`j}y(hV;{i zWn_#Rp*2Ug*7Ax-5BafxO%v)^EiYjSnr;P?ieAD{AyzP{>m>}8X$6z&Uc#za!=%QS zu#>D|Qt3BEN$tG@LULLPP?hpNeT9t?DLq`oNPzkP7%>Dy`>0a7>U^r`G`NnjV~{gc zu?R~Gq6K{ung5i1fF^&Fk={OEjFY$_22qjAJ;z>;}B?9!OVtm30ta}h&{@JAJj zeZz>|r*!2||W32QCT0NiBRtEam}T zScE?C$_ z=Gv)A+jF4B*o(JA~^z*!?4QK1h}BOFm$5nWVKBUDs!Oe4hA z14oh?(*xu<5B?}Q;B3{CEMDMdJCh>IxsNe|%o+d|XC z=7i{-nB#G=GKVQq*x7OFiEiU8C0iU?=AE^@)aMyKhJ|)LzK?Y^dRD&5Ekt#Epi3Cp)xHw z!O6zu2Ho)%$Xqd2Adhxtdd1OP?rN&-EZWnE_NGuvPX|==C?D|S$~PQ~*}@42y0MFtnF>e84Q1a7!fwO}&#lIK$HX^o zpC4`vpOA{0E^r2AiVwRk!H2sySh zNSJ=G=sA(0EWGSl9612nN zDs+{UxHK}Hi6if@I3~e+PHQ+pe}L_5+ly0lMf7T{Nyv6h$K;eu<+dqZP&jTX(&7$f z=#<0CP>_YF$t+Q58gXgmJ7UsRsO@5}PcJlT`Mkr*P_b(UI3^hx*>*S?VZH*4D^#Ze zRFfX^;=~>QbbJ(Eus9lNl$OxRR^c@Ip&Zo4whNw4ZEQ3#&HSiYs;ky0-*05y31k~r zIy^Go3$jFxzN@U*JkdFd>;|%M${i}2Dq4UkERt#}q5SiI4l8F|gk>G|51Tj6N+&u` zT!!5uFIxHP!^(=15Z6Z{vpN{_N(8)P)2i;8MC)VPQOSW>#A!K?av(%p3AQTE;el*u$`!4l7DST|;Bs_0b8l zz&qI11q@3ivF5~~6O*WV;h`nxhb_o6!-XK&CQc9p&35V1Lvu`vjaQf|I1&~6^Gb{S zMk9&<;6obfIvHxvF(n=c%2uImOCIDqu@SbJ=g`<#S1$9x`J+$r*0yln7$P zIfOJ9iV*P#+2X<+43!~jk~#t#TIH&@A%S`P06^)mij_VNNag$7HeR@mFJydWJm0-I;8A`tt-k7 zHNNz2Qr85PP#zIoPO1c3An$f@`B*;Dt=hy(I8vCYXHZ?p>3Vc7qw7PQYjjBU(bZ@k zS^$jD_DtBh@g1X1tx8~q8mdxSv3+8#5)dPhA-^OXwJn0fkSQOUgL*#Jz1$Ru&CL9^ z7FB0XIIMih)oN~GGdfxYn-@W;wj-a2kcxBTkOL}otpZZ0I5{GU4PS@Ukll=iq;uh% zijAB_N*JvuM-0<3?H;M>NFkb~F|vN5Z-lrKt4bUVlcdH->&YcZWo zMUm)$3JohOt{PXthm>LuBgK}-I^f8D9(}^Q%G^!IBxv2f6(VCb`bLBaNkNeT5Jx>c z$UciF1m$=W6gax!DyNvTpw`&5baz5f;vX#de;_*1zPm33h?1jplXP$OMjh%itsfVYW)WG&)K@}yAi9iPv zl|@nNlwlEFVydi&M?^i*B!lo`ZX6Gfvc=C7?XKm$-ju0iUL6*Rh(}DB683OBJThgP zE18}U0drA#BE@B2QQ;>U+>FLEO@Z{2Fq zVC2O#?=*2kX+`CPW|5Q=aoCzATI54!+Pa}QF^3`-2f*vF=zd(D4{Wz;Y^)d3h)Dn9 zEx0?6lSO`CK~x*afzP@P1Y9(N9QdpoAqpF}r-U6C(PK8rg9tM-$wT-FksaAnYFT!6 zGd#AZ#EzkC+je-cltIMSGiyU9%U%%HjWo*IclnqHMR{o0qNl9;n$1%v7Wv&s+_eNI zL~dFhl_&UzXumoSMUne3YD@P&m!Hg6wGakY3ylQ(it&Zds7XM+}F$w8&a0KZ2}DiN#ebtV7ro zh1NNZgrvl3<)5iOgOsE~6eq@-65=bO;To0}ll8!BLPwM%$+GYUKB|t5vRAPxM$|Jg zW$(=Ohg~U5OCqwy63Q#{!)9%ti>zna2@=XT{o|a&h^J5&bX@vWcB4(~LNZ%CN=?N{ za2^9^72hIoc@&IHix9+T6#^h|oP#E9NeT6P`xav5&S(+PM*6C`TTUBDV&}rO6W_L03bC zn~1qWXm-Jc_g{MSiK0jt5#Y2MW;stZj4^K2I>%%`YRAI5L50U;$1P;M38FMwk}cMm zG4%OxHy47_u-B2TB-0$dH9N^QX5hs>FS=icF70B_*BvY3s7Kt!sTlQm+hmku_W)x- zRnPJVCyBjW!9s7zbSzg0gbX%_K$Ifv31^?Oz#$?LletI|7Cz>dXM__-u8&3VU?`hT z@dO5u+{I3{GJ(b;tLl8L{MpUH7pHB!$VjUZOgTO>jiP9Tde0Z_ohuG}@R zG#S@nmEr!Y;@Io3NV^bea%}tXYdBchegndy1#$bT@wG+k;rwpnYm0it6|KgU)vDnA zJozr1Cx@$rv6&tll0vKoB934(4px#!=J30dC~${RRl+wWS|I5pYBu&*8}JC1g^EDX zAvX8p4l$gD!&GJMRY`g(`dT_;q!%6=W;F7+nsF!< z&5z1s$&Gldm@%;wNu+e_j&lNviY8%v#OxpQ;@AMKX2&pu#(7{oFch7|tle=IIMID&>lD?QEC4;vF~ zz9y}Fx|Wy}!f*rKMa!eO2|F=q4%Dii;R>PTSV0&`hZ8ix$Is&W1wE+iBSwzQ>I=&x zqX=8>`gwxxfVTw4vS8^ZG0BbNQ|QwBKuE`z9{if-!pSHu`~h#c&mY3wH@F+XgF{u) z%$xpRM`tUbyW&F{$VfGN|iRjw0NPjCB-o`Du_cS`$RiWKt#3ddoCex0Llos5a-U zcW2d&98h)Bsyh2W&XlMBckL|xU-@J(=N8jN9qfC$)Ejqm;I!os435O4&qdL7R|sct zPAWyMV5{FW7{PkbUm9?G(&guH)+HuwR)(jh`b%&$1f}G`B1vM>hllVe)dU{vg~#5v zdTg?%h&G2s=6PBQ&e99fgW(+a$MbI={`0A+A|F)pHx+qG>7e5FRj6YKaH$v3ig#_C>T1W$88rputStvr63V*@@NY z0)~U0i_(DUfq<(lN)dJHh}(G*lWw7WjEvG(OdCv#mt3dLS~Wa>1Yi zq=L=Bq3T7RkY^aXJ^@Fn(8*UFafNSU(tJ^Ju3TePpN-m*T9E2uOKu!h)wwH< zxhh!ku8&u|lpYLM77y1k1<@#pNu=b+fM!~dI`6zVr8JEmvUHhvbmSrEcpDn3q%Y7M z&icFq)6XT)*J2D}0(6C<0Ht)*9z!w%P*7$_=yDEb7#LCK#2cUTL(ePRN@aO)j>=5# zh4`ApB;VoX_&7e(E?%+8J&wXZh{De@3eRGRFkj^D!Ao}xZWC8)r-jIBcO$D&H-jG? zt5qRe+AqjdiOiHC&rVYQ@0XbsD09{!mHB_vvu{O4Q)NbvCu!EUCnP3yF>*#DBlboI z=?*00f(ApFB0J-8d3>gdsu6yf(H=J)cNtbOvEBGz-#>5(yXHpwwmFRUJ=*8pJ2h2! zNl7%;@jMz(CGSJ`ZfaEW{|}<2)rMT1EQ?Hb^8dJZz_*?hh2=K3i=Do^B+c#`%pF zcIcsUwvCr+a%&pA7a-+;k#ejVSm7$dc_E1A!fTPGU!;OCRI41X*lf`FG}0(PZuG*Z zD8Sa30z_u@Ups%$#-VJZW!Wk?qEFil^55Y=WNmyrIIWJ8yF) zkk^mv%dD%eUg^D^57yov}%x>_|StIfnd07B*eXxlwu7_-f<9e z6<~KCTnDnEk*cQv3n;iIyp%1UnZp-);d0`{r0;QB56=;N#)SyysfQ15Xe2&l*Tn0^ zSTdTS-Hb1KjTB$diCwrJ6iYt=wwQL5EamuWg%%ojcaUYsFqyz@Q477a05DZrNlbrq zQ+6Ox8l9@i$J-;72yRigXsdhu2Et}3YvON@G zAIJi2Nk~k3PRbM$9`-!jUO@MlauMsL^#m?$h+yZL_hUZbaTUu|QeLjeDM5rJk*ofF zIK6r1=;|pEi-O3%#H2p5^^FAKQV4k2ZKm~L9DUJQK6x}l3s~Mx*hx0A*T*WhAWkdL z43Pz+XwO1$Qlxg!kAcO(a(1NsmJE|t$oZe)uIR#6p6PmI$DzNuA|c&43hQqyZPq>c zPBhk?ACKy{O!2G-{_h;wThhs<4c|u0Z)A^dUq*b?=RkU+BpkFm=~@cC@PeU zE332d)f~hgvP|=xq*BMQ_>Z*uvgEluzEP+#gi99qaWjPrx@2pX#2j^9a)h#SVq(VH z*<_6muJRUigF?4TLp@)aPI zDF6d5p!p$jZx25qaVI2>W{G@WP%(21X=*{@GKz5AvtCe2mu=sHQTUmGLf|S)9am76 z*?fWyKxN{3G+I{1|%ds!2@RE=|W0oOZ=3lq0%#eEjl{3poKI)KE1+dtPD9FjrDl2935$E!DT{GksBMw zmQZ+JBkz9E&VVH443^k`_j=_KRvp@k-Tj8%DhX#o4*^8{ zex}BjLZbg`Yc9^LMpg)?)~1HF<<0_%G45tW6BPc$_ypnx4F!kICWG`VbZ7c`TQ@TgM&>pB@N> zyt4c_vaiYW0D9SSDsV!kW2>uR2T6;NUSVd+|e1 z$SaU1`Nbv(J?P5!;D!epvARf2V|KBy)AqDlfV9R{YOH1WRtl!V`bK{SBd9;F4h;z- zh`bc3W<)*#SScs}_ zIBS*uGEqd%!?eK#C_yYLO!H`8Ax9S*vv#JR!%J(-0t#n^4{QIUU@CMgsKf8KP;TG_tVOID2FxNF$Da6BbYTIh2SOtWzqQm1ZTl z6cIb7VVmL?Ir(sDIg)B1l>vHeA@)Vl<%OhSbQ*G*iMQNFRE!lXerg`u^YBG8Q5_Km zuP_J2@rN2|plZ??>&I3T%sZwF?L^xqvd@(i!*By*h;9RC>l?Imj{_=#Fs*6FSfHhV zg)1>;@f}I(#X+2DQJRlkYQ1oa23DF{OL|rzI75kwiW8?oY`u&Xn`;N%(l5%jd`V-; zBG!)N&Gm4n^mx%A4~MuuV`r}#O)*KB?m#DCMUF(wGbW@Wf*|aEB~Y6up$Ku6+o-h^$jt| z!(LO`TU!YATnA3p>QaH|11ZRY+W{xe>WW@ZWL=p0Dev9?Qipw5w$+k1VZxVFCEQGg=dq`pV!2ZfuE}wDas)>x~B=ms;!)9)#hI6CDs% zK|7l7IV=J_mof0@4%$!zm9ih7b})k34`XY| z@n$E-RZ6_Vg$eAHhA#FBP_!*KfyuMdP|oi4EQI6gejJj61wwufM1UPFaK?GE9W19O zGFX%XR@;DZkMxte{WxE3T1bB1mU?a5h#A^sfM1pKf9stMVVR|enR8c+dAV!~Xtzz( zKtnfU39tcD`pfWUo7`wDI_(m}os;8t7rThJ)DvVOvQ?r(WTgTYE)t#{N>46`O5X`; zp60bHq!THuC1fOSo~M_V0mx6%O%tB{MFvD$^eK}sgeH-<7=FM*67IOcq1yprIf5&5&4QWpr1qEz8&bRIhS6iEealL8$_ zx|kEMwhVBGR|l2>ojJu^r(2}F;AB&B_bBvr)?Zf|U0L}#*!O*BU}iWDxJ z_3^KwH8J}FgH#cS&pQgl_DhrV4RtPt#1dCto+poAgw2f0d^reXX03<(()zv-S=}g& zOIkC>UOdBCW)*I=rlw$bq8eyr_%@r_vouhdS-iq9i?Prs;y2J9o(?Rk^1P9viHyp& zGatgsD#u$7u29jXDJ(51xT1QxxR8e}iZ?tKdj$EhrCa4ZdXhKKi^W;KbJPfH&}lm- zxuG6wVQxjS(h+WQHn;AjQ5Z)+uINgUq<+V{oRvI=zooyVc+lT`!cSvFrW_;m^dj7r z%NAIPj+OZ604Rgm)c-{lX z5Wr$<3~^)Q!{c&N?)AZf_p;kpN{iv*)%M`gr*ehJ9omlkqrU!LF*-l0rl^N?k$TKM zjn0=2l?JtkVb=|kJ?tnrpq)Da7v8XE>BxnH)m#NH@tV6BOQXX5&(1Z)#r;w=V%kt4 zv&T9IEQV!;920nO3-f@y8T}ax9vz9C-Xgb27+q2hudD`*Px)xBFuT`s!P;6XHR-jm z3@dW>ok$as=@7DqHb^y5=T=BhWhF=s zkB6;#Y4;=P=CLh()HP2WDKu0{>$W_Gm0ZM++8F9$UpVb8|54hTy2~6(~bheS4nfwFa;_6lns$LML(0$ zHih3-!(%Xik!7&3eY?Zf%m(?xhV6SuzIzImjSRUbv!x;E{)m`VmQb&gvr0sKVz^qH zdjx~_|M}S+dAS$cbV%wke1`#91B2x(gRPn67h$$VL8({DkLBbe&!Z)x+Owr`YW5FW z>fe8T^c~j<(J|`~cdEGbn7+jPLB{+g#)@GxKsHiP3&=sxXbrOhGQL26Ab-%Ww*H{Q zC${znQTy*7AiI}w%^6$HrW>|c86s~;L$rja5R-SdR7kgU#Uh5`axC0M;9(?mi&`uM z2~pH5BcWT}ViEm|LnNR<<{0|k64I}(8iD`AC}eLkSIW8n@1TQG=8i$CNELTx*ga#R*8nG!}j?= zVer*Y?AREkj$p#Dm?5;J_ z!Grn!K(Q-?^Q6Epwm=vk@nZl}z@2FfP#LBU$XvCCb4Kj3paJuDBLriJ-;FYQ*o~HK z^Vv|j-#F4pAP1sYG9a7iYFQd{JupYF_6Z<;WjIGz7P;Ubm#a~63`4nY%g$5#KzedQ zrPxrK#z*xJ3`q|U`&6&kWcLV$m#YtB#qM9^s}RGj1I1|L^#{4#PKUqsHh+rIvcC_9V!6s#C`b>B z?=gmP0PVc`MvhRDHZ_%^lbCh8CH6bIBD6H%VZPr3v0t-0gS5B7TOd1$rONmhbq5xp z`IWKM0F8jlKOHuS4eW=~=zB4ycsba{CE$h&!G3NWSs!@WiSdX=9`x zFUOHp%us4f&uLJldG|t_nSe3kv7wn+Rh#6zTTapCW;+?vNT#n5`iMP_V#68*;oW7E z3@st^X=Ity7cr&@&jHQ*zLAy}Liwioae8og4<&g4=E%9d%%HIVB76vJX=MHqC__B|Hpy+EV%4R*$d383Fs*S7j~j(w?Lpm((L2&=woo`MqJZP>x6ub zkj-d}Ee;bV>K(7(pRA@ zI7*m>K=8gDVe>yPhi-ljq@iO45BcYwkUGp2@)vvEd`>|ww3#iXK8X_u7vI?F3c6E_ zC_raNI4NHldeRfmJ$2~M$>75sc>GQ2s6C#2L<)jo;+F2jnoiesbEBis&0aSjou-$mK3v?jMr zuF26Ja(}*#qwoqm%v4=wqp*$bXryYhqqQ+NGl}jg-^n2xqp^*%bf?uqV)mvI!(e&NXBdJ~iNa z3F2d=&Q>V$@kJ|Rkctz4F1@WnojVVO63jz`Nl^C6-W!ZKx|tmS*jko9QZ><$H0^A38BzpdKtO5?7fW^)>Vg z(d6McCxjc*9D9qL9mBsp9fzJ8b4(T|NiOSOrNRtg6&m{nMHB-)d`r~$M2;-o=b5ha zXb0^|Akxp1RX5U`SH_PN<1!@&P7;YokGBxr$h}-Kqo=|%+;hyLQh$@$Nm$1`#DH|c zVmS-f$GQSOF5GPKdcB2LnN9WC8E*%2Wuc-MP`H6EYzeJ95?CrNCcc~jza76xf-t;P z^q1^w@=5abEsR(l;;S<3TQ;XU2RAhH!8OM?nbh3lc_58m;`bMEkAo3cUYgPsxu7^m z+5q^2Y(k$0zOu-ePV$}HVAMlDEJ(R%7i6ig(C44-WAn7c;W8u46+xr?|Nb1eIO-tE zAb1jGJjcfSS>bxBVmdICFS)Jmld9V^yELYUOsjPR^4e$_R1?A8c(92Sb1u9}4@Pa3 zuX9)gQCsCHQ2QP8)>-NaY>k@!h}=6n7--`-B%W(7>a1(qbU3qik-d<%z1=To0!K(@ zy)I5BKDr<8%Um<~^YgV&;r$vUjcn^>%kY34VPqd~K`3!LBG=Hci+B;@I4IcU&*T(6 zJ~q@T7Bg%B)=LsiF2*D7&fZJ1D_h-YUpX|eIx;?u^#A@#TODeQZe&XABNg#t@S8188sg0A3CKx6c%9K#T2w^yeC(rW38E)#^lQ}iH45ywQ=0Q^ z^=~A0i545~stP|dt0IOF(ci>@@Ho=|E)FhGN2ugDakxg0kWOlb3J$xLw5HB<+>Z9N zx=0h~N915C5B?PsG#akxkO>+oZ<6*{JlC1l1L)_Z;lmpW#%Xj25;05tBYO|JEg8;T zrO-3)iI@@46skZPjO4MRy*)Vbw;ev;E&HW8XTokZqHB0u>7~+S*GFX`^wk^GaT}hW zt&$soRK_HY$CctIzsGNnoaTjFm`cKR#Ouh*1gT|}XT1@F>~Z4Bx*6qYZ|E7r`sV$( z!eu$m5GPG)=ERvOPiCSBHq0`(U8B(g>TDU{AU(CF0X#SEi3V^zKmuu2`jr%@NHO3c zL0?*ZMMBbxxo-E5kdu~?6h{<3K;cOBmEk3&2)uucsbxkW#Ad}j#EdQ0&5r6o?YPM4x5^kB$=-I)zRt#|`Y^KV)whVm~o?tNAt3zJMjPT4RPoM5_6|%s63hr28WBC{} zOKz`{|K~QtWg6{K;|PkP`B9EYy4n9@6>T~JGoO`moGXF?IZFDhBFw0Nn;ikYNj~zE z8Va!q_eY~)nahBjPY)Z)i}}Um;ICDMbz9pQJuBS0bslC;*sWHRz+*kuL+mk*Qskp? zdj50_735Crj1Rj?*QA9@*SO6+$~XBAp1MR@qFf>Wn-9g&f+)|}W3u8GaV7FhBzlT5 zP#(>tzi^@vYk)LiUSKn91aY*1Coh?Xbbd(0?Q%TTE+0Ti3RWz=wi7DTj9LRHsRqegKI_KmYCYQ z(iC(UleEDO6DP7rY$q!iDYz|$(Rj$ZE+{9Y>{HA+VT+{9OT*1qS+`hUb72kCO-F+9 zOvrEIq{K^36IeF=B?)@Jqp9H{$(fA36NBL41}u4oh-v&{ZxM`c(S%ebcbJQ2WK$ARKvOldpM>FVwuBRhf(9b@Nn|sJj|<)orU<9bil_X zZr#$N{;9#IBKh6s$88%tqQ(!W!Fh9cL6R4mE7WKRlR%4@8RV3fpSRmSW>?EpMslyj zBskfROKw=uNKE4zd2y;eBBqk8KC~>+V^orXt5QAZSC37T0E+c z3CN2GBjSUT45v-hokzu(_EUToB|b-bW%W_M(jWyix&p3Z5B4`|lkxSRs_rPtFY}}F z%8~A$u)UredDo+X<_@Ooky0f&yoZfArUj1uEJphY*||`{(B4} z>?_6&e;#tt(Tb9Ch!QssSvQi2p~;5GR{dzhu~v+Pqcj1lX1Am~Wl! zQKu!7bh*%9?3w{fj2-yK4tSn%$fjOI$6^Ny@0Tt!9ztzIRP%TwIZG0n9cLJd;GxVJ zE?g)lu4SWfby#$yh!L%%q7ifP{CGo;C@kh%OavlhzL=#`12X%vlv$W2N6Q}=r-iw; zGxd&Rud>j9-Qhlz>jGIW zL+XyHEXL{SOvvc0_U~kuF{xBz)q->|8K)NjeEV>zQZ3ucyyVS7nZjZuN4M}N{DcXb z$o?=;Fo&1uDdAY#RAz^kcIL=INStfMZQcxg(^UqQ(%P)~=2;ajKN=)EWz`%e3A$BQ zIC&mbOGfH<@^}Xd9gxSOVdb%?hy~stCkpa`lL$G>W)2?T?j$^pk6Vcig}1&c6;3>b zLhNkvf|88DgGQi&=v#ahgG(k~fff#m@F2@t)NBo~55Y;N1ivgZW3hw72yx*AW~~qt z2m?wQJQf*pZ|&DM#u9h}$iGc~zopW~GX)2;1wJD6D-MRTY~(B4aA?oS(UVTTI7!Yw zscW+fff3ZhSEjYo@O@+0#?z5G?1DcP|6PZ{wg`^IY0ORaEJj#eA2D)dR$pul%%I&< z{X9W;z*_=OCVRXV9>-R$d^}zqkKdX^O4Ak6YT!RN*3>le&jd?6ZX+#Rqk;p9*?(Ig z(n!z1h7O+eD_FUiL3s8s<*O9=BC%md(&d0!*QdD=(t&Jv@N1fj&OF5*h*82`eryTB zO+p?7%EN<7FgW{M2r>~tTfyYk{Fq{XDAe6VCogAZ$3&&kC*qlq))xgRJ%l8wxx_KZ zMmpqeyA5I~vW@(bAx+tho7G;d5^AFoPzN+^39@9hsqG`thY>F*~QQwyuv} zK_POGM%-#gYiO^c7_t;h&Wtju9l@<5 z(>w@|rJ(1zLN1oU!gv|%*o_@y^B(GgvV*$zPtT%E5;be&=>EuSk2KG<7{sFlpAy9p z{*#KlZq`z#va~@OTm9yiqQox1Vxe)z5!cZAG_Pkmi$nSacB=8E;l{&KG=s=sMt+;r zB4;cc01Ym_Qk|Mg{Ryp#HsZk({UdY36BL`G*nq(!hoiC_n=7VL*#PuygP81#y`$n1 zr%2V_wo^y*z!Uj3nWALj&4vCliop|)=A`7?cI?u@OvbVW5^_eq1PjU_;lmarD8$VE z_ancXM7@@Y)Rf4w$m*NqEzscw@fN#^^!ySwnzgsYxq>)^C%+`kD3S0a_hQXlYV}M3 zu9na97T`byLjzHiZ1>0(lKBw&6#9<2pf^N{g2aU2;0{8S1@)k(L~iVpQ%DwE`>s_s zELw_R33X3oJ;_8OFXv*X?*ESNV$`%maTl=EtE3ldIwWo6k)|!DSrtFuI|D9Xp0=25 zu~U2|TCuXTW~mEF7bvT;JSAvqDtx5!03V7ctZbE?=!{VDimllBt?$MS4s6qt%c|wr z0Nt@Wj{GeuqC3)<2wTb-WRM&vgRGKcF#s?tT+qj2TPN?S)T|hw`D2{d#FA zKcy>!ZMJHg(!3&aY>Fb1XLe6yH5Fs6n+9}`mW8jHMwZ@6XUdsz7wktjdCX+*gXW~E zck4)jca`9bQXJ60nrUTZX+*2@$QNpW|1$f943Y3aA3Yp)VTEM|0vmg6%>yzAo?sS} zzoOk~vPI@z^dJHtvLo0~q$ht~%GC5vVtjGX>iLo%5*|08a8x-yRMFxu$ZAuUa`$XZcqD*MHc6DGGZyAm=YedF|WG9qQJ zBg|f8o7S}1c~9ao&KP2{^kqbS1hHU`?b@(?*o4Hm?PHHAz$!xwckkkR2%7hP@XHyx%vbkWMho*|8cf$bIHw=oUfNJJi=-)%oFUQwX_Bdn8B;C%e*yiUk|j?;*UoI}OYAh5(>_F&HPVv0 z*AEkhDfLYHuhldk&;5q?L<~9!_?=vN=o5uE?AiI>ob^RrzNxhA%liTYet+Vh(3kzw zz0a;{acajz=wgOzvv|vmp-rdNt9Dk?vj%*WyQ=+w=YKgV+nrFJ_}0F=mN#stX>T&z zqpud8I`G=3o}Joa$Lqfb2eupc(63(=woK}Lap|m^+LzbC9-M;=*SGEGBkGs+{c82k zS=%1|e0ZZ*J&%6)(nk%~u{VNQYSk~RQ>7%nh_`SGWt#j+;RSR76;-=EM_dYe~&4#bO zH7gU&{Z^HTuXm%%e){hRB{$8r(gOWWXFEEzxWs_);@CqY3stwQO(Ud@-8 zRQJc6spqd;zOY4ur<vwAl>zNrTLd|84x|n#woVxG8=7 z&Ijt`zx>^xz;|N?j&C;l#$E-FY1-Eer~hyuaNz6tGyd7rrbqq0cQ(p6`f?{Aj%A9~%Ux6d7~ zX_qqGedm{reaFAygDXbAGkwRiPe0!OoVgQP-n`wLdFjguGe7ULMbo}uxE3SZyfm+V zahI2FexTNOH$3oEhf`kdFm--nyN_H?bw9t({g-H3zmqB5)!vUY=j|JEZ{_!^HM{M{ z+~4Np=1i%3^XVg&Rql0hPI_gm+4>pog`0cSpU|P@3tGa`d+xe%#9L#k?LF9R?uON zrF5Te^2Cre5ACw8PSUC;zC5tOy*0EY&u0}? zuGX!%)qpFgTS`nL51HZ!g_kl>F`7{$sbHlmE(a zPju)~v%!EhT|Yjj%iY;or_`PIRE;wVS5N-o(i_*8-`rxv`VIk4Wem4<_j~TW&3eAyeGhp8`~rO_nXQl7EOD4>jk@qbog<@=XW=}3w6Af;dYH5|3$MtCEMP4{*9YX z`{?akUg>#ywpX zw%@mp{@i0pe)iC3AuA~iS9wWx)e#$)ZSUAUtzPp1*ZtM|qAv&BbnwdIfB$vPGhfbn z_a#j$U^xGhpTGHaQS&ReZJYJSOO1DW&z}6%Uw5>;>$>GVy4SwB#UhNd8yGIL<>+5O zKBMT2@2-8$z44PB^ZLEquz%T)y>4D`%Z~Tke(?H7kb_exe~&e~`Hl3uhE_^?vs0(} z^Pf-n;jYutAGzwfyN7M*wteHeAJHCj8E(gvub!xSWA>d(?s#|U#0^`wjhWN`)!fgw zmRxpj)xPibzW!xR+s$w%Z(Nz0Q~Ttq*}d;t^Lg6q3*H*jeaZO+WA~l4v#zGS$8allXp=IMANaCX_Zwf+=51_p z#rl?ME8ZFR_y>#k&-weMvb#~<(<$BQvmaSG=iwAAREnSbzHr1=)c`+P`Xcixpx0!H{H0q z-le@8{PIcguD8Bg>}fZuW8LmI@7bI;B=okXEoHbW?}kpg`LlUNU0+QoYW38UYwJvN zEq>zZy4w1FJ+{4f`x&(`4l>-nA;ouG^KIy_A+DNf9bYRM`An@R9$vBFr`D6cyC_}n zLDx?W$M~OIxwx6vTYux;<@;@8o$tQ(K=6&O2bRoU zI;#1fGY5Wh=Lh#3aBJEshFkN(+ih<R$E5B?pWy3R-#+~`Z zyjw@yJ$c9VSN-<<>Z%vj8rXkZYm8eNFujs1k68N7)K_oWa!Jj>v*#3fKKc0Dh8OQ? zcjw@|^$B$r{5{%_I=P?WemnKum-6QCSg>|+?}8Sar*v+3*+<%hTi#wiYWO=#{u%Yz z22DE!9_-}G>!#Fexo}eM*6Wt0*Scljwyir`J^ARM8yDR$=CjW_x4SVL`eiD^^|?3g zlaHTjweN?4zqrTO_x|*4*{F@Df7|Tdi7!5sP`}P66E$rY!`0P?t<4!Xa8$dmuYT*y zzm`0^|BAY2{qga}DeInpr1q5kXMLz?9neRTD;NF!?$#YYPD~gw^s+e%I+nhZ_VB0L z^)L3gxLybEv=&qDds@@3WVpabb*C3^J2P=|os^=hs`l#E?lP=oHSSmY^Mw!ANch$R zdyV>Ba^=6q54-yJ8p*}=lYbiU{LZP3KIlK;hWX2zxi25~)femj83TPk@(jXl$lE)u zg=f&G^Ue>{|NO!W6JNil)`;dgP4Z^H@!C}rsxruL`4ipc*@9U&5Cr_VvNAj{4vtHkHAXsDcwitCLgwtVLw)jx0D<snmE1e zx%TsaZa?f^&!TS=Iu-W6?SW^tXLc@KK5WGVP3r~QIJt7Sk((eR;;JUDyZ-gm~H+$KxA z=E3=UGq2tCxu#WuE>Et!cj8%3JX2cu)r9nGn(aL$vtIh-8p%yY&vtj|xVl>J7yq+K z)7%Vq`kXhmq@V8Y-(ce0^U~@K@6>SL%*5KQ#y>LXLRWE8+LN%aUSqf`t~u3H_rREG zZGU`p#jb@jN>}~-b&XTbe`)bwUpJe4@jc7uYFdl4DcvbGzu%iPZf*U1d5BAP%9-NzS|5u^zDJus4x&7X~ zkG5+zQqwju-0UTK{=p{QdhUCCbK9jiwb}DlgHJvPeRSJ%`ughz*WS|iMonuEhZ5}0 zCr1}vl-Sj~vfUZ&^E>}}ueaBPw1x*OzjR6AO;??B)=gbCZ6U+8zNzcMx%mx;U-sgd zN>7X%vEiArmgiNk+HCFO$JZs+TmLxv?;3_Xb=Y^2s&S+cb;qLBs4NlrH{DOBAzkad% zd+Q+24Cj8m=>skIRa!ed;r3;JJk#%yk7jMk-_vYHrSH$5@ZywEe!ZsK$_cGkIf4#Bs;?)oJxoByp`B^RJ z?HJzl#nZ;T)N5@04bAH;`O3Rk)7oGToLqTOw@%;Q`R)yG{WCWCw(q74Oj__^yG{?K zC$4_9@zngK7r*ctdMU$Qmf$&~^8@FfIbcnbjeEDhesA?IkDZcKnBB5kW}j78PSF=? z+E#{pw&|)>7p?rbe~a4|PJH8zsvGmByOyLa{N?H@i%0r%Zkms}>yI%cx$+m!?cT7t zhW#&5*ZoTUBKgZwKw-Lsf-xzM&1NYsYIrhD)ed~&^+tw)9JL&0N_gygem92gE z9JuGUl~pk=jD&0@SDyTr`?80$CsP;Z4|;pu#z*=zO?(XiWkHte@ubp=0Ei>m`_s^9nzd^3xxd7jJ=d~O@?w|h6 zy8PZGxyjB|pI>!fjcUE;Jo44dXIH)TLvq_^G%c6mZurT!X7>fJ|1`YUw=2JEb?mydt@z zb?eem7i(JM#+2?WzmM4a%QWqg+s^*z+0{#%RC#*bpuhIk>QZHIuNigw@7;^>V*$fe zS)Kk~^&iT=>Ue)f;w587UwN?X#hY5^S9-Qe>E8=KsdDzW7=IZqd(-YsCwp)Df9zcc zU{qDsen4R3SP~Ev*ET@JP=wF}0tNvcG)REZBshd*fJjJU3IuB)xWa}gDk^qtE7r9j zqM`;tKo?hZb=TjvSk^^h?e5z7zwe&=-n@C4%uL7(B*=rwIdk5f_ij1uwsYs4-Fp1* z+y6LV>~mM7e00UDhkUkj!kTlZ^qE^~7+L7UxmzrHc3b(g540QFb=bXKQ>VL+?Q{Ry zkLS8CSn=|g*LME)qAph%MvY20>&>73J7`1ai>7Vbw7KPgH;eCFHfUCU+18~;zO$|K zh!(}qK_7JD^Nt$3yVLPq9(%iO;p1O*d~ep*>Ek=hO7aZ2Z}V~Y57=Cu_qky#QRymP zy5y20cm93ihfCJ2pR&B@%)I{GPG@S~@^2|iHiKDzTC>sJ;()9US8vPL!UFwOnO=VJ$@?fl`K^O7Dc zY5tP$KZeovBtGwu({9QdmVN5KXXQQmPR8Vu%5Fco{af=hzrE*$ot@r1rTMy34P${y zcjlpo=b!eMUyeL%-h1bddE=>`ogREH;p5qTS3NQ9rB_Nj^+!40QR%iV8v5<8AD{Tc zsPBgk8_=p#$uqyikGbf(yUuF$koSL6PVg=;j3J%*-qMYu1{`x(%Z+VstzL5Rkhtm@ zw@!QQxqmJBX!Oz{i#9%aGtv~Pbc<7VoN)cCbLS81`RU~0c^kU4>-Nug`v0Z+(aPyL z-45OQG1}vGl`id=Hy2*CyUV1^`9D3mZNv9-KWv_S|AOtyW^DLw=JeOyX_bb-=%DTv z3+8m}Tyewl-z{DI)G?W-EL`^QVas1{eQ4|3uYKX(jZ3;s`27Y<`LfN;b`)Rt?$7_|^s~46`k(Iq z&eN;%kHfDS-}{2GY0y_EB=fzOt$MZRvW@TG`tZgPUw?dgxAq@o_5SDKZ%lmekr$3M z9y#F-j0s$-(zSniT-;HUuC83){}$Jk6Q;C%C#!7!@1|Zm<>=EkuOB&O!gToeDqUse zaW@Wm3pDwD10O)4&r4R+X%7y#ajCste!y#IGmDJ=EfzW2(ju z&wufmQL_?Sw=dj$=!c!R-7}?|>*jSxlcLhOfBjSLUq?Sb=&qU*j?CQh)dw9vyl47n zr{(TE`t%o@bvpCwv4(M#N_WN`uhrc6eE;;056}PQ`RBX?=61dA>%XmB^vDaNwtbTF zeG2T+KUBJ}cU-;rxS_xHY=7CmTdewS#BA z{(9o{d&;(4x8R19(h8FJ>y6JINQa@4;c zI^~i}-p?tW`nT`SHH<^M@xATl{j%nW$4>g^cYT+>)AP+9!?rw=^wlRFKE5xj`(3R_K02%0i7&l&!<3Q^U%$o!du~(d{Gp(AuqV!+mn0ZzuUa|{Q$^^O7~XB>ra~X`e|oe z^w5-UzqYEV`s$AITayFjS>#yz$8rKjIm`{aQ2X}8Be z*!#WF^B(^z`2H@HZcfjq-2;AV`}E%*dimDpR$TVs;vdI-dfE}Ad*AWK>*FtZ>x|jx zSM=ob5}vZ{eO%HR6s71%eG?x;&X?cMc_ zcYhpoeXs2&J-g}W7Ju2=?~Zp)DSByJO2HvJ2lq0Jr&PLER^?84Idyh> ze0u5X7WezQy|KPq-`~AA@;_%7#xW^;?+N$a`BB%xuU9^_ATIl`Es4o5-}h+oz?&xB za-XZs;m7`dcN@c4tkSJJv+UZHLpuHEoF4`c{rQ1)ovtl=qW#m8Z}Ro2e(dH)-tCBb z{)bBEK6KOzU%WnN%Y8j={qfYr7jJI!*noe2x24PRw=X|_;F^2>g*q98Ji1$an)Tg( zPVRI4C(SB4e?I%#{JYmzt=ib-fulEf>p1D?|IRO*06$x$YjNj_%csuh*y8Jt(>g3U zWa{mA|Kcm&(CzvcADVl`oL~BXQ)L(}(01^zp16Flx989mZ(h-B*p=fhSpL`VK7Z}? zbEX%+H16ddSDcu?3`@pTx(7ch9hcJjuQ!hybm+2IpB(k)Z+88C z)TwtE#(OGVd3Bqz!;Kd_kL-E=Z(rU&f9Y2XPwkaDZ0U)W8%oD#XO8^>{mVXl@A8}8 z8|A(`=enJ5JvsYRW6&Qy_~f;eF|Yo7(rNE5ns&}z1K=m#r_vp9{G0E0zwpj3moI*# z-Pc*}M_U~`@|*F$9=d*X+_Zsj^~-@SNa)MwJu)utzY9knf6>MFc3E@$uxqw|Jip^t zGio0FTgM+(Jb!)0pK~yNs?znHoc7DYV|T23>b-s)PJVsn&5x!|cC}sb@{+%|Iy|-V z{hK~Aj1N`1N1yw@d;a*ZOHb*wYw?Y9cmH~B`O9zpXUiSO9r5+8k9B{vZ&%n$Pd~nQ z<=U<<{&f1)*B^Jx?(a4{_Q|j{1Ad5eXMS~0!Lz>{zUzYBsF#~ny7M0>-f&UDpN~!G zZ%oU$ZgsPPw=7th-?h#AS9a|f_xmT`eiY-02Id%`SB>F=vNDPbXJKQX`wYw@mSl}q zn{EqdmbxeAm6T=YyT_N7<>nP;^-k&CI}0n-=VFm+>4L0@!?Q9GB^c?)1MStfM<4v} zHLy>gth|Dp{IXnM)?6(0V~CF)vt#%YIUNPB7%?a-r>H1DZ$?R$%z#<>&|mcgW|n{c zGNu{J!DKQP>&CF?IkJ{ChHuCY(S+{g^3?uavL+#_dExvL_t{udmDMZ7s`OqdJyLq~ zPU+J(wMR-;8J4tWNqq#V^Ljr?${md-2o=%0{k)3QJWZX>=lP0D@(N??x2R*5 zY8ANt>{DEtJ7ZQPg)-frk_814zoe`LYhM|Ab3shyGOr}tn>`O_%4W|{HZaJ`>R)Ox z+fjU!cRqF$GUR2@sw^qa$;z2Is|Os+`pKuP*bI`-=t*b}P8^S=gPo(+Bi7>7C>8*o zMqXhoUmy$lYrUb~Y^O3Bq%rILAjwcPo@Dxi2&RZijOG*70~wZgW*+rR?DT)keL!pd zU#&vayWy}U1#K78>fjPlbGt?CD!m-d8?1L)?;0@~u*Am=XECiA_NdXnk47t&#x|$r zvT8XpEQ)P6uEbY*{@kLNmLofV zR$*~o>Fl|+#438M6>wr<>~xy$0ovc@h0__dBUo=aR9;Y!mZCcqd$T%EUG=*tby-OTSghiZX;95-|IAdLv9s zi(SspDqft{fDx8h>I{jf5yLldn-hZB#PAI{YD_1FFVLrL#PAK+3CM66P6bkbtw;3` zQ-(pC9`rTh8=n!PvzZ)Q%}{tB~Qf zN*}%I^?S4XqBQ=u@$~Cl-;A=@4zvZlFQ)AzYCDDvg*khSUd2{fTo_{UL-be<199pU z9H$&c?+u9D?aeMIK|eT#4N_K6Sd5qz*gTDc*kbseavtRo!{@6l{IP3`a#7&1W!xND z6BWZ+LN{D7ZCGatlV(}7efjXEN=}LOpkF!q-`*C z#pV<(@KR$%T(x=_O2-b1W^Szbk9twfgt4#I&BcWN|hPHS_&|FFNnDlumDl}V(iGM1JGhvN2&;V zwP3B+)LUh$+y-I!=(VY3q+|M)lI+;d&SLy1r>vOKju!-fRlRH8)DiO~?qf`AXI^&9 zd!Bjwrss(v?HJDv&fg~m(Q2DR^em4GvIfNz)8)Sf`=n$g`{XU9`{XT_?m|p9b{=CY zq(%FrNWKtn*?S#UrxzJLJ5p}TIJSU&g-<*_t&H^6J+NPWdUNcTKLmSPja-enjMG|} zwBZ_a8Mj-syDZwP7VU2qEfxEa<#~fO<}%zZvFGzpz9UIvF5_-sOB8Lj##}~nE5oQ# zwC);n84m)hR@4&u&gv|Mp<5dZdQ5!zNd`faBSA_(b;o+vMo+ey1~Ne{bfCha%ZTj!_ye*9_~vE5Wn)bhj}cv@*OS5BIYW_B92c-oS?A`&|4h!~61( zW&vmuLCrEUaiMdH1|GZ5glU}#c0 z_5rK!h&Am0rhn^YG+DV{-V8Cl1XX`M_)cA6UdfK{arjQTGp|)ZGR!Z4e69Vv?bbmw zNDV;21zbC!k@qArKIr$repOgJH0>`6YY*&ag(U-HEU{)rDzG0FHk%F8nl#VS^rZMn zo`t(p@DNY+#Yyg`7USN!ZMeR9z*Ds>DUCO(TJqhVKASvC7bm$DMegh*Jz;IlutMFU-wqi6;*zFD5aT8>BE?>fwb zh9D++U7Yj?p2E9q89r+jZdk>~TS%AhNR-G#$e)7v-rl^qJRMX%mYF5htV9PFc&bhI z@KkNnHKyOTOt`MkHu=7A6ZzG<5wSpwbqGupXAA>Y3Rfl0Kr8~ISYfnnKPYSwu)is6 z9k3%^Ootc^Mq7ow3v8^y$P!}|b_hzIp|F0yK3BgT32cVK#sj-jVRL{TjbFtXY}X0u z7t4UnQg?3yCb@bY*qe&B)4JOiWtgabF#^~d>TWi$YZZ1Ouxk{y1lZpdb}g{J>KC^H zYX%XHGwuX-6+E6e<1t{@DNKpAXK7|q;)F?_%H81F&pg$mMf5zCo07fLHU>>ny$VH< zDh`#(V&M?as;c%ghdc{`*mUNH0+Rye0+XuxqeWYSY-_z#x!dij@-qcBf+c_aQn|_P z-Pjht9IL9Q1F(q-qk>~&o`lN&hjAt<%73K*Jp!Mu_zYEIsqVqu#+g$=PvBD{jy(8Y z4g`=O{@(Gb`$A(Y2VZ(?on9;_yT<0JgNGu7belxC%DeoDw{Umb)rqZ*)~#98Ny*^p zW~H<9N)SfAb?a1+YC4nT^(r?rAMG@T74$VeZhXv(Ki+}*!+#v-BiHnnMg;=C81un| zhbkLR%w-HlBB7;e%w?o69g);tF=1e9rV4|xT|HG$FU{D*X?|kDT4Twucu$qpz=+ag zBr3i}tQ4c4!psJK6+BN#{9Y1vt`FzWa;S&^p7o zVo9l6YP6xx8rt2ee|Klq0^L(0mAr4yvLvsKmb~&YO7bRV=l3#5O9N}(lws0(izreM zA+**-ex41n0;@yj<$BOCDyT*u0;E8`WC(Y3vH*yqAZY%w;X5G7RYn)x}TcW zEs#U@pFoB=rPANh`$5v`nYVo;LJ{Yx-m-D*IkjZtrbuK%S*iL8$6J3YF zH5Q?8Y*$ulxx-+2DmTExvhD@gt&MnL9F8_IJx4^VGK5C!B;KTH%Z4B`?>j_iJW|n? zjmD=}oubn~Ef*zKX*W%cBS#`84a^I8J1VBUb7;$vlGfVt+5Y6IB^`_x4WBK*a`XhT(c(JTBo- zW3|RyGO*<6fmQ|fK-nLZzF#^vVU>^3$u>Syy5%<2cv@p}95YGA;%-8&=~`qe5eKSyyct{iCg~Df86Ctn2@& zOw+o)qpY` zf~9CIVhi@JG6AYLzS z=gFh+M=t41HJxcem0y2fQ09@$UVw7@-Dc4M{ceAlDZ|mpO3j&5hUVPGCALwiI;Ig> zug+;ipPoj%#o``fE+Zf9BD5ln>4Dk08y{Wua1+GjgxwY=+@~=19u8BO=`Ab)(m5`W zCr(Ey@&tX5JKXpqS42F~G<)IFPn2$ve`Z^C%S-YwQVr5bCxVgXdaBVyXH#beth}g0jb0>!Dr#__ zYLwoeTPqs^>Y=)H=xS&&vB1P!#x2leLR+P==X-JiT&m?>ny75OY(VHFwjPW9jVNjn#tjK|_Mbre_!CDv^lmQyO(`haq zNin$^Fy6vb^n%|sP)IK5 z;B>K@Hwid<~;)k`0l0Vtl5@rCAwu^>cu@mja|iTK-OyNlu3 zN{^qwX={T0z=(_2$b>lZp4(WpmPAb$m_0Y`DVaStwf$vpyKYxo;!DhByakyM+PfN~ z+hi`q4w!OHlkNCb-}k9`su^VDoBK)V<*^YG)?(^?$%rKPh=jH2NxjlB$b+TZnOsJl zo|IvY4`pEBC(XNY3LY{UYXbb8xf79x`y9JpW+N4siO<028HXd)NPFy2+ytZNo1!!; zDpJwF?Gb@fU}LZ1E)(j z!L~EfjT`30MBLp%mgFueUT+&RP%#GFC7lFfE`z)6g_f$Zear1r0=WG(WO-@`Zhtn` z+#W`o#(<5(ym7zq=Z}G1)`s$D?a}v896HwGP+~4)CwM|=yERtJouXFtr~!AiS!E{~ z-Zq?$P#DJO06r_mlR7#0tOrtYm^>Mu+Z}usgRKXH2F2i^QRSA%E%a8UrIdx{E(Z^4 z@DG^7fRf5YfCVptYT0%(xN+CKSmz9XhUTy|RXaVT+TY>>VlHC|5($lwM1&SN3*%<% z+v6xOh=R59jgu-bD?b=7G`KIK4A1H2-~tZjk_$M%`a%c%kxRVa%rY+Zu@(SD%WA;! zjM0;$$`7G8`1`kM{ucw|y4%I=G2FePxnY>a2(`j$u-=`Vuw2`$Nfsv%a~W)Zp)J=~ zphiHOCwe!Ut-JwGE^(}CYy%n|rS@_TBxA^>TG_Gg2CJnCO0)9{e8pZI3sb%T3#h`S zka#F+RiXK0!g%Y8xvDS`lzUaw5oFF(Wob5V35U^>4Z{Zt#|Q)mFvmQyJf$Wr-vE zUo>1hlxGtdU!YcGn%eON$j|J7fz@FK>kvq8 zS^vSI!R-Q>w*Le&Oy|g&zuX^Dpz4{oeI!El%T?sE5hOBA!dQw+XxX5JVu#ASA`y%o zmS7OW_6P8%&={dcXm-ax(A{I#F3G{oc6V=<+sum$X@_&>B5?P_udz1iOH2FBRznSn z%z8v=yvq_9@lmY008(2i*5RMNf>yMRRR#A&Lb<0oRtpo8uAR{6+6%4j7CswkehJ~w zmo?QEj#PFV&~$rbi9tZu!s$hZYPs{RmLujerlT!{maDN)U9p=Wzv&Lw&n}xMb+GtR z$&^zzo0^E#)*Vf)1dUpk>3|&;&(x{I&O6(3?AXs@A6u{e3lM}_gA$=6fg9#zAf1@Y zcm%vHv^5$FB?(+q_*e)@xIPj|IItJy)*(CxcA*apdFvCAyw%6yU}YkhK_bZkVcx*aURO*qCiC5KVwyL=b2K z>SY7C0$aF}7~(yH&xDqyu~0Uk3TcLfumLwj!j+9p9foZ$*{f6sBRA2~G;-b_7`P6u zF5a(?KIXb#;e28)V-Sip*tl$e(jz{uM*FG{fwu!`O{L zsw45?_~TO!wIY=om2qQpeWuw`QGIBzR*&WjOcvruuzA^8NG3SbaLYE`&F+K;BnJy| z+6E)X=DcUXEVz@i*fvhi`a*LSS1kx<5kn^fZ7Z}j8mn`)j@ptqc_$u@y^2_WW?yfn z*bCbe)2m)cSZl`pw00ko&18=66ktC>D&y2v`|A{DPOC10oX0t=7X}2?!nCsiuXp2* zT&k6VN1fn#_0q5n9VIijuxjMh zAd4kBL)kcuckKmdY$qpIn2RN*TUHl~|WBaTCQoF+9?YjZ1v=m28a+>iDX+DeTDbJmpk3?EtT6Ff3btsM(IaOoU8 zdbh*lrRPSUtS3H0+66L6aAWCb9oykJ`}@EphpN*j^h7u`E$FaXl%fuYlGgsU{bu?N!L=p#DRuhDJBAcg}z(b4Pv zX~zA#T{}9ZX=J;)qf@8@vWdiJ^()GzDKpw1a$EW#*kA@-?nTP^u@;Y}f>cK=wIksd zn~OE-SWp^DfqrT!P-5taLbnNRjmCmmP1OfAH#yY~ivx=EPcb~CBj0d+=}x>M&gce= zZ-_IPuR|1O_C5cHG5;GJ5iUj`l{v(5i5p+!QVfufGu4DM8tbYIl}!iRHqyLO84enB zuu7wNnjWk4fYMxb4F~wg(2hTg`pD8;91fU={mHhT9QS&149z-PLpuEQ_3e+R-19&T zs01SkA6_S889d!;obp^T5U`707Jmt}i1_}*T*hHgC_+orSTHRXq3=J;asvay@%$Y* zD|ILi$t!5m#ZvK2+rKc}}k7LpcW?Lb*_1 zTgr!+%h(OQAha(v7EJlP0@`r@5$IEL>>;GXG1UG2sf zxnk`?g=^A%;v0p@M9iI@Fz=UMbgUi3FqznYZc3Pp`4y*@db@)VZ}PEWZoy9jB@3b& zng3xOWup9#hPWSBSsH*C29+U$LSwi$~+9BpLmP3|>wnAgUdbkk|uYIGG z2>si@NV9v;qrEl6EbF)f$G;8J3o;c#Q+G`wEat&Tv$akhYn+aEecH1LDe;Jl72#T# z$fMPM;B*e_GYt8yrKE{rClx$Gp|#i8KJX1inbSAqt0Rq8+Y(k}y<^PM?i*g?7RL~O zo2+jbF;_KBr!V5-9e9c$ayKnVz*{ZymYdd~h_}lv6+leRR~MQa5+<|}OU#J3_HC7w zyOp55TL4`;9DIF+><~{z=!+ERyw$`u*g@OU0PT?WQYouDGDRfLwCbC z)U0f(6CHFk-8Zuo)7k-nNXO;Pnq8_l5Y;lJ%=eebIBcP{qG(uKqk?5Q9gyW24#<$D zova!qhJ)TM+IEdaUZWS*t490mvl?xk7^+53N>nPg-Zgrru2GM!(NVfaH(SmLF{x3Z zu||a!=#s$q$V~G1BR?mst+~9W%(VrZ9;wlH#S;T!Fc!aCPFN%d^I84{5y3e4bp8k* z9&|q4jX!cJ>uYjwhrQ-t@~C}5Gqm&z14bhI$0HjzDW+tGZwO$|POyW|IoOlurnbe0J4^EqvS+cL^^H1vid;5O zxWg;}^6y8s@wnNE(CSuryqD@*WT4Fh$hIRl?5s~7akBnOusZqXCP4De&6@Q)T0R3Y zm%)QKgvR(WLJOjC;e{n?%^Pp?#oT!E>3ELclAVXAv~~=Wbww(QA$^-kP97eXn~x)a zi}PkK@D^tm%+gx6aSkR&r{}AuO1cWm{T50ZIwX1PL^{Z1=mE0E^^CmYl2XI$wrFB{ zHfa7`_jdj#e^r3*>^^fjR^5~5E&?RqU7}avH?#Pkn9C@|?}S#au^>M42=+qi;{TBW z{GW)YY;@>wJO7{Cl=(kQAGj$nc7#QUlw&i4ajYg<9P3=RSs#9lxA>Kq%SZx$2`yP; zLHMTC|tYwj5#r;aZz&MTPZ%`25owK$8BZ4AdOs?3!%=ow)=OTT)# z5M3CI(*>#*O|%*-XpcOUc43d))Gp7t%rOpPE+ZLrEVS+#bGBB>)3|{Fxb!5C*j2M< zBVlvsZvsp9RA=H3Qn__1<%r^|XK6g`GP*^KtAj6do`;Ikp}C$R*9>4(SFa3gC^s6^g#eDfs_#u3JOtvL#57%h!8xJipa z`9srN7t2UTzZD>Rqr8&i#9nj(?1t}M0Y?CK1El}d9guZ$3LwW`e5gqo%_8P9c33pl zs?ff-Xg^yt4-WH-pXA|O#=?t}QW(3X_%Jq}3~}u`%2P>lsh!rmPmK(H9gD}{t!P$u z9=ZmI^P`|lb~NS?(2zT006tkq;g4L>n5yNnOMQcT_1983!Z$O!EFV$L*rvGSEiKN@ zD=i5>hHl#L<|qvW?DPetz7o|E9O+<7&@!`Sdf2|(#=|odS^hB3Y@FW#vH^I#2m8)) zplU0~lm7zj0QebT7rTHgkY@{bkL>f( zuyt4PPPG!ar=Zx4JqoS-zFAp|ZD@XT6lvH~Oqi~JE$Kbghl8en(TBrN*QvjkGi!K1 zGFrJ~2Q!nlE*=Rzb87a8x=_QbOWQUx$-fHu=^ypw!96}C4eXcU-N*rz&Wh>$>^BlL zw7LMY2a6eJ+{M2E?0f`RV2*>GTYyG3 z_ywOI>tbi`-0T7z=aatxy^0(R@`9W5W)=8ywOy)%$Hm^;`H(fGFAR#2!>8kG0Ef5N zZmUUz)XedgVl+fAWmdVhkeblbj5mOO=M3Eks&y6S6U|bssFm-RtWfkrTLHT^QMKI>>9Acw*h0VV-f0#a1|0LYwyjVc}oTmtwa;8MVM z0ha+%Z(RwEA8}7;ziP~7xR4j2vGpWfl0~B}6k4sJm4&+>!97p) z#Yyg`nAvsPaDDTDr)pVJ4R2H}76=xGp%bFW+Q7w0+mT|PDSGyMNDY%oyIGx{G(ytj zgwzpAY&m*^XJtZwad)=5yWCT`UOg_cWD40{y^D|cEcLV(!j?35g31x^R@TI)BWo%} z)rzF8>V^yj*&k{>|I^*pPp#*y&_55z_~N7`Dy4>dYB0e~(M*;?EM1(m(s~jy;i+Ds z3Hs&1^NxyBk6r3f1>+;s^Xe+Y=EX^OBaOitw-S3==mO)Nylakz1ud|rYMa(+lJSL` z*v{UKXW(y%688zfG88rg*dm3^16B+kj^lWpu|{G41U6FL{S?^g3i}q=6YB1KN(cAq&iN{R^lMkqUaVX5iZ>A> z1={Nfqa`&nuEeDDbNVX{RD*AqA&1(sD$u7#y$tzu;2C`Cc&+^@r8>q-+s*dt-<-kD^ax}~h^6#MD z;Yo~M;LXi0&4z_(-8vcM?m~tGNN-{g8i3wK5&qh|iS4B7i|xS4h@j9qtd=~Hpzzu*O0saLL9*D6G zkgD@lK&r&;fF}dK26!gm>wwb%-v+z@@EyQKfI9&11^fW;4M1>j#XkWNlBD7*Jnt!d zt~1WiEr~C zG0ZeQvU13wm=R(wV=ZX!97fvH8gm&-QD#X;36pepTeQ^{jbRhdheRH#0ss?Z=L+t% z8o!)CCmZ_zGf(wsQSWeKlD*S5LYlR3Hvu~|DMC9mY#poI6Ok2qQ>CN<+wWFL+Y%T! z*tFFuUv^sq!$V?v)rN>l7Cm$G9^NYE=HI}?D6khPM&TH+pqQJ1z{K2~3rx%nLm-Q} zc@mhIn+?F^DcgX_Q~nMtNtu>+fQ2_LJCTZNi*Q&BO-t{CrscfWsi@>2re!Os`eHlK zw7?`8>oqOfrUk16Dn7uoXez%nVs#H74unG|ATQY0Nsiln1S5!z~twgM()jxs5X&P%MG zCM9s{41)vyFk_}~zWu3qwBSyBV69Xq!$0=N0X;e6R1M=%%6~?o;*8^g{i3k0z*;JQ zbs(@`6)g@JJ%oqx8RPIs&jC$!SpYK~YQyhPdh-grMfuq|KD8ps-BolzS9fP|Eva|R zi@BG}JV`hWU&nP(4%?U+=R+VQEV+;dd*Mr#@Yq?Sxm=L0s zPNPPV%NlkSx4*7d!q`GdX@lD8-fnEZ&}~HnxVJ4u(X zxNJgbDi zilL&9I6sklF*nuL;6e(n!Efm!8oVJ~i;+RiwZ!DG2BDENgvOCOp}l3%_BGdz3gB9H z_-2LR+BqE#axLe(3yW3fhbv6Qq3#|z*VfYm55l{ThtRkt@5;FYd+URr2(A#FOUz}w z0KO0!IYek&2`#i87A+#~O#~0^Bp=o4(Vk`iSKT)&FHV&HnGx&_dFp#9YQpxF#}Z+Cuj=6rc%WQXV>$c3Hh=O! z4)0~R&IfWi>+7+OhZJCX&_3GK{p`BMZC+G*ZzI6PB5lN6MltwUXyj<2EwgCLEn4)Y zEmO%8wdVwdbp_@h!#G3HOlhMR{Za_)|7g>ewlF4ImLxZ3F^Z@F^_7p|{c6d_2t^9+ z8{ZoR-}p>$ok#~US*R>Da-h(-#YAXn7A;UZ)T+o-wJI`!YhF{iu0-$t#bO=XW?(GV z;cj5AN$aMZgucL=TwcSW*UbKmF znUT%t8nnP*Hnb5Ja&gT>DoC7{w^l-Opqpks4IlGjKIme#1Z2*6A&na5#tcsdS59Kp zs9LkN2ax$~)=Y-IS6ODCn9H~Y_k^}eW6o8^?qOW;0=pfo3f;IfI6!A`O=Pa4;<|yx zierWMar#;QisLLoUO~N<0=w}<^9rnBF8g2wKOx=~mVI!U3hP&|`(>5eR({z1H0GBT zY@bJX1DilthPMD&j`sjLkMMV^LW#N5N)e%L)pu)EsG}-{8QEz3oqw$VF;MaxHJJn& zbHRn<$JA!Qd>>Zcs#?VG85Y$SWamerI_a#|qdJ{lDf8^C%^kWnKL%u3{-tYkhE_?eJBMjaywxP(qZkI2u zb|L06(op9@8=T5}@AdQVQN|m{D zP&_WP(Fp_91l=pD?~Z3F_sYMMi;Mck3Ndgemz|l(TTZ3^G>jJcZG$#m7g@|q%w-gT zM}@|nqC&H|tbS%b9Jgy6{VY2(U**PIPbU2lrZyU-!K9}3N*F~-BkJWj1$5S6>rXf`rDRcS!5InL8*s|QQ) zWw9z(tiHB`bR-ys4HhFdV8eylYA3%*%a!Fr3mKr*=uc3R@zuiET`$qSMZUpGl{j5}9zzl6elqy${)l#Y-3DK@p zH7PQss@5(wHm&*(ORExd8IvLFLd()vz-TnaPn56ffwvp)*`kD=N(bL%DcdfWIDyLh zMJyM$QF;O?Zk+(WW+uOw8@+aIhlhv|Oq21bFO>c<=eUN!?|#hD6U;>_j;S!T&>}bf z$R%2*X>A&z$5HI_c?${)yt94TI^c@KX_B#^rZaH`$ybX2=!2M7yong*q-q){uZo9) zIcf$j^njur84v10IX7-UErT@xN2o<>(9}hTLl0~?9HEQ?UpXTmw$iSQk~(sid69>f z!MI;MW+5lOgS08IhxWe?uGaAz7IX2FHZ0cSCyGIu?Ky0B8ibaB zkVJK%d0r&;pfw16i9Z1%$N) zBWte;VD0ab@twIZ`TkFrvM_bI?-eP9Tjh~qr^u!y2nJ4UP zW{yx<*|h5Z;nE268BL{11K&{QV~3moX4Q>*0U-xFqCd^_ zkG54ZIR>Xi%*-#G@69Xm78RD1xv%iqj*qi)sb-j2s*x$j;*VTnUIHsOHFWPxV%VnP_q8h54PvOuwU1M9**tX| zE=GM!2Gq|Ron3Bk4;ii?=VmamzE~bM$nOA0Xqvr2_~=v75GMc*2J8ulvRBZJWkazZ z%!Yd0YA9kZ<5Aob+7lXcsSxKvqxF|`bv0f>VB;lllGtjzIlvR^YPr|&>>-ZT!)c(g zt=A&3 z^;*slgvQnr8YNC>Y(1gXYQ6jA zYOY()`s$Ru>3iFHYutFbT)|pz;BQg(p0Qewn6#eI*m^=^>j{mmCp6u9@C&dQ2XUND z%QXWUy}QGgOvJBR;X@O9s~dmh^0z@*!TjRvq9Q9YyPEAdpw~(|0`r(vLKts-G3OLm zfBNX7QFR@B#55J?Ix(oeVw3)xxk*8sBaSL%iB&Cw4K|BslLNwF(O)c*E%vfXs%Y9i`ndullsxAy&H) za~T8wlUJ(vuzJS)Ka=rmX|@Vuq>h`E%HPW*|SBUdTj!Txr|*F?F)^$xVhC#r!ki?*rKsz<+oHm^1R6wEl_ma zJYoZ@cX`CdQzv!mxcK8+zW$5Jk=TAhgOw1VnmD>}wu5haFcm(@_^j=KKXM6&a9Nf& zySO+TXGi*qihU(M#P2E1D=d&ePHMK&ZT-j8E~h4bue9)0A2?B*d6BLilqRt`N- zTN0!@#2=U!^Ol01tlj+P#!H*b1Z19P1G4VZEj3O|Miqp%M&At_$VT0@rwqfw@sfu-MLzKYOa!RBaA zBB=LvQ*sozT}l(3+okOF>&9=%^Y;36$k?@ZDP`O6dK)Eq1oJ5 ze`OBG(+_KLW^1IfuET**(D+*Wv0^nH&17&_XRo7*nWAMk%4j&K1}+obTcE z%P2!Me0JgGNFU`23RVg6KtKvFcTz~-gqW<^6B^g-2`#Abz6$NI(y@@&F1)A3TzErw zAcQLq?wpVV1!J~zB6K6j>fIQ~TbS1>_XFH*U3Tl}7o@vo6>d}n>7SM$5yS8|NQc#d+0r`28-7LApf5<4z$;oz3z-c8Prr>mosX_E%PU*gxa;#K) z&@O4Gw92@=S+mVS52ab?N|_h)#ZhRK2yc>$qa4iVE!x$+z^VvhF5^Mm6WSvh3#bUk zF6v5idvqCo?4L3XR!Ll3N&l4o_o>LdzN|``8?utzW_rLt?lAif&Pt+hs%f<wqOu@x_4tgytG91e1-v&`hh<9aTmD;hb@z$ygC=|Z=H z^0-6TvG7+NDtiXtjcz1KeOL}nFIUuo!L7z zw|}pcz5`SH_nz6mZ|=<0e!XYTOc@&FD5B|R)&T7yBYVt?K((D}$35odAn7Seo-(J- z=j7VD3eeNXNYA7|9a^#kl;gn3_Jc4SlbiuZ+wqQ4Yk47TQt4HkupJ=1egZeNq{2(lL5yAb^+uV zPglTsfZYI>1NH{I6|gVh1AzSip91U;xC3wi;7-6)z*czgK)|+ug8+{LJQa}R1g8P^ z0!-s~q`wKACvF@umvJNR35^^lv^5rOokbh51ly2n>6V4NnOCZpl&5GKEcLQ1X%%na zu!A5L^v>WRG5H$X3v&5H1` z>qRqqhfVh>%}Sk^;eUL9zU1Ma)W%vTj?13!E%41(sy8k0C)T4petIqSI@|v!zNQH3 zm2XG^Imq#$lR@@tUHg)jLfknT?Td@QuK?6JFgvNajLhEYLC`CdWVbK_ILTEvI@uhf)bNS5SpqWE(7rOC9F7d0! z;h_40oCW4tWjau+nTF6V2L7%VPaU(Z>I^ny;q;kLz}ijb<3vDqFx+}AXMt5I#9V4~ zxzLs&mC%9~_Cnkq?$9#!!mjCn1abu_tc>(@HDlA7DG7rYS^OEtLRN~1dGXzm7WypI zfEajU67f=KEASMd1$GbIv^HjJsziR#KD^b%k`wGY;`dd`g^dID6+W-xuJ2tH^&>eq@Y1FNRA`$+<2#X*{fP6kXWOE6G*9`jO(KKZ9-l1z${M%WW(M` z`$l)tz5`@Af6$$@7c7P&CM(;7wiBs@R;%sx_`9_{#B{fVBh};# zQgVp>b~paWB^)_^K7y2F=LUotY&u&yb(A-^StdYxdtRMrcD;2hQfqvIEvjiDyWXt3 z*{D-{tDcXBCg;upWS!;%vi0w=T9ug0?hB0*Y(k5)RsS5&s%`N57eln_{cgNouKm)g zVFu64Es|#FShty3z~IfLBbf#?m!{d9%c=D1(^?N(twqdb(7FnZ-65ex+FEx8v{pWT zf1+cBja>$B_Lslz);h2kPl>PVuZOz$V9pq&bOZQ6)BJqU5H7gG;sRngQ5S6|w8a_= zGPYQUCVn7*3wVU@_aS8VPyW(39WDqX=;jiuNSk+Akml7ifAc~~G^B;^w_2E(%g92z z2yME?>W<8VZar5FVbs%8){#SvY8)Yhu1^{*wQ+e(nQIG%Kk+1ES3EIN6V?KeHLj|! z5a0{37d+O%7w3Y8j;xW1&l4T+M=s%u%;N04(h{$lWtBntS`)NkH*?brrs1J_d4!Uu zqe1h4rh9#)$$%P{O|Va+6H8092XV4LwIWJ#+aQ3vCU<$dORS@nh8kD zdA8+?5|askq3zap5%W$Bj$qKnF=(yY$ip_uC`o5~spj!`x^3l15Lyb~Irh`yHBZ&c z>D4NF-FDS@GH@+nK-%z^7$D+VNa~lne&^Xz!)+kaj^`jBo`7~_l=1P7cDxj+*pB7+ zEO6tGTmkJklaah~bd0$AwG*#XO<()k8_aPa|dKyzhHVHxs|2be)DD4TqNd9e=I?!N;Zp@~=N zcE1{skG%$P65zFfUO>d~RJ~>#)Lp^4yAhClG1rn^VlJMQrD^}sm_#U-bc|3g>4L{X zT)4XkDP$0mIkpW#Qtf-HT7qbJ`fTDD9hC!zCE2O=3|ySF95A8sFn+@+CL;Z6*ixli zmb8*kjXvt(IYqFNN>sxE)-S-v80nLrrQ_`RgRnJ8gxqQ8KW>-M}SHMC5AEfR9b zu6s-w2|7NA%&J=KvrWWp;ie+I%DXWYC0d6$tvDkG*hgsDIO9rSA1G`Kuzx8GaZij7 z6}AA_<3}^yrNCsQ?`mMzL0kCyKFs2I4vD-Cv@`L<%K^*XK;)_|ku&p(OG**%rWCu| z>d>;?^_Dl5!o1>5#Bh(iI?-heYRw{#!RaoP8|EmOppvPA3F>k`-4awr!Xq!~=bYp7 zV*OJa90o$ZCZ3L7FxzAVATxIc;4Hv10dE8x z1-Kn>G$7x74qzWVXAIyNzzo1yfa3u30H*=6P0j_;2Cf}z?y$>Tc*fHOx|@k$!Zo98X%cp+%#RuC8yB6 z00Ci8`6NB45C6h%nUb|-I%L<=rrcF>7u1C)bD(XShWtAv;cld&ZMqGg(>vggTze-8 zdXz53dO~VwTJ@mtOA4tNdVg@AnLC4jVMmjZGh*JXg?0T%)K04o7$87~KM$&OqL}DAb7*$dj^>NfXhq#h@Yb1vr;Ou36k7zP5Llp@?192K zMS+@yD*Fz6hIPOnx%NsFnue8JfD-D0lA+!BS_ea8Ww0`Pv!zbdU)C4R9{9PD2lROJ|zlG;Y7qBZZTNm(4-hlEq@N=>(#uXMP36Z;A%oP#1gVh;o zi3Zbvt>O7CQwhb|fcrCy(w>_aCvhGPyS@ZrN{mD-OZpx}ZI>3SFQ1O)8v~wEy)23D zfFy%$tHBqhVBYj^)rvP(nw4m)PNec&xglOBTqeKf=>U8LQ>9nEWNt>|%DMEUa+P*@ zKqge*uT*83Pt;FCM-X4^5&W(7D%C5JR`Fh7Nw~bO>IYBNmro_)<~MiyUzc9B)f!Su z4g3{~ybh^RhmQa>V;vIl;1#4Zu~m)B{ZC|zk?sj@*T0v5Q|1>$AA>sUB{G*b0K zo_LZ~t{aG4qQ+tw0b9MHf%_H?uC!OR=!lBgm^Z+vGYT?`7kGVgZjy|kG>{Df_ZCxl z&5No;t`xm6>PvjRWE4j>)Okc4t){XJIIIA>3uj?lw5%!$xTB~ZJYr>r8XU<)N?)m3 zL6i!rHB=*q8_-EC2l*LEjP*(?0?agXZk_KkUMD5Z0qcnhH~z~opGEBG~?{YOfj51XwdXt_>)^&Se%riwyGri zd0jEO{<^3Q!t%j?WiMzNEULJZ#Bk&`52x#_cQ#g~J=r_J}|Sq9>JzNIkw zp3hx7V04G zJvaiNO&#z@E-{LkWkvZuFS?wAQ-rY_+W!bR&D4AsVZ8N)vFW(diy5oYdW_jnfsft= z!JApSpeP_3Z;JI}(W$9$jZt$}xH^1M`zzuAS36AEmbNu&}Yje()ZysaqVoVT$TnD3qZyTAgUq&Jjw)*DJr z)*DJrunJ7fWh}#Qg|=K{n$sq6?!p$6xd^uhhA8lac1R$XaE`sek(M-qoimXZlpFR$ z%!s*+#mJk`mT0Vwf-c1EvqBWK?@>}p{0%Iqd>dYf;81x5zG81tabfv_NK3x4tunz@ z8`oZ0TAx;4XBD29%UFrb3hfq+vGDc{_LxTCN)b#|rOgi)TP_!p6;W(CCNzihs}+BE zs#y$UkNTn_+g+#rE|j&5Zrp35)?ZOLC4Ag4U=ltq9hiiVJ0F;YkGlYvgpVr+)=vGF z>-;2q9JGMi<#Satj8Qw*y|2JM%nqsbT@N~?b)v60ZzjThWf#mcLs=d8fkTB??V6>w zPEJFOopYArRezu@kDsUlZ87p3(x}UfJjY=}UbiP=)G}BkAGSvY{5-qbo&hz@HUcA6 zTnXsYYWs9cixG1f7omNHcA3UpMwLZl>r1-3E!t{}_FIyJ*(mi-4&7##gFkmbCCeq+ ztf|OBXqOyaJNc*jU*Q@2<#U2CxF$x-;7%)DAO0R`@i#G-k%@K_8rKpDE!U#4RfWbF zyOOTLq6Kwds4P!+FoNBE$#5FEiG_K&)QEYdzGA&0*4#5?atvXh!eAH*h`TWk1N~Uo zSx0D9zSk-ETS1~L^)eu8!1ya5O~NlO)2b5__eE&S_1!wGdNS(c>ktK=)&aklOLM-x zz(Q(T2W7guM&3Zi+0kmC1dDTtNl;IrrJ)6c7L+5K;r3rbG|==$&_H3djDIs>N>b7g|uR?v2|&hfo_Enrfql(>>zXN37%1`v$gFLmF#>)mX$JZD<3bahvC9^{`R+eKVEju?CF~>{H&0k&}Ze(7z85v`I9+o!wyc`oPk&xu*?bL6G@t!WK zVnRj-b&kBX*F%iQ=pn}6>mkO+EFYbi%UFZ*3T>Un>QGI*y)Z<@yzzS^kV`3IN5w>E zWIECTJH1NFtg&F66lsMOSrtair6M{BZ97UUw4h?o!LLCfD(pc_jqA%%VJd{G>J6I- z2m@6dHzu+7RtA2AiZe?JN<#{Jp;cI7646L#9EuiN(88ABw)5ONyWtw+u-ty`U}3`> zX|uRGnvPZ6h7|T^tFXkRutH;Dg%-51+z#jrmSZn$mP4WY3)?iis*y^a4vZ6(#yP@L z;KW=!tJ)CSV2#zGr|4`tW8T;s$Ge{!CydebcT*#+bsgWvto4RSL~EXysPoc6x}) zomi)Vb9PJN3Hf^Uj+C{wwGFiI4JrInmcb(?6OTe;2UTc63%>}rorm(+b?WC47rtK8 zuD5j#EPI1oo3>WV6O+OVjfEFl(85oE{GAY@PySqJvHA`4$0OzC@n<>Ovq23y&T3F% zE+Zf9BsBKSg%-3yxqb70Aw;>RDK=)47V=|Q7MB$ zS4ul58q2Lz*cpu92b|KeENO}3cAE7>wNbdje;fOLvDJf*$Vji+z-Ssk-I81# zoPk9|YK|sOt=DX+b{~ubZ6I_@oZ$s_g`#ozB~{V5;%FPHAj@ph0Ss zvbZd#RLamudug)rwJ6V*lOc z54rbQgIH%3K_s#<49f`IssyfU68u5HOIQgY-Eg?o*az;q74Wu;N)IUW6B8 zdNTLX18wQi$2h_`uXQ)j8L)mX-dab@Me_L$*kb$Yt~;~bfDR_mY9NeBpp>8;1*>H6;Rz1a3H#eY)zH;;`?CR$3 z#;tC`xSQ4});`fA;WDEXa#K zAvAKl&>pmCk65(8g`Vy{uhZ_Qnsy&C>yL(F$W&I`6rtw$@fwE+QEIp*^;mpnHf|BB zy~r1j z0+Kf#*VgPE8J)OlEbi8(tC zDPR+QOnEL$Rw8DmAS#v2WK*eRriQRmdyAEbp_2+85ZX44IavvP8x^b!92S?P@pN>r zaN76Mcuy5*m78pve7tzfkB-hPEP~Q^JppGqn95goe4IhI8o=CP#Um9=fi}gDj z_1+Q?Mp<1|T9;I7U2-L0H{4;gYPQ32Kzho@SqwqUWpJ60(8@K|K!)I)sB_lM&JejB zRDStK8Jm5~5Me~uvRr%H(zc1uFfDzH%ploYnv$Nzn$cH78u}Qkp@~T-M4@G%g@hJp zMCvK|HOS=D5R%^>46d(W4ei+V=HA;1U+15X2~**EEoH1KJR8PV`k=&I#v3TS(B9Hm z10|~lj|o-b54J@Dxq?;rDD1cu@_D*Sn52q|M#;lnVbCKXOh zDqLu+aG^Db!#CnF&dAetRaW7a+Q#3&3NI@t$(vQ+%XNEkf?;X@zTKS!a||d_`*Drb zB!~IUI-lA`Rj$*1bV6nvb*=_&)2yt@xsiKoKPoIPC+1RT3<~XCyg_IUs`O{@n290O z%4Ke=B=xNH22}P!*>kb4EBi95vWdBj?I^m?s9c2Rh|R=cPCAljwRN?*ijC!=R*{(Na*Dc4po58Ha8C`%iR~S84 z!OXt!edw*UaExA;Ar}9l{?=J-?|w5g@$5XCm)%KjtpYcs z;nvu*l;Q4<*N>Gmx1~?25Uc5R7q7C3& zd_NM9yxtCw{`cLMNE5?8WISJJmubw!n24IT$)fEyF^{*z{18jb1vABbDl++mV_d;5 z=J&Z#Zn>I-n1|^i$eIPyeQKQY8(9&=Achyrllun|Oic_B%n|U8EY~okVCr873Z~v` z;S|h$A(jtWVoA(poC2N}S}%=ZZ;eGOwP-O(NfYl#AMyM(75hgXh9o?>qkSa zJI~&)jT1&o`Nv`+uXR2AV%9oU$KFcBkyfP>lXd4pWOke2e!Ppn3Ue2+8 zxx^l7@mF8$t9$ll?j>UW)N7&4nnHdWQdt`<^+8M)LkVpgo-DMWm9+r3Lxq+2KD4fs zJ!=sc`rdBJKt-w0r&%0AOimpa+6t6PXh93z1q>7_w8UfkRV<^zheK`BTi-?+8_h=Y zSdB!?Wu&3*g~lbHLJQhR&2c+ac!|gNYa>OjJL_5dk2`C>A!=ciRr$muyoAsgUP5R= zE58~7(Eu9DnI0^ib$O+S>?pVOyXQMOh0mgpIC5WF5_;LPiU((R)>3aF6t@N z=KF_2RYc?LoJ2>z=x$g&xmyn%_*=Ch+&$cCRARFEUTBWzx&J4w^{t8f)(@2-=f<5c0NG_6j zdXqI9(lEQNh9TxM`l7yt#<_H%1#Org&~7h;XqfT)vthz3gnHKagEC)k);P-EkV^l~ zs&rz~yAv9FcR~wV>0EbM5u(yxb%dM<81HCk@2;LzrXx;RRo0LSCuA@6VGrurfFR;NAtSk6X*z7>&Xh=bSvIF7~D~=f_JzT7u#I15^3o#IVE~- z(@|F8iOCjip>d10(1I5JkGMTP1jk)ehu)LIpX)0w^p?){6<`@)ab9+AUJg%uD>0WG z;@Q>}Tq9nL)7UTuHWZjTC42}471fZumi!G|J_ z&CneWwH3V~#^4jH;KW=82lj-vQe$=W+j~JWoa``nNqBgnO-9QIEvQtMQ3_+AKJtV|Zb~Z> zgR;gwpRE(<9%`XCuioo2)NWyDZM~T zz^5BN1Hx5`@^+&-M&`zA%`4CaWpsj6+>$Xe9kn23XkC+iEJv`4XW3ZsET38Nf3Yf_ zn9HEh2yKVP5N~M7h@|%R+F!Vv<7l4hi<8_>aY5F)ZMeR9fN@Ott1Vc#4Pa~@k(6W% zd!(7CYK5Y6F}LhUUhYQ|*4A8JldyPmGsEDX>=B#zpL(ZpFP%pHn}`L@AM)nX{!H z$(lqpMq2zDJ_~szl)UbmwQD*le5iUbYl-g-BqD_(p1NUvg58wG5%!sc7peZb@?&jWi~-Q5nXSYiJHR-&*YunzNVg`EH_PhoR_?Nr$1 zz*1CBZvs|{L4i2qc3@X2nyIw757y^UT7Tv*k?TJJcIW^^E~TDuuwgz9Yuk&pSt<|< ztJA#VO~gn{Yn_;2v}~;jN$KbG8fdhEhS~wj*B)i?MqwAd3d_RA(W|!**juf2{}QBQ z6IHSizWltois%Nh6dxGN@uk_NKDBiy2?Q1m#NlcqZZ1xg6;1f)I7J>a2MPU)cQ>Ja zX5$CAm?27$e&}dlX|{1RXt|(ukhhbTt8&0~^*q&UHGhfgA1DRCQzm&`dzO6vNxoY5 zTjPDa%=`E1@8<8Hb==QG8}ZtP=bO8w4V{K`wq-fA^zp#IB>@+F)(TbvJc)`_KsVqJ zzz%@p0XqS*%qIcP2gDY`iY0(21O6Xi7r^d#M_0g1z;1xt2o1emkq3z3$BIROJpiu& z>40f~g@D5VuLe9F@c-HS9>BP&D(}~JfH(!4@<)n*zS01pEs*{J+EQRj z3rtH2ffgu;Owwf9MA9TAlhP`G0x3vMt5s1^L0Ls*0bO(f0TF{mDT*s9tM0e%XLWI{ z7X3hUWnGo;_dDmlJMZ0@OeV>sq%g02IcLuMf9^Two_p@O_r8Spq+VydvjefhFC8I) zvVt&1w)znY_mG!1<@>z=9&|hJcRuKRzjGq5=auUH8XGc=%~i8R7pp^$;3IXbyz#)w zr?R@3O6etMoKa;|Ke6PZGpZPoG;?bumL$NuMB?Hzs%+p6wAl$IU%F_~S&MK?{hAhN zak^pMK=(-0B&w<|!1=Rk65-2mRZH92fv(DZat&VKvZ|Vh4LJ|%X}LB8G}nfJlxsue zJlBSRn9qiQ3>!jShu+8*)=l5g2w2wCO^AVaFbUY^Lw4!^EQRZ&-Yc=V_Yu(U*`KtJ z8!YZo2hDi~i_5@xrL|fb!xTzmm_qM&i=}O`wA(E0c1ye4((bdghb`?fOWR>-&sf?{ zOMBkZDkgYd8)~45-u?!Qdv^m{BeeSr7Wby2g1T3}_h^H~y{3HvTC>68-ZjAV+8%?M z5R5pN7jZlwCU5v{a_e$CaZPpVo!h5?iCQ^I`^GuB@1~tN&Vhg86K<7X;u6C3d=&44 zW5%<9+ll9b(EB9s`^>4pwf0uLFZRphW!d3e{_=)Ti0-9I#s%Sp<{IFj*+%5P3jg)JlL}G;2U{>C7nMdXDlKnB(ua~4%F_JARKtcqoZ8n% z)~Vi$CSfXmIGB@s9fkF9Tm^G0F z!t~d5*YOZWv0e#(bEusy18LAKTbRVOrKU8t)RdODFlXZMpBx{9s!KJ+oxD%(WraD2 z+L^B6A(YaVXeo`v%+0ZdL`;XvDQyW#L1}pl={gj|IRy%7A$yK=(~8*EKQ?G$#z+)B zI>O2G%5`6cV&A)M#Y;>xy_Ci%n$q%q_=(`lD+NA$@qp5q{cz#P-j)JK9$DaDW&Btv`;|c8Vi`j*;5D7 z$VhKSq0Ufnrf8m+80ydxQ3rB289COd4l!NKNNEq?qm-7HDc{85z5-17_JB+ojr6ag zndjtxjm!*OX5BzyngOP?pMg6{%gemW$D`YH{5g}Y+yDvt>S^B|aooV}w)W1ZbZ5FL zwXUI~BrBqnB;u<#X>RChF3CIjr|S*VS9LeErZVj%y{S`8mM(a%;|@#0Ph%;I7VB}# zO6Is+VJ!kNozP2ZoX|^Yd4+ls4*#@3-PW)tg}QJ}R2EkVm=V{)oI+aiQ0k_WqYm_l z!de$wK_nLUsvuuVt2WpGY4q=g@myS>YPvLE)#P>>6ki{kX@^TwAMa)TAP(zDK=uykWiwz{Sl=Ar*E1$$rucB;~cB{c&OFPFN1C>w3D4&W^KA#vs zKDoTP+v5|K&tvv7`5eSJnl{l81kd#NLG_+_*PQx?N z6>Cefl;!vZTaLuy-otp7(jGGyvk0*UL{2K<4KMWI40Y6}0JDy|F29U4!wjhK%Wti^ zQ{WaEZDRcL@DFw5b$pQ?1|^x?x{`mguDlGAxf{2#=QQtrtER2J+HYC|ORAca`lFdg zl3dNAI`cL;i>o(p)gedbC2FghZyC4yF+K^WZ;`=F=FqM3gT!sY6LG(c4l>G+&dxzO zc^iM-8Toa0@QY(?c!T5sV{CeGOvl(f4)({e$`8`|1Y2jZ8-Vo-?SsIc5bQ_5UPiKC z%=;Yyb`861-J_m-#?+ z6BWpGHneqd;b4tsF{K>Y>Zum9;!u=|Wz7OY%Q`H6oXTwMNOzgOUo^=zf-%B-ENpF9 zx4Nkzb<*m&v*(XH$WP{zXS5vtAI3V z-u_+>y8y-keiLv!;Qs}j0JsxyA3&O!eE}Ea{`&zkm6wwBXJ_2TF`(m%IHo4N>9~!( zT0n+8v_;aL-@rU7G`hya=o*pWH@F2QNwm9 z{zR|NUOQxfPf`Ig7z@@OfZ^9#GGM!(lnJkl=!i&n?~fs(VJFYRjbMML}Wg#tREsjyTZ)|2}S#(Hw1V4nf@%mDRd z54gMC>820YlV9+0v2J@|Jy~oFQ9f;K>T7YIp#6;XK~Vwbui0{zrDM(JE=$(~T4-6i zpk^y#{kcJEw$}VL+iO{`aY~6Fj(gqKYsE>=m|j=4xK9{*O(bJkz58rkL@e&Dfjv~( zy9|aVprzerX){p+T?Olkddy%&*F|cS!y$gOt16j=fdS_-Zn!e}R6_KZEw0Mcb~HRC zK5`-+|0~B>vqHstNWwY@PVsXd+DjhR$Orc>jHPS)GrmRSK;e!+s& z>-g&=(h-y;Vb+{;z&x`-*tEZ^j!lJ3b4!=Zax?{`VAx1&N?Q#yu0Hl)qr9-ufd4X$ z0O`M*py?m~VwHgyhKWGll$JDDv|F@Tx%~wm_OSwT`|hcH3)#k)+zw)VY=*`d6UZUF zc9D|yhg?YuhQ|bwrro5zDM*4svi5IQ)`-QuS0E!w`>Vn7Pr^Yvnb^g<(>NyhGnw3+ ztaubxfs~z!!_11p(`}o2gMAoY>K~m>A-1v)#(o3#HO>IP(ER-!o$VVo(qPY;o!?|< zr}~#uRRSI2(5@FzsKILmTdvVb;1K6+3>lpyNDrbXgF{{+3S2Q9vf@31Zv<)iM$|qT z%-nIsVTG|6R66%mi2wDG-H#AQB0M0e^6U<=p8o+Zwn+4bkI2-U9z&Yml1K_;2 zDv8CtLvSCZu@sb6V`+0OEnE@zz5sz*Qnd=04(AvbP`Aa#o(|lD$t<)b{mH zdI&-!!Xu$kp66%Ji=K}I&ze&qdew4!`7Ic3=-2jnk5=M)4AnlD$(eXwaDDJbxS<}g zcTS??n1jT<;FJWVye9ibJb&||L~s~g#3Fv~2}z!SXEM!mI&K#ikxl@+RFup>|nt@2<$k)?gchZux|l7Ua;qZT`$<*fPL?6yvsf)lpdi43N#Ip z@RQg%lW~gOj>K7^wHI-41RS$< z9SxmkN{N!Z-B=%U5p-2M{^ytt8zU!0T+Omrjp?C0d!<-Ob(^qeE$rhniGn^pE7EJ1 z+Uk~(m{lNc6jDlaoun$ImtT)P*k~i0QJcVP@m3n*2QcXs?dJOd&jRG{4nQP7_Iw2J zgMj}8_#wcj0Y41*5+G6{dk)0?K5l-;VUzzW77dvki}P4{`Pf67W-_G8+Edn^j9-%a zlWCu2qb$Boxvp<->ngQa4Y@;0BXeb&xF9sUuO=p{zGpo>oIw@*0pKhCyKP8Sm#8Z_oTt%-g7wn2BH1b zVEMaN`j$&zMB^pBGL!NV@IA-lq8P@l)^hq)tke=pxswYtVqS zdUp*^WqVB$hC7Ygq?J9f1 zxM97Xo;JXZfSUl{4ftii>&mf}hE8o6l-m(hqhh%*Dh?lVE6O3ea>%Y6TUjtb^kRe! zb~SXVawj0N(;DbWN)%*ldk$rrSdKT3cD%Xx*ve$I-8HsC4Dk`P*_BpnFszUTtV`l3 z_ZckiJ%+Py6k5N*28yjP;!rV^*ouTG+zT|eQckh4;Umq#aZ_yWli*DP4S^4!SYjSi zY@QVwQ*7QZv@3ya6O1V~56Mxc*nC&8dx3pcux|nTzF^M-%cj^oH9(5ZX0%UEE0ALI z^*tHxDV(@it~aHk%sM5bQ*Rb7ggw*&Tlgi)k}!rOp~ys*FG&PNlGTGmmU}d)5=vyz zB;tBlu3#I@RF)3dzS=R9%2F2jPSZP_wQxbdmhIuo9x5BZat`TeHXjSCV^9r7I!9~7 z6jleO3y?{1W;3(6Fr}_+cdR~_Tb0_XEKb@+ISNtuCCX0M7;?HIcBh!Y0lT0cK)cY4 zkpUL>?u7rNw7U!z_o@*r$ViA_ronI?&h8c3T?QK{Y>+o4gBJ}cCF6T?!QP&dal3p4 zy97TY7*jGnC@pxVWNa5&G$rHnLSssXw(3zRGVu2kK-@NZI3?rpavOc9-G@OUVu=?O z32s|8d_tkx{LV4<+k_`(uh=Q%5Cv-Tf8g@9HbPa)fHC*MeI(o zZSj9bTTk2K#IV*T+IUKPz+iEYLj$^{-F>jZ;@&Mddy~+%7;K=nc-}7jLT&N9UHAjG z#WC0c6Hag>!#tTUWu?x>QlmKla;*1BKee5KhnaZQ82)K<_GZi`!sP^LnMN&B0xMYpT;rrHK3ff zEHXx(O%bzDT3uUvQ(D#!NPu{%oR_L=ZNWkVItLB2wt0(Sqa1ES)E=|Cc~ypp*=>5J z0>>!#9-fN;e-EX48G<>g!o=dPkGIlI+MZ)s zbOtr8fp3}Gt2AQRpH-x&KZ5yR&Fo9;MW?8nrQD*T{#7|IBA!T6Rewq3xyxzR(ILvHaGy2qB~dXNBytfXT23EaN1fEfPJ=gZ0Vnu=i& zcIvg0uOeQqNWs|;bB7wgE!*($O#u)T5}hx>z-U8*7-9t|TcvSnBc&Oy3m#WxvhSLz z$~payPz+zbht2fRB+}dPtV^9aNqx}v#f}tl?}wc3R5z6ivohW4mJB9TltJG!XR%qD zmoD50t|!cGu+d^(x-h~Gs>gp?^&m!7h`5rRSs}-Zl-NVxQh1z6d^DpGVw3p=Cr51Z zIB?=Y=cCzh;(Ta~IPBy4mFDB}MjFhqthHMaUI)hp+_Nki$z6&RuUXO~XOnB$EI3g} zsZ^%9A!zK%IOMHXn26=~ncPZHgFIyNKv5p@{3PKyC&`^3;XY^Tbh&>v&SJbLfqnby zi2Lj|CHIejmbuG%C$B?6Cog&2b@ztS-a5zDPxBOIphl zw4bjQQm&$KNl;}kvHXfsMB{=bl4a^nFwSKv6xFtHGkZBxgO=GJEc1vJ@@yirE7OKQ zm6!sC$ZR7gwDHk- znHS(J@_8=yZ@NsAe6QHEB-b;Sxn6kyWR8XzicGbCF$Ip#c$Uv~yW`gkV#+r&Bk-yFFvPcoiT zcSc(VVpZt^2Q#mWJN)`gN|A3J;ZzW2?nWAkvLuxysc|GMK!;h4E(8Z_Ww%_53p?sH zXSC&b~eZKwJUt_ zF9S=~D*q_N8W50Nl8&T9`9{D9D0@3m+lMRsubLINCO{}v35dnLZIE51am7rf zg`@bC^rDntCNBSl({&YAf`@&+nrwTi5)`grn1ITEd#7|4`)x&v?K^VCwiY3#u-Lkm zyO7Xw!E6;;VsS44SyLKUyHr{>fywO$88{gr60~&Ul&BJ980Q8&VUc6p8SiJ*EP?&n zsraLt%Js$RMof>F8X)SZ=Zwkx4SBT^G>wfS(8`y2Va$T)jUNaKV6M+o18VYIYwq)9 zDp2koh6aQU`^_d(VI~Apb%a>l+XA^&8cn>?MoUMg;|VW2wm+;Rl8CDxznAMsadr}g zzBdbh(H~i)RG*FB`cU6V?wYfO+x>cg84mQ|J$NptLYeGr%J z#zNeUOK~=Gjy5le{}s=y!!z~j-X|)T^x+{`oM#tbbX%yun(oh!WxCUIfc+K>iFr-H zE{8W0^ELq6Ei_J_`Xf2--+-MWM+0B|6tL|P$K?M8XB~$9Kd~R_2)a7E7+2KU(zX_V z(+%r}(Id8CL22$IB1bj^Th>RcF>8w^aOi7ETfuNB6@Ga)qkPe}Leh@MC_x=a8SEe} z=SZqId-Ersh2Px1h4cA)z5ew68^5Ld)@_fGZ&Ms!^SJT4y69hVY=;+JO_ZsSmDtg< z5Z-h((b6!eRE&-c{Tyt_Ihhq?bbQA!i_^j7<3Tm(If%u*Y0y8V9c!?-H^jlYPq*$s3;7 zhVM{wXOf=3m&rY}=e_d8qkvr`7*lxGi#a?K*eao|0=6+?BL57^ zy^e`&295cFtFgc2c*P@(2LviR>~w=7jpFrU0c|R65?^ABVrZUPnz$P5!N%`)(>52y zy&jsfGXdWTxEPS?{(rGQ>XOSo69x>x03O<;T(*z!>^lHeBh7pLx zz5St#N~<&&)D76xqJqr^%d2kG6_H${SPWj@EMi$pr)I#J;+URU&$Ko_a83gC2(8mc z&jC8Jq-qu2iMrs-B%GV-klIav`@x^pwS7+vs7?It+eJ&x0QL@f#fyQxQ?N8J)u!u# zZHQ>oY<$0~O&`EnbT~F+{{%Cvbqm!2ubohoNSgvDV?3lEPR51pYu3ncZJHZHTio8= zmVtImo?H*&wd$Y@IQJBJ=B7`sfac8teI?*xz>5Gk0bcS3)5u0hp=u;CXc}ZrX{<(- zb~msMqLKF*Y=|0ZBZD>Kl1H>psw-7wt;Mv?5;Ank90}IO47v1F_^U-kw0wVk%tr{Zk#QHJVTlEu*rBF;4OgD0qF+)5qrPm233JZH;8U69$!y$7@qx30luBFYhG`4Iuig9MkhFIKNH9nwSZm+Hs->gJm;2Bqa$a5f~=Q$S+V1MbB6@Fvte=A<(6y?iwBz(<=> zeiB5J#dC=*9%6CtK1;jbU}Uk=KI2dddXfWHcsN0uTu0$1cjLw}(Ums|7FeGtc%|<< zeZ=9Bihprf*or8?m|j0^&twXg!X?(u<^>DNEN$y5;o6VB<|NlZ=z}d+jT1O@5L5q#WC5Ew*&@)3b*oam7eo8sc?x;n^9Pz^^_2?u%pm|;QzmoBLN5)hlqQEQpn zFHoE4{LF5wYA9;+8A!4^D#SF$Pif5YQ(CwtLFWrO%eGl(@%`e4g7hzT4D8N_U-h96u5Nc-U$ zzZPTsW?AD$Ebgs@{ZZN~gXMA9F?so*9^b`c*68s)Af^s?li?hXAaJm5!a0-i({5pp zZ}sRKxWY}@vM&ekOItTH3v)__R*Z^GD*W7X2@R=)3N|LQe$@fUUo!E4pfP!bkivdd zZZx2fXZ0L3U*jOe;@-2+eWg8Tu#$OJOxtxmD=rL?^{np7V|W(B1O=W|W7+T&zar9T zw<-!7fU@CfD6r`Fo@wS6Q9?zAVnc?9{)-#0qK*#az5K`;7-DhnVd%Kh9y6FVFpRM# zpAwgYjj~X@^>z@`P7smZyd0;*Zs@fPVCg2YjntV9T`i3%RFRp6mbP?fs-v@g!^Tuc zrgPS8j5;fDw8+TpR6NjF;(#GxFOcuH6Af8>p%a%@9pqX9*7=!xnG zhjMErz8CX&!tMQOnEsDE;pB%}D-qLvYNe4oN(%=$MRJf;gLN9*i6?%GaQ^L1Cl#v^ zhU%G(@f#n1bW_nuV)c15&qT>5-zi1lO>M^;c<#MDV?0YyRE&{g>M9xOy0|rs$>Y{` zH*{k8x>V>_L48u+kGlT&1y-MezMyNDl9XE6(7869Ntt{Q*EUnu-5CadX8IC*D1oXO zF?d<9S4xW+EZVXxpk{YK&CV~NX214T$MARb)vR#ES5_b?f!EwWER|;bFjq5lxnD;! za(YP%sYaDm4PtTc0m!$~9yVCCR?h3T+ze?y->HtnZp(vib-dU*Ea>e@i?8C63YrV; zcci)a_QBR%WFt;BRtGix-gQyl9#aT+ld>%N?Y)Wqh{UqJgXk?io4jm1t<(N>4XZ z8s-__&E?sl;1N6K-wJp%Ab;~b%w%kAD=~HJlt#BsX<-*e`e|jBXdGrwt~+&cy|I?z?vf8|6VqHDMf$UR(Xw_NT~Uqjpr8Wi*F zC7#E3AeR`T<(G3i7hK?bkxNt*a*3};I?v&%1fwGs~+S=aOfVrB+bSiGv%f7Io zZEZT0?nLd`iP|Cjv&gDp-wSQUNi#;%ew{8kC=*hlYkKlzAH**&<$0;ITROW;b-~(# zM}jQ@#Pz)Y!(?q9W8Dj4aqnR0kJ6YYt+Z0<=0C$>xuAe<9=0cSv+SA|2n+71?(V{c z5NfoB^=EkM^p;$8T7QygPE?)#6P`>|opRjuLi%)^)hA+@_XRSqv}X(!^-!55f~qdT z`YdVZ0zpcn4%CtXvUW<3>g0qSNsf&*lZ5ajKZ!|2d@myvp>L8Q{a5Rxnl!^9&Vm8> z4XWO(b4C-<={USsfktQNO6;2*Rn$t1^C1i}?S_OHR;1f9of~C+WfWHEmzch=BOCTX zG{lg=({Ia`6-TcoL3#y$P%KOF1~Pip2kn|=Lc6dDW0ho{jKv^w`w33wz@SF`=>-FW za-BYYa{>hwcKXiubPQh|APlaDR$UKA7~`dS)&Q;qq+2u77B#WBj5=4^FU`@o_j`LD zIj-kbj0>*icx|OQ4)~&naRjb+9&bA`?$0>iK2APJ%9ro84UToTq&cAO45y^&2(hH; z*d2Eu{^(}hm8O)m$T_IpphY^~?HCgj$`a>S|b1>{%072m5)C9$}7m!;ipFjvu_97XbzNz(@lKk4p9`Pm1G z%TIm_-*qjHpdphH7Kc-I$%`W_FNlroyLpG0xcMKB$k9LGITtx{6#nj0^L=+` zXT!!+Tl(r$Yr1W1rrC&;LoHIeZpunmz>W9ia0B{;_dLq-gBbZyTUDWJk8YJn2d!;5 z_c)(YadxJU3Jch=Lm`XFqFhn7Y{|nGR4aHWrt!i)a}Tm5Uwe)3;;I%*LJ!{$?=G!c z{$`Zp{eWbjZ`nso6Z4fuB~zMXurx~GvauhP5Qj3t2$(J+7%UQz6qM|J0!T0*oiT=9 zuJ%e^zfZWn6xd|pI@_8rVb7;}t3apfU5I^}!|U{h#&k!frM+#z0*e+YY%_C(twx3I z{7iGYQw`Z4@XW9oRAqms!MoHGoxmVnDSa_ z;C4&y8tYEAv5mt|;jd9-`zp+UU)qyf7KzVg1etHbx;-X?OMZtZX6xji;Mf|+mO>yT z+Zb=_T|E_lbPI(LiuAs^#Q9pVKw$xS59TSW!IM6Ap{=^#l{ReC&kevZkO@!0i zok6&>LB~l_O&s9%OO~_POcLJ+`vHTHeEO>HhSt&zYYT3hHBC}gW^L9;Ut63=UsIh% zdarDUz;&szT$SajgmdUf4p@=4T+t6pFNMny{L+ZR*wi(7O4=Le{M= zxfQ+7kL(YN_3$&;UcQ$x=X&{LT}=E8{7soyeXbtax}<8Z_F!Xq42C^D`lI#9tt+dR zgs;F2gQ?h`F>6}r4SJufOKoQl-E?tL8HqSSumrGr!4PTm8U*VErVWj2fZYvmI>x?5 z?*kHS3*6gHh*O;Gq^R`aEFb$#*r(<*w5j#!#{A6%NiFDZYiv$8UWu0A>u`Ng(}bco z_6BEzC>Wv{cB`;h(2lML<=ADmAsF;`JOCL+RDDsaW)9P*VB;`>J=iFNOyNT7%O6)-9r>+SxU6es-T$Dj+wuf|VDD*Sp{ZOHw6)XX) z1uq}N;Jf?^{ig%-EA+|u#9dB|Fs#r`uLFfHTnj@(gMW;D?}eIL^!F91f)}87FqEg_ zL!|PkU~aO|NR*JCy(%HGxK|6gR9c~O&r0b@8m8*7`2XaCmGj#`|Blf1LBKknm?ZW=+C3XT0esr0&z z)`rG(s=Z@&fx2(6>l%7pe_#P0uqKi19Qw2qlh2J+Qbss0EZrtnG2E78y(!Agd4TL3 zIvfCfC~;}YG* zoCXYH7u{Z@F(leUc=IA<_IHlV(t%Xk7dbl!u(24W=66=8_t*uj`ALLGcnobsG=nSm9nH?d~qYZ3>h^;M~^WD`vrE zi}rF*^S9W#kJw;5<2hOV`~|LedxOF}n=k;+oTk>$xi!2S6v?NyWIjH%&~Gg2#3Dbxp*r8^v&U5{2x7UP-{+*e zsG2cP=sozntjMfIbyDNB;Ta_$4}9#8@{ew6(l2UjX=}-}G_n=Y>Z`%h#F!XYk~or^ZyhIeY3_#3u}c&q zU1YOfsmm1CY~B=a<(=e;<9i^&wo24C^R5jb*kyQ-QGOK8(KU$Mfnh-|R24S>dm&PB zj)T%Z>QtP4IE$4A1HVT&enxgc)W}vNzOFPkDpC+a%Mo*Y)b;oDJ zxGM`^W?FPu?93Q2VsY$$@U&F*D2=R4BGE8_8=w$6QcbH z2jOGybHwQ*IN!(q0qnb(Vy2te-w|d;z(E_~9YlcYf_DO}uz29$*Mo9B^wv1|hnkUj zI)z1QWqYbA-I~s%y#irv5wGx5$P>=JwIART?A*5Rul3}UfYb5&+koc+J_Wc6a0g%$ z;M0IzfZqjVGh;1EMe9>yajzO>ptP9=%dJmCgD7n4jk)|`1A@r1S@MoH;0%!mzLzfT z6*TVt2b8ZkC5||w7!YP;AD-8Mbjh@5!(D4FQs~3GNs)#lw5lBq2mE*0dY753|J)jd z-%i63_Jr1XUe95mw*fNGA6g|PN29DIM=b9B3CEO1t}2Zy+A8f}gM~`7WQGJeidmB} zfR(7gJI2K8iwj08(J0uZz|=}K0y_z9t(eygENUCx29`YQv`;#5mXEy^`_Yc1v|_x2 zhFHgFR+jejk9NjGDeR1Nkm4mz-#+3e2L4QI0?NqD4`_3cTWYPo76vJ zv<8M$kI^?P(!YGiGTW}ODYaNr-bezmkc|#v3gJ*V+f&h^JqtzqW~XS6#91ubL$PN@ zyJ!b72BT4CgFLdx!uZQc(ZbL^-nF(kh~*YX@358dCY029PDzE8@J&uNRx(jndpyFH zv(zbL?Ujlw>CY$gmGqyj2__aTY1>MckwWmuB=bGn`EmvUW-@{GVTaAt*T9Xz)x)xWOjwEJts}&)ptB)w{PMoDQr~a<(O9a#2l-|B=d%M)P)tE7$1R@B}Wr3oxkbjJ1Ta#t|$A&kLBuUEGq zS%^9oTEReUQ;zacu343%z3x@%_1=GCE;-8j^MI81UjecTueL^sSlna9t+W>n7Bxyp zm@h{8?uI63Yx2#w)rAF=@6bJ|e1$6!ZL^hY^088rmq1@aOBATSj7VW-ScM^mnS~+S zO1sNoA%#Jntt>(?^mPX&^GdkPo@7qFT35*ds5PnW7zyO8Iq-8(x*Rv)9iUO$FT%dT zQ7*OTMNak_US)v(LUD@@1fw1kczkHl0nRV(gOsztz$_5C1q%!yuUa;n2S@iJp)~o+ z?@NIF;k=cLJ+*L`04~IF;{G!k_^+t)M0cyW#YR)%tXjdo? zHSb6-zP8TX%~2c&M!q>;d9nJXUQNed<$SZ93mqS7@gl!2G>Nx--5+p&J}cOWb6)On zjZV2f4D`zY`96VsQ|h#wiN!e`y{EKo1{F>u;!?HyQa3d>{p zSZzVdGB`jObLuqdsjBPVkJU@v?iHlhDP0!5 z$)3iAaxj4qB~R)ga~AUdkrb3o=3QB}Ds&It6!lahwVmOjE~rY(J06(k{nIKdwgQ-r z3Rn#+Bj;TOYz@9AD|xYToX7l}Y-#W+>|hf{V`8WYvr}|47L$vD54$69!GfT)Pm`if z1UCna7WHHlbseaow0+iXsByf__;8f8E{VuoelqYq)k3UmZ(P^FwYa^v-~edeOpNFc z&c^aEkUp&;4Si9oNBO3#bYKs*9v}>cQ#P6m@vX?#CtnT+^Z}0ml#^hq2oTRtWS4Jpq%Db) zZVpRZAXL|ehyx3iIKlPyL9!B%NEMjEwU}i4FGvBu|JQ&%;4VN))owsa)eC@>sy83t z_3)ZWfUGww0m-w;fRv(U+*Io%Vkip8j?$>(N{dPnoRU1N3Q2Yh%VA-p=spC>*^Z$& z4m7?x&GE&wuDT5n35#mJADj&sE{p739-#UP^rqzeitaZ(6|2Hyz1{l( z0rVz46sv-rt_;&&L(s?h0Zo$w?0}5Fx<_T3!lO)=elO&OkRYY?%p9~v(eruD>jDB z##A*M;lj=}8ws$_F&j|+BFqN)@0ty`d}1~ra}pdm- zr7`2i9;n)!h#GrO$DDtq`$^$XABTAzkQJNzUwQ$3eoLyF2 z4&&e>ZrR(9#poEaqzQOur1Y;EkMN1pA3$ZG)tHX`ZI0C#g*3HNxbRv#l=BU{N|^4# zZ05kbddEAZ9X^nm%(jd|nXX(?jap$^M(3tCvc0WQqMW!t@0_TNI#~aV+!o5=1Avsp z2TiWa97wP_Sj6JqEs$ZQZ82C*4O^6Etij!~cCiZg`ibLTg*BsL^fjZfTU3^Lvrq%d!ZV& zPLrF_XeN&yiv3zgP}g*{cP&gUU)_~y$fPqNCHGUQmbT2va|=dSRn?)X-cOcUM>=nt ziSOW}!4z&YErPSd_gVtTcSFQN+DxmgN)yAFNE}nz?FOSt%Nn<+<0>aTln624E}XK? zVE`kQd=Tx&`lZS5o+n2}BOV3|ea#)C|aX zZ!ruy5$CDRBc@AxD(x|xrL+)(C@H=Dp`bzwe1_SMH9Htrl1B$(zrhiba!`SN4bux2 zw8o&Q3THa1keh`?Ub`)U>87k_0J01ahZ1Et*D3?CxYvWSQ`#njMU)|@tk1+*6AP5} zi#{Hv+Z(~7FSZav4!t@luD%YX3~#b!NG$HLm8G=H4Q9(w@^N#!eOcmJZ{&PjHN`1Y z#sF}V%&dCwAo}Y}_PN)G1H;a#7O<}pEq^O49`36=Z&}0~=lG!Hr>mol&`I*R36SNV zHac1dqS|9(ajyyGqqJs&4OYIChHUwADyNs6IxJkiyL~)dx4b$#Hp;gMH*7cs_nmCW zj+*J}S@cO>MHsg?!)oHSn6vGFzCaX4Yrg2NY0X! zjJbd;3k2w;ZmqTDPfY7prLk^Rn&U^I$5Z4Wr~I)TNlpab$FqX+|9||U+n6u^A~bif z2z=26`$$xsOH!^k+j1qQ^{vua-zv?NYqY+FO4lGbhG{hE$WZ{YM!61`9_CcKtY>kO z$JWh3Z{SMTl(r8x1Y7=E_kv{+HKy?nD=}H8 z++!WAv?T@`pf<)@F*)WqUv)ec1x9nsf_%xxAKmg6;2X0#KK}SpRmbGDtI3$}O{(M5 z0qLfl0m!mQ08*2eTLB=Z)v?l89V;zwb(~KC^3}&-0r3XX1iEs^t~m&F`1mOBiZ)^ySeIv zth8^lgPdm|PYv0X$*oH&#+iOFleQ+^U&rA-OAu&{$bYR;_rO(&&m=FM3%_oOxRYnmFH8q+6npVPQ{_3Tql z3I$oKj}v{X32p%xt~awiDQ`L7T3k*|m&A!j!9_ui;(6(-xq`b)LtF>)(MmqQwMocK zK3fIy_$;}L8L-S~tOxyYr7vzaeK9oT3GBhfZ)Hy7K7eqaW$UWc8n^@Scu=kaTn5+) zNS^RG_4#AA*oomk3R`J0gQ2@7n+)9hLgl2#k#X4j%A#uyHP~g>AD~#jzd2U5yFz{d z%T1K}EFS0<)FRN{jGY-9V)Y4;0AUL1q}6k0&p9PMZ`SIQW;M*MnUkI~=aktst7}e~ z*Eo09+|_vs3e2)wZbA7t)_|fhRpTVExEiDm?B|bbG#n;_eeA);cdVH#yph-q>4zJG z_%ei2T^nK==T#cxyh@_FPZCW$$q}glMgi|nz)`(LE z)d(hZ)!~JV=r3;XZp(N~5vD#EHK~KOo}MV%V`)^x$1{U1Kg(Aj&S6;2K@cI9*QVEGWDrCG zcZeh_=MQ%CJ6Acy@GclBemg9_B*wNHqxCUc48*h;lqU9HXc4RLPkLyelwuZd2d>CA z%)SB2dZ!esL8F;J3i~ZiDU5KGbe8KgG&ju0GlDJ5b*-u?x}kJ%RDZfW64hOvClRfvW6ZGQcW@- zg%H zzv1P4&{@Ktz(RixlpDP9sKwoFe{VvG`H<$gF+!~3JVb-Kkj~TKuuXpFToBA^t>S2#Q`XcTSl_$MQDl$qfnHLj(a(qOL zzKvraaKwo9EhV1yX~$@ZQCDL_YeNC{`FMD+4JuH|QHszKD?-F_85(rxW%)Si(G9qc zwNA}0K2X^zjH6NI(ho831Yl9deG`;EhjD0D3*)GV?RgoeLHyyZn6Y3%{m7XXT2CX( zv_+O_#EN5D9lmiurmYx&X@{cv-&ufZT~3`*ve|8egrtxO7(stZNlGH$%+o7vK@cmh zAZS|$EQqxO6a?+XBLxbgbF>R$kU&aFIP6R(P4m!f8BDA=22Ux(U>yaXYaTY^q6-T! zc=~}jK{q3lO&E#R+TK`_FLy_`Ye(FXu>4xR5-Y*Sb4YnU+juKJ?41QZ{`h@sxmRmI=g4z=T5vV8UiRtdIm8<1oRFh%d>PyW{0m0uHqwPb~0DvpI{O!aKVo z*;)BAR?qz=)`+@^)E2imE9T}~)R<{mkG#gziWTRlQ2nh*cNQ7nZm70RC#|sPvx8j2{13S-%Tv;J%D3Md)Q!ZGyq|lB~{Iu!*wFfYqROus3#4< z(VB<(;N+G4SP~GfL$WV6j^ud(`R_`8^e<*h&Odlu_xRmcCbu$xC%32$;r>~3o?i6u zCwN4cD13z9qm6;ySH^WucxFz2G8k~Q=n`U^*B42W&Sz6J&+vW;{VCqua z--SDT1$hE7v^3GK7pxE1gMxh&*uE&wn3U(kLi-wM?-h&=+Sdfz0W2oxO@jZS_d6Vz z-meCj-tSakdcRA7>HX?~>HXFM)BCLhruPe)9qi&*<`_JVFJxfo{eTxbx}I9p^ser% zOln<2TepOU)=OgoH9*VSwse!I1|6(mqp0Z?40o=_&ksWz5qDzLY0&AzfQ|vRF9*`Bn z3~L*R#XZW1(zuqQ(%x=q(=6>oOPgb9XIL5~La$|tq27;OEJ_PS9<#=G8(!v2M~Dsp z4NXMZFMTTz-PHI-2i?-jHnn$TinOcuNa@OWTlQnn$$1ls0rHeu)84tx3<+U@`1(xw z%lBb{;J=NL?{CIo&$Nsr7AM0!rQK~X*U0(|_`wp{rkAw3_?f5U4%tu>IkVW|OciKU zFKD+0of=&iA7fJYtyQmvgh5;T&93aLCbeyFGzYB_M@R~q7 z8v7O4FLMoEL{_sUl7h#3r7?I3To-J)1yhGZPQk1KDOxZLu9Eq`(c-Gb&BYL%Xzu%O zpwlodHNSs`-`4QVGeiP@3rjNwNF%}RODH{l-#-B&p6lHYxCHRarc^1j>RuCzdtb#d zrLj^{+EbQB4k~S@r9E$H(b7jI6l!R%dw&+Xjvw58h3QunPXda>nLcpT$7}|fGxcXL zCK8TkFA1H~w-kvQ$qG_%Def8kGWU@B7XuR+IXXjxf$Ud|EO`n0gV^2iE$;=50)GSc zON$kO?zWH+gjFh62okujBLqp1qC)Ui2!Rjk_OQ;TIy&1oY}CTmVE`L&O0e<0S={>r zwi@CcC{}*UrvN!7=F@;v0q+E4z4KW>zU^IrX8?WGPRwm8%O;glhN|J+-W^%4+yQz9=#FR-$YbD1MDF=`nbjD5S%GT ze+}$GIZ7eE5;79={u|f_P|ap*oH_8mKjx$uP5@Vq!I^X>X88D{o76b1<)uzlPTn2b7U>dL*@M^&00N)Qd9S}~cHv^E3nVEn;20R|{7l0=KQii{SXMBF#*^`0V zjRp#j%{GYjNPSsYkqa*wg}&xZkFZygne`kxF`%#>i)hX){Aog85vGcx=vLcO(lRnX zZ#>X+46$-}69h&p2V!yWMA##x(K0D5X=$~V_ETW*fhC*h{mfvd5)p^uqD$aPRww&@ zo7}qG%yrlMWOeGD+o#}>Y7|XY-y6Ng(PeQLf-Ua?|6^V~uxyQ^M{fk}(^98=2H02S zJk~gh4OHVi3_Zo(d-JVA9E>?iQ&bJ|5`(CnDB7I? z!vOQw5utTv3)T_0OUev0{EDd~#?6%)#i=7ciF-&Lq3-9Nt|hL4e61QIwZtH0yEh2f zknK9H`n|9gYSoFwxq6JDQTvtlS4)Gm7#io#xJIn{HiHe%s@wdNrxKzM#?NOOL0`o# zY73qIn&jq1jK3lUj?G5*z5{TgC#{NT$0v-T#4*w%o0R~;>b1l{O9 zR>=h+_fbs)`5A1)-9W_46LcKT9|74i{SzR0|KETVvu9BlDrUsu-bE-grLpvs#>tA5 zma(+(*c{5lP^3gF!az!9nfL&NhHcrKB>NdutWH8e-qT>HU{^HNp41WMmMq2v+ zZcCq7+&ckfp){6?(vp@|o2BVI9?@ZVVg=Zc@Wjyx%9rtyLJR9$a3C*{P0M#ldQC%j zYeu`c*$52C;gk1_j*}(!pVyTs#tN3?I9J*ji6DW;q~Q{CIcOlc*9 zt6+1(H^Ee3*Hj^3ht5X1SzV<;l4_YbRT4twdJK^}dn+Z0+17}j+_*WpHMWDjdkJ%m z2Kj=U>aQuaTbERI@ZE4$5QN`-grVkr4eggBkB@;-)2c;q6m`aB;;7=2m4H1MoxKkp>bY?K|Y^TU_9)zIFC>B=Zi zJ|M#+M*%XNkDfi5sksX9Qv5y!uo>`JK(Yc;LG;k>VL)mR`WC&JfK=_{0s8@AXM6qy z5dDJE|A>C&o)__Z79igX*0+Z;JQt9)^l^}Ut)+>@#bzn(d7P!Rlc5hvqh=_r&eB#| zTG>X4u`;GIYom5ZttCE@V0Ga8w*{k(`i@|u)Jwqbht{tee(-T<&x)vr&V1K_fIi7tAfr_&kSd8vW5><1_W-5gQ*JGCc(2lf59H z@%ci~tlyh#&vzl^YI}&qy+$s0&of7Cr!^Imj=+%C#D_MN@GX0(w;KdL|OewX*(_Ld3#>8 z^nE&;;(x+bm5KGo@198-yj%FThboH9vpzVY*5Q;sYLk2~4URK#dv=P(JQi}a+xg?5 zEO!d@BGA}XONZc+q6;+A@9g8!V9PDi8XR(pl+CnAk%nS>Ebd_AyRkXKo7NiQ78C^E zcPrpj!1n{v75O0G34k90TnzYOK)O!10`l8F3dqWg3ZMl@EbiTJX%868b{&KFU^UkQ z4W`Rk6q+h2-_qUe^WPWy;oSLlx@GG!^|ezMt!wBo%{ZluFt$>X{usSUd2zx~UYxL0 zZJ7LPex}asUe}SrvQk|pGboTj!d&I71l3vblXWq5HrOcB?s}g;N3@J`z7vqL{tFX5 zJ9c8AT*P$AZl%3|I!|elxi1D%u6(O=hm~u}o>Z>F9$i^&M53LLbje2_6)pr$(pICr z$4;i0M`#i0P`_O1l#Zp|l(~AgJ6W-$;CdIyeWp1MIt`nx6svyGF2} zmGwPPu63$;`ZBCGPsIKYhv1KHr7%VaL@sVu(m6lmDXU}Xs9{ z;Jj7Ad9(7Ix5~_AfjiIRWH0!Wja9<)d&SN4>U#b zF6PIo1W}8_z9qk#0>l>xe9K7?81kYLkis|_a0%dnfad}p0@w=p7QimR!vOCBd@CRY zjcTaAC9ybWQVeL72D84U?M{3Zf}yE^ul8%l;ahO058(Q2MqM{33mt_%3N#crG!3hh zy$yeKQ&)3wx}_E4s#EQ2kR-e|HG2?!WHXD(Ww?u=LAO~*QajbcipS^ngK1&Ko9$^A z0b&z9d><&M@MD|h2QghNRB79AmeOp;8Ja#4aZh0CB-1aDz=Yoj*DHIZM*wNOI#y>F zZos)lkZ8;1+CC!t2q$=d1TSLJ5mX)F;m=`jKREsz8(QV{XJRK0nXB?`AAfXH9y0V) zcGsI0EEr+iB$z(6#50Kmw;gT2qZBnHV}5~qvbZ^o(L(DQHl!rl&!o1ndeI!|7W925 z@N?TzTTwFg(g!JP3FSVvJCCOa8|9m>`#ylsP1#!aRb5>NI0ck8K)ygbAobuXK-#jy zp%`k*h{e4>LVuL@iors*Y(%>I1<}(&y89tKaY+H)eb&bd>o)qjTi6jTw+5sHMq4Wj z7s5!@?VAurDYz*{`1$Y3HfV05Nv!`cY2|T7^2MgKLGIU zfNut@0;~k24SR>>DY3ZMZ)r~&EM&tH>e%;%{0~0~pG>{{U?J<5CruWn)Ahfp|C$3{ zPEMM>1H{^@xx3#ES0(v_-y|`|OmgB59{It`lUDt3QuTNA1hxds;4)mgA5ZAteOS&# zPvfGeCsjZ3@}x@K_2o%d>K_xo(FeQ7f}=zaS=r>hlYj#TZ4zfV8^_x zfE^-OAOf#KkUrs<(eL9doa8-?{aZf%=r;OhRGu(G*P?7}_lU7AMN#FtK%HsM<(KM& zU)a)#nf+!-BP9_?AYj;dWV?qPUkIio@P&{QVKOL+cabRnu8Y(K7l=BM0i=u64ai2u zdO+&Q)qpfFN8lti*~H@B!DtgHZHmEOm*(XW*itnwUllAcFJFOqSzf@reBTGpbQ^v1 zQrJN#8;(6TY7KVfEQ zbU02ilZ#-WsTpl*yasgsO2mV~&nB3hY=me#C~3#LI}@~nv9ne8sbPC}m}R&l)rDDS zT8e0~s+CUQfsTup1Sx2-!o_13eqENdf^#|B7A!r)VB=rWs#7Ar z{_Yvc8!*uTKE&%foJalS6FVm)PsM4S6YcNa`{;$@tufxJKH71>-X=x50ND2=h{dja z4eACab}H(X+Z_}80h~1n`)2I_?&FVcqiIl6&*adH;A$}BI9QEd7fQ+Bt2FM`)#{n+^{3PHNfS&@~2zV#pCcwJ@scWAD zq!;*h>je_Sf~U|?r7bkrm^3@;yV30QgDWwQX6LB^%nnms&M#nge(B?4-A3Q+6m}}g z24#;Jl){A&^6W-xDMG$o=`98O1nZ695{#yqcmi6co*^+!jZqp?W0V%|3&SXrU3@3g z8D@XNWAT%HKd`-G;t;~Ld7Yxh41--I*onYuCx)HGM?vXvoW%K{!EAAHId6-TR8z9K z_GOg+l6INAUuuZ3ix;gSf?*DMX4Mx*J$xnK-E|HhIau57j{@?Wz6MAu{c+2FVsYu9dE_%S?!yn8Y+cQ|P+km+6q4!1@2gMGq)a7!1K(B1Lc-u%&_p4jg-(JDego z2Q*ehi?Dx><)>RI>TINDoYme{kmZvr8G=pVnb*S`HBoP>S`s8v`695Qm2zGmo$v1! z!!_s;=Qmvk$nUz|^pIa?i-DL<_^vd1>q?78xut1@R*~Vky6ItUNY?f(MZrKVYLQ_9 zhyuC*1apBD38Ofxq#%y9*ivBUM)c!xP&%E$Spgb9WI6V)I{Gof=p_s1DokNmuz0d9 zs!*~F`|DXeMXY(i_je0t%Yj-r?+4^}Z3Co^Y_x?#ObbV8EF7if6pmfYD7R!#AWw7X z9ZD~6sj&5Pj+9CjFfAW8_@brq7$|P3)PlxRIUDtVvEl9rYbaVFMDRw3&x<4pn1LkxIpW z3+g2s>oJe!M9t?v0y|4+f%#;=$9o(N{Wi{GIG`W!Yu6cui)`M6EUBBg zv}TPA2CT=+PQ#8NI=Z4yFmdQnl|npA9@~(yDNTmHe4||t%g5!R#*s9dc$axudcsA?|pyhE|>iq|AN?@N~fM0@eXO1DFQ<9^ktH{{@f7DfTeh6R{@T#1gxF98t za`ZcJGbZU>(L}h-IJUr%qg9~!*e}F>#zFX_n>J|9Zf!@yG?Gr02+jbkusG+!q&yv3@?H9I({SR(6gY1_=!XGvpu=&1rvjb`cm^QK zOL)%IG37b2xOXRxDeW$U?fU$|CG-~q(>|e2@OBWFW{{nqdl?)HW zP2nJ43mflAXzsbRX#+}e-*8FR@vzzWJzV+;|Gg!KwggK(@n&ZM&ILRh@M6Go0NHDs z1ndG_21q`f3rKC6WJ{Kqjy+Nubx&!}+w*o=TDZ=>;RPul(X@FuBQzZ%a}<-9j!Bx zIl0e^_%TWELsaggS8Ez9F5+v+MSK|VoBY8}PQR$H`vjZ~sgjv>G!MK<749JzVINB~M_c(oI$U zJO`hI`g)68AnzmZnK_!DqBp?@Br$g>e#-^WbpHNLrOYlK5b?>Is(var+#*oFE$|=k z02YVT`ub7XXLVmhe(+koMwlF?=o`JYHefD17b%78CGNXr{*LL{x8ABRl>2cr3*RdI z*}LBreL4F<#xW}RVaG+T9r&TU_xa6v;O1|>{x_Xfeie9ulCff!Gm9rxHMN~a{#ew~ zy2R%Pp!zXy6KIp*?8GGOubHkN1&ukiF&TDvuw3!~K;zK&7>C?@zBG4E2X>IqT7aD| z7$^7UBGWOi4_KXG9|rcEVD|%ii(r!>*5?WKPGIK>mIkKhT?_0edBz8U>B8fm1*Xq< z64;yNir)j%yG)u8&`tox#c^Za$-wl^rvuYFUkps|{4QX6=S{%$exC(4Ri67rVDCV? z0@?4tqLuz>G4RKUVtxZ>%>a)c0{lNd5Z$!8DQ5ti1n3bqbc0mgat5#j!qCOhhldvfN4>$T}p2yJL5b^({Lgjm@}pKr3~LepQ@5VJI(h)o&b!B>^$H5}~ zIJRP0h!Lsg7FoODr#P@&59mdy)oIMlpO&j0&bg|!U0PbKaSdaXug0~DxOesXYB<&N zXg}DobR6)NhJG(PhG81NbdKvT_F?+4D5uO@QA8{50S*fR6z_3;1)u9{^4OD}Mw?cjR9IX9E5h za3SDN02cxNJ0Pb+`5E9XfIkQP2;fe@F9H4nka-Nx19FbkUjhCH;BLVG0elhgAn@TO zz-fSg06ZG-Pk;@8e+Fy={0rbMfd32lKES^LegN?AfVTp|NA9@;a34UryFO|IZO9Od zdpF>i(rz+X+H^;^N9h9VGw1@}FL$8}taqUctTej7@0Ba)0_&aW0_&ZlF0kI2F0fup z7x-xF0^faLei!&foVB=s3;YWo%+hW2UEsof$mNcFDSzC%xGuy*n>&|>$ ztCySl8z z;@(`?Tct58Oli%Q)@o@nII4PHg~4pU2%?&ykU2A1Kj(zZ4*+dn?6CgcjZ^VQH#Ojk z+t+n;rn@j3Oe#AiM~NHaGuO1XH)Lkc;#v;pAQNzn#MBv?58j0^+_2SNZ63bt6l)@w zTtH#1;n`;6x9vpL3r^W-9Eo17wJz93dE53bBjuc<+bOA#tz)#u&Bo_C$=AY7Nzmyi5Jt({S-#1ad z?t0>p0yJGWIIVzIWUE>k+-M4+s9})9W8Ni*!n~n6h80p_+nMX{s z-<3w2p|oK!Pr9mb3v6SFc^3_bc>|e_n=JE)Df5&@<|!>N^ElDtPYaliSDb_d^!Dem z$63i!4%cEuEaV*QHPiVURgu@uju)1nUEx8)@^#s2Xry7~lCMQHJT<=Y+^8ClM2jb( z`KJy9vA9j($RE|k2Hb|+w?uF;y zhb24%S)Q+0;UT8NqcjSS((+oK_rWl&aDtoRR=}p=`(m%}buf%gyExs54 )dLbjE5m%#?Gpo1yFe#5t*ukT_nD*?TS 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